{"version":3,"file":"polyfills.js","mappings":";;;;;;;;;;;;;;;;;;;AAAA;;GAEG;AAC6B;AAChC;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AAEH,mEAAmE;AACnE,+BAA+B;AAC/B,+BAA+B;AAC/B,iCAAiC;AACjC,kCAAkC;AAClC,oCAAoC;AACpC,+BAA+B;AAC/B,6BAA6B;AAC7B,+BAA+B;AAC/B,6BAA6B;AAC7B,8BAA8B;AAC9B,+BAA+B;AAC/B,4BAA4B;AAC5B,4BAA4B;AAE5B,+EAA+E;AACzD,CAAE,yCAAyC;AAEjE,4EAA4E;AACjD,CAAE,+CAA+C;AAG5E,yCAAyC;AACb;AAI5B,mFAAmF;AACxD,CAAE,8CAA8C;AAI3E;;GAEG;AACwB,CAAE,6BAA6B;AAI1D;;GAEG;AAEH;;;GAGG;AACH,oDAAoD;;;;;;;;;;;ACvEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AAEA,IAAI,cAAcA,IAAlB,EAAwB;EAExB;EACA;EACA,IAAI,EAAE,eAAeC,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAjB,KACAD,QAAQ,CAACE,eAAT,IAA4B,EAAE,eAAeF,QAAQ,CAACE,eAAT,CAAyB,4BAAzB,EAAsD,GAAtD,CAAjB,CADhC,EAC8G;IAE7G,WAAUC,IAAV,EAAgB;MAEjB;;MAEA,IAAI,EAAE,aAAaA,IAAf,CAAJ,EAA0B;;MAE1B,IACGC,aAAa,GAAG,WADnB;MAAA,IAEGC,SAAS,GAAG,WAFf;MAAA,IAGGC,YAAY,GAAGH,IAAI,CAACI,OAAL,CAAaF,SAAb,CAHlB;MAAA,IAIGG,MAAM,GAAGC,MAJZ;MAAA,IAKGC,OAAO,GAAGC,MAAM,CAACN,SAAD,CAAN,CAAkBO,IAAlB,IAA0B,YAAY;QACjD,OAAO,KAAKC,OAAL,CAAa,YAAb,EAA2B,EAA3B,CAAP;MACA,CAPF;MAAA,IAQGC,UAAU,GAAGC,KAAK,CAACV,SAAD,CAAL,CAAiBW,OAAjB,IAA4B,UAAUC,IAAV,EAAgB;QAC1D,IACGC,CAAC,GAAG,CADP;QAAA,IAEGC,GAAG,GAAG,KAAKC,MAFd;;QAIA,OAAOF,CAAC,GAAGC,GAAX,EAAgBD,CAAC,EAAjB,EAAqB;UACpB,IAAIA,CAAC,IAAI,IAAL,IAAa,KAAKA,CAAL,MAAYD,IAA7B,EAAmC;YAClC,OAAOC,CAAP;UACA;QACD;;QACD,OAAO,CAAC,CAAR;MACA,CAnBF,CAoBC;MApBD;MAAA,IAqBGG,KAAK,GAAG,UAAUC,IAAV,EAAgBC,OAAhB,EAAyB;QAClC,KAAKC,IAAL,GAAYF,IAAZ;QACA,KAAKG,IAAL,GAAYC,YAAY,CAACJ,IAAD,CAAxB;QACA,KAAKC,OAAL,GAAeA,OAAf;MACA,CAzBF;MAAA,IA0BGI,qBAAqB,GAAG,UAAUC,SAAV,EAAqBC,KAArB,EAA4B;QACrD,IAAIA,KAAK,KAAK,EAAd,EAAkB;UACjB,MAAM,IAAIR,KAAJ,CACH,YADG,EAEH,4CAFG,CAAN;QAIA;;QACD,IAAI,KAAKS,IAAL,CAAUD,KAAV,CAAJ,EAAsB;UACrB,MAAM,IAAIR,KAAJ,CACH,uBADG,EAEH,sCAFG,CAAN;QAIA;;QACD,OAAOP,UAAU,CAACiB,IAAX,CAAgBH,SAAhB,EAA2BC,KAA3B,CAAP;MACA,CAxCF;MAAA,IAyCGG,SAAS,GAAG,UAAUC,IAAV,EAAgB;QAC7B,IACGC,cAAc,GAAGxB,OAAO,CAACqB,IAAR,CAAaE,IAAI,CAACE,YAAL,CAAkB,OAAlB,KAA8B,EAA3C,CADpB;QAAA,IAEGC,OAAO,GAAGF,cAAc,GAAGA,cAAc,CAACG,KAAf,CAAqB,KAArB,CAAH,GAAiC,EAF5D;QAAA,IAGGnB,CAAC,GAAG,CAHP;QAAA,IAIGC,GAAG,GAAGiB,OAAO,CAAChB,MAJjB;;QAMA,OAAOF,CAAC,GAAGC,GAAX,EAAgBD,CAAC,EAAjB,EAAqB;UACpB,KAAKoB,IAAL,CAAUF,OAAO,CAAClB,CAAD,CAAjB;QACA;;QACD,KAAKqB,gBAAL,GAAwB,YAAY;UACnCN,IAAI,CAACO,YAAL,CAAkB,OAAlB,EAA2B,KAAKC,QAAL,EAA3B;QACA,CAFD;MAGA,CAtDF;MAAA,IAuDGC,cAAc,GAAGV,SAAS,CAAC3B,SAAD,CAAT,GAAuB,EAvD3C;MAAA,IAwDGsC,eAAe,GAAG,YAAY;QAC/B,OAAO,IAAIX,SAAJ,CAAc,IAAd,CAAP;MACA,CA1DF,CANiB,CAkEjB;MACA;;;MACAX,KAAK,CAAChB,SAAD,CAAL,GAAmBuC,KAAK,CAACvC,SAAD,CAAxB;;MACAqC,cAAc,CAACzB,IAAf,GAAsB,UAAUC,CAAV,EAAa;QAClC,OAAO,KAAKA,CAAL,KAAW,IAAlB;MACA,CAFD;;MAGAwB,cAAc,CAACG,QAAf,GAA0B,UAAUhB,KAAV,EAAiB;QAC1CA,KAAK,IAAI,EAAT;QACA,OAAOF,qBAAqB,CAAC,IAAD,EAAOE,KAAP,CAArB,KAAuC,CAAC,CAA/C;MACA,CAHD;;MAIAa,cAAc,CAACI,GAAf,GAAqB,YAAY;QAChC,IACGC,MAAM,GAAGC,SADZ;QAAA,IAEG9B,CAAC,GAAG,CAFP;QAAA,IAGG+B,CAAC,GAAGF,MAAM,CAAC3B,MAHd;QAAA,IAIGS,KAJH;QAAA,IAKGqB,OAAO,GAAG,KALb;;QAOA,GAAG;UACFrB,KAAK,GAAGkB,MAAM,CAAC7B,CAAD,CAAN,GAAY,EAApB;;UACA,IAAIS,qBAAqB,CAAC,IAAD,EAAOE,KAAP,CAArB,KAAuC,CAAC,CAA5C,EAA+C;YAC9C,KAAKS,IAAL,CAAUT,KAAV;YACAqB,OAAO,GAAG,IAAV;UACA;QACD,CAND,QAOO,EAAEhC,CAAF,GAAM+B,CAPb;;QASA,IAAIC,OAAJ,EAAa;UACZ,KAAKX,gBAAL;QACA;MACD,CApBD;;MAqBAG,cAAc,CAACS,MAAf,GAAwB,YAAY;QACnC,IACGJ,MAAM,GAAGC,SADZ;QAAA,IAEG9B,CAAC,GAAG,CAFP;QAAA,IAGG+B,CAAC,GAAGF,MAAM,CAAC3B,MAHd;QAAA,IAIGS,KAJH;QAAA,IAKGqB,OAAO,GAAG,KALb;QAAA,IAMGE,KANH;;QAQA,GAAG;UACFvB,KAAK,GAAGkB,MAAM,CAAC7B,CAAD,CAAN,GAAY,EAApB;UACAkC,KAAK,GAAGzB,qBAAqB,CAAC,IAAD,EAAOE,KAAP,CAA7B;;UACA,OAAOuB,KAAK,KAAK,CAAC,CAAlB,EAAqB;YACpB,KAAKC,MAAL,CAAYD,KAAZ,EAAmB,CAAnB;YACAF,OAAO,GAAG,IAAV;YACAE,KAAK,GAAGzB,qBAAqB,CAAC,IAAD,EAAOE,KAAP,CAA7B;UACA;QACD,CARD,QASO,EAAEX,CAAF,GAAM+B,CATb;;QAWA,IAAIC,OAAJ,EAAa;UACZ,KAAKX,gBAAL;QACA;MACD,CAvBD;;MAwBAG,cAAc,CAACY,MAAf,GAAwB,UAAUzB,KAAV,EAAiB0B,KAAjB,EAAwB;QAC/C1B,KAAK,IAAI,EAAT;QAEA,IACG2B,MAAM,GAAG,KAAKX,QAAL,CAAchB,KAAd,CADZ;QAAA,IAEG4B,MAAM,GAAGD,MAAM,GAChBD,KAAK,KAAK,IAAV,IAAkB,QADF,GAGhBA,KAAK,KAAK,KAAV,IAAmB,KALrB;;QAQA,IAAIE,MAAJ,EAAY;UACX,KAAKA,MAAL,EAAa5B,KAAb;QACA;;QAED,IAAI0B,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,KAAhC,EAAuC;UACtC,OAAOA,KAAP;QACA,CAFD,MAEO;UACN,OAAO,CAACC,MAAR;QACA;MACD,CApBD;;MAqBAd,cAAc,CAACD,QAAf,GAA0B,YAAY;QACrC,OAAO,KAAKiB,IAAL,CAAU,GAAV,CAAP;MACA,CAFD;;MAIA,IAAIlD,MAAM,CAACmD,cAAX,EAA2B;QAC1B,IAAIC,iBAAiB,GAAG;UACrBC,GAAG,EAAElB,eADgB;UAErBmB,UAAU,EAAE,IAFS;UAGrBC,YAAY,EAAE;QAHO,CAAxB;;QAKA,IAAI;UACHvD,MAAM,CAACmD,cAAP,CAAsBrD,YAAtB,EAAoCF,aAApC,EAAmDwD,iBAAnD;QACA,CAFD,CAEE,OAAOI,EAAP,EAAW;UAAE;UACd,IAAIA,EAAE,CAACC,MAAH,KAAc,CAAC,UAAnB,EAA+B;YAC9BL,iBAAiB,CAACE,UAAlB,GAA+B,KAA/B;YACAtD,MAAM,CAACmD,cAAP,CAAsBrD,YAAtB,EAAoCF,aAApC,EAAmDwD,iBAAnD;UACA;QACD;MACD,CAdD,MAcO,IAAIpD,MAAM,CAACH,SAAD,CAAN,CAAkB6D,gBAAtB,EAAwC;QAC9C5D,YAAY,CAAC4D,gBAAb,CAA8B9D,aAA9B,EAA6CuC,eAA7C;MACA;IAEA,CApKA,EAoKC5C,IApKD,CAAD;EAsKC,CAzKD,MAyKO;IACP;IACA;IAEC,aAAY;MACZ;;MAEA,IAAIoE,WAAW,GAAGnE,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAlB;MAEAkE,WAAW,CAACvC,SAAZ,CAAsBkB,GAAtB,CAA0B,IAA1B,EAAgC,IAAhC,EALY,CAOZ;MACA;;MACA,IAAI,CAACqB,WAAW,CAACvC,SAAZ,CAAsBiB,QAAtB,CAA+B,IAA/B,CAAL,EAA2C;QAC1C,IAAIuB,YAAY,GAAG,UAASX,MAAT,EAAiB;UACnC,IAAIY,QAAQ,GAAGC,YAAY,CAACC,SAAb,CAAuBd,MAAvB,CAAf;;UAEAa,YAAY,CAACC,SAAb,CAAuBd,MAAvB,IAAiC,UAAS5B,KAAT,EAAgB;YAChD,IAAIX,CAAJ;YAAA,IAAOC,GAAG,GAAG6B,SAAS,CAAC5B,MAAvB;;YAEA,KAAKF,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGC,GAAhB,EAAqBD,CAAC,EAAtB,EAA0B;cACzBW,KAAK,GAAGmB,SAAS,CAAC9B,CAAD,CAAjB;cACAmD,QAAQ,CAACtC,IAAT,CAAc,IAAd,EAAoBF,KAApB;YACA;UACD,CAPD;QAQA,CAXD;;QAYAuC,YAAY,CAAC,KAAD,CAAZ;QACAA,YAAY,CAAC,QAAD,CAAZ;MACA;;MAEDD,WAAW,CAACvC,SAAZ,CAAsB0B,MAAtB,CAA6B,IAA7B,EAAmC,KAAnC,EA1BY,CA4BZ;MACA;;MACA,IAAIa,WAAW,CAACvC,SAAZ,CAAsBiB,QAAtB,CAA+B,IAA/B,CAAJ,EAA0C;QACzC,IAAI2B,OAAO,GAAGF,YAAY,CAACC,SAAb,CAAuBjB,MAArC;;QAEAgB,YAAY,CAACC,SAAb,CAAuBjB,MAAvB,GAAgC,UAASzB,KAAT,EAAgB0B,KAAhB,EAAuB;UACtD,IAAI,KAAKP,SAAL,IAAkB,CAAC,KAAKH,QAAL,CAAchB,KAAd,CAAD,KAA0B,CAAC0B,KAAjD,EAAwD;YACvD,OAAOA,KAAP;UACA,CAFD,MAEO;YACN,OAAOiB,OAAO,CAACzC,IAAR,CAAa,IAAb,EAAmBF,KAAnB,CAAP;UACA;QACD,CAND;MAQA;;MAEDsC,WAAW,GAAG,IAAd;IACA,CA5CA,GAAD;EA8CC;AAEA;;;;;;;;;;;AC9OD,kEAAa;;AACb,IAAIM,aAAa,GAAI,QAAQ,KAAKA,aAAd,IAAgC,UAAUC,EAAV,EAAcC,IAAd,EAAoBC,IAApB,EAA0B;EAC1E,IAAIA,IAAI,IAAI5B,SAAS,CAAC5B,MAAV,KAAqB,CAAjC,EAAoC,KAAK,IAAIF,CAAC,GAAG,CAAR,EAAW+B,CAAC,GAAG0B,IAAI,CAACvD,MAApB,EAA4ByD,EAAjC,EAAqC3D,CAAC,GAAG+B,CAAzC,EAA4C/B,CAAC,EAA7C,EAAiD;IACjF,IAAI2D,EAAE,IAAI,EAAE3D,CAAC,IAAIyD,IAAP,CAAV,EAAwB;MACpB,IAAI,CAACE,EAAL,EAASA,EAAE,GAAG9D,KAAK,CAACwD,SAAN,CAAgBO,KAAhB,CAAsB/C,IAAtB,CAA2B4C,IAA3B,EAAiC,CAAjC,EAAoCzD,CAApC,CAAL;MACT2D,EAAE,CAAC3D,CAAD,CAAF,GAAQyD,IAAI,CAACzD,CAAD,CAAZ;IACH;EACJ;EACD,OAAOwD,EAAE,CAACK,MAAH,CAAUF,EAAE,IAAI9D,KAAK,CAACwD,SAAN,CAAgBO,KAAhB,CAAsB/C,IAAtB,CAA2B4C,IAA3B,CAAhB,CAAP;AACH,CARD;AASA;AACA;AACA;AACA;AACA;;;AACA,CAAC,UAAUK,OAAV,EAAmB;EAChB,QAA6CC,oCAAOD,OAAD;AAAA;AAAA;AAAA;AAAA,kGAAnD,GACIA,CADJ;AAEH,CAHD,EAGI,YAAY;EACZ;EACA;AACJ;AACA;AACA;AACA;AACA;AACA;;EACI,CAAE,UAAUG,MAAV,EAAkB;IAChB,IAAIC,WAAW,GAAGD,MAAM,CAAC,aAAD,CAAxB;;IACA,SAASE,IAAT,CAAc7D,IAAd,EAAoB;MAChB4D,WAAW,IAAIA,WAAW,CAAC,MAAD,CAA1B,IAAsCA,WAAW,CAAC,MAAD,CAAX,CAAoB5D,IAApB,CAAtC;IACH;;IACD,SAAS8D,kBAAT,CAA4B9D,IAA5B,EAAkC+D,KAAlC,EAAyC;MACrCH,WAAW,IAAIA,WAAW,CAAC,SAAD,CAA1B,IAAyCA,WAAW,CAAC,SAAD,CAAX,CAAuB5D,IAAvB,EAA6B+D,KAA7B,CAAzC;IACH;;IACDF,IAAI,CAAC,MAAD,CAAJ,CARgB,CAShB;IACA;IACA;;IACA,IAAIG,YAAY,GAAGL,MAAM,CAAC,sBAAD,CAAN,IAAkC,iBAArD;;IACA,SAASM,UAAT,CAAoBjE,IAApB,EAA0B;MACtB,OAAOgE,YAAY,GAAGhE,IAAtB;IACH;;IACD,IAAIkE,cAAc,GAAGP,MAAM,CAACM,UAAU,CAAC,yBAAD,CAAX,CAAN,KAAkD,IAAvE;;IACA,IAAIN,MAAM,CAAC,MAAD,CAAV,EAAoB;MAChB;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,IAAIO,cAAc,IAAI,OAAOP,MAAM,CAAC,MAAD,CAAN,CAAeM,UAAtB,KAAqC,UAA3D,EAAuE;QACnE,MAAM,IAAI7C,KAAJ,CAAU,sBAAV,CAAN;MACH,CAFD,MAGK;QACD,OAAOuC,MAAM,CAAC,MAAD,CAAb;MACH;IACJ;;IACD,IAAIQ,IAAI;IAAG;IAAe,YAAY;MAClC,SAASA,IAAT,CAAcC,MAAd,EAAsBC,QAAtB,EAAgC;QAC5B,KAAKC,OAAL,GAAeF,MAAf;QACA,KAAKG,KAAL,GAAaF,QAAQ,GAAGA,QAAQ,CAACrE,IAAT,IAAiB,SAApB,GAAgC,QAArD;QACA,KAAKwE,WAAL,GAAmBH,QAAQ,IAAIA,QAAQ,CAACI,UAArB,IAAmC,EAAtD;QACA,KAAKC,aAAL,GACI,IAAIC,aAAJ,CAAkB,IAAlB,EAAwB,KAAKL,OAAL,IAAgB,KAAKA,OAAL,CAAaI,aAArD,EAAoEL,QAApE,CADJ;MAEH;;MACDF,IAAI,CAACS,iBAAL,GAAyB,YAAY;QACjC,IAAIjB,MAAM,CAAC,SAAD,CAAN,KAAsBkB,OAAO,CAAC,kBAAD,CAAjC,EAAuD;UACnD,MAAM,IAAIzD,KAAJ,CAAU,0EACZ,yBADY,GAEZ,+DAFY,GAGZ,kFAHY,GAIZ,sDAJE,CAAN;QAKH;MACJ,CARD;;MASAnC,MAAM,CAACkD,cAAP,CAAsBgC,IAAtB,EAA4B,MAA5B,EAAoC;QAChC9B,GAAG,EAAE,YAAY;UACb,IAAIyC,IAAI,GAAGX,IAAI,CAACY,OAAhB;;UACA,OAAOD,IAAI,CAACV,MAAZ,EAAoB;YAChBU,IAAI,GAAGA,IAAI,CAACV,MAAZ;UACH;;UACD,OAAOU,IAAP;QACH,CAP+B;QAQhCxC,UAAU,EAAE,KARoB;QAShCC,YAAY,EAAE;MATkB,CAApC;MAWAtD,MAAM,CAACkD,cAAP,CAAsBgC,IAAtB,EAA4B,SAA5B,EAAuC;QACnC9B,GAAG,EAAE,YAAY;UACb,OAAO2C,iBAAiB,CAACF,IAAzB;QACH,CAHkC;QAInCxC,UAAU,EAAE,KAJuB;QAKnCC,YAAY,EAAE;MALqB,CAAvC;MAOAtD,MAAM,CAACkD,cAAP,CAAsBgC,IAAtB,EAA4B,aAA5B,EAA2C;QACvC9B,GAAG,EAAE,YAAY;UACb,OAAO4C,YAAP;QACH,CAHsC;QAIvC3C,UAAU,EAAE,KAJ2B;QAKvCC,YAAY,EAAE;MALyB,CAA3C,EAnCkC,CA0ClC;;MACA4B,IAAI,CAACe,YAAL,GAAoB,UAAUlF,IAAV,EAAgBmF,EAAhB,EAAoBC,eAApB,EAAqC;QACrD,IAAIA,eAAe,KAAK,KAAK,CAA7B,EAAgC;UAAEA,eAAe,GAAG,KAAlB;QAA0B;;QAC5D,IAAIP,OAAO,CAACQ,cAAR,CAAuBrF,IAAvB,CAAJ,EAAkC;UAC9B;UACA;UACA;UACA,IAAI,CAACoF,eAAD,IAAoBlB,cAAxB,EAAwC;YACpC,MAAM9C,KAAK,CAAC,2BAA2BpB,IAA5B,CAAX;UACH;QACJ,CAPD,MAQK,IAAI,CAAC2D,MAAM,CAAC,oBAAoB3D,IAArB,CAAX,EAAuC;UACxC,IAAIsF,QAAQ,GAAG,UAAUtF,IAAzB;UACA6D,IAAI,CAACyB,QAAD,CAAJ;UACAT,OAAO,CAAC7E,IAAD,CAAP,GAAgBmF,EAAE,CAACxB,MAAD,EAASQ,IAAT,EAAeoB,IAAf,CAAlB;UACAzB,kBAAkB,CAACwB,QAAD,EAAWA,QAAX,CAAlB;QACH;MACJ,CAhBD;;MAiBArG,MAAM,CAACkD,cAAP,CAAsBgC,IAAI,CAACpB,SAA3B,EAAsC,QAAtC,EAAgD;QAC5CV,GAAG,EAAE,YAAY;UACb,OAAO,KAAKiC,OAAZ;QACH,CAH2C;QAI5ChC,UAAU,EAAE,KAJgC;QAK5CC,YAAY,EAAE;MAL8B,CAAhD;MAOAtD,MAAM,CAACkD,cAAP,CAAsBgC,IAAI,CAACpB,SAA3B,EAAsC,MAAtC,EAA8C;QAC1CV,GAAG,EAAE,YAAY;UACb,OAAO,KAAKkC,KAAZ;QACH,CAHyC;QAI1CjC,UAAU,EAAE,KAJ8B;QAK1CC,YAAY,EAAE;MAL4B,CAA9C;;MAOA4B,IAAI,CAACpB,SAAL,CAAeV,GAAf,GAAqB,UAAUmD,GAAV,EAAe;QAChC,IAAIV,IAAI,GAAG,KAAKW,WAAL,CAAiBD,GAAjB,CAAX;QACA,IAAIV,IAAJ,EACI,OAAOA,IAAI,CAACN,WAAL,CAAiBgB,GAAjB,CAAP;MACP,CAJD;;MAKArB,IAAI,CAACpB,SAAL,CAAe0C,WAAf,GAA6B,UAAUD,GAAV,EAAe;QACxC,IAAIT,OAAO,GAAG,IAAd;;QACA,OAAOA,OAAP,EAAgB;UACZ,IAAIA,OAAO,CAACP,WAAR,CAAoBa,cAApB,CAAmCG,GAAnC,CAAJ,EAA6C;YACzC,OAAOT,OAAP;UACH;;UACDA,OAAO,GAAGA,OAAO,CAACT,OAAlB;QACH;;QACD,OAAO,IAAP;MACH,CATD;;MAUAH,IAAI,CAACpB,SAAL,CAAe2C,IAAf,GAAsB,UAAUrB,QAAV,EAAoB;QACtC,IAAI,CAACA,QAAL,EACI,MAAM,IAAIjD,KAAJ,CAAU,oBAAV,CAAN;QACJ,OAAO,KAAKsD,aAAL,CAAmBgB,IAAnB,CAAwB,IAAxB,EAA8BrB,QAA9B,CAAP;MACH,CAJD;;MAKAF,IAAI,CAACpB,SAAL,CAAe4C,IAAf,GAAsB,UAAUC,QAAV,EAAoBC,MAApB,EAA4B;QAC9C,IAAI,OAAOD,QAAP,KAAoB,UAAxB,EAAoC;UAChC,MAAM,IAAIxE,KAAJ,CAAU,6BAA6BwE,QAAvC,CAAN;QACH;;QACD,IAAIE,SAAS,GAAG,KAAKpB,aAAL,CAAmBqB,SAAnB,CAA6B,IAA7B,EAAmCH,QAAnC,EAA6CC,MAA7C,CAAhB;;QACA,IAAIf,IAAI,GAAG,IAAX;QACA,OAAO,YAAY;UACf,OAAOA,IAAI,CAACkB,UAAL,CAAgBF,SAAhB,EAA2B,IAA3B,EAAiCtE,SAAjC,EAA4CqE,MAA5C,CAAP;QACH,CAFD;MAGH,CATD;;MAUA1B,IAAI,CAACpB,SAAL,CAAekD,GAAf,GAAqB,UAAUL,QAAV,EAAoBM,SAApB,EAA+BC,SAA/B,EAA0CN,MAA1C,EAAkD;QACnEb,iBAAiB,GAAG;UAAEZ,MAAM,EAAEY,iBAAV;UAA6BF,IAAI,EAAE;QAAnC,CAApB;;QACA,IAAI;UACA,OAAO,KAAKJ,aAAL,CAAmB0B,MAAnB,CAA0B,IAA1B,EAAgCR,QAAhC,EAA0CM,SAA1C,EAAqDC,SAArD,EAAgEN,MAAhE,CAAP;QACH,CAFD,SAGQ;UACJb,iBAAiB,GAAGA,iBAAiB,CAACZ,MAAtC;QACH;MACJ,CARD;;MASAD,IAAI,CAACpB,SAAL,CAAeiD,UAAf,GAA4B,UAAUJ,QAAV,EAAoBM,SAApB,EAA+BC,SAA/B,EAA0CN,MAA1C,EAAkD;QAC1E,IAAIK,SAAS,KAAK,KAAK,CAAvB,EAA0B;UAAEA,SAAS,GAAG,IAAZ;QAAmB;;QAC/ClB,iBAAiB,GAAG;UAAEZ,MAAM,EAAEY,iBAAV;UAA6BF,IAAI,EAAE;QAAnC,CAApB;;QACA,IAAI;UACA,IAAI;YACA,OAAO,KAAKJ,aAAL,CAAmB0B,MAAnB,CAA0B,IAA1B,EAAgCR,QAAhC,EAA0CM,SAA1C,EAAqDC,SAArD,EAAgEN,MAAhE,CAAP;UACH,CAFD,CAGA,OAAOQ,KAAP,EAAc;YACV,IAAI,KAAK3B,aAAL,CAAmB4B,WAAnB,CAA+B,IAA/B,EAAqCD,KAArC,CAAJ,EAAiD;cAC7C,MAAMA,KAAN;YACH;UACJ;QACJ,CATD,SAUQ;UACJrB,iBAAiB,GAAGA,iBAAiB,CAACZ,MAAtC;QACH;MACJ,CAhBD;;MAiBAD,IAAI,CAACpB,SAAL,CAAewD,OAAf,GAAyB,UAAUC,IAAV,EAAgBN,SAAhB,EAA2BC,SAA3B,EAAsC;QAC3D,IAAIK,IAAI,CAAC1B,IAAL,IAAa,IAAjB,EAAuB;UACnB,MAAM,IAAI1D,KAAJ,CAAU,gEACZ,CAACoF,IAAI,CAAC1B,IAAL,IAAa2B,OAAd,EAAuBzG,IADX,GACkB,eADlB,GACoC,KAAKA,IADzC,GACgD,GAD1D,CAAN;QAEH,CAJ0D,CAK3D;QACA;QACA;;;QACA,IAAIwG,IAAI,CAACE,KAAL,KAAeC,YAAf,KAAgCH,IAAI,CAAC1G,IAAL,KAAc8G,SAAd,IAA2BJ,IAAI,CAAC1G,IAAL,KAAc+G,SAAzE,CAAJ,EAAyF;UACrF;QACH;;QACD,IAAIC,YAAY,GAAGN,IAAI,CAACE,KAAL,IAAcK,OAAjC;QACAD,YAAY,IAAIN,IAAI,CAACQ,aAAL,CAAmBD,OAAnB,EAA4BE,SAA5B,CAAhB;QACAT,IAAI,CAACU,QAAL;QACA,IAAIC,YAAY,GAAGlC,YAAnB;QACAA,YAAY,GAAGuB,IAAf;QACAxB,iBAAiB,GAAG;UAAEZ,MAAM,EAAEY,iBAAV;UAA6BF,IAAI,EAAE;QAAnC,CAApB;;QACA,IAAI;UACA,IAAI0B,IAAI,CAAC1G,IAAL,IAAa+G,SAAb,IAA0BL,IAAI,CAACY,IAA/B,IAAuC,CAACZ,IAAI,CAACY,IAAL,CAAUC,UAAtD,EAAkE;YAC9Db,IAAI,CAACc,QAAL,GAAgBC,SAAhB;UACH;;UACD,IAAI;YACA,OAAO,KAAK7C,aAAL,CAAmB8C,UAAnB,CAA8B,IAA9B,EAAoChB,IAApC,EAA0CN,SAA1C,EAAqDC,SAArD,CAAP;UACH,CAFD,CAGA,OAAOE,KAAP,EAAc;YACV,IAAI,KAAK3B,aAAL,CAAmB4B,WAAnB,CAA+B,IAA/B,EAAqCD,KAArC,CAAJ,EAAiD;cAC7C,MAAMA,KAAN;YACH;UACJ;QACJ,CAZD,SAaQ;UACJ;UACA;UACA,IAAIG,IAAI,CAACE,KAAL,KAAeC,YAAf,IAA+BH,IAAI,CAACE,KAAL,KAAee,OAAlD,EAA2D;YACvD,IAAIjB,IAAI,CAAC1G,IAAL,IAAa8G,SAAb,IAA2BJ,IAAI,CAACY,IAAL,IAAaZ,IAAI,CAACY,IAAL,CAAUC,UAAtD,EAAmE;cAC/DP,YAAY,IAAIN,IAAI,CAACQ,aAAL,CAAmBC,SAAnB,EAA8BF,OAA9B,CAAhB;YACH,CAFD,MAGK;cACDP,IAAI,CAACU,QAAL,GAAgB,CAAhB;;cACA,KAAKQ,gBAAL,CAAsBlB,IAAtB,EAA4B,CAAC,CAA7B;;cACAM,YAAY,IACRN,IAAI,CAACQ,aAAL,CAAmBL,YAAnB,EAAiCI,OAAjC,EAA0CJ,YAA1C,CADJ;YAEH;UACJ;;UACD3B,iBAAiB,GAAGA,iBAAiB,CAACZ,MAAtC;UACAa,YAAY,GAAGkC,YAAf;QACH;MACJ,CA/CD;;MAgDAhD,IAAI,CAACpB,SAAL,CAAe4E,YAAf,GAA8B,UAAUnB,IAAV,EAAgB;QAC1C,IAAIA,IAAI,CAAC1B,IAAL,IAAa0B,IAAI,CAAC1B,IAAL,KAAc,IAA/B,EAAqC;UACjC;UACA;UACA,IAAI8C,OAAO,GAAG,IAAd;;UACA,OAAOA,OAAP,EAAgB;YACZ,IAAIA,OAAO,KAAKpB,IAAI,CAAC1B,IAArB,EAA2B;cACvB,MAAM1D,KAAK,CAAC,8BAA8BmC,MAA9B,CAAqC,KAAKvD,IAA1C,EAAgD,6CAAhD,EAA+FuD,MAA/F,CAAsGiD,IAAI,CAAC1B,IAAL,CAAU9E,IAAhH,CAAD,CAAX;YACH;;YACD4H,OAAO,GAAGA,OAAO,CAACxD,MAAlB;UACH;QACJ;;QACDoC,IAAI,CAACQ,aAAL,CAAmBa,UAAnB,EAA+BlB,YAA/B;;QACA,IAAImB,aAAa,GAAG,EAApB;QACAtB,IAAI,CAACuB,cAAL,GAAsBD,aAAtB;QACAtB,IAAI,CAACwB,KAAL,GAAa,IAAb;;QACA,IAAI;UACAxB,IAAI,GAAG,KAAK9B,aAAL,CAAmBiD,YAAnB,CAAgC,IAAhC,EAAsCnB,IAAtC,CAAP;QACH,CAFD,CAGA,OAAOyB,GAAP,EAAY;UACR;UACA;UACAzB,IAAI,CAACQ,aAAL,CAAmBS,OAAnB,EAA4BI,UAA5B,EAAwClB,YAAxC,EAHQ,CAIR;;;UACA,KAAKjC,aAAL,CAAmB4B,WAAnB,CAA+B,IAA/B,EAAqC2B,GAArC;;UACA,MAAMA,GAAN;QACH;;QACD,IAAIzB,IAAI,CAACuB,cAAL,KAAwBD,aAA5B,EAA2C;UACvC;UACA,KAAKJ,gBAAL,CAAsBlB,IAAtB,EAA4B,CAA5B;QACH;;QACD,IAAIA,IAAI,CAACE,KAAL,IAAcmB,UAAlB,EAA8B;UAC1BrB,IAAI,CAACQ,aAAL,CAAmBC,SAAnB,EAA8BY,UAA9B;QACH;;QACD,OAAOrB,IAAP;MACH,CAnCD;;MAoCArC,IAAI,CAACpB,SAAL,CAAemF,iBAAf,GAAmC,UAAUrC,MAAV,EAAkBD,QAAlB,EAA4BwB,IAA5B,EAAkCe,cAAlC,EAAkD;QACjF,OAAO,KAAKR,YAAL,CAAkB,IAAIS,QAAJ,CAAaC,SAAb,EAAwBxC,MAAxB,EAAgCD,QAAhC,EAA0CwB,IAA1C,EAAgDe,cAAhD,EAAgEZ,SAAhE,CAAlB,CAAP;MACH,CAFD;;MAGApD,IAAI,CAACpB,SAAL,CAAeuF,iBAAf,GAAmC,UAAUzC,MAAV,EAAkBD,QAAlB,EAA4BwB,IAA5B,EAAkCe,cAAlC,EAAkDI,YAAlD,EAAgE;QAC/F,OAAO,KAAKZ,YAAL,CAAkB,IAAIS,QAAJ,CAAavB,SAAb,EAAwBhB,MAAxB,EAAgCD,QAAhC,EAA0CwB,IAA1C,EAAgDe,cAAhD,EAAgEI,YAAhE,CAAlB,CAAP;MACH,CAFD;;MAGApE,IAAI,CAACpB,SAAL,CAAeyF,iBAAf,GAAmC,UAAU3C,MAAV,EAAkBD,QAAlB,EAA4BwB,IAA5B,EAAkCe,cAAlC,EAAkDI,YAAlD,EAAgE;QAC/F,OAAO,KAAKZ,YAAL,CAAkB,IAAIS,QAAJ,CAAaxB,SAAb,EAAwBf,MAAxB,EAAgCD,QAAhC,EAA0CwB,IAA1C,EAAgDe,cAAhD,EAAgEI,YAAhE,CAAlB,CAAP;MACH,CAFD;;MAGApE,IAAI,CAACpB,SAAL,CAAe0F,UAAf,GAA4B,UAAUjC,IAAV,EAAgB;QACxC,IAAIA,IAAI,CAAC1B,IAAL,IAAa,IAAjB,EACI,MAAM,IAAI1D,KAAJ,CAAU,sEACZ,CAACoF,IAAI,CAAC1B,IAAL,IAAa2B,OAAd,EAAuBzG,IADX,GACkB,eADlB,GACoC,KAAKA,IADzC,GACgD,GAD1D,CAAN;;QAEJwG,IAAI,CAACQ,aAAL,CAAmB0B,SAAnB,EAA8BzB,SAA9B,EAAyCF,OAAzC;;QACA,IAAI;UACA,KAAKrC,aAAL,CAAmB+D,UAAnB,CAA8B,IAA9B,EAAoCjC,IAApC;QACH,CAFD,CAGA,OAAOyB,GAAP,EAAY;UACR;UACAzB,IAAI,CAACQ,aAAL,CAAmBS,OAAnB,EAA4BiB,SAA5B;;UACA,KAAKhE,aAAL,CAAmB4B,WAAnB,CAA+B,IAA/B,EAAqC2B,GAArC;;UACA,MAAMA,GAAN;QACH;;QACD,KAAKP,gBAAL,CAAsBlB,IAAtB,EAA4B,CAAC,CAA7B;;QACAA,IAAI,CAACQ,aAAL,CAAmBL,YAAnB,EAAiC+B,SAAjC;;QACAlC,IAAI,CAACU,QAAL,GAAgB,CAAhB;QACA,OAAOV,IAAP;MACH,CAlBD;;MAmBArC,IAAI,CAACpB,SAAL,CAAe2E,gBAAf,GAAkC,UAAUlB,IAAV,EAAgBmC,KAAhB,EAAuB;QACrD,IAAIb,aAAa,GAAGtB,IAAI,CAACuB,cAAzB;;QACA,IAAIY,KAAK,IAAI,CAAC,CAAd,EAAiB;UACbnC,IAAI,CAACuB,cAAL,GAAsB,IAAtB;QACH;;QACD,KAAK,IAAIrI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGoI,aAAa,CAAClI,MAAlC,EAA0CF,CAAC,EAA3C,EAA+C;UAC3CoI,aAAa,CAACpI,CAAD,CAAb,CAAiBgI,gBAAjB,CAAkClB,IAAI,CAAC1G,IAAvC,EAA6C6I,KAA7C;QACH;MACJ,CARD;;MASA,OAAOxE,IAAP;IACH,CA5PyB,EAA1B,CAlCgB,CA+RhB;;;IACAA,IAAI,CAACF,UAAL,GAAkBA,UAAlB;IACA,IAAI2E,WAAW,GAAG;MACd5I,IAAI,EAAE,EADQ;MAEd6I,SAAS,EAAE,UAAUC,QAAV,EAAoBC,CAApB,EAAuBC,MAAvB,EAA+BC,YAA/B,EAA6C;QAAE,OAAOH,QAAQ,CAACI,OAAT,CAAiBF,MAAjB,EAAyBC,YAAzB,CAAP;MAAgD,CAF5F;MAGdE,cAAc,EAAE,UAAUL,QAAV,EAAoBC,CAApB,EAAuBC,MAAvB,EAA+BxC,IAA/B,EAAqC;QAAE,OAAOsC,QAAQ,CAACnB,YAAT,CAAsBqB,MAAtB,EAA8BxC,IAA9B,CAAP;MAA6C,CAHtF;MAId4C,YAAY,EAAE,UAAUN,QAAV,EAAoBC,CAApB,EAAuBC,MAAvB,EAA+BxC,IAA/B,EAAqCN,SAArC,EAAgDC,SAAhD,EAA2D;QAAE,OAAO2C,QAAQ,CAACtB,UAAT,CAAoBwB,MAApB,EAA4BxC,IAA5B,EAAkCN,SAAlC,EAA6CC,SAA7C,CAAP;MAAiE,CAJ9H;MAKdkD,YAAY,EAAE,UAAUP,QAAV,EAAoBC,CAApB,EAAuBC,MAAvB,EAA+BxC,IAA/B,EAAqC;QAAE,OAAOsC,QAAQ,CAACL,UAAT,CAAoBO,MAApB,EAA4BxC,IAA5B,CAAP;MAA2C;IALlF,CAAlB;;IAOA,IAAI7B,aAAa;IAAG;IAAe,YAAY;MAC3C,SAASA,aAAT,CAAuBG,IAAvB,EAA6BwE,cAA7B,EAA6CjF,QAA7C,EAAuD;QACnD,KAAKkF,WAAL,GAAmB;UAAE,aAAa,CAAf;UAAkB,aAAa,CAA/B;UAAkC,aAAa;QAA/C,CAAnB;QACA,KAAKzE,IAAL,GAAYA,IAAZ;QACA,KAAK0E,eAAL,GAAuBF,cAAvB;QACA,KAAKG,OAAL,GAAepF,QAAQ,KAAKA,QAAQ,IAAIA,QAAQ,CAACqF,MAArB,GAA8BrF,QAA9B,GAAyCiF,cAAc,CAACG,OAA7D,CAAvB;QACA,KAAKE,SAAL,GAAiBtF,QAAQ,KAAKA,QAAQ,CAACqF,MAAT,GAAkBJ,cAAlB,GAAmCA,cAAc,CAACK,SAAvD,CAAzB;QACA,KAAKC,aAAL,GACIvF,QAAQ,KAAKA,QAAQ,CAACqF,MAAT,GAAkB,KAAK5E,IAAvB,GAA8BwE,cAAc,CAACM,aAAlD,CADZ;QAEA,KAAKC,YAAL,GACIxF,QAAQ,KAAKA,QAAQ,CAACyF,WAAT,GAAuBzF,QAAvB,GAAkCiF,cAAc,CAACO,YAAtD,CADZ;QAEA,KAAKE,cAAL,GACI1F,QAAQ,KAAKA,QAAQ,CAACyF,WAAT,GAAuBR,cAAvB,GAAwCA,cAAc,CAACS,cAA5D,CADZ;QAEA,KAAKC,kBAAL,GACI3F,QAAQ,KAAKA,QAAQ,CAACyF,WAAT,GAAuB,KAAKhF,IAA5B,GAAmCwE,cAAc,CAACU,kBAAvD,CADZ;QAEA,KAAKC,SAAL,GAAiB5F,QAAQ,KAAKA,QAAQ,CAAC6F,QAAT,GAAoB7F,QAApB,GAA+BiF,cAAc,CAACW,SAAnD,CAAzB;QACA,KAAKE,WAAL,GACI9F,QAAQ,KAAKA,QAAQ,CAAC6F,QAAT,GAAoBZ,cAApB,GAAqCA,cAAc,CAACa,WAAzD,CADZ;QAEA,KAAKC,eAAL,GACI/F,QAAQ,KAAKA,QAAQ,CAAC6F,QAAT,GAAoB,KAAKpF,IAAzB,GAAgCwE,cAAc,CAACc,eAApD,CADZ;QAEA,KAAKC,cAAL,GACIhG,QAAQ,KAAKA,QAAQ,CAACiG,aAAT,GAAyBjG,QAAzB,GAAoCiF,cAAc,CAACe,cAAxD,CADZ;QAEA,KAAKE,gBAAL,GACIlG,QAAQ,KAAKA,QAAQ,CAACiG,aAAT,GAAyBhB,cAAzB,GAA0CA,cAAc,CAACiB,gBAA9D,CADZ;QAEA,KAAKC,oBAAL,GACInG,QAAQ,KAAKA,QAAQ,CAACiG,aAAT,GAAyB,KAAKxF,IAA9B,GAAqCwE,cAAc,CAACkB,oBAAzD,CADZ;QAEA,KAAKC,eAAL,GACIpG,QAAQ,KAAKA,QAAQ,CAAC8E,cAAT,GAA0B9E,QAA1B,GAAqCiF,cAAc,CAACmB,eAAzD,CADZ;QAEA,KAAKC,iBAAL,GAAyBrG,QAAQ,KAC5BA,QAAQ,CAAC8E,cAAT,GAA0BG,cAA1B,GAA2CA,cAAc,CAACoB,iBAD9B,CAAjC;QAEA,KAAKC,qBAAL,GACItG,QAAQ,KAAKA,QAAQ,CAAC8E,cAAT,GAA0B,KAAKrE,IAA/B,GAAsCwE,cAAc,CAACqB,qBAA1D,CADZ;QAEA,KAAKC,aAAL,GACIvG,QAAQ,KAAKA,QAAQ,CAAC+E,YAAT,GAAwB/E,QAAxB,GAAmCiF,cAAc,CAACsB,aAAvD,CADZ;QAEA,KAAKC,eAAL,GACIxG,QAAQ,KAAKA,QAAQ,CAAC+E,YAAT,GAAwBE,cAAxB,GAAyCA,cAAc,CAACuB,eAA7D,CADZ;QAEA,KAAKC,mBAAL,GACIzG,QAAQ,KAAKA,QAAQ,CAAC+E,YAAT,GAAwB,KAAKtE,IAA7B,GAAoCwE,cAAc,CAACwB,mBAAxD,CADZ;QAEA,KAAKC,aAAL,GACI1G,QAAQ,KAAKA,QAAQ,CAACgF,YAAT,GAAwBhF,QAAxB,GAAmCiF,cAAc,CAACyB,aAAvD,CADZ;QAEA,KAAKC,eAAL,GACI3G,QAAQ,KAAKA,QAAQ,CAACgF,YAAT,GAAwBC,cAAxB,GAAyCA,cAAc,CAAC0B,eAA7D,CADZ;QAEA,KAAKC,mBAAL,GACI5G,QAAQ,KAAKA,QAAQ,CAACgF,YAAT,GAAwB,KAAKvE,IAA7B,GAAoCwE,cAAc,CAAC2B,mBAAxD,CADZ;QAEA,KAAKC,UAAL,GAAkB,IAAlB;QACA,KAAKC,YAAL,GAAoB,IAApB;QACA,KAAKC,iBAAL,GAAyB,IAAzB;QACA,KAAKC,gBAAL,GAAwB,IAAxB;QACA,IAAIC,eAAe,GAAGjH,QAAQ,IAAIA,QAAQ,CAACwE,SAA3C;QACA,IAAI0C,aAAa,GAAGjC,cAAc,IAAIA,cAAc,CAAC4B,UAArD;;QACA,IAAII,eAAe,IAAIC,aAAvB,EAAsC;UAClC;UACA;UACA,KAAKL,UAAL,GAAkBI,eAAe,GAAGjH,QAAH,GAAcuE,WAA/C;UACA,KAAKuC,YAAL,GAAoB7B,cAApB;UACA,KAAK8B,iBAAL,GAAyB,IAAzB;UACA,KAAKC,gBAAL,GAAwBvG,IAAxB;;UACA,IAAI,CAACT,QAAQ,CAAC8E,cAAd,EAA8B;YAC1B,KAAKsB,eAAL,GAAuB7B,WAAvB;YACA,KAAK8B,iBAAL,GAAyBpB,cAAzB;YACA,KAAKqB,qBAAL,GAA6B,KAAK7F,IAAlC;UACH;;UACD,IAAI,CAACT,QAAQ,CAAC+E,YAAd,EAA4B;YACxB,KAAKwB,aAAL,GAAqBhC,WAArB;YACA,KAAKiC,eAAL,GAAuBvB,cAAvB;YACA,KAAKwB,mBAAL,GAA2B,KAAKhG,IAAhC;UACH;;UACD,IAAI,CAACT,QAAQ,CAACgF,YAAd,EAA4B;YACxB,KAAK0B,aAAL,GAAqBnC,WAArB;YACA,KAAKoC,eAAL,GAAuB1B,cAAvB;YACA,KAAK2B,mBAAL,GAA2B,KAAKnG,IAAhC;UACH;QACJ;MACJ;;MACDH,aAAa,CAAC5B,SAAd,CAAwB2C,IAAxB,GAA+B,UAAU8F,UAAV,EAAsBnH,QAAtB,EAAgC;QAC3D,OAAO,KAAKoF,OAAL,GAAe,KAAKA,OAAL,CAAaC,MAAb,CAAoB,KAAKC,SAAzB,EAAoC,KAAK7E,IAAzC,EAA+C0G,UAA/C,EAA2DnH,QAA3D,CAAf,GACH,IAAIF,IAAJ,CAASqH,UAAT,EAAqBnH,QAArB,CADJ;MAEH,CAHD;;MAIAM,aAAa,CAAC5B,SAAd,CAAwBgD,SAAxB,GAAoC,UAAUyF,UAAV,EAAsB5F,QAAtB,EAAgCC,MAAhC,EAAwC;QACxE,OAAO,KAAKgE,YAAL,GACH,KAAKA,YAAL,CAAkBC,WAAlB,CAA8B,KAAKC,cAAnC,EAAmD,KAAKC,kBAAxD,EAA4EwB,UAA5E,EAAwF5F,QAAxF,EAAkGC,MAAlG,CADG,GAEHD,QAFJ;MAGH,CAJD;;MAKAjB,aAAa,CAAC5B,SAAd,CAAwBqD,MAAxB,GAAiC,UAAUoF,UAAV,EAAsB5F,QAAtB,EAAgCM,SAAhC,EAA2CC,SAA3C,EAAsDN,MAAtD,EAA8D;QAC3F,OAAO,KAAKoE,SAAL,GAAiB,KAAKA,SAAL,CAAeC,QAAf,CAAwB,KAAKC,WAA7B,EAA0C,KAAKC,eAA/C,EAAgEoB,UAAhE,EAA4E5F,QAA5E,EAAsFM,SAAtF,EAAiGC,SAAjG,EAA4GN,MAA5G,CAAjB,GACHD,QAAQ,CAAC6F,KAAT,CAAevF,SAAf,EAA0BC,SAA1B,CADJ;MAEH,CAHD;;MAIAxB,aAAa,CAAC5B,SAAd,CAAwBuD,WAAxB,GAAsC,UAAUkF,UAAV,EAAsBnF,KAAtB,EAA6B;QAC/D,OAAO,KAAKgE,cAAL,GACH,KAAKA,cAAL,CAAoBC,aAApB,CAAkC,KAAKC,gBAAvC,EAAyD,KAAKC,oBAA9D,EAAoFgB,UAApF,EAAgGnF,KAAhG,CADG,GAEH,IAFJ;MAGH,CAJD;;MAKA1B,aAAa,CAAC5B,SAAd,CAAwB4E,YAAxB,GAAuC,UAAU6D,UAAV,EAAsBhF,IAAtB,EAA4B;QAC/D,IAAIkF,UAAU,GAAGlF,IAAjB;;QACA,IAAI,KAAKiE,eAAT,EAA0B;UACtB,IAAI,KAAKS,UAAT,EAAqB;YACjBQ,UAAU,CAAC3D,cAAX,CAA0BjH,IAA1B,CAA+B,KAAKsK,iBAApC;UACH,CAHqB,CAItB;;;UACAM,UAAU,GAAG,KAAKjB,eAAL,CAAqBtB,cAArB,CAAoC,KAAKuB,iBAAzC,EAA4D,KAAKC,qBAAjE,EAAwFa,UAAxF,EAAoGhF,IAApG,CAAb,CALsB,CAMtB;;UACA,IAAI,CAACkF,UAAL,EACIA,UAAU,GAAGlF,IAAb;QACP,CATD,MAUK;UACD,IAAIA,IAAI,CAACmF,UAAT,EAAqB;YACjBnF,IAAI,CAACmF,UAAL,CAAgBnF,IAAhB;UACH,CAFD,MAGK,IAAIA,IAAI,CAAC1G,IAAL,IAAauI,SAAjB,EAA4B;YAC7BH,iBAAiB,CAAC1B,IAAD,CAAjB;UACH,CAFI,MAGA;YACD,MAAM,IAAIpF,KAAJ,CAAU,6BAAV,CAAN;UACH;QACJ;;QACD,OAAOsK,UAAP;MACH,CAxBD;;MAyBA/G,aAAa,CAAC5B,SAAd,CAAwByE,UAAxB,GAAqC,UAAUgE,UAAV,EAAsBhF,IAAtB,EAA4BN,SAA5B,EAAuCC,SAAvC,EAAkD;QACnF,OAAO,KAAKyE,aAAL,GAAqB,KAAKA,aAAL,CAAmBxB,YAAnB,CAAgC,KAAKyB,eAArC,EAAsD,KAAKC,mBAA3D,EAAgFU,UAAhF,EAA4FhF,IAA5F,EAAkGN,SAAlG,EAA6GC,SAA7G,CAArB,GACHK,IAAI,CAACZ,QAAL,CAAc6F,KAAd,CAAoBvF,SAApB,EAA+BC,SAA/B,CADJ;MAEH,CAHD;;MAIAxB,aAAa,CAAC5B,SAAd,CAAwB0F,UAAxB,GAAqC,UAAU+C,UAAV,EAAsBhF,IAAtB,EAA4B;QAC7D,IAAIoF,KAAJ;;QACA,IAAI,KAAKb,aAAT,EAAwB;UACpBa,KAAK,GAAG,KAAKb,aAAL,CAAmB1B,YAAnB,CAAgC,KAAK2B,eAArC,EAAsD,KAAKC,mBAA3D,EAAgFO,UAAhF,EAA4FhF,IAA5F,CAAR;QACH,CAFD,MAGK;UACD,IAAI,CAACA,IAAI,CAACc,QAAV,EAAoB;YAChB,MAAMlG,KAAK,CAAC,wBAAD,CAAX;UACH;;UACDwK,KAAK,GAAGpF,IAAI,CAACc,QAAL,CAAcd,IAAd,CAAR;QACH;;QACD,OAAOoF,KAAP;MACH,CAZD;;MAaAjH,aAAa,CAAC5B,SAAd,CAAwBmG,OAAxB,GAAkC,UAAUsC,UAAV,EAAsBK,OAAtB,EAA+B;QAC7D;QACA;QACA,IAAI;UACA,KAAKX,UAAL,IACI,KAAKA,UAAL,CAAgBrC,SAAhB,CAA0B,KAAKsC,YAA/B,EAA6C,KAAKE,gBAAlD,EAAoEG,UAApE,EAAgFK,OAAhF,CADJ;QAEH,CAHD,CAIA,OAAO5D,GAAP,EAAY;UACR,KAAK3B,WAAL,CAAiBkF,UAAjB,EAA6BvD,GAA7B;QACH;MACJ,CAVD,CAtI2C,CAiJ3C;;;MACAtD,aAAa,CAAC5B,SAAd,CAAwB2E,gBAAxB,GAA2C,UAAU5H,IAAV,EAAgB6I,KAAhB,EAAuB;QAC9D,IAAImD,MAAM,GAAG,KAAKvC,WAAlB;QACA,IAAIwC,IAAI,GAAGD,MAAM,CAAChM,IAAD,CAAjB;QACA,IAAIkM,IAAI,GAAGF,MAAM,CAAChM,IAAD,CAAN,GAAeiM,IAAI,GAAGpD,KAAjC;;QACA,IAAIqD,IAAI,GAAG,CAAX,EAAc;UACV,MAAM,IAAI5K,KAAJ,CAAU,0CAAV,CAAN;QACH;;QACD,IAAI2K,IAAI,IAAI,CAAR,IAAaC,IAAI,IAAI,CAAzB,EAA4B;UACxB,IAAIH,OAAO,GAAG;YACVxD,SAAS,EAAEyD,MAAM,CAAC,WAAD,CAAN,GAAsB,CADvB;YAEVjF,SAAS,EAAEiF,MAAM,CAAC,WAAD,CAAN,GAAsB,CAFvB;YAGVlF,SAAS,EAAEkF,MAAM,CAAC,WAAD,CAAN,GAAsB,CAHvB;YAIVG,MAAM,EAAEnM;UAJE,CAAd;UAMA,KAAKoJ,OAAL,CAAa,KAAKpE,IAAlB,EAAwB+G,OAAxB;QACH;MACJ,CAhBD;;MAiBA,OAAOlH,aAAP;IACH,CApKkC,EAAnC;;IAqKA,IAAIyD,QAAQ;IAAG;IAAe,YAAY;MACtC,SAASA,QAAT,CAAkBtI,IAAlB,EAAwB+F,MAAxB,EAAgCD,QAAhC,EAA0CsG,OAA1C,EAAmDP,UAAnD,EAA+DrE,QAA/D,EAAyE;QACrE;QACA,KAAKU,KAAL,GAAa,IAAb;QACA,KAAKd,QAAL,GAAgB,CAAhB,CAHqE,CAIrE;;QACA,KAAKa,cAAL,GAAsB,IAAtB,CALqE,CAMrE;;QACA,KAAKoE,MAAL,GAAc,cAAd;QACA,KAAKrM,IAAL,GAAYA,IAAZ;QACA,KAAK+F,MAAL,GAAcA,MAAd;QACA,KAAKuB,IAAL,GAAY8E,OAAZ;QACA,KAAKP,UAAL,GAAkBA,UAAlB;QACA,KAAKrE,QAAL,GAAgBA,QAAhB;;QACA,IAAI,CAAC1B,QAAL,EAAe;UACX,MAAM,IAAIxE,KAAJ,CAAU,yBAAV,CAAN;QACH;;QACD,KAAKwE,QAAL,GAAgBA,QAAhB;QACA,IAAIrH,IAAI,GAAG,IAAX,CAjBqE,CAkBrE;;QACA,IAAIuB,IAAI,KAAK8G,SAAT,IAAsBsF,OAAtB,IAAiCA,OAAO,CAACE,IAA7C,EAAmD;UAC/C,KAAKhG,MAAL,GAAcgC,QAAQ,CAACZ,UAAvB;QACH,CAFD,MAGK;UACD,KAAKpB,MAAL,GAAc,YAAY;YACtB,OAAOgC,QAAQ,CAACZ,UAAT,CAAoBjH,IAApB,CAAyBoD,MAAzB,EAAiCpF,IAAjC,EAAuC,IAAvC,EAA6CiD,SAA7C,CAAP;UACH,CAFD;QAGH;MACJ;;MACD4G,QAAQ,CAACZ,UAAT,GAAsB,UAAUhB,IAAV,EAAgBwC,MAAhB,EAAwBqD,IAAxB,EAA8B;QAChD,IAAI,CAAC7F,IAAL,EAAW;UACPA,IAAI,GAAG,IAAP;QACH;;QACD8F,yBAAyB;;QACzB,IAAI;UACA9F,IAAI,CAACU,QAAL;UACA,OAAOV,IAAI,CAAC1B,IAAL,CAAUyB,OAAV,CAAkBC,IAAlB,EAAwBwC,MAAxB,EAAgCqD,IAAhC,CAAP;QACH,CAHD,SAIQ;UACJ,IAAIC,yBAAyB,IAAI,CAAjC,EAAoC;YAChCC,mBAAmB;UACtB;;UACDD,yBAAyB;QAC5B;MACJ,CAfD;;MAgBArN,MAAM,CAACkD,cAAP,CAAsBiG,QAAQ,CAACrF,SAA/B,EAA0C,MAA1C,EAAkD;QAC9CV,GAAG,EAAE,YAAY;UACb,OAAO,KAAK2F,KAAZ;QACH,CAH6C;QAI9C1F,UAAU,EAAE,KAJkC;QAK9CC,YAAY,EAAE;MALgC,CAAlD;MAOAtD,MAAM,CAACkD,cAAP,CAAsBiG,QAAQ,CAACrF,SAA/B,EAA0C,OAA1C,EAAmD;QAC/CV,GAAG,EAAE,YAAY;UACb,OAAO,KAAK8J,MAAZ;QACH,CAH8C;QAI/C7J,UAAU,EAAE,KAJmC;QAK/CC,YAAY,EAAE;MALiC,CAAnD;;MAOA6F,QAAQ,CAACrF,SAAT,CAAmByJ,qBAAnB,GAA2C,YAAY;QACnD,KAAKxF,aAAL,CAAmBL,YAAnB,EAAiCkB,UAAjC;MACH,CAFD,CA3DsC,CA8DtC;;;MACAO,QAAQ,CAACrF,SAAT,CAAmBiE,aAAnB,GAAmC,UAAUyF,OAAV,EAAmBC,UAAnB,EAA+BC,UAA/B,EAA2C;QAC1E,IAAI,KAAKR,MAAL,KAAgBO,UAAhB,IAA8B,KAAKP,MAAL,KAAgBQ,UAAlD,EAA8D;UAC1D,KAAKR,MAAL,GAAcM,OAAd;;UACA,IAAIA,OAAO,IAAI9F,YAAf,EAA6B;YACzB,KAAKoB,cAAL,GAAsB,IAAtB;UACH;QACJ,CALD,MAMK;UACD,MAAM,IAAI3G,KAAJ,CAAU,GAAGmC,MAAH,CAAU,KAAKzD,IAAf,EAAqB,IAArB,EAA2ByD,MAA3B,CAAkC,KAAKsC,MAAvC,EAA+C,4BAA/C,EAA6EtC,MAA7E,CAAoFkJ,OAApF,EAA6F,sBAA7F,EAAqHlJ,MAArH,CAA4HmJ,UAA5H,EAAwI,GAAxI,EAA6InJ,MAA7I,CAAoJoJ,UAAU,GAAG,WAAWA,UAAX,GAAwB,IAA3B,GAAkC,EAAhM,EAAoM,SAApM,EAA+MpJ,MAA/M,CAAsN,KAAK4I,MAA3N,EAAmO,IAAnO,CAAV,CAAN;QACH;MACJ,CAVD;;MAWA/D,QAAQ,CAACrF,SAAT,CAAmB9B,QAAnB,GAA8B,YAAY;QACtC,IAAI,KAAKmG,IAAL,IAAa,OAAO,KAAKA,IAAL,CAAUwF,QAAjB,KAA8B,WAA/C,EAA4D;UACxD,OAAO,KAAKxF,IAAL,CAAUwF,QAAV,CAAmB3L,QAAnB,EAAP;QACH,CAFD,MAGK;UACD,OAAOhC,MAAM,CAAC8D,SAAP,CAAiB9B,QAAjB,CAA0BV,IAA1B,CAA+B,IAA/B,CAAP;QACH;MACJ,CAPD,CA1EsC,CAkFtC;MACA;;;MACA6H,QAAQ,CAACrF,SAAT,CAAmB8J,MAAnB,GAA4B,YAAY;QACpC,OAAO;UACH/M,IAAI,EAAE,KAAKA,IADR;UAEH4G,KAAK,EAAE,KAAKA,KAFT;UAGHb,MAAM,EAAE,KAAKA,MAHV;UAIHf,IAAI,EAAE,KAAKA,IAAL,CAAU9E,IAJb;UAKHkH,QAAQ,EAAE,KAAKA;QALZ,CAAP;MAOH,CARD;;MASA,OAAOkB,QAAP;IACH,CA9F6B,EAA9B,CA7cgB,CA4iBhB;IACA;IACA;IACA;IACA;;;IACA,IAAI0E,gBAAgB,GAAG7I,UAAU,CAAC,YAAD,CAAjC;;IACA,IAAI8I,aAAa,GAAG9I,UAAU,CAAC,SAAD,CAA9B;;IACA,IAAI+I,UAAU,GAAG/I,UAAU,CAAC,MAAD,CAA3B;;IACA,IAAIgJ,eAAe,GAAG,EAAtB;IACA,IAAIC,yBAAyB,GAAG,KAAhC;IACA,IAAIC,2BAAJ;;IACA,SAASC,uBAAT,CAAiCC,IAAjC,EAAuC;MACnC,IAAI,CAACF,2BAAL,EAAkC;QAC9B,IAAIxJ,MAAM,CAACoJ,aAAD,CAAV,EAA2B;UACvBI,2BAA2B,GAAGxJ,MAAM,CAACoJ,aAAD,CAAN,CAAsBO,OAAtB,CAA8B,CAA9B,CAA9B;QACH;MACJ;;MACD,IAAIH,2BAAJ,EAAiC;QAC7B,IAAII,UAAU,GAAGJ,2BAA2B,CAACH,UAAD,CAA5C;;QACA,IAAI,CAACO,UAAL,EAAiB;UACb;UACA;UACAA,UAAU,GAAGJ,2BAA2B,CAAC,MAAD,CAAxC;QACH;;QACDI,UAAU,CAAChN,IAAX,CAAgB4M,2BAAhB,EAA6CE,IAA7C;MACH,CARD,MASK;QACD1J,MAAM,CAACmJ,gBAAD,CAAN,CAAyBO,IAAzB,EAA+B,CAA/B;MACH;IACJ;;IACD,SAASnF,iBAAT,CAA2B1B,IAA3B,EAAiC;MAC7B;MACA;MACA,IAAI8F,yBAAyB,KAAK,CAA9B,IAAmCW,eAAe,CAACrN,MAAhB,KAA2B,CAAlE,EAAqE;QACjE;QACAwN,uBAAuB,CAACb,mBAAD,CAAvB;MACH;;MACD/F,IAAI,IAAIyG,eAAe,CAACnM,IAAhB,CAAqB0F,IAArB,CAAR;IACH;;IACD,SAAS+F,mBAAT,GAA+B;MAC3B,IAAI,CAACW,yBAAL,EAAgC;QAC5BA,yBAAyB,GAAG,IAA5B;;QACA,OAAOD,eAAe,CAACrN,MAAvB,EAA+B;UAC3B,IAAI4N,KAAK,GAAGP,eAAZ;UACAA,eAAe,GAAG,EAAlB;;UACA,KAAK,IAAIvN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8N,KAAK,CAAC5N,MAA1B,EAAkCF,CAAC,EAAnC,EAAuC;YACnC,IAAI8G,IAAI,GAAGgH,KAAK,CAAC9N,CAAD,CAAhB;;YACA,IAAI;cACA8G,IAAI,CAAC1B,IAAL,CAAUyB,OAAV,CAAkBC,IAAlB,EAAwB,IAAxB,EAA8B,IAA9B;YACH,CAFD,CAGA,OAAOH,KAAP,EAAc;cACVd,IAAI,CAACkI,gBAAL,CAAsBpH,KAAtB;YACH;UACJ;QACJ;;QACDd,IAAI,CAACmI,kBAAL;;QACAR,yBAAyB,GAAG,KAA5B;MACH;IACJ,CAtmBe,CAumBhB;IACA;IACA;IACA;IACA;;;IACA,IAAIzG,OAAO,GAAG;MAAEzG,IAAI,EAAE;IAAR,CAAd;IACA,IAAI2G,YAAY,GAAG,cAAnB;IAAA,IAAmCkB,UAAU,GAAG,YAAhD;IAAA,IAA8DZ,SAAS,GAAG,WAA1E;IAAA,IAAuFF,OAAO,GAAG,SAAjG;IAAA,IAA4G2B,SAAS,GAAG,WAAxH;IAAA,IAAqIjB,OAAO,GAAG,SAA/I;IACA,IAAIY,SAAS,GAAG,WAAhB;IAAA,IAA6BxB,SAAS,GAAG,WAAzC;IAAA,IAAsDD,SAAS,GAAG,WAAlE;IACA,IAAI/B,OAAO,GAAG,EAAd;IACA,IAAIU,IAAI,GAAG;MACPoI,MAAM,EAAE1J,UADD;MAEP2J,gBAAgB,EAAE,YAAY;QAAE,OAAO5I,iBAAP;MAA2B,CAFpD;MAGPyI,gBAAgB,EAAEI,IAHX;MAIPH,kBAAkB,EAAEG,IAJb;MAKP3F,iBAAiB,EAAEA,iBALZ;MAMP4F,iBAAiB,EAAE,YAAY;QAAE,OAAO,CAAC3J,IAAI,CAACF,UAAU,CAAC,iCAAD,CAAX,CAAZ;MAA8D,CANxF;MAOP8J,gBAAgB,EAAE,YAAY;QAAE,OAAO,EAAP;MAAY,CAPrC;MAQPC,iBAAiB,EAAEH,IARZ;MASPI,WAAW,EAAE,YAAY;QAAE,OAAOJ,IAAP;MAAc,CATlC;MAUPK,aAAa,EAAE,YAAY;QAAE,OAAO,EAAP;MAAY,CAVlC;MAWPC,SAAS,EAAE,YAAY;QAAE,OAAON,IAAP;MAAc,CAXhC;MAYPO,cAAc,EAAE,YAAY;QAAE,OAAOP,IAAP;MAAc,CAZrC;MAaPQ,mBAAmB,EAAE,YAAY;QAAE,OAAOR,IAAP;MAAc,CAb1C;MAcPS,UAAU,EAAE,YAAY;QAAE,OAAO,KAAP;MAAe,CAdlC;MAePC,gBAAgB,EAAE,YAAY;QAAE,OAAOhH,SAAP;MAAmB,CAf5C;MAgBPiH,oBAAoB,EAAE,YAAY;QAAE,OAAOX,IAAP;MAAc,CAhB3C;MAiBPY,8BAA8B,EAAE,YAAY;QAAE,OAAOlH,SAAP;MAAmB,CAjB1D;MAkBPmH,YAAY,EAAE,YAAY;QAAE,OAAOnH,SAAP;MAAmB,CAlBxC;MAmBPoH,UAAU,EAAE,YAAY;QAAE,OAAO,EAAP;MAAY,CAnB/B;MAoBPC,UAAU,EAAE,YAAY;QAAE,OAAOf,IAAP;MAAc,CApBjC;MAqBPgB,mBAAmB,EAAE,YAAY;QAAE,OAAOhB,IAAP;MAAc,CArB1C;MAsBPiB,gBAAgB,EAAE,YAAY;QAAE,OAAO,EAAP;MAAY,CAtBrC;MAuBPC,qBAAqB,EAAE,YAAY;QAAE,OAAOlB,IAAP;MAAc,CAvB5C;MAwBPmB,iBAAiB,EAAE,YAAY;QAAE,OAAOnB,IAAP;MAAc,CAxBxC;MAyBPoB,cAAc,EAAE,YAAY;QAAE,OAAOpB,IAAP;MAAc,CAzBrC;MA0BPT,uBAAuB,EAAEA;IA1BlB,CAAX;IA4BA,IAAIpI,iBAAiB,GAAG;MAAEZ,MAAM,EAAE,IAAV;MAAgBU,IAAI,EAAE,IAAIX,IAAJ,CAAS,IAAT,EAAe,IAAf;IAAtB,CAAxB;IACA,IAAIc,YAAY,GAAG,IAAnB;IACA,IAAIqH,yBAAyB,GAAG,CAAhC;;IACA,SAASuB,IAAT,GAAgB,CAAG;;IACnB/J,kBAAkB,CAAC,MAAD,EAAS,MAAT,CAAlB;IACA,OAAOH,MAAM,CAAC,MAAD,CAAN,GAAiBQ,IAAxB;EACH,CAlpBD,EAkpBI,OAAO+K,MAAP,KAAkB,WAAlB,IAAiCA,MAAjC,IAA2C,OAAO3Q,IAAP,KAAgB,WAAhB,IAA+BA,IAA1E,IAAkFoF,MAlpBtF;EAmpBA;AACJ;AACA;AACA;AACA;AACA;AACA;;EACI;AACJ;AACA;AACA;AACA;EACI;EACA;;EACA;;;EACA,IAAI8K,8BAA8B,GAAGxP,MAAM,CAACkQ,wBAA5C;EACA;;EACA,IAAIX,oBAAoB,GAAGvP,MAAM,CAACkD,cAAlC;EACA;;EACA,IAAIiN,oBAAoB,GAAGnQ,MAAM,CAACoQ,cAAlC;EACA;;EACA,IAAIX,YAAY,GAAGzP,MAAM,CAACqQ,MAA1B;EACA;;EACA,IAAIX,UAAU,GAAGpP,KAAK,CAACwD,SAAN,CAAgBO,KAAjC;EACA;;EACA,IAAIiM,sBAAsB,GAAG,kBAA7B;EACA;;EACA,IAAIC,yBAAyB,GAAG,qBAAhC;EACA;;EACA,IAAIC,8BAA8B,GAAGtL,IAAI,CAACF,UAAL,CAAgBsL,sBAAhB,CAArC;EACA;;;EACA,IAAIG,iCAAiC,GAAGvL,IAAI,CAACF,UAAL,CAAgBuL,yBAAhB,CAAxC;EACA;;;EACA,IAAIG,QAAQ,GAAG,MAAf;EACA;;EACA,IAAIC,SAAS,GAAG,OAAhB;EACA;;EACA,IAAIC,kBAAkB,GAAG1L,IAAI,CAACF,UAAL,CAAgB,EAAhB,CAAzB;;EACA,SAAS4K,mBAAT,CAA6BjJ,QAA7B,EAAuCC,MAAvC,EAA+C;IAC3C,OAAO1B,IAAI,CAACY,OAAL,CAAaY,IAAb,CAAkBC,QAAlB,EAA4BC,MAA5B,CAAP;EACH;;EACD,SAASiK,gCAAT,CAA0CjK,MAA1C,EAAkDD,QAAlD,EAA4DwB,IAA5D,EAAkEe,cAAlE,EAAkFI,YAAlF,EAAgG;IAC5F,OAAOpE,IAAI,CAACY,OAAL,CAAauD,iBAAb,CAA+BzC,MAA/B,EAAuCD,QAAvC,EAAiDwB,IAAjD,EAAuDe,cAAvD,EAAuEI,YAAvE,CAAP;EACH;;EACD,IAAIwH,YAAY,GAAG5L,IAAI,CAACF,UAAxB;EACA,IAAI+L,cAAc,GAAG,OAAOd,MAAP,KAAkB,WAAvC;EACA,IAAIe,cAAc,GAAGD,cAAc,GAAGd,MAAH,GAAY3H,SAA/C;;EACA,IAAI2I,OAAO,GAAGF,cAAc,IAAIC,cAAlB,IAAoC,OAAO1R,IAAP,KAAgB,QAAhB,IAA4BA,IAAhE,IAAwEoF,MAAtF;;EACA,IAAIwM,gBAAgB,GAAG,iBAAvB;;EACA,SAASjC,aAAT,CAAuB7B,IAAvB,EAA6BxG,MAA7B,EAAqC;IACjC,KAAK,IAAInG,CAAC,GAAG2M,IAAI,CAACzM,MAAL,GAAc,CAA3B,EAA8BF,CAAC,IAAI,CAAnC,EAAsCA,CAAC,EAAvC,EAA2C;MACvC,IAAI,OAAO2M,IAAI,CAAC3M,CAAD,CAAX,KAAmB,UAAvB,EAAmC;QAC/B2M,IAAI,CAAC3M,CAAD,CAAJ,GAAUmP,mBAAmB,CAACxC,IAAI,CAAC3M,CAAD,CAAL,EAAUmG,MAAM,GAAG,GAAT,GAAenG,CAAzB,CAA7B;MACH;IACJ;;IACD,OAAO2M,IAAP;EACH;;EACD,SAAS+D,cAAT,CAAwBrN,SAAxB,EAAmCsN,OAAnC,EAA4C;IACxC,IAAIxK,MAAM,GAAG9C,SAAS,CAACuN,WAAV,CAAsB,MAAtB,CAAb;;IACA,IAAIC,OAAO,GAAG,UAAU7Q,CAAV,EAAa;MACvB,IAAI8Q,MAAM,GAAGH,OAAO,CAAC3Q,CAAD,CAApB;MACA,IAAIoJ,QAAQ,GAAG/F,SAAS,CAACyN,MAAD,CAAxB;;MACA,IAAI1H,QAAJ,EAAc;QACV,IAAI2H,aAAa,GAAGhC,8BAA8B,CAAC1L,SAAD,EAAYyN,MAAZ,CAAlD;;QACA,IAAI,CAACE,kBAAkB,CAACD,aAAD,CAAvB,EAAwC;UACpC,OAAO,UAAP;QACH;;QACD1N,SAAS,CAACyN,MAAD,CAAT,GAAqB,UAAU1H,QAAV,EAAoB;UACrC,IAAI6H,OAAO,GAAG,YAAY;YACtB,OAAO7H,QAAQ,CAAC2C,KAAT,CAAe,IAAf,EAAqByC,aAAa,CAAC1M,SAAD,EAAYqE,MAAM,GAAG,GAAT,GAAe2K,MAA3B,CAAlC,CAAP;UACH,CAFD;;UAGAzB,qBAAqB,CAAC4B,OAAD,EAAU7H,QAAV,CAArB;UACA,OAAO6H,OAAP;QACH,CANmB,CAMjB7H,QANiB,CAApB;MAOH;IACJ,CAhBD;;IAiBA,KAAK,IAAIpJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2Q,OAAO,CAACzQ,MAA5B,EAAoCF,CAAC,EAArC,EAAyC;MACrC6Q,OAAO,CAAC7Q,CAAD,CAAP;IACH;EACJ;;EACD,SAASgR,kBAAT,CAA4BE,YAA5B,EAA0C;IACtC,IAAI,CAACA,YAAL,EAAmB;MACf,OAAO,IAAP;IACH;;IACD,IAAIA,YAAY,CAACC,QAAb,KAA0B,KAA9B,EAAqC;MACjC,OAAO,KAAP;IACH;;IACD,OAAO,EAAE,OAAOD,YAAY,CAACvO,GAApB,KAA4B,UAA5B,IAA0C,OAAOuO,YAAY,CAACE,GAApB,KAA4B,WAAxE,CAAP;EACH;;EACD,IAAIC,WAAW,GAAI,OAAOC,iBAAP,KAA6B,WAA7B,IAA4CzS,IAAI,YAAYyS,iBAA/E,CArvBY,CAsvBZ;EACA;;EACA,IAAIC,MAAM,GAAI,EAAE,QAAQf,OAAV,KAAsB,OAAOA,OAAO,CAACgB,OAAf,KAA2B,WAAjD,IACV,GAAGjQ,QAAH,CAAYV,IAAZ,CAAiB2P,OAAO,CAACgB,OAAzB,MAAsC,kBAD1C;EAEA,IAAIC,SAAS,GAAG,CAACF,MAAD,IAAW,CAACF,WAAZ,IAA2B,CAAC,EAAEf,cAAc,IAAIC,cAAc,CAAC,aAAD,CAAlC,CAA5C,CA1vBY,CA2vBZ;EACA;EACA;;EACA,IAAImB,KAAK,GAAG,OAAOlB,OAAO,CAACgB,OAAf,KAA2B,WAA3B,IACR,GAAGjQ,QAAH,CAAYV,IAAZ,CAAiB2P,OAAO,CAACgB,OAAzB,MAAsC,kBAD9B,IACoD,CAACH,WADrD,IAER,CAAC,EAAEf,cAAc,IAAIC,cAAc,CAAC,aAAD,CAAlC,CAFL;EAGA,IAAIoB,sBAAsB,GAAG,EAA7B;;EACA,IAAIC,MAAM,GAAG,UAAUC,KAAV,EAAiB;IAC1B;IACA;IACAA,KAAK,GAAGA,KAAK,IAAIrB,OAAO,CAACqB,KAAzB;;IACA,IAAI,CAACA,KAAL,EAAY;MACR;IACH;;IACD,IAAIC,eAAe,GAAGH,sBAAsB,CAACE,KAAK,CAACzR,IAAP,CAA5C;;IACA,IAAI,CAAC0R,eAAL,EAAsB;MAClBA,eAAe,GAAGH,sBAAsB,CAACE,KAAK,CAACzR,IAAP,CAAtB,GAAqCiQ,YAAY,CAAC,gBAAgBwB,KAAK,CAACzR,IAAvB,CAAnE;IACH;;IACD,IAAIkJ,MAAM,GAAG,QAAQuI,KAAK,CAACvI,MAAd,IAAwBkH,OAArC;IACA,IAAIuB,QAAQ,GAAGzI,MAAM,CAACwI,eAAD,CAArB;IACA,IAAIxP,MAAJ;;IACA,IAAImP,SAAS,IAAInI,MAAM,KAAKiH,cAAxB,IAA0CsB,KAAK,CAACzR,IAAN,KAAe,OAA7D,EAAsE;MAClE;MACA;MACA;MACA,IAAI4R,UAAU,GAAGH,KAAjB;MACAvP,MAAM,GAAGyP,QAAQ,IACbA,QAAQ,CAAClR,IAAT,CAAc,IAAd,EAAoBmR,UAAU,CAAC3R,OAA/B,EAAwC2R,UAAU,CAACC,QAAnD,EAA6DD,UAAU,CAACE,MAAxE,EAAgFF,UAAU,CAACG,KAA3F,EAAkGH,UAAU,CAACrL,KAA7G,CADJ;;MAEA,IAAIrE,MAAM,KAAK,IAAf,EAAqB;QACjBuP,KAAK,CAACO,cAAN;MACH;IACJ,CAVD,MAWK;MACD9P,MAAM,GAAGyP,QAAQ,IAAIA,QAAQ,CAAChG,KAAT,CAAe,IAAf,EAAqBjK,SAArB,CAArB;;MACA,IAAIQ,MAAM,IAAIuF,SAAV,IAAuB,CAACvF,MAA5B,EAAoC;QAChCuP,KAAK,CAACO,cAAN;MACH;IACJ;;IACD,OAAO9P,MAAP;EACH,CAhCD;;EAiCA,SAAS+P,aAAT,CAAuBC,GAAvB,EAA4BC,IAA5B,EAAkClP,SAAlC,EAA6C;IACzC,IAAImP,IAAI,GAAGzD,8BAA8B,CAACuD,GAAD,EAAMC,IAAN,CAAzC;;IACA,IAAI,CAACC,IAAD,IAASnP,SAAb,EAAwB;MACpB;MACA,IAAI0N,aAAa,GAAGhC,8BAA8B,CAAC1L,SAAD,EAAYkP,IAAZ,CAAlD;;MACA,IAAIxB,aAAJ,EAAmB;QACfyB,IAAI,GAAG;UAAE5P,UAAU,EAAE,IAAd;UAAoBC,YAAY,EAAE;QAAlC,CAAP;MACH;IACJ,CARwC,CASzC;IACA;;;IACA,IAAI,CAAC2P,IAAD,IAAS,CAACA,IAAI,CAAC3P,YAAnB,EAAiC;MAC7B;IACH;;IACD,IAAI4P,mBAAmB,GAAGpC,YAAY,CAAC,OAAOkC,IAAP,GAAc,SAAf,CAAtC;;IACA,IAAID,GAAG,CAAC3M,cAAJ,CAAmB8M,mBAAnB,KAA2CH,GAAG,CAACG,mBAAD,CAAlD,EAAyE;MACrE;IACH,CAjBwC,CAkBzC;IACA;IACA;IACA;IACA;;;IACA,OAAOD,IAAI,CAACrB,QAAZ;IACA,OAAOqB,IAAI,CAACtG,KAAZ;IACA,IAAIwG,eAAe,GAAGF,IAAI,CAAC7P,GAA3B;IACA,IAAIgQ,eAAe,GAAGH,IAAI,CAACpB,GAA3B,CA1ByC,CA2BzC;;IACA,IAAIwB,SAAS,GAAGL,IAAI,CAAC3O,KAAL,CAAW,CAAX,CAAhB;IACA,IAAIkO,eAAe,GAAGH,sBAAsB,CAACiB,SAAD,CAA5C;;IACA,IAAI,CAACd,eAAL,EAAsB;MAClBA,eAAe,GAAGH,sBAAsB,CAACiB,SAAD,CAAtB,GAAoCvC,YAAY,CAAC,gBAAgBuC,SAAjB,CAAlE;IACH;;IACDJ,IAAI,CAACpB,GAAL,GAAW,UAAUyB,QAAV,EAAoB;MAC3B;MACA;MACA,IAAIvJ,MAAM,GAAG,IAAb;;MACA,IAAI,CAACA,MAAD,IAAWgJ,GAAG,KAAK9B,OAAvB,EAAgC;QAC5BlH,MAAM,GAAGkH,OAAT;MACH;;MACD,IAAI,CAAClH,MAAL,EAAa;QACT;MACH;;MACD,IAAIwJ,aAAa,GAAGxJ,MAAM,CAACwI,eAAD,CAA1B;;MACA,IAAI,OAAOgB,aAAP,KAAyB,UAA7B,EAAyC;QACrCxJ,MAAM,CAACyJ,mBAAP,CAA2BH,SAA3B,EAAsChB,MAAtC;MACH,CAb0B,CAc3B;MACA;;;MACAe,eAAe,IAAIA,eAAe,CAAC9R,IAAhB,CAAqByI,MAArB,EAA6B,IAA7B,CAAnB;MACAA,MAAM,CAACwI,eAAD,CAAN,GAA0Be,QAA1B;;MACA,IAAI,OAAOA,QAAP,KAAoB,UAAxB,EAAoC;QAChCvJ,MAAM,CAAC0J,gBAAP,CAAwBJ,SAAxB,EAAmChB,MAAnC,EAA2C,KAA3C;MACH;IACJ,CArBD,CAjCyC,CAuDzC;IACA;;;IACAY,IAAI,CAAC7P,GAAL,GAAW,YAAY;MACnB;MACA;MACA,IAAI2G,MAAM,GAAG,IAAb;;MACA,IAAI,CAACA,MAAD,IAAWgJ,GAAG,KAAK9B,OAAvB,EAAgC;QAC5BlH,MAAM,GAAGkH,OAAT;MACH;;MACD,IAAI,CAAClH,MAAL,EAAa;QACT,OAAO,IAAP;MACH;;MACD,IAAIyI,QAAQ,GAAGzI,MAAM,CAACwI,eAAD,CAArB;;MACA,IAAIC,QAAJ,EAAc;QACV,OAAOA,QAAP;MACH,CAFD,MAGK,IAAIW,eAAJ,EAAqB;QACtB;QACA;QACA;QACA;QACA;QACA;QACA,IAAIxG,KAAK,GAAGwG,eAAe,CAAC7R,IAAhB,CAAqB,IAArB,CAAZ;;QACA,IAAIqL,KAAJ,EAAW;UACPsG,IAAI,CAACpB,GAAL,CAASvQ,IAAT,CAAc,IAAd,EAAoBqL,KAApB;;UACA,IAAI,OAAO5C,MAAM,CAACmH,gBAAD,CAAb,KAAoC,UAAxC,EAAoD;YAChDnH,MAAM,CAAC2J,eAAP,CAAuBV,IAAvB;UACH;;UACD,OAAOrG,KAAP;QACH;MACJ;;MACD,OAAO,IAAP;IACH,CA/BD;;IAgCA4C,oBAAoB,CAACwD,GAAD,EAAMC,IAAN,EAAYC,IAAZ,CAApB;IACAF,GAAG,CAACG,mBAAD,CAAH,GAA2B,IAA3B;EACH;;EACD,SAASnE,iBAAT,CAA2BgE,GAA3B,EAAgCvN,UAAhC,EAA4C1B,SAA5C,EAAuD;IACnD,IAAI0B,UAAJ,EAAgB;MACZ,KAAK,IAAI/E,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+E,UAAU,CAAC7E,MAA/B,EAAuCF,CAAC,EAAxC,EAA4C;QACxCqS,aAAa,CAACC,GAAD,EAAM,OAAOvN,UAAU,CAAC/E,CAAD,CAAvB,EAA4BqD,SAA5B,CAAb;MACH;IACJ,CAJD,MAKK;MACD,IAAI6P,YAAY,GAAG,EAAnB;;MACA,KAAK,IAAIX,IAAT,IAAiBD,GAAjB,EAAsB;QAClB,IAAIC,IAAI,CAAC3O,KAAL,CAAW,CAAX,EAAc,CAAd,KAAoB,IAAxB,EAA8B;UAC1BsP,YAAY,CAAC9R,IAAb,CAAkBmR,IAAlB;QACH;MACJ;;MACD,KAAK,IAAIY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,YAAY,CAAChT,MAAjC,EAAyCiT,CAAC,EAA1C,EAA8C;QAC1Cd,aAAa,CAACC,GAAD,EAAMY,YAAY,CAACC,CAAD,CAAlB,EAAuB9P,SAAvB,CAAb;MACH;IACJ;EACJ;;EACD,IAAI+P,mBAAmB,GAAG/C,YAAY,CAAC,kBAAD,CAAtC,CAj5BY,CAk5BZ;;EACA,SAASnB,UAAT,CAAoBmE,SAApB,EAA+B;IAC3B,IAAIC,aAAa,GAAG9C,OAAO,CAAC6C,SAAD,CAA3B;IACA,IAAI,CAACC,aAAL,EACI,OAHuB,CAI3B;;IACA9C,OAAO,CAACH,YAAY,CAACgD,SAAD,CAAb,CAAP,GAAmCC,aAAnC;;IACA9C,OAAO,CAAC6C,SAAD,CAAP,GAAqB,YAAY;MAC7B,IAAIE,CAAC,GAAG/E,aAAa,CAAC1M,SAAD,EAAYuR,SAAZ,CAArB;;MACA,QAAQE,CAAC,CAACrT,MAAV;QACI,KAAK,CAAL;UACI,KAAKkT,mBAAL,IAA4B,IAAIE,aAAJ,EAA5B;UACA;;QACJ,KAAK,CAAL;UACI,KAAKF,mBAAL,IAA4B,IAAIE,aAAJ,CAAkBC,CAAC,CAAC,CAAD,CAAnB,CAA5B;UACA;;QACJ,KAAK,CAAL;UACI,KAAKH,mBAAL,IAA4B,IAAIE,aAAJ,CAAkBC,CAAC,CAAC,CAAD,CAAnB,EAAwBA,CAAC,CAAC,CAAD,CAAzB,CAA5B;UACA;;QACJ,KAAK,CAAL;UACI,KAAKH,mBAAL,IAA4B,IAAIE,aAAJ,CAAkBC,CAAC,CAAC,CAAD,CAAnB,EAAwBA,CAAC,CAAC,CAAD,CAAzB,EAA8BA,CAAC,CAAC,CAAD,CAA/B,CAA5B;UACA;;QACJ,KAAK,CAAL;UACI,KAAKH,mBAAL,IAA4B,IAAIE,aAAJ,CAAkBC,CAAC,CAAC,CAAD,CAAnB,EAAwBA,CAAC,CAAC,CAAD,CAAzB,EAA8BA,CAAC,CAAC,CAAD,CAA/B,EAAoCA,CAAC,CAAC,CAAD,CAArC,CAA5B;UACA;;QACJ;UACI,MAAM,IAAI7R,KAAJ,CAAU,oBAAV,CAAN;MAjBR;IAmBH,CArBD,CAN2B,CA4B3B;;;IACA2N,qBAAqB,CAACmB,OAAO,CAAC6C,SAAD,CAAR,EAAqBC,aAArB,CAArB;IACA,IAAIE,QAAQ,GAAG,IAAIF,aAAJ,CAAkB,YAAY,CAAG,CAAjC,CAAf;IACA,IAAIf,IAAJ;;IACA,KAAKA,IAAL,IAAaiB,QAAb,EAAuB;MACnB;MACA,IAAIH,SAAS,KAAK,gBAAd,IAAkCd,IAAI,KAAK,cAA/C,EACI;;MACH,WAAUA,IAAV,EAAgB;QACb,IAAI,OAAOiB,QAAQ,CAACjB,IAAD,CAAf,KAA0B,UAA9B,EAA0C;UACtC/B,OAAO,CAAC6C,SAAD,CAAP,CAAmBhQ,SAAnB,CAA6BkP,IAA7B,IAAqC,YAAY;YAC7C,OAAO,KAAKa,mBAAL,EAA0Bb,IAA1B,EAAgCxG,KAAhC,CAAsC,KAAKqH,mBAAL,CAAtC,EAAiEtR,SAAjE,CAAP;UACH,CAFD;QAGH,CAJD,MAKK;UACDgN,oBAAoB,CAAC0B,OAAO,CAAC6C,SAAD,CAAP,CAAmBhQ,SAApB,EAA+BkP,IAA/B,EAAqC;YACrDnB,GAAG,EAAE,UAAU3L,EAAV,EAAc;cACf,IAAI,OAAOA,EAAP,KAAc,UAAlB,EAA8B;gBAC1B,KAAK2N,mBAAL,EAA0Bb,IAA1B,IAAkCpD,mBAAmB,CAAC1J,EAAD,EAAK4N,SAAS,GAAG,GAAZ,GAAkBd,IAAvB,CAArD,CAD0B,CAE1B;gBACA;gBACA;;gBACAlD,qBAAqB,CAAC,KAAK+D,mBAAL,EAA0Bb,IAA1B,CAAD,EAAkC9M,EAAlC,CAArB;cACH,CAND,MAOK;gBACD,KAAK2N,mBAAL,EAA0Bb,IAA1B,IAAkC9M,EAAlC;cACH;YACJ,CAZoD;YAarD9C,GAAG,EAAE,YAAY;cACb,OAAO,KAAKyQ,mBAAL,EAA0Bb,IAA1B,CAAP;YACH;UAfoD,CAArC,CAApB;QAiBH;MACJ,CAzBA,EAyBCA,IAzBD,CAAD;IA0BH;;IACD,KAAKA,IAAL,IAAae,aAAb,EAA4B;MACxB,IAAIf,IAAI,KAAK,WAAT,IAAwBe,aAAa,CAAC3N,cAAd,CAA6B4M,IAA7B,CAA5B,EAAgE;QAC5D/B,OAAO,CAAC6C,SAAD,CAAP,CAAmBd,IAAnB,IAA2Be,aAAa,CAACf,IAAD,CAAxC;MACH;IACJ;EACJ;;EACD,SAAShE,WAAT,CAAqBjF,MAArB,EAA6BhJ,IAA7B,EAAmCmT,OAAnC,EAA4C;IACxC,IAAIC,KAAK,GAAGpK,MAAZ;;IACA,OAAOoK,KAAK,IAAI,CAACA,KAAK,CAAC/N,cAAN,CAAqBrF,IAArB,CAAjB,EAA6C;MACzCoT,KAAK,GAAGhE,oBAAoB,CAACgE,KAAD,CAA5B;IACH;;IACD,IAAI,CAACA,KAAD,IAAUpK,MAAM,CAAChJ,IAAD,CAApB,EAA4B;MACxB;MACAoT,KAAK,GAAGpK,MAAR;IACH;;IACD,IAAIqK,YAAY,GAAGtD,YAAY,CAAC/P,IAAD,CAA/B;IACA,IAAI8I,QAAQ,GAAG,IAAf;;IACA,IAAIsK,KAAK,KAAK,EAAEtK,QAAQ,GAAGsK,KAAK,CAACC,YAAD,CAAlB,KAAqC,CAACD,KAAK,CAAC/N,cAAN,CAAqBgO,YAArB,CAA3C,CAAT,EAAyF;MACrFvK,QAAQ,GAAGsK,KAAK,CAACC,YAAD,CAAL,GAAsBD,KAAK,CAACpT,IAAD,CAAtC,CADqF,CAErF;MACA;;MACA,IAAIkS,IAAI,GAAGkB,KAAK,IAAI3E,8BAA8B,CAAC2E,KAAD,EAAQpT,IAAR,CAAlD;;MACA,IAAI0Q,kBAAkB,CAACwB,IAAD,CAAtB,EAA8B;QAC1B,IAAIoB,eAAe,GAAGH,OAAO,CAACrK,QAAD,EAAWuK,YAAX,EAAyBrT,IAAzB,CAA7B;;QACAoT,KAAK,CAACpT,IAAD,CAAL,GAAc,YAAY;UACtB,OAAOsT,eAAe,CAAC,IAAD,EAAO9R,SAAP,CAAtB;QACH,CAFD;;QAGAuN,qBAAqB,CAACqE,KAAK,CAACpT,IAAD,CAAN,EAAc8I,QAAd,CAArB;MACH;IACJ;;IACD,OAAOA,QAAP;EACH,CAj/BW,CAk/BZ;;;EACA,SAASsF,cAAT,CAAwB4D,GAAxB,EAA6BuB,QAA7B,EAAuCC,WAAvC,EAAoD;IAChD,IAAIC,SAAS,GAAG,IAAhB;;IACA,SAAS9L,YAAT,CAAsBnB,IAAtB,EAA4B;MACxB,IAAIY,IAAI,GAAGZ,IAAI,CAACY,IAAhB;;MACAA,IAAI,CAACiF,IAAL,CAAUjF,IAAI,CAACsM,KAAf,IAAwB,YAAY;QAChClN,IAAI,CAACJ,MAAL,CAAYqF,KAAZ,CAAkB,IAAlB,EAAwBjK,SAAxB;MACH,CAFD;;MAGAiS,SAAS,CAAChI,KAAV,CAAgBrE,IAAI,CAAC4B,MAArB,EAA6B5B,IAAI,CAACiF,IAAlC;MACA,OAAO7F,IAAP;IACH;;IACDiN,SAAS,GAAGxF,WAAW,CAAC+D,GAAD,EAAMuB,QAAN,EAAgB,UAAUzK,QAAV,EAAoB;MAAE,OAAO,UAAUvK,IAAV,EAAgB8N,IAAhB,EAAsB;QACtF,IAAIsH,IAAI,GAAGH,WAAW,CAACjV,IAAD,EAAO8N,IAAP,CAAtB;;QACA,IAAIsH,IAAI,CAACD,KAAL,IAAc,CAAd,IAAmB,OAAOrH,IAAI,CAACsH,IAAI,CAACD,KAAN,CAAX,KAA4B,UAAnD,EAA+D;UAC3D,OAAO5D,gCAAgC,CAAC6D,IAAI,CAAC3T,IAAN,EAAYqM,IAAI,CAACsH,IAAI,CAACD,KAAN,CAAhB,EAA8BC,IAA9B,EAAoChM,YAApC,CAAvC;QACH,CAFD,MAGK;UACD;UACA,OAAOmB,QAAQ,CAAC2C,KAAT,CAAelN,IAAf,EAAqB8N,IAArB,CAAP;QACH;MACJ,CAT4D;IASzD,CATmB,CAAvB;EAUH;;EACD,SAAS0C,qBAAT,CAA+B4B,OAA/B,EAAwC9N,QAAxC,EAAkD;IAC9C8N,OAAO,CAACZ,YAAY,CAAC,kBAAD,CAAb,CAAP,GAA4ClN,QAA5C;EACH;;EACD,IAAI+Q,kBAAkB,GAAG,KAAzB;EACA,IAAIC,QAAQ,GAAG,KAAf;;EACA,SAASC,IAAT,GAAgB;IACZ,IAAI;MACA,IAAIC,EAAE,GAAG9D,cAAc,CAAC+D,SAAf,CAAyBC,SAAlC;;MACA,IAAIF,EAAE,CAACvU,OAAH,CAAW,OAAX,MAAwB,CAAC,CAAzB,IAA8BuU,EAAE,CAACvU,OAAH,CAAW,UAAX,MAA2B,CAAC,CAA9D,EAAiE;QAC7D,OAAO,IAAP;MACH;IACJ,CALD,CAMA,OAAO6G,KAAP,EAAc,CACb;;IACD,OAAO,KAAP;EACH;;EACD,SAASiI,UAAT,GAAsB;IAClB,IAAIsF,kBAAJ,EAAwB;MACpB,OAAOC,QAAP;IACH;;IACDD,kBAAkB,GAAG,IAArB;;IACA,IAAI;MACA,IAAIG,EAAE,GAAG9D,cAAc,CAAC+D,SAAf,CAAyBC,SAAlC;;MACA,IAAIF,EAAE,CAACvU,OAAH,CAAW,OAAX,MAAwB,CAAC,CAAzB,IAA8BuU,EAAE,CAACvU,OAAH,CAAW,UAAX,MAA2B,CAAC,CAA1D,IAA+DuU,EAAE,CAACvU,OAAH,CAAW,OAAX,MAAwB,CAAC,CAA5F,EAA+F;QAC3FqU,QAAQ,GAAG,IAAX;MACH;IACJ,CALD,CAMA,OAAOxN,KAAP,EAAc,CACb;;IACD,OAAOwN,QAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI1P,IAAI,CAACe,YAAL,CAAkB,kBAAlB,EAAsC,UAAUvB,MAAV,EAAkBQ,IAAlB,EAAwB+P,GAAxB,EAA6B;IAC/D,IAAIzF,8BAA8B,GAAGxP,MAAM,CAACkQ,wBAA5C;IACA,IAAIX,oBAAoB,GAAGvP,MAAM,CAACkD,cAAlC;;IACA,SAASgS,sBAAT,CAAgCnC,GAAhC,EAAqC;MACjC,IAAIA,GAAG,IAAIA,GAAG,CAAC/Q,QAAJ,KAAiBhC,MAAM,CAAC8D,SAAP,CAAiB9B,QAA7C,EAAuD;QACnD,IAAI8R,SAAS,GAAGf,GAAG,CAAC1B,WAAJ,IAAmB0B,GAAG,CAAC1B,WAAJ,CAAgBtQ,IAAnD;QACA,OAAO,CAAC+S,SAAS,GAAGA,SAAH,GAAe,EAAzB,IAA+B,IAA/B,GAAsCqB,IAAI,CAACC,SAAL,CAAerC,GAAf,CAA7C;MACH;;MACD,OAAOA,GAAG,GAAGA,GAAG,CAAC/Q,QAAJ,EAAH,GAAoBhC,MAAM,CAAC8D,SAAP,CAAiB9B,QAAjB,CAA0BV,IAA1B,CAA+ByR,GAA/B,CAA9B;IACH;;IACD,IAAI/N,UAAU,GAAGiQ,GAAG,CAACvG,MAArB;IACA,IAAI2G,sBAAsB,GAAG,EAA7B;IACA,IAAIC,yCAAyC,GAAG5Q,MAAM,CAACM,UAAU,CAAC,6CAAD,CAAX,CAAN,KAAsE,IAAtH;;IACA,IAAI8I,aAAa,GAAG9I,UAAU,CAAC,SAAD,CAA9B;;IACA,IAAI+I,UAAU,GAAG/I,UAAU,CAAC,MAAD,CAA3B;;IACA,IAAIuQ,aAAa,GAAG,mBAApB;;IACAN,GAAG,CAACzG,gBAAJ,GAAuB,UAAUgH,CAAV,EAAa;MAChC,IAAIP,GAAG,CAACpG,iBAAJ,EAAJ,EAA6B;QACzB,IAAI4G,SAAS,GAAGD,CAAC,IAAIA,CAAC,CAACC,SAAvB;;QACA,IAAIA,SAAJ,EAAe;UACXC,OAAO,CAACtO,KAAR,CAAc,8BAAd,EAA8CqO,SAAS,YAAYtT,KAArB,GAA6BsT,SAAS,CAAC3U,OAAvC,GAAiD2U,SAA/F,EAA0G,SAA1G,EAAqHD,CAAC,CAAC3P,IAAF,CAAO9E,IAA5H,EAAkI,SAAlI,EAA6IyU,CAAC,CAACjO,IAAF,IAAUiO,CAAC,CAACjO,IAAF,CAAOX,MAA9J,EAAsK,UAAtK,EAAkL6O,SAAlL,EAA6LA,SAAS,YAAYtT,KAArB,GAA6BsT,SAAS,CAACE,KAAvC,GAA+CrN,SAA5O;QACH,CAFD,MAGK;UACDoN,OAAO,CAACtO,KAAR,CAAcoO,CAAd;QACH;MACJ;IACJ,CAVD;;IAWAP,GAAG,CAACxG,kBAAJ,GAAyB,YAAY;MACjC,IAAImH,OAAO,GAAG,YAAY;QACtB,IAAIC,oBAAoB,GAAGR,sBAAsB,CAACS,KAAvB,EAA3B;;QACA,IAAI;UACAD,oBAAoB,CAAChQ,IAArB,CAA0BkB,UAA1B,CAAqC,YAAY;YAC7C,IAAI8O,oBAAoB,CAACE,aAAzB,EAAwC;cACpC,MAAMF,oBAAoB,CAACJ,SAA3B;YACH;;YACD,MAAMI,oBAAN;UACH,CALD;QAMH,CAPD,CAQA,OAAOzO,KAAP,EAAc;UACV4O,wBAAwB,CAAC5O,KAAD,CAAxB;QACH;MACJ,CAbD;;MAcA,OAAOiO,sBAAsB,CAAC1U,MAA9B,EAAsC;QAClCiV,OAAO;MACV;IACJ,CAlBD;;IAmBA,IAAIK,0CAA0C,GAAGjR,UAAU,CAAC,kCAAD,CAA3D;;IACA,SAASgR,wBAAT,CAAkCR,CAAlC,EAAqC;MACjCP,GAAG,CAACzG,gBAAJ,CAAqBgH,CAArB;;MACA,IAAI;QACA,IAAIU,OAAO,GAAGhR,IAAI,CAAC+Q,0CAAD,CAAlB;;QACA,IAAI,OAAOC,OAAP,KAAmB,UAAvB,EAAmC;UAC/BA,OAAO,CAAC5U,IAAR,CAAa,IAAb,EAAmBkU,CAAnB;QACH;MACJ,CALD,CAMA,OAAOxM,GAAP,EAAY,CACX;IACJ;;IACD,SAASmN,UAAT,CAAoBxJ,KAApB,EAA2B;MACvB,OAAOA,KAAK,IAAIA,KAAK,CAACyJ,IAAtB;IACH;;IACD,SAASC,iBAAT,CAA2B1J,KAA3B,EAAkC;MAC9B,OAAOA,KAAP;IACH;;IACD,SAAS2J,gBAAT,CAA0Bb,SAA1B,EAAqC;MACjC,OAAOc,gBAAgB,CAACC,MAAjB,CAAwBf,SAAxB,CAAP;IACH;;IACD,IAAIgB,WAAW,GAAGzR,UAAU,CAAC,OAAD,CAA5B;;IACA,IAAI0R,WAAW,GAAG1R,UAAU,CAAC,OAAD,CAA5B;;IACA,IAAI2R,aAAa,GAAG3R,UAAU,CAAC,SAAD,CAA9B;;IACA,IAAI4R,wBAAwB,GAAG5R,UAAU,CAAC,oBAAD,CAAzC;;IACA,IAAI6R,wBAAwB,GAAG7R,UAAU,CAAC,oBAAD,CAAzC;;IACA,IAAI4B,MAAM,GAAG,cAAb;IACA,IAAIkQ,UAAU,GAAG,IAAjB;IACA,IAAIC,QAAQ,GAAG,IAAf;IACA,IAAIC,QAAQ,GAAG,KAAf;IACA,IAAIC,iBAAiB,GAAG,CAAxB;;IACA,SAASC,YAAT,CAAsBC,OAAtB,EAA+B1P,KAA/B,EAAsC;MAClC,OAAO,UAAU2P,CAAV,EAAa;QAChB,IAAI;UACAC,cAAc,CAACF,OAAD,EAAU1P,KAAV,EAAiB2P,CAAjB,CAAd;QACH,CAFD,CAGA,OAAOpO,GAAP,EAAY;UACRqO,cAAc,CAACF,OAAD,EAAU,KAAV,EAAiBnO,GAAjB,CAAd;QACH,CANe,CAOhB;;MACH,CARD;IASH;;IACD,IAAIsO,IAAI,GAAG,YAAY;MACnB,IAAIC,SAAS,GAAG,KAAhB;MACA,OAAO,SAASC,OAAT,CAAiBC,eAAjB,EAAkC;QACrC,OAAO,YAAY;UACf,IAAIF,SAAJ,EAAe;YACX;UACH;;UACDA,SAAS,GAAG,IAAZ;UACAE,eAAe,CAACjL,KAAhB,CAAsB,IAAtB,EAA4BjK,SAA5B;QACH,CAND;MAOH,CARD;IASH,CAXD;;IAYA,IAAImV,UAAU,GAAG,8BAAjB;;IACA,IAAIC,yBAAyB,GAAG3S,UAAU,CAAC,kBAAD,CAA1C,CArG+D,CAsG/D;;;IACA,SAASqS,cAAT,CAAwBF,OAAxB,EAAiC1P,KAAjC,EAAwCkF,KAAxC,EAA+C;MAC3C,IAAIiL,WAAW,GAAGN,IAAI,EAAtB;;MACA,IAAIH,OAAO,KAAKxK,KAAhB,EAAuB;QACnB,MAAM,IAAIkL,SAAJ,CAAcH,UAAd,CAAN;MACH;;MACD,IAAIP,OAAO,CAACV,WAAD,CAAP,KAAyBK,UAA7B,EAAyC;QACrC;QACA,IAAIV,IAAI,GAAG,IAAX;;QACA,IAAI;UACA,IAAI,OAAOzJ,KAAP,KAAiB,QAAjB,IAA6B,OAAOA,KAAP,KAAiB,UAAlD,EAA8D;YAC1DyJ,IAAI,GAAGzJ,KAAK,IAAIA,KAAK,CAACyJ,IAAtB;UACH;QACJ,CAJD,CAKA,OAAOpN,GAAP,EAAY;UACR4O,WAAW,CAAC,YAAY;YACpBP,cAAc,CAACF,OAAD,EAAU,KAAV,EAAiBnO,GAAjB,CAAd;UACH,CAFU,CAAX;UAGA,OAAOmO,OAAP;QACH,CAboC,CAcrC;;;QACA,IAAI1P,KAAK,KAAKuP,QAAV,IAAsBrK,KAAK,YAAY4J,gBAAvC,IACA5J,KAAK,CAACvG,cAAN,CAAqBqQ,WAArB,CADA,IACqC9J,KAAK,CAACvG,cAAN,CAAqBsQ,WAArB,CADrC,IAEA/J,KAAK,CAAC8J,WAAD,CAAL,KAAuBK,UAF3B,EAEuC;UACnCgB,oBAAoB,CAACnL,KAAD,CAApB;UACA0K,cAAc,CAACF,OAAD,EAAUxK,KAAK,CAAC8J,WAAD,CAAf,EAA8B9J,KAAK,CAAC+J,WAAD,CAAnC,CAAd;QACH,CALD,MAMK,IAAIjP,KAAK,KAAKuP,QAAV,IAAsB,OAAOZ,IAAP,KAAgB,UAA1C,EAAsD;UACvD,IAAI;YACAA,IAAI,CAAC9U,IAAL,CAAUqL,KAAV,EAAiBiL,WAAW,CAACV,YAAY,CAACC,OAAD,EAAU1P,KAAV,CAAb,CAA5B,EAA4DmQ,WAAW,CAACV,YAAY,CAACC,OAAD,EAAU,KAAV,CAAb,CAAvE;UACH,CAFD,CAGA,OAAOnO,GAAP,EAAY;YACR4O,WAAW,CAAC,YAAY;cACpBP,cAAc,CAACF,OAAD,EAAU,KAAV,EAAiBnO,GAAjB,CAAd;YACH,CAFU,CAAX;UAGH;QACJ,CATI,MAUA;UACDmO,OAAO,CAACV,WAAD,CAAP,GAAuBhP,KAAvB;UACA,IAAI8G,KAAK,GAAG4I,OAAO,CAACT,WAAD,CAAnB;UACAS,OAAO,CAACT,WAAD,CAAP,GAAuB/J,KAAvB;;UACA,IAAIwK,OAAO,CAACR,aAAD,CAAP,KAA2BA,aAA/B,EAA8C;YAC1C;YACA,IAAIlP,KAAK,KAAKsP,QAAd,EAAwB;cACpB;cACA;cACAI,OAAO,CAACV,WAAD,CAAP,GAAuBU,OAAO,CAACN,wBAAD,CAA9B;cACAM,OAAO,CAACT,WAAD,CAAP,GAAuBS,OAAO,CAACP,wBAAD,CAA9B;YACH;UACJ,CAZA,CAaD;UACA;;;UACA,IAAInP,KAAK,KAAKuP,QAAV,IAAsBrK,KAAK,YAAYxK,KAA3C,EAAkD;YAC9C;YACA,IAAI4V,KAAK,GAAG7S,IAAI,CAAC8S,WAAL,IAAoB9S,IAAI,CAAC8S,WAAL,CAAiB7P,IAArC,IACRjD,IAAI,CAAC8S,WAAL,CAAiB7P,IAAjB,CAAsBoN,aAAtB,CADJ;;YAEA,IAAIwC,KAAJ,EAAW;cACP;cACAxI,oBAAoB,CAAC5C,KAAD,EAAQgL,yBAAR,EAAmC;gBAAErU,YAAY,EAAE,IAAhB;gBAAsBD,UAAU,EAAE,KAAlC;gBAAyCuO,QAAQ,EAAE,IAAnD;gBAAyDjF,KAAK,EAAEoL;cAAhE,CAAnC,CAApB;YACH;UACJ;;UACD,KAAK,IAAItX,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8N,KAAK,CAAC5N,MAA1B,GAAmC;YAC/BsX,uBAAuB,CAACd,OAAD,EAAU5I,KAAK,CAAC9N,CAAC,EAAF,CAAf,EAAsB8N,KAAK,CAAC9N,CAAC,EAAF,CAA3B,EAAkC8N,KAAK,CAAC9N,CAAC,EAAF,CAAvC,EAA8C8N,KAAK,CAAC9N,CAAC,EAAF,CAAnD,CAAvB;UACH;;UACD,IAAI8N,KAAK,CAAC5N,MAAN,IAAgB,CAAhB,IAAqB8G,KAAK,IAAIuP,QAAlC,EAA4C;YACxCG,OAAO,CAACV,WAAD,CAAP,GAAuBQ,iBAAvB;YACA,IAAIpB,oBAAoB,GAAGlJ,KAA3B;;YACA,IAAI;cACA;cACA;cACA;cACA,MAAM,IAAIxK,KAAJ,CAAU,4BAA4B+S,sBAAsB,CAACvI,KAAD,CAAlD,IACXA,KAAK,IAAIA,KAAK,CAACgJ,KAAf,GAAuB,OAAOhJ,KAAK,CAACgJ,KAApC,GAA4C,EADjC,CAAV,CAAN;YAEH,CAND,CAOA,OAAO3M,GAAP,EAAY;cACR6M,oBAAoB,GAAG7M,GAAvB;YACH;;YACD,IAAIsM,yCAAJ,EAA+C;cAC3C;cACA;cACAO,oBAAoB,CAACE,aAArB,GAAqC,IAArC;YACH;;YACDF,oBAAoB,CAACJ,SAArB,GAAiC9I,KAAjC;YACAkJ,oBAAoB,CAACsB,OAArB,GAA+BA,OAA/B;YACAtB,oBAAoB,CAAChQ,IAArB,GAA4BX,IAAI,CAACY,OAAjC;YACA+P,oBAAoB,CAACtO,IAArB,GAA4BrC,IAAI,CAAC8S,WAAjC;;YACA3C,sBAAsB,CAACxT,IAAvB,CAA4BgU,oBAA5B;;YACAZ,GAAG,CAAChM,iBAAJ,GAvBwC,CAuBf;UAC5B;QACJ;MACJ,CAzF0C,CA0F3C;;;MACA,OAAOkO,OAAP;IACH;;IACD,IAAIe,yBAAyB,GAAGlT,UAAU,CAAC,yBAAD,CAA1C;;IACA,SAAS8S,oBAAT,CAA8BX,OAA9B,EAAuC;MACnC,IAAIA,OAAO,CAACV,WAAD,CAAP,KAAyBQ,iBAA7B,EAAgD;QAC5C;QACA;QACA;QACA;QACA;QACA,IAAI;UACA,IAAIf,OAAO,GAAGhR,IAAI,CAACgT,yBAAD,CAAlB;;UACA,IAAIhC,OAAO,IAAI,OAAOA,OAAP,KAAmB,UAAlC,EAA8C;YAC1CA,OAAO,CAAC5U,IAAR,CAAa,IAAb,EAAmB;cAAEmU,SAAS,EAAE0B,OAAO,CAACT,WAAD,CAApB;cAAmCS,OAAO,EAAEA;YAA5C,CAAnB;UACH;QACJ,CALD,CAMA,OAAOnO,GAAP,EAAY,CACX;;QACDmO,OAAO,CAACV,WAAD,CAAP,GAAuBO,QAAvB;;QACA,KAAK,IAAIvW,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4U,sBAAsB,CAAC1U,MAA3C,EAAmDF,CAAC,EAApD,EAAwD;UACpD,IAAI0W,OAAO,KAAK9B,sBAAsB,CAAC5U,CAAD,CAAtB,CAA0B0W,OAA1C,EAAmD;YAC/C9B,sBAAsB,CAACzS,MAAvB,CAA8BnC,CAA9B,EAAiC,CAAjC;UACH;QACJ;MACJ;IACJ;;IACD,SAASwX,uBAAT,CAAiCd,OAAjC,EAA0CtR,IAA1C,EAAgDsS,YAAhD,EAA8DC,WAA9D,EAA2EC,UAA3E,EAAuF;MACnFP,oBAAoB,CAACX,OAAD,CAApB;MACA,IAAImB,YAAY,GAAGnB,OAAO,CAACV,WAAD,CAA1B;MACA,IAAI5M,QAAQ,GAAGyO,YAAY,GACtB,OAAOF,WAAP,KAAuB,UAAxB,GAAsCA,WAAtC,GAAoD/B,iBAD7B,GAEtB,OAAOgC,UAAP,KAAsB,UAAvB,GAAqCA,UAArC,GACI/B,gBAHR;MAIAzQ,IAAI,CAACoD,iBAAL,CAAuBrC,MAAvB,EAA+B,YAAY;QACvC,IAAI;UACA,IAAI2R,kBAAkB,GAAGpB,OAAO,CAACT,WAAD,CAAhC;UACA,IAAI8B,gBAAgB,GAAG,CAAC,CAACL,YAAF,IAAkBxB,aAAa,KAAKwB,YAAY,CAACxB,aAAD,CAAvE;;UACA,IAAI6B,gBAAJ,EAAsB;YAClB;YACAL,YAAY,CAACvB,wBAAD,CAAZ,GAAyC2B,kBAAzC;YACAJ,YAAY,CAACtB,wBAAD,CAAZ,GAAyCyB,YAAzC;UACH,CAPD,CAQA;;;UACA,IAAI3L,KAAK,GAAG9G,IAAI,CAACmB,GAAL,CAAS6C,QAAT,EAAmBvB,SAAnB,EAA8BkQ,gBAAgB,IAAI3O,QAAQ,KAAKyM,gBAAjC,IAAqDzM,QAAQ,KAAKwM,iBAAlE,GACtC,EADsC,GAEtC,CAACkC,kBAAD,CAFQ,CAAZ;UAGAlB,cAAc,CAACc,YAAD,EAAe,IAAf,EAAqBxL,KAArB,CAAd;QACH,CAbD,CAcA,OAAOvF,KAAP,EAAc;UACV;UACAiQ,cAAc,CAACc,YAAD,EAAe,KAAf,EAAsB/Q,KAAtB,CAAd;QACH;MACJ,CAnBD,EAmBG+Q,YAnBH;IAoBH;;IACD,IAAIM,4BAA4B,GAAG,+CAAnC;;IACA,IAAI7J,IAAI,GAAG,YAAY,CAAG,CAA1B;;IACA,IAAI8J,cAAc,GAAGhU,MAAM,CAACgU,cAA5B;;IACA,IAAInC,gBAAgB;IAAG;IAAe,YAAY;MAC9C,SAASA,gBAAT,CAA0BoC,QAA1B,EAAoC;QAChC,IAAIxB,OAAO,GAAG,IAAd;;QACA,IAAI,EAAEA,OAAO,YAAYZ,gBAArB,CAAJ,EAA4C;UACxC,MAAM,IAAIpU,KAAJ,CAAU,gCAAV,CAAN;QACH;;QACDgV,OAAO,CAACV,WAAD,CAAP,GAAuBK,UAAvB;QACAK,OAAO,CAACT,WAAD,CAAP,GAAuB,EAAvB,CANgC,CAML;;QAC3B,IAAI;UACA,IAAIkB,WAAW,GAAGN,IAAI,EAAtB;UACAqB,QAAQ,IACJA,QAAQ,CAACf,WAAW,CAACV,YAAY,CAACC,OAAD,EAAUJ,QAAV,CAAb,CAAZ,EAA+Ca,WAAW,CAACV,YAAY,CAACC,OAAD,EAAUH,QAAV,CAAb,CAA1D,CADZ;QAEH,CAJD,CAKA,OAAO5P,KAAP,EAAc;UACViQ,cAAc,CAACF,OAAD,EAAU,KAAV,EAAiB/P,KAAjB,CAAd;QACH;MACJ;;MACDmP,gBAAgB,CAACvU,QAAjB,GAA4B,YAAY;QACpC,OAAOyW,4BAAP;MACH,CAFD;;MAGAlC,gBAAgB,CAAClI,OAAjB,GAA2B,UAAU1B,KAAV,EAAiB;QACxC,OAAO0K,cAAc,CAAC,IAAI,IAAJ,CAAS,IAAT,CAAD,EAAiBN,QAAjB,EAA2BpK,KAA3B,CAArB;MACH,CAFD;;MAGA4J,gBAAgB,CAACC,MAAjB,GAA0B,UAAUpP,KAAV,EAAiB;QACvC,OAAOiQ,cAAc,CAAC,IAAI,IAAJ,CAAS,IAAT,CAAD,EAAiBL,QAAjB,EAA2B5P,KAA3B,CAArB;MACH,CAFD;;MAGAmP,gBAAgB,CAACqC,GAAjB,GAAuB,UAAUC,MAAV,EAAkB;QACrC,IAAI,CAACA,MAAD,IAAW,OAAOA,MAAM,CAACC,MAAM,CAACC,QAAR,CAAb,KAAmC,UAAlD,EAA8D;UAC1D,OAAOC,OAAO,CAACxC,MAAR,CAAe,IAAIkC,cAAJ,CAAmB,EAAnB,EAAuB,4BAAvB,CAAf,CAAP;QACH;;QACD,IAAIO,QAAQ,GAAG,EAAf;QACA,IAAIvP,KAAK,GAAG,CAAZ;;QACA,IAAI;UACA,KAAK,IAAIwP,EAAE,GAAG,CAAT,EAAYC,QAAQ,GAAGN,MAA5B,EAAoCK,EAAE,GAAGC,QAAQ,CAACxY,MAAlD,EAA0DuY,EAAE,EAA5D,EAAgE;YAC5D,IAAI9B,CAAC,GAAG+B,QAAQ,CAACD,EAAD,CAAhB;YACAxP,KAAK;YACLuP,QAAQ,CAACpX,IAAT,CAAc0U,gBAAgB,CAAClI,OAAjB,CAAyB+I,CAAzB,CAAd;UACH;QACJ,CAND,CAOA,OAAOpO,GAAP,EAAY;UACR,OAAOgQ,OAAO,CAACxC,MAAR,CAAe,IAAIkC,cAAJ,CAAmB,EAAnB,EAAuB,4BAAvB,CAAf,CAAP;QACH;;QACD,IAAIhP,KAAK,KAAK,CAAd,EAAiB;UACb,OAAOsP,OAAO,CAACxC,MAAR,CAAe,IAAIkC,cAAJ,CAAmB,EAAnB,EAAuB,4BAAvB,CAAf,CAAP;QACH;;QACD,IAAIU,QAAQ,GAAG,KAAf;QACA,IAAIC,MAAM,GAAG,EAAb;QACA,OAAO,IAAI9C,gBAAJ,CAAqB,UAAUlI,OAAV,EAAmBmI,MAAnB,EAA2B;UACnD,KAAK,IAAI/V,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwY,QAAQ,CAACtY,MAA7B,EAAqCF,CAAC,EAAtC,EAA0C;YACtCwY,QAAQ,CAACxY,CAAD,CAAR,CAAY2V,IAAZ,CAAiB,UAAUgB,CAAV,EAAa;cAC1B,IAAIgC,QAAJ,EAAc;gBACV;cACH;;cACDA,QAAQ,GAAG,IAAX;cACA/K,OAAO,CAAC+I,CAAD,CAAP;YACH,CAND,EAMG,UAAUpO,GAAV,EAAe;cACdqQ,MAAM,CAACxX,IAAP,CAAYmH,GAAZ;cACAU,KAAK;;cACL,IAAIA,KAAK,KAAK,CAAd,EAAiB;gBACb0P,QAAQ,GAAG,IAAX;gBACA5C,MAAM,CAAC,IAAIkC,cAAJ,CAAmBW,MAAnB,EAA2B,4BAA3B,CAAD,CAAN;cACH;YACJ,CAbD;UAcH;QACJ,CAjBM,CAAP;MAkBH,CAvCD;;MAwCA;;MACA9C,gBAAgB,CAAC+C,IAAjB,GAAwB,UAAUT,MAAV,EAAkB;QACtC,IAAIxK,OAAJ;QACA,IAAImI,MAAJ;QACA,IAAIW,OAAO,GAAG,IAAI,IAAJ,CAAS,UAAUoC,GAAV,EAAeC,GAAf,EAAoB;UACvCnL,OAAO,GAAGkL,GAAV;UACA/C,MAAM,GAAGgD,GAAT;QACH,CAHa,CAAd;;QAIA,SAASC,SAAT,CAAmB9M,KAAnB,EAA0B;UACtB0B,OAAO,CAAC1B,KAAD,CAAP;QACH;;QACD,SAAS+M,QAAT,CAAkBtS,KAAlB,EAAyB;UACrBoP,MAAM,CAACpP,KAAD,CAAN;QACH;;QACD,KAAK,IAAI8R,EAAE,GAAG,CAAT,EAAYS,QAAQ,GAAGd,MAA5B,EAAoCK,EAAE,GAAGS,QAAQ,CAAChZ,MAAlD,EAA0DuY,EAAE,EAA5D,EAAgE;UAC5D,IAAIvM,KAAK,GAAGgN,QAAQ,CAACT,EAAD,CAApB;;UACA,IAAI,CAAC/C,UAAU,CAACxJ,KAAD,CAAf,EAAwB;YACpBA,KAAK,GAAG,KAAK0B,OAAL,CAAa1B,KAAb,CAAR;UACH;;UACDA,KAAK,CAACyJ,IAAN,CAAWqD,SAAX,EAAsBC,QAAtB;QACH;;QACD,OAAOvC,OAAP;MACH,CArBD;;MAsBAZ,gBAAgB,CAACqD,GAAjB,GAAuB,UAAUf,MAAV,EAAkB;QACrC,OAAOtC,gBAAgB,CAACsD,eAAjB,CAAiChB,MAAjC,CAAP;MACH,CAFD;;MAGAtC,gBAAgB,CAACuD,UAAjB,GAA8B,UAAUjB,MAAV,EAAkB;QAC5C,IAAIkB,CAAC,GAAG,QAAQ,KAAKjW,SAAL,YAA0ByS,gBAAlC,GAAqD,IAArD,GAA4DA,gBAApE;QACA,OAAOwD,CAAC,CAACF,eAAF,CAAkBhB,MAAlB,EAA0B;UAC7BmB,YAAY,EAAE,UAAUrN,KAAV,EAAiB;YAAE,OAAQ;cAAEsN,MAAM,EAAE,WAAV;cAAuBtN,KAAK,EAAEA;YAA9B,CAAR;UAAiD,CADrD;UAE7BuN,aAAa,EAAE,UAAUlR,GAAV,EAAe;YAAE,OAAQ;cAAEiR,MAAM,EAAE,UAAV;cAAsBE,MAAM,EAAEnR;YAA9B,CAAR;UAA+C;QAFlD,CAA1B,CAAP;MAIH,CAND;;MAOAuN,gBAAgB,CAACsD,eAAjB,GAAmC,UAAUhB,MAAV,EAAkBlS,QAAlB,EAA4B;QAC3D,IAAI0H,OAAJ;QACA,IAAImI,MAAJ;QACA,IAAIW,OAAO,GAAG,IAAI,IAAJ,CAAS,UAAUoC,GAAV,EAAeC,GAAf,EAAoB;UACvCnL,OAAO,GAAGkL,GAAV;UACA/C,MAAM,GAAGgD,GAAT;QACH,CAHa,CAAd,CAH2D,CAO3D;;QACA,IAAIY,eAAe,GAAG,CAAtB;QACA,IAAIC,UAAU,GAAG,CAAjB;QACA,IAAIC,cAAc,GAAG,EAArB;;QACA,IAAIC,OAAO,GAAG,UAAU5N,KAAV,EAAiB;UAC3B,IAAI,CAACwJ,UAAU,CAACxJ,KAAD,CAAf,EAAwB;YACpBA,KAAK,GAAG6N,MAAM,CAACnM,OAAP,CAAe1B,KAAf,CAAR;UACH;;UACD,IAAI8N,aAAa,GAAGJ,UAApB;;UACA,IAAI;YACA1N,KAAK,CAACyJ,IAAN,CAAW,UAAUzJ,KAAV,EAAiB;cACxB2N,cAAc,CAACG,aAAD,CAAd,GAAgC9T,QAAQ,GAAGA,QAAQ,CAACqT,YAAT,CAAsBrN,KAAtB,CAAH,GAAkCA,KAA1E;cACAyN,eAAe;;cACf,IAAIA,eAAe,KAAK,CAAxB,EAA2B;gBACvB/L,OAAO,CAACiM,cAAD,CAAP;cACH;YACJ,CAND,EAMG,UAAUtR,GAAV,EAAe;cACd,IAAI,CAACrC,QAAL,EAAe;gBACX6P,MAAM,CAACxN,GAAD,CAAN;cACH,CAFD,MAGK;gBACDsR,cAAc,CAACG,aAAD,CAAd,GAAgC9T,QAAQ,CAACuT,aAAT,CAAuBlR,GAAvB,CAAhC;gBACAoR,eAAe;;gBACf,IAAIA,eAAe,KAAK,CAAxB,EAA2B;kBACvB/L,OAAO,CAACiM,cAAD,CAAP;gBACH;cACJ;YACJ,CAjBD;UAkBH,CAnBD,CAoBA,OAAOI,OAAP,EAAgB;YACZlE,MAAM,CAACkE,OAAD,CAAN;UACH;;UACDN,eAAe;UACfC,UAAU;QACb,CA9BD;;QA+BA,IAAIG,MAAM,GAAG,IAAb;;QACA,KAAK,IAAItB,EAAE,GAAG,CAAT,EAAYyB,QAAQ,GAAG9B,MAA5B,EAAoCK,EAAE,GAAGyB,QAAQ,CAACha,MAAlD,EAA0DuY,EAAE,EAA5D,EAAgE;UAC5D,IAAIvM,KAAK,GAAGgO,QAAQ,CAACzB,EAAD,CAApB;;UACAqB,OAAO,CAAC5N,KAAD,CAAP;QACH,CA9C0D,CA+C3D;;;QACAyN,eAAe,IAAI,CAAnB;;QACA,IAAIA,eAAe,KAAK,CAAxB,EAA2B;UACvB/L,OAAO,CAACiM,cAAD,CAAP;QACH;;QACD,OAAOnD,OAAP;MACH,CArDD;;MAsDAnX,MAAM,CAACkD,cAAP,CAAsBqT,gBAAgB,CAACzS,SAAvC,EAAkDgV,MAAM,CAAC8B,WAAzD,EAAsE;QAClExX,GAAG,EAAE,YAAY;UACb,OAAO,SAAP;QACH,CAHiE;QAIlEC,UAAU,EAAE,KAJsD;QAKlEC,YAAY,EAAE;MALoD,CAAtE;MAOAtD,MAAM,CAACkD,cAAP,CAAsBqT,gBAAgB,CAACzS,SAAvC,EAAkDgV,MAAM,CAAC+B,OAAzD,EAAkE;QAC9DzX,GAAG,EAAE,YAAY;UACb,OAAOmT,gBAAP;QACH,CAH6D;QAI9DlT,UAAU,EAAE,KAJkD;QAK9DC,YAAY,EAAE;MALgD,CAAlE;;MAOAiT,gBAAgB,CAACzS,SAAjB,CAA2BsS,IAA3B,GAAkC,UAAUgC,WAAV,EAAuBC,UAAvB,EAAmC;QACjE,IAAIyC,EAAJ,CADiE,CAEjE;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;;QACA,IAAIC,CAAC,GAAG,CAACD,EAAE,GAAG,KAAKzJ,WAAX,MAA4B,IAA5B,IAAoCyJ,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAAChC,MAAM,CAAC+B,OAAR,CAAvE;;QACA,IAAI,CAACE,CAAD,IAAM,OAAOA,CAAP,KAAa,UAAvB,EAAmC;UAC/BA,CAAC,GAAG,KAAK1J,WAAL,IAAoBkF,gBAAxB;QACH;;QACD,IAAI4B,YAAY,GAAG,IAAI4C,CAAJ,CAAMnM,IAAN,CAAnB;QACA,IAAI/I,IAAI,GAAGX,IAAI,CAACY,OAAhB;;QACA,IAAI,KAAK2Q,WAAL,KAAqBK,UAAzB,EAAqC;UACjC,KAAKJ,WAAL,EAAkB7U,IAAlB,CAAuBgE,IAAvB,EAA6BsS,YAA7B,EAA2CC,WAA3C,EAAwDC,UAAxD;QACH,CAFD,MAGK;UACDJ,uBAAuB,CAAC,IAAD,EAAOpS,IAAP,EAAasS,YAAb,EAA2BC,WAA3B,EAAwCC,UAAxC,CAAvB;QACH;;QACD,OAAOF,YAAP;MACH,CAvBD;;MAwBA5B,gBAAgB,CAACzS,SAAjB,CAA2BkX,KAA3B,GAAmC,UAAU3C,UAAV,EAAsB;QACrD,OAAO,KAAKjC,IAAL,CAAU,IAAV,EAAgBiC,UAAhB,CAAP;MACH,CAFD;;MAGA9B,gBAAgB,CAACzS,SAAjB,CAA2BmX,OAA3B,GAAqC,UAAUC,SAAV,EAAqB;QACtD,IAAIJ,EAAJ,CADsD,CAEtD;;;QACA,IAAIC,CAAC,GAAG,CAACD,EAAE,GAAG,KAAKzJ,WAAX,MAA4B,IAA5B,IAAoCyJ,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAAChC,MAAM,CAAC+B,OAAR,CAAvE;;QACA,IAAI,CAACE,CAAD,IAAM,OAAOA,CAAP,KAAa,UAAvB,EAAmC;UAC/BA,CAAC,GAAGxE,gBAAJ;QACH;;QACD,IAAI4B,YAAY,GAAG,IAAI4C,CAAJ,CAAMnM,IAAN,CAAnB;QACAuJ,YAAY,CAACxB,aAAD,CAAZ,GAA8BA,aAA9B;QACA,IAAI9Q,IAAI,GAAGX,IAAI,CAACY,OAAhB;;QACA,IAAI,KAAK2Q,WAAL,KAAqBK,UAAzB,EAAqC;UACjC,KAAKJ,WAAL,EAAkB7U,IAAlB,CAAuBgE,IAAvB,EAA6BsS,YAA7B,EAA2C+C,SAA3C,EAAsDA,SAAtD;QACH,CAFD,MAGK;UACDjD,uBAAuB,CAAC,IAAD,EAAOpS,IAAP,EAAasS,YAAb,EAA2B+C,SAA3B,EAAsCA,SAAtC,CAAvB;QACH;;QACD,OAAO/C,YAAP;MACH,CAjBD;;MAkBA,OAAO5B,gBAAP;IACH,CArNqC,EAAtC,CA3P+D,CAid/D;IACA;;;IACAA,gBAAgB,CAAC,SAAD,CAAhB,GAA8BA,gBAAgB,CAAClI,OAA/C;IACAkI,gBAAgB,CAAC,QAAD,CAAhB,GAA6BA,gBAAgB,CAACC,MAA9C;IACAD,gBAAgB,CAAC,MAAD,CAAhB,GAA2BA,gBAAgB,CAAC+C,IAA5C;IACA/C,gBAAgB,CAAC,KAAD,CAAhB,GAA0BA,gBAAgB,CAACqD,GAA3C;IACA,IAAIuB,aAAa,GAAGzW,MAAM,CAACoJ,aAAD,CAAN,GAAwBpJ,MAAM,CAAC,SAAD,CAAlD;IACAA,MAAM,CAAC,SAAD,CAAN,GAAoB6R,gBAApB;;IACA,IAAI6E,iBAAiB,GAAGpW,UAAU,CAAC,aAAD,CAAlC;;IACA,SAASkK,SAAT,CAAmBmM,IAAnB,EAAyB;MACrB,IAAIlH,KAAK,GAAGkH,IAAI,CAACvX,SAAjB;MACA,IAAIkP,IAAI,GAAGxD,8BAA8B,CAAC2E,KAAD,EAAQ,MAAR,CAAzC;;MACA,IAAInB,IAAI,KAAKA,IAAI,CAACpB,QAAL,KAAkB,KAAlB,IAA2B,CAACoB,IAAI,CAAC1P,YAAtC,CAAR,EAA6D;QACzD;QACA;QACA;MACH;;MACD,IAAIgY,YAAY,GAAGnH,KAAK,CAACiC,IAAzB,CARqB,CASrB;;MACAjC,KAAK,CAACpG,UAAD,CAAL,GAAoBuN,YAApB;;MACAD,IAAI,CAACvX,SAAL,CAAesS,IAAf,GAAsB,UAAUqD,SAAV,EAAqBC,QAArB,EAA+B;QACjD,IAAI6B,KAAK,GAAG,IAAZ;;QACA,IAAIC,OAAO,GAAG,IAAIjF,gBAAJ,CAAqB,UAAUlI,OAAV,EAAmBmI,MAAnB,EAA2B;UAC1D8E,YAAY,CAACha,IAAb,CAAkBia,KAAlB,EAAyBlN,OAAzB,EAAkCmI,MAAlC;QACH,CAFa,CAAd;QAGA,OAAOgF,OAAO,CAACpF,IAAR,CAAaqD,SAAb,EAAwBC,QAAxB,CAAP;MACH,CAND;;MAOA2B,IAAI,CAACD,iBAAD,CAAJ,GAA0B,IAA1B;IACH;;IACDnG,GAAG,CAAC/F,SAAJ,GAAgBA,SAAhB;;IACA,SAASuM,OAAT,CAAiBvV,EAAjB,EAAqB;MACjB,OAAO,UAAU5G,IAAV,EAAgB8N,IAAhB,EAAsB;QACzB,IAAIsO,aAAa,GAAGxV,EAAE,CAACsG,KAAH,CAASlN,IAAT,EAAe8N,IAAf,CAApB;;QACA,IAAIsO,aAAa,YAAYnF,gBAA7B,EAA+C;UAC3C,OAAOmF,aAAP;QACH;;QACD,IAAIC,IAAI,GAAGD,aAAa,CAACrK,WAAzB;;QACA,IAAI,CAACsK,IAAI,CAACP,iBAAD,CAAT,EAA8B;UAC1BlM,SAAS,CAACyM,IAAD,CAAT;QACH;;QACD,OAAOD,aAAP;MACH,CAVD;IAWH;;IACD,IAAIP,aAAJ,EAAmB;MACfjM,SAAS,CAACiM,aAAD,CAAT;MACAnM,WAAW,CAACtK,MAAD,EAAS,OAAT,EAAkB,UAAUmF,QAAV,EAAoB;QAAE,OAAO4R,OAAO,CAAC5R,QAAD,CAAd;MAA2B,CAAnE,CAAX;IACH,CA/f8D,CAggB/D;;;IACAmP,OAAO,CAAC9T,IAAI,CAACF,UAAL,CAAgB,uBAAhB,CAAD,CAAP,GAAoDqQ,sBAApD;IACA,OAAOkB,gBAAP;EACH,CAngBD;EAogBA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI;EACA;;;EACArR,IAAI,CAACe,YAAL,CAAkB,UAAlB,EAA8B,UAAUvB,MAAV,EAAkB;IAC5C;IACA,IAAIkX,wBAAwB,GAAGC,QAAQ,CAAC/X,SAAT,CAAmB9B,QAAlD;IACA,IAAI8Z,wBAAwB,GAAGhL,YAAY,CAAC,kBAAD,CAA3C;IACA,IAAIiL,cAAc,GAAGjL,YAAY,CAAC,SAAD,CAAjC;IACA,IAAIkL,YAAY,GAAGlL,YAAY,CAAC,OAAD,CAA/B;;IACA,IAAImL,mBAAmB,GAAG,SAASja,QAAT,GAAoB;MAC1C,IAAI,OAAO,IAAP,KAAgB,UAApB,EAAgC;QAC5B,IAAIka,gBAAgB,GAAG,KAAKJ,wBAAL,CAAvB;;QACA,IAAII,gBAAJ,EAAsB;UAClB,IAAI,OAAOA,gBAAP,KAA4B,UAAhC,EAA4C;YACxC,OAAON,wBAAwB,CAACta,IAAzB,CAA8B4a,gBAA9B,CAAP;UACH,CAFD,MAGK;YACD,OAAOlc,MAAM,CAAC8D,SAAP,CAAiB9B,QAAjB,CAA0BV,IAA1B,CAA+B4a,gBAA/B,CAAP;UACH;QACJ;;QACD,IAAI,SAASlD,OAAb,EAAsB;UAClB,IAAImD,aAAa,GAAGzX,MAAM,CAACqX,cAAD,CAA1B;;UACA,IAAII,aAAJ,EAAmB;YACf,OAAOP,wBAAwB,CAACta,IAAzB,CAA8B6a,aAA9B,CAAP;UACH;QACJ;;QACD,IAAI,SAASha,KAAb,EAAoB;UAChB,IAAIia,WAAW,GAAG1X,MAAM,CAACsX,YAAD,CAAxB;;UACA,IAAII,WAAJ,EAAiB;YACb,OAAOR,wBAAwB,CAACta,IAAzB,CAA8B8a,WAA9B,CAAP;UACH;QACJ;MACJ;;MACD,OAAOR,wBAAwB,CAACta,IAAzB,CAA8B,IAA9B,CAAP;IACH,CAzBD;;IA0BA2a,mBAAmB,CAACH,wBAAD,CAAnB,GAAgDF,wBAAhD;IACAC,QAAQ,CAAC/X,SAAT,CAAmB9B,QAAnB,GAA8Bia,mBAA9B,CAjC4C,CAkC5C;;IACA,IAAII,sBAAsB,GAAGrc,MAAM,CAAC8D,SAAP,CAAiB9B,QAA9C;IACA,IAAIsa,wBAAwB,GAAG,kBAA/B;;IACAtc,MAAM,CAAC8D,SAAP,CAAiB9B,QAAjB,GAA4B,YAAY;MACpC,IAAI,OAAOgX,OAAP,KAAmB,UAAnB,IAAiC,gBAAgBA,OAArD,EAA8D;QAC1D,OAAOsD,wBAAP;MACH;;MACD,OAAOD,sBAAsB,CAAC/a,IAAvB,CAA4B,IAA5B,CAAP;IACH,CALD;EAMH,CA3CD;EA4CA;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI,IAAIib,gBAAgB,GAAG,KAAvB;;EACA,IAAI,OAAOtM,MAAP,KAAkB,WAAtB,EAAmC;IAC/B,IAAI;MACA,IAAIhD,OAAO,GAAGjN,MAAM,CAACkD,cAAP,CAAsB,EAAtB,EAA0B,SAA1B,EAAqC;QAC/CE,GAAG,EAAE,YAAY;UACbmZ,gBAAgB,GAAG,IAAnB;QACH;MAH8C,CAArC,CAAd,CADA,CAMA;MACA;MACA;;MACAtM,MAAM,CAACwD,gBAAP,CAAwB,MAAxB,EAAgCxG,OAAhC,EAAyCA,OAAzC;MACAgD,MAAM,CAACuD,mBAAP,CAA2B,MAA3B,EAAmCvG,OAAnC,EAA4CA,OAA5C;IACH,CAXD,CAYA,OAAOjE,GAAP,EAAY;MACRuT,gBAAgB,GAAG,KAAnB;IACH;EACJ,CA/nDW,CAgoDZ;;;EACA,IAAIC,8BAA8B,GAAG;IACjCrP,IAAI,EAAE;EAD2B,CAArC;EAGA,IAAIsP,oBAAoB,GAAG,EAA3B;EACA,IAAIC,aAAa,GAAG,EAApB;EACA,IAAIC,sBAAsB,GAAG,IAAIC,MAAJ,CAAW,MAAMhM,kBAAN,GAA2B,qBAAtC,CAA7B;EACA,IAAIiM,4BAA4B,GAAG/L,YAAY,CAAC,oBAAD,CAA/C;;EACA,SAASgM,iBAAT,CAA2BzJ,SAA3B,EAAsC0J,iBAAtC,EAAyD;IACrD,IAAIC,cAAc,GAAG,CAACD,iBAAiB,GAAGA,iBAAiB,CAAC1J,SAAD,CAApB,GAAkCA,SAApD,IAAiE1C,SAAtF;IACA,IAAIsM,aAAa,GAAG,CAACF,iBAAiB,GAAGA,iBAAiB,CAAC1J,SAAD,CAApB,GAAkCA,SAApD,IAAiE3C,QAArF;IACA,IAAIhC,MAAM,GAAGkC,kBAAkB,GAAGoM,cAAlC;IACA,IAAIE,aAAa,GAAGtM,kBAAkB,GAAGqM,aAAzC;IACAR,oBAAoB,CAACpJ,SAAD,CAApB,GAAkC,EAAlC;IACAoJ,oBAAoB,CAACpJ,SAAD,CAApB,CAAgC1C,SAAhC,IAA6CjC,MAA7C;IACA+N,oBAAoB,CAACpJ,SAAD,CAApB,CAAgC3C,QAAhC,IAA4CwM,aAA5C;EACH;;EACD,SAASpO,gBAAT,CAA0BmC,OAA1B,EAAmCgE,GAAnC,EAAwCkI,IAAxC,EAA8CC,YAA9C,EAA4D;IACxD,IAAIC,kBAAkB,GAAID,YAAY,IAAIA,YAAY,CAAC/a,GAA9B,IAAsCiO,sBAA/D;IACA,IAAIgN,qBAAqB,GAAIF,YAAY,IAAIA,YAAY,CAACG,EAA9B,IAAqChN,yBAAjE;IACA,IAAIiN,wBAAwB,GAAIJ,YAAY,IAAIA,YAAY,CAACK,SAA9B,IAA4C,gBAA3E;IACA,IAAIC,mCAAmC,GAAIN,YAAY,IAAIA,YAAY,CAACO,KAA9B,IAAwC,oBAAlF;IACA,IAAIC,0BAA0B,GAAG9M,YAAY,CAACuM,kBAAD,CAA7C;IACA,IAAIQ,yBAAyB,GAAG,MAAMR,kBAAN,GAA2B,GAA3D;IACA,IAAIS,sBAAsB,GAAG,iBAA7B;IACA,IAAIC,6BAA6B,GAAG,MAAMD,sBAAN,GAA+B,GAAnE;;IACA,IAAIvV,UAAU,GAAG,UAAUhB,IAAV,EAAgBwC,MAAhB,EAAwBuI,KAAxB,EAA+B;MAC5C;MACA;MACA,IAAI/K,IAAI,CAACyW,SAAT,EAAoB;QAChB;MACH;;MACD,IAAInU,QAAQ,GAAGtC,IAAI,CAACZ,QAApB;;MACA,IAAI,OAAOkD,QAAP,KAAoB,QAApB,IAAgCA,QAAQ,CAACoU,WAA7C,EAA0D;QACtD;QACA1W,IAAI,CAACZ,QAAL,GAAgB,UAAU2L,KAAV,EAAiB;UAAE,OAAOzI,QAAQ,CAACoU,WAAT,CAAqB3L,KAArB,CAAP;QAAqC,CAAxE;;QACA/K,IAAI,CAAC2U,gBAAL,GAAwBrS,QAAxB;MACH,CAX2C,CAY5C;MACA;MACA;MACA;;;MACA,IAAIzC,KAAJ;;MACA,IAAI;QACAG,IAAI,CAACJ,MAAL,CAAYI,IAAZ,EAAkBwC,MAAlB,EAA0B,CAACuI,KAAD,CAA1B;MACH,CAFD,CAGA,OAAOtJ,GAAP,EAAY;QACR5B,KAAK,GAAG4B,GAAR;MACH;;MACD,IAAIiE,OAAO,GAAG1F,IAAI,CAAC0F,OAAnB;;MACA,IAAIA,OAAO,IAAI,OAAOA,OAAP,KAAmB,QAA9B,IAA0CA,OAAO,CAACqK,IAAtD,EAA4D;QACxD;QACA;QACA;QACA,IAAI4G,UAAU,GAAG3W,IAAI,CAAC2U,gBAAL,GAAwB3U,IAAI,CAAC2U,gBAA7B,GAAgD3U,IAAI,CAACZ,QAAtE;QACAoD,MAAM,CAACuT,qBAAD,CAAN,CAA8Bhc,IAA9B,CAAmCyI,MAAnC,EAA2CuI,KAAK,CAACzR,IAAjD,EAAuDqd,UAAvD,EAAmEjR,OAAnE;MACH;;MACD,OAAO7F,KAAP;IACH,CAhCD;;IAiCA,SAAS+W,cAAT,CAAwBC,OAAxB,EAAiC9L,KAAjC,EAAwC+L,SAAxC,EAAmD;MAC/C;MACA;MACA/L,KAAK,GAAGA,KAAK,IAAIrB,OAAO,CAACqB,KAAzB;;MACA,IAAI,CAACA,KAAL,EAAY;QACR;MACH,CAN8C,CAO/C;MACA;;;MACA,IAAIvI,MAAM,GAAGqU,OAAO,IAAI9L,KAAK,CAACvI,MAAjB,IAA2BkH,OAAxC;MACA,IAAIqN,KAAK,GAAGvU,MAAM,CAAC0S,oBAAoB,CAACnK,KAAK,CAACzR,IAAP,CAApB,CAAiCwd,SAAS,GAAG3N,QAAH,GAAcC,SAAxD,CAAD,CAAlB;;MACA,IAAI2N,KAAJ,EAAW;QACP,IAAIjF,MAAM,GAAG,EAAb,CADO,CAEP;QACA;;QACA,IAAIiF,KAAK,CAAC3d,MAAN,KAAiB,CAArB,EAAwB;UACpB,IAAIqI,GAAG,GAAGT,UAAU,CAAC+V,KAAK,CAAC,CAAD,CAAN,EAAWvU,MAAX,EAAmBuI,KAAnB,CAApB;UACAtJ,GAAG,IAAIqQ,MAAM,CAACxX,IAAP,CAAYmH,GAAZ,CAAP;QACH,CAHD,MAIK;UACD;UACA;UACA;UACA,IAAIuV,SAAS,GAAGD,KAAK,CAACja,KAAN,EAAhB;;UACA,KAAK,IAAI5D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8d,SAAS,CAAC5d,MAA9B,EAAsCF,CAAC,EAAvC,EAA2C;YACvC,IAAI6R,KAAK,IAAIA,KAAK,CAACuK,4BAAD,CAAL,KAAwC,IAArD,EAA2D;cACvD;YACH;;YACD,IAAI7T,GAAG,GAAGT,UAAU,CAACgW,SAAS,CAAC9d,CAAD,CAAV,EAAesJ,MAAf,EAAuBuI,KAAvB,CAApB;YACAtJ,GAAG,IAAIqQ,MAAM,CAACxX,IAAP,CAAYmH,GAAZ,CAAP;UACH;QACJ,CApBM,CAqBP;QACA;;;QACA,IAAIqQ,MAAM,CAAC1Y,MAAP,KAAkB,CAAtB,EAAyB;UACrB,MAAM0Y,MAAM,CAAC,CAAD,CAAZ;QACH,CAFD,MAGK;UACD,IAAImF,OAAO,GAAG,UAAU/d,CAAV,EAAa;YACvB,IAAIuI,GAAG,GAAGqQ,MAAM,CAAC5Y,CAAD,CAAhB;YACAwU,GAAG,CAAC9G,uBAAJ,CAA4B,YAAY;cACpC,MAAMnF,GAAN;YACH,CAFD;UAGH,CALD;;UAMA,KAAK,IAAIvI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4Y,MAAM,CAAC1Y,MAA3B,EAAmCF,CAAC,EAApC,EAAwC;YACpC+d,OAAO,CAAC/d,CAAD,CAAP;UACH;QACJ;MACJ;IACJ,CA3FuD,CA4FxD;;;IACA,IAAIge,uBAAuB,GAAG,UAAUnM,KAAV,EAAiB;MAC3C,OAAO6L,cAAc,CAAC,IAAD,EAAO7L,KAAP,EAAc,KAAd,CAArB;IACH,CAFD,CA7FwD,CAgGxD;;;IACA,IAAIoM,8BAA8B,GAAG,UAAUpM,KAAV,EAAiB;MAClD,OAAO6L,cAAc,CAAC,IAAD,EAAO7L,KAAP,EAAc,IAAd,CAArB;IACH,CAFD;;IAGA,SAASqM,uBAAT,CAAiC5L,GAAjC,EAAsCqK,YAAtC,EAAoD;MAChD,IAAI,CAACrK,GAAL,EAAU;QACN,OAAO,KAAP;MACH;;MACD,IAAI6L,iBAAiB,GAAG,IAAxB;;MACA,IAAIxB,YAAY,IAAIA,YAAY,CAACjQ,IAAb,KAAsB7E,SAA1C,EAAqD;QACjDsW,iBAAiB,GAAGxB,YAAY,CAACjQ,IAAjC;MACH;;MACD,IAAI0R,eAAe,GAAGzB,YAAY,IAAIA,YAAY,CAAC0B,EAAnD;MACA,IAAI7Z,cAAc,GAAG,IAArB;;MACA,IAAImY,YAAY,IAAIA,YAAY,CAAC2B,MAAb,KAAwBzW,SAA5C,EAAuD;QACnDrD,cAAc,GAAGmY,YAAY,CAAC2B,MAA9B;MACH;;MACD,IAAIC,YAAY,GAAG,KAAnB;;MACA,IAAI5B,YAAY,IAAIA,YAAY,CAAC6B,EAAb,KAAoB3W,SAAxC,EAAmD;QAC/C0W,YAAY,GAAG5B,YAAY,CAAC6B,EAA5B;MACH;;MACD,IAAI9K,KAAK,GAAGpB,GAAZ;;MACA,OAAOoB,KAAK,IAAI,CAACA,KAAK,CAAC/N,cAAN,CAAqBiX,kBAArB,CAAjB,EAA2D;QACvDlJ,KAAK,GAAGhE,oBAAoB,CAACgE,KAAD,CAA5B;MACH;;MACD,IAAI,CAACA,KAAD,IAAUpB,GAAG,CAACsK,kBAAD,CAAjB,EAAuC;QACnC;QACAlJ,KAAK,GAAGpB,GAAR;MACH;;MACD,IAAI,CAACoB,KAAL,EAAY;QACR,OAAO,KAAP;MACH;;MACD,IAAIA,KAAK,CAACyJ,0BAAD,CAAT,EAAuC;QACnC,OAAO,KAAP;MACH;;MACD,IAAIb,iBAAiB,GAAGK,YAAY,IAAIA,YAAY,CAACL,iBAArD,CA/BgD,CAgChD;MACA;;MACA,IAAImC,QAAQ,GAAG,EAAf;MACA,IAAIC,sBAAsB,GAAGhL,KAAK,CAACyJ,0BAAD,CAAL,GAAoCzJ,KAAK,CAACkJ,kBAAD,CAAtE;MACA,IAAI+B,yBAAyB,GAAGjL,KAAK,CAACrD,YAAY,CAACwM,qBAAD,CAAb,CAAL,GAC5BnJ,KAAK,CAACmJ,qBAAD,CADT;MAEA,IAAI+B,eAAe,GAAGlL,KAAK,CAACrD,YAAY,CAAC0M,wBAAD,CAAb,CAAL,GAClBrJ,KAAK,CAACqJ,wBAAD,CADT;MAEA,IAAI8B,wBAAwB,GAAGnL,KAAK,CAACrD,YAAY,CAAC4M,mCAAD,CAAb,CAAL,GAC3BvJ,KAAK,CAACuJ,mCAAD,CADT;MAEA,IAAI6B,0BAAJ;;MACA,IAAInC,YAAY,IAAIA,YAAY,CAACoC,OAAjC,EAA0C;QACtCD,0BAA0B,GAAGpL,KAAK,CAACrD,YAAY,CAACsM,YAAY,CAACoC,OAAd,CAAb,CAAL,GACzBrL,KAAK,CAACiJ,YAAY,CAACoC,OAAd,CADT;MAEH;MACD;AACZ;AACA;AACA;;;MACY,SAASC,yBAAT,CAAmCxS,OAAnC,EAA4CyS,OAA5C,EAAqD;QACjD,IAAI,CAACnD,gBAAD,IAAqB,OAAOtP,OAAP,KAAmB,QAAxC,IAAoDA,OAAxD,EAAiE;UAC7D;UACA;UACA;UACA,OAAO,CAAC,CAACA,OAAO,CAAC0S,OAAjB;QACH;;QACD,IAAI,CAACpD,gBAAD,IAAqB,CAACmD,OAA1B,EAAmC;UAC/B,OAAOzS,OAAP;QACH;;QACD,IAAI,OAAOA,OAAP,KAAmB,SAAvB,EAAkC;UAC9B,OAAO;YAAE0S,OAAO,EAAE1S,OAAX;YAAoByS,OAAO,EAAE;UAA7B,CAAP;QACH;;QACD,IAAI,CAACzS,OAAL,EAAc;UACV,OAAO;YAAEyS,OAAO,EAAE;UAAX,CAAP;QACH;;QACD,IAAI,OAAOzS,OAAP,KAAmB,QAAnB,IAA+BA,OAAO,CAACyS,OAAR,KAAoB,KAAvD,EAA8D;UAC1D,OAAO1f,MAAM,CAAC4f,MAAP,CAAc5f,MAAM,CAAC4f,MAAP,CAAc,EAAd,EAAkB3S,OAAlB,CAAd,EAA0C;YAAEyS,OAAO,EAAE;UAAX,CAA1C,CAAP;QACH;;QACD,OAAOzS,OAAP;MACH;;MACD,IAAI4S,oBAAoB,GAAG,UAAUtY,IAAV,EAAgB;QACvC;QACA;QACA,IAAI2X,QAAQ,CAACY,UAAb,EAAyB;UACrB;QACH;;QACD,OAAOX,sBAAsB,CAAC7d,IAAvB,CAA4B4d,QAAQ,CAACnV,MAArC,EAA6CmV,QAAQ,CAAC7L,SAAtD,EAAiE6L,QAAQ,CAACS,OAAT,GAAmBjB,8BAAnB,GAAoDD,uBAArH,EAA8IS,QAAQ,CAACjS,OAAvJ,CAAP;MACH,CAPD;;MAQA,IAAI8S,kBAAkB,GAAG,UAAUxY,IAAV,EAAgB;QACrC;QACA;QACA;QACA,IAAI,CAACA,IAAI,CAACyW,SAAV,EAAqB;UACjB,IAAIgC,gBAAgB,GAAGvD,oBAAoB,CAAClV,IAAI,CAAC8L,SAAN,CAA3C;UACA,IAAI4M,eAAe,GAAG,KAAK,CAA3B;;UACA,IAAID,gBAAJ,EAAsB;YAClBC,eAAe,GAAGD,gBAAgB,CAACzY,IAAI,CAACoY,OAAL,GAAejP,QAAf,GAA0BC,SAA3B,CAAlC;UACH;;UACD,IAAIuP,aAAa,GAAGD,eAAe,IAAI1Y,IAAI,CAACwC,MAAL,CAAYkW,eAAZ,CAAvC;;UACA,IAAIC,aAAJ,EAAmB;YACf,KAAK,IAAIzf,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyf,aAAa,CAACvf,MAAlC,EAA0CF,CAAC,EAA3C,EAA+C;cAC3C,IAAI0f,YAAY,GAAGD,aAAa,CAACzf,CAAD,CAAhC;;cACA,IAAI0f,YAAY,KAAK5Y,IAArB,EAA2B;gBACvB2Y,aAAa,CAACtd,MAAd,CAAqBnC,CAArB,EAAwB,CAAxB,EADuB,CAEvB;;gBACA8G,IAAI,CAACyW,SAAL,GAAiB,IAAjB;;gBACA,IAAIkC,aAAa,CAACvf,MAAd,KAAyB,CAA7B,EAAgC;kBAC5B;kBACA;kBACA4G,IAAI,CAAC6Y,UAAL,GAAkB,IAAlB;kBACA7Y,IAAI,CAACwC,MAAL,CAAYkW,eAAZ,IAA+B,IAA/B;gBACH;;gBACD;cACH;YACJ;UACJ;QACJ,CA5BoC,CA6BrC;QACA;QACA;;;QACA,IAAI,CAAC1Y,IAAI,CAAC6Y,UAAV,EAAsB;UAClB;QACH;;QACD,OAAOhB,yBAAyB,CAAC9d,IAA1B,CAA+BiG,IAAI,CAACwC,MAApC,EAA4CxC,IAAI,CAAC8L,SAAjD,EAA4D9L,IAAI,CAACoY,OAAL,GAAejB,8BAAf,GAAgDD,uBAA5G,EAAqIlX,IAAI,CAAC0F,OAA1I,CAAP;MACH,CApCD;;MAqCA,IAAIoT,uBAAuB,GAAG,UAAU9Y,IAAV,EAAgB;QAC1C,OAAO4X,sBAAsB,CAAC7d,IAAvB,CAA4B4d,QAAQ,CAACnV,MAArC,EAA6CmV,QAAQ,CAAC7L,SAAtD,EAAiE9L,IAAI,CAACJ,MAAtE,EAA8E+X,QAAQ,CAACjS,OAAvF,CAAP;MACH,CAFD;;MAGA,IAAIqT,qBAAqB,GAAG,UAAU/Y,IAAV,EAAgB;QACxC,OAAOgY,0BAA0B,CAACje,IAA3B,CAAgC4d,QAAQ,CAACnV,MAAzC,EAAiDmV,QAAQ,CAAC7L,SAA1D,EAAqE9L,IAAI,CAACJ,MAA1E,EAAkF+X,QAAQ,CAACjS,OAA3F,CAAP;MACH,CAFD;;MAGA,IAAIsT,qBAAqB,GAAG,UAAUhZ,IAAV,EAAgB;QACxC,OAAO6X,yBAAyB,CAAC9d,IAA1B,CAA+BiG,IAAI,CAACwC,MAApC,EAA4CxC,IAAI,CAAC8L,SAAjD,EAA4D9L,IAAI,CAACJ,MAAjE,EAAyEI,IAAI,CAAC0F,OAA9E,CAAP;MACH,CAFD;;MAGA,IAAI/D,cAAc,GAAG0V,iBAAiB,GAAGiB,oBAAH,GAA0BQ,uBAAhE;MACA,IAAI/W,YAAY,GAAGsV,iBAAiB,GAAGmB,kBAAH,GAAwBQ,qBAA5D;;MACA,IAAIC,6BAA6B,GAAG,UAAUjZ,IAAV,EAAgBsC,QAAhB,EAA0B;QAC1D,IAAI4W,cAAc,GAAG,OAAO5W,QAA5B;QACA,OAAQ4W,cAAc,KAAK,UAAnB,IAAiClZ,IAAI,CAACZ,QAAL,KAAkBkD,QAApD,IACF4W,cAAc,KAAK,QAAnB,IAA+BlZ,IAAI,CAAC2U,gBAAL,KAA0BrS,QAD9D;MAEH,CAJD;;MAKA,IAAI6W,OAAO,GAAItD,YAAY,IAAIA,YAAY,CAACuD,IAA9B,GAAsCvD,YAAY,CAACuD,IAAnD,GAA0DH,6BAAxE;MACA,IAAII,eAAe,GAAG1b,IAAI,CAAC4L,YAAY,CAAC,kBAAD,CAAb,CAA1B;;MACA,IAAI+P,aAAa,GAAG5P,OAAO,CAACH,YAAY,CAAC,gBAAD,CAAb,CAA3B;;MACA,IAAIgQ,eAAe,GAAG,UAAUC,cAAV,EAA0BC,SAA1B,EAAqCC,gBAArC,EAAuDC,cAAvD,EAAuElC,YAAvE,EAAqFQ,OAArF,EAA8F;QAChH,IAAIR,YAAY,KAAK,KAAK,CAA1B,EAA6B;UAAEA,YAAY,GAAG,KAAf;QAAuB;;QACtD,IAAIQ,OAAO,KAAK,KAAK,CAArB,EAAwB;UAAEA,OAAO,GAAG,KAAV;QAAkB;;QAC5C,OAAO,YAAY;UACf,IAAIzV,MAAM,GAAG,QAAQkH,OAArB;UACA,IAAIoC,SAAS,GAAG9Q,SAAS,CAAC,CAAD,CAAzB;;UACA,IAAI6a,YAAY,IAAIA,YAAY,CAAC+D,iBAAjC,EAAoD;YAChD9N,SAAS,GAAG+J,YAAY,CAAC+D,iBAAb,CAA+B9N,SAA/B,CAAZ;UACH;;UACD,IAAIxJ,QAAQ,GAAGtH,SAAS,CAAC,CAAD,CAAxB;;UACA,IAAI,CAACsH,QAAL,EAAe;YACX,OAAOkX,cAAc,CAACvU,KAAf,CAAqB,IAArB,EAA2BjK,SAA3B,CAAP;UACH;;UACD,IAAIyP,MAAM,IAAIqB,SAAS,KAAK,mBAA5B,EAAiD;YAC7C;YACA,OAAO0N,cAAc,CAACvU,KAAf,CAAqB,IAArB,EAA2BjK,SAA3B,CAAP;UACH,CAbc,CAcf;UACA;UACA;;;UACA,IAAI6e,aAAa,GAAG,KAApB;;UACA,IAAI,OAAOvX,QAAP,KAAoB,UAAxB,EAAoC;YAChC,IAAI,CAACA,QAAQ,CAACoU,WAAd,EAA2B;cACvB,OAAO8C,cAAc,CAACvU,KAAf,CAAqB,IAArB,EAA2BjK,SAA3B,CAAP;YACH;;YACD6e,aAAa,GAAG,IAAhB;UACH;;UACD,IAAIvC,eAAe,IAAI,CAACA,eAAe,CAACkC,cAAD,EAAiBlX,QAAjB,EAA2BE,MAA3B,EAAmCxH,SAAnC,CAAvC,EAAsF;YAClF;UACH;;UACD,IAAImd,OAAO,GAAGnD,gBAAgB,IAAI,CAAC,CAACsE,aAAtB,IAAuCA,aAAa,CAACtgB,OAAd,CAAsB8S,SAAtB,MAAqC,CAAC,CAA3F;UACA,IAAIpG,OAAO,GAAGwS,yBAAyB,CAACld,SAAS,CAAC,CAAD,CAAV,EAAemd,OAAf,CAAvC;;UACA,IAAIkB,eAAJ,EAAqB;YACjB;YACA,KAAK,IAAIngB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmgB,eAAe,CAACjgB,MAApC,EAA4CF,CAAC,EAA7C,EAAiD;cAC7C,IAAI4S,SAAS,KAAKuN,eAAe,CAACngB,CAAD,CAAjC,EAAsC;gBAClC,IAAIif,OAAJ,EAAa;kBACT,OAAOqB,cAAc,CAACzf,IAAf,CAAoByI,MAApB,EAA4BsJ,SAA5B,EAAuCxJ,QAAvC,EAAiDoD,OAAjD,CAAP;gBACH,CAFD,MAGK;kBACD,OAAO8T,cAAc,CAACvU,KAAf,CAAqB,IAArB,EAA2BjK,SAA3B,CAAP;gBACH;cACJ;YACJ;UACJ;;UACD,IAAIod,OAAO,GAAG,CAAC1S,OAAD,GAAW,KAAX,GAAmB,OAAOA,OAAP,KAAmB,SAAnB,GAA+B,IAA/B,GAAsCA,OAAO,CAAC0S,OAA/E;UACA,IAAIrI,IAAI,GAAGrK,OAAO,IAAI,OAAOA,OAAP,KAAmB,QAA9B,GAAyCA,OAAO,CAACqK,IAAjD,GAAwD,KAAnE;UACA,IAAIzR,IAAI,GAAGX,IAAI,CAACY,OAAhB;UACA,IAAIka,gBAAgB,GAAGvD,oBAAoB,CAACpJ,SAAD,CAA3C;;UACA,IAAI,CAAC2M,gBAAL,EAAuB;YACnBlD,iBAAiB,CAACzJ,SAAD,EAAY0J,iBAAZ,CAAjB;YACAiD,gBAAgB,GAAGvD,oBAAoB,CAACpJ,SAAD,CAAvC;UACH;;UACD,IAAI4M,eAAe,GAAGD,gBAAgB,CAACL,OAAO,GAAGjP,QAAH,GAAcC,SAAtB,CAAtC;UACA,IAAIuP,aAAa,GAAGnW,MAAM,CAACkW,eAAD,CAA1B;UACA,IAAIH,UAAU,GAAG,KAAjB;;UACA,IAAII,aAAJ,EAAmB;YACf;YACAJ,UAAU,GAAG,IAAb;;YACA,IAAI7a,cAAJ,EAAoB;cAChB,KAAK,IAAIxE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyf,aAAa,CAACvf,MAAlC,EAA0CF,CAAC,EAA3C,EAA+C;gBAC3C,IAAIigB,OAAO,CAACR,aAAa,CAACzf,CAAD,CAAd,EAAmBoJ,QAAnB,CAAX,EAAyC;kBACrC;kBACA;gBACH;cACJ;YACJ;UACJ,CAXD,MAYK;YACDqW,aAAa,GAAGnW,MAAM,CAACkW,eAAD,CAAN,GAA0B,EAA1C;UACH;;UACD,IAAIrZ,MAAJ;UACA,IAAIya,eAAe,GAAGtX,MAAM,CAACsH,WAAP,CAAmB,MAAnB,CAAtB;UACA,IAAIiQ,YAAY,GAAG5E,aAAa,CAAC2E,eAAD,CAAhC;;UACA,IAAIC,YAAJ,EAAkB;YACd1a,MAAM,GAAG0a,YAAY,CAACjO,SAAD,CAArB;UACH;;UACD,IAAI,CAACzM,MAAL,EAAa;YACTA,MAAM,GAAGya,eAAe,GAAGL,SAAlB,IACJjE,iBAAiB,GAAGA,iBAAiB,CAAC1J,SAAD,CAApB,GAAkCA,SAD/C,CAAT;UAEH,CA7Ec,CA8Ef;UACA;;;UACA6L,QAAQ,CAACjS,OAAT,GAAmBA,OAAnB;;UACA,IAAIqK,IAAJ,EAAU;YACN;YACA;YACA;YACA4H,QAAQ,CAACjS,OAAT,CAAiBqK,IAAjB,GAAwB,KAAxB;UACH;;UACD4H,QAAQ,CAACnV,MAAT,GAAkBA,MAAlB;UACAmV,QAAQ,CAACS,OAAT,GAAmBA,OAAnB;UACAT,QAAQ,CAAC7L,SAAT,GAAqBA,SAArB;UACA6L,QAAQ,CAACY,UAAT,GAAsBA,UAAtB;UACA,IAAI3X,IAAI,GAAGyW,iBAAiB,GAAGpC,8BAAH,GAAoClU,SAAhE,CA3Fe,CA4Ff;;UACA,IAAIH,IAAJ,EAAU;YACNA,IAAI,CAAC+W,QAAL,GAAgBA,QAAhB;UACH;;UACD,IAAI3X,IAAI,GAAG1B,IAAI,CAAC0D,iBAAL,CAAuB3C,MAAvB,EAA+BiD,QAA/B,EAAyC1B,IAAzC,EAA+C8Y,gBAA/C,EAAiEC,cAAjE,CAAX,CAhGe,CAiGf;UACA;;UACAhC,QAAQ,CAACnV,MAAT,GAAkB,IAAlB,CAnGe,CAoGf;;UACA,IAAI5B,IAAJ,EAAU;YACNA,IAAI,CAAC+W,QAAL,GAAgB,IAAhB;UACH,CAvGc,CAwGf;UACA;;;UACA,IAAI5H,IAAJ,EAAU;YACNrK,OAAO,CAACqK,IAAR,GAAe,IAAf;UACH;;UACD,IAAI,EAAE,CAACiF,gBAAD,IAAqB,OAAOhV,IAAI,CAAC0F,OAAZ,KAAwB,SAA/C,CAAJ,EAA+D;YAC3D;YACA;YACA1F,IAAI,CAAC0F,OAAL,GAAeA,OAAf;UACH;;UACD1F,IAAI,CAACwC,MAAL,GAAcA,MAAd;UACAxC,IAAI,CAACoY,OAAL,GAAeA,OAAf;UACApY,IAAI,CAAC8L,SAAL,GAAiBA,SAAjB;;UACA,IAAI+N,aAAJ,EAAmB;YACf;YACA7Z,IAAI,CAAC2U,gBAAL,GAAwBrS,QAAxB;UACH;;UACD,IAAI,CAAC2V,OAAL,EAAc;YACVU,aAAa,CAACre,IAAd,CAAmB0F,IAAnB;UACH,CAFD,MAGK;YACD2Y,aAAa,CAACqB,OAAd,CAAsBha,IAAtB;UACH;;UACD,IAAIyX,YAAJ,EAAkB;YACd,OAAOjV,MAAP;UACH;QACJ,CAlID;MAmIH,CAtID;;MAuIAoK,KAAK,CAACkJ,kBAAD,CAAL,GAA4ByD,eAAe,CAAC3B,sBAAD,EAAyBtB,yBAAzB,EAAoD3U,cAApD,EAAoEI,YAApE,EAAkF0V,YAAlF,CAA3C;;MACA,IAAIO,0BAAJ,EAAgC;QAC5BpL,KAAK,CAAC2J,sBAAD,CAAL,GAAgCgD,eAAe,CAACvB,0BAAD,EAA6BxB,6BAA7B,EAA4DuC,qBAA5D,EAAmFhX,YAAnF,EAAiG0V,YAAjG,EAA+G,IAA/G,CAA/C;MACH;;MACD7K,KAAK,CAACmJ,qBAAD,CAAL,GAA+B,YAAY;QACvC,IAAIvT,MAAM,GAAG,QAAQkH,OAArB;QACA,IAAIoC,SAAS,GAAG9Q,SAAS,CAAC,CAAD,CAAzB;;QACA,IAAI6a,YAAY,IAAIA,YAAY,CAAC+D,iBAAjC,EAAoD;UAChD9N,SAAS,GAAG+J,YAAY,CAAC+D,iBAAb,CAA+B9N,SAA/B,CAAZ;QACH;;QACD,IAAIpG,OAAO,GAAG1K,SAAS,CAAC,CAAD,CAAvB;QACA,IAAIod,OAAO,GAAG,CAAC1S,OAAD,GAAW,KAAX,GAAmB,OAAOA,OAAP,KAAmB,SAAnB,GAA+B,IAA/B,GAAsCA,OAAO,CAAC0S,OAA/E;QACA,IAAI9V,QAAQ,GAAGtH,SAAS,CAAC,CAAD,CAAxB;;QACA,IAAI,CAACsH,QAAL,EAAe;UACX,OAAOuV,yBAAyB,CAAC5S,KAA1B,CAAgC,IAAhC,EAAsCjK,SAAtC,CAAP;QACH;;QACD,IAAIsc,eAAe,IACf,CAACA,eAAe,CAACO,yBAAD,EAA4BvV,QAA5B,EAAsCE,MAAtC,EAA8CxH,SAA9C,CADpB,EAC8E;UAC1E;QACH;;QACD,IAAIyd,gBAAgB,GAAGvD,oBAAoB,CAACpJ,SAAD,CAA3C;QACA,IAAI4M,eAAJ;;QACA,IAAID,gBAAJ,EAAsB;UAClBC,eAAe,GAAGD,gBAAgB,CAACL,OAAO,GAAGjP,QAAH,GAAcC,SAAtB,CAAlC;QACH;;QACD,IAAIuP,aAAa,GAAGD,eAAe,IAAIlW,MAAM,CAACkW,eAAD,CAA7C;;QACA,IAAIC,aAAJ,EAAmB;UACf,KAAK,IAAIzf,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyf,aAAa,CAACvf,MAAlC,EAA0CF,CAAC,EAA3C,EAA+C;YAC3C,IAAI0f,YAAY,GAAGD,aAAa,CAACzf,CAAD,CAAhC;;YACA,IAAIigB,OAAO,CAACP,YAAD,EAAetW,QAAf,CAAX,EAAqC;cACjCqW,aAAa,CAACtd,MAAd,CAAqBnC,CAArB,EAAwB,CAAxB,EADiC,CAEjC;;cACA0f,YAAY,CAACnC,SAAb,GAAyB,IAAzB;;cACA,IAAIkC,aAAa,CAACvf,MAAd,KAAyB,CAA7B,EAAgC;gBAC5B;gBACA;gBACAwf,YAAY,CAACC,UAAb,GAA0B,IAA1B;gBACArW,MAAM,CAACkW,eAAD,CAAN,GAA0B,IAA1B,CAJ4B,CAK5B;gBACA;gBACA;;gBACA,IAAI,OAAO5M,SAAP,KAAqB,QAAzB,EAAmC;kBAC/B,IAAImO,gBAAgB,GAAG5Q,kBAAkB,GAAG,aAArB,GAAqCyC,SAA5D;kBACAtJ,MAAM,CAACyX,gBAAD,CAAN,GAA2B,IAA3B;gBACH;cACJ;;cACDrB,YAAY,CAACta,IAAb,CAAkB2D,UAAlB,CAA6B2W,YAA7B;;cACA,IAAInB,YAAJ,EAAkB;gBACd,OAAOjV,MAAP;cACH;;cACD;YACH;UACJ;QACJ,CAjDsC,CAkDvC;QACA;QACA;QACA;;;QACA,OAAOqV,yBAAyB,CAAC5S,KAA1B,CAAgC,IAAhC,EAAsCjK,SAAtC,CAAP;MACH,CAvDD;;MAwDA4R,KAAK,CAACqJ,wBAAD,CAAL,GAAkC,YAAY;QAC1C,IAAIzT,MAAM,GAAG,QAAQkH,OAArB;QACA,IAAIoC,SAAS,GAAG9Q,SAAS,CAAC,CAAD,CAAzB;;QACA,IAAI6a,YAAY,IAAIA,YAAY,CAAC+D,iBAAjC,EAAoD;UAChD9N,SAAS,GAAG+J,YAAY,CAAC+D,iBAAb,CAA+B9N,SAA/B,CAAZ;QACH;;QACD,IAAIoK,SAAS,GAAG,EAAhB;QACA,IAAIa,KAAK,GAAGmD,cAAc,CAAC1X,MAAD,EAASgT,iBAAiB,GAAGA,iBAAiB,CAAC1J,SAAD,CAApB,GAAkCA,SAA5D,CAA1B;;QACA,KAAK,IAAI5S,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6d,KAAK,CAAC3d,MAA1B,EAAkCF,CAAC,EAAnC,EAAuC;UACnC,IAAI8G,IAAI,GAAG+W,KAAK,CAAC7d,CAAD,CAAhB;UACA,IAAIoJ,QAAQ,GAAGtC,IAAI,CAAC2U,gBAAL,GAAwB3U,IAAI,CAAC2U,gBAA7B,GAAgD3U,IAAI,CAACZ,QAApE;UACA8W,SAAS,CAAC5b,IAAV,CAAegI,QAAf;QACH;;QACD,OAAO4T,SAAP;MACH,CAdD;;MAeAtJ,KAAK,CAACuJ,mCAAD,CAAL,GAA6C,YAAY;QACrD,IAAI3T,MAAM,GAAG,QAAQkH,OAArB;QACA,IAAIoC,SAAS,GAAG9Q,SAAS,CAAC,CAAD,CAAzB;;QACA,IAAI,CAAC8Q,SAAL,EAAgB;UACZ,IAAIqO,IAAI,GAAG1hB,MAAM,CAAC0hB,IAAP,CAAY3X,MAAZ,CAAX;;UACA,KAAK,IAAItJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGihB,IAAI,CAAC/gB,MAAzB,EAAiCF,CAAC,EAAlC,EAAsC;YAClC,IAAIuS,IAAI,GAAG0O,IAAI,CAACjhB,CAAD,CAAf;YACA,IAAIkhB,KAAK,GAAGhF,sBAAsB,CAACiF,IAAvB,CAA4B5O,IAA5B,CAAZ;YACA,IAAI6O,OAAO,GAAGF,KAAK,IAAIA,KAAK,CAAC,CAAD,CAA5B,CAHkC,CAIlC;YACA;YACA;YACA;;YACA,IAAIE,OAAO,IAAIA,OAAO,KAAK,gBAA3B,EAA6C;cACzC,KAAKnE,mCAAL,EAA0Cpc,IAA1C,CAA+C,IAA/C,EAAqDugB,OAArD;YACH;UACJ,CAbW,CAcZ;;;UACA,KAAKnE,mCAAL,EAA0Cpc,IAA1C,CAA+C,IAA/C,EAAqD,gBAArD;QACH,CAhBD,MAiBK;UACD,IAAI8b,YAAY,IAAIA,YAAY,CAAC+D,iBAAjC,EAAoD;YAChD9N,SAAS,GAAG+J,YAAY,CAAC+D,iBAAb,CAA+B9N,SAA/B,CAAZ;UACH;;UACD,IAAI2M,gBAAgB,GAAGvD,oBAAoB,CAACpJ,SAAD,CAA3C;;UACA,IAAI2M,gBAAJ,EAAsB;YAClB,IAAIC,eAAe,GAAGD,gBAAgB,CAACrP,SAAD,CAAtC;YACA,IAAImR,sBAAsB,GAAG9B,gBAAgB,CAACtP,QAAD,CAA7C;YACA,IAAI4N,KAAK,GAAGvU,MAAM,CAACkW,eAAD,CAAlB;YACA,IAAI8B,YAAY,GAAGhY,MAAM,CAAC+X,sBAAD,CAAzB;;YACA,IAAIxD,KAAJ,EAAW;cACP,IAAI0D,WAAW,GAAG1D,KAAK,CAACja,KAAN,EAAlB;;cACA,KAAK,IAAI5D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGuhB,WAAW,CAACrhB,MAAhC,EAAwCF,CAAC,EAAzC,EAA6C;gBACzC,IAAI8G,IAAI,GAAGya,WAAW,CAACvhB,CAAD,CAAtB;gBACA,IAAIoJ,QAAQ,GAAGtC,IAAI,CAAC2U,gBAAL,GAAwB3U,IAAI,CAAC2U,gBAA7B,GAAgD3U,IAAI,CAACZ,QAApE;gBACA,KAAK2W,qBAAL,EAA4Bhc,IAA5B,CAAiC,IAAjC,EAAuC+R,SAAvC,EAAkDxJ,QAAlD,EAA4DtC,IAAI,CAAC0F,OAAjE;cACH;YACJ;;YACD,IAAI8U,YAAJ,EAAkB;cACd,IAAIC,WAAW,GAAGD,YAAY,CAAC1d,KAAb,EAAlB;;cACA,KAAK,IAAI5D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGuhB,WAAW,CAACrhB,MAAhC,EAAwCF,CAAC,EAAzC,EAA6C;gBACzC,IAAI8G,IAAI,GAAGya,WAAW,CAACvhB,CAAD,CAAtB;gBACA,IAAIoJ,QAAQ,GAAGtC,IAAI,CAAC2U,gBAAL,GAAwB3U,IAAI,CAAC2U,gBAA7B,GAAgD3U,IAAI,CAACZ,QAApE;gBACA,KAAK2W,qBAAL,EAA4Bhc,IAA5B,CAAiC,IAAjC,EAAuC+R,SAAvC,EAAkDxJ,QAAlD,EAA4DtC,IAAI,CAAC0F,OAAjE;cACH;YACJ;UACJ;QACJ;;QACD,IAAI+R,YAAJ,EAAkB;UACd,OAAO,IAAP;QACH;MACJ,CAnDD,CA1VgD,CA8YhD;;;MACAlP,qBAAqB,CAACqE,KAAK,CAACkJ,kBAAD,CAAN,EAA4B8B,sBAA5B,CAArB;MACArP,qBAAqB,CAACqE,KAAK,CAACmJ,qBAAD,CAAN,EAA+B8B,yBAA/B,CAArB;;MACA,IAAIE,wBAAJ,EAA8B;QAC1BxP,qBAAqB,CAACqE,KAAK,CAACuJ,mCAAD,CAAN,EAA6C4B,wBAA7C,CAArB;MACH;;MACD,IAAID,eAAJ,EAAqB;QACjBvP,qBAAqB,CAACqE,KAAK,CAACqJ,wBAAD,CAAN,EAAkC6B,eAAlC,CAArB;MACH;;MACD,OAAO,IAAP;IACH;;IACD,IAAI4C,OAAO,GAAG,EAAd;;IACA,KAAK,IAAIxhB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0c,IAAI,CAACxc,MAAzB,EAAiCF,CAAC,EAAlC,EAAsC;MAClCwhB,OAAO,CAACxhB,CAAD,CAAP,GAAake,uBAAuB,CAACxB,IAAI,CAAC1c,CAAD,CAAL,EAAU2c,YAAV,CAApC;IACH;;IACD,OAAO6E,OAAP;EACH;;EACD,SAASR,cAAT,CAAwB1X,MAAxB,EAAgCsJ,SAAhC,EAA2C;IACvC,IAAI,CAACA,SAAL,EAAgB;MACZ,IAAI6O,UAAU,GAAG,EAAjB;;MACA,KAAK,IAAIlP,IAAT,IAAiBjJ,MAAjB,EAAyB;QACrB,IAAI4X,KAAK,GAAGhF,sBAAsB,CAACiF,IAAvB,CAA4B5O,IAA5B,CAAZ;QACA,IAAI6O,OAAO,GAAGF,KAAK,IAAIA,KAAK,CAAC,CAAD,CAA5B;;QACA,IAAIE,OAAO,KAAK,CAACxO,SAAD,IAAcwO,OAAO,KAAKxO,SAA/B,CAAX,EAAsD;UAClD,IAAIiL,KAAK,GAAGvU,MAAM,CAACiJ,IAAD,CAAlB;;UACA,IAAIsL,KAAJ,EAAW;YACP,KAAK,IAAI7d,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6d,KAAK,CAAC3d,MAA1B,EAAkCF,CAAC,EAAnC,EAAuC;cACnCyhB,UAAU,CAACrgB,IAAX,CAAgByc,KAAK,CAAC7d,CAAD,CAArB;YACH;UACJ;QACJ;MACJ;;MACD,OAAOyhB,UAAP;IACH;;IACD,IAAIjC,eAAe,GAAGxD,oBAAoB,CAACpJ,SAAD,CAA1C;;IACA,IAAI,CAAC4M,eAAL,EAAsB;MAClBnD,iBAAiB,CAACzJ,SAAD,CAAjB;MACA4M,eAAe,GAAGxD,oBAAoB,CAACpJ,SAAD,CAAtC;IACH;;IACD,IAAI8O,iBAAiB,GAAGpY,MAAM,CAACkW,eAAe,CAACtP,SAAD,CAAhB,CAA9B;IACA,IAAIyR,gBAAgB,GAAGrY,MAAM,CAACkW,eAAe,CAACvP,QAAD,CAAhB,CAA7B;;IACA,IAAI,CAACyR,iBAAL,EAAwB;MACpB,OAAOC,gBAAgB,GAAGA,gBAAgB,CAAC/d,KAAjB,EAAH,GAA8B,EAArD;IACH,CAFD,MAGK;MACD,OAAO+d,gBAAgB,GAAGD,iBAAiB,CAAC7d,MAAlB,CAAyB8d,gBAAzB,CAAH,GACnBD,iBAAiB,CAAC9d,KAAlB,EADJ;IAEH;EACJ;;EACD,SAAS+K,mBAAT,CAA6B1K,MAA7B,EAAqCuQ,GAArC,EAA0C;IACtC,IAAIoN,KAAK,GAAG3d,MAAM,CAAC,OAAD,CAAlB;;IACA,IAAI2d,KAAK,IAAIA,KAAK,CAACve,SAAnB,EAA8B;MAC1BmR,GAAG,CAACjG,WAAJ,CAAgBqT,KAAK,CAACve,SAAtB,EAAiC,0BAAjC,EAA6D,UAAU+F,QAAV,EAAoB;QAAE,OAAO,UAAUvK,IAAV,EAAgB8N,IAAhB,EAAsB;UAC5G9N,IAAI,CAACud,4BAAD,CAAJ,GAAqC,IAArC,CAD4G,CAE5G;UACA;UACA;;UACAhT,QAAQ,IAAIA,QAAQ,CAAC2C,KAAT,CAAelN,IAAf,EAAqB8N,IAArB,CAAZ;QACH,CANkF;MAM/E,CANJ;IAOH;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI,SAAS4C,cAAT,CAAwBiF,GAAxB,EAA6BlL,MAA7B,EAAqCuY,UAArC,EAAiDtf,MAAjD,EAAyDuf,SAAzD,EAAoE;IAChE,IAAI7T,MAAM,GAAGxJ,IAAI,CAACF,UAAL,CAAgBhC,MAAhB,CAAb;;IACA,IAAI+G,MAAM,CAAC2E,MAAD,CAAV,EAAoB;MAChB;IACH;;IACD,IAAI8T,cAAc,GAAGzY,MAAM,CAAC2E,MAAD,CAAN,GAAiB3E,MAAM,CAAC/G,MAAD,CAA5C;;IACA+G,MAAM,CAAC/G,MAAD,CAAN,GAAiB,UAAUjC,IAAV,EAAgB0hB,IAAhB,EAAsBxV,OAAtB,EAA+B;MAC5C,IAAIwV,IAAI,IAAIA,IAAI,CAAC3e,SAAjB,EAA4B;QACxBye,SAAS,CAACG,OAAV,CAAkB,UAAU/b,QAAV,EAAoB;UAClC,IAAIC,MAAM,GAAG,GAAGtC,MAAH,CAAUge,UAAV,EAAsB,GAAtB,EAA2Bhe,MAA3B,CAAkCtB,MAAlC,EAA0C,IAA1C,IAAkD2D,QAA/D;UACA,IAAI7C,SAAS,GAAG2e,IAAI,CAAC3e,SAArB,CAFkC,CAGlC;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UACA,IAAI;YACA,IAAIA,SAAS,CAACsC,cAAV,CAAyBO,QAAzB,CAAJ,EAAwC;cACpC,IAAIgc,UAAU,GAAG1N,GAAG,CAACzF,8BAAJ,CAAmC1L,SAAnC,EAA8C6C,QAA9C,CAAjB;;cACA,IAAIgc,UAAU,IAAIA,UAAU,CAAChW,KAA7B,EAAoC;gBAChCgW,UAAU,CAAChW,KAAX,GAAmBsI,GAAG,CAACrF,mBAAJ,CAAwB+S,UAAU,CAAChW,KAAnC,EAA0C/F,MAA1C,CAAnB;;gBACAqO,GAAG,CAAClF,iBAAJ,CAAsB0S,IAAI,CAAC3e,SAA3B,EAAsC6C,QAAtC,EAAgDgc,UAAhD;cACH,CAHD,MAIK,IAAI7e,SAAS,CAAC6C,QAAD,CAAb,EAAyB;gBAC1B7C,SAAS,CAAC6C,QAAD,CAAT,GAAsBsO,GAAG,CAACrF,mBAAJ,CAAwB9L,SAAS,CAAC6C,QAAD,CAAjC,EAA6CC,MAA7C,CAAtB;cACH;YACJ,CATD,MAUK,IAAI9C,SAAS,CAAC6C,QAAD,CAAb,EAAyB;cAC1B7C,SAAS,CAAC6C,QAAD,CAAT,GAAsBsO,GAAG,CAACrF,mBAAJ,CAAwB9L,SAAS,CAAC6C,QAAD,CAAjC,EAA6CC,MAA7C,CAAtB;YACH;UACJ,CAdD,CAeA,OAAOkU,EAAP,EAAW,CACP;YACA;UACH;QACJ,CA9BD;MA+BH;;MACD,OAAO0H,cAAc,CAAClhB,IAAf,CAAoByI,MAApB,EAA4BhJ,IAA5B,EAAkC0hB,IAAlC,EAAwCxV,OAAxC,CAAP;IACH,CAnCD;;IAoCAgI,GAAG,CAACnF,qBAAJ,CAA0B/F,MAAM,CAAC/G,MAAD,CAAhC,EAA0Cwf,cAA1C;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI,SAAS3S,gBAAT,CAA0B9F,MAA1B,EAAkC4J,YAAlC,EAAgDiP,gBAAhD,EAAkE;IAC9D,IAAI,CAACA,gBAAD,IAAqBA,gBAAgB,CAACjiB,MAAjB,KAA4B,CAArD,EAAwD;MACpD,OAAOgT,YAAP;IACH;;IACD,IAAIkP,GAAG,GAAGD,gBAAgB,CAACE,MAAjB,CAAwB,UAAUC,EAAV,EAAc;MAAE,OAAOA,EAAE,CAAChZ,MAAH,KAAcA,MAArB;IAA8B,CAAtE,CAAV;;IACA,IAAI,CAAC8Y,GAAD,IAAQA,GAAG,CAACliB,MAAJ,KAAe,CAA3B,EAA8B;MAC1B,OAAOgT,YAAP;IACH;;IACD,IAAIqP,sBAAsB,GAAGH,GAAG,CAAC,CAAD,CAAH,CAAOD,gBAApC;IACA,OAAOjP,YAAY,CAACmP,MAAb,CAAoB,UAAUG,EAAV,EAAc;MAAE,OAAOD,sBAAsB,CAACziB,OAAvB,CAA+B0iB,EAA/B,MAAuC,CAAC,CAA/C;IAAmD,CAAvF,CAAP;EACH;;EACD,SAASC,uBAAT,CAAiCnZ,MAAjC,EAAyC4J,YAAzC,EAAuDiP,gBAAvD,EAAyE9e,SAAzE,EAAoF;IAChF;IACA;IACA,IAAI,CAACiG,MAAL,EAAa;MACT;IACH;;IACD,IAAIoZ,kBAAkB,GAAGtT,gBAAgB,CAAC9F,MAAD,EAAS4J,YAAT,EAAuBiP,gBAAvB,CAAzC;IACA7T,iBAAiB,CAAChF,MAAD,EAASoZ,kBAAT,EAA6Brf,SAA7B,CAAjB;EACH;EACD;AACJ;AACA;AACA;;;EACI,SAASsf,eAAT,CAAyBrZ,MAAzB,EAAiC;IAC7B,OAAO/J,MAAM,CAACqjB,mBAAP,CAA2BtZ,MAA3B,EACF+Y,MADE,CACK,UAAU/hB,IAAV,EAAgB;MAAE,OAAOA,IAAI,CAACuiB,UAAL,CAAgB,IAAhB,KAAyBviB,IAAI,CAACJ,MAAL,GAAc,CAA9C;IAAkD,CADzE,EAEF4iB,GAFE,CAEE,UAAUxiB,IAAV,EAAgB;MAAE,OAAOA,IAAI,CAACyiB,SAAL,CAAe,CAAf,CAAP;IAA2B,CAF/C,CAAP;EAGH;;EACD,SAASC,uBAAT,CAAiCxO,GAAjC,EAAsChE,OAAtC,EAA+C;IAC3C,IAAIe,MAAM,IAAI,CAACG,KAAf,EAAsB;MAClB;IACH;;IACD,IAAIjN,IAAI,CAAC+P,GAAG,CAACvG,MAAJ,CAAW,aAAX,CAAD,CAAR,EAAqC;MACjC;MACA;IACH;;IACD,IAAIkU,gBAAgB,GAAG3R,OAAO,CAAC,6BAAD,CAA9B,CAR2C,CAS3C;;IACA,IAAIyS,YAAY,GAAG,EAAnB;;IACA,IAAIxR,SAAJ,EAAe;MACX,IAAIyR,gBAAgB,GAAG1T,MAAvB;MACAyT,YAAY,GAAGA,YAAY,CAACpf,MAAb,CAAoB,CAC/B,UAD+B,EACnB,YADmB,EACL,SADK,EACM,aADN,EACqB,iBADrB,EACwC,kBADxC,EAE/B,qBAF+B,EAER,kBAFQ,EAEY,mBAFZ,EAEiC,oBAFjC,EAEuD,QAFvD,CAApB,CAAf;MAIA,IAAIsf,qBAAqB,GAAG/O,IAAI,KAAK,CAAC;QAAE9K,MAAM,EAAE4Z,gBAAV;QAA4Bf,gBAAgB,EAAE,CAAC,OAAD;MAA9C,CAAD,CAAL,GAAmE,EAAnG,CANW,CAOX;MACA;;MACAM,uBAAuB,CAACS,gBAAD,EAAmBP,eAAe,CAACO,gBAAD,CAAlC,EAAsDf,gBAAgB,GAAGA,gBAAgB,CAACte,MAAjB,CAAwBsf,qBAAxB,CAAH,GAAoDhB,gBAA1H,EAA4IzS,oBAAoB,CAACwT,gBAAD,CAAhK,CAAvB;IACH;;IACDD,YAAY,GAAGA,YAAY,CAACpf,MAAb,CAAoB,CAC/B,gBAD+B,EACb,2BADa,EACgB,UADhB,EAC4B,YAD5B,EAC0C,kBAD1C,EAE/B,aAF+B,EAEhB,gBAFgB,EAEE,WAFF,EAEe,WAFf,CAApB,CAAf;;IAIA,KAAK,IAAI7D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGijB,YAAY,CAAC/iB,MAAjC,EAAyCF,CAAC,EAA1C,EAA8C;MAC1C,IAAIsJ,MAAM,GAAGkH,OAAO,CAACyS,YAAY,CAACjjB,CAAD,CAAb,CAApB;MACAsJ,MAAM,IAAIA,MAAM,CAACjG,SAAjB,IACIof,uBAAuB,CAACnZ,MAAM,CAACjG,SAAR,EAAmBsf,eAAe,CAACrZ,MAAM,CAACjG,SAAR,CAAlC,EAAsD8e,gBAAtD,CAD3B;IAEH;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI1d,IAAI,CAACe,YAAL,CAAkB,MAAlB,EAA0B,UAAUvB,MAAV,EAAkBQ,IAAlB,EAAwB+P,GAAxB,EAA6B;IACnD;IACA;IACA,IAAI4O,UAAU,GAAGT,eAAe,CAAC1e,MAAD,CAAhC;IACAuQ,GAAG,CAAClG,iBAAJ,GAAwBA,iBAAxB;IACAkG,GAAG,CAACjG,WAAJ,GAAkBA,WAAlB;IACAiG,GAAG,CAAChG,aAAJ,GAAoBA,aAApB;IACAgG,GAAG,CAAC9F,cAAJ,GAAqBA,cAArB,CAPmD,CAQnD;IACA;IACA;IACA;IACA;IACA;;IACA,IAAI2U,0BAA0B,GAAG5e,IAAI,CAACF,UAAL,CAAgB,qBAAhB,CAAjC;;IACA,IAAI+e,uBAAuB,GAAG7e,IAAI,CAACF,UAAL,CAAgB,kBAAhB,CAA9B;;IACA,IAAIN,MAAM,CAACqf,uBAAD,CAAV,EAAqC;MACjCrf,MAAM,CAACof,0BAAD,CAAN,GAAqCpf,MAAM,CAACqf,uBAAD,CAA3C;IACH;;IACD,IAAIrf,MAAM,CAACof,0BAAD,CAAV,EAAwC;MACpC5e,IAAI,CAAC4e,0BAAD,CAAJ,GAAmC5e,IAAI,CAAC6e,uBAAD,CAAJ,GAC/Brf,MAAM,CAACof,0BAAD,CADV;IAEH;;IACD7O,GAAG,CAAC7F,mBAAJ,GAA0BA,mBAA1B;IACA6F,GAAG,CAACnG,gBAAJ,GAAuBA,gBAAvB;IACAmG,GAAG,CAAC5F,UAAJ,GAAiBA,UAAjB;IACA4F,GAAG,CAAC1F,oBAAJ,GAA2BA,oBAA3B;IACA0F,GAAG,CAACzF,8BAAJ,GAAqCA,8BAArC;IACAyF,GAAG,CAACxF,YAAJ,GAAmBA,YAAnB;IACAwF,GAAG,CAACvF,UAAJ,GAAiBA,UAAjB;IACAuF,GAAG,CAACtF,UAAJ,GAAiBA,UAAjB;IACAsF,GAAG,CAACrF,mBAAJ,GAA0BA,mBAA1B;IACAqF,GAAG,CAACpF,gBAAJ,GAAuBA,gBAAvB;IACAoF,GAAG,CAACnF,qBAAJ,GAA4BA,qBAA5B;IACAmF,GAAG,CAAClF,iBAAJ,GAAwB/P,MAAM,CAACkD,cAA/B;IACA+R,GAAG,CAACjF,cAAJ,GAAqBA,cAArB;;IACAiF,GAAG,CAAC3F,gBAAJ,GAAuB,YAAY;MAAE,OAAQ;QACzCoN,aAAa,EAAEA,aAD0B;QAEzCD,oBAAoB,EAAEA,oBAFmB;QAGzCoH,UAAU,EAAEA,UAH6B;QAIzC3R,SAAS,EAAEA,SAJ8B;QAKzCC,KAAK,EAAEA,KALkC;QAMzCH,MAAM,EAAEA,MANiC;QAOzCtB,QAAQ,EAAEA,QAP+B;QAQzCC,SAAS,EAAEA,SAR8B;QASzCC,kBAAkB,EAAEA,kBATqB;QAUzCN,sBAAsB,EAAEA,sBAViB;QAWzCC,yBAAyB,EAAEA;MAXc,CAAR;IAYhC,CAZL;EAaH,CAjDD;EAkDA;AACJ;AACA;AACA;AACA;AACA;AACA;;EACI;AACJ;AACA;AACA;;;EACI,IAAIyT,UAAJ;;EACA,IAAIC,eAAJ;;EACA,IAAIC,yBAAJ;;EACA,IAAIC,OAAJ;;EACA,IAAIC,kBAAJ;;EACA,SAASC,aAAT,GAAyB;IACrBL,UAAU,GAAG9e,IAAI,CAACF,UAAlB;IACAif,eAAe,GAAGjkB,MAAM,CAACgkB,UAAU,CAAC,gBAAD,CAAX,CAAN,GAAuChkB,MAAM,CAACkD,cAAhE;IACAghB,yBAAyB,GAAGlkB,MAAM,CAACgkB,UAAU,CAAC,0BAAD,CAAX,CAAN,GACxBhkB,MAAM,CAACkQ,wBADX;IAEAiU,OAAO,GAAGnkB,MAAM,CAACqQ,MAAjB;IACA+T,kBAAkB,GAAGJ,UAAU,CAAC,iBAAD,CAA/B;;IACAhkB,MAAM,CAACkD,cAAP,GAAwB,UAAU6P,GAAV,EAAeC,IAAf,EAAqBC,IAArB,EAA2B;MAC/C,IAAIqR,gBAAgB,CAACvR,GAAD,EAAMC,IAAN,CAApB,EAAiC;QAC7B,MAAM,IAAI6E,SAAJ,CAAc,2CAA2C7E,IAA3C,GAAkD,QAAlD,GAA6DD,GAA3E,CAAN;MACH;;MACD,IAAIwR,wBAAwB,GAAGtR,IAAI,CAAC3P,YAApC;;MACA,IAAI0P,IAAI,KAAK,WAAb,EAA0B;QACtBC,IAAI,GAAGuR,iBAAiB,CAACzR,GAAD,EAAMC,IAAN,EAAYC,IAAZ,CAAxB;MACH;;MACD,OAAOwR,kBAAkB,CAAC1R,GAAD,EAAMC,IAAN,EAAYC,IAAZ,EAAkBsR,wBAAlB,CAAzB;IACH,CATD;;IAUAvkB,MAAM,CAAC0kB,gBAAP,GAA0B,UAAU3R,GAAV,EAAe4R,KAAf,EAAsB;MAC5C3kB,MAAM,CAAC0hB,IAAP,CAAYiD,KAAZ,EAAmBjC,OAAnB,CAA2B,UAAU1P,IAAV,EAAgB;QACvChT,MAAM,CAACkD,cAAP,CAAsB6P,GAAtB,EAA2BC,IAA3B,EAAiC2R,KAAK,CAAC3R,IAAD,CAAtC;MACH,CAFD;;MAGA,KAAK,IAAIkG,EAAE,GAAG,CAAT,EAAY0L,EAAE,GAAG5kB,MAAM,CAAC6kB,qBAAP,CAA6BF,KAA7B,CAAtB,EAA2DzL,EAAE,GAAG0L,EAAE,CAACjkB,MAAnE,EAA2EuY,EAAE,EAA7E,EAAiF;QAC7E,IAAI4L,GAAG,GAAGF,EAAE,CAAC1L,EAAD,CAAZ;QACA,IAAIjG,IAAI,GAAGjT,MAAM,CAACkQ,wBAAP,CAAgCyU,KAAhC,EAAuCG,GAAvC,CAAX,CAF6E,CAG7E;QACA;QACA;QACA;QACA;QACA;QACA;;QACA,IAAI7R,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAAC5P,UAArD,EAAiE;UAC7DrD,MAAM,CAACkD,cAAP,CAAsB6P,GAAtB,EAA2B+R,GAA3B,EAAgCH,KAAK,CAACG,GAAD,CAArC;QACH;MACJ;;MACD,OAAO/R,GAAP;IACH,CAnBD;;IAoBA/S,MAAM,CAACqQ,MAAP,GAAgB,UAAU8D,KAAV,EAAiB4Q,gBAAjB,EAAmC;MAC/C,IAAI,OAAOA,gBAAP,KAA4B,QAA5B,IAAwC,CAAC/kB,MAAM,CAACglB,QAAP,CAAgBD,gBAAhB,CAA7C,EAAgF;QAC5E/kB,MAAM,CAAC0hB,IAAP,CAAYqD,gBAAZ,EAA8BrC,OAA9B,CAAsC,UAAU1P,IAAV,EAAgB;UAClD+R,gBAAgB,CAAC/R,IAAD,CAAhB,GAAyBwR,iBAAiB,CAACrQ,KAAD,EAAQnB,IAAR,EAAc+R,gBAAgB,CAAC/R,IAAD,CAA9B,CAA1C;QACH,CAFD;MAGH;;MACD,OAAOmR,OAAO,CAAChQ,KAAD,EAAQ4Q,gBAAR,CAAd;IACH,CAPD;;IAQA/kB,MAAM,CAACkQ,wBAAP,GAAkC,UAAU6C,GAAV,EAAeC,IAAf,EAAqB;MACnD,IAAIC,IAAI,GAAGiR,yBAAyB,CAACnR,GAAD,EAAMC,IAAN,CAApC;;MACA,IAAIC,IAAI,IAAIqR,gBAAgB,CAACvR,GAAD,EAAMC,IAAN,CAA5B,EAAyC;QACrCC,IAAI,CAAC3P,YAAL,GAAoB,KAApB;MACH;;MACD,OAAO2P,IAAP;IACH,CAND;EAOH;;EACD,SAASlD,iBAAT,CAA2BgD,GAA3B,EAAgCC,IAAhC,EAAsCC,IAAtC,EAA4C;IACxC,IAAIsR,wBAAwB,GAAGtR,IAAI,CAAC3P,YAApC;IACA2P,IAAI,GAAGuR,iBAAiB,CAACzR,GAAD,EAAMC,IAAN,EAAYC,IAAZ,CAAxB;IACA,OAAOwR,kBAAkB,CAAC1R,GAAD,EAAMC,IAAN,EAAYC,IAAZ,EAAkBsR,wBAAlB,CAAzB;EACH;;EACD,SAASD,gBAAT,CAA0BvR,GAA1B,EAA+BC,IAA/B,EAAqC;IACjC,OAAOD,GAAG,IAAIA,GAAG,CAACqR,kBAAD,CAAV,IAAkCrR,GAAG,CAACqR,kBAAD,CAAH,CAAwBpR,IAAxB,CAAzC;EACH;;EACD,SAASwR,iBAAT,CAA2BzR,GAA3B,EAAgCC,IAAhC,EAAsCC,IAAtC,EAA4C;IACxC;IACA,IAAI,CAACjT,MAAM,CAACglB,QAAP,CAAgB/R,IAAhB,CAAL,EAA4B;MACxBA,IAAI,CAAC3P,YAAL,GAAoB,IAApB;IACH;;IACD,IAAI,CAAC2P,IAAI,CAAC3P,YAAV,EAAwB;MACpB;MACA,IAAI,CAACyP,GAAG,CAACqR,kBAAD,CAAJ,IAA4B,CAACpkB,MAAM,CAACglB,QAAP,CAAgBjS,GAAhB,CAAjC,EAAuD;QACnDkR,eAAe,CAAClR,GAAD,EAAMqR,kBAAN,EAA0B;UAAExS,QAAQ,EAAE,IAAZ;UAAkBjF,KAAK,EAAE;QAAzB,CAA1B,CAAf;MACH;;MACD,IAAIoG,GAAG,CAACqR,kBAAD,CAAP,EAA6B;QACzBrR,GAAG,CAACqR,kBAAD,CAAH,CAAwBpR,IAAxB,IAAgC,IAAhC;MACH;IACJ;;IACD,OAAOC,IAAP;EACH;;EACD,SAASwR,kBAAT,CAA4B1R,GAA5B,EAAiCC,IAAjC,EAAuCC,IAAvC,EAA6CsR,wBAA7C,EAAuE;IACnE,IAAI;MACA,OAAON,eAAe,CAAClR,GAAD,EAAMC,IAAN,EAAYC,IAAZ,CAAtB;IACH,CAFD,CAGA,OAAO7L,KAAP,EAAc;MACV,IAAI6L,IAAI,CAAC3P,YAAT,EAAuB;QACnB;QACA;QACA,IAAI,OAAOihB,wBAAP,IAAmC,WAAvC,EAAoD;UAChD,OAAOtR,IAAI,CAAC3P,YAAZ;QACH,CAFD,MAGK;UACD2P,IAAI,CAAC3P,YAAL,GAAoBihB,wBAApB;QACH;;QACD,IAAI;UACA,OAAON,eAAe,CAAClR,GAAD,EAAMC,IAAN,EAAYC,IAAZ,CAAtB;QACH,CAFD,CAGA,OAAO7L,KAAP,EAAc;UACV,IAAI6d,YAAY,GAAG,KAAnB;;UACA,IAAIjS,IAAI,KAAK,iBAAT,IAA8BA,IAAI,KAAK,kBAAvC,IACAA,IAAI,KAAK,kBADT,IAC+BA,IAAI,KAAK,0BAD5C,EACwE;YACpE;YACA;YACA;YACAiS,YAAY,GAAG,IAAf;UACH;;UACD,IAAI,CAACA,YAAL,EAAmB;YACf,MAAM7d,KAAN;UACH,CAXS,CAYV;UACA;UACA;;;UACA,IAAI8d,QAAQ,GAAG,IAAf;;UACA,IAAI;YACAA,QAAQ,GAAG/P,IAAI,CAACC,SAAL,CAAenC,IAAf,CAAX;UACH,CAFD,CAGA,OAAO7L,KAAP,EAAc;YACV8d,QAAQ,GAAGjS,IAAI,CAACjR,QAAL,EAAX;UACH;;UACD0T,OAAO,CAACyP,GAAR,CAAY,4BAA4B7gB,MAA5B,CAAmC0O,IAAnC,EAAyC,qBAAzC,EAAgE1O,MAAhE,CAAuE4gB,QAAvE,EAAiF,eAAjF,EAAkG5gB,MAAlG,CAAyGyO,GAAzG,EAA8G,8BAA9G,EAA8IzO,MAA9I,CAAqJ8C,KAArJ,CAAZ;QACH;MACJ,CApCD,MAqCK;QACD,MAAMA,KAAN;MACH;IACJ;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI,SAASge,sBAAT,CAAgCnU,OAAhC,EAAyCgE,GAAzC,EAA8C;IAC1C,IAAI2P,EAAE,GAAG3P,GAAG,CAAC3F,gBAAJ,EAAT;IAAA,IAAiCuU,UAAU,GAAGe,EAAE,CAACf,UAAjD;IAAA,IAA6DnH,aAAa,GAAGkI,EAAE,CAAClI,aAAhF;IAAA,IAA+FD,oBAAoB,GAAGmI,EAAE,CAACnI,oBAAzH;IAAA,IAA+I/L,QAAQ,GAAGkU,EAAE,CAAClU,QAA7J;IAAA,IAAuKC,SAAS,GAAGiU,EAAE,CAACjU,SAAtL;IAAA,IAAiMC,kBAAkB,GAAGgU,EAAE,CAAChU,kBAAzN;;IACA,IAAIyU,aAAa,GAAG,2aAApB;IACA,IAAIC,eAAe,GAAG,gXACjB1jB,KADiB,CACX,GADW,CAAtB;IAEA,IAAI2jB,YAAY,GAAG,aAAnB;IACA,IAAIpI,IAAI,GAAG,EAAX;IACA,IAAIqI,KAAK,GAAGvU,OAAO,CAAC,KAAD,CAAnB;IACA,IAAIwU,mBAAmB,GAAGJ,aAAa,CAACzjB,KAAd,CAAoB,GAApB,CAA1B;;IACA,IAAI4jB,KAAJ,EAAW;MACP;MACArI,IAAI,GAAGsI,mBAAmB,CAAClC,GAApB,CAAwB,UAAUnM,CAAV,EAAa;QAAE,OAAO,SAASA,CAAT,GAAa,SAApB;MAAgC,CAAvE,EAAyE9S,MAAzE,CAAgFghB,eAAhF,CAAP;IACH,CAHD,MAIK,IAAIrU,OAAO,CAACsU,YAAD,CAAX,EAA2B;MAC5BpI,IAAI,CAACtb,IAAL,CAAU0jB,YAAV;IACH,CAFI,MAGA;MACD;MACA;MACApI,IAAI,GAAGmI,eAAP;IACH;;IACD,IAAII,gBAAgB,GAAGzU,OAAO,CAAC,yBAAD,CAAP,IAAsC,KAA7D;IACA,IAAI0U,yBAAyB,GAAG1U,OAAO,CAAC,mCAAD,CAAP,IAAgD,KAAhF;IACA,IAAI2D,QAAQ,GAAGK,GAAG,CAAC5F,UAAJ,EAAf;IACA,IAAIwO,yBAAyB,GAAG,oBAAhC;IACA,IAAI+H,gBAAgB,GAAG,0BAAvB;IACA,IAAIC,aAAa,GAAG,8DAApB;IACA,IAAIC,gBAAgB,GAAG;MACnB,mBAAmB,eADA;MAEnB,iBAAiB,aAFE;MAGnB,kBAAkB,cAHC;MAInB,kBAAkB,cAJC;MAKnB,kBAAkB,cALC;MAMnB,iBAAiB,aANE;MAOnB,gBAAgB,YAPG;MAQnB,iBAAiB,aARE;MASnB,eAAe;IATI,CAAvB,CA3B0C,CAsC1C;;IACA,KAAK,IAAIrlB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGojB,UAAU,CAACljB,MAA/B,EAAuCF,CAAC,EAAxC,EAA4C;MACxC,IAAI4S,SAAS,GAAGwQ,UAAU,CAACpjB,CAAD,CAA1B;MACA,IAAIuc,cAAc,GAAG3J,SAAS,GAAG1C,SAAjC;MACA,IAAIsM,aAAa,GAAG5J,SAAS,GAAG3C,QAAhC;MACA,IAAIhC,MAAM,GAAGkC,kBAAkB,GAAGoM,cAAlC;MACA,IAAIE,aAAa,GAAGtM,kBAAkB,GAAGqM,aAAzC;MACAR,oBAAoB,CAACpJ,SAAD,CAApB,GAAkC,EAAlC;MACAoJ,oBAAoB,CAACpJ,SAAD,CAApB,CAAgC1C,SAAhC,IAA6CjC,MAA7C;MACA+N,oBAAoB,CAACpJ,SAAD,CAApB,CAAgC3C,QAAhC,IAA4CwM,aAA5C;IACH,CAhDyC,CAiD1C;;;IACA,KAAK,IAAIzc,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGglB,mBAAmB,CAAC9kB,MAAxC,EAAgDF,CAAC,EAAjD,EAAqD;MACjD,IAAIsJ,MAAM,GAAG0b,mBAAmB,CAAChlB,CAAD,CAAhC;MACA,IAAIslB,OAAO,GAAGrJ,aAAa,CAAC3S,MAAD,CAAb,GAAwB,EAAtC;;MACA,KAAK,IAAI6J,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGiQ,UAAU,CAACljB,MAA/B,EAAuCiT,CAAC,EAAxC,EAA4C;QACxC,IAAIP,SAAS,GAAGwQ,UAAU,CAACjQ,CAAD,CAA1B;QACAmS,OAAO,CAAC1S,SAAD,CAAP,GAAqBtJ,MAAM,GAAG8T,yBAAT,GAAqCxK,SAA1D;MACH;IACJ;;IACD,IAAI2S,sBAAsB,GAAG,UAAUxD,cAAV,EAA0B3Y,QAA1B,EAAoCE,MAApC,EAA4CqD,IAA5C,EAAkD;MAC3E,IAAI,CAACsY,gBAAD,IAAqB9Q,QAAzB,EAAmC;QAC/B,IAAI+Q,yBAAJ,EAA+B;UAC3B,IAAI;YACA,IAAIM,UAAU,GAAGpc,QAAQ,CAAC7H,QAAT,EAAjB;;YACA,IAAKikB,UAAU,KAAKL,gBAAf,IAAmCK,UAAU,IAAIJ,aAAtD,EAAsE;cAClErD,cAAc,CAAChW,KAAf,CAAqBzC,MAArB,EAA6BqD,IAA7B;cACA,OAAO,KAAP;YACH;UACJ,CAND,CAOA,OAAOhG,KAAP,EAAc;YACVob,cAAc,CAAChW,KAAf,CAAqBzC,MAArB,EAA6BqD,IAA7B;YACA,OAAO,KAAP;UACH;QACJ,CAZD,MAaK;UACD,IAAI6Y,UAAU,GAAGpc,QAAQ,CAAC7H,QAAT,EAAjB;;UACA,IAAKikB,UAAU,KAAKL,gBAAf,IAAmCK,UAAU,IAAIJ,aAAtD,EAAsE;YAClErD,cAAc,CAAChW,KAAf,CAAqBzC,MAArB,EAA6BqD,IAA7B;YACA,OAAO,KAAP;UACH;QACJ;MACJ,CArBD,MAsBK,IAAIuY,yBAAJ,EAA+B;QAChC,IAAI;UACA9b,QAAQ,CAAC7H,QAAT;QACH,CAFD,CAGA,OAAOoF,KAAP,EAAc;UACVob,cAAc,CAAChW,KAAf,CAAqBzC,MAArB,EAA6BqD,IAA7B;UACA,OAAO,KAAP;QACH;MACJ;;MACD,OAAO,IAAP;IACH,CAjCD;;IAkCA,IAAI8Y,QAAQ,GAAG,EAAf;;IACA,KAAK,IAAIzlB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0c,IAAI,CAACxc,MAAzB,EAAiCF,CAAC,EAAlC,EAAsC;MAClC,IAAII,IAAI,GAAGoQ,OAAO,CAACkM,IAAI,CAAC1c,CAAD,CAAL,CAAlB;MACAylB,QAAQ,CAACrkB,IAAT,CAAchB,IAAI,IAAIA,IAAI,CAACiD,SAA3B;IACH,CAhGyC,CAiG1C;IACA;;;IACAmR,GAAG,CAACnG,gBAAJ,CAAqBmC,OAArB,EAA8BgE,GAA9B,EAAmCiR,QAAnC,EAA6C;MACzCpH,EAAE,EAAEkH,sBADqC;MAEzC7E,iBAAiB,EAAE,UAAU9N,SAAV,EAAqB;QACpC,IAAI8S,gBAAgB,GAAGL,gBAAgB,CAACzS,SAAD,CAAvC;QACA,OAAO8S,gBAAgB,IAAI9S,SAA3B;MACH;IALwC,CAA7C;IAOAnO,IAAI,CAAC+P,GAAG,CAACvG,MAAJ,CAAW,kBAAX,CAAD,CAAJ,GAAuC,CAAC,CAACuC,OAAO,CAACsU,YAAD,CAAhD;IACA,OAAO,IAAP;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;EACI;;;EACA,SAAS/Y,KAAT,CAAeyI,GAAf,EAAoBhE,OAApB,EAA6B;IACzB,IAAI2T,EAAE,GAAG3P,GAAG,CAAC3F,gBAAJ,EAAT;IAAA,IAAiCgB,sBAAsB,GAAGsU,EAAE,CAACtU,sBAA7D;IAAA,IAAqFC,yBAAyB,GAAGqU,EAAE,CAACrU,yBAApH;;IACA,IAAI6V,EAAE,GAAGnV,OAAO,CAACoV,SAAjB,CAFyB,CAGzB;IACA;;IACA,IAAI,CAACpV,OAAO,CAACqV,WAAb,EAA0B;MACtBrR,GAAG,CAACnG,gBAAJ,CAAqBmC,OAArB,EAA8BgE,GAA9B,EAAmC,CAACmR,EAAE,CAACtiB,SAAJ,CAAnC;IACH;;IACDmN,OAAO,CAACoV,SAAR,GAAoB,UAAUE,CAAV,EAAaC,CAAb,EAAgB;MAChC,IAAIC,MAAM,GAAGlkB,SAAS,CAAC5B,MAAV,GAAmB,CAAnB,GAAuB,IAAIylB,EAAJ,CAAOG,CAAP,EAAUC,CAAV,CAAvB,GAAsC,IAAIJ,EAAJ,CAAOG,CAAP,CAAnD;MACA,IAAIG,WAAJ;MACA,IAAIC,gBAAJ,CAHgC,CAIhC;;MACA,IAAIC,aAAa,GAAG3R,GAAG,CAACzF,8BAAJ,CAAmCiX,MAAnC,EAA2C,WAA3C,CAApB;;MACA,IAAIG,aAAa,IAAIA,aAAa,CAACtjB,YAAd,KAA+B,KAApD,EAA2D;QACvDojB,WAAW,GAAGzR,GAAG,CAACxF,YAAJ,CAAiBgX,MAAjB,CAAd,CADuD,CAEvD;QACA;QACA;;QACAE,gBAAgB,GAAGF,MAAnB;QACA,CAACnW,sBAAD,EAAyBC,yBAAzB,EAAoD,MAApD,EAA4D,OAA5D,EAAqEmS,OAArE,CAA6E,UAAUmE,QAAV,EAAoB;UAC7FH,WAAW,CAACG,QAAD,CAAX,GAAwB,YAAY;YAChC,IAAIzZ,IAAI,GAAG6H,GAAG,CAACvF,UAAJ,CAAepO,IAAf,CAAoBiB,SAApB,CAAX;;YACA,IAAIskB,QAAQ,KAAKvW,sBAAb,IAAuCuW,QAAQ,KAAKtW,yBAAxD,EAAmF;cAC/E,IAAI8C,SAAS,GAAGjG,IAAI,CAACzM,MAAL,GAAc,CAAd,GAAkByM,IAAI,CAAC,CAAD,CAAtB,GAA4B9E,SAA5C;;cACA,IAAI+K,SAAJ,EAAe;gBACX,IAAIyT,cAAc,GAAG5hB,IAAI,CAACF,UAAL,CAAgB,gBAAgBqO,SAAhC,CAArB;;gBACAoT,MAAM,CAACK,cAAD,CAAN,GAAyBJ,WAAW,CAACI,cAAD,CAApC;cACH;YACJ;;YACD,OAAOL,MAAM,CAACI,QAAD,CAAN,CAAiBra,KAAjB,CAAuBia,MAAvB,EAA+BrZ,IAA/B,CAAP;UACH,CAVD;QAWH,CAZD;MAaH,CAnBD,MAoBK;QACD;QACAsZ,WAAW,GAAGD,MAAd;MACH;;MACDxR,GAAG,CAAClG,iBAAJ,CAAsB2X,WAAtB,EAAmC,CAAC,OAAD,EAAU,OAAV,EAAmB,SAAnB,EAA8B,MAA9B,CAAnC,EAA0EC,gBAA1E;MACA,OAAOD,WAAP;IACH,CAhCD;;IAiCA,IAAIK,eAAe,GAAG9V,OAAO,CAAC,WAAD,CAA7B;;IACA,KAAK,IAAI+B,IAAT,IAAiBoT,EAAjB,EAAqB;MACjBW,eAAe,CAAC/T,IAAD,CAAf,GAAwBoT,EAAE,CAACpT,IAAD,CAA1B;IACH;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI,SAASgU,6BAAT,CAAuC/R,GAAvC,EAA4ChE,OAA5C,EAAqD;IACjD,IAAI2T,EAAE,GAAG3P,GAAG,CAAC3F,gBAAJ,EAAT;IAAA,IAAiC0C,MAAM,GAAG4S,EAAE,CAAC5S,MAA7C;IAAA,IAAqDG,KAAK,GAAGyS,EAAE,CAACzS,KAAhE;;IACA,IAAIH,MAAM,IAAI,CAACG,KAAf,EAAsB;MAClB;IACH;;IACD,IAAI,CAAC8U,6BAA6B,CAAChS,GAAD,EAAMhE,OAAN,CAAlC,EAAkD;MAC9C,IAAIiW,iBAAiB,GAAG,OAAOb,SAAP,KAAqB,WAA7C,CAD8C,CAE9C;;MACAc,6BAA6B,CAAClS,GAAD,CAA7B;MACAA,GAAG,CAACtF,UAAJ,CAAe,gBAAf;;MACA,IAAIuX,iBAAJ,EAAuB;QACnB1a,KAAK,CAACyI,GAAD,EAAMhE,OAAN,CAAL;MACH;;MACD/L,IAAI,CAAC+P,GAAG,CAACvG,MAAJ,CAAW,aAAX,CAAD,CAAJ,GAAkC,IAAlC;IACH;EACJ;;EACD,SAASuY,6BAAT,CAAuChS,GAAvC,EAA4ChE,OAA5C,EAAqD;IACjD,IAAI2T,EAAE,GAAG3P,GAAG,CAAC3F,gBAAJ,EAAT;IAAA,IAAiC4C,SAAS,GAAG0S,EAAE,CAAC1S,SAAhD;IAAA,IAA2DC,KAAK,GAAGyS,EAAE,CAACzS,KAAtE;;IACA,IAAI,CAACD,SAAS,IAAIC,KAAd,KACA,CAAC8C,GAAG,CAACzF,8BAAJ,CAAmC4X,WAAW,CAACtjB,SAA/C,EAA0D,SAA1D,CADD,IAEA,OAAOhE,OAAP,KAAmB,WAFvB,EAEoC;MAChC;MACA;MACA,IAAImT,IAAI,GAAGgC,GAAG,CAACzF,8BAAJ,CAAmC1P,OAAO,CAACgE,SAA3C,EAAsD,SAAtD,CAAX;MACA,IAAImP,IAAI,IAAI,CAACA,IAAI,CAAC3P,YAAlB,EACI,OAAO,KAAP,CAL4B,CAMhC;MACA;;MACA,IAAI2P,IAAJ,EAAU;QACNgC,GAAG,CAAC1F,oBAAJ,CAAyBzP,OAAO,CAACgE,SAAjC,EAA4C,SAA5C,EAAuD;UACnDT,UAAU,EAAE,IADuC;UAEnDC,YAAY,EAAE,IAFqC;UAGnDF,GAAG,EAAE,YAAY;YACb,OAAO,IAAP;UACH;QALkD,CAAvD;QAOA,IAAIikB,GAAG,GAAG9nB,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAV;QACA,IAAIuD,MAAM,GAAG,CAAC,CAACskB,GAAG,CAACC,OAAnB;QACArS,GAAG,CAAC1F,oBAAJ,CAAyBzP,OAAO,CAACgE,SAAjC,EAA4C,SAA5C,EAAuDmP,IAAvD;QACA,OAAOlQ,MAAP;MACH;IACJ;;IACD,IAAIwkB,cAAc,GAAGtW,OAAO,CAAC,gBAAD,CAA5B;;IACA,IAAI,CAACsW,cAAL,EAAqB;MACjB;MACA,OAAO,KAAP;IACH;;IACD,IAAIC,qBAAqB,GAAG,oBAA5B;IACA,IAAIC,uBAAuB,GAAGF,cAAc,CAACzjB,SAA7C;IACA,IAAI4jB,OAAO,GAAGzS,GAAG,CAACzF,8BAAJ,CAAmCiY,uBAAnC,EAA4DD,qBAA5D,CAAd,CAjCiD,CAkCjD;IACA;IACA;IACA;IACA;IACA;;IACA,IAAIE,OAAJ,EAAa;MACTzS,GAAG,CAAC1F,oBAAJ,CAAyBkY,uBAAzB,EAAkDD,qBAAlD,EAAyE;QACrEnkB,UAAU,EAAE,IADyD;QAErEC,YAAY,EAAE,IAFuD;QAGrEF,GAAG,EAAE,YAAY;UACb,OAAO,IAAP;QACH;MALoE,CAAzE;MAOA,IAAIukB,GAAG,GAAG,IAAIJ,cAAJ,EAAV;MACA,IAAIxkB,MAAM,GAAG,CAAC,CAAC4kB,GAAG,CAACC,kBAAnB,CATS,CAUT;;MACA3S,GAAG,CAAC1F,oBAAJ,CAAyBkY,uBAAzB,EAAkDD,qBAAlD,EAAyEE,OAAO,IAAI,EAApF;MACA,OAAO3kB,MAAP;IACH,CAbD,MAcK;MACD,IAAI8kB,gCAAgC,GAAG5S,GAAG,CAACvG,MAAJ,CAAW,MAAX,CAAvC;MACAuG,GAAG,CAAC1F,oBAAJ,CAAyBkY,uBAAzB,EAAkDD,qBAAlD,EAAyE;QACrEnkB,UAAU,EAAE,IADyD;QAErEC,YAAY,EAAE,IAFuD;QAGrEF,GAAG,EAAE,YAAY;UACb,OAAO,KAAKykB,gCAAL,CAAP;QACH,CALoE;QAMrEhW,GAAG,EAAE,UAAUlF,KAAV,EAAiB;UAClB,KAAKkb,gCAAL,IAAyClb,KAAzC;QACH;MARoE,CAAzE;MAUA,IAAIgb,GAAG,GAAG,IAAIJ,cAAJ,EAAV;;MACA,IAAIO,UAAU,GAAG,YAAY,CAAG,CAAhC;;MACAH,GAAG,CAACC,kBAAJ,GAAyBE,UAAzB;MACA,IAAI/kB,MAAM,GAAG4kB,GAAG,CAACE,gCAAD,CAAH,KAA0CC,UAAvD;MACAH,GAAG,CAACC,kBAAJ,GAAyB,IAAzB;MACA,OAAO7kB,MAAP;IACH;EACJ;;EACD,IAAIglB,6BAA6B,GAAG,CAChC,OADgC,EAEhC,iBAFgC,EAGhC,cAHgC,EAIhC,oBAJgC,EAKhC,UALgC,EAMhC,aANgC,EAOhC,MAPgC,EAQhC,QARgC,EAShC,SATgC,EAUhC,gBAVgC,EAWhC,QAXgC,EAYhC,kBAZgC,EAahC,mBAbgC,EAchC,gBAdgC,EAehC,WAfgC,EAgBhC,OAhBgC,EAiBhC,OAjBgC,EAkBhC,aAlBgC,EAmBhC,YAnBgC,EAoBhC,UApBgC,EAqBhC,MArBgC,EAsBhC,SAtBgC,EAuBhC,WAvBgC,EAwBhC,UAxBgC,EAyBhC,WAzBgC,EA0BhC,UA1BgC,EA2BhC,MA3BgC,EA4BhC,gBA5BgC,EA6BhC,SA7BgC,EA8BhC,OA9BgC,EA+BhC,OA/BgC,EAgChC,OAhCgC,EAiChC,SAjCgC,EAkChC,UAlCgC,EAmChC,mBAnCgC,EAoChC,OApCgC,EAqChC,SArCgC,EAsChC,SAtCgC,EAuChC,UAvCgC,EAwChC,OAxCgC,EAyChC,MAzCgC,EA0ChC,WA1CgC,EA2ChC,YA3CgC,EA4ChC,gBA5CgC,EA6ChC,oBA7CgC,EA8ChC,WA9CgC,EA+ChC,YA/CgC,EAgDhC,YAhDgC,EAiDhC,WAjDgC,EAkDhC,UAlDgC,EAmDhC,WAnDgC,EAoDhC,SApDgC,EAqDhC,YArDgC,EAsDhC,mBAtDgC,EAuDhC,OAvDgC,EAwDhC,MAxDgC,EAyDhC,SAzDgC,EA0DhC,eA1DgC,EA2DhC,aA3DgC,EA4DhC,cA5DgC,EA6DhC,cA7DgC,EA8DhC,mBA9DgC,EA+DhC,sBA/DgC,EAgEhC,2BAhEgC,EAiEhC,kBAjEgC,EAkEhC,qBAlEgC,EAmEhC,wBAnEgC,EAoEhC,aApEgC,EAqEhC,UArEgC,EAsEhC,aAtEgC,EAuEhC,WAvEgC,EAwEhC,UAxEgC,EAyEhC,YAzEgC,EA0EhC,OA1EgC,EA2EhC,QA3EgC,EA4EhC,QA5EgC,EA6EhC,QA7EgC,EA8EhC,SA9EgC,EA+EhC,QA/EgC,EAgFhC,iBAhFgC,EAiFhC,aAjFgC,EAkFhC,MAlFgC,EAmFhC,MAnFgC,EAoFhC,SApFgC,EAqFhC,QArFgC,EAsFhC,SAtFgC,EAuFhC,YAvFgC,EAwFhC,cAxFgC,EAyFhC,aAzFgC,EA0FhC,WA1FgC,EA2FhC,YA3FgC,EA4FhC,UA5FgC,EA6FhC,kBA7FgC,EA8FhC,eA9FgC,EA+FhC,SA/FgC,EAgGhC,OAhGgC,CAApC;EAkGA,IAAIC,kBAAkB,GAAG,CACrB,oBADqB,EACC,qBADD,EACwB,kBADxB,EAC4C,QAD5C,EACsD,kBADtD,EAErB,qBAFqB,EAEE,wBAFF,EAE4B,oBAF5B,EAEkD,iBAFlD,EAGrB,oBAHqB,EAGC,uBAHD,EAG0B,mBAH1B,EAG+C,kBAH/C,EAIrB,kBAJqB,EAID,QAJC,CAAzB;EAMA,IAAIC,gBAAgB,GAAG,CACnB,2BADmB,EAEnB,YAFmB,EAGnB,YAHmB,EAInB,cAJmB,EAKnB,qBALmB,EAMnB,aANmB,EAOnB,cAPmB,EAQnB,aARmB,EASnB,cATmB,EAUnB,mBAVmB,EAWnB,2BAXmB,EAYnB,iBAZmB,EAanB,YAbmB,EAcnB,gBAdmB,EAenB,SAfmB,EAgBnB,gBAhBmB,EAiBnB,SAjBmB,EAkBnB,QAlBmB,EAmBnB,OAnBmB,EAoBnB,UApBmB,EAqBnB,UArBmB,EAsBnB,UAtBmB,EAuBnB,kBAvBmB,EAwBnB,SAxBmB,EAyBnB,oBAzBmB,EA0BnB,QA1BmB,EA2BnB,eA3BmB,EA4BnB,oBA5BmB,EA6BnB,uBA7BmB,EA8BnB,wBA9BmB,CAAvB;EAgCA,IAAIC,qBAAqB,GAAG,CACxB,YADwB,EACV,WADU,EACG,aADH,EACkB,MADlB,EAC0B,KAD1B,EACiC,OADjC,EAC0C,WAD1C,EACuD,SADvD,EAExB,gBAFwB,EAEN,QAFM,EAEI,eAFJ,EAEqB,iBAFrB,EAEwC,oBAFxC,EAGxB,0BAHwB,EAGI,sBAHJ,EAG4B,qBAH5B,CAA5B;EAKA,IAAIC,mBAAmB,GAAG,CACtB,UADsB,EAEtB,aAFsB,EAGtB,aAHsB,EAItB,gBAJsB,EAKtB,kBALsB,EAMtB,iBANsB,EAOtB,cAPsB,EAQtB,YARsB,EAStB,eATsB,EAUtB,eAVsB,EAWtB,gBAXsB,EAYtB,iBAZsB,EAatB,aAbsB,EActB,cAdsB,EAetB,gBAfsB,EAgBtB,aAhBsB,EAiBtB,MAjBsB,EAkBtB,SAlBsB,EAmBtB,WAnBsB,EAoBtB,gBApBsB,EAqBtB,WArBsB,EAsBtB,aAtBsB,EAuBtB,UAvBsB,EAwBtB,SAxBsB,EAyBtB,YAzBsB,EA0BtB,cA1BsB,EA2BtB,SA3BsB,EA4BtB,yBA5BsB,EA6BtB,YA7BsB,EA8BtB,MA9BsB,EA+BtB,eA/BsB,EAgCtB,4BAhCsB,EAiCtB,iBAjCsB,EAkCtB,oBAlCsB,EAmCtB,cAnCsB,EAoCtB,eApCsB,EAqCtB,gBArCsB,EAsCtB,cAtCsB,EAuCtB,qBAvCsB,EAwCtB,gBAxCsB,EAyCtB,sBAzCsB,EA0CtB,iBA1CsB,EA2CtB,eA3CsB,EA4CtB,gBA5CsB,EA6CtB,gBA7CsB,EA8CtB,gBA9CsB,EA+CtB,eA/CsB,EAgDtB,cAhDsB,EAiDtB,eAjDsB,EAkDtB,aAlDsB,EAmDtB,YAnDsB,EAoDtB,+BApDsB,EAqDtB,kBArDsB,EAsDtB,MAtDsB,EAuDtB,eAvDsB,CAA1B;EAyDA,IAAIC,eAAe,GAAG,CAAC,sBAAD,EAAyB,kBAAzB,EAA6C,2BAA7C,CAAtB;EACA,IAAIC,cAAc,GAAG,CAAC,cAAD,EAAiB,mBAAjB,CAArB;EACA,IAAIC,gBAAgB,GAAG,CAAC,QAAD,CAAvB;;EACA,IAAIzE,UAAU,GAAG7f,aAAa,CAACA,aAAa,CAACA,aAAa,CAACA,aAAa,CAACA,aAAa,CAACA,aAAa,CAACA,aAAa,CAACA,aAAa,CAAC,EAAD,EAAK+jB,6BAAL,EAAoC,IAApC,CAAd,EAAyDK,eAAzD,EAA0E,IAA1E,CAAd,EAA+FC,cAA/F,EAA+G,IAA/G,CAAd,EAAoIC,gBAApI,EAAsJ,IAAtJ,CAAd,EAA2KN,kBAA3K,EAA+L,IAA/L,CAAd,EAAoNC,gBAApN,EAAsO,IAAtO,CAAd,EAA2PC,qBAA3P,EAAkR,IAAlR,CAAd,EAAuSC,mBAAvS,EAA4T,IAA5T,CAA9B,CAh9FY,CAi9FZ;EACA;EACA;;;EACA,SAAShB,6BAAT,CAAuClS,GAAvC,EAA4C;IACxC,IAAIsT,UAAU,GAAGtT,GAAG,CAACvG,MAAJ,CAAW,SAAX,CAAjB;;IACA,IAAI8Z,OAAO,GAAG,UAAU/nB,CAAV,EAAa;MACvB,IAAIgoB,QAAQ,GAAG5E,UAAU,CAACpjB,CAAD,CAAzB;MACA,IAAIioB,UAAU,GAAG,OAAOD,QAAxB;MACAnpB,IAAI,CAACmU,gBAAL,CAAsBgV,QAAtB,EAAgC,UAAUnW,KAAV,EAAiB;QAC7C,IAAIqW,GAAG,GAAGrW,KAAK,CAACvI,MAAhB;QAAA,IAAwB6e,KAAxB;QAAA,IAA+BhiB,MAA/B;;QACA,IAAI+hB,GAAJ,EAAS;UACL/hB,MAAM,GAAG+hB,GAAG,CAACtX,WAAJ,CAAgB,MAAhB,IAA0B,GAA1B,GAAgCqX,UAAzC;QACH,CAFD,MAGK;UACD9hB,MAAM,GAAG,aAAa8hB,UAAtB;QACH;;QACD,OAAOC,GAAP,EAAY;UACR,IAAIA,GAAG,CAACD,UAAD,CAAH,IAAmB,CAACC,GAAG,CAACD,UAAD,CAAH,CAAgBH,UAAhB,CAAxB,EAAqD;YACjDK,KAAK,GAAG3T,GAAG,CAACrF,mBAAJ,CAAwB+Y,GAAG,CAACD,UAAD,CAA3B,EAAyC9hB,MAAzC,CAAR;YACAgiB,KAAK,CAACL,UAAD,CAAL,GAAoBI,GAAG,CAACD,UAAD,CAAvB;YACAC,GAAG,CAACD,UAAD,CAAH,GAAkBE,KAAlB;UACH;;UACDD,GAAG,GAAGA,GAAG,CAACE,aAAV;QACH;MACJ,CAhBD,EAgBG,IAhBH;IAiBH,CApBD;;IAqBA,KAAK,IAAIpoB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGojB,UAAU,CAACljB,MAA/B,EAAuCF,CAAC,EAAxC,EAA4C;MACxC+nB,OAAO,CAAC/nB,CAAD,CAAP;IACH;EACJ;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI,SAASqoB,oBAAT,CAA8B7X,OAA9B,EAAuCgE,GAAvC,EAA4C;IACxC,IAAI2P,EAAE,GAAG3P,GAAG,CAAC3F,gBAAJ,EAAT;IAAA,IAAiC4C,SAAS,GAAG0S,EAAE,CAAC1S,SAAhD;IAAA,IAA2DC,KAAK,GAAGyS,EAAE,CAACzS,KAAtE;;IACA,IAAK,CAACD,SAAD,IAAc,CAACC,KAAhB,IAA0B,EAAE,qBAAqBlB,OAAO,CAAC1R,QAA/B,CAA9B,EAAwE;MACpE;IACH;;IACD,IAAIgjB,SAAS,GAAG,CAAC,iBAAD,EAAoB,kBAApB,EAAwC,kBAAxC,EAA4D,0BAA5D,CAAhB;IACAtN,GAAG,CAACjF,cAAJ,CAAmBiF,GAAnB,EAAwB1V,QAAxB,EAAkC,UAAlC,EAA8C,iBAA9C,EAAiEgjB,SAAjE;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI,CAAC,UAAUtR,OAAV,EAAmB;IAChB,IAAIlM,YAAY,GAAGkM,OAAO,CAAC,sBAAD,CAAP,IAAmC,iBAAtD;;IACA,SAASjM,UAAT,CAAoBjE,IAApB,EAA0B;MACtB,OAAOgE,YAAY,GAAGhE,IAAtB;IACH;;IACDkQ,OAAO,CAACjM,UAAU,CAAC,aAAD,CAAX,CAAP,GAAqC,YAAY;MAC7C,IAAIE,IAAI,GAAG+L,OAAO,CAAC,MAAD,CAAlB;;MACA/L,IAAI,CAACe,YAAL,CAAkB,gBAAlB,EAAoC,UAAUvB,MAAV,EAAkBQ,IAAlB,EAAwB+P,GAAxB,EAA6B;QAC7DA,GAAG,CAAClF,iBAAJ,GAAwBA,iBAAxB;QACAsU,aAAa;MAChB,CAHD;;MAIAnf,IAAI,CAACe,YAAL,CAAkB,iBAAlB,EAAqC,UAAUvB,MAAV,EAAkBQ,IAAlB,EAAwB+P,GAAxB,EAA6B;QAC9D6T,oBAAoB,CAACpkB,MAAD,EAASuQ,GAAT,CAApB;MACH,CAFD;;MAGA/P,IAAI,CAACe,YAAL,CAAkB,mBAAlB,EAAuC,UAAUvB,MAAV,EAAkBQ,IAAlB,EAAwB+P,GAAxB,EAA6B;QAChEmQ,sBAAsB,CAAC1gB,MAAD,EAASuQ,GAAT,CAAtB;QACA+R,6BAA6B,CAAC/R,GAAD,EAAMvQ,MAAN,CAA7B;MACH,CAHD;IAIH,CAbD;EAcH,CAnBD,EAmBG,OAAOuL,MAAP,KAAkB,WAAlB,GACCA,MADD,GAEC,OAAOvL,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyC,OAAOpF,IAAP,KAAgB,WAAhB,GAA8BA,IAA9B,GAAqC,EArBlF;EAsBA;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI,IAAIypB,UAAU,GAAGjY,YAAY,CAAC,UAAD,CAA7B;;EACA,SAASkY,UAAT,CAAoB/Y,MAApB,EAA4BgZ,OAA5B,EAAqCC,UAArC,EAAiDC,UAAjD,EAA6D;IACzD,IAAI3U,SAAS,GAAG,IAAhB;IACA,IAAI4U,WAAW,GAAG,IAAlB;IACAH,OAAO,IAAIE,UAAX;IACAD,UAAU,IAAIC,UAAd;IACA,IAAIE,eAAe,GAAG,EAAtB;;IACA,SAAS3gB,YAAT,CAAsBnB,IAAtB,EAA4B;MACxB,IAAIY,IAAI,GAAGZ,IAAI,CAACY,IAAhB;;MACAA,IAAI,CAACiF,IAAL,CAAU,CAAV,IAAe,YAAY;QACvB,OAAO7F,IAAI,CAACJ,MAAL,CAAYqF,KAAZ,CAAkB,IAAlB,EAAwBjK,SAAxB,CAAP;MACH,CAFD;;MAGA4F,IAAI,CAACwF,QAAL,GAAgB6G,SAAS,CAAChI,KAAV,CAAgByD,MAAhB,EAAwB9H,IAAI,CAACiF,IAA7B,CAAhB;MACA,OAAO7F,IAAP;IACH;;IACD,SAAS+hB,SAAT,CAAmB/hB,IAAnB,EAAyB;MACrB,OAAO6hB,WAAW,CAAC9nB,IAAZ,CAAiB2O,MAAjB,EAAyB1I,IAAI,CAACY,IAAL,CAAUwF,QAAnC,CAAP;IACH;;IACD6G,SAAS,GACLxF,WAAW,CAACiB,MAAD,EAASgZ,OAAT,EAAkB,UAAUpf,QAAV,EAAoB;MAAE,OAAO,UAAUvK,IAAV,EAAgB8N,IAAhB,EAAsB;QAC5E,IAAI,OAAOA,IAAI,CAAC,CAAD,CAAX,KAAmB,UAAvB,EAAmC;UAC/B,IAAImc,SAAS,GAAG;YACZnhB,UAAU,EAAE+gB,UAAU,KAAK,UADf;YAEZK,KAAK,EAAGL,UAAU,KAAK,SAAf,IAA4BA,UAAU,KAAK,UAA5C,GAA0D/b,IAAI,CAAC,CAAD,CAAJ,IAAW,CAArE,GACH9E,SAHQ;YAIZ8E,IAAI,EAAEA;UAJM,CAAhB;UAMA,IAAIqc,UAAU,GAAGrc,IAAI,CAAC,CAAD,CAArB;;UACAA,IAAI,CAAC,CAAD,CAAJ,GAAU,SAASsc,KAAT,GAAiB;YACvB,IAAI;cACA,OAAOD,UAAU,CAACjd,KAAX,CAAiB,IAAjB,EAAuBjK,SAAvB,CAAP;YACH,CAFD,SAGQ;cACJ;cACA;cACA;cACA;cACA;cACA;cACA;cACA,IAAI,CAAEgnB,SAAS,CAACnhB,UAAhB,EAA6B;gBACzB,IAAI,OAAOmhB,SAAS,CAAC5b,QAAjB,KAA8B,QAAlC,EAA4C;kBACxC;kBACA;kBACA,OAAO0b,eAAe,CAACE,SAAS,CAAC5b,QAAX,CAAtB;gBACH,CAJD,MAKK,IAAI4b,SAAS,CAAC5b,QAAd,EAAwB;kBACzB;kBACA;kBACA4b,SAAS,CAAC5b,QAAV,CAAmBob,UAAnB,IAAiC,IAAjC;gBACH;cACJ;YACJ;UACJ,CAzBD;;UA0BA,IAAIxhB,IAAI,GAAGsJ,gCAAgC,CAACoY,OAAD,EAAU7b,IAAI,CAAC,CAAD,CAAd,EAAmBmc,SAAnB,EAA8B7gB,YAA9B,EAA4C4gB,SAA5C,CAA3C;;UACA,IAAI,CAAC/hB,IAAL,EAAW;YACP,OAAOA,IAAP;UACH,CArC8B,CAsC/B;;;UACA,IAAIoiB,MAAM,GAAGpiB,IAAI,CAACY,IAAL,CAAUwF,QAAvB;;UACA,IAAI,OAAOgc,MAAP,KAAkB,QAAtB,EAAgC;YAC5B;YACA;YACAN,eAAe,CAACM,MAAD,CAAf,GAA0BpiB,IAA1B;UACH,CAJD,MAKK,IAAIoiB,MAAJ,EAAY;YACb;YACA;YACAA,MAAM,CAACZ,UAAD,CAAN,GAAqBxhB,IAArB;UACH,CAjD8B,CAkD/B;UACA;;;UACA,IAAIoiB,MAAM,IAAIA,MAAM,CAACC,GAAjB,IAAwBD,MAAM,CAACE,KAA/B,IAAwC,OAAOF,MAAM,CAACC,GAAd,KAAsB,UAA9D,IACA,OAAOD,MAAM,CAACE,KAAd,KAAwB,UAD5B,EACwC;YACpCtiB,IAAI,CAACqiB,GAAL,GAAWD,MAAM,CAACC,GAAP,CAAWE,IAAX,CAAgBH,MAAhB,CAAX;YACApiB,IAAI,CAACsiB,KAAL,GAAaF,MAAM,CAACE,KAAP,CAAaC,IAAb,CAAkBH,MAAlB,CAAb;UACH;;UACD,IAAI,OAAOA,MAAP,KAAkB,QAAlB,IAA8BA,MAAlC,EAA0C;YACtC,OAAOA,MAAP;UACH;;UACD,OAAOpiB,IAAP;QACH,CA7DD,MA8DK;UACD;UACA,OAAOsC,QAAQ,CAAC2C,KAAT,CAAeyD,MAAf,EAAuB7C,IAAvB,CAAP;QACH;MACJ,CAnEkD;IAmE/C,CAnEO,CADf;IAqEAgc,WAAW,GACPpa,WAAW,CAACiB,MAAD,EAASiZ,UAAT,EAAqB,UAAUrf,QAAV,EAAoB;MAAE,OAAO,UAAUvK,IAAV,EAAgB8N,IAAhB,EAAsB;QAC/E,IAAI2c,EAAE,GAAG3c,IAAI,CAAC,CAAD,CAAb;QACA,IAAI7F,IAAJ;;QACA,IAAI,OAAOwiB,EAAP,KAAc,QAAlB,EAA4B;UACxB;UACAxiB,IAAI,GAAG8hB,eAAe,CAACU,EAAD,CAAtB;QACH,CAHD,MAIK;UACD;UACAxiB,IAAI,GAAGwiB,EAAE,IAAIA,EAAE,CAAChB,UAAD,CAAf,CAFC,CAGD;;UACA,IAAI,CAACxhB,IAAL,EAAW;YACPA,IAAI,GAAGwiB,EAAP;UACH;QACJ;;QACD,IAAIxiB,IAAI,IAAI,OAAOA,IAAI,CAAC1G,IAAZ,KAAqB,QAAjC,EAA2C;UACvC,IAAI0G,IAAI,CAACE,KAAL,KAAe,cAAf,KACCF,IAAI,CAACc,QAAL,IAAiBd,IAAI,CAACY,IAAL,CAAUC,UAA3B,IAAyCb,IAAI,CAACU,QAAL,KAAkB,CAD5D,CAAJ,EACoE;YAChE,IAAI,OAAO8hB,EAAP,KAAc,QAAlB,EAA4B;cACxB,OAAOV,eAAe,CAACU,EAAD,CAAtB;YACH,CAFD,MAGK,IAAIA,EAAJ,EAAQ;cACTA,EAAE,CAAChB,UAAD,CAAF,GAAiB,IAAjB;YACH,CAN+D,CAOhE;;;YACAxhB,IAAI,CAAC1B,IAAL,CAAU2D,UAAV,CAAqBjC,IAArB;UACH;QACJ,CAZD,MAaK;UACD;UACAsC,QAAQ,CAAC2C,KAAT,CAAeyD,MAAf,EAAuB7C,IAAvB;QACH;MACJ,CAhCqD;IAgClD,CAhCO,CADf;EAkCH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI,SAAS4c,mBAAT,CAA6B/Y,OAA7B,EAAsCgE,GAAtC,EAA2C;IACvC,IAAI2P,EAAE,GAAG3P,GAAG,CAAC3F,gBAAJ,EAAT;IAAA,IAAiC4C,SAAS,GAAG0S,EAAE,CAAC1S,SAAhD;IAAA,IAA2DC,KAAK,GAAGyS,EAAE,CAACzS,KAAtE;;IACA,IAAK,CAACD,SAAD,IAAc,CAACC,KAAhB,IAA0B,CAAClB,OAAO,CAAC,gBAAD,CAAlC,IAAwD,EAAE,oBAAoBA,OAAtB,CAA5D,EAA4F;MACxF;IACH;;IACD,IAAIsR,SAAS,GAAG,CAAC,mBAAD,EAAsB,sBAAtB,EAA8C,iBAA9C,EAAiE,0BAAjE,CAAhB;IACAtN,GAAG,CAACjF,cAAJ,CAAmBiF,GAAnB,EAAwBhE,OAAO,CAACgZ,cAAhC,EAAgD,gBAAhD,EAAkE,QAAlE,EAA4E1H,SAA5E;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI,SAAS2H,gBAAT,CAA0BjZ,OAA1B,EAAmCgE,GAAnC,EAAwC;IACpC,IAAI/P,IAAI,CAAC+P,GAAG,CAACvG,MAAJ,CAAW,kBAAX,CAAD,CAAR,EAA0C;MACtC;MACA;IACH;;IACD,IAAIkW,EAAE,GAAG3P,GAAG,CAAC3F,gBAAJ,EAAT;IAAA,IAAiCuU,UAAU,GAAGe,EAAE,CAACf,UAAjD;IAAA,IAA6DpH,oBAAoB,GAAGmI,EAAE,CAACnI,oBAAvF;IAAA,IAA6G/L,QAAQ,GAAGkU,EAAE,CAAClU,QAA3H;IAAA,IAAqIC,SAAS,GAAGiU,EAAE,CAACjU,SAApJ;IAAA,IAA+JC,kBAAkB,GAAGgU,EAAE,CAAChU,kBAAvL,CALoC,CAMpC;;;IACA,KAAK,IAAInQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGojB,UAAU,CAACljB,MAA/B,EAAuCF,CAAC,EAAxC,EAA4C;MACxC,IAAI4S,SAAS,GAAGwQ,UAAU,CAACpjB,CAAD,CAA1B;MACA,IAAIuc,cAAc,GAAG3J,SAAS,GAAG1C,SAAjC;MACA,IAAIsM,aAAa,GAAG5J,SAAS,GAAG3C,QAAhC;MACA,IAAIhC,MAAM,GAAGkC,kBAAkB,GAAGoM,cAAlC;MACA,IAAIE,aAAa,GAAGtM,kBAAkB,GAAGqM,aAAzC;MACAR,oBAAoB,CAACpJ,SAAD,CAApB,GAAkC,EAAlC;MACAoJ,oBAAoB,CAACpJ,SAAD,CAApB,CAAgC1C,SAAhC,IAA6CjC,MAA7C;MACA+N,oBAAoB,CAACpJ,SAAD,CAApB,CAAgC3C,QAAhC,IAA4CwM,aAA5C;IACH;;IACD,IAAIqI,YAAY,GAAGtU,OAAO,CAAC,aAAD,CAA1B;;IACA,IAAI,CAACsU,YAAD,IAAiB,CAACA,YAAY,CAACzhB,SAAnC,EAA8C;MAC1C;IACH;;IACDmR,GAAG,CAACnG,gBAAJ,CAAqBmC,OAArB,EAA8BgE,GAA9B,EAAmC,CAACsQ,YAAY,IAAIA,YAAY,CAACzhB,SAA9B,CAAnC;IACA,OAAO,IAAP;EACH;;EACD,SAASqmB,UAAT,CAAoBzlB,MAApB,EAA4BuQ,GAA5B,EAAiC;IAC7BA,GAAG,CAAC7F,mBAAJ,CAAwB1K,MAAxB,EAAgCuQ,GAAhC;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;EACI/P,IAAI,CAACe,YAAL,CAAkB,QAAlB,EAA4B,UAAUvB,MAAV,EAAkB;IAC1C,IAAI0lB,WAAW,GAAG1lB,MAAM,CAACQ,IAAI,CAACF,UAAL,CAAgB,aAAhB,CAAD,CAAxB;;IACA,IAAIolB,WAAJ,EAAiB;MACbA,WAAW;IACd;EACJ,CALD;;EAMAllB,IAAI,CAACe,YAAL,CAAkB,gBAAlB,EAAoC,UAAUvB,MAAV,EAAkBQ,IAAlB,EAAwB+P,GAAxB,EAA6B;IAC7DA,GAAG,CAACjG,WAAJ,CAAgBtK,MAAhB,EAAwB,gBAAxB,EAA0C,UAAUmF,QAAV,EAAoB;MAC1D,OAAO,UAAUvK,IAAV,EAAgB8N,IAAhB,EAAsB;QACzBlI,IAAI,CAACY,OAAL,CAAamD,iBAAb,CAA+B,gBAA/B,EAAiDmE,IAAI,CAAC,CAAD,CAArD;MACH,CAFD;IAGH,CAJD;EAKH,CAND;;EAOAlI,IAAI,CAACe,YAAL,CAAkB,QAAlB,EAA4B,UAAUvB,MAAV,EAAkB;IAC1C,IAAImN,GAAG,GAAG,KAAV;IACA,IAAIwY,KAAK,GAAG,OAAZ;IACArB,UAAU,CAACtkB,MAAD,EAASmN,GAAT,EAAcwY,KAAd,EAAqB,SAArB,CAAV;IACArB,UAAU,CAACtkB,MAAD,EAASmN,GAAT,EAAcwY,KAAd,EAAqB,UAArB,CAAV;IACArB,UAAU,CAACtkB,MAAD,EAASmN,GAAT,EAAcwY,KAAd,EAAqB,WAArB,CAAV;EACH,CAND;;EAOAnlB,IAAI,CAACe,YAAL,CAAkB,uBAAlB,EAA2C,UAAUvB,MAAV,EAAkB;IACzDskB,UAAU,CAACtkB,MAAD,EAAS,SAAT,EAAoB,QAApB,EAA8B,gBAA9B,CAAV;IACAskB,UAAU,CAACtkB,MAAD,EAAS,YAAT,EAAuB,WAAvB,EAAoC,gBAApC,CAAV;IACAskB,UAAU,CAACtkB,MAAD,EAAS,eAAT,EAA0B,cAA1B,EAA0C,gBAA1C,CAAV;EACH,CAJD;;EAKAQ,IAAI,CAACe,YAAL,CAAkB,UAAlB,EAA8B,UAAUvB,MAAV,EAAkBQ,IAAlB,EAAwB;IAClD,IAAIolB,eAAe,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,SAApB,CAAtB;;IACA,KAAK,IAAI7pB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6pB,eAAe,CAAC3pB,MAApC,EAA4CF,CAAC,EAA7C,EAAiD;MAC7C,IAAI8pB,MAAM,GAAGD,eAAe,CAAC7pB,CAAD,CAA5B;MACAuO,WAAW,CAACtK,MAAD,EAAS6lB,MAAT,EAAiB,UAAU1gB,QAAV,EAAoB6E,MAApB,EAA4B3N,IAA5B,EAAkC;QAC1D,OAAO,UAAUypB,CAAV,EAAapd,IAAb,EAAmB;UACtB,OAAOlI,IAAI,CAACY,OAAL,CAAakB,GAAb,CAAiB6C,QAAjB,EAA2BnF,MAA3B,EAAmC0I,IAAnC,EAAyCrM,IAAzC,CAAP;QACH,CAFD;MAGH,CAJU,CAAX;IAKH;EACJ,CAVD;;EAWAmE,IAAI,CAACe,YAAL,CAAkB,aAAlB,EAAiC,UAAUvB,MAAV,EAAkBQ,IAAlB,EAAwB+P,GAAxB,EAA6B;IAC1DkV,UAAU,CAACzlB,MAAD,EAASuQ,GAAT,CAAV;IACAiV,gBAAgB,CAACxlB,MAAD,EAASuQ,GAAT,CAAhB,CAF0D,CAG1D;;IACA,IAAIwV,yBAAyB,GAAG/lB,MAAM,CAAC,2BAAD,CAAtC;;IACA,IAAI+lB,yBAAyB,IAAIA,yBAAyB,CAAC3mB,SAA3D,EAAsE;MAClEmR,GAAG,CAACnG,gBAAJ,CAAqBpK,MAArB,EAA6BuQ,GAA7B,EAAkC,CAACwV,yBAAyB,CAAC3mB,SAA3B,CAAlC;IACH;EACJ,CARD;;EASAoB,IAAI,CAACe,YAAL,CAAkB,kBAAlB,EAAsC,UAAUvB,MAAV,EAAkBQ,IAAlB,EAAwB+P,GAAxB,EAA6B;IAC/DtF,UAAU,CAAC,kBAAD,CAAV;IACAA,UAAU,CAAC,wBAAD,CAAV;EACH,CAHD;;EAIAzK,IAAI,CAACe,YAAL,CAAkB,sBAAlB,EAA0C,UAAUvB,MAAV,EAAkBQ,IAAlB,EAAwB+P,GAAxB,EAA6B;IACnEtF,UAAU,CAAC,sBAAD,CAAV;EACH,CAFD;;EAGAzK,IAAI,CAACe,YAAL,CAAkB,YAAlB,EAAgC,UAAUvB,MAAV,EAAkBQ,IAAlB,EAAwB+P,GAAxB,EAA6B;IACzDtF,UAAU,CAAC,YAAD,CAAV;EACH,CAFD;;EAGAzK,IAAI,CAACe,YAAL,CAAkB,aAAlB,EAAiC,UAAUvB,MAAV,EAAkBQ,IAAlB,EAAwB+P,GAAxB,EAA6B;IAC1DwO,uBAAuB,CAACxO,GAAD,EAAMvQ,MAAN,CAAvB;EACH,CAFD;;EAGAQ,IAAI,CAACe,YAAL,CAAkB,gBAAlB,EAAoC,UAAUvB,MAAV,EAAkBQ,IAAlB,EAAwB+P,GAAxB,EAA6B;IAC7D+U,mBAAmB,CAACtlB,MAAD,EAASuQ,GAAT,CAAnB;EACH,CAFD;;EAGA/P,IAAI,CAACe,YAAL,CAAkB,KAAlB,EAAyB,UAAUvB,MAAV,EAAkBQ,IAAlB,EAAwB;IAC7C;IACAwlB,QAAQ,CAAChmB,MAAD,CAAR;IACA,IAAIimB,QAAQ,GAAG7Z,YAAY,CAAC,SAAD,CAA3B;IACA,IAAI8Z,QAAQ,GAAG9Z,YAAY,CAAC,SAAD,CAA3B;IACA,IAAI+Z,YAAY,GAAG/Z,YAAY,CAAC,aAAD,CAA/B;IACA,IAAIga,aAAa,GAAGha,YAAY,CAAC,cAAD,CAAhC;IACA,IAAIia,OAAO,GAAGja,YAAY,CAAC,QAAD,CAA1B;IACA,IAAIka,0BAA0B,GAAGla,YAAY,CAAC,yBAAD,CAA7C;;IACA,SAAS4Z,QAAT,CAAkBza,MAAlB,EAA0B;MACtB,IAAIsX,cAAc,GAAGtX,MAAM,CAAC,gBAAD,CAA3B;;MACA,IAAI,CAACsX,cAAL,EAAqB;QACjB;QACA;MACH;;MACD,IAAIE,uBAAuB,GAAGF,cAAc,CAACzjB,SAA7C;;MACA,SAASmnB,eAAT,CAAyBlhB,MAAzB,EAAiC;QAC7B,OAAOA,MAAM,CAAC4gB,QAAD,CAAb;MACH;;MACD,IAAIO,cAAc,GAAGzD,uBAAuB,CAACjX,8BAAD,CAA5C;MACA,IAAI2a,iBAAiB,GAAG1D,uBAAuB,CAAChX,iCAAD,CAA/C;;MACA,IAAI,CAACya,cAAL,EAAqB;QACjB,IAAIE,2BAA2B,GAAGnb,MAAM,CAAC,2BAAD,CAAxC;;QACA,IAAImb,2BAAJ,EAAiC;UAC7B,IAAIC,kCAAkC,GAAGD,2BAA2B,CAACtnB,SAArE;UACAonB,cAAc,GAAGG,kCAAkC,CAAC7a,8BAAD,CAAnD;UACA2a,iBAAiB,GAAGE,kCAAkC,CAAC5a,iCAAD,CAAtD;QACH;MACJ;;MACD,IAAI6a,kBAAkB,GAAG,kBAAzB;MACA,IAAIC,SAAS,GAAG,WAAhB;;MACA,SAAS7iB,YAAT,CAAsBnB,IAAtB,EAA4B;QACxB,IAAIY,IAAI,GAAGZ,IAAI,CAACY,IAAhB;QACA,IAAI4B,MAAM,GAAG5B,IAAI,CAAC4B,MAAlB;QACAA,MAAM,CAAC+gB,aAAD,CAAN,GAAwB,KAAxB;QACA/gB,MAAM,CAACihB,0BAAD,CAAN,GAAqC,KAArC,CAJwB,CAKxB;;QACA,IAAIxY,QAAQ,GAAGzI,MAAM,CAAC8gB,YAAD,CAArB;;QACA,IAAI,CAACK,cAAL,EAAqB;UACjBA,cAAc,GAAGnhB,MAAM,CAACyG,8BAAD,CAAvB;UACA2a,iBAAiB,GAAGphB,MAAM,CAAC0G,iCAAD,CAA1B;QACH;;QACD,IAAI+B,QAAJ,EAAc;UACV2Y,iBAAiB,CAAC7pB,IAAlB,CAAuByI,MAAvB,EAA+BuhB,kBAA/B,EAAmD9Y,QAAnD;QACH;;QACD,IAAIgZ,WAAW,GAAGzhB,MAAM,CAAC8gB,YAAD,CAAN,GAAuB,YAAY;UACjD,IAAI9gB,MAAM,CAAC0hB,UAAP,KAAsB1hB,MAAM,CAAC2hB,IAAjC,EAAuC;YACnC;YACA;YACA,IAAI,CAACvjB,IAAI,CAACwjB,OAAN,IAAiB5hB,MAAM,CAAC+gB,aAAD,CAAvB,IAA0CvjB,IAAI,CAACE,KAAL,KAAe8jB,SAA7D,EAAwE;cACpE;cACA;cACA;cACA;cACA;cACA;cACA;cACA,IAAIK,SAAS,GAAG7hB,MAAM,CAAC7E,IAAI,CAACF,UAAL,CAAgB,WAAhB,CAAD,CAAtB;;cACA,IAAI+E,MAAM,CAACkQ,MAAP,KAAkB,CAAlB,IAAuB2R,SAAvB,IAAoCA,SAAS,CAACjrB,MAAV,GAAmB,CAA3D,EAA8D;gBAC1D,IAAIkrB,WAAW,GAAGtkB,IAAI,CAACJ,MAAvB;;gBACAI,IAAI,CAACJ,MAAL,GAAc,YAAY;kBACtB;kBACA;kBACA,IAAIykB,SAAS,GAAG7hB,MAAM,CAAC7E,IAAI,CAACF,UAAL,CAAgB,WAAhB,CAAD,CAAtB;;kBACA,KAAK,IAAIvE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmrB,SAAS,CAACjrB,MAA9B,EAAsCF,CAAC,EAAvC,EAA2C;oBACvC,IAAImrB,SAAS,CAACnrB,CAAD,CAAT,KAAiB8G,IAArB,EAA2B;sBACvBqkB,SAAS,CAAChpB,MAAV,CAAiBnC,CAAjB,EAAoB,CAApB;oBACH;kBACJ;;kBACD,IAAI,CAAC0H,IAAI,CAACwjB,OAAN,IAAiBpkB,IAAI,CAACE,KAAL,KAAe8jB,SAApC,EAA+C;oBAC3CM,WAAW,CAACvqB,IAAZ,CAAiBiG,IAAjB;kBACH;gBACJ,CAZD;;gBAaAqkB,SAAS,CAAC/pB,IAAV,CAAe0F,IAAf;cACH,CAhBD,MAiBK;gBACDA,IAAI,CAACJ,MAAL;cACH;YACJ,CA7BD,MA8BK,IAAI,CAACgB,IAAI,CAACwjB,OAAN,IAAiB5hB,MAAM,CAAC+gB,aAAD,CAAN,KAA0B,KAA/C,EAAsD;cACvD;cACA/gB,MAAM,CAACihB,0BAAD,CAAN,GAAqC,IAArC;YACH;UACJ;QACJ,CAvCD;;QAwCAE,cAAc,CAAC5pB,IAAf,CAAoByI,MAApB,EAA4BuhB,kBAA5B,EAAgDE,WAAhD;QACA,IAAIM,UAAU,GAAG/hB,MAAM,CAAC4gB,QAAD,CAAvB;;QACA,IAAI,CAACmB,UAAL,EAAiB;UACb/hB,MAAM,CAAC4gB,QAAD,CAAN,GAAmBpjB,IAAnB;QACH;;QACDwkB,UAAU,CAACvf,KAAX,CAAiBzC,MAAjB,EAAyB5B,IAAI,CAACiF,IAA9B;QACArD,MAAM,CAAC+gB,aAAD,CAAN,GAAwB,IAAxB;QACA,OAAOvjB,IAAP;MACH;;MACD,SAASykB,mBAAT,GAA+B,CAAG;;MAClC,SAAS1C,SAAT,CAAmB/hB,IAAnB,EAAyB;QACrB,IAAIY,IAAI,GAAGZ,IAAI,CAACY,IAAhB,CADqB,CAErB;QACA;;QACAA,IAAI,CAACwjB,OAAL,GAAe,IAAf;QACA,OAAOM,WAAW,CAACzf,KAAZ,CAAkBrE,IAAI,CAAC4B,MAAvB,EAA+B5B,IAAI,CAACiF,IAApC,CAAP;MACH;;MACD,IAAI8e,UAAU,GAAGld,WAAW,CAACyY,uBAAD,EAA0B,MAA1B,EAAkC,YAAY;QAAE,OAAO,UAAUnoB,IAAV,EAAgB8N,IAAhB,EAAsB;UACrG9N,IAAI,CAACsrB,QAAD,CAAJ,GAAiBxd,IAAI,CAAC,CAAD,CAAJ,IAAW,KAA5B;UACA9N,IAAI,CAACyrB,OAAD,CAAJ,GAAgB3d,IAAI,CAAC,CAAD,CAApB;UACA,OAAO8e,UAAU,CAAC1f,KAAX,CAAiBlN,IAAjB,EAAuB8N,IAAvB,CAAP;QACH,CAJ2E;MAIxE,CAJwB,CAA5B;MAKA,IAAI+e,qBAAqB,GAAG,qBAA5B;MACA,IAAIC,iBAAiB,GAAGtb,YAAY,CAAC,mBAAD,CAApC;MACA,IAAIub,mBAAmB,GAAGvb,YAAY,CAAC,qBAAD,CAAtC;MACA,IAAIib,UAAU,GAAG/c,WAAW,CAACyY,uBAAD,EAA0B,MAA1B,EAAkC,YAAY;QAAE,OAAO,UAAUnoB,IAAV,EAAgB8N,IAAhB,EAAsB;UACrG,IAAIlI,IAAI,CAACY,OAAL,CAAaumB,mBAAb,MAAsC,IAA1C,EAAgD;YAC5C;YACA;YACA;YACA,OAAON,UAAU,CAACvf,KAAX,CAAiBlN,IAAjB,EAAuB8N,IAAvB,CAAP;UACH;;UACD,IAAI9N,IAAI,CAACsrB,QAAD,CAAR,EAAoB;YAChB;YACA,OAAOmB,UAAU,CAACvf,KAAX,CAAiBlN,IAAjB,EAAuB8N,IAAvB,CAAP;UACH,CAHD,MAIK;YACD,IAAIH,OAAO,GAAG;cAAElD,MAAM,EAAEzK,IAAV;cAAgBgtB,GAAG,EAAEhtB,IAAI,CAACyrB,OAAD,CAAzB;cAAoC3iB,UAAU,EAAE,KAAhD;cAAuDgF,IAAI,EAAEA,IAA7D;cAAmEue,OAAO,EAAE;YAA5E,CAAd;YACA,IAAIpkB,IAAI,GAAGsJ,gCAAgC,CAACsb,qBAAD,EAAwBH,mBAAxB,EAA6C/e,OAA7C,EAAsDvE,YAAtD,EAAoE4gB,SAApE,CAA3C;;YACA,IAAIhqB,IAAI,IAAIA,IAAI,CAAC0rB,0BAAD,CAAJ,KAAqC,IAA7C,IAAqD,CAAC/d,OAAO,CAAC0e,OAA9D,IACApkB,IAAI,CAACE,KAAL,KAAe8jB,SADnB,EAC8B;cAC1B;cACA;cACA;cACAhkB,IAAI,CAACJ,MAAL;YACH;UACJ;QACJ,CAtB2E;MAsBxE,CAtBwB,CAA5B;MAuBA,IAAI8kB,WAAW,GAAGjd,WAAW,CAACyY,uBAAD,EAA0B,OAA1B,EAAmC,YAAY;QAAE,OAAO,UAAUnoB,IAAV,EAAgB8N,IAAhB,EAAsB;UACvG,IAAI7F,IAAI,GAAG0jB,eAAe,CAAC3rB,IAAD,CAA1B;;UACA,IAAIiI,IAAI,IAAI,OAAOA,IAAI,CAAC1G,IAAZ,IAAoB,QAAhC,EAA0C;YACtC;YACA;YACA;YACA;YACA,IAAI0G,IAAI,CAACc,QAAL,IAAiB,IAAjB,IAA0Bd,IAAI,CAACY,IAAL,IAAaZ,IAAI,CAACY,IAAL,CAAUwjB,OAArD,EAA+D;cAC3D;YACH;;YACDpkB,IAAI,CAAC1B,IAAL,CAAU2D,UAAV,CAAqBjC,IAArB;UACH,CATD,MAUK,IAAIrC,IAAI,CAACY,OAAL,CAAasmB,iBAAb,MAAoC,IAAxC,EAA8C;YAC/C;YACA,OAAOH,WAAW,CAACzf,KAAZ,CAAkBlN,IAAlB,EAAwB8N,IAAxB,CAAP;UACH,CAfsG,CAgBvG;UACA;UACA;;QACH,CAnB6E;MAmB1E,CAnByB,CAA7B;IAoBH;EACJ,CA1JD;;EA2JAlI,IAAI,CAACe,YAAL,CAAkB,aAAlB,EAAiC,UAAUvB,MAAV,EAAkB;IAC/C;IACA,IAAIA,MAAM,CAAC,WAAD,CAAN,IAAuBA,MAAM,CAAC,WAAD,CAAN,CAAoB6nB,WAA/C,EAA4D;MACxDpb,cAAc,CAACzM,MAAM,CAAC,WAAD,CAAN,CAAoB6nB,WAArB,EAAkC,CAAC,oBAAD,EAAuB,eAAvB,CAAlC,CAAd;IACH;EACJ,CALD;;EAMArnB,IAAI,CAACe,YAAL,CAAkB,uBAAlB,EAA2C,UAAUvB,MAAV,EAAkBQ,IAAlB,EAAwB;IAC/D;IACA,SAASsnB,2BAAT,CAAqC3K,OAArC,EAA8C;MAC1C,OAAO,UAAUrM,CAAV,EAAa;QAChB,IAAIiX,UAAU,GAAGhL,cAAc,CAAC/c,MAAD,EAASmd,OAAT,CAA/B;QACA4K,UAAU,CAAC/J,OAAX,CAAmB,UAAU/a,SAAV,EAAqB;UACpC;UACA;UACA,IAAI+kB,qBAAqB,GAAGhoB,MAAM,CAAC,uBAAD,CAAlC;;UACA,IAAIgoB,qBAAJ,EAA2B;YACvB,IAAIC,GAAG,GAAG,IAAID,qBAAJ,CAA0B7K,OAA1B,EAAmC;cAAE1K,OAAO,EAAE3B,CAAC,CAAC2B,OAAb;cAAsBgD,MAAM,EAAE3E,CAAC,CAACC;YAAhC,CAAnC,CAAV;YACA9N,SAAS,CAACR,MAAV,CAAiBwlB,GAAjB;UACH;QACJ,CARD;MASH,CAXD;IAYH;;IACD,IAAIjoB,MAAM,CAAC,uBAAD,CAAV,EAAqC;MACjCQ,IAAI,CAAC4L,YAAY,CAAC,kCAAD,CAAb,CAAJ,GACI0b,2BAA2B,CAAC,oBAAD,CAD/B;MAEAtnB,IAAI,CAAC4L,YAAY,CAAC,yBAAD,CAAb,CAAJ,GACI0b,2BAA2B,CAAC,kBAAD,CAD/B;IAEH;EACJ,CAtBD;AAuBH,CA58GD;;;;;;;;;;ACfA,mBAAO,CAAC,2CAAgC;AACxC,mBAAO,CAAC,+CAAoC;AAC5C,mBAAO,CAAC,qDAA0C;AAClD,mBAAO,CAAC,kDAA0C;AAClD,mBAAO,CAAC,yCAA8B;AACtC,mBAAO,CAAC,iEAAsD;AAC9D,mBAAO,CAAC,sDAA2C;AACnD,mBAAO,CAAC,wCAA8B;AACtC,mBAAO,CAAC,mDAAwC;AAChD,mBAAO,CAAC,8CAAmC;AAC3C,mBAAO,CAAC,wDAA6C;AACrD,mBAAO,CAAC,yCAA8B;AACtC,mBAAO,CAAC,sDAA2C;AACnD,mBAAO,CAAC,mDAAwC;AAChD,WAAW,mBAAO,CAAC,iCAAsB;;AAEzC;;;;;;;;;;;AChBA;AACA;AACA;AACA,IAAI;AACJ;;;;;;;;;;;ACJA,eAAe,mBAAO,CAAC,mCAAwB;;AAE/C;AACA;AACA;AACA,IAAI;AACJ;;;;;;;;;;;ACNA,eAAe,mBAAO,CAAC,mCAAwB;;AAE/C;AACA;AACA;AACA,IAAI;AACJ;;;;;;;;;;;ACNA,sBAAsB,mBAAO,CAAC,2CAAgC;AAC9D,eAAe,mBAAO,CAAC,mCAAwB;AAC/C,sBAAsB,mBAAO,CAAC,0CAAgC;;AAE9D,sBAAsB,mBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW,gBAAgB;AACjC;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC/BA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;ACJA,UAAU,mBAAO,CAAC,6BAAkB;AACpC,cAAc,mBAAO,CAAC,kCAAuB;AAC7C,qCAAqC,mBAAO,CAAC,4DAAiD;AAC9F,2BAA2B,mBAAO,CAAC,gDAAqC;;AAExE;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;;;;;;;;;;;ACbA,YAAY,mBAAO,CAAC,+BAAoB;;AAExC;AACA,iBAAiB;AACjB;AACA;AACA,CAAC;;;;;;;;;;;ACND,kBAAkB,mBAAO,CAAC,qCAA0B;AACpD,2BAA2B,mBAAO,CAAC,gDAAqC;AACxE,+BAA+B,mBAAO,CAAC,mDAAyC;;AAEhF;AACA;AACA,EAAE;AACF;AACA;AACA;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA,YAAY,mBAAO,CAAC,+BAAoB;;AAExC;AACA;AACA,iCAAiC,OAAO,mBAAmB,aAAa;AACxE,CAAC;;;;;;;;;;;ACLD,aAAa,mBAAO,CAAC,gCAAqB;AAC1C,eAAe,mBAAO,CAAC,mCAAwB;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTA,aAAa,mBAAO,CAAC,gCAAqB;AAC1C,+BAA+B,qFAA4D;AAC3F,kCAAkC,mBAAO,CAAC,wDAA6C;AACvF,eAAe,mBAAO,CAAC,kCAAuB;AAC9C,gBAAgB,mBAAO,CAAC,oCAAyB;AACjD,gCAAgC,mBAAO,CAAC,qDAA0C;AAClF,eAAe,mBAAO,CAAC,mCAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,mDAAmD;AACnD,IAAI;AACJ,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACrDA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;ACNA,YAAY,mBAAO,CAAC,+BAAoB;;AAExC;AACA,wDAAwD;AACxD,CAAC;;;;;;;;;;;;ACJY;AACb,gBAAgB,mBAAO,CAAC,oCAAyB;AACjD,eAAe,mBAAO,CAAC,mCAAwB;;AAE/C;AACA;;AAEA;AACA;AACA,+BAA+B,gBAAgB;AAC/C;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC1BA,WAAW,mBAAO,CAAC,8BAAmB;AACtC,aAAa,mBAAO,CAAC,gCAAqB;;AAE1C;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;ACVA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;;;;;;;;;;;ACZ/B,uBAAuB;;AAEvB;AACA;AACA;;;;;;;;;;;ACJA;;;;;;;;;;;ACAA,iBAAiB,mBAAO,CAAC,qCAA2B;;AAEpD;;;;;;;;;;;ACFA,kBAAkB,mBAAO,CAAC,qCAA0B;AACpD,YAAY,mBAAO,CAAC,+BAAoB;AACxC,oBAAoB,mBAAO,CAAC,iDAAsC;;AAElE;AACA;AACA;AACA,uBAAuB;AACvB,GAAG;AACH,CAAC;;;;;;;;;;;ACTD,YAAY,mBAAO,CAAC,+BAAoB;AACxC,cAAc,mBAAO,CAAC,qCAA0B;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,EAAE;;;;;;;;;;;ACZF,YAAY,mBAAO,CAAC,sCAA2B;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;ACXA,sBAAsB,mBAAO,CAAC,yCAA8B;AAC5D,aAAa,mBAAO,CAAC,gCAAqB;AAC1C,eAAe,mBAAO,CAAC,mCAAwB;AAC/C,kCAAkC,mBAAO,CAAC,wDAA6C;AACvF,gBAAgB,mBAAO,CAAC,6BAAkB;AAC1C,aAAa,mBAAO,CAAC,sCAA2B;AAChD,gBAAgB,mBAAO,CAAC,oCAAyB;AACjD,iBAAiB,mBAAO,CAAC,qCAA0B;;AAEnD;AACA;;AAEA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC/DA,YAAY,mBAAO,CAAC,+BAAoB;;AAExC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;ACpBA;AACA;AACA;;;;;;;;;;;ACFA;;;;;;;;;;;ACAA,YAAY,mBAAO,CAAC,+BAAoB;;AAExC;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;ACND,aAAa,mBAAO,CAAC,gCAAqB;AAC1C,oBAAoB,mBAAO,CAAC,wCAA6B;;AAEzD;;AAEA;;;;;;;;;;;ACLA,eAAe,mBAAO,CAAC,mCAAwB;AAC/C,uBAAuB,mBAAO,CAAC,kDAAuC;AACtE,kBAAkB,mBAAO,CAAC,uCAA4B;AACtD,iBAAiB,mBAAO,CAAC,qCAA0B;AACnD,WAAW,mBAAO,CAAC,8BAAmB;AACtC,4BAA4B,mBAAO,CAAC,iDAAsC;AAC1E,gBAAgB,mBAAO,CAAC,oCAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;AAC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AAOk5C,+BAA+B,CAACnvB,GAAhC,CAAoC/pB,QAAQ,CAACtC,WAAT,EAApC,CAAP;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,MAAM07C,SAAN,CAAgB;EACZz4D,WAAW,GAAG;IACV,KAAK04D,aAAL,GAAqB,IAArB;EACH;EACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;EACIC,WAAW,CAACC,OAAD,EAAU56C,QAAV,EAAoB66C,YAAY,GAAG,EAAnC,EAAuC;IAC9C,MAAMC,gBAAgB,GAAGC,uBAAuB,CAACH,OAAD,CAAhD;IACAA,OAAO,GAAGI,aAAa,CAACJ,OAAD,CAAvB;IACAA,OAAO,GAAG,KAAKK,iBAAL,CAAuBL,OAAvB,CAAV;;IACA,MAAMM,aAAa,GAAG,KAAKC,aAAL,CAAmBP,OAAnB,EAA4B56C,QAA5B,EAAsC66C,YAAtC,CAAtB;;IACA,OAAO,CAACK,aAAD,EAAgB,GAAGJ,gBAAnB,EAAqClnE,IAArC,CAA0C,IAA1C,CA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lB,KAA0B,CAAC,CAAhE,EAAmE;MAC/DoM,KAAK,GAAG2lE,SAAR;IACH;EACJ;;EACD,OAAO3lE,KAAP;AACH;;AACD,SAASslE,SAAT,CAAmBtlE,KAAnB,EAA0B;EACtB,OAAOA,KAAK,CACPvM,OADE,CACM,aADN,EACqBgX,CAAC,IAAI;IAC7B,OAAOA,CAAC,CAACgZ,MAAF,CAAS,CAAT,IAAc,GAAd,GAAoBhZ,CAAC,CAACgZ,MAAF,CAAS,CAAT,CAA3B;EACH,CAHM,EAIFhC,WAJE,EAAP;AAKH;;AAED,MAAMmkD,cAAc,GAAG,YAAvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,kCAAkC,GAAG,CAA3C;AACA;AACA;AACA;AACA;AACA;AACA;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,cAAN,CAAqB;EACjBphE,WAAW,CAACqhE,cAAD,EAAiB;IACxB,KAAKA,cAAL,GAAsBA,cAAtB;IACA;;IACA,KAAKC,iBAAL,GAAyB,KAAzB;IACA;AACR;AACA;AACA;;IACQ,KAAKC,WAAL,GAAmB,KAAnB;IACA,KAAKC,oBAAL,GAA4B,KAA5B;IACA;;IACA,KAAKC,cAAL,GAAsB,IAAtB;IACA;;IACA,KAAKC,cAAL,GAAsB,IAAtB;IACA;;IACA,KAAKC,kBAAL,GAA0B,IAA1B;IACA;;IACA,KAAKC,kBAAL,GAA0B,IAA1B;IACA,KAAKC,iBAAL,GAAyB,IAAzB;IACA,KAAKC,kBAAL,GAA0B,IAA1B,CAnBwB,CAoBxB;IACA;;IACA;AACR;AACA;AACA;AACA;;IACQ,KAAK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GAAd,CAAkB,MAAlB,EAA0B06B,OAAO,CAAC73B,IAAI,CAAC+rB,IAAN,CAAjC;EACH;;EACD,OAAOm8B,aAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA8lD,aAAa,CAACzxG,OAAD,CAAb;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACjjsBA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACAmmH,oEAAA,GAAqBC,4DAArB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMG,cAAc,GAAG,GAAvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM9T,iBAAiB,GAAG,GAA1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,YAAY,GAAG,IAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMv9E,mBAAmB,GAAG,QAA5B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASqxF,YAAT,CAAsBlxF,YAAtB,EAAoCnB,WAApC,EAAiDg+B,QAAjD,EAA2Ds0D,oBAA3D,EAAiFC,mBAAmB,GAAG,EAAvG,EAA2G;EACvG,MAAMC,aAAa,GAAG,EAAtB;EACA,MAAMC,qBAAqB,GAAG,EAA9B;EACA,MAAMC,oBAAoB,GAAG,EAA7B;EACA,MAAMj5D,QAAQ,GAAGk5D,aAAa,CAACxxF,YAAY,CAAC,CAAD,CAAb,EAAkBA,YAAY,CAACoB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AAiCA,MAD3C,IAEnC,OAAO3Q,IAAP,KAAgB,WAAhB,IAA+B,OAAOyS,iBAAP,KAA6B,WAA5D,IACGzS,IAAI,YAAYyS,iBADnB,IACwCzS,IAHZ,GAAjC;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMu6H,WAAW,GAAG,UAAUtzF,YAAV,EAAwB,GAAGnB,WAA3B,EAAwC;EACxD,IAAIy0F,WAAW,CAACJ,SAAhB,EAA2B;IACvB;IACA,MAAMR,WAAW,GAAGY,WAAW,CAACJ,SAAZ,CAAsBlzF,YAAtB,EAAoCnB,WAApC,CAApB;IACAmB,YAAY,GAAG0yF,WAAW,CAAC,CAAD,CAA1B;IACA7zF,WAAW,GAAG6zF,WAAW,CAAC,CAAD,CAAzB;EACH;;EACD,IAAIn4H,OAAO,GAAGg5H,UAAU,CAACvzF,YAAY,CAAC,CAAD,CAAb,EAAkBA,YAAY,CAACoB,GAAb,CAAiB,CAAjB,CAAlB,CAAxB;;EACA,KAAK,IAAIlnC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8lC,YAAY,CAAC5lC,MAAjC,EAAyCF,CAAC,EAA1C,EAA8C;IAC1CK,OAAO,IAAIskC,WAAW,CAAC3kC,CAAC,GAAG,CAAL,CAAX,GAAqBq5H,UAAU,CAACvzF,YAAY,CAAC9lC,CAAD,CAAb,EAAkB8lC,YAAY,CAACoB,GAAb,CAAiBlnC,CAAjB,CAAlB,CAA1C;EACH;;EACD,OAAOK,OAAP;AACH,CAZD;;AAaA,MAAMi5H,YAAY,GAAG,GAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASD,UAAT,CAAoBzyF,WAApB,EAAiC2yF,cAAjC,EAAiD;EAC7C,OAAOA,cAAc,CAAC5pG,MAAf,CAAsB,CAAtB,MAA6B2pG,YAA7B,GACH1yF,WAAW,CAAC7jB,SAAZ,CAAsBi1G,cAAc,CAACpxF,WAAD,EAAc2yF,cAAd,CAAd,GAA8C,CAApE,CADG,GAEH3yF,WAFJ;AAGH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./src/polyfills.ts","./node_modules/classlist.js/classList.js","./node_modules/zone.js/dist/zone.js","./node_modules/core-js/es/reflect/index.js","./node_modules/core-js/internals/a-function.js","./node_modules/core-js/internals/a-possible-prototype.js","./node_modules/core-js/internals/an-object.js","./node_modules/core-js/internals/array-includes.js","./node_modules/core-js/internals/classof-raw.js","./node_modules/core-js/internals/copy-constructor-properties.js","./node_modules/core-js/internals/correct-prototype-getter.js","./node_modules/core-js/internals/create-non-enumerable-property.js","./node_modules/core-js/internals/create-property-descriptor.js","./node_modules/core-js/internals/descriptors.js","./node_modules/core-js/internals/document-create-element.js","./node_modules/core-js/internals/enum-bug-keys.js","./node_modules/core-js/internals/export.js","./node_modules/core-js/internals/fails.js","./node_modules/core-js/internals/freezing.js","./node_modules/core-js/internals/function-bind.js","./node_modules/core-js/internals/get-built-in.js","./node_modules/core-js/internals/global.js","./node_modules/core-js/internals/has.js","./node_modules/core-js/internals/hidden-keys.js","./node_modules/core-js/internals/html.js","./node_modules/core-js/internals/ie8-dom-define.js","./node_modules/core-js/internals/indexed-object.js","./node_modules/core-js/internals/inspect-source.js","./node_modules/core-js/internals/internal-state.js","./node_modules/core-js/internals/is-forced.js","./node_modules/core-js/internals/is-object.js","./node_modules/core-js/internals/is-pure.js","./node_modules/core-js/internals/native-symbol.js","./node_modules/core-js/internals/native-weak-map.js","./node_modules/core-js/internals/object-create.js","./node_modules/core-js/internals/object-define-properties.js","./node_modules/core-js/internals/object-define-property.js","./node_modules/core-js/internals/object-get-own-property-descriptor.js","./node_modules/core-js/internals/object-get-own-property-names.js","./node_modules/core-js/internals/object-get-own-property-symbols.js","./node_modules/core-js/internals/object-get-prototype-of.js","./node_modules/core-js/internals/object-keys-internal.js","./node_modules/core-js/internals/object-keys.js","./node_modules/core-js/internals/object-property-is-enumerable.js","./node_modules/core-js/internals/object-set-prototype-of.js","./node_modules/core-js/internals/own-keys.js","./node_modules/core-js/internals/path.js","./node_modules/core-js/internals/redefine.js","./node_modules/core-js/internals/require-object-coercible.js","./node_modules/core-js/internals/set-global.js","./node_modules/core-js/internals/set-to-string-tag.js","./node_modules/core-js/internals/shared-key.js","./node_modules/core-js/internals/shared-store.js","./node_modules/core-js/internals/shared.js","./node_modules/core-js/internals/to-absolute-index.js","./node_modules/core-js/internals/to-indexed-object.js","./node_modules/core-js/internals/to-integer.js","./node_modules/core-js/internals/to-length.js","./node_modules/core-js/internals/to-object.js","./node_modules/core-js/internals/to-primitive.js","./node_modules/core-js/internals/uid.js","./node_modules/core-js/internals/use-symbol-as-uid.js","./node_modules/core-js/internals/well-known-symbol.js","./node_modules/core-js/modules/es.reflect.apply.js","./node_modules/core-js/modules/es.reflect.construct.js","./node_modules/core-js/modules/es.reflect.define-property.js","./node_modules/core-js/modules/es.reflect.delete-property.js","./node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js","./node_modules/core-js/modules/es.reflect.get-prototype-of.js","./node_modules/core-js/modules/es.reflect.get.js","./node_modules/core-js/modules/es.reflect.has.js","./node_modules/core-js/modules/es.reflect.is-extensible.js","./node_modules/core-js/modules/es.reflect.own-keys.js","./node_modules/core-js/modules/es.reflect.prevent-extensions.js","./node_modules/core-js/modules/es.reflect.set-prototype-of.js","./node_modules/core-js/modules/es.reflect.set.js","./node_modules/core-js/modules/es.reflect.to-string-tag.js","./node_modules/web-animations-js/web-animations.min.js","./node_modules/@angular/compiler/fesm2020/compiler.mjs","./node_modules/@angular/localize/fesm2020/init.mjs","./node_modules/@angular/localize/fesm2020/localize.mjs"],"sourcesContent":["/***************************************************************************************************\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\n */\nimport '@angular/localize/init';\n/**\n * This file includes polyfills needed by Angular and is loaded before the app.\n * You can add your own extra polyfills to this file.\n *\n * This file is divided into 2 sections:\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\n * file.\n *\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\n *\n * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html\n */\n\n/***************************************************************************************************\n * BROWSER POLYFILLS\n */\n\n/** IE9, IE10 and IE11 requires all of the following polyfills. **/\n// import 'core-js/es6/symbol';\n// import 'core-js/es6/object';\n// import 'core-js/es6/function';\n// import 'core-js/es6/parse-int';\n// import 'core-js/es6/parse-float';\n// import 'core-js/es6/number';\n// import 'core-js/es6/math';\n// import 'core-js/es6/string';\n// import 'core-js/es6/date';\n// import 'core-js/es6/array';\n// import 'core-js/es6/regexp';\n// import 'core-js/es6/map';\n// import 'core-js/es6/set';\n\n/** IE10 and IE11 requires the following for NgClass support on SVG elements */\nimport 'classlist.js'; // Run `npm install --save classlist.js`.\n\n/** IE10 and IE11 requires the following to support `@angular/animation`. */\nimport 'web-animations-js'; // Run `npm install --save webå-animations-js`.\n\n\n/** Evergreen browsers require these. **/\nimport 'core-js/es/reflect';\n\n\n\n/** ALL Firefox browsers require the following to support `@angular/animation`. **/\nimport 'web-animations-js'; // Run `npm install --save web-animations-js`.\n\n\n\n/***************************************************************************************************\n * Zone JS is required by Angular itself.\n */\nimport 'zone.js/dist/zone'; // Included with Angular CLI.\n\n\n\n/***************************************************************************************************\n * APPLICATION IMPORTS\n */\n\n/**\n * Date, currency, decimal and percent pipes.\n * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10\n */\n// import 'intl'; // Run `npm install --save intl`.\n","/*\n * classList.js: Cross-browser full element.classList implementation.\n * 1.1.20150312\n *\n * By Eli Grey, http://eligrey.com\n * License: Dedicated to the public domain.\n * See https://github.com/eligrey/classList.js/blob/master/LICENSE.md\n */\n\n/*global self, document, DOMException */\n\n/*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js */\n\nif (\"document\" in self) {\n\n// Full polyfill for browsers with no classList support\n// Including IE < Edge missing SVGElement.classList\nif (!(\"classList\" in document.createElement(\"_\")) \n\t|| document.createElementNS && !(\"classList\" in document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\"))) {\n\n(function (view) {\n\n\"use strict\";\n\nif (!('Element' in view)) return;\n\nvar\n\t classListProp = \"classList\"\n\t, protoProp = \"prototype\"\n\t, elemCtrProto = view.Element[protoProp]\n\t, objCtr = Object\n\t, strTrim = String[protoProp].trim || function () {\n\t\treturn this.replace(/^\\s+|\\s+$/g, \"\");\n\t}\n\t, arrIndexOf = Array[protoProp].indexOf || function (item) {\n\t\tvar\n\t\t\t i = 0\n\t\t\t, len = this.length\n\t\t;\n\t\tfor (; i < len; i++) {\n\t\t\tif (i in this && this[i] === item) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t}\n\t// Vendors: please allow content code to instantiate DOMExceptions\n\t, DOMEx = function (type, message) {\n\t\tthis.name = type;\n\t\tthis.code = DOMException[type];\n\t\tthis.message = message;\n\t}\n\t, checkTokenAndGetIndex = function (classList, token) {\n\t\tif (token === \"\") {\n\t\t\tthrow new DOMEx(\n\t\t\t\t \"SYNTAX_ERR\"\n\t\t\t\t, \"An invalid or illegal string was specified\"\n\t\t\t);\n\t\t}\n\t\tif (/\\s/.test(token)) {\n\t\t\tthrow new DOMEx(\n\t\t\t\t \"INVALID_CHARACTER_ERR\"\n\t\t\t\t, \"String contains an invalid character\"\n\t\t\t);\n\t\t}\n\t\treturn arrIndexOf.call(classList, token);\n\t}\n\t, ClassList = function (elem) {\n\t\tvar\n\t\t\t trimmedClasses = strTrim.call(elem.getAttribute(\"class\") || \"\")\n\t\t\t, classes = trimmedClasses ? trimmedClasses.split(/\\s+/) : []\n\t\t\t, i = 0\n\t\t\t, len = classes.length\n\t\t;\n\t\tfor (; i < len; i++) {\n\t\t\tthis.push(classes[i]);\n\t\t}\n\t\tthis._updateClassName = function () {\n\t\t\telem.setAttribute(\"class\", this.toString());\n\t\t};\n\t}\n\t, classListProto = ClassList[protoProp] = []\n\t, classListGetter = function () {\n\t\treturn new ClassList(this);\n\t}\n;\n// Most DOMException implementations don't allow calling DOMException's toString()\n// on non-DOMExceptions. Error's toString() is sufficient here.\nDOMEx[protoProp] = Error[protoProp];\nclassListProto.item = function (i) {\n\treturn this[i] || null;\n};\nclassListProto.contains = function (token) {\n\ttoken += \"\";\n\treturn checkTokenAndGetIndex(this, token) !== -1;\n};\nclassListProto.add = function () {\n\tvar\n\t\t tokens = arguments\n\t\t, i = 0\n\t\t, l = tokens.length\n\t\t, token\n\t\t, updated = false\n\t;\n\tdo {\n\t\ttoken = tokens[i] + \"\";\n\t\tif (checkTokenAndGetIndex(this, token) === -1) {\n\t\t\tthis.push(token);\n\t\t\tupdated = true;\n\t\t}\n\t}\n\twhile (++i < l);\n\n\tif (updated) {\n\t\tthis._updateClassName();\n\t}\n};\nclassListProto.remove = function () {\n\tvar\n\t\t tokens = arguments\n\t\t, i = 0\n\t\t, l = tokens.length\n\t\t, token\n\t\t, updated = false\n\t\t, index\n\t;\n\tdo {\n\t\ttoken = tokens[i] + \"\";\n\t\tindex = checkTokenAndGetIndex(this, token);\n\t\twhile (index !== -1) {\n\t\t\tthis.splice(index, 1);\n\t\t\tupdated = true;\n\t\t\tindex = checkTokenAndGetIndex(this, token);\n\t\t}\n\t}\n\twhile (++i < l);\n\n\tif (updated) {\n\t\tthis._updateClassName();\n\t}\n};\nclassListProto.toggle = function (token, force) {\n\ttoken += \"\";\n\n\tvar\n\t\t result = this.contains(token)\n\t\t, method = result ?\n\t\t\tforce !== true && \"remove\"\n\t\t:\n\t\t\tforce !== false && \"add\"\n\t;\n\n\tif (method) {\n\t\tthis[method](token);\n\t}\n\n\tif (force === true || force === false) {\n\t\treturn force;\n\t} else {\n\t\treturn !result;\n\t}\n};\nclassListProto.toString = function () {\n\treturn this.join(\" \");\n};\n\nif (objCtr.defineProperty) {\n\tvar classListPropDesc = {\n\t\t get: classListGetter\n\t\t, enumerable: true\n\t\t, configurable: true\n\t};\n\ttry {\n\t\tobjCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);\n\t} catch (ex) { // IE 8 doesn't support enumerable:true\n\t\tif (ex.number === -0x7FF5EC54) {\n\t\t\tclassListPropDesc.enumerable = false;\n\t\t\tobjCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);\n\t\t}\n\t}\n} else if (objCtr[protoProp].__defineGetter__) {\n\telemCtrProto.__defineGetter__(classListProp, classListGetter);\n}\n\n}(self));\n\n} else {\n// There is full or partial native classList support, so just check if we need\n// to normalize the add/remove and toggle APIs.\n\n(function () {\n\t\"use strict\";\n\n\tvar testElement = document.createElement(\"_\");\n\n\ttestElement.classList.add(\"c1\", \"c2\");\n\n\t// Polyfill for IE 10/11 and Firefox <26, where classList.add and\n\t// classList.remove exist but support only one argument at a time.\n\tif (!testElement.classList.contains(\"c2\")) {\n\t\tvar createMethod = function(method) {\n\t\t\tvar original = DOMTokenList.prototype[method];\n\n\t\t\tDOMTokenList.prototype[method] = function(token) {\n\t\t\t\tvar i, len = arguments.length;\n\n\t\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\t\ttoken = arguments[i];\n\t\t\t\t\toriginal.call(this, token);\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\tcreateMethod('add');\n\t\tcreateMethod('remove');\n\t}\n\n\ttestElement.classList.toggle(\"c3\", false);\n\n\t// Polyfill for IE 10 and Firefox <24, where classList.toggle does not\n\t// support the second argument.\n\tif (testElement.classList.contains(\"c3\")) {\n\t\tvar _toggle = DOMTokenList.prototype.toggle;\n\n\t\tDOMTokenList.prototype.toggle = function(token, force) {\n\t\t\tif (1 in arguments && !this.contains(token) === !force) {\n\t\t\t\treturn force;\n\t\t\t} else {\n\t\t\t\treturn _toggle.call(this, token);\n\t\t\t}\n\t\t};\n\n\t}\n\n\ttestElement = null;\n}());\n\n}\n\n}\n\n","'use strict';\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n/**\n * @license Angular v14.2.0-next.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n})((function () {\n 'use strict';\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 ((function (global) {\n var performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n var symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) {\n return symbolPrefix + name;\n }\n var checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new _ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () {\n return _currentZoneFrame.zone;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () {\n return _currentTask;\n },\n enumerable: false,\n configurable: true\n });\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__load_patch = function (name, fn, ignoreDuplicate) {\n if (ignoreDuplicate === void 0) { ignoreDuplicate = false; }\n if (patches.hasOwnProperty(name)) {\n // `checkDuplicate` option is defined from global variable\n // so it works for all modules.\n // `ignoreDuplicate` can work for the specified module\n if (!ignoreDuplicate && checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: false,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \".concat(this.name, \" which is descendants of the original zone \").concat(task.zone.name));\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n return Zone;\n }());\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) { return delegate.scheduleTask(target, task); },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) { return delegate.invokeTask(target, task, applyThis, applyArgs); },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var _ZoneDelegate = /** @class */ (function () {\n function _ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n _ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n _ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n _ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n _ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n _ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n _ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n _ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n _ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n // tslint:disable-next-line:require-internal-with-underscore\n _ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return _ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () {\n return this._zone;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () {\n return this._state;\n },\n enumerable: false,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () {\n this._transitionTo(notScheduled, scheduling);\n };\n // tslint:disable-next-line:require-internal-with-underscore\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(\"\".concat(this.type, \" '\").concat(this.source, \"': can not transition to '\").concat(toState, \"', expecting state '\").concat(fromState1, \"'\").concat(fromState2 ? ' or \\'' + fromState2 + '\\'' : '', \", was '\").concat(this._state, \"'.\"));\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function nativeScheduleMicroTask(func) {\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, func);\n }\n else {\n global[symbolSetTimeout](func, 0);\n }\n }\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n nativeScheduleMicroTask(drainMicroTaskQueue);\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n patchMacroTask: function () { return noop; },\n patchEventPrototype: function () { return noop; },\n isIEOrEdge: function () { return false; },\n getGlobalObjects: function () { return undefined; },\n ObjectDefineProperty: function () { return noop; },\n ObjectGetOwnPropertyDescriptor: function () { return undefined; },\n ObjectCreate: function () { return undefined; },\n ArraySlice: function () { return []; },\n patchClass: function () { return noop; },\n wrapWithCurrentZone: function () { return noop; },\n filterProperties: function () { return []; },\n attachOriginToPatched: function () { return noop; },\n _redefineProperty: function () { return noop; },\n patchCallbacks: function () { return noop; },\n nativeScheduleMicroTask: nativeScheduleMicroTask\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n }))(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\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 * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n /// \n // issue #989, to reduce bundle size, use short name\n /** Object.getOwnPropertyDescriptor */\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n /** Object.defineProperty */\n var ObjectDefineProperty = Object.defineProperty;\n /** Object.getPrototypeOf */\n var ObjectGetPrototypeOf = Object.getPrototypeOf;\n /** Object.create */\n var ObjectCreate = Object.create;\n /** Array.prototype.slice */\n var ArraySlice = Array.prototype.slice;\n /** addEventListener string const */\n var ADD_EVENT_LISTENER_STR = 'addEventListener';\n /** removeEventListener string const */\n var REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n /** zoneSymbol addEventListener */\n var ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n /** zoneSymbol removeEventListener */\n var ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n /** true string const */\n var TRUE_STR = 'true';\n /** false string const */\n var FALSE_STR = 'false';\n /** Zone symbol prefix string const. */\n var ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\n function wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n }\n function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n }\n var zoneSymbol$1 = Zone.__symbol__;\n var isWindowExists = typeof window !== 'undefined';\n var internalWindow = isWindowExists ? window : undefined;\n var _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\n var REMOVE_ATTRIBUTE = 'removeAttribute';\n function bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n }\n function patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_1 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_1(i);\n }\n }\n function isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n }\n var isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\n var isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n // we are in electron of nw, so we are both browser and nodejs\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\n var zoneSymbolEventNames$1 = {};\n var wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames$1[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[event.type] = zoneSymbol$1('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signature\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n };\n function patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n var onPropPatchedSymbol = zoneSymbol$1('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // slice(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.slice(2);\n var eventNameSymbol = zoneSymbolEventNames$1[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames$1[eventName] = zoneSymbol$1('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (typeof previousValue === 'function') {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n originalDescSet && originalDescSet.call(target, null);\n target[eventNameSymbol] = newValue;\n if (typeof newValue === 'function') {\n target.addEventListener(eventName, wrapFn, false);\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n }\n function patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.slice(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n }\n var originalInstanceKey = zoneSymbol$1('originalInstance');\n // wrap some native API on `window`\n function patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol$1(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n }\n function patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol$1(name);\n var delegate = null;\n if (proto && (!(delegate = proto[delegateName]) || !proto.hasOwnProperty(delegateName))) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate_1(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n }\n }\n return delegate;\n }\n // TODO: @JiaLiPassion, support cancel task later if necessary\n function patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n }\n function attachOriginToPatched(patched, original) {\n patched[zoneSymbol$1('OriginalDelegate')] = original;\n }\n var isDetectedIEOrEdge = false;\n var ieOrEdge = false;\n function isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n }\n function isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\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 Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n var _loop_2 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () {\n if (uncaughtPromiseError.throwOriginal) {\n throw uncaughtPromiseError.rejection;\n }\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_2();\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n var uncaughtPromiseError = value;\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n if (isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // use the value instead of wrapping it.\n uncaughtPromiseError.throwOriginal = true;\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected :\n forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var noop = function () { };\n var AggregateError = global.AggregateError;\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n var onceWrapper = once();\n executor &&\n executor(onceWrapper(makeResolver(promise, RESOLVED)), onceWrapper(makeResolver(promise, REJECTED)));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () {\n return ZONE_AWARE_PROMISE_TO_STRING;\n };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.any = function (values) {\n if (!values || typeof values[Symbol.iterator] !== 'function') {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n var promises = [];\n var count = 0;\n try {\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n var v = values_1[_i];\n count++;\n promises.push(ZoneAwarePromise.resolve(v));\n }\n }\n catch (err) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n if (count === 0) {\n return Promise.reject(new AggregateError([], 'All promises were rejected'));\n }\n var finished = false;\n var errors = [];\n return new ZoneAwarePromise(function (resolve, reject) {\n for (var i = 0; i < promises.length; i++) {\n promises[i].then(function (v) {\n if (finished) {\n return;\n }\n finished = true;\n resolve(v);\n }, function (err) {\n errors.push(err);\n count--;\n if (count === 0) {\n finished = true;\n reject(new AggregateError(errors, 'All promises were rejected'));\n }\n });\n }\n });\n };\n ;\n ZoneAwarePromise.race = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n resolve(value);\n }\n function onReject(error) {\n reject(error);\n }\n for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {\n var value = values_2[_i];\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) {\n return ZoneAwarePromise.allWithCallback(values);\n };\n ZoneAwarePromise.allSettled = function (values) {\n var P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: function (value) { return ({ status: 'fulfilled', value: value }); },\n errorCallback: function (err) { return ({ status: 'rejected', reason: err }); }\n });\n };\n ZoneAwarePromise.allWithCallback = function (values, callback) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_3 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n try {\n value.then(function (value) {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, function (err) {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n for (var _i = 0, values_3 = values; _i < values_3.length; _i++) {\n var value = values_3[_i];\n _loop_3(value);\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.toStringTag, {\n get: function () {\n return 'Promise';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.species, {\n get: function () {\n return ZoneAwarePromise;\n },\n enumerable: false,\n configurable: true\n });\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var _a;\n // We must read `Symbol.species` safely because `this` may be anything. For instance, `this`\n // may be an object without a prototype (created through `Object.create(null)`); thus\n // `this.constructor` will be undefined. One of the use cases is SystemJS creating\n // prototype-less objects (modules) via `Object.create(null)`. The SystemJS creates an empty\n // object and copies promise properties into that object (within the `getOrCreateLoad`\n // function). The zone.js then checks if the resolved value has the `then` method and invokes\n // it with the `value` context. Otherwise, this will throw an error: `TypeError: Cannot read\n // properties of undefined (reading 'Symbol(Symbol.species)')`.\n var C = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var _a;\n // See comment on the call to `then` about why thee `Symbol.species` is safely accessed.\n var C = (_a = this.constructor) === null || _a === void 0 ? void 0 : _a[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) {\n originalThen.call(_this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function (self, args) {\n var resultPromise = fn.apply(self, args);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n var ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n patchMethod(global, 'fetch', function (delegate) { return zoneify(delegate); });\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\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 // override Function.prototype.toString to make zone.js patched function\n // look like native function\n Zone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol$1('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol$1('Promise');\n var ERROR_SYMBOL = zoneSymbol$1('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (typeof Promise === 'function' && this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\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 var passiveSupported = false;\n if (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n // Note: We pass the `options` object as the event handler too. This is not compatible with the\n // signature of `addEventListener` or `removeEventListener` but enables us to remove the handler\n // without an actual handler.\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n }\n // an identifier to tell ZoneTask do not create a new invoke closure\n var OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n };\n var zoneSymbolEventNames = {};\n var globalSources = {};\n var EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\n var IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol$1('propagationStopped');\n function prepareEventNames(eventName, eventNameToString) {\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n function patchEventTarget(_global, api, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol$1(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n // need to try/catch error here, otherwise, the error in one event listener\n // will break the executions of the other event listeners. Also error will\n // not remove the event listener when `once` options is true.\n var error;\n try {\n task.invoke(task, target, [event]);\n }\n catch (err) {\n error = err;\n }\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n return error;\n };\n function globalCallback(context, event, isCapture) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = context || event.target || _global;\n var tasks = target[zoneSymbolEventNames[event.type][isCapture ? TRUE_STR : FALSE_STR]];\n if (tasks) {\n var errors = [];\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n var err = invokeTask(tasks[0], target, event);\n err && errors.push(err);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n var err = invokeTask(copyTasks[i], target, event);\n err && errors.push(err);\n }\n }\n // Since there is only one error, we don't need to schedule microTask\n // to throw the error.\n if (errors.length === 1) {\n throw errors[0];\n }\n else {\n var _loop_4 = function (i) {\n var err = errors[i];\n api.nativeScheduleMicroTask(function () {\n throw err;\n });\n };\n for (var i = 0; i < errors.length; i++) {\n _loop_4(i);\n }\n }\n }\n }\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n return globalCallback(this, event, false);\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n return globalCallback(this, event, true);\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n var eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol$1(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol$1(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol$1(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol$1(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return Object.assign(Object.assign({}, options), { passive: true });\n }\n return options;\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var unpatchedEvents = Zone[zoneSymbol$1('UNPATCHED_EVENTS')];\n var passiveEvents = _global[zoneSymbol$1('PASSIVE_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n var options = buildEventListenerOptions(arguments[2], passive);\n if (unpatchedEvents) {\n // check unpatched list\n for (var i = 0; i < unpatchedEvents.length; i++) {\n if (eventName === unpatchedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n var once = options && typeof options === 'object' ? options.once : false;\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames[eventName];\n }\n var symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var options = arguments[2];\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n var onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var symbolEventNames = zoneSymbolEventNames[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n }\n function findEventTasks(target, eventName) {\n if (!eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n var symbolEventName = zoneSymbolEventNames[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames[eventName];\n }\n var captureFalseTasks = target[symbolEventName[FALSE_STR]];\n var captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) :\n captureFalseTasks.slice();\n }\n }\n function patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\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 function patchCallbacks(api, target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = \"\".concat(targetName, \".\").concat(method, \"::\") + callback;\n var prototype = opts.prototype;\n // Note: the `patchCallbacks` is used for patching the `document.registerElement` and\n // `customElements.define`. We explicitly wrap the patching code into try-catch since\n // callbacks may be already patched by other web components frameworks (e.g. LWC), and they\n // make those properties non-writable. This means that patching callback will throw an error\n // `cannot assign to read-only property`. See this code as an example:\n // https://github.com/salesforce/lwc/blob/master/packages/@lwc/engine-core/src/framework/base-bridge-element.ts#L180-L186\n // We don't want to stop the application rendering if we couldn't patch some\n // callback, e.g. `attributeChangedCallback`.\n try {\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n catch (_a) {\n // Note: we leave the catch block empty since there's no way to handle the error related\n // to non-writable property.\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\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 function filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n }\n function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n }\n /**\n * Get all event name properties which the event name startsWith `on`\n * from the target object itself, inherited properties are not considered.\n */\n function getOnEventNames(target) {\n return Object.getOwnPropertyNames(target)\n .filter(function (name) { return name.startsWith('on') && name.length > 2; })\n .map(function (name) { return name.substring(2); });\n }\n function propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n var patchTargets = [];\n if (isBrowser) {\n var internalWindow_1 = window;\n patchTargets = patchTargets.concat([\n 'Document', 'SVGElement', 'Element', 'HTMLElement', 'HTMLBodyElement', 'HTMLMediaElement',\n 'HTMLFrameSetElement', 'HTMLFrameElement', 'HTMLIFrameElement', 'HTMLMarqueeElement', 'Worker'\n ]);\n var ignoreErrorProperties = isIE() ? [{ target: internalWindow_1, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow_1, getOnEventNames(internalWindow_1), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow_1));\n }\n patchTargets = patchTargets.concat([\n 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'IDBIndex', 'IDBRequest', 'IDBOpenDBRequest',\n 'IDBDatabase', 'IDBTransaction', 'IDBCursor', 'WebSocket'\n ]);\n for (var i = 0; i < patchTargets.length; i++) {\n var target = _global[patchTargets[i]];\n target && target.prototype &&\n patchFilteredProperties(target.prototype, getOnEventNames(target.prototype), ignoreProperties);\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 Zone.__load_patch('util', function (global, Zone, api) {\n // Collect native event names by looking at properties\n // on the global namespace, e.g. 'onclick'.\n var eventNames = getOnEventNames(global);\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n var SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = function () { return ({\n globalSources: globalSources,\n zoneSymbolEventNames: zoneSymbolEventNames,\n eventNames: eventNames,\n isBrowser: isBrowser,\n isMix: isMix,\n isNode: isNode,\n TRUE_STR: TRUE_STR,\n FALSE_STR: FALSE_STR,\n ZONE_SYMBOL_PREFIX: ZONE_SYMBOL_PREFIX,\n ADD_EVENT_LISTENER_STR: ADD_EVENT_LISTENER_STR,\n REMOVE_EVENT_LISTENER_STR: REMOVE_EVENT_LISTENER_STR\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 is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\n var zoneSymbol;\n var _defineProperty;\n var _getOwnPropertyDescriptor;\n var _create;\n var unconfigurablesKey;\n function propertyPatch() {\n zoneSymbol = Zone.__symbol__;\n _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\n _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\n _create = Object.create;\n unconfigurablesKey = zoneSymbol('unconfigurables');\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n for (var _i = 0, _b = Object.getOwnPropertySymbols(props); _i < _b.length; _i++) {\n var sym = _b[_i];\n var desc = Object.getOwnPropertyDescriptor(props, sym);\n // Since `Object.getOwnPropertySymbols` returns *all* symbols,\n // including non-enumerable ones, retrieve property descriptor and check\n // enumerability there. Proceed with the rewrite only when a property is\n // enumerable to make the logic consistent with the way regular\n // properties are retrieved (via `Object.keys`, which respects\n // `enumerable: false` flag). More information:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties#retrieval\n if (desc === null || desc === void 0 ? void 0 : desc.enumerable) {\n Object.defineProperty(obj, sym, props[sym]);\n }\n }\n return obj;\n };\n Object.create = function (proto, propertiesObject) {\n if (typeof propertiesObject === 'object' && !Object.isFrozen(propertiesObject)) {\n Object.keys(propertiesObject).forEach(function (prop) {\n propertiesObject[prop] = rewriteDescriptor(proto, prop, propertiesObject[prop]);\n });\n }\n return _create(proto, propertiesObject);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n }\n function _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n }\n function isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n }\n function rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n }\n function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(),\n // let's retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var swallowError = false;\n if (prop === 'createdCallback' || prop === 'attachedCallback' ||\n prop === 'detachedCallback' || prop === 'attributeChangedCallback') {\n // We only swallow the error in registerElement patch\n // this is the work around since some applications\n // fail if we throw the error\n swallowError = true;\n }\n if (!swallowError) {\n throw error;\n }\n // TODO: @JiaLiPassion, Some application such as `registerElement` patch\n // still need to swallow the error, in the future after these applications\n // are updated, the following logic can be removed.\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\".concat(prop, \"' with descriptor '\").concat(descJson, \"' on object '\").concat(obj, \"' and got error, giving up: \").concat(error));\n }\n }\n else {\n throw error;\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 function eventTargetLegacyPatch(_global, api) {\n var _b = api.getGlobalObjects(), eventNames = _b.eventNames, globalSources = _b.globalSources, zoneSymbolEventNames = _b.zoneSymbolEventNames, TRUE_STR = _b.TRUE_STR, FALSE_STR = _b.FALSE_STR, ZONE_SYMBOL_PREFIX = _b.ZONE_SYMBOL_PREFIX;\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = api.isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n var pointerEventsMap = {\n 'MSPointerCancel': 'pointercancel',\n 'MSPointerDown': 'pointerdown',\n 'MSPointerEnter': 'pointerenter',\n 'MSPointerHover': 'pointerhover',\n 'MSPointerLeave': 'pointerleave',\n 'MSPointerMove': 'pointermove',\n 'MSPointerOut': 'pointerout',\n 'MSPointerOver': 'pointerover',\n 'MSPointerUp': 'pointerup'\n };\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555_ARRAY.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n api.patchEventTarget(_global, api, apiTypes, {\n vh: checkIEAndCrossContext,\n transferEventName: function (eventName) {\n var pointerEventName = pointerEventsMap[eventName];\n return pointerEventName || eventName;\n }\n });\n Zone[api.symbol('patchEventTarget')] = !!_global[EVENT_TARGET];\n return true;\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 // we have to patch the instance since the proto is non-configurable\n function apply(api, _global) {\n var _b = api.getGlobalObjects(), ADD_EVENT_LISTENER_STR = _b.ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR = _b.REMOVE_EVENT_LISTENER_STR;\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n api.patchEventTarget(_global, api, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = api.ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = api.ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = api.ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n api.patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[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 */\n function propertyDescriptorLegacyPatch(api, _global) {\n var _b = api.getGlobalObjects(), isNode = _b.isNode, isMix = _b.isMix;\n if (isNode && !isMix) {\n return;\n }\n if (!canPatchViaPropertyDescriptor(api, _global)) {\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents(api);\n api.patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n Zone[api.symbol('patchEvents')] = true;\n }\n }\n function canPatchViaPropertyDescriptor(api, _global) {\n var _b = api.getGlobalObjects(), isBrowser = _b.isBrowser, isMix = _b.isMix;\n if ((isBrowser || isMix) &&\n !api.ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = api.ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n // try to use onclick to detect whether we can patch via propertyDescriptor\n // because XMLHttpRequest is not available in service worker\n if (desc) {\n api.ObjectDefineProperty(Element.prototype, 'onclick', {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var div = document.createElement('div');\n var result = !!div.onclick;\n api.ObjectDefineProperty(Element.prototype, 'onclick', desc);\n return result;\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = api.ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = api.symbol('fake');\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1];\n },\n set: function (value) {\n this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value;\n }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n }\n var globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n ];\n var documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n ];\n var windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplayconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n ];\n var htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n ];\n var ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n ];\n var webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\n var formEventNames = ['autocomplete', 'autocompleteerror'];\n var detailEventNames = ['toggle'];\n var eventNames = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], globalEventHandlersEventNames, true), webglEventNames, true), formEventNames, true), detailEventNames, true), documentEventNames, true), windowEventNames, true), htmlElementEventNames, true), ieElementEventNames, true);\n // Whenever any eventListener fires, we check the eventListener target and all parents\n // for `onwhatever` properties and replace them with zone-bound functions\n // - Chrome (for now)\n function patchViaCapturingAllTheEvents(api) {\n var unboundKey = api.symbol('unbound');\n var _loop_5 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = api.wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_5(i);\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 function registerElementPatch(_global, api) {\n var _b = api.getGlobalObjects(), isBrowser = _b.isBrowser, isMix = _b.isMix;\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, document, 'Document', 'registerElement', callbacks);\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 (function (_global) {\n var symbolPrefix = _global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) {\n return symbolPrefix + name;\n }\n _global[__symbol__('legacyPatch')] = function () {\n var Zone = _global['Zone'];\n Zone.__load_patch('defineProperty', function (global, Zone, api) {\n api._redefineProperty = _redefineProperty;\n propertyPatch();\n });\n Zone.__load_patch('registerElement', function (global, Zone, api) {\n registerElementPatch(global, api);\n });\n Zone.__load_patch('EventTargetLegacy', function (global, Zone, api) {\n eventTargetLegacyPatch(global, api);\n propertyDescriptorLegacyPatch(api, global);\n });\n };\n })(typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {});\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 var taskSymbol = zoneSymbol$1('zoneTask');\n function patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n data.args[0] = function () {\n return task.invoke.apply(this, arguments);\n };\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative.call(window, task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options_1 = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var callback_1 = args[0];\n args[0] = function timer() {\n try {\n return callback_1.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n // https://github.com/angular/angular/issues/40387\n // Cleanup tasksByHandleId should be handled before scheduleTask\n // Since some zoneSpec may intercept and doesn't trigger\n // scheduleFn(scheduleTask) provided here.\n if (!(options_1.isPeriodic)) {\n if (typeof options_1.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[options_1.handleId];\n }\n else if (options_1.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n options_1.handleId[taskSymbol] = null;\n }\n }\n }\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options_1, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\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 function patchCustomElements(_global, api) {\n var _b = api.getGlobalObjects(), isBrowser = _b.isBrowser, isMix = _b.isMix;\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\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 function eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n var _b = api.getGlobalObjects(), eventNames = _b.eventNames, zoneSymbolEventNames = _b.zoneSymbolEventNames, TRUE_STR = _b.TRUE_STR, FALSE_STR = _b.FALSE_STR, ZONE_SYMBOL_PREFIX = _b.ZONE_SYMBOL_PREFIX;\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n var EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, api, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n }\n function patchEvent(global, api) {\n api.patchEventPrototype(global, api);\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 Zone.__load_patch('legacy', function (global) {\n var legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n });\n Zone.__load_patch('queueMicrotask', function (global, Zone, api) {\n api.patchMethod(global, 'queueMicrotask', function (delegate) {\n return function (self, args) {\n Zone.current.scheduleMicroTask('queueMicrotask', args[0]);\n };\n });\n });\n Zone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n });\n Zone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n });\n Zone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_2 = blockingMethods[i];\n patchMethod(global, name_2, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n });\n Zone.__load_patch('EventTarget', function (global, Zone, api) {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, api, [XMLHttpRequestEventTarget.prototype]);\n }\n });\n Zone.__load_patch('MutationObserver', function (global, Zone, api) {\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n });\n Zone.__load_patch('IntersectionObserver', function (global, Zone, api) {\n patchClass('IntersectionObserver');\n });\n Zone.__load_patch('FileReader', function (global, Zone, api) {\n patchClass('FileReader');\n });\n Zone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n });\n Zone.__load_patch('customElements', function (global, Zone, api) {\n patchCustomElements(global, api);\n });\n Zone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol$1('xhrTask');\n var XHR_SYNC = zoneSymbol$1('xhrSync');\n var XHR_LISTENER = zoneSymbol$1('xhrListener');\n var XHR_SCHEDULED = zoneSymbol$1('xhrScheduled');\n var XHR_URL = zoneSymbol$1('xhrURL');\n var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol$1('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n // Also if the request failed without response (status = 0), the load event handler\n // will not be triggered, in that case, we should also invoke the placeholder callback\n // to close the XMLHttpRequest::send macroTask.\n // https://github.com/angular/angular/issues/38795\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n if (target.status !== 0 && loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var fetchTaskAborting = zoneSymbol$1('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol$1('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n });\n Zone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n });\n Zone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol$1('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol$1('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n });\n}));\n","require('../../modules/es.reflect.apply');\nrequire('../../modules/es.reflect.construct');\nrequire('../../modules/es.reflect.define-property');\nrequire('../../modules/es.reflect.delete-property');\nrequire('../../modules/es.reflect.get');\nrequire('../../modules/es.reflect.get-own-property-descriptor');\nrequire('../../modules/es.reflect.get-prototype-of');\nrequire('../../modules/es.reflect.has');\nrequire('../../modules/es.reflect.is-extensible');\nrequire('../../modules/es.reflect.own-keys');\nrequire('../../modules/es.reflect.prevent-extensions');\nrequire('../../modules/es.reflect.set');\nrequire('../../modules/es.reflect.set-prototype-of');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Reflect;\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n (function () { return this; })() || Function('return this')();\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.8.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\n\nvar nativeApply = getBuiltIn('Reflect', 'apply');\nvar functionApply = Function.apply;\n\n// MS Edge argumentsList argument is optional\nvar OPTIONAL_ARGUMENTS_LIST = !fails(function () {\n nativeApply(function () { /* empty */ });\n});\n\n// `Reflect.apply` method\n// https://tc39.github.io/ecma262/#sec-reflect.apply\n$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, {\n apply: function apply(target, thisArgument, argumentsList) {\n aFunction(target);\n anObject(argumentsList);\n return nativeApply\n ? nativeApply(target, thisArgument, argumentsList)\n : functionApply.call(target, thisArgument, argumentsList);\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\n\n// `Reflect.construct` method\n// https://tc39.github.io/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar fails = require('../internals/fails');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\nvar ERROR_INSTEAD_OF_FALSE = fails(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 });\n});\n\n// `Reflect.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-reflect.defineproperty\n$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n var key = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n definePropertyModule.f(target, key, attributes);\n return true;\n } catch (error) {\n return false;\n }\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Reflect.deleteProperty` method\n// https://tc39.github.io/ecma262/#sec-reflect.deleteproperty\n$({ target: 'Reflect', stat: true }, {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey);\n return descriptor && !descriptor.configurable ? false : delete target[propertyKey];\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar anObject = require('../internals/an-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\n\n// `Reflect.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-reflect.getownpropertydescriptor\n$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\n// `Reflect.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-reflect.getprototypeof\n$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(target) {\n return objectGetPrototypeOf(anObject(target));\n }\n});\n","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar has = require('../internals/has');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\n// `Reflect.get` method\n// https://tc39.github.io/ecma262/#sec-reflect.get\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var descriptor, prototype;\n if (anObject(target) === receiver) return target[propertyKey];\n if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')\n ? descriptor.value\n : descriptor.get === undefined\n ? undefined\n : descriptor.get.call(receiver);\n if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);\n}\n\n$({ target: 'Reflect', stat: true }, {\n get: get\n});\n","var $ = require('../internals/export');\n\n// `Reflect.has` method\n// https://tc39.github.io/ecma262/#sec-reflect.has\n$({ target: 'Reflect', stat: true }, {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\n\nvar objectIsExtensible = Object.isExtensible;\n\n// `Reflect.isExtensible` method\n// https://tc39.github.io/ecma262/#sec-reflect.isextensible\n$({ target: 'Reflect', stat: true }, {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return objectIsExtensible ? objectIsExtensible(target) : true;\n }\n});\n","var $ = require('../internals/export');\nvar ownKeys = require('../internals/own-keys');\n\n// `Reflect.ownKeys` method\n// https://tc39.github.io/ecma262/#sec-reflect.ownkeys\n$({ target: 'Reflect', stat: true }, {\n ownKeys: ownKeys\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar FREEZING = require('../internals/freezing');\n\n// `Reflect.preventExtensions` method\n// https://tc39.github.io/ecma262/#sec-reflect.preventextensions\n$({ target: 'Reflect', stat: true, sham: !FREEZING }, {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions');\n if (objectPreventExtensions) objectPreventExtensions(target);\n return true;\n } catch (error) {\n return false;\n }\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\nvar objectSetPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Reflect.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-reflect.setprototypeof\nif (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n anObject(target);\n aPossiblePrototype(proto);\n try {\n objectSetPrototypeOf(target, proto);\n return true;\n } catch (error) {\n return false;\n }\n }\n});\n","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar fails = require('../internals/fails');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\n// `Reflect.set` method\n// https://tc39.github.io/ecma262/#sec-reflect.set\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);\n var existingDescriptor, prototype;\n if (!ownDescriptor) {\n if (isObject(prototype = getPrototypeOf(target))) {\n return set(prototype, propertyKey, V, receiver);\n }\n ownDescriptor = createPropertyDescriptor(0);\n }\n if (has(ownDescriptor, 'value')) {\n if (ownDescriptor.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n definePropertyModule.f(receiver, propertyKey, existingDescriptor);\n } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V));\n return true;\n }\n return ownDescriptor.set === undefined ? false : (ownDescriptor.set.call(receiver, V), true);\n}\n\n// MS Edge 17-18 Reflect.set allows setting the property to object\n// with non-writable property on the prototype\nvar MS_EDGE_BUG = fails(function () {\n var Constructor = function () { /* empty */ };\n var object = definePropertyModule.f(new Constructor(), 'a', { configurable: true });\n // eslint-disable-next-line no-undef\n return Reflect.set(Constructor.prototype, 'a', 1, object) !== false;\n});\n\n$({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, {\n set: set\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n$({ global: true }, { Reflect: {} });\n\n// Reflect[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-reflect-@@tostringtag\nsetToStringTag(global.Reflect, 'Reflect', true);\n","// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n!function(){var a={},b={};!function(a,b){function c(a){if(\"number\"==typeof a)return a;var b={};for(var c in a)b[c]=a[c];return b}function d(){this._delay=0,this._endDelay=0,this._fill=\"none\",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction=\"normal\",this._easing=\"linear\",this._easingFunction=x}function e(){return a.isDeprecated(\"Invalid timing inputs\",\"2016-03-02\",\"TypeError exceptions will be thrown instead.\",!0)}function f(b,c,e){var f=new d;return c&&(f.fill=\"both\",f.duration=\"auto\"),\"number\"!=typeof b||isNaN(b)?void 0!==b&&Object.getOwnPropertyNames(b).forEach(function(c){if(\"auto\"!=b[c]){if((\"number\"==typeof f[c]||\"duration\"==c)&&(\"number\"!=typeof b[c]||isNaN(b[c])))return;if(\"fill\"==c&&-1==v.indexOf(b[c]))return;if(\"direction\"==c&&-1==w.indexOf(b[c]))return;if(\"playbackRate\"==c&&1!==b[c]&&a.isDeprecated(\"AnimationEffectTiming.playbackRate\",\"2014-11-28\",\"Use Animation.playbackRate instead.\"))return;f[c]=b[c]}}):f.duration=b,f}function g(a){return\"number\"==typeof a&&(a=isNaN(a)?{duration:0}:{duration:a}),a}function h(b,c){return b=a.numericTimingToObject(b),f(b,c)}function i(a,b,c,d){return a<0||a>1||c<0||c>1?x:function(e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}if(e<=0){var g=0;return a>0?g=b/a:!b&&c>0&&(g=d/c),g*e}if(e>=1){var h=0;return c<1?h=(d-1)/(c-1):1==c&&a<1&&(h=(b-1)/(a-1)),1+h*(e-1)}for(var i=0,j=1;i=1)return 1;var d=1/a;return(c+=b*d)-c%d}}function k(a){C||(C=document.createElement(\"div\").style),C.animationTimingFunction=\"\",C.animationTimingFunction=a;var b=C.animationTimingFunction;if(\"\"==b&&e())throw new TypeError(a+\" is not a valid value for easing\");return b}function l(a){if(\"linear\"==a)return x;var b=E.exec(a);if(b)return i.apply(this,b.slice(1).map(Number));var c=F.exec(a);if(c)return j(Number(c[1]),A);var d=G.exec(a);return d?j(Number(d[1]),{start:y,middle:z,end:A}[d[2]]):B[a]||x}function m(a){return Math.abs(n(a)/a.playbackRate)}function n(a){return 0===a.duration||0===a.iterations?0:a.duration*a.iterations}function o(a,b,c){if(null==b)return H;var d=c.delay+a+c.endDelay;return b=Math.min(c.delay+a,d)?J:K}function p(a,b,c,d,e){switch(d){case I:return\"backwards\"==b||\"both\"==b?0:null;case K:return c-e;case J:return\"forwards\"==b||\"both\"==b?a:null;case H:return null}}function q(a,b,c,d,e){var f=e;return 0===a?b!==I&&(f+=c):f+=d/a,f}function r(a,b,c,d,e,f){var g=a===1/0?b%1:a%1;return 0!==g||c!==J||0===d||0===e&&0!==f||(g=1),g}function s(a,b,c,d){return a===J&&b===1/0?1/0:1===c?Math.floor(d)-1:Math.floor(d)}function t(a,b,c){var d=a;if(\"normal\"!==a&&\"reverse\"!==a){var e=b;\"alternate-reverse\"===a&&(e+=1),d=\"normal\",e!==1/0&&e%2!=0&&(d=\"reverse\")}return\"normal\"===d?c:1-c}function u(a,b,c){var d=o(a,b,c),e=p(a,c.fill,b,d,c.delay);if(null===e)return null;var f=q(c.duration,d,c.iterations,e,c.iterationStart),g=r(f,c.iterationStart,d,c.iterations,e,c.duration),h=s(d,c.iterations,g,f),i=t(c.direction,h,g);return c._easingFunction(i)}var v=\"backwards|forwards|both|none\".split(\"|\"),w=\"reverse|alternate|alternate-reverse\".split(\"|\"),x=function(a){return a};d.prototype={_setMember:function(b,c){this[\"_\"+b]=c,this._effect&&(this._effect._timingInput[b]=c,this._effect._timing=a.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=a.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(a){this._setMember(\"delay\",a)},get delay(){return this._delay},set endDelay(a){this._setMember(\"endDelay\",a)},get endDelay(){return this._endDelay},set fill(a){this._setMember(\"fill\",a)},get fill(){return this._fill},set iterationStart(a){if((isNaN(a)||a<0)&&e())throw new TypeError(\"iterationStart must be a non-negative number, received: \"+a);this._setMember(\"iterationStart\",a)},get iterationStart(){return this._iterationStart},set duration(a){if(\"auto\"!=a&&(isNaN(a)||a<0)&&e())throw new TypeError(\"duration must be non-negative or auto, received: \"+a);this._setMember(\"duration\",a)},get duration(){return this._duration},set direction(a){this._setMember(\"direction\",a)},get direction(){return this._direction},set easing(a){this._easingFunction=l(k(a)),this._setMember(\"easing\",a)},get easing(){return this._easing},set iterations(a){if((isNaN(a)||a<0)&&e())throw new TypeError(\"iterations must be non-negative, received: \"+a);this._setMember(\"iterations\",a)},get iterations(){return this._iterations}};var y=1,z=.5,A=0,B={ease:i(.25,.1,.25,1),\"ease-in\":i(.42,0,1,1),\"ease-out\":i(0,0,.58,1),\"ease-in-out\":i(.42,0,.58,1),\"step-start\":j(1,y),\"step-middle\":j(1,z),\"step-end\":j(1,A)},C=null,D=\"\\\\s*(-?\\\\d+\\\\.?\\\\d*|-?\\\\.\\\\d+)\\\\s*\",E=new RegExp(\"cubic-bezier\\\\(\"+D+\",\"+D+\",\"+D+\",\"+D+\"\\\\)\"),F=/steps\\(\\s*(\\d+)\\s*\\)/,G=/steps\\(\\s*(\\d+)\\s*,\\s*(start|middle|end)\\s*\\)/,H=0,I=1,J=2,K=3;a.cloneTimingInput=c,a.makeTiming=f,a.numericTimingToObject=g,a.normalizeTimingInput=h,a.calculateActiveDuration=m,a.calculateIterationProgress=u,a.calculatePhase=o,a.normalizeEasing=k,a.parseEasingFunction=l}(a),function(a,b){function c(a,b){return a in k?k[a][b]||b:b}function d(a){return\"display\"===a||0===a.lastIndexOf(\"animation\",0)||0===a.lastIndexOf(\"transition\",0)}function e(a,b,e){if(!d(a)){var f=h[a];if(f){i.style[a]=b;for(var g in f){var j=f[g],k=i.style[j];e[j]=c(j,k)}}else e[a]=c(a,b)}}function f(a){var b=[];for(var c in a)if(!(c in[\"easing\",\"offset\",\"composite\"])){var d=a[c];Array.isArray(d)||(d=[d]);for(var e,f=d.length,g=0;g1&&null==d[0].offset&&(d[0].offset=0);for(var b=0,c=d[0].offset,e=1;e1)throw new TypeError(\"Keyframe offsets must be between 0 and 1.\")}}else if(\"composite\"==d){if(\"add\"==f||\"accumulate\"==f)throw{type:DOMException.NOT_SUPPORTED_ERR,name:\"NotSupportedError\",message:\"add compositing is not supported\"};if(\"replace\"!=f)throw new TypeError(\"Invalid composite mode \"+f+\".\")}else f=\"easing\"==d?a.normalizeEasing(f):\"\"+f;e(d,f,c)}return void 0==c.offset&&(c.offset=null),void 0==c.easing&&(c.easing=\"linear\"),c}),g=!0,h=-1/0,i=0;i=0&&a.offset<=1}),g||c(),d}var h={background:[\"backgroundImage\",\"backgroundPosition\",\"backgroundSize\",\"backgroundRepeat\",\"backgroundAttachment\",\"backgroundOrigin\",\"backgroundClip\",\"backgroundColor\"],border:[\"borderTopColor\",\"borderTopStyle\",\"borderTopWidth\",\"borderRightColor\",\"borderRightStyle\",\"borderRightWidth\",\"borderBottomColor\",\"borderBottomStyle\",\"borderBottomWidth\",\"borderLeftColor\",\"borderLeftStyle\",\"borderLeftWidth\"],borderBottom:[\"borderBottomWidth\",\"borderBottomStyle\",\"borderBottomColor\"],borderColor:[\"borderTopColor\",\"borderRightColor\",\"borderBottomColor\",\"borderLeftColor\"],borderLeft:[\"borderLeftWidth\",\"borderLeftStyle\",\"borderLeftColor\"],borderRadius:[\"borderTopLeftRadius\",\"borderTopRightRadius\",\"borderBottomRightRadius\",\"borderBottomLeftRadius\"],borderRight:[\"borderRightWidth\",\"borderRightStyle\",\"borderRightColor\"],borderTop:[\"borderTopWidth\",\"borderTopStyle\",\"borderTopColor\"],borderWidth:[\"borderTopWidth\",\"borderRightWidth\",\"borderBottomWidth\",\"borderLeftWidth\"],flex:[\"flexGrow\",\"flexShrink\",\"flexBasis\"],font:[\"fontFamily\",\"fontSize\",\"fontStyle\",\"fontVariant\",\"fontWeight\",\"lineHeight\"],margin:[\"marginTop\",\"marginRight\",\"marginBottom\",\"marginLeft\"],outline:[\"outlineColor\",\"outlineStyle\",\"outlineWidth\"],padding:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"]},i=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\"),j={thin:\"1px\",medium:\"3px\",thick:\"5px\"},k={borderBottomWidth:j,borderLeftWidth:j,borderRightWidth:j,borderTopWidth:j,fontSize:{\"xx-small\":\"60%\",\"x-small\":\"75%\",small:\"89%\",medium:\"100%\",large:\"120%\",\"x-large\":\"150%\",\"xx-large\":\"200%\"},fontWeight:{normal:\"400\",bold:\"700\"},outlineWidth:j,textShadow:{none:\"0px 0px 0px transparent\"},boxShadow:{none:\"0px 0px 0px 0px transparent\"}};a.convertToArrayForm=f,a.normalizeKeyframes=g}(a),function(a){var b={};a.isDeprecated=function(a,c,d,e){var f=e?\"are\":\"is\",g=new Date,h=new Date(c);return h.setMonth(h.getMonth()+3),!(g=a.applyFrom&&cthis._surrogateStyle.length;)this._length--,Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,value:void 0})},_set:function(b,c){this._style[b]=c,this._isAnimatedProperty[b]=!0,this._updateSvgTransformAttr&&\"transform\"==a.unprefixedPropertyName(b)&&(null==this._savedTransformAttr&&(this._savedTransformAttr=this._element.getAttribute(\"transform\")),this._element.setAttribute(\"transform\",a.transformToSvgMatrix(c)))},_clear:function(b){this._style[b]=this._surrogateStyle[b],this._updateSvgTransformAttr&&\"transform\"==a.unprefixedPropertyName(b)&&(this._savedTransformAttr?this._element.setAttribute(\"transform\",this._savedTransformAttr):this._element.removeAttribute(\"transform\"),this._savedTransformAttr=null),delete this._isAnimatedProperty[b]}};for(var k in i)e.prototype[k]=function(a,b){return function(){var c=this._surrogateStyle[a].apply(this._surrogateStyle,arguments);return b&&(this._isAnimatedProperty[arguments[0]]||this._style[a].apply(this._style,arguments),this._updateIndices()),c}}(k,k in j);for(var l in document.documentElement.style)l in h||l in i||function(a){d(e.prototype,a,{get:function(){return this._surrogateStyle[a]},set:function(b){this._surrogateStyle[a]=b,this._updateIndices(),this._isAnimatedProperty[a]||(this._style[a]=b)}})}(l);a.apply=function(b,c,d){f(b),b.style._set(a.propertyName(c),d)},a.clear=function(b,c){b._webAnimationsPatchedStyle&&b.style._clear(a.propertyName(c))}}(b),function(a){window.Element.prototype.animate=function(b,c){var d=\"\";return c&&c.id&&(d=c.id),a.timeline._play(a.KeyframeEffect(this,b,c,d))}}(b),function(a,b){function c(a,b,d){if(\"number\"==typeof a&&\"number\"==typeof b)return a*(1-d)+b*d;if(\"boolean\"==typeof a&&\"boolean\"==typeof b)return d<.5?a:b;if(a.length==b.length){for(var e=[],f=0;f0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(a){a=+a,isNaN(a)||(b.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-a/this._playbackRate),this._currentTimePending=!1,this._currentTime!=a&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(a,!0),b.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(a){a=+a,isNaN(a)||this._paused||this._idle||(this._startTime=a,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),b.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(a){if(a!=this._playbackRate){var c=this.currentTime;this._playbackRate=a,this._startTime=null,\"paused\"!=this.playState&&\"idle\"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),b.applyDirtiedAnimation(this)),null!=c&&(this.currentTime=c)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?\"idle\":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?\"pending\":this._paused?\"paused\":this._isFinished?\"finished\":\"running\"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException(\"Unable to rewind negative playback rate animation with infinite duration\",\"InvalidStateError\");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),b.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,b.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),b.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(a,b){\"function\"==typeof b&&\"finish\"==a&&this._finishHandlers.push(b)},removeEventListener:function(a,b){if(\"finish\"==a){var c=this._finishHandlers.indexOf(b);c>=0&&this._finishHandlers.splice(c,1)}},_fireEvents:function(a){if(this._isFinished){if(!this._finishedFlag){var b=new d(this,this._currentTime,a),c=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){c.forEach(function(a){a.call(b.target,b)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(a,b){this._idle||this._paused||(null==this._startTime?b&&(this.startTime=a-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((a-this._startTime)*this.playbackRate)),b&&(this._currentTimePending=!1,this._fireEvents(a))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var a=this._effect._target;return a._activeAnimations||(a._activeAnimations=[]),a._activeAnimations},_markTarget:function(){var a=this._targetAnimations();-1===a.indexOf(this)&&a.push(this)},_unmarkTarget:function(){var a=this._targetAnimations(),b=a.indexOf(this);-1!==b&&a.splice(b,1)}}}(a,b),function(a,b,c){function d(a){var b=j;j=[],a1e-4?(u=.5/Math.sqrt(w),v=[(q[2][1]-q[1][2])*u,(q[0][2]-q[2][0])*u,(q[1][0]-q[0][1])*u,.25/u]):q[0][0]>q[1][1]&&q[0][0]>q[2][2]?(u=2*Math.sqrt(1+q[0][0]-q[1][1]-q[2][2]),v=[.25*u,(q[0][1]+q[1][0])/u,(q[0][2]+q[2][0])/u,(q[2][1]-q[1][2])/u]):q[1][1]>q[2][2]?(u=2*Math.sqrt(1+q[1][1]-q[0][0]-q[2][2]),v=[(q[0][1]+q[1][0])/u,.25*u,(q[1][2]+q[2][1])/u,(q[0][2]-q[2][0])/u]):(u=2*Math.sqrt(1+q[2][2]-q[0][0]-q[1][1]),v=[(q[0][2]+q[2][0])/u,(q[1][2]+q[2][1])/u,.25*u,(q[1][0]-q[0][1])/u]),[p,r,s,v,n]}return j}();a.dot=c,a.makeMatrixDecomposition=h,a.transformListToMatrix=g}(b),function(a){function b(a,b){var c=a.exec(b);if(c)return c=a.ignoreCase?c[0].toLowerCase():c[0],[c,b.substr(c.length)]}function c(a,b){b=b.replace(/^\\s*/,\"\");var c=a(b);if(c)return[c[0],c[1].replace(/^\\s*/,\"\")]}function d(a,d,e){a=c.bind(null,a);for(var f=[];;){var g=a(e);if(!g)return[f,e];if(f.push(g[0]),e=g[1],!(g=b(d,e))||\"\"==g[1])return[f,e];e=g[1]}}function e(a,b){for(var c=0,d=0;dd?c%=d:d%=c;return c=a*b/(c+d)}function g(a){return function(b){var c=a(b);return c&&(c[0]=void 0),c}}function h(a,b){return function(c){return a(c)||[b,c]}}function i(b,c){for(var d=[],e=0;e=1?b:\"visible\"}]}a.addPropertiesHandler(String,c,[\"visibility\"])}(b),function(a,b){function c(a){a=a.trim(),f.fillStyle=\"#000\",f.fillStyle=a;var b=f.fillStyle;if(f.fillStyle=\"#fff\",f.fillStyle=a,b==f.fillStyle){f.fillRect(0,0,1,1);var c=f.getImageData(0,0,1,1).data;f.clearRect(0,0,1,1);var d=c[3]/255;return[c[0]*d,c[1]*d,c[2]*d,d]}}function d(b,c){return[b,c,function(b){function c(a){return Math.max(0,Math.min(255,a))}if(b[3])for(var d=0;d<3;d++)b[d]=Math.round(c(b[d]/b[3]));return b[3]=a.numberToString(a.clamp(0,1,b[3])),\"rgba(\"+b.join(\",\")+\")\"}]}var e=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");e.width=e.height=1;var f=e.getContext(\"2d\");a.addPropertiesHandler(c,d,[\"background-color\",\"border-bottom-color\",\"border-left-color\",\"border-right-color\",\"border-top-color\",\"color\",\"fill\",\"flood-color\",\"lighting-color\",\"outline-color\",\"stop-color\",\"stroke\",\"text-decoration-color\"]),a.consumeColor=a.consumeParenthesised.bind(null,c),a.mergeColors=d}(b),function(a,b){function c(a){function b(){var b=h.exec(a);g=b?b[0]:void 0}function c(){var a=Number(g);return b(),a}function d(){if(\"(\"!==g)return c();b();var a=f();return\")\"!==g?NaN:(b(),a)}function e(){for(var a=d();\"*\"===g||\"/\"===g;){var c=g;b();var e=d();\"*\"===c?a*=e:a/=e}return a}function f(){for(var a=e();\"+\"===g||\"-\"===g;){var c=g;b();var d=e();\"+\"===c?a+=d:a-=d}return a}var g,h=/([\\+\\-\\w\\.]+|[\\(\\)\\*\\/])/g;return b(),f()}function d(a,b){if(\"0\"==(b=b.trim().toLowerCase())&&\"px\".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\\(/g,\"(\");var d={};b=b.replace(a,function(a){return d[a]=null,\"U\"+a});for(var e=\"U(\"+a.source+\")\",f=b.replace(/[-+]?(\\d*\\.)?\\d+([Ee][-+]?\\d+)?/g,\"N\").replace(new RegExp(\"N\"+e,\"g\"),\"D\").replace(/\\s[+-]\\s/g,\"O\").replace(/\\s/g,\"\"),g=[/N\\*(D)/g,/(N|D)[*\\/]N/g,/(N|D)O\\1/g,/\\((N|D)\\)/g],h=0;h1?\"calc(\"+c+\")\":c}]}var g=\"px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc\",h=d.bind(null,new RegExp(g,\"g\")),i=d.bind(null,new RegExp(g+\"|%\",\"g\")),j=d.bind(null,/deg|rad|grad|turn/g);a.parseLength=h,a.parseLengthOrPercent=i,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,i),a.parseAngle=j,a.mergeDimensions=f;var k=a.consumeParenthesised.bind(null,h),l=a.consumeRepeated.bind(void 0,k,/^/),m=a.consumeRepeated.bind(void 0,l,/^,/);a.consumeSizePairList=m;var n=function(a){var b=m(a);if(b&&\"\"==b[1])return b[0]},o=a.mergeNestedRepeated.bind(void 0,e,\" \"),p=a.mergeNestedRepeated.bind(void 0,o,\",\");a.mergeNonNegativeSizePair=o,a.addPropertiesHandler(n,p,[\"background-size\"]),a.addPropertiesHandler(i,e,[\"border-bottom-width\",\"border-image-width\",\"border-left-width\",\"border-right-width\",\"border-top-width\",\"flex-basis\",\"font-size\",\"height\",\"line-height\",\"max-height\",\"max-width\",\"outline-width\",\"width\"]),a.addPropertiesHandler(i,f,[\"border-bottom-left-radius\",\"border-bottom-right-radius\",\"border-top-left-radius\",\"border-top-right-radius\",\"bottom\",\"left\",\"letter-spacing\",\"margin-bottom\",\"margin-left\",\"margin-right\",\"margin-top\",\"min-height\",\"min-width\",\"outline-offset\",\"padding-bottom\",\"padding-left\",\"padding-right\",\"padding-top\",\"perspective\",\"right\",\"shape-margin\",\"stroke-dashoffset\",\"text-indent\",\"top\",\"vertical-align\",\"word-spacing\"])}(b),function(a,b){function c(b){return a.consumeLengthOrPercent(b)||a.consumeToken(/^auto/,b)}function d(b){var d=a.consumeList([a.ignore(a.consumeToken.bind(null,/^rect/)),a.ignore(a.consumeToken.bind(null,/^\\(/)),a.consumeRepeated.bind(null,c,/^,/),a.ignore(a.consumeToken.bind(null,/^\\)/))],b);if(d&&4==d[0].length)return d[0]}function e(b,c){return\"auto\"==b||\"auto\"==c?[!0,!1,function(d){var e=d?b:c;if(\"auto\"==e)return\"auto\";var f=a.mergeDimensions(e,e);return f[2](f[0])}]:a.mergeDimensions(b,c)}function f(a){return\"rect(\"+a+\")\"}var g=a.mergeWrappedNestedRepeated.bind(null,f,e,\", \");a.parseBox=d,a.mergeBoxes=g,a.addPropertiesHandler(d,g,[\"clip\"])}(b),function(a,b){function c(a){return function(b){var c=0;return a.map(function(a){return a===k?b[c++]:a})}}function d(a){return a}function e(b){if(\"none\"==(b=b.toLowerCase().trim()))return[];for(var c,d=/\\s*(\\w+)\\(([^)]*)\\)/g,e=[],f=0;c=d.exec(b);){if(c.index!=f)return;f=c.index+c[0].length;var g=c[1],h=n[g];if(!h)return;var i=c[2].split(\",\"),j=h[0];if(j.length900||b%100!=0))return b}function c(b){return b=100*Math.round(b/100),b=a.clamp(100,900,b),400===b?\"normal\":700===b?\"bold\":String(b)}function d(a,b){return[a,b,c]}a.addPropertiesHandler(b,d,[\"font-weight\"])}(b),function(a){function b(a){var b={};for(var c in a)b[c]=-a[c];return b}function c(b){return a.consumeToken(/^(left|center|right|top|bottom)\\b/i,b)||a.consumeLengthOrPercent(b)}function d(b,d){var e=a.consumeRepeated(c,/^/,d);if(e&&\"\"==e[1]){var f=e[0];if(f[0]=f[0]||\"center\",f[1]=f[1]||\"center\",3==b&&(f[2]=f[2]||{px:0}),f.length==b){if(/top|bottom/.test(f[0])||/left|right/.test(f[1])){var h=f[0];f[0]=f[1],f[1]=h}if(/left|right|center|Object/.test(f[0])&&/top|bottom|center|Object/.test(f[1]))return f.map(function(a){return\"object\"==typeof a?a:g[a]})}}}function e(d){var e=a.consumeRepeated(c,/^/,d);if(e){for(var f=e[0],h=[{\"%\":50},{\"%\":50}],i=0,j=!1,k=0;k=0&&this._cancelHandlers.splice(c,1)}else i.call(this,a,b)},f}}}(),function(a){var b=document.documentElement,c=null,d=!1;try{var e=getComputedStyle(b).getPropertyValue(\"opacity\"),f=\"0\"==e?\"1\":\"0\";c=b.animate({opacity:[f,f]},{duration:1}),c.currentTime=0,d=getComputedStyle(b).getPropertyValue(\"opacity\")==f}catch(a){}finally{c&&c.cancel()}if(!d){var g=window.Element.prototype.animate;window.Element.prototype.animate=function(b,c){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&b[Symbol.iterator]&&(b=Array.from(b)),Array.isArray(b)||null===b||(b=a.convertToArrayForm(b)),g.call(this,b,c)}}}(a)}();\n","/**\n * @license Angular v14.3.0\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\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 */\nvar TagContentType;\n(function (TagContentType) {\n TagContentType[TagContentType[\"RAW_TEXT\"] = 0] = \"RAW_TEXT\";\n TagContentType[TagContentType[\"ESCAPABLE_RAW_TEXT\"] = 1] = \"ESCAPABLE_RAW_TEXT\";\n TagContentType[TagContentType[\"PARSABLE_DATA\"] = 2] = \"PARSABLE_DATA\";\n})(TagContentType || (TagContentType = {}));\nfunction splitNsName(elementName) {\n if (elementName[0] != ':') {\n return [null, elementName];\n }\n const colonIndex = elementName.indexOf(':', 1);\n if (colonIndex === -1) {\n throw new Error(`Unsupported format \"${elementName}\" expecting \":namespace:name\"`);\n }\n return [elementName.slice(1, colonIndex), elementName.slice(colonIndex + 1)];\n}\n// `` tags work the same regardless the namespace\nfunction isNgContainer(tagName) {\n return splitNsName(tagName)[1] === 'ng-container';\n}\n// `` tags work the same regardless the namespace\nfunction isNgContent(tagName) {\n return splitNsName(tagName)[1] === 'ng-content';\n}\n// `` tags work the same regardless the namespace\nfunction isNgTemplate(tagName) {\n return splitNsName(tagName)[1] === 'ng-template';\n}\nfunction getNsPrefix(fullName) {\n return fullName === null ? null : splitNsName(fullName)[0];\n}\nfunction mergeNsAndName(prefix, localName) {\n return prefix ? `:${prefix}:${localName}` : localName;\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 HtmlTagDefinition {\n constructor({ closedByChildren, implicitNamespacePrefix, contentType = TagContentType.PARSABLE_DATA, closedByParent = false, isVoid = false, ignoreFirstLf = false, preventNamespaceInheritance = false } = {}) {\n this.closedByChildren = {};\n this.closedByParent = false;\n this.canSelfClose = false;\n if (closedByChildren && closedByChildren.length > 0) {\n closedByChildren.forEach(tagName => this.closedByChildren[tagName] = true);\n }\n this.isVoid = isVoid;\n this.closedByParent = closedByParent || isVoid;\n this.implicitNamespacePrefix = implicitNamespacePrefix || null;\n this.contentType = contentType;\n this.ignoreFirstLf = ignoreFirstLf;\n this.preventNamespaceInheritance = preventNamespaceInheritance;\n }\n isClosedByChild(name) {\n return this.isVoid || name.toLowerCase() in this.closedByChildren;\n }\n getContentType(prefix) {\n if (typeof this.contentType === 'object') {\n const overrideType = prefix === undefined ? undefined : this.contentType[prefix];\n return overrideType ?? this.contentType.default;\n }\n return this.contentType;\n }\n}\nlet _DEFAULT_TAG_DEFINITION;\n// see https://www.w3.org/TR/html51/syntax.html#optional-tags\n// This implementation does not fully conform to the HTML5 spec.\nlet TAG_DEFINITIONS;\nfunction getHtmlTagDefinition(tagName) {\n if (!TAG_DEFINITIONS) {\n _DEFAULT_TAG_DEFINITION = new HtmlTagDefinition();\n TAG_DEFINITIONS = {\n 'base': new HtmlTagDefinition({ isVoid: true }),\n 'meta': new HtmlTagDefinition({ isVoid: true }),\n 'area': new HtmlTagDefinition({ isVoid: true }),\n 'embed': new HtmlTagDefinition({ isVoid: true }),\n 'link': new HtmlTagDefinition({ isVoid: true }),\n 'img': new HtmlTagDefinition({ isVoid: true }),\n 'input': new HtmlTagDefinition({ isVoid: true }),\n 'param': new HtmlTagDefinition({ isVoid: true }),\n 'hr': new HtmlTagDefinition({ isVoid: true }),\n 'br': new HtmlTagDefinition({ isVoid: true }),\n 'source': new HtmlTagDefinition({ isVoid: true }),\n 'track': new HtmlTagDefinition({ isVoid: true }),\n 'wbr': new HtmlTagDefinition({ isVoid: true }),\n 'p': new HtmlTagDefinition({\n closedByChildren: [\n 'address', 'article', 'aside', 'blockquote', 'div', 'dl', 'fieldset',\n 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5',\n 'h6', 'header', 'hgroup', 'hr', 'main', 'nav', 'ol',\n 'p', 'pre', 'section', 'table', 'ul'\n ],\n closedByParent: true\n }),\n 'thead': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'] }),\n 'tbody': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'], closedByParent: true }),\n 'tfoot': new HtmlTagDefinition({ closedByChildren: ['tbody'], closedByParent: true }),\n 'tr': new HtmlTagDefinition({ closedByChildren: ['tr'], closedByParent: true }),\n 'td': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'th': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'col': new HtmlTagDefinition({ isVoid: true }),\n 'svg': new HtmlTagDefinition({ implicitNamespacePrefix: 'svg' }),\n 'foreignObject': new HtmlTagDefinition({\n // Usually the implicit namespace here would be redundant since it will be inherited from\n // the parent `svg`, but we have to do it for `foreignObject`, because the way the parser\n // works is that the parent node of an end tag is its own start tag which means that\n // the `preventNamespaceInheritance` on `foreignObject` would have it default to the\n // implicit namespace which is `html`, unless specified otherwise.\n implicitNamespacePrefix: 'svg',\n // We want to prevent children of foreignObject from inheriting its namespace, because\n // the point of the element is to allow nodes from other namespaces to be inserted.\n preventNamespaceInheritance: true,\n }),\n 'math': new HtmlTagDefinition({ implicitNamespacePrefix: 'math' }),\n 'li': new HtmlTagDefinition({ closedByChildren: ['li'], closedByParent: true }),\n 'dt': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'] }),\n 'dd': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'], closedByParent: true }),\n 'rb': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rt': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rtc': new HtmlTagDefinition({ closedByChildren: ['rb', 'rtc', 'rp'], closedByParent: true }),\n 'rp': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'optgroup': new HtmlTagDefinition({ closedByChildren: ['optgroup'], closedByParent: true }),\n 'option': new HtmlTagDefinition({ closedByChildren: ['option', 'optgroup'], closedByParent: true }),\n 'pre': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'listing': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'style': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'script': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'title': new HtmlTagDefinition({\n // The browser supports two separate `title` tags which have to use\n // a different content type: `HTMLTitleElement` and `SVGTitleElement`\n contentType: { default: TagContentType.ESCAPABLE_RAW_TEXT, svg: TagContentType.PARSABLE_DATA }\n }),\n 'textarea': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT, ignoreFirstLf: true }),\n };\n }\n // We have to make both a case-sensitive and a case-insensitive lookup, because\n // HTML tag names are case insensitive, whereas some SVG tags are case sensitive.\n return TAG_DEFINITIONS[tagName] ?? TAG_DEFINITIONS[tagName.toLowerCase()] ??\n _DEFAULT_TAG_DEFINITION;\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 _SELECTOR_REGEXP = new RegExp('(\\\\:not\\\\()|' + // 1: \":not(\"\n '(([\\\\.\\\\#]?)[-\\\\w]+)|' + // 2: \"tag\"; 3: \".\"/\"#\";\n // \"-\" should appear first in the regexp below as FF31 parses \"[.-\\w]\" as a range\n // 4: attribute; 5: attribute_string; 6: attribute_value\n '(?:\\\\[([-.\\\\w*\\\\\\\\$]+)(?:=([\\\"\\']?)([^\\\\]\\\"\\']*)\\\\5)?\\\\])|' + // \"[name]\", \"[name=value]\",\n // \"[name=\"value\"]\",\n // \"[name='value']\"\n '(\\\\))|' + // 7: \")\"\n '(\\\\s*,\\\\s*)', // 8: \",\"\n'g');\n/**\n * A css selector contains an element name,\n * css classes and attribute/value pairs with the purpose\n * of selecting subsets out of them.\n */\nclass CssSelector {\n constructor() {\n this.element = null;\n this.classNames = [];\n /**\n * The selectors are encoded in pairs where:\n * - even locations are attribute names\n * - odd locations are attribute values.\n *\n * Example:\n * Selector: `[key1=value1][key2]` would parse to:\n * ```\n * ['key1', 'value1', 'key2', '']\n * ```\n */\n this.attrs = [];\n this.notSelectors = [];\n }\n static parse(selector) {\n const results = [];\n const _addResult = (res, cssSel) => {\n if (cssSel.notSelectors.length > 0 && !cssSel.element && cssSel.classNames.length == 0 &&\n cssSel.attrs.length == 0) {\n cssSel.element = '*';\n }\n res.push(cssSel);\n };\n let cssSelector = new CssSelector();\n let match;\n let current = cssSelector;\n let inNot = false;\n _SELECTOR_REGEXP.lastIndex = 0;\n while (match = _SELECTOR_REGEXP.exec(selector)) {\n if (match[1 /* SelectorRegexp.NOT */]) {\n if (inNot) {\n throw new Error('Nesting :not in a selector is not allowed');\n }\n inNot = true;\n current = new CssSelector();\n cssSelector.notSelectors.push(current);\n }\n const tag = match[2 /* SelectorRegexp.TAG */];\n if (tag) {\n const prefix = match[3 /* SelectorRegexp.PREFIX */];\n if (prefix === '#') {\n // #hash\n current.addAttribute('id', tag.slice(1));\n }\n else if (prefix === '.') {\n // Class\n current.addClassName(tag.slice(1));\n }\n else {\n // Element\n current.setElement(tag);\n }\n }\n const attribute = match[4 /* SelectorRegexp.ATTRIBUTE */];\n if (attribute) {\n current.addAttribute(current.unescapeAttribute(attribute), match[6 /* SelectorRegexp.ATTRIBUTE_VALUE */]);\n }\n if (match[7 /* SelectorRegexp.NOT_END */]) {\n inNot = false;\n current = cssSelector;\n }\n if (match[8 /* SelectorRegexp.SEPARATOR */]) {\n if (inNot) {\n throw new Error('Multiple selectors in :not are not supported');\n }\n _addResult(results, cssSelector);\n cssSelector = current = new CssSelector();\n }\n }\n _addResult(results, cssSelector);\n return results;\n }\n /**\n * Unescape `\\$` sequences from the CSS attribute selector.\n *\n * This is needed because `$` can have a special meaning in CSS selectors,\n * but we might want to match an attribute that contains `$`.\n * [MDN web link for more\n * info](https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors).\n * @param attr the attribute to unescape.\n * @returns the unescaped string.\n */\n unescapeAttribute(attr) {\n let result = '';\n let escaping = false;\n for (let i = 0; i < attr.length; i++) {\n const char = attr.charAt(i);\n if (char === '\\\\') {\n escaping = true;\n continue;\n }\n if (char === '$' && !escaping) {\n throw new Error(`Error in attribute selector \"${attr}\". ` +\n `Unescaped \"$\" is not supported. Please escape with \"\\\\$\".`);\n }\n escaping = false;\n result += char;\n }\n return result;\n }\n /**\n * Escape `$` sequences from the CSS attribute selector.\n *\n * This is needed because `$` can have a special meaning in CSS selectors,\n * with this method we are escaping `$` with `\\$'.\n * [MDN web link for more\n * info](https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors).\n * @param attr the attribute to escape.\n * @returns the escaped string.\n */\n escapeAttribute(attr) {\n return attr.replace(/\\\\/g, '\\\\\\\\').replace(/\\$/g, '\\\\$');\n }\n isElementSelector() {\n return this.hasElementSelector() && this.classNames.length == 0 && this.attrs.length == 0 &&\n this.notSelectors.length === 0;\n }\n hasElementSelector() {\n return !!this.element;\n }\n setElement(element = null) {\n this.element = element;\n }\n /** Gets a template string for an element that matches the selector. */\n getMatchingElementTemplate() {\n const tagName = this.element || 'div';\n const classAttr = this.classNames.length > 0 ? ` class=\"${this.classNames.join(' ')}\"` : '';\n let attrs = '';\n for (let i = 0; i < this.attrs.length; i += 2) {\n const attrName = this.attrs[i];\n const attrValue = this.attrs[i + 1] !== '' ? `=\"${this.attrs[i + 1]}\"` : '';\n attrs += ` ${attrName}${attrValue}`;\n }\n return getHtmlTagDefinition(tagName).isVoid ? `<${tagName}${classAttr}${attrs}/>` :\n `<${tagName}${classAttr}${attrs}>`;\n }\n getAttrs() {\n const result = [];\n if (this.classNames.length > 0) {\n result.push('class', this.classNames.join(' '));\n }\n return result.concat(this.attrs);\n }\n addAttribute(name, value = '') {\n this.attrs.push(name, value && value.toLowerCase() || '');\n }\n addClassName(name) {\n this.classNames.push(name.toLowerCase());\n }\n toString() {\n let res = this.element || '';\n if (this.classNames) {\n this.classNames.forEach(klass => res += `.${klass}`);\n }\n if (this.attrs) {\n for (let i = 0; i < this.attrs.length; i += 2) {\n const name = this.escapeAttribute(this.attrs[i]);\n const value = this.attrs[i + 1];\n res += `[${name}${value ? '=' + value : ''}]`;\n }\n }\n this.notSelectors.forEach(notSelector => res += `:not(${notSelector})`);\n return res;\n }\n}\n/**\n * Reads a list of CssSelectors and allows to calculate which ones\n * are contained in a given CssSelector.\n */\nclass SelectorMatcher {\n constructor() {\n this._elementMap = new Map();\n this._elementPartialMap = new Map();\n this._classMap = new Map();\n this._classPartialMap = new Map();\n this._attrValueMap = new Map();\n this._attrValuePartialMap = new Map();\n this._listContexts = [];\n }\n static createNotMatcher(notSelectors) {\n const notMatcher = new SelectorMatcher();\n notMatcher.addSelectables(notSelectors, null);\n return notMatcher;\n }\n addSelectables(cssSelectors, callbackCtxt) {\n let listContext = null;\n if (cssSelectors.length > 1) {\n listContext = new SelectorListContext(cssSelectors);\n this._listContexts.push(listContext);\n }\n for (let i = 0; i < cssSelectors.length; i++) {\n this._addSelectable(cssSelectors[i], callbackCtxt, listContext);\n }\n }\n /**\n * Add an object that can be found later on by calling `match`.\n * @param cssSelector A css selector\n * @param callbackCtxt An opaque object that will be given to the callback of the `match` function\n */\n _addSelectable(cssSelector, callbackCtxt, listContext) {\n let matcher = this;\n const element = cssSelector.element;\n const classNames = cssSelector.classNames;\n const attrs = cssSelector.attrs;\n const selectable = new SelectorContext(cssSelector, callbackCtxt, listContext);\n if (element) {\n const isTerminal = attrs.length === 0 && classNames.length === 0;\n if (isTerminal) {\n this._addTerminal(matcher._elementMap, element, selectable);\n }\n else {\n matcher = this._addPartial(matcher._elementPartialMap, element);\n }\n }\n if (classNames) {\n for (let i = 0; i < classNames.length; i++) {\n const isTerminal = attrs.length === 0 && i === classNames.length - 1;\n const className = classNames[i];\n if (isTerminal) {\n this._addTerminal(matcher._classMap, className, selectable);\n }\n else {\n matcher = this._addPartial(matcher._classPartialMap, className);\n }\n }\n }\n if (attrs) {\n for (let i = 0; i < attrs.length; i += 2) {\n const isTerminal = i === attrs.length - 2;\n const name = attrs[i];\n const value = attrs[i + 1];\n if (isTerminal) {\n const terminalMap = matcher._attrValueMap;\n let terminalValuesMap = terminalMap.get(name);\n if (!terminalValuesMap) {\n terminalValuesMap = new Map();\n terminalMap.set(name, terminalValuesMap);\n }\n this._addTerminal(terminalValuesMap, value, selectable);\n }\n else {\n const partialMap = matcher._attrValuePartialMap;\n let partialValuesMap = partialMap.get(name);\n if (!partialValuesMap) {\n partialValuesMap = new Map();\n partialMap.set(name, partialValuesMap);\n }\n matcher = this._addPartial(partialValuesMap, value);\n }\n }\n }\n }\n _addTerminal(map, name, selectable) {\n let terminalList = map.get(name);\n if (!terminalList) {\n terminalList = [];\n map.set(name, terminalList);\n }\n terminalList.push(selectable);\n }\n _addPartial(map, name) {\n let matcher = map.get(name);\n if (!matcher) {\n matcher = new SelectorMatcher();\n map.set(name, matcher);\n }\n return matcher;\n }\n /**\n * Find the objects that have been added via `addSelectable`\n * whose css selector is contained in the given css selector.\n * @param cssSelector A css selector\n * @param matchedCallback This callback will be called with the object handed into `addSelectable`\n * @return boolean true if a match was found\n */\n match(cssSelector, matchedCallback) {\n let result = false;\n const element = cssSelector.element;\n const classNames = cssSelector.classNames;\n const attrs = cssSelector.attrs;\n for (let i = 0; i < this._listContexts.length; i++) {\n this._listContexts[i].alreadyMatched = false;\n }\n result = this._matchTerminal(this._elementMap, element, cssSelector, matchedCallback) || result;\n result = this._matchPartial(this._elementPartialMap, element, cssSelector, matchedCallback) ||\n result;\n if (classNames) {\n for (let i = 0; i < classNames.length; i++) {\n const className = classNames[i];\n result =\n this._matchTerminal(this._classMap, className, cssSelector, matchedCallback) || result;\n result =\n this._matchPartial(this._classPartialMap, className, cssSelector, matchedCallback) ||\n result;\n }\n }\n if (attrs) {\n for (let i = 0; i < attrs.length; i += 2) {\n const name = attrs[i];\n const value = attrs[i + 1];\n const terminalValuesMap = this._attrValueMap.get(name);\n if (value) {\n result =\n this._matchTerminal(terminalValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchTerminal(terminalValuesMap, value, cssSelector, matchedCallback) || result;\n const partialValuesMap = this._attrValuePartialMap.get(name);\n if (value) {\n result = this._matchPartial(partialValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchPartial(partialValuesMap, value, cssSelector, matchedCallback) || result;\n }\n }\n return result;\n }\n /** @internal */\n _matchTerminal(map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n let selectables = map.get(name) || [];\n const starSelectables = map.get('*');\n if (starSelectables) {\n selectables = selectables.concat(starSelectables);\n }\n if (selectables.length === 0) {\n return false;\n }\n let selectable;\n let result = false;\n for (let i = 0; i < selectables.length; i++) {\n selectable = selectables[i];\n result = selectable.finalize(cssSelector, matchedCallback) || result;\n }\n return result;\n }\n /** @internal */\n _matchPartial(map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n const nestedSelector = map.get(name);\n if (!nestedSelector) {\n return false;\n }\n // TODO(perf): get rid of recursion and measure again\n // TODO(perf): don't pass the whole selector into the recursion,\n // but only the not processed parts\n return nestedSelector.match(cssSelector, matchedCallback);\n }\n}\nclass SelectorListContext {\n constructor(selectors) {\n this.selectors = selectors;\n this.alreadyMatched = false;\n }\n}\n// Store context to pass back selector and context when a selector is matched\nclass SelectorContext {\n constructor(selector, cbContext, listContext) {\n this.selector = selector;\n this.cbContext = cbContext;\n this.listContext = listContext;\n this.notSelectors = selector.notSelectors;\n }\n finalize(cssSelector, callback) {\n let result = true;\n if (this.notSelectors.length > 0 && (!this.listContext || !this.listContext.alreadyMatched)) {\n const notMatcher = SelectorMatcher.createNotMatcher(this.notSelectors);\n result = !notMatcher.match(cssSelector, null);\n }\n if (result && callback && (!this.listContext || !this.listContext.alreadyMatched)) {\n if (this.listContext) {\n this.listContext.alreadyMatched = true;\n }\n callback(this.selector, this.cbContext);\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// Stores the default value of `emitDistinctChangesOnly` when the `emitDistinctChangesOnly` is not\n// explicitly set.\nconst emitDistinctChangesOnlyDefaultValue = true;\nvar ViewEncapsulation;\n(function (ViewEncapsulation) {\n ViewEncapsulation[ViewEncapsulation[\"Emulated\"] = 0] = \"Emulated\";\n // Historically the 1 value was for `Native` encapsulation which has been removed as of v11.\n ViewEncapsulation[ViewEncapsulation[\"None\"] = 2] = \"None\";\n ViewEncapsulation[ViewEncapsulation[\"ShadowDom\"] = 3] = \"ShadowDom\";\n})(ViewEncapsulation || (ViewEncapsulation = {}));\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\nconst CUSTOM_ELEMENTS_SCHEMA = {\n name: 'custom-elements'\n};\nconst NO_ERRORS_SCHEMA = {\n name: 'no-errors-schema'\n};\nconst Type$1 = Function;\nvar SecurityContext;\n(function (SecurityContext) {\n SecurityContext[SecurityContext[\"NONE\"] = 0] = \"NONE\";\n SecurityContext[SecurityContext[\"HTML\"] = 1] = \"HTML\";\n SecurityContext[SecurityContext[\"STYLE\"] = 2] = \"STYLE\";\n SecurityContext[SecurityContext[\"SCRIPT\"] = 3] = \"SCRIPT\";\n SecurityContext[SecurityContext[\"URL\"] = 4] = \"URL\";\n SecurityContext[SecurityContext[\"RESOURCE_URL\"] = 5] = \"RESOURCE_URL\";\n})(SecurityContext || (SecurityContext = {}));\nvar MissingTranslationStrategy;\n(function (MissingTranslationStrategy) {\n MissingTranslationStrategy[MissingTranslationStrategy[\"Error\"] = 0] = \"Error\";\n MissingTranslationStrategy[MissingTranslationStrategy[\"Warning\"] = 1] = \"Warning\";\n MissingTranslationStrategy[MissingTranslationStrategy[\"Ignore\"] = 2] = \"Ignore\";\n})(MissingTranslationStrategy || (MissingTranslationStrategy = {}));\nfunction parserSelectorToSimpleSelector(selector) {\n const classes = selector.classNames && selector.classNames.length ?\n [8 /* SelectorFlags.CLASS */, ...selector.classNames] :\n [];\n const elementName = selector.element && selector.element !== '*' ? selector.element : '';\n return [elementName, ...selector.attrs, ...classes];\n}\nfunction parserSelectorToNegativeSelector(selector) {\n const classes = selector.classNames && selector.classNames.length ?\n [8 /* SelectorFlags.CLASS */, ...selector.classNames] :\n [];\n if (selector.element) {\n return [\n 1 /* SelectorFlags.NOT */ | 4 /* SelectorFlags.ELEMENT */, selector.element, ...selector.attrs, ...classes\n ];\n }\n else if (selector.attrs.length) {\n return [1 /* SelectorFlags.NOT */ | 2 /* SelectorFlags.ATTRIBUTE */, ...selector.attrs, ...classes];\n }\n else {\n return selector.classNames && selector.classNames.length ?\n [1 /* SelectorFlags.NOT */ | 8 /* SelectorFlags.CLASS */, ...selector.classNames] :\n [];\n }\n}\nfunction parserSelectorToR3Selector(selector) {\n const positive = parserSelectorToSimpleSelector(selector);\n const negative = selector.notSelectors && selector.notSelectors.length ?\n selector.notSelectors.map(notSelector => parserSelectorToNegativeSelector(notSelector)) :\n [];\n return positive.concat(...negative);\n}\nfunction parseSelectorToR3Selector(selector) {\n return selector ? CssSelector.parse(selector).map(parserSelectorToR3Selector) : [];\n}\n\nvar core = /*#__PURE__*/Object.freeze({\n __proto__: null,\n emitDistinctChangesOnlyDefaultValue: emitDistinctChangesOnlyDefaultValue,\n get ViewEncapsulation () { return ViewEncapsulation; },\n get ChangeDetectionStrategy () { return ChangeDetectionStrategy; },\n CUSTOM_ELEMENTS_SCHEMA: CUSTOM_ELEMENTS_SCHEMA,\n NO_ERRORS_SCHEMA: NO_ERRORS_SCHEMA,\n Type: Type$1,\n get SecurityContext () { return SecurityContext; },\n get MissingTranslationStrategy () { return MissingTranslationStrategy; },\n parseSelectorToR3Selector: parseSelectorToR3Selector\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 DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction splitAtColon(input, defaultValues) {\n return _splitAt(input, ':', defaultValues);\n}\nfunction splitAtPeriod(input, defaultValues) {\n return _splitAt(input, '.', defaultValues);\n}\nfunction _splitAt(input, character, defaultValues) {\n const characterIndex = input.indexOf(character);\n if (characterIndex == -1)\n return defaultValues;\n return [input.slice(0, characterIndex).trim(), input.slice(characterIndex + 1).trim()];\n}\nfunction noUndefined(val) {\n return val === undefined ? null : val;\n}\nfunction error(msg) {\n throw new Error(`Internal Error: ${msg}`);\n}\n// Escape characters that have a special meaning in Regular Expressions\nfunction escapeRegExp(s) {\n return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\nfunction utf8Encode(str) {\n let encoded = [];\n for (let index = 0; index < str.length; index++) {\n let codePoint = str.charCodeAt(index);\n // decode surrogate\n // see https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n if (codePoint >= 0xd800 && codePoint <= 0xdbff && str.length > (index + 1)) {\n const low = str.charCodeAt(index + 1);\n if (low >= 0xdc00 && low <= 0xdfff) {\n index++;\n codePoint = ((codePoint - 0xd800) << 10) + low - 0xdc00 + 0x10000;\n }\n }\n if (codePoint <= 0x7f) {\n encoded.push(codePoint);\n }\n else if (codePoint <= 0x7ff) {\n encoded.push(((codePoint >> 6) & 0x1F) | 0xc0, (codePoint & 0x3f) | 0x80);\n }\n else if (codePoint <= 0xffff) {\n encoded.push((codePoint >> 12) | 0xe0, ((codePoint >> 6) & 0x3f) | 0x80, (codePoint & 0x3f) | 0x80);\n }\n else if (codePoint <= 0x1fffff) {\n encoded.push(((codePoint >> 18) & 0x07) | 0xf0, ((codePoint >> 12) & 0x3f) | 0x80, ((codePoint >> 6) & 0x3f) | 0x80, (codePoint & 0x3f) | 0x80);\n }\n }\n return encoded;\n}\nfunction stringify(token) {\n if (typeof token === 'string') {\n return token;\n }\n if (Array.isArray(token)) {\n return '[' + token.map(stringify).join(', ') + ']';\n }\n if (token == null) {\n return '' + token;\n }\n if (token.overriddenName) {\n return `${token.overriddenName}`;\n }\n if (token.name) {\n return `${token.name}`;\n }\n if (!token.toString) {\n return 'object';\n }\n // WARNING: do not try to `JSON.stringify(token)` here\n // see https://github.com/angular/angular/issues/23440\n const res = token.toString();\n if (res == null) {\n return '' + res;\n }\n const newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\nclass Version {\n constructor(full) {\n this.full = full;\n const splits = full.split('.');\n this.major = splits[0];\n this.minor = splits[1];\n this.patch = splits.slice(2).join('.');\n }\n}\n// Check `global` first, because in Node tests both `global` and `window` may be defined and our\n// `_global` variable should point to the NodeJS `global` in that case. Note: Typeof/Instanceof\n// checks are considered side-effects in Terser. We explicitly mark this as side-effect free:\n// https://github.com/terser/terser/issues/250.\nconst _global = ( /* @__PURE__ */(() => (typeof global !== 'undefined' && global) || (typeof window !== 'undefined' && window) ||\n (typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self))());\nfunction newArray(size, value) {\n const list = [];\n for (let i = 0; i < size; i++) {\n list.push(value);\n }\n return list;\n}\n/**\n * Partitions a given array into 2 arrays, based on a boolean value returned by the condition\n * function.\n *\n * @param arr Input array that should be partitioned\n * @param conditionFn Condition function that is called for each item in a given array and returns a\n * boolean value.\n */\nfunction partitionArray(arr, conditionFn) {\n const truthy = [];\n const falsy = [];\n for (const item of arr) {\n (conditionFn(item) ? truthy : falsy).push(item);\n }\n return [truthy, falsy];\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 a big integer using a buffer of its individual digits, with the least significant\n * digit stored at the beginning of the array (little endian).\n *\n * For performance reasons, each instance is mutable. The addition operation can be done in-place\n * to reduce memory pressure of allocation for the digits array.\n */\nclass BigInteger {\n /**\n * Creates a big integer using its individual digits in little endian storage.\n */\n constructor(digits) {\n this.digits = digits;\n }\n static zero() {\n return new BigInteger([0]);\n }\n static one() {\n return new BigInteger([1]);\n }\n /**\n * Creates a clone of this instance.\n */\n clone() {\n return new BigInteger(this.digits.slice());\n }\n /**\n * Returns a new big integer with the sum of `this` and `other` as its value. This does not mutate\n * `this` but instead returns a new instance, unlike `addToSelf`.\n */\n add(other) {\n const result = this.clone();\n result.addToSelf(other);\n return result;\n }\n /**\n * Adds `other` to the instance itself, thereby mutating its value.\n */\n addToSelf(other) {\n const maxNrOfDigits = Math.max(this.digits.length, other.digits.length);\n let carry = 0;\n for (let i = 0; i < maxNrOfDigits; i++) {\n let digitSum = carry;\n if (i < this.digits.length) {\n digitSum += this.digits[i];\n }\n if (i < other.digits.length) {\n digitSum += other.digits[i];\n }\n if (digitSum >= 10) {\n this.digits[i] = digitSum - 10;\n carry = 1;\n }\n else {\n this.digits[i] = digitSum;\n carry = 0;\n }\n }\n // Apply a remaining carry if needed.\n if (carry > 0) {\n this.digits[maxNrOfDigits] = 1;\n }\n }\n /**\n * Builds the decimal string representation of the big integer. As this is stored in\n * little endian, the digits are concatenated in reverse order.\n */\n toString() {\n let res = '';\n for (let i = this.digits.length - 1; i >= 0; i--) {\n res += this.digits[i];\n }\n return res;\n }\n}\n/**\n * Represents a big integer which is optimized for multiplication operations, as its power-of-twos\n * are memoized. See `multiplyBy()` for details on the multiplication algorithm.\n */\nclass BigIntForMultiplication {\n constructor(value) {\n this.powerOfTwos = [value];\n }\n /**\n * Returns the big integer itself.\n */\n getValue() {\n return this.powerOfTwos[0];\n }\n /**\n * Computes the value for `num * b`, where `num` is a JS number and `b` is a big integer. The\n * value for `b` is represented by a storage model that is optimized for this computation.\n *\n * This operation is implemented in N(log2(num)) by continuous halving of the number, where the\n * least-significant bit (LSB) is tested in each iteration. If the bit is set, the bit's index is\n * used as exponent into the power-of-two multiplication of `b`.\n *\n * As an example, consider the multiplication num=42, b=1337. In binary 42 is 0b00101010 and the\n * algorithm unrolls into the following iterations:\n *\n * Iteration | num | LSB | b * 2^iter | Add? | product\n * -----------|------------|------|------------|------|--------\n * 0 | 0b00101010 | 0 | 1337 | No | 0\n * 1 | 0b00010101 | 1 | 2674 | Yes | 2674\n * 2 | 0b00001010 | 0 | 5348 | No | 2674\n * 3 | 0b00000101 | 1 | 10696 | Yes | 13370\n * 4 | 0b00000010 | 0 | 21392 | No | 13370\n * 5 | 0b00000001 | 1 | 42784 | Yes | 56154\n * 6 | 0b00000000 | 0 | 85568 | No | 56154\n *\n * The computed product of 56154 is indeed the correct result.\n *\n * The `BigIntForMultiplication` representation for a big integer provides memoized access to the\n * power-of-two values to reduce the workload in computing those values.\n */\n multiplyBy(num) {\n const product = BigInteger.zero();\n this.multiplyByAndAddTo(num, product);\n return product;\n }\n /**\n * See `multiplyBy()` for details. This function allows for the computed product to be added\n * directly to the provided result big integer.\n */\n multiplyByAndAddTo(num, result) {\n for (let exponent = 0; num !== 0; num = num >>> 1, exponent++) {\n if (num & 1) {\n const value = this.getMultipliedByPowerOfTwo(exponent);\n result.addToSelf(value);\n }\n }\n }\n /**\n * Computes and memoizes the big integer value for `this.number * 2^exponent`.\n */\n getMultipliedByPowerOfTwo(exponent) {\n // Compute the powers up until the requested exponent, where each value is computed from its\n // predecessor. This is simple as `this.number * 2^(exponent - 1)` only has to be doubled (i.e.\n // added to itself) to reach `this.number * 2^exponent`.\n for (let i = this.powerOfTwos.length; i <= exponent; i++) {\n const previousPower = this.powerOfTwos[i - 1];\n this.powerOfTwos[i] = previousPower.add(previousPower);\n }\n return this.powerOfTwos[exponent];\n }\n}\n/**\n * Represents an exponentiation operation for the provided base, of which exponents are computed and\n * memoized. The results are represented by a `BigIntForMultiplication` which is tailored for\n * multiplication operations by memoizing the power-of-twos. This effectively results in a matrix\n * representation that is lazily computed upon request.\n */\nclass BigIntExponentiation {\n constructor(base) {\n this.base = base;\n this.exponents = [new BigIntForMultiplication(BigInteger.one())];\n }\n /**\n * Compute the value for `this.base^exponent`, resulting in a big integer that is optimized for\n * further multiplication operations.\n */\n toThePowerOf(exponent) {\n // Compute the results up until the requested exponent, where every value is computed from its\n // predecessor. This is because `this.base^(exponent - 1)` only has to be multiplied by `base`\n // to reach `this.base^exponent`.\n for (let i = this.exponents.length; i <= exponent; i++) {\n const value = this.exponents[i - 1].multiplyBy(this.base);\n this.exponents[i] = new BigIntForMultiplication(value);\n }\n return this.exponents[exponent];\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 * Return the message id or compute it using the XLIFF1 digest.\n */\nfunction digest$1(message) {\n return message.id || computeDigest(message);\n}\n/**\n * Compute the message id using the XLIFF1 digest.\n */\nfunction computeDigest(message) {\n return sha1(serializeNodes(message.nodes).join('') + `[${message.meaning}]`);\n}\n/**\n * Return the message id or compute it using the XLIFF2/XMB/$localize digest.\n */\nfunction decimalDigest(message) {\n return message.id || computeDecimalDigest(message);\n}\n/**\n * Compute the message id using the XLIFF2/XMB/$localize digest.\n */\nfunction computeDecimalDigest(message) {\n const visitor = new _SerializerIgnoreIcuExpVisitor();\n const parts = message.nodes.map(a => a.visit(visitor, null));\n return computeMsgId(parts.join(''), message.meaning);\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * The visitor is also used in the i18n parser tests\n *\n * @internal\n */\nclass _SerializerVisitor {\n visitText(text, context) {\n return text.value;\n }\n visitContainer(container, context) {\n return `[${container.children.map(child => child.visit(this)).join(', ')}]`;\n }\n visitIcu(icu, context) {\n const strCases = Object.keys(icu.cases).map((k) => `${k} {${icu.cases[k].visit(this)}}`);\n return `{${icu.expression}, ${icu.type}, ${strCases.join(', ')}}`;\n }\n visitTagPlaceholder(ph, context) {\n return ph.isVoid ?\n `` :\n `${ph.children.map(child => child.visit(this)).join(', ')}`;\n }\n visitPlaceholder(ph, context) {\n return ph.value ? `${ph.value}` : ``;\n }\n visitIcuPlaceholder(ph, context) {\n return `${ph.value.visit(this)}`;\n }\n}\nconst serializerVisitor$1 = new _SerializerVisitor();\nfunction serializeNodes(nodes) {\n return nodes.map(a => a.visit(serializerVisitor$1, null));\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * Ignore the ICU expressions so that message IDs stays identical if only the expression changes.\n *\n * @internal\n */\nclass _SerializerIgnoreIcuExpVisitor extends _SerializerVisitor {\n visitIcu(icu, context) {\n let strCases = Object.keys(icu.cases).map((k) => `${k} {${icu.cases[k].visit(this)}}`);\n // Do not take the expression into account\n return `{${icu.type}, ${strCases.join(', ')}}`;\n }\n}\n/**\n * Compute the SHA1 of the given string\n *\n * see https://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf\n *\n * WARNING: this function has not been designed not tested with security in mind.\n * DO NOT USE IT IN A SECURITY SENSITIVE CONTEXT.\n */\nfunction sha1(str) {\n const utf8 = utf8Encode(str);\n const words32 = bytesToWords32(utf8, Endian.Big);\n const len = utf8.length * 8;\n const w = newArray(80);\n let a = 0x67452301, b = 0xefcdab89, c = 0x98badcfe, d = 0x10325476, e = 0xc3d2e1f0;\n words32[len >> 5] |= 0x80 << (24 - len % 32);\n words32[((len + 64 >> 9) << 4) + 15] = len;\n for (let i = 0; i < words32.length; i += 16) {\n const h0 = a, h1 = b, h2 = c, h3 = d, h4 = e;\n for (let j = 0; j < 80; j++) {\n if (j < 16) {\n w[j] = words32[i + j];\n }\n else {\n w[j] = rol32(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);\n }\n const fkVal = fk(j, b, c, d);\n const f = fkVal[0];\n const k = fkVal[1];\n const temp = [rol32(a, 5), f, e, k, w[j]].reduce(add32);\n e = d;\n d = c;\n c = rol32(b, 30);\n b = a;\n a = temp;\n }\n a = add32(a, h0);\n b = add32(b, h1);\n c = add32(c, h2);\n d = add32(d, h3);\n e = add32(e, h4);\n }\n return bytesToHexString(words32ToByteString([a, b, c, d, e]));\n}\nfunction fk(index, b, c, d) {\n if (index < 20) {\n return [(b & c) | (~b & d), 0x5a827999];\n }\n if (index < 40) {\n return [b ^ c ^ d, 0x6ed9eba1];\n }\n if (index < 60) {\n return [(b & c) | (b & d) | (c & d), 0x8f1bbcdc];\n }\n return [b ^ c ^ d, 0xca62c1d6];\n}\n/**\n * Compute the fingerprint of the given string\n *\n * The output is 64 bit number encoded as a decimal string\n *\n * based on:\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/GoogleJsMessageIdGenerator.java\n */\nfunction fingerprint(str) {\n const utf8 = utf8Encode(str);\n let hi = hash32(utf8, 0);\n let lo = hash32(utf8, 102072);\n if (hi == 0 && (lo == 0 || lo == 1)) {\n hi = hi ^ 0x130f9bef;\n lo = lo ^ -0x6b5f56d8;\n }\n return [hi, lo];\n}\nfunction computeMsgId(msg, meaning = '') {\n let msgFingerprint = fingerprint(msg);\n if (meaning) {\n const meaningFingerprint = fingerprint(meaning);\n msgFingerprint = add64(rol64(msgFingerprint, 1), meaningFingerprint);\n }\n const hi = msgFingerprint[0];\n const lo = msgFingerprint[1];\n return wordsToDecimalString(hi & 0x7fffffff, lo);\n}\nfunction hash32(bytes, c) {\n let a = 0x9e3779b9, b = 0x9e3779b9;\n let i;\n const len = bytes.length;\n for (i = 0; i + 12 <= len; i += 12) {\n a = add32(a, wordAt(bytes, i, Endian.Little));\n b = add32(b, wordAt(bytes, i + 4, Endian.Little));\n c = add32(c, wordAt(bytes, i + 8, Endian.Little));\n const res = mix(a, b, c);\n a = res[0], b = res[1], c = res[2];\n }\n a = add32(a, wordAt(bytes, i, Endian.Little));\n b = add32(b, wordAt(bytes, i + 4, Endian.Little));\n // the first byte of c is reserved for the length\n c = add32(c, len);\n c = add32(c, wordAt(bytes, i + 8, Endian.Little) << 8);\n return mix(a, b, c)[2];\n}\n// clang-format off\nfunction mix(a, b, c) {\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 13;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 8;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 13;\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 12;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 16;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 5;\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 3;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 10;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 15;\n return [a, b, c];\n}\n// clang-format on\n// Utils\nvar Endian;\n(function (Endian) {\n Endian[Endian[\"Little\"] = 0] = \"Little\";\n Endian[Endian[\"Big\"] = 1] = \"Big\";\n})(Endian || (Endian = {}));\nfunction add32(a, b) {\n return add32to64(a, b)[1];\n}\nfunction add32to64(a, b) {\n const low = (a & 0xffff) + (b & 0xffff);\n const high = (a >>> 16) + (b >>> 16) + (low >>> 16);\n return [high >>> 16, (high << 16) | (low & 0xffff)];\n}\nfunction add64(a, b) {\n const ah = a[0], al = a[1];\n const bh = b[0], bl = b[1];\n const result = add32to64(al, bl);\n const carry = result[0];\n const l = result[1];\n const h = add32(add32(ah, bh), carry);\n return [h, l];\n}\nfunction sub32(a, b) {\n const low = (a & 0xffff) - (b & 0xffff);\n const high = (a >> 16) - (b >> 16) + (low >> 16);\n return (high << 16) | (low & 0xffff);\n}\n// Rotate a 32b number left `count` position\nfunction rol32(a, count) {\n return (a << count) | (a >>> (32 - count));\n}\n// Rotate a 64b number left `count` position\nfunction rol64(num, count) {\n const hi = num[0], lo = num[1];\n const h = (hi << count) | (lo >>> (32 - count));\n const l = (lo << count) | (hi >>> (32 - count));\n return [h, l];\n}\nfunction bytesToWords32(bytes, endian) {\n const size = (bytes.length + 3) >>> 2;\n const words32 = [];\n for (let i = 0; i < size; i++) {\n words32[i] = wordAt(bytes, i * 4, endian);\n }\n return words32;\n}\nfunction byteAt(bytes, index) {\n return index >= bytes.length ? 0 : bytes[index];\n}\nfunction wordAt(bytes, index, endian) {\n let word = 0;\n if (endian === Endian.Big) {\n for (let i = 0; i < 4; i++) {\n word += byteAt(bytes, index + i) << (24 - 8 * i);\n }\n }\n else {\n for (let i = 0; i < 4; i++) {\n word += byteAt(bytes, index + i) << 8 * i;\n }\n }\n return word;\n}\nfunction words32ToByteString(words32) {\n return words32.reduce((bytes, word) => bytes.concat(word32ToByteString(word)), []);\n}\nfunction word32ToByteString(word) {\n let bytes = [];\n for (let i = 0; i < 4; i++) {\n bytes.push((word >>> 8 * (3 - i)) & 0xff);\n }\n return bytes;\n}\nfunction bytesToHexString(bytes) {\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n const b = byteAt(bytes, i);\n hex += (b >>> 4).toString(16) + (b & 0x0f).toString(16);\n }\n return hex.toLowerCase();\n}\n/**\n * Create a shared exponentiation pool for base-256 computations. This shared pool provides memoized\n * power-of-256 results with memoized power-of-two computations for efficient multiplication.\n *\n * For our purposes, this can be safely stored as a global without memory concerns. The reason is\n * that we encode two words, so only need the 0th (for the low word) and 4th (for the high word)\n * exponent.\n */\nconst base256 = new BigIntExponentiation(256);\n/**\n * Represents two 32-bit words as a single decimal number. This requires a big integer storage\n * model as JS numbers are not accurate enough to represent the 64-bit number.\n *\n * Based on https://www.danvk.org/hex2dec.html\n */\nfunction wordsToDecimalString(hi, lo) {\n // Encode the four bytes in lo in the lower digits of the decimal number.\n // Note: the multiplication results in lo itself but represented by a big integer using its\n // decimal digits.\n const decimal = base256.toThePowerOf(0).multiplyBy(lo);\n // Encode the four bytes in hi above the four lo bytes. lo is a maximum of (2^8)^4, which is why\n // this multiplication factor is applied.\n base256.toThePowerOf(4).multiplyByAndAddTo(hi, decimal);\n return decimal.toString();\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//// Types\nvar TypeModifier;\n(function (TypeModifier) {\n TypeModifier[TypeModifier[\"None\"] = 0] = \"None\";\n TypeModifier[TypeModifier[\"Const\"] = 1] = \"Const\";\n})(TypeModifier || (TypeModifier = {}));\nclass Type {\n constructor(modifiers = TypeModifier.None) {\n this.modifiers = modifiers;\n }\n hasModifier(modifier) {\n return (this.modifiers & modifier) !== 0;\n }\n}\nvar BuiltinTypeName;\n(function (BuiltinTypeName) {\n BuiltinTypeName[BuiltinTypeName[\"Dynamic\"] = 0] = \"Dynamic\";\n BuiltinTypeName[BuiltinTypeName[\"Bool\"] = 1] = \"Bool\";\n BuiltinTypeName[BuiltinTypeName[\"String\"] = 2] = \"String\";\n BuiltinTypeName[BuiltinTypeName[\"Int\"] = 3] = \"Int\";\n BuiltinTypeName[BuiltinTypeName[\"Number\"] = 4] = \"Number\";\n BuiltinTypeName[BuiltinTypeName[\"Function\"] = 5] = \"Function\";\n BuiltinTypeName[BuiltinTypeName[\"Inferred\"] = 6] = \"Inferred\";\n BuiltinTypeName[BuiltinTypeName[\"None\"] = 7] = \"None\";\n})(BuiltinTypeName || (BuiltinTypeName = {}));\nclass BuiltinType extends Type {\n constructor(name, modifiers) {\n super(modifiers);\n this.name = name;\n }\n visitType(visitor, context) {\n return visitor.visitBuiltinType(this, context);\n }\n}\nclass ExpressionType extends Type {\n constructor(value, modifiers, typeParams = null) {\n super(modifiers);\n this.value = value;\n this.typeParams = typeParams;\n }\n visitType(visitor, context) {\n return visitor.visitExpressionType(this, context);\n }\n}\nclass ArrayType extends Type {\n constructor(of, modifiers) {\n super(modifiers);\n this.of = of;\n }\n visitType(visitor, context) {\n return visitor.visitArrayType(this, context);\n }\n}\nclass MapType extends Type {\n constructor(valueType, modifiers) {\n super(modifiers);\n this.valueType = valueType || null;\n }\n visitType(visitor, context) {\n return visitor.visitMapType(this, context);\n }\n}\nconst DYNAMIC_TYPE = new BuiltinType(BuiltinTypeName.Dynamic);\nconst INFERRED_TYPE = new BuiltinType(BuiltinTypeName.Inferred);\nconst BOOL_TYPE = new BuiltinType(BuiltinTypeName.Bool);\nconst INT_TYPE = new BuiltinType(BuiltinTypeName.Int);\nconst NUMBER_TYPE = new BuiltinType(BuiltinTypeName.Number);\nconst STRING_TYPE = new BuiltinType(BuiltinTypeName.String);\nconst FUNCTION_TYPE = new BuiltinType(BuiltinTypeName.Function);\nconst NONE_TYPE = new BuiltinType(BuiltinTypeName.None);\n///// Expressions\nvar UnaryOperator;\n(function (UnaryOperator) {\n UnaryOperator[UnaryOperator[\"Minus\"] = 0] = \"Minus\";\n UnaryOperator[UnaryOperator[\"Plus\"] = 1] = \"Plus\";\n})(UnaryOperator || (UnaryOperator = {}));\nvar BinaryOperator;\n(function (BinaryOperator) {\n BinaryOperator[BinaryOperator[\"Equals\"] = 0] = \"Equals\";\n BinaryOperator[BinaryOperator[\"NotEquals\"] = 1] = \"NotEquals\";\n BinaryOperator[BinaryOperator[\"Identical\"] = 2] = \"Identical\";\n BinaryOperator[BinaryOperator[\"NotIdentical\"] = 3] = \"NotIdentical\";\n BinaryOperator[BinaryOperator[\"Minus\"] = 4] = \"Minus\";\n BinaryOperator[BinaryOperator[\"Plus\"] = 5] = \"Plus\";\n BinaryOperator[BinaryOperator[\"Divide\"] = 6] = \"Divide\";\n BinaryOperator[BinaryOperator[\"Multiply\"] = 7] = \"Multiply\";\n BinaryOperator[BinaryOperator[\"Modulo\"] = 8] = \"Modulo\";\n BinaryOperator[BinaryOperator[\"And\"] = 9] = \"And\";\n BinaryOperator[BinaryOperator[\"Or\"] = 10] = \"Or\";\n BinaryOperator[BinaryOperator[\"BitwiseAnd\"] = 11] = \"BitwiseAnd\";\n BinaryOperator[BinaryOperator[\"Lower\"] = 12] = \"Lower\";\n BinaryOperator[BinaryOperator[\"LowerEquals\"] = 13] = \"LowerEquals\";\n BinaryOperator[BinaryOperator[\"Bigger\"] = 14] = \"Bigger\";\n BinaryOperator[BinaryOperator[\"BiggerEquals\"] = 15] = \"BiggerEquals\";\n BinaryOperator[BinaryOperator[\"NullishCoalesce\"] = 16] = \"NullishCoalesce\";\n})(BinaryOperator || (BinaryOperator = {}));\nfunction nullSafeIsEquivalent(base, other) {\n if (base == null || other == null) {\n return base == other;\n }\n return base.isEquivalent(other);\n}\nfunction areAllEquivalentPredicate(base, other, equivalentPredicate) {\n const len = base.length;\n if (len !== other.length) {\n return false;\n }\n for (let i = 0; i < len; i++) {\n if (!equivalentPredicate(base[i], other[i])) {\n return false;\n }\n }\n return true;\n}\nfunction areAllEquivalent(base, other) {\n return areAllEquivalentPredicate(base, other, (baseElement, otherElement) => baseElement.isEquivalent(otherElement));\n}\nclass Expression {\n constructor(type, sourceSpan) {\n this.type = type || null;\n this.sourceSpan = sourceSpan || null;\n }\n prop(name, sourceSpan) {\n return new ReadPropExpr(this, name, null, sourceSpan);\n }\n key(index, type, sourceSpan) {\n return new ReadKeyExpr(this, index, type, sourceSpan);\n }\n callFn(params, sourceSpan, pure) {\n return new InvokeFunctionExpr(this, params, null, sourceSpan, pure);\n }\n instantiate(params, type, sourceSpan) {\n return new InstantiateExpr(this, params, type, sourceSpan);\n }\n conditional(trueCase, falseCase = null, sourceSpan) {\n return new ConditionalExpr(this, trueCase, falseCase, null, sourceSpan);\n }\n equals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Equals, this, rhs, null, sourceSpan);\n }\n notEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.NotEquals, this, rhs, null, sourceSpan);\n }\n identical(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Identical, this, rhs, null, sourceSpan);\n }\n notIdentical(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.NotIdentical, this, rhs, null, sourceSpan);\n }\n minus(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Minus, this, rhs, null, sourceSpan);\n }\n plus(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Plus, this, rhs, null, sourceSpan);\n }\n divide(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Divide, this, rhs, null, sourceSpan);\n }\n multiply(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Multiply, this, rhs, null, sourceSpan);\n }\n modulo(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Modulo, this, rhs, null, sourceSpan);\n }\n and(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.And, this, rhs, null, sourceSpan);\n }\n bitwiseAnd(rhs, sourceSpan, parens = true) {\n return new BinaryOperatorExpr(BinaryOperator.BitwiseAnd, this, rhs, null, sourceSpan, parens);\n }\n or(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Or, this, rhs, null, sourceSpan);\n }\n lower(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Lower, this, rhs, null, sourceSpan);\n }\n lowerEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.LowerEquals, this, rhs, null, sourceSpan);\n }\n bigger(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Bigger, this, rhs, null, sourceSpan);\n }\n biggerEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.BiggerEquals, this, rhs, null, sourceSpan);\n }\n isBlank(sourceSpan) {\n // Note: We use equals by purpose here to compare to null and undefined in JS.\n // We use the typed null to allow strictNullChecks to narrow types.\n return this.equals(TYPED_NULL_EXPR, sourceSpan);\n }\n nullishCoalesce(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.NullishCoalesce, this, rhs, null, sourceSpan);\n }\n toStmt() {\n return new ExpressionStatement(this, null);\n }\n}\nclass ReadVarExpr extends Expression {\n constructor(name, type, sourceSpan) {\n super(type, sourceSpan);\n this.name = name;\n }\n isEquivalent(e) {\n return e instanceof ReadVarExpr && this.name === e.name;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadVarExpr(this, context);\n }\n set(value) {\n return new WriteVarExpr(this.name, value, null, this.sourceSpan);\n }\n}\nclass TypeofExpr extends Expression {\n constructor(expr, type, sourceSpan) {\n super(type, sourceSpan);\n this.expr = expr;\n }\n visitExpression(visitor, context) {\n return visitor.visitTypeofExpr(this, context);\n }\n isEquivalent(e) {\n return e instanceof TypeofExpr && e.expr.isEquivalent(this.expr);\n }\n isConstant() {\n return this.expr.isConstant();\n }\n}\nclass WrappedNodeExpr extends Expression {\n constructor(node, type, sourceSpan) {\n super(type, sourceSpan);\n this.node = node;\n }\n isEquivalent(e) {\n return e instanceof WrappedNodeExpr && this.node === e.node;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWrappedNodeExpr(this, context);\n }\n}\nclass WriteVarExpr extends Expression {\n constructor(name, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.name = name;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WriteVarExpr && this.name === e.name && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWriteVarExpr(this, context);\n }\n toDeclStmt(type, modifiers) {\n return new DeclareVarStmt(this.name, this.value, type, modifiers, this.sourceSpan);\n }\n toConstDecl() {\n return this.toDeclStmt(INFERRED_TYPE, StmtModifier.Final);\n }\n}\nclass WriteKeyExpr extends Expression {\n constructor(receiver, index, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.receiver = receiver;\n this.index = index;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WriteKeyExpr && this.receiver.isEquivalent(e.receiver) &&\n this.index.isEquivalent(e.index) && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWriteKeyExpr(this, context);\n }\n}\nclass WritePropExpr extends Expression {\n constructor(receiver, name, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WritePropExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWritePropExpr(this, context);\n }\n}\nclass InvokeFunctionExpr extends Expression {\n constructor(fn, args, type, sourceSpan, pure = false) {\n super(type, sourceSpan);\n this.fn = fn;\n this.args = args;\n this.pure = pure;\n }\n isEquivalent(e) {\n return e instanceof InvokeFunctionExpr && this.fn.isEquivalent(e.fn) &&\n areAllEquivalent(this.args, e.args) && this.pure === e.pure;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInvokeFunctionExpr(this, context);\n }\n}\nclass TaggedTemplateExpr extends Expression {\n constructor(tag, template, type, sourceSpan) {\n super(type, sourceSpan);\n this.tag = tag;\n this.template = template;\n }\n isEquivalent(e) {\n return e instanceof TaggedTemplateExpr && this.tag.isEquivalent(e.tag) &&\n areAllEquivalentPredicate(this.template.elements, e.template.elements, (a, b) => a.text === b.text) &&\n areAllEquivalent(this.template.expressions, e.template.expressions);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitTaggedTemplateExpr(this, context);\n }\n}\nclass InstantiateExpr extends Expression {\n constructor(classExpr, args, type, sourceSpan) {\n super(type, sourceSpan);\n this.classExpr = classExpr;\n this.args = args;\n }\n isEquivalent(e) {\n return e instanceof InstantiateExpr && this.classExpr.isEquivalent(e.classExpr) &&\n areAllEquivalent(this.args, e.args);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInstantiateExpr(this, context);\n }\n}\nclass LiteralExpr extends Expression {\n constructor(value, type, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof LiteralExpr && this.value === e.value;\n }\n isConstant() {\n return true;\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralExpr(this, context);\n }\n}\nclass TemplateLiteral {\n constructor(elements, expressions) {\n this.elements = elements;\n this.expressions = expressions;\n }\n}\nclass TemplateLiteralElement {\n constructor(text, sourceSpan, rawText) {\n this.text = text;\n this.sourceSpan = sourceSpan;\n // If `rawText` is not provided, try to extract the raw string from its\n // associated `sourceSpan`. If that is also not available, \"fake\" the raw\n // string instead by escaping the following control sequences:\n // - \"\\\" would otherwise indicate that the next character is a control character.\n // - \"`\" and \"${\" are template string control sequences that would otherwise prematurely\n // indicate the end of the template literal element.\n this.rawText =\n rawText ?? sourceSpan?.toString() ?? escapeForTemplateLiteral(escapeSlashes(text));\n }\n}\nclass LiteralPiece {\n constructor(text, sourceSpan) {\n this.text = text;\n this.sourceSpan = sourceSpan;\n }\n}\nclass PlaceholderPiece {\n /**\n * Create a new instance of a `PlaceholderPiece`.\n *\n * @param text the name of this placeholder (e.g. `PH_1`).\n * @param sourceSpan the location of this placeholder in its localized message the source code.\n * @param associatedMessage reference to another message that this placeholder is associated with.\n * The `associatedMessage` is mainly used to provide a relationship to an ICU message that has\n * been extracted out from the message containing the placeholder.\n */\n constructor(text, sourceSpan, associatedMessage) {\n this.text = text;\n this.sourceSpan = sourceSpan;\n this.associatedMessage = associatedMessage;\n }\n}\nconst MEANING_SEPARATOR$1 = '|';\nconst ID_SEPARATOR$1 = '@@';\nconst LEGACY_ID_INDICATOR = '␟';\nclass LocalizedString extends Expression {\n constructor(metaBlock, messageParts, placeHolderNames, expressions, sourceSpan) {\n super(STRING_TYPE, sourceSpan);\n this.metaBlock = metaBlock;\n this.messageParts = messageParts;\n this.placeHolderNames = placeHolderNames;\n this.expressions = expressions;\n }\n isEquivalent(e) {\n // return e instanceof LocalizedString && this.message === e.message;\n return false;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitLocalizedString(this, context);\n }\n /**\n * Serialize the given `meta` and `messagePart` into \"cooked\" and \"raw\" strings that can be used\n * in a `$localize` tagged string. The format of the metadata is the same as that parsed by\n * `parseI18nMeta()`.\n *\n * @param meta The metadata to serialize\n * @param messagePart The first part of the tagged string\n */\n serializeI18nHead() {\n let metaBlock = this.metaBlock.description || '';\n if (this.metaBlock.meaning) {\n metaBlock = `${this.metaBlock.meaning}${MEANING_SEPARATOR$1}${metaBlock}`;\n }\n if (this.metaBlock.customId) {\n metaBlock = `${metaBlock}${ID_SEPARATOR$1}${this.metaBlock.customId}`;\n }\n if (this.metaBlock.legacyIds) {\n this.metaBlock.legacyIds.forEach(legacyId => {\n metaBlock = `${metaBlock}${LEGACY_ID_INDICATOR}${legacyId}`;\n });\n }\n return createCookedRawString(metaBlock, this.messageParts[0].text, this.getMessagePartSourceSpan(0));\n }\n getMessagePartSourceSpan(i) {\n return this.messageParts[i]?.sourceSpan ?? this.sourceSpan;\n }\n getPlaceholderSourceSpan(i) {\n return this.placeHolderNames[i]?.sourceSpan ?? this.expressions[i]?.sourceSpan ??\n this.sourceSpan;\n }\n /**\n * Serialize the given `placeholderName` and `messagePart` into \"cooked\" and \"raw\" strings that\n * can be used in a `$localize` tagged string.\n *\n * The format is `:[@@]:`.\n *\n * The `associated-id` is the message id of the (usually an ICU) message to which this placeholder\n * refers.\n *\n * @param partIndex The index of the message part to serialize.\n */\n serializeI18nTemplatePart(partIndex) {\n const placeholder = this.placeHolderNames[partIndex - 1];\n const messagePart = this.messageParts[partIndex];\n let metaBlock = placeholder.text;\n if (placeholder.associatedMessage?.legacyIds.length === 0) {\n metaBlock += `${ID_SEPARATOR$1}${computeMsgId(placeholder.associatedMessage.messageString, placeholder.associatedMessage.meaning)}`;\n }\n return createCookedRawString(metaBlock, messagePart.text, this.getMessagePartSourceSpan(partIndex));\n }\n}\nconst escapeSlashes = (str) => str.replace(/\\\\/g, '\\\\\\\\');\nconst escapeStartingColon = (str) => str.replace(/^:/, '\\\\:');\nconst escapeColons = (str) => str.replace(/:/g, '\\\\:');\nconst escapeForTemplateLiteral = (str) => str.replace(/`/g, '\\\\`').replace(/\\${/g, '$\\\\{');\n/**\n * Creates a `{cooked, raw}` object from the `metaBlock` and `messagePart`.\n *\n * The `raw` text must have various character sequences escaped:\n * * \"\\\" would otherwise indicate that the next character is a control character.\n * * \"`\" and \"${\" are template string control sequences that would otherwise prematurely indicate\n * the end of a message part.\n * * \":\" inside a metablock would prematurely indicate the end of the metablock.\n * * \":\" at the start of a messagePart with no metablock would erroneously indicate the start of a\n * metablock.\n *\n * @param metaBlock Any metadata that should be prepended to the string\n * @param messagePart The message part of the string\n */\nfunction createCookedRawString(metaBlock, messagePart, range) {\n if (metaBlock === '') {\n return {\n cooked: messagePart,\n raw: escapeForTemplateLiteral(escapeStartingColon(escapeSlashes(messagePart))),\n range,\n };\n }\n else {\n return {\n cooked: `:${metaBlock}:${messagePart}`,\n raw: escapeForTemplateLiteral(`:${escapeColons(escapeSlashes(metaBlock))}:${escapeSlashes(messagePart)}`),\n range,\n };\n }\n}\nclass ExternalExpr extends Expression {\n constructor(value, type, typeParams = null, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n this.typeParams = typeParams;\n }\n isEquivalent(e) {\n return e instanceof ExternalExpr && this.value.name === e.value.name &&\n this.value.moduleName === e.value.moduleName && this.value.runtime === e.value.runtime;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitExternalExpr(this, context);\n }\n}\nclass ExternalReference {\n constructor(moduleName, name, runtime) {\n this.moduleName = moduleName;\n this.name = name;\n this.runtime = runtime;\n }\n}\nclass ConditionalExpr extends Expression {\n constructor(condition, trueCase, falseCase = null, type, sourceSpan) {\n super(type || trueCase.type, sourceSpan);\n this.condition = condition;\n this.falseCase = falseCase;\n this.trueCase = trueCase;\n }\n isEquivalent(e) {\n return e instanceof ConditionalExpr && this.condition.isEquivalent(e.condition) &&\n this.trueCase.isEquivalent(e.trueCase) && nullSafeIsEquivalent(this.falseCase, e.falseCase);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitConditionalExpr(this, context);\n }\n}\nclass NotExpr extends Expression {\n constructor(condition, sourceSpan) {\n super(BOOL_TYPE, sourceSpan);\n this.condition = condition;\n }\n isEquivalent(e) {\n return e instanceof NotExpr && this.condition.isEquivalent(e.condition);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitNotExpr(this, context);\n }\n}\nclass FnParam {\n constructor(name, type = null) {\n this.name = name;\n this.type = type;\n }\n isEquivalent(param) {\n return this.name === param.name;\n }\n}\nclass FunctionExpr extends Expression {\n constructor(params, statements, type, sourceSpan, name) {\n super(type, sourceSpan);\n this.params = params;\n this.statements = statements;\n this.name = name;\n }\n isEquivalent(e) {\n return e instanceof FunctionExpr && areAllEquivalent(this.params, e.params) &&\n areAllEquivalent(this.statements, e.statements);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitFunctionExpr(this, context);\n }\n toDeclStmt(name, modifiers) {\n return new DeclareFunctionStmt(name, this.params, this.statements, this.type, modifiers, this.sourceSpan);\n }\n}\nclass UnaryOperatorExpr extends Expression {\n constructor(operator, expr, type, sourceSpan, parens = true) {\n super(type || NUMBER_TYPE, sourceSpan);\n this.operator = operator;\n this.expr = expr;\n this.parens = parens;\n }\n isEquivalent(e) {\n return e instanceof UnaryOperatorExpr && this.operator === e.operator &&\n this.expr.isEquivalent(e.expr);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitUnaryOperatorExpr(this, context);\n }\n}\nclass BinaryOperatorExpr extends Expression {\n constructor(operator, lhs, rhs, type, sourceSpan, parens = true) {\n super(type || lhs.type, sourceSpan);\n this.operator = operator;\n this.rhs = rhs;\n this.parens = parens;\n this.lhs = lhs;\n }\n isEquivalent(e) {\n return e instanceof BinaryOperatorExpr && this.operator === e.operator &&\n this.lhs.isEquivalent(e.lhs) && this.rhs.isEquivalent(e.rhs);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitBinaryOperatorExpr(this, context);\n }\n}\nclass ReadPropExpr extends Expression {\n constructor(receiver, name, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.name = name;\n }\n isEquivalent(e) {\n return e instanceof ReadPropExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadPropExpr(this, context);\n }\n set(value) {\n return new WritePropExpr(this.receiver, this.name, value, null, this.sourceSpan);\n }\n}\nclass ReadKeyExpr extends Expression {\n constructor(receiver, index, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.index = index;\n }\n isEquivalent(e) {\n return e instanceof ReadKeyExpr && this.receiver.isEquivalent(e.receiver) &&\n this.index.isEquivalent(e.index);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadKeyExpr(this, context);\n }\n set(value) {\n return new WriteKeyExpr(this.receiver, this.index, value, null, this.sourceSpan);\n }\n}\nclass LiteralArrayExpr extends Expression {\n constructor(entries, type, sourceSpan) {\n super(type, sourceSpan);\n this.entries = entries;\n }\n isConstant() {\n return this.entries.every(e => e.isConstant());\n }\n isEquivalent(e) {\n return e instanceof LiteralArrayExpr && areAllEquivalent(this.entries, e.entries);\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralArrayExpr(this, context);\n }\n}\nclass LiteralMapEntry {\n constructor(key, value, quoted) {\n this.key = key;\n this.value = value;\n this.quoted = quoted;\n }\n isEquivalent(e) {\n return this.key === e.key && this.value.isEquivalent(e.value);\n }\n}\nclass LiteralMapExpr extends Expression {\n constructor(entries, type, sourceSpan) {\n super(type, sourceSpan);\n this.entries = entries;\n this.valueType = null;\n if (type) {\n this.valueType = type.valueType;\n }\n }\n isEquivalent(e) {\n return e instanceof LiteralMapExpr && areAllEquivalent(this.entries, e.entries);\n }\n isConstant() {\n return this.entries.every(e => e.value.isConstant());\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralMapExpr(this, context);\n }\n}\nclass CommaExpr extends Expression {\n constructor(parts, sourceSpan) {\n super(parts[parts.length - 1].type, sourceSpan);\n this.parts = parts;\n }\n isEquivalent(e) {\n return e instanceof CommaExpr && areAllEquivalent(this.parts, e.parts);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitCommaExpr(this, context);\n }\n}\nconst NULL_EXPR = new LiteralExpr(null, null, null);\nconst TYPED_NULL_EXPR = new LiteralExpr(null, INFERRED_TYPE, null);\n//// Statements\nvar StmtModifier;\n(function (StmtModifier) {\n StmtModifier[StmtModifier[\"None\"] = 0] = \"None\";\n StmtModifier[StmtModifier[\"Final\"] = 1] = \"Final\";\n StmtModifier[StmtModifier[\"Private\"] = 2] = \"Private\";\n StmtModifier[StmtModifier[\"Exported\"] = 4] = \"Exported\";\n StmtModifier[StmtModifier[\"Static\"] = 8] = \"Static\";\n})(StmtModifier || (StmtModifier = {}));\nclass LeadingComment {\n constructor(text, multiline, trailingNewline) {\n this.text = text;\n this.multiline = multiline;\n this.trailingNewline = trailingNewline;\n }\n toString() {\n return this.multiline ? ` ${this.text} ` : this.text;\n }\n}\nclass JSDocComment extends LeadingComment {\n constructor(tags) {\n super('', /* multiline */ true, /* trailingNewline */ true);\n this.tags = tags;\n }\n toString() {\n return serializeTags(this.tags);\n }\n}\nclass Statement {\n constructor(modifiers = StmtModifier.None, sourceSpan = null, leadingComments) {\n this.modifiers = modifiers;\n this.sourceSpan = sourceSpan;\n this.leadingComments = leadingComments;\n }\n hasModifier(modifier) {\n return (this.modifiers & modifier) !== 0;\n }\n addLeadingComment(leadingComment) {\n this.leadingComments = this.leadingComments ?? [];\n this.leadingComments.push(leadingComment);\n }\n}\nclass DeclareVarStmt extends Statement {\n constructor(name, value, type, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.value = value;\n this.type = type || (value && value.type) || null;\n }\n isEquivalent(stmt) {\n return stmt instanceof DeclareVarStmt && this.name === stmt.name &&\n (this.value ? !!stmt.value && this.value.isEquivalent(stmt.value) : !stmt.value);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareVarStmt(this, context);\n }\n}\nclass DeclareFunctionStmt extends Statement {\n constructor(name, params, statements, type, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.params = params;\n this.statements = statements;\n this.type = type || null;\n }\n isEquivalent(stmt) {\n return stmt instanceof DeclareFunctionStmt && areAllEquivalent(this.params, stmt.params) &&\n areAllEquivalent(this.statements, stmt.statements);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareFunctionStmt(this, context);\n }\n}\nclass ExpressionStatement extends Statement {\n constructor(expr, sourceSpan, leadingComments) {\n super(StmtModifier.None, sourceSpan, leadingComments);\n this.expr = expr;\n }\n isEquivalent(stmt) {\n return stmt instanceof ExpressionStatement && this.expr.isEquivalent(stmt.expr);\n }\n visitStatement(visitor, context) {\n return visitor.visitExpressionStmt(this, context);\n }\n}\nclass ReturnStatement extends Statement {\n constructor(value, sourceSpan = null, leadingComments) {\n super(StmtModifier.None, sourceSpan, leadingComments);\n this.value = value;\n }\n isEquivalent(stmt) {\n return stmt instanceof ReturnStatement && this.value.isEquivalent(stmt.value);\n }\n visitStatement(visitor, context) {\n return visitor.visitReturnStmt(this, context);\n }\n}\nclass IfStmt extends Statement {\n constructor(condition, trueCase, falseCase = [], sourceSpan, leadingComments) {\n super(StmtModifier.None, sourceSpan, leadingComments);\n this.condition = condition;\n this.trueCase = trueCase;\n this.falseCase = falseCase;\n }\n isEquivalent(stmt) {\n return stmt instanceof IfStmt && this.condition.isEquivalent(stmt.condition) &&\n areAllEquivalent(this.trueCase, stmt.trueCase) &&\n areAllEquivalent(this.falseCase, stmt.falseCase);\n }\n visitStatement(visitor, context) {\n return visitor.visitIfStmt(this, context);\n }\n}\nclass RecursiveAstVisitor$1 {\n visitType(ast, context) {\n return ast;\n }\n visitExpression(ast, context) {\n if (ast.type) {\n ast.type.visitType(this, context);\n }\n return ast;\n }\n visitBuiltinType(type, context) {\n return this.visitType(type, context);\n }\n visitExpressionType(type, context) {\n type.value.visitExpression(this, context);\n if (type.typeParams !== null) {\n type.typeParams.forEach(param => this.visitType(param, context));\n }\n return this.visitType(type, context);\n }\n visitArrayType(type, context) {\n return this.visitType(type, context);\n }\n visitMapType(type, context) {\n return this.visitType(type, context);\n }\n visitWrappedNodeExpr(ast, context) {\n return ast;\n }\n visitTypeofExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitReadVarExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitWriteVarExpr(ast, context) {\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitWriteKeyExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.index.visitExpression(this, context);\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitWritePropExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitInvokeFunctionExpr(ast, context) {\n ast.fn.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitTaggedTemplateExpr(ast, context) {\n ast.tag.visitExpression(this, context);\n this.visitAllExpressions(ast.template.expressions, context);\n return this.visitExpression(ast, context);\n }\n visitInstantiateExpr(ast, context) {\n ast.classExpr.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitLocalizedString(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitExternalExpr(ast, context) {\n if (ast.typeParams) {\n ast.typeParams.forEach(type => type.visitType(this, context));\n }\n return this.visitExpression(ast, context);\n }\n visitConditionalExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n ast.trueCase.visitExpression(this, context);\n ast.falseCase.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitNotExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitFunctionExpr(ast, context) {\n this.visitAllStatements(ast.statements, context);\n return this.visitExpression(ast, context);\n }\n visitUnaryOperatorExpr(ast, context) {\n ast.expr.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitBinaryOperatorExpr(ast, context) {\n ast.lhs.visitExpression(this, context);\n ast.rhs.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitReadPropExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitReadKeyExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.index.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralArrayExpr(ast, context) {\n this.visitAllExpressions(ast.entries, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralMapExpr(ast, context) {\n ast.entries.forEach((entry) => entry.value.visitExpression(this, context));\n return this.visitExpression(ast, context);\n }\n visitCommaExpr(ast, context) {\n this.visitAllExpressions(ast.parts, context);\n return this.visitExpression(ast, context);\n }\n visitAllExpressions(exprs, context) {\n exprs.forEach(expr => expr.visitExpression(this, context));\n }\n visitDeclareVarStmt(stmt, context) {\n if (stmt.value) {\n stmt.value.visitExpression(this, context);\n }\n if (stmt.type) {\n stmt.type.visitType(this, context);\n }\n return stmt;\n }\n visitDeclareFunctionStmt(stmt, context) {\n this.visitAllStatements(stmt.statements, context);\n if (stmt.type) {\n stmt.type.visitType(this, context);\n }\n return stmt;\n }\n visitExpressionStmt(stmt, context) {\n stmt.expr.visitExpression(this, context);\n return stmt;\n }\n visitReturnStmt(stmt, context) {\n stmt.value.visitExpression(this, context);\n return stmt;\n }\n visitIfStmt(stmt, context) {\n stmt.condition.visitExpression(this, context);\n this.visitAllStatements(stmt.trueCase, context);\n this.visitAllStatements(stmt.falseCase, context);\n return stmt;\n }\n visitAllStatements(stmts, context) {\n stmts.forEach(stmt => stmt.visitStatement(this, context));\n }\n}\nfunction leadingComment(text, multiline = false, trailingNewline = true) {\n return new LeadingComment(text, multiline, trailingNewline);\n}\nfunction jsDocComment(tags = []) {\n return new JSDocComment(tags);\n}\nfunction variable(name, type, sourceSpan) {\n return new ReadVarExpr(name, type, sourceSpan);\n}\nfunction importExpr(id, typeParams = null, sourceSpan) {\n return new ExternalExpr(id, null, typeParams, sourceSpan);\n}\nfunction importType(id, typeParams, typeModifiers) {\n return id != null ? expressionType(importExpr(id, typeParams, null), typeModifiers) : null;\n}\nfunction expressionType(expr, typeModifiers, typeParams) {\n return new ExpressionType(expr, typeModifiers, typeParams);\n}\nfunction typeofExpr(expr) {\n return new TypeofExpr(expr);\n}\nfunction literalArr(values, type, sourceSpan) {\n return new LiteralArrayExpr(values, type, sourceSpan);\n}\nfunction literalMap(values, type = null) {\n return new LiteralMapExpr(values.map(e => new LiteralMapEntry(e.key, e.value, e.quoted)), type, null);\n}\nfunction unary(operator, expr, type, sourceSpan) {\n return new UnaryOperatorExpr(operator, expr, type, sourceSpan);\n}\nfunction not(expr, sourceSpan) {\n return new NotExpr(expr, sourceSpan);\n}\nfunction fn(params, body, type, sourceSpan, name) {\n return new FunctionExpr(params, body, type, sourceSpan, name);\n}\nfunction ifStmt(condition, thenClause, elseClause, sourceSpan, leadingComments) {\n return new IfStmt(condition, thenClause, elseClause, sourceSpan, leadingComments);\n}\nfunction taggedTemplate(tag, template, type, sourceSpan) {\n return new TaggedTemplateExpr(tag, template, type, sourceSpan);\n}\nfunction literal(value, type, sourceSpan) {\n return new LiteralExpr(value, type, sourceSpan);\n}\nfunction localizedString(metaBlock, messageParts, placeholderNames, expressions, sourceSpan) {\n return new LocalizedString(metaBlock, messageParts, placeholderNames, expressions, sourceSpan);\n}\nfunction isNull(exp) {\n return exp instanceof LiteralExpr && exp.value === null;\n}\n/*\n * Serializes a `Tag` into a string.\n * Returns a string like \" @foo {bar} baz\" (note the leading whitespace before `@foo`).\n */\nfunction tagToString(tag) {\n let out = '';\n if (tag.tagName) {\n out += ` @${tag.tagName}`;\n }\n if (tag.text) {\n if (tag.text.match(/\\/\\*|\\*\\//)) {\n throw new Error('JSDoc text cannot contain \"/*\" and \"*/\"');\n }\n out += ' ' + tag.text.replace(/@/g, '\\\\@');\n }\n return out;\n}\nfunction serializeTags(tags) {\n if (tags.length === 0)\n return '';\n if (tags.length === 1 && tags[0].tagName && !tags[0].text) {\n // The JSDOC comment is a single simple tag: e.g `/** @tagname */`.\n return `*${tagToString(tags[0])} `;\n }\n let out = '*\\n';\n for (const tag of tags) {\n out += ' *';\n // If the tagToString is multi-line, insert \" * \" prefixes on lines.\n out += tagToString(tag).replace(/\\n/g, '\\n * ');\n out += '\\n';\n }\n out += ' ';\n return out;\n}\n\nvar output_ast = /*#__PURE__*/Object.freeze({\n __proto__: null,\n get TypeModifier () { return TypeModifier; },\n Type: Type,\n get BuiltinTypeName () { return BuiltinTypeName; },\n BuiltinType: BuiltinType,\n ExpressionType: ExpressionType,\n ArrayType: ArrayType,\n MapType: MapType,\n DYNAMIC_TYPE: DYNAMIC_TYPE,\n INFERRED_TYPE: INFERRED_TYPE,\n BOOL_TYPE: BOOL_TYPE,\n INT_TYPE: INT_TYPE,\n NUMBER_TYPE: NUMBER_TYPE,\n STRING_TYPE: STRING_TYPE,\n FUNCTION_TYPE: FUNCTION_TYPE,\n NONE_TYPE: NONE_TYPE,\n get UnaryOperator () { return UnaryOperator; },\n get BinaryOperator () { return BinaryOperator; },\n nullSafeIsEquivalent: nullSafeIsEquivalent,\n areAllEquivalent: areAllEquivalent,\n Expression: Expression,\n ReadVarExpr: ReadVarExpr,\n TypeofExpr: TypeofExpr,\n WrappedNodeExpr: WrappedNodeExpr,\n WriteVarExpr: WriteVarExpr,\n WriteKeyExpr: WriteKeyExpr,\n WritePropExpr: WritePropExpr,\n InvokeFunctionExpr: InvokeFunctionExpr,\n TaggedTemplateExpr: TaggedTemplateExpr,\n InstantiateExpr: InstantiateExpr,\n LiteralExpr: LiteralExpr,\n TemplateLiteral: TemplateLiteral,\n TemplateLiteralElement: TemplateLiteralElement,\n LiteralPiece: LiteralPiece,\n PlaceholderPiece: PlaceholderPiece,\n LocalizedString: LocalizedString,\n ExternalExpr: ExternalExpr,\n ExternalReference: ExternalReference,\n ConditionalExpr: ConditionalExpr,\n NotExpr: NotExpr,\n FnParam: FnParam,\n FunctionExpr: FunctionExpr,\n UnaryOperatorExpr: UnaryOperatorExpr,\n BinaryOperatorExpr: BinaryOperatorExpr,\n ReadPropExpr: ReadPropExpr,\n ReadKeyExpr: ReadKeyExpr,\n LiteralArrayExpr: LiteralArrayExpr,\n LiteralMapEntry: LiteralMapEntry,\n LiteralMapExpr: LiteralMapExpr,\n CommaExpr: CommaExpr,\n NULL_EXPR: NULL_EXPR,\n TYPED_NULL_EXPR: TYPED_NULL_EXPR,\n get StmtModifier () { return StmtModifier; },\n LeadingComment: LeadingComment,\n JSDocComment: JSDocComment,\n Statement: Statement,\n DeclareVarStmt: DeclareVarStmt,\n DeclareFunctionStmt: DeclareFunctionStmt,\n ExpressionStatement: ExpressionStatement,\n ReturnStatement: ReturnStatement,\n IfStmt: IfStmt,\n RecursiveAstVisitor: RecursiveAstVisitor$1,\n leadingComment: leadingComment,\n jsDocComment: jsDocComment,\n variable: variable,\n importExpr: importExpr,\n importType: importType,\n expressionType: expressionType,\n typeofExpr: typeofExpr,\n literalArr: literalArr,\n literalMap: literalMap,\n unary: unary,\n not: not,\n fn: fn,\n ifStmt: ifStmt,\n taggedTemplate: taggedTemplate,\n literal: literal,\n localizedString: localizedString,\n isNull: isNull\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 CONSTANT_PREFIX = '_c';\n/**\n * `ConstantPool` tries to reuse literal factories when two or more literals are identical.\n * We determine whether literals are identical by creating a key out of their AST using the\n * `KeyVisitor`. This constant is used to replace dynamic expressions which can't be safely\n * converted into a key. E.g. given an expression `{foo: bar()}`, since we don't know what\n * the result of `bar` will be, we create a key that looks like `{foo: }`. Note\n * that we use a variable, rather than something like `null` in order to avoid collisions.\n */\nconst UNKNOWN_VALUE_KEY = variable('');\n/**\n * Context to use when producing a key.\n *\n * This ensures we see the constant not the reference variable when producing\n * a key.\n */\nconst KEY_CONTEXT = {};\n/**\n * Generally all primitive values are excluded from the `ConstantPool`, but there is an exclusion\n * for strings that reach a certain length threshold. This constant defines the length threshold for\n * strings.\n */\nconst POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS = 50;\n/**\n * A node that is a place-holder that allows the node to be replaced when the actual\n * node is known.\n *\n * This allows the constant pool to change an expression from a direct reference to\n * a constant to a shared constant. It returns a fix-up node that is later allowed to\n * change the referenced expression.\n */\nclass FixupExpression extends Expression {\n constructor(resolved) {\n super(resolved.type);\n this.resolved = resolved;\n this.original = resolved;\n }\n visitExpression(visitor, context) {\n if (context === KEY_CONTEXT) {\n // When producing a key we want to traverse the constant not the\n // variable used to refer to it.\n return this.original.visitExpression(visitor, context);\n }\n else {\n return this.resolved.visitExpression(visitor, context);\n }\n }\n isEquivalent(e) {\n return e instanceof FixupExpression && this.resolved.isEquivalent(e.resolved);\n }\n isConstant() {\n return true;\n }\n fixup(expression) {\n this.resolved = expression;\n this.shared = true;\n }\n}\n/**\n * A constant pool allows a code emitter to share constant in an output context.\n *\n * The constant pool also supports sharing access to ivy definitions references.\n */\nclass ConstantPool {\n constructor(isClosureCompilerEnabled = false) {\n this.isClosureCompilerEnabled = isClosureCompilerEnabled;\n this.statements = [];\n this.literals = new Map();\n this.literalFactories = new Map();\n this.nextNameIndex = 0;\n }\n getConstLiteral(literal, forceShared) {\n if ((literal instanceof LiteralExpr && !isLongStringLiteral(literal)) ||\n literal instanceof FixupExpression) {\n // Do no put simple literals into the constant pool or try to produce a constant for a\n // reference to a constant.\n return literal;\n }\n const key = this.keyOf(literal);\n let fixup = this.literals.get(key);\n let newValue = false;\n if (!fixup) {\n fixup = new FixupExpression(literal);\n this.literals.set(key, fixup);\n newValue = true;\n }\n if ((!newValue && !fixup.shared) || (newValue && forceShared)) {\n // Replace the expression with a variable\n const name = this.freshName();\n let definition;\n let usage;\n if (this.isClosureCompilerEnabled && isLongStringLiteral(literal)) {\n // For string literals, Closure will **always** inline the string at\n // **all** usages, duplicating it each time. For large strings, this\n // unnecessarily bloats bundle size. To work around this restriction, we\n // wrap the string in a function, and call that function for each usage.\n // This tricks Closure into using inline logic for functions instead of\n // string literals. Function calls are only inlined if the body is small\n // enough to be worth it. By doing this, very large strings will be\n // shared across multiple usages, rather than duplicating the string at\n // each usage site.\n //\n // const myStr = function() { return \"very very very long string\"; };\n // const usage1 = myStr();\n // const usage2 = myStr();\n definition = variable(name).set(new FunctionExpr([], // Params.\n [\n // Statements.\n new ReturnStatement(literal),\n ]));\n usage = variable(name).callFn([]);\n }\n else {\n // Just declare and use the variable directly, without a function call\n // indirection. This saves a few bytes and avoids an unnecessary call.\n definition = variable(name).set(literal);\n usage = variable(name);\n }\n this.statements.push(definition.toDeclStmt(INFERRED_TYPE, StmtModifier.Final));\n fixup.fixup(usage);\n }\n return fixup;\n }\n getLiteralFactory(literal) {\n // Create a pure function that builds an array of a mix of constant and variable expressions\n if (literal instanceof LiteralArrayExpr) {\n const argumentsForKey = literal.entries.map(e => e.isConstant() ? e : UNKNOWN_VALUE_KEY);\n const key = this.keyOf(literalArr(argumentsForKey));\n return this._getLiteralFactory(key, literal.entries, entries => literalArr(entries));\n }\n else {\n const expressionForKey = literalMap(literal.entries.map(e => ({\n key: e.key,\n value: e.value.isConstant() ? e.value : UNKNOWN_VALUE_KEY,\n quoted: e.quoted\n })));\n const key = this.keyOf(expressionForKey);\n return this._getLiteralFactory(key, literal.entries.map(e => e.value), entries => literalMap(entries.map((value, index) => ({\n key: literal.entries[index].key,\n value,\n quoted: literal.entries[index].quoted\n }))));\n }\n }\n _getLiteralFactory(key, values, resultMap) {\n let literalFactory = this.literalFactories.get(key);\n const literalFactoryArguments = values.filter((e => !e.isConstant()));\n if (!literalFactory) {\n const resultExpressions = values.map((e, index) => e.isConstant() ? this.getConstLiteral(e, true) : variable(`a${index}`));\n const parameters = resultExpressions.filter(isVariable).map(e => new FnParam(e.name, DYNAMIC_TYPE));\n const pureFunctionDeclaration = fn(parameters, [new ReturnStatement(resultMap(resultExpressions))], INFERRED_TYPE);\n const name = this.freshName();\n this.statements.push(variable(name)\n .set(pureFunctionDeclaration)\n .toDeclStmt(INFERRED_TYPE, StmtModifier.Final));\n literalFactory = variable(name);\n this.literalFactories.set(key, literalFactory);\n }\n return { literalFactory, literalFactoryArguments };\n }\n /**\n * Produce a unique name.\n *\n * The name might be unique among different prefixes if any of the prefixes end in\n * a digit so the prefix should be a constant string (not based on user input) and\n * must not end in a digit.\n */\n uniqueName(prefix) {\n return `${prefix}${this.nextNameIndex++}`;\n }\n freshName() {\n return this.uniqueName(CONSTANT_PREFIX);\n }\n keyOf(expression) {\n return expression.visitExpression(new KeyVisitor(), KEY_CONTEXT);\n }\n}\n/**\n * Visitor used to determine if 2 expressions are equivalent and can be shared in the\n * `ConstantPool`.\n *\n * When the id (string) generated by the visitor is equal, expressions are considered equivalent.\n */\nclass KeyVisitor {\n constructor() {\n this.visitWrappedNodeExpr = invalid$1;\n this.visitWriteVarExpr = invalid$1;\n this.visitWriteKeyExpr = invalid$1;\n this.visitWritePropExpr = invalid$1;\n this.visitInvokeFunctionExpr = invalid$1;\n this.visitTaggedTemplateExpr = invalid$1;\n this.visitInstantiateExpr = invalid$1;\n this.visitConditionalExpr = invalid$1;\n this.visitNotExpr = invalid$1;\n this.visitAssertNotNullExpr = invalid$1;\n this.visitCastExpr = invalid$1;\n this.visitFunctionExpr = invalid$1;\n this.visitUnaryOperatorExpr = invalid$1;\n this.visitBinaryOperatorExpr = invalid$1;\n this.visitReadPropExpr = invalid$1;\n this.visitReadKeyExpr = invalid$1;\n this.visitCommaExpr = invalid$1;\n this.visitLocalizedString = invalid$1;\n }\n visitLiteralExpr(ast) {\n return `${typeof ast.value === 'string' ? '\"' + ast.value + '\"' : ast.value}`;\n }\n visitLiteralArrayExpr(ast, context) {\n return `[${ast.entries.map(entry => entry.visitExpression(this, context)).join(',')}]`;\n }\n visitLiteralMapExpr(ast, context) {\n const mapKey = (entry) => {\n const quote = entry.quoted ? '\"' : '';\n return `${quote}${entry.key}${quote}`;\n };\n const mapEntry = (entry) => `${mapKey(entry)}:${entry.value.visitExpression(this, context)}`;\n return `{${ast.entries.map(mapEntry).join(',')}`;\n }\n visitExternalExpr(ast) {\n return ast.value.moduleName ? `EX:${ast.value.moduleName}:${ast.value.name}` :\n `EX:${ast.value.runtime.name}`;\n }\n visitReadVarExpr(node) {\n return `VAR:${node.name}`;\n }\n visitTypeofExpr(node, context) {\n return `TYPEOF:${node.expr.visitExpression(this, context)}`;\n }\n}\nfunction invalid$1(arg) {\n throw new Error(`Invalid state: Visitor ${this.constructor.name} doesn't handle ${arg.constructor.name}`);\n}\nfunction isVariable(e) {\n return e instanceof ReadVarExpr;\n}\nfunction isLongStringLiteral(expr) {\n return expr instanceof LiteralExpr && typeof expr.value === 'string' &&\n expr.value.length >= POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS;\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 CORE = '@angular/core';\nclass Identifiers {\n}\n/* Methods */\nIdentifiers.NEW_METHOD = 'factory';\nIdentifiers.TRANSFORM_METHOD = 'transform';\nIdentifiers.PATCH_DEPS = 'patchedDeps';\nIdentifiers.core = { name: null, moduleName: CORE };\n/* Instructions */\nIdentifiers.namespaceHTML = { name: 'ɵɵnamespaceHTML', moduleName: CORE };\nIdentifiers.namespaceMathML = { name: 'ɵɵnamespaceMathML', moduleName: CORE };\nIdentifiers.namespaceSVG = { name: 'ɵɵnamespaceSVG', moduleName: CORE };\nIdentifiers.element = { name: 'ɵɵelement', moduleName: CORE };\nIdentifiers.elementStart = { name: 'ɵɵelementStart', moduleName: CORE };\nIdentifiers.elementEnd = { name: 'ɵɵelementEnd', moduleName: CORE };\nIdentifiers.advance = { name: 'ɵɵadvance', moduleName: CORE };\nIdentifiers.syntheticHostProperty = { name: 'ɵɵsyntheticHostProperty', moduleName: CORE };\nIdentifiers.syntheticHostListener = { name: 'ɵɵsyntheticHostListener', moduleName: CORE };\nIdentifiers.attribute = { name: 'ɵɵattribute', moduleName: CORE };\nIdentifiers.attributeInterpolate1 = { name: 'ɵɵattributeInterpolate1', moduleName: CORE };\nIdentifiers.attributeInterpolate2 = { name: 'ɵɵattributeInterpolate2', moduleName: CORE };\nIdentifiers.attributeInterpolate3 = { name: 'ɵɵattributeInterpolate3', moduleName: CORE };\nIdentifiers.attributeInterpolate4 = { name: 'ɵɵattributeInterpolate4', moduleName: CORE };\nIdentifiers.attributeInterpolate5 = { name: 'ɵɵattributeInterpolate5', moduleName: CORE };\nIdentifiers.attributeInterpolate6 = { name: 'ɵɵattributeInterpolate6', moduleName: CORE };\nIdentifiers.attributeInterpolate7 = { name: 'ɵɵattributeInterpolate7', moduleName: CORE };\nIdentifiers.attributeInterpolate8 = { name: 'ɵɵattributeInterpolate8', moduleName: CORE };\nIdentifiers.attributeInterpolateV = { name: 'ɵɵattributeInterpolateV', moduleName: CORE };\nIdentifiers.classProp = { name: 'ɵɵclassProp', moduleName: CORE };\nIdentifiers.elementContainerStart = { name: 'ɵɵelementContainerStart', moduleName: CORE };\nIdentifiers.elementContainerEnd = { name: 'ɵɵelementContainerEnd', moduleName: CORE };\nIdentifiers.elementContainer = { name: 'ɵɵelementContainer', moduleName: CORE };\nIdentifiers.styleMap = { name: 'ɵɵstyleMap', moduleName: CORE };\nIdentifiers.styleMapInterpolate1 = { name: 'ɵɵstyleMapInterpolate1', moduleName: CORE };\nIdentifiers.styleMapInterpolate2 = { name: 'ɵɵstyleMapInterpolate2', moduleName: CORE };\nIdentifiers.styleMapInterpolate3 = { name: 'ɵɵstyleMapInterpolate3', moduleName: CORE };\nIdentifiers.styleMapInterpolate4 = { name: 'ɵɵstyleMapInterpolate4', moduleName: CORE };\nIdentifiers.styleMapInterpolate5 = { name: 'ɵɵstyleMapInterpolate5', moduleName: CORE };\nIdentifiers.styleMapInterpolate6 = { name: 'ɵɵstyleMapInterpolate6', moduleName: CORE };\nIdentifiers.styleMapInterpolate7 = { name: 'ɵɵstyleMapInterpolate7', moduleName: CORE };\nIdentifiers.styleMapInterpolate8 = { name: 'ɵɵstyleMapInterpolate8', moduleName: CORE };\nIdentifiers.styleMapInterpolateV = { name: 'ɵɵstyleMapInterpolateV', moduleName: CORE };\nIdentifiers.classMap = { name: 'ɵɵclassMap', moduleName: CORE };\nIdentifiers.classMapInterpolate1 = { name: 'ɵɵclassMapInterpolate1', moduleName: CORE };\nIdentifiers.classMapInterpolate2 = { name: 'ɵɵclassMapInterpolate2', moduleName: CORE };\nIdentifiers.classMapInterpolate3 = { name: 'ɵɵclassMapInterpolate3', moduleName: CORE };\nIdentifiers.classMapInterpolate4 = { name: 'ɵɵclassMapInterpolate4', moduleName: CORE };\nIdentifiers.classMapInterpolate5 = { name: 'ɵɵclassMapInterpolate5', moduleName: CORE };\nIdentifiers.classMapInterpolate6 = { name: 'ɵɵclassMapInterpolate6', moduleName: CORE };\nIdentifiers.classMapInterpolate7 = { name: 'ɵɵclassMapInterpolate7', moduleName: CORE };\nIdentifiers.classMapInterpolate8 = { name: 'ɵɵclassMapInterpolate8', moduleName: CORE };\nIdentifiers.classMapInterpolateV = { name: 'ɵɵclassMapInterpolateV', moduleName: CORE };\nIdentifiers.styleProp = { name: 'ɵɵstyleProp', moduleName: CORE };\nIdentifiers.stylePropInterpolate1 = { name: 'ɵɵstylePropInterpolate1', moduleName: CORE };\nIdentifiers.stylePropInterpolate2 = { name: 'ɵɵstylePropInterpolate2', moduleName: CORE };\nIdentifiers.stylePropInterpolate3 = { name: 'ɵɵstylePropInterpolate3', moduleName: CORE };\nIdentifiers.stylePropInterpolate4 = { name: 'ɵɵstylePropInterpolate4', moduleName: CORE };\nIdentifiers.stylePropInterpolate5 = { name: 'ɵɵstylePropInterpolate5', moduleName: CORE };\nIdentifiers.stylePropInterpolate6 = { name: 'ɵɵstylePropInterpolate6', moduleName: CORE };\nIdentifiers.stylePropInterpolate7 = { name: 'ɵɵstylePropInterpolate7', moduleName: CORE };\nIdentifiers.stylePropInterpolate8 = { name: 'ɵɵstylePropInterpolate8', moduleName: CORE };\nIdentifiers.stylePropInterpolateV = { name: 'ɵɵstylePropInterpolateV', moduleName: CORE };\nIdentifiers.nextContext = { name: 'ɵɵnextContext', moduleName: CORE };\nIdentifiers.resetView = { name: 'ɵɵresetView', moduleName: CORE };\nIdentifiers.templateCreate = { name: 'ɵɵtemplate', moduleName: CORE };\nIdentifiers.text = { name: 'ɵɵtext', moduleName: CORE };\nIdentifiers.enableBindings = { name: 'ɵɵenableBindings', moduleName: CORE };\nIdentifiers.disableBindings = { name: 'ɵɵdisableBindings', moduleName: CORE };\nIdentifiers.getCurrentView = { name: 'ɵɵgetCurrentView', moduleName: CORE };\nIdentifiers.textInterpolate = { name: 'ɵɵtextInterpolate', moduleName: CORE };\nIdentifiers.textInterpolate1 = { name: 'ɵɵtextInterpolate1', moduleName: CORE };\nIdentifiers.textInterpolate2 = { name: 'ɵɵtextInterpolate2', moduleName: CORE };\nIdentifiers.textInterpolate3 = { name: 'ɵɵtextInterpolate3', moduleName: CORE };\nIdentifiers.textInterpolate4 = { name: 'ɵɵtextInterpolate4', moduleName: CORE };\nIdentifiers.textInterpolate5 = { name: 'ɵɵtextInterpolate5', moduleName: CORE };\nIdentifiers.textInterpolate6 = { name: 'ɵɵtextInterpolate6', moduleName: CORE };\nIdentifiers.textInterpolate7 = { name: 'ɵɵtextInterpolate7', moduleName: CORE };\nIdentifiers.textInterpolate8 = { name: 'ɵɵtextInterpolate8', moduleName: CORE };\nIdentifiers.textInterpolateV = { name: 'ɵɵtextInterpolateV', moduleName: CORE };\nIdentifiers.restoreView = { name: 'ɵɵrestoreView', moduleName: CORE };\nIdentifiers.pureFunction0 = { name: 'ɵɵpureFunction0', moduleName: CORE };\nIdentifiers.pureFunction1 = { name: 'ɵɵpureFunction1', moduleName: CORE };\nIdentifiers.pureFunction2 = { name: 'ɵɵpureFunction2', moduleName: CORE };\nIdentifiers.pureFunction3 = { name: 'ɵɵpureFunction3', moduleName: CORE };\nIdentifiers.pureFunction4 = { name: 'ɵɵpureFunction4', moduleName: CORE };\nIdentifiers.pureFunction5 = { name: 'ɵɵpureFunction5', moduleName: CORE };\nIdentifiers.pureFunction6 = { name: 'ɵɵpureFunction6', moduleName: CORE };\nIdentifiers.pureFunction7 = { name: 'ɵɵpureFunction7', moduleName: CORE };\nIdentifiers.pureFunction8 = { name: 'ɵɵpureFunction8', moduleName: CORE };\nIdentifiers.pureFunctionV = { name: 'ɵɵpureFunctionV', moduleName: CORE };\nIdentifiers.pipeBind1 = { name: 'ɵɵpipeBind1', moduleName: CORE };\nIdentifiers.pipeBind2 = { name: 'ɵɵpipeBind2', moduleName: CORE };\nIdentifiers.pipeBind3 = { name: 'ɵɵpipeBind3', moduleName: CORE };\nIdentifiers.pipeBind4 = { name: 'ɵɵpipeBind4', moduleName: CORE };\nIdentifiers.pipeBindV = { name: 'ɵɵpipeBindV', moduleName: CORE };\nIdentifiers.hostProperty = { name: 'ɵɵhostProperty', moduleName: CORE };\nIdentifiers.property = { name: 'ɵɵproperty', moduleName: CORE };\nIdentifiers.propertyInterpolate = { name: 'ɵɵpropertyInterpolate', moduleName: CORE };\nIdentifiers.propertyInterpolate1 = { name: 'ɵɵpropertyInterpolate1', moduleName: CORE };\nIdentifiers.propertyInterpolate2 = { name: 'ɵɵpropertyInterpolate2', moduleName: CORE };\nIdentifiers.propertyInterpolate3 = { name: 'ɵɵpropertyInterpolate3', moduleName: CORE };\nIdentifiers.propertyInterpolate4 = { name: 'ɵɵpropertyInterpolate4', moduleName: CORE };\nIdentifiers.propertyInterpolate5 = { name: 'ɵɵpropertyInterpolate5', moduleName: CORE };\nIdentifiers.propertyInterpolate6 = { name: 'ɵɵpropertyInterpolate6', moduleName: CORE };\nIdentifiers.propertyInterpolate7 = { name: 'ɵɵpropertyInterpolate7', moduleName: CORE };\nIdentifiers.propertyInterpolate8 = { name: 'ɵɵpropertyInterpolate8', moduleName: CORE };\nIdentifiers.propertyInterpolateV = { name: 'ɵɵpropertyInterpolateV', moduleName: CORE };\nIdentifiers.i18n = { name: 'ɵɵi18n', moduleName: CORE };\nIdentifiers.i18nAttributes = { name: 'ɵɵi18nAttributes', moduleName: CORE };\nIdentifiers.i18nExp = { name: 'ɵɵi18nExp', moduleName: CORE };\nIdentifiers.i18nStart = { name: 'ɵɵi18nStart', moduleName: CORE };\nIdentifiers.i18nEnd = { name: 'ɵɵi18nEnd', moduleName: CORE };\nIdentifiers.i18nApply = { name: 'ɵɵi18nApply', moduleName: CORE };\nIdentifiers.i18nPostprocess = { name: 'ɵɵi18nPostprocess', moduleName: CORE };\nIdentifiers.pipe = { name: 'ɵɵpipe', moduleName: CORE };\nIdentifiers.projection = { name: 'ɵɵprojection', moduleName: CORE };\nIdentifiers.projectionDef = { name: 'ɵɵprojectionDef', moduleName: CORE };\nIdentifiers.reference = { name: 'ɵɵreference', moduleName: CORE };\nIdentifiers.inject = { name: 'ɵɵinject', moduleName: CORE };\nIdentifiers.injectAttribute = { name: 'ɵɵinjectAttribute', moduleName: CORE };\nIdentifiers.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE };\nIdentifiers.invalidFactory = { name: 'ɵɵinvalidFactory', moduleName: CORE };\nIdentifiers.invalidFactoryDep = { name: 'ɵɵinvalidFactoryDep', moduleName: CORE };\nIdentifiers.templateRefExtractor = { name: 'ɵɵtemplateRefExtractor', moduleName: CORE };\nIdentifiers.forwardRef = { name: 'forwardRef', moduleName: CORE };\nIdentifiers.resolveForwardRef = { name: 'resolveForwardRef', moduleName: CORE };\nIdentifiers.ɵɵdefineInjectable = { name: 'ɵɵdefineInjectable', moduleName: CORE };\nIdentifiers.declareInjectable = { name: 'ɵɵngDeclareInjectable', moduleName: CORE };\nIdentifiers.InjectableDeclaration = { name: 'ɵɵInjectableDeclaration', moduleName: CORE };\nIdentifiers.resolveWindow = { name: 'ɵɵresolveWindow', moduleName: CORE };\nIdentifiers.resolveDocument = { name: 'ɵɵresolveDocument', moduleName: CORE };\nIdentifiers.resolveBody = { name: 'ɵɵresolveBody', moduleName: CORE };\nIdentifiers.defineComponent = { name: 'ɵɵdefineComponent', moduleName: CORE };\nIdentifiers.declareComponent = { name: 'ɵɵngDeclareComponent', moduleName: CORE };\nIdentifiers.setComponentScope = { name: 'ɵɵsetComponentScope', moduleName: CORE };\nIdentifiers.ChangeDetectionStrategy = {\n name: 'ChangeDetectionStrategy',\n moduleName: CORE,\n};\nIdentifiers.ViewEncapsulation = {\n name: 'ViewEncapsulation',\n moduleName: CORE,\n};\nIdentifiers.ComponentDeclaration = {\n name: 'ɵɵComponentDeclaration',\n moduleName: CORE,\n};\nIdentifiers.FactoryDeclaration = {\n name: 'ɵɵFactoryDeclaration',\n moduleName: CORE,\n};\nIdentifiers.declareFactory = { name: 'ɵɵngDeclareFactory', moduleName: CORE };\nIdentifiers.FactoryTarget = { name: 'ɵɵFactoryTarget', moduleName: CORE };\nIdentifiers.defineDirective = { name: 'ɵɵdefineDirective', moduleName: CORE };\nIdentifiers.declareDirective = { name: 'ɵɵngDeclareDirective', moduleName: CORE };\nIdentifiers.DirectiveDeclaration = {\n name: 'ɵɵDirectiveDeclaration',\n moduleName: CORE,\n};\nIdentifiers.InjectorDef = { name: 'ɵɵInjectorDef', moduleName: CORE };\nIdentifiers.InjectorDeclaration = { name: 'ɵɵInjectorDeclaration', moduleName: CORE };\nIdentifiers.defineInjector = { name: 'ɵɵdefineInjector', moduleName: CORE };\nIdentifiers.declareInjector = { name: 'ɵɵngDeclareInjector', moduleName: CORE };\nIdentifiers.NgModuleDeclaration = {\n name: 'ɵɵNgModuleDeclaration',\n moduleName: CORE,\n};\nIdentifiers.ModuleWithProviders = {\n name: 'ModuleWithProviders',\n moduleName: CORE,\n};\nIdentifiers.defineNgModule = { name: 'ɵɵdefineNgModule', moduleName: CORE };\nIdentifiers.declareNgModule = { name: 'ɵɵngDeclareNgModule', moduleName: CORE };\nIdentifiers.setNgModuleScope = { name: 'ɵɵsetNgModuleScope', moduleName: CORE };\nIdentifiers.registerNgModuleType = { name: 'ɵɵregisterNgModuleType', moduleName: CORE };\nIdentifiers.PipeDeclaration = { name: 'ɵɵPipeDeclaration', moduleName: CORE };\nIdentifiers.definePipe = { name: 'ɵɵdefinePipe', moduleName: CORE };\nIdentifiers.declarePipe = { name: 'ɵɵngDeclarePipe', moduleName: CORE };\nIdentifiers.declareClassMetadata = { name: 'ɵɵngDeclareClassMetadata', moduleName: CORE };\nIdentifiers.setClassMetadata = { name: 'ɵsetClassMetadata', moduleName: CORE };\nIdentifiers.queryRefresh = { name: 'ɵɵqueryRefresh', moduleName: CORE };\nIdentifiers.viewQuery = { name: 'ɵɵviewQuery', moduleName: CORE };\nIdentifiers.loadQuery = { name: 'ɵɵloadQuery', moduleName: CORE };\nIdentifiers.contentQuery = { name: 'ɵɵcontentQuery', moduleName: CORE };\nIdentifiers.NgOnChangesFeature = { name: 'ɵɵNgOnChangesFeature', moduleName: CORE };\nIdentifiers.InheritDefinitionFeature = { name: 'ɵɵInheritDefinitionFeature', moduleName: CORE };\nIdentifiers.CopyDefinitionFeature = { name: 'ɵɵCopyDefinitionFeature', moduleName: CORE };\nIdentifiers.StandaloneFeature = { name: 'ɵɵStandaloneFeature', moduleName: CORE };\nIdentifiers.ProvidersFeature = { name: 'ɵɵProvidersFeature', moduleName: CORE };\nIdentifiers.listener = { name: 'ɵɵlistener', moduleName: CORE };\nIdentifiers.getInheritedFactory = {\n name: 'ɵɵgetInheritedFactory',\n moduleName: CORE,\n};\n// sanitization-related functions\nIdentifiers.sanitizeHtml = { name: 'ɵɵsanitizeHtml', moduleName: CORE };\nIdentifiers.sanitizeStyle = { name: 'ɵɵsanitizeStyle', moduleName: CORE };\nIdentifiers.sanitizeResourceUrl = { name: 'ɵɵsanitizeResourceUrl', moduleName: CORE };\nIdentifiers.sanitizeScript = { name: 'ɵɵsanitizeScript', moduleName: CORE };\nIdentifiers.sanitizeUrl = { name: 'ɵɵsanitizeUrl', moduleName: CORE };\nIdentifiers.sanitizeUrlOrResourceUrl = { name: 'ɵɵsanitizeUrlOrResourceUrl', moduleName: CORE };\nIdentifiers.trustConstantHtml = { name: 'ɵɵtrustConstantHtml', moduleName: CORE };\nIdentifiers.trustConstantResourceUrl = { name: 'ɵɵtrustConstantResourceUrl', moduleName: CORE };\nIdentifiers.validateIframeAttribute = { name: 'ɵɵvalidateIframeAttribute', moduleName: 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// https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\nconst VERSION$1 = 3;\nconst JS_B64_PREFIX = '# sourceMappingURL=data:application/json;base64,';\nclass SourceMapGenerator {\n constructor(file = null) {\n this.file = file;\n this.sourcesContent = new Map();\n this.lines = [];\n this.lastCol0 = 0;\n this.hasMappings = false;\n }\n // The content is `null` when the content is expected to be loaded using the URL\n addSource(url, content = null) {\n if (!this.sourcesContent.has(url)) {\n this.sourcesContent.set(url, content);\n }\n return this;\n }\n addLine() {\n this.lines.push([]);\n this.lastCol0 = 0;\n return this;\n }\n addMapping(col0, sourceUrl, sourceLine0, sourceCol0) {\n if (!this.currentLine) {\n throw new Error(`A line must be added before mappings can be added`);\n }\n if (sourceUrl != null && !this.sourcesContent.has(sourceUrl)) {\n throw new Error(`Unknown source file \"${sourceUrl}\"`);\n }\n if (col0 == null) {\n throw new Error(`The column in the generated code must be provided`);\n }\n if (col0 < this.lastCol0) {\n throw new Error(`Mapping should be added in output order`);\n }\n if (sourceUrl && (sourceLine0 == null || sourceCol0 == null)) {\n throw new Error(`The source location must be provided when a source url is provided`);\n }\n this.hasMappings = true;\n this.lastCol0 = col0;\n this.currentLine.push({ col0, sourceUrl, sourceLine0, sourceCol0 });\n return this;\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get currentLine() {\n return this.lines.slice(-1)[0];\n }\n toJSON() {\n if (!this.hasMappings) {\n return null;\n }\n const sourcesIndex = new Map();\n const sources = [];\n const sourcesContent = [];\n Array.from(this.sourcesContent.keys()).forEach((url, i) => {\n sourcesIndex.set(url, i);\n sources.push(url);\n sourcesContent.push(this.sourcesContent.get(url) || null);\n });\n let mappings = '';\n let lastCol0 = 0;\n let lastSourceIndex = 0;\n let lastSourceLine0 = 0;\n let lastSourceCol0 = 0;\n this.lines.forEach(segments => {\n lastCol0 = 0;\n mappings += segments\n .map(segment => {\n // zero-based starting column of the line in the generated code\n let segAsStr = toBase64VLQ(segment.col0 - lastCol0);\n lastCol0 = segment.col0;\n if (segment.sourceUrl != null) {\n // zero-based index into the “sources” list\n segAsStr +=\n toBase64VLQ(sourcesIndex.get(segment.sourceUrl) - lastSourceIndex);\n lastSourceIndex = sourcesIndex.get(segment.sourceUrl);\n // the zero-based starting line in the original source\n segAsStr += toBase64VLQ(segment.sourceLine0 - lastSourceLine0);\n lastSourceLine0 = segment.sourceLine0;\n // the zero-based starting column in the original source\n segAsStr += toBase64VLQ(segment.sourceCol0 - lastSourceCol0);\n lastSourceCol0 = segment.sourceCol0;\n }\n return segAsStr;\n })\n .join(',');\n mappings += ';';\n });\n mappings = mappings.slice(0, -1);\n return {\n 'file': this.file || '',\n 'version': VERSION$1,\n 'sourceRoot': '',\n 'sources': sources,\n 'sourcesContent': sourcesContent,\n 'mappings': mappings,\n };\n }\n toJsComment() {\n return this.hasMappings ? '//' + JS_B64_PREFIX + toBase64String(JSON.stringify(this, null, 0)) :\n '';\n }\n}\nfunction toBase64String(value) {\n let b64 = '';\n const encoded = utf8Encode(value);\n for (let i = 0; i < encoded.length;) {\n const i1 = encoded[i++];\n const i2 = i < encoded.length ? encoded[i++] : null;\n const i3 = i < encoded.length ? encoded[i++] : null;\n b64 += toBase64Digit(i1 >> 2);\n b64 += toBase64Digit(((i1 & 3) << 4) | (i2 === null ? 0 : i2 >> 4));\n b64 += i2 === null ? '=' : toBase64Digit(((i2 & 15) << 2) | (i3 === null ? 0 : i3 >> 6));\n b64 += i2 === null || i3 === null ? '=' : toBase64Digit(i3 & 63);\n }\n return b64;\n}\nfunction toBase64VLQ(value) {\n value = value < 0 ? ((-value) << 1) + 1 : value << 1;\n let out = '';\n do {\n let digit = value & 31;\n value = value >> 5;\n if (value > 0) {\n digit = digit | 32;\n }\n out += toBase64Digit(digit);\n } while (value > 0);\n return out;\n}\nconst B64_DIGITS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfunction toBase64Digit(value) {\n if (value < 0 || value >= 64) {\n throw new Error(`Can only encode value in the range [0, 63]`);\n }\n return B64_DIGITS[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 */\nconst _SINGLE_QUOTE_ESCAPE_STRING_RE = /'|\\\\|\\n|\\r|\\$/g;\nconst _LEGAL_IDENTIFIER_RE = /^[$A-Z_][0-9A-Z_$]*$/i;\nconst _INDENT_WITH = ' ';\nclass _EmittedLine {\n constructor(indent) {\n this.indent = indent;\n this.partsLength = 0;\n this.parts = [];\n this.srcSpans = [];\n }\n}\nclass EmitterVisitorContext {\n constructor(_indent) {\n this._indent = _indent;\n this._lines = [new _EmittedLine(_indent)];\n }\n static createRoot() {\n return new EmitterVisitorContext(0);\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get _currentLine() {\n return this._lines[this._lines.length - 1];\n }\n println(from, lastPart = '') {\n this.print(from || null, lastPart, true);\n }\n lineIsEmpty() {\n return this._currentLine.parts.length === 0;\n }\n lineLength() {\n return this._currentLine.indent * _INDENT_WITH.length + this._currentLine.partsLength;\n }\n print(from, part, newLine = false) {\n if (part.length > 0) {\n this._currentLine.parts.push(part);\n this._currentLine.partsLength += part.length;\n this._currentLine.srcSpans.push(from && from.sourceSpan || null);\n }\n if (newLine) {\n this._lines.push(new _EmittedLine(this._indent));\n }\n }\n removeEmptyLastLine() {\n if (this.lineIsEmpty()) {\n this._lines.pop();\n }\n }\n incIndent() {\n this._indent++;\n if (this.lineIsEmpty()) {\n this._currentLine.indent = this._indent;\n }\n }\n decIndent() {\n this._indent--;\n if (this.lineIsEmpty()) {\n this._currentLine.indent = this._indent;\n }\n }\n toSource() {\n return this.sourceLines\n .map(l => l.parts.length > 0 ? _createIndent(l.indent) + l.parts.join('') : '')\n .join('\\n');\n }\n toSourceMapGenerator(genFilePath, startsAtLine = 0) {\n const map = new SourceMapGenerator(genFilePath);\n let firstOffsetMapped = false;\n const mapFirstOffsetIfNeeded = () => {\n if (!firstOffsetMapped) {\n // Add a single space so that tools won't try to load the file from disk.\n // Note: We are using virtual urls like `ng:///`, so we have to\n // provide a content here.\n map.addSource(genFilePath, ' ').addMapping(0, genFilePath, 0, 0);\n firstOffsetMapped = true;\n }\n };\n for (let i = 0; i < startsAtLine; i++) {\n map.addLine();\n mapFirstOffsetIfNeeded();\n }\n this.sourceLines.forEach((line, lineIdx) => {\n map.addLine();\n const spans = line.srcSpans;\n const parts = line.parts;\n let col0 = line.indent * _INDENT_WITH.length;\n let spanIdx = 0;\n // skip leading parts without source spans\n while (spanIdx < spans.length && !spans[spanIdx]) {\n col0 += parts[spanIdx].length;\n spanIdx++;\n }\n if (spanIdx < spans.length && lineIdx === 0 && col0 === 0) {\n firstOffsetMapped = true;\n }\n else {\n mapFirstOffsetIfNeeded();\n }\n while (spanIdx < spans.length) {\n const span = spans[spanIdx];\n const source = span.start.file;\n const sourceLine = span.start.line;\n const sourceCol = span.start.col;\n map.addSource(source.url, source.content)\n .addMapping(col0, source.url, sourceLine, sourceCol);\n col0 += parts[spanIdx].length;\n spanIdx++;\n // assign parts without span or the same span to the previous segment\n while (spanIdx < spans.length && (span === spans[spanIdx] || !spans[spanIdx])) {\n col0 += parts[spanIdx].length;\n spanIdx++;\n }\n }\n });\n return map;\n }\n spanOf(line, column) {\n const emittedLine = this._lines[line];\n if (emittedLine) {\n let columnsLeft = column - _createIndent(emittedLine.indent).length;\n for (let partIndex = 0; partIndex < emittedLine.parts.length; partIndex++) {\n const part = emittedLine.parts[partIndex];\n if (part.length > columnsLeft) {\n return emittedLine.srcSpans[partIndex];\n }\n columnsLeft -= part.length;\n }\n }\n return null;\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get sourceLines() {\n if (this._lines.length && this._lines[this._lines.length - 1].parts.length === 0) {\n return this._lines.slice(0, -1);\n }\n return this._lines;\n }\n}\nclass AbstractEmitterVisitor {\n constructor(_escapeDollarInStrings) {\n this._escapeDollarInStrings = _escapeDollarInStrings;\n }\n printLeadingComments(stmt, ctx) {\n if (stmt.leadingComments === undefined) {\n return;\n }\n for (const comment of stmt.leadingComments) {\n if (comment instanceof JSDocComment) {\n ctx.print(stmt, `/*${comment.toString()}*/`, comment.trailingNewline);\n }\n else {\n if (comment.multiline) {\n ctx.print(stmt, `/* ${comment.text} */`, comment.trailingNewline);\n }\n else {\n comment.text.split('\\n').forEach((line) => {\n ctx.println(stmt, `// ${line}`);\n });\n }\n }\n }\n }\n visitExpressionStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n stmt.expr.visitExpression(this, ctx);\n ctx.println(stmt, ';');\n return null;\n }\n visitReturnStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `return `);\n stmt.value.visitExpression(this, ctx);\n ctx.println(stmt, ';');\n return null;\n }\n visitIfStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `if (`);\n stmt.condition.visitExpression(this, ctx);\n ctx.print(stmt, `) {`);\n const hasElseCase = stmt.falseCase != null && stmt.falseCase.length > 0;\n if (stmt.trueCase.length <= 1 && !hasElseCase) {\n ctx.print(stmt, ` `);\n this.visitAllStatements(stmt.trueCase, ctx);\n ctx.removeEmptyLastLine();\n ctx.print(stmt, ` `);\n }\n else {\n ctx.println();\n ctx.incIndent();\n this.visitAllStatements(stmt.trueCase, ctx);\n ctx.decIndent();\n if (hasElseCase) {\n ctx.println(stmt, `} else {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.falseCase, ctx);\n ctx.decIndent();\n }\n }\n ctx.println(stmt, `}`);\n return null;\n }\n visitWriteVarExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n ctx.print(expr, `${expr.name} = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitWriteKeyExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n expr.receiver.visitExpression(this, ctx);\n ctx.print(expr, `[`);\n expr.index.visitExpression(this, ctx);\n ctx.print(expr, `] = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitWritePropExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n expr.receiver.visitExpression(this, ctx);\n ctx.print(expr, `.${expr.name} = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitInvokeFunctionExpr(expr, ctx) {\n expr.fn.visitExpression(this, ctx);\n ctx.print(expr, `(`);\n this.visitAllExpressions(expr.args, ctx, ',');\n ctx.print(expr, `)`);\n return null;\n }\n visitTaggedTemplateExpr(expr, ctx) {\n expr.tag.visitExpression(this, ctx);\n ctx.print(expr, '`' + expr.template.elements[0].rawText);\n for (let i = 1; i < expr.template.elements.length; i++) {\n ctx.print(expr, '${');\n expr.template.expressions[i - 1].visitExpression(this, ctx);\n ctx.print(expr, `}${expr.template.elements[i].rawText}`);\n }\n ctx.print(expr, '`');\n return null;\n }\n visitWrappedNodeExpr(ast, ctx) {\n throw new Error('Abstract emitter cannot visit WrappedNodeExpr.');\n }\n visitTypeofExpr(expr, ctx) {\n ctx.print(expr, 'typeof ');\n expr.expr.visitExpression(this, ctx);\n }\n visitReadVarExpr(ast, ctx) {\n ctx.print(ast, ast.name);\n return null;\n }\n visitInstantiateExpr(ast, ctx) {\n ctx.print(ast, `new `);\n ast.classExpr.visitExpression(this, ctx);\n ctx.print(ast, `(`);\n this.visitAllExpressions(ast.args, ctx, ',');\n ctx.print(ast, `)`);\n return null;\n }\n visitLiteralExpr(ast, ctx) {\n const value = ast.value;\n if (typeof value === 'string') {\n ctx.print(ast, escapeIdentifier(value, this._escapeDollarInStrings));\n }\n else {\n ctx.print(ast, `${value}`);\n }\n return null;\n }\n visitLocalizedString(ast, ctx) {\n const head = ast.serializeI18nHead();\n ctx.print(ast, '$localize `' + head.raw);\n for (let i = 1; i < ast.messageParts.length; i++) {\n ctx.print(ast, '${');\n ast.expressions[i - 1].visitExpression(this, ctx);\n ctx.print(ast, `}${ast.serializeI18nTemplatePart(i).raw}`);\n }\n ctx.print(ast, '`');\n return null;\n }\n visitConditionalExpr(ast, ctx) {\n ctx.print(ast, `(`);\n ast.condition.visitExpression(this, ctx);\n ctx.print(ast, '? ');\n ast.trueCase.visitExpression(this, ctx);\n ctx.print(ast, ': ');\n ast.falseCase.visitExpression(this, ctx);\n ctx.print(ast, `)`);\n return null;\n }\n visitNotExpr(ast, ctx) {\n ctx.print(ast, '!');\n ast.condition.visitExpression(this, ctx);\n return null;\n }\n visitUnaryOperatorExpr(ast, ctx) {\n let opStr;\n switch (ast.operator) {\n case UnaryOperator.Plus:\n opStr = '+';\n break;\n case UnaryOperator.Minus:\n opStr = '-';\n break;\n default:\n throw new Error(`Unknown operator ${ast.operator}`);\n }\n if (ast.parens)\n ctx.print(ast, `(`);\n ctx.print(ast, opStr);\n ast.expr.visitExpression(this, ctx);\n if (ast.parens)\n ctx.print(ast, `)`);\n return null;\n }\n visitBinaryOperatorExpr(ast, ctx) {\n let opStr;\n switch (ast.operator) {\n case BinaryOperator.Equals:\n opStr = '==';\n break;\n case BinaryOperator.Identical:\n opStr = '===';\n break;\n case BinaryOperator.NotEquals:\n opStr = '!=';\n break;\n case BinaryOperator.NotIdentical:\n opStr = '!==';\n break;\n case BinaryOperator.And:\n opStr = '&&';\n break;\n case BinaryOperator.BitwiseAnd:\n opStr = '&';\n break;\n case BinaryOperator.Or:\n opStr = '||';\n break;\n case BinaryOperator.Plus:\n opStr = '+';\n break;\n case BinaryOperator.Minus:\n opStr = '-';\n break;\n case BinaryOperator.Divide:\n opStr = '/';\n break;\n case BinaryOperator.Multiply:\n opStr = '*';\n break;\n case BinaryOperator.Modulo:\n opStr = '%';\n break;\n case BinaryOperator.Lower:\n opStr = '<';\n break;\n case BinaryOperator.LowerEquals:\n opStr = '<=';\n break;\n case BinaryOperator.Bigger:\n opStr = '>';\n break;\n case BinaryOperator.BiggerEquals:\n opStr = '>=';\n break;\n case BinaryOperator.NullishCoalesce:\n opStr = '??';\n break;\n default:\n throw new Error(`Unknown operator ${ast.operator}`);\n }\n if (ast.parens)\n ctx.print(ast, `(`);\n ast.lhs.visitExpression(this, ctx);\n ctx.print(ast, ` ${opStr} `);\n ast.rhs.visitExpression(this, ctx);\n if (ast.parens)\n ctx.print(ast, `)`);\n return null;\n }\n visitReadPropExpr(ast, ctx) {\n ast.receiver.visitExpression(this, ctx);\n ctx.print(ast, `.`);\n ctx.print(ast, ast.name);\n return null;\n }\n visitReadKeyExpr(ast, ctx) {\n ast.receiver.visitExpression(this, ctx);\n ctx.print(ast, `[`);\n ast.index.visitExpression(this, ctx);\n ctx.print(ast, `]`);\n return null;\n }\n visitLiteralArrayExpr(ast, ctx) {\n ctx.print(ast, `[`);\n this.visitAllExpressions(ast.entries, ctx, ',');\n ctx.print(ast, `]`);\n return null;\n }\n visitLiteralMapExpr(ast, ctx) {\n ctx.print(ast, `{`);\n this.visitAllObjects(entry => {\n ctx.print(ast, `${escapeIdentifier(entry.key, this._escapeDollarInStrings, entry.quoted)}:`);\n entry.value.visitExpression(this, ctx);\n }, ast.entries, ctx, ',');\n ctx.print(ast, `}`);\n return null;\n }\n visitCommaExpr(ast, ctx) {\n ctx.print(ast, '(');\n this.visitAllExpressions(ast.parts, ctx, ',');\n ctx.print(ast, ')');\n return null;\n }\n visitAllExpressions(expressions, ctx, separator) {\n this.visitAllObjects(expr => expr.visitExpression(this, ctx), expressions, ctx, separator);\n }\n visitAllObjects(handler, expressions, ctx, separator) {\n let incrementedIndent = false;\n for (let i = 0; i < expressions.length; i++) {\n if (i > 0) {\n if (ctx.lineLength() > 80) {\n ctx.print(null, separator, true);\n if (!incrementedIndent) {\n // continuation are marked with double indent.\n ctx.incIndent();\n ctx.incIndent();\n incrementedIndent = true;\n }\n }\n else {\n ctx.print(null, separator, false);\n }\n }\n handler(expressions[i]);\n }\n if (incrementedIndent) {\n // continuation are marked with double indent.\n ctx.decIndent();\n ctx.decIndent();\n }\n }\n visitAllStatements(statements, ctx) {\n statements.forEach((stmt) => stmt.visitStatement(this, ctx));\n }\n}\nfunction escapeIdentifier(input, escapeDollar, alwaysQuote = true) {\n if (input == null) {\n return null;\n }\n const body = input.replace(_SINGLE_QUOTE_ESCAPE_STRING_RE, (...match) => {\n if (match[0] == '$') {\n return escapeDollar ? '\\\\$' : '$';\n }\n else if (match[0] == '\\n') {\n return '\\\\n';\n }\n else if (match[0] == '\\r') {\n return '\\\\r';\n }\n else {\n return `\\\\${match[0]}`;\n }\n });\n const requiresQuotes = alwaysQuote || !_LEGAL_IDENTIFIER_RE.test(body);\n return requiresQuotes ? `'${body}'` : body;\n}\nfunction _createIndent(count) {\n let res = '';\n for (let i = 0; i < count; i++) {\n res += _INDENT_WITH;\n }\n return res;\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 typeWithParameters(type, numParams) {\n if (numParams === 0) {\n return expressionType(type);\n }\n const params = [];\n for (let i = 0; i < numParams; i++) {\n params.push(DYNAMIC_TYPE);\n }\n return expressionType(type, undefined, params);\n}\nconst ANIMATE_SYMBOL_PREFIX = '@';\nfunction prepareSyntheticPropertyName(name) {\n return `${ANIMATE_SYMBOL_PREFIX}${name}`;\n}\nfunction prepareSyntheticListenerName(name, phase) {\n return `${ANIMATE_SYMBOL_PREFIX}${name}.${phase}`;\n}\nfunction getSafePropertyAccessString(accessor, name) {\n const escapedName = escapeIdentifier(name, false, false);\n return escapedName !== name ? `${accessor}[${escapedName}]` : `${accessor}.${name}`;\n}\nfunction prepareSyntheticListenerFunctionName(name, phase) {\n return `animation_${name}_${phase}`;\n}\nfunction jitOnlyGuardedExpression(expr) {\n return guardedExpression('ngJitMode', expr);\n}\nfunction devOnlyGuardedExpression(expr) {\n return guardedExpression('ngDevMode', expr);\n}\nfunction guardedExpression(guard, expr) {\n const guardExpr = new ExternalExpr({ name: guard, moduleName: null });\n const guardNotDefined = new BinaryOperatorExpr(BinaryOperator.Identical, new TypeofExpr(guardExpr), literal('undefined'));\n const guardUndefinedOrTrue = new BinaryOperatorExpr(BinaryOperator.Or, guardNotDefined, guardExpr, /* type */ undefined, \n /* sourceSpan */ undefined, true);\n return new BinaryOperatorExpr(BinaryOperator.And, guardUndefinedOrTrue, expr);\n}\nfunction wrapReference(value) {\n const wrapped = new WrappedNodeExpr(value);\n return { value: wrapped, type: wrapped };\n}\nfunction refsToArray(refs, shouldForwardDeclare) {\n const values = literalArr(refs.map(ref => ref.value));\n return shouldForwardDeclare ? fn([], [new ReturnStatement(values)]) : values;\n}\nfunction createMayBeForwardRefExpression(expression, forwardRef) {\n return { expression, forwardRef };\n}\n/**\n * Convert a `MaybeForwardRefExpression` to an `Expression`, possibly wrapping its expression in a\n * `forwardRef()` call.\n *\n * If `MaybeForwardRefExpression.forwardRef` is `ForwardRefHandling.Unwrapped` then the expression\n * was originally wrapped in a `forwardRef()` call to prevent the value from being eagerly evaluated\n * in the code.\n *\n * See `packages/compiler-cli/src/ngtsc/annotations/src/injectable.ts` and\n * `packages/compiler/src/jit_compiler_facade.ts` for more information.\n */\nfunction convertFromMaybeForwardRefExpression({ expression, forwardRef }) {\n switch (forwardRef) {\n case 0 /* ForwardRefHandling.None */:\n case 1 /* ForwardRefHandling.Wrapped */:\n return expression;\n case 2 /* ForwardRefHandling.Unwrapped */:\n return generateForwardRef(expression);\n }\n}\n/**\n * Generate an expression that has the given `expr` wrapped in the following form:\n *\n * ```\n * forwardRef(() => expr)\n * ```\n */\nfunction generateForwardRef(expr) {\n return importExpr(Identifiers.forwardRef).callFn([fn([], [new ReturnStatement(expr)])]);\n}\n\nvar R3FactoryDelegateType;\n(function (R3FactoryDelegateType) {\n R3FactoryDelegateType[R3FactoryDelegateType[\"Class\"] = 0] = \"Class\";\n R3FactoryDelegateType[R3FactoryDelegateType[\"Function\"] = 1] = \"Function\";\n})(R3FactoryDelegateType || (R3FactoryDelegateType = {}));\nvar FactoryTarget$1;\n(function (FactoryTarget) {\n FactoryTarget[FactoryTarget[\"Directive\"] = 0] = \"Directive\";\n FactoryTarget[FactoryTarget[\"Component\"] = 1] = \"Component\";\n FactoryTarget[FactoryTarget[\"Injectable\"] = 2] = \"Injectable\";\n FactoryTarget[FactoryTarget[\"Pipe\"] = 3] = \"Pipe\";\n FactoryTarget[FactoryTarget[\"NgModule\"] = 4] = \"NgModule\";\n})(FactoryTarget$1 || (FactoryTarget$1 = {}));\n/**\n * Construct a factory function expression for the given `R3FactoryMetadata`.\n */\nfunction compileFactoryFunction(meta) {\n const t = variable('t');\n let baseFactoryVar = null;\n // The type to instantiate via constructor invocation. If there is no delegated factory, meaning\n // this type is always created by constructor invocation, then this is the type-to-create\n // parameter provided by the user (t) if specified, or the current type if not. If there is a\n // delegated factory (which is used to create the current type) then this is only the type-to-\n // create parameter (t).\n const typeForCtor = !isDelegatedFactoryMetadata(meta) ?\n new BinaryOperatorExpr(BinaryOperator.Or, t, meta.internalType) :\n t;\n let ctorExpr = null;\n if (meta.deps !== null) {\n // There is a constructor (either explicitly or implicitly defined).\n if (meta.deps !== 'invalid') {\n ctorExpr = new InstantiateExpr(typeForCtor, injectDependencies(meta.deps, meta.target));\n }\n }\n else {\n // There is no constructor, use the base class' factory to construct typeForCtor.\n baseFactoryVar = variable(`ɵ${meta.name}_BaseFactory`);\n ctorExpr = baseFactoryVar.callFn([typeForCtor]);\n }\n const body = [];\n let retExpr = null;\n function makeConditionalFactory(nonCtorExpr) {\n const r = variable('r');\n body.push(r.set(NULL_EXPR).toDeclStmt());\n const ctorStmt = ctorExpr !== null ? r.set(ctorExpr).toStmt() :\n importExpr(Identifiers.invalidFactory).callFn([]).toStmt();\n body.push(ifStmt(t, [ctorStmt], [r.set(nonCtorExpr).toStmt()]));\n return r;\n }\n if (isDelegatedFactoryMetadata(meta)) {\n // This type is created with a delegated factory. If a type parameter is not specified, call\n // the factory instead.\n const delegateArgs = injectDependencies(meta.delegateDeps, meta.target);\n // Either call `new delegate(...)` or `delegate(...)` depending on meta.delegateType.\n const factoryExpr = new (meta.delegateType === R3FactoryDelegateType.Class ?\n InstantiateExpr :\n InvokeFunctionExpr)(meta.delegate, delegateArgs);\n retExpr = makeConditionalFactory(factoryExpr);\n }\n else if (isExpressionFactoryMetadata(meta)) {\n // TODO(alxhub): decide whether to lower the value here or in the caller\n retExpr = makeConditionalFactory(meta.expression);\n }\n else {\n retExpr = ctorExpr;\n }\n if (retExpr === null) {\n // The expression cannot be formed so render an `ɵɵinvalidFactory()` call.\n body.push(importExpr(Identifiers.invalidFactory).callFn([]).toStmt());\n }\n else if (baseFactoryVar !== null) {\n // This factory uses a base factory, so call `ɵɵgetInheritedFactory()` to compute it.\n const getInheritedFactoryCall = importExpr(Identifiers.getInheritedFactory).callFn([meta.internalType]);\n // Memoize the base factoryFn: `baseFactory || (baseFactory = ɵɵgetInheritedFactory(...))`\n const baseFactory = new BinaryOperatorExpr(BinaryOperator.Or, baseFactoryVar, baseFactoryVar.set(getInheritedFactoryCall));\n body.push(new ReturnStatement(baseFactory.callFn([typeForCtor])));\n }\n else {\n // This is straightforward factory, just return it.\n body.push(new ReturnStatement(retExpr));\n }\n let factoryFn = fn([new FnParam('t', DYNAMIC_TYPE)], body, INFERRED_TYPE, undefined, `${meta.name}_Factory`);\n if (baseFactoryVar !== null) {\n // There is a base factory variable so wrap its declaration along with the factory function into\n // an IIFE.\n factoryFn = fn([], [\n new DeclareVarStmt(baseFactoryVar.name), new ReturnStatement(factoryFn)\n ]).callFn([], /* sourceSpan */ undefined, /* pure */ true);\n }\n return {\n expression: factoryFn,\n statements: [],\n type: createFactoryType(meta),\n };\n}\nfunction createFactoryType(meta) {\n const ctorDepsType = meta.deps !== null && meta.deps !== 'invalid' ? createCtorDepsType(meta.deps) : NONE_TYPE;\n return expressionType(importExpr(Identifiers.FactoryDeclaration, [typeWithParameters(meta.type.type, meta.typeArgumentCount), ctorDepsType]));\n}\nfunction injectDependencies(deps, target) {\n return deps.map((dep, index) => compileInjectDependency(dep, target, index));\n}\nfunction compileInjectDependency(dep, target, index) {\n // Interpret the dependency according to its resolved type.\n if (dep.token === null) {\n return importExpr(Identifiers.invalidFactoryDep).callFn([literal(index)]);\n }\n else if (dep.attributeNameType === null) {\n // Build up the injection flags according to the metadata.\n const flags = 0 /* InjectFlags.Default */ | (dep.self ? 2 /* InjectFlags.Self */ : 0) |\n (dep.skipSelf ? 4 /* InjectFlags.SkipSelf */ : 0) | (dep.host ? 1 /* InjectFlags.Host */ : 0) |\n (dep.optional ? 8 /* InjectFlags.Optional */ : 0) |\n (target === FactoryTarget$1.Pipe ? 16 /* InjectFlags.ForPipe */ : 0);\n // If this dependency is optional or otherwise has non-default flags, then additional\n // parameters describing how to inject the dependency must be passed to the inject function\n // that's being used.\n let flagsParam = (flags !== 0 /* InjectFlags.Default */ || dep.optional) ? literal(flags) : null;\n // Build up the arguments to the injectFn call.\n const injectArgs = [dep.token];\n if (flagsParam) {\n injectArgs.push(flagsParam);\n }\n const injectFn = getInjectFn(target);\n return importExpr(injectFn).callFn(injectArgs);\n }\n else {\n // The `dep.attributeTypeName` value is defined, which indicates that this is an `@Attribute()`\n // type dependency. For the generated JS we still want to use the `dep.token` value in case the\n // name given for the attribute is not a string literal. For example given `@Attribute(foo())`,\n // we want to generate `ɵɵinjectAttribute(foo())`.\n //\n // The `dep.attributeTypeName` is only actually used (in `createCtorDepType()`) to generate\n // typings.\n return importExpr(Identifiers.injectAttribute).callFn([dep.token]);\n }\n}\nfunction createCtorDepsType(deps) {\n let hasTypes = false;\n const attributeTypes = deps.map(dep => {\n const type = createCtorDepType(dep);\n if (type !== null) {\n hasTypes = true;\n return type;\n }\n else {\n return literal(null);\n }\n });\n if (hasTypes) {\n return expressionType(literalArr(attributeTypes));\n }\n else {\n return NONE_TYPE;\n }\n}\nfunction createCtorDepType(dep) {\n const entries = [];\n if (dep.attributeNameType !== null) {\n entries.push({ key: 'attribute', value: dep.attributeNameType, quoted: false });\n }\n if (dep.optional) {\n entries.push({ key: 'optional', value: literal(true), quoted: false });\n }\n if (dep.host) {\n entries.push({ key: 'host', value: literal(true), quoted: false });\n }\n if (dep.self) {\n entries.push({ key: 'self', value: literal(true), quoted: false });\n }\n if (dep.skipSelf) {\n entries.push({ key: 'skipSelf', value: literal(true), quoted: false });\n }\n return entries.length > 0 ? literalMap(entries) : null;\n}\nfunction isDelegatedFactoryMetadata(meta) {\n return meta.delegateType !== undefined;\n}\nfunction isExpressionFactoryMetadata(meta) {\n return meta.expression !== undefined;\n}\nfunction getInjectFn(target) {\n switch (target) {\n case FactoryTarget$1.Component:\n case FactoryTarget$1.Directive:\n case FactoryTarget$1.Pipe:\n return Identifiers.directiveInject;\n case FactoryTarget$1.NgModule:\n case FactoryTarget$1.Injectable:\n default:\n return Identifiers.inject;\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 is an R3 `Node`-like wrapper for a raw `html.Comment` node. We do not currently\n * require the implementation of a visitor for Comments as they are only collected at\n * the top-level of the R3 AST, and only if `Render3ParseOptions['collectCommentNodes']`\n * is true.\n */\nclass Comment$1 {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(_visitor) {\n throw new Error('visit() not implemented for Comment');\n }\n}\nclass Text$3 {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor) {\n return visitor.visitText(this);\n }\n}\nclass BoundText {\n constructor(value, sourceSpan, i18n) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitBoundText(this);\n }\n}\n/**\n * Represents a text attribute in the template.\n *\n * `valueSpan` may not be present in cases where there is no value `
`.\n * `keySpan` may also not be present for synthetic attributes from ICU expansions.\n */\nclass TextAttribute {\n constructor(name, value, sourceSpan, keySpan, valueSpan, i18n) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitTextAttribute(this);\n }\n}\nclass BoundAttribute {\n constructor(name, type, securityContext, value, unit, sourceSpan, keySpan, valueSpan, i18n) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n this.i18n = i18n;\n }\n static fromBoundElementProperty(prop, i18n) {\n if (prop.keySpan === undefined) {\n throw new Error(`Unexpected state: keySpan must be defined for bound attributes but was not for ${prop.name}: ${prop.sourceSpan}`);\n }\n return new BoundAttribute(prop.name, prop.type, prop.securityContext, prop.value, prop.unit, prop.sourceSpan, prop.keySpan, prop.valueSpan, i18n);\n }\n visit(visitor) {\n return visitor.visitBoundAttribute(this);\n }\n}\nclass BoundEvent {\n constructor(name, type, handler, target, phase, sourceSpan, handlerSpan, keySpan) {\n this.name = name;\n this.type = type;\n this.handler = handler;\n this.target = target;\n this.phase = phase;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n this.keySpan = keySpan;\n }\n static fromParsedEvent(event) {\n const target = event.type === 0 /* ParsedEventType.Regular */ ? event.targetOrPhase : null;\n const phase = event.type === 1 /* ParsedEventType.Animation */ ? event.targetOrPhase : null;\n if (event.keySpan === undefined) {\n throw new Error(`Unexpected state: keySpan must be defined for bound event but was not for ${event.name}: ${event.sourceSpan}`);\n }\n return new BoundEvent(event.name, event.type, event.handler, target, phase, event.sourceSpan, event.handlerSpan, event.keySpan);\n }\n visit(visitor) {\n return visitor.visitBoundEvent(this);\n }\n}\nclass Element$1 {\n constructor(name, attributes, inputs, outputs, children, references, sourceSpan, startSourceSpan, endSourceSpan, i18n) {\n this.name = name;\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.children = children;\n this.references = references;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitElement(this);\n }\n}\nclass Template {\n constructor(\n // tagName is the name of the container element, if applicable.\n // `null` is a special case for when there is a structural directive on an `ng-template` so\n // the renderer can differentiate between the synthetic template and the one written in the\n // file.\n tagName, attributes, inputs, outputs, templateAttrs, children, references, variables, sourceSpan, startSourceSpan, endSourceSpan, i18n) {\n this.tagName = tagName;\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.templateAttrs = templateAttrs;\n this.children = children;\n this.references = references;\n this.variables = variables;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitTemplate(this);\n }\n}\nclass Content {\n constructor(selector, attributes, sourceSpan, i18n) {\n this.selector = selector;\n this.attributes = attributes;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n this.name = 'ng-content';\n }\n visit(visitor) {\n return visitor.visitContent(this);\n }\n}\nclass Variable {\n constructor(name, value, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n visit(visitor) {\n return visitor.visitVariable(this);\n }\n}\nclass Reference {\n constructor(name, value, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n visit(visitor) {\n return visitor.visitReference(this);\n }\n}\nclass Icu$1 {\n constructor(vars, placeholders, sourceSpan, i18n) {\n this.vars = vars;\n this.placeholders = placeholders;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitIcu(this);\n }\n}\nclass NullVisitor {\n visitElement(element) { }\n visitTemplate(template) { }\n visitContent(content) { }\n visitVariable(variable) { }\n visitReference(reference) { }\n visitTextAttribute(attribute) { }\n visitBoundAttribute(attribute) { }\n visitBoundEvent(attribute) { }\n visitText(text) { }\n visitBoundText(text) { }\n visitIcu(icu) { }\n}\nclass RecursiveVisitor$1 {\n visitElement(element) {\n visitAll$1(this, element.attributes);\n visitAll$1(this, element.inputs);\n visitAll$1(this, element.outputs);\n visitAll$1(this, element.children);\n visitAll$1(this, element.references);\n }\n visitTemplate(template) {\n visitAll$1(this, template.attributes);\n visitAll$1(this, template.inputs);\n visitAll$1(this, template.outputs);\n visitAll$1(this, template.children);\n visitAll$1(this, template.references);\n visitAll$1(this, template.variables);\n }\n visitContent(content) { }\n visitVariable(variable) { }\n visitReference(reference) { }\n visitTextAttribute(attribute) { }\n visitBoundAttribute(attribute) { }\n visitBoundEvent(attribute) { }\n visitText(text) { }\n visitBoundText(text) { }\n visitIcu(icu) { }\n}\nclass TransformVisitor {\n visitElement(element) {\n const newAttributes = transformAll(this, element.attributes);\n const newInputs = transformAll(this, element.inputs);\n const newOutputs = transformAll(this, element.outputs);\n const newChildren = transformAll(this, element.children);\n const newReferences = transformAll(this, element.references);\n if (newAttributes != element.attributes || newInputs != element.inputs ||\n newOutputs != element.outputs || newChildren != element.children ||\n newReferences != element.references) {\n return new Element$1(element.name, newAttributes, newInputs, newOutputs, newChildren, newReferences, element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n }\n return element;\n }\n visitTemplate(template) {\n const newAttributes = transformAll(this, template.attributes);\n const newInputs = transformAll(this, template.inputs);\n const newOutputs = transformAll(this, template.outputs);\n const newTemplateAttrs = transformAll(this, template.templateAttrs);\n const newChildren = transformAll(this, template.children);\n const newReferences = transformAll(this, template.references);\n const newVariables = transformAll(this, template.variables);\n if (newAttributes != template.attributes || newInputs != template.inputs ||\n newOutputs != template.outputs || newTemplateAttrs != template.templateAttrs ||\n newChildren != template.children || newReferences != template.references ||\n newVariables != template.variables) {\n return new Template(template.tagName, newAttributes, newInputs, newOutputs, newTemplateAttrs, newChildren, newReferences, newVariables, template.sourceSpan, template.startSourceSpan, template.endSourceSpan);\n }\n return template;\n }\n visitContent(content) {\n return content;\n }\n visitVariable(variable) {\n return variable;\n }\n visitReference(reference) {\n return reference;\n }\n visitTextAttribute(attribute) {\n return attribute;\n }\n visitBoundAttribute(attribute) {\n return attribute;\n }\n visitBoundEvent(attribute) {\n return attribute;\n }\n visitText(text) {\n return text;\n }\n visitBoundText(text) {\n return text;\n }\n visitIcu(icu) {\n return icu;\n }\n}\nfunction visitAll$1(visitor, nodes) {\n const result = [];\n if (visitor.visit) {\n for (const node of nodes) {\n const newNode = visitor.visit(node) || node.visit(visitor);\n }\n }\n else {\n for (const node of nodes) {\n const newNode = node.visit(visitor);\n if (newNode) {\n result.push(newNode);\n }\n }\n }\n return result;\n}\nfunction transformAll(visitor, nodes) {\n const result = [];\n let changed = false;\n for (const node of nodes) {\n const newNode = node.visit(visitor);\n if (newNode) {\n result.push(newNode);\n }\n changed = changed || newNode != node;\n }\n return changed ? result : nodes;\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 Message {\n /**\n * @param nodes message AST\n * @param placeholders maps placeholder names to static content and their source spans\n * @param placeholderToMessage maps placeholder names to messages (used for nested ICU messages)\n * @param meaning\n * @param description\n * @param customId\n */\n constructor(nodes, placeholders, placeholderToMessage, meaning, description, customId) {\n this.nodes = nodes;\n this.placeholders = placeholders;\n this.placeholderToMessage = placeholderToMessage;\n this.meaning = meaning;\n this.description = description;\n this.customId = customId;\n this.id = this.customId;\n /** The ids to use if there are no custom id and if `i18nLegacyMessageIdFormat` is not empty */\n this.legacyIds = [];\n this.messageString = serializeMessage(this.nodes);\n if (nodes.length) {\n this.sources = [{\n filePath: nodes[0].sourceSpan.start.file.url,\n startLine: nodes[0].sourceSpan.start.line + 1,\n startCol: nodes[0].sourceSpan.start.col + 1,\n endLine: nodes[nodes.length - 1].sourceSpan.end.line + 1,\n endCol: nodes[0].sourceSpan.start.col + 1\n }];\n }\n else {\n this.sources = [];\n }\n }\n}\nclass Text$2 {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\n// TODO(vicb): do we really need this node (vs an array) ?\nclass Container {\n constructor(children, sourceSpan) {\n this.children = children;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitContainer(this, context);\n }\n}\nclass Icu {\n constructor(expression, type, cases, sourceSpan) {\n this.expression = expression;\n this.type = type;\n this.cases = cases;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitIcu(this, context);\n }\n}\nclass TagPlaceholder {\n constructor(tag, attrs, startName, closeName, children, isVoid, \n // TODO sourceSpan should cover all (we need a startSourceSpan and endSourceSpan)\n sourceSpan, startSourceSpan, endSourceSpan) {\n this.tag = tag;\n this.attrs = attrs;\n this.startName = startName;\n this.closeName = closeName;\n this.children = children;\n this.isVoid = isVoid;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitTagPlaceholder(this, context);\n }\n}\nclass Placeholder {\n constructor(value, name, sourceSpan) {\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitPlaceholder(this, context);\n }\n}\nclass IcuPlaceholder {\n constructor(value, name, sourceSpan) {\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitIcuPlaceholder(this, context);\n }\n}\n// Clone the AST\nclass CloneVisitor {\n visitText(text, context) {\n return new Text$2(text.value, text.sourceSpan);\n }\n visitContainer(container, context) {\n const children = container.children.map(n => n.visit(this, context));\n return new Container(children, container.sourceSpan);\n }\n visitIcu(icu, context) {\n const cases = {};\n Object.keys(icu.cases).forEach(key => cases[key] = icu.cases[key].visit(this, context));\n const msg = new Icu(icu.expression, icu.type, cases, icu.sourceSpan);\n msg.expressionPlaceholder = icu.expressionPlaceholder;\n return msg;\n }\n visitTagPlaceholder(ph, context) {\n const children = ph.children.map(n => n.visit(this, context));\n return new TagPlaceholder(ph.tag, ph.attrs, ph.startName, ph.closeName, children, ph.isVoid, ph.sourceSpan, ph.startSourceSpan, ph.endSourceSpan);\n }\n visitPlaceholder(ph, context) {\n return new Placeholder(ph.value, ph.name, ph.sourceSpan);\n }\n visitIcuPlaceholder(ph, context) {\n return new IcuPlaceholder(ph.value, ph.name, ph.sourceSpan);\n }\n}\n// Visit all the nodes recursively\nclass RecurseVisitor {\n visitText(text, context) { }\n visitContainer(container, context) {\n container.children.forEach(child => child.visit(this));\n }\n visitIcu(icu, context) {\n Object.keys(icu.cases).forEach(k => {\n icu.cases[k].visit(this);\n });\n }\n visitTagPlaceholder(ph, context) {\n ph.children.forEach(child => child.visit(this));\n }\n visitPlaceholder(ph, context) { }\n visitIcuPlaceholder(ph, context) { }\n}\n/**\n * Serialize the message to the Localize backtick string format that would appear in compiled code.\n */\nfunction serializeMessage(messageNodes) {\n const visitor = new LocalizeMessageStringVisitor();\n const str = messageNodes.map(n => n.visit(visitor)).join('');\n return str;\n}\nclass LocalizeMessageStringVisitor {\n visitText(text) {\n return text.value;\n }\n visitContainer(container) {\n return container.children.map(child => child.visit(this)).join('');\n }\n visitIcu(icu) {\n const strCases = Object.keys(icu.cases).map((k) => `${k} {${icu.cases[k].visit(this)}}`);\n return `{${icu.expressionPlaceholder}, ${icu.type}, ${strCases.join(' ')}}`;\n }\n visitTagPlaceholder(ph) {\n const children = ph.children.map(child => child.visit(this)).join('');\n return `{$${ph.startName}}${children}{$${ph.closeName}}`;\n }\n visitPlaceholder(ph) {\n return `{$${ph.name}}`;\n }\n visitIcuPlaceholder(ph) {\n return `{$${ph.name}}`;\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 Serializer {\n // Creates a name mapper, see `PlaceholderMapper`\n // Returning `null` means that no name mapping is used.\n createNameMapper(message) {\n return null;\n }\n}\n/**\n * A simple mapper that take a function to transform an internal name to a public name\n */\nclass SimplePlaceholderMapper extends RecurseVisitor {\n // create a mapping from the message\n constructor(message, mapName) {\n super();\n this.mapName = mapName;\n this.internalToPublic = {};\n this.publicToNextId = {};\n this.publicToInternal = {};\n message.nodes.forEach(node => node.visit(this));\n }\n toPublicName(internalName) {\n return this.internalToPublic.hasOwnProperty(internalName) ?\n this.internalToPublic[internalName] :\n null;\n }\n toInternalName(publicName) {\n return this.publicToInternal.hasOwnProperty(publicName) ? this.publicToInternal[publicName] :\n null;\n }\n visitText(text, context) {\n return null;\n }\n visitTagPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.startName);\n super.visitTagPlaceholder(ph, context);\n this.visitPlaceholderName(ph.closeName);\n }\n visitPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.name);\n }\n visitIcuPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.name);\n }\n // XMB placeholders could only contains A-Z, 0-9 and _\n visitPlaceholderName(internalName) {\n if (!internalName || this.internalToPublic.hasOwnProperty(internalName)) {\n return;\n }\n let publicName = this.mapName(internalName);\n if (this.publicToInternal.hasOwnProperty(publicName)) {\n // Create a new XMB when it has already been used\n const nextId = this.publicToNextId[publicName];\n this.publicToNextId[publicName] = nextId + 1;\n publicName = `${publicName}_${nextId}`;\n }\n else {\n this.publicToNextId[publicName] = 1;\n }\n this.internalToPublic[internalName] = publicName;\n this.publicToInternal[publicName] = internalName;\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 _Visitor$2 {\n visitTag(tag) {\n const strAttrs = this._serializeAttributes(tag.attrs);\n if (tag.children.length == 0) {\n return `<${tag.name}${strAttrs}/>`;\n }\n const strChildren = tag.children.map(node => node.visit(this));\n return `<${tag.name}${strAttrs}>${strChildren.join('')}`;\n }\n visitText(text) {\n return text.value;\n }\n visitDeclaration(decl) {\n return ``;\n }\n _serializeAttributes(attrs) {\n const strAttrs = Object.keys(attrs).map((name) => `${name}=\"${attrs[name]}\"`).join(' ');\n return strAttrs.length > 0 ? ' ' + strAttrs : '';\n }\n visitDoctype(doctype) {\n return ``;\n }\n}\nconst _visitor = new _Visitor$2();\nfunction serialize(nodes) {\n return nodes.map((node) => node.visit(_visitor)).join('');\n}\nclass Declaration {\n constructor(unescapedAttrs) {\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach((k) => {\n this.attrs[k] = escapeXml(unescapedAttrs[k]);\n });\n }\n visit(visitor) {\n return visitor.visitDeclaration(this);\n }\n}\nclass Doctype {\n constructor(rootTag, dtd) {\n this.rootTag = rootTag;\n this.dtd = dtd;\n }\n visit(visitor) {\n return visitor.visitDoctype(this);\n }\n}\nclass Tag {\n constructor(name, unescapedAttrs = {}, children = []) {\n this.name = name;\n this.children = children;\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach((k) => {\n this.attrs[k] = escapeXml(unescapedAttrs[k]);\n });\n }\n visit(visitor) {\n return visitor.visitTag(this);\n }\n}\nclass Text$1 {\n constructor(unescapedValue) {\n this.value = escapeXml(unescapedValue);\n }\n visit(visitor) {\n return visitor.visitText(this);\n }\n}\nclass CR extends Text$1 {\n constructor(ws = 0) {\n super(`\\n${new Array(ws + 1).join(' ')}`);\n }\n}\nconst _ESCAPED_CHARS = [\n [/&/g, '&'],\n [/\"/g, '"'],\n [/'/g, '''],\n [//g, '>'],\n];\n// Escape `_ESCAPED_CHARS` characters in the given text with encoded entities\nfunction escapeXml(text) {\n return _ESCAPED_CHARS.reduce((text, entry) => text.replace(entry[0], entry[1]), text);\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 _MESSAGES_TAG = 'messagebundle';\nconst _MESSAGE_TAG = 'msg';\nconst _PLACEHOLDER_TAG$3 = 'ph';\nconst _EXAMPLE_TAG = 'ex';\nconst _SOURCE_TAG$2 = 'source';\nconst _DOCTYPE = `\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n`;\nclass Xmb extends Serializer {\n write(messages, locale) {\n const exampleVisitor = new ExampleVisitor();\n const visitor = new _Visitor$1();\n let rootNode = new Tag(_MESSAGES_TAG);\n messages.forEach(message => {\n const attrs = { id: message.id };\n if (message.description) {\n attrs['desc'] = message.description;\n }\n if (message.meaning) {\n attrs['meaning'] = message.meaning;\n }\n let sourceTags = [];\n message.sources.forEach((source) => {\n sourceTags.push(new Tag(_SOURCE_TAG$2, {}, [new Text$1(`${source.filePath}:${source.startLine}${source.endLine !== source.startLine ? ',' + source.endLine : ''}`)]));\n });\n rootNode.children.push(new CR(2), new Tag(_MESSAGE_TAG, attrs, [...sourceTags, ...visitor.serialize(message.nodes)]));\n });\n rootNode.children.push(new CR());\n return serialize([\n new Declaration({ version: '1.0', encoding: 'UTF-8' }),\n new CR(),\n new Doctype(_MESSAGES_TAG, _DOCTYPE),\n new CR(),\n exampleVisitor.addDefaultExamples(rootNode),\n new CR(),\n ]);\n }\n load(content, url) {\n throw new Error('Unsupported');\n }\n digest(message) {\n return digest(message);\n }\n createNameMapper(message) {\n return new SimplePlaceholderMapper(message, toPublicName);\n }\n}\nclass _Visitor$1 {\n visitText(text, context) {\n return [new Text$1(text.value)];\n }\n visitContainer(container, context) {\n const nodes = [];\n container.children.forEach((node) => nodes.push(...node.visit(this)));\n return nodes;\n }\n visitIcu(icu, context) {\n const nodes = [new Text$1(`{${icu.expressionPlaceholder}, ${icu.type}, `)];\n Object.keys(icu.cases).forEach((c) => {\n nodes.push(new Text$1(`${c} {`), ...icu.cases[c].visit(this), new Text$1(`} `));\n });\n nodes.push(new Text$1(`}`));\n return nodes;\n }\n visitTagPlaceholder(ph, context) {\n const startTagAsText = new Text$1(`<${ph.tag}>`);\n const startEx = new Tag(_EXAMPLE_TAG, {}, [startTagAsText]);\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n const startTagPh = new Tag(_PLACEHOLDER_TAG$3, { name: ph.startName }, [startEx, startTagAsText]);\n if (ph.isVoid) {\n // void tags have no children nor closing tags\n return [startTagPh];\n }\n const closeTagAsText = new Text$1(``);\n const closeEx = new Tag(_EXAMPLE_TAG, {}, [closeTagAsText]);\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n const closeTagPh = new Tag(_PLACEHOLDER_TAG$3, { name: ph.closeName }, [closeEx, closeTagAsText]);\n return [startTagPh, ...this.serialize(ph.children), closeTagPh];\n }\n visitPlaceholder(ph, context) {\n const interpolationAsText = new Text$1(`{{${ph.value}}}`);\n // Example tag needs to be not-empty for TC.\n const exTag = new Tag(_EXAMPLE_TAG, {}, [interpolationAsText]);\n return [\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n new Tag(_PLACEHOLDER_TAG$3, { name: ph.name }, [exTag, interpolationAsText])\n ];\n }\n visitIcuPlaceholder(ph, context) {\n const icuExpression = ph.value.expression;\n const icuType = ph.value.type;\n const icuCases = Object.keys(ph.value.cases).map((value) => value + ' {...}').join(' ');\n const icuAsText = new Text$1(`{${icuExpression}, ${icuType}, ${icuCases}}`);\n const exTag = new Tag(_EXAMPLE_TAG, {}, [icuAsText]);\n return [\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n new Tag(_PLACEHOLDER_TAG$3, { name: ph.name }, [exTag, icuAsText])\n ];\n }\n serialize(nodes) {\n return [].concat(...nodes.map(node => node.visit(this)));\n }\n}\nfunction digest(message) {\n return decimalDigest(message);\n}\n// TC requires at least one non-empty example on placeholders\nclass ExampleVisitor {\n addDefaultExamples(node) {\n node.visit(this);\n return node;\n }\n visitTag(tag) {\n if (tag.name === _PLACEHOLDER_TAG$3) {\n if (!tag.children || tag.children.length == 0) {\n const exText = new Text$1(tag.attrs['name'] || '...');\n tag.children = [new Tag(_EXAMPLE_TAG, {}, [exText])];\n }\n }\n else if (tag.children) {\n tag.children.forEach(node => node.visit(this));\n }\n }\n visitText(text) { }\n visitDeclaration(decl) { }\n visitDoctype(doctype) { }\n}\n// XMB/XTB placeholders can only contain A-Z, 0-9 and _\nfunction toPublicName(internalName) {\n return internalName.toUpperCase().replace(/[^A-Z0-9_]/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/* Closure variables holding messages must be named `MSG_[A-Z0-9]+` */\nconst CLOSURE_TRANSLATION_VAR_PREFIX = 'MSG_';\n/**\n * Prefix for non-`goog.getMsg` i18n-related vars.\n * Note: the prefix uses lowercase characters intentionally due to a Closure behavior that\n * considers variables like `I18N_0` as constants and throws an error when their value changes.\n */\nconst TRANSLATION_VAR_PREFIX = 'i18n_';\n/** Name of the i18n attributes **/\nconst I18N_ATTR = 'i18n';\nconst I18N_ATTR_PREFIX = 'i18n-';\n/** Prefix of var expressions used in ICUs */\nconst I18N_ICU_VAR_PREFIX = 'VAR_';\n/** Prefix of ICU expressions for post processing */\nconst I18N_ICU_MAPPING_PREFIX = 'I18N_EXP_';\n/** Placeholder wrapper for i18n expressions **/\nconst I18N_PLACEHOLDER_SYMBOL = '�';\nfunction isI18nAttribute(name) {\n return name === I18N_ATTR || name.startsWith(I18N_ATTR_PREFIX);\n}\nfunction isI18nRootNode(meta) {\n return meta instanceof Message;\n}\nfunction isSingleI18nIcu(meta) {\n return isI18nRootNode(meta) && meta.nodes.length === 1 && meta.nodes[0] instanceof Icu;\n}\nfunction hasI18nMeta(node) {\n return !!node.i18n;\n}\nfunction hasI18nAttrs(element) {\n return element.attrs.some((attr) => isI18nAttribute(attr.name));\n}\nfunction icuFromI18nMessage(message) {\n return message.nodes[0];\n}\nfunction wrapI18nPlaceholder(content, contextId = 0) {\n const blockId = contextId > 0 ? `:${contextId}` : '';\n return `${I18N_PLACEHOLDER_SYMBOL}${content}${blockId}${I18N_PLACEHOLDER_SYMBOL}`;\n}\nfunction assembleI18nBoundString(strings, bindingStartIndex = 0, contextId = 0) {\n if (!strings.length)\n return '';\n let acc = '';\n const lastIdx = strings.length - 1;\n for (let i = 0; i < lastIdx; i++) {\n acc += `${strings[i]}${wrapI18nPlaceholder(bindingStartIndex + i, contextId)}`;\n }\n acc += strings[lastIdx];\n return acc;\n}\nfunction getSeqNumberGenerator(startsAt = 0) {\n let current = startsAt;\n return () => current++;\n}\nfunction placeholdersToParams(placeholders) {\n const params = {};\n placeholders.forEach((values, key) => {\n params[key] = literal(values.length > 1 ? `[${values.join('|')}]` : values[0]);\n });\n return params;\n}\nfunction updatePlaceholderMap(map, name, ...values) {\n const current = map.get(name) || [];\n current.push(...values);\n map.set(name, current);\n}\nfunction assembleBoundTextPlaceholders(meta, bindingStartIndex = 0, contextId = 0) {\n const startIdx = bindingStartIndex;\n const placeholders = new Map();\n const node = meta instanceof Message ? meta.nodes.find(node => node instanceof Container) : meta;\n if (node) {\n node\n .children\n .filter((child) => child instanceof Placeholder)\n .forEach((child, idx) => {\n const content = wrapI18nPlaceholder(startIdx + idx, contextId);\n updatePlaceholderMap(placeholders, child.name, content);\n });\n }\n return placeholders;\n}\n/**\n * Format the placeholder names in a map of placeholders to expressions.\n *\n * The placeholder names are converted from \"internal\" format (e.g. `START_TAG_DIV_1`) to \"external\"\n * format (e.g. `startTagDiv_1`).\n *\n * @param params A map of placeholder names to expressions.\n * @param useCamelCase whether to camelCase the placeholder name when formatting.\n * @returns A new map of formatted placeholder names to expressions.\n */\nfunction formatI18nPlaceholderNamesInMap(params = {}, useCamelCase) {\n const _params = {};\n if (params && Object.keys(params).length) {\n Object.keys(params).forEach(key => _params[formatI18nPlaceholderName(key, useCamelCase)] = params[key]);\n }\n return _params;\n}\n/**\n * Converts internal placeholder names to public-facing format\n * (for example to use in goog.getMsg call).\n * Example: `START_TAG_DIV_1` is converted to `startTagDiv_1`.\n *\n * @param name The placeholder name that should be formatted\n * @returns Formatted placeholder name\n */\nfunction formatI18nPlaceholderName(name, useCamelCase = true) {\n const publicName = toPublicName(name);\n if (!useCamelCase) {\n return publicName;\n }\n const chunks = publicName.split('_');\n if (chunks.length === 1) {\n // if no \"_\" found - just lowercase the value\n return name.toLowerCase();\n }\n let postfix;\n // eject last element if it's a number\n if (/^\\d+$/.test(chunks[chunks.length - 1])) {\n postfix = chunks.pop();\n }\n let raw = chunks.shift().toLowerCase();\n if (chunks.length) {\n raw += chunks.map(c => c.charAt(0).toUpperCase() + c.slice(1).toLowerCase()).join('');\n }\n return postfix ? `${raw}_${postfix}` : raw;\n}\n/**\n * Generates a prefix for translation const name.\n *\n * @param extra Additional local prefix that should be injected into translation var name\n * @returns Complete translation const prefix\n */\nfunction getTranslationConstPrefix(extra) {\n return `${CLOSURE_TRANSLATION_VAR_PREFIX}${extra}`.toUpperCase();\n}\n/**\n * Generate AST to declare a variable. E.g. `var I18N_1;`.\n * @param variable the name of the variable to declare.\n */\nfunction declareI18nVariable(variable) {\n return new DeclareVarStmt(variable.name, undefined, INFERRED_TYPE, undefined, variable.sourceSpan);\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 * Checks whether an object key contains potentially unsafe chars, thus the key should be wrapped in\n * quotes. Note: we do not wrap all keys into quotes, as it may have impact on minification and may\n * bot work in some cases when object keys are mangled by minifier.\n *\n * TODO(FW-1136): this is a temporary solution, we need to come up with a better way of working with\n * inputs that contain potentially unsafe chars.\n */\nconst UNSAFE_OBJECT_KEY_NAME_REGEXP = /[-.]/;\n/** Name of the temporary to use during data binding */\nconst TEMPORARY_NAME = '_t';\n/** Name of the context parameter passed into a template function */\nconst CONTEXT_NAME = 'ctx';\n/** Name of the RenderFlag passed into a template function */\nconst RENDER_FLAGS = 'rf';\n/** The prefix reference variables */\nconst REFERENCE_PREFIX = '_r';\n/** The name of the implicit context reference */\nconst IMPLICIT_REFERENCE = '$implicit';\n/** Non bindable attribute name **/\nconst NON_BINDABLE_ATTR = 'ngNonBindable';\n/** Name for the variable keeping track of the context returned by `ɵɵrestoreView`. */\nconst RESTORED_VIEW_CONTEXT_NAME = 'restoredCtx';\n/**\n * Maximum length of a single instruction chain. Because our output AST uses recursion, we're\n * limited in how many expressions we can nest before we reach the call stack limit. This\n * length is set very conservatively in order to reduce the chance of problems.\n */\nconst MAX_CHAIN_LENGTH = 500;\n/** Instructions that support chaining. */\nconst CHAINABLE_INSTRUCTIONS = new Set([\n Identifiers.element,\n Identifiers.elementStart,\n Identifiers.elementEnd,\n Identifiers.elementContainer,\n Identifiers.elementContainerStart,\n Identifiers.elementContainerEnd,\n Identifiers.i18nExp,\n Identifiers.listener,\n Identifiers.classProp,\n Identifiers.syntheticHostListener,\n Identifiers.hostProperty,\n Identifiers.syntheticHostProperty,\n Identifiers.property,\n Identifiers.propertyInterpolate1,\n Identifiers.propertyInterpolate2,\n Identifiers.propertyInterpolate3,\n Identifiers.propertyInterpolate4,\n Identifiers.propertyInterpolate5,\n Identifiers.propertyInterpolate6,\n Identifiers.propertyInterpolate7,\n Identifiers.propertyInterpolate8,\n Identifiers.propertyInterpolateV,\n Identifiers.attribute,\n Identifiers.attributeInterpolate1,\n Identifiers.attributeInterpolate2,\n Identifiers.attributeInterpolate3,\n Identifiers.attributeInterpolate4,\n Identifiers.attributeInterpolate5,\n Identifiers.attributeInterpolate6,\n Identifiers.attributeInterpolate7,\n Identifiers.attributeInterpolate8,\n Identifiers.attributeInterpolateV,\n Identifiers.styleProp,\n Identifiers.stylePropInterpolate1,\n Identifiers.stylePropInterpolate2,\n Identifiers.stylePropInterpolate3,\n Identifiers.stylePropInterpolate4,\n Identifiers.stylePropInterpolate5,\n Identifiers.stylePropInterpolate6,\n Identifiers.stylePropInterpolate7,\n Identifiers.stylePropInterpolate8,\n Identifiers.stylePropInterpolateV,\n Identifiers.textInterpolate,\n Identifiers.textInterpolate1,\n Identifiers.textInterpolate2,\n Identifiers.textInterpolate3,\n Identifiers.textInterpolate4,\n Identifiers.textInterpolate5,\n Identifiers.textInterpolate6,\n Identifiers.textInterpolate7,\n Identifiers.textInterpolate8,\n Identifiers.textInterpolateV,\n]);\n/** Generates a call to a single instruction. */\nfunction invokeInstruction(span, reference, params) {\n return importExpr(reference, null, span).callFn(params, span);\n}\n/**\n * Creates an allocator for a temporary variable.\n *\n * A variable declaration is added to the statements the first time the allocator is invoked.\n */\nfunction temporaryAllocator(statements, name) {\n let temp = null;\n return () => {\n if (!temp) {\n statements.push(new DeclareVarStmt(TEMPORARY_NAME, undefined, DYNAMIC_TYPE));\n temp = variable(name);\n }\n return temp;\n };\n}\nfunction invalid(arg) {\n throw new Error(`Invalid state: Visitor ${this.constructor.name} doesn't handle ${arg.constructor.name}`);\n}\nfunction asLiteral(value) {\n if (Array.isArray(value)) {\n return literalArr(value.map(asLiteral));\n }\n return literal(value, INFERRED_TYPE);\n}\nfunction conditionallyCreateMapObjectLiteral(keys, keepDeclared) {\n if (Object.getOwnPropertyNames(keys).length > 0) {\n return mapToExpression(keys, keepDeclared);\n }\n return null;\n}\nfunction mapToExpression(map, keepDeclared) {\n return literalMap(Object.getOwnPropertyNames(map).map(key => {\n // canonical syntax: `dirProp: publicProp`\n const value = map[key];\n let declaredName;\n let publicName;\n let minifiedName;\n let needsDeclaredName;\n if (Array.isArray(value)) {\n [publicName, declaredName] = value;\n minifiedName = key;\n needsDeclaredName = publicName !== declaredName;\n }\n else {\n minifiedName = declaredName = key;\n publicName = value;\n needsDeclaredName = false;\n }\n return {\n key: minifiedName,\n // put quotes around keys that contain potentially unsafe characters\n quoted: UNSAFE_OBJECT_KEY_NAME_REGEXP.test(minifiedName),\n value: (keepDeclared && needsDeclaredName) ?\n literalArr([asLiteral(publicName), asLiteral(declaredName)]) :\n asLiteral(publicName)\n };\n }));\n}\n/**\n * Remove trailing null nodes as they are implied.\n */\nfunction trimTrailingNulls(parameters) {\n while (isNull(parameters[parameters.length - 1])) {\n parameters.pop();\n }\n return parameters;\n}\nfunction getQueryPredicate(query, constantPool) {\n if (Array.isArray(query.predicate)) {\n let predicate = [];\n query.predicate.forEach((selector) => {\n // Each item in predicates array may contain strings with comma-separated refs\n // (for ex. 'ref, ref1, ..., refN'), thus we extract individual refs and store them\n // as separate array entities\n const selectors = selector.split(',').map(token => literal(token.trim()));\n predicate.push(...selectors);\n });\n return constantPool.getConstLiteral(literalArr(predicate), true);\n }\n else {\n // The original predicate may have been wrapped in a `forwardRef()` call.\n switch (query.predicate.forwardRef) {\n case 0 /* ForwardRefHandling.None */:\n case 2 /* ForwardRefHandling.Unwrapped */:\n return query.predicate.expression;\n case 1 /* ForwardRefHandling.Wrapped */:\n return importExpr(Identifiers.resolveForwardRef).callFn([query.predicate.expression]);\n }\n }\n}\n/**\n * A representation for an object literal used during codegen of definition objects. The generic\n * type `T` allows to reference a documented type of the generated structure, such that the\n * property names that are set can be resolved to their documented declaration.\n */\nclass DefinitionMap {\n constructor() {\n this.values = [];\n }\n set(key, value) {\n if (value) {\n this.values.push({ key: key, value, quoted: false });\n }\n }\n toLiteralMap() {\n return literalMap(this.values);\n }\n}\n/**\n * Extract a map of properties to values for a given element or template node, which can be used\n * by the directive matching machinery.\n *\n * @param elOrTpl the element or template in question\n * @return an object set up for directive matching. For attributes on the element/template, this\n * object maps a property name to its (static) value. For any bindings, this map simply maps the\n * property name to an empty string.\n */\nfunction getAttrsForDirectiveMatching(elOrTpl) {\n const attributesMap = {};\n if (elOrTpl instanceof Template && elOrTpl.tagName !== 'ng-template') {\n elOrTpl.templateAttrs.forEach(a => attributesMap[a.name] = '');\n }\n else {\n elOrTpl.attributes.forEach(a => {\n if (!isI18nAttribute(a.name)) {\n attributesMap[a.name] = a.value;\n }\n });\n elOrTpl.inputs.forEach(i => {\n attributesMap[i.name] = '';\n });\n elOrTpl.outputs.forEach(o => {\n attributesMap[o.name] = '';\n });\n }\n return attributesMap;\n}\n/**\n * Gets the number of arguments expected to be passed to a generated instruction in the case of\n * interpolation instructions.\n * @param interpolation An interpolation ast\n */\nfunction getInterpolationArgsLength(interpolation) {\n const { expressions, strings } = interpolation;\n if (expressions.length === 1 && strings.length === 2 && strings[0] === '' && strings[1] === '') {\n // If the interpolation has one interpolated value, but the prefix and suffix are both empty\n // strings, we only pass one argument, to a special instruction like `propertyInterpolate` or\n // `textInterpolate`.\n return 1;\n }\n else {\n return expressions.length + strings.length;\n }\n}\n/**\n * Generates the final instruction call statements based on the passed in configuration.\n * Will try to chain instructions as much as possible, if chaining is supported.\n */\nfunction getInstructionStatements(instructions) {\n const statements = [];\n let pendingExpression = null;\n let pendingExpressionType = null;\n let chainLength = 0;\n for (const current of instructions) {\n const resolvedParams = (typeof current.paramsOrFn === 'function' ? current.paramsOrFn() : current.paramsOrFn) ??\n [];\n const params = Array.isArray(resolvedParams) ? resolvedParams : [resolvedParams];\n // If the current instruction is the same as the previous one\n // and it can be chained, add another call to the chain.\n if (chainLength < MAX_CHAIN_LENGTH && pendingExpressionType === current.reference &&\n CHAINABLE_INSTRUCTIONS.has(pendingExpressionType)) {\n // We'll always have a pending expression when there's a pending expression type.\n pendingExpression = pendingExpression.callFn(params, pendingExpression.sourceSpan);\n chainLength++;\n }\n else {\n if (pendingExpression !== null) {\n statements.push(pendingExpression.toStmt());\n }\n pendingExpression = invokeInstruction(current.span, current.reference, params);\n pendingExpressionType = current.reference;\n chainLength = 0;\n }\n }\n // Since the current instruction adds the previous one to the statements,\n // we may be left with the final one at the end that is still pending.\n if (pendingExpression !== null) {\n statements.push(pendingExpression.toStmt());\n }\n return statements;\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 compileInjectable(meta, resolveForwardRefs) {\n let result = null;\n const factoryMeta = {\n name: meta.name,\n type: meta.type,\n internalType: meta.internalType,\n typeArgumentCount: meta.typeArgumentCount,\n deps: [],\n target: FactoryTarget$1.Injectable,\n };\n if (meta.useClass !== undefined) {\n // meta.useClass has two modes of operation. Either deps are specified, in which case `new` is\n // used to instantiate the class with dependencies injected, or deps are not specified and\n // the factory of the class is used to instantiate it.\n //\n // A special case exists for useClass: Type where Type is the injectable type itself and no\n // deps are specified, in which case 'useClass' is effectively ignored.\n const useClassOnSelf = meta.useClass.expression.isEquivalent(meta.internalType);\n let deps = undefined;\n if (meta.deps !== undefined) {\n deps = meta.deps;\n }\n if (deps !== undefined) {\n // factory: () => new meta.useClass(...deps)\n result = compileFactoryFunction({\n ...factoryMeta,\n delegate: meta.useClass.expression,\n delegateDeps: deps,\n delegateType: R3FactoryDelegateType.Class,\n });\n }\n else if (useClassOnSelf) {\n result = compileFactoryFunction(factoryMeta);\n }\n else {\n result = {\n statements: [],\n expression: delegateToFactory(meta.type.value, meta.useClass.expression, resolveForwardRefs)\n };\n }\n }\n else if (meta.useFactory !== undefined) {\n if (meta.deps !== undefined) {\n result = compileFactoryFunction({\n ...factoryMeta,\n delegate: meta.useFactory,\n delegateDeps: meta.deps || [],\n delegateType: R3FactoryDelegateType.Function,\n });\n }\n else {\n result = {\n statements: [],\n expression: fn([], [new ReturnStatement(meta.useFactory.callFn([]))])\n };\n }\n }\n else if (meta.useValue !== undefined) {\n // Note: it's safe to use `meta.useValue` instead of the `USE_VALUE in meta` check used for\n // client code because meta.useValue is an Expression which will be defined even if the actual\n // value is undefined.\n result = compileFactoryFunction({\n ...factoryMeta,\n expression: meta.useValue.expression,\n });\n }\n else if (meta.useExisting !== undefined) {\n // useExisting is an `inject` call on the existing token.\n result = compileFactoryFunction({\n ...factoryMeta,\n expression: importExpr(Identifiers.inject).callFn([meta.useExisting.expression]),\n });\n }\n else {\n result = {\n statements: [],\n expression: delegateToFactory(meta.type.value, meta.internalType, resolveForwardRefs)\n };\n }\n const token = meta.internalType;\n const injectableProps = new DefinitionMap();\n injectableProps.set('token', token);\n injectableProps.set('factory', result.expression);\n // Only generate providedIn property if it has a non-null value\n if (meta.providedIn.expression.value !== null) {\n injectableProps.set('providedIn', convertFromMaybeForwardRefExpression(meta.providedIn));\n }\n const expression = importExpr(Identifiers.ɵɵdefineInjectable)\n .callFn([injectableProps.toLiteralMap()], undefined, true);\n return {\n expression,\n type: createInjectableType(meta),\n statements: result.statements,\n };\n}\nfunction createInjectableType(meta) {\n return new ExpressionType(importExpr(Identifiers.InjectableDeclaration, [typeWithParameters(meta.type.type, meta.typeArgumentCount)]));\n}\nfunction delegateToFactory(type, internalType, unwrapForwardRefs) {\n if (type.node === internalType.node) {\n // The types are the same, so we can simply delegate directly to the type's factory.\n // ```\n // factory: type.ɵfac\n // ```\n return internalType.prop('ɵfac');\n }\n if (!unwrapForwardRefs) {\n // The type is not wrapped in a `forwardRef()`, so we create a simple factory function that\n // accepts a sub-type as an argument.\n // ```\n // factory: function(t) { return internalType.ɵfac(t); }\n // ```\n return createFactoryFunction(internalType);\n }\n // The internalType is actually wrapped in a `forwardRef()` so we need to resolve that before\n // calling its factory.\n // ```\n // factory: function(t) { return core.resolveForwardRef(type).ɵfac(t); }\n // ```\n const unwrappedType = importExpr(Identifiers.resolveForwardRef).callFn([internalType]);\n return createFactoryFunction(unwrappedType);\n}\nfunction createFactoryFunction(type) {\n return fn([new FnParam('t', DYNAMIC_TYPE)], [new ReturnStatement(type.prop('ɵfac').callFn([variable('t')]))]);\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 UNUSABLE_INTERPOLATION_REGEXPS = [\n /^\\s*$/,\n /[<>]/,\n /^[{}]$/,\n /&(#|[a-z])/i,\n /^\\/\\//, // comment\n];\nfunction assertInterpolationSymbols(identifier, value) {\n if (value != null && !(Array.isArray(value) && value.length == 2)) {\n throw new Error(`Expected '${identifier}' to be an array, [start, end].`);\n }\n else if (value != null) {\n const start = value[0];\n const end = value[1];\n // Check for unusable interpolation symbols\n UNUSABLE_INTERPOLATION_REGEXPS.forEach(regexp => {\n if (regexp.test(start) || regexp.test(end)) {\n throw new Error(`['${start}', '${end}'] contains unusable interpolation symbol.`);\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 */\nclass InterpolationConfig {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n static fromArray(markers) {\n if (!markers) {\n return DEFAULT_INTERPOLATION_CONFIG;\n }\n assertInterpolationSymbols('interpolation', markers);\n return new InterpolationConfig(markers[0], markers[1]);\n }\n}\nconst DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig('{{', '}}');\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 $EOF = 0;\nconst $BSPACE = 8;\nconst $TAB = 9;\nconst $LF = 10;\nconst $VTAB = 11;\nconst $FF = 12;\nconst $CR = 13;\nconst $SPACE = 32;\nconst $BANG = 33;\nconst $DQ = 34;\nconst $HASH = 35;\nconst $$ = 36;\nconst $PERCENT = 37;\nconst $AMPERSAND = 38;\nconst $SQ = 39;\nconst $LPAREN = 40;\nconst $RPAREN = 41;\nconst $STAR = 42;\nconst $PLUS = 43;\nconst $COMMA = 44;\nconst $MINUS = 45;\nconst $PERIOD = 46;\nconst $SLASH = 47;\nconst $COLON = 58;\nconst $SEMICOLON = 59;\nconst $LT = 60;\nconst $EQ = 61;\nconst $GT = 62;\nconst $QUESTION = 63;\nconst $0 = 48;\nconst $7 = 55;\nconst $9 = 57;\nconst $A = 65;\nconst $E = 69;\nconst $F = 70;\nconst $X = 88;\nconst $Z = 90;\nconst $LBRACKET = 91;\nconst $BACKSLASH = 92;\nconst $RBRACKET = 93;\nconst $CARET = 94;\nconst $_ = 95;\nconst $a = 97;\nconst $b = 98;\nconst $e = 101;\nconst $f = 102;\nconst $n = 110;\nconst $r = 114;\nconst $t = 116;\nconst $u = 117;\nconst $v = 118;\nconst $x = 120;\nconst $z = 122;\nconst $LBRACE = 123;\nconst $BAR = 124;\nconst $RBRACE = 125;\nconst $NBSP = 160;\nconst $PIPE = 124;\nconst $TILDA = 126;\nconst $AT = 64;\nconst $BT = 96;\nfunction isWhitespace(code) {\n return (code >= $TAB && code <= $SPACE) || (code == $NBSP);\n}\nfunction isDigit(code) {\n return $0 <= code && code <= $9;\n}\nfunction isAsciiLetter(code) {\n return code >= $a && code <= $z || code >= $A && code <= $Z;\n}\nfunction isAsciiHexDigit(code) {\n return code >= $a && code <= $f || code >= $A && code <= $F || isDigit(code);\n}\nfunction isNewLine(code) {\n return code === $LF || code === $CR;\n}\nfunction isOctalDigit(code) {\n return $0 <= code && code <= $7;\n}\nfunction isQuote(code) {\n return code === $SQ || code === $DQ || code === $BT;\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 ParseLocation {\n constructor(file, offset, line, col) {\n this.file = file;\n this.offset = offset;\n this.line = line;\n this.col = col;\n }\n toString() {\n return this.offset != null ? `${this.file.url}@${this.line}:${this.col}` : this.file.url;\n }\n moveBy(delta) {\n const source = this.file.content;\n const len = source.length;\n let offset = this.offset;\n let line = this.line;\n let col = this.col;\n while (offset > 0 && delta < 0) {\n offset--;\n delta++;\n const ch = source.charCodeAt(offset);\n if (ch == $LF) {\n line--;\n const priorLine = source.substring(0, offset - 1).lastIndexOf(String.fromCharCode($LF));\n col = priorLine > 0 ? offset - priorLine : offset;\n }\n else {\n col--;\n }\n }\n while (offset < len && delta > 0) {\n const ch = source.charCodeAt(offset);\n offset++;\n delta--;\n if (ch == $LF) {\n line++;\n col = 0;\n }\n else {\n col++;\n }\n }\n return new ParseLocation(this.file, offset, line, col);\n }\n // Return the source around the location\n // Up to `maxChars` or `maxLines` on each side of the location\n getContext(maxChars, maxLines) {\n const content = this.file.content;\n let startOffset = this.offset;\n if (startOffset != null) {\n if (startOffset > content.length - 1) {\n startOffset = content.length - 1;\n }\n let endOffset = startOffset;\n let ctxChars = 0;\n let ctxLines = 0;\n while (ctxChars < maxChars && startOffset > 0) {\n startOffset--;\n ctxChars++;\n if (content[startOffset] == '\\n') {\n if (++ctxLines == maxLines) {\n break;\n }\n }\n }\n ctxChars = 0;\n ctxLines = 0;\n while (ctxChars < maxChars && endOffset < content.length - 1) {\n endOffset++;\n ctxChars++;\n if (content[endOffset] == '\\n') {\n if (++ctxLines == maxLines) {\n break;\n }\n }\n }\n return {\n before: content.substring(startOffset, this.offset),\n after: content.substring(this.offset, endOffset + 1),\n };\n }\n return null;\n }\n}\nclass ParseSourceFile {\n constructor(content, url) {\n this.content = content;\n this.url = url;\n }\n}\nclass ParseSourceSpan {\n /**\n * Create an object that holds information about spans of tokens/nodes captured during\n * lexing/parsing of text.\n *\n * @param start\n * The location of the start of the span (having skipped leading trivia).\n * Skipping leading trivia makes source-spans more \"user friendly\", since things like HTML\n * elements will appear to begin at the start of the opening tag, rather than at the start of any\n * leading trivia, which could include newlines.\n *\n * @param end\n * The location of the end of the span.\n *\n * @param fullStart\n * The start of the token without skipping the leading trivia.\n * This is used by tooling that splits tokens further, such as extracting Angular interpolations\n * from text tokens. Such tooling creates new source-spans relative to the original token's\n * source-span. If leading trivia characters have been skipped then the new source-spans may be\n * incorrectly offset.\n *\n * @param details\n * Additional information (such as identifier names) that should be associated with the span.\n */\n constructor(start, end, fullStart = start, details = null) {\n this.start = start;\n this.end = end;\n this.fullStart = fullStart;\n this.details = details;\n }\n toString() {\n return this.start.file.content.substring(this.start.offset, this.end.offset);\n }\n}\nvar ParseErrorLevel;\n(function (ParseErrorLevel) {\n ParseErrorLevel[ParseErrorLevel[\"WARNING\"] = 0] = \"WARNING\";\n ParseErrorLevel[ParseErrorLevel[\"ERROR\"] = 1] = \"ERROR\";\n})(ParseErrorLevel || (ParseErrorLevel = {}));\nclass ParseError {\n constructor(span, msg, level = ParseErrorLevel.ERROR) {\n this.span = span;\n this.msg = msg;\n this.level = level;\n }\n contextualMessage() {\n const ctx = this.span.start.getContext(100, 3);\n return ctx ? `${this.msg} (\"${ctx.before}[${ParseErrorLevel[this.level]} ->]${ctx.after}\")` :\n this.msg;\n }\n toString() {\n const details = this.span.details ? `, ${this.span.details}` : '';\n return `${this.contextualMessage()}: ${this.span.start}${details}`;\n }\n}\n/**\n * Generates Source Span object for a given R3 Type for JIT mode.\n *\n * @param kind Component or Directive.\n * @param typeName name of the Component or Directive.\n * @param sourceUrl reference to Component or Directive source.\n * @returns instance of ParseSourceSpan that represent a given Component or Directive.\n */\nfunction r3JitTypeSourceSpan(kind, typeName, sourceUrl) {\n const sourceFileName = `in ${kind} ${typeName} in ${sourceUrl}`;\n const sourceFile = new ParseSourceFile('', sourceFileName);\n return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1));\n}\nlet _anonymousTypeIndex = 0;\nfunction identifierName(compileIdentifier) {\n if (!compileIdentifier || !compileIdentifier.reference) {\n return null;\n }\n const ref = compileIdentifier.reference;\n if (ref['__anonymousType']) {\n return ref['__anonymousType'];\n }\n if (ref['__forward_ref__']) {\n // We do not want to try to stringify a `forwardRef()` function because that would cause the\n // inner function to be evaluated too early, defeating the whole point of the `forwardRef`.\n return '__forward_ref__';\n }\n let identifier = stringify(ref);\n if (identifier.indexOf('(') >= 0) {\n // case: anonymous functions!\n identifier = `anonymous_${_anonymousTypeIndex++}`;\n ref['__anonymousType'] = identifier;\n }\n else {\n identifier = sanitizeIdentifier(identifier);\n }\n return identifier;\n}\nfunction sanitizeIdentifier(name) {\n return name.replace(/\\W/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 * In TypeScript, tagged template functions expect a \"template object\", which is an array of\n * \"cooked\" strings plus a `raw` property that contains an array of \"raw\" strings. This is\n * typically constructed with a function called `__makeTemplateObject(cooked, raw)`, but it may not\n * be available in all environments.\n *\n * This is a JavaScript polyfill that uses __makeTemplateObject when it's available, but otherwise\n * creates an inline helper with the same functionality.\n *\n * In the inline function, if `Object.defineProperty` is available we use that to attach the `raw`\n * array.\n */\nconst makeTemplateObjectPolyfill = '(this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e})';\nclass AbstractJsEmitterVisitor extends AbstractEmitterVisitor {\n constructor() {\n super(false);\n }\n visitWrappedNodeExpr(ast, ctx) {\n throw new Error('Cannot emit a WrappedNodeExpr in Javascript.');\n }\n visitDeclareVarStmt(stmt, ctx) {\n ctx.print(stmt, `var ${stmt.name}`);\n if (stmt.value) {\n ctx.print(stmt, ' = ');\n stmt.value.visitExpression(this, ctx);\n }\n ctx.println(stmt, `;`);\n return null;\n }\n visitTaggedTemplateExpr(ast, ctx) {\n // The following convoluted piece of code is effectively the downlevelled equivalent of\n // ```\n // tag`...`\n // ```\n // which is effectively like:\n // ```\n // tag(__makeTemplateObject(cooked, raw), expression1, expression2, ...);\n // ```\n const elements = ast.template.elements;\n ast.tag.visitExpression(this, ctx);\n ctx.print(ast, `(${makeTemplateObjectPolyfill}(`);\n ctx.print(ast, `[${elements.map(part => escapeIdentifier(part.text, false)).join(', ')}], `);\n ctx.print(ast, `[${elements.map(part => escapeIdentifier(part.rawText, false)).join(', ')}])`);\n ast.template.expressions.forEach(expression => {\n ctx.print(ast, ', ');\n expression.visitExpression(this, ctx);\n });\n ctx.print(ast, ')');\n return null;\n }\n visitFunctionExpr(ast, ctx) {\n ctx.print(ast, `function${ast.name ? ' ' + ast.name : ''}(`);\n this._visitParams(ast.params, ctx);\n ctx.println(ast, `) {`);\n ctx.incIndent();\n this.visitAllStatements(ast.statements, ctx);\n ctx.decIndent();\n ctx.print(ast, `}`);\n return null;\n }\n visitDeclareFunctionStmt(stmt, ctx) {\n ctx.print(stmt, `function ${stmt.name}(`);\n this._visitParams(stmt.params, ctx);\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.statements, ctx);\n ctx.decIndent();\n ctx.println(stmt, `}`);\n return null;\n }\n visitLocalizedString(ast, ctx) {\n // The following convoluted piece of code is effectively the downlevelled equivalent of\n // ```\n // $localize `...`\n // ```\n // which is effectively like:\n // ```\n // $localize(__makeTemplateObject(cooked, raw), expression1, expression2, ...);\n // ```\n ctx.print(ast, `$localize(${makeTemplateObjectPolyfill}(`);\n const parts = [ast.serializeI18nHead()];\n for (let i = 1; i < ast.messageParts.length; i++) {\n parts.push(ast.serializeI18nTemplatePart(i));\n }\n ctx.print(ast, `[${parts.map(part => escapeIdentifier(part.cooked, false)).join(', ')}], `);\n ctx.print(ast, `[${parts.map(part => escapeIdentifier(part.raw, false)).join(', ')}])`);\n ast.expressions.forEach(expression => {\n ctx.print(ast, ', ');\n expression.visitExpression(this, ctx);\n });\n ctx.print(ast, ')');\n return null;\n }\n _visitParams(params, ctx) {\n this.visitAllObjects(param => ctx.print(null, param.name), params, ctx, ',');\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 * The Trusted Types policy, or null if Trusted Types are not\n * enabled/supported, or undefined if the policy has not been created yet.\n */\nlet policy;\n/**\n * Returns the Trusted Types policy, or null if Trusted Types are not\n * enabled/supported. The first call to this function will create the policy.\n */\nfunction getPolicy() {\n if (policy === undefined) {\n policy = null;\n if (_global.trustedTypes) {\n try {\n policy =\n _global.trustedTypes.createPolicy('angular#unsafe-jit', {\n createScript: (s) => s,\n });\n }\n catch {\n // trustedTypes.createPolicy throws if called with a name that is\n // already registered, even in report-only mode. Until the API changes,\n // catch the error not to break the applications functionally. In such\n // cases, the code will fall back to using strings.\n }\n }\n }\n return policy;\n}\n/**\n * Unsafely promote a string to a TrustedScript, falling back to strings when\n * Trusted Types are not available.\n * @security In particular, it must be assured that the provided string will\n * never cause an XSS vulnerability if used in a context that will be\n * interpreted and executed as a script by a browser, e.g. when calling eval.\n */\nfunction trustedScriptFromString(script) {\n return getPolicy()?.createScript(script) || script;\n}\n/**\n * Unsafely call the Function constructor with the given string arguments.\n * @security This is a security-sensitive function; any use of this function\n * must go through security review. In particular, it must be assured that it\n * is only called from the JIT compiler, as use in other code can lead to XSS\n * vulnerabilities.\n */\nfunction newTrustedFunctionForJIT(...args) {\n if (!_global.trustedTypes) {\n // In environments that don't support Trusted Types, fall back to the most\n // straightforward implementation:\n return new Function(...args);\n }\n // Chrome currently does not support passing TrustedScript to the Function\n // constructor. The following implements the workaround proposed on the page\n // below, where the Chromium bug is also referenced:\n // https://github.com/w3c/webappsec-trusted-types/wiki/Trusted-Types-for-function-constructor\n const fnArgs = args.slice(0, -1).join(',');\n const fnBody = args[args.length - 1];\n const body = `(function anonymous(${fnArgs}\n) { ${fnBody}\n})`;\n // Using eval directly confuses the compiler and prevents this module from\n // being stripped out of JS binaries even if not used. The global['eval']\n // indirection fixes that.\n const fn = _global['eval'](trustedScriptFromString(body));\n if (fn.bind === undefined) {\n // Workaround for a browser bug that only exists in Chrome 83, where passing\n // a TrustedScript to eval just returns the TrustedScript back without\n // evaluating it. In that case, fall back to the most straightforward\n // implementation:\n return new Function(...args);\n }\n // To completely mimic the behavior of calling \"new Function\", two more\n // things need to happen:\n // 1. Stringifying the resulting function should return its source code\n fn.toString = () => body;\n // 2. When calling the resulting function, `this` should refer to `global`\n return fn.bind(_global);\n // When Trusted Types support in Function constructors is widely available,\n // the implementation of this function can be simplified to:\n // return new Function(...args.map(a => trustedScriptFromString(a)));\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 helper class to manage the evaluation of JIT generated code.\n */\nclass JitEvaluator {\n /**\n *\n * @param sourceUrl The URL of the generated code.\n * @param statements An array of Angular statement AST nodes to be evaluated.\n * @param refResolver Resolves `o.ExternalReference`s into values.\n * @param createSourceMaps If true then create a source-map for the generated code and include it\n * inline as a source-map comment.\n * @returns A map of all the variables in the generated code.\n */\n evaluateStatements(sourceUrl, statements, refResolver, createSourceMaps) {\n const converter = new JitEmitterVisitor(refResolver);\n const ctx = EmitterVisitorContext.createRoot();\n // Ensure generated code is in strict mode\n if (statements.length > 0 && !isUseStrictStatement(statements[0])) {\n statements = [\n literal('use strict').toStmt(),\n ...statements,\n ];\n }\n converter.visitAllStatements(statements, ctx);\n converter.createReturnStmt(ctx);\n return this.evaluateCode(sourceUrl, ctx, converter.getArgs(), createSourceMaps);\n }\n /**\n * Evaluate a piece of JIT generated code.\n * @param sourceUrl The URL of this generated code.\n * @param ctx A context object that contains an AST of the code to be evaluated.\n * @param vars A map containing the names and values of variables that the evaluated code might\n * reference.\n * @param createSourceMap If true then create a source-map for the generated code and include it\n * inline as a source-map comment.\n * @returns The result of evaluating the code.\n */\n evaluateCode(sourceUrl, ctx, vars, createSourceMap) {\n let fnBody = `\"use strict\";${ctx.toSource()}\\n//# sourceURL=${sourceUrl}`;\n const fnArgNames = [];\n const fnArgValues = [];\n for (const argName in vars) {\n fnArgValues.push(vars[argName]);\n fnArgNames.push(argName);\n }\n if (createSourceMap) {\n // using `new Function(...)` generates a header, 1 line of no arguments, 2 lines otherwise\n // E.g. ```\n // function anonymous(a,b,c\n // /**/) { ... }```\n // We don't want to hard code this fact, so we auto detect it via an empty function first.\n const emptyFn = newTrustedFunctionForJIT(...fnArgNames.concat('return null;')).toString();\n const headerLines = emptyFn.slice(0, emptyFn.indexOf('return null;')).split('\\n').length - 1;\n fnBody += `\\n${ctx.toSourceMapGenerator(sourceUrl, headerLines).toJsComment()}`;\n }\n const fn = newTrustedFunctionForJIT(...fnArgNames.concat(fnBody));\n return this.executeFunction(fn, fnArgValues);\n }\n /**\n * Execute a JIT generated function by calling it.\n *\n * This method can be overridden in tests to capture the functions that are generated\n * by this `JitEvaluator` class.\n *\n * @param fn A function to execute.\n * @param args The arguments to pass to the function being executed.\n * @returns The return value of the executed function.\n */\n executeFunction(fn, args) {\n return fn(...args);\n }\n}\n/**\n * An Angular AST visitor that converts AST nodes into executable JavaScript code.\n */\nclass JitEmitterVisitor extends AbstractJsEmitterVisitor {\n constructor(refResolver) {\n super();\n this.refResolver = refResolver;\n this._evalArgNames = [];\n this._evalArgValues = [];\n this._evalExportedVars = [];\n }\n createReturnStmt(ctx) {\n const stmt = new ReturnStatement(new LiteralMapExpr(this._evalExportedVars.map(resultVar => new LiteralMapEntry(resultVar, variable(resultVar), false))));\n stmt.visitStatement(this, ctx);\n }\n getArgs() {\n const result = {};\n for (let i = 0; i < this._evalArgNames.length; i++) {\n result[this._evalArgNames[i]] = this._evalArgValues[i];\n }\n return result;\n }\n visitExternalExpr(ast, ctx) {\n this._emitReferenceToExternal(ast, this.refResolver.resolveExternalReference(ast.value), ctx);\n return null;\n }\n visitWrappedNodeExpr(ast, ctx) {\n this._emitReferenceToExternal(ast, ast.node, ctx);\n return null;\n }\n visitDeclareVarStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareVarStmt(stmt, ctx);\n }\n visitDeclareFunctionStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareFunctionStmt(stmt, ctx);\n }\n _emitReferenceToExternal(ast, value, ctx) {\n let id = this._evalArgValues.indexOf(value);\n if (id === -1) {\n id = this._evalArgValues.length;\n this._evalArgValues.push(value);\n const name = identifierName({ reference: value }) || 'val';\n this._evalArgNames.push(`jit_${name}_${id}`);\n }\n ctx.print(ast, this._evalArgNames[id]);\n }\n}\nfunction isUseStrictStatement(statement) {\n return statement.isEquivalent(literal('use strict').toStmt());\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 compileInjector(meta) {\n const definitionMap = new DefinitionMap();\n if (meta.providers !== null) {\n definitionMap.set('providers', meta.providers);\n }\n if (meta.imports.length > 0) {\n definitionMap.set('imports', literalArr(meta.imports));\n }\n const expression = importExpr(Identifiers.defineInjector).callFn([definitionMap.toLiteralMap()], undefined, true);\n const type = createInjectorType(meta);\n return { expression, type, statements: [] };\n}\nfunction createInjectorType(meta) {\n return new ExpressionType(importExpr(Identifiers.InjectorDeclaration, [new ExpressionType(meta.type.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 * Implementation of `CompileReflector` which resolves references to @angular/core\n * symbols at runtime, according to a consumer-provided mapping.\n *\n * Only supports `resolveExternalReference`, all other methods throw.\n */\nclass R3JitReflector {\n constructor(context) {\n this.context = context;\n }\n resolveExternalReference(ref) {\n // This reflector only handles @angular/core imports.\n if (ref.moduleName !== '@angular/core') {\n throw new Error(`Cannot resolve external reference to ${ref.moduleName}, only references to @angular/core are supported.`);\n }\n if (!this.context.hasOwnProperty(ref.name)) {\n throw new Error(`No value provided for @angular/core symbol '${ref.name}'.`);\n }\n return this.context[ref.name];\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 * How the selector scope of an NgModule (its declarations, imports, and exports) should be emitted\n * as a part of the NgModule definition.\n */\nvar R3SelectorScopeMode;\n(function (R3SelectorScopeMode) {\n /**\n * Emit the declarations inline into the module definition.\n *\n * This option is useful in certain contexts where it's known that JIT support is required. The\n * tradeoff here is that this emit style prevents directives and pipes from being tree-shaken if\n * they are unused, but the NgModule is used.\n */\n R3SelectorScopeMode[R3SelectorScopeMode[\"Inline\"] = 0] = \"Inline\";\n /**\n * Emit the declarations using a side effectful function call, `ɵɵsetNgModuleScope`, that is\n * guarded with the `ngJitMode` flag.\n *\n * This form of emit supports JIT and can be optimized away if the `ngJitMode` flag is set to\n * false, which allows unused directives and pipes to be tree-shaken.\n */\n R3SelectorScopeMode[R3SelectorScopeMode[\"SideEffect\"] = 1] = \"SideEffect\";\n /**\n * Don't generate selector scopes at all.\n *\n * This is useful for contexts where JIT support is known to be unnecessary.\n */\n R3SelectorScopeMode[R3SelectorScopeMode[\"Omit\"] = 2] = \"Omit\";\n})(R3SelectorScopeMode || (R3SelectorScopeMode = {}));\n/**\n * Construct an `R3NgModuleDef` for the given `R3NgModuleMetadata`.\n */\nfunction compileNgModule(meta) {\n const { adjacentType, internalType, bootstrap, declarations, imports, exports, schemas, containsForwardDecls, selectorScopeMode, id } = meta;\n const statements = [];\n const definitionMap = new DefinitionMap();\n definitionMap.set('type', internalType);\n if (bootstrap.length > 0) {\n definitionMap.set('bootstrap', refsToArray(bootstrap, containsForwardDecls));\n }\n if (selectorScopeMode === R3SelectorScopeMode.Inline) {\n // If requested to emit scope information inline, pass the `declarations`, `imports` and\n // `exports` to the `ɵɵdefineNgModule()` call directly.\n if (declarations.length > 0) {\n definitionMap.set('declarations', refsToArray(declarations, containsForwardDecls));\n }\n if (imports.length > 0) {\n definitionMap.set('imports', refsToArray(imports, containsForwardDecls));\n }\n if (exports.length > 0) {\n definitionMap.set('exports', refsToArray(exports, containsForwardDecls));\n }\n }\n else if (selectorScopeMode === R3SelectorScopeMode.SideEffect) {\n // In this mode, scope information is not passed into `ɵɵdefineNgModule` as it\n // would prevent tree-shaking of the declarations, imports and exports references. Instead, it's\n // patched onto the NgModule definition with a `ɵɵsetNgModuleScope` call that's guarded by the\n // `ngJitMode` flag.\n const setNgModuleScopeCall = generateSetNgModuleScopeCall(meta);\n if (setNgModuleScopeCall !== null) {\n statements.push(setNgModuleScopeCall);\n }\n }\n else {\n // Selector scope emit was not requested, so skip it.\n }\n if (schemas !== null && schemas.length > 0) {\n definitionMap.set('schemas', literalArr(schemas.map(ref => ref.value)));\n }\n if (id !== null) {\n definitionMap.set('id', id);\n // Generate a side-effectful call to register this NgModule by its id, as per the semantics of\n // NgModule ids.\n statements.push(importExpr(Identifiers.registerNgModuleType).callFn([adjacentType, id]).toStmt());\n }\n const expression = importExpr(Identifiers.defineNgModule).callFn([definitionMap.toLiteralMap()], undefined, true);\n const type = createNgModuleType(meta);\n return { expression, type, statements };\n}\n/**\n * This function is used in JIT mode to generate the call to `ɵɵdefineNgModule()` from a call to\n * `ɵɵngDeclareNgModule()`.\n */\nfunction compileNgModuleDeclarationExpression(meta) {\n const definitionMap = new DefinitionMap();\n definitionMap.set('type', new WrappedNodeExpr(meta.type));\n if (meta.bootstrap !== undefined) {\n definitionMap.set('bootstrap', new WrappedNodeExpr(meta.bootstrap));\n }\n if (meta.declarations !== undefined) {\n definitionMap.set('declarations', new WrappedNodeExpr(meta.declarations));\n }\n if (meta.imports !== undefined) {\n definitionMap.set('imports', new WrappedNodeExpr(meta.imports));\n }\n if (meta.exports !== undefined) {\n definitionMap.set('exports', new WrappedNodeExpr(meta.exports));\n }\n if (meta.schemas !== undefined) {\n definitionMap.set('schemas', new WrappedNodeExpr(meta.schemas));\n }\n if (meta.id !== undefined) {\n definitionMap.set('id', new WrappedNodeExpr(meta.id));\n }\n return importExpr(Identifiers.defineNgModule).callFn([definitionMap.toLiteralMap()]);\n}\nfunction createNgModuleType({ type: moduleType, declarations, exports, imports, includeImportTypes, publicDeclarationTypes }) {\n return new ExpressionType(importExpr(Identifiers.NgModuleDeclaration, [\n new ExpressionType(moduleType.type),\n publicDeclarationTypes === null ? tupleTypeOf(declarations) :\n tupleOfTypes(publicDeclarationTypes),\n includeImportTypes ? tupleTypeOf(imports) : NONE_TYPE,\n tupleTypeOf(exports),\n ]));\n}\n/**\n * Generates a function call to `ɵɵsetNgModuleScope` with all necessary information so that the\n * transitive module scope can be computed during runtime in JIT mode. This call is marked pure\n * such that the references to declarations, imports and exports may be elided causing these\n * symbols to become tree-shakeable.\n */\nfunction generateSetNgModuleScopeCall(meta) {\n const { adjacentType: moduleType, declarations, imports, exports, containsForwardDecls } = meta;\n const scopeMap = new DefinitionMap();\n if (declarations.length > 0) {\n scopeMap.set('declarations', refsToArray(declarations, containsForwardDecls));\n }\n if (imports.length > 0) {\n scopeMap.set('imports', refsToArray(imports, containsForwardDecls));\n }\n if (exports.length > 0) {\n scopeMap.set('exports', refsToArray(exports, containsForwardDecls));\n }\n if (Object.keys(scopeMap.values).length === 0) {\n return null;\n }\n // setNgModuleScope(...)\n const fnCall = new InvokeFunctionExpr(\n /* fn */ importExpr(Identifiers.setNgModuleScope), \n /* args */ [moduleType, scopeMap.toLiteralMap()]);\n // (ngJitMode guard) && setNgModuleScope(...)\n const guardedCall = jitOnlyGuardedExpression(fnCall);\n // function() { (ngJitMode guard) && setNgModuleScope(...); }\n const iife = new FunctionExpr(\n /* params */ [], \n /* statements */ [guardedCall.toStmt()]);\n // (function() { (ngJitMode guard) && setNgModuleScope(...); })()\n const iifeCall = new InvokeFunctionExpr(\n /* fn */ iife, \n /* args */ []);\n return iifeCall.toStmt();\n}\nfunction tupleTypeOf(exp) {\n const types = exp.map(ref => typeofExpr(ref.type));\n return exp.length > 0 ? expressionType(literalArr(types)) : NONE_TYPE;\n}\nfunction tupleOfTypes(types) {\n const typeofTypes = types.map(type => typeofExpr(type));\n return types.length > 0 ? expressionType(literalArr(typeofTypes)) : NONE_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 */\nfunction compilePipeFromMetadata(metadata) {\n const definitionMapValues = [];\n // e.g. `name: 'myPipe'`\n definitionMapValues.push({ key: 'name', value: literal(metadata.pipeName), quoted: false });\n // e.g. `type: MyPipe`\n definitionMapValues.push({ key: 'type', value: metadata.type.value, quoted: false });\n // e.g. `pure: true`\n definitionMapValues.push({ key: 'pure', value: literal(metadata.pure), quoted: false });\n if (metadata.isStandalone) {\n definitionMapValues.push({ key: 'standalone', value: literal(true), quoted: false });\n }\n const expression = importExpr(Identifiers.definePipe).callFn([literalMap(definitionMapValues)], undefined, true);\n const type = createPipeType(metadata);\n return { expression, type, statements: [] };\n}\nfunction createPipeType(metadata) {\n return new ExpressionType(importExpr(Identifiers.PipeDeclaration, [\n typeWithParameters(metadata.type.type, metadata.typeArgumentCount),\n new ExpressionType(new LiteralExpr(metadata.pipeName)),\n new ExpressionType(new LiteralExpr(metadata.isStandalone)),\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 */\nvar R3TemplateDependencyKind;\n(function (R3TemplateDependencyKind) {\n R3TemplateDependencyKind[R3TemplateDependencyKind[\"Directive\"] = 0] = \"Directive\";\n R3TemplateDependencyKind[R3TemplateDependencyKind[\"Pipe\"] = 1] = \"Pipe\";\n R3TemplateDependencyKind[R3TemplateDependencyKind[\"NgModule\"] = 2] = \"NgModule\";\n})(R3TemplateDependencyKind || (R3TemplateDependencyKind = {}));\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 ParserError {\n constructor(message, input, errLocation, ctxLocation) {\n this.input = input;\n this.errLocation = errLocation;\n this.ctxLocation = ctxLocation;\n this.message = `Parser Error: ${message} ${errLocation} [${input}] in ${ctxLocation}`;\n }\n}\nclass ParseSpan {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n toAbsolute(absoluteOffset) {\n return new AbsoluteSourceSpan(absoluteOffset + this.start, absoluteOffset + this.end);\n }\n}\nclass AST {\n constructor(span, \n /**\n * Absolute location of the expression AST in a source code file.\n */\n sourceSpan) {\n this.span = span;\n this.sourceSpan = sourceSpan;\n }\n toString() {\n return 'AST';\n }\n}\nclass ASTWithName extends AST {\n constructor(span, sourceSpan, nameSpan) {\n super(span, sourceSpan);\n this.nameSpan = nameSpan;\n }\n}\nclass EmptyExpr extends AST {\n visit(visitor, context = null) {\n // do nothing\n }\n}\nclass ImplicitReceiver extends AST {\n visit(visitor, context = null) {\n return visitor.visitImplicitReceiver(this, context);\n }\n}\n/**\n * Receiver when something is accessed through `this` (e.g. `this.foo`). Note that this class\n * inherits from `ImplicitReceiver`, because accessing something through `this` is treated the\n * same as accessing it implicitly inside of an Angular template (e.g. `[attr.title]=\"this.title\"`\n * is the same as `[attr.title]=\"title\"`.). Inheriting allows for the `this` accesses to be treated\n * the same as implicit ones, except for a couple of exceptions like `$event` and `$any`.\n * TODO: we should find a way for this class not to extend from `ImplicitReceiver` in the future.\n */\nclass ThisReceiver extends ImplicitReceiver {\n visit(visitor, context = null) {\n return visitor.visitThisReceiver?.(this, context);\n }\n}\n/**\n * Multiple expressions separated by a semicolon.\n */\nclass Chain extends AST {\n constructor(span, sourceSpan, expressions) {\n super(span, sourceSpan);\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitChain(this, context);\n }\n}\nclass Conditional extends AST {\n constructor(span, sourceSpan, condition, trueExp, falseExp) {\n super(span, sourceSpan);\n this.condition = condition;\n this.trueExp = trueExp;\n this.falseExp = falseExp;\n }\n visit(visitor, context = null) {\n return visitor.visitConditional(this, context);\n }\n}\nclass PropertyRead extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n }\n visit(visitor, context = null) {\n return visitor.visitPropertyRead(this, context);\n }\n}\nclass PropertyWrite extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, value) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitPropertyWrite(this, context);\n }\n}\nclass SafePropertyRead extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n }\n visit(visitor, context = null) {\n return visitor.visitSafePropertyRead(this, context);\n }\n}\nclass KeyedRead extends AST {\n constructor(span, sourceSpan, receiver, key) {\n super(span, sourceSpan);\n this.receiver = receiver;\n this.key = key;\n }\n visit(visitor, context = null) {\n return visitor.visitKeyedRead(this, context);\n }\n}\nclass SafeKeyedRead extends AST {\n constructor(span, sourceSpan, receiver, key) {\n super(span, sourceSpan);\n this.receiver = receiver;\n this.key = key;\n }\n visit(visitor, context = null) {\n return visitor.visitSafeKeyedRead(this, context);\n }\n}\nclass KeyedWrite extends AST {\n constructor(span, sourceSpan, receiver, key, value) {\n super(span, sourceSpan);\n this.receiver = receiver;\n this.key = key;\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitKeyedWrite(this, context);\n }\n}\nclass BindingPipe extends ASTWithName {\n constructor(span, sourceSpan, exp, name, args, nameSpan) {\n super(span, sourceSpan, nameSpan);\n this.exp = exp;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitPipe(this, context);\n }\n}\nclass LiteralPrimitive extends AST {\n constructor(span, sourceSpan, value) {\n super(span, sourceSpan);\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralPrimitive(this, context);\n }\n}\nclass LiteralArray extends AST {\n constructor(span, sourceSpan, expressions) {\n super(span, sourceSpan);\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralArray(this, context);\n }\n}\nclass LiteralMap extends AST {\n constructor(span, sourceSpan, keys, values) {\n super(span, sourceSpan);\n this.keys = keys;\n this.values = values;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralMap(this, context);\n }\n}\nclass Interpolation extends AST {\n constructor(span, sourceSpan, strings, expressions) {\n super(span, sourceSpan);\n this.strings = strings;\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitInterpolation(this, context);\n }\n}\nclass Binary extends AST {\n constructor(span, sourceSpan, operation, left, right) {\n super(span, sourceSpan);\n this.operation = operation;\n this.left = left;\n this.right = right;\n }\n visit(visitor, context = null) {\n return visitor.visitBinary(this, context);\n }\n}\n/**\n * For backwards compatibility reasons, `Unary` inherits from `Binary` and mimics the binary AST\n * node that was originally used. This inheritance relation can be deleted in some future major,\n * after consumers have been given a chance to fully support Unary.\n */\nclass Unary extends Binary {\n /**\n * During the deprecation period this constructor is private, to avoid consumers from creating\n * a `Unary` with the fallback properties for `Binary`.\n */\n constructor(span, sourceSpan, operator, expr, binaryOp, binaryLeft, binaryRight) {\n super(span, sourceSpan, binaryOp, binaryLeft, binaryRight);\n this.operator = operator;\n this.expr = expr;\n // Redeclare the properties that are inherited from `Binary` as `never`, as consumers should not\n // depend on these fields when operating on `Unary`.\n this.left = null;\n this.right = null;\n this.operation = null;\n }\n /**\n * Creates a unary minus expression \"-x\", represented as `Binary` using \"0 - x\".\n */\n static createMinus(span, sourceSpan, expr) {\n return new Unary(span, sourceSpan, '-', expr, '-', new LiteralPrimitive(span, sourceSpan, 0), expr);\n }\n /**\n * Creates a unary plus expression \"+x\", represented as `Binary` using \"x - 0\".\n */\n static createPlus(span, sourceSpan, expr) {\n return new Unary(span, sourceSpan, '+', expr, '-', expr, new LiteralPrimitive(span, sourceSpan, 0));\n }\n visit(visitor, context = null) {\n if (visitor.visitUnary !== undefined) {\n return visitor.visitUnary(this, context);\n }\n return visitor.visitBinary(this, context);\n }\n}\nclass PrefixNot extends AST {\n constructor(span, sourceSpan, expression) {\n super(span, sourceSpan);\n this.expression = expression;\n }\n visit(visitor, context = null) {\n return visitor.visitPrefixNot(this, context);\n }\n}\nclass NonNullAssert extends AST {\n constructor(span, sourceSpan, expression) {\n super(span, sourceSpan);\n this.expression = expression;\n }\n visit(visitor, context = null) {\n return visitor.visitNonNullAssert(this, context);\n }\n}\nclass Call extends AST {\n constructor(span, sourceSpan, receiver, args, argumentSpan) {\n super(span, sourceSpan);\n this.receiver = receiver;\n this.args = args;\n this.argumentSpan = argumentSpan;\n }\n visit(visitor, context = null) {\n return visitor.visitCall(this, context);\n }\n}\nclass SafeCall extends AST {\n constructor(span, sourceSpan, receiver, args, argumentSpan) {\n super(span, sourceSpan);\n this.receiver = receiver;\n this.args = args;\n this.argumentSpan = argumentSpan;\n }\n visit(visitor, context = null) {\n return visitor.visitSafeCall(this, context);\n }\n}\n/**\n * Records the absolute position of a text span in a source file, where `start` and `end` are the\n * starting and ending byte offsets, respectively, of the text span in a source file.\n */\nclass AbsoluteSourceSpan {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n}\nclass ASTWithSource extends AST {\n constructor(ast, source, location, absoluteOffset, errors) {\n super(new ParseSpan(0, source === null ? 0 : source.length), new AbsoluteSourceSpan(absoluteOffset, source === null ? absoluteOffset : absoluteOffset + source.length));\n this.ast = ast;\n this.source = source;\n this.location = location;\n this.errors = errors;\n }\n visit(visitor, context = null) {\n if (visitor.visitASTWithSource) {\n return visitor.visitASTWithSource(this, context);\n }\n return this.ast.visit(visitor, context);\n }\n toString() {\n return `${this.source} in ${this.location}`;\n }\n}\nclass VariableBinding {\n /**\n * @param sourceSpan entire span of the binding.\n * @param key name of the LHS along with its span.\n * @param value optional value for the RHS along with its span.\n */\n constructor(sourceSpan, key, value) {\n this.sourceSpan = sourceSpan;\n this.key = key;\n this.value = value;\n }\n}\nclass ExpressionBinding {\n /**\n * @param sourceSpan entire span of the binding.\n * @param key binding name, like ngForOf, ngForTrackBy, ngIf, along with its\n * span. Note that the length of the span may not be the same as\n * `key.source.length`. For example,\n * 1. key.source = ngFor, key.span is for \"ngFor\"\n * 2. key.source = ngForOf, key.span is for \"of\"\n * 3. key.source = ngForTrackBy, key.span is for \"trackBy\"\n * @param value optional expression for the RHS.\n */\n constructor(sourceSpan, key, value) {\n this.sourceSpan = sourceSpan;\n this.key = key;\n this.value = value;\n }\n}\nclass RecursiveAstVisitor {\n visit(ast, context) {\n // The default implementation just visits every node.\n // Classes that extend RecursiveAstVisitor should override this function\n // to selectively visit the specified node.\n ast.visit(this, context);\n }\n visitUnary(ast, context) {\n this.visit(ast.expr, context);\n }\n visitBinary(ast, context) {\n this.visit(ast.left, context);\n this.visit(ast.right, context);\n }\n visitChain(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitConditional(ast, context) {\n this.visit(ast.condition, context);\n this.visit(ast.trueExp, context);\n this.visit(ast.falseExp, context);\n }\n visitPipe(ast, context) {\n this.visit(ast.exp, context);\n this.visitAll(ast.args, context);\n }\n visitImplicitReceiver(ast, context) { }\n visitThisReceiver(ast, context) { }\n visitInterpolation(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitKeyedRead(ast, context) {\n this.visit(ast.receiver, context);\n this.visit(ast.key, context);\n }\n visitKeyedWrite(ast, context) {\n this.visit(ast.receiver, context);\n this.visit(ast.key, context);\n this.visit(ast.value, context);\n }\n visitLiteralArray(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitLiteralMap(ast, context) {\n this.visitAll(ast.values, context);\n }\n visitLiteralPrimitive(ast, context) { }\n visitPrefixNot(ast, context) {\n this.visit(ast.expression, context);\n }\n visitNonNullAssert(ast, context) {\n this.visit(ast.expression, context);\n }\n visitPropertyRead(ast, context) {\n this.visit(ast.receiver, context);\n }\n visitPropertyWrite(ast, context) {\n this.visit(ast.receiver, context);\n this.visit(ast.value, context);\n }\n visitSafePropertyRead(ast, context) {\n this.visit(ast.receiver, context);\n }\n visitSafeKeyedRead(ast, context) {\n this.visit(ast.receiver, context);\n this.visit(ast.key, context);\n }\n visitCall(ast, context) {\n this.visit(ast.receiver, context);\n this.visitAll(ast.args, context);\n }\n visitSafeCall(ast, context) {\n this.visit(ast.receiver, context);\n this.visitAll(ast.args, context);\n }\n // This is not part of the AstVisitor interface, just a helper method\n visitAll(asts, context) {\n for (const ast of asts) {\n this.visit(ast, context);\n }\n }\n}\nclass AstTransformer {\n visitImplicitReceiver(ast, context) {\n return ast;\n }\n visitThisReceiver(ast, context) {\n return ast;\n }\n visitInterpolation(ast, context) {\n return new Interpolation(ast.span, ast.sourceSpan, ast.strings, this.visitAll(ast.expressions));\n }\n visitLiteralPrimitive(ast, context) {\n return new LiteralPrimitive(ast.span, ast.sourceSpan, ast.value);\n }\n visitPropertyRead(ast, context) {\n return new PropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name);\n }\n visitPropertyWrite(ast, context) {\n return new PropertyWrite(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, ast.value.visit(this));\n }\n visitSafePropertyRead(ast, context) {\n return new SafePropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name);\n }\n visitLiteralArray(ast, context) {\n return new LiteralArray(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));\n }\n visitLiteralMap(ast, context) {\n return new LiteralMap(ast.span, ast.sourceSpan, ast.keys, this.visitAll(ast.values));\n }\n visitUnary(ast, context) {\n switch (ast.operator) {\n case '+':\n return Unary.createPlus(ast.span, ast.sourceSpan, ast.expr.visit(this));\n case '-':\n return Unary.createMinus(ast.span, ast.sourceSpan, ast.expr.visit(this));\n default:\n throw new Error(`Unknown unary operator ${ast.operator}`);\n }\n }\n visitBinary(ast, context) {\n return new Binary(ast.span, ast.sourceSpan, ast.operation, ast.left.visit(this), ast.right.visit(this));\n }\n visitPrefixNot(ast, context) {\n return new PrefixNot(ast.span, ast.sourceSpan, ast.expression.visit(this));\n }\n visitNonNullAssert(ast, context) {\n return new NonNullAssert(ast.span, ast.sourceSpan, ast.expression.visit(this));\n }\n visitConditional(ast, context) {\n return new Conditional(ast.span, ast.sourceSpan, ast.condition.visit(this), ast.trueExp.visit(this), ast.falseExp.visit(this));\n }\n visitPipe(ast, context) {\n return new BindingPipe(ast.span, ast.sourceSpan, ast.exp.visit(this), ast.name, this.visitAll(ast.args), ast.nameSpan);\n }\n visitKeyedRead(ast, context) {\n return new KeyedRead(ast.span, ast.sourceSpan, ast.receiver.visit(this), ast.key.visit(this));\n }\n visitKeyedWrite(ast, context) {\n return new KeyedWrite(ast.span, ast.sourceSpan, ast.receiver.visit(this), ast.key.visit(this), ast.value.visit(this));\n }\n visitCall(ast, context) {\n return new Call(ast.span, ast.sourceSpan, ast.receiver.visit(this), this.visitAll(ast.args), ast.argumentSpan);\n }\n visitSafeCall(ast, context) {\n return new SafeCall(ast.span, ast.sourceSpan, ast.receiver.visit(this), this.visitAll(ast.args), ast.argumentSpan);\n }\n visitAll(asts) {\n const res = [];\n for (let i = 0; i < asts.length; ++i) {\n res[i] = asts[i].visit(this);\n }\n return res;\n }\n visitChain(ast, context) {\n return new Chain(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));\n }\n visitSafeKeyedRead(ast, context) {\n return new SafeKeyedRead(ast.span, ast.sourceSpan, ast.receiver.visit(this), ast.key.visit(this));\n }\n}\n// A transformer that only creates new nodes if the transformer makes a change or\n// a change is made a child node.\nclass AstMemoryEfficientTransformer {\n visitImplicitReceiver(ast, context) {\n return ast;\n }\n visitThisReceiver(ast, context) {\n return ast;\n }\n visitInterpolation(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions)\n return new Interpolation(ast.span, ast.sourceSpan, ast.strings, expressions);\n return ast;\n }\n visitLiteralPrimitive(ast, context) {\n return ast;\n }\n visitPropertyRead(ast, context) {\n const receiver = ast.receiver.visit(this);\n if (receiver !== ast.receiver) {\n return new PropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name);\n }\n return ast;\n }\n visitPropertyWrite(ast, context) {\n const receiver = ast.receiver.visit(this);\n const value = ast.value.visit(this);\n if (receiver !== ast.receiver || value !== ast.value) {\n return new PropertyWrite(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, value);\n }\n return ast;\n }\n visitSafePropertyRead(ast, context) {\n const receiver = ast.receiver.visit(this);\n if (receiver !== ast.receiver) {\n return new SafePropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name);\n }\n return ast;\n }\n visitLiteralArray(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions) {\n return new LiteralArray(ast.span, ast.sourceSpan, expressions);\n }\n return ast;\n }\n visitLiteralMap(ast, context) {\n const values = this.visitAll(ast.values);\n if (values !== ast.values) {\n return new LiteralMap(ast.span, ast.sourceSpan, ast.keys, values);\n }\n return ast;\n }\n visitUnary(ast, context) {\n const expr = ast.expr.visit(this);\n if (expr !== ast.expr) {\n switch (ast.operator) {\n case '+':\n return Unary.createPlus(ast.span, ast.sourceSpan, expr);\n case '-':\n return Unary.createMinus(ast.span, ast.sourceSpan, expr);\n default:\n throw new Error(`Unknown unary operator ${ast.operator}`);\n }\n }\n return ast;\n }\n visitBinary(ast, context) {\n const left = ast.left.visit(this);\n const right = ast.right.visit(this);\n if (left !== ast.left || right !== ast.right) {\n return new Binary(ast.span, ast.sourceSpan, ast.operation, left, right);\n }\n return ast;\n }\n visitPrefixNot(ast, context) {\n const expression = ast.expression.visit(this);\n if (expression !== ast.expression) {\n return new PrefixNot(ast.span, ast.sourceSpan, expression);\n }\n return ast;\n }\n visitNonNullAssert(ast, context) {\n const expression = ast.expression.visit(this);\n if (expression !== ast.expression) {\n return new NonNullAssert(ast.span, ast.sourceSpan, expression);\n }\n return ast;\n }\n visitConditional(ast, context) {\n const condition = ast.condition.visit(this);\n const trueExp = ast.trueExp.visit(this);\n const falseExp = ast.falseExp.visit(this);\n if (condition !== ast.condition || trueExp !== ast.trueExp || falseExp !== ast.falseExp) {\n return new Conditional(ast.span, ast.sourceSpan, condition, trueExp, falseExp);\n }\n return ast;\n }\n visitPipe(ast, context) {\n const exp = ast.exp.visit(this);\n const args = this.visitAll(ast.args);\n if (exp !== ast.exp || args !== ast.args) {\n return new BindingPipe(ast.span, ast.sourceSpan, exp, ast.name, args, ast.nameSpan);\n }\n return ast;\n }\n visitKeyedRead(ast, context) {\n const obj = ast.receiver.visit(this);\n const key = ast.key.visit(this);\n if (obj !== ast.receiver || key !== ast.key) {\n return new KeyedRead(ast.span, ast.sourceSpan, obj, key);\n }\n return ast;\n }\n visitKeyedWrite(ast, context) {\n const obj = ast.receiver.visit(this);\n const key = ast.key.visit(this);\n const value = ast.value.visit(this);\n if (obj !== ast.receiver || key !== ast.key || value !== ast.value) {\n return new KeyedWrite(ast.span, ast.sourceSpan, obj, key, value);\n }\n return ast;\n }\n visitAll(asts) {\n const res = [];\n let modified = false;\n for (let i = 0; i < asts.length; ++i) {\n const original = asts[i];\n const value = original.visit(this);\n res[i] = value;\n modified = modified || value !== original;\n }\n return modified ? res : asts;\n }\n visitChain(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions) {\n return new Chain(ast.span, ast.sourceSpan, expressions);\n }\n return ast;\n }\n visitCall(ast, context) {\n const receiver = ast.receiver.visit(this);\n const args = this.visitAll(ast.args);\n if (receiver !== ast.receiver || args !== ast.args) {\n return new Call(ast.span, ast.sourceSpan, receiver, args, ast.argumentSpan);\n }\n return ast;\n }\n visitSafeCall(ast, context) {\n const receiver = ast.receiver.visit(this);\n const args = this.visitAll(ast.args);\n if (receiver !== ast.receiver || args !== ast.args) {\n return new SafeCall(ast.span, ast.sourceSpan, receiver, args, ast.argumentSpan);\n }\n return ast;\n }\n visitSafeKeyedRead(ast, context) {\n const obj = ast.receiver.visit(this);\n const key = ast.key.visit(this);\n if (obj !== ast.receiver || key !== ast.key) {\n return new SafeKeyedRead(ast.span, ast.sourceSpan, obj, key);\n }\n return ast;\n }\n}\n// Bindings\nclass ParsedProperty {\n constructor(name, expression, type, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.expression = expression;\n this.type = type;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n this.isLiteral = this.type === ParsedPropertyType.LITERAL_ATTR;\n this.isAnimation = this.type === ParsedPropertyType.ANIMATION;\n }\n}\nvar ParsedPropertyType;\n(function (ParsedPropertyType) {\n ParsedPropertyType[ParsedPropertyType[\"DEFAULT\"] = 0] = \"DEFAULT\";\n ParsedPropertyType[ParsedPropertyType[\"LITERAL_ATTR\"] = 1] = \"LITERAL_ATTR\";\n ParsedPropertyType[ParsedPropertyType[\"ANIMATION\"] = 2] = \"ANIMATION\";\n})(ParsedPropertyType || (ParsedPropertyType = {}));\nclass ParsedEvent {\n // Regular events have a target\n // Animation events have a phase\n constructor(name, targetOrPhase, type, handler, sourceSpan, handlerSpan, keySpan) {\n this.name = name;\n this.targetOrPhase = targetOrPhase;\n this.type = type;\n this.handler = handler;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n this.keySpan = keySpan;\n }\n}\n/**\n * ParsedVariable represents a variable declaration in a microsyntax expression.\n */\nclass ParsedVariable {\n constructor(name, value, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n}\nclass BoundElementProperty {\n constructor(name, type, securityContext, value, unit, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\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 EventHandlerVars {\n}\nEventHandlerVars.event = variable('$event');\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression is\n * used in an action binding (e.g. an event handler).\n */\nfunction convertActionBinding(localResolver, implicitReceiver, action, bindingId, baseSourceSpan, implicitReceiverAccesses, globals) {\n if (!localResolver) {\n localResolver = new DefaultLocalResolver(globals);\n }\n const actionWithoutBuiltins = convertPropertyBindingBuiltins({\n createLiteralArrayConverter: (argCount) => {\n // Note: no caching for literal arrays in actions.\n return (args) => literalArr(args);\n },\n createLiteralMapConverter: (keys) => {\n // Note: no caching for literal maps in actions.\n return (values) => {\n const entries = keys.map((k, i) => ({\n key: k.key,\n value: values[i],\n quoted: k.quoted,\n }));\n return literalMap(entries);\n };\n },\n createPipeConverter: (name) => {\n throw new Error(`Illegal State: Actions are not allowed to contain pipes. Pipe: ${name}`);\n }\n }, action);\n const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, /* supportsInterpolation */ false, baseSourceSpan, implicitReceiverAccesses);\n const actionStmts = [];\n flattenStatements(actionWithoutBuiltins.visit(visitor, _Mode.Statement), actionStmts);\n prependTemporaryDecls(visitor.temporaryCount, bindingId, actionStmts);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n const lastIndex = actionStmts.length - 1;\n if (lastIndex >= 0) {\n const lastStatement = actionStmts[lastIndex];\n // Ensure that the value of the last expression statement is returned\n if (lastStatement instanceof ExpressionStatement) {\n actionStmts[lastIndex] = new ReturnStatement(lastStatement.expr);\n }\n }\n return actionStmts;\n}\nfunction convertPropertyBindingBuiltins(converterFactory, ast) {\n return convertBuiltins(converterFactory, ast);\n}\nclass ConvertPropertyBindingResult {\n constructor(stmts, currValExpr) {\n this.stmts = stmts;\n this.currValExpr = currValExpr;\n }\n}\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression\n * is used in property binding. The expression has to be preprocessed via\n * `convertPropertyBindingBuiltins`.\n */\nfunction convertPropertyBinding(localResolver, implicitReceiver, expressionWithoutBuiltins, bindingId) {\n if (!localResolver) {\n localResolver = new DefaultLocalResolver();\n }\n const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, /* supportsInterpolation */ false);\n const outputExpr = expressionWithoutBuiltins.visit(visitor, _Mode.Expression);\n const stmts = getStatementsFromVisitor(visitor, bindingId);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n return new ConvertPropertyBindingResult(stmts, outputExpr);\n}\n/**\n * Given some expression, such as a binding or interpolation expression, and a context expression to\n * look values up on, visit each facet of the given expression resolving values from the context\n * expression such that a list of arguments can be derived from the found values that can be used as\n * arguments to an external update instruction.\n *\n * @param localResolver The resolver to use to look up expressions by name appropriately\n * @param contextVariableExpression The expression representing the context variable used to create\n * the final argument expressions\n * @param expressionWithArgumentsToExtract The expression to visit to figure out what values need to\n * be resolved and what arguments list to build.\n * @param bindingId A name prefix used to create temporary variable names if they're needed for the\n * arguments generated\n * @returns An array of expressions that can be passed as arguments to instruction expressions like\n * `o.importExpr(R3.propertyInterpolate).callFn(result)`\n */\nfunction convertUpdateArguments(localResolver, contextVariableExpression, expressionWithArgumentsToExtract, bindingId) {\n const visitor = new _AstToIrVisitor(localResolver, contextVariableExpression, bindingId, /* supportsInterpolation */ true);\n const outputExpr = visitor.visitInterpolation(expressionWithArgumentsToExtract, _Mode.Expression);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n const stmts = getStatementsFromVisitor(visitor, bindingId);\n const args = outputExpr.args;\n return { stmts, args };\n}\nfunction getStatementsFromVisitor(visitor, bindingId) {\n const stmts = [];\n for (let i = 0; i < visitor.temporaryCount; i++) {\n stmts.push(temporaryDeclaration(bindingId, i));\n }\n return stmts;\n}\nfunction convertBuiltins(converterFactory, ast) {\n const visitor = new _BuiltinAstConverter(converterFactory);\n return ast.visit(visitor);\n}\nfunction temporaryName(bindingId, temporaryNumber) {\n return `tmp_${bindingId}_${temporaryNumber}`;\n}\nfunction temporaryDeclaration(bindingId, temporaryNumber) {\n return new DeclareVarStmt(temporaryName(bindingId, temporaryNumber));\n}\nfunction prependTemporaryDecls(temporaryCount, bindingId, statements) {\n for (let i = temporaryCount - 1; i >= 0; i--) {\n statements.unshift(temporaryDeclaration(bindingId, i));\n }\n}\nvar _Mode;\n(function (_Mode) {\n _Mode[_Mode[\"Statement\"] = 0] = \"Statement\";\n _Mode[_Mode[\"Expression\"] = 1] = \"Expression\";\n})(_Mode || (_Mode = {}));\nfunction ensureStatementMode(mode, ast) {\n if (mode !== _Mode.Statement) {\n throw new Error(`Expected a statement, but saw ${ast}`);\n }\n}\nfunction ensureExpressionMode(mode, ast) {\n if (mode !== _Mode.Expression) {\n throw new Error(`Expected an expression, but saw ${ast}`);\n }\n}\nfunction convertToStatementIfNeeded(mode, expr) {\n if (mode === _Mode.Statement) {\n return expr.toStmt();\n }\n else {\n return expr;\n }\n}\nclass _BuiltinAstConverter extends AstTransformer {\n constructor(_converterFactory) {\n super();\n this._converterFactory = _converterFactory;\n }\n visitPipe(ast, context) {\n const args = [ast.exp, ...ast.args].map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createPipeConverter(ast.name, args.length));\n }\n visitLiteralArray(ast, context) {\n const args = ast.expressions.map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createLiteralArrayConverter(ast.expressions.length));\n }\n visitLiteralMap(ast, context) {\n const args = ast.values.map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createLiteralMapConverter(ast.keys));\n }\n}\nclass _AstToIrVisitor {\n constructor(_localResolver, _implicitReceiver, bindingId, supportsInterpolation, baseSourceSpan, implicitReceiverAccesses) {\n this._localResolver = _localResolver;\n this._implicitReceiver = _implicitReceiver;\n this.bindingId = bindingId;\n this.supportsInterpolation = supportsInterpolation;\n this.baseSourceSpan = baseSourceSpan;\n this.implicitReceiverAccesses = implicitReceiverAccesses;\n this._nodeMap = new Map();\n this._resultMap = new Map();\n this._currentTemporary = 0;\n this.temporaryCount = 0;\n this.usesImplicitReceiver = false;\n }\n visitUnary(ast, mode) {\n let op;\n switch (ast.operator) {\n case '+':\n op = UnaryOperator.Plus;\n break;\n case '-':\n op = UnaryOperator.Minus;\n break;\n default:\n throw new Error(`Unsupported operator ${ast.operator}`);\n }\n return convertToStatementIfNeeded(mode, new UnaryOperatorExpr(op, this._visit(ast.expr, _Mode.Expression), undefined, this.convertSourceSpan(ast.span)));\n }\n visitBinary(ast, mode) {\n let op;\n switch (ast.operation) {\n case '+':\n op = BinaryOperator.Plus;\n break;\n case '-':\n op = BinaryOperator.Minus;\n break;\n case '*':\n op = BinaryOperator.Multiply;\n break;\n case '/':\n op = BinaryOperator.Divide;\n break;\n case '%':\n op = BinaryOperator.Modulo;\n break;\n case '&&':\n op = BinaryOperator.And;\n break;\n case '||':\n op = BinaryOperator.Or;\n break;\n case '==':\n op = BinaryOperator.Equals;\n break;\n case '!=':\n op = BinaryOperator.NotEquals;\n break;\n case '===':\n op = BinaryOperator.Identical;\n break;\n case '!==':\n op = BinaryOperator.NotIdentical;\n break;\n case '<':\n op = BinaryOperator.Lower;\n break;\n case '>':\n op = BinaryOperator.Bigger;\n break;\n case '<=':\n op = BinaryOperator.LowerEquals;\n break;\n case '>=':\n op = BinaryOperator.BiggerEquals;\n break;\n case '??':\n return this.convertNullishCoalesce(ast, mode);\n default:\n throw new Error(`Unsupported operation ${ast.operation}`);\n }\n return convertToStatementIfNeeded(mode, new BinaryOperatorExpr(op, this._visit(ast.left, _Mode.Expression), this._visit(ast.right, _Mode.Expression), undefined, this.convertSourceSpan(ast.span)));\n }\n visitChain(ast, mode) {\n ensureStatementMode(mode, ast);\n return this.visitAll(ast.expressions, mode);\n }\n visitConditional(ast, mode) {\n const value = this._visit(ast.condition, _Mode.Expression);\n return convertToStatementIfNeeded(mode, value.conditional(this._visit(ast.trueExp, _Mode.Expression), this._visit(ast.falseExp, _Mode.Expression), this.convertSourceSpan(ast.span)));\n }\n visitPipe(ast, mode) {\n throw new Error(`Illegal state: Pipes should have been converted into functions. Pipe: ${ast.name}`);\n }\n visitImplicitReceiver(ast, mode) {\n ensureExpressionMode(mode, ast);\n this.usesImplicitReceiver = true;\n return this._implicitReceiver;\n }\n visitThisReceiver(ast, mode) {\n return this.visitImplicitReceiver(ast, mode);\n }\n visitInterpolation(ast, mode) {\n if (!this.supportsInterpolation) {\n throw new Error('Unexpected interpolation');\n }\n ensureExpressionMode(mode, ast);\n let args = [];\n for (let i = 0; i < ast.strings.length - 1; i++) {\n args.push(literal(ast.strings[i]));\n args.push(this._visit(ast.expressions[i], _Mode.Expression));\n }\n args.push(literal(ast.strings[ast.strings.length - 1]));\n // If we're dealing with an interpolation of 1 value with an empty prefix and suffix, reduce the\n // args returned to just the value, because we're going to pass it to a special instruction.\n const strings = ast.strings;\n if (strings.length === 2 && strings[0] === '' && strings[1] === '') {\n // Single argument interpolate instructions.\n args = [args[1]];\n }\n else if (ast.expressions.length >= 9) {\n // 9 or more arguments must be passed to the `interpolateV`-style instructions, which accept\n // an array of arguments\n args = [literalArr(args)];\n }\n return new InterpolationExpression(args);\n }\n visitKeyedRead(ast, mode) {\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n return convertToStatementIfNeeded(mode, this._visit(ast.receiver, _Mode.Expression).key(this._visit(ast.key, _Mode.Expression)));\n }\n }\n visitKeyedWrite(ast, mode) {\n const obj = this._visit(ast.receiver, _Mode.Expression);\n const key = this._visit(ast.key, _Mode.Expression);\n const value = this._visit(ast.value, _Mode.Expression);\n if (obj === this._implicitReceiver) {\n this._localResolver.maybeRestoreView();\n }\n return convertToStatementIfNeeded(mode, obj.key(key).set(value));\n }\n visitLiteralArray(ast, mode) {\n throw new Error(`Illegal State: literal arrays should have been converted into functions`);\n }\n visitLiteralMap(ast, mode) {\n throw new Error(`Illegal State: literal maps should have been converted into functions`);\n }\n visitLiteralPrimitive(ast, mode) {\n // For literal values of null, undefined, true, or false allow type interference\n // to infer the type.\n const type = ast.value === null || ast.value === undefined || ast.value === true || ast.value === true ?\n INFERRED_TYPE :\n undefined;\n return convertToStatementIfNeeded(mode, literal(ast.value, type, this.convertSourceSpan(ast.span)));\n }\n _getLocal(name, receiver) {\n if (this._localResolver.globals?.has(name) && receiver instanceof ThisReceiver) {\n return null;\n }\n return this._localResolver.getLocal(name);\n }\n visitPrefixNot(ast, mode) {\n return convertToStatementIfNeeded(mode, not(this._visit(ast.expression, _Mode.Expression)));\n }\n visitNonNullAssert(ast, mode) {\n return convertToStatementIfNeeded(mode, this._visit(ast.expression, _Mode.Expression));\n }\n visitPropertyRead(ast, mode) {\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n let result = null;\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n if (receiver === this._implicitReceiver) {\n result = this._getLocal(ast.name, ast.receiver);\n if (result) {\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n this.addImplicitReceiverAccess(ast.name);\n }\n }\n if (result == null) {\n result = receiver.prop(ast.name, this.convertSourceSpan(ast.span));\n }\n return convertToStatementIfNeeded(mode, result);\n }\n }\n visitPropertyWrite(ast, mode) {\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n let varExpr = null;\n if (receiver === this._implicitReceiver) {\n const localExpr = this._getLocal(ast.name, ast.receiver);\n if (localExpr) {\n if (localExpr instanceof ReadPropExpr) {\n // If the local variable is a property read expression, it's a reference\n // to a 'context.property' value and will be used as the target of the\n // write expression.\n varExpr = localExpr;\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n this.addImplicitReceiverAccess(ast.name);\n }\n else {\n // Otherwise it's an error.\n const receiver = ast.name;\n const value = (ast.value instanceof PropertyRead) ? ast.value.name : undefined;\n throw new Error(`Cannot assign value \"${value}\" to template variable \"${receiver}\". Template variables are read-only.`);\n }\n }\n }\n // If no local expression could be produced, use the original receiver's\n // property as the target.\n if (varExpr === null) {\n varExpr = receiver.prop(ast.name, this.convertSourceSpan(ast.span));\n }\n return convertToStatementIfNeeded(mode, varExpr.set(this._visit(ast.value, _Mode.Expression)));\n }\n visitSafePropertyRead(ast, mode) {\n return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n }\n visitSafeKeyedRead(ast, mode) {\n return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n }\n visitAll(asts, mode) {\n return asts.map(ast => this._visit(ast, mode));\n }\n visitCall(ast, mode) {\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n const convertedArgs = this.visitAll(ast.args, _Mode.Expression);\n if (ast instanceof BuiltinFunctionCall) {\n return convertToStatementIfNeeded(mode, ast.converter(convertedArgs));\n }\n const receiver = ast.receiver;\n if (receiver instanceof PropertyRead &&\n receiver.receiver instanceof ImplicitReceiver &&\n !(receiver.receiver instanceof ThisReceiver) && receiver.name === '$any') {\n if (convertedArgs.length !== 1) {\n throw new Error(`Invalid call to $any, expected 1 argument but received ${convertedArgs.length || 'none'}`);\n }\n return convertToStatementIfNeeded(mode, convertedArgs[0]);\n }\n const call = this._visit(receiver, _Mode.Expression)\n .callFn(convertedArgs, this.convertSourceSpan(ast.span));\n return convertToStatementIfNeeded(mode, call);\n }\n visitSafeCall(ast, mode) {\n return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n }\n _visit(ast, mode) {\n const result = this._resultMap.get(ast);\n if (result)\n return result;\n return (this._nodeMap.get(ast) || ast).visit(this, mode);\n }\n convertSafeAccess(ast, leftMostSafe, mode) {\n // If the expression contains a safe access node on the left it needs to be converted to\n // an expression that guards the access to the member by checking the receiver for blank. As\n // execution proceeds from left to right, the left most part of the expression must be guarded\n // first but, because member access is left associative, the right side of the expression is at\n // the top of the AST. The desired result requires lifting a copy of the left part of the\n // expression up to test it for blank before generating the unguarded version.\n // Consider, for example the following expression: a?.b.c?.d.e\n // This results in the ast:\n // .\n // / \\\n // ?. e\n // / \\\n // . d\n // / \\\n // ?. c\n // / \\\n // a b\n // The following tree should be generated:\n //\n // /---- ? ----\\\n // / | \\\n // a /--- ? ---\\ null\n // / | \\\n // . . null\n // / \\ / \\\n // . c . e\n // / \\ / \\\n // a b . d\n // / \\\n // . c\n // / \\\n // a b\n //\n // Notice that the first guard condition is the left hand of the left most safe access node\n // which comes in as leftMostSafe to this routine.\n let guardedExpression = this._visit(leftMostSafe.receiver, _Mode.Expression);\n let temporary = undefined;\n if (this.needsTemporaryInSafeAccess(leftMostSafe.receiver)) {\n // If the expression has method calls or pipes then we need to save the result into a\n // temporary variable to avoid calling stateful or impure code more than once.\n temporary = this.allocateTemporary();\n // Preserve the result in the temporary variable\n guardedExpression = temporary.set(guardedExpression);\n // Ensure all further references to the guarded expression refer to the temporary instead.\n this._resultMap.set(leftMostSafe.receiver, temporary);\n }\n const condition = guardedExpression.isBlank();\n // Convert the ast to an unguarded access to the receiver's member. The map will substitute\n // leftMostNode with its unguarded version in the call to `this.visit()`.\n if (leftMostSafe instanceof SafeCall) {\n this._nodeMap.set(leftMostSafe, new Call(leftMostSafe.span, leftMostSafe.sourceSpan, leftMostSafe.receiver, leftMostSafe.args, leftMostSafe.argumentSpan));\n }\n else if (leftMostSafe instanceof SafeKeyedRead) {\n this._nodeMap.set(leftMostSafe, new KeyedRead(leftMostSafe.span, leftMostSafe.sourceSpan, leftMostSafe.receiver, leftMostSafe.key));\n }\n else {\n this._nodeMap.set(leftMostSafe, new PropertyRead(leftMostSafe.span, leftMostSafe.sourceSpan, leftMostSafe.nameSpan, leftMostSafe.receiver, leftMostSafe.name));\n }\n // Recursively convert the node now without the guarded member access.\n const access = this._visit(ast, _Mode.Expression);\n // Remove the mapping. This is not strictly required as the converter only traverses each node\n // once but is safer if the conversion is changed to traverse the nodes more than once.\n this._nodeMap.delete(leftMostSafe);\n // If we allocated a temporary, release it.\n if (temporary) {\n this.releaseTemporary(temporary);\n }\n // Produce the conditional\n return convertToStatementIfNeeded(mode, condition.conditional(NULL_EXPR, access));\n }\n convertNullishCoalesce(ast, mode) {\n const left = this._visit(ast.left, _Mode.Expression);\n const right = this._visit(ast.right, _Mode.Expression);\n const temporary = this.allocateTemporary();\n this.releaseTemporary(temporary);\n // Generate the following expression. It is identical to how TS\n // transpiles binary expressions with a nullish coalescing operator.\n // let temp;\n // (temp = a) !== null && temp !== undefined ? temp : b;\n return convertToStatementIfNeeded(mode, temporary.set(left)\n .notIdentical(NULL_EXPR)\n .and(temporary.notIdentical(literal(undefined)))\n .conditional(temporary, right));\n }\n // Given an expression of the form a?.b.c?.d.e then the left most safe node is\n // the (a?.b). The . and ?. are left associative thus can be rewritten as:\n // ((((a?.c).b).c)?.d).e. This returns the most deeply nested safe read or\n // safe method call as this needs to be transformed initially to:\n // a == null ? null : a.c.b.c?.d.e\n // then to:\n // a == null ? null : a.b.c == null ? null : a.b.c.d.e\n leftMostSafeNode(ast) {\n const visit = (visitor, ast) => {\n return (this._nodeMap.get(ast) || ast).visit(visitor);\n };\n return ast.visit({\n visitUnary(ast) {\n return null;\n },\n visitBinary(ast) {\n return null;\n },\n visitChain(ast) {\n return null;\n },\n visitConditional(ast) {\n return null;\n },\n visitCall(ast) {\n return visit(this, ast.receiver);\n },\n visitSafeCall(ast) {\n return visit(this, ast.receiver) || ast;\n },\n visitImplicitReceiver(ast) {\n return null;\n },\n visitThisReceiver(ast) {\n return null;\n },\n visitInterpolation(ast) {\n return null;\n },\n visitKeyedRead(ast) {\n return visit(this, ast.receiver);\n },\n visitKeyedWrite(ast) {\n return null;\n },\n visitLiteralArray(ast) {\n return null;\n },\n visitLiteralMap(ast) {\n return null;\n },\n visitLiteralPrimitive(ast) {\n return null;\n },\n visitPipe(ast) {\n return null;\n },\n visitPrefixNot(ast) {\n return null;\n },\n visitNonNullAssert(ast) {\n return null;\n },\n visitPropertyRead(ast) {\n return visit(this, ast.receiver);\n },\n visitPropertyWrite(ast) {\n return null;\n },\n visitSafePropertyRead(ast) {\n return visit(this, ast.receiver) || ast;\n },\n visitSafeKeyedRead(ast) {\n return visit(this, ast.receiver) || ast;\n }\n });\n }\n // Returns true of the AST includes a method or a pipe indicating that, if the\n // expression is used as the target of a safe property or method access then\n // the expression should be stored into a temporary variable.\n needsTemporaryInSafeAccess(ast) {\n const visit = (visitor, ast) => {\n return ast && (this._nodeMap.get(ast) || ast).visit(visitor);\n };\n const visitSome = (visitor, ast) => {\n return ast.some(ast => visit(visitor, ast));\n };\n return ast.visit({\n visitUnary(ast) {\n return visit(this, ast.expr);\n },\n visitBinary(ast) {\n return visit(this, ast.left) || visit(this, ast.right);\n },\n visitChain(ast) {\n return false;\n },\n visitConditional(ast) {\n return visit(this, ast.condition) || visit(this, ast.trueExp) || visit(this, ast.falseExp);\n },\n visitCall(ast) {\n return true;\n },\n visitSafeCall(ast) {\n return true;\n },\n visitImplicitReceiver(ast) {\n return false;\n },\n visitThisReceiver(ast) {\n return false;\n },\n visitInterpolation(ast) {\n return visitSome(this, ast.expressions);\n },\n visitKeyedRead(ast) {\n return false;\n },\n visitKeyedWrite(ast) {\n return false;\n },\n visitLiteralArray(ast) {\n return true;\n },\n visitLiteralMap(ast) {\n return true;\n },\n visitLiteralPrimitive(ast) {\n return false;\n },\n visitPipe(ast) {\n return true;\n },\n visitPrefixNot(ast) {\n return visit(this, ast.expression);\n },\n visitNonNullAssert(ast) {\n return visit(this, ast.expression);\n },\n visitPropertyRead(ast) {\n return false;\n },\n visitPropertyWrite(ast) {\n return false;\n },\n visitSafePropertyRead(ast) {\n return false;\n },\n visitSafeKeyedRead(ast) {\n return false;\n }\n });\n }\n allocateTemporary() {\n const tempNumber = this._currentTemporary++;\n this.temporaryCount = Math.max(this._currentTemporary, this.temporaryCount);\n return new ReadVarExpr(temporaryName(this.bindingId, tempNumber));\n }\n releaseTemporary(temporary) {\n this._currentTemporary--;\n if (temporary.name != temporaryName(this.bindingId, this._currentTemporary)) {\n throw new Error(`Temporary ${temporary.name} released out of order`);\n }\n }\n /**\n * Creates an absolute `ParseSourceSpan` from the relative `ParseSpan`.\n *\n * `ParseSpan` objects are relative to the start of the expression.\n * This method converts these to full `ParseSourceSpan` objects that\n * show where the span is within the overall source file.\n *\n * @param span the relative span to convert.\n * @returns a `ParseSourceSpan` for the given span or null if no\n * `baseSourceSpan` was provided to this class.\n */\n convertSourceSpan(span) {\n if (this.baseSourceSpan) {\n const start = this.baseSourceSpan.start.moveBy(span.start);\n const end = this.baseSourceSpan.start.moveBy(span.end);\n const fullStart = this.baseSourceSpan.fullStart.moveBy(span.start);\n return new ParseSourceSpan(start, end, fullStart);\n }\n else {\n return null;\n }\n }\n /** Adds the name of an AST to the list of implicit receiver accesses. */\n addImplicitReceiverAccess(name) {\n if (this.implicitReceiverAccesses) {\n this.implicitReceiverAccesses.add(name);\n }\n }\n}\nfunction flattenStatements(arg, output) {\n if (Array.isArray(arg)) {\n arg.forEach((entry) => flattenStatements(entry, output));\n }\n else {\n output.push(arg);\n }\n}\nfunction unsupported() {\n throw new Error('Unsupported operation');\n}\nclass InterpolationExpression extends Expression {\n constructor(args) {\n super(null, null);\n this.args = args;\n this.isConstant = unsupported;\n this.isEquivalent = unsupported;\n this.visitExpression = unsupported;\n }\n}\nclass DefaultLocalResolver {\n constructor(globals) {\n this.globals = globals;\n }\n notifyImplicitReceiverUse() { }\n maybeRestoreView() { }\n getLocal(name) {\n if (name === EventHandlerVars.event.name) {\n return EventHandlerVars.event;\n }\n return null;\n }\n}\nclass BuiltinFunctionCall extends Call {\n constructor(span, sourceSpan, args, converter) {\n super(span, sourceSpan, new EmptyExpr(span, sourceSpan), args, null);\n this.converter = converter;\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// =========== S T O P - S T O P - S T O P - S T O P - S T O P - S T O P ===========\n// =================================================================================================\n// =================================================================================================\n//\n// DO NOT EDIT THIS LIST OF SECURITY SENSITIVE PROPERTIES WITHOUT A SECURITY REVIEW!\n// Reach out to mprobst for details.\n//\n// =================================================================================================\n/** Map from tagName|propertyName to SecurityContext. Properties applying to all tags use '*'. */\nlet _SECURITY_SCHEMA;\nfunction SECURITY_SCHEMA() {\n if (!_SECURITY_SCHEMA) {\n _SECURITY_SCHEMA = {};\n // Case is insignificant below, all element and attribute names are lower-cased for lookup.\n registerContext(SecurityContext.HTML, [\n 'iframe|srcdoc',\n '*|innerHTML',\n '*|outerHTML',\n ]);\n registerContext(SecurityContext.STYLE, ['*|style']);\n // NB: no SCRIPT contexts here, they are never allowed due to the parser stripping them.\n registerContext(SecurityContext.URL, [\n '*|formAction',\n 'area|href',\n 'area|ping',\n 'audio|src',\n 'a|href',\n 'a|ping',\n 'blockquote|cite',\n 'body|background',\n 'del|cite',\n 'form|action',\n 'img|src',\n 'input|src',\n 'ins|cite',\n 'q|cite',\n 'source|src',\n 'track|src',\n 'video|poster',\n 'video|src',\n ]);\n registerContext(SecurityContext.RESOURCE_URL, [\n 'applet|code',\n 'applet|codebase',\n 'base|href',\n 'embed|src',\n 'frame|src',\n 'head|profile',\n 'html|manifest',\n 'iframe|src',\n 'link|href',\n 'media|src',\n 'object|codebase',\n 'object|data',\n 'script|src',\n ]);\n }\n return _SECURITY_SCHEMA;\n}\nfunction registerContext(ctx, specs) {\n for (const spec of specs)\n _SECURITY_SCHEMA[spec.toLowerCase()] = ctx;\n}\n/**\n * The set of security-sensitive attributes of an `