{"version":3,"file":"main-esnext.ec1ec4207891bd581ff3.js","mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,6CAA6C;AAC7C;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,gBAAN,CAAuB;AAEvB;AACA;AACA;AACA;AACA;;;AACA,MAAMC,gBAAN,CAAuB;AAGvB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,UAAU,GAAG,GAAnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,OAAT,CAAiBC,IAAjB,EAAuBC,WAAvB,EAAoC;AAChC,SAAO;AAAEC,IAAAA,IAAI,EAAE;AAAE;AAAV;AAAyBF,IAAAA,IAAzB;AAA+BC,IAAAA,WAA/B;AAA4CE,IAAAA,OAAO,EAAE;AAArD,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,OAAT,CAAiBC,OAAjB,EAA0BC,MAAM,GAAG,IAAnC,EAAyC;AACrC,SAAO;AAAEJ,IAAAA,IAAI,EAAE;AAAE;AAAV;AAAyBI,IAAAA,MAAzB;AAAiCD,IAAAA;AAAjC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,KAAT,CAAeC,KAAf,EAAsBL,OAAO,GAAG,IAAhC,EAAsC;AAClC,SAAO;AAAED,IAAAA,IAAI,EAAE;AAAE;AAAV;AAAuBM,IAAAA,KAAvB;AAA8BL,IAAAA;AAA9B,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASM,QAAT,CAAkBD,KAAlB,EAAyBL,OAAO,GAAG,IAAnC,EAAyC;AACrC,SAAO;AAAED,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA0BM,IAAAA,KAA1B;AAAiCL,IAAAA;AAAjC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASO,KAAT,CAAeC,MAAf,EAAuB;AACnB,SAAO;AAAET,IAAAA,IAAI,EAAE;AAAE;AAAV;AAAuBI,IAAAA,MAAM,EAAEK,MAA/B;AAAuCC,IAAAA,MAAM,EAAE;AAA/C,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,KAAT,CAAeb,IAAf,EAAqBM,MAArB,EAA6BH,OAA7B,EAAsC;AAClC,SAAO;AAAED,IAAAA,IAAI,EAAE;AAAE;AAAV;AAAuBF,IAAAA,IAAvB;AAA6BM,IAAAA,MAA7B;AAAqCH,IAAAA;AAArC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASW,SAAT,CAAmBN,KAAnB,EAA0B;AACtB,SAAO;AAAEN,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA2BM,IAAAA;AAA3B,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASO,UAAT,CAAoBC,eAApB,EAAqCR,KAArC,EAA4CL,OAAO,GAAG,IAAtD,EAA4D;AACxD,SAAO;AAAED,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA4Be,IAAAA,IAAI,EAAED,eAAlC;AAAmDE,IAAAA,SAAS,EAAEV,KAA9D;AAAqEL,IAAAA;AAArE,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASe,SAAT,CAAmBV,KAAnB,EAA0BL,OAAO,GAAG,IAApC,EAA0C;AACtC,SAAO;AAAED,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA2BgB,IAAAA,SAAS,EAAEV,KAAtC;AAA6CL,IAAAA;AAA7C,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgB,YAAT,CAAsBhB,OAAO,GAAG,IAAhC,EAAsC;AAClC,SAAO;AAAED,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA8BC,IAAAA;AAA9B,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiB,YAAT,CAAsBF,SAAtB,EAAiCf,OAAO,GAAG,IAA3C,EAAiD;AAC7C,SAAO;AAAED,IAAAA,IAAI,EAAE;AAAG;AAAX;AAA6BgB,IAAAA,SAA7B;AAAwCf,IAAAA;AAAxC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkB,KAAT,CAAeC,QAAf,EAAyBJ,SAAzB,EAAoCf,OAAO,GAAG,IAA9C,EAAoD;AAChD,SAAO;AAAED,IAAAA,IAAI,EAAE;AAAG;AAAX;AAAwBoB,IAAAA,QAAxB;AAAkCJ,IAAAA,SAAlC;AAA6Cf,IAAAA;AAA7C,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoB,OAAT,CAAiBlB,OAAjB,EAA0Ba,SAA1B,EAAqC;AACjC,SAAO;AAAEhB,IAAAA,IAAI,EAAE;AAAG;AAAX;AAA0BG,IAAAA,OAA1B;AAAmCa,IAAAA;AAAnC,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASM,iBAAT,CAA2BC,EAA3B,EAA+B;AAC3BC,EAAAA,OAAO,CAACC,OAAR,CAAgB,IAAhB,EAAsBC,IAAtB,CAA2BH,EAA3B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMI,mBAAN,CAA0B;AACtBC,EAAAA,WAAW,CAACC,QAAQ,GAAG,CAAZ,EAAeC,KAAK,GAAG,CAAvB,EAA0B;AACjC,SAAKC,UAAL,GAAkB,EAAlB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA,SAAKC,aAAL,GAAqB,EAArB;AACA,SAAKC,QAAL,GAAgB,KAAhB;AACA,SAAKC,UAAL,GAAkB,KAAlB;AACA,SAAKC,SAAL,GAAiB,KAAjB;AACA,SAAKC,SAAL,GAAiB,CAAjB;AACA,SAAKC,YAAL,GAAoB,IAApB;AACA,SAAKC,SAAL,GAAiBV,QAAQ,GAAGC,KAA5B;AACH;;AACDU,EAAAA,SAAS,GAAG;AACR,QAAI,CAAC,KAAKJ,SAAV,EAAqB;AACjB,WAAKA,SAAL,GAAiB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AAd,CAA3B;;AACA,QAAI,CAACoU,oBAAL,EAA2B;AACvB,WAAKL,IAAL,CAAUvR,GAAV,CAAcxC,OAAd,EAAuBoU,oBAAoB,GAAG,EAA9C;AACH;;AACDA,IAAAA,oBAAoB,CAAC3X,IAArB,CAA0B,GAAGwX,YAA7B;AACH;;AACD/F,EAAAA,GAAG,CAAClO,OAAD,EAAU;AACT,WAAO,KAAK+T,IAAL,CAAU7F,GAAV,CAAclO,OAAd,CAAP;AACH;;AACDqU,EAAAA,KAAK,GAAG;AACJ,SAAKN,IAAL,CAAUM,KAAV;AACH;;AA1BuB;AA6B5B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,yBAAyB,GAAG,CAAlC;AACA,MAAMC,WAAW,GAAG,QAApB;AACA,MAAMC,iBAAiB,gBAAG,IAAIjK,MAAJ,CAAWgK,WAAX,EAAwB,GAAxB,CAA1B;AACA,MAAME,WAAW,GAAG,QAApB;AACA,MAAMC,iBAAiB,gBAAG,IAAInK,MAAJ,CAAWkK,WAAX,EAAwB,GAAxB,CAA1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASE,uBAAT,CAAiC7U,MAAjC,EAAyC8U,WAAzC,EAAsDzD,GAAtD,EAA2D0D,cAA3D,EAA2EC,cAA3E,EAA2FC,cAAc,GAAG,EAA5G,EAAgHC,WAAW,GAAG,EAA9H,EAAkIlb,OAAlI,EAA2Imb,eAA3I,EAA4J9U,MAAM,GAAG,EAArK,EAAyK;AACrK,SAAO,IAAI+U,+BAAJ,GAAsCC,cAAtC,CAAqDrV,MAArD,EAA6D8U,WAA7D,EAA0EzD,GAA1E,EAA+E0D,cAA/E,EAA+FC,cAA/F,EAA+GC,cAA/G,EAA+HC,WAA/H,EAA4Ilb,OAA5I,EAAqJmb,eAArJ,EAAsK9U,MAAtK,CAAP;AACH;;AACD,MAAM+U,+BAAN,CAAsC;AAClCC,EAAAA,cAAc,CAACrV,MAAD,EAAS8U,WAAT,EAAsBzD,GAAtB,EAA2B0D,cAA3B,EAA2CC,cAA3C,EAA2DC,cAA3D,EAA2EC,WAA3E,EAAwFlb,OAAxF,EAAiGmb,eAAjG,EAAkH9U,MAAM,GAAG,EAA3H,EAA+H;AACzI8U,IAAAA,eAAe,GAAGA,eAAe,IAAI,IAAInB,qBAAJ,EAArC;AACA,UAAM7H,OAAO,GAAG,IAAImJ,wBAAJ,CAA6BtV,MAA7B,EAAqC8U,WAArC,EAAkDK,eAAlD,EAAmEJ,cAAnE,EAAmFC,cAAnF,EAAmG3U,MAAnG,EAA2G,EAA3G,CAAhB;AACA8L,IAAAA,OAAO,CAACnS,OAAR,GAAkBA,OAAlB;AACAmS,IAAAA,OAAO,CAACoJ,eAAR,CAAwBxL,SAAxB,CAAkC,CAACkL,cAAD,CAAlC,EAAoD,IAApD,EAA0D9I,OAAO,CAAC9L,MAAlE,EAA0ErG,OAA1E;AACAgS,IAAAA,YAAY,CAAC,IAAD,EAAOqF,GAAP,EAAYlF,OAAZ,CAAZ,CALyI,CAMzI;;AACA,UAAMqJ,SAAS,GAAGrJ,OAAO,CAACqJ,SAAR,CAAkBC,MAAlB,CAAyBC,QAAQ,IAAIA,QAAQ,CAACC,iBAAT,EAArC,CAAlB;;AACA,QAAIH,SAAS,CAAC1X,MAAV,IAAoB8C,MAAM,CAACC,IAAP,CAAYqU,WAAZ,EAAyBpX,MAAjD,EAAyD;AACrD,YAAM8X,EAAE,GAAGJ,SAAS,CAACA,SAAS,CAAC1X,MAAV,GAAmB,CAApB,CAApB;;AACA,UAAI,CAAC8X,EAAE,CAACC,uBAAH,EAAL,EAAmC;AAC/BD,QAAAA,EAAE,CAAC7L,SAAH,CAAa,CAACmL,WAAD,CAAb,EAA4B,IAA5B,EAAkC/I,OAAO,CAAC9L,MAA1C,EAAkDrG,OAAlD;AACH;AACJ;;AACD,WAAOwb,SAAS,CAAC1X,MAAV,GAAmB0X,SAAS,CAACpT,GAAV,CAAcsT,QAAQ,IAAIA,QAAQ,CAACL,cAAT,EAA1B,CAAnB,GACH,CAACzB,yBAAyB,CAACkB,WAAD,EAAc,EAAd,EAAkB,EAAlB,EAAsB,EAAtB,EAA0B,CAA1B,EAA6B,CAA7B,EAAgC,EAAhC,EAAoC,KAApC,CAA1B,CADJ;AAEH;;AACD1I,EAAAA,YAAY,CAACiF,GAAD,EAAMlF,OAAN,EAAe,CACvB;AACH;;AACDE,EAAAA,UAAU,CAACgF,GAAD,EAAMlF,OAAN,EAAe,CACrB;AACH;;AACDG,EAAAA,eAAe,CAAC+E,GAAD,EAAMlF,OAAN,EAAe,CAC1B;AACH;;AACDU,EAAAA,iBAAiB,CAACwE,GAAD,EAAMlF,OAAN,EAAe;AAC5B,UAAM2J,mBAAmB,GAAG3J,OAAO,CAACgJ,eAAR,CAAwBjB,OAAxB,CAAgC/H,OAAO,CAACjM,OAAxC,CAA5B;;AACA,QAAI4V,mBAAJ,EAAyB;AACrB,YAAMC,YAAY,GAAG5J,OAAO,CAAC6J,gBAAR,CAAyB3E,GAAG,CAACrX,OAA7B,CAArB;AACA,YAAM6X,SAAS,GAAG1F,OAAO,CAACoJ,eAAR,CAAwBnG,WAA1C;;AACA,YAAMwC,OAAO,GAAG,KAAKqE,qBAAL,CAA2BH,mBAA3B,EAAgDC,YAAhD,EAA8DA,YAAY,CAAC/b,OAA3E,CAAhB;;AACA,UAAI6X,SAAS,IAAID,OAAjB,EAA0B;AACtB;AACA;AACAzF,QAAAA,OAAO,CAAC+J,wBAAR,CAAiCtE,OAAjC;AACH;AACJ;;AACDzF,IAAAA,OAAO,CAACgK,YAAR,GAAuB9E,GAAvB;AACH;;AACDvE,EAAAA,eAAe,CAACuE,GAAD,EAAMlF,OAAN,EAAe;AAC1B,UAAM4J,YAAY,GAAG5J,OAAO,CAAC6J,gBAAR,CAAyB3E,GAAG,CAACrX,OAA7B,CAArB;AACA+b,IAAAA,YAAY,CAACG,wBAAb;AACA,SAAKtJ,cAAL,CAAoByE,GAAG,CAACtW,SAAxB,EAAmCgb,YAAnC;AACA5J,IAAAA,OAAO,CAAC+J,wBAAR,CAAiCH,YAAY,CAACR,eAAb,CAA6BnG,WAA9D;AACAjD,IAAAA,OAAO,CAACgK,YAAR,GAAuB9E,GAAvB;AACH;;AACD4E,EAAAA,qBAAqB,CAAC9B,YAAD,EAAehI,OAAf,EAAwBnS,OAAxB,EAAiC;AAClD,UAAM6X,SAAS,GAAG1F,OAAO,CAACoJ,eAAR,CAAwBnG,WAA1C;AACA,QAAIsB,YAAY,GAAGmB,SAAnB,CAFkD,CAGlD;AACA;;AACA,UAAMjW,QAAQ,GAAG5B,OAAO,CAAC4B,QAAR,IAAoB,IAApB,GAA2BiM,kBAAkB,CAAC7N,OAAO,CAAC4B,QAAT,CAA7C,GAAkE,IAAnF;AACA,UAAMC,KAAK,GAAG7B,OAAO,CAAC6B,KAAR,IAAiB,IAAjB,GAAwBgM,kBAAkB,CAAC7N,OAAO,CAAC6B,KAAT,CAA1C,GAA4D,IAA1E;;AACA,QAAID,QAAQ,KAAK,CAAjB,EAAoB;AAChBuY,MAAAA,YAAY,CAAC3X,OAAb,CAAqB4Z,WAAW,IAAI;AAChC,cAAMC,kBAAkB,GAAGlK,OAAO,CAACmK,2BAAR,CAAoCF,WAApC,EAAiDxa,QAAjD,EAA2DC,KAA3D,CAA3B;AACA6U,QAAAA,YAAY,GACRhS,IAAI,CAACC,GAAL,CAAS+R,YAAT,EAAuB2F,kBAAkB,CAACza,QAAnB,GAA8Bya,kBAAkB,CAACxa,KAAxE,CADJ;AAEH,OAJD;AAKH;;AACD,WAAO6U,YAAP;AACH;;AACD9D,EAAAA,cAAc,CAACyE,GAAD,EAAMlF,OAAN,EAAe;AACzBA,IAAAA,OAAO,CAACoK,aAAR,CAAsBlF,GAAG,CAACrX,OAA1B,EAAmC,IAAnC;AACAgS,IAAAA,YAAY,CAAC,IAAD,EAAOqF,GAAG,CAACtW,SAAX,EAAsBoR,OAAtB,CAAZ;AACAA,IAAAA,OAAO,CAACgK,YAAR,GAAuB9E,GAAvB;AACH;;AACD9E,EAAAA,aAAa,CAAC8E,GAAD,EAAMlF,OAAN,EAAe;AACxB,UAAMqK,eAAe,GAAGrK,OAAO,CAACqK,eAAhC;AACA,QAAIC,GAAG,GAAGtK,OAAV;AACA,UAAMnS,OAAO,GAAGqX,GAAG,CAACrX,OAApB;;AACA,QAAIA,OAAO,KAAKA,OAAO,CAACqQ,MAAR,IAAkBrQ,OAAO,CAAC6B,KAA/B,CAAX,EAAkD;AAC9C4a,MAAAA,GAAG,GAAGtK,OAAO,CAAC6J,gBAAR,CAAyBhc,OAAzB,CAAN;AACAyc,MAAAA,GAAG,CAACP,wBAAJ;;AACA,UAAIlc,OAAO,CAAC6B,KAAR,IAAiB,IAArB,EAA2B;AACvB,YAAI4a,GAAG,CAACN,YAAJ,CAAiBpc,IAAjB,IAAyB;AAAE;AAA/B,UAA4C;AACxC0c,UAAAA,GAAG,CAAClB,eAAJ,CAAoBmB,qBAApB;AACAD,UAAAA,GAAG,CAACN,YAAJ,GAAmBQ,0BAAnB;AACH;;AACD,cAAM9a,KAAK,GAAGgM,kBAAkB,CAAC7N,OAAO,CAAC6B,KAAT,CAAhC;AACA4a,QAAAA,GAAG,CAACG,aAAJ,CAAkB/a,KAAlB;AACH;AACJ;;AACD,QAAIwV,GAAG,CAAChX,KAAJ,CAAUyD,MAAd,EAAsB;AAClBuT,MAAAA,GAAG,CAAChX,KAAJ,CAAUmC,OAAV,CAAkBiU,CAAC,IAAIzE,YAAY,CAAC,IAAD,EAAOyE,CAAP,EAAUgG,GAAV,CAAnC,EADkB,CAElB;;AACAA,MAAAA,GAAG,CAAClB,eAAJ,CAAoBsB,qBAApB,GAHkB,CAIlB;AACA;AACA;;AACA,UAAIJ,GAAG,CAACD,eAAJ,GAAsBA,eAA1B,EAA2C;AACvCC,QAAAA,GAAG,CAACP,wBAAJ;AACH;AACJ;;AACD/J,IAAAA,OAAO,CAACgK,YAAR,GAAuB9E,GAAvB;AACH;;AACD7E,EAAAA,UAAU,CAAC6E,GAAD,EAAMlF,OAAN,EAAe;AACrB,UAAM2K,cAAc,GAAG,EAAvB;AACA,QAAIpG,YAAY,GAAGvE,OAAO,CAACoJ,eAAR,CAAwBnG,WAA3C;AACA,UAAMvT,KAAK,GAAGwV,GAAG,CAACrX,OAAJ,IAAeqX,GAAG,CAACrX,OAAJ,CAAY6B,KAA3B,GAAmCgM,kBAAkB,CAACwJ,GAAG,CAACrX,OAAJ,CAAY6B,KAAb,CAArD,GAA2E,CAAzF;AACAwV,IAAAA,GAAG,CAAChX,KAAJ,CAAUmC,OAAV,CAAkBiU,CAAC,IAAI;AACnB,YAAMsF,YAAY,GAAG5J,OAAO,CAAC6J,gBAAR,CAAyB3E,GAAG,CAACrX,OAA7B,CAArB;;AACA,UAAI6B,KAAJ,EAAW;AACPka,QAAAA,YAAY,CAACa,aAAb,CAA2B/a,KAA3B;AACH;;AACDmQ,MAAAA,YAAY,CAAC,IAAD,EAAOyE,CAAP,EAAUsF,YAAV,CAAZ;AACArF,MAAAA,YAAY,GAAGhS,IAAI,CAACC,GAAL,CAAS+R,YAAT,EAAuBqF,YAAY,CAACR,eAAb,CAA6BnG,WAApD,CAAf;AACA0H,MAAAA,cAAc,CAACna,IAAf,CAAoBoZ,YAAY,CAACR,eAAjC;AACH,KARD,EAJqB,CAarB;AACA;AACA;;AACAuB,IAAAA,cAAc,CAACta,OAAf,CAAuBkZ,QAAQ,IAAIvJ,OAAO,CAACoJ,eAAR,CAAwBwB,4BAAxB,CAAqDrB,QAArD,CAAnC;AACAvJ,IAAAA,OAAO,CAAC+J,wBAAR,CAAiCxF,YAAjC;AACAvE,IAAAA,OAAO,CAACgK,YAAR,GAAuB9E,GAAvB;AACH;;AACD2F,EAAAA,YAAY,CAAC3F,GAAD,EAAMlF,OAAN,EAAe;AACvB,QAAIkF,GAAG,CAACsC,OAAR,EAAiB;AACb,YAAMJ,QAAQ,GAAGlC,GAAG,CAACkC,QAArB;AACA,YAAM0D,WAAW,GAAG9K,OAAO,CAAC9B,MAAR,GAAiBO,iBAAiB,CAAC2I,QAAD,EAAWpH,OAAO,CAAC9B,MAAnB,EAA2B8B,OAAO,CAAC9L,MAAnC,CAAlC,GAA+EkT,QAAnG;AACA,aAAOrL,aAAa,CAAC+O,WAAD,EAAc9K,OAAO,CAAC9L,MAAtB,CAApB;AACH,KAJD,MAKK;AACD,aAAO;AAAEzE,QAAAA,QAAQ,EAAEyV,GAAG,CAACzV,QAAhB;AAA0BC,QAAAA,KAAK,EAAEwV,GAAG,CAACxV,KAArC;AAA4CwK,QAAAA,MAAM,EAAEgL,GAAG,CAAChL;AAAxD,OAAP;AACH;AACJ;;AACDoG,EAAAA,YAAY,CAAC4E,GAAD,EAAMlF,OAAN,EAAe;AACvB,UAAMjS,OAAO,GAAGiS,OAAO,CAAC4E,qBAAR,GAAgC,KAAKiG,YAAL,CAAkB3F,GAAG,CAACnX,OAAtB,EAA+BiS,OAA/B,CAAhD;;AACA,UAAMuJ,QAAQ,GAAGvJ,OAAO,CAACoJ,eAAzB;;AACA,QAAIrb,OAAO,CAAC2B,KAAZ,EAAmB;AACfsQ,MAAAA,OAAO,CAAC+K,aAAR,CAAsBhd,OAAO,CAAC2B,KAA9B;AACA6Z,MAAAA,QAAQ,CAACgB,qBAAT;AACH;;AACD,UAAMnc,KAAK,GAAG8W,GAAG,CAAC9W,KAAlB;;AACA,QAAIA,KAAK,CAACR,IAAN,IAAc;AAAE;AAApB,MAAqC;AACjC,WAAK2S,cAAL,CAAoBnS,KAApB,EAA2B4R,OAA3B;AACH,KAFD,MAGK;AACDA,MAAAA,OAAO,CAAC+K,aAAR,CAAsBhd,OAAO,CAAC0B,QAA9B;AACA,WAAK+Q,UAAL,CAAgBpS,KAAhB,EAAuB4R,OAAvB;AACAuJ,MAAAA,QAAQ,CAACmB,qBAAT;AACH;;AACD1K,IAAAA,OAAO,CAAC4E,qBAAR,GAAgC,IAAhC;AACA5E,IAAAA,OAAO,CAACgK,YAAR,GAAuB9E,GAAvB;AACH;;AACD1E,EAAAA,UAAU,CAAC0E,GAAD,EAAMlF,OAAN,EAAe;AACrB,UAAMuJ,QAAQ,GAAGvJ,OAAO,CAACoJ,eAAzB;AACA,UAAMrb,OAAO,GAAGiS,OAAO,CAAC4E,qBAAxB,CAFqB,CAGrB;AACA;;AACA,QAAI,CAAC7W,OAAD,IAAYwb,QAAQ,CAACyB,yBAAT,GAAqCrZ,MAArD,EAA6D;AACzD4X,MAAAA,QAAQ,CAAC0B,YAAT;AACH;;AACD,UAAM/Q,MAAM,GAAInM,OAAO,IAAIA,OAAO,CAACmM,MAApB,IAA+BgL,GAAG,CAAChL,MAAlD;;AACA,QAAIgL,GAAG,CAACD,WAAR,EAAqB;AACjBsE,MAAAA,QAAQ,CAAC2B,cAAT,CAAwBhR,MAAxB;AACH,KAFD,MAGK;AACDqP,MAAAA,QAAQ,CAAC3L,SAAT,CAAmBsH,GAAG,CAAClX,MAAvB,EAA+BkM,MAA/B,EAAuC8F,OAAO,CAAC9L,MAA/C,EAAuD8L,OAAO,CAACnS,OAA/D;AACH;;AACDmS,IAAAA,OAAO,CAACgK,YAAR,GAAuB9E,GAAvB;AACH;;AACD3E,EAAAA,cAAc,CAAC2E,GAAD,EAAMlF,OAAN,EAAe;AACzB,UAAM4E,qBAAqB,GAAG5E,OAAO,CAAC4E,qBAAtC;AACA,UAAMc,SAAS,GAAI1F,OAAO,CAACoJ,eAAT,CAA0B3Z,QAA5C;AACA,UAAMA,QAAQ,GAAGmV,qBAAqB,CAACnV,QAAvC;AACA,UAAMma,YAAY,GAAG5J,OAAO,CAAC6J,gBAAR,EAArB;AACA,UAAMsB,aAAa,GAAGvB,YAAY,CAACR,eAAnC;AACA+B,IAAAA,aAAa,CAACjR,MAAd,GAAuB0K,qBAAqB,CAAC1K,MAA7C;AACAgL,IAAAA,GAAG,CAAClX,MAAJ,CAAWqC,OAAX,CAAmBmU,IAAI,IAAI;AACvB,YAAMlW,MAAM,GAAGkW,IAAI,CAAClW,MAAL,IAAe,CAA9B;AACA6c,MAAAA,aAAa,CAACC,WAAd,CAA0B9c,MAAM,GAAGmB,QAAnC;AACA0b,MAAAA,aAAa,CAACvN,SAAd,CAAwB4G,IAAI,CAACxW,MAA7B,EAAqCwW,IAAI,CAACtK,MAA1C,EAAkD8F,OAAO,CAAC9L,MAA1D,EAAkE8L,OAAO,CAACnS,OAA1E;AACAsd,MAAAA,aAAa,CAACT,qBAAd;AACH,KALD,EAPyB,CAazB;AACA;;AACA1K,IAAAA,OAAO,CAACoJ,eAAR,CAAwBwB,4BAAxB,CAAqDO,aAArD,EAfyB,CAgBzB;AACA;;AACAnL,IAAAA,OAAO,CAAC+J,wBAAR,CAAiCrE,SAAS,GAAGjW,QAA7C;AACAuQ,IAAAA,OAAO,CAACgK,YAAR,GAAuB9E,GAAvB;AACH;;AACDtE,EAAAA,UAAU,CAACsE,GAAD,EAAMlF,OAAN,EAAe;AACrB;AACA;AACA,UAAM0F,SAAS,GAAG1F,OAAO,CAACoJ,eAAR,CAAwBnG,WAA1C;AACA,UAAMpV,OAAO,GAAIqX,GAAG,CAACrX,OAAJ,IAAe,EAAhC;AACA,UAAM6B,KAAK,GAAG7B,OAAO,CAAC6B,KAAR,GAAgBgM,kBAAkB,CAAC7N,OAAO,CAAC6B,KAAT,CAAlC,GAAoD,CAAlE;;AACA,QAAIA,KAAK,KACJsQ,OAAO,CAACgK,YAAR,CAAqBpc,IAArB,KAA8B;AAAE;AAAhC,OACI8X,SAAS,IAAI,CAAb,IAAkB1F,OAAO,CAACoJ,eAAR,CAAwB4B,yBAAxB,GAAoDrZ,MAFtE,CAAT,EAEyF;AACrFqO,MAAAA,OAAO,CAACoJ,eAAR,CAAwBmB,qBAAxB;AACAvK,MAAAA,OAAO,CAACgK,YAAR,GAAuBQ,0BAAvB;AACH;;AACD,QAAIjG,YAAY,GAAGmB,SAAnB;AACA,UAAM2F,IAAI,GAAGrL,OAAO,CAACtG,WAAR,CAAoBwL,GAAG,CAAClW,QAAxB,EAAkCkW,GAAG,CAAC4B,gBAAtC,EAAwD5B,GAAG,CAACoB,KAA5D,EAAmEpB,GAAG,CAACyB,WAAvE,EAAoF9Y,OAAO,CAACgZ,QAAR,GAAmB,IAAnB,GAA0B,KAA9G,EAAqH7G,OAAO,CAAC9L,MAA7H,CAAb;AACA8L,IAAAA,OAAO,CAACsL,iBAAR,GAA4BD,IAAI,CAAC1Z,MAAjC;AACA,QAAI4Z,mBAAmB,GAAG,IAA1B;AACAF,IAAAA,IAAI,CAAChb,OAAL,CAAa,CAAC0D,OAAD,EAAU4E,CAAV,KAAgB;AACzBqH,MAAAA,OAAO,CAACwL,iBAAR,GAA4B7S,CAA5B;AACA,YAAMiR,YAAY,GAAG5J,OAAO,CAAC6J,gBAAR,CAAyB3E,GAAG,CAACrX,OAA7B,EAAsCkG,OAAtC,CAArB;;AACA,UAAIrE,KAAJ,EAAW;AACPka,QAAAA,YAAY,CAACa,aAAb,CAA2B/a,KAA3B;AACH;;AACD,UAAIqE,OAAO,KAAKiM,OAAO,CAACjM,OAAxB,EAAiC;AAC7BwX,QAAAA,mBAAmB,GAAG3B,YAAY,CAACR,eAAnC;AACH;;AACDvJ,MAAAA,YAAY,CAAC,IAAD,EAAOqF,GAAG,CAACtW,SAAX,EAAsBgb,YAAtB,CAAZ,CATyB,CAUzB;AACA;AACA;;AACAA,MAAAA,YAAY,CAACR,eAAb,CAA6BsB,qBAA7B;AACA,YAAMjF,OAAO,GAAGmE,YAAY,CAACR,eAAb,CAA6BnG,WAA7C;AACAsB,MAAAA,YAAY,GAAGhS,IAAI,CAACC,GAAL,CAAS+R,YAAT,EAAuBkB,OAAvB,CAAf;AACH,KAhBD;AAiBAzF,IAAAA,OAAO,CAACwL,iBAAR,GAA4B,CAA5B;AACAxL,IAAAA,OAAO,CAACsL,iBAAR,GAA4B,CAA5B;AACAtL,IAAAA,OAAO,CAAC+J,wBAAR,CAAiCxF,YAAjC;;AACA,QAAIgH,mBAAJ,EAAyB;AACrBvL,MAAAA,OAAO,CAACoJ,eAAR,CAAwBwB,4BAAxB,CAAqDW,mBAArD;AACAvL,MAAAA,OAAO,CAACoJ,eAAR,CAAwBmB,qBAAxB;AACH;;AACDvK,IAAAA,OAAO,CAACgK,YAAR,GAAuB9E,GAAvB;AACH;;AACDrE,EAAAA,YAAY,CAACqE,GAAD,EAAMlF,OAAN,EAAe;AACvB,UAAMyL,aAAa,GAAGzL,OAAO,CAACyL,aAA9B;AACA,UAAMhC,EAAE,GAAGzJ,OAAO,CAACoJ,eAAnB;AACA,UAAMrb,OAAO,GAAGmX,GAAG,CAACnX,OAApB;AACA,UAAM0B,QAAQ,GAAG8C,IAAI,CAACmZ,GAAL,CAAS3d,OAAO,CAAC0B,QAAjB,CAAjB;AACA,UAAMkc,OAAO,GAAGlc,QAAQ,IAAIuQ,OAAO,CAACsL,iBAAR,GAA4B,CAAhC,CAAxB;AACA,QAAI5b,KAAK,GAAGD,QAAQ,GAAGuQ,OAAO,CAACwL,iBAA/B;AACA,QAAII,kBAAkB,GAAG7d,OAAO,CAAC0B,QAAR,GAAmB,CAAnB,GAAuB,SAAvB,GAAmC1B,OAAO,CAACmM,MAApE;;AACA,YAAQ0R,kBAAR;AACI,WAAK,SAAL;AACIlc,QAAAA,KAAK,GAAGic,OAAO,GAAGjc,KAAlB;AACA;;AACJ,WAAK,MAAL;AACIA,QAAAA,KAAK,GAAG+b,aAAa,CAACI,kBAAtB;AACA;AANR;;AAQA,UAAMtC,QAAQ,GAAGvJ,OAAO,CAACoJ,eAAzB;;AACA,QAAI1Z,KAAJ,EAAW;AACP6Z,MAAAA,QAAQ,CAACkB,aAAT,CAAuB/a,KAAvB;AACH;;AACD,UAAMoc,YAAY,GAAGvC,QAAQ,CAACtG,WAA9B;AACApD,IAAAA,YAAY,CAAC,IAAD,EAAOqF,GAAG,CAACtW,SAAX,EAAsBoR,OAAtB,CAAZ;AACAA,IAAAA,OAAO,CAACgK,YAAR,GAAuB9E,GAAvB,CAtBuB,CAuBvB;AACA;AACA;AACA;;AACAuG,IAAAA,aAAa,CAACI,kBAAd,GACKpC,EAAE,CAACxG,WAAH,GAAiB6I,YAAlB,IAAmCrC,EAAE,CAAC/D,SAAH,GAAe+F,aAAa,CAACrC,eAAd,CAA8B1D,SAAhF,CADJ;AAEH;;AAhQiC;;AAkQtC,MAAM8E,0BAA0B,GAAG,EAAnC;;AACA,MAAMrB,wBAAN,CAA+B;AAC3B3Z,EAAAA,WAAW,CAACoT,OAAD,EAAU7O,OAAV,EAAmBiV,eAAnB,EAAoC+C,eAApC,EAAqDC,eAArD,EAAsE9X,MAAtE,EAA8EmV,SAA9E,EAAyF4C,eAAzF,EAA0G;AACjH,SAAKrJ,OAAL,GAAeA,OAAf;AACA,SAAK7O,OAAL,GAAeA,OAAf;AACA,SAAKiV,eAAL,GAAuBA,eAAvB;AACA,SAAK+C,eAAL,GAAuBA,eAAvB;AACA,SAAKC,eAAL,GAAuBA,eAAvB;AACA,SAAK9X,MAAL,GAAcA,MAAd;AACA,SAAKmV,SAAL,GAAiBA,SAAjB;AACA,SAAKoC,aAAL,GAAqB,IAArB;AACA,SAAK7G,qBAAL,GAA6B,IAA7B;AACA,SAAKoF,YAAL,GAAoBQ,0BAApB;AACA,SAAKH,eAAL,GAAuB,CAAvB;AACA,SAAKxc,OAAL,GAAe,EAAf;AACA,SAAK2d,iBAAL,GAAyB,CAAzB;AACA,SAAKF,iBAAL,GAAyB,CAAzB;AACA,SAAKO,kBAAL,GAA0B,CAA1B;AACA,SAAKzC,eAAL,GAAuB6C,eAAe,IAAI,IAAIC,eAAJ,CAAoB,KAAKtJ,OAAzB,EAAkC7O,OAAlC,EAA2C,CAA3C,CAA1C;AACAsV,IAAAA,SAAS,CAAC7Y,IAAV,CAAe,KAAK4Y,eAApB;AACH;;AACS,MAANlL,MAAM,GAAG;AACT,WAAO,KAAKrQ,OAAL,CAAaqQ,MAApB;AACH;;AACDkM,EAAAA,aAAa,CAACvc,OAAD,EAAUse,YAAV,EAAwB;AACjC,QAAI,CAACte,OAAL,EACI;AACJ,UAAMue,UAAU,GAAGve,OAAnB;AACA,QAAIwe,eAAe,GAAG,KAAKxe,OAA3B,CAJiC,CAKjC;;AACA,QAAIue,UAAU,CAAC3c,QAAX,IAAuB,IAA3B,EAAiC;AAC7B4c,MAAAA,eAAe,CAAC5c,QAAhB,GAA2BiM,kBAAkB,CAAC0Q,UAAU,CAAC3c,QAAZ,CAA7C;AACH;;AACD,QAAI2c,UAAU,CAAC1c,KAAX,IAAoB,IAAxB,EAA8B;AAC1B2c,MAAAA,eAAe,CAAC3c,KAAhB,GAAwBgM,kBAAkB,CAAC0Q,UAAU,CAAC1c,KAAZ,CAA1C;AACH;;AACD,UAAM4c,SAAS,GAAGF,UAAU,CAAClO,MAA7B;;AACA,QAAIoO,SAAJ,EAAe;AACX,UAAIC,cAAc,GAAGF,eAAe,CAACnO,MAArC;;AACA,UAAI,CAACqO,cAAL,EAAqB;AACjBA,QAAAA,cAAc,GAAG,KAAK1e,OAAL,CAAaqQ,MAAb,GAAsB,EAAvC;AACH;;AACDzJ,MAAAA,MAAM,CAACC,IAAP,CAAY4X,SAAZ,EAAuBjc,OAAvB,CAA+B3C,IAAI,IAAI;AACnC,YAAI,CAACye,YAAD,IAAiB,CAACI,cAAc,CAACtQ,cAAf,CAA8BvO,IAA9B,CAAtB,EAA2D;AACvD6e,UAAAA,cAAc,CAAC7e,IAAD,CAAd,GAAuB+Q,iBAAiB,CAAC6N,SAAS,CAAC5e,IAAD,CAAV,EAAkB6e,cAAlB,EAAkC,KAAKrY,MAAvC,CAAxC;AACH;AACJ,OAJD;AAKH;AACJ;;AACDsY,EAAAA,YAAY,GAAG;AACX,UAAM3e,OAAO,GAAG,EAAhB;;AACA,QAAI,KAAKA,OAAT,EAAkB;AACd,YAAM4e,SAAS,GAAG,KAAK5e,OAAL,CAAaqQ,MAA/B;;AACA,UAAIuO,SAAJ,EAAe;AACX,cAAMvO,MAAM,GAAGrQ,OAAO,CAAC,QAAD,CAAP,GAAoB,EAAnC;AACA4G,QAAAA,MAAM,CAACC,IAAP,CAAY+X,SAAZ,EAAuBpc,OAAvB,CAA+B3C,IAAI,IAAI;AACnCwQ,UAAAA,MAAM,CAACxQ,IAAD,CAAN,GAAe+e,SAAS,CAAC/e,IAAD,CAAxB;AACH,SAFD;AAGH;AACJ;;AACD,WAAOG,OAAP;AACH;;AACDgc,EAAAA,gBAAgB,CAAChc,OAAO,GAAG,IAAX,EAAiBkG,OAAjB,EAA0B2Y,OAA1B,EAAmC;AAC/C,UAAMC,MAAM,GAAG5Y,OAAO,IAAI,KAAKA,OAA/B;AACA,UAAMiM,OAAO,GAAG,IAAImJ,wBAAJ,CAA6B,KAAKvG,OAAlC,EAA2C+J,MAA3C,EAAmD,KAAK3D,eAAxD,EAAyE,KAAK+C,eAA9E,EAA+F,KAAKC,eAApG,EAAqH,KAAK9X,MAA1H,EAAkI,KAAKmV,SAAvI,EAAkJ,KAAKD,eAAL,CAAqBwD,IAArB,CAA0BD,MAA1B,EAAkCD,OAAO,IAAI,CAA7C,CAAlJ,CAAhB;AACA1M,IAAAA,OAAO,CAACgK,YAAR,GAAuB,KAAKA,YAA5B;AACAhK,IAAAA,OAAO,CAAC4E,qBAAR,GAAgC,KAAKA,qBAArC;AACA5E,IAAAA,OAAO,CAACnS,OAAR,GAAkB,KAAK2e,YAAL,EAAlB;AACAxM,IAAAA,OAAO,CAACoK,aAAR,CAAsBvc,OAAtB;AACAmS,IAAAA,OAAO,CAACwL,iBAAR,GAA4B,KAAKA,iBAAjC;AACAxL,IAAAA,OAAO,CAACsL,iBAAR,GAA4B,KAAKA,iBAAjC;AACAtL,IAAAA,OAAO,CAACyL,aAAR,GAAwB,IAAxB;AACA,SAAKpB,eAAL;AACA,WAAOrK,OAAP;AACH;;AACD+J,EAAAA,wBAAwB,CAAC2C,OAAD,EAAU;AAC9B,SAAK1C,YAAL,GAAoBQ,0BAApB;AACA,SAAKpB,eAAL,GAAuB,KAAKA,eAAL,CAAqBwD,IAArB,CAA0B,KAAK7Y,OAA/B,EAAwC2Y,OAAxC,CAAvB;AACA,SAAKrD,SAAL,CAAe7Y,IAAf,CAAoB,KAAK4Y,eAAzB;AACA,WAAO,KAAKA,eAAZ;AACH;;AACDe,EAAAA,2BAA2B,CAACF,WAAD,EAAcxa,QAAd,EAAwBC,KAAxB,EAA+B;AACtD,UAAMmd,cAAc,GAAG;AACnBpd,MAAAA,QAAQ,EAAEA,QAAQ,IAAI,IAAZ,GAAmBA,QAAnB,GAA8Bwa,WAAW,CAACxa,QADjC;AAEnBC,MAAAA,KAAK,EAAE,KAAK0Z,eAAL,CAAqBnG,WAArB,IAAoCvT,KAAK,IAAI,IAAT,GAAgBA,KAAhB,GAAwB,CAA5D,IAAiEua,WAAW,CAACva,KAFjE;AAGnBwK,MAAAA,MAAM,EAAE;AAHW,KAAvB;AAKA,UAAM4S,OAAO,GAAG,IAAIC,kBAAJ,CAAuB,KAAKnK,OAA5B,EAAqCqH,WAAW,CAAClW,OAAjD,EAA0DkW,WAAW,CAACzb,SAAtE,EAAiFyb,WAAW,CAACvC,aAA7F,EAA4GuC,WAAW,CAACtC,cAAxH,EAAwIkF,cAAxI,EAAwJ5C,WAAW,CAAC+C,uBAApK,CAAhB;AACA,SAAK3D,SAAL,CAAe7Y,IAAf,CAAoBsc,OAApB;AACA,WAAOD,cAAP;AACH;;AACD9B,EAAAA,aAAa,CAACzY,IAAD,EAAO;AAChB,SAAK8W,eAAL,CAAqBgC,WAArB,CAAiC,KAAKhC,eAAL,CAAqB3Z,QAArB,GAAgC6C,IAAjE;AACH;;AACDmY,EAAAA,aAAa,CAAC/a,KAAD,EAAQ;AACjB;AACA,QAAIA,KAAK,GAAG,CAAZ,EAAe;AACX,WAAK0Z,eAAL,CAAqBqB,aAArB,CAAmC/a,KAAnC;AACH;AACJ;;AACDgK,EAAAA,WAAW,CAAC1K,QAAD,EAAW8X,gBAAX,EAA6BR,KAA7B,EAAoCK,WAApC,EAAiDE,QAAjD,EAA2D3S,MAA3D,EAAmE;AAC1E,QAAIsE,OAAO,GAAG,EAAd;;AACA,QAAImO,WAAJ,EAAiB;AACbnO,MAAAA,OAAO,CAAChI,IAAR,CAAa,KAAKuD,OAAlB;AACH;;AACD,QAAI/E,QAAQ,CAAC2C,MAAT,GAAkB,CAAtB,EAAyB;AAAE;AACvB3C,MAAAA,QAAQ,GAAGA,QAAQ,CAAC+K,OAAT,CAAiBwO,iBAAjB,EAAoC,MAAM,KAAKwD,eAA/C,CAAX;AACA/c,MAAAA,QAAQ,GAAGA,QAAQ,CAAC+K,OAAT,CAAiB0O,iBAAjB,EAAoC,MAAM,KAAKuD,eAA/C,CAAX;AACA,YAAMzU,KAAK,GAAG+O,KAAK,IAAI,CAAvB;;AACA,UAAI2G,QAAQ,GAAG,KAAKrK,OAAL,CAAa7T,KAAb,CAAmB,KAAKgF,OAAxB,EAAiC/E,QAAjC,EAA2CuI,KAA3C,CAAf;;AACA,UAAI+O,KAAK,KAAK,CAAd,EAAiB;AACb2G,QAAAA,QAAQ,GAAG3G,KAAK,GAAG,CAAR,GAAY2G,QAAQ,CAACC,KAAT,CAAeD,QAAQ,CAACtb,MAAT,GAAkB2U,KAAjC,EAAwC2G,QAAQ,CAACtb,MAAjD,CAAZ,GACPsb,QAAQ,CAACC,KAAT,CAAe,CAAf,EAAkB5G,KAAlB,CADJ;AAEH;;AACD9N,MAAAA,OAAO,CAAChI,IAAR,CAAa,GAAGyc,QAAhB;AACH;;AACD,QAAI,CAACpG,QAAD,IAAarO,OAAO,CAAC7G,MAAR,IAAkB,CAAnC,EAAsC;AAClCuC,MAAAA,MAAM,CAAC1D,IAAP,CAAa,YAAWsW,gBAAiB,8CAA6CA,gBAAiB,sDAAvG;AACH;;AACD,WAAOtO,OAAP;AACH;;AAvH0B;;AAyH/B,MAAM0T,eAAN,CAAsB;AAClB1c,EAAAA,WAAW,CAACoT,OAAD,EAAU7O,OAAV,EAAmB2R,SAAnB,EAA8ByH,4BAA9B,EAA4D;AACnE,SAAKvK,OAAL,GAAeA,OAAf;AACA,SAAK7O,OAAL,GAAeA,OAAf;AACA,SAAK2R,SAAL,GAAiBA,SAAjB;AACA,SAAKyH,4BAAL,GAAoCA,4BAApC;AACA,SAAK1d,QAAL,GAAgB,CAAhB;AACA,SAAK2d,iBAAL,GAAyB,EAAzB;AACA,SAAKC,gBAAL,GAAwB,EAAxB;AACA,SAAKC,UAAL,GAAkB,IAAIjX,GAAJ,EAAlB;AACA,SAAKkX,aAAL,GAAqB,EAArB;AACA,SAAKC,cAAL,GAAsB,EAAtB;AACA,SAAKC,SAAL,GAAiB,EAAjB;AACA,SAAKC,yBAAL,GAAiC,IAAjC;;AACA,QAAI,CAAC,KAAKP,4BAAV,EAAwC;AACpC,WAAKA,4BAAL,GAAoC,IAAI9W,GAAJ,EAApC;AACH;;AACD,SAAKsX,oBAAL,GAA4BlZ,MAAM,CAACmZ,MAAP,CAAc,KAAKH,SAAnB,EAA8B,EAA9B,CAA5B;AACA,SAAKI,qBAAL,GAA6B,KAAKV,4BAAL,CAAkC7W,GAAlC,CAAsCvC,OAAtC,CAA7B;;AACA,QAAI,CAAC,KAAK8Z,qBAAV,EAAiC;AAC7B,WAAKA,qBAAL,GAA6B,KAAKF,oBAAlC;;AACA,WAAKR,4BAAL,CAAkC5W,GAAlC,CAAsCxC,OAAtC,EAA+C,KAAK4Z,oBAApD;AACH;;AACD,SAAKG,aAAL;AACH;;AACDtE,EAAAA,iBAAiB,GAAG;AAChB,YAAQ,KAAK8D,UAAL,CAAgBrJ,IAAxB;AACI,WAAK,CAAL;AACI,eAAO,KAAP;;AACJ,WAAK,CAAL;AACI,eAAO,KAAK+G,yBAAL,GAAiCrZ,MAAjC,GAA0C,CAAjD;;AACJ;AACI,eAAO,IAAP;AANR;AAQH;;AACDqZ,EAAAA,yBAAyB,GAAG;AACxB,WAAOvW,MAAM,CAACC,IAAP,CAAY,KAAK2Y,gBAAjB,CAAP;AACH;;AACc,MAAXpK,WAAW,GAAG;AACd,WAAO,KAAKyC,SAAL,GAAiB,KAAKjW,QAA7B;AACH;;AACDgb,EAAAA,aAAa,CAAC/a,KAAD,EAAQ;AACjB;AACA;AACA;AACA;AACA,UAAMqe,eAAe,GAAG,KAAKT,UAAL,CAAgBrJ,IAAhB,IAAwB,CAAxB,IAA6BxP,MAAM,CAACC,IAAP,CAAY,KAAK8Y,cAAjB,EAAiC7b,MAAtF;;AACA,QAAI,KAAKlC,QAAL,IAAiBse,eAArB,EAAsC;AAClC,WAAK3C,WAAL,CAAiB,KAAKnI,WAAL,GAAmBvT,KAApC;;AACA,UAAIqe,eAAJ,EAAqB;AACjB,aAAKxD,qBAAL;AACH;AACJ,KALD,MAMK;AACD,WAAK7E,SAAL,IAAkBhW,KAAlB;AACH;AACJ;;AACDkd,EAAAA,IAAI,CAAC7Y,OAAD,EAAUkP,WAAV,EAAuB;AACvB,SAAKyH,qBAAL;AACA,WAAO,IAAIwB,eAAJ,CAAoB,KAAKtJ,OAAzB,EAAkC7O,OAAlC,EAA2CkP,WAAW,IAAI,KAAKA,WAA/D,EAA4E,KAAKkK,4BAAjF,CAAP;AACH;;AACDW,EAAAA,aAAa,GAAG;AACZ,QAAI,KAAKT,gBAAT,EAA2B;AACvB,WAAKD,iBAAL,GAAyB,KAAKC,gBAA9B;AACH;;AACD,SAAKA,gBAAL,GAAwB,KAAKC,UAAL,CAAgBhX,GAAhB,CAAoB,KAAK7G,QAAzB,CAAxB;;AACA,QAAI,CAAC,KAAK4d,gBAAV,EAA4B;AACxB,WAAKA,gBAAL,GAAwB5Y,MAAM,CAACmZ,MAAP,CAAc,KAAKH,SAAnB,EAA8B,EAA9B,CAAxB;;AACA,WAAKH,UAAL,CAAgB/W,GAAhB,CAAoB,KAAK9G,QAAzB,EAAmC,KAAK4d,gBAAxC;AACH;AACJ;;AACDpC,EAAAA,YAAY,GAAG;AACX,SAAKxb,QAAL,IAAiB4Y,yBAAjB;;AACA,SAAKyF,aAAL;AACH;;AACD1C,EAAAA,WAAW,CAAC9Y,IAAD,EAAO;AACd,SAAKoY,qBAAL;AACA,SAAKjb,QAAL,GAAgB6C,IAAhB;;AACA,SAAKwb,aAAL;AACH;;AACDE,EAAAA,YAAY,CAACrZ,IAAD,EAAOyB,KAAP,EAAc;AACtB,SAAKuX,oBAAL,CAA0BhZ,IAA1B,IAAkCyB,KAAlC;AACA,SAAKyX,qBAAL,CAA2BlZ,IAA3B,IAAmCyB,KAAnC;AACA,SAAKmX,aAAL,CAAmB5Y,IAAnB,IAA2B;AAAErC,MAAAA,IAAI,EAAE,KAAK2Q,WAAb;AAA0B7M,MAAAA;AAA1B,KAA3B;AACH;;AACDsT,EAAAA,uBAAuB,GAAG;AACtB,WAAO,KAAKgE,yBAAL,KAAmC,KAAKL,gBAA/C;AACH;;AACDnC,EAAAA,cAAc,CAAChR,MAAD,EAAS;AACnB,QAAIA,MAAJ,EAAY;AACR,WAAKkT,iBAAL,CAAuB,QAAvB,IAAmClT,MAAnC;AACH,KAHkB,CAInB;AACA;AACA;AACA;AACA;AACA;;;AACAzF,IAAAA,MAAM,CAACC,IAAP,CAAY,KAAKmZ,qBAAjB,EAAwCxd,OAAxC,CAAgDsE,IAAI,IAAI;AACpD,WAAK8Y,SAAL,CAAe9Y,IAAf,IAAuB,KAAKkZ,qBAAL,CAA2BlZ,IAA3B,KAAoCnH,2DAA3D;AACA,WAAK6f,gBAAL,CAAsB1Y,IAAtB,IAA8BnH,2DAA9B;AACH,KAHD;AAIA,SAAKkgB,yBAAL,GAAiC,KAAKL,gBAAtC;AACH;;AACDzP,EAAAA,SAAS,CAACwB,KAAD,EAAQlF,MAAR,EAAgBhG,MAAhB,EAAwBrG,OAAxB,EAAiC;AACtC,QAAIqM,MAAJ,EAAY;AACR,WAAKkT,iBAAL,CAAuB,QAAvB,IAAmClT,MAAnC;AACH;;AACD,UAAMgE,MAAM,GAAIrQ,OAAO,IAAIA,OAAO,CAACqQ,MAApB,IAA+B,EAA9C;AACA,UAAMlQ,MAAM,GAAGigB,aAAa,CAAC7O,KAAD,EAAQ,KAAKyO,qBAAb,CAA5B;AACApZ,IAAAA,MAAM,CAACC,IAAP,CAAY1G,MAAZ,EAAoBqC,OAApB,CAA4BsE,IAAI,IAAI;AAChC,YAAMuZ,GAAG,GAAGzP,iBAAiB,CAACzQ,MAAM,CAAC2G,IAAD,CAAP,EAAeuJ,MAAf,EAAuBhK,MAAvB,CAA7B;AACA,WAAKsZ,cAAL,CAAoB7Y,IAApB,IAA4BuZ,GAA5B;;AACA,UAAI,CAAC,KAAKP,oBAAL,CAA0B1R,cAA1B,CAAyCtH,IAAzC,CAAL,EAAqD;AACjD,aAAK8Y,SAAL,CAAe9Y,IAAf,IAAuB,KAAKkZ,qBAAL,CAA2B5R,cAA3B,CAA0CtH,IAA1C,IACnB,KAAKkZ,qBAAL,CAA2BlZ,IAA3B,CADmB,GAEnBnH,2DAFJ;AAGH;;AACD,WAAKwgB,YAAL,CAAkBrZ,IAAlB,EAAwBuZ,GAAxB;AACH,KATD;AAUH;;AACDxD,EAAAA,qBAAqB,GAAG;AACpB,UAAM1c,MAAM,GAAG,KAAKwf,cAApB;AACA,UAAMW,KAAK,GAAG1Z,MAAM,CAACC,IAAP,CAAY1G,MAAZ,CAAd;AACA,QAAImgB,KAAK,CAACxc,MAAN,IAAgB,CAApB,EACI;AACJ,SAAK6b,cAAL,GAAsB,EAAtB;AACAW,IAAAA,KAAK,CAAC9d,OAAN,CAAcsE,IAAI,IAAI;AAClB,YAAMuZ,GAAG,GAAGlgB,MAAM,CAAC2G,IAAD,CAAlB;AACA,WAAK0Y,gBAAL,CAAsB1Y,IAAtB,IAA8BuZ,GAA9B;AACH,KAHD;AAIAzZ,IAAAA,MAAM,CAACC,IAAP,CAAY,KAAKiZ,oBAAjB,EAAuCtd,OAAvC,CAA+CsE,IAAI,IAAI;AACnD,UAAI,CAAC,KAAK0Y,gBAAL,CAAsBpR,cAAtB,CAAqCtH,IAArC,CAAL,EAAiD;AAC7C,aAAK0Y,gBAAL,CAAsB1Y,IAAtB,IAA8B,KAAKgZ,oBAAL,CAA0BhZ,IAA1B,CAA9B;AACH;AACJ,KAJD;AAKH;;AACD4V,EAAAA,qBAAqB,GAAG;AACpB9V,IAAAA,MAAM,CAACC,IAAP,CAAY,KAAKiZ,oBAAjB,EAAuCtd,OAAvC,CAA+CsE,IAAI,IAAI;AACnD,YAAMuZ,GAAG,GAAG,KAAKP,oBAAL,CAA0BhZ,IAA1B,CAAZ;AACA,WAAK6Y,cAAL,CAAoB7Y,IAApB,IAA4BuZ,GAA5B;;AACA,WAAKF,YAAL,CAAkBrZ,IAAlB,EAAwBuZ,GAAxB;AACH,KAJD;AAKH;;AACDE,EAAAA,gBAAgB,GAAG;AACf,WAAO,KAAKd,UAAL,CAAgBhX,GAAhB,CAAoB,KAAK7G,QAAzB,CAAP;AACH;;AACa,MAAV4e,UAAU,GAAG;AACb,UAAMA,UAAU,GAAG,EAAnB;;AACA,SAAK,IAAI1Z,IAAT,IAAiB,KAAK0Y,gBAAtB,EAAwC;AACpCgB,MAAAA,UAAU,CAAC7d,IAAX,CAAgBmE,IAAhB;AACH;;AACD,WAAO0Z,UAAP;AACH;;AACDzD,EAAAA,4BAA4B,CAACrB,QAAD,EAAW;AACnC9U,IAAAA,MAAM,CAACC,IAAP,CAAY6U,QAAQ,CAACgE,aAArB,EAAoCld,OAApC,CAA4CsE,IAAI,IAAI;AAChD,YAAM2Z,QAAQ,GAAG,KAAKf,aAAL,CAAmB5Y,IAAnB,CAAjB;AACA,YAAM4Z,QAAQ,GAAGhF,QAAQ,CAACgE,aAAT,CAAuB5Y,IAAvB,CAAjB;;AACA,UAAI,CAAC2Z,QAAD,IAAaC,QAAQ,CAACjc,IAAT,GAAgBgc,QAAQ,CAAChc,IAA1C,EAAgD;AAC5C,aAAK0b,YAAL,CAAkBrZ,IAAlB,EAAwB4Z,QAAQ,CAACnY,KAAjC;AACH;AACJ,KAND;AAOH;;AACD8S,EAAAA,cAAc,GAAG;AACb,SAAKwB,qBAAL;AACA,UAAMhD,aAAa,GAAG,IAAI9F,GAAJ,EAAtB;AACA,UAAM+F,cAAc,GAAG,IAAI/F,GAAJ,EAAvB;AACA,UAAMkD,OAAO,GAAG,KAAKwI,UAAL,CAAgBrJ,IAAhB,KAAyB,CAAzB,IAA8B,KAAKxU,QAAL,KAAkB,CAAhE;AACA,QAAI+e,cAAc,GAAG,EAArB;;AACA,SAAKlB,UAAL,CAAgBjd,OAAhB,CAAwB,CAACoe,QAAD,EAAWnc,IAAX,KAAoB;AACxC,YAAMoc,aAAa,GAAGzR,UAAU,CAACwR,QAAD,EAAW,IAAX,CAAhC;AACAha,MAAAA,MAAM,CAACC,IAAP,CAAYga,aAAZ,EAA2Bre,OAA3B,CAAmCsE,IAAI,IAAI;AACvC,cAAMyB,KAAK,GAAGsY,aAAa,CAAC/Z,IAAD,CAA3B;;AACA,YAAIyB,KAAK,IAAIpD,8DAAb,EAAyB;AACrB0U,UAAAA,aAAa,CAAC1D,GAAd,CAAkBrP,IAAlB;AACH,SAFD,MAGK,IAAIyB,KAAK,IAAI5I,2DAAb,EAAyB;AAC1Bma,UAAAA,cAAc,CAAC3D,GAAf,CAAmBrP,IAAnB;AACH;AACJ,OARD;;AASA,UAAI,CAACmQ,OAAL,EAAc;AACV4J,QAAAA,aAAa,CAAC,QAAD,CAAb,GAA0Bpc,IAAI,GAAG,KAAK7C,QAAtC;AACH;;AACD+e,MAAAA,cAAc,CAAChe,IAAf,CAAoBke,aAApB;AACH,KAfD;;AAgBA,UAAMC,QAAQ,GAAGjH,aAAa,CAACzD,IAAd,GAAqBnF,eAAe,CAAC4I,aAAa,CAACvD,MAAd,EAAD,CAApC,GAA+D,EAAhF;AACA,UAAMyK,SAAS,GAAGjH,cAAc,CAAC1D,IAAf,GAAsBnF,eAAe,CAAC6I,cAAc,CAACxD,MAAf,EAAD,CAArC,GAAiE,EAAnF,CAvBa,CAwBb;;AACA,QAAIW,OAAJ,EAAa;AACT,YAAM+J,GAAG,GAAGL,cAAc,CAAC,CAAD,CAA1B;AACA,YAAMM,GAAG,GAAGpS,OAAO,CAACmS,GAAD,CAAnB;AACAA,MAAAA,GAAG,CAAC,QAAD,CAAH,GAAgB,CAAhB;AACAC,MAAAA,GAAG,CAAC,QAAD,CAAH,GAAgB,CAAhB;AACAN,MAAAA,cAAc,GAAG,CAACK,GAAD,EAAMC,GAAN,CAAjB;AACH;;AACD,WAAOrH,yBAAyB,CAAC,KAAK1T,OAAN,EAAeya,cAAf,EAA+BG,QAA/B,EAAyCC,SAAzC,EAAoD,KAAKnf,QAAzD,EAAmE,KAAKiW,SAAxE,EAAmF,KAAKxL,MAAxF,EAAgG,KAAhG,CAAhC;AACH;;AApMiB;;AAsMtB,MAAM6S,kBAAN,SAAiCb,eAAjC,CAAiD;AAC7C1c,EAAAA,WAAW,CAACqE,MAAD,EAASE,OAAT,EAAkBvF,SAAlB,EAA6BkZ,aAA7B,EAA4CC,cAA5C,EAA4D5Z,OAA5D,EAAqEghB,wBAAwB,GAAG,KAAhG,EAAuG;AAC9G,UAAMlb,MAAN,EAAcE,OAAd,EAAuBhG,OAAO,CAAC2B,KAA/B;AACA,SAAKlB,SAAL,GAAiBA,SAAjB;AACA,SAAKkZ,aAAL,GAAqBA,aAArB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKoH,wBAAL,GAAgCA,wBAAhC;AACA,SAAKhhB,OAAL,GAAe;AAAE0B,MAAAA,QAAQ,EAAE1B,OAAO,CAAC0B,QAApB;AAA8BC,MAAAA,KAAK,EAAE3B,OAAO,CAAC2B,KAA7C;AAAoDwK,MAAAA,MAAM,EAAEnM,OAAO,CAACmM;AAApE,KAAf;AACH;;AACDsP,EAAAA,iBAAiB,GAAG;AAChB,WAAO,KAAKhb,SAAL,CAAemD,MAAf,GAAwB,CAA/B;AACH;;AACDuX,EAAAA,cAAc,GAAG;AACb,QAAI1a,SAAS,GAAG,KAAKA,SAArB;AACA,QAAI;AAAEkB,MAAAA,KAAF;AAASD,MAAAA,QAAT;AAAmByK,MAAAA;AAAnB,QAA8B,KAAKnM,OAAvC;;AACA,QAAI,KAAKghB,wBAAL,IAAiCrf,KAArC,EAA4C;AACxC,YAAMsf,YAAY,GAAG,EAArB;AACA,YAAM7e,SAAS,GAAGV,QAAQ,GAAGC,KAA7B;AACA,YAAMuf,WAAW,GAAGvf,KAAK,GAAGS,SAA5B,CAHwC,CAIxC;;AACA,YAAM+e,gBAAgB,GAAGjS,UAAU,CAACzO,SAAS,CAAC,CAAD,CAAV,EAAe,KAAf,CAAnC;AACA0gB,MAAAA,gBAAgB,CAAC,QAAD,CAAhB,GAA6B,CAA7B;AACAF,MAAAA,YAAY,CAACxe,IAAb,CAAkB0e,gBAAlB;AACA,YAAMC,gBAAgB,GAAGlS,UAAU,CAACzO,SAAS,CAAC,CAAD,CAAV,EAAe,KAAf,CAAnC;AACA2gB,MAAAA,gBAAgB,CAAC,QAAD,CAAhB,GAA6BC,WAAW,CAACH,WAAD,CAAxC;AACAD,MAAAA,YAAY,CAACxe,IAAb,CAAkB2e,gBAAlB;AACA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIY;;AACA,YAAM7I,KAAK,GAAG9X,SAAS,CAACmD,MAAV,GAAmB,CAAjC;;AACA,WAAK,IAAIgH,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAI2N,KAArB,EAA4B3N,CAAC,EAA7B,EAAiC;AAC7B,YAAIrE,EAAE,GAAG2I,UAAU,CAACzO,SAAS,CAACmK,CAAD,CAAV,EAAe,KAAf,CAAnB;AACA,cAAM0W,SAAS,GAAG/a,EAAE,CAAC,QAAD,CAApB;AACA,cAAMgb,cAAc,GAAG5f,KAAK,GAAG2f,SAAS,GAAG5f,QAA3C;AACA6E,QAAAA,EAAE,CAAC,QAAD,CAAF,GAAe8a,WAAW,CAACE,cAAc,GAAGnf,SAAlB,CAA1B;AACA6e,QAAAA,YAAY,CAACxe,IAAb,CAAkB8D,EAAlB;AACH,OAjCuC,CAkCxC;;;AACA7E,MAAAA,QAAQ,GAAGU,SAAX;AACAT,MAAAA,KAAK,GAAG,CAAR;AACAwK,MAAAA,MAAM,GAAG,EAAT;AACA1L,MAAAA,SAAS,GAAGwgB,YAAZ;AACH;;AACD,WAAOvH,yBAAyB,CAAC,KAAK1T,OAAN,EAAevF,SAAf,EAA0B,KAAKkZ,aAA/B,EAA8C,KAAKC,cAAnD,EAAmElY,QAAnE,EAA6EC,KAA7E,EAAoFwK,MAApF,EAA4F,IAA5F,CAAhC;AACH;;AAxD4C;;AA0DjD,SAASkV,WAAT,CAAqB9gB,MAArB,EAA6BihB,aAAa,GAAG,CAA7C,EAAgD;AAC5C,QAAMC,IAAI,GAAGjd,IAAI,CAACkd,GAAL,CAAS,EAAT,EAAaF,aAAa,GAAG,CAA7B,CAAb;AACA,SAAOhd,IAAI,CAACmd,KAAL,CAAWphB,MAAM,GAAGkhB,IAApB,IAA4BA,IAAnC;AACH;;AACD,SAASvB,aAAT,CAAuB7O,KAAvB,EAA8BuQ,SAA9B,EAAyC;AACrC,QAAM3hB,MAAM,GAAG,EAAf;AACA,MAAI4hB,aAAJ;AACAxQ,EAAAA,KAAK,CAAC/O,OAAN,CAAcqK,KAAK,IAAI;AACnB,QAAIA,KAAK,KAAK,GAAd,EAAmB;AACfkV,MAAAA,aAAa,GAAGA,aAAa,IAAInb,MAAM,CAACC,IAAP,CAAYib,SAAZ,CAAjC;AACAC,MAAAA,aAAa,CAACvf,OAAd,CAAsBsE,IAAI,IAAI;AAC1B3G,QAAAA,MAAM,CAAC2G,IAAD,CAAN,GAAenH,2DAAf;AACH,OAFD;AAGH,KALD,MAMK;AACDyP,MAAAA,UAAU,CAACvC,KAAD,EAAQ,KAAR,EAAe1M,MAAf,CAAV;AACH;AACJ,GAVD;AAWA,SAAOA,MAAP;AACH;;AAED,MAAM6hB,SAAN,CAAgB;AACZrgB,EAAAA,WAAW,CAACoT,OAAD,EAAUxD,KAAV,EAAiB;AACxB,SAAKwD,OAAL,GAAeA,OAAf;AACA,UAAM1O,MAAM,GAAG,EAAf;AACA,UAAMgR,GAAG,GAAG3C,iBAAiB,CAACK,OAAD,EAAUxD,KAAV,EAAiBlL,MAAjB,CAA7B;;AACA,QAAIA,MAAM,CAACvC,MAAX,EAAmB;AACf,YAAMme,YAAY,GAAI,iCAAgC5b,MAAM,CAACgB,IAAP,CAAY,IAAZ,CAAkB,EAAxE;AACA,YAAM,IAAID,KAAJ,CAAU6a,YAAV,CAAN;AACH;;AACD,SAAKC,aAAL,GAAqB7K,GAArB;AACH;;AACD8K,EAAAA,cAAc,CAACjc,OAAD,EAAU+U,cAAV,EAA0BmH,iBAA1B,EAA6CpiB,OAA7C,EAAsDmb,eAAtD,EAAuE;AACjF,UAAMkH,KAAK,GAAGnT,KAAK,CAACC,OAAN,CAAc8L,cAAd,IAAgCjM,eAAe,CAACiM,cAAD,CAA/C,GACVA,cADJ;AAEA,UAAMqH,IAAI,GAAGpT,KAAK,CAACC,OAAN,CAAciT,iBAAd,IAAmCpT,eAAe,CAACoT,iBAAD,CAAlD,GACTA,iBADJ;AAEA,UAAM/b,MAAM,GAAG,EAAf;AACA8U,IAAAA,eAAe,GAAGA,eAAe,IAAI,IAAInB,qBAAJ,EAArC;AACA,UAAM1O,MAAM,GAAGuP,uBAAuB,CAAC,KAAK9F,OAAN,EAAe7O,OAAf,EAAwB,KAAKgc,aAA7B,EAA4C7U,eAA5C,EAA6DC,eAA7D,EAA8E+U,KAA9E,EAAqFC,IAArF,EAA2FtiB,OAA3F,EAAoGmb,eAApG,EAAqH9U,MAArH,CAAtC;;AACA,QAAIA,MAAM,CAACvC,MAAX,EAAmB;AACf,YAAMme,YAAY,GAAI,+BAA8B5b,MAAM,CAACgB,IAAP,CAAY,IAAZ,CAAkB,EAAtE;AACA,YAAM,IAAID,KAAJ,CAAU6a,YAAV,CAAN;AACH;;AACD,WAAO3W,MAAP;AACH;;AAxBW;AA2BhB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMiX,wBAAN,CAA+B;AAE/B;AACA;AACA;;;AACA,MAAMC,4BAAN,CAAmC;AAC/Bvb,EAAAA,qBAAqB,CAACwb,YAAD,EAAepc,MAAf,EAAuB;AACxC,WAAOoc,YAAP;AACH;;AACDvb,EAAAA,mBAAmB,CAACwb,oBAAD,EAAuBC,kBAAvB,EAA2Cpa,KAA3C,EAAkDlC,MAAlD,EAA0D;AACzE,WAAOkC,KAAP;AACH;;AAN8B;AASnC;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqa,4BAAN,SAA2CL,wBAA3C,CAAoE;AAChEtb,EAAAA,qBAAqB,CAACwb,YAAD,EAAepc,MAAf,EAAuB;AACxC,WAAO4J,mBAAmB,CAACwS,YAAD,CAA1B;AACH;;AACDvb,EAAAA,mBAAmB,CAACwb,oBAAD,EAAuBC,kBAAvB,EAA2Cpa,KAA3C,EAAkDlC,MAAlD,EAA0D;AACzE,QAAI4H,IAAI,GAAG,EAAX;AACA,UAAM4U,MAAM,GAAGta,KAAK,CAAC3C,QAAN,GAAiBkd,IAAjB,EAAf;;AACA,QAAIC,oBAAoB,CAACJ,kBAAD,CAApB,IAA4Cpa,KAAK,KAAK,CAAtD,IAA2DA,KAAK,KAAK,GAAzE,EAA8E;AAC1E,UAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B0F,QAAAA,IAAI,GAAG,IAAP;AACH,OAFD,MAGK;AACD,cAAM+U,iBAAiB,GAAGza,KAAK,CAACuF,KAAN,CAAY,wBAAZ,CAA1B;;AACA,YAAIkV,iBAAiB,IAAIA,iBAAiB,CAAC,CAAD,CAAjB,CAAqBlf,MAArB,IAA+B,CAAxD,EAA2D;AACvDuC,UAAAA,MAAM,CAAC1D,IAAP,CAAa,uCAAsC+f,oBAAqB,IAAGna,KAAM,EAAjF;AACH;AACJ;AACJ;;AACD,WAAOsa,MAAM,GAAG5U,IAAhB;AACH;;AAnB+D;;AAqBpE,MAAMgV,IAAI,GAAG,MAAMC,cAAc,CAAC,iUAC7B5P,KAD6B,CACvB,GADuB,CAAD,CAAjC;;AAEA,MAAMyP,oBAAoB,gBAAIE,IAAD,EAA7B;;AACA,SAASC,cAAT,CAAwBrc,IAAxB,EAA8B;AAC1B,QAAMuB,GAAG,GAAG,EAAZ;AACAvB,EAAAA,IAAI,CAACrE,OAAL,CAAa6F,GAAG,IAAID,GAAG,CAACC,GAAD,CAAH,GAAW,IAA/B;AACA,SAAOD,GAAP;AACH;;AAED,SAAS+a,2BAAT,CAAqCjd,OAArC,EAA8C4B,WAA9C,EAA2DC,SAA3D,EAAsEC,OAAtE,EAA+Eob,mBAA/E,EAAoGC,UAApG,EAAgHC,QAAhH,EAA0H9H,SAA1H,EAAqI+H,eAArI,EAAsJ1J,aAAtJ,EAAqKC,cAArK,EAAqLxX,SAArL,EAAgM+D,MAAhM,EAAwM;AACpM,SAAO;AACHtG,IAAAA,IAAI,EAAE;AAAE;AADL;AAEHmG,IAAAA,OAFG;AAGH4B,IAAAA,WAHG;AAIHsb,IAAAA,mBAJG;AAKHrb,IAAAA,SALG;AAMHsb,IAAAA,UANG;AAOHrb,IAAAA,OAPG;AAQHsb,IAAAA,QARG;AASH9H,IAAAA,SATG;AAUH+H,IAAAA,eAVG;AAWH1J,IAAAA,aAXG;AAYHC,IAAAA,cAZG;AAaHxX,IAAAA,SAbG;AAcH+D,IAAAA;AAdG,GAAP;AAgBH;;AAED,MAAMmd,YAAY,GAAG,EAArB;;AACA,MAAMC,0BAAN,CAAiC;AAC7B9hB,EAAAA,WAAW,CAAC+hB,YAAD,EAAerM,GAAf,EAAoBsM,YAApB,EAAkC;AACzC,SAAKD,YAAL,GAAoBA,YAApB;AACA,SAAKrM,GAAL,GAAWA,GAAX;AACA,SAAKsM,YAAL,GAAoBA,YAApB;AACH;;AACD7V,EAAAA,KAAK,CAAC8V,YAAD,EAAeC,SAAf,EAA0B3d,OAA1B,EAAmCmK,MAAnC,EAA2C;AAC5C,WAAOyT,yBAAyB,CAAC,KAAKzM,GAAL,CAASd,QAAV,EAAoBqN,YAApB,EAAkCC,SAAlC,EAA6C3d,OAA7C,EAAsDmK,MAAtD,CAAhC;AACH;;AACD0T,EAAAA,WAAW,CAACC,SAAD,EAAY3T,MAAZ,EAAoBhK,MAApB,EAA4B;AACnC,UAAM4d,iBAAiB,GAAG,KAAKN,YAAL,CAAkB,GAAlB,CAA1B;AACA,UAAMO,WAAW,GAAG,KAAKP,YAAL,CAAkBK,SAAlB,CAApB;AACA,UAAMG,YAAY,GAAGF,iBAAiB,GAAGA,iBAAiB,CAACF,WAAlB,CAA8B1T,MAA9B,EAAsChK,MAAtC,CAAH,GAAmD,EAAzF;AACA,WAAO6d,WAAW,GAAGA,WAAW,CAACH,WAAZ,CAAwB1T,MAAxB,EAAgChK,MAAhC,CAAH,GAA6C8d,YAA/D;AACH;;AACDtP,EAAAA,KAAK,CAAC7O,MAAD,EAASE,OAAT,EAAkB0d,YAAlB,EAAgCC,SAAhC,EAA2C9I,cAA3C,EAA2DC,cAA3D,EAA2EoJ,cAA3E,EAA2FC,WAA3F,EAAwGlJ,eAAxG,EAAyHmJ,YAAzH,EAAuI;AACxI,UAAMje,MAAM,GAAG,EAAf;AACA,UAAMke,yBAAyB,GAAG,KAAKlN,GAAL,CAASrX,OAAT,IAAoB,KAAKqX,GAAL,CAASrX,OAAT,CAAiBqQ,MAArC,IAA+CmT,YAAjF;AACA,UAAMgB,sBAAsB,GAAGJ,cAAc,IAAIA,cAAc,CAAC/T,MAAjC,IAA2CmT,YAA1E;AACA,UAAMiB,kBAAkB,GAAG,KAAKV,WAAL,CAAiBH,YAAjB,EAA+BY,sBAA/B,EAAuDne,MAAvD,CAA3B;AACA,UAAMqe,mBAAmB,GAAGL,WAAW,IAAIA,WAAW,CAAChU,MAA3B,IAAqCmT,YAAjE;AACA,UAAMmB,eAAe,GAAG,KAAKZ,WAAL,CAAiBF,SAAjB,EAA4Ba,mBAA5B,EAAiDre,MAAjD,CAAxB;AACA,UAAMkd,eAAe,GAAG,IAAIxP,GAAJ,EAAxB;AACA,UAAM6Q,WAAW,GAAG,IAAIpc,GAAJ,EAApB;AACA,UAAMqc,YAAY,GAAG,IAAIrc,GAAJ,EAArB;AACA,UAAMsc,SAAS,GAAGjB,SAAS,KAAK,MAAhC;AACA,UAAMkB,gBAAgB,GAAG;AAAE1U,MAAAA,MAAM,EAAEzJ,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBT,yBAAlB,CAAd,EAA4DG,mBAA5D;AAAV,KAAzB;AACA,UAAMlJ,SAAS,GAAG8I,YAAY,GAC1B,EAD0B,GAE1BzJ,uBAAuB,CAAC7U,MAAD,EAASE,OAAT,EAAkB,KAAKmR,GAAL,CAAStW,SAA3B,EAAsCga,cAAtC,EAAsDC,cAAtD,EAAsEyJ,kBAAtE,EAA0FE,eAA1F,EAA2GI,gBAA3G,EAA6H5J,eAA7H,EAA8I9U,MAA9I,CAF3B;AAGA,QAAI/D,SAAS,GAAG,CAAhB;AACAkZ,IAAAA,SAAS,CAAChZ,OAAV,CAAkBoZ,EAAE,IAAI;AACpBtZ,MAAAA,SAAS,GAAGoC,IAAI,CAACC,GAAL,CAASiX,EAAE,CAACha,QAAH,GAAcga,EAAE,CAAC/Z,KAA1B,EAAiCS,SAAjC,CAAZ;AACH,KAFD;;AAGA,QAAI+D,MAAM,CAACvC,MAAX,EAAmB;AACf,aAAOqf,2BAA2B,CAACjd,OAAD,EAAU,KAAKwd,YAAf,EAA6BE,YAA7B,EAA2CC,SAA3C,EAAsDiB,SAAtD,EAAiEL,kBAAjE,EAAqFE,eAArF,EAAsG,EAAtG,EAA0G,EAA1G,EAA8GC,WAA9G,EAA2HC,YAA3H,EAAyIviB,SAAzI,EAAoJ+D,MAApJ,CAAlC;AACH;;AACDmV,IAAAA,SAAS,CAAChZ,OAAV,CAAkBoZ,EAAE,IAAI;AACpB,YAAM7Q,GAAG,GAAG6Q,EAAE,CAAC1V,OAAf;AACA,YAAM4a,QAAQ,GAAG3Y,eAAe,CAACyc,WAAD,EAAc7Z,GAAd,EAAmB,EAAnB,CAAhC;AACA6Q,MAAAA,EAAE,CAAC/B,aAAH,CAAiBrX,OAAjB,CAAyBsE,IAAI,IAAIga,QAAQ,CAACha,IAAD,CAAR,GAAiB,IAAlD;AACA,YAAMia,SAAS,GAAG5Y,eAAe,CAAC0c,YAAD,EAAe9Z,GAAf,EAAoB,EAApB,CAAjC;AACA6Q,MAAAA,EAAE,CAAC9B,cAAH,CAAkBtX,OAAlB,CAA0BsE,IAAI,IAAIia,SAAS,CAACja,IAAD,CAAT,GAAkB,IAApD;;AACA,UAAIiE,GAAG,KAAK7E,OAAZ,EAAqB;AACjBqd,QAAAA,eAAe,CAACpN,GAAhB,CAAoBpL,GAApB;AACH;AACJ,KATD;AAUA,UAAMka,mBAAmB,GAAGhU,eAAe,CAACsS,eAAe,CAACjN,MAAhB,EAAD,CAA3C;AACA,WAAO6M,2BAA2B,CAACjd,OAAD,EAAU,KAAKwd,YAAf,EAA6BE,YAA7B,EAA2CC,SAA3C,EAAsDiB,SAAtD,EAAiEL,kBAAjE,EAAqFE,eAArF,EAAsGnJ,SAAtG,EAAiHyJ,mBAAjH,EAAsIL,WAAtI,EAAmJC,YAAnJ,EAAiKviB,SAAjK,CAAlC;AACH;;AAjD4B;;AAmDjC,SAASwhB,yBAAT,CAAmCoB,QAAnC,EAA6CtB,YAA7C,EAA2DC,SAA3D,EAAsE3d,OAAtE,EAA+EmK,MAA/E,EAAuF;AACnF,SAAO6U,QAAQ,CAACzL,IAAT,CAAchX,EAAE,IAAIA,EAAE,CAACmhB,YAAD,EAAeC,SAAf,EAA0B3d,OAA1B,EAAmCmK,MAAnC,CAAtB,CAAP;AACH;;AACD,MAAM8U,oBAAN,CAA2B;AACvBxjB,EAAAA,WAAW,CAACxB,MAAD,EAASilB,aAAT,EAAwBnf,UAAxB,EAAoC;AAC3C,SAAK9F,MAAL,GAAcA,MAAd;AACA,SAAKilB,aAAL,GAAqBA,aAArB;AACA,SAAKnf,UAAL,GAAkBA,UAAlB;AACH;;AACD8d,EAAAA,WAAW,CAAC1T,MAAD,EAAShK,MAAT,EAAiB;AACxB,UAAM6U,WAAW,GAAG,EAApB;AACA,UAAMmK,cAAc,GAAGxW,OAAO,CAAC,KAAKuW,aAAN,CAA9B;AACAxe,IAAAA,MAAM,CAACC,IAAP,CAAYwJ,MAAZ,EAAoB7N,OAApB,CAA4B6F,GAAG,IAAI;AAC/B,YAAME,KAAK,GAAG8H,MAAM,CAAChI,GAAD,CAApB;;AACA,UAAIE,KAAK,IAAI,IAAb,EAAmB;AACf8c,QAAAA,cAAc,CAAChd,GAAD,CAAd,GAAsBE,KAAtB;AACH;AACJ,KALD;AAMA,SAAKpI,MAAL,CAAYA,MAAZ,CAAmBqC,OAAnB,CAA2B+F,KAAK,IAAI;AAChC,UAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,cAAM+c,QAAQ,GAAG/c,KAAjB;AACA3B,QAAAA,MAAM,CAACC,IAAP,CAAYye,QAAZ,EAAsB9iB,OAAtB,CAA8BsE,IAAI,IAAI;AAClC,cAAIuZ,GAAG,GAAGiF,QAAQ,CAACxe,IAAD,CAAlB;;AACA,cAAIuZ,GAAG,CAACvc,MAAJ,GAAa,CAAjB,EAAoB;AAChBuc,YAAAA,GAAG,GAAGzP,iBAAiB,CAACyP,GAAD,EAAMgF,cAAN,EAAsBhf,MAAtB,CAAvB;AACH;;AACD,gBAAMU,cAAc,GAAG,KAAKd,UAAL,CAAgBgB,qBAAhB,CAAsCH,IAAtC,EAA4CT,MAA5C,CAAvB;AACAga,UAAAA,GAAG,GAAG,KAAKpa,UAAL,CAAgBiB,mBAAhB,CAAoCJ,IAApC,EAA0CC,cAA1C,EAA0DsZ,GAA1D,EAA+Dha,MAA/D,CAAN;AACA6U,UAAAA,WAAW,CAACnU,cAAD,CAAX,GAA8BsZ,GAA9B;AACH,SARD;AASH;AACJ,KAbD;AAcA,WAAOnF,WAAP;AACH;;AA9BsB;;AAiC3B,SAASqK,YAAT,CAAsB1lB,IAAtB,EAA4BwX,GAA5B,EAAiCpR,UAAjC,EAA6C;AACzC,SAAO,IAAIuf,gBAAJ,CAAqB3lB,IAArB,EAA2BwX,GAA3B,EAAgCpR,UAAhC,CAAP;AACH;;AACD,MAAMuf,gBAAN,CAAuB;AACnB7jB,EAAAA,WAAW,CAAC9B,IAAD,EAAOwX,GAAP,EAAYoO,WAAZ,EAAyB;AAChC,SAAK5lB,IAAL,GAAYA,IAAZ;AACA,SAAKwX,GAAL,GAAWA,GAAX;AACA,SAAKoO,WAAL,GAAmBA,WAAnB;AACA,SAAKC,mBAAL,GAA2B,EAA3B;AACA,SAAKnQ,MAAL,GAAc,EAAd;AACA8B,IAAAA,GAAG,CAAC9B,MAAJ,CAAW/S,OAAX,CAAmB6U,GAAG,IAAI;AACtB,YAAM+N,aAAa,GAAI/N,GAAG,CAACrX,OAAJ,IAAeqX,GAAG,CAACrX,OAAJ,CAAYqQ,MAA5B,IAAuC,EAA7D;AACA,WAAKkF,MAAL,CAAY8B,GAAG,CAACxX,IAAhB,IAAwB,IAAIslB,oBAAJ,CAAyB9N,GAAG,CAAC9W,KAA7B,EAAoC6kB,aAApC,EAAmDK,WAAnD,CAAxB;AACH,KAHD;AAIAE,IAAAA,iBAAiB,CAAC,KAAKpQ,MAAN,EAAc,MAAd,EAAsB,GAAtB,CAAjB;AACAoQ,IAAAA,iBAAiB,CAAC,KAAKpQ,MAAN,EAAc,OAAd,EAAuB,GAAvB,CAAjB;AACA8B,IAAAA,GAAG,CAAC7B,WAAJ,CAAgBhT,OAAhB,CAAwB6U,GAAG,IAAI;AAC3B,WAAKqO,mBAAL,CAAyB/iB,IAAzB,CAA8B,IAAI8gB,0BAAJ,CAA+B5jB,IAA/B,EAAqCwX,GAArC,EAA0C,KAAK9B,MAA/C,CAA9B;AACH,KAFD;AAGA,SAAKqQ,kBAAL,GAA0BC,wBAAwB,CAAChmB,IAAD,EAAO,KAAK0V,MAAZ,EAAoB,KAAKkQ,WAAzB,CAAlD;AACH;;AACkB,MAAfK,eAAe,GAAG;AAClB,WAAO,KAAKzO,GAAL,CAAShC,UAAT,GAAsB,CAA7B;AACH;;AACD0Q,EAAAA,eAAe,CAACnC,YAAD,EAAeC,SAAf,EAA0B3d,OAA1B,EAAmCmK,MAAnC,EAA2C;AACtD,UAAM2V,KAAK,GAAG,KAAKN,mBAAL,CAAyBvM,IAAzB,CAA8B8M,CAAC,IAAIA,CAAC,CAACnY,KAAF,CAAQ8V,YAAR,EAAsBC,SAAtB,EAAiC3d,OAAjC,EAA0CmK,MAA1C,CAAnC,CAAd;AACA,WAAO2V,KAAK,IAAI,IAAhB;AACH;;AACDE,EAAAA,WAAW,CAACtC,YAAD,EAAevT,MAAf,EAAuBhK,MAAvB,EAA+B;AACtC,WAAO,KAAKuf,kBAAL,CAAwB7B,WAAxB,CAAoCH,YAApC,EAAkDvT,MAAlD,EAA0DhK,MAA1D,CAAP;AACH;;AA3BkB;;AA6BvB,SAASwf,wBAAT,CAAkC/d,WAAlC,EAA+CyN,MAA/C,EAAuDtP,UAAvD,EAAmE;AAC/D,QAAMsQ,QAAQ,GAAG,CAAC,CAACxO,SAAD,EAAYC,OAAZ,KAAwB,IAAzB,CAAjB;AACA,QAAMjH,SAAS,GAAG;AAAEhB,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA0BM,IAAAA,KAAK,EAAE,EAAjC;AAAqCL,IAAAA,OAAO,EAAE;AAA9C,GAAlB;AACA,QAAMY,UAAU,GAAG;AACfb,IAAAA,IAAI,EAAE;AAAE;AADO;AAEfgB,IAAAA,SAFe;AAGfwV,IAAAA,QAHe;AAIfvW,IAAAA,OAAO,EAAE,IAJM;AAKfqV,IAAAA,UAAU,EAAE,CALG;AAMfC,IAAAA,QAAQ,EAAE;AANK,GAAnB;AAQA,SAAO,IAAImO,0BAAJ,CAA+B3b,WAA/B,EAA4ClH,UAA5C,EAAwD2U,MAAxD,CAAP;AACH;;AACD,SAASoQ,iBAAT,CAA2B7W,GAA3B,EAAgCqX,IAAhC,EAAsCC,IAAtC,EAA4C;AACxC,MAAItX,GAAG,CAACV,cAAJ,CAAmB+X,IAAnB,CAAJ,EAA8B;AAC1B,QAAI,CAACrX,GAAG,CAACV,cAAJ,CAAmBgY,IAAnB,CAAL,EAA+B;AAC3BtX,MAAAA,GAAG,CAACsX,IAAD,CAAH,GAAYtX,GAAG,CAACqX,IAAD,CAAf;AACH;AACJ,GAJD,MAKK,IAAIrX,GAAG,CAACV,cAAJ,CAAmBgY,IAAnB,CAAJ,EAA8B;AAC/BtX,IAAAA,GAAG,CAACqX,IAAD,CAAH,GAAYrX,GAAG,CAACsX,IAAD,CAAf;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,qBAAqB,gBAAG,IAAIrM,qBAAJ,EAA9B;;AACA,MAAMsM,uBAAN,CAA8B;AAC1B3kB,EAAAA,WAAW,CAAC4kB,QAAD,EAAWxR,OAAX,EAAoB0Q,WAApB,EAAiC;AACxC,SAAKc,QAAL,GAAgBA,QAAhB;AACA,SAAKxR,OAAL,GAAeA,OAAf;AACA,SAAK0Q,WAAL,GAAmBA,WAAnB;AACA,SAAKe,WAAL,GAAmB,EAAnB;AACA,SAAKC,YAAL,GAAoB,EAApB;AACA,SAAKxiB,OAAL,GAAe,EAAf;AACH;;AACDyiB,EAAAA,QAAQ,CAAC3d,EAAD,EAAK4L,QAAL,EAAe;AACnB,UAAMtO,MAAM,GAAG,EAAf;AACA,UAAMgR,GAAG,GAAG3C,iBAAiB,CAAC,KAAKK,OAAN,EAAeJ,QAAf,EAAyBtO,MAAzB,CAA7B;;AACA,QAAIA,MAAM,CAACvC,MAAX,EAAmB;AACf,YAAM,IAAIsD,KAAJ,CAAW,8DAA6Df,MAAM,CAACgB,IAAP,CAAY,IAAZ,CAAkB,EAA1F,CAAN;AACH,KAFD,MAGK;AACD,WAAKmf,WAAL,CAAiBzd,EAAjB,IAAuBsO,GAAvB;AACH;AACJ;;AACDsP,EAAAA,YAAY,CAAC7b,CAAD,EAAI3E,SAAJ,EAAeC,UAAf,EAA2B;AACnC,UAAMF,OAAO,GAAG4E,CAAC,CAAC5E,OAAlB;AACA,UAAMvF,SAAS,GAAGoF,kBAAkB,CAAC,KAAKgP,OAAN,EAAe,KAAK0Q,WAApB,EAAiCvf,OAAjC,EAA0C4E,CAAC,CAACnK,SAA5C,EAAuDwF,SAAvD,EAAkEC,UAAlE,CAApC;AACA,WAAO,KAAK2O,OAAL,CAAa9U,OAAb,CAAqBiG,OAArB,EAA8BvF,SAA9B,EAAyCmK,CAAC,CAAClJ,QAA3C,EAAqDkJ,CAAC,CAACjJ,KAAvD,EAA8DiJ,CAAC,CAACuB,MAAhE,EAAwE,EAAxE,EAA4E,IAA5E,CAAP;AACH;;AACD0T,EAAAA,MAAM,CAAChX,EAAD,EAAK7C,OAAL,EAAclG,OAAO,GAAG,EAAxB,EAA4B;AAC9B,UAAMqG,MAAM,GAAG,EAAf;AACA,UAAMgR,GAAG,GAAG,KAAKmP,WAAL,CAAiBzd,EAAjB,CAAZ;AACA,QAAIoR,YAAJ;AACA,UAAMyM,aAAa,GAAG,IAAIpe,GAAJ,EAAtB;;AACA,QAAI6O,GAAJ,EAAS;AACL8C,MAAAA,YAAY,GAAGU,uBAAuB,CAAC,KAAK9F,OAAN,EAAe7O,OAAf,EAAwBmR,GAAxB,EAA6BhK,eAA7B,EAA8CC,eAA9C,EAA+D,EAA/D,EAAmE,EAAnE,EAAuEtN,OAAvE,EAAgFqmB,qBAAhF,EAAuGhgB,MAAvG,CAAtC;AACA8T,MAAAA,YAAY,CAAC3X,OAAb,CAAqBqkB,IAAI,IAAI;AACzB,cAAM1mB,MAAM,GAAGgI,eAAe,CAACye,aAAD,EAAgBC,IAAI,CAAC3gB,OAArB,EAA8B,EAA9B,CAA9B;AACA2gB,QAAAA,IAAI,CAAC/M,cAAL,CAAoBtX,OAApB,CAA4BsE,IAAI,IAAI3G,MAAM,CAAC2G,IAAD,CAAN,GAAe,IAAnD;AACH,OAHD;AAIH,KAND,MAOK;AACDT,MAAAA,MAAM,CAAC1D,IAAP,CAAY,sEAAZ;AACAwX,MAAAA,YAAY,GAAG,EAAf;AACH;;AACD,QAAI9T,MAAM,CAACvC,MAAX,EAAmB;AACf,YAAM,IAAIsD,KAAJ,CAAW,+DAA8Df,MAAM,CAACgB,IAAP,CAAY,IAAZ,CAAkB,EAA3F,CAAN;AACH;;AACDuf,IAAAA,aAAa,CAACpkB,OAAd,CAAsB,CAACrC,MAAD,EAAS+F,OAAT,KAAqB;AACvCU,MAAAA,MAAM,CAACC,IAAP,CAAY1G,MAAZ,EAAoBqC,OAApB,CAA4BsE,IAAI,IAAI;AAChC3G,QAAAA,MAAM,CAAC2G,IAAD,CAAN,GAAe,KAAKiO,OAAL,CAAa3I,YAAb,CAA0BlG,OAA1B,EAAmCY,IAAnC,EAAyCnH,2DAAzC,CAAf;AACH,OAFD;AAGH,KAJD;AAKA,UAAMsE,OAAO,GAAGkW,YAAY,CAAC/R,GAAb,CAAiB0C,CAAC,IAAI;AAClC,YAAM3K,MAAM,GAAGymB,aAAa,CAACne,GAAd,CAAkBqC,CAAC,CAAC5E,OAApB,CAAf;AACA,aAAO,KAAKygB,YAAL,CAAkB7b,CAAlB,EAAqB,EAArB,EAAyB3K,MAAzB,CAAP;AACH,KAHe,CAAhB;AAIA,UAAMmE,MAAM,GAAGwB,mBAAmB,CAAC7B,OAAD,CAAlC;AACA,SAAKwiB,YAAL,CAAkB1d,EAAlB,IAAwBzE,MAAxB;AACAA,IAAAA,MAAM,CAACzB,SAAP,CAAiB,MAAM,KAAKS,OAAL,CAAayF,EAAb,CAAvB;AACA,SAAK9E,OAAL,CAAatB,IAAb,CAAkB2B,MAAlB;AACA,WAAOA,MAAP;AACH;;AACDhB,EAAAA,OAAO,CAACyF,EAAD,EAAK;AACR,UAAMzE,MAAM,GAAG,KAAKwiB,UAAL,CAAgB/d,EAAhB,CAAf;;AACAzE,IAAAA,MAAM,CAAChB,OAAP;AACA,WAAO,KAAKmjB,YAAL,CAAkB1d,EAAlB,CAAP;AACA,UAAMge,KAAK,GAAG,KAAK9iB,OAAL,CAAa6E,OAAb,CAAqBxE,MAArB,CAAd;;AACA,QAAIyiB,KAAK,IAAI,CAAb,EAAgB;AACZ,WAAK9iB,OAAL,CAAa2K,MAAb,CAAoBmY,KAApB,EAA2B,CAA3B;AACH;AACJ;;AACDD,EAAAA,UAAU,CAAC/d,EAAD,EAAK;AACX,UAAMzE,MAAM,GAAG,KAAKmiB,YAAL,CAAkB1d,EAAlB,CAAf;;AACA,QAAI,CAACzE,MAAL,EAAa;AACT,YAAM,IAAI8C,KAAJ,CAAW,oDAAmD2B,EAAG,EAAjE,CAAN;AACH;;AACD,WAAOzE,MAAP;AACH;;AACD0iB,EAAAA,MAAM,CAACje,EAAD,EAAK7C,OAAL,EAAcqB,SAAd,EAAyBE,QAAzB,EAAmC;AACrC;AACA,UAAMwf,SAAS,GAAGpf,kBAAkB,CAAC3B,OAAD,EAAU,EAAV,EAAc,EAAd,EAAkB,EAAlB,CAApC;AACAoB,IAAAA,cAAc,CAAC,KAAKwf,UAAL,CAAgB/d,EAAhB,CAAD,EAAsBxB,SAAtB,EAAiC0f,SAAjC,EAA4Cxf,QAA5C,CAAd;AACA,WAAO,MAAM,CAAG,CAAhB;AACH;;AACDmB,EAAAA,OAAO,CAACG,EAAD,EAAK7C,OAAL,EAAc0C,OAAd,EAAuBse,IAAvB,EAA6B;AAChC,QAAIte,OAAO,IAAI,UAAf,EAA2B;AACvB,WAAK8d,QAAL,CAAc3d,EAAd,EAAkBme,IAAI,CAAC,CAAD,CAAtB;AACA;AACH;;AACD,QAAIte,OAAO,IAAI,QAAf,EAAyB;AACrB,YAAM5I,OAAO,GAAIknB,IAAI,CAAC,CAAD,CAAJ,IAAW,EAA5B;AACA,WAAKnH,MAAL,CAAYhX,EAAZ,EAAgB7C,OAAhB,EAAyBlG,OAAzB;AACA;AACH;;AACD,UAAMsE,MAAM,GAAG,KAAKwiB,UAAL,CAAgB/d,EAAhB,CAAf;;AACA,YAAQH,OAAR;AACI,WAAK,MAAL;AACItE,QAAAA,MAAM,CAACtB,IAAP;AACA;;AACJ,WAAK,OAAL;AACIsB,QAAAA,MAAM,CAACnB,KAAP;AACA;;AACJ,WAAK,OAAL;AACImB,QAAAA,MAAM,CAACf,KAAP;AACA;;AACJ,WAAK,SAAL;AACIe,QAAAA,MAAM,CAAClB,OAAP;AACA;;AACJ,WAAK,QAAL;AACIkB,QAAAA,MAAM,CAACjB,MAAP;AACA;;AACJ,WAAK,MAAL;AACIiB,QAAAA,MAAM,CAACvB,IAAP;AACA;;AACJ,WAAK,aAAL;AACIuB,QAAAA,MAAM,CAACd,WAAP,CAAmBwK,UAAU,CAACkZ,IAAI,CAAC,CAAD,CAAL,CAA7B;AACA;;AACJ,WAAK,SAAL;AACI,aAAK5jB,OAAL,CAAayF,EAAb;AACA;AAxBR;AA0BH;;AArHyB;AAwH9B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMoe,gBAAgB,GAAG,mBAAzB;AACA,MAAMC,eAAe,GAAG,oBAAxB;AACA,MAAMC,kBAAkB,GAAG,qBAA3B;AACA,MAAMC,iBAAiB,GAAG,sBAA1B;AACA,MAAMC,cAAc,GAAG,kBAAvB;AACA,MAAMC,aAAa,GAAG,mBAAtB;AACA,MAAMC,kBAAkB,GAAG,EAA3B;AACA,MAAMC,kBAAkB,GAAG;AACvBC,EAAAA,WAAW,EAAE,EADU;AAEvBC,EAAAA,aAAa,EAAE,KAFQ;AAGvBC,EAAAA,UAAU,EAAE,KAHW;AAIvBC,EAAAA,YAAY,EAAE,KAJS;AAKvBC,EAAAA,oBAAoB,EAAE;AALC,CAA3B;AAOA,MAAMC,0BAA0B,GAAG;AAC/BL,EAAAA,WAAW,EAAE,EADkB;AAE/BE,EAAAA,UAAU,EAAE,KAFmB;AAG/BD,EAAAA,aAAa,EAAE,KAHgB;AAI/BE,EAAAA,YAAY,EAAE,KAJiB;AAK/BC,EAAAA,oBAAoB,EAAE;AALS,CAAnC;AAOA,MAAME,YAAY,GAAG,cAArB;;AACA,MAAMC,UAAN,CAAiB;AACbvmB,EAAAA,WAAW,CAAC4P,KAAD,EAAQoW,WAAW,GAAG,EAAtB,EAA0B;AACjC,SAAKA,WAAL,GAAmBA,WAAnB;AACA,UAAMQ,KAAK,GAAG5W,KAAK,IAAIA,KAAK,CAACnD,cAAN,CAAqB,OAArB,CAAvB;AACA,UAAM7F,KAAK,GAAG4f,KAAK,GAAG5W,KAAK,CAAC,OAAD,CAAR,GAAoBA,KAAvC;AACA,SAAKhJ,KAAL,GAAa6f,qBAAqB,CAAC7f,KAAD,CAAlC;;AACA,QAAI4f,KAAJ,EAAW;AACP,YAAMnoB,OAAO,GAAG6O,OAAO,CAAC0C,KAAD,CAAvB;AACA,aAAOvR,OAAO,CAAC,OAAD,CAAd;AACA,WAAKA,OAAL,GAAeA,OAAf;AACH,KAJD,MAKK;AACD,WAAKA,OAAL,GAAe,EAAf;AACH;;AACD,QAAI,CAAC,KAAKA,OAAL,CAAaqQ,MAAlB,EAA0B;AACtB,WAAKrQ,OAAL,CAAaqQ,MAAb,GAAsB,EAAtB;AACH;AACJ;;AACS,MAANA,MAAM,GAAG;AACT,WAAO,KAAKrQ,OAAL,CAAaqQ,MAApB;AACH;;AACDgY,EAAAA,aAAa,CAACroB,OAAD,EAAU;AACnB,UAAMye,SAAS,GAAGze,OAAO,CAACqQ,MAA1B;;AACA,QAAIoO,SAAJ,EAAe;AACX,YAAMG,SAAS,GAAG,KAAK5e,OAAL,CAAaqQ,MAA/B;AACAzJ,MAAAA,MAAM,CAACC,IAAP,CAAY4X,SAAZ,EAAuBjc,OAAvB,CAA+BsE,IAAI,IAAI;AACnC,YAAI8X,SAAS,CAAC9X,IAAD,CAAT,IAAmB,IAAvB,EAA6B;AACzB8X,UAAAA,SAAS,CAAC9X,IAAD,CAAT,GAAkB2X,SAAS,CAAC3X,IAAD,CAA3B;AACH;AACJ,OAJD;AAKH;AACJ;;AA/BY;;AAiCjB,MAAMwhB,UAAU,GAAG,MAAnB;AACA,MAAMC,mBAAmB,gBAAG,IAAIL,UAAJ,CAAeI,UAAf,CAA5B;;AACA,MAAME,4BAAN,CAAmC;AAC/B7mB,EAAAA,WAAW,CAACoH,EAAD,EAAK0f,WAAL,EAAkBC,OAAlB,EAA2B;AAClC,SAAK3f,EAAL,GAAUA,EAAV;AACA,SAAK0f,WAAL,GAAmBA,WAAnB;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKzkB,OAAL,GAAe,EAAf;AACA,SAAK0kB,SAAL,GAAiB,EAAjB;AACA,SAAKC,MAAL,GAAc,EAAd;AACA,SAAKC,iBAAL,GAAyB,IAAIrgB,GAAJ,EAAzB;AACA,SAAKsgB,cAAL,GAAsB,YAAY/f,EAAlC;AACAggB,IAAAA,QAAQ,CAACN,WAAD,EAAc,KAAKK,cAAnB,CAAR;AACH;;AACD9B,EAAAA,MAAM,CAAC9gB,OAAD,EAAUrG,IAAV,EAAgBmpB,KAAhB,EAAuBvhB,QAAvB,EAAiC;AACnC,QAAI,CAAC,KAAKkhB,SAAL,CAAeva,cAAf,CAA8BvO,IAA9B,CAAL,EAA0C;AACtC,YAAM,IAAIuH,KAAJ,CAAW,oDAAmD4hB,KAAM,oCAAmCnpB,IAAK,mBAA5G,CAAN;AACH;;AACD,QAAImpB,KAAK,IAAI,IAAT,IAAiBA,KAAK,CAACllB,MAAN,IAAgB,CAArC,EAAwC;AACpC,YAAM,IAAIsD,KAAJ,CAAW,8CAA6CvH,IAAK,4CAA7D,CAAN;AACH;;AACD,QAAI,CAACopB,mBAAmB,CAACD,KAAD,CAAxB,EAAiC;AAC7B,YAAM,IAAI5hB,KAAJ,CAAW,yCAAwC4hB,KAAM,gCAA+BnpB,IAAK,qBAA7F,CAAN;AACH;;AACD,UAAMqpB,SAAS,GAAG/gB,eAAe,CAAC,KAAK0gB,iBAAN,EAAyB3iB,OAAzB,EAAkC,EAAlC,CAAjC;AACA,UAAMgC,IAAI,GAAG;AAAErI,MAAAA,IAAF;AAAQmpB,MAAAA,KAAR;AAAevhB,MAAAA;AAAf,KAAb;AACAyhB,IAAAA,SAAS,CAACvmB,IAAV,CAAeuF,IAAf;AACA,UAAMihB,kBAAkB,GAAGhhB,eAAe,CAAC,KAAKugB,OAAL,CAAaU,eAAd,EAA+BljB,OAA/B,EAAwC,EAAxC,CAA1C;;AACA,QAAI,CAACijB,kBAAkB,CAAC/a,cAAnB,CAAkCvO,IAAlC,CAAL,EAA8C;AAC1CkpB,MAAAA,QAAQ,CAAC7iB,OAAD,EAAUuH,oBAAV,CAAR;AACAsb,MAAAA,QAAQ,CAAC7iB,OAAD,EAAUuH,oBAAoB,GAAG,GAAvB,GAA6B5N,IAAvC,CAAR;AACAspB,MAAAA,kBAAkB,CAACtpB,IAAD,CAAlB,GAA2B0oB,mBAA3B;AACH;;AACD,WAAO,MAAM;AACT;AACA;AACA;AACA,WAAKG,OAAL,CAAaW,UAAb,CAAwB,MAAM;AAC1B,cAAMtC,KAAK,GAAGmC,SAAS,CAACpgB,OAAV,CAAkBZ,IAAlB,CAAd;;AACA,YAAI6e,KAAK,IAAI,CAAb,EAAgB;AACZmC,UAAAA,SAAS,CAACta,MAAV,CAAiBmY,KAAjB,EAAwB,CAAxB;AACH;;AACD,YAAI,CAAC,KAAK4B,SAAL,CAAe9oB,IAAf,CAAL,EAA2B;AACvB,iBAAOspB,kBAAkB,CAACtpB,IAAD,CAAzB;AACH;AACJ,OARD;AASH,KAbD;AAcH;;AACD6mB,EAAAA,QAAQ,CAAC7mB,IAAD,EAAOwX,GAAP,EAAY;AAChB,QAAI,KAAKsR,SAAL,CAAe9oB,IAAf,CAAJ,EAA0B;AACtB;AACA,aAAO,KAAP;AACH,KAHD,MAIK;AACD,WAAK8oB,SAAL,CAAe9oB,IAAf,IAAuBwX,GAAvB;AACA,aAAO,IAAP;AACH;AACJ;;AACDiS,EAAAA,WAAW,CAACzpB,IAAD,EAAO;AACd,UAAMD,OAAO,GAAG,KAAK+oB,SAAL,CAAe9oB,IAAf,CAAhB;;AACA,QAAI,CAACD,OAAL,EAAc;AACV,YAAM,IAAIwH,KAAJ,CAAW,mCAAkCvH,IAAK,4BAAlD,CAAN;AACH;;AACD,WAAOD,OAAP;AACH;;AACDA,EAAAA,OAAO,CAACsG,OAAD,EAAU4B,WAAV,EAAuBS,KAAvB,EAA8BghB,iBAAiB,GAAG,IAAlD,EAAwD;AAC3D,UAAM3pB,OAAO,GAAG,KAAK0pB,WAAL,CAAiBxhB,WAAjB,CAAhB;;AACA,UAAMxD,MAAM,GAAG,IAAIklB,yBAAJ,CAA8B,KAAKzgB,EAAnC,EAAuCjB,WAAvC,EAAoD5B,OAApD,CAAf;;AACA,QAAIijB,kBAAkB,GAAG,KAAKT,OAAL,CAAaU,eAAb,CAA6B3gB,GAA7B,CAAiCvC,OAAjC,CAAzB;;AACA,QAAI,CAACijB,kBAAL,EAAyB;AACrBJ,MAAAA,QAAQ,CAAC7iB,OAAD,EAAUuH,oBAAV,CAAR;AACAsb,MAAAA,QAAQ,CAAC7iB,OAAD,EAAUuH,oBAAoB,GAAG,GAAvB,GAA6B3F,WAAvC,CAAR;;AACA,WAAK4gB,OAAL,CAAaU,eAAb,CAA6B1gB,GAA7B,CAAiCxC,OAAjC,EAA0CijB,kBAAkB,GAAG,EAA/D;AACH;;AACD,QAAIphB,SAAS,GAAGohB,kBAAkB,CAACrhB,WAAD,CAAlC;AACA,UAAME,OAAO,GAAG,IAAIkgB,UAAJ,CAAe3f,KAAf,EAAsB,KAAKQ,EAA3B,CAAhB;AACA,UAAMof,KAAK,GAAG5f,KAAK,IAAIA,KAAK,CAAC6F,cAAN,CAAqB,OAArB,CAAvB;;AACA,QAAI,CAAC+Z,KAAD,IAAUpgB,SAAd,EAAyB;AACrBC,MAAAA,OAAO,CAACqgB,aAAR,CAAsBtgB,SAAS,CAAC/H,OAAhC;AACH;;AACDmpB,IAAAA,kBAAkB,CAACrhB,WAAD,CAAlB,GAAkCE,OAAlC;;AACA,QAAI,CAACD,SAAL,EAAgB;AACZA,MAAAA,SAAS,GAAGwgB,mBAAZ;AACH;;AACD,UAAMzD,SAAS,GAAG9c,OAAO,CAACO,KAAR,KAAkB+f,UAApC,CAnB2D,CAoB3D;AACA;AACA;AACA;AACA;AACA;;AACA,QAAI,CAACxD,SAAD,IAAc/c,SAAS,CAACQ,KAAV,KAAoBP,OAAO,CAACO,KAA9C,EAAqD;AACjD;AACA;AACA,UAAI,CAACkhB,SAAS,CAAC1hB,SAAS,CAACsI,MAAX,EAAmBrI,OAAO,CAACqI,MAA3B,CAAd,EAAkD;AAC9C,cAAMhK,MAAM,GAAG,EAAf;AACA,cAAMgd,UAAU,GAAGzjB,OAAO,CAACsmB,WAAR,CAAoBne,SAAS,CAACQ,KAA9B,EAAqCR,SAAS,CAACsI,MAA/C,EAAuDhK,MAAvD,CAAnB;AACA,cAAMid,QAAQ,GAAG1jB,OAAO,CAACsmB,WAAR,CAAoBle,OAAO,CAACO,KAA5B,EAAmCP,OAAO,CAACqI,MAA3C,EAAmDhK,MAAnD,CAAjB;;AACA,YAAIA,MAAM,CAACvC,MAAX,EAAmB;AACf,eAAK4kB,OAAL,CAAagB,WAAb,CAAyBrjB,MAAzB;AACH,SAFD,MAGK;AACD,eAAKqiB,OAAL,CAAaW,UAAb,CAAwB,MAAM;AAC1BnZ,YAAAA,WAAW,CAAChK,OAAD,EAAUmd,UAAV,CAAX;AACAtT,YAAAA,SAAS,CAAC7J,OAAD,EAAUod,QAAV,CAAT;AACH,WAHD;AAIH;AACJ;;AACD;AACH;;AACD,UAAMqG,gBAAgB,GAAGxhB,eAAe,CAAC,KAAKugB,OAAL,CAAakB,gBAAd,EAAgC1jB,OAAhC,EAAyC,EAAzC,CAAxC;AACAyjB,IAAAA,gBAAgB,CAACnnB,OAAjB,CAAyB8B,MAAM,IAAI;AAC/B;AACA;AACA;AACA;AACA,UAAIA,MAAM,CAACqjB,WAAP,IAAsB,KAAK5e,EAA3B,IAAiCzE,MAAM,CAACwD,WAAP,IAAsBA,WAAvD,IAAsExD,MAAM,CAACulB,MAAjF,EAAyF;AACrFvlB,QAAAA,MAAM,CAAChB,OAAP;AACH;AACJ,KARD;AASA,QAAI1C,UAAU,GAAGhB,OAAO,CAACmmB,eAAR,CAAwBhe,SAAS,CAACQ,KAAlC,EAAyCP,OAAO,CAACO,KAAjD,EAAwDrC,OAAxD,EAAiE8B,OAAO,CAACqI,MAAzE,CAAjB;AACA,QAAIyZ,oBAAoB,GAAG,KAA3B;;AACA,QAAI,CAAClpB,UAAL,EAAiB;AACb,UAAI,CAAC2oB,iBAAL,EACI;AACJ3oB,MAAAA,UAAU,GAAGhB,OAAO,CAACgmB,kBAArB;AACAkE,MAAAA,oBAAoB,GAAG,IAAvB;AACH;;AACD,SAAKpB,OAAL,CAAaqB,kBAAb;;AACA,SAAKnB,MAAL,CAAYjmB,IAAZ,CAAiB;AAAEuD,MAAAA,OAAF;AAAW4B,MAAAA,WAAX;AAAwBlH,MAAAA,UAAxB;AAAoCmH,MAAAA,SAApC;AAA+CC,MAAAA,OAA/C;AAAwD1D,MAAAA,MAAxD;AAAgEwlB,MAAAA;AAAhE,KAAjB;;AACA,QAAI,CAACA,oBAAL,EAA2B;AACvBf,MAAAA,QAAQ,CAAC7iB,OAAD,EAAUihB,gBAAV,CAAR;AACA7iB,MAAAA,MAAM,CAAC5B,OAAP,CAAe,MAAM;AACjBsnB,QAAAA,WAAW,CAAC9jB,OAAD,EAAUihB,gBAAV,CAAX;AACH,OAFD;AAGH;;AACD7iB,IAAAA,MAAM,CAAC1B,MAAP,CAAc,MAAM;AAChB,UAAImkB,KAAK,GAAG,KAAK9iB,OAAL,CAAa6E,OAAb,CAAqBxE,MAArB,CAAZ;;AACA,UAAIyiB,KAAK,IAAI,CAAb,EAAgB;AACZ,aAAK9iB,OAAL,CAAa2K,MAAb,CAAoBmY,KAApB,EAA2B,CAA3B;AACH;;AACD,YAAM9iB,OAAO,GAAG,KAAKykB,OAAL,CAAakB,gBAAb,CAA8BnhB,GAA9B,CAAkCvC,OAAlC,CAAhB;;AACA,UAAIjC,OAAJ,EAAa;AACT,YAAI8iB,KAAK,GAAG9iB,OAAO,CAAC6E,OAAR,CAAgBxE,MAAhB,CAAZ;;AACA,YAAIyiB,KAAK,IAAI,CAAb,EAAgB;AACZ9iB,UAAAA,OAAO,CAAC2K,MAAR,CAAemY,KAAf,EAAsB,CAAtB;AACH;AACJ;AACJ,KAZD;AAaA,SAAK9iB,OAAL,CAAatB,IAAb,CAAkB2B,MAAlB;AACAqlB,IAAAA,gBAAgB,CAAChnB,IAAjB,CAAsB2B,MAAtB;AACA,WAAOA,MAAP;AACH;;AACD2lB,EAAAA,UAAU,CAACpqB,IAAD,EAAO;AACb,WAAO,KAAK8oB,SAAL,CAAe9oB,IAAf,CAAP;;AACA,SAAK6oB,OAAL,CAAaU,eAAb,CAA6B5mB,OAA7B,CAAqC,CAAC0nB,QAAD,EAAWhkB,OAAX,KAAuB;AACxD,aAAOgkB,QAAQ,CAACrqB,IAAD,CAAf;AACH,KAFD;;AAGA,SAAKgpB,iBAAL,CAAuBrmB,OAAvB,CAA+B,CAAC0mB,SAAD,EAAYhjB,OAAZ,KAAwB;AACnD,WAAK2iB,iBAAL,CAAuBngB,GAAvB,CAA2BxC,OAA3B,EAAoCgjB,SAAS,CAACzN,MAAV,CAAiBuK,KAAK,IAAI;AAC1D,eAAOA,KAAK,CAACnmB,IAAN,IAAcA,IAArB;AACH,OAFmC,CAApC;AAGH,KAJD;AAKH;;AACDsqB,EAAAA,iBAAiB,CAACjkB,OAAD,EAAU;AACvB,SAAKwiB,OAAL,CAAaU,eAAb,CAA6BhP,MAA7B,CAAoClU,OAApC;;AACA,SAAK2iB,iBAAL,CAAuBzO,MAAvB,CAA8BlU,OAA9B;;AACA,UAAMkkB,cAAc,GAAG,KAAK1B,OAAL,CAAakB,gBAAb,CAA8BnhB,GAA9B,CAAkCvC,OAAlC,CAAvB;;AACA,QAAIkkB,cAAJ,EAAoB;AAChBA,MAAAA,cAAc,CAAC5nB,OAAf,CAAuB8B,MAAM,IAAIA,MAAM,CAAChB,OAAP,EAAjC;;AACA,WAAKolB,OAAL,CAAakB,gBAAb,CAA8BxP,MAA9B,CAAqClU,OAArC;AACH;AACJ;;AACDmkB,EAAAA,8BAA8B,CAACvP,WAAD,EAAc3I,OAAd,EAAuB;AACjD,UAAMiN,QAAQ,GAAG,KAAKsJ,OAAL,CAAa1iB,MAAb,CAAoB9E,KAApB,CAA0B4Z,WAA1B,EAAuCpN,mBAAvC,EAA4D,IAA5D,CAAjB,CADiD,CAEjD;AACA;AACA;;;AACA0R,IAAAA,QAAQ,CAAC5c,OAAT,CAAiBuI,GAAG,IAAI;AACpB;AACA;AACA,UAAIA,GAAG,CAACkd,YAAD,CAAP,EACI;;AACJ,YAAMqC,UAAU,GAAG,KAAK5B,OAAL,CAAa6B,wBAAb,CAAsCxf,GAAtC,CAAnB;;AACA,UAAIuf,UAAU,CAAClU,IAAf,EAAqB;AACjBkU,QAAAA,UAAU,CAAC9nB,OAAX,CAAmBgoB,EAAE,IAAIA,EAAE,CAACC,qBAAH,CAAyB1f,GAAzB,EAA8BoH,OAA9B,EAAuC,KAAvC,EAA8C,IAA9C,CAAzB;AACH,OAFD,MAGK;AACD,aAAKgY,iBAAL,CAAuBpf,GAAvB;AACH;AACJ,KAZD,EALiD,CAkBjD;AACA;;AACA,SAAK2d,OAAL,CAAagC,wBAAb,CAAsC,MAAMtL,QAAQ,CAAC5c,OAAT,CAAiBuI,GAAG,IAAI,KAAKof,iBAAL,CAAuBpf,GAAvB,CAAxB,CAA5C;AACH;;AACD0f,EAAAA,qBAAqB,CAACvkB,OAAD,EAAUiM,OAAV,EAAmBwY,oBAAnB,EAAyCpB,iBAAzC,EAA4D;AAC7E,UAAMqB,aAAa,GAAG,KAAKlC,OAAL,CAAaU,eAAb,CAA6B3gB,GAA7B,CAAiCvC,OAAjC,CAAtB;;AACA,QAAI0kB,aAAJ,EAAmB;AACf,YAAM3mB,OAAO,GAAG,EAAhB;AACA2C,MAAAA,MAAM,CAACC,IAAP,CAAY+jB,aAAZ,EAA2BpoB,OAA3B,CAAmCsF,WAAW,IAAI;AAC9C;AACA;AACA,YAAI,KAAK6gB,SAAL,CAAe7gB,WAAf,CAAJ,EAAiC;AAC7B,gBAAMxD,MAAM,GAAG,KAAK1E,OAAL,CAAasG,OAAb,EAAsB4B,WAAtB,EAAmCwgB,UAAnC,EAA+CiB,iBAA/C,CAAf;;AACA,cAAIjlB,MAAJ,EAAY;AACRL,YAAAA,OAAO,CAACtB,IAAR,CAAa2B,MAAb;AACH;AACJ;AACJ,OATD;;AAUA,UAAIL,OAAO,CAACH,MAAZ,EAAoB;AAChB,aAAK4kB,OAAL,CAAamC,oBAAb,CAAkC,KAAK9hB,EAAvC,EAA2C7C,OAA3C,EAAoD,IAApD,EAA0DiM,OAA1D;;AACA,YAAIwY,oBAAJ,EAA0B;AACtB7kB,UAAAA,mBAAmB,CAAC7B,OAAD,CAAnB,CAA6BrB,MAA7B,CAAoC,MAAM,KAAK8lB,OAAL,CAAaoC,gBAAb,CAA8B5kB,OAA9B,CAA1C;AACH;;AACD,eAAO,IAAP;AACH;AACJ;;AACD,WAAO,KAAP;AACH;;AACD6kB,EAAAA,8BAA8B,CAAC7kB,OAAD,EAAU;AACpC,UAAMgjB,SAAS,GAAG,KAAKL,iBAAL,CAAuBpgB,GAAvB,CAA2BvC,OAA3B,CAAlB;;AACA,UAAM8kB,aAAa,GAAG,KAAKtC,OAAL,CAAaU,eAAb,CAA6B3gB,GAA7B,CAAiCvC,OAAjC,CAAtB,CAFoC,CAGpC;AACA;;;AACA,QAAIgjB,SAAS,IAAI8B,aAAjB,EAAgC;AAC5B,YAAMC,eAAe,GAAG,IAAIlX,GAAJ,EAAxB;AACAmV,MAAAA,SAAS,CAAC1mB,OAAV,CAAkB0oB,QAAQ,IAAI;AAC1B,cAAMpjB,WAAW,GAAGojB,QAAQ,CAACrrB,IAA7B;AACA,YAAIorB,eAAe,CAAC7W,GAAhB,CAAoBtM,WAApB,CAAJ,EACI;AACJmjB,QAAAA,eAAe,CAAC9U,GAAhB,CAAoBrO,WAApB;AACA,cAAMlI,OAAO,GAAG,KAAK+oB,SAAL,CAAe7gB,WAAf,CAAhB;AACA,cAAMlH,UAAU,GAAGhB,OAAO,CAACgmB,kBAA3B;AACA,cAAM7d,SAAS,GAAGijB,aAAa,CAACljB,WAAD,CAAb,IAA8BygB,mBAAhD;AACA,cAAMvgB,OAAO,GAAG,IAAIkgB,UAAJ,CAAeI,UAAf,CAAhB;AACA,cAAMhkB,MAAM,GAAG,IAAIklB,yBAAJ,CAA8B,KAAKzgB,EAAnC,EAAuCjB,WAAvC,EAAoD5B,OAApD,CAAf;AACA,aAAKwiB,OAAL,CAAaqB,kBAAb;;AACA,aAAKnB,MAAL,CAAYjmB,IAAZ,CAAiB;AACbuD,UAAAA,OADa;AAEb4B,UAAAA,WAFa;AAGblH,UAAAA,UAHa;AAIbmH,UAAAA,SAJa;AAKbC,UAAAA,OALa;AAMb1D,UAAAA,MANa;AAObwlB,UAAAA,oBAAoB,EAAE;AAPT,SAAjB;AASH,OApBD;AAqBH;AACJ;;AACDqB,EAAAA,UAAU,CAACjlB,OAAD,EAAUiM,OAAV,EAAmB;AACzB,UAAMiZ,MAAM,GAAG,KAAK1C,OAApB;;AACA,QAAIxiB,OAAO,CAACmlB,iBAAZ,EAA+B;AAC3B,WAAKhB,8BAAL,CAAoCnkB,OAApC,EAA6CiM,OAA7C;AACH,KAJwB,CAKzB;;;AACA,QAAI,KAAKsY,qBAAL,CAA2BvkB,OAA3B,EAAoCiM,OAApC,EAA6C,IAA7C,CAAJ,EACI,OAPqB,CAQzB;AACA;;AACA,QAAImZ,iCAAiC,GAAG,KAAxC;;AACA,QAAIF,MAAM,CAACG,eAAX,EAA4B;AACxB,YAAMC,cAAc,GAAGJ,MAAM,CAACnnB,OAAP,CAAeH,MAAf,GAAwBsnB,MAAM,CAACK,uBAAP,CAA+BhjB,GAA/B,CAAmCvC,OAAnC,CAAxB,GAAsE,EAA7F,CADwB,CAExB;AACA;AACA;AACA;;AACA,UAAIslB,cAAc,IAAIA,cAAc,CAAC1nB,MAArC,EAA6C;AACzCwnB,QAAAA,iCAAiC,GAAG,IAApC;AACH,OAFD,MAGK;AACD,YAAII,MAAM,GAAGxlB,OAAb;;AACA,eAAOwlB,MAAM,GAAGA,MAAM,CAAC1hB,UAAvB,EAAmC;AAC/B,gBAAM2hB,QAAQ,GAAGP,MAAM,CAAChC,eAAP,CAAuB3gB,GAAvB,CAA2BijB,MAA3B,CAAjB;;AACA,cAAIC,QAAJ,EAAc;AACVL,YAAAA,iCAAiC,GAAG,IAApC;AACA;AACH;AACJ;AACJ;AACJ,KA9BwB,CA+BzB;AACA;AACA;AACA;;;AACA,SAAKP,8BAAL,CAAoC7kB,OAApC,EAnCyB,CAoCzB;AACA;;AACA,QAAIolB,iCAAJ,EAAuC;AACnCF,MAAAA,MAAM,CAACP,oBAAP,CAA4B,KAAK9hB,EAAjC,EAAqC7C,OAArC,EAA8C,KAA9C,EAAqDiM,OAArD;AACH,KAFD,MAGK;AACD,YAAMyZ,WAAW,GAAG1lB,OAAO,CAAC+hB,YAAD,CAA3B;;AACA,UAAI,CAAC2D,WAAD,IAAgBA,WAAW,KAAKlE,kBAApC,EAAwD;AACpD;AACA;AACA0D,QAAAA,MAAM,CAAC/B,UAAP,CAAkB,MAAM,KAAKc,iBAAL,CAAuBjkB,OAAvB,CAAxB;AACAklB,QAAAA,MAAM,CAACS,sBAAP,CAA8B3lB,OAA9B;;AACAklB,QAAAA,MAAM,CAACU,kBAAP,CAA0B5lB,OAA1B,EAAmCiM,OAAnC;AACH;AACJ;AACJ;;AACD4Z,EAAAA,UAAU,CAAC7lB,OAAD,EAAUwlB,MAAV,EAAkB;AACxB3C,IAAAA,QAAQ,CAAC7iB,OAAD,EAAU,KAAK4iB,cAAf,CAAR;AACH;;AACDkD,EAAAA,sBAAsB,CAACC,WAAD,EAAc;AAChC,UAAM9R,YAAY,GAAG,EAArB;;AACA,SAAKyO,MAAL,CAAYpmB,OAAZ,CAAoBwjB,KAAK,IAAI;AACzB,YAAM1hB,MAAM,GAAG0hB,KAAK,CAAC1hB,MAArB;AACA,UAAIA,MAAM,CAAC4nB,SAAX,EACI;AACJ,YAAMhmB,OAAO,GAAG8f,KAAK,CAAC9f,OAAtB;;AACA,YAAMgjB,SAAS,GAAG,KAAKL,iBAAL,CAAuBpgB,GAAvB,CAA2BvC,OAA3B,CAAlB;;AACA,UAAIgjB,SAAJ,EAAe;AACXA,QAAAA,SAAS,CAAC1mB,OAAV,CAAmB0oB,QAAD,IAAc;AAC5B,cAAIA,QAAQ,CAACrrB,IAAT,IAAiBmmB,KAAK,CAACle,WAA3B,EAAwC;AACpC,kBAAMmf,SAAS,GAAGpf,kBAAkB,CAAC3B,OAAD,EAAU8f,KAAK,CAACle,WAAhB,EAA6Bke,KAAK,CAACje,SAAN,CAAgBQ,KAA7C,EAAoDyd,KAAK,CAAChe,OAAN,CAAcO,KAAlE,CAApC;AACA0e,YAAAA,SAAS,CAAC,OAAD,CAAT,GAAqBgF,WAArB;AACA3kB,YAAAA,cAAc,CAAC0e,KAAK,CAAC1hB,MAAP,EAAe4mB,QAAQ,CAAClC,KAAxB,EAA+B/B,SAA/B,EAA0CiE,QAAQ,CAACzjB,QAAnD,CAAd;AACH;AACJ,SAND;AAOH;;AACD,UAAInD,MAAM,CAAC6nB,gBAAX,EAA6B;AACzB,aAAKzD,OAAL,CAAaW,UAAb,CAAwB,MAAM;AAC1B;AACA;AACA/kB,UAAAA,MAAM,CAAChB,OAAP;AACH,SAJD;AAKH,OAND,MAOK;AACD6W,QAAAA,YAAY,CAACxX,IAAb,CAAkBqjB,KAAlB;AACH;AACJ,KAzBD;;AA0BA,SAAK4C,MAAL,GAAc,EAAd;AACA,WAAOzO,YAAY,CAACiS,IAAb,CAAkB,CAACC,CAAD,EAAIC,CAAJ,KAAU;AAC/B;AACA;AACA,YAAMC,EAAE,GAAGF,CAAC,CAACzrB,UAAF,CAAayW,GAAb,CAAiB/B,QAA5B;AACA,YAAMkX,EAAE,GAAGF,CAAC,CAAC1rB,UAAF,CAAayW,GAAb,CAAiB/B,QAA5B;;AACA,UAAIiX,EAAE,IAAI,CAAN,IAAWC,EAAE,IAAI,CAArB,EAAwB;AACpB,eAAOD,EAAE,GAAGC,EAAZ;AACH;;AACD,aAAO,KAAK9D,OAAL,CAAa1iB,MAAb,CAAoB4F,eAApB,CAAoCygB,CAAC,CAACnmB,OAAtC,EAA+ComB,CAAC,CAACpmB,OAAjD,IAA4D,CAA5D,GAAgE,CAAC,CAAxE;AACH,KATM,CAAP;AAUH;;AACD5C,EAAAA,OAAO,CAAC6O,OAAD,EAAU;AACb,SAAKlO,OAAL,CAAazB,OAAb,CAAqBoC,CAAC,IAAIA,CAAC,CAACtB,OAAF,EAA1B;;AACA,SAAK+mB,8BAAL,CAAoC,KAAK5B,WAAzC,EAAsDtW,OAAtD;AACH;;AACDsa,EAAAA,mBAAmB,CAACvmB,OAAD,EAAU;AACzB,QAAIwmB,YAAY,GAAG,KAAnB;AACA,QAAI,KAAK7D,iBAAL,CAAuBzU,GAAvB,CAA2BlO,OAA3B,CAAJ,EACIwmB,YAAY,GAAG,IAAf;AACJA,IAAAA,YAAY,GACR,CAAC,KAAK9D,MAAL,CAAYzP,IAAZ,CAAiB6M,KAAK,IAAIA,KAAK,CAAC9f,OAAN,KAAkBA,OAA5C,IAAuD,IAAvD,GAA8D,KAA/D,KAAyEwmB,YAD7E;AAEA,WAAOA,YAAP;AACH;;AAjW8B;;AAmWnC,MAAMC,yBAAN,CAAgC;AAC5BhrB,EAAAA,WAAW,CAAC4kB,QAAD,EAAWvgB,MAAX,EAAmByf,WAAnB,EAAgC;AACvC,SAAKc,QAAL,GAAgBA,QAAhB;AACA,SAAKvgB,MAAL,GAAcA,MAAd;AACA,SAAKyf,WAAL,GAAmBA,WAAnB;AACA,SAAKxhB,OAAL,GAAe,EAAf;AACA,SAAK2oB,eAAL,GAAuB,IAAIpkB,GAAJ,EAAvB;AACA,SAAKohB,gBAAL,GAAwB,IAAIphB,GAAJ,EAAxB;AACA,SAAKijB,uBAAL,GAA+B,IAAIjjB,GAAJ,EAA/B;AACA,SAAK4gB,eAAL,GAAuB,IAAI5gB,GAAJ,EAAvB;AACA,SAAKqkB,aAAL,GAAqB,IAAI9Y,GAAJ,EAArB;AACA,SAAKwX,eAAL,GAAuB,CAAvB;AACA,SAAKxB,kBAAL,GAA0B,CAA1B;AACA,SAAK+C,gBAAL,GAAwB,EAAxB;AACA,SAAKC,cAAL,GAAsB,EAAtB;AACA,SAAKC,SAAL,GAAiB,EAAjB;AACA,SAAKC,aAAL,GAAqB,EAArB;AACA,SAAKC,uBAAL,GAA+B,IAAI1kB,GAAJ,EAA/B;AACA,SAAK2kB,sBAAL,GAA8B,EAA9B;AACA,SAAKC,sBAAL,GAA8B,EAA9B,CAlBuC,CAmBvC;;AACA,SAAKC,iBAAL,GAAyB,CAACnnB,OAAD,EAAUiM,OAAV,KAAsB,CAAG,CAAlD;AACH;AACD;;;AACA2Z,EAAAA,kBAAkB,CAAC5lB,OAAD,EAAUiM,OAAV,EAAmB;AACjC,SAAKkb,iBAAL,CAAuBnnB,OAAvB,EAAgCiM,OAAhC;AACH;;AACgB,MAAbmb,aAAa,GAAG;AAChB,UAAMrpB,OAAO,GAAG,EAAhB;;AACA,SAAK8oB,cAAL,CAAoBvqB,OAApB,CAA4BgoB,EAAE,IAAI;AAC9BA,MAAAA,EAAE,CAACvmB,OAAH,CAAWzB,OAAX,CAAmB8B,MAAM,IAAI;AACzB,YAAIA,MAAM,CAACulB,MAAX,EAAmB;AACf5lB,UAAAA,OAAO,CAACtB,IAAR,CAAa2B,MAAb;AACH;AACJ,OAJD;AAKH,KAND;;AAOA,WAAOL,OAAP;AACH;;AACDspB,EAAAA,eAAe,CAAC5F,WAAD,EAAcc,WAAd,EAA2B;AACtC,UAAM+B,EAAE,GAAG,IAAIhC,4BAAJ,CAAiCb,WAAjC,EAA8Cc,WAA9C,EAA2D,IAA3D,CAAX;;AACA,QAAI,KAAKlC,QAAL,IAAiB,KAAKvgB,MAAL,CAAY4F,eAAZ,CAA4B,KAAK2a,QAAjC,EAA2CkC,WAA3C,CAArB,EAA8E;AAC1E,WAAK+E,qBAAL,CAA2BhD,EAA3B,EAA+B/B,WAA/B;AACH,KAFD,MAGK;AACD;AACA;AACA;AACA,WAAKmE,eAAL,CAAqBlkB,GAArB,CAAyB+f,WAAzB,EAAsC+B,EAAtC,EAJC,CAKD;AACA;AACA;AACA;AACA;;AACA,WAAKiD,mBAAL,CAAyBhF,WAAzB;AACH;;AACD,WAAO,KAAKqE,gBAAL,CAAsBnF,WAAtB,IAAqC6C,EAA5C;AACH;;AACDgD,EAAAA,qBAAqB,CAAChD,EAAD,EAAK/B,WAAL,EAAkB;AACnC,UAAMhQ,KAAK,GAAG,KAAKsU,cAAL,CAAoBjpB,MAApB,GAA6B,CAA3C;;AACA,QAAI2U,KAAK,IAAI,CAAb,EAAgB;AACZ,UAAIiV,KAAK,GAAG,KAAZ;;AACA,WAAK,IAAI5iB,CAAC,GAAG2N,KAAb,EAAoB3N,CAAC,IAAI,CAAzB,EAA4BA,CAAC,EAA7B,EAAiC;AAC7B,cAAM6iB,aAAa,GAAG,KAAKZ,cAAL,CAAoBjiB,CAApB,CAAtB;;AACA,YAAI,KAAK9E,MAAL,CAAY4F,eAAZ,CAA4B+hB,aAAa,CAAClF,WAA1C,EAAuDA,WAAvD,CAAJ,EAAyE;AACrE,eAAKsE,cAAL,CAAoBne,MAApB,CAA2B9D,CAAC,GAAG,CAA/B,EAAkC,CAAlC,EAAqC0f,EAArC;;AACAkD,UAAAA,KAAK,GAAG,IAAR;AACA;AACH;AACJ;;AACD,UAAI,CAACA,KAAL,EAAY;AACR,aAAKX,cAAL,CAAoBne,MAApB,CAA2B,CAA3B,EAA8B,CAA9B,EAAiC4b,EAAjC;AACH;AACJ,KAbD,MAcK;AACD,WAAKuC,cAAL,CAAoBpqB,IAApB,CAAyB6nB,EAAzB;AACH;;AACD,SAAK0C,uBAAL,CAA6BxkB,GAA7B,CAAiC+f,WAAjC,EAA8C+B,EAA9C;AACA,WAAOA,EAAP;AACH;;AACD9D,EAAAA,QAAQ,CAACiB,WAAD,EAAcc,WAAd,EAA2B;AAC/B,QAAI+B,EAAE,GAAG,KAAKsC,gBAAL,CAAsBnF,WAAtB,CAAT;;AACA,QAAI,CAAC6C,EAAL,EAAS;AACLA,MAAAA,EAAE,GAAG,KAAK+C,eAAL,CAAqB5F,WAArB,EAAkCc,WAAlC,CAAL;AACH;;AACD,WAAO+B,EAAP;AACH;;AACDoD,EAAAA,eAAe,CAACjG,WAAD,EAAc9nB,IAAd,EAAoBD,OAApB,EAA6B;AACxC,QAAI4qB,EAAE,GAAG,KAAKsC,gBAAL,CAAsBnF,WAAtB,CAAT;;AACA,QAAI6C,EAAE,IAAIA,EAAE,CAAC9D,QAAH,CAAY7mB,IAAZ,EAAkBD,OAAlB,CAAV,EAAsC;AAClC,WAAK2rB,eAAL;AACH;AACJ;;AACDjoB,EAAAA,OAAO,CAACqkB,WAAD,EAAcxV,OAAd,EAAuB;AAC1B,QAAI,CAACwV,WAAL,EACI;;AACJ,UAAM6C,EAAE,GAAG,KAAKqD,eAAL,CAAqBlG,WAArB,CAAX;;AACA,SAAK0B,UAAL,CAAgB,MAAM;AAClB,WAAK6D,uBAAL,CAA6B9S,MAA7B,CAAoCoQ,EAAE,CAAC/B,WAAvC;AACA,aAAO,KAAKqE,gBAAL,CAAsBnF,WAAtB,CAAP;;AACA,YAAMZ,KAAK,GAAG,KAAKgG,cAAL,CAAoBjkB,OAApB,CAA4B0hB,EAA5B,CAAd;;AACA,UAAIzD,KAAK,IAAI,CAAb,EAAgB;AACZ,aAAKgG,cAAL,CAAoBne,MAApB,CAA2BmY,KAA3B,EAAkC,CAAlC;AACH;AACJ,KAPD;AAQA,SAAK2D,wBAAL,CAA8B,MAAMF,EAAE,CAAClnB,OAAH,CAAW6O,OAAX,CAApC;AACH;;AACD0b,EAAAA,eAAe,CAAC9kB,EAAD,EAAK;AAChB,WAAO,KAAK+jB,gBAAL,CAAsB/jB,EAAtB,CAAP;AACH;;AACDwhB,EAAAA,wBAAwB,CAACrkB,OAAD,EAAU;AAC9B;AACA;AACA;AACA;AACA;AACA,UAAMokB,UAAU,GAAG,IAAIvW,GAAJ,EAAnB;AACA,UAAMiX,aAAa,GAAG,KAAK5B,eAAL,CAAqB3gB,GAArB,CAAyBvC,OAAzB,CAAtB;;AACA,QAAI8kB,aAAJ,EAAmB;AACf,YAAMnkB,IAAI,GAAGD,MAAM,CAACC,IAAP,CAAYmkB,aAAZ,CAAb;;AACA,WAAK,IAAIlgB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGjE,IAAI,CAAC/C,MAAzB,EAAiCgH,CAAC,EAAlC,EAAsC;AAClC,cAAMgjB,IAAI,GAAG9C,aAAa,CAACnkB,IAAI,CAACiE,CAAD,CAAL,CAAb,CAAuB6c,WAApC;;AACA,YAAImG,IAAJ,EAAU;AACN,gBAAMtD,EAAE,GAAG,KAAKqD,eAAL,CAAqBC,IAArB,CAAX;;AACA,cAAItD,EAAJ,EAAQ;AACJF,YAAAA,UAAU,CAACnU,GAAX,CAAeqU,EAAf;AACH;AACJ;AACJ;AACJ;;AACD,WAAOF,UAAP;AACH;;AACD1qB,EAAAA,OAAO,CAAC+nB,WAAD,EAAczhB,OAAd,EAAuBrG,IAAvB,EAA6B0I,KAA7B,EAAoC;AACvC,QAAIwlB,aAAa,CAAC7nB,OAAD,CAAjB,EAA4B;AACxB,YAAMskB,EAAE,GAAG,KAAKqD,eAAL,CAAqBlG,WAArB,CAAX;;AACA,UAAI6C,EAAJ,EAAQ;AACJA,QAAAA,EAAE,CAAC5qB,OAAH,CAAWsG,OAAX,EAAoBrG,IAApB,EAA0B0I,KAA1B;AACA,eAAO,IAAP;AACH;AACJ;;AACD,WAAO,KAAP;AACH;;AACDwjB,EAAAA,UAAU,CAACpE,WAAD,EAAczhB,OAAd,EAAuBwlB,MAAvB,EAA+BsC,YAA/B,EAA6C;AACnD,QAAI,CAACD,aAAa,CAAC7nB,OAAD,CAAlB,EACI,OAF+C,CAGnD;AACA;;AACA,UAAM+nB,OAAO,GAAG/nB,OAAO,CAAC+hB,YAAD,CAAvB;;AACA,QAAIgG,OAAO,IAAIA,OAAO,CAACrG,aAAvB,EAAsC;AAClCqG,MAAAA,OAAO,CAACrG,aAAR,GAAwB,KAAxB;AACAqG,MAAAA,OAAO,CAACpG,UAAR,GAAqB,IAArB;AACA,YAAMd,KAAK,GAAG,KAAKqG,sBAAL,CAA4BtkB,OAA5B,CAAoC5C,OAApC,CAAd;;AACA,UAAI6gB,KAAK,IAAI,CAAb,EAAgB;AACZ,aAAKqG,sBAAL,CAA4Bxe,MAA5B,CAAmCmY,KAAnC,EAA0C,CAA1C;AACH;AACJ,KAbkD,CAcnD;AACA;AACA;;;AACA,QAAIY,WAAJ,EAAiB;AACb,YAAM6C,EAAE,GAAG,KAAKqD,eAAL,CAAqBlG,WAArB,CAAX,CADa,CAEb;AACA;AACA;AACA;AACA;AACA;;;AACA,UAAI6C,EAAJ,EAAQ;AACJA,QAAAA,EAAE,CAACuB,UAAH,CAAc7lB,OAAd,EAAuBwlB,MAAvB;AACH;AACJ,KA5BkD,CA6BnD;;;AACA,QAAIsC,YAAJ,EAAkB;AACd,WAAKP,mBAAL,CAAyBvnB,OAAzB;AACH;AACJ;;AACDunB,EAAAA,mBAAmB,CAACvnB,OAAD,EAAU;AACzB,SAAKinB,sBAAL,CAA4BxqB,IAA5B,CAAiCuD,OAAjC;AACH;;AACDgoB,EAAAA,qBAAqB,CAAChoB,OAAD,EAAUqC,KAAV,EAAiB;AAClC,QAAIA,KAAJ,EAAW;AACP,UAAI,CAAC,KAAKskB,aAAL,CAAmBzY,GAAnB,CAAuBlO,OAAvB,CAAL,EAAsC;AAClC,aAAK2mB,aAAL,CAAmB1W,GAAnB,CAAuBjQ,OAAvB;AACA6iB,QAAAA,QAAQ,CAAC7iB,OAAD,EAAUmhB,kBAAV,CAAR;AACH;AACJ,KALD,MAMK,IAAI,KAAKwF,aAAL,CAAmBzY,GAAnB,CAAuBlO,OAAvB,CAAJ,EAAqC;AACtC,WAAK2mB,aAAL,CAAmBzS,MAAnB,CAA0BlU,OAA1B;AACA8jB,MAAAA,WAAW,CAAC9jB,OAAD,EAAUmhB,kBAAV,CAAX;AACH;AACJ;;AACD8D,EAAAA,UAAU,CAACxD,WAAD,EAAczhB,OAAd,EAAuBioB,aAAvB,EAAsChc,OAAtC,EAA+C;AACrD,QAAI4b,aAAa,CAAC7nB,OAAD,CAAjB,EAA4B;AACxB,YAAMskB,EAAE,GAAG7C,WAAW,GAAG,KAAKkG,eAAL,CAAqBlG,WAArB,CAAH,GAAuC,IAA7D;;AACA,UAAI6C,EAAJ,EAAQ;AACJA,QAAAA,EAAE,CAACW,UAAH,CAAcjlB,OAAd,EAAuBiM,OAAvB;AACH,OAFD,MAGK;AACD,aAAK0Y,oBAAL,CAA0BlD,WAA1B,EAAuCzhB,OAAvC,EAAgD,KAAhD,EAAuDiM,OAAvD;AACH;;AACD,UAAIgc,aAAJ,EAAmB;AACf,cAAMC,MAAM,GAAG,KAAKlB,uBAAL,CAA6BzkB,GAA7B,CAAiCvC,OAAjC,CAAf;;AACA,YAAIkoB,MAAM,IAAIA,MAAM,CAACrlB,EAAP,KAAc4e,WAA5B,EAAyC;AACrCyG,UAAAA,MAAM,CAACjD,UAAP,CAAkBjlB,OAAlB,EAA2BiM,OAA3B;AACH;AACJ;AACJ,KAdD,MAeK;AACD,WAAK2Z,kBAAL,CAAwB5lB,OAAxB,EAAiCiM,OAAjC;AACH;AACJ;;AACD0Y,EAAAA,oBAAoB,CAAClD,WAAD,EAAczhB,OAAd,EAAuB4hB,YAAvB,EAAqC3V,OAArC,EAA8C;AAC9D,SAAKib,sBAAL,CAA4BzqB,IAA5B,CAAiCuD,OAAjC;AACAA,IAAAA,OAAO,CAAC+hB,YAAD,CAAP,GACI;AAAEN,MAAAA,WAAF;AAAeC,MAAAA,aAAa,EAAEzV,OAA9B;AAAuC2V,MAAAA,YAAvC;AAAqDC,MAAAA,oBAAoB,EAAE;AAA3E,KADJ;AAEH;;AACDf,EAAAA,MAAM,CAACW,WAAD,EAAczhB,OAAd,EAAuBrG,IAAvB,EAA6BmpB,KAA7B,EAAoCvhB,QAApC,EAA8C;AAChD,QAAIsmB,aAAa,CAAC7nB,OAAD,CAAjB,EAA4B;AACxB,aAAO,KAAK2nB,eAAL,CAAqBlG,WAArB,EAAkCX,MAAlC,CAAyC9gB,OAAzC,EAAkDrG,IAAlD,EAAwDmpB,KAAxD,EAA+DvhB,QAA/D,CAAP;AACH;;AACD,WAAO,MAAM,CAAG,CAAhB;AACH;;AACD4mB,EAAAA,iBAAiB,CAACrI,KAAD,EAAQsI,YAAR,EAAsBvT,cAAtB,EAAsCC,cAAtC,EAAsDuT,YAAtD,EAAoE;AACjF,WAAOvI,KAAK,CAACplB,UAAN,CAAiBiU,KAAjB,CAAuB,KAAK7O,MAA5B,EAAoCggB,KAAK,CAAC9f,OAA1C,EAAmD8f,KAAK,CAACje,SAAN,CAAgBQ,KAAnE,EAA0Eyd,KAAK,CAAChe,OAAN,CAAcO,KAAxF,EAA+FwS,cAA/F,EAA+GC,cAA/G,EAA+HgL,KAAK,CAACje,SAAN,CAAgB/H,OAA/I,EAAwJgmB,KAAK,CAAChe,OAAN,CAAchI,OAAtK,EAA+KsuB,YAA/K,EAA6LC,YAA7L,CAAP;AACH;;AACD1C,EAAAA,sBAAsB,CAAC2C,gBAAD,EAAmB;AACrC,QAAIpP,QAAQ,GAAG,KAAKpZ,MAAL,CAAY9E,KAAZ,CAAkBstB,gBAAlB,EAAoC9gB,mBAApC,EAAyD,IAAzD,CAAf;AACA0R,IAAAA,QAAQ,CAAC5c,OAAT,CAAiB0D,OAAO,IAAI,KAAKuoB,iCAAL,CAAuCvoB,OAAvC,CAA5B;AACA,QAAI,KAAKulB,uBAAL,CAA6BrV,IAA7B,IAAqC,CAAzC,EACI;AACJgJ,IAAAA,QAAQ,GAAG,KAAKpZ,MAAL,CAAY9E,KAAZ,CAAkBstB,gBAAlB,EAAoC5gB,qBAApC,EAA2D,IAA3D,CAAX;AACAwR,IAAAA,QAAQ,CAAC5c,OAAT,CAAiB0D,OAAO,IAAI,KAAKwoB,qCAAL,CAA2CxoB,OAA3C,CAA5B;AACH;;AACDuoB,EAAAA,iCAAiC,CAACvoB,OAAD,EAAU;AACvC,UAAMjC,OAAO,GAAG,KAAK2lB,gBAAL,CAAsBnhB,GAAtB,CAA0BvC,OAA1B,CAAhB;;AACA,QAAIjC,OAAJ,EAAa;AACTA,MAAAA,OAAO,CAACzB,OAAR,CAAgB8B,MAAM,IAAI;AACtB;AACA;AACA;AACA,YAAIA,MAAM,CAACulB,MAAX,EAAmB;AACfvlB,UAAAA,MAAM,CAAC6nB,gBAAP,GAA0B,IAA1B;AACH,SAFD,MAGK;AACD7nB,UAAAA,MAAM,CAAChB,OAAP;AACH;AACJ,OAVD;AAWH;AACJ;;AACDorB,EAAAA,qCAAqC,CAACxoB,OAAD,EAAU;AAC3C,UAAMjC,OAAO,GAAG,KAAKwnB,uBAAL,CAA6BhjB,GAA7B,CAAiCvC,OAAjC,CAAhB;;AACA,QAAIjC,OAAJ,EAAa;AACTA,MAAAA,OAAO,CAACzB,OAAR,CAAgB8B,MAAM,IAAIA,MAAM,CAACjB,MAAP,EAA1B;AACH;AACJ;;AACDsrB,EAAAA,iBAAiB,GAAG;AAChB,WAAO,IAAIptB,OAAJ,CAAYC,OAAO,IAAI;AAC1B,UAAI,KAAKyC,OAAL,CAAaH,MAAjB,EAAyB;AACrB,eAAOgC,mBAAmB,CAAC,KAAK7B,OAAN,CAAnB,CAAkCrB,MAAlC,CAAyC,MAAMpB,OAAO,EAAtD,CAAP;AACH,OAFD,MAGK;AACDA,QAAAA,OAAO;AACV;AACJ,KAPM,CAAP;AAQH;;AACDspB,EAAAA,gBAAgB,CAAC5kB,OAAD,EAAU;AACtB,UAAM+nB,OAAO,GAAG/nB,OAAO,CAAC+hB,YAAD,CAAvB;;AACA,QAAIgG,OAAO,IAAIA,OAAO,CAACrG,aAAvB,EAAsC;AAClC;AACA1hB,MAAAA,OAAO,CAAC+hB,YAAD,CAAP,GAAwBP,kBAAxB;;AACA,UAAIuG,OAAO,CAACtG,WAAZ,EAAyB;AACrB,aAAKkE,sBAAL,CAA4B3lB,OAA5B;;AACA,cAAMskB,EAAE,GAAG,KAAKqD,eAAL,CAAqBI,OAAO,CAACtG,WAA7B,CAAX;;AACA,YAAI6C,EAAJ,EAAQ;AACJA,UAAAA,EAAE,CAACL,iBAAH,CAAqBjkB,OAArB;AACH;AACJ;;AACD,WAAK4lB,kBAAL,CAAwB5lB,OAAxB,EAAiC+nB,OAAO,CAACrG,aAAzC;AACH;;AACD,QAAI,KAAK5hB,MAAL,CAAY2F,cAAZ,CAA2BzF,OAA3B,EAAoCohB,iBAApC,CAAJ,EAA4D;AACxD,WAAK4G,qBAAL,CAA2BhoB,OAA3B,EAAoC,KAApC;AACH;;AACD,SAAKF,MAAL,CAAY9E,KAAZ,CAAkBgF,OAAlB,EAA2BohB,iBAA3B,EAA8C,IAA9C,EAAoD9kB,OAApD,CAA4D0P,IAAI,IAAI;AAChE,WAAKgc,qBAAL,CAA2Bhc,IAA3B,EAAiC,KAAjC;AACH,KAFD;AAGH;;AACD0c,EAAAA,KAAK,CAAC3C,WAAW,GAAG,CAAC,CAAhB,EAAmB;AACpB,QAAIhoB,OAAO,GAAG,EAAd;;AACA,QAAI,KAAK2oB,eAAL,CAAqBxW,IAAzB,EAA+B;AAC3B,WAAKwW,eAAL,CAAqBpqB,OAArB,CAA6B,CAACgoB,EAAD,EAAKtkB,OAAL,KAAiB,KAAKsnB,qBAAL,CAA2BhD,EAA3B,EAA+BtkB,OAA/B,CAA9C;AACA,WAAK0mB,eAAL,CAAqBrS,KAArB;AACH;;AACD,QAAI,KAAKgR,eAAL,IAAwB,KAAK4B,sBAAL,CAA4BrpB,MAAxD,EAAgE;AAC5D,WAAK,IAAIgH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKqiB,sBAAL,CAA4BrpB,MAAhD,EAAwDgH,CAAC,EAAzD,EAA6D;AACzD,cAAMC,GAAG,GAAG,KAAKoiB,sBAAL,CAA4BriB,CAA5B,CAAZ;AACAie,QAAAA,QAAQ,CAAChe,GAAD,EAAMwc,cAAN,CAAR;AACH;AACJ;;AACD,QAAI,KAAKwF,cAAL,CAAoBjpB,MAApB,KACC,KAAKimB,kBAAL,IAA2B,KAAKqD,sBAAL,CAA4BtpB,MADxD,CAAJ,EACqE;AACjE,YAAM+qB,UAAU,GAAG,EAAnB;;AACA,UAAI;AACA5qB,QAAAA,OAAO,GAAG,KAAK6qB,gBAAL,CAAsBD,UAAtB,EAAkC5C,WAAlC,CAAV;AACH,OAFD,SAGQ;AACJ,aAAK,IAAInhB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+jB,UAAU,CAAC/qB,MAA/B,EAAuCgH,CAAC,EAAxC,EAA4C;AACxC+jB,UAAAA,UAAU,CAAC/jB,CAAD,CAAV;AACH;AACJ;AACJ,KAXD,MAYK;AACD,WAAK,IAAIA,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKsiB,sBAAL,CAA4BtpB,MAAhD,EAAwDgH,CAAC,EAAzD,EAA6D;AACzD,cAAM5E,OAAO,GAAG,KAAKknB,sBAAL,CAA4BtiB,CAA5B,CAAhB;AACA,aAAKggB,gBAAL,CAAsB5kB,OAAtB;AACH;AACJ;;AACD,SAAK6jB,kBAAL,GAA0B,CAA1B;AACA,SAAKoD,sBAAL,CAA4BrpB,MAA5B,GAAqC,CAArC;AACA,SAAKspB,sBAAL,CAA4BtpB,MAA5B,GAAqC,CAArC;;AACA,SAAKkpB,SAAL,CAAexqB,OAAf,CAAuBC,EAAE,IAAIA,EAAE,EAA/B;;AACA,SAAKuqB,SAAL,GAAiB,EAAjB;;AACA,QAAI,KAAKC,aAAL,CAAmBnpB,MAAvB,EAA+B;AAC3B;AACA;AACA;AACA,YAAMirB,QAAQ,GAAG,KAAK9B,aAAtB;AACA,WAAKA,aAAL,GAAqB,EAArB;;AACA,UAAIhpB,OAAO,CAACH,MAAZ,EAAoB;AAChBgC,QAAAA,mBAAmB,CAAC7B,OAAD,CAAnB,CAA6BrB,MAA7B,CAAoC,MAAM;AACtCmsB,UAAAA,QAAQ,CAACvsB,OAAT,CAAiBC,EAAE,IAAIA,EAAE,EAAzB;AACH,SAFD;AAGH,OAJD,MAKK;AACDssB,QAAAA,QAAQ,CAACvsB,OAAT,CAAiBC,EAAE,IAAIA,EAAE,EAAzB;AACH;AACJ;AACJ;;AACDinB,EAAAA,WAAW,CAACrjB,MAAD,EAAS;AAChB,UAAM,IAAIe,KAAJ,CAAW,kFAAiFf,MAAM,CAACgB,IAAP,CAAY,IAAZ,CAAkB,EAA9G,CAAN;AACH;;AACDynB,EAAAA,gBAAgB,CAACD,UAAD,EAAa5C,WAAb,EAA0B;AACtC,UAAMqC,YAAY,GAAG,IAAItU,qBAAJ,EAArB;AACA,UAAMgV,cAAc,GAAG,EAAvB;AACA,UAAMC,iBAAiB,GAAG,IAAIzmB,GAAJ,EAA1B;AACA,UAAM0mB,kBAAkB,GAAG,EAA3B;AACA,UAAM3L,eAAe,GAAG,IAAI/a,GAAJ,EAAxB;AACA,UAAM2mB,mBAAmB,GAAG,IAAI3mB,GAAJ,EAA5B;AACA,UAAM4mB,oBAAoB,GAAG,IAAI5mB,GAAJ,EAA7B;AACA,UAAM6mB,mBAAmB,GAAG,IAAItb,GAAJ,EAA5B;AACA,SAAK8Y,aAAL,CAAmBrqB,OAAnB,CAA2B0P,IAAI,IAAI;AAC/Bmd,MAAAA,mBAAmB,CAAClZ,GAApB,CAAwBjE,IAAxB;AACA,YAAMod,oBAAoB,GAAG,KAAKtpB,MAAL,CAAY9E,KAAZ,CAAkBgR,IAAlB,EAAwBkV,eAAxB,EAAyC,IAAzC,CAA7B;;AACA,WAAK,IAAItc,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwkB,oBAAoB,CAACxrB,MAAzC,EAAiDgH,CAAC,EAAlD,EAAsD;AAClDukB,QAAAA,mBAAmB,CAAClZ,GAApB,CAAwBmZ,oBAAoB,CAACxkB,CAAD,CAA5C;AACH;AACJ,KAND;AAOA,UAAMyb,QAAQ,GAAG,KAAKA,QAAtB;AACA,UAAMgJ,kBAAkB,GAAGrgB,KAAK,CAACsgB,IAAN,CAAW,KAAKpG,eAAL,CAAqBviB,IAArB,EAAX,CAA3B;AACA,UAAM4oB,YAAY,GAAGC,YAAY,CAACH,kBAAD,EAAqB,KAAKpC,sBAA1B,CAAjC,CAlBsC,CAmBtC;AACA;AACA;;AACA,UAAMwC,eAAe,GAAG,IAAInnB,GAAJ,EAAxB;AACA,QAAIsC,CAAC,GAAG,CAAR;AACA2kB,IAAAA,YAAY,CAACjtB,OAAb,CAAqB,CAACotB,KAAD,EAAQC,IAAR,KAAiB;AAClC,YAAMC,SAAS,GAAGziB,eAAe,GAAGvC,CAAC,EAArC;AACA6kB,MAAAA,eAAe,CAACjnB,GAAhB,CAAoBmnB,IAApB,EAA0BC,SAA1B;AACAF,MAAAA,KAAK,CAACptB,OAAN,CAAc0P,IAAI,IAAI6W,QAAQ,CAAC7W,IAAD,EAAO4d,SAAP,CAA9B;AACH,KAJD;AAKA,UAAMC,aAAa,GAAG,EAAtB;AACA,UAAMC,gBAAgB,GAAG,IAAIjc,GAAJ,EAAzB;AACA,UAAMkc,2BAA2B,GAAG,IAAIlc,GAAJ,EAApC;;AACA,SAAK,IAAIjJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKsiB,sBAAL,CAA4BtpB,MAAhD,EAAwDgH,CAAC,EAAzD,EAA6D;AACzD,YAAM5E,OAAO,GAAG,KAAKknB,sBAAL,CAA4BtiB,CAA5B,CAAhB;AACA,YAAMmjB,OAAO,GAAG/nB,OAAO,CAAC+hB,YAAD,CAAvB;;AACA,UAAIgG,OAAO,IAAIA,OAAO,CAACrG,aAAvB,EAAsC;AAClCmI,QAAAA,aAAa,CAACptB,IAAd,CAAmBuD,OAAnB;AACA8pB,QAAAA,gBAAgB,CAAC7Z,GAAjB,CAAqBjQ,OAArB;;AACA,YAAI+nB,OAAO,CAACnG,YAAZ,EAA0B;AACtB,eAAK9hB,MAAL,CAAY9E,KAAZ,CAAkBgF,OAAlB,EAA2BshB,aAA3B,EAA0C,IAA1C,EAAgDhlB,OAAhD,CAAwDuI,GAAG,IAAIilB,gBAAgB,CAAC7Z,GAAjB,CAAqBpL,GAArB,CAA/D;AACH,SAFD,MAGK;AACDklB,UAAAA,2BAA2B,CAAC9Z,GAA5B,CAAgCjQ,OAAhC;AACH;AACJ;AACJ;;AACD,UAAMgqB,eAAe,GAAG,IAAI1nB,GAAJ,EAAxB;AACA,UAAM2nB,YAAY,GAAGT,YAAY,CAACH,kBAAD,EAAqBrgB,KAAK,CAACsgB,IAAN,CAAWQ,gBAAX,CAArB,CAAjC;AACAG,IAAAA,YAAY,CAAC3tB,OAAb,CAAqB,CAACotB,KAAD,EAAQC,IAAR,KAAiB;AAClC,YAAMC,SAAS,GAAGxiB,eAAe,GAAGxC,CAAC,EAArC;AACAolB,MAAAA,eAAe,CAACxnB,GAAhB,CAAoBmnB,IAApB,EAA0BC,SAA1B;AACAF,MAAAA,KAAK,CAACptB,OAAN,CAAc0P,IAAI,IAAI6W,QAAQ,CAAC7W,IAAD,EAAO4d,SAAP,CAA9B;AACH,KAJD;AAKAjB,IAAAA,UAAU,CAAClsB,IAAX,CAAgB,MAAM;AAClB8sB,MAAAA,YAAY,CAACjtB,OAAb,CAAqB,CAACotB,KAAD,EAAQC,IAAR,KAAiB;AAClC,cAAMC,SAAS,GAAGH,eAAe,CAAClnB,GAAhB,CAAoBonB,IAApB,CAAlB;AACAD,QAAAA,KAAK,CAACptB,OAAN,CAAc0P,IAAI,IAAI8X,WAAW,CAAC9X,IAAD,EAAO4d,SAAP,CAAjC;AACH,OAHD;AAIAK,MAAAA,YAAY,CAAC3tB,OAAb,CAAqB,CAACotB,KAAD,EAAQC,IAAR,KAAiB;AAClC,cAAMC,SAAS,GAAGI,eAAe,CAACznB,GAAhB,CAAoBonB,IAApB,CAAlB;AACAD,QAAAA,KAAK,CAACptB,OAAN,CAAc0P,IAAI,IAAI8X,WAAW,CAAC9X,IAAD,EAAO4d,SAAP,CAAjC;AACH,OAHD;AAIAC,MAAAA,aAAa,CAACvtB,OAAd,CAAsB0D,OAAO,IAAI;AAC7B,aAAK4kB,gBAAL,CAAsB5kB,OAAtB;AACH,OAFD;AAGH,KAZD;AAaA,UAAMkqB,UAAU,GAAG,EAAnB;AACA,UAAMC,oBAAoB,GAAG,EAA7B;;AACA,SAAK,IAAIvlB,CAAC,GAAG,KAAKiiB,cAAL,CAAoBjpB,MAApB,GAA6B,CAA1C,EAA6CgH,CAAC,IAAI,CAAlD,EAAqDA,CAAC,EAAtD,EAA0D;AACtD,YAAM0f,EAAE,GAAG,KAAKuC,cAAL,CAAoBjiB,CAApB,CAAX;AACA0f,MAAAA,EAAE,CAACwB,sBAAH,CAA0BC,WAA1B,EAAuCzpB,OAAvC,CAA+CwjB,KAAK,IAAI;AACpD,cAAM1hB,MAAM,GAAG0hB,KAAK,CAAC1hB,MAArB;AACA,cAAM4B,OAAO,GAAG8f,KAAK,CAAC9f,OAAtB;AACAkqB,QAAAA,UAAU,CAACztB,IAAX,CAAgB2B,MAAhB;;AACA,YAAI,KAAK6oB,sBAAL,CAA4BrpB,MAAhC,EAAwC;AACpC,gBAAMmqB,OAAO,GAAG/nB,OAAO,CAAC+hB,YAAD,CAAvB,CADoC,CAEpC;;AACA,cAAIgG,OAAO,IAAIA,OAAO,CAACpG,UAAvB,EAAmC;AAC/BvjB,YAAAA,MAAM,CAAChB,OAAP;AACA;AACH;AACJ;;AACD,cAAMgtB,cAAc,GAAG,CAAC/J,QAAD,IAAa,CAAC,KAAKvgB,MAAL,CAAY4F,eAAZ,CAA4B2a,QAA5B,EAAsCrgB,OAAtC,CAArC;AACA,cAAM8U,cAAc,GAAGkV,eAAe,CAACznB,GAAhB,CAAoBvC,OAApB,CAAvB;AACA,cAAM6U,cAAc,GAAG4U,eAAe,CAAClnB,GAAhB,CAAoBvC,OAApB,CAAvB;;AACA,cAAMkW,WAAW,GAAG,KAAKiS,iBAAL,CAAuBrI,KAAvB,EAA8BsI,YAA9B,EAA4CvT,cAA5C,EAA4DC,cAA5D,EAA4EsV,cAA5E,CAApB;;AACA,YAAIlU,WAAW,CAAC/V,MAAZ,IAAsB+V,WAAW,CAAC/V,MAAZ,CAAmBvC,MAA7C,EAAqD;AACjDusB,UAAAA,oBAAoB,CAAC1tB,IAArB,CAA0ByZ,WAA1B;AACA;AACH,SAnBmD,CAoBpD;AACA;AACA;AACA;;;AACA,YAAIkU,cAAJ,EAAoB;AAChBhsB,UAAAA,MAAM,CAAC5B,OAAP,CAAe,MAAMwN,WAAW,CAAChK,OAAD,EAAUkW,WAAW,CAACiH,UAAtB,CAAhC;AACA/e,UAAAA,MAAM,CAACzB,SAAP,CAAiB,MAAMkN,SAAS,CAAC7J,OAAD,EAAUkW,WAAW,CAACkH,QAAtB,CAAhC;AACA0L,UAAAA,cAAc,CAACrsB,IAAf,CAAoB2B,MAApB;AACA;AACH,SA7BmD,CA8BpD;AACA;;;AACA,YAAI0hB,KAAK,CAAC8D,oBAAV,EAAgC;AAC5BxlB,UAAAA,MAAM,CAAC5B,OAAP,CAAe,MAAMwN,WAAW,CAAChK,OAAD,EAAUkW,WAAW,CAACiH,UAAtB,CAAhC;AACA/e,UAAAA,MAAM,CAACzB,SAAP,CAAiB,MAAMkN,SAAS,CAAC7J,OAAD,EAAUkW,WAAW,CAACkH,QAAtB,CAAhC;AACA0L,UAAAA,cAAc,CAACrsB,IAAf,CAAoB2B,MAApB;AACA;AACH,SArCmD,CAsCpD;AACA;AACA;AACA;AACA;;;AACA8X,QAAAA,WAAW,CAACZ,SAAZ,CAAsBhZ,OAAtB,CAA8BoZ,EAAE,IAAIA,EAAE,CAACuD,uBAAH,GAA6B,IAAjE;AACAmP,QAAAA,YAAY,CAACjU,MAAb,CAAoBnU,OAApB,EAA6BkW,WAAW,CAACZ,SAAzC;AACA,cAAM1D,KAAK,GAAG;AAAEsE,UAAAA,WAAF;AAAe9X,UAAAA,MAAf;AAAuB4B,UAAAA;AAAvB,SAAd;AACAgpB,QAAAA,kBAAkB,CAACvsB,IAAnB,CAAwBmV,KAAxB;AACAsE,QAAAA,WAAW,CAACmH,eAAZ,CAA4B/gB,OAA5B,CAAoC0D,OAAO,IAAIiC,eAAe,CAACob,eAAD,EAAkBrd,OAAlB,EAA2B,EAA3B,CAAf,CAA8CvD,IAA9C,CAAmD2B,MAAnD,CAA/C;AACA8X,QAAAA,WAAW,CAACvC,aAAZ,CAA0BrX,OAA1B,CAAkC,CAAC+tB,SAAD,EAAYrqB,OAAZ,KAAwB;AACtD,gBAAMoa,KAAK,GAAG1Z,MAAM,CAACC,IAAP,CAAY0pB,SAAZ,CAAd;;AACA,cAAIjQ,KAAK,CAACxc,MAAV,EAAkB;AACd,gBAAI0sB,MAAM,GAAGrB,mBAAmB,CAAC1mB,GAApB,CAAwBvC,OAAxB,CAAb;;AACA,gBAAI,CAACsqB,MAAL,EAAa;AACTrB,cAAAA,mBAAmB,CAACzmB,GAApB,CAAwBxC,OAAxB,EAAiCsqB,MAAM,GAAG,IAAIzc,GAAJ,EAA1C;AACH;;AACDuM,YAAAA,KAAK,CAAC9d,OAAN,CAAcsE,IAAI,IAAI0pB,MAAM,CAACra,GAAP,CAAWrP,IAAX,CAAtB;AACH;AACJ,SATD;AAUAsV,QAAAA,WAAW,CAACtC,cAAZ,CAA2BtX,OAA3B,CAAmC,CAAC+tB,SAAD,EAAYrqB,OAAZ,KAAwB;AACvD,gBAAMoa,KAAK,GAAG1Z,MAAM,CAACC,IAAP,CAAY0pB,SAAZ,CAAd;AACA,cAAIC,MAAM,GAAGpB,oBAAoB,CAAC3mB,GAArB,CAAyBvC,OAAzB,CAAb;;AACA,cAAI,CAACsqB,MAAL,EAAa;AACTpB,YAAAA,oBAAoB,CAAC1mB,GAArB,CAAyBxC,OAAzB,EAAkCsqB,MAAM,GAAG,IAAIzc,GAAJ,EAA3C;AACH;;AACDuM,UAAAA,KAAK,CAAC9d,OAAN,CAAcsE,IAAI,IAAI0pB,MAAM,CAACra,GAAP,CAAWrP,IAAX,CAAtB;AACH,SAPD;AAQH,OAlED;AAmEH;;AACD,QAAIupB,oBAAoB,CAACvsB,MAAzB,EAAiC;AAC7B,YAAMuC,MAAM,GAAG,EAAf;AACAgqB,MAAAA,oBAAoB,CAAC7tB,OAArB,CAA6B4Z,WAAW,IAAI;AACxC/V,QAAAA,MAAM,CAAC1D,IAAP,CAAa,IAAGyZ,WAAW,CAACtU,WAAY,uBAAxC;AACAsU,QAAAA,WAAW,CAAC/V,MAAZ,CAAmB7D,OAAnB,CAA2BiuB,KAAK,IAAIpqB,MAAM,CAAC1D,IAAP,CAAa,KAAI8tB,KAAM,IAAvB,CAApC;AACH,OAHD;AAIAL,MAAAA,UAAU,CAAC5tB,OAAX,CAAmB8B,MAAM,IAAIA,MAAM,CAAChB,OAAP,EAA7B;AACA,WAAKomB,WAAL,CAAiBrjB,MAAjB;AACH;;AACD,UAAMqqB,qBAAqB,GAAG,IAAIloB,GAAJ,EAA9B,CAnJsC,CAoJtC;AACA;AACA;AACA;;AACA,UAAMmoB,mBAAmB,GAAG,IAAInoB,GAAJ,EAA5B;AACA0mB,IAAAA,kBAAkB,CAAC1sB,OAAnB,CAA2BwjB,KAAK,IAAI;AAChC,YAAM9f,OAAO,GAAG8f,KAAK,CAAC9f,OAAtB;;AACA,UAAIooB,YAAY,CAACla,GAAb,CAAiBlO,OAAjB,CAAJ,EAA+B;AAC3ByqB,QAAAA,mBAAmB,CAACjoB,GAApB,CAAwBxC,OAAxB,EAAiCA,OAAjC;;AACA,aAAK0qB,qBAAL,CAA2B5K,KAAK,CAAC1hB,MAAN,CAAaqjB,WAAxC,EAAqD3B,KAAK,CAAC5J,WAA3D,EAAwEsU,qBAAxE;AACH;AACJ,KAND;AAOA1B,IAAAA,cAAc,CAACxsB,OAAf,CAAuB8B,MAAM,IAAI;AAC7B,YAAM4B,OAAO,GAAG5B,MAAM,CAAC4B,OAAvB;;AACA,YAAMoG,eAAe,GAAG,KAAKukB,mBAAL,CAAyB3qB,OAAzB,EAAkC,KAAlC,EAAyC5B,MAAM,CAACqjB,WAAhD,EAA6DrjB,MAAM,CAACwD,WAApE,EAAiF,IAAjF,CAAxB;;AACAwE,MAAAA,eAAe,CAAC9J,OAAhB,CAAwBsuB,UAAU,IAAI;AAClC3oB,QAAAA,eAAe,CAACuoB,qBAAD,EAAwBxqB,OAAxB,EAAiC,EAAjC,CAAf,CAAoDvD,IAApD,CAAyDmuB,UAAzD;AACAA,QAAAA,UAAU,CAACxtB,OAAX;AACH,OAHD;AAIH,KAPD,EAhKsC,CAwKtC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,UAAMytB,YAAY,GAAGhB,aAAa,CAACtU,MAAd,CAAqBvJ,IAAI,IAAI;AAC9C,aAAO8e,sBAAsB,CAAC9e,IAAD,EAAOid,mBAAP,EAA4BC,oBAA5B,CAA7B;AACH,KAFoB,CAArB,CA/KsC,CAkLtC;;AACA,UAAM6B,aAAa,GAAG,IAAIzoB,GAAJ,EAAtB;AACA,UAAM0oB,oBAAoB,GAAGC,qBAAqB,CAACF,aAAD,EAAgB,KAAKjrB,MAArB,EAA6BiqB,2BAA7B,EAA0Db,oBAA1D,EAAgFzvB,2DAAhF,CAAlD;AACAuxB,IAAAA,oBAAoB,CAAC1uB,OAArB,CAA6B0P,IAAI,IAAI;AACjC,UAAI8e,sBAAsB,CAAC9e,IAAD,EAAOid,mBAAP,EAA4BC,oBAA5B,CAA1B,EAA6E;AACzE2B,QAAAA,YAAY,CAACpuB,IAAb,CAAkBuP,IAAlB;AACH;AACJ,KAJD,EArLsC,CA0LtC;;AACA,UAAMkf,YAAY,GAAG,IAAI5oB,GAAJ,EAArB;AACAinB,IAAAA,YAAY,CAACjtB,OAAb,CAAqB,CAACotB,KAAD,EAAQC,IAAR,KAAiB;AAClCsB,MAAAA,qBAAqB,CAACC,YAAD,EAAe,KAAKprB,MAApB,EAA4B,IAAI+N,GAAJ,CAAQ6b,KAAR,CAA5B,EAA4CT,mBAA5C,EAAiEhqB,8DAAjE,CAArB;AACH,KAFD;AAGA4rB,IAAAA,YAAY,CAACvuB,OAAb,CAAqB0P,IAAI,IAAI;AACzB,YAAMmf,IAAI,GAAGJ,aAAa,CAACxoB,GAAd,CAAkByJ,IAAlB,CAAb;AACA,YAAMof,GAAG,GAAGF,YAAY,CAAC3oB,GAAb,CAAiByJ,IAAjB,CAAZ;AACA+e,MAAAA,aAAa,CAACvoB,GAAd,CAAkBwJ,IAAlB,EAAwBtL,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBqM,IAAlB,CAAd,EAAuCC,GAAvC,CAAxB;AACH,KAJD;AAKA,UAAMC,WAAW,GAAG,EAApB;AACA,UAAMC,UAAU,GAAG,EAAnB;AACA,UAAMC,oCAAoC,GAAG,EAA7C;AACAvC,IAAAA,kBAAkB,CAAC1sB,OAAnB,CAA2BwjB,KAAK,IAAI;AAChC,YAAM;AAAE9f,QAAAA,OAAF;AAAW5B,QAAAA,MAAX;AAAmB8X,QAAAA;AAAnB,UAAmC4J,KAAzC,CADgC,CAEhC;AACA;;AACA,UAAIsI,YAAY,CAACla,GAAb,CAAiBlO,OAAjB,CAAJ,EAA+B;AAC3B,YAAImpB,mBAAmB,CAACjb,GAApB,CAAwBlO,OAAxB,CAAJ,EAAsC;AAClC5B,UAAAA,MAAM,CAACzB,SAAP,CAAiB,MAAMkN,SAAS,CAAC7J,OAAD,EAAUkW,WAAW,CAACkH,QAAtB,CAAhC;AACAhf,UAAAA,MAAM,CAACsD,QAAP,GAAkB,IAAlB;AACAtD,UAAAA,MAAM,CAACotB,iBAAP,CAAyBtV,WAAW,CAAC9Z,SAArC;AACA0sB,UAAAA,cAAc,CAACrsB,IAAf,CAAoB2B,MAApB;AACA;AACH,SAP0B,CAQ3B;AACA;AACA;AACA;AACA;AACA;;;AACA,YAAIqtB,mBAAmB,GAAGF,oCAA1B;;AACA,YAAId,mBAAmB,CAACva,IAApB,GAA2B,CAA/B,EAAkC;AAC9B,cAAIrL,GAAG,GAAG7E,OAAV;AACA,gBAAM0rB,YAAY,GAAG,EAArB;;AACA,iBAAO7mB,GAAG,GAAGA,GAAG,CAACf,UAAjB,EAA6B;AACzB,kBAAM6nB,cAAc,GAAGlB,mBAAmB,CAACloB,GAApB,CAAwBsC,GAAxB,CAAvB;;AACA,gBAAI8mB,cAAJ,EAAoB;AAChBF,cAAAA,mBAAmB,GAAGE,cAAtB;AACA;AACH;;AACDD,YAAAA,YAAY,CAACjvB,IAAb,CAAkBoI,GAAlB;AACH;;AACD6mB,UAAAA,YAAY,CAACpvB,OAAb,CAAqBkpB,MAAM,IAAIiF,mBAAmB,CAACjoB,GAApB,CAAwBgjB,MAAxB,EAAgCiG,mBAAhC,CAA/B;AACH;;AACD,cAAMG,WAAW,GAAG,KAAKC,eAAL,CAAqBztB,MAAM,CAACqjB,WAA5B,EAAyCvL,WAAzC,EAAsDsU,qBAAtD,EAA6EzB,iBAA7E,EAAgGmC,YAAhG,EAA8GH,aAA9G,CAApB;;AACA3sB,QAAAA,MAAM,CAAC0tB,aAAP,CAAqBF,WAArB;;AACA,YAAIH,mBAAmB,KAAKF,oCAA5B,EAAkE;AAC9DF,UAAAA,WAAW,CAAC5uB,IAAZ,CAAiB2B,MAAjB;AACH,SAFD,MAGK;AACD,gBAAM2tB,aAAa,GAAG,KAAKrI,gBAAL,CAAsBnhB,GAAtB,CAA0BkpB,mBAA1B,CAAtB;;AACA,cAAIM,aAAa,IAAIA,aAAa,CAACnuB,MAAnC,EAA2C;AACvCQ,YAAAA,MAAM,CAACjC,YAAP,GAAsByD,mBAAmB,CAACmsB,aAAD,CAAzC;AACH;;AACDjD,UAAAA,cAAc,CAACrsB,IAAf,CAAoB2B,MAApB;AACH;AACJ,OAxCD,MAyCK;AACD4L,QAAAA,WAAW,CAAChK,OAAD,EAAUkW,WAAW,CAACiH,UAAtB,CAAX;AACA/e,QAAAA,MAAM,CAACzB,SAAP,CAAiB,MAAMkN,SAAS,CAAC7J,OAAD,EAAUkW,WAAW,CAACkH,QAAtB,CAAhC,EAFC,CAGD;AACA;AACA;;AACAkO,QAAAA,UAAU,CAAC7uB,IAAX,CAAgB2B,MAAhB;;AACA,YAAI+qB,mBAAmB,CAACjb,GAApB,CAAwBlO,OAAxB,CAAJ,EAAsC;AAClC8oB,UAAAA,cAAc,CAACrsB,IAAf,CAAoB2B,MAApB;AACH;AACJ;AACJ,KAxDD,EAvMsC,CAgQtC;;AACAktB,IAAAA,UAAU,CAAChvB,OAAX,CAAmB8B,MAAM,IAAI;AACzB;AACA;AACA,YAAM4tB,iBAAiB,GAAGjD,iBAAiB,CAACxmB,GAAlB,CAAsBnE,MAAM,CAAC4B,OAA7B,CAA1B;;AACA,UAAIgsB,iBAAiB,IAAIA,iBAAiB,CAACpuB,MAA3C,EAAmD;AAC/C,cAAMguB,WAAW,GAAGhsB,mBAAmB,CAACosB,iBAAD,CAAvC;AACA5tB,QAAAA,MAAM,CAAC0tB,aAAP,CAAqBF,WAArB;AACH;AACJ,KARD,EAjQsC,CA0QtC;AACA;AACA;;AACA9C,IAAAA,cAAc,CAACxsB,OAAf,CAAuB8B,MAAM,IAAI;AAC7B,UAAIA,MAAM,CAACjC,YAAX,EAAyB;AACrBiC,QAAAA,MAAM,CAAC6tB,gBAAP,CAAwB7tB,MAAM,CAACjC,YAA/B;AACH,OAFD,MAGK;AACDiC,QAAAA,MAAM,CAAChB,OAAP;AACH;AACJ,KAPD,EA7QsC,CAqRtC;AACA;AACA;;AACA,SAAK,IAAIwH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGilB,aAAa,CAACjsB,MAAlC,EAA0CgH,CAAC,EAA3C,EAA+C;AAC3C,YAAM5E,OAAO,GAAG6pB,aAAa,CAACjlB,CAAD,CAA7B;AACA,YAAMmjB,OAAO,GAAG/nB,OAAO,CAAC+hB,YAAD,CAAvB;AACA+B,MAAAA,WAAW,CAAC9jB,OAAD,EAAUoH,eAAV,CAAX,CAH2C,CAI3C;AACA;AACA;;AACA,UAAI2gB,OAAO,IAAIA,OAAO,CAACnG,YAAvB,EACI;AACJ,UAAI7jB,OAAO,GAAG,EAAd,CAT2C,CAU3C;AACA;AACA;;AACA,UAAIsf,eAAe,CAACnN,IAApB,EAA0B;AACtB,YAAIgc,oBAAoB,GAAG7O,eAAe,CAAC9a,GAAhB,CAAoBvC,OAApB,CAA3B;;AACA,YAAIksB,oBAAoB,IAAIA,oBAAoB,CAACtuB,MAAjD,EAAyD;AACrDG,UAAAA,OAAO,CAACtB,IAAR,CAAa,GAAGyvB,oBAAhB;AACH;;AACD,YAAIC,oBAAoB,GAAG,KAAKrsB,MAAL,CAAY9E,KAAZ,CAAkBgF,OAAlB,EAA2B0H,qBAA3B,EAAkD,IAAlD,CAA3B;;AACA,aAAK,IAAI0kB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGD,oBAAoB,CAACvuB,MAAzC,EAAiDwuB,CAAC,EAAlD,EAAsD;AAClD,cAAIC,cAAc,GAAGhP,eAAe,CAAC9a,GAAhB,CAAoB4pB,oBAAoB,CAACC,CAAD,CAAxC,CAArB;;AACA,cAAIC,cAAc,IAAIA,cAAc,CAACzuB,MAArC,EAA6C;AACzCG,YAAAA,OAAO,CAACtB,IAAR,CAAa,GAAG4vB,cAAhB;AACH;AACJ;AACJ;;AACD,YAAMC,aAAa,GAAGvuB,OAAO,CAACwX,MAAR,CAAe7W,CAAC,IAAI,CAACA,CAAC,CAACsnB,SAAvB,CAAtB;;AACA,UAAIsG,aAAa,CAAC1uB,MAAlB,EAA0B;AACtB2uB,QAAAA,6BAA6B,CAAC,IAAD,EAAOvsB,OAAP,EAAgBssB,aAAhB,CAA7B;AACH,OAFD,MAGK;AACD,aAAK1H,gBAAL,CAAsB5kB,OAAtB;AACH;AACJ,KAzTqC,CA0TtC;;;AACA6pB,IAAAA,aAAa,CAACjsB,MAAd,GAAuB,CAAvB;AACAytB,IAAAA,WAAW,CAAC/uB,OAAZ,CAAoB8B,MAAM,IAAI;AAC1B,WAAKL,OAAL,CAAatB,IAAb,CAAkB2B,MAAlB;AACAA,MAAAA,MAAM,CAAC1B,MAAP,CAAc,MAAM;AAChB0B,QAAAA,MAAM,CAAChB,OAAP;AACA,cAAMyjB,KAAK,GAAG,KAAK9iB,OAAL,CAAa6E,OAAb,CAAqBxE,MAArB,CAAd;AACA,aAAKL,OAAL,CAAa2K,MAAb,CAAoBmY,KAApB,EAA2B,CAA3B;AACH,OAJD;AAKAziB,MAAAA,MAAM,CAACtB,IAAP;AACH,KARD;AASA,WAAOuuB,WAAP;AACH;;AACD9E,EAAAA,mBAAmB,CAAC9E,WAAD,EAAczhB,OAAd,EAAuB;AACtC,QAAIwmB,YAAY,GAAG,KAAnB;AACA,UAAMuB,OAAO,GAAG/nB,OAAO,CAAC+hB,YAAD,CAAvB;AACA,QAAIgG,OAAO,IAAIA,OAAO,CAACrG,aAAvB,EACI8E,YAAY,GAAG,IAAf;AACJ,QAAI,KAAK9C,gBAAL,CAAsBxV,GAAtB,CAA0BlO,OAA1B,CAAJ,EACIwmB,YAAY,GAAG,IAAf;AACJ,QAAI,KAAKjB,uBAAL,CAA6BrX,GAA7B,CAAiClO,OAAjC,CAAJ,EACIwmB,YAAY,GAAG,IAAf;AACJ,QAAI,KAAKtD,eAAL,CAAqBhV,GAArB,CAAyBlO,OAAzB,CAAJ,EACIwmB,YAAY,GAAG,IAAf;AACJ,WAAO,KAAKmB,eAAL,CAAqBlG,WAArB,EAAkC8E,mBAAlC,CAAsDvmB,OAAtD,KAAkEwmB,YAAzE;AACH;;AACDrD,EAAAA,UAAU,CAAC5hB,QAAD,EAAW;AACjB,SAAKulB,SAAL,CAAerqB,IAAf,CAAoB8E,QAApB;AACH;;AACDijB,EAAAA,wBAAwB,CAACjjB,QAAD,EAAW;AAC/B,SAAKwlB,aAAL,CAAmBtqB,IAAnB,CAAwB8E,QAAxB;AACH;;AACDopB,EAAAA,mBAAmB,CAAC3qB,OAAD,EAAUwsB,gBAAV,EAA4B/K,WAA5B,EAAyC7f,WAAzC,EAAsD6qB,YAAtD,EAAoE;AACnF,QAAI1uB,OAAO,GAAG,EAAd;;AACA,QAAIyuB,gBAAJ,EAAsB;AAClB,YAAME,qBAAqB,GAAG,KAAKnH,uBAAL,CAA6BhjB,GAA7B,CAAiCvC,OAAjC,CAA9B;;AACA,UAAI0sB,qBAAJ,EAA2B;AACvB3uB,QAAAA,OAAO,GAAG2uB,qBAAV;AACH;AACJ,KALD,MAMK;AACD,YAAMxI,cAAc,GAAG,KAAKR,gBAAL,CAAsBnhB,GAAtB,CAA0BvC,OAA1B,CAAvB;;AACA,UAAIkkB,cAAJ,EAAoB;AAChB,cAAMyI,kBAAkB,GAAG,CAACF,YAAD,IAAiBA,YAAY,IAAIrK,UAA5D;AACA8B,QAAAA,cAAc,CAAC5nB,OAAf,CAAuB8B,MAAM,IAAI;AAC7B,cAAIA,MAAM,CAACulB,MAAX,EACI;AACJ,cAAI,CAACgJ,kBAAD,IAAuBvuB,MAAM,CAACwD,WAAP,IAAsBA,WAAjD,EACI;AACJ7D,UAAAA,OAAO,CAACtB,IAAR,CAAa2B,MAAb;AACH,SAND;AAOH;AACJ;;AACD,QAAIqjB,WAAW,IAAI7f,WAAnB,EAAgC;AAC5B7D,MAAAA,OAAO,GAAGA,OAAO,CAACwX,MAAR,CAAenX,MAAM,IAAI;AAC/B,YAAIqjB,WAAW,IAAIA,WAAW,IAAIrjB,MAAM,CAACqjB,WAAzC,EACI,OAAO,KAAP;AACJ,YAAI7f,WAAW,IAAIA,WAAW,IAAIxD,MAAM,CAACwD,WAAzC,EACI,OAAO,KAAP;AACJ,eAAO,IAAP;AACH,OANS,CAAV;AAOH;;AACD,WAAO7D,OAAP;AACH;;AACD2sB,EAAAA,qBAAqB,CAACjJ,WAAD,EAAcvL,WAAd,EAA2BsU,qBAA3B,EAAkD;AACnE,UAAM5oB,WAAW,GAAGsU,WAAW,CAACtU,WAAhC;AACA,UAAMgT,WAAW,GAAGsB,WAAW,CAAClW,OAAhC,CAFmE,CAGnE;AACA;;AACA,UAAM4sB,iBAAiB,GAAG1W,WAAW,CAACgH,mBAAZ,GAAkCnb,SAAlC,GAA8C0f,WAAxE;AACA,UAAMoL,iBAAiB,GAAG3W,WAAW,CAACgH,mBAAZ,GAAkCnb,SAAlC,GAA8CH,WAAxE;;AACA,SAAK,MAAMkrB,mBAAX,IAAkC5W,WAAW,CAACZ,SAA9C,EAAyD;AACrD,YAAMtV,OAAO,GAAG8sB,mBAAmB,CAAC9sB,OAApC;AACA,YAAMwsB,gBAAgB,GAAGxsB,OAAO,KAAK4U,WAArC;AACA,YAAM7W,OAAO,GAAGkE,eAAe,CAACuoB,qBAAD,EAAwBxqB,OAAxB,EAAiC,EAAjC,CAA/B;;AACA,YAAMoG,eAAe,GAAG,KAAKukB,mBAAL,CAAyB3qB,OAAzB,EAAkCwsB,gBAAlC,EAAoDI,iBAApD,EAAuEC,iBAAvE,EAA0F3W,WAAW,CAACpU,OAAtG,CAAxB;;AACAsE,MAAAA,eAAe,CAAC9J,OAAhB,CAAwB8B,MAAM,IAAI;AAC9B,cAAM2uB,UAAU,GAAG3uB,MAAM,CAAC4uB,aAAP,EAAnB;;AACA,YAAID,UAAU,CAAC/tB,aAAf,EAA8B;AAC1B+tB,UAAAA,UAAU,CAAC/tB,aAAX;AACH;;AACDZ,QAAAA,MAAM,CAAChB,OAAP;AACAW,QAAAA,OAAO,CAACtB,IAAR,CAAa2B,MAAb;AACH,OAPD;AAQH,KApBkE,CAqBnE;AACA;;;AACA4L,IAAAA,WAAW,CAAC4K,WAAD,EAAcsB,WAAW,CAACiH,UAA1B,CAAX;AACH;;AACD0O,EAAAA,eAAe,CAACpK,WAAD,EAAcvL,WAAd,EAA2BsU,qBAA3B,EAAkDzB,iBAAlD,EAAqEmC,YAArE,EAAmFH,aAAnF,EAAkG;AAC7G,UAAMnpB,WAAW,GAAGsU,WAAW,CAACtU,WAAhC;AACA,UAAMgT,WAAW,GAAGsB,WAAW,CAAClW,OAAhC,CAF6G,CAG7G;AACA;;AACA,UAAMitB,iBAAiB,GAAG,EAA1B;AACA,UAAMC,mBAAmB,GAAG,IAAIrf,GAAJ,EAA5B;AACA,UAAMsf,cAAc,GAAG,IAAItf,GAAJ,EAAvB;AACA,UAAMuf,aAAa,GAAGlX,WAAW,CAACZ,SAAZ,CAAsBpT,GAAtB,CAA0B4qB,mBAAmB,IAAI;AACnE,YAAM9sB,OAAO,GAAG8sB,mBAAmB,CAAC9sB,OAApC;AACAktB,MAAAA,mBAAmB,CAACjd,GAApB,CAAwBjQ,OAAxB,EAFmE,CAGnE;;AACA,YAAM+nB,OAAO,GAAG/nB,OAAO,CAAC+hB,YAAD,CAAvB;AACA,UAAIgG,OAAO,IAAIA,OAAO,CAAClG,oBAAvB,EACI,OAAO,IAAIrmB,oEAAJ,CAAwBsxB,mBAAmB,CAACpxB,QAA5C,EAAsDoxB,mBAAmB,CAACnxB,KAA1E,CAAP;AACJ,YAAM6wB,gBAAgB,GAAGxsB,OAAO,KAAK4U,WAArC;AACA,YAAMxO,eAAe,GAAGinB,mBAAmB,CAAC,CAAC7C,qBAAqB,CAACjoB,GAAtB,CAA0BvC,OAA1B,KAAsCuhB,kBAAvC,EACvCrf,GADuC,CACnCxD,CAAC,IAAIA,CAAC,CAACsuB,aAAF,EAD8B,CAAD,CAAnB,CAEnBzX,MAFmB,CAEZ7W,CAAC,IAAI;AACb;AACA;AACA;AACA;AACA,cAAM4uB,EAAE,GAAG5uB,CAAX;AACA,eAAO4uB,EAAE,CAACttB,OAAH,GAAastB,EAAE,CAACttB,OAAH,KAAeA,OAA5B,GAAsC,KAA7C;AACH,OATuB,CAAxB;AAUA,YAAMC,SAAS,GAAGirB,YAAY,CAAC3oB,GAAb,CAAiBvC,OAAjB,CAAlB;AACA,YAAME,UAAU,GAAG6qB,aAAa,CAACxoB,GAAd,CAAkBvC,OAAlB,CAAnB;AACA,YAAMvF,SAAS,GAAGoF,kBAAkB,CAAC,KAAKC,MAAN,EAAc,KAAKyf,WAAnB,EAAgCvf,OAAhC,EAAyC8sB,mBAAmB,CAACryB,SAA7D,EAAwEwF,SAAxE,EAAmFC,UAAnF,CAApC;;AACA,YAAM9B,MAAM,GAAG,KAAKqiB,YAAL,CAAkBqM,mBAAlB,EAAuCryB,SAAvC,EAAkD2L,eAAlD,CAAf,CArBmE,CAsBnE;AACA;;;AACA,UAAI0mB,mBAAmB,CAACjZ,WAApB,IAAmCkV,iBAAvC,EAA0D;AACtDoE,QAAAA,cAAc,CAACld,GAAf,CAAmBjQ,OAAnB;AACH;;AACD,UAAIwsB,gBAAJ,EAAsB;AAClB,cAAMe,aAAa,GAAG,IAAIjK,yBAAJ,CAA8B7B,WAA9B,EAA2C7f,WAA3C,EAAwD5B,OAAxD,CAAtB;AACAutB,QAAAA,aAAa,CAACzB,aAAd,CAA4B1tB,MAA5B;AACA6uB,QAAAA,iBAAiB,CAACxwB,IAAlB,CAAuB8wB,aAAvB;AACH;;AACD,aAAOnvB,MAAP;AACH,KAjCqB,CAAtB;AAkCA6uB,IAAAA,iBAAiB,CAAC3wB,OAAlB,CAA0B8B,MAAM,IAAI;AAChC6D,MAAAA,eAAe,CAAC,KAAKsjB,uBAAN,EAA+BnnB,MAAM,CAAC4B,OAAtC,EAA+C,EAA/C,CAAf,CAAkEvD,IAAlE,CAAuE2B,MAAvE;AACAA,MAAAA,MAAM,CAAC1B,MAAP,CAAc,MAAM8wB,kBAAkB,CAAC,KAAKjI,uBAAN,EAA+BnnB,MAAM,CAAC4B,OAAtC,EAA+C5B,MAA/C,CAAtC;AACH,KAHD;AAIA8uB,IAAAA,mBAAmB,CAAC5wB,OAApB,CAA4B0D,OAAO,IAAI6iB,QAAQ,CAAC7iB,OAAD,EAAUyH,sBAAV,CAA/C;AACA,UAAMrJ,MAAM,GAAGwB,mBAAmB,CAACwtB,aAAD,CAAlC;AACAhvB,IAAAA,MAAM,CAACzB,SAAP,CAAiB,MAAM;AACnBuwB,MAAAA,mBAAmB,CAAC5wB,OAApB,CAA4B0D,OAAO,IAAI8jB,WAAW,CAAC9jB,OAAD,EAAUyH,sBAAV,CAAlD;AACAoC,MAAAA,SAAS,CAAC+K,WAAD,EAAcsB,WAAW,CAACkH,QAA1B,CAAT;AACH,KAHD,EAhD6G,CAoD7G;AACA;;AACA+P,IAAAA,cAAc,CAAC7wB,OAAf,CAAuB0D,OAAO,IAAI;AAC9BiC,MAAAA,eAAe,CAAC8mB,iBAAD,EAAoB/oB,OAApB,EAA6B,EAA7B,CAAf,CAAgDvD,IAAhD,CAAqD2B,MAArD;AACH,KAFD;AAGA,WAAOA,MAAP;AACH;;AACDqiB,EAAAA,YAAY,CAACvK,WAAD,EAAczb,SAAd,EAAyB2L,eAAzB,EAA0C;AAClD,QAAI3L,SAAS,CAACmD,MAAV,GAAmB,CAAvB,EAA0B;AACtB,aAAO,KAAKkC,MAAL,CAAY/F,OAAZ,CAAoBmc,WAAW,CAAClW,OAAhC,EAAyCvF,SAAzC,EAAoDyb,WAAW,CAACxa,QAAhE,EAA0Ewa,WAAW,CAACva,KAAtF,EAA6Fua,WAAW,CAAC/P,MAAzG,EAAiHC,eAAjH,CAAP;AACH,KAHiD,CAIlD;AACA;;;AACA,WAAO,IAAI5K,oEAAJ,CAAwB0a,WAAW,CAACxa,QAApC,EAA8Cwa,WAAW,CAACva,KAA1D,CAAP;AACH;;AAxyB2B;;AA0yBhC,MAAM2nB,yBAAN,CAAgC;AAC5B7nB,EAAAA,WAAW,CAACgmB,WAAD,EAAc7f,WAAd,EAA2B5B,OAA3B,EAAoC;AAC3C,SAAKyhB,WAAL,GAAmBA,WAAnB;AACA,SAAK7f,WAAL,GAAmBA,WAAnB;AACA,SAAK5B,OAAL,GAAeA,OAAf;AACA,SAAKytB,OAAL,GAAe,IAAIjyB,oEAAJ,EAAf;AACA,SAAKkyB,mBAAL,GAA2B,KAA3B;AACA,SAAKC,gBAAL,GAAwB,EAAxB;AACA,SAAK3H,SAAL,GAAiB,KAAjB;AACA,SAAKC,gBAAL,GAAwB,KAAxB;AACA,SAAKvkB,QAAL,GAAgB,KAAhB;AACA,SAAKiiB,MAAL,GAAc,IAAd;AACA,SAAKvnB,SAAL,GAAiB,CAAjB;AACH;;AACD0vB,EAAAA,aAAa,CAAC1tB,MAAD,EAAS;AAClB,QAAI,KAAKsvB,mBAAT,EACI;AACJ,SAAKD,OAAL,GAAervB,MAAf;AACAsC,IAAAA,MAAM,CAACC,IAAP,CAAY,KAAKgtB,gBAAjB,EAAmCrxB,OAAnC,CAA2CwmB,KAAK,IAAI;AAChD,WAAK6K,gBAAL,CAAsB7K,KAAtB,EAA6BxmB,OAA7B,CAAqCiF,QAAQ,IAAIH,cAAc,CAAChD,MAAD,EAAS0kB,KAAT,EAAgB/gB,SAAhB,EAA2BR,QAA3B,CAA/D;AACH,KAFD;AAGA,SAAKosB,gBAAL,GAAwB,EAAxB;AACA,SAAKD,mBAAL,GAA2B,IAA3B;AACA,SAAKlC,iBAAL,CAAuBptB,MAAM,CAAChC,SAA9B;AACA,SAAKunB,MAAL,GAAc,KAAd;AACH;;AACDqJ,EAAAA,aAAa,GAAG;AACZ,WAAO,KAAKS,OAAZ;AACH;;AACDjC,EAAAA,iBAAiB,CAACpvB,SAAD,EAAY;AACzB,SAAKA,SAAL,GAAiBA,SAAjB;AACH;;AACD6vB,EAAAA,gBAAgB,CAAC7tB,MAAD,EAAS;AACrB,UAAMM,CAAC,GAAG,KAAK+uB,OAAf;;AACA,QAAI/uB,CAAC,CAACjB,eAAN,EAAuB;AACnBW,MAAAA,MAAM,CAAC5B,OAAP,CAAe,MAAMkC,CAAC,CAACjB,eAAF,CAAkB,OAAlB,CAArB;AACH;;AACDW,IAAAA,MAAM,CAAC1B,MAAP,CAAc,MAAM,KAAKS,MAAL,EAApB;AACAiB,IAAAA,MAAM,CAACzB,SAAP,CAAiB,MAAM,KAAKS,OAAL,EAAvB;AACH;;AACDwwB,EAAAA,WAAW,CAACj0B,IAAD,EAAO4H,QAAP,EAAiB;AACxBU,IAAAA,eAAe,CAAC,KAAK0rB,gBAAN,EAAwBh0B,IAAxB,EAA8B,EAA9B,CAAf,CAAiD8C,IAAjD,CAAsD8E,QAAtD;AACH;;AACD7E,EAAAA,MAAM,CAACH,EAAD,EAAK;AACP,QAAI,KAAKonB,MAAT,EAAiB;AACb,WAAKiK,WAAL,CAAiB,MAAjB,EAAyBrxB,EAAzB;AACH;;AACD,SAAKkxB,OAAL,CAAa/wB,MAAb,CAAoBH,EAApB;AACH;;AACDC,EAAAA,OAAO,CAACD,EAAD,EAAK;AACR,QAAI,KAAKonB,MAAT,EAAiB;AACb,WAAKiK,WAAL,CAAiB,OAAjB,EAA0BrxB,EAA1B;AACH;;AACD,SAAKkxB,OAAL,CAAajxB,OAAb,CAAqBD,EAArB;AACH;;AACDI,EAAAA,SAAS,CAACJ,EAAD,EAAK;AACV,QAAI,KAAKonB,MAAT,EAAiB;AACb,WAAKiK,WAAL,CAAiB,SAAjB,EAA4BrxB,EAA5B;AACH;;AACD,SAAKkxB,OAAL,CAAa9wB,SAAb,CAAuBJ,EAAvB;AACH;;AACDM,EAAAA,IAAI,GAAG;AACH,SAAK4wB,OAAL,CAAa5wB,IAAb;AACH;;AACDD,EAAAA,UAAU,GAAG;AACT,WAAO,KAAK+mB,MAAL,GAAc,KAAd,GAAsB,KAAK8J,OAAL,CAAa7wB,UAAb,EAA7B;AACH;;AACDE,EAAAA,IAAI,GAAG;AACH,KAAC,KAAK6mB,MAAN,IAAgB,KAAK8J,OAAL,CAAa3wB,IAAb,EAAhB;AACH;;AACDG,EAAAA,KAAK,GAAG;AACJ,KAAC,KAAK0mB,MAAN,IAAgB,KAAK8J,OAAL,CAAaxwB,KAAb,EAAhB;AACH;;AACDC,EAAAA,OAAO,GAAG;AACN,KAAC,KAAKymB,MAAN,IAAgB,KAAK8J,OAAL,CAAavwB,OAAb,EAAhB;AACH;;AACDC,EAAAA,MAAM,GAAG;AACL,SAAKswB,OAAL,CAAatwB,MAAb;AACH;;AACDC,EAAAA,OAAO,GAAG;AACN,SAAK4oB,SAAL,GAAiB,IAAjB;;AACA,SAAKyH,OAAL,CAAarwB,OAAb;AACH;;AACDC,EAAAA,KAAK,GAAG;AACJ,KAAC,KAAKsmB,MAAN,IAAgB,KAAK8J,OAAL,CAAapwB,KAAb,EAAhB;AACH;;AACDC,EAAAA,WAAW,CAACoB,CAAD,EAAI;AACX,QAAI,CAAC,KAAKilB,MAAV,EAAkB;AACd,WAAK8J,OAAL,CAAanwB,WAAb,CAAyBoB,CAAzB;AACH;AACJ;;AACDlB,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKmmB,MAAL,GAAc,CAAd,GAAkB,KAAK8J,OAAL,CAAajwB,WAAb,EAAzB;AACH;AACD;;;AACAC,EAAAA,eAAe,CAACC,SAAD,EAAY;AACvB,UAAMgB,CAAC,GAAG,KAAK+uB,OAAf;;AACA,QAAI/uB,CAAC,CAACjB,eAAN,EAAuB;AACnBiB,MAAAA,CAAC,CAACjB,eAAF,CAAkBC,SAAlB;AACH;AACJ;;AApG2B;;AAsGhC,SAAS8vB,kBAAT,CAA4BtrB,GAA5B,EAAiCC,GAAjC,EAAsCE,KAAtC,EAA6C;AACzC,MAAIwrB,aAAJ;;AACA,MAAI3rB,GAAG,YAAYI,GAAnB,EAAwB;AACpBurB,IAAAA,aAAa,GAAG3rB,GAAG,CAACK,GAAJ,CAAQJ,GAAR,CAAhB;;AACA,QAAI0rB,aAAJ,EAAmB;AACf,UAAIA,aAAa,CAACjwB,MAAlB,EAA0B;AACtB,cAAMijB,KAAK,GAAGgN,aAAa,CAACjrB,OAAd,CAAsBP,KAAtB,CAAd;AACAwrB,QAAAA,aAAa,CAACnlB,MAAd,CAAqBmY,KAArB,EAA4B,CAA5B;AACH;;AACD,UAAIgN,aAAa,CAACjwB,MAAd,IAAwB,CAA5B,EAA+B;AAC3BsE,QAAAA,GAAG,CAACgS,MAAJ,CAAW/R,GAAX;AACH;AACJ;AACJ,GAXD,MAYK;AACD0rB,IAAAA,aAAa,GAAG3rB,GAAG,CAACC,GAAD,CAAnB;;AACA,QAAI0rB,aAAJ,EAAmB;AACf,UAAIA,aAAa,CAACjwB,MAAlB,EAA0B;AACtB,cAAMijB,KAAK,GAAGgN,aAAa,CAACjrB,OAAd,CAAsBP,KAAtB,CAAd;AACAwrB,QAAAA,aAAa,CAACnlB,MAAd,CAAqBmY,KAArB,EAA4B,CAA5B;AACH;;AACD,UAAIgN,aAAa,CAACjwB,MAAd,IAAwB,CAA5B,EAA+B;AAC3B,eAAOsE,GAAG,CAACC,GAAD,CAAV;AACH;AACJ;AACJ;;AACD,SAAO0rB,aAAP;AACH;;AACD,SAAS3L,qBAAT,CAA+B7f,KAA/B,EAAsC;AAClC;AACA;AACA;AACA,SAAOA,KAAK,IAAI,IAAT,GAAgBA,KAAhB,GAAwB,IAA/B;AACH;;AACD,SAASwlB,aAAT,CAAuB7b,IAAvB,EAA6B;AACzB,SAAOA,IAAI,IAAIA,IAAI,CAAC,UAAD,CAAJ,KAAqB,CAApC;AACH;;AACD,SAAS+W,mBAAT,CAA6B1hB,SAA7B,EAAwC;AACpC,SAAOA,SAAS,IAAI,OAAb,IAAwBA,SAAS,IAAI,MAA5C;AACH;;AACD,SAASysB,YAAT,CAAsB9tB,OAAtB,EAA+BqC,KAA/B,EAAsC;AAClC,QAAM0rB,QAAQ,GAAG/tB,OAAO,CAAC3F,KAAR,CAAc2zB,OAA/B;AACAhuB,EAAAA,OAAO,CAAC3F,KAAR,CAAc2zB,OAAd,GAAwB3rB,KAAK,IAAI,IAAT,GAAgBA,KAAhB,GAAwB,MAAhD;AACA,SAAO0rB,QAAP;AACH;;AACD,SAAS9C,qBAAT,CAA+BgD,SAA/B,EAA0CnuB,MAA1C,EAAkDoZ,QAAlD,EAA4DgV,eAA5D,EAA6EC,YAA7E,EAA2F;AACvF,QAAMC,SAAS,GAAG,EAAlB;AACAlV,EAAAA,QAAQ,CAAC5c,OAAT,CAAiB0D,OAAO,IAAIouB,SAAS,CAAC3xB,IAAV,CAAeqxB,YAAY,CAAC9tB,OAAD,CAA3B,CAA5B;AACA,QAAMquB,cAAc,GAAG,EAAvB;AACAH,EAAAA,eAAe,CAAC5xB,OAAhB,CAAwB,CAAC8d,KAAD,EAAQpa,OAAR,KAAoB;AACxC,UAAM/F,MAAM,GAAG,EAAf;AACAmgB,IAAAA,KAAK,CAAC9d,OAAN,CAAcsE,IAAI,IAAI;AAClB,YAAMyB,KAAK,GAAGpI,MAAM,CAAC2G,IAAD,CAAN,GAAed,MAAM,CAACoG,YAAP,CAAoBlG,OAApB,EAA6BY,IAA7B,EAAmCutB,YAAnC,CAA7B,CADkB,CAElB;AACA;;AACA,UAAI,CAAC9rB,KAAD,IAAUA,KAAK,CAACzE,MAAN,IAAgB,CAA9B,EAAiC;AAC7BoC,QAAAA,OAAO,CAAC+hB,YAAD,CAAP,GAAwBD,0BAAxB;AACAuM,QAAAA,cAAc,CAAC5xB,IAAf,CAAoBuD,OAApB;AACH;AACJ,KARD;AASAiuB,IAAAA,SAAS,CAACzrB,GAAV,CAAcxC,OAAd,EAAuB/F,MAAvB;AACH,GAZD,EAJuF,CAiBvF;AACA;;AACA,MAAI2K,CAAC,GAAG,CAAR;AACAsU,EAAAA,QAAQ,CAAC5c,OAAT,CAAiB0D,OAAO,IAAI8tB,YAAY,CAAC9tB,OAAD,EAAUouB,SAAS,CAACxpB,CAAC,EAAF,CAAnB,CAAxC;AACA,SAAOypB,cAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS7E,YAAT,CAAsB8E,KAAtB,EAA6B5E,KAA7B,EAAoC;AAChC,QAAM6E,OAAO,GAAG,IAAIjsB,GAAJ,EAAhB;AACAgsB,EAAAA,KAAK,CAAChyB,OAAN,CAAcqtB,IAAI,IAAI4E,OAAO,CAAC/rB,GAAR,CAAYmnB,IAAZ,EAAkB,EAAlB,CAAtB;AACA,MAAID,KAAK,CAAC9rB,MAAN,IAAgB,CAApB,EACI,OAAO2wB,OAAP;AACJ,QAAMC,SAAS,GAAG,CAAlB;AACA,QAAMC,OAAO,GAAG,IAAI5gB,GAAJ,CAAQ6b,KAAR,CAAhB;AACA,QAAMgF,YAAY,GAAG,IAAIpsB,GAAJ,EAArB;;AACA,WAASqsB,OAAT,CAAiB3iB,IAAjB,EAAuB;AACnB,QAAI,CAACA,IAAL,EACI,OAAOwiB,SAAP;AACJ,QAAI7E,IAAI,GAAG+E,YAAY,CAACnsB,GAAb,CAAiByJ,IAAjB,CAAX;AACA,QAAI2d,IAAJ,EACI,OAAOA,IAAP;AACJ,UAAMnE,MAAM,GAAGxZ,IAAI,CAAClI,UAApB;;AACA,QAAIyqB,OAAO,CAACrgB,GAAR,CAAYsX,MAAZ,CAAJ,EAAyB;AAAE;AACvBmE,MAAAA,IAAI,GAAGnE,MAAP;AACH,KAFD,MAGK,IAAIiJ,OAAO,CAACvgB,GAAR,CAAYsX,MAAZ,CAAJ,EAAyB;AAAE;AAC5BmE,MAAAA,IAAI,GAAG6E,SAAP;AACH,KAFI,MAGA;AAAE;AACH7E,MAAAA,IAAI,GAAGgF,OAAO,CAACnJ,MAAD,CAAd;AACH;;AACDkJ,IAAAA,YAAY,CAAClsB,GAAb,CAAiBwJ,IAAjB,EAAuB2d,IAAvB;AACA,WAAOA,IAAP;AACH;;AACDD,EAAAA,KAAK,CAACptB,OAAN,CAAc0P,IAAI,IAAI;AAClB,UAAM2d,IAAI,GAAGgF,OAAO,CAAC3iB,IAAD,CAApB;;AACA,QAAI2d,IAAI,KAAK6E,SAAb,EAAwB;AACpBD,MAAAA,OAAO,CAAChsB,GAAR,CAAYonB,IAAZ,EAAkBltB,IAAlB,CAAuBuP,IAAvB;AACH;AACJ,GALD;AAMA,SAAOuiB,OAAP;AACH;;AACD,MAAMK,iBAAiB,GAAG,WAA1B;;AACA,SAASC,aAAT,CAAuB7uB,OAAvB,EAAgC4pB,SAAhC,EAA2C;AACvC,MAAI5pB,OAAO,CAAC8uB,SAAZ,EAAuB;AACnB,WAAO9uB,OAAO,CAAC8uB,SAAR,CAAkBlrB,QAAlB,CAA2BgmB,SAA3B,CAAP;AACH,GAFD,MAGK;AACD,UAAMmF,OAAO,GAAG/uB,OAAO,CAAC4uB,iBAAD,CAAvB;AACA,WAAOG,OAAO,IAAIA,OAAO,CAACnF,SAAD,CAAzB;AACH;AACJ;;AACD,SAAS/G,QAAT,CAAkB7iB,OAAlB,EAA2B4pB,SAA3B,EAAsC;AAClC,MAAI5pB,OAAO,CAAC8uB,SAAZ,EAAuB;AACnB9uB,IAAAA,OAAO,CAAC8uB,SAAR,CAAkB7e,GAAlB,CAAsB2Z,SAAtB;AACH,GAFD,MAGK;AACD,QAAImF,OAAO,GAAG/uB,OAAO,CAAC4uB,iBAAD,CAArB;;AACA,QAAI,CAACG,OAAL,EAAc;AACVA,MAAAA,OAAO,GAAG/uB,OAAO,CAAC4uB,iBAAD,CAAP,GAA6B,EAAvC;AACH;;AACDG,IAAAA,OAAO,CAACnF,SAAD,CAAP,GAAqB,IAArB;AACH;AACJ;;AACD,SAAS9F,WAAT,CAAqB9jB,OAArB,EAA8B4pB,SAA9B,EAAyC;AACrC,MAAI5pB,OAAO,CAAC8uB,SAAZ,EAAuB;AACnB9uB,IAAAA,OAAO,CAAC8uB,SAAR,CAAkBE,MAAlB,CAAyBpF,SAAzB;AACH,GAFD,MAGK;AACD,QAAImF,OAAO,GAAG/uB,OAAO,CAAC4uB,iBAAD,CAArB;;AACA,QAAIG,OAAJ,EAAa;AACT,aAAOA,OAAO,CAACnF,SAAD,CAAd;AACH;AACJ;AACJ;;AACD,SAAS2C,6BAAT,CAAuCrH,MAAvC,EAA+CllB,OAA/C,EAAwDjC,OAAxD,EAAiE;AAC7D6B,EAAAA,mBAAmB,CAAC7B,OAAD,CAAnB,CAA6BrB,MAA7B,CAAoC,MAAMwoB,MAAM,CAACN,gBAAP,CAAwB5kB,OAAxB,CAA1C;AACH;;AACD,SAASqtB,mBAAT,CAA6BtvB,OAA7B,EAAsC;AAClC,QAAMkxB,YAAY,GAAG,EAArB;;AACAC,EAAAA,yBAAyB,CAACnxB,OAAD,EAAUkxB,YAAV,CAAzB;;AACA,SAAOA,YAAP;AACH;;AACD,SAASC,yBAAT,CAAmCnxB,OAAnC,EAA4CkxB,YAA5C,EAA0D;AACtD,OAAK,IAAIrqB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG7G,OAAO,CAACH,MAA5B,EAAoCgH,CAAC,EAArC,EAAyC;AACrC,UAAMxG,MAAM,GAAGL,OAAO,CAAC6G,CAAD,CAAtB;;AACA,QAAIxG,MAAM,YAAYc,yEAAtB,EAA6C;AACzCgwB,MAAAA,yBAAyB,CAAC9wB,MAAM,CAACL,OAAR,EAAiBkxB,YAAjB,CAAzB;AACH,KAFD,MAGK;AACDA,MAAAA,YAAY,CAACxyB,IAAb,CAAkB2B,MAAlB;AACH;AACJ;AACJ;;AACD,SAASmlB,SAAT,CAAmB4C,CAAnB,EAAsBC,CAAtB,EAAyB;AACrB,QAAM+I,EAAE,GAAGzuB,MAAM,CAACC,IAAP,CAAYwlB,CAAZ,CAAX;AACA,QAAMiJ,EAAE,GAAG1uB,MAAM,CAACC,IAAP,CAAYylB,CAAZ,CAAX;AACA,MAAI+I,EAAE,CAACvxB,MAAH,IAAawxB,EAAE,CAACxxB,MAApB,EACI,OAAO,KAAP;;AACJ,OAAK,IAAIgH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGuqB,EAAE,CAACvxB,MAAvB,EAA+BgH,CAAC,EAAhC,EAAoC;AAChC,UAAMhE,IAAI,GAAGuuB,EAAE,CAACvqB,CAAD,CAAf;AACA,QAAI,CAACwhB,CAAC,CAACle,cAAF,CAAiBtH,IAAjB,CAAD,IAA2BulB,CAAC,CAACvlB,IAAD,CAAD,KAAYwlB,CAAC,CAACxlB,IAAD,CAA5C,EACI,OAAO,KAAP;AACP;;AACD,SAAO,IAAP;AACH;;AACD,SAASkqB,sBAAT,CAAgC9qB,OAAhC,EAAyCipB,mBAAzC,EAA8DC,oBAA9D,EAAoF;AAChF,QAAMmG,SAAS,GAAGnG,oBAAoB,CAAC3mB,GAArB,CAAyBvC,OAAzB,CAAlB;AACA,MAAI,CAACqvB,SAAL,EACI,OAAO,KAAP;AACJ,MAAIC,QAAQ,GAAGrG,mBAAmB,CAAC1mB,GAApB,CAAwBvC,OAAxB,CAAf;;AACA,MAAIsvB,QAAJ,EAAc;AACVD,IAAAA,SAAS,CAAC/yB,OAAV,CAAkB0F,IAAI,IAAIstB,QAAQ,CAACrf,GAAT,CAAajO,IAAb,CAA1B;AACH,GAFD,MAGK;AACDinB,IAAAA,mBAAmB,CAACzmB,GAApB,CAAwBxC,OAAxB,EAAiCqvB,SAAjC;AACH;;AACDnG,EAAAA,oBAAoB,CAAChV,MAArB,CAA4BlU,OAA5B;AACA,SAAO,IAAP;AACH;;AAED,MAAMuvB,eAAN,CAAsB;AAClB9zB,EAAAA,WAAW,CAAC4kB,QAAD,EAAWxR,OAAX,EAAoB0Q,WAApB,EAAiC;AACxC,SAAKc,QAAL,GAAgBA,QAAhB;AACA,SAAKxR,OAAL,GAAeA,OAAf;AACA,SAAK0Q,WAAL,GAAmBA,WAAnB;AACA,SAAKiQ,aAAL,GAAqB,EAArB,CAJwC,CAKxC;;AACA,SAAKrI,iBAAL,GAAyB,CAACnnB,OAAD,EAAUiM,OAAV,KAAsB,CAAG,CAAlD;;AACA,SAAKwjB,iBAAL,GAAyB,IAAIhJ,yBAAJ,CAA8BpG,QAA9B,EAAwCxR,OAAxC,EAAiD0Q,WAAjD,CAAzB;AACA,SAAKmQ,eAAL,GAAuB,IAAItP,uBAAJ,CAA4BC,QAA5B,EAAsCxR,OAAtC,EAA+C0Q,WAA/C,CAAvB;;AACA,SAAKkQ,iBAAL,CAAuBtI,iBAAvB,GAA2C,CAACnnB,OAAD,EAAUiM,OAAV,KAAsB,KAAKkb,iBAAL,CAAuBnnB,OAAvB,EAAgCiM,OAAhC,CAAjE;AACH;;AACDyb,EAAAA,eAAe,CAACiI,WAAD,EAAclO,WAAd,EAA2Bc,WAA3B,EAAwC5oB,IAAxC,EAA8C8U,QAA9C,EAAwD;AACnE,UAAMmhB,QAAQ,GAAGD,WAAW,GAAG,GAAd,GAAoBh2B,IAArC;AACA,QAAID,OAAO,GAAG,KAAK81B,aAAL,CAAmBI,QAAnB,CAAd;;AACA,QAAI,CAACl2B,OAAL,EAAc;AACV,YAAMyG,MAAM,GAAG,EAAf;AACA,YAAMgR,GAAG,GAAG3C,iBAAiB,CAAC,KAAKK,OAAN,EAAeJ,QAAf,EAAyBtO,MAAzB,CAA7B;;AACA,UAAIA,MAAM,CAACvC,MAAX,EAAmB;AACf,cAAM,IAAIsD,KAAJ,CAAW,0BAAyBvH,IAAK,0DAAyDwG,MAAM,CAACgB,IAAP,CAAY,OAAZ,CAAqB,EAAvH,CAAN;AACH;;AACDzH,MAAAA,OAAO,GAAG2lB,YAAY,CAAC1lB,IAAD,EAAOwX,GAAP,EAAY,KAAKoO,WAAjB,CAAtB;AACA,WAAKiQ,aAAL,CAAmBI,QAAnB,IAA+Bl2B,OAA/B;AACH;;AACD,SAAK+1B,iBAAL,CAAuB/H,eAAvB,CAAuCjG,WAAvC,EAAoD9nB,IAApD,EAA0DD,OAA1D;AACH;;AACD8mB,EAAAA,QAAQ,CAACiB,WAAD,EAAcc,WAAd,EAA2B;AAC/B,SAAKkN,iBAAL,CAAuBjP,QAAvB,CAAgCiB,WAAhC,EAA6Cc,WAA7C;AACH;;AACDnlB,EAAAA,OAAO,CAACqkB,WAAD,EAAcxV,OAAd,EAAuB;AAC1B,SAAKwjB,iBAAL,CAAuBryB,OAAvB,CAA+BqkB,WAA/B,EAA4CxV,OAA5C;AACH;;AACD4jB,EAAAA,QAAQ,CAACpO,WAAD,EAAczhB,OAAd,EAAuBwlB,MAAvB,EAA+BsC,YAA/B,EAA6C;AACjD,SAAK2H,iBAAL,CAAuB5J,UAAvB,CAAkCpE,WAAlC,EAA+CzhB,OAA/C,EAAwDwlB,MAAxD,EAAgEsC,YAAhE;AACH;;AACDgI,EAAAA,QAAQ,CAACrO,WAAD,EAAczhB,OAAd,EAAuBiM,OAAvB,EAAgCgc,aAAhC,EAA+C;AACnD,SAAKwH,iBAAL,CAAuBxK,UAAvB,CAAkCxD,WAAlC,EAA+CzhB,OAA/C,EAAwDioB,aAAa,IAAI,KAAzE,EAAgFhc,OAAhF;AACH;;AACD8jB,EAAAA,iBAAiB,CAAC/vB,OAAD,EAAUgwB,OAAV,EAAmB;AAChC,SAAKP,iBAAL,CAAuBzH,qBAAvB,CAA6ChoB,OAA7C,EAAsDgwB,OAAtD;AACH;;AACDvwB,EAAAA,OAAO,CAACgiB,WAAD,EAAczhB,OAAd,EAAuBiwB,QAAvB,EAAiC5tB,KAAjC,EAAwC;AAC3C,QAAI4tB,QAAQ,CAAC3qB,MAAT,CAAgB,CAAhB,KAAsB,GAA1B,EAA+B;AAC3B,YAAM,CAACzC,EAAD,EAAKE,MAAL,IAAeN,oBAAoB,CAACwtB,QAAD,CAAzC;AACA,YAAMjP,IAAI,GAAG3e,KAAb;;AACA,WAAKqtB,eAAL,CAAqBhtB,OAArB,CAA6BG,EAA7B,EAAiC7C,OAAjC,EAA0C+C,MAA1C,EAAkDie,IAAlD;AACH,KAJD,MAKK;AACD,WAAKyO,iBAAL,CAAuB/1B,OAAvB,CAA+B+nB,WAA/B,EAA4CzhB,OAA5C,EAAqDiwB,QAArD,EAA+D5tB,KAA/D;AACH;AACJ;;AACDye,EAAAA,MAAM,CAACW,WAAD,EAAczhB,OAAd,EAAuBqB,SAAvB,EAAkC6uB,UAAlC,EAA8C3uB,QAA9C,EAAwD;AAC1D;AACA,QAAIF,SAAS,CAACiE,MAAV,CAAiB,CAAjB,KAAuB,GAA3B,EAAgC;AAC5B,YAAM,CAACzC,EAAD,EAAKE,MAAL,IAAeN,oBAAoB,CAACpB,SAAD,CAAzC;AACA,aAAO,KAAKquB,eAAL,CAAqB5O,MAArB,CAA4Bje,EAA5B,EAAgC7C,OAAhC,EAAyC+C,MAAzC,EAAiDxB,QAAjD,CAAP;AACH;;AACD,WAAO,KAAKkuB,iBAAL,CAAuB3O,MAAvB,CAA8BW,WAA9B,EAA2CzhB,OAA3C,EAAoDqB,SAApD,EAA+D6uB,UAA/D,EAA2E3uB,QAA3E,CAAP;AACH;;AACDmnB,EAAAA,KAAK,CAAC3C,WAAW,GAAG,CAAC,CAAhB,EAAmB;AACpB,SAAK0J,iBAAL,CAAuB/G,KAAvB,CAA6B3C,WAA7B;AACH;;AACU,MAAPhoB,OAAO,GAAG;AACV,WAAO,KAAK0xB,iBAAL,CAAuB1xB,OAAvB,CACFoyB,MADE,CACK,KAAKT,eAAL,CAAqB3xB,OAD1B,CAAP;AAEH;;AACD0qB,EAAAA,iBAAiB,GAAG;AAChB,WAAO,KAAKgH,iBAAL,CAAuBhH,iBAAvB,EAAP;AACH;;AApEiB;AAuEtB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2H,0BAAT,CAAoCpwB,OAApC,EAA6C/F,MAA7C,EAAqD;AACjD,MAAIo2B,WAAW,GAAG,IAAlB;AACA,MAAIC,SAAS,GAAG,IAAhB;;AACA,MAAItnB,KAAK,CAACC,OAAN,CAAchP,MAAd,KAAyBA,MAAM,CAAC2D,MAApC,EAA4C;AACxCyyB,IAAAA,WAAW,GAAGE,yBAAyB,CAACt2B,MAAM,CAAC,CAAD,CAAP,CAAvC;;AACA,QAAIA,MAAM,CAAC2D,MAAP,GAAgB,CAApB,EAAuB;AACnB0yB,MAAAA,SAAS,GAAGC,yBAAyB,CAACt2B,MAAM,CAACA,MAAM,CAAC2D,MAAP,GAAgB,CAAjB,CAAP,CAArC;AACH;AACJ,GALD,MAMK,IAAI3D,MAAJ,EAAY;AACbo2B,IAAAA,WAAW,GAAGE,yBAAyB,CAACt2B,MAAD,CAAvC;AACH;;AACD,SAAQo2B,WAAW,IAAIC,SAAhB,GAA6B,IAAIE,kBAAJ,CAAuBxwB,OAAvB,EAAgCqwB,WAAhC,EAA6CC,SAA7C,CAA7B,GACH,IADJ;AAEH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACME;AAAN,QAAMA,kBAAN,CAAyB;AACrB/0B,IAAAA,WAAW,CAACg1B,QAAD,EAAWC,YAAX,EAAyBC,UAAzB,EAAqC;AAC5C,WAAKF,QAAL,GAAgBA,QAAhB;AACA,WAAKC,YAAL,GAAoBA,YAApB;AACA,WAAKC,UAAL,GAAkBA,UAAlB;AACA,WAAKC,MAAL,GAAc;AAAE;AAAhB;AACA,UAAIC,aAAa,GAAGL,kBAAkB,CAACM,sBAAnB,CAA0CvuB,GAA1C,CAA8CkuB,QAA9C,CAApB;;AACA,UAAI,CAACI,aAAL,EAAoB;AAChBL,QAAAA,kBAAkB,CAACM,sBAAnB,CAA0CtuB,GAA1C,CAA8CiuB,QAA9C,EAAwDI,aAAa,GAAG,EAAxE;AACH;;AACD,WAAKE,cAAL,GAAsBF,aAAtB;AACH;;AACD1U,IAAAA,KAAK,GAAG;AACJ,UAAI,KAAKyU,MAAL,GAAc;AAAE;AAApB,QAAmC;AAC/B,YAAI,KAAKF,YAAT,EAAuB;AACnB7mB,UAAAA,SAAS,CAAC,KAAK4mB,QAAN,EAAgB,KAAKC,YAArB,EAAmC,KAAKK,cAAxC,CAAT;AACH;;AACD,aAAKH,MAAL,GAAc;AAAE;AAAhB;AACH;AACJ;;AACDzzB,IAAAA,MAAM,GAAG;AACL,WAAKgf,KAAL;;AACA,UAAI,KAAKyU,MAAL,GAAc;AAAE;AAApB,QAAoC;AAChC/mB,QAAAA,SAAS,CAAC,KAAK4mB,QAAN,EAAgB,KAAKM,cAArB,CAAT;;AACA,YAAI,KAAKJ,UAAT,EAAqB;AACjB9mB,UAAAA,SAAS,CAAC,KAAK4mB,QAAN,EAAgB,KAAKE,UAArB,CAAT;AACA,eAAKA,UAAL,GAAkB,IAAlB;AACH;;AACD,aAAKC,MAAL,GAAc;AAAE;AAAhB;AACH;AACJ;;AACDxzB,IAAAA,OAAO,GAAG;AACN,WAAKD,MAAL;;AACA,UAAI,KAAKyzB,MAAL,GAAc;AAAE;AAApB,QAAqC;AACjCJ,QAAAA,kBAAkB,CAACM,sBAAnB,CAA0C5c,MAA1C,CAAiD,KAAKuc,QAAtD;;AACA,YAAI,KAAKC,YAAT,EAAuB;AACnB1mB,UAAAA,WAAW,CAAC,KAAKymB,QAAN,EAAgB,KAAKC,YAArB,CAAX;AACA,eAAKC,UAAL,GAAkB,IAAlB;AACH;;AACD,YAAI,KAAKA,UAAT,EAAqB;AACjB3mB,UAAAA,WAAW,CAAC,KAAKymB,QAAN,EAAgB,KAAKE,UAArB,CAAX;AACA,eAAKA,UAAL,GAAkB,IAAlB;AACH;;AACD9mB,QAAAA,SAAS,CAAC,KAAK4mB,QAAN,EAAgB,KAAKM,cAArB,CAAT;AACA,aAAKH,MAAL,GAAc;AAAE;AAAhB;AACH;AACJ;;AA9CoB;;AAgDzBJ,EAAAA,kBAAkB,CAACM,sBAAnB,GAA8C,eAAe,IAAIE,OAAJ,EAA7D;SAhDMR;;;AAiDN,SAASD,yBAAT,CAAmCt2B,MAAnC,EAA2C;AACvC,MAAImL,MAAM,GAAG,IAAb;AACA,QAAMgV,KAAK,GAAG1Z,MAAM,CAACC,IAAP,CAAY1G,MAAZ,CAAd;;AACA,OAAK,IAAI2K,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwV,KAAK,CAACxc,MAA1B,EAAkCgH,CAAC,EAAnC,EAAuC;AACnC,UAAMhE,IAAI,GAAGwZ,KAAK,CAACxV,CAAD,CAAlB;;AACA,QAAIqsB,oBAAoB,CAACrwB,IAAD,CAAxB,EAAgC;AAC5BwE,MAAAA,MAAM,GAAGA,MAAM,IAAI,EAAnB;AACAA,MAAAA,MAAM,CAACxE,IAAD,CAAN,GAAe3G,MAAM,CAAC2G,IAAD,CAArB;AACH;AACJ;;AACD,SAAOwE,MAAP;AACH;;AACD,SAAS6rB,oBAAT,CAA8BrwB,IAA9B,EAAoC;AAChC,SAAOA,IAAI,KAAK,SAAT,IAAsBA,IAAI,KAAK,UAAtC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMswB,+BAA+B,GAAG,CAAxC;AACA,MAAMC,cAAc,GAAG,WAAvB;AACA,MAAMC,kBAAkB,GAAG,cAA3B;AACA,MAAMC,YAAY,GAAG,IAArB;;AACA,MAAMC,4BAAN,CAAmC;AAC/B71B,EAAAA,WAAW,CAACg1B,QAAD,EAAWc,KAAX,EAAkBC,SAAlB,EAA6BC,MAA7B,EAAqCC,OAArC,EAA8CC,SAA9C,EAAyDC,SAAzD,EAAoE;AAC3E,SAAKnB,QAAL,GAAgBA,QAAhB;AACA,SAAKc,KAAL,GAAaA,KAAb;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAKC,MAAL,GAAcA,MAAd;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAK31B,SAAL,GAAiB,KAAjB;AACA,SAAKD,UAAL,GAAkB,KAAlB;AACA,SAAK61B,UAAL,GAAkB,CAAlB;AACA,SAAK31B,SAAL,GAAiB,CAAjB;;AACA,SAAK41B,QAAL,GAAiBrwB,CAAD,IAAO,KAAKswB,eAAL,CAAqBtwB,CAArB,CAAvB;AACH;;AACD+C,EAAAA,KAAK,GAAG;AACJwtB,IAAAA,sBAAsB,CAAC,KAAKvB,QAAN,EAAiB,GAAE,KAAKe,SAAU,MAAK,KAAKE,OAAQ,IAAG,KAAKD,MAAO,eAAc,KAAKE,SAAU,IAAG,KAAKJ,KAAM,EAA9G,CAAtB;AACAU,IAAAA,uBAAuB,CAAC,KAAKxB,QAAN,EAAgB,KAAKqB,QAArB,EAA+B,KAA/B,CAAvB;AACA,SAAKD,UAAL,GAAkBK,IAAI,CAACC,GAAL,EAAlB;AACH;;AACDl1B,EAAAA,KAAK,GAAG;AACJm1B,IAAAA,kBAAkB,CAAC,KAAK3B,QAAN,EAAgB,KAAKc,KAArB,EAA4B,QAA5B,CAAlB;AACH;;AACDc,EAAAA,MAAM,GAAG;AACLD,IAAAA,kBAAkB,CAAC,KAAK3B,QAAN,EAAgB,KAAKc,KAArB,EAA4B,SAA5B,CAAlB;AACH;;AACDj0B,EAAAA,WAAW,CAACC,QAAD,EAAW;AAClB,UAAMsjB,KAAK,GAAGyR,qBAAqB,CAAC,KAAK7B,QAAN,EAAgB,KAAKc,KAArB,CAAnC;AACA,SAAKr1B,SAAL,GAAiBqB,QAAQ,GAAG,KAAKi0B,SAAjC;AACAe,IAAAA,iBAAiB,CAAC,KAAK9B,QAAN,EAAgB,OAAhB,EAA0B,IAAG,KAAKv0B,SAAU,IAA5C,EAAiD2kB,KAAjD,CAAjB;AACH;;AACDrjB,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKtB,SAAZ;AACH;;AACD61B,EAAAA,eAAe,CAACzwB,KAAD,EAAQ;AACnB,UAAMkxB,SAAS,GAAGlxB,KAAK,CAACmxB,sBAAN,IAAgCP,IAAI,CAACC,GAAL,EAAlD;AACA,UAAMO,WAAW,GAAG5qB,UAAU,CAACxG,KAAK,CAACoxB,WAAN,CAAkBC,OAAlB,CAA0BzB,+BAA1B,CAAD,CAAV,GAAyEG,YAA7F;;AACA,QAAI/vB,KAAK,CAACsxB,aAAN,IAAuB,KAAKrB,KAA5B,IACA/yB,IAAI,CAACC,GAAL,CAAS+zB,SAAS,GAAG,KAAKX,UAA1B,EAAsC,CAAtC,KAA4C,KAAKJ,MADjD,IAC2DiB,WAAW,IAAI,KAAKlB,SADnF,EAC8F;AAC1F,WAAKr0B,MAAL;AACH;AACJ;;AACDA,EAAAA,MAAM,GAAG;AACL,QAAI,KAAKlB,SAAT,EACI;AACJ,SAAKA,SAAL,GAAiB,IAAjB;;AACA,SAAK21B,SAAL;;AACAK,IAAAA,uBAAuB,CAAC,KAAKxB,QAAN,EAAgB,KAAKqB,QAArB,EAA+B,IAA/B,CAAvB;AACH;;AACD10B,EAAAA,OAAO,GAAG;AACN,QAAI,KAAKpB,UAAT,EACI;AACJ,SAAKA,UAAL,GAAkB,IAAlB;AACA,SAAKmB,MAAL;AACA01B,IAAAA,uBAAuB,CAAC,KAAKpC,QAAN,EAAgB,KAAKc,KAArB,CAAvB;AACH;;AAvD8B;;AAyDnC,SAASa,kBAAT,CAA4BpyB,OAA5B,EAAqCrG,IAArC,EAA2Cm5B,MAA3C,EAAmD;AAC/C,QAAMjS,KAAK,GAAGyR,qBAAqB,CAACtyB,OAAD,EAAUrG,IAAV,CAAnC;AACA44B,EAAAA,iBAAiB,CAACvyB,OAAD,EAAU,WAAV,EAAuB8yB,MAAvB,EAA+BjS,KAA/B,CAAjB;AACH;;AACD,SAASmR,sBAAT,CAAgChyB,OAAhC,EAAyCqC,KAAzC,EAAgD;AAC5C,QAAM0wB,IAAI,GAAGC,iBAAiB,CAAChzB,OAAD,EAAU,EAAV,CAAjB,CAA+B4c,IAA/B,EAAb;AACA,MAAIiE,KAAK,GAAG,CAAZ;;AACA,MAAIkS,IAAI,CAACn1B,MAAT,EAAiB;AACbijB,IAAAA,KAAK,GAAGoS,UAAU,CAACF,IAAD,EAAO,GAAP,CAAV,GAAwB,CAAhC;AACA1wB,IAAAA,KAAK,GAAI,GAAE0wB,IAAK,KAAI1wB,KAAM,EAA1B;AACH;;AACDkwB,EAAAA,iBAAiB,CAACvyB,OAAD,EAAU,EAAV,EAAcqC,KAAd,CAAjB;AACA,SAAOwe,KAAP;AACH;;AACD,SAASgS,uBAAT,CAAiC7yB,OAAjC,EAA0CrG,IAA1C,EAAgD;AAC5C,QAAMo5B,IAAI,GAAGC,iBAAiB,CAAChzB,OAAD,EAAU,EAAV,CAA9B;AACA,QAAM1F,MAAM,GAAGy4B,IAAI,CAAC3lB,KAAL,CAAW,GAAX,CAAf;AACA,QAAMyT,KAAK,GAAGqS,sBAAsB,CAAC54B,MAAD,EAASX,IAAT,CAApC;;AACA,MAAIknB,KAAK,IAAI,CAAb,EAAgB;AACZvmB,IAAAA,MAAM,CAACoO,MAAP,CAAcmY,KAAd,EAAqB,CAArB;AACA,UAAMsS,QAAQ,GAAG74B,MAAM,CAAC6G,IAAP,CAAY,GAAZ,CAAjB;AACAoxB,IAAAA,iBAAiB,CAACvyB,OAAD,EAAU,EAAV,EAAcmzB,QAAd,CAAjB;AACH;AACJ;;AACD,SAASb,qBAAT,CAA+BtyB,OAA/B,EAAwCqC,KAAxC,EAA+C;AAC3C,QAAM0wB,IAAI,GAAGC,iBAAiB,CAAChzB,OAAD,EAAU,EAAV,CAA9B;;AACA,MAAI+yB,IAAI,CAACnwB,OAAL,CAAa,GAAb,IAAoB,CAAxB,EAA2B;AACvB,UAAMtI,MAAM,GAAGy4B,IAAI,CAAC3lB,KAAL,CAAW,GAAX,CAAf;AACA,WAAO8lB,sBAAsB,CAAC54B,MAAD,EAAS+H,KAAT,CAA7B;AACH;;AACD,SAAO6wB,sBAAsB,CAAC,CAACH,IAAD,CAAD,EAAS1wB,KAAT,CAA7B;AACH;;AACD,SAAS6wB,sBAAT,CAAgC54B,MAAhC,EAAwC84B,WAAxC,EAAqD;AACjD,OAAK,IAAIxuB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGtK,MAAM,CAACsD,MAA3B,EAAmCgH,CAAC,EAApC,EAAwC;AACpC,QAAItK,MAAM,CAACsK,CAAD,CAAN,CAAUhC,OAAV,CAAkBwwB,WAAlB,KAAkC,CAAtC,EAAyC;AACrC,aAAOxuB,CAAP;AACH;AACJ;;AACD,SAAO,CAAC,CAAR;AACH;;AACD,SAASqtB,uBAAT,CAAiCjyB,OAAjC,EAA0CzD,EAA1C,EAA8C82B,QAA9C,EAAwD;AACpDA,EAAAA,QAAQ,GAAGrzB,OAAO,CAACszB,mBAAR,CAA4BlC,kBAA5B,EAAgD70B,EAAhD,CAAH,GACJyD,OAAO,CAACuzB,gBAAR,CAAyBnC,kBAAzB,EAA6C70B,EAA7C,CADJ;AAEH;;AACD,SAASg2B,iBAAT,CAA2BvyB,OAA3B,EAAoCrG,IAApC,EAA0C0I,KAA1C,EAAiDwe,KAAjD,EAAwD;AACpD,QAAMjgB,IAAI,GAAGuwB,cAAc,GAAGx3B,IAA9B;;AACA,MAAIknB,KAAK,IAAI,IAAb,EAAmB;AACf,UAAMkN,QAAQ,GAAG/tB,OAAO,CAAC3F,KAAR,CAAcuG,IAAd,CAAjB;;AACA,QAAImtB,QAAQ,CAACnwB,MAAb,EAAqB;AACjB,YAAMtD,MAAM,GAAGyzB,QAAQ,CAAC3gB,KAAT,CAAe,GAAf,CAAf;AACA9S,MAAAA,MAAM,CAACumB,KAAD,CAAN,GAAgBxe,KAAhB;AACAA,MAAAA,KAAK,GAAG/H,MAAM,CAAC6G,IAAP,CAAY,GAAZ,CAAR;AACH;AACJ;;AACDnB,EAAAA,OAAO,CAAC3F,KAAR,CAAcuG,IAAd,IAAsByB,KAAtB;AACH;;AACD,SAAS2wB,iBAAT,CAA2BhzB,OAA3B,EAAoCrG,IAApC,EAA0C;AACtC,SAAOqG,OAAO,CAAC3F,KAAR,CAAc82B,cAAc,GAAGx3B,IAA/B,KAAwC,EAA/C;AACH;;AACD,SAASs5B,UAAT,CAAoB5wB,KAApB,EAA2BmxB,IAA3B,EAAiC;AAC7B,MAAIC,KAAK,GAAG,CAAZ;;AACA,OAAK,IAAI7uB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGvC,KAAK,CAACzE,MAA1B,EAAkCgH,CAAC,EAAnC,EAAuC;AACnC,UAAM8uB,CAAC,GAAGrxB,KAAK,CAACiD,MAAN,CAAaV,CAAb,CAAV;AACA,QAAI8uB,CAAC,KAAKF,IAAV,EACIC,KAAK;AACZ;;AACD,SAAOA,KAAP;AACH;;AAED,MAAME,iBAAiB,GAAG,UAA1B;AACA,MAAMC,cAAc,GAAG,QAAvB;;AACA,MAAMC,kBAAN,CAAyB;AACrBp4B,EAAAA,WAAW,CAACuE,OAAD,EAAUvF,SAAV,EAAqBm4B,aAArB,EAAoCpB,SAApC,EAA+CC,MAA/C,EAAuDtrB,MAAvD,EAA+D2tB,YAA/D,EAA6EC,cAA7E,EAA6F;AACpG,SAAK/zB,OAAL,GAAeA,OAAf;AACA,SAAKvF,SAAL,GAAiBA,SAAjB;AACA,SAAKm4B,aAAL,GAAqBA,aAArB;AACA,SAAKpB,SAAL,GAAiBA,SAAjB;AACA,SAAKC,MAAL,GAAcA,MAAd;AACA,SAAKqC,YAAL,GAAoBA,YAApB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKn4B,UAAL,GAAkB,EAAlB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA,SAAKC,aAAL,GAAqB,EAArB;AACA,SAAKk4B,eAAL,GAAuB,EAAvB;AACA,SAAKpD,MAAL,GAAc,CAAd;AACA,SAAKzqB,MAAL,GAAcA,MAAM,IAAIytB,cAAxB;AACA,SAAKx3B,SAAL,GAAiBo1B,SAAS,GAAGC,MAA7B;;AACA,SAAKwC,YAAL;AACH;;AACDz3B,EAAAA,OAAO,CAACD,EAAD,EAAK;AACR,SAAKV,WAAL,CAAiBY,IAAjB,CAAsBF,EAAtB;AACH;;AACDG,EAAAA,MAAM,CAACH,EAAD,EAAK;AACP,SAAKX,UAAL,CAAgBa,IAAhB,CAAqBF,EAArB;AACH;;AACDI,EAAAA,SAAS,CAACJ,EAAD,EAAK;AACV,SAAKT,aAAL,CAAmBW,IAAnB,CAAwBF,EAAxB;AACH;;AACDa,EAAAA,OAAO,GAAG;AACN,SAAKP,IAAL;AACA,QAAI,KAAK+zB,MAAL,IAAe;AAAE;AAArB,MACI;AACJ,SAAKA,MAAL,GAAc;AAAE;AAAhB;;AACA,SAAKsD,OAAL,CAAa92B,OAAb;;AACA,SAAK+2B,cAAL;;AACA,SAAKC,aAAL;;AACA,QAAI,KAAKL,cAAT,EAAyB;AACrB,WAAKA,cAAL,CAAoB32B,OAApB;AACH;;AACD,SAAKtB,aAAL,CAAmBQ,OAAnB,CAA2BC,EAAE,IAAIA,EAAE,EAAnC;;AACA,SAAKT,aAAL,GAAqB,EAArB;AACH;;AACDs4B,EAAAA,aAAa,GAAG;AACZ,SAAKx4B,UAAL,CAAgBU,OAAhB,CAAwBC,EAAE,IAAIA,EAAE,EAAhC;;AACA,SAAKX,UAAL,GAAkB,EAAlB;AACH;;AACDu4B,EAAAA,cAAc,GAAG;AACb,SAAKt4B,WAAL,CAAiBS,OAAjB,CAAyBC,EAAE,IAAIA,EAAE,EAAjC;;AACA,SAAKV,WAAL,GAAmB,EAAnB;AACH;;AACDsB,EAAAA,MAAM,GAAG;AACL,SAAKN,IAAL;AACA,QAAI,KAAK+zB,MAAL,IAAe;AAAE;AAArB,MACI;AACJ,SAAKA,MAAL,GAAc;AAAE;AAAhB;;AACA,SAAKsD,OAAL,CAAa/2B,MAAb;;AACA,SAAKg3B,cAAL;;AACA,QAAI,KAAKJ,cAAT,EAAyB;AACrB,WAAKA,cAAL,CAAoB52B,MAApB;AACH;;AACD,SAAKi3B,aAAL;AACH;;AACD92B,EAAAA,WAAW,CAAC+E,KAAD,EAAQ;AACf,SAAK6xB,OAAL,CAAa52B,WAAb,CAAyB+E,KAAzB;AACH;;AACD7E,EAAAA,WAAW,GAAG;AACV,WAAO,KAAK02B,OAAL,CAAa12B,WAAb,EAAP;AACH;;AACDZ,EAAAA,UAAU,GAAG;AACT,WAAO,KAAKg0B,MAAL,IAAe;AAAE;AAAxB;AACH;;AACD/zB,EAAAA,IAAI,GAAG;AACH,QAAI,KAAK+zB,MAAL,IAAe;AAAE;AAArB,MACI;AACJ,SAAKA,MAAL,GAAc;AAAE;AAAhB;AACA,UAAM/rB,GAAG,GAAG,KAAK7E,OAAjB;;AACA,SAAKk0B,OAAL,CAAa1vB,KAAb;;AACA,QAAI,KAAKitB,MAAT,EAAiB;AACb,WAAKyC,OAAL,CAAaj3B,KAAb;AACH;AACJ;;AACDH,EAAAA,IAAI,GAAG;AACH,SAAKD,IAAL;;AACA,QAAI,CAAC,KAAKD,UAAL,EAAL,EAAwB;AACpB,WAAKu3B,cAAL;;AACA,WAAKvD,MAAL,GAAc;AAAE;AAAhB;;AACA,UAAI,KAAKmD,cAAT,EAAyB;AACrB,aAAKA,cAAL,CAAoB5X,KAApB;AACH;AACJ;;AACD,SAAK+X,OAAL,CAAa7B,MAAb;AACH;;AACDp1B,EAAAA,KAAK,GAAG;AACJ,SAAKJ,IAAL;;AACA,SAAKq3B,OAAL,CAAaj3B,KAAb;AACH;;AACDC,EAAAA,OAAO,GAAG;AACN,SAAKG,KAAL;AACA,SAAKP,IAAL;AACH;;AACDO,EAAAA,KAAK,GAAG;AACJ,SAAKuzB,MAAL,GAAc;AAAE;AAAhB;;AACA,SAAKsD,OAAL,CAAa92B,OAAb;;AACA,SAAK62B,YAAL;;AACA,SAAKC,OAAL,CAAa1vB,KAAb;AACH;;AACDyvB,EAAAA,YAAY,GAAG;AACX,SAAKC,OAAL,GAAe,IAAI5C,4BAAJ,CAAiC,KAAKtxB,OAAtC,EAA+C,KAAK4yB,aAApD,EAAmE,KAAKpB,SAAxE,EAAmF,KAAKC,MAAxF,EAAgG,KAAKtrB,MAArG,EAA6GwtB,iBAA7G,EAAgI,MAAM,KAAKx2B,MAAL,EAAtI,CAAf;AACH;AACD;;;AACAM,EAAAA,eAAe,CAACC,SAAD,EAAY;AACvB,UAAMC,OAAO,GAAGD,SAAS,IAAI,OAAb,GAAuB,KAAK7B,WAA5B,GAA0C,KAAKD,UAA/D;AACA+B,IAAAA,OAAO,CAACrB,OAAR,CAAgBC,EAAE,IAAIA,EAAE,EAAxB;AACAoB,IAAAA,OAAO,CAACC,MAAR,GAAiB,CAAjB;AACH;;AACDoB,EAAAA,aAAa,GAAG;AACZ,SAAKnC,IAAL;AACA,UAAM5C,MAAM,GAAG,EAAf;;AACA,QAAI,KAAK2C,UAAL,EAAJ,EAAuB;AACnB,YAAMy3B,QAAQ,GAAG,KAAKzD,MAAL,IAAe;AAAE;AAAlC;AACAlwB,MAAAA,MAAM,CAACC,IAAP,CAAY,KAAKmzB,YAAjB,EAA+Bx3B,OAA/B,CAAuCsE,IAAI,IAAI;AAC3C,YAAIA,IAAI,IAAI,QAAZ,EAAsB;AAClB3G,UAAAA,MAAM,CAAC2G,IAAD,CAAN,GAAeyzB,QAAQ,GAAG,KAAKP,YAAL,CAAkBlzB,IAAlB,CAAH,GAA6BsF,YAAY,CAAC,KAAKlG,OAAN,EAAeY,IAAf,CAAhE;AACH;AACJ,OAJD;AAKH;;AACD,SAAKozB,eAAL,GAAuB/5B,MAAvB;AACH;;AA9HoB;AAiIzB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMq6B,iBAAN,SAAgC94B,oEAAhC,CAAoD;AAChDC,EAAAA,WAAW,CAACuE,OAAD,EAAU/F,MAAV,EAAkB;AACzB;AACA,SAAK+F,OAAL,GAAeA,OAAf;AACA,SAAKu0B,eAAL,GAAuB,EAAvB;AACA,SAAKC,aAAL,GAAqB,KAArB;AACA,SAAKC,OAAL,GAAe7uB,mBAAmB,CAAC3L,MAAD,CAAlC;AACH;;AACD4C,EAAAA,IAAI,GAAG;AACH,QAAI,KAAK23B,aAAL,IAAsB,CAAC,KAAKD,eAAhC,EACI;AACJ,SAAKC,aAAL,GAAqB,IAArB;AACA9zB,IAAAA,MAAM,CAACC,IAAP,CAAY,KAAK8zB,OAAjB,EAA0Bn4B,OAA1B,CAAkCsE,IAAI,IAAI;AACtC,WAAK2zB,eAAL,CAAqB3zB,IAArB,IAA6B,KAAKZ,OAAL,CAAa3F,KAAb,CAAmBuG,IAAnB,CAA7B;AACH,KAFD;AAGA,UAAM/D,IAAN;AACH;;AACDC,EAAAA,IAAI,GAAG;AACH,QAAI,CAAC,KAAKy3B,eAAV,EACI;AACJ,SAAK13B,IAAL;AACA6D,IAAAA,MAAM,CAACC,IAAP,CAAY,KAAK8zB,OAAjB,EACKn4B,OADL,CACasE,IAAI,IAAI,KAAKZ,OAAL,CAAa3F,KAAb,CAAmBq6B,WAAnB,CAA+B9zB,IAA/B,EAAqC,KAAK6zB,OAAL,CAAa7zB,IAAb,CAArC,CADrB;AAEA,UAAM9D,IAAN;AACH;;AACDM,EAAAA,OAAO,GAAG;AACN,QAAI,CAAC,KAAKm3B,eAAV,EACI;AACJ7zB,IAAAA,MAAM,CAACC,IAAP,CAAY,KAAK4zB,eAAjB,EAAkCj4B,OAAlC,CAA0CsE,IAAI,IAAI;AAC9C,YAAMyB,KAAK,GAAG,KAAKkyB,eAAL,CAAqB3zB,IAArB,CAAd;;AACA,UAAIyB,KAAJ,EAAW;AACP,aAAKrC,OAAL,CAAa3F,KAAb,CAAmBq6B,WAAnB,CAA+B9zB,IAA/B,EAAqCyB,KAArC;AACH,OAFD,MAGK;AACD,aAAKrC,OAAL,CAAa3F,KAAb,CAAmBs6B,cAAnB,CAAkC/zB,IAAlC;AACH;AACJ,KARD;AASA,SAAK2zB,eAAL,GAAuB,IAAvB;AACA,UAAMn3B,OAAN;AACH;;AAvC+C;;AA0CpD,MAAMw3B,qBAAqB,GAAG,aAA9B;AACA,MAAMC,SAAS,GAAG,GAAlB;;AACA,MAAMC,kBAAN,CAAyB;AACrBr5B,EAAAA,WAAW,GAAG;AACV,SAAKs5B,MAAL,GAAc,CAAd;AACH;;AACD7vB,EAAAA,qBAAqB,CAACtE,IAAD,EAAO;AACxB,WAAOsE,qBAAqB,CAACtE,IAAD,CAA5B;AACH;;AACD6E,EAAAA,cAAc,CAACzF,OAAD,EAAU/E,QAAV,EAAoB;AAC9B,WAAOwK,cAAc,CAACzF,OAAD,EAAU/E,QAAV,CAArB;AACH;;AACDyK,EAAAA,eAAe,CAACxC,IAAD,EAAOC,IAAP,EAAa;AACxB,WAAOuC,eAAe,CAACxC,IAAD,EAAOC,IAAP,CAAtB;AACH;;AACDnI,EAAAA,KAAK,CAACgF,OAAD,EAAU/E,QAAV,EAAoBuI,KAApB,EAA2B;AAC5B,WAAOmC,WAAW,CAAC3F,OAAD,EAAU/E,QAAV,EAAoBuI,KAApB,CAAlB;AACH;;AACD0C,EAAAA,YAAY,CAAClG,OAAD,EAAUY,IAAV,EAAgBwB,YAAhB,EAA8B;AACtC,WAAO9C,MAAM,CAACyN,gBAAP,CAAwB/M,OAAxB,EAAiCY,IAAjC,CAAP;AACH;;AACDo0B,EAAAA,oBAAoB,CAACh1B,OAAD,EAAUrG,IAAV,EAAgBc,SAAhB,EAA2B;AAC3CA,IAAAA,SAAS,GAAGA,SAAS,CAACyH,GAAV,CAAc3B,EAAE,IAAIqF,mBAAmB,CAACrF,EAAD,CAAvC,CAAZ;AACA,QAAI00B,WAAW,GAAI,cAAat7B,IAAK,MAArC;AACA,QAAIu7B,GAAG,GAAG,EAAV;AACAz6B,IAAAA,SAAS,CAAC6B,OAAV,CAAkBiE,EAAE,IAAI;AACpB20B,MAAAA,GAAG,GAAGL,SAAN;AACA,YAAMt6B,MAAM,GAAGuN,UAAU,CAACvH,EAAE,CAAC,QAAD,CAAH,CAAzB;AACA00B,MAAAA,WAAW,IAAK,GAAEC,GAAI,GAAE36B,MAAM,GAAG,GAAI,OAArC;AACA26B,MAAAA,GAAG,IAAIL,SAAP;AACAn0B,MAAAA,MAAM,CAACC,IAAP,CAAYJ,EAAZ,EAAgBjE,OAAhB,CAAwBsE,IAAI,IAAI;AAC5B,cAAMyB,KAAK,GAAG9B,EAAE,CAACK,IAAD,CAAhB;;AACA,gBAAQA,IAAR;AACI,eAAK,QAAL;AACI;;AACJ,eAAK,QAAL;AACI,gBAAIyB,KAAJ,EAAW;AACP4yB,cAAAA,WAAW,IAAK,GAAEC,GAAI,8BAA6B7yB,KAAM,KAAzD;AACH;;AACD;;AACJ;AACI4yB,YAAAA,WAAW,IAAK,GAAEC,GAAI,GAAEt0B,IAAK,KAAIyB,KAAM,KAAvC;AACA;AAVR;AAYH,OAdD;AAeA4yB,MAAAA,WAAW,IAAK,GAAEC,GAAI,KAAtB;AACH,KArBD;AAsBAD,IAAAA,WAAW,IAAK,KAAhB;AACA,UAAME,KAAK,GAAG51B,QAAQ,CAAC61B,aAAT,CAAuB,OAAvB,CAAd;AACAD,IAAAA,KAAK,CAACE,WAAN,GAAoBJ,WAApB;AACA,WAAOE,KAAP;AACH;;AACDp7B,EAAAA,OAAO,CAACiG,OAAD,EAAUvF,SAAV,EAAqBiB,QAArB,EAA+BC,KAA/B,EAAsCwK,MAAtC,EAA8CC,eAAe,GAAG,EAAhE,EAAoEC,uBAApE,EAA6F;AAChG,QAAI,CAAC,OAAOQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDR,uBAAvD,EAAgF;AAC5EivB,MAAAA,oBAAoB;AACvB;;AACD,UAAMC,0BAA0B,GAAGnvB,eAAe,CAACmP,MAAhB,CAAuBnX,MAAM,IAAIA,MAAM,YAAYy1B,kBAAnD,CAAnC;AACA,UAAMnoB,cAAc,GAAG,EAAvB;;AACA,QAAIF,8BAA8B,CAAC9P,QAAD,EAAWC,KAAX,CAAlC,EAAqD;AACjD45B,MAAAA,0BAA0B,CAACj5B,OAA3B,CAAmC8B,MAAM,IAAI;AACzC,YAAInE,MAAM,GAAGmE,MAAM,CAAC41B,eAApB;AACAtzB,QAAAA,MAAM,CAACC,IAAP,CAAY1G,MAAZ,EAAoBqC,OAApB,CAA4BsE,IAAI,IAAI8K,cAAc,CAAC9K,IAAD,CAAd,GAAuB3G,MAAM,CAAC2G,IAAD,CAAjE;AACH,OAHD;AAIH;;AACDnG,IAAAA,SAAS,GAAGgR,kCAAkC,CAACzL,OAAD,EAAUvF,SAAV,EAAqBiR,cAArB,CAA9C;AACA,UAAMsJ,WAAW,GAAGwgB,0BAA0B,CAAC/6B,SAAD,CAA9C,CAbgG,CAchG;AACA;AACA;AACA;;AACA,QAAIiB,QAAQ,IAAI,CAAhB,EAAmB;AACf,aAAO,IAAI44B,iBAAJ,CAAsBt0B,OAAtB,EAA+BgV,WAA/B,CAAP;AACH;;AACD,UAAM4d,aAAa,GAAI,GAAEgC,qBAAsB,GAAE,KAAKG,MAAL,EAAc,EAA/D;AACA,UAAMI,KAAK,GAAG,KAAKH,oBAAL,CAA0Bh1B,OAA1B,EAAmC4yB,aAAnC,EAAkDn4B,SAAlD,CAAd;AACA,UAAMg7B,iBAAiB,GAAGC,+BAA+B,CAAC11B,OAAD,CAAzD;AACAy1B,IAAAA,iBAAiB,CAACE,WAAlB,CAA8BR,KAA9B;AACA,UAAMS,aAAa,GAAGxF,0BAA0B,CAACpwB,OAAD,EAAUvF,SAAV,CAAhD;AACA,UAAM2D,MAAM,GAAG,IAAIy1B,kBAAJ,CAAuB7zB,OAAvB,EAAgCvF,SAAhC,EAA2Cm4B,aAA3C,EAA0Dl3B,QAA1D,EAAoEC,KAApE,EAA2EwK,MAA3E,EAAmF6O,WAAnF,EAAgG4gB,aAAhG,CAAf;AACAx3B,IAAAA,MAAM,CAACzB,SAAP,CAAiB,MAAMk5B,aAAa,CAACV,KAAD,CAApC;AACA,WAAO/2B,MAAP;AACH;;AA/EoB;;AAiFzB,SAASs3B,+BAAT,CAAyC11B,OAAzC,EAAkD;AAC9C,MAAI81B,EAAJ;;AACA,QAAMC,QAAQ,GAAG,CAACD,EAAE,GAAG91B,OAAO,CAACg2B,WAAd,MAA+B,IAA/B,IAAuCF,EAAE,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,EAAE,CAACn2B,IAAH,CAAQK,OAAR,CAAjF;;AACA,MAAI,OAAOi2B,UAAP,KAAsB,WAAtB,IAAqCF,QAAQ,YAAYE,UAA7D,EAAyE;AACrE,WAAOF,QAAP;AACH;;AACD,SAAOx2B,QAAQ,CAAC22B,IAAhB;AACH;;AACD,SAASV,0BAAT,CAAoC/6B,SAApC,EAA+C;AAC3C,MAAI07B,aAAa,GAAG,EAApB;;AACA,MAAI17B,SAAJ,EAAe;AACX,UAAM27B,GAAG,GAAGptB,KAAK,CAACC,OAAN,CAAcxO,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CAAnD;AACA27B,IAAAA,GAAG,CAAC95B,OAAJ,CAAYiE,EAAE,IAAI;AACdG,MAAAA,MAAM,CAACC,IAAP,CAAYJ,EAAZ,EAAgBjE,OAAhB,CAAwBsE,IAAI,IAAI;AAC5B,YAAIA,IAAI,IAAI,QAAR,IAAoBA,IAAI,IAAI,QAAhC,EACI;AACJu1B,QAAAA,aAAa,CAACv1B,IAAD,CAAb,GAAsBL,EAAE,CAACK,IAAD,CAAxB;AACH,OAJD;AAKH,KAND;AAOH;;AACD,SAAOu1B,aAAP;AACH;;AACD,SAASN,aAAT,CAAuB7pB,IAAvB,EAA6B;AACzBA,EAAAA,IAAI,CAAClI,UAAL,CAAgBuyB,WAAhB,CAA4BrqB,IAA5B;AACH;;AACD,IAAIsqB,aAAa,GAAG,KAApB;;AACA,SAAShB,oBAAT,GAAgC;AAC5B,MAAIgB,aAAJ,EACI;AACJC,EAAAA,OAAO,CAACC,IAAR,CAAa,mGAAb,EAAkH,wFAAlH;AACAF,EAAAA,aAAa,GAAG,IAAhB;AACH;;AAED,MAAMG,mBAAN,CAA0B;AACtBh7B,EAAAA,WAAW,CAACuE,OAAD,EAAUvF,SAAV,EAAqBX,OAArB,EAA8Bi6B,cAA9B,EAA8C;AACrD,SAAK/zB,OAAL,GAAeA,OAAf;AACA,SAAKvF,SAAL,GAAiBA,SAAjB;AACA,SAAKX,OAAL,GAAeA,OAAf;AACA,SAAKi6B,cAAL,GAAsBA,cAAtB;AACA,SAAKn4B,UAAL,GAAkB,EAAlB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA,SAAKC,aAAL,GAAqB,EAArB;AACA,SAAK46B,YAAL,GAAoB,KAApB;AACA,SAAKz6B,SAAL,GAAiB,KAAjB;AACA,SAAKF,QAAL,GAAgB,KAAhB;AACA,SAAKC,UAAL,GAAkB,KAAlB;AACA,SAAKuC,IAAL,GAAY,CAAZ;AACA,SAAKpC,YAAL,GAAoB,IAApB;AACA,SAAK63B,eAAL,GAAuB,EAAvB;AACA,SAAKxC,SAAL,GAAiB13B,OAAO,CAAC,UAAD,CAAxB;AACA,SAAK23B,MAAL,GAAc33B,OAAO,CAAC,OAAD,CAAP,IAAoB,CAAlC;AACA,SAAKyE,IAAL,GAAY,KAAKizB,SAAL,GAAiB,KAAKC,MAAlC;AACH;;AACDp1B,EAAAA,SAAS,GAAG;AACR,QAAI,CAAC,KAAKJ,SAAV,EAAqB;AACjB,WAAKA,SAAL,GAAiB,IAAjB;;AACA,WAAKL,UAAL,CAAgBU,OAAhB,CAAwBC,EAAE,IAAIA,EAAE,EAAhC;;AACA,WAAKX,UAAL,GAAkB,EAAlB;AACH;AACJ;;AACDiB,EAAAA,IAAI,GAAG;AACH,SAAK4jB,YAAL;;AACA,SAAKkW,yBAAL;AACH;;AACDlW,EAAAA,YAAY,GAAG;AACX,QAAI,KAAKiW,YAAT,EACI;AACJ,SAAKA,YAAL,GAAoB,IAApB;AACA,UAAMj8B,SAAS,GAAG,KAAKA,SAAvB;AACA,SAAKm8B,SAAL,GACI,KAAKC,oBAAL,CAA0B,KAAK72B,OAA/B,EAAwCvF,SAAxC,EAAmD,KAAKX,OAAxD,CADJ;AAEA,SAAKg9B,cAAL,GAAsBr8B,SAAS,CAACmD,MAAV,GAAmBnD,SAAS,CAACA,SAAS,CAACmD,MAAV,GAAmB,CAApB,CAA5B,GAAqD,EAA3E;AACA,SAAKg5B,SAAL,CAAerD,gBAAf,CAAgC,QAAhC,EAA0C,MAAM,KAAKl3B,SAAL,EAAhD;AACH;;AACDs6B,EAAAA,yBAAyB,GAAG;AACxB;AACA,QAAI,KAAKlF,MAAT,EAAiB;AACb,WAAKsF,oBAAL;AACH,KAFD,MAGK;AACD,WAAKH,SAAL,CAAe35B,KAAf;AACH;AACJ;AACD;;;AACA45B,EAAAA,oBAAoB,CAAC72B,OAAD,EAAUvF,SAAV,EAAqBX,OAArB,EAA8B;AAC9C;AACA;AACA,WAAOkG,OAAO,CAAC,SAAD,CAAP,CAAmBvF,SAAnB,EAA8BX,OAA9B,CAAP;AACH;;AACD0C,EAAAA,OAAO,CAACD,EAAD,EAAK;AACR,SAAKV,WAAL,CAAiBY,IAAjB,CAAsBF,EAAtB;AACH;;AACDG,EAAAA,MAAM,CAACH,EAAD,EAAK;AACP,SAAKX,UAAL,CAAgBa,IAAhB,CAAqBF,EAArB;AACH;;AACDI,EAAAA,SAAS,CAACJ,EAAD,EAAK;AACV,SAAKT,aAAL,CAAmBW,IAAnB,CAAwBF,EAAxB;AACH;;AACDO,EAAAA,IAAI,GAAG;AACH,SAAK2jB,YAAL;;AACA,QAAI,CAAC,KAAK7jB,UAAL,EAAL,EAAwB;AACpB,WAAKf,WAAL,CAAiBS,OAAjB,CAAyBC,EAAE,IAAIA,EAAE,EAAjC;;AACA,WAAKV,WAAL,GAAmB,EAAnB;AACA,WAAKE,QAAL,GAAgB,IAAhB;;AACA,UAAI,KAAKg4B,cAAT,EAAyB;AACrB,aAAKA,cAAL,CAAoB5X,KAApB;AACH;AACJ;;AACD,SAAKya,SAAL,CAAe95B,IAAf;AACH;;AACDG,EAAAA,KAAK,GAAG;AACJ,SAAKJ,IAAL;AACA,SAAK+5B,SAAL,CAAe35B,KAAf;AACH;;AACDE,EAAAA,MAAM,GAAG;AACL,SAAKN,IAAL;;AACA,QAAI,KAAKk3B,cAAT,EAAyB;AACrB,WAAKA,cAAL,CAAoB52B,MAApB;AACH;;AACD,SAAKd,SAAL;;AACA,SAAKu6B,SAAL,CAAez5B,MAAf;AACH;;AACDE,EAAAA,KAAK,GAAG;AACJ,SAAK05B,oBAAL;;AACA,SAAK/6B,UAAL,GAAkB,KAAlB;AACA,SAAKC,SAAL,GAAiB,KAAjB;AACA,SAAKF,QAAL,GAAgB,KAAhB;AACH;;AACDg7B,EAAAA,oBAAoB,GAAG;AACnB,QAAI,KAAKH,SAAT,EAAoB;AAChB,WAAKA,SAAL,CAAeI,MAAf;AACH;AACJ;;AACD95B,EAAAA,OAAO,GAAG;AACN,SAAKG,KAAL;AACA,SAAKP,IAAL;AACH;;AACDF,EAAAA,UAAU,GAAG;AACT,WAAO,KAAKb,QAAZ;AACH;;AACDqB,EAAAA,OAAO,GAAG;AACN,QAAI,CAAC,KAAKpB,UAAV,EAAsB;AAClB,WAAKA,UAAL,GAAkB,IAAlB;;AACA,WAAK+6B,oBAAL;;AACA,WAAK16B,SAAL;;AACA,UAAI,KAAK03B,cAAT,EAAyB;AACrB,aAAKA,cAAL,CAAoB32B,OAApB;AACH;;AACD,WAAKtB,aAAL,CAAmBQ,OAAnB,CAA2BC,EAAE,IAAIA,EAAE,EAAnC;;AACA,WAAKT,aAAL,GAAqB,EAArB;AACH;AACJ;;AACDwB,EAAAA,WAAW,CAACoB,CAAD,EAAI;AACX,QAAI,KAAKk4B,SAAL,KAAmB70B,SAAvB,EAAkC;AAC9B,WAAKlF,IAAL;AACH;;AACD,SAAK+5B,SAAL,CAAe1nB,WAAf,GAA6BxQ,CAAC,GAAG,KAAKH,IAAtC;AACH;;AACDf,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKo5B,SAAL,CAAe1nB,WAAf,GAA6B,KAAK3Q,IAAzC;AACH;;AACY,MAATnC,SAAS,GAAG;AACZ,WAAO,KAAKq1B,MAAL,GAAc,KAAKD,SAA1B;AACH;;AACDxyB,EAAAA,aAAa,GAAG;AACZ,UAAM/E,MAAM,GAAG,EAAf;;AACA,QAAI,KAAK2C,UAAL,EAAJ,EAAuB;AACnB8D,MAAAA,MAAM,CAACC,IAAP,CAAY,KAAKm2B,cAAjB,EAAiCx6B,OAAjC,CAAyCsE,IAAI,IAAI;AAC7C,YAAIA,IAAI,IAAI,QAAZ,EAAsB;AAClB3G,UAAAA,MAAM,CAAC2G,IAAD,CAAN,GACI,KAAK3E,SAAL,GAAiB,KAAK66B,cAAL,CAAoBl2B,IAApB,CAAjB,GAA6CsF,YAAY,CAAC,KAAKlG,OAAN,EAAeY,IAAf,CAD7D;AAEH;AACJ,OALD;AAMH;;AACD,SAAKozB,eAAL,GAAuB/5B,MAAvB;AACH;AACD;;;AACAwD,EAAAA,eAAe,CAACC,SAAD,EAAY;AACvB,UAAMC,OAAO,GAAGD,SAAS,IAAI,OAAb,GAAuB,KAAK7B,WAA5B,GAA0C,KAAKD,UAA/D;AACA+B,IAAAA,OAAO,CAACrB,OAAR,CAAgBC,EAAE,IAAIA,EAAE,EAAxB;AACAoB,IAAAA,OAAO,CAACC,MAAR,GAAiB,CAAjB;AACH;;AApJqB;;AAuJ1B,MAAMq5B,mBAAN,CAA0B;AACtBx7B,EAAAA,WAAW,GAAG;AACV,SAAKy7B,aAAL,GAAqB,8BAA8BC,IAA9B,CAAmCC,mBAAmB,GAAG13B,QAAtB,EAAnC,CAArB;AACA,SAAK23B,mBAAL,GAA2B,IAAIvC,kBAAJ,EAA3B;AACH;;AACD5vB,EAAAA,qBAAqB,CAACtE,IAAD,EAAO;AACxB,WAAOsE,qBAAqB,CAACtE,IAAD,CAA5B;AACH;;AACD6E,EAAAA,cAAc,CAACzF,OAAD,EAAU/E,QAAV,EAAoB;AAC9B,WAAOwK,cAAc,CAACzF,OAAD,EAAU/E,QAAV,CAArB;AACH;;AACDyK,EAAAA,eAAe,CAACxC,IAAD,EAAOC,IAAP,EAAa;AACxB,WAAOuC,eAAe,CAACxC,IAAD,EAAOC,IAAP,CAAtB;AACH;;AACDnI,EAAAA,KAAK,CAACgF,OAAD,EAAU/E,QAAV,EAAoBuI,KAApB,EAA2B;AAC5B,WAAOmC,WAAW,CAAC3F,OAAD,EAAU/E,QAAV,EAAoBuI,KAApB,CAAlB;AACH;;AACD0C,EAAAA,YAAY,CAAClG,OAAD,EAAUY,IAAV,EAAgBwB,YAAhB,EAA8B;AACtC,WAAO9C,MAAM,CAACyN,gBAAP,CAAwB/M,OAAxB,EAAiCY,IAAjC,CAAP;AACH;;AACD02B,EAAAA,4BAA4B,CAACC,SAAD,EAAY;AACpC,SAAKL,aAAL,GAAqBK,SAArB;AACH;;AACDx9B,EAAAA,OAAO,CAACiG,OAAD,EAAUvF,SAAV,EAAqBiB,QAArB,EAA+BC,KAA/B,EAAsCwK,MAAtC,EAA8CC,eAAe,GAAG,EAAhE,EAAoEC,uBAApE,EAA6F;AAChG,UAAMmxB,YAAY,GAAG,CAACnxB,uBAAD,IAA4B,CAAC,KAAK6wB,aAAvD;;AACA,QAAIM,YAAJ,EAAkB;AACd,aAAO,KAAKH,mBAAL,CAAyBt9B,OAAzB,CAAiCiG,OAAjC,EAA0CvF,SAA1C,EAAqDiB,QAArD,EAA+DC,KAA/D,EAAsEwK,MAAtE,EAA8EC,eAA9E,CAAP;AACH;;AACD,UAAMqxB,IAAI,GAAG97B,KAAK,IAAI,CAAT,GAAa,MAAb,GAAsB,UAAnC;AACA,UAAM+7B,aAAa,GAAG;AAAEh8B,MAAAA,QAAF;AAAYC,MAAAA,KAAZ;AAAmB87B,MAAAA;AAAnB,KAAtB,CANgG,CAOhG;AACA;;AACA,QAAItxB,MAAJ,EAAY;AACRuxB,MAAAA,aAAa,CAAC,QAAD,CAAb,GAA0BvxB,MAA1B;AACH;;AACD,UAAMuF,cAAc,GAAG,EAAvB;AACA,UAAMisB,2BAA2B,GAAGvxB,eAAe,CAACmP,MAAhB,CAAuBnX,MAAM,IAAIA,MAAM,YAAYq4B,mBAAnD,CAApC;;AACA,QAAIjrB,8BAA8B,CAAC9P,QAAD,EAAWC,KAAX,CAAlC,EAAqD;AACjDg8B,MAAAA,2BAA2B,CAACr7B,OAA5B,CAAoC8B,MAAM,IAAI;AAC1C,YAAInE,MAAM,GAAGmE,MAAM,CAAC41B,eAApB;AACAtzB,QAAAA,MAAM,CAACC,IAAP,CAAY1G,MAAZ,EAAoBqC,OAApB,CAA4BsE,IAAI,IAAI8K,cAAc,CAAC9K,IAAD,CAAd,GAAuB3G,MAAM,CAAC2G,IAAD,CAAjE;AACH,OAHD;AAIH;;AACDnG,IAAAA,SAAS,GAAGA,SAAS,CAACyH,GAAV,CAAcjI,MAAM,IAAIiP,UAAU,CAACjP,MAAD,EAAS,KAAT,CAAlC,CAAZ;AACAQ,IAAAA,SAAS,GAAGgR,kCAAkC,CAACzL,OAAD,EAAUvF,SAAV,EAAqBiR,cAArB,CAA9C;AACA,UAAMkqB,aAAa,GAAGxF,0BAA0B,CAACpwB,OAAD,EAAUvF,SAAV,CAAhD;AACA,WAAO,IAAIg8B,mBAAJ,CAAwBz2B,OAAxB,EAAiCvF,SAAjC,EAA4Ci9B,aAA5C,EAA2D9B,aAA3D,CAAP;AACH;;AA/CqB;;AAiD1B,SAASgC,qBAAT,GAAiC;AAC7B,SAAO,OAAOR,mBAAmB,EAA1B,KAAiC,UAAxC;AACH;;AACD,SAASA,mBAAT,GAA+B;AAC3B,SAAQ/3B,SAAS,MAAMsE,OAAO,CAACK,SAAR,CAAkB,SAAlB,CAAhB,IAAiD,EAAxD;AACH;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;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtlJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA;AACA;AACA;AACA,MAAMo4B,YAAY,GAAG,GAArB;AACA;AACA;AACA;AACA;;AACA,SAASC,mBAAT,CAA6BC,EAA7B,EAAiCC,IAAjC,EAAuC15B,EAAvC,EAA2C;AACvC,QAAM25B,GAAG,GAAGC,mBAAmB,CAACH,EAAD,EAAKC,IAAL,CAA/B;;AACA,MAAIC,GAAG,CAACjpB,IAAJ,CAASmpB,UAAU,IAAIA,UAAU,CAAC9f,IAAX,MAAqB/Z,EAAE,CAAC+Z,IAAH,EAA5C,CAAJ,EAA4D;AACxD;AACH;;AACD4f,EAAAA,GAAG,CAAC//B,IAAJ,CAASoG,EAAE,CAAC+Z,IAAH,EAAT;AACA0f,EAAAA,EAAE,CAAC1yB,YAAH,CAAgB2yB,IAAhB,EAAsBC,GAAG,CAACr7B,IAAJ,CAASi7B,YAAT,CAAtB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASO,sBAAT,CAAgCL,EAAhC,EAAoCC,IAApC,EAA0C15B,EAA1C,EAA8C;AAC1C,QAAM25B,GAAG,GAAGC,mBAAmB,CAACH,EAAD,EAAKC,IAAL,CAA/B;AACA,QAAMK,WAAW,GAAGJ,GAAG,CAACjnB,MAAJ,CAAW4E,GAAG,IAAIA,GAAG,IAAItX,EAAE,CAAC+Z,IAAH,EAAzB,CAApB;;AACA,MAAIggB,WAAW,CAACh/B,MAAhB,EAAwB;AACpB0+B,IAAAA,EAAE,CAAC1yB,YAAH,CAAgB2yB,IAAhB,EAAsBK,WAAW,CAACz7B,IAAZ,CAAiBi7B,YAAjB,CAAtB;AACH,GAFD,MAGK;AACDE,IAAAA,EAAE,CAACO,eAAH,CAAmBN,IAAnB;AACH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAASE,mBAAT,CAA6BH,EAA7B,EAAiCC,IAAjC,EAAuC;AACnC;AACA,SAAO,CAACD,EAAE,CAACQ,YAAH,CAAgBP,IAAhB,KAAyB,EAA1B,EAA8B30B,KAA9B,CAAoC,MAApC,KAA+C,EAAtD;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMm1B,qBAAqB,GAAG,mCAA9B;AACA;;AACA,MAAMC,yBAAyB,GAAG,yBAAlC;AACA;;AACA,MAAMC,8BAA8B,GAAG,sBAAvC;AACA;;AACA,IAAIC,MAAM,GAAG,CAAb;AACA;;AACA,MAAMC,eAAe,gBAAG,IAAI76B,GAAJ,EAAxB;AACA;;AACA,IAAI86B,iBAAiB,GAAG,IAAxB;AACA;AACA;AACA;AACA;AACA;;IACMC;AAAN,QAAMA,aAAN,CAAoB;AAChB5hC,IAAAA,WAAW,CAAC6hC,SAAD,EAAY;AACnB,WAAKA,SAAL,GAAiBA,SAAjB;AACH;;AACDC,IAAAA,QAAQ,CAAChb,WAAD,EAAcib,OAAd,EAAuBC,IAAvB,EAA6B;AACjC,UAAI,CAAC,KAAKC,eAAL,CAAqBnb,WAArB,EAAkCib,OAAlC,CAAL,EAAiD;AAC7C;AACH;;AACD,YAAMr7B,GAAG,GAAGw7B,MAAM,CAACH,OAAD,EAAUC,IAAV,CAAlB;;AACA,UAAI,OAAOD,OAAP,KAAmB,QAAvB,EAAiC;AAC7B;AACAI,QAAAA,YAAY,CAACJ,OAAD,CAAZ;AACAL,QAAAA,eAAe,CAAC36B,GAAhB,CAAoBL,GAApB,EAAyB;AAAE07B,UAAAA,cAAc,EAAEL,OAAlB;AAA2BM,UAAAA,cAAc,EAAE;AAA3C,SAAzB;AACH,OAJD,MAKK,IAAI,CAACX,eAAe,CAACjvB,GAAhB,CAAoB/L,GAApB,CAAL,EAA+B;AAChC,aAAK47B,qBAAL,CAA2BP,OAA3B,EAAoCC,IAApC;AACH;;AACD,UAAI,CAAC,KAAKO,4BAAL,CAAkCzb,WAAlC,EAA+CpgB,GAA/C,CAAL,EAA0D;AACtD,aAAK87B,oBAAL,CAA0B1b,WAA1B,EAAuCpgB,GAAvC;AACH;AACJ;;AACD+7B,IAAAA,iBAAiB,CAAC3b,WAAD,EAAcib,OAAd,EAAuBC,IAAvB,EAA6B;AAC1C,UAAI,CAACD,OAAD,IAAY,CAAC,KAAKW,cAAL,CAAoB5b,WAApB,CAAjB,EAAmD;AAC/C;AACH;;AACD,YAAMpgB,GAAG,GAAGw7B,MAAM,CAACH,OAAD,EAAUC,IAAV,CAAlB;;AACA,UAAI,KAAKO,4BAAL,CAAkCzb,WAAlC,EAA+CpgB,GAA/C,CAAJ,EAAyD;AACrD,aAAKi8B,uBAAL,CAA6B7b,WAA7B,EAA0CpgB,GAA1C;AACH,OAPyC,CAQ1C;AACA;;;AACA,UAAI,OAAOq7B,OAAP,KAAmB,QAAvB,EAAiC;AAC7B,cAAMa,iBAAiB,GAAGlB,eAAe,CAAC56B,GAAhB,CAAoBJ,GAApB,CAA1B;;AACA,YAAIk8B,iBAAiB,IAAIA,iBAAiB,CAACP,cAAlB,KAAqC,CAA9D,EAAiE;AAC7D,eAAKQ,qBAAL,CAA2Bn8B,GAA3B;AACH;AACJ;;AACD,UAAIi7B,iBAAiB,IAAIA,iBAAiB,CAACmB,UAAlB,CAA6B3gC,MAA7B,KAAwC,CAAjE,EAAoE;AAChE,aAAK4gC,wBAAL;AACH;AACJ;AACD;;;AACAC,IAAAA,WAAW,GAAG;AACV,YAAMC,iBAAiB,GAAG,KAAKpB,SAAL,CAAe34B,gBAAf,CAAiC,IAAGs4B,8BAA+B,GAAnE,CAA1B;;AACA,WAAK,IAAIr4B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG85B,iBAAiB,CAAC9gC,MAAtC,EAA8CgH,CAAC,EAA/C,EAAmD;AAC/C,aAAK+5B,iCAAL,CAAuCD,iBAAiB,CAAC95B,CAAD,CAAxD;;AACA85B,QAAAA,iBAAiB,CAAC95B,CAAD,CAAjB,CAAqBi4B,eAArB,CAAqCI,8BAArC;AACH;;AACD,UAAIG,iBAAJ,EAAuB;AACnB,aAAKoB,wBAAL;AACH;;AACDrB,MAAAA,eAAe,CAAC9oB,KAAhB;AACH;AACD;AACJ;AACA;AACA;;;AACI0pB,IAAAA,qBAAqB,CAACP,OAAD,EAAUC,IAAV,EAAgB;AACjC,YAAMI,cAAc,GAAG,KAAKP,SAAL,CAAelI,aAAf,CAA6B,KAA7B,CAAvB;;AACAwI,MAAAA,YAAY,CAACC,cAAD,CAAZ;AACAA,MAAAA,cAAc,CAACxI,WAAf,GAA6BmI,OAA7B;;AACA,UAAIC,IAAJ,EAAU;AACNI,QAAAA,cAAc,CAACj0B,YAAf,CAA4B,MAA5B,EAAoC6zB,IAApC;AACH;;AACD,WAAKmB,wBAAL;;AACAxB,MAAAA,iBAAiB,CAACzH,WAAlB,CAA8BkI,cAA9B;AACAV,MAAAA,eAAe,CAAC36B,GAAhB,CAAoBm7B,MAAM,CAACH,OAAD,EAAUC,IAAV,CAA1B,EAA2C;AAAEI,QAAAA,cAAF;AAAkBC,QAAAA,cAAc,EAAE;AAAlC,OAA3C;AACH;AACD;;;AACAQ,IAAAA,qBAAqB,CAACn8B,GAAD,EAAM;AACvB,YAAMk8B,iBAAiB,GAAGlB,eAAe,CAAC56B,GAAhB,CAAoBJ,GAApB,CAA1B;AACA,YAAM07B,cAAc,GAAGQ,iBAAiB,IAAIA,iBAAiB,CAACR,cAA9D;;AACA,UAAIT,iBAAiB,IAAIS,cAAzB,EAAyC;AACrCT,QAAAA,iBAAiB,CAAC/G,WAAlB,CAA8BwH,cAA9B;AACH;;AACDV,MAAAA,eAAe,CAACjpB,MAAhB,CAAuB/R,GAAvB;AACH;AACD;;;AACAy8B,IAAAA,wBAAwB,GAAG;AACvB,UAAI,CAACxB,iBAAL,EAAwB;AACpB,cAAMyB,oBAAoB,GAAG,KAAKvB,SAAL,CAAewB,cAAf,CAA8B/B,qBAA9B,CAA7B,CADoB,CAEpB;AACA;AACA;AACA;;;AACA,YAAI8B,oBAAoB,IAAIA,oBAAoB,CAAC/6B,UAAjD,EAA6D;AACzD+6B,UAAAA,oBAAoB,CAAC/6B,UAArB,CAAgCuyB,WAAhC,CAA4CwI,oBAA5C;AACH;;AACDzB,QAAAA,iBAAiB,GAAG,KAAKE,SAAL,CAAelI,aAAf,CAA6B,KAA7B,CAApB;AACAgI,QAAAA,iBAAiB,CAACv6B,EAAlB,GAAuBk6B,qBAAvB,CAVoB,CAWpB;AACA;AACA;AACA;;AACAK,QAAAA,iBAAiB,CAAC/iC,KAAlB,CAAwB0kC,UAAxB,GAAqC,QAArC,CAfoB,CAgBpB;AACA;;AACA3B,QAAAA,iBAAiB,CAACtO,SAAlB,CAA4B7e,GAA5B,CAAgC,qBAAhC;;AACA,aAAKqtB,SAAL,CAAe93B,IAAf,CAAoBmwB,WAApB,CAAgCyH,iBAAhC;AACH;AACJ;AACD;;;AACAoB,IAAAA,wBAAwB,GAAG;AACvB,UAAIpB,iBAAiB,IAAIA,iBAAiB,CAACt5B,UAA3C,EAAuD;AACnDs5B,QAAAA,iBAAiB,CAACt5B,UAAlB,CAA6BuyB,WAA7B,CAAyC+G,iBAAzC;AACAA,QAAAA,iBAAiB,GAAG,IAApB;AACH;AACJ;AACD;;;AACAuB,IAAAA,iCAAiC,CAAC3+B,OAAD,EAAU;AACvC;AACA,YAAMg/B,oBAAoB,GAAGvC,mBAAmB,CAACz8B,OAAD,EAAU,kBAAV,CAAnB,CACxBuV,MADwB,CACjB1S,EAAE,IAAIA,EAAE,CAACD,OAAH,CAAWo6B,yBAAX,KAAyC,CAD9B,CAA7B;AAEAh9B,MAAAA,OAAO,CAAC4J,YAAR,CAAqB,kBAArB,EAAyCo1B,oBAAoB,CAAC79B,IAArB,CAA0B,GAA1B,CAAzC;AACH;AACD;AACJ;AACA;AACA;;;AACI88B,IAAAA,oBAAoB,CAACj+B,OAAD,EAAUmC,GAAV,EAAe;AAC/B,YAAMk8B,iBAAiB,GAAGlB,eAAe,CAAC56B,GAAhB,CAAoBJ,GAApB,CAA1B,CAD+B,CAE/B;AACA;;AACAk6B,MAAAA,mBAAmB,CAACr8B,OAAD,EAAU,kBAAV,EAA8Bq+B,iBAAiB,CAACR,cAAlB,CAAiCh7B,EAA/D,CAAnB;AACA7C,MAAAA,OAAO,CAAC4J,YAAR,CAAqBqzB,8BAArB,EAAqD,EAArD;AACAoB,MAAAA,iBAAiB,CAACP,cAAlB;AACH;AACD;AACJ;AACA;AACA;;;AACIM,IAAAA,uBAAuB,CAACp+B,OAAD,EAAUmC,GAAV,EAAe;AAClC,YAAMk8B,iBAAiB,GAAGlB,eAAe,CAAC56B,GAAhB,CAAoBJ,GAApB,CAA1B;AACAk8B,MAAAA,iBAAiB,CAACP,cAAlB;AACAnB,MAAAA,sBAAsB,CAAC38B,OAAD,EAAU,kBAAV,EAA8Bq+B,iBAAiB,CAACR,cAAlB,CAAiCh7B,EAA/D,CAAtB;AACA7C,MAAAA,OAAO,CAAC68B,eAAR,CAAwBI,8BAAxB;AACH;AACD;;;AACAe,IAAAA,4BAA4B,CAACh+B,OAAD,EAAUmC,GAAV,EAAe;AACvC,YAAM88B,YAAY,GAAGxC,mBAAmB,CAACz8B,OAAD,EAAU,kBAAV,CAAxC;AACA,YAAMq+B,iBAAiB,GAAGlB,eAAe,CAAC56B,GAAhB,CAAoBJ,GAApB,CAA1B;AACA,YAAM+8B,SAAS,GAAGb,iBAAiB,IAAIA,iBAAiB,CAACR,cAAlB,CAAiCh7B,EAAxE;AACA,aAAO,CAAC,CAACq8B,SAAF,IAAeD,YAAY,CAACr8B,OAAb,CAAqBs8B,SAArB,KAAmC,CAAC,CAA1D;AACH;AACD;;;AACAxB,IAAAA,eAAe,CAAC19B,OAAD,EAAUw9B,OAAV,EAAmB;AAC9B,UAAI,CAAC,KAAKW,cAAL,CAAoBn+B,OAApB,CAAL,EAAmC;AAC/B,eAAO,KAAP;AACH;;AACD,UAAIw9B,OAAO,IAAI,OAAOA,OAAP,KAAmB,QAAlC,EAA4C;AACxC;AACA;AACA;AACA,eAAO,IAAP;AACH;;AACD,YAAM2B,cAAc,GAAG3B,OAAO,IAAI,IAAX,GAAkB,EAAlB,GAAwB,GAAEA,OAAQ,EAAX,CAAa5gB,IAAb,EAA9C;AACA,YAAMwiB,SAAS,GAAGp/B,OAAO,CAAC88B,YAAR,CAAqB,YAArB,CAAlB,CAX8B,CAY9B;AACA;;AACA,aAAOqC,cAAc,GAAI,CAACC,SAAD,IAAcA,SAAS,CAACxiB,IAAV,OAAqBuiB,cAAvC,GAAyD,KAA9E;AACH;AACD;;;AACAhB,IAAAA,cAAc,CAACn+B,OAAD,EAAU;AACpB,aAAOA,OAAO,CAACq/B,QAAR,KAAqB,KAAK/B,SAAL,CAAegC,YAA3C;AACH;;AApKe;;AAsKpBjC,EAAAA,aAAa,CAAC/2B,IAAd,GAAqB,SAASi5B,qBAAT,CAA+B/4B,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAI62B,aAAV,EAAyBj+B,sDAAA,CAAgB25B,qDAAhB,CAAzB,CAAP;AAA6D,GAAtH;;AACAsE,EAAAA,aAAa,CAAC52B,KAAd,GAAsBuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAAS24B,qBAAT,GAAiC;AAAE,aAAO,IAAIlC,aAAJ,CAAkBrE,sDAAA,CAAYF,qDAAZ,CAAlB,CAAP;AAAqD,KAAnG;AAAqGnyB,IAAAA,KAAK,EAAE02B,aAA5G;AAA2HoC,IAAAA,UAAU,EAAE;AAAvI,GAAtB,CAAtB;SAvKMpC;;;AA2KN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOx2B,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAOA;;;AACA,SAAS82B,MAAT,CAAgBH,OAAhB,EAAyBC,IAAzB,EAA+B;AAC3B,SAAO,OAAOD,OAAP,KAAmB,QAAnB,GAA+B,GAAEC,IAAI,IAAI,EAAG,IAAGD,OAAQ,EAAvD,GAA2DA,OAAlE;AACH;AACD;;;AACA,SAASI,YAAT,CAAsB59B,OAAtB,EAA+B;AAC3B,MAAI,CAACA,OAAO,CAAC6C,EAAb,EAAiB;AACb7C,IAAAA,OAAO,CAAC6C,EAAR,GAAc,GAAEm6B,yBAA0B,IAAGE,MAAM,EAAG,EAAtD;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMwC,cAAN,CAAqB;AACjBjkC,EAAAA,WAAW,CAACkkC,MAAD,EAAS;AAChB,SAAKA,MAAL,GAAcA,MAAd;AACA,SAAKC,gBAAL,GAAwB,CAAC,CAAzB;AACA,SAAKC,WAAL,GAAmB,IAAnB;AACA,SAAKC,KAAL,GAAa,KAAb;AACA,SAAKC,gBAAL,GAAwB,IAAInG,yCAAJ,EAAxB;AACA,SAAKoG,sBAAL,GAA8BnG,oDAA9B;AACA,SAAKqG,SAAL,GAAiB,IAAjB;AACA,SAAKC,oBAAL,GAA4B,EAA5B;AACA,SAAKC,WAAL,GAAmB,KAAnB;AACA;AACR;AACA;AACA;;AACQ,SAAKC,gBAAL,GAAyB92B,IAAD,IAAUA,IAAI,CAAC7H,QAAvC,CAdgB,CAehB;;;AACA,SAAK4+B,eAAL,GAAuB,EAAvB;AACA;AACR;AACA;AACA;;AACQ,SAAKC,MAAL,GAAc,IAAI3G,yCAAJ,EAAd;AACA;;AACA,SAAK4G,MAAL,GAAc,IAAI5G,yCAAJ,EAAd,CAvBgB,CAwBhB;AACA;AACA;;AACA,QAAI+F,MAAM,YAAYzG,oDAAtB,EAAiC;AAC7ByG,MAAAA,MAAM,CAACc,OAAP,CAAeC,SAAf,CAA0BC,QAAD,IAAc;AACnC,YAAI,KAAKd,WAAT,EAAsB;AAClB,gBAAMe,SAAS,GAAGD,QAAQ,CAACE,OAAT,EAAlB;AACA,gBAAMC,QAAQ,GAAGF,SAAS,CAACh+B,OAAV,CAAkB,KAAKi9B,WAAvB,CAAjB;;AACA,cAAIiB,QAAQ,GAAG,CAAC,CAAZ,IAAiBA,QAAQ,KAAK,KAAKlB,gBAAvC,EAAyD;AACrD,iBAAKA,gBAAL,GAAwBkB,QAAxB;AACH;AACJ;AACJ,OARD;AASH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACIC,EAAAA,aAAa,CAACC,SAAD,EAAY;AACrB,SAAKX,gBAAL,GAAwBW,SAAxB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIC,EAAAA,QAAQ,CAACC,UAAU,GAAG,IAAd,EAAoB;AACxB,SAAKpB,KAAL,GAAaoB,UAAb;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIC,EAAAA,uBAAuB,CAACC,OAAO,GAAG,IAAX,EAAiB;AACpC,SAAKlB,SAAL,GAAiBkB,OAAjB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIC,EAAAA,yBAAyB,CAACC,SAAD,EAAY;AACjC,SAAKC,WAAL,GAAmBD,SAAnB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIE,EAAAA,uBAAuB,CAAC7gC,IAAD,EAAO;AAC1B,SAAKw/B,oBAAL,GAA4Bx/B,IAA5B;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI8gC,EAAAA,aAAa,CAACC,gBAAgB,GAAG,GAApB,EAAyB;AAClC,QAAI,CAAC,OAAO76B,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAoD,KAAK84B,MAAL,CAAY/hC,MAAZ,IACpD,KAAK+hC,MAAL,CAAYpsB,IAAZ,CAAiBhK,IAAI,IAAI,OAAOA,IAAI,CAACo4B,QAAZ,KAAyB,UAAlD,CADJ,EACoE;AAChE,YAAMzgC,KAAK,CAAC,8EAAD,CAAX;AACH;;AACD,SAAK8+B,sBAAL,CAA4B4B,WAA5B,GALkC,CAMlC;AACA;AACA;;;AACA,SAAK5B,sBAAL,GAA8B,KAAKD,gBAAL,CAAsB8B,IAAtB,CAA2B5G,mDAAG,CAAC6G,MAAM,IAAI,KAAKxB,eAAL,CAAqB7jC,IAArB,CAA0BqlC,MAA1B,CAAX,CAA9B,EAA6E5G,4DAAY,CAACwG,gBAAD,CAAzF,EAA6GnsB,sDAAM,CAAC,MAAM,KAAK+qB,eAAL,CAAqB1iC,MAArB,GAA8B,CAArC,CAAnH,EAA4JsE,mDAAG,CAAC,MAAM,KAAKo+B,eAAL,CAAqBn/B,IAArB,CAA0B,EAA1B,CAAP,CAA/J,EAAsMu/B,SAAtM,CAAgNqB,WAAW,IAAI;AACzP,YAAMC,KAAK,GAAG,KAAKC,cAAL,EAAd,CADyP,CAEzP;AACA;;;AACA,WAAK,IAAIr9B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGo9B,KAAK,CAACpkC,MAAN,GAAe,CAAnC,EAAsCgH,CAAC,EAAvC,EAA2C;AACvC,cAAMic,KAAK,GAAG,CAAC,KAAK+e,gBAAL,GAAwBh7B,CAAzB,IAA8Bo9B,KAAK,CAACpkC,MAAlD;AACA,cAAM2L,IAAI,GAAGy4B,KAAK,CAACnhB,KAAD,CAAlB;;AACA,YAAI,CAAC,KAAKwf,gBAAL,CAAsB92B,IAAtB,CAAD,IACAA,IAAI,CAACo4B,QAAL,GAAgBp8B,WAAhB,GAA8BqX,IAA9B,GAAqCha,OAArC,CAA6Cm/B,WAA7C,MAA8D,CADlE,EACqE;AACjE,eAAKG,aAAL,CAAmBrhB,KAAnB;AACA;AACH;AACJ;;AACD,WAAKyf,eAAL,GAAuB,EAAvB;AACH,KAd6B,CAA9B;AAeA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI6B,EAAAA,cAAc,CAACf,OAAO,GAAG,IAAX,EAAiB;AAC3B,SAAKhB,WAAL,GAAmBgB,OAAnB;AACA,WAAO,IAAP;AACH;;AACDc,EAAAA,aAAa,CAAC34B,IAAD,EAAO;AAChB,UAAM64B,kBAAkB,GAAG,KAAKvC,WAAhC;AACA,SAAKwC,gBAAL,CAAsB94B,IAAtB;;AACA,QAAI,KAAKs2B,WAAL,KAAqBuC,kBAAzB,EAA6C;AACzC,WAAK5B,MAAL,CAAYt1B,IAAZ,CAAiB,KAAK00B,gBAAtB;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACI0C,EAAAA,SAAS,CAAChhC,KAAD,EAAQ;AACb,UAAMihC,OAAO,GAAGjhC,KAAK,CAACihC,OAAtB;AACA,UAAMC,SAAS,GAAG,CAAC,QAAD,EAAW,SAAX,EAAsB,SAAtB,EAAiC,UAAjC,CAAlB;AACA,UAAMC,iBAAiB,GAAGD,SAAS,CAACE,KAAV,CAAgBC,QAAQ,IAAI;AAClD,aAAO,CAACrhC,KAAK,CAACqhC,QAAD,CAAN,IAAoB,KAAKxC,oBAAL,CAA0Bv9B,OAA1B,CAAkC+/B,QAAlC,IAA8C,CAAC,CAA1E;AACH,KAFyB,CAA1B;;AAGA,YAAQJ,OAAR;AACI,WAAK5H,sDAAL;AACI,aAAK4F,MAAL,CAAYr1B,IAAZ;AACA;;AACJ,WAAKwvB,6DAAL;AACI,YAAI,KAAKwF,SAAL,IAAkBuC,iBAAtB,EAAyC;AACrC,eAAKG,iBAAL;AACA;AACH,SAHD,MAIK;AACD;AACH;;AACL,WAAKnI,2DAAL;AACI,YAAI,KAAKyF,SAAL,IAAkBuC,iBAAtB,EAAyC;AACrC,eAAKI,qBAAL;AACA;AACH,SAHD,MAIK;AACD;AACH;;AACL,WAAKrI,8DAAL;AACI,YAAI,KAAK+G,WAAL,IAAoBkB,iBAAxB,EAA2C;AACvC,eAAKlB,WAAL,KAAqB,KAArB,GAA6B,KAAKsB,qBAAL,EAA7B,GAA4D,KAAKD,iBAAL,EAA5D;AACA;AACH,SAHD,MAIK;AACD;AACH;;AACL,WAAKrI,6DAAL;AACI,YAAI,KAAKgH,WAAL,IAAoBkB,iBAAxB,EAA2C;AACvC,eAAKlB,WAAL,KAAqB,KAArB,GAA6B,KAAKqB,iBAAL,EAA7B,GAAwD,KAAKC,qBAAL,EAAxD;AACA;AACH,SAHD,MAIK;AACD;AACH;;AACL,WAAKvI,uDAAL;AACI,YAAI,KAAK8F,WAAL,IAAoBqC,iBAAxB,EAA2C;AACvC,eAAKK,kBAAL;AACA;AACH,SAHD,MAIK;AACD;AACH;;AACL,WAAKzI,sDAAL;AACI,YAAI,KAAK+F,WAAL,IAAoBqC,iBAAxB,EAA2C;AACvC,eAAKM,iBAAL;AACA;AACH,SAHD,MAIK;AACD;AACH;;AACL;AACI,YAAIN,iBAAiB,IAAIzI,qEAAc,CAAC14B,KAAD,EAAQ,UAAR,CAAvC,EAA4D;AACxD;AACA;AACA,cAAIA,KAAK,CAACa,GAAN,IAAab,KAAK,CAACa,GAAN,CAAUvE,MAAV,KAAqB,CAAtC,EAAyC;AACrC,iBAAKmiC,gBAAL,CAAsB70B,IAAtB,CAA2B5J,KAAK,CAACa,GAAN,CAAU6gC,iBAAV,EAA3B;AACH,WAFD,MAGK,IAAKT,OAAO,IAAItI,oDAAX,IAAgBsI,OAAO,IAAIrI,oDAA5B,IAAmCqI,OAAO,IAAIpI,uDAAX,IAAmBoI,OAAO,IAAInI,uDAArE,EAA4E;AAC7E,iBAAK2F,gBAAL,CAAsB70B,IAAtB,CAA2B+3B,MAAM,CAACC,YAAP,CAAoBX,OAApB,CAA3B;AACH;AACJ,SAVL,CAWI;AACA;;;AACA;AAjER;;AAmEA,SAAKjC,eAAL,GAAuB,EAAvB;AACAh/B,IAAAA,KAAK,CAAC6hC,cAAN;AACH;AACD;;;AACmB,MAAfC,eAAe,GAAG;AAClB,WAAO,KAAKxD,gBAAZ;AACH;AACD;;;AACc,MAAVyD,UAAU,GAAG;AACb,WAAO,KAAKxD,WAAZ;AACH;AACD;;;AACAyD,EAAAA,QAAQ,GAAG;AACP,WAAO,KAAKhD,eAAL,CAAqB1iC,MAArB,GAA8B,CAArC;AACH;AACD;;;AACAklC,EAAAA,kBAAkB,GAAG;AACjB,SAAKS,qBAAL,CAA2B,CAA3B,EAA8B,CAA9B;AACH;AACD;;;AACAR,EAAAA,iBAAiB,GAAG;AAChB,SAAKQ,qBAAL,CAA2B,KAAK5D,MAAL,CAAY/hC,MAAZ,GAAqB,CAAhD,EAAmD,CAAC,CAApD;AACH;AACD;;;AACAglC,EAAAA,iBAAiB,GAAG;AAChB,SAAKhD,gBAAL,GAAwB,CAAxB,GAA4B,KAAKkD,kBAAL,EAA5B,GAAwD,KAAKU,qBAAL,CAA2B,CAA3B,CAAxD;AACH;AACD;;;AACAX,EAAAA,qBAAqB,GAAG;AACpB,SAAKjD,gBAAL,GAAwB,CAAxB,IAA6B,KAAKE,KAAlC,GAA0C,KAAKiD,iBAAL,EAA1C,GACM,KAAKS,qBAAL,CAA2B,CAAC,CAA5B,CADN;AAEH;;AACDnB,EAAAA,gBAAgB,CAAC94B,IAAD,EAAO;AACnB,UAAMq3B,SAAS,GAAG,KAAKqB,cAAL,EAAlB;;AACA,UAAMphB,KAAK,GAAG,OAAOtX,IAAP,KAAgB,QAAhB,GAA2BA,IAA3B,GAAkCq3B,SAAS,CAACh+B,OAAV,CAAkB2G,IAAlB,CAAhD;AACA,UAAM85B,UAAU,GAAGzC,SAAS,CAAC/f,KAAD,CAA5B,CAHmB,CAInB;;AACA,SAAKgf,WAAL,GAAmBwD,UAAU,IAAI,IAAd,GAAqB,IAArB,GAA4BA,UAA/C;AACA,SAAKzD,gBAAL,GAAwB/e,KAAxB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI2iB,EAAAA,qBAAqB,CAACC,KAAD,EAAQ;AACzB,SAAK3D,KAAL,GAAa,KAAK4D,oBAAL,CAA0BD,KAA1B,CAAb,GAAgD,KAAKE,uBAAL,CAA6BF,KAA7B,CAAhD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIC,EAAAA,oBAAoB,CAACD,KAAD,EAAQ;AACxB,UAAMzB,KAAK,GAAG,KAAKC,cAAL,EAAd;;AACA,SAAK,IAAIr9B,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAIo9B,KAAK,CAACpkC,MAA3B,EAAmCgH,CAAC,EAApC,EAAwC;AACpC,YAAMic,KAAK,GAAG,CAAC,KAAK+e,gBAAL,GAAyB6D,KAAK,GAAG7+B,CAAjC,GAAsCo9B,KAAK,CAACpkC,MAA7C,IAAuDokC,KAAK,CAACpkC,MAA3E;AACA,YAAM2L,IAAI,GAAGy4B,KAAK,CAACnhB,KAAD,CAAlB;;AACA,UAAI,CAAC,KAAKwf,gBAAL,CAAsB92B,IAAtB,CAAL,EAAkC;AAC9B,aAAK24B,aAAL,CAAmBrhB,KAAnB;AACA;AACH;AACJ;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACI8iB,EAAAA,uBAAuB,CAACF,KAAD,EAAQ;AAC3B,SAAKF,qBAAL,CAA2B,KAAK3D,gBAAL,GAAwB6D,KAAnD,EAA0DA,KAA1D;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIF,EAAAA,qBAAqB,CAAC1iB,KAAD,EAAQ+iB,aAAR,EAAuB;AACxC,UAAM5B,KAAK,GAAG,KAAKC,cAAL,EAAd;;AACA,QAAI,CAACD,KAAK,CAACnhB,KAAD,CAAV,EAAmB;AACf;AACH;;AACD,WAAO,KAAKwf,gBAAL,CAAsB2B,KAAK,CAACnhB,KAAD,CAA3B,CAAP,EAA4C;AACxCA,MAAAA,KAAK,IAAI+iB,aAAT;;AACA,UAAI,CAAC5B,KAAK,CAACnhB,KAAD,CAAV,EAAmB;AACf;AACH;AACJ;;AACD,SAAKqhB,aAAL,CAAmBrhB,KAAnB;AACH;AACD;;;AACAohB,EAAAA,cAAc,GAAG;AACb,WAAO,KAAKtC,MAAL,YAAuBzG,oDAAvB,GAAmC,KAAKyG,MAAL,CAAYkB,OAAZ,EAAnC,GAA2D,KAAKlB,MAAvE;AACH;;AA3SgB;AA8SrB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMkE,0BAAN,SAAyCnE,cAAzC,CAAwD;AACpDwC,EAAAA,aAAa,CAACrhB,KAAD,EAAQ;AACjB,QAAI,KAAKwiB,UAAT,EAAqB;AACjB,WAAKA,UAAL,CAAgBS,iBAAhB;AACH;;AACD,UAAM5B,aAAN,CAAoBrhB,KAApB;;AACA,QAAI,KAAKwiB,UAAT,EAAqB;AACjB,WAAKA,UAAL,CAAgBU,eAAhB;AACH;AACJ;;AATmD;AAYxD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,eAAN,SAA8BtE,cAA9B,CAA6C;AACzCjkC,EAAAA,WAAW,GAAG;AACV,UAAM,GAAGwoC,SAAT;AACA,SAAKC,OAAL,GAAe,SAAf;AACH;AACD;AACJ;AACA;AACA;;;AACIC,EAAAA,cAAc,CAACC,MAAD,EAAS;AACnB,SAAKF,OAAL,GAAeE,MAAf;AACA,WAAO,IAAP;AACH;;AACDlC,EAAAA,aAAa,CAAC34B,IAAD,EAAO;AAChB,UAAM24B,aAAN,CAAoB34B,IAApB;;AACA,QAAI,KAAK85B,UAAT,EAAqB;AACjB,WAAKA,UAAL,CAAgBgB,KAAhB,CAAsB,KAAKH,OAA3B;AACH;AACJ;;AAlBwC;AAqB7C;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMI,iBAAN,CAAwB;AACpB7oC,EAAAA,WAAW,GAAG;AACV;AACR;AACA;AACQ,SAAK8oC,gBAAL,GAAwB,KAAxB;AACH;;AANmB,EAQxB;AACA;AACA;;AACA;AACA;AACA;AACA;;;IACMC;AAAN,QAAMA,oBAAN,CAA2B;AACvB/oC,IAAAA,WAAW,CAACgpC,SAAD,EAAY;AACnB,WAAKA,SAAL,GAAiBA,SAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIC,IAAAA,UAAU,CAAC1kC,OAAD,EAAU;AAChB;AACA;AACA,aAAOA,OAAO,CAAC2kC,YAAR,CAAqB,UAArB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIC,IAAAA,SAAS,CAAC5kC,OAAD,EAAU;AACf,aAAO6kC,WAAW,CAAC7kC,OAAD,CAAX,IAAwB+M,gBAAgB,CAAC/M,OAAD,CAAhB,CAA0B++B,UAA1B,KAAyC,SAAxE;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI+F,IAAAA,UAAU,CAAC9kC,OAAD,EAAU;AAChB;AACA,UAAI,CAAC,KAAKykC,SAAL,CAAeplC,SAApB,EAA+B;AAC3B,eAAO,KAAP;AACH;;AACD,YAAM0lC,YAAY,GAAGC,eAAe,CAACC,SAAS,CAACjlC,OAAD,CAAV,CAApC;;AACA,UAAI+kC,YAAJ,EAAkB;AACd;AACA,YAAIG,gBAAgB,CAACH,YAAD,CAAhB,KAAmC,CAAC,CAAxC,EAA2C;AACvC,iBAAO,KAAP;AACH,SAJa,CAKd;;;AACA,YAAI,CAAC,KAAKH,SAAL,CAAeG,YAAf,CAAL,EAAmC;AAC/B,iBAAO,KAAP;AACH;AACJ;;AACD,UAAII,QAAQ,GAAGnlC,OAAO,CAACmlC,QAAR,CAAiB55B,WAAjB,EAAf;AACA,UAAI65B,aAAa,GAAGF,gBAAgB,CAACllC,OAAD,CAApC;;AACA,UAAIA,OAAO,CAAC2kC,YAAR,CAAqB,iBAArB,CAAJ,EAA6C;AACzC,eAAOS,aAAa,KAAK,CAAC,CAA1B;AACH;;AACD,UAAID,QAAQ,KAAK,QAAb,IAAyBA,QAAQ,KAAK,QAA1C,EAAoD;AAChD;AACA;AACA;AACA,eAAO,KAAP;AACH,OA1Be,CA2BhB;;;AACA,UAAI,KAAKV,SAAL,CAAeY,MAAf,IAAyB,KAAKZ,SAAL,CAAea,GAAxC,IAA+C,CAACC,wBAAwB,CAACvlC,OAAD,CAA5E,EAAuF;AACnF,eAAO,KAAP;AACH;;AACD,UAAImlC,QAAQ,KAAK,OAAjB,EAA0B;AACtB;AACA;AACA,YAAI,CAACnlC,OAAO,CAAC2kC,YAAR,CAAqB,UAArB,CAAL,EAAuC;AACnC,iBAAO,KAAP;AACH,SALqB,CAMtB;AACA;;;AACA,eAAOS,aAAa,KAAK,CAAC,CAA1B;AACH;;AACD,UAAID,QAAQ,KAAK,OAAjB,EAA0B;AACtB;AACA;AACA;AACA;AACA,YAAIC,aAAa,KAAK,CAAC,CAAvB,EAA0B;AACtB,iBAAO,KAAP;AACH,SAPqB,CAQtB;AACA;;;AACA,YAAIA,aAAa,KAAK,IAAtB,EAA4B;AACxB,iBAAO,IAAP;AACH,SAZqB,CAatB;AACA;AACA;;;AACA,eAAO,KAAKX,SAAL,CAAee,OAAf,IAA0BxlC,OAAO,CAAC2kC,YAAR,CAAqB,UAArB,CAAjC;AACH;;AACD,aAAO3kC,OAAO,CAACylC,QAAR,IAAoB,CAA3B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIC,IAAAA,WAAW,CAAC1lC,OAAD,EAAU2lC,MAAV,EAAkB;AACzB;AACA;AACA,aAAOC,sBAAsB,CAAC5lC,OAAD,CAAtB,IAAmC,CAAC,KAAK0kC,UAAL,CAAgB1kC,OAAhB,CAApC,KACF,CAAC2lC,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACpB,gBAAxD,KAA6E,KAAKK,SAAL,CAAe5kC,OAAf,CAD3E,CAAP;AAEH;;AA1GsB;;AA4G3BwkC,EAAAA,oBAAoB,CAACl+B,IAArB,GAA4B,SAASu/B,4BAAT,CAAsCr/B,CAAtC,EAAyC;AAAE,WAAO,KAAKA,CAAC,IAAIg+B,oBAAV,EAAgCplC,sDAAA,CAAgB88B,2DAAhB,CAAhC,CAAP;AAA2E,GAAlJ;;AACAsI,EAAAA,oBAAoB,CAAC/9B,KAArB,GAA6BuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASi/B,4BAAT,GAAwC;AAAE,aAAO,IAAIrB,oBAAJ,CAAyBxL,sDAAA,CAAYyC,2DAAZ,CAAzB,CAAP;AAA4D,KAAjH;AAAmH90B,IAAAA,KAAK,EAAE69B,oBAA1H;AAAgJ/E,IAAAA,UAAU,EAAE;AAA5J,GAAtB,CAA7B;SA7GM+E;;;AAiHN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO39B,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGsD,CAHrE;AAIA;AACA;AACA;AACA;AACA;;;AACA,SAASm+B,eAAT,CAAyB1lC,MAAzB,EAAiC;AAC7B,MAAI;AACA,WAAOA,MAAM,CAACylC,YAAd;AACH,GAFD,CAGA,OAAOjP,EAAP,EAAW;AACP,WAAO,IAAP;AACH;AACJ;AACD;;;AACA,SAAS+O,WAAT,CAAqB7kC,OAArB,EAA8B;AAC1B;AACA;AACA,SAAO,CAAC,EAAEA,OAAO,CAAC8lC,WAAR,IAAuB9lC,OAAO,CAAC+lC,YAA/B,IACL,OAAO/lC,OAAO,CAACgmC,cAAf,KAAkC,UAAlC,IAAgDhmC,OAAO,CAACgmC,cAAR,GAAyBpoC,MADtE,CAAR;AAEH;AACD;;;AACA,SAASqoC,mBAAT,CAA6BjmC,OAA7B,EAAsC;AAClC,MAAImlC,QAAQ,GAAGnlC,OAAO,CAACmlC,QAAR,CAAiB55B,WAAjB,EAAf;AACA,SAAO45B,QAAQ,KAAK,OAAb,IACHA,QAAQ,KAAK,QADV,IAEHA,QAAQ,KAAK,QAFV,IAGHA,QAAQ,KAAK,UAHjB;AAIH;AACD;;;AACA,SAASe,aAAT,CAAuBlmC,OAAvB,EAAgC;AAC5B,SAAOmmC,cAAc,CAACnmC,OAAD,CAAd,IAA2BA,OAAO,CAACnG,IAAR,IAAgB,QAAlD;AACH;AACD;;;AACA,SAASusC,gBAAT,CAA0BpmC,OAA1B,EAAmC;AAC/B,SAAOqmC,eAAe,CAACrmC,OAAD,CAAf,IAA4BA,OAAO,CAAC2kC,YAAR,CAAqB,MAArB,CAAnC;AACH;AACD;;;AACA,SAASwB,cAAT,CAAwBnmC,OAAxB,EAAiC;AAC7B,SAAOA,OAAO,CAACmlC,QAAR,CAAiB55B,WAAjB,MAAkC,OAAzC;AACH;AACD;;;AACA,SAAS86B,eAAT,CAAyBrmC,OAAzB,EAAkC;AAC9B,SAAOA,OAAO,CAACmlC,QAAR,CAAiB55B,WAAjB,MAAkC,GAAzC;AACH;AACD;;;AACA,SAAS+6B,gBAAT,CAA0BtmC,OAA1B,EAAmC;AAC/B,MAAI,CAACA,OAAO,CAAC2kC,YAAR,CAAqB,UAArB,CAAD,IAAqC3kC,OAAO,CAACylC,QAAR,KAAqB1jC,SAA9D,EAAyE;AACrE,WAAO,KAAP;AACH;;AACD,MAAI0jC,QAAQ,GAAGzlC,OAAO,CAAC88B,YAAR,CAAqB,UAArB,CAAf,CAJ+B,CAK/B;;AACA,MAAI2I,QAAQ,IAAI,QAAhB,EAA0B;AACtB,WAAO,KAAP;AACH;;AACD,SAAO,CAAC,EAAEA,QAAQ,IAAI,CAACc,KAAK,CAACC,QAAQ,CAACf,QAAD,EAAW,EAAX,CAAT,CAApB,CAAR;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASP,gBAAT,CAA0BllC,OAA1B,EAAmC;AAC/B,MAAI,CAACsmC,gBAAgB,CAACtmC,OAAD,CAArB,EAAgC;AAC5B,WAAO,IAAP;AACH,GAH8B,CAI/B;;;AACA,QAAMylC,QAAQ,GAAGe,QAAQ,CAACxmC,OAAO,CAAC88B,YAAR,CAAqB,UAArB,KAAoC,EAArC,EAAyC,EAAzC,CAAzB;AACA,SAAOyJ,KAAK,CAACd,QAAD,CAAL,GAAkB,CAAC,CAAnB,GAAuBA,QAA9B;AACH;AACD;;;AACA,SAASF,wBAAT,CAAkCvlC,OAAlC,EAA2C;AACvC,MAAImlC,QAAQ,GAAGnlC,OAAO,CAACmlC,QAAR,CAAiB55B,WAAjB,EAAf;AACA,MAAIk7B,SAAS,GAAGtB,QAAQ,KAAK,OAAb,IAAwBnlC,OAAO,CAACnG,IAAhD;AACA,SAAO4sC,SAAS,KAAK,MAAd,IACAA,SAAS,KAAK,UADd,IAEAtB,QAAQ,KAAK,QAFb,IAGAA,QAAQ,KAAK,UAHpB;AAIH;AACD;AACA;AACA;AACA;;;AACA,SAASS,sBAAT,CAAgC5lC,OAAhC,EAAyC;AACrC;AACA,MAAIkmC,aAAa,CAAClmC,OAAD,CAAjB,EAA4B;AACxB,WAAO,KAAP;AACH;;AACD,SAAOimC,mBAAmB,CAACjmC,OAAD,CAAnB,IACHomC,gBAAgB,CAACpmC,OAAD,CADb,IAEHA,OAAO,CAAC2kC,YAAR,CAAqB,iBAArB,CAFG,IAGH2B,gBAAgB,CAACtmC,OAAD,CAHpB;AAIH;AACD;;;AACA,SAASilC,SAAT,CAAmBj5B,IAAnB,EAAyB;AACrB;AACA,SAAOA,IAAI,CAAC06B,aAAL,IAAsB16B,IAAI,CAAC06B,aAAL,CAAmBC,WAAzC,IAAwDrnC,MAA/D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMsnC,SAAN,CAAgB;AACZnrC,EAAAA,WAAW,CAACg1B,QAAD,EAAWoW,QAAX,EAAqBC,OAArB,EAA8BxJ,SAA9B,EAAyCyJ,YAAY,GAAG,KAAxD,EAA+D;AACtE,SAAKtW,QAAL,GAAgBA,QAAhB;AACA,SAAKoW,QAAL,GAAgBA,QAAhB;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKxJ,SAAL,GAAiBA,SAAjB;AACA,SAAK0J,YAAL,GAAoB,KAApB,CALsE,CAMtE;;AACA,SAAKC,mBAAL,GAA2B,MAAM,KAAKC,wBAAL,EAAjC;;AACA,SAAKC,iBAAL,GAAyB,MAAM,KAAKC,yBAAL,EAA/B;;AACA,SAAKC,QAAL,GAAgB,IAAhB;;AACA,QAAI,CAACN,YAAL,EAAmB;AACf,WAAKO,aAAL;AACH;AACJ;AACD;;;AACW,MAAPlG,OAAO,GAAG;AAAE,WAAO,KAAKiG,QAAZ;AAAuB;;AAC5B,MAAPjG,OAAO,CAAC/+B,KAAD,EAAQ;AACf,SAAKglC,QAAL,GAAgBhlC,KAAhB;;AACA,QAAI,KAAKklC,YAAL,IAAqB,KAAKC,UAA9B,EAA0C;AACtC,WAAKC,qBAAL,CAA2BplC,KAA3B,EAAkC,KAAKklC,YAAvC;;AACA,WAAKE,qBAAL,CAA2BplC,KAA3B,EAAkC,KAAKmlC,UAAvC;AACH;AACJ;AACD;;;AACApqC,EAAAA,OAAO,GAAG;AACN,UAAMsqC,WAAW,GAAG,KAAKH,YAAzB;AACA,UAAMI,SAAS,GAAG,KAAKH,UAAvB;;AACA,QAAIE,WAAJ,EAAiB;AACbA,MAAAA,WAAW,CAACpU,mBAAZ,CAAgC,OAAhC,EAAyC,KAAK2T,mBAA9C;;AACA,UAAIS,WAAW,CAAC5jC,UAAhB,EAA4B;AACxB4jC,QAAAA,WAAW,CAAC5jC,UAAZ,CAAuBuyB,WAAvB,CAAmCqR,WAAnC;AACH;AACJ;;AACD,QAAIC,SAAJ,EAAe;AACXA,MAAAA,SAAS,CAACrU,mBAAV,CAA8B,OAA9B,EAAuC,KAAK6T,iBAA5C;;AACA,UAAIQ,SAAS,CAAC7jC,UAAd,EAA0B;AACtB6jC,QAAAA,SAAS,CAAC7jC,UAAV,CAAqBuyB,WAArB,CAAiCsR,SAAjC;AACH;AACJ;;AACD,SAAKJ,YAAL,GAAoB,KAAKC,UAAL,GAAkB,IAAtC;AACA,SAAKR,YAAL,GAAoB,KAApB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIM,EAAAA,aAAa,GAAG;AACZ;AACA,QAAI,KAAKN,YAAT,EAAuB;AACnB,aAAO,IAAP;AACH;;AACD,SAAKF,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACjC,UAAI,CAAC,KAAKL,YAAV,EAAwB;AACpB,aAAKA,YAAL,GAAoB,KAAKM,aAAL,EAApB;;AACA,aAAKN,YAAL,CAAkBhU,gBAAlB,CAAmC,OAAnC,EAA4C,KAAK0T,mBAAjD;AACH;;AACD,UAAI,CAAC,KAAKO,UAAV,EAAsB;AAClB,aAAKA,UAAL,GAAkB,KAAKK,aAAL,EAAlB;;AACA,aAAKL,UAAL,CAAgBjU,gBAAhB,CAAiC,OAAjC,EAA0C,KAAK4T,iBAA/C;AACH;AACJ,KATD;;AAUA,QAAI,KAAK1W,QAAL,CAAc3sB,UAAlB,EAA8B;AAC1B,WAAK2sB,QAAL,CAAc3sB,UAAd,CAAyBgkB,YAAzB,CAAsC,KAAKyf,YAA3C,EAAyD,KAAK9W,QAA9D;;AACA,WAAKA,QAAL,CAAc3sB,UAAd,CAAyBgkB,YAAzB,CAAsC,KAAK0f,UAA3C,EAAuD,KAAK/W,QAAL,CAAcqX,WAArE;;AACA,WAAKd,YAAL,GAAoB,IAApB;AACH;;AACD,WAAO,KAAKA,YAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIe,EAAAA,4BAA4B,CAACjuC,OAAD,EAAU;AAClC,WAAO,IAAIuB,OAAJ,CAAYC,OAAO,IAAI;AAC1B,WAAK0sC,gBAAL,CAAsB,MAAM1sC,OAAO,CAAC,KAAK2sC,mBAAL,CAAyBnuC,OAAzB,CAAD,CAAnC;AACH,KAFM,CAAP;AAGH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIouC,EAAAA,kCAAkC,CAACpuC,OAAD,EAAU;AACxC,WAAO,IAAIuB,OAAJ,CAAYC,OAAO,IAAI;AAC1B,WAAK0sC,gBAAL,CAAsB,MAAM1sC,OAAO,CAAC,KAAK8rC,yBAAL,CAA+BttC,OAA/B,CAAD,CAAnC;AACH,KAFM,CAAP;AAGH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIquC,EAAAA,iCAAiC,CAACruC,OAAD,EAAU;AACvC,WAAO,IAAIuB,OAAJ,CAAYC,OAAO,IAAI;AAC1B,WAAK0sC,gBAAL,CAAsB,MAAM1sC,OAAO,CAAC,KAAK4rC,wBAAL,CAA8BptC,OAA9B,CAAD,CAAnC;AACH,KAFM,CAAP;AAGH;AACD;AACJ;AACA;AACA;AACA;;;AACIsuC,EAAAA,kBAAkB,CAACC,KAAD,EAAQ;AACtB;AACA,QAAIC,OAAO,GAAG,KAAK7X,QAAL,CAAc9rB,gBAAd,CAAgC,qBAAoB0jC,KAAM,KAA3B,GACxC,kBAAiBA,KAAM,KADiB,GAExC,cAAaA,KAAM,GAFV,CAAd;;AAGA,SAAK,IAAIzjC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0jC,OAAO,CAAC1qC,MAA5B,EAAoCgH,CAAC,EAArC,EAAyC;AACrC;AACA,UAAI0jC,OAAO,CAAC1jC,CAAD,CAAP,CAAW+/B,YAAX,CAAyB,aAAY0D,KAAM,EAA3C,CAAJ,EAAmD;AAC/C9R,QAAAA,OAAO,CAACC,IAAR,CAAc,gDAA+C6R,KAAM,KAAtD,GACR,sBAAqBA,KAAM,4BADnB,GAER,qCAFL,EAE2CC,OAAO,CAAC1jC,CAAD,CAFlD;AAGH,OAJD,MAKK,IAAI0jC,OAAO,CAAC1jC,CAAD,CAAP,CAAW+/B,YAAX,CAAyB,oBAAmB0D,KAAM,EAAlD,CAAJ,EAA0D;AAC3D9R,QAAAA,OAAO,CAACC,IAAR,CAAc,uDAAsD6R,KAAM,KAA7D,GACR,sBAAqBA,KAAM,sCADnB,GAER,2BAFL,EAEiCC,OAAO,CAAC1jC,CAAD,CAFxC;AAGH;AACJ;;AACD,QAAIyjC,KAAK,IAAI,OAAb,EAAsB;AAClB,aAAOC,OAAO,CAAC1qC,MAAR,GAAiB0qC,OAAO,CAAC,CAAD,CAAxB,GAA8B,KAAKC,wBAAL,CAA8B,KAAK9X,QAAnC,CAArC;AACH;;AACD,WAAO6X,OAAO,CAAC1qC,MAAR,GACH0qC,OAAO,CAACA,OAAO,CAAC1qC,MAAR,GAAiB,CAAlB,CADJ,GAC2B,KAAK4qC,uBAAL,CAA6B,KAAK/X,QAAlC,CADlC;AAEH;AACD;AACJ;AACA;AACA;;;AACIwX,EAAAA,mBAAmB,CAACnuC,OAAD,EAAU;AACzB;AACA,UAAM2uC,iBAAiB,GAAG,KAAKhY,QAAL,CAAc3rB,aAAd,CAA6B,uBAAD,GACjD,mBADqB,CAA1B;;AAEA,QAAI2jC,iBAAJ,EAAuB;AACnB;AACA,UAAIA,iBAAiB,CAAC9D,YAAlB,CAAgC,mBAAhC,CAAJ,EAAyD;AACrDpO,QAAAA,OAAO,CAACC,IAAR,CAAc,yDAAD,GACR,0DADQ,GAER,0BAFL,EAEgCiS,iBAFhC;AAGH,OANkB,CAOnB;AACA;;;AACA,UAAI,CAAC,OAAO5hC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KACA,CAAC,KAAKggC,QAAL,CAAcnB,WAAd,CAA0B+C,iBAA1B,CADL,EACmD;AAC/ClS,QAAAA,OAAO,CAACC,IAAR,CAAc,wDAAd,EAAuEiS,iBAAvE;AACH;;AACD,UAAI,CAAC,KAAK5B,QAAL,CAAcnB,WAAd,CAA0B+C,iBAA1B,CAAL,EAAmD;AAC/C,cAAMC,cAAc,GAAG,KAAKH,wBAAL,CAA8BE,iBAA9B,CAAvB;;AACAC,QAAAA,cAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,cAAc,CAACrE,KAAf,CAAqBvqC,OAArB,CAAhE;AACA,eAAO,CAAC,CAAC4uC,cAAT;AACH;;AACDD,MAAAA,iBAAiB,CAACpE,KAAlB,CAAwBvqC,OAAxB;AACA,aAAO,IAAP;AACH;;AACD,WAAO,KAAKstC,yBAAL,CAA+BttC,OAA/B,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIstC,EAAAA,yBAAyB,CAACttC,OAAD,EAAU;AAC/B,UAAM2uC,iBAAiB,GAAG,KAAKL,kBAAL,CAAwB,OAAxB,CAA1B;;AACA,QAAIK,iBAAJ,EAAuB;AACnBA,MAAAA,iBAAiB,CAACpE,KAAlB,CAAwBvqC,OAAxB;AACH;;AACD,WAAO,CAAC,CAAC2uC,iBAAT;AACH;AACD;AACJ;AACA;AACA;;;AACIvB,EAAAA,wBAAwB,CAACptC,OAAD,EAAU;AAC9B,UAAM2uC,iBAAiB,GAAG,KAAKL,kBAAL,CAAwB,KAAxB,CAA1B;;AACA,QAAIK,iBAAJ,EAAuB;AACnBA,MAAAA,iBAAiB,CAACpE,KAAlB,CAAwBvqC,OAAxB;AACH;;AACD,WAAO,CAAC,CAAC2uC,iBAAT;AACH;AACD;AACJ;AACA;;;AACIE,EAAAA,WAAW,GAAG;AACV,WAAO,KAAK3B,YAAZ;AACH;AACD;;;AACAuB,EAAAA,wBAAwB,CAAC5e,IAAD,EAAO;AAC3B,QAAI,KAAKkd,QAAL,CAAcnB,WAAd,CAA0B/b,IAA1B,KAAmC,KAAKkd,QAAL,CAAc/B,UAAd,CAAyBnb,IAAzB,CAAvC,EAAuE;AACnE,aAAOA,IAAP;AACH,KAH0B,CAI3B;AACA;;;AACA,QAAIif,QAAQ,GAAGjf,IAAI,CAACif,QAAL,IAAiBjf,IAAI,CAAC4U,UAArC;;AACA,SAAK,IAAI35B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgkC,QAAQ,CAAChrC,MAA7B,EAAqCgH,CAAC,EAAtC,EAA0C;AACtC,UAAIikC,aAAa,GAAGD,QAAQ,CAAChkC,CAAD,CAAR,CAAYy6B,QAAZ,KAAyB,KAAK/B,SAAL,CAAegC,YAAxC,GAChB,KAAKiJ,wBAAL,CAA8BK,QAAQ,CAAChkC,CAAD,CAAtC,CADgB,GAEhB,IAFJ;;AAGA,UAAIikC,aAAJ,EAAmB;AACf,eAAOA,aAAP;AACH;AACJ;;AACD,WAAO,IAAP;AACH;AACD;;;AACAL,EAAAA,uBAAuB,CAAC7e,IAAD,EAAO;AAC1B,QAAI,KAAKkd,QAAL,CAAcnB,WAAd,CAA0B/b,IAA1B,KAAmC,KAAKkd,QAAL,CAAc/B,UAAd,CAAyBnb,IAAzB,CAAvC,EAAuE;AACnE,aAAOA,IAAP;AACH,KAHyB,CAI1B;;;AACA,QAAIif,QAAQ,GAAGjf,IAAI,CAACif,QAAL,IAAiBjf,IAAI,CAAC4U,UAArC;;AACA,SAAK,IAAI35B,CAAC,GAAGgkC,QAAQ,CAAChrC,MAAT,GAAkB,CAA/B,EAAkCgH,CAAC,IAAI,CAAvC,EAA0CA,CAAC,EAA3C,EAA+C;AAC3C,UAAIikC,aAAa,GAAGD,QAAQ,CAAChkC,CAAD,CAAR,CAAYy6B,QAAZ,KAAyB,KAAK/B,SAAL,CAAegC,YAAxC,GAChB,KAAKkJ,uBAAL,CAA6BI,QAAQ,CAAChkC,CAAD,CAArC,CADgB,GAEhB,IAFJ;;AAGA,UAAIikC,aAAJ,EAAmB;AACf,eAAOA,aAAP;AACH;AACJ;;AACD,WAAO,IAAP;AACH;AACD;;;AACAhB,EAAAA,aAAa,GAAG;AACZ,UAAMiB,MAAM,GAAG,KAAKxL,SAAL,CAAelI,aAAf,CAA6B,KAA7B,CAAf;;AACA,SAAKqS,qBAAL,CAA2B,KAAKJ,QAAhC,EAA0CyB,MAA1C;;AACAA,IAAAA,MAAM,CAACha,SAAP,CAAiB7e,GAAjB,CAAqB,qBAArB;AACA64B,IAAAA,MAAM,CAACha,SAAP,CAAiB7e,GAAjB,CAAqB,uBAArB;AACA64B,IAAAA,MAAM,CAACl/B,YAAP,CAAoB,aAApB,EAAmC,MAAnC;AACA,WAAOk/B,MAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIrB,EAAAA,qBAAqB,CAACsB,SAAD,EAAYD,MAAZ,EAAoB;AACrC;AACA;AACAC,IAAAA,SAAS,GAAGD,MAAM,CAACl/B,YAAP,CAAoB,UAApB,EAAgC,GAAhC,CAAH,GAA0Ck/B,MAAM,CAACjM,eAAP,CAAuB,UAAvB,CAAnD;AACH;AACD;AACJ;AACA;AACA;;;AACImM,EAAAA,aAAa,CAAC5H,OAAD,EAAU;AACnB,QAAI,KAAKmG,YAAL,IAAqB,KAAKC,UAA9B,EAA0C;AACtC,WAAKC,qBAAL,CAA2BrG,OAA3B,EAAoC,KAAKmG,YAAzC;;AACA,WAAKE,qBAAL,CAA2BrG,OAA3B,EAAoC,KAAKoG,UAAzC;AACH;AACJ;AACD;;;AACAQ,EAAAA,gBAAgB,CAACzrC,EAAD,EAAK;AACjB,QAAI,KAAKuqC,OAAL,CAAamC,QAAjB,EAA2B;AACvB1sC,MAAAA,EAAE;AACL,KAFD,MAGK;AACD,WAAKuqC,OAAL,CAAaoC,QAAb,CAAsBrH,IAAtB,CAA2B1G,qDAAI,CAAC,CAAD,CAA/B,EAAoCuF,SAApC,CAA8CnkC,EAA9C;AACH;AACJ;;AAxQW;AA0QhB;AACA;AACA;AACA;AACA;;;IACM4sC;AAAN,QAAMA,gBAAN,CAAuB;AACnB1tC,IAAAA,WAAW,CAACorC,QAAD,EAAWC,OAAX,EAAoBxJ,SAApB,EAA+B;AACtC,WAAKuJ,QAAL,GAAgBA,QAAhB;AACA,WAAKC,OAAL,GAAeA,OAAf;AACA,WAAKxJ,SAAL,GAAiBA,SAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIzjB,IAAAA,MAAM,CAAC7Z,OAAD,EAAUopC,oBAAoB,GAAG,KAAjC,EAAwC;AAC1C,aAAO,IAAIxC,SAAJ,CAAc5mC,OAAd,EAAuB,KAAK6mC,QAA5B,EAAsC,KAAKC,OAA3C,EAAoD,KAAKxJ,SAAzD,EAAoE8L,oBAApE,CAAP;AACH;;AAfkB;;AAiBvBD,EAAAA,gBAAgB,CAAC7iC,IAAjB,GAAwB,SAAS+iC,wBAAT,CAAkC7iC,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAI2iC,gBAAV,EAA4B/pC,sDAAA,CAAgBolC,oBAAhB,CAA5B,EAAmEplC,sDAAA,CAAgBA,iDAAhB,CAAnE,EAAmGA,sDAAA,CAAgB25B,qDAAhB,CAAnG,CAAP;AAAuI,GAAtM;;AACAoQ,EAAAA,gBAAgB,CAAC1iC,KAAjB,GAAyBuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASyiC,wBAAT,GAAoC;AAAE,aAAO,IAAIF,gBAAJ,CAAqBnQ,sDAAA,CAAYwL,oBAAZ,CAArB,EAAwDxL,sDAAA,CAAYA,iDAAZ,CAAxD,EAAgFA,sDAAA,CAAYF,qDAAZ,CAAhF,CAAP;AAAmH,KAApK;AAAsKnyB,IAAAA,KAAK,EAAEwiC,gBAA7K;AAA+L1J,IAAAA,UAAU,EAAE;AAA3M,GAAtB,CAAzB;SAlBM0J;;;AAwBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOtiC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAOA;;;IACMyiC;AAAN,QAAMA,YAAN,CAAmB;AACf7tC,IAAAA,WAAW,CAAC8tC,WAAD,EAAcC,iBAAd;AACX;AACJ;AACA;AACA;AACIlM,IAAAA,SALW,EAKA;AACP,WAAKiM,WAAL,GAAmBA,WAAnB;AACA,WAAKC,iBAAL,GAAyBA,iBAAzB;AACA;;AACA,WAAKC,yBAAL,GAAiC,IAAjC;AACA,WAAKC,SAAL,GAAiB,KAAKF,iBAAL,CAAuB3vB,MAAvB,CAA8B,KAAK0vB,WAAL,CAAiBI,aAA/C,EAA8D,IAA9D,CAAjB;AACH;AACD;;;AACW,QAAPvI,OAAO,GAAG;AAAE,aAAO,KAAKsI,SAAL,CAAetI,OAAtB;AAAgC;;AACrC,QAAPA,OAAO,CAAC/+B,KAAD,EAAQ;AAAE,WAAKqnC,SAAL,CAAetI,OAAf,GAAyB7F,6EAAqB,CAACl5B,KAAD,CAA9C;AAAwD;AAC7E;AACJ;AACA;AACA;;;AACmB,QAAXunC,WAAW,GAAG;AAAE,aAAO,KAAKC,YAAZ;AAA2B;;AAChC,QAAXD,WAAW,CAACvnC,KAAD,EAAQ;AAAE,WAAKwnC,YAAL,GAAoBtO,6EAAqB,CAACl5B,KAAD,CAAzC;AAAmD;;AAC5Eo8B,IAAAA,WAAW,GAAG;AACV,WAAKiL,SAAL,CAAetsC,OAAf,GADU,CAEV;AACA;;AACA,UAAI,KAAKqsC,yBAAT,EAAoC;AAChC,aAAKA,yBAAL,CAA+BpF,KAA/B;;AACA,aAAKoF,yBAAL,GAAiC,IAAjC;AACH;AACJ;;AACDK,IAAAA,kBAAkB,GAAG;AACjB,WAAKJ,SAAL,CAAepC,aAAf;;AACA,UAAI,KAAKsC,WAAT,EAAsB;AAClB,aAAKG,aAAL;AACH;AACJ;;AACDC,IAAAA,SAAS,GAAG;AACR,UAAI,CAAC,KAAKN,SAAL,CAAef,WAAf,EAAL,EAAmC;AAC/B,aAAKe,SAAL,CAAepC,aAAf;AACH;AACJ;;AACD2C,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,YAAMyJ,iBAAiB,GAAGzJ,OAAO,CAAC,aAAD,CAAjC;;AACA,UAAIyJ,iBAAiB,IAAI,CAACA,iBAAiB,CAACC,WAAxC,IAAuD,KAAKP,WAA5D,IACA,KAAKF,SAAL,CAAef,WAAf,EADJ,EACkC;AAC9B,aAAKoB,aAAL;AACH;AACJ;;AACDA,IAAAA,aAAa,GAAG;AACZ,WAAKN,yBAAL,GAAiC9N,wFAAiC,EAAlE;AACA,WAAK+N,SAAL,CAAe3B,4BAAf;AACH;;AApDc;;AAsDnBuB,EAAAA,YAAY,CAAChjC,IAAb,GAAoB,SAAS8jC,oBAAT,CAA8B5jC,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAI8iC,YAAV,EAAwBlqC,+DAAA,CAAyBA,qDAAzB,CAAxB,EAAqEA,+DAAA,CAAyB+pC,gBAAzB,CAArE,EAAiH/pC,+DAAA,CAAyB25B,qDAAzB,CAAjH,CAAP;AAA8J,GAArN;;AACAuQ,EAAAA,YAAY,CAACgB,IAAb,GAAoB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEyvC,YAAR;AAAsBkB,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,cAAL,EAAqB,EAArB,CAAD,CAAjC;AAA6DC,IAAAA,MAAM,EAAE;AAAErJ,MAAAA,OAAO,EAAE,CAAC,cAAD,EAAiB,SAAjB,CAAX;AAAwCwI,MAAAA,WAAW,EAAE,CAAC,yBAAD,EAA4B,aAA5B;AAArD,KAArE;AAAwKc,IAAAA,QAAQ,EAAE,CAAC,cAAD,CAAlL;AAAoMC,IAAAA,QAAQ,EAAE,CAACvrC,kEAAD;AAA9M,GAAzB,CAAlC;SAvDMkqC;;;AAiEN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOziC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAeC,CAfhB;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgkC,qBAAN,SAAoCjE,SAApC,CAA8C;AAC1CnrC,EAAAA,WAAW,CAACg1B,QAAD,EAAWoW,QAAX,EAAqBC,OAArB,EAA8BxJ,SAA9B,EAAyCwN,iBAAzC,EAA4DC,cAA5D,EAA4EpF,MAA5E,EAAoF;AAC3F,UAAMlV,QAAN,EAAgBoW,QAAhB,EAA0BC,OAA1B,EAAmCxJ,SAAnC,EAA8CqI,MAAM,CAACqF,KAArD;AACA,SAAKF,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;;AACA,SAAKD,iBAAL,CAAuBtqB,QAAvB,CAAgC,IAAhC;AACH;AACD;;;AACW,MAAP4gB,OAAO,GAAG;AAAE,WAAO,KAAKiG,QAAZ;AAAuB;;AAC5B,MAAPjG,OAAO,CAAC/+B,KAAD,EAAQ;AACf,SAAKglC,QAAL,GAAgBhlC,KAAhB;;AACA,QAAI,KAAKglC,QAAT,EAAmB;AACf,WAAKyD,iBAAL,CAAuBtqB,QAAvB,CAAgC,IAAhC;AACH,KAFD,MAGK;AACD,WAAKsqB,iBAAL,CAAuB/mB,UAAvB,CAAkC,IAAlC;AACH;AACJ;AACD;;;AACA3mB,EAAAA,OAAO,GAAG;AACN,SAAK0tC,iBAAL,CAAuB/mB,UAAvB,CAAkC,IAAlC;;AACA,UAAM3mB,OAAN;AACH;AACD;;;AACA6tC,EAAAA,OAAO,GAAG;AACN,SAAKF,cAAL,CAAoBG,YAApB,CAAiC,IAAjC;;AACA,SAAKlC,aAAL,CAAmB,IAAnB;AACH;AACD;;;AACAmC,EAAAA,QAAQ,GAAG;AACP,SAAKJ,cAAL,CAAoBK,UAApB,CAA+B,IAA/B;;AACA,SAAKpC,aAAL,CAAmB,KAAnB;AACH;;AAhCyC;AAmC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMqC,yBAAyB,gBAAG,IAAI9R,yDAAJ,CAAmB,2BAAnB,CAAlC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA,SAAS+R,OAAT,CAAiBtrC,OAAjB,EAA0B/E,QAA1B,EAAoC;AAChC,MAAI,EAAE+E,OAAO,YAAYurC,IAArB,CAAJ,EAAgC;AAC5B,WAAO,IAAP;AACH;;AACD,MAAIC,IAAI,GAAGxrC,OAAX;;AACA,SAAOwrC,IAAI,IAAI,IAAR,IAAgB,EAAEA,IAAI,YAAY7nC,OAAlB,CAAvB,EAAmD;AAC/C6nC,IAAAA,IAAI,GAAGA,IAAI,CAAC1nC,UAAZ;AACH;;AACD,SAAO0nC,IAAI,KAAKC,gBAAgB,GAC5BD,IAAI,CAACF,OAAL,CAAarwC,QAAb,CAD4B,GACHywC,eAAe,CAACF,IAAD,EAAOvwC,QAAP,CADjC,CAAX;AAEH;AACD;;;AACA,SAASywC,eAAT,CAAyB1rC,OAAzB,EAAkC/E,QAAlC,EAA4C;AACxC,MAAIuwC,IAAI,GAAGxrC,OAAX;;AACA,SAAOwrC,IAAI,IAAI,IAAR,IAAgB,EAAEA,IAAI,YAAY7nC,OAAhB,IAA2BM,OAAO,CAACunC,IAAD,EAAOvwC,QAAP,CAApC,CAAvB,EAA8E;AAC1EuwC,IAAAA,IAAI,GAAGA,IAAI,CAAC1nC,UAAZ;AACH;;AACD,SAAQ0nC,IAAI,IAAI,IAAhB;AACH;;AACD,MAAMC,gBAAgB,GAAG,OAAO9nC,OAAP,IAAkB,WAAlB,IAAiC,CAAC,CAACA,OAAO,CAACK,SAAR,CAAkBsnC,OAA9E;AACA;;AACA,SAASrnC,OAAT,CAAiBjE,OAAjB,EAA0B/E,QAA1B,EAAoC;AAChC,SAAO+E,OAAO,CAACiE,OAAR,GACHjE,OAAO,CAACiE,OAAR,CAAgBhJ,QAAhB,CADG,GAEH+E,OAAO,CAAC,mBAAD,CAAP,CAA6B/E,QAA7B,CAFJ;AAGH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM0wC,mCAAN,CAA0C;AACtClwC,EAAAA,WAAW,GAAG;AACV;AACA,SAAKmwC,SAAL,GAAiB,IAAjB;AACH;AACD;;;AACAV,EAAAA,YAAY,CAACxB,SAAD,EAAY;AACpB;AACA,QAAI,KAAKkC,SAAT,EAAoB;AAChBlC,MAAAA,SAAS,CAACpM,SAAV,CAAoBhK,mBAApB,CAAwC,OAAxC,EAAiD,KAAKsY,SAAtD,EAAiE,IAAjE;AACH;;AACD,SAAKA,SAAL,GAAkBnqC,CAAD,IAAO,KAAKoqC,UAAL,CAAgBnC,SAAhB,EAA2BjoC,CAA3B,CAAxB;;AACAioC,IAAAA,SAAS,CAAC5C,OAAV,CAAkBc,iBAAlB,CAAoC,MAAM;AACtC8B,MAAAA,SAAS,CAACpM,SAAV,CAAoB/J,gBAApB,CAAqC,OAArC,EAA8C,KAAKqY,SAAnD,EAA8D,IAA9D;AACH,KAFD;AAGH;AACD;;;AACAR,EAAAA,UAAU,CAAC1B,SAAD,EAAY;AAClB,QAAI,CAAC,KAAKkC,SAAV,EAAqB;AACjB;AACH;;AACDlC,IAAAA,SAAS,CAACpM,SAAV,CAAoBhK,mBAApB,CAAwC,OAAxC,EAAiD,KAAKsY,SAAtD,EAAiE,IAAjE;;AACA,SAAKA,SAAL,GAAiB,IAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIC,EAAAA,UAAU,CAACnC,SAAD,EAAYpoC,KAAZ,EAAmB;AACzB,UAAMsX,MAAM,GAAGtX,KAAK,CAACsX,MAArB;AACA,UAAMkzB,aAAa,GAAGpC,SAAS,CAACjZ,QAAhC,CAFyB,CAGzB;AACA;;AACA,QAAI,CAACqb,aAAa,CAACloC,QAAd,CAAuBgV,MAAvB,CAAD,IAAmC0yB,OAAO,CAAC1yB,MAAD,EAAS,sBAAT,CAAP,KAA4C,IAAnF,EAAyF;AACrF;AACA;AACA;AACAmzB,MAAAA,UAAU,CAAC,MAAM;AACb;AACA,YAAIrC,SAAS,CAACtI,OAAV,IAAqB,CAAC0K,aAAa,CAACloC,QAAd,CAAuB8lC,SAAS,CAACpM,SAAV,CAAoB0O,aAA3C,CAA1B,EAAqF;AACjFtC,UAAAA,SAAS,CAACtC,yBAAV;AACH;AACJ,OALS,CAAV;AAMH;AACJ;;AA/CqC;AAkD1C;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACM6E;AAAN,QAAMA,gBAAN,CAAuB;AACnBxwC,IAAAA,WAAW,GAAG;AACV;AACA;AACA,WAAKywC,eAAL,GAAuB,EAAvB;AACH;AACD;AACJ;AACA;AACA;;;AACI1rB,IAAAA,QAAQ,CAACkpB,SAAD,EAAY;AAChB;AACA,WAAKwC,eAAL,GAAuB,KAAKA,eAAL,CAAqB32B,MAArB,CAA6B42B,EAAD,IAAQA,EAAE,KAAKzC,SAA3C,CAAvB;AACA,UAAI0C,KAAK,GAAG,KAAKF,eAAjB;;AACA,UAAIE,KAAK,CAACxuC,MAAV,EAAkB;AACdwuC,QAAAA,KAAK,CAACA,KAAK,CAACxuC,MAAN,GAAe,CAAhB,CAAL,CAAwButC,QAAxB;AACH;;AACDiB,MAAAA,KAAK,CAAC3vC,IAAN,CAAWitC,SAAX;;AACAA,MAAAA,SAAS,CAACuB,OAAV;AACH;AACD;AACJ;AACA;AACA;;;AACIlnB,IAAAA,UAAU,CAAC2lB,SAAD,EAAY;AAClBA,MAAAA,SAAS,CAACyB,QAAV;;AACA,YAAMiB,KAAK,GAAG,KAAKF,eAAnB;AACA,YAAMtnC,CAAC,GAAGwnC,KAAK,CAACxpC,OAAN,CAAc8mC,SAAd,CAAV;;AACA,UAAI9kC,CAAC,KAAK,CAAC,CAAX,EAAc;AACVwnC,QAAAA,KAAK,CAAC1jC,MAAN,CAAa9D,CAAb,EAAgB,CAAhB;;AACA,YAAIwnC,KAAK,CAACxuC,MAAV,EAAkB;AACdwuC,UAAAA,KAAK,CAACA,KAAK,CAACxuC,MAAN,GAAe,CAAhB,CAAL,CAAwBqtC,OAAxB;AACH;AACJ;AACJ;;AAlCkB;;AAoCvBgB,EAAAA,gBAAgB,CAAC3lC,IAAjB,GAAwB,SAAS+lC,wBAAT,CAAkC7lC,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAIylC,gBAAV,GAAP;AAAuC,GAAtG;;AACAA,EAAAA,gBAAgB,CAACxlC,KAAjB,GAAyBuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASylC,wBAAT,GAAoC;AAAE,aAAO,IAAIJ,gBAAJ,EAAP;AAAgC,KAAjF;AAAmFtlC,IAAAA,KAAK,EAAEslC,gBAA1F;AAA4GxM,IAAAA,UAAU,EAAE;AAAxH,GAAtB,CAAzB;SArCMwM;;;AAsCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOplC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAG6B,CAH5C;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACMylC;AAAN,QAAMA,4BAAN,CAAmC;AAC/B7wC,IAAAA,WAAW,CAACorC,QAAD,EAAWC,OAAX,EAAoBgE,iBAApB,EAAuCxN,SAAvC,EAAkDyN,cAAlD,EAAkE;AACzE,WAAKlE,QAAL,GAAgBA,QAAhB;AACA,WAAKC,OAAL,GAAeA,OAAf;AACA,WAAKgE,iBAAL,GAAyBA,iBAAzB;AACA,WAAKxN,SAAL,GAAiBA,SAAjB,CAJyE,CAKzE;;AACA,WAAKyN,cAAL,GAAsBA,cAAc,IAAI,IAAIY,mCAAJ,EAAxC;AACH;;AACD9xB,IAAAA,MAAM,CAAC7Z,OAAD,EAAU2lC,MAAM,GAAG;AAAEqF,MAAAA,KAAK,EAAE;AAAT,KAAnB,EAAqC;AACvC,UAAIuB,YAAJ;;AACA,UAAI,OAAO5G,MAAP,KAAkB,SAAtB,EAAiC;AAC7B4G,QAAAA,YAAY,GAAG;AAAEvB,UAAAA,KAAK,EAAErF;AAAT,SAAf;AACH,OAFD,MAGK;AACD4G,QAAAA,YAAY,GAAG5G,MAAf;AACH;;AACD,aAAO,IAAIkF,qBAAJ,CAA0B7qC,OAA1B,EAAmC,KAAK6mC,QAAxC,EAAkD,KAAKC,OAAvD,EAAgE,KAAKxJ,SAArE,EAAgF,KAAKwN,iBAArF,EAAwG,KAAKC,cAA7G,EAA6HwB,YAA7H,CAAP;AACH;;AAlB8B;;AAoBnCD,EAAAA,4BAA4B,CAAChmC,IAA7B,GAAoC,SAASkmC,oCAAT,CAA8ChmC,CAA9C,EAAiD;AAAE,WAAO,KAAKA,CAAC,IAAI8lC,4BAAV,EAAwCltC,sDAAA,CAAgBolC,oBAAhB,CAAxC,EAA+EplC,sDAAA,CAAgBA,iDAAhB,CAA/E,EAA+GA,sDAAA,CAAgB6sC,gBAAhB,CAA/G,EAAkJ7sC,sDAAA,CAAgB25B,qDAAhB,CAAlJ,EAA6K35B,sDAAA,CAAgBisC,yBAAhB,EAA2C,CAA3C,CAA7K,CAAP;AAAqO,GAA5T;;AACAiB,EAAAA,4BAA4B,CAAC7lC,KAA7B,GAAqCuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAAS4lC,oCAAT,GAAgD;AAAE,aAAO,IAAIF,4BAAJ,CAAiCtT,sDAAA,CAAYwL,oBAAZ,CAAjC,EAAoExL,sDAAA,CAAYA,iDAAZ,CAApE,EAA4FA,sDAAA,CAAYiT,gBAAZ,CAA5F,EAA2HjT,sDAAA,CAAYF,qDAAZ,CAA3H,EAAqJE,sDAAA,CAAYqS,yBAAZ,EAAuC,CAAvC,CAArJ,CAAP;AAAyM,KAAtQ;AAAwQ1kC,IAAAA,KAAK,EAAE2lC,4BAA/Q;AAA6S7M,IAAAA,UAAU,EAAE;AAAzT,GAAtB,CAArC;SArBM6M;;;AA6BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOzlC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAWe,CAX9B;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAAS4lC,+BAAT,CAAyCnrC,KAAzC,EAAgD;AAC5C;AACA;AACA;AACA;AACA;AACA,SAAOA,KAAK,CAACorC,OAAN,KAAkB,CAAlB,IAAuBprC,KAAK,CAACqrC,OAAN,KAAkB,CAAhD;AACH;AACD;;;AACA,SAASC,gCAAT,CAA0CtrC,KAA1C,EAAiD;AAC7C,QAAMurC,KAAK,GAAIvrC,KAAK,CAACwrC,OAAN,IAAiBxrC,KAAK,CAACwrC,OAAN,CAAc,CAAd,CAAlB,IACTxrC,KAAK,CAACyrC,cAAN,IAAwBzrC,KAAK,CAACyrC,cAAN,CAAqB,CAArB,CAD7B,CAD6C,CAG7C;AACA;AACA;AACA;;AACA,SAAO,CAAC,CAACF,KAAF,IAAWA,KAAK,CAACG,UAAN,KAAqB,CAAC,CAAjC,KAAuCH,KAAK,CAACI,OAAN,IAAiB,IAAjB,IAAyBJ,KAAK,CAACI,OAAN,KAAkB,CAAlF,MACFJ,KAAK,CAACK,OAAN,IAAiB,IAAjB,IAAyBL,KAAK,CAACK,OAAN,KAAkB,CADzC,CAAP;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMC,+BAA+B,gBAAG,IAAI5T,yDAAJ,CAAmB,qCAAnB,CAAxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM6T,uCAAuC,GAAG;AAC5CC,EAAAA,UAAU,EAAE,CAACzS,sDAAD,EAAMC,0DAAN,EAAeC,2DAAf,EAAyBC,uDAAzB,EAA+BC,wDAA/B;AADgC,CAAhD;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMsS,eAAe,GAAG,GAAxB;AACA;AACA;AACA;AACA;;AACA,MAAMC,4BAA4B,gBAAG3R,sFAA+B,CAAC;AACjE4R,EAAAA,OAAO,EAAE,IADwD;AAEjEC,EAAAA,OAAO,EAAE;AAFwD,CAAD,CAApE;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC;AAAN,QAAMA,qBAAN,CAA4B;AACxBjyC,IAAAA,WAAW,CAACgpC,SAAD,EAAYkJ,MAAZ,EAAoBpuC,QAApB,EAA8BzF,OAA9B,EAAuC;AAC9C,WAAK2qC,SAAL,GAAiBA,SAAjB;AACA;AACR;AACA;AACA;;AACQ,WAAKmJ,iBAAL,GAAyB,IAAzB;AACA;;AACA,WAAKC,SAAL,GAAiB,IAAI/T,kDAAJ,CAAoB,IAApB,CAAjB;AACA;AACR;AACA;AACA;;AACQ,WAAKgU,YAAL,GAAoB,CAApB;AACA;AACR;AACA;AACA;;AACQ,WAAKC,UAAL,GAAmBzsC,KAAD,IAAW;AACzB,YAAIw0B,EAAJ,EAAQkY,EAAR,CADyB,CAEzB;AACA;;;AACA,YAAI,CAACA,EAAE,GAAG,CAAClY,EAAE,GAAG,KAAKmY,QAAX,MAAyB,IAAzB,IAAiCnY,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAACuX,UAAnE,MAAmF,IAAnF,IAA2FW,EAAE,KAAK,KAAK,CAAvG,GAA2G,KAAK,CAAhH,GAAoHA,EAAE,CAACz6B,IAAH,CAAQgvB,OAAO,IAAIA,OAAO,KAAKjhC,KAAK,CAACihC,OAArC,CAAxH,EAAuK;AACnK;AACH;;AACD,aAAKsL,SAAL,CAAe3iC,IAAf,CAAoB,UAApB;;AACA,aAAK0iC,iBAAL,GAAyB/R,sEAAe,CAACv6B,KAAD,CAAxC;AACH,OATD;AAUA;AACR;AACA;AACA;;;AACQ,WAAK4sC,YAAL,GAAqB5sC,KAAD,IAAW;AAC3B;AACA;AACA;AACA,YAAI4wB,IAAI,CAACC,GAAL,KAAa,KAAK2b,YAAlB,GAAiCR,eAArC,EAAsD;AAClD;AACH,SAN0B,CAO3B;AACA;;;AACA,aAAKO,SAAL,CAAe3iC,IAAf,CAAoBuhC,+BAA+B,CAACnrC,KAAD,CAA/B,GAAyC,UAAzC,GAAsD,OAA1E;;AACA,aAAKssC,iBAAL,GAAyB/R,sEAAe,CAACv6B,KAAD,CAAxC;AACH,OAXD;AAYA;AACR;AACA;AACA;;;AACQ,WAAK6sC,aAAL,GAAsB7sC,KAAD,IAAW;AAC5B;AACA;AACA,YAAIsrC,gCAAgC,CAACtrC,KAAD,CAApC,EAA6C;AACzC,eAAKusC,SAAL,CAAe3iC,IAAf,CAAoB,UAApB;;AACA;AACH,SAN2B,CAO5B;AACA;;;AACA,aAAK4iC,YAAL,GAAoB5b,IAAI,CAACC,GAAL,EAApB;;AACA,aAAK0b,SAAL,CAAe3iC,IAAf,CAAoB,OAApB;;AACA,aAAK0iC,iBAAL,GAAyB/R,sEAAe,CAACv6B,KAAD,CAAxC;AACH,OAZD;;AAaA,WAAK2sC,QAAL,GAAgBvtC,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBsuB,uCAAlB,CAAd,EAA0EtzC,OAA1E,CAAhB,CA7D8C,CA8D9C;;AACA,WAAKs0C,gBAAL,GAAwB,KAAKP,SAAL,CAAehM,IAAf,CAAoBzG,qDAAI,CAAC,CAAD,CAAxB,CAAxB;AACA,WAAKiT,eAAL,GAAuB,KAAKD,gBAAL,CAAsBvM,IAAtB,CAA2BxG,qEAAoB,EAA/C,CAAvB,CAhE8C,CAiE9C;AACA;;AACA,UAAIoJ,SAAS,CAACplC,SAAd,EAAyB;AACrBsuC,QAAAA,MAAM,CAAC/F,iBAAP,CAAyB,MAAM;AAC3BroC,UAAAA,QAAQ,CAACg0B,gBAAT,CAA0B,SAA1B,EAAqC,KAAKwa,UAA1C,EAAsDR,4BAAtD;AACAhuC,UAAAA,QAAQ,CAACg0B,gBAAT,CAA0B,WAA1B,EAAuC,KAAK2a,YAA5C,EAA0DX,4BAA1D;AACAhuC,UAAAA,QAAQ,CAACg0B,gBAAT,CAA0B,YAA1B,EAAwC,KAAK4a,aAA7C,EAA4DZ,4BAA5D;AACH,SAJD;AAKH;AACJ;AACD;;;AACsB,QAAlBe,kBAAkB,GAAG;AACrB,aAAO,KAAKT,SAAL,CAAexrC,KAAtB;AACH;;AACDo8B,IAAAA,WAAW,GAAG;AACV,WAAKoP,SAAL,CAAeU,QAAf;;AACA,UAAI,KAAK9J,SAAL,CAAeplC,SAAnB,EAA8B;AAC1BE,QAAAA,QAAQ,CAAC+zB,mBAAT,CAA6B,SAA7B,EAAwC,KAAKya,UAA7C,EAAyDR,4BAAzD;AACAhuC,QAAAA,QAAQ,CAAC+zB,mBAAT,CAA6B,WAA7B,EAA0C,KAAK4a,YAA/C,EAA6DX,4BAA7D;AACAhuC,QAAAA,QAAQ,CAAC+zB,mBAAT,CAA6B,YAA7B,EAA2C,KAAK6a,aAAhD,EAA+DZ,4BAA/D;AACH;AACJ;;AAvFuB;;AAyF5BG,EAAAA,qBAAqB,CAACpnC,IAAtB,GAA6B,SAASkoC,6BAAT,CAAuChoC,CAAvC,EAA0C;AAAE,WAAO,KAAKA,CAAC,IAAIknC,qBAAV,EAAiCtuC,sDAAA,CAAgB88B,2DAAhB,CAAjC,EAAmE98B,sDAAA,CAAgBA,iDAAhB,CAAnE,EAAmGA,sDAAA,CAAgB25B,qDAAhB,CAAnG,EAA8H35B,sDAAA,CAAgB+tC,+BAAhB,EAAiD,CAAjD,CAA9H,CAAP;AAA4L,GAArQ;;AACAO,EAAAA,qBAAqB,CAACjnC,KAAtB,GAA8BuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAAS4nC,6BAAT,GAAyC;AAAE,aAAO,IAAId,qBAAJ,CAA0B1U,sDAAA,CAAYyC,2DAAZ,CAA1B,EAAoDzC,sDAAA,CAAYA,iDAAZ,CAApD,EAA4EA,sDAAA,CAAYF,qDAAZ,CAA5E,EAAsGE,sDAAA,CAAYmU,+BAAZ,EAA6C,CAA7C,CAAtG,CAAP;AAAgK,KAAtN;AAAwNxmC,IAAAA,KAAK,EAAE+mC,qBAA/N;AAAsPjO,IAAAA,UAAU,EAAE;AAAlQ,GAAtB,CAA9B;SA1FMiO;;;AAiGN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO7mC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAWe,CAX9B;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM4nC,4BAA4B,gBAAG,IAAIlV,yDAAJ,CAAmB,sBAAnB,EAA2C;AAC5EkG,EAAAA,UAAU,EAAE,MADgE;AAE5E74B,EAAAA,OAAO,EAAE8nC;AAFmE,CAA3C,CAArC;AAIA;;AACA,SAASA,oCAAT,GAAgD;AAC5C,SAAO,IAAP;AACH;AACD;;;AACA,MAAMC,8BAA8B,gBAAG,IAAIpV,yDAAJ,CAAmB,gCAAnB,CAAvC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMqV;AAAN,QAAMA,aAAN,CAAoB;AAChBnzC,IAAAA,WAAW,CAACozC,YAAD,EAAe/H,OAAf,EAAwBxJ,SAAxB,EAAmCwR,eAAnC,EAAoD;AAC3D,WAAKhI,OAAL,GAAeA,OAAf;AACA,WAAKgI,eAAL,GAAuBA,eAAvB,CAF2D,CAG3D;AACA;AACA;;AACA,WAAKxR,SAAL,GAAiBA,SAAjB;AACA,WAAKyR,YAAL,GAAoBF,YAAY,IAAI,KAAKG,kBAAL,EAApC;AACH;;AACDC,IAAAA,QAAQ,CAACzR,OAAD,EAAU,GAAGxc,IAAb,EAAmB;AACvB,YAAMkuB,cAAc,GAAG,KAAKJ,eAA5B;AACA,UAAIK,UAAJ;AACA,UAAIzzC,QAAJ;;AACA,UAAIslB,IAAI,CAACpjB,MAAL,KAAgB,CAAhB,IAAqB,OAAOojB,IAAI,CAAC,CAAD,CAAX,KAAmB,QAA5C,EAAsD;AAClDtlB,QAAAA,QAAQ,GAAGslB,IAAI,CAAC,CAAD,CAAf;AACH,OAFD,MAGK;AACD,SAACmuB,UAAD,EAAazzC,QAAb,IAAyBslB,IAAzB;AACH;;AACD,WAAK3M,KAAL;AACA+6B,MAAAA,YAAY,CAAC,KAAKC,gBAAN,CAAZ;;AACA,UAAI,CAACF,UAAL,EAAiB;AACbA,QAAAA,UAAU,GACLD,cAAc,IAAIA,cAAc,CAACC,UAAlC,GAAgDD,cAAc,CAACC,UAA/D,GAA4E,QADhF;AAEH;;AACD,UAAIzzC,QAAQ,IAAI,IAAZ,IAAoBwzC,cAAxB,EAAwC;AACpCxzC,QAAAA,QAAQ,GAAGwzC,cAAc,CAACxzC,QAA1B;AACH,OAlBsB,CAmBvB;;;AACA,WAAKqzC,YAAL,CAAkBnlC,YAAlB,CAA+B,WAA/B,EAA4CulC,UAA5C,EApBuB,CAqBvB;AACA;AACA;AACA;AACA;;;AACA,aAAO,KAAKrI,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACxC,eAAO,IAAIvsC,OAAJ,CAAYC,OAAO,IAAI;AAC1B8zC,UAAAA,YAAY,CAAC,KAAKC,gBAAN,CAAZ;AACA,eAAKA,gBAAL,GAAwBtD,UAAU,CAAC,MAAM;AACrC,iBAAKgD,YAAL,CAAkB1Z,WAAlB,GAAgCmI,OAAhC;AACAliC,YAAAA,OAAO;;AACP,gBAAI,OAAOI,QAAP,KAAoB,QAAxB,EAAkC;AAC9B,mBAAK2zC,gBAAL,GAAwBtD,UAAU,CAAC,MAAM,KAAK13B,KAAL,EAAP,EAAqB3Y,QAArB,CAAlC;AACH;AACJ,WANiC,EAM/B,GAN+B,CAAlC;AAOH,SATM,CAAP;AAUH,OAXM,CAAP;AAYH;AACD;AACJ;AACA;AACA;AACA;;;AACI2Y,IAAAA,KAAK,GAAG;AACJ,UAAI,KAAK06B,YAAT,EAAuB;AACnB,aAAKA,YAAL,CAAkB1Z,WAAlB,GAAgC,EAAhC;AACH;AACJ;;AACDoJ,IAAAA,WAAW,GAAG;AACV2Q,MAAAA,YAAY,CAAC,KAAKC,gBAAN,CAAZ;;AACA,UAAI,KAAKN,YAAL,IAAqB,KAAKA,YAAL,CAAkBjrC,UAA3C,EAAuD;AACnD,aAAKirC,YAAL,CAAkBjrC,UAAlB,CAA6BuyB,WAA7B,CAAyC,KAAK0Y,YAA9C;;AACA,aAAKA,YAAL,GAAoB,IAApB;AACH;AACJ;;AACDC,IAAAA,kBAAkB,GAAG;AACjB,YAAMM,YAAY,GAAG,4BAArB;;AACA,YAAMC,gBAAgB,GAAG,KAAKjS,SAAL,CAAekS,sBAAf,CAAsCF,YAAtC,CAAzB;;AACA,YAAMG,MAAM,GAAG,KAAKnS,SAAL,CAAelI,aAAf,CAA6B,KAA7B,CAAf,CAHiB,CAIjB;;;AACA,WAAK,IAAIxwB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2qC,gBAAgB,CAAC3xC,MAArC,EAA6CgH,CAAC,EAA9C,EAAkD;AAC9C2qC,QAAAA,gBAAgB,CAAC3qC,CAAD,CAAhB,CAAoBd,UAApB,CAA+BuyB,WAA/B,CAA2CkZ,gBAAgB,CAAC3qC,CAAD,CAA3D;AACH;;AACD6qC,MAAAA,MAAM,CAAC3gB,SAAP,CAAiB7e,GAAjB,CAAqBq/B,YAArB;AACAG,MAAAA,MAAM,CAAC3gB,SAAP,CAAiB7e,GAAjB,CAAqB,qBAArB;AACAw/B,MAAAA,MAAM,CAAC7lC,YAAP,CAAoB,aAApB,EAAmC,MAAnC;AACA6lC,MAAAA,MAAM,CAAC7lC,YAAP,CAAoB,WAApB,EAAiC,QAAjC;;AACA,WAAK0zB,SAAL,CAAe93B,IAAf,CAAoBmwB,WAApB,CAAgC8Z,MAAhC;;AACA,aAAOA,MAAP;AACH;;AAhFe;;AAkFpBb,EAAAA,aAAa,CAACtoC,IAAd,GAAqB,SAASopC,qBAAT,CAA+BlpC,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAIooC,aAAV,EAAyBxvC,sDAAA,CAAgBqvC,4BAAhB,EAA8C,CAA9C,CAAzB,EAA2ErvC,sDAAA,CAAgBA,iDAAhB,CAA3E,EAA2GA,sDAAA,CAAgB25B,qDAAhB,CAA3G,EAAsI35B,sDAAA,CAAgBuvC,8BAAhB,EAAgD,CAAhD,CAAtI,CAAP;AAAmM,GAA5P;;AACAC,EAAAA,aAAa,CAACnoC,KAAd,GAAsBuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAAS8oC,qBAAT,GAAiC;AAAE,aAAO,IAAId,aAAJ,CAAkB5V,sDAAA,CAAYyV,4BAAZ,EAA0C,CAA1C,CAAlB,EAAgEzV,sDAAA,CAAYA,iDAAZ,CAAhE,EAAwFA,sDAAA,CAAYF,qDAAZ,CAAxF,EAAkHE,sDAAA,CAAY2V,8BAAZ,EAA4C,CAA5C,CAAlH,CAAP;AAA2K,KAAzN;AAA2NhoC,IAAAA,KAAK,EAAEioC,aAAlO;AAAiPnP,IAAAA,UAAU,EAAE;AAA7P,GAAtB,CAAtB;SAnFMmP;;;AA0FN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/nC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAgBe,CAhB9B;AAiBA;AACA;AACA;AACA;;;IACM8oC;AAAN,QAAMA,WAAN,CAAkB;AACdl0C,IAAAA,WAAW,CAAC8tC,WAAD,EAAcqG,cAAd,EAA8BC,gBAA9B,EAAgD/I,OAAhD,EAAyD;AAChE,WAAKyC,WAAL,GAAmBA,WAAnB;AACA,WAAKqG,cAAL,GAAsBA,cAAtB;AACA,WAAKC,gBAAL,GAAwBA,gBAAxB;AACA,WAAK/I,OAAL,GAAeA,OAAf;AACA,WAAKgJ,WAAL,GAAmB,QAAnB;AACH;AACD;;;AACc,QAAVX,UAAU,GAAG;AAAE,aAAO,KAAKW,WAAZ;AAA0B;;AAC/B,QAAVX,UAAU,CAAC9sC,KAAD,EAAQ;AAClB,WAAKytC,WAAL,GAAmBztC,KAAK,KAAK,KAAV,IAAmBA,KAAK,KAAK,WAA7B,GAA2CA,KAA3C,GAAmD,QAAtE;;AACA,UAAI,KAAKytC,WAAL,KAAqB,KAAzB,EAAgC;AAC5B,YAAI,KAAKC,aAAT,EAAwB;AACpB,eAAKA,aAAL,CAAmBnO,WAAnB;;AACA,eAAKmO,aAAL,GAAqB,IAArB;AACH;AACJ,OALD,MAMK,IAAI,CAAC,KAAKA,aAAV,EAAyB;AAC1B,aAAKA,aAAL,GAAqB,KAAKjJ,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACtD,iBAAO,KAAKiI,gBAAL,CACFG,OADE,CACM,KAAKzG,WADX,EAEF7I,SAFE,CAEQ,MAAM;AACjB;AACA,kBAAMuP,WAAW,GAAG,KAAK1G,WAAL,CAAiBI,aAAjB,CAA+BtU,WAAnD,CAFiB,CAGjB;AACA;;AACA,gBAAI4a,WAAW,KAAK,KAAKC,sBAAzB,EAAiD;AAC7C,mBAAKN,cAAL,CAAoBX,QAApB,CAA6BgB,WAA7B,EAA0C,KAAKH,WAA/C;;AACA,mBAAKI,sBAAL,GAA8BD,WAA9B;AACH;AACJ,WAXM,CAAP;AAYH,SAboB,CAArB;AAcH;AACJ;;AACDxR,IAAAA,WAAW,GAAG;AACV,UAAI,KAAKsR,aAAT,EAAwB;AACpB,aAAKA,aAAL,CAAmBnO,WAAnB;AACH;AACJ;;AAvCa;;AAyClB+N,EAAAA,WAAW,CAACrpC,IAAZ,GAAmB,SAAS6pC,mBAAT,CAA6B3pC,CAA7B,EAAgC;AAAE,WAAO,KAAKA,CAAC,IAAImpC,WAAV,EAAuBvwC,+DAAA,CAAyBA,qDAAzB,CAAvB,EAAoEA,+DAAA,CAAyBwvC,aAAzB,CAApE,EAA6GxvC,+DAAA,CAAyB+8B,oEAAzB,CAA7G,EAA+J/8B,+DAAA,CAAyBA,iDAAzB,CAA/J,CAAP;AAAiN,GAAtQ;;AACAuwC,EAAAA,WAAW,CAACrF,IAAZ,GAAmB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE81C,WAAR;AAAqBnF,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,aAAL,EAAoB,EAApB,CAAD,CAAhC;AAA2DC,IAAAA,MAAM,EAAE;AAAE0E,MAAAA,UAAU,EAAE,CAAC,aAAD,EAAgB,YAAhB;AAAd,KAAnE;AAAkHzE,IAAAA,QAAQ,EAAE,CAAC,aAAD;AAA5H,GAAzB,CAAjC;SA1CMiF;;;AAoDN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO9oC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AASC,CAThB;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMupC,6BAA6B,gBAAG,IAAI7W,yDAAJ,CAAmB,mCAAnB,CAAtC;AACA;AACA;AACA;AACA;;AACA,MAAM8W,2BAA2B,gBAAGzU,sFAA+B,CAAC;AAChE4R,EAAAA,OAAO,EAAE,IADuD;AAEhEC,EAAAA,OAAO,EAAE;AAFuD,CAAD,CAAnE;AAIA;;IACM6C;AAAN,QAAMA,YAAN,CAAmB;AACf70C,IAAAA,WAAW,CAACqrC,OAAD,EAAUrC,SAAV,EAAqB8L,sBAArB;AACX;AACAhxC,IAAAA,QAFW,EAEDzF,OAFC,EAEQ;AACf,WAAKgtC,OAAL,GAAeA,OAAf;AACA,WAAKrC,SAAL,GAAiBA,SAAjB;AACA,WAAK8L,sBAAL,GAA8BA,sBAA9B;AACA;;AACA,WAAKrM,OAAL,GAAe,IAAf;AACA;;AACA,WAAKsM,cAAL,GAAsB,KAAtB;AACA;AACR;AACA;AACA;;AACQ,WAAKC,2BAAL,GAAmC,KAAnC;AACA;;AACA,WAAKC,YAAL,GAAoB,IAAIpuC,GAAJ,EAApB;AACA;;AACA,WAAKquC,sBAAL,GAA8B,CAA9B;AACA;AACR;AACA;AACA;AACA;AACA;;AACQ,WAAKC,2BAAL,GAAmC,IAAItuC,GAAJ,EAAnC;AACA;AACR;AACA;AACA;;AACQ,WAAKuuC,oBAAL,GAA4B,MAAM;AAC9B;AACA;AACA,aAAKL,cAAL,GAAsB,IAAtB;AACA,aAAKM,qBAAL,GAA6B/E,UAAU,CAAC,MAAM,KAAKyE,cAAL,GAAsB,KAA7B,CAAvC;AACH,OALD;AAMA;;;AACA,WAAKO,0BAAL,GAAkC,IAAInX,yCAAJ,EAAlC;AACA;AACR;AACA;AACA;;AACQ,WAAKoX,6BAAL,GAAsC1vC,KAAD,IAAW;AAC5C,cAAMsX,MAAM,GAAGijB,sEAAe,CAACv6B,KAAD,CAA9B;;AACA,cAAM2vC,OAAO,GAAG3vC,KAAK,CAACzH,IAAN,KAAe,OAAf,GAAyB,KAAKq3C,QAA9B,GAAyC,KAAKC,OAA9D,CAF4C,CAG5C;;AACA,aAAK,IAAInxC,OAAO,GAAG4Y,MAAnB,EAA2B5Y,OAA3B,EAAoCA,OAAO,GAAGA,OAAO,CAACoxC,aAAtD,EAAqE;AACjEH,UAAAA,OAAO,CAACtxC,IAAR,CAAa,IAAb,EAAmB2B,KAAnB,EAA0BtB,OAA1B;AACH;AACJ,OAPD;;AAQA,WAAKs9B,SAAL,GAAiB/9B,QAAjB;AACA,WAAK8xC,cAAL,GAAsB,CAACv3C,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAACw3C,aAA3D,KAA6E;AAAE;AAArG;AACH;;AACDC,IAAAA,OAAO,CAACvxC,OAAD,EAAUwxC,aAAa,GAAG,KAA1B,EAAiC;AACpC,YAAM7H,aAAa,GAAGnO,qEAAa,CAACx7B,OAAD,CAAnC,CADoC,CAEpC;;AACA,UAAI,CAAC,KAAKykC,SAAL,CAAeplC,SAAhB,IAA6BsqC,aAAa,CAACtK,QAAd,KAA2B,CAA5D,EAA+D;AAC3D,eAAOtF,yCAAE,CAAC,IAAD,CAAT;AACH,OALmC,CAMpC;AACA;AACA;;;AACA,YAAMhE,QAAQ,GAAG+F,qEAAc,CAAC6N,aAAD,CAAd,IAAiC,KAAK8H,YAAL,EAAlD;;AACA,YAAMC,UAAU,GAAG,KAAKhB,YAAL,CAAkBnuC,GAAlB,CAAsBonC,aAAtB,CAAnB,CAVoC,CAWpC;;;AACA,UAAI+H,UAAJ,EAAgB;AACZ,YAAIF,aAAJ,EAAmB;AACf;AACA;AACA;AACAE,UAAAA,UAAU,CAACF,aAAX,GAA2B,IAA3B;AACH;;AACD,eAAOE,UAAU,CAACC,OAAlB;AACH,OApBmC,CAqBpC;;;AACA,YAAMC,IAAI,GAAG;AACTJ,QAAAA,aAAa,EAAEA,aADN;AAETG,QAAAA,OAAO,EAAE,IAAI/X,yCAAJ,EAFA;AAGT7D,QAAAA;AAHS,OAAb;;AAKA,WAAK2a,YAAL,CAAkBluC,GAAlB,CAAsBmnC,aAAtB,EAAqCiI,IAArC;;AACA,WAAKC,wBAAL,CAA8BD,IAA9B;;AACA,aAAOA,IAAI,CAACD,OAAZ;AACH;;AACDG,IAAAA,cAAc,CAAC9xC,OAAD,EAAU;AACpB,YAAM2pC,aAAa,GAAGnO,qEAAa,CAACx7B,OAAD,CAAnC;;AACA,YAAM+xC,WAAW,GAAG,KAAKrB,YAAL,CAAkBnuC,GAAlB,CAAsBonC,aAAtB,CAApB;;AACA,UAAIoI,WAAJ,EAAiB;AACbA,QAAAA,WAAW,CAACJ,OAAZ,CAAoBpD,QAApB;;AACA,aAAKyD,WAAL,CAAiBrI,aAAjB;;AACA,aAAK+G,YAAL,CAAkBx8B,MAAlB,CAAyBy1B,aAAzB;;AACA,aAAKsI,sBAAL,CAA4BF,WAA5B;AACH;AACJ;;AACDG,IAAAA,QAAQ,CAAClyC,OAAD,EAAUokC,MAAV,EAAkBtqC,OAAlB,EAA2B;AAC/B,YAAM6vC,aAAa,GAAGnO,qEAAa,CAACx7B,OAAD,CAAnC;;AACA,YAAMmyC,cAAc,GAAG,KAAKV,YAAL,GAAoBzF,aAA3C,CAF+B,CAG/B;AACA;AACA;;;AACA,UAAIrC,aAAa,KAAKwI,cAAtB,EAAsC;AAClC,aAAKC,uBAAL,CAA6BzI,aAA7B,EACKrtC,OADL,CACa,CAAC,CAAC+1C,cAAD,EAAiBT,IAAjB,CAAD,KAA4B,KAAKU,cAAL,CAAoBD,cAApB,EAAoCjO,MAApC,EAA4CwN,IAA5C,CADzC;AAEH,OAHD,MAIK;AACD,aAAKW,UAAL,CAAgBnO,MAAhB,EADC,CAED;;;AACA,YAAI,OAAOuF,aAAa,CAACtF,KAArB,KAA+B,UAAnC,EAA+C;AAC3CsF,UAAAA,aAAa,CAACtF,KAAd,CAAoBvqC,OAApB;AACH;AACJ;AACJ;;AACD2kC,IAAAA,WAAW,GAAG;AACV,WAAKiS,YAAL,CAAkBp0C,OAAlB,CAA0B,CAACk2C,KAAD,EAAQxyC,OAAR,KAAoB,KAAK8xC,cAAL,CAAoB9xC,OAApB,CAA9C;AACH;AACD;;;AACAyxC,IAAAA,YAAY,GAAG;AACX,aAAO,KAAKnU,SAAL,IAAkB/9B,QAAzB;AACH;AACD;;;AACAkzC,IAAAA,UAAU,GAAG;AACT,YAAMC,GAAG,GAAG,KAAKjB,YAAL,EAAZ;;AACA,aAAOiB,GAAG,CAAC/L,WAAJ,IAAmBrnC,MAA1B;AACH;;AACDqzC,IAAAA,YAAY,CAAC3yC,OAAD,EAAU4pB,SAAV,EAAqBgpB,SAArB,EAAgC;AACxC,UAAIA,SAAJ,EAAe;AACX5yC,QAAAA,OAAO,CAAC8uB,SAAR,CAAkB7e,GAAlB,CAAsB2Z,SAAtB;AACH,OAFD,MAGK;AACD5pB,QAAAA,OAAO,CAAC8uB,SAAR,CAAkBE,MAAlB,CAAyBpF,SAAzB;AACH;AACJ;;AACDipB,IAAAA,eAAe,CAACC,gBAAD,EAAmB;AAC9B,UAAI,KAAK5O,OAAT,EAAkB;AACd;AACA;AACA,YAAI,KAAKuM,2BAAT,EAAsC;AAClC,iBAAO,KAAKsC,0BAAL,CAAgCD,gBAAhC,IAAoD,OAApD,GAA8D,SAArE;AACH,SAFD,MAGK;AACD,iBAAO,KAAK5O,OAAZ;AACH;AACJ,OAV6B,CAW9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,aAAQ,KAAKsM,cAAL,IAAuB,KAAKwC,gBAA7B,GAAiD,KAAKA,gBAAtD,GAAyE,SAAhF;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACID,IAAAA,0BAA0B,CAACD,gBAAD,EAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAQ,KAAKzB,cAAL,KAAwB;AAAE;AAA3B,SACH,CAAC,EAAEyB,gBAAgB,KAAK,IAArB,IAA6BA,gBAAgB,KAAK,KAAK,CAAvD,GAA2D,KAAK,CAAhE,GAAoEA,gBAAgB,CAAClvC,QAAjB,CAA0B,KAAK2sC,sBAAL,CAA4B3C,iBAAtD,CAAtE,CADL;AAEH;AACD;AACJ;AACA;AACA;AACA;;;AACIoE,IAAAA,WAAW,CAAChyC,OAAD,EAAUokC,MAAV,EAAkB;AACzB,WAAKuO,YAAL,CAAkB3yC,OAAlB,EAA2B,aAA3B,EAA0C,CAAC,CAACokC,MAA5C;;AACA,WAAKuO,YAAL,CAAkB3yC,OAAlB,EAA2B,mBAA3B,EAAgDokC,MAAM,KAAK,OAA3D;;AACA,WAAKuO,YAAL,CAAkB3yC,OAAlB,EAA2B,sBAA3B,EAAmDokC,MAAM,KAAK,UAA9D;;AACA,WAAKuO,YAAL,CAAkB3yC,OAAlB,EAA2B,mBAA3B,EAAgDokC,MAAM,KAAK,OAA3D;;AACA,WAAKuO,YAAL,CAAkB3yC,OAAlB,EAA2B,qBAA3B,EAAkDokC,MAAM,KAAK,SAA7D;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACImO,IAAAA,UAAU,CAACnO,MAAD,EAAS6O,iBAAiB,GAAG,KAA7B,EAAoC;AAC1C,WAAKnM,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACjC,aAAK1D,OAAL,GAAeE,MAAf;AACA,aAAKqM,2BAAL,GAAoCrM,MAAM,KAAK,OAAZ,IAAwB6O,iBAA3D,CAFiC,CAGjC;AACA;AACA;AACA;AACA;;AACA,YAAI,KAAK5B,cAAL,KAAwB;AAAE;AAA9B,UAA+C;AAC3CjC,UAAAA,YAAY,CAAC,KAAK8D,gBAAN,CAAZ;AACA,gBAAMC,EAAE,GAAG,KAAK1C,2BAAL,GAAmCnD,eAAnC,GAAqD,CAAhE;AACA,eAAK4F,gBAAL,GAAwBnH,UAAU,CAAC,MAAM,KAAK7H,OAAL,GAAe,IAAtB,EAA4BiP,EAA5B,CAAlC;AACH;AACJ,OAbD;AAcH;AACD;AACJ;AACA;AACA;AACA;;;AACIjC,IAAAA,QAAQ,CAAC5vC,KAAD,EAAQtB,OAAR,EAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,YAAM+xC,WAAW,GAAG,KAAKrB,YAAL,CAAkBnuC,GAAlB,CAAsBvC,OAAtB,CAApB;;AACA,YAAM8yC,gBAAgB,GAAGjX,sEAAe,CAACv6B,KAAD,CAAxC;;AACA,UAAI,CAACywC,WAAD,IAAiB,CAACA,WAAW,CAACP,aAAb,IAA8BxxC,OAAO,KAAK8yC,gBAA/D,EAAkF;AAC9E;AACH;;AACD,WAAKR,cAAL,CAAoBtyC,OAApB,EAA6B,KAAK6yC,eAAL,CAAqBC,gBAArB,CAA7B,EAAqEf,WAArE;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIZ,IAAAA,OAAO,CAAC7vC,KAAD,EAAQtB,OAAR,EAAiB;AACpB;AACA;AACA,YAAM+xC,WAAW,GAAG,KAAKrB,YAAL,CAAkBnuC,GAAlB,CAAsBvC,OAAtB,CAApB;;AACA,UAAI,CAAC+xC,WAAD,IAAiBA,WAAW,CAACP,aAAZ,IAA6BlwC,KAAK,CAAC8xC,aAAN,YAA+B7H,IAA5D,IACjBvrC,OAAO,CAAC4D,QAAR,CAAiBtC,KAAK,CAAC8xC,aAAvB,CADJ,EAC4C;AACxC;AACH;;AACD,WAAKpB,WAAL,CAAiBhyC,OAAjB;;AACA,WAAKqzC,WAAL,CAAiBtB,WAAW,CAACJ,OAA7B,EAAsC,IAAtC;AACH;;AACD0B,IAAAA,WAAW,CAAC1B,OAAD,EAAUvN,MAAV,EAAkB;AACzB,WAAK0C,OAAL,CAAawM,GAAb,CAAiB,MAAM3B,OAAO,CAACzmC,IAAR,CAAak5B,MAAb,CAAvB;AACH;;AACDyN,IAAAA,wBAAwB,CAACE,WAAD,EAAc;AAClC,UAAI,CAAC,KAAKtN,SAAL,CAAeplC,SAApB,EAA+B;AAC3B;AACH;;AACD,YAAM02B,QAAQ,GAAGgc,WAAW,CAAChc,QAA7B;AACA,YAAMwd,sBAAsB,GAAG,KAAK3C,2BAAL,CAAiCruC,GAAjC,CAAqCwzB,QAArC,KAAkD,CAAjF;;AACA,UAAI,CAACwd,sBAAL,EAA6B;AACzB,aAAKzM,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACjC7R,UAAAA,QAAQ,CAACxC,gBAAT,CAA0B,OAA1B,EAAmC,KAAKyd,6BAAxC,EAAuEX,2BAAvE;AACAta,UAAAA,QAAQ,CAACxC,gBAAT,CAA0B,MAA1B,EAAkC,KAAKyd,6BAAvC,EAAsEX,2BAAtE;AACH,SAHD;AAIH;;AACD,WAAKO,2BAAL,CAAiCpuC,GAAjC,CAAqCuzB,QAArC,EAA+Cwd,sBAAsB,GAAG,CAAxE,EAZkC,CAalC;;;AACA,UAAI,EAAE,KAAK5C,sBAAP,KAAkC,CAAtC,EAAyC;AACrC;AACA;AACA,aAAK7J,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACjC,gBAAMtoC,MAAM,GAAG,KAAKmzC,UAAL,EAAf;;AACAnzC,UAAAA,MAAM,CAACi0B,gBAAP,CAAwB,OAAxB,EAAiC,KAAKsd,oBAAtC;AACH,SAHD,EAHqC,CAOrC;;;AACA,aAAKN,sBAAL,CAA4BnC,gBAA5B,CACKvM,IADL,CACUvG,0DAAS,CAAC,KAAKyV,0BAAN,CADnB,EAEKrQ,SAFL,CAEe8S,QAAQ,IAAI;AAAE,eAAKjB,UAAL,CAAgBiB,QAAhB,EAA0B;AAAK;AAA/B;AAA0D,SAFvF;AAGH;AACJ;;AACDvB,IAAAA,sBAAsB,CAACF,WAAD,EAAc;AAChC,YAAMhc,QAAQ,GAAGgc,WAAW,CAAChc,QAA7B;;AACA,UAAI,KAAK6a,2BAAL,CAAiC1iC,GAAjC,CAAqC6nB,QAArC,CAAJ,EAAoD;AAChD,cAAMwd,sBAAsB,GAAG,KAAK3C,2BAAL,CAAiCruC,GAAjC,CAAqCwzB,QAArC,CAA/B;;AACA,YAAIwd,sBAAsB,GAAG,CAA7B,EAAgC;AAC5B,eAAK3C,2BAAL,CAAiCpuC,GAAjC,CAAqCuzB,QAArC,EAA+Cwd,sBAAsB,GAAG,CAAxE;AACH,SAFD,MAGK;AACDxd,UAAAA,QAAQ,CAACzC,mBAAT,CAA6B,OAA7B,EAAsC,KAAK0d,6BAA3C,EAA0EX,2BAA1E;AACAta,UAAAA,QAAQ,CAACzC,mBAAT,CAA6B,MAA7B,EAAqC,KAAK0d,6BAA1C,EAAyEX,2BAAzE;;AACA,eAAKO,2BAAL,CAAiC18B,MAAjC,CAAwC6hB,QAAxC;AACH;AACJ,OAZ+B,CAahC;;;AACA,UAAI,CAAC,GAAE,KAAK4a,sBAAZ,EAAoC;AAChC,cAAMrxC,MAAM,GAAG,KAAKmzC,UAAL,EAAf;;AACAnzC,QAAAA,MAAM,CAACg0B,mBAAP,CAA2B,OAA3B,EAAoC,KAAKud,oBAAzC,EAFgC,CAGhC;;AACA,aAAKE,0BAAL,CAAgC7lC,IAAhC,GAJgC,CAKhC;;;AACAkkC,QAAAA,YAAY,CAAC,KAAK0B,qBAAN,CAAZ;AACA1B,QAAAA,YAAY,CAAC,KAAK8D,gBAAN,CAAZ;AACH;AACJ;AACD;;;AACAZ,IAAAA,cAAc,CAACtyC,OAAD,EAAUokC,MAAV,EAAkB2N,WAAlB,EAA+B;AACzC,WAAKC,WAAL,CAAiBhyC,OAAjB,EAA0BokC,MAA1B;;AACA,WAAKiP,WAAL,CAAiBtB,WAAW,CAACJ,OAA7B,EAAsCvN,MAAtC;;AACA,WAAK4O,gBAAL,GAAwB5O,MAAxB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIgO,IAAAA,uBAAuB,CAACpyC,OAAD,EAAU;AAC7B,YAAMyE,OAAO,GAAG,EAAhB;;AACA,WAAKisC,YAAL,CAAkBp0C,OAAlB,CAA0B,CAACs1C,IAAD,EAAOS,cAAP,KAA0B;AAChD,YAAIA,cAAc,KAAKryC,OAAnB,IAA+B4xC,IAAI,CAACJ,aAAL,IAAsBa,cAAc,CAACzuC,QAAf,CAAwB5D,OAAxB,CAAzD,EAA4F;AACxFyE,UAAAA,OAAO,CAAChI,IAAR,CAAa,CAAC41C,cAAD,EAAiBT,IAAjB,CAAb;AACH;AACJ,OAJD;;AAKA,aAAOntC,OAAP;AACH;;AAhUc;;AAkUnB6rC,EAAAA,YAAY,CAAChqC,IAAb,GAAoB,SAASmtC,oBAAT,CAA8BjtC,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAI8pC,YAAV,EAAwBlxC,sDAAA,CAAgBA,iDAAhB,CAAxB,EAAwDA,sDAAA,CAAgB88B,2DAAhB,CAAxD,EAA0F98B,sDAAA,CAAgBsuC,qBAAhB,CAA1F,EAAkItuC,sDAAA,CAAgB25B,qDAAhB,EAA0B,CAA1B,CAAlI,EAAgK35B,sDAAA,CAAgBgxC,6BAAhB,EAA+C,CAA/C,CAAhK,CAAP;AAA4N,GAAnR;;AACAE,EAAAA,YAAY,CAAC7pC,KAAb,GAAqBuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAAS6sC,oBAAT,GAAgC;AAAE,aAAO,IAAInD,YAAJ,CAAiBtX,sDAAA,CAAYA,iDAAZ,CAAjB,EAAyCA,sDAAA,CAAYyC,2DAAZ,CAAzC,EAAmEzC,sDAAA,CAAY0U,qBAAZ,CAAnE,EAAuG1U,sDAAA,CAAYF,qDAAZ,EAAyB,CAAzB,CAAvG,EAAoIE,sDAAA,CAAYoX,6BAAZ,EAA2C,CAA3C,CAApI,CAAP;AAA4L,KAAzO;AAA2OzpC,IAAAA,KAAK,EAAE2pC,YAAlP;AAAgQ7Q,IAAAA,UAAU,EAAE;AAA5Q,GAAtB,CAArB;SAnUM6Q;;;AA2UN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOzpC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAae,CAb9B;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM6sC;AAAN,QAAMA,eAAN,CAAsB;AAClBj4C,IAAAA,WAAW,CAAC8tC,WAAD,EAAcoK,aAAd,EAA6B;AACpC,WAAKpK,WAAL,GAAmBA,WAAnB;AACA,WAAKoK,aAAL,GAAqBA,aAArB;AACA,WAAKC,cAAL,GAAsB,IAAIna,uDAAJ,EAAtB;AACH;;AACDoa,IAAAA,eAAe,GAAG;AACd,YAAM7zC,OAAO,GAAG,KAAKupC,WAAL,CAAiBI,aAAjC;AACA,WAAKmK,oBAAL,GAA4B,KAAKH,aAAL,CAAmBpC,OAAnB,CAA2BvxC,OAA3B,EAAoCA,OAAO,CAACq/B,QAAR,KAAqB,CAArB,IAA0Br/B,OAAO,CAAC2kC,YAAR,CAAqB,wBAArB,CAA9D,EACvBjE,SADuB,CACb0D,MAAM,IAAI,KAAKwP,cAAL,CAAoBG,IAApB,CAAyB3P,MAAzB,CADG,CAA5B;AAEH;;AACD3F,IAAAA,WAAW,GAAG;AACV,WAAKkV,aAAL,CAAmB7B,cAAnB,CAAkC,KAAKvI,WAAvC;;AACA,UAAI,KAAKuK,oBAAT,EAA+B;AAC3B,aAAKA,oBAAL,CAA0BlS,WAA1B;AACH;AACJ;;AAhBiB;;AAkBtB8R,EAAAA,eAAe,CAACptC,IAAhB,GAAuB,SAAS0tC,uBAAT,CAAiCxtC,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAIktC,eAAV,EAA2Bt0C,+DAAA,CAAyBA,qDAAzB,CAA3B,EAAwEA,+DAAA,CAAyBkxC,YAAzB,CAAxE,CAAP;AAAyH,GAAtL;;AACAoD,EAAAA,eAAe,CAACpJ,IAAhB,GAAuB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE65C,eAAR;AAAyBlJ,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,wBAAL,EAA+B,EAA/B,CAAD,EAAqC,CAAC,EAAD,EAAK,wBAAL,EAA+B,EAA/B,CAArC,CAApC;AAA8GyJ,IAAAA,OAAO,EAAE;AAAEL,MAAAA,cAAc,EAAE;AAAlB;AAAvH,GAAzB,CAArC;SAnBMF;;;AA2BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO7sC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOC,CAPhB;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMqtC,wBAAwB,GAAG,kCAAjC;AACA;;AACA,MAAMC,wBAAwB,GAAG,kCAAjC;AACA;;AACA,MAAMC,mCAAmC,GAAG,0BAA5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC;AAAN,QAAMA,wBAAN,CAA+B;AAC3B54C,IAAAA,WAAW,CAACgpC,SAAD,EAAYllC,QAAZ,EAAsB;AAC7B,WAAKklC,SAAL,GAAiBA,SAAjB;AACA,WAAKnH,SAAL,GAAiB/9B,QAAjB;AACH;AACD;;;AACA+0C,IAAAA,mBAAmB,GAAG;AAClB,UAAI,CAAC,KAAK7P,SAAL,CAAeplC,SAApB,EAA+B;AAC3B,eAAO;AAAE;AAAT;AACH,OAHiB,CAIlB;AACA;AACA;;;AACA,YAAMk1C,WAAW,GAAG,KAAKjX,SAAL,CAAelI,aAAf,CAA6B,KAA7B,CAApB;;AACAmf,MAAAA,WAAW,CAACl6C,KAAZ,CAAkBm6C,eAAlB,GAAoC,YAApC;AACAD,MAAAA,WAAW,CAACl6C,KAAZ,CAAkBkD,QAAlB,GAA6B,UAA7B;;AACA,WAAK+/B,SAAL,CAAe93B,IAAf,CAAoBmwB,WAApB,CAAgC4e,WAAhC,EAVkB,CAWlB;AACA;AACA;AACA;;;AACA,YAAME,cAAc,GAAG,KAAKnX,SAAL,CAAeqJ,WAAf,IAA8BrnC,MAArD;AACA,YAAMo1C,aAAa,GAAID,cAAc,IAAIA,cAAc,CAAC1nC,gBAAlC,GAClB0nC,cAAc,CAAC1nC,gBAAf,CAAgCwnC,WAAhC,CADkB,GAC6B,IADnD;AAEA,YAAMI,aAAa,GAAG,CAACD,aAAa,IAAIA,aAAa,CAACF,eAA/B,IAAkD,EAAnD,EAAuDxuC,OAAvD,CAA+D,IAA/D,EAAqE,EAArE,CAAtB;;AACA,WAAKs3B,SAAL,CAAe93B,IAAf,CAAoB6wB,WAApB,CAAgCke,WAAhC;;AACA,cAAQI,aAAR;AACI,aAAK,YAAL;AAAmB,iBAAO;AAAE;AAAT;;AACnB,aAAK,kBAAL;AAAyB,iBAAO;AAAE;AAAT;AAF7B;;AAIA,aAAO;AAAE;AAAT;AACH;AACD;;;AACAC,IAAAA,oCAAoC,GAAG;AACnC,UAAI,CAAC,KAAKC,2BAAN,IAAqC,KAAKpQ,SAAL,CAAeplC,SAApD,IAAiE,KAAKi+B,SAAL,CAAe93B,IAApF,EAA0F;AACtF,cAAMsvC,WAAW,GAAG,KAAKxX,SAAL,CAAe93B,IAAf,CAAoBspB,SAAxC,CADsF,CAEtF;;AACAgmB,QAAAA,WAAW,CAAC9lB,MAAZ,CAAmBolB,mCAAnB;AACAU,QAAAA,WAAW,CAAC9lB,MAAZ,CAAmBklB,wBAAnB;AACAY,QAAAA,WAAW,CAAC9lB,MAAZ,CAAmBmlB,wBAAnB;AACA,aAAKU,2BAAL,GAAmC,IAAnC;AACA,cAAME,IAAI,GAAG,KAAKT,mBAAL,EAAb;;AACA,YAAIS,IAAI,KAAK;AAAE;AAAf,UAAqC;AACjCD,UAAAA,WAAW,CAAC7kC,GAAZ,CAAgBmkC,mCAAhB;AACAU,UAAAA,WAAW,CAAC7kC,GAAZ,CAAgBikC,wBAAhB;AACH,SAHD,MAIK,IAAIa,IAAI,KAAK;AAAE;AAAf,UAAqC;AACtCD,UAAAA,WAAW,CAAC7kC,GAAZ,CAAgBmkC,mCAAhB;AACAU,UAAAA,WAAW,CAAC7kC,GAAZ,CAAgBkkC,wBAAhB;AACH;AACJ;AACJ;;AAnD0B;;AAqD/BE,EAAAA,wBAAwB,CAAC/tC,IAAzB,GAAgC,SAAS0uC,gCAAT,CAA0CxuC,CAA1C,EAA6C;AAAE,WAAO,KAAKA,CAAC,IAAI6tC,wBAAV,EAAoCj1C,sDAAA,CAAgB88B,2DAAhB,CAApC,EAAsE98B,sDAAA,CAAgB25B,qDAAhB,CAAtE,CAAP;AAA0G,GAAzL;;AACAsb,EAAAA,wBAAwB,CAAC5tC,KAAzB,GAAiCuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASouC,gCAAT,GAA4C;AAAE,aAAO,IAAIX,wBAAJ,CAA6Brb,sDAAA,CAAYyC,2DAAZ,CAA7B,EAAuDzC,sDAAA,CAAYF,qDAAZ,CAAvD,CAAP;AAA0F,KAAnJ;AAAqJnyB,IAAAA,KAAK,EAAE0tC,wBAA5J;AAAsL5U,IAAAA,UAAU,EAAE;AAAlM,GAAtB,CAAjC;SAtDM4U;;;AA2DN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOxtC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMouC;AAAN,QAAMA,UAAN,CAAiB;AACbx5C,IAAAA,WAAW,CAACy5C,wBAAD,EAA2B;AAClCA,MAAAA,wBAAwB,CAACN,oCAAzB;AACH;;AAHY;;AAKjBK,EAAAA,UAAU,CAAC3uC,IAAX,GAAkB,SAAS6uC,kBAAT,CAA4B3uC,CAA5B,EAA+B;AAAE,WAAO,KAAKA,CAAC,IAAIyuC,UAAV,EAAsB71C,sDAAA,CAAgBi1C,wBAAhB,CAAtB,CAAP;AAA0E,GAA7H;;AACAY,EAAAA,UAAU,CAACG,IAAX,GAAkB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEo7C;AAAR,GAAxB,CAAhC;AACAA,EAAAA,UAAU,CAACK,IAAX,GAAkB,aAAcl2C,8DAAA,CAAwB;AAAEo2C,IAAAA,OAAO,EAAE,CAAC,CAACzZ,iEAAD,EAAiBE,oEAAjB,CAAD;AAAX,GAAxB,CAAhC;SAPMgZ;;;AAWN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOpuC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAO+D,CAP9E;;AAQA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0B61C,UAA1B,EAAsC;AAAEU,IAAAA,YAAY,EAAE,YAAY;AAAE,aAAO,CAAChG,WAAD,EAAcrG,YAAd,EAA4BoK,eAA5B,CAAP;AAAsD,KAApF;AAAsF8B,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACzZ,iEAAD,EAAiBE,oEAAjB,CAAP;AAA2C,KAAxJ;AAA0J2Z,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACjG,WAAD,EAAcrG,YAAd,EAA4BoK,eAA5B,CAAP;AAAsD;AAAvO,GAAtC,CAAnD;AAAsU,CAArV;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACv6EA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,MAAMqC,YAAY,gBAAG,IAAIxc,yDAAJ,CAAmB,aAAnB,EAAkC;AACnDkG,EAAAA,UAAU,EAAE,MADuC;AAEnD74B,EAAAA,OAAO,EAAEovC;AAF0C,CAAlC,CAArB;AAIA;;AACA,SAASA,oBAAT,GAAgC;AAC5B,SAAOF,qDAAM,CAAC/c,qDAAD,CAAb;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;IACMkd;AAAN,QAAMA,cAAN,CAAqB;AACjBx6C,IAAAA,WAAW,CAAC6hC,SAAD,EAAY;AACnB;AACA,WAAKj7B,KAAL,GAAa,KAAb;AACA;;AACA,WAAKm+B,MAAL,GAAc,IAAI/G,uDAAJ,EAAd;;AACA,UAAI6D,SAAJ,EAAe;AACX;AACA;AACA;AACA;AACA,cAAM4Y,OAAO,GAAG5Y,SAAS,CAAC93B,IAAV,GAAiB83B,SAAS,CAAC93B,IAAV,CAAe2wC,GAAhC,GAAsC,IAAtD;AACA,cAAMC,OAAO,GAAG9Y,SAAS,CAACz5B,eAAV,GAA4By5B,SAAS,CAACz5B,eAAV,CAA0BsyC,GAAtD,GAA4D,IAA5E;AACA,cAAM9zC,KAAK,GAAG6zC,OAAO,IAAIE,OAAzB;AACA,aAAK/zC,KAAL,GAAcA,KAAK,KAAK,KAAV,IAAmBA,KAAK,KAAK,KAA9B,GAAuCA,KAAvC,GAA+C,KAA5D;AACH;AACJ;;AACDo8B,IAAAA,WAAW,GAAG;AACV,WAAK+B,MAAL,CAAY+N,QAAZ;AACH;;AAnBgB;;AAqBrB0H,EAAAA,cAAc,CAAC3vC,IAAf,GAAsB,SAAS+vC,sBAAT,CAAgC7vC,CAAhC,EAAmC;AAAE,WAAO,KAAKA,CAAC,IAAIyvC,cAAV,EAA0B72C,sDAAA,CAAgB22C,YAAhB,EAA8B,CAA9B,CAA1B,CAAP;AAAqE,GAAhI;;AACAE,EAAAA,cAAc,CAACxvC,KAAf,GAAuBuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASyvC,sBAAT,GAAkC;AAAE,aAAO,IAAIJ,cAAJ,CAAmBjd,sDAAA,CAAY+c,YAAZ,EAA0B,CAA1B,CAAnB,CAAP;AAA0D,KAAzG;AAA2GpvC,IAAAA,KAAK,EAAEsvC,cAAlH;AAAkIxW,IAAAA,UAAU,EAAE;AAA9I,GAAtB,CAAvB;SAtBMwW;;;AA0BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOpvC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAQe,CAR9B;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMyvC;AAAN,QAAMA,GAAN,CAAU;AACN76C,IAAAA,WAAW,GAAG;AACV;AACA,WAAK86C,IAAL,GAAY,KAAZ;AACA;;AACA,WAAKC,cAAL,GAAsB,KAAtB;AACA;;AACA,WAAKhW,MAAL,GAAc,IAAI/G,uDAAJ,EAAd;AACH;AACD;;;AACO,QAAH0c,GAAG,GAAG;AAAE,aAAO,KAAKI,IAAZ;AAAmB;;AACxB,QAAHJ,GAAG,CAAC9zC,KAAD,EAAQ;AACX,YAAMo0C,GAAG,GAAG,KAAKF,IAAjB;AACA,YAAMz1C,eAAe,GAAGuB,KAAK,GAAGA,KAAK,CAACkJ,WAAN,EAAH,GAAyBlJ,KAAtD;AACA,WAAKq0C,OAAL,GAAer0C,KAAf;AACA,WAAKk0C,IAAL,GAAaz1C,eAAe,KAAK,KAApB,IAA6BA,eAAe,KAAK,KAAlD,GAA2DA,eAA3D,GAA6E,KAAzF;;AACA,UAAI21C,GAAG,KAAK,KAAKF,IAAb,IAAqB,KAAKC,cAA9B,EAA8C;AAC1C,aAAKhW,MAAL,CAAYuT,IAAZ,CAAiB,KAAKwC,IAAtB;AACH;AACJ;AACD;;;AACS,QAALl0C,KAAK,GAAG;AAAE,aAAO,KAAK8zC,GAAZ;AAAkB;AAChC;;;AACArM,IAAAA,kBAAkB,GAAG;AACjB,WAAK0M,cAAL,GAAsB,IAAtB;AACH;;AACD/X,IAAAA,WAAW,GAAG;AACV,WAAK+B,MAAL,CAAY+N,QAAZ;AACH;;AA5BK;;AA8BV+H,EAAAA,GAAG,CAAChwC,IAAJ,GAAW,SAASqwC,WAAT,CAAqBnwC,CAArB,EAAwB;AAAE,WAAO,KAAKA,CAAC,IAAI8vC,GAAV,GAAP;AAA0B,GAA/D;;AACAA,EAAAA,GAAG,CAAChM,IAAJ,GAAW,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEy8C,GAAR;AAAa9L,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,KAAL,EAAY,EAAZ,CAAD,CAAxB;AAA2CoM,IAAAA,QAAQ,EAAE,CAArD;AAAwDC,IAAAA,YAAY,EAAE,SAASC,gBAAT,CAA0BC,EAA1B,EAA8BxgC,GAA9B,EAAmC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACjK33C,QAAAA,yDAAA,CAAmB,KAAnB,EAA0BmX,GAAG,CAACmgC,OAA9B;AACH;AAAE,KAF2C;AAEzCjM,IAAAA,MAAM,EAAE;AAAE0L,MAAAA,GAAG,EAAE;AAAP,KAFiC;AAEjBlC,IAAAA,OAAO,EAAE;AAAEzT,MAAAA,MAAM,EAAE;AAAV,KAFQ;AAEiBkK,IAAAA,QAAQ,EAAE,CAAC,KAAD,CAF3B;AAEoCC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC;AAAE83C,MAAAA,OAAO,EAAEjB,cAAX;AAA2BkB,MAAAA,WAAW,EAAEb;AAAxC,KAAD,CAA1B,CAAD;AAF9C,GAAzB,CAAzB;SA/BMA;;;AAsCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOzvC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAaC,CAbhB;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMuwC;AAAN,QAAMA,UAAN,CAAiB;;AAEjBA,EAAAA,UAAU,CAAC9wC,IAAX,GAAkB,SAAS+wC,kBAAT,CAA4B7wC,CAA5B,EAA+B;AAAE,WAAO,KAAKA,CAAC,IAAI4wC,UAAV,GAAP;AAAiC,GAApF;;AACAA,EAAAA,UAAU,CAAChC,IAAX,GAAkB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEu9C;AAAR,GAAxB,CAAhC;AACAA,EAAAA,UAAU,CAAC9B,IAAX,GAAkB,aAAcl2C,8DAAA,CAAwB,EAAxB,CAAhC;SAJMg4C;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOvwC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMO,CANtB;;AAOA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0Bg4C,UAA1B,EAAsC;AAAEzB,IAAAA,YAAY,EAAE,CAACW,GAAD,CAAhB;AAAuBV,IAAAA,OAAO,EAAE,CAACU,GAAD;AAAhC,GAAtC,CAAnD;AAAoI,CAAnJ;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpLA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA,MAAMkB,UAAN,CAAiB;AAEjB;;;AACA,SAASC,YAAT,CAAsBp1C,KAAtB,EAA6B;AACzB;AACA;AACA;AACA,SAAOA,KAAK,IAAI,OAAOA,KAAK,CAACq1C,OAAb,KAAyB,UAAzC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMC,eAAN,SAA8BH,UAA9B,CAAyC;AACrC/7C,EAAAA,WAAW,CAACm8C,KAAD,EAAQ;AACf;AACA,SAAKA,KAAL,GAAaA,KAAb;AACH;;AACDF,EAAAA,OAAO,GAAG;AACN,WAAOH,kDAAY,CAAC,KAAKK,KAAN,CAAZ,GAA2B,KAAKA,KAAhC,GAAwC7d,wCAAE,CAAC,KAAK6d,KAAN,CAAjD;AACH;;AACDC,EAAAA,UAAU,GAAG,CAAG;;AARqB;AAWzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,4BAAN,CAAmC;AAC/BC,EAAAA,YAAY,CAACtX,OAAD,EAAUuX,gBAAV,EAA4BC,kBAA5B,EAAgDC,iBAAhD,EAAmEC,eAAnE,EAAoF;AAC5F1X,IAAAA,OAAO,CAAC2X,gBAAR,CAAyB,CAACC,MAAD,EAASC,qBAAT,EAAgCC,YAAhC,KAAiD;AACtE,UAAIC,IAAJ;AACA,UAAIC,SAAJ;;AACA,UAAIJ,MAAM,CAACK,aAAP,IAAwB,IAA5B,EAAkC;AAC9B,cAAMC,aAAa,GAAGV,kBAAkB,CAACI,MAAD,EAASC,qBAAT,EAAgCC,YAAhC,CAAxC;AACAC,QAAAA,IAAI,GAAGR,gBAAgB,CAACY,kBAAjB,CAAoCD,aAAa,CAACE,WAAlD,EAA+DF,aAAa,CAAC1sC,OAA7E,EAAsF0sC,aAAa,CAAC93B,KAApG,CAAP;AACA43B,QAAAA,SAAS,GAAG;AAAE;AAAd;AACH,OAJD,MAKK,IAAIF,YAAY,IAAI,IAApB,EAA0B;AAC3BP,QAAAA,gBAAgB,CAAChpB,MAAjB,CAAwBspB,qBAAxB;AACAG,QAAAA,SAAS,GAAG;AAAE;AAAd;AACH,OAHI,MAIA;AACDD,QAAAA,IAAI,GAAGR,gBAAgB,CAACz1C,GAAjB,CAAqB+1C,qBAArB,CAAP;AACAN,QAAAA,gBAAgB,CAACc,IAAjB,CAAsBN,IAAtB,EAA4BD,YAA5B;AACAE,QAAAA,SAAS,GAAG;AAAE;AAAd;AACH;;AACD,UAAIN,eAAJ,EAAqB;AACjBA,QAAAA,eAAe,CAAC;AACZlsC,UAAAA,OAAO,EAAEusC,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACvsC,OAD9C;AAEZwsC,UAAAA,SAFY;AAGZJ,UAAAA;AAHY,SAAD,CAAf;AAKH;AACJ,KAxBD;AAyBH;;AACDU,EAAAA,MAAM,GAAG,CACR;;AA7B8B;AAgCnC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,4BAAN,CAAmC;AAC/Bv9C,EAAAA,WAAW,GAAG;AACV;AACR;AACA;AACA;AACQ,SAAKw9C,aAAL,GAAqB,EAArB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,SAAKC,UAAL,GAAkB,EAAlB;AACH;AACD;;;AACAnB,EAAAA,YAAY,CAACtX,OAAD,EAAUuX,gBAAV,EAA4BC,kBAA5B,EAAgDC,iBAAhD,EAAmEC,eAAnE,EAAoF;AAC5F;AACA1X,IAAAA,OAAO,CAAC2X,gBAAR,CAAyB,CAACC,MAAD,EAASC,qBAAT,EAAgCC,YAAhC,KAAiD;AACtE,UAAIC,IAAJ;AACA,UAAIC,SAAJ;;AACA,UAAIJ,MAAM,CAACK,aAAP,IAAwB,IAA5B,EAAkC;AAAE;AAChC,cAAMS,eAAe,GAAG,MAAMlB,kBAAkB,CAACI,MAAD,EAASC,qBAAT,EAAgCC,YAAhC,CAAhD;;AACAC,QAAAA,IAAI,GAAG,KAAKY,WAAL,CAAiBD,eAAjB,EAAkCZ,YAAlC,EAAgDP,gBAAhD,EAAkEE,iBAAiB,CAACG,MAAD,CAAnF,CAAP;AACAI,QAAAA,SAAS,GAAGD,IAAI,GAAG;AAAE;AAAL,UAAsB;AAAE;AAAxC;AACH,OAJD,MAKK,IAAID,YAAY,IAAI,IAApB,EAA0B;AAAE;AAC7B,aAAKc,mBAAL,CAAyBf,qBAAzB,EAAgDN,gBAAhD;;AACAS,QAAAA,SAAS,GAAG;AAAE;AAAd;AACH,OAHI,MAIA;AAAE;AACHD,QAAAA,IAAI,GAAG,KAAKc,SAAL,CAAehB,qBAAf,EAAsCC,YAAtC,EAAoDP,gBAApD,EAAsEE,iBAAiB,CAACG,MAAD,CAAvF,CAAP;AACAI,QAAAA,SAAS,GAAG;AAAE;AAAd;AACH;;AACD,UAAIN,eAAJ,EAAqB;AACjBA,QAAAA,eAAe,CAAC;AACZlsC,UAAAA,OAAO,EAAEusC,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACvsC,OAD9C;AAEZwsC,UAAAA,SAFY;AAGZJ,UAAAA;AAHY,SAAD,CAAf;AAKH;AACJ,KAvBD;AAwBH;;AACDU,EAAAA,MAAM,GAAG;AACL,SAAK,MAAMP,IAAX,IAAmB,KAAKU,UAAxB,EAAoC;AAChCV,MAAAA,IAAI,CAACp7C,OAAL;AACH;;AACD,SAAK87C,UAAL,GAAkB,EAAlB;AACH;AACD;AACJ;AACA;AACA;;;AACIE,EAAAA,WAAW,CAACD,eAAD,EAAkBZ,YAAlB,EAAgCP,gBAAhC,EAAkD31C,KAAlD,EAAyD;AAChE,UAAMk3C,UAAU,GAAG,KAAKC,oBAAL,CAA0BjB,YAA1B,EAAwCP,gBAAxC,CAAnB;;AACA,QAAIuB,UAAJ,EAAgB;AACZA,MAAAA,UAAU,CAACttC,OAAX,CAAmBwtC,SAAnB,GAA+Bp3C,KAA/B;AACA,aAAON,SAAP;AACH;;AACD,UAAM23C,QAAQ,GAAGP,eAAe,EAAhC;AACA,WAAOnB,gBAAgB,CAACY,kBAAjB,CAAoCc,QAAQ,CAACb,WAA7C,EAA0Da,QAAQ,CAACztC,OAAnE,EAA4EytC,QAAQ,CAAC74B,KAArF,CAAP;AACH;AACD;;;AACAw4B,EAAAA,mBAAmB,CAACx4B,KAAD,EAAQm3B,gBAAR,EAA0B;AACzC,UAAM2B,YAAY,GAAG3B,gBAAgB,CAACe,MAAjB,CAAwBl4B,KAAxB,CAArB;;AACA,SAAK+4B,eAAL,CAAqBD,YAArB,EAAmC3B,gBAAnC;AACH;AACD;;;AACAsB,EAAAA,SAAS,CAAChB,qBAAD,EAAwBC,YAAxB,EAAsCP,gBAAtC,EAAwD31C,KAAxD,EAA+D;AACpE,UAAMm2C,IAAI,GAAGR,gBAAgB,CAACz1C,GAAjB,CAAqB+1C,qBAArB,CAAb;AACAN,IAAAA,gBAAgB,CAACc,IAAjB,CAAsBN,IAAtB,EAA4BD,YAA5B;AACAC,IAAAA,IAAI,CAACvsC,OAAL,CAAawtC,SAAb,GAAyBp3C,KAAzB;AACA,WAAOm2C,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIoB,EAAAA,eAAe,CAACpB,IAAD,EAAOR,gBAAP,EAAyB;AACpC,QAAI,KAAKkB,UAAL,CAAgBt7C,MAAhB,GAAyB,KAAKq7C,aAAlC,EAAiD;AAC7C,WAAKC,UAAL,CAAgBz8C,IAAhB,CAAqB+7C,IAArB;AACH,KAFD,MAGK;AACD,YAAM33B,KAAK,GAAGm3B,gBAAgB,CAACp1C,OAAjB,CAAyB41C,IAAzB,CAAd,CADC,CAED;AACA;AACA;AACA;;AACA,UAAI33B,KAAK,KAAK,CAAC,CAAf,EAAkB;AACd23B,QAAAA,IAAI,CAACp7C,OAAL;AACH,OAFD,MAGK;AACD46C,QAAAA,gBAAgB,CAAChpB,MAAjB,CAAwBnO,KAAxB;AACH;AACJ;AACJ;AACD;;;AACA24B,EAAAA,oBAAoB,CAAC34B,KAAD,EAAQm3B,gBAAR,EAA0B;AAC1C,UAAMuB,UAAU,GAAG,KAAKL,UAAL,CAAgBW,GAAhB,EAAnB;;AACA,QAAIN,UAAJ,EAAgB;AACZvB,MAAAA,gBAAgB,CAAC8B,MAAjB,CAAwBP,UAAxB,EAAoC14B,KAApC;AACH;;AACD,WAAO04B,UAAU,IAAI,IAArB;AACH;;AAxG8B;AA2GnC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMQ,cAAN,CAAqB;AACjBt+C,EAAAA,WAAW,CAACu+C,SAAS,GAAG,KAAb,EAAoBC,uBAApB,EAA6CC,YAAY,GAAG,IAA5D,EAAkE;AACzE,SAAKF,SAAL,GAAiBA,SAAjB;AACA,SAAKE,YAAL,GAAoBA,YAApB;AACA;;AACA,SAAKC,UAAL,GAAkB,IAAItsC,GAAJ,EAAlB;AACA;;AACA,SAAKusC,iBAAL,GAAyB,EAAzB;AACA;;AACA,SAAKC,eAAL,GAAuB,EAAvB;AACA;;AACA,SAAKC,OAAL,GAAe,IAAI1gB,yCAAJ,EAAf;;AACA,QAAIqgB,uBAAuB,IAAIA,uBAAuB,CAACr8C,MAAvD,EAA+D;AAC3D,UAAIo8C,SAAJ,EAAe;AACXC,QAAAA,uBAAuB,CAAC39C,OAAxB,CAAgC+F,KAAK,IAAI,KAAKk4C,aAAL,CAAmBl4C,KAAnB,CAAzC;AACH,OAFD,MAGK;AACD,aAAKk4C,aAAL,CAAmBN,uBAAuB,CAAC,CAAD,CAA1C;AACH,OAN0D,CAO3D;;;AACA,WAAKI,eAAL,CAAqBz8C,MAArB,GAA8B,CAA9B;AACH;AACJ;AACD;;;AACY,MAAR48C,QAAQ,GAAG;AACX,QAAI,CAAC,KAAKC,SAAV,EAAqB;AACjB,WAAKA,SAAL,GAAiBzxC,KAAK,CAACsgB,IAAN,CAAW,KAAK6wB,UAAL,CAAgB/pC,MAAhB,EAAX,CAAjB;AACH;;AACD,WAAO,KAAKqqC,SAAZ;AACH;AACD;AACJ;AACA;;;AACIC,EAAAA,MAAM,CAAC,GAAGtqC,MAAJ,EAAY;AACd,SAAKuqC,sBAAL,CAA4BvqC,MAA5B;;AACAA,IAAAA,MAAM,CAAC9T,OAAP,CAAe+F,KAAK,IAAI,KAAKk4C,aAAL,CAAmBl4C,KAAnB,CAAxB;;AACA,SAAKu4C,gBAAL;AACH;AACD;AACJ;AACA;;;AACIC,EAAAA,QAAQ,CAAC,GAAGzqC,MAAJ,EAAY;AAChB,SAAKuqC,sBAAL,CAA4BvqC,MAA5B;;AACAA,IAAAA,MAAM,CAAC9T,OAAP,CAAe+F,KAAK,IAAI,KAAKy4C,eAAL,CAAqBz4C,KAArB,CAAxB;;AACA,SAAKu4C,gBAAL;AACH;AACD;AACJ;AACA;;;AACIG,EAAAA,MAAM,CAAC14C,KAAD,EAAQ;AACV,SAAK24C,UAAL,CAAgB34C,KAAhB,IAAyB,KAAKw4C,QAAL,CAAcx4C,KAAd,CAAzB,GAAgD,KAAKq4C,MAAL,CAAYr4C,KAAZ,CAAhD;AACH;AACD;AACJ;AACA;;;AACIgS,EAAAA,KAAK,GAAG;AACJ,SAAK4mC,UAAL;;AACA,SAAKL,gBAAL;AACH;AACD;AACJ;AACA;;;AACII,EAAAA,UAAU,CAAC34C,KAAD,EAAQ;AACd,WAAO,KAAK83C,UAAL,CAAgBjsC,GAAhB,CAAoB7L,KAApB,CAAP;AACH;AACD;AACJ;AACA;;;AACI0O,EAAAA,OAAO,GAAG;AACN,WAAO,KAAKopC,UAAL,CAAgBjqC,IAAhB,KAAyB,CAAhC;AACH;AACD;AACJ;AACA;;;AACIgrC,EAAAA,QAAQ,GAAG;AACP,WAAO,CAAC,KAAKnqC,OAAL,EAAR;AACH;AACD;AACJ;AACA;;;AACImV,EAAAA,IAAI,CAAC8a,SAAD,EAAY;AACZ,QAAI,KAAKgZ,SAAL,IAAkB,KAAKQ,QAA3B,EAAqC;AACjC,WAAKC,SAAL,CAAev0B,IAAf,CAAoB8a,SAApB;AACH;AACJ;AACD;AACJ;AACA;;;AACIma,EAAAA,mBAAmB,GAAG;AAClB,WAAO,KAAKnB,SAAZ;AACH;AACD;;;AACAY,EAAAA,gBAAgB,GAAG;AACf;AACA,SAAKH,SAAL,GAAiB,IAAjB;;AACA,QAAI,KAAKJ,eAAL,CAAqBz8C,MAArB,IAA+B,KAAKw8C,iBAAL,CAAuBx8C,MAA1D,EAAkE;AAC9D,WAAK08C,OAAL,CAAapvC,IAAb,CAAkB;AACdkwC,QAAAA,MAAM,EAAE,IADM;AAEdC,QAAAA,KAAK,EAAE,KAAKhB,eAFE;AAGdiB,QAAAA,OAAO,EAAE,KAAKlB;AAHA,OAAlB;AAKA,WAAKA,iBAAL,GAAyB,EAAzB;AACA,WAAKC,eAAL,GAAuB,EAAvB;AACH;AACJ;AACD;;;AACAE,EAAAA,aAAa,CAACl4C,KAAD,EAAQ;AACjB,QAAI,CAAC,KAAK24C,UAAL,CAAgB34C,KAAhB,CAAL,EAA6B;AACzB,UAAI,CAAC,KAAK23C,SAAV,EAAqB;AACjB,aAAKiB,UAAL;AACH;;AACD,WAAKd,UAAL,CAAgBlqC,GAAhB,CAAoB5N,KAApB;;AACA,UAAI,KAAK63C,YAAT,EAAuB;AACnB,aAAKG,eAAL,CAAqB59C,IAArB,CAA0B4F,KAA1B;AACH;AACJ;AACJ;AACD;;;AACAy4C,EAAAA,eAAe,CAACz4C,KAAD,EAAQ;AACnB,QAAI,KAAK24C,UAAL,CAAgB34C,KAAhB,CAAJ,EAA4B;AACxB,WAAK83C,UAAL,CAAgBjmC,MAAhB,CAAuB7R,KAAvB;;AACA,UAAI,KAAK63C,YAAT,EAAuB;AACnB,aAAKE,iBAAL,CAAuB39C,IAAvB,CAA4B4F,KAA5B;AACH;AACJ;AACJ;AACD;;;AACA44C,EAAAA,UAAU,GAAG;AACT,QAAI,CAAC,KAAKlqC,OAAL,EAAL,EAAqB;AACjB,WAAKopC,UAAL,CAAgB79C,OAAhB,CAAwB+F,KAAK,IAAI,KAAKy4C,eAAL,CAAqBz4C,KAArB,CAAjC;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACIs4C,EAAAA,sBAAsB,CAACvqC,MAAD,EAAS;AAC3B,QAAIA,MAAM,CAACxS,MAAP,GAAgB,CAAhB,IAAqB,CAAC,KAAKo8C,SAA3B,KAAyC,OAAOnzC,SAAP,KAAqB,WAArB,IAAoCA,SAA7E,CAAJ,EAA6F;AACzF,YAAM00C,uCAAuC,EAA7C;AACH;AACJ;;AA5IgB;AA8IrB;AACA;AACA;AACA;AACA;;;AACA,SAASA,uCAAT,GAAmD;AAC/C,SAAOr6C,KAAK,CAAC,yEAAD,CAAZ;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMs6C;AAAN,QAAMA,yBAAN,CAAgC;AAC5B//C,IAAAA,WAAW,GAAG;AACV,WAAKggD,UAAL,GAAkB,EAAlB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIC,IAAAA,MAAM,CAAC74C,EAAD,EAAKlJ,IAAL,EAAW;AACb,WAAK,IAAIqrB,QAAT,IAAqB,KAAKy2B,UAA1B,EAAsC;AAClCz2B,QAAAA,QAAQ,CAACniB,EAAD,EAAKlJ,IAAL,CAAR;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACImnB,IAAAA,MAAM,CAACkE,QAAD,EAAW;AACb,WAAKy2B,UAAL,CAAgBh/C,IAAhB,CAAqBuoB,QAArB;;AACA,aAAO,MAAM;AACT,aAAKy2B,UAAL,GAAkB,KAAKA,UAAL,CAAgBlmC,MAAhB,CAAwBomC,UAAD,IAAgB;AACrD,iBAAO32B,QAAQ,KAAK22B,UAApB;AACH,SAFiB,CAAlB;AAGH,OAJD;AAKH;;AACDld,IAAAA,WAAW,GAAG;AACV,WAAKgd,UAAL,GAAkB,EAAlB;AACH;;AA5B2B;;AA8BhCD,EAAAA,yBAAyB,CAACl1C,IAA1B,GAAiC,SAASs1C,iCAAT,CAA2Cp1C,CAA3C,EAA8C;AAAE,WAAO,KAAKA,CAAC,IAAIg1C,yBAAV,GAAP;AAAgD,GAAjI;;AACAA,EAAAA,yBAAyB,CAAC/0C,KAA1B,GAAkCuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASg1C,iCAAT,GAA6C;AAAE,aAAO,IAAIJ,yBAAJ,EAAP;AAAyC,KAAnG;AAAqG70C,IAAAA,KAAK,EAAE60C,yBAA5G;AAAuI/b,IAAAA,UAAU,EAAE;AAAnJ,GAAtB,CAAlC;SA/BM+b;;;AAgCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO30C,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAG6B,CAH5C;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMg1C,uBAAuB,gBAAG,IAAItiB,yDAAJ,CAAmB,eAAnB,CAAhC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACndA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMuiB,SAAS,GAAG,CAAlB;AACA,MAAMC,SAAS,GAAG,CAAlB;AACA,MAAMphB,GAAG,GAAG,CAAZ;AACA,MAAMqhB,UAAU,GAAG,EAAnB;AACA,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMjhB,KAAK,GAAG,EAAd;AACA,MAAMH,OAAO,GAAG,EAAhB;AACA,MAAMD,GAAG,GAAG,EAAZ;AACA,MAAMshB,KAAK,GAAG,EAAd;AACA,MAAMC,SAAS,GAAG,EAAlB;AACA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMC,OAAO,GAAG,EAAhB;AACA,MAAMC,SAAS,GAAG,EAAlB;AACA,MAAMliB,GAAG,GAAG,EAAZ;AACA,MAAMC,IAAI,GAAG,EAAb;AACA,MAAMC,UAAU,GAAG,EAAnB;AACA,MAAME,QAAQ,GAAG,EAAjB;AACA,MAAMD,WAAW,GAAG,EAApB;AACA,MAAME,UAAU,GAAG,EAAnB;AACA,MAAM8hB,SAAS,GAAG,EAAlB;AACA,MAAMC,YAAY,GAAG,EAArB;AACA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMxiB,IAAI,GAAG,EAAb;AACA,MAAMyiB,GAAG,GAAG,EAAZ;AACA,MAAMC,GAAG,GAAG,EAAZ;AACA,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMC,IAAI,GAAG,EAAb;AACA,MAAMC,IAAI,GAAG,EAAb;AACA,MAAMC,GAAG,GAAG,EAAZ;AACA,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMC,KAAK,GAAG,EAAd;AACA,MAAM/iB,IAAI,GAAG,EAAb;AACA,MAAMgjB,YAAY,GAAG,EAArB,EAAyB;;AACzB,MAAMC,SAAS,GAAG,EAAlB,EAAsB;;AACtB,MAAMC,aAAa,GAAG,EAAtB;AACA,MAAMC,OAAO,GAAG,EAAhB;AACA,MAAMtjB,CAAC,GAAG,EAAV;AACA,MAAMujB,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAMC,CAAC,GAAG,EAAV;AACA,MAAM7kB,CAAC,GAAG,EAAV;AACA,MAAMa,IAAI,GAAG,EAAb,EAAiB;;AACjB,MAAMikB,eAAe,GAAG,EAAxB;AACA,MAAMC,gBAAgB,GAAG,EAAzB;AACA,MAAMC,YAAY,GAAG,EAArB;AACA,MAAMC,WAAW,GAAG,EAApB;AACA,MAAMC,UAAU,GAAG,EAAnB;AACA,MAAMC,UAAU,GAAG,EAAnB;AACA,MAAMC,YAAY,GAAG,EAArB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,UAAU,GAAG,GAAnB;AACA,MAAMC,YAAY,GAAG,GAArB;AACA,MAAMC,YAAY,GAAG,GAArB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,eAAe,GAAG,GAAxB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,YAAY,GAAG,GAArB;AACA,MAAMC,aAAa,GAAG,GAAtB;AACA,MAAMC,aAAa,GAAG,GAAtB;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,GAAG,GAAG,GAAZ;AACA,MAAMC,GAAG,GAAG,GAAZ;AACA,MAAMC,GAAG,GAAG,GAAZ;AACA,MAAMC,QAAQ,GAAG,GAAjB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,QAAQ,GAAG,GAAjB;AACA,MAAMC,IAAI,GAAG,GAAb,EAAkB;;AAClB,MAAMC,WAAW,GAAG,GAApB,EAAyB;;AACzB,MAAMC,SAAS,GAAG,GAAlB,EAAuB;;AACvB,MAAMC,OAAO,GAAG,GAAhB;AACA,MAAMC,cAAc,GAAG,GAAvB;AACA,MAAMC,UAAU,GAAG,GAAnB;AACA,MAAMC,YAAY,GAAG,GAArB;AACA,MAAMC,SAAS,GAAG,GAAlB,EAAuB;;AACvB,MAAMC,MAAM,GAAG,GAAf,EAAoB;;AACpB,MAAMC,KAAK,GAAG,GAAd;AACA,MAAMC,IAAI,GAAG,GAAb,EAAkB;;AAClB,MAAMC,MAAM,GAAG,GAAf;AACA,MAAMC,KAAK,GAAG,GAAd;AACA,MAAMC,UAAU,GAAG,GAAnB;AACA,MAAMC,KAAK,GAAG,GAAd;AACA,MAAMC,mBAAmB,GAAG,GAA5B;AACA,MAAMC,SAAS,GAAG,GAAlB;AACA,MAAMC,oBAAoB,GAAG,GAA7B;AACA,MAAMC,YAAY,GAAG,GAArB;AACA,MAAMtnB,QAAQ,GAAG,GAAjB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,SAASd,cAAT,CAAwB14B,KAAxB,EAA+B,GAAGkhC,SAAlC,EAA6C;AACzC,MAAIA,SAAS,CAAC5kC,MAAd,EAAsB;AAClB,WAAO4kC,SAAS,CAACjvB,IAAV,CAAeovB,QAAQ,IAAIrhC,KAAK,CAACqhC,QAAD,CAAhC,CAAP;AACH;;AACD,SAAOrhC,KAAK,CAAC+gD,MAAN,IAAgB/gD,KAAK,CAACghD,QAAtB,IAAkChhD,KAAK,CAACihD,OAAxC,IAAmDjhD,KAAK,CAACkhD,OAAhE;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AC3JA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA;IACMG;AAAN,QAAMA,uBAAN,CAA8B;AAC1B9oC,IAAAA,MAAM,CAACtY,QAAD,EAAW;AACb,aAAO,OAAOqhD,gBAAP,KAA4B,WAA5B,GAA0C,IAA1C,GAAiD,IAAIA,gBAAJ,CAAqBrhD,QAArB,CAAxD;AACH;;AAHyB;;AAK9BohD,EAAAA,uBAAuB,CAACr8C,IAAxB,GAA+B,SAASu8C,+BAAT,CAAyCr8C,CAAzC,EAA4C;AAAE,WAAO,KAAKA,CAAC,IAAIm8C,uBAAV,GAAP;AAA8C,GAA3H;;AACAA,EAAAA,uBAAuB,CAACl8C,KAAxB,GAAgCuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASi8C,+BAAT,GAA2C;AAAE,aAAO,IAAIF,uBAAJ,EAAP;AAAuC,KAA/F;AAAiGh8C,IAAAA,KAAK,EAAEg8C,uBAAxG;AAAiIljB,IAAAA,UAAU,EAAE;AAA7I,GAAtB,CAAhC;SANMkjB;;;AAON;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO97C,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGO,CAHtB;AAIA;;;IACMm1B;AAAN,QAAMA,eAAN,CAAsB;AAClBvgC,IAAAA,WAAW,CAACqnD,wBAAD,EAA2B;AAClC,WAAKA,wBAAL,GAAgCA,wBAAhC;AACA;;AACA,WAAKC,iBAAL,GAAyB,IAAIzgD,GAAJ,EAAzB;AACH;;AACDm8B,IAAAA,WAAW,GAAG;AACV,WAAKskB,iBAAL,CAAuBzmD,OAAvB,CAA+B,CAACuO,CAAD,EAAI7K,OAAJ,KAAgB,KAAKgjD,gBAAL,CAAsBhjD,OAAtB,CAA/C;AACH;;AACDgwC,IAAAA,OAAO,CAACiT,YAAD,EAAe;AAClB,YAAMjjD,OAAO,GAAGw7B,oEAAa,CAACynB,YAAD,CAA7B;AACA,aAAO,IAAIP,4CAAJ,CAAgBQ,QAAD,IAAc;AAChC,cAAMC,MAAM,GAAG,KAAKC,eAAL,CAAqBpjD,OAArB,CAAf;;AACA,cAAMqjD,YAAY,GAAGF,MAAM,CAACziB,SAAP,CAAiBwiB,QAAjB,CAArB;AACA,eAAO,MAAM;AACTG,UAAAA,YAAY,CAACzhB,WAAb;;AACA,eAAK0hB,iBAAL,CAAuBtjD,OAAvB;AACH,SAHD;AAIH,OAPM,CAAP;AAQH;AACD;AACJ;AACA;AACA;;;AACIojD,IAAAA,eAAe,CAACpjD,OAAD,EAAU;AACrB,UAAI,CAAC,KAAK+iD,iBAAL,CAAuB70C,GAAvB,CAA2BlO,OAA3B,CAAL,EAA0C;AACtC,cAAMmjD,MAAM,GAAG,IAAIvpB,yCAAJ,EAAf;;AACA,cAAMspB,QAAQ,GAAG,KAAKJ,wBAAL,CAA8BjpC,MAA9B,CAAqC0pC,SAAS,IAAIJ,MAAM,CAACj4C,IAAP,CAAYq4C,SAAZ,CAAlD,CAAjB;;AACA,YAAIL,QAAJ,EAAc;AACVA,UAAAA,QAAQ,CAAClT,OAAT,CAAiBhwC,OAAjB,EAA0B;AACtBwjD,YAAAA,aAAa,EAAE,IADO;AAEtBC,YAAAA,SAAS,EAAE,IAFW;AAGtBC,YAAAA,OAAO,EAAE;AAHa,WAA1B;AAKH;;AACD,aAAKX,iBAAL,CAAuBvgD,GAAvB,CAA2BxC,OAA3B,EAAoC;AAAEkjD,UAAAA,QAAF;AAAYC,UAAAA,MAAZ;AAAoB1vB,UAAAA,KAAK,EAAE;AAA3B,SAApC;AACH,OAXD,MAYK;AACD,aAAKsvB,iBAAL,CAAuBxgD,GAAvB,CAA2BvC,OAA3B,EAAoCyzB,KAApC;AACH;;AACD,aAAO,KAAKsvB,iBAAL,CAAuBxgD,GAAvB,CAA2BvC,OAA3B,EAAoCmjD,MAA3C;AACH;AACD;AACJ;AACA;AACA;;;AACIG,IAAAA,iBAAiB,CAACtjD,OAAD,EAAU;AACvB,UAAI,KAAK+iD,iBAAL,CAAuB70C,GAAvB,CAA2BlO,OAA3B,CAAJ,EAAyC;AACrC,aAAK+iD,iBAAL,CAAuBxgD,GAAvB,CAA2BvC,OAA3B,EAAoCyzB,KAApC;;AACA,YAAI,CAAC,KAAKsvB,iBAAL,CAAuBxgD,GAAvB,CAA2BvC,OAA3B,EAAoCyzB,KAAzC,EAAgD;AAC5C,eAAKuvB,gBAAL,CAAsBhjD,OAAtB;AACH;AACJ;AACJ;AACD;;;AACAgjD,IAAAA,gBAAgB,CAAChjD,OAAD,EAAU;AACtB,UAAI,KAAK+iD,iBAAL,CAAuB70C,GAAvB,CAA2BlO,OAA3B,CAAJ,EAAyC;AACrC,cAAM;AAAEkjD,UAAAA,QAAF;AAAYC,UAAAA;AAAZ,YAAuB,KAAKJ,iBAAL,CAAuBxgD,GAAvB,CAA2BvC,OAA3B,CAA7B;;AACA,YAAIkjD,QAAJ,EAAc;AACVA,UAAAA,QAAQ,CAACrL,UAAT;AACH;;AACDsL,QAAAA,MAAM,CAAC5U,QAAP;;AACA,aAAKwU,iBAAL,CAAuB7uC,MAAvB,CAA8BlU,OAA9B;AACH;AACJ;;AAhEiB;;AAkEtBg8B,EAAAA,eAAe,CAAC11B,IAAhB,GAAuB,SAASq9C,uBAAT,CAAiCn9C,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAIw1B,eAAV,EAA2B58B,sDAAA,CAAgBujD,uBAAhB,CAA3B,CAAP;AAA8E,GAA3I;;AACA3mB,EAAAA,eAAe,CAACv1B,KAAhB,GAAwBuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAAS+8C,uBAAT,GAAmC;AAAE,aAAO,IAAI3nB,eAAJ,CAAoBhD,sDAAA,CAAY2pB,uBAAZ,CAApB,CAAP;AAAmE,KAAnH;AAAqHh8C,IAAAA,KAAK,EAAEq1B,eAA5H;AAA6IyD,IAAAA,UAAU,EAAE;AAAzJ,GAAtB,CAAxB;SAnEMzD;;;AAuEN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOn1B,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAG8D,CAH7E;AAIA;AACA;AACA;AACA;;;IACM+8C;AAAN,QAAMA,iBAAN,CAAwB;AACpBnoD,IAAAA,WAAW,CAACo0C,gBAAD,EAAmBtG,WAAnB,EAAgCzC,OAAhC,EAAyC;AAChD,WAAK+I,gBAAL,GAAwBA,gBAAxB;AACA,WAAKtG,WAAL,GAAmBA,WAAnB;AACA,WAAKzC,OAAL,GAAeA,OAAf;AACA;;AACA,WAAKxlC,KAAL,GAAa,IAAIm4B,uDAAJ,EAAb;AACA,WAAKoqB,SAAL,GAAiB,KAAjB;AACA,WAAKC,oBAAL,GAA4B,IAA5B;AACH;AACD;AACJ;AACA;AACA;;;AACgB,QAARpiD,QAAQ,GAAG;AAAE,aAAO,KAAKmiD,SAAZ;AAAwB;;AAC7B,QAARniD,QAAQ,CAACW,KAAD,EAAQ;AAChB,WAAKwhD,SAAL,GAAiBtoB,4EAAqB,CAACl5B,KAAD,CAAtC;AACA,WAAKwhD,SAAL,GAAiB,KAAKE,YAAL,EAAjB,GAAuC,KAAKC,UAAL,EAAvC;AACH;AACD;;;AACY,QAARC,QAAQ,GAAG;AAAE,aAAO,KAAKC,SAAZ;AAAwB;;AAC7B,QAARD,QAAQ,CAAC5hD,KAAD,EAAQ;AAChB,WAAK6hD,SAAL,GAAiBzB,2EAAoB,CAACpgD,KAAD,CAArC;;AACA,WAAK2hD,UAAL;AACH;;AACDla,IAAAA,kBAAkB,GAAG;AACjB,UAAI,CAAC,KAAKga,oBAAN,IAA8B,CAAC,KAAKpiD,QAAxC,EAAkD;AAC9C,aAAKsiD,UAAL;AACH;AACJ;;AACDvlB,IAAAA,WAAW,GAAG;AACV,WAAKslB,YAAL;AACH;;AACDC,IAAAA,UAAU,GAAG;AACT,WAAKD,YAAL;;AACA,YAAMZ,MAAM,GAAG,KAAKtT,gBAAL,CAAsBG,OAAtB,CAA8B,KAAKzG,WAAnC,CAAf,CAFS,CAGT;AACA;AACA;AACA;;;AACA,WAAKzC,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACjC,aAAKkc,oBAAL,GACI,CAAC,KAAKG,QAAL,GAAgBd,MAAM,CAACthB,IAAP,CAAY3G,4DAAY,CAAC,KAAK+oB,QAAN,CAAxB,CAAhB,GAA2Dd,MAA5D,EAAoEziB,SAApE,CAA8E,KAAKp/B,KAAnF,CADJ;AAEH,OAHD;AAIH;;AACDyiD,IAAAA,YAAY,GAAG;AACX,UAAIjuB,EAAJ;;AACA,OAACA,EAAE,GAAG,KAAKguB,oBAAX,MAAqC,IAArC,IAA6ChuB,EAAE,KAAK,KAAK,CAAzD,GAA6D,KAAK,CAAlE,GAAsEA,EAAE,CAAC8L,WAAH,EAAtE;AACH;;AAhDmB;;AAkDxBgiB,EAAAA,iBAAiB,CAACt9C,IAAlB,GAAyB,SAAS69C,yBAAT,CAAmC39C,CAAnC,EAAsC;AAAE,WAAO,KAAKA,CAAC,IAAIo9C,iBAAV,EAA6BxkD,+DAAA,CAAyB48B,eAAzB,CAA7B,EAAwE58B,+DAAA,CAAyBA,qDAAzB,CAAxE,EAAqHA,+DAAA,CAAyBA,iDAAzB,CAArH,CAAP;AAAuK,GAAxO;;AACAwkD,EAAAA,iBAAiB,CAACtZ,IAAlB,GAAyB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE+pD,iBAAR;AAA2BpZ,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,mBAAL,EAA0B,EAA1B,CAAD,CAAtC;AAAuEC,IAAAA,MAAM,EAAE;AAAE/oC,MAAAA,QAAQ,EAAE,CAAC,2BAAD,EAA8B,UAA9B,CAAZ;AAAuDuiD,MAAAA,QAAQ,EAAE;AAAjE,KAA/E;AAA8JhQ,IAAAA,OAAO,EAAE;AAAE3yC,MAAAA,KAAK,EAAE;AAAT,KAAvK;AAAuMopC,IAAAA,QAAQ,EAAE,CAAC,mBAAD;AAAjN,GAAzB,CAAvC;SAnDMkZ;;;AA8DN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/8C,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAcC,CAdhB;;IAeMo1B;AAAN,QAAMA,eAAN,CAAsB;;AAEtBA,EAAAA,eAAe,CAAC31B,IAAhB,GAAuB,SAAS89C,uBAAT,CAAiC59C,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAIy1B,eAAV,GAAP;AAAsC,GAAnG;;AACAA,EAAAA,eAAe,CAACmZ,IAAhB,GAAuB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEoiC;AAAR,GAAxB,CAArC;AACAA,EAAAA,eAAe,CAACqZ,IAAhB,GAAuB,aAAcl2C,8DAAA,CAAwB;AAAEilD,IAAAA,SAAS,EAAE,CAAC1B,uBAAD;AAAb,GAAxB,CAArC;SAJM1mB;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOp1B,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOO,CAPtB;;AAQA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0B68B,eAA1B,EAA2C;AAAE0Z,IAAAA,YAAY,EAAE,CAACiO,iBAAD,CAAhB;AAAqChO,IAAAA,OAAO,EAAE,CAACgO,iBAAD;AAA9C,GAA3C,CAAnD;AAAqK,CAApL;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMgC,uBAAuB,gBAAGP,6EAAsB,EAAtD;AACA;AACA;AACA;;AACA,MAAMQ,mBAAN,CAA0B;AACtBpqD,EAAAA,WAAW,CAACqqD,cAAD,EAAiBvmD,QAAjB,EAA2B;AAClC,SAAKumD,cAAL,GAAsBA,cAAtB;AACA,SAAKC,mBAAL,GAA2B;AAAEC,MAAAA,GAAG,EAAE,EAAP;AAAWC,MAAAA,IAAI,EAAE;AAAjB,KAA3B;AACA,SAAKC,UAAL,GAAkB,KAAlB;AACA,SAAK5oB,SAAL,GAAiB/9B,QAAjB;AACH;AACD;;;AACA4mD,EAAAA,MAAM,GAAG,CAAG;AACZ;;;AACAC,EAAAA,MAAM,GAAG;AACL,QAAI,KAAKC,aAAL,EAAJ,EAA0B;AACtB,YAAM18B,IAAI,GAAG,KAAK2T,SAAL,CAAez5B,eAA5B;AACA,WAAKyiD,uBAAL,GAA+B,KAAKR,cAAL,CAAoBS,yBAApB,EAA/B,CAFsB,CAGtB;;AACA,WAAKR,mBAAL,CAAyBE,IAAzB,GAAgCt8B,IAAI,CAACtvB,KAAL,CAAW4rD,IAAX,IAAmB,EAAnD;AACA,WAAKF,mBAAL,CAAyBC,GAAzB,GAA+Br8B,IAAI,CAACtvB,KAAL,CAAW2rD,GAAX,IAAkB,EAAjD,CALsB,CAMtB;AACA;;AACAr8B,MAAAA,IAAI,CAACtvB,KAAL,CAAW4rD,IAAX,GAAkBd,0EAAmB,CAAC,CAAC,KAAKmB,uBAAL,CAA6BL,IAA/B,CAArC;AACAt8B,MAAAA,IAAI,CAACtvB,KAAL,CAAW2rD,GAAX,GAAiBb,0EAAmB,CAAC,CAAC,KAAKmB,uBAAL,CAA6BN,GAA/B,CAApC;AACAr8B,MAAAA,IAAI,CAACmF,SAAL,CAAe7e,GAAf,CAAmB,wBAAnB;AACA,WAAKi2C,UAAL,GAAkB,IAAlB;AACH;AACJ;AACD;;;AACAl2B,EAAAA,OAAO,GAAG;AACN,QAAI,KAAKk2B,UAAT,EAAqB;AACjB,YAAMM,IAAI,GAAG,KAAKlpB,SAAL,CAAez5B,eAA5B;AACA,YAAM2B,IAAI,GAAG,KAAK83B,SAAL,CAAe93B,IAA5B;AACA,YAAMihD,SAAS,GAAGD,IAAI,CAACnsD,KAAvB;AACA,YAAMqsD,SAAS,GAAGlhD,IAAI,CAACnL,KAAvB;AACA,YAAMssD,0BAA0B,GAAGF,SAAS,CAACG,cAAV,IAA4B,EAA/D;AACA,YAAMC,0BAA0B,GAAGH,SAAS,CAACE,cAAV,IAA4B,EAA/D;AACA,WAAKV,UAAL,GAAkB,KAAlB;AACAO,MAAAA,SAAS,CAACR,IAAV,GAAiB,KAAKF,mBAAL,CAAyBE,IAA1C;AACAQ,MAAAA,SAAS,CAACT,GAAV,GAAgB,KAAKD,mBAAL,CAAyBC,GAAzC;AACAQ,MAAAA,IAAI,CAAC13B,SAAL,CAAeE,MAAf,CAAsB,wBAAtB,EAViB,CAWjB;AACA;AACA;AACA;AACA;;AACA,UAAI42B,uBAAJ,EAA6B;AACzBa,QAAAA,SAAS,CAACG,cAAV,GAA2BF,SAAS,CAACE,cAAV,GAA2B,MAAtD;AACH;;AACDtnD,MAAAA,MAAM,CAACwnD,MAAP,CAAc,KAAKR,uBAAL,CAA6BL,IAA3C,EAAiD,KAAKK,uBAAL,CAA6BN,GAA9E;;AACA,UAAIJ,uBAAJ,EAA6B;AACzBa,QAAAA,SAAS,CAACG,cAAV,GAA2BD,0BAA3B;AACAD,QAAAA,SAAS,CAACE,cAAV,GAA2BC,0BAA3B;AACH;AACJ;AACJ;;AACDR,EAAAA,aAAa,GAAG;AACZ;AACA;AACA;AACA,UAAMG,IAAI,GAAG,KAAKlpB,SAAL,CAAez5B,eAA5B;;AACA,QAAI2iD,IAAI,CAAC13B,SAAL,CAAelrB,QAAf,CAAwB,wBAAxB,KAAqD,KAAKsiD,UAA9D,EAA0E;AACtE,aAAO,KAAP;AACH;;AACD,UAAM1gD,IAAI,GAAG,KAAK83B,SAAL,CAAe93B,IAA5B;;AACA,UAAMuhD,QAAQ,GAAG,KAAKjB,cAAL,CAAoBkB,eAApB,EAAjB;;AACA,WAAOxhD,IAAI,CAACyhD,YAAL,GAAoBF,QAAQ,CAACG,MAA7B,IAAuC1hD,IAAI,CAAC2hD,WAAL,GAAmBJ,QAAQ,CAACK,KAA1E;AACH;;AAhEqB;AAmE1B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAASC,wCAAT,GAAoD;AAChD,SAAOnmD,KAAK,CAAE,4CAAF,CAAZ;AACH;AAED;AACA;AACA;;;AACA,MAAMomD,mBAAN,CAA0B;AACtB7rD,EAAAA,WAAW,CAAC8rD,iBAAD,EAAoBzgB,OAApB,EAA6Bgf,cAA7B,EAA6C0B,OAA7C,EAAsD;AAC7D,SAAKD,iBAAL,GAAyBA,iBAAzB;AACA,SAAKzgB,OAAL,GAAeA,OAAf;AACA,SAAKgf,cAAL,GAAsBA,cAAtB;AACA,SAAK0B,OAAL,GAAeA,OAAf;AACA,SAAKC,mBAAL,GAA2B,IAA3B;AACA;;AACA,SAAKC,OAAL,GAAe,MAAM;AACjB,WAAK13B,OAAL;;AACA,UAAI,KAAK23B,WAAL,CAAiBhf,WAAjB,EAAJ,EAAoC;AAChC,aAAK7B,OAAL,CAAawM,GAAb,CAAiB,MAAM,KAAKqU,WAAL,CAAiB5O,MAAjB,EAAvB;AACH;AACJ,KALD;AAMH;AACD;;;AACAoN,EAAAA,MAAM,CAACyB,UAAD,EAAa;AACf,QAAI,KAAKD,WAAL,KAAqB,OAAO9gD,SAAP,KAAqB,WAArB,IAAoCA,SAAzD,CAAJ,EAAyE;AACrE,YAAMwgD,wCAAwC,EAA9C;AACH;;AACD,SAAKM,WAAL,GAAmBC,UAAnB;AACH;AACD;;;AACAxB,EAAAA,MAAM,GAAG;AACL,QAAI,KAAKqB,mBAAT,EAA8B;AAC1B;AACH;;AACD,UAAMtE,MAAM,GAAG,KAAKoE,iBAAL,CAAuBM,QAAvB,CAAgC,CAAhC,CAAf;;AACA,QAAI,KAAKL,OAAL,IAAgB,KAAKA,OAAL,CAAaM,SAA7B,IAA0C,KAAKN,OAAL,CAAaM,SAAb,GAAyB,CAAvE,EAA0E;AACtE,WAAKC,sBAAL,GAA8B,KAAKjC,cAAL,CAAoBS,yBAApB,GAAgDP,GAA9E;AACA,WAAKyB,mBAAL,GAA2BtE,MAAM,CAACziB,SAAP,CAAiB,MAAM;AAC9C,cAAMsnB,cAAc,GAAG,KAAKlC,cAAL,CAAoBS,yBAApB,GAAgDP,GAAvE;;AACA,YAAIxnD,IAAI,CAACmZ,GAAL,CAASqwC,cAAc,GAAG,KAAKD,sBAA/B,IAAyD,KAAKP,OAAL,CAAaM,SAA1E,EAAqF;AACjF,eAAKJ,OAAL;AACH,SAFD,MAGK;AACD,eAAKC,WAAL,CAAiBM,cAAjB;AACH;AACJ,OAR0B,CAA3B;AASH,KAXD,MAYK;AACD,WAAKR,mBAAL,GAA2BtE,MAAM,CAACziB,SAAP,CAAiB,KAAKgnB,OAAtB,CAA3B;AACH;AACJ;AACD;;;AACA13B,EAAAA,OAAO,GAAG;AACN,QAAI,KAAKy3B,mBAAT,EAA8B;AAC1B,WAAKA,mBAAL,CAAyB7lB,WAAzB;;AACA,WAAK6lB,mBAAL,GAA2B,IAA3B;AACH;AACJ;;AACD1O,EAAAA,MAAM,GAAG;AACL,SAAK/oB,OAAL;AACA,SAAK23B,WAAL,GAAmB,IAAnB;AACH;;AAtDqB;AAyD1B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMO,kBAAN,CAAyB;AACrB;AACA9B,EAAAA,MAAM,GAAG,CAAG;AACZ;;;AACAp2B,EAAAA,OAAO,GAAG,CAAG;AACb;;;AACAm2B,EAAAA,MAAM,GAAG,CAAG;;AANS;AASzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgC,4BAAT,CAAsCnoD,OAAtC,EAA+CooD,gBAA/C,EAAiE;AAC7D,SAAOA,gBAAgB,CAAC70C,IAAjB,CAAsB80C,eAAe,IAAI;AAC5C,UAAMC,YAAY,GAAGtoD,OAAO,CAACuoD,MAAR,GAAiBF,eAAe,CAACrC,GAAtD;AACA,UAAMwC,YAAY,GAAGxoD,OAAO,CAACgmD,GAAR,GAAcqC,eAAe,CAACE,MAAnD;AACA,UAAME,WAAW,GAAGzoD,OAAO,CAAC0oD,KAAR,GAAgBL,eAAe,CAACpC,IAApD;AACA,UAAM0C,YAAY,GAAG3oD,OAAO,CAACimD,IAAR,GAAeoC,eAAe,CAACK,KAApD;AACA,WAAOJ,YAAY,IAAIE,YAAhB,IAAgCC,WAAhC,IAA+CE,YAAtD;AACH,GANM,CAAP;AAOH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,2BAAT,CAAqC5oD,OAArC,EAA8CooD,gBAA9C,EAAgE;AAC5D,SAAOA,gBAAgB,CAAC70C,IAAjB,CAAsBs1C,mBAAmB,IAAI;AAChD,UAAMC,YAAY,GAAG9oD,OAAO,CAACgmD,GAAR,GAAc6C,mBAAmB,CAAC7C,GAAvD;AACA,UAAM+C,YAAY,GAAG/oD,OAAO,CAACuoD,MAAR,GAAiBM,mBAAmB,CAACN,MAA1D;AACA,UAAMS,WAAW,GAAGhpD,OAAO,CAACimD,IAAR,GAAe4C,mBAAmB,CAAC5C,IAAvD;AACA,UAAMgD,YAAY,GAAGjpD,OAAO,CAAC0oD,KAAR,GAAgBG,mBAAmB,CAACH,KAAzD;AACA,WAAOI,YAAY,IAAIC,YAAhB,IAAgCC,WAAhC,IAA+CC,YAAtD;AACH,GANM,CAAP;AAOH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMC,wBAAN,CAA+B;AAC3BztD,EAAAA,WAAW,CAAC8rD,iBAAD,EAAoBzB,cAApB,EAAoChf,OAApC,EAA6C0gB,OAA7C,EAAsD;AAC7D,SAAKD,iBAAL,GAAyBA,iBAAzB;AACA,SAAKzB,cAAL,GAAsBA,cAAtB;AACA,SAAKhf,OAAL,GAAeA,OAAf;AACA,SAAK0gB,OAAL,GAAeA,OAAf;AACA,SAAKC,mBAAL,GAA2B,IAA3B;AACH;AACD;;;AACAtB,EAAAA,MAAM,CAACyB,UAAD,EAAa;AACf,QAAI,KAAKD,WAAL,KAAqB,OAAO9gD,SAAP,KAAqB,WAArB,IAAoCA,SAAzD,CAAJ,EAAyE;AACrE,YAAMwgD,wCAAwC,EAA9C;AACH;;AACD,SAAKM,WAAL,GAAmBC,UAAnB;AACH;AACD;;;AACAxB,EAAAA,MAAM,GAAG;AACL,QAAI,CAAC,KAAKqB,mBAAV,EAA+B;AAC3B,YAAM0B,QAAQ,GAAG,KAAK3B,OAAL,GAAe,KAAKA,OAAL,CAAa4B,cAA5B,GAA6C,CAA9D;AACA,WAAK3B,mBAAL,GAA2B,KAAKF,iBAAL,CAAuBM,QAAvB,CAAgCsB,QAAhC,EAA0CzoB,SAA1C,CAAoD,MAAM;AACjF,aAAKinB,WAAL,CAAiBM,cAAjB,GADiF,CAEjF;;;AACA,YAAI,KAAKT,OAAL,IAAgB,KAAKA,OAAL,CAAa6B,SAAjC,EAA4C;AACxC,gBAAMC,WAAW,GAAG,KAAK3B,WAAL,CAAiB4B,cAAjB,CAAgCC,qBAAhC,EAApB;;AACA,gBAAM;AAAEpC,YAAAA,KAAF;AAASF,YAAAA;AAAT,cAAoB,KAAKpB,cAAL,CAAoBkB,eAApB,EAA1B,CAFwC,CAGxC;AACA;;;AACA,gBAAMyC,WAAW,GAAG,CAAC;AAAErC,YAAAA,KAAF;AAASF,YAAAA,MAAT;AAAiBqB,YAAAA,MAAM,EAAErB,MAAzB;AAAiCwB,YAAAA,KAAK,EAAEtB,KAAxC;AAA+CpB,YAAAA,GAAG,EAAE,CAApD;AAAuDC,YAAAA,IAAI,EAAE;AAA7D,WAAD,CAApB;;AACA,cAAIkC,4BAA4B,CAACmB,WAAD,EAAcG,WAAd,CAAhC,EAA4D;AACxD,iBAAKz5B,OAAL;;AACA,iBAAK8W,OAAL,CAAawM,GAAb,CAAiB,MAAM,KAAKqU,WAAL,CAAiB5O,MAAjB,EAAvB;AACH;AACJ;AACJ,OAd0B,CAA3B;AAeH;AACJ;AACD;;;AACA/oB,EAAAA,OAAO,GAAG;AACN,QAAI,KAAKy3B,mBAAT,EAA8B;AAC1B,WAAKA,mBAAL,CAAyB7lB,WAAzB;;AACA,WAAK6lB,mBAAL,GAA2B,IAA3B;AACH;AACJ;;AACD1O,EAAAA,MAAM,GAAG;AACL,SAAK/oB,OAAL;AACA,SAAK23B,WAAL,GAAmB,IAAnB;AACH;;AA9C0B;AAiD/B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM+B;AAAN,QAAMA,qBAAN,CAA4B;AACxBjuD,IAAAA,WAAW,CAAC8rD,iBAAD,EAAoBzB,cAApB,EAAoChf,OAApC,EAA6CvnC,QAA7C,EAAuD;AAC9D,WAAKgoD,iBAAL,GAAyBA,iBAAzB;AACA,WAAKzB,cAAL,GAAsBA,cAAtB;AACA,WAAKhf,OAAL,GAAeA,OAAf;AACA;;AACA,WAAK6iB,IAAL,GAAY,MAAM,IAAIzB,kBAAJ,EAAlB;AACA;AACR;AACA;AACA;;;AACQ,WAAK0B,KAAL,GAAcjkB,MAAD,IAAY,IAAI2hB,mBAAJ,CAAwB,KAAKC,iBAA7B,EAAgD,KAAKzgB,OAArD,EAA8D,KAAKgf,cAAnE,EAAmFngB,MAAnF,CAAzB;AACA;;;AACA,WAAKkkB,KAAL,GAAa,MAAM,IAAIhE,mBAAJ,CAAwB,KAAKC,cAA7B,EAA6C,KAAKxoB,SAAlD,CAAnB;AACA;AACR;AACA;AACA;AACA;;;AACQ,WAAKwsB,UAAL,GAAmBnkB,MAAD,IAAY,IAAIujB,wBAAJ,CAA6B,KAAK3B,iBAAlC,EAAqD,KAAKzB,cAA1D,EAA0E,KAAKhf,OAA/E,EAAwFnB,MAAxF,CAA9B;;AACA,WAAKrI,SAAL,GAAiB/9B,QAAjB;AACH;;AArBuB;;AAuB5BmqD,EAAAA,qBAAqB,CAACpjD,IAAtB,GAA6B,SAASyjD,6BAAT,CAAuCvjD,CAAvC,EAA0C;AAAE,WAAO,KAAKA,CAAC,IAAIkjD,qBAAV,EAAiCtqD,sDAAA,CAAgB88B,oEAAhB,CAAjC,EAA2E98B,sDAAA,CAAgB88B,iEAAhB,CAA3E,EAAkH98B,sDAAA,CAAgBA,iDAAhB,CAAlH,EAAkJA,sDAAA,CAAgB25B,qDAAhB,CAAlJ,CAAP;AAAsL,GAA/P;;AACA2wB,EAAAA,qBAAqB,CAACjjD,KAAtB,GAA8BuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASmjD,6BAAT,GAAyC;AAAE,aAAO,IAAIL,qBAAJ,CAA0B1wB,sDAAA,CAAYyC,oEAAZ,CAA1B,EAA4DzC,sDAAA,CAAYyC,iEAAZ,CAA5D,EAA2FzC,sDAAA,CAAYA,iDAAZ,CAA3F,EAAmHA,sDAAA,CAAY4rB,qDAAZ,CAAnH,CAAP;AAAwJ,KAA9M;AAAgNj+C,IAAAA,KAAK,EAAE+iD,qBAAvN;AAA8OjqB,IAAAA,UAAU,EAAE;AAA1P,GAAtB,CAA9B;SAxBMiqB;;;AA+BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO7iD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMmjD,aAAN,CAAoB;AAChBvuD,EAAAA,WAAW,CAACkqC,MAAD,EAAS;AAChB;AACA,SAAKskB,cAAL,GAAsB,IAAI/B,kBAAJ,EAAtB;AACA;;AACA,SAAKgC,UAAL,GAAkB,EAAlB;AACA;;AACA,SAAKC,WAAL,GAAmB,KAAnB;AACA;;AACA,SAAKC,aAAL,GAAqB,2BAArB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKC,mBAAL,GAA2B,KAA3B;;AACA,QAAI1kB,MAAJ,EAAY;AACR;AACA;AACA;AACA,YAAM2kB,UAAU,GAAG5pD,MAAM,CAACC,IAAP,CAAYglC,MAAZ,CAAnB;;AACA,WAAK,MAAMxjC,GAAX,IAAkBmoD,UAAlB,EAA8B;AAC1B,YAAI3kB,MAAM,CAACxjC,GAAD,CAAN,KAAgBJ,SAApB,EAA+B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,eAAKI,GAAL,IAAYwjC,MAAM,CAACxjC,GAAD,CAAlB;AACH;AACJ;AACJ;AACJ;;AAjCe;AAoCpB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMooD,sBAAN,CAA6B;AACzB9uD,EAAAA,WAAW,CAAC2oC,MAAD,EAASomB,OAAT;AACX;AACA9d,EAAAA,OAFW;AAGX;AACAC,EAAAA,OAJW;AAKX;AACAud,EAAAA,UANW,EAMC;AACR,SAAKxd,OAAL,GAAeA,OAAf;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKud,UAAL,GAAkBA,UAAlB;AACA,SAAKO,OAAL,GAAermB,MAAM,CAACqmB,OAAtB;AACA,SAAKC,OAAL,GAAetmB,MAAM,CAACsmB,OAAtB;AACA,SAAKC,QAAL,GAAgBH,OAAO,CAACG,QAAxB;AACA,SAAKC,QAAL,GAAgBJ,OAAO,CAACI,QAAxB;AACH;;AAfwB;AAiB7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,mBAAN,CAA0B;AAE1B;;;AACA,MAAMC,8BAAN,CAAqC;AACjCrvD,EAAAA,WAAW;AACX;AACAsvD,EAAAA,cAFW;AAGX;AACAC,EAAAA,wBAJW,EAIe;AACtB,SAAKD,cAAL,GAAsBA,cAAtB;AACA,SAAKC,wBAAL,GAAgCA,wBAAhC;AACH;;AARgC;;AAcrC;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,wBAAT,CAAkCh7B,QAAlC,EAA4C5tB,KAA5C,EAAmD;AAC/C,MAAIA,KAAK,KAAK,KAAV,IAAmBA,KAAK,KAAK,QAA7B,IAAyCA,KAAK,KAAK,QAAvD,EAAiE;AAC7D,UAAMnB,KAAK,CAAE,8BAA6B+uB,QAAS,KAAI5tB,KAAM,KAAjD,GACP,uCADM,CAAX;AAEH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6oD,0BAAT,CAAoCj7B,QAApC,EAA8C5tB,KAA9C,EAAqD;AACjD,MAAIA,KAAK,KAAK,OAAV,IAAqBA,KAAK,KAAK,KAA/B,IAAwCA,KAAK,KAAK,QAAtD,EAAgE;AAC5D,UAAMnB,KAAK,CAAE,8BAA6B+uB,QAAS,KAAI5tB,KAAM,KAAjD,GACP,sCADM,CAAX;AAEH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;IACM8oD;AAAN,QAAMA,qBAAN,CAA4B;AACxB1vD,IAAAA,WAAW,CAAC8D,QAAD,EAAW;AAClB;AACA,WAAK6rD,iBAAL,GAAyB,EAAzB;AACA,WAAK9tB,SAAL,GAAiB/9B,QAAjB;AACH;;AACDk/B,IAAAA,WAAW,GAAG;AACV,WAAKsa,MAAL;AACH;AACD;;;AACA9oC,IAAAA,GAAG,CAAC23C,UAAD,EAAa;AACZ;AACA,WAAK54B,MAAL,CAAY44B,UAAZ;;AACA,WAAKwD,iBAAL,CAAuB3uD,IAAvB,CAA4BmrD,UAA5B;AACH;AACD;;;AACA54B,IAAAA,MAAM,CAAC44B,UAAD,EAAa;AACf,YAAM/mC,KAAK,GAAG,KAAKuqC,iBAAL,CAAuBxoD,OAAvB,CAA+BglD,UAA/B,CAAd;;AACA,UAAI/mC,KAAK,GAAG,CAAC,CAAb,EAAgB;AACZ,aAAKuqC,iBAAL,CAAuB1iD,MAAvB,CAA8BmY,KAA9B,EAAqC,CAArC;AACH,OAJc,CAKf;;;AACA,UAAI,KAAKuqC,iBAAL,CAAuBxtD,MAAvB,KAAkC,CAAtC,EAAyC;AACrC,aAAKm7C,MAAL;AACH;AACJ;;AAzBuB;;AA2B5BoS,EAAAA,qBAAqB,CAAC7kD,IAAtB,GAA6B,SAAS+kD,6BAAT,CAAuC7kD,CAAvC,EAA0C;AAAE,WAAO,KAAKA,CAAC,IAAI2kD,qBAAV,EAAiC/rD,sDAAA,CAAgB25B,qDAAhB,CAAjC,CAAP;AAAqE,GAA9I;;AACAoyB,EAAAA,qBAAqB,CAAC1kD,KAAtB,GAA8BuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASykD,6BAAT,GAAyC;AAAE,aAAO,IAAIF,qBAAJ,CAA0BnyB,sDAAA,CAAY4rB,qDAAZ,CAA1B,CAAP;AAA+D,KAArH;AAAuHj+C,IAAAA,KAAK,EAAEwkD,qBAA9H;AAAqJ1rB,IAAAA,UAAU,EAAE;AAAjK,GAAtB,CAA9B;SA5BM0rB;;;AAgCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOtkD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;IACMykD;AAAN,QAAMA,yBAAN,SAAwCH,qBAAxC,CAA8D;AAC1D1vD,IAAAA,WAAW,CAAC8D,QAAD,EAAW;AAClB,YAAMA,QAAN;AACA;;AACA,WAAKgsD,gBAAL,GAAyBjqD,KAAD,IAAW;AAC/B,cAAMkqD,QAAQ,GAAG,KAAKJ,iBAAtB;;AACA,aAAK,IAAIxmD,CAAC,GAAG4mD,QAAQ,CAAC5tD,MAAT,GAAkB,CAA/B,EAAkCgH,CAAC,GAAG,CAAC,CAAvC,EAA0CA,CAAC,EAA3C,EAA+C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,cAAI4mD,QAAQ,CAAC5mD,CAAD,CAAR,CAAY6mD,cAAZ,CAA2BC,SAA3B,CAAqC9tD,MAArC,GAA8C,CAAlD,EAAqD;AACjD4tD,YAAAA,QAAQ,CAAC5mD,CAAD,CAAR,CAAY6mD,cAAZ,CAA2BvgD,IAA3B,CAAgC5J,KAAhC;;AACA;AACH;AACJ;AACJ,OAdD;AAeH;AACD;;;AACA2O,IAAAA,GAAG,CAAC23C,UAAD,EAAa;AACZ,YAAM33C,GAAN,CAAU23C,UAAV,EADY,CAEZ;;AACA,UAAI,CAAC,KAAK+D,WAAV,EAAuB;AACnB,aAAKruB,SAAL,CAAe93B,IAAf,CAAoB+tB,gBAApB,CAAqC,SAArC,EAAgD,KAAKg4B,gBAArD;;AACA,aAAKI,WAAL,GAAmB,IAAnB;AACH;AACJ;AACD;;;AACA5S,IAAAA,MAAM,GAAG;AACL,UAAI,KAAK4S,WAAT,EAAsB;AAClB,aAAKruB,SAAL,CAAe93B,IAAf,CAAoB8tB,mBAApB,CAAwC,SAAxC,EAAmD,KAAKi4B,gBAAxD;;AACA,aAAKI,WAAL,GAAmB,KAAnB;AACH;AACJ;;AAnCyD;;AAqC9DL,EAAAA,yBAAyB,CAAChlD,IAA1B,GAAiC,SAASslD,iCAAT,CAA2CplD,CAA3C,EAA8C;AAAE,WAAO,KAAKA,CAAC,IAAI8kD,yBAAV,EAAqClsD,sDAAA,CAAgB25B,qDAAhB,CAArC,CAAP;AAAyE,GAA1J;;AACAuyB,EAAAA,yBAAyB,CAAC7kD,KAA1B,GAAkCuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASglD,iCAAT,GAA6C;AAAE,aAAO,IAAIN,yBAAJ,CAA8BtyB,sDAAA,CAAY4rB,qDAAZ,CAA9B,CAAP;AAAmE,KAA7H;AAA+Hj+C,IAAAA,KAAK,EAAE2kD,yBAAtI;AAAiK7rB,IAAAA,UAAU,EAAE;AAA7K,GAAtB,CAAlC;SAtCM6rB;;;AA0CN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOzkD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;IACMglD;AAAN,QAAMA,6BAAN,SAA4CV,qBAA5C,CAAkE;AAC9D1vD,IAAAA,WAAW,CAAC8D,QAAD,EAAWklC,SAAX,EAAsB;AAC7B,YAAMllC,QAAN;AACA,WAAKklC,SAAL,GAAiBA,SAAjB;AACA,WAAKqnB,iBAAL,GAAyB,KAAzB;AACA;;AACA,WAAKC,oBAAL,GAA6BzqD,KAAD,IAAW;AACnC,aAAK0qD,uBAAL,GAA+BnwB,sEAAe,CAACv6B,KAAD,CAA9C;AACH,OAFD;AAGA;;;AACA,WAAK2qD,cAAL,GAAuB3qD,KAAD,IAAW;AAC7B,cAAMsX,MAAM,GAAGijB,sEAAe,CAACv6B,KAAD,CAA9B,CAD6B,CAE7B;AACA;AACA;AACA;AACA;AACA;;;AACA,cAAM8iC,MAAM,GAAG9iC,KAAK,CAACzH,IAAN,KAAe,OAAf,IAA0B,KAAKmyD,uBAA/B,GACT,KAAKA,uBADI,GACsBpzC,MADrC,CAR6B,CAU7B;AACA;;AACA,aAAKozC,uBAAL,GAA+B,IAA/B,CAZ6B,CAa7B;AACA;AACA;;AACA,cAAMR,QAAQ,GAAG,KAAKJ,iBAAL,CAAuBjyC,KAAvB,EAAjB,CAhB6B,CAiB7B;AACA;AACA;AACA;;;AACA,aAAK,IAAIvU,CAAC,GAAG4mD,QAAQ,CAAC5tD,MAAT,GAAkB,CAA/B,EAAkCgH,CAAC,GAAG,CAAC,CAAvC,EAA0CA,CAAC,EAA3C,EAA+C;AAC3C,gBAAMgjD,UAAU,GAAG4D,QAAQ,CAAC5mD,CAAD,CAA3B;;AACA,cAAIgjD,UAAU,CAACsE,qBAAX,CAAiCR,SAAjC,CAA2C9tD,MAA3C,GAAoD,CAApD,IAAyD,CAACgqD,UAAU,CAACjf,WAAX,EAA9D,EAAwF;AACpF;AACH,WAJ0C,CAK3C;AACA;AACA;;;AACA,cAAIif,UAAU,CAAC2B,cAAX,CAA0B3lD,QAA1B,CAAmCgV,MAAnC,KACAgvC,UAAU,CAAC2B,cAAX,CAA0B3lD,QAA1B,CAAmCwgC,MAAnC,CADJ,EACgD;AAC5C;AACH;;AACDwjB,UAAAA,UAAU,CAACsE,qBAAX,CAAiChhD,IAAjC,CAAsC5J,KAAtC;AACH;AACJ,OAnCD;AAoCH;AACD;;;AACA2O,IAAAA,GAAG,CAAC23C,UAAD,EAAa;AACZ,YAAM33C,GAAN,CAAU23C,UAAV,EADY,CAEZ;AACA;AACA;AACA;AACA;AACA;;AACA,UAAI,CAAC,KAAK+D,WAAV,EAAuB;AACnB,cAAMnmD,IAAI,GAAG,KAAK83B,SAAL,CAAe93B,IAA5B;AACAA,QAAAA,IAAI,CAAC+tB,gBAAL,CAAsB,aAAtB,EAAqC,KAAKw4B,oBAA1C,EAAgE,IAAhE;AACAvmD,QAAAA,IAAI,CAAC+tB,gBAAL,CAAsB,OAAtB,EAA+B,KAAK04B,cAApC,EAAoD,IAApD;AACAzmD,QAAAA,IAAI,CAAC+tB,gBAAL,CAAsB,UAAtB,EAAkC,KAAK04B,cAAvC,EAAuD,IAAvD;AACAzmD,QAAAA,IAAI,CAAC+tB,gBAAL,CAAsB,aAAtB,EAAqC,KAAK04B,cAA1C,EAA0D,IAA1D,EALmB,CAMnB;AACA;;AACA,YAAI,KAAKxnB,SAAL,CAAea,GAAf,IAAsB,CAAC,KAAKwmB,iBAAhC,EAAmD;AAC/C,eAAKK,oBAAL,GAA4B3mD,IAAI,CAACnL,KAAL,CAAW+xD,MAAvC;AACA5mD,UAAAA,IAAI,CAACnL,KAAL,CAAW+xD,MAAX,GAAoB,SAApB;AACA,eAAKN,iBAAL,GAAyB,IAAzB;AACH;;AACD,aAAKH,WAAL,GAAmB,IAAnB;AACH;AACJ;AACD;;;AACA5S,IAAAA,MAAM,GAAG;AACL,UAAI,KAAK4S,WAAT,EAAsB;AAClB,cAAMnmD,IAAI,GAAG,KAAK83B,SAAL,CAAe93B,IAA5B;AACAA,QAAAA,IAAI,CAAC8tB,mBAAL,CAAyB,aAAzB,EAAwC,KAAKy4B,oBAA7C,EAAmE,IAAnE;AACAvmD,QAAAA,IAAI,CAAC8tB,mBAAL,CAAyB,OAAzB,EAAkC,KAAK24B,cAAvC,EAAuD,IAAvD;AACAzmD,QAAAA,IAAI,CAAC8tB,mBAAL,CAAyB,UAAzB,EAAqC,KAAK24B,cAA1C,EAA0D,IAA1D;AACAzmD,QAAAA,IAAI,CAAC8tB,mBAAL,CAAyB,aAAzB,EAAwC,KAAK24B,cAA7C,EAA6D,IAA7D;;AACA,YAAI,KAAKxnB,SAAL,CAAea,GAAf,IAAsB,KAAKwmB,iBAA/B,EAAkD;AAC9CtmD,UAAAA,IAAI,CAACnL,KAAL,CAAW+xD,MAAX,GAAoB,KAAKD,oBAAzB;AACA,eAAKL,iBAAL,GAAyB,KAAzB;AACH;;AACD,aAAKH,WAAL,GAAmB,KAAnB;AACH;AACJ;;AAtF6D;;AAwFlEE,EAAAA,6BAA6B,CAACvlD,IAA9B,GAAqC,SAAS+lD,qCAAT,CAA+C7lD,CAA/C,EAAkD;AAAE,WAAO,KAAKA,CAAC,IAAIqlD,6BAAV,EAAyCzsD,sDAAA,CAAgB25B,qDAAhB,CAAzC,EAAoE35B,sDAAA,CAAgB+8B,2DAAhB,CAApE,CAAP;AAA+G,GAAxM;;AACA0vB,EAAAA,6BAA6B,CAACplD,KAA9B,GAAsCuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASylD,qCAAT,GAAiD;AAAE,aAAO,IAAIR,6BAAJ,CAAkC7yB,sDAAA,CAAY4rB,qDAAZ,CAAlC,EAA8D5rB,sDAAA,CAAYF,2DAAZ,CAA9D,CAAP;AAAiG,KAA/J;AAAiKnyB,IAAAA,KAAK,EAAEklD,6BAAxK;AAAuMpsB,IAAAA,UAAU,EAAE;AAAnN,GAAtB,CAAtC;SAzFMosB;;;AA8FN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOhlD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAM0C,CANzD;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACMylD;AAAN,QAAMA,gBAAN,CAAuB;AACnB7wD,IAAAA,WAAW,CAAC8D,QAAD,EAAWklC,SAAX,EAAsB;AAC7B,WAAKA,SAAL,GAAiBA,SAAjB;AACA,WAAKnH,SAAL,GAAiB/9B,QAAjB;AACH;;AACDk/B,IAAAA,WAAW,GAAG;AACV,YAAM8tB,SAAS,GAAG,KAAKC,iBAAvB;;AACA,UAAID,SAAS,IAAIA,SAAS,CAACzoD,UAA3B,EAAuC;AACnCyoD,QAAAA,SAAS,CAACzoD,UAAV,CAAqBuyB,WAArB,CAAiCk2B,SAAjC;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIE,IAAAA,mBAAmB,GAAG;AAClB,UAAI,CAAC,KAAKD,iBAAV,EAA6B;AACzB,aAAKE,gBAAL;AACH;;AACD,aAAO,KAAKF,iBAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACIE,IAAAA,gBAAgB,GAAG;AACf,YAAMC,cAAc,GAAG,uBAAvB,CADe,CAEf;AACA;AACA;;AACA,UAAI,KAAKloB,SAAL,CAAeplC,SAAf,IAA4BimD,yEAAkB,EAAlD,EAAsD;AAClD,cAAMsH,0BAA0B,GAAG,KAAKtvB,SAAL,CAAe34B,gBAAf,CAAiC,IAAGgoD,cAAe,uBAAnB,GAC9D,IAAGA,cAAe,mBADY,CAAnC,CADkD,CAGlD;AACA;;;AACA,aAAK,IAAI/nD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgoD,0BAA0B,CAAChvD,MAA/C,EAAuDgH,CAAC,EAAxD,EAA4D;AACxDgoD,UAAAA,0BAA0B,CAAChoD,CAAD,CAA1B,CAA8Bd,UAA9B,CAAyCuyB,WAAzC,CAAqDu2B,0BAA0B,CAAChoD,CAAD,CAA/E;AACH;AACJ;;AACD,YAAM2nD,SAAS,GAAG,KAAKjvB,SAAL,CAAelI,aAAf,CAA6B,KAA7B,CAAlB;;AACAm3B,MAAAA,SAAS,CAACz9B,SAAV,CAAoB7e,GAApB,CAAwB08C,cAAxB,EAfe,CAgBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,UAAIrH,yEAAkB,EAAtB,EAA0B;AACtBiH,QAAAA,SAAS,CAAC3iD,YAAV,CAAuB,UAAvB,EAAmC,MAAnC;AACH,OAFD,MAGK,IAAI,CAAC,KAAK66B,SAAL,CAAeplC,SAApB,EAA+B;AAChCktD,QAAAA,SAAS,CAAC3iD,YAAV,CAAuB,UAAvB,EAAmC,QAAnC;AACH;;AACD,WAAK0zB,SAAL,CAAe93B,IAAf,CAAoBmwB,WAApB,CAAgC42B,SAAhC;;AACA,WAAKC,iBAAL,GAAyBD,SAAzB;AACH;;AA5DkB;;AA8DvBD,EAAAA,gBAAgB,CAAChmD,IAAjB,GAAwB,SAASumD,wBAAT,CAAkCrmD,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAI8lD,gBAAV,EAA4BltD,sDAAA,CAAgB25B,qDAAhB,CAA5B,EAAuD35B,sDAAA,CAAgB+8B,2DAAhB,CAAvD,CAAP;AAAkG,GAAjK;;AACAmwB,EAAAA,gBAAgB,CAAC7lD,KAAjB,GAAyBuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASimD,wBAAT,GAAoC;AAAE,aAAO,IAAIP,gBAAJ,CAAqBtzB,sDAAA,CAAY4rB,qDAAZ,CAArB,EAAiD5rB,sDAAA,CAAYF,2DAAZ,CAAjD,CAAP;AAAoF,KAArI;AAAuInyB,IAAAA,KAAK,EAAE2lD,gBAA9I;AAAgK7sB,IAAAA,UAAU,EAAE;AAA5K,GAAtB,CAAzB;SA/DM6sB;;;AAoEN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOzlD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAM0C,CANzD;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMimD,UAAN,CAAiB;AACbrxD,EAAAA,WAAW,CAACsxD,aAAD,EAAgBC,KAAhB,EAAuBC,KAAvB,EAA8BzF,OAA9B,EAAuC1gB,OAAvC,EAAgDomB,mBAAhD,EAAqE5vB,SAArE,EAAgF6vB,SAAhF,EAA2FC,uBAA3F,EAAoH;AAC3H,SAAKL,aAAL,GAAqBA,aAArB;AACA,SAAKC,KAAL,GAAaA,KAAb;AACA,SAAKC,KAAL,GAAaA,KAAb;AACA,SAAKzF,OAAL,GAAeA,OAAf;AACA,SAAK1gB,OAAL,GAAeA,OAAf;AACA,SAAKomB,mBAAL,GAA2BA,mBAA3B;AACA,SAAK5vB,SAAL,GAAiBA,SAAjB;AACA,SAAK6vB,SAAL,GAAiBA,SAAjB;AACA,SAAKC,uBAAL,GAA+BA,uBAA/B;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACA,SAAKC,cAAL,GAAsB,IAAI1zB,yCAAJ,EAAtB;AACA,SAAK2zB,YAAL,GAAoB,IAAI3zB,yCAAJ,EAApB;AACA,SAAK4zB,YAAL,GAAoB,IAAI5zB,yCAAJ,EAApB;AACA,SAAK6zB,gBAAL,GAAwB5zB,oDAAxB;;AACA,SAAK6zB,qBAAL,GAA8BpsD,KAAD,IAAW,KAAKgsD,cAAL,CAAoBpiD,IAApB,CAAyB5J,KAAzB,CAAxC;AACA;;;AACA,SAAKmqD,cAAL,GAAsB,IAAI7xB,yCAAJ,EAAtB;AACA;;AACA,SAAKsyB,qBAAL,GAA6B,IAAItyB,yCAAJ,EAA7B;;AACA,QAAI4tB,OAAO,CAACyC,cAAZ,EAA4B;AACxB,WAAK0D,eAAL,GAAuBnG,OAAO,CAACyC,cAA/B;;AACA,WAAK0D,eAAL,CAAqBxH,MAArB,CAA4B,IAA5B;AACH;;AACD,SAAKyH,iBAAL,GAAyBpG,OAAO,CAACqG,gBAAjC;AACH;AACD;;;AACkB,MAAdtE,cAAc,GAAG;AACjB,WAAO,KAAK0D,KAAZ;AACH;AACD;;;AACmB,MAAfa,eAAe,GAAG;AAClB,WAAO,KAAKT,gBAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACmB,MAAX9qC,WAAW,GAAG;AACd,WAAO,KAAKyqC,KAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI7G,EAAAA,MAAM,CAAC4H,MAAD,EAAS;AACX,QAAIC,YAAY,GAAG,KAAKjB,aAAL,CAAmB5G,MAAnB,CAA0B4H,MAA1B,CAAnB,CADW,CAEX;;;AACA,QAAI,CAAC,KAAKf,KAAL,CAAW5b,aAAZ,IAA6B,KAAK6c,mBAAtC,EAA2D;AACvD,WAAKA,mBAAL,CAAyBt4B,WAAzB,CAAqC,KAAKq3B,KAA1C;AACH;;AACD,QAAI,KAAKY,iBAAT,EAA4B;AACxB,WAAKA,iBAAL,CAAuBzH,MAAvB,CAA8B,IAA9B;AACH;;AACD,SAAK+H,oBAAL;;AACA,SAAKC,kBAAL;;AACA,SAAKC,uBAAL;;AACA,QAAI,KAAKT,eAAT,EAA0B;AACtB,WAAKA,eAAL,CAAqBvH,MAArB;AACH,KAdU,CAeX;AACA;AACA;;;AACA,SAAKtf,OAAL,CAAaoC,QAAb,CACKrH,IADL,CACU1G,oDAAI,CAAC,CAAD,CADd,EAEKuF,SAFL,CAEe,MAAM;AACjB;AACA,UAAI,KAAKiI,WAAL,EAAJ,EAAwB;AACpB,aAAKsf,cAAL;AACH;AACJ,KAPD,EAlBW,CA0BX;;;AACA,SAAKoG,oBAAL,CAA0B,IAA1B;;AACA,QAAI,KAAK7G,OAAL,CAAa2C,WAAjB,EAA8B;AAC1B,WAAKmE,eAAL;AACH;;AACD,QAAI,KAAK9G,OAAL,CAAa0C,UAAjB,EAA6B;AACzB,WAAKqE,cAAL,CAAoB,KAAKtB,KAAzB,EAAgC,KAAKzF,OAAL,CAAa0C,UAA7C,EAAyD,IAAzD;AACH,KAjCU,CAkCX;;;AACA,SAAKqD,YAAL,CAAkBriD,IAAlB,GAnCW,CAoCX;;;AACA,SAAKgiD,mBAAL,CAAyBj9C,GAAzB,CAA6B,IAA7B;;AACA,QAAI,KAAKu3C,OAAL,CAAa6C,mBAAjB,EAAsC;AAClC,WAAKoD,gBAAL,GAAwB,KAAKN,SAAL,CAAezsB,SAAf,CAAyB,MAAM,KAAK8tB,OAAL,EAA/B,CAAxB;AACH;;AACD,SAAKpB,uBAAL,CAA6Bn9C,GAA7B,CAAiC,IAAjC;;AACA,WAAO+9C,YAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIjV,EAAAA,MAAM,GAAG;AACL,QAAI,CAAC,KAAKpQ,WAAL,EAAL,EAAyB;AACrB;AACH;;AACD,SAAK8lB,cAAL,GAJK,CAKL;AACA;AACA;;AACA,SAAKJ,oBAAL,CAA0B,KAA1B;;AACA,QAAI,KAAKT,iBAAL,IAA0B,KAAKA,iBAAL,CAAuB7U,MAArD,EAA6D;AACzD,WAAK6U,iBAAL,CAAuB7U,MAAvB;AACH;;AACD,QAAI,KAAK4U,eAAT,EAA0B;AACtB,WAAKA,eAAL,CAAqB39B,OAArB;AACH;;AACD,UAAM0+B,gBAAgB,GAAG,KAAK3B,aAAL,CAAmBhU,MAAnB,EAAzB,CAfK,CAgBL;;;AACA,SAAKyU,YAAL,CAAkBtiD,IAAlB,GAjBK,CAkBL;;;AACA,SAAKgiD,mBAAL,CAAyBl+B,MAAzB,CAAgC,IAAhC,EAnBK,CAoBL;AACA;;;AACA,SAAK2/B,wBAAL;;AACA,SAAKlB,gBAAL,CAAsB7rB,WAAtB;;AACA,SAAKwrB,uBAAL,CAA6Bp+B,MAA7B,CAAoC,IAApC;;AACA,WAAO0/B,gBAAP;AACH;AACD;;;AACAF,EAAAA,OAAO,GAAG;AACN,UAAMI,UAAU,GAAG,KAAKjmB,WAAL,EAAnB;;AACA,QAAI,KAAKilB,iBAAT,EAA4B;AACxB,WAAKA,iBAAL,CAAuBY,OAAvB;AACH;;AACD,SAAKK,sBAAL;;AACA,SAAKC,gBAAL,CAAsB,KAAKzB,gBAA3B;;AACA,SAAKI,gBAAL,CAAsB7rB,WAAtB;;AACA,SAAKsrB,mBAAL,CAAyBl+B,MAAzB,CAAgC,IAAhC;;AACA,SAAK+9B,aAAL,CAAmByB,OAAnB;;AACA,SAAKjB,YAAL,CAAkBhf,QAAlB;;AACA,SAAK+e,cAAL,CAAoB/e,QAApB;;AACA,SAAKkd,cAAL,CAAoBld,QAApB;;AACA,SAAK2d,qBAAL,CAA2B3d,QAA3B;;AACA,SAAK6e,uBAAL,CAA6Bp+B,MAA7B,CAAoC,IAApC;;AACA,QAAI,KAAKg+B,KAAL,IAAc,KAAKA,KAAL,CAAWlpD,UAA7B,EAAyC;AACrC,WAAKkpD,KAAL,CAAWlpD,UAAX,CAAsBuyB,WAAtB,CAAkC,KAAK22B,KAAvC;;AACA,WAAKA,KAAL,GAAa,IAAb;AACH;;AACD,SAAKiB,mBAAL,GAA2B,KAAKhB,KAAL,GAAa,IAAxC;;AACA,QAAI2B,UAAJ,EAAgB;AACZ,WAAKpB,YAAL,CAAkBtiD,IAAlB;AACH;;AACD,SAAKsiD,YAAL,CAAkBjf,QAAlB;AACH;AACD;;;AACA5F,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKokB,aAAL,CAAmBpkB,WAAnB,EAAP;AACH;AACD;;;AACAomB,EAAAA,aAAa,GAAG;AACZ,WAAO,KAAKzB,cAAZ;AACH;AACD;;;AACA0B,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKzB,YAAZ;AACH;AACD;;;AACA0B,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKzB,YAAZ;AACH;AACD;;;AACA0B,EAAAA,aAAa,GAAG;AACZ,WAAO,KAAKzD,cAAZ;AACH;AACD;;;AACA0D,EAAAA,oBAAoB,GAAG;AACnB,WAAO,KAAKjD,qBAAZ;AACH;AACD;;;AACAkD,EAAAA,SAAS,GAAG;AACR,WAAO,KAAK5H,OAAZ;AACH;AACD;;;AACAS,EAAAA,cAAc,GAAG;AACb,QAAI,KAAK2F,iBAAT,EAA4B;AACxB,WAAKA,iBAAL,CAAuBppD,KAAvB;AACH;AACJ;AACD;;;AACA6qD,EAAAA,sBAAsB,CAACC,QAAD,EAAW;AAC7B,QAAIA,QAAQ,KAAK,KAAK1B,iBAAtB,EAAyC;AACrC;AACH;;AACD,QAAI,KAAKA,iBAAT,EAA4B;AACxB,WAAKA,iBAAL,CAAuBY,OAAvB;AACH;;AACD,SAAKZ,iBAAL,GAAyB0B,QAAzB;;AACA,QAAI,KAAK3mB,WAAL,EAAJ,EAAwB;AACpB2mB,MAAAA,QAAQ,CAACnJ,MAAT,CAAgB,IAAhB;AACA,WAAK8B,cAAL;AACH;AACJ;AACD;;;AACAsH,EAAAA,UAAU,CAACC,UAAD,EAAa;AACnB,SAAKhI,OAAL,GAAe9mD,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB,KAAK0oC,OAAvB,CAAd,EAA+CgI,UAA/C,CAAf;;AACA,SAAKrB,kBAAL;AACH;AACD;;;AACAsB,EAAAA,YAAY,CAACtZ,GAAD,EAAM;AACd,SAAKqR,OAAL,GAAe9mD,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB,KAAK0oC,OAAvB,CAAd,EAA+C;AAAElmB,MAAAA,SAAS,EAAE6U;AAAb,KAA/C,CAAf;;AACA,SAAKiY,uBAAL;AACH;AACD;;;AACAsB,EAAAA,aAAa,CAAC3gC,OAAD,EAAU;AACnB,QAAI,KAAKk+B,KAAT,EAAgB;AACZ,WAAKsB,cAAL,CAAoB,KAAKtB,KAAzB,EAAgCl+B,OAAhC,EAAyC,IAAzC;AACH;AACJ;AACD;;;AACA4gC,EAAAA,gBAAgB,CAAC5gC,OAAD,EAAU;AACtB,QAAI,KAAKk+B,KAAT,EAAgB;AACZ,WAAKsB,cAAL,CAAoB,KAAKtB,KAAzB,EAAgCl+B,OAAhC,EAAyC,KAAzC;AACH;AACJ;AACD;AACJ;AACA;;;AACI6gC,EAAAA,YAAY,GAAG;AACX,UAAMtuB,SAAS,GAAG,KAAKkmB,OAAL,CAAalmB,SAA/B;;AACA,QAAI,CAACA,SAAL,EAAgB;AACZ,aAAO,KAAP;AACH;;AACD,WAAO,OAAOA,SAAP,KAAqB,QAArB,GAAgCA,SAAhC,GAA4CA,SAAS,CAACj/B,KAA7D;AACH;AACD;;;AACAwtD,EAAAA,oBAAoB,CAACP,QAAD,EAAW;AAC3B,QAAIA,QAAQ,KAAK,KAAK3B,eAAtB,EAAuC;AACnC;AACH;;AACD,SAAKkB,sBAAL;;AACA,SAAKlB,eAAL,GAAuB2B,QAAvB;;AACA,QAAI,KAAK3mB,WAAL,EAAJ,EAAwB;AACpB2mB,MAAAA,QAAQ,CAACnJ,MAAT,CAAgB,IAAhB;AACAmJ,MAAAA,QAAQ,CAAClJ,MAAT;AACH;AACJ;AACD;;;AACAgI,EAAAA,uBAAuB,GAAG;AACtB,SAAKpB,KAAL,CAAWpjD,YAAX,CAAwB,KAAxB,EAA+B,KAAKgmD,YAAL,EAA/B;AACH;AACD;;;AACAzB,EAAAA,kBAAkB,GAAG;AACjB,QAAI,CAAC,KAAKlB,KAAV,EAAiB;AACb;AACH;;AACD,UAAM5yD,KAAK,GAAG,KAAK4yD,KAAL,CAAW5yD,KAAzB;AACAA,IAAAA,KAAK,CAAC+sD,KAAN,GAAcjC,0EAAmB,CAAC,KAAKqC,OAAL,CAAaJ,KAAd,CAAjC;AACA/sD,IAAAA,KAAK,CAAC6sD,MAAN,GAAe/B,0EAAmB,CAAC,KAAKqC,OAAL,CAAaN,MAAd,CAAlC;AACA7sD,IAAAA,KAAK,CAACy1D,QAAN,GAAiB3K,0EAAmB,CAAC,KAAKqC,OAAL,CAAasI,QAAd,CAApC;AACAz1D,IAAAA,KAAK,CAAC01D,SAAN,GAAkB5K,0EAAmB,CAAC,KAAKqC,OAAL,CAAauI,SAAd,CAArC;AACA11D,IAAAA,KAAK,CAAC21D,QAAN,GAAiB7K,0EAAmB,CAAC,KAAKqC,OAAL,CAAawI,QAAd,CAApC;AACA31D,IAAAA,KAAK,CAAC41D,SAAN,GAAkB9K,0EAAmB,CAAC,KAAKqC,OAAL,CAAayI,SAAd,CAArC;AACH;AACD;;;AACA5B,EAAAA,oBAAoB,CAAC6B,aAAD,EAAgB;AAChC,SAAKjD,KAAL,CAAW5yD,KAAX,CAAiB81D,aAAjB,GAAiCD,aAAa,GAAG,EAAH,GAAQ,MAAtD;AACH;AACD;;;AACA5B,EAAAA,eAAe,GAAG;AACd,UAAM8B,YAAY,GAAG,8BAArB;AACA,SAAK/C,gBAAL,GAAwB,KAAK/vB,SAAL,CAAelI,aAAf,CAA6B,KAA7B,CAAxB;;AACA,SAAKi4B,gBAAL,CAAsBv+B,SAAtB,CAAgC7e,GAAhC,CAAoC,sBAApC;;AACA,QAAI,KAAKu3C,OAAL,CAAa4C,aAAjB,EAAgC;AAC5B,WAAKmE,cAAL,CAAoB,KAAKlB,gBAAzB,EAA2C,KAAK7F,OAAL,CAAa4C,aAAxD,EAAuE,IAAvE;AACH,KANa,CAOd;AACA;;;AACA,SAAK4C,KAAL,CAAW5b,aAAX,CAAyBtpB,YAAzB,CAAsC,KAAKulC,gBAA3C,EAA6D,KAAKL,KAAlE,EATc,CAUd;AACA;;;AACA,SAAKK,gBAAL,CAAsB95B,gBAAtB,CAAuC,OAAvC,EAAgD,KAAKm6B,qBAArD,EAZc,CAad;;;AACA,QAAI,OAAO2C,qBAAP,KAAiC,WAArC,EAAkD;AAC9C,WAAKvpB,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACjCyoB,QAAAA,qBAAqB,CAAC,MAAM;AACxB,cAAI,KAAKhD,gBAAT,EAA2B;AACvB,iBAAKA,gBAAL,CAAsBv+B,SAAtB,CAAgC7e,GAAhC,CAAoCmgD,YAApC;AACH;AACJ,SAJoB,CAArB;AAKH,OAND;AAOH,KARD,MASK;AACD,WAAK/C,gBAAL,CAAsBv+B,SAAtB,CAAgC7e,GAAhC,CAAoCmgD,YAApC;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIlC,EAAAA,oBAAoB,GAAG;AACnB,QAAI,KAAKlB,KAAL,CAAWllB,WAAf,EAA4B;AACxB,WAAKklB,KAAL,CAAWlpD,UAAX,CAAsB6xB,WAAtB,CAAkC,KAAKq3B,KAAvC;AACH;AACJ;AACD;;;AACAyB,EAAAA,cAAc,GAAG;AACb,UAAM6B,gBAAgB,GAAG,KAAKjD,gBAA9B;;AACA,QAAI,CAACiD,gBAAL,EAAuB;AACnB;AACH;;AACD,QAAIC,SAAJ;;AACA,UAAMC,YAAY,GAAG,MAAM;AACvB;AACA,UAAIF,gBAAJ,EAAsB;AAClBA,QAAAA,gBAAgB,CAACh9B,mBAAjB,CAAqC,OAArC,EAA8C,KAAKo6B,qBAAnD;AACA4C,QAAAA,gBAAgB,CAACh9B,mBAAjB,CAAqC,eAArC,EAAsDk9B,YAAtD;;AACA,aAAK1B,gBAAL,CAAsBwB,gBAAtB;AACH;;AACD,UAAI,KAAK9I,OAAL,CAAa4C,aAAjB,EAAgC;AAC5B,aAAKmE,cAAL,CAAoB+B,gBAApB,EAAsC,KAAK9I,OAAL,CAAa4C,aAAnD,EAAkE,KAAlE;AACH;;AACDhb,MAAAA,YAAY,CAACmhB,SAAD,CAAZ;AACH,KAXD;;AAYAD,IAAAA,gBAAgB,CAACxhC,SAAjB,CAA2BE,MAA3B,CAAkC,8BAAlC;;AACA,SAAK8X,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACjC0oB,MAAAA,gBAAgB,CAAC/8B,gBAAjB,CAAkC,eAAlC,EAAmDi9B,YAAnD;AACH,KAFD,EAnBa,CAsBb;AACA;;;AACAF,IAAAA,gBAAgB,CAACj2D,KAAjB,CAAuB81D,aAAvB,GAAuC,MAAvC,CAxBa,CAyBb;AACA;AACA;;AACAI,IAAAA,SAAS,GAAG,KAAKzpB,OAAL,CAAac,iBAAb,CAA+B,MAAMmE,UAAU,CAACykB,YAAD,EAAe,GAAf,CAA/C,CAAZ;AACH;AACD;;;AACAjC,EAAAA,cAAc,CAACvuD,OAAD,EAAUywD,UAAV,EAAsBC,KAAtB,EAA6B;AACvC,UAAM5hC,SAAS,GAAG9uB,OAAO,CAAC8uB,SAA1B;AACAs2B,IAAAA,kEAAW,CAACqL,UAAD,CAAX,CAAwBn0D,OAAxB,CAAgCq0D,QAAQ,IAAI;AACxC;AACA;AACA,UAAIA,QAAJ,EAAc;AACVD,QAAAA,KAAK,GAAG5hC,SAAS,CAAC7e,GAAV,CAAc0gD,QAAd,CAAH,GAA6B7hC,SAAS,CAACE,MAAV,CAAiB2hC,QAAjB,CAAlC;AACH;AACJ,KAND;AAOH;AACD;;;AACAhC,EAAAA,wBAAwB,GAAG;AACvB;AACA;AACA;AACA,SAAK7nB,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACjC;AACA;AACA;AACA,YAAMyb,YAAY,GAAG,KAAKvc,OAAL,CAAaoC,QAAb,CAChBrH,IADgB,CACXvG,yDAAS,CAACoqB,2CAAK,CAAC,KAAK6H,YAAN,EAAoB,KAAKC,YAAzB,CAAN,CADE,EAEhB9sB,SAFgB,CAEN,MAAM;AACjB;AACA;AACA,YAAI,CAAC,KAAKusB,KAAN,IAAe,CAAC,KAAKD,KAArB,IAA8B,KAAKC,KAAL,CAAWrkB,QAAX,CAAoBhrC,MAApB,KAA+B,CAAjE,EAAoE;AAChE,cAAI,KAAKqvD,KAAL,IAAc,KAAKzF,OAAL,CAAa0C,UAA/B,EAA2C;AACvC,iBAAKqE,cAAL,CAAoB,KAAKtB,KAAzB,EAAgC,KAAKzF,OAAL,CAAa0C,UAA7C,EAAyD,KAAzD;AACH;;AACD,cAAI,KAAK8C,KAAL,IAAc,KAAKA,KAAL,CAAW5b,aAA7B,EAA4C;AACxC,iBAAK6c,mBAAL,GAA2B,KAAKjB,KAAL,CAAW5b,aAAtC;;AACA,iBAAK6c,mBAAL,CAAyB53B,WAAzB,CAAqC,KAAK22B,KAA1C;AACH;;AACD3J,UAAAA,YAAY,CAACzhB,WAAb;AACH;AACJ,OAfoB,CAArB;AAgBH,KApBD;AAqBH;AACD;;;AACAitB,EAAAA,sBAAsB,GAAG;AACrB,UAAM5E,cAAc,GAAG,KAAK0D,eAA5B;;AACA,QAAI1D,cAAJ,EAAoB;AAChBA,MAAAA,cAAc,CAACj6B,OAAf;;AACA,UAAIi6B,cAAc,CAAClR,MAAnB,EAA2B;AACvBkR,QAAAA,cAAc,CAAClR,MAAf;AACH;AACJ;AACJ;AACD;;;AACA+V,EAAAA,gBAAgB,CAAC8B,QAAD,EAAW;AACvB,QAAIA,QAAJ,EAAc;AACV,UAAIA,QAAQ,CAAC9sD,UAAb,EAAyB;AACrB8sD,QAAAA,QAAQ,CAAC9sD,UAAT,CAAoBuyB,WAApB,CAAgCu6B,QAAhC;AACH,OAHS,CAIV;AACA;AACA;;;AACA,UAAI,KAAKvD,gBAAL,KAA0BuD,QAA9B,EAAwC;AACpC,aAAKvD,gBAAL,GAAwB,IAAxB;AACH;AACJ;AACJ;;AA5YY;AA+YjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMwD,gBAAgB,GAAG,6CAAzB;AACA;;AACA,MAAMC,cAAc,GAAG,eAAvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,iCAAN,CAAwC;AACpCt1D,EAAAA,WAAW,CAACu1D,WAAD,EAAclL,cAAd,EAA8BxoB,SAA9B,EAAyCmH,SAAzC,EAAoDwsB,iBAApD,EAAuE;AAC9E,SAAKnL,cAAL,GAAsBA,cAAtB;AACA,SAAKxoB,SAAL,GAAiBA,SAAjB;AACA,SAAKmH,SAAL,GAAiBA,SAAjB;AACA,SAAKwsB,iBAAL,GAAyBA,iBAAzB;AACA;;AACA,SAAKC,oBAAL,GAA4B;AAAE9J,MAAAA,KAAK,EAAE,CAAT;AAAYF,MAAAA,MAAM,EAAE;AAApB,KAA5B;AACA;;AACA,SAAKiK,SAAL,GAAiB,KAAjB;AACA;;AACA,SAAKC,QAAL,GAAgB,IAAhB;AACA;;AACA,SAAKC,cAAL,GAAsB,KAAtB;AACA;;AACA,SAAKC,sBAAL,GAA8B,IAA9B;AACA;;AACA,SAAKC,eAAL,GAAuB,KAAvB;AACA;;AACA,SAAKC,eAAL,GAAuB,CAAvB;AACA;;AACA,SAAKC,YAAL,GAAoB,EAApB;AACA;;AACA,SAAKC,mBAAL,GAA2B,EAA3B;AACA;;AACA,SAAKC,gBAAL,GAAwB,IAAI/3B,yCAAJ,EAAxB;AACA;;AACA,SAAKg4B,mBAAL,GAA2B/3B,oDAA3B;AACA;;AACA,SAAKg4B,QAAL,GAAgB,CAAhB;AACA;;AACA,SAAKC,QAAL,GAAgB,CAAhB;AACA;;AACA,SAAKC,oBAAL,GAA4B,EAA5B;AACA;;AACA,SAAKC,eAAL,GAAuB,KAAKL,gBAA5B;AACA,SAAKM,SAAL,CAAejB,WAAf;AACH;AACD;;;AACa,MAATkB,SAAS,GAAG;AACZ,WAAO,KAAKR,mBAAZ;AACH;AACD;;;AACAvL,EAAAA,MAAM,CAACyB,UAAD,EAAa;AACf,QAAI,KAAKD,WAAL,IAAoBC,UAAU,KAAK,KAAKD,WAAxC,KACC,OAAO9gD,SAAP,KAAqB,WAArB,IAAoCA,SADrC,CAAJ,EACqD;AACjD,YAAM3F,KAAK,CAAC,0DAAD,CAAX;AACH;;AACD,SAAKixD,kBAAL;;AACAvK,IAAAA,UAAU,CAACrlC,WAAX,CAAuBuM,SAAvB,CAAiC7e,GAAjC,CAAqC4gD,gBAArC;AACA,SAAKlJ,WAAL,GAAmBC,UAAnB;AACA,SAAKwK,YAAL,GAAoBxK,UAAU,CAACrlC,WAA/B;AACA,SAAK0qC,KAAL,GAAarF,UAAU,CAAC2B,cAAxB;AACA,SAAK8I,WAAL,GAAmB,KAAnB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACA,SAAKC,aAAL,GAAqB,IAArB;;AACA,SAAKX,mBAAL,CAAyBhwB,WAAzB;;AACA,SAAKgwB,mBAAL,GAA2B,KAAK9L,cAAL,CAAoBtlB,MAApB,GAA6BE,SAA7B,CAAuC,MAAM;AACpE;AACA;AACA;AACA,WAAK4xB,gBAAL,GAAwB,IAAxB;AACA,WAAK9tD,KAAL;AACH,KAN0B,CAA3B;AAOH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIA,EAAAA,KAAK,GAAG;AACJ;AACA,QAAI,KAAK6tD,WAAL,IAAoB,CAAC,KAAK5tB,SAAL,CAAeplC,SAAxC,EAAmD;AAC/C;AACH,KAJG,CAKJ;AACA;AACA;;;AACA,QAAI,CAAC,KAAKizD,gBAAN,IAA0B,KAAKf,eAA/B,IAAkD,KAAKgB,aAA3D,EAA0E;AACtE,WAAKC,mBAAL;AACA;AACH;;AACD,SAAKC,kBAAL;;AACA,SAAKC,0BAAL;;AACA,SAAKC,uBAAL,GAdI,CAeJ;AACA;AACA;;;AACA,SAAKC,aAAL,GAAqB,KAAKC,wBAAL,EAArB;AACA,SAAKC,WAAL,GAAmB,KAAKC,cAAL,EAAnB;AACA,SAAKC,YAAL,GAAoB,KAAK/F,KAAL,CAAWzD,qBAAX,EAApB;AACA,UAAMyJ,UAAU,GAAG,KAAKH,WAAxB;AACA,UAAMxJ,WAAW,GAAG,KAAK0J,YAAzB;AACA,UAAME,YAAY,GAAG,KAAKN,aAA1B,CAvBI,CAwBJ;;AACA,UAAMO,YAAY,GAAG,EAArB,CAzBI,CA0BJ;;AACA,QAAIC,QAAJ,CA3BI,CA4BJ;AACA;;AACA,SAAK,IAAIC,GAAT,IAAgB,KAAK3B,mBAArB,EAA0C;AACtC;AACA,UAAI4B,WAAW,GAAG,KAAKC,eAAL,CAAqBN,UAArB,EAAiCI,GAAjC,CAAlB,CAFsC,CAGtC;AACA;AACA;;;AACA,UAAIG,YAAY,GAAG,KAAKC,gBAAL,CAAsBH,WAAtB,EAAmChK,WAAnC,EAAgD+J,GAAhD,CAAnB,CANsC,CAOtC;;;AACA,UAAIK,UAAU,GAAG,KAAKC,cAAL,CAAoBH,YAApB,EAAkClK,WAAlC,EAA+C4J,YAA/C,EAA6DG,GAA7D,CAAjB,CARsC,CAStC;;;AACA,UAAIK,UAAU,CAACE,0BAAf,EAA2C;AACvC,aAAKzC,SAAL,GAAiB,KAAjB;;AACA,aAAK0C,cAAL,CAAoBR,GAApB,EAAyBC,WAAzB;;AACA;AACH,OAdqC,CAetC;AACA;;;AACA,UAAI,KAAKQ,6BAAL,CAAmCJ,UAAnC,EAA+CF,YAA/C,EAA6DN,YAA7D,CAAJ,EAAgF;AAC5E;AACA;AACAC,QAAAA,YAAY,CAAC12D,IAAb,CAAkB;AACdc,UAAAA,QAAQ,EAAE81D,GADI;AAEdjvB,UAAAA,MAAM,EAAEkvB,WAFM;AAGdhK,UAAAA,WAHc;AAIdyK,UAAAA,eAAe,EAAE,KAAKC,yBAAL,CAA+BV,WAA/B,EAA4CD,GAA5C;AAJH,SAAlB;AAMA;AACH,OA3BqC,CA4BtC;AACA;AACA;;;AACA,UAAI,CAACD,QAAD,IAAaA,QAAQ,CAACM,UAAT,CAAoBO,WAApB,GAAkCP,UAAU,CAACO,WAA9D,EAA2E;AACvEb,QAAAA,QAAQ,GAAG;AAAEM,UAAAA,UAAF;AAAcF,UAAAA,YAAd;AAA4BF,UAAAA,WAA5B;AAAyC/1D,UAAAA,QAAQ,EAAE81D,GAAnD;AAAwD/J,UAAAA;AAAxD,SAAX;AACH;AACJ,KAhEG,CAiEJ;AACA;;;AACA,QAAI6J,YAAY,CAACv1D,MAAjB,EAAyB;AACrB,UAAIs2D,OAAO,GAAG,IAAd;AACA,UAAIC,SAAS,GAAG,CAAC,CAAjB;;AACA,WAAK,MAAMC,GAAX,IAAkBjB,YAAlB,EAAgC;AAC5B,cAAMkB,KAAK,GAAGD,GAAG,CAACL,eAAJ,CAAoB3M,KAApB,GAA4BgN,GAAG,CAACL,eAAJ,CAAoB7M,MAAhD,IAA0DkN,GAAG,CAAC72D,QAAJ,CAAa+2D,MAAb,IAAuB,CAAjF,CAAd;;AACA,YAAID,KAAK,GAAGF,SAAZ,EAAuB;AACnBA,UAAAA,SAAS,GAAGE,KAAZ;AACAH,UAAAA,OAAO,GAAGE,GAAV;AACH;AACJ;;AACD,WAAKjD,SAAL,GAAiB,KAAjB;;AACA,WAAK0C,cAAL,CAAoBK,OAAO,CAAC32D,QAA5B,EAAsC22D,OAAO,CAAC9vB,MAA9C;;AACA;AACH,KAhFG,CAiFJ;AACA;;;AACA,QAAI,KAAKgtB,QAAT,EAAmB;AACf;AACA,WAAKD,SAAL,GAAiB,IAAjB;;AACA,WAAK0C,cAAL,CAAoBT,QAAQ,CAAC71D,QAA7B,EAAuC61D,QAAQ,CAACE,WAAhD;;AACA;AACH,KAxFG,CAyFJ;AACA;;;AACA,SAAKO,cAAL,CAAoBT,QAAQ,CAAC71D,QAA7B,EAAuC61D,QAAQ,CAACE,WAAhD;AACH;;AACDva,EAAAA,MAAM,GAAG;AACL,SAAK0Z,kBAAL;;AACA,SAAKF,aAAL,GAAqB,IAArB;AACA,SAAKgC,mBAAL,GAA2B,IAA3B;;AACA,SAAK3C,mBAAL,CAAyBhwB,WAAzB;AACH;AACD;;;AACA4sB,EAAAA,OAAO,GAAG;AACN,QAAI,KAAK6D,WAAT,EAAsB;AAClB;AACH,KAHK,CAIN;AACA;;;AACA,QAAI,KAAKD,YAAT,EAAuB;AACnBoC,MAAAA,YAAY,CAAC,KAAKpC,YAAL,CAAkB/3D,KAAnB,EAA0B;AAClC2rD,QAAAA,GAAG,EAAE,EAD6B;AAElCC,QAAAA,IAAI,EAAE,EAF4B;AAGlCyC,QAAAA,KAAK,EAAE,EAH2B;AAIlCH,QAAAA,MAAM,EAAE,EAJ0B;AAKlCrB,QAAAA,MAAM,EAAE,EAL0B;AAMlCE,QAAAA,KAAK,EAAE,EAN2B;AAOlCqN,QAAAA,UAAU,EAAE,EAPsB;AAQlCC,QAAAA,cAAc,EAAE;AARkB,OAA1B,CAAZ;AAUH;;AACD,QAAI,KAAKzH,KAAT,EAAgB;AACZ,WAAKyF,0BAAL;AACH;;AACD,QAAI,KAAK/K,WAAT,EAAsB;AAClB,WAAKA,WAAL,CAAiBplC,WAAjB,CAA6BuM,SAA7B,CAAuCE,MAAvC,CAA8C6hC,gBAA9C;AACH;;AACD,SAAK9X,MAAL;;AACA,SAAK4Y,gBAAL,CAAsBpjB,QAAtB;;AACA,SAAKoZ,WAAL,GAAmB,KAAKyK,YAAL,GAAoB,IAAvC;AACA,SAAKC,WAAL,GAAmB,IAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIG,EAAAA,mBAAmB,GAAG;AAClB,QAAI,CAAC,KAAKH,WAAN,KAAsB,CAAC,KAAK5tB,SAAN,IAAmB,KAAKA,SAAL,CAAeplC,SAAxD,CAAJ,EAAwE;AACpE,WAAKyzD,WAAL,GAAmB,KAAKC,cAAL,EAAnB;AACA,WAAKC,YAAL,GAAoB,KAAK/F,KAAL,CAAWzD,qBAAX,EAApB;AACA,WAAKoJ,aAAL,GAAqB,KAAKC,wBAAL,EAArB;AACA,YAAM8B,YAAY,GAAG,KAAKpC,aAAL,IAAsB,KAAKb,mBAAL,CAAyB,CAAzB,CAA3C;;AACA,YAAM4B,WAAW,GAAG,KAAKC,eAAL,CAAqB,KAAKT,WAA1B,EAAuC6B,YAAvC,CAApB;;AACA,WAAKd,cAAL,CAAoBc,YAApB,EAAkCrB,WAAlC;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACIsB,EAAAA,wBAAwB,CAACC,WAAD,EAAc;AAClC,SAAKpD,YAAL,GAAoBoD,WAApB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIC,EAAAA,aAAa,CAAC5C,SAAD,EAAY;AACrB,SAAKR,mBAAL,GAA2BQ,SAA3B,CADqB,CAErB;AACA;;AACA,QAAIA,SAAS,CAACtvD,OAAV,CAAkB,KAAK2vD,aAAvB,MAA0C,CAAC,CAA/C,EAAkD;AAC9C,WAAKA,aAAL,GAAqB,IAArB;AACH;;AACD,SAAKJ,kBAAL;;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI4C,EAAAA,kBAAkB,CAACC,MAAD,EAAS;AACvB,SAAKxD,eAAL,GAAuBwD,MAAvB;AACA,WAAO,IAAP;AACH;AACD;;;AACAC,EAAAA,sBAAsB,CAACC,kBAAkB,GAAG,IAAtB,EAA4B;AAC9C,SAAK5D,sBAAL,GAA8B4D,kBAA9B;AACA,WAAO,IAAP;AACH;AACD;;;AACAC,EAAAA,iBAAiB,CAACC,aAAa,GAAG,IAAjB,EAAuB;AACpC,SAAK/D,cAAL,GAAsB+D,aAAtB;AACA,WAAO,IAAP;AACH;AACD;;;AACAC,EAAAA,QAAQ,CAACC,OAAO,GAAG,IAAX,EAAiB;AACrB,SAAKlE,QAAL,GAAgBkE,OAAhB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIC,EAAAA,kBAAkB,CAACC,QAAQ,GAAG,IAAZ,EAAkB;AAChC,SAAKjE,eAAL,GAAuBiE,QAAvB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIvD,EAAAA,SAAS,CAAC7tB,MAAD,EAAS;AACd,SAAKF,OAAL,GAAeE,MAAf;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIqxB,EAAAA,kBAAkB,CAACl7D,MAAD,EAAS;AACvB,SAAKs3D,QAAL,GAAgBt3D,MAAhB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIm7D,EAAAA,kBAAkB,CAACn7D,MAAD,EAAS;AACvB,SAAKu3D,QAAL,GAAgBv3D,MAAhB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIo7D,EAAAA,qBAAqB,CAAC16D,QAAD,EAAW;AAC5B,SAAK26D,wBAAL,GAAgC36D,QAAhC;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;;;AACIs4D,EAAAA,eAAe,CAACN,UAAD,EAAaI,GAAb,EAAkB;AAC7B,QAAIwC,CAAJ;;AACA,QAAIxC,GAAG,CAAC5I,OAAJ,IAAe,QAAnB,EAA6B;AACzB;AACA;AACAoL,MAAAA,CAAC,GAAG5C,UAAU,CAAChN,IAAX,GAAmBgN,UAAU,CAAC7L,KAAX,GAAmB,CAA1C;AACH,KAJD,MAKK;AACD,YAAM0O,MAAM,GAAG,KAAKC,MAAL,KAAgB9C,UAAU,CAACvK,KAA3B,GAAmCuK,UAAU,CAAChN,IAA7D;AACA,YAAM+P,IAAI,GAAG,KAAKD,MAAL,KAAgB9C,UAAU,CAAChN,IAA3B,GAAkCgN,UAAU,CAACvK,KAA1D;AACAmN,MAAAA,CAAC,GAAGxC,GAAG,CAAC5I,OAAJ,IAAe,OAAf,GAAyBqL,MAAzB,GAAkCE,IAAtC;AACH;;AACD,QAAIC,CAAJ;;AACA,QAAI5C,GAAG,CAAC3I,OAAJ,IAAe,QAAnB,EAA6B;AACzBuL,MAAAA,CAAC,GAAGhD,UAAU,CAACjN,GAAX,GAAkBiN,UAAU,CAAC/L,MAAX,GAAoB,CAA1C;AACH,KAFD,MAGK;AACD+O,MAAAA,CAAC,GAAG5C,GAAG,CAAC3I,OAAJ,IAAe,KAAf,GAAuBuI,UAAU,CAACjN,GAAlC,GAAwCiN,UAAU,CAAC1K,MAAvD;AACH;;AACD,WAAO;AAAEsN,MAAAA,CAAF;AAAKI,MAAAA;AAAL,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIxC,EAAAA,gBAAgB,CAACH,WAAD,EAAchK,WAAd,EAA2B+J,GAA3B,EAAgC;AAC5C;AACA;AACA,QAAI6C,aAAJ;;AACA,QAAI7C,GAAG,CAAC1I,QAAJ,IAAgB,QAApB,EAA8B;AAC1BuL,MAAAA,aAAa,GAAG,CAAC5M,WAAW,CAAClC,KAAb,GAAqB,CAArC;AACH,KAFD,MAGK,IAAIiM,GAAG,CAAC1I,QAAJ,KAAiB,OAArB,EAA8B;AAC/BuL,MAAAA,aAAa,GAAG,KAAKH,MAAL,KAAgB,CAACzM,WAAW,CAAClC,KAA7B,GAAqC,CAArD;AACH,KAFI,MAGA;AACD8O,MAAAA,aAAa,GAAG,KAAKH,MAAL,KAAgB,CAAhB,GAAoB,CAACzM,WAAW,CAAClC,KAAjD;AACH;;AACD,QAAI+O,aAAJ;;AACA,QAAI9C,GAAG,CAACzI,QAAJ,IAAgB,QAApB,EAA8B;AAC1BuL,MAAAA,aAAa,GAAG,CAAC7M,WAAW,CAACpC,MAAb,GAAsB,CAAtC;AACH,KAFD,MAGK;AACDiP,MAAAA,aAAa,GAAG9C,GAAG,CAACzI,QAAJ,IAAgB,KAAhB,GAAwB,CAAxB,GAA4B,CAACtB,WAAW,CAACpC,MAAzD;AACH,KAnB2C,CAoB5C;;;AACA,WAAO;AACH2O,MAAAA,CAAC,EAAEvC,WAAW,CAACuC,CAAZ,GAAgBK,aADhB;AAEHD,MAAAA,CAAC,EAAE3C,WAAW,CAAC2C,CAAZ,GAAgBE;AAFhB,KAAP;AAIH;AACD;;;AACAxC,EAAAA,cAAc,CAACyC,KAAD,EAAQC,cAAR,EAAwBtP,QAAxB,EAAkCxpD,QAAlC,EAA4C;AACtD;AACA;AACA,UAAMitD,OAAO,GAAG8L,4BAA4B,CAACD,cAAD,CAA5C;AACA,QAAI;AAAER,MAAAA,CAAF;AAAKI,MAAAA;AAAL,QAAWG,KAAf;;AACA,QAAI1pB,OAAO,GAAG,KAAK6pB,UAAL,CAAgBh5D,QAAhB,EAA0B,GAA1B,CAAd;;AACA,QAAIovC,OAAO,GAAG,KAAK4pB,UAAL,CAAgBh5D,QAAhB,EAA0B,GAA1B,CAAd,CANsD,CAOtD;;;AACA,QAAImvC,OAAJ,EAAa;AACTmpB,MAAAA,CAAC,IAAInpB,OAAL;AACH;;AACD,QAAIC,OAAJ,EAAa;AACTspB,MAAAA,CAAC,IAAItpB,OAAL;AACH,KAbqD,CActD;;;AACA,QAAI6pB,YAAY,GAAG,IAAIX,CAAvB;AACA,QAAIY,aAAa,GAAIZ,CAAC,GAAGrL,OAAO,CAACpD,KAAb,GAAsBL,QAAQ,CAACK,KAAnD;AACA,QAAIsP,WAAW,GAAG,IAAIT,CAAtB;AACA,QAAIU,cAAc,GAAIV,CAAC,GAAGzL,OAAO,CAACtD,MAAb,GAAuBH,QAAQ,CAACG,MAArD,CAlBsD,CAmBtD;;AACA,QAAI0P,YAAY,GAAG,KAAKC,kBAAL,CAAwBrM,OAAO,CAACpD,KAAhC,EAAuCoP,YAAvC,EAAqDC,aAArD,CAAnB;;AACA,QAAIK,aAAa,GAAG,KAAKD,kBAAL,CAAwBrM,OAAO,CAACtD,MAAhC,EAAwCwP,WAAxC,EAAqDC,cAArD,CAApB;;AACA,QAAI1C,WAAW,GAAG2C,YAAY,GAAGE,aAAjC;AACA,WAAO;AACH7C,MAAAA,WADG;AAEHL,MAAAA,0BAA0B,EAAGpJ,OAAO,CAACpD,KAAR,GAAgBoD,OAAO,CAACtD,MAAzB,KAAqC+M,WAF9D;AAGH8C,MAAAA,wBAAwB,EAAED,aAAa,KAAKtM,OAAO,CAACtD,MAHjD;AAIH8P,MAAAA,0BAA0B,EAAEJ,YAAY,IAAIpM,OAAO,CAACpD;AAJjD,KAAP;AAMH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI0M,EAAAA,6BAA6B,CAACM,GAAD,EAAMgC,KAAN,EAAarP,QAAb,EAAuB;AAChD,QAAI,KAAKuK,sBAAT,EAAiC;AAC7B,YAAM2F,eAAe,GAAGlQ,QAAQ,CAACwB,MAAT,GAAkB6N,KAAK,CAACH,CAAhD;AACA,YAAMiB,cAAc,GAAGnQ,QAAQ,CAAC2B,KAAT,GAAiB0N,KAAK,CAACP,CAA9C;AACA,YAAM9F,SAAS,GAAGoH,aAAa,CAAC,KAAKxP,WAAL,CAAiByH,SAAjB,GAA6BW,SAA9B,CAA/B;AACA,YAAMD,QAAQ,GAAGqH,aAAa,CAAC,KAAKxP,WAAL,CAAiByH,SAAjB,GAA6BU,QAA9B,CAA9B;AACA,YAAMsH,WAAW,GAAGhD,GAAG,CAAC2C,wBAAJ,IACfhH,SAAS,IAAI,IAAb,IAAqBA,SAAS,IAAIkH,eADvC;AAEA,YAAMI,aAAa,GAAGjD,GAAG,CAAC4C,0BAAJ,IACjBlH,QAAQ,IAAI,IAAZ,IAAoBA,QAAQ,IAAIoH,cADrC;AAEA,aAAOE,WAAW,IAAIC,aAAtB;AACH;;AACD,WAAO,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIC,EAAAA,oBAAoB,CAACn7C,KAAD,EAAQk6C,cAAR,EAAwBrO,cAAxB,EAAwC;AACxD;AACA;AACA;AACA,QAAI,KAAKuM,mBAAL,IAA4B,KAAKhD,eAArC,EAAsD;AAClD,aAAO;AACHsE,QAAAA,CAAC,EAAE15C,KAAK,CAAC05C,CAAN,GAAU,KAAKtB,mBAAL,CAAyBsB,CADnC;AAEHI,QAAAA,CAAC,EAAE95C,KAAK,CAAC85C,CAAN,GAAU,KAAK1B,mBAAL,CAAyB0B;AAFnC,OAAP;AAIH,KATuD,CAUxD;AACA;;;AACA,UAAMzL,OAAO,GAAG8L,4BAA4B,CAACD,cAAD,CAA5C;AACA,UAAMtP,QAAQ,GAAG,KAAK6L,aAAtB,CAbwD,CAcxD;AACA;;AACA,UAAM2E,aAAa,GAAG/4D,IAAI,CAACC,GAAL,CAAS0d,KAAK,CAAC05C,CAAN,GAAUrL,OAAO,CAACpD,KAAlB,GAA0BL,QAAQ,CAACK,KAA5C,EAAmD,CAAnD,CAAtB;AACA,UAAMoQ,cAAc,GAAGh5D,IAAI,CAACC,GAAL,CAAS0d,KAAK,CAAC85C,CAAN,GAAUzL,OAAO,CAACtD,MAAlB,GAA2BH,QAAQ,CAACG,MAA7C,EAAqD,CAArD,CAAvB;AACA,UAAMuQ,WAAW,GAAGj5D,IAAI,CAACC,GAAL,CAASsoD,QAAQ,CAACf,GAAT,GAAegC,cAAc,CAAChC,GAA9B,GAAoC7pC,KAAK,CAAC85C,CAAnD,EAAsD,CAAtD,CAApB;AACA,UAAMyB,YAAY,GAAGl5D,IAAI,CAACC,GAAL,CAASsoD,QAAQ,CAACd,IAAT,GAAgB+B,cAAc,CAAC/B,IAA/B,GAAsC9pC,KAAK,CAAC05C,CAArD,EAAwD,CAAxD,CAArB,CAnBwD,CAoBxD;;AACA,QAAI8B,KAAK,GAAG,CAAZ;AACA,QAAIC,KAAK,GAAG,CAAZ,CAtBwD,CAuBxD;AACA;AACA;;AACA,QAAIpN,OAAO,CAACpD,KAAR,IAAiBL,QAAQ,CAACK,KAA9B,EAAqC;AACjCuQ,MAAAA,KAAK,GAAGD,YAAY,IAAI,CAACH,aAAzB;AACH,KAFD,MAGK;AACDI,MAAAA,KAAK,GAAGx7C,KAAK,CAAC05C,CAAN,GAAU,KAAKrE,eAAf,GAAkCzK,QAAQ,CAACd,IAAT,GAAgB+B,cAAc,CAAC/B,IAAhC,GAAwC9pC,KAAK,CAAC05C,CAA/E,GAAmF,CAA3F;AACH;;AACD,QAAIrL,OAAO,CAACtD,MAAR,IAAkBH,QAAQ,CAACG,MAA/B,EAAuC;AACnC0Q,MAAAA,KAAK,GAAGH,WAAW,IAAI,CAACD,cAAxB;AACH,KAFD,MAGK;AACDI,MAAAA,KAAK,GAAGz7C,KAAK,CAAC85C,CAAN,GAAU,KAAKzE,eAAf,GAAkCzK,QAAQ,CAACf,GAAT,GAAegC,cAAc,CAAChC,GAA/B,GAAsC7pC,KAAK,CAAC85C,CAA7E,GAAiF,CAAzF;AACH;;AACD,SAAK1B,mBAAL,GAA2B;AAAEsB,MAAAA,CAAC,EAAE8B,KAAL;AAAY1B,MAAAA,CAAC,EAAE2B;AAAf,KAA3B;AACA,WAAO;AACH/B,MAAAA,CAAC,EAAE15C,KAAK,CAAC05C,CAAN,GAAU8B,KADV;AAEH1B,MAAAA,CAAC,EAAE95C,KAAK,CAAC85C,CAAN,GAAU2B;AAFV,KAAP;AAIH;AACD;AACJ;AACA;AACA;AACA;;;AACI/D,EAAAA,cAAc,CAACt2D,QAAD,EAAW+1D,WAAX,EAAwB;AAClC,SAAKuE,mBAAL,CAAyBt6D,QAAzB;;AACA,SAAKu6D,wBAAL,CAA8BxE,WAA9B,EAA2C/1D,QAA3C;;AACA,SAAKw6D,qBAAL,CAA2BzE,WAA3B,EAAwC/1D,QAAxC;;AACA,QAAIA,QAAQ,CAAC2sD,UAAb,EAAyB;AACrB,WAAK8N,gBAAL,CAAsBz6D,QAAQ,CAAC2sD,UAA/B;AACH,KANiC,CAOlC;;;AACA,SAAKqI,aAAL,GAAqBh1D,QAArB,CARkC,CASlC;AACA;AACA;;AACA,QAAI,KAAKo0D,gBAAL,CAAsBjG,SAAtB,CAAgC9tD,MAApC,EAA4C;AACxC,YAAMotD,wBAAwB,GAAG,KAAKiN,oBAAL,EAAjC;;AACA,YAAMC,WAAW,GAAG,IAAIpN,8BAAJ,CAAmCvtD,QAAnC,EAA6CytD,wBAA7C,CAApB;;AACA,WAAK2G,gBAAL,CAAsBzmD,IAAtB,CAA2BgtD,WAA3B;AACH;;AACD,SAAK5F,gBAAL,GAAwB,KAAxB;AACH;AACD;;;AACAuF,EAAAA,mBAAmB,CAACt6D,QAAD,EAAW;AAC1B,QAAI,CAAC,KAAKq4D,wBAAV,EAAoC;AAChC;AACH;;AACD,UAAM18C,QAAQ,GAAG,KAAKk5C,YAAL,CAAkBztD,gBAAlB,CAAmC,KAAKixD,wBAAxC,CAAjB;;AACA,QAAIuC,OAAJ;AACA,QAAIC,OAAO,GAAG76D,QAAQ,CAACqtD,QAAvB;;AACA,QAAIrtD,QAAQ,CAACotD,QAAT,KAAsB,QAA1B,EAAoC;AAChCwN,MAAAA,OAAO,GAAG,QAAV;AACH,KAFD,MAGK,IAAI,KAAKpC,MAAL,EAAJ,EAAmB;AACpBoC,MAAAA,OAAO,GAAG56D,QAAQ,CAACotD,QAAT,KAAsB,OAAtB,GAAgC,OAAhC,GAA0C,MAApD;AACH,KAFI,MAGA;AACDwN,MAAAA,OAAO,GAAG56D,QAAQ,CAACotD,QAAT,KAAsB,OAAtB,GAAgC,MAAhC,GAAyC,OAAnD;AACH;;AACD,SAAK,IAAI/lD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsU,QAAQ,CAACtb,MAA7B,EAAqCgH,CAAC,EAAtC,EAA0C;AACtCsU,MAAAA,QAAQ,CAACtU,CAAD,CAAR,CAAYvK,KAAZ,CAAkBg+D,eAAlB,GAAqC,GAAEF,OAAQ,IAAGC,OAAQ,EAA1D;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIpE,EAAAA,yBAAyB,CAAC5vB,MAAD,EAAS7mC,QAAT,EAAmB;AACxC,UAAMwpD,QAAQ,GAAG,KAAK6L,aAAtB;;AACA,UAAM0F,KAAK,GAAG,KAAKvC,MAAL,EAAd;;AACA,QAAI7O,MAAJ,EAAYlB,GAAZ,EAAiBuC,MAAjB;;AACA,QAAIhrD,QAAQ,CAACqtD,QAAT,KAAsB,KAA1B,EAAiC;AAC7B;AACA5E,MAAAA,GAAG,GAAG5hB,MAAM,CAAC6xB,CAAb;AACA/O,MAAAA,MAAM,GAAGH,QAAQ,CAACG,MAAT,GAAkBlB,GAAlB,GAAwB,KAAKwL,eAAtC;AACH,KAJD,MAKK,IAAIj0D,QAAQ,CAACqtD,QAAT,KAAsB,QAA1B,EAAoC;AACrC;AACA;AACA;AACArC,MAAAA,MAAM,GAAGxB,QAAQ,CAACG,MAAT,GAAkB9iB,MAAM,CAAC6xB,CAAzB,GAA6B,KAAKzE,eAAL,GAAuB,CAA7D;AACAtK,MAAAA,MAAM,GAAGH,QAAQ,CAACG,MAAT,GAAkBqB,MAAlB,GAA2B,KAAKiJ,eAAzC;AACH,KANI,MAOA;AACD;AACA;AACA;AACA;AACA,YAAM+G,8BAA8B,GAAG/5D,IAAI,CAACI,GAAL,CAASmoD,QAAQ,CAACwB,MAAT,GAAkBnkB,MAAM,CAAC6xB,CAAzB,GAA6BlP,QAAQ,CAACf,GAA/C,EAAoD5hB,MAAM,CAAC6xB,CAA3D,CAAvC;AACA,YAAMuC,cAAc,GAAG,KAAKtH,oBAAL,CAA0BhK,MAAjD;AACAA,MAAAA,MAAM,GAAGqR,8BAA8B,GAAG,CAA1C;AACAvS,MAAAA,GAAG,GAAG5hB,MAAM,CAAC6xB,CAAP,GAAWsC,8BAAjB;;AACA,UAAIrR,MAAM,GAAGsR,cAAT,IAA2B,CAAC,KAAKlG,gBAAjC,IAAqD,CAAC,KAAKjB,cAA/D,EAA+E;AAC3ErL,QAAAA,GAAG,GAAG5hB,MAAM,CAAC6xB,CAAP,GAAYuC,cAAc,GAAG,CAAnC;AACH;AACJ,KA5BuC,CA6BxC;;;AACA,UAAMC,4BAA4B,GAAIl7D,QAAQ,CAACotD,QAAT,KAAsB,OAAtB,IAAiC,CAAC2N,KAAnC,IAChC/6D,QAAQ,CAACotD,QAAT,KAAsB,KAAtB,IAA+B2N,KADpC,CA9BwC,CAgCxC;;AACA,UAAMI,2BAA2B,GAAIn7D,QAAQ,CAACotD,QAAT,KAAsB,KAAtB,IAA+B,CAAC2N,KAAjC,IAC/B/6D,QAAQ,CAACotD,QAAT,KAAsB,OAAtB,IAAiC2N,KADtC;AAEA,QAAIlR,KAAJ,EAAWnB,IAAX,EAAiByC,KAAjB;;AACA,QAAIgQ,2BAAJ,EAAiC;AAC7BhQ,MAAAA,KAAK,GAAG3B,QAAQ,CAACK,KAAT,GAAiBhjB,MAAM,CAACyxB,CAAxB,GAA4B,KAAKrE,eAAzC;AACApK,MAAAA,KAAK,GAAGhjB,MAAM,CAACyxB,CAAP,GAAW,KAAKrE,eAAxB;AACH,KAHD,MAIK,IAAIiH,4BAAJ,EAAkC;AACnCxS,MAAAA,IAAI,GAAG7hB,MAAM,CAACyxB,CAAd;AACAzO,MAAAA,KAAK,GAAGL,QAAQ,CAAC2B,KAAT,GAAiBtkB,MAAM,CAACyxB,CAAhC;AACH,KAHI,MAIA;AACD;AACA;AACA;AACA;AACA,YAAM0C,8BAA8B,GAAG/5D,IAAI,CAACI,GAAL,CAASmoD,QAAQ,CAAC2B,KAAT,GAAiBtkB,MAAM,CAACyxB,CAAxB,GAA4B9O,QAAQ,CAACd,IAA9C,EAAoD7hB,MAAM,CAACyxB,CAA3D,CAAvC;AACA,YAAM8C,aAAa,GAAG,KAAKzH,oBAAL,CAA0B9J,KAAhD;AACAA,MAAAA,KAAK,GAAGmR,8BAA8B,GAAG,CAAzC;AACAtS,MAAAA,IAAI,GAAG7hB,MAAM,CAACyxB,CAAP,GAAW0C,8BAAlB;;AACA,UAAInR,KAAK,GAAGuR,aAAR,IAAyB,CAAC,KAAKrG,gBAA/B,IAAmD,CAAC,KAAKjB,cAA7D,EAA6E;AACzEpL,QAAAA,IAAI,GAAG7hB,MAAM,CAACyxB,CAAP,GAAY8C,aAAa,GAAG,CAAnC;AACH;AACJ;;AACD,WAAO;AAAE3S,MAAAA,GAAG,EAAEA,GAAP;AAAYC,MAAAA,IAAI,EAAEA,IAAlB;AAAwBsC,MAAAA,MAAM,EAAEA,MAAhC;AAAwCG,MAAAA,KAAK,EAAEA,KAA/C;AAAsDtB,MAAAA,KAAtD;AAA6DF,MAAAA;AAA7D,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI6Q,EAAAA,qBAAqB,CAAC3zB,MAAD,EAAS7mC,QAAT,EAAmB;AACpC,UAAMw2D,eAAe,GAAG,KAAKC,yBAAL,CAA+B5vB,MAA/B,EAAuC7mC,QAAvC,CAAxB,CADoC,CAEpC;AACA;;;AACA,QAAI,CAAC,KAAK+0D,gBAAN,IAA0B,CAAC,KAAKjB,cAApC,EAAoD;AAChD0C,MAAAA,eAAe,CAAC7M,MAAhB,GAAyB1oD,IAAI,CAACI,GAAL,CAASm1D,eAAe,CAAC7M,MAAzB,EAAiC,KAAKgK,oBAAL,CAA0BhK,MAA3D,CAAzB;AACA6M,MAAAA,eAAe,CAAC3M,KAAhB,GAAwB5oD,IAAI,CAACI,GAAL,CAASm1D,eAAe,CAAC3M,KAAzB,EAAgC,KAAK8J,oBAAL,CAA0B9J,KAA1D,CAAxB;AACH;;AACD,UAAMntD,MAAM,GAAG,EAAf;;AACA,QAAI,KAAK2+D,iBAAL,EAAJ,EAA8B;AAC1B3+D,MAAAA,MAAM,CAAC+rD,GAAP,GAAa/rD,MAAM,CAACgsD,IAAP,GAAc,GAA3B;AACAhsD,MAAAA,MAAM,CAACsuD,MAAP,GAAgBtuD,MAAM,CAACyuD,KAAP,GAAezuD,MAAM,CAACg2D,SAAP,GAAmBh2D,MAAM,CAAC+1D,QAAP,GAAkB,EAApE;AACA/1D,MAAAA,MAAM,CAACmtD,KAAP,GAAentD,MAAM,CAACitD,MAAP,GAAgB,MAA/B;AACH,KAJD,MAKK;AACD,YAAM+I,SAAS,GAAG,KAAKtI,WAAL,CAAiByH,SAAjB,GAA6Ba,SAA/C;;AACA,YAAMD,QAAQ,GAAG,KAAKrI,WAAL,CAAiByH,SAAjB,GAA6BY,QAA9C;;AACA/1D,MAAAA,MAAM,CAACitD,MAAP,GAAgB/B,0EAAmB,CAAC4O,eAAe,CAAC7M,MAAjB,CAAnC;AACAjtD,MAAAA,MAAM,CAAC+rD,GAAP,GAAab,0EAAmB,CAAC4O,eAAe,CAAC/N,GAAjB,CAAhC;AACA/rD,MAAAA,MAAM,CAACsuD,MAAP,GAAgBpD,0EAAmB,CAAC4O,eAAe,CAACxL,MAAjB,CAAnC;AACAtuD,MAAAA,MAAM,CAACmtD,KAAP,GAAejC,0EAAmB,CAAC4O,eAAe,CAAC3M,KAAjB,CAAlC;AACAntD,MAAAA,MAAM,CAACgsD,IAAP,GAAcd,0EAAmB,CAAC4O,eAAe,CAAC9N,IAAjB,CAAjC;AACAhsD,MAAAA,MAAM,CAACyuD,KAAP,GAAevD,0EAAmB,CAAC4O,eAAe,CAACrL,KAAjB,CAAlC,CARC,CASD;;AACA,UAAInrD,QAAQ,CAACotD,QAAT,KAAsB,QAA1B,EAAoC;AAChC1wD,QAAAA,MAAM,CAACw6D,UAAP,GAAoB,QAApB;AACH,OAFD,MAGK;AACDx6D,QAAAA,MAAM,CAACw6D,UAAP,GAAoBl3D,QAAQ,CAACotD,QAAT,KAAsB,KAAtB,GAA8B,UAA9B,GAA2C,YAA/D;AACH;;AACD,UAAIptD,QAAQ,CAACqtD,QAAT,KAAsB,QAA1B,EAAoC;AAChC3wD,QAAAA,MAAM,CAACy6D,cAAP,GAAwB,QAAxB;AACH,OAFD,MAGK;AACDz6D,QAAAA,MAAM,CAACy6D,cAAP,GAAwBn3D,QAAQ,CAACqtD,QAAT,KAAsB,QAAtB,GAAiC,UAAjC,GAA8C,YAAtE;AACH;;AACD,UAAIqF,SAAJ,EAAe;AACXh2D,QAAAA,MAAM,CAACg2D,SAAP,GAAmB9K,0EAAmB,CAAC8K,SAAD,CAAtC;AACH;;AACD,UAAID,QAAJ,EAAc;AACV/1D,QAAAA,MAAM,CAAC+1D,QAAP,GAAkB7K,0EAAmB,CAAC6K,QAAD,CAArC;AACH;AACJ;;AACD,SAAKkB,oBAAL,GAA4B6C,eAA5B;AACAS,IAAAA,YAAY,CAAC,KAAKpC,YAAL,CAAkB/3D,KAAnB,EAA0BJ,MAA1B,CAAZ;AACH;AACD;;;AACA04D,EAAAA,uBAAuB,GAAG;AACtB6B,IAAAA,YAAY,CAAC,KAAKpC,YAAL,CAAkB/3D,KAAnB,EAA0B;AAClC2rD,MAAAA,GAAG,EAAE,GAD6B;AAElCC,MAAAA,IAAI,EAAE,GAF4B;AAGlCyC,MAAAA,KAAK,EAAE,GAH2B;AAIlCH,MAAAA,MAAM,EAAE,GAJ0B;AAKlCrB,MAAAA,MAAM,EAAE,EAL0B;AAMlCE,MAAAA,KAAK,EAAE,EAN2B;AAOlCqN,MAAAA,UAAU,EAAE,EAPsB;AAQlCC,MAAAA,cAAc,EAAE;AARkB,KAA1B,CAAZ;AAUH;AACD;;;AACAhC,EAAAA,0BAA0B,GAAG;AACzB8B,IAAAA,YAAY,CAAC,KAAKvH,KAAL,CAAW5yD,KAAZ,EAAmB;AAC3B2rD,MAAAA,GAAG,EAAE,EADsB;AAE3BC,MAAAA,IAAI,EAAE,EAFqB;AAG3BsC,MAAAA,MAAM,EAAE,EAHmB;AAI3BG,MAAAA,KAAK,EAAE,EAJoB;AAK3BnrD,MAAAA,QAAQ,EAAE,EALiB;AAM3Bs7D,MAAAA,SAAS,EAAE;AANgB,KAAnB,CAAZ;AAQH;AACD;;;AACAf,EAAAA,wBAAwB,CAACxE,WAAD,EAAc/1D,QAAd,EAAwB;AAC5C,UAAMtD,MAAM,GAAG,EAAf;;AACA,UAAM6+D,gBAAgB,GAAG,KAAKF,iBAAL,EAAzB;;AACA,UAAMG,qBAAqB,GAAG,KAAKzH,sBAAnC;;AACA,UAAM3rB,MAAM,GAAG,KAAKgiB,WAAL,CAAiByH,SAAjB,EAAf;;AACA,QAAI0J,gBAAJ,EAAsB;AAClB,YAAM9Q,cAAc,GAAG,KAAKlC,cAAL,CAAoBS,yBAApB,EAAvB;;AACAiO,MAAAA,YAAY,CAACv6D,MAAD,EAAS,KAAK++D,iBAAL,CAAuBz7D,QAAvB,EAAiC+1D,WAAjC,EAA8CtL,cAA9C,CAAT,CAAZ;AACAwM,MAAAA,YAAY,CAACv6D,MAAD,EAAS,KAAKg/D,iBAAL,CAAuB17D,QAAvB,EAAiC+1D,WAAjC,EAA8CtL,cAA9C,CAAT,CAAZ;AACH,KAJD,MAKK;AACD/tD,MAAAA,MAAM,CAACsD,QAAP,GAAkB,QAAlB;AACH,KAZ2C,CAa5C;AACA;AACA;AACA;AACA;;;AACA,QAAI27D,eAAe,GAAG,EAAtB;;AACA,QAAIxsB,OAAO,GAAG,KAAK6pB,UAAL,CAAgBh5D,QAAhB,EAA0B,GAA1B,CAAd;;AACA,QAAIovC,OAAO,GAAG,KAAK4pB,UAAL,CAAgBh5D,QAAhB,EAA0B,GAA1B,CAAd;;AACA,QAAImvC,OAAJ,EAAa;AACTwsB,MAAAA,eAAe,IAAK,cAAaxsB,OAAQ,MAAzC;AACH;;AACD,QAAIC,OAAJ,EAAa;AACTusB,MAAAA,eAAe,IAAK,cAAavsB,OAAQ,KAAzC;AACH;;AACD1yC,IAAAA,MAAM,CAAC4+D,SAAP,GAAmBK,eAAe,CAACt8C,IAAhB,EAAnB,CA3B4C,CA4B5C;AACA;AACA;AACA;AACA;;AACA,QAAI+oB,MAAM,CAACsqB,SAAX,EAAsB;AAClB,UAAI6I,gBAAJ,EAAsB;AAClB7+D,QAAAA,MAAM,CAACg2D,SAAP,GAAmB9K,0EAAmB,CAACxf,MAAM,CAACsqB,SAAR,CAAtC;AACH,OAFD,MAGK,IAAI8I,qBAAJ,EAA2B;AAC5B9+D,QAAAA,MAAM,CAACg2D,SAAP,GAAmB,EAAnB;AACH;AACJ;;AACD,QAAItqB,MAAM,CAACqqB,QAAX,EAAqB;AACjB,UAAI8I,gBAAJ,EAAsB;AAClB7+D,QAAAA,MAAM,CAAC+1D,QAAP,GAAkB7K,0EAAmB,CAACxf,MAAM,CAACqqB,QAAR,CAArC;AACH,OAFD,MAGK,IAAI+I,qBAAJ,EAA2B;AAC5B9+D,QAAAA,MAAM,CAAC+1D,QAAP,GAAkB,EAAlB;AACH;AACJ;;AACDwE,IAAAA,YAAY,CAAC,KAAKvH,KAAL,CAAW5yD,KAAZ,EAAmBJ,MAAnB,CAAZ;AACH;AACD;;;AACA++D,EAAAA,iBAAiB,CAACz7D,QAAD,EAAW+1D,WAAX,EAAwBtL,cAAxB,EAAwC;AACrD;AACA;AACA,QAAI/tD,MAAM,GAAG;AAAE+rD,MAAAA,GAAG,EAAE,EAAP;AAAWuC,MAAAA,MAAM,EAAE;AAAnB,KAAb;;AACA,QAAIiL,YAAY,GAAG,KAAKC,gBAAL,CAAsBH,WAAtB,EAAmC,KAAKN,YAAxC,EAAsDz1D,QAAtD,CAAnB;;AACA,QAAI,KAAK4zD,SAAT,EAAoB;AAChBqC,MAAAA,YAAY,GAAG,KAAK8D,oBAAL,CAA0B9D,YAA1B,EAAwC,KAAKR,YAA7C,EAA2DhL,cAA3D,CAAf;AACH;;AACD,QAAImR,qBAAqB,GAAG,KAAKlI,iBAAL,CAAuBxE,mBAAvB,GAA6CjD,qBAA7C,GAAqExD,GAAjG,CARqD,CASrD;AACA;AACA;AACA;;;AACAwN,IAAAA,YAAY,CAACyC,CAAb,IAAkBkD,qBAAlB,CAbqD,CAcrD;AACA;;AACA,QAAI57D,QAAQ,CAACqtD,QAAT,KAAsB,QAA1B,EAAoC;AAChC;AACA;AACA,YAAMwO,cAAc,GAAG,KAAK97B,SAAL,CAAez5B,eAAf,CAA+Bw1D,YAAtD;AACAp/D,MAAAA,MAAM,CAACsuD,MAAP,GAAiB,GAAE6Q,cAAc,IAAI5F,YAAY,CAACyC,CAAb,GAAiB,KAAKjD,YAAL,CAAkB9L,MAAvC,CAA+C,IAAhF;AACH,KALD,MAMK;AACDjtD,MAAAA,MAAM,CAAC+rD,GAAP,GAAab,0EAAmB,CAACqO,YAAY,CAACyC,CAAd,CAAhC;AACH;;AACD,WAAOh8D,MAAP;AACH;AACD;;;AACAg/D,EAAAA,iBAAiB,CAAC17D,QAAD,EAAW+1D,WAAX,EAAwBtL,cAAxB,EAAwC;AACrD;AACA;AACA,QAAI/tD,MAAM,GAAG;AAAEgsD,MAAAA,IAAI,EAAE,EAAR;AAAYyC,MAAAA,KAAK,EAAE;AAAnB,KAAb;;AACA,QAAI8K,YAAY,GAAG,KAAKC,gBAAL,CAAsBH,WAAtB,EAAmC,KAAKN,YAAxC,EAAsDz1D,QAAtD,CAAnB;;AACA,QAAI,KAAK4zD,SAAT,EAAoB;AAChBqC,MAAAA,YAAY,GAAG,KAAK8D,oBAAL,CAA0B9D,YAA1B,EAAwC,KAAKR,YAA7C,EAA2DhL,cAA3D,CAAf;AACH,KAPoD,CAQrD;AACA;AACA;AACA;;;AACA,QAAIsR,uBAAJ;;AACA,QAAI,KAAKvD,MAAL,EAAJ,EAAmB;AACfuD,MAAAA,uBAAuB,GAAG/7D,QAAQ,CAACotD,QAAT,KAAsB,KAAtB,GAA8B,MAA9B,GAAuC,OAAjE;AACH,KAFD,MAGK;AACD2O,MAAAA,uBAAuB,GAAG/7D,QAAQ,CAACotD,QAAT,KAAsB,KAAtB,GAA8B,OAA9B,GAAwC,MAAlE;AACH,KAlBoD,CAmBrD;AACA;;;AACA,QAAI2O,uBAAuB,KAAK,OAAhC,EAAyC;AACrC,YAAMC,aAAa,GAAG,KAAKj8B,SAAL,CAAez5B,eAAf,CAA+B21D,WAArD;AACAv/D,MAAAA,MAAM,CAACyuD,KAAP,GAAgB,GAAE6Q,aAAa,IAAI/F,YAAY,CAACqC,CAAb,GAAiB,KAAK7C,YAAL,CAAkB5L,KAAvC,CAA8C,IAA7E;AACH,KAHD,MAIK;AACDntD,MAAAA,MAAM,CAACgsD,IAAP,GAAcd,0EAAmB,CAACqO,YAAY,CAACqC,CAAd,CAAjC;AACH;;AACD,WAAO57D,MAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIg+D,EAAAA,oBAAoB,GAAG;AACnB;AACA,UAAMwB,YAAY,GAAG,KAAK1G,cAAL,EAArB;;AACA,UAAM2G,aAAa,GAAG,KAAKzM,KAAL,CAAWzD,qBAAX,EAAtB,CAHmB,CAInB;AACA;AACA;;;AACA,UAAMmQ,qBAAqB,GAAG,KAAKlI,YAAL,CAAkBvvD,GAAlB,CAAsB03D,UAAU,IAAI;AAC9D,aAAOA,UAAU,CAACC,aAAX,GAA2BlwB,aAA3B,CAAyC6f,qBAAzC,EAAP;AACH,KAF6B,CAA9B;;AAGA,WAAO;AACHsQ,MAAAA,eAAe,EAAElR,2BAA2B,CAAC6Q,YAAD,EAAeE,qBAAf,CADzC;AAEHI,MAAAA,mBAAmB,EAAE5R,4BAA4B,CAACsR,YAAD,EAAeE,qBAAf,CAF9C;AAGHK,MAAAA,gBAAgB,EAAEpR,2BAA2B,CAAC8Q,aAAD,EAAgBC,qBAAhB,CAH1C;AAIHM,MAAAA,oBAAoB,EAAE9R,4BAA4B,CAACuR,aAAD,EAAgBC,qBAAhB;AAJ/C,KAAP;AAMH;AACD;;;AACA9C,EAAAA,kBAAkB,CAACj5D,MAAD,EAAS,GAAGs8D,SAAZ,EAAuB;AACrC,WAAOA,SAAS,CAAC57D,MAAV,CAAiB,CAAC67D,YAAD,EAAeC,eAAf,KAAmC;AACvD,aAAOD,YAAY,GAAG37D,IAAI,CAACC,GAAL,CAAS27D,eAAT,EAA0B,CAA1B,CAAtB;AACH,KAFM,EAEJx8D,MAFI,CAAP;AAGH;AACD;;;AACAi1D,EAAAA,wBAAwB,GAAG;AACvB;AACA;AACA;AACA;AACA;AACA,UAAMzL,KAAK,GAAG,KAAK9pB,SAAL,CAAez5B,eAAf,CAA+B21D,WAA7C;AACA,UAAMtS,MAAM,GAAG,KAAK5pB,SAAL,CAAez5B,eAAf,CAA+Bw1D,YAA9C;;AACA,UAAMrR,cAAc,GAAG,KAAKlC,cAAL,CAAoBS,yBAApB,EAAvB;;AACA,WAAO;AACHP,MAAAA,GAAG,EAAEgC,cAAc,CAAChC,GAAf,GAAqB,KAAKwL,eAD5B;AAEHvL,MAAAA,IAAI,EAAE+B,cAAc,CAAC/B,IAAf,GAAsB,KAAKuL,eAF9B;AAGH9I,MAAAA,KAAK,EAAEV,cAAc,CAAC/B,IAAf,GAAsBmB,KAAtB,GAA8B,KAAKoK,eAHvC;AAIHjJ,MAAAA,MAAM,EAAEP,cAAc,CAAChC,GAAf,GAAqBkB,MAArB,GAA8B,KAAKsK,eAJxC;AAKHpK,MAAAA,KAAK,EAAEA,KAAK,GAAI,IAAI,KAAKoK,eALtB;AAMHtK,MAAAA,MAAM,EAAEA,MAAM,GAAI,IAAI,KAAKsK;AANxB,KAAP;AAQH;AACD;;;AACAuE,EAAAA,MAAM,GAAG;AACL,WAAO,KAAKpO,WAAL,CAAiBiI,YAAjB,OAAoC,KAA3C;AACH;AACD;;;AACAgJ,EAAAA,iBAAiB,GAAG;AAChB,WAAO,CAAC,KAAKtH,sBAAN,IAAgC,KAAKH,SAA5C;AACH;AACD;;;AACAoF,EAAAA,UAAU,CAACh5D,QAAD,EAAW88D,IAAX,EAAiB;AACvB,QAAIA,IAAI,KAAK,GAAb,EAAkB;AACd;AACA;AACA,aAAO98D,QAAQ,CAACmvC,OAAT,IAAoB,IAApB,GAA2B,KAAKmlB,QAAhC,GAA2Ct0D,QAAQ,CAACmvC,OAA3D;AACH;;AACD,WAAOnvC,QAAQ,CAACovC,OAAT,IAAoB,IAApB,GAA2B,KAAKmlB,QAAhC,GAA2Cv0D,QAAQ,CAACovC,OAA3D;AACH;AACD;;;AACAwlB,EAAAA,kBAAkB,GAAG;AACjB,QAAI,OAAOtrD,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,UAAI,CAAC,KAAK6qD,mBAAL,CAAyB9zD,MAA9B,EAAsC;AAClC,cAAMsD,KAAK,CAAC,uEAAD,CAAX;AACH,OAH8C,CAI/C;AACA;;;AACA,WAAKwwD,mBAAL,CAAyBp1D,OAAzB,CAAiCg+D,IAAI,IAAI;AACrCpP,QAAAA,0BAA0B,CAAC,SAAD,EAAYoP,IAAI,CAAC7P,OAAjB,CAA1B;AACAQ,QAAAA,wBAAwB,CAAC,SAAD,EAAYqP,IAAI,CAAC5P,OAAjB,CAAxB;AACAQ,QAAAA,0BAA0B,CAAC,UAAD,EAAaoP,IAAI,CAAC3P,QAAlB,CAA1B;AACAM,QAAAA,wBAAwB,CAAC,UAAD,EAAaqP,IAAI,CAAC1P,QAAlB,CAAxB;AACH,OALD;AAMH;AACJ;AACD;;;AACAoN,EAAAA,gBAAgB,CAACvH,UAAD,EAAa;AACzB,QAAI,KAAKxD,KAAT,EAAgB;AACZ7H,MAAAA,kEAAW,CAACqL,UAAD,CAAX,CAAwBn0D,OAAxB,CAAgCq0D,QAAQ,IAAI;AACxC,YAAIA,QAAQ,KAAK,EAAb,IAAmB,KAAKoB,oBAAL,CAA0BnvD,OAA1B,CAAkC+tD,QAAlC,MAAgD,CAAC,CAAxE,EAA2E;AACvE,eAAKoB,oBAAL,CAA0Bt1D,IAA1B,CAA+Bk0D,QAA/B;;AACA,eAAK1D,KAAL,CAAWn+B,SAAX,CAAqB7e,GAArB,CAAyB0gD,QAAzB;AACH;AACJ,OALD;AAMH;AACJ;AACD;;;AACA8B,EAAAA,kBAAkB,GAAG;AACjB,QAAI,KAAKxF,KAAT,EAAgB;AACZ,WAAK8E,oBAAL,CAA0Bz1D,OAA1B,CAAkCq0D,QAAQ,IAAI;AAC1C,aAAK1D,KAAL,CAAWn+B,SAAX,CAAqBE,MAArB,CAA4B2hC,QAA5B;AACH,OAFD;;AAGA,WAAKoB,oBAAL,GAA4B,EAA5B;AACH;AACJ;AACD;;;AACAgB,EAAAA,cAAc,GAAG;AACb,UAAM3uB,MAAM,GAAG,KAAKF,OAApB;;AACA,QAAIE,MAAM,YAAY/K,qDAAtB,EAAkC;AAC9B,aAAO+K,MAAM,CAACuF,aAAP,CAAqB6f,qBAArB,EAAP;AACH,KAJY,CAKb;;;AACA,QAAIplB,MAAM,YAAYzgC,OAAtB,EAA+B;AAC3B,aAAOygC,MAAM,CAAColB,qBAAP,EAAP;AACH;;AACD,UAAMpC,KAAK,GAAGhjB,MAAM,CAACgjB,KAAP,IAAgB,CAA9B;AACA,UAAMF,MAAM,GAAG9iB,MAAM,CAAC8iB,MAAP,IAAiB,CAAhC,CAVa,CAWb;;AACA,WAAO;AACHlB,MAAAA,GAAG,EAAE5hB,MAAM,CAAC6xB,CADT;AAEH1N,MAAAA,MAAM,EAAEnkB,MAAM,CAAC6xB,CAAP,GAAW/O,MAFhB;AAGHjB,MAAAA,IAAI,EAAE7hB,MAAM,CAACyxB,CAHV;AAIHnN,MAAAA,KAAK,EAAEtkB,MAAM,CAACyxB,CAAP,GAAWzO,KAJf;AAKHF,MAAAA,MALG;AAMHE,MAAAA;AANG,KAAP;AAQH;;AAh4BmC;AAk4BxC;;;AACA,SAASoN,YAAT,CAAsB3rD,WAAtB,EAAmCuyC,MAAnC,EAA2C;AACvC,OAAK,IAAIj5C,GAAT,IAAgBi5C,MAAhB,EAAwB;AACpB,QAAIA,MAAM,CAAClzC,cAAP,CAAsB/F,GAAtB,CAAJ,EAAgC;AAC5B0G,MAAAA,WAAW,CAAC1G,GAAD,CAAX,GAAmBi5C,MAAM,CAACj5C,GAAD,CAAzB;AACH;AACJ;;AACD,SAAO0G,WAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASsuD,aAAT,CAAuB9rD,KAAvB,EAA8B;AAC1B,MAAI,OAAOA,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,IAAI,IAA1C,EAAgD;AAC5C,UAAM,CAAChJ,KAAD,EAAQk4D,KAAR,IAAiBlvD,KAAK,CAAC+B,KAAN,CAAY0jD,cAAZ,CAAvB;AACA,WAAQ,CAACyJ,KAAD,IAAUA,KAAK,KAAK,IAArB,GAA6BzyD,UAAU,CAACzF,KAAD,CAAvC,GAAiD,IAAxD;AACH;;AACD,SAAOgJ,KAAK,IAAI,IAAhB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASirD,4BAAT,CAAsCkE,UAAtC,EAAkD;AAC9C,SAAO;AACHxU,IAAAA,GAAG,EAAExnD,IAAI,CAACi8D,KAAL,CAAWD,UAAU,CAACxU,GAAtB,CADF;AAEH0C,IAAAA,KAAK,EAAElqD,IAAI,CAACi8D,KAAL,CAAWD,UAAU,CAAC9R,KAAtB,CAFJ;AAGHH,IAAAA,MAAM,EAAE/pD,IAAI,CAACi8D,KAAL,CAAWD,UAAU,CAACjS,MAAtB,CAHL;AAIHtC,IAAAA,IAAI,EAAEznD,IAAI,CAACi8D,KAAL,CAAWD,UAAU,CAACvU,IAAtB,CAJH;AAKHmB,IAAAA,KAAK,EAAE5oD,IAAI,CAACi8D,KAAL,CAAWD,UAAU,CAACpT,KAAtB,CALJ;AAMHF,IAAAA,MAAM,EAAE1oD,IAAI,CAACi8D,KAAL,CAAWD,UAAU,CAACtT,MAAtB;AANL,GAAP;AAQH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMwT,yBAAN,CAAgC;AAC5Bj/D,EAAAA,WAAW,CAACk/D,SAAD,EAAYC,UAAZ,EAAwB5J,WAAxB,EAAqC6J,aAArC,EAAoDt7D,QAApD,EAA8Du7D,QAA9D,EAAwEC,gBAAxE,EAA0F;AACjG;AACA,SAAKrJ,mBAAL,GAA2B,EAA3B,CAFiG,CAGjG;AACA;AACA;AACA;;AACA,SAAK9D,iBAAL,GAAyB,IAAImD,iCAAJ,CAAsCC,WAAtC,EAAmD6J,aAAnD,EAAkEt7D,QAAlE,EAA4Eu7D,QAA5E,EAAsFC,gBAAtF,EACpB9F,sBADoB,CACG,KADH,EAEpBI,QAFoB,CAEX,KAFW,EAGpBN,kBAHoB,CAGD,CAHC,CAAzB;AAIA,SAAKiG,oBAAL,CAA0BL,SAA1B,EAAqCC,UAArC;AACA,SAAKK,gBAAL,GAAwB,KAAKrN,iBAAL,CAAuBoE,eAA/C;AACH;AACD;;;AACa,MAATE,SAAS,GAAG;AACZ,WAAO,KAAKR,mBAAZ;AACH;AACD;;;AACAvL,EAAAA,MAAM,CAACyB,UAAD,EAAa;AACf,SAAKD,WAAL,GAAmBC,UAAnB;;AACA,SAAKgG,iBAAL,CAAuBzH,MAAvB,CAA8ByB,UAA9B;;AACA,QAAI,KAAKsT,UAAT,EAAqB;AACjBtT,MAAAA,UAAU,CAAC6H,YAAX,CAAwB,KAAKyL,UAA7B;AACA,WAAKA,UAAL,GAAkB,IAAlB;AACH;AACJ;AACD;;;AACA1M,EAAAA,OAAO,GAAG;AACN,SAAKZ,iBAAL,CAAuBY,OAAvB;AACH;AACD;;;AACAzV,EAAAA,MAAM,GAAG;AACL,SAAK6U,iBAAL,CAAuB7U,MAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIv0C,EAAAA,KAAK,GAAG;AACJ,SAAKopD,iBAAL,CAAuBppD,KAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI22D,EAAAA,uBAAuB,GAAG;AACtB,SAAKvN,iBAAL,CAAuB4E,mBAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIoC,EAAAA,wBAAwB,CAACC,WAAD,EAAc;AAClC,SAAKjH,iBAAL,CAAuBgH,wBAAvB,CAAgDC,WAAhD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACImG,EAAAA,oBAAoB,CAACL,SAAD,EAAYC,UAAZ,EAAwBluB,OAAxB,EAAiCC,OAAjC,EAA0C;AAC1D,UAAMpvC,QAAQ,GAAG,IAAIgtD,sBAAJ,CAA2BoQ,SAA3B,EAAsCC,UAAtC,EAAkDluB,OAAlD,EAA2DC,OAA3D,CAAjB;;AACA,SAAK+kB,mBAAL,CAAyBj1D,IAAzB,CAA8Bc,QAA9B;;AACA,SAAKqwD,iBAAL,CAAuBkH,aAAvB,CAAqC,KAAKpD,mBAA1C;;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI0J,EAAAA,aAAa,CAACjlB,GAAD,EAAM;AACf;AACA;AACA;AACA,QAAI,KAAKwR,WAAT,EAAsB;AAClB,WAAKA,WAAL,CAAiB8H,YAAjB,CAA8BtZ,GAA9B;AACH,KAFD,MAGK;AACD,WAAK+kB,UAAL,GAAkB/kB,GAAlB;AACH;;AACD,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIklB,EAAAA,WAAW,CAAC9gE,MAAD,EAAS;AAChB,SAAKqzD,iBAAL,CAAuB6H,kBAAvB,CAA0Cl7D,MAA1C;;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI+gE,EAAAA,WAAW,CAAC/gE,MAAD,EAAS;AAChB,SAAKqzD,iBAAL,CAAuB8H,kBAAvB,CAA0Cn7D,MAA1C;;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIg7D,EAAAA,kBAAkB,CAACC,QAAD,EAAW;AACzB,SAAK5H,iBAAL,CAAuB2H,kBAAvB,CAA0CC,QAA1C;;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIV,EAAAA,aAAa,CAAC5C,SAAD,EAAY;AACrB,SAAKR,mBAAL,GAA2BQ,SAAS,CAAC/4C,KAAV,EAA3B;;AACA,SAAKy0C,iBAAL,CAAuBkH,aAAvB,CAAqC,KAAKpD,mBAA1C;;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIO,EAAAA,SAAS,CAAC7tB,MAAD,EAAS;AACd,SAAKwpB,iBAAL,CAAuBqE,SAAvB,CAAiC7tB,MAAjC;;AACA,WAAO,IAAP;AACH;;AAjI2B;AAoIhC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMm3B,YAAY,GAAG,4BAArB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,sBAAN,CAA6B;AACzB//D,EAAAA,WAAW,GAAG;AACV,SAAKggE,YAAL,GAAoB,QAApB;AACA,SAAKC,UAAL,GAAkB,EAAlB;AACA,SAAKC,aAAL,GAAqB,EAArB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA,SAAKC,YAAL,GAAoB,EAApB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACA,SAAKC,eAAL,GAAuB,EAAvB;AACA,SAAKC,MAAL,GAAc,EAAd;AACA,SAAKC,OAAL,GAAe,EAAf;AACH;;AACD9V,EAAAA,MAAM,CAACyB,UAAD,EAAa;AACf,UAAMjiB,MAAM,GAAGiiB,UAAU,CAACwH,SAAX,EAAf;AACA,SAAKzH,WAAL,GAAmBC,UAAnB;;AACA,QAAI,KAAKoU,MAAL,IAAe,CAACr2B,MAAM,CAACyhB,KAA3B,EAAkC;AAC9BQ,MAAAA,UAAU,CAAC2H,UAAX,CAAsB;AAAEnI,QAAAA,KAAK,EAAE,KAAK4U;AAAd,OAAtB;AACH;;AACD,QAAI,KAAKC,OAAL,IAAgB,CAACt2B,MAAM,CAACuhB,MAA5B,EAAoC;AAChCU,MAAAA,UAAU,CAAC2H,UAAX,CAAsB;AAAErI,QAAAA,MAAM,EAAE,KAAK+U;AAAf,OAAtB;AACH;;AACDrU,IAAAA,UAAU,CAACrlC,WAAX,CAAuBuM,SAAvB,CAAiC7e,GAAjC,CAAqCsrD,YAArC;AACA,SAAKlJ,WAAL,GAAmB,KAAnB;AACH;AACD;AACJ;AACA;AACA;;;AACIrM,EAAAA,GAAG,CAAC3jD,KAAK,GAAG,EAAT,EAAa;AACZ,SAAKs5D,aAAL,GAAqB,EAArB;AACA,SAAKD,UAAL,GAAkBr5D,KAAlB;AACA,SAAKy5D,WAAL,GAAmB,YAAnB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI7V,EAAAA,IAAI,CAAC5jD,KAAK,GAAG,EAAT,EAAa;AACb,SAAKw5D,YAAL,GAAoB,EAApB;AACA,SAAKD,WAAL,GAAmBv5D,KAAnB;AACA,SAAK05D,eAAL,GAAuB,YAAvB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIxT,EAAAA,MAAM,CAAClmD,KAAK,GAAG,EAAT,EAAa;AACf,SAAKq5D,UAAL,GAAkB,EAAlB;AACA,SAAKC,aAAL,GAAqBt5D,KAArB;AACA,SAAKy5D,WAAL,GAAmB,UAAnB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIpT,EAAAA,KAAK,CAACrmD,KAAK,GAAG,EAAT,EAAa;AACd,SAAKu5D,WAAL,GAAmB,EAAnB;AACA,SAAKC,YAAL,GAAoBx5D,KAApB;AACA,SAAK05D,eAAL,GAAuB,UAAvB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI3U,EAAAA,KAAK,CAAC/kD,KAAK,GAAG,EAAT,EAAa;AACd,QAAI,KAAKslD,WAAT,EAAsB;AAClB,WAAKA,WAAL,CAAiB4H,UAAjB,CAA4B;AAAEnI,QAAAA,KAAK,EAAE/kD;AAAT,OAA5B;AACH,KAFD,MAGK;AACD,WAAK25D,MAAL,GAAc35D,KAAd;AACH;;AACD,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI6kD,EAAAA,MAAM,CAAC7kD,KAAK,GAAG,EAAT,EAAa;AACf,QAAI,KAAKslD,WAAT,EAAsB;AAClB,WAAKA,WAAL,CAAiB4H,UAAjB,CAA4B;AAAErI,QAAAA,MAAM,EAAE7kD;AAAV,OAA5B;AACH,KAFD,MAGK;AACD,WAAK45D,OAAL,GAAe55D,KAAf;AACH;;AACD,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI65D,EAAAA,kBAAkB,CAAC3hE,MAAM,GAAG,EAAV,EAAc;AAC5B,SAAK0rD,IAAL,CAAU1rD,MAAV;AACA,SAAKwhE,eAAL,GAAuB,QAAvB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACII,EAAAA,gBAAgB,CAAC5hE,MAAM,GAAG,EAAV,EAAc;AAC1B,SAAKyrD,GAAL,CAASzrD,MAAT;AACA,SAAKuhE,WAAL,GAAmB,QAAnB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIt3D,EAAAA,KAAK,GAAG;AACJ;AACA;AACA;AACA,QAAI,CAAC,KAAKmjD,WAAN,IAAqB,CAAC,KAAKA,WAAL,CAAiBhf,WAAjB,EAA1B,EAA0D;AACtD;AACH;;AACD,UAAM1uC,MAAM,GAAG,KAAK0tD,WAAL,CAAiB4B,cAAjB,CAAgClvD,KAA/C;AACA,UAAM+hE,YAAY,GAAG,KAAKzU,WAAL,CAAiBplC,WAAjB,CAA6BloB,KAAlD;;AACA,UAAMsrC,MAAM,GAAG,KAAKgiB,WAAL,CAAiByH,SAAjB,EAAf;;AACA,UAAM;AAAEhI,MAAAA,KAAF;AAASF,MAAAA,MAAT;AAAiB8I,MAAAA,QAAjB;AAA2BC,MAAAA;AAA3B,QAAyCtqB,MAA/C;AACA,UAAM02B,yBAAyB,GAAG,CAACjV,KAAK,KAAK,MAAV,IAAoBA,KAAK,KAAK,OAA/B,MAC7B,CAAC4I,QAAD,IAAaA,QAAQ,KAAK,MAA1B,IAAoCA,QAAQ,KAAK,OADpB,CAAlC;AAEA,UAAMsM,uBAAuB,GAAG,CAACpV,MAAM,KAAK,MAAX,IAAqBA,MAAM,KAAK,OAAjC,MAC3B,CAAC+I,SAAD,IAAcA,SAAS,KAAK,MAA5B,IAAsCA,SAAS,KAAK,OADzB,CAAhC;AAEAh2D,IAAAA,MAAM,CAACsD,QAAP,GAAkB,KAAKk+D,YAAvB;AACAxhE,IAAAA,MAAM,CAACsiE,UAAP,GAAoBF,yBAAyB,GAAG,GAAH,GAAS,KAAKT,WAA3D;AACA3hE,IAAAA,MAAM,CAACuiE,SAAP,GAAmBF,uBAAuB,GAAG,GAAH,GAAS,KAAKZ,UAAxD;AACAzhE,IAAAA,MAAM,CAACwiE,YAAP,GAAsB,KAAKd,aAA3B;AACA1hE,IAAAA,MAAM,CAACyiE,WAAP,GAAqB,KAAKb,YAA1B;;AACA,QAAIQ,yBAAJ,EAA+B;AAC3BD,MAAAA,YAAY,CAAC1H,cAAb,GAA8B,YAA9B;AACH,KAFD,MAGK,IAAI,KAAKqH,eAAL,KAAyB,QAA7B,EAAuC;AACxCK,MAAAA,YAAY,CAAC1H,cAAb,GAA8B,QAA9B;AACH,KAFI,MAGA,IAAI,KAAK/M,WAAL,CAAiByH,SAAjB,GAA6B9tB,SAA7B,KAA2C,KAA/C,EAAsD;AACvD;AACA;AACA;AACA;AACA,UAAI,KAAKy6B,eAAL,KAAyB,YAA7B,EAA2C;AACvCK,QAAAA,YAAY,CAAC1H,cAAb,GAA8B,UAA9B;AACH,OAFD,MAGK,IAAI,KAAKqH,eAAL,KAAyB,UAA7B,EAAyC;AAC1CK,QAAAA,YAAY,CAAC1H,cAAb,GAA8B,YAA9B;AACH;AACJ,KAXI,MAYA;AACD0H,MAAAA,YAAY,CAAC1H,cAAb,GAA8B,KAAKqH,eAAnC;AACH;;AACDK,IAAAA,YAAY,CAAC3H,UAAb,GAA0B6H,uBAAuB,GAAG,YAAH,GAAkB,KAAKR,WAAxE;AACH;AACD;AACJ;AACA;AACA;;;AACItN,EAAAA,OAAO,GAAG;AACN,QAAI,KAAK6D,WAAL,IAAoB,CAAC,KAAK1K,WAA9B,EAA2C;AACvC;AACH;;AACD,UAAM1tD,MAAM,GAAG,KAAK0tD,WAAL,CAAiB4B,cAAjB,CAAgClvD,KAA/C;AACA,UAAMmrB,MAAM,GAAG,KAAKmiC,WAAL,CAAiBplC,WAAhC;AACA,UAAM65C,YAAY,GAAG52C,MAAM,CAACnrB,KAA5B;AACAmrB,IAAAA,MAAM,CAACsJ,SAAP,CAAiBE,MAAjB,CAAwBusC,YAAxB;AACAa,IAAAA,YAAY,CAAC1H,cAAb,GAA8B0H,YAAY,CAAC3H,UAAb,GAA0Bx6D,MAAM,CAACuiE,SAAP,GACpDviE,MAAM,CAACwiE,YAAP,GAAsBxiE,MAAM,CAACsiE,UAAP,GAAoBtiE,MAAM,CAACyiE,WAAP,GAAqBziE,MAAM,CAACsD,QAAP,GAAkB,EADrF;AAEA,SAAKoqD,WAAL,GAAmB,IAAnB;AACA,SAAK0K,WAAL,GAAmB,IAAnB;AACH;;AAnLwB;AAsL7B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACMsK;AAAN,QAAMA,sBAAN,CAA6B;AACzBlhE,IAAAA,WAAW,CAACqqD,cAAD,EAAiBxoB,SAAjB,EAA4BmH,SAA5B,EAAuCwsB,iBAAvC,EAA0D;AACjE,WAAKnL,cAAL,GAAsBA,cAAtB;AACA,WAAKxoB,SAAL,GAAiBA,SAAjB;AACA,WAAKmH,SAAL,GAAiBA,SAAjB;AACA,WAAKwsB,iBAAL,GAAyBA,iBAAzB;AACH;AACD;AACJ;AACA;;;AACI2L,IAAAA,MAAM,GAAG;AACL,aAAO,IAAIpB,sBAAJ,EAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIxK,IAAAA,WAAW,CAAC6L,UAAD,EAAalC,SAAb,EAAwBC,UAAxB,EAAoC;AAC3C,aAAO,IAAIF,yBAAJ,CAA8BC,SAA9B,EAAyCC,UAAzC,EAAqDiC,UAArD,EAAiE,KAAK/W,cAAtE,EAAsF,KAAKxoB,SAA3F,EAAsG,KAAKmH,SAA3G,EAAsH,KAAKwsB,iBAA3H,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI6L,IAAAA,mBAAmB,CAAC14B,MAAD,EAAS;AACxB,aAAO,IAAI2sB,iCAAJ,CAAsC3sB,MAAtC,EAA8C,KAAK0hB,cAAnD,EAAmE,KAAKxoB,SAAxE,EAAmF,KAAKmH,SAAxF,EAAmG,KAAKwsB,iBAAxG,CAAP;AACH;;AA9BwB;;AAgC7B0L,EAAAA,sBAAsB,CAACr2D,IAAvB,GAA8B,SAASy2D,8BAAT,CAAwCv2D,CAAxC,EAA2C;AAAE,WAAO,KAAKA,CAAC,IAAIm2D,sBAAV,EAAkCv9D,sDAAA,CAAgB88B,iEAAhB,CAAlC,EAAyE98B,sDAAA,CAAgB25B,qDAAhB,CAAzE,EAAoG35B,sDAAA,CAAgB+8B,2DAAhB,CAApG,EAAsI/8B,sDAAA,CAAgBktD,gBAAhB,CAAtI,CAAP;AAAkL,GAA7P;;AACAqQ,EAAAA,sBAAsB,CAACl2D,KAAvB,GAA+BuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASm2D,8BAAT,GAA0C;AAAE,aAAO,IAAIJ,sBAAJ,CAA2B3jC,sDAAA,CAAYyC,iEAAZ,CAA3B,EAA0DzC,sDAAA,CAAY4rB,qDAAZ,CAA1D,EAAsF5rB,sDAAA,CAAYF,2DAAZ,CAAtF,EAAgHE,sDAAA,CAAYszB,gBAAZ,CAAhH,CAAP;AAAwJ,KAA/M;AAAiN3lD,IAAAA,KAAK,EAAEg2D,sBAAxN;AAAgPl9B,IAAAA,UAAU,EAAE;AAA5P,GAAtB,CAA/B;SAjCMk9B;;;AAwCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO91D,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMsE,CANrF;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,IAAIm2D,YAAY,GAAG,CAAnB,EACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC;AAAN,QAAMA,OAAN,CAAc;AACVxhE,IAAAA,WAAW;AACX;AACAyhE,IAAAA,gBAFW,EAEOjM,iBAFP,EAE0BkM,yBAF1B,EAEqDC,gBAFrD,EAEuElQ,mBAFvE,EAE4FmQ,SAF5F,EAEuGv2B,OAFvG,EAEgHxJ,SAFhH,EAE2HggC,eAF3H,EAE4InQ,SAF5I,EAEuJC,uBAFvJ,EAEgL;AACvL,WAAK8P,gBAAL,GAAwBA,gBAAxB;AACA,WAAKjM,iBAAL,GAAyBA,iBAAzB;AACA,WAAKkM,yBAAL,GAAiCA,yBAAjC;AACA,WAAKC,gBAAL,GAAwBA,gBAAxB;AACA,WAAKlQ,mBAAL,GAA2BA,mBAA3B;AACA,WAAKmQ,SAAL,GAAiBA,SAAjB;AACA,WAAKv2B,OAAL,GAAeA,OAAf;AACA,WAAKxJ,SAAL,GAAiBA,SAAjB;AACA,WAAKggC,eAAL,GAAuBA,eAAvB;AACA,WAAKnQ,SAAL,GAAiBA,SAAjB;AACA,WAAKC,uBAAL,GAA+BA,uBAA/B;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIvzC,IAAAA,MAAM,CAAC8rB,MAAD,EAAS;AACX,YAAM5hC,IAAI,GAAG,KAAKw5D,kBAAL,EAAb;;AACA,YAAMC,IAAI,GAAG,KAAKC,kBAAL,CAAwB15D,IAAxB,CAAb;;AACA,YAAM25D,YAAY,GAAG,KAAKC,mBAAL,CAAyBH,IAAzB,CAArB;;AACA,YAAMI,aAAa,GAAG,IAAI5T,aAAJ,CAAkBrkB,MAAlB,CAAtB;AACAi4B,MAAAA,aAAa,CAACt8B,SAAd,GAA0Bs8B,aAAa,CAACt8B,SAAd,IAA2B,KAAKg8B,eAAL,CAAqBj7D,KAA1E;AACA,aAAO,IAAIyqD,UAAJ,CAAe4Q,YAAf,EAA6B35D,IAA7B,EAAmCy5D,IAAnC,EAAyCI,aAAzC,EAAwD,KAAK92B,OAA7D,EAAsE,KAAKomB,mBAA3E,EAAgG,KAAK5vB,SAArG,EAAgH,KAAK6vB,SAArH,EAAgI,KAAKC,uBAArI,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI7vD,IAAAA,QAAQ,GAAG;AACP,aAAO,KAAK6/D,gBAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACIK,IAAAA,kBAAkB,CAAC15D,IAAD,EAAO;AACrB,YAAMy5D,IAAI,GAAG,KAAKlgC,SAAL,CAAelI,aAAf,CAA6B,KAA7B,CAAb;;AACAooC,MAAAA,IAAI,CAAC36D,EAAL,GAAW,eAAcm6D,YAAY,EAAG,EAAxC;AACAQ,MAAAA,IAAI,CAAC1uC,SAAL,CAAe7e,GAAf,CAAmB,kBAAnB;AACAlM,MAAAA,IAAI,CAAC4xB,WAAL,CAAiB6nC,IAAjB;AACA,aAAOA,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACID,IAAAA,kBAAkB,GAAG;AACjB,YAAMx5D,IAAI,GAAG,KAAKu5B,SAAL,CAAelI,aAAf,CAA6B,KAA7B,CAAb;;AACA,WAAK67B,iBAAL,CAAuBxE,mBAAvB,GAA6C92B,WAA7C,CAAyD5xB,IAAzD;;AACA,aAAOA,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI45D,IAAAA,mBAAmB,CAACH,IAAD,EAAO;AACtB;AACA;AACA,UAAI,CAAC,KAAKK,OAAV,EAAmB;AACf,aAAKA,OAAL,GAAe,KAAKR,SAAL,CAAe96D,GAAf,CAAmBuiD,yDAAnB,CAAf;AACH;;AACD,aAAO,IAAIS,iEAAJ,CAAoBiY,IAApB,EAA0B,KAAKL,yBAA/B,EAA0D,KAAKU,OAA/D,EAAwE,KAAKR,SAA7E,EAAwF,KAAK//B,SAA7F,CAAP;AACH;;AAtES;;AAwEd2/B,EAAAA,OAAO,CAAC32D,IAAR,GAAe,SAASw3D,eAAT,CAAyBt3D,CAAzB,EAA4B;AAAE,WAAO,KAAKA,CAAC,IAAIy2D,OAAV,EAAmB79D,sDAAA,CAAgBsqD,qBAAhB,CAAnB,EAA2DtqD,sDAAA,CAAgBktD,gBAAhB,CAA3D,EAA8FltD,sDAAA,CAAgBA,mEAAhB,CAA9F,EAAgJA,sDAAA,CAAgBu9D,sBAAhB,CAAhJ,EAAyLv9D,sDAAA,CAAgBksD,yBAAhB,CAAzL,EAAqOlsD,sDAAA,CAAgBA,mDAAhB,CAArO,EAAuQA,sDAAA,CAAgBA,iDAAhB,CAAvQ,EAAuSA,sDAAA,CAAgB25B,qDAAhB,CAAvS,EAAkU35B,sDAAA,CAAgBqlD,8DAAhB,CAAlU,EAA0WrlD,sDAAA,CAAgBslD,qDAAhB,CAA1W,EAA4YtlD,sDAAA,CAAgBysD,6BAAhB,CAA5Y,CAAP;AAAqc,GAAlf;;AACAoR,EAAAA,OAAO,CAACx2D,KAAR,GAAgB,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEs2D,OAAT;AAAkBr2D,IAAAA,OAAO,EAAEq2D,OAAO,CAAC32D;AAAnC,GAA1B,CAA9B;SAzEM22D;;;AAuFN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOp2D,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAKoH,CALnI;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMk3D,mBAAmB,GAAG,CACxB;AACItT,EAAAA,OAAO,EAAE,OADb;AAEIC,EAAAA,OAAO,EAAE,QAFb;AAGIC,EAAAA,QAAQ,EAAE,OAHd;AAIIC,EAAAA,QAAQ,EAAE;AAJd,CADwB,EAOxB;AACIH,EAAAA,OAAO,EAAE,OADb;AAEIC,EAAAA,OAAO,EAAE,KAFb;AAGIC,EAAAA,QAAQ,EAAE,OAHd;AAIIC,EAAAA,QAAQ,EAAE;AAJd,CAPwB,EAaxB;AACIH,EAAAA,OAAO,EAAE,KADb;AAEIC,EAAAA,OAAO,EAAE,KAFb;AAGIC,EAAAA,QAAQ,EAAE,KAHd;AAIIC,EAAAA,QAAQ,EAAE;AAJd,CAbwB,EAmBxB;AACIH,EAAAA,OAAO,EAAE,KADb;AAEIC,EAAAA,OAAO,EAAE,QAFb;AAGIC,EAAAA,QAAQ,EAAE,KAHd;AAIIC,EAAAA,QAAQ,EAAE;AAJd,CAnBwB,CAA5B;AA0BA;;AACA,MAAMoT,qCAAqC,gBAAG,IAAIzkC,yDAAJ,CAAmB,uCAAnB,CAA9C;AACA;AACA;AACA;AACA;;IACM0kC;AAAN,QAAMA,gBAAN,CAAuB;AACnBxiE,IAAAA,WAAW;AACX;AACAohE,IAAAA,UAFW,EAEC;AACR,WAAKA,UAAL,GAAkBA,UAAlB;AACH;;AALkB;;AAOvBoB,EAAAA,gBAAgB,CAAC33D,IAAjB,GAAwB,SAAS43D,wBAAT,CAAkC13D,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAIy3D,gBAAV,EAA4B7+D,+DAAA,CAAyBA,qDAAzB,CAA5B,CAAP;AAAkF,GAAjJ;;AACA6+D,EAAAA,gBAAgB,CAAC3zB,IAAjB,GAAwB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEokE,gBAAR;AAA0BzzB,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,oBAAL,EAA2B,EAA3B,CAAD,EAAiC,CAAC,EAAD,EAAK,gBAAL,EAAuB,EAAvB,CAAjC,EAA6D,CAAC,EAAD,EAAK,kBAAL,EAAyB,EAAzB,CAA7D,CAArC;AAAiIE,IAAAA,QAAQ,EAAE,CAAC,kBAAD;AAA3I,GAAzB,CAAtC;SARMuzB;;;AAYN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOp3D,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMwD,CANvE;AAOA;AACA;AACA;AACA;;;IACMs3D;AAAN,QAAMA,mBAAN,CAA0B;AACtB;AACA1iE,IAAAA,WAAW,CAAC2iE,QAAD,EAAWvlB,WAAX,EAAwBb,gBAAxB,EAA0CqmB,qBAA1C,EAAiE9nB,IAAjE,EAAuE;AAC9E,WAAK6nB,QAAL,GAAgBA,QAAhB;AACA,WAAK7nB,IAAL,GAAYA,IAAZ;AACA,WAAK+nB,YAAL,GAAoB,KAApB;AACA,WAAKC,aAAL,GAAqB,KAArB;AACA,WAAKlN,cAAL,GAAsB,KAAtB;AACA,WAAKmN,mBAAL,GAA2B,KAA3B;AACA,WAAKC,KAAL,GAAa,KAAb;AACA,WAAKC,qBAAL,GAA6B7kC,oDAA7B;AACA,WAAK8kC,mBAAL,GAA2B9kC,oDAA3B;AACA,WAAK+kC,mBAAL,GAA2B/kC,oDAA3B;AACA,WAAKglC,qBAAL,GAA6BhlC,oDAA7B;AACA;;AACA,WAAKilC,cAAL,GAAsB,CAAtB;AACA;;AACA,WAAKC,IAAL,GAAY,KAAZ;AACA;;AACA,WAAKC,YAAL,GAAoB,KAApB;AACA;;AACA,WAAKjQ,aAAL,GAAqB,IAAIt1B,uDAAJ,EAArB;AACA;;AACA,WAAKwlC,cAAL,GAAsB,IAAIxlC,uDAAJ,EAAtB;AACA;;AACA,WAAK0sB,MAAL,GAAc,IAAI1sB,uDAAJ,EAAd;AACA;;AACA,WAAKsf,MAAL,GAAc,IAAItf,uDAAJ,EAAd;AACA;;AACA,WAAKylC,cAAL,GAAsB,IAAIzlC,uDAAJ,EAAtB;AACA;;AACA,WAAK0lC,mBAAL,GAA2B,IAAI1lC,uDAAJ,EAA3B;AACA,WAAK2lC,eAAL,GAAuB,IAAI5Z,gEAAJ,CAAmB3M,WAAnB,EAAgCb,gBAAhC,CAAvB;AACA,WAAKqnB,sBAAL,GAA8BhB,qBAA9B;AACA,WAAKpU,cAAL,GAAsB,KAAKoV,sBAAL,EAAtB;AACH;AACD;;;AACW,QAAP3yB,OAAO,GAAG;AAAE,aAAO,KAAKmlB,QAAZ;AAAuB;;AAC5B,QAAPnlB,OAAO,CAACA,OAAD,EAAU;AACjB,WAAKmlB,QAAL,GAAgBnlB,OAAhB;;AACA,UAAI,KAAKxwC,SAAT,EAAoB;AAChB,aAAKojE,uBAAL,CAA6B,KAAKpjE,SAAlC;AACH;AACJ;AACD;;;AACW,QAAPywC,OAAO,GAAG;AAAE,aAAO,KAAKmlB,QAAZ;AAAuB;;AAC5B,QAAPnlB,OAAO,CAACA,OAAD,EAAU;AACjB,WAAKmlB,QAAL,GAAgBnlB,OAAhB;;AACA,UAAI,KAAKzwC,SAAT,EAAoB;AAChB,aAAKojE,uBAAL,CAA6B,KAAKpjE,SAAlC;AACH;AACJ;AACD;;;AACe,QAAXiuD,WAAW,GAAG;AAAE,aAAO,KAAKmU,YAAZ;AAA2B;;AAChC,QAAXnU,WAAW,CAAC9nD,KAAD,EAAQ;AAAE,WAAKi8D,YAAL,GAAoB/iC,4EAAqB,CAACl5B,KAAD,CAAzC;AAAmD;AAC5E;;;AACgB,QAAZk9D,YAAY,GAAG;AAAE,aAAO,KAAKhB,aAAZ;AAA4B;;AACjC,QAAZgB,YAAY,CAACl9D,KAAD,EAAQ;AAAE,WAAKk8D,aAAL,GAAqBhjC,4EAAqB,CAACl5B,KAAD,CAA1C;AAAoD;AAC9E;;;AACsB,QAAlB6yD,kBAAkB,GAAG;AAAE,aAAO,KAAKsJ,mBAAZ;AAAkC;;AACvC,QAAlBtJ,kBAAkB,CAAC7yD,KAAD,EAAQ;AAC1B,WAAKm8D,mBAAL,GAA2BjjC,4EAAqB,CAACl5B,KAAD,CAAhD;AACH;AACD;;;AACiB,QAAb+yD,aAAa,GAAG;AAAE,aAAO,KAAK/D,cAAZ;AAA6B;;AAClC,QAAb+D,aAAa,CAAC/yD,KAAD,EAAQ;AAAE,WAAKgvD,cAAL,GAAsB91B,4EAAqB,CAACl5B,KAAD,CAA3C;AAAqD;AAChF;;;AACQ,QAAJ5F,IAAI,GAAG;AAAE,aAAO,KAAKgiE,KAAZ;AAAoB;;AACzB,QAAJhiE,IAAI,CAAC4F,KAAD,EAAQ;AAAE,WAAKo8D,KAAL,GAAaljC,4EAAqB,CAACl5B,KAAD,CAAlC;AAA4C;AAC9D;;;AACc,QAAVulD,UAAU,GAAG;AACb,aAAO,KAAKD,WAAZ;AACH;AACD;;;AACO,QAAHxR,GAAG,GAAG;AACN,aAAO,KAAKI,IAAL,GAAY,KAAKA,IAAL,CAAUl0C,KAAtB,GAA8B,KAArC;AACH;;AACDo8B,IAAAA,WAAW,GAAG;AACV,WAAKkgC,mBAAL,CAAyB/8B,WAAzB;;AACA,WAAKg9B,mBAAL,CAAyBh9B,WAAzB;;AACA,WAAK88B,qBAAL,CAA2B98B,WAA3B;;AACA,WAAKi9B,qBAAL,CAA2Bj9B,WAA3B;;AACA,UAAI,KAAK+lB,WAAT,EAAsB;AAClB,aAAKA,WAAL,CAAiB6G,OAAjB;AACH;AACJ;;AACDvkB,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,UAAI,KAAKvkC,SAAT,EAAoB;AAChB,aAAKojE,uBAAL,CAA6B,KAAKpjE,SAAlC;;AACA,aAAKyrD,WAAL,CAAiB4H,UAAjB,CAA4B;AACxBnI,UAAAA,KAAK,EAAE,KAAKA,KADY;AAExB0I,UAAAA,QAAQ,EAAE,KAAKA,QAFS;AAGxB5I,UAAAA,MAAM,EAAE,KAAKA,MAHW;AAIxB6I,UAAAA,SAAS,EAAE,KAAKA;AAJQ,SAA5B;;AAMA,YAAItvB,OAAO,CAAC,QAAD,CAAP,IAAqB,KAAKs+B,IAA9B,EAAoC;AAChC,eAAK7iE,SAAL,CAAesI,KAAf;AACH;AACJ;;AACD,UAAIi8B,OAAO,CAAC,MAAD,CAAX,EAAqB;AACjB,aAAKs+B,IAAL,GAAY,KAAKS,cAAL,EAAZ,GAAoC,KAAKC,cAAL,EAApC;AACH;AACJ;AACD;;;AACAC,IAAAA,cAAc,GAAG;AACb,UAAI,CAAC,KAAKxN,SAAN,IAAmB,CAAC,KAAKA,SAAL,CAAet0D,MAAvC,EAA+C;AAC3C,aAAKs0D,SAAL,GAAiB6L,mBAAjB;AACH;;AACD,YAAMnW,UAAU,GAAG,KAAKD,WAAL,GAAmB,KAAKyW,QAAL,CAAcvkD,MAAd,CAAqB,KAAK8lD,YAAL,EAArB,CAAtC;;AACA,WAAKhB,mBAAL,GAA2B/W,UAAU,CAACoH,WAAX,GAAyBtuB,SAAzB,CAAmC,MAAM,KAAKylB,MAAL,CAAYpS,IAAZ,EAAzC,CAA3B;AACA,WAAK6qB,mBAAL,GAA2BhX,UAAU,CAACqH,WAAX,GAAyBvuB,SAAzB,CAAmC,MAAM,KAAKqY,MAAL,CAAYhF,IAAZ,EAAzC,CAA3B;AACA6T,MAAAA,UAAU,CAACsH,aAAX,GAA2BxuB,SAA3B,CAAsCp/B,KAAD,IAAW;AAC5C,aAAK49D,cAAL,CAAoBh0D,IAApB,CAAyB5J,KAAzB;;AACA,YAAIA,KAAK,CAACihC,OAAN,KAAkB6Z,0DAAlB,IAA4B,CAAC,KAAK4iB,YAAlC,IAAkD,CAAChlC,sEAAc,CAAC14B,KAAD,CAArE,EAA8E;AAC1EA,UAAAA,KAAK,CAAC6hC,cAAN;;AACA,eAAKs8B,cAAL;AACH;AACJ,OAND;;AAOA,WAAK9X,WAAL,CAAiBwH,oBAAjB,GAAwCzuB,SAAxC,CAAmDp/B,KAAD,IAAW;AACzD,aAAK69D,mBAAL,CAAyBj0D,IAAzB,CAA8B5J,KAA9B;AACH,OAFD;AAGH;AACD;;;AACAq+D,IAAAA,YAAY,GAAG;AACX,YAAM9R,gBAAgB,GAAG,KAAK3xD,SAAL,GACrB,KAAK2xD,gBAAL,IAAyB,KAAK+R,uBAAL,EAD7B;;AAEA,YAAMhC,aAAa,GAAG,IAAI5T,aAAJ,CAAkB;AACpC1oB,QAAAA,SAAS,EAAE,KAAKiV,IADoB;AAEpCsX,QAAAA,gBAFoC;AAGpC5D,QAAAA,cAAc,EAAE,KAAKA,cAHe;AAIpCE,QAAAA,WAAW,EAAE,KAAKA;AAJkB,OAAlB,CAAtB;;AAMA,UAAI,KAAK/C,KAAL,IAAc,KAAKA,KAAL,KAAe,CAAjC,EAAoC;AAChCwW,QAAAA,aAAa,CAACxW,KAAd,GAAsB,KAAKA,KAA3B;AACH;;AACD,UAAI,KAAKF,MAAL,IAAe,KAAKA,MAAL,KAAgB,CAAnC,EAAsC;AAClC0W,QAAAA,aAAa,CAAC1W,MAAd,GAAuB,KAAKA,MAA5B;AACH;;AACD,UAAI,KAAK4I,QAAL,IAAiB,KAAKA,QAAL,KAAkB,CAAvC,EAA0C;AACtC8N,QAAAA,aAAa,CAAC9N,QAAd,GAAyB,KAAKA,QAA9B;AACH;;AACD,UAAI,KAAKC,SAAL,IAAkB,KAAKA,SAAL,KAAmB,CAAzC,EAA4C;AACxC6N,QAAAA,aAAa,CAAC7N,SAAd,GAA0B,KAAKA,SAA/B;AACH;;AACD,UAAI,KAAK3F,aAAT,EAAwB;AACpBwT,QAAAA,aAAa,CAACxT,aAAd,GAA8B,KAAKA,aAAnC;AACH;;AACD,UAAI,KAAKF,UAAT,EAAqB;AACjB0T,QAAAA,aAAa,CAAC1T,UAAd,GAA2B,KAAKA,UAAhC;AACH;;AACD,aAAO0T,aAAP;AACH;AACD;;;AACA0B,IAAAA,uBAAuB,CAACzR,gBAAD,EAAmB;AACtC,YAAMqE,SAAS,GAAG,KAAKA,SAAL,CAAehwD,GAAf,CAAmB29D,eAAe,KAAK;AACrDpV,QAAAA,OAAO,EAAEoV,eAAe,CAACpV,OAD4B;AAErDC,QAAAA,OAAO,EAAEmV,eAAe,CAACnV,OAF4B;AAGrDC,QAAAA,QAAQ,EAAEkV,eAAe,CAAClV,QAH2B;AAIrDC,QAAAA,QAAQ,EAAEiV,eAAe,CAACjV,QAJ2B;AAKrDle,QAAAA,OAAO,EAAEmzB,eAAe,CAACnzB,OAAhB,IAA2B,KAAKA,OALY;AAMrDC,QAAAA,OAAO,EAAEkzB,eAAe,CAAClzB,OAAhB,IAA2B,KAAKA,OANY;AAOrDud,QAAAA,UAAU,EAAE2V,eAAe,CAAC3V,UAAhB,IAA8BnoD;AAPW,OAAL,CAAlC,CAAlB;AASA,aAAO8rD,gBAAgB,CAClBoE,SADE,CACQ,KAAK7tB,MAAL,CAAYy4B,UADpB,EAEF/H,aAFE,CAEY5C,SAFZ,EAGF+C,sBAHE,CAGqB,KAAKC,kBAH1B,EAIFG,QAJE,CAIO,KAAK54D,IAJZ,EAKF04D,iBALE,CAKgB,KAAKC,aALrB,EAMFL,kBANE,CAMiB,KAAK+J,cANtB,EAOFvJ,kBAPE,CAOiB,KAAKgK,YAPtB,EAQF5J,qBARE,CAQoB,KAAKmK,uBARzB,CAAP;AASH;AACD;;;AACAF,IAAAA,uBAAuB,GAAG;AACtB,YAAMtQ,QAAQ,GAAG,KAAK8O,QAAL,CAAc7gE,QAAd,GAAyBu/D,mBAAzB,CAA6C,KAAK14B,MAAL,CAAYy4B,UAAzD,CAAjB;;AACA,WAAKyC,uBAAL,CAA6BhQ,QAA7B;;AACA,aAAOA,QAAP;AACH;AACD;;;AACAkQ,IAAAA,cAAc,GAAG;AACb,UAAI,CAAC,KAAK7X,WAAV,EAAuB;AACnB,aAAK+X,cAAL;AACH,OAFD,MAGK;AACD;AACA,aAAK/X,WAAL,CAAiByH,SAAjB,GAA6BjF,WAA7B,GAA2C,KAAKA,WAAhD;AACH;;AACD,UAAI,CAAC,KAAKxC,WAAL,CAAiBhf,WAAjB,EAAL,EAAqC;AACjC,aAAKgf,WAAL,CAAiBxB,MAAjB,CAAwB,KAAKiZ,eAA7B;AACH;;AACD,UAAI,KAAKjV,WAAT,EAAsB;AAClB,aAAKuU,qBAAL,GAA6B,KAAK/W,WAAL,CAAiBoH,aAAjB,GAAiCruB,SAAjC,CAA2Cp/B,KAAK,IAAI;AAC7E,eAAKytD,aAAL,CAAmBhb,IAAnB,CAAwBzyC,KAAxB;AACH,SAF4B,CAA7B;AAGH,OAJD,MAKK;AACD,aAAKo9D,qBAAL,CAA2B98B,WAA3B;AACH;;AACD,WAAKi9B,qBAAL,CAA2Bj9B,WAA3B,GAnBa,CAoBb;AACA;;;AACA,UAAI,KAAKq9B,cAAL,CAAoBvT,SAApB,CAA8B9tD,MAA9B,GAAuC,CAA3C,EAA8C;AAC1C,aAAKihE,qBAAL,GAA6B,KAAK3iE,SAAL,CAAe81D,eAAf,CACxBnwB,IADwB,CACnB8jB,0DAAS,CAAC,MAAM,KAAKsZ,cAAL,CAAoBvT,SAApB,CAA8B9tD,MAA9B,GAAuC,CAA9C,CADU,EAExB8iC,SAFwB,CAEdnjC,QAAQ,IAAI;AACvB,eAAK0hE,cAAL,CAAoBlrB,IAApB,CAAyBx2C,QAAzB;;AACA,cAAI,KAAK0hE,cAAL,CAAoBvT,SAApB,CAA8B9tD,MAA9B,KAAyC,CAA7C,EAAgD;AAC5C,iBAAKihE,qBAAL,CAA2Bj9B,WAA3B;AACH;AACJ,SAP4B,CAA7B;AAQH;AACJ;AACD;;;AACA69B,IAAAA,cAAc,GAAG;AACb,UAAI,KAAK9X,WAAT,EAAsB;AAClB,aAAKA,WAAL,CAAiB5O,MAAjB;AACH;;AACD,WAAK2lB,qBAAL,CAA2B98B,WAA3B;;AACA,WAAKi9B,qBAAL,CAA2Bj9B,WAA3B;AACH;;AA5NqB;;AA8N1Bu8B,EAAAA,mBAAmB,CAAC73D,IAApB,GAA2B,SAASy5D,2BAAT,CAAqCv5D,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAI23D,mBAAV,EAA+B/+D,+DAAA,CAAyB69D,OAAzB,CAA/B,EAAkE79D,+DAAA,CAAyBA,sDAAzB,CAAlE,EAAgHA,+DAAA,CAAyBA,2DAAzB,CAAhH,EAAmKA,+DAAA,CAAyB4+D,qCAAzB,CAAnK,EAAoO5+D,+DAAA,CAAyBqlD,8DAAzB,EAAgD,CAAhD,CAApO,CAAP;AAAiS,GAAtW;;AACA0Z,EAAAA,mBAAmB,CAAC7zB,IAApB,GAA2B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEskE,mBAAR;AAA6B3zB,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,uBAAL,EAA8B,EAA9B,CAAD,EAAoC,CAAC,EAAD,EAAK,mBAAL,EAA0B,EAA1B,CAApC,EAAmE,CAAC,EAAD,EAAK,qBAAL,EAA4B,EAA5B,CAAnE,CAAxC;AAA6IC,IAAAA,MAAM,EAAE;AAAEq0B,MAAAA,cAAc,EAAE,CAAC,mCAAD,EAAsC,gBAAtC,CAAlB;AAA2EC,MAAAA,IAAI,EAAE,CAAC,yBAAD,EAA4B,MAA5B,CAAjF;AAAsHC,MAAAA,YAAY,EAAE,CAAC,iCAAD,EAAoC,cAApC,CAApI;AAAyL/U,MAAAA,cAAc,EAAE,CAAC,mCAAD,EAAsC,gBAAtC,CAAzM;AAAkQvd,MAAAA,OAAO,EAAE,CAAC,4BAAD,EAA+B,SAA/B,CAA3Q;AAAsTC,MAAAA,OAAO,EAAE,CAAC,4BAAD,EAA+B,SAA/B,CAA/T;AAA0Wwd,MAAAA,WAAW,EAAE,CAAC,gCAAD,EAAmC,aAAnC,CAAvX;AAA0aoV,MAAAA,YAAY,EAAE,CAAC,iCAAD,EAAoC,cAApC,CAAxb;AAA6erK,MAAAA,kBAAkB,EAAE,CAAC,uCAAD,EAA0C,oBAA1C,CAAjgB;AAAkkBE,MAAAA,aAAa,EAAE,CAAC,kCAAD,EAAqC,eAArC,CAAjlB;AAAwoB34D,MAAAA,IAAI,EAAE,CAAC,yBAAD,EAA4B,MAA5B,CAA9oB;AAAmrBy1D,MAAAA,SAAS,EAAE,CAAC,8BAAD,EAAiC,WAAjC,CAA9rB;AAA6uB9tB,MAAAA,MAAM,EAAE,CAAC,2BAAD,EAA8B,QAA9B,CAArvB;AAA8xBypB,MAAAA,gBAAgB,EAAE,CAAC,qCAAD,EAAwC,kBAAxC,CAAhzB;AAA62BzG,MAAAA,KAAK,EAAE,CAAC,0BAAD,EAA6B,OAA7B,CAAp3B;AAA25BF,MAAAA,MAAM,EAAE,CAAC,2BAAD,EAA8B,QAA9B,CAAn6B;AAA48B4I,MAAAA,QAAQ,EAAE,CAAC,6BAAD,EAAgC,UAAhC,CAAt9B;AAAmgCC,MAAAA,SAAS,EAAE,CAAC,8BAAD,EAAiC,WAAjC,CAA9gC;AAA6jC3F,MAAAA,aAAa,EAAE,CAAC,kCAAD,EAAqC,eAArC,CAA5kC;AAAmoCF,MAAAA,UAAU,EAAE,CAAC,+BAAD,EAAkC,YAAlC,CAA/oC;AAAgsC4V,MAAAA,uBAAuB,EAAE,CAAC,sCAAD,EAAyC,yBAAzC;AAAztC,KAArJ;AAAq7C7rB,IAAAA,OAAO,EAAE;AAAE8a,MAAAA,aAAa,EAAE,eAAjB;AAAkCkQ,MAAAA,cAAc,EAAE,gBAAlD;AAAoE9Y,MAAAA,MAAM,EAAE,QAA5E;AAAsFpN,MAAAA,MAAM,EAAE,QAA9F;AAAwGmmB,MAAAA,cAAc,EAAE,gBAAxH;AAA0IC,MAAAA,mBAAmB,EAAE;AAA/J,KAA97C;AAAsnDz0B,IAAAA,QAAQ,EAAE,CAAC,qBAAD,CAAhoD;AAAypDC,IAAAA,QAAQ,EAAE,CAACvrC,kEAAD;AAAnqD,GAAzB,CAAzC;SA/NM++D;;;AAoQN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOt3D,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAsFC,CAtFhB;AAuFA;;;AACA,SAASm5D,sDAAT,CAAgExV,OAAhE,EAAyE;AACrE,SAAO,MAAMA,OAAO,CAAC0S,gBAAR,CAAyBpT,UAAzB,EAAb;AACH;AACD;;;AACA,MAAMmW,8CAA8C,GAAG;AACnD/oB,EAAAA,OAAO,EAAE8mB,qCAD0C;AAEnDkC,EAAAA,IAAI,EAAE,CAACjD,OAAD,CAF6C;AAGnDkD,EAAAA,UAAU,EAAEH;AAHuC,CAAvD;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMI;AAAN,QAAMA,aAAN,CAAoB;;AAEpBA,EAAAA,aAAa,CAAC95D,IAAd,GAAqB,SAAS+5D,qBAAT,CAA+B75D,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAI45D,aAAV,GAAP;AAAoC,GAA7F;;AACAA,EAAAA,aAAa,CAAChrB,IAAd,GAAqB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEumE;AAAR,GAAxB,CAAnC;AACAA,EAAAA,aAAa,CAAC9qB,IAAd,GAAqB,aAAcl2C,8DAAA,CAAwB;AAAEilD,IAAAA,SAAS,EAAE,CAChE4Y,OADgE,EAEhEgD,8CAFgE,CAAb;AAGpDzqB,IAAAA,OAAO,EAAE,CAAC,CAAC4B,0DAAD,EAAaqO,8DAAb,EAA2BjB,mEAA3B,CAAD,EAA8CA,mEAA9C;AAH2C,GAAxB,CAAnC;SAJM4b;;;AAQN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOv5D,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAWO,CAXtB;;AAYA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0BghE,aAA1B,EAAyC;AAAEzqB,IAAAA,YAAY,EAAE,YAAY;AAAE,aAAO,CAACwoB,mBAAD,EAAsBF,gBAAtB,CAAP;AAAiD,KAA/E;AAAiFzoB,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAAC4B,0DAAD,EAAaqO,8DAAb,EAA2BjB,mEAA3B,CAAP;AAAqD,KAA7J;AAA+J5O,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACuoB,mBAAD,EAAsBF,gBAAtB,EAAwCzZ,mEAAxC,CAAP;AAAkE;AAAxP,GAAzC,CAAnD;AAA0V,CAAzW;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM8b;AAAN,QAAMA,0BAAN,SAAyChU,gBAAzC,CAA0D;AACtD7wD,IAAAA,WAAW,CAAC6hC,SAAD,EAAYw9B,QAAZ,EAAsB;AAC7B,YAAMx9B,SAAN,EAAiBw9B,QAAjB;AACH;;AACDr8B,IAAAA,WAAW,GAAG;AACV,YAAMA,WAAN;;AACA,UAAI,KAAK8hC,oBAAL,IAA6B,KAAKC,mBAAtC,EAA2D;AACvD,aAAKljC,SAAL,CAAehK,mBAAf,CAAmC,KAAKitC,oBAAxC,EAA8D,KAAKC,mBAAnE;AACH;AACJ;;AACD9T,IAAAA,gBAAgB,GAAG;AACf,YAAMA,gBAAN;;AACA,WAAK+T,gCAAL;;AACA,WAAKC,4BAAL,CAAkC,MAAM,KAAKD,gCAAL,EAAxC;AACH;;AACDA,IAAAA,gCAAgC,GAAG;AAC/B,UAAI,CAAC,KAAKjU,iBAAV,EAA6B;AACzB;AACH;;AACD,YAAMmU,iBAAiB,GAAG,KAAKC,oBAAL,EAA1B;AACA,YAAMp7C,MAAM,GAAGm7C,iBAAiB,IAAI,KAAKrjC,SAAL,CAAe93B,IAAnD;AACAggB,MAAAA,MAAM,CAACmQ,WAAP,CAAmB,KAAK62B,iBAAxB;AACH;;AACDkU,IAAAA,4BAA4B,CAACnkE,EAAD,EAAK;AAC7B,YAAM8E,SAAS,GAAG,KAAKw/D,aAAL,EAAlB;;AACA,UAAIx/D,SAAJ,EAAe;AACX,YAAI,KAAKm/D,mBAAT,EAA8B;AAC1B,eAAKljC,SAAL,CAAehK,mBAAf,CAAmCjyB,SAAnC,EAA8C,KAAKm/D,mBAAnD;AACH;;AACD,aAAKljC,SAAL,CAAe/J,gBAAf,CAAgClyB,SAAhC,EAA2C9E,EAA3C;;AACA,aAAKikE,mBAAL,GAA2BjkE,EAA3B;AACH;AACJ;;AACDskE,IAAAA,aAAa,GAAG;AACZ,UAAI,CAAC,KAAKN,oBAAV,EAAgC;AAC5B,cAAMjjC,SAAS,GAAG,KAAKA,SAAvB;;AACA,YAAIA,SAAS,CAACwjC,iBAAd,EAAiC;AAC7B,eAAKP,oBAAL,GAA4B,kBAA5B;AACH,SAFD,MAGK,IAAIjjC,SAAS,CAACyjC,uBAAd,EAAuC;AACxC,eAAKR,oBAAL,GAA4B,wBAA5B;AACH,SAFI,MAGA,IAAIjjC,SAAS,CAAC0jC,oBAAd,EAAoC;AACrC,eAAKT,oBAAL,GAA4B,qBAA5B;AACH,SAFI,MAGA,IAAIjjC,SAAS,CAAC2jC,mBAAd,EAAmC;AACpC,eAAKV,oBAAL,GAA4B,oBAA5B;AACH;AACJ;;AACD,aAAO,KAAKA,oBAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACIK,IAAAA,oBAAoB,GAAG;AACnB,YAAMtjC,SAAS,GAAG,KAAKA,SAAvB;AACA,aAAOA,SAAS,CAACqjC,iBAAV,IACHrjC,SAAS,CAAC4jC,uBADP,IAEH5jC,SAAS,CAAC6jC,oBAFP,IAGH7jC,SAAS,CAAC8jC,mBAHP,IAIH,IAJJ;AAKH;;AA9DqD;;AAgE1Dd,EAAAA,0BAA0B,CAACh6D,IAA3B,GAAkC,SAAS+6D,kCAAT,CAA4C76D,CAA5C,EAA+C;AAAE,WAAO,KAAKA,CAAC,IAAI85D,0BAAV,EAAsClhE,sDAAA,CAAgB25B,qDAAhB,CAAtC,EAAiE35B,sDAAA,CAAgB+8B,2DAAhB,CAAjE,CAAP;AAA4G,GAA/L;;AACAmkC,EAAAA,0BAA0B,CAAC75D,KAA3B,GAAmCuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASy6D,kCAAT,GAA8C;AAAE,aAAO,IAAIf,0BAAJ,CAA+BtnC,sDAAA,CAAY4rB,qDAAZ,CAA/B,EAA2D5rB,sDAAA,CAAYF,2DAAZ,CAA3D,CAAP;AAA8F,KAAzJ;AAA2JnyB,IAAAA,KAAK,EAAE25D,0BAAlK;AAA8L7gC,IAAAA,UAAU,EAAE;AAA1M,GAAtB,CAAnC;SAjEM6gC;;;AAsEN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOz5D,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAM0C,CANzD;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtqGA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,IAAI+6D,kBAAJ,EACA;AACA;AACA;AACA;AACA;;AACA,IAAI;AACAA,EAAAA,kBAAkB,GAAI,OAAOC,IAAP,KAAgB,WAAhB,IAA+BA,IAAI,CAACC,eAA1D;AACH,CAFD,CAGA,OAAOhsC,EAAP,EAAW;AACP8rC,EAAAA,kBAAkB,GAAG,KAArB;AACH;AACD;AACA;AACA;AACA;;;IACMlmC;AAAN,QAAMA,QAAN,CAAe;AACXjgC,IAAAA,WAAW,CAACsmE,WAAD,EAAc;AACrB,WAAKA,WAAL,GAAmBA,WAAnB,CADqB,CAErB;AACA;AACA;;AACA;;AACA,WAAK1iE,SAAL,GAAiB,KAAK0iE,WAAL,GACbJ,kEAAiB,CAAC,KAAKI,WAAN,CADJ,GACyB,OAAOxiE,QAAP,KAAoB,QAApB,IAAgC,CAAC,CAACA,QAD5E;AAEA;;AACA,WAAKyiE,IAAL,GAAY,KAAK3iE,SAAL,IAAkB,UAAU83B,IAAV,CAAe8qC,SAAS,CAACC,SAAzB,CAA9B;AACA;;AACA,WAAKC,OAAL,GAAe,KAAK9iE,SAAL,IAAkB,kBAAkB83B,IAAlB,CAAuB8qC,SAAS,CAACC,SAAjC,CAAjC,CAXqB,CAYrB;;AACA;;AACA,WAAKE,KAAL,GAAa,KAAK/iE,SAAL,IAAmB,CAAC,EAAEC,MAAM,CAAC+iE,MAAP,IAAiBT,kBAAnB,CAAD,IAC5B,OAAOU,GAAP,KAAe,WADa,IACE,CAAC,KAAKN,IADR,IACgB,CAAC,KAAKG,OADtD,CAdqB,CAgBrB;AACA;;AACA;;AACA,WAAK98B,MAAL,GAAc,KAAKhmC,SAAL,IACV,eAAe83B,IAAf,CAAoB8qC,SAAS,CAACC,SAA9B,CADU,IACkC,CAAC,KAAKE,KADxC,IACiD,CAAC,KAAKJ,IADvD,IAC+D,CAAC,KAAKG,OADnF;AAEA;;AACA,WAAK78B,GAAL,GAAW,KAAKjmC,SAAL,IAAkB,mBAAmB83B,IAAnB,CAAwB8qC,SAAS,CAACC,SAAlC,CAAlB,IACP,EAAE,cAAc5iE,MAAhB,CADJ,CAtBqB,CAwBrB;AACA;AACA;AACA;;AACA;;AACA,WAAKkmC,OAAL,GAAe,KAAKnmC,SAAL,IAAkB,uBAAuB83B,IAAvB,CAA4B8qC,SAAS,CAACC,SAAtC,CAAjC;AACA;AACA;;AACA,WAAKK,OAAL,GAAe,KAAKljE,SAAL,IAAkB,WAAW83B,IAAX,CAAgB8qC,SAAS,CAACC,SAA1B,CAAlB,IAA0D,CAAC,KAAKC,OAA/E,CAhCqB,CAiCrB;AACA;AACA;;AACA;;AACA,WAAKK,MAAL,GAAc,KAAKnjE,SAAL,IAAkB,UAAU83B,IAAV,CAAe8qC,SAAS,CAACC,SAAzB,CAAlB,IAAyD,KAAK78B,MAA5E;AACH;;AAvCU;;AAyCf3J,EAAAA,QAAQ,CAACp1B,IAAT,GAAgB,SAASm8D,gBAAT,CAA0Bj8D,CAA1B,EAA6B;AAAE,WAAO,KAAKA,CAAC,IAAIk1B,QAAV,EAAoBt8B,sDAAA,CAAgBsiE,sDAAhB,CAApB,CAAP;AAA2D,GAA1G;;AACAhmC,EAAAA,QAAQ,CAACj1B,KAAT,GAAiBuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAAS67D,gBAAT,GAA4B;AAAE,aAAO,IAAI/mC,QAAJ,CAAa1C,sDAAA,CAAYA,sDAAZ,CAAb,CAAP;AAAmD,KAA5F;AAA8FryB,IAAAA,KAAK,EAAE+0B,QAArG;AAA+G+D,IAAAA,UAAU,EAAE;AAA3H,GAAtB,CAAjB;SA1CM/D;;;AA8CN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO70B,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMk1B;AAAN,QAAMA,cAAN,CAAqB;;AAErBA,EAAAA,cAAc,CAACz1B,IAAf,GAAsB,SAASo8D,sBAAT,CAAgCl8D,CAAhC,EAAmC;AAAE,WAAO,KAAKA,CAAC,IAAIu1B,cAAV,GAAP;AAAqC,GAAhG;;AACAA,EAAAA,cAAc,CAACqZ,IAAf,GAAsB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEkiC;AAAR,GAAxB,CAApC;AACAA,EAAAA,cAAc,CAACuZ,IAAf,GAAsB,aAAcl2C,8DAAA,CAAwB,EAAxB,CAApC;SAJM28B;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOl1B,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGO,CAHtB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,IAAI87D,mBAAJ;AACA;;AACA,MAAMC,mBAAmB,GAAG,CACxB;AACA;AACA;AACA;AACA,OALwB,EAMxB,QANwB,EAOxB,UAPwB,EAQxB,MARwB,EASxB,gBATwB,EAUxB,OAVwB,EAWxB,MAXwB,EAYxB,QAZwB,EAaxB,OAbwB,EAcxB,OAdwB,EAexB,QAfwB,EAgBxB,UAhBwB,EAiBxB,OAjBwB,EAkBxB,OAlBwB,EAmBxB,OAnBwB,EAoBxB,QApBwB,EAqBxB,QArBwB,EAsBxB,KAtBwB,EAuBxB,MAvBwB,EAwBxB,MAxBwB,EAyBxB,KAzBwB,EA0BxB,MA1BwB,CAA5B;AA4BA;;AACA,SAASC,sBAAT,GAAkC;AAC9B;AACA,MAAIF,mBAAJ,EAAyB;AACrB,WAAOA,mBAAP;AACH,GAJ6B,CAK9B;AACA;AACA;;;AACA,MAAI,OAAOpjE,QAAP,KAAoB,QAApB,IAAgC,CAACA,QAArC,EAA+C;AAC3CojE,IAAAA,mBAAmB,GAAG,IAAI90D,GAAJ,CAAQ+0D,mBAAR,CAAtB;AACA,WAAOD,mBAAP;AACH;;AACD,MAAIG,gBAAgB,GAAGvjE,QAAQ,CAAC61B,aAAT,CAAuB,OAAvB,CAAvB;AACAutC,EAAAA,mBAAmB,GAAG,IAAI90D,GAAJ,CAAQ+0D,mBAAmB,CAACrtD,MAApB,CAA2BlT,KAAK,IAAI;AAC9DygE,IAAAA,gBAAgB,CAACl5D,YAAjB,CAA8B,MAA9B,EAAsCvH,KAAtC;AACA,WAAOygE,gBAAgB,CAACjpE,IAAjB,KAA0BwI,KAAjC;AACH,GAH6B,CAAR,CAAtB;AAIA,SAAOsgE,mBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,IAAII,qBAAJ;AACA;AACA;AACA;AACA;;AACA,SAASC,6BAAT,GAAyC;AACrC,MAAID,qBAAqB,IAAI,IAAzB,IAAiC,OAAOzjE,MAAP,KAAkB,WAAvD,EAAoE;AAChE,QAAI;AACAA,MAAAA,MAAM,CAACi0B,gBAAP,CAAwB,MAAxB,EAAgC,IAAhC,EAAsC7yB,MAAM,CAACuiE,cAAP,CAAsB,EAAtB,EAA0B,SAA1B,EAAqC;AACvE1gE,QAAAA,GAAG,EAAE,MAAMwgE,qBAAqB,GAAG;AADoC,OAArC,CAAtC;AAGH,KAJD,SAKQ;AACJA,MAAAA,qBAAqB,GAAGA,qBAAqB,IAAI,KAAjD;AACH;AACJ;;AACD,SAAOA,qBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASnnC,+BAAT,CAAyC9hC,OAAzC,EAAkD;AAC9C,SAAOkpE,6BAA6B,KAAKlpE,OAAL,GAAe,CAAC,CAACA,OAAO,CAAC2zC,OAA7D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,IAAIy1B,iBAAJ;AACA;;AACA,IAAItd,uBAAJ;AACA;;AACA,SAASP,sBAAT,GAAkC;AAC9B,MAAIO,uBAAuB,IAAI,IAA/B,EAAqC;AACjC;AACA;AACA,QAAI,OAAOrmD,QAAP,KAAoB,QAApB,IAAgC,CAACA,QAAjC,IAA6C,OAAOoE,OAAP,KAAmB,UAAhE,IAA8E,CAACA,OAAnF,EAA4F;AACxFiiD,MAAAA,uBAAuB,GAAG,KAA1B;AACA,aAAOA,uBAAP;AACH,KANgC,CAOjC;;;AACA,QAAI,oBAAoBrmD,QAAQ,CAACsE,eAAT,CAAyBxJ,KAAjD,EAAwD;AACpDurD,MAAAA,uBAAuB,GAAG,IAA1B;AACH,KAFD,MAGK;AACD;AACA;AACA,YAAMud,gBAAgB,GAAGx/D,OAAO,CAACK,SAAR,CAAkBo/D,QAA3C;;AACA,UAAID,gBAAJ,EAAsB;AAClB;AACA;AACA;AACA;AACAvd,QAAAA,uBAAuB,GAAG,CAAC,4BAA4BzuB,IAA5B,CAAiCgsC,gBAAgB,CAACzjE,QAAjB,EAAjC,CAA3B;AACH,OAND,MAOK;AACDkmD,QAAAA,uBAAuB,GAAG,KAA1B;AACH;AACJ;AACJ;;AACD,SAAOA,uBAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASyd,oBAAT,GAAgC;AAC5B;AACA,MAAI,OAAO9jE,QAAP,KAAoB,QAApB,IAAgC,CAACA,QAArC,EAA+C;AAC3C,WAAO;AAAE;AAAT;AACH;;AACD,MAAI2jE,iBAAiB,IAAI,IAAzB,EAA+B;AAC3B;AACA,UAAMI,eAAe,GAAG/jE,QAAQ,CAAC61B,aAAT,CAAuB,KAAvB,CAAxB;AACA,UAAMmuC,cAAc,GAAGD,eAAe,CAACjpE,KAAvC;AACAipE,IAAAA,eAAe,CAACntB,GAAhB,GAAsB,KAAtB;AACAotB,IAAAA,cAAc,CAACnc,KAAf,GAAuB,KAAvB;AACAmc,IAAAA,cAAc,CAACC,QAAf,GAA0B,MAA1B;AACAD,IAAAA,cAAc,CAACxkC,UAAf,GAA4B,QAA5B;AACAwkC,IAAAA,cAAc,CAACpT,aAAf,GAA+B,MAA/B;AACAoT,IAAAA,cAAc,CAAChmE,QAAf,GAA0B,UAA1B;AACA,UAAMkmE,OAAO,GAAGlkE,QAAQ,CAAC61B,aAAT,CAAuB,KAAvB,CAAhB;AACA,UAAMsuC,YAAY,GAAGD,OAAO,CAACppE,KAA7B;AACAqpE,IAAAA,YAAY,CAACtc,KAAb,GAAqB,KAArB;AACAsc,IAAAA,YAAY,CAACxc,MAAb,GAAsB,KAAtB;AACAoc,IAAAA,eAAe,CAAC3tC,WAAhB,CAA4B8tC,OAA5B;AACAlkE,IAAAA,QAAQ,CAACiG,IAAT,CAAcmwB,WAAd,CAA0B2tC,eAA1B;AACAJ,IAAAA,iBAAiB,GAAG;AAAE;AAAtB,KAhB2B,CAiB3B;AACA;AACA;;AACA,QAAII,eAAe,CAACK,UAAhB,KAA+B,CAAnC,EAAsC;AAClC;AACA;AACA;AACA;AACAL,MAAAA,eAAe,CAACK,UAAhB,GAA6B,CAA7B;AACAT,MAAAA,iBAAiB,GACbI,eAAe,CAACK,UAAhB,KAA+B,CAA/B,GAAmC;AAAE;AAArC,QAAqD;AAAE;AAD3D;AAEH;;AACDL,IAAAA,eAAe,CAACx/D,UAAhB,CAA2BuyB,WAA3B,CAAuCitC,eAAvC;AACH;;AACD,SAAOJ,iBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIU,oBAAJ;AACA;;AACA,SAASC,kBAAT,GAA8B;AAC1B,MAAID,oBAAoB,IAAI,IAA5B,EAAkC;AAC9B,UAAM1tC,IAAI,GAAG,OAAO32B,QAAP,KAAoB,WAApB,GAAkCA,QAAQ,CAAC22B,IAA3C,GAAkD,IAA/D;AACA0tC,IAAAA,oBAAoB,GAAG,CAAC,EAAE1tC,IAAI,KAAKA,IAAI,CAAC4tC,gBAAL,IAAyB5tC,IAAI,CAAC6tC,YAAnC,CAAN,CAAxB;AACH;;AACD,SAAOH,oBAAP;AACH;AACD;;;AACA,SAAS9nC,cAAT,CAAwB97B,OAAxB,EAAiC;AAC7B,MAAI6jE,kBAAkB,EAAtB,EAA0B;AACtB,UAAM9tC,QAAQ,GAAG/1B,OAAO,CAACg2B,WAAR,GAAsBh2B,OAAO,CAACg2B,WAAR,EAAtB,GAA8C,IAA/D,CADsB,CAEtB;AACA;;AACA,QAAI,OAAOC,UAAP,KAAsB,WAAtB,IAAqCA,UAArC,IAAmDF,QAAQ,YAAYE,UAA3E,EAAuF;AACnF,aAAOF,QAAP;AACH;AACJ;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS4F,iCAAT,GAA6C;AACzC,MAAIqQ,aAAa,GAAG,OAAOzsC,QAAP,KAAoB,WAApB,IAAmCA,QAAnC,GAChBA,QAAQ,CAACysC,aADO,GACS,IAD7B;;AAEA,SAAOA,aAAa,IAAIA,aAAa,CAACg4B,UAAtC,EAAkD;AAC9C,UAAMC,gBAAgB,GAAGj4B,aAAa,CAACg4B,UAAd,CAAyBh4B,aAAlD;;AACA,QAAIi4B,gBAAgB,KAAKj4B,aAAzB,EAAwC;AACpC;AACH,KAFD,MAGK;AACDA,MAAAA,aAAa,GAAGi4B,gBAAhB;AACH;AACJ;;AACD,SAAOj4B,aAAP;AACH;AACD;;;AACA,SAASnQ,eAAT,CAAyBv6B,KAAzB,EAAgC;AAC5B;AACA;AACA,SAAQA,KAAK,CAAC4iE,YAAN,GAAqB5iE,KAAK,CAAC4iE,YAAN,GAAqB,CAArB,CAArB,GAA+C5iE,KAAK,CAACsX,MAA7D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAAS0sC,kBAAT,GAA8B;AAC1B;AACA;AACA;AACA;AACA,SACA;AACC,WAAO6e,SAAP,KAAqB,WAArB,IAAoC,CAAC,CAACA,SAAvC,IACI;AACC,WAAOC,OAAP,KAAmB,WAAnB,IAAkC,CAAC,CAACA,OAFzC,IAGI;AACC,WAAOC,IAAP,KAAgB,WAAhB,IAA+B,CAAC,CAACA,IAJtC,IAKI;AACC,WAAOC,KAAP,KAAiB,WAAjB,IAAgC,CAAC,CAACA;AARvC;AASH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChXA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA;;AACA,SAASC,oBAAT,GAAgC;AAC5B,QAAMrjE,KAAK,CAAC,iCAAD,CAAX;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASsjE,+BAAT,GAA2C;AACvC,QAAMtjE,KAAK,CAAC,oCAAD,CAAX;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASujE,qCAAT,GAAiD;AAC7C,QAAMvjE,KAAK,CAAC,6CAAD,CAAX;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASwjE,2BAAT,GAAuC;AACnC,QAAMxjE,KAAK,CAAC,kFACR,wCADO,CAAX;AAEH;AACD;AACA;AACA;AACA;;;AACA,SAASyjE,0BAAT,GAAsC;AAClC,QAAMzjE,KAAK,CAAC,sDAAD,CAAX;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS0jE,0BAAT,GAAsC;AAClC,QAAM1jE,KAAK,CAAC,8DAAD,CAAX;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM2jE,MAAN,CAAa;AACT;AACA1e,EAAAA,MAAM,CAACpiD,IAAD,EAAO;AACT,QAAI,OAAO8C,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,UAAI9C,IAAI,IAAI,IAAZ,EAAkB;AACd4gE,QAAAA,0BAA0B;AAC7B;;AACD,UAAI5gE,IAAI,CAAC4kC,WAAL,EAAJ,EAAwB;AACpB67B,QAAAA,+BAA+B;AAClC;AACJ;;AACD,SAAKM,aAAL,GAAqB/gE,IAArB;AACA,WAAOA,IAAI,CAACoiD,MAAL,CAAY,IAAZ,CAAP;AACH;AACD;;;AACApN,EAAAA,MAAM,GAAG;AACL,QAAIh1C,IAAI,GAAG,KAAK+gE,aAAhB;;AACA,QAAI/gE,IAAI,IAAI,IAAZ,EAAkB;AACd,WAAK+gE,aAAL,GAAqB,IAArB;AACA/gE,MAAAA,IAAI,CAACg1C,MAAL;AACH,KAHD,MAIK,IAAI,OAAOlyC,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AACpD+9D,MAAAA,0BAA0B;AAC7B;AACJ;AACD;;;AACc,MAAVhW,UAAU,GAAG;AACb,WAAO,KAAKkW,aAAL,IAAsB,IAA7B;AACH;AACD;AACJ;AACA;AACA;;;AACIC,EAAAA,eAAe,CAAChhE,IAAD,EAAO;AAClB,SAAK+gE,aAAL,GAAqB/gE,IAArB;AACH;;AAnCQ;AAqCb;AACA;AACA;;;AACA,MAAMihE,eAAN,SAA8BH,MAA9B,CAAqC;AACjCppE,EAAAA,WAAW,CAACwpE,SAAD,EAAYjtB,gBAAZ,EAA8BktB,QAA9B,EAAwCC,wBAAxC,EAAkE;AACzE;AACA,SAAKF,SAAL,GAAiBA,SAAjB;AACA,SAAKjtB,gBAAL,GAAwBA,gBAAxB;AACA,SAAKktB,QAAL,GAAgBA,QAAhB;AACA,SAAKC,wBAAL,GAAgCA,wBAAhC;AACH;;AAPgC;AASrC;AACA;AACA;;;AACA,MAAM3f,cAAN,SAA6Bqf,MAA7B,CAAoC;AAChCppE,EAAAA,WAAW,CAAC2pE,QAAD,EAAWptB,gBAAX,EAA6B/rC,OAA7B,EAAsC;AAC7C;AACA,SAAK4sC,WAAL,GAAmBusB,QAAnB;AACA,SAAKptB,gBAAL,GAAwBA,gBAAxB;AACA,SAAK/rC,OAAL,GAAeA,OAAf;AACH;;AACS,MAANm4B,MAAM,GAAG;AACT,WAAO,KAAKyU,WAAL,CAAiBgkB,UAAxB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI1W,EAAAA,MAAM,CAACpiD,IAAD,EAAOkI,OAAO,GAAG,KAAKA,OAAtB,EAA+B;AACjC,SAAKA,OAAL,GAAeA,OAAf;AACA,WAAO,MAAMk6C,MAAN,CAAapiD,IAAb,CAAP;AACH;;AACDg1C,EAAAA,MAAM,GAAG;AACL,SAAK9sC,OAAL,GAAelK,SAAf;AACA,WAAO,MAAMg3C,MAAN,EAAP;AACH;;AAtB+B;AAwBpC;AACA;AACA;AACA;AACA;;;AACA,MAAMssB,SAAN,SAAwBR,MAAxB,CAA+B;AAC3BppE,EAAAA,WAAW,CAACuE,OAAD,EAAU;AACjB;AACA,SAAKA,OAAL,GAAeA,OAAO,YAAYq5B,qDAAnB,GAAgCr5B,OAAO,CAAC2pC,aAAxC,GAAwD3pC,OAAvE;AACH;;AAJ0B;AAM/B;AACA;AACA;AACA;;;AACA,MAAMslE,gBAAN,CAAuB;AACnB7pE,EAAAA,WAAW,GAAG;AACV;AACA,SAAK42D,WAAL,GAAmB,KAAnB,CAFU,CAGV;;AACA,SAAKkT,eAAL,GAAuB,IAAvB;AACH;AACD;;;AACA58B,EAAAA,WAAW,GAAG;AACV,WAAO,CAAC,CAAC,KAAK68B,eAAd;AACH;AACD;;;AACArf,EAAAA,MAAM,CAAC4H,MAAD,EAAS;AACX,QAAI,OAAOlnD,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,UAAI,CAACknD,MAAL,EAAa;AACTwW,QAAAA,oBAAoB;AACvB;;AACD,UAAI,KAAK57B,WAAL,EAAJ,EAAwB;AACpB67B,QAAAA,+BAA+B;AAClC;;AACD,UAAI,KAAKnS,WAAT,EAAsB;AAClBoS,QAAAA,qCAAqC;AACxC;AACJ;;AACD,QAAI1W,MAAM,YAAYiX,eAAtB,EAAuC;AACnC,WAAKQ,eAAL,GAAuBzX,MAAvB;AACA,aAAO,KAAK0X,qBAAL,CAA2B1X,MAA3B,CAAP;AACH,KAHD,MAIK,IAAIA,MAAM,YAAYvI,cAAtB,EAAsC;AACvC,WAAKggB,eAAL,GAAuBzX,MAAvB;AACA,aAAO,KAAK2X,oBAAL,CAA0B3X,MAA1B,CAAP,CAFuC,CAGvC;AACH,KAJI,MAKA,IAAI,KAAKwX,eAAL,IAAwBxX,MAAM,YAAYsX,SAA9C,EAAyD;AAC1D,WAAKG,eAAL,GAAuBzX,MAAvB;AACA,aAAO,KAAKwX,eAAL,CAAqBxX,MAArB,CAAP;AACH;;AACD,QAAI,OAAOlnD,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C69D,MAAAA,2BAA2B;AAC9B;AACJ;AACD;;;AACA3rB,EAAAA,MAAM,GAAG;AACL,QAAI,KAAKysB,eAAT,EAA0B;AACtB,WAAKA,eAAL,CAAqBT,eAArB,CAAqC,IAArC;;AACA,WAAKS,eAAL,GAAuB,IAAvB;AACH;;AACD,SAAKG,gBAAL;AACH;AACD;;;AACAnX,EAAAA,OAAO,GAAG;AACN,QAAI,KAAK7lB,WAAL,EAAJ,EAAwB;AACpB,WAAKoQ,MAAL;AACH;;AACD,SAAK4sB,gBAAL;;AACA,SAAKtT,WAAL,GAAmB,IAAnB;AACH;AACD;;;AACAuT,EAAAA,YAAY,CAACrpE,EAAD,EAAK;AACb,SAAKspE,UAAL,GAAkBtpE,EAAlB;AACH;;AACDopE,EAAAA,gBAAgB,GAAG;AACf,QAAI,KAAKE,UAAT,EAAqB;AACjB,WAAKA,UAAL;;AACA,WAAKA,UAAL,GAAkB,IAAlB;AACH;AACJ;;AAlEkB;AAoEvB;AACA;AACA;AACA;;;AACA,MAAMC,cAAN,SAA6BR,gBAA7B,CAA8C;AAG9C;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM/f,eAAN,SAA8B+f,gBAA9B,CAA+C;AAC3C7pE,EAAAA,WAAW;AACX;AACAsqE,EAAAA,aAFW,EAEI5I,yBAFJ,EAE+BU,OAF/B,EAEwCmI,gBAFxC;AAGX;AACJ;AACA;AACA;AACI1oC,EAAAA,SAPW,EAOA;AACP;AACA,SAAKyoC,aAAL,GAAqBA,aAArB;AACA,SAAK5I,yBAAL,GAAiCA,yBAAjC;AACA,SAAKU,OAAL,GAAeA,OAAf;AACA,SAAKmI,gBAAL,GAAwBA,gBAAxB;AACA;AACR;AACA;AACA;AACA;AACA;;AACQ,SAAKT,eAAL,GAAwBxX,MAAD,IAAY;AAC/B;AACA;AACA,UAAI,CAAC,KAAKzwB,SAAN,KAAoB,OAAOz2B,SAAP,KAAqB,WAArB,IAAoCA,SAAxD,CAAJ,EAAwE;AACpE,cAAM3F,KAAK,CAAC,kEAAD,CAAX;AACH;;AACD,YAAMlB,OAAO,GAAG+tD,MAAM,CAAC/tD,OAAvB;;AACA,UAAI,CAACA,OAAO,CAAC8D,UAAT,KAAwB,OAAO+C,SAAP,KAAqB,WAArB,IAAoCA,SAA5D,CAAJ,EAA4E;AACxE,cAAM3F,KAAK,CAAC,uDAAD,CAAX;AACH,OAT8B,CAU/B;AACA;;;AACA,YAAM+kE,UAAU,GAAG,KAAK3oC,SAAL,CAAe4oC,aAAf,CAA6B,YAA7B,CAAnB;;AACAlmE,MAAAA,OAAO,CAAC8D,UAAR,CAAmBgkB,YAAnB,CAAgCm+C,UAAhC,EAA4CjmE,OAA5C;AACA,WAAK+lE,aAAL,CAAmBpwC,WAAnB,CAA+B31B,OAA/B;AACA,WAAKwlE,eAAL,GAAuBzX,MAAvB;AACA,YAAM6X,YAAN,CAAmB,MAAM;AACrB;AACA,YAAIK,UAAU,CAACniE,UAAf,EAA2B;AACvBmiE,UAAAA,UAAU,CAACniE,UAAX,CAAsBqiE,YAAtB,CAAmCnmE,OAAnC,EAA4CimE,UAA5C;AACH;AACJ,OALD;AAMH,KAtBD;;AAuBA,SAAK3oC,SAAL,GAAiBA,SAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACImoC,EAAAA,qBAAqB,CAAC1X,MAAD,EAAS;AAC1B,UAAMqY,QAAQ,GAAGrY,MAAM,CAACoX,wBAAP,IAAmC,KAAKhI,yBAAzD;AACA,UAAMkJ,gBAAgB,GAAGD,QAAQ,CAACE,uBAAT,CAAiCvY,MAAM,CAACkX,SAAxC,CAAzB;AACA,QAAIsB,YAAJ,CAH0B,CAI1B;AACA;AACA;AACA;;AACA,QAAIxY,MAAM,CAAC/V,gBAAX,EAA6B;AACzBuuB,MAAAA,YAAY,GAAGxY,MAAM,CAAC/V,gBAAP,CAAwBwuB,eAAxB,CAAwCH,gBAAxC,EAA0DtY,MAAM,CAAC/V,gBAAP,CAAwBp6C,MAAlF,EAA0FmwD,MAAM,CAACmX,QAAP,IAAmBnX,MAAM,CAAC/V,gBAAP,CAAwBktB,QAArI,CAAf;AACA,WAAKU,YAAL,CAAkB,MAAMW,YAAY,CAACnpE,OAAb,EAAxB;AACH,KAHD,MAIK;AACDmpE,MAAAA,YAAY,GAAGF,gBAAgB,CAACxsD,MAAjB,CAAwBk0C,MAAM,CAACmX,QAAP,IAAmB,KAAKc,gBAAhD,CAAf;;AACA,WAAKnI,OAAL,CAAa4I,UAAb,CAAwBF,YAAY,CAACG,QAArC;;AACA,WAAKd,YAAL,CAAkB,MAAM;AACpB,aAAK/H,OAAL,CAAa8I,UAAb,CAAwBJ,YAAY,CAACG,QAArC;;AACAH,QAAAA,YAAY,CAACnpE,OAAb;AACH,OAHD;AAIH,KAnByB,CAoB1B;AACA;;;AACA,SAAK2oE,aAAL,CAAmBpwC,WAAnB,CAA+B,KAAKixC,qBAAL,CAA2BL,YAA3B,CAA/B;AACA,SAAKf,eAAL,GAAuBzX,MAAvB;AACA,WAAOwY,YAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIb,EAAAA,oBAAoB,CAAC3X,MAAD,EAAS;AACzB,QAAI8Y,aAAa,GAAG9Y,MAAM,CAAC/V,gBAA3B;AACA,QAAI8uB,OAAO,GAAGD,aAAa,CAACjuB,kBAAd,CAAiCmV,MAAM,CAAClV,WAAxC,EAAqDkV,MAAM,CAAC9hD,OAA5D,CAAd,CAFyB,CAGzB;AACA;AACA;AACA;;AACA66D,IAAAA,OAAO,CAACC,SAAR,CAAkBzqE,OAAlB,CAA0By5B,QAAQ,IAAI,KAAKgwC,aAAL,CAAmBpwC,WAAnB,CAA+BI,QAA/B,CAAtC,EAPyB,CAQzB;AACA;AACA;;AACA+wC,IAAAA,OAAO,CAACE,aAAR;AACA,SAAKpB,YAAL,CAAmB,MAAM;AACrB,UAAI/kD,KAAK,GAAGgmD,aAAa,CAACjkE,OAAd,CAAsBkkE,OAAtB,CAAZ;;AACA,UAAIjmD,KAAK,KAAK,CAAC,CAAf,EAAkB;AACdgmD,QAAAA,aAAa,CAAC73C,MAAd,CAAqBnO,KAArB;AACH;AACJ,KALD;AAMA,SAAK2kD,eAAL,GAAuBzX,MAAvB,CAlByB,CAmBzB;;AACA,WAAO+Y,OAAP;AACH;AACD;AACJ;AACA;;;AACItY,EAAAA,OAAO,GAAG;AACN,UAAMA,OAAN;;AACA,QAAI,KAAKuX,aAAL,CAAmBjiE,UAAnB,IAAiC,IAArC,EAA2C;AACvC,WAAKiiE,aAAL,CAAmBjiE,UAAnB,CAA8BuyB,WAA9B,CAA0C,KAAK0vC,aAA/C;AACH;AACJ;AACD;;;AACAa,EAAAA,qBAAqB,CAACL,YAAD,EAAe;AAChC,WAAOA,YAAY,CAACG,QAAb,CAAsBK,SAAtB,CAAgC,CAAhC,CAAP;AACH;;AAnH0C;AAqH/C;AACA;AACA;AACA;;;AACA,MAAME,aAAN,SAA4B1hB,eAA5B,CAA4C;AAG5C;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;IACM2hB;AAAN,QAAMA,SAAN,SAAwB1hB,cAAxB,CAAuC;AACnC/pD,IAAAA,WAAW,CAACo9C,WAAD,EAAcb,gBAAd,EAAgC;AACvC,YAAMa,WAAN,EAAmBb,gBAAnB;AACH;;AAHkC;;AAKvCkvB,EAAAA,SAAS,CAAC5gE,IAAV,GAAiB,SAAS6gE,iBAAT,CAA2B3gE,CAA3B,EAA8B;AAAE,WAAO,KAAKA,CAAC,IAAI0gE,SAAV,EAAqB9nE,+DAAA,CAAyBA,sDAAzB,CAArB,EAAmEA,+DAAA,CAAyBA,2DAAzB,CAAnE,CAAP;AAA+H,GAAhL;;AACA8nE,EAAAA,SAAS,CAAC58B,IAAV,GAAiB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEqtE,SAAR;AAAmB18B,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,CAAD,CAA9B;AAAuDE,IAAAA,QAAQ,EAAE,CAAC,WAAD,CAAjE;AAAgFC,IAAAA,QAAQ,EAAE,CAACvrC,wEAAD;AAA1F,GAAzB,CAA/B;SANM8nE;;;AAWN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOrgE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAM4F,CAN3G;AAOA;AACA;AACA;AACA;;;IACMwgE;AAAN,QAAMA,uBAAN,SAAsCH,SAAtC,CAAgD;;AAEhDG,EAAAA,uBAAuB,CAAC/gE,IAAxB,GAA+B,aAAc,YAAY;AAAE,QAAIghE,oCAAJ;AAA0C,WAAO,SAASC,+BAAT,CAAyC/gE,CAAzC,EAA4C;AAAE,aAAO,CAAC8gE,oCAAoC,KAAKA,oCAAoC,GAAGloE,mEAAA,CAA6BioE,uBAA7B,CAA5C,CAArC,EAAyI7gE,CAAC,IAAI6gE,uBAA9I,CAAP;AAAgL,KAArO;AAAwO,GAAhS,EAA7C;;AACAA,EAAAA,uBAAuB,CAAC/8B,IAAxB,GAA+B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEwtE,uBAAR;AAAiC78B,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,YAAL,EAAmB,EAAnB,CAAD,EAAyB,CAAC,EAAD,EAAK,QAAL,EAAe,EAAf,CAAzB,CAA5C;AAA0FE,IAAAA,QAAQ,EAAE,CAAC,WAAD,CAApG;AAAmHC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC;AAC/M83C,MAAAA,OAAO,EAAEgwB,SADsM;AAE/M/vB,MAAAA,WAAW,EAAEkwB;AAFkM,KAAD,CAA1B,CAAD,EAGlLjoE,wEAHkL;AAA7H,GAAzB,CAA7C;SAHMioE;;;AAON;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOxgE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAUO,CAVtB;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM4gE;AAAN,QAAMA,eAAN,SAA8BnC,gBAA9B,CAA+C;AAC3C7pE,IAAAA,WAAW,CAAC0hE,yBAAD,EAA4BuK,iBAA5B;AACX;AACJ;AACA;AACA;AACIpqC,IAAAA,SALW,EAKA;AACP;AACA,WAAK6/B,yBAAL,GAAiCA,yBAAjC;AACA,WAAKuK,iBAAL,GAAyBA,iBAAzB;AACA;;AACA,WAAKlxB,cAAL,GAAsB,KAAtB;AACA;;AACA,WAAKmxB,QAAL,GAAgB,IAAIluC,uDAAJ,EAAhB;AACA;AACR;AACA;AACA;AACA;AACA;;AACQ,WAAK8rC,eAAL,GAAwBxX,MAAD,IAAY;AAC/B;AACA;AACA,YAAI,CAAC,KAAKzwB,SAAN,KAAoB,OAAOz2B,SAAP,KAAqB,WAArB,IAAoCA,SAAxD,CAAJ,EAAwE;AACpE,gBAAM3F,KAAK,CAAC,kEAAD,CAAX;AACH;;AACD,cAAMlB,OAAO,GAAG+tD,MAAM,CAAC/tD,OAAvB;;AACA,YAAI,CAACA,OAAO,CAAC8D,UAAT,KAAwB,OAAO+C,SAAP,KAAqB,WAArB,IAAoCA,SAA5D,CAAJ,EAA4E;AACxE,gBAAM3F,KAAK,CAAC,uDAAD,CAAX;AACH,SAT8B,CAU/B;AACA;;;AACA,cAAM+kE,UAAU,GAAG,KAAK3oC,SAAL,CAAe4oC,aAAf,CAA6B,YAA7B,CAAnB;;AACAnY,QAAAA,MAAM,CAACgX,eAAP,CAAuB,IAAvB;AACA/kE,QAAAA,OAAO,CAAC8D,UAAR,CAAmBgkB,YAAnB,CAAgCm+C,UAAhC,EAA4CjmE,OAA5C;;AACA,aAAK4nE,YAAL,GAAoBjyC,WAApB,CAAgC31B,OAAhC;;AACA,aAAKwlE,eAAL,GAAuBzX,MAAvB;AACA,cAAM6X,YAAN,CAAmB,MAAM;AACrB,cAAIK,UAAU,CAACniE,UAAf,EAA2B;AACvBmiE,YAAAA,UAAU,CAACniE,UAAX,CAAsBqiE,YAAtB,CAAmCnmE,OAAnC,EAA4CimE,UAA5C;AACH;AACJ,SAJD;AAKH,OAtBD;;AAuBA,WAAK3oC,SAAL,GAAiBA,SAAjB;AACH;AACD;;;AACU,QAANywB,MAAM,GAAG;AACT,aAAO,KAAKyX,eAAZ;AACH;;AACS,QAANzX,MAAM,CAACA,MAAD,EAAS;AACf;AACA;AACA;AACA;AACA,UAAI,KAAKplB,WAAL,MAAsB,CAAColB,MAAvB,IAAiC,CAAC,KAAKvX,cAA3C,EAA2D;AACvD;AACH;;AACD,UAAI,KAAK7N,WAAL,EAAJ,EAAwB;AACpB,cAAMoQ,MAAN;AACH;;AACD,UAAIgV,MAAJ,EAAY;AACR,cAAM5H,MAAN,CAAa4H,MAAb;AACH;;AACD,WAAKyX,eAAL,GAAuBzX,MAAvB;AACH;AACD;;;AACe,QAAX8Z,WAAW,GAAG;AACd,aAAO,KAAKC,YAAZ;AACH;;AACDC,IAAAA,QAAQ,GAAG;AACP,WAAKvxB,cAAL,GAAsB,IAAtB;AACH;;AACD/X,IAAAA,WAAW,GAAG;AACV,YAAM+vB,OAAN;AACA,WAAKgX,eAAL,GAAuB,IAAvB;AACA,WAAKsC,YAAL,GAAoB,IAApB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIrC,IAAAA,qBAAqB,CAAC1X,MAAD,EAAS;AAC1BA,MAAAA,MAAM,CAACgX,eAAP,CAAuB,IAAvB,EAD0B,CAE1B;AACA;;AACA,YAAM/sB,gBAAgB,GAAG+V,MAAM,CAAC/V,gBAAP,IAA2B,IAA3B,GACrB+V,MAAM,CAAC/V,gBADc,GAErB,KAAK0vB,iBAFT;AAGA,YAAMtB,QAAQ,GAAGrY,MAAM,CAACoX,wBAAP,IAAmC,KAAKhI,yBAAzD;AACA,YAAMkJ,gBAAgB,GAAGD,QAAQ,CAACE,uBAAT,CAAiCvY,MAAM,CAACkX,SAAxC,CAAzB;AACA,YAAM+C,GAAG,GAAGhwB,gBAAgB,CAACwuB,eAAjB,CAAiCH,gBAAjC,EAAmDruB,gBAAgB,CAACp6C,MAApE,EAA4EmwD,MAAM,CAACmX,QAAP,IAAmBltB,gBAAgB,CAACktB,QAAhH,CAAZ,CAT0B,CAU1B;AACA;AACA;;AACA,UAAIltB,gBAAgB,KAAK,KAAK0vB,iBAA9B,EAAiD;AAC7C,aAAKE,YAAL,GAAoBjyC,WAApB,CAAgCqyC,GAAG,CAACtB,QAAJ,CAAaK,SAAb,CAAuB,CAAvB,CAAhC;AACH;;AACD,YAAMnB,YAAN,CAAmB,MAAMoC,GAAG,CAAC5qE,OAAJ,EAAzB;AACA,WAAKooE,eAAL,GAAuBzX,MAAvB;AACA,WAAK+Z,YAAL,GAAoBE,GAApB;AACA,WAAKL,QAAL,CAAc5zB,IAAd,CAAmBi0B,GAAnB;AACA,aAAOA,GAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACItC,IAAAA,oBAAoB,CAAC3X,MAAD,EAAS;AACzBA,MAAAA,MAAM,CAACgX,eAAP,CAAuB,IAAvB;;AACA,YAAM+B,OAAO,GAAG,KAAKY,iBAAL,CAAuB9uB,kBAAvB,CAA0CmV,MAAM,CAAClV,WAAjD,EAA8DkV,MAAM,CAAC9hD,OAArE,CAAhB;;AACA,YAAM25D,YAAN,CAAmB,MAAM,KAAK8B,iBAAL,CAAuBrzD,KAAvB,EAAzB;AACA,WAAKmxD,eAAL,GAAuBzX,MAAvB;AACA,WAAK+Z,YAAL,GAAoBhB,OAApB;AACA,WAAKa,QAAL,CAAc5zB,IAAd,CAAmB+yB,OAAnB;AACA,aAAOA,OAAP;AACH;AACD;;;AACAc,IAAAA,YAAY,GAAG;AACX,YAAMj+B,aAAa,GAAG,KAAK+9B,iBAAL,CAAuB1nE,OAAvB,CAA+B2pC,aAArD,CADW,CAEX;AACA;;AACA,aAAQA,aAAa,CAACtK,QAAd,KAA2BsK,aAAa,CAACrK,YAAzC,GACJqK,aADI,GACYA,aAAa,CAAC7lC,UADlC;AAEH;;AA9H0C;;AAgI/C2jE,EAAAA,eAAe,CAACnhE,IAAhB,GAAuB,SAAS2hE,uBAAT,CAAiCzhE,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAIihE,eAAV,EAA2BroE,+DAAA,CAAyBA,mEAAzB,CAA3B,EAAsFA,+DAAA,CAAyBA,2DAAzB,CAAtF,EAAyIA,+DAAA,CAAyB25B,qDAAzB,CAAzI,CAAP;AAAsL,GAAnP;;AACA0uC,EAAAA,eAAe,CAACn9B,IAAhB,GAAuB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE4tE,eAAR;AAAyBj9B,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,iBAAL,EAAwB,EAAxB,CAAD,CAApC;AAAmEC,IAAAA,MAAM,EAAE;AAAEsjB,MAAAA,MAAM,EAAE,CAAC,iBAAD,EAAoB,QAApB;AAAV,KAA3E;AAAsH9Z,IAAAA,OAAO,EAAE;AAAE0zB,MAAAA,QAAQ,EAAE;AAAZ,KAA/H;AAAyJj9B,IAAAA,QAAQ,EAAE,CAAC,iBAAD,CAAnK;AAAwLC,IAAAA,QAAQ,EAAE,CAACvrC,wEAAD;AAAlM,GAAzB,CAArC;SAjIMqoE;;;AA0IN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO5gE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAYC,CAZhB;AAaA;AACA;AACA;AACA;;;IACMqhE;AAAN,QAAMA,mBAAN,SAAkCT,eAAlC,CAAkD;;AAElDS,EAAAA,mBAAmB,CAAC5hE,IAApB,GAA2B,aAAc,YAAY;AAAE,QAAI6hE,gCAAJ;AAAsC,WAAO,SAASC,2BAAT,CAAqC5hE,CAArC,EAAwC;AAAE,aAAO,CAAC2hE,gCAAgC,KAAKA,gCAAgC,GAAG/oE,mEAAA,CAA6B8oE,mBAA7B,CAAxC,CAAjC,EAA6H1hE,CAAC,IAAI0hE,mBAAlI,CAAP;AAAgK,KAAjN;AAAoN,GAAxQ,EAAzC;;AACAA,EAAAA,mBAAmB,CAAC59B,IAApB,GAA2B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEquE,mBAAR;AAA6B19B,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,CAAD,EAA4B,CAAC,EAAD,EAAK,YAAL,EAAmB,EAAnB,CAA5B,CAAxC;AAA6FC,IAAAA,MAAM,EAAE;AAAEsjB,MAAAA,MAAM,EAAE,CAAC,eAAD,EAAkB,QAAlB;AAAV,KAArG;AAA8IrjB,IAAAA,QAAQ,EAAE,CAAC,eAAD,CAAxJ;AAA2KC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC;AACnQ83C,MAAAA,OAAO,EAAEuwB,eAD0P;AAEnQtwB,MAAAA,WAAW,EAAE+wB;AAFsP,KAAD,CAA1B,CAAD,EAGtO9oE,wEAHsO;AAArL,GAAzB,CAAzC;SAHM8oE;;;AAON;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOrhE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAWO,CAXtB;;IAYM4+C;AAAN,QAAMA,YAAN,CAAmB;;AAEnBA,EAAAA,YAAY,CAACn/C,IAAb,GAAoB,SAAS+hE,oBAAT,CAA8B7hE,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAIi/C,YAAV,GAAP;AAAmC,GAA1F;;AACAA,EAAAA,YAAY,CAACrQ,IAAb,GAAoB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAE4rD;AAAR,GAAxB,CAAlC;AACAA,EAAAA,YAAY,CAACnQ,IAAb,GAAoB,aAAcl2C,8DAAA,CAAwB,EAAxB,CAAlC;SAJMqmD;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO5+C,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMO,CANtB;;AAOA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0BqmD,YAA1B,EAAwC;AAAE9P,IAAAA,YAAY,EAAE,CAACuxB,SAAD,EAAYO,eAAZ,EAA6BJ,uBAA7B,EAAsDa,mBAAtD,CAAhB;AAA4FtyB,IAAAA,OAAO,EAAE,CAACsxB,SAAD,EAAYO,eAAZ,EAA6BJ,uBAA7B,EAAsDa,mBAAtD;AAArG,GAAxC,CAAnD;AAAgR,CAA/R;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMI,cAAN,CAAqB;AACjB7sE,EAAAA,WAAW,CAAC8sE,eAAD,EAAkBC,aAAlB,EAAiC;AACxC,SAAKD,eAAL,GAAuBA,eAAvB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACH;;AACDjmE,EAAAA,GAAG,CAACoE,KAAD,EAAQ8hE,aAAR,EAAuB;AACtB,UAAMpmE,KAAK,GAAG,KAAKmmE,aAAL,CAAmBjmE,GAAnB,CAAuBoE,KAAvB,CAAd;;AACA,QAAI,OAAOtE,KAAP,KAAiB,WAArB,EAAkC;AAC9B,aAAOA,KAAP;AACH;;AACD,WAAO,KAAKkmE,eAAL,CAAqBhmE,GAArB,CAAyBoE,KAAzB,EAAgC8hE,aAAhC,CAAP;AACH;;AAXgB;AAcrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3oBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA;AACA;AACA;AACA;AAEA,MAAMiB,GAAG,GAAG,CAAC,gBAAD,CAAZ;AACA,MAAMC,GAAG,GAAG,CAAC,GAAD,CAAZ;AACA,MAAMC,uBAAuB,gBAAG,IAAIrwC,yDAAJ,CAAmB,yBAAnB,CAAhC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA,MAAMswC,8BAAN,CAAqC;AACjC;AACJ;AACA;AACA;AACA;AACIpuE,EAAAA,WAAW,CAACquE,QAAD,EAAWC,WAAX,EAAwBC,WAAxB,EAAqC;AAC5C,SAAKC,oBAAL,GAA4B,IAAIrwC,yCAAJ,EAA5B;AACA;;AACA,SAAKswC,mBAAL,GAA2B,KAAKD,oBAAL,CAA0BpoC,IAA1B,CAA+BxG,oEAAoB,EAAnD,CAA3B;AACA;;AACA,SAAK8uC,SAAL,GAAiB,IAAjB;AACA,SAAKC,SAAL,GAAiBN,QAAjB;AACA,SAAKO,YAAL,GAAoBN,WAApB;AACA,SAAKO,YAAL,GAAoBN,WAApB;AACH;AACD;AACJ;AACA;AACA;;;AACI7jB,EAAAA,MAAM,CAACY,QAAD,EAAW;AACb,SAAKojB,SAAL,GAAiBpjB,QAAjB;;AACA,SAAKwjB,uBAAL;;AACA,SAAKC,oBAAL;AACH;AACD;;;AACAzxB,EAAAA,MAAM,GAAG;AACL,SAAKkxB,oBAAL,CAA0B17B,QAA1B;;AACA,SAAK47B,SAAL,GAAiB,IAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIM,EAAAA,uBAAuB,CAACX,QAAD,EAAWC,WAAX,EAAwBC,WAAxB,EAAqC;AACxD,QAAIA,WAAW,GAAGD,WAAd,KAA8B,OAAOljE,SAAP,KAAqB,WAArB,IAAoCA,SAAlE,CAAJ,EAAkF;AAC9E,YAAM3F,KAAK,CAAC,8EAAD,CAAX;AACH;;AACD,SAAKkpE,SAAL,GAAiBN,QAAjB;AACA,SAAKO,YAAL,GAAoBN,WAApB;AACA,SAAKO,YAAL,GAAoBN,WAApB;;AACA,SAAKO,uBAAL;;AACA,SAAKC,oBAAL;AACH;AACD;;;AACAE,EAAAA,iBAAiB,GAAG;AAChB,SAAKF,oBAAL;AACH;AACD;;;AACAG,EAAAA,mBAAmB,GAAG;AAClB,SAAKJ,uBAAL;;AACA,SAAKC,oBAAL;AACH;AACD;;;AACAI,EAAAA,iBAAiB,GAAG,CAAG;AACvB;;;AACAC,EAAAA,uBAAuB,GAAG,CAAG;AAC7B;AACJ;AACA;AACA;AACA;;;AACIC,EAAAA,aAAa,CAACjqD,KAAD,EAAQkqD,QAAR,EAAkB;AAC3B,QAAI,KAAKZ,SAAT,EAAoB;AAChB,WAAKA,SAAL,CAAea,cAAf,CAA8BnqD,KAAK,GAAG,KAAKupD,SAA3C,EAAsDW,QAAtD;AACH;AACJ;AACD;;;AACAR,EAAAA,uBAAuB,GAAG;AACtB,QAAI,CAAC,KAAKJ,SAAV,EAAqB;AACjB;AACH;;AACD,SAAKA,SAAL,CAAec,mBAAf,CAAmC,KAAKd,SAAL,CAAee,aAAf,KAAiC,KAAKd,SAAzE;AACH;AACD;;;AACAI,EAAAA,oBAAoB,GAAG;AACnB,QAAI,CAAC,KAAKL,SAAV,EAAqB;AACjB;AACH;;AACD,UAAMgB,aAAa,GAAG,KAAKhB,SAAL,CAAeiB,gBAAf,EAAtB;;AACA,UAAMC,QAAQ,GAAG;AAAElvD,MAAAA,KAAK,EAAEgvD,aAAa,CAAChvD,KAAvB;AAA8BmvD,MAAAA,GAAG,EAAEH,aAAa,CAACG;AAAjD,KAAjB;;AACA,UAAMC,YAAY,GAAG,KAAKpB,SAAL,CAAenjB,eAAf,EAArB;;AACA,UAAMwkB,UAAU,GAAG,KAAKrB,SAAL,CAAee,aAAf,EAAnB;;AACA,QAAIO,YAAY,GAAG,KAAKtB,SAAL,CAAeuB,mBAAf,EAAnB,CARmB,CASnB;;;AACA,QAAIC,iBAAiB,GAAI,KAAKvB,SAAL,GAAiB,CAAlB,GAAuBqB,YAAY,GAAG,KAAKrB,SAA3C,GAAuD,CAA/E,CAVmB,CAWnB;;AACA,QAAIiB,QAAQ,CAACC,GAAT,GAAeE,UAAnB,EAA+B;AAC3B;AACA,YAAMI,eAAe,GAAGptE,IAAI,CAACqtE,IAAL,CAAUN,YAAY,GAAG,KAAKnB,SAA9B,CAAxB;AACA,YAAM0B,eAAe,GAAGttE,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYD,IAAI,CAACI,GAAL,CAAS+sE,iBAAT,EAA4BH,UAAU,GAAGI,eAAzC,CAAZ,CAAxB,CAH2B,CAI3B;AACA;;AACA,UAAID,iBAAiB,IAAIG,eAAzB,EAA0C;AACtCH,QAAAA,iBAAiB,GAAGG,eAApB;AACAL,QAAAA,YAAY,GAAGK,eAAe,GAAG,KAAK1B,SAAtC;AACAiB,QAAAA,QAAQ,CAAClvD,KAAT,GAAiB3d,IAAI,CAACi8D,KAAL,CAAWkR,iBAAX,CAAjB;AACH;;AACDN,MAAAA,QAAQ,CAACC,GAAT,GAAe9sE,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYD,IAAI,CAACI,GAAL,CAAS4sE,UAAT,EAAqBH,QAAQ,CAAClvD,KAAT,GAAiByvD,eAAtC,CAAZ,CAAf;AACH;;AACD,UAAMG,WAAW,GAAGN,YAAY,GAAGJ,QAAQ,CAAClvD,KAAT,GAAiB,KAAKiuD,SAAzD;;AACA,QAAI2B,WAAW,GAAG,KAAK1B,YAAnB,IAAmCgB,QAAQ,CAAClvD,KAAT,IAAkB,CAAzD,EAA4D;AACxD,YAAM6vD,WAAW,GAAGxtE,IAAI,CAACqtE,IAAL,CAAU,CAAC,KAAKvB,YAAL,GAAoByB,WAArB,IAAoC,KAAK3B,SAAnD,CAApB;AACAiB,MAAAA,QAAQ,CAAClvD,KAAT,GAAiB3d,IAAI,CAACC,GAAL,CAAS,CAAT,EAAY4sE,QAAQ,CAAClvD,KAAT,GAAiB6vD,WAA7B,CAAjB;AACAX,MAAAA,QAAQ,CAACC,GAAT,GAAe9sE,IAAI,CAACI,GAAL,CAAS4sE,UAAT,EAAqBhtE,IAAI,CAACqtE,IAAL,CAAUF,iBAAiB,GAAG,CAACJ,YAAY,GAAG,KAAKlB,YAArB,IAAqC,KAAKD,SAAxE,CAArB,CAAf;AACH,KAJD,MAKK;AACD,YAAM6B,SAAS,GAAGZ,QAAQ,CAACC,GAAT,GAAe,KAAKlB,SAApB,IAAiCqB,YAAY,GAAGF,YAAhD,CAAlB;;AACA,UAAIU,SAAS,GAAG,KAAK5B,YAAjB,IAAiCgB,QAAQ,CAACC,GAAT,IAAgBE,UAArD,EAAiE;AAC7D,cAAMU,SAAS,GAAG1tE,IAAI,CAACqtE,IAAL,CAAU,CAAC,KAAKvB,YAAL,GAAoB2B,SAArB,IAAkC,KAAK7B,SAAjD,CAAlB;;AACA,YAAI8B,SAAS,GAAG,CAAhB,EAAmB;AACfb,UAAAA,QAAQ,CAACC,GAAT,GAAe9sE,IAAI,CAACI,GAAL,CAAS4sE,UAAT,EAAqBH,QAAQ,CAACC,GAAT,GAAeY,SAApC,CAAf;AACAb,UAAAA,QAAQ,CAAClvD,KAAT,GAAiB3d,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYD,IAAI,CAACi8D,KAAL,CAAWkR,iBAAiB,GAAG,KAAKtB,YAAL,GAAoB,KAAKD,SAAxD,CAAZ,CAAjB;AACH;AACJ;AACJ;;AACD,SAAKD,SAAL,CAAegC,gBAAf,CAAgCd,QAAhC;;AACA,SAAKlB,SAAL,CAAeiC,wBAAf,CAAwC,KAAKhC,SAAL,GAAiBiB,QAAQ,CAAClvD,KAAlE;;AACA,SAAK8tD,oBAAL,CAA0B/+D,IAA1B,CAA+B1M,IAAI,CAACi8D,KAAL,CAAWkR,iBAAX,CAA/B;AACH;;AAzHgC;AA2HrC;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASU,sCAAT,CAAgDC,YAAhD,EAA8D;AAC1D,SAAOA,YAAY,CAAC3e,eAApB;AACH;AACD;;;IACM4e;AAAN,QAAMA,yBAAN,CAAgC;AAC5B9wE,IAAAA,WAAW,GAAG;AACV,WAAK2uE,SAAL,GAAiB,EAAjB;AACA,WAAKC,YAAL,GAAoB,GAApB;AACA,WAAKC,YAAL,GAAoB,GAApB;AACA;;AACA,WAAK3c,eAAL,GAAuB,IAAIkc,8BAAJ,CAAmC,KAAKC,QAAxC,EAAkD,KAAKC,WAAvD,EAAoE,KAAKC,WAAzE,CAAvB;AACH;AACD;;;AACY,QAARF,QAAQ,GAAG;AAAE,aAAO,KAAKM,SAAZ;AAAwB;;AAC7B,QAARN,QAAQ,CAACznE,KAAD,EAAQ;AAAE,WAAK+nE,SAAL,GAAiB3nB,2EAAoB,CAACpgD,KAAD,CAArC;AAA+C;AACrE;AACJ;AACA;AACA;;;AACmB,QAAX0nE,WAAW,GAAG;AAAE,aAAO,KAAKM,YAAZ;AAA2B;;AAChC,QAAXN,WAAW,CAAC1nE,KAAD,EAAQ;AAAE,WAAKgoE,YAAL,GAAoB5nB,2EAAoB,CAACpgD,KAAD,CAAxC;AAAkD;AAC3E;AACJ;AACA;;;AACmB,QAAX2nE,WAAW,GAAG;AAAE,aAAO,KAAKM,YAAZ;AAA2B;;AAChC,QAAXN,WAAW,CAAC3nE,KAAD,EAAQ;AAAE,WAAKioE,YAAL,GAAoB7nB,2EAAoB,CAACpgD,KAAD,CAAxC;AAAkD;;AAC3E4nC,IAAAA,WAAW,GAAG;AACV,WAAK0jB,eAAL,CAAqB8c,uBAArB,CAA6C,KAAKX,QAAlD,EAA4D,KAAKC,WAAjE,EAA8E,KAAKC,WAAnF;AACH;;AAxB2B;;AA0BhCuC,EAAAA,yBAAyB,CAACjmE,IAA1B,GAAiC,SAASkmE,iCAAT,CAA2ChmE,CAA3C,EAA8C;AAAE,WAAO,KAAKA,CAAC,IAAI+lE,yBAAV,GAAP;AAAgD,GAAjI;;AACAA,EAAAA,yBAAyB,CAACjiC,IAA1B,GAAiC,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE0yE,yBAAR;AAAmC/hC,IAAAA,SAAS,EAAE,CAAC,CAAC,6BAAD,EAAgC,UAAhC,EAA4C,EAA5C,CAAD,CAA9C;AAAiGC,IAAAA,MAAM,EAAE;AAAEq/B,MAAAA,QAAQ,EAAE,UAAZ;AAAwBC,MAAAA,WAAW,EAAE,aAArC;AAAoDC,MAAAA,WAAW,EAAE;AAAjE,KAAzG;AAA2Lr/B,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC;AACzR83C,MAAAA,OAAO,EAAE0yB,uBADgR;AAEzRzJ,MAAAA,UAAU,EAAEkM,sCAF6Q;AAGzRnM,MAAAA,IAAI,EAAE,CAACwI,yDAAU,CAAC,MAAM6D,yBAAP,CAAX;AAHmR,KAAD,CAA1B,CAAD,EAI5PntE,kEAJ4P;AAArM,GAAzB,CAA/C;SA3BMmtE;;;AAqCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO1lE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAgBC,CAhBhB;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAM4lE,mBAAmB,GAAG,EAA5B;AACA;AACA;AACA;AACA;;IACMnoB;AAAN,QAAMA,gBAAN,CAAuB;AACnB7oD,IAAAA,WAAW,CAACqrC,OAAD,EAAUrC,SAAV,EAAqBllC,QAArB,EAA+B;AACtC,WAAKunC,OAAL,GAAeA,OAAf;AACA,WAAKrC,SAAL,GAAiBA,SAAjB;AACA;;AACA,WAAKioC,SAAL,GAAiB,IAAI9yC,yCAAJ,EAAjB;AACA;;AACA,WAAK+yC,mBAAL,GAA2B,IAA3B;AACA;;AACA,WAAKC,cAAL,GAAsB,CAAtB;AACA;AACR;AACA;AACA;;AACQ,WAAKxkB,gBAAL,GAAwB,IAAI9lD,GAAJ,EAAxB;AACA,WAAKg7B,SAAL,GAAiB/9B,QAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIihB,IAAAA,QAAQ,CAACo5C,UAAD,EAAa;AACjB,UAAI,CAAC,KAAKxR,gBAAL,CAAsBl6C,GAAtB,CAA0B0rD,UAA1B,CAAL,EAA4C;AACxC,aAAKxR,gBAAL,CAAsB5lD,GAAtB,CAA0Bo3D,UAA1B,EAAsCA,UAAU,CAACiT,eAAX,GACjCnsC,SADiC,CACvB,MAAM,KAAKgsC,SAAL,CAAexhE,IAAf,CAAoB0uD,UAApB,CADiB,CAAtC;AAEH;AACJ;AACD;AACJ;AACA;AACA;;;AACI71C,IAAAA,UAAU,CAAC61C,UAAD,EAAa;AACnB,YAAMkT,mBAAmB,GAAG,KAAK1kB,gBAAL,CAAsB7lD,GAAtB,CAA0Bq3D,UAA1B,CAA5B;;AACA,UAAIkT,mBAAJ,EAAyB;AACrBA,QAAAA,mBAAmB,CAAClrC,WAApB;AACA,aAAKwmB,gBAAL,CAAsBl0C,MAAtB,CAA6B0lD,UAA7B;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI/R,IAAAA,QAAQ,CAACklB,aAAa,GAAGN,mBAAjB,EAAsC;AAC1C,UAAI,CAAC,KAAKhoC,SAAL,CAAeplC,SAApB,EAA+B;AAC3B,eAAO06B,wCAAE,EAAT;AACH;;AACD,aAAO,IAAI2oB,4CAAJ,CAAgBQ,QAAD,IAAc;AAChC,YAAI,CAAC,KAAKypB,mBAAV,EAA+B;AAC3B,eAAKK,kBAAL;AACH,SAH+B,CAIhC;AACA;;;AACA,cAAM3pB,YAAY,GAAG0pB,aAAa,GAAG,CAAhB,GACjB,KAAKL,SAAL,CAAe7qC,IAAf,CAAoBwnC,yDAAS,CAAC0D,aAAD,CAA7B,EAA8CrsC,SAA9C,CAAwDwiB,QAAxD,CADiB,GAEjB,KAAKwpB,SAAL,CAAehsC,SAAf,CAAyBwiB,QAAzB,CAFJ;AAGA,aAAK0pB,cAAL;AACA,eAAO,MAAM;AACTvpB,UAAAA,YAAY,CAACzhB,WAAb;AACA,eAAKgrC,cAAL;;AACA,cAAI,CAAC,KAAKA,cAAV,EAA0B;AACtB,iBAAKK,qBAAL;AACH;AACJ,SAND;AAOH,OAjBM,CAAP;AAkBH;;AACDxuC,IAAAA,WAAW,GAAG;AACV,WAAKwuC,qBAAL;;AACA,WAAK7kB,gBAAL,CAAsB9rD,OAAtB,CAA8B,CAACuO,CAAD,EAAI0hD,SAAJ,KAAkB,KAAKxoC,UAAL,CAAgBwoC,SAAhB,CAAhD;;AACA,WAAKmgB,SAAL,CAAen+B,QAAf;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI2+B,IAAAA,gBAAgB,CAACC,mBAAD,EAAsBJ,aAAtB,EAAqC;AACjD,YAAMK,SAAS,GAAG,KAAKC,2BAAL,CAAiCF,mBAAjC,CAAlB;AACA,aAAO,KAAKtlB,QAAL,CAAcklB,aAAd,EAA6BlrC,IAA7B,CAAkCtsB,sDAAM,CAACqD,MAAM,IAAI;AACtD,eAAO,CAACA,MAAD,IAAWw0D,SAAS,CAACxqE,OAAV,CAAkBgW,MAAlB,IAA4B,CAAC,CAA/C;AACH,OAF8C,CAAxC,CAAP;AAGH;AACD;;;AACAy0D,IAAAA,2BAA2B,CAACF,mBAAD,EAAsB;AAC7C,YAAMG,mBAAmB,GAAG,EAA5B;AACA,WAAKllB,gBAAL,CAAsB9rD,OAAtB,CAA8B,CAACyzC,aAAD,EAAgB6pB,UAAhB,KAA+B;AACzD,YAAI,KAAK2T,0BAAL,CAAgC3T,UAAhC,EAA4CuT,mBAA5C,CAAJ,EAAsE;AAClEG,UAAAA,mBAAmB,CAAC7wE,IAApB,CAAyBm9D,UAAzB;AACH;AACJ,OAJD;AAKA,aAAO0T,mBAAP;AACH;AACD;;;AACA76B,IAAAA,UAAU,GAAG;AACT,aAAO,KAAKnV,SAAL,CAAeqJ,WAAf,IAA8BrnC,MAArC;AACH;AACD;;;AACAiuE,IAAAA,0BAA0B,CAAC3T,UAAD,EAAauT,mBAAb,EAAkC;AACxD,UAAIntE,OAAO,GAAGw7B,oEAAa,CAAC2xC,mBAAD,CAA3B;AACA,UAAIK,iBAAiB,GAAG5T,UAAU,CAACC,aAAX,GAA2BlwB,aAAnD,CAFwD,CAGxD;AACA;;AACA,SAAG;AACC,YAAI3pC,OAAO,IAAIwtE,iBAAf,EAAkC;AAC9B,iBAAO,IAAP;AACH;AACJ,OAJD,QAISxtE,OAAO,GAAGA,OAAO,CAACoxC,aAJ3B;;AAKA,aAAO,KAAP;AACH;AACD;;;AACA47B,IAAAA,kBAAkB,GAAG;AACjB,WAAKL,mBAAL,GAA2B,KAAK7lC,OAAL,CAAac,iBAAb,CAA+B,MAAM;AAC5D,cAAMtoC,MAAM,GAAG,KAAKmzC,UAAL,EAAf;;AACA,eAAOy2B,+CAAS,CAAC5pE,MAAM,CAACC,QAAR,EAAkB,QAAlB,CAAT,CAAqCmhC,SAArC,CAA+C,MAAM,KAAKgsC,SAAL,CAAexhE,IAAf,EAArD,CAAP;AACH,OAH0B,CAA3B;AAIH;AACD;;;AACA+hE,IAAAA,qBAAqB,GAAG;AACpB,UAAI,KAAKN,mBAAT,EAA8B;AAC1B,aAAKA,mBAAL,CAAyB/qC,WAAzB;;AACA,aAAK+qC,mBAAL,GAA2B,IAA3B;AACH;AACJ;;AAjIkB;;AAmIvBroB,EAAAA,gBAAgB,CAACh+C,IAAjB,GAAwB,SAASmnE,wBAAT,CAAkCjnE,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAI89C,gBAAV,EAA4BllD,sDAAA,CAAgBA,iDAAhB,CAA5B,EAA4DA,sDAAA,CAAgB88B,2DAAhB,CAA5D,EAA8F98B,sDAAA,CAAgB25B,sDAAhB,EAA0B,CAA1B,CAA9F,CAAP;AAAqI,GAApM;;AACAurB,EAAAA,gBAAgB,CAAC79C,KAAjB,GAAyBuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAAS6mE,wBAAT,GAAoC;AAAE,aAAO,IAAInpB,gBAAJ,CAAqBtrB,sDAAA,CAAYA,iDAAZ,CAArB,EAA6CA,sDAAA,CAAYyC,2DAAZ,CAA7C,EAAuEzC,sDAAA,CAAYF,sDAAZ,EAAyB,CAAzB,CAAvE,CAAP;AAA6G,KAA9J;AAAgKnyB,IAAAA,KAAK,EAAE29C,gBAAvK;AAAyL7kB,IAAAA,UAAU,EAAE;AAArM,GAAtB,CAAzB;SApIM6kB;;;AA0IN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOz9C,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAQe,CAR9B;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;IACM89C;AAAN,QAAMA,aAAN,CAAoB;AAChBlpD,IAAAA,WAAW,CAACohE,UAAD,EAAa6Q,gBAAb,EAA+B//B,MAA/B,EAAuCwI,GAAvC,EAA4C;AACnD,WAAK0mB,UAAL,GAAkBA,UAAlB;AACA,WAAK6Q,gBAAL,GAAwBA,gBAAxB;AACA,WAAK//B,MAAL,GAAcA,MAAd;AACA,WAAKwI,GAAL,GAAWA,GAAX;AACA,WAAKn6C,UAAL,GAAkB,IAAI49B,yCAAJ,EAAlB;AACA,WAAK+zC,gBAAL,GAAwB,IAAIjrB,4CAAJ,CAAgBQ,QAAD,IAAc,KAAKvV,MAAL,CAAY/F,iBAAZ,CAA8B,MAAMshC,+CAAS,CAAC,KAAKrM,UAAL,CAAgBlzB,aAAjB,EAAgC,QAAhC,CAAT,CAAmD9H,IAAnD,CAAwDvG,0DAAS,CAAC,KAAKt/B,UAAN,CAAjE,EACpF0kC,SADoF,CAC1EwiB,QAD0E,CAApC,CAA7B,CAAxB;AAEH;;AACD6kB,IAAAA,QAAQ,GAAG;AACP,WAAK2F,gBAAL,CAAsBltD,QAAtB,CAA+B,IAA/B;AACH;;AACDie,IAAAA,WAAW,GAAG;AACV,WAAKivC,gBAAL,CAAsB3pD,UAAtB,CAAiC,IAAjC;;AACA,WAAK/nB,UAAL,CAAgBkP,IAAhB;;AACA,WAAKlP,UAAL,CAAgBuyC,QAAhB;AACH;AACD;;;AACAs+B,IAAAA,eAAe,GAAG;AACd,aAAO,KAAKc,gBAAZ;AACH;AACD;;;AACA9T,IAAAA,aAAa,GAAG;AACZ,aAAO,KAAKgD,UAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIuG,IAAAA,QAAQ,CAACtpE,OAAD,EAAU;AACd,YAAMwiC,EAAE,GAAG,KAAKugC,UAAL,CAAgBlzB,aAA3B;AACA,YAAM2uB,KAAK,GAAG,KAAKniB,GAAL,IAAY,KAAKA,GAAL,CAAS9zC,KAAT,IAAkB,KAA5C,CAFc,CAGd;;AACA,UAAIvI,OAAO,CAACmsD,IAAR,IAAgB,IAApB,EAA0B;AACtBnsD,QAAAA,OAAO,CAACmsD,IAAR,GAAeqS,KAAK,GAAGx+D,OAAO,CAACwxE,GAAX,GAAiBxxE,OAAO,CAACqiB,KAA7C;AACH;;AACD,UAAIriB,OAAO,CAAC4uD,KAAR,IAAiB,IAArB,EAA2B;AACvB5uD,QAAAA,OAAO,CAAC4uD,KAAR,GAAgB4P,KAAK,GAAGx+D,OAAO,CAACqiB,KAAX,GAAmBriB,OAAO,CAACwxE,GAAhD;AACH,OATa,CAUd;;;AACA,UAAIxxE,OAAO,CAACyuD,MAAR,IAAkB,IAAtB,EAA4B;AACxBzuD,QAAAA,OAAO,CAACksD,GAAR,GACI1pB,EAAE,CAAC2qB,YAAH,GAAkB3qB,EAAE,CAAC+8B,YAArB,GAAoCv/D,OAAO,CAACyuD,MADhD;AAEH,OAda,CAed;;;AACA,UAAI+P,KAAK,IAAI+K,2EAAoB,MAAM;AAAE;AAAzC,QAAuD;AACnD,YAAIvpE,OAAO,CAACmsD,IAAR,IAAgB,IAApB,EAA0B;AACtBnsD,UAAAA,OAAO,CAAC4uD,KAAR,GACIpsB,EAAE,CAAC6qB,WAAH,GAAiB7qB,EAAE,CAACk9B,WAApB,GAAkC1/D,OAAO,CAACmsD,IAD9C;AAEH;;AACD,YAAIod,2EAAoB,MAAM;AAAE;AAAhC,UAAgD;AAC5CvpE,UAAAA,OAAO,CAACmsD,IAAR,GAAensD,OAAO,CAAC4uD,KAAvB;AACH,SAFD,MAGK,IAAI2a,2EAAoB,MAAM;AAAE;AAAhC,UAA+C;AAChDvpE,UAAAA,OAAO,CAACmsD,IAAR,GAAensD,OAAO,CAAC4uD,KAAR,GAAgB,CAAC5uD,OAAO,CAAC4uD,KAAzB,GAAiC5uD,OAAO,CAAC4uD,KAAxD;AACH;AACJ,OAXD,MAYK;AACD,YAAI5uD,OAAO,CAAC4uD,KAAR,IAAiB,IAArB,EAA2B;AACvB5uD,UAAAA,OAAO,CAACmsD,IAAR,GACI3pB,EAAE,CAAC6qB,WAAH,GAAiB7qB,EAAE,CAACk9B,WAApB,GAAkC1/D,OAAO,CAAC4uD,KAD9C;AAEH;AACJ;;AACD,WAAKklB,qBAAL,CAA2B9zE,OAA3B;AACH;;AACD8zE,IAAAA,qBAAqB,CAAC9zE,OAAD,EAAU;AAC3B,YAAMwiC,EAAE,GAAG,KAAKugC,UAAL,CAAgBlzB,aAA3B;;AACA,UAAI0b,6EAAsB,EAA1B,EAA8B;AAC1B/oB,QAAAA,EAAE,CAAC8mC,QAAH,CAAYtpE,OAAZ;AACH,OAFD,MAGK;AACD,YAAIA,OAAO,CAACksD,GAAR,IAAe,IAAnB,EAAyB;AACrB1pB,UAAAA,EAAE,CAACuxC,SAAH,GAAe/zE,OAAO,CAACksD,GAAvB;AACH;;AACD,YAAIlsD,OAAO,CAACmsD,IAAR,IAAgB,IAApB,EAA0B;AACtB3pB,UAAAA,EAAE,CAACqnC,UAAH,GAAgB7pE,OAAO,CAACmsD,IAAxB;AACH;AACJ;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIylB,IAAAA,mBAAmB,CAACpiD,IAAD,EAAO;AACtB,YAAMwkD,IAAI,GAAG,MAAb;AACA,YAAMC,KAAK,GAAG,OAAd;AACA,YAAMzxC,EAAE,GAAG,KAAKugC,UAAL,CAAgBlzB,aAA3B;;AACA,UAAIrgB,IAAI,IAAI,KAAZ,EAAmB;AACf,eAAOgT,EAAE,CAACuxC,SAAV;AACH;;AACD,UAAIvkD,IAAI,IAAI,QAAZ,EAAsB;AAClB,eAAOgT,EAAE,CAAC2qB,YAAH,GAAkB3qB,EAAE,CAAC+8B,YAArB,GAAoC/8B,EAAE,CAACuxC,SAA9C;AACH,OATqB,CAUtB;;;AACA,YAAMvV,KAAK,GAAG,KAAKniB,GAAL,IAAY,KAAKA,GAAL,CAAS9zC,KAAT,IAAkB,KAA5C;;AACA,UAAIinB,IAAI,IAAI,OAAZ,EAAqB;AACjBA,QAAAA,IAAI,GAAGgvC,KAAK,GAAGyV,KAAH,GAAWD,IAAvB;AACH,OAFD,MAGK,IAAIxkD,IAAI,IAAI,KAAZ,EAAmB;AACpBA,QAAAA,IAAI,GAAGgvC,KAAK,GAAGwV,IAAH,GAAUC,KAAtB;AACH;;AACD,UAAIzV,KAAK,IAAI+K,2EAAoB,MAAM;AAAE;AAAzC,QAAyD;AACrD;AACA;AACA,YAAI/5C,IAAI,IAAIwkD,IAAZ,EAAkB;AACd,iBAAOxxC,EAAE,CAAC6qB,WAAH,GAAiB7qB,EAAE,CAACk9B,WAApB,GAAkCl9B,EAAE,CAACqnC,UAA5C;AACH,SAFD,MAGK;AACD,iBAAOrnC,EAAE,CAACqnC,UAAV;AACH;AACJ,OATD,MAUK,IAAIrL,KAAK,IAAI+K,2EAAoB,MAAM;AAAE;AAAzC,QAAwD;AACzD;AACA;AACA,YAAI/5C,IAAI,IAAIwkD,IAAZ,EAAkB;AACd,iBAAOxxC,EAAE,CAACqnC,UAAH,GAAgBrnC,EAAE,CAAC6qB,WAAnB,GAAiC7qB,EAAE,CAACk9B,WAA3C;AACH,SAFD,MAGK;AACD,iBAAO,CAACl9B,EAAE,CAACqnC,UAAX;AACH;AACJ,OATI,MAUA;AACD;AACA;AACA,YAAIr6C,IAAI,IAAIwkD,IAAZ,EAAkB;AACd,iBAAOxxC,EAAE,CAACqnC,UAAV;AACH,SAFD,MAGK;AACD,iBAAOrnC,EAAE,CAAC6qB,WAAH,GAAiB7qB,EAAE,CAACk9B,WAApB,GAAkCl9B,EAAE,CAACqnC,UAA5C;AACH;AACJ;AACJ;;AA7Ie;;AA+IpBhf,EAAAA,aAAa,CAACr+C,IAAd,GAAqB,SAAS0nE,qBAAT,CAA+BxnE,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAIm+C,aAAV,EAAyBvlD,+DAAA,CAAyBA,qDAAzB,CAAzB,EAAsEA,+DAAA,CAAyBklD,gBAAzB,CAAtE,EAAkHllD,+DAAA,CAAyBA,iDAAzB,CAAlH,EAA2JA,+DAAA,CAAyB+8B,8DAAzB,EAAgD,CAAhD,CAA3J,CAAP;AAAwN,GAAjR;;AACAwoB,EAAAA,aAAa,CAACra,IAAd,GAAqB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE8qD,aAAR;AAAuBna,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,gBAAL,EAAuB,EAAvB,CAAD,EAA6B,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,CAA7B;AAAlC,GAAzB,CAAnC;SAhJMma;;;AAuJN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO99C,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOe,CAP9B;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMonE,mBAAmB,GAAG,EAA5B;AACA;AACA;AACA;AACA;;IACM1pB;AAAN,QAAMA,aAAN,CAAoB;AAChB9oD,IAAAA,WAAW,CAACgpC,SAAD,EAAYkJ,MAAZ,EAAoBpuC,QAApB,EAA8B;AACrC,WAAKklC,SAAL,GAAiBA,SAAjB;AACA;;AACA,WAAKypC,OAAL,GAAe,IAAIt0C,yCAAJ,EAAf;AACA;;AACA,WAAKu0C,eAAL,GAAwB7sE,KAAD,IAAW;AAC9B,aAAK4sE,OAAL,CAAahjE,IAAb,CAAkB5J,KAAlB;AACH,OAFD;;AAGA,WAAKg8B,SAAL,GAAiB/9B,QAAjB;AACAouC,MAAAA,MAAM,CAAC/F,iBAAP,CAAyB,MAAM;AAC3B,YAAInD,SAAS,CAACplC,SAAd,EAAyB;AACrB,gBAAMC,MAAM,GAAG,KAAKmzC,UAAL,EAAf,CADqB,CAErB;AACA;;;AACAnzC,UAAAA,MAAM,CAACi0B,gBAAP,CAAwB,QAAxB,EAAkC,KAAK46C,eAAvC;AACA7uE,UAAAA,MAAM,CAACi0B,gBAAP,CAAwB,mBAAxB,EAA6C,KAAK46C,eAAlD;AACH,SAP0B,CAQ3B;AACA;;;AACA,aAAK3tC,MAAL,GAAcE,SAAd,CAAwB,MAAM,KAAK0tC,aAAL,GAAqB,IAAnD;AACH,OAXD;AAYH;;AACD3vC,IAAAA,WAAW,GAAG;AACV,UAAI,KAAKgG,SAAL,CAAeplC,SAAnB,EAA8B;AAC1B,cAAMC,MAAM,GAAG,KAAKmzC,UAAL,EAAf;;AACAnzC,QAAAA,MAAM,CAACg0B,mBAAP,CAA2B,QAA3B,EAAqC,KAAK66C,eAA1C;AACA7uE,QAAAA,MAAM,CAACg0B,mBAAP,CAA2B,mBAA3B,EAAgD,KAAK66C,eAArD;AACH;;AACD,WAAKD,OAAL,CAAa3/B,QAAb;AACH;AACD;;;AACAyY,IAAAA,eAAe,GAAG;AACd,UAAI,CAAC,KAAKonB,aAAV,EAAyB;AACrB,aAAKC,mBAAL;AACH;;AACD,YAAMC,MAAM,GAAG;AAAElnB,QAAAA,KAAK,EAAE,KAAKgnB,aAAL,CAAmBhnB,KAA5B;AAAmCF,QAAAA,MAAM,EAAE,KAAKknB,aAAL,CAAmBlnB;AAA9D,OAAf,CAJc,CAKd;;AACA,UAAI,CAAC,KAAKziB,SAAL,CAAeplC,SAApB,EAA+B;AAC3B,aAAK+uE,aAAL,GAAqB,IAArB;AACH;;AACD,aAAOE,MAAP;AACH;AACD;;;AACAC,IAAAA,eAAe,GAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAMvmB,cAAc,GAAG,KAAKzB,yBAAL,EAAvB;AACA,YAAM;AAAEa,QAAAA,KAAF;AAASF,QAAAA;AAAT,UAAoB,KAAKF,eAAL,EAA1B;AACA,aAAO;AACHhB,QAAAA,GAAG,EAAEgC,cAAc,CAAChC,GADjB;AAEHC,QAAAA,IAAI,EAAE+B,cAAc,CAAC/B,IAFlB;AAGHsC,QAAAA,MAAM,EAAEP,cAAc,CAAChC,GAAf,GAAqBkB,MAH1B;AAIHwB,QAAAA,KAAK,EAAEV,cAAc,CAAC/B,IAAf,GAAsBmB,KAJ1B;AAKHF,QAAAA,MALG;AAMHE,QAAAA;AANG,OAAP;AAQH;AACD;;;AACAb,IAAAA,yBAAyB,GAAG;AACxB;AACA;AACA,UAAI,CAAC,KAAK9hB,SAAL,CAAeplC,SAApB,EAA+B;AAC3B,eAAO;AAAE2mD,UAAAA,GAAG,EAAE,CAAP;AAAUC,UAAAA,IAAI,EAAE;AAAhB,SAAP;AACH,OALuB,CAMxB;AACA;AACA;AACA;AACA;AACA;;;AACA,YAAM1mD,QAAQ,GAAG,KAAK+9B,SAAtB;;AACA,YAAMh+B,MAAM,GAAG,KAAKmzC,UAAL,EAAf;;AACA,YAAM5uC,eAAe,GAAGtE,QAAQ,CAACsE,eAAjC;AACA,YAAM2qE,YAAY,GAAG3qE,eAAe,CAAC2lD,qBAAhB,EAArB;AACA,YAAMxD,GAAG,GAAG,CAACwoB,YAAY,CAACxoB,GAAd,IAAqBzmD,QAAQ,CAACiG,IAAT,CAAcqoE,SAAnC,IAAgDvuE,MAAM,CAACmvE,OAAvD,IACR5qE,eAAe,CAACgqE,SADR,IACqB,CADjC;AAEA,YAAM5nB,IAAI,GAAG,CAACuoB,YAAY,CAACvoB,IAAd,IAAsB1mD,QAAQ,CAACiG,IAAT,CAAcm+D,UAApC,IAAkDrkE,MAAM,CAACovE,OAAzD,IACT7qE,eAAe,CAAC8/D,UADP,IACqB,CADlC;AAEA,aAAO;AAAE3d,QAAAA,GAAF;AAAOC,QAAAA;AAAP,OAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIzlB,IAAAA,MAAM,CAACmuC,YAAY,GAAGV,mBAAhB,EAAqC;AACvC,aAAOU,YAAY,GAAG,CAAf,GAAmB,KAAKT,OAAL,CAAarsC,IAAb,CAAkBwnC,yDAAS,CAACsF,YAAD,CAA3B,CAAnB,GAAgE,KAAKT,OAA5E;AACH;AACD;;;AACAz7B,IAAAA,UAAU,GAAG;AACT,aAAO,KAAKnV,SAAL,CAAeqJ,WAAf,IAA8BrnC,MAArC;AACH;AACD;;;AACA+uE,IAAAA,mBAAmB,GAAG;AAClB,YAAM/uE,MAAM,GAAG,KAAKmzC,UAAL,EAAf;;AACA,WAAK27B,aAAL,GAAqB,KAAK3pC,SAAL,CAAeplC,SAAf,GACjB;AAAE+nD,QAAAA,KAAK,EAAE9nD,MAAM,CAACsvE,UAAhB;AAA4B1nB,QAAAA,MAAM,EAAE5nD,MAAM,CAACuvE;AAA3C,OADiB,GAEjB;AAAEznB,QAAAA,KAAK,EAAE,CAAT;AAAYF,QAAAA,MAAM,EAAE;AAApB,OAFJ;AAGH;;AA1Ge;;AA4GpB3C,EAAAA,aAAa,CAACj+C,IAAd,GAAqB,SAASwoE,qBAAT,CAA+BtoE,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAI+9C,aAAV,EAAyBnlD,sDAAA,CAAgB88B,2DAAhB,CAAzB,EAA2D98B,sDAAA,CAAgBA,iDAAhB,CAA3D,EAA2FA,sDAAA,CAAgB25B,sDAAhB,EAA0B,CAA1B,CAA3F,CAAP;AAAkI,GAA3L;;AACAwrB,EAAAA,aAAa,CAAC99C,KAAd,GAAsBuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASkoE,qBAAT,GAAiC;AAAE,aAAO,IAAIvqB,aAAJ,CAAkBvrB,sDAAA,CAAYyC,2DAAZ,CAAlB,EAA4CzC,sDAAA,CAAYA,iDAAZ,CAA5C,EAAoEA,sDAAA,CAAYF,sDAAZ,EAAyB,CAAzB,CAApE,CAAP;AAA0G,KAAxJ;AAA0JnyB,IAAAA,KAAK,EAAE49C,aAAjK;AAAgL9kB,IAAAA,UAAU,EAAE;AAA5L,GAAtB,CAAtB;SA7GM8kB;;;AAmHN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO19C,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAQe,CAR9B;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAASkoE,WAAT,CAAqBC,EAArB,EAAyBC,EAAzB,EAA6B;AACzB,SAAOD,EAAE,CAAC7yD,KAAH,IAAY8yD,EAAE,CAAC9yD,KAAf,IAAwB6yD,EAAE,CAAC1D,GAAH,IAAU2D,EAAE,CAAC3D,GAA5C;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,MAAM4D,gBAAgB,GAAG,OAAO7e,qBAAP,KAAiC,WAAjC,GAA+C8Y,0DAA/C,GAAyEC,gDAAlG;AACA;;IACM+F;AAAN,QAAMA,wBAAN,SAAuCxqB,aAAvC,CAAqD;AACjDlpD,IAAAA,WAAW,CAACohE,UAAD,EAAauS,kBAAb,EAAiCzhC,MAAjC,EAAyCggB,eAAzC,EAA0DxX,GAA1D,EAA+Du3B,gBAA/D,EAAiF7S,aAAjF,EAAgG;AACvG,YAAMgC,UAAN,EAAkB6Q,gBAAlB,EAAoC//B,MAApC,EAA4CwI,GAA5C;AACA,WAAK0mB,UAAL,GAAkBA,UAAlB;AACA,WAAKuS,kBAAL,GAA0BA,kBAA1B;AACA,WAAKzhB,eAAL,GAAuBA,eAAvB;AACA;;AACA,WAAK0hB,gBAAL,GAAwB,IAAIz1C,yCAAJ,EAAxB;AACA;;AACA,WAAK01C,qBAAL,GAA6B,IAAI11C,yCAAJ,EAA7B;AACA,WAAK21C,YAAL,GAAoB,UAApB;AACA,WAAKC,WAAL,GAAmB,KAAnB,CAVuG,CAWvG;AACA;AACA;AACA;;AACA;;AACA,WAAKtF,mBAAL,GAA2B,IAAIxnB,4CAAJ,CAAgBQ,QAAD,IAAc,KAAKyK,eAAL,CAAqBuc,mBAArB,CAAyCxpC,SAAzC,CAAmD7f,KAAK,IAAIxlB,OAAO,CAACC,OAAR,GAAkBC,IAAlB,CAAuB,MAAM,KAAKoyC,MAAL,CAAY2F,GAAZ,CAAgB,MAAM4P,QAAQ,CAACh4C,IAAT,CAAc2V,KAAd,CAAtB,CAA7B,CAA5D,CAA7B,CAA3B;AACA;;AACA,WAAK4uD,mBAAL,GAA2B,KAAKH,qBAAhC;AACA;AACR;AACA;;AACQ,WAAKI,iBAAL,GAAyB,CAAzB;AACA;;AACA,WAAKC,kBAAL,GAA0B,EAA1B;AACA;;AACA,WAAKC,mBAAL,GAA2B,EAA3B;AACA;;AACA,WAAKC,cAAL,GAAsB;AAAE1zD,QAAAA,KAAK,EAAE,CAAT;AAAYmvD,QAAAA,GAAG,EAAE;AAAjB,OAAtB;AACA;;AACA,WAAKwE,WAAL,GAAmB,CAAnB;AACA;;AACA,WAAK1B,aAAL,GAAqB,CAArB;AACA;;AACA,WAAK2B,sBAAL,GAA8B,CAA9B;AACA;AACR;AACA;AACA;;AACQ,WAAKC,kCAAL,GAA0C,KAA1C;AACA;;AACA,WAAKC,yBAAL,GAAiC,KAAjC;AACA;;AACA,WAAKC,wBAAL,GAAgC,EAAhC;AACA;;AACA,WAAKC,gBAAL,GAAwBt2C,qDAAxB;;AACA,UAAI,CAAC8zB,eAAD,KAAqB,OAAO9mD,SAAP,KAAqB,WAArB,IAAoCA,SAAzD,CAAJ,EAAyE;AACrE,cAAM3F,KAAK,CAAC,gFAAD,CAAX;AACH;;AACD,WAAKivE,gBAAL,GAAwBtV,aAAa,CAACr6B,MAAd,GAAuBE,SAAvB,CAAiC,MAAM;AAC3D,aAAK0vC,iBAAL;AACH,OAFuB,CAAxB;AAGH;AACD;;;AACe,QAAXC,WAAW,GAAG;AACd,aAAO,KAAKd,YAAZ;AACH;;AACc,QAAXc,WAAW,CAACA,WAAD,EAAc;AACzB,UAAI,KAAKd,YAAL,KAAsBc,WAA1B,EAAuC;AACnC,aAAKd,YAAL,GAAoBc,WAApB;;AACA,aAAKC,oBAAL;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACkB,QAAVC,UAAU,GAAG;AACb,aAAO,KAAKf,WAAZ;AACH;;AACa,QAAVe,UAAU,CAACluE,KAAD,EAAQ;AAClB,WAAKmtE,WAAL,GAAmBj0C,4EAAqB,CAACl5B,KAAD,CAAxC;AACH;;AACD0lE,IAAAA,QAAQ,GAAG;AACP,YAAMA,QAAN,GADO,CAEP;AACA;AACA;AACA;;AACA,WAAKp6B,MAAL,CAAY/F,iBAAZ,CAA8B,MAAMvsC,OAAO,CAACC,OAAR,GAAkBC,IAAlB,CAAuB,MAAM;AAC7D,aAAKi1E,oBAAL;;AACA,aAAK7iB,eAAL,CAAqBxH,MAArB,CAA4B,IAA5B;;AACA,aAAK0mB,eAAL,GACKhrC,IADL,EAEA;AACAynC,QAAAA,0DAAS,CAAC,IAAD,CAHT,EAIA;AACA;AACA;AACAD,QAAAA,yDAAS,CAAC,CAAD,EAAI6F,gBAAJ,CAPT,EAQKxuC,SARL,CAQe,MAAM,KAAKitB,eAAL,CAAqB+c,iBAArB,EARrB;;AASA,aAAK+F,0BAAL;AACH,OAbmC,CAApC;AAcH;;AACDhyC,IAAAA,WAAW,GAAG;AACV,WAAKsa,MAAL;;AACA,WAAK4U,eAAL,CAAqB5U,MAArB,GAFU,CAGV;;;AACA,WAAKu2B,qBAAL,CAA2B/gC,QAA3B;;AACA,WAAK8gC,gBAAL,CAAsB9gC,QAAtB;;AACA,WAAK4hC,gBAAL,CAAsBvuC,WAAtB;;AACA,YAAMnD,WAAN;AACH;AACD;;;AACA0nB,IAAAA,MAAM,CAACuqB,KAAD,EAAQ;AACV,UAAI,KAAKC,MAAL,KAAgB,OAAO9pE,SAAP,KAAqB,WAArB,IAAoCA,SAApD,CAAJ,EAAoE;AAChE,cAAM3F,KAAK,CAAC,+CAAD,CAAX;AACH,OAHS,CAIV;AACA;AACA;;;AACA,WAAKysC,MAAL,CAAY/F,iBAAZ,CAA8B,MAAM;AAChC,aAAK+oC,MAAL,GAAcD,KAAd;;AACA,aAAKC,MAAL,CAAYC,UAAZ,CAAuB/uC,IAAvB,CAA4BvG,0DAAS,CAAC,KAAK+zC,gBAAN,CAArC,EAA8D3uC,SAA9D,CAAwE1+B,IAAI,IAAI;AAC5E,gBAAM6uE,SAAS,GAAG7uE,IAAI,CAACpE,MAAvB;;AACA,cAAIizE,SAAS,KAAK,KAAKf,WAAvB,EAAoC;AAChC,iBAAKA,WAAL,GAAmBe,SAAnB;;AACA,iBAAKljB,eAAL,CAAqBgd,mBAArB;AACH;;AACD,eAAKmG,kBAAL;AACH,SAPD;AAQH,OAVD;AAWH;AACD;;;AACA/3B,IAAAA,MAAM,GAAG;AACL,WAAK43B,MAAL,GAAc,IAAd;;AACA,WAAKtB,gBAAL,CAAsBnkE,IAAtB;AACH;AACD;;;AACAggE,IAAAA,aAAa,GAAG;AACZ,aAAO,KAAK4E,WAAZ;AACH;AACD;;;AACA9oB,IAAAA,eAAe,GAAG;AACd,aAAO,KAAKonB,aAAZ;AACH,KAxIgD,CAyIjD;AACA;AACA;AACA;;AACA;;;AACAhD,IAAAA,gBAAgB,GAAG;AACf,aAAO,KAAKyE,cAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACI5E,IAAAA,mBAAmB,CAAC/6D,IAAD,EAAO;AACtB,UAAI,KAAKw/D,iBAAL,KAA2Bx/D,IAA/B,EAAqC;AACjC,aAAKw/D,iBAAL,GAAyBx/D,IAAzB;;AACA,aAAKogE,oBAAL;;AACA,aAAKG,0BAAL;AACH;AACJ;AACD;;;AACAtE,IAAAA,gBAAgB,CAAC4E,KAAD,EAAQ;AACpB,UAAI,CAAChC,WAAW,CAAC,KAAKc,cAAN,EAAsBkB,KAAtB,CAAhB,EAA8C;AAC1C,YAAI,KAAKR,UAAT,EAAqB;AACjBQ,UAAAA,KAAK,GAAG;AAAE50D,YAAAA,KAAK,EAAE,CAAT;AAAYmvD,YAAAA,GAAG,EAAE9sE,IAAI,CAACC,GAAL,CAAS,KAAKoxE,cAAL,CAAoBvE,GAA7B,EAAkCyF,KAAK,CAACzF,GAAxC;AAAjB,WAAR;AACH;;AACD,aAAKgE,qBAAL,CAA2BpkE,IAA3B,CAAgC,KAAK2kE,cAAL,GAAsBkB,KAAtD;;AACA,aAAKN,0BAAL,CAAgC,MAAM,KAAK9iB,eAAL,CAAqBid,iBAArB,EAAtC;AACH;AACJ;AACD;AACJ;AACA;;;AACIoG,IAAAA,+BAA+B,GAAG;AAC9B,aAAO,KAAKhB,kCAAL,GAA0C,IAA1C,GAAiD,KAAKD,sBAA7D;AACH;AACD;AACJ;AACA;AACA;;;AACI3D,IAAAA,wBAAwB,CAAC7xE,MAAD,EAAS02E,EAAE,GAAG,UAAd,EAA0B;AAC9C;AACA;AACA,YAAM3Y,KAAK,GAAG,KAAKniB,GAAL,IAAY,KAAKA,GAAL,CAAS9zC,KAAT,IAAkB,KAA5C;AACA,YAAM6uE,YAAY,GAAG,KAAKb,WAAL,IAAoB,YAAzC;AACA,YAAMhW,IAAI,GAAG6W,YAAY,GAAG,GAAH,GAAS,GAAlC;AACA,YAAMC,aAAa,GAAGD,YAAY,IAAI5Y,KAAhB,GAAwB,CAAC,CAAzB,GAA6B,CAAnD;AACA,UAAIO,SAAS,GAAI,YAAWwB,IAAK,IAAG+W,MAAM,CAACD,aAAa,GAAG52E,MAAjB,CAAyB,KAAnE;AACA,WAAKw1E,sBAAL,GAA8Bx1E,MAA9B;;AACA,UAAI02E,EAAE,KAAK,QAAX,EAAqB;AACjBpY,QAAAA,SAAS,IAAK,aAAYwB,IAAK,SAA/B,CADiB,CAEjB;AACA;AACA;;AACA,aAAK2V,kCAAL,GAA0C,IAA1C;AACH;;AACD,UAAI,KAAKqB,yBAAL,IAAkCxY,SAAtC,EAAiD;AAC7C;AACA;AACA,aAAKwY,yBAAL,GAAiCxY,SAAjC;;AACA,aAAK4X,0BAAL,CAAgC,MAAM;AAClC,cAAI,KAAKT,kCAAT,EAA6C;AACzC,iBAAKD,sBAAL,IAA+B,KAAKuB,0BAAL,EAA/B;AACA,iBAAKtB,kCAAL,GAA0C,KAA1C;AACA,iBAAK5D,wBAAL,CAA8B,KAAK2D,sBAAnC;AACH,WAJD,MAKK;AACD,iBAAKpiB,eAAL,CAAqBkd,uBAArB;AACH;AACJ,SATD;AAUH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIG,IAAAA,cAAc,CAACzwE,MAAD,EAASwwE,QAAQ,GAAG,MAApB,EAA4B;AACtC,YAAMjxE,OAAO,GAAG;AAAEixE,QAAAA;AAAF,OAAhB;;AACA,UAAI,KAAKsF,WAAL,KAAqB,YAAzB,EAAuC;AACnCv2E,QAAAA,OAAO,CAACqiB,KAAR,GAAgB5hB,MAAhB;AACH,OAFD,MAGK;AACDT,QAAAA,OAAO,CAACksD,GAAR,GAAczrD,MAAd;AACH;;AACD,WAAK6oE,QAAL,CAActpE,OAAd;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIgxE,IAAAA,aAAa,CAACjqD,KAAD,EAAQkqD,QAAQ,GAAG,MAAnB,EAA2B;AACpC,WAAKpd,eAAL,CAAqBmd,aAArB,CAAmCjqD,KAAnC,EAA0CkqD,QAA1C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIW,IAAAA,mBAAmB,CAACpiD,IAAD,EAAO;AACtB,aAAOA,IAAI,GACP,MAAMoiD,mBAAN,CAA0BpiD,IAA1B,CADO,GAEP,MAAMoiD,mBAAN,CAA0B,KAAK2E,WAAL,KAAqB,YAArB,GAAoC,OAApC,GAA8C,KAAxE,CAFJ;AAGH;AACD;;;AACAiB,IAAAA,0BAA0B,GAAG;AACzB,YAAMC,SAAS,GAAG,KAAKC,eAAL,CAAqB7nC,aAAvC;AACA,aAAO,KAAK0mC,WAAL,KAAqB,YAArB,GAAoCkB,SAAS,CAACzrC,WAA9C,GAA4DyrC,SAAS,CAACxrC,YAA7E;AACH;AACD;AACJ;AACA;AACA;;;AACI0rC,IAAAA,gBAAgB,CAACV,KAAD,EAAQ;AACpB,UAAI,CAAC,KAAKJ,MAAV,EAAkB;AACd,eAAO,CAAP;AACH;;AACD,aAAO,KAAKA,MAAL,CAAYc,gBAAZ,CAA6BV,KAA7B,EAAoC,KAAKV,WAAzC,CAAP;AACH;AACD;;;AACAD,IAAAA,iBAAiB,GAAG;AAChB;AACA,WAAKI,oBAAL;;AACA,WAAK7iB,eAAL,CAAqBgd,mBAArB;AACH;AACD;;;AACA6F,IAAAA,oBAAoB,GAAG;AACnB,YAAMkB,UAAU,GAAG,KAAK7U,UAAL,CAAgBlzB,aAAnC;AACA,WAAKykC,aAAL,GAAqB,KAAKiC,WAAL,KAAqB,YAArB,GACjBqB,UAAU,CAAClY,WADM,GACQkY,UAAU,CAACrY,YADxC;AAEH;AACD;;;AACAoX,IAAAA,0BAA0B,CAACkB,QAAD,EAAW;AACjC,UAAIA,QAAJ,EAAc;AACV,aAAKzB,wBAAL,CAA8BzzE,IAA9B,CAAmCk1E,QAAnC;AACH,OAHgC,CAIjC;AACA;;;AACA,UAAI,CAAC,KAAK1B,yBAAV,EAAqC;AACjC,aAAKA,yBAAL,GAAiC,IAAjC;AACA,aAAKtiC,MAAL,CAAY/F,iBAAZ,CAA8B,MAAMvsC,OAAO,CAACC,OAAR,GAAkBC,IAAlB,CAAuB,MAAM;AAC7D,eAAKu1E,kBAAL;AACH,SAFmC,CAApC;AAGH;AACJ;AACD;;;AACAA,IAAAA,kBAAkB,GAAG;AACjB,WAAKb,yBAAL,GAAiC,KAAjC,CADiB,CAEjB;AACA;AACA;AACA;;AACA,WAAKuB,eAAL,CAAqB7nC,aAArB,CAAmCtvC,KAAnC,CAAyCw+D,SAAzC,GAAqD,KAAKwY,yBAA1D,CANiB,CAOjB;AACA;AACA;;AACA,WAAK1jC,MAAL,CAAY2F,GAAZ,CAAgB,MAAM,KAAK87B,kBAAL,CAAwBwC,YAAxB,EAAtB;AACA,YAAMC,uBAAuB,GAAG,KAAK3B,wBAArC;AACA,WAAKA,wBAAL,GAAgC,EAAhC;;AACA,WAAK,MAAM3zE,EAAX,IAAiBs1E,uBAAjB,EAA0C;AACtCt1E,QAAAA,EAAE;AACL;AACJ;AACD;;;AACA+zE,IAAAA,oBAAoB,GAAG;AACnB,WAAKV,mBAAL,GACI,KAAKS,WAAL,KAAqB,YAArB,GAAoC,EAApC,GAA0C,GAAE,KAAKX,iBAAkB,IADvE;AAEA,WAAKC,kBAAL,GACI,KAAKU,WAAL,KAAqB,YAArB,GAAqC,GAAE,KAAKX,iBAAkB,IAA9D,GAAoE,EADxE;AAEH;;AApTgD;;AAsTrDP,EAAAA,wBAAwB,CAAC7oE,IAAzB,GAAgC,SAASwrE,gCAAT,CAA0CtrE,CAA1C,EAA6C;AAAE,WAAO,KAAKA,CAAC,IAAI2oE,wBAAV,EAAoC/vE,+DAAA,CAAyBA,qDAAzB,CAApC,EAAiFA,+DAAA,CAAyBA,4DAAzB,CAAjF,EAAqIA,+DAAA,CAAyBA,iDAAzB,CAArI,EAA8KA,+DAAA,CAAyBwqE,uBAAzB,EAAkD,CAAlD,CAA9K,EAAoOxqE,+DAAA,CAAyB+8B,8DAAzB,EAAgD,CAAhD,CAApO,EAAwR/8B,+DAAA,CAAyBklD,gBAAzB,CAAxR,EAAoUllD,+DAAA,CAAyBmlD,aAAzB,CAApU,CAAP;AAAsX,GAArc;;AACA4qB,EAAAA,wBAAwB,CAAC4C,IAAzB,GAAgC,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEs1E,wBAAR;AAAkC3kC,IAAAA,SAAS,EAAE,CAAC,CAAC,6BAAD,CAAD,CAA7C;AAAgFynC,IAAAA,SAAS,EAAE,SAASC,8BAAT,CAAwCn7B,EAAxC,EAA4CxgC,GAA5C,EAAiD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACzN33C,QAAAA,yDAAA,CAAmBsqE,GAAnB,EAAwB,CAAxB;AACH;;AAAC,UAAI3yB,EAAE,GAAG,CAAT,EAAY;AACV,YAAIq7B,EAAJ;;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAACi7D,eAAJ,GAAsBY,EAAE,CAACG,KAA9E;AACH;AAAE,KALgE;AAK9DC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,6BAAJ,CALmD;AAKf57B,IAAAA,QAAQ,EAAE,CALK;AAKFC,IAAAA,YAAY,EAAE,SAAS47B,qCAAT,CAA+C17B,EAA/C,EAAmDxgC,GAAnD,EAAwD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACjJ33C,QAAAA,yDAAA,CAAmB,2CAAnB,EAAgEmX,GAAG,CAAC85D,WAAJ,KAAoB,YAApF,EAAkG,yCAAlG,EAA6I95D,GAAG,CAAC85D,WAAJ,KAAoB,YAAjK;AACH;AAAE,KAPgE;AAO9D5lC,IAAAA,MAAM,EAAE;AAAE4lC,MAAAA,WAAW,EAAE,aAAf;AAA8BE,MAAAA,UAAU,EAAE;AAA1C,KAPsD;AAOIt8B,IAAAA,OAAO,EAAE;AAAEi2B,MAAAA,mBAAmB,EAAE;AAAvB,KAPb;AAO6Dv/B,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC;AAC1J83C,MAAAA,OAAO,EAAEyN,aADiJ;AAE1JxN,MAAAA,WAAW,EAAEg4B;AAF6I,KAAD,CAA1B,CAAD,EAG7H/vE,wEAH6H,CAPvE;AAUlBuzE,IAAAA,kBAAkB,EAAEhJ,GAVF;AAUOiJ,IAAAA,KAAK,EAAE,CAVd;AAUiBC,IAAAA,IAAI,EAAE,CAVvB;AAU0BC,IAAAA,MAAM,EAAE,CAAC,CAAC,CAAD,EAAI,oCAAJ,CAAD,EAA4C,CAAC,gBAAD,EAAmB,EAAnB,CAA5C,EAAoE,CAAC,CAAD,EAAI,2BAAJ,CAApE,CAVlC;AAUyI1N,IAAAA,QAAQ,EAAE,SAAS2N,iCAAT,CAA2Ch8B,EAA3C,EAA+CxgC,GAA/C,EAAoD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACpR33C,QAAAA,6DAAA;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC,EAAmC,CAAnC;AACAA,QAAAA,0DAAA,CAAoB,CAApB;AACAA,QAAAA,0DAAA;AACAA,QAAAA,uDAAA,CAAiB,CAAjB,EAAoB,KAApB,EAA2B,CAA3B;AACH;;AAAC,UAAI23C,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,yDAAA,CAAmB,OAAnB,EAA4BmX,GAAG,CAACo5D,kBAAhC,EAAoD,QAApD,EAA8Dp5D,GAAG,CAACq5D,mBAAlE;AACH;AAAE,KAnBgE;AAmB9D31E,IAAAA,MAAM,EAAE,CAAC,6sDAAD,CAnBsD;AAmB2pDs5E,IAAAA,aAAa,EAAE,CAnB1qD;AAmB6qDC,IAAAA,eAAe,EAAE;AAnB9rD,GAAzB,CAA9C;SAvTMrE;;;AA0VN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOtoE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAkCC,CAlChB;AAoCA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAAS4sE,SAAT,CAAmBpD,WAAnB,EAAgC/uC,SAAhC,EAA2Ct1B,IAA3C,EAAiD;AAC7C,QAAMswB,EAAE,GAAGtwB,IAAX;;AACA,MAAI,CAACswB,EAAE,CAACktB,qBAAR,EAA+B;AAC3B,WAAO,CAAP;AACH;;AACD,QAAMkqB,IAAI,GAAGp3C,EAAE,CAACktB,qBAAH,EAAb;;AACA,MAAI6mB,WAAW,KAAK,YAApB,EAAkC;AAC9B,WAAO/uC,SAAS,KAAK,OAAd,GAAwBoyC,IAAI,CAACztB,IAA7B,GAAoCytB,IAAI,CAAChrB,KAAhD;AACH;;AACD,SAAOpnB,SAAS,KAAK,OAAd,GAAwBoyC,IAAI,CAAC1tB,GAA7B,GAAmC0tB,IAAI,CAACnrB,MAA/C;AACH;AACD;AACA;AACA;AACA;;;IACMorB;AAAN,QAAMA,eAAN,CAAsB;AAClBl4E,IAAAA,WAAW;AACX;AACAisE,IAAAA,iBAFW;AAGX;AACAkM,IAAAA,SAJW;AAKX;AACAC,IAAAA,QANW;AAOX;AACAC,IAAAA,aARW;AASX;AACA3J,IAAAA,SAVW,EAUAx8B,MAVA,EAUQ;AACf,WAAK+5B,iBAAL,GAAyBA,iBAAzB;AACA,WAAKkM,SAAL,GAAiBA,SAAjB;AACA,WAAKC,QAAL,GAAgBA,QAAhB;AACA,WAAKC,aAAL,GAAqBA,aAArB;AACA,WAAK3J,SAAL,GAAiBA,SAAjB;AACA;;AACA,WAAK4J,UAAL,GAAkB,IAAIn6C,yCAAJ,EAAlB;AACA;;AACA,WAAKo6C,kBAAL,GAA0B,IAAIp6C,yCAAJ,EAA1B;AACA;;AACA,WAAKg3C,UAAL,GAAkB,KAAKoD,kBAAL,CACbnyC,IADa,EAElB;AACAynC,MAAAA,0DAAS,CAAC,IAAD,CAHS,EAIlB;AACAC,MAAAA,yDAAQ,EALU,EAMlB;AACA;AACA;AACAC,MAAAA,0DAAS,CAAC,CAAC,CAACyK,IAAD,EAAOC,GAAP,CAAD,KAAiB,KAAKC,iBAAL,CAAuBF,IAAvB,EAA6BC,GAA7B,CAAlB,CATS,EAUlB;AACAzK,MAAAA,4DAAW,CAAC,CAAD,CAXO,CAAlB;AAYA;;AACA,WAAK2K,OAAL,GAAe,IAAf;AACA;;AACA,WAAKC,YAAL,GAAoB,KAApB;AACA,WAAKr4E,UAAL,GAAkB,IAAI49B,yCAAJ,EAAlB;AACA,WAAKg3C,UAAL,CAAgBlwC,SAAhB,CAA0B1+B,IAAI,IAAI;AAC9B,aAAK41C,KAAL,GAAa51C,IAAb;;AACA,aAAKsyE,qBAAL;AACH,OAHD;;AAIA,WAAKnK,SAAL,CAAesF,mBAAf,CAAmC5tC,IAAnC,CAAwCvG,0DAAS,CAAC,KAAKt/B,UAAN,CAAjD,EAAoE0kC,SAApE,CAA8EqwC,KAAK,IAAI;AACnF,aAAKlB,cAAL,GAAsBkB,KAAtB;AACApjC,QAAAA,MAAM,CAAC2F,GAAP,CAAW,MAAM,KAAKygC,UAAL,CAAgB7oE,IAAhB,CAAqB,KAAK2kE,cAA1B,CAAjB;;AACA,aAAKyE,qBAAL;AACH,OAJD;;AAKA,WAAKnK,SAAL,CAAehkB,MAAf,CAAsB,IAAtB;AACH;AACD;;;AACmB,QAAfouB,eAAe,GAAG;AAClB,aAAO,KAAKC,gBAAZ;AACH;;AACkB,QAAfD,eAAe,CAAClyE,KAAD,EAAQ;AACvB,WAAKmyE,gBAAL,GAAwBnyE,KAAxB;;AACA,UAAIo1C,uEAAY,CAACp1C,KAAD,CAAhB,EAAyB;AACrB,aAAK2xE,kBAAL,CAAwB9oE,IAAxB,CAA6B7I,KAA7B;AACH,OAFD,MAGK;AACD;AACA,aAAK2xE,kBAAL,CAAwB9oE,IAAxB,CAA6B,IAAIysC,sEAAJ,CAAoBJ,mDAAY,CAACl1C,KAAD,CAAZ,GAAsBA,KAAtB,GAA8B2G,KAAK,CAACsgB,IAAN,CAAWjnB,KAAK,IAAI,EAApB,CAAlD,CAA7B;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AAC4B,QAApBoyE,oBAAoB,GAAG;AACvB,aAAO,KAAKC,qBAAZ;AACH;;AACuB,QAApBD,oBAAoB,CAACl4E,EAAD,EAAK;AACzB,WAAK83E,YAAL,GAAoB,IAApB;AACA,WAAKK,qBAAL,GAA6Bn4E,EAAE,GAC3B,CAACskB,KAAD,EAAQtX,IAAR,KAAiBhN,EAAE,CAACskB,KAAK,IAAI,KAAKgvD,cAAL,GAAsB,KAAKA,cAAL,CAAoB1zD,KAA1C,GAAkD,CAAtD,CAAN,EAAgE5S,IAAhE,CADQ,GAE3BxH,SAFJ;AAGH;AACD;;;AACyB,QAArB4yE,qBAAqB,CAACtyE,KAAD,EAAQ;AAC7B,UAAIA,KAAJ,EAAW;AACP,aAAKgyE,YAAL,GAAoB,IAApB;AACA,aAAKT,SAAL,GAAiBvxE,KAAjB;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACsC,QAA9BuyE,8BAA8B,GAAG;AACjC,aAAO,KAAKd,aAAL,CAAmB76B,aAA1B;AACH;;AACiC,QAA9B27B,8BAA8B,CAAC1kE,IAAD,EAAO;AACrC,WAAK4jE,aAAL,CAAmB76B,aAAnB,GAAmCwJ,2EAAoB,CAACvyC,IAAD,CAAvD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIuhE,IAAAA,gBAAgB,CAACV,KAAD,EAAQV,WAAR,EAAqB;AACjC,UAAIU,KAAK,CAAC50D,KAAN,IAAe40D,KAAK,CAACzF,GAAzB,EAA8B;AAC1B,eAAO,CAAP;AACH;;AACD,UAAI,CAACyF,KAAK,CAAC50D,KAAN,GAAc,KAAK0zD,cAAL,CAAoB1zD,KAAlC,IAA2C40D,KAAK,CAACzF,GAAN,GAAY,KAAKuE,cAAL,CAAoBvE,GAA5E,MACC,OAAOzkE,SAAP,KAAqB,WAArB,IAAoCA,SADrC,CAAJ,EACqD;AACjD,cAAM3F,KAAK,CAAE,0DAAF,CAAX;AACH,OAPgC,CAQjC;;;AACA,YAAM2zE,kBAAkB,GAAG9D,KAAK,CAAC50D,KAAN,GAAc,KAAK0zD,cAAL,CAAoB1zD,KAA7D,CATiC,CAUjC;;AACA,YAAM24D,QAAQ,GAAG/D,KAAK,CAACzF,GAAN,GAAYyF,KAAK,CAAC50D,KAAnC,CAXiC,CAYjC;AACA;;AACA,UAAI44D,SAAJ;AACA,UAAIC,QAAJ,CAfiC,CAgBjC;;AACA,WAAK,IAAIpwE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkwE,QAApB,EAA8BlwE,CAAC,EAA/B,EAAmC;AAC/B,cAAM4zC,IAAI,GAAG,KAAKkvB,iBAAL,CAAuBnlE,GAAvB,CAA2BqC,CAAC,GAAGiwE,kBAA/B,CAAb;;AACA,YAAIr8B,IAAI,IAAIA,IAAI,CAACuuB,SAAL,CAAenpE,MAA3B,EAAmC;AAC/Bm3E,UAAAA,SAAS,GAAGC,QAAQ,GAAGx8B,IAAI,CAACuuB,SAAL,CAAe,CAAf,CAAvB;AACA;AACH;AACJ,OAvBgC,CAwBjC;;;AACA,WAAK,IAAIniE,CAAC,GAAGkwE,QAAQ,GAAG,CAAxB,EAA2BlwE,CAAC,GAAG,CAAC,CAAhC,EAAmCA,CAAC,EAApC,EAAwC;AACpC,cAAM4zC,IAAI,GAAG,KAAKkvB,iBAAL,CAAuBnlE,GAAvB,CAA2BqC,CAAC,GAAGiwE,kBAA/B,CAAb;;AACA,YAAIr8B,IAAI,IAAIA,IAAI,CAACuuB,SAAL,CAAenpE,MAA3B,EAAmC;AAC/Bo3E,UAAAA,QAAQ,GAAGx8B,IAAI,CAACuuB,SAAL,CAAevuB,IAAI,CAACuuB,SAAL,CAAenpE,MAAf,GAAwB,CAAvC,CAAX;AACA;AACH;AACJ;;AACD,aAAOm3E,SAAS,IAAIC,QAAb,GACHvB,SAAS,CAACpD,WAAD,EAAc,KAAd,EAAqB2E,QAArB,CAAT,GAA0CvB,SAAS,CAACpD,WAAD,EAAc,OAAd,EAAuB0E,SAAvB,CADhD,GACoF,CAD3F;AAEH;;AACD/qC,IAAAA,SAAS,GAAG;AACR,UAAI,KAAKoqC,OAAL,IAAgB,KAAKC,YAAzB,EAAuC;AACnC;AACA;AACA;AACA,cAAM5zC,OAAO,GAAG,KAAK2zC,OAAL,CAAaa,IAAb,CAAkB,KAAKC,cAAvB,CAAhB;;AACA,YAAI,CAACz0C,OAAL,EAAc;AACV,eAAK00C,cAAL;AACH,SAFD,MAGK;AACD,eAAKC,aAAL,CAAmB30C,OAAnB;AACH;;AACD,aAAK4zC,YAAL,GAAoB,KAApB;AACH;AACJ;;AACD51C,IAAAA,WAAW,GAAG;AACV,WAAK0rC,SAAL,CAAepxB,MAAf;;AACA,WAAKi7B,kBAAL,CAAwB9oE,IAAxB,CAA6BnJ,SAA7B;;AACA,WAAKiyE,kBAAL,CAAwBzlC,QAAxB;;AACA,WAAKwlC,UAAL,CAAgBxlC,QAAhB;;AACA,WAAKvyC,UAAL,CAAgBkP,IAAhB;;AACA,WAAKlP,UAAL,CAAgBuyC,QAAhB;;AACA,WAAKulC,aAAL,CAAmB/6B,MAAnB;AACH;AACD;;;AACAu7B,IAAAA,qBAAqB,GAAG;AACpB,UAAI,CAAC,KAAKzE,cAAV,EAA0B;AACtB;AACH;;AACD,WAAKqF,cAAL,GAAsB,KAAKt9B,KAAL,CAAWz+B,KAAX,CAAiB,KAAK02D,cAAL,CAAoB1zD,KAArC,EAA4C,KAAK0zD,cAAL,CAAoBvE,GAAhE,CAAtB;;AACA,UAAI,CAAC,KAAK8I,OAAV,EAAmB;AACf;AACA;AACA,aAAKA,OAAL,GAAe,KAAKP,QAAL,CAAc5gE,IAAd,CAAmB,KAAKiiE,cAAxB,EAAwCr7D,MAAxC,CAA+C,CAACgH,KAAD,EAAQtX,IAAR,KAAiB;AAC3E,iBAAO,KAAKkrE,oBAAL,GAA4B,KAAKA,oBAAL,CAA0B5zD,KAA1B,EAAiCtX,IAAjC,CAA5B,GAAqEA,IAA5E;AACH,SAFc,CAAf;AAGH;;AACD,WAAK8qE,YAAL,GAAoB,IAApB;AACH;AACD;;;AACAF,IAAAA,iBAAiB,CAACkB,KAAD,EAAQC,KAAR,EAAe;AAC5B,UAAID,KAAJ,EAAW;AACPA,QAAAA,KAAK,CAACx9B,UAAN,CAAiB,IAAjB;AACH;;AACD,WAAKw8B,YAAL,GAAoB,IAApB;AACA,aAAOiB,KAAK,GAAGA,KAAK,CAAC59B,OAAN,CAAc,IAAd,CAAH,GAAyB3d,wCAAE,EAAvC;AACH;AACD;;;AACAo7C,IAAAA,cAAc,GAAG;AACb,YAAM1hD,KAAK,GAAG,KAAKmkB,KAAL,CAAWh6C,MAAzB;AACA,UAAIgH,CAAC,GAAG,KAAK8iE,iBAAL,CAAuB9pE,MAA/B;;AACA,aAAOgH,CAAC,EAAR,EAAY;AACR,cAAM4zC,IAAI,GAAG,KAAKkvB,iBAAL,CAAuBnlE,GAAvB,CAA2BqC,CAA3B,CAAb;;AACA4zC,QAAAA,IAAI,CAACvsC,OAAL,CAAa4U,KAAb,GAAqB,KAAKgvD,cAAL,CAAoB1zD,KAApB,GAA4BvX,CAAjD;AACA4zC,QAAAA,IAAI,CAACvsC,OAAL,CAAawnB,KAAb,GAAqBA,KAArB;;AACA,aAAK8hD,gCAAL,CAAsC/8B,IAAI,CAACvsC,OAA3C;;AACAusC,QAAAA,IAAI,CAACwuB,aAAL;AACH;AACJ;AACD;;;AACAoO,IAAAA,aAAa,CAAC30C,OAAD,EAAU;AACnB,WAAKqzC,aAAL,CAAmB/7B,YAAnB,CAAgCtX,OAAhC,EAAyC,KAAKinC,iBAA9C,EAAiE,CAACrvB,MAAD,EAASm9B,sBAAT,EAAiCj9B,YAAjC,KAAkD,KAAKk9B,oBAAL,CAA0Bp9B,MAA1B,EAAkCE,YAAlC,CAAnH,EAAqKF,MAAD,IAAYA,MAAM,CAAC9uC,IAAvL,EADmB,CAEnB;;;AACAk3B,MAAAA,OAAO,CAACi1C,qBAAR,CAA+Br9B,MAAD,IAAY;AACtC,cAAMG,IAAI,GAAG,KAAKkvB,iBAAL,CAAuBnlE,GAAvB,CAA2B81C,MAAM,CAACE,YAAlC,CAAb;;AACAC,QAAAA,IAAI,CAACvsC,OAAL,CAAawtC,SAAb,GAAyBpB,MAAM,CAAC9uC,IAAhC;AACH,OAHD,EAHmB,CAOnB;;AACA,YAAMkqB,KAAK,GAAG,KAAKmkB,KAAL,CAAWh6C,MAAzB;AACA,UAAIgH,CAAC,GAAG,KAAK8iE,iBAAL,CAAuB9pE,MAA/B;;AACA,aAAOgH,CAAC,EAAR,EAAY;AACR,cAAM4zC,IAAI,GAAG,KAAKkvB,iBAAL,CAAuBnlE,GAAvB,CAA2BqC,CAA3B,CAAb;;AACA4zC,QAAAA,IAAI,CAACvsC,OAAL,CAAa4U,KAAb,GAAqB,KAAKgvD,cAAL,CAAoB1zD,KAApB,GAA4BvX,CAAjD;AACA4zC,QAAAA,IAAI,CAACvsC,OAAL,CAAawnB,KAAb,GAAqBA,KAArB;;AACA,aAAK8hD,gCAAL,CAAsC/8B,IAAI,CAACvsC,OAA3C;AACH;AACJ;AACD;;;AACAspE,IAAAA,gCAAgC,CAACtpE,OAAD,EAAU;AACtCA,MAAAA,OAAO,CAACsmE,KAAR,GAAgBtmE,OAAO,CAAC4U,KAAR,KAAkB,CAAlC;AACA5U,MAAAA,OAAO,CAAC0pE,IAAR,GAAe1pE,OAAO,CAAC4U,KAAR,KAAkB5U,OAAO,CAACwnB,KAAR,GAAgB,CAAjD;AACAxnB,MAAAA,OAAO,CAAC2pE,IAAR,GAAe3pE,OAAO,CAAC4U,KAAR,GAAgB,CAAhB,KAAsB,CAArC;AACA5U,MAAAA,OAAO,CAAC4pE,GAAR,GAAc,CAAC5pE,OAAO,CAAC2pE,IAAvB;AACH;;AACDH,IAAAA,oBAAoB,CAACp9B,MAAD,EAASx3B,KAAT,EAAgB;AAChC;AACA;AACA;AACA;AACA,aAAO;AACHg4B,QAAAA,WAAW,EAAE,KAAK+6B,SADf;AAEH3nE,QAAAA,OAAO,EAAE;AACLwtC,UAAAA,SAAS,EAAEpB,MAAM,CAAC9uC,IADb;AAEL;AACA;AACAgrE,UAAAA,eAAe,EAAE,KAAKC,gBAJjB;AAKL3zD,UAAAA,KAAK,EAAE,CAAC,CALH;AAML4S,UAAAA,KAAK,EAAE,CAAC,CANH;AAOL8+C,UAAAA,KAAK,EAAE,KAPF;AAQLoD,UAAAA,IAAI,EAAE,KARD;AASLE,UAAAA,GAAG,EAAE,KATA;AAULD,UAAAA,IAAI,EAAE;AAVD,SAFN;AAcH/0D,QAAAA;AAdG,OAAP;AAgBH;;AA/OiB;;AAiPtB8yD,EAAAA,eAAe,CAACrtE,IAAhB,GAAuB,SAASwvE,uBAAT,CAAiCtvE,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAImtE,eAAV,EAA2Bv0E,+DAAA,CAAyBA,2DAAzB,CAA3B,EAA8EA,+DAAA,CAAyBA,sDAAzB,CAA9E,EAA4HA,+DAAA,CAAyBA,0DAAzB,CAA5H,EAA8KA,+DAAA,CAAyBy8C,8EAAzB,CAA9K,EAAiOz8C,+DAAA,CAAyB+vE,wBAAzB,EAAmD,CAAnD,CAAjO,EAAwR/vE,+DAAA,CAAyBA,iDAAzB,CAAxR,CAAP;AAA0U,GAAvY;;AACAu0E,EAAAA,eAAe,CAACrpC,IAAhB,GAAuB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE85E,eAAR;AAAyBnpC,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,EAA0B,iBAA1B,EAA6C,EAA7C,CAAD,CAApC;AAAwFC,IAAAA,MAAM,EAAE;AAAE8pC,MAAAA,eAAe,EAAE,iBAAnB;AAAsCE,MAAAA,oBAAoB,EAAE,sBAA5D;AAAoFE,MAAAA,qBAAqB,EAAE,uBAA3G;AAAoIC,MAAAA,8BAA8B,EAAE;AAApK,KAAhG;AAAwSjqC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAC/X;AAAE83C,MAAAA,OAAO,EAAE2E,8EAAX;AAAoCk6B,MAAAA,QAAQ,EAAE/8B,mFAA4BA;AAA1E,KAD+X,CAA1B,CAAD;AAAlT,GAAzB,CAArC;SAlPM26B;;;AAmQN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO9sE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAqBC,CArBhB;AAuBA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMmvE;AAAN,QAAMA,mBAAN,CAA0B;;AAE1BA,EAAAA,mBAAmB,CAAC1vE,IAApB,GAA2B,SAAS2vE,2BAAT,CAAqCzvE,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAIwvE,mBAAV,GAAP;AAA0C,GAA/G;;AACAA,EAAAA,mBAAmB,CAAC5gC,IAApB,GAA2B,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEm8E;AAAR,GAAxB,CAAzC;AACAA,EAAAA,mBAAmB,CAAC1gC,IAApB,GAA2B,aAAcl2C,8DAAA,CAAwB,EAAxB,CAAzC;SAJM42E;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOnvE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMO,CANtB;;AAOA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0B42E,mBAA1B,EAA+C;AAAErgC,IAAAA,YAAY,EAAE,CAACgP,aAAD,CAAhB;AAAiC/O,IAAAA,OAAO,EAAE,CAAC+O,aAAD;AAA1C,GAA/C,CAAnD;AAAiK,CAAhL;AACA;AACA;AACA;;;IACMH;AAAN,QAAMA,eAAN,CAAsB;;AAEtBA,EAAAA,eAAe,CAACl+C,IAAhB,GAAuB,SAAS4vE,uBAAT,CAAiC1vE,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAIg+C,eAAV,GAAP;AAAsC,GAAnG;;AACAA,EAAAA,eAAe,CAACpP,IAAhB,GAAuB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAE2qD;AAAR,GAAxB,CAArC;AACAA,EAAAA,eAAe,CAAClP,IAAhB,GAAuB,aAAcl2C,8DAAA,CAAwB;AAAEo2C,IAAAA,OAAO,EAAE,CAAC,CAC7D4B,0DAD6D,EAE7Drb,iEAF6D,EAG7Di6C,mBAH6D,CAAD,EAI7D5+B,0DAJ6D,EAIjD4+B,mBAJiD;AAAX,GAAxB,CAArC;SAJMxxB;;;AASN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO39C,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAqBO,CArBtB;;AAsBA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0BolD,eAA1B,EAA2C;AAAE7O,IAAAA,YAAY,EAAE,YAAY;AAAE,aAAO,CAAC42B,yBAAD,EAA4BoH,eAA5B,EAA6CxE,wBAA7C,CAAP;AAAgF,KAA9G;AAAgH35B,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAAC4B,0DAAD,EACnPrb,iEADmP,EACnOi6C,mBADmO,CAAP;AACrM,KAD8D;AAC5DpgC,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACwB,0DAAD,EAAa4+B,mBAAb,EAAkCzJ,yBAAlC,EAA6DoH,eAA7D,EAA8ExE,wBAA9E,CAAP;AAAiH;AAD5E,GAA3C,CAAnD;AACgL,CAD/L;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACp8CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA;AACA;AACA,MAAMiH,eAAe,gBAAGx6C,sFAA+B,CAAC;AAAE4R,EAAAA,OAAO,EAAE;AAAX,CAAD,CAAvD;AACA;AACA;AACA;AACA;AACA;;IACM6oC;AAAN,QAAMA,eAAN,CAAsB;AAClB56E,IAAAA,WAAW,CAACgpC,SAAD,EAAYqC,OAAZ,EAAqB;AAC5B,WAAKrC,SAAL,GAAiBA,SAAjB;AACA,WAAKqC,OAAL,GAAeA,OAAf;AACA,WAAKwvC,kBAAL,GAA0B,IAAIh0E,GAAJ,EAA1B;AACH;;AACDivC,IAAAA,OAAO,CAAC0R,YAAD,EAAe;AAClB,UAAI,CAAC,KAAKxe,SAAL,CAAeplC,SAApB,EAA+B;AAC3B,eAAO4gC,uCAAP;AACH;;AACD,YAAMjgC,OAAO,GAAGw7B,oEAAa,CAACynB,YAAD,CAA7B;;AACA,YAAMrR,IAAI,GAAG,KAAK0kC,kBAAL,CAAwB/zE,GAAxB,CAA4BvC,OAA5B,CAAb;;AACA,UAAI4xC,IAAJ,EAAU;AACN,eAAOA,IAAI,CAACD,OAAZ;AACH;;AACD,YAAMvsC,MAAM,GAAG,IAAIw0B,yCAAJ,EAAf;AACA,YAAM+2B,QAAQ,GAAG,2BAAjB;;AACA,YAAM3rC,QAAQ,GAAK1jB,KAAD,IAAW;AACzB;AACA;AACA;AACA,YAAIA,KAAK,CAACsxB,aAAN,KAAwB,+BAAxB,IACA,CAAC5yB,OAAO,CAAC8uB,SAAR,CAAkBlrB,QAAlB,CAA2B+sD,QAA3B,CADL,EAC2C;AACvC3wD,UAAAA,OAAO,CAAC8uB,SAAR,CAAkB7e,GAAlB,CAAsB0gD,QAAtB;;AACA,eAAK7pB,OAAL,CAAawM,GAAb,CAAiB,MAAMluC,MAAM,CAAC8F,IAAP,CAAY;AAAE0N,YAAAA,MAAM,EAAEtX,KAAK,CAACsX,MAAhB;AAAwB29D,YAAAA,YAAY,EAAE;AAAtC,WAAZ,CAAvB;AACH,SAJD,MAKK,IAAIj1E,KAAK,CAACsxB,aAAN,KAAwB,6BAAxB,IACL5yB,OAAO,CAAC8uB,SAAR,CAAkBlrB,QAAlB,CAA2B+sD,QAA3B,CADC,EACqC;AACtC3wD,UAAAA,OAAO,CAAC8uB,SAAR,CAAkBE,MAAlB,CAAyB2hC,QAAzB;;AACA,eAAK7pB,OAAL,CAAawM,GAAb,CAAiB,MAAMluC,MAAM,CAAC8F,IAAP,CAAY;AAAE0N,YAAAA,MAAM,EAAEtX,KAAK,CAACsX,MAAhB;AAAwB29D,YAAAA,YAAY,EAAE;AAAtC,WAAZ,CAAvB;AACH;AACJ,OAdD;;AAeA,WAAKzvC,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACjC5nC,QAAAA,OAAO,CAACuzB,gBAAR,CAAyB,gBAAzB,EAA2CvO,QAA3C,EAAqDoxD,eAArD;AACAp2E,QAAAA,OAAO,CAAC8uB,SAAR,CAAkB7e,GAAlB,CAAsB,mCAAtB;AACH,OAHD;;AAIA,WAAKqmE,kBAAL,CAAwB9zE,GAAxB,CAA4BxC,OAA5B,EAAqC;AACjC2xC,QAAAA,OAAO,EAAEvsC,MADwB;AAEjCoxE,QAAAA,QAAQ,EAAE,MAAM;AACZx2E,UAAAA,OAAO,CAACszB,mBAAR,CAA4B,gBAA5B,EAA8CtO,QAA9C,EAAwDoxD,eAAxD;AACH;AAJgC,OAArC;;AAMA,aAAOhxE,MAAP;AACH;;AACD0sC,IAAAA,cAAc,CAACmR,YAAD,EAAe;AACzB,YAAMjjD,OAAO,GAAGw7B,oEAAa,CAACynB,YAAD,CAA7B;;AACA,YAAMrR,IAAI,GAAG,KAAK0kC,kBAAL,CAAwB/zE,GAAxB,CAA4BvC,OAA5B,CAAb;;AACA,UAAI4xC,IAAJ,EAAU;AACNA,QAAAA,IAAI,CAAC4kC,QAAL;AACA5kC,QAAAA,IAAI,CAACD,OAAL,CAAapD,QAAb;AACAvuC,QAAAA,OAAO,CAAC8uB,SAAR,CAAkBE,MAAlB,CAAyB,mCAAzB;AACAhvB,QAAAA,OAAO,CAAC8uB,SAAR,CAAkBE,MAAlB,CAAyB,2BAAzB;;AACA,aAAKsnD,kBAAL,CAAwBpiE,MAAxB,CAA+BlU,OAA/B;AACH;AACJ;;AACDy+B,IAAAA,WAAW,GAAG;AACV,WAAK63C,kBAAL,CAAwBh6E,OAAxB,CAAgC,CAACk2C,KAAD,EAAQxyC,OAAR,KAAoB,KAAK8xC,cAAL,CAAoB9xC,OAApB,CAApD;AACH;;AAzDiB;;AA2DtBq2E,EAAAA,eAAe,CAAC/vE,IAAhB,GAAuB,SAASmwE,uBAAT,CAAiCjwE,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAI6vE,eAAV,EAA2Bj3E,sDAAA,CAAgB88B,2DAAhB,CAA3B,EAA6D98B,sDAAA,CAAgBA,iDAAhB,CAA7D,CAAP;AAAsG,GAAnK;;AACAi3E,EAAAA,eAAe,CAAC5vE,KAAhB,GAAwBuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAAS6vE,uBAAT,GAAmC;AAAE,aAAO,IAAIJ,eAAJ,CAAoBr9C,sDAAA,CAAYyC,2DAAZ,CAApB,EAA8CzC,sDAAA,CAAYA,iDAAZ,CAA9C,CAAP;AAA+E,KAA/H;AAAiIryB,IAAAA,KAAK,EAAE0vE,eAAxI;AAAyJ52C,IAAAA,UAAU,EAAE;AAArK,GAAtB,CAAxB;SA5DM42C;;;AAiEN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOxvE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAG+E,CAH9F;AAIA;;;IACM6vE;AAAN,QAAMA,WAAN,CAAkB;AACdj7E,IAAAA,WAAW,CAAC8tC,WAAD,EAAcotC,gBAAd,EAAgC;AACvC,WAAKptC,WAAL,GAAmBA,WAAnB;AACA,WAAKotC,gBAAL,GAAwBA,gBAAxB;AACA;;AACA,WAAKC,WAAL,GAAmB,IAAIn9C,uDAAJ,EAAnB;AACH;;AACDsuC,IAAAA,QAAQ,GAAG;AACP,WAAK4O,gBAAL,CACKplC,OADL,CACa,KAAKhI,WADlB,EAEK7I,SAFL,CAEep/B,KAAK,IAAI,KAAKs1E,WAAL,CAAiB7iC,IAAjB,CAAsBzyC,KAAtB,CAFxB;AAGH;;AACDm9B,IAAAA,WAAW,GAAG;AACV,WAAKk4C,gBAAL,CAAsB7kC,cAAtB,CAAqC,KAAKvI,WAA1C;AACH;;AAda;;AAgBlBmtC,EAAAA,WAAW,CAACpwE,IAAZ,GAAmB,SAASuwE,mBAAT,CAA6BrwE,CAA7B,EAAgC;AAAE,WAAO,KAAKA,CAAC,IAAIkwE,WAAV,EAAuBt3E,+DAAA,CAAyBA,qDAAzB,CAAvB,EAAoEA,+DAAA,CAAyBi3E,eAAzB,CAApE,CAAP;AAAwH,GAA7K;;AACAK,EAAAA,WAAW,CAACpsC,IAAZ,GAAmB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE68E,WAAR;AAAqBlsC,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,aAAL,EAAoB,EAApB,CAAD,CAAhC;AAA2DyJ,IAAAA,OAAO,EAAE;AAAE2iC,MAAAA,WAAW,EAAE;AAAf;AAApE,GAAzB,CAAjC;SAjBMF;;;AAyBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO7vE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOC,CAPhB;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACMiwE;AAAN,QAAMA,mBAAN,CAA0B;AACtBr7E,IAAAA,WAAW,CAAC8tC,WAAD,EAAc9E,SAAd,EAAyBqC,OAAzB;AACX;AACAvnC,IAAAA,QAFW,EAED;AACN,WAAKgqC,WAAL,GAAmBA,WAAnB;AACA,WAAK9E,SAAL,GAAiBA,SAAjB;AACA,WAAKqC,OAAL,GAAeA,OAAf;AACA,WAAK9qC,UAAL,GAAkB,IAAI49B,yCAAJ,EAAlB;AACA,WAAKyN,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;AACA;;AACQ,WAAK0vC,gBAAL,GAAwB,CAAC,CAAzB;AACA,WAAKC,aAAL,GAAqB,KAArB;AACA;;AACA,WAAKC,iBAAL,GAA0B31E,KAAD,IAAW;AAChC,aAAK41E,SAAL,GAAiB51E,KAAK,CAACzH,IAAN,KAAe,OAAhC;AACH,OAFD;;AAGA,WAAKyjC,SAAL,GAAiB/9B,QAAjB;AACA,WAAK43E,gBAAL,GAAwB,KAAK5tC,WAAL,CAAiBI,aAAzC;AACH;AACD;;;AACW,QAAPytC,OAAO,GAAG;AAAE,aAAO,KAAKC,QAAZ;AAAuB;;AAC5B,QAAPD,OAAO,CAAC/0E,KAAD,EAAQ;AACf,WAAKg1E,QAAL,GAAgB50B,2EAAoB,CAACpgD,KAAD,CAApC;;AACA,WAAKi1E,aAAL;AACH;AACD;;;AACW,QAAPC,OAAO,GAAG;AAAE,aAAO,KAAKC,QAAZ;AAAuB;;AAC5B,QAAPD,OAAO,CAACl1E,KAAD,EAAQ;AACf,WAAKm1E,QAAL,GAAgB/0B,2EAAoB,CAACpgD,KAAD,CAApC;;AACA,WAAKo1E,aAAL;AACH;AACD;;;AACW,QAAPr2C,OAAO,GAAG;AAAE,aAAO,KAAKiG,QAAZ;AAAuB;;AAC5B,QAAPjG,OAAO,CAAC/+B,KAAD,EAAQ;AACfA,MAAAA,KAAK,GAAGk5B,4EAAqB,CAACl5B,KAAD,CAA7B,CADe,CAEf;AACA;;AACA,UAAI,KAAKglC,QAAL,KAAkBhlC,KAAtB,EAA6B;AACzB,SAAC,KAAKglC,QAAL,GAAgBhlC,KAAjB,IAA0B,KAAKq1E,kBAAL,CAAwB,IAAxB,CAA1B,GAA0D,KAAKr6E,KAAL,EAA1D;AACH;AACJ;;AACc,QAAXs6E,WAAW,GAAG;AAAE,aAAO,KAAKR,gBAAL,CAAsBQ,WAA7B;AAA2C;;AAChD,QAAXA,WAAW,CAACt1E,KAAD,EAAQ;AACnB,WAAKu1E,wBAAL,GAAgC71E,SAAhC;AACA,WAAKo1E,gBAAL,CAAsBQ,WAAtB,GAAoCt1E,KAApC;;AACA,WAAKw1E,+BAAL;AACH;AACD;;;AACAP,IAAAA,aAAa,GAAG;AACZ,YAAMvnB,SAAS,GAAG,KAAKqnB,OAAL,IAAgB,KAAKU,iBAArB,GACb,GAAE,KAAKV,OAAL,GAAe,KAAKU,iBAAkB,IAD3B,GACiC,IADnD;;AAEA,UAAI/nB,SAAJ,EAAe;AACX,aAAKonB,gBAAL,CAAsB98E,KAAtB,CAA4B01D,SAA5B,GAAwCA,SAAxC;AACH;AACJ;AACD;;;AACA0nB,IAAAA,aAAa,GAAG;AACZ,YAAMxnB,SAAS,GAAG,KAAKsnB,OAAL,IAAgB,KAAKO,iBAArB,GACb,GAAE,KAAKP,OAAL,GAAe,KAAKO,iBAAkB,IAD3B,GACiC,IADnD;;AAEA,UAAI7nB,SAAJ,EAAe;AACX,aAAKknB,gBAAL,CAAsB98E,KAAtB,CAA4B41D,SAA5B,GAAwCA,SAAxC;AACH;AACJ;;AACDpc,IAAAA,eAAe,GAAG;AACd,UAAI,KAAKpP,SAAL,CAAeplC,SAAnB,EAA8B;AAC1B;AACA,aAAK04E,cAAL,GAAsB,KAAKZ,gBAAL,CAAsB98E,KAAtB,CAA4B6sD,MAAlD;AACA,aAAKwwB,kBAAL;;AACA,aAAK5wC,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACjC,gBAAMtoC,MAAM,GAAG,KAAKmzC,UAAL,EAAf;;AACAy2B,UAAAA,+CAAS,CAAC5pE,MAAD,EAAS,QAAT,CAAT,CACKuiC,IADL,CACUwnC,yDAAS,CAAC,EAAD,CADnB,EACyB/tC,yDAAS,CAAC,KAAKt/B,UAAN,CADlC,EAEK0kC,SAFL,CAEe,MAAM,KAAKg3C,kBAAL,CAAwB,IAAxB,CAFrB;;AAGA,eAAKP,gBAAL,CAAsB5jD,gBAAtB,CAAuC,OAAvC,EAAgD,KAAK0jD,iBAArD;;AACA,eAAKE,gBAAL,CAAsB5jD,gBAAtB,CAAuC,MAAvC,EAA+C,KAAK0jD,iBAApD;AACH,SAPD;;AAQA,aAAKD,aAAL,GAAqB,IAArB;AACA,aAAKU,kBAAL,CAAwB,IAAxB;AACH;AACJ;;AACDj5C,IAAAA,WAAW,GAAG;AACV,WAAK04C,gBAAL,CAAsB7jD,mBAAtB,CAA0C,OAA1C,EAAmD,KAAK2jD,iBAAxD;;AACA,WAAKE,gBAAL,CAAsB7jD,mBAAtB,CAA0C,MAA1C,EAAkD,KAAK2jD,iBAAvD;;AACA,WAAKj7E,UAAL,CAAgBkP,IAAhB;;AACA,WAAKlP,UAAL,CAAgBuyC,QAAhB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIypC,IAAAA,wBAAwB,GAAG;AACvB,UAAI,KAAKF,iBAAT,EAA4B;AACxB;AACH,OAHsB,CAIvB;;;AACA,UAAIG,aAAa,GAAG,KAAKd,gBAAL,CAAsBe,SAAtB,CAAgC,KAAhC,CAApB;;AACAD,MAAAA,aAAa,CAACE,IAAd,GAAqB,CAArB,CANuB,CAOvB;AACA;AACA;;AACAF,MAAAA,aAAa,CAAC59E,KAAd,CAAoBkD,QAApB,GAA+B,UAA/B;AACA06E,MAAAA,aAAa,CAAC59E,KAAd,CAAoB0kC,UAApB,GAAiC,QAAjC;AACAk5C,MAAAA,aAAa,CAAC59E,KAAd,CAAoB+9E,MAApB,GAA6B,MAA7B;AACAH,MAAAA,aAAa,CAAC59E,KAAd,CAAoBg+E,OAApB,GAA8B,GAA9B;AACAJ,MAAAA,aAAa,CAAC59E,KAAd,CAAoB6sD,MAApB,GAA6B,EAA7B;AACA+wB,MAAAA,aAAa,CAAC59E,KAAd,CAAoB01D,SAApB,GAAgC,EAAhC;AACAkoB,MAAAA,aAAa,CAAC59E,KAAd,CAAoB41D,SAApB,GAAgC,EAAhC,CAhBuB,CAiBvB;AACA;AACA;AACA;AACA;;AACAgoB,MAAAA,aAAa,CAAC59E,KAAd,CAAoBmpE,QAApB,GAA+B,QAA/B;;AACA,WAAK2T,gBAAL,CAAsBrzE,UAAtB,CAAiC6xB,WAAjC,CAA6CsiD,aAA7C;;AACA,WAAKH,iBAAL,GAAyBG,aAAa,CAAC5e,YAAvC;;AACA,WAAK8d,gBAAL,CAAsBrzE,UAAtB,CAAiCuyB,WAAjC,CAA6C4hD,aAA7C,EAzBuB,CA0BvB;;;AACA,WAAKX,aAAL;;AACA,WAAKG,aAAL;AACH;;AACDa,IAAAA,oBAAoB,GAAG;AACnB,YAAMt4E,OAAO,GAAG,KAAKm3E,gBAArB;AACA,YAAMoB,cAAc,GAAGv4E,OAAO,CAAC3F,KAAR,CAAcoiE,YAAd,IAA8B,EAArD;AACA,YAAM+b,SAAS,GAAG,KAAK/zC,SAAL,CAAee,OAAjC;AACA,YAAMizC,iBAAiB,GAAGD,SAAS,IAAI,KAAKtB,SAA5C;AACA,YAAMwB,cAAc,GAAGF,SAAS,GAC5B,yCAD4B,GAE5B,iCAFJ,CALmB,CAQnB;AACA;AACA;;AACA,UAAIC,iBAAJ,EAAuB;AACnBz4E,QAAAA,OAAO,CAAC3F,KAAR,CAAcoiE,YAAd,GAA8B,GAAEz8D,OAAO,CAACq5D,YAAa,IAArD;AACH,OAbkB,CAcnB;AACA;;;AACAr5D,MAAAA,OAAO,CAAC8uB,SAAR,CAAkB7e,GAAlB,CAAsByoE,cAAtB,EAhBmB,CAiBnB;AACA;;AACA,YAAMzxB,YAAY,GAAGjnD,OAAO,CAACinD,YAAR,GAAuB,CAA5C;AACAjnD,MAAAA,OAAO,CAAC8uB,SAAR,CAAkBE,MAAlB,CAAyB0pD,cAAzB;;AACA,UAAID,iBAAJ,EAAuB;AACnBz4E,QAAAA,OAAO,CAAC3F,KAAR,CAAcoiE,YAAd,GAA6B8b,cAA7B;AACH;;AACD,aAAOtxB,YAAP;AACH;;AACD4wB,IAAAA,+BAA+B,GAAG;AAC9B,UAAI,CAAC,KAAKb,aAAN,IAAuB,KAAKY,wBAAL,IAAiC71E,SAA5D,EAAuE;AACnE;AACH;;AACD,UAAI,CAAC,KAAK41E,WAAV,EAAuB;AACnB,aAAKC,wBAAL,GAAgC,CAAhC;AACA;AACH;;AACD,YAAMv1E,KAAK,GAAG,KAAK80E,gBAAL,CAAsB90E,KAApC;AACA,WAAK80E,gBAAL,CAAsB90E,KAAtB,GAA8B,KAAK80E,gBAAL,CAAsBQ,WAApD;AACA,WAAKC,wBAAL,GAAgC,KAAKU,oBAAL,EAAhC;AACA,WAAKnB,gBAAL,CAAsB90E,KAAtB,GAA8BA,KAA9B;AACH;;AACD2nC,IAAAA,SAAS,GAAG;AACR,UAAI,KAAKvF,SAAL,CAAeplC,SAAnB,EAA8B;AAC1B,aAAKq4E,kBAAL;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACIA,IAAAA,kBAAkB,CAACiB,KAAK,GAAG,KAAT,EAAgB;AAC9B;AACA,UAAI,CAAC,KAAKtxC,QAAV,EAAoB;AAChB;AACH;;AACD,WAAK2wC,wBAAL;;AACA,WAAKH,+BAAL,GAN8B,CAO9B;AACA;;;AACA,UAAI,CAAC,KAAKC,iBAAV,EAA6B;AACzB;AACH;;AACD,YAAMc,QAAQ,GAAG,KAAKrvC,WAAL,CAAiBI,aAAlC;AACA,YAAMtnC,KAAK,GAAGu2E,QAAQ,CAACv2E,KAAvB,CAb8B,CAc9B;;AACA,UAAI,CAACs2E,KAAD,IAAU,KAAKtB,QAAL,KAAkB,KAAKN,gBAAjC,IAAqD10E,KAAK,KAAK,KAAKw2E,cAAxE,EAAwF;AACpF;AACH;;AACD,YAAM5xB,YAAY,GAAG,KAAKqxB,oBAAL,EAArB;;AACA,YAAMpxB,MAAM,GAAG1oD,IAAI,CAACC,GAAL,CAASwoD,YAAT,EAAuB,KAAK2wB,wBAAL,IAAiC,CAAxD,CAAf,CAnB8B,CAoB9B;;AACAgB,MAAAA,QAAQ,CAACv+E,KAAT,CAAe6sD,MAAf,GAAyB,GAAEA,MAAO,IAAlC;;AACA,WAAKpgB,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACjC,YAAI,OAAOyoB,qBAAP,KAAiC,WAArC,EAAkD;AAC9CA,UAAAA,qBAAqB,CAAC,MAAM,KAAKyoB,sBAAL,CAA4BF,QAA5B,CAAP,CAArB;AACH,SAFD,MAGK;AACD7sC,UAAAA,UAAU,CAAC,MAAM,KAAK+sC,sBAAL,CAA4BF,QAA5B,CAAP,CAAV;AACH;AACJ,OAPD;;AAQA,WAAKC,cAAL,GAAsBx2E,KAAtB;AACA,WAAK00E,gBAAL,GAAwB,KAAKM,QAA7B;AACH;AACD;AACJ;AACA;;;AACIh6E,IAAAA,KAAK,GAAG;AACJ;AACA;AACA,UAAI,KAAK06E,cAAL,KAAwBh2E,SAA5B,EAAuC;AACnC,aAAKo1E,gBAAL,CAAsB98E,KAAtB,CAA4B6sD,MAA5B,GAAqC,KAAK6wB,cAA1C;AACH;AACJ,KA1NqB,CA2NtB;AACA;AACA;AACA;;;AACAgB,IAAAA,iBAAiB,GAAG,CAChB;AACH;AACD;;;AACAtnC,IAAAA,YAAY,GAAG;AACX,aAAO,KAAKnU,SAAL,IAAkB/9B,QAAzB;AACH;AACD;;;AACAkzC,IAAAA,UAAU,GAAG;AACT,YAAMC,GAAG,GAAG,KAAKjB,YAAL,EAAZ;;AACA,aAAOiB,GAAG,CAAC/L,WAAJ,IAAmBrnC,MAA1B;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIw5E,IAAAA,sBAAsB,CAACF,QAAD,EAAW;AAC7B,YAAM;AAAEI,QAAAA,cAAF;AAAkBC,QAAAA;AAAlB,UAAmCL,QAAzC,CAD6B,CAE7B;AACA;AACA;AACA;AACA;AACA;;AACA,UAAI,CAAC,KAAK58E,UAAL,CAAgBk9E,SAAjB,IAA8B,KAAKhC,SAAvC,EAAkD;AAC9C0B,QAAAA,QAAQ,CAACO,iBAAT,CAA2BH,cAA3B,EAA2CC,YAA3C;AACH;AACJ;;AA3PqB;;AA6P1BnC,EAAAA,mBAAmB,CAACxwE,IAApB,GAA2B,SAAS8yE,2BAAT,CAAqC5yE,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAIswE,mBAAV,EAA+B13E,+DAAA,CAAyBA,qDAAzB,CAA/B,EAA4EA,+DAAA,CAAyB88B,2DAAzB,CAA5E,EAAuH98B,+DAAA,CAAyBA,iDAAzB,CAAvH,EAAgKA,+DAAA,CAAyB25B,qDAAzB,EAAmC,CAAnC,CAAhK,CAAP;AAAgN,GAArR;;AACA+9C,EAAAA,mBAAmB,CAACxsC,IAApB,GAA2B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEi9E,mBAAR;AAA6BtsC,IAAAA,SAAS,EAAE,CAAC,CAAC,UAAD,EAAa,qBAAb,EAAoC,EAApC,CAAD,CAAxC;AAAmFgoC,IAAAA,SAAS,EAAE,CAAC,MAAD,EAAS,GAAT,EAAc,CAAd,EAAiB,uBAAjB,CAA9F;AAAyI37B,IAAAA,YAAY,EAAE,SAASwiC,gCAAT,CAA0CtiC,EAA1C,EAA8CxgC,GAA9C,EAAmD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAClR33C,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAASm6E,4CAAT,GAAwD;AAAE,iBAAOhjE,GAAG,CAACwiE,iBAAJ,EAAP;AAAiC,SAAtH;AACH;AAAE,KAF2D;AAEzDtuC,IAAAA,MAAM,EAAE;AAAE2sC,MAAAA,OAAO,EAAE,CAAC,oBAAD,EAAuB,SAAvB,CAAX;AAA8CG,MAAAA,OAAO,EAAE,CAAC,oBAAD,EAAuB,SAAvB,CAAvD;AAA0Fn2C,MAAAA,OAAO,EAAE,CAAC,qBAAD,EAAwB,SAAxB,CAAnG;AAAuIu2C,MAAAA,WAAW,EAAE;AAApJ,KAFiD;AAEoHjtC,IAAAA,QAAQ,EAAE,CAAC,qBAAD;AAF9H,GAAzB,CAAzC;SA9PMosC;;;AA8QN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOjwE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAoCC,CApChB;AAsCA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM2yE;AAAN,QAAMA,eAAN,CAAsB;;AAEtBA,EAAAA,eAAe,CAAClzE,IAAhB,GAAuB,SAASmzE,uBAAT,CAAiCjzE,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAIgzE,eAAV,GAAP;AAAsC,GAAnG;;AACAA,EAAAA,eAAe,CAACpkC,IAAhB,GAAuB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAE2/E;AAAR,GAAxB,CAArC;AACAA,EAAAA,eAAe,CAAClkC,IAAhB,GAAuB,aAAcl2C,8DAAA,CAAwB;AAAEo2C,IAAAA,OAAO,EAAE,CAAC,CAACzZ,iEAAD,CAAD;AAAX,GAAxB,CAArC;SAJMy9C;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO3yE,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOO,CAPtB;;AAQA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0Bo6E,eAA1B,EAA2C;AAAE7jC,IAAAA,YAAY,EAAE,YAAY;AAAE,aAAO,CAAC+gC,WAAD,EAAcI,mBAAd,CAAP;AAA4C,KAA1E;AAA4EthC,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACzZ,iEAAD,CAAP;AAA0B,KAA7H;AAA+H6Z,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAAC8gC,WAAD,EAAcI,mBAAd,CAAP;AAA4C;AAAlM,GAA3C,CAAnD;AAAsS,CAArT;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC7dA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA,MAAM6C,OAAO,gBAAG,IAAID,kDAAJ,CAAY,SAAZ,CAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA,SAASn+C,qBAAT,CAA+Bl5B,KAA/B,EAAsC;AAClC,SAAOA,KAAK,IAAI,IAAT,IAAkB,GAAEA,KAAM,EAAT,KAAe,OAAvC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASogD,oBAAT,CAA8BpgD,KAA9B,EAAqCu3E,aAAa,GAAG,CAArD,EAAwD;AACpD,SAAOC,cAAc,CAACx3E,KAAD,CAAd,GAAwB+uE,MAAM,CAAC/uE,KAAD,CAA9B,GAAwCu3E,aAA/C;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASC,cAAT,CAAwBx3E,KAAxB,EAA+B;AAC3B;AACA;AACA;AACA,SAAO,CAACkkC,KAAK,CAACz+B,UAAU,CAACzF,KAAD,CAAX,CAAN,IAA6B,CAACkkC,KAAK,CAAC6qC,MAAM,CAAC/uE,KAAD,CAAP,CAA1C;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+iD,WAAT,CAAqB/iD,KAArB,EAA4B;AACxB,SAAO2G,KAAK,CAACC,OAAN,CAAc5G,KAAd,IAAuBA,KAAvB,GAA+B,CAACA,KAAD,CAAtC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAAS8iD,mBAAT,CAA6B9iD,KAA7B,EAAoC;AAChC,MAAIA,KAAK,IAAI,IAAb,EAAmB;AACf,WAAO,EAAP;AACH;;AACD,SAAO,OAAOA,KAAP,KAAiB,QAAjB,GAA4BA,KAA5B,GAAqC,GAAEA,KAAM,IAApD;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,SAASm5B,aAAT,CAAuBynB,YAAvB,EAAqC;AACjC,SAAOA,YAAY,YAAY5pB,qDAAxB,GAAqC4pB,YAAY,CAACtZ,aAAlD,GAAkEsZ,YAAzE;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,SAAS62B,iBAAT,CAA2Bz3E,KAA3B,EAAkCmL,SAAS,GAAG,KAA9C,EAAqD;AACjD,QAAMpI,MAAM,GAAG,EAAf;;AACA,MAAI/C,KAAK,IAAI,IAAb,EAAmB;AACf,UAAM03E,YAAY,GAAG/wE,KAAK,CAACC,OAAN,CAAc5G,KAAd,IAAuBA,KAAvB,GAAgC,GAAEA,KAAM,EAAT,CAAW+K,KAAX,CAAiBI,SAAjB,CAApD;;AACA,SAAK,MAAMwsE,WAAX,IAA0BD,YAA1B,EAAwC;AACpC,YAAME,aAAa,GAAI,GAAED,WAAY,EAAf,CAAiBp9D,IAAjB,EAAtB;;AACA,UAAIq9D,aAAJ,EAAmB;AACf70E,QAAAA,MAAM,CAAC3I,IAAP,CAAYw9E,aAAZ;AACH;AACJ;AACJ;;AACD,SAAO70E,MAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChIA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,IAAIg2E,IAAI,GAAG,IAAX;;AACA,SAASC,MAAT,GAAkB;AACd,SAAOD,IAAP;AACH;;AACD,SAASE,MAAT,CAAgBC,OAAhB,EAAyB;AACrBH,EAAAA,IAAI,GAAGG,OAAP;AACH;;AACD,SAASC,iBAAT,CAA2BD,OAA3B,EAAoC;AAChC,MAAI,CAACH,IAAL,EAAW;AACPA,IAAAA,IAAI,GAAGG,OAAP;AACH;AACJ;AACD;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,UAAN,CAAiB;AAGjB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM1iD,QAAQ,gBAAG,IAAIQ,yDAAJ,CAAmB,eAAnB,CAAjB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMmiD;AAAN,QAAMA,gBAAN,CAAuB;AACnBC,IAAAA,SAAS,CAACC,gBAAD,EAAmB;AACxB,YAAM,IAAI16E,KAAJ,CAAU,iBAAV,CAAN;AACH;;AAHkB;;AAKvBw6E,EAAAA,gBAAgB,CAACp1E,IAAjB,GAAwB,SAASu1E,wBAAT,CAAkCr1E,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAIk1E,gBAAV,GAAP;AAAuC,GAAtG;;AACAA,EAAAA,gBAAgB,CAACj1E,KAAjB,GAAyBC,oEAAkB,CAAC;AAAEE,IAAAA,OAAO,EAAEk1E,0BAAX;AAAuCn1E,IAAAA,KAAK,EAAE+0E,gBAA9C;AAAgEj8C,IAAAA,UAAU,EAAE;AAA5E,GAAD,CAA3C;SANMi8C;;;AAON;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO70E,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOO,CAPtB;;AAQA,SAASi1E,0BAAT,GAAsC;AAClC,SAAOt8C,0DAAQ,CAACu8C,uBAAD,CAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,oBAAoB,gBAAG,IAAIziD,yDAAJ,CAAmB,sBAAnB,CAA7B;AACA;AACA;AACA;AACA;AACA;;IACMwiD;AAAN,QAAMA,uBAAN,SAAsCL,gBAAtC,CAAuD;AACnDjgF,IAAAA,WAAW,CAACwgF,IAAD,EAAO;AACd;AACA,WAAKA,IAAL,GAAYA,IAAZ;;AACA,WAAKC,KAAL;AACH,KALkD,CAMnD;;AACA;;;AACAA,IAAAA,KAAK,GAAG;AACJ,WAAKC,QAAL,GAAgB78E,MAAM,CAAC68E,QAAvB;AACA,WAAKC,QAAL,GAAgB98E,MAAM,CAAC+8E,OAAvB;AACH;;AACDC,IAAAA,kBAAkB,GAAG;AACjB,aAAOjB,MAAM,GAAGkB,WAAT,CAAqB,KAAKN,IAA1B,CAAP;AACH;;AACDO,IAAAA,UAAU,CAACjgF,EAAD,EAAK;AACX,YAAM+C,MAAM,GAAG+7E,MAAM,GAAGoB,oBAAT,CAA8B,KAAKR,IAAnC,EAAyC,QAAzC,CAAf;AACA38E,MAAAA,MAAM,CAACi0B,gBAAP,CAAwB,UAAxB,EAAoCh3B,EAApC,EAAwC,KAAxC;AACA,aAAO,MAAM+C,MAAM,CAACg0B,mBAAP,CAA2B,UAA3B,EAAuC/2B,EAAvC,CAAb;AACH;;AACDmgF,IAAAA,YAAY,CAACngF,EAAD,EAAK;AACb,YAAM+C,MAAM,GAAG+7E,MAAM,GAAGoB,oBAAT,CAA8B,KAAKR,IAAnC,EAAyC,QAAzC,CAAf;AACA38E,MAAAA,MAAM,CAACi0B,gBAAP,CAAwB,YAAxB,EAAsCh3B,EAAtC,EAA0C,KAA1C;AACA,aAAO,MAAM+C,MAAM,CAACg0B,mBAAP,CAA2B,YAA3B,EAAyC/2B,EAAzC,CAAb;AACH;;AACO,QAAJogF,IAAI,GAAG;AACP,aAAO,KAAKR,QAAL,CAAcQ,IAArB;AACH;;AACW,QAARC,QAAQ,GAAG;AACX,aAAO,KAAKT,QAAL,CAAcS,QAArB;AACH;;AACW,QAARC,QAAQ,GAAG;AACX,aAAO,KAAKV,QAAL,CAAcU,QAArB;AACH;;AACO,QAAJC,IAAI,GAAG;AACP,aAAO,KAAKX,QAAL,CAAcW,IAArB;AACH;;AACW,QAARC,QAAQ,GAAG;AACX,aAAO,KAAKZ,QAAL,CAAcY,QAArB;AACH;;AACS,QAANC,MAAM,GAAG;AACT,aAAO,KAAKb,QAAL,CAAca,MAArB;AACH;;AACO,QAAJC,IAAI,GAAG;AACP,aAAO,KAAKd,QAAL,CAAcc,IAArB;AACH;;AACW,QAARF,QAAQ,CAACG,OAAD,EAAU;AAClB,WAAKf,QAAL,CAAcY,QAAd,GAAyBG,OAAzB;AACH;;AACDC,IAAAA,SAAS,CAAC3iF,KAAD,EAAQ4iF,KAAR,EAAeC,GAAf,EAAoB;AACzB,UAAIC,aAAa,EAAjB,EAAqB;AACjB,aAAKlB,QAAL,CAAce,SAAd,CAAwB3iF,KAAxB,EAA+B4iF,KAA/B,EAAsCC,GAAtC;AACH,OAFD,MAGK;AACD,aAAKlB,QAAL,CAAcc,IAAd,GAAqBI,GAArB;AACH;AACJ;;AACDE,IAAAA,YAAY,CAAC/iF,KAAD,EAAQ4iF,KAAR,EAAeC,GAAf,EAAoB;AAC5B,UAAIC,aAAa,EAAjB,EAAqB;AACjB,aAAKlB,QAAL,CAAcmB,YAAd,CAA2B/iF,KAA3B,EAAkC4iF,KAAlC,EAAyCC,GAAzC;AACH,OAFD,MAGK;AACD,aAAKlB,QAAL,CAAcc,IAAd,GAAqBI,GAArB;AACH;AACJ;;AACDG,IAAAA,OAAO,GAAG;AACN,WAAKpB,QAAL,CAAcoB,OAAd;AACH;;AACDC,IAAAA,IAAI,GAAG;AACH,WAAKrB,QAAL,CAAcqB,IAAd;AACH;;AACD9B,IAAAA,SAAS,CAACC,gBAAgB,GAAG,CAApB,EAAuB;AAC5B,WAAKQ,QAAL,CAAcsB,EAAd,CAAiB9B,gBAAjB;AACH;;AACD+B,IAAAA,QAAQ,GAAG;AACP,aAAO,KAAKvB,QAAL,CAAc5hF,KAArB;AACH;;AA5EkD;;AA8EvDuhF,EAAAA,uBAAuB,CAACz1E,IAAxB,GAA+B,SAASs3E,+BAAT,CAAyCp3E,CAAzC,EAA4C;AAAE,WAAO,KAAKA,CAAC,IAAIu1E,uBAAV,EAAmC38E,sDAAA,CAAgB25B,QAAhB,CAAnC,CAAP;AAAuE,GAApJ;;AACAgjD,EAAAA,uBAAuB,CAACt1E,KAAxB,GAAgCC,oEAAkB,CAAC;AAAEE,IAAAA,OAAO,EAAEi3E,6BAAX;AAA0Cl3E,IAAAA,KAAK,EAAEo1E,uBAAjD;AAA0Et8C,IAAAA,UAAU,EAAE;AAAtF,GAAD,CAAlD;SA/EMs8C;;;AAmFN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOl1E,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAUe,CAV9B;;AAWA,SAASy2E,aAAT,GAAyB;AACrB,SAAO,CAAC,CAACh+E,MAAM,CAAC+8E,OAAP,CAAec,SAAxB;AACH;;AACD,SAASU,6BAAT,GAAyC;AACrC,SAAO,IAAI9B,uBAAJ,CAA4Bv8C,0DAAQ,CAACzG,QAAD,CAApC,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+kD,aAAT,CAAuB3hE,KAAvB,EAA8BmvD,GAA9B,EAAmC;AAC/B,MAAInvD,KAAK,CAACve,MAAN,IAAgB,CAApB,EAAuB;AACnB,WAAO0tE,GAAP;AACH;;AACD,MAAIA,GAAG,CAAC1tE,MAAJ,IAAc,CAAlB,EAAqB;AACjB,WAAOue,KAAP;AACH;;AACD,MAAI4hE,OAAO,GAAG,CAAd;;AACA,MAAI5hE,KAAK,CAAC6hE,QAAN,CAAe,GAAf,CAAJ,EAAyB;AACrBD,IAAAA,OAAO;AACV;;AACD,MAAIzS,GAAG,CAAC7hE,UAAJ,CAAe,GAAf,CAAJ,EAAyB;AACrBs0E,IAAAA,OAAO;AACV;;AACD,MAAIA,OAAO,IAAI,CAAf,EAAkB;AACd,WAAO5hE,KAAK,GAAGmvD,GAAG,CAACxoE,SAAJ,CAAc,CAAd,CAAf;AACH;;AACD,MAAIi7E,OAAO,IAAI,CAAf,EAAkB;AACd,WAAO5hE,KAAK,GAAGmvD,GAAf;AACH;;AACD,SAAOnvD,KAAK,GAAG,GAAR,GAAcmvD,GAArB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2S,kBAAT,CAA4BZ,GAA5B,EAAiC;AAC7B,QAAMz1E,KAAK,GAAGy1E,GAAG,CAACz1E,KAAJ,CAAU,QAAV,CAAd;AACA,QAAMs2E,UAAU,GAAGt2E,KAAK,IAAIA,KAAK,CAACiZ,KAAf,IAAwBw8D,GAAG,CAACz/E,MAA/C;AACA,QAAMugF,eAAe,GAAGD,UAAU,IAAIb,GAAG,CAACa,UAAU,GAAG,CAAd,CAAH,KAAwB,GAAxB,GAA8B,CAA9B,GAAkC,CAAtC,CAAlC;AACA,SAAOb,GAAG,CAAClkE,KAAJ,CAAU,CAAV,EAAaglE,eAAb,IAAgCd,GAAG,CAAClkE,KAAJ,CAAU+kE,UAAV,CAAvC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,oBAAT,CAA8Bj0E,MAA9B,EAAsC;AAClC,SAAOA,MAAM,IAAIA,MAAM,CAAC,CAAD,CAAN,KAAc,GAAxB,GAA8B,MAAMA,MAApC,GAA6CA,MAApD;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;;;IACMk0E;AAAN,QAAMA,gBAAN,CAAuB;AACnB1C,IAAAA,SAAS,CAACC,gBAAD,EAAmB;AACxB,YAAM,IAAI16E,KAAJ,CAAU,iBAAV,CAAN;AACH;;AAHkB;;AAKvBm9E,EAAAA,gBAAgB,CAAC/3E,IAAjB,GAAwB,SAASg4E,wBAAT,CAAkC93E,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAI63E,gBAAV,GAAP;AAAuC,GAAtG;;AACAA,EAAAA,gBAAgB,CAAC53E,KAAjB,GAAyBC,oEAAkB,CAAC;AAAEE,IAAAA,OAAO,EAAE23E,uBAAX;AAAoC53E,IAAAA,KAAK,EAAE03E,gBAA3C;AAA6D5+C,IAAAA,UAAU,EAAE;AAAzE,GAAD,CAA3C;SANM4+C;;;AAON;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOx3E,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGO,CAHtB;;AAIA,SAAS03E,uBAAT,CAAiCC,gBAAjC,EAAmD;AAC/C;AACA,QAAMrC,QAAQ,GAAG38C,0DAAQ,CAACzG,QAAD,CAAR,CAAmBojD,QAApC;AACA,SAAO,IAAIsC,oBAAJ,CAAyBj/C,0DAAQ,CAACk8C,gBAAD,CAAjC,EAAqDS,QAAQ,IAAIA,QAAQ,CAAC/3C,MAArB,IAA+B,EAApF,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMs6C,aAAa,gBAAG,IAAInlD,yDAAJ,CAAmB,aAAnB,CAAtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMklD;AAAN,QAAMA,oBAAN,SAAmCJ,gBAAnC,CAAoD;AAChD5iF,IAAAA,WAAW,CAACkjF,iBAAD,EAAoBhC,IAApB,EAA0B;AACjC;AACA,WAAKgC,iBAAL,GAAyBA,iBAAzB;AACA,WAAKC,kBAAL,GAA0B,EAA1B;;AACA,UAAIjC,IAAI,IAAI,IAAZ,EAAkB;AACdA,QAAAA,IAAI,GAAG,KAAKgC,iBAAL,CAAuBrC,kBAAvB,EAAP;AACH;;AACD,UAAIK,IAAI,IAAI,IAAZ,EAAkB;AACd,cAAM,IAAIz7E,KAAJ,CAAW,6GAAX,CAAN;AACH;;AACD,WAAK29E,SAAL,GAAiBlC,IAAjB;AACH;;AACDl+C,IAAAA,WAAW,GAAG;AACV,aAAO,KAAKmgD,kBAAL,CAAwBhhF,MAA/B,EAAuC;AACnC,aAAKghF,kBAAL,CAAwB/kC,GAAxB;AACH;AACJ;;AACD2iC,IAAAA,UAAU,CAACjgF,EAAD,EAAK;AACX,WAAKqiF,kBAAL,CAAwBniF,IAAxB,CAA6B,KAAKkiF,iBAAL,CAAuBnC,UAAvB,CAAkCjgF,EAAlC,CAA7B,EAAoE,KAAKoiF,iBAAL,CAAuBjC,YAAvB,CAAoCngF,EAApC,CAApE;AACH;;AACDggF,IAAAA,WAAW,GAAG;AACV,aAAO,KAAKsC,SAAZ;AACH;;AACDC,IAAAA,kBAAkB,CAACC,QAAD,EAAW;AACzB,aAAOjB,aAAa,CAAC,KAAKe,SAAN,EAAiBE,QAAjB,CAApB;AACH;;AACDC,IAAAA,IAAI,CAACC,WAAW,GAAG,KAAf,EAAsB;AACtB,YAAMlC,QAAQ,GAAG,KAAK4B,iBAAL,CAAuB5B,QAAvB,GAAkCqB,oBAAoB,CAAC,KAAKO,iBAAL,CAAuB3B,MAAxB,CAAvE;AACA,YAAMC,IAAI,GAAG,KAAK0B,iBAAL,CAAuB1B,IAApC;AACA,aAAOA,IAAI,IAAIgC,WAAR,GAAuB,GAAElC,QAAS,GAAEE,IAAK,EAAzC,GAA6CF,QAApD;AACH;;AACDI,IAAAA,SAAS,CAAC3iF,KAAD,EAAQ4iF,KAAR,EAAeC,GAAf,EAAoB6B,WAApB,EAAiC;AACtC,YAAMC,WAAW,GAAG,KAAKL,kBAAL,CAAwBzB,GAAG,GAAGe,oBAAoB,CAACc,WAAD,CAAlD,CAApB;;AACA,WAAKP,iBAAL,CAAuBxB,SAAvB,CAAiC3iF,KAAjC,EAAwC4iF,KAAxC,EAA+C+B,WAA/C;AACH;;AACD5B,IAAAA,YAAY,CAAC/iF,KAAD,EAAQ4iF,KAAR,EAAeC,GAAf,EAAoB6B,WAApB,EAAiC;AACzC,YAAMC,WAAW,GAAG,KAAKL,kBAAL,CAAwBzB,GAAG,GAAGe,oBAAoB,CAACc,WAAD,CAAlD,CAApB;;AACA,WAAKP,iBAAL,CAAuBpB,YAAvB,CAAoC/iF,KAApC,EAA2C4iF,KAA3C,EAAkD+B,WAAlD;AACH;;AACD3B,IAAAA,OAAO,GAAG;AACN,WAAKmB,iBAAL,CAAuBnB,OAAvB;AACH;;AACDC,IAAAA,IAAI,GAAG;AACH,WAAKkB,iBAAL,CAAuBlB,IAAvB;AACH;;AACD9B,IAAAA,SAAS,CAACC,gBAAgB,GAAG,CAApB,EAAuB;AAC5B,UAAI9lD,EAAJ,EAAQkY,EAAR;;AACA,OAACA,EAAE,GAAG,CAAClY,EAAE,GAAG,KAAK6oD,iBAAX,EAA8BhD,SAApC,MAAmD,IAAnD,IAA2D3tC,EAAE,KAAK,KAAK,CAAvE,GAA2E,KAAK,CAAhF,GAAoFA,EAAE,CAACruC,IAAH,CAAQm2B,EAAR,EAAY8lD,gBAAZ,CAApF;AACH;;AAjD+C;;AAmDpD6C,EAAAA,oBAAoB,CAACn4E,IAArB,GAA4B,SAAS84E,4BAAT,CAAsC54E,CAAtC,EAAyC;AAAE,WAAO,KAAKA,CAAC,IAAIi4E,oBAAV,EAAgCr/E,sDAAA,CAAgBs8E,gBAAhB,CAAhC,EAAmEt8E,sDAAA,CAAgBs/E,aAAhB,EAA+B,CAA/B,CAAnE,CAAP;AAA+G,GAAtL;;AACAD,EAAAA,oBAAoB,CAACh4E,KAArB,GAA6B,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAE83E,oBAAT;AAA+B73E,IAAAA,OAAO,EAAE63E,oBAAoB,CAACn4E;AAA7D,GAA1B,CAA3C;SApDMm4E;;;AAyDN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO53E,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOe,CAP9B;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMw4E;AAAN,QAAMA,oBAAN,SAAmChB,gBAAnC,CAAoD;AAChD5iF,IAAAA,WAAW,CAACkjF,iBAAD,EAAoBE,SAApB,EAA+B;AACtC;AACA,WAAKF,iBAAL,GAAyBA,iBAAzB;AACA,WAAKE,SAAL,GAAiB,EAAjB;AACA,WAAKD,kBAAL,GAA0B,EAA1B;;AACA,UAAIC,SAAS,IAAI,IAAjB,EAAuB;AACnB,aAAKA,SAAL,GAAiBA,SAAjB;AACH;AACJ;;AACDpgD,IAAAA,WAAW,GAAG;AACV,aAAO,KAAKmgD,kBAAL,CAAwBhhF,MAA/B,EAAuC;AACnC,aAAKghF,kBAAL,CAAwB/kC,GAAxB;AACH;AACJ;;AACD2iC,IAAAA,UAAU,CAACjgF,EAAD,EAAK;AACX,WAAKqiF,kBAAL,CAAwBniF,IAAxB,CAA6B,KAAKkiF,iBAAL,CAAuBnC,UAAvB,CAAkCjgF,EAAlC,CAA7B,EAAoE,KAAKoiF,iBAAL,CAAuBjC,YAAvB,CAAoCngF,EAApC,CAApE;AACH;;AACDggF,IAAAA,WAAW,GAAG;AACV,aAAO,KAAKsC,SAAZ;AACH;;AACDG,IAAAA,IAAI,CAACC,WAAW,GAAG,KAAf,EAAsB;AACtB;AACA;AACA,UAAID,IAAI,GAAG,KAAKL,iBAAL,CAAuB1B,IAAlC;AACA,UAAI+B,IAAI,IAAI,IAAZ,EACIA,IAAI,GAAG,GAAP;AACJ,aAAOA,IAAI,CAACphF,MAAL,GAAc,CAAd,GAAkBohF,IAAI,CAACl8E,SAAL,CAAe,CAAf,CAAlB,GAAsCk8E,IAA7C;AACH;;AACDF,IAAAA,kBAAkB,CAACC,QAAD,EAAW;AACzB,YAAM1B,GAAG,GAAGS,aAAa,CAAC,KAAKe,SAAN,EAAiBE,QAAjB,CAAzB;AACA,aAAO1B,GAAG,CAACz/E,MAAJ,GAAa,CAAb,GAAkB,MAAMy/E,GAAxB,GAA+BA,GAAtC;AACH;;AACDF,IAAAA,SAAS,CAAC3iF,KAAD,EAAQ4iF,KAAR,EAAe4B,IAAf,EAAqBE,WAArB,EAAkC;AACvC,UAAI7B,GAAG,GAAG,KAAKyB,kBAAL,CAAwBE,IAAI,GAAGZ,oBAAoB,CAACc,WAAD,CAAnD,CAAV;;AACA,UAAI7B,GAAG,CAACz/E,MAAJ,IAAc,CAAlB,EAAqB;AACjBy/E,QAAAA,GAAG,GAAG,KAAKsB,iBAAL,CAAuB5B,QAA7B;AACH;;AACD,WAAK4B,iBAAL,CAAuBxB,SAAvB,CAAiC3iF,KAAjC,EAAwC4iF,KAAxC,EAA+CC,GAA/C;AACH;;AACDE,IAAAA,YAAY,CAAC/iF,KAAD,EAAQ4iF,KAAR,EAAe4B,IAAf,EAAqBE,WAArB,EAAkC;AAC1C,UAAI7B,GAAG,GAAG,KAAKyB,kBAAL,CAAwBE,IAAI,GAAGZ,oBAAoB,CAACc,WAAD,CAAnD,CAAV;;AACA,UAAI7B,GAAG,CAACz/E,MAAJ,IAAc,CAAlB,EAAqB;AACjBy/E,QAAAA,GAAG,GAAG,KAAKsB,iBAAL,CAAuB5B,QAA7B;AACH;;AACD,WAAK4B,iBAAL,CAAuBpB,YAAvB,CAAoC/iF,KAApC,EAA2C4iF,KAA3C,EAAkDC,GAAlD;AACH;;AACDG,IAAAA,OAAO,GAAG;AACN,WAAKmB,iBAAL,CAAuBnB,OAAvB;AACH;;AACDC,IAAAA,IAAI,GAAG;AACH,WAAKkB,iBAAL,CAAuBlB,IAAvB;AACH;;AACD9B,IAAAA,SAAS,CAACC,gBAAgB,GAAG,CAApB,EAAuB;AAC5B,UAAI9lD,EAAJ,EAAQkY,EAAR;;AACA,OAACA,EAAE,GAAG,CAAClY,EAAE,GAAG,KAAK6oD,iBAAX,EAA8BhD,SAApC,MAAmD,IAAnD,IAA2D3tC,EAAE,KAAK,KAAK,CAAvE,GAA2E,KAAK,CAAhF,GAAoFA,EAAE,CAACruC,IAAH,CAAQm2B,EAAR,EAAY8lD,gBAAZ,CAApF;AACH;;AAxD+C;;AA0DpDyD,EAAAA,oBAAoB,CAAC/4E,IAArB,GAA4B,SAASg5E,4BAAT,CAAsC94E,CAAtC,EAAyC;AAAE,WAAO,KAAKA,CAAC,IAAI64E,oBAAV,EAAgCjgF,sDAAA,CAAgBs8E,gBAAhB,CAAhC,EAAmEt8E,sDAAA,CAAgBs/E,aAAhB,EAA+B,CAA/B,CAAnE,CAAP;AAA+G,GAAtL;;AACAW,EAAAA,oBAAoB,CAAC54E,KAArB,GAA6B,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAE04E,oBAAT;AAA+Bz4E,IAAAA,OAAO,EAAEy4E,oBAAoB,CAAC/4E;AAA7D,GAA1B,CAA3C;SA3DM+4E;;;AAgEN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOx4E,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOe,CAP9B;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMg+C;AAAN,QAAMA,QAAN,CAAe;AACXppD,IAAAA,WAAW,CAAC8jF,gBAAD,EAAmBf,gBAAnB,EAAqC;AAC5C;AACA,WAAKgB,QAAL,GAAgB,IAAI/lD,uDAAJ,EAAhB;AACA;;AACA,WAAKgmD,mBAAL,GAA2B,EAA3B;AACA,WAAKC,iBAAL,GAAyBH,gBAAzB;;AACA,YAAMI,eAAe,GAAG,KAAKD,iBAAL,CAAuBnD,WAAvB,EAAxB;;AACA,WAAKoC,iBAAL,GAAyBH,gBAAzB;AACA,WAAKK,SAAL,GAAiBZ,kBAAkB,CAAC2B,eAAe,CAACD,eAAD,CAAhB,CAAnC;;AACA,WAAKD,iBAAL,CAAuBlD,UAAvB,CAAmCqD,EAAD,IAAQ;AACtC,aAAKL,QAAL,CAAczrC,IAAd,CAAmB;AACf,iBAAO,KAAKirC,IAAL,CAAU,IAAV,CADQ;AAEf,iBAAO,IAFQ;AAGf,mBAASa,EAAE,CAACrlF,KAHG;AAIf,kBAAQqlF,EAAE,CAAChmF;AAJI,SAAnB;AAMH,OAPD;AAQH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACI;AACA;;;AACAmlF,IAAAA,IAAI,CAACC,WAAW,GAAG,KAAf,EAAsB;AACtB,aAAO,KAAKa,SAAL,CAAe,KAAKJ,iBAAL,CAAuBV,IAAvB,CAA4BC,WAA5B,CAAf,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACItB,IAAAA,QAAQ,GAAG;AACP,aAAO,KAAKgB,iBAAL,CAAuBhB,QAAvB,EAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIoC,IAAAA,oBAAoB,CAACf,IAAD,EAAOhkF,KAAK,GAAG,EAAf,EAAmB;AACnC,aAAO,KAAKgkF,IAAL,MAAe,KAAKc,SAAL,CAAed,IAAI,GAAGZ,oBAAoB,CAACpjF,KAAD,CAA1C,CAAtB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI8kF,IAAAA,SAAS,CAACzC,GAAD,EAAM;AACX,aAAOx4B,QAAQ,CAACo5B,kBAAT,CAA4B+B,cAAc,CAAC,KAAKnB,SAAN,EAAiBe,eAAe,CAACvC,GAAD,CAAhC,CAA1C,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIyB,IAAAA,kBAAkB,CAACzB,GAAD,EAAM;AACpB,UAAIA,GAAG,IAAIA,GAAG,CAAC,CAAD,CAAH,KAAW,GAAtB,EAA2B;AACvBA,QAAAA,GAAG,GAAG,MAAMA,GAAZ;AACH;;AACD,aAAO,KAAKqC,iBAAL,CAAuBZ,kBAAvB,CAA0CzB,GAA1C,CAAP;AACH,KA3EU,CA4EX;;AACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIK,IAAAA,EAAE,CAACsB,IAAD,EAAOhkF,KAAK,GAAG,EAAf,EAAmBR,KAAK,GAAG,IAA3B,EAAiC;AAC/B,WAAKklF,iBAAL,CAAuBvC,SAAvB,CAAiC3iF,KAAjC,EAAwC,EAAxC,EAA4CwkF,IAA5C,EAAkDhkF,KAAlD;;AACA,WAAKilF,yBAAL,CAA+B,KAAKnB,kBAAL,CAAwBE,IAAI,GAAGZ,oBAAoB,CAACpjF,KAAD,CAAnD,CAA/B,EAA4FR,KAA5F;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI+iF,IAAAA,YAAY,CAACyB,IAAD,EAAOhkF,KAAK,GAAG,EAAf,EAAmBR,KAAK,GAAG,IAA3B,EAAiC;AACzC,WAAKklF,iBAAL,CAAuBnC,YAAvB,CAAoC/iF,KAApC,EAA2C,EAA3C,EAA+CwkF,IAA/C,EAAqDhkF,KAArD;;AACA,WAAKilF,yBAAL,CAA+B,KAAKnB,kBAAL,CAAwBE,IAAI,GAAGZ,oBAAoB,CAACpjF,KAAD,CAAnD,CAA/B,EAA4FR,KAA5F;AACH;AACD;AACJ;AACA;;;AACIgjF,IAAAA,OAAO,GAAG;AACN,WAAKkC,iBAAL,CAAuBlC,OAAvB;AACH;AACD;AACJ;AACA;;;AACIC,IAAAA,IAAI,GAAG;AACH,WAAKiC,iBAAL,CAAuBjC,IAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI9B,IAAAA,SAAS,CAACC,gBAAgB,GAAG,CAApB,EAAuB;AAC5B,UAAI9lD,EAAJ,EAAQkY,EAAR;;AACA,OAACA,EAAE,GAAG,CAAClY,EAAE,GAAG,KAAK4pD,iBAAX,EAA8B/D,SAApC,MAAmD,IAAnD,IAA2D3tC,EAAE,KAAK,KAAK,CAAvE,GAA2E,KAAK,CAAhF,GAAoFA,EAAE,CAACruC,IAAH,CAAQm2B,EAAR,EAAY8lD,gBAAZ,CAApF;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIsE,IAAAA,WAAW,CAAC3jF,EAAD,EAAK;AACZ,WAAKkjF,mBAAL,CAAyBhjF,IAAzB,CAA8BF,EAA9B;;AACA,UAAI,CAAC,KAAK4jF,sBAAV,EAAkC;AAC9B,aAAKA,sBAAL,GAA8B,KAAKz/C,SAAL,CAAeltB,CAAC,IAAI;AAC9C,eAAKysE,yBAAL,CAA+BzsE,CAAC,CAAC6pE,GAAjC,EAAsC7pE,CAAC,CAAChZ,KAAxC;AACH,SAF6B,CAA9B;AAGH;AACJ;AACD;;;AACAylF,IAAAA,yBAAyB,CAAC5C,GAAG,GAAG,EAAP,EAAW7iF,KAAX,EAAkB;AACvC,WAAKilF,mBAAL,CAAyBnjF,OAAzB,CAAiCC,EAAE,IAAIA,EAAE,CAAC8gF,GAAD,EAAM7iF,KAAN,CAAzC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIkmC,IAAAA,SAAS,CAAC0/C,MAAD,EAASC,OAAT,EAAkBC,QAAlB,EAA4B;AACjC,aAAO,KAAKd,QAAL,CAAc9+C,SAAd,CAAwB;AAAEx1B,QAAAA,IAAI,EAAEk1E,MAAR;AAAgB71D,QAAAA,KAAK,EAAE81D,OAAvB;AAAgC9xC,QAAAA,QAAQ,EAAE+xC;AAA1C,OAAxB,CAAP;AACH;;AAnKU;;AAqKfz7B,EAAAA,QAAQ,CAACv+C,IAAT,GAAgB,SAASi6E,gBAAT,CAA0B/5E,CAA1B,EAA6B;AAAE,WAAO,KAAKA,CAAC,IAAIq+C,QAAV,EAAoBzlD,sDAAA,CAAgBi/E,gBAAhB,CAApB,EAAuDj/E,sDAAA,CAAgBs8E,gBAAhB,CAAvD,CAAP;AAAmG,GAAlJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA72B,EAAAA,QAAQ,CAACu5B,oBAAT,GAAgCA,oBAAhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACAv5B,EAAAA,QAAQ,CAACi5B,aAAT,GAAyBA,aAAzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACAj5B,EAAAA,QAAQ,CAACo5B,kBAAT,GAA8BA,kBAA9B;AACAp5B,EAAAA,QAAQ,CAACp+C,KAAT,GAAiBC,oEAAkB,CAAC;AAAEE,IAAAA,OAAO,EAAE45E,cAAX;AAA2B75E,IAAAA,KAAK,EAAEk+C,QAAlC;AAA4CplB,IAAAA,UAAU,EAAE;AAAxD,GAAD,CAAnC;SAlMMolB;;;AAuMN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOh+C,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOmF,CAPlG;;AAQA,SAAS25E,cAAT,GAA0B;AACtB,SAAO,IAAI37B,QAAJ,CAAarlB,0DAAQ,CAAC6+C,gBAAD,CAArB,EAAyC7+C,0DAAQ,CAACk8C,gBAAD,CAAjD,CAAP;AACH;;AACD,SAASsE,cAAT,CAAwBS,QAAxB,EAAkCpD,GAAlC,EAAuC;AACnC,SAAOoD,QAAQ,IAAIpD,GAAG,CAAC5zE,UAAJ,CAAeg3E,QAAf,CAAZ,GAAuCpD,GAAG,CAACv6E,SAAJ,CAAc29E,QAAQ,CAAC7iF,MAAvB,CAAvC,GAAwEy/E,GAA/E;AACH;;AACD,SAASuC,eAAT,CAAyBvC,GAAzB,EAA8B;AAC1B,SAAOA,GAAG,CAACr3E,OAAJ,CAAY,eAAZ,EAA6B,EAA7B,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAM06E,aAAa,GAAG;AAAE,SAAO,CAAC3+E,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAT;AAAoC,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAA3C;AAAsE,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAA7E;AAAwG,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAA/G;AAA0I,SAAO,CAACA,SAAD,EAAY,IAAZ,CAAjJ;AAAoK,SAAO,CAACA,SAAD,EAAY,GAAZ,CAA3K;AAA6L,SAAO,CAAC,IAAD,EAAO,GAAP,CAApM;AAAiN,SAAO,CAACA,SAAD,EAAY,IAAZ,CAAxN;AAA2O,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAlP;AAAoQ,SAAO,CAACA,SAAD,EAAY,GAAZ,CAA3Q;AAA6R,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAApS;AAA+T,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAtU;AAAiW,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAxW;AAA0X,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAjY;AAAmZ,SAAO,CAACA,SAAD,EAAY,IAAZ,CAA1Z;AAA6a,SAAO,CAAC,IAAD,CAApb;AAA4b,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAnc;AAAqd,SAAO,CAACA,SAAD,EAAY,GAAZ,CAA5d;AAA8e,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAArf;AAA2gB,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAlhB;AAA6iB,SAAO,CAACA,SAAD,EAAY,GAAZ,CAApjB;AAAskB,SAAO,CAAC,KAAD,EAAQ,GAAR,EAAa,CAAb,CAA7kB;AAA8lB,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAArmB;AAAgoB,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAvoB;AAAkqB,SAAO,CAACA,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CAAzqB;AAA8rB,SAAO,CAAC,KAAD,EAAQ,GAAR,CAArsB;AAAmtB,SAAO,CAACA,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CAA1tB;AAA+uB,SAAO,CAACA,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CAAtvB;AAA2wB,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAlxB;AAAoyB,SAAO,CAACA,SAAD,EAAY,GAAZ,CAA3yB;AAA6zB,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAAp0B;AAA01B,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAj2B;AAA43B,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAAn4B;AAAy5B,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAh6B;AAAk7B,SAAO,CAACA,SAAD,EAAY,IAAZ,CAAz7B;AAA48B,SAAO,CAACA,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CAAn9B;AAAw+B,SAAO,CAAC,GAAD,CAA/+B;AAAs/B,SAAO,CAACA,SAAD,EAAY,GAAZ,CAA7/B;AAA+gC,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAthC;AAAwiC,SAAO,CAAC,GAAD,CAA/iC;AAAsjC,SAAO,CAACA,SAAD,EAAY,GAAZ,CAA7jC;AAA+kC,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAtlC;AAAwmC,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAA/mC;AAAqoC,SAAO,CAACA,SAAD,EAAY,GAAZ,CAA5oC;AAA8pC,SAAO,CAACA,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CAArqC;AAA0rC,SAAO,CAAC,KAAD,EAAQ,GAAR,CAAjsC;AAA+sC,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAttC;AAAwuC,SAAO,CAACA,SAAD,EAAY,IAAZ,CAA/uC;AAAkwC,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAAzwC;AAA+xC,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAAtyC;AAA4zC,SAAO,CAAC,GAAD,CAAn0C;AAA00C,SAAO,CAAC,GAAD,CAAj1C;AAAw1C,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAA/1C;AAA03C,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAj4C;AAA45C,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAAn6C;AAAy7C,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAh8C;AAA29C,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAl+C;AAAo/C,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAA3/C;AAAshD,SAAO,CAAC,GAAD,EAAMA,SAAN,EAAiB,CAAjB,CAA7hD;AAAkjD,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAzjD;AAA2kD,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAAllD;AAAwmD,SAAO,CAACA,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CAA/mD;AAAooD,SAAO,CAAC,GAAD,EAAMA,SAAN,EAAiB,CAAjB,CAA3oD;AAAgqD,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAvqD;AAAksD,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAzsD;AAA2tD,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAluD;AAAovD,SAAO,CAACA,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CAA3vD;AAAgxD,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAAvxD;AAA6yD,SAAO,CAACA,SAAD,EAAY,IAAZ,CAApzD;AAAu0D,SAAO,CAACA,SAAD,EAAY,GAAZ,CAA90D;AAAg2D,SAAO,CAACA,SAAD,EAAY,IAAZ,CAAv2D;AAA03D,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAj4D;AAA45D,SAAO,CAACA,SAAD,EAAY,IAAZ,CAAn6D;AAAs7D,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAA77D;AAAw9D,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAA/9D;AAAq/D,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAA5/D;AAAuhE,SAAO,CAACA,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CAA9hE;AAAmjE,SAAO,CAACA,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CAA1jE;AAA+kE,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAtlE;AAAinE,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAAxnE;AAA8oE,SAAO,CAAC,KAAD,EAAQ,GAAR,CAArpE;AAAmqE,SAAO,CAACA,SAAD,EAAY,IAAZ,CAA1qE;AAA6rE,SAAO,CAACA,SAAD,EAAY,GAAZ,CAApsE;AAAstE,SAAO,CAACA,SAAD,EAAY,GAAZ,CAA7tE;AAA+uE,SAAO,CAACA,SAAD,EAAY,IAAZ,CAAtvE;AAAywE,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAAhxE;AAAsyE,SAAO,CAACA,SAAD,EAAY,IAAZ,CAA7yE;AAAg0E,SAAO,CAAC,KAAD,EAAQ,GAAR,CAAv0E;AAAq1E,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAA51E;AAAu3E,SAAO,CAACA,SAAD,EAAY,GAAZ,CAA93E;AAAg5E,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAAv5E;AAA66E,SAAO,CAACA,SAAD,EAAY,IAAZ,CAAp7E;AAAu8E,SAAO,CAACA,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CAA98E;AAAm+E,SAAO,CAACA,SAAD,EAAY,KAAZ,CAA1+E;AAA8/E,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAArgF;AAAgiF,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAviF;AAAyjF,SAAO,CAACA,SAAD,EAAY,IAAZ,CAAhkF;AAAmlF,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAA1lF;AAAgnF,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAvnF;AAAyoF,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAAhpF;AAAsqF,SAAO,CAACA,SAAD,EAAY,GAAZ,CAA7qF;AAA+rF,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAtsF;AAAwtF,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAA/tF;AAA0vF,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAjwF;AAA4xF,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAnyF;AAAqzF,SAAO,CAACA,SAAD,EAAY,GAAZ,CAA5zF;AAA80F,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAr1F;AAAg3F,SAAO,CAACA,SAAD,EAAY,IAAZ,CAAv3F;AAA04F,SAAO,CAACA,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CAAj5F;AAAs6F,SAAO,CAACA,SAAD,EAAY,GAAZ,CAA76F;AAA+7F,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAt8F;AAAi+F,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAx+F;AAAmgG,SAAO,CAACA,SAAD,EAAY,IAAZ,CAA1gG;AAA6hG,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAApiG;AAA+jG,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAtkG;AAAwlG,SAAO,CAACA,SAAD,EAAY,GAAZ,CAA/lG;AAAinG,SAAO,CAAC,KAAD,EAAQ,GAAR,EAAa,CAAb,CAAxnG;AAAyoG,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAhpG;AAA2qG,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAlrG;AAAosG,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAA3sG;AAAsuG,SAAO,CAAC,GAAD,CAA7uG;AAAovG,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAA3vG;AAAsxG,SAAO,CAACA,SAAD,EAAY,GAAZ,CAA7xG;AAA+yG,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAtzG;AAAi1G,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAx1G;AAAm3G,SAAO,CAACA,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAA13G;AAAg5G,SAAO,CAAC,GAAD,EAAMA,SAAN,EAAiB,CAAjB,CAAv5G;AAA46G,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAn7G;AAA88G,SAAO,CAAC,MAAD,EAASA,SAAT,EAAoB,CAApB,CAAr9G;AAA6+G,SAAO,CAAC,KAAD,EAAQ,GAAR,CAAp/G;AAAkgH,SAAO,CAAC,KAAD,EAAQA,SAAR,EAAmB,CAAnB,CAAzgH;AAAgiH,SAAO,CAAC,MAAD,EAASA,SAAT,EAAoB,CAApB,CAAviH;AAA+jH,SAAO,CAAC,GAAD,CAAtkH;AAA6kH,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAAplH;AAA+mH,SAAO,CAACA,SAAD,EAAY,GAAZ,CAAtnH;AAAwoH,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB,CAA/oH;AAA0qH,SAAO,CAACA,SAAD,EAAY,IAAZ,CAAjrH;AAAosH,SAAO,CAACA,SAAD,EAAYA,SAAZ,EAAuB,CAAvB;AAA3sH,CAAtB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAI4+E,iBAAiB;AAAjBA,EAAAA,iBAAiB,GAAjBA,iBAAiB;AAEjBA,EAAAA,iBAAiB,CAACA,iBAAiB,CAAC,SAAD,CAAjB,GAA+B,CAAhC,CAAjB,GAAsD,SAAtD;AACAA,EAAAA,iBAAiB,CAACA,iBAAiB,CAAC,SAAD,CAAjB,GAA+B,CAAhC,CAAjB,GAAsD,SAAtD;AACAA,EAAAA,iBAAiB,CAACA,iBAAiB,CAAC,UAAD,CAAjB,GAAgC,CAAjC,CAAjB,GAAuD,UAAvD;AACAA,EAAAA,iBAAiB,CAACA,iBAAiB,CAAC,YAAD,CAAjB,GAAkC,CAAnC,CAAjB,GAAyD,YAAzD;AALiB,SAAjBA,iBAAiB;AAAA,IAArB;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,MAAM;AAANA,EAAAA,MAAM,GAANA,MAAM;AAENA,EAAAA,MAAM,CAACA,MAAM,CAAC,MAAD,CAAN,GAAiB,CAAlB,CAAN,GAA6B,MAA7B;AACAA,EAAAA,MAAM,CAACA,MAAM,CAAC,KAAD,CAAN,GAAgB,CAAjB,CAAN,GAA4B,KAA5B;AACAA,EAAAA,MAAM,CAACA,MAAM,CAAC,KAAD,CAAN,GAAgB,CAAjB,CAAN,GAA4B,KAA5B;AACAA,EAAAA,MAAM,CAACA,MAAM,CAAC,KAAD,CAAN,GAAgB,CAAjB,CAAN,GAA4B,KAA5B;AACAA,EAAAA,MAAM,CAACA,MAAM,CAAC,MAAD,CAAN,GAAiB,CAAlB,CAAN,GAA6B,MAA7B;AACAA,EAAAA,MAAM,CAACA,MAAM,CAAC,OAAD,CAAN,GAAkB,CAAnB,CAAN,GAA8B,OAA9B;AAPM,SAANA,MAAM;AAAA,IAAV;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,SAAS;AAATA,EAAAA,SAAS,GAATA,SAAS;AAETA,EAAAA,SAAS,CAACA,SAAS,CAAC,QAAD,CAAT,GAAsB,CAAvB,CAAT,GAAqC,QAArC;AACAA,EAAAA,SAAS,CAACA,SAAS,CAAC,YAAD,CAAT,GAA0B,CAA3B,CAAT,GAAyC,YAAzC;AAHS,SAATA,SAAS;AAAA,IAAb;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,gBAAgB;AAAhBA,EAAAA,gBAAgB,GAAhBA,gBAAgB;;AAEhB;AACAA,EAAAA,gBAAgB,CAACA,gBAAgB,CAAC,QAAD,CAAhB,GAA6B,CAA9B,CAAhB,GAAmD,QAAnD;AACA;;AACAA,EAAAA,gBAAgB,CAACA,gBAAgB,CAAC,aAAD,CAAhB,GAAkC,CAAnC,CAAhB,GAAwD,aAAxD;AACA;;AACAA,EAAAA,gBAAgB,CAACA,gBAAgB,CAAC,MAAD,CAAhB,GAA2B,CAA5B,CAAhB,GAAiD,MAAjD;AACA;;AACAA,EAAAA,gBAAgB,CAACA,gBAAgB,CAAC,OAAD,CAAhB,GAA4B,CAA7B,CAAhB,GAAkD,OAAlD;AATgB,SAAhBA,gBAAgB;AAAA,IAApB;;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,WAAW;AAAXA,EAAAA,WAAW,GAAXA,WAAW;;AAEX;AACJ;AACA;AACA;AACIA,EAAAA,WAAW,CAACA,WAAW,CAAC,OAAD,CAAX,GAAuB,CAAxB,CAAX,GAAwC,OAAxC;AACA;AACJ;AACA;AACA;;AACIA,EAAAA,WAAW,CAACA,WAAW,CAAC,QAAD,CAAX,GAAwB,CAAzB,CAAX,GAAyC,QAAzC;AACA;AACJ;AACA;AACA;;AACIA,EAAAA,WAAW,CAACA,WAAW,CAAC,MAAD,CAAX,GAAsB,CAAvB,CAAX,GAAuC,MAAvC;AACA;AACJ;AACA;AACA;;AACIA,EAAAA,WAAW,CAACA,WAAW,CAAC,MAAD,CAAX,GAAsB,CAAvB,CAAX,GAAuC,MAAvC;AArBW,SAAXA,WAAW;AAAA,IAAf;;AAuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,YAAY;AAAZA,EAAAA,YAAY,GAAZA,YAAY;;AAEZ;AACJ;AACA;AACA;AACA;AACIA,EAAAA,YAAY,CAACA,YAAY,CAAC,SAAD,CAAZ,GAA0B,CAA3B,CAAZ,GAA4C,SAA5C;AACA;AACJ;AACA;AACA;AACA;;AACIA,EAAAA,YAAY,CAACA,YAAY,CAAC,OAAD,CAAZ,GAAwB,CAAzB,CAAZ,GAA0C,OAA1C;AACA;AACJ;AACA;AACA;;AACIA,EAAAA,YAAY,CAACA,YAAY,CAAC,MAAD,CAAZ,GAAuB,CAAxB,CAAZ,GAAyC,MAAzC;AACA;AACJ;AACA;AACA;;AACIA,EAAAA,YAAY,CAACA,YAAY,CAAC,aAAD,CAAZ,GAA8B,CAA/B,CAAZ,GAAgD,aAAhD;AACA;AACJ;AACA;AACA;;AACIA,EAAAA,YAAY,CAACA,YAAY,CAAC,UAAD,CAAZ,GAA2B,CAA5B,CAAZ,GAA6C,UAA7C;AACA;AACJ;AACA;AACA;;AACIA,EAAAA,YAAY,CAACA,YAAY,CAAC,WAAD,CAAZ,GAA4B,CAA7B,CAAZ,GAA8C,WAA9C;AACA;AACJ;AACA;AACA;;AACIA,EAAAA,YAAY,CAACA,YAAY,CAAC,aAAD,CAAZ,GAA8B,CAA/B,CAAZ,GAAgD,aAAhD;AACA;AACJ;AACA;AACA;;AACIA,EAAAA,YAAY,CAACA,YAAY,CAAC,wBAAD,CAAZ,GAAyC,CAA1C,CAAZ,GAA2D,wBAA3D;AACA;AACJ;AACA;AACA;;AACIA,EAAAA,YAAY,CAACA,YAAY,CAAC,UAAD,CAAZ,GAA2B,CAA5B,CAAZ,GAA6C,UAA7C;AACA;AACJ;AACA;AACA;;AACIA,EAAAA,YAAY,CAACA,YAAY,CAAC,UAAD,CAAZ,GAA2B,CAA5B,CAAZ,GAA6C,UAA7C;AACA;AACJ;AACA;AACA;;AACIA,EAAAA,YAAY,CAACA,YAAY,CAAC,KAAD,CAAZ,GAAsB,EAAvB,CAAZ,GAAyC,KAAzC;AACA;AACJ;AACA;AACA;;AACIA,EAAAA,YAAY,CAACA,YAAY,CAAC,eAAD,CAAZ,GAAgC,EAAjC,CAAZ,GAAmD,eAAnD;AACA;AACJ;AACA;AACA;;AACIA,EAAAA,YAAY,CAACA,YAAY,CAAC,iBAAD,CAAZ,GAAkC,EAAnC,CAAZ,GAAqD,iBAArD;AACA;AACJ;AACA;AACA;;AACIA,EAAAA,YAAY,CAACA,YAAY,CAAC,eAAD,CAAZ,GAAgC,EAAjC,CAAZ,GAAmD,eAAnD;AAzEY,SAAZA,YAAY;AAAA,IAAhB;;AA2EA;AACA;AACA;AACA;AACA;AACA,IAAIC,OAAO;AAAPA,EAAAA,OAAO,GAAPA,OAAO;AAEPA,EAAAA,OAAO,CAACA,OAAO,CAAC,QAAD,CAAP,GAAoB,CAArB,CAAP,GAAiC,QAAjC;AACAA,EAAAA,OAAO,CAACA,OAAO,CAAC,QAAD,CAAP,GAAoB,CAArB,CAAP,GAAiC,QAAjC;AACAA,EAAAA,OAAO,CAACA,OAAO,CAAC,SAAD,CAAP,GAAqB,CAAtB,CAAP,GAAkC,SAAlC;AACAA,EAAAA,OAAO,CAACA,OAAO,CAAC,WAAD,CAAP,GAAuB,CAAxB,CAAP,GAAoC,WAApC;AACAA,EAAAA,OAAO,CAACA,OAAO,CAAC,UAAD,CAAP,GAAsB,CAAvB,CAAP,GAAmC,UAAnC;AACAA,EAAAA,OAAO,CAACA,OAAO,CAAC,QAAD,CAAP,GAAoB,CAArB,CAAP,GAAiC,QAAjC;AACAA,EAAAA,OAAO,CAACA,OAAO,CAAC,UAAD,CAAP,GAAsB,CAAvB,CAAP,GAAmC,UAAnC;AARO,SAAPA,OAAO;AAAA,IAAX;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,WAAT,CAAqBC,MAArB,EAA6B;AACzB,SAAOjH,iEAAe,CAACiH,MAAD,CAAf,CAAwBhH,uEAAxB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkH,mBAAT,CAA6BF,MAA7B,EAAqCG,SAArC,EAAgDl6B,KAAhD,EAAuD;AACnD,QAAMplD,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACA,QAAMI,QAAQ,GAAG,CACbv/E,IAAI,CAACm4E,+EAAD,CADS,EAC4Bn4E,IAAI,CAACm4E,mFAAD,CADhC,CAAjB;AAGA,QAAMuH,IAAI,GAAGC,mBAAmB,CAACJ,QAAD,EAAWD,SAAX,CAAhC;AACA,SAAOK,mBAAmB,CAACD,IAAD,EAAOt6B,KAAP,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw6B,iBAAT,CAA2BT,MAA3B,EAAmCG,SAAnC,EAA8Cl6B,KAA9C,EAAqD;AACjD,QAAMplD,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACA,QAAMU,QAAQ,GAAG,CAAC7/E,IAAI,CAACm4E,yEAAD,CAAL,EAAoCn4E,IAAI,CAACm4E,6EAAD,CAAxC,CAAjB;AACA,QAAM6H,IAAI,GAAGL,mBAAmB,CAACE,QAAD,EAAWP,SAAX,CAAhC;AACA,SAAOK,mBAAmB,CAACK,IAAD,EAAO56B,KAAP,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS66B,mBAAT,CAA6Bd,MAA7B,EAAqCG,SAArC,EAAgDl6B,KAAhD,EAAuD;AACnD,QAAMplD,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACA,QAAMe,UAAU,GAAG,CAAClgF,IAAI,CAACm4E,2EAAD,CAAL,EAAsCn4E,IAAI,CAACm4E,+EAAD,CAA1C,CAAnB;AACA,QAAMkI,MAAM,GAAGV,mBAAmB,CAACO,UAAD,EAAaZ,SAAb,CAAlC;AACA,SAAOK,mBAAmB,CAACU,MAAD,EAASj7B,KAAT,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASk7B,iBAAT,CAA2BnB,MAA3B,EAAmC/5B,KAAnC,EAA0C;AACtC,QAAMplD,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACA,QAAMoB,QAAQ,GAAGvgF,IAAI,CAACm4E,mEAAD,CAArB;AACA,SAAOwH,mBAAmB,CAACY,QAAD,EAAWn7B,KAAX,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASq7B,uBAAT,CAAiCtB,MAAjC,EAAyC;AACrC,QAAMn/E,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACA,SAAOn/E,IAAI,CAACm4E,6EAAD,CAAX;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwI,qBAAT,CAA+BxB,MAA/B,EAAuC;AACnC,QAAMn/E,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACA,SAAOn/E,IAAI,CAACm4E,2EAAD,CAAX;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0I,mBAAT,CAA6B1B,MAA7B,EAAqC/5B,KAArC,EAA4C;AACxC,QAAMplD,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACA,SAAOQ,mBAAmB,CAAC3/E,IAAI,CAACm4E,yEAAD,CAAL,EAAoC/yB,KAApC,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS27B,mBAAT,CAA6B5B,MAA7B,EAAqC/5B,KAArC,EAA4C;AACxC,QAAMplD,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACA,SAAOQ,mBAAmB,CAAC3/E,IAAI,CAACm4E,yEAAD,CAAL,EAAoC/yB,KAApC,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS67B,uBAAT,CAAiC9B,MAAjC,EAAyC/5B,KAAzC,EAAgD;AAC5C,QAAMplD,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACA,QAAM+B,kBAAkB,GAAGlhF,IAAI,CAACm4E,6EAAD,CAA/B;AACA,SAAOwH,mBAAmB,CAACuB,kBAAD,EAAqB97B,KAArB,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASg8B,qBAAT,CAA+BjC,MAA/B,EAAuCkC,MAAvC,EAA+C;AAC3C,QAAMrhF,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACA,QAAMmC,GAAG,GAAGthF,IAAI,CAACm4E,4EAAD,CAAJ,CAAqCkJ,MAArC,CAAZ;;AACA,MAAI,OAAOC,GAAP,KAAe,WAAnB,EAAgC;AAC5B,QAAID,MAAM,KAAKrC,YAAY,CAACwC,eAA5B,EAA6C;AACzC,aAAOxhF,IAAI,CAACm4E,4EAAD,CAAJ,CAAqC6G,YAAY,CAACyC,OAAlD,CAAP;AACH,KAFD,MAGK,IAAIJ,MAAM,KAAKrC,YAAY,CAAC0C,aAA5B,EAA2C;AAC5C,aAAO1hF,IAAI,CAACm4E,4EAAD,CAAJ,CAAqC6G,YAAY,CAAC2C,KAAlD,CAAP;AACH;AACJ;;AACD,SAAOL,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASM,qBAAT,CAA+BzC,MAA/B,EAAuCtnF,IAAvC,EAA6C;AACzC,QAAMmI,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACA,SAAOn/E,IAAI,CAACm4E,4EAAD,CAAJ,CAAqCtgF,IAArC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiqF,uBAAT,CAAiC3C,MAAjC,EAAyC;AACrC,QAAMn/E,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACA,SAAOn/E,IAAI,CAACm4E,6EAAD,CAAJ,IAAyC,IAAhD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6J,qBAAT,CAA+B7C,MAA/B,EAAuC;AACnC,QAAMn/E,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACA,SAAOn/E,IAAI,CAACm4E,2EAAD,CAAJ,IAAuC,IAA9C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+J,qBAAT,CAA+B/C,MAA/B,EAAuC;AACnC,SAAO/G,wEAAsB,CAAC+G,MAAD,CAA7B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgD,mBAAT,CAA6BhD,MAA7B,EAAqC;AACjC,QAAMn/E,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACA,SAAOn/E,IAAI,CAACm4E,yEAAD,CAAX;AACH;AACD;AACA;AACA;AACA;;;AACA,MAAMkK,mBAAmB,GAAGhK,kEAA5B;;AACA,SAASiK,aAAT,CAAuBtiF,IAAvB,EAA6B;AACzB,MAAI,CAACA,IAAI,CAACm4E,wEAAD,CAAT,EAAuC;AACnC,UAAM,IAAIj5E,KAAJ,CAAW,6CAA4Cc,IAAI,CAACm4E,uEAAD,CAClD,gGADT,CAAN;AAEH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqK,4BAAT,CAAsCrD,MAAtC,EAA8C;AAC1C,QAAMn/E,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACAmD,EAAAA,aAAa,CAACtiF,IAAD,CAAb;AACA,QAAMyiF,KAAK,GAAGziF,IAAI,CAACm4E,wEAAD,CAAJ,CAAiC;AAAE;AAAnC,OAAkE,EAAhF;AACA,SAAOsK,KAAK,CAACviF,GAAN,CAAWwiF,IAAD,IAAU;AACvB,QAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC1B,aAAOC,WAAW,CAACD,IAAD,CAAlB;AACH;;AACD,WAAO,CAACC,WAAW,CAACD,IAAI,CAAC,CAAD,CAAL,CAAZ,EAAuBC,WAAW,CAACD,IAAI,CAAC,CAAD,CAAL,CAAlC,CAAP;AACH,GALM,CAAP;AAMH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,wBAAT,CAAkCzD,MAAlC,EAA0CG,SAA1C,EAAqDl6B,KAArD,EAA4D;AACxD,QAAMplD,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACAmD,EAAAA,aAAa,CAACtiF,IAAD,CAAb;AACA,QAAM6iF,cAAc,GAAG,CACnB7iF,IAAI,CAACm4E,wEAAD,CAAJ,CAAiC;AAAE;AAAnC,GADmB,EAEnBn4E,IAAI,CAACm4E,wEAAD,CAAJ,CAAiC;AAAE;AAAnC,GAFmB,CAAvB;AAIA,QAAM2K,UAAU,GAAGnD,mBAAmB,CAACkD,cAAD,EAAiBvD,SAAjB,CAAnB,IAAkD,EAArE;AACA,SAAOK,mBAAmB,CAACmD,UAAD,EAAa19B,KAAb,CAAnB,IAA0C,EAAjD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS29B,kBAAT,CAA4B5D,MAA5B,EAAoC;AAChC,QAAMn/E,IAAI,GAAGk4E,iEAAe,CAACiH,MAAD,CAA5B;AACA,SAAOn/E,IAAI,CAACm4E,6EAAD,CAAX;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwH,mBAAT,CAA6B3/E,IAA7B,EAAmC6e,KAAnC,EAA0C;AACtC,OAAK,IAAIjc,CAAC,GAAGic,KAAb,EAAoBjc,CAAC,GAAG,CAAC,CAAzB,EAA4BA,CAAC,EAA7B,EAAiC;AAC7B,QAAI,OAAO5C,IAAI,CAAC4C,CAAD,CAAX,KAAmB,WAAvB,EAAoC;AAChC,aAAO5C,IAAI,CAAC4C,CAAD,CAAX;AACH;AACJ;;AACD,QAAM,IAAI1D,KAAJ,CAAU,wCAAV,CAAN;AACH;AACD;AACA;AACA;;;AACA,SAASyjF,WAAT,CAAqBpmF,IAArB,EAA2B;AACvB,QAAM,CAACymF,CAAD,EAAI15E,CAAJ,IAAS/M,IAAI,CAAC6O,KAAL,CAAW,GAAX,CAAf;AACA,SAAO;AAAE63E,IAAAA,KAAK,EAAE,CAACD,CAAV;AAAaE,IAAAA,OAAO,EAAE,CAAC55E;AAAvB,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS65E,iBAAT,CAA2BC,IAA3B,EAAiCC,MAAjC,EAAyClE,MAAM,GAAG,IAAlD,EAAwD;AACpD,QAAMmE,QAAQ,GAAGnB,mBAAmB,CAAChD,MAAD,CAAnB,CAA4BiE,IAA5B,KAAqC1E,aAAa,CAAC0E,IAAD,CAAlD,IAA4D,EAA7E;AACA,QAAMG,YAAY,GAAGD,QAAQ,CAAC;AAAE;AAAH,GAA7B;;AACA,MAAID,MAAM,KAAK,QAAX,IAAuB,OAAOE,YAAP,KAAwB,QAAnD,EAA6D;AACzD,WAAOA,YAAP;AACH;;AACD,SAAOD,QAAQ,CAAC;AAAE;AAAH,GAAR,IAA4BF,IAAnC;AACH,EACD;;;AACA,MAAMI,6BAA6B,GAAG,CAAtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,yBAAT,CAAmCL,IAAnC,EAAyC;AACrC,MAAIM,MAAJ;AACA,QAAMJ,QAAQ,GAAG5E,aAAa,CAAC0E,IAAD,CAA9B;;AACA,MAAIE,QAAJ,EAAc;AACVI,IAAAA,MAAM,GAAGJ,QAAQ,CAAC;AAAE;AAAH,KAAjB;AACH;;AACD,SAAO,OAAOI,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsCF,6BAA7C;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMG,kBAAkB,GAAG,sGAA3B,EACA;;AACA,MAAMC,aAAa,GAAG,EAAtB;AACA,MAAMC,kBAAkB,GAAG,mNAA3B;AACA,IAAIC,SAAS;AAATA,EAAAA,SAAS,GAATA,SAAS;AAETA,EAAAA,SAAS,CAACA,SAAS,CAAC,OAAD,CAAT,GAAqB,CAAtB,CAAT,GAAoC,OAApC;AACAA,EAAAA,SAAS,CAACA,SAAS,CAAC,UAAD,CAAT,GAAwB,CAAzB,CAAT,GAAuC,UAAvC;AACAA,EAAAA,SAAS,CAACA,SAAS,CAAC,MAAD,CAAT,GAAoB,CAArB,CAAT,GAAmC,MAAnC;AACAA,EAAAA,SAAS,CAACA,SAAS,CAAC,UAAD,CAAT,GAAwB,CAAzB,CAAT,GAAuC,UAAvC;AALS,SAATA,SAAS;AAAA,IAAb;AAOA,IAAIC,QAAQ;AAARA,EAAAA,QAAQ,GAARA,QAAQ;AAERA,EAAAA,QAAQ,CAACA,QAAQ,CAAC,UAAD,CAAR,GAAuB,CAAxB,CAAR,GAAqC,UAArC;AACAA,EAAAA,QAAQ,CAACA,QAAQ,CAAC,OAAD,CAAR,GAAoB,CAArB,CAAR,GAAkC,OAAlC;AACAA,EAAAA,QAAQ,CAACA,QAAQ,CAAC,MAAD,CAAR,GAAmB,CAApB,CAAR,GAAiC,MAAjC;AACAA,EAAAA,QAAQ,CAACA,QAAQ,CAAC,OAAD,CAAR,GAAoB,CAArB,CAAR,GAAkC,OAAlC;AACAA,EAAAA,QAAQ,CAACA,QAAQ,CAAC,SAAD,CAAR,GAAsB,CAAvB,CAAR,GAAoC,SAApC;AACAA,EAAAA,QAAQ,CAACA,QAAQ,CAAC,SAAD,CAAR,GAAsB,CAAvB,CAAR,GAAoC,SAApC;AACAA,EAAAA,QAAQ,CAACA,QAAQ,CAAC,mBAAD,CAAR,GAAgC,CAAjC,CAAR,GAA8C,mBAA9C;AACAA,EAAAA,QAAQ,CAACA,QAAQ,CAAC,KAAD,CAAR,GAAkB,CAAnB,CAAR,GAAgC,KAAhC;AATQ,SAARA,QAAQ;AAAA,IAAZ;AAWA,IAAIC,eAAe;AAAfA,EAAAA,eAAe,GAAfA,eAAe;AAEfA,EAAAA,eAAe,CAACA,eAAe,CAAC,YAAD,CAAf,GAAgC,CAAjC,CAAf,GAAqD,YAArD;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAA7B,CAAf,GAAiD,QAAjD;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AALe,SAAfA,eAAe;AAAA,IAAnB;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAT,CAAoB5jF,KAApB,EAA2BgjF,MAA3B,EAAmClE,MAAnC,EAA2C+E,QAA3C,EAAqD;AACjD,MAAIC,IAAI,GAAGC,MAAM,CAAC/jF,KAAD,CAAjB;AACA,QAAMgkF,WAAW,GAAGC,cAAc,CAACnF,MAAD,EAASkE,MAAT,CAAlC;AACAA,EAAAA,MAAM,GAAGgB,WAAW,IAAIhB,MAAxB;AACA,MAAIkB,KAAK,GAAG,EAAZ;AACA,MAAI3+E,KAAJ;;AACA,SAAOy9E,MAAP,EAAe;AACXz9E,IAAAA,KAAK,GAAGi+E,kBAAkB,CAACr7E,IAAnB,CAAwB66E,MAAxB,CAAR;;AACA,QAAIz9E,KAAJ,EAAW;AACP2+E,MAAAA,KAAK,GAAGA,KAAK,CAACp2D,MAAN,CAAavoB,KAAK,CAACuR,KAAN,CAAY,CAAZ,CAAb,CAAR;AACA,YAAMqtE,IAAI,GAAGD,KAAK,CAAC1sC,GAAN,EAAb;;AACA,UAAI,CAAC2sC,IAAL,EAAW;AACP;AACH;;AACDnB,MAAAA,MAAM,GAAGmB,IAAT;AACH,KAPD,MAQK;AACDD,MAAAA,KAAK,CAAC9pF,IAAN,CAAW4oF,MAAX;AACA;AACH;AACJ;;AACD,MAAIoB,kBAAkB,GAAGN,IAAI,CAACO,iBAAL,EAAzB;;AACA,MAAIR,QAAJ,EAAc;AACVO,IAAAA,kBAAkB,GAAGE,gBAAgB,CAACT,QAAD,EAAWO,kBAAX,CAArC;AACAN,IAAAA,IAAI,GAAGS,sBAAsB,CAACT,IAAD,EAAOD,QAAP,EAAiB,IAAjB,CAA7B;AACH;;AACD,MAAIW,IAAI,GAAG,EAAX;AACAN,EAAAA,KAAK,CAACjqF,OAAN,CAAc+F,KAAK,IAAI;AACnB,UAAMykF,aAAa,GAAGC,gBAAgB,CAAC1kF,KAAD,CAAtC;AACAwkF,IAAAA,IAAI,IAAIC,aAAa,GACjBA,aAAa,CAACX,IAAD,EAAOhF,MAAP,EAAesF,kBAAf,CADI,GAEjBpkF,KAAK,KAAK,MAAV,GAAmB,IAAnB,GAA0BA,KAAK,CAAC2D,OAAN,CAAc,UAAd,EAA0B,EAA1B,EAA8BA,OAA9B,CAAsC,KAAtC,EAA6C,IAA7C,CAF9B;AAGH,GALD;AAMA,SAAO6gF,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,UAAT,CAAoBC,IAApB,EAA0BC,KAA1B,EAAiCf,IAAjC,EAAuC;AACnC;AACA;AACA;AACA;AACA,QAAMgB,OAAO,GAAG,IAAIj1D,IAAJ,CAAS,CAAT,CAAhB,CALmC,CAMnC;AACA;AACA;AACA;AACA;;AACAi1D,EAAAA,OAAO,CAACC,WAAR,CAAoBH,IAApB,EAA0BC,KAA1B,EAAiCf,IAAjC,EAXmC,CAYnC;AACA;AACA;;AACAgB,EAAAA,OAAO,CAACE,QAAR,CAAiB,CAAjB,EAAoB,CAApB,EAAuB,CAAvB;AACA,SAAOF,OAAP;AACH;;AACD,SAASb,cAAT,CAAwBnF,MAAxB,EAAgCkE,MAAhC,EAAwC;AACpC,QAAMiC,QAAQ,GAAGpG,WAAW,CAACC,MAAD,CAA5B;AACAyE,EAAAA,aAAa,CAAC0B,QAAD,CAAb,GAA0B1B,aAAa,CAAC0B,QAAD,CAAb,IAA2B,EAArD;;AACA,MAAI1B,aAAa,CAAC0B,QAAD,CAAb,CAAwBjC,MAAxB,CAAJ,EAAqC;AACjC,WAAOO,aAAa,CAAC0B,QAAD,CAAb,CAAwBjC,MAAxB,CAAP;AACH;;AACD,MAAIkC,WAAW,GAAG,EAAlB;;AACA,UAAQlC,MAAR;AACI,SAAK,WAAL;AACIkC,MAAAA,WAAW,GAAG1E,mBAAmB,CAAC1B,MAAD,EAASJ,WAAW,CAACyG,KAArB,CAAjC;AACA;;AACJ,SAAK,YAAL;AACID,MAAAA,WAAW,GAAG1E,mBAAmB,CAAC1B,MAAD,EAASJ,WAAW,CAAC0G,MAArB,CAAjC;AACA;;AACJ,SAAK,UAAL;AACIF,MAAAA,WAAW,GAAG1E,mBAAmB,CAAC1B,MAAD,EAASJ,WAAW,CAAC2G,IAArB,CAAjC;AACA;;AACJ,SAAK,UAAL;AACIH,MAAAA,WAAW,GAAG1E,mBAAmB,CAAC1B,MAAD,EAASJ,WAAW,CAAC4G,IAArB,CAAjC;AACA;;AACJ,SAAK,WAAL;AACIJ,MAAAA,WAAW,GAAGxE,mBAAmB,CAAC5B,MAAD,EAASJ,WAAW,CAACyG,KAArB,CAAjC;AACA;;AACJ,SAAK,YAAL;AACID,MAAAA,WAAW,GAAGxE,mBAAmB,CAAC5B,MAAD,EAASJ,WAAW,CAAC0G,MAArB,CAAjC;AACA;;AACJ,SAAK,UAAL;AACIF,MAAAA,WAAW,GAAGxE,mBAAmB,CAAC5B,MAAD,EAASJ,WAAW,CAAC2G,IAArB,CAAjC;AACA;;AACJ,SAAK,UAAL;AACIH,MAAAA,WAAW,GAAGxE,mBAAmB,CAAC5B,MAAD,EAASJ,WAAW,CAAC4G,IAArB,CAAjC;AACA;;AACJ,SAAK,OAAL;AACI,YAAMC,SAAS,GAAGtB,cAAc,CAACnF,MAAD,EAAS,WAAT,CAAhC;AACA,YAAM0G,SAAS,GAAGvB,cAAc,CAACnF,MAAD,EAAS,WAAT,CAAhC;AACAoG,MAAAA,WAAW,GAAGO,cAAc,CAAC7E,uBAAuB,CAAC9B,MAAD,EAASJ,WAAW,CAACyG,KAArB,CAAxB,EAAqD,CAACI,SAAD,EAAYC,SAAZ,CAArD,CAA5B;AACA;;AACJ,SAAK,QAAL;AACI,YAAME,UAAU,GAAGzB,cAAc,CAACnF,MAAD,EAAS,YAAT,CAAjC;AACA,YAAM6G,UAAU,GAAG1B,cAAc,CAACnF,MAAD,EAAS,YAAT,CAAjC;AACAoG,MAAAA,WAAW,GAAGO,cAAc,CAAC7E,uBAAuB,CAAC9B,MAAD,EAASJ,WAAW,CAAC0G,MAArB,CAAxB,EAAsD,CAACM,UAAD,EAAaC,UAAb,CAAtD,CAA5B;AACA;;AACJ,SAAK,MAAL;AACI,YAAMC,QAAQ,GAAG3B,cAAc,CAACnF,MAAD,EAAS,UAAT,CAA/B;AACA,YAAM+G,QAAQ,GAAG5B,cAAc,CAACnF,MAAD,EAAS,UAAT,CAA/B;AACAoG,MAAAA,WAAW,GACPO,cAAc,CAAC7E,uBAAuB,CAAC9B,MAAD,EAASJ,WAAW,CAAC2G,IAArB,CAAxB,EAAoD,CAACO,QAAD,EAAWC,QAAX,CAApD,CADlB;AAEA;;AACJ,SAAK,MAAL;AACI,YAAMC,QAAQ,GAAG7B,cAAc,CAACnF,MAAD,EAAS,UAAT,CAA/B;AACA,YAAMiH,QAAQ,GAAG9B,cAAc,CAACnF,MAAD,EAAS,UAAT,CAA/B;AACAoG,MAAAA,WAAW,GACPO,cAAc,CAAC7E,uBAAuB,CAAC9B,MAAD,EAASJ,WAAW,CAAC4G,IAArB,CAAxB,EAAoD,CAACQ,QAAD,EAAWC,QAAX,CAApD,CADlB;AAEA;AA9CR;;AAgDA,MAAIb,WAAJ,EAAiB;AACb3B,IAAAA,aAAa,CAAC0B,QAAD,CAAb,CAAwBjC,MAAxB,IAAkCkC,WAAlC;AACH;;AACD,SAAOA,WAAP;AACH;;AACD,SAASO,cAAT,CAAwBl9E,GAAxB,EAA6By9E,UAA7B,EAAyC;AACrC,MAAIA,UAAJ,EAAgB;AACZz9E,IAAAA,GAAG,GAAGA,GAAG,CAAC5E,OAAJ,CAAY,aAAZ,EAA2B,UAAU4B,KAAV,EAAiBzF,GAAjB,EAAsB;AACnD,aAAQkmF,UAAU,IAAI,IAAd,IAAsBlmF,GAAG,IAAIkmF,UAA9B,GAA4CA,UAAU,CAAClmF,GAAD,CAAtD,GAA8DyF,KAArE;AACH,KAFK,CAAN;AAGH;;AACD,SAAOgD,GAAP;AACH;;AACD,SAAS09E,SAAT,CAAmBC,GAAnB,EAAwB7C,MAAxB,EAAgC8C,SAAS,GAAG,GAA5C,EAAiD5rE,IAAjD,EAAuD6rE,OAAvD,EAAgE;AAC5D,MAAIC,GAAG,GAAG,EAAV;;AACA,MAAIH,GAAG,GAAG,CAAN,IAAYE,OAAO,IAAIF,GAAG,IAAI,CAAlC,EAAsC;AAClC,QAAIE,OAAJ,EAAa;AACTF,MAAAA,GAAG,GAAG,CAACA,GAAD,GAAO,CAAb;AACH,KAFD,MAGK;AACDA,MAAAA,GAAG,GAAG,CAACA,GAAP;AACAG,MAAAA,GAAG,GAAGF,SAAN;AACH;AACJ;;AACD,MAAIG,MAAM,GAAG1lD,MAAM,CAACslD,GAAD,CAAnB;;AACA,SAAOI,MAAM,CAAC/qF,MAAP,GAAgB8nF,MAAvB,EAA+B;AAC3BiD,IAAAA,MAAM,GAAG,MAAMA,MAAf;AACH;;AACD,MAAI/rE,IAAJ,EAAU;AACN+rE,IAAAA,MAAM,GAAGA,MAAM,CAAC3lF,MAAP,CAAc2lF,MAAM,CAAC/qF,MAAP,GAAgB8nF,MAA9B,CAAT;AACH;;AACD,SAAOgD,GAAG,GAAGC,MAAb;AACH;;AACD,SAASC,uBAAT,CAAiCC,YAAjC,EAA+CnD,MAA/C,EAAuD;AACnD,QAAMoD,KAAK,GAAGR,SAAS,CAACO,YAAD,EAAe,CAAf,CAAvB;AACA,SAAOC,KAAK,CAAC9lF,MAAN,CAAa,CAAb,EAAgB0iF,MAAhB,CAAP;AACH;AACD;AACA;AACA;;;AACA,SAASqD,UAAT,CAAoBpvF,IAApB,EAA0BuW,IAA1B,EAAgC3V,MAAM,GAAG,CAAzC,EAA4CqiB,IAAI,GAAG,KAAnD,EAA0D6rE,OAAO,GAAG,KAApE,EAA2E;AACvE,SAAO,UAAUtC,IAAV,EAAgBhF,MAAhB,EAAwB;AAC3B,QAAIqF,IAAI,GAAGwC,WAAW,CAACrvF,IAAD,EAAOwsF,IAAP,CAAtB;;AACA,QAAI5rF,MAAM,GAAG,CAAT,IAAcisF,IAAI,GAAG,CAACjsF,MAA1B,EAAkC;AAC9BisF,MAAAA,IAAI,IAAIjsF,MAAR;AACH;;AACD,QAAIZ,IAAI,KAAKosF,QAAQ,CAACkD,KAAtB,EAA6B;AACzB,UAAIzC,IAAI,KAAK,CAAT,IAAcjsF,MAAM,KAAK,CAAC,EAA9B,EAAkC;AAC9BisF,QAAAA,IAAI,GAAG,EAAP;AACH;AACJ,KAJD,MAKK,IAAI7sF,IAAI,KAAKosF,QAAQ,CAACmD,iBAAtB,EAAyC;AAC1C,aAAON,uBAAuB,CAACpC,IAAD,EAAOt2E,IAAP,CAA9B;AACH;;AACD,UAAMi5E,WAAW,GAAG/F,qBAAqB,CAACjC,MAAD,EAASH,YAAY,CAACoI,SAAtB,CAAzC;AACA,WAAOd,SAAS,CAAC9B,IAAD,EAAOt2E,IAAP,EAAai5E,WAAb,EAA0BvsE,IAA1B,EAAgC6rE,OAAhC,CAAhB;AACH,GAfD;AAgBH;;AACD,SAASO,WAAT,CAAqBxC,IAArB,EAA2BL,IAA3B,EAAiC;AAC7B,UAAQK,IAAR;AACI,SAAKT,QAAQ,CAACsD,QAAd;AACI,aAAOlD,IAAI,CAACmD,WAAL,EAAP;;AACJ,SAAKvD,QAAQ,CAACwD,KAAd;AACI,aAAOpD,IAAI,CAACqD,QAAL,EAAP;;AACJ,SAAKzD,QAAQ,CAAC7zD,IAAd;AACI,aAAOi0D,IAAI,CAACsD,OAAL,EAAP;;AACJ,SAAK1D,QAAQ,CAACkD,KAAd;AACI,aAAO9C,IAAI,CAACuD,QAAL,EAAP;;AACJ,SAAK3D,QAAQ,CAAC4D,OAAd;AACI,aAAOxD,IAAI,CAACyD,UAAL,EAAP;;AACJ,SAAK7D,QAAQ,CAAC8D,OAAd;AACI,aAAO1D,IAAI,CAAC2D,UAAL,EAAP;;AACJ,SAAK/D,QAAQ,CAACmD,iBAAd;AACI,aAAO/C,IAAI,CAAC4D,eAAL,EAAP;;AACJ,SAAKhE,QAAQ,CAACiE,GAAd;AACI,aAAO7D,IAAI,CAAC8D,MAAL,EAAP;;AACJ;AACI,YAAM,IAAI/oF,KAAJ,CAAW,2BAA0BslF,IAAK,IAA1C,CAAN;AAlBR;AAoBH;AACD;AACA;AACA;;;AACA,SAAS0D,aAAT,CAAuBvwF,IAAvB,EAA6BytD,KAA7B,EAAoC+iC,IAAI,GAAGtJ,SAAS,CAACuJ,MAArD,EAA6DC,QAAQ,GAAG,KAAxE,EAA+E;AAC3E,SAAO,UAAUlE,IAAV,EAAgBhF,MAAhB,EAAwB;AAC3B,WAAOmJ,kBAAkB,CAACnE,IAAD,EAAOhF,MAAP,EAAexnF,IAAf,EAAqBytD,KAArB,EAA4B+iC,IAA5B,EAAkCE,QAAlC,CAAzB;AACH,GAFD;AAGH;AACD;AACA;AACA;;;AACA,SAASC,kBAAT,CAA4BnE,IAA5B,EAAkChF,MAAlC,EAA0CxnF,IAA1C,EAAgDytD,KAAhD,EAAuD+iC,IAAvD,EAA6DE,QAA7D,EAAuE;AACnE,UAAQ1wF,IAAR;AACI,SAAKqsF,eAAe,CAACuE,MAArB;AACI,aAAOtI,mBAAmB,CAACd,MAAD,EAASgJ,IAAT,EAAe/iC,KAAf,CAAnB,CAAyC++B,IAAI,CAACqD,QAAL,EAAzC,CAAP;;AACJ,SAAKxD,eAAe,CAACwE,IAArB;AACI,aAAO5I,iBAAiB,CAACT,MAAD,EAASgJ,IAAT,EAAe/iC,KAAf,CAAjB,CAAuC++B,IAAI,CAAC8D,MAAL,EAAvC,CAAP;;AACJ,SAAKjE,eAAe,CAACyE,UAArB;AACI,YAAMC,YAAY,GAAGvE,IAAI,CAACuD,QAAL,EAArB;AACA,YAAMiB,cAAc,GAAGxE,IAAI,CAACyD,UAAL,EAAvB;;AACA,UAAIS,QAAJ,EAAc;AACV,cAAM5F,KAAK,GAAGD,4BAA4B,CAACrD,MAAD,CAA1C;AACA,cAAM2D,UAAU,GAAGF,wBAAwB,CAACzD,MAAD,EAASgJ,IAAT,EAAe/iC,KAAf,CAA3C;AACA,cAAMvmC,KAAK,GAAG4jE,KAAK,CAACmG,SAAN,CAAgBlG,IAAI,IAAI;AAClC,cAAI17E,KAAK,CAACC,OAAN,CAAcy7E,IAAd,CAAJ,EAAyB;AACrB;AACA,kBAAM,CAACp7D,IAAD,EAAO2nD,EAAP,IAAayT,IAAnB;AACA,kBAAMmG,SAAS,GAAGH,YAAY,IAAIphE,IAAI,CAAC27D,KAArB,IAA8B0F,cAAc,IAAIrhE,IAAI,CAAC47D,OAAvE;AACA,kBAAM4F,QAAQ,GAAIJ,YAAY,GAAGzZ,EAAE,CAACgU,KAAlB,IACbyF,YAAY,KAAKzZ,EAAE,CAACgU,KAApB,IAA6B0F,cAAc,GAAG1Z,EAAE,CAACiU,OADtD,CAJqB,CAMrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,gBAAI57D,IAAI,CAAC27D,KAAL,GAAahU,EAAE,CAACgU,KAApB,EAA2B;AACvB,kBAAI4F,SAAS,IAAIC,QAAjB,EAA2B;AACvB,uBAAO,IAAP;AACH;AACJ,aAJD,MAKK,IAAID,SAAS,IAAIC,QAAjB,EAA2B;AAC5B,qBAAO,IAAP;AACH;AACJ,WAxBD,MAyBK;AAAE;AACH,gBAAIpG,IAAI,CAACO,KAAL,KAAeyF,YAAf,IAA+BhG,IAAI,CAACQ,OAAL,KAAiByF,cAApD,EAAoE;AAChE,qBAAO,IAAP;AACH;AACJ;;AACD,iBAAO,KAAP;AACH,SAhCa,CAAd;;AAiCA,YAAI9pE,KAAK,KAAK,CAAC,CAAf,EAAkB;AACd,iBAAOikE,UAAU,CAACjkE,KAAD,CAAjB;AACH;AACJ,OA1CL,CA2CI;;;AACA,aAAOwgE,mBAAmB,CAACF,MAAD,EAASgJ,IAAT,EAAe/iC,KAAf,CAAnB,CAAyCsjC,YAAY,GAAG,EAAf,GAAoB,CAApB,GAAwB,CAAjE,CAAP;;AACJ,SAAK1E,eAAe,CAACxD,IAArB;AACI,aAAOF,iBAAiB,CAACnB,MAAD,EAAS/5B,KAAT,CAAjB,CAAiC++B,IAAI,CAACmD,WAAL,MAAsB,CAAtB,GAA0B,CAA1B,GAA8B,CAA/D,CAAP;;AACJ;AACI;AACA;AACA;AACA;AACA,YAAMyB,UAAU,GAAGpxF,IAAnB;AACA,YAAM,IAAIuH,KAAJ,CAAW,+BAA8B6pF,UAAW,EAApD,CAAN;AA1DR;AA4DH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,cAAT,CAAwB5jC,KAAxB,EAA+B;AAC3B,SAAO,UAAU++B,IAAV,EAAgBhF,MAAhB,EAAwB5mF,MAAxB,EAAgC;AACnC,UAAM0wF,IAAI,GAAG,CAAC,CAAD,GAAK1wF,MAAlB;AACA,UAAMiuF,SAAS,GAAGpF,qBAAqB,CAACjC,MAAD,EAASH,YAAY,CAACoI,SAAtB,CAAvC;AACA,UAAMnE,KAAK,GAAGgG,IAAI,GAAG,CAAP,GAAWzsF,IAAI,CAACi8D,KAAL,CAAWwwB,IAAI,GAAG,EAAlB,CAAX,GAAmCzsF,IAAI,CAACqtE,IAAL,CAAUof,IAAI,GAAG,EAAjB,CAAjD;;AACA,YAAQ7jC,KAAR;AACI,WAAK0+B,SAAS,CAAC0B,KAAf;AACI,eAAO,CAAEyD,IAAI,IAAI,CAAT,GAAc,GAAd,GAAoB,EAArB,IAA2B3C,SAAS,CAACrD,KAAD,EAAQ,CAAR,EAAWuD,SAAX,CAApC,GACHF,SAAS,CAAC9pF,IAAI,CAACmZ,GAAL,CAASszE,IAAI,GAAG,EAAhB,CAAD,EAAsB,CAAtB,EAAyBzC,SAAzB,CADb;;AAEJ,WAAK1C,SAAS,CAACoF,QAAf;AACI,eAAO,SAAUD,IAAI,IAAI,CAAT,GAAc,GAAd,GAAoB,EAA7B,IAAmC3C,SAAS,CAACrD,KAAD,EAAQ,CAAR,EAAWuD,SAAX,CAAnD;;AACJ,WAAK1C,SAAS,CAAC4B,IAAf;AACI,eAAO,SAAUuD,IAAI,IAAI,CAAT,GAAc,GAAd,GAAoB,EAA7B,IAAmC3C,SAAS,CAACrD,KAAD,EAAQ,CAAR,EAAWuD,SAAX,CAA5C,GAAoE,GAApE,GACHF,SAAS,CAAC9pF,IAAI,CAACmZ,GAAL,CAASszE,IAAI,GAAG,EAAhB,CAAD,EAAsB,CAAtB,EAAyBzC,SAAzB,CADb;;AAEJ,WAAK1C,SAAS,CAACqF,QAAf;AACI,YAAI5wF,MAAM,KAAK,CAAf,EAAkB;AACd,iBAAO,GAAP;AACH,SAFD,MAGK;AACD,iBAAO,CAAE0wF,IAAI,IAAI,CAAT,GAAc,GAAd,GAAoB,EAArB,IAA2B3C,SAAS,CAACrD,KAAD,EAAQ,CAAR,EAAWuD,SAAX,CAApC,GAA4D,GAA5D,GACHF,SAAS,CAAC9pF,IAAI,CAACmZ,GAAL,CAASszE,IAAI,GAAG,EAAhB,CAAD,EAAsB,CAAtB,EAAyBzC,SAAzB,CADb;AAEH;;AACL;AACI,cAAM,IAAItnF,KAAJ,CAAW,uBAAsBkmD,KAAM,GAAvC,CAAN;AAlBR;AAoBH,GAxBD;AAyBH;;AACD,MAAMgkC,OAAO,GAAG,CAAhB;AACA,MAAMC,QAAQ,GAAG,CAAjB;;AACA,SAASC,sBAAT,CAAgCrE,IAAhC,EAAsC;AAClC,QAAMsE,cAAc,GAAGvE,UAAU,CAACC,IAAD,EAAOmE,OAAP,EAAgB,CAAhB,CAAV,CAA6BnB,MAA7B,EAAvB;AACA,SAAOjD,UAAU,CAACC,IAAD,EAAO,CAAP,EAAU,KAAMsE,cAAc,IAAIF,QAAnB,GAA+BA,QAA/B,GAA0CA,QAAQ,GAAG,CAA1D,IAA+DE,cAAzE,CAAjB;AACH;;AACD,SAASC,mBAAT,CAA6BC,QAA7B,EAAuC;AACnC,SAAOzE,UAAU,CAACyE,QAAQ,CAACnC,WAAT,EAAD,EAAyBmC,QAAQ,CAACjC,QAAT,EAAzB,EAA8CiC,QAAQ,CAAChC,OAAT,MAAsB4B,QAAQ,GAAGI,QAAQ,CAACxB,MAAT,EAAjC,CAA9C,CAAjB;AACH;;AACD,SAASyB,UAAT,CAAoBx7E,IAApB,EAA0By7E,UAAU,GAAG,KAAvC,EAA8C;AAC1C,SAAO,UAAUxF,IAAV,EAAgBhF,MAAhB,EAAwB;AAC3B,QAAI/7E,MAAJ;;AACA,QAAIumF,UAAJ,EAAgB;AACZ,YAAMC,yBAAyB,GAAG,IAAI15D,IAAJ,CAASi0D,IAAI,CAACmD,WAAL,EAAT,EAA6BnD,IAAI,CAACqD,QAAL,EAA7B,EAA8C,CAA9C,EAAiDS,MAAjD,KAA4D,CAA9F;AACA,YAAM4B,KAAK,GAAG1F,IAAI,CAACsD,OAAL,EAAd;AACArkF,MAAAA,MAAM,GAAG,IAAI5G,IAAI,CAACi8D,KAAL,CAAW,CAACoxB,KAAK,GAAGD,yBAAT,IAAsC,CAAjD,CAAb;AACH,KAJD,MAKK;AACD,YAAME,SAAS,GAAGN,mBAAmB,CAACrF,IAAD,CAArC,CADC,CAED;AACA;;AACA,YAAM4F,UAAU,GAAGT,sBAAsB,CAACQ,SAAS,CAACxC,WAAV,EAAD,CAAzC;AACA,YAAMrU,IAAI,GAAG6W,SAAS,CAACE,OAAV,KAAsBD,UAAU,CAACC,OAAX,EAAnC;AACA5mF,MAAAA,MAAM,GAAG,IAAI5G,IAAI,CAACmd,KAAL,CAAWs5D,IAAI,GAAG,OAAlB,CAAb,CANC,CAMwC;AAC5C;;AACD,WAAOqT,SAAS,CAACljF,MAAD,EAAS8K,IAAT,EAAekzE,qBAAqB,CAACjC,MAAD,EAASH,YAAY,CAACoI,SAAtB,CAApC,CAAhB;AACH,GAhBD;AAiBH;AACD;AACA;AACA;;;AACA,SAAS6C,uBAAT,CAAiC/7E,IAAjC,EAAuC0M,IAAI,GAAG,KAA9C,EAAqD;AACjD,SAAO,UAAUupE,IAAV,EAAgBhF,MAAhB,EAAwB;AAC3B,UAAM2K,SAAS,GAAGN,mBAAmB,CAACrF,IAAD,CAArC;AACA,UAAM+F,iBAAiB,GAAGJ,SAAS,CAACxC,WAAV,EAA1B;AACA,WAAOhB,SAAS,CAAC4D,iBAAD,EAAoBh8E,IAApB,EAA0BkzE,qBAAqB,CAACjC,MAAD,EAASH,YAAY,CAACoI,SAAtB,CAA/C,EAAiFxsE,IAAjF,CAAhB;AACH,GAJD;AAKH;;AACD,MAAMuvE,YAAY,GAAG,EAArB,EACA;AACA;AACA;AACA;;AACA,SAASpF,gBAAT,CAA0B1B,MAA1B,EAAkC;AAC9B,MAAI8G,YAAY,CAAC9G,MAAD,CAAhB,EAA0B;AACtB,WAAO8G,YAAY,CAAC9G,MAAD,CAAnB;AACH;;AACD,MAAI+G,SAAJ;;AACA,UAAQ/G,MAAR;AACI;AACA,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL;AACI+G,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACxD,IAAjB,EAAuB1B,gBAAgB,CAACuL,WAAxC,CAAzB;AACA;;AACJ,SAAK,MAAL;AACID,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACxD,IAAjB,EAAuB1B,gBAAgB,CAACwL,IAAxC,CAAzB;AACA;;AACJ,SAAK,OAAL;AACIF,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACxD,IAAjB,EAAuB1B,gBAAgB,CAACyL,MAAxC,CAAzB;AACA;AACJ;;AACA,SAAK,GAAL;AACIH,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAACsD,QAAV,EAAoB,CAApB,EAAuB,CAAvB,EAA0B,KAA1B,EAAiC,IAAjC,CAAtB;AACA;AACJ;;AACA,SAAK,IAAL;AACI+C,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAACsD,QAAV,EAAoB,CAApB,EAAuB,CAAvB,EAA0B,IAA1B,EAAgC,IAAhC,CAAtB;AACA;AACJ;;AACA,SAAK,KAAL;AACI+C,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAACsD,QAAV,EAAoB,CAApB,EAAuB,CAAvB,EAA0B,KAA1B,EAAiC,IAAjC,CAAtB;AACA;AACJ;;AACA,SAAK,MAAL;AACI+C,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAACsD,QAAV,EAAoB,CAApB,EAAuB,CAAvB,EAA0B,KAA1B,EAAiC,IAAjC,CAAtB;AACA;AACJ;;AACA,SAAK,GAAL;AACI+C,MAAAA,SAAS,GAAGH,uBAAuB,CAAC,CAAD,CAAnC;AACA;AACJ;AACA;;AACA,SAAK,IAAL;AACIG,MAAAA,SAAS,GAAGH,uBAAuB,CAAC,CAAD,EAAI,IAAJ,CAAnC;AACA;AACJ;AACA;;AACA,SAAK,KAAL;AACIG,MAAAA,SAAS,GAAGH,uBAAuB,CAAC,CAAD,CAAnC;AACA;AACJ;;AACA,SAAK,MAAL;AACIG,MAAAA,SAAS,GAAGH,uBAAuB,CAAC,CAAD,CAAnC;AACA;AACJ;;AACA,SAAK,GAAL;AACA,SAAK,GAAL;AACIG,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAACwD,KAAV,EAAiB,CAAjB,EAAoB,CAApB,CAAtB;AACA;;AACJ,SAAK,IAAL;AACA,SAAK,IAAL;AACI6C,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAACwD,KAAV,EAAiB,CAAjB,EAAoB,CAApB,CAAtB;AACA;AACJ;;AACA,SAAK,KAAL;AACI6C,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACuE,MAAjB,EAAyBzJ,gBAAgB,CAACuL,WAA1C,CAAzB;AACA;;AACJ,SAAK,MAAL;AACID,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACuE,MAAjB,EAAyBzJ,gBAAgB,CAACwL,IAA1C,CAAzB;AACA;;AACJ,SAAK,OAAL;AACIF,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACuE,MAAjB,EAAyBzJ,gBAAgB,CAACyL,MAA1C,CAAzB;AACA;AACJ;;AACA,SAAK,KAAL;AACIH,MAAAA,SAAS,GACLlC,aAAa,CAAClE,eAAe,CAACuE,MAAjB,EAAyBzJ,gBAAgB,CAACuL,WAA1C,EAAuDxL,SAAS,CAAC2L,UAAjE,CADjB;AAEA;;AACJ,SAAK,MAAL;AACIJ,MAAAA,SAAS,GACLlC,aAAa,CAAClE,eAAe,CAACuE,MAAjB,EAAyBzJ,gBAAgB,CAACwL,IAA1C,EAAgDzL,SAAS,CAAC2L,UAA1D,CADjB;AAEA;;AACJ,SAAK,OAAL;AACIJ,MAAAA,SAAS,GACLlC,aAAa,CAAClE,eAAe,CAACuE,MAAjB,EAAyBzJ,gBAAgB,CAACyL,MAA1C,EAAkD1L,SAAS,CAAC2L,UAA5D,CADjB;AAEA;AACJ;;AACA,SAAK,GAAL;AACIJ,MAAAA,SAAS,GAAGV,UAAU,CAAC,CAAD,CAAtB;AACA;;AACJ,SAAK,IAAL;AACIU,MAAAA,SAAS,GAAGV,UAAU,CAAC,CAAD,CAAtB;AACA;AACJ;;AACA,SAAK,GAAL;AACIU,MAAAA,SAAS,GAAGV,UAAU,CAAC,CAAD,EAAI,IAAJ,CAAtB;AACA;AACJ;;AACA,SAAK,GAAL;AACIU,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAAC7zD,IAAV,EAAgB,CAAhB,CAAtB;AACA;;AACJ,SAAK,IAAL;AACIk6D,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAAC7zD,IAAV,EAAgB,CAAhB,CAAtB;AACA;AACJ;;AACA,SAAK,GAAL;AACA,SAAK,IAAL;AACIk6D,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAACiE,GAAV,EAAe,CAAf,CAAtB;AACA;;AACJ,SAAK,KAAL;AACIoC,MAAAA,SAAS,GACLlC,aAAa,CAAClE,eAAe,CAACwE,IAAjB,EAAuB1J,gBAAgB,CAACuL,WAAxC,EAAqDxL,SAAS,CAAC2L,UAA/D,CADjB;AAEA;;AACJ,SAAK,MAAL;AACIJ,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACwE,IAAjB,EAAuB1J,gBAAgB,CAACwL,IAAxC,EAA8CzL,SAAS,CAAC2L,UAAxD,CAAzB;AACA;;AACJ,SAAK,OAAL;AACIJ,MAAAA,SAAS,GACLlC,aAAa,CAAClE,eAAe,CAACwE,IAAjB,EAAuB1J,gBAAgB,CAACyL,MAAxC,EAAgD1L,SAAS,CAAC2L,UAA1D,CADjB;AAEA;;AACJ,SAAK,QAAL;AACIJ,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACwE,IAAjB,EAAuB1J,gBAAgB,CAAC0G,KAAxC,EAA+C3G,SAAS,CAAC2L,UAAzD,CAAzB;AACA;AACJ;;AACA,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL;AACIJ,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACwE,IAAjB,EAAuB1J,gBAAgB,CAACuL,WAAxC,CAAzB;AACA;;AACJ,SAAK,MAAL;AACID,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACwE,IAAjB,EAAuB1J,gBAAgB,CAACwL,IAAxC,CAAzB;AACA;;AACJ,SAAK,OAAL;AACIF,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACwE,IAAjB,EAAuB1J,gBAAgB,CAACyL,MAAxC,CAAzB;AACA;;AACJ,SAAK,QAAL;AACIH,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACwE,IAAjB,EAAuB1J,gBAAgB,CAAC0G,KAAxC,CAAzB;AACA;AACJ;;AACA,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL;AACI4E,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACyE,UAAjB,EAA6B3J,gBAAgB,CAACuL,WAA9C,CAAzB;AACA;;AACJ,SAAK,MAAL;AACID,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACyE,UAAjB,EAA6B3J,gBAAgB,CAACwL,IAA9C,CAAzB;AACA;;AACJ,SAAK,OAAL;AACIF,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACyE,UAAjB,EAA6B3J,gBAAgB,CAACyL,MAA9C,CAAzB;AACA;AACJ;;AACA,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL;AACIH,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACyE,UAAjB,EAA6B3J,gBAAgB,CAACuL,WAA9C,EAA2DxL,SAAS,CAAC2L,UAArE,EAAiF,IAAjF,CAAzB;AACA;;AACJ,SAAK,MAAL;AACIJ,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACyE,UAAjB,EAA6B3J,gBAAgB,CAACwL,IAA9C,EAAoDzL,SAAS,CAAC2L,UAA9D,EAA0E,IAA1E,CAAzB;AACA;;AACJ,SAAK,OAAL;AACIJ,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACyE,UAAjB,EAA6B3J,gBAAgB,CAACyL,MAA9C,EAAsD1L,SAAS,CAAC2L,UAAhE,EAA4E,IAA5E,CAAzB;AACA;AACJ;;AACA,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL;AACIJ,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACyE,UAAjB,EAA6B3J,gBAAgB,CAACuL,WAA9C,EAA2DxL,SAAS,CAACuJ,MAArE,EAA6E,IAA7E,CAAzB;AACA;;AACJ,SAAK,MAAL;AACIgC,MAAAA,SAAS,GACLlC,aAAa,CAAClE,eAAe,CAACyE,UAAjB,EAA6B3J,gBAAgB,CAACwL,IAA9C,EAAoDzL,SAAS,CAACuJ,MAA9D,EAAsE,IAAtE,CADjB;AAEA;;AACJ,SAAK,OAAL;AACIgC,MAAAA,SAAS,GAAGlC,aAAa,CAAClE,eAAe,CAACyE,UAAjB,EAA6B3J,gBAAgB,CAACyL,MAA9C,EAAsD1L,SAAS,CAACuJ,MAAhE,EAAwE,IAAxE,CAAzB;AACA;AACJ;;AACA,SAAK,GAAL;AACIgC,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAACkD,KAAV,EAAiB,CAAjB,EAAoB,CAAC,EAArB,CAAtB;AACA;;AACJ,SAAK,IAAL;AACImD,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAACkD,KAAV,EAAiB,CAAjB,EAAoB,CAAC,EAArB,CAAtB;AACA;AACJ;;AACA,SAAK,GAAL;AACImD,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAACkD,KAAV,EAAiB,CAAjB,CAAtB;AACA;AACJ;;AACA,SAAK,IAAL;AACImD,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAACkD,KAAV,EAAiB,CAAjB,CAAtB;AACA;AACJ;;AACA,SAAK,GAAL;AACImD,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAAC4D,OAAV,EAAmB,CAAnB,CAAtB;AACA;;AACJ,SAAK,IAAL;AACIyC,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAAC4D,OAAV,EAAmB,CAAnB,CAAtB;AACA;AACJ;;AACA,SAAK,GAAL;AACIyC,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAAC8D,OAAV,EAAmB,CAAnB,CAAtB;AACA;;AACJ,SAAK,IAAL;AACIuC,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAAC8D,OAAV,EAAmB,CAAnB,CAAtB;AACA;AACJ;;AACA,SAAK,GAAL;AACIuC,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAACmD,iBAAV,EAA6B,CAA7B,CAAtB;AACA;;AACJ,SAAK,IAAL;AACIkD,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAACmD,iBAAV,EAA6B,CAA7B,CAAtB;AACA;;AACJ,SAAK,KAAL;AACIkD,MAAAA,SAAS,GAAGrD,UAAU,CAAChD,QAAQ,CAACmD,iBAAV,EAA6B,CAA7B,CAAtB;AACA;AACJ;;AACA,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL;AACIkD,MAAAA,SAAS,GAAGpB,cAAc,CAAClF,SAAS,CAAC0B,KAAX,CAA1B;AACA;AACJ;;AACA,SAAK,OAAL;AACI4E,MAAAA,SAAS,GAAGpB,cAAc,CAAClF,SAAS,CAACqF,QAAX,CAA1B;AACA;AACJ;;AACA,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL,CA5NJ,CA6NI;;AACA,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL;AACIiB,MAAAA,SAAS,GAAGpB,cAAc,CAAClF,SAAS,CAACoF,QAAX,CAA1B;AACA;AACJ;;AACA,SAAK,MAAL;AACA,SAAK,MAAL,CArOJ,CAsOI;;AACA,SAAK,MAAL;AACIkB,MAAAA,SAAS,GAAGpB,cAAc,CAAClF,SAAS,CAAC4B,IAAX,CAA1B;AACA;;AACJ;AACI,aAAO,IAAP;AA3OR;;AA6OAyE,EAAAA,YAAY,CAAC9G,MAAD,CAAZ,GAAuB+G,SAAvB;AACA,SAAOA,SAAP;AACH;;AACD,SAASzF,gBAAT,CAA0BT,QAA1B,EAAoC9yB,QAApC,EAA8C;AAC1C;AACA;AACA8yB,EAAAA,QAAQ,GAAGA,QAAQ,CAAClgF,OAAT,CAAiB,IAAjB,EAAuB,EAAvB,CAAX;AACA,QAAMymF,uBAAuB,GAAGv6D,IAAI,CAACw6D,KAAL,CAAW,2BAA2BxG,QAAtC,IAAkD,KAAlF;AACA,SAAO3/C,KAAK,CAACkmD,uBAAD,CAAL,GAAiCr5B,QAAjC,GAA4Cq5B,uBAAnD;AACH;;AACD,SAASE,cAAT,CAAwBxG,IAAxB,EAA8BjB,OAA9B,EAAuC;AACnCiB,EAAAA,IAAI,GAAG,IAAIj0D,IAAJ,CAASi0D,IAAI,CAAC6F,OAAL,EAAT,CAAP;AACA7F,EAAAA,IAAI,CAACyG,UAAL,CAAgBzG,IAAI,CAACyD,UAAL,KAAoB1E,OAApC;AACA,SAAOiB,IAAP;AACH;;AACD,SAASS,sBAAT,CAAgCT,IAAhC,EAAsCD,QAAtC,EAAgD2G,OAAhD,EAAyD;AACrD,QAAMC,YAAY,GAAGD,OAAO,GAAG,CAAC,CAAJ,GAAQ,CAApC;AACA,QAAMpG,kBAAkB,GAAGN,IAAI,CAACO,iBAAL,EAA3B;AACA,QAAMqG,cAAc,GAAGpG,gBAAgB,CAACT,QAAD,EAAWO,kBAAX,CAAvC;AACA,SAAOkG,cAAc,CAACxG,IAAD,EAAO2G,YAAY,IAAIC,cAAc,GAAGtG,kBAArB,CAAnB,CAArB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASL,MAAT,CAAgB/jF,KAAhB,EAAuB;AACnB,MAAI2qF,MAAM,CAAC3qF,KAAD,CAAV,EAAmB;AACf,WAAOA,KAAP;AACH;;AACD,MAAI,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,CAACkkC,KAAK,CAAClkC,KAAD,CAAvC,EAAgD;AAC5C,WAAO,IAAI6vB,IAAJ,CAAS7vB,KAAT,CAAP;AACH;;AACD,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3BA,IAAAA,KAAK,GAAGA,KAAK,CAACua,IAAN,EAAR;;AACA,QAAI,kCAAkCua,IAAlC,CAAuC90B,KAAvC,CAAJ,EAAmD;AAC/C;AACZ;AACA;AACA;AACA;AACA;AACA;AACY,YAAM,CAAC4zD,CAAD,EAAI3qD,CAAC,GAAG,CAAR,EAAW2hF,CAAC,GAAG,CAAf,IAAoB5qF,KAAK,CAAC+K,KAAN,CAAY,GAAZ,EAAiBlL,GAAjB,CAAsBiY,GAAD,IAAS,CAACA,GAA/B,CAA1B;AACA,aAAO6sE,UAAU,CAAC/wB,CAAD,EAAI3qD,CAAC,GAAG,CAAR,EAAW2hF,CAAX,CAAjB;AACH;;AACD,UAAMC,QAAQ,GAAGplF,UAAU,CAACzF,KAAD,CAA3B,CAb2B,CAc3B;;AACA,QAAI,CAACkkC,KAAK,CAAClkC,KAAK,GAAG6qF,QAAT,CAAV,EAA8B;AAC1B,aAAO,IAAIh7D,IAAJ,CAASg7D,QAAT,CAAP;AACH;;AACD,QAAItlF,KAAJ;;AACA,QAAIA,KAAK,GAAGvF,KAAK,CAACuF,KAAN,CAAY+9E,kBAAZ,CAAZ,EAA6C;AACzC,aAAOwH,eAAe,CAACvlF,KAAD,CAAtB;AACH;AACJ;;AACD,QAAMu+E,IAAI,GAAG,IAAIj0D,IAAJ,CAAS7vB,KAAT,CAAb;;AACA,MAAI,CAAC2qF,MAAM,CAAC7G,IAAD,CAAX,EAAmB;AACf,UAAM,IAAIjlF,KAAJ,CAAW,sBAAqBmB,KAAM,eAAtC,CAAN;AACH;;AACD,SAAO8jF,IAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASgH,eAAT,CAAyBvlF,KAAzB,EAAgC;AAC5B,QAAMu+E,IAAI,GAAG,IAAIj0D,IAAJ,CAAS,CAAT,CAAb;AACA,MAAIk7D,MAAM,GAAG,CAAb;AACA,MAAIC,KAAK,GAAG,CAAZ,CAH4B,CAI5B;;AACA,QAAMC,UAAU,GAAG1lF,KAAK,CAAC,CAAD,CAAL,GAAWu+E,IAAI,CAACoH,cAAhB,GAAiCpH,IAAI,CAACiB,WAAzD;AACA,QAAMoG,UAAU,GAAG5lF,KAAK,CAAC,CAAD,CAAL,GAAWu+E,IAAI,CAACsH,WAAhB,GAA8BtH,IAAI,CAACkB,QAAtD,CAN4B,CAO5B;;AACA,MAAIz/E,KAAK,CAAC,CAAD,CAAT,EAAc;AACVwlF,IAAAA,MAAM,GAAGhc,MAAM,CAACxpE,KAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,EAAD,CAAjB,CAAf;AACAylF,IAAAA,KAAK,GAAGjc,MAAM,CAACxpE,KAAK,CAAC,CAAD,CAAL,GAAWA,KAAK,CAAC,EAAD,CAAjB,CAAd;AACH;;AACD0lF,EAAAA,UAAU,CAAC3tF,IAAX,CAAgBwmF,IAAhB,EAAsB/U,MAAM,CAACxpE,KAAK,CAAC,CAAD,CAAN,CAA5B,EAAwCwpE,MAAM,CAACxpE,KAAK,CAAC,CAAD,CAAN,CAAN,GAAmB,CAA3D,EAA8DwpE,MAAM,CAACxpE,KAAK,CAAC,CAAD,CAAN,CAApE;AACA,QAAMo9E,CAAC,GAAG5T,MAAM,CAACxpE,KAAK,CAAC,CAAD,CAAL,IAAY,CAAb,CAAN,GAAwBwlF,MAAlC;AACA,QAAM9hF,CAAC,GAAG8lE,MAAM,CAACxpE,KAAK,CAAC,CAAD,CAAL,IAAY,CAAb,CAAN,GAAwBylF,KAAlC;AACA,QAAM98E,CAAC,GAAG6gE,MAAM,CAACxpE,KAAK,CAAC,CAAD,CAAL,IAAY,CAAb,CAAhB,CAf4B,CAgB5B;AACA;AACA;;AACA,QAAMurC,EAAE,GAAG30C,IAAI,CAACi8D,KAAL,CAAW3yD,UAAU,CAAC,QAAQF,KAAK,CAAC,CAAD,CAAL,IAAY,CAApB,CAAD,CAAV,GAAqC,IAAhD,CAAX;AACA4lF,EAAAA,UAAU,CAAC7tF,IAAX,CAAgBwmF,IAAhB,EAAsBnB,CAAtB,EAAyB15E,CAAzB,EAA4BiF,CAA5B,EAA+B4iC,EAA/B;AACA,SAAOgzC,IAAP;AACH;;AACD,SAAS6G,MAAT,CAAgB3qF,KAAhB,EAAuB;AACnB,SAAOA,KAAK,YAAY6vB,IAAjB,IAAyB,CAACqU,KAAK,CAAClkC,KAAK,CAACqrF,OAAN,EAAD,CAAtC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,oBAAoB,GAAG,6BAA7B;AACA,MAAMC,UAAU,GAAG,EAAnB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,SAAS,GAAG,GAAlB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,SAAS,GAAG,GAAlB;AACA,MAAMC,UAAU,GAAG,GAAnB;AACA,MAAMC,aAAa,GAAG,GAAtB;AACA,MAAMC,YAAY,GAAG,GAArB;AACA;AACA;AACA;;AACA,SAASC,0BAAT,CAAoC/rF,KAApC,EAA2CgsF,OAA3C,EAAoDlN,MAApD,EAA4DmN,WAA5D,EAAyEC,aAAzE,EAAwFC,UAAxF,EAAoGC,SAAS,GAAG,KAAhH,EAAuH;AACnH,MAAIC,aAAa,GAAG,EAApB;AACA,MAAIC,MAAM,GAAG,KAAb;;AACA,MAAI,CAACC,QAAQ,CAACvsF,KAAD,CAAb,EAAsB;AAClBqsF,IAAAA,aAAa,GAAGtL,qBAAqB,CAACjC,MAAD,EAASH,YAAY,CAAC6N,QAAtB,CAArC;AACH,GAFD,MAGK;AACD,QAAIC,YAAY,GAAGC,WAAW,CAAC1sF,KAAD,CAA9B;;AACA,QAAIosF,SAAJ,EAAe;AACXK,MAAAA,YAAY,GAAGE,SAAS,CAACF,YAAD,CAAxB;AACH;;AACD,QAAIG,MAAM,GAAGZ,OAAO,CAACY,MAArB;AACA,QAAIC,WAAW,GAAGb,OAAO,CAACc,OAA1B;AACA,QAAIC,WAAW,GAAGf,OAAO,CAACgB,OAA1B;;AACA,QAAIb,UAAJ,EAAgB;AACZ,YAAMjI,KAAK,GAAGiI,UAAU,CAAC5mF,KAAX,CAAiB+lF,oBAAjB,CAAd;;AACA,UAAIpH,KAAK,KAAK,IAAd,EAAoB;AAChB,cAAM,IAAIrlF,KAAJ,CAAW,GAAEstF,UAAW,4BAAxB,CAAN;AACH;;AACD,YAAMc,UAAU,GAAG/I,KAAK,CAAC,CAAD,CAAxB;AACA,YAAMgJ,eAAe,GAAGhJ,KAAK,CAAC,CAAD,CAA7B;AACA,YAAMiJ,eAAe,GAAGjJ,KAAK,CAAC,CAAD,CAA7B;;AACA,UAAI+I,UAAU,IAAI,IAAlB,EAAwB;AACpBL,QAAAA,MAAM,GAAGQ,iBAAiB,CAACH,UAAD,CAA1B;AACH;;AACD,UAAIC,eAAe,IAAI,IAAvB,EAA6B;AACzBL,QAAAA,WAAW,GAAGO,iBAAiB,CAACF,eAAD,CAA/B;AACH;;AACD,UAAIC,eAAe,IAAI,IAAvB,EAA6B;AACzBJ,QAAAA,WAAW,GAAGK,iBAAiB,CAACD,eAAD,CAA/B;AACH,OAFD,MAGK,IAAID,eAAe,IAAI,IAAnB,IAA2BL,WAAW,GAAGE,WAA7C,EAA0D;AAC3DA,QAAAA,WAAW,GAAGF,WAAd;AACH;AACJ;;AACDQ,IAAAA,WAAW,CAACZ,YAAD,EAAeI,WAAf,EAA4BE,WAA5B,CAAX;AACA,QAAI1J,MAAM,GAAGoJ,YAAY,CAACpJ,MAA1B;AACA,QAAIiK,UAAU,GAAGb,YAAY,CAACa,UAA9B;AACA,UAAMC,QAAQ,GAAGd,YAAY,CAACc,QAA9B;AACA,QAAIC,QAAQ,GAAG,EAAf;AACAlB,IAAAA,MAAM,GAAGjJ,MAAM,CAAChjD,KAAP,CAAauqD,CAAC,IAAI,CAACA,CAAnB,CAAT,CAlCC,CAmCD;;AACA,WAAO0C,UAAU,GAAGV,MAApB,EAA4BU,UAAU,EAAtC,EAA0C;AACtCjK,MAAAA,MAAM,CAACoK,OAAP,CAAe,CAAf;AACH,KAtCA,CAuCD;;;AACA,WAAOH,UAAU,GAAG,CAApB,EAAuBA,UAAU,EAAjC,EAAqC;AACjCjK,MAAAA,MAAM,CAACoK,OAAP,CAAe,CAAf;AACH,KA1CA,CA2CD;;;AACA,QAAIH,UAAU,GAAG,CAAjB,EAAoB;AAChBE,MAAAA,QAAQ,GAAGnK,MAAM,CAACh9E,MAAP,CAAcinF,UAAd,EAA0BjK,MAAM,CAAC9nF,MAAjC,CAAX;AACH,KAFD,MAGK;AACDiyF,MAAAA,QAAQ,GAAGnK,MAAX;AACAA,MAAAA,MAAM,GAAG,CAAC,CAAD,CAAT;AACH,KAlDA,CAmDD;;;AACA,UAAMqK,MAAM,GAAG,EAAf;;AACA,QAAIrK,MAAM,CAAC9nF,MAAP,IAAiBywF,OAAO,CAAC2B,MAA7B,EAAqC;AACjCD,MAAAA,MAAM,CAACD,OAAP,CAAepK,MAAM,CAACh9E,MAAP,CAAc,CAAC2lF,OAAO,CAAC2B,MAAvB,EAA+BtK,MAAM,CAAC9nF,MAAtC,EAA8CuD,IAA9C,CAAmD,EAAnD,CAAf;AACH;;AACD,WAAOukF,MAAM,CAAC9nF,MAAP,GAAgBywF,OAAO,CAAC4B,KAA/B,EAAsC;AAClCF,MAAAA,MAAM,CAACD,OAAP,CAAepK,MAAM,CAACh9E,MAAP,CAAc,CAAC2lF,OAAO,CAAC4B,KAAvB,EAA8BvK,MAAM,CAAC9nF,MAArC,EAA6CuD,IAA7C,CAAkD,EAAlD,CAAf;AACH;;AACD,QAAIukF,MAAM,CAAC9nF,MAAX,EAAmB;AACfmyF,MAAAA,MAAM,CAACD,OAAP,CAAepK,MAAM,CAACvkF,IAAP,CAAY,EAAZ,CAAf;AACH;;AACDutF,IAAAA,aAAa,GAAGqB,MAAM,CAAC5uF,IAAP,CAAYiiF,qBAAqB,CAACjC,MAAD,EAASmN,WAAT,CAAjC,CAAhB,CA9DC,CA+DD;;AACA,QAAIuB,QAAQ,CAACjyF,MAAb,EAAqB;AACjB8wF,MAAAA,aAAa,IAAItL,qBAAqB,CAACjC,MAAD,EAASoN,aAAT,CAArB,GAA+CsB,QAAQ,CAAC1uF,IAAT,CAAc,EAAd,CAAhE;AACH;;AACD,QAAIyuF,QAAJ,EAAc;AACVlB,MAAAA,aAAa,IAAItL,qBAAqB,CAACjC,MAAD,EAASH,YAAY,CAACkP,WAAtB,CAArB,GAA0D,GAA1D,GAAgEN,QAAjF;AACH;AACJ;;AACD,MAAIvtF,KAAK,GAAG,CAAR,IAAa,CAACssF,MAAlB,EAA0B;AACtBD,IAAAA,aAAa,GAAGL,OAAO,CAAC8B,MAAR,GAAiBzB,aAAjB,GAAiCL,OAAO,CAAC+B,MAAzD;AACH,GAFD,MAGK;AACD1B,IAAAA,aAAa,GAAGL,OAAO,CAACgC,MAAR,GAAiB3B,aAAjB,GAAiCL,OAAO,CAACiC,MAAzD;AACH;;AACD,SAAO5B,aAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6B,cAAT,CAAwBluF,KAAxB,EAA+B8+E,MAA/B,EAAuCmE,QAAvC,EAAiDkL,YAAjD,EAA+DhC,UAA/D,EAA2E;AACvE,QAAMnJ,MAAM,GAAGzB,qBAAqB,CAACzC,MAAD,EAASR,iBAAiB,CAAC8P,QAA3B,CAApC;AACA,QAAMpC,OAAO,GAAGqC,iBAAiB,CAACrL,MAAD,EAASjC,qBAAqB,CAACjC,MAAD,EAASH,YAAY,CAACoI,SAAtB,CAA9B,CAAjC;AACAiF,EAAAA,OAAO,CAACc,OAAR,GAAkB1J,yBAAyB,CAAC+K,YAAD,CAA3C;AACAnC,EAAAA,OAAO,CAACgB,OAAR,GAAkBhB,OAAO,CAACc,OAA1B;AACA,QAAM7L,GAAG,GAAG8K,0BAA0B,CAAC/rF,KAAD,EAAQgsF,OAAR,EAAiBlN,MAAjB,EAAyBH,YAAY,CAAC0C,aAAtC,EAAqD1C,YAAY,CAACwC,eAAlE,EAAmFgL,UAAnF,CAAtC;AACA,SAAOlL,GAAG,CACLt9E,OADE,CACMkoF,aADN,EACqB5I,QADrB,EAEH;AAFG,GAGFt/E,OAHE,CAGMkoF,aAHN,EAGqB,EAHrB,EAIH;AACA;AACA;AACA;AAPG,GAQFtxE,IARE,EAAP;AASH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+zE,aAAT,CAAuBtuF,KAAvB,EAA8B8+E,MAA9B,EAAsCqN,UAAtC,EAAkD;AAC9C,QAAMnJ,MAAM,GAAGzB,qBAAqB,CAACzC,MAAD,EAASR,iBAAiB,CAACiQ,OAA3B,CAApC;AACA,QAAMvC,OAAO,GAAGqC,iBAAiB,CAACrL,MAAD,EAASjC,qBAAqB,CAACjC,MAAD,EAASH,YAAY,CAACoI,SAAtB,CAA9B,CAAjC;AACA,QAAM9F,GAAG,GAAG8K,0BAA0B,CAAC/rF,KAAD,EAAQgsF,OAAR,EAAiBlN,MAAjB,EAAyBH,YAAY,CAAC2C,KAAtC,EAA6C3C,YAAY,CAACyC,OAA1D,EAAmE+K,UAAnE,EAA+E,IAA/E,CAAtC;AACA,SAAOlL,GAAG,CAACt9E,OAAJ,CAAY,IAAIuE,MAAJ,CAAW4jF,YAAX,EAAyB,GAAzB,CAAZ,EAA2C/K,qBAAqB,CAACjC,MAAD,EAASH,YAAY,CAAC6P,WAAtB,CAAhE,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,YAAT,CAAsBzuF,KAAtB,EAA6B8+E,MAA7B,EAAqCqN,UAArC,EAAiD;AAC7C,QAAMnJ,MAAM,GAAGzB,qBAAqB,CAACzC,MAAD,EAASR,iBAAiB,CAAC8C,OAA3B,CAApC;AACA,QAAM4K,OAAO,GAAGqC,iBAAiB,CAACrL,MAAD,EAASjC,qBAAqB,CAACjC,MAAD,EAASH,YAAY,CAACoI,SAAtB,CAA9B,CAAjC;AACA,SAAOgF,0BAA0B,CAAC/rF,KAAD,EAAQgsF,OAAR,EAAiBlN,MAAjB,EAAyBH,YAAY,CAAC2C,KAAtC,EAA6C3C,YAAY,CAACyC,OAA1D,EAAmE+K,UAAnE,CAAjC;AACH;;AACD,SAASkC,iBAAT,CAA2BrL,MAA3B,EAAmCmD,SAAS,GAAG,GAA/C,EAAoD;AAChD,QAAM9pF,CAAC,GAAG;AACNuwF,IAAAA,MAAM,EAAE,CADF;AAENE,IAAAA,OAAO,EAAE,CAFH;AAGNE,IAAAA,OAAO,EAAE,CAHH;AAINgB,IAAAA,MAAM,EAAE,EAJF;AAKNC,IAAAA,MAAM,EAAE,EALF;AAMNH,IAAAA,MAAM,EAAE,EANF;AAONC,IAAAA,MAAM,EAAE,EAPF;AAQNH,IAAAA,KAAK,EAAE,CARD;AASND,IAAAA,MAAM,EAAE;AATF,GAAV;AAWA,QAAMe,YAAY,GAAG1L,MAAM,CAACj4E,KAAP,CAAa2gF,WAAb,CAArB;AACA,QAAMiD,QAAQ,GAAGD,YAAY,CAAC,CAAD,CAA7B;AACA,QAAME,QAAQ,GAAGF,YAAY,CAAC,CAAD,CAA7B;AACA,QAAMG,aAAa,GAAGF,QAAQ,CAACpuF,OAAT,CAAiBirF,WAAjB,MAAkC,CAAC,CAAnC,GAClBmD,QAAQ,CAAC5jF,KAAT,CAAeygF,WAAf,CADkB,GAElB,CACImD,QAAQ,CAACluF,SAAT,CAAmB,CAAnB,EAAsBkuF,QAAQ,CAACG,WAAT,CAAqBrD,SAArB,IAAkC,CAAxD,CADJ,EAEIkD,QAAQ,CAACluF,SAAT,CAAmBkuF,QAAQ,CAACG,WAAT,CAAqBrD,SAArB,IAAkC,CAArD,CAFJ,CAFJ;AAAA,QAKOsD,OAAO,GAAGF,aAAa,CAAC,CAAD,CAL9B;AAAA,QAKmCG,QAAQ,GAAGH,aAAa,CAAC,CAAD,CAAb,IAAoB,EALlE;AAMAxyF,EAAAA,CAAC,CAAC2xF,MAAF,GAAWe,OAAO,CAACpuF,MAAR,CAAe,CAAf,EAAkBouF,OAAO,CAACxuF,OAAR,CAAgBqrF,UAAhB,CAAlB,CAAX;;AACA,OAAK,IAAIrpF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGysF,QAAQ,CAACzzF,MAA7B,EAAqCgH,CAAC,EAAtC,EAA0C;AACtC,UAAM0sF,EAAE,GAAGD,QAAQ,CAAC/rF,MAAT,CAAgBV,CAAhB,CAAX;;AACA,QAAI0sF,EAAE,KAAKxD,SAAX,EAAsB;AAClBpvF,MAAAA,CAAC,CAACywF,OAAF,GAAYzwF,CAAC,CAAC2wF,OAAF,GAAYzqF,CAAC,GAAG,CAA5B;AACH,KAFD,MAGK,IAAI0sF,EAAE,KAAKrD,UAAX,EAAuB;AACxBvvF,MAAAA,CAAC,CAAC2wF,OAAF,GAAYzqF,CAAC,GAAG,CAAhB;AACH,KAFI,MAGA;AACDlG,MAAAA,CAAC,CAAC4xF,MAAF,IAAYgB,EAAZ;AACH;AACJ;;AACD,QAAMvB,MAAM,GAAGqB,OAAO,CAAChkF,KAAR,CAAc4gF,SAAd,CAAf;AACAtvF,EAAAA,CAAC,CAACuxF,KAAF,GAAUF,MAAM,CAAC,CAAD,CAAN,GAAYA,MAAM,CAAC,CAAD,CAAN,CAAUnyF,MAAtB,GAA+B,CAAzC;AACAc,EAAAA,CAAC,CAACsxF,MAAF,GAAYD,MAAM,CAAC,CAAD,CAAN,IAAaA,MAAM,CAAC,CAAD,CAApB,GAA2B,CAACA,MAAM,CAAC,CAAD,CAAN,IAAaA,MAAM,CAAC,CAAD,CAApB,EAAyBnyF,MAApD,GAA6D,CAAxE;;AACA,MAAIqzF,QAAJ,EAAc;AACV,UAAMM,QAAQ,GAAGP,QAAQ,CAACpzF,MAAT,GAAkBc,CAAC,CAAC2xF,MAAF,CAASzyF,MAA3B,GAAoCc,CAAC,CAAC4xF,MAAF,CAAS1yF,MAA9D;AAAA,UAAsEy1D,GAAG,GAAG49B,QAAQ,CAACruF,OAAT,CAAiBqrF,UAAjB,CAA5E;AACAvvF,IAAAA,CAAC,CAACyxF,MAAF,GAAWc,QAAQ,CAACjuF,MAAT,CAAgB,CAAhB,EAAmBqwD,GAAnB,EAAwBrtD,OAAxB,CAAgC,IAAhC,EAAsC,EAAtC,CAAX;AACAtH,IAAAA,CAAC,CAAC0xF,MAAF,GAAWa,QAAQ,CAACjuF,MAAT,CAAgBqwD,GAAG,GAAGk+B,QAAtB,EAAgCvrF,OAAhC,CAAwC,IAAxC,EAA8C,EAA9C,CAAX;AACH,GAJD,MAKK;AACDtH,IAAAA,CAAC,CAACyxF,MAAF,GAAW3H,SAAS,GAAG9pF,CAAC,CAAC2xF,MAAzB;AACA3xF,IAAAA,CAAC,CAAC0xF,MAAF,GAAW1xF,CAAC,CAAC4xF,MAAb;AACH;;AACD,SAAO5xF,CAAP;AACH,EACD;;;AACA,SAASswF,SAAT,CAAmBF,YAAnB,EAAiC;AAC7B;AACA,MAAIA,YAAY,CAACpJ,MAAb,CAAoB,CAApB,MAA2B,CAA/B,EAAkC;AAC9B,WAAOoJ,YAAP;AACH,GAJ4B,CAK7B;;;AACA,QAAM0C,WAAW,GAAG1C,YAAY,CAACpJ,MAAb,CAAoB9nF,MAApB,GAA6BkxF,YAAY,CAACa,UAA9D;;AACA,MAAIb,YAAY,CAACc,QAAjB,EAA2B;AACvBd,IAAAA,YAAY,CAACc,QAAb,IAAyB,CAAzB;AACH,GAFD,MAGK;AACD,QAAI4B,WAAW,KAAK,CAApB,EAAuB;AACnB1C,MAAAA,YAAY,CAACpJ,MAAb,CAAoBjpF,IAApB,CAAyB,CAAzB,EAA4B,CAA5B;AACH,KAFD,MAGK,IAAI+0F,WAAW,KAAK,CAApB,EAAuB;AACxB1C,MAAAA,YAAY,CAACpJ,MAAb,CAAoBjpF,IAApB,CAAyB,CAAzB;AACH;;AACDqyF,IAAAA,YAAY,CAACa,UAAb,IAA2B,CAA3B;AACH;;AACD,SAAOb,YAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASC,WAAT,CAAqBxG,GAArB,EAA0B;AACtB,MAAIkJ,MAAM,GAAGjzF,IAAI,CAACmZ,GAAL,CAAS4wE,GAAT,IAAgB,EAA7B;AACA,MAAIqH,QAAQ,GAAG,CAAf;AAAA,MAAkBlK,MAAlB;AAAA,MAA0BiK,UAA1B;AACA,MAAI/qF,CAAJ,EAAOwnB,CAAP,EAAUslE,KAAV,CAHsB,CAItB;;AACA,MAAI,CAAC/B,UAAU,GAAG8B,MAAM,CAAC7uF,OAAP,CAAeirF,WAAf,CAAd,IAA6C,CAAC,CAAlD,EAAqD;AACjD4D,IAAAA,MAAM,GAAGA,MAAM,CAACzrF,OAAP,CAAe6nF,WAAf,EAA4B,EAA5B,CAAT;AACH,GAPqB,CAQtB;;;AACA,MAAI,CAACjpF,CAAC,GAAG6sF,MAAM,CAACzU,MAAP,CAAc,IAAd,CAAL,IAA4B,CAAhC,EAAmC;AAC/B;AACA,QAAI2S,UAAU,GAAG,CAAjB,EACIA,UAAU,GAAG/qF,CAAb;AACJ+qF,IAAAA,UAAU,IAAI,CAAC8B,MAAM,CAACt4E,KAAP,CAAavU,CAAC,GAAG,CAAjB,CAAf;AACA6sF,IAAAA,MAAM,GAAGA,MAAM,CAAC3uF,SAAP,CAAiB,CAAjB,EAAoB8B,CAApB,CAAT;AACH,GAND,MAOK,IAAI+qF,UAAU,GAAG,CAAjB,EAAoB;AACrB;AACAA,IAAAA,UAAU,GAAG8B,MAAM,CAAC7zF,MAApB;AACH,GAnBqB,CAoBtB;;;AACA,OAAKgH,CAAC,GAAG,CAAT,EAAY6sF,MAAM,CAACnsF,MAAP,CAAcV,CAAd,MAAqBkpF,SAAjC,EAA4ClpF,CAAC,EAA7C,EAAiD;AAAE;AAClD;;AACD,MAAIA,CAAC,MAAM8sF,KAAK,GAAGD,MAAM,CAAC7zF,MAArB,CAAL,EAAmC;AAC/B;AACA8nF,IAAAA,MAAM,GAAG,CAAC,CAAD,CAAT;AACAiK,IAAAA,UAAU,GAAG,CAAb;AACH,GAJD,MAKK;AACD;AACA+B,IAAAA,KAAK;;AACL,WAAOD,MAAM,CAACnsF,MAAP,CAAcosF,KAAd,MAAyB5D,SAAhC,EACI4D,KAAK,GAJR,CAKD;;;AACA/B,IAAAA,UAAU,IAAI/qF,CAAd;AACA8gF,IAAAA,MAAM,GAAG,EAAT,CAPC,CAQD;;AACA,SAAKt5D,CAAC,GAAG,CAAT,EAAYxnB,CAAC,IAAI8sF,KAAjB,EAAwB9sF,CAAC,IAAIwnB,CAAC,EAA9B,EAAkC;AAC9Bs5D,MAAAA,MAAM,CAACt5D,CAAD,CAAN,GAAYglD,MAAM,CAACqgB,MAAM,CAACnsF,MAAP,CAAcV,CAAd,CAAD,CAAlB;AACH;AACJ,GAxCqB,CAyCtB;;;AACA,MAAI+qF,UAAU,GAAG/B,UAAjB,EAA6B;AACzBlI,IAAAA,MAAM,GAAGA,MAAM,CAACh9E,MAAP,CAAc,CAAd,EAAiBklF,UAAU,GAAG,CAA9B,CAAT;AACAgC,IAAAA,QAAQ,GAAGD,UAAU,GAAG,CAAxB;AACAA,IAAAA,UAAU,GAAG,CAAb;AACH;;AACD,SAAO;AAAEjK,IAAAA,MAAF;AAAUkK,IAAAA,QAAV;AAAoBD,IAAAA;AAApB,GAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASD,WAAT,CAAqBZ,YAArB,EAAmCK,OAAnC,EAA4CE,OAA5C,EAAqD;AACjD,MAAIF,OAAO,GAAGE,OAAd,EAAuB;AACnB,UAAM,IAAInuF,KAAJ,CAAW,gDAA+CiuF,OAAQ,iCAAgCE,OAAQ,IAA1G,CAAN;AACH;;AACD,MAAI3J,MAAM,GAAGoJ,YAAY,CAACpJ,MAA1B;AACA,MAAI8L,WAAW,GAAG9L,MAAM,CAAC9nF,MAAP,GAAgBkxF,YAAY,CAACa,UAA/C;AACA,QAAMgC,YAAY,GAAGnzF,IAAI,CAACI,GAAL,CAASJ,IAAI,CAACC,GAAL,CAAS0wF,OAAT,EAAkBqC,WAAlB,CAAT,EAAyCnC,OAAzC,CAArB,CANiD,CAOjD;;AACA,MAAIuC,OAAO,GAAGD,YAAY,GAAG7C,YAAY,CAACa,UAA1C;AACA,MAAIkC,KAAK,GAAGnM,MAAM,CAACkM,OAAD,CAAlB;;AACA,MAAIA,OAAO,GAAG,CAAd,EAAiB;AACb;AACAlM,IAAAA,MAAM,CAACh9E,MAAP,CAAclK,IAAI,CAACC,GAAL,CAASqwF,YAAY,CAACa,UAAtB,EAAkCiC,OAAlC,CAAd,EAFa,CAGb;;AACA,SAAK,IAAIxlE,CAAC,GAAGwlE,OAAb,EAAsBxlE,CAAC,GAAGs5D,MAAM,CAAC9nF,MAAjC,EAAyCwuB,CAAC,EAA1C,EAA8C;AAC1Cs5D,MAAAA,MAAM,CAACt5D,CAAD,CAAN,GAAY,CAAZ;AACH;AACJ,GAPD,MAQK;AACD;AACAolE,IAAAA,WAAW,GAAGhzF,IAAI,CAACC,GAAL,CAAS,CAAT,EAAY+yF,WAAZ,CAAd;AACA1C,IAAAA,YAAY,CAACa,UAAb,GAA0B,CAA1B;AACAjK,IAAAA,MAAM,CAAC9nF,MAAP,GAAgBY,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYmzF,OAAO,GAAGD,YAAY,GAAG,CAArC,CAAhB;AACAjM,IAAAA,MAAM,CAAC,CAAD,CAAN,GAAY,CAAZ;;AACA,SAAK,IAAI9gF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgtF,OAApB,EAA6BhtF,CAAC,EAA9B,EACI8gF,MAAM,CAAC9gF,CAAD,CAAN,GAAY,CAAZ;AACP;;AACD,MAAIitF,KAAK,IAAI,CAAb,EAAgB;AACZ,QAAID,OAAO,GAAG,CAAV,GAAc,CAAlB,EAAqB;AACjB,WAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,OAApB,EAA6BE,CAAC,EAA9B,EAAkC;AAC9BpM,QAAAA,MAAM,CAACoK,OAAP,CAAe,CAAf;AACAhB,QAAAA,YAAY,CAACa,UAAb;AACH;;AACDjK,MAAAA,MAAM,CAACoK,OAAP,CAAe,CAAf;AACAhB,MAAAA,YAAY,CAACa,UAAb;AACH,KAPD,MAQK;AACDjK,MAAAA,MAAM,CAACkM,OAAO,GAAG,CAAX,CAAN;AACH;AACJ,GAvCgD,CAwCjD;;;AACA,SAAOJ,WAAW,GAAGhzF,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYkzF,YAAZ,CAArB,EAAgDH,WAAW,EAA3D,EACI9L,MAAM,CAACjpF,IAAP,CAAY,CAAZ;;AACJ,MAAIs1F,iBAAiB,GAAGJ,YAAY,KAAK,CAAzC,CA3CiD,CA4CjD;AACA;;AACA,QAAMK,MAAM,GAAG7C,OAAO,GAAGL,YAAY,CAACa,UAAtC,CA9CiD,CA+CjD;;AACA,QAAMsC,KAAK,GAAGvM,MAAM,CAACwM,WAAP,CAAmB,UAAUD,KAAV,EAAiBhF,CAAjB,EAAoBroF,CAApB,EAAuB8gF,MAAvB,EAA+B;AAC5DuH,IAAAA,CAAC,GAAGA,CAAC,GAAGgF,KAAR;AACAvM,IAAAA,MAAM,CAAC9gF,CAAD,CAAN,GAAYqoF,CAAC,GAAG,EAAJ,GAASA,CAAT,GAAaA,CAAC,GAAG,EAA7B,CAF4D,CAE3B;;AACjC,QAAI8E,iBAAJ,EAAuB;AACnB;AACA,UAAIrM,MAAM,CAAC9gF,CAAD,CAAN,KAAc,CAAd,IAAmBA,CAAC,IAAIotF,MAA5B,EAAoC;AAChCtM,QAAAA,MAAM,CAAC7rC,GAAP;AACH,OAFD,MAGK;AACDk4C,QAAAA,iBAAiB,GAAG,KAApB;AACH;AACJ;;AACD,WAAO9E,CAAC,IAAI,EAAL,GAAU,CAAV,GAAc,CAArB,CAZ4D,CAYpC;AAC3B,GAba,EAaX,CAbW,CAAd;;AAcA,MAAIgF,KAAJ,EAAW;AACPvM,IAAAA,MAAM,CAACoK,OAAP,CAAemC,KAAf;AACAnD,IAAAA,YAAY,CAACa,UAAb;AACH;AACJ;;AACD,SAASF,iBAAT,CAA2B5I,IAA3B,EAAiC;AAC7B,QAAMzhF,MAAM,GAAGohC,QAAQ,CAACqgD,IAAD,CAAvB;;AACA,MAAItgD,KAAK,CAACnhC,MAAD,CAAT,EAAmB;AACf,UAAM,IAAIlE,KAAJ,CAAU,0CAA0C2lF,IAApD,CAAN;AACH;;AACD,SAAOzhF,MAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAM+sF,cAAN,CAAqB;AAErB;AACA;AACA;AACA;AACA;;;AACA,SAASC,iBAAT,CAA2B/vF,KAA3B,EAAkCgwF,KAAlC,EAAyCC,cAAzC,EAAyDnR,MAAzD,EAAiE;AAC7D,MAAIh/E,GAAG,GAAI,IAAGE,KAAM,EAApB;;AACA,MAAIgwF,KAAK,CAACzvF,OAAN,CAAcT,GAAd,IAAqB,CAAC,CAA1B,EAA6B;AACzB,WAAOA,GAAP;AACH;;AACDA,EAAAA,GAAG,GAAGmwF,cAAc,CAACF,iBAAf,CAAiC/vF,KAAjC,EAAwC8+E,MAAxC,CAAN;;AACA,MAAIkR,KAAK,CAACzvF,OAAN,CAAcT,GAAd,IAAqB,CAAC,CAA1B,EAA6B;AACzB,WAAOA,GAAP;AACH;;AACD,MAAIkwF,KAAK,CAACzvF,OAAN,CAAc,OAAd,IAAyB,CAAC,CAA9B,EAAiC;AAC7B,WAAO,OAAP;AACH;;AACD,QAAM,IAAI1B,KAAJ,CAAW,sCAAqCmB,KAAM,GAAtD,CAAN;AACH;AACD;AACA;AACA;AACA;AACA;;;IACMkwF;AAAN,QAAMA,oBAAN,SAAmCJ,cAAnC,CAAkD;AAC9C12F,IAAAA,WAAW,CAAC0lF,MAAD,EAAS;AAChB;AACA,WAAKA,MAAL,GAAcA,MAAd;AACH;;AACDiR,IAAAA,iBAAiB,CAAC/vF,KAAD,EAAQ8+E,MAAR,EAAgB;AAC7B,YAAMqR,MAAM,GAAGnO,mBAAmB,CAAClD,MAAM,IAAI,KAAKA,MAAhB,CAAnB,CAA2C9+E,KAA3C,CAAf;;AACA,cAAQmwF,MAAR;AACI,aAAK5R,MAAM,CAAC6R,IAAZ;AACI,iBAAO,MAAP;;AACJ,aAAK7R,MAAM,CAAC8R,GAAZ;AACI,iBAAO,KAAP;;AACJ,aAAK9R,MAAM,CAAC+R,GAAZ;AACI,iBAAO,KAAP;;AACJ,aAAK/R,MAAM,CAACgS,GAAZ;AACI,iBAAO,KAAP;;AACJ,aAAKhS,MAAM,CAACiS,IAAZ;AACI,iBAAO,MAAP;;AACJ;AACI,iBAAO,OAAP;AAZR;AAcH;;AArB6C;;AAuBlDN,EAAAA,oBAAoB,CAACjsF,IAArB,GAA4B,SAASwsF,4BAAT,CAAsCtsF,CAAtC,EAAyC;AAAE,WAAO,KAAKA,CAAC,IAAI+rF,oBAAV,EAAgCnzF,sDAAA,CAAgBk7E,oDAAhB,CAAhC,CAAP;AAAqE,GAA5I;;AACAiY,EAAAA,oBAAoB,CAAC9rF,KAArB,GAA6B,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAE4rF,oBAAT;AAA+B3rF,IAAAA,OAAO,EAAE2rF,oBAAoB,CAACjsF;AAA7D,GAA1B,CAA3C;SAxBMisF;;;AA4BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO1rF,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAKe,CAL9B;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASksF,kBAAT,CAA4B/wF,IAA5B,EAAkCslF,QAAlC,EAA4C0L,SAA5C,EAAuD;AACnD,SAAOzY,qEAAmB,CAACv4E,IAAD,EAAOslF,QAAP,EAAiB0L,SAAjB,CAA1B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,gBAAT,CAA0BC,SAA1B,EAAqCv5F,IAArC,EAA2C;AACvCA,EAAAA,IAAI,GAAGw5F,kBAAkB,CAACx5F,IAAD,CAAzB;;AACA,OAAK,MAAMy5F,MAAX,IAAqBF,SAAS,CAAC9lF,KAAV,CAAgB,GAAhB,CAArB,EAA2C;AACvC,UAAMimF,OAAO,GAAGD,MAAM,CAACxwF,OAAP,CAAe,GAAf,CAAhB;AACA,UAAM,CAAC0wF,UAAD,EAAaC,WAAb,IAA4BF,OAAO,IAAI,CAAC,CAAZ,GAAgB,CAACD,MAAD,EAAS,EAAT,CAAhB,GAA+B,CAACA,MAAM,CAACj6E,KAAP,CAAa,CAAb,EAAgBk6E,OAAhB,CAAD,EAA2BD,MAAM,CAACj6E,KAAP,CAAak6E,OAAO,GAAG,CAAvB,CAA3B,CAAjE;;AACA,QAAIC,UAAU,CAAC12E,IAAX,OAAsBjjB,IAA1B,EAAgC;AAC5B,aAAO65F,kBAAkB,CAACD,WAAD,CAAzB;AACH;AACJ;;AACD,SAAO,IAAP;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;;;IACME;AAAN,QAAMA,OAAN,CAAc;AACVh4F,IAAAA,WAAW,CAACi4F,gBAAD,EAAmBC,gBAAnB,EAAqCC,KAArC,EAA4CC,SAA5C,EAAuD;AAC9D,WAAKH,gBAAL,GAAwBA,gBAAxB;AACA,WAAKC,gBAAL,GAAwBA,gBAAxB;AACA,WAAKC,KAAL,GAAaA,KAAb;AACA,WAAKC,SAAL,GAAiBA,SAAjB;AACA,WAAKC,eAAL,GAAuB,IAAvB;AACA,WAAKC,eAAL,GAAuB,IAAvB;AACA,WAAKC,eAAL,GAAuB,EAAvB;AACA,WAAKC,SAAL,GAAiB,IAAjB;AACH;;AACQ,QAALC,KAAK,CAAC7xF,KAAD,EAAQ;AACb,WAAK8xF,cAAL,CAAoB,KAAKH,eAAzB;;AACA,WAAKA,eAAL,GAAuB,OAAO3xF,KAAP,KAAiB,QAAjB,GAA4BA,KAAK,CAAC+K,KAAN,CAAY,KAAZ,CAA5B,GAAiD,EAAxE;;AACA,WAAKgnF,aAAL,CAAmB,KAAKJ,eAAxB;;AACA,WAAKI,aAAL,CAAmB,KAAKH,SAAxB;AACH;;AACU,QAAPI,OAAO,CAAChyF,KAAD,EAAQ;AACf,WAAK8xF,cAAL,CAAoB,KAAKF,SAAzB;;AACA,WAAKG,aAAL,CAAmB,KAAKJ,eAAxB;;AACA,WAAKF,eAAL,GAAuB,IAAvB;AACA,WAAKC,eAAL,GAAuB,IAAvB;AACA,WAAKE,SAAL,GAAiB,OAAO5xF,KAAP,KAAiB,QAAjB,GAA4BA,KAAK,CAAC+K,KAAN,CAAY,KAAZ,CAA5B,GAAiD/K,KAAlE;;AACA,UAAI,KAAK4xF,SAAT,EAAoB;AAChB,YAAIzZ,qEAAmB,CAAC,KAAKyZ,SAAN,CAAvB,EAAyC;AACrC,eAAKH,eAAL,GAAuB,KAAKJ,gBAAL,CAAsBzgF,IAAtB,CAA2B,KAAKghF,SAAhC,EAA2Cp6E,MAA3C,EAAvB;AACH,SAFD,MAGK;AACD,eAAKk6E,eAAL,GAAuB,KAAKJ,gBAAL,CAAsB1gF,IAAtB,CAA2B,KAAKghF,SAAhC,EAA2Cp6E,MAA3C,EAAvB;AACH;AACJ;AACJ;;AACDmwB,IAAAA,SAAS,GAAG;AACR,UAAI,KAAK8pD,eAAT,EAA0B;AACtB,cAAMQ,eAAe,GAAG,KAAKR,eAAL,CAAqB7e,IAArB,CAA0B,KAAKgf,SAA/B,CAAxB;;AACA,YAAIK,eAAJ,EAAqB;AACjB,eAAKC,qBAAL,CAA2BD,eAA3B;AACH;AACJ,OALD,MAMK,IAAI,KAAKP,eAAT,EAA0B;AAC3B,cAAMS,eAAe,GAAG,KAAKT,eAAL,CAAqB9e,IAArB,CAA0B,KAAKgf,SAA/B,CAAxB;;AACA,YAAIO,eAAJ,EAAqB;AACjB,eAAKC,qBAAL,CAA2BD,eAA3B;AACH;AACJ;AACJ;;AACDC,IAAAA,qBAAqB,CAACh0D,OAAD,EAAU;AAC3BA,MAAAA,OAAO,CAACi0D,gBAAR,CAA0Br8C,MAAD,IAAY,KAAK1F,YAAL,CAAkB0F,MAAM,CAACl2C,GAAzB,EAA8Bk2C,MAAM,CAAC8hB,YAArC,CAArC;AACA15B,MAAAA,OAAO,CAACk0D,kBAAR,CAA4Bt8C,MAAD,IAAY,KAAK1F,YAAL,CAAkB0F,MAAM,CAACl2C,GAAzB,EAA8Bk2C,MAAM,CAAC8hB,YAArC,CAAvC;AACA15B,MAAAA,OAAO,CAACm0D,kBAAR,CAA4Bv8C,MAAD,IAAY;AACnC,YAAIA,MAAM,CAACw8C,aAAX,EAA0B;AACtB,eAAKliD,YAAL,CAAkB0F,MAAM,CAACl2C,GAAzB,EAA8B,KAA9B;AACH;AACJ,OAJD;AAKH;;AACDoyF,IAAAA,qBAAqB,CAAC9zD,OAAD,EAAU;AAC3BA,MAAAA,OAAO,CAACi0D,gBAAR,CAA0Br8C,MAAD,IAAY;AACjC,YAAI,OAAOA,MAAM,CAAC9uC,IAAd,KAAuB,QAA3B,EAAqC;AACjC,eAAKopC,YAAL,CAAkB0F,MAAM,CAAC9uC,IAAzB,EAA+B,IAA/B;AACH,SAFD,MAGK;AACD,gBAAM,IAAIrI,KAAJ,CAAW,iEAAgEu5E,4DAAU,CAACpiC,MAAM,CAAC9uC,IAAR,CAAc,EAAnG,CAAN;AACH;AACJ,OAPD;AAQAk3B,MAAAA,OAAO,CAACm0D,kBAAR,CAA4Bv8C,MAAD,IAAY,KAAK1F,YAAL,CAAkB0F,MAAM,CAAC9uC,IAAzB,EAA+B,KAA/B,CAAvC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI6qF,IAAAA,aAAa,CAACU,WAAD,EAAc;AACvB,UAAIA,WAAJ,EAAiB;AACb,YAAI9rF,KAAK,CAACC,OAAN,CAAc6rF,WAAd,KAA8BA,WAAW,YAAYjnF,GAAzD,EAA8D;AAC1DinF,UAAAA,WAAW,CAACx4F,OAAZ,CAAqB43F,KAAD,IAAW,KAAKvhD,YAAL,CAAkBuhD,KAAlB,EAAyB,IAAzB,CAA/B;AACH,SAFD,MAGK;AACDxzF,UAAAA,MAAM,CAACC,IAAP,CAAYm0F,WAAZ,EAAyBx4F,OAAzB,CAAiC43F,KAAK,IAAI,KAAKvhD,YAAL,CAAkBuhD,KAAlB,EAAyB,CAAC,CAACY,WAAW,CAACZ,KAAD,CAAtC,CAA1C;AACH;AACJ;AACJ;AACD;AACJ;AACA;AACA;;;AACIC,IAAAA,cAAc,CAACW,WAAD,EAAc;AACxB,UAAIA,WAAJ,EAAiB;AACb,YAAI9rF,KAAK,CAACC,OAAN,CAAc6rF,WAAd,KAA8BA,WAAW,YAAYjnF,GAAzD,EAA8D;AAC1DinF,UAAAA,WAAW,CAACx4F,OAAZ,CAAqB43F,KAAD,IAAW,KAAKvhD,YAAL,CAAkBuhD,KAAlB,EAAyB,KAAzB,CAA/B;AACH,SAFD,MAGK;AACDxzF,UAAAA,MAAM,CAACC,IAAP,CAAYm0F,WAAZ,EAAyBx4F,OAAzB,CAAiC43F,KAAK,IAAI,KAAKvhD,YAAL,CAAkBuhD,KAAlB,EAAyB,KAAzB,CAA1C;AACH;AACJ;AACJ;;AACDvhD,IAAAA,YAAY,CAACuhD,KAAD,EAAQ9yD,OAAR,EAAiB;AACzB8yD,MAAAA,KAAK,GAAGA,KAAK,CAACt3E,IAAN,EAAR;;AACA,UAAIs3E,KAAJ,EAAW;AACPA,QAAAA,KAAK,CAAC9mF,KAAN,CAAY,MAAZ,EAAoB9Q,OAApB,CAA4B43F,KAAK,IAAI;AACjC,cAAI9yD,OAAJ,EAAa;AACT,iBAAKyyD,SAAL,CAAehxE,QAAf,CAAwB,KAAK+wE,KAAL,CAAWjqD,aAAnC,EAAkDuqD,KAAlD;AACH,WAFD,MAGK;AACD,iBAAKL,SAAL,CAAe/vE,WAAf,CAA2B,KAAK8vE,KAAL,CAAWjqD,aAAtC,EAAqDuqD,KAArD;AACH;AACJ,SAPD;AAQH;AACJ;;AA9GS;;AAgHdT,EAAAA,OAAO,CAACntF,IAAR,GAAe,SAASyuF,eAAT,CAAyBvuF,CAAzB,EAA4B;AAAE,WAAO,KAAKA,CAAC,IAAIitF,OAAV,EAAmBr0F,+DAAA,CAAyBA,0DAAzB,CAAnB,EAAqEA,+DAAA,CAAyBA,0DAAzB,CAArE,EAAuHA,+DAAA,CAAyBA,qDAAzB,CAAvH,EAAoKA,+DAAA,CAAyBA,oDAAzB,CAApK,CAAP;AAAyN,GAAtQ;;AACAq0F,EAAAA,OAAO,CAACnpD,IAAR,GAAe,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE45F,OAAR;AAAiBjpD,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,SAAL,EAAgB,EAAhB,CAAD,CAA5B;AAAmDC,IAAAA,MAAM,EAAE;AAAEypD,MAAAA,KAAK,EAAE,CAAC,OAAD,EAAU,OAAV,CAAT;AAA6BG,MAAAA,OAAO,EAAE;AAAtC;AAA3D,GAAzB,CAA7B;SAjHMZ;;;AA4HN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO5sF,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AASC,CAThB;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMmuF;AAAN,QAAMA,iBAAN,CAAwB;AACpBv5F,IAAAA,WAAW,CAACisE,iBAAD,EAAoB;AAC3B,WAAKA,iBAAL,GAAyBA,iBAAzB;AACA,WAAKutB,aAAL,GAAqB,IAArB;AACA,WAAKC,UAAL,GAAkB,IAAlB;AACH;;AACDjrD,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,WAAKinC,iBAAL,CAAuBrzD,KAAvB;;AACA,WAAK4gF,aAAL,GAAqB,IAArB;;AACA,UAAI,KAAKE,iBAAT,EAA4B;AACxB,cAAMC,UAAU,GAAG,KAAKC,yBAAL,IAAkC,KAAK3tB,iBAAL,CAAuB4tB,cAA5E;;AACA,YAAI70D,OAAO,CAAC,kCAAD,CAAX,EAAiD;AAC7C,cAAI,KAAKy0D,UAAT,EACI,KAAKA,UAAL,CAAgB93F,OAAhB;;AACJ,cAAI,KAAKm4F,gCAAT,EAA2C;AACvC,kBAAMC,YAAY,GAAGJ,UAAU,CAAC7yF,GAAX,CAAeq4E,sDAAf,CAArB;AACA,iBAAKsa,UAAL,GAAkB,KAAKK,gCAAL,CAAsC17E,MAAtC,CAA6C27E,YAAY,CAACtwB,QAA1D,CAAlB;AACH,WAHD,MAIK;AACD,iBAAKgwB,UAAL,GAAkB,IAAlB;AACH;AACJ;;AACD,cAAM/vB,wBAAwB,GAAG,KAAK+vB,UAAL,GAAkB,KAAKA,UAAL,CAAgB/vB,wBAAlC,GAC7BiwB,UAAU,CAAC7yF,GAAX,CAAewiD,mEAAf,CADJ;AAEA,cAAMshB,gBAAgB,GAAGlB,wBAAwB,CAACmB,uBAAzB,CAAiD,KAAK6uB,iBAAtD,CAAzB;AACA,aAAKF,aAAL,GAAqB,KAAKvtB,iBAAL,CAAuBlB,eAAvB,CAAuCH,gBAAvC,EAAyD,KAAKqB,iBAAL,CAAuB9pE,MAAhF,EAAwFw3F,UAAxF,EAAoG,KAAKK,wBAAzG,CAArB;AACH;AACJ;;AACDh3D,IAAAA,WAAW,GAAG;AACV,UAAI,KAAKy2D,UAAT,EACI,KAAKA,UAAL,CAAgB93F,OAAhB;AACP;;AA/BmB;;AAiCxB43F,EAAAA,iBAAiB,CAAC1uF,IAAlB,GAAyB,SAASovF,yBAAT,CAAmClvF,CAAnC,EAAsC;AAAE,WAAO,KAAKA,CAAC,IAAIwuF,iBAAV,EAA6B51F,+DAAA,CAAyBA,2DAAzB,CAA7B,CAAP;AAAyF,GAA1J;;AACA41F,EAAAA,iBAAiB,CAAC1qD,IAAlB,GAAyB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEm7F,iBAAR;AAA2BxqD,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,mBAAL,EAA0B,EAA1B,CAAD,CAAtC;AAAuEC,IAAAA,MAAM,EAAE;AAAE0qD,MAAAA,iBAAiB,EAAE,mBAArB;AAA0CE,MAAAA,yBAAyB,EAAE,2BAArE;AAAkGI,MAAAA,wBAAwB,EAAE,0BAA5H;AAAwJF,MAAAA,gCAAgC,EAAE;AAA1L,KAA/E;AAA+S5qD,IAAAA,QAAQ,EAAE,CAACvrC,kEAAD;AAAzT,GAAzB,CAAvC;SAlCM41F;;;AA4CN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOnuF,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAWC,CAXhB;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAM8uF,cAAN,CAAqB;AACjBl6F,EAAAA,WAAW,CAACg+C,SAAD,EAAYm8C,OAAZ,EAAqB/0E,KAArB,EAA4B4S,KAA5B,EAAmC;AAC1C,SAAKgmB,SAAL,GAAiBA,SAAjB;AACA,SAAKm8C,OAAL,GAAeA,OAAf;AACA,SAAK/0E,KAAL,GAAaA,KAAb;AACA,SAAK4S,KAAL,GAAaA,KAAb;AACH;;AACQ,MAAL8+C,KAAK,GAAG;AACR,WAAO,KAAK1xD,KAAL,KAAe,CAAtB;AACH;;AACO,MAAJ80D,IAAI,GAAG;AACP,WAAO,KAAK90D,KAAL,KAAe,KAAK4S,KAAL,GAAa,CAAnC;AACH;;AACO,MAAJmiD,IAAI,GAAG;AACP,WAAO,KAAK/0D,KAAL,GAAa,CAAb,KAAmB,CAA1B;AACH;;AACM,MAAHg1D,GAAG,GAAG;AACN,WAAO,CAAC,KAAKD,IAAb;AACH;;AAlBgB;AAoBrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMigB;AAAN,QAAMA,OAAN,CAAc;AACVp6F,IAAAA,WAAW,CAACq6F,cAAD,EAAiBliB,SAAjB,EAA4BC,QAA5B,EAAsC;AAC7C,WAAKiiB,cAAL,GAAsBA,cAAtB;AACA,WAAKliB,SAAL,GAAiBA,SAAjB;AACA,WAAKC,QAAL,GAAgBA,QAAhB;AACA,WAAKkiB,QAAL,GAAgB,IAAhB;AACA,WAAKC,aAAL,GAAqB,IAArB;AACA,WAAK5hB,OAAL,GAAe,IAAf;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sDAAzB,CAAtE,EAAoHA,+DAAA,CAAyBA,0DAAzB,CAApH,CAAP;AAA+K,GAA5N;;AACAy2F,EAAAA,OAAO,CAACvrD,IAAR,GAAe,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEg8F,OAAR;AAAiBrrD,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,OAAL,EAAc,EAAd,EAAkB,SAAlB,EAA6B,EAA7B,CAAD,CAA5B;AAAgEC,IAAAA,MAAM,EAAE;AAAEmrD,MAAAA,OAAO,EAAE,SAAX;AAAsBK,MAAAA,YAAY,EAAE,cAApC;AAAoDI,MAAAA,aAAa,EAAE;AAAnE;AAAxE,GAAzB,CAA7B;SApIMR;;;AA+IN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOhvF,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AASC,CAThB;;AAUA,MAAM2vF,eAAN,CAAsB;AAClB/6F,EAAAA,WAAW,CAAC48C,MAAD,EAASG,IAAT,EAAe;AACtB,SAAKH,MAAL,GAAcA,MAAd;AACA,SAAKG,IAAL,GAAYA,IAAZ;AACH;;AAJiB;;AAMtB,SAAS89C,WAAT,CAAqBz8F,IAArB,EAA2B;AACvB,SAAOA,IAAI,CAAC,MAAD,CAAJ,IAAgB,OAAOA,IAA9B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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AqBE,IAAAA,IAAI,EAAEmjG,aAA3B;AAA0CP,IAAAA,IAAI,EAAE;AAAhD,GAApB,CAApC;SAXMO;;;AAYN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOn2F,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGO,CAHtB;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMq2F;AAAN,QAAMA,QAAN,CAAe;AACXzhG,IAAAA,WAAW,CAAC0lF,MAAD,EAAS;AAChB,WAAKA,MAAL,GAAcA,MAAd;AACH;;AACDtoB,IAAAA,SAAS,CAACx2D,KAAD,EAAQgjF,MAAM,GAAG,YAAjB,EAA+Ba,QAA/B,EAAyC/E,MAAzC,EAAiD;AACtD,UAAI9+E,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMikG,WAAN,CAAkB;AACd5qG,EAAAA,WAAW,GAAG;AACV,SAAKyG,GAAL,GAAW,IAAII,GAAJ,EAAX;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIE,EAAAA,GAAG,CAACmE,KAAD,EAAQtE,KAAR,EAAe;AACd,SAAKH,GAAL,CAASM,GAAT,CAAamE,KAAb,EAAoBtE,KAApB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIE,EAAAA,GAAG,CAACoE,KAAD,EAAQ;AACP,QAAI,CAAC,KAAKzE,GAAL,CAASgM,GAAT,CAAavH,KAAb,CAAL,EAA0B;AACtB,WAAKzE,GAAL,CAASM,GAAT,CAAamE,KAAb,EAAoBA,KAAK,CAACvE,YAAN,EAApB;AACH;;AACD,WAAO,KAAKF,GAAL,CAASK,GAAT,CAAaoE,KAAb,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIuN,EAAAA,MAAM,CAACvN,KAAD,EAAQ;AACV,SAAKzE,GAAL,CAASgS,MAAT,CAAgBvN,KAAhB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;;;AACIhG,EAAAA,IAAI,GAAG;AACH,WAAO,KAAKuB,GAAL,CAASvB,IAAT,EAAP;AACH;;AA7Ca;AAgDlB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAAS2lG,aAAT,CAAuBC,MAAvB,EAA+B;AAC3B,UAAQA,MAAR;AACI,SAAK,QAAL;AACA,SAAK,KAAL;AACA,SAAK,MAAL;AACA,SAAK,SAAL;AACA,SAAK,OAAL;AACI,aAAO,KAAP;;AACJ;AACI,aAAO,IAAP;AARR;AAUH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,aAAT,CAAuBnkG,KAAvB,EAA8B;A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C,OAEA,CAACgL,WAAW,CAAChM,KAAD,CAAX,GAAqB;AAAE;AAAxB,UAAsD8N,SAF1D,EAEqE;AACjE9B,MAAAA,WAAW,CAAChM,KAAD,CAAX,IAAsB;AAAK;AAA3B;AACA0F,MAAAA,QAAQ,CAAC;AAAE;AAAH,QAA6B4I,SAA7B,EAAwCH,IAAxC,CAAR;;AACA,UAAI;AACAA,QAAAA,IAAI,CAAChpH,IAAL,CAAUmpH,SAAV;AACH,OAFD,SAGQ;AACJ5I,QAAAA,QAAQ,CAAC;AAAE;AAAH,UAA2B4I,SAA3B,EAAsCH,IAAtC,CAAR;AACH;AACJ;AACJ,GAfD,MAgBK;AACDzI,IAAAA,QAAQ,CAAC;AAAE;AAAH,MAA6B4I,SAA7B,EAAwCH,IAAxC,CAAR;;AACA,QAAI;AACAA,MAAAA,IAAI,CAAChpH,IAAL,CAAUmpH,SAAV;AACH,KAFD,SAGQ;AACJ5I,MAAAA,QAAQ,CAAC;AAAE;AAAH,QAA2B4I,SAA3B,EAAsCH,IAAtC,CAAR;AACH;AACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMK,kBAAkB,GAAG,CAAC,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,mBAAN,CAA0B;AACtBxtH,EAAAA,WAAW;AACX;AACJ;AACA;AACImL,EAAAA,OAJW;AAKX;AACJ;AACA;A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AqC,sDAArC,CADrB;AAEA,SAAOyP,cAAc,GAAG;AAAM;AAA9B;AACH;;AACD,SAASG,2BAAT,CAAqCH,cAArC,EAAqD;AACjD,SAAOA,cAAc,IAAI;AAAG;AAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,qBAAT,CAA+BpvC,QAA/B,EAAyCqvC,SAAzC,EAAoD;AAChD,MAAIC,UAAU,GAAGH,2BAA2B,CAACnvC,QAAD,CAA5C;AACA,MAAIuvC,UAAU,GAAGF,SAAjB,CAFgD,CAGhD;AACA;AACA;AACA;;AACA,SAAOC,UAAU,GAAG,CAApB,EAAuB;AACnBC,IAAAA,UAAU,GAAGA,UAAU,CAACrQ,gBAAD,CAAvB;AACAoQ,IAAAA,UAAU;AACb;;AACD,SAAOC,UAAP;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,IAAIC,oBAAoB,GAAG,IAA3B;;AACA,SAASC,uBAAT,CAAiCp4G,CAAjC,EAAoC;AAChC,QAAMua,QAAQ,GAAG49F,oBAAjB;AACAA,EAAAA,oBAAoB,GAAGn4G,CAAvB;AACA,SAAOua,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,MAAM89F,UAAU,GAAG,GAAnB;AACA,MAAMC,UAAU,GAAGD,UAAU,GAAG,CAAhC;AACA;AACA;AACA;AACA;AACA;;AACA,MAAME,iBAAiB,GAAG,CAA1B;AACA;;AACA,IAAIC,eAAe,GAAG,CAAtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,QAAT,CAAkBpN,aAAlB,EAAiC/I,KAAjC,EAAwCj8G,IAAxC,EAA8C;AAC1CgN,EAAAA,SAAS,IAAIurG,WAAW,CAAC0D,KAAK,CAACF,eAAP,EAAwB,IAAxB,EAA8B,qCAA9B,CAAxB;AACA,MAAI/yG,EAAJ;;AACA,MAAI,OAAOhJ,IAAP,KAAgB,QAApB,EAA8B;AAC1BgJ,IAAAA,EAAE,GAAGhJ,IAAI,CAAC8wH,UAAL,CAAgB,CAAhB,KAAsB,CAA3B;AACH,GAFD,MAGK,IAAI9wH,IAAI,CAACqO,cAAL,CAAoB4vG,aAApB,CAAJ,EAAwC;AACzCj1G,IAAAA,EAAE,GAAGhJ,IAAI,CAACi+G,aAAD,CAAT;AACH,GARyC,CAS1C;AACA;;;AACA,MAAIj1G,EAAE,IAAI,IAAV,EAAgB;AACZA,IAAAA,EAAE,GAAGhJ,IAAI,CAACi+G,aAAD,CAAJ,GAAsBkU,eAAe,EAA1C;AACH,GAbyC,CAc1C;AACA;;;AACA,QAAME,SAAS,GAAGrpH,EAAE,GAAGipH,UAAvB,CAhB0C,CAiB1C;AACA;AACA;;AACA,QAAMK,IAAI,GAAG,KAAKD,SAAlB,CApB0C,CAqB1C;AACA;AACA;;AACApW,EAAAA,KAAK,CAAC9zG,IAAN,CAAW68G,aAAa,IAAIqN,SAAS,IAAIH,iBAAjB,CAAxB,KAAgEI,IAAhE;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,8BAAT,CAAwCvW,KAAxC,EAA+C+G,KAA/C,EAAsD;AAClD,QAAMyP,qBAAqB,GAAGC,gBAAgB,CAACzW,KAAD,EAAQ+G,KAAR,CAA9C;;AACA,MAAIyP,qBAAqB,KAAK,CAAC,CAA/B,EAAkC;AAC9B,WAAOA,qBAAP;AACH;;AACD,QAAMvW,KAAK,GAAG8G,KAAK,CAACrC,KAAD,CAAnB;;AACA,MAAIzE,KAAK,CAACF,eAAV,EAA2B;AACvBC,IAAAA,KAAK,CAACgJ,aAAN,GAAsBjC,KAAK,CAACh/G,MAA5B;AACA2uH,IAAAA,WAAW,CAACzW,KAAK,CAAC9zG,IAAP,EAAa6zG,KAAb,CAAX,CAFuB,CAES;;AAChC0W,IAAAA,WAAW,CAAC3P,KAAD,EAAQ,IAAR,CAAX,CAHuB,CAGG;;AAC1B2P,IAAAA,WAAW,CAACzW,KAAK,CAAC0W,SAAP,EAAkB,IAAlB,CAAX;AACH;;AACD,QAAMC,SAAS,GAAGC,yBAAyB,CAAC7W,KAAD,EAAQ+G,KAAR,CAA3C;AACA,QAAMiC,aAAa,GAAGhJ,KAAK,CAACgJ,aAA5B,CAbkD,CAclD;AACA;;AACA,MAAIqM,iBAAiB,CAACuB,SAAD,CAArB,EAAkC;AAC9B,UAAME,WAAW,GAAGvB,sBAAsB,CAACqB,SAAD,CAA1C;AACA,UAAMpH,WAAW,GAAGkG,qBAAqB,CAACkB,SAAD,EAAY7P,KAAZ,CAAzC;AACA,UAAMgQ,UAAU,GAAGvH,WAAW,CAAC9K,KAAD,CAAX,CAAmBv4G,IAAtC,CAH8B,CAI9B;AACA;;AACA,SAAK,IAAI4C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG;AAAE;AAAtB,MAAwCA,CAAC,EAAzC,EAA6C;AACzCg4G,MAAAA,KAAK,CAACiC,aAAa,GAAGj6G,CAAjB,CAAL,GAA2BygH,WAAW,CAACsH,WAAW,GAAG/nH,CAAf,CAAX,GAA+BgoH,UAAU,CAACD,WAAW,GAAG/nH,CAAf,CAApE;AACH;AACJ;;AACDg4G,EAAAA,KAAK,CAACiC,aAAa,GAAG;AAAE;AAAnB,GAAL,GAAwC4N,SAAxC;AACA,SAAO5N,aAAP;AACH;;AACD,SAAS0N,WAAT,CAAqBthH,GAArB,EAA0B4hH,MAA1B,EAAkC;AAC9B5hH,EAAAA,GAAG,CAACxO,IAAJ,CAAS,CAAT,EAAY,CAAZ,EAAe,CAAf,EAAkB,CAAlB,EAAqB,CAArB,EAAwB,CAAxB,EAA2B,CAA3B,EAA8B,CAA9B,EAAiCowH,MAAjC;AACH;;AACD,SAASP,gBAAT,CAA0BzW,KAA1B,EAAiC+G,KAAjC,EAAwC;AACpC,MAAI/G,KAAK,CAACgJ,aAAN,KAAwB,CAAC,CAAzB,IACA;AACA;AACChJ,EAAAA,KAAK,CAACrwF,MAAN,IAAgBqwF,KAAK,CAACrwF,MAAN,CAAaq5F,aAAb,KAA+BhJ,KAAK,CAACgJ,aAHtD,IAIA;AACA;AACAjC,EAAAA,KAAK,CAAC/G,KAAK,CAACgJ,aAAN,GAAsB;AAAE;AAAzB,GAAL,KAAgD,IANpD,EAM0D;AACtD,WAAO,CAAC,CAAR;AACH,GARD,MASK;AACDh4G,IAAAA,SAAS,IAAIksG,kBAAkB,CAAC6J,KAAD,EAAQ/G,KAAK,CAACgJ,aAAd,CAA/B;AACA,WAAOhJ,KAAK,CAACgJ,aAAb;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6N,yBAAT,CAAmC7W,KAAnC,EAA0C+G,KAA1C,EAAiD;AAC7C,MAAI/G,KAAK,CAACrwF,MAAN,IAAgBqwF,KAAK,CAACrwF,MAAN,CAAaq5F,aAAb,KAA+B,CAAC,CAApD,EAAuD;AACnD;AACA;AACA,WAAOhJ,KAAK,CAACrwF,MAAN,CAAaq5F,aAApB,CAHmD,CAGhB;AACtC,GAL4C,CAM7C;AACA;AACA;;;AACA,MAAIiO,qBAAqB,GAAG,CAA5B;AACA,MAAI1H,WAAW,GAAG,IAAlB;AACA,MAAI2H,WAAW,GAAGnQ,KAAlB,CAX6C,CAY7C;AACA;AACA;;AACA,SAAOmQ,WAAW,KAAK,IAAvB,EAA6B;AACzB;AACA,UAAMjX,KAAK,GAAGiX,WAAW,CAACxS,KAAD,CAAzB;AACA,UAAMyS,SAAS,GAAGlX,KAAK,CAACj8G,IAAxB;;AACA,QAAImzH,SAAS,KAAK;AAAE;AAApB,MAAoC;AAChCnmH,MAAAA,SAAS,IACL+rG,aAAa,CAACkD,KAAK,CAACoP,SAAP,EAAkB,kDAAlB,CADjB;AAEAE,MAAAA,WAAW,GAAGtP,KAAK,CAACoP,SAApB;AACH,KAJD,MAKK,IAAI8H,SAAS,KAAK;AAAE;AAApB,MAAqC;AACtC;AACA;AACA5H,MAAAA,WAAW,GAAG2H,WAAW,CAACnS,MAAD,CAAzB;AACH,KAJI,MAKA;AACD/zG,MAAAA,SAAS,IAAIurG,WAAW,CAAC0D,KAAK,CAACj8G,IAAP,EAAa;AAAE;AAAf,QAA2B,oBAA3B,CAAxB;AACAurH,MAAAA,WAAW,GAAG,IAAd;AACH;;AACD,QAAIA,WAAW,KAAK,IAApB,EAA0B;AACtB;AACA,aAAO4D,kBAAP;AACH;;AACDniH,IAAAA,SAAS,IAAIu+G,WAAb,IAA4BzI,mBAAmB,CAACyI,WAAD,EAAc2H,WAAW,CAAC1R,gBAAD,CAAzB,CAA/C,CAtByB,CAuBzB;;AACAyR,IAAAA,qBAAqB;AACrBC,IAAAA,WAAW,GAAGA,WAAW,CAAC1R,gBAAD,CAAzB;;AACA,QAAI+J,WAAW,CAACvG,aAAZ,KAA8B,CAAC,CAAnC,EAAsC;AAClC;AACA,aAAQuG,WAAW,CAACvG,aAAZ,GACHiO,qBAAqB,IAAI;AAAG;AADjC;AAEH;AACJ;;AACD,SAAO9D,kBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiE,kBAAT,CAA4BpO,aAA5B,EAA2C/I,KAA3C,EAAkDnvG,KAAlD,EAAyD;AACrDslH,EAAAA,QAAQ,CAACpN,aAAD,EAAgB/I,KAAhB,EAAuBnvG,KAAvB,CAAR;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASumH,mBAAT,CAA6BrX,KAA7B,EAAoCsX,gBAApC,EAAsD;AAClDtmH,EAAAA,SAAS,IAAIijH,eAAe,CAACjU,KAAD,EAAQ;AAAG;AAAH,IAAwB;AAAE;AAAlC,GAA5B;AACAhvG,EAAAA,SAAS,IAAI+rG,aAAa,CAACiD,KAAD,EAAQ,iBAAR,CAA1B;;AACA,MAAIsX,gBAAgB,KAAK,OAAzB,EAAkC;AAC9B,WAAOtX,KAAK,CAAC9mF,OAAb;AACH;;AACD,MAAIo+F,gBAAgB,KAAK,OAAzB,EAAkC;AAC9B,WAAOtX,KAAK,CAAC57G,MAAb;AACH;;AACD,QAAMkwH,KAAK,GAAGtU,KAAK,CAACsU,KAApB;;AACA,MAAIA,KAAJ,EAAW;AACP,UAAMiD,WAAW,GAAGjD,KAAK,CAACvsH,MAA1B;AACA,QAAIgH,CAAC,GAAG,CAAR;;AACA,WAAOA,CAAC,GAAGwoH,WAAX,EAAwB;AACpB,YAAM/qH,KAAK,GAAG8nH,KAAK,CAACvlH,CAAD,CAAnB,CADoB,CAEpB;;AACA,UAAI6lH,yBAAyB,CAACpoH,KAAD,CAA7B,EACI,MAJgB,CAKpB;;AACA,UAAIA,KAAK,KAAK;AAAE;AAAhB,QAAoC;AAChC;AACA;AACA;AACA;AACAuC,QAAAA,CAAC,GAAGA,CAAC,GAAG,CAAR;AACH,OAND,MAOK,IAAI,OAAOvC,KAAP,KAAiB,QAArB,EAA+B;AAChC;AACAuC,QAAAA,CAAC;;AACD,eAAOA,CAAC,GAAGwoH,WAAJ,IAAmB,OAAOjD,KAAK,CAACvlH,CAAD,CAAZ,KAAoB,QAA9C,EAAwD;AACpDA,UAAAA,CAAC;AACJ;AACJ,OANI,MAOA,IAAIvC,KAAK,KAAK8qH,gBAAd,EAAgC;AACjC,eAAOhD,KAAK,CAACvlH,CAAC,GAAG,CAAL,CAAZ;AACH,OAFI,MAGA;AACDA,QAAAA,CAAC,GAAGA,CAAC,GAAG,CAAR;AACH;AACJ;AACJ;;AACD,SAAO,IAAP;AACH;;AACD,SAASyoH,oBAAT,CAA8B5kD,aAA9B,EAA6C9hE,KAA7C,EAAoD6tG,KAApD,EAA2D;AACvD,MAAIA,KAAK,GAAGP,WAAW,CAACz6E,QAAxB,EAAkC;AAC9B,WAAOivC,aAAP;AACH,GAFD,MAGK;AACD6oC,IAAAA,0BAA0B,CAAC3qG,KAAD,EAAQ,cAAR,CAA1B;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2mH,8BAAT,CAAwC1Q,KAAxC,EAA+Cj2G,KAA/C,EAAsD6tG,KAAtD,EAA6D/rC,aAA7D,EAA4E;AACxE,MAAI+rC,KAAK,GAAGP,WAAW,CAACz6E,QAApB,IAAgCivC,aAAa,KAAK1mE,SAAtD,EAAiE;AAC7D;AACA0mE,IAAAA,aAAa,GAAG,IAAhB;AACH;;AACD,MAAI,CAAC+rC,KAAK,IAAIP,WAAW,CAACsZ,IAAZ,GAAmBtZ,WAAW,CAACp5B,IAAnC,CAAN,MAAoD,CAAxD,EAA2D;AACvD,UAAM2yC,cAAc,GAAG5Q,KAAK,CAAC7B,QAAD,CAA5B,CADuD,CAEvD;AACA;AACA;;AACA,UAAM0S,4BAA4B,GAAGrZ,uBAAuB,CAACryG,SAAD,CAA5D;;AACA,QAAI;AACA,UAAIyrH,cAAJ,EAAoB;AAChB,eAAOA,cAAc,CAACjrH,GAAf,CAAmBoE,KAAnB,EAA0B8hE,aAA1B,EAAyC+rC,KAAK,GAAGP,WAAW,CAACz6E,QAA7D,CAAP;AACH,OAFD,MAGK;AACD,eAAO+6E,kBAAkB,CAAC5tG,KAAD,EAAQ8hE,aAAR,EAAuB+rC,KAAK,GAAGP,WAAW,CAACz6E,QAA3C,CAAzB;AACH;AACJ,KAPD,SAQQ;AACJ46E,MAAAA,uBAAuB,CAACqZ,4BAAD,CAAvB;AACH;AACJ;;AACD,SAAOJ,oBAAoB,CAAC5kD,aAAD,EAAgB9hE,KAAhB,EAAuB6tG,KAAvB,CAA3B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkZ,qBAAT,CAA+B7X,KAA/B,EAAsC+G,KAAtC,EAA6Cj2G,KAA7C,EAAoD6tG,KAAK,GAAGP,WAAW,CAACc,OAAxE,EAAiFtsC,aAAjF,EAAgG;AAC5F,MAAIotC,KAAK,KAAK,IAAd,EAAoB;AAChB,UAAMqW,SAAS,GAAGyB,qBAAqB,CAAChnH,KAAD,CAAvC,CADgB,CAEhB;AACA;;AACA,QAAI,OAAOulH,SAAP,KAAqB,UAAzB,EAAqC;AACjC,UAAI,CAAC/G,OAAO,CAACvI,KAAD,EAAQ/G,KAAR,EAAerB,KAAf,CAAZ,EAAmC;AAC/B;AACA;AACA,eAAQA,KAAK,GAAGP,WAAW,CAACp5B,IAArB,GACHwyC,oBAAoB,CAAC5kD,aAAD,EAAgB9hE,KAAhB,EAAuB6tG,KAAvB,CADjB,GAEH8Y,8BAA8B,CAAC1Q,KAAD,EAAQj2G,KAAR,EAAe6tG,KAAf,EAAsB/rC,aAAtB,CAFlC;AAGH;;AACD,UAAI;AACA,cAAMpmE,KAAK,GAAG6pH,SAAS,CAAC1X,KAAD,CAAvB;;AACA,YAAInyG,KAAK,IAAI,IAAT,IAAiB,EAAEmyG,KAAK,GAAGP,WAAW,CAACz6E,QAAtB,CAArB,EAAsD;AAClD83E,UAAAA,0BAA0B,CAAC3qG,KAAD,CAA1B;AACH,SAFD,MAGK;AACD,iBAAOtE,KAAP;AACH;AACJ,OARD,SASQ;AACJ6jH,QAAAA,OAAO;AACV;AACJ,KApBD,MAqBK,IAAI,OAAOgG,SAAP,KAAqB,QAAzB,EAAmC;AACpC;AACA;AACA;AACA,UAAI0B,aAAa,GAAG,IAApB;AACA,UAAI/O,aAAa,GAAGyN,gBAAgB,CAACzW,KAAD,EAAQ+G,KAAR,CAApC;AACA,UAAIuO,cAAc,GAAGnC,kBAArB;AACA,UAAI6E,gBAAgB,GAAGrZ,KAAK,GAAGP,WAAW,CAACp5B,IAApB,GAA2B+hC,KAAK,CAACtB,0BAAD,CAAL,CAAkCV,MAAlC,CAA3B,GAAuE,IAA9F,CAPoC,CAQpC;AACA;;AACA,UAAIiE,aAAa,KAAK,CAAC,CAAnB,IAAwBrK,KAAK,GAAGP,WAAW,CAAChrC,QAAhD,EAA0D;AACtDkiD,QAAAA,cAAc,GAAGtM,aAAa,KAAK,CAAC,CAAnB,GAAuB6N,yBAAyB,CAAC7W,KAAD,EAAQ+G,KAAR,CAAhD,GACbA,KAAK,CAACiC,aAAa,GAAG;AAAE;AAAnB,SADT;;AAEA,YAAIsM,cAAc,KAAKnC,kBAAnB,IAAyC,CAAC8E,kBAAkB,CAACtZ,KAAD,EAAQ,KAAR,CAAhE,EAAgF;AAC5EqK,UAAAA,aAAa,GAAG,CAAC,CAAjB;AACH,SAFD,MAGK;AACD+O,UAAAA,aAAa,GAAGhR,KAAK,CAACrC,KAAD,CAArB;AACAsE,UAAAA,aAAa,GAAGuM,sBAAsB,CAACD,cAAD,CAAtC;AACAvO,UAAAA,KAAK,GAAG2O,qBAAqB,CAACJ,cAAD,EAAiBvO,KAAjB,CAA7B;AACH;AACJ,OArBmC,CAsBpC;AACA;;;AACA,aAAOiC,aAAa,KAAK,CAAC,CAA1B,EAA6B;AACzBh4G,QAAAA,SAAS,IAAI+3G,kBAAkB,CAAChC,KAAD,EAAQiC,aAAR,CAA/B,CADyB,CAEzB;;AACA,cAAM/I,KAAK,GAAG8G,KAAK,CAACrC,KAAD,CAAnB;AACA1zG,QAAAA,SAAS,IACL81G,mBAAmB,CAAC7G,KAAK,CAAC9zG,IAAN,CAAW68G,aAAa,GAAG;AAAE;AAA7B,SAAD,EAA4CjC,KAA5C,CADvB;;AAEA,YAAImR,aAAa,CAAC7B,SAAD,EAAYrN,aAAZ,EAA2B/I,KAAK,CAAC9zG,IAAjC,CAAjB,EAAyD;AACrD;AACA;AACA;AACA,gBAAM09G,QAAQ,GAAGsO,sBAAsB,CAACnP,aAAD,EAAgBjC,KAAhB,EAAuBj2G,KAAvB,EAA8BinH,aAA9B,EAA6CpZ,KAA7C,EAAoDqZ,gBAApD,CAAvC;;AACA,cAAInO,QAAQ,KAAKuO,SAAjB,EAA4B;AACxB,mBAAOvO,QAAP;AACH;AACJ;;AACDyL,QAAAA,cAAc,GAAGvO,KAAK,CAACiC,aAAa,GAAG;AAAE;AAAnB,SAAtB;;AACA,YAAIsM,cAAc,KAAKnC,kBAAnB,IACA8E,kBAAkB,CAACtZ,KAAD,EAAQoI,KAAK,CAACrC,KAAD,CAAL,CAAav4G,IAAb,CAAkB68G,aAAa,GAAG;AAAE;AAApC,cAAqDgP,gBAA7D,CADlB,IAEAE,aAAa,CAAC7B,SAAD,EAAYrN,aAAZ,EAA2BjC,KAA3B,CAFjB,EAEoD;AAChD;AACA;AACAgR,UAAAA,aAAa,GAAG9X,KAAhB;AACA+I,UAAAA,aAAa,GAAGuM,sBAAsB,CAACD,cAAD,CAAtC;AACAvO,UAAAA,KAAK,GAAG2O,qBAAqB,CAACJ,cAAD,EAAiBvO,KAAjB,CAA7B;AACH,SARD,MASK;AACD;AACA;AACA;AACAiC,UAAAA,aAAa,GAAG,CAAC,CAAjB;AACH;AACJ;AACJ;AACJ;;AACD,SAAOyO,8BAA8B,CAAC1Q,KAAD,EAAQj2G,KAAR,EAAe6tG,KAAf,EAAsB/rC,aAAtB,CAArC;AACH;;AACD,MAAMwlD,SAAS,GAAG,EAAlB;;AACA,SAASC,kBAAT,GAA8B;AAC1B,SAAO,IAAIC,YAAJ,CAAiB9K,eAAe,EAAhC,EAAoCL,QAAQ,EAA5C,CAAP;AACH;;AACD,SAASgL,sBAAT,CAAgCnP,aAAhC,EAA+CjC,KAA/C,EAAsDj2G,KAAtD,EAA6DinH,aAA7D,EAA4EpZ,KAA5E,EAAmFqZ,gBAAnF,EAAqG;AACjG,QAAMO,YAAY,GAAGxR,KAAK,CAACrC,KAAD,CAA1B;AACA,QAAM1E,KAAK,GAAGuY,YAAY,CAACpsH,IAAb,CAAkB68G,aAAa,GAAG;AAAE;AAApC,GAAd,CAFiG,CAGjG;AACA;;AACA,QAAMwP,sBAAsB,GAAGT,aAAa,IAAI,IAAjB,GAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACCrR,EAAAA,eAAe,CAAC1G,KAAD,CAAf,IAA0B8V,oBARA,GAS3B;AACA;AACA;AACA;AACA;AACA;AACCiC,EAAAA,aAAa,IAAIQ,YAAjB,IAAkC,CAACvY,KAAK,CAACh8G,IAAN,GAAa;AAAE;AAAhB,QAAoC,CAf3E,CALiG,CAqBjG;AACA;;AACA,QAAMy0H,iBAAiB,GAAI9Z,KAAK,GAAGP,WAAW,CAACp5B,IAArB,IAA8BgzC,gBAAgB,KAAKhY,KAA7E;AACA,QAAM0Y,aAAa,GAAGC,yBAAyB,CAAC3Y,KAAD,EAAQuY,YAAR,EAAsBznH,KAAtB,EAA6B0nH,sBAA7B,EAAqDC,iBAArD,CAA/C;;AACA,MAAIC,aAAa,KAAK,IAAtB,EAA4B;AACxB,WAAOE,iBAAiB,CAAC7R,KAAD,EAAQwR,YAAR,EAAsBG,aAAtB,EAAqC1Y,KAArC,CAAxB;AACH,GAFD,MAGK;AACD,WAAOoY,SAAP;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASO,yBAAT,CAAmC3Y,KAAnC,EAA0CC,KAA1C,EAAiDnvG,KAAjD,EAAwD0nH,sBAAxD,EAAgFC,iBAAhF,EAAmG;AAC/F,QAAMI,mBAAmB,GAAG7Y,KAAK,CAAC8Y,eAAlC;AACA,QAAMC,YAAY,GAAG9Y,KAAK,CAAC9zG,IAA3B;AACA,QAAM6sH,gBAAgB,GAAGH,mBAAmB,GAAG;AAAQ;AAAvD;AACA,QAAMI,eAAe,GAAGjZ,KAAK,CAAC2R,cAA9B;AACA,QAAMC,YAAY,GAAG5R,KAAK,CAAC4R,YAA3B;AACA,QAAMsH,qBAAqB,GAAGL,mBAAmB,IAAI;AAAG;AAAxD;AACA,QAAMM,aAAa,GAAGX,sBAAsB,GAAGQ,gBAAH,GAAsBA,gBAAgB,GAAGE,qBAArF,CAP+F,CAQ/F;;AACA,QAAME,QAAQ,GAAGX,iBAAiB,GAAGO,gBAAgB,GAAGE,qBAAtB,GAA8CtH,YAAhF;;AACA,OAAK,IAAI7iH,CAAC,GAAGoqH,aAAb,EAA4BpqH,CAAC,GAAGqqH,QAAhC,EAA0CrqH,CAAC,EAA3C,EAA+C;AAC3C,UAAMsqH,kBAAkB,GAAGN,YAAY,CAAChqH,CAAD,CAAvC;;AACA,QAAIA,CAAC,GAAGkqH,eAAJ,IAAuBnoH,KAAK,KAAKuoH,kBAAjC,IACAtqH,CAAC,IAAIkqH,eAAL,IAAwBI,kBAAkB,CAACr1H,IAAnB,KAA4B8M,KADxD,EAC+D;AAC3D,aAAO/B,CAAP;AACH;AACJ;;AACD,MAAI0pH,iBAAJ,EAAuB;AACnB,UAAMa,MAAM,GAAGP,YAAY,CAACE,eAAD,CAA3B;;AACA,QAAIK,MAAM,IAAI1S,cAAc,CAAC0S,MAAD,CAAxB,IAAoCA,MAAM,CAACt1H,IAAP,KAAgB8M,KAAxD,EAA+D;AAC3D,aAAOmoH,eAAP;AACH;AACJ;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASL,iBAAT,CAA2B7R,KAA3B,EAAkC9G,KAAlC,EAAyCj1F,KAAzC,EAAgDg1F,KAAhD,EAAuD;AACnD,MAAIxzG,KAAK,GAAGu6G,KAAK,CAAC/7F,KAAD,CAAjB;AACA,QAAMikG,KAAK,GAAGhP,KAAK,CAAC9zG,IAApB;;AACA,MAAIunH,SAAS,CAAClnH,KAAD,CAAb,EAAsB;AAClB,UAAMuE,OAAO,GAAGvE,KAAhB;;AACA,QAAIuE,OAAO,CAACwiH,SAAZ,EAAuB;AACnBtY,MAAAA,0BAA0B,CAACD,iBAAiB,CAACiU,KAAK,CAACjkG,KAAD,CAAN,CAAlB,CAA1B;AACH;;AACD,UAAMuuG,4BAA4B,GAAGxD,uBAAuB,CAAChlH,OAAO,CAACyiH,mBAAT,CAA5D;AACAziH,IAAAA,OAAO,CAACwiH,SAAR,GAAoB,IAApB;AACA,UAAMqE,4BAA4B,GAAG7mH,OAAO,CAAC0iH,UAAR,GAAqBlV,uBAAuB,CAACxtG,OAAO,CAAC0iH,UAAT,CAA5C,GAAmE,IAAxG;AACA,UAAM+F,OAAO,GAAGlK,OAAO,CAACvI,KAAD,EAAQ/G,KAAR,EAAe5B,WAAW,CAACc,OAA3B,CAAvB;AACAluG,IAAAA,SAAS,IACLurG,WAAW,CAACid,OAAD,EAAU,IAAV,EAAgB,6EAAhB,CADf;;AAEA,QAAI;AACAhtH,MAAAA,KAAK,GAAGu6G,KAAK,CAAC/7F,KAAD,CAAL,GAAeja,OAAO,CAACA,OAAR,CAAgB7E,SAAhB,EAA2B+iH,KAA3B,EAAkClI,KAAlC,EAAyC/G,KAAzC,CAAvB,CADA,CAEA;AACA;AACA;AACA;AACA;AACA;;AACA,UAAIC,KAAK,CAACF,eAAN,IAAyB/0F,KAAK,IAAIg1F,KAAK,CAAC2R,cAA5C,EAA4D;AACxD3gH,QAAAA,SAAS,IAAIm3G,kBAAkB,CAAC8G,KAAK,CAACjkG,KAAD,CAAN,CAA/B;AACAomG,QAAAA,qBAAqB,CAACpmG,KAAD,EAAQikG,KAAK,CAACjkG,KAAD,CAAb,EAAsBi1F,KAAtB,CAArB;AACH;AACJ,KAZD,SAaQ;AACJ2X,MAAAA,4BAA4B,KAAK,IAAjC,IACIrZ,uBAAuB,CAACqZ,4BAAD,CAD3B;AAEA7B,MAAAA,uBAAuB,CAACwD,4BAAD,CAAvB;AACAxoH,MAAAA,OAAO,CAACwiH,SAAR,GAAoB,KAApB;AACAlD,MAAAA,OAAO;AACV;AACJ;;AACD,SAAO7jH,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsrH,qBAAT,CAA+BhnH,KAA/B,EAAsC;AAClCE,EAAAA,SAAS,IAAI+rG,aAAa,CAACjsG,KAAD,EAAQ,uBAAR,CAA1B;;AACA,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,WAAOA,KAAK,CAACgkH,UAAN,CAAiB,CAAjB,KAAuB,CAA9B;AACH;;AACD,QAAM2E,OAAO,GACb;AACA3oH,EAAAA,KAAK,CAACuB,cAAN,CAAqB4vG,aAArB,IAAsCnxG,KAAK,CAACmxG,aAAD,CAA3C,GAA6D/1G,SAF7D,CALkC,CAQlC;;AACA,MAAI,OAAOutH,OAAP,KAAmB,QAAvB,EAAiC;AAC7B,QAAIA,OAAO,IAAI,CAAf,EAAkB;AACd,aAAOA,OAAO,GAAGxD,UAAjB;AACH,KAFD,MAGK;AACDjlH,MAAAA,SAAS,IACLurG,WAAW,CAACkd,OAAD,EAAU,CAAC;AAAE;AAAb,QAA6B,sCAA7B,CADf;AAEA,aAAOpB,kBAAP;AACH;AACJ,GATD,MAUK;AACD,WAAOoB,OAAP;AACH;AACJ;;AACD,SAASvB,aAAT,CAAuB7B,SAAvB,EAAkCrN,aAAlC,EAAiD0Q,YAAjD,EAA+D;AAC3D;AACA;AACA;AACA,QAAMpD,IAAI,GAAG,KAAKD,SAAlB,CAJ2D,CAK3D;AACA;AACA;;AACA,QAAM7pH,KAAK,GAAGktH,YAAY,CAAC1Q,aAAa,IAAIqN,SAAS,IAAIH,iBAAjB,CAAd,CAA1B,CAR2D,CAS3D;AACA;;AACA,SAAO,CAAC,EAAE1pH,KAAK,GAAG8pH,IAAV,CAAR;AACH;AACD;;;AACA,SAAS2B,kBAAT,CAA4BtZ,KAA5B,EAAmCgb,gBAAnC,EAAqD;AACjD,SAAO,EAAEhb,KAAK,GAAGP,WAAW,CAACsZ,IAAtB,KAA+B,EAAE/Y,KAAK,GAAGP,WAAW,CAACp5B,IAApB,IAA4B20C,gBAA9B,CAAtC;AACH;;AACD,MAAMrB,YAAN,CAAmB;AACf1yH,EAAAA,WAAW,CAACg0H,MAAD,EAASC,MAAT,EAAiB;AACxB,SAAKD,MAAL,GAAcA,MAAd;AACA,SAAKC,MAAL,GAAcA,MAAd;AACH;;AACDntH,EAAAA,GAAG,CAACoE,KAAD,EAAQ8hE,aAAR,EAAuB+rC,KAAvB,EAA8B;AAC7B,WAAOkZ,qBAAqB,CAAC,KAAK+B,MAAN,EAAc,KAAKC,MAAnB,EAA2B/oH,KAA3B,EAAkC6tG,KAAlC,EAAyC/rC,aAAzC,CAA5B;AACH;;AAPc;AASnB;AACA;AACA;;;AACA,SAASjB,qBAAT,CAA+B3tE,IAA/B,EAAqC;AACjC,SAAO86G,aAAa,CAAC,MAAM;AACvB,UAAMgb,cAAc,GAAG91H,IAAI,CAACmK,SAAL,CAAevI,WAAtC;AACA,UAAMm0H,UAAU,GAAGD,cAAc,CAAC9X,cAAD,CAAd,IAAkCgY,YAAY,CAACF,cAAD,CAAjE;AACA,UAAMG,eAAe,GAAGpvH,MAAM,CAACsD,SAA/B;AACA,QAAIwhB,MAAM,GAAG9kB,MAAM,CAAC8gG,cAAP,CAAsB3nG,IAAI,CAACmK,SAA3B,EAAsCvI,WAAnD,CAJuB,CAKvB;;AACA,WAAO+pB,MAAM,IAAIA,MAAM,KAAKsqG,eAA5B,EAA6C;AACzC,YAAMlpH,OAAO,GAAG4e,MAAM,CAACqyF,cAAD,CAAN,IAA0BgY,YAAY,CAACrqG,MAAD,CAAtD,CADyC,CAEzC;AACA;AACA;AACA;AACA;;AACA,UAAI5e,OAAO,IAAIA,OAAO,KAAKgpH,UAA3B,EAAuC;AACnC,eAAOhpH,OAAP;AACH;;AACD4e,MAAAA,MAAM,GAAG9kB,MAAM,CAAC8gG,cAAP,CAAsBh8E,MAAtB,CAAT;AACH,KAjBsB,CAkBvB;AACA;AACA;AACA;;;AACA,WAAOhf,CAAC,IAAI,IAAIA,CAAJ,EAAZ;AACH,GAvBmB,CAApB;AAwBH;;AACD,SAASqpH,YAAT,CAAsBh2H,IAAtB,EAA4B;AACxB,MAAIy2G,YAAY,CAACz2G,IAAD,CAAhB,EAAwB;AACpB,WAAO,MAAM;AACT,YAAM+M,OAAO,GAAGipH,YAAY,CAACxf,iBAAiB,CAACx2G,IAAD,CAAlB,CAA5B;AACA,aAAO+M,OAAO,IAAIA,OAAO,EAAzB;AACH,KAHD;AAIH;;AACD,SAAOk4G,aAAa,CAACjlH,IAAD,CAApB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0gG,iBAAT,CAA2B4yB,gBAA3B,EAA6C;AACzC,SAAOD,mBAAmB,CAAC7J,eAAe,EAAhB,EAAoB8J,gBAApB,CAA1B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM4C,WAAW,GAAG,iBAApB;AACA,MAAMC,UAAU,GAAG,gBAAnB;AACA,MAAMC,aAAa,GAAG,oBAAtB;AACA;AACA;AACA;;AACA,SAASC,aAAT,CAAuBv2H,IAAvB,EAA6BygB,KAA7B,EAAoC+1G,WAApC,EAAiDC,oBAAjD,EAAuEC,MAAvE,EAA+E;AAC3E,SAAO1b,aAAa,CAAC,MAAM;AACvB,UAAM2b,QAAQ,GAAGC,gBAAgB,CAACn2G,KAAD,CAAjC;;AACA,aAASo2G,gBAAT,CAA0B,GAAGxvG,IAA7B,EAAmC;AAC/B,UAAI,gBAAgBwvG,gBAApB,EAAsC;AAClCF,QAAAA,QAAQ,CAAC3wH,IAAT,CAAc,IAAd,EAAoB,GAAGqhB,IAAvB;AACA,eAAO,IAAP;AACH;;AACD,YAAMyvG,kBAAkB,GAAG,IAAID,gBAAJ,CAAqB,GAAGxvG,IAAxB,CAA3B;AACA,aAAO,SAAS0vG,aAAT,CAAuBC,GAAvB,EAA4B;AAC/B,YAAIN,MAAJ,EACIA,MAAM,CAACM,GAAD,EAAM,GAAG3vG,IAAT,CAAN,CAF2B,CAG/B;AACA;;AACA,cAAM4vG,WAAW,GAAGD,GAAG,CAACzoH,cAAJ,CAAmB6nH,WAAnB,IAChBY,GAAG,CAACZ,WAAD,CADa,GAEhBrvH,MAAM,CAACuiE,cAAP,CAAsB0tD,GAAtB,EAA2BZ,WAA3B,EAAwC;AAAE1tH,UAAAA,KAAK,EAAE;AAAT,SAAxC,EAAuD0tH,WAAvD,CAFJ;AAGAa,QAAAA,WAAW,CAACn0H,IAAZ,CAAiBg0H,kBAAjB;AACA,YAAIL,oBAAJ,EACIA,oBAAoB,CAACO,GAAD,CAApB;AACJ,eAAOA,GAAP;AACH,OAZD;AAaH;;AACD,QAAIR,WAAJ,EAAiB;AACbK,MAAAA,gBAAgB,CAACxsH,SAAjB,GAA6BtD,MAAM,CAACmZ,MAAP,CAAcs2G,WAAW,CAACnsH,SAA1B,CAA7B;AACH;;AACDwsH,IAAAA,gBAAgB,CAACxsH,SAAjB,CAA2B6sH,cAA3B,GAA4Cl3H,IAA5C;AACA62H,IAAAA,gBAAgB,CAACM,aAAjB,GAAiCN,gBAAjC;AACA,WAAOA,gBAAP;AACH,GA5BmB,CAApB;AA6BH;;AACD,SAASD,gBAAT,CAA0Bn2G,KAA1B,EAAiC;AAC7B,SAAO,SAAS22G,IAAT,CAAc,GAAG/vG,IAAjB,EAAuB;AAC1B,QAAI5G,KAAJ,EAAW;AACP,YAAMhK,MAAM,GAAGgK,KAAK,CAAC,GAAG4G,IAAJ,CAApB;;AACA,WAAK,MAAMgwG,QAAX,IAAuB5gH,MAAvB,EAA+B;AAC3B,aAAK4gH,QAAL,IAAiB5gH,MAAM,CAAC4gH,QAAD,CAAvB;AACH;AACJ;AACJ,GAPD;AAQH;;AACD,SAASC,kBAAT,CAA4Bt3H,IAA5B,EAAkCygB,KAAlC,EAAyC+1G,WAAzC,EAAsD;AAClD,SAAOxb,aAAa,CAAC,MAAM;AACvB,UAAM2b,QAAQ,GAAGC,gBAAgB,CAACn2G,KAAD,CAAjC;;AACA,aAAS82G,qBAAT,CAA+B,GAAGlwG,IAAlC,EAAwC;AACpC,UAAI,gBAAgBkwG,qBAApB,EAA2C;AACvCZ,QAAAA,QAAQ,CAAC9rH,KAAT,CAAe,IAAf,EAAqBwc,IAArB;AACA,eAAO,IAAP;AACH;;AACD,YAAMyvG,kBAAkB,GAAG,IAAIS,qBAAJ,CAA0B,GAAGlwG,IAA7B,CAA3B;AACAmwG,MAAAA,cAAc,CAACC,UAAf,GAA4BX,kBAA5B;AACA,aAAOU,cAAP;;AACA,eAASA,cAAT,CAAwBR,GAAxB,EAA6BU,SAA7B,EAAwCxwG,KAAxC,EAA+C;AAC3C;AACA;AACA,cAAMywG,UAAU,GAAGX,GAAG,CAACzoH,cAAJ,CAAmB8nH,UAAnB,IACfW,GAAG,CAACX,UAAD,CADY,GAEftvH,MAAM,CAACuiE,cAAP,CAAsB0tD,GAAtB,EAA2BX,UAA3B,EAAuC;AAAE3tH,UAAAA,KAAK,EAAE;AAAT,SAAvC,EAAsD2tH,UAAtD,CAFJ,CAH2C,CAM3C;AACA;;AACA,eAAOsB,UAAU,CAAC1zH,MAAX,IAAqBijB,KAA5B,EAAmC;AAC/BywG,UAAAA,UAAU,CAAC70H,IAAX,CAAgB,IAAhB;AACH;;AACD,SAAC60H,UAAU,CAACzwG,KAAD,CAAV,GAAoBywG,UAAU,CAACzwG,KAAD,CAAV,IAAqB,EAA1C,EAA8CpkB,IAA9C,CAAmDg0H,kBAAnD;AACA,eAAOE,GAAP;AACH;AACJ;;AACD,QAAIR,WAAJ,EAAiB;AACbe,MAAAA,qBAAqB,CAACltH,SAAtB,GAAkCtD,MAAM,CAACmZ,MAAP,CAAcs2G,WAAW,CAACnsH,SAA1B,CAAlC;AACH;;AACDktH,IAAAA,qBAAqB,CAACltH,SAAtB,CAAgC6sH,cAAhC,GAAiDl3H,IAAjD;AACAu3H,IAAAA,qBAAqB,CAACJ,aAAtB,GAAsCI,qBAAtC;AACA,WAAOA,qBAAP;AACH,GA/BmB,CAApB;AAgCH;;AACD,SAASK,iBAAT,CAA2B53H,IAA3B,EAAiCygB,KAAjC,EAAwC+1G,WAAxC,EAAqDC,oBAArD,EAA2E;AACvE,SAAOzb,aAAa,CAAC,MAAM;AACvB,UAAM2b,QAAQ,GAAGC,gBAAgB,CAACn2G,KAAD,CAAjC;;AACA,aAASo3G,oBAAT,CAA8B,GAAGxwG,IAAjC,EAAuC;AACnC,UAAI,gBAAgBwwG,oBAApB,EAA0C;AACtClB,QAAAA,QAAQ,CAAC9rH,KAAT,CAAe,IAAf,EAAqBwc,IAArB;AACA,eAAO,IAAP;AACH;;AACD,YAAMywG,iBAAiB,GAAG,IAAID,oBAAJ,CAAyB,GAAGxwG,IAA5B,CAA1B;;AACA,eAAS0wG,aAAT,CAAuB94G,MAAvB,EAA+Bjf,IAA/B,EAAqC;AACjC,cAAM8B,WAAW,GAAGmd,MAAM,CAACnd,WAA3B,CADiC,CAEjC;AACA;;AACA,cAAMk2H,IAAI,GAAGl2H,WAAW,CAACyM,cAAZ,CAA2B+nH,aAA3B,IACTx0H,WAAW,CAACw0H,aAAD,CADF,GAETvvH,MAAM,CAACuiE,cAAP,CAAsBxnE,WAAtB,EAAmCw0H,aAAnC,EAAkD;AAAE5tH,UAAAA,KAAK,EAAE;AAAT,SAAlD,EAAiE4tH,aAAjE,CAFJ;AAGA0B,QAAAA,IAAI,CAACh4H,IAAD,CAAJ,GAAag4H,IAAI,CAACzpH,cAAL,CAAoBvO,IAApB,KAA6Bg4H,IAAI,CAACh4H,IAAD,CAAjC,IAA2C,EAAxD;AACAg4H,QAAAA,IAAI,CAACh4H,IAAD,CAAJ,CAAWm2F,OAAX,CAAmB2hC,iBAAnB;AACA,YAAIrB,oBAAJ,EACIA,oBAAoB,CAACx3G,MAAD,EAASjf,IAAT,EAAe,GAAGqnB,IAAlB,CAApB;AACP;;AACD,aAAO0wG,aAAP;AACH;;AACD,QAAIvB,WAAJ,EAAiB;AACbqB,MAAAA,oBAAoB,CAACxtH,SAArB,GAAiCtD,MAAM,CAACmZ,MAAP,CAAcs2G,WAAW,CAACnsH,SAA1B,CAAjC;AACH;;AACDwtH,IAAAA,oBAAoB,CAACxtH,SAArB,CAA+B6sH,cAA/B,GAAgDl3H,IAAhD;AACA63H,IAAAA,oBAAoB,CAACV,aAArB,GAAqCU,oBAArC;AACA,WAAOA,oBAAP;AACH,GA5BmB,CAApB;AA6BH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,oCAAT,GAAgD;AAC5C,SAAOX,kBAAkB,CAAC,WAAD,EAAeY,aAAD,KAAoB;AAAEA,IAAAA;AAAF,GAApB,CAAd,CAAzB;AACH;;AACD,SAASC,qCAAT,GAAiD;AAC7C,SAAOb,kBAAkB,CAAC,WAAD,EAAeY,aAAD,KAAoB;AAAEA,IAAAA,aAAF;AAAiB9Z,IAAAA,iBAAiB,EAAE,MAAMxd,iBAAiB,CAACs3B,aAAD;AAA3D,GAApB,CAAd,CAAzB;AACH;;AACD,MAAME,+BAA+B,GAAGD,qCAAxC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM/2C,SAAS,gBAAGg3C,+BAA+B,EAAjD;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMx4F,cAAN,CAAqB;AACjB;AACJ;AACA;AACA;AACA;AACA;AACI99B,EAAAA,WAAW,CAACu2H,KAAD,EAAQl4H,OAAR,EAAiB;AACxB,SAAKk4H,KAAL,GAAaA,KAAb;AACA;;AACA,SAAKnB,cAAL,GAAsB,gBAAtB;AACA,SAAKpqH,KAAL,GAAa1E,SAAb;;AACA,QAAI,OAAOjI,OAAP,IAAkB,QAAtB,EAAgC;AAC5B,OAAC,OAAO+M,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KACI4rG,cAAc,CAAC34G,OAAD,EAAU,CAAV,EAAa,0CAAb,CADlB,CAD4B,CAG5B;AACA;;AACA,WAAKi+G,iBAAL,GAAyBj+G,OAAzB;AACH,KAND,MAOK,IAAIA,OAAO,KAAKiI,SAAhB,EAA2B;AAC5B,WAAK0E,KAAL,GAAaC,kBAAkB,CAAC;AAC5BC,QAAAA,KAAK,EAAE,IADqB;AAE5B84B,QAAAA,UAAU,EAAE3lC,OAAO,CAAC2lC,UAAR,IAAsB,MAFN;AAG5B74B,QAAAA,OAAO,EAAE9M,OAAO,CAAC8M;AAHW,OAAD,CAA/B;AAKH;AACJ;;AACDlH,EAAAA,QAAQ,GAAG;AACP,WAAQ,kBAAiB,KAAKsyH,KAAM,EAApC;AACH;;AA7BgB;AAgCrB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,4BAA4B,gBAAG,IAAI14F,cAAJ,CAAmB,2BAAnB,CAArC,EACA;AACA;;AACA,MAAM24F,mCAAmC,GAAG,IAA5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,KAAN,CAAY;;AAEZ,MAAMp1G,IAAI,GAAG,CAAC9hB,QAAD,EAAW+G,IAAI,GAAG,EAAlB,KAA0BtB,MAAM,CAACoe,MAAP,CAAc;AAAE7jB,EAAAA,QAAF;AAAYs3E,EAAAA,KAAK,EAAE,KAAnB;AAA0B6/C,EAAAA,WAAW,EAAE,KAAvC;AAA8CC,EAAAA,WAAW,EAAE,KAA3D;AAAkEC,EAAAA,uBAAuB,EAAEJ;AAA3F,CAAd,EAAgJlwH,IAAhJ,CAAvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMuwH,eAAe,gBAAGhB,iBAAiB,CAAC,iBAAD,EAAoBx0G,IAApB,EAA0Bo1G,KAA1B,CAAzC;;AACA,MAAM7uH,EAAE,GAAG,CAACrI,QAAD,EAAW+G,IAAI,GAAG,EAAlB,KAA0BtB,MAAM,CAACoe,MAAP,CAAc;AAAE7jB,EAAAA,QAAF;AAAYs3E,EAAAA,KAAK,EAAE,IAAnB;AAAyB6/C,EAAAA,WAAW,EAAE,KAAtC;AAA6CC,EAAAA,WAAW,EAAE;AAA1D,CAAd,EAAgFrwH,IAAhF,CAArC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMwwH,YAAY,gBAAGjB,iBAAiB,CAAC,cAAD,EAAiBjuH,EAAjB,EAAqB6uH,KAArB,CAAtC;;AACA,MAAM1uH,EAAE,GAAG,CAACxI,QAAD,EAAW+G,IAAI,GAAG,EAAlB,KAA0BtB,MAAM,CAACoe,MAAP,CAAc;AAAE7jB,EAAAA,QAAF;AAAYs3E,EAAAA,KAAK,EAAE,KAAnB;AAA0B6/C,EAAAA,WAAW,EAAE,IAAvC;AAA6CC,EAAAA,WAAW,EAAE,IAA1D;AAAgEC,EAAAA,uBAAuB,EAAEJ;AAAzF,CAAd,EAA8IlwH,IAA9I,CAArC;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMywH,YAAY,gBAAGlB,iBAAiB,CAAC,cAAD,EAAiB9tH,EAAjB,EAAqB0uH,KAArB,CAAtC;;AACA,MAAMO,EAAE,GAAG,CAACz3H,QAAD,EAAW+G,IAAX,KAAqBtB,MAAM,CAACoe,MAAP,CAAc;AAAE7jB,EAAAA,QAAF;AAAYs3E,EAAAA,KAAK,EAAE,IAAnB;AAAyB6/C,EAAAA,WAAW,EAAE,IAAtC;AAA4CC,EAAAA,WAAW,EAAE;AAAzD,CAAd,EAA+ErwH,IAA/E,CAAhC;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+mE,SAAS,gBAAGwoD,iBAAiB,CAAC,WAAD,EAAcmB,EAAd,EAAkBP,KAAlB,CAAnC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIQ,aAAa;AAAbA,EAAAA,aAAa,GAAbA,aAAa;AAEbA,EAAAA,aAAa,CAACA,aAAa,CAAC,WAAD,CAAb,GAA6B,CAA9B,CAAb,GAAgD,WAAhD;AACAA,EAAAA,aAAa,CAACA,aAAa,CAAC,WAAD,CAAb,GAA6B,CAA9B,CAAb,GAAgD,WAAhD;AACAA,EAAAA,aAAa,CAACA,aAAa,CAAC,YAAD,CAAb,GAA8B,CAA/B,CAAb,GAAiD,YAAjD;AACAA,EAAAA,aAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;AACAA,EAAAA,aAAa,CAACA,aAAa,CAAC,UAAD,CAAb,GAA4B,CAA7B,CAAb,GAA+C,UAA/C;AANa,SAAbA,aAAa;AAAA,IAAjB;AAQA,IAAIC,mBAAmB;AACvB,GAAC,UAAUhqD,iBAAV,EAA6B;AAC1BA,IAAAA,iBAAiB,CAACA,iBAAiB,CAAC,UAAD,CAAjB,GAAgC,CAAjC,CAAjB,GAAuD,UAAvD,CAD0B,CAE1B;;AACAA,IAAAA,iBAAiB,CAACA,iBAAiB,CAAC,MAAD,CAAjB,GAA4B,CAA7B,CAAjB,GAAmD,MAAnD;AACAA,IAAAA,iBAAiB,CAACA,iBAAiB,CAAC,WAAD,CAAjB,GAAiC,CAAlC,CAAjB,GAAwD,WAAxD;AACH,GALD,EAKGgqD,mBAAmB,KAAKA,mBAAmB,GAAG,EAA3B,CALtB,CADuB;;AAAA,SAAnBA,mBAAmB;AAAA,IAAvB;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,iBAAT,CAA2BnqB,OAA3B,EAAoC;AAChC,QAAMoqB,QAAQ,GAAGvd,OAAO,CAAC,IAAD,CAAxB;;AACA,MAAIud,QAAQ,IAAIA,QAAQ,CAACC,eAAzB,EAA0C;AACtC,WAAOD,QAAQ,CAACC,eAAhB;AACH;;AACD,MAAI,OAAOlsH,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C;AACA;AACA0vB,IAAAA,OAAO,CAAChM,KAAR,CAAe,8BAA6Bm+E,OAAO,CAACsqB,IAAK,EAAzD,EAA4DtqB,OAAO,CAAC7uG,IAApE;AACA,QAAI2jC,OAAO,GAAI,OAAMkrE,OAAO,CAACsqB,IAAK,KAAItqB,OAAO,CACxC7uG,IADiC,CAC5BF,IAAK,8FADf;;AAEA,QAAI+uG,OAAO,CAACuqB,KAAR,KAAkB;AAAE;AAAxB,MAAkD;AAC9Cz1F,MAAAA,OAAO,IAAK,OAAMkrE,OAAO,CAACsqB,IAAK,2DAA/B;AACAx1F,MAAAA,OAAO,IACF,4GADL;AAEAA,MAAAA,OAAO,IAAI,IAAX;AACAA,MAAAA,OAAO,IACF,4FADL;AAEH,KAPD,MAQK;AACDA,MAAAA,OAAO,IACF,6FADL;AAEH;;AACDA,IAAAA,OAAO,IACF,8IADL;AAEAA,IAAAA,OAAO,IACF,2FADL;AAEA,UAAM,IAAIt8B,KAAJ,CAAUs8B,OAAV,CAAN;AACH,GAvBD,MAwBK;AACD,UAAM,IAAIt8B,KAAJ,CAAU,0BAAV,CAAN;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgyH,IAAI,GAAGC,QAAb;;AACA,SAASC,MAAT,CAAgB5/G,CAAhB,EAAmB;AACf,SAAO,OAAOA,CAAP,KAAa,UAApB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6/G,aAAT,CAAuBrxF,KAAvB,EAA8B/2B,GAA9B,EAAmC;AAC/B,OAAK,IAAIrG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGo9B,KAAK,CAACpkC,MAA1B,EAAkCgH,CAAC,EAAnC,EAAuC;AACnCqG,IAAAA,GAAG,CAACxO,IAAJ,CAASulC,KAAK,CAACp9B,CAAD,CAAd;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0uH,WAAT,CAAqBntG,CAArB,EAAwBC,CAAxB,EAA2BmtG,gBAA3B,EAA6C;AACzC,MAAIptG,CAAC,CAACvoB,MAAF,KAAawoB,CAAC,CAACxoB,MAAnB,EACI,OAAO,KAAP;;AACJ,OAAK,IAAIgH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGuhB,CAAC,CAACvoB,MAAtB,EAA8BgH,CAAC,EAA/B,EAAmC;AAC/B,QAAI4uH,MAAM,GAAGrtG,CAAC,CAACvhB,CAAD,CAAd;AACA,QAAI6uH,MAAM,GAAGrtG,CAAC,CAACxhB,CAAD,CAAd;;AACA,QAAI2uH,gBAAJ,EAAsB;AAClBC,MAAAA,MAAM,GAAGD,gBAAgB,CAACC,MAAD,CAAzB;AACAC,MAAAA,MAAM,GAAGF,gBAAgB,CAACE,MAAD,CAAzB;AACH;;AACD,QAAIA,MAAM,KAAKD,MAAf,EAAuB;AACnB,aAAO,KAAP;AACH;AACJ;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;;;AACA,SAASE,OAAT,CAAiBpuB,IAAjB,EAAuBulB,GAAvB,EAA4B;AACxB,MAAIA,GAAG,KAAK9oH,SAAZ,EACI8oH,GAAG,GAAGvlB,IAAN;;AACJ,OAAK,IAAI1gG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0gG,IAAI,CAAC1nG,MAAzB,EAAiCgH,CAAC,EAAlC,EAAsC;AAClC,QAAI2E,IAAI,GAAG+7F,IAAI,CAAC1gG,CAAD,CAAf;;AACA,QAAIoE,KAAK,CAACC,OAAN,CAAcM,IAAd,CAAJ,EAAyB;AACrB;AACA,UAAIshH,GAAG,KAAKvlB,IAAZ,EAAkB;AACd;AACA;AACAulB,QAAAA,GAAG,GAAGvlB,IAAI,CAACnsF,KAAL,CAAW,CAAX,EAAcvU,CAAd,CAAN;AACH;;AACD8uH,MAAAA,OAAO,CAACnqH,IAAD,EAAOshH,GAAP,CAAP;AACH,KARD,MASK,IAAIA,GAAG,KAAKvlB,IAAZ,EAAkB;AACnBulB,MAAAA,GAAG,CAACpuH,IAAJ,CAAS8M,IAAT;AACH;AACJ;;AACD,SAAOshH,GAAP;AACH;;AACD,SAAS8I,WAAT,CAAqBtoH,KAArB,EAA4B9O,EAA5B,EAAgC;AAC5B8O,EAAAA,KAAK,CAAC/O,OAAN,CAAc+F,KAAK,IAAI2G,KAAK,CAACC,OAAN,CAAc5G,KAAd,IAAuBsxH,WAAW,CAACtxH,KAAD,EAAQ9F,EAAR,CAAlC,GAAgDA,EAAE,CAAC8F,KAAD,CAAzE;AACH;;AACD,SAASuxH,UAAT,CAAoB3oH,GAApB,EAAyB4V,KAAzB,EAAgCxe,KAAhC,EAAuC;AACnC;AACA,MAAIwe,KAAK,IAAI5V,GAAG,CAACrN,MAAjB,EAAyB;AACrBqN,IAAAA,GAAG,CAACxO,IAAJ,CAAS4F,KAAT;AACH,GAFD,MAGK;AACD4I,IAAAA,GAAG,CAACvC,MAAJ,CAAWmY,KAAX,EAAkB,CAAlB,EAAqBxe,KAArB;AACH;AACJ;;AACD,SAASwxH,eAAT,CAAyB5oH,GAAzB,EAA8B4V,KAA9B,EAAqC;AACjC;AACA,MAAIA,KAAK,IAAI5V,GAAG,CAACrN,MAAJ,GAAa,CAA1B,EAA6B;AACzB,WAAOqN,GAAG,CAAC4uC,GAAJ,EAAP;AACH,GAFD,MAGK;AACD,WAAO5uC,GAAG,CAACvC,MAAJ,CAAWmY,KAAX,EAAkB,CAAlB,EAAqB,CAArB,CAAP;AACH;AACJ;;AACD,SAASizG,QAAT,CAAkB5jH,IAAlB,EAAwB7N,KAAxB,EAA+B;AAC3B,QAAMijG,IAAI,GAAG,EAAb;;AACA,OAAK,IAAI1gG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsL,IAApB,EAA0BtL,CAAC,EAA3B,EAA+B;AAC3B0gG,IAAAA,IAAI,CAAC7oG,IAAL,CAAU4F,KAAV;AACH;;AACD,SAAOijG,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyuB,WAAT,CAAqBC,KAArB,EAA4BnzG,KAA5B,EAAmC4S,KAAnC,EAA0C;AACtC,QAAM71B,MAAM,GAAGo2H,KAAK,CAACp2H,MAAN,GAAe61B,KAA9B;;AACA,SAAO5S,KAAK,GAAGjjB,MAAf,EAAuB;AACnBo2H,IAAAA,KAAK,CAACnzG,KAAD,CAAL,GAAemzG,KAAK,CAACnzG,KAAK,GAAG4S,KAAT,CAApB;AACA5S,IAAAA,KAAK;AACR;;AACD,SAAO4S,KAAK,EAAZ,EAAgB;AACZugG,IAAAA,KAAK,CAACn6E,GAAN,GADY,CACC;AAChB;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo6E,WAAT,CAAqBD,KAArB,EAA4BnzG,KAA5B,EAAmCxe,KAAnC,EAA0C;AACtCwE,EAAAA,SAAS,IAAImrG,qBAAqB,CAACnxF,KAAD,EAAQmzG,KAAK,CAACp2H,MAAd,EAAsB,+BAAtB,CAAlC;AACA,MAAI0tE,GAAG,GAAG0oD,KAAK,CAACp2H,MAAhB;;AACA,SAAO0tE,GAAG,GAAGzqD,KAAb,EAAoB;AAChB,UAAMqzG,WAAW,GAAG5oD,GAAG,GAAG,CAA1B;AACA0oD,IAAAA,KAAK,CAAC1oD,GAAD,CAAL,GAAa0oD,KAAK,CAACE,WAAD,CAAlB;AACA5oD,IAAAA,GAAG,GAAG4oD,WAAN;AACH;;AACDF,EAAAA,KAAK,CAACnzG,KAAD,CAAL,GAAexe,KAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8xH,YAAT,CAAsBH,KAAtB,EAA6BnzG,KAA7B,EAAoCuzG,MAApC,EAA4CC,MAA5C,EAAoD;AAChDxtH,EAAAA,SAAS,IAAImrG,qBAAqB,CAACnxF,KAAD,EAAQmzG,KAAK,CAACp2H,MAAd,EAAsB,+BAAtB,CAAlC;AACA,MAAI0tE,GAAG,GAAG0oD,KAAK,CAACp2H,MAAhB;;AACA,MAAI0tE,GAAG,IAAIzqD,KAAX,EAAkB;AACd;AACAmzG,IAAAA,KAAK,CAACv3H,IAAN,CAAW23H,MAAX,EAAmBC,MAAnB;AACH,GAHD,MAIK,IAAI/oD,GAAG,KAAK,CAAZ,EAAe;AAChB;AACA0oD,IAAAA,KAAK,CAACv3H,IAAN,CAAW43H,MAAX,EAAmBL,KAAK,CAAC,CAAD,CAAxB;AACAA,IAAAA,KAAK,CAAC,CAAD,CAAL,GAAWI,MAAX;AACH,GAJI,MAKA;AACD9oD,IAAAA,GAAG;AACH0oD,IAAAA,KAAK,CAACv3H,IAAN,CAAWu3H,KAAK,CAAC1oD,GAAG,GAAG,CAAP,CAAhB,EAA2B0oD,KAAK,CAAC1oD,GAAD,CAAhC;;AACA,WAAOA,GAAG,GAAGzqD,KAAb,EAAoB;AAChB,YAAMqzG,WAAW,GAAG5oD,GAAG,GAAG,CAA1B;AACA0oD,MAAAA,KAAK,CAAC1oD,GAAD,CAAL,GAAa0oD,KAAK,CAACE,WAAD,CAAlB;AACA5oD,MAAAA,GAAG;AACN;;AACD0oD,IAAAA,KAAK,CAACnzG,KAAD,CAAL,GAAeuzG,MAAf;AACAJ,IAAAA,KAAK,CAACnzG,KAAK,GAAG,CAAT,CAAL,GAAmBwzG,MAAnB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,iBAAT,CAA2BN,KAA3B,EAAkC3xH,KAAlC,EAAyC;AACrC,MAAIwe,KAAK,GAAG0zG,kBAAkB,CAACP,KAAD,EAAQ3xH,KAAR,CAA9B;;AACA,MAAIwe,KAAK,GAAG,CAAZ,EAAe;AACX;AACAA,IAAAA,KAAK,GAAG,CAACA,KAAT;AACAozG,IAAAA,WAAW,CAACD,KAAD,EAAQnzG,KAAR,EAAexe,KAAf,CAAX;AACH;;AACD,SAAOwe,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2zG,iBAAT,CAA2BR,KAA3B,EAAkC3xH,KAAlC,EAAyC;AACrC,QAAMwe,KAAK,GAAG0zG,kBAAkB,CAACP,KAAD,EAAQ3xH,KAAR,CAAhC;;AACA,MAAIwe,KAAK,IAAI,CAAb,EAAgB;AACZkzG,IAAAA,WAAW,CAACC,KAAD,EAAQnzG,KAAR,EAAe,CAAf,CAAX;AACH;;AACD,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0zG,kBAAT,CAA4BP,KAA5B,EAAmC3xH,KAAnC,EAA0C;AACtC,SAAOoyH,mBAAmB,CAACT,KAAD,EAAQ3xH,KAAR,EAAe,CAAf,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqyH,gBAAT,CAA0BC,aAA1B,EAAyCxyH,GAAzC,EAA8CE,KAA9C,EAAqD;AACjD,MAAIwe,KAAK,GAAG+zG,oBAAoB,CAACD,aAAD,EAAgBxyH,GAAhB,CAAhC;;AACA,MAAI0e,KAAK,IAAI,CAAb,EAAgB;AACZ;AACA8zG,IAAAA,aAAa,CAAC9zG,KAAK,GAAG,CAAT,CAAb,GAA2Bxe,KAA3B;AACH,GAHD,MAIK;AACDwe,IAAAA,KAAK,GAAG,CAACA,KAAT;AACAszG,IAAAA,YAAY,CAACQ,aAAD,EAAgB9zG,KAAhB,EAAuB1e,GAAvB,EAA4BE,KAA5B,CAAZ;AACH;;AACD,SAAOwe,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASg0G,gBAAT,CAA0BF,aAA1B,EAAyCxyH,GAAzC,EAA8C;AAC1C,QAAM0e,KAAK,GAAG+zG,oBAAoB,CAACD,aAAD,EAAgBxyH,GAAhB,CAAlC;;AACA,MAAI0e,KAAK,IAAI,CAAb,EAAgB;AACZ;AACA,WAAO8zG,aAAa,CAAC9zG,KAAK,GAAG,CAAT,CAApB;AACH;;AACD,SAAO9e,SAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6yH,oBAAT,CAA8BD,aAA9B,EAA6CxyH,GAA7C,EAAkD;AAC9C,SAAOsyH,mBAAmB,CAACE,aAAD,EAAgBxyH,GAAhB,EAAqB,CAArB,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2yH,mBAAT,CAA6BH,aAA7B,EAA4CxyH,GAA5C,EAAiD;AAC7C,QAAM0e,KAAK,GAAG+zG,oBAAoB,CAACD,aAAD,EAAgBxyH,GAAhB,CAAlC;;AACA,MAAI0e,KAAK,IAAI,CAAb,EAAgB;AACZ;AACAkzG,IAAAA,WAAW,CAACY,aAAD,EAAgB9zG,KAAhB,EAAuB,CAAvB,CAAX;AACH;;AACD,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4zG,mBAAT,CAA6BT,KAA7B,EAAoC3xH,KAApC,EAA2C0yH,KAA3C,EAAkD;AAC9CluH,EAAAA,SAAS,IAAIurG,WAAW,CAACppG,KAAK,CAACC,OAAN,CAAc+qH,KAAd,CAAD,EAAuB,IAAvB,EAA6B,oBAA7B,CAAxB;AACA,MAAI73G,KAAK,GAAG,CAAZ;AACA,MAAImvD,GAAG,GAAG0oD,KAAK,CAACp2H,MAAN,IAAgBm3H,KAA1B;;AACA,SAAOzpD,GAAG,KAAKnvD,KAAf,EAAsB;AAClB,UAAM64G,MAAM,GAAG74G,KAAK,IAAKmvD,GAAG,GAAGnvD,KAAP,IAAiB,CAArB,CAApB,CADkB,CAC2B;;AAC7C,UAAMsjG,OAAO,GAAGuU,KAAK,CAACgB,MAAM,IAAID,KAAX,CAArB;;AACA,QAAI1yH,KAAK,KAAKo9G,OAAd,EAAuB;AACnB,aAAQuV,MAAM,IAAID,KAAlB;AACH,KAFD,MAGK,IAAItV,OAAO,GAAGp9G,KAAd,EAAqB;AACtBipE,MAAAA,GAAG,GAAG0pD,MAAN;AACH,KAFI,MAGA;AACD74G,MAAAA,KAAK,GAAG64G,MAAM,GAAG,CAAjB,CADC,CACmB;AACvB;AACJ;;AACD,SAAO,EAAE1pD,GAAG,IAAIypD,KAAT,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,MAAME,iBAAiB,GAAG,oGAA1B;AACA;;AACA,MAAMC,sBAAsB,GAAG,2CAA/B;AACA;AACA;AACA;AACA;;AACA,MAAMC,gCAAgC,GAAG,kEAAzC;AACA;AACA;AACA;AACA;;AACA,MAAMC,yCAAyC,GAAG,mGAAlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,cAAT,CAAwBC,OAAxB,EAAiC;AAC7B,SAAOL,iBAAiB,CAAC99F,IAAlB,CAAuBm+F,OAAvB,KACHF,yCAAyC,CAACj+F,IAA1C,CAA+Cm+F,OAA/C,CADG,IAEFJ,sBAAsB,CAAC/9F,IAAvB,CAA4Bm+F,OAA5B,KAAwC,CAACH,gCAAgC,CAACh+F,IAAjC,CAAsCm+F,OAAtC,CAF9C;AAGH;;AACD,MAAMC,sBAAN,CAA6B;AACzB95H,EAAAA,WAAW,CAAC+5H,OAAD,EAAU;AACjB,SAAKC,QAAL,GAAgBD,OAAO,IAAIjgB,OAAO,CAAC,SAAD,CAAlC;AACH;;AACDmgB,EAAAA,mBAAmB,GAAG;AAClB,WAAO,IAAP;AACH;;AACD9uH,EAAAA,OAAO,CAACJ,CAAD,EAAI;AACP,WAAO,CAAC,GAAGwa,IAAJ,KAAa,IAAIxa,CAAJ,CAAM,GAAGwa,IAAT,CAApB;AACH;AACD;;;AACA20G,EAAAA,uBAAuB,CAACC,UAAD,EAAaC,gBAAb,EAA+B;AAClD,QAAIzwH,MAAJ;;AACA,QAAI,OAAOwwH,UAAP,KAAsB,WAA1B,EAAuC;AACnCxwH,MAAAA,MAAM,GAAG0uH,QAAQ,CAAC+B,gBAAgB,CAACj4H,MAAlB,CAAjB;AACH,KAFD,MAGK;AACDwH,MAAAA,MAAM,GAAG0uH,QAAQ,CAAC8B,UAAU,CAACh4H,MAAZ,CAAjB;AACH;;AACD,SAAK,IAAIgH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGQ,MAAM,CAACxH,MAA3B,EAAmCgH,CAAC,EAApC,EAAwC;AACpC;AACA;AACA;AACA,UAAI,OAAOgxH,UAAP,KAAsB,WAA1B,EAAuC;AACnCxwH,QAAAA,MAAM,CAACR,CAAD,CAAN,GAAY,EAAZ;AACH,OAFD,MAGK,IAAIgxH,UAAU,CAAChxH,CAAD,CAAV,IAAiBgxH,UAAU,CAAChxH,CAAD,CAAV,IAAiBlE,MAAtC,EAA8C;AAC/C0E,QAAAA,MAAM,CAACR,CAAD,CAAN,GAAY,CAACgxH,UAAU,CAAChxH,CAAD,CAAX,CAAZ;AACH,OAFI,MAGA;AACDQ,QAAAA,MAAM,CAACR,CAAD,CAAN,GAAY,EAAZ;AACH;;AACD,UAAIixH,gBAAgB,IAAIA,gBAAgB,CAACjxH,CAAD,CAAhB,IAAuB,IAA/C,EAAqD;AACjDQ,QAAAA,MAAM,CAACR,CAAD,CAAN,GAAYQ,MAAM,CAACR,CAAD,CAAN,CAAUurB,MAAV,CAAiB0lG,gBAAgB,CAACjxH,CAAD,CAAjC,CAAZ;AACH;AACJ;;AACD,WAAOQ,MAAP;AACH;;AACD0wH,EAAAA,cAAc,CAACj8H,IAAD,EAAOk8H,UAAP,EAAmB;AAC7B,UAAMT,OAAO,GAAGz7H,IAAI,CAAC6F,QAAL,EAAhB,CAD6B,CAE7B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,QAAI21H,cAAc,CAACC,OAAD,CAAlB,EAA6B;AACzB,aAAO,IAAP;AACH,KAX4B,CAY7B;;;AACA,QAAIz7H,IAAI,CAACy3H,UAAL,IAAmBz3H,IAAI,CAACy3H,UAAL,KAAoByE,UAAU,CAACzE,UAAtD,EAAkE;AAC9D,aAAOz3H,IAAI,CAACy3H,UAAZ;AACH,KAf4B,CAgB7B;;;AACA,UAAM0E,iBAAiB,GAAGn8H,IAAI,CAACo8H,cAA/B;;AACA,QAAID,iBAAiB,IAAIA,iBAAiB,KAAKD,UAAU,CAACE,cAA1D,EAA0E;AACtE;AACA;AACA,YAAMA,cAAc,GAAG,OAAOD,iBAAP,KAA6B,UAA7B,GAA0CA,iBAAiB,EAA3D,GAAgEA,iBAAvF;AACA,YAAMJ,UAAU,GAAGK,cAAc,CAAC/zH,GAAf,CAAoBg0H,SAAD,IAAeA,SAAS,IAAIA,SAAS,CAACr8H,IAAzD,CAAnB;AACA,YAAMg8H,gBAAgB,GAAGI,cAAc,CAAC/zH,GAAf,CAAoBg0H,SAAD,IAAeA,SAAS,IAAIC,mCAAmC,CAACD,SAAS,CAACE,UAAX,CAAlF,CAAzB;AACA,aAAO,KAAKT,uBAAL,CAA6BC,UAA7B,EAAyCC,gBAAzC,CAAP;AACH,KAzB4B,CA0B7B;;;AACA,UAAMA,gBAAgB,GAAGh8H,IAAI,CAACqO,cAAL,CAAoB8nH,UAApB,KAAmCn2H,IAAI,CAACm2H,UAAD,CAAhE;;AACA,UAAM4F,UAAU,GAAG,KAAKH,QAAL,IAAiB,KAAKA,QAAL,CAAcY,cAA/B,IACf,KAAKZ,QAAL,CAAcY,cAAd,CAA6B,mBAA7B,EAAkDx8H,IAAlD,CADJ;;AAEA,QAAI+7H,UAAU,IAAIC,gBAAlB,EAAoC;AAChC,aAAO,KAAKF,uBAAL,CAA6BC,UAA7B,EAAyCC,gBAAzC,CAAP;AACH,KAhC4B,CAiC7B;AACA;AACA;AACA;;;AACA,WAAO/B,QAAQ,CAACj6H,IAAI,CAAC+D,MAAN,CAAf;AACH;;AACD0zH,EAAAA,UAAU,CAACz3H,IAAD,EAAO;AACb;AACA;AACA,QAAI,CAACu5H,MAAM,CAACv5H,IAAD,CAAX,EAAmB;AACf,aAAO,EAAP;AACH;;AACD,UAAMk8H,UAAU,GAAGO,aAAa,CAACz8H,IAAD,CAAhC;;AACA,QAAIy3H,UAAU,GAAG,KAAKwE,cAAL,CAAoBj8H,IAApB,EAA0Bk8H,UAA1B,CAAjB;;AACA,QAAI,CAACzE,UAAD,IAAeyE,UAAU,KAAKr1H,MAAlC,EAA0C;AACtC4wH,MAAAA,UAAU,GAAG,KAAKA,UAAL,CAAgByE,UAAhB,CAAb;AACH;;AACD,WAAOzE,UAAU,IAAI,EAArB;AACH;;AACDiF,EAAAA,eAAe,CAACC,UAAD,EAAaT,UAAb,EAAyB;AACpC;AACA,QAAIS,UAAU,CAAC5F,WAAX,IAA0B4F,UAAU,CAAC5F,WAAX,KAA2BmF,UAAU,CAACnF,WAApE,EAAiF;AAC7E,UAAIA,WAAW,GAAG4F,UAAU,CAAC5F,WAA7B;;AACA,UAAI,OAAOA,WAAP,KAAuB,UAAvB,IAAqCA,WAAW,CAACA,WAArD,EAAkE;AAC9DA,QAAAA,WAAW,GAAGA,WAAW,CAACA,WAA1B;AACH;;AACD,aAAOA,WAAP;AACH,KARmC,CASpC;;;AACA,QAAI4F,UAAU,CAACJ,UAAX,IAAyBI,UAAU,CAACJ,UAAX,KAA0BL,UAAU,CAACK,UAAlE,EAA8E;AAC1E,aAAOD,mCAAmC,CAACK,UAAU,CAACJ,UAAZ,CAA1C;AACH,KAZmC,CAapC;;;AACA,QAAII,UAAU,CAACtuH,cAAX,CAA0B6nH,WAA1B,CAAJ,EAA4C;AACxC,aAAOyG,UAAU,CAACzG,WAAD,CAAjB;AACH;;AACD,WAAO,IAAP;AACH;;AACDa,EAAAA,WAAW,CAAC4F,UAAD,EAAa;AACpB,QAAI,CAACpD,MAAM,CAACoD,UAAD,CAAX,EAAyB;AACrB,aAAO,EAAP;AACH;;AACD,UAAMT,UAAU,GAAGO,aAAa,CAACE,UAAD,CAAhC;AACA,UAAMC,cAAc,GAAG,KAAKF,eAAL,CAAqBC,UAArB,EAAiCT,UAAjC,KAAgD,EAAvE;AACA,UAAMW,iBAAiB,GAAGX,UAAU,KAAKr1H,MAAf,GAAwB,KAAKkwH,WAAL,CAAiBmF,UAAjB,CAAxB,GAAuD,EAAjF;AACA,WAAOW,iBAAiB,CAACvmG,MAAlB,CAAyBsmG,cAAzB,CAAP;AACH;;AACDE,EAAAA,gBAAgB,CAACH,UAAD,EAAaT,UAAb,EAAyB;AACrC;AACA,QAAIS,UAAU,CAACI,YAAX,IACAJ,UAAU,CAACI,YAAX,KAA4Bb,UAAU,CAACa,YAD3C,EACyD;AACrD,UAAIA,YAAY,GAAGJ,UAAU,CAACI,YAA9B;;AACA,UAAI,OAAOA,YAAP,KAAwB,UAAxB,IAAsCA,YAAY,CAACA,YAAvD,EAAqE;AACjEA,QAAAA,YAAY,GAAGA,YAAY,CAACA,YAA5B;AACH;;AACD,aAAOA,YAAP;AACH,KAToC,CAUrC;;;AACA,QAAIJ,UAAU,CAACK,cAAX,IACAL,UAAU,CAACK,cAAX,KAA8Bd,UAAU,CAACc,cAD7C,EAC6D;AACzD,YAAMA,cAAc,GAAGL,UAAU,CAACK,cAAlC;AACA,YAAMD,YAAY,GAAG,EAArB;AACAl2H,MAAAA,MAAM,CAACC,IAAP,CAAYk2H,cAAZ,EAA4Bv6H,OAA5B,CAAoCsE,IAAI,IAAI;AACxCg2H,QAAAA,YAAY,CAACh2H,IAAD,CAAZ,GAAqBu1H,mCAAmC,CAACU,cAAc,CAACj2H,IAAD,CAAf,CAAxD;AACH,OAFD;AAGA,aAAOg2H,YAAP;AACH,KAnBoC,CAoBrC;;;AACA,QAAIJ,UAAU,CAACtuH,cAAX,CAA0B+nH,aAA1B,CAAJ,EAA8C;AAC1C,aAAOuG,UAAU,CAACvG,aAAD,CAAjB;AACH;;AACD,WAAO,IAAP;AACH;;AACD2G,EAAAA,YAAY,CAACJ,UAAD,EAAa;AACrB,QAAI,CAACpD,MAAM,CAACoD,UAAD,CAAX,EAAyB;AACrB,aAAO,EAAP;AACH;;AACD,UAAMT,UAAU,GAAGO,aAAa,CAACE,UAAD,CAAhC;AACA,UAAMI,YAAY,GAAG,EAArB;;AACA,QAAIb,UAAU,KAAKr1H,MAAnB,EAA2B;AACvB,YAAMo2H,kBAAkB,GAAG,KAAKF,YAAL,CAAkBb,UAAlB,CAA3B;AACAr1H,MAAAA,MAAM,CAACC,IAAP,CAAYm2H,kBAAZ,EAAgCx6H,OAAhC,CAAyC00H,QAAD,IAAc;AAClD4F,QAAAA,YAAY,CAAC5F,QAAD,CAAZ,GAAyB8F,kBAAkB,CAAC9F,QAAD,CAA3C;AACH,OAFD;AAGH;;AACD,UAAM+F,eAAe,GAAG,KAAKJ,gBAAL,CAAsBH,UAAtB,EAAkCT,UAAlC,CAAxB;;AACA,QAAIgB,eAAJ,EAAqB;AACjBr2H,MAAAA,MAAM,CAACC,IAAP,CAAYo2H,eAAZ,EAA6Bz6H,OAA7B,CAAsC00H,QAAD,IAAc;AAC/C,cAAMoF,UAAU,GAAG,EAAnB;;AACA,YAAIQ,YAAY,CAAC1uH,cAAb,CAA4B8oH,QAA5B,CAAJ,EAA2C;AACvCoF,UAAAA,UAAU,CAAC35H,IAAX,CAAgB,GAAGm6H,YAAY,CAAC5F,QAAD,CAA/B;AACH;;AACDoF,QAAAA,UAAU,CAAC35H,IAAX,CAAgB,GAAGs6H,eAAe,CAAC/F,QAAD,CAAlC;AACA4F,QAAAA,YAAY,CAAC5F,QAAD,CAAZ,GAAyBoF,UAAzB;AACH,OAPD;AAQH;;AACD,WAAOQ,YAAP;AACH;;AACDG,EAAAA,eAAe,CAACP,UAAD,EAAa;AACxB,QAAI,CAACpD,MAAM,CAACoD,UAAD,CAAX,EAAyB;AACrB,aAAO,EAAP;AACH;;AACD,WAAO,KAAKG,gBAAL,CAAsBH,UAAtB,EAAkCF,aAAa,CAACE,UAAD,CAA/C,KAAgE,EAAvE;AACH;;AACDQ,EAAAA,gBAAgB,CAACn9H,IAAD,EAAOo9H,UAAP,EAAmB;AAC/B,WAAOp9H,IAAI,YAAYq5H,IAAhB,IAAwB+D,UAAU,IAAIp9H,IAAI,CAACmK,SAAlD;AACH;;AACDkzH,EAAAA,MAAM,CAACr9H,IAAD,EAAO;AACT,WAAO,EAAP;AACH;;AACDs9H,EAAAA,MAAM,CAACx9H,IAAD,EAAO;AACT,WAAO,IAAIw5H,QAAJ,CAAa,GAAb,EAAkB,cAAcx5H,IAAd,GAAqB,GAAvC,CAAP;AACH;;AACDy9H,EAAAA,MAAM,CAACz9H,IAAD,EAAO;AACT,WAAO,IAAIw5H,QAAJ,CAAa,GAAb,EAAkB,GAAlB,EAAuB,cAAcx5H,IAAd,GAAqB,OAA5C,CAAP;AACH;;AACD4sG,EAAAA,MAAM,CAAC5sG,IAAD,EAAO;AACT,UAAM09H,YAAY,GAAI,UAAS19H,IAAK,uBAAsBA,IAAK;AACvE,mBAAmBA,IAAK,kBADhB;AAEA,WAAO,IAAIw5H,QAAJ,CAAa,GAAb,EAAkB,MAAlB,EAA0BkE,YAA1B,CAAP;AACH,GA/LwB,CAgMzB;;;AACAC,EAAAA,SAAS,CAACz9H,IAAD,EAAO;AACZ;AACA,QAAI,OAAOA,IAAP,KAAgB,QAAhB,IAA4BA,IAAI,CAAC,UAAD,CAApC,EAAkD;AAC9C,aAAOA,IAAI,CAAC,UAAD,CAAX;AACH,KAJW,CAKZ;;;AACA,WAAQ,KAAIs8F,SAAS,CAACt8F,IAAD,CAAO,EAA5B;AACH;;AACD09H,EAAAA,WAAW,CAAC19H,IAAD,EAAO;AACd,WAAQ,KAAIs8F,SAAS,CAACt8F,IAAD,CAAO,EAA5B;AACH;;AACD29H,EAAAA,iBAAiB,CAAC79H,IAAD,EAAO89H,SAAP,EAAkBC,OAAlB,EAA2BC,OAA3B,EAAoC;AACjD,WAAOA,OAAP;AACH;;AACDC,EAAAA,WAAW,CAACC,cAAD,EAAiBl+H,IAAjB,EAAuB;AAC9B,WAAOk+H,cAAc,CAACl+H,IAAD,CAArB;AACH;;AAjNwB;;AAmN7B,SAASw8H,mCAAT,CAA6C2B,oBAA7C,EAAmE;AAC/D,MAAI,CAACA,oBAAL,EAA2B;AACvB,WAAO,EAAP;AACH;;AACD,SAAOA,oBAAoB,CAAC51H,GAArB,CAAyB61H,mBAAmB,IAAI;AACnD,UAAMC,aAAa,GAAGD,mBAAmB,CAACl+H,IAA1C;AACA,UAAMi3H,aAAa,GAAGkH,aAAa,CAAClH,aAApC;AACA,UAAMmH,cAAc,GAAGF,mBAAmB,CAAC/2G,IAApB,GAA2B+2G,mBAAmB,CAAC/2G,IAA/C,GAAsD,EAA7E;AACA,WAAO,IAAI8vG,aAAJ,CAAkB,GAAGmH,cAArB,CAAP;AACH,GALM,CAAP;AAMH;;AACD,SAAS3B,aAAT,CAAuBvF,IAAvB,EAA6B;AACzB,QAAMmH,WAAW,GAAGnH,IAAI,CAAC/sH,SAAL,GAAiBtD,MAAM,CAAC8gG,cAAP,CAAsBuvB,IAAI,CAAC/sH,SAA3B,CAAjB,GAAyD,IAA7E;AACA,QAAM+xH,UAAU,GAAGmC,WAAW,GAAGA,WAAW,CAACz8H,WAAf,GAA6B,IAA3D,CAFyB,CAGzB;AACA;;AACA,SAAOs6H,UAAU,IAAIr1H,MAArB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMy3H,mBAAmB,GAAG,EAA5B;AACA,MAAMC,kBAAkB,GAAGD,mBAA3B;AACA;AACA;AACA;AACA;AACA;;AACA,MAAME,iBAAiB,GAAG,gBAA1B;AACA,MAAMC,kBAAkB,GAAG,iBAA3B;AACA,MAAMC,aAAa,GAAG,aAAtB;AACA,MAAMC,QAAQ,GAAG,MAAjB;AACA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,MAAM,GAAG,UAAf;AACA,MAAMC,IAAI,GAAGhpB,sBAAb;AACA,MAAMipB,SAAS,gBAAGjpB,sBAAsB,CAAC;AAAEz4D,EAAAA,OAAO,EAAEjU,MAAX;AAAmBorE,EAAAA,QAAQ,EAAEsqB;AAA7B,CAAD,CAAxC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIE,gBAAgB,GAAG92H,SAAvB;;AACA,SAAS+2H,kBAAT,CAA4B5zD,QAA5B,EAAsC;AAClC,QAAM6zD,MAAM,GAAGF,gBAAf;AACAA,EAAAA,gBAAgB,GAAG3zD,QAAnB;AACA,SAAO6zD,MAAP;AACH;;AACD,SAASC,kBAAT,CAA4BryH,KAA5B,EAAmC6tG,KAAK,GAAGP,WAAW,CAACc,OAAvD,EAAgE;AAC5D,MAAI8jB,gBAAgB,KAAK92H,SAAzB,EAAoC;AAChC,UAAM,IAAIb,KAAJ,CAAW,mDAAX,CAAN;AACH,GAFD,MAGK,IAAI23H,gBAAgB,KAAK,IAAzB,EAA+B;AAChC,WAAOtkB,kBAAkB,CAAC5tG,KAAD,EAAQ5E,SAAR,EAAmByyG,KAAnB,CAAzB;AACH,GAFI,MAGA;AACD,WAAOqkB,gBAAgB,CAACt2H,GAAjB,CAAqBoE,KAArB,EAA4B6tG,KAAK,GAAGP,WAAW,CAACz6E,QAApB,GAA+B,IAA/B,GAAsCz3B,SAAlE,EAA6EyyG,KAA7E,CAAP;AACH;AACJ;;AACD,SAASh1E,QAAT,CAAkB74B,KAAlB,EAAyB6tG,KAAK,GAAGP,WAAW,CAACc,OAA7C,EAAsD;AAClD,SAAO,CAACZ,uBAAuB,MAAM6kB,kBAA9B,EAAkD3oB,iBAAiB,CAAC1pG,KAAD,CAAnE,EAA4E6tG,KAA5E,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASykB,mBAAT,CAA6Bp4G,KAA7B,EAAoC;AAChC,QAAM8wF,GAAG,GAAG9qG,SAAS,GAChB,wGAAuGga,KAAM;AACtH;AACA;AACA,2DAA2DA,KAAM,iGAJxC,GAKjB,SALJ;AAMA,QAAM,IAAI3f,KAAJ,CAAUywG,GAAV,CAAN;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM77D,MAAM,GAAGtW,QAAf;;AACA,SAAS05F,UAAT,CAAoBC,KAApB,EAA2B;AACvB,QAAMn4G,IAAI,GAAG,EAAb;;AACA,OAAK,IAAIpc,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGu0H,KAAK,CAACv7H,MAA1B,EAAkCgH,CAAC,EAAnC,EAAuC;AACnC,UAAMw0H,GAAG,GAAG/oB,iBAAiB,CAAC8oB,KAAK,CAACv0H,CAAD,CAAN,CAA7B;;AACA,QAAIoE,KAAK,CAACC,OAAN,CAAcmwH,GAAd,CAAJ,EAAwB;AACpB,UAAIA,GAAG,CAACx7H,MAAJ,KAAe,CAAnB,EAAsB;AAClB,cAAM,IAAIsD,KAAJ,CAAU,sCAAV,CAAN;AACH;;AACD,UAAIrH,IAAI,GAAGkI,SAAX;AACA,UAAIyyG,KAAK,GAAGP,WAAW,CAACc,OAAxB;;AACA,WAAK,IAAI3oF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgtG,GAAG,CAACx7H,MAAxB,EAAgCwuB,CAAC,EAAjC,EAAqC;AACjC,cAAMulG,IAAI,GAAGyH,GAAG,CAAChtG,CAAD,CAAhB;AACA,cAAMitG,IAAI,GAAGC,aAAa,CAAC3H,IAAD,CAA1B;;AACA,YAAI,OAAO0H,IAAP,KAAgB,QAApB,EAA8B;AAC1B;AACA,cAAIA,IAAI,KAAK,CAAC;AAAE;AAAhB,YAA8B;AAC1Bx/H,YAAAA,IAAI,GAAG83H,IAAI,CAAChrH,KAAZ;AACH,WAFD,MAGK;AACD6tG,YAAAA,KAAK,IAAI6kB,IAAT;AACH;AACJ,SARD,MASK;AACDx/H,UAAAA,IAAI,GAAG83H,IAAP;AACH;AACJ;;AACD3wG,MAAAA,IAAI,CAACvkB,IAAL,CAAU+iC,QAAQ,CAAC3lC,IAAD,EAAO26G,KAAP,CAAlB;AACH,KAvBD,MAwBK;AACDxzF,MAAAA,IAAI,CAACvkB,IAAL,CAAU+iC,QAAQ,CAAC45F,GAAD,CAAlB;AACH;AACJ;;AACD,SAAOp4G,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASu4G,gBAAT,CAA0BC,SAA1B,EAAqCH,IAArC,EAA2C;AACvCG,EAAAA,SAAS,CAACnB,iBAAD,CAAT,GAA+BgB,IAA/B;AACAG,EAAAA,SAAS,CAACx1H,SAAV,CAAoBq0H,iBAApB,IAAyCgB,IAAzC;AACA,SAAOG,SAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASF,aAAT,CAAuB3yH,KAAvB,EAA8B;AAC1B,SAAOA,KAAK,CAAC0xH,iBAAD,CAAZ;AACH;;AACD,SAASoB,kBAAT,CAA4Bh4H,CAA5B,EAA+BkF,KAA/B,EAAsC+yH,iBAAtC,EAAyDt+E,MAAzD,EAAiE;AAC7D,QAAMu+E,SAAS,GAAGl4H,CAAC,CAAC62H,kBAAD,CAAnB;;AACA,MAAI3xH,KAAK,CAAC+xH,MAAD,CAAT,EAAmB;AACfiB,IAAAA,SAAS,CAAC7pC,OAAV,CAAkBnpF,KAAK,CAAC+xH,MAAD,CAAvB;AACH;;AACDj3H,EAAAA,CAAC,CAAC+7B,OAAF,GAAYo8F,WAAW,CAAC,OAAOn4H,CAAC,CAAC+7B,OAAV,EAAmBm8F,SAAnB,EAA8BD,iBAA9B,EAAiDt+E,MAAjD,CAAvB;AACA35C,EAAAA,CAAC,CAAC82H,aAAD,CAAD,GAAmBoB,SAAnB;AACAl4H,EAAAA,CAAC,CAAC62H,kBAAD,CAAD,GAAwB,IAAxB;AACA,QAAM72H,CAAN;AACH;;AACD,SAASm4H,WAAT,CAAqB/yC,IAArB,EAA2Bj+E,GAA3B,EAAgC8wH,iBAAhC,EAAmDt+E,MAAM,GAAG,IAA5D,EAAkE;AAC9DyrC,EAAAA,IAAI,GAAGA,IAAI,IAAIA,IAAI,CAACvhF,MAAL,CAAY,CAAZ,MAAmB,IAA3B,IAAmCuhF,IAAI,CAACvhF,MAAL,CAAY,CAAZ,KAAkBmzH,WAArD,GAAmE5xC,IAAI,CAAC7jF,MAAL,CAAY,CAAZ,CAAnE,GAAoF6jF,IAA3F;AACA,MAAI56E,OAAO,GAAGkqF,SAAS,CAACvtF,GAAD,CAAvB;;AACA,MAAII,KAAK,CAACC,OAAN,CAAcL,GAAd,CAAJ,EAAwB;AACpBqD,IAAAA,OAAO,GAAGrD,GAAG,CAAC1G,GAAJ,CAAQi0F,SAAR,EAAmBh1F,IAAnB,CAAwB,MAAxB,CAAV;AACH,GAFD,MAGK,IAAI,OAAOyH,GAAP,KAAe,QAAnB,EAA6B;AAC9B,QAAI29E,KAAK,GAAG,EAAZ;;AACA,SAAK,IAAIpkF,GAAT,IAAgByG,GAAhB,EAAqB;AACjB,UAAIA,GAAG,CAACV,cAAJ,CAAmB/F,GAAnB,CAAJ,EAA6B;AACzB,YAAIE,KAAK,GAAGuG,GAAG,CAACzG,GAAD,CAAf;AACAokF,QAAAA,KAAK,CAAC9pF,IAAN,CAAW0F,GAAG,GAAG,GAAN,IAAa,OAAOE,KAAP,KAAiB,QAAjB,GAA4B6zF,IAAI,CAACC,SAAL,CAAe9zF,KAAf,CAA5B,GAAoD8zF,SAAS,CAAC9zF,KAAD,CAA1E,CAAX;AACH;AACJ;;AACD4J,IAAAA,OAAO,GAAI,IAAGs6E,KAAK,CAACplF,IAAN,CAAW,IAAX,CAAiB,GAA/B;AACH;;AACD,SAAQ,GAAEu4H,iBAAkB,GAAEt+E,MAAM,GAAG,MAAMA,MAAN,GAAe,GAAlB,GAAwB,EAAG,IAAGnvC,OAAQ,MAAK46E,IAAI,CAAC7gF,OAAL,CAAawyH,QAAb,EAAuB,MAAvB,CAA+B,EAA9G;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqB,IAAI,GAAIlzH,KAAD,KAAY;AAAEA,EAAAA;AAAF,CAAZ,CAAb;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMsyB,MAAM,gBAAGsgG,gBAAgB;AAAA;AAC/B;AACA;AACAtI,kBAAkB,CAAC,QAAD,EAAW4I,IAAX,CAHa,EAGK,CAAC;AAAE;AAHR,CAA/B;AAIA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMrgG,QAAQ;AAAA;AACd;AACA;AACA+/F,gBAAgB,eAACtI,kBAAkB,CAAC,UAAD,CAAnB,EAAiC;AAAE;AAAnC,CAHhB;AAIA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM1D,IAAI;AAAA;AACV;AACA;AACAgM,gBAAgB,eAACtI,kBAAkB,CAAC,MAAD,CAAnB,EAA6B;AAAE;AAA/B,CAHhB;AAIA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMhoD,QAAQ;AAAA;AACd;AACA;AACAswD,gBAAgB,eAACtI,kBAAkB,CAAC,UAAD,CAAnB,EAAiC;AAAE;AAAnC,CAHhB;AAIA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMp2C,IAAI;AAAA;AACV;AACA;AACA0+C,gBAAgB,eAACtI,kBAAkB,CAAC,MAAD,CAAnB,EAA6B;AAAE;AAA/B,CAHhB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIwE,QAAQ,GAAG,IAAf;;AACA,SAASqE,UAAT,GAAsB;AAClB,SAAQrE,QAAQ,GAAGA,QAAQ,IAAI,IAAIF,sBAAJ,EAA/B;AACH;;AACD,SAASwE,mBAAT,CAA6BlgI,IAA7B,EAAmC;AAC/B,SAAOmgI,mBAAmB,CAACF,UAAU,GAAGxI,UAAb,CAAwBz3H,IAAxB,CAAD,CAA1B;AACH;;AACD,SAASmgI,mBAAT,CAA6B95D,IAA7B,EAAmC;AAC/B,SAAOA,IAAI,CAACh+D,GAAL,CAAS+3H,GAAG,IAAIC,iBAAiB,CAACD,GAAD,CAAjC,CAAP;AACH;;AACD,SAASC,iBAAT,CAA2BD,GAA3B,EAAgC;AAC5B,QAAMtI,IAAI,GAAG;AACThrH,IAAAA,KAAK,EAAE,IADE;AAETwzH,IAAAA,SAAS,EAAE,IAFF;AAGTp2H,IAAAA,IAAI,EAAE,KAHG;AAIT+O,IAAAA,QAAQ,EAAE,KAJD;AAKTsiG,IAAAA,IAAI,EAAE,KALG;AAMTglB,IAAAA,QAAQ,EAAE;AAND,GAAb;;AAQA,MAAIpxH,KAAK,CAACC,OAAN,CAAcgxH,GAAd,KAAsBA,GAAG,CAACr8H,MAAJ,GAAa,CAAvC,EAA0C;AACtC,SAAK,IAAIwuB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6tG,GAAG,CAACr8H,MAAxB,EAAgCwuB,CAAC,EAAjC,EAAqC;AACjC,YAAMg5E,KAAK,GAAG60B,GAAG,CAAC7tG,CAAD,CAAjB;;AACA,UAAIg5E,KAAK,KAAKrjG,SAAd,EAAyB;AACrB;AACA;AACH;;AACD,YAAMmC,KAAK,GAAGxD,MAAM,CAAC8gG,cAAP,CAAsB4D,KAAtB,CAAd;;AACA,UAAIA,KAAK,YAAY5rE,QAAjB,IAA6Bt1B,KAAK,CAAC2sH,cAAN,KAAyB,UAA1D,EAAsE;AAClEc,QAAAA,IAAI,CAAC7+G,QAAL,GAAgB,IAAhB;AACH,OAFD,MAGK,IAAIsyF,KAAK,YAAYn8B,QAAjB,IAA6B/kE,KAAK,CAAC2sH,cAAN,KAAyB,UAA1D,EAAsE;AACvEc,QAAAA,IAAI,CAACyI,QAAL,GAAgB,IAAhB;AACH,OAFI,MAGA,IAAIh1B,KAAK,YAAYmoB,IAAjB,IAAyBrpH,KAAK,CAAC2sH,cAAN,KAAyB,MAAtD,EAA8D;AAC/Dc,QAAAA,IAAI,CAACvc,IAAL,GAAY,IAAZ;AACH,OAFI,MAGA,IAAIhQ,KAAK,YAAYvqB,IAAjB,IAAyB32E,KAAK,CAAC2sH,cAAN,KAAyB,MAAtD,EAA8D;AAC/Dc,QAAAA,IAAI,CAAC5tH,IAAL,GAAY,IAAZ;AACH,OAFI,MAGA,IAAIqhG,KAAK,YAAYnsE,MAArB,EAA6B;AAC9B04F,QAAAA,IAAI,CAAChrH,KAAL,GAAay+F,KAAK,CAACz+F,KAAnB;AACH,OAFI,MAGA,IAAIy+F,KAAK,YAAYrqB,SAArB,EAAgC;AACjC,YAAIqqB,KAAK,CAACysB,aAAN,KAAwB9vH,SAA5B,EAAuC;AACnC,gBAAM,IAAIb,KAAJ,CAAW,iCAAX,CAAN;AACH;;AACDywH,QAAAA,IAAI,CAACwI,SAAL,GAAiB/0B,KAAK,CAACysB,aAAvB;AACH,OALI,MAMA;AACDF,QAAAA,IAAI,CAAChrH,KAAL,GAAay+F,KAAb;AACH;AACJ;AACJ,GAjCD,MAkCK,IAAI60B,GAAG,KAAKl4H,SAAR,IAAsBiH,KAAK,CAACC,OAAN,CAAcgxH,GAAd,KAAsBA,GAAG,CAACr8H,MAAJ,KAAe,CAA/D,EAAmE;AACpE+zH,IAAAA,IAAI,CAAChrH,KAAL,GAAa,IAAb;AACH,GAFI,MAGA;AACDgrH,IAAAA,IAAI,CAAChrH,KAAL,GAAaszH,GAAb;AACH;;AACD,SAAOtI,IAAP;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,SAAS0I,yBAAT,CAAmCC,gBAAnC,EAAqD;AACjD;AACA,QAAMC,iBAAiB,GAAG,EAA1B,CAFiD,CAGjD;;AACA,QAAMC,MAAM,GAAG,IAAIl4H,GAAJ,EAAf;;AACA,WAASm4H,qBAAT,CAA+Bp9C,GAA/B,EAAoC;AAChC,QAAIq9C,OAAO,GAAGF,MAAM,CAACj4H,GAAP,CAAW86E,GAAX,CAAd;;AACA,QAAI,CAACq9C,OAAL,EAAc;AACV,YAAMC,IAAI,GAAGL,gBAAgB,CAACj9C,GAAD,CAA7B;AACAm9C,MAAAA,MAAM,CAACh4H,GAAP,CAAW66E,GAAX,EAAgBq9C,OAAO,GAAGC,IAAI,CAACp/H,IAAL,CAAUq/H,cAAV,CAA1B;AACH;;AACD,WAAOF,OAAP;AACH;;AACDG,EAAAA,gCAAgC,CAACv+H,OAAjC,CAAyC,CAAC2oE,SAAD,EAAYprE,IAAZ,KAAqB;AAC1D,UAAMihI,QAAQ,GAAG,EAAjB;;AACA,QAAI71D,SAAS,CAAC81D,WAAd,EAA2B;AACvBD,MAAAA,QAAQ,CAACr+H,IAAT,CAAcg+H,qBAAqB,CAACx1D,SAAS,CAAC81D,WAAX,CAArB,CAA6Cx/H,IAA7C,CAAmD6pE,QAAD,IAAc;AAC1EH,QAAAA,SAAS,CAACG,QAAV,GAAqBA,QAArB;AACH,OAFa,CAAd;AAGH;;AACD,UAAM41D,SAAS,GAAG/1D,SAAS,CAAC+1D,SAA5B;AACA,UAAM/gI,MAAM,GAAGgrE,SAAS,CAAChrE,MAAV,KAAqBgrE,SAAS,CAAChrE,MAAV,GAAmB,EAAxC,CAAf;AACA,UAAMghI,WAAW,GAAGh2D,SAAS,CAAChrE,MAAV,CAAiB2D,MAArC;AACAo9H,IAAAA,SAAS,IAAIA,SAAS,CAAC1+H,OAAV,CAAkB,CAAC4+H,QAAD,EAAWr6G,KAAX,KAAqB;AAChD5mB,MAAAA,MAAM,CAACwC,IAAP,CAAY,EAAZ,EADgD,CAC/B;;AACjBq+H,MAAAA,QAAQ,CAACr+H,IAAT,CAAcg+H,qBAAqB,CAACS,QAAD,CAArB,CAAgC3/H,IAAhC,CAAsClB,KAAD,IAAW;AAC1DJ,QAAAA,MAAM,CAACghI,WAAW,GAAGp6G,KAAf,CAAN,GAA8BxmB,KAA9B;AACA2gI,QAAAA,SAAS,CAACtyH,MAAV,CAAiBsyH,SAAS,CAACp4H,OAAV,CAAkBs4H,QAAlB,CAAjB,EAA8C,CAA9C;;AACA,YAAIF,SAAS,CAACp9H,MAAV,IAAoB,CAAxB,EAA2B;AACvBqnE,UAAAA,SAAS,CAAC+1D,SAAV,GAAsBj5H,SAAtB;AACH;AACJ,OANa,CAAd;AAOH,KATY,CAAb;AAUA,UAAMo5H,aAAa,GAAG9/H,OAAO,CAAC+/H,GAAR,CAAYN,QAAZ,EAAsBv/H,IAAtB,CAA2B,MAAM8/H,oBAAoB,CAACxhI,IAAD,CAArD,CAAtB;AACA0gI,IAAAA,iBAAiB,CAAC99H,IAAlB,CAAuB0+H,aAAvB;AACH,GAtBD;AAuBAG,EAAAA,wCAAwC;AACxC,SAAOjgI,OAAO,CAAC+/H,GAAR,CAAYb,iBAAZ,EAA+Bh/H,IAA/B,CAAoC,MAAMwG,SAA1C,CAAP;AACH;;AACD,IAAI84H,gCAAgC,gBAAG,IAAIv4H,GAAJ,EAAvC,EACA;;AACA,MAAMi5H,6BAA6B,gBAAG,IAAI1tH,GAAJ,EAAtC;;AACA,SAAS2tH,wCAAT,CAAkD3hI,IAAlD,EAAwD4U,QAAxD,EAAkE;AAC9D,MAAIgtH,wBAAwB,CAAChtH,QAAD,CAA5B,EAAwC;AACpCosH,IAAAA,gCAAgC,CAACr4H,GAAjC,CAAqC3I,IAArC,EAA2C4U,QAA3C;AACA8sH,IAAAA,6BAA6B,CAACtrH,GAA9B,CAAkCpW,IAAlC;AACH;AACJ;;AACD,SAAS6hI,+BAAT,CAAyC7hI,IAAzC,EAA+C;AAC3C,SAAO0hI,6BAA6B,CAACrtH,GAA9B,CAAkCrU,IAAlC,CAAP;AACH;;AACD,SAAS4hI,wBAAT,CAAkCx2D,SAAlC,EAA6C;AACzC,SAAO,CAAC,EAAGA,SAAS,CAAC81D,WAAV,IAAyB,CAAC91D,SAAS,CAAC/8D,cAAV,CAAyB,UAAzB,CAA3B,IACN+8D,SAAS,CAAC+1D,SAAV,IAAuB/1D,SAAS,CAAC+1D,SAAV,CAAoBp9H,MADvC,CAAR;AAEH;;AACD,SAAS09H,wCAAT,GAAoD;AAChD,QAAM7kF,GAAG,GAAGokF,gCAAZ;AACAA,EAAAA,gCAAgC,GAAG,IAAIv4H,GAAJ,EAAnC;AACA,SAAOm0C,GAAP;AACH;;AACD,SAASklF,+BAAT,CAAyCC,KAAzC,EAAgD;AAC5CL,EAAAA,6BAA6B,CAAClnH,KAA9B;AACAunH,EAAAA,KAAK,CAACt/H,OAAN,CAAc,CAACuO,CAAD,EAAIhR,IAAJ,KAAa0hI,6BAA6B,CAACtrH,GAA9B,CAAkCpW,IAAlC,CAA3B;AACAghI,EAAAA,gCAAgC,GAAGe,KAAnC;AACH;;AACD,SAASC,uCAAT,GAAmD;AAC/C,SAAOhB,gCAAgC,CAAC3qH,IAAjC,KAA0C,CAAjD;AACH;;AACD,SAAS0qH,cAAT,CAAwBnvB,QAAxB,EAAkC;AAC9B,SAAO,OAAOA,QAAP,IAAmB,QAAnB,GAA8BA,QAA9B,GAAyCA,QAAQ,CAAC5kB,IAAT,EAAhD;AACH;;AACD,SAASw0C,oBAAT,CAA8BxhI,IAA9B,EAAoC;AAChC0hI,EAAAA,6BAA6B,CAACrnH,MAA9B,CAAqCra,IAArC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiiI,0BAAT,CAAoClf,KAApC,EAA2C;AACvC,GAAC/1G,SAAD,IAAc+qG,UAAU,CAAC,yCAAD,CAAxB;AACA,QAAMmqB,gBAAgB,GAAGnf,KAAK,CAACtB,0BAAD,CAA9B;AACA,QAAMrvG,OAAO,GAAG8vH,gBAAgB,CAACjhB,OAAD,CAAhC,CAHuC,CAIvC;;AACA,MAAI,CAAC7uG,OAAL,EACI,OAAO,IAAP;AACJ,SAAOA,OAAO,CAACxQ,WAAR,GAAsB49G,eAAe,CAACptG,OAAO,CAACxQ,WAAT,CAArC,GAA6D,IAApE;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASugI,0BAAT,CAAoCpf,KAApC,EAA2C;AACvC,MAAI9mF,EAAJ;;AACA,GAACjvB,SAAD,IAAc+qG,UAAU,CAAC,yCAAD,CAAxB;AACA,QAAMqqB,gBAAgB,GAAGH,0BAA0B,CAAClf,KAAD,CAAnD;AACA,QAAMsf,kBAAkB,GAAG,CAACpmG,EAAE,GAAGmmG,gBAAgB,KAAK,IAArB,IAA6BA,gBAAgB,KAAK,KAAK,CAAvD,GAA2D,KAAK,CAAhE,GAAoEA,gBAAgB,CAACpiI,IAA3F,MAAqG,IAArG,IAA6Gi8B,EAAE,KAAK,KAAK,CAAzH,GAA6H,KAAK,CAAlI,GAAsIA,EAAE,CAACn8B,IAApK;AACA,SAAOuiI,kBAAkB,GAAI,kBAAiBA,kBAAmB,uBAAxC,GAAiE,EAA1F;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,IAAIC,mBAAmB;AAAnBA,EAAAA,mBAAmB,GAAnBA,mBAAmB;AAEnB;AACA;AACA;;AACA;AACJ;AACA;AACIA,EAAAA,mBAAmB,CAACA,mBAAmB,CAAC,WAAD,CAAnB,GAAmC,CAApC,CAAnB,GAA4D,WAA5D;AACA;AACJ;AACA;;AACIA,EAAAA,mBAAmB,CAACA,mBAAmB,CAAC,UAAD,CAAnB,GAAkC,CAAnC,CAAnB,GAA2D,UAA3D;AAZmB,SAAnBA,mBAAmB;AAAA,IAAvB;;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,4BAA3B;AACA;AACA;AACA;;AACA,MAAMC,iBAAiB,GAAG,OAA1B;AACA,MAAMC,yBAAyB,GAAG,gBAAlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,iBAAT,CAA2Bl6H,KAA3B,EAAkC;AAC9B,SAAOA,KAAK,CAAC2D,OAAN,CAAco2H,kBAAd,EAAmCv1C,IAAD,IAAUA,IAAI,CAAC7gF,OAAL,CAAaq2H,iBAAb,EAAgCC,yBAAhC,CAA5C,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,SAASE,WAAT,CAAqB5jH,MAArB,EAA6B;AACzB,MAAI6jH,OAAO,GAAGC,eAAe,CAAC9jH,MAAD,CAA7B;;AACA,MAAI6jH,OAAJ,EAAa;AACT;AACA;AACA,QAAIzzH,KAAK,CAACC,OAAN,CAAcwzH,OAAd,CAAJ,EAA4B;AACxB,YAAM7f,KAAK,GAAG6f,OAAd;AACA,UAAIjb,SAAJ;AACA,UAAIv8C,SAAS,GAAGljE,SAAhB;AACA,UAAI82G,UAAU,GAAG92G,SAAjB;;AACA,UAAI46H,mBAAmB,CAAC/jH,MAAD,CAAvB,EAAiC;AAC7B4oG,QAAAA,SAAS,GAAGob,gBAAgB,CAAChgB,KAAD,EAAQhkG,MAAR,CAA5B;;AACA,YAAI4oG,SAAS,IAAI,CAAC,CAAlB,EAAqB;AACjB,gBAAM,IAAItgH,KAAJ,CAAU,yDAAV,CAAN;AACH;;AACD+jE,QAAAA,SAAS,GAAGrsD,MAAZ;AACH,OAND,MAOK,IAAIikH,mBAAmB,CAACjkH,MAAD,CAAvB,EAAiC;AAClC4oG,QAAAA,SAAS,GAAGsb,gBAAgB,CAAClgB,KAAD,EAAQhkG,MAAR,CAA5B;;AACA,YAAI4oG,SAAS,IAAI,CAAC,CAAlB,EAAqB;AACjB,gBAAM,IAAItgH,KAAJ,CAAU,yDAAV,CAAN;AACH;;AACD23G,QAAAA,UAAU,GAAGkkB,wBAAwB,CAACvb,SAAD,EAAY5E,KAAZ,EAAmB,KAAnB,CAArC;AACH,OANI,MAOA;AACD4E,QAAAA,SAAS,GAAGwb,oBAAoB,CAACpgB,KAAD,EAAQhkG,MAAR,CAAhC;;AACA,YAAI4oG,SAAS,IAAI,CAAC,CAAlB,EAAqB;AACjB,iBAAO,IAAP;AACH;AACJ,OAxBuB,CAyBxB;AACA;AACA;AACA;;;AACA,YAAM0I,MAAM,GAAGnJ,WAAW,CAACnE,KAAK,CAAC4E,SAAD,CAAN,CAA1B;AACA,YAAMyb,WAAW,GAAGP,eAAe,CAACxS,MAAD,CAAnC;AACA,YAAMj+G,OAAO,GAAIgxH,WAAW,IAAI,CAACj0H,KAAK,CAACC,OAAN,CAAcg0H,WAAd,CAAjB,GACZA,WADY,GAEZC,cAAc,CAACtgB,KAAD,EAAQ4E,SAAR,EAAmB0I,MAAnB,CAFlB,CA/BwB,CAkCxB;;AACA,UAAIjlD,SAAS,IAAIh5D,OAAO,CAACg5D,SAAR,KAAsBljE,SAAvC,EAAkD;AAC9CkK,QAAAA,OAAO,CAACg5D,SAAR,GAAoBA,SAApB;AACAk4D,QAAAA,eAAe,CAAClxH,OAAO,CAACg5D,SAAT,EAAoBh5D,OAApB,CAAf;AACH,OAtCuB,CAuCxB;;;AACA,UAAI4sG,UAAU,IAAI5sG,OAAO,CAAC4sG,UAAR,KAAuB92G,SAAzC,EAAoD;AAChDkK,QAAAA,OAAO,CAAC4sG,UAAR,GAAqBA,UAArB;;AACA,aAAK,IAAIj0G,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGi0G,UAAU,CAACj7G,MAA/B,EAAuCgH,CAAC,EAAxC,EAA4C;AACxCu4H,UAAAA,eAAe,CAACtkB,UAAU,CAACj0G,CAAD,CAAX,EAAgBqH,OAAhB,CAAf;AACH;AACJ;;AACDkxH,MAAAA,eAAe,CAAClxH,OAAO,CAACi+G,MAAT,EAAiBj+G,OAAjB,CAAf;AACAwwH,MAAAA,OAAO,GAAGxwH,OAAV;AACH;AACJ,GApDD,MAqDK;AACD,UAAMmxH,QAAQ,GAAGxkH,MAAjB;AACA/R,IAAAA,SAAS,IAAIisG,aAAa,CAACsqB,QAAD,CAA1B,CAFC,CAGD;AACA;;AACA,QAAI53G,MAAM,GAAG43G,QAAb;;AACA,WAAO53G,MAAM,GAAGA,MAAM,CAAC1hB,UAAvB,EAAmC;AAC/B,YAAM4T,aAAa,GAAGglH,eAAe,CAACl3G,MAAD,CAArC;;AACA,UAAI9N,aAAJ,EAAmB;AACf,YAAIklG,KAAJ;;AACA,YAAI5zG,KAAK,CAACC,OAAN,CAAcyO,aAAd,CAAJ,EAAkC;AAC9BklG,UAAAA,KAAK,GAAGllG,aAAR;AACH,SAFD,MAGK;AACDklG,UAAAA,KAAK,GAAGllG,aAAa,CAACklG,KAAtB;AACH,SAPc,CAQf;AACA;;;AACA,YAAI,CAACA,KAAL,EAAY;AACR,iBAAO,IAAP;AACH;;AACD,cAAM/7F,KAAK,GAAGm8G,oBAAoB,CAACpgB,KAAD,EAAQwgB,QAAR,CAAlC;;AACA,YAAIv8G,KAAK,IAAI,CAAb,EAAgB;AACZ,gBAAMqpG,MAAM,GAAGnJ,WAAW,CAACnE,KAAK,CAAC/7F,KAAD,CAAN,CAA1B;AACA,gBAAM5U,OAAO,GAAGixH,cAAc,CAACtgB,KAAD,EAAQ/7F,KAAR,EAAeqpG,MAAf,CAA9B;AACAiT,UAAAA,eAAe,CAACjT,MAAD,EAASj+G,OAAT,CAAf;AACAwwH,UAAAA,OAAO,GAAGxwH,OAAV;AACA;AACH;AACJ;AACJ;AACJ;;AACD,SAAOwwH,OAAO,IAAI,IAAlB;AACH;AACD;AACA;AACA;;;AACA,SAASS,cAAT,CAAwBtgB,KAAxB,EAA+B4E,SAA/B,EAA0C0I,MAA1C,EAAkD;AAC9C,SAAO;AACHtN,IAAAA,KADG;AAEH4E,IAAAA,SAFG;AAGH0I,IAAAA,MAHG;AAIHjlD,IAAAA,SAAS,EAAEljE,SAJR;AAKH82G,IAAAA,UAAU,EAAE92G,SALT;AAMHs7H,IAAAA,SAAS,EAAEt7H;AANR,GAAP;AAQH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASu7H,0BAAT,CAAoCC,iBAApC,EAAuD;AACnD,MAAI3gB,KAAK,GAAG8f,eAAe,CAACa,iBAAD,CAA3B;AACA,MAAI/kF,IAAJ;;AACA,MAAIxvC,KAAK,CAACC,OAAN,CAAc2zG,KAAd,CAAJ,EAA0B;AACtB,UAAM4E,SAAS,GAAGob,gBAAgB,CAAChgB,KAAD,EAAQ2gB,iBAAR,CAAlC;AACA/kF,IAAAA,IAAI,GAAG+oE,wBAAwB,CAACC,SAAD,EAAY5E,KAAZ,CAA/B;AACA,UAAM3wG,OAAO,GAAGixH,cAAc,CAACtgB,KAAD,EAAQ4E,SAAR,EAAmBhpE,IAAI,CAAC8hE,IAAD,CAAvB,CAA9B;AACAruG,IAAAA,OAAO,CAACg5D,SAAR,GAAoBs4D,iBAApB;AACAJ,IAAAA,eAAe,CAACI,iBAAD,EAAoBtxH,OAApB,CAAf;AACAkxH,IAAAA,eAAe,CAAClxH,OAAO,CAACi+G,MAAT,EAAiBj+G,OAAjB,CAAf;AACH,GAPD,MAQK;AACD,UAAMA,OAAO,GAAG2wG,KAAhB;AACApkE,IAAAA,IAAI,GAAG+oE,wBAAwB,CAACt1G,OAAO,CAACu1G,SAAT,EAAoBv1G,OAAO,CAAC2wG,KAA5B,CAA/B;AACH;;AACD,SAAOpkE,IAAP;AACH;AACD;AACA;AACA;;;AACA,MAAMglF,qBAAqB,GAAG,eAA9B;AACA;AACA;AACA;AACA;;AACA,SAASL,eAAT,CAAyBvkH,MAAzB,EAAiC5W,IAAjC,EAAuC;AACnC6E,EAAAA,SAAS,IAAI+rG,aAAa,CAACh6F,MAAD,EAAS,iBAAT,CAA1B;AACAA,EAAAA,MAAM,CAAC4kH,qBAAD,CAAN,GAAgCx7H,IAAhC;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS06H,eAAT,CAAyB9jH,MAAzB,EAAiC;AAC7B/R,EAAAA,SAAS,IAAI+rG,aAAa,CAACh6F,MAAD,EAAS,iBAAT,CAA1B;AACA,SAAOA,MAAM,CAAC4kH,qBAAD,CAAN,IAAiC,IAAxC;AACH;;AACD,SAASC,gBAAT,CAA0B7kH,MAA1B,EAAkC;AAC9B,QAAMvW,KAAK,GAAGq6H,eAAe,CAAC9jH,MAAD,CAA7B;;AACA,MAAIvW,KAAJ,EAAW;AACP,WAAO2G,KAAK,CAACC,OAAN,CAAc5G,KAAd,IAAuBA,KAAvB,GAA+BA,KAAK,CAACu6G,KAA5C;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAAS+f,mBAAT,CAA6Bjd,QAA7B,EAAuC;AACnC,SAAOA,QAAQ,IAAIA,QAAQ,CAACjkH,WAArB,IAAoCikH,QAAQ,CAACjkH,WAAT,CAAqBs2E,IAAhE;AACH;;AACD,SAAS8qD,mBAAT,CAA6Bnd,QAA7B,EAAuC;AACnC,SAAOA,QAAQ,IAAIA,QAAQ,CAACjkH,WAArB,IAAoCikH,QAAQ,CAACjkH,WAAT,CAAqB6uC,IAAhE;AACH;AACD;AACA;AACA;;;AACA,SAAS0yF,oBAAT,CAA8BpgB,KAA9B,EAAqChkG,MAArC,EAA6C;AACzC,QAAMk9F,KAAK,GAAG8G,KAAK,CAACrC,KAAD,CAAnB;;AACA,OAAK,IAAI31G,CAAC,GAAG82G,aAAb,EAA4B92G,CAAC,GAAGkxG,KAAK,CAACqI,iBAAtC,EAAyDv5G,CAAC,EAA1D,EAA8D;AAC1D,QAAIm8G,WAAW,CAACnE,KAAK,CAACh4G,CAAD,CAAN,CAAX,KAA0BgU,MAA9B,EAAsC;AAClC,aAAOhU,CAAP;AACH;AACJ;;AACD,SAAO,CAAC,CAAR;AACH;AACD;AACA;AACA;;;AACA,SAAS84H,mBAAT,CAA6B7nB,KAA7B,EAAoC;AAChC,MAAIA,KAAK,CAACkQ,KAAV,EAAiB;AACb,WAAOlQ,KAAK,CAACkQ,KAAb;AACH,GAFD,MAGK,IAAIlQ,KAAK,CAAC3qG,IAAV,EAAgB;AACjB,WAAO2qG,KAAK,CAAC3qG,IAAb;AACH,GAFI,MAGA;AACD;AACA;AACA;AACA,WAAO2qG,KAAK,CAACrwF,MAAN,IAAgB,CAACqwF,KAAK,CAACrwF,MAAN,CAAata,IAArC,EAA2C;AACvC2qG,MAAAA,KAAK,GAAGA,KAAK,CAACrwF,MAAd;AACH;;AACD,WAAOqwF,KAAK,CAACrwF,MAAN,IAAgBqwF,KAAK,CAACrwF,MAAN,CAAata,IAApC;AACH;AACJ;AACD;AACA;AACA;;;AACA,SAAS0xH,gBAAT,CAA0BhgB,KAA1B,EAAiC2gB,iBAAjC,EAAoD;AAChD,QAAMI,gBAAgB,GAAG/gB,KAAK,CAACrC,KAAD,CAAL,CAAaqjB,UAAtC;;AACA,MAAID,gBAAJ,EAAsB;AAClB,SAAK,IAAI/4H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+4H,gBAAgB,CAAC//H,MAArC,EAA6CgH,CAAC,EAA9C,EAAkD;AAC9C,YAAMi5H,qBAAqB,GAAGF,gBAAgB,CAAC/4H,CAAD,CAA9C;AACA,YAAMk5H,aAAa,GAAGvc,wBAAwB,CAACsc,qBAAD,EAAwBjhB,KAAxB,CAA9C;;AACA,UAAIkhB,aAAa,CAAChjB,OAAD,CAAb,KAA2ByiB,iBAA/B,EAAkD;AAC9C,eAAOM,qBAAP;AACH;AACJ;AACJ,GARD,MASK;AACD,UAAME,iBAAiB,GAAGxc,wBAAwB,CAAC7F,aAAD,EAAgBkB,KAAhB,CAAlD;AACA,UAAMohB,aAAa,GAAGD,iBAAiB,CAACjjB,OAAD,CAAvC;;AACA,QAAIkjB,aAAa,KAAKT,iBAAtB,EAAyC;AACrC;AACA;AACA,aAAO7hB,aAAP;AACH;AACJ;;AACD,SAAO,CAAC,CAAR;AACH;AACD;AACA;AACA;;;AACA,SAASohB,gBAAT,CAA0BlgB,KAA1B,EAAiCqhB,iBAAjC,EAAoD;AAChD;AACA;AACA;AACA;AACA;AACA,MAAIpoB,KAAK,GAAG+G,KAAK,CAACrC,KAAD,CAAL,CAAaqL,UAAzB;;AACA,SAAO/P,KAAP,EAAc;AACV,UAAMqoB,mBAAmB,GAAGroB,KAAK,CAAC2R,cAAlC;AACA,UAAM2W,iBAAiB,GAAGtoB,KAAK,CAAC4R,YAAhC;;AACA,SAAK,IAAI7iH,CAAC,GAAGs5H,mBAAb,EAAkCt5H,CAAC,GAAGu5H,iBAAtC,EAAyDv5H,CAAC,EAA1D,EAA8D;AAC1D,UAAIg4G,KAAK,CAACh4G,CAAD,CAAL,KAAaq5H,iBAAjB,EAAoC;AAChC,eAAOpoB,KAAK,CAACh1F,KAAb;AACH;AACJ;;AACDg1F,IAAAA,KAAK,GAAG6nB,mBAAmB,CAAC7nB,KAAD,CAA3B;AACH;;AACD,SAAO,CAAC,CAAR;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASknB,wBAAT,CAAkCvb,SAAlC,EAA6C5E,KAA7C,EAAoDwhB,iBAApD,EAAuE;AACnE,QAAMvoB,KAAK,GAAG+G,KAAK,CAACrC,KAAD,CAAL,CAAav4G,IAAb,CAAkBw/G,SAAlB,CAAd;AACA,MAAI6c,mBAAmB,GAAGxoB,KAAK,CAAC2R,cAAhC;AACA,MAAI6W,mBAAmB,IAAI,CAA3B,EACI,OAAOhnB,WAAP;AACJ,QAAMinB,iBAAiB,GAAGzoB,KAAK,CAAC4R,YAAhC;AACA,MAAI,CAAC2W,iBAAD,IAAsBvoB,KAAK,CAACrB,KAAN,GAAc;AAAE;AAA1C,IACI6pB,mBAAmB;AACvB,SAAOzhB,KAAK,CAACzjG,KAAN,CAAYklH,mBAAZ,EAAiCC,iBAAjC,CAAP;AACH;;AACD,SAASC,uBAAT,CAAiC/c,SAAjC,EAA4C5E,KAA5C,EAAmD;AAC/C,QAAM/G,KAAK,GAAG+G,KAAK,CAACrC,KAAD,CAAL,CAAav4G,IAAb,CAAkBw/G,SAAlB,CAAd;AACA,MAAI6c,mBAAmB,GAAGxoB,KAAK,CAAC2R,cAAhC;AACA,SAAO3R,KAAK,CAACrB,KAAN,GAAc;AAAE;AAAhB,IAAwCoI,KAAK,CAACyhB,mBAAD,CAA7C,GAAqE,IAA5E;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASG,iBAAT,CAA2B5hB,KAA3B,EAAkC4E,SAAlC,EAA6C;AACzC,QAAM3L,KAAK,GAAG+G,KAAK,CAACrC,KAAD,CAAL,CAAav4G,IAAb,CAAkBw/G,SAAlB,CAAd;;AACA,MAAI3L,KAAK,IAAIA,KAAK,CAAC4oB,UAAnB,EAA+B;AAC3B,UAAMr5H,MAAM,GAAG,EAAf;AACA,QAAIs5H,UAAU,GAAG7oB,KAAK,CAACh1F,KAAN,GAAc,CAA/B;;AACA,SAAK,IAAIjc,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGixG,KAAK,CAAC4oB,UAAN,CAAiB7gI,MAArC,EAA6CgH,CAAC,IAAI,CAAlD,EAAqD;AACjDQ,MAAAA,MAAM,CAACywG,KAAK,CAAC4oB,UAAN,CAAiB75H,CAAjB,CAAD,CAAN,GAA8Bg4G,KAAK,CAAC8hB,UAAD,CAAnC;AACAA,MAAAA,UAAU;AACb;;AACD,WAAOt5H,MAAP;AACH;;AACD,SAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIu5H,oBAAJ;AACA;AACA;AACA;;;AACA,SAASC,mBAAT,CAA6BC,iBAA7B,EAAgDjiB,KAAhD,EAAuD;AACnD,SAAO+hB,oBAAoB,CAACE,iBAAD,EAAoBjiB,KAApB,CAA3B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkiB,+BAAT,CAAyCC,MAAzC,EAAiD;AAC7C,MAAIJ,oBAAoB,KAAK58H,SAA7B,EAAwC;AACpC;AACA;AACA48H,IAAAA,oBAAoB,GAAGI,MAAM,EAA7B;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,+BAA+B,GAAG,CAAxC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,cAAT,CAAwBriB,KAAxB,EAA+B;AAC3B/1G,EAAAA,SAAS,IAAI82G,WAAW,CAACf,KAAD,CAAxB;AACA,QAAMp3F,MAAM,GAAGo3F,KAAK,CAACnC,MAAD,CAApB;AACA,SAAO4B,YAAY,CAAC72F,MAAD,CAAZ,GAAuBA,MAAM,CAACi1F,MAAD,CAA7B,GAAwCj1F,MAA/C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS05G,WAAT,CAAqBC,gBAArB,EAAuC;AACnCt4H,EAAAA,SAAS,IAAI+rG,aAAa,CAACusB,gBAAD,EAAmB,WAAnB,CAA1B;AACA,MAAIviB,KAAK,GAAGR,OAAO,CAAC+iB,gBAAD,CAAP,GAA4BA,gBAA5B,GAA+C1B,gBAAgB,CAAC0B,gBAAD,CAA3E;;AACA,SAAOviB,KAAK,IAAI,EAAEA,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAI;AAArB,GAAhB,EAAoD;AAChDoC,IAAAA,KAAK,GAAGqiB,cAAc,CAACriB,KAAD,CAAtB;AACH;;AACD/1G,EAAAA,SAAS,IAAI82G,WAAW,CAACf,KAAD,CAAxB;AACA,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwiB,cAAT,CAAwBC,eAAxB,EAAyC;AACrC,QAAMC,QAAQ,GAAGJ,WAAW,CAACG,eAAD,CAA5B;AACAx4H,EAAAA,SAAS,IACL+rG,aAAa,CAAC0sB,QAAQ,CAACxkB,OAAD,CAAT,EAAoB,sDAApB,CADjB;AAEA,SAAOwkB,QAAQ,CAACxkB,OAAD,CAAf;AACH;AACD;AACA;AACA;;;AACA,SAASykB,kBAAT,CAA4B3iB,KAA5B,EAAmC;AAC/B,SAAO4iB,oBAAoB,CAAC5iB,KAAK,CAACzB,UAAD,CAAN,CAA3B;AACH;AACD;AACA;AACA;;;AACA,SAASskB,iBAAT,CAA2BlzE,SAA3B,EAAsC;AAClC,SAAOizE,oBAAoB,CAACjzE,SAAS,CAACmuD,IAAD,CAAV,CAA3B;AACH;;AACD,SAAS8kB,oBAAT,CAA8Btd,eAA9B,EAA+C;AAC3C,SAAOA,eAAe,KAAK,IAApB,IAA4B,CAAC7F,YAAY,CAAC6F,eAAD,CAAhD,EAAmE;AAC/DA,IAAAA,eAAe,GAAGA,eAAe,CAACxH,IAAD,CAAjC;AACH;;AACD,SAAOwH,eAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMwd,uBAAuB,GAAGvjB,+BAA+B,GAAGwN,+BAAlC,GAAoEqV,+BAApE,GAAsGle,+BAAtG,GAAwIlF,6BAAxK;AACA;AACA;AACA;AACA;;AACA,SAAS+jB,yBAAT,CAAmC58H,MAAnC,EAA2C29G,QAA3C,EAAqDl7F,MAArD,EAA6Do6G,aAA7D,EAA4EC,UAA5E,EAAwF;AACpF;AACA;AACA;AACA;AACA,MAAID,aAAa,IAAI,IAArB,EAA2B;AACvB,QAAI5d,UAAJ;AACA,QAAI8d,WAAW,GAAG,KAAlB,CAFuB,CAGvB;AACA;AACA;;AACA,QAAIzjB,YAAY,CAACujB,aAAD,CAAhB,EAAiC;AAC7B5d,MAAAA,UAAU,GAAG4d,aAAb;AACH,KAFD,MAGK,IAAIxjB,OAAO,CAACwjB,aAAD,CAAX,EAA4B;AAC7BE,MAAAA,WAAW,GAAG,IAAd;AACAj5H,MAAAA,SAAS,IAAI+rG,aAAa,CAACgtB,aAAa,CAACtlB,IAAD,CAAd,EAAsB,4CAAtB,CAA1B;AACAslB,MAAAA,aAAa,GAAGA,aAAa,CAACtlB,IAAD,CAA7B;AACH;;AACD,UAAMylB,KAAK,GAAGhf,WAAW,CAAC6e,aAAD,CAAzB;AACA/4H,IAAAA,SAAS,IAAI,CAAC45G,oBAAoB,CAACC,QAAD,CAAlC,IAAgD5N,aAAa,CAACitB,KAAD,CAA7D;;AACA,QAAIh9H,MAAM,KAAK;AAAE;AAAb,OAA6ByiB,MAAM,KAAK,IAA5C,EAAkD;AAC9C,UAAIq6G,UAAU,IAAI,IAAlB,EAAwB;AACpBG,QAAAA,iBAAiB,CAACtf,QAAD,EAAWl7F,MAAX,EAAmBu6G,KAAnB,CAAjB;AACH,OAFD,MAGK;AACDE,QAAAA,kBAAkB,CAACvf,QAAD,EAAWl7F,MAAX,EAAmBu6G,KAAnB,EAA0BF,UAAU,IAAI,IAAxC,EAA8C,IAA9C,CAAlB;AACH;AACJ,KAPD,MAQK,IAAI98H,MAAM,KAAK;AAAE;AAAb,OAA6ByiB,MAAM,KAAK,IAA5C,EAAkD;AACnDy6G,MAAAA,kBAAkB,CAACvf,QAAD,EAAWl7F,MAAX,EAAmBu6G,KAAnB,EAA0BF,UAAU,IAAI,IAAxC,EAA8C,IAA9C,CAAlB;AACH,KAFI,MAGA,IAAI98H,MAAM,KAAK;AAAE;AAAjB,MAA+B;AAChCm9H,MAAAA,gBAAgB,CAACxf,QAAD,EAAWqf,KAAX,EAAkBD,WAAlB,CAAhB;AACH,KAFI,MAGA,IAAI/8H,MAAM,KAAK;AAAE;AAAjB,MAAgC;AACjC8D,MAAAA,SAAS,IAAIA,SAAS,CAAC+vG,mBAAV,EAAb;AACA8J,MAAAA,QAAQ,CAACyf,WAAT,CAAqBJ,KAArB;AACH;;AACD,QAAI/d,UAAU,IAAI,IAAlB,EAAwB;AACpBoe,MAAAA,cAAc,CAAC1f,QAAD,EAAW39G,MAAX,EAAmBi/G,UAAnB,EAA+Bx8F,MAA/B,EAAuCq6G,UAAvC,CAAd;AACH;AACJ;AACJ;;AACD,SAASQ,cAAT,CAAwB3f,QAAxB,EAAkCr+G,KAAlC,EAAyC;AACrCwE,EAAAA,SAAS,IAAIA,SAAS,CAACkvG,sBAAV,EAAb;AACAlvG,EAAAA,SAAS,IAAIA,SAAS,CAACmvG,eAAV,EAAb;AACA,SAAOyK,oBAAoB,CAACC,QAAD,CAApB,GAAiCA,QAAQ,CAAC4f,UAAT,CAAoBj+H,KAApB,CAAjC,GACHq+G,QAAQ,CAAC2f,cAAT,CAAwBh+H,KAAxB,CADJ;AAEH;;AACD,SAASk+H,cAAT,CAAwB7f,QAAxB,EAAkCqf,KAAlC,EAAyC19H,KAAzC,EAAgD;AAC5CwE,EAAAA,SAAS,IAAIA,SAAS,CAACmvG,eAAV,EAAb;AACAyK,EAAAA,oBAAoB,CAACC,QAAD,CAApB,GAAiCA,QAAQ,CAAC8f,QAAT,CAAkBT,KAAlB,EAAyB19H,KAAzB,CAAjC,GAAmE09H,KAAK,CAAC1qG,WAAN,GAAoBhzB,KAAvF;AACH;;AACD,SAASo+H,iBAAT,CAA2B/f,QAA3B,EAAqCr+G,KAArC,EAA4C;AACxCwE,EAAAA,SAAS,IAAIA,SAAS,CAACowG,qBAAV,EAAb,CADwC,CAExC;AACA;;AACA,SAAOyJ,QAAQ,CAACx6C,aAAT,CAAuBq2D,iBAAiB,CAACl6H,KAAD,CAAxC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASq+H,iBAAT,CAA2BhgB,QAA3B,EAAqC/mH,IAArC,EAA2CgnI,SAA3C,EAAsD;AAClD95H,EAAAA,SAAS,IAAIA,SAAS,CAACovG,qBAAV,EAAb;;AACA,MAAIwK,oBAAoB,CAACC,QAAD,CAAxB,EAAoC;AAChC,WAAOA,QAAQ,CAACtrF,aAAT,CAAuBz7B,IAAvB,EAA6BgnI,SAA7B,CAAP;AACH,GAFD,MAGK;AACD,WAAOA,SAAS,KAAK,IAAd,GAAqBjgB,QAAQ,CAACtrF,aAAT,CAAuBz7B,IAAvB,CAArB,GACH+mH,QAAQ,CAACkgB,eAAT,CAAyBD,SAAzB,EAAoChnI,IAApC,CADJ;AAEH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASknI,uBAAT,CAAiC/qB,KAAjC,EAAwC8G,KAAxC,EAA+C;AAC3C,QAAM8D,QAAQ,GAAG9D,KAAK,CAAC3B,QAAD,CAAtB;AACA6lB,EAAAA,SAAS,CAAChrB,KAAD,EAAQ8G,KAAR,EAAe8D,QAAf,EAAyB;AAAE;AAA3B,IAAyC,IAAzC,EAA+C,IAA/C,CAAT;AACA9D,EAAAA,KAAK,CAACtC,IAAD,CAAL,GAAc,IAAd;AACAsC,EAAAA,KAAK,CAAChC,MAAD,CAAL,GAAgB,IAAhB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmmB,kBAAT,CAA4BjrB,KAA5B,EAAmCsP,WAAnC,EAAgD1E,QAAhD,EAA0D9D,KAA1D,EAAiEokB,gBAAjE,EAAmFnB,UAAnF,EAA+F;AAC3FjjB,EAAAA,KAAK,CAACtC,IAAD,CAAL,GAAc0mB,gBAAd;AACApkB,EAAAA,KAAK,CAAChC,MAAD,CAAL,GAAgBwK,WAAhB;AACA0b,EAAAA,SAAS,CAAChrB,KAAD,EAAQ8G,KAAR,EAAe8D,QAAf,EAAyB;AAAE;AAA3B,IAAyCsgB,gBAAzC,EAA2DnB,UAA3D,CAAT;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoB,gBAAT,CAA0BnrB,KAA1B,EAAiC8G,KAAjC,EAAwC;AACpCkkB,EAAAA,SAAS,CAAChrB,KAAD,EAAQ8G,KAAR,EAAeA,KAAK,CAAC3B,QAAD,CAApB,EAAgC;AAAE;AAAlC,IAAgD,IAAhD,EAAsD,IAAtD,CAAT;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASimB,eAAT,CAAyB5B,QAAzB,EAAmC;AAC/B;AACA,MAAI6B,iBAAiB,GAAG7B,QAAQ,CAACnkB,UAAD,CAAhC;;AACA,MAAI,CAACgmB,iBAAL,EAAwB;AACpB,WAAOC,WAAW,CAAC9B,QAAQ,CAAC/kB,KAAD,CAAT,EAAkB+kB,QAAlB,CAAlB;AACH;;AACD,SAAO6B,iBAAP,EAA0B;AACtB,QAAIj2H,IAAI,GAAG,IAAX;;AACA,QAAIkxG,OAAO,CAAC+kB,iBAAD,CAAX,EAAgC;AAC5B;AACAj2H,MAAAA,IAAI,GAAGi2H,iBAAiB,CAAChmB,UAAD,CAAxB;AACH,KAHD,MAIK;AACDt0G,MAAAA,SAAS,IAAI42G,gBAAgB,CAAC0jB,iBAAD,CAA7B,CADC,CAED;;AACA,YAAME,SAAS,GAAGF,iBAAiB,CAACjlB,uBAAD,CAAnC;AACA,UAAImlB,SAAJ,EACIn2H,IAAI,GAAGm2H,SAAP;AACP;;AACD,QAAI,CAACn2H,IAAL,EAAW;AACP;AACA;AACA,aAAOi2H,iBAAiB,IAAI,CAACA,iBAAiB,CAACzmB,IAAD,CAAvC,IAAiDymB,iBAAiB,KAAK7B,QAA9E,EAAwF;AACpF,YAAIljB,OAAO,CAAC+kB,iBAAD,CAAX,EAAgC;AAC5BC,UAAAA,WAAW,CAACD,iBAAiB,CAAC5mB,KAAD,CAAlB,EAA2B4mB,iBAA3B,CAAX;AACH;;AACDA,QAAAA,iBAAiB,GAAGA,iBAAiB,CAAC1mB,MAAD,CAArC;AACH;;AACD,UAAI0mB,iBAAiB,KAAK,IAA1B,EACIA,iBAAiB,GAAG7B,QAApB;;AACJ,UAAIljB,OAAO,CAAC+kB,iBAAD,CAAX,EAAgC;AAC5BC,QAAAA,WAAW,CAACD,iBAAiB,CAAC5mB,KAAD,CAAlB,EAA2B4mB,iBAA3B,CAAX;AACH;;AACDj2H,MAAAA,IAAI,GAAGi2H,iBAAiB,IAAIA,iBAAiB,CAACzmB,IAAD,CAA7C;AACH;;AACDymB,IAAAA,iBAAiB,GAAGj2H,IAApB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo2H,UAAT,CAAoBxrB,KAApB,EAA2B8G,KAA3B,EAAkCoF,UAAlC,EAA8CnhG,KAA9C,EAAqD;AACjDha,EAAAA,SAAS,IAAI82G,WAAW,CAACf,KAAD,CAAxB;AACA/1G,EAAAA,SAAS,IAAI42G,gBAAgB,CAACuE,UAAD,CAA7B;AACA,QAAMuf,gBAAgB,GAAGrlB,uBAAuB,GAAGr7F,KAAnD;AACA,QAAM2gH,eAAe,GAAGxf,UAAU,CAACpkH,MAAnC;;AACA,MAAIijB,KAAK,GAAG,CAAZ,EAAe;AACX;AACAmhG,IAAAA,UAAU,CAACuf,gBAAgB,GAAG,CAApB,CAAV,CAAiC7mB,IAAjC,IAAyCkC,KAAzC;AACH;;AACD,MAAI/7F,KAAK,GAAG2gH,eAAe,GAAGtlB,uBAA9B,EAAuD;AACnDU,IAAAA,KAAK,CAAClC,IAAD,CAAL,GAAcsH,UAAU,CAACuf,gBAAD,CAAxB;AACA3N,IAAAA,UAAU,CAAC5R,UAAD,EAAa9F,uBAAuB,GAAGr7F,KAAvC,EAA8C+7F,KAA9C,CAAV;AACH,GAHD,MAIK;AACDoF,IAAAA,UAAU,CAACvlH,IAAX,CAAgBmgH,KAAhB;AACAA,IAAAA,KAAK,CAAClC,IAAD,CAAL,GAAc,IAAd;AACH;;AACDkC,EAAAA,KAAK,CAACnC,MAAD,CAAL,GAAgBuH,UAAhB,CAjBiD,CAkBjD;;AACA,QAAMyf,qBAAqB,GAAG7kB,KAAK,CAACrB,sBAAD,CAAnC;;AACA,MAAIkmB,qBAAqB,KAAK,IAA1B,IAAkCzf,UAAU,KAAKyf,qBAArD,EAA4E;AACxEC,IAAAA,cAAc,CAACD,qBAAD,EAAwB7kB,KAAxB,CAAd;AACH,GAtBgD,CAuBjD;;;AACA,QAAM+kB,QAAQ,GAAG/kB,KAAK,CAACnB,OAAD,CAAtB;;AACA,MAAIkmB,QAAQ,KAAK,IAAjB,EAAuB;AACnBA,IAAAA,QAAQ,CAACL,UAAT,CAAoBxrB,KAApB;AACH,GA3BgD,CA4BjD;;;AACA8G,EAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB;AAAI;AAApB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASknB,cAAT,CAAwBE,oBAAxB,EAA8ChlB,KAA9C,EAAqD;AACjD/1G,EAAAA,SAAS,IAAI+rG,aAAa,CAACgK,KAAD,EAAQ,gBAAR,CAA1B;AACA/1G,EAAAA,SAAS,IAAI42G,gBAAgB,CAACmkB,oBAAD,CAA7B;AACA,QAAMC,UAAU,GAAGD,oBAAoB,CAAC3lB,WAAD,CAAvC;AACA,QAAM6lB,kBAAkB,GAAGllB,KAAK,CAACnC,MAAD,CAAhC;AACA5zG,EAAAA,SAAS,IAAI42G,gBAAgB,CAACqkB,kBAAD,CAA7B;AACA,QAAMC,sBAAsB,GAAGD,kBAAkB,CAACrnB,MAAD,CAAlB,CAA2Ba,0BAA3B,CAA/B;AACAz0G,EAAAA,SAAS,IAAI+rG,aAAa,CAACmvB,sBAAD,EAAyB,gCAAzB,CAA1B;AACA,QAAMC,sBAAsB,GAAGplB,KAAK,CAACtB,0BAAD,CAApC;AACAz0G,EAAAA,SAAS,IAAI+rG,aAAa,CAACovB,sBAAD,EAAyB,gCAAzB,CAA1B;;AACA,MAAIA,sBAAsB,KAAKD,sBAA/B,EAAuD;AACnD;AACA;AACA;AACAH,IAAAA,oBAAoB,CAAC9lB,sBAAD,CAApB,GAA+C,IAA/C;AACH;;AACD,MAAI+lB,UAAU,KAAK,IAAnB,EAAyB;AACrBD,IAAAA,oBAAoB,CAAC3lB,WAAD,CAApB,GAAoC,CAACW,KAAD,CAApC;AACH,GAFD,MAGK;AACDilB,IAAAA,UAAU,CAACplI,IAAX,CAAgBmgH,KAAhB;AACH;AACJ;;AACD,SAASqlB,eAAT,CAAyBL,oBAAzB,EAA+ChlB,KAA/C,EAAsD;AAClD/1G,EAAAA,SAAS,IAAI42G,gBAAgB,CAACmkB,oBAAD,CAA7B;AACA/6H,EAAAA,SAAS,IACL+rG,aAAa,CAACgvB,oBAAoB,CAAC3lB,WAAD,CAArB,EAAoC,0EAApC,CADjB;AAEA,QAAM4lB,UAAU,GAAGD,oBAAoB,CAAC3lB,WAAD,CAAvC;AACA,QAAMimB,oBAAoB,GAAGL,UAAU,CAACj/H,OAAX,CAAmBg6G,KAAnB,CAA7B;AACA,QAAMulB,mBAAmB,GAAGvlB,KAAK,CAACnC,MAAD,CAAjC;AACA5zG,EAAAA,SAAS,IAAI42G,gBAAgB,CAAC0kB,mBAAD,CAA7B,CAPkD,CAQlD;AACA;AACA;;AACA,MAAIvlB,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAK;AAAxB,IAAuD;AACnDoC,IAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB,CAAC;AAAK;AAAtB;AACAuH,IAAAA,2BAA2B,CAACogB,mBAAD,EAAsB,CAAC,CAAvB,CAA3B;AACH;;AACDN,EAAAA,UAAU,CAACn5H,MAAX,CAAkBw5H,oBAAlB,EAAwC,CAAxC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASv7D,UAAT,CAAoBq7C,UAApB,EAAgCogB,WAAhC,EAA6C;AACzC,MAAIpgB,UAAU,CAACpkH,MAAX,IAAqBs+G,uBAAzB,EACI;AACJ,QAAMqlB,gBAAgB,GAAGrlB,uBAAuB,GAAGkmB,WAAnD;AACA,QAAMC,YAAY,GAAGrgB,UAAU,CAACuf,gBAAD,CAA/B;;AACA,MAAIc,YAAJ,EAAkB;AACd,UAAMZ,qBAAqB,GAAGY,YAAY,CAAC9mB,sBAAD,CAA1C;;AACA,QAAIkmB,qBAAqB,KAAK,IAA1B,IAAkCA,qBAAqB,KAAKzf,UAAhE,EAA4E;AACxEigB,MAAAA,eAAe,CAACR,qBAAD,EAAwBY,YAAxB,CAAf;AACH;;AACD,QAAID,WAAW,GAAG,CAAlB,EAAqB;AACjBpgB,MAAAA,UAAU,CAACuf,gBAAgB,GAAG,CAApB,CAAV,CAAiC7mB,IAAjC,IAAyC2nB,YAAY,CAAC3nB,IAAD,CAArD;AACH;;AACD,UAAM4nB,YAAY,GAAGzO,eAAe,CAAC7R,UAAD,EAAa9F,uBAAuB,GAAGkmB,WAAvC,CAApC;AACAvB,IAAAA,uBAAuB,CAACwB,YAAY,CAAC9nB,KAAD,CAAb,EAAsB8nB,YAAtB,CAAvB,CATc,CAUd;;AACA,UAAMV,QAAQ,GAAGW,YAAY,CAAC7mB,OAAD,CAA7B;;AACA,QAAIkmB,QAAQ,KAAK,IAAjB,EAAuB;AACnBA,MAAAA,QAAQ,CAACh7D,UAAT,CAAoB27D,YAAY,CAAC/nB,KAAD,CAAhC;AACH;;AACD8nB,IAAAA,YAAY,CAAC5nB,MAAD,CAAZ,GAAuB,IAAvB;AACA4nB,IAAAA,YAAY,CAAC3nB,IAAD,CAAZ,GAAqB,IAArB,CAhBc,CAiBd;;AACA2nB,IAAAA,YAAY,CAAC7nB,KAAD,CAAZ,IAAuB,CAAC;AAAI;AAA5B;AACH;;AACD,SAAO6nB,YAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,YAAT,CAAsBzsB,KAAtB,EAA6B8G,KAA7B,EAAoC;AAChC,MAAI,EAAEA,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAI;AAArB,GAAJ,EAA2C;AACvC,UAAMkG,QAAQ,GAAG9D,KAAK,CAAC3B,QAAD,CAAtB;;AACA,QAAIwF,oBAAoB,CAACC,QAAD,CAApB,IAAkCA,QAAQ,CAACyf,WAA/C,EAA4D;AACxDW,MAAAA,SAAS,CAAChrB,KAAD,EAAQ8G,KAAR,EAAe8D,QAAf,EAAyB;AAAE;AAA3B,QAA0C,IAA1C,EAAgD,IAAhD,CAAT;AACH;;AACDwgB,IAAAA,eAAe,CAACtkB,KAAD,CAAf;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwkB,WAAT,CAAqBtrB,KAArB,EAA4B8G,KAA5B,EAAmC;AAC/B,MAAI,EAAEA,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAI;AAArB,GAAJ,EAA2C;AACvC;AACA;AACAoC,IAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB,CAAC;AAAI;AAArB,KAHuC,CAIvC;AACA;AACA;AACA;AACA;;AACAoC,IAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB;AAAI;AAApB;AACAgoB,IAAAA,iBAAiB,CAAC1sB,KAAD,EAAQ8G,KAAR,CAAjB;AACA6lB,IAAAA,eAAe,CAAC3sB,KAAD,EAAQ8G,KAAR,CAAf,CAXuC,CAYvC;;AACA,QAAIA,KAAK,CAACrC,KAAD,CAAL,CAAa1gH,IAAb,KAAsB;AAAE;AAAxB,OAA2C4mH,oBAAoB,CAAC7D,KAAK,CAAC3B,QAAD,CAAN,CAAnE,EAAsF;AAClFp0G,MAAAA,SAAS,IAAIA,SAAS,CAAC8vG,eAAV,EAAb;AACAiG,MAAAA,KAAK,CAAC3B,QAAD,CAAL,CAAgB79G,OAAhB;AACH;;AACD,UAAMwkI,oBAAoB,GAAGhlB,KAAK,CAACrB,sBAAD,CAAlC,CAjBuC,CAkBvC;;AACA,QAAIqmB,oBAAoB,KAAK,IAAzB,IAAiCvlB,YAAY,CAACO,KAAK,CAACnC,MAAD,CAAN,CAAjD,EAAkE;AAC9D;AACA,UAAImnB,oBAAoB,KAAKhlB,KAAK,CAACnC,MAAD,CAAlC,EAA4C;AACxCwnB,QAAAA,eAAe,CAACL,oBAAD,EAAuBhlB,KAAvB,CAAf;AACH,OAJ6D,CAK9D;;;AACA,YAAM+kB,QAAQ,GAAG/kB,KAAK,CAACnB,OAAD,CAAtB;;AACA,UAAIkmB,QAAQ,KAAK,IAAjB,EAAuB;AACnBA,QAAAA,QAAQ,CAACh7D,UAAT,CAAoBmvC,KAApB;AACH;AACJ;AACJ;AACJ;AACD;;;AACA,SAAS2sB,eAAT,CAAyB3sB,KAAzB,EAAgC8G,KAAhC,EAAuC;AACnC,QAAM8lB,QAAQ,GAAG5sB,KAAK,CAACzL,OAAvB;AACA,QAAMs4B,QAAQ,GAAG/lB,KAAK,CAAC/B,OAAD,CAAtB,CAFmC,CAGnC;AACA;AACA;;AACA,MAAI+nB,iBAAiB,GAAG,CAAC,CAAzB;;AACA,MAAIF,QAAQ,KAAK,IAAjB,EAAuB;AACnB,SAAK,IAAI99H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG89H,QAAQ,CAAC9kI,MAAT,GAAkB,CAAtC,EAAyCgH,CAAC,IAAI,CAA9C,EAAiD;AAC7C,UAAI,OAAO89H,QAAQ,CAAC99H,CAAD,CAAf,KAAuB,QAA3B,EAAqC;AACjC;AACA,cAAMi+H,iBAAiB,GAAGH,QAAQ,CAAC99H,CAAC,GAAG,CAAL,CAAlC;AACA,cAAMgU,MAAM,GAAG,OAAOiqH,iBAAP,KAA6B,UAA7B,GACXA,iBAAiB,CAACjmB,KAAD,CADN,GAEXmE,WAAW,CAACnE,KAAK,CAACimB,iBAAD,CAAN,CAFf;AAGA,cAAM79G,QAAQ,GAAG29G,QAAQ,CAACC,iBAAiB,GAAGF,QAAQ,CAAC99H,CAAC,GAAG,CAAL,CAA7B,CAAzB;AACA,cAAMk+H,kBAAkB,GAAGJ,QAAQ,CAAC99H,CAAC,GAAG,CAAL,CAAnC;;AACA,YAAI,OAAOk+H,kBAAP,KAA8B,SAAlC,EAA6C;AACzC;AACAlqH,UAAAA,MAAM,CAAC0a,mBAAP,CAA2BovG,QAAQ,CAAC99H,CAAD,CAAnC,EAAwCogB,QAAxC,EAAkD89G,kBAAlD;AACH,SAHD,MAIK;AACD,cAAIA,kBAAkB,IAAI,CAA1B,EAA6B;AACzB;AACAH,YAAAA,QAAQ,CAACC,iBAAiB,GAAGE,kBAArB,CAAR;AACH,WAHD,MAIK;AACD;AACAH,YAAAA,QAAQ,CAACC,iBAAiB,GAAG,CAACE,kBAAtB,CAAR,CAAkDlhG,WAAlD;AACH;AACJ;;AACDh9B,QAAAA,CAAC,IAAI,CAAL;AACH,OAvBD,MAwBK;AACD;AACA,cAAMqH,OAAO,GAAG02H,QAAQ,CAACC,iBAAiB,GAAGF,QAAQ,CAAC99H,CAAC,GAAG,CAAL,CAA7B,CAAxB;AACA89H,QAAAA,QAAQ,CAAC99H,CAAD,CAAR,CAAYjF,IAAZ,CAAiBsM,OAAjB;AACH;AACJ;AACJ;;AACD,MAAI02H,QAAQ,KAAK,IAAjB,EAAuB;AACnB,SAAK,IAAI/9H,CAAC,GAAGg+H,iBAAiB,GAAG,CAAjC,EAAoCh+H,CAAC,GAAG+9H,QAAQ,CAAC/kI,MAAjD,EAAyDgH,CAAC,EAA1D,EAA8D;AAC1D,YAAMm+H,iBAAiB,GAAGJ,QAAQ,CAAC/9H,CAAD,CAAlC;AACAiC,MAAAA,SAAS,IAAIsrG,cAAc,CAAC4wB,iBAAD,EAAoB,sCAApB,CAA3B;AACAA,MAAAA,iBAAiB;AACpB;;AACDnmB,IAAAA,KAAK,CAAC/B,OAAD,CAAL,GAAiB,IAAjB;AACH;AACJ;AACD;;;AACA,SAAS2nB,iBAAT,CAA2B1sB,KAA3B,EAAkC8G,KAAlC,EAAyC;AACrC,MAAIqL,YAAJ;;AACA,MAAInS,KAAK,IAAI,IAAT,IAAiB,CAACmS,YAAY,GAAGnS,KAAK,CAACmS,YAAtB,KAAuC,IAA5D,EAAkE;AAC9D,SAAK,IAAIrjH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqjH,YAAY,CAACrqH,MAAjC,EAAyCgH,CAAC,IAAI,CAA9C,EAAiD;AAC7C,YAAMqH,OAAO,GAAG2wG,KAAK,CAACqL,YAAY,CAACrjH,CAAD,CAAb,CAArB,CAD6C,CAE7C;;AACA,UAAI,EAAEqH,OAAO,YAAYg9G,mBAArB,CAAJ,EAA+C;AAC3C,cAAM+Z,MAAM,GAAG/a,YAAY,CAACrjH,CAAC,GAAG,CAAL,CAA3B;;AACA,YAAIoE,KAAK,CAACC,OAAN,CAAc+5H,MAAd,CAAJ,EAA2B;AACvB,eAAK,IAAI52G,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG42G,MAAM,CAACplI,MAA3B,EAAmCwuB,CAAC,IAAI,CAAxC,EAA2C;AACvC,kBAAM62G,WAAW,GAAGh3H,OAAO,CAAC+2H,MAAM,CAAC52G,CAAD,CAAP,CAA3B;AACA,kBAAMu8F,IAAI,GAAGqa,MAAM,CAAC52G,CAAC,GAAG,CAAL,CAAnB;AACA8zF,YAAAA,QAAQ,CAAC;AAAE;AAAH,cAA6B+iB,WAA7B,EAA0Cta,IAA1C,CAAR;;AACA,gBAAI;AACAA,cAAAA,IAAI,CAAChpH,IAAL,CAAUsjI,WAAV;AACH,aAFD,SAGQ;AACJ/iB,cAAAA,QAAQ,CAAC;AAAE;AAAH,gBAA2B+iB,WAA3B,EAAwCta,IAAxC,CAAR;AACH;AACJ;AACJ,SAZD,MAaK;AACDzI,UAAAA,QAAQ,CAAC;AAAE;AAAH,YAA6Bj0G,OAA7B,EAAsC+2H,MAAtC,CAAR;;AACA,cAAI;AACAA,YAAAA,MAAM,CAACrjI,IAAP,CAAYsM,OAAZ;AACH,WAFD,SAGQ;AACJi0G,YAAAA,QAAQ,CAAC;AAAE;AAAH,cAA2Bj0G,OAA3B,EAAoC+2H,MAApC,CAAR;AACH;AACJ;AACJ;AACJ;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,iBAAT,CAA2BptB,KAA3B,EAAkCD,KAAlC,EAAyC+G,KAAzC,EAAgD;AAC5C,SAAOumB,kBAAkB,CAACrtB,KAAD,EAAQD,KAAK,CAACrwF,MAAd,EAAsBo3F,KAAtB,CAAzB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASumB,kBAAT,CAA4BrtB,KAA5B,EAAmCD,KAAnC,EAA0C+G,KAA1C,EAAiD;AAC7C,MAAIwI,WAAW,GAAGvP,KAAlB,CAD6C,CAE7C;AACA;;AACA,SAAOuP,WAAW,KAAK,IAAhB,IACFA,WAAW,CAACvrH,IAAZ,IAAoB;AAAE;AAAF,IAA2B;AAAG;AAAlD,GADL,EACoE;AAChEg8G,IAAAA,KAAK,GAAGuP,WAAR;AACAA,IAAAA,WAAW,GAAGvP,KAAK,CAACrwF,MAApB;AACH,GAR4C,CAS7C;AACA;;;AACA,MAAI4/F,WAAW,KAAK,IAApB,EAA0B;AACtB;AACA;AACA,WAAOxI,KAAK,CAACtC,IAAD,CAAZ;AACH,GAJD,MAKK;AACDzzG,IAAAA,SAAS,IAAIijH,eAAe,CAAC1E,WAAD,EAAc;AAAE;AAAF,MAAmB;AAAE;AAAnC,KAA5B;;AACA,QAAIA,WAAW,CAAC5Q,KAAZ,GAAoB;AAAE;AAA1B,MAAiD;AAC7C3tG,MAAAA,SAAS,IAAI81G,mBAAmB,CAACyI,WAAD,EAAcxI,KAAd,CAAhC;AACA,YAAMrpC,aAAa,GAAGuiC,KAAK,CAAC9zG,IAAN,CAAWojH,WAAW,CAACoC,cAAvB,EAAuCj0C,aAA7D,CAF6C,CAG7C;AACA;AACA;AACA;AACA;AACA;;AACA,UAAIA,aAAa,KAAK3K,iBAAiB,CAACw6D,IAApC,IACA7vD,aAAa,KAAK3K,iBAAiB,CAAC6vC,QADxC,EACkD;AAC9C,eAAO,IAAP;AACH;AACJ;;AACD,WAAO0I,gBAAgB,CAACiE,WAAD,EAAcxI,KAAd,CAAvB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASqjB,kBAAT,CAA4Bvf,QAA5B,EAAsCl7F,MAAtC,EAA8CugG,KAA9C,EAAqD8Z,UAArD,EAAiEwD,MAAjE,EAAyE;AACrEx8H,EAAAA,SAAS,IAAIA,SAAS,CAACmwG,oBAAV,EAAb;;AACA,MAAIyJ,oBAAoB,CAACC,QAAD,CAAxB,EAAoC;AAChCA,IAAAA,QAAQ,CAAC54F,YAAT,CAAsBtC,MAAtB,EAA8BugG,KAA9B,EAAqC8Z,UAArC,EAAiDwD,MAAjD;AACH,GAFD,MAGK;AACD79G,IAAAA,MAAM,CAACsC,YAAP,CAAoBi+F,KAApB,EAA2B8Z,UAA3B,EAAuCwD,MAAvC;AACH;AACJ;;AACD,SAASrD,iBAAT,CAA2Btf,QAA3B,EAAqCl7F,MAArC,EAA6CugG,KAA7C,EAAoD;AAChDl/G,EAAAA,SAAS,IAAIA,SAAS,CAACkwG,mBAAV,EAAb;AACAlwG,EAAAA,SAAS,IAAI+rG,aAAa,CAACptF,MAAD,EAAS,6BAAT,CAA1B;;AACA,MAAIi7F,oBAAoB,CAACC,QAAD,CAAxB,EAAoC;AAChCA,IAAAA,QAAQ,CAAC/qF,WAAT,CAAqBnQ,MAArB,EAA6BugG,KAA7B;AACH,GAFD,MAGK;AACDvgG,IAAAA,MAAM,CAACmQ,WAAP,CAAmBowF,KAAnB;AACH;AACJ;;AACD,SAASud,0BAAT,CAAoC5iB,QAApC,EAA8Cl7F,MAA9C,EAAsDugG,KAAtD,EAA6D8Z,UAA7D,EAAyEwD,MAAzE,EAAiF;AAC7E,MAAIxD,UAAU,KAAK,IAAnB,EAAyB;AACrBI,IAAAA,kBAAkB,CAACvf,QAAD,EAAWl7F,MAAX,EAAmBugG,KAAnB,EAA0B8Z,UAA1B,EAAsCwD,MAAtC,CAAlB;AACH,GAFD,MAGK;AACDrD,IAAAA,iBAAiB,CAACtf,QAAD,EAAWl7F,MAAX,EAAmBugG,KAAnB,CAAjB;AACH;AACJ;AACD;;;AACA,SAASwd,iBAAT,CAA2B7iB,QAA3B,EAAqCl7F,MAArC,EAA6CugG,KAA7C,EAAoD99F,aAApD,EAAmE;AAC/D,MAAIw4F,oBAAoB,CAACC,QAAD,CAAxB,EAAoC;AAChCA,IAAAA,QAAQ,CAACrqF,WAAT,CAAqB7Q,MAArB,EAA6BugG,KAA7B,EAAoC99F,aAApC;AACH,GAFD,MAGK;AACDzC,IAAAA,MAAM,CAAC6Q,WAAP,CAAmB0vF,KAAnB;AACH;AACJ;AACD;AACA;AACA;;;AACA,SAASyd,gBAAT,CAA0B9iB,QAA1B,EAAoC10G,IAApC,EAA0C;AACtC,SAAQy0G,oBAAoB,CAACC,QAAD,CAApB,GAAiCA,QAAQ,CAAC58G,UAAT,CAAoBkI,IAApB,CAAjC,GAA6DA,IAAI,CAAClI,UAA1E;AACH;AACD;AACA;AACA;;;AACA,SAAS2/H,iBAAT,CAA2B/iB,QAA3B,EAAqC10G,IAArC,EAA2C;AACvC,SAAOy0G,oBAAoB,CAACC,QAAD,CAApB,GAAiCA,QAAQ,CAAC54E,WAAT,CAAqB97B,IAArB,CAAjC,GAA8DA,IAAI,CAAC87B,WAA1E;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS47F,uBAAT,CAAiCte,WAAjC,EAA8C9B,YAA9C,EAA4D1G,KAA5D,EAAmE;AAC/D,SAAO+mB,gCAAgC,CAACve,WAAD,EAAc9B,YAAd,EAA4B1G,KAA5B,CAAvC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgnB,iCAAT,CAA2Cxe,WAA3C,EAAwD9B,YAAxD,EAAsE1G,KAAtE,EAA6E;AACzE,MAAIwI,WAAW,CAACvrH,IAAZ,IAAoB;AAAE;AAAF,IAA2B;AAAG;AAAlD,GAAJ,EAAkE;AAC9D,WAAOsnH,gBAAgB,CAACiE,WAAD,EAAcxI,KAAd,CAAvB;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,IAAI+mB,gCAAgC,GAAGC,iCAAvC;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIC,wBAAJ;;AACA,SAASC,eAAT,CAAyBC,+BAAzB,EAA0DC,uBAA1D,EAAmF;AAC/EL,EAAAA,gCAAgC,GAAGI,+BAAnC;AACAF,EAAAA,wBAAwB,GAAGG,uBAA3B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASruG,WAAT,CAAqBmgF,KAArB,EAA4B8G,KAA5B,EAAmCqnB,UAAnC,EAA+CC,UAA/C,EAA2D;AACvD,QAAMC,WAAW,GAAGjB,iBAAiB,CAACptB,KAAD,EAAQouB,UAAR,EAAoBtnB,KAApB,CAArC;AACA,QAAM8D,QAAQ,GAAG9D,KAAK,CAAC3B,QAAD,CAAtB;AACA,QAAMmK,WAAW,GAAG8e,UAAU,CAAC1+G,MAAX,IAAqBo3F,KAAK,CAAChC,MAAD,CAA9C;AACA,QAAM30C,UAAU,GAAGy9D,uBAAuB,CAACte,WAAD,EAAc8e,UAAd,EAA0BtnB,KAA1B,CAA1C;;AACA,MAAIunB,WAAW,IAAI,IAAnB,EAAyB;AACrB,QAAIn7H,KAAK,CAACC,OAAN,CAAcg7H,UAAd,CAAJ,EAA+B;AAC3B,WAAK,IAAIr/H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGq/H,UAAU,CAACrmI,MAA/B,EAAuCgH,CAAC,EAAxC,EAA4C;AACxC0+H,QAAAA,0BAA0B,CAAC5iB,QAAD,EAAWyjB,WAAX,EAAwBF,UAAU,CAACr/H,CAAD,CAAlC,EAAuCqhE,UAAvC,EAAmD,KAAnD,CAA1B;AACH;AACJ,KAJD,MAKK;AACDq9D,MAAAA,0BAA0B,CAAC5iB,QAAD,EAAWyjB,WAAX,EAAwBF,UAAxB,EAAoCh+D,UAApC,EAAgD,KAAhD,CAA1B;AACH;AACJ;;AACD49D,EAAAA,wBAAwB,KAAK9hI,SAA7B,IACI8hI,wBAAwB,CAACnjB,QAAD,EAAWwjB,UAAX,EAAuBtnB,KAAvB,EAA8BqnB,UAA9B,EAA0CE,WAA1C,CAD5B;AAEH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,kBAAT,CAA4BxnB,KAA5B,EAAmC/G,KAAnC,EAA0C;AACtC,MAAIA,KAAK,KAAK,IAAd,EAAoB;AAChBhvG,IAAAA,SAAS,IACLijH,eAAe,CAACjU,KAAD,EAAQ;AAAE;AAAF,MAAmB;AAAG;AAAtB,MAA2C;AAAG;AAA9C,MAA0D;AAAG;AAArE,KADnB;AAEA,UAAM6T,SAAS,GAAG7T,KAAK,CAACh8G,IAAxB;;AACA,QAAI6vH,SAAS,GAAG;AAAE;AAAlB,MAAkC;AAC9B,aAAOvI,gBAAgB,CAACtL,KAAD,EAAQ+G,KAAR,CAAvB;AACH,KAFD,MAGK,IAAI8M,SAAS,GAAG;AAAE;AAAlB,MAAmC;AACpC,aAAO2a,oBAAoB,CAAC,CAAC,CAAF,EAAKznB,KAAK,CAAC/G,KAAK,CAACh1F,KAAP,CAAV,CAA3B;AACH,KAFI,MAGA,IAAI6oG,SAAS,GAAG;AAAE;AAAlB,MAA0C;AAC3C,YAAM4a,mBAAmB,GAAGzuB,KAAK,CAACkQ,KAAlC;;AACA,UAAIue,mBAAmB,KAAK,IAA5B,EAAkC;AAC9B,eAAOF,kBAAkB,CAACxnB,KAAD,EAAQ0nB,mBAAR,CAAzB;AACH,OAFD,MAGK;AACD,cAAMC,iBAAiB,GAAG3nB,KAAK,CAAC/G,KAAK,CAACh1F,KAAP,CAA/B;;AACA,YAAIw7F,YAAY,CAACkoB,iBAAD,CAAhB,EAAqC;AACjC,iBAAOF,oBAAoB,CAAC,CAAC,CAAF,EAAKE,iBAAL,CAA3B;AACH,SAFD,MAGK;AACD,iBAAOxjB,WAAW,CAACwjB,iBAAD,CAAlB;AACH;AACJ;AACJ,KAdI,MAeA,IAAI7a,SAAS,GAAG;AAAG;AAAnB,MAA8B;AAC/B,UAAI8a,SAAS,GAAG5F,mBAAmB,CAAC/oB,KAAD,EAAQ+G,KAAR,CAAnC;AACA,UAAImjB,KAAK,GAAGyE,SAAS,EAArB,CAF+B,CAG/B;;AACA,aAAOzE,KAAK,IAAIhf,WAAW,CAACnE,KAAK,CAAC/G,KAAK,CAACh1F,KAAP,CAAN,CAA3B;AACH,KALI,MAMA;AACD,YAAM4jH,eAAe,GAAGC,kBAAkB,CAAC9nB,KAAD,EAAQ/G,KAAR,CAA1C;;AACA,UAAI4uB,eAAe,KAAK,IAAxB,EAA8B;AAC1B,YAAIz7H,KAAK,CAACC,OAAN,CAAcw7H,eAAd,CAAJ,EAAoC;AAChC,iBAAOA,eAAe,CAAC,CAAD,CAAtB;AACH;;AACD,cAAM/Y,UAAU,GAAGuT,cAAc,CAACriB,KAAK,CAACtB,0BAAD,CAAN,CAAjC;AACAz0G,QAAAA,SAAS,IAAI83G,gBAAgB,CAAC+M,UAAD,CAA7B;AACA,eAAO0Y,kBAAkB,CAAC1Y,UAAD,EAAa+Y,eAAb,CAAzB;AACH,OAPD,MAQK;AACD,eAAOL,kBAAkB,CAACxnB,KAAD,EAAQ/G,KAAK,CAAC3qG,IAAd,CAAzB;AACH;AACJ;AACJ;;AACD,SAAO,IAAP;AACH;;AACD,SAASw5H,kBAAT,CAA4B9nB,KAA5B,EAAmC/G,KAAnC,EAA0C;AACtC,MAAIA,KAAK,KAAK,IAAd,EAAoB;AAChB,UAAMioB,aAAa,GAAGlhB,KAAK,CAACtB,0BAAD,CAA3B;AACA,UAAMqpB,aAAa,GAAG7G,aAAa,CAACljB,MAAD,CAAnC;AACA,UAAMgqB,OAAO,GAAG/uB,KAAK,CAAC6I,UAAtB;AACA73G,IAAAA,SAAS,IAAI43G,qBAAqB,CAAC7B,KAAD,CAAlC;AACA,WAAO+nB,aAAa,CAACjmB,UAAd,CAAyBkmB,OAAzB,CAAP;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAASP,oBAAT,CAA8BQ,oBAA9B,EAAoD7iB,UAApD,EAAgE;AAC5D,QAAM8iB,aAAa,GAAG5oB,uBAAuB,GAAG2oB,oBAA1B,GAAiD,CAAvE;;AACA,MAAIC,aAAa,GAAG9iB,UAAU,CAACpkH,MAA/B,EAAuC;AACnC,UAAMg/G,KAAK,GAAGoF,UAAU,CAAC8iB,aAAD,CAAxB;AACA,UAAMC,gBAAgB,GAAGnoB,KAAK,CAACrC,KAAD,CAAL,CAAaqL,UAAtC;;AACA,QAAImf,gBAAgB,KAAK,IAAzB,EAA+B;AAC3B,aAAOX,kBAAkB,CAACxnB,KAAD,EAAQmoB,gBAAR,CAAzB;AACH;AACJ;;AACD,SAAO/iB,UAAU,CAACjG,MAAD,CAAjB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmkB,gBAAT,CAA0Bxf,QAA1B,EAAoCqf,KAApC,EAA2C93G,aAA3C,EAA0D;AACtDphB,EAAAA,SAAS,IAAIA,SAAS,CAACiwG,kBAAV,EAAb;AACA,QAAMkuB,YAAY,GAAGxB,gBAAgB,CAAC9iB,QAAD,EAAWqf,KAAX,CAArC;;AACA,MAAIiF,YAAJ,EAAkB;AACdzB,IAAAA,iBAAiB,CAAC7iB,QAAD,EAAWskB,YAAX,EAAyBjF,KAAzB,EAAgC93G,aAAhC,CAAjB;AACH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAASg9G,UAAT,CAAoBvkB,QAApB,EAA8B39G,MAA9B,EAAsC8yG,KAAtC,EAA6C+G,KAA7C,EAAoDsoB,cAApD,EAAoErF,UAApE,EAAgFsF,YAAhF,EAA8F;AAC1F,SAAOtvB,KAAK,IAAI,IAAhB,EAAsB;AAClBhvG,IAAAA,SAAS,IAAI81G,mBAAmB,CAAC9G,KAAD,EAAQ+G,KAAR,CAAhC;AACA/1G,IAAAA,SAAS,IACLijH,eAAe,CAACjU,KAAD,EAAQ;AAAE;AAAF,MAAmB;AAAG;AAAtB,MAA2C;AAAG;AAA9C,MAAiE;AAAG;AAA5E,KADnB;AAEA,UAAMuvB,YAAY,GAAGxoB,KAAK,CAAC/G,KAAK,CAACh1F,KAAP,CAA1B;AACA,UAAM6oG,SAAS,GAAG7T,KAAK,CAACh8G,IAAxB;;AACA,QAAIsrI,YAAJ,EAAkB;AACd,UAAIpiI,MAAM,KAAK;AAAE;AAAjB,QAA+B;AAC3BqiI,QAAAA,YAAY,IAAIjI,eAAe,CAACpc,WAAW,CAACqkB,YAAD,CAAZ,EAA4BxoB,KAA5B,CAA/B;AACA/G,QAAAA,KAAK,CAACrB,KAAN,IAAe;AAAE;AAAjB;AACH;AACJ;;AACD,QAAI,CAACqB,KAAK,CAACrB,KAAN,GAAc;AAAG;AAAlB,UAAwC;AAAG;AAA/C,MAAiE;AAC7D,UAAIkV,SAAS,GAAG;AAAE;AAAlB,QAA0C;AACtCub,QAAAA,UAAU,CAACvkB,QAAD,EAAW39G,MAAX,EAAmB8yG,KAAK,CAACkQ,KAAzB,EAAgCnJ,KAAhC,EAAuCsoB,cAAvC,EAAuDrF,UAAvD,EAAmE,KAAnE,CAAV;AACAF,QAAAA,yBAAyB,CAAC58H,MAAD,EAAS29G,QAAT,EAAmBwkB,cAAnB,EAAmCE,YAAnC,EAAiDvF,UAAjD,CAAzB;AACH,OAHD,MAIK,IAAInW,SAAS,GAAG;AAAG;AAAnB,QAA8B;AAC/B,cAAM8a,SAAS,GAAG5F,mBAAmB,CAAC/oB,KAAD,EAAQ+G,KAAR,CAArC;AACA,YAAImjB,KAAJ;;AACA,eAAOA,KAAK,GAAGyE,SAAS,EAAxB,EAA4B;AACxB7E,UAAAA,yBAAyB,CAAC58H,MAAD,EAAS29G,QAAT,EAAmBwkB,cAAnB,EAAmCnF,KAAnC,EAA0CF,UAA1C,CAAzB;AACH;;AACDF,QAAAA,yBAAyB,CAAC58H,MAAD,EAAS29G,QAAT,EAAmBwkB,cAAnB,EAAmCE,YAAnC,EAAiDvF,UAAjD,CAAzB;AACH,OAPI,MAQA,IAAInW,SAAS,GAAG;AAAG;AAAnB,QAAqC;AACtC2b,QAAAA,wBAAwB,CAAC3kB,QAAD,EAAW39G,MAAX,EAAmB65G,KAAnB,EAA0B/G,KAA1B,EAAiCqvB,cAAjC,EAAiDrF,UAAjD,CAAxB;AACH,OAFI,MAGA;AACDh5H,QAAAA,SAAS,IAAIijH,eAAe,CAACjU,KAAD,EAAQ;AAAE;AAAF,UAAmB;AAAE;AAA7B,SAA5B;AACA8pB,QAAAA,yBAAyB,CAAC58H,MAAD,EAAS29G,QAAT,EAAmBwkB,cAAnB,EAAmCE,YAAnC,EAAiDvF,UAAjD,CAAzB;AACH;AACJ;;AACDhqB,IAAAA,KAAK,GAAGsvB,YAAY,GAAGtvB,KAAK,CAACyvB,cAAT,GAA0BzvB,KAAK,CAAC3qG,IAApD;AACH;AACJ;;AACD,SAAS41H,SAAT,CAAmBhrB,KAAnB,EAA0B8G,KAA1B,EAAiC8D,QAAjC,EAA2C39G,MAA3C,EAAmDmiI,cAAnD,EAAmErF,UAAnE,EAA+E;AAC3EoF,EAAAA,UAAU,CAACvkB,QAAD,EAAW39G,MAAX,EAAmB+yG,KAAK,CAAC8P,UAAzB,EAAqChJ,KAArC,EAA4CsoB,cAA5C,EAA4DrF,UAA5D,EAAwE,KAAxE,CAAV;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0F,eAAT,CAAyBzvB,KAAzB,EAAgC8G,KAAhC,EAAuC4oB,eAAvC,EAAwD;AACpD,QAAM9kB,QAAQ,GAAG9D,KAAK,CAAC3B,QAAD,CAAtB;AACA,QAAMkpB,WAAW,GAAGjB,iBAAiB,CAACptB,KAAD,EAAQ0vB,eAAR,EAAyB5oB,KAAzB,CAArC;AACA,QAAMwI,WAAW,GAAGogB,eAAe,CAAChgH,MAAhB,IAA0Bo3F,KAAK,CAAChC,MAAD,CAAnD;AACA,MAAIilB,UAAU,GAAG6D,uBAAuB,CAACte,WAAD,EAAcogB,eAAd,EAA+B5oB,KAA/B,CAAxC;AACAyoB,EAAAA,wBAAwB,CAAC3kB,QAAD,EAAW;AAAE;AAAb,IAA2B9D,KAA3B,EAAkC4oB,eAAlC,EAAmDrB,WAAnD,EAAgEtE,UAAhE,CAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwF,wBAAT,CAAkC3kB,QAAlC,EAA4C39G,MAA5C,EAAoD65G,KAApD,EAA2D4oB,eAA3D,EAA4EN,cAA5E,EAA4FrF,UAA5F,EAAwG;AACpG,QAAM4F,cAAc,GAAG7oB,KAAK,CAACtB,0BAAD,CAA5B;AACA,QAAMoqB,aAAa,GAAGD,cAAc,CAAC7qB,MAAD,CAApC;AACA/zG,EAAAA,SAAS,IACLurG,WAAW,CAAC,OAAOozB,eAAe,CAAC9mB,UAAxB,EAAoC,QAApC,EAA8C,4BAA9C,CADf;AAEA,QAAMinB,qBAAqB,GAAGD,aAAa,CAAChnB,UAAd,CAAyB8mB,eAAe,CAAC9mB,UAAzC,CAA9B;;AACA,MAAI11G,KAAK,CAACC,OAAN,CAAc08H,qBAAd,CAAJ,EAA0C;AACtC;AACA;AACA;AACA;AACA;AACA,SAAK,IAAI/gI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+gI,qBAAqB,CAAC/nI,MAA1C,EAAkDgH,CAAC,EAAnD,EAAuD;AACnD,YAAMm7H,KAAK,GAAG4F,qBAAqB,CAAC/gI,CAAD,CAAnC;AACA+6H,MAAAA,yBAAyB,CAAC58H,MAAD,EAAS29G,QAAT,EAAmBwkB,cAAnB,EAAmCnF,KAAnC,EAA0CF,UAA1C,CAAzB;AACH;AACJ,GAVD,MAWK;AACD,QAAI+F,aAAa,GAAGD,qBAApB;AACA,UAAME,uBAAuB,GAAGJ,cAAc,CAAChrB,MAAD,CAA9C;AACAwqB,IAAAA,UAAU,CAACvkB,QAAD,EAAW39G,MAAX,EAAmB6iI,aAAnB,EAAkCC,uBAAlC,EAA2DX,cAA3D,EAA2ErF,UAA3E,EAAuF,IAAvF,CAAV;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASO,cAAT,CAAwB1f,QAAxB,EAAkC39G,MAAlC,EAA0Ci/G,UAA1C,EAAsDkjB,cAAtD,EAAsErF,UAAtE,EAAkF;AAC9Eh5H,EAAAA,SAAS,IAAI42G,gBAAgB,CAACuE,UAAD,CAA7B;AACA,QAAMl5E,MAAM,GAAGk5E,UAAU,CAACjG,MAAD,CAAzB,CAF8E,CAE3C;;AACnC,QAAMmO,MAAM,GAAGnJ,WAAW,CAACiB,UAAD,CAA1B,CAH8E,CAI9E;AACA;AACA;AACA;AACA;AACA;;AACA,MAAIl5E,MAAM,KAAKohF,MAAf,EAAuB;AACnB;AACA;AACA;AACA;AACAyV,IAAAA,yBAAyB,CAAC58H,MAAD,EAAS29G,QAAT,EAAmBwkB,cAAnB,EAAmCp8F,MAAnC,EAA2C+2F,UAA3C,CAAzB;AACH;;AACD,OAAK,IAAIj7H,CAAC,GAAGs3G,uBAAb,EAAsCt3G,CAAC,GAAGo9G,UAAU,CAACpkH,MAArD,EAA6DgH,CAAC,EAA9D,EAAkE;AAC9D,UAAMg4G,KAAK,GAAGoF,UAAU,CAACp9G,CAAD,CAAxB;AACAk8H,IAAAA,SAAS,CAAClkB,KAAK,CAACrC,KAAD,CAAN,EAAeqC,KAAf,EAAsB8D,QAAtB,EAAgC39G,MAAhC,EAAwCmiI,cAAxC,EAAwDp8F,MAAxD,CAAT;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASg9F,YAAT,CAAsBplB,QAAtB,EAAgCqlB,YAAhC,EAA8ChG,KAA9C,EAAqDn/H,IAArD,EAA2DyB,KAA3D,EAAkE;AAC9D,QAAM2jI,YAAY,GAAGvlB,oBAAoB,CAACC,QAAD,CAAzC;;AACA,MAAIqlB,YAAJ,EAAkB;AACd;AACA,QAAI,CAAC1jI,KAAL,EAAY;AACRwE,MAAAA,SAAS,IAAIA,SAAS,CAAC2vG,mBAAV,EAAb;;AACA,UAAIwvB,YAAJ,EAAkB;AACdtlB,QAAAA,QAAQ,CAAC58F,WAAT,CAAqBi8G,KAArB,EAA4Bn/H,IAA5B;AACH,OAFD,MAGK;AACDm/H,QAAAA,KAAK,CAACjxG,SAAN,CAAgBE,MAAhB,CAAuBpuB,IAAvB;AACH;AACJ,KARD,MASK;AACDiG,MAAAA,SAAS,IAAIA,SAAS,CAAC0vG,gBAAV,EAAb;;AACA,UAAIyvB,YAAJ,EAAkB;AACdtlB,QAAAA,QAAQ,CAAC79F,QAAT,CAAkBk9G,KAAlB,EAAyBn/H,IAAzB;AACH,OAFD,MAGK;AACDiG,QAAAA,SAAS,IAAI+rG,aAAa,CAACmtB,KAAK,CAACjxG,SAAP,EAAkB,sBAAlB,CAA1B;AACAixG,QAAAA,KAAK,CAACjxG,SAAN,CAAgB7e,GAAhB,CAAoBrP,IAApB;AACH;AACJ;AACJ,GArBD,MAsBK;AACD,QAAI4zG,KAAK,GAAG5zG,IAAI,CAACgC,OAAL,CAAa,GAAb,MAAsB,CAAC,CAAvB,GAA2Bb,SAA3B,GAAuCo6H,mBAAmB,CAAC8J,QAAvE;;AACA,QAAI5jI,KAAK,IAAI;AAAK;AAAlB,MAAiD;AAC7CwE,MAAAA,SAAS,IAAIA,SAAS,CAAC6vG,mBAAV,EAAb;;AACA,UAAIsvB,YAAJ,EAAkB;AACdtlB,QAAAA,QAAQ,CAAC5lB,WAAT,CAAqBilC,KAArB,EAA4Bn/H,IAA5B,EAAkC4zG,KAAlC;AACH,OAFD,MAGK;AACDurB,QAAAA,KAAK,CAAC1lI,KAAN,CAAYs6B,cAAZ,CAA2B/zB,IAA3B;AACH;AACJ,KARD,MASK;AACD;AACA;AACA,YAAMslI,WAAW,GAAG,OAAO7jI,KAAP,KAAiB,QAAjB,GAA4BA,KAAK,CAAC27E,QAAN,CAAe,YAAf,CAA5B,GAA2D,KAA/E;;AACA,UAAIkoD,WAAJ,EAAiB;AACb;AACA7jI,QAAAA,KAAK,GAAGA,KAAK,CAAC8W,KAAN,CAAY,CAAZ,EAAe,CAAC,EAAhB,CAAR;AACAq7F,QAAAA,KAAK,IAAI2nB,mBAAmB,CAACgK,SAA7B;AACH;;AACDt/H,MAAAA,SAAS,IAAIA,SAAS,CAAC4vG,gBAAV,EAAb;;AACA,UAAIuvB,YAAJ,EAAkB;AACdtlB,QAAAA,QAAQ,CAAC7lB,QAAT,CAAkBklC,KAAlB,EAAyBn/H,IAAzB,EAA+ByB,KAA/B,EAAsCmyG,KAAtC;AACH,OAFD,MAGK;AACD3tG,QAAAA,SAAS,IAAI+rG,aAAa,CAACmtB,KAAK,CAAC1lI,KAAP,EAAc,sBAAd,CAA1B;AACA0lI,QAAAA,KAAK,CAAC1lI,KAAN,CAAYq6B,WAAZ,CAAwB9zB,IAAxB,EAA8ByB,KAA9B,EAAqC6jI,WAAW,GAAG,WAAH,GAAiB,EAAjE;AACH;AACJ;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,gBAAT,CAA0B1lB,QAA1B,EAAoC1gH,OAApC,EAA6CmzB,QAA7C,EAAuD;AACnDtsB,EAAAA,SAAS,IAAIqrG,YAAY,CAAC/+E,QAAD,EAAW,iCAAX,CAAzB;;AACA,MAAIstF,oBAAoB,CAACC,QAAD,CAAxB,EAAoC;AAChCA,IAAAA,QAAQ,CAAC92G,YAAT,CAAsB5J,OAAtB,EAA+B,OAA/B,EAAwCmzB,QAAxC;AACH,GAFD,MAGK;AACDnzB,IAAAA,OAAO,CAAC3F,KAAR,CAAcgsI,OAAd,GAAwBlzG,QAAxB;AACH;;AACDtsB,EAAAA,SAAS,IAAIA,SAAS,CAAC4vG,gBAAV,EAAb;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6vB,gBAAT,CAA0B5lB,QAA1B,EAAoC1gH,OAApC,EAA6CmzB,QAA7C,EAAuD;AACnDtsB,EAAAA,SAAS,IAAIqrG,YAAY,CAAC/+E,QAAD,EAAW,iCAAX,CAAzB;;AACA,MAAIstF,oBAAoB,CAACC,QAAD,CAAxB,EAAoC;AAChC,QAAIvtF,QAAQ,KAAK,EAAjB,EAAqB;AACjB;AACAutF,MAAAA,QAAQ,CAAC7jF,eAAT,CAAyB78B,OAAzB,EAAkC,OAAlC;AACH,KAHD,MAIK;AACD0gH,MAAAA,QAAQ,CAAC92G,YAAT,CAAsB5J,OAAtB,EAA+B,OAA/B,EAAwCmzB,QAAxC;AACH;AACJ,GARD,MASK;AACDnzB,IAAAA,OAAO,CAAC4pB,SAAR,GAAoBuJ,QAApB;AACH;;AACDtsB,EAAAA,SAAS,IAAIA,SAAS,CAACyvG,oBAAV,EAAb;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,IAAIiwB,MAAJ;AACA;AACA;AACA;AACA;;AACA,SAASC,SAAT,GAAqB;AACjB,MAAID,MAAM,KAAKxkI,SAAf,EAA0B;AACtBwkI,IAAAA,MAAM,GAAG,IAAT;;AACA,QAAIhxB,OAAO,CAACkxB,YAAZ,EAA0B;AACtB,UAAI;AACAF,QAAAA,MAAM,GAAGhxB,OAAO,CAACkxB,YAAR,CAAqBC,YAArB,CAAkC,SAAlC,EAA6C;AAClDC,UAAAA,UAAU,EAAGp2H,CAAD,IAAOA,CAD+B;AAElDq2H,UAAAA,YAAY,EAAGr2H,CAAD,IAAOA,CAF6B;AAGlDs2H,UAAAA,eAAe,EAAGt2H,CAAD,IAAOA;AAH0B,SAA7C,CAAT;AAKH,OAND,CAOA,OAAOulB,EAAP,EAAW,CACP;AACA;AACA;AACA;AACH;AACJ;AACJ;;AACD,SAAOywG,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASO,qBAAT,CAA+BtgF,IAA/B,EAAqC;AACjC,MAAI1wB,EAAJ;;AACA,SAAO,CAAC,CAACA,EAAE,GAAG0wG,SAAS,EAAf,MAAuB,IAAvB,IAA+B1wG,EAAE,KAAK,KAAK,CAA3C,GAA+C,KAAK,CAApD,GAAwDA,EAAE,CAAC6wG,UAAH,CAAcngF,IAAd,CAAzD,KAAiFA,IAAxF;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASugF,uBAAT,CAAiCC,MAAjC,EAAyC;AACrC,MAAIlxG,EAAJ;;AACA,SAAO,CAAC,CAACA,EAAE,GAAG0wG,SAAS,EAAf,MAAuB,IAAvB,IAA+B1wG,EAAE,KAAK,KAAK,CAA3C,GAA+C,KAAK,CAApD,GAAwDA,EAAE,CAAC8wG,YAAH,CAAgBI,MAAhB,CAAzD,KAAqFA,MAA5F;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,0BAAT,CAAoC5pD,GAApC,EAAyC;AACrC,MAAIvnD,EAAJ;;AACA,SAAO,CAAC,CAACA,EAAE,GAAG0wG,SAAS,EAAf,MAAuB,IAAvB,IAA+B1wG,EAAE,KAAK,KAAK,CAA3C,GAA+C,KAAK,CAApD,GAAwDA,EAAE,CAAC+wG,eAAH,CAAmBxpD,GAAnB,CAAzD,KAAqFA,GAA5F;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6pD,wBAAT,CAAkC,GAAGlmH,IAArC,EAA2C;AACvC,MAAI,OAAOna,SAAP,KAAqB,WAAzB,EAAsC;AAClC,UAAM,IAAI3F,KAAJ,CAAU,+DAAV,CAAN;AACH;;AACD,MAAI,CAACq0G,OAAO,CAACkxB,YAAb,EAA2B;AACvB;AACA;AACA,WAAO,IAAItT,QAAJ,CAAa,GAAGnyG,IAAhB,CAAP;AACH,GARsC,CASvC;AACA;AACA;AACA;;;AACA,QAAMmmH,MAAM,GAAGnmH,IAAI,CAAC7H,KAAL,CAAW,CAAX,EAAc,CAAC,CAAf,EAAkBhY,IAAlB,CAAuB,GAAvB,CAAf;AACA,QAAMimI,MAAM,GAAGpmH,IAAI,CAACA,IAAI,CAACpjB,MAAL,GAAc,CAAf,CAAnB;AACA,QAAM4H,IAAI,GAAI,uBAAsB2hI,MAAO;AAC/C,MAAMC,MAAO;AACb,GAFI,CAfuC,CAkBvC;AACA;AACA;;AACA,QAAM7qI,EAAE,GAAGg5G,OAAO,CAAC,MAAD,CAAP,CAAgBwxB,uBAAuB,CAACvhI,IAAD,CAAvC,CAAX;;AACA,MAAIjJ,EAAE,CAAC8qI,IAAH,KAAYtlI,SAAhB,EAA2B;AACvB;AACA;AACA;AACA;AACA,WAAO,IAAIoxH,QAAJ,CAAa,GAAGnyG,IAAhB,CAAP;AACH,GA5BsC,CA6BvC;AACA;AACA;;;AACAzkB,EAAAA,EAAE,CAACmD,QAAH,GAAc,MAAM8F,IAApB,CAhCuC,CAiCvC;;;AACA,SAAOjJ,EAAE,CAAC8qI,IAAH,CAAQ9xB,OAAR,CAAP,CAlCuC,CAmCvC;AACA;AACA;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+xB,yBAAT,CAAmCC,SAAnC,EAA8CC,OAA9C,EAAuDjuC,QAAvD,EAAiE;AAC7D,QAAMqjB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMnN,KAAK,GAAG8Q,gBAAgB,EAA9B;AACA,QAAM3mH,OAAO,GAAGmhH,gBAAgB,CAACtL,KAAD,EAAQ+G,KAAR,CAAhC,CAH6D,CAI7D;AACA;;AACA,MAAI/G,KAAK,CAACh8G,IAAN,KAAe;AAAE;AAAjB,KAAkC2tI,OAAO,CAACj8H,WAAR,OAA0B,QAAhE,EAA0E;AACtE,UAAMk8H,MAAM,GAAGznI,OAAf,CADsE,CAEtE;AACA;;AACAynI,IAAAA,MAAM,CAACt9B,GAAP,GAAa,EAAb;AACAs9B,IAAAA,MAAM,CAACC,MAAP,GAAgBZ,qBAAqB,CAAC,EAAD,CAArC,CALsE,CAMtE;;AACA5G,IAAAA,gBAAgB,CAACtjB,KAAK,CAAC3B,QAAD,CAAN,EAAkBwsB,MAAlB,CAAhB;AACA,UAAM1rH,YAAY,GAAGlV,SAAS,GAAG;AAC5B,uCAAkC0yF,QAAS,iBAA5C,GACK,8BAA6ByiC,0BAA0B,CAACpf,KAAD,CAAQ,IADpE,GAEK,+BAA8BrjB,QAAS,+BAF5C,GAGK,gCAHL,GAIK,6BAA4BA,QAAS,mCAJ1C,GAKK,4CANqB,GAO1B,EAPJ;AAQA,UAAM,IAAIiX,YAAJ,CAAiB;AAAM;AAAvB,MAAkDz0F,YAAlD,CAAN;AACH;;AACD,SAAOwrH,SAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,IAAII,QAAJ;AACA;AACA;AACA;AACA;;AACA,SAASC,WAAT,GAAuB;AACnB,MAAID,QAAQ,KAAK5lI,SAAjB,EAA4B;AACxB4lI,IAAAA,QAAQ,GAAG,IAAX;;AACA,QAAIpyB,OAAO,CAACkxB,YAAZ,EAA0B;AACtB,UAAI;AACAkB,QAAAA,QAAQ,GAAGpyB,OAAO,CAACkxB,YAAR,CACNC,YADM,CACO,uBADP,EACgC;AACvCC,UAAAA,UAAU,EAAGp2H,CAAD,IAAOA,CADoB;AAEvCq2H,UAAAA,YAAY,EAAGr2H,CAAD,IAAOA,CAFkB;AAGvCs2H,UAAAA,eAAe,EAAGt2H,CAAD,IAAOA;AAHe,SADhC,CAAX;AAMH,OAPD,CAQA,OAAOulB,EAAP,EAAW,CACP;AACA;AACA;AACA;AACH;AACJ;AACJ;;AACD,SAAO6xG,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,2BAAT,CAAqCrhF,IAArC,EAA2C;AACvC,MAAI1wB,EAAJ;;AACA,SAAO,CAAC,CAACA,EAAE,GAAG8xG,WAAW,EAAjB,MAAyB,IAAzB,IAAiC9xG,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAAC6wG,UAAH,CAAcngF,IAAd,CAA3D,KAAmFA,IAA1F;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASshF,6BAAT,CAAuCd,MAAvC,EAA+C;AAC3C,MAAIlxG,EAAJ;;AACA,SAAO,CAAC,CAACA,EAAE,GAAG8xG,WAAW,EAAjB,MAAyB,IAAzB,IAAiC9xG,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAAC8wG,YAAH,CAAgBI,MAAhB,CAA3D,KAAuFA,MAA9F;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASe,gCAAT,CAA0C1qD,GAA1C,EAA+C;AAC3C,MAAIvnD,EAAJ;;AACA,SAAO,CAAC,CAACA,EAAE,GAAG8xG,WAAW,EAAjB,MAAyB,IAAzB,IAAiC9xG,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAAC+wG,eAAH,CAAmBxpD,GAAnB,CAA3D,KAAuFA,GAA9F;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2qD,aAAN,CAAoB;AAChBvsI,EAAAA,WAAW,CAACwsI,qCAAD,EAAwC;AAC/C,SAAKA,qCAAL,GAA6CA,qCAA7C;AACH;;AACDvoI,EAAAA,QAAQ,GAAG;AACP,WAAQ,0CAAyC,KAAKuoI,qCAAsC,EAArF,GACF,qCADL;AAEH;;AAPe;;AASpB,MAAMC,YAAN,SAA2BF,aAA3B,CAAyC;AACrC1xC,EAAAA,WAAW,GAAG;AACV,WAAO;AAAO;AAAd;AACH;;AAHoC;;AAKzC,MAAM6xC,aAAN,SAA4BH,aAA5B,CAA0C;AACtC1xC,EAAAA,WAAW,GAAG;AACV,WAAO;AAAQ;AAAf;AACH;;AAHqC;;AAK1C,MAAM8xC,cAAN,SAA6BJ,aAA7B,CAA2C;AACvC1xC,EAAAA,WAAW,GAAG;AACV,WAAO;AAAS;AAAhB;AACH;;AAHsC;;AAK3C,MAAM+xC,WAAN,SAA0BL,aAA1B,CAAwC;AACpC1xC,EAAAA,WAAW,GAAG;AACV,WAAO;AAAM;AAAb;AACH;;AAHmC;;AAKxC,MAAMgyC,mBAAN,SAAkCN,aAAlC,CAAgD;AAC5C1xC,EAAAA,WAAW,GAAG;AACV,WAAO;AAAc;AAArB;AACH;;AAH2C;;AAKhD,SAASiyC,eAAT,CAAyBlmI,KAAzB,EAAgC;AAC5B,SAAOA,KAAK,YAAY2lI,aAAjB,GAAiC3lI,KAAK,CAAC4lI,qCAAvC,GACH5lI,KADJ;AAEH;;AACD,SAASmmI,+BAAT,CAAyCnmI,KAAzC,EAAgDxI,IAAhD,EAAsD;AAClD,QAAM4uI,UAAU,GAAGC,yBAAyB,CAACrmI,KAAD,CAA5C;;AACA,MAAIomI,UAAU,IAAI,IAAd,IAAsBA,UAAU,KAAK5uI,IAAzC,EAA+C;AAC3C;AACA,QAAI4uI,UAAU,KAAK;AAAc;AAA7B,OAAkD5uI,IAAI,KAAK;AAAM;AAArE,MACI,OAAO,IAAP;AACJ,UAAM,IAAIqH,KAAJ,CAAW,mBAAkBrH,IAAK,WAAU4uI,UAAW,qCAAvD,CAAN;AACH;;AACD,SAAOA,UAAU,KAAK5uI,IAAtB;AACH;;AACD,SAAS6uI,yBAAT,CAAmCrmI,KAAnC,EAA0C;AACtC,SAAOA,KAAK,YAAY2lI,aAAjB,IAAkC3lI,KAAK,CAACi0F,WAAN,EAAlC,IAAyD,IAAhE;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqyC,2BAAT,CAAqCC,WAArC,EAAkD;AAC9C,SAAO,IAAIV,YAAJ,CAAiBU,WAAjB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,4BAAT,CAAsCC,YAAtC,EAAoD;AAChD,SAAO,IAAIX,aAAJ,CAAkBW,YAAlB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,6BAAT,CAAuCC,aAAvC,EAAsD;AAClD,SAAO,IAAIZ,cAAJ,CAAmBY,aAAnB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,0BAAT,CAAoCC,UAApC,EAAgD;AAC5C,SAAO,IAAIb,WAAJ,CAAgBa,UAAhB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,kCAAT,CAA4CC,kBAA5C,EAAgE;AAC5D,SAAO,IAAId,mBAAJ,CAAwBc,kBAAxB,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,kBAAT,CAA4BC,UAA5B,EAAwC;AACpC,QAAMC,mBAAmB,GAAG,IAAIC,mBAAJ,CAAwBF,UAAxB,CAA5B;AACA,SAAOG,oBAAoB,KAAK,IAAIC,eAAJ,CAAoBH,mBAApB,CAAL,GAAgDA,mBAA3E;AACH;AACD;AACA;AACA;AACA;;;AACA,MAAMG,eAAN,CAAsB;AAClBjuI,EAAAA,WAAW,CAAC8tI,mBAAD,EAAsB;AAC7B,SAAKA,mBAAL,GAA2BA,mBAA3B;AACH;;AACDI,EAAAA,mBAAmB,CAACnjF,IAAD,EAAO;AACtB;AACA;AACA;AACA;AACAA,IAAAA,IAAI,GAAG,4BAA4BA,IAAnC;;AACA,QAAI;AACA,YAAMhhD,IAAI,GAAG,IAAIlG,MAAM,CAACsqI,SAAX,GACRC,eADQ,CACQ/C,qBAAqB,CAACtgF,IAAD,CAD7B,EACqC,WADrC,EAERhhD,IAFL;;AAGA,UAAIA,IAAI,KAAK,IAAb,EAAmB;AACf;AACA;AACA;AACA,eAAO,KAAK+jI,mBAAL,CAAyBI,mBAAzB,CAA6CnjF,IAA7C,CAAP;AACH;;AACDhhD,MAAAA,IAAI,CAAC6wB,WAAL,CAAiB7wB,IAAI,CAACogH,UAAtB;AACA,aAAOpgH,IAAP;AACH,KAZD,CAaA,OAAOswB,EAAP,EAAW;AACP,aAAO,IAAP;AACH;AACJ;;AA1BiB;AA4BtB;AACA;AACA;AACA;AACA;;;AACA,MAAM0zG,mBAAN,CAA0B;AACtB/tI,EAAAA,WAAW,CAAC6tI,UAAD,EAAa;AACpB,SAAKA,UAAL,GAAkBA,UAAlB;AACA,SAAKQ,aAAL,GAAqB,KAAKR,UAAL,CAAgBS,cAAhB,CAA+BC,kBAA/B,CAAkD,oBAAlD,CAArB;;AACA,QAAI,KAAKF,aAAL,CAAmBtkI,IAAnB,IAA2B,IAA/B,EAAqC;AACjC;AACA;AACA,YAAMykI,SAAS,GAAG,KAAKH,aAAL,CAAmB10G,aAAnB,CAAiC,MAAjC,CAAlB;AACA,WAAK00G,aAAL,CAAmBn0G,WAAnB,CAA+Bs0G,SAA/B;AACA,YAAMC,gBAAgB,GAAG,KAAKJ,aAAL,CAAmB10G,aAAnB,CAAiC,MAAjC,CAAzB;AACA60G,MAAAA,SAAS,CAACt0G,WAAV,CAAsBu0G,gBAAtB;AACH;AACJ;;AACDP,EAAAA,mBAAmB,CAACnjF,IAAD,EAAO;AACtB;AACA,UAAM2jF,UAAU,GAAG,KAAKL,aAAL,CAAmB10G,aAAnB,CAAiC,UAAjC,CAAnB;;AACA,QAAI,aAAa+0G,UAAjB,EAA6B;AACzBA,MAAAA,UAAU,CAACC,SAAX,GAAuBtD,qBAAqB,CAACtgF,IAAD,CAA5C;AACA,aAAO2jF,UAAP;AACH,KANqB,CAOtB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,UAAME,SAAS,GAAG,KAAKP,aAAL,CAAmB10G,aAAnB,CAAiC,MAAjC,CAAlB;AACAi1G,IAAAA,SAAS,CAACD,SAAV,GAAsBtD,qBAAqB,CAACtgF,IAAD,CAA3C,CAfsB,CAgBtB;AACA;;AACA,QAAI,KAAK8iF,UAAL,CAAgBgB,YAApB,EAAkC;AAC9B,WAAKC,kBAAL,CAAwBF,SAAxB;AACH;;AACD,WAAOA,SAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIE,EAAAA,kBAAkB,CAACjuG,EAAD,EAAK;AACnB,UAAMkuG,OAAO,GAAGluG,EAAE,CAACmuG,UAAnB,CADmB,CAEnB;;AACA,SAAK,IAAI7lI,CAAC,GAAG4lI,OAAO,CAAC5sI,MAAR,GAAiB,CAA9B,EAAiC,IAAIgH,CAArC,EAAwCA,CAAC,EAAzC,EAA6C;AACzC,YAAM8lI,MAAM,GAAGF,OAAO,CAACjhI,IAAR,CAAa3E,CAAb,CAAf;AACA,YAAM20F,QAAQ,GAAGmxC,MAAM,CAAC/wI,IAAxB;;AACA,UAAI4/F,QAAQ,KAAK,WAAb,IAA4BA,QAAQ,CAAC32F,OAAT,CAAiB,MAAjB,MAA6B,CAA7D,EAAgE;AAC5D05B,QAAAA,EAAE,CAACO,eAAH,CAAmB08D,QAAnB;AACH;AACJ;;AACD,QAAIoxC,SAAS,GAAGruG,EAAE,CAACspF,UAAnB;;AACA,WAAO+kB,SAAP,EAAkB;AACd,UAAIA,SAAS,CAACtrG,QAAV,KAAuBkM,IAAI,CAACjM,YAAhC,EACI,KAAKirG,kBAAL,CAAwBI,SAAxB;AACJA,MAAAA,SAAS,GAAGA,SAAS,CAAC7iG,WAAtB;AACH;AACJ;;AA5DqB;AA8D1B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2hG,oBAAT,GAAgC;AAC5B,MAAI;AACA,WAAO,CAAC,CAAC,IAAInqI,MAAM,CAACsqI,SAAX,GAAuBC,eAAvB,CAAuC/C,qBAAqB,CAAC,EAAD,CAA5D,EAAkE,WAAlE,CAAT;AACH,GAFD,CAGA,OAAOhxG,EAAP,EAAW;AACP,WAAO,KAAP;AACH;AACJ;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,MAAM80G,gBAAgB,GAAG,iEAAzB;AACA;;AACA,MAAMC,mBAAmB,GAAG,8CAA5B;AACA;;AACA,MAAMC,gBAAgB,GAAG,sIAAzB;;AACA,SAASC,YAAT,CAAsB1tD,GAAtB,EAA2B;AACvBA,EAAAA,GAAG,GAAGp6C,MAAM,CAACo6C,GAAD,CAAZ;AACA,MAAIA,GAAG,CAACz1E,KAAJ,CAAUgjI,gBAAV,KAA+BvtD,GAAG,CAACz1E,KAAJ,CAAUkjI,gBAAV,CAAnC,EACI,OAAOztD,GAAP;;AACJ,MAAI,OAAOx2E,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C0vB,IAAAA,OAAO,CAACC,IAAR,CAAc,wCAAuC6mD,GAAI,qCAAzD;AACH;;AACD,SAAO,YAAYA,GAAnB;AACH;;AACD,SAAS2tD,cAAT,CAAwBC,MAAxB,EAAgC;AAC5BA,EAAAA,MAAM,GAAGhoG,MAAM,CAACgoG,MAAD,CAAf;AACA,SAAOA,MAAM,CAAC79H,KAAP,CAAa,GAAb,EAAkBlL,GAAlB,CAAuB+oI,MAAD,IAAYF,YAAY,CAACE,MAAM,CAACruH,IAAP,EAAD,CAA9C,EAA+Dzb,IAA/D,CAAoE,IAApE,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+pI,MAAT,CAAgBC,IAAhB,EAAsB;AAClB,QAAM7nD,GAAG,GAAG,EAAZ;;AACA,OAAK,MAAM98E,CAAX,IAAgB2kI,IAAI,CAAC/9H,KAAL,CAAW,GAAX,CAAhB,EACIk2E,GAAG,CAAC98E,CAAD,CAAH,GAAS,IAAT;;AACJ,SAAO88E,GAAP;AACH;;AACD,SAAS59B,KAAT,CAAe,GAAG0lF,IAAlB,EAAwB;AACpB,QAAM9nD,GAAG,GAAG,EAAZ;;AACA,OAAK,MAAM/yE,CAAX,IAAgB66H,IAAhB,EAAsB;AAClB,SAAK,MAAM53H,CAAX,IAAgBjD,CAAhB,EAAmB;AACf,UAAIA,CAAC,CAACrI,cAAF,CAAiBsL,CAAjB,CAAJ,EACI8vE,GAAG,CAAC9vE,CAAD,CAAH,GAAS,IAAT;AACP;AACJ;;AACD,SAAO8vE,GAAP;AACH,EACD;AACA;AACA;AACA;AACA;;;AACA,MAAM+nD,aAAa,gBAAGH,MAAM,CAAC,wBAAD,CAA5B,EACA;AACA;;AACA,MAAMI,+BAA+B,gBAAGJ,MAAM,CAAC,gDAAD,CAA9C;AACA,MAAMK,gCAAgC,gBAAGL,MAAM,CAAC,OAAD,CAA/C;AACA,MAAMM,yBAAyB,gBAAG9lF,KAAK,CAAC6lF,gCAAD,EAAmCD,+BAAnC,CAAvC,EACA;;AACA,MAAMG,cAAc,gBAAG/lF,KAAK,CAAC4lF,+BAAD,eAAkCJ,MAAM,CAAC,qBACjE,wGADiE,GAEjE,2EAFgE,CAAxC,CAA5B,EAGA;;AACA,MAAMQ,eAAe,gBAAGhmF,KAAK,CAAC6lF,gCAAD,eAAmCL,MAAM,CAAC,4BACnE,+FADmE,GAEnE,wEAFkE,CAAzC,CAA7B;AAGA,MAAMS,cAAc,gBAAGjmF,KAAK,CAAC2lF,aAAD,EAAgBI,cAAhB,EAAgCC,eAAhC,EAAiDF,yBAAjD,CAA5B,EACA;;AACA,MAAMI,SAAS,gBAAGV,MAAM,CAAC,8DAAD,CAAxB,EACA;;AACA,MAAMW,YAAY,gBAAGX,MAAM,CAAC,QAAD,CAA3B;AACA,MAAMY,UAAU,gBAAGZ,MAAM,CAAC,kHACtB,mGADsB,GAEtB,gIAFsB,GAGtB,0GAHsB,GAItB,2BAJqB,CAAzB,EAKA;;AACA,MAAMa,UAAU,gBAAGb,MAAM,CAAC,4GACtB,sGADsB,GAEtB,kGAFsB,GAGtB,8FAHsB,GAItB,4GAJsB,GAKtB,0GALsB,GAMtB,iFANqB,CAAzB,EAOA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMc,WAAW,gBAAGtmF,KAAK,CAACkmF,SAAD,EAAYC,YAAZ,EAA0BC,UAA1B,EAAsCC,UAAtC,CAAzB,EACA;AACA;AACA;AACA;AACA;;AACA,MAAME,2CAA2C,gBAAGf,MAAM,CAAC,uBAAD,CAA1D;AACA;AACA;AACA;AACA;;AACA,MAAMgB,wBAAN,CAA+B;AAC3BzwI,EAAAA,WAAW,GAAG;AACV;AACA;AACA,SAAK0wI,kBAAL,GAA0B,KAA1B;AACA,SAAKC,GAAL,GAAW,EAAX;AACH;;AACDC,EAAAA,gBAAgB,CAAC/vG,EAAD,EAAK;AACjB;AACA;AACA;AACA,QAAImjF,OAAO,GAAGnjF,EAAE,CAACspF,UAAjB;AACA,QAAI0mB,eAAe,GAAG,IAAtB;;AACA,WAAO7sB,OAAP,EAAgB;AACZ,UAAIA,OAAO,CAACpgF,QAAR,KAAqBkM,IAAI,CAACjM,YAA9B,EAA4C;AACxCgtG,QAAAA,eAAe,GAAG,KAAKC,YAAL,CAAkB9sB,OAAlB,CAAlB;AACH,OAFD,MAGK,IAAIA,OAAO,CAACpgF,QAAR,KAAqBkM,IAAI,CAACihG,SAA9B,EAAyC;AAC1C,aAAKC,KAAL,CAAWhtB,OAAO,CAACitB,SAAnB;AACH,OAFI,MAGA;AACD;AACA,aAAKP,kBAAL,GAA0B,IAA1B;AACH;;AACD,UAAIG,eAAe,IAAI7sB,OAAO,CAACmG,UAA/B,EAA2C;AACvCnG,QAAAA,OAAO,GAAGA,OAAO,CAACmG,UAAlB;AACA;AACH;;AACD,aAAOnG,OAAP,EAAgB;AACZ;AACA,YAAIA,OAAO,CAACpgF,QAAR,KAAqBkM,IAAI,CAACjM,YAA9B,EAA4C;AACxC,eAAKqtG,UAAL,CAAgBltB,OAAhB;AACH;;AACD,YAAIv0G,IAAI,GAAG,KAAK0hI,qBAAL,CAA2BntB,OAA3B,EAAoCA,OAAO,CAAC33E,WAA5C,CAAX;;AACA,YAAI58B,IAAJ,EAAU;AACNu0G,UAAAA,OAAO,GAAGv0G,IAAV;AACA;AACH;;AACDu0G,QAAAA,OAAO,GAAG,KAAKmtB,qBAAL,CAA2BntB,OAA3B,EAAoCA,OAAO,CAAC37G,UAA5C,CAAV;AACH;AACJ;;AACD,WAAO,KAAKsoI,GAAL,CAASjrI,IAAT,CAAc,EAAd,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIorI,EAAAA,YAAY,CAACvsI,OAAD,EAAU;AAClB,UAAMwnI,OAAO,GAAGxnI,OAAO,CAACmlC,QAAR,CAAiB55B,WAAjB,EAAhB;;AACA,QAAI,CAACogI,cAAc,CAACzjI,cAAf,CAA8Bs/H,OAA9B,CAAL,EAA6C;AACzC,WAAK2E,kBAAL,GAA0B,IAA1B;AACA,aAAO,CAACF,2CAA2C,CAAC/jI,cAA5C,CAA2Ds/H,OAA3D,CAAR;AACH;;AACD,SAAK4E,GAAL,CAAS3vI,IAAT,CAAc,GAAd;AACA,SAAK2vI,GAAL,CAAS3vI,IAAT,CAAc+qI,OAAd;AACA,UAAMgD,OAAO,GAAGxqI,OAAO,CAACyqI,UAAxB;;AACA,SAAK,IAAI7lI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4lI,OAAO,CAAC5sI,MAA5B,EAAoCgH,CAAC,EAArC,EAAyC;AACrC,YAAMioI,MAAM,GAAGrC,OAAO,CAACjhI,IAAR,CAAa3E,CAAb,CAAf;AACA,YAAM20F,QAAQ,GAAGszC,MAAM,CAAClzI,IAAxB;AACA,YAAM4kH,KAAK,GAAGhlB,QAAQ,CAAChuF,WAAT,EAAd;;AACA,UAAI,CAACygI,WAAW,CAAC9jI,cAAZ,CAA2Bq2G,KAA3B,CAAL,EAAwC;AACpC,aAAK4tB,kBAAL,GAA0B,IAA1B;AACA;AACH;;AACD,UAAI9pI,KAAK,GAAGwqI,MAAM,CAACxqI,KAAnB,CARqC,CASrC;;AACA,UAAIupI,SAAS,CAACrtB,KAAD,CAAb,EACIl8G,KAAK,GAAG0oI,YAAY,CAAC1oI,KAAD,CAApB;AACJ,UAAIwpI,YAAY,CAACttB,KAAD,CAAhB,EACIl8G,KAAK,GAAG2oI,cAAc,CAAC3oI,KAAD,CAAtB;AACJ,WAAK+pI,GAAL,CAAS3vI,IAAT,CAAc,GAAd,EAAmB88F,QAAnB,EAA6B,IAA7B,EAAmCuzC,cAAc,CAACzqI,KAAD,CAAjD,EAA0D,GAA1D;AACH;;AACD,SAAK+pI,GAAL,CAAS3vI,IAAT,CAAc,GAAd;AACA,WAAO,IAAP;AACH;;AACDkwI,EAAAA,UAAU,CAACltB,OAAD,EAAU;AAChB,UAAM+nB,OAAO,GAAG/nB,OAAO,CAACt6E,QAAR,CAAiB55B,WAAjB,EAAhB;;AACA,QAAIogI,cAAc,CAACzjI,cAAf,CAA8Bs/H,OAA9B,KAA0C,CAAC6D,aAAa,CAACnjI,cAAd,CAA6Bs/H,OAA7B,CAA/C,EAAsF;AAClF,WAAK4E,GAAL,CAAS3vI,IAAT,CAAc,IAAd;AACA,WAAK2vI,GAAL,CAAS3vI,IAAT,CAAc+qI,OAAd;AACA,WAAK4E,GAAL,CAAS3vI,IAAT,CAAc,GAAd;AACH;AACJ;;AACDgwI,EAAAA,KAAK,CAACA,KAAD,EAAQ;AACT,SAAKL,GAAL,CAAS3vI,IAAT,CAAcqwI,cAAc,CAACL,KAAD,CAA5B;AACH;;AACDG,EAAAA,qBAAqB,CAAC5gI,IAAD,EAAOk2F,QAAP,EAAiB;AAClC,QAAIA,QAAQ,IACR,CAACl2F,IAAI,CAAC+gI,uBAAL,CAA6B7qC,QAA7B,IACG32D,IAAI,CAACyhG,8BADT,MAC6CzhG,IAAI,CAACyhG,8BAFtD,EAEsF;AAClF,YAAM,IAAI9rI,KAAJ,CAAW,6DAA4D8K,IAAI,CAACihI,SAAU,EAAtF,CAAN;AACH;;AACD,WAAO/qC,QAAP;AACH;;AAjG0B,EAmG/B;;;AACA,MAAMgrC,qBAAqB,GAAG,iCAA9B,EACA;;AACA,MAAMC,uBAAuB,GAAG,eAAhC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASL,cAAT,CAAwBzqI,KAAxB,EAA+B;AAC3B,SAAOA,KAAK,CAAC2D,OAAN,CAAc,IAAd,EAAoB,OAApB,EACFA,OADE,CACMknI,qBADN,EAC6B,UAAUtlI,KAAV,EAAiB;AACjD,UAAMwlI,EAAE,GAAGxlI,KAAK,CAAC+iH,UAAN,CAAiB,CAAjB,CAAX;AACA,UAAM0iB,GAAG,GAAGzlI,KAAK,CAAC+iH,UAAN,CAAiB,CAAjB,CAAZ;AACA,WAAO,QAAS,CAACyiB,EAAE,GAAG,MAAN,IAAgB,KAAjB,IAA2BC,GAAG,GAAG,MAAjC,IAA2C,OAAnD,IAA8D,GAArE;AACH,GALM,EAMFrnI,OANE,CAMMmnI,uBANN,EAM+B,UAAUvlI,KAAV,EAAiB;AACnD,WAAO,OAAOA,KAAK,CAAC+iH,UAAN,CAAiB,CAAjB,CAAP,GAA6B,GAApC;AACH,GARM,EASF3kH,OATE,CASM,IATN,EASY,MATZ,EAUFA,OAVE,CAUM,IAVN,EAUY,MAVZ,CAAP;AAWH;;AACD,IAAIsnI,eAAJ;AACA;AACA;AACA;AACA;;AACA,SAASC,aAAT,CAAuBjE,UAAvB,EAAmCkE,eAAnC,EAAoD;AAChD,MAAItD,gBAAgB,GAAG,IAAvB;;AACA,MAAI;AACAoD,IAAAA,eAAe,GAAGA,eAAe,IAAIjE,kBAAkB,CAACC,UAAD,CAAvD,CADA,CAEA;;AACA,QAAImE,UAAU,GAAGD,eAAe,GAAGvqG,MAAM,CAACuqG,eAAD,CAAT,GAA6B,EAA7D;AACAtD,IAAAA,gBAAgB,GAAGoD,eAAe,CAAC3D,mBAAhB,CAAoC8D,UAApC,CAAnB,CAJA,CAKA;AACA;;AACA,QAAIC,YAAY,GAAG,CAAnB;AACA,QAAIC,UAAU,GAAGF,UAAjB;;AACA,OAAG;AACC,UAAIC,YAAY,KAAK,CAArB,EAAwB;AACpB,cAAM,IAAIxsI,KAAJ,CAAU,uDAAV,CAAN;AACH;;AACDwsI,MAAAA,YAAY;AACZD,MAAAA,UAAU,GAAGE,UAAb;AACAA,MAAAA,UAAU,GAAGzD,gBAAgB,CAACE,SAA9B;AACAF,MAAAA,gBAAgB,GAAGoD,eAAe,CAAC3D,mBAAhB,CAAoC8D,UAApC,CAAnB;AACH,KARD,QAQSA,UAAU,KAAKE,UARxB;;AASA,UAAMC,SAAS,GAAG,IAAI1B,wBAAJ,EAAlB;AACA,UAAM2B,QAAQ,GAAGD,SAAS,CAACvB,gBAAV,CAA2ByB,kBAAkB,CAAC5D,gBAAD,CAAlB,IAAwCA,gBAAnE,CAAjB;;AACA,QAAI,CAAC,OAAOrjI,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD+mI,SAAS,CAACzB,kBAAjE,EAAqF;AACjF51G,MAAAA,OAAO,CAACC,IAAR,CAAa,kFAAb;AACH;;AACD,WAAOswG,qBAAqB,CAAC+G,QAAD,CAA5B;AACH,GAxBD,SAyBQ;AACJ;AACA,QAAI3D,gBAAJ,EAAsB;AAClB,YAAM1kH,MAAM,GAAGsoH,kBAAkB,CAAC5D,gBAAD,CAAlB,IAAwCA,gBAAvD;;AACA,aAAO1kH,MAAM,CAACogG,UAAd,EAA0B;AACtBpgG,QAAAA,MAAM,CAAC6Q,WAAP,CAAmB7Q,MAAM,CAACogG,UAA1B;AACH;AACJ;AACJ;AACJ;;AACD,SAASkoB,kBAAT,CAA4BxxG,EAA5B,EAAgC;AAC5B,SAAO,aAAaA;AAAG;AAAhB,KAAqDyxG,iBAAiB,CAACzxG,EAAD,CAAtE,GACHA,EAAE,CAACmnC,OADA,GAEH,IAFJ;AAGH;;AACD,SAASsqE,iBAAT,CAA2BzxG,EAA3B,EAA+B;AAC3B,SAAOA,EAAE,CAAC+C,QAAH,KAAgBkM,IAAI,CAACjM,YAArB,IAAqChD,EAAE,CAAC6I,QAAH,KAAgB,UAA5D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAI6oG,eAAe;AAAfA,EAAAA,eAAe,GAAfA,eAAe;AAEfA,EAAAA,eAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,OAAD,CAAf,GAA2B,CAA5B,CAAf,GAAgD,OAAhD;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAA7B,CAAf,GAAiD,QAAjD;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,KAAD,CAAf,GAAyB,CAA1B,CAAf,GAA8C,KAA9C;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,cAAD,CAAf,GAAkC,CAAnC,CAAf,GAAuD,cAAvD;AAPe,SAAfA,eAAe;AAAA,IAAnB;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,cAAT,CAAwBR,UAAxB,EAAoC;AAChC,QAAMG,SAAS,GAAGM,YAAY,EAA9B;;AACA,MAAIN,SAAJ,EAAe;AACX,WAAO/F,2BAA2B,CAAC+F,SAAS,CAACO,QAAV,CAAmBH,eAAe,CAACI,IAAnC,EAAyCX,UAAzC,KAAwD,EAAzD,CAAlC;AACH;;AACD,MAAIjF,+BAA+B,CAACiF,UAAD,EAAa;AAAO;AAApB,GAAnC,EAAoE;AAChE,WAAO5F,2BAA2B,CAACU,eAAe,CAACkF,UAAD,CAAhB,CAAlC;AACH;;AACD,SAAOF,aAAa,CAAChtB,WAAW,EAAZ,EAAgB3P,eAAe,CAAC68B,UAAD,CAA/B,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASY,eAAT,CAAyBC,WAAzB,EAAsC;AAClC,QAAMV,SAAS,GAAGM,YAAY,EAA9B;;AACA,MAAIN,SAAJ,EAAe;AACX,WAAOA,SAAS,CAACO,QAAV,CAAmBH,eAAe,CAACO,KAAnC,EAA0CD,WAA1C,KAA0D,EAAjE;AACH;;AACD,MAAI9F,+BAA+B,CAAC8F,WAAD,EAAc;AAAQ;AAAtB,GAAnC,EAAuE;AACnE,WAAO/F,eAAe,CAAC+F,WAAD,CAAtB;AACH;;AACD,SAAO19B,eAAe,CAAC09B,WAAD,CAAtB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,aAAT,CAAuBC,SAAvB,EAAkC;AAC9B,QAAMb,SAAS,GAAGM,YAAY,EAA9B;;AACA,MAAIN,SAAJ,EAAe;AACX,WAAOA,SAAS,CAACO,QAAV,CAAmBH,eAAe,CAACU,GAAnC,EAAwCD,SAAxC,KAAsD,EAA7D;AACH;;AACD,MAAIjG,+BAA+B,CAACiG,SAAD,EAAY;AAAM;AAAlB,GAAnC,EAAiE;AAC7D,WAAOlG,eAAe,CAACkG,SAAD,CAAtB;AACH;;AACD,SAAO1D,YAAY,CAACn6B,eAAe,CAAC69B,SAAD,CAAhB,CAAnB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,qBAAT,CAA+BC,iBAA/B,EAAkD;AAC9C,QAAMhB,SAAS,GAAGM,YAAY,EAA9B;;AACA,MAAIN,SAAJ,EAAe;AACX,WAAO7F,gCAAgC,CAAC6F,SAAS,CAACO,QAAV,CAAmBH,eAAe,CAACa,YAAnC,EAAiDD,iBAAjD,KAAuE,EAAxE,CAAvC;AACH;;AACD,MAAIpG,+BAA+B,CAACoG,iBAAD,EAAoB;AAAc;AAAlC,GAAnC,EAAyF;AACrF,WAAO7G,gCAAgC,CAACQ,eAAe,CAACqG,iBAAD,CAAhB,CAAvC;AACH;;AACD,QAAM,IAAI1tI,KAAJ,CAAU,gFAAV,CAAN;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4tI,gBAAT,CAA0BC,YAA1B,EAAwC;AACpC,QAAMnB,SAAS,GAAGM,YAAY,EAA9B;;AACA,MAAIN,SAAJ,EAAe;AACX,WAAO9F,6BAA6B,CAAC8F,SAAS,CAACO,QAAV,CAAmBH,eAAe,CAACgB,MAAnC,EAA2CD,YAA3C,KAA4D,EAA7D,CAApC;AACH;;AACD,MAAIvG,+BAA+B,CAACuG,YAAD,EAAe;AAAS;AAAxB,GAAnC,EAA0E;AACtE,WAAOjH,6BAA6B,CAACS,eAAe,CAACwG,YAAD,CAAhB,CAApC;AACH;;AACD,QAAM,IAAI7tI,KAAJ,CAAU,uCAAV,CAAN;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+tI,mBAAT,CAA6BzoF,IAA7B,EAAmC;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,MAAI3/C,SAAS,KAAK,CAACmC,KAAK,CAACC,OAAN,CAAcu9C,IAAd,CAAD,IAAwB,CAACx9C,KAAK,CAACC,OAAN,CAAcu9C,IAAI,CAAC0oF,GAAnB,CAAzB,IAAoD1oF,IAAI,CAAC5oD,MAAL,KAAgB,CAAzE,CAAb,EAA0F;AACtF,UAAM,IAAIsD,KAAJ,CAAW,sDAAqDslD,IAAI,CAACrlD,IAAL,CAAU,GAAV,CAAe,EAA/E,CAAN;AACH;;AACD,SAAO2lI,qBAAqB,CAACtgF,IAAI,CAAC,CAAD,CAAL,CAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2oF,0BAAT,CAAoC9xD,GAApC,EAAyC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,MAAIx2E,SAAS,KAAK,CAACmC,KAAK,CAACC,OAAN,CAAco0E,GAAd,CAAD,IAAuB,CAACr0E,KAAK,CAACC,OAAN,CAAco0E,GAAG,CAAC6xD,GAAlB,CAAxB,IAAkD7xD,GAAG,CAACz/E,MAAJ,KAAe,CAAtE,CAAb,EAAuF;AACnF,UAAM,IAAIsD,KAAJ,CAAW,qDAAoDm8E,GAAG,CAACl8E,IAAJ,CAAS,GAAT,CAAc,EAA7E,CAAN;AACH;;AACD,SAAO8lI,0BAA0B,CAAC5pD,GAAG,CAAC,CAAD,CAAJ,CAAjC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+xD,eAAT,CAAyBC,GAAzB,EAA8BzuI,IAA9B,EAAoC;AAChC,MAAKA,IAAI,KAAK,KAAT,KACAyuI,GAAG,KAAK,OAAR,IAAmBA,GAAG,KAAK,OAA3B,IAAsCA,GAAG,KAAK,QAA9C,IAA0DA,GAAG,KAAK,OAAlE,IACGA,GAAG,KAAK,QAFX,CAAD,IAGCzuI,IAAI,KAAK,MAAT,KAAoByuI,GAAG,KAAK,MAAR,IAAkBA,GAAG,KAAK,MAA9C,CAHL,EAG6D;AACzD,WAAOV,qBAAP;AACH;;AACD,SAAOH,aAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASc,0BAAT,CAAoCb,SAApC,EAA+CY,GAA/C,EAAoDzuI,IAApD,EAA0D;AACtD,SAAOwuI,eAAe,CAACC,GAAD,EAAMzuI,IAAN,CAAf,CAA2B6tI,SAA3B,CAAP;AACH;;AACD,SAASc,8BAAT,CAAwC51I,IAAxC,EAA8C;AAC1C,MAAIA,IAAI,CAAC4R,WAAL,GAAmB9B,UAAnB,CAA8B,IAA9B,CAAJ,EAAyC;AACrC,UAAMkoG,GAAG,GAAI,8BAA6Bh4G,IAAK,wCAAnC,GACP,eAAcA,IAAI,CAACwf,KAAL,CAAW,CAAX,CAAc,OADrB,GAEP,SAAQxf,IAAK,oEAFN,GAGP,kBAHL;AAIA,UAAM,IAAIuH,KAAJ,CAAUywG,GAAV,CAAN;AACH;AACJ;;AACD,SAAS69B,8BAAT,CAAwC71I,IAAxC,EAA8C;AAC1C,MAAIA,IAAI,CAAC4R,WAAL,GAAmB9B,UAAnB,CAA8B,IAA9B,CAAJ,EAAyC;AACrC,UAAMkoG,GAAG,GAAI,+BAA8Bh4G,IAAK,wCAApC,GACP,eAAcA,IAAI,CAACwf,KAAL,CAAW,CAAX,CAAc,OADjC;AAEA,UAAM,IAAIjY,KAAJ,CAAUywG,GAAV,CAAN;AACH;AACJ;;AACD,SAASu8B,YAAT,GAAwB;AACpB,QAAMtxB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,SAAOpG,KAAK,IAAIA,KAAK,CAAC1B,SAAD,CAArB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMu0B,UAAU,GAAG,QAAnB;AACA,MAAMC,mBAAmB,GAAG,gBAA5B;AACA,MAAMC,oBAAoB,GAAG,iBAA7B;AACA,MAAMC,YAAY,GAAG,eAArB;;AACA,SAASC,YAAT,CAAsBryG,OAAtB,EAA+BsyG,aAA/B,EAA8C;AAC1C,QAAMn+B,GAAG,GAAI,GAAEn0E,OAAQ,eAAcsyG,aAAa,YAAY5uI,KAAzB,GAAiC4uI,aAAa,CAACtyG,OAA/C,GAAyDsyG,aAAc,EAA5G;AACA,QAAMvlH,KAAK,GAAGrpB,KAAK,CAACywG,GAAD,CAAnB;AACApnF,EAAAA,KAAK,CAAColH,oBAAD,CAAL,GAA8BG,aAA9B;AACA,SAAOvlH,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwlH,OAAT,CAAiBxlH,KAAjB,EAAwB;AACpB,SAAOA,KAAK,CAACklH,UAAD,CAAZ;AACH;;AACD,SAASO,eAAT,CAAyBzlH,KAAzB,EAAgC;AAC5B,SAAOA,KAAK,CAACmlH,mBAAD,CAAZ;AACH;;AACD,SAASO,gBAAT,CAA0B1lH,KAA1B,EAAiC;AAC7B,SAAOA,KAAK,CAAColH,oBAAD,CAAZ;AACH;;AACD,SAASO,cAAT,CAAwB3lH,KAAxB,EAA+B;AAC3B,SAAOA,KAAK,IAAIA,KAAK,CAACqlH,YAAD,CAAd,IAAgCO,kBAAvC;AACH;;AACD,SAASA,kBAAT,CAA4B55G,OAA5B,EAAqC,GAAGnmB,MAAxC,EAAgD;AAC5CmmB,EAAAA,OAAO,CAAChM,KAAR,CAAc,GAAGna,MAAjB;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,MAAMggI,YAAN,CAAmB;AACf30I,EAAAA,WAAW,GAAG;AACV;AACR;AACA;AACQ,SAAK40I,QAAL,GAAgB95G,OAAhB;AACH;;AACD+5G,EAAAA,WAAW,CAAC/lH,KAAD,EAAQ;AACf,UAAMulH,aAAa,GAAG,KAAKS,kBAAL,CAAwBhmH,KAAxB,CAAtB;;AACA,UAAMte,OAAO,GAAG,KAAKukI,YAAL,CAAkBjmH,KAAlB,CAAhB,CAFe,CAGf;AACA;;;AACA,UAAMkmH,WAAW,GAAGP,cAAc,CAAC3lH,KAAD,CAAlC;AACAkmH,IAAAA,WAAW,CAAC,KAAKJ,QAAN,EAAiB,OAAjB,EAAyB9lH,KAAzB,CAAX;;AACA,QAAIulH,aAAJ,EAAmB;AACfW,MAAAA,WAAW,CAAC,KAAKJ,QAAN,EAAiB,gBAAjB,EAAkCP,aAAlC,CAAX;AACH;;AACD,QAAI7jI,OAAJ,EAAa;AACTwkI,MAAAA,WAAW,CAAC,KAAKJ,QAAN,EAAgB,eAAhB,EAAiCpkI,OAAjC,CAAX;AACH;AACJ;AACD;;;AACAukI,EAAAA,YAAY,CAACjmH,KAAD,EAAQ;AAChB,WAAOA,KAAK,GAAIylH,eAAe,CAACzlH,KAAD,CAAf,IAA0B,KAAKimH,YAAL,CAAkBP,gBAAgB,CAAC1lH,KAAD,CAAlC,CAA9B,GAA4E,IAAxF;AACH;AACD;;;AACAgmH,EAAAA,kBAAkB,CAAChmH,KAAD,EAAQ;AACtB,QAAI9oB,CAAC,GAAG8oB,KAAK,IAAI0lH,gBAAgB,CAAC1lH,KAAD,CAAjC;;AACA,WAAO9oB,CAAC,IAAIwuI,gBAAgB,CAACxuI,CAAD,CAA5B,EAAiC;AAC7BA,MAAAA,CAAC,GAAGwuI,gBAAgB,CAACxuI,CAAD,CAApB;AACH;;AACD,WAAOA,CAAC,IAAI,IAAZ;AACH;;AAhCc;AAmCnB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMivI,sBAAsB,GAAG;AAC3B/2I,EAAAA,IAAI,EAAE;AADqB,CAA/B;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMg3I,gBAAgB,GAAG;AACrBh3I,EAAAA,IAAI,EAAE;AADe,CAAzB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASi3I,oBAAT,CAA8Bj3I,IAA9B,EAAoC;AAChC;AACA,MAAIkN,SAAJ,EAAe;AACX,QAAI;AACA;AACA;AACA;AACA,aAAQqgI,wBAAwB,CAAC,OAAD,EAAW,gBAAevtI,IAAK,kBAA/B,CAAzB,CAA4EqP,KAA5E,CAAP;AACH,KALD,CAMA,OAAOvH,CAAP,EAAU;AACN;AACA,aAAOuH,KAAP;AACH;AACJ,GAXD,MAYK;AACD,UAAM,IAAI9H,KAAJ,CAAU,6GAAV,CAAN;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2vI,yBAAT,CAAmCl3I,IAAnC,EAAyC;AACrC;AACAA,EAAAA,IAAI,GAAGgQ,mBAAmB,CAAChQ,IAAI,CAACqM,OAAL,CAAa,OAAb,EAAsB,GAAtB,CAAD,CAA1B;AACA,SAAQ,cAAarM,IAAK,EAA1B;AACH;;AACD,MAAMm3I,iBAAiB,GAAG,UAA1B;;AACA,SAASnnI,mBAAT,CAA6B0B,KAA7B,EAAoC;AAChC,SAAOA,KAAK,CAACrF,OAAN,CAAc8qI,iBAAd,EAAiC,CAAC,GAAGxlI,CAAJ,KAAU,MAAMA,CAAC,CAAC,CAAD,CAAD,CAAKC,WAAL,EAAjD,CAAP;AACH;;AACD,SAASwlI,0BAAT,CAAoC1uI,KAApC,EAA2C;AACvC,MAAI;AACA;AACA,WAAOA,KAAK,IAAI,IAAT,GAAgBA,KAAK,CAAC3C,QAAN,GAAiByZ,KAAjB,CAAuB,CAAvB,EAA0B,EAA1B,CAAhB,GAAgD9W,KAAvD;AACH,GAHD,CAIA,OAAOZ,CAAP,EAAU;AACN,WAAO,uDAAP;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMuvI,IAAI,GAAG,MAAM,CAAC,OAAO3gF,qBAAP,KAAiC,WAAjC,IAChBA,qBADgB,IACS;AACzBtkB,UAFe,CAEJ;AAFI,EAIds7F,IAJc,CAIT9xB,OAJS,CAAnB;;AAKA,MAAM07B,gBAAgB,gBAAID,IAAD,EAAzB;AACA;AACA;AACA;AACA;;AACA,SAASE,eAAT,CAAyBlxI,OAAzB,EAAkC;AAC9B,SAAOA,OAAO,CAAC0mC,aAAR,CAAsBC,WAA7B;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASwqG,iBAAT,CAA2BnxI,OAA3B,EAAoC;AAChC,SAAOA,OAAO,CAAC0mC,aAAf;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS0qG,aAAT,CAAuBpxI,OAAvB,EAAgC;AAC5B,SAAOA,OAAO,CAAC0mC,aAAR,CAAsBlhC,IAA7B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM6rI,uBAAuB,GAAI,GAAjC;AACA;AACA;AACA;;AACA,SAASC,aAAT,CAAuBjvI,KAAvB,EAA8B;AAC1B,MAAIA,KAAK,YAAY8wH,QAArB,EAA+B;AAC3B,WAAO9wH,KAAK,EAAZ;AACH,GAFD,MAGK;AACD,WAAOA,KAAP;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAASkvI,2BAAT,CAAqC17B,KAArC,EAA4C;AACxC,QAAM,IAAIrF,YAAJ,CAAiB;AAAM;AAAvB,IAAyD,+CAA8CqF,KAAK,CAACxzG,KAAM,EAAnH,CAAN;AACH;AACD;;;AACA,SAASmvI,yBAAT,CAAmCC,YAAnC,EAAiD1jH,QAAjD,EAA2D2jH,SAA3D,EAAsE1gB,QAAtE,EAAgF;AAC5E,QAAMvd,KAAK,GAAGud,QAAQ,GAAI,SAAQA,QAAS,GAArB,GAA0B,EAAhD;AACA,MAAIrf,GAAG,GAAI,2GAA0G8B,KAAM,MAAK1lF,QAAS,sBAAqB2jH,SAAU,IAAxK;;AACA,MAAID,YAAJ,EAAkB;AACd9/B,IAAAA,GAAG,IACE,qGAAD,GACK,kDAFT;AAGH,GAP2E,CAQ5E;AACA;;;AACA,QAAM,IAAInB,YAAJ,CAAiB;AAAM;AAAvB,IAA+DmB,GAA/D,CAAN;AACH;;AACD,SAASggC,gCAAT,CAA0C/0B,KAA1C,EAAiDg1B,SAAjD,EAA4DC,eAA5D,EAA6ElgB,IAA7E,EAAmFmgB,YAAnF,EAAiG;AAC7F,QAAM,CAAC9gB,QAAD,EAAW+gB,MAAX,EAAmB,GAAGC,MAAtB,IAAgCrgB,IAAI,CAACvkH,KAAL,CAAWikI,uBAAX,CAAtC;AACA,MAAItjH,QAAQ,GAAGgkH,MAAf;AAAA,MAAuB5+G,QAAQ,GAAG4+G,MAAlC;;AACA,OAAK,IAAIntI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGotI,MAAM,CAACp0I,MAA3B,EAAmCgH,CAAC,EAApC,EAAwC;AACpC,UAAMggI,OAAO,GAAGgN,SAAS,GAAGhtI,CAA5B;AACAmpB,IAAAA,QAAQ,IAAK,GAAE6uF,KAAK,CAACgoB,OAAD,CAAU,GAAEoN,MAAM,CAACptI,CAAD,CAAI,EAA1C;AACAuuB,IAAAA,QAAQ,IAAK,GAAEyxG,OAAO,KAAKiN,eAAZ,GAA8BC,YAA9B,GAA6Cl1B,KAAK,CAACgoB,OAAD,CAAU,GAAEoN,MAAM,CAACptI,CAAD,CAAI,EAAvF;AACH;;AACD,SAAO;AAAEosH,IAAAA,QAAF;AAAYjjG,IAAAA,QAAZ;AAAsBoF,IAAAA;AAAtB,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8+G,gCAAT,CAA0Cr1B,KAA1C,EAAiDsH,YAAjD,EAA+Dn2F,QAA/D,EAAyEoF,QAAzE,EAAmF;AAC/E,QAAM2xF,KAAK,GAAGlI,KAAK,CAACrC,KAAD,CAAL,CAAav4G,IAA3B;AACA,QAAMyM,QAAQ,GAAGq2G,KAAK,CAACZ,YAAD,CAAtB;;AACA,MAAI,OAAOz1G,QAAP,KAAoB,QAAxB,EAAkC;AAC9B;AACA,QAAIA,QAAQ,CAAC7L,OAAT,CAAiByuI,uBAAjB,IAA4C,CAAC,CAAjD,EAAoD;AAChD,aAAOM,gCAAgC,CAAC/0B,KAAD,EAAQsH,YAAR,EAAsBA,YAAtB,EAAoCz1G,QAApC,EAA8C0kB,QAA9C,CAAvC;AACH,KAJ6B,CAK9B;;;AACA,WAAO;AAAE69F,MAAAA,QAAQ,EAAEviH,QAAZ;AAAsBsf,MAAAA,QAAtB;AAAgCoF,MAAAA;AAAhC,KAAP;AACH,GAV8E,CAW/E;AACA;AACA;AACA;;;AACA,MAAI1kB,QAAQ,KAAK,IAAjB,EAAuB;AACnB,QAAI03F,GAAG,GAAG+d,YAAY,GAAG,CAAzB;;AACA,WAAO,OAAOY,KAAK,CAAC3e,GAAD,CAAZ,KAAsB,QAAtB,IAAkC2e,KAAK,CAAC3e,GAAG,GAAG,CAAP,CAAL,KAAmB,IAA5D,EAAkE;AAC9DA,MAAAA,GAAG;AACN;;AACD,UAAMwrB,IAAI,GAAG7M,KAAK,CAAC3e,GAAD,CAAlB;;AACA,QAAI,OAAOwrB,IAAP,KAAgB,QAApB,EAA8B;AAC1B,YAAM1tH,OAAO,GAAG0tH,IAAI,CAAC/pH,KAAL,CAAW,IAAI2C,MAAJ,CAAW8mI,uBAAX,EAAoC,GAApC,CAAX,CAAhB,CAD0B,CAE1B;AACA;;AACA,UAAIptI,OAAO,IAAKA,OAAO,CAACrG,MAAR,GAAiB,CAAlB,GAAuBsmH,YAAY,GAAG/d,GAArD,EAA0D;AACtD,eAAOwrC,gCAAgC,CAAC/0B,KAAD,EAAQzW,GAAR,EAAa+d,YAAb,EAA2ByN,IAA3B,EAAiCx+F,QAAjC,CAAvC;AACH;AACJ;AACJ;;AACD,SAAO;AAAE69F,IAAAA,QAAQ,EAAEjvH,SAAZ;AAAuBgsB,IAAAA,QAAvB;AAAiCoF,IAAAA;AAAjC,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS++G,YAAT,CAAsBtoH,SAAtB,EAAiCuoH,aAAjC,EAAgDnjB,aAAhD,EAA+D;AAC3DnoH,EAAAA,SAAS,IAAIyrG,cAAc,CAAC6/B,aAAD,EAAgB,EAAhB,EAAoB,6BAApB,CAA3B;AACA,MAAI7mE,GAAG,GAAG1hD,SAAS,CAAChsB,MAApB;;AACA,SAAO,IAAP,EAAa;AACT,UAAMw0I,UAAU,GAAGxoH,SAAS,CAAChnB,OAAV,CAAkBuvI,aAAlB,EAAiCnjB,aAAjC,CAAnB;AACA,QAAIojB,UAAU,KAAK,CAAC,CAApB,EACI,OAAOA,UAAP;;AACJ,QAAIA,UAAU,KAAK,CAAf,IAAoBxoH,SAAS,CAAC+gG,UAAV,CAAqBynB,UAAU,GAAG,CAAlC,KAAwC;AAAG;AAAnE,MAAgF;AAC5E;AACA,YAAMx0I,MAAM,GAAGu0I,aAAa,CAACv0I,MAA7B;;AACA,UAAIw0I,UAAU,GAAGx0I,MAAb,KAAwB0tE,GAAxB,IACA1hD,SAAS,CAAC+gG,UAAV,CAAqBynB,UAAU,GAAGx0I,MAAlC,KAA6C;AAAG;AADpD,QACiE;AAC7D;AACA,eAAOw0I,UAAP;AACH;AACJ,KAZQ,CAaT;;;AACApjB,IAAAA,aAAa,GAAGojB,UAAU,GAAG,CAA7B;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,yBAAyB,GAAG1oB,+BAA+B,GAAGqV,+BAApE;AACA,MAAMsT,oBAAoB,GAAG,aAA7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,kBAAT,CAA4BpoB,KAA5B,EAAmCqoB,eAAnC,EAAoDC,gBAApD,EAAsE;AAClE;AACA;AACA;AACA;AACA5rI,EAAAA,SAAS,IACLurG,WAAW,CAACogC,eAAD,EAAkBA,eAAe,CAACjnI,WAAhB,EAAlB,EAAiD,sCAAjD,CADf;AAEA,MAAI3G,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGulH,KAAK,CAACvsH,MAAjB,EAAyB;AACrB,QAAI2L,IAAI,GAAG4gH,KAAK,CAACvlH,CAAC,EAAF,CAAhB;;AACA,QAAI6tI,gBAAgB,IAAIlpI,IAAI,KAAK,OAAjC,EAA0C;AACtCA,MAAAA,IAAI,GAAG4gH,KAAK,CAACvlH,CAAD,CAAZ;;AACA,UAAIstI,YAAY,CAAC3oI,IAAI,CAACgC,WAAL,EAAD,EAAqBinI,eAArB,EAAsC,CAAtC,CAAZ,KAAyD,CAAC,CAA9D,EAAiE;AAC7D,eAAO,IAAP;AACH;AACJ,KALD,MAMK,IAAIjpI,IAAI,KAAK;AAAE;AAAf,MAA8B;AAC/B;AACA,aAAO3E,CAAC,GAAGulH,KAAK,CAACvsH,MAAV,IAAoB,QAAQ2L,IAAI,GAAG4gH,KAAK,CAACvlH,CAAC,EAAF,CAApB,KAA8B,QAAzD,EAAmE;AAC/D;AACA,YAAI2E,IAAI,CAACgC,WAAL,OAAuBinI,eAA3B,EACI,OAAO,IAAP;AACP;;AACD,aAAO,KAAP;AACH;AACJ;;AACD,SAAO,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASE,gBAAT,CAA0B78B,KAA1B,EAAiC;AAC7B,SAAOA,KAAK,CAACh8G,IAAN,KAAe;AAAE;AAAjB,KAAoCg8G,KAAK,CAACxzG,KAAN,KAAgBiwI,oBAA3D;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASK,kBAAT,CAA4B98B,KAA5B,EAAmC+8B,eAAnC,EAAoDH,gBAApD,EAAsE;AAClE,QAAMI,gBAAgB,GAAGh9B,KAAK,CAACh8G,IAAN,KAAe;AAAE;AAAjB,KAAoC,CAAC44I,gBAArC,GAAwDH,oBAAxD,GAA+Ez8B,KAAK,CAACxzG,KAA9G;AACA,SAAOuwI,eAAe,KAAKC,gBAA3B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgCj9B,KAAhC,EAAuC56G,QAAvC,EAAiDw3I,gBAAjD,EAAmE;AAC/D5rI,EAAAA,SAAS,IAAI+rG,aAAa,CAAC33G,QAAQ,CAAC,CAAD,CAAT,EAAc,iCAAd,CAA1B;AACA,MAAI85C,IAAI,GAAG;AAAE;AAAb;AACA,QAAMg+F,SAAS,GAAGl9B,KAAK,CAACsU,KAAN,IAAe,EAAjC,CAH+D,CAI/D;;AACA,QAAM6oB,iBAAiB,GAAGC,sBAAsB,CAACF,SAAD,CAAhD,CAL+D,CAM/D;AACA;;AACA,MAAIG,kBAAkB,GAAG,KAAzB;;AACA,OAAK,IAAItuI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG3J,QAAQ,CAAC2C,MAA7B,EAAqCgH,CAAC,EAAtC,EAA0C;AACtC,UAAM66G,OAAO,GAAGxkH,QAAQ,CAAC2J,CAAD,CAAxB;;AACA,QAAI,OAAO66G,OAAP,KAAmB,QAAvB,EAAiC;AAC7B;AACA,UAAI,CAACyzB,kBAAD,IAAuB,CAACC,UAAU,CAACp+F,IAAD,CAAlC,IAA4C,CAACo+F,UAAU,CAAC1zB,OAAD,CAA3D,EAAsE;AAClE,eAAO,KAAP;AACH,OAJ4B,CAK7B;AACA;;;AACA,UAAIyzB,kBAAkB,IAAIC,UAAU,CAAC1zB,OAAD,CAApC,EACI;AACJyzB,MAAAA,kBAAkB,GAAG,KAArB;AACAn+F,MAAAA,IAAI,GAAG0qE,OAAO,GAAI1qE,IAAI,GAAG;AAAE;AAA3B;AACA;AACH;;AACD,QAAIm+F,kBAAJ,EACI;;AACJ,QAAIn+F,IAAI,GAAG;AAAE;AAAb,MAA4B;AACxBA,MAAAA,IAAI,GAAG;AAAE;AAAF,QAAoBA,IAAI,GAAG;AAAE;AAApC;;AACA,UAAI0qE,OAAO,KAAK,EAAZ,IAAkB,CAACkzB,kBAAkB,CAAC98B,KAAD,EAAQ4J,OAAR,EAAiBgzB,gBAAjB,CAArC,IACAhzB,OAAO,KAAK,EAAZ,IAAkBxkH,QAAQ,CAAC2C,MAAT,KAAoB,CAD1C,EAC6C;AACzC,YAAIu1I,UAAU,CAACp+F,IAAD,CAAd,EACI,OAAO,KAAP;AACJm+F,QAAAA,kBAAkB,GAAG,IAArB;AACH;AACJ,KARD,MASK;AACD,YAAME,iBAAiB,GAAGr+F,IAAI,GAAG;AAAE;AAAT,QAAuB0qE,OAAvB,GAAiCxkH,QAAQ,CAAC,EAAE2J,CAAH,CAAnE,CADC,CAED;AACA;;AACA,UAAKmwC,IAAI,GAAG;AAAE;AAAV,SAA0B8gE,KAAK,CAACsU,KAAN,KAAgB,IAA9C,EAAoD;AAChD,YAAI,CAACooB,kBAAkB,CAAC18B,KAAK,CAACsU,KAAP,EAAcipB,iBAAd,EAAiCX,gBAAjC,CAAvB,EAA2E;AACvE,cAAIU,UAAU,CAACp+F,IAAD,CAAd,EACI,OAAO,KAAP;AACJm+F,UAAAA,kBAAkB,GAAG,IAArB;AACH;;AACD;AACH;;AACD,YAAM35C,QAAQ,GAAIxkD,IAAI,GAAG;AAAE;AAAV,QAAyB,OAAzB,GAAmC0qE,OAApD;AACA,YAAM4zB,eAAe,GAAGC,mBAAmB,CAAC/5C,QAAD,EAAWw5C,SAAX,EAAsBL,gBAAgB,CAAC78B,KAAD,CAAtC,EAA+C48B,gBAA/C,CAA3C;;AACA,UAAIY,eAAe,KAAK,CAAC,CAAzB,EAA4B;AACxB,YAAIF,UAAU,CAACp+F,IAAD,CAAd,EACI,OAAO,KAAP;AACJm+F,QAAAA,kBAAkB,GAAG,IAArB;AACA;AACH;;AACD,UAAIE,iBAAiB,KAAK,EAA1B,EAA8B;AAC1B,YAAIG,aAAJ;;AACA,YAAIF,eAAe,GAAGL,iBAAtB,EAAyC;AACrCO,UAAAA,aAAa,GAAG,EAAhB;AACH,SAFD,MAGK;AACD1sI,UAAAA,SAAS,IACLyrG,cAAc,CAACygC,SAAS,CAACM,eAAD,CAAV,EAA6B;AAAE;AAA/B,YAAmD,qDAAnD,CADlB,CADC,CAGD;AACA;AACA;;AACAE,UAAAA,aAAa,GAAGR,SAAS,CAACM,eAAe,GAAG,CAAnB,CAAT,CAA+B9nI,WAA/B,EAAhB;AACH;;AACD,cAAMioI,uBAAuB,GAAGz+F,IAAI,GAAG;AAAE;AAAT,UAAuBw+F,aAAvB,GAAuC,IAAvE;;AACA,YAAIC,uBAAuB,IACvBtB,YAAY,CAACsB,uBAAD,EAA0BJ,iBAA1B,EAA6C,CAA7C,CAAZ,KAAgE,CAAC,CADjE,IAEAr+F,IAAI,GAAG;AAAE;AAAT,WAA4Bq+F,iBAAiB,KAAKG,aAFtD,EAEqE;AACjE,cAAIJ,UAAU,CAACp+F,IAAD,CAAd,EACI,OAAO,KAAP;AACJm+F,UAAAA,kBAAkB,GAAG,IAArB;AACH;AACJ;AACJ;AACJ;;AACD,SAAOC,UAAU,CAACp+F,IAAD,CAAV,IAAoBm+F,kBAA3B;AACH;;AACD,SAASC,UAAT,CAAoBp+F,IAApB,EAA0B;AACtB,SAAO,CAACA,IAAI,GAAG;AAAE;AAAV,QAAyB,CAAhC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASu+F,mBAAT,CAA6B35I,IAA7B,EAAmCwwH,KAAnC,EAA0CuoB,gBAA1C,EAA4DD,gBAA5D,EAA8E;AAC1E,MAAItoB,KAAK,KAAK,IAAd,EACI,OAAO,CAAC,CAAR;AACJ,MAAIvlH,CAAC,GAAG,CAAR;;AACA,MAAI6tI,gBAAgB,IAAI,CAACC,gBAAzB,EAA2C;AACvC,QAAIe,YAAY,GAAG,KAAnB;;AACA,WAAO7uI,CAAC,GAAGulH,KAAK,CAACvsH,MAAjB,EAAyB;AACrB,YAAM81I,aAAa,GAAGvpB,KAAK,CAACvlH,CAAD,CAA3B;;AACA,UAAI8uI,aAAa,KAAK/5I,IAAtB,EAA4B;AACxB,eAAOiL,CAAP;AACH,OAFD,MAGK,IAAI8uI,aAAa,KAAK;AAAE;AAApB,SAAsCA,aAAa,KAAK;AAAE;AAA9D,QAA0E;AAC3ED,QAAAA,YAAY,GAAG,IAAf;AACH,OAFI,MAGA,IAAIC,aAAa,KAAK;AAAE;AAApB,SAAqCA,aAAa,KAAK;AAAE;AAA7D,QAA2E;AAC5E,YAAIrxI,KAAK,GAAG8nH,KAAK,CAAC,EAAEvlH,CAAH,CAAjB,CAD4E,CAE5E;AACA;;AACA,eAAO,OAAOvC,KAAP,KAAiB,QAAxB,EAAkC;AAC9BA,UAAAA,KAAK,GAAG8nH,KAAK,CAAC,EAAEvlH,CAAH,CAAb;AACH;;AACD;AACH,OARI,MASA,IAAI8uI,aAAa,KAAK;AAAE;AAAxB,QAAwC;AACzC;AACA;AACH,OAHI,MAIA,IAAIA,aAAa,KAAK;AAAE;AAAxB,QAA4C;AAC7C;AACA9uI,QAAAA,CAAC,IAAI,CAAL;AACA;AACH,OAzBoB,CA0BrB;;;AACAA,MAAAA,CAAC,IAAI6uI,YAAY,GAAG,CAAH,GAAO,CAAxB;AACH,KA9BsC,CA+BvC;;;AACA,WAAO,CAAC,CAAR;AACH,GAjCD,MAkCK;AACD,WAAOE,sBAAsB,CAACxpB,KAAD,EAAQxwH,IAAR,CAA7B;AACH;AACJ;;AACD,SAASi6I,0BAAT,CAAoC/9B,KAApC,EAA2C56G,QAA3C,EAAqDw3I,gBAAgB,GAAG,KAAxE,EAA+E;AAC3E,OAAK,IAAI7tI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG3J,QAAQ,CAAC2C,MAA7B,EAAqCgH,CAAC,EAAtC,EAA0C;AACtC,QAAIkuI,sBAAsB,CAACj9B,KAAD,EAAQ56G,QAAQ,CAAC2J,CAAD,CAAhB,EAAqB6tI,gBAArB,CAA1B,EAAkE;AAC9D,aAAO,IAAP;AACH;AACJ;;AACD,SAAO,KAAP;AACH;;AACD,SAASoB,qBAAT,CAA+Bh+B,KAA/B,EAAsC;AAClC,QAAMk9B,SAAS,GAAGl9B,KAAK,CAACsU,KAAxB;;AACA,MAAI4oB,SAAS,IAAI,IAAjB,EAAuB;AACnB,UAAMe,kBAAkB,GAAGf,SAAS,CAACnwI,OAAV,CAAkB;AAAE;AAApB,KAA3B,CADmB,CAEnB;AACA;;AACA,QAAI,CAACkxI,kBAAkB,GAAG,CAAtB,MAA6B,CAAjC,EAAoC;AAChC,aAAOf,SAAS,CAACe,kBAAkB,GAAG,CAAtB,CAAhB;AACH;AACJ;;AACD,SAAO,IAAP;AACH;;AACD,SAASb,sBAAT,CAAgCF,SAAhC,EAA2C;AACvC,OAAK,IAAInuI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmuI,SAAS,CAACn1I,MAA9B,EAAsCgH,CAAC,EAAvC,EAA2C;AACvC,UAAMmvI,QAAQ,GAAGhB,SAAS,CAACnuI,CAAD,CAA1B;;AACA,QAAI6lH,yBAAyB,CAACspB,QAAD,CAA7B,EAAyC;AACrC,aAAOnvI,CAAP;AACH;AACJ;;AACD,SAAOmuI,SAAS,CAACn1I,MAAjB;AACH;;AACD,SAAS+1I,sBAAT,CAAgCxpB,KAAhC,EAAuCxwH,IAAvC,EAA6C;AACzC,MAAIiL,CAAC,GAAGulH,KAAK,CAACvnH,OAAN,CAAc;AAAE;AAAhB,GAAR;;AACA,MAAIgC,CAAC,GAAG,CAAC,CAAT,EAAY;AACRA,IAAAA,CAAC;;AACD,WAAOA,CAAC,GAAGulH,KAAK,CAACvsH,MAAjB,EAAyB;AACrB,YAAM2+B,IAAI,GAAG4tF,KAAK,CAACvlH,CAAD,CAAlB,CADqB,CAErB;AACA;;AACA,UAAI,OAAO23B,IAAP,KAAgB,QAApB,EACI,OAAO,CAAC,CAAR;AACJ,UAAIA,IAAI,KAAK5iC,IAAb,EACI,OAAOiL,CAAP;AACJA,MAAAA,CAAC;AACJ;AACJ;;AACD,SAAO,CAAC,CAAR;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASovI,wBAAT,CAAkC/4I,QAAlC,EAA4CqqG,IAA5C,EAAkD;AAC9C2uC,EAAAA,gBAAgB,EAAE,KAAK,IAAIrvI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0gG,IAAI,CAAC1nG,MAAzB,EAAiCgH,CAAC,EAAlC,EAAsC;AACpD,UAAMsvI,qBAAqB,GAAG5uC,IAAI,CAAC1gG,CAAD,CAAlC;;AACA,QAAI3J,QAAQ,CAAC2C,MAAT,KAAoBs2I,qBAAqB,CAACt2I,MAA9C,EAAsD;AAClD;AACH;;AACD,SAAK,IAAIwuB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGnxB,QAAQ,CAAC2C,MAA7B,EAAqCwuB,CAAC,EAAtC,EAA0C;AACtC,UAAInxB,QAAQ,CAACmxB,CAAD,CAAR,KAAgB8nH,qBAAqB,CAAC9nH,CAAD,CAAzC,EAA8C;AAC1C,iBAAS6nH,gBAAT;AACH;AACJ;;AACD,WAAO,IAAP;AACH;;AACD,SAAO,KAAP;AACH;;AACD,SAASE,sBAAT,CAAgCC,cAAhC,EAAgDC,KAAhD,EAAuD;AACnD,SAAOD,cAAc,GAAG,UAAUC,KAAK,CAACz3H,IAAN,EAAV,GAAyB,GAA5B,GAAkCy3H,KAAvD;AACH;;AACD,SAASC,oBAAT,CAA8Br5I,QAA9B,EAAwC;AACpC,MAAImK,MAAM,GAAGnK,QAAQ,CAAC,CAAD,CAArB;AACA,MAAI2J,CAAC,GAAG,CAAR;AACA,MAAImwC,IAAI,GAAG;AAAE;AAAb;AACA,MAAIw/F,YAAY,GAAG,EAAnB;AACA,MAAIH,cAAc,GAAG,KAArB;;AACA,SAAOxvI,CAAC,GAAG3J,QAAQ,CAAC2C,MAApB,EAA4B;AACxB,QAAI42I,aAAa,GAAGv5I,QAAQ,CAAC2J,CAAD,CAA5B;;AACA,QAAI,OAAO4vI,aAAP,KAAyB,QAA7B,EAAuC;AACnC,UAAIz/F,IAAI,GAAG;AAAE;AAAb,QAA8B;AAC1B,cAAMwyF,SAAS,GAAGtsI,QAAQ,CAAC,EAAE2J,CAAH,CAA1B;AACA2vI,QAAAA,YAAY,IACR,MAAMC,aAAN,IAAuBjN,SAAS,CAAC3pI,MAAV,GAAmB,CAAnB,GAAuB,OAAO2pI,SAAP,GAAmB,GAA1C,GAAgD,EAAvE,IAA6E,GADjF;AAEH,OAJD,MAKK,IAAIxyF,IAAI,GAAG;AAAE;AAAb,QAA0B;AAC3Bw/F,QAAAA,YAAY,IAAI,MAAMC,aAAtB;AACH,OAFI,MAGA,IAAIz/F,IAAI,GAAG;AAAE;AAAb,QAA4B;AAC7Bw/F,QAAAA,YAAY,IAAI,MAAMC,aAAtB;AACH;AACJ,KAZD,MAaK;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAID,YAAY,KAAK,EAAjB,IAAuB,CAACpB,UAAU,CAACqB,aAAD,CAAtC,EAAuD;AACnDpvI,QAAAA,MAAM,IAAI+uI,sBAAsB,CAACC,cAAD,EAAiBG,YAAjB,CAAhC;AACAA,QAAAA,YAAY,GAAG,EAAf;AACH;;AACDx/F,MAAAA,IAAI,GAAGy/F,aAAP,CAtBC,CAuBD;AACA;;AACAJ,MAAAA,cAAc,GAAGA,cAAc,IAAI,CAACjB,UAAU,CAACp+F,IAAD,CAA9C;AACH;;AACDnwC,IAAAA,CAAC;AACJ;;AACD,MAAI2vI,YAAY,KAAK,EAArB,EAAyB;AACrBnvI,IAAAA,MAAM,IAAI+uI,sBAAsB,CAACC,cAAD,EAAiBG,YAAjB,CAAhC;AACH;;AACD,SAAOnvI,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqvI,wBAAT,CAAkCC,YAAlC,EAAgD;AAC5C,SAAOA,YAAY,CAACxyI,GAAb,CAAiBoyI,oBAAjB,EAAuCnzI,IAAvC,CAA4C,GAA5C,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwzI,kCAAT,CAA4C15I,QAA5C,EAAsD;AAClD,QAAMkvH,KAAK,GAAG,EAAd;AACA,QAAMp7F,OAAO,GAAG,EAAhB;AACA,MAAInqB,CAAC,GAAG,CAAR;AACA,MAAImwC,IAAI,GAAG;AAAE;AAAb;;AACA,SAAOnwC,CAAC,GAAG3J,QAAQ,CAAC2C,MAApB,EAA4B;AACxB,QAAI42I,aAAa,GAAGv5I,QAAQ,CAAC2J,CAAD,CAA5B;;AACA,QAAI,OAAO4vI,aAAP,KAAyB,QAA7B,EAAuC;AACnC,UAAIz/F,IAAI,KAAK;AAAE;AAAf,QAAgC;AAC5B,YAAIy/F,aAAa,KAAK,EAAtB,EAA0B;AACtBrqB,UAAAA,KAAK,CAAC1tH,IAAN,CAAW+3I,aAAX,EAA0Bv5I,QAAQ,CAAC,EAAE2J,CAAH,CAAlC;AACH;AACJ,OAJD,MAKK,IAAImwC,IAAI,KAAK;AAAE;AAAf,QAA4B;AAC7BhmB,QAAAA,OAAO,CAACtyB,IAAR,CAAa+3I,aAAb;AACH;AACJ,KATD,MAUK;AACD;AACA;AACA;AACA,UAAI,CAACrB,UAAU,CAACp+F,IAAD,CAAf,EACI;AACJA,MAAAA,IAAI,GAAGy/F,aAAP;AACH;;AACD5vI,IAAAA,CAAC;AACJ;;AACD,SAAO;AAAEulH,IAAAA,KAAF;AAASp7F,IAAAA;AAAT,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAM6lH,SAAS,GAAI,OAAO/tI,SAAP,KAAqB,WAArB,IAAoCA,SAArC,GAAkD;AAAEguI,EAAAA,SAAS,EAAE;AAAb,CAAlD,GAA+E,EAAjG;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASxhE,SAAT,CAAmB5vC,KAAnB,EAA0B;AACtB58B,EAAAA,SAAS,IAAI6rG,iBAAiB,CAACjvE,KAAD,EAAQ,CAAR,EAAW,0BAAX,CAA9B;AACAqxG,EAAAA,mBAAmB,CAAC7xB,QAAQ,EAAT,EAAaD,QAAQ,EAArB,EAAyByD,gBAAgB,KAAKhjF,KAA9C,EAAqD8+E,sBAAsB,EAA3E,CAAnB;AACH;;AACD,SAASuyB,mBAAT,CAA6Bh/B,KAA7B,EAAoC8G,KAApC,EAA2C/7F,KAA3C,EAAkDk0H,kBAAlD,EAAsE;AAClEluI,EAAAA,SAAS,IAAIo3G,sBAAsB,CAACrB,KAAD,EAAQ/7F,KAAR,CAAnC,CADkE,CAElE;AACA;;AACA,MAAI,CAACk0H,kBAAL,EAAyB;AACrB,UAAMC,uBAAuB,GAAG,CAACp4B,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAE;AAAlB,UAAgD;AAAE;AAAlF;;AACA,QAAIw6B,uBAAJ,EAA6B;AACzB,YAAM1tB,kBAAkB,GAAGxR,KAAK,CAACwR,kBAAjC;;AACA,UAAIA,kBAAkB,KAAK,IAA3B,EAAiC;AAC7BY,QAAAA,iBAAiB,CAACtL,KAAD,EAAQ0K,kBAAR,EAA4BzmG,KAA5B,CAAjB;AACH;AACJ,KALD,MAMK;AACD,YAAMwmG,aAAa,GAAGvR,KAAK,CAACuR,aAA5B;;AACA,UAAIA,aAAa,KAAK,IAAtB,EAA4B;AACxBgB,QAAAA,wBAAwB,CAACzL,KAAD,EAAQyK,aAAR,EAAuB;AAAE;AAAzB,UAAmDxmG,KAAnD,CAAxB;AACH;AACJ;AACJ,GAlBiE,CAmBlE;AACA;AACA;AACA;;;AACA6lG,EAAAA,gBAAgB,CAAC7lG,KAAD,CAAhB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo0H,eAAT,CAAyBhhE,IAAzB,EAA+B/oE,IAA/B,EAAqC;AACjCrE,EAAAA,SAAS,IAAIgrG,mBAAmB,CAAC59B,IAAD,EAAO,CAAP,EAAU;AAAM;AAAhB,GAAhC;AACAptE,EAAAA,SAAS,IAAIgrG,mBAAmB,CAAC3mG,IAAD,EAAO,CAAP,EAAU;AAAM;AAAhB,GAAhC;AACA,SAAQ+oE,IAAI,IAAI;AAAG;AAAX,IAA8B/oE,IAAI,IAAI;AAAE;AAAhD;AACH;;AACD,SAASgqI,oBAAT,CAA8BC,aAA9B,EAA6C;AACzCtuI,EAAAA,SAAS,IAAI4qG,YAAY,CAAC0jC,aAAD,EAAgB,iBAAhB,CAAzB;AACA,SAAQA,aAAa,IAAI;AAAG;AAArB,IAAyC;AAAM;AAAtD;AACH;;AACD,SAASC,6BAAT,CAAuCD,aAAvC,EAAsD;AAClDtuI,EAAAA,SAAS,IAAI4qG,YAAY,CAAC0jC,aAAD,EAAgB,iBAAhB,CAAzB;AACA,SAAO,CAACA,aAAa,GAAG;AAAE;AAAnB,OACH;AAAE;AADN;AAEH;;AACD,SAASE,oBAAT,CAA8BF,aAA9B,EAA6C7gC,QAA7C,EAAuD;AACnDztG,EAAAA,SAAS,IAAI4qG,YAAY,CAAC0jC,aAAD,EAAgB,iBAAhB,CAAzB;AACAtuI,EAAAA,SAAS,IAAIgrG,mBAAmB,CAACyC,QAAD,EAAW,CAAX,EAAc;AAAM;AAApB,GAAhC;AACA,SAAS6gC,aAAa,GAAG,CAAC;AAAW;AAA7B,IACH7gC,QAAQ,IAAI;AAAG;AADpB;AAEH;;AACD,SAASghC,6BAAT,CAAuCH,aAAvC,EAAsD;AAClDtuI,EAAAA,SAAS,IAAI4qG,YAAY,CAAC0jC,aAAD,EAAgB,iBAAhB,CAAzB;AACA,SAAQA,aAAa,GAAG;AAAE;AAA1B;AACH;;AACD,SAASI,oBAAT,CAA8BJ,aAA9B,EAA6C;AACzCtuI,EAAAA,SAAS,IAAI4qG,YAAY,CAAC0jC,aAAD,EAAgB,iBAAhB,CAAzB;AACA,SAAO,CAACA,aAAa,GAAG;AAAO;AAAxB,OAA4C;AAAE;AAArD;AACH;;AACD,SAASK,oBAAT,CAA8BL,aAA9B,EAA6CjqI,IAA7C,EAAmD;AAC/CrE,EAAAA,SAAS,IAAI4qG,YAAY,CAAC0jC,aAAD,EAAgB,iBAAhB,CAAzB;AACAtuI,EAAAA,SAAS,IAAIgrG,mBAAmB,CAAC3mG,IAAD,EAAO,CAAP,EAAU;AAAM;AAAhB,GAAhC;AACA,SAASiqI,aAAa,GAAG,CAAC;AAAO;AAAzB,IAA4C;AAChDjqI,EAAAA,IAAI,IAAI;AAAE;AADd;AAEH;;AACD,SAASuqI,6BAAT,CAAuCN,aAAvC,EAAsD;AAClDtuI,EAAAA,SAAS,IAAI4qG,YAAY,CAAC0jC,aAAD,EAAgB,iBAAhB,CAAzB;AACA,SAAO,CAACA,aAAa,GAAG;AAAE;AAAnB,QACH;AAAE;AADN;AAEH;;AACD,SAASO,6BAAT,CAAuCP,aAAvC,EAAsD;AAClDtuI,EAAAA,SAAS,IAAI4qG,YAAY,CAAC0jC,aAAD,EAAgB,iBAAhB,CAAzB;AACA,SAAQA,aAAa,GAAG;AAAE;AAA1B;AACH;;AACD,SAASQ,oBAAT,CAA8BR,aAA9B,EAA6C;AACzCtuI,EAAAA,SAAS,IAAI4qG,YAAY,CAAC0jC,aAAD,EAAgB,iBAAhB,CAAzB;AACA,QAAMjqI,IAAI,GAAGqqI,oBAAoB,CAACJ,aAAD,CAAjC;AACA,SAAOjqI,IAAI,KAAK,CAAT,GAAagqI,oBAAoB,CAACC,aAAD,CAAjC,GAAmDjqI,IAA1D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0qI,iBAAT,CAA2BhtI,GAA3B,EAAgCitI,KAAhC,EAAuC;AACnC,MAAIhvI,SAAJ,EAAe;AACXnG,IAAAA,MAAM,CAACuiE,cAAP,CAAsBr6D,GAAtB,EAA2B,OAA3B,EAAoC;AAAEvG,MAAAA,KAAK,EAAEwzI,KAAT;AAAgBC,MAAAA,UAAU,EAAE;AAA5B,KAApC;AACH,GAFD,MAGK;AACD,UAAM,IAAI50I,KAAJ,CAAU,6FAAV,CAAN;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS60I,iBAAT,CAA2BntI,GAA3B,EAAgCotI,WAAhC,EAA6C;AACzC,MAAInvI,SAAJ,EAAe;AACXnG,IAAAA,MAAM,CAACuiE,cAAP,CAAsBr6D,GAAtB,EAA2B,OAA3B,EAAoC;AAAErG,MAAAA,GAAG,EAAEyzI,WAAP;AAAoBF,MAAAA,UAAU,EAAE;AAAhC,KAApC;AACH,GAFD,MAGK;AACD,UAAM,IAAI50I,KAAJ,CAAU,6FAAV,CAAN;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+0I,WAAW,GAAI,CAAC,OAAOpvI,SAAP,KAAqB,WAArB,IAAoC,CAAC,CAACA,SAAvC,kBAAqDswG,aAAa,EAAvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAI++B,qBAAJ;AACA,IAAIC,oBAAJ;AACA,IAAIC,UAAJ;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,8BAAT,CAAwCvgC,KAAxC,EAA+C;AAC3C,QAAMwgC,UAAU,GAAGxgC,KAAnB;AACA,QAAM8G,KAAK,GAAG25B,eAAe,CAACD,UAAU,CAACz8I,IAAZ,EAAkBi8G,KAAK,CAAC1wC,QAAN,IAAkB0wC,KAAK,CAAC1wC,QAAN,CAAezrE,IAAnD,CAA7B;AACA,SAAOijH,KAAK,CAACzsF,MAAN,CAAa2lF,KAAK,CAAC0W,SAAnB,CAAP;AACH;;AACD,SAAS+pB,eAAT,CAAyB18I,IAAzB,EAA+BF,IAA/B,EAAqC;AACjC,UAAQE,IAAR;AACI,SAAK;AAAE;AAAP;AACI,UAAIu8I,UAAU,KAAKr0I,SAAnB,EACIq0I,UAAU,GAAG,KAAKxF,oBAAoB,CAAC,WAAD,CAAzB,GAAb;AACJ,aAAOwF,UAAP;;AACJ,SAAK;AAAE;AAAP;AACI,UAAIF,qBAAqB,KAAKn0I,SAA9B,EACIm0I,qBAAqB,GAAG,IAAI5zI,GAAJ,EAAxB;AACJ,UAAIk0I,cAAc,GAAGN,qBAAqB,CAAC3zI,GAAtB,CAA0B5I,IAA1B,CAArB;;AACA,UAAI68I,cAAc,KAAKz0I,SAAvB,EAAkC;AAC9By0I,QAAAA,cAAc,GAAG,KAAK5F,oBAAoB,CAAC,mBAAmB6F,UAAU,CAAC98I,IAAD,CAA9B,CAAzB,GAAjB;AACAu8I,QAAAA,qBAAqB,CAAC1zI,GAAtB,CAA0B7I,IAA1B,EAAgC68I,cAAhC;AACH;;AACD,aAAOA,cAAP;;AACJ,SAAK;AAAE;AAAP;AACI,UAAIL,oBAAoB,KAAKp0I,SAA7B,EACIo0I,oBAAoB,GAAG,IAAI7zI,GAAJ,EAAvB;AACJ,UAAIo0I,aAAa,GAAGP,oBAAoB,CAAC5zI,GAArB,CAAyB5I,IAAzB,CAApB;;AACA,UAAI+8I,aAAa,KAAK30I,SAAtB,EAAiC;AAC7B20I,QAAAA,aAAa,GAAG,KAAK9F,oBAAoB,CAAC,kBAAkB6F,UAAU,CAAC98I,IAAD,CAA7B,CAAzB,GAAhB;AACAw8I,QAAAA,oBAAoB,CAAC3zI,GAArB,CAAyB7I,IAAzB,EAA+B+8I,aAA/B;AACH;;AACD,aAAOA,aAAP;AAtBR;AAwBH;;AACD,SAASD,UAAT,CAAoB5vD,IAApB,EAA0B;AACtB,MAAIA,IAAI,IAAI,IAAZ,EACI,OAAO,EAAP;AACJ,QAAMhmE,KAAK,GAAGgmE,IAAI,CAACsK,WAAL,CAAiB,WAAjB,CAAd;AACA,SAAO,OAAOtwE,KAAK,KAAK,CAAC,CAAX,GAAegmE,IAAf,GAAsBA,IAAI,CAAC7jF,MAAL,CAAY,CAAZ,EAAe6d,KAAf,CAA7B,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,MAAM81H,gBAAgB,GAAG,MAAMC,KAAN,CAAY;AACjCn7I,EAAAA,WAAW,CAAC5B,IAAD,EAAO2yH,SAAP,EAAkBpnD,QAAlB,EAA4ByxE,OAA5B,EAAqC5kE,SAArC,EAAgDizC,SAAhD,EAA2DljH,IAA3D,EAAiEm8G,iBAAjE,EAAoFE,iBAApF,EAAuGy4B,kBAAvG,EAA2HlhC,eAA3H,EAA4ImI,eAA5I,EAA6Jg5B,iBAA7J,EAAgLC,oBAAhL,EAAsM3vB,aAAtM,EAAqNC,kBAArN,EAAyOO,YAAzO,EAAuPC,iBAAvP,EAA0QC,SAA1Q,EAAqRC,cAArR,EAAqSC,YAArS,EAAmT5d,OAAnT,EAA4T+N,cAA5T,EAA4UwlB,UAA5U,EAAwVqZ,iBAAxV,EAA2WC,YAA3W,EAAyXtxB,UAAzX,EAAqYjN,OAArY,EAA8Y7lC,MAA9Y,EAAsZqkE,mBAAtZ,EAA2aC,MAA3a,EAAmbC,KAAnb,EAA0b;AACjc,SAAKx9I,IAAL,GAAYA,IAAZ;AACA,SAAK2yH,SAAL,GAAiBA,SAAjB;AACA,SAAKpnD,QAAL,GAAgBA,QAAhB;AACA,SAAKyxE,OAAL,GAAeA,OAAf;AACA,SAAK5kE,SAAL,GAAiBA,SAAjB;AACA,SAAKizC,SAAL,GAAiBA,SAAjB;AACA,SAAKljH,IAAL,GAAYA,IAAZ;AACA,SAAKm8G,iBAAL,GAAyBA,iBAAzB;AACA,SAAKE,iBAAL,GAAyBA,iBAAzB;AACA,SAAKy4B,kBAAL,GAA0BA,kBAA1B;AACA,SAAKlhC,eAAL,GAAuBA,eAAvB;AACA,SAAKmI,eAAL,GAAuBA,eAAvB;AACA,SAAKg5B,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,oBAAL,GAA4BA,oBAA5B;AACA,SAAK3vB,aAAL,GAAqBA,aAArB;AACA,SAAKC,kBAAL,GAA0BA,kBAA1B;AACA,SAAKO,YAAL,GAAoBA,YAApB;AACA,SAAKC,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKC,YAAL,GAAoBA,YAApB;AACA,SAAK5d,OAAL,GAAeA,OAAf;AACA,SAAK+N,cAAL,GAAsBA,cAAtB;AACA,SAAKwlB,UAAL,GAAkBA,UAAlB;AACA,SAAKqZ,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,YAAL,GAAoBA,YAApB;AACA,SAAKtxB,UAAL,GAAkBA,UAAlB;AACA,SAAKjN,OAAL,GAAeA,OAAf;AACA,SAAK7lC,MAAL,GAAcA,MAAd;AACA,SAAKqkE,mBAAL,GAA2BA,mBAA3B;AACA,SAAKC,MAAL,GAAcA,MAAd;AACA,SAAKC,KAAL,GAAaA,KAAb;AACH;;AACY,MAATC,SAAS,GAAG;AACZ,UAAMlL,GAAG,GAAG,EAAZ;AACAmL,IAAAA,oBAAoB,CAAC,KAAK3xB,UAAN,EAAkBwmB,GAAlB,CAApB;AACA,WAAOA,GAAG,CAACjrI,IAAJ,CAAS,EAAT,CAAP;AACH;;AACQ,MAALq2I,KAAK,GAAG;AACR,WAAO77B,iBAAiB,CAAC,KAAK9hH,IAAN,CAAjB,IAAiC,cAAa,KAAKA,IAAK,GAA/D;AACH;;AA1CgC,CAArC;;AA4CA,MAAM49I,KAAN,CAAY;AACRh8I,EAAAA,WAAW,CAACshH,MAAD,EAAS;AACpBljH,EAAAA,IADW,EACL;AACNgnB,EAAAA,KAFW,EAEJ;AACP62H,EAAAA,iBAHW,EAGQ;AACnB74B,EAAAA,aAJW,EAII;AACf2I,EAAAA,cALW,EAKK;AAChBC,EAAAA,YANW,EAMG;AACdkwB,EAAAA,oBAPW,EAOW;AACtBC,EAAAA,gBARW,EAQO;AAClBpjC,EAAAA,KATW,EASJ;AACPma,EAAAA,eAVW,EAUM;AACjBtsH,EAAAA,KAXW,EAWJ;AACP8nH,EAAAA,KAZW,EAYJ;AACP0tB,EAAAA,WAbW,EAaE;AACbpZ,EAAAA,UAdW,EAcC;AACZqZ,EAAAA,aAfW,EAeI;AACfrtG,EAAAA,MAhBW,EAgBH;AACRwJ,EAAAA,OAjBW,EAiBF;AACT8jG,EAAAA,MAlBW,EAkBH;AACR7sI,EAAAA,IAnBW,EAmBL;AACNo6H,EAAAA,cApBW,EAoBK;AAChBvf,EAAAA,KArBW,EAqBJ;AACPvgG,EAAAA,MAtBW,EAsBH;AACRk5F,EAAAA,UAvBW,EAuBC;AACZzkH,EAAAA,MAxBW,EAwBH;AACR+9I,EAAAA,iBAzBW,EAyBQ;AACnBC,EAAAA,cA1BW,EA0BK;AAChBlpH,EAAAA,OA3BW,EA2BF;AACTmpH,EAAAA,kBA5BW,EA4BS;AACpBC,EAAAA,eA7BW,EA6BM;AACjBC,EAAAA,aA9BW,EA8BI;AACfC,EAAAA,aA/BW,EA+BI;AACX,SAAKt7B,MAAL,GAAcA,MAAd;AACA,SAAKljH,IAAL,GAAYA,IAAZ;AACA,SAAKgnB,KAAL,GAAaA,KAAb;AACA,SAAK62H,iBAAL,GAAyBA,iBAAzB;AACA,SAAK74B,aAAL,GAAqBA,aAArB;AACA,SAAK2I,cAAL,GAAsBA,cAAtB;AACA,SAAKC,YAAL,GAAoBA,YAApB;AACA,SAAKkwB,oBAAL,GAA4BA,oBAA5B;AACA,SAAKC,gBAAL,GAAwBA,gBAAxB;AACA,SAAKpjC,KAAL,GAAaA,KAAb;AACA,SAAKma,eAAL,GAAuBA,eAAvB;AACA,SAAKtsH,KAAL,GAAaA,KAAb;AACA,SAAK8nH,KAAL,GAAaA,KAAb;AACA,SAAK0tB,WAAL,GAAmBA,WAAnB;AACA,SAAKpZ,UAAL,GAAkBA,UAAlB;AACA,SAAKqZ,aAAL,GAAqBA,aAArB;AACA,SAAKrtG,MAAL,GAAcA,MAAd;AACA,SAAKwJ,OAAL,GAAeA,OAAf;AACA,SAAK8jG,MAAL,GAAcA,MAAd;AACA,SAAK7sI,IAAL,GAAYA,IAAZ;AACA,SAAKo6H,cAAL,GAAsBA,cAAtB;AACA,SAAKvf,KAAL,GAAaA,KAAb;AACA,SAAKvgG,MAAL,GAAcA,MAAd;AACA,SAAKk5F,UAAL,GAAkBA,UAAlB;AACA,SAAKzkH,MAAL,GAAcA,MAAd;AACA,SAAK+9I,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKlpH,OAAL,GAAeA,OAAf;AACA,SAAKmpH,kBAAL,GAA0BA,kBAA1B;AACA,SAAKC,eAAL,GAAuBA,eAAvB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIC,EAAAA,qBAAqB,CAAC17B,KAAD,EAAQ;AACzB,UAAM59B,IAAI,GAAG,EAAb;AACA,QAAI6/B,aAAa,GAAGyN,gBAAgB,CAAC,IAAD,EAAO1P,KAAP,CAApC;;AACA,QAAIiC,aAAa,KAAK,CAAC,CAAvB,EAA0B;AACtB;AACA;AACA,YAAMsM,cAAc,GAAGuB,yBAAyB,CAAC,IAAD,EAAO9P,KAAP,CAAhD;;AACA,UAAIuO,cAAc,KAAKnC,kBAAvB,EAA2C;AACvC;AACAnK,QAAAA,aAAa,GAAGuM,sBAAsB,CAACD,cAAD,CAAtC;AACAvO,QAAAA,KAAK,GAAG2O,qBAAqB,CAACJ,cAAD,EAAiBvO,KAAjB,CAA7B;AACH,OAJD,MAKK,CACD;AACH;AACJ;;AACD,WAAOiC,aAAa,KAAK,CAAC,CAA1B,EAA6B;AACzBh4G,MAAAA,SAAS,IAAI+3G,kBAAkB,CAAChC,KAAD,EAAQiC,aAAR,CAA/B;AACA,YAAMhJ,KAAK,GAAG+G,KAAK,CAACrC,KAAD,CAAL,CAAav4G,IAAb,CAAkB68G,aAAa,GAAG;AAAE;AAApC,OAAd;AACA7/B,MAAAA,IAAI,CAACviF,IAAL,CAAU87I,cAAc,CAAC1iC,KAAD,EAAQ+G,KAAR,CAAxB;AACA,YAAMuO,cAAc,GAAGvO,KAAK,CAACiC,aAAa,GAAG;AAAE;AAAnB,OAA5B;;AACA,UAAIsM,cAAc,KAAKnC,kBAAvB,EAA2C;AACvCnK,QAAAA,aAAa,GAAG,CAAC,CAAjB;AACH,OAFD,MAGK;AACDA,QAAAA,aAAa,GAAGuM,sBAAsB,CAACD,cAAD,CAAtC;AACAvO,QAAAA,KAAK,GAAG2O,qBAAqB,CAACJ,cAAD,EAAiBvO,KAAjB,CAA7B;AACH;AACJ;;AACD,WAAO59B,IAAP;AACH;;AACQ,MAALw4D,KAAK,GAAG;AACR,WAAO/tB,mBAAmB,CAAC,KAAK5vH,IAAN,CAAnB,IAAmC,cAAa,KAAKA,IAAK,GAAjE;AACH;;AACS,MAAN2+I,MAAM,GAAG;AACT,UAAMhkC,KAAK,GAAG,EAAd;AACA,QAAI,KAAKA,KAAL,GAAa;AAAG;AAApB,MACIA,KAAK,CAAC/3G,IAAN,CAAW,0BAAX;AACJ,QAAI,KAAK+3G,KAAL,GAAa;AAAE;AAAnB,MACIA,KAAK,CAAC/3G,IAAN,CAAW,4BAAX;AACJ,QAAI,KAAK+3G,KAAL,GAAa;AAAG;AAApB,MACIA,KAAK,CAAC/3G,IAAN,CAAW,0BAAX;AACJ,QAAI,KAAK+3G,KAAL,GAAa;AAAI;AAArB,MACIA,KAAK,CAAC/3G,IAAN,CAAW,4BAAX;AACJ,QAAI,KAAK+3G,KAAL,GAAa;AAAE;AAAnB,MACIA,KAAK,CAAC/3G,IAAN,CAAW,4BAAX;AACJ,QAAI,KAAK+3G,KAAL,GAAa;AAAE;AAAnB,MACIA,KAAK,CAAC/3G,IAAN,CAAW,4BAAX;AACJ,QAAI,KAAK+3G,KAAL,GAAa;AAAG;AAApB,MACIA,KAAK,CAAC/3G,IAAN,CAAW,uBAAX;AACJ,QAAI,KAAK+3G,KAAL,GAAa;AAAE;AAAnB,MACIA,KAAK,CAAC/3G,IAAN,CAAW,wBAAX;AACJ,WAAO+3G,KAAK,CAACrzG,IAAN,CAAW,GAAX,CAAP;AACH;;AACY,MAATm2I,SAAS,GAAG;AACZ,QAAI,KAAKz9I,IAAL,GAAY;AAAE;AAAlB,MACI,OAAO,KAAKwI,KAAZ;AACJ,UAAM+pI,GAAG,GAAG,EAAZ;AACA,UAAM5E,OAAO,GAAG,OAAO,KAAKnlI,KAAZ,KAAsB,QAAtB,IAAkC,KAAKA,KAAvC,IAAgD,KAAKm1I,KAArE;AACApL,IAAAA,GAAG,CAAC3vI,IAAJ,CAAS,GAAT,EAAc+qI,OAAd;;AACA,QAAI,KAAKhzB,KAAT,EAAgB;AACZ43B,MAAAA,GAAG,CAAC3vI,IAAJ,CAAS,GAAT,EAAc,KAAK+7I,MAAnB;AACH;;AACD,QAAI,KAAKruB,KAAT,EAAgB;AACZ,WAAK,IAAIvlH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKulH,KAAL,CAAWvsH,MAA/B,GAAwC;AACpC,cAAM27F,QAAQ,GAAG,KAAK4wB,KAAL,CAAWvlH,CAAC,EAAZ,CAAjB;;AACA,YAAI,OAAO20F,QAAP,IAAmB,QAAvB,EAAiC;AAC7B;AACH;;AACD,cAAMguC,SAAS,GAAG,KAAKpd,KAAL,CAAWvlH,CAAC,EAAZ,CAAlB;AACAwnI,QAAAA,GAAG,CAAC3vI,IAAJ,CAAS,GAAT,EAAc88F,QAAd,EAAwB,IAAxB,EAA8BguC,SAA9B,EAAyC,GAAzC;AACH;AACJ;;AACD6E,IAAAA,GAAG,CAAC3vI,IAAJ,CAAS,GAAT;AACA86I,IAAAA,oBAAoB,CAAC,KAAKxxB,KAAN,EAAaqmB,GAAb,CAApB;AACAA,IAAAA,GAAG,CAAC3vI,IAAJ,CAAS,IAAT,EAAe+qI,OAAf,EAAwB,GAAxB;AACA,WAAO4E,GAAG,CAACjrI,IAAJ,CAAS,EAAT,CAAP;AACH;;AACiB,MAAds3I,cAAc,GAAG;AACjB,WAAOC,mBAAmB,CAAC,IAAD,EAAO,KAAP,CAA1B;AACH;;AACiB,MAAdC,cAAc,GAAG;AACjB,WAAOD,mBAAmB,CAAC,IAAD,EAAO,IAAP,CAA1B;AACH;;AACsB,MAAnBE,mBAAmB,GAAG;AACtB,WAAO,KAAKjqB,eAAL,GAAuB;AAAQ;AAAtC;AACH;;AACoB,MAAjBkqB,iBAAiB,GAAG;AACpB,WAAO,KAAKD,mBAAL,IACF,KAAKjqB,eAAL,KAAyB;AAAG;AAD1B,KAAP;AAEH;;AAzKO;;AA2KZ,MAAMmqB,UAAU,GAAGrB,KAAnB;;AACA,SAASiB,mBAAT,CAA6B7iC,KAA7B,EAAoCkwB,YAApC,EAAkD;AAC9C,QAAMjhB,KAAK,GAAGjP,KAAK,CAACkH,MAAN,CAAa/6G,IAA3B;AACA,QAAM+2I,QAAQ,GAAG,EAAjB;AACA,QAAMhoE,KAAK,GAAGg1D,YAAY,GAAGlwB,KAAK,CAACuiC,aAAT,GAAyBviC,KAAK,CAACwiC,aAAzD;AACA,QAAMpkE,IAAI,GAAGihE,oBAAoB,CAACnkE,KAAD,CAAjC;AACA,QAAM7lE,IAAI,GAAGqqI,oBAAoB,CAACxkE,KAAD,CAAjC;AACA,MAAIioE,UAAU,GAAG9tI,IAAI,KAAK,CAA1B;AACA,MAAIkhD,MAAM,GAAG4sF,UAAU,GAAG9tI,IAAH,GAAU+oE,IAAjC;;AACA,SAAO7nB,MAAM,KAAK,CAAlB,EAAqB;AACjB,UAAM6sF,OAAO,GAAGn0B,KAAK,CAAC14D,MAAD,CAArB;AACA,UAAM8sF,SAAS,GAAGp0B,KAAK,CAAC14D,MAAM,GAAG,CAAV,CAAvB;AACA2sF,IAAAA,QAAQ,CAACjpD,OAAT,CAAiB;AACb3tF,MAAAA,GAAG,EAAE82I,OADQ;AAEbp4H,MAAAA,KAAK,EAAEurC,MAFM;AAGb4sF,MAAAA,UAAU,EAAEA,UAHC;AAIbG,MAAAA,aAAa,EAAE/D,6BAA6B,CAAC8D,SAAD,CAJ/B;AAKbE,MAAAA,aAAa,EAAE3D,6BAA6B,CAACyD,SAAD,CAL/B;AAMbG,MAAAA,SAAS,EAAE9D,oBAAoB,CAAC2D,SAAD,CANlB;AAObI,MAAAA,SAAS,EAAEpE,oBAAoB,CAACgE,SAAD;AAPlB,KAAjB;AASA,QAAI9sF,MAAM,KAAK6nB,IAAf,EACI+kE,UAAU,GAAG,KAAb;AACJ5sF,IAAAA,MAAM,GAAG8oF,oBAAoB,CAACgE,SAAD,CAA7B;AACH;;AACDH,EAAAA,QAAQ,CAACt8I,IAAT,CAAc,CAACspI,YAAY,GAAGlwB,KAAK,CAACsiC,eAAT,GAA2BtiC,KAAK,CAACoiC,cAA9C,KAAiE,IAA/E;AACA,SAAOc,QAAP;AACH;;AACD,SAASxB,oBAAT,CAA8B1hC,KAA9B,EAAqCu2B,GAArC,EAA0C;AACtC,SAAOv2B,KAAP,EAAc;AACVu2B,IAAAA,GAAG,CAAC3vI,IAAJ,CAASo5G,KAAK,CAACyhC,SAAf;AACAzhC,IAAAA,KAAK,GAAGA,KAAK,CAAC3qG,IAAd;AACH;AACJ;;AACD,MAAMquI,SAAS,GAAGtD,WAAW,iBAAIrF,oBAAoB,CAAC,WAAD,CAAnC,IAAoD,IAAtE;AACA,IAAI4I,eAAJ,EAAqB;AACrB;;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,gBAAT,CAA0Bn0C,IAA1B,EAAgC;AAC5B,MAAIk0C,eAAe,KAAKz3I,SAAxB,EACIy3I,eAAe,GAAG,IAAID,SAAJ,EAAlB;AACJ,SAAOC,eAAe,CAACrpH,MAAhB,CAAuBm1E,IAAvB,CAAP;AACH;;AACD,MAAMo0C,cAAc,GAAGzD,WAAW,iBAAIrF,oBAAoB,CAAC,gBAAD,CAAnC,IAAyD,IAAhF;AACA,MAAM+I,YAAY,GAAG1D,WAAW,iBAAIrF,oBAAoB,CAAC,cAAD,CAAnC,IAAuD,IAA5E;AACA,MAAMgJ,eAAe,GAAG3D,WAAW,iBAAIrF,oBAAoB,CAAC,iBAAD,CAAnC,IAA0D,IAAlF;AACA,MAAMiJ,eAAe,GAAG5D,WAAW,iBAAIrF,oBAAoB,CAAC,iBAAD,CAAnC,IAA0D,IAAlF;AACA,MAAMkJ,kBAAkB,GAAG7D,WAAW,iBAAIrF,oBAAoB,CAAC,oBAAD,CAAnC,IAA6D,IAAxF;AACA,MAAMmJ,gBAAgB,GAAG9D,WAAW,iBAAIrF,oBAAoB,CAAC,kBAAD,CAAnC,IAA2D,IAApF;AACA,MAAMoJ,QAAQ,GAAG/D,WAAW,iBAAIrF,oBAAoB,CAAC,UAAD,CAAnC,IAAmD,IAApE;AACA,MAAMqJ,QAAQ,GAAGhE,WAAW,iBAAIrF,oBAAoB,CAAC,UAAD,CAAnC,IAAmD,IAApE;;AACA,SAASsJ,gBAAT,CAA0Bt9B,KAA1B,EAAiC;AAC7Bg5B,EAAAA,iBAAiB,CAACh5B,KAAD,EAAQ,IAAIu9B,UAAJ,CAAev9B,KAAf,CAAR,CAAjB;AACH;;AACD,SAASw9B,qBAAT,CAA+Bp4B,UAA/B,EAA2C;AACvC4zB,EAAAA,iBAAiB,CAAC5zB,UAAD,EAAa,IAAIq4B,eAAJ,CAAoBr4B,UAApB,CAAb,CAAjB;AACH;;AACD,SAASs4B,OAAT,CAAiB1xI,GAAjB,EAAsB;AAClB,MAAIA,GAAJ,EAAS;AACL,UAAMitI,KAAK,GAAGjtI,GAAG,CAACitI,KAAlB;AACAjjC,IAAAA,aAAa,CAACijC,KAAD,EAAQ,8CAAR,CAAb;AACA,WAAOA,KAAP;AACH,GAJD,MAKK;AACD,WAAOjtI,GAAP;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2xI,MAAT,CAAgBl4I,KAAhB,EAAuBm4I,eAAe,GAAG,KAAzC,EAAgD;AAC5C,QAAMxuI,IAAI,GAAG+0G,WAAW,CAAC1+G,KAAD,CAAxB;;AACA,MAAI2J,IAAJ,EAAU;AACN,YAAQA,IAAI,CAACqzB,QAAb;AACI,WAAKkM,IAAI,CAACihG,SAAV;AACI,eAAOxgI,IAAI,CAACqpB,WAAZ;;AACJ,WAAKkW,IAAI,CAACkvG,YAAV;AACI,eAAQ,OAAMzuI,IAAI,CAACqpB,WAAY,KAA/B;;AACJ,WAAKkW,IAAI,CAACjM,YAAV;AACI,cAAM2tG,SAAS,GAAGjhI,IAAI,CAACihI,SAAvB;;AACA,YAAIuN,eAAJ,EAAqB;AACjB,iBAAOvN,SAAP;AACH,SAFD,MAGK;AACD,gBAAM7C,SAAS,GAAG,MAAMp+H,IAAI,CAACo+H,SAAX,GAAuB,GAAzC;AACA,iBAAQ6C,SAAS,CAAC7/H,KAAV,CAAgBg9H,SAAhB,EAA2B,CAA3B,CAAD,GAAkC,GAAzC;AACH;;AAbT;AAeH;;AACD,SAAO,IAAP;AACH;;AACD,MAAM+P,UAAN,CAAiB;AACb1+I,EAAAA,WAAW,CAACi/I,UAAD,EAAa;AACpB,SAAKA,UAAL,GAAkBA,UAAlB;AACH;AACD;AACJ;AACA;;;AACa,MAALlmC,KAAK,GAAG;AACR,UAAMA,KAAK,GAAG,KAAKkmC,UAAL,CAAgBlgC,KAAhB,CAAd;AACA,WAAO;AACHmgC,MAAAA,cAAc,EAAEnmC,KADb;AAEHomC,MAAAA,cAAc,EAAEpmC,KAAK,GAAG;AAAE;AAFvB;AAGHi9B,MAAAA,YAAY,EAAE,CAAC,EAAEj9B,KAAK,GAAG;AAAE;AAAZ,OAHZ;AAIHqmC,MAAAA,aAAa,EAAE,CAAC,EAAErmC,KAAK,GAAG;AAAE;AAAZ,OAJb;AAKHsmC,MAAAA,WAAW,EAAE,CAAC,EAAEtmC,KAAK,GAAG;AAAG;AAAb,OALX;AAMHumC,MAAAA,KAAK,EAAE,CAAC,EAAEvmC,KAAK,GAAG;AAAG;AAAb,OANL;AAOH7sC,MAAAA,QAAQ,EAAE,CAAC,EAAE6sC,KAAK,GAAG;AAAI;AAAd,OAPR;AAQHxuF,MAAAA,SAAS,EAAE,CAAC,EAAEwuF,KAAK,GAAG;AAAI;AAAd,OART;AASHwmC,MAAAA,MAAM,EAAE,CAAC,EAAExmC,KAAK,GAAG;AAAI;AAAd,OATN;AAUHymC,MAAAA,oBAAoB,EAAEzmC,KAAK,IAAI;AAAG;;AAV/B,KAAP;AAYH;;AACS,MAANhvF,MAAM,GAAG;AACT,WAAO80H,OAAO,CAAC,KAAKI,UAAL,CAAgBjgC,MAAhB,CAAD,CAAd;AACH;;AACW,MAARygC,QAAQ,GAAG;AACX,WAAOX,MAAM,CAAC,KAAKG,UAAL,CAAgBpgC,IAAhB,CAAD,EAAwB,IAAxB,CAAb;AACH;;AACO,MAAJ9zD,IAAI,GAAG;AACP,WAAO,CAAC,KAAK98B,KAAL,IAAc,EAAf,EAAmBxnB,GAAnB,CAAuBi5I,SAAvB,EAAkCh6I,IAAlC,CAAuC,EAAvC,CAAP;AACH;;AACU,MAAP8K,OAAO,GAAG;AACV,WAAO,KAAKyuI,UAAL,CAAgB5/B,OAAhB,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACa,MAALpxF,KAAK,GAAG;AACR,UAAMkzF,KAAK,GAAG,KAAK89B,UAAnB;AACA,UAAM7kC,KAAK,GAAG+G,KAAK,CAACrC,KAAD,CAAL,CAAaqL,UAA3B;AACA,WAAOw1B,YAAY,CAACvlC,KAAD,EAAQ+G,KAAR,CAAnB;AACH;;AACW,MAARx3C,QAAQ,GAAG;AACX,WAAO,KAAK0wC,KAAL,CAAWwhC,SAAlB;AACH;;AACQ,MAALxhC,KAAK,GAAG;AACR,WAAO,KAAK4kC,UAAL,CAAgBngC,KAAhB,CAAP;AACH;;AACU,MAAPlQ,OAAO,GAAG;AACV,WAAO,KAAKqwC,UAAL,CAAgB7/B,OAAhB,CAAP;AACH;;AACW,MAAR31C,QAAQ,GAAG;AACX,WAAO,KAAKw1E,UAAL,CAAgB3/B,QAAhB,CAAP;AACH;;AACkB,MAAfsgC,eAAe,GAAG;AAClB,WAAO,KAAKX,UAAL,CAAgB1/B,gBAAhB,CAAP;AACH;;AACW,MAAR0F,QAAQ,GAAG;AACX,WAAO,KAAKg6B,UAAL,CAAgBz/B,QAAhB,CAAP;AACH;;AACY,MAAT2yB,SAAS,GAAG;AACZ,WAAO,KAAK8M,UAAL,CAAgBx/B,SAAhB,CAAP;AACH;;AACY,MAATogC,SAAS,GAAG;AACZ,WAAOhB,OAAO,CAAC,KAAKI,UAAL,CAAgBv/B,UAAhB,CAAD,CAAd;AACH;;AACO,MAAJjwG,IAAI,GAAG;AACP,WAAOovI,OAAO,CAAC,KAAKI,UAAL,CAAgBhgC,IAAhB,CAAD,CAAd;AACH;;AACY,MAAT6gC,SAAS,GAAG;AACZ,WAAOjB,OAAO,CAAC,KAAKI,UAAL,CAAgBt/B,UAAhB,CAAD,CAAd;AACH;;AACkB,MAAfogC,eAAe,GAAG;AAClB,WAAOlB,OAAO,CAAC,KAAKI,UAAL,CAAgBr/B,gBAAhB,CAAD,CAAd;AACH;;AACU,MAAPw7B,OAAO,GAAG;AACV,WAAO,KAAK6D,UAAL,CAAgBj/B,OAAhB,CAAP;AACH;;AACQ,MAALggC,KAAK,GAAG;AACR,WAAO,KAAKf,UAAL,CAAgB9/B,MAAhB,CAAP;AACH;;AACQ,MAALhoC,KAAK,GAAG;AACR,WAAO8oE,YAAY,CAAC,KAAK5lC,KAAN,EAAa,KAAK4kC,UAAlB,EAA8Bh/B,aAA9B,EAA6C,KAAK5F,KAAL,CAAWqI,iBAAxD,CAAnB;AACH;;AACO,MAAJtrC,IAAI,GAAG;AACP,WAAO6oE,YAAY,CAAC,KAAK5lC,KAAN,EAAa,KAAK4kC,UAAlB,EAA8B,KAAK5kC,KAAL,CAAWqI,iBAAzC,EAA4D,KAAKrI,KAAL,CAAWuI,iBAAvE,CAAnB;AACH;;AACU,MAAPs9B,OAAO,GAAG;AACV,WAAOD,YAAY,CAAC,KAAK5lC,KAAN,EAAa,KAAK4kC,UAAlB,EAA8B,KAAK5kC,KAAL,CAAWuI,iBAAzC,EAA4D,KAAKq8B,UAAL,CAAgB98I,MAA5E,CAAnB;AACH;AACD;AACJ;AACA;;;AACkB,MAAVg+I,UAAU,GAAG;AACb,UAAMA,UAAU,GAAG,EAAnB;AACA,QAAI71B,KAAK,GAAG,KAAKu1B,SAAjB;;AACA,WAAOv1B,KAAP,EAAc;AACV61B,MAAAA,UAAU,CAACn/I,IAAX,CAAgBspH,KAAhB;AACAA,MAAAA,KAAK,GAAGA,KAAK,CAAC76G,IAAd;AACH;;AACD,WAAO0wI,UAAP;AACH;;AAtGY;;AAwGjB,SAAST,SAAT,CAAmBnvI,IAAnB,EAAyB;AACrB,MAAIA,IAAI,CAACnS,IAAL,KAAc,kBAAlB,EAAsC;AAClC,WAAO,CAACmS,IAAI,CAAC48B,QAAL,IAAiB,EAAlB,EAAsB1mC,GAAtB,CAA0Bi5I,SAA1B,EAAqCh6I,IAArC,CAA0C,EAA1C,CAAP;AACH,GAFD,MAGK,IAAI6K,IAAI,CAACnS,IAAL,KAAc,cAAlB,EAAkC;AACnC,UAAM,IAAIqH,KAAJ,CAAU,iBAAV,CAAN;AACH,GAFI,MAGA;AACD,WAAOq5I,MAAM,CAACvuI,IAAI,CAACk+G,MAAN,EAAc,IAAd,CAAN,IAA6B,EAApC;AACH;AACJ;;AACD,SAASwxB,YAAT,CAAsB5lC,KAAtB,EAA6B8G,KAA7B,EAAoCzgG,KAApC,EAA2CmvD,GAA3C,EAAgD;AAC5C,MAAI7H,OAAO,GAAG,EAAd;;AACA,OAAK,IAAI5iD,KAAK,GAAG1E,KAAjB,EAAwB0E,KAAK,GAAGyqD,GAAhC,EAAqCzqD,KAAK,EAA1C,EAA8C;AAC1C4iD,IAAAA,OAAO,CAAChnE,IAAR,CAAa;AAAEokB,MAAAA,KAAK,EAAEA,KAAT;AAAgBra,MAAAA,CAAC,EAAEsvG,KAAK,CAAC9zG,IAAN,CAAW6e,KAAX,CAAnB;AAAsCg7H,MAAAA,CAAC,EAAEj/B,KAAK,CAAC/7F,KAAD;AAA9C,KAAb;AACH;;AACD,SAAO;AAAE1E,IAAAA,KAAK,EAAEA,KAAT;AAAgBmvD,IAAAA,GAAG,EAAEA,GAArB;AAA0B1tE,IAAAA,MAAM,EAAE0tE,GAAG,GAAGnvD,KAAxC;AAA+CsnD,IAAAA,OAAO,EAAEA;AAAxD,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS23E,YAAT,CAAsBvlC,KAAtB,EAA6B+G,KAA7B,EAAoC;AAChC,MAAI/G,KAAJ,EAAW;AACP,UAAMimC,UAAU,GAAG,EAAnB;AACA,QAAIC,WAAW,GAAGlmC,KAAlB;;AACA,WAAOkmC,WAAP,EAAoB;AAChBD,MAAAA,UAAU,CAACr/I,IAAX,CAAgB87I,cAAc,CAACwD,WAAD,EAAcn/B,KAAd,CAA9B;AACAm/B,MAAAA,WAAW,GAAGA,WAAW,CAAC7wI,IAA1B;AACH;;AACD,WAAO4wI,UAAP;AACH,GARD,MASK;AACD,WAAO,EAAP;AACH;AACJ;;AACD,SAASvD,cAAT,CAAwB1iC,KAAxB,EAA+B+G,KAA/B,EAAsC;AAClC,QAAMo/B,QAAQ,GAAGp/B,KAAK,CAAC/G,KAAK,CAACh1F,KAAP,CAAtB;AACA,QAAMqpG,MAAM,GAAGnJ,WAAW,CAACi7B,QAAD,CAA1B;AACA,QAAMC,SAAS,GAAG,EAAlB;AACA,QAAMC,SAAS,GAAG,EAAlB;AACA,QAAMpmC,KAAK,GAAG8G,KAAK,CAACrC,KAAD,CAAnB;;AACA,OAAK,IAAI31G,CAAC,GAAGixG,KAAK,CAAC2R,cAAnB,EAAmC5iH,CAAC,GAAGixG,KAAK,CAAC4R,YAA7C,EAA2D7iH,CAAC,EAA5D,EAAgE;AAC5D,UAAM2K,GAAG,GAAGumG,KAAK,CAAC9zG,IAAN,CAAW4C,CAAX,CAAZ;AACAq3I,IAAAA,SAAS,CAACx/I,IAAV,CAAe8S,GAAG,CAAC1V,IAAnB;AACAqiJ,IAAAA,SAAS,CAACz/I,IAAV,CAAemgH,KAAK,CAACh4G,CAAD,CAApB;AACH;;AACD,SAAO;AACH4hD,IAAAA,IAAI,EAAE+zF,MAAM,CAACrwB,MAAD,CADT;AAEHrwH,IAAAA,IAAI,EAAE4vH,mBAAmB,CAAC5T,KAAK,CAACh8G,IAAP,CAFtB;AAGHg8G,IAAAA,KAHG;AAIHqU,IAAAA,MAAM,EAAEA,MAJL;AAKHthF,IAAAA,QAAQ,EAAEwyG,YAAY,CAACvlC,KAAK,CAACkQ,KAAP,EAAcnJ,KAAd,CALnB;AAMHq/B,IAAAA,SANG;AAOHC,IAAAA,SAPG;AAQHh3E,IAAAA,QAAQ,EAAEi3E,sBAAsB,CAACtmC,KAAD,EAAQC,KAAR,EAAe8G,KAAf,CAR7B;;AASH,QAAIw/B,sBAAJ,GAA6B;AACzB,aAAOvmC,KAAK,CAACyiC,qBAAN,CAA4B17B,KAA5B,CAAP;AACH;;AAXE,GAAP;AAaH;;AACD,SAASu/B,sBAAT,CAAgCtmC,KAAhC,EAAuCC,KAAvC,EAA8C8G,KAA9C,EAAqD;AACjD,QAAMy/B,aAAa,GAAG,EAAtB;;AACA,OAAK,IAAIz3I,CAAC,GAAGixG,KAAK,CAAC+iC,mBAAnB,EAAwCh0I,CAAC,GAAGixG,KAAK,CAACgjC,iBAAlD,EAAqEj0I,CAAC,EAAtE,EAA0E;AACtEy3I,IAAAA,aAAa,CAAC5/I,IAAd,CAAmBq5G,KAAK,CAAC9zG,IAAN,CAAW4C,CAAX,CAAnB;AACH;;AACD,QAAMy/C,SAAS,GAAG,EAAlB;;AACA,OAAK,IAAIz/C,CAAC,GAAGixG,KAAK,CAACgjC,iBAAnB,EAAsCj0I,CAAC,GAAGixG,KAAK,CAAC4R,YAAhD,EAA8D7iH,CAAC,EAA/D,EAAmE;AAC/Dy/C,IAAAA,SAAS,CAAC5nD,IAAV,CAAeq5G,KAAK,CAAC9zG,IAAN,CAAW4C,CAAX,CAAf;AACH;;AACD,QAAM03I,iBAAiB,GAAG;AACtBC,IAAAA,KAAK,EAAEC,OAAO,CAAC5/B,KAAD,EAAQ/G,KAAK,CAACgJ,aAAd,CADQ;AAEtB49B,IAAAA,eAAe,EAAED,OAAO,CAAC1mC,KAAK,CAAC9zG,IAAP,EAAa6zG,KAAK,CAACgJ,aAAnB,CAFF;AAGtBx6D,IAAAA,SAHsB;AAItBg4F,IAAAA,aAJsB;AAKtBhxB,IAAAA,mBAAmB,EAAEzO,KAAK,CAAC/G,KAAK,CAAC+iC,mBAAN,GAA4B,CAA7B;AALJ,GAA1B;AAOA,SAAO0D,iBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,MAAT,CAAgB1oB,KAAhB,EAAuB7tB,GAAvB,EAA4B;AACxB,QAAM9jG,KAAK,GAAG2xH,KAAK,CAAC7tB,GAAD,CAAnB,CADwB,CAExB;AACA;;AACA,MAAI,OAAO9jG,KAAP,KAAiB,QAArB,EACI,OAAO,UAAP,CALoB,CAMxB;;AACA,QAAMwkF,IAAI,GAAG,aAAaxkF,KAAK,CAAC3C,QAAN,CAAe,CAAf,CAA1B;AACA,SAAOmnF,IAAI,CAAC/jF,SAAL,CAAe+jF,IAAI,CAACjpF,MAAL,GAAc,CAA7B,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4+I,OAAT,CAAiBxoB,KAAjB,EAAwB7tB,GAAxB,EAA6B;AACzB,MAAIA,GAAG,GAAG,CAAV,EAAa;AACT,WAAO,kBAAP;AACH;;AACD,SAAQ,GAAEu2C,MAAM,CAAC1oB,KAAD,EAAQ7tB,GAAG,GAAG,CAAd,CAAiB,IAAGu2C,MAAM,CAAC1oB,KAAD,EAAQ7tB,GAAG,GAAG,CAAd,CAAiB,IAAGu2C,MAAM,CAAC1oB,KAAD,EAAQ7tB,GAAG,GAAG,CAAd,CAAiB,IAAGu2C,MAAM,CAAC1oB,KAAD,EAAQ7tB,GAAG,GAAG,CAAd,CAAiB,IAAGu2C,MAAM,CAAC1oB,KAAD,EAAQ7tB,GAAG,GAAG,CAAd,CAAiB,IAAGu2C,MAAM,CAAC1oB,KAAD,EAAQ7tB,GAAG,GAAG,CAAd,CAAiB,IAAGu2C,MAAM,CAAC1oB,KAAD,EAAQ7tB,GAAG,GAAG,CAAd,CAAiB,IAAGu2C,MAAM,CAAC1oB,KAAD,EAAQ7tB,GAAG,GAAG,CAAd,CAAiB,EAAvN;AACH;;AACD,MAAMk0C,eAAN,CAAsB;AAClB5+I,EAAAA,WAAW,CAACkhJ,eAAD,EAAkB;AACzB,SAAKA,eAAL,GAAuBA,eAAvB;AACH;;AACuB,MAApBC,oBAAoB,GAAG;AACvB,WAAO,KAAKD,eAAL,CAAqB7gC,sBAArB,CAAP;AACH;;AACQ,MAAL+gC,KAAK,GAAG;AACR,WAAO,KAAKF,eAAL,CAAqBxjI,KAArB,CAA2B+iG,uBAA3B,EACFh6G,GADE,CACEo4I,OADF,CAAP;AAEH;;AACS,MAAN90H,MAAM,GAAG;AACT,WAAO80H,OAAO,CAAC,KAAKqC,eAAL,CAAqBliC,MAArB,CAAD,CAAd;AACH;;AACa,MAAVonB,UAAU,GAAG;AACb,WAAO,KAAK8a,eAAL,CAAqB1gC,WAArB,CAAP;AACH;;AACO,MAAJl4G,IAAI,GAAG;AACP,WAAO,KAAK44I,eAAL,CAAqBriC,IAArB,CAAP;AACH;;AACS,MAAN4P,MAAM,GAAG;AACT,WAAO,KAAKyyB,eAAL,CAAqB5gC,MAArB,CAAP;AACH;;AACO,MAAJ7wG,IAAI,GAAG;AACP,WAAOovI,OAAO,CAAC,KAAKqC,eAAL,CAAqBjiC,IAArB,CAAD,CAAd;AACH;;AAzBiB;;AA4BtB,MAAMoiC,IAAI,GAAG,MAAMzhJ,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAnB;AACA;AACA;AACA;AACA;;;AACA,MAAMyhJ,cAAc,gBAAID,IAAD,EAAvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,yBAAT,CAAmClnC,KAAnC,EAA0C8G,KAA1C,EAAiD;AAC7C,QAAMk6B,kBAAkB,GAAGhhC,KAAK,CAACghC,kBAAjC;AACA,MAAIA,kBAAkB,KAAK,IAA3B,EACI;;AACJ,MAAI;AACA,SAAK,IAAIlyI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkyI,kBAAkB,CAACl5I,MAAvC,EAA+CgH,CAAC,EAAhD,EAAoD;AAChD,YAAMq4I,MAAM,GAAGnG,kBAAkB,CAAClyI,CAAD,CAAjC;;AACA,UAAIq4I,MAAM,GAAG,CAAb,EAAgB;AACZ;AACAv2B,QAAAA,gBAAgB,CAAC,CAACu2B,MAAF,CAAhB;AACH,OAHD,MAIK;AACD;AACA,cAAMC,YAAY,GAAGD,MAArB;AACA,cAAME,eAAe,GAAGrG,kBAAkB,CAAC,EAAElyI,CAAH,CAA1C;AACA,cAAMw4I,aAAa,GAAGtG,kBAAkB,CAAC,EAAElyI,CAAH,CAAxC;AACA6/G,QAAAA,6BAA6B,CAAC04B,eAAD,EAAkBD,YAAlB,CAA7B;AACA,cAAMjxI,OAAO,GAAG2wG,KAAK,CAACsgC,YAAD,CAArB;AACAE,QAAAA,aAAa,CAAC;AAAE;AAAH,UAAiBnxI,OAAjB,CAAb;AACH;AACJ;AACJ,GAjBD,SAkBQ;AACJy6G,IAAAA,gBAAgB,CAAC,CAAC,CAAF,CAAhB;AACH;AACJ;AACD;;;AACA,SAAS22B,qBAAT,CAA+BvnC,KAA/B,EAAsC8G,KAAtC,EAA6C;AACzC,QAAMxE,cAAc,GAAGtC,KAAK,CAACsC,cAA7B;;AACA,MAAIA,cAAc,KAAK,IAAvB,EAA6B;AACzB,SAAK,IAAIxzG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwzG,cAAc,CAACx6G,MAAnC,EAA2CgH,CAAC,IAAI,CAAhD,EAAmD;AAC/C,YAAM04I,aAAa,GAAGllC,cAAc,CAACxzG,CAAD,CAApC;AACA,YAAM24I,eAAe,GAAGnlC,cAAc,CAACxzG,CAAC,GAAG,CAAL,CAAtC;;AACA,UAAI24I,eAAe,KAAK,CAAC,CAAzB,EAA4B;AACxB,cAAMp2B,YAAY,GAAGrR,KAAK,CAAC9zG,IAAN,CAAWu7I,eAAX,CAArB;AACA12I,QAAAA,SAAS,IAAI+rG,aAAa,CAACuU,YAAD,EAAe,yBAAf,CAA1B;AACAtgH,QAAAA,SAAS,IACL+rG,aAAa,CAACuU,YAAY,CAAC/O,cAAd,EAA8B,2CAA9B,CADjB;AAEA4M,QAAAA,oBAAoB,CAACs4B,aAAD,CAApB;AACAn2B,QAAAA,YAAY,CAAC/O,cAAb,CAA4B;AAAE;AAA9B,UAA4CwE,KAAK,CAAC2gC,eAAD,CAAjD,EAAoEA,eAApE;AACH;AACJ;AACJ;AACJ;AACD;;;AACA,SAASC,sBAAT,CAAgCC,SAAhC,EAA2C7f,UAA3C,EAAuD;AACnD,OAAK,IAAIh5H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGg5H,UAAU,CAAChgI,MAA/B,EAAuCgH,CAAC,EAAxC,EAA4C;AACxC84I,IAAAA,gBAAgB,CAACD,SAAD,EAAY7f,UAAU,CAACh5H,CAAD,CAAtB,CAAhB;AACH;AACJ;AACD;;;AACA,SAAS+4I,qBAAT,CAA+BF,SAA/B,EAA0C7f,UAA1C,EAAsD;AAClD,OAAK,IAAIh5H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGg5H,UAAU,CAAChgI,MAA/B,EAAuCgH,CAAC,EAAxC,EAA4C;AACxCg5I,IAAAA,eAAe,CAACH,SAAD,EAAY7f,UAAU,CAACh5H,CAAD,CAAtB,CAAf;AACH;AACJ;;AACD,SAASi5I,WAAT,CAAqBx4B,WAArB,EAAkCvP,KAAlC,EAAyC7pG,OAAzC,EAAkDuoG,KAAlD,EAAyDzwG,IAAzD,EAA+D+5I,SAA/D,EAA0EzC,eAA1E,EAA2F36B,QAA3F,EAAqGktB,SAArG,EAAgH1oE,QAAhH,EAA0H;AACtH,QAAM03C,KAAK,GAAG/1G,SAAS,GAAGwvI,8BAA8B,CAACvgC,KAAD,CAAjC,GAA2CA,KAAK,CAAC0W,SAAN,CAAgBrzG,KAAhB,EAAlE;AACAyjG,EAAAA,KAAK,CAACtC,IAAD,CAAL,GAAcv2G,IAAd;AACA64G,EAAAA,KAAK,CAACpC,KAAD,CAAL,GAAehG,KAAK,GAAG;AAAE;AAAV,IAA+B;AAAI;AAAnC,IAAoD;AAAE;AAArE;AACAsN,EAAAA,sBAAsB,CAAClF,KAAD,CAAtB;AACA/1G,EAAAA,SAAS,IAAIivG,KAAK,CAACoP,SAAnB,IAAgCG,WAAhC,IAA+C1I,mBAAmB,CAAC7G,KAAK,CAACoP,SAAP,EAAkBG,WAAlB,CAAlE;AACAzI,EAAAA,KAAK,CAACnC,MAAD,CAAL,GAAgBmC,KAAK,CAACvB,gBAAD,CAAL,GAA0BgK,WAA1C;AACAzI,EAAAA,KAAK,CAAC9B,OAAD,CAAL,GAAiB7uG,OAAjB;AACA2wG,EAAAA,KAAK,CAAC5B,gBAAD,CAAL,GAA2BqgC,eAAe,IAAIh2B,WAAW,IAAIA,WAAW,CAACrK,gBAAD,CAAxE;AACAn0G,EAAAA,SAAS,IAAI+rG,aAAa,CAACgK,KAAK,CAAC5B,gBAAD,CAAN,EAA0B,6BAA1B,CAA1B;AACA4B,EAAAA,KAAK,CAAC3B,QAAD,CAAL,GAAmByF,QAAQ,IAAI2E,WAAW,IAAIA,WAAW,CAACpK,QAAD,CAAzD;AACAp0G,EAAAA,SAAS,IAAI+rG,aAAa,CAACgK,KAAK,CAAC3B,QAAD,CAAN,EAAkB,sBAAlB,CAA1B;AACA2B,EAAAA,KAAK,CAAC1B,SAAD,CAAL,GAAmB0yB,SAAS,IAAIvoB,WAAW,IAAIA,WAAW,CAACnK,SAAD,CAAvC,IAAsD,IAAzE;AACA0B,EAAAA,KAAK,CAAC7B,QAAD,CAAL,GAAkB71C,QAAQ,IAAImgD,WAAW,IAAIA,WAAW,CAACtK,QAAD,CAAtC,IAAoD,IAAtE;AACA6B,EAAAA,KAAK,CAAChC,MAAD,CAAL,GAAgBkjC,SAAhB;AACAj3I,EAAAA,SAAS,IACLurG,WAAW,CAAC0D,KAAK,CAACj8G,IAAN,IAAc;AAAE;AAAhB,IAAiCwrH,WAAW,KAAK,IAAjD,GAAwD,IAAzD,EAA+D,IAA/D,EAAqE,sCAArE,CADf;AAEAzI,EAAAA,KAAK,CAACtB,0BAAD,CAAL,GACIxF,KAAK,CAACj8G,IAAN,IAAc;AAAE;AAAhB,IAAiCwrH,WAAW,CAAC/J,0BAAD,CAA5C,GAA2EsB,KAD/E;AAEA/1G,EAAAA,SAAS,IAAIqzI,gBAAgB,CAACt9B,KAAD,CAA7B;AACA,SAAOA,KAAP;AACH;;AACD,SAASmhC,gBAAT,CAA0BjoC,KAA1B,EAAiCj1F,KAAjC,EAAwChnB,IAAxC,EAA8CF,IAA9C,EAAoDwwH,KAApD,EAA2D;AACvDtjH,EAAAA,SAAS,IAAIga,KAAK,KAAK,CAAvB,IAA4B;AACxB;AACAoxF,EAAAA,wBAAwB,CAACpxF,KAAD,EAAQ66F,aAAR,EAAuB,uCAAvB,CAF5B,CADuD,CAIvD;;AACA70G,EAAAA,SAAS,IAAImjH,mBAAmB,CAACnwH,IAAD,CAAhC;AACA,MAAIg8G,KAAK,GAAGC,KAAK,CAAC9zG,IAAN,CAAW6e,KAAX,CAAZ;;AACA,MAAIg1F,KAAK,KAAK,IAAd,EAAoB;AAChBA,IAAAA,KAAK,GAAGmoC,kBAAkB,CAACloC,KAAD,EAAQj1F,KAAR,EAAehnB,IAAf,EAAqBF,IAArB,EAA2BwwH,KAA3B,CAA1B;;AACA,QAAI7F,aAAa,EAAjB,EAAqB;AACjB;AACA;AACA;AACA;AACAzO,MAAAA,KAAK,CAACrB,KAAN,IAAe;AAAG;AAAlB;AACH;AACJ,GATD,MAUK,IAAIqB,KAAK,CAACh8G,IAAN,GAAa;AAAG;AAApB,IAAuC;AACxCg8G,IAAAA,KAAK,CAACh8G,IAAN,GAAaA,IAAb;AACAg8G,IAAAA,KAAK,CAACxzG,KAAN,GAAc1I,IAAd;AACAk8G,IAAAA,KAAK,CAACsU,KAAN,GAAcA,KAAd;AACA,UAAM3kG,MAAM,GAAGg+F,qBAAqB,EAApC;AACA3N,IAAAA,KAAK,CAACgJ,aAAN,GAAsBr5F,MAAM,KAAK,IAAX,GAAkB,CAAC,CAAnB,GAAuBA,MAAM,CAACq5F,aAApD;AACAh4G,IAAAA,SAAS,IAAIg2G,mBAAmB,CAAChH,KAAD,EAAQC,KAAR,CAAhC;AACAjvG,IAAAA,SAAS,IAAIurG,WAAW,CAACvxF,KAAD,EAAQg1F,KAAK,CAACh1F,KAAd,EAAqB,sBAArB,CAAxB;AACH;;AACD4iG,EAAAA,eAAe,CAAC5N,KAAD,EAAQ,IAAR,CAAf;AACA,SAAOA,KAAP;AACH;;AACD,SAASmoC,kBAAT,CAA4BloC,KAA5B,EAAmCj1F,KAAnC,EAA0ChnB,IAA1C,EAAgDF,IAAhD,EAAsDwwH,KAAtD,EAA6D;AACzD,QAAM7G,YAAY,GAAGC,4BAA4B,EAAjD;AACA,QAAMjG,QAAQ,GAAGoG,oBAAoB,EAArC;AACA,QAAMl+F,MAAM,GAAG83F,QAAQ,GAAGgG,YAAH,GAAkBA,YAAY,IAAIA,YAAY,CAAC99F,MAAtE,CAHyD,CAIzD;;AACA,QAAMqwF,KAAK,GAAGC,KAAK,CAAC9zG,IAAN,CAAW6e,KAAX,IACVo9H,WAAW,CAACnoC,KAAD,EAAQtwF,MAAR,EAAgB3rB,IAAhB,EAAsBgnB,KAAtB,EAA6BlnB,IAA7B,EAAmCwwH,KAAnC,CADf,CALyD,CAOzD;AACA;AACA;;AACA,MAAIrU,KAAK,CAAC8P,UAAN,KAAqB,IAAzB,EAA+B;AAC3B9P,IAAAA,KAAK,CAAC8P,UAAN,GAAmB/P,KAAnB;AACH;;AACD,MAAIyN,YAAY,KAAK,IAArB,EAA2B;AACvB,QAAIhG,QAAJ,EAAc;AACV;AACA,UAAIgG,YAAY,CAACyC,KAAb,IAAsB,IAAtB,IAA8BlQ,KAAK,CAACrwF,MAAN,KAAiB,IAAnD,EAAyD;AACrD;AACA89F,QAAAA,YAAY,CAACyC,KAAb,GAAqBlQ,KAArB;AACH;AACJ,KAND,MAOK;AACD,UAAIyN,YAAY,CAACp4G,IAAb,KAAsB,IAA1B,EAAgC;AAC5B;AACA;AACAo4G,QAAAA,YAAY,CAACp4G,IAAb,GAAoB2qG,KAApB;AACH;AACJ;AACJ;;AACD,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqoC,YAAT,CAAsBpoC,KAAtB,EAA6B8G,KAA7B,EAAoCuhC,eAApC,EAAqDC,YAArD,EAAmE;AAC/D,MAAID,eAAe,KAAK,CAAxB,EACI,OAAO,CAAC,CAAR;;AACJ,MAAIt3I,SAAJ,EAAe;AACX+2G,IAAAA,qBAAqB,CAAC9H,KAAD,CAArB;AACAvD,IAAAA,UAAU,CAACuD,KAAD,EAAQ8G,KAAK,CAACrC,KAAD,CAAb,EAAsB,0CAAtB,CAAV;AACAnI,IAAAA,WAAW,CAAC0D,KAAK,CAAC9zG,IAAN,CAAWpE,MAAZ,EAAoBg/G,KAAK,CAACh/G,MAA1B,EAAkC,0CAAlC,CAAX;AACAw0G,IAAAA,WAAW,CAAC0D,KAAK,CAAC9zG,IAAN,CAAWpE,MAAZ,EAAoBk4G,KAAK,CAAC0W,SAAN,CAAgB5uH,MAApC,EAA4C,8CAA5C,CAAX;AACAkgH,IAAAA,qBAAqB,CAAChI,KAAD,CAArB;AACH;;AACD,QAAMuoC,QAAQ,GAAGzhC,KAAK,CAACh/G,MAAvB;;AACA,OAAK,IAAIgH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGu5I,eAApB,EAAqCv5I,CAAC,EAAtC,EAA0C;AACtCg4G,IAAAA,KAAK,CAACngH,IAAN,CAAW2hJ,YAAX;AACAtoC,IAAAA,KAAK,CAAC0W,SAAN,CAAgB/vH,IAAhB,CAAqB2hJ,YAArB;AACAtoC,IAAAA,KAAK,CAAC9zG,IAAN,CAAWvF,IAAX,CAAgB,IAAhB;AACH;;AACD,SAAO4hJ,QAAP;AACH,EACD;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,UAAT,CAAoBxoC,KAApB,EAA2B8G,KAA3B,EAAkC3wG,OAAlC,EAA2C;AACvCpF,EAAAA,SAAS,IAAIurG,WAAW,CAACsP,cAAc,CAAC9E,KAAD,CAAf,EAAwB,IAAxB,EAA8B,gCAA9B,CAAxB;AACA2I,EAAAA,SAAS,CAAC3I,KAAD,CAAT;;AACA,MAAI;AACA,UAAM3qC,SAAS,GAAG6jC,KAAK,CAAC7jC,SAAxB;;AACA,QAAIA,SAAS,KAAK,IAAlB,EAAwB;AACpBssE,MAAAA,kBAAkB,CAAC;AAAE;AAAH,QAAiBtsE,SAAjB,EAA4BhmE,OAA5B,CAAlB;AACH,KAJD,CAKA;AACA;;;AACA,UAAMuyI,UAAU,GAAG1oC,KAAK,CAAC1wC,QAAzB;;AACA,QAAIo5E,UAAU,KAAK,IAAnB,EAAyB;AACrBC,MAAAA,eAAe,CAAC3oC,KAAD,EAAQ8G,KAAR,EAAe4hC,UAAf,EAA2B;AAAE;AAA7B,QAA2CvyI,OAA3C,CAAf;AACH,KAVD,CAWA;AACA;AACA;AACA;AACA;;;AACA,QAAI6pG,KAAK,CAACF,eAAV,EAA2B;AACvBE,MAAAA,KAAK,CAACF,eAAN,GAAwB,KAAxB;AACH,KAlBD,CAmBA;AACA;AACA;;;AACA,QAAIE,KAAK,CAACkhC,oBAAV,EAAgC;AAC5BqG,MAAAA,qBAAqB,CAACvnC,KAAD,EAAQ8G,KAAR,CAArB;AACH,KAxBD,CAyBA;AACA;AACA;;;AACA,QAAI9G,KAAK,CAACihC,iBAAV,EAA6B;AACzBwH,MAAAA,kBAAkB,CAAC;AAAE;AAAH,QAAiBzoC,KAAK,CAAC7jC,SAAvB,EAAkChmE,OAAlC,CAAlB;AACH,KA9BD,CA+BA;;;AACA,UAAM2xH,UAAU,GAAG9nB,KAAK,CAAC8nB,UAAzB;;AACA,QAAIA,UAAU,KAAK,IAAnB,EAAyB;AACrB+f,MAAAA,qBAAqB,CAAC/gC,KAAD,EAAQghB,UAAR,CAArB;AACH;AACJ,GApCD,CAqCA,OAAOrzG,KAAP,EAAc;AACV;AACA;AACA,QAAIurF,KAAK,CAACF,eAAV,EAA2B;AACvBE,MAAAA,KAAK,CAACqhC,mBAAN,GAA4B,IAA5B;AACArhC,MAAAA,KAAK,CAACF,eAAN,GAAwB,KAAxB;AACH;;AACD,UAAMrrF,KAAN;AACH,GA7CD,SA8CQ;AACJqyF,IAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB,CAAC;AAAE;AAAnB;AACA2L,IAAAA,SAAS;AACZ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASu4B,WAAT,CAAqB5oC,KAArB,EAA4B8G,KAA5B,EAAmC4hC,UAAnC,EAA+CvyI,OAA/C,EAAwD;AACpDpF,EAAAA,SAAS,IAAIurG,WAAW,CAACsP,cAAc,CAAC9E,KAAD,CAAf,EAAwB,KAAxB,EAA+B,8BAA/B,CAAxB;AACA,QAAMpI,KAAK,GAAGoI,KAAK,CAACpC,KAAD,CAAnB;AACA,MAAI,CAAChG,KAAK,GAAG;AAAI;AAAb,QAAkC;AAAI;AAA1C,IACI;AACJ+Q,EAAAA,SAAS,CAAC3I,KAAD,CAAT,CALoD,CAMpD;AACA;;AACA,QAAM+hC,sBAAsB,GAAGp8B,sBAAsB,EAArD;;AACA,MAAI;AACAT,IAAAA,sBAAsB,CAAClF,KAAD,CAAtB;AACAuH,IAAAA,eAAe,CAACrO,KAAK,CAACqI,iBAAP,CAAf;;AACA,QAAIqgC,UAAU,KAAK,IAAnB,EAAyB;AACrBC,MAAAA,eAAe,CAAC3oC,KAAD,EAAQ8G,KAAR,EAAe4hC,UAAf,EAA2B;AAAE;AAA7B,QAA2CvyI,OAA3C,CAAf;AACH;;AACD,UAAM+oI,uBAAuB,GAAG,CAACxgC,KAAK,GAAG;AAAE;AAAX,UAAyC;AAAE;AAA3E,KANA,CAOA;AACA;;AACA,QAAI,CAACmqC,sBAAL,EAA6B;AACzB,UAAI3J,uBAAJ,EAA6B;AACzB,cAAM1tB,kBAAkB,GAAGxR,KAAK,CAACwR,kBAAjC;;AACA,YAAIA,kBAAkB,KAAK,IAA3B,EAAiC;AAC7BY,UAAAA,iBAAiB,CAACtL,KAAD,EAAQ0K,kBAAR,EAA4B,IAA5B,CAAjB;AACH;AACJ,OALD,MAMK;AACD,cAAMD,aAAa,GAAGvR,KAAK,CAACuR,aAA5B;;AACA,YAAIA,aAAa,KAAK,IAAtB,EAA4B;AACxBgB,UAAAA,wBAAwB,CAACzL,KAAD,EAAQyK,aAAR,EAAuB;AAAE;AAAzB,YAAmD,IAAnD,CAAxB;AACH;;AACDkB,QAAAA,uBAAuB,CAAC3L,KAAD,EAAQ;AAAE;AAAV,SAAvB;AACH;AACJ,KAvBD,CAwBA;AACA;AACA;;;AACAgiC,IAAAA,+BAA+B,CAAChiC,KAAD,CAA/B;AACAiiC,IAAAA,oBAAoB,CAACjiC,KAAD,CAApB,CA5BA,CA6BA;;AACA,QAAI9G,KAAK,CAACsC,cAAN,KAAyB,IAA7B,EAAmC;AAC/BilC,MAAAA,qBAAqB,CAACvnC,KAAD,EAAQ8G,KAAR,CAArB;AACH,KAhCD,CAiCA;AACA;;;AACA,QAAI,CAAC+hC,sBAAL,EAA6B;AACzB,UAAI3J,uBAAJ,EAA6B;AACzB,cAAMltB,iBAAiB,GAAGhS,KAAK,CAACgS,iBAAhC;;AACA,YAAIA,iBAAiB,KAAK,IAA1B,EAAgC;AAC5BI,UAAAA,iBAAiB,CAACtL,KAAD,EAAQkL,iBAAR,CAAjB;AACH;AACJ,OALD,MAMK;AACD,cAAMD,YAAY,GAAG/R,KAAK,CAAC+R,YAA3B;;AACA,YAAIA,YAAY,KAAK,IAArB,EAA2B;AACvBQ,UAAAA,wBAAwB,CAACzL,KAAD,EAAQiL,YAAR,EAAsB;AAAE;AAAxB,WAAxB;AACH;;AACDU,QAAAA,uBAAuB,CAAC3L,KAAD,EAAQ;AAAE;AAAV,SAAvB;AACH;AACJ;;AACDogC,IAAAA,yBAAyB,CAAClnC,KAAD,EAAQ8G,KAAR,CAAzB,CAlDA,CAmDA;;AACA,UAAMghB,UAAU,GAAG9nB,KAAK,CAAC8nB,UAAzB;;AACA,QAAIA,UAAU,KAAK,IAAnB,EAAyB;AACrB4f,MAAAA,sBAAsB,CAAC5gC,KAAD,EAAQghB,UAAR,CAAtB;AACH,KAvDD,CAwDA;AACA;AACA;;;AACA,UAAM3rD,SAAS,GAAG6jC,KAAK,CAAC7jC,SAAxB;;AACA,QAAIA,SAAS,KAAK,IAAlB,EAAwB;AACpBssE,MAAAA,kBAAkB,CAAC;AAAE;AAAH,QAAiBtsE,SAAjB,EAA4BhmE,OAA5B,CAAlB;AACH,KA9DD,CA+DA;AACA;;;AACA,QAAI,CAAC0yI,sBAAL,EAA6B;AACzB,UAAI3J,uBAAJ,EAA6B;AACzB,cAAMhtB,cAAc,GAAGlS,KAAK,CAACkS,cAA7B;;AACA,YAAIA,cAAc,KAAK,IAAvB,EAA6B;AACzBE,UAAAA,iBAAiB,CAACtL,KAAD,EAAQoL,cAAR,CAAjB;AACH;AACJ,OALD,MAMK;AACD,cAAMD,SAAS,GAAGjS,KAAK,CAACiS,SAAxB;;AACA,YAAIA,SAAS,KAAK,IAAlB,EAAwB;AACpBM,UAAAA,wBAAwB,CAACzL,KAAD,EAAQmL,SAAR,EAAmB;AAAE;AAArB,WAAxB;AACH;;AACDQ,QAAAA,uBAAuB,CAAC3L,KAAD,EAAQ;AAAE;AAAV,SAAvB;AACH;AACJ;;AACD,QAAI9G,KAAK,CAACiI,eAAN,KAA0B,IAA9B,EAAoC;AAChC;AACA;AACA;AACA;AACA;AACA;AACAjI,MAAAA,KAAK,CAACiI,eAAN,GAAwB,KAAxB;AACH,KAxFD,CAyFA;AACA;AACA;AACA;AACA;AACA;;;AACA,QAAI,CAAC4gC,sBAAL,EAA6B;AACzB/hC,MAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB,EAAE;AAAG;AAAH,QAAiB;AAAE;AAArB,OAAhB;AACH;;AACD,QAAIoC,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAK;AAAxB,MAAuD;AACnDoC,MAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB,CAAC;AAAK;AAAtB;AACAuH,MAAAA,2BAA2B,CAACnF,KAAK,CAACnC,MAAD,CAAN,EAAgB,CAAC,CAAjB,CAA3B;AACH;AACJ,GAtGD,SAuGQ;AACJ0L,IAAAA,SAAS;AACZ;AACJ;;AACD,SAAS24B,yBAAT,CAAmChpC,KAAnC,EAA0C8G,KAA1C,EAAiD4hC,UAAjD,EAA6DvyI,OAA7D,EAAsE;AAClE,QAAMovI,eAAe,GAAGz+B,KAAK,CAAC5B,gBAAD,CAA7B;AACA,QAAM+jC,mBAAmB,GAAG,CAACx8B,sBAAsB,EAAnD;AACA,QAAMy8B,oBAAoB,GAAGt9B,cAAc,CAAC9E,KAAD,CAA3C;;AACA,MAAI;AACA,QAAImiC,mBAAmB,IAAI,CAACC,oBAAxB,IAAgD3D,eAAe,CAAC4D,KAApE,EAA2E;AACvE5D,MAAAA,eAAe,CAAC4D,KAAhB;AACH;;AACD,QAAID,oBAAJ,EAA0B;AACtBV,MAAAA,UAAU,CAACxoC,KAAD,EAAQ8G,KAAR,EAAe3wG,OAAf,CAAV;AACH;;AACDyyI,IAAAA,WAAW,CAAC5oC,KAAD,EAAQ8G,KAAR,EAAe4hC,UAAf,EAA2BvyI,OAA3B,CAAX;AACH,GARD,SASQ;AACJ,QAAI8yI,mBAAmB,IAAI,CAACC,oBAAxB,IAAgD3D,eAAe,CAAC/vE,GAApE,EAAyE;AACrE+vE,MAAAA,eAAe,CAAC/vE,GAAhB;AACH;AACJ;AACJ;;AACD,SAASmzE,eAAT,CAAyB3oC,KAAzB,EAAgC8G,KAAhC,EAAuC4hC,UAAvC,EAAmDznG,EAAnD,EAAuD9qC,OAAvD,EAAgE;AAC5D,QAAMizI,iBAAiB,GAAGz4B,gBAAgB,EAA1C;AACA,QAAM04B,aAAa,GAAGpoG,EAAE,GAAG;AAAE;AAA7B;;AACA,MAAI;AACA2vE,IAAAA,gBAAgB,CAAC,CAAC,CAAF,CAAhB;;AACA,QAAIy4B,aAAa,IAAIviC,KAAK,CAACh/G,MAAN,GAAe89G,aAApC,EAAmD;AAC/C;AACA;AACAo5B,MAAAA,mBAAmB,CAACh/B,KAAD,EAAQ8G,KAAR,EAAelB,aAAf,EAA8B6G,sBAAsB,EAApD,CAAnB;AACH;;AACD,UAAM68B,WAAW,GAAGD,aAAa,GAAG;AAAE;AAAL,MAAiC;AAAE;AAApE;AACAj/B,IAAAA,QAAQ,CAACk/B,WAAD,EAAcnzI,OAAd,CAAR;AACAuyI,IAAAA,UAAU,CAACznG,EAAD,EAAK9qC,OAAL,CAAV;AACH,GAVD,SAWQ;AACJy6G,IAAAA,gBAAgB,CAACw4B,iBAAD,CAAhB;AACA,UAAMG,YAAY,GAAGF,aAAa,GAAG;AAAE;AAAL,MAA+B;AAAE;AAAnE;AACAj/B,IAAAA,QAAQ,CAACm/B,YAAD,EAAepzI,OAAf,CAAR;AACH;AACJ,EACD;AACA;AACA;;;AACA,SAASqzI,qBAAT,CAA+BxpC,KAA/B,EAAsCD,KAAtC,EAA6C+G,KAA7C,EAAoD;AAChD,MAAIN,kBAAkB,CAACzG,KAAD,CAAtB,EAA+B;AAC3B,UAAM15F,KAAK,GAAG05F,KAAK,CAAC2R,cAApB;AACA,UAAMl8C,GAAG,GAAGuqC,KAAK,CAAC4R,YAAlB;;AACA,SAAK,IAAIP,cAAc,GAAG/qG,KAA1B,EAAiC+qG,cAAc,GAAG57C,GAAlD,EAAuD47C,cAAc,EAArE,EAAyE;AACrE,YAAM33G,GAAG,GAAGumG,KAAK,CAAC9zG,IAAN,CAAWklH,cAAX,CAAZ;;AACA,UAAI33G,GAAG,CAAC6oG,cAAR,EAAwB;AACpB7oG,QAAAA,GAAG,CAAC6oG,cAAJ,CAAmB;AAAE;AAArB,UAAmCwE,KAAK,CAACsK,cAAD,CAAxC,EAA0DA,cAA1D;AACH;AACJ;AACJ;AACJ;AACD;AACA;AACA;;;AACA,SAASq4B,yBAAT,CAAmCzpC,KAAnC,EAA0C8G,KAA1C,EAAiD/G,KAAjD,EAAwD;AACpD,MAAI,CAACgN,kBAAkB,EAAvB,EACI;AACJ28B,EAAAA,wBAAwB,CAAC1pC,KAAD,EAAQ8G,KAAR,EAAe/G,KAAf,EAAsBsL,gBAAgB,CAACtL,KAAD,EAAQ+G,KAAR,CAAtC,CAAxB;;AACA,MAAI,CAAC/G,KAAK,CAACrB,KAAN,GAAc;AAAI;AAAnB,QAA8C;AAAI;AAAtD,IAA6E;AACzEirC,IAAAA,4BAA4B,CAAC3pC,KAAD,EAAQ8G,KAAR,EAAe/G,KAAf,CAA5B;AACH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAAS6pC,wBAAT,CAAkCC,QAAlC,EAA4C9pC,KAA5C,EAAmD+pC,iBAAiB,GAAGz+B,gBAAvE,EAAyF;AACrF,QAAMsd,UAAU,GAAG5oB,KAAK,CAAC4oB,UAAzB;;AACA,MAAIA,UAAU,KAAK,IAAnB,EAAyB;AACrB,QAAIC,UAAU,GAAG7oB,KAAK,CAACh1F,KAAN,GAAc,CAA/B;;AACA,SAAK,IAAIjc,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG65H,UAAU,CAAC7gI,MAA/B,EAAuCgH,CAAC,IAAI,CAA5C,EAA+C;AAC3C,YAAMic,KAAK,GAAG49G,UAAU,CAAC75H,CAAC,GAAG,CAAL,CAAxB;AACA,YAAMvC,KAAK,GAAGwe,KAAK,KAAK,CAAC,CAAX,GACV++H,iBAAiB,CAAC/pC,KAAD,EAAQ8pC,QAAR,CADP,GAEVA,QAAQ,CAAC9+H,KAAD,CAFZ;AAGA8+H,MAAAA,QAAQ,CAACjhB,UAAU,EAAX,CAAR,GAAyBr8H,KAAzB;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw9I,yBAAT,CAAmCtwI,GAAnC,EAAwC;AACpC,QAAMumG,KAAK,GAAGvmG,GAAG,CAACumG,KAAlB,CADoC,CAEpC;AACA;;AACA,MAAIA,KAAK,KAAK,IAAV,IAAkBA,KAAK,CAACqhC,mBAA5B,EAAiD;AAC7C;AACA;AACA,UAAMjyB,SAAS,GAAG,IAAlB;AACA,WAAO31G,GAAG,CAACumG,KAAJ,GAAYgqC,WAAW,CAAC;AAAE;AAAH,MAAoB56B,SAApB,EAA+B31G,GAAG,CAAC61D,QAAnC,EAA6C71D,GAAG,CAACqjE,KAAjD,EAAwDrjE,GAAG,CAACsjE,IAA5D,EAAkEtjE,GAAG,CAACgpG,aAAtE,EAAqFhpG,GAAG,CAACipG,QAAzF,EAAmGjpG,GAAG,CAAC0iE,SAAvG,EAAkH1iE,GAAG,CAACopG,OAAtH,EAA+HppG,GAAG,CAACujE,MAAnI,CAA9B;AACH;;AACD,SAAOgjC,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgqC,WAAT,CAAqBjmJ,IAArB,EAA2BqrH,SAA3B,EAAsCs5B,UAAtC,EAAkD5rE,KAAlD,EAAyDC,IAAzD,EAA+DgmC,UAA/D,EAA2EG,KAA3E,EAAkF/mC,SAAlF,EAA6F0mC,OAA7F,EAAsGonC,eAAtG,EAAuH;AACnHl5I,EAAAA,SAAS,IAAIA,SAAS,CAACivG,KAAV,EAAb;AACA,QAAMqI,iBAAiB,GAAGzC,aAAa,GAAG9oC,KAA1C,CAFmH,CAGnH;AACA;AACA;;AACA,QAAMotE,iBAAiB,GAAG7hC,iBAAiB,GAAGtrC,IAA9C;AACA,QAAM25C,SAAS,GAAGyzB,mBAAmB,CAAC9hC,iBAAD,EAAoB6hC,iBAApB,CAArC;AACA,QAAMltE,MAAM,GAAG,OAAOitE,eAAP,KAA2B,UAA3B,GAAwCA,eAAe,EAAvD,GAA4DA,eAA3E;AACA,QAAMjqC,KAAK,GAAG0W,SAAS,CAACjS,KAAD,CAAT,GAAmB1zG,SAAS,GACtC,IAAI8vI,gBAAJ,CAAqB98I,IAArB,EAA2B;AAC3B2yH,EAAAA,SADA,EACW;AACXgyB,EAAAA,UAFA,EAEY;AACZ,MAHA,EAGM;AACNvsE,EAAAA,SAJA,EAIW;AACXizC,EAAAA,SALA,EAKW;AACXu0B,EAAAA,gBAAgB,CAACjtB,SAAD,CAAhB,CAA4B/0F,IAA5B,CAAiC,IAAjC,EAAuC0mF,iBAAvC,CANA,EAM2D;AAC3DA,EAAAA,iBAPA,EAOmB;AACnB6hC,EAAAA,iBARA,EAQmB;AACnB,MATA,EASM;AACN,MAVA,EAUM;AACN,MAXA,EAWM;AACN,OAZA,EAYO;AACP,OAbA,EAaO;AACP,MAdA,EAcM;AACN,MAfA,EAeM;AACN,MAhBA,EAgBM;AACN,MAjBA,EAiBM;AACN,MAlBA,EAkBM;AACN,MAnBA,EAmBM;AACN,MApBA,EAoBM;AACN,MArBA,EAqBM;AACN,MAtBA,EAsBM;AACN,MAvBA,EAuBM;AACN,SAAOnnC,UAAP,KAAsB,UAAtB,GAAmC;AAC/BA,EAAAA,UAAU,EADd,GACmB;AACfA,EAAAA,UA1BJ,EA0BgB;AAChB,SAAOG,KAAP,KAAiB,UAAjB,GAA8BA,KAAK,EAAnC,GAAwCA,KA3BxC,EA2B+C;AAC/C,MA5BA,EA4BM;AACNL,EAAAA,OA7BA,EA6BS;AACT7lC,EAAAA,MA9BA,EA8BQ;AACR,OA/BA,EA+BO;AACPF,EAAAA,KAhCA,EAgCO;AACPC,EAAAA,IAjCA,CADsC,GAmCtC;AACIh5E,IAAAA,IAAI,EAAEA,IADV;AAEI2yH,IAAAA,SAAS,EAAEA,SAFf;AAGIpnD,IAAAA,QAAQ,EAAEo5E,UAHd;AAII3H,IAAAA,OAAO,EAAE,IAJb;AAKI5kE,IAAAA,SAAS,EAAEA,SALf;AAMIizC,IAAAA,SAAS,EAAEA,SANf;AAOIljH,IAAAA,IAAI,EAAEwqH,SAAS,CAACrzG,KAAV,GAAkBse,IAAlB,CAAuB,IAAvB,EAA6B0mF,iBAA7B,CAPV;AAQIA,IAAAA,iBAAiB,EAAEA,iBARvB;AASIE,IAAAA,iBAAiB,EAAE2hC,iBATvB;AAUIlJ,IAAAA,kBAAkB,EAAE,IAVxB;AAWIlhC,IAAAA,eAAe,EAAE,IAXrB;AAYImI,IAAAA,eAAe,EAAE,IAZrB;AAaIg5B,IAAAA,iBAAiB,EAAE,KAbvB;AAcIC,IAAAA,oBAAoB,EAAE,KAd1B;AAeI3vB,IAAAA,aAAa,EAAE,IAfnB;AAgBIC,IAAAA,kBAAkB,EAAE,IAhBxB;AAiBIO,IAAAA,YAAY,EAAE,IAjBlB;AAkBIC,IAAAA,iBAAiB,EAAE,IAlBvB;AAmBIC,IAAAA,SAAS,EAAE,IAnBf;AAoBIC,IAAAA,cAAc,EAAE,IApBpB;AAqBIC,IAAAA,YAAY,EAAE,IArBlB;AAsBI5d,IAAAA,OAAO,EAAE,IAtBb;AAuBI+N,IAAAA,cAAc,EAAE,IAvBpB;AAwBIwlB,IAAAA,UAAU,EAAE,IAxBhB;AAyBIqZ,IAAAA,iBAAiB,EAAE,OAAOp+B,UAAP,KAAsB,UAAtB,GAAmCA,UAAU,EAA7C,GAAkDA,UAzBzE;AA0BIq+B,IAAAA,YAAY,EAAE,OAAOl+B,KAAP,KAAiB,UAAjB,GAA8BA,KAAK,EAAnC,GAAwCA,KA1B1D;AA2BI4M,IAAAA,UAAU,EAAE,IA3BhB;AA4BIjN,IAAAA,OAAO,EAAEA,OA5Bb;AA6BI7lC,IAAAA,MAAM,EAAEA,MA7BZ;AA8BIqkE,IAAAA,mBAAmB,EAAE;AA9BzB,GAnCJ;;AAmEA,MAAItwI,SAAJ,EAAe;AACX;AACA;AACA;AACAnG,IAAAA,MAAM,CAACw/I,IAAP,CAAYpqC,KAAZ;AACH;;AACD,SAAOA,KAAP;AACH;;AACD,SAASmqC,mBAAT,CAA6B9hC,iBAA7B,EAAgD6hC,iBAAhD,EAAmE;AAC/D,QAAMxzB,SAAS,GAAG3lH,SAAS,GAAG,IAAI6yI,cAAJ,EAAH,GAA0B,EAArD;;AACA,OAAK,IAAI90I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGo7I,iBAApB,EAAuCp7I,CAAC,EAAxC,EAA4C;AACxC4nH,IAAAA,SAAS,CAAC/vH,IAAV,CAAemI,CAAC,GAAGu5G,iBAAJ,GAAwB,IAAxB,GAA+By2B,SAA9C;AACH;;AACD,SAAOpoB,SAAP;AACH;;AACD,SAAS2zB,WAAT,CAAqBt5D,IAArB,EAA2BlgF,KAA3B,EAAkC;AAC9B,SAAO,IAAIzF,KAAJ,CAAW,aAAY2lF,IAAK,KAAIgqB,iBAAiB,CAAClqG,KAAD,CAAQ,GAAzD,CAAP;AACH;;AACD,SAASy5I,oBAAT,CAA8BhjB,QAA9B,EAAwCijB,iBAAxC,EAA2D;AACvD,MAAI,CAACjjB,QAAL,EAAe;AACX,QAAI,OAAOijB,iBAAP,KAA6B,QAAjC,EAA2C;AACvC,YAAMF,WAAW,CAAC,oCAAD,EAAuCE,iBAAvC,CAAjB;AACH,KAFD,MAGK;AACD,YAAMF,WAAW,CAAC,wBAAD,EAA2BE,iBAA3B,CAAjB;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,iBAAT,CAA2B5/B,QAA3B,EAAqC2/B,iBAArC,EAAwD9sE,aAAxD,EAAuE;AACnE,MAAIktC,oBAAoB,CAACC,QAAD,CAAxB,EAAoC;AAChC;AACA,UAAM6/B,eAAe,GAAGhtE,aAAa,KAAK3K,iBAAiB,CAAC43E,SAA5D;AACA,WAAO9/B,QAAQ,CAAC+/B,iBAAT,CAA2BJ,iBAA3B,EAA8CE,eAA9C,CAAP;AACH;;AACD,MAAInjB,QAAQ,GAAG,OAAOijB,iBAAP,KAA6B,QAA7B,GACX3/B,QAAQ,CAAC57G,aAAT,CAAuBu7I,iBAAvB,CADW,GAEXA,iBAFJ;AAGAx5I,EAAAA,SAAS,IAAIu5I,oBAAoB,CAAChjB,QAAD,EAAWijB,iBAAX,CAAjC,CATmE,CAUnE;AACA;AACA;AACA;;AACAjjB,EAAAA,QAAQ,CAAC/nG,WAAT,GAAuB,EAAvB;AACA,SAAO+nG,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsjB,uBAAT,CAAiC5qC,KAAjC,EAAwC8G,KAAxC,EAA+C3wG,OAA/C,EAAwD00I,SAAxD,EAAmE;AAC/D,QAAMhe,QAAQ,GAAGie,uBAAuB,CAAChkC,KAAD,CAAxC;;AACA,MAAI3wG,OAAO,KAAK,IAAhB,EAAsB;AAClB;AACA;AACA,QAAIpF,SAAJ,EAAe;AACXnG,MAAAA,MAAM,CAAC42G,MAAP,CAAcupC,uBAAuB,CAAC/qC,KAAD,CAArC;AACH;;AACD6sB,IAAAA,QAAQ,CAAClmI,IAAT,CAAckkJ,SAAd;AACH,GAPD,MAQK;AACDhe,IAAAA,QAAQ,CAAClmI,IAAT,CAAcwP,OAAd;;AACA,QAAI6pG,KAAK,CAACF,eAAV,EAA2B;AACvBirC,MAAAA,uBAAuB,CAAC/qC,KAAD,CAAvB,CAA+Br5G,IAA/B,CAAoCkkJ,SAApC,EAA+Che,QAAQ,CAAC/kI,MAAT,GAAkB,CAAjE;AACH;AACJ;AACJ;;AACD,SAASqgJ,WAAT,CAAqBnoC,KAArB,EAA4BgrC,OAA5B,EAAqCjnJ,IAArC,EAA2CgnB,KAA3C,EAAkDxe,KAAlD,EAAyD8nH,KAAzD,EAAgE;AAC5DtjH,EAAAA,SAAS,IAAIga,KAAK,KAAK,CAAvB,IAA4B;AACxB;AACAoxF,EAAAA,wBAAwB,CAACpxF,KAAD,EAAQ66F,aAAR,EAAuB,uCAAvB,CAF5B;AAGA70G,EAAAA,SAAS,IAAI2rG,aAAa,CAAC2X,KAAD,EAAQpoH,SAAR,EAAmB,gDAAnB,CAA1B;AACA8E,EAAAA,SAAS,IAAIA,SAAS,CAACgvG,KAAV,EAAb;AACAhvG,EAAAA,SAAS,IAAIi6I,OAAb,IAAwBjkC,mBAAmB,CAACikC,OAAD,EAAUhrC,KAAV,CAA3C;AACA,MAAI+I,aAAa,GAAGiiC,OAAO,GAAGA,OAAO,CAACjiC,aAAX,GAA2B,CAAC,CAAvD;AACA,QAAMhJ,KAAK,GAAGhvG,SAAS,GACnB,IAAIiyI,UAAJ,CAAehjC,KAAf,EAAsB;AACtBj8G,EAAAA,IADA,EACM;AACNgnB,EAAAA,KAFA,EAEO;AACP,MAHA,EAGM;AACNg+F,EAAAA,aAJA,EAIe;AACf,GAAC,CALD,EAKI;AACJ,GAAC,CAND,EAMI;AACJ,GAAC,CAPD,EAOI;AACJ,MARA,EAQM;AACN,GATA,EASG;AACH,GAVA,EAUG;AACHx8G,EAAAA,KAXA,EAWO;AACP8nH,EAAAA,KAZA,EAYO;AACP,MAbA,EAaM;AACN,MAdA,EAcM;AACNpoH,EAAAA,SAfA,EAeW;AACX,MAhBA,EAgBM;AACN,MAjBA,EAiBM;AACN,MAlBA,EAkBM;AACN,MAnBA,EAmBM;AACN,MApBA,EAoBM;AACN,MArBA,EAqBM;AACN++I,EAAAA,OAtBA,EAsBS;AACT,MAvBA,EAuBM;AACN,MAxBA,EAwBM;AACN,MAzBA,EAyBM;AACN/+I,EAAAA,SA1BA,EA0BW;AACX,MA3BA,EA2BM;AACN,MA5BA,EA4BM;AACNA,EAAAA,SA7BA,EA6BW;AACX,GA9BA,EA8BG;AACH,GA/BA,CADmB,GAiCnB;AACIlI,IAAAA,IADJ;AAEIgnB,IAAAA,KAFJ;AAGI62H,IAAAA,iBAAiB,EAAE,IAHvB;AAII74B,IAAAA,aAJJ;AAKI2I,IAAAA,cAAc,EAAE,CAAC,CALrB;AAMIC,IAAAA,YAAY,EAAE,CAAC,CANnB;AAOIkwB,IAAAA,oBAAoB,EAAE,CAAC,CAP3B;AAQIC,IAAAA,gBAAgB,EAAE,IARtB;AASIpjC,IAAAA,KAAK,EAAE,CATX;AAUIma,IAAAA,eAAe,EAAE,CAVrB;AAWItsH,IAAAA,KAAK,EAAEA,KAXX;AAYI8nH,IAAAA,KAAK,EAAEA,KAZX;AAaI0tB,IAAAA,WAAW,EAAE,IAbjB;AAcIpZ,IAAAA,UAAU,EAAE,IAdhB;AAeIqZ,IAAAA,aAAa,EAAE/1I,SAfnB;AAgBI0oC,IAAAA,MAAM,EAAE,IAhBZ;AAiBIwJ,IAAAA,OAAO,EAAE,IAjBb;AAkBI8jG,IAAAA,MAAM,EAAE,IAlBZ;AAmBI7sI,IAAAA,IAAI,EAAE,IAnBV;AAoBIo6H,IAAAA,cAAc,EAAE,IApBpB;AAqBIvf,IAAAA,KAAK,EAAE,IArBX;AAsBIvgG,IAAAA,MAAM,EAAEs7H,OAtBZ;AAuBIpiC,IAAAA,UAAU,EAAE,IAvBhB;AAwBIzkH,IAAAA,MAAM,EAAE,IAxBZ;AAyBI+9I,IAAAA,iBAAiB,EAAE,IAzBvB;AA0BIC,IAAAA,cAAc,EAAEl2I,SA1BpB;AA2BIgtB,IAAAA,OAAO,EAAE,IA3Bb;AA4BImpH,IAAAA,kBAAkB,EAAE,IA5BxB;AA6BIC,IAAAA,eAAe,EAAEp2I,SA7BrB;AA8BIq2I,IAAAA,aAAa,EAAE,CA9BnB;AA+BIC,IAAAA,aAAa,EAAE;AA/BnB,GAjCJ;;AAkEA,MAAIxxI,SAAJ,EAAe;AACX;AACA;AACA;AACAnG,IAAAA,MAAM,CAACw/I,IAAP,CAAYrqC,KAAZ;AACH;;AACD,SAAOA,KAAP;AACH;;AACD,SAASkrC,uBAAT,CAAiCC,aAAjC,EAAgDzD,eAAhD,EAAiE0D,SAAjE,EAA4E;AACxE,OAAK,IAAIhnC,UAAT,IAAuB+mC,aAAvB,EAAsC;AAClC,QAAIA,aAAa,CAAC94I,cAAd,CAA6B+xG,UAA7B,CAAJ,EAA8C;AAC1CgnC,MAAAA,SAAS,GAAGA,SAAS,KAAK,IAAd,GAAqB,EAArB,GAA0BA,SAAtC;AACA,YAAMC,YAAY,GAAGF,aAAa,CAAC/mC,UAAD,CAAlC;;AACA,UAAIgnC,SAAS,CAAC/4I,cAAV,CAAyB+xG,UAAzB,CAAJ,EAA0C;AACtCgnC,QAAAA,SAAS,CAAChnC,UAAD,CAAT,CAAsBx9G,IAAtB,CAA2B8gJ,eAA3B,EAA4C2D,YAA5C;AACH,OAFD,MAGK;AACAD,QAAAA,SAAS,CAAChnC,UAAD,CAAT,GAAwB,CAACsjC,eAAD,EAAkB2D,YAAlB,CAAzB;AACH;AACJ;AACJ;;AACD,SAAOD,SAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASE,+BAAT,CAAyCrrC,KAAzC,EAAgDD,KAAhD,EAAuD;AACnDhvG,EAAAA,SAAS,IAAI+2G,qBAAqB,CAAC9H,KAAD,CAAlC;AACA,QAAM35F,KAAK,GAAG05F,KAAK,CAAC2R,cAApB;AACA,QAAMl8C,GAAG,GAAGuqC,KAAK,CAAC4R,YAAlB;AACA,QAAM25B,SAAS,GAAGtrC,KAAK,CAAC9zG,IAAxB;AACA,QAAMq/I,UAAU,GAAGxrC,KAAK,CAACsU,KAAzB;AACA,QAAMm3B,eAAe,GAAGz6I,SAAS,GAAG,IAAIizI,kBAAJ,EAAH,GAA8B,EAA/D;AACA,MAAIyH,WAAW,GAAG,IAAlB;AACA,MAAIC,YAAY,GAAG,IAAnB;;AACA,OAAK,IAAI58I,CAAC,GAAGuX,KAAb,EAAoBvX,CAAC,GAAG0mE,GAAxB,EAA6B1mE,CAAC,EAA9B,EAAkC;AAC9B,UAAMuiH,YAAY,GAAGi6B,SAAS,CAACx8I,CAAD,CAA9B;AACA,UAAM68I,eAAe,GAAGt6B,YAAY,CAAC18E,MAArC,CAF8B,CAG9B;AACA;AACA;AACA;;AACA,UAAMqtG,aAAa,GAAIuJ,UAAU,KAAK,IAAf,IAAuB,CAAC3O,gBAAgB,CAAC78B,KAAD,CAAzC,GAClB6rC,qBAAqB,CAACD,eAAD,EAAkBJ,UAAlB,CADH,GAElB,IAFJ;AAGAC,IAAAA,eAAe,CAAC7kJ,IAAhB,CAAqBq7I,aAArB;AACAyJ,IAAAA,WAAW,GAAGR,uBAAuB,CAACU,eAAD,EAAkB78I,CAAlB,EAAqB28I,WAArB,CAArC;AACAC,IAAAA,YAAY,GAAGT,uBAAuB,CAAC55B,YAAY,CAAClzE,OAAd,EAAuBrvC,CAAvB,EAA0B48I,YAA1B,CAAtC;AACH;;AACD,MAAID,WAAW,KAAK,IAApB,EAA0B;AACtB,QAAIA,WAAW,CAACr5I,cAAZ,CAA2B,OAA3B,CAAJ,EAAyC;AACrC2tG,MAAAA,KAAK,CAACrB,KAAN,IAAe;AAAG;AAAlB;AACH;;AACD,QAAI+sC,WAAW,CAACr5I,cAAZ,CAA2B,OAA3B,CAAJ,EAAyC;AACrC2tG,MAAAA,KAAK,CAACrB,KAAN,IAAe;AAAG;AAAlB;AACH;AACJ;;AACDqB,EAAAA,KAAK,CAACiiC,aAAN,GAAsBwJ,eAAtB;AACAzrC,EAAAA,KAAK,CAACprE,MAAN,GAAe82G,WAAf;AACA1rC,EAAAA,KAAK,CAAC5hE,OAAN,GAAgButG,YAAhB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,WAAT,CAAqBhoJ,IAArB,EAA2B;AACvB,MAAIA,IAAI,KAAK,OAAb,EACI,OAAO,WAAP;AACJ,MAAIA,IAAI,KAAK,KAAb,EACI,OAAO,SAAP;AACJ,MAAIA,IAAI,KAAK,YAAb,EACI,OAAO,YAAP;AACJ,MAAIA,IAAI,KAAK,WAAb,EACI,OAAO,WAAP;AACJ,MAAIA,IAAI,KAAK,UAAb,EACI,OAAO,UAAP;AACJ,MAAIA,IAAI,KAAK,UAAb,EACI,OAAO,UAAP;AACJ,SAAOA,IAAP;AACH;;AACD,SAASioJ,uBAAT,CAAiC9rC,KAAjC,EAAwCD,KAAxC,EAA+C+G,KAA/C,EAAsDoU,QAAtD,EAAgE3uH,KAAhE,EAAuEq+G,QAAvE,EAAiFktB,SAAjF,EAA4FiU,UAA5F,EAAwG;AACpGh7I,EAAAA,SAAS,IAAI2rG,aAAa,CAACnwG,KAAD,EAAQuyI,SAAR,EAAmB,2CAAnB,CAA1B;AACA,QAAM50I,OAAO,GAAGmhH,gBAAgB,CAACtL,KAAD,EAAQ+G,KAAR,CAAhC;AACA,MAAIklC,SAAS,GAAGjsC,KAAK,CAACprE,MAAtB;AACA,MAAIs3G,SAAJ;;AACA,MAAI,CAACF,UAAD,IAAeC,SAAS,IAAI,IAA5B,KAAqCC,SAAS,GAAGD,SAAS,CAAC9wB,QAAD,CAA1D,CAAJ,EAA2E;AACvEgxB,IAAAA,oBAAoB,CAAClsC,KAAD,EAAQ8G,KAAR,EAAemlC,SAAf,EAA0B/wB,QAA1B,EAAoC3uH,KAApC,CAApB;AACA,QAAIk6G,eAAe,CAAC1G,KAAD,CAAnB,EACIosC,iBAAiB,CAACrlC,KAAD,EAAQ/G,KAAK,CAACh1F,KAAd,CAAjB;;AACJ,QAAIha,SAAJ,EAAe;AACXq7I,MAAAA,sBAAsB,CAACtlC,KAAD,EAAQ58G,OAAR,EAAiB61G,KAAK,CAACh8G,IAAvB,EAA6BkoJ,SAA7B,EAAwC1/I,KAAxC,CAAtB;AACH;AACJ,GAPD,MAQK,IAAIwzG,KAAK,CAACh8G,IAAN,GAAa;AAAE;AAAnB,IAAmC;AACpCm3H,IAAAA,QAAQ,GAAG2wB,WAAW,CAAC3wB,QAAD,CAAtB;;AACA,QAAInqH,SAAJ,EAAe;AACX0oI,MAAAA,8BAA8B,CAACve,QAAD,CAA9B;;AACA,UAAI,CAACmxB,gBAAgB,CAACrsC,KAAD,EAAQ91G,OAAR,EAAiBgxH,QAAjB,EAA2Bnb,KAA3B,CAArB,EAAwD;AACpD;AACAusC,QAAAA,uBAAuB,CAACpxB,QAAD,EAAWnb,KAAX,CAAvB;AACA;AACH;;AACDhvG,MAAAA,SAAS,CAACwvG,mBAAV;AACH,KAVmC,CAWpC;AACA;;;AACAh0G,IAAAA,KAAK,GAAGurI,SAAS,IAAI,IAAb,GAAoBA,SAAS,CAACvrI,KAAD,EAAQwzG,KAAK,CAACxzG,KAAN,IAAe,EAAvB,EAA2B2uH,QAA3B,CAA7B,GAAoE3uH,KAA5E;;AACA,QAAIo+G,oBAAoB,CAACC,QAAD,CAAxB,EAAoC;AAChCA,MAAAA,QAAQ,CAAChsF,WAAT,CAAqB10B,OAArB,EAA8BgxH,QAA9B,EAAwC3uH,KAAxC;AACH,KAFD,MAGK,IAAI,CAACmoH,eAAe,CAACwG,QAAD,CAApB,EAAgC;AACjChxH,MAAAA,OAAO,CAAC00B,WAAR,GAAsB10B,OAAO,CAAC00B,WAAR,CAAoBs8F,QAApB,EAA8B3uH,KAA9B,CAAtB,GACIrC,OAAO,CAACgxH,QAAD,CAAP,GAAoB3uH,KADxB;AAEH;AACJ,GArBI,MAsBA,IAAIwzG,KAAK,CAACh8G,IAAN,GAAa;AAAG;AAApB,IAAwC;AACzC;AACA;AACA,QAAIgN,SAAS,IAAI,CAACw7I,eAAe,CAACvsC,KAAD,EAAQD,KAAK,CAACxzG,KAAd,CAAjC,EAAuD;AACnD+/I,MAAAA,uBAAuB,CAACpxB,QAAD,EAAWnb,KAAX,CAAvB;AACH;AACJ;AACJ;AACD;;;AACA,SAASosC,iBAAT,CAA2BrlC,KAA3B,EAAkC0lC,SAAlC,EAA6C;AACzCz7I,EAAAA,SAAS,IAAI82G,WAAW,CAACf,KAAD,CAAxB;AACA,QAAM2lC,mBAAmB,GAAGhhC,wBAAwB,CAAC+gC,SAAD,EAAY1lC,KAAZ,CAApD;;AACA,MAAI,EAAE2lC,mBAAmB,CAAC/nC,KAAD,CAAnB,GAA6B;AAAG;AAAlC,GAAJ,EAA0D;AACtD+nC,IAAAA,mBAAmB,CAAC/nC,KAAD,CAAnB,IAA8B;AAAG;AAAjC;AACH;AACJ;;AACD,SAASgoC,oBAAT,CAA8B5lC,KAA9B,EAAqC58G,OAArC,EAA8CnG,IAA9C,EAAoD0/F,QAApD,EAA8Dl3F,KAA9D,EAAqE;AACjE,QAAMq+G,QAAQ,GAAG9D,KAAK,CAAC3B,QAAD,CAAtB;AACA1hB,EAAAA,QAAQ,GAAGs3C,yBAAyB,CAACt3C,QAAD,CAApC;AACA,QAAMkpD,UAAU,GAAG1R,0BAA0B,CAAC1uI,KAAD,CAA7C;;AACA,MAAIxI,IAAI,GAAG;AAAE;AAAb,IAA6B;AACzB,QAAIwI,KAAK,IAAI,IAAb,EAAmB;AACfo+G,MAAAA,oBAAoB,CAACC,QAAD,CAApB,GAAiCA,QAAQ,CAAC7jF,eAAT,CAAyB78B,OAAzB,EAAkCu5F,QAAlC,CAAjC,GACIv5F,OAAO,CAAC68B,eAAR,CAAwB08D,QAAxB,CADJ;AAEH,KAHD,MAIK;AACDknB,MAAAA,oBAAoB,CAACC,QAAD,CAApB,GACIA,QAAQ,CAAC92G,YAAT,CAAsB5J,OAAtB,EAA+Bu5F,QAA/B,EAAyCkpD,UAAzC,CADJ,GAEIziJ,OAAO,CAAC4J,YAAR,CAAqB2vF,QAArB,EAA+BkpD,UAA/B,CAFJ;AAGH;AACJ,GAVD,MAWK;AACD,UAAMptH,WAAW,GAAGknG,iBAAiB,CAAE,YAAWrmC,IAAI,CAACC,SAAL,CAAe;AAAE,OAACoD,QAAD,GAAYkpD;AAAd,KAAf,EAA2C,IAA3C,EAAiD,CAAjD,CAAoD,EAAjE,CAArC;;AACA,QAAIhiC,oBAAoB,CAACC,QAAD,CAAxB,EAAoC;AAChCA,MAAAA,QAAQ,CAAC8f,QAAT,CAAkBxgI,OAAlB,EAA2Bq1B,WAA3B;AACH,KAFD,MAGK;AACDr1B,MAAAA,OAAO,CAACq1B,WAAR,GAAsBA,WAAtB;AACH;AACJ;AACJ;;AACD,SAAS6sH,sBAAT,CAAgCtlC,KAAhC,EAAuC58G,OAAvC,EAAgDnG,IAAhD,EAAsDkoJ,SAAtD,EAAiE1/I,KAAjE,EAAwE;AACpE,MAAIxI,IAAI,IAAI;AAAE;AAAF,IAAmB;AAAE;AAAzB,GAAR,EAAmD;AAC/C;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACQ,SAAK,IAAI+K,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGm9I,SAAS,CAACnkJ,MAA9B,EAAsCgH,CAAC,IAAI,CAA3C,EAA8C;AAC1C49I,MAAAA,oBAAoB,CAAC5lC,KAAD,EAAQ58G,OAAR,EAAiBnG,IAAjB,EAAuBkoJ,SAAS,CAACn9I,CAAC,GAAG,CAAL,CAAhC,EAAyCvC,KAAzC,CAApB;AACH;AACJ;AACJ;;AACD,SAAS8/I,gBAAT,CAA0BrsC,KAA1B,EAAiC91G,OAAjC,EAA0CgxH,QAA1C,EAAoDnb,KAApD,EAA2D;AACvD;AACA;AACA;AACA;AACA,MAAIC,KAAK,CAAC6C,OAAN,KAAkB,IAAtB,EACI,OAAO,IAAP,CANmD,CAOvD;AACA;;AACA,MAAI0pC,eAAe,CAACvsC,KAAD,EAAQD,KAAK,CAACxzG,KAAd,CAAf,IAAuC2uH,QAAQ,IAAIhxH,OAAnD,IAA8DwqH,eAAe,CAACwG,QAAD,CAAjF,EAA6F;AACzF,WAAO,IAAP;AACH,GAXsD,CAYvD;AACA;;;AACA,SAAO,OAAOzlF,IAAP,KAAgB,WAAhB,IAA+BA,IAAI,KAAK,IAAxC,IAAgD,EAAEvrC,OAAO,YAAYurC,IAArB,CAAvD;AACH;;AACD,SAAS82G,eAAT,CAAyBvsC,KAAzB,EAAgC0xB,OAAhC,EAAyC;AACrC,QAAM7uB,OAAO,GAAG7C,KAAK,CAAC6C,OAAtB;;AACA,MAAIA,OAAO,KAAK,IAAhB,EAAsB;AAClB,SAAK,IAAI/zG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+zG,OAAO,CAAC/6G,MAA5B,EAAoCgH,CAAC,EAArC,EAAyC;AACrC,YAAM89I,MAAM,GAAG/pC,OAAO,CAAC/zG,CAAD,CAAtB;;AACA,UAAI89I,MAAM,KAAK/R,gBAAX,IACA+R,MAAM,KAAKhS,sBAAX,IAAqClJ,OAArC,IAAgDA,OAAO,CAAC5kI,OAAR,CAAgB,GAAhB,IAAuB,CAAC,CAD5E,EAC+E;AAC3E,eAAO,IAAP;AACH;AACJ;AACJ;;AACD,SAAO,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASw/I,uBAAT,CAAiCpxB,QAAjC,EAA2Cnb,KAA3C,EAAkD;AAC9C,MAAIr4E,OAAO,GAAI,kBAAiBwzF,QAAS,yCAAwCnb,KAAK,CAACxzG,KAAM,IAA7F;AACAk0B,EAAAA,OAAO,CAAChM,KAAR,CAAckmF,kBAAkB,CAAC;AAAM;AAAP,IAA8BjzE,OAA9B,CAAhC;AACH;AACD;AACA;AACA;;;AACA,SAASmlH,wBAAT,CAAkC7sC,KAAlC,EAAyC8G,KAAzC,EAAgDrtG,GAAhD,EAAqD;AACjD,QAAMqzI,SAAS,GAAGv/B,eAAe,EAAjC;;AACA,MAAIvN,KAAK,CAACF,eAAV,EAA2B;AACvB,QAAIrmG,GAAG,CAAC4oG,iBAAR,EACI5oG,GAAG,CAAC4oG,iBAAJ,CAAsB5oG,GAAtB;AACJ,UAAM23G,cAAc,GAAGg3B,YAAY,CAACpoC,KAAD,EAAQ8G,KAAR,EAAe,CAAf,EAAkB,IAAlB,CAAnC;AACA/1G,IAAAA,SAAS,IACLurG,WAAW,CAAC8U,cAAD,EAAiB07B,SAAS,CAACp7B,cAA3B,EAA2C,0FAA3C,CADf;AAEAq7B,IAAAA,0BAA0B,CAAC/sC,KAAD,EAAQ8sC,SAAR,EAAmBhmC,KAAnB,EAA0BsK,cAA1B,EAA0C33G,GAA1C,CAA1B;AACH;;AACD,QAAMu5G,SAAS,GAAG2F,iBAAiB,CAAC7R,KAAD,EAAQ9G,KAAR,EAAe8sC,SAAS,CAACp7B,cAAzB,EAAyCo7B,SAAzC,CAAnC;AACAzlB,EAAAA,eAAe,CAACrU,SAAD,EAAYlM,KAAZ,CAAf;AACA,QAAMsN,MAAM,GAAG/I,gBAAgB,CAACyhC,SAAD,EAAYhmC,KAAZ,CAA/B;;AACA,MAAIsN,MAAJ,EAAY;AACRiT,IAAAA,eAAe,CAACjT,MAAD,EAAStN,KAAT,CAAf;AACH;;AACD,SAAOkM,SAAP;AACH;AACD;AACA;AACA;;;AACA,SAASg6B,iBAAT,CAA2BhtC,KAA3B,EAAkC8G,KAAlC,EAAyC/G,KAAzC,EAAgDwnB,SAAhD,EAA2D;AACvD;AACA;AACAx2H,EAAAA,SAAS,IAAI+2G,qBAAqB,CAAC9H,KAAD,CAAlC;AACA,MAAIitC,aAAa,GAAG,KAApB;;AACA,MAAIlgC,kBAAkB,EAAtB,EAA0B;AACtB,UAAMtK,aAAa,GAAGyqC,uBAAuB,CAACltC,KAAD,EAAQ8G,KAAR,EAAe/G,KAAf,CAA7C;AACA,UAAMotC,UAAU,GAAG5lB,SAAS,KAAK,IAAd,GAAqB,IAArB,GAA4B;AAAE,UAAI,CAAC;AAAP,KAA/C;;AACA,QAAI9kB,aAAa,KAAK,IAAtB,EAA4B;AACxBwqC,MAAAA,aAAa,GAAG,IAAhB;AACAG,MAAAA,cAAc,CAACrtC,KAAD,EAAQC,KAAK,CAAC9zG,IAAN,CAAWpE,MAAnB,EAA2B26G,aAAa,CAAC36G,MAAzC,CAAd,CAFwB,CAGxB;AACA;AACA;AACA;AACA;AACA;;AACA,WAAK,IAAIgH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2zG,aAAa,CAAC36G,MAAlC,EAA0CgH,CAAC,EAA3C,EAA+C;AAC3C,cAAM2K,GAAG,GAAGgpG,aAAa,CAAC3zG,CAAD,CAAzB;AACA,YAAI2K,GAAG,CAAC4oG,iBAAR,EACI5oG,GAAG,CAAC4oG,iBAAJ,CAAsB5oG,GAAtB;AACP;;AACD,UAAI4zI,kBAAkB,GAAG,KAAzB;AACA,UAAIC,uBAAuB,GAAG,KAA9B;AACA,UAAIlG,YAAY,GAAGgB,YAAY,CAACpoC,KAAD,EAAQ8G,KAAR,EAAerE,aAAa,CAAC36G,MAA7B,EAAqC,IAArC,CAA/B;AACAiJ,MAAAA,SAAS,IACL0rG,UAAU,CAAC2qC,YAAD,EAAernC,KAAK,CAAC2R,cAArB,EAAqC,2DAArC,CADd;;AAEA,WAAK,IAAI5iH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2zG,aAAa,CAAC36G,MAAlC,EAA0CgH,CAAC,EAA3C,EAA+C;AAC3C,cAAM2K,GAAG,GAAGgpG,aAAa,CAAC3zG,CAAD,CAAzB,CAD2C,CAE3C;AACA;;AACAixG,QAAAA,KAAK,CAACgiC,WAAN,GAAoBjtB,cAAc,CAAC/U,KAAK,CAACgiC,WAAP,EAAoBtoI,GAAG,CAACijE,SAAxB,CAAlC;AACAqwE,QAAAA,0BAA0B,CAAC/sC,KAAD,EAAQD,KAAR,EAAe+G,KAAf,EAAsBsgC,YAAtB,EAAoC3tI,GAApC,CAA1B;AACA8zI,QAAAA,mBAAmB,CAACnG,YAAD,EAAe3tI,GAAf,EAAoB0zI,UAApB,CAAnB;AACA,YAAI1zI,GAAG,CAAC6oG,cAAJ,KAAuB,IAA3B,EACIvC,KAAK,CAACrB,KAAN,IAAe;AAAE;AAAjB;AACJ,YAAIjlG,GAAG,CAACsnC,YAAJ,KAAqB,IAArB,IAA6BtnC,GAAG,CAACijE,SAAJ,KAAkB,IAA/C,IAAuDjjE,GAAG,CAACqnC,QAAJ,KAAiB,CAA5E,EACIi/D,KAAK,CAACrB,KAAN,IAAe;AAAI;AAAnB;AACJ,cAAM8uC,cAAc,GAAG/zI,GAAG,CAAC1V,IAAJ,CAASmK,SAAhC,CAX2C,CAY3C;AACA;;AACA,YAAI,CAACm/I,kBAAD,KACCG,cAAc,CAACr5G,WAAf,IAA8Bq5G,cAAc,CAACv7E,QAA7C,IAAyDu7E,cAAc,CAACt5G,SADzE,CAAJ,EACyF;AACrF;AACA;AACA;AACA,WAAC8rE,KAAK,CAACuR,aAAN,KAAwBvR,KAAK,CAACuR,aAAN,GAAsB,EAA9C,CAAD,EAAoD5qH,IAApD,CAAyDo5G,KAAK,CAACh1F,KAA/D;AACAsiI,UAAAA,kBAAkB,GAAG,IAArB;AACH;;AACD,YAAI,CAACC,uBAAD,KAA6BE,cAAc,CAACr5G,WAAf,IAA8Bq5G,cAAc,CAACt5G,SAA1E,CAAJ,EAA0F;AACtF,WAAC8rE,KAAK,CAACwR,kBAAN,KAA6BxR,KAAK,CAACwR,kBAAN,GAA2B,EAAxD,CAAD,EAA8D7qH,IAA9D,CAAmEo5G,KAAK,CAACh1F,KAAzE;AACAuiI,UAAAA,uBAAuB,GAAG,IAA1B;AACH;;AACDlG,QAAAA,YAAY;AACf;;AACDiE,MAAAA,+BAA+B,CAACrrC,KAAD,EAAQD,KAAR,CAA/B;AACH;;AACD,QAAIotC,UAAJ,EACIM,uBAAuB,CAAC1tC,KAAD,EAAQwnB,SAAR,EAAmB4lB,UAAnB,CAAvB;AACP,GA3DsD,CA4DvD;;;AACAptC,EAAAA,KAAK,CAACgiC,WAAN,GAAoBjtB,cAAc,CAAC/U,KAAK,CAACgiC,WAAP,EAAoBhiC,KAAK,CAACsU,KAA1B,CAAlC;AACA,SAAO44B,aAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASS,0BAAT,CAAoC1tC,KAApC,EAA2CD,KAA3C,EAAkD+G,KAAlD,EAAyDsgC,YAAzD,EAAuEuG,gBAAvE,EAAyFl0I,GAAzF,EAA8F;AAC1F1I,EAAAA,SAAS,IAAI+2G,qBAAqB,CAAC9H,KAAD,CAAlC;AACA,QAAMj/D,YAAY,GAAGtnC,GAAG,CAACsnC,YAAzB;;AACA,MAAIA,YAAJ,EAAkB;AACd,QAAIigG,kBAAkB,GAAGhhC,KAAK,CAACghC,kBAA/B;;AACA,QAAIA,kBAAkB,KAAK,IAA3B,EAAiC;AAC7BA,MAAAA,kBAAkB,GAAGhhC,KAAK,CAACghC,kBAAN,GAA2B,EAAhD;AACH;;AACD,UAAM4M,WAAW,GAAG,CAAC7tC,KAAK,CAACh1F,KAA3B;;AACA,QAAI8iI,sBAAsB,CAAC7M,kBAAD,CAAtB,IAA8C4M,WAAlD,EAA+D;AAC3D;AACA;AACA;AACA5M,MAAAA,kBAAkB,CAACr6I,IAAnB,CAAwBinJ,WAAxB;AACH;;AACD5M,IAAAA,kBAAkB,CAACr6I,IAAnB,CAAwBygJ,YAAxB,EAAsCuG,gBAAtC,EAAwD5sG,YAAxD;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8sG,sBAAT,CAAgC7M,kBAAhC,EAAoD;AAChD,MAAIlyI,CAAC,GAAGkyI,kBAAkB,CAACl5I,MAA3B;;AACA,SAAOgH,CAAC,GAAG,CAAX,EAAc;AACV,UAAMvC,KAAK,GAAGy0I,kBAAkB,CAAC,EAAElyI,CAAH,CAAhC;;AACA,QAAI,OAAOvC,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,GAAG,CAAzC,EAA4C;AACxC,aAAOA,KAAP;AACH;AACJ;;AACD,SAAO,CAAP;AACH;AACD;AACA;AACA;;;AACA,SAASm9I,wBAAT,CAAkC1pC,KAAlC,EAAyC8G,KAAzC,EAAgD/G,KAAhD,EAAuDqU,MAAvD,EAA+D;AAC3D,QAAM/tG,KAAK,GAAG05F,KAAK,CAAC2R,cAApB;AACA,QAAMl8C,GAAG,GAAGuqC,KAAK,CAAC4R,YAAlB;;AACA,MAAI,CAAC3R,KAAK,CAACF,eAAX,EAA4B;AACxBwW,IAAAA,8BAA8B,CAACvW,KAAD,EAAQ+G,KAAR,CAA9B;AACH;;AACDugB,EAAAA,eAAe,CAACjT,MAAD,EAAStN,KAAT,CAAf;AACA,QAAMk7B,aAAa,GAAGjiC,KAAK,CAACiiC,aAA5B;;AACA,OAAK,IAAIlzI,CAAC,GAAGuX,KAAb,EAAoBvX,CAAC,GAAG0mE,GAAxB,EAA6B1mE,CAAC,EAA9B,EAAkC;AAC9B,UAAM2K,GAAG,GAAGumG,KAAK,CAAC9zG,IAAN,CAAW4C,CAAX,CAAZ;AACA,UAAMk7H,WAAW,GAAGrjB,cAAc,CAACltG,GAAD,CAAlC;;AACA,QAAIuwH,WAAJ,EAAiB;AACbj5H,MAAAA,SAAS,IAAIijH,eAAe,CAACjU,KAAD,EAAQ;AAAE;AAAV,OAA5B;AACA+tC,MAAAA,iBAAiB,CAAChnC,KAAD,EAAQ/G,KAAR,EAAetmG,GAAf,CAAjB;AACH;;AACD,UAAMu5G,SAAS,GAAG2F,iBAAiB,CAAC7R,KAAD,EAAQ9G,KAAR,EAAelxG,CAAf,EAAkBixG,KAAlB,CAAnC;AACAsnB,IAAAA,eAAe,CAACrU,SAAD,EAAYlM,KAAZ,CAAf;;AACA,QAAIk7B,aAAa,KAAK,IAAtB,EAA4B;AACxB+L,MAAAA,kBAAkB,CAACjnC,KAAD,EAAQh4G,CAAC,GAAGuX,KAAZ,EAAmB2sG,SAAnB,EAA8Bv5G,GAA9B,EAAmCsmG,KAAnC,EAA0CiiC,aAA1C,CAAlB;AACH;;AACD,QAAIhY,WAAJ,EAAiB;AACb,YAAMhC,aAAa,GAAGvc,wBAAwB,CAAC1L,KAAK,CAACh1F,KAAP,EAAc+7F,KAAd,CAA9C;AACAkhB,MAAAA,aAAa,CAAChjB,OAAD,CAAb,GAAyBgO,SAAzB;AACH;AACJ;AACJ;;AACD,SAAS22B,4BAAT,CAAsC3pC,KAAtC,EAA6C8G,KAA7C,EAAoD/G,KAApD,EAA2D;AACvD,QAAM15F,KAAK,GAAG05F,KAAK,CAAC2R,cAApB;AACA,QAAMl8C,GAAG,GAAGuqC,KAAK,CAAC4R,YAAlB;AACA,QAAM7R,eAAe,GAAGE,KAAK,CAACF,eAA9B;AACA,QAAMkuC,YAAY,GAAGjuC,KAAK,CAACh1F,KAA3B;AACA,QAAM6jG,qBAAqB,GAAGE,wBAAwB,EAAtD;;AACA,MAAI;AACA8B,IAAAA,gBAAgB,CAACo9B,YAAD,CAAhB;;AACA,SAAK,IAAIC,QAAQ,GAAG5nI,KAApB,EAA2B4nI,QAAQ,GAAGz4E,GAAtC,EAA2Cy4E,QAAQ,EAAnD,EAAuD;AACnD,YAAMx0I,GAAG,GAAGumG,KAAK,CAAC9zG,IAAN,CAAW+hJ,QAAX,CAAZ;AACA,YAAMj7B,SAAS,GAAGlM,KAAK,CAACmnC,QAAD,CAAvB;AACAp/B,MAAAA,wBAAwB,CAACo/B,QAAD,CAAxB;;AACA,UAAIx0I,GAAG,CAACsnC,YAAJ,KAAqB,IAArB,IAA6BtnC,GAAG,CAACqnC,QAAJ,KAAiB,CAA9C,IAAmDrnC,GAAG,CAACijE,SAAJ,KAAkB,IAAzE,EAA+E;AAC3EwxE,QAAAA,gCAAgC,CAACz0I,GAAD,EAAMu5G,SAAN,CAAhC;AACH;AACJ;AACJ,GAVD,SAWQ;AACJpC,IAAAA,gBAAgB,CAAC,CAAC,CAAF,CAAhB;AACA/B,IAAAA,wBAAwB,CAACD,qBAAD,CAAxB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASs/B,gCAAT,CAA0Cz0I,GAA1C,EAA+Cu5G,SAA/C,EAA0D;AACtD,MAAIv5G,GAAG,CAACsnC,YAAJ,KAAqB,IAAzB,EAA+B;AAC3BtnC,IAAAA,GAAG,CAACsnC,YAAJ,CAAiB;AAAE;AAAnB,MAAiCiyE,SAAjC;AACH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAASk6B,uBAAT,CAAiCltC,KAAjC,EAAwC6pC,QAAxC,EAAkD9pC,KAAlD,EAAyD;AACrDhvG,EAAAA,SAAS,IAAI+2G,qBAAqB,CAAC9H,KAAD,CAAlC;AACAjvG,EAAAA,SAAS,IAAIijH,eAAe,CAACjU,KAAD,EAAQ;AAAE;AAAF,IAAmB;AAAG;AAA9B,GAA5B;AACA,QAAMouC,QAAQ,GAAGnuC,KAAK,CAACmhC,iBAAvB;AACA,MAAIhzI,OAAO,GAAG,IAAd;;AACA,MAAIggJ,QAAJ,EAAc;AACV,SAAK,IAAIr/I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGq/I,QAAQ,CAACrmJ,MAA7B,EAAqCgH,CAAC,EAAtC,EAA0C;AACtC,YAAM2K,GAAG,GAAG00I,QAAQ,CAACr/I,CAAD,CAApB;;AACA,UAAIgvI,0BAA0B,CAAC/9B,KAAD,EAAQtmG,GAAG,CAACi7B,SAAZ;AAAuB;AAAuB,WAA9C,CAA9B,EAAoF;AAChFvmC,QAAAA,OAAO,KAAKA,OAAO,GAAG4C,SAAS,GAAG,IAAI8yI,YAAJ,EAAH,GAAwB,EAAhD,CAAP;AACA1sB,QAAAA,kBAAkB,CAACb,8BAA8B,CAACvW,KAAD,EAAQ8pC,QAAR,CAA/B,EAAkD7pC,KAAlD,EAAyDvmG,GAAG,CAAC1V,IAA7D,CAAlB;;AACA,YAAI4iH,cAAc,CAACltG,GAAD,CAAlB,EAAyB;AACrB,cAAI1I,SAAJ,EAAe;AACXijH,YAAAA,eAAe,CAACjU,KAAD,EAAQ;AAAE;AAAV,cAA0B,IAAGA,KAAK,CAACxzG,KAAM,4CAAhB,GACnC,8CAA6C8zF,SAAS,CAAC5mF,GAAG,CAAC1V,IAAL,CAAW,aADvD,CAAf;AAEA,gBAAIg8G,KAAK,CAACrB,KAAN,GAAc;AAAE;AAApB,cACI+8B,2BAA2B,CAAC17B,KAAD,CAA3B;AACP;;AACDquC,UAAAA,mBAAmB,CAACpuC,KAAD,EAAQD,KAAR,CAAnB,CAPqB,CAQrB;;AACA5xG,UAAAA,OAAO,CAAC6rF,OAAR,CAAgBvgF,GAAhB;AACH,SAVD,MAWK;AACDtL,UAAAA,OAAO,CAACxH,IAAR,CAAa8S,GAAb;AACH;AACJ;AACJ;AACJ;;AACD,SAAOtL,OAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASigJ,mBAAT,CAA6BpuC,KAA7B,EAAoCquC,SAApC,EAA+C;AAC3Ct9I,EAAAA,SAAS,IAAI+2G,qBAAqB,CAAC9H,KAAD,CAAlC;AACAquC,EAAAA,SAAS,CAAC3vC,KAAV,IAAmB;AAAE;AAArB;AACA,GAACsB,KAAK,CAAC8nB,UAAN,KAAqB9nB,KAAK,CAAC8nB,UAAN,GAAmB/2H,SAAS,GAAG,IAAI+yI,eAAJ,EAAH,GAA2B,EAA5E,CAAD,EACKn9I,IADL,CACU0nJ,SAAS,CAACtjI,KADpB;AAEH;AACD;;;AACA,SAAS0iI,uBAAT,CAAiC1tC,KAAjC,EAAwCwnB,SAAxC,EAAmD4lB,UAAnD,EAA+D;AAC3D,MAAI5lB,SAAJ,EAAe;AACX,UAAMoB,UAAU,GAAG5oB,KAAK,CAAC4oB,UAAN,GAAmB53H,SAAS,GAAG,IAAIgzI,eAAJ,EAAH,GAA2B,EAA1E,CADW,CAEX;AACA;AACA;;AACA,SAAK,IAAIj1I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGy4H,SAAS,CAACz/H,MAA9B,EAAsCgH,CAAC,IAAI,CAA3C,EAA8C;AAC1C,YAAMic,KAAK,GAAGoiI,UAAU,CAAC5lB,SAAS,CAACz4H,CAAC,GAAG,CAAL,CAAV,CAAxB;AACA,UAAIic,KAAK,IAAI,IAAb,EACI,MAAM,IAAI2vF,YAAJ,CAAiB;AAAM;AAAvB,QAAgD,mBAAkB6sB,SAAS,CAACz4H,CAAC,GAAG,CAAL,CAAQ,cAAnF,CAAN;AACJ65H,MAAAA,UAAU,CAAChiI,IAAX,CAAgB4gI,SAAS,CAACz4H,CAAD,CAAzB,EAA8Bic,KAA9B;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAASwiI,mBAAT,CAA6BnG,YAA7B,EAA2C3tI,GAA3C,EAAgD0zI,UAAhD,EAA4D;AACxD,MAAIA,UAAJ,EAAgB;AACZ,QAAI1zI,GAAG,CAACm7B,QAAR,EAAkB;AACd,WAAK,IAAI9lC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2K,GAAG,CAACm7B,QAAJ,CAAa9sC,MAAjC,EAAyCgH,CAAC,EAA1C,EAA8C;AAC1Cq+I,QAAAA,UAAU,CAAC1zI,GAAG,CAACm7B,QAAJ,CAAa9lC,CAAb,CAAD,CAAV,GAA8Bs4I,YAA9B;AACH;AACJ;;AACD,QAAIzgC,cAAc,CAACltG,GAAD,CAAlB,EACI0zI,UAAU,CAAC,EAAD,CAAV,GAAiB/F,YAAjB;AACP;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASgG,cAAT,CAAwBrtC,KAAxB,EAA+Bh1F,KAA/B,EAAsCujI,kBAAtC,EAA0D;AACtDv9I,EAAAA,SAAS,IACLyrG,cAAc,CAAC8xC,kBAAD,EAAqBvuC,KAAK,CAAC4R,YAAN,GAAqB5R,KAAK,CAAC2R,cAAhD,EAAgE,sCAAhE,CADlB;AAEA3R,EAAAA,KAAK,CAACrB,KAAN,IAAe;AAAE;AAAjB,GAHsD,CAItD;;AACAqB,EAAAA,KAAK,CAAC2R,cAAN,GAAuB3mG,KAAvB;AACAg1F,EAAAA,KAAK,CAAC4R,YAAN,GAAqB5mG,KAAK,GAAGujI,kBAA7B;AACAvuC,EAAAA,KAAK,CAAC8Y,eAAN,GAAwB9tG,KAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgiI,0BAAT,CAAoC/sC,KAApC,EAA2CD,KAA3C,EAAkD+G,KAAlD,EAAyDsK,cAAzD,EAAyE33G,GAAzE,EAA8E;AAC1E1I,EAAAA,SAAS,IACLorG,wBAAwB,CAACiV,cAAD,EAAiBxL,aAAjB,EAAgC,4BAAhC,CAD5B;AAEA5F,EAAAA,KAAK,CAAC9zG,IAAN,CAAWklH,cAAX,IAA6B33G,GAA7B;AACA,QAAM80I,gBAAgB,GAAG90I,GAAG,CAAC3I,OAAJ,KAAgB2I,GAAG,CAAC3I,OAAJ,GAAck4G,aAAa,CAACvvG,GAAG,CAAC1V,IAAL,EAAW,IAAX,CAA3C,CAAzB;AACA,QAAMyqJ,mBAAmB,GAAG,IAAIr7B,mBAAJ,CAAwBo7B,gBAAxB,EAA0C5nC,cAAc,CAACltG,GAAD,CAAxD,EAA+D,IAA/D,CAA5B;AACAumG,EAAAA,KAAK,CAAC0W,SAAN,CAAgBtF,cAAhB,IAAkCo9B,mBAAlC;AACA1nC,EAAAA,KAAK,CAACsK,cAAD,CAAL,GAAwBo9B,mBAAxB;AACAd,EAAAA,0BAA0B,CAAC1tC,KAAD,EAAQD,KAAR,EAAe+G,KAAf,EAAsBsK,cAAtB,EAAsCg3B,YAAY,CAACpoC,KAAD,EAAQ8G,KAAR,EAAertG,GAAG,CAACqnC,QAAnB,EAA6Bg+F,SAA7B,CAAlD,EAA2FrlI,GAA3F,CAA1B;AACH;;AACD,SAASq0I,iBAAT,CAA2BhnC,KAA3B,EAAkCunC,SAAlC,EAA6C50I,GAA7C,EAAkD;AAC9C,QAAM26G,MAAM,GAAG/I,gBAAgB,CAACgjC,SAAD,EAAYvnC,KAAZ,CAA/B;AACA,QAAM9G,KAAK,GAAG+pC,yBAAyB,CAACtwI,GAAD,CAAvC,CAF8C,CAG9C;AACA;;AACA,QAAM8rI,eAAe,GAAGz+B,KAAK,CAAC5B,gBAAD,CAA7B;AACA,QAAM8iB,aAAa,GAAGymB,aAAa,CAAC3nC,KAAD,EAAQihC,WAAW,CAACjhC,KAAD,EAAQ9G,KAAR,EAAe,IAAf,EAAqBvmG,GAAG,CAAC8oG,MAAJ,GAAa;AAAG;AAAhB,IAA8B;AAAG;AAAtD,IAAyE6R,MAAzE,EAAiFi6B,SAAjF,EAA4F9I,eAA5F,EAA6GA,eAAe,CAACx6B,cAAhB,CAA+BqJ,MAA/B,EAAuC36G,GAAvC,CAA7G,EAA0J,IAA1J,EAAgK,IAAhK,CAAnB,CAAnC,CAN8C,CAO9C;AACA;;AACAqtG,EAAAA,KAAK,CAACunC,SAAS,CAACtjI,KAAX,CAAL,GAAyBi9G,aAAzB;AACH;;AACD,SAAS0mB,wBAAT,CAAkC3uC,KAAlC,EAAyC+G,KAAzC,EAAgDjjH,IAAhD,EAAsD0I,KAAtD,EAA6DurI,SAA7D,EAAwEjN,SAAxE,EAAmF;AAC/E,MAAI95H,SAAJ,EAAe;AACX2rG,IAAAA,aAAa,CAACnwG,KAAD,EAAQuyI,SAAR,EAAmB,2CAAnB,CAAb;AACApF,IAAAA,8BAA8B,CAAC71I,IAAD,CAA9B;AACAmwH,IAAAA,eAAe,CAACjU,KAAD,EAAQ;AAAE;AAAV,MAA0B,gCAA+Bl8G,IAAK,0BAArC,GACnC,6DADU,CAAf;AAEH;;AACD,QAAMqG,OAAO,GAAGmhH,gBAAgB,CAACtL,KAAD,EAAQ+G,KAAR,CAAhC;AACA6nC,EAAAA,mBAAmB,CAAC7nC,KAAK,CAAC3B,QAAD,CAAN,EAAkBj7G,OAAlB,EAA2B2gI,SAA3B,EAAsC9qB,KAAK,CAACxzG,KAA5C,EAAmD1I,IAAnD,EAAyD0I,KAAzD,EAAgEurI,SAAhE,CAAnB;AACH;;AACD,SAAS6W,mBAAT,CAA6B/jC,QAA7B,EAAuC1gH,OAAvC,EAAgD2gI,SAAhD,EAA2D6G,OAA3D,EAAoE7tI,IAApE,EAA0E0I,KAA1E,EAAiFurI,SAAjF,EAA4F;AACxF,MAAIvrI,KAAK,IAAI,IAAb,EAAmB;AACfwE,IAAAA,SAAS,IAAIA,SAAS,CAACuvG,uBAAV,EAAb;AACAqK,IAAAA,oBAAoB,CAACC,QAAD,CAApB,GAAiCA,QAAQ,CAAC7jF,eAAT,CAAyB78B,OAAzB,EAAkCrG,IAAlC,EAAwCgnI,SAAxC,CAAjC,GACI3gI,OAAO,CAAC68B,eAAR,CAAwBljC,IAAxB,CADJ;AAEH,GAJD,MAKK;AACDkN,IAAAA,SAAS,IAAIA,SAAS,CAACsvG,oBAAV,EAAb;AACA,UAAM9iG,QAAQ,GAAGu6H,SAAS,IAAI,IAAb,GAAoBh9B,eAAe,CAACvuG,KAAD,CAAnC,GAA6CurI,SAAS,CAACvrI,KAAD,EAAQmlI,OAAO,IAAI,EAAnB,EAAuB7tI,IAAvB,CAAvE;;AACA,QAAI8mH,oBAAoB,CAACC,QAAD,CAAxB,EAAoC;AAChCA,MAAAA,QAAQ,CAAC92G,YAAT,CAAsB5J,OAAtB,EAA+BrG,IAA/B,EAAqC0Z,QAArC,EAA+CstH,SAA/C;AACH,KAFD,MAGK;AACDA,MAAAA,SAAS,GAAG3gI,OAAO,CAACuqH,cAAR,CAAuBoW,SAAvB,EAAkChnI,IAAlC,EAAwC0Z,QAAxC,CAAH,GACLrT,OAAO,CAAC4J,YAAR,CAAqBjQ,IAArB,EAA2B0Z,QAA3B,CADJ;AAEH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwwI,kBAAT,CAA4BjnC,KAA5B,EAAmCsK,cAAnC,EAAmDxH,QAAnD,EAA6DnwG,GAA7D,EAAkEsmG,KAAlE,EAAyE6uC,gBAAzE,EAA2F;AACvF,QAAM5M,aAAa,GAAG4M,gBAAgB,CAACx9B,cAAD,CAAtC;;AACA,MAAI4wB,aAAa,KAAK,IAAtB,EAA4B;AACxB,UAAMp/B,QAAQ,GAAGnpG,GAAG,CAACmpG,QAArB;;AACA,SAAK,IAAI9zG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkzI,aAAa,CAACl6I,MAAlC,GAA2C;AACvC,YAAMq8G,UAAU,GAAG69B,aAAa,CAAClzI,CAAC,EAAF,CAAhC;AACA,YAAM+6G,WAAW,GAAGm4B,aAAa,CAAClzI,CAAC,EAAF,CAAjC;AACA,YAAMvC,KAAK,GAAGy1I,aAAa,CAAClzI,CAAC,EAAF,CAA3B;;AACA,UAAI8zG,QAAQ,KAAK,IAAjB,EAAuB;AACnBnpG,QAAAA,GAAG,CAACmpG,QAAJ,CAAagH,QAAb,EAAuBr9G,KAAvB,EAA8B43G,UAA9B,EAA0C0F,WAA1C;AACH,OAFD,MAGK;AACDD,QAAAA,QAAQ,CAACC,WAAD,CAAR,GAAwBt9G,KAAxB;AACH;;AACD,UAAIwE,SAAJ,EAAe;AACX,cAAM8iC,aAAa,GAAGw3E,gBAAgB,CAACtL,KAAD,EAAQ+G,KAAR,CAAtC;AACA4lC,QAAAA,oBAAoB,CAAC5lC,KAAD,EAAQjzE,aAAR,EAAuBksE,KAAK,CAACh8G,IAA7B,EAAmC8lH,WAAnC,EAAgDt9G,KAAhD,CAApB;AACH;AACJ;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASq/I,qBAAT,CAA+Bj3G,MAA/B,EAAuC0/E,KAAvC,EAA8C;AAC1C,MAAIw6B,aAAa,GAAG,IAApB;AACA,MAAI//I,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGulH,KAAK,CAACvsH,MAAjB,EAAyB;AACrB,UAAM27F,QAAQ,GAAG4wB,KAAK,CAACvlH,CAAD,CAAtB;;AACA,QAAI20F,QAAQ,KAAK;AAAE;AAAnB,MAAuC;AACnC;AACA30F,MAAAA,CAAC,IAAI,CAAL;AACA;AACH,KAJD,MAKK,IAAI20F,QAAQ,KAAK;AAAE;AAAnB,MAAoC;AACrC;AACA30F,MAAAA,CAAC,IAAI,CAAL;AACA;AACH,KAXoB,CAYrB;;;AACA,QAAI,OAAO20F,QAAP,KAAoB,QAAxB,EACI;;AACJ,QAAI9uD,MAAM,CAACviC,cAAP,CAAsBqxF,QAAtB,CAAJ,EAAqC;AACjC,UAAIorD,aAAa,KAAK,IAAtB,EACIA,aAAa,GAAG,EAAhB;AACJA,MAAAA,aAAa,CAACloJ,IAAd,CAAmB88F,QAAnB,EAA6B9uD,MAAM,CAAC8uD,QAAD,CAAnC,EAA+C4wB,KAAK,CAACvlH,CAAC,GAAG,CAAL,CAApD;AACH;;AACDA,IAAAA,CAAC,IAAI,CAAL;AACH;;AACD,SAAO+/I,aAAP;AACH,EACD;AACA;AACA;AACA;;;AACA,MAAMC,eAAe,GAAI,CAAC,OAAO/9I,SAAP,KAAqB,WAArB,IAAoCA,SAArC,kBAAmDswG,aAAa,EAAjE,iBACpBy5B,oBAAoB,CAAC,YAAD,CADxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASiU,gBAAT,CAA0BC,UAA1B,EAAsCt+B,WAAtC,EAAmD0D,MAAnD,EAA2DrU,KAA3D,EAAkE;AAC9DhvG,EAAAA,SAAS,IAAI82G,WAAW,CAAC6I,WAAD,CAAxB;AACA3/G,EAAAA,SAAS,IAAI,CAAC45G,oBAAoB,CAAC+F,WAAW,CAACvL,QAAD,CAAZ,CAAlC,IAA6DnI,aAAa,CAACoX,MAAD,CAA1E,CAF8D,CAG9D;;AACA,QAAMlI,UAAU,GAAG,KAAKn7G,SAAS,GAAG+9I,eAAH,GAAqB57I,KAAnC,EAA0C87I,UAA1C,EAAsD;AACzE,MADmB,EACb;AACN,OAFmB,EAEZ;AACPt+B,EAAAA,WAHmB,EAGN;AACb,MAJmB,EAIb;AACN,GALmB,EAKhB;AACH3Q,EAAAA,KANmB,EAMZ;AACPqU,EAAAA,MAPmB,EAOX;AACR,MARmB,EAQb;AACN,MATmB,CAAnB;AAUArjH,EAAAA,SAAS,IACLurG,WAAW,CAAC4P,UAAU,CAACpkH,MAAZ,EAAoBs+G,uBAApB,EAA6C,gEAA7C,CADf;AAEAr1G,EAAAA,SAAS,IAAIuzI,qBAAqB,CAACp4B,UAAD,CAAlC;AACA,SAAOA,UAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS68B,oBAAT,CAA8BjiC,KAA9B,EAAqC;AACjC,OAAK,IAAIoF,UAAU,GAAGud,kBAAkB,CAAC3iB,KAAD,CAAxC,EAAiDoF,UAAU,KAAK,IAAhE,EAAsEA,UAAU,GAAGyd,iBAAiB,CAACzd,UAAD,CAApG,EAAkH;AAC9G,SAAK,IAAIp9G,CAAC,GAAGs3G,uBAAb,EAAsCt3G,CAAC,GAAGo9G,UAAU,CAACpkH,MAArD,EAA6DgH,CAAC,EAA9D,EAAkE;AAC9D,YAAMmgJ,aAAa,GAAG/iC,UAAU,CAACp9G,CAAD,CAAhC;AACA,YAAMogJ,aAAa,GAAGD,aAAa,CAACxqC,KAAD,CAAnC;AACA1zG,MAAAA,SAAS,IAAI+rG,aAAa,CAACoyC,aAAD,EAAgB,yBAAhB,CAA1B;;AACA,UAAIrjC,4BAA4B,CAACojC,aAAD,CAAhC,EAAiD;AAC7CrG,QAAAA,WAAW,CAACsG,aAAD,EAAgBD,aAAhB,EAA+BC,aAAa,CAAC5/E,QAA7C,EAAuD2/E,aAAa,CAACjqC,OAAD,CAApE,CAAX;AACH;AACJ;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS8jC,+BAAT,CAAyChiC,KAAzC,EAAgD;AAC5C,OAAK,IAAIoF,UAAU,GAAGud,kBAAkB,CAAC3iB,KAAD,CAAxC,EAAiDoF,UAAU,KAAK,IAAhE,EAAsEA,UAAU,GAAGyd,iBAAiB,CAACzd,UAAD,CAApG,EAAkH;AAC9G,QAAI,CAACA,UAAU,CAAClG,sBAAD,CAAf,EACI;AACJ,UAAM+lB,UAAU,GAAG7f,UAAU,CAAC/F,WAAD,CAA7B;AACAp1G,IAAAA,SAAS,IAAI+rG,aAAa,CAACivB,UAAD,EAAa,qDAAb,CAA1B;;AACA,SAAK,IAAIj9H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGi9H,UAAU,CAACjkI,MAA/B,EAAuCgH,CAAC,EAAxC,EAA4C;AACxC,YAAMqgJ,UAAU,GAAGpjB,UAAU,CAACj9H,CAAD,CAA7B;AACA,YAAMu9H,mBAAmB,GAAG8iB,UAAU,CAACxqC,MAAD,CAAtC;AACA5zG,MAAAA,SAAS,IAAI42G,gBAAgB,CAAC0kB,mBAAD,CAA7B,CAHwC,CAIxC;AACA;;AACA,UAAI,CAAC8iB,UAAU,CAACzqC,KAAD,CAAV,GAAoB;AAAK;AAA1B,YAA6D,CAAjE,EAAoE;AAChEuH,QAAAA,2BAA2B,CAACogB,mBAAD,EAAsB,CAAtB,CAA3B;AACH,OARuC,CASxC;AACA;AACA;AACA;;;AACA8iB,MAAAA,UAAU,CAACzqC,KAAD,CAAV,IAAqB;AAAK;AAA1B;AACH;AACJ;AACJ,EACD;;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkjC,gBAAT,CAA0BD,SAA1B,EAAqCyH,gBAArC,EAAuD;AACnDr+I,EAAAA,SAAS,IAAIurG,WAAW,CAACsP,cAAc,CAAC+7B,SAAD,CAAf,EAA4B,KAA5B,EAAmC,8BAAnC,CAAxB;AACA,QAAM3f,aAAa,GAAGvc,wBAAwB,CAAC2jC,gBAAD,EAAmBzH,SAAnB,CAA9C,CAFmD,CAGnD;;AACA,MAAI97B,4BAA4B,CAACmc,aAAD,CAAhC,EAAiD;AAC7C,UAAMhoB,KAAK,GAAGgoB,aAAa,CAACvjB,KAAD,CAA3B;;AACA,QAAIujB,aAAa,CAACtjB,KAAD,CAAb,IAAwB;AAAG;AAAH,MAAuB;AAAG;AAAlD,KAAJ,EAAoE;AAChEkkC,MAAAA,WAAW,CAAC5oC,KAAD,EAAQgoB,aAAR,EAAuBhoB,KAAK,CAAC1wC,QAA7B,EAAuC04D,aAAa,CAAChjB,OAAD,CAApD,CAAX;AACH,KAFD,MAGK,IAAIgjB,aAAa,CAACnjB,6BAAD,CAAb,GAA+C,CAAnD,EAAsD;AACvD;AACAwqC,MAAAA,wBAAwB,CAACrnB,aAAD,CAAxB;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqnB,wBAAT,CAAkCvoC,KAAlC,EAAyC;AACrC,OAAK,IAAIoF,UAAU,GAAGud,kBAAkB,CAAC3iB,KAAD,CAAxC,EAAiDoF,UAAU,KAAK,IAAhE,EAAsEA,UAAU,GAAGyd,iBAAiB,CAACzd,UAAD,CAApG,EAAkH;AAC9G,SAAK,IAAIp9G,CAAC,GAAGs3G,uBAAb,EAAsCt3G,CAAC,GAAGo9G,UAAU,CAACpkH,MAArD,EAA6DgH,CAAC,EAA9D,EAAkE;AAC9D,YAAMmgJ,aAAa,GAAG/iC,UAAU,CAACp9G,CAAD,CAAhC;;AACA,UAAImgJ,aAAa,CAACvqC,KAAD,CAAb,GAAuB;AAAK;AAAhC,QAA+D;AAC3D,cAAMwqC,aAAa,GAAGD,aAAa,CAACxqC,KAAD,CAAnC;AACA1zG,QAAAA,SAAS,IAAI+rG,aAAa,CAACoyC,aAAD,EAAgB,yBAAhB,CAA1B;AACAtG,QAAAA,WAAW,CAACsG,aAAD,EAAgBD,aAAhB,EAA+BC,aAAa,CAAC5/E,QAA7C,EAAuD2/E,aAAa,CAACjqC,OAAD,CAApE,CAAX;AACH,OAJD,MAKK,IAAIiqC,aAAa,CAACpqC,6BAAD,CAAb,GAA+C,CAAnD,EAAsD;AACvDwqC,QAAAA,wBAAwB,CAACJ,aAAD,CAAxB;AACH;AACJ;AACJ;;AACD,QAAMjvC,KAAK,GAAG8G,KAAK,CAACrC,KAAD,CAAnB,CAdqC,CAerC;;AACA,QAAMqjB,UAAU,GAAG9nB,KAAK,CAAC8nB,UAAzB;;AACA,MAAIA,UAAU,KAAK,IAAnB,EAAyB;AACrB,SAAK,IAAIh5H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGg5H,UAAU,CAAChgI,MAA/B,EAAuCgH,CAAC,EAAxC,EAA4C;AACxC,YAAMk5H,aAAa,GAAGvc,wBAAwB,CAACqc,UAAU,CAACh5H,CAAD,CAAX,EAAgBg4G,KAAhB,CAA9C,CADwC,CAExC;;AACA,UAAI+E,4BAA4B,CAACmc,aAAD,CAA5B,IACAA,aAAa,CAACnjB,6BAAD,CAAb,GAA+C,CADnD,EACsD;AAClDwqC,QAAAA,wBAAwB,CAACrnB,aAAD,CAAxB;AACH;AACJ;AACJ;AACJ;;AACD,SAAS8f,eAAT,CAAyBH,SAAzB,EAAoCyH,gBAApC,EAAsD;AAClDr+I,EAAAA,SAAS,IAAIurG,WAAW,CAACsP,cAAc,CAAC+7B,SAAD,CAAf,EAA4B,IAA5B,EAAkC,gCAAlC,CAAxB;AACA,QAAM3f,aAAa,GAAGvc,wBAAwB,CAAC2jC,gBAAD,EAAmBzH,SAAnB,CAA9C;AACA,QAAM2H,cAAc,GAAGtnB,aAAa,CAACvjB,KAAD,CAApC;AACA8qC,EAAAA,qBAAqB,CAACD,cAAD,EAAiBtnB,aAAjB,CAArB;AACAwgB,EAAAA,UAAU,CAAC8G,cAAD,EAAiBtnB,aAAjB,EAAgCA,aAAa,CAAChjB,OAAD,CAA7C,CAAV;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuqC,qBAAT,CAA+BvvC,KAA/B,EAAsC8G,KAAtC,EAA6C;AACzC,OAAK,IAAIh4G,CAAC,GAAGg4G,KAAK,CAACh/G,MAAnB,EAA2BgH,CAAC,GAAGkxG,KAAK,CAAC0W,SAAN,CAAgB5uH,MAA/C,EAAuDgH,CAAC,EAAxD,EAA4D;AACxDg4G,IAAAA,KAAK,CAACngH,IAAN,CAAWq5G,KAAK,CAAC0W,SAAN,CAAgB5nH,CAAhB,CAAX;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2/I,aAAT,CAAuB3nC,KAAvB,EAA8BukB,iBAA9B,EAAiD;AAC7C;AACA;AACA;AACA;AACA,MAAIvkB,KAAK,CAACzB,UAAD,CAAT,EAAuB;AACnByB,IAAAA,KAAK,CAACxB,UAAD,CAAL,CAAkBV,IAAlB,IAA0BymB,iBAA1B;AACH,GAFD,MAGK;AACDvkB,IAAAA,KAAK,CAACzB,UAAD,CAAL,GAAoBgmB,iBAApB;AACH;;AACDvkB,EAAAA,KAAK,CAACxB,UAAD,CAAL,GAAoB+lB,iBAApB;AACA,SAAOA,iBAAP;AACH,EACD;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmkB,aAAT,CAAuB1oC,KAAvB,EAA8B;AAC1B,SAAOA,KAAP,EAAc;AACVA,IAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB;AAAG;AAAnB;AACA,UAAMh1F,MAAM,GAAGy5G,cAAc,CAACriB,KAAD,CAA7B,CAFU,CAGV;;AACA,QAAIF,UAAU,CAACE,KAAD,CAAV,IAAqB,CAACp3F,MAA1B,EAAkC;AAC9B,aAAOo3F,KAAP;AACH,KANS,CAOV;;;AACAA,IAAAA,KAAK,GAAGp3F,MAAR;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+/H,YAAT,CAAsBC,WAAtB,EAAmChxC,KAAnC,EAA0C;AACtC,QAAMixC,gBAAgB,GAAGD,WAAW,CAAChxC,KAAZ,KAAsB;AAAE;AAAjD;;AACA,MAAIixC,gBAAgB,IAAID,WAAW,CAACE,KAAZ,IAAqB3I,cAA7C,EAA6D;AACzD;AACA;AACAyI,IAAAA,WAAW,CAAChxC,KAAZ,IAAqBA,KAArB;AACA,QAAIlxB,GAAJ;AACAkiE,IAAAA,WAAW,CAACE,KAAZ,GAAoB,IAAIrqJ,OAAJ,CAAakjG,CAAD,IAAOjb,GAAG,GAAGib,CAAzB,CAApB;AACAinD,IAAAA,WAAW,CAACG,SAAZ,CAAsB,MAAM;AACxB,UAAIH,WAAW,CAAChxC,KAAZ,GAAoB;AAAE;AAA1B,QAA+C;AAC3CgxC,QAAAA,WAAW,CAAChxC,KAAZ,IAAqB,CAAC;AAAE;AAAxB;AACAoxC,QAAAA,eAAe,CAACJ,WAAD,CAAf;AACH;;AACD,UAAIA,WAAW,CAAChxC,KAAZ,GAAoB;AAAE;AAA1B,QAA8C;AAC1CgxC,QAAAA,WAAW,CAAChxC,KAAZ,IAAqB,CAAC;AAAE;AAAxB;AACA,cAAMqxC,aAAa,GAAGL,WAAW,CAACK,aAAlC;;AACA,YAAIA,aAAJ,EAAmB;AACfA,UAAAA,aAAa,CAACC,YAAd;AACH;AACJ;;AACDN,MAAAA,WAAW,CAACE,KAAZ,GAAoB3I,cAApB;AACAz5D,MAAAA,GAAG,CAAC,IAAD,CAAH;AACH,KAdD;AAeH;AACJ;;AACD,SAASsiE,eAAT,CAAyBJ,WAAzB,EAAsC;AAClC,OAAK,IAAI5gJ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4gJ,WAAW,CAAC5nB,UAAZ,CAAuBhgI,MAA3C,EAAmDgH,CAAC,EAApD,EAAwD;AACpD,UAAMo5H,aAAa,GAAGwnB,WAAW,CAAC5nB,UAAZ,CAAuBh5H,CAAvB,CAAtB;AACA,UAAMg4G,KAAK,GAAG6gB,gBAAgB,CAACO,aAAD,CAA9B;AACA,UAAMloB,KAAK,GAAG8G,KAAK,CAACrC,KAAD,CAAnB;AACAukC,IAAAA,yBAAyB,CAAChpC,KAAD,EAAQ8G,KAAR,EAAe9G,KAAK,CAAC1wC,QAArB,EAA+B44D,aAA/B,CAAzB;AACH;AACJ;;AACD,SAAS+nB,qBAAT,CAA+BjwC,KAA/B,EAAsC8G,KAAtC,EAA6C3wG,OAA7C,EAAsD;AAClD,QAAMovI,eAAe,GAAGz+B,KAAK,CAAC5B,gBAAD,CAA7B;AACA,MAAIqgC,eAAe,CAAC4D,KAApB,EACI5D,eAAe,CAAC4D,KAAhB;;AACJ,MAAI;AACAP,IAAAA,WAAW,CAAC5oC,KAAD,EAAQ8G,KAAR,EAAe9G,KAAK,CAAC1wC,QAArB,EAA+Bn5D,OAA/B,CAAX;AACH,GAFD,CAGA,OAAOse,KAAP,EAAc;AACV+lH,IAAAA,WAAW,CAAC1zB,KAAD,EAAQryF,KAAR,CAAX;AACA,UAAMA,KAAN;AACH,GAND,SAOQ;AACJ,QAAI8wH,eAAe,CAAC/vE,GAApB,EACI+vE,eAAe,CAAC/vE,GAAhB;AACP;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS06E,uBAAT,CAAiCppC,KAAjC,EAAwC;AACpCgpC,EAAAA,eAAe,CAAChpC,KAAK,CAAC9B,OAAD,CAAN,CAAf;AACH;;AACD,SAASmrC,sBAAT,CAAgCnwC,KAAhC,EAAuCt9D,IAAvC,EAA6CvsC,OAA7C,EAAsD;AAClD63G,EAAAA,yBAAyB,CAAC,IAAD,CAAzB;;AACA,MAAI;AACAiiC,IAAAA,qBAAqB,CAACjwC,KAAD,EAAQt9D,IAAR,EAAcvsC,OAAd,CAArB;AACH,GAFD,SAGQ;AACJ63G,IAAAA,yBAAyB,CAAC,KAAD,CAAzB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoiC,wBAAT,CAAkCtpC,KAAlC,EAAyC;AACrCkH,EAAAA,yBAAyB,CAAC,IAAD,CAAzB;;AACA,MAAI;AACAkiC,IAAAA,uBAAuB,CAACppC,KAAD,CAAvB;AACH,GAFD,SAGQ;AACJkH,IAAAA,yBAAyB,CAAC,KAAD,CAAzB;AACH;AACJ;;AACD,SAASy6B,kBAAT,CAA4B/pC,KAA5B,EAAmC2xC,WAAnC,EAAgDlhF,SAAhD,EAA2D;AACvDp+D,EAAAA,SAAS,IAAI+rG,aAAa,CAACuzC,WAAD,EAAc,mDAAd,CAA1B;AACAnhC,EAAAA,oBAAoB,CAAC,CAAD,CAApB;AACAmhC,EAAAA,WAAW,CAAC3xC,KAAD,EAAQvvC,SAAR,CAAX;AACH,EACD;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmhF,4BAAT,CAAsCthC,KAAtC,EAA6CjP,KAA7C,EAAoDt5F,YAApD,EAAkE2nG,YAAlE,EAAgF,GAAGmiC,kBAAnF,EAAuG;AACnG;AACA;AACA;AACA,MAAIvhC,KAAK,CAACZ,YAAD,CAAL,KAAwB,IAA5B,EAAkC;AAC9B,QAAIrO,KAAK,CAACprE,MAAN,IAAgB,IAAhB,IAAwB,CAACorE,KAAK,CAACprE,MAAN,CAAaluB,YAAb,CAA7B,EAAyD;AACrD,YAAM+pI,eAAe,GAAGzwC,KAAK,CAAC+hC,gBAAN,KAA2B/hC,KAAK,CAAC+hC,gBAAN,GAAyB,EAApD,CAAxB;AACA0O,MAAAA,eAAe,CAAC7pJ,IAAhB,CAAqBynH,YAArB;AACA,UAAIqiC,eAAe,GAAGhqI,YAAtB;;AACA,UAAI8pI,kBAAkB,CAACzoJ,MAAnB,GAA4B,CAAhC,EAAmC;AAC/B2oJ,QAAAA,eAAe,IACXlV,uBAAuB,GAAGgV,kBAAkB,CAACllJ,IAAnB,CAAwBkwI,uBAAxB,CAD9B;AAEH;;AACDvsB,MAAAA,KAAK,CAACZ,YAAD,CAAL,GAAsBqiC,eAAtB;AACH;AACJ;AACJ;;AACD,MAAMC,aAAa,GAAGzJ,cAAtB;;AACA,SAAS6D,uBAAT,CAAiCpoG,IAAjC,EAAuC;AACnC;AACA,SAAOA,IAAI,CAACqiE,OAAD,CAAJ,KAAkBriE,IAAI,CAACqiE,OAAD,CAAJ,GAAgBh0G,SAAS,GAAG,IAAImzI,QAAJ,EAAH,GAAoB,EAA/D,CAAP;AACH;;AACD,SAAS6G,uBAAT,CAAiC/qC,KAAjC,EAAwC;AACpC,SAAOA,KAAK,CAACzL,OAAN,KAAkByL,KAAK,CAACzL,OAAN,GAAgBxjG,SAAS,GAAG,IAAIozI,QAAJ,EAAH,GAAoB,EAA/D,CAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASwM,qBAAT,CAA+BC,UAA/B,EAA2C7wC,KAA3C,EAAkD+G,KAAlD,EAAyD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,MAAI8pC,UAAU,KAAK,IAAf,IAAuBjqC,cAAc,CAACiqC,UAAD,CAAzC,EAAuD;AACnD9pC,IAAAA,KAAK,GAAGoE,WAAW,CAACpE,KAAK,CAAC/G,KAAK,CAACh1F,KAAP,CAAN,CAAnB;AACH;;AACD,SAAO+7F,KAAK,CAAC3B,QAAD,CAAZ;AACH;AACD;;;AACA,SAASq1B,WAAT,CAAqB1zB,KAArB,EAA4BryF,KAA5B,EAAmC;AAC/B,QAAM26C,QAAQ,GAAG03C,KAAK,CAAC7B,QAAD,CAAtB;AACA,QAAM4rC,YAAY,GAAGzhF,QAAQ,GAAGA,QAAQ,CAAC3iE,GAAT,CAAa6tI,YAAb,EAA2B,IAA3B,CAAH,GAAsC,IAAnE;AACAuW,EAAAA,YAAY,IAAIA,YAAY,CAACrW,WAAb,CAAyB/lH,KAAzB,CAAhB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy3H,oBAAT,CAA8BlsC,KAA9B,EAAqC8G,KAArC,EAA4CnyE,MAA5C,EAAoDwvE,UAApD,EAAgE53G,KAAhE,EAAuE;AACnE,OAAK,IAAIuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6lC,MAAM,CAAC7sC,MAA3B,GAAoC;AAChC,UAAMijB,KAAK,GAAG4pB,MAAM,CAAC7lC,CAAC,EAAF,CAApB;AACA,UAAM+6G,WAAW,GAAGl1E,MAAM,CAAC7lC,CAAC,EAAF,CAA1B;AACA,UAAM86G,QAAQ,GAAG9C,KAAK,CAAC/7F,KAAD,CAAtB;AACAha,IAAAA,SAAS,IAAIksG,kBAAkB,CAAC6J,KAAD,EAAQ/7F,KAAR,CAA/B;AACA,UAAMtR,GAAG,GAAGumG,KAAK,CAAC9zG,IAAN,CAAW6e,KAAX,CAAZ;;AACA,QAAItR,GAAG,CAACmpG,QAAJ,KAAiB,IAArB,EAA2B;AACvBnpG,MAAAA,GAAG,CAACmpG,QAAJ,CAAagH,QAAb,EAAuBr9G,KAAvB,EAA8B43G,UAA9B,EAA0C0F,WAA1C;AACH,KAFD,MAGK;AACDD,MAAAA,QAAQ,CAACC,WAAD,CAAR,GAAwBt9G,KAAxB;AACH;AACJ;AACJ;AACD;AACA;AACA;;;AACA,SAASukJ,mBAAT,CAA6BhqC,KAA7B,EAAoC/7F,KAApC,EAA2Cxe,KAA3C,EAAkD;AAC9CwE,EAAAA,SAAS,IAAIqrG,YAAY,CAAC7vG,KAAD,EAAQ,0BAAR,CAAzB;AACAwE,EAAAA,SAAS,IAAI2rG,aAAa,CAACnwG,KAAD,EAAQuyI,SAAR,EAAmB,+BAAnB,CAA1B;AACA/tI,EAAAA,SAAS,IAAIksG,kBAAkB,CAAC6J,KAAD,EAAQ/7F,KAAR,CAA/B;AACA,QAAM7gB,OAAO,GAAGkhH,gBAAgB,CAACrgG,KAAD,EAAQ+7F,KAAR,CAAhC;AACA/1G,EAAAA,SAAS,IAAI+rG,aAAa,CAAC5yG,OAAD,EAAU,6BAAV,CAA1B;AACAugI,EAAAA,cAAc,CAAC3jB,KAAK,CAAC3B,QAAD,CAAN,EAAkBj7G,OAAlB,EAA2BqC,KAA3B,CAAd;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwkJ,oBAAT,CAA8BhxC,KAA9B,EAAqCsU,KAArC,EAA4C28B,WAA5C,EAAyD;AACrDjgJ,EAAAA,SAAS,IACL+2G,qBAAqB,CAACqF,QAAQ,EAAT,EAAa,oDAAb,CADzB;AAEA,MAAIhpH,MAAM,GAAG6sJ,WAAW,GAAGjxC,KAAK,CAAC57G,MAAT,GAAkB,IAA1C;AACA,MAAI80B,OAAO,GAAG+3H,WAAW,GAAGjxC,KAAK,CAAC9mF,OAAT,GAAmB,IAA5C;AACA,MAAIgmB,IAAI,GAAG,CAAX;;AACA,MAAIo1E,KAAK,KAAK,IAAd,EAAoB;AAChB,SAAK,IAAIvlH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGulH,KAAK,CAACvsH,MAA1B,EAAkCgH,CAAC,EAAnC,EAAuC;AACnC,YAAMvC,KAAK,GAAG8nH,KAAK,CAACvlH,CAAD,CAAnB;;AACA,UAAI,OAAOvC,KAAP,KAAiB,QAArB,EAA+B;AAC3B0yC,QAAAA,IAAI,GAAG1yC,KAAP;AACH,OAFD,MAGK,IAAI0yC,IAAI,IAAI;AAAE;AAAd,QAA6B;AAC9BhmB,QAAAA,OAAO,GAAGihF,sBAAsB,CAACjhF,OAAD,EAAU1sB,KAAV,CAAhC;AACH,OAFI,MAGA,IAAI0yC,IAAI,IAAI;AAAE;AAAd,QAA4B;AAC7B,cAAM16C,KAAK,GAAGgI,KAAd;AACA,cAAM0kJ,UAAU,GAAG58B,KAAK,CAAC,EAAEvlH,CAAH,CAAxB;AACA3K,QAAAA,MAAM,GAAG+1G,sBAAsB,CAAC/1G,MAAD,EAASI,KAAK,GAAG,IAAR,GAAe0sJ,UAAf,GAA4B,GAArC,CAA/B;AACH;AACJ;AACJ;;AACDD,EAAAA,WAAW,GAAGjxC,KAAK,CAAC57G,MAAN,GAAeA,MAAlB,GAA2B47G,KAAK,CAACmiC,iBAAN,GAA0B/9I,MAAhE;AACA6sJ,EAAAA,WAAW,GAAGjxC,KAAK,CAAC9mF,OAAN,GAAgBA,OAAnB,GAA6B8mF,KAAK,CAACqiC,kBAAN,GAA2BnpH,OAAnE;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASi4C,aAAT,CAAuB/B,SAAvB,EAAkC;AAC9B,QAAMzsB,IAAI,GAAG8kF,0BAA0B,CAACr4D,SAAD,CAAvC;AACA8gF,EAAAA,qBAAqB,CAACvtG,IAAI,CAAC+hE,KAAD,CAAL,EAAc/hE,IAAd,EAAoBysB,SAApB,CAArB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+hF,SAAT,CAAmB/hF,SAAnB,EAA8B;AAC1Bp+D,EAAAA,SAAS,IAAI+rG,aAAa,CAAC3tC,SAAD,EAAY,WAAZ,CAA1B;AACA,QAAMq6D,QAAQ,GAAGgmB,aAAa,CAAChoB,0BAA0B,CAACr4D,SAAD,CAA3B,CAA9B;AACAp+D,EAAAA,SAAS,IAAI+rG,aAAa,CAAC0sB,QAAQ,CAACxkB,OAAD,CAAT,EAAoB,+BAApB,CAA1B;AACAyqC,EAAAA,YAAY,CAACjmB,QAAQ,CAACxkB,OAAD,CAAT,EAAoB;AAAE;AAAtB,GAAZ;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmsC,IAAT,CAAchiF,SAAd,EAAyB;AACrB,QAAMq6D,QAAQ,GAAGJ,WAAW,CAACj6D,SAAD,CAA5B;AACA,QAAMugF,WAAW,GAAGlmB,QAAQ,CAACxkB,OAAD,CAA5B;AACA8qC,EAAAA,eAAe,CAACJ,WAAD,CAAf;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM0B,UAAU,gBAAG,IAAI3tH,cAAJ,CAAmB,UAAnB,EACnB;AACA;AACA,CAAC;AAAE;AAHgB,CAAnB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM4tH,YAAN,CAAmB;AACf5kJ,EAAAA,GAAG,CAACoE,KAAD,EAAQ8hE,aAAa,GAAG2vD,kBAAxB,EAA4C;AAC3C,QAAI3vD,aAAa,KAAK2vD,kBAAtB,EAA0C;AACtC,YAAM7tG,KAAK,GAAG,IAAIrpB,KAAJ,CAAW,sCAAqCi1F,SAAS,CAACxvF,KAAD,CAAQ,GAAjE,CAAd;AACA4jB,MAAAA,KAAK,CAAC5wB,IAAN,GAAa,mBAAb;AACA,YAAM4wB,KAAN;AACH;;AACD,WAAOk+C,aAAP;AACH;;AARc;AAWnB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2+E,cAAc,gBAAG,IAAI7tH,cAAJ,CAAmB,qBAAnB,CAAvB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,MAAM8tH,OAAO,GAAG,EAAhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,QAAQ,GAAG,EAAjB;AACA;AACA;AACA;;AACA,IAAIC,aAAa,GAAGxlJ,SAApB;;AACA,SAASylJ,eAAT,GAA2B;AACvB,MAAID,aAAa,KAAKxlJ,SAAtB,EAAiC;AAC7BwlJ,IAAAA,aAAa,GAAG,IAAIJ,YAAJ,EAAhB;AACH;;AACD,SAAOI,aAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASE,cAAT,CAAwBC,OAAxB,EAAiCliI,MAAM,GAAG,IAA1C,EAAgDmiI,mBAAmB,GAAG,IAAtE,EAA4EhuJ,IAA5E,EAAkF;AAC9E,QAAMurE,QAAQ,GAAG0iF,sCAAsC,CAACF,OAAD,EAAUliI,MAAV,EAAkBmiI,mBAAlB,EAAuChuJ,IAAvC,CAAvD;;AACAurE,EAAAA,QAAQ,CAAC2iF,wBAAT;;AACA,SAAO3iF,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS0iF,sCAAT,CAAgDF,OAAhD,EAAyDliI,MAAM,GAAG,IAAlE,EAAwEmiI,mBAAmB,GAAG,IAA9F,EAAoGhuJ,IAApG,EAA0G;AACtG,SAAO,IAAImuJ,UAAJ,CAAeJ,OAAf,EAAwBC,mBAAxB,EAA6CniI,MAAM,IAAIgiI,eAAe,EAAtE,EAA0E7tJ,IAA1E,CAAP;AACH;;AACD,MAAMmuJ,UAAN,CAAiB;AACbrsJ,EAAAA,WAAW,CAAC8T,GAAD,EAAMo4I,mBAAN,EAA2BniI,MAA3B,EAAmC41B,MAAM,GAAG,IAA5C,EAAkD;AACzD,SAAK51B,MAAL,GAAcA,MAAd;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKuiI,OAAL,GAAe,IAAIzlJ,GAAJ,EAAf;AACA;AACR;AACA;;AACQ,SAAK0lJ,gBAAL,GAAwB,IAAIn6I,GAAJ,EAAxB;AACA;AACR;AACA;;AACQ,SAAKlR,SAAL,GAAiB,IAAIkR,GAAJ,EAAjB;AACA,SAAK7R,UAAL,GAAkB,KAAlB;AACA,UAAMisJ,UAAU,GAAG,EAAnB,CAjByD,CAkBzD;AACA;AACA;;AACAN,IAAAA,mBAAmB,IACfh0B,WAAW,CAACg0B,mBAAD,EAAsBx2C,QAAQ,IAAI,KAAK+2C,eAAL,CAAqB/2C,QAArB,EAA+B5hG,GAA/B,EAAoCo4I,mBAApC,CAAlC,CADf;AAEAh0B,IAAAA,WAAW,CAAC,CAACpkH,GAAD,CAAD,EAAQ44I,WAAW,IAAI,KAAKC,mBAAL,CAAyBD,WAAzB,EAAsC,EAAtC,EAA0CF,UAA1C,CAAvB,CAAX,CAvByD,CAwBzD;;AACA,SAAKF,OAAL,CAAavlJ,GAAb,CAAiB0kJ,UAAjB,EAA6BmB,UAAU,CAACtmJ,SAAD,EAAY,IAAZ,CAAvC,EAzByD,CA0BzD;AACA;;AACA,UAAMs2C,MAAM,GAAG,KAAK0vG,OAAL,CAAaxlJ,GAAb,CAAiB6kJ,cAAjB,CAAf;AACA,SAAKztC,KAAL,GAAathE,MAAM,IAAI,IAAV,GAAiBA,MAAM,CAACh2C,KAAxB,GAAgC,IAA7C,CA7ByD,CA8BzD;;AACA,SAAK+4C,MAAL,GAAcA,MAAM,KAAK,OAAO7rC,GAAP,KAAe,QAAf,GAA0B,IAA1B,GAAiC4mF,SAAS,CAAC5mF,GAAD,CAA/C,CAApB;AACH;AACD;AACJ;AACA;;;AACiB,MAATyW,SAAS,GAAG;AACZ,WAAO,KAAKhqB,UAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIoB,EAAAA,OAAO,GAAG;AACN,SAAKkrJ,kBAAL,GADM,CAEN;;AACA,SAAKtsJ,UAAL,GAAkB,IAAlB;;AACA,QAAI;AACA;AACA,WAAKW,SAAL,CAAeL,OAAf,CAAuBisJ,OAAO,IAAIA,OAAO,CAAC9pH,WAAR,EAAlC;AACH,KAHD,SAIQ;AACJ;AACA,WAAKspH,OAAL,CAAa1zI,KAAb;AACA,WAAK1X,SAAL,CAAe0X,KAAf;AACA,WAAK2zI,gBAAL,CAAsB3zI,KAAtB;AACH;AACJ;;AACD9R,EAAAA,GAAG,CAACoE,KAAD,EAAQ8hE,aAAa,GAAG2vD,kBAAxB,EAA4C5jB,KAAK,GAAGP,WAAW,CAACc,OAAhE,EAAyE;AACxE,SAAKuzC,kBAAL,GADwE,CAExE;;AACA,UAAME,gBAAgB,GAAG1vB,kBAAkB,CAAC,IAAD,CAA3C;AACA,UAAMrL,4BAA4B,GAAGrZ,uBAAuB,CAACryG,SAAD,CAA5D;;AACA,QAAI;AACA;AACA,UAAI,EAAEyyG,KAAK,GAAGP,WAAW,CAAChrC,QAAtB,CAAJ,EAAqC;AACjC;AACA,YAAI5wB,MAAM,GAAG,KAAK0vG,OAAL,CAAaxlJ,GAAb,CAAiBoE,KAAjB,CAAb;;AACA,YAAI0xC,MAAM,KAAKt2C,SAAf,EAA0B;AACtB;AACA;AACA,gBAAMwN,GAAG,GAAGk5I,qBAAqB,CAAC9hJ,KAAD,CAArB,IAAgC0sG,gBAAgB,CAAC1sG,KAAD,CAA5D;;AACA,cAAI4I,GAAG,IAAI,KAAKm5I,oBAAL,CAA0Bn5I,GAA1B,CAAX,EAA2C;AACvC;AACA;AACA8oC,YAAAA,MAAM,GAAGgwG,UAAU,CAACM,iCAAiC,CAAChiJ,KAAD,CAAlC,EAA2C0gJ,OAA3C,CAAnB;AACH,WAJD,MAKK;AACDhvG,YAAAA,MAAM,GAAG,IAAT;AACH;;AACD,eAAK0vG,OAAL,CAAavlJ,GAAb,CAAiBmE,KAAjB,EAAwB0xC,MAAxB;AACH,SAhBgC,CAiBjC;;;AACA,YAAIA,MAAM,IAAI;AAAK;AAAnB,UAAgD;AAC5C,iBAAO,KAAKuwG,OAAL,CAAajiJ,KAAb,EAAoB0xC,MAApB,CAAP;AACH;AACJ,OAvBD,CAwBA;AACA;;;AACA,YAAMwwG,YAAY,GAAG,EAAEr0C,KAAK,GAAGP,WAAW,CAACsZ,IAAtB,IAA8B,KAAK/nG,MAAnC,GAA4CgiI,eAAe,EAAhF,CA1BA,CA2BA;AACA;;AACA/+E,MAAAA,aAAa,GAAI+rC,KAAK,GAAGP,WAAW,CAACz6E,QAArB,IAAkCivC,aAAa,KAAK2vD,kBAApD,GACZ,IADY,GAEZ3vD,aAFJ;AAGA,aAAOogF,YAAY,CAACtmJ,GAAb,CAAiBoE,KAAjB,EAAwB8hE,aAAxB,CAAP;AACH,KAjCD,CAkCA,OAAOhnE,CAAP,EAAU;AACN,UAAIA,CAAC,CAAC9H,IAAF,KAAW,mBAAf,EAAoC;AAChC,cAAMqlF,IAAI,GAAGv9E,CAAC,CAAC62H,kBAAD,CAAD,GAAwB72H,CAAC,CAAC62H,kBAAD,CAAD,IAAyB,EAA9D;AACAt5C,QAAAA,IAAI,CAAC8Q,OAAL,CAAaqG,SAAS,CAACxvF,KAAD,CAAtB;;AACA,YAAI6hJ,gBAAJ,EAAsB;AAClB;AACA,gBAAM/mJ,CAAN;AACH,SAHD,MAIK;AACD;AACA,iBAAOg4H,kBAAkB,CAACh4H,CAAD,EAAIkF,KAAJ,EAAW,iBAAX,EAA8B,KAAKy0C,MAAnC,CAAzB;AACH;AACJ,OAXD,MAYK;AACD,cAAM35C,CAAN;AACH;AACJ,KAlDD,SAmDQ;AACJ;AACA2yG,MAAAA,uBAAuB,CAACqZ,4BAAD,CAAvB;AACAqL,MAAAA,kBAAkB,CAAC0vB,gBAAD,CAAlB;AACH;AACJ;AACD;;;AACAX,EAAAA,wBAAwB,GAAG;AACvB,SAAKG,gBAAL,CAAsB1rJ,OAAtB,CAA8BorJ,OAAO,IAAI,KAAKnlJ,GAAL,CAASmlJ,OAAT,CAAzC;AACH;;AACDhoJ,EAAAA,QAAQ,GAAG;AACP,UAAMpF,MAAM,GAAG,EAAf;AAAA,UAAmBytJ,OAAO,GAAG,KAAKA,OAAlC;AACAA,IAAAA,OAAO,CAACzrJ,OAAR,CAAgB,CAACkX,CAAD,EAAI7M,KAAJ,KAAcrM,MAAM,CAACmC,IAAP,CAAY05F,SAAS,CAACxvF,KAAD,CAArB,CAA9B;AACA,WAAQ,cAAarM,MAAM,CAAC6G,IAAP,CAAY,IAAZ,CAAkB,GAAvC;AACH;;AACDmnJ,EAAAA,kBAAkB,GAAG;AACjB,QAAI,KAAKtsJ,UAAT,EAAqB;AACjB,YAAM,IAAIkF,KAAJ,CAAU,sCAAV,CAAN;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIknJ,EAAAA,mBAAmB,CAACU,eAAD,EAAkBC,OAAlB,EAA2Bd,UAA3B,EAAuC;AACtDa,IAAAA,eAAe,GAAGz4C,iBAAiB,CAACy4C,eAAD,CAAnC;AACA,QAAI,CAACA,eAAL,EACI,OAAO,KAAP,CAHkD,CAItD;AACA;AACA;AACA;;AACA,QAAIv5I,GAAG,GAAGqkG,cAAc,CAACk1C,eAAD,CAAxB,CARsD,CAStD;;AACA,UAAM36C,QAAQ,GAAI5+F,GAAG,IAAI,IAAR,IAAiBu5I,eAAe,CAAC36C,QAAjC,IAA6CpsG,SAA9D,CAVsD,CAWtD;AACA;AACA;;AACA,UAAM2lJ,OAAO,GAAIv5C,QAAQ,KAAKpsG,SAAd,GAA2B+mJ,eAA3B,GAA6C36C,QAA7D,CAdsD,CAetD;;AACA,QAAItnG,SAAS,IAAIkiJ,OAAO,CAACnmJ,OAAR,CAAgB8kJ,OAAhB,MAA6B,CAAC,CAA/C,EAAkD;AAC9C,YAAMsB,OAAO,GAAG7yD,SAAS,CAACuxD,OAAD,CAAzB;AACA,YAAM1oE,IAAI,GAAG+pE,OAAO,CAAC7mJ,GAAR,CAAYi0F,SAAZ,CAAb;AACA2a,MAAAA,0BAA0B,CAACk4C,OAAD,EAAUhqE,IAAV,CAA1B;AACH,KApBqD,CAqBtD;;;AACA,UAAMiqE,WAAW,GAAGhB,UAAU,CAACrlJ,OAAX,CAAmB8kJ,OAAnB,MAAgC,CAAC,CAArD,CAtBsD,CAuBtD;AACA;;AACA,QAAIv5C,QAAQ,KAAKpsG,SAAjB,EAA4B;AACxBwN,MAAAA,GAAG,GAAGqkG,cAAc,CAACzF,QAAD,CAApB;AACH,KA3BqD,CA4BtD;;;AACA,QAAI5+F,GAAG,IAAI,IAAX,EAAiB;AACb,aAAO,KAAP;AACH,KA/BqD,CAgCtD;AACA;;;AACA,QAAIA,GAAG,CAACimC,OAAJ,IAAe,IAAf,IAAuB,CAACyzG,WAA5B,EAAyC;AACrC;AACA;AACApiJ,MAAAA,SAAS,IAAIkiJ,OAAO,CAACtsJ,IAAR,CAAairJ,OAAb,CAAb,CAHqC,CAIrC;;AACAO,MAAAA,UAAU,CAACxrJ,IAAX,CAAgBirJ,OAAhB;AACA,UAAIwB,wBAAJ;;AACA,UAAI;AACAv1B,QAAAA,WAAW,CAACpkH,GAAG,CAACimC,OAAL,EAAc2zG,QAAQ,IAAI;AACjC,cAAI,KAAKf,mBAAL,CAAyBe,QAAzB,EAAmCJ,OAAnC,EAA4Cd,UAA5C,CAAJ,EAA6D;AACzD,gBAAIiB,wBAAwB,KAAKnnJ,SAAjC,EACImnJ,wBAAwB,GAAG,EAA3B,CAFqD,CAGzD;AACA;;AACAA,YAAAA,wBAAwB,CAACzsJ,IAAzB,CAA8B0sJ,QAA9B;AACH;AACJ,SARU,CAAX;AASH,OAVD,SAWQ;AACJ;AACAtiJ,QAAAA,SAAS,IAAIkiJ,OAAO,CAAClvG,GAAR,EAAb;AACH,OArBoC,CAsBrC;AACA;AACA;;;AACA,UAAIqvG,wBAAwB,KAAKnnJ,SAAjC,EAA4C;AACxC,aAAK,IAAI6C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGskJ,wBAAwB,CAACtrJ,MAA7C,EAAqDgH,CAAC,EAAtD,EAA0D;AACtD,gBAAM;AAAEupG,YAAAA,QAAF;AAAY9pD,YAAAA;AAAZ,cAA0B6kG,wBAAwB,CAACtkJ,CAAD,CAAxD;AACA+uH,UAAAA,WAAW,CAACtvE,SAAD,EAAY8sD,QAAQ,IAAI,KAAK+2C,eAAL,CAAqB/2C,QAArB,EAA+BhD,QAA/B,EAAyC9pD,SAAS,IAAIgzD,WAAtD,CAAxB,CAAX;AACH;AACJ;AACJ,KAjEqD,CAkEtD;AACA;;;AACA,SAAK2wC,gBAAL,CAAsB/3I,GAAtB,CAA0By3I,OAA1B;;AACA,UAAM9gJ,OAAO,GAAGk4G,aAAa,CAAC4oC,OAAD,CAAb,KAA2B,MAAM,IAAIA,OAAJ,EAAjC,CAAhB;;AACA,SAAKK,OAAL,CAAavlJ,GAAb,CAAiBklJ,OAAjB,EAA0BW,UAAU,CAACzhJ,OAAD,EAAUygJ,OAAV,CAApC,EAtEsD,CAuEtD;;AACA,UAAM+B,YAAY,GAAG75I,GAAG,CAAC80C,SAAzB;;AACA,QAAI+kG,YAAY,IAAI,IAAhB,IAAwB,CAACH,WAA7B,EAA0C;AACtC,YAAMI,YAAY,GAAGP,eAArB;AACAn1B,MAAAA,WAAW,CAACy1B,YAAD,EAAej4C,QAAQ,IAAI,KAAK+2C,eAAL,CAAqB/2C,QAArB,EAA+Bk4C,YAA/B,EAA6CD,YAA7C,CAA3B,CAAX;AACH;;AACD,WAAQj7C,QAAQ,KAAKpsG,SAAb,IACJ+mJ,eAAe,CAACzkG,SAAhB,KAA8BtiD,SADlC;AAEH;AACD;AACJ;AACA;;;AACImmJ,EAAAA,eAAe,CAAC/2C,QAAD,EAAWD,YAAX,EAAyB7sD,SAAzB,EAAoC;AAC/C;AACA;AACA8sD,IAAAA,QAAQ,GAAGd,iBAAiB,CAACc,QAAD,CAA5B;AACA,QAAIxqG,KAAK,GAAG2iJ,cAAc,CAACn4C,QAAD,CAAd,GAA2BA,QAA3B,GAAsCd,iBAAiB,CAACc,QAAQ,IAAIA,QAAQ,CAACj6D,OAAtB,CAAnE,CAJ+C,CAK/C;;AACA,UAAMmB,MAAM,GAAGkxG,gBAAgB,CAACp4C,QAAD,EAAWD,YAAX,EAAyB7sD,SAAzB,CAA/B;;AACA,QAAI,CAACilG,cAAc,CAACn4C,QAAD,CAAf,IAA6BA,QAAQ,CAAC3tG,KAAT,KAAmB,IAApD,EAA0D;AACtD;AACA;AACA,UAAIgmJ,WAAW,GAAG,KAAKzB,OAAL,CAAaxlJ,GAAb,CAAiBoE,KAAjB,CAAlB;;AACA,UAAI6iJ,WAAJ,EAAiB;AACb;AACA,YAAI3iJ,SAAS,IAAI2iJ,WAAW,CAAChmJ,KAAZ,KAAsBzB,SAAvC,EAAkD;AAC9CivG,UAAAA,4BAA4B;AAC/B;AACJ,OALD,MAMK;AACDw4C,QAAAA,WAAW,GAAGnB,UAAU,CAACtmJ,SAAD,EAAYslJ,OAAZ,EAAqB,IAArB,CAAxB;;AACAmC,QAAAA,WAAW,CAAC5iJ,OAAZ,GAAsB,MAAMsyH,UAAU,CAACswB,WAAW,CAAChmJ,KAAb,CAAtC;;AACA,aAAKukJ,OAAL,CAAavlJ,GAAb,CAAiBmE,KAAjB,EAAwB6iJ,WAAxB;AACH;;AACD7iJ,MAAAA,KAAK,GAAGwqG,QAAR;AACAq4C,MAAAA,WAAW,CAAChmJ,KAAZ,CAAkB/G,IAAlB,CAAuB00G,QAAvB;AACH,KAjBD,MAkBK;AACD,YAAMzM,QAAQ,GAAG,KAAKqjD,OAAL,CAAaxlJ,GAAb,CAAiBoE,KAAjB,CAAjB;;AACA,UAAIE,SAAS,IAAI69F,QAAb,IAAyBA,QAAQ,CAAClhG,KAAT,KAAmBzB,SAAhD,EAA2D;AACvDivG,QAAAA,4BAA4B;AAC/B;AACJ;;AACD,SAAK+2C,OAAL,CAAavlJ,GAAb,CAAiBmE,KAAjB,EAAwB0xC,MAAxB;AACH;;AACDuwG,EAAAA,OAAO,CAACjiJ,KAAD,EAAQ0xC,MAAR,EAAgB;AACnB,QAAIxxC,SAAS,IAAIwxC,MAAM,CAACh2C,KAAP,KAAiBilJ,QAAlC,EAA4C;AACxCx2C,MAAAA,0BAA0B,CAAC3a,SAAS,CAACxvF,KAAD,CAAV,CAA1B;AACH,KAFD,MAGK,IAAI0xC,MAAM,CAACh2C,KAAP,KAAiBglJ,OAArB,EAA8B;AAC/BhvG,MAAAA,MAAM,CAACh2C,KAAP,GAAeilJ,QAAf;AACAjvG,MAAAA,MAAM,CAACh2C,KAAP,GAAeg2C,MAAM,CAACzxC,OAAP,EAAf;AACH;;AACD,QAAI,OAAOyxC,MAAM,CAACh2C,KAAd,KAAwB,QAAxB,IAAoCg2C,MAAM,CAACh2C,KAA3C,IAAoDonJ,YAAY,CAACpxG,MAAM,CAACh2C,KAAR,CAApE,EAAoF;AAChF,WAAK1F,SAAL,CAAesT,GAAf,CAAmBooC,MAAM,CAACh2C,KAA1B;AACH;;AACD,WAAOg2C,MAAM,CAACh2C,KAAd;AACH;;AACDqmJ,EAAAA,oBAAoB,CAACn5I,GAAD,EAAM;AACtB,QAAI,CAACA,GAAG,CAACkwB,UAAT,EAAqB;AACjB,aAAO,KAAP;AACH;;AACD,UAAMA,UAAU,GAAG4wE,iBAAiB,CAAC9gG,GAAG,CAACkwB,UAAL,CAApC;;AACA,QAAI,OAAOA,UAAP,KAAsB,QAA1B,EAAoC;AAChC,aAAOA,UAAU,KAAK,KAAf,IAAyBA,UAAU,KAAK,KAAKk6E,KAApD;AACH,KAFD,MAGK;AACD,aAAO,KAAKquC,gBAAL,CAAsB95I,GAAtB,CAA0BuxB,UAA1B,CAAP;AACH;AACJ;;AA9RY;;AAgSjB,SAASkpH,iCAAT,CAA2ChiJ,KAA3C,EAAkD;AAC9C;AACA,QAAM8tG,aAAa,GAAGpB,gBAAgB,CAAC1sG,KAAD,CAAtC;AACA,QAAMC,OAAO,GAAG6tG,aAAa,KAAK,IAAlB,GAAyBA,aAAa,CAAC7tG,OAAvC,GAAiDk4G,aAAa,CAACn4G,KAAD,CAA9E;;AACA,MAAIC,OAAO,KAAK,IAAhB,EAAsB;AAClB,WAAOA,OAAP;AACH,GAN6C,CAO9C;AACA;;;AACA,MAAID,KAAK,YAAY4yB,cAArB,EAAqC;AACjC,UAAM,IAAIr4B,KAAJ,CAAW,SAAQi1F,SAAS,CAACxvF,KAAD,CAAQ,iCAApC,CAAN;AACH,GAX6C,CAY9C;;;AACA,MAAIA,KAAK,YAAYwsH,QAArB,EAA+B;AAC3B,WAAOu2B,+BAA+B,CAAC/iJ,KAAD,CAAtC;AACH,GAf6C,CAgB9C;;;AACA,QAAM,IAAIzF,KAAJ,CAAU,aAAV,CAAN;AACH;;AACD,SAASwoJ,+BAAT,CAAyC/iJ,KAAzC,EAAgD;AAC5C;AACA,QAAMgjJ,WAAW,GAAGhjJ,KAAK,CAAC/I,MAA1B;;AACA,MAAI+rJ,WAAW,GAAG,CAAlB,EAAqB;AACjB,UAAM3oI,IAAI,GAAG8yG,QAAQ,CAAC61B,WAAD,EAAc,GAAd,CAArB;AACA,UAAM,IAAIzoJ,KAAJ,CAAW,oCAAmCi1F,SAAS,CAACxvF,KAAD,CAAQ,MAAKqa,IAAI,CAAC7f,IAAL,CAAU,IAAV,CAAgB,IAApF,CAAN;AACH,GAN2C,CAO5C;AACA;AACA;AACA;AACA;;;AACA,QAAMyoJ,sBAAsB,GAAGl2C,yBAAyB,CAAC/sG,KAAD,CAAxD;;AACA,MAAIijJ,sBAAsB,KAAK,IAA/B,EAAqC;AACjC,WAAO,MAAMA,sBAAsB,CAAChjJ,OAAvB,CAA+BD,KAA/B,CAAb;AACH,GAFD,MAGK;AACD,WAAO,MAAM,IAAIA,KAAJ,EAAb;AACH;AACJ;;AACD,SAAS4iJ,gBAAT,CAA0Bp4C,QAA1B,EAAoCD,YAApC,EAAkD7sD,SAAlD,EAA6D;AACzD,MAAIwlG,eAAe,CAAC14C,QAAD,CAAnB,EAA+B;AAC3B,WAAOk3C,UAAU,CAACtmJ,SAAD,EAAYovG,QAAQ,CAAC9C,QAArB,CAAjB;AACH,GAFD,MAGK;AACD,UAAMznG,OAAO,GAAGkjJ,iBAAiB,CAAC34C,QAAD,EAAWD,YAAX,EAAyB7sD,SAAzB,CAAjC;AACA,WAAOgkG,UAAU,CAACzhJ,OAAD,EAAUygJ,OAAV,CAAjB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASyC,iBAAT,CAA2B34C,QAA3B,EAAqCD,YAArC,EAAmD7sD,SAAnD,EAA8D;AAC1D,MAAIz9C,OAAO,GAAG7E,SAAd;;AACA,MAAIunJ,cAAc,CAACn4C,QAAD,CAAlB,EAA8B;AAC1B,UAAM44C,iBAAiB,GAAG15C,iBAAiB,CAACc,QAAD,CAA3C;AACA,WAAO2N,aAAa,CAACirC,iBAAD,CAAb,IAAoCpB,iCAAiC,CAACoB,iBAAD,CAA5E;AACH,GAHD,MAIK;AACD,QAAIF,eAAe,CAAC14C,QAAD,CAAnB,EAA+B;AAC3BvqG,MAAAA,OAAO,GAAG,MAAMypG,iBAAiB,CAACc,QAAQ,CAAC9C,QAAV,CAAjC;AACH,KAFD,MAGK,IAAI27C,iBAAiB,CAAC74C,QAAD,CAArB,EAAiC;AAClCvqG,MAAAA,OAAO,GAAG,MAAMuqG,QAAQ,CAAChxC,UAAT,CAAoB,GAAG+4D,UAAU,CAAC/nB,QAAQ,CAACjxC,IAAT,IAAiB,EAAlB,CAAjC,CAAhB;AACH,KAFI,MAGA,IAAI+pF,kBAAkB,CAAC94C,QAAD,CAAtB,EAAkC;AACnCvqG,MAAAA,OAAO,GAAG,MAAM44B,QAAQ,CAAC6wE,iBAAiB,CAACc,QAAQ,CAACh6D,WAAV,CAAlB,CAAxB;AACH,KAFI,MAGA;AACD,YAAM+yG,QAAQ,GAAG75C,iBAAiB,CAACc,QAAQ,KACtCA,QAAQ,CAACp7B,QAAT,IAAqBo7B,QAAQ,CAACj6D,OADQ,CAAT,CAAlC;;AAEA,UAAIrwC,SAAS,IAAI,CAACqjJ,QAAlB,EAA4B;AACxBj5C,QAAAA,yBAAyB,CAACC,YAAD,EAAe7sD,SAAf,EAA0B8sD,QAA1B,CAAzB;AACH;;AACD,UAAIg5C,OAAO,CAACh5C,QAAD,CAAX,EAAuB;AACnBvqG,QAAAA,OAAO,GAAG,MAAM,IAAKsjJ,QAAL,CAAe,GAAGhxB,UAAU,CAAC/nB,QAAQ,CAACjxC,IAAV,CAA5B,CAAhB;AACH,OAFD,MAGK;AACD,eAAO4+C,aAAa,CAACorC,QAAD,CAAb,IAA2BvB,iCAAiC,CAACuB,QAAD,CAAnE;AACH;AACJ;AACJ;;AACD,SAAOtjJ,OAAP;AACH;;AACD,SAASyhJ,UAAT,CAAoBzhJ,OAApB,EAA6BvE,KAA7B,EAAoCmB,KAAK,GAAG,KAA5C,EAAmD;AAC/C,SAAO;AACHoD,IAAAA,OAAO,EAAEA,OADN;AAEHvE,IAAAA,KAAK,EAAEA,KAFJ;AAGHmB,IAAAA,KAAK,EAAEA,KAAK,GAAG,EAAH,GAAQzB;AAHjB,GAAP;AAKH;;AACD,SAAS8nJ,eAAT,CAAyBxnJ,KAAzB,EAAgC;AAC5B,SAAOA,KAAK,KAAK,IAAV,IAAkB,OAAOA,KAAP,IAAgB,QAAlC,IAA8Cu2H,SAAS,IAAIv2H,KAAlE;AACH;;AACD,SAAS4nJ,kBAAT,CAA4B5nJ,KAA5B,EAAmC;AAC/B,SAAO,CAAC,EAAEA,KAAK,IAAIA,KAAK,CAAC80C,WAAjB,CAAR;AACH;;AACD,SAAS6yG,iBAAT,CAA2B3nJ,KAA3B,EAAkC;AAC9B,SAAO,CAAC,EAAEA,KAAK,IAAIA,KAAK,CAAC89D,UAAjB,CAAR;AACH;;AACD,SAASmpF,cAAT,CAAwBjnJ,KAAxB,EAA+B;AAC3B,SAAO,OAAOA,KAAP,KAAiB,UAAxB;AACH;;AACD,SAAS+nJ,eAAT,CAAyB/nJ,KAAzB,EAAgC;AAC5B,SAAO,CAAC,CAACA,KAAK,CAAC0zE,QAAf;AACH;;AACD,SAASo0E,OAAT,CAAiB9nJ,KAAjB,EAAwB;AACpB,SAAO,CAAC,CAACA,KAAK,CAAC69D,IAAf;AACH;;AACD,SAASupF,YAAT,CAAsBpnJ,KAAtB,EAA6B;AACzB,SAAOA,KAAK,KAAK,IAAV,IAAkB,OAAOA,KAAP,KAAiB,QAAnC,IACH,OAAOA,KAAK,CAACo8B,WAAb,KAA6B,UADjC;AAEH;;AACD,SAASgqH,qBAAT,CAA+BpmJ,KAA/B,EAAsC;AAClC,SAAQ,OAAOA,KAAP,KAAiB,UAAlB,IACF,OAAOA,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,YAAYk3B,cADnD;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8wH,uBAAT,CAAiChmG,SAAjC,EAA4C7+B,MAA5C,EAAoD7rB,IAApD,EAA0D;AACtD,SAAO,IAAI2wJ,cAAJ,CAAmBjmG,SAAnB,EAA8B7+B,MAA9B,EAAsC7rB,IAAtC,CAAP;AACH;;AACD,SAAS4wJ,wBAAT,CAAkClmG,SAAlC,EAA6C7+B,MAA7C,EAAqD7rB,IAArD,EAA2D;AACvD,SAAO8tJ,cAAc,CAAC;AAAE9tJ,IAAAA,IAAI,EAAEA;AAAR,GAAD,EAAiB6rB,MAAjB,EAAyB6+B,SAAzB,EAAoC1qD,IAApC,CAArB;AACH;;AACD,MAAM6wJ,aAAa,GAAGD,wBAAtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMvlG;AAAN,QAAMA,QAAN,CAAe;AACE,WAANnrC,MAAM,CAAC/f,OAAD,EAAU0rB,MAAV,EAAkB;AAC3B,UAAIxc,KAAK,CAACC,OAAN,CAAcnP,OAAd,CAAJ,EAA4B;AACxB,eAAO0wJ,aAAa,CAAC1wJ,OAAD,EAAU0rB,MAAV,EAAkB,EAAlB,CAApB;AACH,OAFD,MAGK;AACD,eAAOglI,aAAa,CAAC1wJ,OAAO,CAACuqD,SAAT,EAAoBvqD,OAAO,CAAC0rB,MAA5B,EAAoC1rB,OAAO,CAACH,IAAR,IAAgB,EAApD,CAApB;AACH;AACJ;;AARU;;AAUfqrD,EAAAA,QAAQ,CAACozE,kBAAT,GAA8BA,kBAA9B;AACApzE,EAAAA,QAAQ,CAACylG,IAAT,GAAkB,eAAe,IAAItD,YAAJ,EAAjC;AACA;;AACAniG,EAAAA,QAAQ,CAACv+C,KAAT,GAAiBC,kBAAkB,CAAC;AAChCC,IAAAA,KAAK,EAAEq+C,QADyB;AAEhCvlB,IAAAA,UAAU,EAAE,KAFoB;AAGhC74B,IAAAA,OAAO,EAAE,MAAM44B,QAAQ,CAAC0nH,UAAD;AAHS,GAAD,CAAnC;AAKA;AACA;AACA;AACA;;AACAliG,EAAAA,QAAQ,CAAC+yD,iBAAT,GAA6B,CAAC;AAAE;AAAhC;SAtBM/yD;;;AAuBN,MAAM0lG,KAAK,GAAG,UAAUroJ,KAAV,EAAiB;AAC3B,SAAOA,KAAP;AACH,CAFD;;AAGA,MAAMsoJ,IAAI,GAAGD,KAAb;AACA,MAAMzqH,KAAK,GAAG,EAAd;AACA,MAAM2qH,UAAU,GAAGF,KAAnB;;AACA,MAAMG,iBAAiB,GAAG,YAAY;AAClC,SAAO7hJ,KAAK,CAAChF,SAAN,CAAgBmV,KAAhB,CAAsBxZ,IAAtB,CAA2BskC,SAA3B,CAAP;AACH,CAFD;;AAGA,MAAM6mH,IAAI,GAAGD,iBAAb;AACA,MAAME,aAAa,GAAG,GAAtB;;AACA,MAAMT,cAAN,CAAqB;AACjB7uJ,EAAAA,WAAW,CAAC4oD,SAAD,EAAY7+B,MAAM,GAAGw/B,QAAQ,CAACylG,IAA9B,EAAoCrvG,MAAM,GAAG,IAA7C,EAAmD;AAC1D,SAAK51B,MAAL,GAAcA,MAAd;AACA,SAAK41B,MAAL,GAAcA,MAAd;AACA,UAAM2sG,OAAO,GAAG,KAAKiD,QAAL,GAAgB,IAAI1oJ,GAAJ,EAAhC;AACAylJ,IAAAA,OAAO,CAACvlJ,GAAR,CAAYwiD,QAAZ,EAAsB;AAAEr+C,MAAAA,KAAK,EAAEq+C,QAAT;AAAmBzoD,MAAAA,EAAE,EAAEmuJ,KAAvB;AAA8BxqF,MAAAA,IAAI,EAAEjgC,KAApC;AAA2C59B,MAAAA,KAAK,EAAE,IAAlD;AAAwD4oJ,MAAAA,MAAM,EAAE;AAAhE,KAAtB;AACAlD,IAAAA,OAAO,CAACvlJ,GAAR,CAAY0kJ,UAAZ,EAAwB;AAAEvgJ,MAAAA,KAAK,EAAEugJ,UAAT;AAAqB3qJ,MAAAA,EAAE,EAAEmuJ,KAAzB;AAAgCxqF,MAAAA,IAAI,EAAEjgC,KAAtC;AAA6C59B,MAAAA,KAAK,EAAE,IAApD;AAA0D4oJ,MAAAA,MAAM,EAAE;AAAlE,KAAxB;AACA,SAAKtxC,KAAL,GAAauxC,2BAA2B,CAACnD,OAAD,EAAU1jG,SAAV,CAAxC;AACH;;AACD9hD,EAAAA,GAAG,CAACoE,KAAD,EAAQ8hE,aAAR,EAAuB+rC,KAAK,GAAGP,WAAW,CAACc,OAA3C,EAAoD;AACnD,UAAMgzC,OAAO,GAAG,KAAKiD,QAArB;AACA,QAAI3yG,MAAM,GAAG0vG,OAAO,CAACxlJ,GAAR,CAAYoE,KAAZ,CAAb;;AACA,QAAI0xC,MAAM,KAAKt2C,SAAf,EAA0B;AACtB;AACA,YAAM0yG,aAAa,GAAGpB,gBAAgB,CAAC1sG,KAAD,CAAtC;;AACA,UAAI8tG,aAAJ,EAAmB;AACf,cAAMh1E,UAAU,GAAGg1E,aAAa,IAAIpE,iBAAiB,CAACoE,aAAa,CAACh1E,UAAf,CAArD;;AACA,YAAIA,UAAU,KAAK,KAAf,IAAwBA,UAAU,IAAI,IAAd,IAAsBA,UAAU,KAAK,KAAKk6E,KAAtE,EAA6E;AACzEouC,UAAAA,OAAO,CAACvlJ,GAAR,CAAYmE,KAAZ,EAAmB0xC,MAAM,GAAG8yG,eAAe,CAAC;AAAEj0G,YAAAA,OAAO,EAAEvwC,KAAX;AAAkBw5D,YAAAA,UAAU,EAAEs0C,aAAa,CAAC7tG,OAA5C;AAAqDs5D,YAAAA,IAAI,EAAEjgC;AAA3D,WAAD,CAA3C;AACH;AACJ;;AACD,UAAIoY,MAAM,KAAKt2C,SAAf,EAA0B;AACtB;AACAgmJ,QAAAA,OAAO,CAACvlJ,GAAR,CAAYmE,KAAZ,EAAmB,IAAnB;AACH;AACJ;;AACD,QAAIykJ,YAAY,GAAGtyB,kBAAkB,CAAC,IAAD,CAArC;;AACA,QAAI;AACA,aAAOuyB,eAAe,CAAC1kJ,KAAD,EAAQ0xC,MAAR,EAAgB0vG,OAAhB,EAAyB,KAAKviI,MAA9B,EAAsCijD,aAAtC,EAAqD+rC,KAArD,CAAtB;AACH,KAFD,CAGA,OAAO/yG,CAAP,EAAU;AACN,aAAOg4H,kBAAkB,CAACh4H,CAAD,EAAIkF,KAAJ,EAAW,qBAAX,EAAkC,KAAKy0C,MAAvC,CAAzB;AACH,KALD,SAMQ;AACJ09E,MAAAA,kBAAkB,CAACsyB,YAAD,CAAlB;AACH;AACJ;;AACD1rJ,EAAAA,QAAQ,GAAG;AACP,UAAMpF,MAAM,GAAG,EAAf;AAAA,UAAmBytJ,OAAO,GAAG,KAAKiD,QAAlC;AACAjD,IAAAA,OAAO,CAACzrJ,OAAR,CAAgB,CAACkX,CAAD,EAAI7M,KAAJ,KAAcrM,MAAM,CAACmC,IAAP,CAAY05F,SAAS,CAACxvF,KAAD,CAArB,CAA9B;AACA,WAAQ,kBAAiBrM,MAAM,CAAC6G,IAAP,CAAY,IAAZ,CAAkB,GAA3C;AACH;;AAzCgB;;AA2CrB,SAASgqJ,eAAT,CAAyBh6C,QAAzB,EAAmC;AAC/B,QAAMjxC,IAAI,GAAGorF,WAAW,CAACn6C,QAAD,CAAxB;AACA,MAAI50G,EAAE,GAAGmuJ,KAAT;AACA,MAAIroJ,KAAK,GAAG49B,KAAZ;AACA,MAAIgrH,MAAM,GAAG,KAAb;AACA,MAAI/zG,OAAO,GAAGm5D,iBAAiB,CAACc,QAAQ,CAACj6D,OAAV,CAA/B;;AACA,MAAI0hF,SAAS,IAAIznB,QAAjB,EAA2B;AACvB;AACA9uG,IAAAA,KAAK,GAAG8uG,QAAQ,CAAC9C,QAAjB;AACH,GAHD,MAIK,IAAI8C,QAAQ,CAAChxC,UAAb,EAAyB;AAC1B5jE,IAAAA,EAAE,GAAG40G,QAAQ,CAAChxC,UAAd;AACH,GAFI,MAGA,IAAIgxC,QAAQ,CAACh6D,WAAb,EAA0B,CAC3B;AACH,GAFI,MAGA,IAAIg6D,QAAQ,CAACp7B,QAAb,EAAuB;AACxBk1E,IAAAA,MAAM,GAAG,IAAT;AACA1uJ,IAAAA,EAAE,GAAG8zG,iBAAiB,CAACc,QAAQ,CAACp7B,QAAV,CAAtB;AACH,GAHI,MAIA,IAAI,OAAO7+B,OAAP,IAAkB,UAAtB,EAAkC;AACnC+zG,IAAAA,MAAM,GAAG,IAAT;AACA1uJ,IAAAA,EAAE,GAAG26C,OAAL;AACH,GAHI,MAIA;AACD,UAAMq0G,WAAW,CAAC,qGAAD,EAAwGp6C,QAAxG,CAAjB;AACH;;AACD,SAAO;AAAEjxC,IAAAA,IAAF;AAAQ3jE,IAAAA,EAAR;AAAY0uJ,IAAAA,MAAZ;AAAoB5oJ,IAAAA;AAApB,GAAP;AACH;;AACD,SAASmpJ,qBAAT,CAA+B7kJ,KAA/B,EAAsC;AAClC,SAAO4kJ,WAAW,CAAC,kDAAD,EAAqD5kJ,KAArD,CAAlB;AACH;;AACD,SAASukJ,2BAAT,CAAqCnD,OAArC,EAA8C52C,QAA9C,EAAwD;AACpD,MAAIwI,KAAK,GAAG,IAAZ;;AACA,MAAIxI,QAAJ,EAAc;AACVA,IAAAA,QAAQ,GAAGd,iBAAiB,CAACc,QAAD,CAA5B;;AACA,QAAInoG,KAAK,CAACC,OAAN,CAAckoG,QAAd,CAAJ,EAA6B;AACzB;AACA,WAAK,IAAIvsG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGusG,QAAQ,CAACvzG,MAA7B,EAAqCgH,CAAC,EAAtC,EAA0C;AACtC+0G,QAAAA,KAAK,GAAGuxC,2BAA2B,CAACnD,OAAD,EAAU52C,QAAQ,CAACvsG,CAAD,CAAlB,CAA3B,IAAqD+0G,KAA7D;AACH;AACJ,KALD,MAMK,IAAI,OAAOxI,QAAP,KAAoB,UAAxB,EAAoC;AACrC;AACA;AACA,YAAMo6C,WAAW,CAAC,8BAAD,EAAiCp6C,QAAjC,CAAjB;AACH,KAJI,MAKA,IAAIA,QAAQ,IAAI,OAAOA,QAAP,KAAoB,QAAhC,IAA4CA,QAAQ,CAACj6D,OAAzD,EAAkE;AACnE;AACA,UAAIvwC,KAAK,GAAG0pG,iBAAiB,CAACc,QAAQ,CAACj6D,OAAV,CAA7B;AACA,YAAMu0G,gBAAgB,GAAGN,eAAe,CAACh6C,QAAD,CAAxC;;AACA,UAAIA,QAAQ,CAAC3tG,KAAT,KAAmB,IAAvB,EAA6B;AACzB;AACA,YAAIkoJ,aAAa,GAAG3D,OAAO,CAACxlJ,GAAR,CAAYoE,KAAZ,CAApB;;AACA,YAAI+kJ,aAAJ,EAAmB;AACf,cAAIA,aAAa,CAACnvJ,EAAd,KAAqBsuJ,iBAAzB,EAA4C;AACxC,kBAAMW,qBAAqB,CAAC7kJ,KAAD,CAA3B;AACH;AACJ,SAJD,MAKK;AACD;AACAohJ,UAAAA,OAAO,CAACvlJ,GAAR,CAAYmE,KAAZ,EAAmB+kJ,aAAa,GAAG;AAC/B/kJ,YAAAA,KAAK,EAAEwqG,QAAQ,CAACj6D,OADe;AAE/BgpB,YAAAA,IAAI,EAAE,EAFyB;AAG/B+qF,YAAAA,MAAM,EAAE,KAHuB;AAI/B1uJ,YAAAA,EAAE,EAAEsuJ,iBAJ2B;AAK/BxoJ,YAAAA,KAAK,EAAE49B;AALwB,WAAnC;AAOH,SAjBwB,CAkBzB;;;AACAt5B,QAAAA,KAAK,GAAGwqG,QAAR;AACAu6C,QAAAA,aAAa,CAACxrF,IAAd,CAAmBzjE,IAAnB,CAAwB;AAAEkK,UAAAA,KAAF;AAAS7M,UAAAA,OAAO,EAAE;AAAE;;AAApB,SAAxB;AACH;;AACD,YAAMu+C,MAAM,GAAG0vG,OAAO,CAACxlJ,GAAR,CAAYoE,KAAZ,CAAf;;AACA,UAAI0xC,MAAM,IAAIA,MAAM,CAAC97C,EAAP,IAAasuJ,iBAA3B,EAA8C;AAC1C,cAAMW,qBAAqB,CAAC7kJ,KAAD,CAA3B;AACH;;AACD,UAAIA,KAAK,KAAKygJ,cAAd,EAA8B;AAC1BztC,QAAAA,KAAK,GAAG8xC,gBAAgB,CAACppJ,KAAzB;AACH;;AACD0lJ,MAAAA,OAAO,CAACvlJ,GAAR,CAAYmE,KAAZ,EAAmB8kJ,gBAAnB;AACH,KAlCI,MAmCA;AACD,YAAMF,WAAW,CAAC,qBAAD,EAAwBp6C,QAAxB,CAAjB;AACH;AACJ;;AACD,SAAOwI,KAAP;AACH;;AACD,SAAS0xC,eAAT,CAAyB1kJ,KAAzB,EAAgC0xC,MAAhC,EAAwC0vG,OAAxC,EAAiDviI,MAAjD,EAAyDijD,aAAzD,EAAwE+rC,KAAxE,EAA+E;AAC3E,MAAI;AACA,WAAOm3C,YAAY,CAAChlJ,KAAD,EAAQ0xC,MAAR,EAAgB0vG,OAAhB,EAAyBviI,MAAzB,EAAiCijD,aAAjC,EAAgD+rC,KAAhD,CAAnB;AACH,GAFD,CAGA,OAAO/yG,CAAP,EAAU;AACN;AACA,QAAI,EAAEA,CAAC,YAAYP,KAAf,CAAJ,EAA2B;AACvBO,MAAAA,CAAC,GAAG,IAAIP,KAAJ,CAAUO,CAAV,CAAJ;AACH;;AACD,UAAMu9E,IAAI,GAAGv9E,CAAC,CAAC62H,kBAAD,CAAD,GAAwB72H,CAAC,CAAC62H,kBAAD,CAAD,IAAyB,EAA9D;AACAt5C,IAAAA,IAAI,CAAC8Q,OAAL,CAAanpF,KAAb;;AACA,QAAI0xC,MAAM,IAAIA,MAAM,CAACh2C,KAAP,IAAgBuoJ,UAA9B,EAA0C;AACtC;AACAvyG,MAAAA,MAAM,CAACh2C,KAAP,GAAe49B,KAAf;AACH;;AACD,UAAMx+B,CAAN;AACH;AACJ;;AACD,SAASkqJ,YAAT,CAAsBhlJ,KAAtB,EAA6B0xC,MAA7B,EAAqC0vG,OAArC,EAA8CviI,MAA9C,EAAsDijD,aAAtD,EAAqE+rC,KAArE,EAA4E;AACxE,MAAInyG,KAAJ;;AACA,MAAIg2C,MAAM,IAAI,EAAEm8D,KAAK,GAAGP,WAAW,CAAChrC,QAAtB,CAAd,EAA+C;AAC3C;AACA;AACA5mE,IAAAA,KAAK,GAAGg2C,MAAM,CAACh2C,KAAf;;AACA,QAAIA,KAAK,IAAIuoJ,UAAb,EAAyB;AACrB,YAAM1pJ,KAAK,CAAC6pJ,aAAa,GAAG,qBAAjB,CAAX;AACH,KAFD,MAGK,IAAI1oJ,KAAK,KAAK49B,KAAd,EAAqB;AACtBoY,MAAAA,MAAM,CAACh2C,KAAP,GAAeuoJ,UAAf;AACA,UAAIhiJ,GAAG,GAAG7G,SAAV;AACA,UAAIkpJ,MAAM,GAAG5yG,MAAM,CAAC4yG,MAApB;AACA,UAAI1uJ,EAAE,GAAG87C,MAAM,CAAC97C,EAAhB;AACA,UAAIqvJ,UAAU,GAAGvzG,MAAM,CAAC6nB,IAAxB;AACA,UAAIA,IAAI,GAAGjgC,KAAX;;AACA,UAAI2rH,UAAU,CAAChuJ,MAAf,EAAuB;AACnBsiE,QAAAA,IAAI,GAAG,EAAP;;AACA,aAAK,IAAIt7D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgnJ,UAAU,CAAChuJ,MAA/B,EAAuCgH,CAAC,EAAxC,EAA4C;AACxC,gBAAMinJ,SAAS,GAAGD,UAAU,CAAChnJ,CAAD,CAA5B;AACA,gBAAM9K,OAAO,GAAG+xJ,SAAS,CAAC/xJ,OAA1B;AACA,gBAAMgyJ,WAAW,GAAGhyJ,OAAO,GAAG;AAAE;AAAZ,YAA8BiuJ,OAAO,CAACxlJ,GAAR,CAAYspJ,SAAS,CAACllJ,KAAtB,CAA9B,GAA6D5E,SAAjF;AACAm+D,UAAAA,IAAI,CAACzjE,IAAL,CAAU4uJ,eAAe,EACzB;AACAQ,UAAAA,SAAS,CAACllJ,KAFe,EAGzB;AACA;AACAmlJ,UAAAA,WALyB,EAMzB;AACA/D,UAAAA,OAPyB,EAQzB;AACA;AACA,WAAC+D,WAAD,IAAgB,EAAEhyJ,OAAO,GAAG;AAAE;AAAd,WAAhB,GAAmDkrD,QAAQ,CAACylG,IAA5D,GAAmEjlI,MAV1C,EAUkD1rB,OAAO,GAAG;AAAE;AAAZ,YAA6B,IAA7B,GAAoCkrD,QAAQ,CAACozE,kBAV/F,EAUmHnkB,WAAW,CAACc,OAV/H,CAAzB;AAWH;AACJ;;AACD18D,MAAAA,MAAM,CAACh2C,KAAP,GAAeA,KAAK,GAAG4oJ,MAAM,GAAG,IAAI1uJ,EAAJ,CAAO,GAAG2jE,IAAV,CAAH,GAAqB3jE,EAAE,CAACiI,KAAH,CAASoE,GAAT,EAAcs3D,IAAd,CAAlD;AACH;AACJ,GAnCD,MAoCK,IAAI,EAAEs0C,KAAK,GAAGP,WAAW,CAACsZ,IAAtB,CAAJ,EAAiC;AAClClrH,IAAAA,KAAK,GAAGmjB,MAAM,CAACjjB,GAAP,CAAWoE,KAAX,EAAkB8hE,aAAlB,EAAiCwrC,WAAW,CAACc,OAA7C,CAAR;AACH,GAFI,MAGA,IAAI,EAAEP,KAAK,GAAGP,WAAW,CAACz6E,QAAtB,CAAJ,EAAqC;AACtCn3B,IAAAA,KAAK,GAAG2iD,QAAQ,CAACylG,IAAT,CAAcloJ,GAAd,CAAkBoE,KAAlB,EAAyB8hE,aAAzB,CAAR;AACH,GAFI,MAGA;AACDpmE,IAAAA,KAAK,GAAG2iD,QAAQ,CAACylG,IAAT,CAAcloJ,GAAd,CAAkBoE,KAAlB,EAAyB,OAAO8hE,aAAP,KAAyB,WAAzB,GAAuCA,aAAvC,GAAuD,IAAhF,CAAR;AACH;;AACD,SAAOpmE,KAAP;AACH;;AACD,SAASipJ,WAAT,CAAqBn6C,QAArB,EAA+B;AAC3B,MAAIjxC,IAAI,GAAGjgC,KAAX;AACA,QAAM8rH,YAAY,GAAG56C,QAAQ,CAACjxC,IAA9B;;AACA,MAAI6rF,YAAY,IAAIA,YAAY,CAACnuJ,MAAjC,EAAyC;AACrCsiE,IAAAA,IAAI,GAAG,EAAP;;AACA,SAAK,IAAIt7D,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmnJ,YAAY,CAACnuJ,MAAjC,EAAyCgH,CAAC,EAA1C,EAA8C;AAC1C,UAAI9K,OAAO,GAAG;AAAE;AAAhB;AACA,UAAI6M,KAAK,GAAG0pG,iBAAiB,CAAC07C,YAAY,CAACnnJ,CAAD,CAAb,CAA7B;;AACA,UAAIoE,KAAK,CAACC,OAAN,CAActC,KAAd,CAAJ,EAA0B;AACtB,aAAK,IAAIylB,CAAC,GAAG,CAAR,EAAWwkG,WAAW,GAAGjqH,KAA9B,EAAqCylB,CAAC,GAAGwkG,WAAW,CAAChzH,MAArD,EAA6DwuB,CAAC,EAA9D,EAAkE;AAC9D,gBAAMglG,UAAU,GAAGR,WAAW,CAACxkG,CAAD,CAA9B;;AACA,cAAIglG,UAAU,YAAY53F,QAAtB,IAAkC43F,UAAU,IAAI53F,QAApD,EAA8D;AAC1D1/B,YAAAA,OAAO,GAAGA,OAAO,GAAG;AAAE;AAAtB;AACH,WAFD,MAGK,IAAIs3H,UAAU,YAAYnoD,QAAtB,IAAkCmoD,UAAU,IAAInoD,QAApD,EAA8D;AAC/DnvE,YAAAA,OAAO,GAAGA,OAAO,GAAG,CAAC;AAAE;AAAvB;AACH,WAFI,MAGA,IAAIs3H,UAAU,YAAY7D,IAAtB,IAA8B6D,UAAU,IAAI7D,IAAhD,EAAsD;AACvDzzH,YAAAA,OAAO,GAAGA,OAAO,GAAG,CAAC;AAAE;AAAvB;AACH,WAFI,MAGA,IAAIs3H,UAAU,YAAYn4F,MAA1B,EAAkC;AACnCtyB,YAAAA,KAAK,GAAGyqH,UAAU,CAACzqH,KAAnB;AACH,WAFI,MAGA;AACDA,YAAAA,KAAK,GAAG0pG,iBAAiB,CAAC+gB,UAAD,CAAzB;AACH;AACJ;AACJ;;AACDlxD,MAAAA,IAAI,CAACzjE,IAAL,CAAU;AAAEkK,QAAAA,KAAF;AAAS7M,QAAAA;AAAT,OAAV;AACH;AACJ,GA3BD,MA4BK,IAAIq3G,QAAQ,CAACh6D,WAAb,EAA0B;AAC3B,UAAMxwC,KAAK,GAAG0pG,iBAAiB,CAACc,QAAQ,CAACh6D,WAAV,CAA/B;AACA+oB,IAAAA,IAAI,GAAG,CAAC;AAAEv5D,MAAAA,KAAF;AAAS7M,MAAAA,OAAO,EAAE;AAAE;;AAApB,KAAD,CAAP;AACH,GAHI,MAIA,IAAI,CAACiyJ,YAAD,IAAiB,EAAEnzB,SAAS,IAAIznB,QAAf,CAArB,EAA+C;AAChD;AACA,UAAMo6C,WAAW,CAAC,mBAAD,EAAsBp6C,QAAtB,CAAjB;AACH;;AACD,SAAOjxC,IAAP;AACH;;AACD,SAASqrF,WAAT,CAAqB1kE,IAArB,EAA2Bj+E,GAA3B,EAAgC;AAC5B,SAAO,IAAI1H,KAAJ,CAAU04H,WAAW,CAAC/yC,IAAD,EAAOj+E,GAAP,EAAY,qBAAZ,CAArB,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,SAASojJ,YAAT,CAAsBhsJ,OAAtB,EAA+B;AAC3BisJ,EAAAA,gBAAgB,CAACjsJ,OAAD,CAAhB;AACA,QAAMiM,OAAO,GAAGuwH,WAAW,CAACx8H,OAAD,CAA3B;AACA,MAAIiM,OAAO,KAAK,IAAhB,EACI,OAAO,IAAP;;AACJ,MAAIA,OAAO,CAACg5D,SAAR,KAAsBljE,SAA1B,EAAqC;AACjCkK,IAAAA,OAAO,CAACg5D,SAAR,GAAoBs5D,uBAAuB,CAACtyH,OAAO,CAACu1G,SAAT,EAAoBv1G,OAAO,CAAC2wG,KAA5B,CAA3C;AACH;;AACD,SAAO3wG,OAAO,CAACg5D,SAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASinF,UAAT,CAAoBlsJ,OAApB,EAA6B;AACzBisJ,EAAAA,gBAAgB,CAACjsJ,OAAD,CAAhB;AACA,QAAMiM,OAAO,GAAGuwH,WAAW,CAACx8H,OAAD,CAA3B;AACA,SAAOiM,OAAO,KAAK,IAAZ,GAAmB,IAAnB,GAA0BA,OAAO,CAAC2wG,KAAR,CAAc9B,OAAd,CAAjC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqxC,kBAAT,CAA4BC,YAA5B,EAA0C;AACtC,QAAMngJ,OAAO,GAAGuwH,WAAW,CAAC4vB,YAAD,CAA3B;AACA,MAAIngJ,OAAO,KAAK,IAAhB,EACI,OAAO,IAAP;AACJ,MAAI2wG,KAAK,GAAG3wG,OAAO,CAAC2wG,KAApB;AACA,MAAIp3F,MAAJ;AACA3e,EAAAA,SAAS,IAAI82G,WAAW,CAACf,KAAD,CAAxB;;AACA,SAAOA,KAAK,CAACrC,KAAD,CAAL,CAAa1gH,IAAb,KAAsB;AAAE;AAAxB,MAA2C2rB,MAAM,GAAGy5G,cAAc,CAACriB,KAAD,CAAlE,CAAP,EAAmF;AAC/EA,IAAAA,KAAK,GAAGp3F,MAAR;AACH;;AACD,SAAOo3F,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAI;AAAnB,IAAkC,IAAlC,GAAyCoC,KAAK,CAAC9B,OAAD,CAArD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuxC,iBAAT,CAA2BD,YAA3B,EAAyC;AACrC,SAAO,CAAC,GAAGhtB,cAAc,CAACgtB,YAAD,CAAd,CAA6BxuB,UAAjC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0uB,WAAT,CAAqBF,YAArB,EAAmC;AAC/B,QAAMngJ,OAAO,GAAGuwH,WAAW,CAAC4vB,YAAD,CAA3B;AACA,MAAIngJ,OAAO,KAAK,IAAhB,EACI,OAAO+4C,QAAQ,CAACylG,IAAhB;AACJ,QAAM50C,KAAK,GAAG5pG,OAAO,CAAC2wG,KAAR,CAAcrC,KAAd,EAAqBv4G,IAArB,CAA0BiK,OAAO,CAACu1G,SAAlC,CAAd;AACA,SAAO,IAAI2M,YAAJ,CAAiBtY,KAAjB,EAAwB5pG,OAAO,CAAC2wG,KAAhC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS2vC,kBAAT,CAA4BvsJ,OAA5B,EAAqC;AACjC,QAAMiM,OAAO,GAAGuwH,WAAW,CAACx8H,OAAD,CAA3B;AACA,MAAIiM,OAAO,KAAK,IAAhB,EACI,OAAO,EAAP;AACJ,QAAM2wG,KAAK,GAAG3wG,OAAO,CAAC2wG,KAAtB;AACA,QAAM9G,KAAK,GAAG8G,KAAK,CAACrC,KAAD,CAAnB;AACA,QAAM1E,KAAK,GAAGC,KAAK,CAAC9zG,IAAN,CAAWiK,OAAO,CAACu1G,SAAnB,CAAd;AACA,QAAMgrC,cAAc,GAAG,EAAvB;AACA,QAAM/jJ,UAAU,GAAGotG,KAAK,CAAC8Y,eAAN,GAAwB;AAAQ;AAAnD;AACA,QAAMM,QAAQ,GAAGpZ,KAAK,CAAC4R,YAAvB;;AACA,OAAK,IAAI7iH,CAAC,GAAG6D,UAAb,EAAyB7D,CAAC,GAAGqqH,QAA7B,EAAuCrqH,CAAC,EAAxC,EAA4C;AACxC,QAAIvC,KAAK,GAAGyzG,KAAK,CAAC9zG,IAAN,CAAW4C,CAAX,CAAZ;;AACA,QAAI6nJ,kBAAkB,CAACpqJ,KAAD,CAAtB,EAA+B;AAC3B;AACA;AACA;AACA;AACAA,MAAAA,KAAK,GAAGA,KAAK,CAACxI,IAAd;AACH;;AACD2yJ,IAAAA,cAAc,CAAC/vJ,IAAf,CAAoB4F,KAApB;AACH;;AACD,SAAOmqJ,cAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,aAAT,CAAuB1gJ,IAAvB,EAA6B;AACzB;AACA,MAAIA,IAAI,YAAY2gJ,IAApB,EAA0B;AACtB,WAAO,EAAP;AACH;;AACD,QAAM1gJ,OAAO,GAAGuwH,WAAW,CAACxwH,IAAD,CAA3B;;AACA,MAAIC,OAAO,KAAK,IAAhB,EAAsB;AAClB,WAAO,EAAP;AACH;;AACD,QAAM2wG,KAAK,GAAG3wG,OAAO,CAAC2wG,KAAtB;AACA,QAAM9G,KAAK,GAAG8G,KAAK,CAACrC,KAAD,CAAnB;AACA,QAAMiH,SAAS,GAAGv1G,OAAO,CAACu1G,SAA1B;;AACA,MAAI,EAAE1L,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,KAAK,CAAjC,GAAqC,KAAK,CAA1C,GAA8CA,KAAK,CAAC9zG,IAAN,CAAWw/G,SAAX,CAAhD,CAAJ,EAA4E;AACxE,WAAO,EAAP;AACH;;AACD,MAAIv1G,OAAO,CAAC4sG,UAAR,KAAuB92G,SAA3B,EAAsC;AAClCkK,IAAAA,OAAO,CAAC4sG,UAAR,GAAqBkkB,wBAAwB,CAACvb,SAAD,EAAY5E,KAAZ,EAAmB,KAAnB,CAA7C;AACH,GAjBwB,CAkBzB;AACA;;;AACA,SAAO3wG,OAAO,CAAC4sG,UAAR,KAAuB,IAAvB,GAA8B,EAA9B,GAAmC,CAAC,GAAG5sG,OAAO,CAAC4sG,UAAZ,CAA1C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+zC,oBAAT,CAA8BC,4BAA9B,EAA4D;AACxD,QAAM;AAAEpxJ,IAAAA;AAAF,MAAkBoxJ,4BAAxB;;AACA,MAAI,CAACpxJ,WAAL,EAAkB;AACd,UAAM,IAAIyF,KAAJ,CAAU,yCAAV,CAAN;AACH,GAJuD,CAKxD;AACA;;;AACA,QAAM4rJ,YAAY,GAAGzzC,eAAe,CAAC59G,WAAD,CAApC;;AACA,MAAIqxJ,YAAJ,EAAkB;AACd,WAAO;AACHriH,MAAAA,MAAM,EAAEqiH,YAAY,CAACriH,MADlB;AAEHwJ,MAAAA,OAAO,EAAE64G,YAAY,CAAC74G,OAFnB;AAGHs/B,MAAAA,aAAa,EAAEu5E,YAAY,CAACv5E,aAHzB;AAIHC,MAAAA,eAAe,EAAEs5E,YAAY,CAACz0C,MAAb,GAAsBxvC,uBAAuB,CAACyvC,MAA9C,GACbzvC,uBAAuB,CAACksC;AALzB,KAAP;AAOH;;AACD,QAAMoS,YAAY,GAAG7N,eAAe,CAAC79G,WAAD,CAApC;;AACA,MAAI0rH,YAAJ,EAAkB;AACd,WAAO;AAAE18E,MAAAA,MAAM,EAAE08E,YAAY,CAAC18E,MAAvB;AAA+BwJ,MAAAA,OAAO,EAAEkzE,YAAY,CAAClzE;AAArD,KAAP;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS84G,YAAT,CAAsBn0I,MAAtB,EAA8B;AAC1B,QAAM3M,OAAO,GAAGuwH,WAAW,CAAC5jH,MAAD,CAA3B;AACA,MAAI3M,OAAO,KAAK,IAAhB,EACI,OAAO,EAAP;;AACJ,MAAIA,OAAO,CAACoxH,SAAR,KAAsBt7H,SAA1B,EAAqC;AACjCkK,IAAAA,OAAO,CAACoxH,SAAR,GAAoBmB,iBAAiB,CAACvyH,OAAO,CAAC2wG,KAAT,EAAgB3wG,OAAO,CAACu1G,SAAxB,CAArC;AACH;;AACD,SAAOv1G,OAAO,CAACoxH,SAAR,IAAqB,EAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2vB,cAAT,CAAwBC,oBAAxB,EAA8C;AAC1C,SAAOzwB,WAAW,CAACywB,oBAAD,CAAX,CAAkC/iC,MAAzC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgjC,eAAT,CAAyBjoF,SAAzB,EAAoC;AAChC,QAAM1iD,WAAW,GAAGyqI,cAAc,CAAC/nF,SAAD,CAAlC;AACA,SAAO1iD,WAAW,CAAC8S,WAAZ,IAA2B,EAAlC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS83H,YAAT,CAAsBntJ,OAAtB,EAA+B;AAC3BisJ,EAAAA,gBAAgB,CAACjsJ,OAAD,CAAhB;AACA,QAAMotJ,QAAQ,GAAG5wB,WAAW,CAACx8H,OAAD,CAA5B;AACA,MAAIotJ,QAAQ,KAAK,IAAjB,EACI,OAAO,EAAP;AACJ,QAAMxwC,KAAK,GAAGwwC,QAAQ,CAACxwC,KAAvB;AACA,QAAM9G,KAAK,GAAG8G,KAAK,CAACrC,KAAD,CAAnB;AACA,QAAMooB,QAAQ,GAAG/lB,KAAK,CAAC/B,OAAD,CAAtB;AACA,QAAM6nB,QAAQ,GAAG5sB,KAAK,CAACzL,OAAvB;AACA,QAAMrnF,SAAS,GAAG,EAAlB;;AACA,MAAI0/G,QAAQ,IAAIC,QAAhB,EAA0B;AACtB,SAAK,IAAI/9H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG89H,QAAQ,CAAC9kI,MAA7B,GAAsC;AAClC,YAAMyvJ,UAAU,GAAG3qB,QAAQ,CAAC99H,CAAC,EAAF,CAA3B;AACA,YAAM0oJ,WAAW,GAAG5qB,QAAQ,CAAC99H,CAAC,EAAF,CAA5B;;AACA,UAAI,OAAOyoJ,UAAP,KAAsB,QAA1B,EAAoC;AAChC,cAAM1zJ,IAAI,GAAG0zJ,UAAb;AACA,cAAME,eAAe,GAAGxsC,WAAW,CAACnE,KAAK,CAAC0wC,WAAD,CAAN,CAAnC;AACA,cAAM/rJ,QAAQ,GAAGohI,QAAQ,CAACD,QAAQ,CAAC99H,CAAC,EAAF,CAAT,CAAzB;AACA,cAAM4oJ,gBAAgB,GAAG9qB,QAAQ,CAAC99H,CAAC,EAAF,CAAjC,CAJgC,CAKhC;AACA;AACA;;AACA,cAAM/K,IAAI,GAAI,OAAO2zJ,gBAAP,KAA4B,SAA5B,IAAyCA,gBAAgB,IAAI,CAA9D,GAAmE,KAAnE,GAA2E,QAAxF;AACA,cAAMC,UAAU,GAAG,OAAOD,gBAAP,KAA4B,SAA5B,GAAwCA,gBAAxC,GAA2D,KAA9E;;AACA,YAAIxtJ,OAAO,IAAIutJ,eAAf,EAAgC;AAC5BvqI,UAAAA,SAAS,CAACvmB,IAAV,CAAe;AAAEuD,YAAAA,OAAF;AAAWrG,YAAAA,IAAX;AAAiB4H,YAAAA,QAAjB;AAA2BksJ,YAAAA,UAA3B;AAAuC5zJ,YAAAA;AAAvC,WAAf;AACH;AACJ;AACJ;AACJ;;AACDmpB,EAAAA,SAAS,CAACkD,IAAV,CAAewnI,aAAf;AACA,SAAO1qI,SAAP;AACH;;AACD,SAAS0qI,aAAT,CAAuBvnI,CAAvB,EAA0BC,CAA1B,EAA6B;AACzB,MAAID,CAAC,CAACxsB,IAAF,IAAUysB,CAAC,CAACzsB,IAAhB,EACI,OAAO,CAAP;AACJ,SAAOwsB,CAAC,CAACxsB,IAAF,GAASysB,CAAC,CAACzsB,IAAX,GAAkB,CAAC,CAAnB,GAAuB,CAA9B;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS8yJ,kBAAT,CAA4B7jJ,GAA5B,EAAiC;AAC7B,SAAOA,GAAG,CAAC/O,IAAJ,KAAakI,SAAb,IAA0B6G,GAAG,CAACw8D,QAAJ,KAAiBrjE,SAA3C,IAAwD6G,GAAG,CAACsvG,cAAJ,KAAuBn2G,SAAtF;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS4rJ,YAAT,CAAsB3tJ,OAAtB,EAA+B;AAC3B,MAAI6G,SAAS,IAAI,EAAE7G,OAAO,YAAYurC,IAArB,CAAjB,EAA6C;AACzC,UAAM,IAAIrqC,KAAJ,CAAU,mCAAV,CAAN;AACH;;AACD,QAAMksJ,QAAQ,GAAG5wB,WAAW,CAACx8H,OAAD,CAA5B;;AACA,MAAIotJ,QAAQ,KAAK,IAAjB,EAAuB;AACnB,WAAO,IAAP;AACH;;AACD,QAAMxwC,KAAK,GAAGwwC,QAAQ,CAACxwC,KAAvB;AACA,QAAM4E,SAAS,GAAG4rC,QAAQ,CAAC5rC,SAA3B;;AACA,MAAIA,SAAS,KAAK,CAAC,CAAnB,EAAsB;AAClB,UAAMosC,YAAY,GAAGhxC,KAAK,CAAC4E,SAAD,CAA1B,CADkB,CAElB;AACA;;AACA,UAAM3L,KAAK,GAAGuG,OAAO,CAACwxC,YAAD,CAAP,GAAwBA,YAAY,CAAChzC,MAAD,CAApC,GAA+CyG,QAAQ,CAACzE,KAAK,CAACrC,KAAD,CAAN,EAAeiH,SAAf,CAArE;AACA36G,IAAAA,SAAS,IACLurG,WAAW,CAACyD,KAAK,CAACh1F,KAAP,EAAc2gG,SAAd,EAAyB,gDAAzB,CADf;AAEA,WAAO+2B,cAAc,CAAC1iC,KAAD,EAAQ+G,KAAR,CAArB;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASixC,iBAAT,CAA2Bj1I,MAA3B,EAAmC;AAC/B,QAAMw0I,QAAQ,GAAG5wB,WAAW,CAAC5jH,MAAD,CAA5B;AACA,QAAMk1I,QAAQ,GAAGV,QAAQ,CAAC5rC,SAA1B;AACA,QAAM5E,KAAK,GAAGwwC,QAAQ,CAACxwC,KAAvB;AACA,QAAM6oB,cAAc,GAAG7oB,KAAK,CAACkxC,QAAD,CAA5B;AACAjnJ,EAAAA,SAAS,IAAI82G,WAAW,CAAC8nB,cAAD,CAAxB;AACA,SAAOA,cAAP;AACH;AACD;;;AACA,SAASwmB,gBAAT,CAA0B5pJ,KAA1B,EAAiC;AAC7B,MAAI,OAAOsB,OAAP,KAAmB,WAAnB,IAAkC,EAAEtB,KAAK,YAAYsB,OAAnB,CAAtC,EAAmE;AAC/D,UAAM,IAAIzC,KAAJ,CAAU,mCAAV,CAAN;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS62C,YAAT,CAAsBktB,SAAtB,EAAiC;AAC7B+hF,EAAAA,SAAS,CAAC/hF,SAAD,CAAT;AACAonF,EAAAA,iBAAiB,CAACpnF,SAAD,CAAjB,CAA6B3oE,OAA7B,CAAqC0hI,aAAa,IAAIh3D,aAAa,CAACg3D,aAAD,CAAnE;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM+vB,0BAA0B,GAAG,IAAnC;AACA,IAAIC,UAAU,GAAG,KAAjB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,yBAAT,GAAqC;AACjC,MAAI,CAACD,UAAL,EAAiB;AACbA,IAAAA,UAAU,GAAG,IAAb;AACA;AACR;AACA;AACA;AACA;;AACQE,IAAAA,iBAAiB,CAAC,cAAD,EAAiBjuC,WAAjB,CAAjB;AACAiuC,IAAAA,iBAAiB,CAAC,sBAAD,EAAyBtB,oBAAzB,CAAjB;AACAsB,IAAAA,iBAAiB,CAAC,cAAD,EAAiBlC,YAAjB,CAAjB;AACAkC,IAAAA,iBAAiB,CAAC,YAAD,EAAehC,UAAf,CAAjB;AACAgC,IAAAA,iBAAiB,CAAC,cAAD,EAAiBf,YAAjB,CAAjB;AACAe,IAAAA,iBAAiB,CAAC,oBAAD,EAAuB/B,kBAAvB,CAAjB;AACA+B,IAAAA,iBAAiB,CAAC,gBAAD,EAAmBlB,cAAnB,CAAjB;AACAkB,IAAAA,iBAAiB,CAAC,aAAD,EAAgB5B,WAAhB,CAAjB;AACA4B,IAAAA,iBAAiB,CAAC,mBAAD,EAAsB7B,iBAAtB,CAAjB;AACA6B,IAAAA,iBAAiB,CAAC,eAAD,EAAkBxB,aAAlB,CAAjB;AACAwB,IAAAA,iBAAiB,CAAC,cAAD,EAAiBn2G,YAAjB,CAAjB;AACH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAASm2G,iBAAT,CAA2Bv0J,IAA3B,EAAiC4C,EAAjC,EAAqC;AACjC,MAAI,OAAO4xJ,QAAP,KAAoB,WAApB,IAAmC,CAACA,QAAxC,EAAkD;AAC9C;AACA;AACA;AACA;AACA,UAAMC,CAAC,GAAG74C,OAAV;AACA1uG,IAAAA,SAAS,IAAI+rG,aAAa,CAACr2G,EAAD,EAAK,sBAAL,CAA1B;;AACA,QAAI6xJ,CAAJ,EAAO;AACH,UAAI7hG,SAAS,GAAG6hG,CAAC,CAACL,0BAAD,CAAjB;;AACA,UAAI,CAACxhG,SAAL,EAAgB;AACZA,QAAAA,SAAS,GAAG6hG,CAAC,CAACL,0BAAD,CAAD,GAAgC,EAA5C;AACH;;AACDxhG,MAAAA,SAAS,CAAC5yD,IAAD,CAAT,GAAkB4C,EAAlB;AACH;AACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8xJ,IAAI,GAAG,CAAC1nJ,KAAD,EAAQ8hE,aAAR,KAA0B;AACnC6oC,EAAAA,0BAA0B,CAAC3qG,KAAD,EAAQ,cAAR,CAA1B;AACH,CAFD,EAGA;;;AACA,MAAM2nJ,eAAe,GAAG;AACpB/rJ,EAAAA,GAAG,EAAE8rJ;AADe,CAAxB;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASE,iBAAT,CAA2BC;AAAc;AAAzC,EAAyGr7C,IAAI,GAAG,EAAhH,EAAoH;AAChHtsG,EAAAA,SAAS,IAAIonJ,yBAAyB,EAAtC;AACApnJ,EAAAA,SAAS,IAAIs2G,mBAAmB,CAACqxC,aAAD,CAAhC;AACA,QAAMnT,eAAe,GAAGloC,IAAI,CAACkoC,eAAL,IAAwBz6B,mBAAhD;AACA,QAAMgtB,SAAS,GAAGz6B,IAAI,CAACy6B,SAAL,IAAkB,IAApC;AACA,QAAMkf,YAAY,GAAGzzC,eAAe,CAACm1C,aAAD,CAApC;AACA,MAAI1B,YAAY,CAACjzJ,IAAb,IAAqB20J,aAAzB,EACI1B,YAAY,CAACjzJ,IAAb,GAAoB20J,aAApB,CAP4G,CAQhH;;AACA,QAAMC,YAAY,GAAG3B,YAAY,CAACtiH,SAAb,CAAuB,CAAvB,EAA0B,CAA1B,CAArB;AACA,QAAMkkH,YAAY,GAAGrT,eAAe,CAACx6B,cAAhB,CAA+B,IAA/B,EAAqC,IAArC,CAArB;AACA,QAAM8tC,SAAS,GAAGrO,iBAAiB,CAACoO,YAAD,EAAev7C,IAAI,CAACpvG,IAAL,IAAa0qJ,YAA5B,EAA0C3B,YAAY,CAACv5E,aAAvD,CAAnC;AACA,QAAMq7E,SAAS,GAAG9B,YAAY,CAACz0C,MAAb,GAAsB;AAAG;AAAH,IAAiB;AAAI;AAA3C,IACd;AAAG;AAAH,IAAuB;AAAI;AAD/B;AAEA,QAAMmtC,WAAW,GAAGqJ,iBAAiB,CAAC17C,IAAI,CAACwyC,SAAN,EAAiBxyC,IAAI,CAAC0yC,aAAtB,CAArC;AACA,QAAMnlC,QAAQ,GAAG26B,eAAe,CAACx6B,cAAhB,CAA+B8tC,SAA/B,EAA0C7B,YAA1C,CAAjB;AACA,QAAMgC,SAAS,GAAGhP,WAAW,CAAC;AAAE;AAAH,IAAe,IAAf,EAAqB,IAArB,EAA2B,CAA3B,EAA8B,CAA9B,EAAiC,IAAjC,EAAuC,IAAvC,EAA6C,IAA7C,EAAmD,IAAnD,EAAyD,IAAzD,CAA7B;AACA,QAAMxgB,QAAQ,GAAGue,WAAW,CAAC,IAAD,EAAOiR,SAAP,EAAkBtJ,WAAlB,EAA+BoJ,SAA/B,EAA0C,IAA1C,EAAgD,IAAhD,EAAsDvT,eAAtD,EAAuE36B,QAAvE,EAAiF,IAAjF,EAAuFvN,IAAI,CAACjuC,QAAL,IAAiB,IAAxG,CAA5B;AACAqgD,EAAAA,SAAS,CAAC+Z,QAAD,CAAT;AACA,MAAIr6D,SAAJ;;AACA,MAAI;AACA,QAAIo2E,eAAe,CAAC4D,KAApB,EACI5D,eAAe,CAAC4D,KAAhB;AACJ,UAAMnhB,aAAa,GAAGixB,uBAAuB,CAACJ,SAAD,EAAY7B,YAAZ,EAA0BxtB,QAA1B,EAAoC+b,eAApC,EAAqD36B,QAArD,EAA+DktB,SAA/D,CAA7C;AACA3oE,IAAAA,SAAS,GAAG+pF,mBAAmB,CAAClxB,aAAD,EAAgBgvB,YAAhB,EAA8BxtB,QAA9B,EAAwCkmB,WAAxC,EAAqDryC,IAAI,CAAC87C,YAAL,IAAqB,IAA1E,CAA/B,CAJA,CAKA;;AACA3Q,IAAAA,UAAU,CAACwQ,SAAD,EAAYxvB,QAAZ,EAAsB,IAAtB,CAAV,CANA,CAOA;;AACAof,IAAAA,WAAW,CAACoQ,SAAD,EAAYxvB,QAAZ,EAAsB,IAAtB,EAA4B,IAA5B,CAAX;AACH,GATD,SAUQ;AACJnZ,IAAAA,SAAS;AACT,QAAIk1B,eAAe,CAAC/vE,GAApB,EACI+vE,eAAe,CAAC/vE,GAAhB;AACP;;AACD,SAAOrG,SAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8pF,uBAAT,CAAiChvB,KAAjC,EAAwCxwH,GAAxC,EAA6C+vH,QAA7C,EAAuD+b,eAAvD,EAAwEqT,YAAxE,EAAsF9gB,SAAtF,EAAiG;AAC7F,QAAM93B,KAAK,GAAGwpB,QAAQ,CAAC/kB,KAAD,CAAtB;AACA,QAAM15F,KAAK,GAAG66F,aAAd;AACA70G,EAAAA,SAAS,IAAIksG,kBAAkB,CAACusB,QAAD,EAAWz+G,KAAX,CAA/B;AACAy+G,EAAAA,QAAQ,CAACz+G,KAAD,CAAR,GAAkBk/G,KAAlB,CAJ6F,CAK7F;AACA;AACA;;AACA,QAAMlqB,KAAK,GAAGkoC,gBAAgB,CAACjoC,KAAD,EAAQj1F,KAAR,EAAe;AAAE;AAAjB,IAAgC,OAAhC,EAAyC,IAAzC,CAA9B;AACA,QAAMg3H,WAAW,GAAGhiC,KAAK,CAACgiC,WAAN,GAAoBtoI,GAAG,CAACijE,SAA5C;;AACA,MAAIqlE,WAAW,KAAK,IAApB,EAA0B;AACtBgP,IAAAA,oBAAoB,CAAChxC,KAAD,EAAQgiC,WAAR,EAAqB,IAArB,CAApB;;AACA,QAAI9X,KAAK,KAAK,IAAd,EAAoB;AAChB9V,MAAAA,eAAe,CAACykC,YAAD,EAAe3uB,KAAf,EAAsB8X,WAAtB,CAAf;;AACA,UAAIhiC,KAAK,CAAC9mF,OAAN,KAAkB,IAAtB,EAA4B;AACxBu3G,QAAAA,gBAAgB,CAACooB,YAAD,EAAe3uB,KAAf,EAAsBlqB,KAAK,CAAC9mF,OAA5B,CAAhB;AACH;;AACD,UAAI8mF,KAAK,CAAC57G,MAAN,KAAiB,IAArB,EAA2B;AACvBmsI,QAAAA,gBAAgB,CAACsoB,YAAD,EAAe3uB,KAAf,EAAsBlqB,KAAK,CAAC57G,MAA5B,CAAhB;AACH;AACJ;AACJ;;AACD,QAAMi1J,YAAY,GAAG7T,eAAe,CAACx6B,cAAhB,CAA+Bkf,KAA/B,EAAsCxwH,GAAtC,CAArB;AACA,QAAMuuH,aAAa,GAAG+f,WAAW,CAACve,QAAD,EAAWugB,yBAAyB,CAACtwI,GAAD,CAApC,EAA2C,IAA3C,EAAiDA,GAAG,CAAC8oG,MAAJ,GAAa;AAAG;AAAhB,IAA8B;AAAG;AAAlF,IAAqGinB,QAAQ,CAACz+G,KAAD,CAA7G,EAAsHg1F,KAAtH,EAA6HwlC,eAA7H,EAA8I6T,YAA9I,EAA4JthB,SAAS,IAAI,IAAzK,EAA+K,IAA/K,CAAjC;;AACA,MAAI93B,KAAK,CAACF,eAAV,EAA2B;AACvBqX,IAAAA,kBAAkB,CAACb,8BAA8B,CAACvW,KAAD,EAAQypB,QAAR,CAA/B,EAAkDxpB,KAAlD,EAAyDvmG,GAAG,CAAC1V,IAA7D,CAAlB;AACAqqJ,IAAAA,mBAAmB,CAACpuC,KAAD,EAAQD,KAAR,CAAnB;AACAqtC,IAAAA,cAAc,CAACrtC,KAAD,EAAQypB,QAAQ,CAAC1hI,MAAjB,EAAyB,CAAzB,CAAd;AACH;;AACD2mJ,EAAAA,aAAa,CAACjlB,QAAD,EAAWxB,aAAX,CAAb,CA7B6F,CA8B7F;;AACA,SAAOwB,QAAQ,CAACz+G,KAAD,CAAR,GAAkBi9G,aAAzB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASkxB,mBAAT,CAA6BlxB,aAA7B,EAA4CgvB,YAA5C,EAA0DqC,SAA1D,EAAqE3J,WAArE,EAAkFyJ,YAAlF,EAAgG;AAC5F,QAAMn5C,KAAK,GAAGq5C,SAAS,CAAC50C,KAAD,CAAvB,CAD4F,CAE5F;;AACA,QAAMt1C,SAAS,GAAG09E,wBAAwB,CAAC7sC,KAAD,EAAQq5C,SAAR,EAAmBrC,YAAnB,CAA1C;AACAtH,EAAAA,WAAW,CAAC5nB,UAAZ,CAAuBnhI,IAAvB,CAA4BwoE,SAA5B;AACA64D,EAAAA,aAAa,CAAChjB,OAAD,CAAb,GAAyB71C,SAAzB;AACAgqF,EAAAA,YAAY,IAAIA,YAAY,CAAC3yJ,OAAb,CAAsBw8G,OAAD,IAAaA,OAAO,CAAC7zC,SAAD,EAAY6nF,YAAZ,CAAzC,CAAhB,CAN4F,CAO5F;AACA;;AACA,MAAIA,YAAY,CAAC10C,cAAjB,EAAiC;AAC7B,UAAMvC,KAAK,GAAGwN,eAAe,EAA7B;AACAx8G,IAAAA,SAAS,IAAI+rG,aAAa,CAACiD,KAAD,EAAQ,gBAAR,CAA1B;AACAi3C,IAAAA,YAAY,CAAC10C,cAAb,CAA4B;AAAE;AAA9B,MAA4CnzC,SAA5C,EAAuD4wC,KAAK,CAAC2R,cAA7D;AACH;;AACD,QAAMo7B,SAAS,GAAGv/B,eAAe,EAAjC;AACAx8G,EAAAA,SAAS,IAAI+rG,aAAa,CAACgwC,SAAD,EAAY,wCAAZ,CAA1B;;AACA,MAAI9sC,KAAK,CAACF,eAAN,KACCk3C,YAAY,CAACj2G,YAAb,KAA8B,IAA9B,IAAsCi2G,YAAY,CAACt6E,SAAb,KAA2B,IADlE,CAAJ,EAC6E;AACzEk0C,IAAAA,gBAAgB,CAACk8B,SAAS,CAAC/hI,KAAX,CAAhB;AACA,UAAMiuI,SAAS,GAAGK,SAAS,CAAC50C,KAAD,CAA3B;AACAipC,IAAAA,0BAA0B,CAACsL,SAAD,EAAYlM,SAAZ,EAAuBuM,SAAvB,EAAkCvM,SAAS,CAACp7B,cAA5C,EAA4Do7B,SAAS,CAACn7B,YAAtE,EAAoFqlC,YAApF,CAA1B;AACA9I,IAAAA,gCAAgC,CAAC8I,YAAD,EAAe7nF,SAAf,CAAhC;AACH;;AACD,SAAOA,SAAP;AACH;;AACD,SAAS4pF,iBAAT,CAA2BlJ,SAA3B,EAAsCE,aAAtC,EAAqD;AACjD,SAAO;AACHjoB,IAAAA,UAAU,EAAE,EADT;AAEH+nB,IAAAA,SAAS,EAAEA,SAAS,IAAI1U,gBAFrB;AAGHyU,IAAAA,KAAK,EAAEc,aAHJ;AAIHX,IAAAA,aAAa,EAAEA,aAAa,IAAI,IAJ7B;AAKHrxC,IAAAA,KAAK,EAAE;AAAE;;AALN,GAAP;AAOH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS46C,qBAAT,CAA+BnqF,SAA/B,EAA0C11D,GAA1C,EAA+C;AAC3C,QAAMqtG,KAAK,GAAG6gB,gBAAgB,CAACx4D,SAAD,CAA9B;AACAp+D,EAAAA,SAAS,IAAI+rG,aAAa,CAACgK,KAAD,EAAQ,mBAAR,CAA1B;AACA,QAAM9G,KAAK,GAAG8G,KAAK,CAACrC,KAAD,CAAnB;AACA,QAAM1E,KAAK,GAAGwN,eAAe,EAA7B;AACAx8G,EAAAA,SAAS,IAAI+rG,aAAa,CAACiD,KAAD,EAAQ,mBAAR,CAA1B;AACA0R,EAAAA,sBAAsB,CAACzR,KAAD,EAAQD,KAAR,CAAtB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw5C,YAAT,CAAsBpqF,SAAtB,EAAiC;AAC7B,SAAOm6D,cAAc,CAACn6D,SAAD,CAAd,CAA0BygF,KAAjC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4J,YAAT,CAAsBz1J,IAAtB,EAA4B;AACxB,SAAO6G,MAAM,CAAC8gG,cAAP,CAAsB3nG,IAAI,CAACmK,SAA3B,EAAsCvI,WAA7C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2rE,0BAAT,CAAoC+3C,UAApC,EAAgD;AAC5C,MAAIowC,SAAS,GAAGD,YAAY,CAACnwC,UAAU,CAACtlH,IAAZ,CAA5B;AACA,MAAI21J,mBAAmB,GAAG,IAA1B;AACA,QAAMC,gBAAgB,GAAG,CAACtwC,UAAD,CAAzB;;AACA,SAAOowC,SAAP,EAAkB;AACd,QAAIG,QAAQ,GAAG3tJ,SAAf;;AACA,QAAI06G,cAAc,CAAC0C,UAAD,CAAlB,EAAgC;AAC5B;AACAuwC,MAAAA,QAAQ,GAAGH,SAAS,CAACx9E,IAAV,IAAkBw9E,SAAS,CAACjlH,IAAvC;AACH,KAHD,MAIK;AACD,UAAIilH,SAAS,CAACx9E,IAAd,EAAoB;AAChB,cAAM,IAAI7wE,KAAJ,CAAU,sCAAV,CAAN;AACH,OAHA,CAID;;;AACAwuJ,MAAAA,QAAQ,GAAGH,SAAS,CAACjlH,IAArB;AACH;;AACD,QAAIolH,QAAJ,EAAc;AACV,UAAIF,mBAAJ,EAAyB;AACrBC,QAAAA,gBAAgB,CAAChzJ,IAAjB,CAAsBizJ,QAAtB,EADqB,CAErB;AACA;;AACA,cAAMC,YAAY,GAAGxwC,UAArB;AACAwwC,QAAAA,YAAY,CAACllH,MAAb,GAAsBmlH,gBAAgB,CAACzwC,UAAU,CAAC10E,MAAZ,CAAtC;AACAklH,QAAAA,YAAY,CAACz3C,cAAb,GAA8B03C,gBAAgB,CAACzwC,UAAU,CAACjH,cAAZ,CAA9C;AACAy3C,QAAAA,YAAY,CAAC17G,OAAb,GAAuB27G,gBAAgB,CAACzwC,UAAU,CAAClrE,OAAZ,CAAvC,CAPqB,CAQrB;;AACA,cAAM47G,iBAAiB,GAAGH,QAAQ,CAAC74G,YAAnC;AACAg5G,QAAAA,iBAAiB,IAAIC,mBAAmB,CAAC3wC,UAAD,EAAa0wC,iBAAb,CAAxC,CAVqB,CAWrB;;AACA,cAAME,cAAc,GAAGL,QAAQ,CAACz9E,SAAhC;AACA,cAAM+9E,mBAAmB,GAAGN,QAAQ,CAACt3C,cAArC;AACA23C,QAAAA,cAAc,IAAIE,gBAAgB,CAAC9wC,UAAD,EAAa4wC,cAAb,CAAlC;AACAC,QAAAA,mBAAmB,IAAIE,qBAAqB,CAAC/wC,UAAD,EAAa6wC,mBAAb,CAA5C,CAfqB,CAgBrB;;AACAngD,QAAAA,cAAc,CAACsP,UAAU,CAAC10E,MAAZ,EAAoBilH,QAAQ,CAACjlH,MAA7B,CAAd;AACAolE,QAAAA,cAAc,CAACsP,UAAU,CAACjH,cAAZ,EAA4Bw3C,QAAQ,CAACx3C,cAArC,CAAd;AACArI,QAAAA,cAAc,CAACsP,UAAU,CAAClrE,OAAZ,EAAqBy7G,QAAQ,CAACz7G,OAA9B,CAAd,CAnBqB,CAoBrB;AACA;;AACA,YAAIwoE,cAAc,CAACizC,QAAD,CAAd,IAA4BA,QAAQ,CAAC1tJ,IAAT,CAAcnH,SAA9C,EAAyD;AACrD;AACA;AACA,gBAAMs1J,OAAO,GAAGhxC,UAAU,CAACn9G,IAA3B;AACAmuJ,UAAAA,OAAO,CAACt1J,SAAR,GAAoB,CAACs1J,OAAO,CAACt1J,SAAR,IAAqB,EAAtB,EAA0Bs1B,MAA1B,CAAiCu/H,QAAQ,CAAC1tJ,IAAT,CAAcnH,SAA/C,CAApB;AACH;AACJ,OA7BS,CA8BV;;;AACA,YAAM8vC,QAAQ,GAAG+kH,QAAQ,CAAC/kH,QAA1B;;AACA,UAAIA,QAAJ,EAAc;AACV,aAAK,IAAI/lC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+lC,QAAQ,CAAC/sC,MAA7B,EAAqCgH,CAAC,EAAtC,EAA0C;AACtC,gBAAMk0G,OAAO,GAAGnuE,QAAQ,CAAC/lC,CAAD,CAAxB;;AACA,cAAIk0G,OAAO,IAAIA,OAAO,CAACwG,SAAvB,EAAkC;AAC9BxG,YAAAA,OAAO,CAACqG,UAAD,CAAP;AACH,WAJqC,CAKtC;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,cAAIrG,OAAO,KAAK1xC,0BAAhB,EAA4C;AACxCooF,YAAAA,mBAAmB,GAAG,KAAtB;AACH;AACJ;AACJ;AACJ;;AACDD,IAAAA,SAAS,GAAG7uJ,MAAM,CAAC8gG,cAAP,CAAsB+tD,SAAtB,CAAZ;AACH;;AACDa,EAAAA,+BAA+B,CAACX,gBAAD,CAA/B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASW,+BAAT,CAAyCX,gBAAzC,EAA2D;AACvD,MAAI74G,QAAQ,GAAG,CAAf;AACA,MAAI47B,SAAS,GAAG,IAAhB,CAFuD,CAGvD;;AACA,OAAK,IAAI5tE,CAAC,GAAG6qJ,gBAAgB,CAAC7xJ,MAAjB,GAA0B,CAAvC,EAA0CgH,CAAC,IAAI,CAA/C,EAAkDA,CAAC,EAAnD,EAAuD;AACnD,UAAM2K,GAAG,GAAGkgJ,gBAAgB,CAAC7qJ,CAAD,CAA5B,CADmD,CAEnD;;AACA2K,IAAAA,GAAG,CAACqnC,QAAJ,GAAgBA,QAAQ,IAAIrnC,GAAG,CAACqnC,QAAhC,CAHmD,CAInD;;AACArnC,IAAAA,GAAG,CAACijE,SAAJ,GACIo4C,cAAc,CAACr7G,GAAG,CAACijE,SAAL,EAAgBA,SAAS,GAAGo4C,cAAc,CAACp4C,SAAD,EAAYjjE,GAAG,CAACijE,SAAhB,CAA1C,CADlB;AAEH;AACJ;;AACD,SAASo9E,gBAAT,CAA0BvtJ,KAA1B,EAAiC;AAC7B,MAAIA,KAAK,KAAK+0G,SAAd,EAAyB;AACrB,WAAO,EAAP;AACH,GAFD,MAGK,IAAI/0G,KAAK,KAAKg1G,WAAd,EAA2B;AAC5B,WAAO,EAAP;AACH,GAFI,MAGA;AACD,WAAOh1G,KAAP;AACH;AACJ;;AACD,SAAS4tJ,gBAAT,CAA0B9wC,UAA1B,EAAsC4wC,cAAtC,EAAsD;AAClD,QAAMM,aAAa,GAAGlxC,UAAU,CAACltC,SAAjC;;AACA,MAAIo+E,aAAJ,EAAmB;AACflxC,IAAAA,UAAU,CAACltC,SAAX,GAAuB,CAACl7B,EAAD,EAAKxgC,GAAL,KAAa;AAChCw5I,MAAAA,cAAc,CAACh5G,EAAD,EAAKxgC,GAAL,CAAd;AACA85I,MAAAA,aAAa,CAACt5G,EAAD,EAAKxgC,GAAL,CAAb;AACH,KAHD;AAIH,GALD,MAMK;AACD4oG,IAAAA,UAAU,CAACltC,SAAX,GAAuB89E,cAAvB;AACH;AACJ;;AACD,SAASG,qBAAT,CAA+B/wC,UAA/B,EAA2C6wC,mBAA3C,EAAgE;AAC5D,QAAMM,kBAAkB,GAAGnxC,UAAU,CAAC/G,cAAtC;;AACA,MAAIk4C,kBAAJ,EAAwB;AACpBnxC,IAAAA,UAAU,CAAC/G,cAAX,GAA4B,CAACrhE,EAAD,EAAKxgC,GAAL,EAAU2wG,cAAV,KAA6B;AACrD8oC,MAAAA,mBAAmB,CAACj5G,EAAD,EAAKxgC,GAAL,EAAU2wG,cAAV,CAAnB;AACAopC,MAAAA,kBAAkB,CAACv5G,EAAD,EAAKxgC,GAAL,EAAU2wG,cAAV,CAAlB;AACH,KAHD;AAIH,GALD,MAMK;AACD/H,IAAAA,UAAU,CAAC/G,cAAX,GAA4B43C,mBAA5B;AACH;AACJ;;AACD,SAASF,mBAAT,CAA6B3wC,UAA7B,EAAyC0wC,iBAAzC,EAA4D;AACxD,QAAMU,gBAAgB,GAAGpxC,UAAU,CAACtoE,YAApC;;AACA,MAAI05G,gBAAJ,EAAsB;AAClBpxC,IAAAA,UAAU,CAACtoE,YAAX,GAA0B,CAACE,EAAD,EAAKxgC,GAAL,KAAa;AACnCs5I,MAAAA,iBAAiB,CAAC94G,EAAD,EAAKxgC,GAAL,CAAjB;AACAg6I,MAAAA,gBAAgB,CAACx5G,EAAD,EAAKxgC,GAAL,CAAhB;AACH,KAHD;AAIH,GALD,MAMK;AACD4oG,IAAAA,UAAU,CAACtoE,YAAX,GAA0Bg5G,iBAA1B;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMW,qBAAqB,GAAG,CAC1B;AACA,mBAF0B,CAG1B;AACA;AAJ0B,CAA9B;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,qBAAqB,GAAG,CAC1B;AACA;AACA,UAH0B,EAI1B,OAJ0B,EAK1B,QAL0B,EAM1B,MAN0B,EAO1B,QAP0B,EAQ1B,oBAR0B,EAS1B;AACA,QAV0B,EAW1B,eAX0B,EAY1B;AACA,SAb0B,CAA9B;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,uBAAT,CAAiCvxC,UAAjC,EAA6C;AACzC,MAAIowC,SAAS,GAAGD,YAAY,CAACnwC,UAAU,CAACtlH,IAAZ,CAA5B;AACA,MAAI61J,QAAQ,GAAG3tJ,SAAf;;AACA,MAAI06G,cAAc,CAAC0C,UAAD,CAAlB,EAAgC;AAC5B;AACAuwC,IAAAA,QAAQ,GAAGH,SAAS,CAACx9E,IAArB;AACH,GAHD,MAIK;AACD;AACA29E,IAAAA,QAAQ,GAAGH,SAAS,CAACjlH,IAArB;AACH,GAVwC,CAWzC;;;AACA,QAAMqmH,MAAM,GAAGxxC,UAAf,CAZyC,CAazC;;AACA,OAAK,MAAM1L,KAAX,IAAoB+8C,qBAApB,EAA2C;AACvCG,IAAAA,MAAM,CAACl9C,KAAD,CAAN,GAAgBi8C,QAAQ,CAACj8C,KAAD,CAAxB;AACH;;AACD,MAAIgJ,cAAc,CAACizC,QAAD,CAAlB,EAA8B;AAC1B;AACA,SAAK,MAAMj8C,KAAX,IAAoBg9C,qBAApB,EAA2C;AACvCE,MAAAA,MAAM,CAACl9C,KAAD,CAAN,GAAgBi8C,QAAQ,CAACj8C,KAAD,CAAxB;AACH;AACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIm9C,eAAe,GAAG,IAAtB;;AACA,SAASC,iBAAT,GAA6B;AACzB,MAAI,CAACD,eAAL,EAAsB;AAClB,UAAME,MAAM,GAAGv7C,OAAO,CAAC,QAAD,CAAtB;;AACA,QAAIu7C,MAAM,IAAIA,MAAM,CAAC9lJ,QAArB,EAA+B;AAC3B4lJ,MAAAA,eAAe,GAAGE,MAAM,CAAC9lJ,QAAzB;AACH,KAFD,MAGK;AACD;AACA,YAAMrK,IAAI,GAAGD,MAAM,CAACqwJ,mBAAP,CAA2BzuJ,GAAG,CAAC0B,SAA/B,CAAb;;AACA,WAAK,IAAIY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGjE,IAAI,CAAC/C,MAAzB,EAAiC,EAAEgH,CAAnC,EAAsC;AAClC,cAAMzC,GAAG,GAAGxB,IAAI,CAACiE,CAAD,CAAhB;;AACA,YAAIzC,GAAG,KAAK,SAAR,IAAqBA,GAAG,KAAK,MAA7B,IACAG,GAAG,CAAC0B,SAAJ,CAAc7B,GAAd,MAAuBG,GAAG,CAAC0B,SAAJ,CAAc,SAAd,CAD3B,EACqD;AACjD4sJ,UAAAA,eAAe,GAAGzuJ,GAAlB;AACH;AACJ;AACJ;AACJ;;AACD,SAAOyuJ,eAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,YAAT,CAAsB7qI,CAAtB,EAAyBC,CAAzB,EAA4B;AACxB,QAAM6qI,mBAAmB,GAAGC,kBAAkB,CAAC/qI,CAAD,CAA9C;AACA,QAAMgrI,mBAAmB,GAAGD,kBAAkB,CAAC9qI,CAAD,CAA9C;;AACA,MAAI6qI,mBAAmB,IAAIE,mBAA3B,EAAgD;AAC5C,WAAOC,iBAAiB,CAACjrI,CAAD,EAAIC,CAAJ,EAAO4qI,YAAP,CAAxB;AACH,GAFD,MAGK;AACD,UAAMK,SAAS,GAAGlrI,CAAC,KAAK,OAAOA,CAAP,KAAa,QAAb,IAAyB,OAAOA,CAAP,KAAa,UAA3C,CAAnB;AACA,UAAMmrI,SAAS,GAAGlrI,CAAC,KAAK,OAAOA,CAAP,KAAa,QAAb,IAAyB,OAAOA,CAAP,KAAa,UAA3C,CAAnB;;AACA,QAAI,CAAC6qI,mBAAD,IAAwBI,SAAxB,IAAqC,CAACF,mBAAtC,IAA6DG,SAAjE,EAA4E;AACxE,aAAO,IAAP;AACH,KAFD,MAGK;AACD,aAAO5wJ,MAAM,CAAC6wJ,EAAP,CAAUprI,CAAV,EAAaC,CAAb,CAAP;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMorI,YAAN,CAAmB;AACf/1J,EAAAA,WAAW,CAAC4G,KAAD,EAAQ;AACf,SAAKovJ,OAAL,GAAepvJ,KAAf;AACH;AACD;;;AACW,SAAJqvJ,IAAI,CAACrvJ,KAAD,EAAQ;AACf,WAAO,IAAImvJ,YAAJ,CAAiBnvJ,KAAjB,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACiB,SAANsvJ,MAAM,CAACtvJ,KAAD,EAAQ;AACjB,WAAOmvJ,YAAY,CAACI,SAAb,CAAuBvvJ,KAAvB,IAAgCA,KAAK,CAACovJ,OAAtC,GAAgDpvJ,KAAvD;AACH;AACD;;;AACgB,SAATuvJ,SAAS,CAACvvJ,KAAD,EAAQ;AACpB,WAAOA,KAAK,YAAYmvJ,YAAxB;AACH;;AAlBc;;AAoBnB,SAASN,kBAAT,CAA4BtoJ,GAA5B,EAAiC;AAC7B,MAAI,CAACipJ,UAAU,CAACjpJ,GAAD,CAAf,EACI,OAAO,KAAP;AACJ,SAAOI,KAAK,CAACC,OAAN,CAAcL,GAAd,KACF,EAAEA,GAAG,YAAYtG,GAAjB,KAAyB;AACtBuuJ,EAAAA,iBAAiB,MAAMjoJ,GAF/B,CAH6B,CAKQ;AACxC;;AACD,SAASwoJ,iBAAT,CAA2BjrI,CAA3B,EAA8BC,CAA9B,EAAiC0rI,UAAjC,EAA6C;AACzC,QAAMC,SAAS,GAAG5rI,CAAC,CAAC0qI,iBAAiB,EAAlB,CAAD,EAAlB;AACA,QAAMmB,SAAS,GAAG5rI,CAAC,CAACyqI,iBAAiB,EAAlB,CAAD,EAAlB;;AACA,SAAO,IAAP,EAAa;AACT,UAAMoB,KAAK,GAAGF,SAAS,CAAC7mJ,IAAV,EAAd;AACA,UAAMgnJ,KAAK,GAAGF,SAAS,CAAC9mJ,IAAV,EAAd;AACA,QAAI+mJ,KAAK,CAAC9mJ,IAAN,IAAc+mJ,KAAK,CAAC/mJ,IAAxB,EACI,OAAO,IAAP;AACJ,QAAI8mJ,KAAK,CAAC9mJ,IAAN,IAAc+mJ,KAAK,CAAC/mJ,IAAxB,EACI,OAAO,KAAP;AACJ,QAAI,CAAC2mJ,UAAU,CAACG,KAAK,CAAC5vJ,KAAP,EAAc6vJ,KAAK,CAAC7vJ,KAApB,CAAf,EACI,OAAO,KAAP;AACP;AACJ;;AACD,SAAS8vJ,eAAT,CAAyBvpJ,GAAzB,EAA8BrM,EAA9B,EAAkC;AAC9B,MAAIyM,KAAK,CAACC,OAAN,CAAcL,GAAd,CAAJ,EAAwB;AACpB,SAAK,IAAIhE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgE,GAAG,CAAChL,MAAxB,EAAgCgH,CAAC,EAAjC,EAAqC;AACjCrI,MAAAA,EAAE,CAACqM,GAAG,CAAChE,CAAD,CAAJ,CAAF;AACH;AACJ,GAJD,MAKK;AACD,UAAMoG,QAAQ,GAAGpC,GAAG,CAACioJ,iBAAiB,EAAlB,CAAH,EAAjB;AACA,QAAItnJ,IAAJ;;AACA,WAAO,CAAE,CAACA,IAAI,GAAGyB,QAAQ,CAACE,IAAT,EAAR,EAAyBC,IAAlC,EAAyC;AACrC5O,MAAAA,EAAE,CAACgN,IAAI,CAAClH,KAAN,CAAF;AACH;AACJ;AACJ;;AACD,SAASwvJ,UAAT,CAAoBO,CAApB,EAAuB;AACnB,SAAOA,CAAC,KAAK,IAAN,KAAe,OAAOA,CAAP,KAAa,UAAb,IAA2B,OAAOA,CAAP,KAAa,QAAvD,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAASC,aAAT,CAAuBz1C,KAAvB,EAA8BsH,YAA9B,EAA4C7hH,KAA5C,EAAmD;AAC/C,SAAOu6G,KAAK,CAACsH,YAAD,CAAL,GAAsB7hH,KAA7B;AACH;AACD;;;AACA,SAASiwJ,UAAT,CAAoB11C,KAApB,EAA2BsH,YAA3B,EAAyC;AACrCr9G,EAAAA,SAAS,IAAIksG,kBAAkB,CAAC6J,KAAD,EAAQsH,YAAR,CAA/B;AACAr9G,EAAAA,SAAS,IACL2rG,aAAa,CAACoK,KAAK,CAACsH,YAAD,CAAN,EAAsB0wB,SAAtB,EAAiC,yCAAjC,CADjB;AAEA,SAAOh4B,KAAK,CAACsH,YAAD,CAAZ;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASquC,cAAT,CAAwB31C,KAAxB,EAA+BsH,YAA/B,EAA6C7hH,KAA7C,EAAoD;AAChDwE,EAAAA,SAAS,IAAI2rG,aAAa,CAACnwG,KAAD,EAAQuyI,SAAR,EAAmB,2CAAnB,CAA1B;AACA/tI,EAAAA,SAAS,IACL4rG,cAAc,CAACyR,YAAD,EAAetH,KAAK,CAACh/G,MAArB,EAA8B,gDAA9B,CADlB;AAEA,QAAMmwB,QAAQ,GAAG6uF,KAAK,CAACsH,YAAD,CAAtB;;AACA,MAAIxjH,MAAM,CAAC6wJ,EAAP,CAAUxjI,QAAV,EAAoB1rB,KAApB,CAAJ,EAAgC;AAC5B,WAAO,KAAP;AACH,GAFD,MAGK;AACD,QAAIwE,SAAS,IAAI07G,sBAAsB,EAAvC,EAA2C;AACvC;AACA;AACA,YAAMiwC,iBAAiB,GAAGzkI,QAAQ,KAAK6mH,SAAb,GAAyB7mH,QAAzB,GAAoChsB,SAA9D;;AACA,UAAI,CAACivJ,YAAY,CAACwB,iBAAD,EAAoBnwJ,KAApB,CAAjB,EAA6C;AACzC,cAAM0lB,OAAO,GAAGkqH,gCAAgC,CAACr1B,KAAD,EAAQsH,YAAR,EAAsBsuC,iBAAtB,EAAyCnwJ,KAAzC,CAAhD;AACAmvI,QAAAA,yBAAyB,CAACzjH,QAAQ,KAAK6mH,SAAd,EAAyB7sH,OAAO,CAACgG,QAAjC,EAA2ChG,OAAO,CAACoL,QAAnD,EAA6DpL,OAAO,CAACipG,QAArE,CAAzB;AACH,OAPsC,CAQvC;AACA;AACA;AACA;;;AACA,aAAO,KAAP;AACH;;AACDpU,IAAAA,KAAK,CAACsH,YAAD,CAAL,GAAsB7hH,KAAtB;AACA,WAAO,IAAP;AACH;AACJ;AACD;;;AACA,SAASowJ,eAAT,CAAyB71C,KAAzB,EAAgCsH,YAAhC,EAA8CwuC,IAA9C,EAAoDC,IAApD,EAA0D;AACtD,QAAMC,SAAS,GAAGL,cAAc,CAAC31C,KAAD,EAAQsH,YAAR,EAAsBwuC,IAAtB,CAAhC;AACA,SAAOH,cAAc,CAAC31C,KAAD,EAAQsH,YAAY,GAAG,CAAvB,EAA0ByuC,IAA1B,CAAd,IAAiDC,SAAxD;AACH;AACD;;;AACA,SAASC,eAAT,CAAyBj2C,KAAzB,EAAgCsH,YAAhC,EAA8CwuC,IAA9C,EAAoDC,IAApD,EAA0DG,IAA1D,EAAgE;AAC5D,QAAMF,SAAS,GAAGH,eAAe,CAAC71C,KAAD,EAAQsH,YAAR,EAAsBwuC,IAAtB,EAA4BC,IAA5B,CAAjC;AACA,SAAOJ,cAAc,CAAC31C,KAAD,EAAQsH,YAAY,GAAG,CAAvB,EAA0B4uC,IAA1B,CAAd,IAAiDF,SAAxD;AACH;AACD;;;AACA,SAASG,eAAT,CAAyBn2C,KAAzB,EAAgCsH,YAAhC,EAA8CwuC,IAA9C,EAAoDC,IAApD,EAA0DG,IAA1D,EAAgEE,IAAhE,EAAsE;AAClE,QAAMJ,SAAS,GAAGH,eAAe,CAAC71C,KAAD,EAAQsH,YAAR,EAAsBwuC,IAAtB,EAA4BC,IAA5B,CAAjC;AACA,SAAOF,eAAe,CAAC71C,KAAD,EAAQsH,YAAY,GAAG,CAAvB,EAA0B4uC,IAA1B,EAAgCE,IAAhC,CAAf,IAAwDJ,SAA/D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS57G,WAAT,CAAqBr9C,IAArB,EAA2B0I,KAA3B,EAAkCurI,SAAlC,EAA6CjN,SAA7C,EAAwD;AACpD,QAAM/jB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMkB,YAAY,GAAGE,gBAAgB,EAArC;;AACA,MAAImuC,cAAc,CAAC31C,KAAD,EAAQsH,YAAR,EAAsB7hH,KAAtB,CAAlB,EAAgD;AAC5C,UAAMyzG,KAAK,GAAGmN,QAAQ,EAAtB;AACA,UAAMpN,KAAK,GAAG8Q,gBAAgB,EAA9B;AACA69B,IAAAA,wBAAwB,CAAC3uC,KAAD,EAAQ+G,KAAR,EAAejjH,IAAf,EAAqB0I,KAArB,EAA4BurI,SAA5B,EAAuCjN,SAAvC,CAAxB;AACA95H,IAAAA,SAAS,IAAIu/I,4BAA4B,CAACtwC,KAAK,CAAC9zG,IAAP,EAAa6zG,KAAb,EAAoB,UAAUl8G,IAA9B,EAAoCuqH,YAApC,CAAzC;AACH;;AACD,SAAOltE,WAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASi8G,cAAT,CAAwBr2C,KAAxB,EAA+BxsG,MAA/B,EAAuC;AACnCvJ,EAAAA,SAAS,IAAI4rG,cAAc,CAAC,CAAD,EAAIriG,MAAM,CAACxS,MAAX,EAAmB,+BAAnB,CAA3B;AACAiJ,EAAAA,SAAS,IAAIurG,WAAW,CAAChiG,MAAM,CAACxS,MAAP,GAAgB,CAAjB,EAAoB,CAApB,EAAuB,qCAAvB,CAAxB;AACA,MAAIs1J,gBAAgB,GAAG,KAAvB;AACA,MAAIhvC,YAAY,GAAGD,eAAe,EAAlC;;AACA,OAAK,IAAIr/G,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwL,MAAM,CAACxS,MAA3B,EAAmCgH,CAAC,IAAI,CAAxC,EAA2C;AACvC;AACAsuJ,IAAAA,gBAAgB,GAAGX,cAAc,CAAC31C,KAAD,EAAQsH,YAAY,EAApB,EAAwB9zG,MAAM,CAACxL,CAAD,CAA9B,CAAd,IAAoDsuJ,gBAAvE;AACH;;AACD/uC,EAAAA,eAAe,CAACD,YAAD,CAAf;;AACA,MAAI,CAACgvC,gBAAL,EAAuB;AACnB,WAAOte,SAAP;AACH,GAZkC,CAanC;;;AACA,MAAInxE,OAAO,GAAGrzD,MAAM,CAAC,CAAD,CAApB;;AACA,OAAK,IAAIxL,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwL,MAAM,CAACxS,MAA3B,EAAmCgH,CAAC,IAAI,CAAxC,EAA2C;AACvC6+D,IAAAA,OAAO,IAAImtC,eAAe,CAACxgG,MAAM,CAACxL,CAAD,CAAP,CAAf,GAA6BwL,MAAM,CAACxL,CAAC,GAAG,CAAL,CAA9C;AACH;;AACD,SAAO6+D,OAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0vF,cAAT,CAAwBv2C,KAAxB,EAA+Bm1B,MAA/B,EAAuCqhB,EAAvC,EAA2CC,MAA3C,EAAmD;AAC/C,QAAMT,SAAS,GAAGL,cAAc,CAAC31C,KAAD,EAAQwH,gBAAgB,EAAxB,EAA4BgvC,EAA5B,CAAhC;AACA,SAAOR,SAAS,GAAG7gB,MAAM,GAAGnhC,eAAe,CAACwiD,EAAD,CAAxB,GAA+BC,MAAlC,GAA2Cze,SAA3D;AACH;AACD;AACA;AACA;;;AACA,SAAS0e,cAAT,CAAwB12C,KAAxB,EAA+Bm1B,MAA/B,EAAuCqhB,EAAvC,EAA2Cp6H,EAA3C,EAA+Cu6H,EAA/C,EAAmDF,MAAnD,EAA2D;AACvD,QAAMnvC,YAAY,GAAGD,eAAe,EAApC;AACA,QAAM2uC,SAAS,GAAGH,eAAe,CAAC71C,KAAD,EAAQsH,YAAR,EAAsBkvC,EAAtB,EAA0BG,EAA1B,CAAjC;AACAlvC,EAAAA,qBAAqB,CAAC,CAAD,CAArB;AACA,SAAOuuC,SAAS,GAAG7gB,MAAM,GAAGnhC,eAAe,CAACwiD,EAAD,CAAxB,GAA+Bp6H,EAA/B,GAAoC43E,eAAe,CAAC2iD,EAAD,CAAnD,GAA0DF,MAA7D,GAAsEze,SAAtF;AACH;AACD;AACA;AACA;;;AACA,SAAS4e,cAAT,CAAwB52C,KAAxB,EAA+Bm1B,MAA/B,EAAuCqhB,EAAvC,EAA2Cp6H,EAA3C,EAA+Cu6H,EAA/C,EAAmD93H,EAAnD,EAAuDg4H,EAAvD,EAA2DJ,MAA3D,EAAmE;AAC/D,QAAMnvC,YAAY,GAAGD,eAAe,EAApC;AACA,QAAM2uC,SAAS,GAAGC,eAAe,CAACj2C,KAAD,EAAQsH,YAAR,EAAsBkvC,EAAtB,EAA0BG,EAA1B,EAA8BE,EAA9B,CAAjC;AACApvC,EAAAA,qBAAqB,CAAC,CAAD,CAArB;AACA,SAAOuuC,SAAS,GACZ7gB,MAAM,GAAGnhC,eAAe,CAACwiD,EAAD,CAAxB,GAA+Bp6H,EAA/B,GAAoC43E,eAAe,CAAC2iD,EAAD,CAAnD,GAA0D93H,EAA1D,GAA+Dm1E,eAAe,CAAC6iD,EAAD,CAA9E,GAAqFJ,MADzE,GAEZze,SAFJ;AAGH;AACD;AACA;AACA;;;AACA,SAAS8e,cAAT,CAAwB92C,KAAxB,EAA+Bm1B,MAA/B,EAAuCqhB,EAAvC,EAA2Cp6H,EAA3C,EAA+Cu6H,EAA/C,EAAmD93H,EAAnD,EAAuDg4H,EAAvD,EAA2D36H,EAA3D,EAA+D66H,EAA/D,EAAmEN,MAAnE,EAA2E;AACvE,QAAMnvC,YAAY,GAAGD,eAAe,EAApC;AACA,QAAM2uC,SAAS,GAAGG,eAAe,CAACn2C,KAAD,EAAQsH,YAAR,EAAsBkvC,EAAtB,EAA0BG,EAA1B,EAA8BE,EAA9B,EAAkCE,EAAlC,CAAjC;AACAtvC,EAAAA,qBAAqB,CAAC,CAAD,CAArB;AACA,SAAOuuC,SAAS,GAAG7gB,MAAM,GAAGnhC,eAAe,CAACwiD,EAAD,CAAxB,GAA+Bp6H,EAA/B,GAAoC43E,eAAe,CAAC2iD,EAAD,CAAnD,GAA0D93H,EAA1D,GACfm1E,eAAe,CAAC6iD,EAAD,CADA,GACO36H,EADP,GACY83E,eAAe,CAAC+iD,EAAD,CAD3B,GACkCN,MADrC,GAEZze,SAFJ;AAGH;AACD;AACA;AACA;;;AACA,SAASgf,cAAT,CAAwBh3C,KAAxB,EAA+Bm1B,MAA/B,EAAuCqhB,EAAvC,EAA2Cp6H,EAA3C,EAA+Cu6H,EAA/C,EAAmD93H,EAAnD,EAAuDg4H,EAAvD,EAA2D36H,EAA3D,EAA+D66H,EAA/D,EAAmEE,EAAnE,EAAuEC,EAAvE,EAA2ET,MAA3E,EAAmF;AAC/E,QAAMnvC,YAAY,GAAGD,eAAe,EAApC;AACA,MAAI2uC,SAAS,GAAGG,eAAe,CAACn2C,KAAD,EAAQsH,YAAR,EAAsBkvC,EAAtB,EAA0BG,EAA1B,EAA8BE,EAA9B,EAAkCE,EAAlC,CAA/B;AACAf,EAAAA,SAAS,GAAGL,cAAc,CAAC31C,KAAD,EAAQsH,YAAY,GAAG,CAAvB,EAA0B4vC,EAA1B,CAAd,IAA+ClB,SAA3D;AACAvuC,EAAAA,qBAAqB,CAAC,CAAD,CAArB;AACA,SAAOuuC,SAAS,GAAG7gB,MAAM,GAAGnhC,eAAe,CAACwiD,EAAD,CAAxB,GAA+Bp6H,EAA/B,GAAoC43E,eAAe,CAAC2iD,EAAD,CAAnD,GAA0D93H,EAA1D,GACfm1E,eAAe,CAAC6iD,EAAD,CADA,GACO36H,EADP,GACY83E,eAAe,CAAC+iD,EAAD,CAD3B,GACkCE,EADlC,GACuCjjD,eAAe,CAACkjD,EAAD,CADtD,GAC6DT,MADhE,GAEZze,SAFJ;AAGH;AACD;AACA;AACA;;;AACA,SAASmf,cAAT,CAAwBn3C,KAAxB,EAA+Bm1B,MAA/B,EAAuCqhB,EAAvC,EAA2Cp6H,EAA3C,EAA+Cu6H,EAA/C,EAAmD93H,EAAnD,EAAuDg4H,EAAvD,EAA2D36H,EAA3D,EAA+D66H,EAA/D,EAAmEE,EAAnE,EAAuEC,EAAvE,EAA2EE,EAA3E,EAA+EC,EAA/E,EAAmFZ,MAAnF,EAA2F;AACvF,QAAMnvC,YAAY,GAAGD,eAAe,EAApC;AACA,MAAI2uC,SAAS,GAAGG,eAAe,CAACn2C,KAAD,EAAQsH,YAAR,EAAsBkvC,EAAtB,EAA0BG,EAA1B,EAA8BE,EAA9B,EAAkCE,EAAlC,CAA/B;AACAf,EAAAA,SAAS,GAAGH,eAAe,CAAC71C,KAAD,EAAQsH,YAAY,GAAG,CAAvB,EAA0B4vC,EAA1B,EAA8BG,EAA9B,CAAf,IAAoDrB,SAAhE;AACAvuC,EAAAA,qBAAqB,CAAC,CAAD,CAArB;AACA,SAAOuuC,SAAS,GACZ7gB,MAAM,GAAGnhC,eAAe,CAACwiD,EAAD,CAAxB,GAA+Bp6H,EAA/B,GAAoC43E,eAAe,CAAC2iD,EAAD,CAAnD,GAA0D93H,EAA1D,GAA+Dm1E,eAAe,CAAC6iD,EAAD,CAA9E,GAAqF36H,EAArF,GACI83E,eAAe,CAAC+iD,EAAD,CADnB,GAC0BE,EAD1B,GAC+BjjD,eAAe,CAACkjD,EAAD,CAD9C,GACqDE,EADrD,GAC0DpjD,eAAe,CAACqjD,EAAD,CADzE,GACgFZ,MAFpE,GAGZze,SAHJ;AAIH;AACD;AACA;AACA;;;AACA,SAASsf,cAAT,CAAwBt3C,KAAxB,EAA+Bm1B,MAA/B,EAAuCqhB,EAAvC,EAA2Cp6H,EAA3C,EAA+Cu6H,EAA/C,EAAmD93H,EAAnD,EAAuDg4H,EAAvD,EAA2D36H,EAA3D,EAA+D66H,EAA/D,EAAmEE,EAAnE,EAAuEC,EAAvE,EAA2EE,EAA3E,EAA+EC,EAA/E,EAAmFE,EAAnF,EAAuFC,EAAvF,EAA2Ff,MAA3F,EAAmG;AAC/F,QAAMnvC,YAAY,GAAGD,eAAe,EAApC;AACA,MAAI2uC,SAAS,GAAGG,eAAe,CAACn2C,KAAD,EAAQsH,YAAR,EAAsBkvC,EAAtB,EAA0BG,EAA1B,EAA8BE,EAA9B,EAAkCE,EAAlC,CAA/B;AACAf,EAAAA,SAAS,GAAGC,eAAe,CAACj2C,KAAD,EAAQsH,YAAY,GAAG,CAAvB,EAA0B4vC,EAA1B,EAA8BG,EAA9B,EAAkCG,EAAlC,CAAf,IAAwDxB,SAApE;AACAvuC,EAAAA,qBAAqB,CAAC,CAAD,CAArB;AACA,SAAOuuC,SAAS,GAAG7gB,MAAM,GAAGnhC,eAAe,CAACwiD,EAAD,CAAxB,GAA+Bp6H,EAA/B,GAAoC43E,eAAe,CAAC2iD,EAAD,CAAnD,GAA0D93H,EAA1D,GACfm1E,eAAe,CAAC6iD,EAAD,CADA,GACO36H,EADP,GACY83E,eAAe,CAAC+iD,EAAD,CAD3B,GACkCE,EADlC,GACuCjjD,eAAe,CAACkjD,EAAD,CADtD,GAC6DE,EAD7D,GAEfpjD,eAAe,CAACqjD,EAAD,CAFA,GAEOE,EAFP,GAEYvjD,eAAe,CAACwjD,EAAD,CAF3B,GAEkCf,MAFrC,GAGZze,SAHJ;AAIH;AACD;AACA;AACA;;;AACA,SAASyf,cAAT,CAAwBz3C,KAAxB,EAA+Bm1B,MAA/B,EAAuCqhB,EAAvC,EAA2Cp6H,EAA3C,EAA+Cu6H,EAA/C,EAAmD93H,EAAnD,EAAuDg4H,EAAvD,EAA2D36H,EAA3D,EAA+D66H,EAA/D,EAAmEE,EAAnE,EAAuEC,EAAvE,EAA2EE,EAA3E,EAA+EC,EAA/E,EAAmFE,EAAnF,EAAuFC,EAAvF,EAA2FE,EAA3F,EAA+FC,EAA/F,EAAmGlB,MAAnG,EAA2G;AACvG,QAAMnvC,YAAY,GAAGD,eAAe,EAApC;AACA,MAAI2uC,SAAS,GAAGG,eAAe,CAACn2C,KAAD,EAAQsH,YAAR,EAAsBkvC,EAAtB,EAA0BG,EAA1B,EAA8BE,EAA9B,EAAkCE,EAAlC,CAA/B;AACAf,EAAAA,SAAS,GAAGG,eAAe,CAACn2C,KAAD,EAAQsH,YAAY,GAAG,CAAvB,EAA0B4vC,EAA1B,EAA8BG,EAA9B,EAAkCG,EAAlC,EAAsCG,EAAtC,CAAf,IAA4D3B,SAAxE;AACAvuC,EAAAA,qBAAqB,CAAC,CAAD,CAArB;AACA,SAAOuuC,SAAS,GAAG7gB,MAAM,GAAGnhC,eAAe,CAACwiD,EAAD,CAAxB,GAA+Bp6H,EAA/B,GAAoC43E,eAAe,CAAC2iD,EAAD,CAAnD,GAA0D93H,EAA1D,GACfm1E,eAAe,CAAC6iD,EAAD,CADA,GACO36H,EADP,GACY83E,eAAe,CAAC+iD,EAAD,CAD3B,GACkCE,EADlC,GACuCjjD,eAAe,CAACkjD,EAAD,CADtD,GAC6DE,EAD7D,GAEfpjD,eAAe,CAACqjD,EAAD,CAFA,GAEOE,EAFP,GAEYvjD,eAAe,CAACwjD,EAAD,CAF3B,GAEkCE,EAFlC,GAEuC1jD,eAAe,CAAC2jD,EAAD,CAFtD,GAE6DlB,MAFhE,GAGZze,SAHJ;AAIH;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,SAAS4f,uBAAT,CAAiCj7D,QAAjC,EAA2Cw4C,MAA3C,EAAmDqhB,EAAnD,EAAuDC,MAAvD,EAA+DzlB,SAA/D,EAA0EjN,SAA1E,EAAqF;AACjF,QAAM/jB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGtB,cAAc,CAACv2C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBC,MAApB,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM/+B,KAAK,GAAG8Q,gBAAgB,EAA9B;AACA69B,IAAAA,wBAAwB,CAAC3uC,KAAD,EAAQ+G,KAAR,EAAerjB,QAAf,EAAyBk7D,iBAAzB,EAA4C7mB,SAA5C,EAAuDjN,SAAvD,CAAxB;AACA95H,IAAAA,SAAS,IACLu/I,4BAA4B,CAACnjC,QAAQ,GAAGjhH,IAAZ,EAAkB6zG,KAAlB,EAAyB,UAAUtc,QAAnC,EAA6C0qB,eAAe,KAAK,CAAjE,EAAoE8tB,MAApE,EAA4EshB,MAA5E,CADhC;AAEH;;AACD,SAAOmB,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,uBAAT,CAAiCn7D,QAAjC,EAA2Cw4C,MAA3C,EAAmDqhB,EAAnD,EAAuDp6H,EAAvD,EAA2Du6H,EAA3D,EAA+DF,MAA/D,EAAuEzlB,SAAvE,EAAkFjN,SAAlF,EAA6F;AACzF,QAAM/jB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGnB,cAAc,CAAC12C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBp6H,EAApB,EAAwBu6H,EAAxB,EAA4BF,MAA5B,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM/+B,KAAK,GAAG8Q,gBAAgB,EAA9B;AACA69B,IAAAA,wBAAwB,CAAC3uC,KAAD,EAAQ+G,KAAR,EAAerjB,QAAf,EAAyBk7D,iBAAzB,EAA4C7mB,SAA5C,EAAuDjN,SAAvD,CAAxB;AACA95H,IAAAA,SAAS,IACLu/I,4BAA4B,CAACnjC,QAAQ,GAAGjhH,IAAZ,EAAkB6zG,KAAlB,EAAyB,UAAUtc,QAAnC,EAA6C0qB,eAAe,KAAK,CAAjE,EAAoE8tB,MAApE,EAA4E/4G,EAA5E,EAAgFq6H,MAAhF,CADhC;AAEH;;AACD,SAAOqB,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiCp7D,QAAjC,EAA2Cw4C,MAA3C,EAAmDqhB,EAAnD,EAAuDp6H,EAAvD,EAA2Du6H,EAA3D,EAA+D93H,EAA/D,EAAmEg4H,EAAnE,EAAuEJ,MAAvE,EAA+EzlB,SAA/E,EAA0FjN,SAA1F,EAAqG;AACjG,QAAM/jB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGjB,cAAc,CAAC52C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBp6H,EAApB,EAAwBu6H,EAAxB,EAA4B93H,EAA5B,EAAgCg4H,EAAhC,EAAoCJ,MAApC,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM/+B,KAAK,GAAG8Q,gBAAgB,EAA9B;AACA69B,IAAAA,wBAAwB,CAAC3uC,KAAD,EAAQ+G,KAAR,EAAerjB,QAAf,EAAyBk7D,iBAAzB,EAA4C7mB,SAA5C,EAAuDjN,SAAvD,CAAxB;AACA95H,IAAAA,SAAS,IACLu/I,4BAA4B,CAACnjC,QAAQ,GAAGjhH,IAAZ,EAAkB6zG,KAAlB,EAAyB,UAAUtc,QAAnC,EAA6C0qB,eAAe,KAAK,CAAjE,EAAoE8tB,MAApE,EAA4E/4G,EAA5E,EAAgFyC,EAAhF,EAAoF43H,MAApF,CADhC;AAEH;;AACD,SAAOsB,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiCr7D,QAAjC,EAA2Cw4C,MAA3C,EAAmDqhB,EAAnD,EAAuDp6H,EAAvD,EAA2Du6H,EAA3D,EAA+D93H,EAA/D,EAAmEg4H,EAAnE,EAAuE36H,EAAvE,EAA2E66H,EAA3E,EAA+EN,MAA/E,EAAuFzlB,SAAvF,EAAkGjN,SAAlG,EAA6G;AACzG,QAAM/jB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGf,cAAc,CAAC92C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBp6H,EAApB,EAAwBu6H,EAAxB,EAA4B93H,EAA5B,EAAgCg4H,EAAhC,EAAoC36H,EAApC,EAAwC66H,EAAxC,EAA4CN,MAA5C,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM/+B,KAAK,GAAG8Q,gBAAgB,EAA9B;AACA69B,IAAAA,wBAAwB,CAAC3uC,KAAD,EAAQ+G,KAAR,EAAerjB,QAAf,EAAyBk7D,iBAAzB,EAA4C7mB,SAA5C,EAAuDjN,SAAvD,CAAxB;AACA95H,IAAAA,SAAS,IACLu/I,4BAA4B,CAACnjC,QAAQ,GAAGjhH,IAAZ,EAAkB6zG,KAAlB,EAAyB,UAAUtc,QAAnC,EAA6C0qB,eAAe,KAAK,CAAjE,EAAoE8tB,MAApE,EAA4E/4G,EAA5E,EAAgFyC,EAAhF,EAAoF3C,EAApF,EAAwFu6H,MAAxF,CADhC;AAEH;;AACD,SAAOuB,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiCt7D,QAAjC,EAA2Cw4C,MAA3C,EAAmDqhB,EAAnD,EAAuDp6H,EAAvD,EAA2Du6H,EAA3D,EAA+D93H,EAA/D,EAAmEg4H,EAAnE,EAAuE36H,EAAvE,EAA2E66H,EAA3E,EAA+EE,EAA/E,EAAmFC,EAAnF,EAAuFT,MAAvF,EAA+FzlB,SAA/F,EAA0GjN,SAA1G,EAAqH;AACjH,QAAM/jB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGb,cAAc,CAACh3C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBp6H,EAApB,EAAwBu6H,EAAxB,EAA4B93H,EAA5B,EAAgCg4H,EAAhC,EAAoC36H,EAApC,EAAwC66H,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDT,MAApD,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM/+B,KAAK,GAAG8Q,gBAAgB,EAA9B;AACA69B,IAAAA,wBAAwB,CAAC3uC,KAAD,EAAQ+G,KAAR,EAAerjB,QAAf,EAAyBk7D,iBAAzB,EAA4C7mB,SAA5C,EAAuDjN,SAAvD,CAAxB;AACA95H,IAAAA,SAAS,IACLu/I,4BAA4B,CAACnjC,QAAQ,GAAGjhH,IAAZ,EAAkB6zG,KAAlB,EAAyB,UAAUtc,QAAnC,EAA6C0qB,eAAe,KAAK,CAAjE,EAAoE8tB,MAApE,EAA4E/4G,EAA5E,EAAgFyC,EAAhF,EAAoF3C,EAApF,EAAwF+6H,EAAxF,EAA4FR,MAA5F,CADhC;AAEH;;AACD,SAAOwB,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiCv7D,QAAjC,EAA2Cw4C,MAA3C,EAAmDqhB,EAAnD,EAAuDp6H,EAAvD,EAA2Du6H,EAA3D,EAA+D93H,EAA/D,EAAmEg4H,EAAnE,EAAuE36H,EAAvE,EAA2E66H,EAA3E,EAA+EE,EAA/E,EAAmFC,EAAnF,EAAuFE,EAAvF,EAA2FC,EAA3F,EAA+FZ,MAA/F,EAAuGzlB,SAAvG,EAAkHjN,SAAlH,EAA6H;AACzH,QAAM/jB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGV,cAAc,CAACn3C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBp6H,EAApB,EAAwBu6H,EAAxB,EAA4B93H,EAA5B,EAAgCg4H,EAAhC,EAAoC36H,EAApC,EAAwC66H,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DZ,MAA5D,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM/+B,KAAK,GAAG8Q,gBAAgB,EAA9B;AACA69B,IAAAA,wBAAwB,CAAC3uC,KAAD,EAAQ+G,KAAR,EAAerjB,QAAf,EAAyBk7D,iBAAzB,EAA4C7mB,SAA5C,EAAuDjN,SAAvD,CAAxB;AACA95H,IAAAA,SAAS,IACLu/I,4BAA4B,CAACnjC,QAAQ,GAAGjhH,IAAZ,EAAkB6zG,KAAlB,EAAyB,UAAUtc,QAAnC,EAA6C0qB,eAAe,KAAK,CAAjE,EAAoE8tB,MAApE,EAA4E/4G,EAA5E,EAAgFyC,EAAhF,EAAoF3C,EAApF,EAAwF+6H,EAAxF,EAA4FG,EAA5F,EAAgGX,MAAhG,CADhC;AAEH;;AACD,SAAOyB,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiCx7D,QAAjC,EAA2Cw4C,MAA3C,EAAmDqhB,EAAnD,EAAuDp6H,EAAvD,EAA2Du6H,EAA3D,EAA+D93H,EAA/D,EAAmEg4H,EAAnE,EAAuE36H,EAAvE,EAA2E66H,EAA3E,EAA+EE,EAA/E,EAAmFC,EAAnF,EAAuFE,EAAvF,EAA2FC,EAA3F,EAA+FE,EAA/F,EAAmGC,EAAnG,EAAuGf,MAAvG,EAA+GzlB,SAA/G,EAA0HjN,SAA1H,EAAqI;AACjI,QAAM/jB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGP,cAAc,CAACt3C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBp6H,EAApB,EAAwBu6H,EAAxB,EAA4B93H,EAA5B,EAAgCg4H,EAAhC,EAAoC36H,EAApC,EAAwC66H,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEf,MAApE,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM/+B,KAAK,GAAG8Q,gBAAgB,EAA9B;AACA69B,IAAAA,wBAAwB,CAAC3uC,KAAD,EAAQ+G,KAAR,EAAerjB,QAAf,EAAyBk7D,iBAAzB,EAA4C7mB,SAA5C,EAAuDjN,SAAvD,CAAxB;AACA95H,IAAAA,SAAS,IACLu/I,4BAA4B,CAACnjC,QAAQ,GAAGjhH,IAAZ,EAAkB6zG,KAAlB,EAAyB,UAAUtc,QAAnC,EAA6C0qB,eAAe,KAAK,CAAjE,EAAoE8tB,MAApE,EAA4E/4G,EAA5E,EAAgFyC,EAAhF,EAAoF3C,EAApF,EAAwF+6H,EAAxF,EAA4FG,EAA5F,EAAgGG,EAAhG,EAAoGd,MAApG,CADhC;AAEH;;AACD,SAAO0B,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiCz7D,QAAjC,EAA2Cw4C,MAA3C,EAAmDqhB,EAAnD,EAAuDp6H,EAAvD,EAA2Du6H,EAA3D,EAA+D93H,EAA/D,EAAmEg4H,EAAnE,EAAuE36H,EAAvE,EAA2E66H,EAA3E,EAA+EE,EAA/E,EAAmFC,EAAnF,EAAuFE,EAAvF,EAA2FC,EAA3F,EAA+FE,EAA/F,EAAmGC,EAAnG,EAAuGE,EAAvG,EAA2GC,EAA3G,EAA+GlB,MAA/G,EAAuHzlB,SAAvH,EAAkIjN,SAAlI,EAA6I;AACzI,QAAM/jB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGJ,cAAc,CAACz3C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBp6H,EAApB,EAAwBu6H,EAAxB,EAA4B93H,EAA5B,EAAgCg4H,EAAhC,EAAoC36H,EAApC,EAAwC66H,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4ElB,MAA5E,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM/+B,KAAK,GAAG8Q,gBAAgB,EAA9B;AACA69B,IAAAA,wBAAwB,CAAC3uC,KAAD,EAAQ+G,KAAR,EAAerjB,QAAf,EAAyBk7D,iBAAzB,EAA4C7mB,SAA5C,EAAuDjN,SAAvD,CAAxB;AACA95H,IAAAA,SAAS,IACLu/I,4BAA4B,CAACnjC,QAAQ,GAAGjhH,IAAZ,EAAkB6zG,KAAlB,EAAyB,UAAUtc,QAAnC,EAA6C0qB,eAAe,KAAK,CAAjE,EAAoE8tB,MAApE,EAA4E/4G,EAA5E,EAAgFyC,EAAhF,EAAoF3C,EAApF,EAAwF+6H,EAAxF,EAA4FG,EAA5F,EAAgGG,EAAhG,EAAoGG,EAApG,EAAwGjB,MAAxG,CADhC;AAEH;;AACD,SAAO2B,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiC17D,QAAjC,EAA2CnpF,MAA3C,EAAmDw9H,SAAnD,EAA8DjN,SAA9D,EAAyE;AACrE,QAAM/jB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMkyC,YAAY,GAAGjC,cAAc,CAACr2C,KAAD,EAAQxsG,MAAR,CAAnC;;AACA,MAAI8kJ,YAAY,KAAKtgB,SAArB,EAAgC;AAC5B,UAAM/+B,KAAK,GAAG8Q,gBAAgB,EAA9B;AACA69B,IAAAA,wBAAwB,CAAC3uC,KAAD,EAAQ+G,KAAR,EAAerjB,QAAf,EAAyB27D,YAAzB,EAAuCtnB,SAAvC,EAAkDjN,SAAlD,CAAxB;;AACA,QAAI95H,SAAJ,EAAe;AACX,YAAMsuJ,sBAAsB,GAAG,CAAC/kJ,MAAM,CAAC,CAAD,CAAP,CAA/B,CADW,CACiC;;AAC5C,WAAK,IAAIxL,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwL,MAAM,CAACxS,MAA3B,EAAmCgH,CAAC,IAAI,CAAxC,EAA2C;AACvCuwJ,QAAAA,sBAAsB,CAAC14J,IAAvB,CAA4B2T,MAAM,CAACxL,CAAD,CAAlC;AACH;;AACDwhJ,MAAAA,4BAA4B,CAACnjC,QAAQ,GAAGjhH,IAAZ,EAAkB6zG,KAAlB,EAAyB,UAAUtc,QAAnC,EAA6C0qB,eAAe,KAAKkxC,sBAAsB,CAACv3J,MAA3C,GAAoD,CAAjG,EAAoG,GAAGu3J,sBAAvG,CAA5B;AACH;AACJ;;AACD,SAAOF,uBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,uBAAT,CAAiCv0I,KAAjC,EAAwCi1F,KAAxC,EAA+C8G,KAA/C,EAAsD4hC,UAAtD,EAAkE5rE,KAAlE,EAAyEC,IAAzE,EAA+E20D,OAA/E,EAAwF6tB,UAAxF,EAAoGC,cAApG,EAAoH;AAChHzuJ,EAAAA,SAAS,IAAI+2G,qBAAqB,CAAC9H,KAAD,CAAlC;AACAjvG,EAAAA,SAAS,IAAIA,SAAS,CAAC+uG,eAAV,EAAb;AACA,QAAM2/C,WAAW,GAAGz/C,KAAK,CAAChjC,MAA1B,CAHgH,CAIhH;;AACA,QAAM+iC,KAAK,GAAGkoC,gBAAgB,CAACjoC,KAAD,EAAQj1F,KAAR,EAAe;AAAE;AAAjB,IAAkC2mH,OAAO,IAAI,IAA7C,EAAmD3lB,WAAW,CAAC0zC,WAAD,EAAcF,UAAd,CAA9D,CAA9B;AACAvS,EAAAA,iBAAiB,CAAChtC,KAAD,EAAQ8G,KAAR,EAAe/G,KAAf,EAAsBgM,WAAW,CAAC0zC,WAAD,EAAcD,cAAd,CAAjC,CAAjB;AACA/tC,EAAAA,sBAAsB,CAACzR,KAAD,EAAQD,KAAR,CAAtB;AACA,QAAMmvC,aAAa,GAAGnvC,KAAK,CAACkiC,MAAN,GAAe+H,WAAW,CAAC;AAAE;AAAH,IAAmBjqC,KAAnB,EAA0B2oC,UAA1B,EAAsC5rE,KAAtC,EAA6CC,IAA7C,EAAmDijC,KAAK,CAACmhC,iBAAzD,EAA4EnhC,KAAK,CAACohC,YAAlF,EAAgG,IAAhG,EAAsGphC,KAAK,CAAC6C,OAA5G,EAAqH48C,WAArH,CAAhD;;AACA,MAAIz/C,KAAK,CAAC+gC,OAAN,KAAkB,IAAtB,EAA4B;AACxB/gC,IAAAA,KAAK,CAAC+gC,OAAN,CAAczxE,QAAd,CAAuB0wC,KAAvB,EAA8BD,KAA9B;AACAmvC,IAAAA,aAAa,CAACnO,OAAd,GAAwB/gC,KAAK,CAAC+gC,OAAN,CAAcmO,aAAd,CAA4BnvC,KAA5B,CAAxB;AACH;;AACD,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2/C,UAAT,CAAoB30I,KAApB,EAA2B29H,UAA3B,EAAuC5rE,KAAvC,EAA8CC,IAA9C,EAAoD20D,OAApD,EAA6D6tB,UAA7D,EAAyEC,cAAzE,EAAyF1V,iBAAzF,EAA4G;AACxG,QAAMhjC,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMlN,KAAK,GAAGmN,QAAQ,EAAtB;AACA,QAAMwyC,aAAa,GAAG50I,KAAK,GAAG66F,aAA9B;AACA,QAAM7F,KAAK,GAAGC,KAAK,CAACF,eAAN,GAAwBw/C,uBAAuB,CAACK,aAAD,EAAgB3/C,KAAhB,EAAuB8G,KAAvB,EAA8B4hC,UAA9B,EAA0C5rE,KAA1C,EAAiDC,IAAjD,EAAuD20D,OAAvD,EAAgE6tB,UAAhE,EAA4EC,cAA5E,CAA/C,GACVx/C,KAAK,CAAC9zG,IAAN,CAAWyzJ,aAAX,CADJ;AAEAhyC,EAAAA,eAAe,CAAC5N,KAAD,EAAQ,KAAR,CAAf;AACA,QAAM6/C,OAAO,GAAG94C,KAAK,CAAC3B,QAAD,CAAL,CAAgB/0C,aAAhB,CAA8Br/D,SAAS,GAAG,WAAH,GAAiB,EAAxD,CAAhB;AACA8uB,EAAAA,WAAW,CAACmgF,KAAD,EAAQ8G,KAAR,EAAe84C,OAAf,EAAwB7/C,KAAxB,CAAX;AACAsnB,EAAAA,eAAe,CAACu4B,OAAD,EAAU94C,KAAV,CAAf;AACA2nC,EAAAA,aAAa,CAAC3nC,KAAD,EAAQA,KAAK,CAAC64C,aAAD,CAAL,GAAuB5Q,gBAAgB,CAAC6Q,OAAD,EAAU94C,KAAV,EAAiB84C,OAAjB,EAA0B7/C,KAA1B,CAA/C,CAAb;;AACA,MAAI2G,eAAe,CAAC3G,KAAD,CAAnB,EAA4B;AACxB0pC,IAAAA,yBAAyB,CAACzpC,KAAD,EAAQ8G,KAAR,EAAe/G,KAAf,CAAzB;AACH;;AACD,MAAIy/C,cAAc,IAAI,IAAtB,EAA4B;AACxB5V,IAAAA,wBAAwB,CAAC9iC,KAAD,EAAQ/G,KAAR,EAAe+pC,iBAAf,CAAxB;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAAS7/B,KAAT,CAAejK,KAAf,EAAsB8G,KAAtB,EAA6B/7F,KAA7B,EAAoCxe,KAApC,EAA2C;AACvC;AACA;AACA,MAAIwe,KAAK,IAAIi1F,KAAK,CAAC9zG,IAAN,CAAWpE,MAAxB,EAAgC;AAC5Bk4G,IAAAA,KAAK,CAAC9zG,IAAN,CAAW6e,KAAX,IAAoB,IAApB;AACAi1F,IAAAA,KAAK,CAAC0W,SAAN,CAAgB3rG,KAAhB,IAAyB,IAAzB;AACH;;AACD+7F,EAAAA,KAAK,CAAC/7F,KAAD,CAAL,GAAexe,KAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASszJ,WAAT,CAAqB90I,KAArB,EAA4B;AACxB,QAAMuiG,YAAY,GAAGS,eAAe,EAApC;AACA,SAAOvC,IAAI,CAAC8B,YAAD,EAAe1H,aAAa,GAAG76F,KAA/B,CAAX;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+0I,gBAAgB,GAAG;AACrB,wBAAsBlvJ,kBADD;AAErB,sBAAoB6uC,gBAFC;AAGrB,cAAY/V,QAHS;AAIrB,yBAAuBy5F,mBAJF;AAKrB,uBAAqB5oB;AALA,CAAzB;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,SAASwlD,iBAAT,CAA2Bh8J,IAA3B,EAAiC83H,IAAjC,EAAuC;AACnC,MAAI5d,eAAe,GAAG,IAAtB;AACA,MAAI+hD,YAAY,GAAG,IAAnB,CAFmC,CAGnC;;AACA,MAAI,CAACj8J,IAAI,CAACqO,cAAL,CAAoBqrG,WAApB,CAAL,EAAuC;AACnC7yG,IAAAA,MAAM,CAACuiE,cAAP,CAAsBppE,IAAtB,EAA4B05G,WAA5B,EAAyC;AACrChxG,MAAAA,GAAG,EAAE,MAAM;AACP,YAAIwxG,eAAe,KAAK,IAAxB,EAA8B;AAC1B,gBAAMgiD,QAAQ,GAAGljC,iBAAiB,CAAC;AAAEI,YAAAA,KAAK,EAAE;AAAE;AAAX;AAA4BD,YAAAA,IAAI,EAAE,YAAlC;AAAgDn5H,YAAAA;AAAhD,WAAD,CAAlC;AACAk6G,UAAAA,eAAe,GAAGgiD,QAAQ,CAACF,iBAAT,CAA2BD,gBAA3B,EAA8C,SAAQ/7J,IAAI,CAACF,IAAK,WAAhE,EAA4Eq8J,qBAAqB,CAACn8J,IAAD,EAAO83H,IAAP,CAAjG,CAAlB;AACH;;AACD,eAAO5d,eAAP;AACH;AAPoC,KAAzC;AASH,GAdkC,CAenC;;;AACA,MAAI,CAACl6G,IAAI,CAACqO,cAAL,CAAoB2vG,cAApB,CAAL,EAA0C;AACtCn3G,IAAAA,MAAM,CAACuiE,cAAP,CAAsBppE,IAAtB,EAA4Bg+G,cAA5B,EAA4C;AACxCt1G,MAAAA,GAAG,EAAE,MAAM;AACP,YAAIuzJ,YAAY,KAAK,IAArB,EAA2B;AACvB,gBAAMC,QAAQ,GAAGljC,iBAAiB,CAAC;AAAEI,YAAAA,KAAK,EAAE;AAAE;AAAX;AAA4BD,YAAAA,IAAI,EAAE,YAAlC;AAAgDn5H,YAAAA;AAAhD,WAAD,CAAlC;AACAi8J,UAAAA,YAAY,GAAGC,QAAQ,CAACE,cAAT,CAAwBL,gBAAxB,EAA2C,SAAQ/7J,IAAI,CAACF,IAAK,UAA7D,EAAwE;AACnFA,YAAAA,IAAI,EAAEE,IAAI,CAACF,IADwE;AAEnFE,YAAAA,IAFmF;AAGnFq8J,YAAAA,iBAAiB,EAAE,CAHgE;AAInFh2F,YAAAA,IAAI,EAAE65D,mBAAmB,CAAClgI,IAAD,CAJ0D;AAKnF+e,YAAAA,MAAM,EAAEm9I,QAAQ,CAACpjC,aAAT,CAAuBxzH;AALoD,WAAxE,CAAf;AAOH;;AACD,eAAO22J,YAAP;AACH,OAbuC;AAcxC;AACAK,MAAAA,YAAY,EAAE;AAf0B,KAA5C;AAiBH;AACJ;;AACD,MAAMC,IAAI,GAAGzmD,sBAAb;AACA,MAAM0mD,WAAW,gBAAG1mD,sBAAsB,CAAC;AAAEz4D,EAAAA,OAAO,EAAEjU,MAAX;AAAmBorE,EAAAA,QAAQ,EAAE+nD;AAA7B,CAAD,CAA1C;;AACA,SAASE,kBAAT,CAA4B3kC,IAA5B,EAAkC;AAC9B,SAAOA,IAAI,CAAC57C,QAAL,KAAkBh0E,SAAzB;AACH;;AACD,SAASw0J,kBAAT,CAA4B5kC,IAA5B,EAAkC;AAC9B,SAAO0kC,WAAW,IAAI1kC,IAAtB;AACH;;AACD,SAAS6kC,oBAAT,CAA8B7kC,IAA9B,EAAoC;AAChC,SAAOA,IAAI,CAACxxD,UAAL,KAAoBp+D,SAA3B;AACH;;AACD,SAAS00J,qBAAT,CAA+B9kC,IAA/B,EAAqC;AACjC,SAAOA,IAAI,CAACx6E,WAAL,KAAqBp1C,SAA5B;AACH;;AACD,SAASi0J,qBAAT,CAA+Bn8J,IAA/B,EAAqC68J,OAArC,EAA8C;AAC1C;AACA,QAAM/kC,IAAI,GAAG+kC,OAAO,IAAI;AAAEj3H,IAAAA,UAAU,EAAE;AAAd,GAAxB;AACA,QAAMk3H,YAAY,GAAG;AACjBh9J,IAAAA,IAAI,EAAEE,IAAI,CAACF,IADM;AAEjBE,IAAAA,IAAI,EAAEA,IAFW;AAGjBq8J,IAAAA,iBAAiB,EAAE,CAHF;AAIjBz2H,IAAAA,UAAU,EAAEkyF,IAAI,CAAClyF;AAJA,GAArB;;AAMA,MAAI,CAAC62H,kBAAkB,CAAC3kC,IAAD,CAAlB,IAA4B6kC,oBAAoB,CAAC7kC,IAAD,CAAjD,KAA4DA,IAAI,CAACzxD,IAAL,KAAcn+D,SAA9E,EAAyF;AACrF40J,IAAAA,YAAY,CAACz2F,IAAb,GAAoB85D,mBAAmB,CAACrI,IAAI,CAACzxD,IAAN,CAAvC;AACH,GAXyC,CAY1C;;;AACA,MAAIo2F,kBAAkB,CAAC3kC,IAAD,CAAtB,EAA8B;AAC1BglC,IAAAA,YAAY,CAAC5gF,QAAb,GAAwB47C,IAAI,CAAC57C,QAA7B;AACH,GAFD,MAGK,IAAIwgF,kBAAkB,CAAC5kC,IAAD,CAAtB,EAA8B;AAC/BglC,IAAAA,YAAY,CAACtoD,QAAb,GAAwBsjB,IAAI,CAACtjB,QAA7B;AACH,GAFI,MAGA,IAAImoD,oBAAoB,CAAC7kC,IAAD,CAAxB,EAAgC;AACjCglC,IAAAA,YAAY,CAACx2F,UAAb,GAA0BwxD,IAAI,CAACxxD,UAA/B;AACH,GAFI,MAGA,IAAIs2F,qBAAqB,CAAC9kC,IAAD,CAAzB,EAAiC;AAClCglC,IAAAA,YAAY,CAACx/G,WAAb,GAA2Bw6E,IAAI,CAACx6E,WAAhC;AACH;;AACD,SAAOw/G,YAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,IAAI,GAAGjnD,sBAAb;AACA,MAAMknD,WAAW,gBAAGlnD,sBAAsB,CAAC;AAAEz4D,EAAAA,OAAO,EAAEjU,MAAX;AAAmBorE,EAAAA,QAAQ,EAAEuoD;AAA7B,CAAD,CAA1C;;AACA,SAASE,kCAAT,CAA4Cj9J,IAA5C,EAAkDs3G,QAAlD,EAA4D;AACxD,MAAI,CAACA,QAAL,EAAe;AACX,UAAM4lD,sBAAsB,GAAG,IAAIxhC,sBAAJ,EAA/B;AACA,UAAMr1D,IAAI,GAAG62F,sBAAsB,CAACzlC,UAAvB,CAAkCz3H,IAAlC,CAAb,CAFW,CAGX;;AACA,WAAO,MAAM,IAAIA,IAAJ,CAAS,GAAGq/H,UAAU,CAACh5D,IAAD,CAAtB,CAAb;AACH;;AACD,MAAI22F,WAAW,IAAI1lD,QAAnB,EAA6B;AACzB,UAAM6lD,aAAa,GAAG7lD,QAAtB;AACA,WAAO,MAAM6lD,aAAa,CAAC3oD,QAA3B;AACH,GAHD,MAIK,IAAI8C,QAAQ,CAACh6D,WAAb,EAA0B;AAC3B,UAAM8/G,gBAAgB,GAAG9lD,QAAzB;AACA,WAAO,MAAM3xE,QAAQ,CAAC6wE,iBAAiB,CAAC4mD,gBAAgB,CAAC9/G,WAAlB,CAAlB,CAArB;AACH,GAHI,MAIA,IAAIg6D,QAAQ,CAAChxC,UAAb,EAAyB;AAC1B,UAAM+2F,eAAe,GAAG/lD,QAAxB;AACA,WAAO,MAAM+lD,eAAe,CAAC/2F,UAAhB,CAA2B,GAAG+4D,UAAU,CAACg+B,eAAe,CAACh3F,IAAhB,IAAwBm3C,WAAzB,CAAxC,CAAb;AACH,GAHI,MAIA,IAAIlG,QAAQ,CAACp7B,QAAb,EAAuB;AACxB,UAAMohF,aAAa,GAAGhmD,QAAtB;AACA,QAAIjxC,IAAI,GAAGixC,QAAQ,CAACjxC,IAApB;;AACA,QAAI,CAACA,IAAL,EAAW;AACP,YAAM62F,sBAAsB,GAAG,IAAIxhC,sBAAJ,EAA/B;AACAr1D,MAAAA,IAAI,GAAG62F,sBAAsB,CAACzlC,UAAvB,CAAkCz3H,IAAlC,CAAP;AACH;;AACD,WAAO,MAAM,KAAKw2G,iBAAiB,CAAC8mD,aAAa,CAACphF,QAAf,CAAtB,EAAgD,GAAGmjD,UAAU,CAACh5D,IAAD,CAA7D,CAAb;AACH,GARI,MASA;AACD,QAAIA,IAAI,GAAGixC,QAAQ,CAACjxC,IAApB;;AACA,QAAI,CAACA,IAAL,EAAW;AACP,YAAM62F,sBAAsB,GAAG,IAAIxhC,sBAAJ,EAA/B;AACAr1D,MAAAA,IAAI,GAAG62F,sBAAsB,CAACzlC,UAAvB,CAAkCz3H,IAAlC,CAAP;AACH;;AACD,WAAO,MAAM,IAAIA,IAAJ,CAAS,GAAGq/H,UAAU,CAACh5D,IAAD,CAAtB,CAAb;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMk3F,IAAI,GAAG,CAACv9J,IAAD,EAAO83H,IAAP,KAAgB0lC,yBAAyB,CAACx9J,IAAD,EAAO83H,IAAP,CAAtD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMxyH,UAAU,gBAAG+wH,aAAa,CAAC,YAAD,EAAenuH,SAAf,EAA0BA,SAA1B,EAAqCA,SAArC,EAAgDq1J,IAAhD,CAAhC;AACA;AACA;AACA;;AACA,SAASE,wBAAT,CAAkCC,cAAlC,EAAkDz9J,OAAlD,EAA2D;AACvD,MAAIA,OAAO,IAAIA,OAAO,CAAC2lC,UAAR,KAAuB19B,SAAlC,IAA+C,CAACsxG,gBAAgB,CAACkkD,cAAD,CAApE,EAAsF;AAClFA,IAAAA,cAAc,CAAC9wJ,KAAf,GAAuBC,kBAAkB,CAAC;AACtCC,MAAAA,KAAK,EAAE4wJ,cAD+B;AAEtC93H,MAAAA,UAAU,EAAE3lC,OAAO,CAAC2lC,UAFkB;AAGtC74B,MAAAA,OAAO,EAAEkwJ,kCAAkC,CAACS,cAAD,EAAiBz9J,OAAjB;AAHL,KAAD,CAAzC;AAKH;AACJ;;AACD,MAAM09J,oCAAoC,GAAG3B,iBAA7C;AACA,MAAM4B,mCAAmC,GAAGH,wBAA5C;AACA,MAAMD,yBAAyB,GAAGG,oCAAlC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASE,oBAAT,CAA8B/2J,IAA9B,EAAoC;AAChC,QAAM2iF,GAAG,GAAG,EAAZ;;AACA,OAAK,IAAI1+E,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGjE,IAAI,CAAC/C,MAAzB,EAAiC,EAAEgH,CAAnC,EAAsC;AAClC,QAAI0+E,GAAG,CAAC1gF,OAAJ,CAAYjC,IAAI,CAACiE,CAAD,CAAhB,IAAuB,CAAC,CAA5B,EAA+B;AAC3B0+E,MAAAA,GAAG,CAAC7mF,IAAJ,CAASkE,IAAI,CAACiE,CAAD,CAAb;AACA,aAAO0+E,GAAP;AACH;;AACDA,IAAAA,GAAG,CAAC7mF,IAAJ,CAASkE,IAAI,CAACiE,CAAD,CAAb;AACH;;AACD,SAAO0+E,GAAP;AACH;;AACD,SAASq0E,sBAAT,CAAgCh3J,IAAhC,EAAsC;AAClC,MAAIA,IAAI,CAAC/C,MAAL,GAAc,CAAlB,EAAqB;AACjB,UAAMg6J,QAAQ,GAAGF,oBAAoB,CAAC/2J,IAAI,CAACwY,KAAL,GAAa0zE,OAAb,EAAD,CAArC;AACA,UAAMgrE,SAAS,GAAGD,QAAQ,CAAC11J,GAAT,CAAa4vF,CAAC,IAAIqE,SAAS,CAACrE,CAAC,CAACnrF,KAAH,CAA3B,CAAlB;AACA,WAAO,OAAOkxJ,SAAS,CAAC12J,IAAV,CAAe,MAAf,CAAP,GAAgC,GAAvC;AACH;;AACD,SAAO,EAAP;AACH;;AACD,SAAS22J,cAAT,CAAwB5yF,QAAxB,EAAkC/iE,GAAlC,EAAuC41J,yBAAvC,EAAkEjoB,aAAlE,EAAiF;AAC7E,QAAMnvI,IAAI,GAAG,CAACwB,GAAD,CAAb;AACA,QAAM61J,MAAM,GAAGD,yBAAyB,CAACp3J,IAAD,CAAxC;AACA,QAAM4pB,KAAK,GAAIulH,aAAa,GAAGD,YAAY,CAACmoB,MAAD,EAASloB,aAAT,CAAf,GAAyC5uI,KAAK,CAAC82J,MAAD,CAA1E;AACAztI,EAAAA,KAAK,CAAC0tI,MAAN,GAAeA,MAAf;AACA1tI,EAAAA,KAAK,CAAC5pB,IAAN,GAAaA,IAAb;AACA4pB,EAAAA,KAAK,CAAC2tI,SAAN,GAAkB,CAAChzF,QAAD,CAAlB;AACA36C,EAAAA,KAAK,CAACwtI,yBAAN,GAAkCA,yBAAlC;AACAxtI,EAAAA,KAAK,CAAColH,oBAAD,CAAL,GAA8BG,aAA9B;AACA,SAAOvlH,KAAP;AACH;;AACD,SAAS0tI,MAAT,CAAgB/yF,QAAhB,EAA0B/iE,GAA1B,EAA+B;AAC3B,OAAK+1J,SAAL,CAAez7J,IAAf,CAAoByoE,QAApB;AACA,OAAKvkE,IAAL,CAAUlE,IAAV,CAAe0F,GAAf,EAF2B,CAG3B;;AACA,OAAKq7B,OAAL,GAAe,KAAKu6H,yBAAL,CAA+B,KAAKp3J,IAApC,CAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw3J,eAAT,CAAyBjzF,QAAzB,EAAmC/iE,GAAnC,EAAwC;AACpC,SAAO21J,cAAc,CAAC5yF,QAAD,EAAW/iE,GAAX,EAAgB,UAAUxB,IAAV,EAAgB;AACjD,UAAM4xE,KAAK,GAAG4jB,SAAS,CAACx1F,IAAI,CAAC,CAAD,CAAJ,CAAQgG,KAAT,CAAvB;AACA,WAAQ,mBAAkB4rE,KAAM,IAAGolF,sBAAsB,CAACh3J,IAAD,CAAO,EAAhE;AACH,GAHoB,CAArB;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy3J,qBAAT,CAA+BlzF,QAA/B,EAAyC/iE,GAAzC,EAA8C;AAC1C,SAAO21J,cAAc,CAAC5yF,QAAD,EAAW/iE,GAAX,EAAgB,UAAUxB,IAAV,EAAgB;AACjD,WAAQ,wCAAuCg3J,sBAAsB,CAACh3J,IAAD,CAAO,EAA5E;AACH,GAFoB,CAArB;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS03J,kBAAT,CAA4BnzF,QAA5B,EAAsCozF,iBAAtC,EAAyDC,aAAzD,EAAwEp2J,GAAxE,EAA6E;AACzE,SAAO21J,cAAc,CAAC5yF,QAAD,EAAW/iE,GAAX,EAAgB,UAAUxB,IAAV,EAAgB;AACjD,UAAM4xE,KAAK,GAAG4jB,SAAS,CAACx1F,IAAI,CAAC,CAAD,CAAJ,CAAQgG,KAAT,CAAvB;AACA,WAAQ,GAAE2xJ,iBAAiB,CAAC96H,OAAQ,mCAAkC+0C,KAAM,IAAGolF,sBAAsB,CAACh3J,IAAD,CAAO,GAA5G;AACH,GAHoB,EAGlB23J,iBAHkB,CAArB;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,oBAAT,CAA8BrnD,QAA9B,EAAwC;AACpC,SAAOjwG,KAAK,CAAE,4EAA2EiwG,QAAS,EAAtF,CAAZ;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsnD,iBAAT,CAA2BjiC,UAA3B,EAAuCrsH,MAAvC,EAA+C;AAC3C,QAAMuuJ,SAAS,GAAG,EAAlB;;AACA,OAAK,IAAI9zJ,CAAC,GAAG,CAAR,EAAW+zJ,EAAE,GAAGxuJ,MAAM,CAACvM,MAA5B,EAAoCgH,CAAC,GAAG+zJ,EAAxC,EAA4C/zJ,CAAC,EAA7C,EAAiD;AAC7C,UAAMg0J,SAAS,GAAGzuJ,MAAM,CAACvF,CAAD,CAAxB;;AACA,QAAI,CAACg0J,SAAD,IAAcA,SAAS,CAACh7J,MAAV,IAAoB,CAAtC,EAAyC;AACrC86J,MAAAA,SAAS,CAACj8J,IAAV,CAAe,GAAf;AACH,KAFD,MAGK;AACDi8J,MAAAA,SAAS,CAACj8J,IAAV,CAAem8J,SAAS,CAAC12J,GAAV,CAAci0F,SAAd,EAAyBh1F,IAAzB,CAA8B,GAA9B,CAAf;AACH;AACJ;;AACD,SAAOD,KAAK,CAAC,yCAAyCi1F,SAAS,CAACqgC,UAAD,CAAlD,GAAiE,KAAjE,GACTkiC,SAAS,CAACv3J,IAAV,CAAe,IAAf,CADS,GACc,KADd,GAET,wGAFS,GAGTg1F,SAAS,CAACqgC,UAAD,CAHA,GAGe,kCAHhB,CAAZ;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqiC,gBAAT,CAA0Bh4I,KAA1B,EAAiC;AAC7B,SAAO3f,KAAK,CAAE,SAAQ2f,KAAM,oBAAhB,CAAZ;AACH,EACD;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASi4I,6CAAT,CAAuDC,SAAvD,EAAkEC,SAAlE,EAA6E;AACzE,SAAO93J,KAAK,CAAE,0DAAyD63J,SAAU,IAAGC,SAAU,EAAlF,CAAZ;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,MAAMC,aAAN,CAAoB;AAChB;AACJ;AACA;AACIx9J,EAAAA,WAAW,CAACkL,KAAD,EAAQ9D,EAAR,EAAY;AACnB,SAAK8D,KAAL,GAAaA,KAAb;AACA,SAAK9D,EAAL,GAAUA,EAAV;;AACA,QAAI,CAAC8D,KAAL,EAAY;AACR,YAAM,IAAIzF,KAAJ,CAAU,wBAAV,CAAN;AACH;;AACD,SAAKg4J,WAAL,GAAmB/iE,SAAS,CAAC,KAAKxvF,KAAN,CAA5B;AACH;AACD;AACJ;AACA;;;AACc,SAAHpE,GAAG,CAACoE,KAAD,EAAQ;AACd,WAAOwyJ,kBAAkB,CAAC52J,GAAnB,CAAuB8tG,iBAAiB,CAAC1pG,KAAD,CAAxC,CAAP;AACH;AACD;AACJ;AACA;;;AAC2B,aAAZyyJ,YAAY,GAAG;AACtB,WAAOD,kBAAkB,CAACC,YAA1B;AACH;;AAvBe;;AAyBpB,MAAMC,WAAN,CAAkB;AACd59J,EAAAA,WAAW,GAAG;AACV,SAAK69J,QAAL,GAAgB,IAAIh3J,GAAJ,EAAhB;AACH;;AACDC,EAAAA,GAAG,CAACoE,KAAD,EAAQ;AACP,QAAIA,KAAK,YAAYsyJ,aAArB,EACI,OAAOtyJ,KAAP;;AACJ,QAAI,KAAK2yJ,QAAL,CAAcprJ,GAAd,CAAkBvH,KAAlB,CAAJ,EAA8B;AAC1B,aAAO,KAAK2yJ,QAAL,CAAc/2J,GAAd,CAAkBoE,KAAlB,CAAP;AACH;;AACD,UAAM4yJ,MAAM,GAAG,IAAIN,aAAJ,CAAkBtyJ,KAAlB,EAAyBsyJ,aAAa,CAACG,YAAvC,CAAf;;AACA,SAAKE,QAAL,CAAc92J,GAAd,CAAkBmE,KAAlB,EAAyB4yJ,MAAzB;;AACA,WAAOA,MAAP;AACH;;AACe,MAAZH,YAAY,GAAG;AACf,WAAO,KAAKE,QAAL,CAAcppJ,IAArB;AACH;;AAhBa;;AAkBlB,MAAMipJ,kBAAkB,gBAAG,IAAIE,WAAJ,EAA3B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMG,SAAN,CAAgB;AACZ/9J,EAAAA,WAAW,CAACs7J,sBAAD,EAAyB;AAChC,SAAKA,sBAAL,GAA8BA,sBAA9B;AACH;;AACD0C,EAAAA,kBAAkB,CAACC,IAAD,EAAO;AACrB,SAAK3C,sBAAL,GAA8B2C,IAA9B;AACH;;AACD9yJ,EAAAA,OAAO,CAAC/M,IAAD,EAAO;AACV,WAAO,KAAKk9J,sBAAL,CAA4BnwJ,OAA5B,CAAoC/M,IAApC,CAAP;AACH;;AACDy3H,EAAAA,UAAU,CAACkF,UAAD,EAAa;AACnB,WAAO,KAAKugC,sBAAL,CAA4BzlC,UAA5B,CAAuCkF,UAAvC,CAAP;AACH;;AACD5F,EAAAA,WAAW,CAAC4F,UAAD,EAAa;AACpB,WAAO,KAAKugC,sBAAL,CAA4BnmC,WAA5B,CAAwC4F,UAAxC,CAAP;AACH;;AACDI,EAAAA,YAAY,CAACJ,UAAD,EAAa;AACrB,WAAO,KAAKugC,sBAAL,CAA4BngC,YAA5B,CAAyCJ,UAAzC,CAAP;AACH;;AACDQ,EAAAA,gBAAgB,CAACn9H,IAAD,EAAOo9H,UAAP,EAAmB;AAC/B,WAAO,KAAK8/B,sBAAL,CAA4B//B,gBAA5B,CAA6Cn9H,IAA7C,EAAmDo9H,UAAnD,CAAP;AACH;;AACDE,EAAAA,MAAM,CAACx9H,IAAD,EAAO;AACT,WAAO,KAAKo9J,sBAAL,CAA4B5/B,MAA5B,CAAmCx9H,IAAnC,CAAP;AACH;;AACDy9H,EAAAA,MAAM,CAACz9H,IAAD,EAAO;AACT,WAAO,KAAKo9J,sBAAL,CAA4B3/B,MAA5B,CAAmCz9H,IAAnC,CAAP;AACH;;AACD4sG,EAAAA,MAAM,CAAC5sG,IAAD,EAAO;AACT,WAAO,KAAKo9J,sBAAL,CAA4BxwD,MAA5B,CAAmC5sG,IAAnC,CAAP;AACH;;AACD29H,EAAAA,SAAS,CAACz9H,IAAD,EAAO;AACZ,WAAO,KAAKk9J,sBAAL,CAA4Bz/B,SAA5B,CAAsCz9H,IAAtC,CAAP;AACH;;AACD09H,EAAAA,WAAW,CAAC19H,IAAD,EAAO;AACd,WAAO,KAAKk9J,sBAAL,CAA4Bx/B,WAA5B,CAAwC19H,IAAxC,CAAP;AACH;;AACD29H,EAAAA,iBAAiB,CAAC79H,IAAD,EAAO89H,SAAP,EAAkBC,OAAlB,EAA2BC,OAA3B,EAAoC;AACjD,WAAO,KAAKo/B,sBAAL,CAA4Bv/B,iBAA5B,CAA8C79H,IAA9C,EAAoD89H,SAApD,EAA+DC,OAA/D,EAAwEC,OAAxE,CAAP;AACH;;AACDC,EAAAA,WAAW,CAAC5qF,UAAD,EAAarzC,IAAb,EAAmB;AAC1B,WAAO,KAAKo9J,sBAAL,CAA4Bn/B,WAA5B,CAAwC5qF,UAAxC,EAAoDrzC,IAApD,CAAP;AACH;;AA1CW;AA6ChB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMggK,SAAS,gBAAG,IAAIH,SAAJ,eAAc,IAAIjkC,sBAAJ,EAAd,CAAlB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,MAAMqkC,oBAAN,CAA2B;AACvBn+J,EAAAA,WAAW,CAAC0G,GAAD,EAAM2Q,QAAN,EAAgBisB,UAAhB,EAA4B;AACnC,SAAK58B,GAAL,GAAWA,GAAX;AACA,SAAK2Q,QAAL,GAAgBA,QAAhB;AACA,SAAKisB,UAAL,GAAkBA,UAAlB;AACH;;AACa,SAAP86H,OAAO,CAAC13J,GAAD,EAAM;AAChB,WAAO,IAAIy3J,oBAAJ,CAAyBz3J,GAAzB,EAA8B,KAA9B,EAAqC,IAArC,CAAP;AACH;;AARsB;;AAU3B,MAAM23J,WAAW,GAAG,EAApB;;AACA,MAAMC,2BAAN,CAAkC;AAC9Bt+J,EAAAA,WAAW,CAAC0G,GAAD,EAAM63J,iBAAN,EAAyBtO,aAAzB,EAAwC;AAC/C,SAAKvpJ,GAAL,GAAWA,GAAX;AACA,SAAK63J,iBAAL,GAAyBA,iBAAzB;AACA,SAAKtO,aAAL,GAAqBA,aAArB;AACA,SAAKuO,eAAL,GAAuB,KAAKD,iBAAL,CAAuB,CAAvB,CAAvB;AACH;;AAN6B;AAQlC;AACA;AACA;AACA;;;AACA,MAAME,yBAAN,CAAgC;AAC5Bz+J,EAAAA,WAAW;AACX;AACJ;AACA;AACImL,EAAAA,OAJW;AAKX;AACJ;AACA;AACIuzJ,EAAAA,YARW,EAQG;AACV,SAAKvzJ,OAAL,GAAeA,OAAf;AACA,SAAKuzJ,YAAL,GAAoBA,YAApB;AACH;;AAZ2B;AAchC;AACA;AACA;;;AACA,SAASC,wBAAT,CAAkCjpD,QAAlC,EAA4C;AACxC,MAAIkpD,SAAJ;AACA,MAAIC,YAAJ;;AACA,MAAInpD,QAAQ,CAACp7B,QAAb,EAAuB;AACnB,UAAMA,QAAQ,GAAGs6B,iBAAiB,CAACc,QAAQ,CAACp7B,QAAV,CAAlC;AACAskF,IAAAA,SAAS,GAAGV,SAAS,CAAC/yJ,OAAV,CAAkBmvE,QAAlB,CAAZ;AACAukF,IAAAA,YAAY,GAAGC,gBAAgB,CAACxkF,QAAD,CAA/B;AACH,GAJD,MAKK,IAAIo7B,QAAQ,CAACh6D,WAAb,EAA0B;AAC3BkjH,IAAAA,SAAS,GAAIG,aAAD,IAAmBA,aAA/B;;AACAF,IAAAA,YAAY,GAAG,CAACV,oBAAoB,CAACC,OAArB,CAA6BZ,aAAa,CAAC12J,GAAd,CAAkB4uG,QAAQ,CAACh6D,WAA3B,CAA7B,CAAD,CAAf;AACH,GAHI,MAIA,IAAIg6D,QAAQ,CAAChxC,UAAb,EAAyB;AAC1Bk6F,IAAAA,SAAS,GAAGlpD,QAAQ,CAAChxC,UAArB;AACAm6F,IAAAA,YAAY,GAAGG,qBAAqB,CAACtpD,QAAQ,CAAChxC,UAAV,EAAsBgxC,QAAQ,CAACjxC,IAA/B,CAApC;AACH,GAHI,MAIA;AACDm6F,IAAAA,SAAS,GAAG,MAAMlpD,QAAQ,CAAC9C,QAA3B;;AACAisD,IAAAA,YAAY,GAAGR,WAAf;AACH;;AACD,SAAO,IAAII,yBAAJ,CAA8BG,SAA9B,EAAyCC,YAAzC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,yBAAT,CAAmCvpD,QAAnC,EAA6C;AACzC,SAAO,IAAI4oD,2BAAJ,CAAgCd,aAAa,CAAC12J,GAAd,CAAkB4uG,QAAQ,CAACj6D,OAA3B,CAAhC,EAAqE,CAACkjH,wBAAwB,CAACjpD,QAAD,CAAzB,CAArE,EAA2GA,QAAQ,CAAC3tG,KAAT,IAAkB,KAA7H,CAAP;AACH;AACD;AACA;AACA;;;AACA,SAASm3J,0BAAT,CAAoCt2G,SAApC,EAA+C;AAC3C,QAAMu2G,UAAU,GAAGC,mBAAmB,CAACx2G,SAAD,EAAY,EAAZ,CAAtC;;AACA,QAAMy2G,QAAQ,GAAGF,UAAU,CAAC14J,GAAX,CAAew4J,yBAAf,CAAjB;AACA,QAAMK,mBAAmB,GAAGC,gCAAgC,CAACF,QAAD,EAAW,IAAIx4J,GAAJ,EAAX,CAA5D;AACA,SAAO0G,KAAK,CAACsgB,IAAN,CAAWyxI,mBAAmB,CAAC3qJ,MAApB,EAAX,CAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS4qJ,gCAAT,CAA0C32G,SAA1C,EAAqD42G,sBAArD,EAA6E;AACzE,OAAK,IAAIr2J,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGy/C,SAAS,CAACzmD,MAA9B,EAAsCgH,CAAC,EAAvC,EAA2C;AACvC,UAAMusG,QAAQ,GAAG9sD,SAAS,CAACz/C,CAAD,CAA1B;AACA,UAAM8/F,QAAQ,GAAGu2D,sBAAsB,CAAC14J,GAAvB,CAA2B4uG,QAAQ,CAAChvG,GAAT,CAAaU,EAAxC,CAAjB;;AACA,QAAI6hG,QAAJ,EAAc;AACV,UAAIyM,QAAQ,CAACu6C,aAAT,KAA2BhnD,QAAQ,CAACgnD,aAAxC,EAAuD;AACnD,cAAMoN,6CAA6C,CAACp0D,QAAD,EAAWyM,QAAX,CAAnD;AACH;;AACD,UAAIA,QAAQ,CAACu6C,aAAb,EAA4B;AACxB,aAAK,IAAIt/H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+kF,QAAQ,CAAC6oD,iBAAT,CAA2Bp8J,MAA/C,EAAuDwuB,CAAC,EAAxD,EAA4D;AACxDs4E,UAAAA,QAAQ,CAACs1D,iBAAT,CAA2Bv9J,IAA3B,CAAgC00G,QAAQ,CAAC6oD,iBAAT,CAA2B5tI,CAA3B,CAAhC;AACH;AACJ,OAJD,MAKK;AACD6uI,QAAAA,sBAAsB,CAACz4J,GAAvB,CAA2B2uG,QAAQ,CAAChvG,GAAT,CAAaU,EAAxC,EAA4CsuG,QAA5C;AACH;AACJ,KAZD,MAaK;AACD,UAAIs6C,gBAAJ;;AACA,UAAIt6C,QAAQ,CAACu6C,aAAb,EAA4B;AACxBD,QAAAA,gBAAgB,GAAG,IAAIsO,2BAAJ,CAAgC5oD,QAAQ,CAAChvG,GAAzC,EAA8CgvG,QAAQ,CAAC6oD,iBAAT,CAA2B7gJ,KAA3B,EAA9C,EAAkFg4F,QAAQ,CAACu6C,aAA3F,CAAnB;AACH,OAFD,MAGK;AACDD,QAAAA,gBAAgB,GAAGt6C,QAAnB;AACH;;AACD8pD,MAAAA,sBAAsB,CAACz4J,GAAvB,CAA2B2uG,QAAQ,CAAChvG,GAAT,CAAaU,EAAxC,EAA4C4oJ,gBAA5C;AACH;AACJ;;AACD,SAAOwP,sBAAP;AACH;;AACD,SAASJ,mBAAT,CAA6Bx2G,SAA7B,EAAwCi/B,GAAxC,EAA6C;AACzCj/B,EAAAA,SAAS,CAAC/nD,OAAV,CAAkB8pB,CAAC,IAAI;AACnB,QAAIA,CAAC,YAAY8sG,IAAjB,EAAuB;AACnB5vC,MAAAA,GAAG,CAAC7mF,IAAJ,CAAS;AAAEy6C,QAAAA,OAAO,EAAE9wB,CAAX;AAAc2vD,QAAAA,QAAQ,EAAE3vD;AAAxB,OAAT;AACH,KAFD,MAGK,IAAIA,CAAC,IAAI,OAAOA,CAAP,IAAY,QAAjB,IAA6BA,CAAC,CAAC8wB,OAAF,KAAcn1C,SAA/C,EAA0D;AAC3DuhF,MAAAA,GAAG,CAAC7mF,IAAJ,CAAS2pB,CAAT;AACH,KAFI,MAGA,IAAIpd,KAAK,CAACC,OAAN,CAAcmd,CAAd,CAAJ,EAAsB;AACvBy0I,MAAAA,mBAAmB,CAACz0I,CAAD,EAAIk9D,GAAJ,CAAnB;AACH,KAFI,MAGA;AACD,YAAMk1E,oBAAoB,CAACpyI,CAAD,CAA1B;AACH;AACJ,GAbD;AAcA,SAAOk9D,GAAP;AACH;;AACD,SAASm3E,qBAAT,CAA+BjkC,UAA/B,EAA2C2jC,YAA3C,EAAyD;AACrD,MAAI,CAACA,YAAL,EAAmB;AACf,WAAOI,gBAAgB,CAAC/jC,UAAD,CAAvB;AACH,GAFD,MAGK;AACD,UAAMrsH,MAAM,GAAGgwJ,YAAY,CAACj4J,GAAb,CAAiBsE,CAAC,IAAI,CAACA,CAAD,CAAtB,CAAf;AACA,WAAO2zJ,YAAY,CAACj4J,GAAb,CAAiBsE,CAAC,IAAI00J,aAAa,CAAC1kC,UAAD,EAAahwH,CAAb,EAAgB2D,MAAhB,CAAnC,CAAP;AACH;AACJ;;AACD,SAASowJ,gBAAT,CAA0B/jC,UAA1B,EAAsC;AAClC,QAAMrsH,MAAM,GAAGwvJ,SAAS,CAACroC,UAAV,CAAqBkF,UAArB,CAAf;AACA,MAAI,CAACrsH,MAAL,EACI,OAAO,EAAP;;AACJ,MAAIA,MAAM,CAACoJ,IAAP,CAAY7U,CAAC,IAAIA,CAAC,IAAI,IAAtB,CAAJ,EAAiC;AAC7B,UAAM+5J,iBAAiB,CAACjiC,UAAD,EAAarsH,MAAb,CAAvB;AACH;;AACD,SAAOA,MAAM,CAACjI,GAAP,CAAWxD,CAAC,IAAIw8J,aAAa,CAAC1kC,UAAD,EAAa93H,CAAb,EAAgByL,MAAhB,CAA7B,CAAP;AACH;;AACD,SAAS+wJ,aAAT,CAAuB1kC,UAAvB,EAAmC/nH,QAAnC,EAA6CtE,MAA7C,EAAqD;AACjD,MAAIxD,KAAK,GAAG,IAAZ;AACA,MAAImM,QAAQ,GAAG,KAAf;;AACA,MAAI,CAAC9J,KAAK,CAACC,OAAN,CAAcwF,QAAd,CAAL,EAA8B;AAC1B,QAAIA,QAAQ,YAAYwqB,MAAxB,EAAgC;AAC5B,aAAOkiI,iBAAiB,CAAC1sJ,QAAQ,CAAC9H,KAAV,EAAiBmM,QAAjB,EAA2B,IAA3B,CAAxB;AACH,KAFD,MAGK;AACD,aAAOqoJ,iBAAiB,CAAC1sJ,QAAD,EAAWqE,QAAX,EAAqB,IAArB,CAAxB;AACH;AACJ;;AACD,MAAIisB,UAAU,GAAG,IAAjB;;AACA,OAAK,IAAIn6B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6J,QAAQ,CAAC7Q,MAA7B,EAAqC,EAAEgH,CAAvC,EAA0C;AACtC,UAAMw2J,aAAa,GAAG3sJ,QAAQ,CAAC7J,CAAD,CAA9B;;AACA,QAAIw2J,aAAa,YAAYloC,IAA7B,EAAmC;AAC/BvsH,MAAAA,KAAK,GAAGy0J,aAAR;AACH,KAFD,MAGK,IAAIA,aAAa,YAAYniI,MAA7B,EAAqC;AACtCtyB,MAAAA,KAAK,GAAGy0J,aAAa,CAACz0J,KAAtB;AACH,KAFI,MAGA,IAAIy0J,aAAa,YAAY5hI,QAA7B,EAAuC;AACxC1mB,MAAAA,QAAQ,GAAG,IAAX;AACH,KAFI,MAGA,IAAIsoJ,aAAa,YAAY7tC,IAAzB,IAAiC6tC,aAAa,YAAYnyF,QAA9D,EAAwE;AACzElqC,MAAAA,UAAU,GAAGq8H,aAAb;AACH,KAFI,MAGA,IAAIA,aAAa,YAAY7hI,cAA7B,EAA6C;AAC9C5yB,MAAAA,KAAK,GAAGy0J,aAAR;AACH;AACJ;;AACDz0J,EAAAA,KAAK,GAAG0pG,iBAAiB,CAAC1pG,KAAD,CAAzB;;AACA,MAAIA,KAAK,IAAI,IAAb,EAAmB;AACf,WAAOw0J,iBAAiB,CAACx0J,KAAD,EAAQmM,QAAR,EAAkBisB,UAAlB,CAAxB;AACH,GAFD,MAGK;AACD,UAAM05H,iBAAiB,CAACjiC,UAAD,EAAarsH,MAAb,CAAvB;AACH;AACJ;;AACD,SAASgxJ,iBAAT,CAA2Bx0J,KAA3B,EAAkCmM,QAAlC,EAA4CisB,UAA5C,EAAwD;AACpD,SAAO,IAAI66H,oBAAJ,CAAyBX,aAAa,CAAC12J,GAAd,CAAkBoE,KAAlB,CAAzB,EAAmDmM,QAAnD,EAA6DisB,UAA7D,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMs8H,SAAS,GAAG,EAAlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,kBAAN,CAAyB;AACrB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACkB,SAAPhgK,OAAO,CAAC+oD,SAAD,EAAY;AACtB,WAAOs2G,0BAA0B,CAACt2G,SAAD,CAAjC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAC2B,SAAhBk3G,gBAAgB,CAACl3G,SAAD,EAAY7+B,MAAZ,EAAoB;AACvC,UAAMg2I,2BAA2B,GAAGF,kBAAkB,CAAChgK,OAAnB,CAA2B+oD,SAA3B,CAApC;AACA,WAAOi3G,kBAAkB,CAACG,qBAAnB,CAAyCD,2BAAzC,EAAsEh2I,MAAtE,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACgC,SAArBi2I,qBAAqB,CAACp3G,SAAD,EAAY7+B,MAAZ,EAAoB;AAC5C,WAAO,IAAIk2I,mBAAJ,CAAwBr3G,SAAxB,EAAmC7+B,MAAnC,CAAP;AACH;;AAzFoB;;IA2FnBk2I;AAAN,QAAMA,mBAAN,CAA0B;AACtB;AACJ;AACA;AACIjgK,IAAAA,WAAW,CAACkgK,UAAD,EAAaC,OAAb,EAAsB;AAC7B;AACA,WAAKC,oBAAL,GAA4B,CAA5B;AACA,WAAKF,UAAL,GAAkBA,UAAlB;AACA,WAAKn2I,MAAL,GAAco2I,OAAO,IAAI,IAAzB;AACA,YAAME,GAAG,GAAGH,UAAU,CAAC/9J,MAAvB;AACA,WAAKm+J,MAAL,GAAc,EAAd;AACA,WAAKC,IAAL,GAAY,EAAZ;;AACA,WAAK,IAAIp3J,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGk3J,GAApB,EAAyBl3J,CAAC,EAA1B,EAA8B;AAC1B,aAAKm3J,MAAL,CAAYn3J,CAAZ,IAAiB+2J,UAAU,CAAC/2J,CAAD,CAAV,CAAczC,GAAd,CAAkBU,EAAnC;AACA,aAAKm5J,IAAL,CAAUp3J,CAAV,IAAey2J,SAAf;AACH;AACJ;;AACD94J,IAAAA,GAAG,CAACoE,KAAD,EAAQ8hE,aAAa,GAAG2vD,kBAAxB,EAA4C;AAC3C,aAAO,KAAK6jC,SAAL,CAAehD,aAAa,CAAC12J,GAAd,CAAkBoE,KAAlB,CAAf,EAAyC,IAAzC,EAA+C8hE,aAA/C,CAAP;AACH;;AACDyzF,IAAAA,qBAAqB,CAAC73G,SAAD,EAAY;AAC7B,YAAMm3G,2BAA2B,GAAGF,kBAAkB,CAAChgK,OAAnB,CAA2B+oD,SAA3B,CAApC;AACA,aAAO,KAAK83G,uBAAL,CAA6BX,2BAA7B,CAAP;AACH;;AACDW,IAAAA,uBAAuB,CAAC93G,SAAD,EAAY;AAC/B,YAAM+3G,GAAG,GAAG,IAAIV,mBAAJ,CAAwBr3G,SAAxB,CAAZ;AACA+3G,MAAAA,GAAG,CAAC52I,MAAJ,GAAa,IAAb;AACA,aAAO42I,GAAP;AACH;;AACDC,IAAAA,qBAAqB,CAAClrD,QAAD,EAAW;AAC5B,aAAO,KAAKmrD,mBAAL,CAAyBhB,kBAAkB,CAAChgK,OAAnB,CAA2B,CAAC61G,QAAD,CAA3B,EAAuC,CAAvC,CAAzB,CAAP;AACH;;AACDmrD,IAAAA,mBAAmB,CAACnrD,QAAD,EAAW;AAC1B,aAAO,KAAKorD,oBAAL,CAA0BprD,QAA1B,CAAP;AACH;;AACDqrD,IAAAA,kBAAkB,CAAC37I,KAAD,EAAQ;AACtB,UAAIA,KAAK,GAAG,CAAR,IAAaA,KAAK,IAAI,KAAK86I,UAAL,CAAgB/9J,MAA1C,EAAkD;AAC9C,cAAMi7J,gBAAgB,CAACh4I,KAAD,CAAtB;AACH;;AACD,aAAO,KAAK86I,UAAL,CAAgB96I,KAAhB,CAAP;AACH;AACD;;;AACA47I,IAAAA,IAAI,CAACtrD,QAAD,EAAW;AACX,UAAI,KAAK0qD,oBAAL,KAA8B,KAAKa,sBAAL,EAAlC,EAAiE;AAC7D,cAAMtE,qBAAqB,CAAC,IAAD,EAAOjnD,QAAQ,CAAChvG,GAAhB,CAA3B;AACH;;AACD,aAAO,KAAKo6J,oBAAL,CAA0BprD,QAA1B,CAAP;AACH;;AACDurD,IAAAA,sBAAsB,GAAG;AACrB,aAAO,KAAKV,IAAL,CAAUp+J,MAAjB;AACH;;AACD2+J,IAAAA,oBAAoB,CAACprD,QAAD,EAAW;AAC3B,UAAIA,QAAQ,CAACu6C,aAAb,EAA4B;AACxB,cAAMpoE,GAAG,GAAG,EAAZ;;AACA,aAAK,IAAI1+E,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGusG,QAAQ,CAAC6oD,iBAAT,CAA2Bp8J,MAA/C,EAAuD,EAAEgH,CAAzD,EAA4D;AACxD0+E,UAAAA,GAAG,CAAC1+E,CAAD,CAAH,GAAS,KAAK+3J,YAAL,CAAkBxrD,QAAlB,EAA4BA,QAAQ,CAAC6oD,iBAAT,CAA2Bp1J,CAA3B,CAA5B,CAAT;AACH;;AACD,eAAO0+E,GAAP;AACH,OAND,MAOK;AACD,eAAO,KAAKq5E,YAAL,CAAkBxrD,QAAlB,EAA4BA,QAAQ,CAAC6oD,iBAAT,CAA2B,CAA3B,CAA5B,CAAP;AACH;AACJ;;AACD2C,IAAAA,YAAY,CAACxrD,QAAD,EAAW+oD,yBAAX,EAAsC;AAC9C,YAAMtzJ,OAAO,GAAGszJ,yBAAyB,CAACtzJ,OAA1C;AACA,UAAIs5D,IAAJ;;AACA,UAAI;AACAA,QAAAA,IAAI,GACAg6F,yBAAyB,CAACC,YAA1B,CAAuCj4J,GAAvC,CAA2C+3H,GAAG,IAAI,KAAK2iC,0BAAL,CAAgC3iC,GAAhC,CAAlD,CADJ;AAEH,OAHD,CAIA,OAAOx4H,CAAP,EAAU;AACN,YAAIA,CAAC,CAACw2J,MAAN,EAAc;AACVx2J,UAAAA,CAAC,CAACw2J,MAAF,CAAS,IAAT,EAAe9mD,QAAQ,CAAChvG,GAAxB;AACH;;AACD,cAAMV,CAAN;AACH;;AACD,UAAImH,GAAJ;;AACA,UAAI;AACAA,QAAAA,GAAG,GAAGhC,OAAO,CAAC,GAAGs5D,IAAJ,CAAb;AACH,OAFD,CAGA,OAAOz+D,CAAP,EAAU;AACN,cAAM42J,kBAAkB,CAAC,IAAD,EAAO52J,CAAP,EAAUA,CAAC,CAAC2qC,KAAZ,EAAmB+kE,QAAQ,CAAChvG,GAA5B,CAAxB;AACH;;AACD,aAAOyG,GAAP;AACH;;AACDg0J,IAAAA,0BAA0B,CAAC3iC,GAAD,EAAM;AAC5B,aAAO,KAAKgiC,SAAL,CAAehiC,GAAG,CAAC93H,GAAnB,EAAwB83H,GAAG,CAACl7F,UAA5B,EAAwCk7F,GAAG,CAACnnH,QAAJ,GAAe,IAAf,GAAsBslH,kBAA9D,CAAP;AACH;;AACD6jC,IAAAA,SAAS,CAAC95J,GAAD,EAAM48B,UAAN,EAAkB0pC,aAAlB,EAAiC;AACtC,UAAItmE,GAAG,KAAKu5J,mBAAmB,CAACmB,YAAhC,EAA8C;AAC1C,eAAO,IAAP;AACH;;AACD,UAAI99H,UAAU,YAAYwuF,IAA1B,EAAgC;AAC5B,eAAO,KAAKuvC,aAAL,CAAmB36J,GAAnB,EAAwBsmE,aAAxB,CAAP;AACH,OAFD,MAGK;AACD,eAAO,KAAKs0F,gBAAL,CAAsB56J,GAAtB,EAA2BsmE,aAA3B,EAA0C1pC,UAA1C,CAAP;AACH;AACJ;;AACDi+H,IAAAA,cAAc,CAACC,KAAD,EAAQ;AAClB,WAAK,IAAIr4J,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKm3J,MAAL,CAAYn+J,MAAhC,EAAwCgH,CAAC,EAAzC,EAA6C;AACzC,YAAI,KAAKm3J,MAAL,CAAYn3J,CAAZ,MAAmBq4J,KAAvB,EAA8B;AAC1B,cAAI,KAAKjB,IAAL,CAAUp3J,CAAV,MAAiBy2J,SAArB,EAAgC;AAC5B,iBAAKW,IAAL,CAAUp3J,CAAV,IAAe,KAAK63J,IAAL,CAAU,KAAKd,UAAL,CAAgB/2J,CAAhB,CAAV,CAAf;AACH;;AACD,iBAAO,KAAKo3J,IAAL,CAAUp3J,CAAV,CAAP;AACH;AACJ;;AACD,aAAOy2J,SAAP;AACH;AACD;;;AACA6B,IAAAA,YAAY,CAAC/6J,GAAD,EAAMsmE,aAAN,EAAqB;AAC7B,UAAIA,aAAa,KAAK2vD,kBAAtB,EAA0C;AACtC,eAAO3vD,aAAP;AACH,OAFD,MAGK;AACD,cAAM0vF,eAAe,CAAC,IAAD,EAAOh2J,GAAP,CAArB;AACH;AACJ;AACD;;;AACA26J,IAAAA,aAAa,CAAC36J,GAAD,EAAMsmE,aAAN,EAAqB;AAC9B,YAAM7/D,GAAG,GAAG,KAAKo0J,cAAL,CAAoB76J,GAAG,CAACU,EAAxB,CAAZ;;AACA,aAAQ+F,GAAG,KAAKyyJ,SAAT,GAAsBzyJ,GAAtB,GAA4B,KAAKs0J,YAAL,CAAkB/6J,GAAlB,EAAuBsmE,aAAvB,CAAnC;AACH;AACD;;;AACAs0F,IAAAA,gBAAgB,CAAC56J,GAAD,EAAMsmE,aAAN,EAAqB1pC,UAArB,EAAiC;AAC7C,UAAIq9H,GAAJ;;AACA,UAAIr9H,UAAU,YAAYkqC,QAA1B,EAAoC;AAChCmzF,QAAAA,GAAG,GAAG,KAAK52I,MAAX;AACH,OAFD,MAGK;AACD42I,QAAAA,GAAG,GAAG,IAAN;AACH;;AACD,aAAOA,GAAG,YAAYV,mBAAtB,EAA2C;AACvC,cAAMyB,IAAI,GAAGf,GAAb;;AACA,cAAMxzJ,GAAG,GAAGu0J,IAAI,CAACH,cAAL,CAAoB76J,GAAG,CAACU,EAAxB,CAAZ;;AACA,YAAI+F,GAAG,KAAKyyJ,SAAZ,EACI,OAAOzyJ,GAAP;AACJwzJ,QAAAA,GAAG,GAAGe,IAAI,CAAC33I,MAAX;AACH;;AACD,UAAI42I,GAAG,KAAK,IAAZ,EAAkB;AACd,eAAOA,GAAG,CAAC75J,GAAJ,CAAQJ,GAAG,CAACwE,KAAZ,EAAmB8hE,aAAnB,CAAP;AACH,OAFD,MAGK;AACD,eAAO,KAAKy0F,YAAL,CAAkB/6J,GAAlB,EAAuBsmE,aAAvB,CAAP;AACH;AACJ;;AACc,QAAXywF,WAAW,GAAG;AACd,YAAM70G,SAAS,GAAG+4G,aAAa,CAAC,IAAD,EAAQh3I,CAAD,IAAO,OAAOA,CAAC,CAACjkB,GAAF,CAAM+2J,WAAb,GAA2B,IAAzC,CAAb,CACb/3J,IADa,CACR,IADQ,CAAlB;;AAEA,aAAQ,kCAAiCkjD,SAAU,IAAnD;AACH;;AACD3kD,IAAAA,QAAQ,GAAG;AACP,aAAO,KAAKw5J,WAAZ;AACH;;AA1JqB;;AA4J1BwC,EAAAA,mBAAmB,CAACmB,YAApB,GAAqC,eAAe5D,aAAa,CAAC12J,GAAd,CAAkByiD,QAAlB,CAApD;SA5JM02G;;;AA6JN,SAAS0B,aAAT,CAAuBl4F,QAAvB,EAAiC3oE,EAAjC,EAAqC;AACjC,QAAM+mF,GAAG,GAAG,EAAZ;;AACA,OAAK,IAAI1+E,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsgE,QAAQ,CAACy2F,UAAT,CAAoB/9J,MAAxC,EAAgD,EAAEgH,CAAlD,EAAqD;AACjD0+E,IAAAA,GAAG,CAAC1+E,CAAD,CAAH,GAASrI,EAAE,CAAC2oE,QAAQ,CAACs3F,kBAAT,CAA4B53J,CAA5B,CAAD,CAAX;AACH;;AACD,SAAO0+E,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASj5C,iBAAT,CAA2B1jC,KAA3B,EAAkC6tG,KAAK,GAAGP,WAAW,CAACc,OAAtD,EAA+D;AAC3D,QAAM6H,KAAK,GAAGoG,QAAQ,EAAtB,CAD2D,CAE3D;AACA;;AACA,MAAIpG,KAAK,KAAK,IAAd,EAAoB;AAChB;AACA/1G,IAAAA,SAAS,IAAI6tG,kCAAkC,CAACrqE,iBAAD,CAA/C;AACA,WAAO7K,QAAQ,CAAC74B,KAAD,EAAQ6tG,KAAR,CAAf;AACH;;AACD,QAAMqB,KAAK,GAAGwN,eAAe,EAA7B;AACA,SAAOqK,qBAAqB,CAAC7X,KAAD,EAAQ+G,KAAR,EAAevM,iBAAiB,CAAC1pG,KAAD,CAAhC,EAAyC6tG,KAAzC,CAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6oD,gBAAT,GAA4B;AACxB,QAAM1rD,GAAG,GAAG9qG,SAAS,GAAI,gEAAJ,GAAsE,SAA3F;AACA,QAAM,IAAI3F,KAAJ,CAAUywG,GAAV,CAAN;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,SAAS2rD,UAAT,CAAoBtsC,QAApB,EAA8B3uH,KAA9B,EAAqCurI,SAArC,EAAgD;AAC5C,QAAMhxB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMkB,YAAY,GAAGE,gBAAgB,EAArC;;AACA,MAAImuC,cAAc,CAAC31C,KAAD,EAAQsH,YAAR,EAAsB7hH,KAAtB,CAAlB,EAAgD;AAC5C,UAAMyzG,KAAK,GAAGmN,QAAQ,EAAtB;AACA,UAAMpN,KAAK,GAAG8Q,gBAAgB,EAA9B;AACAi7B,IAAAA,uBAAuB,CAAC9rC,KAAD,EAAQD,KAAR,EAAe+G,KAAf,EAAsBoU,QAAtB,EAAgC3uH,KAAhC,EAAuCu6G,KAAK,CAAC3B,QAAD,CAA5C,EAAwD2yB,SAAxD,EAAmE,KAAnE,CAAvB;AACA/mI,IAAAA,SAAS,IAAIu/I,4BAA4B,CAACtwC,KAAK,CAAC9zG,IAAP,EAAa6zG,KAAb,EAAoBmb,QAApB,EAA8B9M,YAA9B,CAAzC;AACH;;AACD,SAAOo5C,UAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASC,qCAAT,CAA+CznD,KAA/C,EAAsDD,KAAtD,EAA6D+G,KAA7D,EAAoEv6G,KAApE,EAA2E0jI,YAA3E,EAAyF;AACrF,QAAMt7F,MAAM,GAAGorE,KAAK,CAACprE,MAArB;AACA,QAAMxa,QAAQ,GAAG81G,YAAY,GAAG,OAAH,GAAa,OAA1C,CAFqF,CAGrF;;AACAic,EAAAA,oBAAoB,CAAClsC,KAAD,EAAQ8G,KAAR,EAAenyE,MAAM,CAACxa,QAAD,CAArB,EAAiCA,QAAjC,EAA2C5tB,KAA3C,CAApB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASm7J,2BAAT,CAAqC38I,KAArC,EAA4Ci1F,KAA5C,EAAmD8G,KAAnD,EAA0DsN,MAA1D,EAAkEvwH,IAAlE,EAAwE07J,UAAxE,EAAoFC,cAApF,EAAoG;AAChGzuJ,EAAAA,SAAS,IAAI+2G,qBAAqB,CAAC9H,KAAD,CAAlC;AACAjvG,EAAAA,SAAS,IAAIA,SAAS,CAAC+uG,eAAV,EAAb;AACA,QAAM2/C,WAAW,GAAGz/C,KAAK,CAAChjC,MAA1B;AACA,QAAMq3C,KAAK,GAAGtI,WAAW,CAAC0zC,WAAD,EAAcF,UAAd,CAAzB;AACA,QAAMx/C,KAAK,GAAGkoC,gBAAgB,CAACjoC,KAAD,EAAQj1F,KAAR,EAAe;AAAE;AAAjB,IAAgClnB,IAAhC,EAAsCwwH,KAAtC,CAA9B;AACA,QAAM44B,aAAa,GAAGD,iBAAiB,CAAChtC,KAAD,EAAQ8G,KAAR,EAAe/G,KAAf,EAAsBgM,WAAW,CAAC0zC,WAAD,EAAcD,cAAd,CAAjC,CAAvC;AACAzuJ,EAAAA,SAAS,IAAI42J,sBAAsB,CAAC3nD,KAAD,EAAQoU,MAAR,EAAgBrU,KAAhB,EAAuBktC,aAAvB,CAAnC;;AACA,MAAIltC,KAAK,CAACsU,KAAN,KAAgB,IAApB,EAA0B;AACtB08B,IAAAA,oBAAoB,CAAChxC,KAAD,EAAQA,KAAK,CAACsU,KAAd,EAAqB,KAArB,CAApB;AACH;;AACD,MAAItU,KAAK,CAACgiC,WAAN,KAAsB,IAA1B,EAAgC;AAC5BgP,IAAAA,oBAAoB,CAAChxC,KAAD,EAAQA,KAAK,CAACgiC,WAAd,EAA2B,IAA3B,CAApB;AACH;;AACD,MAAI/hC,KAAK,CAAC+gC,OAAN,KAAkB,IAAtB,EAA4B;AACxB/gC,IAAAA,KAAK,CAAC+gC,OAAN,CAAc6mB,YAAd,CAA2B5nD,KAA3B,EAAkCD,KAAlC;AACH;;AACD,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS5iC,cAAT,CAAwBpyD,KAAxB,EAA+BlnB,IAA/B,EAAqC07J,UAArC,EAAiDC,cAAjD,EAAiE;AAC7D,QAAM14C,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMlN,KAAK,GAAGmN,QAAQ,EAAtB;AACA,QAAMwyC,aAAa,GAAG/5C,aAAa,GAAG76F,KAAtC;AACAha,EAAAA,SAAS,IACLurG,WAAW,CAAC6R,eAAe,EAAhB,EAAoBnO,KAAK,CAACqI,iBAA1B,EAA6C,gDAA7C,CADf;AAEAt3G,EAAAA,SAAS,IAAIksG,kBAAkB,CAAC6J,KAAD,EAAQ64C,aAAR,CAA/B;AACA,QAAM/0C,QAAQ,GAAG9D,KAAK,CAAC3B,QAAD,CAAtB;AACA,QAAMiP,MAAM,GAAGtN,KAAK,CAAC64C,aAAD,CAAL,GAAuB/0B,iBAAiB,CAAChgB,QAAD,EAAW/mH,IAAX,EAAiBqtH,YAAY,EAA7B,CAAvD;AACA,QAAMnR,KAAK,GAAGC,KAAK,CAACF,eAAN,GACV4nD,2BAA2B,CAAC/H,aAAD,EAAgB3/C,KAAhB,EAAuB8G,KAAvB,EAA8BsN,MAA9B,EAAsCvwH,IAAtC,EAA4C07J,UAA5C,EAAwDC,cAAxD,CADjB,GAEVx/C,KAAK,CAAC9zG,IAAN,CAAWyzJ,aAAX,CAFJ;AAGAhyC,EAAAA,eAAe,CAAC5N,KAAD,EAAQ,IAAR,CAAf;AACA,QAAMgiC,WAAW,GAAGhiC,KAAK,CAACgiC,WAA1B;;AACA,MAAIA,WAAW,KAAK,IAApB,EAA0B;AACtB5tB,IAAAA,eAAe,CAACvJ,QAAD,EAAWwJ,MAAX,EAAmB2tB,WAAnB,CAAf;AACH;;AACD,QAAM9oH,OAAO,GAAG8mF,KAAK,CAAC9mF,OAAtB;;AACA,MAAIA,OAAO,KAAK,IAAhB,EAAsB;AAClBu3G,IAAAA,gBAAgB,CAAC5lB,QAAD,EAAWwJ,MAAX,EAAmBn7F,OAAnB,CAAhB;AACH;;AACD,QAAM90B,MAAM,GAAG47G,KAAK,CAAC57G,MAArB;;AACA,MAAIA,MAAM,KAAK,IAAf,EAAqB;AACjBmsI,IAAAA,gBAAgB,CAAC1lB,QAAD,EAAWwJ,MAAX,EAAmBjwH,MAAnB,CAAhB;AACH;;AACD,MAAI,CAAC47G,KAAK,CAACrB,KAAN,GAAc;AAAG;AAAlB,QAAwC;AAAG;AAA/C,IAAiE;AAC7D;AACA;AACA7+E,IAAAA,WAAW,CAACmgF,KAAD,EAAQ8G,KAAR,EAAesN,MAAf,EAAuBrU,KAAvB,CAAX;AACH,GA7B4D,CA8B7D;AACA;AACA;;;AACA,MAAI4M,oBAAoB,OAAO,CAA/B,EAAkC;AAC9B0a,IAAAA,eAAe,CAACjT,MAAD,EAAStN,KAAT,CAAf;AACH;;AACD+F,EAAAA,yBAAyB;;AACzB,MAAInG,eAAe,CAAC3G,KAAD,CAAnB,EAA4B;AACxB0pC,IAAAA,yBAAyB,CAACzpC,KAAD,EAAQ8G,KAAR,EAAe/G,KAAf,CAAzB;AACAypC,IAAAA,qBAAqB,CAACxpC,KAAD,EAAQD,KAAR,EAAe+G,KAAf,CAArB;AACH;;AACD,MAAI04C,cAAc,KAAK,IAAvB,EAA6B;AACzB5V,IAAAA,wBAAwB,CAAC9iC,KAAD,EAAQ/G,KAAR,CAAxB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS1iC,YAAT,GAAwB;AACpB,MAAImwC,YAAY,GAAGD,eAAe,EAAlC;AACAx8G,EAAAA,SAAS,IAAI+rG,aAAa,CAAC0Q,YAAD,EAAe,0BAAf,CAA1B;;AACA,MAAII,oBAAoB,EAAxB,EAA4B;AACxBC,IAAAA,0BAA0B;AAC7B,GAFD,MAGK;AACD98G,IAAAA,SAAS,IAAI02G,eAAe,CAAC8F,eAAe,EAAhB,CAA5B;AACAC,IAAAA,YAAY,GAAGA,YAAY,CAAC99F,MAA5B;AACAi+F,IAAAA,eAAe,CAACH,YAAD,EAAe,KAAf,CAAf;AACH;;AACD,QAAMzN,KAAK,GAAGyN,YAAd;AACAz8G,EAAAA,SAAS,IAAIijH,eAAe,CAACjU,KAAD,EAAQ;AAAE;AAAV,GAA5B;AACA+M,EAAAA,yBAAyB;AACzB,QAAM9M,KAAK,GAAGmN,QAAQ,EAAtB;;AACA,MAAInN,KAAK,CAACF,eAAV,EAA2B;AACvB2R,IAAAA,sBAAsB,CAACzR,KAAD,EAAQwN,YAAR,CAAtB;;AACA,QAAIhH,kBAAkB,CAACgH,YAAD,CAAtB,EAAsC;AAClCxN,MAAAA,KAAK,CAAC+gC,OAAN,CAAc8mB,UAAd,CAAyBr6C,YAAzB;AACH;AACJ;;AACD,MAAIzN,KAAK,CAACqiC,kBAAN,IAA4B,IAA5B,IAAoCtuB,aAAa,CAAC/T,KAAD,CAArD,EAA8D;AAC1D0nD,IAAAA,qCAAqC,CAACznD,KAAD,EAAQD,KAAR,EAAemN,QAAQ,EAAvB,EAA2BnN,KAAK,CAACqiC,kBAAjC,EAAqD,IAArD,CAArC;AACH;;AACD,MAAIriC,KAAK,CAACmiC,iBAAN,IAA2B,IAA3B,IAAmCnuB,aAAa,CAAChU,KAAD,CAApD,EAA6D;AACzD0nD,IAAAA,qCAAqC,CAACznD,KAAD,EAAQD,KAAR,EAAemN,QAAQ,EAAvB,EAA2BnN,KAAK,CAACmiC,iBAAjC,EAAoD,KAApD,CAArC;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS5kE,SAAT,CAAmBvyD,KAAnB,EAA0BlnB,IAA1B,EAAgC07J,UAAhC,EAA4CC,cAA5C,EAA4D;AACxDriF,EAAAA,cAAc,CAACpyD,KAAD,EAAQlnB,IAAR,EAAc07J,UAAd,EAA0BC,cAA1B,CAAd;AACAniF,EAAAA,YAAY;AACf;;AACD,SAASsqF,sBAAT,CAAgC3nD,KAAhC,EAAuC91G,OAAvC,EAAgD61G,KAAhD,EAAuDktC,aAAvD,EAAsE;AAClE,QAAMpqC,OAAO,GAAG7C,KAAK,CAAC6C,OAAtB,CADkE,CAElE;AACA;AACA;AACA;;AACA,MAAIA,OAAO,KAAK,IAAhB,EACI;AACJ,QAAM6uB,OAAO,GAAG3xB,KAAK,CAACxzG,KAAtB,CARkE,CASlE;;AACA,MAAI,CAAC0gJ,aAAD,IAAkBvb,OAAO,KAAK,IAAlC,EAAwC;AACpC;AACA;AACA;AACA,UAAMo2B,SAAS,GACf;AACA;AACC,WAAOC,kBAAP,KAA8B,WAA9B,IAA6CA,kBAA7C,IACG79J,OAAO,YAAY69J,kBADvB,IAEK,OAAOC,cAAP,KAA0B,WAA1B,IAAyCt2B,OAAO,CAAC5kI,OAAR,CAAgB,GAAhB,IAAuB,CAAC,CAAjE,IACG,CAACk7J,cAAc,CAACv7J,GAAf,CAAmBilI,OAAnB,CANT;;AAOA,QAAIo2B,SAAS,IAAI,CAACvb,eAAe,CAACvsC,KAAD,EAAQ0xB,OAAR,CAAjC,EAAmD;AAC/C,UAAIhqG,OAAO,GAAI,IAAGgqG,OAAQ,6BAA1B;AACAhqG,MAAAA,OAAO,IAAK,UAASgqG,OAAQ,0EAA7B;;AACA,UAAIA,OAAO,IAAIA,OAAO,CAAC5kI,OAAR,CAAgB,GAAhB,IAAuB,CAAC,CAAvC,EAA0C;AACtC46B,QAAAA,OAAO,IAAK,UAASgqG,OAAQ,+HAA7B;AACH,OAFD,MAGK;AACDhqG,QAAAA,OAAO,IACF,8FADL;AAEH;;AACDjH,MAAAA,OAAO,CAAChM,KAAR,CAAckmF,kBAAkB,CAAC;AAAM;AAAP,QAA8BjzE,OAA9B,CAAhC;AACH;AACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASugI,oCAAT,CAA8Cl9I,KAA9C,EAAqDi1F,KAArD,EAA4D8G,KAA5D,EAAmEy4C,UAAnE,EAA+EC,cAA/E,EAA+F;AAC3FzuJ,EAAAA,SAAS,IAAIA,SAAS,CAAC+uG,eAAV,EAAb;AACA,QAAM2/C,WAAW,GAAGz/C,KAAK,CAAChjC,MAA1B;AACA,QAAMq3C,KAAK,GAAGtI,WAAW,CAAC0zC,WAAD,EAAcF,UAAd,CAAzB;AACA,QAAMx/C,KAAK,GAAGkoC,gBAAgB,CAACjoC,KAAD,EAAQj1F,KAAR,EAAe;AAAE;AAAjB,IAAyC,cAAzC,EAAyDspG,KAAzD,CAA9B,CAJ2F,CAK3F;AACA;;AACA,MAAIA,KAAK,KAAK,IAAd,EAAoB;AAChB08B,IAAAA,oBAAoB,CAAChxC,KAAD,EAAQsU,KAAR,EAAe,IAAf,CAApB;AACH;;AACD,QAAMkT,SAAS,GAAGxb,WAAW,CAAC0zC,WAAD,EAAcD,cAAd,CAA7B;AACAxS,EAAAA,iBAAiB,CAAChtC,KAAD,EAAQ8G,KAAR,EAAe/G,KAAf,EAAsBwnB,SAAtB,CAAjB;;AACA,MAAIvnB,KAAK,CAAC+gC,OAAN,KAAkB,IAAtB,EAA4B;AACxB/gC,IAAAA,KAAK,CAAC+gC,OAAN,CAAc6mB,YAAd,CAA2B5nD,KAA3B,EAAkCD,KAAlC;AACH;;AACD,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmoD,uBAAT,CAAiCn9I,KAAjC,EAAwCw0I,UAAxC,EAAoDC,cAApD,EAAoE;AAChE,QAAM14C,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMlN,KAAK,GAAGmN,QAAQ,EAAtB;AACA,QAAMwyC,aAAa,GAAG50I,KAAK,GAAG66F,aAA9B;AACA70G,EAAAA,SAAS,IAAIksG,kBAAkB,CAAC6J,KAAD,EAAQ64C,aAAR,CAA/B;AACA5uJ,EAAAA,SAAS,IACLurG,WAAW,CAAC6R,eAAe,EAAhB,EAAoBnO,KAAK,CAACqI,iBAA1B,EAA6C,0DAA7C,CADf;AAEA,QAAMtI,KAAK,GAAGC,KAAK,CAACF,eAAN,GACVmoD,oCAAoC,CAACtI,aAAD,EAAgB3/C,KAAhB,EAAuB8G,KAAvB,EAA8By4C,UAA9B,EAA0CC,cAA1C,CAD1B,GAEVx/C,KAAK,CAAC9zG,IAAN,CAAWyzJ,aAAX,CAFJ;AAGAhyC,EAAAA,eAAe,CAAC5N,KAAD,EAAQ,IAAR,CAAf;AACAhvG,EAAAA,SAAS,IAAIA,SAAS,CAACowG,qBAAV,EAAb;AACA,QAAMiT,MAAM,GAAGtN,KAAK,CAAC64C,aAAD,CAAL,GACX74C,KAAK,CAAC3B,QAAD,CAAL,CAAgB/0C,aAAhB,CAA8Br/D,SAAS,GAAG,cAAH,GAAoB,EAA3D,CADJ;AAEA8uB,EAAAA,WAAW,CAACmgF,KAAD,EAAQ8G,KAAR,EAAesN,MAAf,EAAuBrU,KAAvB,CAAX;AACAsnB,EAAAA,eAAe,CAACjT,MAAD,EAAStN,KAAT,CAAf;;AACA,MAAIJ,eAAe,CAAC3G,KAAD,CAAnB,EAA4B;AACxB0pC,IAAAA,yBAAyB,CAACzpC,KAAD,EAAQ8G,KAAR,EAAe/G,KAAf,CAAzB;AACAypC,IAAAA,qBAAqB,CAACxpC,KAAD,EAAQD,KAAR,EAAe+G,KAAf,CAArB;AACH;;AACD,MAAI04C,cAAc,IAAI,IAAtB,EAA4B;AACxB5V,IAAAA,wBAAwB,CAAC9iC,KAAD,EAAQ/G,KAAR,CAAxB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASooD,qBAAT,GAAiC;AAC7B,MAAI36C,YAAY,GAAGD,eAAe,EAAlC;AACA,QAAMvN,KAAK,GAAGmN,QAAQ,EAAtB;;AACA,MAAIS,oBAAoB,EAAxB,EAA4B;AACxBC,IAAAA,0BAA0B;AAC7B,GAFD,MAGK;AACD98G,IAAAA,SAAS,IAAI02G,eAAe,CAAC+F,YAAD,CAA5B;AACAA,IAAAA,YAAY,GAAGA,YAAY,CAAC99F,MAA5B;AACAi+F,IAAAA,eAAe,CAACH,YAAD,EAAe,KAAf,CAAf;AACH;;AACDz8G,EAAAA,SAAS,IAAIijH,eAAe,CAACxG,YAAD,EAAe;AAAE;AAAjB,GAA5B;;AACA,MAAIxN,KAAK,CAACF,eAAV,EAA2B;AACvB2R,IAAAA,sBAAsB,CAACzR,KAAD,EAAQwN,YAAR,CAAtB;;AACA,QAAIhH,kBAAkB,CAACgH,YAAD,CAAtB,EAAsC;AAClCxN,MAAAA,KAAK,CAAC+gC,OAAN,CAAc8mB,UAAd,CAAyBr6C,YAAzB;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS46C,kBAAT,CAA4Br9I,KAA5B,EAAmCw0I,UAAnC,EAA+CC,cAA/C,EAA+D;AAC3D0I,EAAAA,uBAAuB,CAACn9I,KAAD,EAAQw0I,UAAR,EAAoBC,cAApB,CAAvB;AACA2I,EAAAA,qBAAqB;AACxB;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,gBAAT,GAA4B;AACxB,SAAOn7C,QAAQ,EAAf;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAASo7C,SAAT,CAAmBx1J,GAAnB,EAAwB;AACpB;AACA;AACA,SAAO,CAAC,CAACA,GAAF,IAAS,OAAOA,GAAG,CAACrN,IAAX,KAAoB,UAApC;AACH;AACD;AACA;AACA;;;AACA,SAAS8iK,cAAT,CAAwBz1J,GAAxB,EAA6B;AACzB,SAAO,CAAC,CAACA,GAAF,IAAS,OAAOA,GAAG,CAAC83B,SAAX,KAAyB,UAAzC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM6W,YAAY,GAAG8mH,cAArB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS/kF,UAAT,CAAoBj4E,SAApB,EAA+Bi9J,UAA/B,EAA2C7Q,UAA3C,EAAuD8Q,mBAAvD,EAA4E;AACxE,QAAM3hD,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMlN,KAAK,GAAGmN,QAAQ,EAAtB;AACA,QAAMpN,KAAK,GAAGwN,eAAe,EAA7B;AACAm7C,EAAAA,gBAAgB,CAAC1oD,KAAD,EAAQ8G,KAAR,EAAeA,KAAK,CAAC3B,QAAD,CAApB,EAAgCpF,KAAhC,EAAuCx0G,SAAvC,EAAkDi9J,UAAlD,EAA8D,CAAC,CAAC7Q,UAAhE,EAA4E8Q,mBAA5E,CAAhB;AACA,SAAOjlF,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmlF,uBAAT,CAAiCp9J,SAAjC,EAA4Ci9J,UAA5C,EAAwD;AACpD,QAAMzoD,KAAK,GAAGwN,eAAe,EAA7B;AACA,QAAMzG,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMlN,KAAK,GAAGmN,QAAQ,EAAtB;AACA,QAAMyjC,UAAU,GAAG7hC,sBAAsB,CAAC/O,KAAK,CAAC9zG,IAAP,CAAzC;AACA,QAAM0+G,QAAQ,GAAG+lC,qBAAqB,CAACC,UAAD,EAAa7wC,KAAb,EAAoB+G,KAApB,CAAtC;AACA4hD,EAAAA,gBAAgB,CAAC1oD,KAAD,EAAQ8G,KAAR,EAAe8D,QAAf,EAAyB7K,KAAzB,EAAgCx0G,SAAhC,EAA2Ci9J,UAA3C,EAAuD,KAAvD,CAAhB;AACA,SAAOG,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,oBAAT,CAA8B5oD,KAA9B,EAAqC8G,KAArC,EAA4Cv7G,SAA5C,EAAuDs9J,QAAvD,EAAiE;AAC7D,QAAMj8B,QAAQ,GAAG5sB,KAAK,CAACzL,OAAvB;;AACA,MAAIq4B,QAAQ,IAAI,IAAhB,EAAsB;AAClB,SAAK,IAAI99H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG89H,QAAQ,CAAC9kI,MAAT,GAAkB,CAAtC,EAAyCgH,CAAC,IAAI,CAA9C,EAAiD;AAC7C,YAAMg6J,gBAAgB,GAAGl8B,QAAQ,CAAC99H,CAAD,CAAjC;;AACA,UAAIg6J,gBAAgB,KAAKv9J,SAArB,IAAkCqhI,QAAQ,CAAC99H,CAAC,GAAG,CAAL,CAAR,KAAoB+5J,QAA1D,EAAoE;AAChE;AACA;AACA;AACA,cAAMh8B,QAAQ,GAAG/lB,KAAK,CAAC/B,OAAD,CAAtB;AACA,cAAMgkD,qBAAqB,GAAGn8B,QAAQ,CAAC99H,CAAC,GAAG,CAAL,CAAtC;AACA,eAAO+9H,QAAQ,CAAC/kI,MAAT,GAAkBihK,qBAAlB,GAA0Cl8B,QAAQ,CAACk8B,qBAAD,CAAlD,GAA4E,IAAnF;AACH,OAT4C,CAU7C;AACA;AACA;AACA;AACA;;;AACA,UAAI,OAAOD,gBAAP,KAA4B,QAAhC,EAA0C;AACtCh6J,QAAAA,CAAC,IAAI,CAAL;AACH;AACJ;AACJ;;AACD,SAAO,IAAP;AACH;;AACD,SAAS45J,gBAAT,CAA0B1oD,KAA1B,EAAiC8G,KAAjC,EAAwC8D,QAAxC,EAAkD7K,KAAlD,EAAyDx0G,SAAzD,EAAoEi9J,UAApE,EAAgF7Q,UAAhF,EAA4F8Q,mBAA5F,EAAiH;AAC7G,QAAMO,oBAAoB,GAAGtiD,eAAe,CAAC3G,KAAD,CAA5C;AACA,QAAMD,eAAe,GAAGE,KAAK,CAACF,eAA9B;AACA,QAAM8sB,QAAQ,GAAG9sB,eAAe,IAAIirC,uBAAuB,CAAC/qC,KAAD,CAA3D;AACA,QAAM7pG,OAAO,GAAG2wG,KAAK,CAAC9B,OAAD,CAArB,CAJ6G,CAK7G;AACA;AACA;;AACA,QAAM6nB,QAAQ,GAAGie,uBAAuB,CAAChkC,KAAD,CAAxC;AACA/1G,EAAAA,SAAS,IAAIijH,eAAe,CAACjU,KAAD,EAAQ;AAAE;AAAF,IAAmB;AAAG;AAA9B,GAA5B;AACA,MAAIkpD,cAAc,GAAG,IAArB,CAV6G,CAW7G;AACA;AACA;AACA;;AACA,MAAKlpD,KAAK,CAACh8G,IAAN,GAAa;AAAE;AAAhB,KAAmC0kK,mBAAvC,EAA4D;AACxD,UAAMr0C,MAAM,GAAG/I,gBAAgB,CAACtL,KAAD,EAAQ+G,KAAR,CAA/B;AACA,UAAMhkG,MAAM,GAAG2lJ,mBAAmB,GAAGA,mBAAmB,CAACr0C,MAAD,CAAtB,GAAiCA,MAAnE;AACA,UAAM80C,aAAa,GAAGr8B,QAAQ,CAAC/kI,MAA/B;AACA,UAAMilI,iBAAiB,GAAG07B,mBAAmB,GACxC7uC,MAAD,IAAY6uC,mBAAmB,CAACx9C,WAAW,CAAC2O,MAAM,CAAC7Z,KAAK,CAACh1F,KAAP,CAAP,CAAZ,CADU,GAEzCg1F,KAAK,CAACh1F,KAFV,CAJwD,CAOxD;AACA;;AACA,QAAI4/F,oBAAoB,CAACC,QAAD,CAAxB,EAAoC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAIu+C,gBAAgB,GAAG,IAAvB,CAXgC,CAYhC;AACA;AACA;AACA;AACA;AACA;;AACA,UAAI,CAACV,mBAAD,IAAwBO,oBAA5B,EAAkD;AAC9CG,QAAAA,gBAAgB,GAAGP,oBAAoB,CAAC5oD,KAAD,EAAQ8G,KAAR,EAAev7G,SAAf,EAA0Bw0G,KAAK,CAACh1F,KAAhC,CAAvC;AACH;;AACD,UAAIo+I,gBAAgB,KAAK,IAAzB,EAA+B;AAC3B;AACA;AACA;AACA;AACA,cAAMC,cAAc,GAAGD,gBAAgB,CAACE,oBAAjB,IAAyCF,gBAAhE;AACAC,QAAAA,cAAc,CAACE,oBAAf,GAAsCd,UAAtC;AACAW,QAAAA,gBAAgB,CAACE,oBAAjB,GAAwCb,UAAxC;AACAS,QAAAA,cAAc,GAAG,KAAjB;AACH,OATD,MAUK;AACDT,QAAAA,UAAU,GAAGe,YAAY,CAACxpD,KAAD,EAAQ+G,KAAR,EAAe3wG,OAAf,EAAwBqyJ,UAAxB,EAAoC;AAAM;AAA1C,SAAzB;AACA,cAAM3d,SAAS,GAAGjgC,QAAQ,CAAC5/F,MAAT,CAAgBlI,MAAhB,EAAwBvX,SAAxB,EAAmCi9J,UAAnC,CAAlB;AACAz3J,QAAAA,SAAS,IAAIA,SAAS,CAACqvG,wBAAV,EAAb;AACAysB,QAAAA,QAAQ,CAAClmI,IAAT,CAAc6hK,UAAd,EAA0B3d,SAA1B;AACAje,QAAAA,QAAQ,IAAIA,QAAQ,CAACjmI,IAAT,CAAc4E,SAAd,EAAyBwhI,iBAAzB,EAA4Cm8B,aAA5C,EAA2DA,aAAa,GAAG,CAA3E,CAAZ;AACH;AACJ,KAtCD,MAuCK;AACDV,MAAAA,UAAU,GAAGe,YAAY,CAACxpD,KAAD,EAAQ+G,KAAR,EAAe3wG,OAAf,EAAwBqyJ,UAAxB,EAAoC;AAAK;AAAzC,OAAzB;AACA1lJ,MAAAA,MAAM,CAAC2a,gBAAP,CAAwBlyB,SAAxB,EAAmCi9J,UAAnC,EAA+C7Q,UAA/C;AACA5mJ,MAAAA,SAAS,IAAIA,SAAS,CAACqvG,wBAAV,EAAb;AACAysB,MAAAA,QAAQ,CAAClmI,IAAT,CAAc6hK,UAAd;AACA57B,MAAAA,QAAQ,IAAIA,QAAQ,CAACjmI,IAAT,CAAc4E,SAAd,EAAyBwhI,iBAAzB,EAA4Cm8B,aAA5C,EAA2DvR,UAA3D,CAAZ;AACH;AACJ,GAvDD,MAwDK;AACD;AACA;AACA6Q,IAAAA,UAAU,GAAGe,YAAY,CAACxpD,KAAD,EAAQ+G,KAAR,EAAe3wG,OAAf,EAAwBqyJ,UAAxB,EAAoC;AAAM;AAA1C,KAAzB;AACH,GA3E4G,CA4E7G;;;AACA,QAAMrqH,OAAO,GAAG4hE,KAAK,CAAC5hE,OAAtB;AACA,MAAI75B,KAAJ;;AACA,MAAI2kJ,cAAc,IAAI9qH,OAAO,KAAK,IAA9B,KAAuC75B,KAAK,GAAG65B,OAAO,CAAC5yC,SAAD,CAAtD,CAAJ,EAAwE;AACpE,UAAMi+J,WAAW,GAAGllJ,KAAK,CAACxc,MAA1B;;AACA,QAAI0hK,WAAJ,EAAiB;AACb,WAAK,IAAI16J,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG06J,WAApB,EAAiC16J,CAAC,IAAI,CAAtC,EAAyC;AACrC,cAAMic,KAAK,GAAGzG,KAAK,CAACxV,CAAD,CAAnB;AACAiC,QAAAA,SAAS,IAAIksG,kBAAkB,CAAC6J,KAAD,EAAQ/7F,KAAR,CAA/B;AACA,cAAM0+I,YAAY,GAAGnlJ,KAAK,CAACxV,CAAC,GAAG,CAAL,CAA1B;AACA,cAAMq5H,iBAAiB,GAAGrhB,KAAK,CAAC/7F,KAAD,CAA/B;AACA,cAAMytD,MAAM,GAAG2vD,iBAAiB,CAACshC,YAAD,CAAhC;;AACA,YAAI14J,SAAS,IAAI,CAAC0wC,YAAY,CAAC+2B,MAAD,CAA9B,EAAwC;AACpC,gBAAM,IAAIptE,KAAJ,CAAW,WAAUq+J,YAAa,wBAAuBthC,iBAAiB,CAACxiI,WAAlB,CAA8B9B,IAAK,IAA5F,CAAN;AACH;;AACD,cAAM0pD,YAAY,GAAGirB,MAAM,CAAC5tC,SAAP,CAAiB49H,UAAjB,CAArB;AACA,cAAMn4D,GAAG,GAAGw8B,QAAQ,CAAC/kI,MAArB;AACA+kI,QAAAA,QAAQ,CAAClmI,IAAT,CAAc6hK,UAAd,EAA0Bj7G,YAA1B;AACAq/E,QAAAA,QAAQ,IAAIA,QAAQ,CAACjmI,IAAT,CAAc4E,SAAd,EAAyBw0G,KAAK,CAACh1F,KAA/B,EAAsCslF,GAAtC,EAA2C,EAAEA,GAAG,GAAG,CAAR,CAA3C,CAAZ;AACH;AACJ;AACJ;AACJ;;AACD,SAASq5D,gCAAT,CAA0C5iD,KAA1C,EAAiD3wG,OAAjD,EAA0DqyJ,UAA1D,EAAsE78J,CAAtE,EAAyE;AACrE,MAAI;AACAy+G,IAAAA,QAAQ,CAAC;AAAE;AAAH,MAAsBj0G,OAAtB,EAA+BqyJ,UAA/B,CAAR,CADA,CAEA;;AACA,WAAOA,UAAU,CAAC78J,CAAD,CAAV,KAAkB,KAAzB;AACH,GAJD,CAKA,OAAO8oB,KAAP,EAAc;AACV+lH,IAAAA,WAAW,CAAC1zB,KAAD,EAAQryF,KAAR,CAAX;AACA,WAAO,KAAP;AACH,GARD,SASQ;AACJ21F,IAAAA,QAAQ,CAAC;AAAE;AAAH,MAAoBj0G,OAApB,EAA6BqyJ,UAA7B,CAAR;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASe,YAAT,CAAsBxpD,KAAtB,EAA6B+G,KAA7B,EAAoC3wG,OAApC,EAA6CqyJ,UAA7C,EAAyDmB,sBAAzD,EAAiF;AAC7E;AACA;AACA,SAAO,SAASC,yCAAT,CAAmDj+J,CAAnD,EAAsD;AACzD;AACA;AACA,QAAIA,CAAC,KAAK0xH,QAAV,EAAoB;AAChB,aAAOmrC,UAAP;AACH,KALwD,CAMzD;AACA;;;AACA,UAAM9yC,SAAS,GAAG3V,KAAK,CAACrB,KAAN,GAAc;AAAE;AAAhB,MACd+M,wBAAwB,CAAC1L,KAAK,CAACh1F,KAAP,EAAc+7F,KAAd,CADV,GAEdA,KAFJ,CARyD,CAWzD;;AACA,QAAI,CAACA,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAG;AAAnB,UAA2C,CAA/C,EAAkD;AAC9C8qC,MAAAA,aAAa,CAAC95B,SAAD,CAAb;AACH;;AACD,QAAIpmH,MAAM,GAAGo6J,gCAAgC,CAAC5iD,KAAD,EAAQ3wG,OAAR,EAAiBqyJ,UAAjB,EAA6B78J,CAA7B,CAA7C,CAfyD,CAgBzD;AACA;;AACA,QAAIk+J,cAAc,GAAGD,yCAAyC,CAACN,oBAA/D;;AACA,WAAOO,cAAP,EAAuB;AACnB;AACAv6J,MAAAA,MAAM,GAAGo6J,gCAAgC,CAAC5iD,KAAD,EAAQ3wG,OAAR,EAAiB0zJ,cAAjB,EAAiCl+J,CAAjC,CAAhC,IAAuE2D,MAAhF;AACAu6J,MAAAA,cAAc,GAAGA,cAAc,CAACP,oBAAhC;AACH;;AACD,QAAIK,sBAAsB,IAAIr6J,MAAM,KAAK,KAAzC,EAAgD;AAC5C3D,MAAAA,CAAC,CAAC0hC,cAAF,GAD4C,CAE5C;;AACA1hC,MAAAA,CAAC,CAACm+J,WAAF,GAAgB,KAAhB;AACH;;AACD,WAAOx6J,MAAP;AACH,GA9BD;AA+BH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy6J,aAAT,CAAuBx5C,KAAK,GAAG,CAA/B,EAAkC;AAC9B,SAAOD,eAAe,CAACC,KAAD,CAAtB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy5C,2BAAT,CAAqCjqD,KAArC,EAA4CkqD,eAA5C,EAA6D;AACzD,MAAIC,sBAAsB,GAAG,IAA7B;AACA,QAAMC,kBAAkB,GAAGpsB,qBAAqB,CAACh+B,KAAD,CAAhD;;AACA,OAAK,IAAIjxG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGm7J,eAAe,CAACniK,MAApC,EAA4CgH,CAAC,EAA7C,EAAiD;AAC7C,UAAM68G,SAAS,GAAGs+C,eAAe,CAACn7J,CAAD,CAAjC,CAD6C,CAE7C;AACA;;AACA,QAAI68G,SAAS,KAAK,GAAlB,EAAuB;AACnBu+C,MAAAA,sBAAsB,GAAGp7J,CAAzB;AACA;AACH,KAP4C,CAQ7C;AACA;;;AACA,QAAIq7J,kBAAkB,KAAK,IAAvB,GACArsB,0BAA0B,CAAC/9B,KAAD,EAAQ4L,SAAR;AAAmB;AAAuB,QAA1C,CAD1B,GAEAuyB,wBAAwB,CAACisB,kBAAD,EAAqBx+C,SAArB,CAF5B,EAE6D;AACzD,aAAO78G,CAAP,CADyD,CAC/C;AACb;AACJ;;AACD,SAAOo7J,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAShtF,eAAT,CAAyB+sF,eAAzB,EAA0C;AACtC,QAAMr6B,aAAa,GAAG1iB,QAAQ,GAAG1H,0BAAH,CAAR,CAAuCV,MAAvC,CAAtB;;AACA,MAAI,CAAC8qB,aAAa,CAAChnB,UAAnB,EAA+B;AAC3B;AACA;AACA,UAAMwhD,kBAAkB,GAAGH,eAAe,GAAGA,eAAe,CAACniK,MAAnB,GAA4B,CAAtE;AACA,UAAMuiK,eAAe,GAAGz6B,aAAa,CAAChnB,UAAd,GACpBoV,QAAQ,CAACosC,kBAAD,EAAqB,IAArB,CADZ;AAEA,UAAME,KAAK,GAAGD,eAAe,CAAChnJ,KAAhB,EAAd;AACA,QAAIknJ,cAAc,GAAG36B,aAAa,CAAC3f,KAAnC;;AACA,WAAOs6C,cAAc,KAAK,IAA1B,EAAgC;AAC5B,YAAMC,SAAS,GAAGP,eAAe,GAAGD,2BAA2B,CAACO,cAAD,EAAiBN,eAAjB,CAA9B,GAAkE,CAAnG;;AACA,UAAIO,SAAS,KAAK,IAAlB,EAAwB;AACpB,YAAIF,KAAK,CAACE,SAAD,CAAT,EAAsB;AAClBF,UAAAA,KAAK,CAACE,SAAD,CAAL,CAAiBh7B,cAAjB,GAAkC+6B,cAAlC;AACH,SAFD,MAGK;AACDF,UAAAA,eAAe,CAACG,SAAD,CAAf,GAA6BD,cAA7B;AACH;;AACDD,QAAAA,KAAK,CAACE,SAAD,CAAL,GAAmBD,cAAnB;AACH;;AACDA,MAAAA,cAAc,GAAGA,cAAc,CAACn1J,IAAhC;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgoE,YAAT,CAAsBsuC,SAAtB,EAAiC++C,aAAa,GAAG,CAAjD,EAAoDp2C,KAApD,EAA2D;AACvD,QAAMvN,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMlN,KAAK,GAAGmN,QAAQ,EAAtB;AACA,QAAMuiB,eAAe,GAAGuY,gBAAgB,CAACjoC,KAAD,EAAQ4F,aAAa,GAAG8F,SAAxB,EAAmC;AAAG;AAAtC,IAAwD,IAAxD,EAA8D2I,KAAK,IAAI,IAAvE,CAAxC,CAHuD,CAIvD;;AACA,MAAIqb,eAAe,CAAC9mB,UAAhB,KAA+B,IAAnC,EACI8mB,eAAe,CAAC9mB,UAAhB,GAA6B6hD,aAA7B,CANmD,CAOvD;;AACA58C,EAAAA,0BAA0B;;AAC1B,MAAI,CAAC6hB,eAAe,CAAChxB,KAAhB,GAAwB;AAAG;AAA5B,QAAkD;AAAG;AAAzD,IAA2E;AACvE;AACA+wB,IAAAA,eAAe,CAACzvB,KAAD,EAAQ8G,KAAR,EAAe4oB,eAAf,CAAf;AACH;AACJ;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,SAASg7B,qBAAT,CAA+BxvC,QAA/B,EAAyCoiC,EAAzC,EAA6CxlB,SAA7C,EAAwD;AACpD6yB,EAAAA,sBAAsB,CAACzvC,QAAD,EAAW,EAAX,EAAeoiC,EAAf,EAAmB,EAAnB,EAAuBxlB,SAAvB,CAAtB;AACA,SAAO4yB,qBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgCzvC,QAAhC,EAA0C+gB,MAA1C,EAAkDqhB,EAAlD,EAAsDC,MAAtD,EAA8DzlB,SAA9D,EAAyE;AACrE,QAAMhxB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGtB,cAAc,CAACv2C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBC,MAApB,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM9+B,KAAK,GAAGmN,QAAQ,EAAtB;AACA,UAAMpN,KAAK,GAAG8Q,gBAAgB,EAA9B;AACAi7B,IAAAA,uBAAuB,CAAC9rC,KAAD,EAAQD,KAAR,EAAe+G,KAAf,EAAsBoU,QAAtB,EAAgCyjC,iBAAhC,EAAmD73C,KAAK,CAAC3B,QAAD,CAAxD,EAAoE2yB,SAApE,EAA+E,KAA/E,CAAvB;AACA/mI,IAAAA,SAAS,IACLu/I,4BAA4B,CAACtwC,KAAK,CAAC9zG,IAAP,EAAa6zG,KAAb,EAAoBmb,QAApB,EAA8B/M,eAAe,KAAK,CAAlD,EAAqD8tB,MAArD,EAA6DshB,MAA7D,CADhC;AAEH;;AACD,SAAOoN,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgC1vC,QAAhC,EAA0C+gB,MAA1C,EAAkDqhB,EAAlD,EAAsDp6H,EAAtD,EAA0Du6H,EAA1D,EAA8DF,MAA9D,EAAsEzlB,SAAtE,EAAiF;AAC7E,QAAMhxB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGnB,cAAc,CAAC12C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBp6H,EAApB,EAAwBu6H,EAAxB,EAA4BF,MAA5B,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM9+B,KAAK,GAAGmN,QAAQ,EAAtB;AACA,UAAMpN,KAAK,GAAG8Q,gBAAgB,EAA9B;AACAi7B,IAAAA,uBAAuB,CAAC9rC,KAAD,EAAQD,KAAR,EAAe+G,KAAf,EAAsBoU,QAAtB,EAAgCyjC,iBAAhC,EAAmD73C,KAAK,CAAC3B,QAAD,CAAxD,EAAoE2yB,SAApE,EAA+E,KAA/E,CAAvB;AACA/mI,IAAAA,SAAS,IACLu/I,4BAA4B,CAACtwC,KAAK,CAAC9zG,IAAP,EAAa6zG,KAAb,EAAoBmb,QAApB,EAA8B/M,eAAe,KAAK,CAAlD,EAAqD8tB,MAArD,EAA6D/4G,EAA7D,EAAiEq6H,MAAjE,CADhC;AAEH;;AACD,SAAOqN,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgC3vC,QAAhC,EAA0C+gB,MAA1C,EAAkDqhB,EAAlD,EAAsDp6H,EAAtD,EAA0Du6H,EAA1D,EAA8D93H,EAA9D,EAAkEg4H,EAAlE,EAAsEJ,MAAtE,EAA8EzlB,SAA9E,EAAyF;AACrF,QAAMhxB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGjB,cAAc,CAAC52C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBp6H,EAApB,EAAwBu6H,EAAxB,EAA4B93H,EAA5B,EAAgCg4H,EAAhC,EAAoCJ,MAApC,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM9+B,KAAK,GAAGmN,QAAQ,EAAtB;AACA,UAAMpN,KAAK,GAAG8Q,gBAAgB,EAA9B;AACAi7B,IAAAA,uBAAuB,CAAC9rC,KAAD,EAAQD,KAAR,EAAe+G,KAAf,EAAsBoU,QAAtB,EAAgCyjC,iBAAhC,EAAmD73C,KAAK,CAAC3B,QAAD,CAAxD,EAAoE2yB,SAApE,EAA+E,KAA/E,CAAvB;AACA/mI,IAAAA,SAAS,IACLu/I,4BAA4B,CAACtwC,KAAK,CAAC9zG,IAAP,EAAa6zG,KAAb,EAAoBmb,QAApB,EAA8B/M,eAAe,KAAK,CAAlD,EAAqD8tB,MAArD,EAA6D/4G,EAA7D,EAAiEyC,EAAjE,EAAqE43H,MAArE,CADhC;AAEH;;AACD,SAAOsN,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgC5vC,QAAhC,EAA0C+gB,MAA1C,EAAkDqhB,EAAlD,EAAsDp6H,EAAtD,EAA0Du6H,EAA1D,EAA8D93H,EAA9D,EAAkEg4H,EAAlE,EAAsE36H,EAAtE,EAA0E66H,EAA1E,EAA8EN,MAA9E,EAAsFzlB,SAAtF,EAAiG;AAC7F,QAAMhxB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGf,cAAc,CAAC92C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBp6H,EAApB,EAAwBu6H,EAAxB,EAA4B93H,EAA5B,EAAgCg4H,EAAhC,EAAoC36H,EAApC,EAAwC66H,EAAxC,EAA4CN,MAA5C,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM9+B,KAAK,GAAGmN,QAAQ,EAAtB;AACA,UAAMpN,KAAK,GAAG8Q,gBAAgB,EAA9B;AACAi7B,IAAAA,uBAAuB,CAAC9rC,KAAD,EAAQD,KAAR,EAAe+G,KAAf,EAAsBoU,QAAtB,EAAgCyjC,iBAAhC,EAAmD73C,KAAK,CAAC3B,QAAD,CAAxD,EAAoE2yB,SAApE,EAA+E,KAA/E,CAAvB;AACA/mI,IAAAA,SAAS,IACLu/I,4BAA4B,CAACtwC,KAAK,CAAC9zG,IAAP,EAAa6zG,KAAb,EAAoBmb,QAApB,EAA8B/M,eAAe,KAAK,CAAlD,EAAqD8tB,MAArD,EAA6D/4G,EAA7D,EAAiEyC,EAAjE,EAAqE3C,EAArE,EAAyEu6H,MAAzE,CADhC;AAEH;;AACD,SAAOuN,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgC7vC,QAAhC,EAA0C+gB,MAA1C,EAAkDqhB,EAAlD,EAAsDp6H,EAAtD,EAA0Du6H,EAA1D,EAA8D93H,EAA9D,EAAkEg4H,EAAlE,EAAsE36H,EAAtE,EAA0E66H,EAA1E,EAA8EE,EAA9E,EAAkFC,EAAlF,EAAsFT,MAAtF,EAA8FzlB,SAA9F,EAAyG;AACrG,QAAMhxB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGb,cAAc,CAACh3C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBp6H,EAApB,EAAwBu6H,EAAxB,EAA4B93H,EAA5B,EAAgCg4H,EAAhC,EAAoC36H,EAApC,EAAwC66H,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDT,MAApD,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM9+B,KAAK,GAAGmN,QAAQ,EAAtB;AACA,UAAMpN,KAAK,GAAG8Q,gBAAgB,EAA9B;AACAi7B,IAAAA,uBAAuB,CAAC9rC,KAAD,EAAQD,KAAR,EAAe+G,KAAf,EAAsBoU,QAAtB,EAAgCyjC,iBAAhC,EAAmD73C,KAAK,CAAC3B,QAAD,CAAxD,EAAoE2yB,SAApE,EAA+E,KAA/E,CAAvB;AACA/mI,IAAAA,SAAS,IACLu/I,4BAA4B,CAACtwC,KAAK,CAAC9zG,IAAP,EAAa6zG,KAAb,EAAoBmb,QAApB,EAA8B/M,eAAe,KAAK,CAAlD,EAAqD8tB,MAArD,EAA6D/4G,EAA7D,EAAiEyC,EAAjE,EAAqE3C,EAArE,EAAyE+6H,EAAzE,EAA6ER,MAA7E,CADhC;AAEH;;AACD,SAAOwN,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgC9vC,QAAhC,EAA0C+gB,MAA1C,EAAkDqhB,EAAlD,EAAsDp6H,EAAtD,EAA0Du6H,EAA1D,EAA8D93H,EAA9D,EAAkEg4H,EAAlE,EAAsE36H,EAAtE,EAA0E66H,EAA1E,EAA8EE,EAA9E,EAAkFC,EAAlF,EAAsFE,EAAtF,EAA0FC,EAA1F,EAA8FZ,MAA9F,EAAsGzlB,SAAtG,EAAiH;AAC7G,QAAMhxB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGV,cAAc,CAACn3C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBp6H,EAApB,EAAwBu6H,EAAxB,EAA4B93H,EAA5B,EAAgCg4H,EAAhC,EAAoC36H,EAApC,EAAwC66H,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DZ,MAA5D,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM9+B,KAAK,GAAGmN,QAAQ,EAAtB;AACA,UAAMpN,KAAK,GAAG8Q,gBAAgB,EAA9B;AACAi7B,IAAAA,uBAAuB,CAAC9rC,KAAD,EAAQD,KAAR,EAAe+G,KAAf,EAAsBoU,QAAtB,EAAgCyjC,iBAAhC,EAAmD73C,KAAK,CAAC3B,QAAD,CAAxD,EAAoE2yB,SAApE,EAA+E,KAA/E,CAAvB;AACA/mI,IAAAA,SAAS,IACLu/I,4BAA4B,CAACtwC,KAAK,CAAC9zG,IAAP,EAAa6zG,KAAb,EAAoBmb,QAApB,EAA8B/M,eAAe,KAAK,CAAlD,EAAqD8tB,MAArD,EAA6D/4G,EAA7D,EAAiEyC,EAAjE,EAAqE3C,EAArE,EAAyE+6H,EAAzE,EAA6EG,EAA7E,EAAiFX,MAAjF,CADhC;AAEH;;AACD,SAAOyN,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgC/vC,QAAhC,EAA0C+gB,MAA1C,EAAkDqhB,EAAlD,EAAsDp6H,EAAtD,EAA0Du6H,EAA1D,EAA8D93H,EAA9D,EAAkEg4H,EAAlE,EAAsE36H,EAAtE,EAA0E66H,EAA1E,EAA8EE,EAA9E,EAAkFC,EAAlF,EAAsFE,EAAtF,EAA0FC,EAA1F,EAA8FE,EAA9F,EAAkGC,EAAlG,EAAsGf,MAAtG,EAA8GzlB,SAA9G,EAAyH;AACrH,QAAMhxB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGP,cAAc,CAACt3C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBp6H,EAApB,EAAwBu6H,EAAxB,EAA4B93H,EAA5B,EAAgCg4H,EAAhC,EAAoC36H,EAApC,EAAwC66H,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEf,MAApE,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM9+B,KAAK,GAAGmN,QAAQ,EAAtB;AACA,UAAMpN,KAAK,GAAG8Q,gBAAgB,EAA9B;AACAi7B,IAAAA,uBAAuB,CAAC9rC,KAAD,EAAQD,KAAR,EAAe+G,KAAf,EAAsBoU,QAAtB,EAAgCyjC,iBAAhC,EAAmD73C,KAAK,CAAC3B,QAAD,CAAxD,EAAoE2yB,SAApE,EAA+E,KAA/E,CAAvB;AACA/mI,IAAAA,SAAS,IACLu/I,4BAA4B,CAACtwC,KAAK,CAAC9zG,IAAP,EAAa6zG,KAAb,EAAoBmb,QAApB,EAA8B/M,eAAe,KAAK,CAAlD,EAAqD8tB,MAArD,EAA6D/4G,EAA7D,EAAiEyC,EAAjE,EAAqE3C,EAArE,EAAyE+6H,EAAzE,EAA6EG,EAA7E,EAAiFG,EAAjF,EAAqFd,MAArF,CADhC;AAEH;;AACD,SAAO0N,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgChwC,QAAhC,EAA0C+gB,MAA1C,EAAkDqhB,EAAlD,EAAsDp6H,EAAtD,EAA0Du6H,EAA1D,EAA8D93H,EAA9D,EAAkEg4H,EAAlE,EAAsE36H,EAAtE,EAA0E66H,EAA1E,EAA8EE,EAA9E,EAAkFC,EAAlF,EAAsFE,EAAtF,EAA0FC,EAA1F,EAA8FE,EAA9F,EAAkGC,EAAlG,EAAsGE,EAAtG,EAA0GC,EAA1G,EAA8GlB,MAA9G,EAAsHzlB,SAAtH,EAAiI;AAC7H,QAAMhxB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGJ,cAAc,CAACz3C,KAAD,EAAQm1B,MAAR,EAAgBqhB,EAAhB,EAAoBp6H,EAApB,EAAwBu6H,EAAxB,EAA4B93H,EAA5B,EAAgCg4H,EAAhC,EAAoC36H,EAApC,EAAwC66H,EAAxC,EAA4CE,EAA5C,EAAgDC,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DE,EAA5D,EAAgEC,EAAhE,EAAoEE,EAApE,EAAwEC,EAAxE,EAA4ElB,MAA5E,CAAxC;;AACA,MAAIoB,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM9+B,KAAK,GAAGmN,QAAQ,EAAtB;AACA,UAAMpN,KAAK,GAAG8Q,gBAAgB,EAA9B;AACAi7B,IAAAA,uBAAuB,CAAC9rC,KAAD,EAAQD,KAAR,EAAe+G,KAAf,EAAsBoU,QAAtB,EAAgCyjC,iBAAhC,EAAmD73C,KAAK,CAAC3B,QAAD,CAAxD,EAAoE2yB,SAApE,EAA+E,KAA/E,CAAvB;AACA/mI,IAAAA,SAAS,IACLu/I,4BAA4B,CAACtwC,KAAK,CAAC9zG,IAAP,EAAa6zG,KAAb,EAAoBmb,QAApB,EAA8B/M,eAAe,KAAK,CAAlD,EAAqD8tB,MAArD,EAA6D/4G,EAA7D,EAAiEyC,EAAjE,EAAqE3C,EAArE,EAAyE+6H,EAAzE,EAA6EG,EAA7E,EAAiFG,EAAjF,EAAqFG,EAArF,EAAyFjB,MAAzF,CADhC;AAEH;;AACD,SAAO2N,sBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgCjwC,QAAhC,EAA0C5gH,MAA1C,EAAkDw9H,SAAlD,EAA6D;AACzD,QAAMhxB,KAAK,GAAGoG,QAAQ,EAAtB;AACA,QAAMyxC,iBAAiB,GAAGxB,cAAc,CAACr2C,KAAD,EAAQxsG,MAAR,CAAxC;;AACA,MAAIqkJ,iBAAiB,KAAK7f,SAA1B,EAAqC;AACjC,UAAM9+B,KAAK,GAAGmN,QAAQ,EAAtB;AACA,UAAMpN,KAAK,GAAG8Q,gBAAgB,EAA9B;AACAi7B,IAAAA,uBAAuB,CAAC9rC,KAAD,EAAQD,KAAR,EAAe+G,KAAf,EAAsBoU,QAAtB,EAAgCyjC,iBAAhC,EAAmD73C,KAAK,CAAC3B,QAAD,CAAxD,EAAoE2yB,SAApE,EAA+E,KAA/E,CAAvB;;AACA,QAAI/mI,SAAJ,EAAe;AACX,YAAMsuJ,sBAAsB,GAAG,CAAC/kJ,MAAM,CAAC,CAAD,CAAP,CAA/B,CADW,CACiC;;AAC5C,WAAK,IAAIxL,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwL,MAAM,CAACxS,MAA3B,EAAmCgH,CAAC,IAAI,CAAxC,EAA2C;AACvCuwJ,QAAAA,sBAAsB,CAAC14J,IAAvB,CAA4B2T,MAAM,CAACxL,CAAD,CAAlC;AACH;;AACDwhJ,MAAAA,4BAA4B,CAACtwC,KAAK,CAAC9zG,IAAP,EAAa6zG,KAAb,EAAoBmb,QAApB,EAA8B/M,eAAe,KAAKkxC,sBAAsB,CAACv3J,MAA3C,GAAoD,CAAlF,EAAqF,GAAGu3J,sBAAxF,CAA5B;AACH;AACJ;;AACD,SAAO8L,sBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIC,mEAAJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,qBAAT,CAA+Br8C,KAA/B,EAAsCjP,KAAtC,EAA6CurD,qBAA7C,EAAoEvgJ,KAApE,EAA2EwgJ,aAA3E,EAA0FC,cAA1F,EA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;;AACIqwE,EAAAA,YAAY,GAAG;AACX0zE,IAAAA,aAAa,CAAC,KAAK+7B,mBAAL,IAA4B,KAAK3xD,MAAlC,CAAb;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI32E,EAAAA,MAAM,GAAG;AACL,SAAK22E,MAAL,CAAYlV,KAAZ,KAAsB,CAAC;AAAI;AAA3B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIgnE,EAAAA,QAAQ,GAAG;AACP,SAAK9xD,MAAL,CAAYlV,KAAZ,KAAsB;AAAI;AAA1B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIxzC,EAAAA,aAAa,GAAG;AACZ++E,IAAAA,qBAAqB,CAAC,KAAKr2B,MAAL,CAAYnV,KAAZ,CAAD,EAAqB,KAAKmV,MAA1B,EAAkC,KAAKzjH,OAAvC,CAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIw1K,EAAAA,cAAc,GAAG;AACbx7B,IAAAA,sBAAsB,CAAC,KAAKv2B,MAAL,CAAYnV,KAAZ,CAAD,EAAqB,KAAKmV,MAA1B,EAAkC,KAAKzjH,OAAvC,CAAtB;AACH;;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AP;AAA8B,GAA3E;;AACAA,EAAAA,OAAO,CAAC9gM,KAAR,GAAgB,aAAcC,kBAAkB,CAAC;AAAEC,IAAAA,KAAK,EAAE4gM,OAAT;AAAkB3gM,IAAAA,OAAO,EAAE2gM,OAAO,CAACjhM;AAAnC,GAAD,CAAhD;SAZMihM;;;AAaN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO1gM,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDgvL,gBAAgB,CAAC0R,OAAD,EAAU,CAAC;AACrF1tM,IAAAA,IAAI,EAAEsF;AAD+E,GAAD,CAAV,EAE1E,IAF0E,EAEpE,IAFoE,CAAnE;AAEO,CAFtB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMuoM,WAAW,gBAAG,IAAInuK,cAAJ,CAAmB,UAAnB,CAApB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM4hD,qBAAqB,gBAAG,IAAI5hD,cAAJ,CAAmB,qBAAnB,CAA9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMouK,YAAY,gBAAG,IAAIpuK,cAAJ,CAAmB,cAAnB,CAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMquK,mBAAmB,gBAAG,IAAIruK,cAAJ,CAAmB,oBAAnB,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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OAAOq0F,IAAP,KAAgB,WAAhB,IAA+BE,2BAA/B,IAA8DC,0BAAlE,EAA8F;AAC1F;AACA;AACA,UAAMC,8BAA8B,GAAGF,2BAA2B,CAACF,IAAI,CAACK,UAAL,CAAgB,kBAAhB,CAAD,CAAlE;;AACA,QAAID,8BAAJ,EAAoC;AAChCF,MAAAA,2BAA2B,GAAGE,8BAA9B;AACH;;AACD,UAAME,6BAA6B,GAAGH,0BAA0B,CAACH,IAAI,CAACK,UAAL,CAAgB,kBAAhB,CAAD,CAAhE;;AACA,QAAIC,6BAAJ,EAAmC;AAC/BH,MAAAA,0BAA0B,GAAGG,6BAA7B;AACH;AACJ;;AACD,SAAO;AAAEJ,IAAAA,2BAAF;AAA+BC,IAAAA;AAA/B,GAAP;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,MAAM5wK,MAAN,CAAa;AACT19B,EAAAA,WAAW,CAAC;AAAE0uM,IAAAA,oBAAoB,GAAG,KAAzB;AAAgCC,IAAAA,kCAAkC,GAAG,KAArE;AAA4EC,IAAAA,gCAAgC,GAAG;AAA/G,GAAD,EAAyH;AAChI,SAAKC,oBAAL,GAA4B,KAA5B;AACA,SAAKC,oBAAL,GAA4B,KAA5B;AACA;AACR;AACA;;AACQ,SAAKthK,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;;AACQ,SAAKuhK,UAAL,GAAkB,IAAI/wK,YAAJ,CAAiB,KAAjB,CAAlB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKgxK,gBAAL,GAAwB,I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EAAyB;AACrBnxC,IAAAA,GAAG,GAAGmxC,IAAI,CAAC19J,MAAL,CAAYq0M,cAAZ,EAA4B9nF,GAA5B,CAAN;AACH,GAFD,MAGK;AACDA,IAAAA,GAAG,GAAGnqH,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB+rG,GAAlB,CAAd,EAAsCmxC,IAAtC,CAAN;AACH;;AACD,SAAOnxC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM/lE;AAAN,QAAMA,cAAN,CAAqB;AACjB;AACArpD,IAAAA,WAAW,CAACs3M,KAAD,EAAQ11I,SAAR,EAAmB21I,iBAAnB,EAAsC71I,yBAAtC,EAAiE81I,WAAjE,EAA8E;AACrF,WAAKF,KAAL,GAAaA,KAAb;AACA,WAAK11I,SAAL,GAAiBA,SAAjB;AACA,WAAK21I,iBAAL,GAAyBA,iBAAzB;AACA,WAAK71I,yBAAL,GAAiCA,yBAAjC;AACA,WAAK81I,WAAL,GAAmBA,WAAnB;AACA;;AACA,WAAKC,mBAAL,GAA2B,EAA3B;AACA,WAAKC,MAAL,GAAc,EAAd;AACA,WAAKC,YAAL,GAAoB,KAApB;AACA,WAAKC,OAAL,GAAe,IAAf;AACA;AACR;AACA;AACA;;AACQ,WAAKC,cAAL,GAAsB,EAAtB;AACA;AACR;AACA;;AACQ,WAAK11E,UAAL,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B,EAA8BmzM,UAA9B,EAA0CN,UAA1C,EAAsD;AAClD,MAAI,CAAC7yM,KAAL,EAAY;AACR,UAAM,IAAInB,KAAJ,CAAW,gBAAeg0M,UAAW,SAAQM,UAAW,GAAxD,CAAN;AACH;;AACD,SAAOnzM,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMozM,SAAN,SAAwB3sI,iBAAxB,CAA0C;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM4sI,eAAN,SAA8BD,SAA9B,CAAwC;AAGxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAME,kBAAN,CAAyB;AACrBl6M,EAAAA,WAAW,CAAC9B,IAAD,EAAO4H,QAAP,EAAiB;AACxB,SAAK5H,IAAL,GAAYA,IAAZ;AACA,SAAK4H,QAAL,GAAgBA,QAAhB;AACH;;AAJoB;;AAMzB,MAAMq0M,mBAAN,CAA0B;AACtBn6M,EAAAA,WAAW,CAACo6M,UAAD,EAAarwL,MAAb,EAAqBswL,aAArB,EAAoC;AAC3C,SAAK9yL,SAAL,GAAiB,EAAjB;AACA,SAAKwC,MAAL,GAAc,IAAd;AACA,SAAKswL,aAAL,GAAqBA,aAArB;AACA,SAAKD,UAAL,GAAkBA,UAAlB;;AACA,QAAIrwL,MAAM,IAAIA,MAAM,YAAYuwL,sBAAhC,EAAwD;AACpDvwL,MAAAA,MAAM,CAACwwL,QAAP,CAAgB,IAAhB;AACH;AACJ;;AACW,MAAR9wI,QAAQ,GAAG;AACX,WAAO,KAAK4wI,aAAL,CAAmB5wI,QAA1B;AACH;;AACoB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,MAAM23N,aAAa,gBAAG,IAAIh8L,yDAAJ,CAAmB,cAAnB,CAAtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMi8L,mBAAmB,gBAAG,IAAIj8L,yDAAJ,CAAmB,mBAAnB,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMk8L,YAAY,GAAG,oMAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,UAAN,CAAiB;AACb;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACc,SAAH92N,GAAG,CAACA,GAAD,EAAM;AACZ,WAAO+2N,YAAY,CAAC/2N,GAAD,CAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACc,SAAHH,GAAG,CAACA,GAAD,EAAM;AACZ,WAAOm3N,YAAY,CAACn3N,GAAD,CAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACmB,SAARo3N,QAAQ,CAACC,OAAD,EAAU;AACrB,WAAOC,iBAAiB,CAACD,OAAD,CAAxB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACuB,SAAZE,YAAY,CAACF,OAAD,EAAU;AACzB,WAAOG,qBAAqB,CAACH,OAAD,CAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACgB,SAALI,KAAK,CAACJ,OAAD,EAAU;AAClB,WAAOK,cAAc,CAACL,OAAD,CAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACoB,SAATM,SAAS,CAACA,SAAD,EAAY;AACxB,WAAOC,kBAAkB,CAACD,SAAD,CAAzB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACoB,SAATE,SAAS,CAACA,SAAD,EAAY;AACxB,WAAOC,kBAAkB,CAACD,SAAD,CAAzB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACkB,SAAPjoI,OAAO,CAACA,OAAD,EAAU;AACpB,WAAOmoI,gBAAgB,CAACnoI,OAAD,CAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACwB,SAAbooI,aAAa,CAACX,OAAD,EAAU;AAC1B,WAAOW,aAAa,CAACX,OAAD,CAApB;AACH;;AACa,SAAPY,OAAO,CAACC,UAAD,EAAa;AACvB,WAAOD,OAAO,CAACC,UAAD,CAAd;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACuB,SAAZC,YAAY,CAACD,UAAD,EAAa;AAC5B,WAAOC,YAAY,CAACD,UAAD,CAAnB;AACH;;AAlRY;AAoRjB;AACA;AACA;AACA;;;AACA,SAAShB,YAAT,CAAsB/2N,GAAtB,EAA2B;AACvB,SAAQk3N,OAAD,IAAa;AAChB,QAAIT,iBAAiB,CAACS,OAAO,CAACzzN,KAAT,CAAjB,IAAoCgzN,iBAAiB,CAACz2N,GAAD,CAAzD,EAAgE;AAC5D,aAAO,IAAP,CAD4D,CAC/C;AAChB;;AACD,UAAMyD,KAAK,GAAGyF,UAAU,CAACguN,OAAO,CAACzzN,KAAT,CAAxB,CAJgB,CAKhB;AACA;;AACA,WAAO,CAACkkC,KAAK,CAAClkC,KAAD,CAAN,IAAiBA,KAAK,GAAGzD,GAAzB,GAA+B;AAAE,aAAO;AAAE,eAAOA,GAAT;AAAc,kBAAUk3N,OAAO,CAACzzN;AAAhC;AAAT,KAA/B,GAAoF,IAA3F;AACH,GARD;AASH;AACD;AACA;AACA;AACA;;;AACA,SAASuzN,YAAT,CAAsBn3N,GAAtB,EAA2B;AACvB,SAAQq3N,OAAD,IAAa;AAChB,QAAIT,iBAAiB,CAACS,OAAO,CAACzzN,KAAT,CAAjB,IAAoCgzN,iBAAiB,CAAC52N,GAAD,CAAzD,EAAgE;AAC5D,aAAO,IAAP,CAD4D,CAC/C;AAChB;;AACD,UAAM4D,KAAK,GAAGyF,UAAU,CAACguN,OAAO,CAACzzN,KAAT,CAAxB,CAJgB,CAKhB;AACA;;AACA,WAAO,CAACkkC,KAAK,CAAClkC,KAAD,CAAN,IAAiBA,KAAK,GAAG5D,GAAzB,GAA+B;AAAE,aAAO;AAAE,eAAOA,GAAT;AAAc,kBAAUq3N,OAAO,CAACzzN;AAAhC;AAAT,KAA/B,GAAoF,IAA3F;AACH,GARD;AASH;AACD;AACA;AACA;AACA;;;AACA,SAAS0zN,iBAAT,CAA2BD,OAA3B,EAAoC;AAChC,SAAOT,iBAAiB,CAACS,OAAO,CAACzzN,KAAT,CAAjB,GAAmC;AAAE,gBAAY;AAAd,GAAnC,GAA0D,IAAjE;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS4zN,qBAAT,CAA+BH,OAA/B,EAAwC;AACpC,SAAOA,OAAO,CAACzzN,KAAR,KAAkB,IAAlB,GAAyB,IAAzB,GAAgC;AAAE,gBAAY;AAAd,GAAvC;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS8zN,cAAT,CAAwBL,OAAxB,EAAiC;AAC7B,MAAIT,iBAAiB,CAACS,OAAO,CAACzzN,KAAT,CAArB,EAAsC;AAClC,WAAO,IAAP,CADkC,CACrB;AAChB;;AACD,SAAOozN,YAAY,CAACt+L,IAAb,CAAkB2+L,OAAO,CAACzzN,KAA1B,IAAmC,IAAnC,GAA0C;AAAE,aAAS;AAAX,GAAjD;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASg0N,kBAAT,CAA4BD,SAA5B,EAAuC;AACnC,SAAQN,OAAD,IAAa;AAChB,QAAIT,iBAAiB,CAACS,OAAO,CAACzzN,KAAT,CAAjB,IAAoC,CAACizN,cAAc,CAACQ,OAAO,CAACzzN,KAAT,CAAvD,EAAwE;AACpE;AACA;AACA,aAAO,IAAP;AACH;;AACD,WAAOyzN,OAAO,CAACzzN,KAAR,CAAczE,MAAd,GAAuBw4N,SAAvB,GACH;AAAE,mBAAa;AAAE,0BAAkBA,SAApB;AAA+B,wBAAgBN,OAAO,CAACzzN,KAAR,CAAczE;AAA7D;AAAf,KADG,GAEH,IAFJ;AAGH,GATD;AAUH;AACD;AACA;AACA;AACA;;;AACA,SAAS24N,kBAAT,CAA4BD,SAA5B,EAAuC;AACnC,SAAQR,OAAD,IAAa;AAChB,WAAOR,cAAc,CAACQ,OAAO,CAACzzN,KAAT,CAAd,IAAiCyzN,OAAO,CAACzzN,KAAR,CAAczE,MAAd,GAAuB04N,SAAxD,GACH;AAAE,mBAAa;AAAE,0BAAkBA,SAApB;AAA+B,wBAAgBR,OAAO,CAACzzN,KAAR,CAAczE;AAA7D;AAAf,KADG,GAEH,IAFJ;AAGH,GAJD;AAKH;AACD;AACA;AACA;AACA;;;AACA,SAAS44N,gBAAT,CAA0BnoI,OAA1B,EAAmC;AAC/B,MAAI,CAACA,OAAL,EACI,OAAOooI,aAAP;AACJ,MAAIpuN,KAAJ;AACA,MAAIwuN,QAAJ;;AACA,MAAI,OAAOxoI,OAAP,KAAmB,QAAvB,EAAiC;AAC7BwoI,IAAAA,QAAQ,GAAG,EAAX;AACA,QAAIxoI,OAAO,CAAC/oF,MAAR,CAAe,CAAf,MAAsB,GAA1B,EACIuxN,QAAQ,IAAI,GAAZ;AACJA,IAAAA,QAAQ,IAAIxoI,OAAZ;AACA,QAAIA,OAAO,CAAC/oF,MAAR,CAAe+oF,OAAO,CAACzwF,MAAR,GAAiB,CAAhC,MAAuC,GAA3C,EACIi5N,QAAQ,IAAI,GAAZ;AACJxuN,IAAAA,KAAK,GAAG,IAAIkC,MAAJ,CAAWssN,QAAX,CAAR;AACH,GARD,MASK;AACDA,IAAAA,QAAQ,GAAGxoI,OAAO,CAAC3uF,QAAR,EAAX;AACA2I,IAAAA,KAAK,GAAGgmF,OAAR;AACH;;AACD,SAAQynI,OAAD,IAAa;AAChB,QAAIT,iBAAiB,CAACS,OAAO,CAACzzN,KAAT,CAArB,EAAsC;AAClC,aAAO,IAAP,CADkC,CACrB;AAChB;;AACD,UAAMA,KAAK,GAAGyzN,OAAO,CAACzzN,KAAtB;AACA,WAAOgG,KAAK,CAAC8uB,IAAN,CAAW90B,KAAX,IAAoB,IAApB,GACH;AAAE,iBAAW;AAAE,2BAAmBw0N,QAArB;AAA+B,uBAAex0N;AAA9C;AAAb,KADJ;AAEH,GAPD;AAQH;AACD;AACA;AACA;;;AACA,SAASo0N,aAAT,CAAuBX,OAAvB,EAAgC;AAC5B,SAAO,IAAP;AACH;;AACD,SAASgB,SAAT,CAAmB1kE,CAAnB,EAAsB;AAClB,SAAOA,CAAC,IAAI,IAAZ;AACH;;AACD,SAAS2kE,YAAT,CAAsBx4H,CAAtB,EAAyB;AACrB,QAAMy4H,GAAG,GAAGh8I,4DAAU,CAACujB,CAAD,CAAV,GAAgBj1E,0CAAI,CAACi1E,CAAD,CAApB,GAA0BA,CAAtC;;AACA,MAAI,CAAEkyH,+DAAa,CAACuG,GAAD,CAAf,KAA0B,OAAOnwN,SAAP,KAAqB,WAArB,IAAoCA,SAA9D,CAAJ,EAA8E;AAC1E,UAAM,IAAI3F,KAAJ,CAAW,qDAAX,CAAN;AACH;;AACD,SAAO81N,GAAP;AACH;;AACD,SAASC,WAAT,CAAqBC,aAArB,EAAoC;AAChC,MAAI5zI,GAAG,GAAG,EAAV,CADgC,CAEhC;AACA;;AACA4zI,EAAAA,aAAa,CAAC56N,OAAd,CAAuB6D,MAAD,IAAY;AAC9BmjF,IAAAA,GAAG,GAAGnjF,MAAM,IAAI,IAAV,GAAiBO,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBwkE,GAAlB,CAAd,EAAsCnjF,MAAtC,CAAjB,GAAiEmjF,GAAvE;AACH,GAFD;AAGA,SAAO5iF,MAAM,CAACC,IAAP,CAAY2iF,GAAZ,EAAiB1lF,MAAjB,KAA4B,CAA5B,GAAgC,IAAhC,GAAuC0lF,GAA9C;AACH;;AACD,SAAS6zI,iBAAT,CAA2BrB,OAA3B,EAAoCa,UAApC,EAAgD;AAC5C,SAAOA,UAAU,CAACz0N,GAAX,CAAek1N,SAAS,IAAIA,SAAS,CAACtB,OAAD,CAArC,CAAP;AACH;;AACD,SAASuB,aAAT,CAAuBD,SAAvB,EAAkC;AAC9B,SAAO,CAACA,SAAS,CAACE,QAAlB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,mBAAT,CAA6BZ,UAA7B,EAAyC;AACrC,SAAOA,UAAU,CAACz0N,GAAX,CAAek1N,SAAS,IAAI;AAC/B,WAAOC,aAAa,CAACD,SAAD,CAAb,GACHA,SADG,GAED1jM,CAAD,IAAO0jM,SAAS,CAACE,QAAV,CAAmB5jM,CAAnB,CAFZ;AAGH,GAJM,CAAP;AAKH;AACD;AACA;AACA;AACA;;;AACA,SAASgjM,OAAT,CAAiBC,UAAjB,EAA6B;AACzB,MAAI,CAACA,UAAL,EACI,OAAO,IAAP;AACJ,QAAMa,iBAAiB,GAAGb,UAAU,CAACphN,MAAX,CAAkBuhN,SAAlB,CAA1B;AACA,MAAIU,iBAAiB,CAAC55N,MAAlB,IAA4B,CAAhC,EACI,OAAO,IAAP;AACJ,SAAO,UAAUk4N,OAAV,EAAmB;AACtB,WAAOmB,WAAW,CAACE,iBAAiB,CAACrB,OAAD,EAAU0B,iBAAV,CAAlB,CAAlB;AACH,GAFD;AAGH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,iBAAT,CAA2Bd,UAA3B,EAAuC;AACnC,SAAOA,UAAU,IAAI,IAAd,GAAqBD,OAAO,CAACa,mBAAmB,CAACZ,UAAD,CAApB,CAA5B,GAAgE,IAAvE;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASC,YAAT,CAAsBD,UAAtB,EAAkC;AAC9B,MAAI,CAACA,UAAL,EACI,OAAO,IAAP;AACJ,QAAMa,iBAAiB,GAAGb,UAAU,CAACphN,MAAX,CAAkBuhN,SAAlB,CAA1B;AACA,MAAIU,iBAAiB,CAAC55N,MAAlB,IAA4B,CAAhC,EACI,OAAO,IAAP;AACJ,SAAO,UAAUk4N,OAAV,EAAmB;AACtB,UAAM4B,WAAW,GAAGP,iBAAiB,CAACrB,OAAD,EAAU0B,iBAAV,CAAjB,CAA8Ct1N,GAA9C,CAAkD60N,YAAlD,CAApB;AACA,WAAOhE,8CAAQ,CAAC2E,WAAD,CAAR,CAAsB71L,IAAtB,CAA2B3/B,mDAAG,CAAC+0N,WAAD,CAA9B,CAAP;AACH,GAHD;AAIH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASU,sBAAT,CAAgChB,UAAhC,EAA4C;AACxC,SAAOA,UAAU,IAAI,IAAd,GAAqBC,YAAY,CAACW,mBAAmB,CAACZ,UAAD,CAApB,CAAjC,GACH,IADJ;AAEH;AACD;AACA;AACA;AACA;;;AACA,SAASiB,eAAT,CAAyBC,iBAAzB,EAA4CC,YAA5C,EAA0D;AACtD,MAAID,iBAAiB,KAAK,IAA1B,EACI,OAAO,CAACC,YAAD,CAAP;AACJ,SAAO9uN,KAAK,CAACC,OAAN,CAAc4uN,iBAAd,IAAmC,CAAC,GAAGA,iBAAJ,EAAuBC,YAAvB,CAAnC,GACH,CAACD,iBAAD,EAAoBC,YAApB,CADJ;AAEH;AACD;AACA;AACA;;;AACA,SAASC,oBAAT,CAA8BjC,OAA9B,EAAuC;AACnC,SAAOA,OAAO,CAACkC,cAAf;AACH;AACD;AACA;AACA;;;AACA,SAASC,yBAAT,CAAmCnC,OAAnC,EAA4C;AACxC,SAAOA,OAAO,CAACoC,mBAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,mBAAT,CAA6BxB,UAA7B,EAAyC;AACrC,MAAI,CAACA,UAAL,EACI,OAAO,EAAP;AACJ,SAAO3tN,KAAK,CAACC,OAAN,CAAc0tN,UAAd,IAA4BA,UAA5B,GAAyC,CAACA,UAAD,CAAhD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyB,YAAT,CAAsBzB,UAAtB,EAAkCS,SAAlC,EAA6C;AACzC,SAAOpuN,KAAK,CAACC,OAAN,CAAc0tN,UAAd,IAA4BA,UAAU,CAAC0B,QAAX,CAAoBjB,SAApB,CAA5B,GAA6DT,UAAU,KAAKS,SAAnF;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkB,aAAT,CAAuB3B,UAAvB,EAAmC4B,iBAAnC,EAAsD;AAClD,QAAM94G,OAAO,GAAG04G,mBAAmB,CAACI,iBAAD,CAAnC;AACA,QAAMC,eAAe,GAAGL,mBAAmB,CAACxB,UAAD,CAA3C;AACA6B,EAAAA,eAAe,CAACl8N,OAAhB,CAAyBkX,CAAD,IAAO;AAC3B;AACA;AACA;AACA;AACA,QAAI,CAAC4kN,YAAY,CAAC34G,OAAD,EAAUjsG,CAAV,CAAjB,EAA+B;AAC3BisG,MAAAA,OAAO,CAAChjH,IAAR,CAAa+W,CAAb;AACH;AACJ,GARD;AASA,SAAOisG,OAAP;AACH;;AACD,SAASg5G,gBAAT,CAA0B9B,UAA1B,EAAsC4B,iBAAtC,EAAyD;AACrD,SAAOJ,mBAAmB,CAACI,iBAAD,CAAnB,CAAuChjN,MAAvC,CAA8C/B,CAAC,IAAI,CAAC4kN,YAAY,CAACzB,UAAD,EAAanjN,CAAb,CAAhE,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMklN;AAAN,QAAMA,wBAAN,CAA+B;AAC3Bj9N,IAAAA,WAAW,GAAG;AACV;AACR;AACA;AACA;AACQ,WAAKu8N,cAAL,GAAsB,EAAtB;AACA;AACR;AACA;AACA;AACA;;AACQ,WAAKE,mBAAL,GAA2B,EAA3B;AACA;AACR;AACA;;AACQ,WAAKS,mBAAL,GAA2B,EAA3B;AACH;AACD;AACJ;AACA;AACA;;;AACa,QAALt2N,KAAK,GAAG;AACR,aAAO,KAAKyzN,OAAL,GAAe,KAAKA,OAAL,CAAazzN,KAA5B,GAAoC,IAA3C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACa,QAALu2N,KAAK,GAAG;AACR,aAAO,KAAK9C,OAAL,GAAe,KAAKA,OAAL,CAAa8C,KAA5B,GAAoC,IAA3C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACe,QAAPC,OAAO,GAAG;AACV,aAAO,KAAK/C,OAAL,GAAe,KAAKA,OAAL,CAAa+C,OAA5B,GAAsC,IAA7C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACe,QAAPlrB,OAAO,GAAG;AACV,aAAO,KAAKmoB,OAAL,GAAe,KAAKA,OAAL,CAAanoB,OAA5B,GAAsC,IAA7C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACgB,QAARjsM,QAAQ,GAAG;AACX,aAAO,KAAKo0N,OAAL,GAAe,KAAKA,OAAL,CAAap0N,QAA5B,GAAuC,IAA9C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACe,QAAP0/B,OAAO,GAAG;AACV,aAAO,KAAK00L,OAAL,GAAe,KAAKA,OAAL,CAAa10L,OAA5B,GAAsC,IAA7C;AACH;AACD;AACJ;AACA;AACA;;;AACc,QAANjhC,MAAM,GAAG;AACT,aAAO,KAAK21N,OAAL,GAAe,KAAKA,OAAL,CAAa31N,MAA5B,GAAqC,IAA5C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACgB,QAAR24N,QAAQ,GAAG;AACX,aAAO,KAAKhD,OAAL,GAAe,KAAKA,OAAL,CAAagD,QAA5B,GAAuC,IAA9C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACa,QAAL/9E,KAAK,GAAG;AACR,aAAO,KAAK+6E,OAAL,GAAe,KAAKA,OAAL,CAAa/6E,KAA5B,GAAoC,IAA3C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACe,QAAPg+E,OAAO,GAAG;AACV,aAAO,KAAKjD,OAAL,GAAe,KAAKA,OAAL,CAAaiD,OAA5B,GAAsC,IAA7C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACc,QAANjmM,MAAM,GAAG;AACT,aAAO,KAAKgjM,OAAL,GAAe,KAAKA,OAAL,CAAahjM,MAA5B,GAAqC,IAA5C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACiB,QAATkmM,SAAS,GAAG;AACZ,aAAO,KAAKlD,OAAL,GAAe,KAAKA,OAAL,CAAakD,SAA5B,GAAwC,IAA/C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACqB,QAAbC,aAAa,GAAG;AAChB,aAAO,KAAKnD,OAAL,GAAe,KAAKA,OAAL,CAAamD,aAA5B,GAA4C,IAAnD;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACoB,QAAZC,YAAY,GAAG;AACf,aAAO,KAAKpD,OAAL,GAAe,KAAKA,OAAL,CAAaoD,YAA5B,GAA2C,IAAlD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACY,QAAJl6I,IAAI,GAAG;AACP,aAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIm6I,IAAAA,cAAc,CAACxC,UAAD,EAAa;AACvB,WAAKqB,cAAL,GAAsBrB,UAAU,IAAI,EAApC;AACA,WAAKyC,oBAAL,GAA4B3B,iBAAiB,CAAC,KAAKO,cAAN,CAA7C;AACH;AACD;AACJ;AACA;AACA;;;AACIqB,IAAAA,mBAAmB,CAAC1C,UAAD,EAAa;AAC5B,WAAKuB,mBAAL,GAA2BvB,UAAU,IAAI,EAAzC;AACA,WAAK2C,yBAAL,GAAiC3B,sBAAsB,CAAC,KAAKO,mBAAN,CAAvD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACiB,QAATd,SAAS,GAAG;AACZ,aAAO,KAAKgC,oBAAL,IAA6B,IAApC;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACsB,QAAdG,cAAc,GAAG;AACjB,aAAO,KAAKD,yBAAL,IAAkC,IAAzC;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIE,IAAAA,kBAAkB,CAACj9N,EAAD,EAAK;AACnB,WAAKo8N,mBAAL,CAAyBl8N,IAAzB,CAA8BF,EAA9B;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIk9N,IAAAA,yBAAyB,GAAG;AACxB,WAAKd,mBAAL,CAAyBr8N,OAAzB,CAAiCC,EAAE,IAAIA,EAAE,EAAzC;;AACA,WAAKo8N,mBAAL,GAA2B,EAA3B;AACH;AACD;AACJ;AACA;AACA;;;AACIt7N,IAAAA,KAAK,CAACgF,KAAK,GAAGN,SAAT,EAAoB;AACrB,UAAI,KAAK+zN,OAAT,EACI,KAAKA,OAAL,CAAaz4N,KAAb,CAAmBgF,KAAnB;AACP;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIq3N,IAAAA,QAAQ,CAACC,SAAD,EAAY36I,IAAZ,EAAkB;AACtB,aAAO,KAAK82I,OAAL,GAAe,KAAKA,OAAL,CAAa4D,QAAb,CAAsBC,SAAtB,EAAiC36I,IAAjC,CAAf,GAAwD,KAA/D;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI46I,IAAAA,QAAQ,CAACD,SAAD,EAAY36I,IAAZ,EAAkB;AACtB,aAAO,KAAK82I,OAAL,GAAe,KAAKA,OAAL,CAAa8D,QAAb,CAAsBD,SAAtB,EAAiC36I,IAAjC,CAAf,GAAwD,IAA/D;AACH;;AApQ0B;;AAsQ/B05I,EAAAA,wBAAwB,CAACpyN,IAAzB,GAAgC,SAASuzN,gCAAT,CAA0CrzN,CAA1C,EAA6C;AAAE,WAAO,KAAKA,CAAC,IAAIkyN,wBAAV,GAAP;AAA+C,GAA9H;;AACAA,EAAAA,wBAAwB,CAACpuL,IAAzB,GAAgC,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE6+N;AAAR,GAAzB,CAA9C;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;SAvRMA;;IAwRAoB;AAAN,QAAMA,gBAAN,SAA+BpB,wBAA/B,CAAwD;AACpD;AACJ;AACA;AACA;AACqB,QAAbqB,aAAa,GAAG;AAChB,aAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACY,QAAJ/6I,IAAI,GAAG;AACP,aAAO,IAAP;AACH;;AAdmD;;AAgBxD86I,EAAAA,gBAAgB,CAACxzN,IAAjB,GAAwB,aAAc,YAAY;AAAE,QAAI0zN,6BAAJ;AAAmC,WAAO,SAASC,wBAAT,CAAkCzzN,CAAlC,EAAqC;AAAE,aAAO,CAACwzN,6BAA6B,KAAKA,6BAA6B,GAAG56N,mEAAA,CAA6B06N,gBAA7B,CAArC,CAA9B,EAAoHtzN,CAAC,IAAIszN,gBAAzH,CAAP;AAAoJ,KAAlM;AAAqM,GAAtP,EAAtC;;AACAA,EAAAA,gBAAgB,CAACxvL,IAAjB,GAAwB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEigO,gBAAR;AAA0BnvL,IAAAA,QAAQ,EAAE,CAACvrC,wEAAD;AAApC,GAAzB,CAAtC;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;SAjCM06N;;;AAkCN,MAAMI,SAAN,SAAwBxB,wBAAxB,CAAiD;AAC7Cj9N,EAAAA,WAAW,GAAG;AACV,UAAM,GAAGwoC,SAAT;AACA;AACR;AACA;AACA;AACA;AACA;;AACQ,SAAK23H,OAAL,GAAe,IAAf;AACA;AACR;AACA;AACA;;AACQ,SAAKjiK,IAAL,GAAY,IAAZ;AACA;AACR;AACA;AACA;;AACQ,SAAKwgO,aAAL,GAAqB,IAArB;AACH;;AApB4C;AAuBjD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,qBAAN,CAA4B;AACxB3+N,EAAAA,WAAW,CAAC4+N,EAAD,EAAK;AACZ,SAAKC,GAAL,GAAWD,EAAX;AACH;;AACD9oE,EAAAA,EAAE,CAACz+H,MAAD,EAAS;AACP,QAAIgD,EAAJ,EAAQkY,EAAR,EAAYwrJ,EAAZ,CADO,CAEP;AACA;AACA;AACA;AACA;AACA;;;AACA,QAAI1mK,MAAM,KAAK,WAAf,EAA4B;AACxB;AACA;AACA,aAAO,CAAC,EAAE,CAACgD,EAAE,GAAG,KAAKwkM,GAAX,MAAoB,IAApB,IAA4BxkM,EAAE,KAAK,KAAK,CAAxC,GAA4C,KAAK,CAAjD,GAAqDA,EAAE,CAACykM,SAA1D,CAAR;AACH;;AACD,WAAO,CAAC,EAAE,CAAC/gC,EAAE,GAAG,CAACxrJ,EAAE,GAAG,KAAKssL,GAAX,MAAoB,IAApB,IAA4BtsL,EAAE,KAAK,KAAK,CAAxC,GAA4C,KAAK,CAAjD,GAAqDA,EAAE,CAAC8nL,OAA9D,MAA2E,IAA3E,IAAmFt8B,EAAE,KAAK,KAAK,CAA/F,GAAmG,KAAK,CAAxG,GAA4GA,EAAE,CAAC1mK,MAAD,CAAhH,CAAR;AACH;;AAlBuB;;AAoB5B,MAAM0nM,mBAAmB,GAAG;AACxB,0BAAwB,iBADA;AAExB,wBAAsB,eAFE;AAGxB,yBAAuB,gBAHC;AAIxB,sBAAoB,aAJI;AAKxB,sBAAoB,aALI;AAMxB,wBAAsB,eANE;AAOxB,wBAAsB;AAPE,CAA5B;AASA,MAAMC,iBAAiB,GAAG;AACtB,0BAAwB,iBADF;AAEtB,wBAAsB,eAFA;AAGtB,yBAAuB,gBAHD;AAItB,sBAAoB,aAJE;AAKtB,sBAAoB,aALE;AAMtB,wBAAsB,eANA;AAOtB,wBAAsB,eAPA;AAQtB,0BAAwB;AARF,CAA1B;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC;AAAN,QAAMA,eAAN,SAA8BN,qBAA9B,CAAoD;AAChD3+N,IAAAA,WAAW,CAAC4+N,EAAD,EAAK;AACZ,YAAMA,EAAN;AACH;;AAH+C;;AAKpDK,EAAAA,eAAe,CAACp0N,IAAhB,GAAuB,SAASq0N,uBAAT,CAAiCn0N,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAIk0N,eAAV,EAA2Bt7N,+DAAA,CAAyB86N,SAAzB,EAAoC,CAApC,CAA3B,CAAP;AAA4E,GAAzI;;AACAQ,EAAAA,eAAe,CAACpwL,IAAhB,GAAuB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE6gO,eAAR;AAAyBlwL,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,iBAAL,EAAwB,EAAxB,CAAD,EAA8B,CAAC,EAAD,EAAK,SAAL,EAAgB,EAAhB,CAA9B,EAAmD,CAAC,EAAD,EAAK,aAAL,EAAoB,EAApB,CAAnD,CAApC;AAAiHoM,IAAAA,QAAQ,EAAE,EAA3H;AAA+HC,IAAAA,YAAY,EAAE,SAAS+jL,4BAAT,CAAsC7jL,EAAtC,EAA0CxgC,GAA1C,EAA+C;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAChQ33C,QAAAA,yDAAA,CAAmB,cAAnB,EAAmCmX,GAAG,CAACg7I,EAAJ,CAAO,WAAP,CAAnC,EAAwD,YAAxD,EAAsEh7I,GAAG,CAACg7I,EAAJ,CAAO,SAAP,CAAtE,EAAyF,aAAzF,EAAwGh7I,GAAG,CAACg7I,EAAJ,CAAO,UAAP,CAAxG,EAA4H,UAA5H,EAAwIh7I,GAAG,CAACg7I,EAAJ,CAAO,OAAP,CAAxI,EAAyJ,UAAzJ,EAAqKh7I,GAAG,CAACg7I,EAAJ,CAAO,OAAP,CAArK,EAAsL,YAAtL,EAAoMh7I,GAAG,CAACg7I,EAAJ,CAAO,SAAP,CAApM,EAAuN,YAAvN,EAAqOh7I,GAAG,CAACg7I,EAAJ,CAAO,SAAP,CAArO;AACH;AAAE,KAFuD;AAErD5mH,IAAAA,QAAQ,EAAE,CAACvrC,wEAAD;AAF2C,GAAzB,CAArC;SANMs7N;;;AAYN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO7zN,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAKe,CAL9B;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMg0N;AAAN,QAAMA,oBAAN,SAAmCT,qBAAnC,CAAyD;AACrD3+N,IAAAA,WAAW,CAAC4+N,EAAD,EAAK;AACZ,YAAMA,EAAN;AACH;;AAHoD;;AAKzDQ,EAAAA,oBAAoB,CAACv0N,IAArB,GAA4B,SAASw0N,4BAAT,CAAsCt0N,CAAtC,EAAyC;AAAE,WAAO,KAAKA,CAAC,IAAIq0N,oBAAV,EAAgCz7N,+DAAA,CAAyB06N,gBAAzB,EAA2C,EAA3C,CAAhC,CAAP;AAAyF,GAAhK;;AACAe,EAAAA,oBAAoB,CAACvwL,IAArB,GAA4B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEghO,oBAAR;AAA8BrwL,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,CAAD,EAA4B,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,CAA5B,EAAuD,CAAC,EAAD,EAAK,cAAL,EAAqB,EAArB,CAAvD,EAAiF,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,CAAjF,EAAwG,CAAC,MAAD,EAAS,CAAT,EAAY,UAAZ,EAAwB,EAAxB,CAAxG,EAAqI,CAAC,EAAD,EAAK,QAAL,EAAe,EAAf,CAArI,CAAzC;AAAmMoM,IAAAA,QAAQ,EAAE,EAA7M;AAAiNC,IAAAA,YAAY,EAAE,SAASkkL,iCAAT,CAA2ChkL,EAA3C,EAA+CxgC,GAA/C,EAAoD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC5V33C,QAAAA,yDAAA,CAAmB,cAAnB,EAAmCmX,GAAG,CAACg7I,EAAJ,CAAO,WAAP,CAAnC,EAAwD,YAAxD,EAAsEh7I,GAAG,CAACg7I,EAAJ,CAAO,SAAP,CAAtE,EAAyF,aAAzF,EAAwGh7I,GAAG,CAACg7I,EAAJ,CAAO,UAAP,CAAxG,EAA4H,UAA5H,EAAwIh7I,GAAG,CAACg7I,EAAJ,CAAO,OAAP,CAAxI,EAAyJ,UAAzJ,EAAqKh7I,GAAG,CAACg7I,EAAJ,CAAO,OAAP,CAArK,EAAsL,YAAtL,EAAoMh7I,GAAG,CAACg7I,EAAJ,CAAO,SAAP,CAApM,EAAuN,YAAvN,EAAqOh7I,GAAG,CAACg7I,EAAJ,CAAO,SAAP,CAArO,EAAwP,cAAxP,EAAwQh7I,GAAG,CAACg7I,EAAJ,CAAO,WAAP,CAAxQ;AACH;AAAE,KAF4D;AAE1D5mH,IAAAA,QAAQ,EAAE,CAACvrC,wEAAD;AAFgD,GAAzB,CAA1C;SANMy7N;;;AAYN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOh0N,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAUe,CAV9B;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMm0N,sBAAsB,GAAI;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MATA;AAUA,MAAMC,oBAAoB,GAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAXA;AAYA,MAAMC,oBAAoB,GAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAdA;AAeA,MAAMC,mBAAmB,GAAI;AAC7B;AACA;AACA;AACA;AACA,UALA;AAMA,MAAMC,2BAA2B,GAAI;AACrC;AACA;AACA;AACA;AACA,CALA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,sBAAT,GAAkC;AAC9B,SAAO,IAAIn6N,KAAJ,CAAW;AACtB;AACA;AACA;AACA;AACA,MAAM85N,sBAAuB,EALlB,CAAP;AAMH;;AACD,SAASM,qBAAT,GAAiC;AAC7B,SAAO,IAAIp6N,KAAJ,CAAW;AACtB;AACA;AACA;AACA;AACA,QAAQ+5N,oBAAqB;AAC7B;AACA;AACA;AACA,QAAQE,mBAAoB,EATjB,CAAP;AAUH;;AACD,SAASI,oBAAT,GAAgC;AAC5B,SAAO,IAAIr6N,KAAJ,CAAW;AACtB;AACA;AACA;AACA,QAAQ85N,sBAAuB,EAJpB,CAAP;AAKH;;AACD,SAASQ,oBAAT,GAAgC;AAC5B,SAAO,IAAIt6N,KAAJ,CAAW;AACtB;AACA;AACA;AACA;AACA,MAAM+5N,oBAAqB,EALhB,CAAP;AAMH;;AACD,SAASQ,oBAAT,GAAgC;AAC5B,SAAO,IAAIv6N,KAAJ,CAAW;AACtB;AACA;AACA;AACA;AACA,QAAQg6N,oBAAqB,EALlB,CAAP;AAMH;;AACD,MAAMQ,mBAAmB,GAAI;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAVA;;AAWA,SAASC,cAAT,CAAwBniI,aAAxB,EAAuC;AACnC,SAAQ;AACZ,iEAAiEA,aAAc;AAC/E;AACA;AACA;AACA;AACA;AACA,iCAAiCA,aAAa,KAAK,aAAlB,GAAkC,sBAAlC,GAA2D,iBAAkB;AAC9G,GARI;AASH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoiI,WAAT,CAAqBjiO,IAArB,EAA2B6rB,MAA3B,EAAmC;AAC/B,SAAO,CAAC,GAAGA,MAAM,CAACw5D,IAAX,EAAiBrlF,IAAjB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkiO,YAAT,CAAsB/F,OAAtB,EAA+B3/K,GAA/B,EAAoC;AAChC,MAAI,OAAOtvC,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,QAAI,CAACivN,OAAL,EACI1tB,WAAW,CAACjyJ,GAAD,EAAM,0BAAN,CAAX;AACJ,QAAI,CAACA,GAAG,CAACgkL,aAAT,EACI/xB,WAAW,CAACjyJ,GAAD,EAAM,yCAAN,CAAX;AACP;;AACD2lL,EAAAA,eAAe,CAAChG,OAAD,EAAU3/K,GAAV,CAAf;AACAA,EAAAA,GAAG,CAACgkL,aAAJ,CAAkBtG,UAAlB,CAA6BiC,OAAO,CAACzzN,KAArC;AACA05N,EAAAA,uBAAuB,CAACjG,OAAD,EAAU3/K,GAAV,CAAvB;AACA6lL,EAAAA,wBAAwB,CAAClG,OAAD,EAAU3/K,GAAV,CAAxB;AACA8lL,EAAAA,iBAAiB,CAACnG,OAAD,EAAU3/K,GAAV,CAAjB;AACA+lL,EAAAA,0BAA0B,CAACpG,OAAD,EAAU3/K,GAAV,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgmL,cAAT,CAAwBrG,OAAxB,EAAiC3/K,GAAjC,EAAsCimL,+BAA+B,GAAG,IAAxE,EAA8E;AAC1E,QAAMzyK,IAAI,GAAG,MAAM;AACf,QAAIyyK,+BAA+B,KAAK,OAAOv1N,SAAP,KAAqB,WAArB,IAAoCA,SAAzC,CAAnC,EAAwF;AACpFw1N,MAAAA,eAAe,CAAClmL,GAAD,CAAf;AACH;AACJ,GAJD,CAD0E,CAM1E;AACA;AACA;AACA;AACA;;;AACA,MAAIA,GAAG,CAACgkL,aAAR,EAAuB;AACnBhkL,IAAAA,GAAG,CAACgkL,aAAJ,CAAkB/G,gBAAlB,CAAmCzpK,IAAnC;AACAxT,IAAAA,GAAG,CAACgkL,aAAJ,CAAkBhH,iBAAlB,CAAoCxpK,IAApC;AACH;;AACD2yK,EAAAA,iBAAiB,CAACxG,OAAD,EAAU3/K,GAAV,CAAjB;;AACA,MAAI2/K,OAAJ,EAAa;AACT3/K,IAAAA,GAAG,CAACsjL,yBAAJ;;AACA3D,IAAAA,OAAO,CAACyG,2BAAR,CAAoC,MAAM,CAAG,CAA7C;AACH;AACJ;;AACD,SAASC,yBAAT,CAAmC7F,UAAnC,EAA+C1D,QAA/C,EAAyD;AACrD0D,EAAAA,UAAU,CAACr6N,OAAX,CAAoB86N,SAAD,IAAe;AAC9B,QAAIA,SAAS,CAACoF,yBAAd,EACIpF,SAAS,CAACoF,yBAAV,CAAoCvJ,QAApC;AACP,GAHD;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiJ,0BAAT,CAAoCpG,OAApC,EAA6C3/K,GAA7C,EAAkD;AAC9C,MAAIA,GAAG,CAACgkL,aAAJ,CAAkB9G,gBAAtB,EAAwC;AACpC,UAAMoJ,gBAAgB,GAAI/3L,UAAD,IAAgB;AACrCyR,MAAAA,GAAG,CAACgkL,aAAJ,CAAkB9G,gBAAlB,CAAmC3uL,UAAnC;AACH,KAFD;;AAGAoxL,IAAAA,OAAO,CAAC4G,wBAAR,CAAiCD,gBAAjC,EAJoC,CAKpC;AACA;;AACAtmL,IAAAA,GAAG,CAACqjL,kBAAJ,CAAuB,MAAM;AACzB1D,MAAAA,OAAO,CAAC6G,2BAAR,CAAoCF,gBAApC;AACH,KAFD;AAGH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASX,eAAT,CAAyBhG,OAAzB,EAAkC3/K,GAAlC,EAAuC;AACnC,QAAMwgL,UAAU,GAAGoB,oBAAoB,CAACjC,OAAD,CAAvC;;AACA,MAAI3/K,GAAG,CAACihL,SAAJ,KAAkB,IAAtB,EAA4B;AACxBtB,IAAAA,OAAO,CAAC8G,aAAR,CAAsBhF,eAAe,CAACjB,UAAD,EAAaxgL,GAAG,CAACihL,SAAjB,CAArC;AACH,GAFD,MAGK,IAAI,OAAOT,UAAP,KAAsB,UAA1B,EAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACAb,IAAAA,OAAO,CAAC8G,aAAR,CAAsB,CAACjG,UAAD,CAAtB;AACH;;AACD,QAAMkG,eAAe,GAAG5E,yBAAyB,CAACnC,OAAD,CAAjD;;AACA,MAAI3/K,GAAG,CAACojL,cAAJ,KAAuB,IAA3B,EAAiC;AAC7BzD,IAAAA,OAAO,CAACgH,kBAAR,CAA2BlF,eAAe,CAACiF,eAAD,EAAkB1mL,GAAG,CAACojL,cAAtB,CAA1C;AACH,GAFD,MAGK,IAAI,OAAOsD,eAAP,KAA2B,UAA/B,EAA2C;AAC5C/G,IAAAA,OAAO,CAACgH,kBAAR,CAA2B,CAACD,eAAD,CAA3B;AACH,GArBkC,CAsBnC;;;AACA,QAAME,iBAAiB,GAAG,MAAMjH,OAAO,CAACkH,sBAAR,EAAhC;;AACAR,EAAAA,yBAAyB,CAACrmL,GAAG,CAAC6hL,cAAL,EAAqB+E,iBAArB,CAAzB;AACAP,EAAAA,yBAAyB,CAACrmL,GAAG,CAAC+hL,mBAAL,EAA0B6E,iBAA1B,CAAzB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAST,iBAAT,CAA2BxG,OAA3B,EAAoC3/K,GAApC,EAAyC;AACrC,MAAI8mL,gBAAgB,GAAG,KAAvB;;AACA,MAAInH,OAAO,KAAK,IAAhB,EAAsB;AAClB,QAAI3/K,GAAG,CAACihL,SAAJ,KAAkB,IAAtB,EAA4B;AACxB,YAAMT,UAAU,GAAGoB,oBAAoB,CAACjC,OAAD,CAAvC;;AACA,UAAI9sN,KAAK,CAACC,OAAN,CAAc0tN,UAAd,KAA6BA,UAAU,CAAC/4N,MAAX,GAAoB,CAArD,EAAwD;AACpD;AACA,cAAMs/N,iBAAiB,GAAGvG,UAAU,CAACphN,MAAX,CAAkB6hN,SAAS,IAAIA,SAAS,KAAKjhL,GAAG,CAACihL,SAAjD,CAA1B;;AACA,YAAI8F,iBAAiB,CAACt/N,MAAlB,KAA6B+4N,UAAU,CAAC/4N,MAA5C,EAAoD;AAChDq/N,UAAAA,gBAAgB,GAAG,IAAnB;AACAnH,UAAAA,OAAO,CAAC8G,aAAR,CAAsBM,iBAAtB;AACH;AACJ;AACJ;;AACD,QAAI/mL,GAAG,CAACojL,cAAJ,KAAuB,IAA3B,EAAiC;AAC7B,YAAMsD,eAAe,GAAG5E,yBAAyB,CAACnC,OAAD,CAAjD;;AACA,UAAI9sN,KAAK,CAACC,OAAN,CAAc4zN,eAAd,KAAkCA,eAAe,CAACj/N,MAAhB,GAAyB,CAA/D,EAAkE;AAC9D;AACA,cAAMu/N,sBAAsB,GAAGN,eAAe,CAACtnN,MAAhB,CAAuBgkN,cAAc,IAAIA,cAAc,KAAKpjL,GAAG,CAACojL,cAAhE,CAA/B;;AACA,YAAI4D,sBAAsB,CAACv/N,MAAvB,KAAkCi/N,eAAe,CAACj/N,MAAtD,EAA8D;AAC1Dq/N,UAAAA,gBAAgB,GAAG,IAAnB;AACAnH,UAAAA,OAAO,CAACgH,kBAAR,CAA2BK,sBAA3B;AACH;AACJ;AACJ;AACJ,GAzBoC,CA0BrC;;;AACA,QAAMxzK,IAAI,GAAG,MAAM,CAAG,CAAtB;;AACA6yK,EAAAA,yBAAyB,CAACrmL,GAAG,CAAC6hL,cAAL,EAAqBruK,IAArB,CAAzB;AACA6yK,EAAAA,yBAAyB,CAACrmL,GAAG,CAAC+hL,mBAAL,EAA0BvuK,IAA1B,CAAzB;AACA,SAAOszK,gBAAP;AACH;;AACD,SAASlB,uBAAT,CAAiCjG,OAAjC,EAA0C3/K,GAA1C,EAA+C;AAC3CA,EAAAA,GAAG,CAACgkL,aAAJ,CAAkB/G,gBAAlB,CAAoCjgM,QAAD,IAAc;AAC7C2iM,IAAAA,OAAO,CAACsH,aAAR,GAAwBjqM,QAAxB;AACA2iM,IAAAA,OAAO,CAACuH,cAAR,GAAyB,IAAzB;AACAvH,IAAAA,OAAO,CAACwH,aAAR,GAAwB,IAAxB;AACA,QAAIxH,OAAO,CAACyH,QAAR,KAAqB,QAAzB,EACIC,aAAa,CAAC1H,OAAD,EAAU3/K,GAAV,CAAb;AACP,GAND;AAOH;;AACD,SAAS8lL,iBAAT,CAA2BnG,OAA3B,EAAoC3/K,GAApC,EAAyC;AACrCA,EAAAA,GAAG,CAACgkL,aAAJ,CAAkBhH,iBAAlB,CAAoC,MAAM;AACtC2C,IAAAA,OAAO,CAAC2H,eAAR,GAA0B,IAA1B;AACA,QAAI3H,OAAO,CAACyH,QAAR,KAAqB,MAArB,IAA+BzH,OAAO,CAACuH,cAA3C,EACIG,aAAa,CAAC1H,OAAD,EAAU3/K,GAAV,CAAb;AACJ,QAAI2/K,OAAO,CAACyH,QAAR,KAAqB,QAAzB,EACIzH,OAAO,CAAC4H,aAAR;AACP,GAND;AAOH;;AACD,SAASF,aAAT,CAAuB1H,OAAvB,EAAgC3/K,GAAhC,EAAqC;AACjC,MAAI2/K,OAAO,CAACwH,aAAZ,EACIxH,OAAO,CAAC6H,WAAR;AACJ7H,EAAAA,OAAO,CAACt1F,QAAR,CAAiBs1F,OAAO,CAACsH,aAAzB,EAAwC;AAAEQ,IAAAA,qBAAqB,EAAE;AAAzB,GAAxC;AACAznL,EAAAA,GAAG,CAAC0nL,iBAAJ,CAAsB/H,OAAO,CAACsH,aAA9B;AACAtH,EAAAA,OAAO,CAACuH,cAAR,GAAyB,KAAzB;AACH;;AACD,SAASrB,wBAAT,CAAkClG,OAAlC,EAA2C3/K,GAA3C,EAAgD;AAC5C,QAAM88K,QAAQ,GAAG,CAAC9/L,QAAD,EAAW2qM,cAAX,KAA8B;AAC3C;AACA3nL,IAAAA,GAAG,CAACgkL,aAAJ,CAAkBtG,UAAlB,CAA6B1gM,QAA7B,EAF2C,CAG3C;;AACA,QAAI2qM,cAAJ,EACI3nL,GAAG,CAAC0nL,iBAAJ,CAAsB1qM,QAAtB;AACP,GAND;;AAOA2iM,EAAAA,OAAO,CAAC1C,gBAAR,CAAyBH,QAAzB,EAR4C,CAS5C;AACA;;AACA98K,EAAAA,GAAG,CAACqjL,kBAAJ,CAAuB,MAAM;AACzB1D,IAAAA,OAAO,CAACiI,mBAAR,CAA4B9K,QAA5B;AACH,GAFD;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+K,kBAAT,CAA4BlI,OAA5B,EAAqC3/K,GAArC,EAA0C;AACtC,MAAI2/K,OAAO,IAAI,IAAX,KAAoB,OAAOjvN,SAAP,KAAqB,WAArB,IAAoCA,SAAxD,CAAJ,EACIuhM,WAAW,CAACjyJ,GAAD,EAAM,0BAAN,CAAX;AACJ2lL,EAAAA,eAAe,CAAChG,OAAD,EAAU3/K,GAAV,CAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8nL,oBAAT,CAA8BnI,OAA9B,EAAuC3/K,GAAvC,EAA4C;AACxC,SAAOmmL,iBAAiB,CAACxG,OAAD,EAAU3/K,GAAV,CAAxB;AACH;;AACD,SAASkmL,eAAT,CAAyBlmL,GAAzB,EAA8B;AAC1B,SAAOiyJ,WAAW,CAACjyJ,GAAD,EAAM,wEAAN,CAAlB;AACH;;AACD,SAASiyJ,WAAT,CAAqBjyJ,GAArB,EAA0B3Y,OAA1B,EAAmC;AAC/B,MAAI0gM,UAAJ;;AACA,MAAI/nL,GAAG,CAAC6oC,IAAJ,CAASphF,MAAT,GAAkB,CAAtB,EAAyB;AACrBsgO,IAAAA,UAAU,GAAI,UAAS/nL,GAAG,CAAC6oC,IAAJ,CAAS79E,IAAT,CAAc,MAAd,CAAsB,GAA7C;AACH,GAFD,MAGK,IAAIg1C,GAAG,CAAC6oC,IAAJ,CAAS,CAAT,CAAJ,EAAiB;AAClBk/I,IAAAA,UAAU,GAAI,UAAS/nL,GAAG,CAAC6oC,IAAK,GAAhC;AACH,GAFI,MAGA;AACDk/I,IAAAA,UAAU,GAAG,4BAAb;AACH;;AACD,QAAM,IAAIh9N,KAAJ,CAAW,GAAEs8B,OAAQ,IAAG0gM,UAAW,EAAnC,CAAN;AACH;;AACD,SAASC,iBAAT,CAA2B19L,OAA3B,EAAoC29L,SAApC,EAA+C;AAC3C,MAAI,CAAC39L,OAAO,CAACv4B,cAAR,CAAuB,OAAvB,CAAL,EACI,OAAO,KAAP;AACJ,QAAMs4B,MAAM,GAAGC,OAAO,CAAC,OAAD,CAAtB;AACA,MAAID,MAAM,CAACy+E,aAAP,EAAJ,EACI,OAAO,IAAP;AACJ,SAAO,CAACv+G,MAAM,CAAC6wJ,EAAP,CAAU6sE,SAAV,EAAqB59L,MAAM,CAAC25B,YAA5B,CAAR;AACH;;AACD,SAASkkK,iBAAT,CAA2BlE,aAA3B,EAA0C;AACtC;AACA;AACA,SAAOz5N,MAAM,CAAC8gG,cAAP,CAAsB24H,aAAa,CAAC1+N,WAApC,MAAqD83N,2BAA5D;AACH;;AACD,SAAS+K,mBAAT,CAA6Bn0I,IAA7B,EAAmC0uB,UAAnC,EAA+C;AAC3C1uB,EAAAA,IAAI,CAACo0I,oBAAL;;AACA1lH,EAAAA,UAAU,CAACv8G,OAAX,CAAmB65C,GAAG,IAAI;AACtB,UAAM2/K,OAAO,GAAG3/K,GAAG,CAAC2/K,OAApB;;AACA,QAAIA,OAAO,CAACyH,QAAR,KAAqB,QAArB,IAAiCzH,OAAO,CAACuH,cAA7C,EAA6D;AACzDlnL,MAAAA,GAAG,CAAC0nL,iBAAJ,CAAsB/H,OAAO,CAACsH,aAA9B;AACAtH,MAAAA,OAAO,CAACuH,cAAR,GAAyB,KAAzB;AACH;AACJ,GAND;AAOH,EACD;;;AACA,SAASmB,mBAAT,CAA6BroL,GAA7B,EAAkCsoL,cAAlC,EAAkD;AAC9C,MAAI,CAACA,cAAL,EACI,OAAO,IAAP;AACJ,MAAI,CAACz1N,KAAK,CAACC,OAAN,CAAcw1N,cAAd,CAAD,KAAmC,OAAO53N,SAAP,KAAqB,WAArB,IAAoCA,SAAvE,CAAJ,EACIuhM,WAAW,CAACjyJ,GAAD,EAAM,mEAAN,CAAX;AACJ,MAAIuoL,eAAe,GAAG38N,SAAtB;AACA,MAAI48N,eAAe,GAAG58N,SAAtB;AACA,MAAI68N,cAAc,GAAG78N,SAArB;AACA08N,EAAAA,cAAc,CAACniO,OAAf,CAAwBkX,CAAD,IAAO;AAC1B,QAAIA,CAAC,CAAC/X,WAAF,KAAkB64N,oBAAtB,EAA4C;AACxCoK,MAAAA,eAAe,GAAGlrN,CAAlB;AACH,KAFD,MAGK,IAAI6qN,iBAAiB,CAAC7qN,CAAD,CAArB,EAA0B;AAC3B,UAAImrN,eAAe,KAAK,OAAO93N,SAAP,KAAqB,WAArB,IAAoCA,SAAzC,CAAnB,EACIuhM,WAAW,CAACjyJ,GAAD,EAAM,iEAAN,CAAX;AACJwoL,MAAAA,eAAe,GAAGnrN,CAAlB;AACH,KAJI,MAKA;AACD,UAAIorN,cAAc,KAAK,OAAO/3N,SAAP,KAAqB,WAArB,IAAoCA,SAAzC,CAAlB,EACIuhM,WAAW,CAACjyJ,GAAD,EAAM,+DAAN,CAAX;AACJyoL,MAAAA,cAAc,GAAGprN,CAAjB;AACH;AACJ,GAdD;AAeA,MAAIorN,cAAJ,EACI,OAAOA,cAAP;AACJ,MAAID,eAAJ,EACI,OAAOA,eAAP;AACJ,MAAID,eAAJ,EACI,OAAOA,eAAP;;AACJ,MAAI,OAAO73N,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/CuhM,IAAAA,WAAW,CAACjyJ,GAAD,EAAM,+CAAN,CAAX;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAAS0oL,cAAT,CAAwBv5H,IAAxB,EAA8BhpE,EAA9B,EAAkC;AAC9B,QAAMzb,KAAK,GAAGykF,IAAI,CAAC1iG,OAAL,CAAa05B,EAAb,CAAd;AACA,MAAIzb,KAAK,GAAG,CAAC,CAAb,EACIykF,IAAI,CAAC58F,MAAL,CAAYmY,KAAZ,EAAmB,CAAnB;AACP,EACD;;;AACA,SAASi+M,eAAT,CAAyBnlO,IAAzB,EAA+BE,IAA/B,EAAqC6lH,QAArC,EAA+Cq/G,aAA/C,EAA8D;AAC1D,MAAIA,aAAa,KAAK,OAAtB,EACI;;AACJ,MAAK,CAACA,aAAa,KAAK,IAAlB,IAA0BA,aAAa,KAAK,MAA7C,KAAwD,CAACllO,IAAI,CAACmlO,uBAA/D,IACCD,aAAa,KAAK,QAAlB,IAA8B,CAACr/G,QAAQ,CAACu/G,mBAD7C,EACmE;AAC/D1oM,IAAAA,OAAO,CAACC,IAAR,CAAamlM,cAAc,CAAChiO,IAAD,CAA3B;AACAE,IAAAA,IAAI,CAACmlO,uBAAL,GAA+B,IAA/B;AACAt/G,IAAAA,QAAQ,CAACu/G,mBAAT,GAA+B,IAA/B;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,KAAK,GAAG,OAAd;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,OAAO,GAAG,SAAhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,OAAO,GAAG,SAAhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,QAAQ,GAAG,UAAjB;;AACA,SAASC,KAAT,CAAexJ,OAAf,EAAwB92I,IAAxB,EAA8BugJ,SAA9B,EAAyC;AACrC,MAAIvgJ,IAAI,IAAI,IAAZ,EACI,OAAO,IAAP;;AACJ,MAAI,CAACh2E,KAAK,CAACC,OAAN,CAAc+1E,IAAd,CAAL,EAA0B;AACtBA,IAAAA,IAAI,GAAGA,IAAI,CAAC5xE,KAAL,CAAWmyN,SAAX,CAAP;AACH;;AACD,MAAIv2N,KAAK,CAACC,OAAN,CAAc+1E,IAAd,KAAuBA,IAAI,CAACphF,MAAL,KAAgB,CAA3C,EACI,OAAO,IAAP,CAPiC,CAQrC;AACA;;AACA,MAAI4hO,aAAa,GAAG1J,OAApB;AACA92I,EAAAA,IAAI,CAAC1iF,OAAL,CAAc3C,IAAD,IAAU;AACnB,QAAI6lO,aAAa,YAAYC,SAA7B,EAAwC;AACpCD,MAAAA,aAAa,GAAGA,aAAa,CAACE,QAAd,CAAuBx3N,cAAvB,CAAsCvO,IAAtC,IACZ6lO,aAAa,CAACE,QAAd,CAAuB/lO,IAAvB,CADY,GAEZ,IAFJ;AAGH,KAJD,MAKK,IAAI6lO,aAAa,YAAYG,SAA7B,EAAwC;AACzCH,MAAAA,aAAa,GAAGA,aAAa,CAACI,EAAd,CAAiBjmO,IAAjB,KAA0B,IAA1C;AACH,KAFI,MAGA;AACD6lO,MAAAA,aAAa,GAAG,IAAhB;AACH;AACJ,GAZD;AAaA,SAAOA,aAAP;AACH;AACD;AACA;AACA;;;AACA,SAASK,cAAT,CAAwBC,eAAxB,EAAyC;AACrC,SAAO,CAACC,YAAY,CAACD,eAAD,CAAZ,GAAgCA,eAAe,CAACnJ,UAAhD,GAA6DmJ,eAA9D,KAAkF,IAAzF;AACH;AACD;AACA;AACA;;;AACA,SAASE,iBAAT,CAA2B5I,SAA3B,EAAsC;AAClC,SAAOpuN,KAAK,CAACC,OAAN,CAAcmuN,SAAd,IAA2BK,iBAAiB,CAACL,SAAD,CAA5C,GAA0DA,SAAS,IAAI,IAA9E;AACH;AACD;AACA;AACA;;;AACA,SAAS6I,mBAAT,CAA6B1G,cAA7B,EAA6CuG,eAA7C,EAA8D;AAC1D,SAAO,CAACC,YAAY,CAACD,eAAD,CAAZ,GAAgCA,eAAe,CAACjD,eAAhD,GAAkEtD,cAAnE,KAAsF,IAA7F;AACH;AACD;AACA;AACA;;;AACA,SAAS2G,sBAAT,CAAgC3G,cAAhC,EAAgD;AAC5C,SAAOvwN,KAAK,CAACC,OAAN,CAAcswN,cAAd,IAAgC5B,sBAAsB,CAAC4B,cAAD,CAAtD,GACHA,cAAc,IAAI,IADtB;AAEH;;AACD,SAASwG,YAAT,CAAsBD,eAAtB,EAAuC;AACnC,SAAOA,eAAe,IAAI,IAAnB,IAA2B,CAAC92N,KAAK,CAACC,OAAN,CAAc62N,eAAd,CAA5B,IACH,OAAOA,eAAP,KAA2B,QAD/B;AAEH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMK,eAAN,CAAsB;AAClB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACI1kO,EAAAA,WAAW,CAACk7N,UAAD,EAAakG,eAAb,EAA8B;AACrC;AACR;AACA;AACA;AACA;AACQ,SAAKuD,4BAAL,GAAoC,KAApC;AACA;;AACA,SAAKC,mBAAL,GAA2B,MAAM,CAAG,CAApC;;AACA,SAAKzkE,OAAL,GAAe,IAAf;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,SAAKk9D,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;AACA;AACA;;AACQ,SAAKC,OAAL,GAAe,KAAf;AACA;;AACA,SAAKuH,iBAAL,GAAyB,EAAzB;AACA,SAAKtI,cAAL,GAAsBrB,UAAtB;AACA,SAAKuB,mBAAL,GAA2B2E,eAA3B;AACA,SAAKzD,oBAAL,GAA4B4G,iBAAiB,CAAC,KAAKhI,cAAN,CAA7C;AACA,SAAKsB,yBAAL,GAAiC4G,sBAAsB,CAAC,KAAKhI,mBAAN,CAAvD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACiB,MAATd,SAAS,GAAG;AACZ,WAAO,KAAKgC,oBAAZ;AACH;;AACY,MAAThC,SAAS,CAACmJ,WAAD,EAAc;AACvB,SAAKvI,cAAL,GAAsB,KAAKoB,oBAAL,GAA4BmH,WAAlD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACsB,MAAdhH,cAAc,GAAG;AACjB,WAAO,KAAKD,yBAAZ;AACH;;AACiB,MAAdC,cAAc,CAACiH,gBAAD,EAAmB;AACjC,SAAKtI,mBAAL,GAA2B,KAAKoB,yBAAL,GAAiCkH,gBAA5D;AACH;AACD;AACJ;AACA;;;AACc,MAANh7M,MAAM,GAAG;AACT,WAAO,KAAKo2I,OAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACa,MAALg9D,KAAK,GAAG;AACR,WAAO,KAAK9lM,MAAL,KAAgBosM,KAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACe,MAAPrG,OAAO,GAAG;AACV,WAAO,KAAK/lM,MAAL,KAAgBqsM,OAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACe,MAAPxxB,OAAO,GAAG;AACV,WAAO,KAAK76K,MAAL,IAAessM,OAAtB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACgB,MAAR19N,QAAQ,GAAG;AACX,WAAO,KAAKoxB,MAAL,KAAgBusM,QAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACe,MAAPj+L,OAAO,GAAG;AACV,WAAO,KAAKtO,MAAL,KAAgBusM,QAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACa,MAALtkF,KAAK,GAAG;AACR,WAAO,CAAC,KAAK+9E,QAAb;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACiB,MAATE,SAAS,GAAG;AACZ,WAAO,CAAC,KAAKD,OAAb;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACgB,MAARwE,QAAQ,GAAG;AACX,WAAO,KAAKkD,SAAL,GAAiB,KAAKA,SAAtB,GAAmC,KAAKj7M,MAAL,GAAc,KAAKA,MAAL,CAAY+3M,QAA1B,GAAqC,QAA/E;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIX,EAAAA,aAAa,CAACjG,UAAD,EAAa;AACtB,SAAKqB,cAAL,GAAsBrB,UAAtB;AACA,SAAKyC,oBAAL,GAA4B4G,iBAAiB,CAACrJ,UAAD,CAA7C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACImG,EAAAA,kBAAkB,CAACnG,UAAD,EAAa;AAC3B,SAAKuB,mBAAL,GAA2BvB,UAA3B;AACA,SAAK2C,yBAAL,GAAiC4G,sBAAsB,CAACvJ,UAAD,CAAvD;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI2B,EAAAA,aAAa,CAAC3B,UAAD,EAAa;AACtB,SAAKiG,aAAL,CAAmBtE,aAAa,CAAC3B,UAAD,EAAa,KAAKqB,cAAlB,CAAhC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI0I,EAAAA,kBAAkB,CAAC/J,UAAD,EAAa;AAC3B,SAAKmG,kBAAL,CAAwBxE,aAAa,CAAC3B,UAAD,EAAa,KAAKuB,mBAAlB,CAArC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIO,EAAAA,gBAAgB,CAAC9B,UAAD,EAAa;AACzB,SAAKiG,aAAL,CAAmBnE,gBAAgB,CAAC9B,UAAD,EAAa,KAAKqB,cAAlB,CAAnC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI2I,EAAAA,qBAAqB,CAAChK,UAAD,EAAa;AAC9B,SAAKmG,kBAAL,CAAwBrE,gBAAgB,CAAC9B,UAAD,EAAa,KAAKuB,mBAAlB,CAAxC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIE,EAAAA,YAAY,CAAChB,SAAD,EAAY;AACpB,WAAOgB,YAAY,CAAC,KAAKJ,cAAN,EAAsBZ,SAAtB,CAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIwJ,EAAAA,iBAAiB,CAACxJ,SAAD,EAAY;AACzB,WAAOgB,YAAY,CAAC,KAAKF,mBAAN,EAA2Bd,SAA3B,CAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIyJ,EAAAA,eAAe,GAAG;AACd,SAAKzJ,SAAL,GAAiB,IAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI0J,EAAAA,oBAAoB,GAAG;AACnB,SAAKvH,cAAL,GAAsB,IAAtB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACImE,EAAAA,aAAa,CAACvqH,IAAI,GAAG,EAAR,EAAY;AACrB,SAAK4lH,OAAL,GAAe,IAAf;;AACA,QAAI,KAAKn9D,OAAL,IAAgB,CAACzoD,IAAI,CAAC4tH,QAA1B,EAAoC;AAChC,WAAKnlE,OAAL,CAAa8hE,aAAb,CAA2BvqH,IAA3B;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACI6tH,EAAAA,gBAAgB,GAAG;AACf,SAAKtD,aAAL,CAAmB;AAAEqD,MAAAA,QAAQ,EAAE;AAAZ,KAAnB;;AACA,SAAKE,aAAL,CAAoBnL,OAAD,IAAaA,OAAO,CAACkL,gBAAR,EAAhC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIE,EAAAA,eAAe,CAAC/tH,IAAI,GAAG,EAAR,EAAY;AACvB,SAAK4lH,OAAL,GAAe,KAAf;AACA,SAAK0E,eAAL,GAAuB,KAAvB;;AACA,SAAKwD,aAAL,CAAoBnL,OAAD,IAAa;AAC5BA,MAAAA,OAAO,CAACoL,eAAR,CAAwB;AAAEH,QAAAA,QAAQ,EAAE;AAAZ,OAAxB;AACH,KAFD;;AAGA,QAAI,KAAKnlE,OAAL,IAAgB,CAACzoD,IAAI,CAAC4tH,QAA1B,EAAoC;AAChC,WAAKnlE,OAAL,CAAaulE,cAAb,CAA4BhuH,IAA5B;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIwqH,EAAAA,WAAW,CAACxqH,IAAI,GAAG,EAAR,EAAY;AACnB,SAAK2lH,QAAL,GAAgB,KAAhB;;AACA,QAAI,KAAKl9D,OAAL,IAAgB,CAACzoD,IAAI,CAAC4tH,QAA1B,EAAoC;AAChC,WAAKnlE,OAAL,CAAa+hE,WAAb,CAAyBxqH,IAAzB;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIiuH,EAAAA,cAAc,CAACjuH,IAAI,GAAG,EAAR,EAAY;AACtB,SAAK2lH,QAAL,GAAgB,IAAhB;AACA,SAAKwE,aAAL,GAAqB,KAArB;;AACA,SAAK2D,aAAL,CAAoBnL,OAAD,IAAa;AAC5BA,MAAAA,OAAO,CAACsL,cAAR,CAAuB;AAAEL,QAAAA,QAAQ,EAAE;AAAZ,OAAvB;AACH,KAFD;;AAGA,QAAI,KAAKnlE,OAAL,IAAgB,CAACzoD,IAAI,CAAC4tH,QAA1B,EAAoC;AAChC,WAAKnlE,OAAL,CAAaylE,eAAb,CAA6BluH,IAA7B;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACImuH,EAAAA,aAAa,CAACnuH,IAAI,GAAG,EAAR,EAAY;AACrB,SAAKrgF,MAAL,GAAcssM,OAAd;;AACA,QAAIjsH,IAAI,CAACouH,SAAL,KAAmB,KAAvB,EAA8B;AAC1B,WAAKtI,aAAL,CAAmBllL,IAAnB,CAAwB,KAAKjhB,MAA7B;AACH;;AACD,QAAI,KAAK8oI,OAAL,IAAgB,CAACzoD,IAAI,CAAC4tH,QAA1B,EAAoC;AAChC,WAAKnlE,OAAL,CAAa0lE,aAAb,CAA2BnuH,IAA3B;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACInjF,EAAAA,OAAO,CAACmjF,IAAI,GAAG,EAAR,EAAY;AACf;AACA;AACA,UAAMquH,iBAAiB,GAAG,KAAKC,kBAAL,CAAwBtuH,IAAI,CAAC4tH,QAA7B,CAA1B;;AACA,SAAKjuM,MAAL,GAAcusM,QAAd;AACA,SAAKl/N,MAAL,GAAc,IAAd;;AACA,SAAK8gO,aAAL,CAAoBnL,OAAD,IAAa;AAC5BA,MAAAA,OAAO,CAAC9lM,OAAR,CAAgBtvB,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBq0F,IAAlB,CAAd,EAAuC;AAAE4tH,QAAAA,QAAQ,EAAE;AAAZ,OAAvC,CAAhB;AACH,KAFD;;AAGA,SAAKW,YAAL;;AACA,QAAIvuH,IAAI,CAACouH,SAAL,KAAmB,KAAvB,EAA8B;AAC1B,WAAKrI,YAAL,CAAkBnlL,IAAlB,CAAuB,KAAK1xC,KAA5B;AACA,WAAK42N,aAAL,CAAmBllL,IAAnB,CAAwB,KAAKjhB,MAA7B;AACH;;AACD,SAAK6uM,gBAAL,CAAsBjhO,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBq0F,IAAlB,CAAd,EAAuC;AAAEquH,MAAAA;AAAF,KAAvC,CAAtB;;AACA,SAAKlB,iBAAL,CAAuBhkO,OAAvB,CAAgCslO,QAAD,IAAcA,QAAQ,CAAC,IAAD,CAArD;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIx7K,EAAAA,MAAM,CAAC+sD,IAAI,GAAG,EAAR,EAAY;AACd;AACA;AACA,UAAMquH,iBAAiB,GAAG,KAAKC,kBAAL,CAAwBtuH,IAAI,CAAC4tH,QAA7B,CAA1B;;AACA,SAAKjuM,MAAL,GAAcosM,KAAd;;AACA,SAAK+B,aAAL,CAAoBnL,OAAD,IAAa;AAC5BA,MAAAA,OAAO,CAAC1vK,MAAR,CAAe1lD,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBq0F,IAAlB,CAAd,EAAuC;AAAE4tH,QAAAA,QAAQ,EAAE;AAAZ,OAAvC,CAAf;AACH,KAFD;;AAGA,SAAK/D,sBAAL,CAA4B;AAAE+D,MAAAA,QAAQ,EAAE,IAAZ;AAAkBQ,MAAAA,SAAS,EAAEpuH,IAAI,CAACouH;AAAlC,KAA5B;;AACA,SAAKI,gBAAL,CAAsBjhO,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBq0F,IAAlB,CAAd,EAAuC;AAAEquH,MAAAA;AAAF,KAAvC,CAAtB;;AACA,SAAKlB,iBAAL,CAAuBhkO,OAAvB,CAAgCslO,QAAD,IAAcA,QAAQ,CAAC,KAAD,CAArD;AACH;;AACDD,EAAAA,gBAAgB,CAACxuH,IAAD,EAAO;AACnB,QAAI,KAAKyoD,OAAL,IAAgB,CAACzoD,IAAI,CAAC4tH,QAA1B,EAAoC;AAChC,WAAKnlE,OAAL,CAAaohE,sBAAb,CAAoC7pH,IAApC;;AACA,UAAI,CAACA,IAAI,CAACquH,iBAAV,EAA6B;AACzB,aAAK5lE,OAAL,CAAaylE,eAAb;AACH;;AACD,WAAKzlE,OAAL,CAAaulE,cAAb;AACH;AACJ;AACD;AACJ;AACA;;;AACIU,EAAAA,SAAS,CAACr8M,MAAD,EAAS;AACd,SAAKo2I,OAAL,GAAep2I,MAAf;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIw3M,EAAAA,sBAAsB,CAAC7pH,IAAI,GAAG,EAAR,EAAY;AAC9B,SAAK2uH,iBAAL;;AACA,SAAKJ,YAAL;;AACA,QAAI,KAAKtgM,OAAT,EAAkB;AACd,WAAK2gM,2BAAL;;AACA,WAAK5hO,MAAL,GAAc,KAAK6hO,aAAL,EAAd;AACA,WAAKlvM,MAAL,GAAc,KAAKmvM,gBAAL,EAAd;;AACA,UAAI,KAAKnvM,MAAL,KAAgBosM,KAAhB,IAAyB,KAAKpsM,MAAL,KAAgBssM,OAA7C,EAAsD;AAClD,aAAK8C,kBAAL,CAAwB/uH,IAAI,CAACouH,SAA7B;AACH;AACJ;;AACD,QAAIpuH,IAAI,CAACouH,SAAL,KAAmB,KAAvB,EAA8B;AAC1B,WAAKrI,YAAL,CAAkBnlL,IAAlB,CAAuB,KAAK1xC,KAA5B;AACA,WAAK42N,aAAL,CAAmBllL,IAAnB,CAAwB,KAAKjhB,MAA7B;AACH;;AACD,QAAI,KAAK8oI,OAAL,IAAgB,CAACzoD,IAAI,CAAC4tH,QAA1B,EAAoC;AAChC,WAAKnlE,OAAL,CAAaohE,sBAAb,CAAoC7pH,IAApC;AACH;AACJ;AACD;;;AACAgvH,EAAAA,mBAAmB,CAAChvH,IAAI,GAAG;AAAEouH,IAAAA,SAAS,EAAE;AAAb,GAAR,EAA6B;AAC5C,SAAKN,aAAL,CAAoBmB,IAAD,IAAUA,IAAI,CAACD,mBAAL,CAAyBhvH,IAAzB,CAA7B;;AACA,SAAK6pH,sBAAL,CAA4B;AAAE+D,MAAAA,QAAQ,EAAE,IAAZ;AAAkBQ,MAAAA,SAAS,EAAEpuH,IAAI,CAACouH;AAAlC,KAA5B;AACH;;AACDO,EAAAA,iBAAiB,GAAG;AAChB,SAAKhvM,MAAL,GAAc,KAAKuvM,oBAAL,KAA8BhD,QAA9B,GAAyCH,KAAvD;AACH;;AACD8C,EAAAA,aAAa,GAAG;AACZ,WAAO,KAAK5K,SAAL,GAAiB,KAAKA,SAAL,CAAe,IAAf,CAAjB,GAAwC,IAA/C;AACH;;AACD8K,EAAAA,kBAAkB,CAACX,SAAD,EAAY;AAC1B,QAAI,KAAKhI,cAAT,EAAyB;AACrB,WAAKzmM,MAAL,GAAcssM,OAAd;AACA,WAAKgB,4BAAL,GAAoC,IAApC;AACA,YAAMpJ,GAAG,GAAGD,YAAY,CAAC,KAAKwC,cAAL,CAAoB,IAApB,CAAD,CAAxB;AACA,WAAK+I,4BAAL,GAAoCtL,GAAG,CAACt2L,SAAJ,CAAevgC,MAAD,IAAY;AAC1D,aAAKigO,4BAAL,GAAoC,KAApC,CAD0D,CAE1D;AACA;AACA;;AACA,aAAKmC,SAAL,CAAepiO,MAAf,EAAuB;AAAEohO,UAAAA;AAAF,SAAvB;AACH,OANmC,CAApC;AAOH;AACJ;;AACDQ,EAAAA,2BAA2B,GAAG;AAC1B,QAAI,KAAKO,4BAAT,EAAuC;AACnC,WAAKA,4BAAL,CAAkC1gM,WAAlC;;AACA,WAAKw+L,4BAAL,GAAoC,KAApC;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACImC,EAAAA,SAAS,CAACpiO,MAAD,EAASgzG,IAAI,GAAG,EAAhB,EAAoB;AACzB,SAAKhzG,MAAL,GAAcA,MAAd;;AACA,SAAKqiO,qBAAL,CAA2BrvH,IAAI,CAACouH,SAAL,KAAmB,KAA9C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIh/N,EAAAA,GAAG,CAACy8E,IAAD,EAAO;AACN,WAAOsgJ,KAAK,CAAC,IAAD,EAAOtgJ,IAAP,EAAa,GAAb,CAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI46I,EAAAA,QAAQ,CAACD,SAAD,EAAY36I,IAAZ,EAAkB;AACtB,UAAM82I,OAAO,GAAG92I,IAAI,GAAG,KAAKz8E,GAAL,CAASy8E,IAAT,CAAH,GAAoB,IAAxC;AACA,WAAO82I,OAAO,IAAIA,OAAO,CAAC31N,MAAnB,GAA4B21N,OAAO,CAAC31N,MAAR,CAAew5N,SAAf,CAA5B,GAAwD,IAA/D;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACID,EAAAA,QAAQ,CAACC,SAAD,EAAY36I,IAAZ,EAAkB;AACtB,WAAO,CAAC,CAAC,KAAK46I,QAAL,CAAcD,SAAd,EAAyB36I,IAAzB,CAAT;AACH;AACD;AACJ;AACA;;;AACY,MAAJr1D,IAAI,GAAG;AACP,QAAIksC,CAAC,GAAG,IAAR;;AACA,WAAOA,CAAC,CAAC+lG,OAAT,EAAkB;AACd/lG,MAAAA,CAAC,GAAGA,CAAC,CAAC+lG,OAAN;AACH;;AACD,WAAO/lG,CAAP;AACH;AACD;;;AACA2sK,EAAAA,qBAAqB,CAACjB,SAAD,EAAY;AAC7B,SAAKzuM,MAAL,GAAc,KAAKmvM,gBAAL,EAAd;;AACA,QAAIV,SAAJ,EAAe;AACX,WAAKtI,aAAL,CAAmBllL,IAAnB,CAAwB,KAAKjhB,MAA7B;AACH;;AACD,QAAI,KAAK8oI,OAAT,EAAkB;AACd,WAAKA,OAAL,CAAa4mE,qBAAb,CAAmCjB,SAAnC;AACH;AACJ;AACD;;;AACAkB,EAAAA,gBAAgB,GAAG;AACf,SAAKvJ,YAAL,GAAoB,IAAIz/L,uDAAJ,EAApB;AACA,SAAKw/L,aAAL,GAAqB,IAAIx/L,uDAAJ,EAArB;AACH;;AACDwoM,EAAAA,gBAAgB,GAAG;AACf,QAAI,KAAKI,oBAAL,EAAJ,EACI,OAAOhD,QAAP;AACJ,QAAI,KAAKl/N,MAAT,EACI,OAAOg/N,OAAP;AACJ,QAAI,KAAKiB,4BAAL,IAAqC,KAAKsC,sBAAL,CAA4BtD,OAA5B,CAAzC,EACI,OAAOA,OAAP;AACJ,QAAI,KAAKsD,sBAAL,CAA4BvD,OAA5B,CAAJ,EACI,OAAOA,OAAP;AACJ,WAAOD,KAAP;AACH;AACD;;;AACAwD,EAAAA,sBAAsB,CAAC5vM,MAAD,EAAS;AAC3B,WAAO,KAAK6vM,YAAL,CAAmB7M,OAAD,IAAaA,OAAO,CAAChjM,MAAR,KAAmBA,MAAlD,CAAP;AACH;AACD;;;AACA8vM,EAAAA,iBAAiB,GAAG;AAChB,WAAO,KAAKD,YAAL,CAAmB7M,OAAD,IAAaA,OAAO,CAAC/6E,KAAvC,CAAP;AACH;AACD;;;AACA8nF,EAAAA,mBAAmB,GAAG;AAClB,WAAO,KAAKF,YAAL,CAAmB7M,OAAD,IAAaA,OAAO,CAACiD,OAAvC,CAAP;AACH;AACD;;;AACAsI,EAAAA,eAAe,CAACluH,IAAI,GAAG,EAAR,EAAY;AACvB,SAAK2lH,QAAL,GAAgB,CAAC,KAAK8J,iBAAL,EAAjB;;AACA,QAAI,KAAKhnE,OAAL,IAAgB,CAACzoD,IAAI,CAAC4tH,QAA1B,EAAoC;AAChC,WAAKnlE,OAAL,CAAaylE,eAAb,CAA6BluH,IAA7B;AACH;AACJ;AACD;;;AACAguH,EAAAA,cAAc,CAAChuH,IAAI,GAAG,EAAR,EAAY;AACtB,SAAK4lH,OAAL,GAAe,KAAK8J,mBAAL,EAAf;;AACA,QAAI,KAAKjnE,OAAL,IAAgB,CAACzoD,IAAI,CAAC4tH,QAA1B,EAAoC;AAChC,WAAKnlE,OAAL,CAAaulE,cAAb,CAA4BhuH,IAA5B;AACH;AACJ;AACD;;;AACA2vH,EAAAA,aAAa,CAACC,SAAD,EAAY;AACrB,WAAO,OAAOA,SAAP,KAAqB,QAArB,IAAiCA,SAAS,KAAK,IAA/C,IACHriO,MAAM,CAACC,IAAP,CAAYoiO,SAAZ,EAAuBnlO,MAAvB,KAAkC,CAD/B,IACoC,WAAWmlO,SAD/C,IAC4D,cAAcA,SADjF;AAEH;AACD;;;AACAxG,EAAAA,2BAA2B,CAAChgO,EAAD,EAAK;AAC5B,SAAK8jO,mBAAL,GAA2B9jO,EAA3B;AACH;AACD;;;AACAymO,EAAAA,kBAAkB,CAAC7vH,IAAD,EAAO;AACrB,QAAI4sH,YAAY,CAAC5sH,IAAD,CAAZ,IAAsBA,IAAI,CAACoqH,QAAL,IAAiB,IAA3C,EAAiD;AAC7C,WAAKkD,SAAL,GAAiBttH,IAAI,CAACoqH,QAAtB;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACIkE,EAAAA,kBAAkB,CAACV,QAAD,EAAW;AACzB,UAAMkC,WAAW,GAAG,KAAKrnE,OAAL,IAAgB,KAAKA,OAAL,CAAa7gB,KAAjD;AACA,WAAO,CAACgmF,QAAD,IAAa,CAAC,CAACkC,WAAf,IAA8B,CAAC,KAAKrnE,OAAL,CAAagnE,iBAAb,EAAtC;AACH;;AAlvBiB;AAovBtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMM,WAAN,SAA0B/C,eAA1B,CAA0C;AACtC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI1kO,EAAAA,WAAW,CAACsnO,SAAS,GAAG,IAAb,EAAmBjD,eAAnB,EAAoCvG,cAApC,EAAoD;AAC3D,UAAMsG,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAAC1G,cAAD,EAAiBuG,eAAjB,CAA1D;AACA;;AACA,SAAKqD,SAAL,GAAiB,EAAjB;;AACA,SAAKC,eAAL,CAAqBL,SAArB;;AACA,SAAKC,kBAAL,CAAwBlD,eAAxB;;AACA,SAAK2C,gBAAL;;AACA,SAAKzF,sBAAL,CAA4B;AACxB+D,MAAAA,QAAQ,EAAE,IADc;AAExB;AACA;AACA;AACA;AACAQ,MAAAA,SAAS,EAAE,CAAC,CAAC,KAAKhI;AANM,KAA5B;AAQH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI/4F,EAAAA,QAAQ,CAACn+H,KAAD,EAAQvI,OAAO,GAAG,EAAlB,EAAsB;AAC1B,SAAKuI,KAAL,GAAa,KAAK+6N,aAAL,GAAqB/6N,KAAlC;;AACA,QAAI,KAAK8gO,SAAL,CAAevlO,MAAf,IAAyB9D,OAAO,CAAC8jO,qBAAR,KAAkC,KAA/D,EAAsE;AAClE,WAAKuF,SAAL,CAAe7mO,OAAf,CAAwBslO,QAAD,IAAcA,QAAQ,CAAC,KAAKv/N,KAAN,EAAavI,OAAO,CAACupO,qBAAR,KAAkC,KAA/C,CAA7C;AACH;;AACD,SAAKrG,sBAAL,CAA4BljO,OAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIwpO,EAAAA,UAAU,CAACjhO,KAAD,EAAQvI,OAAO,GAAG,EAAlB,EAAsB;AAC5B,SAAK0mI,QAAL,CAAcn+H,KAAd,EAAqBvI,OAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIuD,EAAAA,KAAK,CAAC0lO,SAAS,GAAG,IAAb,EAAmBjpO,OAAO,GAAG,EAA7B,EAAiC;AAClC,SAAKspO,eAAL,CAAqBL,SAArB;;AACA,SAAK3B,cAAL,CAAoBtnO,OAApB;AACA,SAAKonO,eAAL,CAAqBpnO,OAArB;AACA,SAAK0mI,QAAL,CAAc,KAAKn+H,KAAnB,EAA0BvI,OAA1B;AACA,SAAKujO,cAAL,GAAsB,KAAtB;AACH;AACD;AACJ;AACA;;;AACIqE,EAAAA,YAAY,GAAG,CAAG;AAClB;AACJ;AACA;;;AACIiB,EAAAA,YAAY,CAACtrI,SAAD,EAAY;AACpB,WAAO,KAAP;AACH;AACD;AACJ;AACA;;;AACIgrI,EAAAA,oBAAoB,GAAG;AACnB,WAAO,KAAK3gO,QAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI0xN,EAAAA,gBAAgB,CAAC72N,EAAD,EAAK;AACjB,SAAK4mO,SAAL,CAAe1mO,IAAf,CAAoBF,EAApB;AACH;AACD;AACJ;AACA;AACA;;;AACIwhO,EAAAA,mBAAmB,CAACxhO,EAAD,EAAK;AACpBsiO,IAAAA,cAAc,CAAC,KAAKsE,SAAN,EAAiB5mO,EAAjB,CAAd;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACImgO,EAAAA,wBAAwB,CAACngO,EAAD,EAAK;AACzB,SAAK+jO,iBAAL,CAAuB7jO,IAAvB,CAA4BF,EAA5B;AACH;AACD;AACJ;AACA;AACA;;;AACIogO,EAAAA,2BAA2B,CAACpgO,EAAD,EAAK;AAC5BsiO,IAAAA,cAAc,CAAC,KAAKyB,iBAAN,EAAyB/jO,EAAzB,CAAd;AACH;AACD;AACJ;AACA;;;AACI0kO,EAAAA,aAAa,CAAC7lO,EAAD,EAAK,CAAG;AACrB;;;AACAmjO,EAAAA,oBAAoB,GAAG;AACnB,QAAI,KAAKhB,QAAL,KAAkB,QAAtB,EAAgC;AAC5B,UAAI,KAAKD,aAAT,EACI,KAAKK,WAAL;AACJ,UAAI,KAAKF,eAAT,EACI,KAAKC,aAAL;;AACJ,UAAI,KAAKL,cAAT,EAAyB;AACrB,aAAK78F,QAAL,CAAc,KAAK48F,aAAnB,EAAkC;AAAE2D,UAAAA,QAAQ,EAAE,IAAZ;AAAkBnD,UAAAA,qBAAqB,EAAE;AAAzC,SAAlC;AACA,eAAO,IAAP;AACH;AACJ;;AACD,WAAO,KAAP;AACH;;AACDwF,EAAAA,eAAe,CAACL,SAAD,EAAY;AACvB,QAAI,KAAKD,aAAL,CAAmBC,SAAnB,CAAJ,EAAmC;AAC/B,WAAK1gO,KAAL,GAAa,KAAK+6N,aAAL,GAAqB2F,SAAS,CAAC1gO,KAA5C;AACA0gO,MAAAA,SAAS,CAACrhO,QAAV,GAAqB,KAAKsuB,OAAL,CAAa;AAAE+wM,QAAAA,QAAQ,EAAE,IAAZ;AAAkBQ,QAAAA,SAAS,EAAE;AAA7B,OAAb,CAArB,GACI,KAAKn7K,MAAL,CAAY;AAAE26K,QAAAA,QAAQ,EAAE,IAAZ;AAAkBQ,QAAAA,SAAS,EAAE;AAA7B,OAAZ,CADJ;AAEH,KAJD,MAKK;AACD,WAAKl/N,KAAL,GAAa,KAAK+6N,aAAL,GAAqB2F,SAAlC;AACH;AACJ;;AA1KqC;AA4K1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMtD,SAAN,SAAwBU,eAAxB,CAAwC;AACpC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI1kO,EAAAA,WAAW,CAACikO,QAAD,EAAWI,eAAX,EAA4BvG,cAA5B,EAA4C;AACnD,UAAMsG,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAAC1G,cAAD,EAAiBuG,eAAjB,CAA1D;AACA,SAAKJ,QAAL,GAAgBA,QAAhB;;AACA,SAAK+C,gBAAL;;AACA,SAAKO,kBAAL,CAAwBlD,eAAxB;;AACA,SAAKyD,cAAL;;AACA,SAAKvG,sBAAL,CAA4B;AACxB+D,MAAAA,QAAQ,EAAE,IADc;AAExB;AACA;AACA;AACAQ,MAAAA,SAAS,EAAE,CAAC,CAAC,KAAKhI;AALM,KAA5B;AAOH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIiK,EAAAA,eAAe,CAAC7pO,IAAD,EAAOm8N,OAAP,EAAgB;AAC3B,QAAI,KAAK4J,QAAL,CAAc/lO,IAAd,CAAJ,EACI,OAAO,KAAK+lO,QAAL,CAAc/lO,IAAd,CAAP;AACJ,SAAK+lO,QAAL,CAAc/lO,IAAd,IAAsBm8N,OAAtB;AACAA,IAAAA,OAAO,CAAC+L,SAAR,CAAkB,IAAlB;;AACA/L,IAAAA,OAAO,CAACyG,2BAAR,CAAoC,KAAK8D,mBAAzC;;AACA,WAAOvK,OAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI2N,EAAAA,UAAU,CAAC9pO,IAAD,EAAOm8N,OAAP,EAAgBh8N,OAAO,GAAG,EAA1B,EAA8B;AACpC,SAAK0pO,eAAL,CAAqB7pO,IAArB,EAA2Bm8N,OAA3B;AACA,SAAKkH,sBAAL,CAA4B;AAAEuE,MAAAA,SAAS,EAAEznO,OAAO,CAACynO;AAArB,KAA5B;;AACA,SAAKlB,mBAAL;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIqD,EAAAA,aAAa,CAAC/pO,IAAD,EAAOG,OAAO,GAAG,EAAjB,EAAqB;AAC9B,QAAI,KAAK4lO,QAAL,CAAc/lO,IAAd,CAAJ,EACI,KAAK+lO,QAAL,CAAc/lO,IAAd,EAAoB4iO,2BAApB,CAAgD,MAAM,CAAG,CAAzD;AACJ,WAAQ,KAAKmD,QAAL,CAAc/lO,IAAd,CAAR;AACA,SAAKqjO,sBAAL,CAA4B;AAAEuE,MAAAA,SAAS,EAAEznO,OAAO,CAACynO;AAArB,KAA5B;;AACA,SAAKlB,mBAAL;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIsD,EAAAA,UAAU,CAAChqO,IAAD,EAAOm8N,OAAP,EAAgBh8N,OAAO,GAAG,EAA1B,EAA8B;AACpC,QAAI,KAAK4lO,QAAL,CAAc/lO,IAAd,CAAJ,EACI,KAAK+lO,QAAL,CAAc/lO,IAAd,EAAoB4iO,2BAApB,CAAgD,MAAM,CAAG,CAAzD;AACJ,WAAQ,KAAKmD,QAAL,CAAc/lO,IAAd,CAAR;AACA,QAAIm8N,OAAJ,EACI,KAAK0N,eAAL,CAAqB7pO,IAArB,EAA2Bm8N,OAA3B;AACJ,SAAKkH,sBAAL,CAA4B;AAAEuE,MAAAA,SAAS,EAAEznO,OAAO,CAACynO;AAArB,KAA5B;;AACA,SAAKlB,mBAAL;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIz8N,EAAAA,QAAQ,CAACggO,WAAD,EAAc;AAClB,WAAO,KAAKlE,QAAL,CAAcx3N,cAAd,CAA6B07N,WAA7B,KAA6C,KAAKlE,QAAL,CAAckE,WAAd,EAA2BxiM,OAA/E;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIo/F,EAAAA,QAAQ,CAACn+H,KAAD,EAAQvI,OAAO,GAAG,EAAlB,EAAsB;AAC1B,SAAK+pO,sBAAL,CAA4BxhO,KAA5B;;AACA3B,IAAAA,MAAM,CAACC,IAAP,CAAY0B,KAAZ,EAAmB/F,OAAnB,CAA2B3C,IAAI,IAAI;AAC/B,WAAKmqO,sBAAL,CAA4BnqO,IAA5B;;AACA,WAAK+lO,QAAL,CAAc/lO,IAAd,EAAoB6mI,QAApB,CAA6Bn+H,KAAK,CAAC1I,IAAD,CAAlC,EAA0C;AAAEonO,QAAAA,QAAQ,EAAE,IAAZ;AAAkBQ,QAAAA,SAAS,EAAEznO,OAAO,CAACynO;AAArC,OAA1C;AACH,KAHD;AAIA,SAAKvE,sBAAL,CAA4BljO,OAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIwpO,EAAAA,UAAU,CAACjhO,KAAD,EAAQvI,OAAO,GAAG,EAAlB,EAAsB;AAC5B;AACA;AACA;AACA;AACA,QAAIuI,KAAK,IAAI;AAAK;AAAlB,MACI;AACJ3B,IAAAA,MAAM,CAACC,IAAP,CAAY0B,KAAZ,EAAmB/F,OAAnB,CAA2B3C,IAAI,IAAI;AAC/B,UAAI,KAAK+lO,QAAL,CAAc/lO,IAAd,CAAJ,EAAyB;AACrB,aAAK+lO,QAAL,CAAc/lO,IAAd,EAAoB2pO,UAApB,CAA+BjhO,KAAK,CAAC1I,IAAD,CAApC,EAA4C;AAAEonO,UAAAA,QAAQ,EAAE,IAAZ;AAAkBQ,UAAAA,SAAS,EAAEznO,OAAO,CAACynO;AAArC,SAA5C;AACH;AACJ,KAJD;AAKA,SAAKvE,sBAAL,CAA4BljO,OAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIuD,EAAAA,KAAK,CAACgF,KAAK,GAAG,EAAT,EAAavI,OAAO,GAAG,EAAvB,EAA2B;AAC5B,SAAKmnO,aAAL,CAAmB,CAACnL,OAAD,EAAUn8N,IAAV,KAAmB;AAClCm8N,MAAAA,OAAO,CAACz4N,KAAR,CAAcgF,KAAK,CAAC1I,IAAD,CAAnB,EAA2B;AAAEonO,QAAAA,QAAQ,EAAE,IAAZ;AAAkBQ,QAAAA,SAAS,EAAEznO,OAAO,CAACynO;AAArC,OAA3B;AACH,KAFD;;AAGA,SAAKF,eAAL,CAAqBvnO,OAArB;;AACA,SAAKqnO,cAAL,CAAoBrnO,OAApB;;AACA,SAAKkjO,sBAAL,CAA4BljO,OAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIiqO,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKC,eAAL,CAAqB,EAArB,EAAyB,CAACC,GAAD,EAAMnO,OAAN,EAAen8N,IAAf,KAAwB;AACpDsqO,MAAAA,GAAG,CAACtqO,IAAD,CAAH,GAAYm8N,OAAO,YAAYoN,WAAnB,GAAiCpN,OAAO,CAACzzN,KAAzC,GAAiDyzN,OAAO,CAACiO,WAAR,EAA7D;AACA,aAAOE,GAAP;AACH,KAHM,CAAP;AAIH;AACD;;;AACA1F,EAAAA,oBAAoB,GAAG;AACnB,QAAI2F,cAAc,GAAG,KAAKF,eAAL,CAAqB,KAArB,EAA4B,CAACG,OAAD,EAAUp+G,KAAV,KAAoB;AACjE,aAAOA,KAAK,CAACw4G,oBAAN,KAA+B,IAA/B,GAAsC4F,OAA7C;AACH,KAFoB,CAArB;;AAGA,QAAID,cAAJ,EACI,KAAKlH,sBAAL,CAA4B;AAAE+D,MAAAA,QAAQ,EAAE;AAAZ,KAA5B;AACJ,WAAOmD,cAAP;AACH;AACD;;;AACAJ,EAAAA,sBAAsB,CAACnqO,IAAD,EAAO;AACzB,QAAI,CAAC+G,MAAM,CAACC,IAAP,CAAY,KAAK++N,QAAjB,EAA2B9hO,MAAhC,EAAwC;AACpC,YAAM,IAAIsD,KAAJ,CAAW;AAC7B;AACA;AACA,OAHkB,CAAN;AAIH;;AACD,QAAI,CAAC,KAAKw+N,QAAL,CAAc/lO,IAAd,CAAL,EAA0B;AACtB,YAAM,IAAIuH,KAAJ,CAAW,uCAAsCvH,IAAK,GAAtD,CAAN;AACH;AACJ;AACD;;;AACAsnO,EAAAA,aAAa,CAAC7lO,EAAD,EAAK;AACdsF,IAAAA,MAAM,CAACC,IAAP,CAAY,KAAK++N,QAAjB,EAA2BpjO,OAA3B,CAAmC6F,GAAG,IAAI;AACtC;AACA;AACA;AACA,YAAM2zN,OAAO,GAAG,KAAK4J,QAAL,CAAcv9N,GAAd,CAAhB;AACA2zN,MAAAA,OAAO,IAAI16N,EAAE,CAAC06N,OAAD,EAAU3zN,GAAV,CAAb;AACH,KAND;AAOH;AACD;;;AACAohO,EAAAA,cAAc,GAAG;AACb,SAAKtC,aAAL,CAAoBnL,OAAD,IAAa;AAC5BA,MAAAA,OAAO,CAAC+L,SAAR,CAAkB,IAAlB;;AACA/L,MAAAA,OAAO,CAACyG,2BAAR,CAAoC,KAAK8D,mBAAzC;AACH,KAHD;AAIH;AACD;;;AACAqB,EAAAA,YAAY,GAAG;AACX,SAAKr/N,KAAL,GAAa,KAAK+hO,YAAL,EAAb;AACH;AACD;;;AACAzB,EAAAA,YAAY,CAACtrI,SAAD,EAAY;AACpB,SAAK,MAAMusI,WAAX,IAA0BljO,MAAM,CAACC,IAAP,CAAY,KAAK++N,QAAjB,CAA1B,EAAsD;AAClD,YAAM5J,OAAO,GAAG,KAAK4J,QAAL,CAAckE,WAAd,CAAhB;;AACA,UAAI,KAAKhgO,QAAL,CAAcggO,WAAd,KAA8BvsI,SAAS,CAACy+H,OAAD,CAA3C,EAAsD;AAClD,eAAO,IAAP;AACH;AACJ;;AACD,WAAO,KAAP;AACH;AACD;;;AACAsO,EAAAA,YAAY,GAAG;AACX,WAAO,KAAKJ,eAAL,CAAqB,EAArB,EAAyB,CAACC,GAAD,EAAMnO,OAAN,EAAen8N,IAAf,KAAwB;AACpD,UAAIm8N,OAAO,CAAC10L,OAAR,IAAmB,KAAK1/B,QAA5B,EAAsC;AAClCuiO,QAAAA,GAAG,CAACtqO,IAAD,CAAH,GAAYm8N,OAAO,CAACzzN,KAApB;AACH;;AACD,aAAO4hO,GAAP;AACH,KALM,CAAP;AAMH;AACD;;;AACAD,EAAAA,eAAe,CAACK,SAAD,EAAY9nO,EAAZ,EAAgB;AAC3B,QAAI+mF,GAAG,GAAG+gJ,SAAV;;AACA,SAAKpD,aAAL,CAAmB,CAACnL,OAAD,EAAUn8N,IAAV,KAAmB;AAClC2pF,MAAAA,GAAG,GAAG/mF,EAAE,CAAC+mF,GAAD,EAAMwyI,OAAN,EAAen8N,IAAf,CAAR;AACH,KAFD;;AAGA,WAAO2pF,GAAP;AACH;AACD;;;AACA++I,EAAAA,oBAAoB,GAAG;AACnB,SAAK,MAAMuB,WAAX,IAA0BljO,MAAM,CAACC,IAAP,CAAY,KAAK++N,QAAjB,CAA1B,EAAsD;AAClD,UAAI,KAAKA,QAAL,CAAckE,WAAd,EAA2BxiM,OAA/B,EAAwC;AACpC,eAAO,KAAP;AACH;AACJ;;AACD,WAAO1gC,MAAM,CAACC,IAAP,CAAY,KAAK++N,QAAjB,EAA2B9hO,MAA3B,GAAoC,CAApC,IAAyC,KAAK8D,QAArD;AACH;AACD;;;AACAmiO,EAAAA,sBAAsB,CAACxhO,KAAD,EAAQ;AAC1B,SAAK4+N,aAAL,CAAmB,CAACnL,OAAD,EAAUn8N,IAAV,KAAmB;AAClC,UAAI0I,KAAK,CAAC1I,IAAD,CAAL,KAAgBoI,SAApB,EAA+B;AAC3B,cAAM,IAAIb,KAAJ,CAAW,oDAAmDvH,IAAK,IAAnE,CAAN;AACH;AACJ,KAJD;AAKH;;AAlXmC;AAoXxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgmO,SAAN,SAAwBQ,eAAxB,CAAwC;AACpC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI1kO,EAAAA,WAAW,CAACikO,QAAD,EAAWI,eAAX,EAA4BvG,cAA5B,EAA4C;AACnD,UAAMsG,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAAC1G,cAAD,EAAiBuG,eAAjB,CAA1D;AACA,SAAKJ,QAAL,GAAgBA,QAAhB;;AACA,SAAK+C,gBAAL;;AACA,SAAKO,kBAAL,CAAwBlD,eAAxB;;AACA,SAAKyD,cAAL;;AACA,SAAKvG,sBAAL,CAA4B;AACxB+D,MAAAA,QAAQ,EAAE,IADc;AAExB;AACA;AACA;AACA;AACAQ,MAAAA,SAAS,EAAE,CAAC,CAAC,KAAKhI;AANM,KAA5B;AAQH;AACD;AACJ;AACA;AACA;AACA;;;AACIqG,EAAAA,EAAE,CAAC/+M,KAAD,EAAQ;AACN,WAAO,KAAK6+M,QAAL,CAAc7+M,KAAd,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIpkB,EAAAA,IAAI,CAACq5N,OAAD,EAAUh8N,OAAO,GAAG,EAApB,EAAwB;AACxB,SAAK4lO,QAAL,CAAcjjO,IAAd,CAAmBq5N,OAAnB;;AACA,SAAKwO,gBAAL,CAAsBxO,OAAtB;;AACA,SAAKkH,sBAAL,CAA4B;AAAEuE,MAAAA,SAAS,EAAEznO,OAAO,CAACynO;AAArB,KAA5B;;AACA,SAAKlB,mBAAL;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIvmL,EAAAA,MAAM,CAACj5B,KAAD,EAAQi1M,OAAR,EAAiBh8N,OAAO,GAAG,EAA3B,EAA+B;AACjC,SAAK4lO,QAAL,CAAch3N,MAAd,CAAqBmY,KAArB,EAA4B,CAA5B,EAA+Bi1M,OAA/B;;AACA,SAAKwO,gBAAL,CAAsBxO,OAAtB;;AACA,SAAKkH,sBAAL,CAA4B;AAAEuE,MAAAA,SAAS,EAAEznO,OAAO,CAACynO;AAArB,KAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIgD,EAAAA,QAAQ,CAAC1jN,KAAD,EAAQ/mB,OAAO,GAAG,EAAlB,EAAsB;AAC1B,QAAI,KAAK4lO,QAAL,CAAc7+M,KAAd,CAAJ,EACI,KAAK6+M,QAAL,CAAc7+M,KAAd,EAAqB07M,2BAArB,CAAiD,MAAM,CAAG,CAA1D;AACJ,SAAKmD,QAAL,CAAch3N,MAAd,CAAqBmY,KAArB,EAA4B,CAA5B;AACA,SAAKm8M,sBAAL,CAA4B;AAAEuE,MAAAA,SAAS,EAAEznO,OAAO,CAACynO;AAArB,KAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIoC,EAAAA,UAAU,CAAC9iN,KAAD,EAAQi1M,OAAR,EAAiBh8N,OAAO,GAAG,EAA3B,EAA+B;AACrC,QAAI,KAAK4lO,QAAL,CAAc7+M,KAAd,CAAJ,EACI,KAAK6+M,QAAL,CAAc7+M,KAAd,EAAqB07M,2BAArB,CAAiD,MAAM,CAAG,CAA1D;AACJ,SAAKmD,QAAL,CAAch3N,MAAd,CAAqBmY,KAArB,EAA4B,CAA5B;;AACA,QAAIi1M,OAAJ,EAAa;AACT,WAAK4J,QAAL,CAAch3N,MAAd,CAAqBmY,KAArB,EAA4B,CAA5B,EAA+Bi1M,OAA/B;;AACA,WAAKwO,gBAAL,CAAsBxO,OAAtB;AACH;;AACD,SAAKkH,sBAAL,CAA4B;AAAEuE,MAAAA,SAAS,EAAEznO,OAAO,CAACynO;AAArB,KAA5B;;AACA,SAAKlB,mBAAL;AACH;AACD;AACJ;AACA;;;AACc,MAANziO,MAAM,GAAG;AACT,WAAO,KAAK8hO,QAAL,CAAc9hO,MAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI4iI,EAAAA,QAAQ,CAACn+H,KAAD,EAAQvI,OAAO,GAAG,EAAlB,EAAsB;AAC1B,SAAK+pO,sBAAL,CAA4BxhO,KAA5B;;AACAA,IAAAA,KAAK,CAAC/F,OAAN,CAAc,CAAC62B,QAAD,EAAWtS,KAAX,KAAqB;AAC/B,WAAKijN,sBAAL,CAA4BjjN,KAA5B;;AACA,WAAK++M,EAAL,CAAQ/+M,KAAR,EAAe2/G,QAAf,CAAwBrtG,QAAxB,EAAkC;AAAE4tM,QAAAA,QAAQ,EAAE,IAAZ;AAAkBQ,QAAAA,SAAS,EAAEznO,OAAO,CAACynO;AAArC,OAAlC;AACH,KAHD;AAIA,SAAKvE,sBAAL,CAA4BljO,OAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIwpO,EAAAA,UAAU,CAACjhO,KAAD,EAAQvI,OAAO,GAAG,EAAlB,EAAsB;AAC5B;AACA;AACA;AACA;AACA,QAAIuI,KAAK,IAAI;AAAK;AAAlB,MACI;AACJA,IAAAA,KAAK,CAAC/F,OAAN,CAAc,CAAC62B,QAAD,EAAWtS,KAAX,KAAqB;AAC/B,UAAI,KAAK++M,EAAL,CAAQ/+M,KAAR,CAAJ,EAAoB;AAChB,aAAK++M,EAAL,CAAQ/+M,KAAR,EAAeyiN,UAAf,CAA0BnwM,QAA1B,EAAoC;AAAE4tM,UAAAA,QAAQ,EAAE,IAAZ;AAAkBQ,UAAAA,SAAS,EAAEznO,OAAO,CAACynO;AAArC,SAApC;AACH;AACJ,KAJD;AAKA,SAAKvE,sBAAL,CAA4BljO,OAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIuD,EAAAA,KAAK,CAACgF,KAAK,GAAG,EAAT,EAAavI,OAAO,GAAG,EAAvB,EAA2B;AAC5B,SAAKmnO,aAAL,CAAmB,CAACnL,OAAD,EAAUj1M,KAAV,KAAoB;AACnCi1M,MAAAA,OAAO,CAACz4N,KAAR,CAAcgF,KAAK,CAACwe,KAAD,CAAnB,EAA4B;AAAEkgN,QAAAA,QAAQ,EAAE,IAAZ;AAAkBQ,QAAAA,SAAS,EAAEznO,OAAO,CAACynO;AAArC,OAA5B;AACH,KAFD;;AAGA,SAAKF,eAAL,CAAqBvnO,OAArB;;AACA,SAAKqnO,cAAL,CAAoBrnO,OAApB;;AACA,SAAKkjO,sBAAL,CAA4BljO,OAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIiqO,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKrE,QAAL,CAAcx9N,GAAd,CAAmB4zN,OAAD,IAAa;AAClC,aAAOA,OAAO,YAAYoN,WAAnB,GAAiCpN,OAAO,CAACzzN,KAAzC,GAAiDyzN,OAAO,CAACiO,WAAR,EAAxD;AACH,KAFM,CAAP;AAGH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI1vN,EAAAA,KAAK,CAACva,OAAO,GAAG,EAAX,EAAe;AAChB,QAAI,KAAK4lO,QAAL,CAAc9hO,MAAd,GAAuB,CAA3B,EACI;;AACJ,SAAKqjO,aAAL,CAAoBnL,OAAD,IAAaA,OAAO,CAACyG,2BAAR,CAAoC,MAAM,CAAG,CAA7C,CAAhC;;AACA,SAAKmD,QAAL,CAAch3N,MAAd,CAAqB,CAArB;AACA,SAAKs0N,sBAAL,CAA4B;AAAEuE,MAAAA,SAAS,EAAEznO,OAAO,CAACynO;AAArB,KAA5B;AACH;AACD;;;AACAhD,EAAAA,oBAAoB,GAAG;AACnB,QAAI2F,cAAc,GAAG,KAAKxE,QAAL,CAAcphO,MAAd,CAAqB,CAAC6lO,OAAD,EAAUp+G,KAAV,KAAoB;AAC1D,aAAOA,KAAK,CAACw4G,oBAAN,KAA+B,IAA/B,GAAsC4F,OAA7C;AACH,KAFoB,EAElB,KAFkB,CAArB;AAGA,QAAID,cAAJ,EACI,KAAKlH,sBAAL,CAA4B;AAAE+D,MAAAA,QAAQ,EAAE;AAAZ,KAA5B;AACJ,WAAOmD,cAAP;AACH;AACD;;;AACAJ,EAAAA,sBAAsB,CAACjjN,KAAD,EAAQ;AAC1B,QAAI,CAAC,KAAK6+M,QAAL,CAAc9hO,MAAnB,EAA2B;AACvB,YAAM,IAAIsD,KAAJ,CAAW;AAC7B;AACA;AACA,OAHkB,CAAN;AAIH;;AACD,QAAI,CAAC,KAAK0+N,EAAL,CAAQ/+M,KAAR,CAAL,EAAqB;AACjB,YAAM,IAAI3f,KAAJ,CAAW,qCAAoC2f,KAAM,EAArD,CAAN;AACH;AACJ;AACD;;;AACAogN,EAAAA,aAAa,CAAC7lO,EAAD,EAAK;AACd,SAAKskO,QAAL,CAAcpjO,OAAd,CAAsB,CAACw5N,OAAD,EAAUj1M,KAAV,KAAoB;AACtCzlB,MAAAA,EAAE,CAAC06N,OAAD,EAAUj1M,KAAV,CAAF;AACH,KAFD;AAGH;AACD;;;AACA6gN,EAAAA,YAAY,GAAG;AACX,SAAKr/N,KAAL,GACI,KAAKq9N,QAAL,CAAcnqN,MAAd,CAAsBugN,OAAD,IAAaA,OAAO,CAAC10L,OAAR,IAAmB,KAAK1/B,QAA1D,EACKQ,GADL,CACU4zN,OAAD,IAAaA,OAAO,CAACzzN,KAD9B,CADJ;AAGH;AACD;;;AACAsgO,EAAAA,YAAY,CAACtrI,SAAD,EAAY;AACpB,WAAO,KAAKqoI,QAAL,CAAcnsN,IAAd,CAAoBuiN,OAAD,IAAaA,OAAO,CAAC10L,OAAR,IAAmBi2D,SAAS,CAACy+H,OAAD,CAA5D,CAAP;AACH;AACD;;;AACAyN,EAAAA,cAAc,GAAG;AACb,SAAKtC,aAAL,CAAoBnL,OAAD,IAAa,KAAKwO,gBAAL,CAAsBxO,OAAtB,CAAhC;AACH;AACD;;;AACA+N,EAAAA,sBAAsB,CAACxhO,KAAD,EAAQ;AAC1B,SAAK4+N,aAAL,CAAmB,CAACnL,OAAD,EAAUlxN,CAAV,KAAgB;AAC/B,UAAIvC,KAAK,CAACuC,CAAD,CAAL,KAAa7C,SAAjB,EAA4B;AACxB,cAAM,IAAIb,KAAJ,CAAW,kDAAiD0D,CAAE,GAA9D,CAAN;AACH;AACJ,KAJD;AAKH;AACD;;;AACAy9N,EAAAA,oBAAoB,GAAG;AACnB,SAAK,MAAMvM,OAAX,IAAsB,KAAK4J,QAA3B,EAAqC;AACjC,UAAI5J,OAAO,CAAC10L,OAAZ,EACI,OAAO,KAAP;AACP;;AACD,WAAO,KAAKs+L,QAAL,CAAc9hO,MAAd,GAAuB,CAAvB,IAA4B,KAAK8D,QAAxC;AACH;;AACD4iO,EAAAA,gBAAgB,CAACxO,OAAD,EAAU;AACtBA,IAAAA,OAAO,CAAC+L,SAAR,CAAkB,IAAlB;;AACA/L,IAAAA,OAAO,CAACyG,2BAAR,CAAoC,KAAK8D,mBAAzC;AACH;;AAlXmC;AAqXxC;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMmE,qBAAqB,GAAG;AAC1BttL,EAAAA,OAAO,EAAE4iL,gBADiB;AAE1B3iL,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAM+7J,MAAP;AAFG,CAA9B;;AAIA,MAAMrhO,EAAE,GAAG,MAAM/H,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAjB;;AACA,MAAM2uG,eAAe,gBAAI7mG,EAAD,EAAxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMqhO;AAAN,QAAMA,MAAN,SAAqB3K,gBAArB,CAAsC;AAClCr+N,IAAAA,WAAW,CAACk7N,UAAD,EAAakG,eAAb,EAA8B;AACrC;AACA;AACR;AACA;AACA;;AACQ,WAAKtC,SAAL,GAAiB,KAAjB;AACA,WAAKmK,WAAL,GAAmB,EAAnB;AACA;AACR;AACA;AACA;;AACQ,WAAKC,QAAL,GAAgB,IAAIlrM,uDAAJ,EAAhB;AACA,WAAK0wD,IAAL,GACI,IAAIs1I,SAAJ,CAAc,EAAd,EAAkBhI,iBAAiB,CAACd,UAAD,CAAnC,EAAiDgB,sBAAsB,CAACkF,eAAD,CAAvE,CADJ;AAEH;AACD;;;AACAhpL,IAAAA,eAAe,GAAG;AACd,WAAKmvL,kBAAL;AACH;AACD;AACJ;AACA;AACA;;;AACqB,QAAbjJ,aAAa,GAAG;AAChB,aAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACe,QAAPjE,OAAO,GAAG;AACV,aAAO,KAAK3rI,IAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACY,QAAJnL,IAAI,GAAG;AACP,aAAO,EAAP;AACH;AACD;AACJ;AACA;AACA;;;AACgB,QAAR0gJ,QAAQ,GAAG;AACX,aAAO,KAAKv1I,IAAL,CAAUu1I,QAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI+D,IAAAA,UAAU,CAACttL,GAAD,EAAM;AACZ8zD,MAAAA,eAAe,CAAC1uG,IAAhB,CAAqB,MAAM;AACvB,cAAMgxD,SAAS,GAAG,KAAKq4K,cAAL,CAAoBzuL,GAAG,CAAC6oC,IAAxB,CAAlB;;AACA7oC,QAAAA,GAAG,CAAC2/K,OAAJ,GACIvpK,SAAS,CAACi3K,eAAV,CAA0BrtL,GAAG,CAACx8C,IAA9B,EAAoCw8C,GAAG,CAAC2/K,OAAxC,CADJ;AAEA+F,QAAAA,YAAY,CAAC1lL,GAAG,CAAC2/K,OAAL,EAAc3/K,GAAd,CAAZ;AACAA,QAAAA,GAAG,CAAC2/K,OAAJ,CAAYkH,sBAAZ,CAAmC;AAAEuE,UAAAA,SAAS,EAAE;AAAb,SAAnC;;AACA,aAAKmD,WAAL,CAAiBjoO,IAAjB,CAAsB05C,GAAtB;AACH,OAPD;AAQH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI0uL,IAAAA,UAAU,CAAC1uL,GAAD,EAAM;AACZ,aAAO,KAAKg0C,IAAL,CAAU5nF,GAAV,CAAc4zC,GAAG,CAAC6oC,IAAlB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI0kJ,IAAAA,aAAa,CAACvtL,GAAD,EAAM;AACf8zD,MAAAA,eAAe,CAAC1uG,IAAhB,CAAqB,MAAM;AACvB,cAAMgxD,SAAS,GAAG,KAAKq4K,cAAL,CAAoBzuL,GAAG,CAAC6oC,IAAxB,CAAlB;;AACA,YAAIzyB,SAAJ,EAAe;AACXA,UAAAA,SAAS,CAACm3K,aAAV,CAAwBvtL,GAAG,CAACx8C,IAA5B;AACH;;AACDklO,QAAAA,cAAc,CAAC,KAAK6F,WAAN,EAAmBvuL,GAAnB,CAAd;AACH,OAND;AAOH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI2uL,IAAAA,YAAY,CAAC3uL,GAAD,EAAM;AACd8zD,MAAAA,eAAe,CAAC1uG,IAAhB,CAAqB,MAAM;AACvB,cAAMgxD,SAAS,GAAG,KAAKq4K,cAAL,CAAoBzuL,GAAG,CAAC6oC,IAAxB,CAAlB;;AACA,cAAM9kF,KAAK,GAAG,IAAIulO,SAAJ,CAAc,EAAd,CAAd;AACAzB,QAAAA,kBAAkB,CAAC9jO,KAAD,EAAQi8C,GAAR,CAAlB;AACAoW,QAAAA,SAAS,CAACi3K,eAAV,CAA0BrtL,GAAG,CAACx8C,IAA9B,EAAoCO,KAApC;AACAA,QAAAA,KAAK,CAAC8iO,sBAAN,CAA6B;AAAEuE,UAAAA,SAAS,EAAE;AAAb,SAA7B;AACH,OAND;AAOH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIwD,IAAAA,eAAe,CAAC5uL,GAAD,EAAM;AACjB8zD,MAAAA,eAAe,CAAC1uG,IAAhB,CAAqB,MAAM;AACvB,cAAMgxD,SAAS,GAAG,KAAKq4K,cAAL,CAAoBzuL,GAAG,CAAC6oC,IAAxB,CAAlB;;AACA,YAAIzyB,SAAJ,EAAe;AACXA,UAAAA,SAAS,CAACm3K,aAAV,CAAwBvtL,GAAG,CAACx8C,IAA5B;AACH;AACJ,OALD;AAMH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIqrO,IAAAA,YAAY,CAAC7uL,GAAD,EAAM;AACd,aAAO,KAAKg0C,IAAL,CAAU5nF,GAAV,CAAc4zC,GAAG,CAAC6oC,IAAlB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIimJ,IAAAA,WAAW,CAAC9uL,GAAD,EAAM9zC,KAAN,EAAa;AACpB4nG,MAAAA,eAAe,CAAC1uG,IAAhB,CAAqB,MAAM;AACvB,cAAM6mO,IAAI,GAAG,KAAKj4I,IAAL,CAAU5nF,GAAV,CAAc4zC,GAAG,CAAC6oC,IAAlB,CAAb;AACAojJ,QAAAA,IAAI,CAAC5hG,QAAL,CAAcn+H,KAAd;AACH,OAHD;AAIH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIm+H,IAAAA,QAAQ,CAACn+H,KAAD,EAAQ;AACZ,WAAKyzN,OAAL,CAAat1F,QAAb,CAAsBn+H,KAAtB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI6iO,IAAAA,QAAQ,CAAChR,MAAD,EAAS;AACb,WAAKqG,SAAL,GAAiB,IAAjB;AACA+D,MAAAA,mBAAmB,CAAC,KAAKn0I,IAAN,EAAY,KAAKu6I,WAAjB,CAAnB;AACA,WAAKC,QAAL,CAAc5wL,IAAd,CAAmBmgL,MAAnB;AACA,aAAO,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIiR,IAAAA,OAAO,GAAG;AACN,WAAKC,SAAL;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIA,IAAAA,SAAS,CAAC/iO,KAAK,GAAGN,SAAT,EAAoB;AACzB,WAAKooF,IAAL,CAAU9sF,KAAV,CAAgBgF,KAAhB;AACA,WAAKk4N,SAAL,GAAiB,KAAjB;AACH;;AACDyI,IAAAA,kBAAkB,GAAG;AACjB,UAAI,KAAKlpO,OAAL,IAAgB,KAAKA,OAAL,CAAayjO,QAAb,IAAyB,IAA7C,EAAmD;AAC/C,aAAKpzI,IAAL,CAAUs2I,SAAV,GAAsB,KAAK3mO,OAAL,CAAayjO,QAAnC;AACH;AACJ;AACD;;;AACAqH,IAAAA,cAAc,CAAC5lJ,IAAD,EAAO;AACjBA,MAAAA,IAAI,CAACnlC,GAAL;AACA,aAAOmlC,IAAI,CAACphF,MAAL,GAAc,KAAKusF,IAAL,CAAU5nF,GAAV,CAAcy8E,IAAd,CAAd,GAAoC,KAAKmL,IAAhD;AACH;;AA7LiC;;AA+LtCs6I,EAAAA,MAAM,CAACn+N,IAAP,GAAc,SAAS++N,cAAT,CAAwB7+N,CAAxB,EAA2B;AAAE,WAAO,KAAKA,CAAC,IAAIi+N,MAAV,EAAkBrlO,+DAAA,CAAyBm2N,aAAzB,EAAwC,EAAxC,CAAlB,EAA+Dn2N,+DAAA,CAAyBo2N,mBAAzB,EAA8C,EAA9C,CAA/D,CAAP;AAA2H,GAAtK;;AACAiP,EAAAA,MAAM,CAACn6L,IAAP,GAAc,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE4qO,MAAR;AAAgBj6L,IAAAA,SAAS,EAAE,CAAC,CAAC,MAAD,EAAS,CAAT,EAAY,UAAZ,EAAwB,EAAxB,EAA4B,CAA5B,EAA+B,WAA/B,EAA4C,EAA5C,CAAD,EAAkD,CAAC,SAAD,CAAlD,EAA+D,CAAC,EAAD,EAAK,QAAL,EAAe,EAAf,CAA/D,CAA3B;AAA+GqM,IAAAA,YAAY,EAAE,SAASyuL,mBAAT,CAA6BvuL,EAA7B,EAAiCxgC,GAAjC,EAAsC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC9N33C,QAAAA,wDAAA,CAAkB,QAAlB,EAA4B,SAASmmO,gCAAT,CAA0CrR,MAA1C,EAAkD;AAAE,iBAAO39M,GAAG,CAAC2uN,QAAJ,CAAahR,MAAb,CAAP;AAA8B,SAA9G,EAAgH,OAAhH,EAAyH,SAASsR,+BAAT,GAA2C;AAAE,iBAAOjvN,GAAG,CAAC4uN,OAAJ,EAAP;AAAuB,SAA7L;AACH;AAAE,KAF8C;AAE5C16L,IAAAA,MAAM,EAAE;AAAE3wC,MAAAA,OAAO,EAAE,CAAC,eAAD,EAAkB,SAAlB;AAAX,KAFoC;AAEOm6C,IAAAA,OAAO,EAAE;AAAE0wL,MAAAA,QAAQ,EAAE;AAAZ,KAFhB;AAE0Cj6L,IAAAA,QAAQ,EAAE,CAAC,QAAD,CAFpD;AAEgEC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAColO,qBAAD,CAA1B,CAAD,EAAqDplO,wEAArD;AAF1E,GAAzB,CAA5B;SAhMMqlO;;;AA0MN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO59N,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA0BC,CA1BhB;AA4BA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM4+N;AAAN,QAAMA,0BAAN,SAAyC3L,gBAAzC,CAA0D;AACtD;AACA/xJ,IAAAA,QAAQ,GAAG;AACP,WAAK29J,gBAAL,GADO,CAEP;;;AACA,WAAK3L,aAAL,CAAmB+K,YAAnB,CAAgC,IAAhC;AACH;AACD;;;AACArmM,IAAAA,WAAW,GAAG;AACV,UAAI,KAAKs7L,aAAT,EAAwB;AACpB;AACA,aAAKA,aAAL,CAAmBgL,eAAnB,CAAmC,IAAnC;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACe,QAAPjP,OAAO,GAAG;AACV,aAAO,KAAKiE,aAAL,CAAmBiL,YAAnB,CAAgC,IAAhC,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACY,QAAJhmJ,IAAI,GAAG;AACP,aAAO48I,WAAW,CAAC,KAAKjiO,IAAL,IAAa,IAAb,GAAoB,KAAKA,IAAzB,GAAgC,KAAKA,IAAL,CAAU+F,QAAV,EAAjC,EAAuD,KAAKk8J,OAA5D,CAAlB;AACH;AACD;AACJ;AACA;AACA;;;AACqB,QAAbm+D,aAAa,GAAG;AAChB,aAAO,KAAKn+D,OAAL,GAAe,KAAKA,OAAL,CAAam+D,aAA5B,GAA4C,IAAnD;AACH;AACD;;;AACA2L,IAAAA,gBAAgB,GAAG,CAAG;;AApCgC;;AAsC1DD,EAAAA,0BAA0B,CAACn/N,IAA3B,GAAkC,aAAc,YAAY;AAAE,QAAIq/N,uCAAJ;AAA6C,WAAO,SAASC,kCAAT,CAA4Cp/N,CAA5C,EAA+C;AAAE,aAAO,CAACm/N,uCAAuC,KAAKA,uCAAuC,GAAGvmO,mEAAA,CAA6BqmO,0BAA7B,CAA/C,CAAxC,EAAkJj/N,CAAC,IAAIi/N,0BAAvJ,CAAP;AAA4L,KAApP;AAAuP,GAAlT,EAAhD;;AACAA,EAAAA,0BAA0B,CAACn7L,IAA3B,GAAkC,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE4rO,0BAAR;AAAoC96L,IAAAA,QAAQ,EAAE,CAACvrC,wEAAD;AAA9C,GAAzB,CAAhD;SAvCMqmO;;;AAwCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO5+N,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAEO,CAFtB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASg/N,oBAAT,GAAgC;AAC5B,SAAO,IAAI3kO,KAAJ,CAAW;AACtB;AACA;AACA;AACA,MAAM85N,sBAAuB;AAC7B;AACA;AACA;AACA;AACA;AACA,MAAMI,2BAA4B,EAVvB,CAAP;AAWH;;AACD,SAAS0K,sBAAT,GAAkC;AAC9B,SAAO,IAAI5kO,KAAJ,CAAW;AACtB;AACA;AACA;AACA;AACA,MAAM+5N,oBAAqB;AAC3B;AACA;AACA;AACA,MAAME,mBAAoB,EATf,CAAP;AAUH;;AACD,SAAS4K,oBAAT,GAAgC;AAC5B,SAAO,IAAI7kO,KAAJ,CAAW;AACtB;AACA;AACA;AACA,4FAJW,CAAP;AAKH;;AACD,SAAS8kO,yBAAT,GAAqC;AACjC,SAAO,IAAI9kO,KAAJ,CAAW;AACtB;AACA;AACA;AACA;AACA,MAAM+5N,oBAAqB;AAC3B;AACA;AACA;AACA,MAAME,mBAAoB,EATf,CAAP;AAUH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8K,kBAAkB,GAAG;AACvB/uL,EAAAA,OAAO,EAAE4iL,gBADc;AAEvB3iL,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAMw9J,YAAP;AAFA,CAA3B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMA;AAAN,QAAMA,YAAN,SAA2BT,0BAA3B,CAAsD;AAClDhqO,IAAAA,WAAW,CAAC+pB,MAAD,EAASmxM,UAAT,EAAqBkG,eAArB,EAAsC;AAC7C;AACA,WAAKjhE,OAAL,GAAep2I,MAAf;;AACA,WAAK2zM,cAAL,CAAoBxC,UAApB;;AACA,WAAK0C,mBAAL,CAAyBwD,eAAzB;AACH;AACD;;;AACA6I,IAAAA,gBAAgB,GAAG;AACf,UAAI,EAAE,KAAK9pE,OAAL,YAAwBsqE,YAA1B,KAA2C,EAAE,KAAKtqE,OAAL,YAAwB6oE,MAA1B,CAA3C,KACC,OAAO59N,SAAP,KAAqB,WAArB,IAAoCA,SADrC,CAAJ,EACqD;AACjD,cAAMm/N,yBAAyB,EAA/B;AACH;AACJ;;AAbiD;;AAetDE,EAAAA,YAAY,CAAC5/N,IAAb,GAAoB,SAAS6/N,oBAAT,CAA8B3/N,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAI0/N,YAAV,EAAwB9mO,+DAAA,CAAyB06N,gBAAzB,EAA2C,CAA3C,CAAxB,EAAuE16N,+DAAA,CAAyBm2N,aAAzB,EAAwC,EAAxC,CAAvE,EAAoHn2N,+DAAA,CAAyBo2N,mBAAzB,EAA8C,EAA9C,CAApH,CAAP;AAAgL,GAAvO;;AACA0Q,EAAAA,YAAY,CAAC57L,IAAb,GAAoB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEqsO,YAAR;AAAsB17L,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,cAAL,EAAqB,EAArB,CAAD,CAAjC;AAA6DC,IAAAA,MAAM,EAAE;AAAE9wC,MAAAA,IAAI,EAAE,CAAC,cAAD,EAAiB,MAAjB;AAAR,KAArE;AAAyG+wC,IAAAA,QAAQ,EAAE,CAAC,cAAD,CAAnH;AAAqIC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC6mO,kBAAD,CAA1B,CAAD,EAAkD7mO,wEAAlD;AAA/I,GAAzB,CAAlC;SAhBM8mO;;;AAyBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOr/N,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAwBC,CAxBhB;AA0BA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMu/N,kBAAkB,GAAG;AACvBlvL,EAAAA,OAAO,EAAEgjL,SADc;AAEvB/iL,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAM29J,OAAP;AAFA,CAA3B;;AAIA,MAAMtpN,IAAI,GAAG,MAAM1hB,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgrO,iBAAiB,gBAAIvpN,IAAD,EAA1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMspN;AAAN,QAAMA,OAAN,SAAsBnM,SAAtB,CAAgC;AAC5Bz+N,IAAAA,WAAW,CAAC+pB,MAAD,EAASmxM,UAAT,EAAqBkG,eAArB,EAAsC4B,cAAtC,EAAsD;AAC7D;AACA,WAAK3I,OAAL,GAAe,IAAIoN,WAAJ,EAAf;AACA;;AACA,WAAKqD,WAAL,GAAmB,KAAnB;AACA;AACR;AACA;AACA;AACA;;AACQ,WAAKliI,MAAL,GAAc,IAAI5qE,uDAAJ,EAAd;AACA,WAAKmiI,OAAL,GAAep2I,MAAf;;AACA,WAAK2zM,cAAL,CAAoBxC,UAApB;;AACA,WAAK0C,mBAAL,CAAyBwD,eAAzB;;AACA,WAAK1C,aAAL,GAAqBqE,mBAAmB,CAAC,IAAD,EAAOC,cAAP,CAAxC;AACH;AACD;;;AACAx0L,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,WAAK+lM,eAAL;;AACA,UAAI,CAAC,KAAKD,WAAV,EACI,KAAKE,aAAL;;AACJ,UAAI,gBAAgBhmM,OAApB,EAA6B;AACzB,aAAKimM,eAAL,CAAqBjmM,OAArB;AACH;;AACD,UAAI09L,iBAAiB,CAAC19L,OAAD,EAAU,KAAK29L,SAAf,CAArB,EAAgD;AAC5C,aAAKsD,YAAL,CAAkB,KAAKiF,KAAvB;;AACA,aAAKvI,SAAL,GAAiB,KAAKuI,KAAtB;AACH;AACJ;AACD;;;AACAloM,IAAAA,WAAW,GAAG;AACV,WAAKs7L,aAAL,IAAsB,KAAKA,aAAL,CAAmB2J,aAAnB,CAAiC,IAAjC,CAAtB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACY,QAAJ1kJ,IAAI,GAAG;AACP,aAAO,KAAK48E,OAAL,GAAeggE,WAAW,CAAC,KAAKjiO,IAAN,EAAY,KAAKiiK,OAAjB,CAA1B,GAAsD,CAAC,KAAKjiK,IAAN,CAA7D;AACH;AACD;AACJ;AACA;AACA;;;AACqB,QAAbogO,aAAa,GAAG;AAChB,aAAO,KAAKn+D,OAAL,GAAe,KAAKA,OAAL,CAAam+D,aAA5B,GAA4C,IAAnD;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI8D,IAAAA,iBAAiB,CAAC1qM,QAAD,EAAW;AACxB,WAAKirM,SAAL,GAAiBjrM,QAAjB;AACA,WAAKkxE,MAAL,CAAYtwD,IAAZ,CAAiB5gB,QAAjB;AACH;;AACDszM,IAAAA,aAAa,GAAG;AACZ,WAAKzD,kBAAL;;AACA,WAAK4D,aAAL,KAAuB,KAAKC,gBAAL,EAAvB,GAAiD,KAAK9M,aAAL,CAAmB0J,UAAnB,CAA8B,IAA9B,CAAjD;AACA,WAAK8C,WAAL,GAAmB,IAAnB;AACH;;AACDvD,IAAAA,kBAAkB,GAAG;AACjB,UAAI,KAAKlpO,OAAL,IAAgB,KAAKA,OAAL,CAAayjO,QAAb,IAAyB,IAA7C,EAAmD;AAC/C,aAAKzH,OAAL,CAAa2K,SAAb,GAAyB,KAAK3mO,OAAL,CAAayjO,QAAtC;AACH;AACJ;;AACDqJ,IAAAA,aAAa,GAAG;AACZ,aAAO,CAAC,KAAKhrE,OAAN,IAAiB,CAAC,EAAE,KAAK9hK,OAAL,IAAgB,KAAKA,OAAL,CAAagtO,UAA/B,CAAzB;AACH;;AACDD,IAAAA,gBAAgB,GAAG;AACfhL,MAAAA,YAAY,CAAC,KAAK/F,OAAN,EAAe,IAAf,CAAZ;AACA,WAAKA,OAAL,CAAakH,sBAAb,CAAoC;AAAEuE,QAAAA,SAAS,EAAE;AAAb,OAApC;AACH;;AACDiF,IAAAA,eAAe,GAAG;AACd,UAAI,CAAC,KAAKI,aAAL,EAAL,EAA2B;AACvB,aAAKlB,gBAAL;AACH;;AACD,WAAKqB,UAAL;AACH;;AACDrB,IAAAA,gBAAgB,GAAG;AACf,UAAI,OAAO7+N,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,YAAI,EAAE,KAAK+0J,OAAL,YAAwBsqE,YAA1B,KACA,KAAKtqE,OAAL,YAAwB6pE,0BAD5B,EACwD;AACpD,gBAAMK,sBAAsB,EAA5B;AACH,SAHD,MAIK,IAAI,EAAE,KAAKlqE,OAAL,YAAwBsqE,YAA1B,KAA2C,EAAE,KAAKtqE,OAAL,YAAwB6oE,MAA1B,CAA/C,EAAkF;AACnF,gBAAMoB,oBAAoB,EAA1B;AACH;AACJ;AACJ;;AACDkB,IAAAA,UAAU,GAAG;AACT,UAAI,KAAKjtO,OAAL,IAAgB,KAAKA,OAAL,CAAaH,IAAjC,EACI,KAAKA,IAAL,GAAY,KAAKG,OAAL,CAAaH,IAAzB;;AACJ,UAAI,CAAC,KAAKitO,aAAL,EAAD,IAAyB,CAAC,KAAKjtO,IAA/B,KAAwC,OAAOkN,SAAP,KAAqB,WAArB,IAAoCA,SAA5E,CAAJ,EAA4F;AACxF,cAAMk/N,oBAAoB,EAA1B;AACH;AACJ;;AACDrE,IAAAA,YAAY,CAACr/N,KAAD,EAAQ;AAChBikO,MAAAA,iBAAiB,CAAC/qO,IAAlB,CAAuB,MAAM;AACzB,aAAKu6N,OAAL,CAAat1F,QAAb,CAAsBn+H,KAAtB,EAA6B;AAAEghO,UAAAA,qBAAqB,EAAE;AAAzB,SAA7B;AACH,OAFD;AAGH;;AACDqD,IAAAA,eAAe,CAACjmM,OAAD,EAAU;AACrB,YAAMumM,aAAa,GAAGvmM,OAAO,CAAC,YAAD,CAAP,CAAsB05B,YAA5C;AACA,YAAMz1B,UAAU,GAAGsiM,aAAa,KAAK,EAAlB,IAAyBA,aAAa,IAAIA,aAAa,KAAK,OAA/E;AACAV,MAAAA,iBAAiB,CAAC/qO,IAAlB,CAAuB,MAAM;AACzB,YAAImpC,UAAU,IAAI,CAAC,KAAKoxL,OAAL,CAAap0N,QAAhC,EAA0C;AACtC,eAAKo0N,OAAL,CAAa9lM,OAAb;AACH,SAFD,MAGK,IAAI,CAAC0U,UAAD,IAAe,KAAKoxL,OAAL,CAAap0N,QAAhC,EAA0C;AAC3C,eAAKo0N,OAAL,CAAa1vK,MAAb;AACH;AACJ,OAPD;AAQH;;AApH2B;;AAsHhCigL,EAAAA,OAAO,CAAC//N,IAAR,GAAe,SAAS2gO,eAAT,CAAyBzgO,CAAzB,EAA4B;AAAE,WAAO,KAAKA,CAAC,IAAI6/N,OAAV,EAAmBjnO,+DAAA,CAAyB06N,gBAAzB,EAA2C,CAA3C,CAAnB,EAAkE16N,+DAAA,CAAyBm2N,aAAzB,EAAwC,EAAxC,CAAlE,EAA+Gn2N,+DAAA,CAAyBo2N,mBAAzB,EAA8C,EAA9C,CAA/G,EAAkKp2N,+DAAA,CAAyBs0N,iBAAzB,EAA4C,EAA5C,CAAlK,CAAP;AAA4N,GAAzQ;;AACA2S,EAAAA,OAAO,CAAC/7L,IAAR,GAAe,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEwsO,OAAR;AAAiB77L,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,SAAL,EAAgB,EAAhB,EAAoB,CAApB,EAAuB,iBAAvB,EAA0C,EAA1C,EAA8C,CAA9C,EAAiD,aAAjD,EAAgE,EAAhE,CAAD,CAA5B;AAAmGC,IAAAA,MAAM,EAAE;AAAE9wC,MAAAA,IAAI,EAAE,MAAR;AAAgB+qC,MAAAA,UAAU,EAAE,CAAC,UAAD,EAAa,YAAb,CAA5B;AAAwDiiM,MAAAA,KAAK,EAAE,CAAC,SAAD,EAAY,OAAZ,CAA/D;AAAqF7sO,MAAAA,OAAO,EAAE,CAAC,gBAAD,EAAmB,SAAnB;AAA9F,KAA3G;AAA0Om6C,IAAAA,OAAO,EAAE;AAAEowD,MAAAA,MAAM,EAAE;AAAV,KAAnP;AAAgR35D,IAAAA,QAAQ,EAAE,CAAC,SAAD,CAA1R;AAAuSC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAACgnO,kBAAD,CAA1B,CAAD,EAAkDhnO,wEAAlD,EAAqFA,kEAArF;AAAjT,GAAzB,CAA7B;SAvHMinO;;;AAqIN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOx/N,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA8CC,CA9ChB;AAgDA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMqgO;AAAN,QAAMA,aAAN,CAAoB;;AAEpBA,EAAAA,aAAa,CAAC5gO,IAAd,GAAqB,SAAS6gO,qBAAT,CAA+B3gO,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAI0gO,aAAV,GAAP;AAAoC,GAA7F;;AACAA,EAAAA,aAAa,CAAC58L,IAAd,GAAqB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEqtO,aAAR;AAAuB18L,IAAAA,SAAS,EAAE,CAAC,CAAC,MAAD,EAAS,CAAT,EAAY,UAAZ,EAAwB,EAAxB,EAA4B,CAA5B,EAA+B,kBAA/B,EAAmD,EAAnD,CAAD,CAAlC;AAA4FgoC,IAAAA,SAAS,EAAE,CAAC,YAAD,EAAe,EAAf;AAAvG,GAAzB,CAAnC;SAHM00J;;;AAIN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOrgO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMO,CANtB;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMugO,qBAAqB,GAAG;AAC1BlwL,EAAAA,OAAO,EAAEw8K,iBADiB;AAE1Bv8K,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAM2+J,mBAAP,CAFG;AAG1B7jO,EAAAA,KAAK,EAAE;AAHmB,CAA9B;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM6jO;AAAN,QAAMA,mBAAN,SAAkC9T,2BAAlC,CAA8D;AAC1D;AACJ;AACA;AACA;AACIM,IAAAA,UAAU,CAACxxN,KAAD,EAAQ;AACd;AACA,YAAMvB,eAAe,GAAGuB,KAAK,IAAI,IAAT,GAAgB,EAAhB,GAAqBA,KAA7C;AACA,WAAKqyB,WAAL,CAAiB,OAAjB,EAA0B5zB,eAA1B;AACH;AACD;AACJ;AACA;AACA;;;AACIsyN,IAAAA,gBAAgB,CAAC72N,EAAD,EAAK;AACjB,WAAK02N,QAAL,GAAiB5wN,KAAD,IAAW;AACvB9F,QAAAA,EAAE,CAAC8F,KAAK,IAAI,EAAT,GAAc,IAAd,GAAqByF,UAAU,CAACzF,KAAD,CAAhC,CAAF;AACH,OAFD;AAGH;;AAlByD;;AAoB9DglO,EAAAA,mBAAmB,CAAC/gO,IAApB,GAA2B,aAAc,YAAY;AAAE,QAAIghO,gCAAJ;AAAsC,WAAO,SAASC,2BAAT,CAAqC/gO,CAArC,EAAwC;AAAE,aAAO,CAAC8gO,gCAAgC,KAAKA,gCAAgC,GAAGloO,mEAAA,CAA6BioO,mBAA7B,CAAxC,CAAjC,EAA6H7gO,CAAC,IAAI6gO,mBAAlI,CAAP;AAAgK,KAAjN;AAAoN,GAAxQ,EAAzC;;AACAA,EAAAA,mBAAmB,CAAC/8L,IAApB,GAA2B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEwtO,mBAAR;AAA6B78L,IAAAA,SAAS,EAAE,CAAC,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,EAA4B,iBAA5B,EAA+C,EAA/C,CAAD,EAAqD,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,EAA4B,aAA5B,EAA2C,EAA3C,CAArD,EAAqG,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,EAA4B,SAA5B,EAAuC,EAAvC,CAArG,CAAxC;AAA0LqM,IAAAA,YAAY,EAAE,SAAS2wL,gCAAT,CAA0CzwL,EAA1C,EAA8CxgC,GAA9C,EAAmD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACnU33C,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAASqoO,4CAAT,CAAsDvT,MAAtD,EAA8D;AAAE,iBAAO39M,GAAG,CAAC08M,QAAJ,CAAaiB,MAAM,CAACt7M,MAAP,CAAcvW,KAA3B,CAAP;AAA2C,SAAtI,EAAwI,MAAxI,EAAgJ,SAASqlO,2CAAT,GAAuD;AAAE,iBAAOnxN,GAAG,CAAC28M,SAAJ,EAAP;AAAyB,SAAlO;AACH;AAAE,KAF2D;AAEzDvoL,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAACgoO,qBAAD,CAA1B,CAAD,EAAqDhoO,wEAArD;AAF+C,GAAzB,CAAzC;SArBMioO;;;AAwBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOxgO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOO,CAPtB;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8gO,oBAAoB,GAAG;AACzBzwL,EAAAA,OAAO,EAAEw8K,iBADgB;AAEzBv8K,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAMk/J,yBAAP,CAFE;AAGzBpkO,EAAAA,KAAK,EAAE;AAHkB,CAA7B;;AAKA,SAASqkO,cAAT,GAA0B;AACtB,QAAM,IAAI3mO,KAAJ,CAAW;AACrB;AACA;AACA,KAHU,CAAN;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;;;IACM4mO;AAAN,QAAMA,0BAAN,CAAiC;;AAEjCA,EAAAA,0BAA0B,CAACxhO,IAA3B,GAAkC,SAASyhO,kCAAT,CAA4CvhO,CAA5C,EAA+C;AAAE,WAAO,KAAKA,CAAC,IAAIshO,0BAAV,GAAP;AAAiD,GAApI;;AACAA,EAAAA,0BAA0B,CAAC1yL,IAA3B,GAAkC,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEiuO;AAAR,GAAxB,CAAhD;AACAA,EAAAA,0BAA0B,CAACxyL,IAA3B,GAAkC,aAAcl2C,8DAAA,CAAwB,EAAxB,CAAhD;SAJM0oO;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOjhO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAEO,CAFtB;AAGA;AACA;AACA;AACA;;;IACMmhO;AAAN,QAAMA,oBAAN,CAA2B;AACvBvsO,IAAAA,WAAW,GAAG;AACV,WAAKwsO,UAAL,GAAkB,EAAlB;AACH;AACD;AACJ;AACA;AACA;;;AACIh4N,IAAAA,GAAG,CAAC6lN,OAAD,EAAUoS,QAAV,EAAoB;AACnB,WAAKD,UAAL,CAAgBxrO,IAAhB,CAAqB,CAACq5N,OAAD,EAAUoS,QAAV,CAArB;AACH;AACD;AACJ;AACA;AACA;;;AACIl5M,IAAAA,MAAM,CAACk5M,QAAD,EAAW;AACb,WAAK,IAAItjO,CAAC,GAAG,KAAKqjO,UAAL,CAAgBrqO,MAAhB,GAAyB,CAAtC,EAAyCgH,CAAC,IAAI,CAA9C,EAAiD,EAAEA,CAAnD,EAAsD;AAClD,YAAI,KAAKqjO,UAAL,CAAgBrjO,CAAhB,EAAmB,CAAnB,MAA0BsjO,QAA9B,EAAwC;AACpC,eAAKD,UAAL,CAAgBv/N,MAAhB,CAAuB9D,CAAvB,EAA0B,CAA1B;;AACA;AACH;AACJ;AACJ;AACD;AACJ;AACA;AACA;;;AACI81C,IAAAA,MAAM,CAACwtL,QAAD,EAAW;AACb,WAAKD,UAAL,CAAgB3rO,OAAhB,CAAyBo3B,CAAD,IAAO;AAC3B,YAAI,KAAKy0M,YAAL,CAAkBz0M,CAAlB,EAAqBw0M,QAArB,KAAkCx0M,CAAC,CAAC,CAAD,CAAD,KAASw0M,QAA/C,EAAyD;AACrDx0M,UAAAA,CAAC,CAAC,CAAD,CAAD,CAAK00M,WAAL,CAAiBF,QAAQ,CAAC7lO,KAA1B;AACH;AACJ,OAJD;AAKH;;AACD8lO,IAAAA,YAAY,CAACE,WAAD,EAAcH,QAAd,EAAwB;AAChC,UAAI,CAACG,WAAW,CAAC,CAAD,CAAX,CAAevS,OAApB,EACI,OAAO,KAAP;AACJ,aAAOuS,WAAW,CAAC,CAAD,CAAX,CAAezsE,OAAf,KAA2BssE,QAAQ,CAACI,QAAT,CAAkB1sE,OAA7C,IACHysE,WAAW,CAAC,CAAD,CAAX,CAAe1uO,IAAf,KAAwBuuO,QAAQ,CAACvuO,IADrC;AAEH;;AAvCsB;;AAyC3BquO,EAAAA,oBAAoB,CAAC1hO,IAArB,GAA4B,SAASiiO,4BAAT,CAAsC/hO,CAAtC,EAAyC;AAAE,WAAO,KAAKA,CAAC,IAAIwhO,oBAAV,GAAP;AAA2C,GAAlH;;AACAA,EAAAA,oBAAoB,CAACvhO,KAArB,GAA6BC,oEAAkB,CAAC;AAAEE,IAAAA,OAAO,EAAE,SAAS2hO,4BAAT,GAAwC;AAAE,aAAO,IAAIP,oBAAJ,EAAP;AAAoC,KAAzF;AAA2FrhO,IAAAA,KAAK,EAAEqhO,oBAAlG;AAAwHvoM,IAAAA,UAAU,EAAEqoM;AAApI,GAAD,CAA/C;SA1CME;;;AA2CN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOnhO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAG6B,CAH5C;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM+gO;AAAN,QAAMA,yBAAN,SAAwCrU,2BAAxC,CAAoE;AAChE93N,IAAAA,WAAW,CAACilH,QAAD,EAAW7jD,UAAX,EAAuB2rK,SAAvB,EAAkCnrK,SAAlC,EAA6C;AACpD,YAAMqjD,QAAN,EAAgB7jD,UAAhB;AACA,WAAK2rK,SAAL,GAAiBA,SAAjB;AACA,WAAKnrK,SAAL,GAAiBA,SAAjB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,WAAK41J,QAAL,GAAgB,MAAM,CAAG,CAAzB;AACH;AACD;;;AACAlrJ,IAAAA,QAAQ,GAAG;AACP,WAAKugK,QAAL,GAAgB,KAAKjrK,SAAL,CAAe96D,GAAf,CAAmB23N,SAAnB,CAAhB;;AACA,WAAK6M,UAAL;;AACA,WAAKyB,SAAL,CAAev4N,GAAf,CAAmB,KAAKq4N,QAAxB,EAAkC,IAAlC;AACH;AACD;;;AACA7pM,IAAAA,WAAW,GAAG;AACV,WAAK+pM,SAAL,CAAex5M,MAAf,CAAsB,IAAtB;AACH;AACD;AACJ;AACA;AACA;;;AACI6kM,IAAAA,UAAU,CAACxxN,KAAD,EAAQ;AACd,WAAKuuB,MAAL,GAAcvuB,KAAK,KAAK,KAAKA,KAA7B;AACA,WAAKqyB,WAAL,CAAiB,SAAjB,EAA4B,KAAK9D,MAAjC;AACH;AACD;AACJ;AACA;AACA;;;AACIwiM,IAAAA,gBAAgB,CAAC72N,EAAD,EAAK;AACjB,WAAKksO,GAAL,GAAWlsO,EAAX;;AACA,WAAK02N,QAAL,GAAgB,MAAM;AAClB12N,QAAAA,EAAE,CAAC,KAAK8F,KAAN,CAAF;;AACA,aAAKmmO,SAAL,CAAe9tL,MAAf,CAAsB,IAAtB;AACH,OAHD;AAIH;AACD;AACJ;AACA;AACA;AACA;;;AACI0tL,IAAAA,WAAW,CAAC/lO,KAAD,EAAQ;AACf,WAAKwxN,UAAL,CAAgBxxN,KAAhB;AACH;;AACD0kO,IAAAA,UAAU,GAAG;AACT,UAAI,KAAKptO,IAAL,IAAa,KAAK+uO,eAAlB,IAAqC,KAAK/uO,IAAL,KAAc,KAAK+uO,eAAxD,KACC,OAAO7hO,SAAP,KAAqB,WAArB,IAAoCA,SADrC,CAAJ,EACqD;AACjDghO,QAAAA,cAAc;AACjB;;AACD,UAAI,CAAC,KAAKluO,IAAN,IAAc,KAAK+uO,eAAvB,EACI,KAAK/uO,IAAL,GAAY,KAAK+uO,eAAjB;AACP;;AA1D+D;;AA4DpEd,EAAAA,yBAAyB,CAACthO,IAA1B,GAAiC,SAASqiO,iCAAT,CAA2CniO,CAA3C,EAA8C;AAAE,WAAO,KAAKA,CAAC,IAAIohO,yBAAV,EAAqCxoO,+DAAA,CAAyBA,oDAAzB,CAArC,EAAiFA,+DAAA,CAAyBA,qDAAzB,CAAjF,EAA8HA,+DAAA,CAAyB4oO,oBAAzB,CAA9H,EAA8K5oO,+DAAA,CAAyBA,mDAAzB,CAA9K,CAAP;AAAkO,GAAnT;;AACAwoO,EAAAA,yBAAyB,CAACt9L,IAA1B,GAAiC,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE+tO,yBAAR;AAAmCp9L,IAAAA,SAAS,EAAE,CAAC,CAAC,OAAD,EAAU,MAAV,EAAkB,OAAlB,EAA2B,iBAA3B,EAA8C,EAA9C,CAAD,EAAoD,CAAC,OAAD,EAAU,MAAV,EAAkB,OAAlB,EAA2B,aAA3B,EAA0C,EAA1C,CAApD,EAAmG,CAAC,OAAD,EAAU,MAAV,EAAkB,OAAlB,EAA2B,SAA3B,EAAsC,EAAtC,CAAnG,CAA9C;AAA6LqM,IAAAA,YAAY,EAAE,SAAS+xL,sCAAT,CAAgD7xL,EAAhD,EAAoDxgC,GAApD,EAAyD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAClV33C,QAAAA,wDAAA,CAAkB,QAAlB,EAA4B,SAASypO,mDAAT,GAA+D;AAAE,iBAAOtyN,GAAG,CAAC08M,QAAJ,EAAP;AAAwB,SAArH,EAAuH,MAAvH,EAA+H,SAAS6V,iDAAT,GAA6D;AAAE,iBAAOvyN,GAAG,CAAC28M,SAAJ,EAAP;AAAyB,SAAvN;AACH;AAAE,KAFiE;AAE/DzoL,IAAAA,MAAM,EAAE;AAAE9wC,MAAAA,IAAI,EAAE,MAAR;AAAgB+uO,MAAAA,eAAe,EAAE,iBAAjC;AAAoDrmO,MAAAA,KAAK,EAAE;AAA3D,KAFuD;AAEesoC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAACuoO,oBAAD,CAA1B,CAAD,EAAoDvoO,wEAApD;AAFzB,GAAzB,CAA/C;SA7DMwoO;;;AA2EN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/gO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAaC,CAbhB;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMkiO,oBAAoB,GAAG;AACzB7xL,EAAAA,OAAO,EAAEw8K,iBADgB;AAEzBv8K,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAMsgK,kBAAP,CAFE;AAGzBxlO,EAAAA,KAAK,EAAE;AAHkB,CAA7B;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMwlO;AAAN,QAAMA,kBAAN,SAAiCzV,2BAAjC,CAA6D;AACzD;AACJ;AACA;AACA;AACIM,IAAAA,UAAU,CAACxxN,KAAD,EAAQ;AACd,WAAKqyB,WAAL,CAAiB,OAAjB,EAA0B5sB,UAAU,CAACzF,KAAD,CAApC;AACH;AACD;AACJ;AACA;AACA;;;AACI+wN,IAAAA,gBAAgB,CAAC72N,EAAD,EAAK;AACjB,WAAK02N,QAAL,GAAiB5wN,KAAD,IAAW;AACvB9F,QAAAA,EAAE,CAAC8F,KAAK,IAAI,EAAT,GAAc,IAAd,GAAqByF,UAAU,CAACzF,KAAD,CAAhC,CAAF;AACH,OAFD;AAGH;;AAhBwD;;AAkB7D2mO,EAAAA,kBAAkB,CAAC1iO,IAAnB,GAA0B,aAAc,YAAY;AAAE,QAAI2iO,+BAAJ;AAAqC,WAAO,SAASC,0BAAT,CAAoC1iO,CAApC,EAAuC;AAAE,aAAO,CAACyiO,+BAA+B,KAAKA,+BAA+B,GAAG7pO,mEAAA,CAA6B4pO,kBAA7B,CAAvC,CAAhC,EAA0HxiO,CAAC,IAAIwiO,kBAA/H,CAAP;AAA4J,KAA5M;AAA+M,GAAlQ,EAAxC;;AACAA,EAAAA,kBAAkB,CAAC1+L,IAAnB,GAA0B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEmvO,kBAAR;AAA4Bx+L,IAAAA,SAAS,EAAE,CAAC,CAAC,OAAD,EAAU,MAAV,EAAkB,OAAlB,EAA2B,iBAA3B,EAA8C,EAA9C,CAAD,EAAoD,CAAC,OAAD,EAAU,MAAV,EAAkB,OAAlB,EAA2B,aAA3B,EAA0C,EAA1C,CAApD,EAAmG,CAAC,OAAD,EAAU,MAAV,EAAkB,OAAlB,EAA2B,SAA3B,EAAsC,EAAtC,CAAnG,CAAvC;AAAsLqM,IAAAA,YAAY,EAAE,SAASsyL,+BAAT,CAAyCpyL,EAAzC,EAA6CxgC,GAA7C,EAAkD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC7T33C,QAAAA,wDAAA,CAAkB,QAAlB,EAA4B,SAASgqO,4CAAT,CAAsDlV,MAAtD,EAA8D;AAAE,iBAAO39M,GAAG,CAAC08M,QAAJ,CAAaiB,MAAM,CAACt7M,MAAP,CAAcvW,KAA3B,CAAP;AAA2C,SAAvI,EAAyI,OAAzI,EAAkJ,SAASgnO,2CAAT,CAAqDnV,MAArD,EAA6D;AAAE,iBAAO39M,GAAG,CAAC08M,QAAJ,CAAaiB,MAAM,CAACt7M,MAAP,CAAcvW,KAA3B,CAAP;AAA2C,SAA5P,EAA8P,MAA9P,EAAsQ,SAASinO,0CAAT,GAAsD;AAAE,iBAAO/yN,GAAG,CAAC28M,SAAJ,EAAP;AAAyB,SAAvV;AACH;AAAE,KAF0D;AAExDvoL,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC2pO,oBAAD,CAA1B,CAAD,EAAoD3pO,wEAApD;AAF8C,GAAzB,CAAxC;SAnBM4pO;;;AAsBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOniO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAWO,CAXtB;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAM0iO,kCAAkC,gBAAG,IAAIhwM,yDAAJ,CAAmB,+BAAnB,CAA3C;AACA,MAAMiwM,oBAAoB,GAAG;AACzBtyL,EAAAA,OAAO,EAAEgjL,SADgB;AAEzB/iL,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAM+gK,oBAAP;AAFE,CAA7B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMA;AAAN,QAAMA,oBAAN,SAAmCvP,SAAnC,CAA6C;AACzCz+N,IAAAA,WAAW,CAACk7N,UAAD,EAAakG,eAAb,EAA8B4B,cAA9B,EAA8CiL,qBAA9C,EAAqE;AAC5E;AACA,WAAKA,qBAAL,GAA6BA,qBAA7B;AACA;;AACA,WAAKrlI,MAAL,GAAc,IAAI5qE,uDAAJ,EAAd;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,WAAKwlM,mBAAL,GAA2B,KAA3B;;AACA,WAAK9F,cAAL,CAAoBxC,UAApB;;AACA,WAAK0C,mBAAL,CAAyBwD,eAAzB;;AACA,WAAK1C,aAAL,GAAqBqE,mBAAmB,CAAC,IAAD,EAAOC,cAAP,CAAxC;AACH;AACD;AACJ;AACA;AACA;;;AACkB,QAAV/5L,UAAU,CAACA,UAAD,EAAa;AACvB,UAAI,OAAO79B,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C0vB,QAAAA,OAAO,CAACC,IAAR,CAAaklM,mBAAb;AACH;AACJ;AACD;;;AACAzxL,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,UAAI,KAAKkpM,iBAAL,CAAuBlpM,OAAvB,CAAJ,EAAqC;AACjC,cAAMmpM,YAAY,GAAGnpM,OAAO,CAAC,MAAD,CAAP,CAAgBo0D,aAArC;;AACA,YAAI+0I,YAAJ,EAAkB;AACdzN,UAAAA,cAAc,CAACyN,YAAD,EAAe,IAAf;AAAqB;AAAsC,eAA3D,CAAd;AACH;;AACD/N,QAAAA,YAAY,CAAC,KAAK1xI,IAAN,EAAY,IAAZ,CAAZ;;AACA,YAAI,KAAK2rI,OAAL,CAAap0N,QAAb,IAAyB,KAAKy4N,aAAL,CAAmB9G,gBAAhD,EAAkE;AAC9D,eAAK8G,aAAL,CAAmB9G,gBAAnB,CAAoC,IAApC;AACH;;AACD,aAAKlpI,IAAL,CAAU6yI,sBAAV,CAAiC;AAAEuE,UAAAA,SAAS,EAAE;AAAb,SAAjC;AACH;;AACD,UAAIpD,iBAAiB,CAAC19L,OAAD,EAAU,KAAK29L,SAAf,CAArB,EAAgD;AAC5C,YAAI,OAAOv3N,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/Ci4N,UAAAA,eAAe,CAAC,aAAD,EAAgB2K,oBAAhB,EAAsC,IAAtC,EAA4C,KAAKC,qBAAjD,CAAf;AACH;;AACD,aAAKv/I,IAAL,CAAUq2C,QAAV,CAAmB,KAAKmmG,KAAxB;AACA,aAAKvI,SAAL,GAAiB,KAAKuI,KAAtB;AACH;AACJ;AACD;;;AACAloM,IAAAA,WAAW,GAAG;AACV,UAAI,KAAK0rD,IAAT,EAAe;AACXgyI,QAAAA,cAAc,CAAC,KAAKhyI,IAAN,EAAY,IAAZ;AAAkB;AAAsC,aAAxD,CAAd;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACY,QAAJnL,IAAI,GAAG;AACP,aAAO,EAAP;AACH;AACD;AACJ;AACA;AACA;;;AACe,QAAP82I,OAAO,GAAG;AACV,aAAO,KAAK3rI,IAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI0zI,IAAAA,iBAAiB,CAAC1qM,QAAD,EAAW;AACxB,WAAKirM,SAAL,GAAiBjrM,QAAjB;AACA,WAAKkxE,MAAL,CAAYtwD,IAAZ,CAAiB5gB,QAAjB;AACH;;AACDw2M,IAAAA,iBAAiB,CAAClpM,OAAD,EAAU;AACvB,aAAOA,OAAO,CAACv4B,cAAR,CAAuB,MAAvB,CAAP;AACH;;AAjFwC;;AAmF7CuhO,EAAAA,oBAAoB,CAACnjO,IAArB,GAA4B,SAASujO,4BAAT,CAAsCrjO,CAAtC,EAAyC;AAAE,WAAO,KAAKA,CAAC,IAAIijO,oBAAV,EAAgCrqO,+DAAA,CAAyBm2N,aAAzB,EAAwC,EAAxC,CAAhC,EAA6En2N,+DAAA,CAAyBo2N,mBAAzB,EAA8C,EAA9C,CAA7E,EAAgIp2N,+DAAA,CAAyBs0N,iBAAzB,EAA4C,EAA5C,CAAhI,EAAiLt0N,+DAAA,CAAyBmqO,kCAAzB,EAA6D,CAA7D,CAAjL,CAAP;AAA2P,GAAlU;;AACAE,EAAAA,oBAAoB,CAACn/L,IAArB,GAA4B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE4vO,oBAAR;AAA8Bj/L,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,aAAL,EAAoB,EAApB,CAAD,CAAzC;AAAoEC,IAAAA,MAAM,EAAE;AAAE/F,MAAAA,UAAU,EAAE,CAAC,UAAD,EAAa,YAAb,CAAd;AAA0CylD,MAAAA,IAAI,EAAE,CAAC,aAAD,EAAgB,MAAhB,CAAhD;AAAyEw8I,MAAAA,KAAK,EAAE,CAAC,SAAD,EAAY,OAAZ;AAAhF,KAA5E;AAAoL1yL,IAAAA,OAAO,EAAE;AAAEowD,MAAAA,MAAM,EAAE;AAAV,KAA7L;AAA0N35D,IAAAA,QAAQ,EAAE,CAAC,QAAD,CAApO;AAAgPC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAACoqO,oBAAD,CAA1B,CAAD,EAAoDpqO,wEAApD,EAAuFA,kEAAvF;AAA1P,GAAzB,CAA1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACAqqO,EAAAA,oBAAoB,CAACzK,uBAArB,GAA+C,KAA/C;SA5FMyK;;;AAyGN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO5iO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAyCC,CAzChB;AA2CA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMijO,uBAAuB,GAAG;AAC5B5yL,EAAAA,OAAO,EAAE4iL,gBADmB;AAE5B3iL,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAMqhK,kBAAP;AAFK,CAAhC;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMA;AAAN,QAAMA,kBAAN,SAAiCjQ,gBAAjC,CAAkD;AAC9Cr+N,IAAAA,WAAW,CAACk7N,UAAD,EAAakG,eAAb,EAA8B;AACrC;AACA,WAAKlG,UAAL,GAAkBA,UAAlB;AACA,WAAKkG,eAAL,GAAuBA,eAAvB;AACA;AACR;AACA;AACA;;AACQ,WAAKtC,SAAL,GAAiB,KAAjB;AACA;AACR;AACA;AACA;;AACQ,WAAK8F,mBAAL,GAA2B,MAAM,KAAK2J,eAAL,EAAjC;AACA;AACR;AACA;AACA;;;AACQ,WAAKnxH,UAAL,GAAkB,EAAlB;AACA;AACR;AACA;AACA;;AACQ,WAAK1uB,IAAL,GAAY,IAAZ;AACA;AACR;AACA;AACA;;AACQ,WAAKw6I,QAAL,GAAgB,IAAIlrM,uDAAJ,EAAhB;;AACA,WAAK0/L,cAAL,CAAoBxC,UAApB;;AACA,WAAK0C,mBAAL,CAAyBwD,eAAzB;AACH;AACD;;;AACA5yL,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,WAAKwpM,iBAAL;;AACA,UAAIxpM,OAAO,CAACv4B,cAAR,CAAuB,MAAvB,CAAJ,EAAoC;AAChC,aAAKgiO,iBAAL;;AACA,aAAKF,eAAL;;AACA,aAAKG,oBAAL;;AACA,aAAKC,QAAL,GAAgB,KAAKjgJ,IAArB;AACH;AACJ;AACD;;;AACA1rD,IAAAA,WAAW,GAAG;AACV,UAAI,KAAK0rD,IAAT,EAAe;AACXmyI,QAAAA,iBAAiB,CAAC,KAAKnyI,IAAN,EAAY,IAAZ,CAAjB,CADW,CAEX;AACA;AACA;AACA;AACA;AACA;;AACA,YAAI,KAAKA,IAAL,CAAUk2I,mBAAV,KAAkC,KAAKA,mBAA3C,EAAgE;AAC5D,eAAKl2I,IAAL,CAAUoyI,2BAAV,CAAsC,MAAM,CAAG,CAA/C;AACH;AACJ;AACJ;AACD;AACJ;AACA;AACA;;;AACqB,QAAbxC,aAAa,GAAG;AAChB,aAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACe,QAAPjE,OAAO,GAAG;AACV,aAAO,KAAK3rI,IAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACY,QAAJnL,IAAI,GAAG;AACP,aAAO,EAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIykJ,IAAAA,UAAU,CAACttL,GAAD,EAAM;AACZ,YAAMisL,IAAI,GAAG,KAAKj4I,IAAL,CAAU5nF,GAAV,CAAc4zC,GAAG,CAAC6oC,IAAlB,CAAb;AACA68I,MAAAA,YAAY,CAACuG,IAAD,EAAOjsL,GAAP,CAAZ;AACAisL,MAAAA,IAAI,CAACpF,sBAAL,CAA4B;AAAEuE,QAAAA,SAAS,EAAE;AAAb,OAA5B;AACA,WAAK1oH,UAAL,CAAgBp8G,IAAhB,CAAqB05C,GAArB;AACA,aAAOisL,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIyC,IAAAA,UAAU,CAAC1uL,GAAD,EAAM;AACZ,aAAO,KAAKg0C,IAAL,CAAU5nF,GAAV,CAAc4zC,GAAG,CAAC6oC,IAAlB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI0kJ,IAAAA,aAAa,CAACvtL,GAAD,EAAM;AACfgmL,MAAAA,cAAc,CAAChmL,GAAG,CAAC2/K,OAAJ,IAAe,IAAhB,EAAsB3/K,GAAtB;AAA2B;AAAsC,WAAjE,CAAd;AACA0oL,MAAAA,cAAc,CAAC,KAAKhmH,UAAN,EAAkB1iE,GAAlB,CAAd;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI2uL,IAAAA,YAAY,CAAC3uL,GAAD,EAAM;AACd,WAAKk0L,mBAAL,CAAyBl0L,GAAzB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI4uL,IAAAA,eAAe,CAAC5uL,GAAD,EAAM;AACjB,WAAKm0L,qBAAL,CAA2Bn0L,GAA3B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI6uL,IAAAA,YAAY,CAAC7uL,GAAD,EAAM;AACd,aAAO,KAAKg0C,IAAL,CAAU5nF,GAAV,CAAc4zC,GAAG,CAAC6oC,IAAlB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIurJ,IAAAA,YAAY,CAACp0L,GAAD,EAAM;AACd,WAAKk0L,mBAAL,CAAyBl0L,GAAzB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIq0L,IAAAA,eAAe,CAACr0L,GAAD,EAAM;AACjB,WAAKm0L,qBAAL,CAA2Bn0L,GAA3B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIs0L,IAAAA,YAAY,CAACt0L,GAAD,EAAM;AACd,aAAO,KAAKg0C,IAAL,CAAU5nF,GAAV,CAAc4zC,GAAG,CAAC6oC,IAAlB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIimJ,IAAAA,WAAW,CAAC9uL,GAAD,EAAM9zC,KAAN,EAAa;AACpB,YAAM+/N,IAAI,GAAG,KAAKj4I,IAAL,CAAU5nF,GAAV,CAAc4zC,GAAG,CAAC6oC,IAAlB,CAAb;AACAojJ,MAAAA,IAAI,CAAC5hG,QAAL,CAAcn+H,KAAd;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI6iO,IAAAA,QAAQ,CAAChR,MAAD,EAAS;AACb,WAAKqG,SAAL,GAAiB,IAAjB;AACA+D,MAAAA,mBAAmB,CAAC,KAAKn0I,IAAN,EAAY,KAAK0uB,UAAjB,CAAnB;AACA,WAAK8rH,QAAL,CAAc5wL,IAAd,CAAmBmgL,MAAnB;AACA,aAAO,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIiR,IAAAA,OAAO,GAAG;AACN,WAAKC,SAAL;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIA,IAAAA,SAAS,CAAC/iO,KAAK,GAAGN,SAAT,EAAoB;AACzB,WAAKooF,IAAL,CAAU9sF,KAAV,CAAgBgF,KAAhB;AACA,WAAKk4N,SAAL,GAAiB,KAAjB;AACH;AACD;;;AACAyP,IAAAA,eAAe,GAAG;AACd,WAAKnxH,UAAL,CAAgBv8G,OAAhB,CAAwB65C,GAAG,IAAI;AAC3B,cAAMu0L,OAAO,GAAGv0L,GAAG,CAAC2/K,OAApB;AACA,cAAM6U,OAAO,GAAG,KAAKxgJ,IAAL,CAAU5nF,GAAV,CAAc4zC,GAAG,CAAC6oC,IAAlB,CAAhB;;AACA,YAAI0rJ,OAAO,KAAKC,OAAhB,EAAyB;AACrB;AACA;AACAxO,UAAAA,cAAc,CAACuO,OAAO,IAAI,IAAZ,EAAkBv0L,GAAlB,CAAd,CAHqB,CAIrB;AACA;AACA;AACA;AACA;;AACA,cAAIw0L,OAAO,YAAYzH,WAAvB,EAAoC;AAChCrH,YAAAA,YAAY,CAAC8O,OAAD,EAAUx0L,GAAV,CAAZ;AACAA,YAAAA,GAAG,CAAC2/K,OAAJ,GAAc6U,OAAd;AACH;AACJ;AACJ,OAjBD;;AAkBA,WAAKxgJ,IAAL,CAAUg4I,mBAAV,CAA8B;AAAEZ,QAAAA,SAAS,EAAE;AAAb,OAA9B;AACH;;AACD8I,IAAAA,mBAAmB,CAACl0L,GAAD,EAAM;AACrB,YAAMisL,IAAI,GAAG,KAAKj4I,IAAL,CAAU5nF,GAAV,CAAc4zC,GAAG,CAAC6oC,IAAlB,CAAb;AACAg/I,MAAAA,kBAAkB,CAACoE,IAAD,EAAOjsL,GAAP,CAAlB,CAFqB,CAGrB;AACA;AACA;;AACAisL,MAAAA,IAAI,CAACpF,sBAAL,CAA4B;AAAEuE,QAAAA,SAAS,EAAE;AAAb,OAA5B;AACH;;AACD+I,IAAAA,qBAAqB,CAACn0L,GAAD,EAAM;AACvB,UAAI,KAAKg0C,IAAT,EAAe;AACX,cAAMi4I,IAAI,GAAG,KAAKj4I,IAAL,CAAU5nF,GAAV,CAAc4zC,GAAG,CAAC6oC,IAAlB,CAAb;;AACA,YAAIojJ,IAAJ,EAAU;AACN,gBAAMnF,gBAAgB,GAAGgB,oBAAoB,CAACmE,IAAD,EAAOjsL,GAAP,CAA7C;;AACA,cAAI8mL,gBAAJ,EAAsB;AAClB;AACA;AACAmF,YAAAA,IAAI,CAACpF,sBAAL,CAA4B;AAAEuE,cAAAA,SAAS,EAAE;AAAb,aAA5B;AACH;AACJ;AACJ;AACJ;;AACD4I,IAAAA,oBAAoB,GAAG;AACnB,WAAKhgJ,IAAL,CAAUoyI,2BAAV,CAAsC,KAAK8D,mBAA3C;;AACA,UAAI,KAAK+J,QAAT,EAAmB;AACf,aAAKA,QAAL,CAAc7N,2BAAd,CAA0C,MAAM,CAAG,CAAnD;AACH;AACJ;;AACD2N,IAAAA,iBAAiB,GAAG;AAChBpO,MAAAA,eAAe,CAAC,KAAK3xI,IAAN,EAAY,IAAZ,CAAf;;AACA,UAAI,KAAKigJ,QAAT,EAAmB;AACf9N,QAAAA,iBAAiB,CAAC,KAAK8N,QAAN,EAAgB,IAAhB,CAAjB;AACH;AACJ;;AACDH,IAAAA,iBAAiB,GAAG;AAChB,UAAI,CAAC,KAAK9/I,IAAN,KAAe,OAAOtjF,SAAP,KAAqB,WAArB,IAAoCA,SAAnD,CAAJ,EAAmE;AAC/D,cAAM00N,oBAAoB,EAA1B;AACH;AACJ;;AAxQ6C;;AA0QlDwO,EAAAA,kBAAkB,CAACzjO,IAAnB,GAA0B,SAASskO,0BAAT,CAAoCpkO,CAApC,EAAuC;AAAE,WAAO,KAAKA,CAAC,IAAIujO,kBAAV,EAA8B3qO,+DAAA,CAAyBm2N,aAAzB,EAAwC,EAAxC,CAA9B,EAA2En2N,+DAAA,CAAyBo2N,mBAAzB,EAA8C,EAA9C,CAA3E,CAAP;AAAuI,GAA1M;;AACAuU,EAAAA,kBAAkB,CAACz/L,IAAnB,GAA0B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEkwO,kBAAR;AAA4Bv/L,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,CAAD,CAAvC;AAAgEqM,IAAAA,YAAY,EAAE,SAASg0L,+BAAT,CAAyC9zL,EAAzC,EAA6CxgC,GAA7C,EAAkD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACvM33C,QAAAA,wDAAA,CAAkB,QAAlB,EAA4B,SAAS0rO,4CAAT,CAAsD5W,MAAtD,EAA8D;AAAE,iBAAO39M,GAAG,CAAC2uN,QAAJ,CAAahR,MAAb,CAAP;AAA8B,SAA1H,EAA4H,OAA5H,EAAqI,SAAS6W,2CAAT,GAAuD;AAAE,iBAAOx0N,GAAG,CAAC4uN,OAAJ,EAAP;AAAuB,SAArN;AACH;AAAE,KAF0D;AAExD16L,IAAAA,MAAM,EAAE;AAAE0/C,MAAAA,IAAI,EAAE,CAAC,WAAD,EAAc,MAAd;AAAR,KAFgD;AAEfl2C,IAAAA,OAAO,EAAE;AAAE0wL,MAAAA,QAAQ,EAAE;AAAZ,KAFM;AAEoBj6L,IAAAA,QAAQ,EAAE,CAAC,QAAD,CAF9B;AAE0CC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC0qO,uBAAD,CAA1B,CAAD,EAAuD1qO,wEAAvD,EAA0FA,kEAA1F;AAFpD,GAAzB,CAAxC;SA3QM2qO;;;AAsRN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOljO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA2BC,CA3BhB;AA6BA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMmkO,qBAAqB,GAAG;AAC1B9zL,EAAAA,OAAO,EAAE4iL,gBADiB;AAE1B3iL,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAMuiK,aAAP;AAFG,CAA9B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMA;AAAN,QAAMA,aAAN,SAA4BxF,0BAA5B,CAAuD;AACnDhqO,IAAAA,WAAW,CAAC+pB,MAAD,EAASmxM,UAAT,EAAqBkG,eAArB,EAAsC;AAC7C;AACA,WAAKjhE,OAAL,GAAep2I,MAAf;;AACA,WAAK2zM,cAAL,CAAoBxC,UAApB;;AACA,WAAK0C,mBAAL,CAAyBwD,eAAzB;AACH;AACD;;;AACA6I,IAAAA,gBAAgB,GAAG;AACf,UAAIwF,iBAAiB,CAAC,KAAKtvE,OAAN,CAAjB,KAAoC,OAAO/0J,SAAP,KAAqB,WAArB,IAAoCA,SAAxE,CAAJ,EAAwF;AACpF,cAAM20N,oBAAoB,EAA1B;AACH;AACJ;;AAZkD;;AAcvDyP,EAAAA,aAAa,CAAC3kO,IAAd,GAAqB,SAAS6kO,qBAAT,CAA+B3kO,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAIykO,aAAV,EAAyB7rO,+DAAA,CAAyB06N,gBAAzB,EAA2C,EAA3C,CAAzB,EAAyE16N,+DAAA,CAAyBm2N,aAAzB,EAAwC,EAAxC,CAAzE,EAAsHn2N,+DAAA,CAAyBo2N,mBAAzB,EAA8C,EAA9C,CAAtH,CAAP;AAAkL,GAA3O;;AACAyV,EAAAA,aAAa,CAAC3gM,IAAd,GAAqB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEoxO,aAAR;AAAuBzgM,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,CAAD,CAAlC;AAA+DC,IAAAA,MAAM,EAAE;AAAE9wC,MAAAA,IAAI,EAAE,CAAC,eAAD,EAAkB,MAAlB;AAAR,KAAvE;AAA4GgxC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC4rO,qBAAD,CAA1B,CAAD,EAAqD5rO,wEAArD;AAAtH,GAAzB,CAAnC;SAfM6rO;;;AAwBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOpkO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA0BC,CA1BhB;;AA2BA,MAAMukO,qBAAqB,GAAG;AAC1Bl0L,EAAAA,OAAO,EAAE4iL,gBADiB;AAE1B3iL,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAM2iK,aAAP;AAFG,CAA9B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMA;AAAN,QAAMA,aAAN,SAA4BvR,gBAA5B,CAA6C;AACzCr+N,IAAAA,WAAW,CAAC+pB,MAAD,EAASmxM,UAAT,EAAqBkG,eAArB,EAAsC;AAC7C;AACA,WAAKjhE,OAAL,GAAep2I,MAAf;;AACA,WAAK2zM,cAAL,CAAoBxC,UAApB;;AACA,WAAK0C,mBAAL,CAAyBwD,eAAzB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI90J,IAAAA,QAAQ,GAAG;AACP,WAAK29J,gBAAL;;AACA,WAAK3L,aAAL,CAAmBwQ,YAAnB,CAAgC,IAAhC;AACH;AACD;AACJ;AACA;AACA;;;AACI9rM,IAAAA,WAAW,GAAG;AACV,UAAI,KAAKs7L,aAAT,EAAwB;AACpB,aAAKA,aAAL,CAAmByQ,eAAnB,CAAmC,IAAnC;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACe,QAAP1U,OAAO,GAAG;AACV,aAAO,KAAKiE,aAAL,CAAmB0Q,YAAnB,CAAgC,IAAhC,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACqB,QAAb1Q,aAAa,GAAG;AAChB,aAAO,KAAKn+D,OAAL,GAAe,KAAKA,OAAL,CAAam+D,aAA5B,GAA4C,IAAnD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACY,QAAJ/6I,IAAI,GAAG;AACP,aAAO48I,WAAW,CAAC,KAAKjiO,IAAL,IAAa,IAAb,GAAoB,KAAKA,IAAzB,GAAgC,KAAKA,IAAL,CAAU+F,QAAV,EAAjC,EAAuD,KAAKk8J,OAA5D,CAAlB;AACH;;AACD8pE,IAAAA,gBAAgB,GAAG;AACf,UAAIwF,iBAAiB,CAAC,KAAKtvE,OAAN,CAAjB,KAAoC,OAAO/0J,SAAP,KAAqB,WAArB,IAAoCA,SAAxE,CAAJ,EAAwF;AACpF,cAAM40N,oBAAoB,EAA1B;AACH;AACJ;;AAnDwC;;AAqD7C4P,EAAAA,aAAa,CAAC/kO,IAAd,GAAqB,SAASglO,qBAAT,CAA+B9kO,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAI6kO,aAAV,EAAyBjsO,+DAAA,CAAyB06N,gBAAzB,EAA2C,EAA3C,CAAzB,EAAyE16N,+DAAA,CAAyBm2N,aAAzB,EAAwC,EAAxC,CAAzE,EAAsHn2N,+DAAA,CAAyBo2N,mBAAzB,EAA8C,EAA9C,CAAtH,CAAP;AAAkL,GAA3O;;AACA6V,EAAAA,aAAa,CAAC/gM,IAAd,GAAqB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEwxO,aAAR;AAAuB7gM,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,CAAD,CAAlC;AAA+DC,IAAAA,MAAM,EAAE;AAAE9wC,MAAAA,IAAI,EAAE,CAAC,eAAD,EAAkB,MAAlB;AAAR,KAAvE;AAA4GgxC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAACgsO,qBAAD,CAA1B,CAAD,EAAqDhsO,wEAArD;AAAtH,GAAzB,CAAnC;SAtDMisO;;;AA+DN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOxkO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA0BC,CA1BhB;;AA2BA,SAASqkO,iBAAT,CAA2B1lN,MAA3B,EAAmC;AAC/B,SAAO,EAAEA,MAAM,YAAYylN,aAApB,KAAsC,EAAEzlN,MAAM,YAAYukN,kBAApB,CAAtC,IACH,EAAEvkN,MAAM,YAAY6lN,aAApB,CADJ;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,kBAAkB,GAAG;AACvBr0L,EAAAA,OAAO,EAAEgjL,SADc;AAEvB/iL,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAM8iK,eAAP;AAFA,CAA3B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMA;AAAN,QAAMA,eAAN,SAA8BtR,SAA9B,CAAwC;AACpCz+N,IAAAA,WAAW,CAAC+pB,MAAD,EAASmxM,UAAT,EAAqBkG,eAArB,EAAsC4B,cAAtC,EAAsDiL,qBAAtD,EAA6E;AACpF;AACA,WAAKA,qBAAL,GAA6BA,qBAA7B;AACA,WAAK+B,MAAL,GAAc,KAAd;AACA;;AACA,WAAKpnI,MAAL,GAAc,IAAI5qE,uDAAJ,EAAd;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,WAAKwlM,mBAAL,GAA2B,KAA3B;AACA,WAAKrjE,OAAL,GAAep2I,MAAf;;AACA,WAAK2zM,cAAL,CAAoBxC,UAApB;;AACA,WAAK0C,mBAAL,CAAyBwD,eAAzB;;AACA,WAAK1C,aAAL,GAAqBqE,mBAAmB,CAAC,IAAD,EAAOC,cAAP,CAAxC;AACH;AACD;AACJ;AACA;AACA;;;AACkB,QAAV/5L,UAAU,CAACA,UAAD,EAAa;AACvB,UAAI,OAAO79B,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C0vB,QAAAA,OAAO,CAACC,IAAR,CAAaklM,mBAAb;AACH;AACJ;AACD;;;AACAzxL,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,UAAI,CAAC,KAAKgrM,MAAV,EACI,KAAKhF,aAAL;;AACJ,UAAItI,iBAAiB,CAAC19L,OAAD,EAAU,KAAK29L,SAAf,CAArB,EAAgD;AAC5C,YAAI,OAAOv3N,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/Ci4N,UAAAA,eAAe,CAAC,iBAAD,EAAoB0M,eAApB,EAAqC,IAArC,EAA2C,KAAK9B,qBAAhD,CAAf;AACH;;AACD,aAAKtL,SAAL,GAAiB,KAAKuI,KAAtB;AACA,aAAK5M,aAAL,CAAmBkL,WAAnB,CAA+B,IAA/B,EAAqC,KAAK0B,KAA1C;AACH;AACJ;AACD;;;AACAloM,IAAAA,WAAW,GAAG;AACV,UAAI,KAAKs7L,aAAT,EAAwB;AACpB,aAAKA,aAAL,CAAmB2J,aAAnB,CAAiC,IAAjC;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI7F,IAAAA,iBAAiB,CAAC1qM,QAAD,EAAW;AACxB,WAAKirM,SAAL,GAAiBjrM,QAAjB;AACA,WAAKkxE,MAAL,CAAYtwD,IAAZ,CAAiB5gB,QAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACY,QAAJ6rD,IAAI,GAAG;AACP,aAAO48I,WAAW,CAAC,KAAKjiO,IAAL,IAAa,IAAb,GAAoB,KAAKA,IAAzB,GAAgC,KAAKA,IAAL,CAAU+F,QAAV,EAAjC,EAAuD,KAAKk8J,OAA5D,CAAlB;AACH;AACD;AACJ;AACA;AACA;;;AACqB,QAAbm+D,aAAa,GAAG;AAChB,aAAO,KAAKn+D,OAAL,GAAe,KAAKA,OAAL,CAAam+D,aAA5B,GAA4C,IAAnD;AACH;;AACD2L,IAAAA,gBAAgB,GAAG;AACf,UAAI,OAAO7+N,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,YAAI,EAAE,KAAK+0J,OAAL,YAAwBqvE,aAA1B,KACA,KAAKrvE,OAAL,YAAwB6pE,0BAD5B,EACwD;AACpD,gBAAMnK,qBAAqB,EAA3B;AACH,SAHD,MAIK,IAAI,EAAE,KAAK1/D,OAAL,YAAwBqvE,aAA1B,KACL,EAAE,KAAKrvE,OAAL,YAAwBmuE,kBAA1B,CADK,IAEL,EAAE,KAAKnuE,OAAL,YAAwByvE,aAA1B,CAFC,EAEyC;AAC1C,gBAAMhQ,sBAAsB,EAA5B;AACH;AACJ;AACJ;;AACDoL,IAAAA,aAAa,GAAG;AACZ,WAAKf,gBAAL;;AACA,WAAK5P,OAAL,GAAe,KAAKiE,aAAL,CAAmB0J,UAAnB,CAA8B,IAA9B,CAAf;;AACA,UAAI,KAAK3N,OAAL,CAAap0N,QAAb,IAAyB,KAAKy4N,aAAL,CAAmB9G,gBAAhD,EAAkE;AAC9D,aAAK8G,aAAL,CAAmB9G,gBAAnB,CAAoC,IAApC;AACH;;AACD,WAAKoY,MAAL,GAAc,IAAd;AACH;;AA5FmC;;AA8FxCD,EAAAA,eAAe,CAACllO,IAAhB,GAAuB,SAASolO,uBAAT,CAAiCllO,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAIglO,eAAV,EAA2BpsO,+DAAA,CAAyB06N,gBAAzB,EAA2C,EAA3C,CAA3B,EAA2E16N,+DAAA,CAAyBm2N,aAAzB,EAAwC,EAAxC,CAA3E,EAAwHn2N,+DAAA,CAAyBo2N,mBAAzB,EAA8C,EAA9C,CAAxH,EAA2Kp2N,+DAAA,CAAyBs0N,iBAAzB,EAA4C,EAA5C,CAA3K,EAA4Nt0N,+DAAA,CAAyBmqO,kCAAzB,EAA6D,CAA7D,CAA5N,CAAP;AAAsS,GAAnW;;AACAiC,EAAAA,eAAe,CAAClhM,IAAhB,GAAuB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE2xO,eAAR;AAAyBhhM,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,iBAAL,EAAwB,EAAxB,CAAD,CAApC;AAAmEC,IAAAA,MAAM,EAAE;AAAE/F,MAAAA,UAAU,EAAE,CAAC,UAAD,EAAa,YAAb,CAAd;AAA0C/qC,MAAAA,IAAI,EAAE,CAAC,iBAAD,EAAoB,MAApB,CAAhD;AAA6EgtO,MAAAA,KAAK,EAAE,CAAC,SAAD,EAAY,OAAZ;AAApF,KAA3E;AAAuL1yL,IAAAA,OAAO,EAAE;AAAEowD,MAAAA,MAAM,EAAE;AAAV,KAAhM;AAA6N15D,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAACmsO,kBAAD,CAA1B,CAAD,EAAkDnsO,wEAAlD,EAAqFA,kEAArF;AAAvO,GAAzB,CAArC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACAosO,EAAAA,eAAe,CAACxM,uBAAhB,GAA0C,KAA1C;SAvGMwM;;;AAqHN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO3kO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA+CC,CA/ChB;AAiDA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8kO,qBAAqB,GAAG;AAC1Bz0L,EAAAA,OAAO,EAAEw8K,iBADiB;AAE1Bv8K,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAMkjK,0BAAP,CAFG;AAG1BpoO,EAAAA,KAAK,EAAE;AAHmB,CAA9B;;AAKA,SAASqoO,iBAAT,CAA2BhpO,EAA3B,EAA+BR,KAA/B,EAAsC;AAClC,MAAIQ,EAAE,IAAI,IAAV,EACI,OAAQ,GAAER,KAAM,EAAhB;AACJ,MAAIA,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA9B,EACIA,KAAK,GAAG,QAAR;AACJ,SAAQ,GAAEQ,EAAG,KAAIR,KAAM,EAAhB,CAAkB8W,KAAlB,CAAwB,CAAxB,EAA2B,EAA3B,CAAP;AACH;;AACD,SAAS2yN,UAAT,CAAoBC,WAApB,EAAiC;AAC7B,SAAOA,WAAW,CAAC3+N,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMw+N;AAAN,QAAMA,0BAAN,SAAyCrY,2BAAzC,CAAqE;AACjE93N,IAAAA,WAAW,GAAG;AACV,YAAM,GAAGwoC,SAAT;AACA;;AACA,WAAK+nM,UAAL,GAAkB,IAAI1pO,GAAJ,EAAlB;AACA;;AACA,WAAK2pO,UAAL,GAAkB,CAAlB;AACA,WAAKC,YAAL,GAAoBxrO,MAAM,CAAC6wJ,EAA3B;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACmB,QAAX46E,WAAW,CAAC5vO,EAAD,EAAK;AAChB,UAAI,OAAOA,EAAP,KAAc,UAAd,KAA6B,OAAOsK,SAAP,KAAqB,WAArB,IAAoCA,SAAjE,CAAJ,EAAiF;AAC7E,cAAM,IAAI3F,KAAJ,CAAW,gDAA+Cg1F,IAAI,CAACC,SAAL,CAAe55F,EAAf,CAAmB,EAA7E,CAAN;AACH;;AACD,WAAK2vO,YAAL,GAAoB3vO,EAApB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIs3N,IAAAA,UAAU,CAACxxN,KAAD,EAAQ;AACd,WAAKA,KAAL,GAAaA,KAAb;;AACA,YAAMQ,EAAE,GAAG,KAAKupO,YAAL,CAAkB/pO,KAAlB,CAAX;;AACA,UAAIQ,EAAE,IAAI,IAAV,EAAgB;AACZ,aAAK6xB,WAAL,CAAiB,eAAjB,EAAkC,CAAC,CAAnC;AACH;;AACD,YAAMq3M,WAAW,GAAGF,iBAAiB,CAAChpO,EAAD,EAAKR,KAAL,CAArC;;AACA,WAAKqyB,WAAL,CAAiB,OAAjB,EAA0Bq3M,WAA1B;AACH;AACD;AACJ;AACA;AACA;;;AACI3Y,IAAAA,gBAAgB,CAAC72N,EAAD,EAAK;AACjB,WAAK02N,QAAL,GAAiB8Y,WAAD,IAAiB;AAC7B,aAAK1pO,KAAL,GAAa,KAAKgqO,eAAL,CAAqBN,WAArB,CAAb;AACAxvO,QAAAA,EAAE,CAAC,KAAK8F,KAAN,CAAF;AACH,OAHD;AAIH;AACD;;;AACAiqO,IAAAA,eAAe,GAAG;AACd,aAAO,CAAC,KAAKL,UAAL,EAAD,EAAoBvsO,QAApB,EAAP;AACH;AACD;;;AACA0sO,IAAAA,YAAY,CAAC/pO,KAAD,EAAQ;AAChB,WAAK,MAAMQ,EAAX,IAAiBmG,KAAK,CAACsgB,IAAN,CAAW,KAAK0iN,UAAL,CAAgBrrO,IAAhB,EAAX,CAAjB,EAAqD;AACjD,YAAI,KAAKurO,YAAL,CAAkB,KAAKF,UAAL,CAAgBzpO,GAAhB,CAAoBM,EAApB,CAAlB,EAA2CR,KAA3C,CAAJ,EACI,OAAOQ,EAAP;AACP;;AACD,aAAO,IAAP;AACH;AACD;;;AACAwpO,IAAAA,eAAe,CAACN,WAAD,EAAc;AACzB,YAAMlpO,EAAE,GAAGipO,UAAU,CAACC,WAAD,CAArB;;AACA,aAAO,KAAKC,UAAL,CAAgB99N,GAAhB,CAAoBrL,EAApB,IAA0B,KAAKmpO,UAAL,CAAgBzpO,GAAhB,CAAoBM,EAApB,CAA1B,GAAoDkpO,WAA3D;AACH;;AA5DgE;;AA8DrEH,EAAAA,0BAA0B,CAACtlO,IAA3B,GAAkC,aAAc,YAAY;AAAE,QAAIimO,uCAAJ;AAA6C,WAAO,SAASC,kCAAT,CAA4ChmO,CAA5C,EAA+C;AAAE,aAAO,CAAC+lO,uCAAuC,KAAKA,uCAAuC,GAAGntO,mEAAA,CAA6BwsO,0BAA7B,CAA/C,CAAxC,EAAkJplO,CAAC,IAAIolO,0BAAvJ,CAAP;AAA4L,KAApP;AAAuP,GAAlT,EAAhD;;AACAA,EAAAA,0BAA0B,CAACthM,IAA3B,GAAkC,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE+xO,0BAAR;AAAoCphM,IAAAA,SAAS,EAAE,CAAC,CAAC,QAAD,EAAW,iBAAX,EAA8B,EAA9B,EAAkC,CAAlC,EAAqC,UAArC,EAAiD,EAAjD,CAAD,EAAuD,CAAC,QAAD,EAAW,aAAX,EAA0B,EAA1B,EAA8B,CAA9B,EAAiC,UAAjC,EAA6C,EAA7C,CAAvD,EAAyG,CAAC,QAAD,EAAW,SAAX,EAAsB,EAAtB,EAA0B,CAA1B,EAA6B,UAA7B,EAAyC,EAAzC,CAAzG,CAA/C;AAAuMqM,IAAAA,YAAY,EAAE,SAAS41L,uCAAT,CAAiD11L,EAAjD,EAAqDxgC,GAArD,EAA0D;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC9V33C,QAAAA,wDAAA,CAAkB,QAAlB,EAA4B,SAASstO,oDAAT,CAA8DxY,MAA9D,EAAsE;AAAE,iBAAO39M,GAAG,CAAC08M,QAAJ,CAAaiB,MAAM,CAACt7M,MAAP,CAAcvW,KAA3B,CAAP;AAA2C,SAA/I,EAAiJ,MAAjJ,EAAyJ,SAASsqO,kDAAT,GAA8D;AAAE,iBAAOp2N,GAAG,CAAC28M,SAAJ,EAAP;AAAyB,SAAlP;AACH;AAAE,KAFkE;AAEhEzoL,IAAAA,MAAM,EAAE;AAAE0hM,MAAAA,WAAW,EAAE;AAAf,KAFwD;AAExBxhM,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAACusO,qBAAD,CAA1B,CAAD,EAAqDvsO,wEAArD;AAFc,GAAzB,CAAhD;SA/DMwsO;;;AAqEN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/kO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AASC,CAThB;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM+lO;AAAN,QAAMA,cAAN,CAAqB;AACjBnxO,IAAAA,WAAW,CAACg1B,QAAD,EAAWojE,SAAX,EAAsBg5I,OAAtB,EAA+B;AACtC,WAAKp8M,QAAL,GAAgBA,QAAhB;AACA,WAAKojE,SAAL,GAAiBA,SAAjB;AACA,WAAKg5I,OAAL,GAAeA,OAAf;AACA,UAAI,KAAKA,OAAT,EACI,KAAKhqO,EAAL,GAAU,KAAKgqO,OAAL,CAAaP,eAAb,EAAV;AACP;AACD;AACJ;AACA;AACA;AACA;;;AACe,QAAPQ,OAAO,CAACzqO,KAAD,EAAQ;AACf,UAAI,KAAKwqO,OAAL,IAAgB,IAApB,EACI;;AACJ,WAAKA,OAAL,CAAab,UAAb,CAAwBxpO,GAAxB,CAA4B,KAAKK,EAAjC,EAAqCR,KAArC;;AACA,WAAK0qO,gBAAL,CAAsBlB,iBAAiB,CAAC,KAAKhpO,EAAN,EAAUR,KAAV,CAAvC;;AACA,WAAKwqO,OAAL,CAAahZ,UAAb,CAAwB,KAAKgZ,OAAL,CAAaxqO,KAArC;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACa,QAALA,KAAK,CAACA,KAAD,EAAQ;AACb,WAAK0qO,gBAAL,CAAsB1qO,KAAtB;;AACA,UAAI,KAAKwqO,OAAT,EACI,KAAKA,OAAL,CAAahZ,UAAb,CAAwB,KAAKgZ,OAAL,CAAaxqO,KAArC;AACP;AACD;;;AACA0qO,IAAAA,gBAAgB,CAAC1qO,KAAD,EAAQ;AACpB,WAAKwxF,SAAL,CAAen/D,WAAf,CAA2B,KAAKjE,QAAL,CAAckZ,aAAzC,EAAwD,OAAxD,EAAiEtnC,KAAjE;AACH;AACD;;;AACAo8B,IAAAA,WAAW,GAAG;AACV,UAAI,KAAKouM,OAAT,EAAkB;AACd,aAAKA,OAAL,CAAab,UAAb,CAAwB93N,MAAxB,CAA+B,KAAKrR,EAApC;;AACA,aAAKgqO,OAAL,CAAahZ,UAAb,CAAwB,KAAKgZ,OAAL,CAAaxqO,KAArC;AACH;AACJ;;AAxCgB;;AA0CrBuqO,EAAAA,cAAc,CAACtmO,IAAf,GAAsB,SAAS0mO,sBAAT,CAAgCxmO,CAAhC,EAAmC;AAAE,WAAO,KAAKA,CAAC,IAAIomO,cAAV,EAA0BxtO,+DAAA,CAAyBA,qDAAzB,CAA1B,EAAuEA,+DAAA,CAAyBA,oDAAzB,CAAvE,EAAmHA,+DAAA,CAAyBwsO,0BAAzB,EAAqD,CAArD,CAAnH,CAAP;AAAqL,GAAhP;;AACAgB,EAAAA,cAAc,CAACtiM,IAAf,GAAsB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE+yO,cAAR;AAAwBpiM,IAAAA,SAAS,EAAE,CAAC,CAAC,QAAD,CAAD,CAAnC;AAAiDC,IAAAA,MAAM,EAAE;AAAEqiM,MAAAA,OAAO,EAAE,SAAX;AAAsBzqO,MAAAA,KAAK,EAAE;AAA7B;AAAzD,GAAzB,CAApC;SA3CMuqO;;;AAqDN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/lO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAaC,CAbhB;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMomO,8BAA8B,GAAG;AACnC/1L,EAAAA,OAAO,EAAEw8K,iBAD0B;AAEnCv8K,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAMwkK,kCAAP,CAFY;AAGnC1pO,EAAAA,KAAK,EAAE;AAH4B,CAAvC;;AAKA,SAAS2pO,mBAAT,CAA6BtqO,EAA7B,EAAiCR,KAAjC,EAAwC;AACpC,MAAIQ,EAAE,IAAI,IAAV,EACI,OAAQ,GAAER,KAAM,EAAhB;AACJ,MAAI,OAAOA,KAAP,KAAiB,QAArB,EACIA,KAAK,GAAI,IAAGA,KAAM,GAAlB;AACJ,MAAIA,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA9B,EACIA,KAAK,GAAG,QAAR;AACJ,SAAQ,GAAEQ,EAAG,KAAIR,KAAM,EAAhB,CAAkB8W,KAAlB,CAAwB,CAAxB,EAA2B,EAA3B,CAAP;AACH;;AACD,SAASi0N,YAAT,CAAsBrB,WAAtB,EAAmC;AAC/B,SAAOA,WAAW,CAAC3+N,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAP;AACH;AACD;;;AACA,MAAMigO,cAAN,CAAqB;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMH;AAAN,QAAMA,kCAAN,SAAiD3Z,2BAAjD,CAA6E;AACzE93N,IAAAA,WAAW,GAAG;AACV,YAAM,GAAGwoC,SAAT;AACA;;AACA,WAAK+nM,UAAL,GAAkB,IAAI1pO,GAAJ,EAAlB;AACA;;AACA,WAAK2pO,UAAL,GAAkB,CAAlB;AACA,WAAKC,YAAL,GAAoBxrO,MAAM,CAAC6wJ,EAA3B;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACmB,QAAX46E,WAAW,CAAC5vO,EAAD,EAAK;AAChB,UAAI,OAAOA,EAAP,KAAc,UAAd,KAA6B,OAAOsK,SAAP,KAAqB,WAArB,IAAoCA,SAAjE,CAAJ,EAAiF;AAC7E,cAAM,IAAI3F,KAAJ,CAAW,gDAA+Cg1F,IAAI,CAACC,SAAL,CAAe55F,EAAf,CAAmB,EAA7E,CAAN;AACH;;AACD,WAAK2vO,YAAL,GAAoB3vO,EAApB;AACH;AACD;AACJ;AACA;AACA;;;AACIs3N,IAAAA,UAAU,CAACxxN,KAAD,EAAQ;AACd,WAAKA,KAAL,GAAaA,KAAb;AACA,UAAIirO,yBAAJ;;AACA,UAAItkO,KAAK,CAACC,OAAN,CAAc5G,KAAd,CAAJ,EAA0B;AACtB;AACA,cAAMm6B,GAAG,GAAGn6B,KAAK,CAACH,GAAN,CAAWsR,CAAD,IAAO,KAAK44N,YAAL,CAAkB54N,CAAlB,CAAjB,CAAZ;;AACA85N,QAAAA,yBAAyB,GAAG,CAACC,GAAD,EAAMn7E,CAAN,KAAY;AACpCm7E,UAAAA,GAAG,CAACC,YAAJ,CAAiBhxM,GAAG,CAAC55B,OAAJ,CAAYwvJ,CAAC,CAAC1yJ,QAAF,EAAZ,IAA4B,CAAC,CAA9C;AACH,SAFD;AAGH,OAND,MAOK;AACD4tO,QAAAA,yBAAyB,GAAG,CAACC,GAAD,EAAMn7E,CAAN,KAAY;AACpCm7E,UAAAA,GAAG,CAACC,YAAJ,CAAiB,KAAjB;AACH,SAFD;AAGH;;AACD,WAAKxB,UAAL,CAAgB1vO,OAAhB,CAAwBgxO,yBAAxB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIla,IAAAA,gBAAgB,CAAC72N,EAAD,EAAK;AACjB,WAAK02N,QAAL,GAAiBpoN,CAAD,IAAO;AACnB,cAAM2vC,QAAQ,GAAG,EAAjB;;AACA,YAAI3vC,CAAC,CAAC4iO,eAAF,KAAsB1rO,SAA1B,EAAqC;AACjC,gBAAMjI,OAAO,GAAG+Q,CAAC,CAAC4iO,eAAlB;;AACA,eAAK,IAAI7oO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG9K,OAAO,CAAC8D,MAA5B,EAAoCgH,CAAC,EAArC,EAAyC;AACrC,kBAAM2oO,GAAG,GAAGzzO,OAAO,CAACyP,IAAR,CAAa3E,CAAb,CAAZ;;AACA,kBAAMuV,GAAG,GAAG,KAAKkyN,eAAL,CAAqBkB,GAAG,CAAClrO,KAAzB,CAAZ;;AACAm4C,YAAAA,QAAQ,CAAC/9C,IAAT,CAAc0d,GAAd;AACH;AACJ,SAPD,CAQA;AARA,aASK;AACD,gBAAMrgB,OAAO,GAAG+Q,CAAC,CAAC/Q,OAAlB;;AACA,eAAK,IAAI8K,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG9K,OAAO,CAAC8D,MAA5B,EAAoCgH,CAAC,EAArC,EAAyC;AACrC,kBAAM2oO,GAAG,GAAGzzO,OAAO,CAACyP,IAAR,CAAa3E,CAAb,CAAZ;;AACA,gBAAI2oO,GAAG,CAAC/yL,QAAR,EAAkB;AACd,oBAAMrgC,GAAG,GAAG,KAAKkyN,eAAL,CAAqBkB,GAAG,CAAClrO,KAAzB,CAAZ;;AACAm4C,cAAAA,QAAQ,CAAC/9C,IAAT,CAAc0d,GAAd;AACH;AACJ;AACJ;;AACD,aAAK9X,KAAL,GAAam4C,QAAb;AACAj+C,QAAAA,EAAE,CAACi+C,QAAD,CAAF;AACH,OAvBD;AAwBH;AACD;;;AACA8xL,IAAAA,eAAe,CAACjqO,KAAD,EAAQ;AACnB,YAAMQ,EAAE,GAAG,CAAC,KAAKopO,UAAL,EAAD,EAAoBvsO,QAApB,EAAX;;AACA,WAAKssO,UAAL,CAAgBxpO,GAAhB,CAAoBK,EAApB,EAAwBR,KAAxB;;AACA,aAAOQ,EAAP;AACH;AACD;;;AACAupO,IAAAA,YAAY,CAAC/pO,KAAD,EAAQ;AAChB,WAAK,MAAMQ,EAAX,IAAiBmG,KAAK,CAACsgB,IAAN,CAAW,KAAK0iN,UAAL,CAAgBrrO,IAAhB,EAAX,CAAjB,EAAqD;AACjD,YAAI,KAAKurO,YAAL,CAAkB,KAAKF,UAAL,CAAgBzpO,GAAhB,CAAoBM,EAApB,EAAwBojG,MAA1C,EAAkD5jG,KAAlD,CAAJ,EACI,OAAOQ,EAAP;AACP;;AACD,aAAO,IAAP;AACH;AACD;;;AACAwpO,IAAAA,eAAe,CAACN,WAAD,EAAc;AACzB,YAAMlpO,EAAE,GAAGuqO,YAAY,CAACrB,WAAD,CAAvB;;AACA,aAAO,KAAKC,UAAL,CAAgB99N,GAAhB,CAAoBrL,EAApB,IAA0B,KAAKmpO,UAAL,CAAgBzpO,GAAhB,CAAoBM,EAApB,EAAwBojG,MAAlD,GAA2D8lI,WAAlE;AACH;;AA1FwE;;AA4F7EmB,EAAAA,kCAAkC,CAAC5mO,IAAnC,GAA0C,aAAc,YAAY;AAAE,QAAIonO,+CAAJ;AAAqD,WAAO,SAASC,0CAAT,CAAoDnnO,CAApD,EAAuD;AAAE,aAAO,CAACknO,+CAA+C,KAAKA,+CAA+C,GAAGtuO,mEAAA,CAA6B8tO,kCAA7B,CAAvD,CAAhD,EAA0K1mO,CAAC,IAAI0mO,kCAA/K,CAAP;AAA4N,KAA5R;AAA+R,GAAlW,EAAxD;;AACAA,EAAAA,kCAAkC,CAAC5iM,IAAnC,GAA0C,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEqzO,kCAAR;AAA4C1iM,IAAAA,SAAS,EAAE,CAAC,CAAC,QAAD,EAAW,UAAX,EAAuB,EAAvB,EAA2B,iBAA3B,EAA8C,EAA9C,CAAD,EAAoD,CAAC,QAAD,EAAW,UAAX,EAAuB,EAAvB,EAA2B,aAA3B,EAA0C,EAA1C,CAApD,EAAmG,CAAC,QAAD,EAAW,UAAX,EAAuB,EAAvB,EAA2B,SAA3B,EAAsC,EAAtC,CAAnG,CAAvD;AAAsMqM,IAAAA,YAAY,EAAE,SAAS+2L,+CAAT,CAAyD72L,EAAzD,EAA6DxgC,GAA7D,EAAkE;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC7W33C,QAAAA,wDAAA,CAAkB,QAAlB,EAA4B,SAASyuO,4DAAT,CAAsE3Z,MAAtE,EAA8E;AAAE,iBAAO39M,GAAG,CAAC08M,QAAJ,CAAaiB,MAAM,CAACt7M,MAApB,CAAP;AAAqC,SAAjJ,EAAmJ,MAAnJ,EAA2J,SAASk1N,0DAAT,GAAsE;AAAE,iBAAOv3N,GAAG,CAAC28M,SAAJ,EAAP;AAAyB,SAA5P;AACH;AAAE,KAF0E;AAExEzoL,IAAAA,MAAM,EAAE;AAAE0hM,MAAAA,WAAW,EAAE;AAAf,KAFgE;AAEhCxhM,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC6tO,8BAAD,CAA1B,CAAD,EAA8D7tO,wEAA9D;AAFsB,GAAzB,CAAxD;SA7FM8tO;;;AAmGN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOrmO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AASC,CAThB;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMknO;AAAN,QAAMA,uBAAN,CAA8B;AAC1BtyO,IAAAA,WAAW,CAACg1B,QAAD,EAAWojE,SAAX,EAAsBg5I,OAAtB,EAA+B;AACtC,WAAKp8M,QAAL,GAAgBA,QAAhB;AACA,WAAKojE,SAAL,GAAiBA,SAAjB;AACA,WAAKg5I,OAAL,GAAeA,OAAf;;AACA,UAAI,KAAKA,OAAT,EAAkB;AACd,aAAKhqO,EAAL,GAAU,KAAKgqO,OAAL,CAAaP,eAAb,CAA6B,IAA7B,CAAV;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACe,QAAPQ,OAAO,CAACzqO,KAAD,EAAQ;AACf,UAAI,KAAKwqO,OAAL,IAAgB,IAApB,EACI;AACJ,WAAK5mI,MAAL,GAAc5jG,KAAd;;AACA,WAAK0qO,gBAAL,CAAsBI,mBAAmB,CAAC,KAAKtqO,EAAN,EAAUR,KAAV,CAAzC;;AACA,WAAKwqO,OAAL,CAAahZ,UAAb,CAAwB,KAAKgZ,OAAL,CAAaxqO,KAArC;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACa,QAALA,KAAK,CAACA,KAAD,EAAQ;AACb,UAAI,KAAKwqO,OAAT,EAAkB;AACd,aAAK5mI,MAAL,GAAc5jG,KAAd;;AACA,aAAK0qO,gBAAL,CAAsBI,mBAAmB,CAAC,KAAKtqO,EAAN,EAAUR,KAAV,CAAzC;;AACA,aAAKwqO,OAAL,CAAahZ,UAAb,CAAwB,KAAKgZ,OAAL,CAAaxqO,KAArC;AACH,OAJD,MAKK;AACD,aAAK0qO,gBAAL,CAAsB1qO,KAAtB;AACH;AACJ;AACD;;;AACA0qO,IAAAA,gBAAgB,CAAC1qO,KAAD,EAAQ;AACpB,WAAKwxF,SAAL,CAAen/D,WAAf,CAA2B,KAAKjE,QAAL,CAAckZ,aAAzC,EAAwD,OAAxD,EAAiEtnC,KAAjE;AACH;AACD;;;AACAmrO,IAAAA,YAAY,CAAChzL,QAAD,EAAW;AACnB,WAAKq5C,SAAL,CAAen/D,WAAf,CAA2B,KAAKjE,QAAL,CAAckZ,aAAzC,EAAwD,UAAxD,EAAoE6Q,QAApE;AACH;AACD;;;AACA/b,IAAAA,WAAW,GAAG;AACV,UAAI,KAAKouM,OAAT,EAAkB;AACd,aAAKA,OAAL,CAAab,UAAb,CAAwB93N,MAAxB,CAA+B,KAAKrR,EAApC;;AACA,aAAKgqO,OAAL,CAAahZ,UAAb,CAAwB,KAAKgZ,OAAL,CAAaxqO,KAArC;AACH;AACJ;;AAlDyB;;AAoD9B0rO,EAAAA,uBAAuB,CAACznO,IAAxB,GAA+B,SAAS0nO,+BAAT,CAAyCxnO,CAAzC,EAA4C;AAAE,WAAO,KAAKA,CAAC,IAAIunO,uBAAV,EAAmC3uO,+DAAA,CAAyBA,qDAAzB,CAAnC,EAAgFA,+DAAA,CAAyBA,oDAAzB,CAAhF,EAA4HA,+DAAA,CAAyB8tO,kCAAzB,EAA6D,CAA7D,CAA5H,CAAP;AAAsM,GAAnR;;AACAa,EAAAA,uBAAuB,CAACzjM,IAAxB,GAA+B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEk0O,uBAAR;AAAiCvjM,IAAAA,SAAS,EAAE,CAAC,CAAC,QAAD,CAAD,CAA5C;AAA0DC,IAAAA,MAAM,EAAE;AAAEqiM,MAAAA,OAAO,EAAE,SAAX;AAAsBzqO,MAAAA,KAAK,EAAE;AAA7B;AAAlE,GAAzB,CAA7C;SArDM0rO;;;AA+DN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOlnO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAaC,CAbhB;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASonO,QAAT,CAAkB5rO,KAAlB,EAAyB;AACrB,SAAO,OAAOA,KAAP,KAAiB,QAAjB,GAA4BA,KAA5B,GAAoCmkC,QAAQ,CAACnkC,KAAD,EAAQ,EAAR,CAAnD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;IACM6rO;AAAN,QAAMA,0BAAN,CAAiC;AAC7BzyO,IAAAA,WAAW,GAAG;AACV,WAAK0yO,UAAL,GAAkB1X,aAAlB;AACH;AACD;AACJ;AACA;AACA;;;AACI2X,IAAAA,aAAa,CAAC3tM,OAAD,EAAU;AACnB,UAAI,KAAK4tM,SAAL,IAAkB5tM,OAAtB,EAA+B;AAC3B,cAAMp1B,KAAK,GAAG,KAAKijO,cAAL,CAAoB7tM,OAAO,CAAC,KAAK4tM,SAAN,CAAP,CAAwBl0K,YAA5C,CAAd;AACA,aAAKg0K,UAAL,GAAkB,KAAKI,eAAL,CAAqBljO,KAArB,CAAlB;;AACA,YAAI,KAAK83N,SAAT,EAAoB;AAChB,eAAKA,SAAL;AACH;AACJ;AACJ;AACD;;;AACA7L,IAAAA,QAAQ,CAACxB,OAAD,EAAU;AACd,aAAO,KAAKqY,UAAL,CAAgBrY,OAAhB,CAAP;AACH;AACD;;;AACA0G,IAAAA,yBAAyB,CAACjgO,EAAD,EAAK;AAC1B,WAAK4mO,SAAL,GAAiB5mO,EAAjB;AACH;;AAxB4B;;AA0BjC2xO,EAAAA,0BAA0B,CAAC5nO,IAA3B,GAAkC,SAASkoO,kCAAT,CAA4ChoO,CAA5C,EAA+C;AAAE,WAAO,KAAKA,CAAC,IAAI0nO,0BAAV,GAAP;AAAiD,GAApI;;AACAA,EAAAA,0BAA0B,CAAC5jM,IAA3B,GAAkC,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEq0O;AAAR,GAAzB,CAAhD;SA3BMA;;;AA4BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOrnO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAE6B,CAF5C;AAGA;AACA;AACA;AACA;;;AACA,MAAM4nO,aAAa,GAAG;AAClBv3L,EAAAA,OAAO,EAAEq+K,aADS;AAElBp+K,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAMgmK,YAAP,CAFL;AAGlBlrO,EAAAA,KAAK,EAAE;AAHW,CAAtB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMkrO;AAAN,QAAMA,YAAN,SAA2BR,0BAA3B,CAAsD;AAClDzyO,IAAAA,WAAW,GAAG;AACV,YAAM,GAAGwoC,SAAT;AACA;;AACA,WAAKoqM,SAAL,GAAiB,KAAjB;AACA;;AACA,WAAKC,cAAL,GAAuBjjO,KAAD,IAAWvD,UAAU,CAACuD,KAAD,CAA3C;AACA;;;AACA,WAAKkjO,eAAL,GAAwB9vO,GAAD,IAASm3N,YAAY,CAACn3N,GAAD,CAA5C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIwrC,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,WAAK2tM,aAAL,CAAmB3tM,OAAnB;AACH;;AAlBiD;;AAoBtDiuM,EAAAA,YAAY,CAACpoO,IAAb,GAAoB,aAAc,YAAY;AAAE,QAAIqoO,yBAAJ;AAA+B,WAAO,SAASC,oBAAT,CAA8BpoO,CAA9B,EAAiC;AAAE,aAAO,CAACmoO,yBAAyB,KAAKA,yBAAyB,GAAGvvO,mEAAA,CAA6BsvO,YAA7B,CAAjC,CAA1B,EAAwGloO,CAAC,IAAIkoO,YAA7G,CAAP;AAAoI,KAA9K;AAAiL,GAA9N,EAAlC;;AACAA,EAAAA,YAAY,CAACpkM,IAAb,GAAoB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE60O,YAAR;AAAsBlkM,IAAAA,SAAS,EAAE,CAAC,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,EAA4B,KAA5B,EAAmC,EAAnC,EAAuC,iBAAvC,EAA0D,EAA1D,CAAD,EAAgE,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,EAA4B,KAA5B,EAAmC,EAAnC,EAAuC,aAAvC,EAAsD,EAAtD,CAAhE,EAA2H,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,EAA4B,KAA5B,EAAmC,EAAnC,EAAuC,SAAvC,EAAkD,EAAlD,CAA3H,CAAjC;AAAoNoM,IAAAA,QAAQ,EAAE,CAA9N;AAAiOC,IAAAA,YAAY,EAAE,SAASg4L,yBAAT,CAAmC93L,EAAnC,EAAuCxgC,GAAvC,EAA4C;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC5V,YAAI+3L,OAAJ;AACA1vO,QAAAA,yDAAA,CAAmB,KAAnB,EAA0B,CAAC0vO,OAAO,GAAGv4N,GAAG,CAAC9X,GAAf,MAAwB,IAAxB,IAAgCqwO,OAAO,KAAK/sO,SAA5C,GAAwD+sO,OAAxD,GAAkE,IAA5F;AACH;AAAE,KAHoD;AAGlDrkM,IAAAA,MAAM,EAAE;AAAEhsC,MAAAA,GAAG,EAAE;AAAP,KAH0C;AAG1BksC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAACqvO,aAAD,CAA1B,CAAD,EAA6CrvO,wEAA7C,EAAgFA,kEAAhF;AAHgB,GAAzB,CAAlC;SArBMsvO;;;AA4BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO7nO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AASC,CAThB;AAUA;AACA;AACA;AACA;;;AACA,MAAMkoO,aAAa,GAAG;AAClB73L,EAAAA,OAAO,EAAEq+K,aADS;AAElBp+K,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAMsmK,YAAP,CAFL;AAGlBxrO,EAAAA,KAAK,EAAE;AAHW,CAAtB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMwrO;AAAN,QAAMA,YAAN,SAA2Bd,0BAA3B,CAAsD;AAClDzyO,IAAAA,WAAW,GAAG;AACV,YAAM,GAAGwoC,SAAT;AACA;;AACA,WAAKoqM,SAAL,GAAiB,KAAjB;AACA;;AACA,WAAKC,cAAL,GAAuBjjO,KAAD,IAAWvD,UAAU,CAACuD,KAAD,CAA3C;AACA;;;AACA,WAAKkjO,eAAL,GAAwB3vO,GAAD,IAAS+2N,YAAY,CAAC/2N,GAAD,CAA5C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIqrC,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,WAAK2tM,aAAL,CAAmB3tM,OAAnB;AACH;;AAlBiD;;AAoBtDuuM,EAAAA,YAAY,CAAC1oO,IAAb,GAAoB,aAAc,YAAY;AAAE,QAAI2oO,yBAAJ;AAA+B,WAAO,SAASC,oBAAT,CAA8B1oO,CAA9B,EAAiC;AAAE,aAAO,CAACyoO,yBAAyB,KAAKA,yBAAyB,GAAG7vO,mEAAA,CAA6B4vO,YAA7B,CAAjC,CAA1B,EAAwGxoO,CAAC,IAAIwoO,YAA7G,CAAP;AAAoI,KAA9K;AAAiL,GAA9N,EAAlC;;AACAA,EAAAA,YAAY,CAAC1kM,IAAb,GAAoB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEm1O,YAAR;AAAsBxkM,IAAAA,SAAS,EAAE,CAAC,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,EAA4B,KAA5B,EAAmC,EAAnC,EAAuC,iBAAvC,EAA0D,EAA1D,CAAD,EAAgE,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,EAA4B,KAA5B,EAAmC,EAAnC,EAAuC,aAAvC,EAAsD,EAAtD,CAAhE,EAA2H,CAAC,OAAD,EAAU,MAAV,EAAkB,QAAlB,EAA4B,KAA5B,EAAmC,EAAnC,EAAuC,SAAvC,EAAkD,EAAlD,CAA3H,CAAjC;AAAoNoM,IAAAA,QAAQ,EAAE,CAA9N;AAAiOC,IAAAA,YAAY,EAAE,SAASs4L,yBAAT,CAAmCp4L,EAAnC,EAAuCxgC,GAAvC,EAA4C;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC5V,YAAI+3L,OAAJ;AACA1vO,QAAAA,yDAAA,CAAmB,KAAnB,EAA0B,CAAC0vO,OAAO,GAAGv4N,GAAG,CAAC3X,GAAf,MAAwB,IAAxB,IAAgCkwO,OAAO,KAAK/sO,SAA5C,GAAwD+sO,OAAxD,GAAkE,IAA5F;AACH;AAAE,KAHoD;AAGlDrkM,IAAAA,MAAM,EAAE;AAAE7rC,MAAAA,GAAG,EAAE;AAAP,KAH0C;AAG1B+rC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC2vO,aAAD,CAA1B,CAAD,EAA6C3vO,wEAA7C,EAAgFA,kEAAhF;AAHgB,GAAzB,CAAlC;SArBM4vO;;;AA4BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOnoO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AASC,CAThB;AAUA;AACA;AACA;AACA;;;AACA,MAAMuoO,kBAAkB,GAAG;AACvBl4L,EAAAA,OAAO,EAAEq+K,aADc;AAEvBp+K,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAM2mK,iBAAP,CAFA;AAGvB7rO,EAAAA,KAAK,EAAE;AAHgB,CAA3B;AAKA;AACA;AACA;AACA;;AACA,MAAM8rO,2BAA2B,GAAG;AAChCp4L,EAAAA,OAAO,EAAEq+K,aADuB;AAEhCp+K,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAM6mK,yBAAP,CAFS;AAGhC/rO,EAAAA,KAAK,EAAE;AAHyB,CAApC;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM6rO;AAAN,QAAMA,iBAAN,CAAwB;AACpB5zO,IAAAA,WAAW,GAAG;AACV,WAAK+zO,SAAL,GAAiB,KAAjB;AACH;AACD;AACJ;AACA;AACA;;;AACgB,QAAR3Z,QAAQ,GAAG;AACX,aAAO,KAAK2Z,SAAZ;AACH;;AACW,QAAR3Z,QAAQ,CAACxzN,KAAD,EAAQ;AAChB,WAAKmtO,SAAL,GAAiBntO,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,KAA3B,IAAqC,GAAEA,KAAM,EAAT,KAAe,OAApE;AACA,UAAI,KAAK8gO,SAAT,EACI,KAAKA,SAAL;AACP;AACD;AACJ;AACA;AACA;AACA;;;AACI7L,IAAAA,QAAQ,CAACxB,OAAD,EAAU;AACd,aAAO,KAAKD,QAAL,GAAgBE,iBAAiB,CAACD,OAAD,CAAjC,GAA6C,IAApD;AACH;AACD;AACJ;AACA;AACA;;;AACI0G,IAAAA,yBAAyB,CAACjgO,EAAD,EAAK;AAC1B,WAAK4mO,SAAL,GAAiB5mO,EAAjB;AACH;;AA9BmB;;AAgCxB8yO,EAAAA,iBAAiB,CAAC/oO,IAAlB,GAAyB,SAASmpO,yBAAT,CAAmCjpO,CAAnC,EAAsC;AAAE,WAAO,KAAKA,CAAC,IAAI6oO,iBAAV,GAAP;AAAwC,GAAzG;;AACAA,EAAAA,iBAAiB,CAAC/kM,IAAlB,GAAyB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEw1O,iBAAR;AAA2B7kM,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,UAAL,EAAiB,EAAjB,EAAqB,iBAArB,EAAwC,EAAxC,EAA4C,CAA5C,EAA+C,MAA/C,EAAuD,UAAvD,CAAD,EAAqE,CAAC,EAAD,EAAK,UAAL,EAAiB,EAAjB,EAAqB,aAArB,EAAoC,EAApC,EAAwC,CAAxC,EAA2C,MAA3C,EAAmD,UAAnD,CAArE,EAAqI,CAAC,EAAD,EAAK,UAAL,EAAiB,EAAjB,EAAqB,SAArB,EAAgC,EAAhC,EAAoC,CAApC,EAAuC,MAAvC,EAA+C,UAA/C,CAArI,CAAtC;AAAwOoM,IAAAA,QAAQ,EAAE,CAAlP;AAAqPC,IAAAA,YAAY,EAAE,SAAS64L,8BAAT,CAAwC34L,EAAxC,EAA4CxgC,GAA5C,EAAiD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC1X33C,QAAAA,yDAAA,CAAmB,UAAnB,EAA+BmX,GAAG,CAACs/M,QAAJ,GAAe,EAAf,GAAoB,IAAnD;AACH;AAAE,KAFyD;AAEvDprL,IAAAA,MAAM,EAAE;AAAEorL,MAAAA,QAAQ,EAAE;AAAZ,KAF+C;AAErBlrL,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAACgwO,kBAAD,CAA1B,CAAD;AAFW,GAAzB,CAAvC;SAjCMC;;;AAuCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOxoO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AASC,CAThB;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM0oO;AAAN,QAAMA,yBAAN,SAAwCF,iBAAxC,CAA0D;AACtD;AACJ;AACA;AACA;AACA;AACI/X,IAAAA,QAAQ,CAACxB,OAAD,EAAU;AACd,aAAO,KAAKD,QAAL,GAAgBI,qBAAqB,CAACH,OAAD,CAArC,GAAiD,IAAxD;AACH;;AARqD;;AAU1DyZ,EAAAA,yBAAyB,CAACjpO,IAA1B,GAAiC,aAAc,YAAY;AAAE,QAAIqpO,sCAAJ;AAA4C,WAAO,SAASC,iCAAT,CAA2CppO,CAA3C,EAA8C;AAAE,aAAO,CAACmpO,sCAAsC,KAAKA,sCAAsC,GAAGvwO,mEAAA,CAA6BmwO,yBAA7B,CAA9C,CAAvC,EAA+I/oO,CAAC,IAAI+oO,yBAApJ,CAAP;AAAwL,KAA/O;AAAkP,GAA5S,EAA/C;;AACAA,EAAAA,yBAAyB,CAACjlM,IAA1B,GAAiC,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE01O,yBAAR;AAAmC/kM,IAAAA,SAAS,EAAE,CAAC,CAAC,OAAD,EAAU,MAAV,EAAkB,UAAlB,EAA8B,UAA9B,EAA0C,EAA1C,EAA8C,iBAA9C,EAAiE,EAAjE,CAAD,EAAuE,CAAC,OAAD,EAAU,MAAV,EAAkB,UAAlB,EAA8B,UAA9B,EAA0C,EAA1C,EAA8C,aAA9C,EAA6D,EAA7D,CAAvE,EAAyI,CAAC,OAAD,EAAU,MAAV,EAAkB,UAAlB,EAA8B,UAA9B,EAA0C,EAA1C,EAA8C,SAA9C,EAAyD,EAAzD,CAAzI,CAA9C;AAAsPoM,IAAAA,QAAQ,EAAE,CAAhQ;AAAmQC,IAAAA,YAAY,EAAE,SAASg5L,sCAAT,CAAgD94L,EAAhD,EAAoDxgC,GAApD,EAAyD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACxZ33C,QAAAA,yDAAA,CAAmB,UAAnB,EAA+BmX,GAAG,CAACs/M,QAAJ,GAAe,EAAf,GAAoB,IAAnD;AACH;AAAE,KAFiE;AAE/DlrL,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAACkwO,2BAAD,CAA1B,CAAD,EAA2DlwO,wEAA3D;AAFqD,GAAzB,CAA/C;SAXMmwO;;;AAcN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO1oO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOO,CAPtB;AAQA;AACA;AACA;AACA;;;AACA,MAAMipO,eAAe,GAAG;AACpB54L,EAAAA,OAAO,EAAEq+K,aADW;AAEpBp+K,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAMqnK,cAAP,CAFH;AAGpBvsO,EAAAA,KAAK,EAAE;AAHa,CAAxB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMusO;AAAN,QAAMA,cAAN,CAAqB;AACjBt0O,IAAAA,WAAW,GAAG;AACV,WAAK4rC,QAAL,GAAgB,KAAhB;AACH;AACD;AACJ;AACA;AACA;;;AACa,QAAL6uL,KAAK,CAAC7zN,KAAD,EAAQ;AACb,WAAKglC,QAAL,GAAgBhlC,KAAK,KAAK,EAAV,IAAgBA,KAAK,KAAK,IAA1B,IAAkCA,KAAK,KAAK,MAA5D;AACA,UAAI,KAAK8gO,SAAT,EACI,KAAKA,SAAL;AACP;AACD;AACJ;AACA;AACA;AACA;;;AACI7L,IAAAA,QAAQ,CAACxB,OAAD,EAAU;AACd,aAAO,KAAKzuL,QAAL,GAAgB8uL,cAAc,CAACL,OAAD,CAA9B,GAA0C,IAAjD;AACH;AACD;AACJ;AACA;AACA;;;AACI0G,IAAAA,yBAAyB,CAACjgO,EAAD,EAAK;AAC1B,WAAK4mO,SAAL,GAAiB5mO,EAAjB;AACH;;AA3BgB;;AA6BrBwzO,EAAAA,cAAc,CAACzpO,IAAf,GAAsB,SAAS0pO,sBAAT,CAAgCxpO,CAAhC,EAAmC;AAAE,WAAO,KAAKA,CAAC,IAAIupO,cAAV,GAAP;AAAqC,GAAhG;;AACAA,EAAAA,cAAc,CAACzlM,IAAf,GAAsB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEk2O,cAAR;AAAwBvlM,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,OAAL,EAAc,EAAd,EAAkB,iBAAlB,EAAqC,EAArC,CAAD,EAA2C,CAAC,EAAD,EAAK,OAAL,EAAc,EAAd,EAAkB,aAAlB,EAAiC,EAAjC,CAA3C,EAAiF,CAAC,EAAD,EAAK,OAAL,EAAc,EAAd,EAAkB,SAAlB,EAA6B,EAA7B,CAAjF,CAAnC;AAAuJC,IAAAA,MAAM,EAAE;AAAEyrL,MAAAA,KAAK,EAAE;AAAT,KAA/J;AAAmLvrL,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC0wO,eAAD,CAA1B,CAAD;AAA7L,GAAzB,CAApC;SA9BMC;;;AAkCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOlpO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAQC,CARhB;AASA;AACA;AACA;AACA;;;AACA,MAAMopO,oBAAoB,GAAG;AACzB/4L,EAAAA,OAAO,EAAEq+K,aADgB;AAEzBp+K,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAMwnK,kBAAP,CAFE;AAGzB1sO,EAAAA,KAAK,EAAE;AAHkB,CAA7B;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM0sO;AAAN,QAAMA,kBAAN,CAAyB;AACrBz0O,IAAAA,WAAW,GAAG;AACV,WAAK0yO,UAAL,GAAkB1X,aAAlB;AACH;AACD;;;AACAxsL,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,UAAI,eAAeA,OAAnB,EAA4B;AACxB,aAAK0vM,gBAAL;;AACA,YAAI,KAAKhN,SAAT,EACI,KAAKA,SAAL;AACP;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACI7L,IAAAA,QAAQ,CAACxB,OAAD,EAAU;AACd,aAAO,KAAK10L,OAAL,KAAiB,KAAK+sM,UAAL,CAAgBrY,OAAhB,CAAjB,GAA4C,IAAnD;AACH;AACD;AACJ;AACA;AACA;;;AACI0G,IAAAA,yBAAyB,CAACjgO,EAAD,EAAK;AAC1B,WAAK4mO,SAAL,GAAiB5mO,EAAjB;AACH;;AACD4zO,IAAAA,gBAAgB,GAAG;AACf,WAAKhC,UAAL,GACI,KAAK/sM,OAAL,KAAiBi1L,kBAAkB,CAAC4X,QAAQ,CAAC,KAAKmC,SAAN,CAAT,CAAnC,GAAgE3Z,aADpE;AAEH;AACD;;;AACAr1L,IAAAA,OAAO,GAAG;AACN,aAAO,KAAKgvM,SAAL,IAAkB;AAAK;AAA9B;AACH;;AAlCoB;;AAoCzBF,EAAAA,kBAAkB,CAAC5pO,IAAnB,GAA0B,SAAS+pO,0BAAT,CAAoC7pO,CAApC,EAAuC;AAAE,WAAO,KAAKA,CAAC,IAAI0pO,kBAAV,GAAP;AAAyC,GAA5G;;AACAA,EAAAA,kBAAkB,CAAC5lM,IAAnB,GAA0B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEq2O,kBAAR;AAA4B1lM,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,EAAsB,iBAAtB,EAAyC,EAAzC,CAAD,EAA+C,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,EAAsB,aAAtB,EAAqC,EAArC,CAA/C,EAAyF,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,EAAsB,SAAtB,EAAiC,EAAjC,CAAzF,CAAvC;AAAuKoM,IAAAA,QAAQ,EAAE,CAAjL;AAAoLC,IAAAA,YAAY,EAAE,SAASy5L,+BAAT,CAAyCv5L,EAAzC,EAA6CxgC,GAA7C,EAAkD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC3T33C,QAAAA,yDAAA,CAAmB,WAAnB,EAAgCmX,GAAG,CAAC6qB,OAAJ,KAAgB7qB,GAAG,CAAC65N,SAApB,GAAgC,IAAhE;AACH;AAAE,KAF0D;AAExD3lM,IAAAA,MAAM,EAAE;AAAE2lM,MAAAA,SAAS,EAAE;AAAb,KAFgD;AAEpBzlM,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC6wO,oBAAD,CAA1B,CAAD,EAAoD7wO,kEAApD;AAFU,GAAzB,CAAxC;SArCM8wO;;;AA2CN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOrpO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AASC,CAThB;AAUA;AACA;AACA;AACA;;;AACA,MAAM0pO,oBAAoB,GAAG;AACzBr5L,EAAAA,OAAO,EAAEq+K,aADgB;AAEzBp+K,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAM8nK,kBAAP,CAFE;AAGzBhtO,EAAAA,KAAK,EAAE;AAHkB,CAA7B;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMgtO;AAAN,QAAMA,kBAAN,CAAyB;AACrB/0O,IAAAA,WAAW,GAAG;AACV,WAAK0yO,UAAL,GAAkB1X,aAAlB;AACH;AACD;;;AACAxsL,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,UAAI,eAAeA,OAAnB,EAA4B;AACxB,aAAK0vM,gBAAL;;AACA,YAAI,KAAKhN,SAAT,EACI,KAAKA,SAAL;AACP;AACJ;AACD;AACJ;AACA;AACA;;;AACI7L,IAAAA,QAAQ,CAACxB,OAAD,EAAU;AACd,aAAO,KAAK10L,OAAL,KAAiB,KAAK+sM,UAAL,CAAgBrY,OAAhB,CAAjB,GAA4C,IAAnD;AACH;AACD;AACJ;AACA;AACA;;;AACI0G,IAAAA,yBAAyB,CAACjgO,EAAD,EAAK;AAC1B,WAAK4mO,SAAL,GAAiB5mO,EAAjB;AACH;;AACD4zO,IAAAA,gBAAgB,GAAG;AACf,WAAKhC,UAAL,GACI,KAAK/sM,OAAL,KAAiBm1L,kBAAkB,CAAC0X,QAAQ,CAAC,KAAKwC,SAAN,CAAT,CAAnC,GAAgEha,aADpE;AAEH;AACD;;;AACAr1L,IAAAA,OAAO,GAAG;AACN,aAAO,KAAKqvM,SAAL,IAAkB;AAAK;AAA9B;AACH;;AAjCoB;;AAmCzBD,EAAAA,kBAAkB,CAAClqO,IAAnB,GAA0B,SAASoqO,0BAAT,CAAoClqO,CAApC,EAAuC;AAAE,WAAO,KAAKA,CAAC,IAAIgqO,kBAAV,GAAP;AAAyC,GAA5G;;AACAA,EAAAA,kBAAkB,CAAClmM,IAAnB,GAA0B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE22O,kBAAR;AAA4BhmM,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,EAAsB,iBAAtB,EAAyC,EAAzC,CAAD,EAA+C,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,EAAsB,aAAtB,EAAqC,EAArC,CAA/C,EAAyF,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,EAAsB,SAAtB,EAAiC,EAAjC,CAAzF,CAAvC;AAAuKoM,IAAAA,QAAQ,EAAE,CAAjL;AAAoLC,IAAAA,YAAY,EAAE,SAAS85L,+BAAT,CAAyC55L,EAAzC,EAA6CxgC,GAA7C,EAAkD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC3T33C,QAAAA,yDAAA,CAAmB,WAAnB,EAAgCmX,GAAG,CAAC6qB,OAAJ,KAAgB7qB,GAAG,CAACk6N,SAApB,GAAgC,IAAhE;AACH;AAAE,KAF0D;AAExDhmM,IAAAA,MAAM,EAAE;AAAEgmM,MAAAA,SAAS,EAAE;AAAb,KAFgD;AAEpB9lM,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAACmxO,oBAAD,CAA1B,CAAD,EAAoDnxO,kEAApD;AAFU,GAAzB,CAAxC;SApCMoxO;;;AA0CN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO3pO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AASC,CAThB;AAUA;AACA;AACA;AACA;;;AACA,MAAM+pO,iBAAiB,GAAG;AACtB15L,EAAAA,OAAO,EAAEq+K,aADa;AAEtBp+K,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAMmoK,gBAAP,CAFD;AAGtBrtO,EAAAA,KAAK,EAAE;AAHe,CAA1B;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMqtO;AAAN,QAAMA,gBAAN,CAAuB;AACnBp1O,IAAAA,WAAW,GAAG;AACV,WAAK0yO,UAAL,GAAkB1X,aAAlB;AACH;AACD;;;AACAxsL,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,UAAI,aAAaA,OAAjB,EAA0B;AACtB,aAAK0vM,gBAAL;;AACA,YAAI,KAAKhN,SAAT,EACI,KAAKA,SAAL;AACP;AACJ;AACD;AACJ;AACA;AACA;;;AACI7L,IAAAA,QAAQ,CAACxB,OAAD,EAAU;AACd,aAAO,KAAKqY,UAAL,CAAgBrY,OAAhB,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI0G,IAAAA,yBAAyB,CAACjgO,EAAD,EAAK;AAC1B,WAAK4mO,SAAL,GAAiB5mO,EAAjB;AACH;;AACD4zO,IAAAA,gBAAgB,GAAG;AACf,WAAKhC,UAAL,GAAkB3X,gBAAgB,CAAC,KAAKnoI,OAAN,CAAlC;AACH;;AA5BkB;;AA8BvBwiJ,EAAAA,gBAAgB,CAACvqO,IAAjB,GAAwB,SAASwqO,wBAAT,CAAkCtqO,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAIqqO,gBAAV,GAAP;AAAuC,GAAtG;;AACAA,EAAAA,gBAAgB,CAACvmM,IAAjB,GAAwB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEg3O,gBAAR;AAA0BrmM,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,SAAL,EAAgB,EAAhB,EAAoB,iBAApB,EAAuC,EAAvC,CAAD,EAA6C,CAAC,EAAD,EAAK,SAAL,EAAgB,EAAhB,EAAoB,aAApB,EAAmC,EAAnC,CAA7C,EAAqF,CAAC,EAAD,EAAK,SAAL,EAAgB,EAAhB,EAAoB,SAApB,EAA+B,EAA/B,CAArF,CAArC;AAA+JoM,IAAAA,QAAQ,EAAE,CAAzK;AAA4KC,IAAAA,YAAY,EAAE,SAASk6L,6BAAT,CAAuCh6L,EAAvC,EAA2CxgC,GAA3C,EAAgD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC/S33C,QAAAA,yDAAA,CAAmB,SAAnB,EAA8BmX,GAAG,CAAC83E,OAAJ,GAAc93E,GAAG,CAAC83E,OAAlB,GAA4B,IAA1D;AACH;AAAE,KAFwD;AAEtD5jD,IAAAA,MAAM,EAAE;AAAE4jD,MAAAA,OAAO,EAAE;AAAX,KAF8C;AAEtB1jD,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAACwxO,iBAAD,CAA1B,CAAD,EAAiDxxO,kEAAjD;AAFY,GAAzB,CAAtC;SA/BMyxO;;;AAqCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOhqO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AASC,CAThB;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMmqO,sBAAsB,GAAG,CAC3B9J,aAD2B,EAE3B0F,cAF2B,EAG3BmB,uBAH2B,EAI3BzZ,oBAJ2B,EAK3B+S,mBAL2B,EAM3B2B,kBAN2B,EAO3BpV,4BAP2B,EAQ3BgY,0BAR2B,EAS3BsB,kCAT2B,EAU3BtF,yBAV2B,EAW3BlN,eAX2B,EAY3BG,oBAZ2B,EAa3BwU,iBAb2B,EAc3Ba,kBAd2B,EAe3BM,kBAf2B,EAgB3BK,gBAhB2B,EAiB3BtB,yBAjB2B,EAkB3BQ,cAlB2B,EAmB3Bf,YAnB2B,EAoB3BN,YApB2B,CAA/B;AAsBA,MAAMuC,0BAA0B,GAAG,CAAC5K,OAAD,EAAUH,YAAV,EAAwBzB,MAAxB,CAAnC;AACA,MAAMyM,0BAA0B,GAAG,CAACzH,oBAAD,EAAuBM,kBAAvB,EAA2CyB,eAA3C,EAA4DP,aAA5D,EAA2EI,aAA3E,CAAnC;AACA;AACA;AACA;;IACM8F;AAAN,QAAMA,0BAAN,CAAiC;;AAEjCA,EAAAA,0BAA0B,CAAC7qO,IAA3B,GAAkC,SAAS8qO,kCAAT,CAA4C5qO,CAA5C,EAA+C;AAAE,WAAO,KAAKA,CAAC,IAAI2qO,0BAAV,GAAP;AAAiD,GAApI;;AACAA,EAAAA,0BAA0B,CAAC/7L,IAA3B,GAAkC,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEs3O;AAAR,GAAxB,CAAhD;AACAA,EAAAA,0BAA0B,CAAC77L,IAA3B,GAAkC,aAAcl2C,8DAAA,CAAwB;AAAEo2C,IAAAA,OAAO,EAAE,CAAC,CAACsyL,0BAAD,CAAD;AAAX,GAAxB,CAAhD;SAJMqJ;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOtqO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOO,CAPtB;;AAQA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0B+xO,0BAA1B,EAAsD;AAAEx7L,IAAAA,YAAY,EAAE,CAACuxL,aAAD,EAAgB0F,cAAhB,EAAgCmB,uBAAhC,EAAyDzZ,oBAAzD,EAA+E+S,mBAA/E,EAAoG2B,kBAApG,EAAwHpV,4BAAxH,EAAsJgY,0BAAtJ,EAAkLsB,kCAAlL,EAAsNtF,yBAAtN,EAAiPlN,eAAjP,EAAkQG,oBAAlQ,EAAwRwU,iBAAxR,EAA2Sa,kBAA3S,EAA+TM,kBAA/T,EAAmVK,gBAAnV,EAAqWtB,yBAArW,EAAgYQ,cAAhY,EAAgZf,YAAhZ,EAA8ZN,YAA9Z,CAAhB;AAA6bl5L,IAAAA,OAAO,EAAE,CAACsyL,0BAAD,CAAtc;AAAoelyL,IAAAA,OAAO,EAAE,CAACsxL,aAAD,EAAgB0F,cAAhB,EAAgCmB,uBAAhC,EAAyDzZ,oBAAzD,EAA+E+S,mBAA/E,EAAoG2B,kBAApG,EAAwHpV,4BAAxH,EAAsJgY,0BAAtJ,EAAkLsB,kCAAlL,EAAsNtF,yBAAtN,EAAiPlN,eAAjP,EAAkQG,oBAAlQ,EAAwRwU,iBAAxR,EAA2Sa,kBAA3S,EAA+TM,kBAA/T,EAAmVK,gBAAnV,EAAqWtB,yBAArW,EAAgYQ,cAAhY,EAAgZf,YAAhZ,EAA8ZN,YAA9Z;AAA7e,GAAtD,CAAnD;AAAugC,CAAthC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM2C;AAAN,QAAMA,WAAN,CAAkB;;AAElBA,EAAAA,WAAW,CAAC/qO,IAAZ,GAAmB,SAASgrO,mBAAT,CAA6B9qO,CAA7B,EAAgC;AAAE,WAAO,KAAKA,CAAC,IAAI6qO,WAAV,GAAP;AAAkC,GAAvF;;AACAA,EAAAA,WAAW,CAACj8L,IAAZ,GAAmB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEw3O;AAAR,GAAxB,CAAjC;AACAA,EAAAA,WAAW,CAAC/7L,IAAZ,GAAmB,aAAcl2C,8DAAA,CAAwB;AAAEo2C,IAAAA,OAAO,EAAE,CAAC27L,0BAAD;AAAX,GAAxB,CAAjC;SAJME;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOxqO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMO,CANtB;;AAOA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0BiyO,WAA1B,EAAuC;AAAE17L,IAAAA,YAAY,EAAE,CAAC0wL,OAAD,EAAUH,YAAV,EAAwBzB,MAAxB,CAAhB;AAAiD7uL,IAAAA,OAAO,EAAE,CAACu7L,0BAAD,EAA6B9K,OAA7B,EAAsCH,YAAtC,EAAoDzB,MAApD;AAA1D,GAAvC,CAAnD;AAAqN,CAApO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM8M;AAAN,QAAMA,mBAAN,CAA0B;AACtB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACqB,WAAVC,UAAU,CAACr+H,IAAD,EAAO;AACpB,aAAO;AACHhF,QAAAA,QAAQ,EAAEojI,mBADP;AAEHltL,QAAAA,SAAS,EAAE,CACP;AAAEnN,UAAAA,OAAO,EAAEqyL,kCAAX;AAA+Cl7H,UAAAA,QAAQ,EAAE8E,IAAI,CAACs+H;AAA9D,SADO;AAFR,OAAP;AAMH;;AAhBqB;;AAkB1BF,EAAAA,mBAAmB,CAACjrO,IAApB,GAA2B,SAASorO,2BAAT,CAAqClrO,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAI+qO,mBAAV,GAAP;AAA0C,GAA/G;;AACAA,EAAAA,mBAAmB,CAACn8L,IAApB,GAA2B,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAE03O;AAAR,GAAxB,CAAzC;AACAA,EAAAA,mBAAmB,CAACj8L,IAApB,GAA2B,aAAcl2C,8DAAA,CAAwB;AAAEo2C,IAAAA,OAAO,EAAE,CAAC27L,0BAAD;AAAX,GAAxB,CAAzC;SApBMI;;;AAqBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO1qO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMO,CANtB;;AAOA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0BmyO,mBAA1B,EAA+C;AAAE57L,IAAAA,YAAY,EAAE,CAAC8zL,oBAAD,EAAuBM,kBAAvB,EAA2CyB,eAA3C,EAA4DP,aAA5D,EAA2EI,aAA3E,CAAhB;AAA2Gz1L,IAAAA,OAAO,EAAE,CAACu7L,0BAAD,EAA6B1H,oBAA7B,EAAmDM,kBAAnD,EAAuEyB,eAAvE,EAAwFP,aAAxF,EAAuGI,aAAvG;AAApH,GAA/C,CAAnD;AAAiV,CAAhW;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsG,wBAAT,CAAkC73O,OAAlC,EAA2C;AACvC,SAAOA,OAAO,CAAC+iO,eAAR,KAA4B96N,SAA5B,IACHjI,OAAO,CAAC68N,UAAR,KAAuB50N,SADpB,IAEHjI,OAAO,CAACyjO,QAAR,KAAqBx7N,SAFzB;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM6vO;AAAN,QAAMA,WAAN,CAAkB;AACd13O,IAAAA,KAAK,CAAC23O,cAAD,EAAiB/3O,OAAO,GAAG,IAA3B,EAAiC;AAClC,YAAM4lO,QAAQ,GAAG,KAAKoS,eAAL,CAAqBD,cAArB,CAAjB;;AACA,UAAIlb,UAAU,GAAG,IAAjB;AACA,UAAIkG,eAAe,GAAG,IAAtB;AACA,UAAIU,QAAQ,GAAGx7N,SAAf;;AACA,UAAIjI,OAAO,IAAI,IAAf,EAAqB;AACjB,YAAI63O,wBAAwB,CAAC73O,OAAD,CAA5B,EAAuC;AACnC;AACA68N,UAAAA,UAAU,GAAG78N,OAAO,CAAC68N,UAAR,IAAsB,IAAtB,GAA6B78N,OAAO,CAAC68N,UAArC,GAAkD,IAA/D;AACAkG,UAAAA,eAAe,GAAG/iO,OAAO,CAAC+iO,eAAR,IAA2B,IAA3B,GAAkC/iO,OAAO,CAAC+iO,eAA1C,GAA4D,IAA9E;AACAU,UAAAA,QAAQ,GAAGzjO,OAAO,CAACyjO,QAAR,IAAoB,IAApB,GAA2BzjO,OAAO,CAACyjO,QAAnC,GAA8Cx7N,SAAzD;AACH,SALD,MAMK;AACD;AACA40N,UAAAA,UAAU,GAAG78N,OAAO,CAAC,WAAD,CAAP,IAAwB,IAAxB,GAA+BA,OAAO,CAAC,WAAD,CAAtC,GAAsD,IAAnE;AACA+iO,UAAAA,eAAe,GAAG/iO,OAAO,CAAC,gBAAD,CAAP,IAA6B,IAA7B,GAAoCA,OAAO,CAAC,gBAAD,CAA3C,GAAgE,IAAlF;AACH;AACJ;;AACD,aAAO,IAAI2lO,SAAJ,CAAcC,QAAd,EAAwB;AAAE7C,QAAAA,eAAF;AAAmBU,QAAAA,QAAnB;AAA6B5G,QAAAA;AAA7B,OAAxB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIb,IAAAA,OAAO,CAACiN,SAAD,EAAYjD,eAAZ,EAA6BvG,cAA7B,EAA6C;AAChD,aAAO,IAAI2J,WAAJ,CAAgBH,SAAhB,EAA2BjD,eAA3B,EAA4CvG,cAA5C,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIvlG,IAAAA,KAAK,CAAC69G,cAAD,EAAiB/R,eAAjB,EAAkCvG,cAAlC,EAAkD;AACnD,YAAMmG,QAAQ,GAAGmS,cAAc,CAAC3vO,GAAf,CAAmBwxB,CAAC,IAAI,KAAKq+M,cAAL,CAAoBr+M,CAApB,CAAxB,CAAjB;AACA,aAAO,IAAIisM,SAAJ,CAAcD,QAAd,EAAwBI,eAAxB,EAAyCvG,cAAzC,CAAP;AACH;AACD;;;AACAuY,IAAAA,eAAe,CAACD,cAAD,EAAiB;AAC5B,YAAMnS,QAAQ,GAAG,EAAjB;AACAh/N,MAAAA,MAAM,CAACC,IAAP,CAAYkxO,cAAZ,EAA4Bv1O,OAA5B,CAAoCsnO,WAAW,IAAI;AAC/ClE,QAAAA,QAAQ,CAACkE,WAAD,CAAR,GAAwB,KAAKmO,cAAL,CAAoBF,cAAc,CAACjO,WAAD,CAAlC,CAAxB;AACH,OAFD;AAGA,aAAOlE,QAAP;AACH;AACD;;;AACAqS,IAAAA,cAAc,CAACC,aAAD,EAAgB;AAC1B,UAAIA,aAAa,YAAY9O,WAAzB,IAAwC8O,aAAa,YAAYvS,SAAjE,IACAuS,aAAa,YAAYrS,SAD7B,EACwC;AACpC,eAAOqS,aAAP;AACH,OAHD,MAIK,IAAIhpO,KAAK,CAACC,OAAN,CAAc+oO,aAAd,CAAJ,EAAkC;AACnC,cAAM3vO,KAAK,GAAG2vO,aAAa,CAAC,CAAD,CAA3B;AACA,cAAM5a,SAAS,GAAG4a,aAAa,CAACp0O,MAAd,GAAuB,CAAvB,GAA2Bo0O,aAAa,CAAC,CAAD,CAAxC,GAA8C,IAAhE;AACA,cAAMzY,cAAc,GAAGyY,aAAa,CAACp0O,MAAd,GAAuB,CAAvB,GAA2Bo0O,aAAa,CAAC,CAAD,CAAxC,GAA8C,IAArE;AACA,eAAO,KAAKlc,OAAL,CAAazzN,KAAb,EAAoB+0N,SAApB,EAA+BmC,cAA/B,CAAP;AACH,OALI,MAMA;AACD,eAAO,KAAKzD,OAAL,CAAakc,aAAb,CAAP;AACH;AACJ;;AAxFa;;AA0FlBJ,EAAAA,WAAW,CAACtrO,IAAZ,GAAmB,SAAS2rO,mBAAT,CAA6BzrO,CAA7B,EAAgC;AAAE,WAAO,KAAKA,CAAC,IAAIorO,WAAV,GAAP;AAAkC,GAAvF;;AACAA,EAAAA,WAAW,CAACnrO,KAAZ,GAAoBC,oEAAkB,CAAC;AAAEE,IAAAA,OAAO,EAAE,SAASqrO,mBAAT,GAA+B;AAAE,aAAO,IAAIL,WAAJ,EAAP;AAA2B,KAAvE;AAAyEjrO,IAAAA,KAAK,EAAEirO,WAAhF;AAA6FnyM,IAAAA,UAAU,EAAE8xM;AAAzG,GAAD,CAAtC;SA3FMK;;;AA4FN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/qO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGO,CAHtB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAM8yE,OAAO,gBAAG,IAAID,kDAAJ,CAAY,SAAZ,CAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;AChwOA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,MAAM27J,MAAM,GAAGD,+CAAsB,IAAID,mCAAzC;AACA;;AACA,MAAMG,+BAA+B,gBAAG,IAAI/7M,yDAAJ,CAAmB,iCAAnB,EAAsD;AAC1FkG,EAAAA,UAAU,EAAE,MAD8E;AAE1F74B,EAAAA,OAAO,EAAE2uO;AAFiF,CAAtD,CAAxC;AAIA;;AACA,SAASA,uCAAT,GAAmD;AAC/C,SAAO;AACHC,IAAAA,MAAM,EAAE;AADL,GAAP;AAGH;AACD;;;AACA,SAASzkK,KAAT,CAAenzE,MAAf,EAAuB63O,aAAvB,EAAsC;AAClC,QAAMC,WAAW,GAAG1sO,KAAK,CAACpL,MAAD,CAAzB;;AACA,OAAK,IAAIgH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGhH,MAApB,EAA4BgH,CAAC,EAA7B,EAAiC;AAC7B8wO,IAAAA,WAAW,CAAC9wO,CAAD,CAAX,GAAiB6wO,aAAa,CAAC7wO,CAAD,CAA9B;AACH;;AACD,SAAO8wO,WAAP;AACH;AACD;;;IACMC;AAAN,QAAMA,iBAAN,SAAgCX,+DAAhC,CAA4C;AACxCv5O,IAAAA,WAAW,CAACm6O,UAAD,EAAa3nM,QAAb,EAAuB;AAC9B;AACA,WAAKA,QAAL,GAAgBA,QAAhB;AACA,WAAK4nM,SAAL,CAAeD,UAAU,IAAIP,MAAM,CAACl0J,MAAP,EAA7B;AACH;;AACD00J,IAAAA,SAAS,CAAC10J,MAAD,EAAS;AACd,YAAM00J,SAAN,CAAgB10J,MAAhB;AACA,UAAI20J,gBAAgB,GAAGT,MAAM,CAACU,UAAP,CAAkB50J,MAAlB,CAAvB;AACA,WAAK60J,WAAL,GAAmB;AACfC,QAAAA,cAAc,EAAEH,gBAAgB,CAACG,cAAjB,EADD;AAEfC,QAAAA,UAAU,EAAEJ,gBAAgB,CAACzzJ,MAAjB,EAFG;AAGf8zJ,QAAAA,WAAW,EAAEL,gBAAgB,CAACM,WAAjB,EAHE;AAIfC,QAAAA,KAAK,EAAEtlK,KAAK,CAAC,EAAD,EAAMnsE,CAAD,IAAO,KAAKoiF,UAAL,CAAgB,IAAhB,EAAsB,CAAtB,EAAyBpiF,CAAC,GAAG,CAA7B,EAAgCygF,MAAhC,CAAuC,GAAvC,CAAZ,CAJG;AAKfixJ,QAAAA,cAAc,EAAER,gBAAgB,CAACS,QAAjB,EALD;AAMfC,QAAAA,eAAe,EAAEV,gBAAgB,CAACW,aAAjB,EANF;AAOfC,QAAAA,gBAAgB,EAAEZ,gBAAgB,CAACa,WAAjB;AAPH,OAAnB;AASH;;AACDC,IAAAA,OAAO,CAACzwJ,IAAD,EAAO;AACV,aAAO,KAAK8d,KAAL,CAAW9d,IAAX,EAAiBc,IAAjB,EAAP;AACH;;AACDuC,IAAAA,QAAQ,CAACrD,IAAD,EAAO;AACX,aAAO,KAAK8d,KAAL,CAAW9d,IAAX,EAAiBe,KAAjB,EAAP;AACH;;AACDuC,IAAAA,OAAO,CAACtD,IAAD,EAAO;AACV,aAAO,KAAK8d,KAAL,CAAW9d,IAAX,EAAiBA,IAAjB,EAAP;AACH;;AACD0wJ,IAAAA,YAAY,CAAC1wJ,IAAD,EAAO;AACf,aAAO,KAAK8d,KAAL,CAAW9d,IAAX,EAAiB2wJ,GAAjB,EAAP;AACH;;AACDC,IAAAA,aAAa,CAAC18O,KAAD,EAAQ;AACjB;AACA,aAAOA,KAAK,IAAI,MAAT,GAAkB,KAAK27O,WAAL,CAAiBE,UAAnC,GAAgD,KAAKF,WAAL,CAAiBG,WAAxE;AACH;;AACDa,IAAAA,YAAY,GAAG;AACX,aAAO,KAAKhB,WAAL,CAAiBK,KAAxB;AACH;;AACDY,IAAAA,iBAAiB,CAAC58O,KAAD,EAAQ;AACrB,UAAIA,KAAK,IAAI,MAAb,EAAqB;AACjB,eAAO,KAAK27O,WAAL,CAAiBM,cAAxB;AACH;;AACD,UAAIj8O,KAAK,IAAI,OAAb,EAAsB;AAClB,eAAO,KAAK27O,WAAL,CAAiBQ,eAAxB;AACH;;AACD,aAAO,KAAKR,WAAL,CAAiBU,gBAAxB;AACH;;AACDQ,IAAAA,WAAW,CAAC/wJ,IAAD,EAAO;AACd,aAAO,KAAK8d,KAAL,CAAW9d,IAAX,EAAiBd,MAAjB,CAAwB,MAAxB,CAAP;AACH;;AACD8xJ,IAAAA,iBAAiB,GAAG;AAChB,aAAO,KAAKnB,WAAL,CAAiBC,cAAxB;AACH;;AACDmB,IAAAA,iBAAiB,CAACjxJ,IAAD,EAAO;AACpB,aAAO,KAAK8d,KAAL,CAAW9d,IAAX,EAAiBkxJ,WAAjB,EAAP;AACH;;AACDpzI,IAAAA,KAAK,CAAC9d,IAAD,EAAO;AACR,aAAOA,IAAI,CAAC8d,KAAL,GAAa9iB,MAAb,CAAoB,KAAKA,MAAzB,CAAP;AACH;;AACD6F,IAAAA,UAAU,CAACC,IAAD,EAAOC,KAAP,EAAcf,IAAd,EAAoB;AAC1B;AACA;AACA,UAAI,OAAOt/E,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,YAAIqgF,KAAK,GAAG,CAAR,IAAaA,KAAK,GAAG,EAAzB,EAA6B;AACzB,gBAAMhmF,KAAK,CAAE,wBAAuBgmF,KAAM,4CAA/B,CAAX;AACH;;AACD,YAAIf,IAAI,GAAG,CAAX,EAAc;AACV,gBAAMjlF,KAAK,CAAE,iBAAgBilF,IAAK,mCAAvB,CAAX;AACH;AACJ;;AACD,YAAM/gF,MAAM,GAAG,KAAKkyO,aAAL,CAAmB;AAAErwJ,QAAAA,IAAF;AAAQC,QAAAA,KAAR;AAAef,QAAAA;AAAf,OAAnB,EAA0ChF,MAA1C,CAAiD,KAAKA,MAAtD,CAAf,CAX0B,CAY1B;;;AACA,UAAI,CAAC/7E,MAAM,CAACmyO,OAAP,EAAD,KAAsB,OAAO1wO,SAAP,KAAqB,WAArB,IAAoCA,SAA1D,CAAJ,EAA0E;AACtE,cAAM3F,KAAK,CAAE,iBAAgBilF,IAAK,2BAA0Be,KAAM,IAAvD,CAAX;AACH;;AACD,aAAO9hF,MAAP;AACH;;AACDymF,IAAAA,KAAK,GAAG;AACJ,aAAO,KAAKyrJ,aAAL,GAAqBn2J,MAArB,CAA4B,KAAKA,MAAjC,CAAP;AACH;;AACDuL,IAAAA,KAAK,CAACrqF,KAAD,EAAQm1O,WAAR,EAAqB;AACtB,UAAIn1O,KAAK,IAAI,OAAOA,KAAP,IAAgB,QAA7B,EAAuC;AACnC,eAAO,KAAKi1O,aAAL,CAAmBj1O,KAAnB,EAA0Bm1O,WAA1B,EAAuC,KAAKr2J,MAA5C,CAAP;AACH;;AACD,aAAO9+E,KAAK,GAAG,KAAKi1O,aAAL,CAAmBj1O,KAAnB,EAA0B8+E,MAA1B,CAAiC,KAAKA,MAAtC,CAAH,GAAmD,IAA/D;AACH;;AACDkE,IAAAA,MAAM,CAACc,IAAD,EAAOsxJ,aAAP,EAAsB;AACxBtxJ,MAAAA,IAAI,GAAG,KAAK8d,KAAL,CAAW9d,IAAX,CAAP;;AACA,UAAI,CAAC,KAAKoxJ,OAAL,CAAapxJ,IAAb,CAAD,KAAwB,OAAOt/E,SAAP,KAAqB,WAArB,IAAoCA,SAA5D,CAAJ,EAA4E;AACxE,cAAM3F,KAAK,CAAC,gDAAD,CAAX;AACH;;AACD,aAAOilF,IAAI,CAACd,MAAL,CAAYoyJ,aAAZ,CAAP;AACH;;AACDC,IAAAA,gBAAgB,CAACvxJ,IAAD,EAAOwxJ,KAAP,EAAc;AAC1B,aAAO,KAAK1zI,KAAL,CAAW9d,IAAX,EAAiBl2E,GAAjB,CAAqB;AAAE0nO,QAAAA;AAAF,OAArB,CAAP;AACH;;AACDC,IAAAA,iBAAiB,CAACzxJ,IAAD,EAAO9D,MAAP,EAAe;AAC5B,aAAO,KAAK4hB,KAAL,CAAW9d,IAAX,EAAiBl2E,GAAjB,CAAqB;AAAEoyE,QAAAA;AAAF,OAArB,CAAP;AACH;;AACDw1J,IAAAA,eAAe,CAAC1xJ,IAAD,EAAOnE,IAAP,EAAa;AACxB,aAAO,KAAKiiB,KAAL,CAAW9d,IAAX,EAAiBl2E,GAAjB,CAAqB;AAAE+xE,QAAAA;AAAF,OAArB,CAAP;AACH;;AACD81J,IAAAA,SAAS,CAAC3xJ,IAAD,EAAO;AACZ,aAAO,KAAK8d,KAAL,CAAW9d,IAAX,EAAiBd,MAAjB,EAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI0yJ,IAAAA,WAAW,CAAC11O,KAAD,EAAQ;AACf,UAAI8jF,IAAJ;;AACA,UAAI9jF,KAAK,YAAY6vB,IAArB,EAA2B;AACvBi0D,QAAAA,IAAI,GAAG,KAAKmxJ,aAAL,CAAmBj1O,KAAnB,EAA0B8+E,MAA1B,CAAiC,KAAKA,MAAtC,CAAP;AACH,OAFD,MAGK,IAAI,KAAK62J,cAAL,CAAoB31O,KAApB,CAAJ,EAAgC;AACjC;AACA,eAAO,KAAK4hG,KAAL,CAAW5hG,KAAX,CAAP;AACH;;AACD,UAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,YAAI,CAACA,KAAL,EAAY;AACR,iBAAO,IAAP;AACH;;AACD8jF,QAAAA,IAAI,GAAG,KAAKmxJ,aAAL,CAAmBj1O,KAAnB,EAA0BgzO,MAAM,CAAC4C,QAAjC,EAA2C92J,MAA3C,CAAkD,KAAKA,MAAvD,CAAP;AACH;;AACD,UAAIgF,IAAI,IAAI,KAAKoxJ,OAAL,CAAapxJ,IAAb,CAAZ,EAAgC;AAC5B,eAAO,KAAKmxJ,aAAL,CAAmBnxJ,IAAnB,EAAyBhF,MAAzB,CAAgC,KAAKA,MAArC,CAAP;AACH;;AACD,aAAO,MAAM42J,WAAN,CAAkB11O,KAAlB,CAAP;AACH;;AACD21O,IAAAA,cAAc,CAACpvO,GAAD,EAAM;AAChB,aAAOysO,MAAM,CAAC6C,QAAP,CAAgBtvO,GAAhB,CAAP;AACH;;AACD2uO,IAAAA,OAAO,CAACpxJ,IAAD,EAAO;AACV,aAAO,KAAK8d,KAAL,CAAW9d,IAAX,EAAiBoxJ,OAAjB,EAAP;AACH;;AACD1e,IAAAA,OAAO,GAAG;AACN,aAAOwc,MAAM,CAACxc,OAAP,EAAP;AACH;AACD;;;AACAye,IAAAA,aAAa,CAACnxJ,IAAD,EAAOd,MAAP,EAAelE,MAAf,EAAuB;AAChC,YAAM;AAAEg3J,QAAAA,MAAF;AAAU3C,QAAAA;AAAV,UAAqB,KAAKvnM,QAAL,IAAiB,EAA5C;AACA,aAAOunM,MAAM,GACPH,MAAM,CAAC+C,GAAP,CAAWjyJ,IAAX,EAAiBd,MAAjB,EAAyBlE,MAAzB,EAAiCg3J,MAAjC,CADO,GAEP9C,MAAM,CAAClvJ,IAAD,EAAOd,MAAP,EAAelE,MAAf,EAAuBg3J,MAAvB,CAFZ;AAGH;;AAjJuC;;AAmJ5CxC,EAAAA,iBAAiB,CAACrvO,IAAlB,GAAyB,SAAS+xO,yBAAT,CAAmC7xO,CAAnC,EAAsC;AAAE,WAAO,KAAKA,CAAC,IAAImvO,iBAAV,EAA6Bv2O,sDAAA,CAAgB61O,mEAAhB,EAAiC,CAAjC,CAA7B,EAAkE71O,sDAAA,CAAgBk2O,+BAAhB,EAAiD,CAAjD,CAAlE,CAAP;AAAgI,GAAjM;;AACAK,EAAAA,iBAAiB,CAAClvO,KAAlB,GAA0B,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEgvO,iBAAT;AAA4B/uO,IAAAA,OAAO,EAAE+uO,iBAAiB,CAACrvO;AAAvD,GAA1B,CAAxC;SApJMqvO;;;AAyJN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO9uO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAYe,CAZ9B;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMyxO,uBAAuB,GAAG;AAC5B5rJ,EAAAA,KAAK,EAAE;AACH6rJ,IAAAA,SAAS,EAAE;AADR,GADqB;AAI5BvqN,EAAAA,OAAO,EAAE;AACLuqN,IAAAA,SAAS,EAAE,GADN;AAELC,IAAAA,cAAc,EAAE,UAFX;AAGLC,IAAAA,aAAa,EAAE,IAHV;AAILC,IAAAA,kBAAkB,EAAE;AAJf;AAJmB,CAAhC;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC;AAAN,QAAMA,gBAAN,CAAuB;;AAEvBA,EAAAA,gBAAgB,CAACryO,IAAjB,GAAwB,SAASsyO,wBAAT,CAAkCpyO,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAImyO,gBAAV,GAAP;AAAuC,GAAtG;;AACAA,EAAAA,gBAAgB,CAACvjM,IAAjB,GAAwB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAE8+O;AAAR,GAAxB,CAAtC;AACAA,EAAAA,gBAAgB,CAACrjM,IAAjB,GAAwB,aAAcl2C,8DAAA,CAAwB;AAAEilD,IAAAA,SAAS,EAAE,CACnE;AACInN,MAAAA,OAAO,EAAE89L,+DADb;AAEIj/J,MAAAA,QAAQ,EAAE4/J,iBAFd;AAGIz1K,MAAAA,IAAI,EAAE,CAAC+0K,mEAAD,EAAkBK,+BAAlB;AAHV,KADmE;AAAb,GAAxB,CAAtC;SAJMqD;;;AAWN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO9xO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAWO,CAXtB;;AAYA,MAAMzD,EAAE,GAAGk1O,uBAAX;IACMO;AAAN,QAAMA,mBAAN,CAA0B;;AAE1BA,EAAAA,mBAAmB,CAACvyO,IAApB,GAA2B,SAASwyO,2BAAT,CAAqCtyO,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAIqyO,mBAAV,GAAP;AAA0C,GAA/G;;AACAA,EAAAA,mBAAmB,CAACzjM,IAApB,GAA2B,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEg/O;AAAR,GAAxB,CAAzC;AACAA,EAAAA,mBAAmB,CAACvjM,IAApB,GAA2B,aAAcl2C,8DAAA,CAAwB;AAAEilD,IAAAA,SAAS,EAAE,CAAC;AAAEnN,MAAAA,OAAO,EAAEg+L,oEAAX;AAA6B7mI,MAAAA,QAAQ,EAAEjrG;AAAvC,KAAD,CAAb;AAA4DoyC,IAAAA,OAAO,EAAE,CAAC,CAACmjM,gBAAD,CAAD;AAArE,GAAxB,CAAzC;SAJME;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOhyO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMO,CANtB;;AAOA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0By5O,mBAA1B,EAA+C;AAAErjM,IAAAA,OAAO,EAAE,CAACmjM,gBAAD;AAAX,GAA/C,CAAnD;AAAqI,CAApJ;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACnRA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA;AACA;AACA;AAEA,MAAMjvK,GAAG,GAAG,CAAC,YAAD,EAAe,EAAf,CAAZ;AACA,MAAMC,GAAG,GAAG,CAAC,GAAD,CAAZ;AACA,MAAM2vK,GAAG,GAAG,8iNAAZ;AACA,MAAMC,0BAA0B,GAAG,QAAnC;AACA;AACA;AACA;AACA;;AACA,MAAMC,sBAAsB,GAAG,CAC3B,YAD2B,EAE3B,iBAF2B,EAG3B,iBAH2B,EAI3B,mBAJ2B,EAK3B,oBAL2B,EAM3B,cAN2B,EAO3B,SAP2B,CAA/B,EASA;;AACA,MAAMC,cAAc,gBAAGV,kEAAU,eAACC,qEAAa,eAACC,0EAAkB,CAAC,MAAM;AACrEx9O,EAAAA,WAAW,CAAC8tC,WAAD,EAAc;AACrB,SAAKA,WAAL,GAAmBA,WAAnB;AACH;;AAHoE,CAAP,CAAnB,CAAd,CAAjC;AAKA;AACA;AACA;;;IACMmwM;AAAN,QAAMA,SAAN,SAAwBD,cAAxB,CAAuC;AACnCh+O,IAAAA,WAAW,CAACohE,UAAD,EAAalpB,aAAb,EAA4BgmM,cAA5B,EAA4C;AACnD,YAAM98K,UAAN;AACA,WAAKlpB,aAAL,GAAqBA,aAArB;AACA,WAAKgmM,cAAL,GAAsBA,cAAtB;AACA;;AACA,WAAKC,aAAL,GAAqB,KAAKC,kBAAL,CAAwB,SAAxB,EAAmC,cAAnC,CAArB;AACA;;AACA,WAAKC,YAAL,GAAoB,KAAKD,kBAAL,CAAwB,iBAAxB,CAApB,CAPmD,CAQnD;AACA;;AACA,WAAK,MAAMt9M,IAAX,IAAmBi9M,sBAAnB,EAA2C;AACvC,YAAI,KAAKK,kBAAL,CAAwBt9M,IAAxB,CAAJ,EAAmC;AAC/B,eAAKw9M,eAAL,GAAuBjrN,SAAvB,CAAiC7e,GAAjC,CAAqCssB,IAArC;AACH;AACJ,OAdkD,CAenD;AACA;AACA;;;AACAsgC,MAAAA,UAAU,CAAClzB,aAAX,CAAyB7a,SAAzB,CAAmC7e,GAAnC,CAAuC,iBAAvC;;AACA,UAAI,KAAK2pO,aAAT,EAAwB;AACpB,aAAKI,KAAL,GAAaT,0BAAb;AACH;AACJ;;AACD1lM,IAAAA,eAAe,GAAG;AACd,WAAKF,aAAL,CAAmBpC,OAAnB,CAA2B,KAAKhI,WAAhC,EAA6C,IAA7C;AACH;;AACD9K,IAAAA,WAAW,GAAG;AACV,WAAKkV,aAAL,CAAmB7B,cAAnB,CAAkC,KAAKvI,WAAvC;AACH;AACD;;;AACAlF,IAAAA,KAAK,CAACD,MAAD,EAAStqC,OAAT,EAAkB;AACnB,UAAIsqC,MAAJ,EAAY;AACR,aAAKuP,aAAL,CAAmBzB,QAAnB,CAA4B,KAAK6nM,eAAL,EAA5B,EAAoD31M,MAApD,EAA4DtqC,OAA5D;AACH,OAFD,MAGK;AACD,aAAKigP,eAAL,GAAuB11M,KAAvB,CAA6BvqC,OAA7B;AACH;AACJ;;AACDigP,IAAAA,eAAe,GAAG;AACd,aAAO,KAAKxwM,WAAL,CAAiBI,aAAxB;AACH;;AACDswM,IAAAA,iBAAiB,GAAG;AAChB,aAAO,KAAKC,aAAL,IAAsB,KAAKx4O,QAAlC;AACH;AACD;;;AACAm4O,IAAAA,kBAAkB,CAAC,GAAGpvG,UAAJ,EAAgB;AAC9B,aAAOA,UAAU,CAACl3H,IAAX,CAAgB4mH,SAAS,IAAI,KAAK4/G,eAAL,GAAuBp1M,YAAvB,CAAoCw1F,SAApC,CAA7B,CAAP;AACH;;AAhDkC;;AAkDvCu/G,EAAAA,SAAS,CAACpzO,IAAV,GAAiB,SAAS6zO,iBAAT,CAA2B3zO,CAA3B,EAA8B;AAAE,WAAO,KAAKA,CAAC,IAAIkzO,SAAV,EAAqBt6O,+DAAA,CAAyBA,qDAAzB,CAArB,EAAkEA,+DAAA,CAAyB88B,2DAAzB,CAAlE,EAAiH98B,+DAAA,CAAyBi6O,uFAAzB,EAAgD,CAAhD,CAAjH,CAAP;AAA8K,GAA/N;;AACAK,EAAAA,SAAS,CAAC3nK,IAAV,GAAiB,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE6/O,SAAR;AAAmBlvM,IAAAA,SAAS,EAAE,CAAC,CAAC,QAAD,EAAW,YAAX,EAAyB,EAAzB,CAAD,EAA+B,CAAC,QAAD,EAAW,mBAAX,EAAgC,EAAhC,CAA/B,EAAoE,CAAC,QAAD,EAAW,iBAAX,EAA8B,EAA9B,CAApE,EAAuG,CAAC,QAAD,EAAW,SAAX,EAAsB,EAAtB,CAAvG,EAAkI,CAAC,QAAD,EAAW,cAAX,EAA2B,EAA3B,CAAlI,EAAkK,CAAC,QAAD,EAAW,oBAAX,EAAiC,EAAjC,CAAlK,EAAwM,CAAC,QAAD,EAAW,iBAAX,EAA8B,EAA9B,CAAxM,CAA9B;AAA0QynC,IAAAA,SAAS,EAAE,SAASmoK,eAAT,CAAyBrjM,EAAzB,EAA6BxgC,GAA7B,EAAkC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACrX33C,QAAAA,yDAAA,CAAmB85O,6DAAnB,EAA8B,CAA9B;AACH;;AAAC,UAAIniM,EAAE,GAAG,CAAT,EAAY;AACV,YAAIq7B,EAAJ;;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAAC8jO,MAAJ,GAAajoK,EAAE,CAACG,KAArE;AACH;AAAE,KALiD;AAK/CC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,qBAAJ,CALoC;AAKR57B,IAAAA,QAAQ,EAAE,CALF;AAKKC,IAAAA,YAAY,EAAE,SAASyjM,sBAAT,CAAgCvjM,EAAhC,EAAoCxgC,GAApC,EAAyC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC1H33C,QAAAA,yDAAA,CAAmB,UAAnB,EAA+BmX,GAAG,CAAC7U,QAAJ,IAAgB,IAA/C;AACAtC,QAAAA,yDAAA,CAAmB,yBAAnB,EAA8CmX,GAAG,CAACojO,cAAJ,KAAuB,gBAArE,EAAuF,qBAAvF,EAA8GpjO,GAAG,CAAC7U,QAAlH;AACH;AAAE,KARiD;AAQ/C+oC,IAAAA,MAAM,EAAE;AAAE/oC,MAAAA,QAAQ,EAAE,UAAZ;AAAwBw4O,MAAAA,aAAa,EAAE,eAAvC;AAAwDF,MAAAA,KAAK,EAAE;AAA/D,KARuC;AAQmCtvM,IAAAA,QAAQ,EAAE,CAAC,WAAD,CAR7C;AAQ4DC,IAAAA,QAAQ,EAAE,CAACvrC,wEAAD,CARtE;AAQ2G+qH,IAAAA,KAAK,EAAEzgD,GARlH;AAQuHiJ,IAAAA,kBAAkB,EAAEhJ,GAR3I;AAQgJiJ,IAAAA,KAAK,EAAE,CARvJ;AAQ0JC,IAAAA,IAAI,EAAE,CARhK;AAQmKC,IAAAA,MAAM,EAAE,CAAC,CAAC,CAAD,EAAI,oBAAJ,CAAD,EAA4B,CAAC,WAAD,EAAc,EAAd,EAAkB,CAAlB,EAAqB,mBAArB,EAA0C,CAA1C,EAA6C,mBAA7C,EAAkE,mBAAlE,EAAuF,kBAAvF,CAA5B,EAAwI,CAAC,CAAD,EAAI,0BAAJ,CAAxI,CAR3K;AAQqV1N,IAAAA,QAAQ,EAAE,SAASm1K,kBAAT,CAA4BxjM,EAA5B,EAAgCxgC,GAAhC,EAAqC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAClc33C,QAAAA,6DAAA;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;AACAA,QAAAA,0DAAA,CAAoB,CAApB;AACAA,QAAAA,0DAAA;AACAA,QAAAA,uDAAA,CAAiB,CAAjB,EAAoB,MAApB,EAA4B,CAA5B;AACAA,QAAAA,uDAAA,CAAiB,CAAjB,EAAoB,MAApB,EAA4B,CAA5B;AACH;;AAAC,UAAI23C,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,yDAAA,CAAmB,yBAAnB,EAA8CmX,GAAG,CAACqjO,aAAJ,IAAqBrjO,GAAG,CAACujO,YAAvE;AACA16O,QAAAA,wDAAA,CAAkB,mBAAlB,EAAuCmX,GAAG,CAAC0jO,iBAAJ,EAAvC,EAAgE,mBAAhE,EAAqF1jO,GAAG,CAACujO,YAAzF,EAAuG,kBAAvG,EAA2HvjO,GAAG,CAACwjO,eAAJ,EAA3H;AACH;AAAE,KAnBiD;AAmB/ClhI,IAAAA,UAAU,EAAE,CAAC18E,6DAAD,CAnBmC;AAmBfliC,IAAAA,MAAM,EAAE,CAACq/O,GAAD,CAnBO;AAmBA/lK,IAAAA,aAAa,EAAE,CAnBf;AAmBkBC,IAAAA,eAAe,EAAE;AAnBnC,GAAzB,CAA/B;SAnDMkmK;;;AA+EN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO7yO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA8BC,CA9BhB;AA+BA;AACA;AACA;;;IACM2zO;AAAN,QAAMA,SAAN,SAAwBd,SAAxB,CAAkC;AAC9Bj+O,IAAAA,WAAW,CAACg/O,YAAD,EAAe59K,UAAf,EAA2B69K,aAA3B,EAA0C;AACjD,YAAM79K,UAAN,EAAkB49K,YAAlB,EAAgCC,aAAhC;AACH;;AACDC,IAAAA,mBAAmB,CAACr5O,KAAD,EAAQ;AACvB;AACA,UAAI,KAAKI,QAAT,EAAmB;AACfJ,QAAAA,KAAK,CAAC6hC,cAAN;AACA7hC,QAAAA,KAAK,CAACs5O,wBAAN;AACH;AACJ;;AAV6B;;AAYlCJ,EAAAA,SAAS,CAACl0O,IAAV,GAAiB,SAASu0O,iBAAT,CAA2Br0O,CAA3B,EAA8B;AAAE,WAAO,KAAKA,CAAC,IAAIg0O,SAAV,EAAqBp7O,+DAAA,CAAyB88B,2DAAzB,CAArB,EAAoE98B,+DAAA,CAAyBA,qDAAzB,CAApE,EAAiHA,+DAAA,CAAyBi6O,uFAAzB,EAAgD,CAAhD,CAAjH,CAAP;AAA8K,GAA/N;;AACAmB,EAAAA,SAAS,CAACzoK,IAAV,GAAiB,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE2gP,SAAR;AAAmBhwM,IAAAA,SAAS,EAAE,CAAC,CAAC,GAAD,EAAM,YAAN,EAAoB,EAApB,CAAD,EAA0B,CAAC,GAAD,EAAM,mBAAN,EAA2B,EAA3B,CAA1B,EAA0D,CAAC,GAAD,EAAM,iBAAN,EAAyB,EAAzB,CAA1D,EAAwF,CAAC,GAAD,EAAM,SAAN,EAAiB,EAAjB,CAAxF,EAA8G,CAAC,GAAD,EAAM,cAAN,EAAsB,EAAtB,CAA9G,EAAyI,CAAC,GAAD,EAAM,oBAAN,EAA4B,EAA5B,CAAzI,EAA0K,CAAC,GAAD,EAAM,iBAAN,EAAyB,EAAzB,CAA1K,CAA9B;AAAuOgoC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,qBAAJ,CAAlP;AAA8Q57B,IAAAA,QAAQ,EAAE,CAAxR;AAA2RC,IAAAA,YAAY,EAAE,SAASikM,sBAAT,CAAgC/jM,EAAhC,EAAoCxgC,GAApC,EAAyC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAChZ33C,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAAS27O,kCAAT,CAA4C7mB,MAA5C,EAAoD;AAAE,iBAAO39M,GAAG,CAACokO,mBAAJ,CAAwBzmB,MAAxB,CAAP;AAAyC,SAA1H;AACH;;AAAC,UAAIn9K,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,yDAAA,CAAmB,UAAnB,EAA+BmX,GAAG,CAAC7U,QAAJ,GAAe,CAAC,CAAhB,GAAoB6U,GAAG,CAACkvB,QAAJ,IAAgB,CAAnE,EAAsE,UAAtE,EAAkFlvB,GAAG,CAAC7U,QAAJ,IAAgB,IAAlG,EAAwG,eAAxG,EAAyH6U,GAAG,CAAC7U,QAAJ,CAAahC,QAAb,EAAzH;AACAN,QAAAA,yDAAA,CAAmB,yBAAnB,EAA8CmX,GAAG,CAACojO,cAAJ,KAAuB,gBAArE,EAAuF,qBAAvF,EAA8GpjO,GAAG,CAAC7U,QAAlH;AACH;AAAE,KALiD;AAK/C+oC,IAAAA,MAAM,EAAE;AAAE/oC,MAAAA,QAAQ,EAAE,UAAZ;AAAwBw4O,MAAAA,aAAa,EAAE,eAAvC;AAAwDF,MAAAA,KAAK,EAAE,OAA/D;AAAwEv0M,MAAAA,QAAQ,EAAE;AAAlF,KALuC;AAKyDiF,IAAAA,QAAQ,EAAE,CAAC,WAAD,EAAc,WAAd,CALnE;AAK+FC,IAAAA,QAAQ,EAAE,CAACvrC,wEAAD,CALzG;AAK8I+qH,IAAAA,KAAK,EAAEzgD,GALrJ;AAK0JiJ,IAAAA,kBAAkB,EAAEhJ,GAL9K;AAKmLiJ,IAAAA,KAAK,EAAE,CAL1L;AAK6LC,IAAAA,IAAI,EAAE,CALnM;AAKsMC,IAAAA,MAAM,EAAE,CAAC,CAAC,CAAD,EAAI,oBAAJ,CAAD,EAA4B,CAAC,WAAD,EAAc,EAAd,EAAkB,CAAlB,EAAqB,mBAArB,EAA0C,CAA1C,EAA6C,mBAA7C,EAAkE,mBAAlE,EAAuF,kBAAvF,CAA5B,EAAwI,CAAC,CAAD,EAAI,0BAAJ,CAAxI,CAL9M;AAKwX1N,IAAAA,QAAQ,EAAE,SAAS41K,kBAAT,CAA4BjkM,EAA5B,EAAgCxgC,GAAhC,EAAqC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACre33C,QAAAA,6DAAA;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;AACAA,QAAAA,0DAAA,CAAoB,CAApB;AACAA,QAAAA,0DAAA;AACAA,QAAAA,uDAAA,CAAiB,CAAjB,EAAoB,MAApB,EAA4B,CAA5B;AACAA,QAAAA,uDAAA,CAAiB,CAAjB,EAAoB,MAApB,EAA4B,CAA5B;AACH;;AAAC,UAAI23C,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,yDAAA,CAAmB,yBAAnB,EAA8CmX,GAAG,CAACqjO,aAAJ,IAAqBrjO,GAAG,CAACujO,YAAvE;AACA16O,QAAAA,wDAAA,CAAkB,mBAAlB,EAAuCmX,GAAG,CAAC0jO,iBAAJ,EAAvC,EAAgE,mBAAhE,EAAqF1jO,GAAG,CAACujO,YAAzF,EAAuG,kBAAvG,EAA2HvjO,GAAG,CAACwjO,eAAJ,EAA3H;AACH;AAAE,KAhBiD;AAgB/ClhI,IAAAA,UAAU,EAAE,CAAC18E,6DAAD,CAhBmC;AAgBfliC,IAAAA,MAAM,EAAE,CAACq/O,GAAD,CAhBO;AAgBA/lK,IAAAA,aAAa,EAAE,CAhBf;AAgBkBC,IAAAA,eAAe,EAAE;AAhBnC,GAAzB,CAA/B;SAbMgnK;;;AAsCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO3zO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA+BC,CA/BhB;AAiCA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMo0O;AAAN,QAAMA,eAAN,CAAsB;;AAEtBA,EAAAA,eAAe,CAAC30O,IAAhB,GAAuB,SAAS40O,uBAAT,CAAiC10O,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAIy0O,eAAV,GAAP;AAAsC,GAAnG;;AACAA,EAAAA,eAAe,CAAC7lM,IAAhB,GAAuB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEohP;AAAR,GAAxB,CAArC;AACAA,EAAAA,eAAe,CAAC3lM,IAAhB,GAAuB,aAAcl2C,8DAAA,CAAwB;AAAEo2C,IAAAA,OAAO,EAAE,CAAC,CAC7D2jM,mEAD6D,EAE7DC,mEAF6D,CAAD,EAG7DA,mEAH6D;AAAX,GAAxB,CAArC;SAJM6B;;;AAQN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOp0O,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAiBO,CAjBtB;;AAkBA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0B67O,eAA1B,EAA2C;AAAEtlM,IAAAA,YAAY,EAAE,YAAY;AAAE,aAAO,CAAC+jM,SAAD,EAAYc,SAAZ,CAAP;AAAgC,KAA9D;AAAgEhlM,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAAC2jM,mEAAD,EACnMC,mEADmM,CAAP;AACzK,KADkF;AAChFxjM,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAAC8jM,SAAD,EAAYc,SAAZ,EAAuBpB,mEAAvB,CAAP;AAAiD;AADQ,GAA3C,CAAnD;AAC4F,CAD3G;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA;AACA;AACA;AACA;AAEA,MAAM1vK,GAAG,GAAG,CAAC,GAAD,EAAM,CAAC,CAAC,YAAD,CAAD,EAAiB,CAAC,cAAD,CAAjB,CAAN,CAAZ;AACA,MAAMC,GAAG,GAAG,CAAC,GAAD,EAAM,0BAAN,CAAZ;;AACA,SAASyxK,wCAAT,CAAkDrkM,EAAlD,EAAsDxgC,GAAtD,EAA2D;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACrE33C,IAAAA,uDAAA,CAAiB,CAAjB,EAAoB,qBAApB,EAA2C,CAA3C;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAMskM,MAAM,GAAGj8O,2DAAA,EAAf;AACAA,IAAAA,wDAAA,CAAkB,OAAlB,EAA2Bi8O,MAAM,CAAC7gM,QAAP,GAAkB,SAAlB,GAA8B,WAAzD,EAAsE,UAAtE,EAAkF6gM,MAAM,CAAC35O,QAAzF;AACH;AAAE;;AACH,SAAS45O,yBAAT,CAAmCvkM,EAAnC,EAAuCxgC,GAAvC,EAA4C;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACtD33C,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,0DAAA;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAMwkM,MAAM,GAAGn8O,2DAAA,EAAf;AACAA,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,gEAAA,CAA0B,GAA1B,EAA+Bm8O,MAAM,CAACrhP,KAAP,CAAashP,KAA5C,EAAmD,GAAnD;AACH;AAAE;;AACH,MAAMlC,GAAG,GAAG,CAAC,GAAD,CAAZ;AACA,MAAMmC,SAAS,gBAAG,IAAI/hK,kDAAJ,CAAY,SAAZ,CAAlB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;IACMgiK;AAAN,QAAMA,eAAN,CAAsB;;AAEtBA,EAAAA,eAAe,CAACC,cAAhB,GAAiC,6BAAjC;AACAD,EAAAA,eAAe,CAACE,kBAAhB,GAAqC,6BAArC;AACAF,EAAAA,eAAe,CAACG,kBAAhB,GAAqC,2BAArC;AACAH,EAAAA,eAAe,CAACI,WAAhB,GAA8B,6BAA9B;AACA;;SANMJ;;IAOAK;AAAN,QAAMA,kBAAN,CAAyB;;AAEzBA,EAAAA,kBAAkB,CAACC,OAAnB,GAA6B,OAA7B;AACAD,EAAAA,kBAAkB,CAACE,QAAnB,GAA8B,OAA9B;AACAF,EAAAA,kBAAkB,CAACG,OAAnB,GAA6B,OAA7B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;SAhBMH;;AAiBN,MAAMpiK,OAAO,gBAAG,IAAID,kDAAJ,CAAY,SAAZ,CAAhB;AACA;;AACA,SAASyiK,8BAAT,GAA0C;AACtC,SAAO,IAAP;AACH;AACD;;;AACA,MAAMC,sBAAsB,gBAAG,IAAI7iN,yDAAJ,CAAmB,mBAAnB,EAAwC;AACnEkG,EAAAA,UAAU,EAAE,MADuD;AAEnE74B,EAAAA,OAAO,EAAEu1O;AAF0D,CAAxC,CAA/B;AAIA;AACA;AACA;AACA;AACA;AACA;;IACM/C;AAAN,QAAMA,eAAN,CAAsB;AAClB39O,IAAAA,WAAW,CAACy5C,wBAAD,EAA2BmnM,YAA3B,EAAyC98O,QAAzC,EAAmD;AAC1D;AACA,WAAK+8O,oBAAL,GAA4B,KAA5B;AACA,WAAKh/M,SAAL,GAAiB/9B,QAAjB,CAH0D,CAI1D;AACA;;AACA21C,MAAAA,wBAAwB,CAACN,oCAAzB,GAN0D,CAO1D;AACA;;;AACA,WAAK2nM,aAAL,GAAqBF,YAArB;;AACA,UAAI,CAAC,KAAKC,oBAAV,EAAgC;AAC5B,aAAKE,sBAAL;;AACA,aAAKC,oBAAL;;AACA,aAAKC,qBAAL;;AACA,aAAKJ,oBAAL,GAA4B,IAA5B;AACH;AACJ;AACD;;;AACAK,IAAAA,eAAe,CAAChjP,IAAD,EAAO;AAClB;AACA;AACA;AACA;AACA,UAAI,CAACg2M,wDAAS,EAAV,IAAgBrqJ,yEAAkB,EAAtC,EAA0C;AACtC,eAAO,KAAP;AACH;;AACD,UAAI,OAAO,KAAKi3L,aAAZ,KAA8B,SAAlC,EAA6C;AACzC,eAAO,KAAKA,aAAZ;AACH;;AACD,aAAO,CAAC,CAAC,KAAKA,aAAL,CAAmB5iP,IAAnB,CAAT;AACH;;AACD6iP,IAAAA,sBAAsB,GAAG;AACrB,UAAI,KAAKG,eAAL,CAAqB,SAArB,KAAmC,CAAC,KAAKr/M,SAAL,CAAes/M,OAAvD,EAAgE;AAC5DrmN,QAAAA,OAAO,CAACC,IAAR,CAAa,8DACT,6DADJ;AAEH;AACJ;;AACDimN,IAAAA,oBAAoB,GAAG;AACnB;AACA;AACA,UAAI,CAAC,KAAKE,eAAL,CAAqB,OAArB,CAAD,IAAkC,CAAC,KAAKr/M,SAAL,CAAe93B,IAAlD,IACA,OAAOuH,gBAAP,KAA4B,UADhC,EAC4C;AACxC;AACH;;AACD,YAAMwnC,WAAW,GAAG,KAAKjX,SAAL,CAAelI,aAAf,CAA6B,KAA7B,CAApB;;AACAmf,MAAAA,WAAW,CAACzlB,SAAZ,CAAsB7e,GAAtB,CAA0B,yBAA1B;;AACA,WAAKqtB,SAAL,CAAe93B,IAAf,CAAoBmwB,WAApB,CAAgC4e,WAAhC;;AACA,YAAMG,aAAa,GAAG3nC,gBAAgB,CAACwnC,WAAD,CAAtC,CAVmB,CAWnB;AACA;AACA;;AACA,UAAIG,aAAa,IAAIA,aAAa,CAAC1mB,OAAd,KAA0B,MAA/C,EAAuD;AACnDuI,QAAAA,OAAO,CAACC,IAAR,CAAa,+DACT,2DADS,GAET,iEAFJ;AAGH;;AACD,WAAK8G,SAAL,CAAe93B,IAAf,CAAoB6wB,WAApB,CAAgCke,WAAhC;AACH;AACD;;;AACAmoM,IAAAA,qBAAqB,GAAG;AACpB,UAAI,KAAKC,eAAL,CAAqB,SAArB,KAAmChjK,OAAO,CAACohG,IAAR,KAAiBogE,sDAAxD,EAAwE;AACpE5kN,QAAAA,OAAO,CAACC,IAAR,CAAa,mCAAmCmjD,OAAO,CAACohG,IAA3C,GAAkD,mBAAlD,GACT,2BADS,GACqBogE,sDADrB,GACsC,MADtC,GAET,iEAFJ;AAGH;AACJ;;AAlEiB;;AAoEtB/B,EAAAA,eAAe,CAAC9yO,IAAhB,GAAuB,SAASu2O,uBAAT,CAAiCr2O,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAI4yO,eAAV,EAA2Bh6O,sDAAA,CAAgB88B,uEAAhB,CAA3B,EAA6E98B,sDAAA,CAAgBg9O,sBAAhB,EAAwC,CAAxC,CAA7E,EAAyHh9O,sDAAA,CAAgB25B,qDAAhB,CAAzH,CAAP;AAA6J,GAA1N;;AACAqgN,EAAAA,eAAe,CAAChkM,IAAhB,GAAuB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEu/O;AAAR,GAAxB,CAArC;AACAA,EAAAA,eAAe,CAAC9jM,IAAhB,GAAuB,aAAcl2C,8DAAA,CAAwB;AAAEo2C,IAAAA,OAAO,EAAE,CAAC,CAAC4B,yDAAD,CAAD,EAAeA,yDAAf;AAAX,GAAxB,CAArC;SAtEMgiM;;;AA4EN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOvyO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAce,CAd9B;;AAeA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0Bg6O,eAA1B,EAA2C;AAAE5jM,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAAC4B,yDAAD,CAAP;AAAsB,KAA/C;AAAiDxB,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACwB,yDAAD,CAAP;AAAsB;AAA9F,GAA3C,CAAnD;AAAkM,CAAjN;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4hM,aAAT,CAAuBx0I,IAAvB,EAA6B;AACzB,SAAO,cAAcA,IAAd,CAAmB;AACtB/oG,IAAAA,WAAW,CAAC,GAAGulB,IAAJ,EAAU;AACjB,YAAM,GAAGA,IAAT;AACA,WAAK6iC,SAAL,GAAiB,KAAjB;AACH;;AACW,QAARniD,QAAQ,GAAG;AAAE,aAAO,KAAKmiD,SAAZ;AAAwB;;AAC7B,QAARniD,QAAQ,CAACW,KAAD,EAAQ;AAAE,WAAKwhD,SAAL,GAAiBtoB,4EAAqB,CAACl5B,KAAD,CAAtC;AAAgD;;AANhD,GAA1B;AAQH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS02O,UAAT,CAAoBv0I,IAApB,EAA0Bs4I,YAA1B,EAAwC;AACpC,SAAO,cAAct4I,IAAd,CAAmB;AACtB/oG,IAAAA,WAAW,CAAC,GAAGulB,IAAJ,EAAU;AACjB,YAAM,GAAGA,IAAT;AACA,WAAK87N,YAAL,GAAoBA,YAApB,CAFiB,CAGjB;;AACA,WAAK9C,KAAL,GAAa8C,YAAb;AACH;;AACQ,QAAL9C,KAAK,GAAG;AAAE,aAAO,KAAK+C,MAAZ;AAAqB;;AAC1B,QAAL/C,KAAK,CAAC33O,KAAD,EAAQ;AACb,YAAM26O,YAAY,GAAG36O,KAAK,IAAI,KAAKy6O,YAAnC;;AACA,UAAIE,YAAY,KAAK,KAAKD,MAA1B,EAAkC;AAC9B,YAAI,KAAKA,MAAT,EAAiB;AACb,eAAKxzM,WAAL,CAAiBI,aAAjB,CAA+B7a,SAA/B,CAAyCE,MAAzC,CAAiD,OAAM,KAAK+tN,MAAO,EAAnE;AACH;;AACD,YAAIC,YAAJ,EAAkB;AACd,eAAKzzM,WAAL,CAAiBI,aAAjB,CAA+B7a,SAA/B,CAAyC7e,GAAzC,CAA8C,OAAM+sO,YAAa,EAAjE;AACH;;AACD,aAAKD,MAAL,GAAcC,YAAd;AACH;AACJ;;AAnBqB,GAA1B;AAqBH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS/D,kBAAT,CAA4Bz0I,IAA5B,EAAkC;AAC9B,SAAO,cAAcA,IAAd,CAAmB;AACtB/oG,IAAAA,WAAW,CAAC,GAAGulB,IAAJ,EAAU;AACjB,YAAM,GAAGA,IAAT;AACA,WAAKi8N,cAAL,GAAsB,KAAtB;AACH;AACD;;;AACiB,QAAb/C,aAAa,GAAG;AAAE,aAAO,KAAK+C,cAAZ;AAA6B;;AAClC,QAAb/C,aAAa,CAAC73O,KAAD,EAAQ;AAAE,WAAK46O,cAAL,GAAsB1hN,4EAAqB,CAACl5B,KAAD,CAA3C;AAAqD;;AAP1D,GAA1B;AASH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS66O,aAAT,CAAuB14I,IAAvB,EAA6B24I,eAAe,GAAG,CAA/C,EAAkD;AAC9C,SAAO,cAAc34I,IAAd,CAAmB;AACtB/oG,IAAAA,WAAW,CAAC,GAAGulB,IAAJ,EAAU;AACjB,YAAM,GAAGA,IAAT;AACA,WAAKo8N,SAAL,GAAiBD,eAAjB;AACA,WAAKA,eAAL,GAAuBA,eAAvB;AACH;;AACW,QAAR13M,QAAQ,GAAG;AAAE,aAAO,KAAK/jC,QAAL,GAAgB,CAAC,CAAjB,GAAqB,KAAK07O,SAAjC;AAA6C;;AAClD,QAAR33M,QAAQ,CAACpjC,KAAD,EAAQ;AAChB;AACA,WAAK+6O,SAAL,GAAiB/6O,KAAK,IAAI,IAAT,GAAgBogD,2EAAoB,CAACpgD,KAAD,CAApC,GAA8C,KAAK86O,eAApE;AACH;;AAVqB,GAA1B;AAYH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,eAAT,CAAyB74I,IAAzB,EAA+B;AAC3B,SAAO,cAAcA,IAAd,CAAmB;AACtB/oG,IAAAA,WAAW,CAAC,GAAGulB,IAAJ,EAAU;AACjB,YAAM,GAAGA,IAAT,EADiB,CAEjB;AACA;AACA;AACA;;AACA;;AACA,WAAKs8N,YAAL,GAAoB,IAAI1jN,yCAAJ,EAApB;AACA;;AACA,WAAK2jN,UAAL,GAAkB,KAAlB;AACH;AACD;;;AACAC,IAAAA,gBAAgB,GAAG;AACf,YAAMC,QAAQ,GAAG,KAAKF,UAAtB;AACA,YAAM/3N,MAAM,GAAG,KAAKk4N,gBAAL,IAAyB,KAAKC,WAA7C;AACA,YAAMC,OAAO,GAAG,KAAKC,iBAAL,IAA0B,KAAKC,yBAA/C;AACA,YAAMhoB,OAAO,GAAG,KAAKioB,SAAL,GAAiB,KAAKA,SAAL,CAAejoB,OAAhC,GAA0C,IAA1D;AACA,YAAMkoB,QAAQ,GAAGJ,OAAO,CAACK,YAAR,CAAqBnoB,OAArB,EAA8BtwM,MAA9B,CAAjB;;AACA,UAAIw4N,QAAQ,KAAKP,QAAjB,EAA2B;AACvB,aAAKF,UAAL,GAAkBS,QAAlB;AACA,aAAKV,YAAL,CAAkBpyO,IAAlB;AACH;AACJ;;AAvBqB,GAA1B;AAyBH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAASgzO,gBAAT,CAA0B15I,IAA1B,EAAgC;AAC5B,SAAO,cAAcA,IAAd,CAAmB;AACtB/oG,IAAAA,WAAW,CAAC,GAAGulB,IAAJ,EAAU;AACjB,YAAM,GAAGA,IAAT;AACA;;AACA,WAAKw1B,cAAL,GAAsB,KAAtB;AACA;AACZ;AACA;AACA;AACA;;AACY,WAAK2nM,mBAAL,GAA2B,EAA3B;AACA;AACZ;AACA;AACA;;AACY,WAAK73C,WAAL,GAAmB,IAAI5jJ,4CAAJ,CAAe07L,UAAU,IAAI;AAC5C;AACA;AACA,YAAI,KAAK5nM,cAAT,EAAyB;AACrB,eAAK6nM,iBAAL,CAAuBD,UAAvB;AACH,SAFD,MAGK;AACD,eAAKD,mBAAL,CAAyB1hP,IAAzB,CAA8B2hP,UAA9B;AACH;AACJ,OATkB,CAAnB;AAUH;AACD;AACR;AACA;AACA;AACA;;;AACQE,IAAAA,gBAAgB,GAAG;AACf,UAAI,KAAK9nM,cAAL,KAAwB,OAAO3vC,SAAP,KAAqB,WAArB,IAAoCA,SAA5D,CAAJ,EAA4E;AACxE,cAAM3F,KAAK,CAAC,+DACR,6BADO,CAAX;AAEH;;AACD,WAAKs1C,cAAL,GAAsB,IAAtB;;AACA,WAAK2nM,mBAAL,CAAyB7hP,OAAzB,CAAiC,KAAK+hP,iBAAtC;;AACA,WAAKF,mBAAL,GAA2B,IAA3B;AACH;AACD;;;AACAE,IAAAA,iBAAiB,CAACD,UAAD,EAAa;AAC1BA,MAAAA,UAAU,CAAClzO,IAAX;AACAkzO,MAAAA,UAAU,CAAC7vM,QAAX;AACH;;AA5CqB,GAA1B;AA8CH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAM0mM,eAAe,gBAAG,IAAI17M,yDAAJ,CAAmB,iBAAnB,EAAsC;AAC1DkG,EAAAA,UAAU,EAAE,MAD8C;AAE1D74B,EAAAA,OAAO,EAAE23O;AAFiD,CAAtC,CAAxB;AAIA;;AACA,SAASA,uBAAT,GAAmC;AAC/B,SAAOzoM,qDAAM,CAACwkC,oDAAD,CAAb;AACH;AACD;;;AACA,MAAM06J,WAAN,CAAkB;AACdv5O,EAAAA,WAAW,GAAG;AACV,SAAK+iP,cAAL,GAAsB,IAAI5kN,yCAAJ,EAAtB;AACA;;AACA,SAAK6kN,aAAL,GAAqB,KAAKD,cAA1B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIE,EAAAA,kBAAkB,CAAC91O,GAAD,EAAM;AACpB,WAAO,KAAKovO,cAAL,CAAoBpvO,GAApB,KAA4B,KAAK2uO,OAAL,CAAa3uO,GAAb,CAA5B,GAAgDA,GAAhD,GAAsD,IAA7D;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACImvO,EAAAA,WAAW,CAAC11O,KAAD,EAAQ;AACf,QAAIA,KAAK,IAAI,IAAT,IAAiB,KAAK21O,cAAL,CAAoB31O,KAApB,KAA8B,KAAKk1O,OAAL,CAAal1O,KAAb,CAAnD,EAAwE;AACpE,aAAOA,KAAP;AACH;;AACD,WAAO,KAAKw2N,OAAL,EAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIgd,EAAAA,SAAS,CAAC10J,MAAD,EAAS;AACd,SAAKA,MAAL,GAAcA,MAAd;;AACA,SAAKq9J,cAAL,CAAoBtzO,IAApB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIyzO,EAAAA,WAAW,CAACpsK,KAAD,EAAQqsK,MAAR,EAAgB;AACvB,WAAO,KAAKhI,OAAL,CAAarkK,KAAb,IAAsB,KAAKqkK,OAAL,CAAagI,MAAb,CAAtB,IACH,KAAKp1J,QAAL,CAAcjX,KAAd,IAAuB,KAAKiX,QAAL,CAAco1J,MAAd,CADpB,IAEH,KAAKn1J,OAAL,CAAalX,KAAb,IAAsB,KAAKkX,OAAL,CAAam1J,MAAb,CAF1B;AAGH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIC,EAAAA,QAAQ,CAACtsK,KAAD,EAAQqsK,MAAR,EAAgB;AACpB,QAAIrsK,KAAK,IAAIqsK,MAAb,EAAqB;AACjB,UAAIE,UAAU,GAAG,KAAKvH,OAAL,CAAahlK,KAAb,CAAjB;AACA,UAAIwsK,WAAW,GAAG,KAAKxH,OAAL,CAAaqH,MAAb,CAAlB;;AACA,UAAIE,UAAU,IAAIC,WAAlB,EAA+B;AAC3B,eAAO,CAAC,KAAKJ,WAAL,CAAiBpsK,KAAjB,EAAwBqsK,MAAxB,CAAR;AACH;;AACD,aAAOE,UAAU,IAAIC,WAArB;AACH;;AACD,WAAOxsK,KAAK,IAAIqsK,MAAhB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACII,EAAAA,SAAS,CAAC74J,IAAD,EAAOvnF,GAAP,EAAYH,GAAZ,EAAiB;AACtB,QAAIG,GAAG,IAAI,KAAK+/O,WAAL,CAAiBx4J,IAAjB,EAAuBvnF,GAAvB,IAA8B,CAAzC,EAA4C;AACxC,aAAOA,GAAP;AACH;;AACD,QAAIH,GAAG,IAAI,KAAKkgP,WAAL,CAAiBx4J,IAAjB,EAAuB1nF,GAAvB,IAA8B,CAAzC,EAA4C;AACxC,aAAOA,GAAP;AACH;;AACD,WAAO0nF,IAAP;AACH;;AAvFa;AA0FlB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+uJ,gBAAgB,gBAAG,IAAI37M,yDAAJ,CAAmB,kBAAnB,CAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA,IAAI0lN,iBAAJ,EACA;AACA;AACA;AACA;AACA;;AACA,IAAI;AACAA,EAAAA,iBAAiB,GAAG,OAAOp9K,IAAP,IAAe,WAAnC;AACH,CAFD,CAGA,OAAO/rC,EAAP,EAAW;AACPmpN,EAAAA,iBAAiB,GAAG,KAApB;AACH;AACD;;;AACA,MAAMC,mBAAmB,GAAG;AACxB,UAAQ,CACJ,SADI,EACO,UADP,EACmB,OADnB,EAC4B,OAD5B,EACqC,KADrC,EAC4C,MAD5C,EACoD,MADpD,EAC4D,QAD5D,EACsE,WADtE,EAEJ,SAFI,EAEO,UAFP,EAEmB,UAFnB,CADgB;AAKxB,WAAS,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,EAAsB,KAAtB,EAA6B,KAA7B,EAAoC,KAApC,EAA2C,KAA3C,EAAkD,KAAlD,EAAyD,KAAzD,EAAgE,KAAhE,EAAuE,KAAvE,EAA8E,KAA9E,CALe;AAMxB,YAAU,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,EAAoC,GAApC,EAAyC,GAAzC,EAA8C,GAA9C,EAAmD,GAAnD,EAAwD,GAAxD;AANc,CAA5B;;AAQA,MAAMniO,IAAI,GAAGnY,CAAC,IAAIq+B,MAAM,CAACr+B,CAAC,GAAG,CAAL,CAAxB;AACA;;;AACA,MAAMu6O,kBAAkB,gBAAGpuK,KAAK,CAAC,EAAD,EAAKh0D,IAAL,CAAhC;AACA;;AACA,MAAMqiO,yBAAyB,GAAG;AAC9B,UAAQ,CAAC,QAAD,EAAW,QAAX,EAAqB,SAArB,EAAgC,WAAhC,EAA6C,UAA7C,EAAyD,QAAzD,EAAmE,UAAnE,CADsB;AAE9B,WAAS,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,EAAsB,KAAtB,EAA6B,KAA7B,EAAoC,KAApC,EAA2C,KAA3C,CAFqB;AAG9B,YAAU,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B;AAHoB,CAAlC;AAKA;AACA;AACA;AACA;AACA;;AACA,MAAMC,cAAc,GAAG,oFAAvB;AACA;;AACA,SAAStuK,KAAT,CAAenzE,MAAf,EAAuB63O,aAAvB,EAAsC;AAClC,QAAMC,WAAW,GAAG1sO,KAAK,CAACpL,MAAD,CAAzB;;AACA,OAAK,IAAIgH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGhH,MAApB,EAA4BgH,CAAC,EAA7B,EAAiC;AAC7B8wO,IAAAA,WAAW,CAAC9wO,CAAD,CAAX,GAAiB6wO,aAAa,CAAC7wO,CAAD,CAA9B;AACH;;AACD,SAAO8wO,WAAP;AACH;AACD;;;IACM4J;AAAN,QAAMA,iBAAN,SAAgCtK,WAAhC,CAA4C;AACxCv5O,IAAAA,WAAW,CAAC8jP,aAAD,EAAgBzkL,QAAhB,EAA0B;AACjC;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,WAAK0kL,gBAAL,GAAwB,IAAxB;AACA,YAAM3J,SAAN,CAAgB0J,aAAhB,EAdiC,CAejC;;AACA,WAAKC,gBAAL,GAAwB,CAAC1kL,QAAQ,CAACqH,OAAlC;AACA,WAAKs9K,UAAL,GAAkB3kL,QAAQ,CAACqH,OAAT,IAAoBrH,QAAQ,CAACkH,IAA/C;AACH;;AACD40K,IAAAA,OAAO,CAACzwJ,IAAD,EAAO;AACV,aAAOA,IAAI,CAACmD,WAAL,EAAP;AACH;;AACDE,IAAAA,QAAQ,CAACrD,IAAD,EAAO;AACX,aAAOA,IAAI,CAACqD,QAAL,EAAP;AACH;;AACDC,IAAAA,OAAO,CAACtD,IAAD,EAAO;AACV,aAAOA,IAAI,CAACsD,OAAL,EAAP;AACH;;AACDotJ,IAAAA,YAAY,CAAC1wJ,IAAD,EAAO;AACf,aAAOA,IAAI,CAAC8D,MAAL,EAAP;AACH;;AACD8sJ,IAAAA,aAAa,CAAC18O,KAAD,EAAQ;AACjB,UAAI4kP,iBAAJ,EAAuB;AACnB,cAAMS,GAAG,GAAG,IAAI79K,IAAI,CAACshB,cAAT,CAAwB,KAAKhC,MAA7B,EAAqC;AAAE+F,UAAAA,KAAK,EAAE7sF,KAAT;AAAgBslP,UAAAA,QAAQ,EAAE;AAA1B,SAArC,CAAZ;AACA,eAAO5uK,KAAK,CAAC,EAAD,EAAKnsE,CAAC,IAAI,KAAKg7O,8BAAL,CAAoC,KAAKC,OAAL,CAAaH,GAAb,EAAkB,IAAIxtN,IAAJ,CAAS,IAAT,EAAettB,CAAf,EAAkB,CAAlB,CAAlB,CAApC,CAAV,CAAZ;AACH;;AACD,aAAOs6O,mBAAmB,CAAC7kP,KAAD,CAA1B;AACH;;AACD28O,IAAAA,YAAY,GAAG;AACX,UAAIiI,iBAAJ,EAAuB;AACnB,cAAMS,GAAG,GAAG,IAAI79K,IAAI,CAACshB,cAAT,CAAwB,KAAKhC,MAA7B,EAAqC;AAAE21J,UAAAA,GAAG,EAAE,SAAP;AAAkB6I,UAAAA,QAAQ,EAAE;AAA5B,SAArC,CAAZ;AACA,eAAO5uK,KAAK,CAAC,EAAD,EAAKnsE,CAAC,IAAI,KAAKg7O,8BAAL,CAAoC,KAAKC,OAAL,CAAaH,GAAb,EAAkB,IAAIxtN,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkBttB,CAAC,GAAG,CAAtB,CAAlB,CAApC,CAAV,CAAZ;AACH;;AACD,aAAOu6O,kBAAP;AACH;;AACDlI,IAAAA,iBAAiB,CAAC58O,KAAD,EAAQ;AACrB,UAAI4kP,iBAAJ,EAAuB;AACnB,cAAMS,GAAG,GAAG,IAAI79K,IAAI,CAACshB,cAAT,CAAwB,KAAKhC,MAA7B,EAAqC;AAAE2+J,UAAAA,OAAO,EAAEzlP,KAAX;AAAkBslP,UAAAA,QAAQ,EAAE;AAA5B,SAArC,CAAZ;AACA,eAAO5uK,KAAK,CAAC,CAAD,EAAInsE,CAAC,IAAI,KAAKg7O,8BAAL,CAAoC,KAAKC,OAAL,CAAaH,GAAb,EAAkB,IAAIxtN,IAAJ,CAAS,IAAT,EAAe,CAAf,EAAkBttB,CAAC,GAAG,CAAtB,CAAlB,CAApC,CAAT,CAAZ;AACH;;AACD,aAAOw6O,yBAAyB,CAAC/kP,KAAD,CAAhC;AACH;;AACD68O,IAAAA,WAAW,CAAC/wJ,IAAD,EAAO;AACd,UAAI84J,iBAAJ,EAAuB;AACnB,cAAMS,GAAG,GAAG,IAAI79K,IAAI,CAACshB,cAAT,CAAwB,KAAKhC,MAA7B,EAAqC;AAAE8F,UAAAA,IAAI,EAAE,SAAR;AAAmB04J,UAAAA,QAAQ,EAAE;AAA7B,SAArC,CAAZ;AACA,eAAO,KAAKC,8BAAL,CAAoC,KAAKC,OAAL,CAAaH,GAAb,EAAkBv5J,IAAlB,CAApC,CAAP;AACH;;AACD,aAAOljD,MAAM,CAAC,KAAK2zM,OAAL,CAAazwJ,IAAb,CAAD,CAAb;AACH;;AACDgxJ,IAAAA,iBAAiB,GAAG;AAChB;AACA,aAAO,CAAP;AACH;;AACDC,IAAAA,iBAAiB,CAACjxJ,IAAD,EAAO;AACpB,aAAO,KAAKsD,OAAL,CAAa,KAAKs2J,uBAAL,CAA6B,KAAKnJ,OAAL,CAAazwJ,IAAb,CAA7B,EAAiD,KAAKqD,QAAL,CAAcrD,IAAd,IAAsB,CAAvE,EAA0E,CAA1E,CAAb,CAAP;AACH;;AACD8d,IAAAA,KAAK,CAAC9d,IAAD,EAAO;AACR,aAAO,IAAIj0D,IAAJ,CAASi0D,IAAI,CAAC6F,OAAL,EAAT,CAAP;AACH;;AACDhF,IAAAA,UAAU,CAACC,IAAD,EAAOC,KAAP,EAAcf,IAAd,EAAoB;AAC1B,UAAI,OAAOt/E,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C;AACA;AACA,YAAIqgF,KAAK,GAAG,CAAR,IAAaA,KAAK,GAAG,EAAzB,EAA6B;AACzB,gBAAMhmF,KAAK,CAAE,wBAAuBgmF,KAAM,4CAA/B,CAAX;AACH;;AACD,YAAIf,IAAI,GAAG,CAAX,EAAc;AACV,gBAAMjlF,KAAK,CAAE,iBAAgBilF,IAAK,mCAAvB,CAAX;AACH;AACJ;;AACD,UAAI/gF,MAAM,GAAG,KAAK26O,uBAAL,CAA6B94J,IAA7B,EAAmCC,KAAnC,EAA0Cf,IAA1C,CAAb,CAX0B,CAY1B;;;AACA,UAAI/gF,MAAM,CAACokF,QAAP,MAAqBtC,KAArB,KAA+B,OAAOrgF,SAAP,KAAqB,WAArB,IAAoCA,SAAnE,CAAJ,EAAmF;AAC/E,cAAM3F,KAAK,CAAE,iBAAgBilF,IAAK,2BAA0Be,KAAM,IAAvD,CAAX;AACH;;AACD,aAAO9hF,MAAP;AACH;;AACDymF,IAAAA,KAAK,GAAG;AACJ,aAAO,IAAI35D,IAAJ,EAAP;AACH;;AACDw6D,IAAAA,KAAK,CAACrqF,KAAD,EAAQ;AACT;AACA;AACA,UAAI,OAAOA,KAAP,IAAgB,QAApB,EAA8B;AAC1B,eAAO,IAAI6vB,IAAJ,CAAS7vB,KAAT,CAAP;AACH;;AACD,aAAOA,KAAK,GAAG,IAAI6vB,IAAJ,CAASA,IAAI,CAACw6D,KAAL,CAAWrqF,KAAX,CAAT,CAAH,GAAiC,IAA7C;AACH;;AACDgjF,IAAAA,MAAM,CAACc,IAAD,EAAOsxJ,aAAP,EAAsB;AACxB,UAAI,CAAC,KAAKF,OAAL,CAAapxJ,IAAb,CAAL,EAAyB;AACrB,cAAMjlF,KAAK,CAAC,gDAAD,CAAX;AACH;;AACD,UAAI+9O,iBAAJ,EAAuB;AACnB;AACA;AACA,YAAI,KAAKQ,UAAL,KAAoBt5J,IAAI,CAACmD,WAAL,KAAqB,CAArB,IAA0BnD,IAAI,CAACmD,WAAL,KAAqB,IAAnE,CAAJ,EAA8E;AAC1EnD,UAAAA,IAAI,GAAG,KAAK8d,KAAL,CAAW9d,IAAX,CAAP;AACAA,UAAAA,IAAI,CAACiB,WAAL,CAAiB5oF,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYD,IAAI,CAACI,GAAL,CAAS,IAAT,EAAeunF,IAAI,CAACmD,WAAL,EAAf,CAAZ,CAAjB;AACH;;AACDmuJ,QAAAA,aAAa,GAAG/2O,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB24N,aAAlB,CAAd,EAAgD;AAAEkI,UAAAA,QAAQ,EAAE;AAAZ,SAAhD,CAAhB;AACA,cAAMD,GAAG,GAAG,IAAI79K,IAAI,CAACshB,cAAT,CAAwB,KAAKhC,MAA7B,EAAqCs2J,aAArC,CAAZ;AACA,eAAO,KAAKmI,8BAAL,CAAoC,KAAKC,OAAL,CAAaH,GAAb,EAAkBv5J,IAAlB,CAApC,CAAP;AACH;;AACD,aAAO,KAAKy5J,8BAAL,CAAoCz5J,IAAI,CAAC65J,YAAL,EAApC,CAAP;AACH;;AACDtI,IAAAA,gBAAgB,CAACvxJ,IAAD,EAAOwxJ,KAAP,EAAc;AAC1B,aAAO,KAAKC,iBAAL,CAAuBzxJ,IAAvB,EAA6BwxJ,KAAK,GAAG,EAArC,CAAP;AACH;;AACDC,IAAAA,iBAAiB,CAACzxJ,IAAD,EAAO9D,MAAP,EAAe;AAC5B,UAAI8E,OAAO,GAAG,KAAK44J,uBAAL,CAA6B,KAAKnJ,OAAL,CAAazwJ,IAAb,CAA7B,EAAiD,KAAKqD,QAAL,CAAcrD,IAAd,IAAsB9D,MAAvE,EAA+E,KAAKoH,OAAL,CAAatD,IAAb,CAA/E,CAAd,CAD4B,CAE5B;AACA;AACA;AACA;;;AACA,UAAI,KAAKqD,QAAL,CAAcrC,OAAd,KAA0B,CAAC,CAAC,KAAKqC,QAAL,CAAcrD,IAAd,IAAsB9D,MAAvB,IAAiC,EAAjC,GAAsC,EAAvC,IAA6C,EAA3E,EAA+E;AAC3E8E,QAAAA,OAAO,GAAG,KAAK44J,uBAAL,CAA6B,KAAKnJ,OAAL,CAAazvJ,OAAb,CAA7B,EAAoD,KAAKqC,QAAL,CAAcrC,OAAd,CAApD,EAA4E,CAA5E,CAAV;AACH;;AACD,aAAOA,OAAP;AACH;;AACD0wJ,IAAAA,eAAe,CAAC1xJ,IAAD,EAAOnE,IAAP,EAAa;AACxB,aAAO,KAAK+9J,uBAAL,CAA6B,KAAKnJ,OAAL,CAAazwJ,IAAb,CAA7B,EAAiD,KAAKqD,QAAL,CAAcrD,IAAd,CAAjD,EAAsE,KAAKsD,OAAL,CAAatD,IAAb,IAAqBnE,IAA3F,CAAP;AACH;;AACD81J,IAAAA,SAAS,CAAC3xJ,IAAD,EAAO;AACZ,aAAO,CACHA,IAAI,CAAC85J,cAAL,EADG,EAEH,KAAKC,OAAL,CAAa/5J,IAAI,CAACg6J,WAAL,KAAqB,CAAlC,CAFG,EAGH,KAAKD,OAAL,CAAa/5J,IAAI,CAACi6J,UAAL,EAAb,CAHG,EAILj/O,IAJK,CAIA,GAJA,CAAP;AAKH;AACD;AACJ;AACA;AACA;AACA;;;AACI42O,IAAAA,WAAW,CAAC11O,KAAD,EAAQ;AACf,UAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,YAAI,CAACA,KAAL,EAAY;AACR,iBAAO,IAAP;AACH,SAH0B,CAI3B;AACA;;;AACA,YAAIg9O,cAAc,CAACloN,IAAf,CAAoB90B,KAApB,CAAJ,EAAgC;AAC5B,cAAI8jF,IAAI,GAAG,IAAIj0D,IAAJ,CAAS7vB,KAAT,CAAX;;AACA,cAAI,KAAKk1O,OAAL,CAAapxJ,IAAb,CAAJ,EAAwB;AACpB,mBAAOA,IAAP;AACH;AACJ;AACJ;;AACD,aAAO,MAAM4xJ,WAAN,CAAkB11O,KAAlB,CAAP;AACH;;AACD21O,IAAAA,cAAc,CAACpvO,GAAD,EAAM;AAChB,aAAOA,GAAG,YAAYspB,IAAtB;AACH;;AACDqlN,IAAAA,OAAO,CAACpxJ,IAAD,EAAO;AACV,aAAO,CAAC5/C,KAAK,CAAC4/C,IAAI,CAAC6F,OAAL,EAAD,CAAb;AACH;;AACD6sI,IAAAA,OAAO,GAAG;AACN,aAAO,IAAI3mM,IAAJ,CAASmuN,GAAT,CAAP;AACH;AACD;;;AACAN,IAAAA,uBAAuB,CAAC94J,IAAD,EAAOC,KAAP,EAAcf,IAAd,EAAoB;AACvC;AACA;AACA,YAAM8G,CAAC,GAAG,IAAI/6D,IAAJ,EAAV;AACA+6D,MAAAA,CAAC,CAAC7F,WAAF,CAAcH,IAAd,EAAoBC,KAApB,EAA2Bf,IAA3B;AACA8G,MAAAA,CAAC,CAAC5F,QAAF,CAAW,CAAX,EAAc,CAAd,EAAiB,CAAjB,EAAoB,CAApB;AACA,aAAO4F,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIizJ,IAAAA,OAAO,CAACzwO,CAAD,EAAI;AACP,aAAO,CAAC,OAAOA,CAAR,EAAW0J,KAAX,CAAiB,CAAC,CAAlB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIymO,IAAAA,8BAA8B,CAACh1O,GAAD,EAAM;AAChC,aAAOA,GAAG,CAAC5E,OAAJ,CAAY,iBAAZ,EAA+B,EAA/B,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI65O,IAAAA,OAAO,CAACH,GAAD,EAAMv5J,IAAN,EAAY;AACf;AACA;AACA,YAAM8G,CAAC,GAAG,IAAI/6D,IAAJ,EAAV;AACA+6D,MAAAA,CAAC,CAACM,cAAF,CAAiBpH,IAAI,CAACmD,WAAL,EAAjB,EAAqCnD,IAAI,CAACqD,QAAL,EAArC,EAAsDrD,IAAI,CAACsD,OAAL,EAAtD;AACAwD,MAAAA,CAAC,CAACQ,WAAF,CAActH,IAAI,CAACuD,QAAL,EAAd,EAA+BvD,IAAI,CAACyD,UAAL,EAA/B,EAAkDzD,IAAI,CAAC2D,UAAL,EAAlD,EAAqE3D,IAAI,CAAC4D,eAAL,EAArE;AACA,aAAO21J,GAAG,CAACr6J,MAAJ,CAAW4H,CAAX,CAAP;AACH;;AAvNuC;;AAyN5CqyJ,EAAAA,iBAAiB,CAACh5O,IAAlB,GAAyB,SAASg6O,yBAAT,CAAmC95O,CAAnC,EAAsC;AAAE,WAAO,KAAKA,CAAC,IAAI84O,iBAAV,EAA6BlgP,sDAAA,CAAgB61O,eAAhB,EAAiC,CAAjC,CAA7B,EAAkE71O,sDAAA,CAAgB+8B,2DAAhB,CAAlE,CAAP;AAA6G,GAA9K;;AACAmjN,EAAAA,iBAAiB,CAAC74O,KAAlB,GAA0B,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAE24O,iBAAT;AAA4B14O,IAAAA,OAAO,EAAE04O,iBAAiB,CAACh5O;AAAvD,GAA1B,CAAxC;SA1NMg5O;;;AA+NN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOz4O,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAO0C,CAPzD;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM05O,uBAAuB,GAAG;AAC5B7zJ,EAAAA,KAAK,EAAE;AACH6rJ,IAAAA,SAAS,EAAE;AADR,GADqB;AAI5BvqN,EAAAA,OAAO,EAAE;AACLuqN,IAAAA,SAAS,EAAE;AAAEtxJ,MAAAA,IAAI,EAAE,SAAR;AAAmBC,MAAAA,KAAK,EAAE,SAA1B;AAAqC4vJ,MAAAA,GAAG,EAAE;AAA1C,KADN;AAEL0B,IAAAA,cAAc,EAAE;AAAEvxJ,MAAAA,IAAI,EAAE,SAAR;AAAmBC,MAAAA,KAAK,EAAE;AAA1B,KAFX;AAGLuxJ,IAAAA,aAAa,EAAE;AAAExxJ,MAAAA,IAAI,EAAE,SAAR;AAAmBC,MAAAA,KAAK,EAAE,MAA1B;AAAkC4vJ,MAAAA,GAAG,EAAE;AAAvC,KAHV;AAIL4B,IAAAA,kBAAkB,EAAE;AAAEzxJ,MAAAA,IAAI,EAAE,SAAR;AAAmBC,MAAAA,KAAK,EAAE;AAA1B;AAJf;AAJmB,CAAhC;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMs5J;AAAN,QAAMA,gBAAN,CAAuB;;AAEvBA,EAAAA,gBAAgB,CAACl6O,IAAjB,GAAwB,SAASm6O,wBAAT,CAAkCj6O,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAIg6O,gBAAV,GAAP;AAAuC,GAAtG;;AACAA,EAAAA,gBAAgB,CAACprM,IAAjB,GAAwB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAE2mP;AAAR,GAAxB,CAAtC;AACAA,EAAAA,gBAAgB,CAAClrM,IAAjB,GAAwB,aAAcl2C,8DAAA,CAAwB;AAAEilD,IAAAA,SAAS,EAAE,CACnE;AAAEnN,MAAAA,OAAO,EAAE89L,WAAX;AAAwBj/J,MAAAA,QAAQ,EAAEupK;AAAlC,KADmE,CAAb;AAEvD9pM,IAAAA,OAAO,EAAE,CAAC,CAACzZ,iEAAD,CAAD;AAF8C,GAAxB,CAAtC;SAJMykN;;;AAON;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO35O,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAQO,CARtB;;AASA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0BohP,gBAA1B,EAA4C;AAAEhrM,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACzZ,iEAAD,CAAP;AAA0B;AAAnD,GAA5C,CAAnD;AAAwJ,CAAvK;;AACA,MAAM34B,EAAE,GAAGm9O,uBAAX;IACMG;AAAN,QAAMA,mBAAN,CAA0B;;AAE1BA,EAAAA,mBAAmB,CAACp6O,IAApB,GAA2B,SAASq6O,2BAAT,CAAqCn6O,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAIk6O,mBAAV,GAAP;AAA0C,GAA/G;;AACAA,EAAAA,mBAAmB,CAACtrM,IAApB,GAA2B,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAE6mP;AAAR,GAAxB,CAAzC;AACAA,EAAAA,mBAAmB,CAACprM,IAApB,GAA2B,aAAcl2C,8DAAA,CAAwB;AAAEilD,IAAAA,SAAS,EAAE,CAAC;AAAEnN,MAAAA,OAAO,EAAEg+L,gBAAX;AAA6B7mI,MAAAA,QAAQ,EAAEjrG;AAAvC,KAAD,CAAb;AAA4DoyC,IAAAA,OAAO,EAAE,CAAC,CAACgrM,gBAAD,CAAD;AAArE,GAAxB,CAAzC;SAJME;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO75O,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMO,CANtB;;AAOA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0BshP,mBAA1B,EAA+C;AAAElrM,IAAAA,OAAO,EAAE,CAACgrM,gBAAD;AAAX,GAA/C,CAAnD;AAAqI,CAApJ;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACMI;AAAN,QAAMA,4BAAN,CAAmC;AAC/B3C,IAAAA,YAAY,CAACnoB,OAAD,EAAU3rI,IAAV,EAAgB;AACxB,aAAO,CAAC,EAAE2rI,OAAO,IAAIA,OAAO,CAAC+C,OAAnB,KAA+B/C,OAAO,CAAC/6E,KAAR,IAAkB5wD,IAAI,IAAIA,IAAI,CAACowI,SAA9D,CAAF,CAAR;AACH;;AAH8B;;AAKnCqmB,EAAAA,4BAA4B,CAACt6O,IAA7B,GAAoC,SAASu6O,oCAAT,CAA8Cr6O,CAA9C,EAAiD;AAAE,WAAO,KAAKA,CAAC,IAAIo6O,4BAAV,GAAP;AAAmD,GAA1I;;AACAA,EAAAA,4BAA4B,CAACn6O,KAA7B,GAAqC,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEi6O,4BAAT;AAAuCh6O,IAAAA,OAAO,EAAEg6O,4BAA4B,CAACt6O;AAA7E,GAA1B,CAAnD;SANMs6O;;;AAON;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/5O,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAEO,CAFtB;AAGA;;;IACMi6O;AAAN,QAAMA,iBAAN,CAAwB;AACpB7C,IAAAA,YAAY,CAACnoB,OAAD,EAAU3rI,IAAV,EAAgB;AACxB,aAAO,CAAC,EAAE2rI,OAAO,IAAIA,OAAO,CAAC+C,OAAnB,KAA+B/C,OAAO,CAACiD,OAAR,IAAoB5uI,IAAI,IAAIA,IAAI,CAACowI,SAAhE,CAAF,CAAR;AACH;;AAHmB;;AAKxBumB,EAAAA,iBAAiB,CAACx6O,IAAlB,GAAyB,SAASy6O,yBAAT,CAAmCv6O,CAAnC,EAAsC;AAAE,WAAO,KAAKA,CAAC,IAAIs6O,iBAAV,GAAP;AAAwC,GAAzG;;AACAA,EAAAA,iBAAiB,CAACr6O,KAAlB,GAA0BuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAASm6O,yBAAT,GAAqC;AAAE,aAAO,IAAID,iBAAJ,EAAP;AAAiC,KAAnF;AAAqFn6O,IAAAA,KAAK,EAAEm6O,iBAA5F;AAA+GrhN,IAAAA,UAAU,EAAE;AAA3H,GAAtB,CAA1B;SANMqhN;;;AAON;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOj6O,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGO,CAHtB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;IACMm6O;AAAN,QAAMA,OAAN,CAAc;;AAEdA,EAAAA,OAAO,CAAC16O,IAAR,GAAe,SAAS26O,eAAT,CAAyBz6O,CAAzB,EAA4B;AAAE,WAAO,KAAKA,CAAC,IAAIw6O,OAAV,GAAP;AAA8B,GAA3E;;AACAA,EAAAA,OAAO,CAAC12M,IAAR,GAAe,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEmnP,OAAR;AAAiBx2M,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,UAAL,EAAiB,EAAjB,CAAD,EAAuB,CAAC,EAAD,EAAK,SAAL,EAAgB,EAAhB,CAAvB,CAA5B;AAAyEgoC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,UAAJ;AAApF,GAAzB,CAA7B;SAHMwuK;;;AAIN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOn6O,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMO,CANtB;AAOA;AACA;AACA;AACA;;;AACA,SAASq6O,QAAT,CAAkB/wE,KAAlB,EAAyBnwK,OAAzB,EAAkC+xI,MAAM,GAAG,KAA3C,EAAkD;AAC9C;AACA;AACAo+B,EAAAA,KAAK,CAAC1vI,OAAN,CAAcoB,IAAd,CAAmBynC,yDAAS,CAAC6mG,KAAD,CAA5B,EAAqCzvI,SAArC,CAA+C,CAAC;AAAE9iC,IAAAA;AAAF,GAAD,KAAgB;AAC3DujP,IAAAA,QAAQ,CAACnhP,OAAD,EAAW,GAAE+xI,MAAO,SAApB,EAA8B,KAA9B,CAAR;AACAovG,IAAAA,QAAQ,CAACnhP,OAAD,EAAW,GAAE+xI,MAAO,SAApB,EAA8B,KAA9B,CAAR;AACAovG,IAAAA,QAAQ,CAACnhP,OAAD,EAAW,GAAE+xI,MAAO,aAApB,EAAkC,KAAlC,CAAR;;AACA,QAAIn0I,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA/B,EAAkC;AAC9BujP,MAAAA,QAAQ,CAACnhP,OAAD,EAAW,GAAE+xI,MAAO,IAAGn0I,MAAO,OAA9B,EAAsC,IAAtC,CAAR;AACH,KAFD,MAGK,IAAIA,MAAM,GAAG,CAAb,EAAgB;AACjBujP,MAAAA,QAAQ,CAACnhP,OAAD,EAAW,GAAE+xI,MAAO,aAApB,EAAkC,IAAlC,CAAR;AACH;AACJ,GAVD;AAWH;AACD;;;AACA,SAASovG,QAAT,CAAkBnhP,OAAlB,EAA2B4pB,SAA3B,EAAsC8mC,KAAtC,EAA6C;AACzC,QAAM5hC,SAAS,GAAG9uB,OAAO,CAAC2pC,aAAR,CAAsB7a,SAAxC;AACA4hC,EAAAA,KAAK,GAAG5hC,SAAS,CAAC7e,GAAV,CAAc2Z,SAAd,CAAH,GAA8BkF,SAAS,CAACE,MAAV,CAAiBpF,SAAjB,CAAnC;AACH;;IACKw3N;AAAN,QAAMA,aAAN,CAAoB;;AAEpBA,EAAAA,aAAa,CAAC96O,IAAd,GAAqB,SAAS+6O,qBAAT,CAA+B76O,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAI46O,aAAV,GAAP;AAAoC,GAA7F;;AACAA,EAAAA,aAAa,CAAChsM,IAAd,GAAqB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEunP;AAAR,GAAxB,CAAnC;AACAA,EAAAA,aAAa,CAAC9rM,IAAd,GAAqB,aAAcl2C,8DAAA,CAAwB;AAAEo2C,IAAAA,OAAO,EAAE,CAAC,CAAC4jM,eAAD,CAAD,EAAoBA,eAApB;AAAX,GAAxB,CAAnC;SAJMgI;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOv6O,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOO,CAPtB;;AAQA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0BgiP,aAA1B,EAAyC;AAAEzrM,IAAAA,YAAY,EAAE,CAACqrM,OAAD,CAAhB;AAA2BxrM,IAAAA,OAAO,EAAE,CAAC4jM,eAAD,CAApC;AAAuDxjM,IAAAA,OAAO,EAAE,CAACorM,OAAD,EAAU5H,eAAV;AAAhE,GAAzC,CAAnD;AAA4L,CAA3M;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMkI,SAAN,CAAgB;AACZ7lP,EAAAA,WAAW,CAACo4F,SAAD;AACX;AACA7zF,EAAAA,OAFW;AAGX;AACA2lC,EAAAA,MAJW,EAIH;AACJ,SAAKkuD,SAAL,GAAiBA,SAAjB;AACA,SAAK7zF,OAAL,GAAeA,OAAf;AACA,SAAK2lC,MAAL,GAAcA,MAAd;AACA;;AACA,SAAKnrC,KAAL,GAAa;AAAE;AAAf;AACH;AACD;;;AACA+mP,EAAAA,OAAO,GAAG;AACN,SAAK1tJ,SAAL,CAAe2tJ,aAAf,CAA6B,IAA7B;AACH;;AAfW,EAkBhB;;AACA;AACA;AACA;AACA;;;AACA,MAAMC,4BAA4B,GAAG;AACjCC,EAAAA,aAAa,EAAE,GADkB;AAEjCC,EAAAA,YAAY,EAAE;AAFmB,CAArC;AAIA;AACA;AACA;AACA;;AACA,MAAMC,wBAAwB,GAAG,GAAjC;AACA;;AACA,MAAMC,mBAAmB,gBAAGjmN,sFAA+B,CAAC;AAAE4R,EAAAA,OAAO,EAAE;AAAX,CAAD,CAA3D;AACA;;AACA,MAAMs0M,iBAAiB,GAAG,CAAC,WAAD,EAAc,YAAd,CAA1B;AACA;;AACA,MAAMC,eAAe,GAAG,CAAC,SAAD,EAAY,YAAZ,EAA0B,UAA1B,EAAsC,aAAtC,CAAxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,cAAN,CAAqB;AACjBvmP,EAAAA,WAAW,CAACwmP,OAAD,EAAUn7M,OAAV,EAAmBqmC,mBAAnB,EAAwCrS,QAAxC,EAAkD;AACzD,SAAKmnL,OAAL,GAAeA,OAAf;AACA,SAAKn7M,OAAL,GAAeA,OAAf;AACA;;AACA,SAAKo7M,cAAL,GAAsB,KAAtB;AACA;;AACA,SAAKC,cAAL,GAAsB,IAAIt0O,GAAJ,EAAtB;AACA;;AACA,SAAKu0O,0BAAL,GAAkC,KAAlC,CARyD,CASzD;;AACA,QAAItnL,QAAQ,CAACz7D,SAAb,EAAwB;AACpB,WAAKmtD,iBAAL,GAAyBhxB,oEAAa,CAAC2xC,mBAAD,CAAtC;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIk1K,EAAAA,YAAY,CAACxsL,CAAD,EAAII,CAAJ,EAAOtwB,MAAM,GAAG,EAAhB,EAAoB;AAC5B,UAAM28M,aAAa,GAAG,KAAKC,cAAL,GAClB,KAAKA,cAAL,IAAuB,KAAK/1L,iBAAL,CAAuBhD,qBAAvB,EAD3B;;AAEA,UAAMg5L,eAAe,GAAG9hP,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB2iO,4BAAlB,CAAd,EAA+D97M,MAAM,CAAC9qC,SAAtE,CAAxB;;AACA,QAAI8qC,MAAM,CAAC88M,QAAX,EAAqB;AACjB5sL,MAAAA,CAAC,GAAGysL,aAAa,CAACr8L,IAAd,GAAqBq8L,aAAa,CAACl7L,KAAd,GAAsB,CAA/C;AACA6O,MAAAA,CAAC,GAAGqsL,aAAa,CAACt8L,GAAd,GAAoBs8L,aAAa,CAACp7L,MAAd,GAAuB,CAA/C;AACH;;AACD,UAAMw7L,MAAM,GAAG/8M,MAAM,CAAC+8M,MAAP,IAAiBC,wBAAwB,CAAC9sL,CAAD,EAAII,CAAJ,EAAOqsL,aAAP,CAAxD;AACA,UAAM51M,OAAO,GAAGmpB,CAAC,GAAGysL,aAAa,CAACr8L,IAAlC;AACA,UAAMtZ,OAAO,GAAGspB,CAAC,GAAGqsL,aAAa,CAACt8L,GAAlC;AACA,UAAMtqD,QAAQ,GAAG8mP,eAAe,CAACd,aAAjC;AACA,UAAMrH,MAAM,GAAG96O,QAAQ,CAAC61B,aAAT,CAAuB,KAAvB,CAAf;AACAilN,IAAAA,MAAM,CAACvrN,SAAP,CAAiB7e,GAAjB,CAAqB,oBAArB;AACAoqO,IAAAA,MAAM,CAAChgP,KAAP,CAAa4rD,IAAb,GAAqB,GAAEvZ,OAAO,GAAGg2M,MAAO,IAAxC;AACArI,IAAAA,MAAM,CAAChgP,KAAP,CAAa2rD,GAAb,GAAoB,GAAErZ,OAAO,GAAG+1M,MAAO,IAAvC;AACArI,IAAAA,MAAM,CAAChgP,KAAP,CAAa6sD,MAAb,GAAuB,GAAEw7L,MAAM,GAAG,CAAE,IAApC;AACArI,IAAAA,MAAM,CAAChgP,KAAP,CAAa+sD,KAAb,GAAsB,GAAEs7L,MAAM,GAAG,CAAE,IAAnC,CAjB4B,CAkB5B;AACA;;AACA,QAAI/8M,MAAM,CAACq0M,KAAP,IAAgB,IAApB,EAA0B;AACtBK,MAAAA,MAAM,CAAChgP,KAAP,CAAam6C,eAAb,GAA+B7O,MAAM,CAACq0M,KAAtC;AACH;;AACDK,IAAAA,MAAM,CAAChgP,KAAP,CAAauoP,kBAAb,GAAmC,GAAElnP,QAAS,IAA9C;;AACA,SAAK8wD,iBAAL,CAAuB72B,WAAvB,CAAmC0kN,MAAnC,EAxB4B,CAyB5B;AACA;;;AACAwI,IAAAA,yBAAyB,CAACxI,MAAD,CAAzB;AACAA,IAAAA,MAAM,CAAChgP,KAAP,CAAaw+D,SAAb,GAAyB,UAAzB,CA5B4B,CA6B5B;;AACA,UAAMiqL,SAAS,GAAG,IAAIxB,SAAJ,CAAc,IAAd,EAAoBjH,MAApB,EAA4B10M,MAA5B,CAAlB;AACAm9M,IAAAA,SAAS,CAACtoP,KAAV,GAAkB;AAAE;AAApB,KA/B4B,CAgC5B;;AACA,SAAK2nP,cAAL,CAAoBlyO,GAApB,CAAwB6yO,SAAxB;;AACA,QAAI,CAACn9M,MAAM,CAACo9M,UAAZ,EAAwB;AACpB,WAAKC,0BAAL,GAAkCF,SAAlC;AACH,KApC2B,CAqC5B;AACA;;;AACA,SAAKG,sBAAL,CAA4B,MAAM;AAC9B,YAAMC,2BAA2B,GAAGJ,SAAS,KAAK,KAAKE,0BAAvD;AACAF,MAAAA,SAAS,CAACtoP,KAAV,GAAkB;AAAE;AAApB,OAF8B,CAG9B;AACA;AACA;AACA;;AACA,UAAI,CAACmrC,MAAM,CAACo9M,UAAR,KAAuB,CAACG,2BAAD,IAAgC,CAAC,KAAKhB,cAA7D,CAAJ,EAAkF;AAC9EY,QAAAA,SAAS,CAACvB,OAAV;AACH;AACJ,KAVD,EAUG7lP,QAVH;;AAWA,WAAOonP,SAAP;AACH;AACD;;;AACAtB,EAAAA,aAAa,CAACsB,SAAD,EAAY;AACrB,UAAMK,SAAS,GAAG,KAAKhB,cAAL,CAAoBjuO,MAApB,CAA2B4uO,SAA3B,CAAlB;;AACA,QAAIA,SAAS,KAAK,KAAKE,0BAAvB,EAAmD;AAC/C,WAAKA,0BAAL,GAAkC,IAAlC;AACH,KAJoB,CAKrB;;;AACA,QAAI,CAAC,KAAKb,cAAL,CAAoBjyO,IAAzB,EAA+B;AAC3B,WAAKqyO,cAAL,GAAsB,IAAtB;AACH,KARoB,CASrB;;;AACA,QAAI,CAACY,SAAL,EAAgB;AACZ;AACH;;AACD,UAAMC,QAAQ,GAAGN,SAAS,CAAC9iP,OAA3B;AACA,UAAMwiP,eAAe,GAAG9hP,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB2iO,4BAAlB,CAAd,EAA+DqB,SAAS,CAACn9M,MAAV,CAAiB9qC,SAAhF,CAAxB;AACAuoP,IAAAA,QAAQ,CAAC/oP,KAAT,CAAeuoP,kBAAf,GAAqC,GAAEJ,eAAe,CAACb,YAAa,IAApE;AACAyB,IAAAA,QAAQ,CAAC/oP,KAAT,CAAegpP,OAAf,GAAyB,GAAzB;AACAP,IAAAA,SAAS,CAACtoP,KAAV,GAAkB;AAAE;AAApB,KAjBqB,CAkBrB;;AACA,SAAKyoP,sBAAL,CAA4B,MAAM;AAC9BH,MAAAA,SAAS,CAACtoP,KAAV,GAAkB;AAAE;AAApB;AACA4oP,MAAAA,QAAQ,CAACt/O,UAAT,CAAoBuyB,WAApB,CAAgC+sN,QAAhC;AACH,KAHD,EAGGZ,eAAe,CAACb,YAHnB;AAIH;AACD;;;AACA2B,EAAAA,UAAU,GAAG;AACT,SAAKnB,cAAL,CAAoB7lP,OAApB,CAA4B+9O,MAAM,IAAIA,MAAM,CAACkH,OAAP,EAAtC;AACH;AACD;;;AACAgC,EAAAA,uBAAuB,GAAG;AACtB,SAAKpB,cAAL,CAAoB7lP,OAApB,CAA4B+9O,MAAM,IAAI;AAClC,UAAI,CAACA,MAAM,CAAC10M,MAAP,CAAco9M,UAAnB,EAA+B;AAC3B1I,QAAAA,MAAM,CAACkH,OAAP;AACH;AACJ,KAJD;AAKH;AACD;;;AACAiC,EAAAA,kBAAkB,CAACr2K,mBAAD,EAAsB;AACpC,UAAMntE,OAAO,GAAGw7B,oEAAa,CAAC2xC,mBAAD,CAA7B;;AACA,QAAI,CAACntE,OAAD,IAAYA,OAAO,KAAK,KAAKyjP,eAAjC,EAAkD;AAC9C;AACH,KAJmC,CAKpC;;;AACA,SAAKC,oBAAL;;AACA,SAAKD,eAAL,GAAuBzjP,OAAvB;;AACA,SAAK2jP,eAAL,CAAqB7B,iBAArB;AACH;AACD;AACJ;AACA;AACA;;;AACI96D,EAAAA,WAAW,CAAC1lL,KAAD,EAAQ;AACf,QAAIA,KAAK,CAACzH,IAAN,KAAe,WAAnB,EAAgC;AAC5B,WAAKq0C,YAAL,CAAkB5sC,KAAlB;AACH,KAFD,MAGK,IAAIA,KAAK,CAACzH,IAAN,KAAe,YAAnB,EAAiC;AAClC,WAAK+pP,aAAL,CAAmBtiP,KAAnB;AACH,KAFI,MAGA;AACD,WAAKuiP,YAAL;AACH,KATc,CAUf;AACA;AACA;;;AACA,QAAI,CAAC,KAAKzB,0BAAV,EAAsC;AAClC,WAAKuB,eAAL,CAAqB5B,eAArB;;AACA,WAAKK,0BAAL,GAAkC,IAAlC;AACH;AACJ;AACD;;;AACAl0M,EAAAA,YAAY,CAAC5sC,KAAD,EAAQ;AAChB;AACA;AACA,UAAMwiP,eAAe,GAAGr3M,kFAA+B,CAACnrC,KAAD,CAAvD;AACA,UAAMyiP,gBAAgB,GAAG,KAAKC,oBAAL,IACrB9xN,IAAI,CAACC,GAAL,KAAa,KAAK6xN,oBAAL,GAA4BpC,wBAD7C;;AAEA,QAAI,CAAC,KAAKK,OAAL,CAAagC,cAAd,IAAgC,CAACH,eAAjC,IAAoD,CAACC,gBAAzD,EAA2E;AACvE,WAAK7B,cAAL,GAAsB,IAAtB;AACA,WAAKG,YAAL,CAAkB/gP,KAAK,CAAC4iP,OAAxB,EAAiC5iP,KAAK,CAAC6iP,OAAvC,EAAgD,KAAKlC,OAAL,CAAamC,YAA7D;AACH;AACJ;AACD;;;AACAR,EAAAA,aAAa,CAACtiP,KAAD,EAAQ;AACjB,QAAI,CAAC,KAAK2gP,OAAL,CAAagC,cAAd,IAAgC,CAACr3M,mFAAgC,CAACtrC,KAAD,CAArE,EAA8E;AAC1E;AACA;AACA;AACA,WAAK0iP,oBAAL,GAA4B9xN,IAAI,CAACC,GAAL,EAA5B;AACA,WAAK+vN,cAAL,GAAsB,IAAtB,CAL0E,CAM1E;AACA;;AACA,YAAMp1M,OAAO,GAAGxrC,KAAK,CAACyrC,cAAtB;;AACA,WAAK,IAAInoC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkoC,OAAO,CAAClvC,MAA5B,EAAoCgH,CAAC,EAArC,EAAyC;AACrC,aAAKy9O,YAAL,CAAkBv1M,OAAO,CAACloC,CAAD,CAAP,CAAWs/O,OAA7B,EAAsCp3M,OAAO,CAACloC,CAAD,CAAP,CAAWu/O,OAAjD,EAA0D,KAAKlC,OAAL,CAAamC,YAAvE;AACH;AACJ;AACJ;AACD;;;AACAP,EAAAA,YAAY,GAAG;AACX,QAAI,CAAC,KAAK3B,cAAV,EAA0B;AACtB;AACH;;AACD,SAAKA,cAAL,GAAsB,KAAtB,CAJW,CAKX;;AACA,SAAKC,cAAL,CAAoB7lP,OAApB,CAA4B+9O,MAAM,IAAI;AAClC;AACA;AACA,YAAMz1M,SAAS,GAAGy1M,MAAM,CAAC7/O,KAAP,KAAiB;AAAE;AAAnB,SACd6/O,MAAM,CAAC10M,MAAP,CAAc0+M,oBAAd,IAAsChK,MAAM,CAAC7/O,KAAP,KAAiB;AAAE;AAD7D;;AAEA,UAAI,CAAC6/O,MAAM,CAAC10M,MAAP,CAAco9M,UAAf,IAA6Bn+M,SAAjC,EAA4C;AACxCy1M,QAAAA,MAAM,CAACkH,OAAP;AACH;AACJ,KARD;AASH;AACD;;;AACA0B,EAAAA,sBAAsB,CAAC1mP,EAAD,EAAKZ,KAAK,GAAG,CAAb,EAAgB;AAClC,SAAKmrC,OAAL,CAAac,iBAAb,CAA+B,MAAMmE,UAAU,CAACxvC,EAAD,EAAKZ,KAAL,CAA/C;AACH;AACD;;;AACAgoP,EAAAA,eAAe,CAACW,UAAD,EAAa;AACxB,SAAKx9M,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACjC08M,MAAAA,UAAU,CAAChoP,OAAX,CAAoBzC,IAAD,IAAU;AACzB,aAAK4pP,eAAL,CAAqBlwN,gBAArB,CAAsC15B,IAAtC,EAA4C,IAA5C,EAAkDgoP,mBAAlD;AACH,OAFD;AAGH,KAJD;AAKH;AACD;;;AACA6B,EAAAA,oBAAoB,GAAG;AACnB,QAAI,KAAKD,eAAT,EAA0B;AACtB3B,MAAAA,iBAAiB,CAACxlP,OAAlB,CAA2BzC,IAAD,IAAU;AAChC,aAAK4pP,eAAL,CAAqBnwN,mBAArB,CAAyCz5B,IAAzC,EAA+C,IAA/C,EAAqDgoP,mBAArD;AACH,OAFD;;AAGA,UAAI,KAAKO,0BAAT,EAAqC;AACjCL,QAAAA,eAAe,CAACzlP,OAAhB,CAAyBzC,IAAD,IAAU;AAC9B,eAAK4pP,eAAL,CAAqBnwN,mBAArB,CAAyCz5B,IAAzC,EAA+C,IAA/C,EAAqDgoP,mBAArD;AACH,SAFD;AAGH;AACJ;AACJ;;AApNgB;AAsNrB;;;AACA,SAASgB,yBAAT,CAAmC7iP,OAAnC,EAA4C;AACxC;AACA;AACA;AACAV,EAAAA,MAAM,CAACyN,gBAAP,CAAwB/M,OAAxB,EAAiCwJ,gBAAjC,CAAkD,SAAlD;AACH;AACD;AACA;AACA;;;AACA,SAASm5O,wBAAT,CAAkC9sL,CAAlC,EAAqCI,CAArC,EAAwCyd,IAAxC,EAA8C;AAC1C,QAAM6wK,KAAK,GAAG/lP,IAAI,CAACC,GAAL,CAASD,IAAI,CAACmZ,GAAL,CAASk+C,CAAC,GAAG6d,IAAI,CAACztB,IAAlB,CAAT,EAAkCznD,IAAI,CAACmZ,GAAL,CAASk+C,CAAC,GAAG6d,IAAI,CAAChrB,KAAlB,CAAlC,CAAd;AACA,QAAM87L,KAAK,GAAGhmP,IAAI,CAACC,GAAL,CAASD,IAAI,CAACmZ,GAAL,CAASs+C,CAAC,GAAGyd,IAAI,CAAC1tB,GAAlB,CAAT,EAAiCxnD,IAAI,CAACmZ,GAAL,CAASs+C,CAAC,GAAGyd,IAAI,CAACnrB,MAAlB,CAAjC,CAAd;AACA,SAAO/pD,IAAI,CAACimP,IAAL,CAAUF,KAAK,GAAGA,KAAR,GAAgBC,KAAK,GAAGA,KAAlC,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAME,yBAAyB,gBAAG,IAAInrN,yDAAJ,CAAmB,2BAAnB,CAAlC;IACM2/M;AAAN,QAAMA,SAAN,CAAgB;AACZz9O,IAAAA,WAAW,CAAC8tC,WAAD,EAAcoE,MAAd,EAAsBmtB,QAAtB,EAAgC6pL,aAAhC,EAA+ChL,cAA/C,EAA+D;AACtE,WAAKpwM,WAAL,GAAmBA,WAAnB;AACA,WAAKowM,cAAL,GAAsBA,cAAtB;AACA;AACR;AACA;AACA;AACA;;AACQ,WAAK+I,MAAL,GAAc,CAAd;AACA,WAAK7+L,SAAL,GAAiB,KAAjB;AACA;;AACA,WAAKrN,cAAL,GAAsB,KAAtB;AACA,WAAKouM,cAAL,GAAsBD,aAAa,IAAI,EAAvC;AACA,WAAKE,eAAL,GAAuB,IAAI7C,cAAJ,CAAmB,IAAnB,EAAyBr0M,MAAzB,EAAiCpE,WAAjC,EAA8CuxB,QAA9C,CAAvB;AACH;AACD;AACJ;AACA;AACA;;;AACgB,QAARp5D,QAAQ,GAAG;AAAE,aAAO,KAAKmiD,SAAZ;AAAwB;;AAC7B,QAARniD,QAAQ,CAACW,KAAD,EAAQ;AAChB,UAAIA,KAAJ,EAAW;AACP,aAAKkhP,uBAAL;AACH;;AACD,WAAK1/L,SAAL,GAAiBxhD,KAAjB;;AACA,WAAKyiP,4BAAL;AACH;AACD;AACJ;AACA;AACA;;;AACe,QAAPprP,OAAO,GAAG;AAAE,aAAO,KAAKqrP,QAAL,IAAiB,KAAKx7M,WAAL,CAAiBI,aAAzC;AAAyD;;AAC9D,QAAPjwC,OAAO,CAACA,OAAD,EAAU;AACjB,WAAKqrP,QAAL,GAAgBrrP,OAAhB;;AACA,WAAKorP,4BAAL;AACH;;AACD/8K,IAAAA,QAAQ,GAAG;AACP,WAAKvxB,cAAL,GAAsB,IAAtB;;AACA,WAAKsuM,4BAAL;AACH;;AACDrmN,IAAAA,WAAW,GAAG;AACV,WAAKomN,eAAL,CAAqBnB,oBAArB;AACH;AACD;;;AACAJ,IAAAA,UAAU,GAAG;AACT,WAAKuB,eAAL,CAAqBvB,UAArB;AACH;AACD;;;AACAC,IAAAA,uBAAuB,GAAG;AACtB,WAAKsB,eAAL,CAAqBtB,uBAArB;AACH;AACD;AACJ;AACA;AACA;;;AACoB,QAAZa,YAAY,GAAG;AACf,aAAO;AACH3B,QAAAA,QAAQ,EAAE,KAAKA,QADZ;AAEHC,QAAAA,MAAM,EAAE,KAAKA,MAFV;AAGH1I,QAAAA,KAAK,EAAE,KAAKA,KAHT;AAIHn/O,QAAAA,SAAS,EAAE6F,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB,KAAK8lO,cAAL,CAAoB/pP,SAAtC,CAAd,EAAiE,KAAK8+O,cAAL,KAAwB,gBAAxB,GAA2C;AAAE+H,UAAAA,aAAa,EAAE,CAAjB;AAAoBC,UAAAA,YAAY,EAAE;AAAlC,SAA3C,GAAmF,EAApJ,CAAd,EAAwK,KAAK9mP,SAA7K,CAJR;AAKHwpP,QAAAA,oBAAoB,EAAE,KAAKO,cAAL,CAAoBP;AALvC,OAAP;AAOH;AACD;AACJ;AACA;AACA;;;AACsB,QAAdJ,cAAc,GAAG;AACjB,aAAO,KAAKviP,QAAL,IAAiB,CAAC,CAAC,KAAKkjP,cAAL,CAAoBljP,QAA9C;AACH;AACD;;;AACAojP,IAAAA,4BAA4B,GAAG;AAC3B,UAAI,CAAC,KAAKpjP,QAAN,IAAkB,KAAK80C,cAA3B,EAA2C;AACvC,aAAKquM,eAAL,CAAqBrB,kBAArB,CAAwC,KAAK9pP,OAA7C;AACH;AACJ;AACD;;;AACAsrP,IAAAA,MAAM,CAACC,SAAD,EAAYhvL,CAAC,GAAG,CAAhB,EAAmBtwB,MAAnB,EAA2B;AAC7B,UAAI,OAAOs/M,SAAP,KAAqB,QAAzB,EAAmC;AAC/B,eAAO,KAAKJ,eAAL,CAAqBxC,YAArB,CAAkC4C,SAAlC,EAA6ChvL,CAA7C,EAAgDv1D,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB,KAAKslO,YAAvB,CAAd,EAAoDz+M,MAApD,CAAhD,CAAP;AACH,OAFD,MAGK;AACD,eAAO,KAAKk/M,eAAL,CAAqBxC,YAArB,CAAkC,CAAlC,EAAqC,CAArC,EAAwC3hP,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB,KAAKslO,YAAvB,CAAd,EAAoDa,SAApD,CAAxC,CAAP;AACH;AACJ;;AAtFW;;AAwFhB/L,EAAAA,SAAS,CAAC5yO,IAAV,GAAiB,SAAS4+O,iBAAT,CAA2B1+O,CAA3B,EAA8B;AAAE,WAAO,KAAKA,CAAC,IAAI0yO,SAAV,EAAqB95O,+DAAA,CAAyBA,qDAAzB,CAArB,EAAkEA,+DAAA,CAAyBA,iDAAzB,CAAlE,EAA2GA,+DAAA,CAAyB+8B,2DAAzB,CAA3G,EAAsJ/8B,+DAAA,CAAyBslP,yBAAzB,EAAoD,CAApD,CAAtJ,EAA8MtlP,+DAAA,CAAyBi6O,wFAAzB,EAAgD,CAAhD,CAA9M,CAAP;AAA2Q,GAA5T;;AACAH,EAAAA,SAAS,CAAC5uM,IAAV,GAAiB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEq/O,SAAR;AAAmB1uM,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,YAAL,EAAmB,EAAnB,CAAD,EAAyB,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,CAAzB,CAA9B;AAA+EgoC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,YAAJ,CAA1F;AAA6G57B,IAAAA,QAAQ,EAAE,CAAvH;AAA0HC,IAAAA,YAAY,EAAE,SAASsuM,sBAAT,CAAgCpuM,EAAhC,EAAoCxgC,GAApC,EAAyC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC/O33C,QAAAA,yDAAA,CAAmB,sBAAnB,EAA2CmX,GAAG,CAAC6uO,SAA/C;AACH;AAAE,KAFiD;AAE/C36M,IAAAA,MAAM,EAAE;AAAEi4M,MAAAA,MAAM,EAAE,CAAC,iBAAD,EAAoB,QAApB,CAAV;AAAyChhP,MAAAA,QAAQ,EAAE,CAAC,mBAAD,EAAsB,UAAtB,CAAnD;AAAsFhI,MAAAA,OAAO,EAAE,CAAC,kBAAD,EAAqB,SAArB,CAA/F;AAAgIsgP,MAAAA,KAAK,EAAE,CAAC,gBAAD,EAAmB,OAAnB,CAAvI;AAAoKoL,MAAAA,SAAS,EAAE,CAAC,oBAAD,EAAuB,WAAvB,CAA/K;AAAoN3C,MAAAA,QAAQ,EAAE,CAAC,mBAAD,EAAsB,UAAtB,CAA9N;AAAiQ5nP,MAAAA,SAAS,EAAE,CAAC,oBAAD,EAAuB,WAAvB;AAA5Q,KAFuC;AAE4Q6vC,IAAAA,QAAQ,EAAE,CAAC,WAAD;AAFtR,GAAzB,CAA/B;SAzFMwuM;;;AA4GN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOryO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAyCC,CAzChB;AA2CA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMsyO;AAAN,QAAMA,eAAN,CAAsB;;AAEtBA,EAAAA,eAAe,CAAC7yO,IAAhB,GAAuB,SAAS++O,uBAAT,CAAiC7+O,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAI2yO,eAAV,GAAP;AAAsC,GAAnG;;AACAA,EAAAA,eAAe,CAAC/jM,IAAhB,GAAuB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEs/O;AAAR,GAAxB,CAArC;AACAA,EAAAA,eAAe,CAAC7jM,IAAhB,GAAuB,aAAcl2C,8DAAA,CAAwB;AAAEo2C,IAAAA,OAAO,EAAE,CAAC,CAAC4jM,eAAD,EAAkBr9M,iEAAlB,CAAD,EAAoCq9M,eAApC;AAAX,GAAxB,CAArC;SAJMD;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOtyO,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOO,CAPtB;;AAQA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0B+5O,eAA1B,EAA2C;AAAExjM,IAAAA,YAAY,EAAE,YAAY;AAAE,aAAO,CAACujM,SAAD,CAAP;AAAqB,KAAnD;AAAqD1jM,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAAC4jM,eAAD,EAAkBr9M,iEAAlB,CAAP;AAA2C,KAAvH;AAAyH6Z,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACsjM,SAAD,EAAYE,eAAZ,CAAP;AAAsC;AAAtL,GAA3C,CAAnD;AAA0R,CAAzS;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMkM;AAAN,QAAMA,iBAAN,CAAwB;AACpB7pP,IAAAA,WAAW,CAACk+O,cAAD,EAAiB;AACxB,WAAKA,cAAL,GAAsBA,cAAtB;AACA;;AACA,WAAKn/O,KAAL,GAAa,WAAb;AACA;;AACA,WAAKkH,QAAL,GAAgB,KAAhB;AACH;;AAPmB;;AASxB4jP,EAAAA,iBAAiB,CAACh/O,IAAlB,GAAyB,SAASi/O,yBAAT,CAAmC/+O,CAAnC,EAAsC;AAAE,WAAO,KAAKA,CAAC,IAAI8+O,iBAAV,EAA6BlmP,+DAAA,CAAyBi6O,wFAAzB,EAAgD,CAAhD,CAA7B,CAAP;AAA0F,GAA3J;;AACAiM,EAAAA,iBAAiB,CAACvzK,IAAlB,GAAyB,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEyrP,iBAAR;AAA2B96M,IAAAA,SAAS,EAAE,CAAC,CAAC,qBAAD,CAAD,CAAtC;AAAiEgoC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,qBAAJ,CAA5E;AAAwG57B,IAAAA,QAAQ,EAAE,CAAlH;AAAqHC,IAAAA,YAAY,EAAE,SAAS2uM,8BAAT,CAAwCzuM,EAAxC,EAA4CxgC,GAA5C,EAAiD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC1P33C,QAAAA,yDAAA,CAAmB,mCAAnB,EAAwDmX,GAAG,CAAC/b,KAAJ,KAAc,eAAtE,EAAuF,6BAAvF,EAAsH+b,GAAG,CAAC/b,KAAJ,KAAc,SAApI,EAA+I,8BAA/I,EAA+K+b,GAAG,CAAC7U,QAAnL,EAA6L,yBAA7L,EAAwN6U,GAAG,CAACojO,cAAJ,KAAuB,gBAA/O;AACH;AAAE,KAFyD;AAEvDlvM,IAAAA,MAAM,EAAE;AAAEjwC,MAAAA,KAAK,EAAE,OAAT;AAAkBkH,MAAAA,QAAQ,EAAE;AAA5B,KAF+C;AAELkxE,IAAAA,KAAK,EAAE,CAFF;AAEKC,IAAAA,IAAI,EAAE,CAFX;AAEczN,IAAAA,QAAQ,EAAE,SAASqgL,0BAAT,CAAoC1uM,EAApC,EAAwCxgC,GAAxC,EAA6C,CAAG,CAFxE;AAE0Etc,IAAAA,MAAM,EAAE,CAAC,whCAAD,CAFlF;AAE8mCs5E,IAAAA,aAAa,EAAE,CAF7nC;AAEgoCC,IAAAA,eAAe,EAAE;AAFjpC,GAAzB,CAAvC;SAVM8xK;;;AAoBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOz+O,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAyBC,CAzBhB;AA2BA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM6+O;AAAN,QAAMA,uBAAN,CAA8B;;AAE9BA,EAAAA,uBAAuB,CAACp/O,IAAxB,GAA+B,SAASq/O,+BAAT,CAAyCn/O,CAAzC,EAA4C;AAAE,WAAO,KAAKA,CAAC,IAAIk/O,uBAAV,GAAP;AAA8C,GAA3H;;AACAA,EAAAA,uBAAuB,CAACtwM,IAAxB,GAA+B,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAE6rP;AAAR,GAAxB,CAA7C;AACAA,EAAAA,uBAAuB,CAACpwM,IAAxB,GAA+B,aAAcl2C,8DAAA,CAAwB;AAAEo2C,IAAAA,OAAO,EAAE,CAAC,CAAC4jM,eAAD,CAAD;AAAX,GAAxB,CAA7C;SAJMsM;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO7+O,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOO,CAPtB;;AAQA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0BsmP,uBAA1B,EAAmD;AAAE/vM,IAAAA,YAAY,EAAE,CAAC2vM,iBAAD,CAAhB;AAAqC9vM,IAAAA,OAAO,EAAE,CAAC4jM,eAAD,CAA9C;AAAiExjM,IAAAA,OAAO,EAAE,CAAC0vM,iBAAD;AAA1E,GAAnD,CAAnD;AAAyM,CAAxN;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMM,2BAA2B,gBAAG,IAAIrsN,yDAAJ,CAAmB,6BAAnB,CAApC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA,MAAMssN,qBAAqB,gBAAG7M,aAAa,CAAC,MAAM,EAAP,CAA3C,EAEA;;;AACA,IAAI8M,wBAAwB,GAAG,CAA/B;;IACMC;AAAN,QAAMA,gBAAN,SAA+BF,qBAA/B,CAAqD;AACjDpqP,IAAAA,WAAW,CAAC+pB,MAAD,EAAS;AAChB,UAAIsQ,EAAJ;;AACA;AACA;;AACA,WAAKkwN,QAAL,GAAiB,sBAAqBF,wBAAwB,EAAG,EAAjE;AACA,WAAKG,MAAL,GAAc,CAACnwN,EAAE,GAAGtQ,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAAC0gO,WAA7D,MAA8E,IAA9E,IAAsFpwN,EAAE,KAAK,KAAK,CAAlG,GAAsGA,EAAtG,GAA2G,KAAzH;AACH;;AAPgD;;AASrDiwN,EAAAA,gBAAgB,CAACz/O,IAAjB,GAAwB,SAAS6/O,wBAAT,CAAkC3/O,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAIu/O,gBAAV,EAA4B3mP,+DAAA,CAAyBwmP,2BAAzB,EAAsD,CAAtD,CAA5B,CAAP;AAA+F,GAA9J;;AACAG,EAAAA,gBAAgB,CAACz7M,IAAjB,GAAwB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEksP,gBAAR;AAA0Bt7M,IAAAA,MAAM,EAAE;AAAE+wM,MAAAA,KAAK,EAAE;AAAT,KAAlC;AAAsD7wM,IAAAA,QAAQ,EAAE,CAACvrC,wEAAD;AAAhE,GAAzB,CAAtC;SAVM2mP;;;AAiBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOl/O,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AASC,CAThB;AAUA;AACA;AACA;AACA;AACA;;;AACA,MAAMu/O,YAAY,gBAAG,IAAI7sN,yDAAJ,CAAmB,aAAnB,CAArB;AACA;AACA;AACA;;IACM8sN;AAAN,QAAMA,WAAN,SAA0BN,gBAA1B,CAA2C;;AAE3CM,EAAAA,WAAW,CAAC//O,IAAZ,GAAmB,aAAc,YAAY;AAAE,QAAIggP,wBAAJ;AAA8B,WAAO,SAASC,mBAAT,CAA6B//O,CAA7B,EAAgC;AAAE,aAAO,CAAC8/O,wBAAwB,KAAKA,wBAAwB,GAAGlnP,mEAAA,CAA6BinP,WAA7B,CAAhC,CAAzB,EAAqG7/O,CAAC,IAAI6/O,WAA1G,CAAP;AAAgI,KAAzK;AAA4K,GAAxN,EAAjC;;AACAA,EAAAA,WAAW,CAACt0K,IAAZ,GAAmB,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEwsP,WAAR;AAAqB77M,IAAAA,SAAS,EAAE,CAAC,CAAC,cAAD,CAAD,CAAhC;AAAoDgoC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,cAAJ,CAA/D;AAAoF57B,IAAAA,QAAQ,EAAE,CAA9F;AAAiGC,IAAAA,YAAY,EAAE,SAAS2vM,wBAAT,CAAkCzvM,EAAlC,EAAsCxgC,GAAtC,EAA2C;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC1N33C,QAAAA,yDAAA,CAAmB,MAAnB,EAA2BmX,GAAG,CAAC0vO,MAAJ,GAAa,IAAb,GAAoB,OAA/C,EAAwD,eAAxD,EAAyE1vO,GAAG,CAAC0vO,MAAJ,GAAa,IAAb,GAAoB1vO,GAAG,CAAC7U,QAAJ,CAAahC,QAAb,EAA7F,EAAsH,iBAAtH,EAAyI6W,GAAG,CAAC0vO,MAAJ,GAAa,IAAb,GAAoB1vO,GAAG,CAACyvO,QAAjK;AACA5mP,QAAAA,yDAAA,CAAmB,uBAAnB,EAA4CmX,GAAG,CAAC7U,QAAhD;AACH;AAAE,KAHmD;AAGjD+oC,IAAAA,MAAM,EAAE;AAAE/oC,MAAAA,QAAQ,EAAE;AAAZ,KAHyC;AAGfgpC,IAAAA,QAAQ,EAAE,CAAC,aAAD,CAHK;AAGYC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC;AAAE83C,MAAAA,OAAO,EAAEkvM,YAAX;AAAyBjvM,MAAAA,WAAW,EAAEkvM;AAAtC,KAAD,CAA1B,CAAD,EAAmFjnP,wEAAnF,CAHtB;AAG6IuzE,IAAAA,kBAAkB,EAAEhJ,GAHjK;AAGsKiJ,IAAAA,KAAK,EAAE,CAH7K;AAGgLC,IAAAA,IAAI,EAAE,CAHtL;AAGyLC,IAAAA,MAAM,EAAE,CAAC,CAAC,aAAD,EAAgB,MAAhB,EAAwB,CAAxB,EAA2B,oBAA3B,EAAiD,CAAjD,EAAoD,IAApD,CAAD,CAHjM;AAG8P1N,IAAAA,QAAQ,EAAE,SAASqhL,oBAAT,CAA8B1vM,EAA9B,EAAkCxgC,GAAlC,EAAuC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC/W33C,QAAAA,6DAAA,CAAuBsqE,GAAvB;AACAtqE,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;AACAA,QAAAA,oDAAA,CAAc,CAAd;AACAA,QAAAA,0DAAA,CAAoB,CAApB;AACAA,QAAAA,0DAAA;AACAA,QAAAA,0DAAA,CAAoB,CAApB,EAAuB,CAAvB;AACH;;AAAC,UAAI23C,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,wDAAA,CAAkB,IAAlB,EAAwBmX,GAAG,CAACyvO,QAA5B;AACA5mP,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,gEAAA,CAA0B,EAA1B,EAA8BmX,GAAG,CAACilO,KAAlC,EAAyC,GAAzC;AACH;AAAE,KAdmD;AAcjDvhP,IAAAA,MAAM,EAAE,CAAC,mkBAAD,CAdyC;AAc8hBs5E,IAAAA,aAAa,EAAE,CAd7iB;AAcgjBC,IAAAA,eAAe,EAAE;AAdjkB,GAAzB,CAAjC;SAHM6yK;;;AAkBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOx/O,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAmBO,CAnBtB;AAqBA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,IAAI6/O,gBAAgB,GAAG,CAAvB;AACA;;AACA,MAAMC,wBAAN,CAA+B;AAC3BlrP,EAAAA,WAAW;AACX;AACA2/C,EAAAA,MAFW;AAGX;AACAwrM,EAAAA,WAAW,GAAG,KAJH,EAIU;AACjB,SAAKxrM,MAAL,GAAcA,MAAd;AACA,SAAKwrM,WAAL,GAAmBA,WAAnB;AACH;;AAR0B;;IAUzBC;AAAN,QAAMA,cAAN,CAAqB;AACjBprP,IAAAA,WAAW,CAACg1B,QAAD,EAAW2+C,kBAAX,EAA+BwsF,OAA/B,EAAwC1hK,KAAxC,EAA+C;AACtD,WAAKu2B,QAAL,GAAgBA,QAAhB;AACA,WAAK2+C,kBAAL,GAA0BA,kBAA1B;AACA,WAAKwsF,OAAL,GAAeA,OAAf;AACA,WAAK1hK,KAAL,GAAaA,KAAb;AACA,WAAKugD,SAAL,GAAiB,KAAjB;AACA,WAAKqsM,OAAL,GAAe,KAAf;AACA,WAAKjjM,SAAL,GAAiB,KAAjB;AACA,WAAKkjM,oBAAL,GAA4B,EAA5B;AACA;;AACA,WAAKlkP,EAAL,GAAW,cAAa6jP,gBAAgB,EAAG,EAA3C;AACA;AACA;;AACA,WAAKM,iBAAL,GAAyB,IAAIvtN,uDAAJ,EAAzB;AACA;;AACA,WAAKwtN,aAAL,GAAqB,IAAIrtN,yCAAJ,EAArB;AACH;AACD;;;AACY,QAARstN,QAAQ,GAAG;AAAE,aAAO,KAAKtrF,OAAL,IAAgB,KAAKA,OAAL,CAAasrF,QAApC;AAA+C;AAChE;;;AACY,QAAR1sM,QAAQ,GAAG;AAAE,aAAO,KAAKC,SAAZ;AAAwB;AACzC;;;AACY,QAAR/4C,QAAQ,GAAG;AAAE,aAAQ,KAAKxH,KAAL,IAAc,KAAKA,KAAL,CAAWwH,QAA1B,IAAuC,KAAKmiD,SAAnD;AAA+D;;AACpE,QAARniD,QAAQ,CAACW,KAAD,EAAQ;AAAE,WAAKwhD,SAAL,GAAiBtoB,4EAAqB,CAACl5B,KAAD,CAAtC;AAAgD;AACtE;;;AACiB,QAAb63O,aAAa,GAAG;AAAE,aAAO,KAAKt+E,OAAL,IAAgB,KAAKA,OAAL,CAAas+E,aAApC;AAAoD;AAC1E;AACJ;AACA;AACA;AACA;AACA;;;AACc,QAANiN,MAAM,GAAG;AACT,aAAO,KAAKL,OAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACiB,QAATM,SAAS,GAAG;AACZ;AACA,aAAO,CAAC,KAAKrN,eAAL,GAAuB1kN,WAAvB,IAAsC,EAAvC,EAA2CzY,IAA3C,EAAP;AACH;AACD;;;AACA89B,IAAAA,MAAM,GAAG;AACL,UAAI,CAAC,KAAKD,SAAV,EAAqB;AACjB,aAAKA,SAAL,GAAiB,IAAjB;;AACA,aAAK20B,kBAAL,CAAwBwC,YAAxB;;AACA,aAAKy1K,yBAAL;AACH;AACJ;AACD;;;AACAxsM,IAAAA,QAAQ,GAAG;AACP,UAAI,KAAKJ,SAAT,EAAoB;AAChB,aAAKA,SAAL,GAAiB,KAAjB;;AACA,aAAK20B,kBAAL,CAAwBwC,YAAxB;;AACA,aAAKy1K,yBAAL;AACH;AACJ;AACD;;;AACAhjN,IAAAA,KAAK,CAACH,OAAD,EAAUpqC,OAAV,EAAmB;AACpB;AACA;AACA,YAAMkG,OAAO,GAAG,KAAK+5O,eAAL,EAAhB;;AACA,UAAI,OAAO/5O,OAAO,CAACqkC,KAAf,KAAyB,UAA7B,EAAyC;AACrCrkC,QAAAA,OAAO,CAACqkC,KAAR,CAAcvqC,OAAd;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACIiqC,IAAAA,eAAe,GAAG;AACd,UAAI,CAAC,KAAK+iN,OAAV,EAAmB;AACf,aAAKA,OAAL,GAAe,IAAf;;AACA,aAAK13K,kBAAL,CAAwBwC,YAAxB;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACI9tC,IAAAA,iBAAiB,GAAG;AAChB,UAAI,KAAKgjN,OAAT,EAAkB;AACd,aAAKA,OAAL,GAAe,KAAf;;AACA,aAAK13K,kBAAL,CAAwBwC,YAAxB;AACH;AACJ;AACD;;;AACAjwC,IAAAA,QAAQ,GAAG;AACP,aAAO,KAAKylN,SAAZ;AACH;AACD;;;AACAE,IAAAA,cAAc,CAAChmP,KAAD,EAAQ;AAClB,UAAI,CAACA,KAAK,CAACihC,OAAN,KAAkB0Z,yDAAlB,IAA2B36C,KAAK,CAACihC,OAAN,KAAkB8Z,yDAA9C,KAAwD,CAACriB,sEAAc,CAAC14B,KAAD,CAA3E,EAAoF;AAChF,aAAKimP,qBAAL,GADgF,CAEhF;;;AACAjmP,QAAAA,KAAK,CAAC6hC,cAAN;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACIokN,IAAAA,qBAAqB,GAAG;AACpB,UAAI,CAAC,KAAK7lP,QAAV,EAAoB;AAChB,aAAK+4C,SAAL,GAAiB,KAAKysM,QAAL,GAAgB,CAAC,KAAKzsM,SAAtB,GAAkC,IAAnD;;AACA,aAAK20B,kBAAL,CAAwBwC,YAAxB;;AACA,aAAKy1K,yBAAL,CAA+B,IAA/B;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIG,IAAAA,gBAAgB,GAAG;AACf,aAAO,KAAKhtM,QAAL,KAAkB,KAAK0sM,QAAL,GAAgB,KAAhB,GAAwB,IAA1C,CAAP;AACH;AACD;;;AACAO,IAAAA,YAAY,GAAG;AACX,aAAO,KAAK/lP,QAAL,GAAgB,IAAhB,GAAuB,GAA9B;AACH;AACD;;;AACAq4O,IAAAA,eAAe,GAAG;AACd,aAAO,KAAKtpN,QAAL,CAAckZ,aAArB;AACH;;AACDi+E,IAAAA,kBAAkB,GAAG;AACjB;AACA;AACA;AACA;AACA;AACA,UAAI,KAAKntE,SAAT,EAAoB;AAChB,cAAM2sM,SAAS,GAAG,KAAKA,SAAvB;;AACA,YAAIA,SAAS,KAAK,KAAKL,oBAAvB,EAA6C;AACzC,eAAKA,oBAAL,GAA4BK,SAA5B;;AACA,eAAKH,aAAL,CAAmB/7O,IAAnB;AACH;AACJ;AACJ;;AACDuzB,IAAAA,WAAW,GAAG;AACV,WAAKwoN,aAAL,CAAmB14M,QAAnB;AACH;AACD;;;AACA84M,IAAAA,yBAAyB,CAACT,WAAW,GAAG,KAAf,EAAsB;AAC3C,WAAKI,iBAAL,CAAuBjzM,IAAvB,CAA4B,IAAI4yM,wBAAJ,CAA6B,IAA7B,EAAmCC,WAAnC,CAA5B;AACH;;AAvJgB;;AAyJrBC,EAAAA,cAAc,CAACvgP,IAAf,GAAsB,SAASohP,sBAAT,CAAgClhP,CAAhC,EAAmC;AAAE,WAAO,KAAKA,CAAC,IAAIqgP,cAAV,EAA0BznP,+DAAA,CAAyBA,qDAAzB,CAA1B,EAAuEA,+DAAA,CAAyBA,4DAAzB,CAAvE,EAA2HA,+DAAA,CAAyB2C,SAAzB,CAA3H,EAAgK3C,+DAAA,CAAyB2mP,gBAAzB,CAAhK,CAAP;AAAqN,GAAhR;;AACAc,EAAAA,cAAc,CAACv8M,IAAf,GAAsB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEgtP,cAAR;AAAwBp8M,IAAAA,MAAM,EAAE;AAAE5nC,MAAAA,EAAE,EAAE,IAAN;AAAYnB,MAAAA,QAAQ,EAAE,UAAtB;AAAkCW,MAAAA,KAAK,EAAE;AAAzC,KAAhC;AAAoF4xC,IAAAA,OAAO,EAAE;AAAE+yM,MAAAA,iBAAiB,EAAE;AAArB;AAA7F,GAAzB,CAApC;SA1JMH;;;AAuKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOhgP,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAUC,CAVhB;AAWA;AACA;AACA;;;IACM8gP;AAAN,QAAMA,SAAN,SAAwBd,cAAxB,CAAuC;AACnCprP,IAAAA,WAAW,CAACuE,OAAD,EAAUgxL,iBAAV,EAA6BxrK,MAA7B,EAAqCtrB,KAArC,EAA4C;AACnD,YAAM8F,OAAN,EAAegxL,iBAAf,EAAkCxrK,MAAlC,EAA0CtrB,KAA1C;AACH;;AAHkC;;AAKvCytP,EAAAA,SAAS,CAACrhP,IAAV,GAAiB,SAASshP,iBAAT,CAA2BphP,CAA3B,EAA8B;AAAE,WAAO,KAAKA,CAAC,IAAImhP,SAAV,EAAqBvoP,+DAAA,CAAyBA,qDAAzB,CAArB,EAAkEA,+DAAA,CAAyBA,4DAAzB,CAAlE,EAAsHA,+DAAA,CAAyBwmP,2BAAzB,EAAsD,CAAtD,CAAtH,EAAgLxmP,+DAAA,CAAyBgnP,YAAzB,EAAuC,CAAvC,CAAhL,CAAP;AAAoO,GAArR;;AACAuB,EAAAA,SAAS,CAAC51K,IAAV,GAAiB,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE8tP,SAAR;AAAmBn9M,IAAAA,SAAS,EAAE,CAAC,CAAC,YAAD,CAAD,CAA9B;AAAgDgoC,IAAAA,SAAS,EAAE,CAAC,MAAD,EAAS,QAAT,EAAmB,CAAnB,EAAsB,YAAtB,EAAoC,qBAApC,CAA3D;AAAuH57B,IAAAA,QAAQ,EAAE,EAAjI;AAAqIC,IAAAA,YAAY,EAAE,SAASgxM,sBAAT,CAAgC9wM,EAAhC,EAAoCxgC,GAApC,EAAyC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC1P33C,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAAS0oP,kCAAT,GAA8C;AAAE,iBAAOvxO,GAAG,CAACgxO,qBAAJ,EAAP;AAAqC,SAAhH,EAAkH,SAAlH,EAA6H,SAASQ,oCAAT,CAA8C7zB,MAA9C,EAAsD;AAAE,iBAAO39M,GAAG,CAAC+wO,cAAJ,CAAmBpzB,MAAnB,CAAP;AAAoC,SAAzN;AACH;;AAAC,UAAIn9K,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,4DAAA,CAAsB,IAAtB,EAA4BmX,GAAG,CAAC1T,EAAhC;AACAzD,QAAAA,yDAAA,CAAmB,UAAnB,EAA+BmX,GAAG,CAACkxO,YAAJ,EAA/B,EAAmD,eAAnD,EAAoElxO,GAAG,CAACixO,gBAAJ,EAApE,EAA4F,eAA5F,EAA6GjxO,GAAG,CAAC7U,QAAJ,CAAahC,QAAb,EAA7G;AACAN,QAAAA,yDAAA,CAAmB,cAAnB,EAAmCmX,GAAG,CAACikC,QAAvC,EAAiD,qBAAjD,EAAwEjkC,GAAG,CAAC2wO,QAA5E,EAAsF,YAAtF,EAAoG3wO,GAAG,CAAC4wO,MAAxG,EAAgH,qBAAhH,EAAuI5wO,GAAG,CAAC7U,QAA3I;AACH;AAAE,KANiD;AAM/CgpC,IAAAA,QAAQ,EAAE,CAAC,WAAD,CANqC;AAMtBC,IAAAA,QAAQ,EAAE,CAACvrC,wEAAD,CANY;AAMyBuzE,IAAAA,kBAAkB,EAAE2mK,GAN7C;AAMkD1mK,IAAAA,KAAK,EAAE,CANzD;AAM4DC,IAAAA,IAAI,EAAE,CANlE;AAMqEC,IAAAA,MAAM,EAAE,CAAC,CAAC,OAAD,EAAU,4BAAV,EAAwC,CAAxC,EAA2C,OAA3C,EAAoD,UAApD,EAAgE,CAAhE,EAAmE,MAAnE,CAAD,EAA6E,CAAC,CAAD,EAAI,iBAAJ,CAA7E,EAAqG,CAAC,OAAD,EAAU,qBAAV,EAAiC,CAAjC,EAAoC,MAApC,CAArG,EAAkJ,CAAC,YAAD,EAAe,EAAf,EAAmB,CAAnB,EAAsB,mBAAtB,EAA2C,CAA3C,EAA8C,kBAA9C,EAAkE,mBAAlE,CAAlJ,EAA0O,CAAC,CAAD,EAAI,4BAAJ,EAAkC,CAAlC,EAAqC,OAArC,EAA8C,UAA9C,CAA1O,EAAqS,CAAC,CAAD,EAAI,qBAAJ,CAArS,CAN7E;AAM+Y1N,IAAAA,QAAQ,EAAE,SAAS4iL,kBAAT,CAA4BjxM,EAA5B,EAAgCxgC,GAAhC,EAAqC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC5f33C,QAAAA,6DAAA;AACAA,QAAAA,wDAAA,CAAkB,CAAlB,EAAqBg8O,wCAArB,EAA+D,CAA/D,EAAkE,CAAlE,EAAqE,qBAArE,EAA4F,CAA5F;AACAh8O,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;AACAA,QAAAA,0DAAA,CAAoB,CAApB;AACAA,QAAAA,0DAAA;AACAA,QAAAA,wDAAA,CAAkB,CAAlB,EAAqBk8O,yBAArB,EAAgD,CAAhD,EAAmD,CAAnD,EAAsD,MAAtD,EAA8D,CAA9D;AACAl8O,QAAAA,uDAAA,CAAiB,CAAjB,EAAoB,KAApB,EAA2B,CAA3B;AACH;;AAAC,UAAI23C,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,wDAAA,CAAkB,MAAlB,EAA0BmX,GAAG,CAAC2wO,QAA9B;AACA9nP,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,MAAlB,EAA0BmX,GAAG,CAACrc,KAAJ,IAAaqc,GAAG,CAACrc,KAAJ,CAAU+rP,MAAjD;AACA7mP,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,kBAAlB,EAAsCmX,GAAG,CAACwjO,eAAJ,EAAtC,EAA6D,mBAA7D,EAAkFxjO,GAAG,CAAC7U,QAAJ,IAAgB6U,GAAG,CAAC2jO,aAAtG;AACH;AAAE,KApBiD;AAoB/CrhI,IAAAA,UAAU,EAAE,CAACp0D,iDAAD,EAAcy0L,SAAd,EAAyBoM,iBAAzB,CApBmC;AAoBUrrP,IAAAA,MAAM,EAAE,CAAC,w4CAAD,CApBlB;AAoB85Cs5E,IAAAA,aAAa,EAAE,CApB76C;AAoBg7CC,IAAAA,eAAe,EAAE;AApBj8C,GAAzB,CAA/B;SANMm0K;;;AAiCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO9gP,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAkCe,CAlC9B;AAmCA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASohP,6BAAT,CAAuCC,WAAvC,EAAoDpuP,OAApD,EAA6DquP,YAA7D,EAA2E;AACvE,MAAIA,YAAY,CAACvqP,MAAjB,EAAyB;AACrB,QAAIwqP,YAAY,GAAGtuP,OAAO,CAAC+mC,OAAR,EAAnB;AACA,QAAIkvD,MAAM,GAAGo4J,YAAY,CAACtnN,OAAb,EAAb;AACA,QAAIwnN,YAAY,GAAG,CAAnB;;AACA,SAAK,IAAIzjP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsjP,WAAW,GAAG,CAAlC,EAAqCtjP,CAAC,EAAtC,EAA0C;AACtC,UAAIwjP,YAAY,CAACxjP,CAAD,CAAZ,CAAgB1K,KAAhB,IAAyBkuP,YAAY,CAACxjP,CAAD,CAAZ,CAAgB1K,KAAhB,KAA0B61F,MAAM,CAACs4J,YAAD,CAA7D,EAA6E;AACzEA,QAAAA,YAAY;AACf;AACJ;;AACD,WAAOA,YAAP;AACH;;AACD,SAAO,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,wBAAT,CAAkCC,YAAlC,EAAgDC,YAAhD,EAA8DC,qBAA9D,EAAqFC,WAArF,EAAkG;AAC9F,MAAIH,YAAY,GAAGE,qBAAnB,EAA0C;AACtC,WAAOF,YAAP;AACH;;AACD,MAAIA,YAAY,GAAGC,YAAf,GAA8BC,qBAAqB,GAAGC,WAA1D,EAAuE;AACnE,WAAOlqP,IAAI,CAACC,GAAL,CAAS,CAAT,EAAY8pP,YAAY,GAAGG,WAAf,GAA6BF,YAAzC,CAAP;AACH;;AACD,SAAOC,qBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACME;AAAN,QAAMA,eAAN,CAAsB;;AAEtBA,EAAAA,eAAe,CAACriP,IAAhB,GAAuB,SAASsiP,uBAAT,CAAiCpiP,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAImiP,eAAV,GAAP;AAAsC,GAAnG;;AACAA,EAAAA,eAAe,CAACvzM,IAAhB,GAAuB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAE8uP;AAAR,GAAxB,CAArC;AACAA,EAAAA,eAAe,CAACrzM,IAAhB,GAAuB,aAAcl2C,8DAAA,CAAwB;AAAEo2C,IAAAA,OAAO,EAAE,CAAC,CAAC2jM,eAAD,EAAkBx5I,yDAAlB,EAAgCy5I,eAAhC,EAAiDsM,uBAAjD,CAAD;AAAX,GAAxB,CAArC;SAJMiD;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO9hP,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOO,CAPtB;;AAQA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0BupP,eAA1B,EAA2C;AAAEhzM,IAAAA,YAAY,EAAE,YAAY;AAAE,aAAO,CAACgyM,SAAD,EAAYtB,WAAZ,CAAP;AAAkC,KAAhE;AAAkE7wM,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAAC2jM,eAAD,EAAkBx5I,yDAAlB,EAAgCy5I,eAAhC,EAAiDsM,uBAAjD,CAAP;AAAmF,KAA5K;AAA8K9vM,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAAC+xM,SAAD,EAAYtB,WAAZ,CAAP;AAAkC;AAAvO,GAA3C,CAAnD;AAA2U,CAA1V;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC55DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM38K,GAAG,GAAG,CAAC,mBAAD,EAAsB,EAAtB,CAAZ;;AACA,SAAS6/K,6BAAT,CAAuCxyM,EAAvC,EAA2CxgC,GAA3C,EAAgD;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC1D33C,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,IAAzB,EAA+B,CAA/B;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,IAAzB,EAA+B,CAA/B;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,0DAAA;AACAA,IAAAA,0DAAA;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAMskM,MAAM,GAAGj8O,2DAAA,EAAf;AACAA,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,yDAAA,CAAmB,aAAnB,EAAkCi8O,MAAM,CAACmO,YAAzC,EAAuD,gBAAvD,EAAyEnO,MAAM,CAACmO,YAAhF;AACApqP,IAAAA,yDAAA,CAAmB,SAAnB,EAA8Bi8O,MAAM,CAACoO,OAArC;AACArqP,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,gEAAA,CAA0B,GAA1B,EAA+Bi8O,MAAM,CAACG,KAAtC,EAA6C,GAA7C;AACH;AAAE;;AACH,SAASkO,kCAAT,CAA4C3yM,EAA5C,EAAgDxgC,GAAhD,EAAqD;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC/D33C,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,IAAzB,EAA+B,CAA/B;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,0DAAA;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAM4yM,MAAM,GAAGvqP,2DAAA,CAAqB,CAArB,CAAf;AACAA,IAAAA,yDAAA,CAAmB,aAAnB,EAAkCuqP,MAAM,CAACH,YAAzC,EAAuD,gBAAvD,EAAyEG,MAAM,CAACH,YAAhF;AACApqP,IAAAA,yDAAA,CAAmB,SAAnB,EAA8BuqP,MAAM,CAACC,eAArC;AACAxqP,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,gEAAA,CAA0B,GAA1B,EAA+BuqP,MAAM,CAACC,eAAP,IAA0BD,MAAM,CAACE,qBAAjC,GAAyDF,MAAM,CAACnO,KAAhE,GAAwE,EAAvG,EAA2G,GAA3G;AACH;AAAE;;AACH,SAASsO,kCAAT,CAA4C/yM,EAA5C,EAAgDxgC,GAAhD,EAAqD;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC/D,UAAMgzM,GAAG,GAAG3qP,8DAAA,EAAZ;;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,IAAzB,EAA+B,CAA/B;AACAA,IAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAAS4qP,sDAAT,CAAgE91B,MAAhE,EAAwE;AAAE,YAAM+1B,WAAW,GAAG7qP,2DAAA,CAAqB2qP,GAArB,CAApB;AAA+C,YAAMG,OAAO,GAAGD,WAAW,CAACxwM,SAA5B;AAAuC,YAAM0wM,MAAM,GAAG/qP,2DAAA,CAAqB,CAArB,CAAf;AAAwC,aAAO+qP,MAAM,CAACC,YAAP,CAAoBF,OAApB,EAA6Bh2B,MAA7B,CAAP;AAA8C,KAAjR;AACA90N,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,0DAAA;AACAA,IAAAA,uDAAA,CAAiB,CAAjB,EAAoB,KAApB,EAA2B,CAA3B;AACAA,IAAAA,0DAAA;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAMmzM,OAAO,GAAG3zO,GAAG,CAACkjC,SAApB;AACA,UAAM4wM,WAAW,GAAG9zO,GAAG,CAACsK,KAAxB;AACA,UAAMypO,WAAW,GAAGlrP,2DAAA,GAAuByhB,KAA3C;AACA,UAAM0pO,MAAM,GAAGnrP,2DAAA,EAAf;AACAA,IAAAA,yDAAA,CAAmB,OAAnB,EAA4BmrP,MAAM,CAACC,UAAnC,EAA+C,aAA/C,EAA8DD,MAAM,CAACf,YAArE,EAAmF,gBAAnF,EAAqGe,MAAM,CAACf,YAA5G;AACApqP,IAAAA,yDAAA,CAAmB,4BAAnB,EAAiD,CAAC8qP,OAAO,CAAC9oN,OAA1D,EAAmE,0BAAnE,EAA+FmpN,MAAM,CAACE,aAAP,CAAqBH,WAArB,EAAkCD,WAAlC,CAA/F,EAA+I,+BAA/I,EAAgLE,MAAM,CAACG,aAAP,CAAqBR,OAAO,CAACS,YAA7B,CAAhL,EAA4N,6BAA5N,EAA2PJ,MAAM,CAACK,WAAP,CAAmBV,OAAO,CAACS,YAA3B,CAA3P,EAAqS,4BAArS,EAAmUJ,MAAM,CAACM,UAAP,CAAkBX,OAAO,CAACS,YAA1B,CAAnU,EAA4W,2CAA5W,EAAyZJ,MAAM,CAACO,wBAAP,CAAgCZ,OAAO,CAACS,YAAxC,EAAsDL,WAAtD,EAAmED,WAAnE,CAAzZ,EAA0e,yCAA1e,EAAqhBE,MAAM,CAACQ,sBAAP,CAA8Bb,OAAO,CAACS,YAAtC,EAAoDL,WAApD,EAAiED,WAAjE,CAArhB,EAAomB,oCAApmB,EAA0oBE,MAAM,CAACS,kBAAP,CAA0Bd,OAAO,CAACS,YAAlC,CAA1oB,EAA2rB,kCAA3rB,EAA+tBJ,MAAM,CAACU,gBAAP,CAAwBf,OAAO,CAACS,YAAhC,CAA/tB,EAA8wB,uCAA9wB,EAAuzBJ,MAAM,CAACW,oBAAP,CAA4BhB,OAAO,CAACS,YAApC,CAAvzB,EAA02B,iCAA12B,EAA64BJ,MAAM,CAACY,eAAP,CAAuBjB,OAAO,CAACS,YAA/B,CAA74B,EAA27B,+BAA37B,EAA49BJ,MAAM,CAACa,aAAP,CAAqBlB,OAAO,CAACS,YAA7B,CAA59B,EAAwgC,8BAAxgC,EAAwiCJ,MAAM,CAACc,YAAP,CAAoBnB,OAAO,CAACS,YAA5B,CAAxiC;AACAvrP,IAAAA,wDAAA,CAAkB,SAAlB,EAA6B8qP,OAAO,CAACz5L,UAArC,EAAiD,UAAjD,EAA6D85L,MAAM,CAACE,aAAP,CAAqBH,WAArB,EAAkCD,WAAlC,IAAiD,CAAjD,GAAqD,CAAC,CAAnH;AACAjrP,IAAAA,yDAAA,CAAmB,cAAnB,EAAmCkrP,WAAnC,EAAgD,cAAhD,EAAgED,WAAhE,EAA6E,YAA7E,EAA2FH,OAAO,CAAC9qN,SAAnG,EAA8G,eAA9G,EAA+H,CAAC8qN,OAAO,CAAC9oN,OAAT,IAAoB,IAAnJ,EAAyJ,eAAzJ,EAA0KmpN,MAAM,CAACe,WAAP,CAAmBpB,OAAO,CAACS,YAA3B,CAA1K;AACAvrP,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,yDAAA,CAAmB,4BAAnB,EAAiDmrP,MAAM,CAACe,WAAP,CAAmBpB,OAAO,CAACS,YAA3B,CAAjD,EAA2F,wCAA3F,EAAqIJ,MAAM,CAACgB,sBAAP,CAA8BrB,OAAO,CAACS,YAAtC,CAArI,EAA0L,yBAA1L,EAAqNJ,MAAM,CAACiB,UAAP,KAAsBtB,OAAO,CAACS,YAAnP;AACAvrP,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,gEAAA,CAA0B,GAA1B,EAA+B8qP,OAAO,CAACuB,YAAvC,EAAqD,GAArD;AACH;AAAE;;AACH,SAASC,6BAAT,CAAuC30M,EAAvC,EAA2CxgC,GAA3C,EAAgD;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC1D33C,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,IAAzB,EAA+B,CAA/B;AACAA,IAAAA,wDAAA,CAAkB,CAAlB,EAAqBsqP,kCAArB,EAAyD,CAAzD,EAA4D,CAA5D,EAA+D,IAA/D,EAAqE,CAArE;AACAtqP,IAAAA,wDAAA,CAAkB,CAAlB,EAAqB0qP,kCAArB,EAAyD,CAAzD,EAA4D,EAA5D,EAAgE,IAAhE,EAAsE,CAAtE;AACA1qP,IAAAA,0DAAA;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAM40M,MAAM,GAAGp1O,GAAG,CAACkjC,SAAnB;AACA,UAAM6wM,WAAW,GAAG/zO,GAAG,CAACsK,KAAxB;AACA,UAAM06N,MAAM,GAAGn8O,2DAAA,EAAf;AACAA,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,wDAAA,CAAkB,MAAlB,EAA0BkrP,WAAW,KAAK,CAAhB,IAAqB/O,MAAM,CAACqO,eAAtD;AACAxqP,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,wDAAA,CAAkB,SAAlB,EAA6BusP,MAA7B;AACH;AAAE;;AACH,SAASC,0BAAT,CAAoC70M,EAApC,EAAwCxgC,GAAxC,EAA6C;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACvD33C,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,IAAzB,EAA+B,CAA/B;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,0DAAA;AACAA,IAAAA,0DAAA;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAM80M,MAAM,GAAGt1O,GAAG,CAACkjC,SAAnB;AACAr6C,IAAAA,yDAAA,CAAmB,YAAnB,EAAiCysP,MAAM,CAACC,IAAxC;AACA1sP,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,yDAAA,CAAmB,OAAnB,EAA4BysP,MAAM,CAACC,IAAnC;AACA1sP,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,+DAAA,CAAyBysP,MAAM,CAACE,MAAhC;AACH;AAAE;;AACH,MAAMpiL,GAAG,GAAG,CAAC,GAAD,CAAZ;;AACA,SAASqiL,kCAAT,CAA4Cj1M,EAA5C,EAAgDxgC,GAAhD,EAAqD,CAAG;;AACxD,SAAS01O,qCAAT,CAA+Cl1M,EAA/C,EAAmDxgC,GAAnD,EAAwD;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AAClE,UAAMm1M,GAAG,GAAG9sP,8DAAA,EAAZ;;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,gBAAzB,EAA2C,CAA3C;AACAA,IAAAA,wDAAA,CAAkB,kBAAlB,EAAsC,SAAS+sP,gFAAT,CAA0Fj4B,MAA1F,EAAkG;AAAE90N,MAAAA,2DAAA,CAAqB8sP,GAArB;AAA2B,YAAMvC,MAAM,GAAGvqP,2DAAA,EAAf;AAAuC,aAAOuqP,MAAM,CAACyC,UAAP,GAAoBl4B,MAA3B;AAAoC,KAAhP,EAAkP,gBAAlP,EAAoQ,SAASm4B,8EAAT,CAAwFn4B,MAAxF,EAAgG;AAAE90N,MAAAA,2DAAA,CAAqB8sP,GAArB;AAA2B,YAAMI,MAAM,GAAGltP,2DAAA,EAAf;AAAuC,aAAOktP,MAAM,CAACC,aAAP,CAAqBr4B,MAArB,CAAP;AAAsC,KAA9c;AACA90N,IAAAA,0DAAA;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAMwkM,MAAM,GAAGn8O,2DAAA,EAAf;AACAA,IAAAA,wDAAA,CAAkB,YAAlB,EAAgCm8O,MAAM,CAAC6Q,UAAvC,EAAmD,UAAnD,EAA+D7Q,MAAM,CAAC/gM,QAAtE,EAAgF,YAAhF,EAA8F+gM,MAAM,CAACiR,UAArG,EAAiH,SAAjH,EAA4HjR,MAAM,CAACkR,OAAnI,EAA4I,SAA5I,EAAuJlR,MAAM,CAACmR,OAA9J,EAAuK,WAAvK,EAAoLnR,MAAM,CAACoR,SAA3L,EAAsM,iBAAtM,EAAyNpR,MAAM,CAACqR,eAAhO,EAAiP,eAAjP,EAAkQrR,MAAM,CAACsR,aAAzQ;AACH;AAAE;;AACH,SAASC,oCAAT,CAA8C/1M,EAA9C,EAAkDxgC,GAAlD,EAAuD;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACjE,UAAMg2M,GAAG,GAAG3tP,8DAAA,EAAZ;;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,eAAzB,EAA0C,CAA1C;AACAA,IAAAA,wDAAA,CAAkB,kBAAlB,EAAsC,SAAS4tP,8EAAT,CAAwF94B,MAAxF,EAAgG;AAAE90N,MAAAA,2DAAA,CAAqB2tP,GAArB;AAA2B,YAAME,MAAM,GAAG7tP,2DAAA,EAAf;AAAuC,aAAO6tP,MAAM,CAACb,UAAP,GAAoBl4B,MAA3B;AAAoC,KAA9O,EAAgP,eAAhP,EAAiQ,SAASg5B,2EAAT,CAAqFh5B,MAArF,EAA6F;AAAE90N,MAAAA,2DAAA,CAAqB2tP,GAArB;AAA2B,YAAMI,MAAM,GAAG/tP,2DAAA,EAAf;AAAuC,aAAO+tP,MAAM,CAACC,wBAAP,CAAgCl5B,MAAhC,CAAP;AAAiD,KAAnd,EAAqd,gBAArd,EAAue,SAASm5B,4EAAT,CAAsFn5B,MAAtF,EAA8F;AAAE90N,MAAAA,2DAAA,CAAqB2tP,GAArB;AAA2B,YAAMO,OAAO,GAAGluP,2DAAA,EAAhB;AAAwC,aAAOkuP,OAAO,CAACC,eAAR,CAAwBr5B,MAAxB,EAAgC,OAAhC,CAAP;AAAkD,KAA5rB;AACA90N,IAAAA,0DAAA;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAMy2M,MAAM,GAAGpuP,2DAAA,EAAf;AACAA,IAAAA,wDAAA,CAAkB,YAAlB,EAAgCouP,MAAM,CAACpB,UAAvC,EAAmD,UAAnD,EAA+DoB,MAAM,CAAChzM,QAAtE,EAAgF,YAAhF,EAA8FgzM,MAAM,CAAChB,UAArG,EAAiH,SAAjH,EAA4HgB,MAAM,CAACf,OAAnI,EAA4I,SAA5I,EAAuJe,MAAM,CAACd,OAA9J,EAAuK,WAAvK,EAAoLc,MAAM,CAACb,SAA3L;AACH;AAAE;;AACH,SAASc,0CAAT,CAAoD12M,EAApD,EAAwDxgC,GAAxD,EAA6D;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACvE,UAAM22M,IAAI,GAAGtuP,8DAAA,EAAb;;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,qBAAzB,EAAgD,CAAhD;AACAA,IAAAA,wDAAA,CAAkB,kBAAlB,EAAsC,SAASuuP,0FAAT,CAAoGz5B,MAApG,EAA4G;AAAE90N,MAAAA,2DAAA,CAAqBsuP,IAArB;AAA4B,YAAME,OAAO,GAAGxuP,2DAAA,EAAhB;AAAwC,aAAOwuP,OAAO,CAACxB,UAAR,GAAqBl4B,MAA5B;AAAqC,KAA7P,EAA+P,cAA/P,EAA+Q,SAAS25B,sFAAT,CAAgG35B,MAAhG,EAAwG;AAAE90N,MAAAA,2DAAA,CAAqBsuP,IAArB;AAA4B,YAAMI,OAAO,GAAG1uP,2DAAA,EAAhB;AAAwC,aAAO0uP,OAAO,CAACC,4BAAR,CAAqC75B,MAArC,CAAP;AAAsD,KAAnf,EAAqf,gBAArf,EAAugB,SAAS85B,wFAAT,CAAkG95B,MAAlG,EAA0G;AAAE90N,MAAAA,2DAAA,CAAqBsuP,IAArB;AAA4B,YAAMO,OAAO,GAAG7uP,2DAAA,EAAhB;AAAwC,aAAO6uP,OAAO,CAACV,eAAR,CAAwBr5B,MAAxB,EAAgC,MAAhC,CAAP;AAAiD,KAAxuB;AACA90N,IAAAA,0DAAA;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAMm3M,MAAM,GAAG9uP,2DAAA,EAAf;AACAA,IAAAA,wDAAA,CAAkB,YAAlB,EAAgC8uP,MAAM,CAAC9B,UAAvC,EAAmD,UAAnD,EAA+D8B,MAAM,CAAC1zM,QAAtE,EAAgF,YAAhF,EAA8F0zM,MAAM,CAAC1B,UAArG,EAAiH,SAAjH,EAA4H0B,MAAM,CAACzB,OAAnI,EAA4I,SAA5I,EAAuJyB,MAAM,CAACxB,OAA9J,EAAuK,WAAvK,EAAoLwB,MAAM,CAACvB,SAA3L;AACH;AAAE;;AACH,SAASwB,2CAAT,CAAqDp3M,EAArD,EAAyDxgC,GAAzD,EAA8D,CAAG;;AACjE,MAAM+iO,GAAG,GAAG,CAAC,QAAD,CAAZ;;AACA,SAAS8U,uCAAT,CAAiDr3M,EAAjD,EAAqDxgC,GAArD,EAA0D;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACpE33C,IAAAA,4DAAA;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC;AACAA,IAAAA,uDAAA,CAAiB,CAAjB,EAAoB,MAApB,EAA4B,CAA5B;AACAA,IAAAA,0DAAA;AACH;AAAE;;AACH,MAAMivP,GAAG,GAAG,CAAC,CAAC,CAAC,EAAD,EAAK,yBAAL,EAAgC,EAAhC,CAAD,CAAD,CAAZ;AACA,MAAMC,GAAG,GAAG,CAAC,2BAAD,CAAZ;AACA,MAAMC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAD,EAAU,cAAV,EAA0B,EAA1B,CAAD,CAAD,EAAkC,CAAC,CAAC,OAAD,EAAU,YAAV,EAAwB,EAAxB,CAAD,CAAlC,CAAZ;AACA,MAAMC,GAAG,GAAG,CAAC,qBAAD,EAAwB,mBAAxB,CAAZ;;AACA,SAASC,2CAAT,CAAqD13M,EAArD,EAAyDxgC,GAAzD,EAA8D;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACxE33C,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC;AACAA,IAAAA,0DAAA,CAAoB,CAApB;AACAA,IAAAA,0DAAA;AACH;AAAE;;AACH,SAASsvP,0BAAT,CAAoCv9I,QAApC,EAA8C;AAC1C,SAAOjwG,KAAK,CAAE,wCAAuCiwG,QAAS,yCAAjD,GACR,2FADQ,GAER,wBAFO,CAAZ;AAGH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACMw9I;AAAN,QAAMA,iBAAN,CAAwB;AACpBlzP,IAAAA,WAAW,GAAG;AACV;AACR;AACA;AACA;AACQ,WAAKglC,OAAL,GAAe,IAAI7G,yCAAJ,EAAf;AACA;;AACA,WAAKg1N,aAAL,GAAqB,UAArB;AACA;;AACA,WAAKC,iBAAL,GAAyB,eAAzB;AACA;;AACA,WAAKC,kBAAL,GAA0B,gBAA1B;AACA;;AACA,WAAKC,cAAL,GAAsB,gBAAtB;AACA;;AACA,WAAKC,cAAL,GAAsB,YAAtB;AACA;;AACA,WAAKC,aAAL,GAAqB,eAArB;AACA;;AACA,WAAKC,aAAL,GAAqB,WAArB;AACA;;AACA,WAAKC,kBAAL,GAA0B,mBAA1B;AACA;;AACA,WAAKC,kBAAL,GAA0B,eAA1B;AACA;;AACA,WAAKC,sBAAL,GAA8B,aAA9B;AACA;;AACA,WAAKC,0BAAL,GAAkC,uBAAlC;AACH;AACD;;;AACAC,IAAAA,eAAe,CAACpzO,KAAD,EAAQmvD,GAAR,EAAa;AACxB,aAAQ,GAAEnvD,KAAM,WAAUmvD,GAAI,EAA9B;AACH;;AAjCmB;;AAmCxBqjL,EAAAA,iBAAiB,CAACroP,IAAlB,GAAyB,SAASkpP,yBAAT,CAAmChpP,CAAnC,EAAsC;AAAE,WAAO,KAAKA,CAAC,IAAImoP,iBAAV,GAAP;AAAwC,GAAzG;;AACAA,EAAAA,iBAAiB,CAACloP,KAAlB,GAA0BuyB,gEAAA,CAAsB;AAAEpyB,IAAAA,OAAO,EAAE,SAAS4oP,yBAAT,GAAqC;AAAE,aAAO,IAAIb,iBAAJ,EAAP;AAAiC,KAAnF;AAAqFhoP,IAAAA,KAAK,EAAEgoP,iBAA5F;AAA+GlvN,IAAAA,UAAU,EAAE;AAA3H,GAAtB,CAA1B;SApCMkvN;;;AAqCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO9nP,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAG6B,CAH5C;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM4oP,eAAN,CAAsB;AAClBh0P,EAAAA,WAAW,CAAC4G,KAAD,EAAQopP,YAAR,EAAsBrsN,SAAtB,EAAiCgC,OAAjC,EAA0CqvB,UAAU,GAAG,EAAvD,EAA2Dk6L,YAAY,GAAGtoP,KAA1E,EAAiF25I,QAAjF,EAA2F;AAClG,SAAK35I,KAAL,GAAaA,KAAb;AACA,SAAKopP,YAAL,GAAoBA,YAApB;AACA,SAAKrsN,SAAL,GAAiBA,SAAjB;AACA,SAAKgC,OAAL,GAAeA,OAAf;AACA,SAAKqvB,UAAL,GAAkBA,UAAlB;AACA,SAAKk6L,YAAL,GAAoBA,YAApB;AACA,SAAK3uG,QAAL,GAAgBA,QAAhB;AACH;;AATiB;AAWtB;AACA;AACA;AACA;;;IACM0zG;AAAN,QAAMA,eAAN,CAAsB;AAClBj0P,IAAAA,WAAW,CAAC8tC,WAAD,EAAczC,OAAd,EAAuB;AAC9B,WAAKyC,WAAL,GAAmBA,WAAnB;AACA,WAAKzC,OAAL,GAAeA,OAAf;AACA;;AACA,WAAK2iN,OAAL,GAAe,CAAf;AACA;;AACA,WAAKkG,UAAL,GAAkB,CAAlB;AACA;;AACA,WAAKC,OAAL,GAAe,KAAf;AACA;AACR;AACA;AACA;;AACQ,WAAKC,eAAL,GAAuB,CAAvB;AACA;;AACA,WAAKC,YAAL,GAAoB,IAApB;AACA;;AACA,WAAKC,UAAL,GAAkB,IAAlB;AACA;;AACA,WAAKC,mBAAL,GAA2B,IAAIv2N,uDAAJ,EAA3B;AACA;;AACA,WAAKw2N,aAAL,GAAqB,IAAIx2N,uDAAJ,EAArB;AACA;AACR;AACA;AACA;;AACQ,WAAKy2N,aAAL,GAAsB5uP,KAAD,IAAW;AAC5B,YAAI,KAAK6uP,cAAL,IAAuB7uP,KAAK,CAACzH,IAAN,KAAe,OAA1C,EAAmD;AAC/C,eAAKs2P,cAAL,GAAsB,KAAtB;AACA;AACH,SAJ2B,CAK5B;;;AACA,YAAI7uP,KAAK,CAACsX,MAAN,IAAgB,KAAKg3O,OAAzB,EAAkC;AAC9B,gBAAMQ,IAAI,GAAG,KAAKC,mBAAL,CAAyB/uP,KAAK,CAACsX,MAA/B,CAAb;;AACA,cAAIw3O,IAAJ,EAAU;AACN,iBAAKtpN,OAAL,CAAawM,GAAb,CAAiB,MAAM,KAAK28M,aAAL,CAAmBl8M,IAAnB,CAAwB;AAAE1xC,cAAAA,KAAK,EAAE+tP,IAAI,CAAChvN,OAAL,GAAegvN,IAAf,GAAsB,IAA/B;AAAqC9uP,cAAAA;AAArC,aAAxB,CAAvB;AACH;AACJ;AACJ,OAZD;AAaA;AACR;AACA;AACA;;;AACQ,WAAKgvP,aAAL,GAAsBhvP,KAAD,IAAW;AAC5B;AACA,YAAI,KAAKyuP,UAAL,KAAoB,IAApB,IAA4B,KAAKH,OAArC,EAA8C;AAC1C;AACA;AACA;AACA,cAAItuP,KAAK,CAACsX,MAAN,IAAgB23O,WAAW,CAACjvP,KAAK,CAACsX,MAAP,CAA/B,EAA+C;AAC3C,iBAAKkuB,OAAL,CAAawM,GAAb,CAAiB,MAAM,KAAK28M,aAAL,CAAmBl8M,IAAnB,CAAwB;AAAE1xC,cAAAA,KAAK,EAAE,IAAT;AAAef,cAAAA;AAAf,aAAxB,CAAvB;AACH;AACJ;AACJ,OAVD;;AAWAwlC,MAAAA,OAAO,CAACc,iBAAR,CAA0B,MAAM;AAC5B,cAAM5nC,OAAO,GAAGupC,WAAW,CAACI,aAA5B;AACA3pC,QAAAA,OAAO,CAACuzB,gBAAR,CAAyB,YAAzB,EAAuC,KAAK28N,aAA5C,EAA2D,IAA3D;AACAlwP,QAAAA,OAAO,CAACuzB,gBAAR,CAAyB,OAAzB,EAAkC,KAAK28N,aAAvC,EAAsD,IAAtD;AACAlwP,QAAAA,OAAO,CAACuzB,gBAAR,CAAyB,YAAzB,EAAuC,KAAK+8N,aAA5C,EAA2D,IAA3D;AACAtwP,QAAAA,OAAO,CAACuzB,gBAAR,CAAyB,MAAzB,EAAiC,KAAK+8N,aAAtC,EAAqD,IAArD;AACH,OAND;AAOH;AACD;;;AACAlG,IAAAA,YAAY,CAACgG,IAAD,EAAO9uP,KAAP,EAAc;AACtB,UAAI8uP,IAAI,CAAChvN,OAAT,EAAkB;AACd,aAAK4uN,mBAAL,CAAyBj8M,IAAzB,CAA8B;AAAE1xC,UAAAA,KAAK,EAAE+tP,IAAI,CAAC/tP,KAAd;AAAqBf,UAAAA;AAArB,SAA9B;AACH;AACJ;AACD;;;AACAgqP,IAAAA,WAAW,CAACjpP,KAAD,EAAQ;AACf,aAAO,KAAKmuP,UAAL,KAAoBnuP,KAApB,IAA6B,KAAKouP,QAAL,KAAkBpuP,KAAtD;AACH;;AACD4nC,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,YAAMiwN,aAAa,GAAGjwN,OAAO,CAAC,SAAD,CAA7B;AACA,YAAM;AAAE03C,QAAAA,IAAF;AAAQsxK,QAAAA;AAAR,UAAoB,IAA1B;;AACA,UAAIhpN,OAAO,CAAC,MAAD,CAAP,IAAmBiwN,aAAvB,EAAsC;AAClC,aAAK9G,eAAL,GAAuBzxK,IAAI,IAAIA,IAAI,CAACv6E,MAAb,IAAuBu6E,IAAI,CAAC,CAAD,CAAJ,CAAQv6E,MAA/B,GAAwC6rP,OAAO,GAAGtxK,IAAI,CAAC,CAAD,CAAJ,CAAQv6E,MAA1D,GAAmE,CAA1F;AACH;;AACD,UAAI6iC,OAAO,CAAC,iBAAD,CAAP,IAA8BiwN,aAA9B,IAA+C,CAAC,KAAKlH,YAAzD,EAAuE;AACnE,aAAKA,YAAL,GAAqB,GAAE,KAAK,KAAKqG,eAAV,GAA4BpG,OAAQ,GAA3D;AACH;;AACD,UAAIiH,aAAa,IAAI,CAAC,KAAKlG,UAA3B,EAAuC;AACnC,aAAKA,UAAL,GAAmB,GAAE,MAAMf,OAAQ,GAAnC;AACH;AACJ;;AACDhrN,IAAAA,WAAW,GAAG;AACV,YAAMz+B,OAAO,GAAG,KAAKupC,WAAL,CAAiBI,aAAjC;AACA3pC,MAAAA,OAAO,CAACszB,mBAAR,CAA4B,YAA5B,EAA0C,KAAK48N,aAA/C,EAA8D,IAA9D;AACAlwP,MAAAA,OAAO,CAACszB,mBAAR,CAA4B,OAA5B,EAAqC,KAAK48N,aAA1C,EAAyD,IAAzD;AACAlwP,MAAAA,OAAO,CAACszB,mBAAR,CAA4B,YAA5B,EAA0C,KAAKg9N,aAA/C,EAA8D,IAA9D;AACAtwP,MAAAA,OAAO,CAACszB,mBAAR,CAA4B,MAA5B,EAAoC,KAAKg9N,aAAzC,EAAwD,IAAxD;AACH;AACD;;;AACA7F,IAAAA,aAAa,CAACkG,QAAD,EAAWC,QAAX,EAAqB;AAC9B,UAAIC,UAAU,GAAGF,QAAQ,GAAG,KAAKlH,OAAhB,GAA0BmH,QAA3C,CAD8B,CAE9B;;AACA,UAAID,QAAJ,EAAc;AACVE,QAAAA,UAAU,IAAI,KAAKjH,eAAnB;AACH;;AACD,aAAOiH,UAAU,IAAI,KAAKlB,UAA1B;AACH;AACD;;;AACAmB,IAAAA,gBAAgB,CAACC,WAAW,GAAG,IAAf,EAAqB;AACjC,WAAKjqN,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACjC,aAAKd,OAAL,CAAaoC,QAAb,CAAsBrH,IAAtB,CAA2B1G,oDAAI,CAAC,CAAD,CAA/B,EAAoCuF,SAApC,CAA8C,MAAM;AAChD,gBAAMivN,UAAU,GAAG,KAAKpmN,WAAL,CAAiBI,aAAjB,CAA+B7kC,aAA/B,CAA6C,2BAA7C,CAAnB;;AACA,cAAI6qP,UAAJ,EAAgB;AACZ,gBAAI,CAACoB,WAAL,EAAkB;AACd,mBAAKZ,cAAL,GAAsB,IAAtB;AACH;;AACDR,YAAAA,UAAU,CAACtrN,KAAX;AACH;AACJ,SARD;AASH,OAVD;AAWH;AACD;;;AACAqmN,IAAAA,aAAa,CAACroP,KAAD,EAAQ;AACjB,aAAO2uP,OAAO,CAAC3uP,KAAD,EAAQ,KAAKmuP,UAAb,EAAyB,KAAKC,QAA9B,CAAd;AACH;AACD;;;AACA7F,IAAAA,WAAW,CAACvoP,KAAD,EAAQ;AACf,aAAO4uP,KAAK,CAAC5uP,KAAD,EAAQ,KAAKmuP,UAAb,EAAyB,KAAKC,QAA9B,CAAZ;AACH;AACD;;;AACA5F,IAAAA,UAAU,CAACxoP,KAAD,EAAQ;AACd,aAAO6uP,SAAS,CAAC7uP,KAAD,EAAQ,KAAKmuP,UAAb,EAAyB,KAAKC,QAA9B,EAAwC,KAAKb,OAA7C,CAAhB;AACH;AACD;;;AACA5E,IAAAA,kBAAkB,CAAC3oP,KAAD,EAAQ;AACtB,aAAO2uP,OAAO,CAAC3uP,KAAD,EAAQ,KAAKuqP,eAAb,EAA8B,KAAKC,aAAnC,CAAd;AACH;AACD;;;AACA/B,IAAAA,wBAAwB,CAACzoP,KAAD,EAAQsuP,QAAR,EAAkBC,QAAlB,EAA4B;AAChD,UAAI,CAAC,KAAK5F,kBAAL,CAAwB3oP,KAAxB,CAAD,IAAmC,KAAKqoP,aAAL,CAAmBroP,KAAnB,CAAnC,IAAgE,CAAC,KAAKwoP,UAAL,CAAgBxoP,KAAhB,CAArE,EAA6F;AACzF,eAAO,KAAP;AACH;;AACD,UAAI8uP,YAAY,GAAG,KAAKh5K,IAAL,CAAUw4K,QAAV,EAAoBC,QAAQ,GAAG,CAA/B,CAAnB;;AACA,UAAI,CAACO,YAAL,EAAmB;AACf,cAAMC,WAAW,GAAG,KAAKj5K,IAAL,CAAUw4K,QAAQ,GAAG,CAArB,CAApB;AACAQ,QAAAA,YAAY,GAAGC,WAAW,IAAIA,WAAW,CAACA,WAAW,CAACxzP,MAAZ,GAAqB,CAAtB,CAAzC;AACH;;AACD,aAAOuzP,YAAY,IAAI,CAAC,KAAKvG,WAAL,CAAiBuG,YAAY,CAACxG,YAA9B,CAAxB;AACH;AACD;;;AACAI,IAAAA,sBAAsB,CAAC1oP,KAAD,EAAQsuP,QAAR,EAAkBC,QAAlB,EAA4B;AAC9C,UAAI,CAAC,KAAK3F,gBAAL,CAAsB5oP,KAAtB,CAAD,IAAiC,KAAKuoP,WAAL,CAAiBvoP,KAAjB,CAAjC,IAA4D,CAAC,KAAKwoP,UAAL,CAAgBxoP,KAAhB,CAAjE,EAAyF;AACrF,eAAO,KAAP;AACH;;AACD,UAAIgvP,QAAQ,GAAG,KAAKl5K,IAAL,CAAUw4K,QAAV,EAAoBC,QAAQ,GAAG,CAA/B,CAAf;;AACA,UAAI,CAACS,QAAL,EAAe;AACX,cAAMC,OAAO,GAAG,KAAKn5K,IAAL,CAAUw4K,QAAQ,GAAG,CAArB,CAAhB;AACAU,QAAAA,QAAQ,GAAGC,OAAO,IAAIA,OAAO,CAAC,CAAD,CAA7B;AACH;;AACD,aAAOD,QAAQ,IAAI,CAAC,KAAK3G,aAAL,CAAmB2G,QAAQ,CAAC1G,YAA5B,CAApB;AACH;AACD;;;AACAM,IAAAA,gBAAgB,CAAC5oP,KAAD,EAAQ;AACpB,aAAO4uP,KAAK,CAAC5uP,KAAD,EAAQ,KAAKuqP,eAAb,EAA8B,KAAKC,aAAnC,CAAZ;AACH;AACD;;;AACA3B,IAAAA,oBAAoB,CAAC7oP,KAAD,EAAQ;AACxB,aAAO6uP,SAAS,CAAC7uP,KAAD,EAAQ,KAAKuqP,eAAb,EAA8B,KAAKC,aAAnC,EAAkD,KAAK+C,OAAvD,CAAhB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIrE,IAAAA,sBAAsB,CAAClpP,KAAD,EAAQ;AAC1B;AACA;AACA,aAAO,KAAKuqP,eAAL,KAAyB,KAAKC,aAA9B,IAA+CxqP,KAAK,KAAK,KAAKuqP,eAArE;AACH;AACD;;;AACAzB,IAAAA,eAAe,CAAC9oP,KAAD,EAAQ;AACnB,aAAO2uP,OAAO,CAAC3uP,KAAD,EAAQ,KAAKytP,YAAb,EAA2B,KAAKC,UAAhC,CAAd;AACH;AACD;;;AACA3E,IAAAA,aAAa,CAAC/oP,KAAD,EAAQ;AACjB,aAAO4uP,KAAK,CAAC5uP,KAAD,EAAQ,KAAKytP,YAAb,EAA2B,KAAKC,UAAhC,CAAZ;AACH;AACD;;;AACA1E,IAAAA,YAAY,CAAChpP,KAAD,EAAQ;AAChB,aAAO6uP,SAAS,CAAC7uP,KAAD,EAAQ,KAAKytP,YAAb,EAA2B,KAAKC,UAAhC,EAA4C,KAAKH,OAAjD,CAAhB;AACH;AACD;;;AACAS,IAAAA,mBAAmB,CAACrwP,OAAD,EAAU;AACzB,UAAIowP,IAAJ;;AACA,UAAIG,WAAW,CAACvwP,OAAD,CAAf,EAA0B;AACtBowP,QAAAA,IAAI,GAAGpwP,OAAP;AACH,OAFD,MAGK,IAAIuwP,WAAW,CAACvwP,OAAO,CAAC8D,UAAT,CAAf,EAAqC;AACtCssP,QAAAA,IAAI,GAAGpwP,OAAO,CAAC8D,UAAf;AACH;;AACD,UAAIssP,IAAJ,EAAU;AACN,cAAMmB,GAAG,GAAGnB,IAAI,CAACtzN,YAAL,CAAkB,cAAlB,CAAZ;AACA,cAAM00N,GAAG,GAAGpB,IAAI,CAACtzN,YAAL,CAAkB,cAAlB,CAAZ;;AACA,YAAIy0N,GAAG,IAAIC,GAAX,EAAgB;AACZ,iBAAO,KAAKr5K,IAAL,CAAU3xC,QAAQ,CAAC+qN,GAAD,CAAlB,EAAyB/qN,QAAQ,CAACgrN,GAAD,CAAjC,CAAP;AACH;AACJ;;AACD,aAAO,IAAP;AACH;;AAhNiB;;AAkNtB9B,EAAAA,eAAe,CAACppP,IAAhB,GAAuB,SAASmrP,uBAAT,CAAiCjrP,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAIkpP,eAAV,EAA2BtwP,+DAAA,CAAyBA,qDAAzB,CAA3B,EAAwEA,+DAAA,CAAyBA,iDAAzB,CAAxE,CAAP;AAA0H,GAAvL;;AACAswP,EAAAA,eAAe,CAAC39K,IAAhB,GAAuB,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE61P,eAAR;AAAyBllN,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,mBAAL,EAA0B,EAA1B,CAAD,CAApC;AAAqEgoC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,mBAAJ,CAAhF;AAA0G/nC,IAAAA,MAAM,EAAE;AAAEg/M,MAAAA,OAAO,EAAE,SAAX;AAAsBkG,MAAAA,UAAU,EAAE,YAAlC;AAAgDC,MAAAA,OAAO,EAAE,SAAzD;AAAoEC,MAAAA,eAAe,EAAE,iBAArF;AAAwGC,MAAAA,YAAY,EAAE,cAAtH;AAAsIC,MAAAA,UAAU,EAAE,YAAlJ;AAAgKvU,MAAAA,KAAK,EAAE,OAAvK;AAAgLrjK,MAAAA,IAAI,EAAE,MAAtL;AAA8LqzK,MAAAA,UAAU,EAAE,YAA1M;AAAwNgF,MAAAA,UAAU,EAAE,YAApO;AAAkPC,MAAAA,QAAQ,EAAE,UAA5P;AAAwQ5G,MAAAA,qBAAqB,EAAE,uBAA/R;AAAwT+C,MAAAA,eAAe,EAAE,iBAAzU;AAA4VC,MAAAA,aAAa,EAAE;AAA3W,KAAlH;AAAgf54M,IAAAA,OAAO,EAAE;AAAE+7M,MAAAA,mBAAmB,EAAE,qBAAvB;AAA8CC,MAAAA,aAAa,EAAE;AAA7D,KAAzf;AAAykBvlN,IAAAA,QAAQ,EAAE,CAAC,iBAAD,CAAnlB;AAAwmBC,IAAAA,QAAQ,EAAE,CAACvrC,kEAAD,CAAlnB;AAAipB+qH,IAAAA,KAAK,EAAEzgD,GAAxpB;AAA6pBkJ,IAAAA,KAAK,EAAE,CAApqB;AAAuqBC,IAAAA,IAAI,EAAE,CAA7qB;AAAgrBC,IAAAA,MAAM,EAAE,CAAC,CAAC,aAAD,EAAgB,MAAhB,EAAwB,CAAxB,EAA2B,MAA3B,CAAD,EAAqC,CAAC,MAAD,EAAS,KAAT,EAAgB,CAAhB,EAAmB,OAAnB,EAA4B,SAA5B,CAArC,EAA6E,CAAC,aAAD,EAAgB,MAAhB,CAA7E,EAAsG,CAAC,CAAD,EAAI,yBAAJ,CAAtG,EAAsI,CAAC,MAAD,EAAS,KAAT,CAAtI,EAAuJ,CAAC,OAAD,EAAU,yBAAV,EAAqC,CAArC,EAAwC,YAAxC,EAAsD,eAAtD,EAAuE,CAAvE,EAA0E,MAA1E,CAAvJ,EAA0O,CAAC,MAAD,EAAS,UAAT,EAAqB,OAArB,EAA8B,wBAA9B,EAAwD,CAAxD,EAA2D,SAA3D,EAAsE,UAAtE,EAAkF,4BAAlF,EAAgH,0BAAhH,EAA4I,+BAA5I,EAA6K,6BAA7K,EAA4M,4BAA5M,EAA0O,2CAA1O,EAAuR,yCAAvR,EAAkU,oCAAlU,EAAwW,kCAAxW,EAA4Y,uCAA5Y,EAAqb,iCAArb,EAAwd,+BAAxd,EAAyf,8BAAzf,EAAyhB,OAAzhB,EAAkiB,YAAliB,EAAgjB,eAAhjB,EAAikB,OAAjkB,EAA0kB,CAA1kB,EAA6kB,OAA7kB,EAAslB,SAAtlB,CAA1O,EAA40B,CAAC,MAAD,EAAS,UAAT,EAAqB,CAArB,EAAwB,wBAAxB,EAAkD,CAAlD,EAAqD,SAArD,EAAgE,UAAhE,EAA4E,OAA5E,CAA50B,EAAk6B,CAAC,CAAD,EAAI,gCAAJ,EAAsC,qBAAtC,CAAl6B,EAAg+B,CAAC,CAAD,EAAI,gCAAJ,CAAh+B,CAAxrB;AAAgsD1N,IAAAA,QAAQ,EAAE,SAASssL,wBAAT,CAAkC36M,EAAlC,EAAsCxgC,GAAtC,EAA2C;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACzzD33C,QAAAA,wDAAA,CAAkB,CAAlB,EAAqBmqP,6BAArB,EAAoD,CAApD,EAAuD,CAAvD,EAA0D,IAA1D,EAAgE,CAAhE;AACAnqP,QAAAA,wDAAA,CAAkB,CAAlB,EAAqBssP,6BAArB,EAAoD,CAApD,EAAuD,CAAvD,EAA0D,IAA1D,EAAgE,CAAhE;AACH;;AAAC,UAAI30M,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,wDAAA,CAAkB,MAAlB,EAA0BmX,GAAG,CAACqzO,eAAJ,GAAsBrzO,GAAG,CAACszO,qBAApD;AACAzqP,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,SAAlB,EAA6BmX,GAAG,CAAC4hE,IAAjC;AACH;AAAE,KAPuD;AAOrD0gC,IAAAA,UAAU,EAAE,CAAC38E,iDAAD,EAAcA,oDAAd,EAA8BA,oDAA9B,CAPyC;AAOMjiC,IAAAA,MAAM,EAAE,CAAC,6tLAAD,CAPd;AAO+uLs5E,IAAAA,aAAa,EAAE,CAP9vL;AAOiwLC,IAAAA,eAAe,EAAE;AAPlxL,GAAzB,CAArC;SAnNMk8K;;;AAiPN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO7oP,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA6CC,CA7ChB;AA8CA;;;AACA,SAAS0pP,WAAT,CAAqBvkP,IAArB,EAA2B;AACvB,SAAOA,IAAI,CAACm5B,QAAL,KAAkB,IAAzB;AACH;AACD;;;AACA,SAAS6rN,OAAT,CAAiB3uP,KAAjB,EAAwB8Z,KAAxB,EAA+BmvD,GAA/B,EAAoC;AAChC,SAAOA,GAAG,KAAK,IAAR,IAAgBnvD,KAAK,KAAKmvD,GAA1B,IAAiCjpE,KAAK,GAAGipE,GAAzC,IAAgDjpE,KAAK,KAAK8Z,KAAjE;AACH;AACD;;;AACA,SAAS80O,KAAT,CAAe5uP,KAAf,EAAsB8Z,KAAtB,EAA6BmvD,GAA7B,EAAkC;AAC9B,SAAOnvD,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAKmvD,GAA5B,IAAmCjpE,KAAK,IAAI8Z,KAA5C,IAAqD9Z,KAAK,KAAKipE,GAAtE;AACH;AACD;;;AACA,SAAS4lL,SAAT,CAAmB7uP,KAAnB,EAA0B8Z,KAA1B,EAAiCmvD,GAAjC,EAAsCqmL,YAAtC,EAAoD;AAChD,SAAOA,YAAY,IAAIx1O,KAAK,KAAK,IAA1B,IAAkCmvD,GAAG,KAAK,IAA1C,IAAkDnvD,KAAK,KAAKmvD,GAA5D,IACHjpE,KAAK,IAAI8Z,KADN,IACe9Z,KAAK,IAAIipE,GAD/B;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMsmL,SAAN,CAAgB;AACZn2P,EAAAA,WAAW;AACX;AACA0gB,EAAAA,KAFW;AAGX;AACAmvD,EAAAA,GAJW,EAIN;AACD,SAAKnvD,KAAL,GAAaA,KAAb;AACA,SAAKmvD,GAAL,GAAWA,GAAX;AACH;;AARW;AAUhB;AACA;AACA;AACA;;;IACMumL;AAAN,QAAMA,qBAAN,CAA4B;AACxBp2P,IAAAA,WAAW;AACX;AACAq2P,IAAAA,SAFW,EAEAC,QAFA,EAEU;AACjB,WAAKD,SAAL,GAAiBA,SAAjB;AACA,WAAKC,QAAL,GAAgBA,QAAhB;AACA,WAAKC,iBAAL,GAAyB,IAAIp4N,yCAAJ,EAAzB;AACA;;AACA,WAAKq4N,gBAAL,GAAwB,KAAKD,iBAA7B;AACA,WAAKF,SAAL,GAAiBA,SAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACII,IAAAA,eAAe,CAAC7vP,KAAD,EAAQ+4C,MAAR,EAAgB;AAC3B,YAAMrtB,QAAQ,GAAG,KAAK+jO,SAAtB;AACA,WAAKA,SAAL,GAAiBzvP,KAAjB;;AACA,WAAK2vP,iBAAL,CAAuB9mP,IAAvB,CAA4B;AAAE4mP,QAAAA,SAAS,EAAEzvP,KAAb;AAAoB+4C,QAAAA,MAApB;AAA4BrtB,QAAAA;AAA5B,OAA5B;AACH;;AACD0Q,IAAAA,WAAW,GAAG;AACV,WAAKuzN,iBAAL,CAAuBzjN,QAAvB;AACH;;AACD4jN,IAAAA,oBAAoB,CAAChsK,IAAD,EAAO;AACvB,aAAO,KAAK4rK,QAAL,CAAc/Z,cAAd,CAA6B7xJ,IAA7B,KAAsC,KAAK4rK,QAAL,CAAcxa,OAAd,CAAsBpxJ,IAAtB,CAA7C;AACH;;AA1BuB;;AA4B5B0rK,EAAAA,qBAAqB,CAACvrP,IAAtB,GAA6B,SAAS8rP,6BAAT,CAAuC5rP,CAAvC,EAA0C;AAAE,WAAO,KAAKA,CAAC,IAAIqrP,qBAAV,EAAiCzyP,sDAAA,CAAgB2C,SAAhB,CAAjC,EAA6D3C,sDAAA,CAAgB+8B,+DAAhB,CAA7D,CAAP;AAA2G,GAApL;;AACA01N,EAAAA,qBAAqB,CAACprP,KAAtB,GAA8B,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEkrP,qBAAT;AAAgCjrP,IAAAA,OAAO,EAAEirP,qBAAqB,CAACvrP;AAA/D,GAA1B,CAA5C;SA7BMurP;;;AAkCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOhrP,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAE8E,CAF7F;AAGA;AACA;AACA;AACA;;;IACMwrP;AAAN,QAAMA,2BAAN,SAA0CR,qBAA1C,CAAgE;AAC5Dp2P,IAAAA,WAAW,CAAC8/E,OAAD,EAAU;AACjB,YAAM,IAAN,EAAYA,OAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACItrE,IAAAA,GAAG,CAACk2E,IAAD,EAAO;AACN,YAAM+rK,eAAN,CAAsB/rK,IAAtB,EAA4B,IAA5B;AACH;AACD;;;AACAoxJ,IAAAA,OAAO,GAAG;AACN,aAAO,KAAKua,SAAL,IAAkB,IAAlB,IAA0B,KAAKK,oBAAL,CAA0B,KAAKL,SAA/B,CAAjC;AACH;AACD;AACJ;AACA;AACA;;;AACIQ,IAAAA,UAAU,GAAG;AACT,aAAO,KAAKR,SAAL,IAAkB,IAAzB;AACH;AACD;;;AACA7tJ,IAAAA,KAAK,GAAG;AACJ,YAAMA,KAAK,GAAG,IAAIouJ,2BAAJ,CAAgC,KAAKN,QAArC,CAAd;AACA9tJ,MAAAA,KAAK,CAACiuJ,eAAN,CAAsB,KAAKJ,SAA3B,EAAsC,IAAtC;AACA,aAAO7tJ,KAAP;AACH;;AA3B2D;;AA6BhEouJ,EAAAA,2BAA2B,CAAC/rP,IAA5B,GAAmC,SAASisP,mCAAT,CAA6C/rP,CAA7C,EAAgD;AAAE,WAAO,KAAKA,CAAC,IAAI6rP,2BAAV,EAAuCjzP,sDAAA,CAAgB+8B,+DAAhB,CAAvC,CAAP;AAAqF,GAA1K;;AACAk2N,EAAAA,2BAA2B,CAAC5rP,KAA5B,GAAoC,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAE0rP,2BAAT;AAAsCzrP,IAAAA,OAAO,EAAEyrP,2BAA2B,CAAC/rP;AAA3E,GAA1B,CAAlD;SA9BM+rP;;;AAkCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOxrP,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAEyD,CAFxE;AAGA;AACA;AACA;AACA;;;IACM2rP;AAAN,QAAMA,0BAAN,SAAyCX,qBAAzC,CAA+D;AAC3Dp2P,IAAAA,WAAW,CAAC8/E,OAAD,EAAU;AACjB,YAAM,IAAIq2K,SAAJ,CAAc,IAAd,EAAoB,IAApB,CAAN,EAAiCr2K,OAAjC;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACItrE,IAAAA,GAAG,CAACk2E,IAAD,EAAO;AACN,UAAI;AAAEhqE,QAAAA,KAAF;AAASmvD,QAAAA;AAAT,UAAiB,KAAKwmL,SAA1B;;AACA,UAAI31O,KAAK,IAAI,IAAb,EAAmB;AACfA,QAAAA,KAAK,GAAGgqE,IAAR;AACH,OAFD,MAGK,IAAI7a,GAAG,IAAI,IAAX,EAAiB;AAClBA,QAAAA,GAAG,GAAG6a,IAAN;AACH,OAFI,MAGA;AACDhqE,QAAAA,KAAK,GAAGgqE,IAAR;AACA7a,QAAAA,GAAG,GAAG,IAAN;AACH;;AACD,YAAM4mL,eAAN,CAAsB,IAAIN,SAAJ,CAAcz1O,KAAd,EAAqBmvD,GAArB,CAAtB,EAAiD,IAAjD;AACH;AACD;;;AACAisK,IAAAA,OAAO,GAAG;AACN,YAAM;AAAEp7N,QAAAA,KAAF;AAASmvD,QAAAA;AAAT,UAAiB,KAAKwmL,SAA5B,CADM,CAEN;;AACA,UAAI31O,KAAK,IAAI,IAAT,IAAiBmvD,GAAG,IAAI,IAA5B,EAAkC;AAC9B,eAAO,IAAP;AACH,OALK,CAMN;;;AACA,UAAInvD,KAAK,IAAI,IAAT,IAAiBmvD,GAAG,IAAI,IAA5B,EAAkC;AAC9B,eAAO,KAAK6mL,oBAAL,CAA0Bh2O,KAA1B,KAAoC,KAAKg2O,oBAAL,CAA0B7mL,GAA1B,CAApC,IACH,KAAKymL,QAAL,CAAcpT,WAAd,CAA0BxiO,KAA1B,EAAiCmvD,GAAjC,KAAyC,CAD7C;AAEH,OAVK,CAWN;;;AACA,aAAO,CAACnvD,KAAK,IAAI,IAAT,IAAiB,KAAKg2O,oBAAL,CAA0Bh2O,KAA1B,CAAlB,MACFmvD,GAAG,IAAI,IAAP,IAAe,KAAK6mL,oBAAL,CAA0B7mL,GAA1B,CADb,CAAP;AAEH;AACD;AACJ;AACA;AACA;;;AACIgnL,IAAAA,UAAU,GAAG;AACT,aAAO,KAAKR,SAAL,CAAe31O,KAAf,IAAwB,IAAxB,IAAgC,KAAK21O,SAAL,CAAexmL,GAAf,IAAsB,IAA7D;AACH;AACD;;;AACA24B,IAAAA,KAAK,GAAG;AACJ,YAAMA,KAAK,GAAG,IAAIuuJ,0BAAJ,CAA+B,KAAKT,QAApC,CAAd;AACA9tJ,MAAAA,KAAK,CAACiuJ,eAAN,CAAsB,KAAKJ,SAA3B,EAAsC,IAAtC;AACA,aAAO7tJ,KAAP;AACH;;AAnD0D;;AAqD/DuuJ,EAAAA,0BAA0B,CAAClsP,IAA3B,GAAkC,SAASmsP,kCAAT,CAA4CjsP,CAA5C,EAA+C;AAAE,WAAO,KAAKA,CAAC,IAAIgsP,0BAAV,EAAsCpzP,sDAAA,CAAgB+8B,+DAAhB,CAAtC,CAAP;AAAoF,GAAvK;;AACAq2N,EAAAA,0BAA0B,CAAC/rP,KAA3B,GAAmC,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAE6rP,0BAAT;AAAqC5rP,IAAAA,OAAO,EAAE4rP,0BAA0B,CAAClsP;AAAzE,GAA1B,CAAjD;SAtDMksP;;;AA0DN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO3rP,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAEyD,CAFxE;AAGA;;;AACA,SAAS6rP,uCAAT,CAAiDltO,MAAjD,EAAyD+1D,OAAzD,EAAkE;AAC9D,SAAO/1D,MAAM,IAAI,IAAI6sO,2BAAJ,CAAgC92K,OAAhC,CAAjB;AACH;AACD;AACA;AACA;AACA;;;AACA,MAAMo3K,wCAAwC,GAAG;AAC7Cz7M,EAAAA,OAAO,EAAE26M,qBADoC;AAE7C3xL,EAAAA,IAAI,EAAE,CAAC,cAAC,IAAI1mC,mDAAJ,EAAD,eAAiB,IAAIyvC,mDAAJ,EAAjB,EAAiC4oL,qBAAjC,CAAD,EAA0D7c,+DAA1D,CAFuC;AAG7C70K,EAAAA,UAAU,EAAEuyL;AAHiC,CAAjD;AAKA;;AACA,SAASE,sCAAT,CAAgDptO,MAAhD,EAAwD+1D,OAAxD,EAAiE;AAC7D,SAAO/1D,MAAM,IAAI,IAAIgtO,0BAAJ,CAA+Bj3K,OAA/B,CAAjB;AACH;AACD;AACA;AACA;AACA;;;AACA,MAAMs3K,uCAAuC,GAAG;AAC5C37M,EAAAA,OAAO,EAAE26M,qBADmC;AAE5C3xL,EAAAA,IAAI,EAAE,CAAC,cAAC,IAAI1mC,mDAAJ,EAAD,eAAiB,IAAIyvC,mDAAJ,EAAjB,EAAiC4oL,qBAAjC,CAAD,EAA0D7c,+DAA1D,CAFsC;AAG5C70K,EAAAA,UAAU,EAAEyyL;AAHgC,CAAhD;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA,MAAME,iCAAiC,gBAAG,IAAIv5N,yDAAJ,CAAmB,mCAAnB,CAA1C;AACA;;IACMw5N;AAAN,QAAMA,+BAAN,CAAsC;AAClCt3P,IAAAA,WAAW,CAACu3P,YAAD,EAAe;AACtB,WAAKA,YAAL,GAAoBA,YAApB;AACH;;AACDC,IAAAA,iBAAiB,CAAC9sK,IAAD,EAAO+sK,YAAP,EAAqB;AAClC,UAAI;AAAE/2O,QAAAA,KAAF;AAASmvD,QAAAA;AAAT,UAAiB4nL,YAArB;;AACA,UAAI/2O,KAAK,IAAI,IAAb,EAAmB;AACfA,QAAAA,KAAK,GAAGgqE,IAAR;AACH,OAFD,MAGK,IAAI7a,GAAG,IAAI,IAAP,IAAe6a,IAAf,IAAuB,KAAK6sK,YAAL,CAAkBrU,WAAlB,CAA8Bx4J,IAA9B,EAAoChqE,KAApC,KAA8C,CAAzE,EAA4E;AAC7EmvD,QAAAA,GAAG,GAAG6a,IAAN;AACH,OAFI,MAGA;AACDhqE,QAAAA,KAAK,GAAGgqE,IAAR;AACA7a,QAAAA,GAAG,GAAG,IAAN;AACH;;AACD,aAAO,IAAIsmL,SAAJ,CAAcz1O,KAAd,EAAqBmvD,GAArB,CAAP;AACH;;AACD6nL,IAAAA,aAAa,CAAC/G,UAAD,EAAa8G,YAAb,EAA2B;AACpC,UAAI/2O,KAAK,GAAG,IAAZ;AACA,UAAImvD,GAAG,GAAG,IAAV;;AACA,UAAI4nL,YAAY,CAAC/2O,KAAb,IAAsB,CAAC+2O,YAAY,CAAC5nL,GAApC,IAA2C8gL,UAA/C,EAA2D;AACvDjwO,QAAAA,KAAK,GAAG+2O,YAAY,CAAC/2O,KAArB;AACAmvD,QAAAA,GAAG,GAAG8gL,UAAN;AACH;;AACD,aAAO,IAAIwF,SAAJ,CAAcz1O,KAAd,EAAqBmvD,GAArB,CAAP;AACH;;AA1BiC;;AA4BtCynL,EAAAA,+BAA+B,CAACzsP,IAAhC,GAAuC,SAAS8sP,uCAAT,CAAiD5sP,CAAjD,EAAoD;AAAE,WAAO,KAAKA,CAAC,IAAIusP,+BAAV,EAA2C3zP,sDAAA,CAAgB+8B,+DAAhB,CAA3C,CAAP;AAAyF,GAAtL;;AACA42N,EAAAA,+BAA+B,CAACtsP,KAAhC,GAAwC,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEosP,+BAAT;AAA0CnsP,IAAAA,OAAO,EAAEmsP,+BAA+B,CAACzsP;AAAnF,GAA1B,CAAtD;SA7BMysP;;;AAiCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOlsP,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAEyD,CAFxE;AAGA;;;AACA,SAASwsP,4CAAT,CAAsD7tO,MAAtD,EAA8D+1D,OAA9D,EAAuE;AACnE,SAAO/1D,MAAM,IAAI,IAAIutO,+BAAJ,CAAoCx3K,OAApC,CAAjB;AACH;AACD;;;AACA,MAAM+3K,oCAAoC,GAAG;AACzCp8M,EAAAA,OAAO,EAAE47M,iCADgC;AAEzC5yL,EAAAA,IAAI,EAAE,CAAC,cAAC,IAAI1mC,mDAAJ,EAAD,eAAiB,IAAIyvC,mDAAJ,EAAjB,EAAiC6pL,iCAAjC,CAAD,EAAsE9d,+DAAtE,CAFmC;AAGzC70K,EAAAA,UAAU,EAAEkzL;AAH6B,CAA7C;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAME,aAAa,GAAG,CAAtB;AACA;AACA;AACA;AACA;;IACMC;AAAN,QAAMA,YAAN,CAAmB;AACf/3P,IAAAA,WAAW,CAAC2zE,kBAAD,EAAqBqkL,YAArB,EAAmCT,YAAnC,EAAiDz8M,IAAjD,EAAuDm9M,cAAvD,EAAuE;AAC9E,WAAKtkL,kBAAL,GAA0BA,kBAA1B;AACA,WAAKqkL,YAAL,GAAoBA,YAApB;AACA,WAAKT,YAAL,GAAoBA,YAApB;AACA,WAAKz8M,IAAL,GAAYA,IAAZ;AACA,WAAKm9M,cAAL,GAAsBA,cAAtB;AACA,WAAKC,qBAAL,GAA6B95N,oDAA7B;AACA;;AACA,WAAK+5N,cAAL,GAAsB,IAAIn6N,uDAAJ,EAAtB;AACA;;AACA,WAAKo6N,cAAL,GAAsB,IAAIp6N,uDAAJ,EAAtB;AACA;;AACA,WAAKq6N,gBAAL,GAAwB,IAAIr6N,uDAAJ,EAAxB;;AACA,UAAI,OAAO5yB,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,YAAI,CAAC,KAAKmsP,YAAV,EAAwB;AACpB,gBAAMtE,0BAA0B,CAAC,aAAD,CAAhC;AACH;;AACD,YAAI,CAAC,KAAK+E,YAAV,EAAwB;AACpB,gBAAM/E,0BAA0B,CAAC,kBAAD,CAAhC;AACH;AACJ;;AACD,WAAKqF,WAAL,GAAmB,KAAKf,YAAL,CAAkBnnK,KAAlB,EAAnB;AACH;AACD;AACJ;AACA;;;AACkB,QAAVugK,UAAU,GAAG;AAAE,aAAO,KAAK2H,WAAZ;AAA0B;;AAC/B,QAAV3H,UAAU,CAAC/pP,KAAD,EAAQ;AAClB,YAAM2xP,aAAa,GAAG,KAAKD,WAA3B;;AACA,YAAME,SAAS,GAAG,KAAKjB,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,KAA8E,KAAK2wP,YAAL,CAAkBnnK,KAAlB,EAAhG;;AACA,WAAKkoK,WAAL,GAAmB,KAAKf,YAAL,CAAkBhU,SAAlB,CAA4BiV,SAA5B,EAAuC,KAAKvH,OAA5C,EAAqD,KAAKD,OAA1D,CAAnB;;AACA,UAAI,CAAC,KAAKyH,oBAAL,CAA0BF,aAA1B,EAAyC,KAAKD,WAA9C,CAAL,EAAiE;AAC7D,aAAK73K,KAAL;AACH;AACJ;AACD;;;AACY,QAAR1hC,QAAQ,GAAG;AAAE,aAAO,KAAKC,SAAZ;AAAwB;;AAC7B,QAARD,QAAQ,CAACn4C,KAAD,EAAQ;AAChB,UAAIA,KAAK,YAAYuvP,SAArB,EAAgC;AAC5B,aAAKn3M,SAAL,GAAiBp4C,KAAjB;AACH,OAFD,MAGK;AACD,aAAKo4C,SAAL,GAAiB,KAAKu4M,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAjB;AACH;;AACD,WAAK8xP,UAAL,CAAgB,KAAK15M,SAArB;AACH;AACD;;;AACW,QAAPiyM,OAAO,GAAG;AAAE,aAAO,KAAK0H,QAAZ;AAAuB;;AAC5B,QAAP1H,OAAO,CAACrqP,KAAD,EAAQ;AACf,WAAK+xP,QAAL,GAAgB,KAAKpB,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAhB;AACH;AACD;;;AACW,QAAPoqP,OAAO,GAAG;AAAE,aAAO,KAAK4H,QAAZ;AAAuB;;AAC5B,QAAP5H,OAAO,CAACpqP,KAAD,EAAQ;AACf,WAAKgyP,QAAL,GAAgB,KAAKrB,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAhB;AACH;;AACDynC,IAAAA,kBAAkB,GAAG;AACjB,WAAK6pN,qBAAL,GAA6B,KAAKX,YAAL,CAAkBvU,aAAlB,CACxB58M,IADwB,CACnBynC,yDAAS,CAAC,IAAD,CADU,EAExB5oC,SAFwB,CAEd,MAAM,KAAKw7C,KAAL,EAFQ,CAA7B;AAGH;;AACDjyC,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,YAAM6zN,gBAAgB,GAAG7zN,OAAO,CAAC,iBAAD,CAAP,IAA8BA,OAAO,CAAC,eAAD,CAA9D;;AACA,UAAI6zN,gBAAgB,IAAI,CAACA,gBAAgB,CAACnqN,WAA1C,EAAuD;AACnD,aAAKgqN,UAAL,CAAgB,KAAK35M,QAArB;AACH;AACJ;;AACD/b,IAAAA,WAAW,GAAG;AACV,WAAKk1N,qBAAL,CAA2B/xN,WAA3B;AACH;AACD;;;AACA2qN,IAAAA,aAAa,CAACjrP,KAAD,EAAQ;AACjB,YAAM6kF,IAAI,GAAG7kF,KAAK,CAACe,KAAnB;;AACA,YAAMkyP,YAAY,GAAG,KAAKvB,YAAL,CAAkBpc,OAAlB,CAA0B,KAAKwV,UAA/B,CAArB;;AACA,YAAMoI,aAAa,GAAG,KAAKxB,YAAL,CAAkBxpK,QAAlB,CAA2B,KAAK4iK,UAAhC,CAAtB;;AACA,YAAMqI,YAAY,GAAG,KAAKzB,YAAL,CAAkBhsK,UAAlB,CAA6ButK,YAA7B,EAA2CC,aAA3C,EAA0DruK,IAA1D,CAArB;;AACA,UAAIuuK,cAAJ;AACA,UAAIC,YAAJ;;AACA,UAAI,KAAKl6M,SAAL,YAA0Bm3M,SAA9B,EAAyC;AACrC8C,QAAAA,cAAc,GAAG,KAAKE,sBAAL,CAA4B,KAAKn6M,SAAL,CAAet+B,KAA3C,CAAjB;AACAw4O,QAAAA,YAAY,GAAG,KAAKC,sBAAL,CAA4B,KAAKn6M,SAAL,CAAe6wB,GAA3C,CAAf;AACH,OAHD,MAIK;AACDopL,QAAAA,cAAc,GAAGC,YAAY,GAAG,KAAKC,sBAAL,CAA4B,KAAKn6M,SAAjC,CAAhC;AACH;;AACD,UAAIi6M,cAAc,KAAKvuK,IAAnB,IAA2BwuK,YAAY,KAAKxuK,IAAhD,EAAsD;AAClD,aAAKytK,cAAL,CAAoB7/M,IAApB,CAAyB0gN,YAAzB;AACH;;AACD,WAAKZ,cAAL,CAAoB9/M,IAApB,CAAyB;AAAE1xC,QAAAA,KAAK,EAAEoyP,YAAT;AAAuBnzP,QAAAA,KAAK,EAAEA,KAAK,CAACA;AAApC,OAAzB;;AACA,WAAKuzP,aAAL,GAAqB,KAAKC,WAAL,GAAmB,IAAxC;;AACA,WAAK1lL,kBAAL,CAAwBwC,YAAxB;AACH;AACD;;;AACAmjL,IAAAA,0BAA0B,CAACzzP,KAAD,EAAQ;AAC9B;AACA;AACA;AACA,YAAM0yP,aAAa,GAAG,KAAKD,WAA3B;;AACA,YAAMz7L,KAAK,GAAG,KAAKvC,MAAL,EAAd;;AACA,cAAQz0D,KAAK,CAACihC,OAAd;AACI,aAAKhI,6DAAL;AACI,eAAK6xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBnb,eAAlB,CAAkC,KAAKkc,WAAvC,EAAoDz7L,KAAK,GAAG,CAAH,GAAO,CAAC,CAAjE,CAAlB;AACA;;AACJ,aAAK99B,8DAAL;AACI,eAAK4xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBnb,eAAlB,CAAkC,KAAKkc,WAAvC,EAAoDz7L,KAAK,GAAG,CAAC,CAAJ,GAAQ,CAAjE,CAAlB;AACA;;AACJ,aAAK79B,2DAAL;AACI,eAAK2xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBnb,eAAlB,CAAkC,KAAKkc,WAAvC,EAAoD,CAAC,CAArD,CAAlB;AACA;;AACJ,aAAKr5N,6DAAL;AACI,eAAK0xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBnb,eAAlB,CAAkC,KAAKkc,WAAvC,EAAoD,CAApD,CAAlB;AACA;;AACJ,aAAKz5N,uDAAL;AACI,eAAK8xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBnb,eAAlB,CAAkC,KAAKkc,WAAvC,EAAoD,IAAI,KAAKf,YAAL,CAAkBvpK,OAAlB,CAA0B,KAAKsqK,WAA/B,CAAxD,CAAlB;AACA;;AACJ,aAAK15N,sDAAL;AACI,eAAK+xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBnb,eAAlB,CAAkC,KAAKkc,WAAvC,EAAqD,KAAKf,YAAL,CAAkB5b,iBAAlB,CAAoC,KAAK2c,WAAzC,IACnE,KAAKf,YAAL,CAAkBvpK,OAAlB,CAA0B,KAAKsqK,WAA/B,CADc,CAAlB;AAEA;;AACJ,aAAKz3M,0DAAL;AACI,eAAK8vM,UAAL,GAAkB9qP,KAAK,CAAC+gD,MAAN,GACd,KAAK2wM,YAAL,CAAkBtb,gBAAlB,CAAmC,KAAKqc,WAAxC,EAAqD,CAAC,CAAtD,CADc,GAEd,KAAKf,YAAL,CAAkBpb,iBAAlB,CAAoC,KAAKmc,WAAzC,EAAsD,CAAC,CAAvD,CAFJ;AAGA;;AACJ,aAAKx3M,4DAAL;AACI,eAAK6vM,UAAL,GAAkB9qP,KAAK,CAAC+gD,MAAN,GACd,KAAK2wM,YAAL,CAAkBtb,gBAAlB,CAAmC,KAAKqc,WAAxC,EAAqD,CAArD,CADc,GAEd,KAAKf,YAAL,CAAkBpb,iBAAlB,CAAoC,KAAKmc,WAAzC,EAAsD,CAAtD,CAFJ;AAGA;;AACJ,aAAK93M,wDAAL;AACA,aAAKI,wDAAL;AACI,eAAK24M,oBAAL,GAA4B,IAA5B;;AACA,cAAI,KAAKC,UAAL,CAAgB,KAAKlB,WAArB,CAAJ,EAAuC;AACnC;AACA;AACA;AACA;AACA;AACAzyP,YAAAA,KAAK,CAAC6hC,cAAN;AACH;;AACD;;AACJ,aAAKiZ,yDAAL;AACI;AACA,cAAI,KAAK04M,WAAL,IAAoB,IAApB,IAA4B,CAAC96N,qEAAc,CAAC14B,KAAD,CAA/C,EAAwD;AACpD,iBAAKuzP,aAAL,GAAqB,KAAKC,WAAL,GAAmB,IAAxC;AACA,iBAAKlB,cAAL,CAAoB7/M,IAApB,CAAyB,IAAzB;;AACA,iBAAK8/M,cAAL,CAAoB9/M,IAApB,CAAyB;AAAE1xC,cAAAA,KAAK,EAAE,IAAT;AAAef,cAAAA;AAAf,aAAzB;;AACAA,YAAAA,KAAK,CAAC6hC,cAAN;AACA7hC,YAAAA,KAAK,CAAC4zP,eAAN,GALoD,CAK3B;AAC5B;;AACD;;AACJ;AACI;AACA;AAtDR;;AAwDA,UAAI,KAAKlC,YAAL,CAAkBrU,WAAlB,CAA8BqV,aAA9B,EAA6C,KAAK5H,UAAlD,CAAJ,EAAmE;AAC/D,aAAK0H,gBAAL,CAAsB//M,IAAtB,CAA2B,KAAKq4M,UAAhC;AACH;;AACD,WAAK0E,gBAAL,GAjE8B,CAkE9B;;;AACAxvP,MAAAA,KAAK,CAAC6hC,cAAN;AACH;AACD;;;AACAgyN,IAAAA,wBAAwB,CAAC7zP,KAAD,EAAQ;AAC5B,UAAIA,KAAK,CAACihC,OAAN,KAAkB8Z,wDAAlB,IAA2B/6C,KAAK,CAACihC,OAAN,KAAkB0Z,wDAAjD,EAAwD;AACpD,YAAI,KAAK+4M,oBAAL,IAA6B,KAAKC,UAAL,CAAgB,KAAKlB,WAArB,CAAjC,EAAoE;AAChE,eAAKxH,aAAL,CAAmB;AAAElqP,YAAAA,KAAK,EAAE,KAAK2wP,YAAL,CAAkBvpK,OAAlB,CAA0B,KAAKsqK,WAA/B,CAAT;AAAsDzyP,YAAAA;AAAtD,WAAnB;AACH;;AACD,aAAK0zP,oBAAL,GAA4B,KAA5B;AACH;AACJ;AACD;;;AACA94K,IAAAA,KAAK,GAAG;AACJ,WAAKi4K,UAAL,CAAgB,KAAK35M,QAArB;;AACA,WAAK46M,UAAL,GAAkB,KAAKC,oBAAL,CAA0B,KAAKrC,YAAL,CAAkBnnK,KAAlB,EAA1B,CAAlB;AACA,WAAKypK,WAAL,GAAmB,KAAK7B,YAAL,CAAkBzlO,OAAlB,CAA0BunO,UAA1B,GACb,KAAKvC,YAAL,CAAkB3tK,MAAlB,CAAyB,KAAK+mK,UAA9B,EAA0C,KAAKqH,YAAL,CAAkBzlO,OAAlB,CAA0BunO,UAApE,CADa,GAEb,KAAKvC,YAAL,CAAkBjc,aAAlB,CAAgC,OAAhC,EAAyC,KAAKic,YAAL,CAAkBxpK,QAAlB,CAA2B,KAAK4iK,UAAhC,CAAzC,EACGppN,iBADH,EAFN;;AAIA,UAAIwyN,YAAY,GAAG,KAAKxC,YAAL,CAAkBhsK,UAAlB,CAA6B,KAAKgsK,YAAL,CAAkBpc,OAAlB,CAA0B,KAAKwV,UAA/B,CAA7B,EAAyE,KAAK4G,YAAL,CAAkBxpK,QAAlB,CAA2B,KAAK4iK,UAAhC,CAAzE,EAAsH,CAAtH,CAAnB;;AACA,WAAKqJ,gBAAL,GACI,CAAClC,aAAa,GAAG,KAAKP,YAAL,CAAkBnc,YAAlB,CAA+B2e,YAA/B,CAAhB,GACG,KAAKxC,YAAL,CAAkB7b,iBAAlB,EADJ,IAC6Coc,aAFjD;;AAGA,WAAKmC,aAAL;;AACA,WAAKC,gBAAL;;AACA,WAAKvmL,kBAAL,CAAwBwC,YAAxB;AACH;AACD;;;AACAk/K,IAAAA,gBAAgB,CAACC,WAAD,EAAc;AAC1B,WAAK6E,gBAAL,CAAsB9E,gBAAtB,CAAuCC,WAAvC;AACH;AACD;;;AACA8E,IAAAA,eAAe,CAAC;AAAEv0P,MAAAA,KAAF;AAASe,MAAAA,KAAK,EAAE+tP;AAAhB,KAAD,EAAyB;AACpC,UAAI,KAAKsD,cAAT,EAAyB;AACrB;AACA;AACA,cAAMrxP,KAAK,GAAG+tP,IAAI,GAAGA,IAAI,CAACp0G,QAAR,GAAmB,IAArC;;AACA,cAAM85G,YAAY,GAAG,KAAKpC,cAAL,CAAoBP,aAApB,CAAkC9wP,KAAlC,EAAyC,KAAKm4C,QAA9C,EAAwDl5C,KAAxD,CAArB;;AACA,aAAKuzP,aAAL,GAAqB,KAAKQ,oBAAL,CAA0BS,YAAY,CAAC35O,KAAvC,CAArB;AACA,aAAK24O,WAAL,GAAmB,KAAKO,oBAAL,CAA0BS,YAAY,CAACxqL,GAAvC,CAAnB,CANqB,CAOrB;AACA;AACA;AACA;;AACA,aAAK8D,kBAAL,CAAwBpI,aAAxB;AACH;AACJ;AACD;;;AACA0uL,IAAAA,aAAa,GAAG;AACZ,YAAMzf,cAAc,GAAG,KAAK+c,YAAL,CAAkB7b,iBAAlB,EAAvB;;AACA,YAAM4e,cAAc,GAAG,KAAK/C,YAAL,CAAkB/b,iBAAlB,CAAoC,QAApC,CAAvB;;AACA,YAAM+e,YAAY,GAAG,KAAKhD,YAAL,CAAkB/b,iBAAlB,CAAoC,MAApC,CAArB,CAHY,CAIZ;;;AACA,UAAIV,QAAQ,GAAGyf,YAAY,CAAC9zP,GAAb,CAAiB,CAAC4pP,IAAD,EAAOlnP,CAAP,KAAa;AACzC,eAAO;AAAEknP,UAAAA,IAAF;AAAQC,UAAAA,MAAM,EAAEgK,cAAc,CAACnxP,CAAD;AAA9B,SAAP;AACH,OAFc,CAAf;AAGA,WAAKqxP,SAAL,GAAiB1f,QAAQ,CAACp9N,KAAT,CAAe88N,cAAf,EAA+B9lN,MAA/B,CAAsComN,QAAQ,CAACp9N,KAAT,CAAe,CAAf,EAAkB88N,cAAlB,CAAtC,CAAjB;AACH;AACD;;;AACA0f,IAAAA,gBAAgB,GAAG;AACf,YAAMte,WAAW,GAAG,KAAK2b,YAAL,CAAkB5b,iBAAlB,CAAoC,KAAKgV,UAAzC,CAApB;;AACA,YAAM8J,SAAS,GAAG,KAAKlD,YAAL,CAAkBhc,YAAlB,EAAlB;;AACA,WAAKmf,MAAL,GAAc,CAAC,EAAD,CAAd;;AACA,WAAK,IAAIvxP,CAAC,GAAG,CAAR,EAAWwrP,IAAI,GAAG,KAAKqF,gBAA5B,EAA8C7wP,CAAC,GAAGyyO,WAAlD,EAA+DzyO,CAAC,IAAIwrP,IAAI,EAAxE,EAA4E;AACxE,YAAIA,IAAI,IAAImD,aAAZ,EAA2B;AACvB,eAAK4C,MAAL,CAAY15P,IAAZ,CAAiB,EAAjB;;AACA2zP,UAAAA,IAAI,GAAG,CAAP;AACH;;AACD,cAAMjqK,IAAI,GAAG,KAAK6sK,YAAL,CAAkBhsK,UAAlB,CAA6B,KAAKgsK,YAAL,CAAkBpc,OAAlB,CAA0B,KAAKwV,UAA/B,CAA7B,EAAyE,KAAK4G,YAAL,CAAkBxpK,QAAlB,CAA2B,KAAK4iK,UAAhC,CAAzE,EAAsHxnP,CAAC,GAAG,CAA1H,CAAb;;AACA,cAAMw8B,OAAO,GAAG,KAAKg1N,iBAAL,CAAuBjwK,IAAvB,CAAhB;;AACA,cAAM/mD,SAAS,GAAG,KAAK4zN,YAAL,CAAkB3tK,MAAlB,CAAyBc,IAAzB,EAA+B,KAAKstK,YAAL,CAAkBzlO,OAAlB,CAA0ByqN,aAAzD,CAAlB;;AACA,cAAM4d,WAAW,GAAG,KAAK1J,SAAL,GAAiB,KAAKA,SAAL,CAAexmK,IAAf,EAAqB,OAArB,CAAjB,GAAiDpkF,SAArE;;AACA,aAAKo0P,MAAL,CAAY,KAAKA,MAAL,CAAYv4P,MAAZ,GAAqB,CAAjC,EAAoCnB,IAApC,CAAyC,IAAIgzP,eAAJ,CAAoB7qP,CAAC,GAAG,CAAxB,EAA2BsxP,SAAS,CAACtxP,CAAD,CAApC,EAAyCw6B,SAAzC,EAAoDgC,OAApD,EAA6Di1N,WAA7D,EAA0E,KAAKhB,oBAAL,CAA0BlvK,IAA1B,CAA1E,EAA2GA,IAA3G,CAAzC;AACH;AACJ;AACD;;;AACAiwK,IAAAA,iBAAiB,CAACjwK,IAAD,EAAO;AACpB,aAAO,CAAC,CAACA,IAAF,KACF,CAAC,KAAKumK,OAAN,IAAiB,KAAKsG,YAAL,CAAkBrU,WAAlB,CAA8Bx4J,IAA9B,EAAoC,KAAKumK,OAAzC,KAAqD,CADpE,MAEF,CAAC,KAAKD,OAAN,IAAiB,KAAKuG,YAAL,CAAkBrU,WAAlB,CAA8Bx4J,IAA9B,EAAoC,KAAKsmK,OAAzC,KAAqD,CAFpE,MAGF,CAAC,KAAKD,UAAN,IAAoB,KAAKA,UAAL,CAAgBrmK,IAAhB,CAHlB,CAAP;AAIH;AACD;AACJ;AACA;AACA;;;AACIyuK,IAAAA,sBAAsB,CAACzuK,IAAD,EAAO;AACzB,aAAOA,IAAI,IAAI,KAAK+tK,oBAAL,CAA0B/tK,IAA1B,EAAgC,KAAKimK,UAArC,CAAR,GACH,KAAK4G,YAAL,CAAkBvpK,OAAlB,CAA0BtD,IAA1B,CADG,GAC+B,IADtC;AAEH;AACD;;;AACA+tK,IAAAA,oBAAoB,CAAC5tO,EAAD,EAAKgwO,EAAL,EAAS;AACzB,aAAO,CAAC,EAAEhwO,EAAE,IAAIgwO,EAAN,IAAY,KAAKtD,YAAL,CAAkBxpK,QAAlB,CAA2BljE,EAA3B,KAAkC,KAAK0sO,YAAL,CAAkBxpK,QAAlB,CAA2B8sK,EAA3B,CAA9C,IACN,KAAKtD,YAAL,CAAkBpc,OAAlB,CAA0BtwN,EAA1B,KAAiC,KAAK0sO,YAAL,CAAkBpc,OAAlB,CAA0B0f,EAA1B,CAD7B,CAAR;AAEH;AACD;;;AACAjB,IAAAA,oBAAoB,CAAClvK,IAAD,EAAO;AACvB,UAAIA,IAAJ,EAAU;AACN;AACA;AACA,cAAMc,IAAI,GAAG,KAAK+rK,YAAL,CAAkBpc,OAAlB,CAA0BzwJ,IAA1B,CAAb;;AACA,cAAMe,KAAK,GAAG,KAAK8rK,YAAL,CAAkBxpK,QAAlB,CAA2BrD,IAA3B,CAAd;;AACA,cAAM2wJ,GAAG,GAAG,KAAKkc,YAAL,CAAkBvpK,OAAlB,CAA0BtD,IAA1B,CAAZ;;AACA,eAAO,IAAIj0D,IAAJ,CAAS+0D,IAAT,EAAeC,KAAf,EAAsB4vJ,GAAtB,EAA2B9qJ,OAA3B,EAAP;AACH;;AACD,aAAO,IAAP;AACH;AACD;;;AACAj2B,IAAAA,MAAM,GAAG;AACL,aAAO,KAAKxf,IAAL,IAAa,KAAKA,IAAL,CAAUl0C,KAAV,KAAoB,KAAxC;AACH;AACD;;;AACA8xP,IAAAA,UAAU,CAACoC,aAAD,EAAgB;AACtB,UAAIA,aAAa,YAAY3E,SAA7B,EAAwC;AACpC,aAAK4E,WAAL,GAAmB,KAAKnB,oBAAL,CAA0BkB,aAAa,CAACp6O,KAAxC,CAAnB;AACA,aAAKs6O,SAAL,GAAiB,KAAKpB,oBAAL,CAA0BkB,aAAa,CAACjrL,GAAxC,CAAjB;AACA,aAAKorL,QAAL,GAAgB,IAAhB;AACH,OAJD,MAKK;AACD,aAAKF,WAAL,GAAmB,KAAKC,SAAL,GAAiB,KAAKpB,oBAAL,CAA0BkB,aAA1B,CAApC;AACA,aAAKG,QAAL,GAAgB,KAAhB;AACH;;AACD,WAAKC,qBAAL,GAA6B,KAAKtB,oBAAL,CAA0B,KAAKzI,eAA/B,CAA7B;AACA,WAAKgK,mBAAL,GAA2B,KAAKvB,oBAAL,CAA0B,KAAKxI,aAA/B,CAA3B;AACH;AACD;;;AACAoI,IAAAA,UAAU,CAAC9uK,IAAD,EAAO;AACb,aAAO,CAAC,KAAKqmK,UAAN,IAAoB,KAAKA,UAAL,CAAgBrmK,IAAhB,CAA3B;AACH;;AAjSc;;AAmSnBqtK,EAAAA,YAAY,CAACltP,IAAb,GAAoB,SAASuwP,oBAAT,CAA8BrwP,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAIgtP,YAAV,EAAwBp0P,+DAAA,CAAyBA,4DAAzB,CAAxB,EAA4EA,+DAAA,CAAyB81O,oEAAzB,EAA2C,CAA3C,CAA5E,EAA2H91O,+DAAA,CAAyB+8B,+DAAzB,EAA6C,CAA7C,CAA3H,EAA4K/8B,+DAAA,CAAyBqlD,6DAAzB,EAAgD,CAAhD,CAA5K,EAAgOrlD,+DAAA,CAAyB0zP,iCAAzB,EAA4D,CAA5D,CAAhO,CAAP;AAAyS,GAAhW;;AACAU,EAAAA,YAAY,CAACzhL,IAAb,GAAoB,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE25P,YAAR;AAAsBhpN,IAAAA,SAAS,EAAE,CAAC,CAAC,gBAAD,CAAD,CAAjC;AAAuDynC,IAAAA,SAAS,EAAE,SAAS6kL,kBAAT,CAA4B//M,EAA5B,EAAgCxgC,GAAhC,EAAqC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACxK33C,QAAAA,yDAAA,CAAmBswP,eAAnB,EAAoC,CAApC;AACH;;AAAC,UAAI34M,EAAE,GAAG,CAAT,EAAY;AACV,YAAIq7B,EAAJ;;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAACq/O,gBAAJ,GAAuBxjL,EAAE,CAACG,KAA/E;AACH;AAAE,KALoD;AAKlD9nC,IAAAA,MAAM,EAAE;AAAE2hN,MAAAA,UAAU,EAAE,YAAd;AAA4B5xM,MAAAA,QAAQ,EAAE,UAAtC;AAAkDkyM,MAAAA,OAAO,EAAE,SAA3D;AAAsED,MAAAA,OAAO,EAAE,SAA/E;AAA0FD,MAAAA,UAAU,EAAE,YAAtG;AAAoHG,MAAAA,SAAS,EAAE,WAA/H;AAA4IC,MAAAA,eAAe,EAAE,iBAA7J;AAAgLC,MAAAA,aAAa,EAAE;AAA/L,KAL0C;AAKwK54M,IAAAA,OAAO,EAAE;AAAE2/M,MAAAA,cAAc,EAAE,gBAAlB;AAAoCC,MAAAA,cAAc,EAAE,gBAApD;AAAsEC,MAAAA,gBAAgB,EAAE;AAAxF,KALjL;AAK+RppN,IAAAA,QAAQ,EAAE,CAAC,cAAD,CALzS;AAK2TC,IAAAA,QAAQ,EAAE,CAACvrC,kEAAD,CALrU;AAKoWwzE,IAAAA,KAAK,EAAE,CAL3W;AAK8WC,IAAAA,IAAI,EAAE,EALpX;AAKwXC,IAAAA,MAAM,EAAE,CAAC,CAAC,MAAD,EAAS,MAAT,EAAiB,CAAjB,EAAoB,oBAApB,CAAD,EAA4C,CAAC,CAAD,EAAI,2BAAJ,CAA5C,EAA8E,CAAC,OAAD,EAAU,KAAV,EAAiB,CAAjB,EAAoB,OAApB,EAA6B,SAA7B,CAA9E,EAAuH,CAAC,aAAD,EAAgB,MAAhB,EAAwB,SAAxB,EAAmC,GAAnC,EAAwC,CAAxC,EAA2C,mCAA3C,CAAvH,EAAwM,CAAC,mBAAD,EAAsB,EAAtB,EAA0B,CAA1B,EAA6B,OAA7B,EAAsC,MAAtC,EAA8C,YAA9C,EAA4D,YAA5D,EAA0E,UAA1E,EAAsF,iBAAtF,EAAyG,eAAzG,EAA0H,cAA1H,EAA0I,YAA1I,EAAwJ,SAAxJ,EAAmK,uBAAnK,EAA4L,YAA5L,EAA0M,qBAA1M,EAAiO,eAAjO,EAAkP,OAAlP,EAA2P,SAA3P,CAAxM,EAA+c,CAAC,OAAD,EAAU,KAAV,CAA/c,EAAie,CAAC,CAAD,EAAI,mBAAJ,CAAje,CALhY;AAK43B1N,IAAAA,QAAQ,EAAE,SAAS2xL,qBAAT,CAA+BhgN,EAA/B,EAAmCxgC,GAAnC,EAAwC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC/+B33C,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,OAAzB,EAAkC,CAAlC;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,OAAzB,EAAkC,CAAlC;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,IAAzB;AACAA,QAAAA,wDAAA,CAAkB,CAAlB,EAAqBwsP,0BAArB,EAAiD,CAAjD,EAAoD,CAApD,EAAuD,IAAvD,EAA6D,CAA7D;AACAxsP,QAAAA,0DAAA;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,IAAzB;AACAA,QAAAA,uDAAA,CAAiB,CAAjB,EAAoB,IAApB,EAA0B,CAA1B;AACAA,QAAAA,0DAAA;AACAA,QAAAA,0DAAA;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,OAAzB,EAAkC,CAAlC;AACAA,QAAAA,wDAAA,CAAkB,qBAAlB,EAAyC,SAAS43P,0DAAT,CAAoE9iC,MAApE,EAA4E;AAAE,iBAAO39M,GAAG,CAACg2O,aAAJ,CAAkBr4B,MAAlB,CAAP;AAAmC,SAA1J,EAA4J,eAA5J,EAA6K,SAAS+iC,oDAAT,CAA8D/iC,MAA9D,EAAsE;AAAE,iBAAO39M,GAAG,CAACs/O,eAAJ,CAAoB3hC,MAApB,CAAP;AAAqC,SAA1R,EAA4R,OAA5R,EAAqS,SAASgjC,4CAAT,CAAsDhjC,MAAtD,EAA8D;AAAE,iBAAO39M,GAAG,CAAC4+O,wBAAJ,CAA6BjhC,MAA7B,CAAP;AAA8C,SAAnZ,EAAqZ,SAArZ,EAAga,SAASijC,8CAAT,CAAwDjjC,MAAxD,EAAgE;AAAE,iBAAO39M,GAAG,CAACw+O,0BAAJ,CAA+B7gC,MAA/B,CAAP;AAAgD,SAAlhB;AACA90N,QAAAA,0DAAA;AACAA,QAAAA,0DAAA;AACH;;AAAC,UAAI23C,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,SAAlB,EAA6BmX,GAAG,CAAC0/O,SAAjC;AACA72P,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,OAAlB,EAA2BmX,GAAG,CAAC++O,WAA/B,EAA4C,MAA5C,EAAoD/+O,GAAG,CAAC4/O,MAAxD,EAAgE,YAAhE,EAA8E5/O,GAAG,CAAC6+O,UAAlF,EAA8F,YAA9F,EAA4G7+O,GAAG,CAACigP,WAAhH,EAA6H,UAA7H,EAAyIjgP,GAAG,CAACkgP,SAA7I,EAAwJ,iBAAxJ,EAA2KlgP,GAAG,CAACogP,qBAA/K,EAAsM,eAAtM,EAAuNpgP,GAAG,CAACqgP,mBAA3N,EAAgP,cAAhP,EAAgQrgP,GAAG,CAACs+O,aAApQ,EAAmR,YAAnR,EAAiSt+O,GAAG,CAACu+O,WAArS,EAAkT,SAAlT,EAA6Tv+O,GAAG,CAACmgP,QAAjU,EAA2U,uBAA3U,EAAoW,CAApW,EAAuW,YAAvW,EAAqXngP,GAAG,CAACy8O,YAAJ,CAAiBvpK,OAAjB,CAAyBlzE,GAAG,CAAC61O,UAA7B,IAA2C,CAAha;AACH;AAAE,KAxBoD;AAwBlDvzI,IAAAA,UAAU,EAAE,CAAC38E,oDAAD,EAAiBwzN,eAAjB,CAxBsC;AAwBHn8K,IAAAA,aAAa,EAAE,CAxBZ;AAwBeC,IAAAA,eAAe,EAAE;AAxBhC,GAAzB,CAAlC;SApSMggL;;;AAkVN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO3sP,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAgDC,CAhDhB;AAkDA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMuwP,YAAY,GAAG,EAArB;AACA,MAAMC,WAAW,GAAG,CAApB;AACA;AACA;AACA;AACA;;IACMC;AAAN,QAAMA,gBAAN,CAAuB;AACnB77P,IAAAA,WAAW,CAAC2zE,kBAAD,EAAqB4jL,YAArB,EAAmCz8M,IAAnC,EAAyC;AAChD,WAAK64B,kBAAL,GAA0BA,kBAA1B;AACA,WAAK4jL,YAAL,GAAoBA,YAApB;AACA,WAAKz8M,IAAL,GAAYA,IAAZ;AACA,WAAKo9M,qBAAL,GAA6B95N,oDAA7B;AACA;;AACA,WAAK+5N,cAAL,GAAsB,IAAIn6N,uDAAJ,EAAtB;AACA;;AACA,WAAK89N,YAAL,GAAoB,IAAI99N,uDAAJ,EAApB;AACA;;AACA,WAAKq6N,gBAAL,GAAwB,IAAIr6N,uDAAJ,EAAxB;;AACA,UAAI,CAAC,KAAKu5N,YAAN,KAAuB,OAAOnsP,SAAP,KAAqB,WAArB,IAAoCA,SAA3D,CAAJ,EAA2E;AACvE,cAAM6nP,0BAA0B,CAAC,aAAD,CAAhC;AACH;;AACD,WAAKqF,WAAL,GAAmB,KAAKf,YAAL,CAAkBnnK,KAAlB,EAAnB;AACH;AACD;;;AACc,QAAVugK,UAAU,GAAG;AAAE,aAAO,KAAK2H,WAAZ;AAA0B;;AAC/B,QAAV3H,UAAU,CAAC/pP,KAAD,EAAQ;AAClB,UAAI2xP,aAAa,GAAG,KAAKD,WAAzB;;AACA,YAAME,SAAS,GAAG,KAAKjB,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,KAA8E,KAAK2wP,YAAL,CAAkBnnK,KAAlB,EAAhG;;AACA,WAAKkoK,WAAL,GAAmB,KAAKf,YAAL,CAAkBhU,SAAlB,CAA4BiV,SAA5B,EAAuC,KAAKvH,OAA5C,EAAqD,KAAKD,OAA1D,CAAnB;;AACA,UAAI,CAAC+K,mBAAmB,CAAC,KAAKxE,YAAN,EAAoBgB,aAApB,EAAmC,KAAKD,WAAxC,EAAqD,KAAKrH,OAA1D,EAAmE,KAAKD,OAAxE,CAAxB,EAA0G;AACtG,aAAKvwK,KAAL;AACH;AACJ;AACD;;;AACY,QAAR1hC,QAAQ,GAAG;AAAE,aAAO,KAAKC,SAAZ;AAAwB;;AAC7B,QAARD,QAAQ,CAACn4C,KAAD,EAAQ;AAChB,UAAIA,KAAK,YAAYuvP,SAArB,EAAgC;AAC5B,aAAKn3M,SAAL,GAAiBp4C,KAAjB;AACH,OAFD,MAGK;AACD,aAAKo4C,SAAL,GAAiB,KAAKu4M,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAjB;AACH;;AACD,WAAKo1P,gBAAL,CAAsBp1P,KAAtB;AACH;AACD;;;AACW,QAAPqqP,OAAO,GAAG;AAAE,aAAO,KAAK0H,QAAZ;AAAuB;;AAC5B,QAAP1H,OAAO,CAACrqP,KAAD,EAAQ;AACf,WAAK+xP,QAAL,GAAgB,KAAKpB,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAhB;AACH;AACD;;;AACW,QAAPoqP,OAAO,GAAG;AAAE,aAAO,KAAK4H,QAAZ;AAAuB;;AAC5B,QAAP5H,OAAO,CAACpqP,KAAD,EAAQ;AACf,WAAKgyP,QAAL,GAAgB,KAAKrB,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAhB;AACH;;AACDynC,IAAAA,kBAAkB,GAAG;AACjB,WAAK6pN,qBAAL,GAA6B,KAAKX,YAAL,CAAkBvU,aAAlB,CACxB58M,IADwB,CACnBynC,yDAAS,CAAC,IAAD,CADU,EAExB5oC,SAFwB,CAEd,MAAM,KAAKw7C,KAAL,EAFQ,CAA7B;AAGH;;AACDz9C,IAAAA,WAAW,GAAG;AACV,WAAKk1N,qBAAL,CAA2B/xN,WAA3B;AACH;AACD;;;AACAs6C,IAAAA,KAAK,GAAG;AACJ,WAAKw7K,UAAL,GAAkB,KAAK1E,YAAL,CAAkBpc,OAAlB,CAA0B,KAAKoc,YAAL,CAAkBnnK,KAAlB,EAA1B,CAAlB,CADI,CAEJ;AACA;AACA;AACA;AACA;;AACA,YAAM8rK,UAAU,GAAG,KAAK3E,YAAL,CAAkBpc,OAAlB,CAA0B,KAAKmd,WAA/B,CAAnB;;AACA,YAAM6D,aAAa,GAAGD,UAAU,GAAGE,eAAe,CAAC,KAAK7E,YAAN,EAAoB,KAAK5G,UAAzB,EAAqC,KAAKM,OAA1C,EAAmD,KAAKD,OAAxD,CAAlD;AACA,WAAKqL,MAAL,GAAc,EAAd;;AACA,WAAK,IAAIlzP,CAAC,GAAG,CAAR,EAAW2sP,GAAG,GAAG,EAAtB,EAA0B3sP,CAAC,GAAGwyP,YAA9B,EAA4CxyP,CAAC,EAA7C,EAAiD;AAC7C2sP,QAAAA,GAAG,CAAC90P,IAAJ,CAASm7P,aAAa,GAAGhzP,CAAzB;;AACA,YAAI2sP,GAAG,CAAC3zP,MAAJ,IAAcy5P,WAAlB,EAA+B;AAC3B,eAAKS,MAAL,CAAYr7P,IAAZ,CAAiB80P,GAAG,CAACrvP,GAAJ,CAAQ+kF,IAAI,IAAI,KAAK8wK,kBAAL,CAAwB9wK,IAAxB,CAAhB,CAAjB;;AACAsqK,UAAAA,GAAG,GAAG,EAAN;AACH;AACJ;;AACD,WAAKniL,kBAAL,CAAwBwC,YAAxB;AACH;AACD;;;AACAomL,IAAAA,aAAa,CAAC12P,KAAD,EAAQ;AACjB,YAAM2lF,IAAI,GAAG3lF,KAAK,CAACe,KAAnB;AACA,WAAKk1P,YAAL,CAAkBxjN,IAAlB,CAAuB,KAAKi/M,YAAL,CAAkBhsK,UAAlB,CAA6BC,IAA7B,EAAmC,CAAnC,EAAsC,CAAtC,CAAvB;;AACA,UAAIC,KAAK,GAAG,KAAK8rK,YAAL,CAAkBxpK,QAAlB,CAA2B,KAAK4iK,UAAhC,CAAZ;;AACA,UAAI/U,WAAW,GAAG,KAAK2b,YAAL,CAAkB5b,iBAAlB,CAAoC,KAAK4b,YAAL,CAAkBhsK,UAAlB,CAA6BC,IAA7B,EAAmCC,KAAnC,EAA0C,CAA1C,CAApC,CAAlB;;AACA,WAAK0sK,cAAL,CAAoB7/M,IAApB,CAAyB,KAAKi/M,YAAL,CAAkBhsK,UAAlB,CAA6BC,IAA7B,EAAmCC,KAAnC,EAA0C1oF,IAAI,CAACI,GAAL,CAAS,KAAKo0P,YAAL,CAAkBvpK,OAAlB,CAA0B,KAAK2iK,UAA/B,CAAT,EAAqD/U,WAArD,CAA1C,CAAzB;AACH;AACD;;;AACA0d,IAAAA,0BAA0B,CAACzzP,KAAD,EAAQ;AAC9B,YAAM0yP,aAAa,GAAG,KAAKD,WAA3B;;AACA,YAAMz7L,KAAK,GAAG,KAAKvC,MAAL,EAAd;;AACA,cAAQz0D,KAAK,CAACihC,OAAd;AACI,aAAKhI,6DAAL;AACI,eAAK6xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBtb,gBAAlB,CAAmC,KAAKqc,WAAxC,EAAqDz7L,KAAK,GAAG,CAAH,GAAO,CAAC,CAAlE,CAAlB;AACA;;AACJ,aAAK99B,8DAAL;AACI,eAAK4xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBtb,gBAAlB,CAAmC,KAAKqc,WAAxC,EAAqDz7L,KAAK,GAAG,CAAC,CAAJ,GAAQ,CAAlE,CAAlB;AACA;;AACJ,aAAK79B,2DAAL;AACI,eAAK2xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBtb,gBAAlB,CAAmC,KAAKqc,WAAxC,EAAqD,CAACsD,WAAtD,CAAlB;AACA;;AACJ,aAAK38N,6DAAL;AACI,eAAK0xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBtb,gBAAlB,CAAmC,KAAKqc,WAAxC,EAAqDsD,WAArD,CAAlB;AACA;;AACJ,aAAK/8N,uDAAL;AACI,eAAK8xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBtb,gBAAlB,CAAmC,KAAKqc,WAAxC,EAAqD,CAAC8D,eAAe,CAAC,KAAK7E,YAAN,EAAoB,KAAK5G,UAAzB,EAAqC,KAAKM,OAA1C,EAAmD,KAAKD,OAAxD,CAArE,CAAlB;AACA;;AACJ,aAAKpyN,sDAAL;AACI,eAAK+xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBtb,gBAAlB,CAAmC,KAAKqc,WAAxC,EAAqDqD,YAAY,GAAGS,eAAe,CAAC,KAAK7E,YAAN,EAAoB,KAAK5G,UAAzB,EAAqC,KAAKM,OAA1C,EAAmD,KAAKD,OAAxD,CAA9B,GAAiG,CAAtJ,CAAlB;AACA;;AACJ,aAAKnwM,0DAAL;AACI,eAAK8vM,UAAL,GACI,KAAK4G,YAAL,CAAkBtb,gBAAlB,CAAmC,KAAKqc,WAAxC,EAAqDzyP,KAAK,CAAC+gD,MAAN,GAAe,CAAC+0M,YAAD,GAAgB,EAA/B,GAAoC,CAACA,YAA1F,CADJ;AAEA;;AACJ,aAAK76M,4DAAL;AACI,eAAK6vM,UAAL,GACI,KAAK4G,YAAL,CAAkBtb,gBAAlB,CAAmC,KAAKqc,WAAxC,EAAqDzyP,KAAK,CAAC+gD,MAAN,GAAe+0M,YAAY,GAAG,EAA9B,GAAmCA,YAAxF,CADJ;AAEA;;AACJ,aAAKn7M,wDAAL;AACA,aAAKI,wDAAL;AACI;AACA;AACA;AACA;AACA,eAAK24M,oBAAL,GAA4B,IAA5B;AACA;;AACJ;AACI;AACA;AArCR;;AAuCA,UAAI,KAAKhC,YAAL,CAAkBrU,WAAlB,CAA8BqV,aAA9B,EAA6C,KAAK5H,UAAlD,CAAJ,EAAmE;AAC/D,aAAK0H,gBAAL,CAAsB//M,IAAtB,CAA2B,KAAKq4M,UAAhC;AACH;;AACD,WAAK0E,gBAAL,GA7C8B,CA8C9B;;;AACAxvP,MAAAA,KAAK,CAAC6hC,cAAN;AACH;AACD;;;AACAgyN,IAAAA,wBAAwB,CAAC7zP,KAAD,EAAQ;AAC5B,UAAIA,KAAK,CAACihC,OAAN,KAAkB8Z,wDAAlB,IAA2B/6C,KAAK,CAACihC,OAAN,KAAkB0Z,wDAAjD,EAAwD;AACpD,YAAI,KAAK+4M,oBAAT,EAA+B;AAC3B,eAAKgD,aAAL,CAAmB;AAAE31P,YAAAA,KAAK,EAAE,KAAK2wP,YAAL,CAAkBpc,OAAlB,CAA0B,KAAKmd,WAA/B,CAAT;AAAsDzyP,YAAAA;AAAtD,WAAnB;AACH;;AACD,aAAK0zP,oBAAL,GAA4B,KAA5B;AACH;AACJ;;AACDiD,IAAAA,cAAc,GAAG;AACb,aAAOJ,eAAe,CAAC,KAAK7E,YAAN,EAAoB,KAAK5G,UAAzB,EAAqC,KAAKM,OAA1C,EAAmD,KAAKD,OAAxD,CAAtB;AACH;AACD;;;AACAqE,IAAAA,gBAAgB,GAAG;AACf,WAAK8E,gBAAL,CAAsB9E,gBAAtB;AACH;AACD;;;AACAiH,IAAAA,kBAAkB,CAAC9wK,IAAD,EAAO;AACrB,YAAMd,IAAI,GAAG,KAAK6sK,YAAL,CAAkBhsK,UAAlB,CAA6BC,IAA7B,EAAmC,CAAnC,EAAsC,CAAtC,CAAb;;AACA,YAAMixK,QAAQ,GAAG,KAAKlF,YAAL,CAAkB9b,WAAlB,CAA8B/wJ,IAA9B,CAAjB;;AACA,YAAMkwK,WAAW,GAAG,KAAK1J,SAAL,GAAiB,KAAKA,SAAL,CAAexmK,IAAf,EAAqB,YAArB,CAAjB,GAAsDpkF,SAA1E;AACA,aAAO,IAAI0tP,eAAJ,CAAoBxoK,IAApB,EAA0BixK,QAA1B,EAAoCA,QAApC,EAA8C,KAAKC,iBAAL,CAAuBlxK,IAAvB,CAA9C,EAA4EovK,WAA5E,CAAP;AACH;AACD;;;AACA8B,IAAAA,iBAAiB,CAAClxK,IAAD,EAAO;AACpB;AACA,UAAIA,IAAI,KAAKllF,SAAT,IAAsBklF,IAAI,KAAK,IAA/B,IACC,KAAKwlK,OAAL,IAAgBxlK,IAAI,GAAG,KAAK+rK,YAAL,CAAkBpc,OAAlB,CAA0B,KAAK6V,OAA/B,CADxB,IAEC,KAAKC,OAAL,IAAgBzlK,IAAI,GAAG,KAAK+rK,YAAL,CAAkBpc,OAAlB,CAA0B,KAAK8V,OAA/B,CAF5B,EAEsE;AAClE,eAAO,KAAP;AACH,OANmB,CAOpB;;;AACA,UAAI,CAAC,KAAKF,UAAV,EAAsB;AAClB,eAAO,IAAP;AACH;;AACD,YAAM4L,WAAW,GAAG,KAAKpF,YAAL,CAAkBhsK,UAAlB,CAA6BC,IAA7B,EAAmC,CAAnC,EAAsC,CAAtC,CAApB,CAXoB,CAYpB;;;AACA,WAAK,IAAId,IAAI,GAAGiyK,WAAhB,EAA6B,KAAKpF,YAAL,CAAkBpc,OAAlB,CAA0BzwJ,IAA1B,KAAmCc,IAAhE,EAAsEd,IAAI,GAAG,KAAK6sK,YAAL,CAAkBnb,eAAlB,CAAkC1xJ,IAAlC,EAAwC,CAAxC,CAA7E,EAAyH;AACrH,YAAI,KAAKqmK,UAAL,CAAgBrmK,IAAhB,CAAJ,EAA2B;AACvB,iBAAO,IAAP;AACH;AACJ;;AACD,aAAO,KAAP;AACH;AACD;;;AACApwB,IAAAA,MAAM,GAAG;AACL,aAAO,KAAKxf,IAAL,IAAa,KAAKA,IAAL,CAAUl0C,KAAV,KAAoB,KAAxC;AACH;AACD;;;AACAo1P,IAAAA,gBAAgB,CAACp1P,KAAD,EAAQ;AACpB,WAAKg2P,aAAL,GAAqB,IAArB;;AACA,UAAIh2P,KAAK,YAAYuvP,SAArB,EAAgC;AAC5B,cAAMnG,YAAY,GAAGppP,KAAK,CAAC8Z,KAAN,IAAe9Z,KAAK,CAACipE,GAA1C;;AACA,YAAImgL,YAAJ,EAAkB;AACd,eAAK4M,aAAL,GAAqB,KAAKrF,YAAL,CAAkBpc,OAAlB,CAA0B6U,YAA1B,CAArB;AACH;AACJ,OALD,MAMK,IAAIppP,KAAJ,EAAW;AACZ,aAAKg2P,aAAL,GAAqB,KAAKrF,YAAL,CAAkBpc,OAAlB,CAA0Bv0O,KAA1B,CAArB;AACH;AACJ;;AAlMkB;;AAoMvBi1P,EAAAA,gBAAgB,CAAChxP,IAAjB,GAAwB,SAASgyP,wBAAT,CAAkC9xP,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAI8wP,gBAAV,EAA4Bl4P,+DAAA,CAAyBA,4DAAzB,CAA5B,EAAgFA,+DAAA,CAAyB+8B,+DAAzB,EAA6C,CAA7C,CAAhF,EAAiI/8B,+DAAA,CAAyBqlD,6DAAzB,EAAgD,CAAhD,CAAjI,CAAP;AAA8L,GAA7P;;AACA6yM,EAAAA,gBAAgB,CAACvlL,IAAjB,GAAwB,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEy9P,gBAAR;AAA0B9sN,IAAAA,SAAS,EAAE,CAAC,CAAC,qBAAD,CAAD,CAArC;AAAgEynC,IAAAA,SAAS,EAAE,SAASsmL,sBAAT,CAAgCxhN,EAAhC,EAAoCxgC,GAApC,EAAyC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACzL33C,QAAAA,yDAAA,CAAmBswP,eAAnB,EAAoC,CAApC;AACH;;AAAC,UAAI34M,EAAE,GAAG,CAAT,EAAY;AACV,YAAIq7B,EAAJ;;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAACq/O,gBAAJ,GAAuBxjL,EAAE,CAACG,KAA/E;AACH;AAAE,KALwD;AAKtD9nC,IAAAA,MAAM,EAAE;AAAE2hN,MAAAA,UAAU,EAAE,YAAd;AAA4B5xM,MAAAA,QAAQ,EAAE,UAAtC;AAAkDkyM,MAAAA,OAAO,EAAE,SAA3D;AAAsED,MAAAA,OAAO,EAAE,SAA/E;AAA0FD,MAAAA,UAAU,EAAE,YAAtG;AAAoHG,MAAAA,SAAS,EAAE;AAA/H,KAL8C;AAKgG14M,IAAAA,OAAO,EAAE;AAAE2/M,MAAAA,cAAc,EAAE,gBAAlB;AAAoC2D,MAAAA,YAAY,EAAE,cAAlD;AAAkEzD,MAAAA,gBAAgB,EAAE;AAApF,KALzG;AAKmNppN,IAAAA,QAAQ,EAAE,CAAC,kBAAD,CAL7N;AAKmPkoC,IAAAA,KAAK,EAAE,CAL1P;AAK6PC,IAAAA,IAAI,EAAE,CALnQ;AAKsQC,IAAAA,MAAM,EAAE,CAAC,CAAC,MAAD,EAAS,MAAT,EAAiB,CAAjB,EAAoB,oBAApB,CAAD,EAA4C,CAAC,aAAD,EAAgB,MAAhB,EAAwB,CAAxB,EAA2B,2BAA3B,CAA5C,EAAqG,CAAC,SAAD,EAAY,GAAZ,EAAiB,CAAjB,EAAoB,mCAApB,CAArG,EAA+J,CAAC,mBAAD,EAAsB,EAAtB,EAA0B,CAA1B,EAA6B,MAA7B,EAAqC,YAArC,EAAmD,YAAnD,EAAiE,UAAjE,EAA6E,SAA7E,EAAwF,iBAAxF,EAA2G,YAA3G,EAAyH,qBAAzH,EAAgJ,OAAhJ,EAAyJ,SAAzJ,CAA/J,CAL9Q;AAKmlB1N,IAAAA,QAAQ,EAAE,SAASozL,yBAAT,CAAmCzhN,EAAnC,EAAuCxgC,GAAvC,EAA4C;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC9sB33C,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,OAAzB,EAAkC,CAAlC;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,OAAzB,EAAkC,CAAlC;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,IAAzB;AACAA,QAAAA,uDAAA,CAAiB,CAAjB,EAAoB,IAApB,EAA0B,CAA1B;AACAA,QAAAA,0DAAA;AACAA,QAAAA,0DAAA;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,OAAzB,EAAkC,CAAlC;AACAA,QAAAA,wDAAA,CAAkB,qBAAlB,EAAyC,SAASq5P,8DAAT,CAAwEvkC,MAAxE,EAAgF;AAAE,iBAAO39M,GAAG,CAACyhP,aAAJ,CAAkB9jC,MAAlB,CAAP;AAAmC,SAA9J,EAAgK,OAAhK,EAAyK,SAASwkC,gDAAT,CAA0DxkC,MAA1D,EAAkE;AAAE,iBAAO39M,GAAG,CAAC4+O,wBAAJ,CAA6BjhC,MAA7B,CAAP;AAA8C,SAA3R,EAA6R,SAA7R,EAAwS,SAASykC,kDAAT,CAA4DzkC,MAA5D,EAAoE;AAAE,iBAAO39M,GAAG,CAACw+O,0BAAJ,CAA+B7gC,MAA/B,CAAP;AAAgD,SAA9Z;AACA90N,QAAAA,0DAAA;AACAA,QAAAA,0DAAA;AACH;;AAAC,UAAI23C,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,MAAlB,EAA0BmX,GAAG,CAACuhP,MAA9B,EAAsC,YAAtC,EAAoDvhP,GAAG,CAACmhP,UAAxD,EAAoE,YAApE,EAAkFnhP,GAAG,CAAC8hP,aAAtF,EAAqG,UAArG,EAAiH9hP,GAAG,CAAC8hP,aAArH,EAAoI,SAApI,EAA+I,CAA/I,EAAkJ,iBAAlJ,EAAqK,IAAI,CAAzK,EAA4K,YAA5K,EAA0L9hP,GAAG,CAAC0hP,cAAJ,EAA1L;AACH;AAAE,KAnBwD;AAmBtDp/I,IAAAA,UAAU,EAAE,CAAC62I,eAAD,CAnB0C;AAmBvBn8K,IAAAA,aAAa,EAAE,CAnBQ;AAmBLC,IAAAA,eAAe,EAAE;AAnBZ,GAAzB,CAAtC;SArMM8jL;;;AA0ON;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOzwP,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAkCC,CAlChB;;AAmCA,SAAS2wP,mBAAT,CAA6BoB,WAA7B,EAA0CC,KAA1C,EAAiDC,KAAjD,EAAwDpM,OAAxD,EAAiED,OAAjE,EAA0E;AACtE,QAAMsM,KAAK,GAAGH,WAAW,CAAChiB,OAAZ,CAAoBiiB,KAApB,CAAd;AACA,QAAMG,KAAK,GAAGJ,WAAW,CAAChiB,OAAZ,CAAoBkiB,KAApB,CAAd;AACA,QAAMG,YAAY,GAAGC,eAAe,CAACN,WAAD,EAAclM,OAAd,EAAuBD,OAAvB,CAApC;AACA,SAAOjuP,IAAI,CAACi8D,KAAL,CAAW,CAACs+L,KAAK,GAAGE,YAAT,IAAyB7B,YAApC,MACH54P,IAAI,CAACi8D,KAAL,CAAW,CAACu+L,KAAK,GAAGC,YAAT,IAAyB7B,YAApC,CADJ;AAEH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASS,eAAT,CAAyBe,WAAzB,EAAsCxM,UAAtC,EAAkDM,OAAlD,EAA2DD,OAA3D,EAAoE;AAChE,QAAMkL,UAAU,GAAGiB,WAAW,CAAChiB,OAAZ,CAAoBwV,UAApB,CAAnB;AACA,SAAO+M,eAAe,CAAExB,UAAU,GAAGuB,eAAe,CAACN,WAAD,EAAclM,OAAd,EAAuBD,OAAvB,CAA9B,EAAgE2K,YAAhE,CAAtB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS8B,eAAT,CAAyBN,WAAzB,EAAsClM,OAAtC,EAA+CD,OAA/C,EAAwD;AACpD,MAAIwM,YAAY,GAAG,CAAnB;;AACA,MAAIxM,OAAJ,EAAa;AACT,UAAM2M,OAAO,GAAGR,WAAW,CAAChiB,OAAZ,CAAoB6V,OAApB,CAAhB;AACAwM,IAAAA,YAAY,GAAGG,OAAO,GAAGhC,YAAV,GAAyB,CAAxC;AACH,GAHD,MAIK,IAAI1K,OAAJ,EAAa;AACduM,IAAAA,YAAY,GAAGL,WAAW,CAAChiB,OAAZ,CAAoB8V,OAApB,CAAf;AACH;;AACD,SAAOuM,YAAP;AACH;AACD;;;AACA,SAASE,eAAT,CAAyBhzO,CAAzB,EAA4BC,CAA5B,EAA+B;AAC3B,SAAO,CAACD,CAAC,GAAGC,CAAJ,GAAQA,CAAT,IAAcA,CAArB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;IACMizO;AAAN,QAAMA,WAAN,CAAkB;AACd59P,IAAAA,WAAW,CAAC2zE,kBAAD,EAAqBqkL,YAArB,EAAmCT,YAAnC,EAAiDz8M,IAAjD,EAAuD;AAC9D,WAAK64B,kBAAL,GAA0BA,kBAA1B;AACA,WAAKqkL,YAAL,GAAoBA,YAApB;AACA,WAAKT,YAAL,GAAoBA,YAApB;AACA,WAAKz8M,IAAL,GAAYA,IAAZ;AACA,WAAKo9M,qBAAL,GAA6B95N,oDAA7B;AACA;;AACA,WAAK+5N,cAAL,GAAsB,IAAIn6N,uDAAJ,EAAtB;AACA;;AACA,WAAK6/N,aAAL,GAAqB,IAAI7/N,uDAAJ,EAArB;AACA;;AACA,WAAKq6N,gBAAL,GAAwB,IAAIr6N,uDAAJ,EAAxB;;AACA,UAAI,OAAO5yB,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,YAAI,CAAC,KAAKmsP,YAAV,EAAwB;AACpB,gBAAMtE,0BAA0B,CAAC,aAAD,CAAhC;AACH;;AACD,YAAI,CAAC,KAAK+E,YAAV,EAAwB;AACpB,gBAAM/E,0BAA0B,CAAC,kBAAD,CAAhC;AACH;AACJ;;AACD,WAAKqF,WAAL,GAAmB,KAAKf,YAAL,CAAkBnnK,KAAlB,EAAnB;AACH;AACD;;;AACc,QAAVugK,UAAU,GAAG;AAAE,aAAO,KAAK2H,WAAZ;AAA0B;;AAC/B,QAAV3H,UAAU,CAAC/pP,KAAD,EAAQ;AAClB,UAAI2xP,aAAa,GAAG,KAAKD,WAAzB;;AACA,YAAME,SAAS,GAAG,KAAKjB,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,KAA8E,KAAK2wP,YAAL,CAAkBnnK,KAAlB,EAAhG;;AACA,WAAKkoK,WAAL,GAAmB,KAAKf,YAAL,CAAkBhU,SAAlB,CAA4BiV,SAA5B,EAAuC,KAAKvH,OAA5C,EAAqD,KAAKD,OAA1D,CAAnB;;AACA,UAAI,KAAKuG,YAAL,CAAkBpc,OAAlB,CAA0Bod,aAA1B,MAA6C,KAAKhB,YAAL,CAAkBpc,OAAlB,CAA0B,KAAKmd,WAA/B,CAAjD,EAA8F;AAC1F,aAAK73K,KAAL;AACH;AACJ;AACD;;;AACY,QAAR1hC,QAAQ,GAAG;AAAE,aAAO,KAAKC,SAAZ;AAAwB;;AAC7B,QAARD,QAAQ,CAACn4C,KAAD,EAAQ;AAChB,UAAIA,KAAK,YAAYuvP,SAArB,EAAgC;AAC5B,aAAKn3M,SAAL,GAAiBp4C,KAAjB;AACH,OAFD,MAGK;AACD,aAAKo4C,SAAL,GAAiB,KAAKu4M,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAjB;AACH;;AACD,WAAKk3P,iBAAL,CAAuBl3P,KAAvB;AACH;AACD;;;AACW,QAAPqqP,OAAO,GAAG;AAAE,aAAO,KAAK0H,QAAZ;AAAuB;;AAC5B,QAAP1H,OAAO,CAACrqP,KAAD,EAAQ;AACf,WAAK+xP,QAAL,GAAgB,KAAKpB,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAhB;AACH;AACD;;;AACW,QAAPoqP,OAAO,GAAG;AAAE,aAAO,KAAK4H,QAAZ;AAAuB;;AAC5B,QAAP5H,OAAO,CAACpqP,KAAD,EAAQ;AACf,WAAKgyP,QAAL,GAAgB,KAAKrB,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAhB;AACH;;AACDynC,IAAAA,kBAAkB,GAAG;AACjB,WAAK6pN,qBAAL,GAA6B,KAAKX,YAAL,CAAkBvU,aAAlB,CACxB58M,IADwB,CACnBynC,yDAAS,CAAC,IAAD,CADU,EAExB5oC,SAFwB,CAEd,MAAM,KAAKw7C,KAAL,EAFQ,CAA7B;AAGH;;AACDz9C,IAAAA,WAAW,GAAG;AACV,WAAKk1N,qBAAL,CAA2B/xN,WAA3B;AACH;AACD;;;AACA43N,IAAAA,cAAc,CAACl4P,KAAD,EAAQ;AAClB,YAAM4lF,KAAK,GAAG5lF,KAAK,CAACe,KAApB;;AACA,YAAMo3P,cAAc,GAAG,KAAKzG,YAAL,CAAkBhsK,UAAlB,CAA6B,KAAKgsK,YAAL,CAAkBpc,OAAlB,CAA0B,KAAKwV,UAA/B,CAA7B,EAAyEllK,KAAzE,EAAgF,CAAhF,CAAvB;;AACA,WAAKoyK,aAAL,CAAmBvlN,IAAnB,CAAwB0lN,cAAxB;;AACA,YAAMpiB,WAAW,GAAG,KAAK2b,YAAL,CAAkB5b,iBAAlB,CAAoCqiB,cAApC,CAApB;;AACA,WAAK7F,cAAL,CAAoB7/M,IAApB,CAAyB,KAAKi/M,YAAL,CAAkBhsK,UAAlB,CAA6B,KAAKgsK,YAAL,CAAkBpc,OAAlB,CAA0B,KAAKwV,UAA/B,CAA7B,EAAyEllK,KAAzE,EAAgF1oF,IAAI,CAACI,GAAL,CAAS,KAAKo0P,YAAL,CAAkBvpK,OAAlB,CAA0B,KAAK2iK,UAA/B,CAAT,EAAqD/U,WAArD,CAAhF,CAAzB;AACH;AACD;;;AACA0d,IAAAA,0BAA0B,CAACzzP,KAAD,EAAQ;AAC9B;AACA;AACA;AACA,YAAM0yP,aAAa,GAAG,KAAKD,WAA3B;;AACA,YAAMz7L,KAAK,GAAG,KAAKvC,MAAL,EAAd;;AACA,cAAQz0D,KAAK,CAACihC,OAAd;AACI,aAAKhI,6DAAL;AACI,eAAK6xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBpb,iBAAlB,CAAoC,KAAKmc,WAAzC,EAAsDz7L,KAAK,GAAG,CAAH,GAAO,CAAC,CAAnE,CAAlB;AACA;;AACJ,aAAK99B,8DAAL;AACI,eAAK4xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBpb,iBAAlB,CAAoC,KAAKmc,WAAzC,EAAsDz7L,KAAK,GAAG,CAAC,CAAJ,GAAQ,CAAnE,CAAlB;AACA;;AACJ,aAAK79B,2DAAL;AACI,eAAK2xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBpb,iBAAlB,CAAoC,KAAKmc,WAAzC,EAAsD,CAAC,CAAvD,CAAlB;AACA;;AACJ,aAAKr5N,6DAAL;AACI,eAAK0xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBpb,iBAAlB,CAAoC,KAAKmc,WAAzC,EAAsD,CAAtD,CAAlB;AACA;;AACJ,aAAKz5N,uDAAL;AACI,eAAK8xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBpb,iBAAlB,CAAoC,KAAKmc,WAAzC,EAAsD,CAAC,KAAKf,YAAL,CAAkBxpK,QAAlB,CAA2B,KAAKuqK,WAAhC,CAAvD,CAAlB;AACA;;AACJ,aAAK15N,sDAAL;AACI,eAAK+xN,UAAL,GAAkB,KAAK4G,YAAL,CAAkBpb,iBAAlB,CAAoC,KAAKmc,WAAzC,EAAsD,KAAK,KAAKf,YAAL,CAAkBxpK,QAAlB,CAA2B,KAAKuqK,WAAhC,CAA3D,CAAlB;AACA;;AACJ,aAAKz3M,0DAAL;AACI,eAAK8vM,UAAL,GACI,KAAK4G,YAAL,CAAkBtb,gBAAlB,CAAmC,KAAKqc,WAAxC,EAAqDzyP,KAAK,CAAC+gD,MAAN,GAAe,CAAC,EAAhB,GAAqB,CAAC,CAA3E,CADJ;AAEA;;AACJ,aAAK9F,4DAAL;AACI,eAAK6vM,UAAL,GACI,KAAK4G,YAAL,CAAkBtb,gBAAlB,CAAmC,KAAKqc,WAAxC,EAAqDzyP,KAAK,CAAC+gD,MAAN,GAAe,EAAf,GAAoB,CAAzE,CADJ;AAEA;;AACJ,aAAKpG,wDAAL;AACA,aAAKI,wDAAL;AACI;AACA;AACA;AACA;AACA,eAAK24M,oBAAL,GAA4B,IAA5B;AACA;;AACJ;AACI;AACA;AArCR;;AAuCA,UAAI,KAAKhC,YAAL,CAAkBrU,WAAlB,CAA8BqV,aAA9B,EAA6C,KAAK5H,UAAlD,CAAJ,EAAmE;AAC/D,aAAK0H,gBAAL,CAAsB//M,IAAtB,CAA2B,KAAKq4M,UAAhC;AACH;;AACD,WAAK0E,gBAAL,GAhD8B,CAiD9B;;;AACAxvP,MAAAA,KAAK,CAAC6hC,cAAN;AACH;AACD;;;AACAgyN,IAAAA,wBAAwB,CAAC7zP,KAAD,EAAQ;AAC5B,UAAIA,KAAK,CAACihC,OAAN,KAAkB8Z,wDAAlB,IAA2B/6C,KAAK,CAACihC,OAAN,KAAkB0Z,wDAAjD,EAAwD;AACpD,YAAI,KAAK+4M,oBAAT,EAA+B;AAC3B,eAAKwE,cAAL,CAAoB;AAAEn3P,YAAAA,KAAK,EAAE,KAAK2wP,YAAL,CAAkBxpK,QAAlB,CAA2B,KAAKuqK,WAAhC,CAAT;AAAuDzyP,YAAAA;AAAvD,WAApB;AACH;;AACD,aAAK0zP,oBAAL,GAA4B,KAA5B;AACH;AACJ;AACD;;;AACA94K,IAAAA,KAAK,GAAG;AACJ,WAAKq9K,iBAAL,CAAuB,KAAK/+M,QAA5B;;AACA,WAAKk/M,WAAL,GAAmB,KAAKC,sBAAL,CAA4B,KAAK3G,YAAL,CAAkBnnK,KAAlB,EAA5B,CAAnB;AACA,WAAK+tK,UAAL,GAAkB,KAAK5G,YAAL,CAAkB9b,WAAlB,CAA8B,KAAKkV,UAAnC,CAAlB;;AACA,UAAIyN,UAAU,GAAG,KAAK7G,YAAL,CAAkBjc,aAAlB,CAAgC,OAAhC,CAAjB,CAJI,CAKJ;;;AACA,WAAK+iB,OAAL,GAAe,CAAC,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CAAD,EAAe,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CAAf,EAA6B,CAAC,CAAD,EAAI,CAAJ,EAAO,EAAP,EAAW,EAAX,CAA7B,EAA6C53P,GAA7C,CAAiDqvP,GAAG,IAAIA,GAAG,CAACrvP,GAAJ,CAAQglF,KAAK,IAAI,KAAK6yK,mBAAL,CAAyB7yK,KAAzB,EAAgC2yK,UAAU,CAAC3yK,KAAD,CAA1C,CAAjB,CAAxD,CAAf;;AACA,WAAK9X,kBAAL,CAAwBwC,YAAxB;AACH;AACD;;;AACAk/K,IAAAA,gBAAgB,GAAG;AACf,WAAK8E,gBAAL,CAAsB9E,gBAAtB;AACH;AACD;AACJ;AACA;AACA;;;AACI6I,IAAAA,sBAAsB,CAACxzK,IAAD,EAAO;AACzB,aAAOA,IAAI,IAAI,KAAK6sK,YAAL,CAAkBpc,OAAlB,CAA0BzwJ,IAA1B,KAAmC,KAAK6sK,YAAL,CAAkBpc,OAAlB,CAA0B,KAAKwV,UAA/B,CAA3C,GACH,KAAK4G,YAAL,CAAkBxpK,QAAlB,CAA2BrD,IAA3B,CADG,GACgC,IADvC;AAEH;AACD;;;AACA4zK,IAAAA,mBAAmB,CAAC7yK,KAAD,EAAQ8yK,SAAR,EAAmB;AAClC,YAAM7zK,IAAI,GAAG,KAAK6sK,YAAL,CAAkBhsK,UAAlB,CAA6B,KAAKgsK,YAAL,CAAkBpc,OAAlB,CAA0B,KAAKwV,UAA/B,CAA7B,EAAyEllK,KAAzE,EAAgF,CAAhF,CAAb;;AACA,YAAM9nD,SAAS,GAAG,KAAK4zN,YAAL,CAAkB3tK,MAAlB,CAAyBc,IAAzB,EAA+B,KAAKstK,YAAL,CAAkBzlO,OAAlB,CAA0B0qN,kBAAzD,CAAlB;;AACA,YAAM2d,WAAW,GAAG,KAAK1J,SAAL,GAAiB,KAAKA,SAAL,CAAexmK,IAAf,EAAqB,MAArB,CAAjB,GAAgDpkF,SAApE;AACA,aAAO,IAAI0tP,eAAJ,CAAoBvoK,KAApB,EAA2B8yK,SAAS,CAACh3N,iBAAV,EAA3B,EAA0D5D,SAA1D,EAAqE,KAAK66N,kBAAL,CAAwB/yK,KAAxB,CAArE,EAAqGmvK,WAArG,CAAP;AACH;AACD;;;AACA4D,IAAAA,kBAAkB,CAAC/yK,KAAD,EAAQ;AACtB,YAAMywK,UAAU,GAAG,KAAK3E,YAAL,CAAkBpc,OAAlB,CAA0B,KAAKwV,UAA/B,CAAnB;;AACA,UAAIllK,KAAK,KAAKnlF,SAAV,IAAuBmlF,KAAK,KAAK,IAAjC,IACA,KAAKgzK,2BAAL,CAAiCvC,UAAjC,EAA6CzwK,KAA7C,CADA,IAEA,KAAKizK,4BAAL,CAAkCxC,UAAlC,EAA8CzwK,KAA9C,CAFJ,EAE0D;AACtD,eAAO,KAAP;AACH;;AACD,UAAI,CAAC,KAAKslK,UAAV,EAAsB;AAClB,eAAO,IAAP;AACH;;AACD,YAAMgJ,YAAY,GAAG,KAAKxC,YAAL,CAAkBhsK,UAAlB,CAA6B2wK,UAA7B,EAAyCzwK,KAAzC,EAAgD,CAAhD,CAArB,CAVsB,CAWtB;;;AACA,WAAK,IAAIf,IAAI,GAAGqvK,YAAhB,EAA8B,KAAKxC,YAAL,CAAkBxpK,QAAlB,CAA2BrD,IAA3B,KAAoCe,KAAlE,EAAyEf,IAAI,GAAG,KAAK6sK,YAAL,CAAkBnb,eAAlB,CAAkC1xJ,IAAlC,EAAwC,CAAxC,CAAhF,EAA4H;AACxH,YAAI,KAAKqmK,UAAL,CAAgBrmK,IAAhB,CAAJ,EAA2B;AACvB,iBAAO,IAAP;AACH;AACJ;;AACD,aAAO,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI+zK,IAAAA,2BAA2B,CAACjzK,IAAD,EAAOC,KAAP,EAAc;AACrC,UAAI,KAAKulK,OAAT,EAAkB;AACd,cAAM2M,OAAO,GAAG,KAAKpG,YAAL,CAAkBpc,OAAlB,CAA0B,KAAK6V,OAA/B,CAAhB;;AACA,cAAM2N,QAAQ,GAAG,KAAKpH,YAAL,CAAkBxpK,QAAlB,CAA2B,KAAKijK,OAAhC,CAAjB;;AACA,eAAOxlK,IAAI,GAAGmyK,OAAP,IAAmBnyK,IAAI,KAAKmyK,OAAT,IAAoBlyK,KAAK,GAAGkzK,QAAtD;AACH;;AACD,aAAO,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACID,IAAAA,4BAA4B,CAAClzK,IAAD,EAAOC,KAAP,EAAc;AACtC,UAAI,KAAKwlK,OAAT,EAAkB;AACd,cAAM2N,OAAO,GAAG,KAAKrH,YAAL,CAAkBpc,OAAlB,CAA0B,KAAK8V,OAA/B,CAAhB;;AACA,cAAM4N,QAAQ,GAAG,KAAKtH,YAAL,CAAkBxpK,QAAlB,CAA2B,KAAKkjK,OAAhC,CAAjB;;AACA,eAAOzlK,IAAI,GAAGozK,OAAP,IAAmBpzK,IAAI,KAAKozK,OAAT,IAAoBnzK,KAAK,GAAGozK,QAAtD;AACH;;AACD,aAAO,KAAP;AACH;AACD;;;AACAvkM,IAAAA,MAAM,GAAG;AACL,aAAO,KAAKxf,IAAL,IAAa,KAAKA,IAAL,CAAUl0C,KAAV,KAAoB,KAAxC;AACH;AACD;;;AACAk3P,IAAAA,iBAAiB,CAACl3P,KAAD,EAAQ;AACrB,UAAIA,KAAK,YAAYuvP,SAArB,EAAgC;AAC5B,aAAK2I,cAAL,GAAsB,KAAKZ,sBAAL,CAA4Bt3P,KAAK,CAAC8Z,KAAlC,KAClB,KAAKw9O,sBAAL,CAA4Bt3P,KAAK,CAACipE,GAAlC,CADJ;AAEH,OAHD,MAIK;AACD,aAAKivL,cAAL,GAAsB,KAAKZ,sBAAL,CAA4Bt3P,KAA5B,CAAtB;AACH;AACJ;;AA1Na;;AA4NlBg3P,EAAAA,WAAW,CAAC/yP,IAAZ,GAAmB,SAASk0P,mBAAT,CAA6Bh0P,CAA7B,EAAgC;AAAE,WAAO,KAAKA,CAAC,IAAI6yP,WAAV,EAAuBj6P,+DAAA,CAAyBA,4DAAzB,CAAvB,EAA2EA,+DAAA,CAAyB81O,oEAAzB,EAA2C,CAA3C,CAA3E,EAA0H91O,+DAAA,CAAyB+8B,+DAAzB,EAA6C,CAA7C,CAA1H,EAA2K/8B,+DAAA,CAAyBqlD,6DAAzB,EAAgD,CAAhD,CAA3K,CAAP;AAAwO,GAA7R;;AACA40M,EAAAA,WAAW,CAACtnL,IAAZ,GAAmB,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEw/P,WAAR;AAAqB7uN,IAAAA,SAAS,EAAE,CAAC,CAAC,eAAD,CAAD,CAAhC;AAAqDynC,IAAAA,SAAS,EAAE,SAASwoL,iBAAT,CAA2B1jN,EAA3B,EAA+BxgC,GAA/B,EAAoC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACpK33C,QAAAA,yDAAA,CAAmBswP,eAAnB,EAAoC,CAApC;AACH;;AAAC,UAAI34M,EAAE,GAAG,CAAT,EAAY;AACV,YAAIq7B,EAAJ;;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAACq/O,gBAAJ,GAAuBxjL,EAAE,CAACG,KAA/E;AACH;AAAE,KALmD;AAKjD9nC,IAAAA,MAAM,EAAE;AAAE2hN,MAAAA,UAAU,EAAE,YAAd;AAA4B5xM,MAAAA,QAAQ,EAAE,UAAtC;AAAkDkyM,MAAAA,OAAO,EAAE,SAA3D;AAAsED,MAAAA,OAAO,EAAE,SAA/E;AAA0FD,MAAAA,UAAU,EAAE,YAAtG;AAAoHG,MAAAA,SAAS,EAAE;AAA/H,KALyC;AAKqG14M,IAAAA,OAAO,EAAE;AAAE2/M,MAAAA,cAAc,EAAE,gBAAlB;AAAoC0F,MAAAA,aAAa,EAAE,eAAnD;AAAoExF,MAAAA,gBAAgB,EAAE;AAAtF,KAL9G;AAK0NppN,IAAAA,QAAQ,EAAE,CAAC,aAAD,CALpO;AAKqPkoC,IAAAA,KAAK,EAAE,CAL5P;AAK+PC,IAAAA,IAAI,EAAE,CALrQ;AAKwQC,IAAAA,MAAM,EAAE,CAAC,CAAC,MAAD,EAAS,MAAT,EAAiB,CAAjB,EAAoB,oBAApB,CAAD,EAA4C,CAAC,aAAD,EAAgB,MAAhB,EAAwB,CAAxB,EAA2B,2BAA3B,CAA5C,EAAqG,CAAC,SAAD,EAAY,GAAZ,EAAiB,CAAjB,EAAoB,mCAApB,CAArG,EAA+J,CAAC,mBAAD,EAAsB,EAAtB,EAA0B,CAA1B,EAA6B,OAA7B,EAAsC,MAAtC,EAA8C,YAA9C,EAA4D,YAA5D,EAA0E,UAA1E,EAAsF,uBAAtF,EAA+G,SAA/G,EAA0H,iBAA1H,EAA6I,YAA7I,EAA2J,qBAA3J,EAAkL,OAAlL,EAA2L,SAA3L,CAA/J,CALhR;AAKunB1N,IAAAA,QAAQ,EAAE,SAASs1L,oBAAT,CAA8B3jN,EAA9B,EAAkCxgC,GAAlC,EAAuC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACxuB33C,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,OAAzB,EAAkC,CAAlC;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,OAAzB,EAAkC,CAAlC;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,IAAzB;AACAA,QAAAA,uDAAA,CAAiB,CAAjB,EAAoB,IAApB,EAA0B,CAA1B;AACAA,QAAAA,0DAAA;AACAA,QAAAA,0DAAA;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,OAAzB,EAAkC,CAAlC;AACAA,QAAAA,wDAAA,CAAkB,qBAAlB,EAAyC,SAASu7P,yDAAT,CAAmEzmC,MAAnE,EAA2E;AAAE,iBAAO39M,GAAG,CAACijP,cAAJ,CAAmBtlC,MAAnB,CAAP;AAAoC,SAA1J,EAA4J,OAA5J,EAAqK,SAAS0mC,2CAAT,CAAqD1mC,MAArD,EAA6D;AAAE,iBAAO39M,GAAG,CAAC4+O,wBAAJ,CAA6BjhC,MAA7B,CAAP;AAA8C,SAAlR,EAAoR,SAApR,EAA+R,SAAS2mC,6CAAT,CAAuD3mC,MAAvD,EAA+D;AAAE,iBAAO39M,GAAG,CAACw+O,0BAAJ,CAA+B7gC,MAA/B,CAAP;AAAgD,SAAhZ;AACA90N,QAAAA,0DAAA;AACAA,QAAAA,0DAAA;AACH;;AAAC,UAAI23C,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,OAAlB,EAA2BmX,GAAG,CAACqjP,UAA/B,EAA2C,MAA3C,EAAmDrjP,GAAG,CAACujP,OAAvD,EAAgE,YAAhE,EAA8EvjP,GAAG,CAACmjP,WAAlF,EAA+F,YAA/F,EAA6GnjP,GAAG,CAACgkP,cAAjH,EAAiI,UAAjI,EAA6IhkP,GAAG,CAACgkP,cAAjJ,EAAiK,uBAAjK,EAA0L,CAA1L,EAA6L,SAA7L,EAAwM,CAAxM,EAA2M,iBAA3M,EAA8N,IAAI,CAAlO,EAAqO,YAArO,EAAmPhkP,GAAG,CAACy8O,YAAJ,CAAiBxpK,QAAjB,CAA0BjzE,GAAG,CAAC61O,UAA9B,CAAnP;AACH;AAAE,KAnBmD;AAmBjDvzI,IAAAA,UAAU,EAAE,CAAC62I,eAAD,CAnBqC;AAmBlBn8K,IAAAA,aAAa,EAAE,CAnBG;AAmBAC,IAAAA,eAAe,EAAE;AAnBjB,GAAzB,CAAjC;SA7NM6lL;;;AAmQN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOxyP,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAuCC,CAvChB;AAyCA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,IAAIi0P,QAAQ,GAAG,CAAf;AACA;;IACMC;AAAN,QAAMA,iBAAN,CAAwB;AACpBt/P,IAAAA,WAAW,CAACu/P,KAAD,EAAQC,QAAR,EAAkBjI,YAAlB,EAAgCS,YAAhC,EAA8CziE,iBAA9C,EAAiE;AACxE,WAAKgqE,KAAL,GAAaA,KAAb;AACA,WAAKC,QAAL,GAAgBA,QAAhB;AACA,WAAKjI,YAAL,GAAoBA,YAApB;AACA,WAAKS,YAAL,GAAoBA,YAApB;AACA,WAAKyH,oBAAL,GAA6B,uBAAsBJ,QAAQ,EAAG,EAA9D;AACA,WAAKG,QAAL,CAAc3d,YAAd,CAA2B58M,SAA3B,CAAqC,MAAMswJ,iBAAiB,CAACp/G,YAAlB,EAA3C;AACH;AACD;;;AACoB,QAAhBupL,gBAAgB,GAAG;AACnB,UAAI,KAAKF,QAAL,CAAcz0I,WAAd,IAA6B,OAAjC,EAA0C;AACtC,eAAO,KAAKwsI,YAAL,CACF3tK,MADE,CACK,KAAK41K,QAAL,CAAc7O,UADnB,EAC+B,KAAKqH,YAAL,CAAkBzlO,OAAlB,CAA0BwqN,cADzD,EAEFx1M,iBAFE,EAAP;AAGH;;AACD,UAAI,KAAKi4N,QAAL,CAAcz0I,WAAd,IAA6B,MAAjC,EAAyC;AACrC,eAAO,KAAKwsI,YAAL,CAAkB9b,WAAlB,CAA8B,KAAK+jB,QAAL,CAAc7O,UAA5C,CAAP;AACH,OARkB,CASnB;AACA;AACA;;;AACA,YAAMuL,UAAU,GAAG,KAAK3E,YAAL,CAAkBpc,OAAlB,CAA0B,KAAKqkB,QAAL,CAAc7O,UAAxC,CAAnB;;AACA,YAAMwL,aAAa,GAAGD,UAAU,GAAGE,eAAe,CAAC,KAAK7E,YAAN,EAAoB,KAAKiI,QAAL,CAAc7O,UAAlC,EAA8C,KAAK6O,QAAL,CAAcvO,OAA5D,EAAqE,KAAKuO,QAAL,CAAcxO,OAAnF,CAAlD;AACA,YAAM2O,aAAa,GAAGxD,aAAa,GAAGR,YAAhB,GAA+B,CAArD;;AACA,YAAMiE,WAAW,GAAG,KAAKrI,YAAL,CAAkB9b,WAAlB,CAA8B,KAAK8b,YAAL,CAAkBhsK,UAAlB,CAA6B4wK,aAA7B,EAA4C,CAA5C,EAA+C,CAA/C,CAA9B,CAApB;;AACA,YAAM0D,WAAW,GAAG,KAAKtI,YAAL,CAAkB9b,WAAlB,CAA8B,KAAK8b,YAAL,CAAkBhsK,UAAlB,CAA6Bo0K,aAA7B,EAA4C,CAA5C,EAA+C,CAA/C,CAA9B,CAApB;;AACA,aAAO,KAAKJ,KAAL,CAAWzL,eAAX,CAA2B8L,WAA3B,EAAwCC,WAAxC,CAAP;AACH;;AACoB,QAAjBC,iBAAiB,GAAG;AACpB,aAAO,KAAKN,QAAL,CAAcz0I,WAAd,IAA6B,OAA7B,GACH,KAAKw0I,KAAL,CAAW1L,0BADR,GACqC,KAAK0L,KAAL,CAAW3L,sBADvD;AAEH;AACD;;;AACmB,QAAfmM,eAAe,GAAG;AAClB,aAAO;AACH,iBAAS,KAAKR,KAAL,CAAWjM,cADjB;AAEH,gBAAQ,KAAKiM,KAAL,CAAW/L,aAFhB;AAGH,sBAAc,KAAK+L,KAAL,CAAW7L;AAHtB,QAIL,KAAK8L,QAAL,CAAcz0I,WAJT,CAAP;AAKH;AACD;;;AACmB,QAAfi1I,eAAe,GAAG;AAClB,aAAO;AACH,iBAAS,KAAKT,KAAL,CAAWhM,cADjB;AAEH,gBAAQ,KAAKgM,KAAL,CAAW9L,aAFhB;AAGH,sBAAc,KAAK8L,KAAL,CAAW5L;AAHtB,QAIL,KAAK6L,QAAL,CAAcz0I,WAJT,CAAP;AAKH;AACD;;;AACAk1I,IAAAA,oBAAoB,GAAG;AACnB,WAAKT,QAAL,CAAcz0I,WAAd,GAA4B,KAAKy0I,QAAL,CAAcz0I,WAAd,IAA6B,OAA7B,GAAuC,YAAvC,GAAsD,OAAlF;AACH;AACD;;;AACAm1I,IAAAA,eAAe,GAAG;AACd,WAAKV,QAAL,CAAc7O,UAAd,GAA2B,KAAK6O,QAAL,CAAcz0I,WAAd,IAA6B,OAA7B,GACvB,KAAKwsI,YAAL,CAAkBpb,iBAAlB,CAAoC,KAAKqjB,QAAL,CAAc7O,UAAlD,EAA8D,CAAC,CAA/D,CADuB,GAEvB,KAAK4G,YAAL,CAAkBtb,gBAAlB,CAAmC,KAAKujB,QAAL,CAAc7O,UAAjD,EAA6D,KAAK6O,QAAL,CAAcz0I,WAAd,IAA6B,MAA7B,GAAsC,CAAC,CAAvC,GAA2C,CAAC4wI,YAAzG,CAFJ;AAGH;AACD;;;AACAwE,IAAAA,WAAW,GAAG;AACV,WAAKX,QAAL,CAAc7O,UAAd,GAA2B,KAAK6O,QAAL,CAAcz0I,WAAd,IAA6B,OAA7B,GACvB,KAAKwsI,YAAL,CAAkBpb,iBAAlB,CAAoC,KAAKqjB,QAAL,CAAc7O,UAAlD,EAA8D,CAA9D,CADuB,GAEvB,KAAK4G,YAAL,CAAkBtb,gBAAlB,CAAmC,KAAKujB,QAAL,CAAc7O,UAAjD,EAA6D,KAAK6O,QAAL,CAAcz0I,WAAd,IAA6B,MAA7B,GAAsC,CAAtC,GAA0C4wI,YAAvG,CAFJ;AAGH;AACD;;;AACAyE,IAAAA,eAAe,GAAG;AACd,UAAI,CAAC,KAAKZ,QAAL,CAAcvO,OAAnB,EAA4B;AACxB,eAAO,IAAP;AACH;;AACD,aAAO,CAAC,KAAKuO,QAAL,CAAcvO,OAAf,IACH,CAAC,KAAKoP,WAAL,CAAiB,KAAKb,QAAL,CAAc7O,UAA/B,EAA2C,KAAK6O,QAAL,CAAcvO,OAAzD,CADL;AAEH;AACD;;;AACAqP,IAAAA,WAAW,GAAG;AACV,aAAO,CAAC,KAAKd,QAAL,CAAcxO,OAAf,IACH,CAAC,KAAKqP,WAAL,CAAiB,KAAKb,QAAL,CAAc7O,UAA/B,EAA2C,KAAK6O,QAAL,CAAcxO,OAAzD,CADL;AAEH;AACD;;;AACAqP,IAAAA,WAAW,CAACjD,KAAD,EAAQC,KAAR,EAAe;AACtB,UAAI,KAAKmC,QAAL,CAAcz0I,WAAd,IAA6B,OAAjC,EAA0C;AACtC,eAAO,KAAKwsI,YAAL,CAAkBpc,OAAlB,CAA0BiiB,KAA1B,KAAoC,KAAK7F,YAAL,CAAkBpc,OAAlB,CAA0BkiB,KAA1B,CAApC,IACH,KAAK9F,YAAL,CAAkBxpK,QAAlB,CAA2BqvK,KAA3B,KAAqC,KAAK7F,YAAL,CAAkBxpK,QAAlB,CAA2BsvK,KAA3B,CADzC;AAEH;;AACD,UAAI,KAAKmC,QAAL,CAAcz0I,WAAd,IAA6B,MAAjC,EAAyC;AACrC,eAAO,KAAKwsI,YAAL,CAAkBpc,OAAlB,CAA0BiiB,KAA1B,KAAoC,KAAK7F,YAAL,CAAkBpc,OAAlB,CAA0BkiB,KAA1B,CAA3C;AACH,OAPqB,CAQtB;;;AACA,aAAOtB,mBAAmB,CAAC,KAAKxE,YAAN,EAAoB6F,KAApB,EAA2BC,KAA3B,EAAkC,KAAKmC,QAAL,CAAcvO,OAAhD,EAAyD,KAAKuO,QAAL,CAAcxO,OAAvE,CAA1B;AACH;;AAzFmB;;AA2FxBsO,EAAAA,iBAAiB,CAACz0P,IAAlB,GAAyB,SAAS01P,yBAAT,CAAmCx1P,CAAnC,EAAsC;AAAE,WAAO,KAAKA,CAAC,IAAIu0P,iBAAV,EAA6B37P,+DAAA,CAAyBuvP,iBAAzB,CAA7B,EAA0EvvP,+DAAA,CAAyBspE,yDAAU,CAAC,MAAMuzL,WAAP,CAAnC,CAA1E,EAAmI78P,+DAAA,CAAyB+8B,+DAAzB,EAA6C,CAA7C,CAAnI,EAAoL/8B,+DAAA,CAAyB81O,oEAAzB,EAA2C,CAA3C,CAApL,EAAmO91O,+DAAA,CAAyBA,4DAAzB,CAAnO,CAAP;AAAgS,GAAjW;;AACA27P,EAAAA,iBAAiB,CAAChpL,IAAlB,GAAyB,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEkhQ,iBAAR;AAA2BvwN,IAAAA,SAAS,EAAE,CAAC,CAAC,qBAAD,CAAD,CAAtC;AAAiEE,IAAAA,QAAQ,EAAE,CAAC,mBAAD,CAA3E;AAAkGioC,IAAAA,kBAAkB,EAAEhJ,GAAtH;AAA2HiJ,IAAAA,KAAK,EAAE,EAAlI;AAAsIC,IAAAA,IAAI,EAAE,EAA5I;AAAgJC,IAAAA,MAAM,EAAE,CAAC,CAAC,CAAD,EAAI,qBAAJ,CAAD,EAA6B,CAAC,CAAD,EAAI,uBAAJ,CAA7B,EAA2D,CAAC,YAAD,EAAe,EAAf,EAAmB,MAAnB,EAA2B,QAA3B,EAAqC,aAArC,EAAoD,QAApD,EAA8D,CAA9D,EAAiE,4BAAjE,EAA+F,CAA/F,EAAkG,OAAlG,CAA3D,EAAuK,CAAC,CAAD,EAAI,oBAAJ,CAAvK,EAAkM,CAAC,CAAD,EAAI,qBAAJ,CAAlM,EAA8N,CAAC,iBAAD,EAAoB,EAApB,EAAwB,MAAxB,EAAgC,QAAhC,EAA0C,CAA1C,EAA6C,8BAA7C,EAA6E,CAA7E,EAAgF,UAAhF,EAA4F,OAA5F,CAA9N,EAAoU,CAAC,iBAAD,EAAoB,EAApB,EAAwB,MAAxB,EAAgC,QAAhC,EAA0C,CAA1C,EAA6C,0BAA7C,EAAyE,CAAzE,EAA4E,UAA5E,EAAwF,OAAxF,CAApU,CAAxJ;AAA+jB1N,IAAAA,QAAQ,EAAE,SAAS82L,0BAAT,CAAoCnlN,EAApC,EAAwCxgC,GAAxC,EAA6C;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC5rB33C,QAAAA,6DAAA;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,QAAzB,EAAmC,CAAnC;AACAA,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAAS+8P,kDAAT,GAA8D;AAAE,iBAAO5lP,GAAG,CAACmlP,oBAAJ,EAAP;AAAoC,SAA/H;AACAt8P,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB;AACAA,QAAAA,oDAAA,CAAc,CAAd;AACAA,QAAAA,0DAAA;AACAA,QAAAA,uDAAA,CAAiB,CAAjB,EAAoB,KAApB,EAA2B,CAA3B;AACAA,QAAAA,0DAAA;AACAA,QAAAA,uDAAA,CAAiB,CAAjB,EAAoB,KAApB,EAA2B,CAA3B;AACAA,QAAAA,0DAAA,CAAoB,CAApB;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,QAAzB,EAAmC,CAAnC;AACAA,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAASg9P,kDAAT,GAA8D;AAAE,iBAAO7lP,GAAG,CAAColP,eAAJ,EAAP;AAA+B,SAA1H;AACAv8P,QAAAA,0DAAA;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,QAAzB,EAAmC,CAAnC;AACAA,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAASi9P,kDAAT,GAA8D;AAAE,iBAAO9lP,GAAG,CAACqlP,WAAJ,EAAP;AAA2B,SAAtH;AACAx8P,QAAAA,0DAAA;AACAA,QAAAA,0DAAA;AACAA,QAAAA,0DAAA;AACH;;AAAC,UAAI23C,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,yDAAA,CAAmB,YAAnB,EAAiCmX,GAAG,CAACglP,iBAArC,EAAwD,kBAAxD,EAA4EhlP,GAAG,CAAC2kP,oBAAhF;AACA97P,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,yDAAA,CAAmB,IAAnB,EAAyBmX,GAAG,CAAC2kP,oBAA7B;AACA97P,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,+DAAA,CAAyBmX,GAAG,CAAC4kP,gBAA7B;AACA/7P,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,yDAAA,CAAmB,qBAAnB,EAA0CmX,GAAG,CAAC0kP,QAAJ,CAAaz0I,WAAb,KAA6B,OAAvE;AACApnH,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,UAAlB,EAA8B,CAACmX,GAAG,CAACslP,eAAJ,EAA/B;AACAz8P,QAAAA,yDAAA,CAAmB,YAAnB,EAAiCmX,GAAG,CAACilP,eAArC;AACAp8P,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,UAAlB,EAA8B,CAACmX,GAAG,CAACwlP,WAAJ,EAA/B;AACA38P,QAAAA,yDAAA,CAAmB,YAAnB,EAAiCmX,GAAG,CAACklP,eAArC;AACH;AAAE,KApCyD;AAoCvD5iJ,IAAAA,UAAU,EAAE,CAACn0D,+DAAD,EAAmBwkM,2DAAnB,CApC2C;AAoCH31K,IAAAA,aAAa,EAAE,CApCZ;AAoCeC,IAAAA,eAAe,EAAE;AApChC,GAAzB,CAAvC;SA5FMunL;;;AAwIN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOl0P,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAmBmD,CAnBlE;AAoBA;;;IACMo1P;AAAN,QAAMA,WAAN,CAAkB;AACdxgQ,IAAAA,WAAW,CAACu/P,KAAD,EAAQhI,YAAR,EAAsBS,YAAtB,EAAoCrkL,kBAApC,EAAwD;AAC/D,WAAK4jL,YAAL,GAAoBA,YAApB;AACA,WAAKS,YAAL,GAAoBA,YAApB;AACA,WAAKrkL,kBAAL,GAA0BA,kBAA1B;AACA;AACR;AACA;AACA;AACA;;AACQ,WAAKktL,oBAAL,GAA4B,KAA5B;AACA;;AACA,WAAK9wI,SAAL,GAAiB,OAAjB;AACA;;AACA,WAAKooI,cAAL,GAAsB,IAAIn6N,uDAAJ,EAAtB;AACA;AACR;AACA;AACA;;AACQ,WAAK89N,YAAL,GAAoB,IAAI99N,uDAAJ,EAApB;AACA;AACR;AACA;AACA;;AACQ,WAAK6/N,aAAL,GAAqB,IAAI7/N,uDAAJ,EAArB;AACA;AACR;AACA;;AACQ,WAAK8iO,WAAL,GAAmB,IAAI9iO,uDAAJ,CAAiB,IAAjB,CAAnB;AACA;;AACA,WAAKo6N,cAAL,GAAsB,IAAIp6N,uDAAJ,EAAtB;AACA;AACR;AACA;;AACQ,WAAK6jN,YAAL,GAAoB,IAAI1jN,yCAAJ,EAApB;;AACA,UAAI,OAAO/yB,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,YAAI,CAAC,KAAKmsP,YAAV,EAAwB;AACpB,gBAAMtE,0BAA0B,CAAC,aAAD,CAAhC;AACH;;AACD,YAAI,CAAC,KAAK+E,YAAV,EAAwB;AACpB,gBAAM/E,0BAA0B,CAAC,kBAAD,CAAhC;AACH;AACJ;;AACD,WAAK8N,YAAL,GAAoBxB,KAAK,CAACv6N,OAAN,CAAcC,SAAd,CAAwB,MAAM;AAC9C0uC,QAAAA,kBAAkB,CAACwC,YAAnB;;AACA,aAAK0rK,YAAL,CAAkBpyO,IAAlB;AACH,OAHmB,CAApB;AAIH;AACD;;;AACW,QAAPuxP,OAAO,GAAG;AAAE,aAAO,KAAKC,QAAZ;AAAuB;;AAC5B,QAAPD,OAAO,CAACp6P,KAAD,EAAQ;AACf,WAAKq6P,QAAL,GAAgB,KAAK1J,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAhB;AACH;AACD;;;AACY,QAARm4C,QAAQ,GAAG;AAAE,aAAO,KAAKC,SAAZ;AAAwB;;AAC7B,QAARD,QAAQ,CAACn4C,KAAD,EAAQ;AAChB,UAAIA,KAAK,YAAYuvP,SAArB,EAAgC;AAC5B,aAAKn3M,SAAL,GAAiBp4C,KAAjB;AACH,OAFD,MAGK;AACD,aAAKo4C,SAAL,GAAiB,KAAKu4M,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAjB;AACH;AACJ;AACD;;;AACW,QAAPqqP,OAAO,GAAG;AAAE,aAAO,KAAK0H,QAAZ;AAAuB;;AAC5B,QAAP1H,OAAO,CAACrqP,KAAD,EAAQ;AACf,WAAK+xP,QAAL,GAAgB,KAAKpB,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAhB;AACH;AACD;;;AACW,QAAPoqP,OAAO,GAAG;AAAE,aAAO,KAAK4H,QAAZ;AAAuB;;AAC5B,QAAP5H,OAAO,CAACpqP,KAAD,EAAQ;AACf,WAAKgyP,QAAL,GAAgB,KAAKrB,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAhB;AACH;AACD;AACJ;AACA;AACA;;;AACkB,QAAV+pP,UAAU,GAAG;AAAE,aAAO,KAAKuQ,kBAAZ;AAAiC;;AACtC,QAAVvQ,UAAU,CAAC/pP,KAAD,EAAQ;AAClB,WAAKs6P,kBAAL,GAA0B,KAAK3J,YAAL,CAAkBhU,SAAlB,CAA4B38O,KAA5B,EAAmC,KAAKqqP,OAAxC,EAAiD,KAAKD,OAAtD,CAA1B;AACA,WAAKnP,YAAL,CAAkBpyO,IAAlB;;AACA,WAAKkkE,kBAAL,CAAwBwC,YAAxB;AACH;AACD;;;AACe,QAAX40C,WAAW,GAAG;AAAE,aAAO,KAAKg+F,YAAZ;AAA2B;;AAChC,QAAXh+F,WAAW,CAACnkH,KAAD,EAAQ;AACnB,YAAMu6P,iBAAiB,GAAG,KAAKp4C,YAAL,KAAsBniN,KAAtB,GAA8BA,KAA9B,GAAsC,IAAhE;AACA,WAAKmiN,YAAL,GAAoBniN,KAApB;AACA,WAAKi6P,oBAAL,GAA4B,IAA5B;;AACA,WAAKltL,kBAAL,CAAwBwC,YAAxB;;AACA,UAAIgrL,iBAAJ,EAAuB;AACnB,aAAKL,WAAL,CAAiBxoN,IAAjB,CAAsB6oN,iBAAtB;AACH;AACJ;;AACD9yN,IAAAA,kBAAkB,GAAG;AACjB,WAAK+yN,qBAAL,GAA6B,IAAI73L,iEAAJ,CAAoB,KAAK83L,eAAL,IAAwB/B,iBAA5C,CAA7B;AACA,WAAK3O,UAAL,GAAkB,KAAKqQ,OAAL,IAAgB,KAAKzJ,YAAL,CAAkBnnK,KAAlB,EAAlC,CAFiB,CAGjB;;AACA,WAAK24H,YAAL,GAAoB,KAAKh5F,SAAzB;AACH;;AACD5D,IAAAA,kBAAkB,GAAG;AACjB,UAAI,KAAK00I,oBAAT,EAA+B;AAC3B,aAAKA,oBAAL,GAA4B,KAA5B;AACA,aAAKS,eAAL;AACH;AACJ;;AACDt+N,IAAAA,WAAW,GAAG;AACV,WAAK+9N,YAAL,CAAkB56N,WAAlB;;AACA,WAAK07M,YAAL,CAAkB/uM,QAAlB;AACH;;AACDtE,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,YAAMD,MAAM,GAAGC,OAAO,CAAC,SAAD,CAAP,IAAsBA,OAAO,CAAC,SAAD,CAA7B,IAA4CA,OAAO,CAAC,YAAD,CAAlE;;AACA,UAAID,MAAM,IAAI,CAACA,MAAM,CAAC2J,WAAtB,EAAmC;AAC/B,cAAMqO,IAAI,GAAG,KAAKwkN,wBAAL,EAAb;;AACA,YAAIxkN,IAAJ,EAAU;AACN;AACA;AACA,eAAK42B,kBAAL,CAAwBpI,aAAxB;;AACAxuB,UAAAA,IAAI,CAAC0jC,KAAL;AACH;AACJ;;AACD,WAAKohK,YAAL,CAAkBpyO,IAAlB;AACH;AACD;;;AACA6xP,IAAAA,eAAe,GAAG;AACd,WAAKC,wBAAL,GAAgClM,gBAAhC,CAAiD,KAAjD;AACH;AACD;;;AACAmM,IAAAA,gBAAgB,GAAG;AACf,WAAKD,wBAAL,GAAgC9gL,KAAhC;AACH;AACD;;;AACAqwK,IAAAA,aAAa,CAACjrP,KAAD,EAAQ;AACjB,YAAM6kF,IAAI,GAAG7kF,KAAK,CAACe,KAAnB;;AACA,UAAI,KAAKm4C,QAAL,YAAyBo3M,SAAzB,IACCzrK,IAAI,IAAI,CAAC,KAAK6sK,YAAL,CAAkBnU,QAAlB,CAA2B14J,IAA3B,EAAiC,KAAK3rC,QAAtC,CADd,EACgE;AAC5D,aAAKo5M,cAAL,CAAoB7/M,IAApB,CAAyBoyC,IAAzB;AACH;;AACD,WAAK0tK,cAAL,CAAoB9/M,IAApB,CAAyBzyC,KAAzB;AACH;AACD;;;AACAysP,IAAAA,4BAA4B,CAACmP,cAAD,EAAiB;AACzC,WAAK3F,YAAL,CAAkBxjN,IAAlB,CAAuBmpN,cAAvB;AACH;AACD;;;AACA9P,IAAAA,wBAAwB,CAAC+P,eAAD,EAAkB;AACtC,WAAK7D,aAAL,CAAmBvlN,IAAnB,CAAwBopN,eAAxB;AACH;AACD;;;AACA5P,IAAAA,eAAe,CAACpnK,IAAD,EAAO3tC,IAAP,EAAa;AACxB,WAAK4zM,UAAL,GAAkBjmK,IAAlB;AACA,WAAKqgC,WAAL,GAAmBhuE,IAAnB;AACH;AACD;;;AACAwkN,IAAAA,wBAAwB,GAAG;AACvB;AACA;AACA;AACA,aAAO,KAAKI,SAAL,IAAkB,KAAKC,QAAvB,IAAmC,KAAKC,aAA/C;AACH;;AA/Ja;;AAiKlBrB,EAAAA,WAAW,CAAC31P,IAAZ,GAAmB,SAASi3P,mBAAT,CAA6B/2P,CAA7B,EAAgC;AAAE,WAAO,KAAKA,CAAC,IAAIy1P,WAAV,EAAuB78P,+DAAA,CAAyBuvP,iBAAzB,CAAvB,EAAoEvvP,+DAAA,CAAyB+8B,+DAAzB,EAA6C,CAA7C,CAApE,EAAqH/8B,+DAAA,CAAyB81O,oEAAzB,EAA2C,CAA3C,CAArH,EAAoK91O,+DAAA,CAAyBA,4DAAzB,CAApK,CAAP;AAAiO,GAAtR;;AACA68P,EAAAA,WAAW,CAAClqL,IAAZ,GAAmB,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEoiQ,WAAR;AAAqBzxN,IAAAA,SAAS,EAAE,CAAC,CAAC,cAAD,CAAD,CAAhC;AAAoDynC,IAAAA,SAAS,EAAE,SAASurL,iBAAT,CAA2BzmN,EAA3B,EAA+BxgC,GAA/B,EAAoC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACnK33C,QAAAA,yDAAA,CAAmBo0P,YAAnB,EAAiC,CAAjC;AACAp0P,QAAAA,yDAAA,CAAmBi6P,WAAnB,EAAgC,CAAhC;AACAj6P,QAAAA,yDAAA,CAAmBk4P,gBAAnB,EAAqC,CAArC;AACH;;AAAC,UAAIvgN,EAAE,GAAG,CAAT,EAAY;AACV,YAAIq7B,EAAJ;;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAAC6mP,SAAJ,GAAgBhrL,EAAE,CAACG,KAAxE;AACAnzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAAC8mP,QAAJ,GAAejrL,EAAE,CAACG,KAAvE;AACAnzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAAC+mP,aAAJ,GAAoBlrL,EAAE,CAACG,KAA5E;AACH;AAAE,KATmD;AASjDC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,cAAJ,CATsC;AASjB/nC,IAAAA,MAAM,EAAE;AAAE+gF,MAAAA,SAAS,EAAE,WAAb;AAA0BixI,MAAAA,OAAO,EAAE,SAAnC;AAA8CjiN,MAAAA,QAAQ,EAAE,UAAxD;AAAoEkyM,MAAAA,OAAO,EAAE,SAA7E;AAAwFD,MAAAA,OAAO,EAAE,SAAjG;AAA4GqQ,MAAAA,eAAe,EAAE,iBAA7H;AAAgJtQ,MAAAA,UAAU,EAAE,YAA5J;AAA0KG,MAAAA,SAAS,EAAE,WAArL;AAAkMC,MAAAA,eAAe,EAAE,iBAAnN;AAAsOC,MAAAA,aAAa,EAAE;AAArP,KATS;AAS+P54M,IAAAA,OAAO,EAAE;AAAE2/M,MAAAA,cAAc,EAAE,gBAAlB;AAAoC2D,MAAAA,YAAY,EAAE,cAAlD;AAAkE+B,MAAAA,aAAa,EAAE,eAAjF;AAAkGiD,MAAAA,WAAW,EAAE,aAA/G;AAA8H1I,MAAAA,cAAc,EAAE;AAA9I,KATxQ;AAS0anpN,IAAAA,QAAQ,EAAE,CAAC,aAAD,CATpb;AASqcC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAACuzP,wCAAD,CAA1B,CAAD,EAAwEvzP,kEAAxE,CAT/c;AASqjBwzE,IAAAA,KAAK,EAAE,CAT5jB;AAS+jBC,IAAAA,IAAI,EAAE,CATrkB;AASwkBC,IAAAA,MAAM,EAAE,CAAC,CAAC,CAAD,EAAI,iBAAJ,CAAD,EAAyB,CAAC,wBAAD,EAA2B,EAA3B,EAA+B,UAA/B,EAA2C,IAA3C,EAAiD,CAAjD,EAAoD,sBAApD,EAA4E,CAA5E,EAA+E,UAA/E,CAAzB,EAAqH,CAAC,CAAD,EAAI,YAAJ,EAAkB,UAAlB,EAA8B,YAA9B,EAA4C,SAA5C,EAAuD,SAAvD,EAAkE,WAAlE,EAA+E,iBAA/E,EAAkG,eAAlG,EAAmH,kBAAnH,EAAuI,gBAAvI,EAAyJ,CAAzJ,EAA4J,cAA5J,CAArH,EAAkS,CAAC,CAAD,EAAI,YAAJ,EAAkB,UAAlB,EAA8B,YAA9B,EAA4C,SAA5C,EAAuD,SAAvD,EAAkE,WAAlE,EAA+E,kBAA/E,EAAmG,eAAnG,EAAoH,gBAApH,EAAsI,CAAtI,EAAyI,cAAzI,CAAlS,EAA4b,CAAC,CAAD,EAAI,YAAJ,EAAkB,UAAlB,EAA8B,YAA9B,EAA4C,SAA5C,EAAuD,SAAvD,EAAkE,WAAlE,EAA+E,kBAA/E,EAAmG,cAAnG,EAAmH,gBAAnH,EAAqI,CAArI,EAAwI,cAAxI,CAA5b,EAAqlB,CAAC,CAAD,EAAI,YAAJ,EAAkB,UAAlB,EAA8B,YAA9B,EAA4C,SAA5C,EAAuD,SAAvD,EAAkE,WAAlE,EAA+E,iBAA/E,EAAkG,eAAlG,EAAmH,kBAAnH,EAAuI,gBAAvI,CAArlB,EAA+uB,CAAC,CAAD,EAAI,YAAJ,EAAkB,UAAlB,EAA8B,YAA9B,EAA4C,SAA5C,EAAuD,SAAvD,EAAkE,WAAlE,EAA+E,kBAA/E,EAAmG,eAAnG,EAAoH,gBAApH,CAA/uB,EAAs3B,CAAC,CAAD,EAAI,YAAJ,EAAkB,UAAlB,EAA8B,YAA9B,EAA4C,SAA5C,EAAuD,SAAvD,EAAkE,WAAlE,EAA+E,kBAA/E,EAAmG,cAAnG,EAAmH,gBAAnH,CAAt3B,CAThlB;AAS6kD1N,IAAAA,QAAQ,EAAE,SAASq4L,oBAAT,CAA8B1mN,EAA9B,EAAkCxgC,GAAlC,EAAuC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC9rD33C,QAAAA,wDAAA,CAAkB,CAAlB,EAAqB4sP,kCAArB,EAAyD,CAAzD,EAA4D,CAA5D,EAA+D,aAA/D,EAA8E,CAA9E;AACA5sP,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC;AACAA,QAAAA,wDAAA,CAAkB,CAAlB,EAAqB6sP,qCAArB,EAA4D,CAA5D,EAA+D,CAA/D,EAAkE,gBAAlE,EAAoF,CAApF;AACA7sP,QAAAA,wDAAA,CAAkB,CAAlB,EAAqB0tP,oCAArB,EAA2D,CAA3D,EAA8D,CAA9D,EAAiE,eAAjE,EAAkF,CAAlF;AACA1tP,QAAAA,wDAAA,CAAkB,CAAlB,EAAqBquP,0CAArB,EAAiE,CAAjE,EAAoE,CAApE,EAAuE,qBAAvE,EAA8F,CAA9F;AACAruP,QAAAA,0DAAA;AACH;;AAAC,UAAI23C,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,wDAAA,CAAkB,iBAAlB,EAAqCmX,GAAG,CAACsmP,qBAAzC;AACAz9P,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,UAAlB,EAA8BmX,GAAG,CAACiwG,WAAlC;AACApnH,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,cAAlB,EAAkC,OAAlC;AACAA,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,cAAlB,EAAkC,MAAlC;AACAA,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,cAAlB,EAAkC,YAAlC;AACH;AAAE,KA1BmD;AA0BjDy5G,IAAAA,UAAU,EAAE,CAACswI,iEAAD,EAAyBD,+DAAzB,EAAiDhtN,qDAAjD,EAAkEA,yDAAlE,EAAuFs3N,YAAvF,EAAqG6F,WAArG,EAAkH/B,gBAAlH,CA1BqC;AA0BgGr9P,IAAAA,MAAM,EAAE,CAAC,gkDAAD,CA1BxG;AA0B4qDs5E,IAAAA,aAAa,EAAE,CA1B3rD;AA0B8rDC,IAAAA,eAAe,EAAE;AA1B/sD,GAAzB,CAAjC;SAlKMyoL;;;AAuNN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOp1P,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA4DC,CA5DhB;AA8DA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM62P,uBAAuB,GAAG;AAC5B;AACAC,EAAAA,cAAc,eAAEjkQ,6DAAO,CAAC,gBAAD,EAAmB,cACtCgB,gEAAU,CAAC,wBAAD,eAA2BX,6DAAO,CAAC,kCAAD,eAAqCU,+DAAS,CAAC,cACvFJ,2DAAK,CAAC;AAAEgpP,IAAAA,OAAO,EAAE,CAAX;AAAcxqL,IAAAA,SAAS,EAAE;AAAzB,GAAD,CADkF,eAEvFx+D,2DAAK,CAAC;AAAEgpP,IAAAA,OAAO,EAAE,CAAX;AAAcxqL,IAAAA,SAAS,EAAE;AAAzB,GAAD,CAFkF,CAAD,CAA9C,CAAlC,CAD4B,eAKtCn+D,gEAAU,CAAC,sBAAD,eAAyBX,6DAAO,CAAC,kCAAD,eAAqCU,+DAAS,CAAC,cACrFJ,2DAAK,CAAC;AAAEgpP,IAAAA,OAAO,EAAE,CAAX;AAAcxqL,IAAAA,SAAS,EAAE;AAAzB,GAAD,CADgF,eAErFx+D,2DAAK,CAAC;AAAEw+D,IAAAA,SAAS,EAAE,MAAb;AAAqBwqL,IAAAA,OAAO,EAAE;AAA9B,GAAD,CAFgF,CAAD,CAA9C,CAAhC,CAL4B,eAStC3oP,gEAAU,CAAC,WAAD,eAAcX,6DAAO,CAAC,cAAD,eAAiBM,2DAAK,CAAC;AAAEgpP,IAAAA,OAAO,EAAE;AAAX,GAAD,CAAtB,CAArB,CAT4B,CAAnB,CAFK;;AAa5B;AACAua,EAAAA,cAAc,eAAElkQ,6DAAO,CAAC,gBAAD,EAAmB,cACtCc,2DAAK,CAAC,MAAD,eAASH,2DAAK,CAAC;AAAEgpP,IAAAA,OAAO,EAAE;AAAX,GAAD,CAAd,CADiC,eAEtC7oP,2DAAK,CAAC,OAAD,eAAUH,2DAAK,CAAC;AAAEgpP,IAAAA,OAAO,EAAE;AAAX,GAAD,CAAf,CAFiC;AAAA;AAGtC;AACA;AACA3oP,EAAAA,gEAAU,CAAC,WAAD,eAAcX,6DAAO,CAAC,8CAAD,CAArB,CAL4B,CAAnB;AAdK,CAAhC;AAuBA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AACA,IAAI8jQ,aAAa,GAAG,CAApB;AACA;;AACA,MAAMC,8BAA8B,gBAAG,IAAIvkO,yDAAJ,CAAmB,gCAAnB,CAAvC;AACA;;AACA,SAASwkO,sCAAT,CAAgDvzM,OAAhD,EAAyD;AACrD,SAAO,MAAMA,OAAO,CAAC0S,gBAAR,CAAyBpT,UAAzB,EAAb;AACH;AACD;;;AACA,MAAMk0M,+CAA+C,GAAG;AACpD9mN,EAAAA,OAAO,EAAE4mN,8BAD2C;AAEpD59L,EAAAA,IAAI,EAAE,CAACjD,0DAAD,CAF8C;AAGpDkD,EAAAA,UAAU,EAAE49L;AAHwC,CAAxD,EAKA;;AACA;;AACA,MAAME,yBAAyB,gBAAGllB,kEAAU,CAAC,MAAM;AAC/Ct9O,EAAAA,WAAW,CAAC8tC,WAAD,EAAc;AACrB,SAAKA,WAAL,GAAmBA,WAAnB;AACH;;AAH8C,CAAP,CAA5C;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM20N;AAAN,QAAMA,oBAAN,SAAmCD,yBAAnC,CAA6D;AACzDxiQ,IAAAA,WAAW,CAACohE,UAAD,EAAauS,kBAAb,EAAiC+uL,YAAjC,EAA+CnL,YAA/C,EAA6DoL,uBAA7D,EAAsFC,IAAtF,EAA4F;AACnG,YAAMxhM,UAAN;AACA,WAAKuS,kBAAL,GAA0BA,kBAA1B;AACA,WAAK+uL,YAAL,GAAoBA,YAApB;AACA,WAAKnL,YAAL,GAAoBA,YAApB;AACA,WAAKoL,uBAAL,GAA+BA,uBAA/B;AACA,WAAKE,cAAL,GAAsB,IAAIzkO,8CAAJ,EAAtB;AACA;;AACA,WAAK0kO,cAAL,GAAsB,IAAI3kO,yCAAJ,EAAtB;AACA;;AACA,WAAK4kO,cAAL,GAAsB,IAAtB;AACA,WAAKC,gBAAL,GAAwBJ,IAAI,CAACvP,kBAA7B;AACH;;AACD/mL,IAAAA,QAAQ,GAAG;AACP;AACA;AACA;AACA,WAAK22L,MAAL,GAAc,KAAKF,cAAL,GAAsB,KAAKL,YAAL,CAAkBl6J,KAAlB,EAAtB,GAAkD,KAAKk6J,YAArE;AACA,WAAKQ,eAAL,GAAuB,KAAKC,UAAL,CAAgBC,OAAhB,GAA0B,cAA1B,GAA2C,gBAAlE;AACH;;AACDhrN,IAAAA,eAAe,GAAG;AACd,WAAKyqN,cAAL,CAAoBruP,GAApB,CAAwB,KAAK2uP,UAAL,CAAgBthB,YAAhB,CAA6B58M,SAA7B,CAAuC,MAAM;AACjE,aAAK0uC,kBAAL,CAAwBwC,YAAxB;AACH,OAFuB,CAAxB;;AAGA,WAAKktL,SAAL,CAAe/B,eAAf;AACH;;AACDt+N,IAAAA,WAAW,GAAG;AACV,WAAK6/N,cAAL,CAAoB18N,WAApB;;AACA,WAAK28N,cAAL,CAAoBhwN,QAApB;AACH;;AACDwwN,IAAAA,oBAAoB,CAACz9P,KAAD,EAAQ;AACxB,YAAMwwP,SAAS,GAAG,KAAK4M,MAAL,CAAY5M,SAA9B;AACA,YAAMzvP,KAAK,GAAGf,KAAK,CAACe,KAApB;AACA,YAAMutP,OAAO,GAAGkC,SAAS,YAAYF,SAArC,CAHwB,CAIxB;AACA;AACA;AACA;AACA;;AACA,UAAIhC,OAAO,IAAI,KAAKwO,uBAApB,EAA6C;AACzC,cAAMY,YAAY,GAAG,KAAKZ,uBAAL,CAA6BnL,iBAA7B,CAA+C5wP,KAA/C,EAAsDyvP,SAAtD,EAAiExwP,KAAK,CAACA,KAAvE,CAArB;;AACA,aAAKo9P,MAAL,CAAYxM,eAAZ,CAA4B8M,YAA5B,EAA0C,IAA1C;AACH,OAHD,MAIK,IAAI38P,KAAK,KAAKutP,OAAO,IACtB,CAAC,KAAKoD,YAAL,CAAkBnU,QAAlB,CAA2Bx8O,KAA3B,EAAkCyvP,SAAlC,CADS,CAAT,EAC+C;AAChD,aAAK4M,MAAL,CAAYzuP,GAAZ,CAAgB5N,KAAhB;AACH,OAhBuB,CAiBxB;;;AACA,UAAI,CAAC,CAAC,KAAKq8P,MAAN,IAAgB,KAAKA,MAAL,CAAYpM,UAAZ,EAAjB,KAA8C,CAAC,KAAKkM,cAAxD,EAAwE;AACpE,aAAKI,UAAL,CAAgBh1M,KAAhB;AACH;AACJ;;AACDq1M,IAAAA,mBAAmB,GAAG;AAClB,WAAKN,eAAL,GAAuB,MAAvB;;AACA,WAAKvvL,kBAAL,CAAwBwC,YAAxB;AACH;;AACDstL,IAAAA,YAAY,GAAG;AACX,aAAO,KAAKR,MAAL,CAAY5M,SAAnB;AACH;AACD;;;AACAqN,IAAAA,sBAAsB,GAAG;AACrB,UAAI,KAAKT,MAAL,KAAgB,KAAKP,YAAzB,EAAuC;AACnC,aAAKA,YAAL,CAAkBjM,eAAlB,CAAkC,KAAKwM,MAAL,CAAY5M,SAA9C,EAAyD,IAAzD;AACH;AACJ;;AAjEwD;;AAmE7DoM,EAAAA,oBAAoB,CAAC53P,IAArB,GAA4B,SAAS84P,4BAAT,CAAsC54P,CAAtC,EAAyC;AAAE,WAAO,KAAKA,CAAC,IAAI03P,oBAAV,EAAgC9+P,+DAAA,CAAyBA,qDAAzB,CAAhC,EAA6EA,+DAAA,CAAyBA,4DAAzB,CAA7E,EAAiIA,+DAAA,CAAyByyP,qBAAzB,CAAjI,EAAkLzyP,+DAAA,CAAyB+8B,+DAAzB,CAAlL,EAAgO/8B,+DAAA,CAAyB0zP,iCAAzB,EAA4D,CAA5D,CAAhO,EAAgS1zP,+DAAA,CAAyBuvP,iBAAzB,CAAhS,CAAP;AAAsV,GAA7Z;;AACAuP,EAAAA,oBAAoB,CAACnsL,IAArB,GAA4B,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEqkQ,oBAAR;AAA8B1zN,IAAAA,SAAS,EAAE,CAAC,CAAC,wBAAD,CAAD,CAAzC;AAAuEynC,IAAAA,SAAS,EAAE,SAASotL,0BAAT,CAAoCtoN,EAApC,EAAwCxgC,GAAxC,EAA6C;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACxM33C,QAAAA,yDAAA,CAAmB68P,WAAnB,EAAgC,CAAhC;AACH;;AAAC,UAAIllN,EAAE,GAAG,CAAT,EAAY;AACV,YAAIq7B,EAAJ;;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAACuoP,SAAJ,GAAgB1sL,EAAE,CAACG,KAAxE;AACH;AAAE,KAL4D;AAK1DC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,wBAAJ,CAL+C;AAKhB57B,IAAAA,QAAQ,EAAE,CALM;AAKHC,IAAAA,YAAY,EAAE,SAASyoN,iCAAT,CAA2CvoN,EAA3C,EAA+CxgC,GAA/C,EAAoD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACxI33C,QAAAA,qEAAA,CAA+B,sBAA/B,EAAuD,SAASmgQ,qEAAT,GAAiF;AAAE,iBAAOhpP,GAAG,CAACgoP,cAAJ,CAAmBrzP,IAAnB,EAAP;AAAmC,SAA7K;AACH;;AAAC,UAAI6rC,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,qEAAA,CAA+B,iBAA/B,EAAkDmX,GAAG,CAACooP,eAAtD;AACAv/P,QAAAA,yDAAA,CAAmB,8BAAnB,EAAmDmX,GAAG,CAACqoP,UAAJ,CAAeC,OAAlE;AACH;AAAE,KAV4D;AAU1Dp0N,IAAAA,MAAM,EAAE;AAAEuvM,MAAAA,KAAK,EAAE;AAAT,KAVkD;AAU9BtvM,IAAAA,QAAQ,EAAE,CAAC,sBAAD,CAVoB;AAUMC,IAAAA,QAAQ,EAAE,CAACvrC,wEAAD,CAVhB;AAUqDwzE,IAAAA,KAAK,EAAE,CAV5D;AAU+DC,IAAAA,IAAI,EAAE,EAVrE;AAUyEC,IAAAA,MAAM,EAAE,CAAC,CAAC,cAAD,EAAiB,EAAjB,EAAqB,CAArB,EAAwB,kCAAxB,CAAD,EAA8D,CAAC,CAAD,EAAI,IAAJ,EAAU,SAAV,EAAqB,SAArB,EAAgC,WAAhC,EAA6C,SAA7C,EAAwD,SAAxD,EAAmE,YAAnE,EAAiF,iBAAjF,EAAoG,UAApG,EAAgH,WAAhH,EAA6H,iBAA7H,EAAgJ,eAAhJ,EAAiK,cAAjK,EAAiL,eAAjL,EAAkM,aAAlM,EAAiN,gBAAjN,CAA9D,EAAkS,CAAC,CAAD,EAAI,iBAAJ,CAAlS,EAA0T,CAAC,MAAD,EAAS,QAAT,EAAmB,mBAAnB,EAAwC,EAAxC,EAA4C,CAA5C,EAA+C,6BAA/C,EAA8E,CAA9E,EAAiF,OAAjF,EAA0F,OAA1F,EAAmG,MAAnG,EAA2G,OAA3G,CAA1T,CAVjF;AAUigB1N,IAAAA,QAAQ,EAAE,SAASo6L,6BAAT,CAAuCzoN,EAAvC,EAA2CxgC,GAA3C,EAAgD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACpoB33C,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,cAAzB,EAAyC,CAAzC;AACAA,QAAAA,wDAAA,CAAkB,cAAlB,EAAkC,SAASqgQ,kEAAT,CAA4EvrC,MAA5E,EAAoF;AAAE,iBAAO39M,GAAG,CAACqoP,UAAJ,CAAec,WAAf,CAA2BxrC,MAA3B,CAAP;AAA4C,SAApK,EAAsK,eAAtK,EAAuL,SAASyrC,mEAAT,CAA6EzrC,MAA7E,EAAqF;AAAE,iBAAO39M,GAAG,CAACqoP,UAAJ,CAAegB,YAAf,CAA4B1rC,MAA5B,CAAP;AAA6C,SAA3T,EAA6T,aAA7T,EAA4U,SAAS2rC,iEAAT,CAA2E3rC,MAA3E,EAAmF;AAAE,iBAAO39M,GAAG,CAACqoP,UAAJ,CAAekB,YAAf,CAA4B5rC,MAA5B,CAAP;AAA6C,SAA9c,EAAgd,gBAAhd,EAAke,SAAS6rC,oEAAT,CAA8E7rC,MAA9E,EAAsF;AAAE,iBAAO39M,GAAG,CAACwoP,oBAAJ,CAAyB7qC,MAAzB,CAAP;AAA0C,SAApmB;AACA90N,QAAAA,0DAAA;AACAA,QAAAA,wDAAA,CAAkB,CAAlB,EAAqB+uP,2CAArB,EAAkE,CAAlE,EAAqE,CAArE,EAAwE,aAAxE,EAAuF,CAAvF;AACA/uP,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,QAAzB,EAAmC,CAAnC;AACAA,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAAS4gQ,qDAAT,GAAiE;AAAE,iBAAOzpP,GAAG,CAAC0pP,mBAAJ,GAA0B,IAAjC;AAAwC,SAAtI,EAAwI,MAAxI,EAAgJ,SAASC,oDAAT,GAAgE;AAAE,iBAAO3pP,GAAG,CAAC0pP,mBAAJ,GAA0B,KAAjC;AAAyC,SAA3P,EAA6P,OAA7P,EAAsQ,SAASE,qDAAT,GAAiE;AAAE,iBAAO5pP,GAAG,CAACqoP,UAAJ,CAAeh1M,KAAf,EAAP;AAAgC,SAAzW;AACAxqD,QAAAA,oDAAA,CAAc,CAAd;AACAA,QAAAA,0DAAA;AACAA,QAAAA,0DAAA;AACH;;AAAC,UAAI23C,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,yDAAA,CAAmB,+CAAnB,EAAoEmX,GAAG,CAACioP,cAAxE;AACAp/P,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,IAAlB,EAAwBmX,GAAG,CAACqoP,UAAJ,CAAe/7P,EAAvC,EAA2C,SAA3C,EAAsD0T,GAAG,CAACqoP,UAAJ,CAAe10M,UAArE,EAAiF,SAAjF,EAA4F3zC,GAAG,CAACqoP,UAAJ,CAAenC,OAA3G,EAAoH,WAApH,EAAiIlmP,GAAG,CAACqoP,UAAJ,CAAepzI,SAAhJ,EAA2J,SAA3J,EAAsKj1G,GAAG,CAACqoP,UAAJ,CAAewB,WAAf,EAAtK,EAAoM,SAApM,EAA+M7pP,GAAG,CAACqoP,UAAJ,CAAeyB,WAAf,EAA/M,EAA6O,YAA7O,EAA2P9pP,GAAG,CAACqoP,UAAJ,CAAe0B,cAAf,EAA3P,EAA4R,iBAA5R,EAA+S/pP,GAAG,CAACqoP,UAAJ,CAAe2B,uBAA9T,EAAuV,UAAvV,EAAmWhqP,GAAG,CAAC2oP,YAAJ,EAAnW,EAAuX,WAAvX,EAAoY3oP,GAAG,CAACqoP,UAAJ,CAAejS,SAAnZ,EAA8Z,iBAA9Z,EAAibp2O,GAAG,CAACq2O,eAArb,EAAsc,eAAtc,EAAudr2O,GAAG,CAACs2O,aAA3d,EAA0e,iBAA1e,EAA6f,OAA7f;AACAztP,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,iBAAlB,EAAqCmX,GAAG,CAACioP,cAAzC;AACAp/P,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,yDAAA,CAAmB,qBAAnB,EAA0C,CAACmX,GAAG,CAAC0pP,mBAA/C;AACA7gQ,QAAAA,wDAAA,CAAkB,OAAlB,EAA2BmX,GAAG,CAACyjO,KAAJ,IAAa,SAAxC;AACA56O,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,+DAAA,CAAyBmX,GAAG,CAACkoP,gBAA7B;AACH;AAAE,KAhC4D;AAgC1D5lJ,IAAAA,UAAU,EAAE,CAACqwI,4DAAD,EAAsB+S,WAAtB,EAAmC//N,oDAAnC,EAAmDitN,iEAAnD,EAA2EzkM,+DAA3E,CAhC8C;AAgCgDzqD,IAAAA,MAAM,EAAE,CAAC,khCAAD,CAhCxD;AAgC8kCs5E,IAAAA,aAAa,EAAE,CAhC7lC;AAgCgmCvxE,IAAAA,IAAI,EAAE;AAAEnH,MAAAA,SAAS,EAAE,CAC1qC6iQ,uBAAuB,CAACC,cADkpC,EAE1qCD,uBAAuB,CAACE,cAFkpC;AAAb,KAhCtmC;AAmCtDpqL,IAAAA,eAAe,EAAE;AAnCqC,GAAzB,CAA1C;SApEM0qL;;;AAmHN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOr3P,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA6BC,CA7BhB;AA8BA;;;IACM25P;AAAN,QAAMA,iBAAN,CAAwB;AACpB/kQ,IAAAA,WAAW;AACX;AACJ;AACA;AACA;AACIglQ,IAAAA,OALW,EAKFriM,QALE,EAKQt3B,OALR,EAKiB4gC,iBALjB,EAKoCzd,cALpC,EAKoD+oM,YALpD,EAKkEz8M,IALlE;AAMX;AACJ;AACA;AACA;AACIjZ,IAAAA,SAVW,EAUAohO,MAVA,EAUQ;AACf,WAAKtgM,QAAL,GAAgBA,QAAhB;AACA,WAAKt3B,OAAL,GAAeA,OAAf;AACA,WAAK4gC,iBAAL,GAAyBA,iBAAzB;AACA,WAAKsrL,YAAL,GAAoBA,YAApB;AACA,WAAKz8M,IAAL,GAAYA,IAAZ;AACA,WAAKmoN,MAAL,GAAcA,MAAd;AACA,WAAKgC,kBAAL,GAA0B7mO,oDAA1B;AACA;;AACA,WAAK2xF,SAAL,GAAiB,OAAjB;AACA,WAAKm1I,QAAL,GAAgB,KAAhB;AACA;;AACA,WAAKC,SAAL,GAAiB,OAAjB;AACA;;AACA,WAAKC,SAAL,GAAiB,OAAjB;AACA,WAAKC,aAAL,GAAqB,IAArB;AACA;AACR;AACA;AACA;;AACQ,WAAKvJ,YAAL,GAAoB,IAAI99N,uDAAJ,EAApB;AACA;AACR;AACA;AACA;;AACQ,WAAK6/N,aAAL,GAAqB,IAAI7/N,uDAAJ,EAArB;AACA;AACR;AACA;;AACQ,WAAK8iO,WAAL,GAAmB,IAAI9iO,uDAAJ,CAAiB,IAAjB,CAAnB;AACA;;AACA,WAAKsnO,YAAL,GAAoB,IAAItnO,uDAAJ,EAApB;AACA;;AACA,WAAKunO,YAAL,GAAoB,IAAIvnO,uDAAJ,EAApB;AACA,WAAKwnO,OAAL,GAAe,KAAf;AACA;;AACA,WAAKp+P,EAAL,GAAW,kBAAiBg7P,aAAa,EAAG,EAA5C;AACA;;AACA,WAAKqD,yBAAL,GAAiC,IAAjC;AACA;;AACA,WAAKC,qBAAL,GAA8B,GAAE,KAAKt+P,EAAG,WAAxC;AACA;;AACA,WAAKy6O,YAAL,GAAoB,IAAI1jN,yCAAJ,EAApB;;AACA,UAAI,CAAC,KAAKo5N,YAAN,KAAuB,OAAOnsP,SAAP,KAAqB,WAArB,IAAoCA,SAA3D,CAAJ,EAA2E;AACvE,cAAM6nP,0BAA0B,CAAC,aAAD,CAAhC;AACH;;AACD,WAAK/gM,eAAL,GAAuB1D,cAAvB;AACH;AACD;;;AACW,QAAPwyM,OAAO,GAAG;AACV;AACA;AACA,aAAO,KAAKC,QAAL,KAAkB,KAAK0E,eAAL,GAAuB,KAAKA,eAAL,CAAqBC,aAArB,EAAvB,GAA8D,IAAhF,CAAP;AACH;;AACU,QAAP5E,OAAO,CAACp6P,KAAD,EAAQ;AACf,WAAKq6P,QAAL,GAAgB,KAAK1J,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAhB;AACH;AACD;;;AACS,QAAL23O,KAAK,GAAG;AACR,aAAO,KAAK+C,MAAL,KACF,KAAKqkB,eAAL,GAAuB,KAAKA,eAAL,CAAqBE,eAArB,EAAvB,GAAgEv/P,SAD9D,CAAP;AAEH;;AACQ,QAALi4O,KAAK,CAAC33O,KAAD,EAAQ;AACb,WAAK06O,MAAL,GAAc16O,KAAd;AACH;AACD;AACJ;AACA;AACA;;;AACe,QAAPw8P,OAAO,GAAG;AAAE,aAAO,KAAK8B,QAAZ;AAAuB;;AAC5B,QAAP9B,OAAO,CAACx8P,KAAD,EAAQ;AACf,WAAKs+P,QAAL,GAAgBplO,6EAAqB,CAACl5B,KAAD,CAArC;AACH;AACD;;;AACY,QAARX,QAAQ,GAAG;AACX,aAAO,KAAKmiD,SAAL,KAAmB9hD,SAAnB,IAAgC,KAAKq/P,eAArC,GACH,KAAKA,eAAL,CAAqB1/P,QADlB,GAC6B,CAAC,CAAC,KAAKmiD,SAD3C;AAEH;;AACW,QAARniD,QAAQ,CAACW,KAAD,EAAQ;AAChB,YAAM8wB,QAAQ,GAAGoI,6EAAqB,CAACl5B,KAAD,CAAtC;;AACA,UAAI8wB,QAAQ,KAAK,KAAK0wB,SAAtB,EAAiC;AAC7B,aAAKA,SAAL,GAAiB1wB,QAAjB;AACA,aAAKmqN,YAAL,CAAkBpyO,IAAlB,CAAuBnJ,SAAvB;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACoB,QAAZw/P,YAAY,GAAG;AAAE,aAAO,KAAKT,aAAZ;AAA4B;;AACjC,QAAZS,YAAY,CAACl/P,KAAD,EAAQ;AACpB,WAAKy+P,aAAL,GAAqBvlO,6EAAqB,CAACl5B,KAAD,CAA1C;AACH;AACD;AACJ;AACA;AACA;;;AACkB,QAAV6nD,UAAU,GAAG;AAAE,aAAO,KAAKs3M,WAAZ;AAA0B;;AAC/B,QAAVt3M,UAAU,CAAC7nD,KAAD,EAAQ;AAClB,WAAKm/P,WAAL,GAAmB1nL,yEAAiB,CAACz3E,KAAD,CAApC;AACH;AACD;;;AACU,QAANo/P,MAAM,GAAG;AAAE,aAAO,KAAKR,OAAZ;AAAsB;;AAC3B,QAANQ,MAAM,CAACp/P,KAAD,EAAQ;AACdk5B,MAAAA,6EAAqB,CAACl5B,KAAD,CAArB,GAA+B,KAAK08D,IAAL,EAA/B,GAA6C,KAAKnV,KAAL,EAA7C;AACH;AACD;;;AACAw2M,IAAAA,WAAW,GAAG;AACV,aAAO,KAAKgB,eAAL,IAAwB,KAAKA,eAAL,CAAqBxiQ,GAApD;AACH;AACD;;;AACAyhQ,IAAAA,WAAW,GAAG;AACV,aAAO,KAAKe,eAAL,IAAwB,KAAKA,eAAL,CAAqB3iQ,GAApD;AACH;;AACD6hQ,IAAAA,cAAc,GAAG;AACb,aAAO,KAAKc,eAAL,IAAwB,KAAKA,eAAL,CAAqB5U,UAApD;AACH;;AACDviN,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,YAAMw+B,cAAc,GAAGx+B,OAAO,CAAC,WAAD,CAAP,IAAwBA,OAAO,CAAC,WAAD,CAAtD;;AACA,UAAIw+B,cAAc,IAAI,CAACA,cAAc,CAAC90B,WAAlC,IAAiD,KAAKwd,WAA1D,EAAuE;AACnE,cAAMkG,gBAAgB,GAAG,KAAKlG,WAAL,CAAiByH,SAAjB,GAA6BvB,gBAAtD;;AACA,YAAIA,gBAAgB,YAAYkD,oFAAhC,EAAmE;AAC/D,eAAK2wM,sBAAL,CAA4B7zM,gBAA5B;;AACA,cAAI,KAAK4zM,MAAT,EAAiB;AACb,iBAAK95M,WAAL,CAAiBM,cAAjB;AACH;AACJ;AACJ;;AACD,WAAKq1L,YAAL,CAAkBpyO,IAAlB,CAAuBnJ,SAAvB;AACH;;AACD08B,IAAAA,WAAW,GAAG;AACV,WAAKkjO,eAAL;;AACA,WAAK/3M,KAAL;;AACA,WAAK82M,kBAAL,CAAwB9+N,WAAxB;;AACA,WAAK07M,YAAL,CAAkB/uM,QAAlB;AACH;AACD;;;AACAmM,IAAAA,MAAM,CAACyrC,IAAD,EAAO;AACT,WAAKu4K,MAAL,CAAYzuP,GAAZ,CAAgBk2E,IAAhB;AACH;AACD;;;AACAu5K,IAAAA,WAAW,CAACxC,cAAD,EAAiB;AACxB,WAAK3F,YAAL,CAAkBxjN,IAAlB,CAAuBmpN,cAAvB;AACH;AACD;;;AACA0C,IAAAA,YAAY,CAACzC,eAAD,EAAkB;AAC1B,WAAK7D,aAAL,CAAmBvlN,IAAnB,CAAwBopN,eAAxB;AACH;AACD;;;AACA2C,IAAAA,YAAY,CAACtnN,IAAD,EAAO;AACf,WAAK+jN,WAAL,CAAiBxoN,IAAjB,CAAsByE,IAAtB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIopN,IAAAA,aAAa,CAACv2P,KAAD,EAAQ;AACjB,UAAI,KAAK+1P,eAAL,KAAyB,OAAOv6P,SAAP,KAAqB,WAArB,IAAoCA,SAA7D,CAAJ,EAA6E;AACzE,cAAM3F,KAAK,CAAC,6DAAD,CAAX;AACH;;AACD,WAAKw/P,kBAAL,CAAwB9+N,WAAxB;;AACA,WAAKw/N,eAAL,GAAuB/1P,KAAvB;AACA,WAAKq1P,kBAAL,GACIr1P,KAAK,CAACiyO,YAAN,CAAmB58M,SAAnB,CAA6B,MAAM,KAAK48M,YAAL,CAAkBpyO,IAAlB,CAAuBnJ,SAAvB,CAAnC,CADJ;AAEA,aAAO,KAAK28P,MAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACImD,IAAAA,eAAe,CAAC9zM,MAAD,EAAS;AACpB,UAAI,KAAKywM,cAAL,KAAwB,OAAO33P,SAAP,KAAqB,WAArB,IAAoCA,SAA5D,CAAJ,EAA4E;AACxE,cAAM3F,KAAK,CAAC,mEAAD,CAAX;AACH;;AACD,WAAKs9P,cAAL,GAAsBzwM,MAAtB;AACH;AACD;AACJ;AACA;AACA;;;AACI+zM,IAAAA,aAAa,CAAC/zM,MAAD,EAAS;AAClB,UAAIA,MAAM,KAAK,KAAKywM,cAApB,EAAoC;AAChC,aAAKA,cAAL,GAAsB,IAAtB;AACH;AACJ;AACD;;;AACAz/L,IAAAA,IAAI,GAAG;AACH,UAAI,KAAKkiM,OAAL,IAAgB,KAAKv/P,QAAzB,EAAmC;AAC/B;AACH;;AACD,UAAI,CAAC,KAAK0/P,eAAN,KAA0B,OAAOv6P,SAAP,KAAqB,WAArB,IAAoCA,SAA9D,CAAJ,EAA8E;AAC1E,cAAM3F,KAAK,CAAC,8DAAD,CAAX;AACH;;AACD,WAAKggQ,yBAAL,GAAiCvlO,yFAAiC,EAAlE;;AACA,WAAKomO,YAAL;;AACA,WAAKd,OAAL,GAAe,IAAf;AACA,WAAKF,YAAL,CAAkBhtN,IAAlB;AACH;AACD;;;AACA6V,IAAAA,KAAK,GAAG;AACJ,UAAI,CAAC,KAAKq3M,OAAV,EAAmB;AACf;AACH;;AACD,UAAI,KAAKhsK,aAAT,EAAwB;AACpB,cAAMyqB,QAAQ,GAAG,KAAKzqB,aAAL,CAAmByqB,QAApC;;AACAA,QAAAA,QAAQ,CAACu/I,mBAAT;;AACAv/I,QAAAA,QAAQ,CAAC6+I,cAAT,CAAwB18N,IAAxB,CAA6B1G,oDAAI,CAAC,CAAD,CAAjC,EAAsCuF,SAAtC,CAAgD,MAAM,KAAKihO,eAAL,EAAtD;AACH;;AACD,YAAMK,aAAa,GAAG,MAAM;AACxB;AACA;AACA,YAAI,KAAKf,OAAT,EAAkB;AACd,eAAKA,OAAL,GAAe,KAAf;AACA,eAAKD,YAAL,CAAkBjtN,IAAlB;AACA,eAAKmtN,yBAAL,GAAiC,IAAjC;AACH;AACJ,OARD;;AASA,UAAI,KAAKJ,aAAL,IAAsB,KAAKI,yBAA3B,IACA,OAAO,KAAKA,yBAAL,CAA+B78N,KAAtC,KAAgD,UADpD,EACgE;AAC5D;AACA;AACA;AACA;AACA;AACA,aAAK68N,yBAAL,CAA+B78N,KAA/B;;AACA0H,QAAAA,UAAU,CAACi2N,aAAD,CAAV;AACH,OATD,MAUK;AACDA,QAAAA,aAAa;AAChB;AACJ;AACD;;;AACA7C,IAAAA,sBAAsB,GAAG;AACrB,UAAIrpO,EAAJ,EAAQkY,EAAR;;AACA,OAACA,EAAE,GAAG,CAAClY,EAAE,GAAG,KAAKm/D,aAAX,MAA8B,IAA9B,IAAsCn/D,EAAE,KAAK,KAAK,CAAlD,GAAsD,KAAK,CAA3D,GAA+DA,EAAE,CAAC4pF,QAAxE,MAAsF,IAAtF,IAA8F1xE,EAAE,KAAK,KAAK,CAA1G,GAA8G,KAAK,CAAnH,GAAuHA,EAAE,CAACmxN,sBAAH,EAAvH;AACH;AACD;;;AACA8C,IAAAA,qBAAqB,CAACviJ,QAAD,EAAW;AAC5BA,MAAAA,QAAQ,CAACk/I,UAAT,GAAsB,IAAtB;AACAl/I,MAAAA,QAAQ,CAACs6H,KAAT,GAAiB,KAAKA,KAAtB;AACAt6H,MAAAA,QAAQ,CAAC8+I,cAAT,GAA0B,KAAKA,cAA/B;AACH;AACD;;;AACAuD,IAAAA,YAAY,GAAG;AACX,WAAKJ,eAAL;;AACA,YAAMO,QAAQ,GAAG,KAAKrD,OAAtB;AACA,YAAMsD,OAAO,GAAG,KAAKf,eAAL,CAAqBgB,iBAArB,EAAhB;AACA,YAAMr0M,MAAM,GAAG,IAAIiX,iEAAJ,CAAoBk5L,oBAApB,EAA0C,KAAKx2L,iBAA/C,CAAf;;AACA,YAAM9f,UAAU,GAAG,KAAKD,WAAL,GAAmB,KAAKyW,QAAL,CAAcvkD,MAAd,CAAqB,IAAImwC,gEAAJ,CAAkB;AACzE6D,QAAAA,gBAAgB,EAAEq0M,QAAQ,GAAG,KAAKG,kBAAL,EAAH,GAA+B,KAAKC,oBAAL,EADgB;AAEzEn4M,QAAAA,WAAW,EAAE,IAF4D;AAGzEC,QAAAA,aAAa,EAAE,CACX83M,QAAQ,GAAG,2BAAH,GAAiC,kCAD9B,EAEX,KAAKf,qBAFM,CAH0D;AAOzE7/N,QAAAA,SAAS,EAAE,KAAKiV,IAPyD;AAQzE0T,QAAAA,cAAc,EAAEi4M,QAAQ,GAAG,KAAK9jM,QAAL,CAAclB,gBAAd,CAA+BrT,KAA/B,EAAH,GAA4C,KAAK8D,eAAL,EARK;AASzEzD,QAAAA,UAAU,EAAG,kBAAiBg4M,QAAQ,GAAG,QAAH,GAAc,OAAQ;AATa,OAAlB,CAArB,CAAtC;;AAWA,YAAM34M,cAAc,GAAG3B,UAAU,CAAC2B,cAAlC;AACAA,MAAAA,cAAc,CAAC3/C,YAAf,CAA4B,MAA5B,EAAoC,QAApC;;AACA,UAAIu4P,OAAJ,EAAa;AACT54M,QAAAA,cAAc,CAAC3/C,YAAf,CAA4B,iBAA5B,EAA+Cu4P,OAA/C;AACH;;AACD,UAAID,QAAJ,EAAc;AACV34M,QAAAA,cAAc,CAAC3/C,YAAf,CAA4B,YAA5B,EAA0C,MAA1C;AACH;;AACD,WAAK24P,eAAL,CAAqB36M,UAArB,EAAiClnB,SAAjC,CAA2Cp/B,KAAK,IAAI;AAChD,YAAIA,KAAJ,EAAW;AACPA,UAAAA,KAAK,CAAC6hC,cAAN;AACH;;AACD,aAAKymB,KAAL;AACH,OALD;;AAMA,WAAKqrC,aAAL,GAAqBrtC,UAAU,CAACzB,MAAX,CAAkB4H,MAAlB,CAArB;;AACA,WAAKk0M,qBAAL,CAA2B,KAAKhtK,aAAL,CAAmByqB,QAA9C,EA/BW,CAgCX;;;AACA,UAAI,CAACwiJ,QAAL,EAAe;AACX,aAAKp7N,OAAL,CAAaoC,QAAb,CAAsBrH,IAAtB,CAA2B1G,oDAAI,CAAC,CAAD,CAA/B,EAAoCuF,SAApC,CAA8C,MAAMknB,UAAU,CAACK,cAAX,EAApD;AACH;AACJ;AACD;;;AACA05M,IAAAA,eAAe,GAAG;AACd,UAAI,KAAKh6M,WAAT,EAAsB;AAClB,aAAKA,WAAL,CAAiB6G,OAAjB;;AACA,aAAK7G,WAAL,GAAmB,KAAKstC,aAAL,GAAqB,IAAxC;AACH;AACJ;AACD;;;AACAotK,IAAAA,kBAAkB,GAAG;AACjB,aAAO,KAAKjkM,QAAL,CAAc7gE,QAAd,GAAyBq/D,MAAzB,GAAkCV,kBAAlC,GAAuDC,gBAAvD,EAAP;AACH;AACD;;;AACAmmM,IAAAA,oBAAoB,GAAG;AACnB,YAAMhzM,QAAQ,GAAG,KAAK8O,QAAL,CAAc7gE,QAAd,GACZu/D,mBADY,CACQ,KAAKskM,eAAL,CAAqBoB,yBAArB,EADR,EAEZ7sM,qBAFY,CAEU,yBAFV,EAGZV,sBAHY,CAGW,KAHX,EAIZF,kBAJY,CAIO,CAJP,EAKZQ,kBALY,EAAjB;;AAMA,aAAO,KAAKmsM,sBAAL,CAA4BpyM,QAA5B,CAAP;AACH;AACD;;;AACAoyM,IAAAA,sBAAsB,CAACpyM,QAAD,EAAW;AAC7B,YAAMmzM,QAAQ,GAAG,KAAK7B,SAAL,KAAmB,KAAnB,GAA2B,KAA3B,GAAmC,OAApD;AACA,YAAM8B,UAAU,GAAGD,QAAQ,KAAK,OAAb,GAAuB,KAAvB,GAA+B,OAAlD;AACA,YAAME,QAAQ,GAAG,KAAK9B,SAAL,KAAmB,OAAnB,GAA6B,QAA7B,GAAwC,KAAzD;AACA,YAAM+B,UAAU,GAAGD,QAAQ,KAAK,KAAb,GAAqB,QAArB,GAAgC,KAAnD;AACA,aAAOrzM,QAAQ,CAACwF,aAAT,CAAuB,CAC1B;AACIrK,QAAAA,OAAO,EAAEg4M,QADb;AAEI/3M,QAAAA,OAAO,EAAEk4M,UAFb;AAGIj4M,QAAAA,QAAQ,EAAE83M,QAHd;AAII73M,QAAAA,QAAQ,EAAE+3M;AAJd,OAD0B,EAO1B;AACIl4M,QAAAA,OAAO,EAAEg4M,QADb;AAEI/3M,QAAAA,OAAO,EAAEi4M,QAFb;AAGIh4M,QAAAA,QAAQ,EAAE83M,QAHd;AAII73M,QAAAA,QAAQ,EAAEg4M;AAJd,OAP0B,EAa1B;AACIn4M,QAAAA,OAAO,EAAEi4M,UADb;AAEIh4M,QAAAA,OAAO,EAAEk4M,UAFb;AAGIj4M,QAAAA,QAAQ,EAAE+3M,UAHd;AAII93M,QAAAA,QAAQ,EAAE+3M;AAJd,OAb0B,EAmB1B;AACIl4M,QAAAA,OAAO,EAAEi4M,UADb;AAEIh4M,QAAAA,OAAO,EAAEi4M,QAFb;AAGIh4M,QAAAA,QAAQ,EAAE+3M,UAHd;AAII93M,QAAAA,QAAQ,EAAEg4M;AAJd,OAnB0B,CAAvB,CAAP;AA0BH;AACD;;;AACAL,IAAAA,eAAe,CAAC36M,UAAD,EAAa;AACxB,aAAOlC,4CAAK,CAACkC,UAAU,CAACmH,aAAX,EAAD,EAA6BnH,UAAU,CAACqH,WAAX,EAA7B,EAAuDrH,UAAU,CAACsH,aAAX,GAA2BrtB,IAA3B,CAAgCtsB,uDAAM,CAACjU,KAAK,IAAI;AAC/G;AACA,eAAQA,KAAK,CAACihC,OAAN,KAAkB6Z,yDAAlB,IAA4B,CAACpiB,qEAAc,CAAC14B,KAAD,CAA5C,IAAyD,KAAK8/P,eAAL,IAC5DpnO,qEAAc,CAAC14B,KAAD,EAAQ,QAAR,CAD8C,IACzBA,KAAK,CAACihC,OAAN,KAAkB9H,2DADzD;AAEH,OAJwG,CAAtC,CAAvD,CAAZ;AAKH;;AAlWmB;;AAoWxB+lO,EAAAA,iBAAiB,CAACl6P,IAAlB,GAAyB,SAASu8P,yBAAT,CAAmCr8P,CAAnC,EAAsC;AAAE,WAAO,KAAKA,CAAC,IAAIg6P,iBAAV,EAA6BphQ,+DAAA,CAAyBi6B,qDAAzB,CAA7B,EAAmEj6B,+DAAA,CAAyBgqP,0DAAzB,CAAnE,EAA6GhqP,+DAAA,CAAyBA,iDAAzB,CAA7G,EAAsJA,+DAAA,CAAyBA,2DAAzB,CAAtJ,EAAyMA,+DAAA,CAAyB0+P,8BAAzB,CAAzM,EAAmQ1+P,+DAAA,CAAyB+8B,+DAAzB,EAA6C,CAA7C,CAAnQ,EAAoT/8B,+DAAA,CAAyBqlD,6DAAzB,EAAgD,CAAhD,CAApT,EAAwWrlD,+DAAA,CAAyB25B,qDAAzB,EAAmC,CAAnC,CAAxW,EAA+Y35B,+DAAA,CAAyByyP,qBAAzB,CAA/Y,CAAP;AAAyc,GAA1gB;;AACA2O,EAAAA,iBAAiB,CAACl2N,IAAlB,GAAyB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE2mQ,iBAAR;AAA2B/1N,IAAAA,MAAM,EAAE;AAAE+gF,MAAAA,SAAS,EAAE,WAAb;AAA0Bo1I,MAAAA,SAAS,EAAE,WAArC;AAAkDC,MAAAA,SAAS,EAAE,WAA7D;AAA0EpE,MAAAA,OAAO,EAAE,SAAnF;AAA8FziB,MAAAA,KAAK,EAAE,OAArG;AAA8G6kB,MAAAA,OAAO,EAAE,SAAvH;AAAkIn9P,MAAAA,QAAQ,EAAE,UAA5I;AAAwJ6/P,MAAAA,YAAY,EAAE,cAAtK;AAAsLr3M,MAAAA,UAAU,EAAE,YAAlM;AAAgNu3M,MAAAA,MAAM,EAAE,QAAxN;AAAkOlB,MAAAA,uBAAuB,EAAE,yBAA3P;AAAsR5T,MAAAA,SAAS,EAAE;AAAjS,KAAnC;AAAmV14M,IAAAA,OAAO,EAAE;AAAEsjN,MAAAA,YAAY,EAAE,cAAhB;AAAgC+B,MAAAA,aAAa,EAAE,eAA/C;AAAgEiD,MAAAA,WAAW,EAAE,aAA7E;AAA4FwE,MAAAA,YAAY,EAAE,QAA1G;AAAoHC,MAAAA,YAAY,EAAE;AAAlI,KAA5V;AAA0er2N,IAAAA,QAAQ,EAAE,CAACvrC,kEAAD;AAApf,GAAzB,CAAvC;SArWMohQ;;;AAoYN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO35P,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAqDC,CArDhB;AAuDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACMi8P;AAAN,QAAMA,aAAN,SAA4BtC,iBAA5B,CAA8C;;AAE9CsC,EAAAA,aAAa,CAACx8P,IAAd,GAAqB,aAAc,YAAY;AAAE,QAAIy8P,0BAAJ;AAAgC,WAAO,SAASC,qBAAT,CAA+Bx8P,CAA/B,EAAkC;AAAE,aAAO,CAACu8P,0BAA0B,KAAKA,0BAA0B,GAAG3jQ,mEAAA,CAA6B0jQ,aAA7B,CAAlC,CAA3B,EAA2Gt8P,CAAC,IAAIs8P,aAAhH,CAAP;AAAwI,KAAnL;AAAsL,GAApO,EAAnC;;AACAA,EAAAA,aAAa,CAAC/wL,IAAd,GAAqB,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEipQ,aAAR;AAAuBt4N,IAAAA,SAAS,EAAE,CAAC,CAAC,gBAAD,CAAD,CAAlC;AAAwDE,IAAAA,QAAQ,EAAE,CAAC,eAAD,CAAlE;AAAqFC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAC1KuzP,wCAD0K,EAE1K;AAAEz7M,MAAAA,OAAO,EAAEspN,iBAAX;AAA8BrpN,MAAAA,WAAW,EAAE2rN;AAA3C,KAF0K,CAA1B,CAAD,EAG/I1jQ,wEAH+I,CAA/F;AAGZwzE,IAAAA,KAAK,EAAE,CAHK;AAGFC,IAAAA,IAAI,EAAE,CAHJ;AAGOzN,IAAAA,QAAQ,EAAE,SAAS69L,sBAAT,CAAgClsN,EAAhC,EAAoCxgC,GAApC,EAAyC,CAAG,CAH7D;AAG+Dg9D,IAAAA,aAAa,EAAE,CAH9E;AAGiFC,IAAAA,eAAe,EAAE;AAHlG,GAAzB,CAAnC;SAHMsvL;;;AAON;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOj8P,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAaO,CAbtB;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMq8P,uBAAN,CAA8B;AAC1BznQ,EAAAA,WAAW;AACX;AACAmd,EAAAA,MAFW;AAGX;AACAuqP,EAAAA,aAJW,EAII;AACX,SAAKvqP,MAAL,GAAcA,MAAd;AACA,SAAKuqP,aAAL,GAAqBA,aAArB;AACA,SAAK9gQ,KAAL,GAAa,KAAKuW,MAAL,CAAYvW,KAAzB;AACH;;AATyB;AAW9B;;;IACM+gQ;AAAN,QAAMA,sBAAN,CAA6B;AACzB3nQ,IAAAA,WAAW,CAAC8tC,WAAD,EAAcypN,YAAd,EAA4BS,YAA5B,EAA0C;AACjD,WAAKlqN,WAAL,GAAmBA,WAAnB;AACA,WAAKypN,YAAL,GAAoBA,YAApB;AACA,WAAKS,YAAL,GAAoBA,YAApB;AACA;;AACA,WAAK4P,UAAL,GAAkB,IAAI5pO,uDAAJ,EAAlB;AACA;;AACA,WAAK8+M,SAAL,GAAiB,IAAI9+M,uDAAJ,EAAjB;AACA;;AACA,WAAK6jN,YAAL,GAAoB,IAAI1jN,yCAAJ,EAApB;;AACA,WAAK0pO,UAAL,GAAkB,MAAM,CAAG,CAA3B;;AACA,WAAKC,kBAAL,GAA0B,MAAM,CAAG,CAAnC;;AACA,WAAKC,YAAL,GAAoB,MAAM,CAAG,CAA7B;;AACA,WAAKC,yBAAL,GAAiC5pO,oDAAjC;AACA,WAAK6pO,mBAAL,GAA2B7pO,oDAA3B;AACA;;AACA,WAAK8pO,eAAL,GAAuB,MAAM;AACzB,eAAO,KAAKC,eAAL,GACH,IADG,GACI;AAAE,gCAAsB;AAAE,oBAAQ,KAAKr6N,WAAL,CAAiBI,aAAjB,CAA+BtnC;AAAzC;AAAxB,SADX;AAEH,OAHD;AAIA;;;AACA,WAAKwhQ,gBAAL,GAAyB/tC,OAAD,IAAa;AACjC,cAAMguC,YAAY,GAAG,KAAK9Q,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8BjiB,OAAO,CAACzzN,KAAtC,CAArC,CAArB;;AACA,eAAO,CAACyhQ,YAAD,IAAiB,KAAKC,cAAL,CAAoBD,YAApB,CAAjB,GACH,IADG,GACI;AAAE,iCAAuB;AAAzB,SADX;AAEH,OAJD;AAKA;;;AACA,WAAKE,aAAL,GAAsBluC,OAAD,IAAa;AAC9B,cAAMguC,YAAY,GAAG,KAAK9Q,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8BjiB,OAAO,CAACzzN,KAAtC,CAArC,CAArB;;AACA,cAAMzD,GAAG,GAAG,KAAKwhQ,WAAL,EAAZ;;AACA,eAAQ,CAACxhQ,GAAD,IAAQ,CAACklQ,YAAT,IACJ,KAAK9Q,YAAL,CAAkBrU,WAAlB,CAA8B//O,GAA9B,EAAmCklQ,YAAnC,KAAoD,CADjD,GAEH,IAFG,GAEI;AAAE,8BAAoB;AAAE,mBAAOllQ,GAAT;AAAc,sBAAUklQ;AAAxB;AAAtB,SAFX;AAGH,OAND;AAOA;;;AACA,WAAKG,aAAL,GAAsBnuC,OAAD,IAAa;AAC9B,cAAMguC,YAAY,GAAG,KAAK9Q,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8BjiB,OAAO,CAACzzN,KAAtC,CAArC,CAArB;;AACA,cAAM5D,GAAG,GAAG,KAAK4hQ,WAAL,EAAZ;;AACA,eAAQ,CAAC5hQ,GAAD,IAAQ,CAACqlQ,YAAT,IACJ,KAAK9Q,YAAL,CAAkBrU,WAAlB,CAA8BlgP,GAA9B,EAAmCqlQ,YAAnC,KAAoD,CADjD,GAEH,IAFG,GAEI;AAAE,8BAAoB;AAAE,mBAAOrlQ,GAAT;AAAc,sBAAUqlQ;AAAxB;AAAtB,SAFX;AAGH,OAND;AAOA;;;AACA,WAAKF,eAAL,GAAuB,KAAvB;;AACA,UAAI,OAAO/8P,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,YAAI,CAAC,KAAKmsP,YAAV,EAAwB;AACpB,gBAAMtE,0BAA0B,CAAC,aAAD,CAAhC;AACH;;AACD,YAAI,CAAC,KAAK+E,YAAV,EAAwB;AACpB,gBAAM/E,0BAA0B,CAAC,kBAAD,CAAhC;AACH;AACJ,OAnDgD,CAoDjD;;;AACA,WAAKgV,mBAAL,GAA2B1Q,YAAY,CAACvU,aAAb,CAA2B/9M,SAA3B,CAAqC,MAAM;AAClE,aAAKwjO,4BAAL,CAAkC,KAAK7hQ,KAAvC;AACH,OAF0B,CAA3B;AAGH;AACD;;;AACS,QAALA,KAAK,GAAG;AACR,aAAO,KAAKq8P,MAAL,GAAc,KAAKyF,kBAAL,CAAwB,KAAKzF,MAAL,CAAY5M,SAApC,CAAd,GAA+D,KAAK10B,aAA3E;AACH;;AACQ,QAAL/6N,KAAK,CAACA,KAAD,EAAQ;AACb,WAAK6hQ,4BAAL,CAAkC7hQ,KAAlC;AACH;AACD;;;AACY,QAARX,QAAQ,GAAG;AAAE,aAAO,CAAC,CAAC,KAAKmiD,SAAP,IAAoB,KAAKugN,eAAL,EAA3B;AAAoD;;AACzD,QAAR1iQ,QAAQ,CAACW,KAAD,EAAQ;AAChB,YAAM8wB,QAAQ,GAAGoI,6EAAqB,CAACl5B,KAAD,CAAtC;AACA,YAAMrC,OAAO,GAAG,KAAKupC,WAAL,CAAiBI,aAAjC;;AACA,UAAI,KAAKka,SAAL,KAAmB1wB,QAAvB,EAAiC;AAC7B,aAAK0wB,SAAL,GAAiB1wB,QAAjB;AACA,aAAKmqN,YAAL,CAAkBpyO,IAAlB,CAAuBnJ,SAAvB;AACH,OANe,CAOhB;AACA;AACA;AACA;;;AACA,UAAIoxB,QAAQ,IAAI,KAAKqjB,cAAjB,IAAmCx2C,OAAO,CAACqkQ,IAA/C,EAAqD;AACjD;AACA;AACA;AACArkQ,QAAAA,OAAO,CAACqkQ,IAAR;AACH;AACJ;AACD;;;AACAC,IAAAA,cAAc,GAAG;AACb,aAAO,CAAC,KAAKX,eAAN,EAAuB,KAAKK,aAA5B,EAA2C,KAAKC,aAAhD,EAA+D,KAAKJ,gBAApE,CAAP;AACH;AACD;;;AACAU,IAAAA,cAAc,CAAC59B,KAAD,EAAQ;AAClB,WAAK+3B,MAAL,GAAc/3B,KAAd;;AACA,WAAK88B,yBAAL,CAA+B7hO,WAA/B;;AACA,UAAI,KAAKw7L,aAAT,EAAwB;AACpB,aAAKonC,YAAL,CAAkB,KAAKpnC,aAAvB;AACH;;AACD,WAAKqmC,yBAAL,GAAiC,KAAK/E,MAAL,CAAYzM,gBAAZ,CAA6BvxN,SAA7B,CAAuCp/B,KAAK,IAAI;AAC7E,YAAI,KAAKmjQ,wBAAL,CAA8BnjQ,KAA9B,CAAJ,EAA0C;AACtC,gBAAMe,KAAK,GAAG,KAAK8hQ,kBAAL,CAAwB7iQ,KAAK,CAACwwP,SAA9B,CAAd;;AACA,eAAK8R,eAAL,GAAuB,KAAKc,aAAL,CAAmBriQ,KAAnB,CAAvB;;AACA,eAAKmhQ,YAAL,CAAkBnhQ,KAAlB;;AACA,eAAKihQ,UAAL;;AACA,eAAKqB,YAAL,CAAkBtiQ,KAAlB;;AACA,eAAKk2O,SAAL,CAAexkM,IAAf,CAAoB,IAAImvN,uBAAJ,CAA4B,IAA5B,EAAkC,KAAK35N,WAAL,CAAiBI,aAAnD,CAApB;AACA,eAAK05N,UAAL,CAAgBtvN,IAAhB,CAAqB,IAAImvN,uBAAJ,CAA4B,IAA5B,EAAkC,KAAK35N,WAAL,CAAiBI,aAAnD,CAArB;AACH;AACJ,OAVgC,CAAjC;AAWH;;AACDkK,IAAAA,eAAe,GAAG;AACd,WAAK2C,cAAL,GAAsB,IAAtB;AACH;;AACDvM,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,UAAImkO,qBAAqB,CAACnkO,OAAD,EAAU,KAAKuyN,YAAf,CAAzB,EAAuD;AACnD,aAAK1V,YAAL,CAAkBpyO,IAAlB,CAAuBnJ,SAAvB;AACH;AACJ;;AACD08B,IAAAA,WAAW,GAAG;AACV,WAAKglO,yBAAL,CAA+B7hO,WAA/B;;AACA,WAAK8hO,mBAAL,CAAyB9hO,WAAzB;;AACA,WAAK07M,YAAL,CAAkB/uM,QAAlB;AACH;AACD;;;AACAiuL,IAAAA,yBAAyB,CAACjgO,EAAD,EAAK;AAC1B,WAAKgnQ,kBAAL,GAA0BhnQ,EAA1B;AACH;AACD;;;AACA+6N,IAAAA,QAAQ,CAAC5jM,CAAD,EAAI;AACR,aAAO,KAAKy6M,UAAL,GAAkB,KAAKA,UAAL,CAAgBz6M,CAAhB,CAAlB,GAAuC,IAA9C;AACH,KAhIwB,CAiIzB;;;AACAmgM,IAAAA,UAAU,CAACxxN,KAAD,EAAQ;AACd,WAAK6hQ,4BAAL,CAAkC7hQ,KAAlC;AACH,KApIwB,CAqIzB;;;AACA+wN,IAAAA,gBAAgB,CAAC72N,EAAD,EAAK;AACjB,WAAKinQ,YAAL,GAAoBjnQ,EAApB;AACH,KAxIwB,CAyIzB;;;AACA42N,IAAAA,iBAAiB,CAAC52N,EAAD,EAAK;AAClB,WAAK+mQ,UAAL,GAAkB/mQ,EAAlB;AACH,KA5IwB,CA6IzB;;;AACA82N,IAAAA,gBAAgB,CAAC3uL,UAAD,EAAa;AACzB,WAAKhjC,QAAL,GAAgBgjC,UAAhB;AACH;;AACDqJ,IAAAA,UAAU,CAACzsC,KAAD,EAAQ;AACd,YAAMujQ,cAAc,GAAGvjQ,KAAK,CAAC+gD,MAAN,IAAgB/gD,KAAK,CAACihC,OAAN,KAAkB7H,6DAAzD;;AACA,UAAImqO,cAAc,IAAI,CAAC,KAAKt7N,WAAL,CAAiBI,aAAjB,CAA+Bm7N,QAAtD,EAAgE;AAC5D,aAAKC,UAAL;;AACAzjQ,QAAAA,KAAK,CAAC6hC,cAAN;AACH;AACJ;;AACD6hO,IAAAA,QAAQ,CAAC3iQ,KAAD,EAAQ;AACZ,YAAM4iQ,iBAAiB,GAAG,KAAKrB,eAA/B;;AACA,UAAIz9K,IAAI,GAAG,KAAK6sK,YAAL,CAAkBtmK,KAAlB,CAAwBrqF,KAAxB,EAA+B,KAAKoxP,YAAL,CAAkB/mK,KAAlB,CAAwB6rJ,SAAvD,CAAX;;AACA,WAAKqrB,eAAL,GAAuB,KAAKc,aAAL,CAAmBv+K,IAAnB,CAAvB;AACAA,MAAAA,IAAI,GAAG,KAAK6sK,YAAL,CAAkBtU,kBAAlB,CAAqCv4J,IAArC,CAAP;;AACA,UAAI,CAAC,KAAK6sK,YAAL,CAAkBnU,QAAlB,CAA2B14J,IAA3B,EAAiC,KAAK9jF,KAAtC,CAAL,EAAmD;AAC/C,aAAKmiQ,YAAL,CAAkBr+K,IAAlB;;AACA,aAAKq9K,YAAL,CAAkBr9K,IAAlB;;AACA,aAAKoyJ,SAAL,CAAexkM,IAAf,CAAoB,IAAImvN,uBAAJ,CAA4B,IAA5B,EAAkC,KAAK35N,WAAL,CAAiBI,aAAnD,CAApB;AACH,OAJD,MAKK;AACD;AACA;AACA,YAAItnC,KAAK,IAAI,CAAC,KAAKA,KAAnB,EAA0B;AACtB,eAAKmhQ,YAAL,CAAkBr9K,IAAlB;AACH;;AACD,YAAI8+K,iBAAiB,KAAK,KAAKrB,eAA/B,EAAgD;AAC5C,eAAKL,kBAAL;AACH;AACJ;AACJ;;AACDpgC,IAAAA,SAAS,GAAG;AACR,WAAKkgC,UAAL,CAAgBtvN,IAAhB,CAAqB,IAAImvN,uBAAJ,CAA4B,IAA5B,EAAkC,KAAK35N,WAAL,CAAiBI,aAAnD,CAArB;AACH;AACD;;;AACAwH,IAAAA,OAAO,GAAG;AACN;AACA,UAAI,KAAK9uC,KAAT,EAAgB;AACZ,aAAKsiQ,YAAL,CAAkB,KAAKtiQ,KAAvB;AACH;;AACD,WAAKihQ,UAAL;AACH;AACD;;;AACAqB,IAAAA,YAAY,CAACtiQ,KAAD,EAAQ;AAChB,WAAKknC,WAAL,CAAiBI,aAAjB,CAA+BtnC,KAA/B,GACIA,KAAK,GAAG,KAAK2wP,YAAL,CAAkB3tK,MAAlB,CAAyBhjF,KAAzB,EAAgC,KAAKoxP,YAAL,CAAkBzlO,OAAlB,CAA0BuqN,SAA1D,CAAH,GAA0E,EADnF;AAEH;AACD;;;AACAisB,IAAAA,YAAY,CAACniQ,KAAD,EAAQ;AAChB;AACA;AACA,UAAI,KAAKq8P,MAAT,EAAiB;AACb,aAAKwG,mBAAL,CAAyB7iQ,KAAzB;;AACA,aAAK+6N,aAAL,GAAqB,IAArB;AACH,OAHD,MAIK;AACD,aAAKA,aAAL,GAAqB/6N,KAArB;AACH;AACJ;AACD;;;AACAqiQ,IAAAA,aAAa,CAACriQ,KAAD,EAAQ;AACjB,aAAO,CAACA,KAAD,IAAU,KAAK2wP,YAAL,CAAkBzb,OAAlB,CAA0Bl1O,KAA1B,CAAjB;AACH;AACD;AACJ;AACA;AACA;;;AACI+hQ,IAAAA,eAAe,GAAG;AACd,aAAO,KAAP;AACH;AACD;;;AACAF,IAAAA,4BAA4B,CAAC7hQ,KAAD,EAAQ;AAChCA,MAAAA,KAAK,GAAG,KAAK2wP,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAAR;AACA,WAAKuhQ,eAAL,GAAuB,KAAKc,aAAL,CAAmBriQ,KAAnB,CAAvB;AACAA,MAAAA,KAAK,GAAG,KAAK2wP,YAAL,CAAkBtU,kBAAlB,CAAqCr8O,KAArC,CAAR;;AACA,WAAKmiQ,YAAL,CAAkBniQ,KAAlB;;AACA,WAAKsiQ,YAAL,CAAkBtiQ,KAAlB;AACH;AACD;;;AACA0hQ,IAAAA,cAAc,CAAC1hQ,KAAD,EAAQ;AAClB,YAAMkT,MAAM,GAAG,KAAK+qP,cAAL,EAAf;;AACA,aAAO,CAAC/qP,MAAD,IAAWA,MAAM,CAAClT,KAAD,CAAxB;AACH;;AAhOwB;;AAkO7B+gQ,EAAAA,sBAAsB,CAAC98P,IAAvB,GAA8B,SAAS6+P,8BAAT,CAAwC3+P,CAAxC,EAA2C;AAAE,WAAO,KAAKA,CAAC,IAAI48P,sBAAV,EAAkChkQ,+DAAA,CAAyBA,qDAAzB,CAAlC,EAA+EA,+DAAA,CAAyB+8B,+DAAzB,EAA6C,CAA7C,CAA/E,EAAgI/8B,+DAAA,CAAyB81O,oEAAzB,EAA2C,CAA3C,CAAhI,CAAP;AAAwL,GAAnQ;;AACAkuB,EAAAA,sBAAsB,CAAC94N,IAAvB,GAA8B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEupQ,sBAAR;AAAgC34N,IAAAA,MAAM,EAAE;AAAEpoC,MAAAA,KAAK,EAAE,OAAT;AAAkBX,MAAAA,QAAQ,EAAE;AAA5B,KAAxC;AAAkFuyC,IAAAA,OAAO,EAAE;AAAEovN,MAAAA,UAAU,EAAE,YAAd;AAA4B9qB,MAAAA,SAAS,EAAE;AAAvC,KAA3F;AAAiJ5tM,IAAAA,QAAQ,EAAE,CAACvrC,kEAAD;AAA3J,GAAzB,CAA5C;SAnOMgkQ;;;AA+ON;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOv8P,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAiBC,CAjBhB;AAkBA;AACA;AACA;AACA;;;AACA,SAAS+9P,qBAAT,CAA+BnkO,OAA/B,EAAwC86C,OAAxC,EAAiD;AAC7C,QAAM56E,IAAI,GAAGD,MAAM,CAACC,IAAP,CAAY8/B,OAAZ,CAAb;;AACA,OAAK,IAAIt+B,GAAT,IAAgBxB,IAAhB,EAAsB;AAClB,UAAM;AAAEk0F,MAAAA,aAAF;AAAiB16B,MAAAA;AAAjB,QAAkC15B,OAAO,CAACt+B,GAAD,CAA/C;;AACA,QAAIo5E,OAAO,CAACy8J,cAAR,CAAuBnjJ,aAAvB,KAAyCtZ,OAAO,CAACy8J,cAAR,CAAuB79K,YAAvB,CAA7C,EAAmF;AAC/E,UAAI,CAACohB,OAAO,CAACsjK,QAAR,CAAiBhqJ,aAAjB,EAAgC16B,YAAhC,CAAL,EAAoD;AAChD,eAAO,IAAP;AACH;AACJ,KAJD,MAKK;AACD,aAAO,IAAP;AACH;AACJ;;AACD,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMirM,6BAA6B,GAAG;AAClCluN,EAAAA,OAAO,EAAEw8K,8DADyB;AAElCv8K,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAM28L,kBAAP,CAFW;AAGlC7hQ,EAAAA,KAAK,EAAE;AAH2B,CAAtC;AAKA;;AACA,MAAM8hQ,yBAAyB,GAAG;AAC9BpuN,EAAAA,OAAO,EAAEq+K,0DADqB;AAE9Bp+K,EAAAA,WAAW,eAAEuxB,yDAAU,CAAC,MAAM28L,kBAAP,CAFO;AAG9B7hQ,EAAAA,KAAK,EAAE;AAHuB,CAAlC;AAKA;;IACM6hQ;AAAN,QAAMA,kBAAN,SAAiCjC,sBAAjC,CAAwD;AACpD3nQ,IAAAA,WAAW,CAACohE,UAAD,EAAa+7L,WAAb,EAA0B2M,WAA1B,EAAuCC,UAAvC,EAAmD;AAC1D,YAAM3oM,UAAN,EAAkB+7L,WAAlB,EAA+B2M,WAA/B;AACA,WAAKC,UAAL,GAAkBA,UAAlB;AACA,WAAKC,mBAAL,GAA2B5rO,oDAA3B;AACA,WAAKs0M,UAAL,GAAkBzY,+DAAA,CAAmB,MAAM4uC,cAAN,EAAnB,CAAlB;AACH;AACD;;;AACiB,QAAboB,aAAa,CAAC9G,UAAD,EAAa;AAC1B,UAAIA,UAAJ,EAAgB;AACZ,aAAK+G,WAAL,GAAmB/G,UAAnB;AACA,aAAK6G,mBAAL,GAA2B7G,UAAU,CAACoC,YAAX,CAAwBtgO,SAAxB,CAAkC,MAAM,KAAK4iO,UAAL,EAAxC,CAA3B;;AACA,aAAKiB,cAAL,CAAoB3F,UAAU,CAACgD,aAAX,CAAyB,IAAzB,CAApB;AACH;AACJ;AACD;;;AACO,QAAHhjQ,GAAG,GAAG;AAAE,aAAO,KAAKgnQ,IAAZ;AAAmB;;AACxB,QAAHhnQ,GAAG,CAACyD,KAAD,EAAQ;AACX,YAAMwjQ,UAAU,GAAG,KAAK7S,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAnB;;AACA,UAAI,CAAC,KAAK2wP,YAAL,CAAkBnU,QAAlB,CAA2BgnB,UAA3B,EAAuC,KAAKD,IAA5C,CAAL,EAAwD;AACpD,aAAKA,IAAL,GAAYC,UAAZ;;AACA,aAAKtC,kBAAL;AACH;AACJ;AACD;;;AACO,QAAH9kQ,GAAG,GAAG;AAAE,aAAO,KAAKqnQ,IAAZ;AAAmB;;AACxB,QAAHrnQ,GAAG,CAAC4D,KAAD,EAAQ;AACX,YAAMwjQ,UAAU,GAAG,KAAK7S,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAnB;;AACA,UAAI,CAAC,KAAK2wP,YAAL,CAAkBnU,QAAlB,CAA2BgnB,UAA3B,EAAuC,KAAKC,IAA5C,CAAL,EAAwD;AACpD,aAAKA,IAAL,GAAYD,UAAZ;;AACA,aAAKtC,kBAAL;AACH;AACJ;AACD;;;AACc,QAAV/W,UAAU,GAAG;AAAE,aAAO,KAAKuZ,WAAZ;AAA0B;;AAC/B,QAAVvZ,UAAU,CAACnqP,KAAD,EAAQ;AAClB,YAAM2jQ,gBAAgB,GAAG,KAAKjC,cAAL,CAAoB,KAAK1hQ,KAAzB,CAAzB;;AACA,WAAK0jQ,WAAL,GAAmB1jQ,KAAnB;;AACA,UAAI,KAAK0hQ,cAAL,CAAoB,KAAK1hQ,KAAzB,MAAoC2jQ,gBAAxC,EAA0D;AACtD,aAAKzC,kBAAL;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACIf,IAAAA,yBAAyB,GAAG;AACxB,aAAO,KAAKgD,UAAL,GAAkB,KAAKA,UAAL,CAAgBhD,yBAAhB,EAAlB,GAAgE,KAAKj5N,WAA5E;AACH;AACD;;;AACA64N,IAAAA,iBAAiB,GAAG;AAChB,UAAI,KAAKoD,UAAT,EAAqB;AACjB,eAAO,KAAKA,UAAL,CAAgBS,UAAhB,EAAP;AACH;;AACD,aAAO,KAAK18N,WAAL,CAAiBI,aAAjB,CAA+B7M,YAA/B,CAA4C,iBAA5C,CAAP;AACH;AACD;;;AACAwkO,IAAAA,eAAe,GAAG;AACd,aAAO,KAAKkE,UAAL,GAAkB,KAAKA,UAAL,CAAgBxrB,KAAlC,GAA0Cj4O,SAAjD;AACH;AACD;;;AACAs/P,IAAAA,aAAa,GAAG;AACZ,aAAO,KAAKh/P,KAAZ;AACH;;AACDo8B,IAAAA,WAAW,GAAG;AACV,YAAMA,WAAN;;AACA,WAAKgnO,mBAAL,CAAyB7jO,WAAzB;AACH;AACD;;;AACAmjO,IAAAA,UAAU,GAAG;AACT,UAAI,KAAKY,WAAT,EAAsB;AAClB,aAAKA,WAAL,CAAiB5mM,IAAjB;AACH;AACJ;;AACDolM,IAAAA,kBAAkB,CAAC+B,UAAD,EAAa;AAC3B,aAAOA,UAAP;AACH;;AACDhB,IAAAA,mBAAmB,CAAC7iQ,KAAD,EAAQ;AACvB,UAAI,KAAKq8P,MAAT,EAAiB;AACb,aAAKA,MAAL,CAAYxM,eAAZ,CAA4B7vP,KAA5B,EAAmC,IAAnC;AACH;AACJ;AACD;;;AACA+9P,IAAAA,WAAW,GAAG;AACV,aAAO,KAAKwF,IAAZ;AACH;AACD;;;AACAvF,IAAAA,WAAW,GAAG;AACV,aAAO,KAAKyF,IAAZ;AACH;AACD;;;AACAxF,IAAAA,cAAc,GAAG;AACb,aAAO,KAAKyF,WAAZ;AACH;;AACDtB,IAAAA,wBAAwB,CAACnjQ,KAAD,EAAQ;AAC5B,aAAOA,KAAK,CAAC85C,MAAN,KAAiB,IAAxB;AACH;;AAhGmD;;AAkGxDiqN,EAAAA,kBAAkB,CAAC/+P,IAAnB,GAA0B,SAAS6/P,0BAAT,CAAoC3/P,CAApC,EAAuC;AAAE,WAAO,KAAKA,CAAC,IAAI6+P,kBAAV,EAA8BjmQ,+DAAA,CAAyBA,qDAAzB,CAA9B,EAA2EA,+DAAA,CAAyB+8B,+DAAzB,EAA6C,CAA7C,CAA3E,EAA4H/8B,+DAAA,CAAyB81O,oEAAzB,EAA2C,CAA3C,CAA5H,EAA2K91O,+DAAA,CAAyB2pP,yEAAzB,EAAyC,CAAzC,CAA3K,CAAP;AAAiO,GAApS;;AACAsc,EAAAA,kBAAkB,CAAC/6N,IAAnB,GAA0B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEwrQ,kBAAR;AAA4B76N,IAAAA,SAAS,EAAE,CAAC,CAAC,OAAD,EAAU,eAAV,EAA2B,EAA3B,CAAD,CAAvC;AAAyEgoC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,sBAAJ,CAApF;AAAiH57B,IAAAA,QAAQ,EAAE,CAA3H;AAA8HC,IAAAA,YAAY,EAAE,SAASuvN,+BAAT,CAAyCrvN,EAAzC,EAA6CxgC,GAA7C,EAAkD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACrQ33C,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAASinQ,2CAAT,CAAqDnyC,MAArD,EAA6D;AAAE,iBAAO39M,GAAG,CAACyuP,QAAJ,CAAa9wC,MAAM,CAACt7M,MAAP,CAAcvW,KAA3B,CAAP;AAA2C,SAArI,EAAuI,QAAvI,EAAiJ,SAASikQ,4CAAT,GAAwD;AAAE,iBAAO/vP,GAAG,CAAC4sN,SAAJ,EAAP;AAAyB,SAApO,EAAsO,MAAtO,EAA8O,SAASojC,0CAAT,GAAsD;AAAE,iBAAOhwP,GAAG,CAAC46B,OAAJ,EAAP;AAAuB,SAA7T,EAA+T,SAA/T,EAA0U,SAASq1N,6CAAT,CAAuDtyC,MAAvD,EAA+D;AAAE,iBAAO39M,GAAG,CAACw3B,UAAJ,CAAemmL,MAAf,CAAP;AAAgC,SAA3a;AACH;;AAAC,UAAIn9K,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,4DAAA,CAAsB,UAAtB,EAAkCmX,GAAG,CAAC7U,QAAtC;AACAtC,QAAAA,yDAAA,CAAmB,eAAnB,EAAoCmX,GAAG,CAACovP,WAAJ,GAAkB,QAAlB,GAA6B,IAAjE,EAAuE,WAAvE,EAAoF,CAACpvP,GAAG,CAACovP,WAAJ,IAAmB,IAAnB,GAA0B,IAA1B,GAAiCpvP,GAAG,CAACovP,WAAJ,CAAgBlE,MAAlD,KAA6DlrP,GAAG,CAACovP,WAAJ,CAAgB9iQ,EAA7E,IAAmF,IAAvK,EAA6K,KAA7K,EAAoL0T,GAAG,CAAC3X,GAAJ,GAAU2X,GAAG,CAACy8O,YAAJ,CAAiBlb,SAAjB,CAA2BvhO,GAAG,CAAC3X,GAA/B,CAAV,GAAgD,IAApO,EAA0O,KAA1O,EAAiP2X,GAAG,CAAC9X,GAAJ,GAAU8X,GAAG,CAACy8O,YAAJ,CAAiBlb,SAAjB,CAA2BvhO,GAAG,CAAC9X,GAA/B,CAAV,GAAgD,IAAjS,EAAuS,mBAAvS,EAA4T8X,GAAG,CAACovP,WAAJ,GAAkBpvP,GAAG,CAACovP,WAAJ,CAAgB9iQ,EAAlC,GAAuC,IAAnW;AACH;AAAE,KAL0D;AAKxD4nC,IAAAA,MAAM,EAAE;AAAEi7N,MAAAA,aAAa,EAAE,eAAjB;AAAkC9mQ,MAAAA,GAAG,EAAE,KAAvC;AAA8CH,MAAAA,GAAG,EAAE,KAAnD;AAA0D+tP,MAAAA,UAAU,EAAE,CAAC,qBAAD,EAAwB,YAAxB;AAAtE,KALgD;AAK+D9hN,IAAAA,QAAQ,EAAE,CAAC,oBAAD,CALzE;AAKiGC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAC3LgmQ,6BAD2L,EAE3LE,yBAF2L,EAG3L;AAAEpuN,MAAAA,OAAO,EAAE+xM,8EAAX;AAAqC9xM,MAAAA,WAAW,EAAEkuN;AAAlD,KAH2L,CAA1B,CAAD,EAIhKjmQ,wEAJgK;AAL3G,GAAzB,CAAxC;SAnGMimQ;;;AAyHN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOx+P,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA+CC,CA/ChB;AAiDA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACM4/P;AAAN,QAAMA,uBAAN,CAA8B;;AAE9BA,EAAAA,uBAAuB,CAACngQ,IAAxB,GAA+B,SAASogQ,+BAAT,CAAyClgQ,CAAzC,EAA4C;AAAE,WAAO,KAAKA,CAAC,IAAIigQ,uBAAV,GAAP;AAA8C,GAA3H;;AACAA,EAAAA,uBAAuB,CAACn8N,IAAxB,GAA+B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE4sQ,uBAAR;AAAiCj8N,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,yBAAL,EAAgC,EAAhC,CAAD;AAA5C,GAAzB,CAA7C;SAHMi8N;;;AAIN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO5/P,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAKO,CALtB;;IAMM8/P;AAAN,QAAMA,mBAAN,CAA0B;AACtBlrQ,IAAAA,WAAW,CAACu/P,KAAD,EAAQ5rL,kBAAR,EAA4B+tK,eAA5B,EAA6C;AACpD,WAAK6d,KAAL,GAAaA,KAAb;AACA,WAAK5rL,kBAAL,GAA0BA,kBAA1B;AACA,WAAK63K,aAAL,GAAqBptN,oDAArB;AACA,YAAM+sO,cAAc,GAAGx1L,MAAM,CAAC+rK,eAAD,CAA7B;AACA,WAAK13M,QAAL,GAAiBmhO,cAAc,IAAIA,cAAc,KAAK,CAAtC,GAA2CA,cAA3C,GAA4D,IAA5E;AACH;AACD;;;AACY,QAARllQ,QAAQ,GAAG;AACX,UAAI,KAAKmiD,SAAL,KAAmB9hD,SAAnB,IAAgC,KAAK68P,UAAzC,EAAqD;AACjD,eAAO,KAAKA,UAAL,CAAgBl9P,QAAvB;AACH;;AACD,aAAO,CAAC,CAAC,KAAKmiD,SAAd;AACH;;AACW,QAARniD,QAAQ,CAACW,KAAD,EAAQ;AAChB,WAAKwhD,SAAL,GAAiBtoB,6EAAqB,CAACl5B,KAAD,CAAtC;AACH;;AACD4nC,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,UAAIA,OAAO,CAAC,YAAD,CAAX,EAA2B;AACvB,aAAKomO,kBAAL;AACH;AACJ;;AACDpoO,IAAAA,WAAW,GAAG;AACV,WAAKwoN,aAAL,CAAmBrlN,WAAnB;AACH;;AACDkI,IAAAA,kBAAkB,GAAG;AACjB,WAAK+8N,kBAAL;AACH;;AACDC,IAAAA,KAAK,CAACxlQ,KAAD,EAAQ;AACT,UAAI,KAAKs9P,UAAL,IAAmB,CAAC,KAAKl9P,QAA7B,EAAuC;AACnC,aAAKk9P,UAAL,CAAgB7/L,IAAhB;AACAz9D,QAAAA,KAAK,CAAC4zP,eAAN;AACH;AACJ;;AACD2R,IAAAA,kBAAkB,GAAG;AACjB,YAAME,sBAAsB,GAAG,KAAKnI,UAAL,GAAkB,KAAKA,UAAL,CAAgBthB,YAAlC,GAAiDvjN,yCAAE,EAAlF;AACA,YAAMitO,iBAAiB,GAAG,KAAKpI,UAAL,IAAmB,KAAKA,UAAL,CAAgBwC,eAAnC,GACtB,KAAKxC,UAAL,CAAgBwC,eAAhB,CAAgC9jB,YADV,GACyBvjN,yCAAE,EADrD;AAEA,YAAMktO,iBAAiB,GAAG,KAAKrI,UAAL,GACtBl5M,4CAAK,CAAC,KAAKk5M,UAAL,CAAgBmC,YAAjB,EAA+B,KAAKnC,UAAL,CAAgBoC,YAA/C,CADiB,GAEtBjnO,yCAAE,EAFN;;AAGA,WAAKktN,aAAL,CAAmBrlN,WAAnB;;AACA,WAAKqlN,aAAL,GAAqBvhM,4CAAK,CAAC,KAAKs1M,KAAL,CAAWv6N,OAAZ,EAAqBsmO,sBAArB,EAA6CC,iBAA7C,EAAgEC,iBAAhE,CAAL,CAAwFvmO,SAAxF,CAAkG,MAAM,KAAK0uC,kBAAL,CAAwBwC,YAAxB,EAAxG,CAArB;AACH;;AA5CqB;;AA8C1B+0L,EAAAA,mBAAmB,CAACrgQ,IAApB,GAA2B,SAAS4gQ,2BAAT,CAAqC1gQ,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAImgQ,mBAAV,EAA+BvnQ,+DAAA,CAAyBuvP,iBAAzB,CAA/B,EAA4EvvP,+DAAA,CAAyBA,4DAAzB,CAA5E,EAAgIA,+DAAA,CAAyB,UAAzB,CAAhI,CAAP;AAA+K,GAApP;;AACAunQ,EAAAA,mBAAmB,CAAC50L,IAApB,GAA2B,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE8sQ,mBAAR;AAA6Bn8N,IAAAA,SAAS,EAAE,CAAC,CAAC,uBAAD,CAAD,CAAxC;AAAqE4tE,IAAAA,cAAc,EAAE,SAAS+uJ,kCAAT,CAA4CpwN,EAA5C,EAAgDxgC,GAAhD,EAAqDwtI,QAArD,EAA+D;AAAE,UAAIhtG,EAAE,GAAG,CAAT,EAAY;AAC5N33C,QAAAA,4DAAA,CAAsB2kJ,QAAtB,EAAgC0iH,uBAAhC,EAAyD,CAAzD;AACH;;AAAC,UAAI1vN,EAAE,GAAG,CAAT,EAAY;AACV,YAAIq7B,EAAJ;;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAAC6wP,WAAJ,GAAkBh1L,EAAE,CAACG,KAA1E;AACH;AAAE,KAL2D;AAKzDN,IAAAA,SAAS,EAAE,SAASo1L,yBAAT,CAAmCtwN,EAAnC,EAAuCxgC,GAAvC,EAA4C;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACtE33C,QAAAA,yDAAA,CAAmBk6O,GAAnB,EAAwB,CAAxB;AACH;;AAAC,UAAIviM,EAAE,GAAG,CAAT,EAAY;AACV,YAAIq7B,EAAJ;;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAAC+wP,OAAJ,GAAcl1L,EAAE,CAACG,KAAtE;AACH;AAAE,KAV2D;AAUzDC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,uBAAJ,CAV8C;AAUhB57B,IAAAA,QAAQ,EAAE,CAVM;AAUHC,IAAAA,YAAY,EAAE,SAAS0wN,gCAAT,CAA0CxwN,EAA1C,EAA8CxgC,GAA9C,EAAmD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACtI33C,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAASooQ,4CAAT,CAAsDtzC,MAAtD,EAA8D;AAAE,iBAAO39M,GAAG,CAACuwP,KAAJ,CAAU5yC,MAAV,CAAP;AAA2B,SAAtH;AACH;;AAAC,UAAIn9K,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,yDAAA,CAAmB,UAAnB,EAA+B,IAA/B,EAAqC,mBAArC,EAA0DmX,GAAG,CAACqoP,UAAJ,GAAiBroP,GAAG,CAACqoP,UAAJ,CAAe/7P,EAAhC,GAAqC,IAA/F;AACAzD,QAAAA,yDAAA,CAAmB,8BAAnB,EAAmDmX,GAAG,CAACqoP,UAAJ,IAAkBroP,GAAG,CAACqoP,UAAJ,CAAe6C,MAApF,EAA4F,YAA5F,EAA0GlrP,GAAG,CAACqoP,UAAJ,IAAkBroP,GAAG,CAACqoP,UAAJ,CAAe5kB,KAAf,KAAyB,QAArJ,EAA+J,UAA/J,EAA2KzjO,GAAG,CAACqoP,UAAJ,IAAkBroP,GAAG,CAACqoP,UAAJ,CAAe5kB,KAAf,KAAyB,MAAtN;AACH;AAAE,KAf2D;AAezDvvM,IAAAA,MAAM,EAAE;AAAEhF,MAAAA,QAAQ,EAAE,UAAZ;AAAwB/jC,MAAAA,QAAQ,EAAE,UAAlC;AAA8Ck9P,MAAAA,UAAU,EAAE,CAAC,KAAD,EAAQ,YAAR,CAA1D;AAAiFx/N,MAAAA,SAAS,EAAE,CAAC,YAAD,EAAe,WAAf,CAA5F;AAAyH86M,MAAAA,aAAa,EAAE;AAAxI,KAfiD;AAe0GxvM,IAAAA,QAAQ,EAAE,CAAC,qBAAD,CAfpH;AAe6IC,IAAAA,QAAQ,EAAE,CAACvrC,kEAAD,CAfvJ;AAesLuzE,IAAAA,kBAAkB,EAAE27K,GAf1M;AAe+M17K,IAAAA,KAAK,EAAE,CAftN;AAeyNC,IAAAA,IAAI,EAAE,CAf/N;AAekOC,IAAAA,MAAM,EAAE,CAAC,CAAC,iBAAD,EAAoB,EAApB,EAAwB,MAAxB,EAAgC,QAAhC,EAA0C,CAA1C,EAA6C,UAA7C,EAAyD,eAAzD,CAAD,EAA4E,CAAC,QAAD,EAAW,EAAX,CAA5E,EAA4F,CAAC,OAAD,EAAU,oCAAV,EAAgD,SAAhD,EAA2D,WAA3D,EAAwE,OAAxE,EAAiF,MAAjF,EAAyF,QAAzF,EAAmG,MAAnG,EAA2G,MAA3G,EAAmH,cAAnH,EAAmI,WAAnI,EAAgJ,OAAhJ,EAAyJ,CAAzJ,EAA4J,MAA5J,CAA5F,EAAiQ,CAAC,SAAD,EAAY,WAAZ,EAAyB,OAAzB,EAAkC,MAAlC,EAA0C,QAA1C,EAAoD,MAApD,EAA4D,MAA5D,EAAoE,cAApE,EAAoF,WAApF,EAAiG,OAAjG,EAA0G,CAA1G,EAA6G,oCAA7G,CAAjQ,EAAqZ,CAAC,GAAD,EAAM,qIAAN,CAArZ,CAf1O;AAe8wB1N,IAAAA,QAAQ,EAAE,SAASqiM,4BAAT,CAAsC1wN,EAAtC,EAA0CxgC,GAA1C,EAA+C;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC/4B33C,QAAAA,6DAAA,CAAuBivP,GAAvB;AACAjvP,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,QAAzB,EAAmC,CAAnC,EAAsC,CAAtC;AACAA,QAAAA,wDAAA,CAAkB,CAAlB,EAAqBgvP,uCAArB,EAA8D,CAA9D,EAAiE,CAAjE,EAAoE,KAApE,EAA2E,CAA3E;AACAhvP,QAAAA,0DAAA,CAAoB,CAApB;AACAA,QAAAA,0DAAA;AACH;;AAAC,UAAI23C,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,wDAAA,CAAkB,UAAlB,EAA8BmX,GAAG,CAAC7U,QAAlC,EAA4C,eAA5C,EAA6D6U,GAAG,CAAC2jO,aAAjE;AACA96O,QAAAA,yDAAA,CAAmB,eAAnB,EAAoCmX,GAAG,CAACqoP,UAAJ,GAAiB,QAAjB,GAA4B,IAAhE,EAAsE,YAAtE,EAAoFroP,GAAG,CAAC6oB,SAAJ,IAAiB7oB,GAAG,CAACykP,KAAJ,CAAUnM,iBAA/G,EAAkI,UAAlI,EAA8It4O,GAAG,CAAC7U,QAAJ,GAAe,CAAC,CAAhB,GAAoB6U,GAAG,CAACkvB,QAAtK;AACArmC,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,MAAlB,EAA0B,CAACmX,GAAG,CAAC6wP,WAA/B;AACH;AAAE,KA1B2D;AA0BzDvuJ,IAAAA,UAAU,EAAE,CAACn0D,+DAAD,EAAmBxoB,iDAAnB,CA1B6C;AA0BZjiC,IAAAA,MAAM,EAAE,CAAC,ozBAAD,CA1BI;AA0BozBs5E,IAAAA,aAAa,EAAE,CA1Bn0B;AA0Bs0BC,IAAAA,eAAe,EAAE;AA1Bv1B,GAAzB,CAAzC;SA/CMmzL;;;AAwFN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO9/P,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA4CC,CA5ChB;AA8CA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM6gQ,2BAA2B,gBAAG,IAAInuO,yDAAJ,CAAmB,6BAAnB,CAApC;AACA;AACA;AACA;;IACMouO;AAAN,QAAMA,yBAAN,SAAwCvE,sBAAxC,CAA+D;AAC3D3nQ,IAAAA,WAAW,CAACmsQ,WAAD,EAAc/qM,UAAd,EAA0BihL,yBAA1B,EAAqDzgL,SAArD,EAAgEsgL,WAAhE,EAA6ED,gBAA7E,EAA+Fkb,WAA/F,EAA4G2M,WAA5G,EAAyH;AAChI,YAAM1oM,UAAN,EAAkB+7L,WAAlB,EAA+B2M,WAA/B;AACA,WAAKqC,WAAL,GAAmBA,WAAnB;AACA,WAAK9pB,yBAAL,GAAiCA,yBAAjC;AACA,WAAKzgL,SAAL,GAAiBA,SAAjB;AACA,WAAKsgL,WAAL,GAAmBA,WAAnB;AACA,WAAKD,gBAAL,GAAwBA,gBAAxB;AACH;;AACD31K,IAAAA,QAAQ,GAAG;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAMg2K,SAAS,GAAG,KAAK1gL,SAAL,CAAe96D,GAAf,CAAmB23N,sDAAnB,EAA8B,IAA9B,EAAoCjmH,2DAAA,GAAmBA,+DAAvD,CAAlB;;AACA,UAAI8pI,SAAJ,EAAe;AACX,aAAKA,SAAL,GAAiBA,SAAjB;AACH;AACJ;;AACD/zM,IAAAA,SAAS,GAAG;AACR,UAAI,KAAK+zM,SAAT,EAAoB;AAChB;AACA;AACA;AACA,aAAKP,gBAAL;AACH;AACJ;AACD;;;AACAzsO,IAAAA,OAAO,GAAG;AACN,aAAO,KAAKw4B,WAAL,CAAiBI,aAAjB,CAA+BtnC,KAA/B,CAAqCzE,MAArC,KAAgD,CAAvD;AACH;AACD;;;AACAiqQ,IAAAA,eAAe,GAAG;AACd,aAAO,KAAKt+N,WAAL,CAAiBI,aAAjB,CAA+BguC,WAAtC;AACH;AACD;;;AACAtzC,IAAAA,KAAK,GAAG;AACJ,WAAKkF,WAAL,CAAiBI,aAAjB,CAA+BtF,KAA/B;AACH;AACD;;;AACA2gO,IAAAA,QAAQ,CAAC3iQ,KAAD,EAAQ;AACZ,YAAM2iQ,QAAN,CAAe3iQ,KAAf;;AACA,WAAKulQ,WAAL,CAAiBE,uBAAjB;AACH;AACD;;;AACA/C,IAAAA,UAAU,GAAG;AACT,WAAK6C,WAAL,CAAiBG,eAAjB;AACH;AACD;;;AACA3H,IAAAA,WAAW,GAAG;AACV,aAAO,KAAKwH,WAAL,CAAiBhpQ,GAAxB;AACH;AACD;;;AACAyhQ,IAAAA,WAAW,GAAG;AACV,aAAO,KAAKuH,WAAL,CAAiBnpQ,GAAxB;AACH;AACD;;;AACA6hQ,IAAAA,cAAc,GAAG;AACb,aAAO,KAAKsH,WAAL,CAAiBpb,UAAxB;AACH;;AACD4X,IAAAA,eAAe,GAAG;AACd,aAAO,KAAKwD,WAAL,CAAiBI,cAAxB;AACH;;AACDvD,IAAAA,wBAAwB,CAAC;AAAErpN,MAAAA;AAAF,KAAD,EAAa;AACjC,aAAOA,MAAM,KAAK,KAAKwsN,WAAL,CAAiBK,WAA5B,IAA2C7sN,MAAM,KAAK,KAAKwsN,WAAL,CAAiBM,SAA9E;AACH;;AACDhE,IAAAA,4BAA4B,CAAC7hQ,KAAD,EAAQ;AAChC,YAAM6hQ,4BAAN,CAAmC7hQ,KAAnC;;AACA,YAAM8lQ,QAAQ,GAAI,SAAS,KAAKP,WAAL,CAAiBK,WAA1B,GAAwC,KAAKL,WAAL,CAAiBM,SAAzD,GACd,KAAKN,WAAL,CAAiBK,WADrB;AAEAE,MAAAA,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAAC5E,kBAAT,EAApD;AACH;;AA1E0D;;AA4E/DoE,EAAAA,yBAAyB,CAACrhQ,IAA1B,GAAiC,SAAS8hQ,iCAAT,CAA2C5hQ,CAA3C,EAA8C;AAAE,WAAO,KAAKA,CAAC,IAAImhQ,yBAAV,EAAqCvoQ,+DAAA,CAAyBsoQ,2BAAzB,CAArC,EAA4FtoQ,+DAAA,CAAyBA,qDAAzB,CAA5F,EAAyIA,+DAAA,CAAyB+8B,qEAAzB,CAAzI,EAA6L/8B,+DAAA,CAAyBA,mDAAzB,CAA7L,EAAwOA,+DAAA,CAAyBkqP,mDAAzB,EAAwC,CAAxC,CAAxO,EAAoRlqP,+DAAA,CAAyBkqP,+DAAzB,EAAoD,CAApD,CAApR,EAA4UlqP,+DAAA,CAAyB+8B,+DAAzB,EAA6C,CAA7C,CAA5U,EAA6X/8B,+DAAA,CAAyB81O,oEAAzB,EAA2C,CAA3C,CAA7X,CAAP;AAAqb,GAAtgB;;AACAyyB,EAAAA,yBAAyB,CAACr9N,IAA1B,GAAiC,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE8tQ,yBAAR;AAAmCh9N,IAAAA,QAAQ,EAAE,CAACvrC,wEAAD;AAA7C,GAAzB,CAA/C;SA7EMuoQ;;;AAwFN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO9gQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAgBe,CAhB9B;;AAiBA,MAAMwhQ,sBAAsB,gBAAGhrB,uEAAe,CAACsqB,yBAAD,CAA9C;AACA;;;IACMW;AAAN,QAAMA,YAAN,SAA2BD,sBAA3B,CAAkD;AAC9C5sQ,IAAAA,WAAW,CAAC8sQ,UAAD,EAAa1rM,UAAb,EAAyB2rM,wBAAzB,EAAmDtjM,QAAnD,EAA6DujM,UAA7D,EAAyEC,eAAzE,EAA0F9P,WAA1F,EAAuG2M,WAAvG,EAAoH;AAC3H;AACA;AACA;AACA,YAAMgD,UAAN,EAAkB1rM,UAAlB,EAA8B2rM,wBAA9B,EAAwDtjM,QAAxD,EAAkEujM,UAAlE,EAA8EC,eAA9E,EAA+F9P,WAA/F,EAA4G2M,WAA5G;AACA;;AACA,WAAKoD,eAAL,GAAwB7yC,OAAD,IAAa;AAChC,cAAM35M,KAAK,GAAG,KAAK62O,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8BjiB,OAAO,CAACzzN,KAAtC,CAArC,CAAd;;AACA,cAAMipE,GAAG,GAAG,KAAKozL,MAAL,GAAc,KAAKA,MAAL,CAAY5M,SAAZ,CAAsBxmL,GAApC,GAA0C,IAAtD;AACA,eAAQ,CAACnvD,KAAD,IAAU,CAACmvD,GAAX,IACJ,KAAK0nL,YAAL,CAAkBrU,WAAlB,CAA8BxiO,KAA9B,EAAqCmvD,GAArC,KAA6C,CAD1C,GAEH,IAFG,GAEI;AAAE,iCAAuB;AAAE,mBAAOA,GAAT;AAAc,sBAAUnvD;AAAxB;AAAzB,SAFX;AAGH,OAND;;AAOA,WAAKgyN,UAAL,GAAkBzY,+DAAA,CAAmB,CAAC,GAAG,MAAM4uC,cAAN,EAAJ,EAA4B,KAAKqE,eAAjC,CAAnB,CAAlB;AACH;;AACD5gM,IAAAA,QAAQ,GAAG;AACP;AACA;AACA;AACA;AACA;AACA;AACA,YAAMA,QAAN;AACH;;AACD/9B,IAAAA,SAAS,GAAG;AACR;AACA;AACA;AACA;AACA;AACA;AACA,YAAMA,SAAN;AACH;;AACDm6N,IAAAA,kBAAkB,CAAC+B,UAAD,EAAa;AAC3B,aAAOA,UAAU,CAAC/pP,KAAlB;AACH;;AACDsoP,IAAAA,wBAAwB,CAACjkO,MAAD,EAAS;AAC7B,UAAI1K,EAAJ;;AACA,UAAI,CAAC,MAAM2uO,wBAAN,CAA+BjkO,MAA/B,CAAL,EAA6C;AACzC,eAAO,KAAP;AACH,OAFD,MAGK;AACD,eAAO,EAAE,CAAC1K,EAAE,GAAG0K,MAAM,CAACzS,QAAb,MAA2B,IAA3B,IAAmC+H,EAAE,KAAK,KAAK,CAA/C,GAAmD,KAAK,CAAxD,GAA4DA,EAAE,CAAC3Z,KAAjE,IAA0E,CAAC,CAACqkB,MAAM,CAACsxN,SAAP,CAAiB31O,KAA7F,GACH,CAACqkB,MAAM,CAACsxN,SAAP,CAAiB31O,KAAlB,IACI,CAAC,CAAC,KAAK62O,YAAL,CAAkBrU,WAAlB,CAA8Bn+M,MAAM,CAACzS,QAAP,CAAgB5R,KAA9C,EAAqDqkB,MAAM,CAACsxN,SAAP,CAAiB31O,KAAtE,CAFV;AAGH;AACJ;;AACD+oP,IAAAA,mBAAmB,CAAC7iQ,KAAD,EAAQ;AACvB,UAAI,KAAKq8P,MAAT,EAAiB;AACb,cAAM3tL,KAAK,GAAG,IAAI6gL,SAAJ,CAAcvvP,KAAd,EAAqB,KAAKq8P,MAAL,CAAY5M,SAAZ,CAAsBxmL,GAA3C,CAAd;;AACA,aAAKozL,MAAL,CAAYxM,eAAZ,CAA4BnhL,KAA5B,EAAmC,IAAnC;AACH;AACJ;;AACD4zL,IAAAA,YAAY,CAACtiQ,KAAD,EAAQ;AAChB,YAAMsiQ,YAAN,CAAmBtiQ,KAAnB,EADgB,CAEhB;;;AACA,WAAKulQ,WAAL,CAAiBE,uBAAjB;AACH;AACD;;;AACAc,IAAAA,cAAc,GAAG;AACb,YAAM5oQ,OAAO,GAAG,KAAKupC,WAAL,CAAiBI,aAAjC;AACA,YAAMtnC,KAAK,GAAGrC,OAAO,CAACqC,KAAtB;AACA,aAAOA,KAAK,CAACzE,MAAN,GAAe,CAAf,GAAmByE,KAAnB,GAA2BrC,OAAO,CAAC23E,WAA1C;AACH;;AAhE6C;;AAkElD2wL,EAAAA,YAAY,CAAChiQ,IAAb,GAAoB,SAASuiQ,oBAAT,CAA8BriQ,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAI8hQ,YAAV,EAAwBlpQ,+DAAA,CAAyBsoQ,2BAAzB,CAAxB,EAA+EtoQ,+DAAA,CAAyBA,qDAAzB,CAA/E,EAA4HA,+DAAA,CAAyB+8B,qEAAzB,CAA5H,EAAgL/8B,+DAAA,CAAyBA,mDAAzB,CAAhL,EAA2NA,+DAAA,CAAyBkqP,mDAAzB,EAAwC,CAAxC,CAA3N,EAAuQlqP,+DAAA,CAAyBkqP,+DAAzB,EAAoD,CAApD,CAAvQ,EAA+TlqP,+DAAA,CAAyB+8B,+DAAzB,EAA6C,CAA7C,CAA/T,EAAgX/8B,+DAAA,CAAyB81O,oEAAzB,EAA2C,CAA3C,CAAhX,CAAP;AAAwa,GAA/d;;AACAozB,EAAAA,YAAY,CAACh+N,IAAb,GAAoB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEyuQ,YAAR;AAAsB99N,IAAAA,SAAS,EAAE,CAAC,CAAC,OAAD,EAAU,cAAV,EAA0B,EAA1B,CAAD,CAAjC;AAAkEgoC,IAAAA,SAAS,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,CAAjB,EAAoB,gBAApB,EAAsC,4BAAtC,CAA7E;AAAkJ57B,IAAAA,QAAQ,EAAE,CAA5J;AAA+JC,IAAAA,YAAY,EAAE,SAASiyN,yBAAT,CAAmC/xN,EAAnC,EAAuCxgC,GAAvC,EAA4C;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC1R33C,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAAS2pQ,qCAAT,CAA+C70C,MAA/C,EAAuD;AAAE,iBAAO39M,GAAG,CAACyuP,QAAJ,CAAa9wC,MAAM,CAACt7M,MAAP,CAAcvW,KAA3B,CAAP;AAA2C,SAA/H,EAAiI,QAAjI,EAA2I,SAAS2mQ,sCAAT,GAAkD;AAAE,iBAAOzyP,GAAG,CAAC4sN,SAAJ,EAAP;AAAyB,SAAxN,EAA0N,SAA1N,EAAqO,SAAS8lC,uCAAT,CAAiD/0C,MAAjD,EAAyD;AAAE,iBAAO39M,GAAG,CAACw3B,UAAJ,CAAemmL,MAAf,CAAP;AAAgC,SAAhU,EAAkU,MAAlU,EAA0U,SAASg1C,oCAAT,GAAgD;AAAE,iBAAO3yP,GAAG,CAAC46B,OAAJ,EAAP;AAAuB,SAAnZ;AACH;;AAAC,UAAI4F,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,4DAAA,CAAsB,UAAtB,EAAkCmX,GAAG,CAAC7U,QAAtC;AACAtC,QAAAA,yDAAA,CAAmB,IAAnB,EAAyBmX,GAAG,CAACqxP,WAAJ,CAAgB/kQ,EAAzC,EAA6C,eAA7C,EAA8D0T,GAAG,CAACqxP,WAAJ,CAAgBuB,WAAhB,GAA8B,QAA9B,GAAyC,IAAvG,EAA6G,WAA7G,EAA0H,CAAC5yP,GAAG,CAACqxP,WAAJ,CAAgBuB,WAAhB,IAA+B,IAA/B,GAAsC,IAAtC,GAA6C5yP,GAAG,CAACqxP,WAAJ,CAAgBuB,WAAhB,CAA4B1H,MAA1E,KAAqFlrP,GAAG,CAACqxP,WAAJ,CAAgBuB,WAAhB,CAA4BtmQ,EAAjH,IAAuH,IAAjP,EAAuP,KAAvP,EAA8P0T,GAAG,CAAC6pP,WAAJ,KAAoB7pP,GAAG,CAACy8O,YAAJ,CAAiBlb,SAAjB,CAA2BvhO,GAAG,CAAC6pP,WAAJ,EAA3B,CAApB,GAAoE,IAAlU,EAAwU,KAAxU,EAA+U7pP,GAAG,CAAC8pP,WAAJ,KAAoB9pP,GAAG,CAACy8O,YAAJ,CAAiBlb,SAAjB,CAA2BvhO,GAAG,CAAC8pP,WAAJ,EAA3B,CAApB,GAAoE,IAAnZ;AACH;AAAE,KALoD;AAKlD51N,IAAAA,MAAM,EAAE;AAAEozM,MAAAA,iBAAiB,EAAE;AAArB,KAL0C;AAKE5pM,IAAAA,OAAO,EAAE;AAAEovN,MAAAA,UAAU,EAAE,YAAd;AAA4B9qB,MAAAA,SAAS,EAAE;AAAvC,KALX;AAKiE5tM,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CACrJ;AAAE83C,MAAAA,OAAO,EAAEw8K,8DAAX;AAA8Bv8K,MAAAA,WAAW,EAAEmxN,YAA3C;AAAyD9kQ,MAAAA,KAAK,EAAE;AAAhE,KADqJ,EAErJ;AAAE0zC,MAAAA,OAAO,EAAEq+K,0DAAX;AAA0Bp+K,MAAAA,WAAW,EAAEmxN,YAAvC;AAAqD9kQ,MAAAA,KAAK,EAAE;AAA5D,KAFqJ,CAA1B,CAAD,EAG1HpE,wEAH0H;AAL3E,GAAzB,CAAlC;SAnEMkpQ;;;AAsFN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOzhQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAyCe,CAzC9B;AA0CA;;;IACMuiQ;AAAN,QAAMA,UAAN,SAAyBf,sBAAzB,CAAgD;AAC5C5sQ,IAAAA,WAAW,CAAC8sQ,UAAD,EAAa1rM,UAAb,EAAyB2rM,wBAAzB,EAAmDtjM,QAAnD,EAA6DujM,UAA7D,EAAyEC,eAAzE,EAA0F9P,WAA1F,EAAuG2M,WAAvG,EAAoH;AAC3H;AACA;AACA;AACA,YAAMgD,UAAN,EAAkB1rM,UAAlB,EAA8B2rM,wBAA9B,EAAwDtjM,QAAxD,EAAkEujM,UAAlE,EAA8EC,eAA9E,EAA+F9P,WAA/F,EAA4G2M,WAA5G;AACA;;AACA,WAAK8D,aAAL,GAAsBvzC,OAAD,IAAa;AAC9B,cAAMxqJ,GAAG,GAAG,KAAK0nL,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8BjiB,OAAO,CAACzzN,KAAtC,CAArC,CAAZ;;AACA,cAAM8Z,KAAK,GAAG,KAAKuiP,MAAL,GAAc,KAAKA,MAAL,CAAY5M,SAAZ,CAAsB31O,KAApC,GAA4C,IAA1D;AACA,eAAQ,CAACmvD,GAAD,IAAQ,CAACnvD,KAAT,IACJ,KAAK62O,YAAL,CAAkBrU,WAAlB,CAA8BrzK,GAA9B,EAAmCnvD,KAAnC,KAA6C,CAD1C,GAEH,IAFG,GAEI;AAAE,+BAAqB;AAAE,qBAASA,KAAX;AAAkB,sBAAUmvD;AAA5B;AAAvB,SAFX;AAGH,OAND;;AAOA,WAAK6iK,UAAL,GAAkBzY,+DAAA,CAAmB,CAAC,GAAG,MAAM4uC,cAAN,EAAJ,EAA4B,KAAK+E,aAAjC,CAAnB,CAAlB;AACH;;AACDthM,IAAAA,QAAQ,GAAG;AACP;AACA;AACA;AACA;AACA;AACA;AACA,YAAMA,QAAN;AACH;;AACD/9B,IAAAA,SAAS,GAAG;AACR;AACA;AACA;AACA;AACA;AACA;AACA,YAAMA,SAAN;AACH;;AACDm6N,IAAAA,kBAAkB,CAAC+B,UAAD,EAAa;AAC3B,aAAOA,UAAU,CAAC56L,GAAlB;AACH;;AACDm5L,IAAAA,wBAAwB,CAACjkO,MAAD,EAAS;AAC7B,UAAI1K,EAAJ;;AACA,UAAI,CAAC,MAAM2uO,wBAAN,CAA+BjkO,MAA/B,CAAL,EAA6C;AACzC,eAAO,KAAP;AACH,OAFD,MAGK;AACD,eAAO,EAAE,CAAC1K,EAAE,GAAG0K,MAAM,CAACzS,QAAb,MAA2B,IAA3B,IAAmC+H,EAAE,KAAK,KAAK,CAA/C,GAAmD,KAAK,CAAxD,GAA4DA,EAAE,CAACw1C,GAAjE,IAAwE,CAAC,CAAC9qC,MAAM,CAACsxN,SAAP,CAAiBxmL,GAA3F,GACH,CAAC9qC,MAAM,CAACsxN,SAAP,CAAiBxmL,GAAlB,IACI,CAAC,CAAC,KAAK0nL,YAAL,CAAkBrU,WAAlB,CAA8Bn+M,MAAM,CAACzS,QAAP,CAAgBu9C,GAA9C,EAAmD9qC,MAAM,CAACsxN,SAAP,CAAiBxmL,GAApE,CAFV;AAGH;AACJ;;AACD45L,IAAAA,mBAAmB,CAAC7iQ,KAAD,EAAQ;AACvB,UAAI,KAAKq8P,MAAT,EAAiB;AACb,cAAM3tL,KAAK,GAAG,IAAI6gL,SAAJ,CAAc,KAAK8M,MAAL,CAAY5M,SAAZ,CAAsB31O,KAApC,EAA2C9Z,KAA3C,CAAd;;AACA,aAAKq8P,MAAL,CAAYxM,eAAZ,CAA4BnhL,KAA5B,EAAmC,IAAnC;AACH;AACJ;;AACDhjC,IAAAA,UAAU,CAACzsC,KAAD,EAAQ;AACd;AACA,UAAIA,KAAK,CAACihC,OAAN,KAAkBwZ,4DAAlB,IAA+B,CAAC,KAAKxS,WAAL,CAAiBI,aAAjB,CAA+BtnC,KAAnE,EAA0E;AACtE,aAAKulQ,WAAL,CAAiBK,WAAjB,CAA6B5jO,KAA7B;AACH;;AACD,YAAM0J,UAAN,CAAiBzsC,KAAjB;AACH;;AA5D2C;;AA8DhD8nQ,EAAAA,UAAU,CAAC9iQ,IAAX,GAAkB,SAASgjQ,kBAAT,CAA4B9iQ,CAA5B,EAA+B;AAAE,WAAO,KAAKA,CAAC,IAAI4iQ,UAAV,EAAsBhqQ,+DAAA,CAAyBsoQ,2BAAzB,CAAtB,EAA6EtoQ,+DAAA,CAAyBA,qDAAzB,CAA7E,EAA0HA,+DAAA,CAAyB+8B,qEAAzB,CAA1H,EAA8K/8B,+DAAA,CAAyBA,mDAAzB,CAA9K,EAAyNA,+DAAA,CAAyBkqP,mDAAzB,EAAwC,CAAxC,CAAzN,EAAqQlqP,+DAAA,CAAyBkqP,+DAAzB,EAAoD,CAApD,CAArQ,EAA6TlqP,+DAAA,CAAyB+8B,+DAAzB,EAA6C,CAA7C,CAA7T,EAA8W/8B,+DAAA,CAAyB81O,oEAAzB,EAA2C,CAA3C,CAA9W,CAAP;AAAsa,GAAzd;;AACAk0B,EAAAA,UAAU,CAAC9+N,IAAX,GAAkB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEuvQ,UAAR;AAAoB5+N,IAAAA,SAAS,EAAE,CAAC,CAAC,OAAD,EAAU,YAAV,EAAwB,EAAxB,CAAD,CAA/B;AAA8DgoC,IAAAA,SAAS,EAAE,CAAC,MAAD,EAAS,MAAT,EAAiB,CAAjB,EAAoB,cAApB,EAAoC,4BAApC,CAAzE;AAA4I57B,IAAAA,QAAQ,EAAE,CAAtJ;AAAyJC,IAAAA,YAAY,EAAE,SAAS0yN,uBAAT,CAAiCxyN,EAAjC,EAAqCxgC,GAArC,EAA0C;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAChR33C,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAASoqQ,mCAAT,CAA6Ct1C,MAA7C,EAAqD;AAAE,iBAAO39M,GAAG,CAACyuP,QAAJ,CAAa9wC,MAAM,CAACt7M,MAAP,CAAcvW,KAA3B,CAAP;AAA2C,SAA7H,EAA+H,QAA/H,EAAyI,SAASonQ,oCAAT,GAAgD;AAAE,iBAAOlzP,GAAG,CAAC4sN,SAAJ,EAAP;AAAyB,SAApN,EAAsN,SAAtN,EAAiO,SAASumC,qCAAT,CAA+Cx1C,MAA/C,EAAuD;AAAE,iBAAO39M,GAAG,CAACw3B,UAAJ,CAAemmL,MAAf,CAAP;AAAgC,SAA1T,EAA4T,MAA5T,EAAoU,SAASy1C,kCAAT,GAA8C;AAAE,iBAAOpzP,GAAG,CAAC46B,OAAJ,EAAP;AAAuB,SAA3Y;AACH;;AAAC,UAAI4F,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,4DAAA,CAAsB,UAAtB,EAAkCmX,GAAG,CAAC7U,QAAtC;AACAtC,QAAAA,yDAAA,CAAmB,eAAnB,EAAoCmX,GAAG,CAACqxP,WAAJ,CAAgBuB,WAAhB,GAA8B,QAA9B,GAAyC,IAA7E,EAAmF,WAAnF,EAAgG,CAAC5yP,GAAG,CAACqxP,WAAJ,CAAgBuB,WAAhB,IAA+B,IAA/B,GAAsC,IAAtC,GAA6C5yP,GAAG,CAACqxP,WAAJ,CAAgBuB,WAAhB,CAA4B1H,MAA1E,KAAqFlrP,GAAG,CAACqxP,WAAJ,CAAgBuB,WAAhB,CAA4BtmQ,EAAjH,IAAuH,IAAvN,EAA6N,KAA7N,EAAoO0T,GAAG,CAAC6pP,WAAJ,KAAoB7pP,GAAG,CAACy8O,YAAJ,CAAiBlb,SAAjB,CAA2BvhO,GAAG,CAAC6pP,WAAJ,EAA3B,CAApB,GAAoE,IAAxS,EAA8S,KAA9S,EAAqT7pP,GAAG,CAAC8pP,WAAJ,KAAoB9pP,GAAG,CAACy8O,YAAJ,CAAiBlb,SAAjB,CAA2BvhO,GAAG,CAAC8pP,WAAJ,EAA3B,CAApB,GAAoE,IAAzX;AACH;AAAE,KALkD;AAKhD51N,IAAAA,MAAM,EAAE;AAAEozM,MAAAA,iBAAiB,EAAE;AAArB,KALwC;AAKI5pM,IAAAA,OAAO,EAAE;AAAEovN,MAAAA,UAAU,EAAE,YAAd;AAA4B9qB,MAAAA,SAAS,EAAE;AAAvC,KALb;AAKmE5tM,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CACrJ;AAAE83C,MAAAA,OAAO,EAAEw8K,8DAAX;AAA8Bv8K,MAAAA,WAAW,EAAEiyN,UAA3C;AAAuD5lQ,MAAAA,KAAK,EAAE;AAA9D,KADqJ,EAErJ;AAAE0zC,MAAAA,OAAO,EAAEq+K,0DAAX;AAA0Bp+K,MAAAA,WAAW,EAAEiyN,UAAvC;AAAmD5lQ,MAAAA,KAAK,EAAE;AAA1D,KAFqJ,CAA1B,CAAD,EAG1HpE,wEAH0H;AAL7E,GAAzB,CAAhC;SA/DMgqQ;;;AAkFN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOviQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAwCe,CAxC9B;AA0CA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIm2D,YAAY,GAAG,CAAnB;IACM4sM;AAAN,QAAMA,iBAAN,CAAwB;AACpBnuQ,IAAAA,WAAW,CAAC2zE,kBAAD,EAAqB7lC,WAArB,EAAkCusL,OAAlC,EAA2Ck9B,YAA3C,EAAyDwS,UAAzD,EAAqE;AAC5E,WAAKp2L,kBAAL,GAA0BA,kBAA1B;AACA,WAAK7lC,WAAL,GAAmBA,WAAnB;AACA,WAAKypN,YAAL,GAAoBA,YAApB;AACA,WAAKwS,UAAL,GAAkBA,UAAlB;AACA,WAAKC,mBAAL,GAA2B5rO,oDAA3B;AACA;;AACA,WAAKh3B,EAAL,GAAW,wBAAuBm6D,YAAY,EAAG,EAAjD;AACA;;AACA,WAAK6sM,OAAL,GAAe,KAAf;AACA;;AACA,WAAKC,WAAL,GAAmB,sBAAnB;AACA,WAAK9B,cAAL,GAAsB,KAAtB;AACA;;AACA,WAAK+B,gBAAL,GAAwB,IAAxB;AACA;;AACA,WAAKv8P,SAAL,GAAiB,GAAjB;AACA;;AACA,WAAKo/O,eAAL,GAAuB,IAAvB;AACA;;AACA,WAAKC,aAAL,GAAqB,IAArB;AACA;;AACA,WAAKvP,YAAL,GAAoB,IAAI1jN,yCAAJ,EAApB;;AACA,UAAI,CAACo5N,YAAD,KAAkB,OAAOnsP,SAAP,KAAqB,WAArB,IAAoCA,SAAtD,CAAJ,EAAsE;AAClE,cAAM6nP,0BAA0B,CAAC,aAAD,CAAhC;AACH,OAzB2E,CA0B5E;AACA;;;AACA,UAAI8W,UAAU,KAAK,IAAf,IAAuBA,UAAU,KAAK,KAAK,CAA3C,GAA+C,KAAK,CAApD,GAAwDA,UAAU,CAACj8N,WAAX,CAAuBI,aAAvB,CAAqC7a,SAArC,CAA+ClrB,QAA/C,CAAwD,oBAAxD,CAA5D,EAA2I;AACvI,cAAMkrB,SAAS,GAAGya,WAAW,CAACI,aAAZ,CAA0B7a,SAA5C;AACAA,QAAAA,SAAS,CAAC7e,GAAV,CAAc,uBAAd;AACA6e,QAAAA,SAAS,CAAC7e,GAAV,CAAc,kCAAd;AACH,OAhC2E,CAiC5E;;;AACA,WAAK8tO,SAAL,GAAiBjoB,OAAjB;AACH;AACD;;;AACS,QAALzzN,KAAK,GAAG;AACR,aAAO,KAAKq8P,MAAL,GAAc,KAAKA,MAAL,CAAY5M,SAA1B,GAAsC,IAA7C;AACH;AACD;;;AACoB,QAAhBkY,gBAAgB,GAAG;AACnB,aAAO,KAAKH,OAAL,IAAgB,CAAC,KAAKI,KAA7B;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACmB,QAAXtyL,WAAW,GAAG;AACd,UAAI7hD,EAAJ,EAAQkY,EAAR;;AACA,YAAM7xB,KAAK,GAAG,CAAC,CAAC2Z,EAAE,GAAG,KAAKmyO,WAAX,MAA4B,IAA5B,IAAoCnyO,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAAC+xO,eAAH,EAA9D,KAAuF,EAArG;AACA,YAAMv8L,GAAG,GAAG,CAAC,CAACt9B,EAAE,GAAG,KAAKk6N,SAAX,MAA0B,IAA1B,IAAkCl6N,EAAE,KAAK,KAAK,CAA9C,GAAkD,KAAK,CAAvD,GAA2DA,EAAE,CAAC65N,eAAH,EAA5D,KAAqF,EAAjG;AACA,aAAQ1rP,KAAK,IAAImvD,GAAV,GAAkB,GAAEnvD,KAAM,IAAG,KAAK3O,SAAU,IAAG89D,GAAI,EAAnD,GAAuD,EAA9D;AACH;AACD;;;AACe,QAAX69L,WAAW,GAAG;AAAE,aAAO,KAAKe,YAAZ;AAA2B;;AAChC,QAAXf,WAAW,CAACA,WAAD,EAAc;AACzB,UAAIA,WAAJ,EAAiB;AACb,aAAKzK,MAAL,GAAcyK,WAAW,CAACvH,aAAZ,CAA0B,IAA1B,CAAd;AACA,aAAKsI,YAAL,GAAoBf,WAApB;;AACA,aAAK1D,mBAAL,CAAyB7jO,WAAzB;;AACA,aAAK6jO,mBAAL,GAA2B0D,WAAW,CAACnI,YAAZ,CAAyBtgO,SAAzB,CAAmC,MAAM;AAChE,cAAI5K,EAAJ,EAAQkY,EAAR;;AACA,WAAClY,EAAE,GAAG,KAAKmyO,WAAX,MAA4B,IAA5B,IAAoCnyO,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAACwtO,UAAH,EAA7D;AACA,WAACt1N,EAAE,GAAG,KAAKk6N,SAAX,MAA0B,IAA1B,IAAkCl6N,EAAE,KAAK,KAAK,CAA9C,GAAkD,KAAK,CAAvD,GAA2DA,EAAE,CAACs1N,UAAH,EAA3D;AACH,SAJ0B,CAA3B;;AAKA,aAAKiB,cAAL,CAAoB,KAAK7F,MAAzB;AACH;AACJ;AACD;;;AACY,QAAR7oC,QAAQ,GAAG;AAAE,aAAO,CAAC,CAAC,KAAK2Z,SAAd;AAA0B;;AAC/B,QAAR3Z,QAAQ,CAACxzN,KAAD,EAAQ;AAChB,WAAKmtO,SAAL,GAAiBj0M,6EAAqB,CAACl5B,KAAD,CAAtC;AACH;AACD;;;AACc,QAAVmqP,UAAU,GAAG;AAAE,aAAO,KAAKuZ,WAAZ;AAA0B;;AAC/B,QAAVvZ,UAAU,CAACnqP,KAAD,EAAQ;AAClB,YAAM8Z,KAAK,GAAG,KAAK8rP,WAAnB;AACA,YAAM38L,GAAG,GAAG,KAAK48L,SAAjB;;AACA,YAAMiC,gBAAgB,GAAGhuP,KAAK,IAAIA,KAAK,CAAC4nP,cAAN,CAAqB5nP,KAAK,CAAC9Z,KAA3B,CAAlC;;AACA,YAAM+nQ,cAAc,GAAG9+L,GAAG,IAAIA,GAAG,CAACy4L,cAAJ,CAAmB5nP,KAAK,CAAC9Z,KAAzB,CAA9B;;AACA,WAAK0jQ,WAAL,GAAmB1jQ,KAAnB;;AACA,UAAI8Z,KAAK,IAAIA,KAAK,CAAC4nP,cAAN,CAAqB5nP,KAAK,CAAC9Z,KAA3B,MAAsC8nQ,gBAAnD,EAAqE;AACjEhuP,QAAAA,KAAK,CAAConP,kBAAN;AACH;;AACD,UAAIj4L,GAAG,IAAIA,GAAG,CAACy4L,cAAJ,CAAmBz4L,GAAG,CAACjpE,KAAvB,MAAkC+nQ,cAA7C,EAA6D;AACzD9+L,QAAAA,GAAG,CAACi4L,kBAAJ;AACH;AACJ;AACD;;;AACO,QAAH3kQ,GAAG,GAAG;AAAE,aAAO,KAAKgnQ,IAAZ;AAAmB;;AACxB,QAAHhnQ,GAAG,CAACyD,KAAD,EAAQ;AACX,YAAMwjQ,UAAU,GAAG,KAAK7S,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAnB;;AACA,UAAI,CAAC,KAAK2wP,YAAL,CAAkBnU,QAAlB,CAA2BgnB,UAA3B,EAAuC,KAAKD,IAA5C,CAAL,EAAwD;AACpD,aAAKA,IAAL,GAAYC,UAAZ;;AACA,aAAKwE,WAAL;AACH;AACJ;AACD;;;AACO,QAAH5rQ,GAAG,GAAG;AAAE,aAAO,KAAKqnQ,IAAZ;AAAmB;;AACxB,QAAHrnQ,GAAG,CAAC4D,KAAD,EAAQ;AACX,YAAMwjQ,UAAU,GAAG,KAAK7S,YAAL,CAAkBtU,kBAAlB,CAAqC,KAAKsU,YAAL,CAAkBjb,WAAlB,CAA8B11O,KAA9B,CAArC,CAAnB;;AACA,UAAI,CAAC,KAAK2wP,YAAL,CAAkBnU,QAAlB,CAA2BgnB,UAA3B,EAAuC,KAAKC,IAA5C,CAAL,EAAwD;AACpD,aAAKA,IAAL,GAAYD,UAAZ;;AACA,aAAKwE,WAAL;AACH;AACJ;AACD;;;AACY,QAAR3oQ,QAAQ,GAAG;AACX,aAAQ,KAAKumQ,WAAL,IAAoB,KAAKC,SAA1B,GACF,KAAKD,WAAL,CAAiBvmQ,QAAjB,IAA6B,KAAKwmQ,SAAL,CAAexmQ,QAD1C,GAEH,KAAKsmQ,cAFT;AAGH;;AACW,QAARtmQ,QAAQ,CAACW,KAAD,EAAQ;AAChB,YAAM8wB,QAAQ,GAAGoI,6EAAqB,CAACl5B,KAAD,CAAtC;;AACA,UAAI8wB,QAAQ,KAAK,KAAK60O,cAAtB,EAAsC;AAClC,aAAKA,cAAL,GAAsB70O,QAAtB;AACA,aAAKmqN,YAAL,CAAkBpyO,IAAlB,CAAuBnJ,SAAvB;AACH;AACJ;AACD;;;AACc,QAAVw7O,UAAU,GAAG;AACb,UAAI,KAAK0qB,WAAL,IAAoB,KAAKC,SAA7B,EAAwC;AACpC,eAAO,KAAKD,WAAL,CAAiB1qB,UAAjB,IAA+B,KAAK2qB,SAAL,CAAe3qB,UAArD;AACH;;AACD,aAAO,KAAP;AACH;AACD;;;AACS,QAAL0sB,KAAK,GAAG;AACR,YAAMK,UAAU,GAAG,KAAKrC,WAAL,GAAmB,KAAKA,WAAL,CAAiBl3P,OAAjB,EAAnB,GAAgD,KAAnE;AACA,YAAMw5P,QAAQ,GAAG,KAAKrC,SAAL,GAAiB,KAAKA,SAAL,CAAen3P,OAAf,EAAjB,GAA4C,KAA7D;AACA,aAAOu5P,UAAU,IAAIC,QAArB;AACH;AACD;AACJ;AACA;AACA;;;AACIC,IAAAA,iBAAiB,CAAChuO,GAAD,EAAM;AACnB,WAAKutO,gBAAL,GAAwBvtO,GAAG,CAAC5+B,MAAJ,GAAa4+B,GAAG,CAACr7B,IAAJ,CAAS,GAAT,CAAb,GAA6B,IAArD;AACH;AACD;AACJ;AACA;AACA;;;AACIspQ,IAAAA,gBAAgB,GAAG;AACf,UAAI,CAAC,KAAKZ,OAAN,IAAiB,CAAC,KAAKnoQ,QAA3B,EAAqC;AACjC,YAAI,CAAC,KAAKg9P,MAAN,IAAgB,CAAC,KAAKA,MAAL,CAAY5M,SAAZ,CAAsB31O,KAA3C,EAAkD;AAC9C,eAAK8rP,WAAL,CAAiB5jO,KAAjB;AACH,SAFD,MAGK;AACD,eAAK6jO,SAAL,CAAe7jO,KAAf;AACH;AACJ;AACJ;;AACDyF,IAAAA,kBAAkB,GAAG;AACjB,UAAI,OAAOjjC,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,YAAI,CAAC,KAAKohQ,WAAV,EAAuB;AACnB,gBAAM/mQ,KAAK,CAAC,wDAAD,CAAX;AACH;;AACD,YAAI,CAAC,KAAKgnQ,SAAV,EAAqB;AACjB,gBAAMhnQ,KAAK,CAAC,sDAAD,CAAX;AACH;AACJ;;AACD,UAAI,KAAKw9P,MAAT,EAAiB;AACb,aAAK6F,cAAL,CAAoB,KAAK7F,MAAzB;AACH,OAXgB,CAYjB;AACA;;;AACAh5M,MAAAA,4CAAK,CAAC,KAAKuiN,WAAL,CAAiB3qB,YAAlB,EAAgC,KAAK4qB,SAAL,CAAe5qB,YAA/C,CAAL,CAAkE58M,SAAlE,CAA4E,MAAM;AAC9E,aAAK48M,YAAL,CAAkBpyO,IAAlB,CAAuBnJ,SAAvB;AACH,OAFD;AAGH;;AACDkoC,IAAAA,WAAW,CAACxJ,OAAD,EAAU;AACjB,UAAImkO,qBAAqB,CAACnkO,OAAD,EAAU,KAAKuyN,YAAf,CAAzB,EAAuD;AACnD,aAAK1V,YAAL,CAAkBpyO,IAAlB,CAAuBnJ,SAAvB;AACH;AACJ;;AACD08B,IAAAA,WAAW,GAAG;AACV,WAAKgnO,mBAAL,CAAyB7jO,WAAzB;;AACA,WAAK07M,YAAL,CAAkB/uM,QAAlB;AACH;AACD;;;AACA8yN,IAAAA,aAAa,GAAG;AACZ,aAAO,KAAKh/P,KAAL,GAAa,KAAKA,KAAL,CAAW8Z,KAAxB,GAAgC,IAAvC;AACH;AACD;;;AACAmlP,IAAAA,eAAe,GAAG;AACd,aAAO,KAAKkE,UAAL,GAAkB,KAAKA,UAAL,CAAgBxrB,KAAlC,GAA0Cj4O,SAAjD;AACH;AACD;;;AACAygQ,IAAAA,yBAAyB,GAAG;AACxB,aAAO,KAAKgD,UAAL,GAAkB,KAAKA,UAAL,CAAgBhD,yBAAhB,EAAlB,GAAgE,KAAKj5N,WAA5E;AACH;AACD;;;AACA64N,IAAAA,iBAAiB,GAAG;AAChB,aAAO,KAAKoD,UAAL,GAAkB,KAAKA,UAAL,CAAgBS,UAAhB,EAAlB,GAAiD,IAAxD;AACH;AACD;;;AACAyE,IAAAA,oBAAoB,GAAG;AACnB,aAAO,KAAKzC,WAAL,GAAmB,KAAKA,WAAL,CAAiBW,cAAjB,EAAnB,GAAuD,EAA9D;AACH;AACD;;;AACA+B,IAAAA,uBAAuB,GAAG;AACtB,aAAO,KAAK1C,WAAL,GAAmB,CAAC,KAAKA,WAAL,CAAiBl3P,OAAjB,EAApB,GAAiD,KAAxD;AACH;AACD;;;AACA+2P,IAAAA,uBAAuB,GAAG;AACtB,WAAKxqB,YAAL,CAAkBpyO,IAAlB,CAAuBnJ,SAAvB;;AACA,WAAKqtE,kBAAL,CAAwBwC,YAAxB;AACH;AACD;;;AACAm2L,IAAAA,eAAe,GAAG;AACd,UAAI,KAAKmC,YAAT,EAAuB;AACnB,aAAKA,YAAL,CAAkBnrM,IAAlB;AACH;AACJ;AACD;;;AACA6rM,IAAAA,oBAAoB,GAAG;AACnB,aAAO,CAAC,CAAC,KAAKpF,UAAN,IAAqB,KAAKA,UAAL,CAAgBS,UAAhB,MACzB,CAAC,KAAKT,UAAL,CAAgBqF,iBAAhB,EADE,KACuC,KAAKZ,KADnD;AAEH;AACD;;;AACAa,IAAAA,kBAAkB,GAAG;AACjB,YAAMC,SAAS,GAAG,KAAKvF,UAAvB;AACA,aAAOuF,SAAS,IAAIA,SAAS,CAACC,iBAAV,EAAb,GAA6CD,SAAS,CAAC/kB,QAAvD,GAAkE,IAAzE;AACH;AACD;;;AACAilB,IAAAA,YAAY,CAAC7mO,MAAD,EAAS;AACjB,WAAKylO,OAAL,GAAezlO,MAAM,KAAK,IAA1B;AACA,WAAKk5M,YAAL,CAAkBpyO,IAAlB;AACH;AACD;;;AACAm/P,IAAAA,WAAW,GAAG;AACV,UAAI,KAAKpC,WAAT,EAAsB;AAClB,aAAKA,WAAL,CAAiB1E,kBAAjB;AACH;;AACD,UAAI,KAAK2E,SAAT,EAAoB;AAChB,aAAKA,SAAL,CAAe3E,kBAAf;AACH;AACJ;AACD;;;AACAgB,IAAAA,cAAc,CAAC59B,KAAD,EAAQ;AAClB,UAAI,KAAKshC,WAAT,EAAsB;AAClB,aAAKA,WAAL,CAAiB1D,cAAjB,CAAgC59B,KAAhC;AACH;;AACD,UAAI,KAAKuhC,SAAT,EAAoB;AAChB,aAAKA,SAAL,CAAe3D,cAAf,CAA8B59B,KAA9B;AACH;AACJ;;AA1PmB;;AA4PxBijC,EAAAA,iBAAiB,CAACtjQ,IAAlB,GAAyB,SAAS4kQ,yBAAT,CAAmC1kQ,CAAnC,EAAsC;AAAE,WAAO,KAAKA,CAAC,IAAIojQ,iBAAV,EAA6BxqQ,+DAAA,CAAyBA,4DAAzB,CAA7B,EAAiFA,+DAAA,CAAyBA,qDAAzB,CAAjF,EAA8HA,+DAAA,CAAyBkqP,6DAAzB,EAAkD,EAAlD,CAA9H,EAAqLlqP,+DAAA,CAAyB+8B,+DAAzB,EAA6C,CAA7C,CAArL,EAAsO/8B,+DAAA,CAAyB2pP,yEAAzB,EAAyC,CAAzC,CAAtO,CAAP;AAA4R,GAA7V;;AACA6gB,EAAAA,iBAAiB,CAAC73L,IAAlB,GAAyB,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE+vQ,iBAAR;AAA2Bp/N,IAAAA,SAAS,EAAE,CAAC,CAAC,sBAAD,CAAD,CAAtC;AAAkE4tE,IAAAA,cAAc,EAAE,SAAS+yJ,gCAAT,CAA0Cp0N,EAA1C,EAA8CxgC,GAA9C,EAAmDwtI,QAAnD,EAA6D;AAAE,UAAIhtG,EAAE,GAAG,CAAT,EAAY;AACrN33C,QAAAA,4DAAA,CAAsB2kJ,QAAtB,EAAgCukH,YAAhC,EAA8C,CAA9C;AACAlpQ,QAAAA,4DAAA,CAAsB2kJ,QAAtB,EAAgCqlH,UAAhC,EAA4C,CAA5C;AACH;;AAAC,UAAIryN,EAAE,GAAG,CAAT,EAAY;AACV,YAAIq7B,EAAJ;;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAAC0xP,WAAJ,GAAkB71L,EAAE,CAACG,KAA1E;AACAnzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAAC2xP,SAAJ,GAAgB91L,EAAE,CAACG,KAAxE;AACH;AAAE,KAPyD;AAOvDC,IAAAA,SAAS,EAAE,CAAC,MAAD,EAAS,OAAT,EAAkB,CAAlB,EAAqB,sBAArB,CAP4C;AAOE57B,IAAAA,QAAQ,EAAE,CAPZ;AAOeC,IAAAA,YAAY,EAAE,SAASu0N,8BAAT,CAAwCr0N,EAAxC,EAA4CxgC,GAA5C,EAAiD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACpJ33C,QAAAA,yDAAA,CAAmB,IAAnB,EAAyB,IAAzB,EAA+B,iBAA/B,EAAkDmX,GAAG,CAACu0P,kBAAJ,EAAlD,EAA4E,kBAA5E,EAAgGv0P,GAAG,CAACwzP,gBAApG,EAAsH,mBAAtH,EAA2IxzP,GAAG,CAAC4yP,WAAJ,GAAkB5yP,GAAG,CAAC4yP,WAAJ,CAAgBtmQ,EAAlC,GAAuC,IAAlL;AACAzD,QAAAA,yDAAA,CAAmB,wCAAnB,EAA6DmX,GAAG,CAACo0P,uBAAJ,EAA7D,EAA4F,+BAA5F,EAA6Hp0P,GAAG,CAACs/M,QAAjI;AACH;AAAE,KAVyD;AAUvDprL,IAAAA,MAAM,EAAE;AAAEj9B,MAAAA,SAAS,EAAE,WAAb;AAA0Bo/O,MAAAA,eAAe,EAAE,iBAA3C;AAA8DC,MAAAA,aAAa,EAAE,eAA7E;AAA8Fsc,MAAAA,WAAW,EAAE,aAA3G;AAA0HtzC,MAAAA,QAAQ,EAAE,UAApI;AAAgJ22B,MAAAA,UAAU,EAAE,YAA5J;AAA0K5tP,MAAAA,GAAG,EAAE,KAA/K;AAAsLH,MAAAA,GAAG,EAAE,KAA3L;AAAkMiD,MAAAA,QAAQ,EAAE;AAA5M,KAV+C;AAU2KgpC,IAAAA,QAAQ,EAAE,CAAC,mBAAD,CAVrL;AAU4MC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CACrS;AAAE83C,MAAAA,OAAO,EAAE8xM,8EAAX;AAAgC7xM,MAAAA,WAAW,EAAEyyN;AAA7C,KADqS,EAErS;AAAE1yN,MAAAA,OAAO,EAAEwwN,2BAAX;AAAwCvwN,MAAAA,WAAW,EAAEyyN;AAArD,KAFqS,CAA1B,CAAD,EAG1QxqQ,kEAH0Q,CAVtN;AAatBuzE,IAAAA,kBAAkB,EAAE67K,GAbE;AAaG57K,IAAAA,KAAK,EAAE,CAbV;AAaaC,IAAAA,IAAI,EAAE,CAbnB;AAasBC,IAAAA,MAAM,EAAE,CAAC,CAAC,wBAAD,EAA2B,EAA3B,EAA+B,CAA/B,EAAkC,gCAAlC,EAAoE,CAApE,EAAuE,gBAAvE,CAAD,EAA2F,CAAC,CAAD,EAAI,oCAAJ,CAA3F,EAAsI,CAAC,aAAD,EAAgB,MAAhB,EAAwB,CAAxB,EAA2B,6BAA3B,CAAtI,EAAiM,CAAC,CAAD,EAAI,gCAAJ,CAAjM,EAAwO,CAAC,CAAD,EAAI,kCAAJ,CAAxO,CAb9B;AAagT1N,IAAAA,QAAQ,EAAE,SAASimM,0BAAT,CAAoCt0N,EAApC,EAAwCxgC,GAAxC,EAA6C;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC7a33C,QAAAA,6DAAA,CAAuBmvP,GAAvB;AACAnvP,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC;AACAA,QAAAA,wDAAA,CAAkB,gBAAlB,EAAoC,SAASksQ,wDAAT,CAAkEp3C,MAAlE,EAA0E;AAAE,iBAAO39M,GAAG,CAAC00P,YAAJ,CAAiB/2C,MAAjB,CAAP;AAAkC,SAAlJ;AACA90N,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC;AACAA,QAAAA,0DAAA,CAAoB,CAApB;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;AACAA,QAAAA,oDAAA,CAAc,CAAd;AACAA,QAAAA,0DAAA;AACAA,QAAAA,0DAAA;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;AACAA,QAAAA,oDAAA,CAAc,CAAd;AACAA,QAAAA,0DAAA;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC;AACAA,QAAAA,0DAAA,CAAoB,CAApB,EAAuB,CAAvB;AACAA,QAAAA,0DAAA;AACAA,QAAAA,0DAAA;AACH;;AAAC,UAAI23C,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,+DAAA,CAAyBmX,GAAG,CAACm0P,oBAAJ,EAAzB;AACAtrQ,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,yDAAA,CAAmB,uCAAnB,EAA4DmX,GAAG,CAACq0P,oBAAJ,EAA5D;AACAxrQ,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,+DAAA,CAAyBmX,GAAG,CAAC/I,SAA7B;AACH;AAAE,KArCyD;AAqCvDqrG,IAAAA,UAAU,EAAE,CAACqwI,+DAAD,CArC2C;AAqCjBjvP,IAAAA,MAAM,EAAE,CAAC,66HAAD,CArCS;AAqCw6Hs5E,IAAAA,aAAa,EAAE,CArCv7H;AAqC07HC,IAAAA,eAAe,EAAE;AArC38H,GAAzB,CAAvC;SA7PMo2L;;;AAuTN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/iQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA6DC,CA7DhB;AA+DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACM0kQ;AAAN,QAAMA,kBAAN,SAAiC/K,iBAAjC,CAAmD;AAC/CyB,IAAAA,qBAAqB,CAACviJ,QAAD,EAAW;AAC5B,YAAMuiJ,qBAAN,CAA4BviJ,QAA5B;;AACA,YAAMr0G,KAAK,GAAG,KAAK+1P,eAAnB;;AACA,UAAI/1P,KAAJ,EAAW;AACPq0G,QAAAA,QAAQ,CAACktI,eAAT,GAA2BvhP,KAAK,CAACuhP,eAAjC;AACAltI,QAAAA,QAAQ,CAACmtI,aAAT,GAAyBxhP,KAAK,CAACwhP,aAA/B;AACH;AACJ;;AAR8C;;AAUnD0e,EAAAA,kBAAkB,CAACjlQ,IAAnB,GAA0B,aAAc,YAAY;AAAE,QAAIklQ,+BAAJ;AAAqC,WAAO,SAASC,0BAAT,CAAoCjlQ,CAApC,EAAuC;AAAE,aAAO,CAACglQ,+BAA+B,KAAKA,+BAA+B,GAAGpsQ,mEAAA,CAA6BmsQ,kBAA7B,CAAvC,CAAhC,EAA0H/kQ,CAAC,IAAI+kQ,kBAA/H,CAAP;AAA4J,KAA5M;AAA+M,GAAlQ,EAAxC;;AACAA,EAAAA,kBAAkB,CAACx5L,IAAnB,GAA0B,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE0xQ,kBAAR;AAA4B/gO,IAAAA,SAAS,EAAE,CAAC,CAAC,uBAAD,CAAD,CAAvC;AAAoEE,IAAAA,QAAQ,EAAE,CAAC,oBAAD,CAA9E;AAAsGC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAChMyzP,uCADgM,EAEhMS,oCAFgM,EAGhM;AAAEp8M,MAAAA,OAAO,EAAEspN,iBAAX;AAA8BrpN,MAAAA,WAAW,EAAEo0N;AAA3C,KAHgM,CAA1B,CAAD,EAIrKnsQ,wEAJqK,CAAhH;AAIjBwzE,IAAAA,KAAK,EAAE,CAJU;AAIPC,IAAAA,IAAI,EAAE,CAJC;AAIEzN,IAAAA,QAAQ,EAAE,SAASsmM,2BAAT,CAAqC30N,EAArC,EAAyCxgC,GAAzC,EAA8C,CAAG,CAJ7D;AAI+Dg9D,IAAAA,aAAa,EAAE,CAJ9E;AAIiFC,IAAAA,eAAe,EAAE;AAJlG,GAAzB,CAAxC;SAXM+3L;;;AAgBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO1kQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAcO,CAdtB;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACM8kQ;AAAN,QAAMA,kBAAN,CAAyB;AACrBlwQ,IAAAA,WAAW,CAACkqQ,WAAD,EAAc;AACrB,WAAKA,WAAL,GAAmBA,WAAnB;AACH;;AACDiG,IAAAA,eAAe,GAAG;AACd,WAAKjG,WAAL,CAAiBxG,sBAAjB;;AACA,WAAKwG,WAAL,CAAiB/7M,KAAjB;AACH;;AAPoB;;AASzB+hN,EAAAA,kBAAkB,CAACrlQ,IAAnB,GAA0B,SAASulQ,0BAAT,CAAoCrlQ,CAApC,EAAuC;AAAE,WAAO,KAAKA,CAAC,IAAImlQ,kBAAV,EAA8BvsQ,+DAAA,CAAyBohQ,iBAAzB,CAA9B,CAAP;AAAoF,GAAvJ;;AACAmL,EAAAA,kBAAkB,CAACrhO,IAAnB,GAA0B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE8xQ,kBAAR;AAA4BnhO,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,oBAAL,EAA2B,EAA3B,CAAD,EAAiC,CAAC,EAAD,EAAK,yBAAL,EAAgC,EAAhC,CAAjC,CAAvC;AAA8GqM,IAAAA,YAAY,EAAE,SAASi1N,+BAAT,CAAyC/0N,EAAzC,EAA6CxgC,GAA7C,EAAkD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACrP33C,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAAS2sQ,2CAAT,GAAuD;AAAE,iBAAOx1P,GAAG,CAACq1P,eAAJ,EAAP;AAA+B,SAAnH;AACH;AAAE;AAF0D,GAAzB,CAAxC;SAVMD;;;AAgBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO9kQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMwD,CANvE;AAOA;;;IACMmlQ;AAAN,QAAMA,mBAAN,CAA0B;AACtBvwQ,IAAAA,WAAW,CAACkqQ,WAAD,EAAc;AACrB,WAAKA,WAAL,GAAmBA,WAAnB;AACH;;AAHqB;;AAK1BqG,EAAAA,mBAAmB,CAAC1lQ,IAApB,GAA2B,SAAS2lQ,2BAAT,CAAqCzlQ,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAIwlQ,mBAAV,EAA+B5sQ,+DAAA,CAAyBohQ,iBAAzB,CAA/B,CAAP;AAAqF,GAA1J;;AACAwL,EAAAA,mBAAmB,CAAC1hO,IAApB,GAA2B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEmyQ,mBAAR;AAA6BxhO,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,qBAAL,EAA4B,EAA5B,CAAD,EAAkC,CAAC,EAAD,EAAK,0BAAL,EAAiC,EAAjC,CAAlC,CAAxC;AAAiHqM,IAAAA,YAAY,EAAE,SAASq1N,gCAAT,CAA0Cn1N,EAA1C,EAA8CxgC,GAA9C,EAAmD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC1P33C,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAAS+sQ,4CAAT,GAAwD;AAAE,iBAAO51P,GAAG,CAACovP,WAAJ,CAAgB/7M,KAAhB,EAAP;AAAiC,SAAtH;AACH;AAAE;AAF2D,GAAzB,CAAzC;SANMoiN;;;AAYN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOnlQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMwD,CANvE;AAOA;AACA;AACA;AACA;;;IACMulQ;AAAN,QAAMA,oBAAN,CAA2B;AACvB3wQ,IAAAA,WAAW,CAACkqQ,WAAD,EAAcj+L,iBAAd,EAAiC;AACxC,WAAKi+L,WAAL,GAAmBA,WAAnB;AACA,WAAKj+L,iBAAL,GAAyBA,iBAAzB;AACH;;AACD7zB,IAAAA,eAAe,GAAG;AACd,WAAKw4N,OAAL,GAAe,IAAI7mN,gEAAJ,CAAmB,KAAKouB,SAAxB,EAAmC,KAAKlM,iBAAxC,CAAf;;AACA,WAAKi+L,WAAL,CAAiB9D,eAAjB,CAAiC,KAAKwK,OAAtC;AACH;;AACD5tO,IAAAA,WAAW,GAAG;AACV,UAAI3I,EAAJ;;AACA,WAAK6vO,WAAL,CAAiB7D,aAAjB,CAA+B,KAAKuK,OAApC,EAFU,CAGV;;;AACA,UAAI,KAAKA,OAAL,IAAgB,KAAKA,OAAL,CAAaz9M,UAAjC,EAA6C;AACzC,SAAC94B,EAAE,GAAG,KAAKu2O,OAAX,MAAwB,IAAxB,IAAgCv2O,EAAE,KAAK,KAAK,CAA5C,GAAgD,KAAK,CAArD,GAAyDA,EAAE,CAACijB,MAAH,EAAzD;AACH;AACJ;;AAhBsB;;AAkB3BqzN,EAAAA,oBAAoB,CAAC9lQ,IAArB,GAA4B,SAASgmQ,4BAAT,CAAsC9lQ,CAAtC,EAAyC;AAAE,WAAO,KAAKA,CAAC,IAAI4lQ,oBAAV,EAAgChtQ,+DAAA,CAAyBohQ,iBAAzB,CAAhC,EAA6EphQ,+DAAA,CAAyBA,2DAAzB,CAA7E,CAAP;AAAyI,GAAhN;;AACAgtQ,EAAAA,oBAAoB,CAACr6L,IAArB,GAA4B,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEuyQ,oBAAR;AAA8B5hO,IAAAA,SAAS,EAAE,CAAC,CAAC,wBAAD,CAAD,EAA6B,CAAC,+BAAD,CAA7B,CAAzC;AAA0GynC,IAAAA,SAAS,EAAE,SAASs6L,0BAAT,CAAoCx1N,EAApC,EAAwCxgC,GAAxC,EAA6C;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC3O33C,QAAAA,yDAAA,CAAmB6lD,sDAAnB,EAAgC,CAAhC;AACH;;AAAC,UAAIlO,EAAE,GAAG,CAAT,EAAY;AACV,YAAIq7B,EAAJ;;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAACq9D,SAAJ,GAAgBxB,EAAE,CAACG,KAAxE;AACH;AAAE,KAL4D;AAK1DI,IAAAA,kBAAkB,EAAEhJ,GALsC;AAKjCiJ,IAAAA,KAAK,EAAE,CAL0B;AAKvBC,IAAAA,IAAI,EAAE,CALiB;AAKdC,IAAAA,MAAM,EAAE,CAAC,CAAC,CAAD,EAAI,wBAAJ,CAAD,CALM;AAK2B1N,IAAAA,QAAQ,EAAE,SAASonM,6BAAT,CAAuCz1N,EAAvC,EAA2CxgC,GAA3C,EAAgD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC9J33C,QAAAA,6DAAA;AACAA,QAAAA,wDAAA,CAAkB,CAAlB,EAAqBqvP,2CAArB,EAAkE,CAAlE,EAAqE,CAArE,EAAwE,aAAxE;AACH;AAAE,KAR4D;AAQ1Dx0P,IAAAA,MAAM,EAAE,CAAC,wRAAD,CARkD;AAQ0Os5E,IAAAA,aAAa,EAAE,CARzP;AAQ4PC,IAAAA,eAAe,EAAE;AAR7Q,GAAzB,CAA1C;SAnBM44L;;;AAmCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOvlQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAkBC,CAlBhB;AAoBA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM4lQ;AAAN,QAAMA,mBAAN,CAA0B;;AAE1BA,EAAAA,mBAAmB,CAACnmQ,IAApB,GAA2B,SAASomQ,2BAAT,CAAqClmQ,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAIimQ,mBAAV,GAAP;AAA0C,GAA/G;;AACAA,EAAAA,mBAAmB,CAACr3N,IAApB,GAA2B,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAE4yQ;AAAR,GAAxB,CAAzC;AACAA,EAAAA,mBAAmB,CAACn3N,IAApB,GAA2B,aAAcl2C,8DAAA,CAAwB;AAAEilD,IAAAA,SAAS,EAAE,CACtEsqM,iBADsE,EAEtEqP,+CAFsE,CAAb;AAG1DxoN,IAAAA,OAAO,EAAE,CAAC,CACLmqD,yDADK,EAELs7I,qEAFK,EAGL76K,gEAHK,EAILnrB,0DAJK,EAKLwQ,8DALK,EAML2zL,mEANK,CAAD,EAOLpjK,wEAPK;AAHiD,GAAxB,CAAzC;SAJMy2L;;;AAeN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO5lQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA6DO,CA7DtB;;AA8DA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0BqtQ,mBAA1B,EAA+C;AAAE92N,IAAAA,YAAY,EAAE,YAAY;AAAE,aAAO,CAACsmN,WAAD,EAAcvM,eAAd,EAA+BoT,aAA/B,EAA8C5E,oBAA9C,EAAoEmH,kBAApE,EAAwFsB,mBAAxF,EAA6GF,uBAA7G,EAAsIjT,YAAtI,EAAoJ6F,WAApJ,EAAiK/B,gBAAjK,EAAmLyD,iBAAnL,EAAsM6O,iBAAtM,EAAyNtB,YAAzN,EAAuOc,UAAvO,EAAmPmC,kBAAnP,EAAuQa,oBAAvQ,EAA6RJ,mBAA7R,EAAkTL,kBAAlT,CAAP;AAA+U,KAA7W;AAA+Wn2N,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACmqD,yDAAD,EACtfs7I,qEADsf,EAEtf76K,gEAFsf,EAGtfnrB,0DAHsf,EAItfwQ,8DAJsf,EAKtf2zL,mEALsf,CAAP;AAK5d,KALsF;AAKpFxjM,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACogC,wEAAD,EAAsBimL,WAAtB,EAAmCvM,eAAnC,EAAoDoT,aAApD,EAAmE5E,oBAAnE,EAAyFmH,kBAAzF,EAA6GsB,mBAA7G,EAAkIF,uBAAlI,EAA2JjT,YAA3J,EAAyK6F,WAAzK,EAAsL/B,gBAAtL,EAAwMyD,iBAAxM,EAA2N6O,iBAA3N,EAA8OtB,YAA9O,EAA4Pc,UAA5P,EAAwQmC,kBAAxQ,EAA4Ra,oBAA5R,EAAkTJ,mBAAlT,EAAuUL,kBAAvU,CAAP;AAAoW;AALvS,GAA/C,CAAnD;AAK+Y,CAL9Z;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxgJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AAEA,MAAMjiM,GAAG,GAAG,CAAC,WAAD,CAAZ;AACA,MAAMC,GAAG,GAAG,CAAC,qBAAD,CAAZ;AACA,MAAM2vK,GAAG,GAAG,CAAC,gBAAD,CAAZ;AACA,MAAM+U,GAAG,GAAG,CAAC,OAAD,CAAZ;;AACA,SAAS2e,oCAAT,CAA8Cj2N,EAA9C,EAAkDxgC,GAAlD,EAAuD;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACjE33C,IAAAA,qEAAA,CAA+B,CAA/B;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,EAAhC;AACAA,IAAAA,uDAAA,CAAiB,CAAjB,EAAoB,KAApB,EAA2B,EAA3B;AACAA,IAAAA,uDAAA,CAAiB,CAAjB,EAAoB,KAApB,EAA2B,EAA3B;AACAA,IAAAA,uDAAA,CAAiB,CAAjB,EAAoB,KAApB,EAA2B,EAA3B;AACAA,IAAAA,0DAAA;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,EAAhC;AACAA,IAAAA,uDAAA,CAAiB,CAAjB,EAAoB,KAApB,EAA2B,EAA3B;AACAA,IAAAA,uDAAA,CAAiB,CAAjB,EAAoB,KAApB,EAA2B,EAA3B;AACAA,IAAAA,uDAAA,CAAiB,CAAjB,EAAoB,KAApB,EAA2B,EAA3B;AACAA,IAAAA,0DAAA;AACAA,IAAAA,mEAAA;AACH;AAAE;;AACH,SAAS6tQ,2BAAT,CAAqCl2N,EAArC,EAAyCxgC,GAAzC,EAA8C;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACxD33C,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,EAAhC;AACAA,IAAAA,0DAAA,CAAoB,CAApB,EAAuB,CAAvB;AACAA,IAAAA,0DAAA;AACH;AAAE;;AACH,SAAS8tQ,4CAAT,CAAsDn2N,EAAtD,EAA0DxgC,GAA1D,EAA+D;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACzE33C,IAAAA,qEAAA,CAA+B,CAA/B;AACAA,IAAAA,0DAAA,CAAoB,CAApB,EAAuB,CAAvB;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,0DAAA;AACAA,IAAAA,mEAAA;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAMu2M,OAAO,GAAGluP,2DAAA,CAAqB,CAArB,CAAhB;AACAA,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,+DAAA,CAAyBkuP,OAAO,CAAChlB,QAAR,CAAiB3wJ,WAA1C;AACH;AAAE;;AACH,SAASw1L,0CAAT,CAAoDp2N,EAApD,EAAwDxgC,GAAxD,EAA6D;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACvE33C,IAAAA,0DAAA,CAAoB,CAApB,EAAuB,CAAvB,EAA0B,CAAC,eAAD,EAAkB,MAAlB,CAA1B;AACH;AAAE;;AACH,SAASguQ,oCAAT,CAA8Cr2N,EAA9C,EAAkDxgC,GAAlD,EAAuD;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACjE33C,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,EAAjC;AACAA,IAAAA,oDAAA,CAAc,CAAd,EAAiB,IAAjB;AACAA,IAAAA,0DAAA;AACH;AAAE;;AACH,SAASiuQ,6BAAT,CAAuCt2N,EAAvC,EAA2CxgC,GAA3C,EAAgD;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC1D,UAAMu2N,IAAI,GAAGluQ,8DAAA,EAAb;;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,OAAzB,EAAkC,EAAlC,EAAsC,EAAtC;AACAA,IAAAA,wDAAA,CAAkB,mBAAlB,EAAuC,SAASmuQ,gEAAT,GAA4E;AAAEnuQ,MAAAA,2DAAA,CAAqBkuQ,IAArB;AAA4B,YAAMxf,OAAO,GAAG1uP,2DAAA,EAAhB;AAAwC,aAAO0uP,OAAO,CAAC0f,gBAAR,EAAP;AAAoC,KAA7N;AACApuQ,IAAAA,wDAAA,CAAkB,CAAlB,EAAqB8tQ,4CAArB,EAAmE,CAAnE,EAAsE,CAAtE,EAAyE,cAAzE,EAAyF,EAAzF;AACA9tQ,IAAAA,wDAAA,CAAkB,CAAlB,EAAqB+tQ,0CAArB,EAAiE,CAAjE,EAAoE,CAApE,EAAuE,YAAvE,EAAqF,EAArF;AACA/tQ,IAAAA,wDAAA,CAAkB,CAAlB,EAAqBguQ,oCAArB,EAA2D,CAA3D,EAA8D,CAA9D,EAAiE,MAAjE,EAAyE,EAAzE;AACAhuQ,IAAAA,0DAAA;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAM4yM,MAAM,GAAGvqP,2DAAA,EAAf;AACAA,IAAAA,yDAAA,CAAmB,WAAnB,EAAgCuqP,MAAM,CAACrhB,QAAP,CAAgB2hC,KAAhB,IAAyB,CAACtgB,MAAM,CAAC8jB,kBAAP,EAA1D,EAAuF,sBAAvF,EAA+G9jB,MAAM,CAACrhB,QAAP,CAAgB2hC,KAAhB,IAAyB,CAACtgB,MAAM,CAAC8jB,kBAAP,EAAzI,EAAsK,YAAtK,EAAoL9jB,MAAM,CAAC3P,KAAP,IAAgB,QAApM,EAA8M,UAA9M,EAA0N2P,MAAM,CAAC3P,KAAP,IAAgB,MAA1O;AACA56O,IAAAA,wDAAA,CAAkB,2BAAlB,EAA+CuqP,MAAM,CAAC+jB,UAAP,IAAqB,SAApE,EAA+E,IAA/E,EAAqF/jB,MAAM,CAAC3D,QAA5F,EAAsG,UAAtG,EAAkH2D,MAAM,CAACgkB,SAAP,EAAlH;AACAvuQ,IAAAA,yDAAA,CAAmB,KAAnB,EAA0BuqP,MAAM,CAACrhB,QAAP,CAAgBzlO,EAA1C,EAA8C,WAA9C,EAA2D8mP,MAAM,CAACrhB,QAAP,CAAgBzlO,EAA3E;AACAzD,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,wDAAA,CAAkB,cAAlB,EAAkC,KAAlC;AACAA,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,wDAAA,CAAkB,cAAlB,EAAkC,IAAlC;AACAA,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,wDAAA,CAAkB,MAAlB,EAA0B,CAACuqP,MAAM,CAACikB,kBAAR,IAA8BjkB,MAAM,CAACrhB,QAAP,CAAgBzS,QAA9C,IAA0D,CAAC8zB,MAAM,CAACrhB,QAAP,CAAgB5mO,QAArG;AACH;AAAE;;AACH,SAASmsQ,4BAAT,CAAsC92N,EAAtC,EAA0CxgC,GAA1C,EAA+C;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACzD33C,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,EAAhC;AACAA,IAAAA,0DAAA,CAAoB,CAApB,EAAuB,CAAvB;AACAA,IAAAA,0DAAA;AACH;AAAE;;AACH,SAAS0uQ,4BAAT,CAAsC/2N,EAAtC,EAA0CxgC,GAA1C,EAA+C;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACzD33C,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,EAAhC,EAAoC,EAApC;AACAA,IAAAA,uDAAA,CAAiB,CAAjB,EAAoB,MAApB,EAA4B,EAA5B;AACAA,IAAAA,0DAAA;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAMu1M,MAAM,GAAGltP,2DAAA,EAAf;AACAA,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,yDAAA,CAAmB,YAAnB,EAAiCktP,MAAM,CAACtS,KAAP,IAAgB,QAAjD,EAA2D,UAA3D,EAAuEsS,MAAM,CAACtS,KAAP,IAAgB,MAAvF;AACH;AAAE;;AACH,SAAS+zB,4BAAT,CAAsCh3N,EAAtC,EAA0CxgC,GAA1C,EAA+C;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACzD33C,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB;AACAA,IAAAA,0DAAA,CAAoB,CAApB,EAAuB,CAAvB;AACAA,IAAAA,0DAAA;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAMk2M,MAAM,GAAG7tP,2DAAA,EAAf;AACAA,IAAAA,wDAAA,CAAkB,qBAAlB,EAAyC6tP,MAAM,CAAC+gB,wBAAhD;AACH;AAAE;;AACH,SAASC,kCAAT,CAA4Cl3N,EAA5C,EAAgDxgC,GAAhD,EAAqD;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC/D33C,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,EAAhC;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,0DAAA;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAMm3N,OAAO,GAAG9uQ,2DAAA,CAAqB,CAArB,CAAhB;AACAA,IAAAA,wDAAA,CAAkB,IAAlB,EAAwB8uQ,OAAO,CAACC,YAAhC;AACA/uQ,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,+DAAA,CAAyB8uQ,OAAO,CAACE,SAAjC;AACH;AAAE;;AACH,SAASC,4BAAT,CAAsCt3N,EAAtC,EAA0CxgC,GAA1C,EAA+C;AAAE,MAAIwgC,EAAE,GAAG,CAAT,EAAY;AACzD33C,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,EAAhC;AACAA,IAAAA,wDAAA,CAAkB,CAAlB,EAAqB6uQ,kCAArB,EAAyD,CAAzD,EAA4D,CAA5D,EAA+D,KAA/D,EAAsE,EAAtE;AACA7uQ,IAAAA,0DAAA,CAAoB,CAApB,EAAuB,CAAvB;AACAA,IAAAA,uDAAA,CAAiB,CAAjB,EAAoB,KAApB,EAA2B,EAA3B;AACAA,IAAAA,0DAAA,CAAoB,CAApB,EAAuB,CAAvB;AACAA,IAAAA,0DAAA;AACH;;AAAC,MAAI23C,EAAE,GAAG,CAAT,EAAY;AACV,UAAMozM,MAAM,GAAG/qP,2DAAA,EAAf;AACAA,IAAAA,wDAAA,CAAkB,qBAAlB,EAAyC+qP,MAAM,CAAC6jB,wBAAhD;AACA5uQ,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,wDAAA,CAAkB,MAAlB,EAA0B+qP,MAAM,CAACikB,SAAjC;AACH;AAAE;;AACH,MAAM9f,GAAG,GAAG,CAAC,GAAD,EAAM,CAAC,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,CAAD,CAAN,EAA+B,CAAC,CAAC,iBAAD,CAAD,CAA/B,EAAsD,CAAC,CAAC,WAAD,CAAD,CAAtD,EAAuE,CAAC,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,CAAD,CAAvE,EAAgG,CAAC,CAAC,WAAD,CAAD,CAAhG,EAAiH,CAAC,CAAC,UAAD,EAAa,CAAb,EAAgB,OAAhB,EAAyB,KAAzB,CAAD,CAAjH,EAAoJ,CAAC,CAAC,UAAD,EAAa,OAAb,EAAsB,KAAtB,CAAD,CAApJ,CAAZ;AACA,MAAMC,GAAG,GAAG,CAAC,GAAD,EAAM,aAAN,EAAqB,iBAArB,EAAwC,WAAxC,EAAqD,aAArD,EAAoE,WAApE,EAAiF,6BAAjF,EAAgH,uBAAhH,CAAZ;AACA,IAAI+f,cAAc,GAAG,CAArB;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,SAAS,gBAAG,IAAIh1O,yDAAJ,CAAmB,UAAnB,CAAlB;AACA;;IACMi1O;AAAN,QAAMA,QAAN,CAAe;AACX/yQ,IAAAA,WAAW,CAACgzQ,QAAD,EAAW5xM,UAAX,EAAuB;AAC9B,WAAKh6D,EAAL,GAAW,aAAYyrQ,cAAc,EAAG,EAAxC,CAD8B,CAE9B;AACA;;AACA,UAAI,CAACG,QAAL,EAAe;AACX5xM,QAAAA,UAAU,CAAClzB,aAAX,CAAyB//B,YAAzB,CAAsC,WAAtC,EAAmD,QAAnD;AACH;AACJ;;AARU;;AAUf4kQ,EAAAA,QAAQ,CAACloQ,IAAT,GAAgB,SAASooQ,gBAAT,CAA0BloQ,CAA1B,EAA6B;AAAE,WAAO,KAAKA,CAAC,IAAIgoQ,QAAV,EAAoBpvQ,+DAAA,CAAyB,WAAzB,CAApB,EAA2DA,+DAAA,CAAyBA,qDAAzB,CAA3D,CAAP;AAAiH,GAAhK;;AACAovQ,EAAAA,QAAQ,CAAClkO,IAAT,GAAgB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE20Q,QAAR;AAAkBhkO,IAAAA,SAAS,EAAE,CAAC,CAAC,WAAD,CAAD,CAA7B;AAA8CgoC,IAAAA,SAAS,EAAE,CAAC,aAAD,EAAgB,MAAhB,EAAwB,CAAxB,EAA2B,WAA3B,CAAzD;AAAkG57B,IAAAA,QAAQ,EAAE,CAA5G;AAA+GC,IAAAA,YAAY,EAAE,SAAS83N,qBAAT,CAA+B53N,EAA/B,EAAmCxgC,GAAnC,EAAwC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAClO33C,QAAAA,yDAAA,CAAmB,IAAnB,EAAyBmX,GAAG,CAAC1T,EAA7B;AACH;AAAE,KAFgD;AAE9C4nC,IAAAA,MAAM,EAAE;AAAE5nC,MAAAA,EAAE,EAAE;AAAN,KAFsC;AAExB8nC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC;AAAE83C,MAAAA,OAAO,EAAEq3N,SAAX;AAAsBp3N,MAAAA,WAAW,EAAEq3N;AAAnC,KAAD,CAA1B,CAAD;AAFc,GAAzB,CAA9B;SAXMA;;;AAqBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO3nQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAgBC,CAhBhB;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM+nQ,sBAAsB,GAAG;AAC3B;AACAC,EAAAA,kBAAkB,eAAEn1Q,4DAAO,CAAC,oBAAD,EAAuB;AAAA;AAC9C;AACAc,EAAAA,0DAAK,CAAC,OAAD,eAAUH,0DAAK,CAAC;AAAEgpP,IAAAA,OAAO,EAAE,CAAX;AAAcxqL,IAAAA,SAAS,EAAE;AAAzB,GAAD,CAAf,CAFyC,eAG9Cn+D,+DAAU,CAAC,eAAD,EAAkB,cACxBL,0DAAK,CAAC;AAAEgpP,IAAAA,OAAO,EAAE,CAAX;AAAcxqL,IAAAA,SAAS,EAAE;AAAzB,GAAD,CADmB,eAExB9+D,4DAAO,CAAC,wCAAD,CAFiB,CAAlB,CAHoC,CAAvB;AAFA,CAA/B;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;IACMivP;AAAN,QAAMA,mBAAN,CAA0B;;AAE1BA,EAAAA,mBAAmB,CAAC1iP,IAApB,GAA2B,SAASwoQ,2BAAT,CAAqCtoQ,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAIwiP,mBAAV,GAAP;AAA0C,GAA/G;;AACAA,EAAAA,mBAAmB,CAAC1+M,IAApB,GAA2B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEmvP;AAAR,GAAzB,CAAzC;SAHMA;;;AAIN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOniP,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAEO,CAFtB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAASkoQ,uCAAT,GAAmD;AAC/C,SAAO7tQ,KAAK,CAAC,8DAAD,CAAZ;AACH;AACD;;;AACA,SAAS8tQ,kCAAT,CAA4CC,KAA5C,EAAmD;AAC/C,SAAO/tQ,KAAK,CAAE,2CAA0C+tQ,KAAM,KAAlD,CAAZ;AACH;AACD;;;AACA,SAASC,kCAAT,GAA8C;AAC1C,SAAOhuQ,KAAK,CAAC,oDAAD,CAAZ;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIiuQ,cAAc,GAAG,CAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,SAAS,gBAAG,IAAI71O,yDAAJ,CAAmB,SAAnB,CAAlB;AACA;;;IACM81O;AAAN,QAAMA,OAAN,CAAc;AACV5zQ,IAAAA,WAAW,GAAG;AACV;AACA,WAAKwzQ,KAAL,GAAa,OAAb;AACA;;AACA,WAAKpsQ,EAAL,GAAW,YAAWssQ,cAAc,EAAG,EAAvC;AACH;;AANS;;AAQdE,EAAAA,OAAO,CAAC/oQ,IAAR,GAAe,SAASgpQ,eAAT,CAAyB9oQ,CAAzB,EAA4B;AAAE,WAAO,KAAKA,CAAC,IAAI6oQ,OAAV,GAAP;AAA8B,GAA3E;;AACAA,EAAAA,OAAO,CAAC/kO,IAAR,GAAe,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEw1Q,OAAR;AAAiB7kO,IAAAA,SAAS,EAAE,CAAC,CAAC,UAAD,CAAD,CAA5B;AAA4CgoC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,UAAJ,CAAvD;AAAwE57B,IAAAA,QAAQ,EAAE,CAAlF;AAAqFC,IAAAA,YAAY,EAAE,SAAS04N,oBAAT,CAA8Bx4N,EAA9B,EAAkCxgC,GAAlC,EAAuC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACtM33C,QAAAA,yDAAA,CAAmB,IAAnB,EAAyBmX,GAAG,CAAC1T,EAA7B,EAAiC,OAAjC,EAA0C,IAA1C;AACAzD,QAAAA,yDAAA,CAAmB,yBAAnB,EAA8CmX,GAAG,CAAC04P,KAAJ,KAAc,KAA5D;AACH;AAAE,KAH+C;AAG7CxkO,IAAAA,MAAM,EAAE;AAAEwkO,MAAAA,KAAK,EAAE,OAAT;AAAkBpsQ,MAAAA,EAAE,EAAE;AAAtB,KAHqC;AAGP8nC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC;AAAE83C,MAAAA,OAAO,EAAEk4N,SAAX;AAAsBj4N,MAAAA,WAAW,EAAEk4N;AAAnC,KAAD,CAA1B,CAAD;AAHH,GAAzB,CAA7B;SATMA;;;AAiBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOxoQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAiBC,CAjBhB;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;IACM2oQ;AAAN,QAAMA,QAAN,CAAe;;AAEfA,EAAAA,QAAQ,CAAClpQ,IAAT,GAAgB,SAASmpQ,gBAAT,CAA0BjpQ,CAA1B,EAA6B;AAAE,WAAO,KAAKA,CAAC,IAAIgpQ,QAAV,GAAP;AAA+B,GAA9E;;AACAA,EAAAA,QAAQ,CAACllO,IAAT,GAAgB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE21Q,QAAR;AAAkBhlO,IAAAA,SAAS,EAAE,CAAC,CAAC,WAAD,CAAD;AAA7B,GAAzB,CAA9B;SAHMglO;;;AAIN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO3oQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAKO,CALtB;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM6oQ;AAAN,QAAMA,cAAN,CAAqB;;AAErBA,EAAAA,cAAc,CAACppQ,IAAf,GAAsB,SAASqpQ,sBAAT,CAAgCnpQ,CAAhC,EAAmC;AAAE,WAAO,KAAKA,CAAC,IAAIkpQ,cAAV,GAAP;AAAqC,GAAhG;;AACAA,EAAAA,cAAc,CAACplO,IAAf,GAAsB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAE61Q,cAAR;AAAwBllO,IAAAA,SAAS,EAAE,CAAC,CAAC,iBAAD,CAAD;AAAnC,GAAzB,CAApC;SAHMklO;;;AAIN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO7oQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAKO,CALtB;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+oQ,UAAU,gBAAG,IAAIr2O,yDAAJ,CAAmB,WAAnB,CAAnB;AACA;;IACMs2O;AAAN,QAAMA,SAAN,CAAgB;;AAEhBA,EAAAA,SAAS,CAACvpQ,IAAV,GAAiB,SAASwpQ,iBAAT,CAA2BtpQ,CAA3B,EAA8B;AAAE,WAAO,KAAKA,CAAC,IAAIqpQ,SAAV,GAAP;AAAgC,GAAjF;;AACAA,EAAAA,SAAS,CAACvlO,IAAV,GAAiB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEg2Q,SAAR;AAAmBrlO,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,CAAD,CAA9B;AAAuDG,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC;AAAE83C,MAAAA,OAAO,EAAE04N,UAAX;AAAuBz4N,MAAAA,WAAW,EAAE04N;AAApC,KAAD,CAA1B,CAAD;AAAjE,GAAzB,CAA/B;SAHMA;;;AAIN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOhpQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMO,CANtB;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMkpQ,UAAU,gBAAG,IAAIx2O,yDAAJ,CAAmB,WAAnB,CAAnB;AACA;;IACMy2O;AAAN,QAAMA,SAAN,CAAgB;;AAEhBA,EAAAA,SAAS,CAAC1pQ,IAAV,GAAiB,SAAS2pQ,iBAAT,CAA2BzpQ,CAA3B,EAA8B;AAAE,WAAO,KAAKA,CAAC,IAAIwpQ,SAAV,GAAP;AAAgC,GAAjF;;AACAA,EAAAA,SAAS,CAAC1lO,IAAV,GAAiB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEm2Q,SAAR;AAAmBxlO,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,WAAL,EAAkB,EAAlB,CAAD,CAA9B;AAAuDG,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC;AAAE83C,MAAAA,OAAO,EAAE64N,UAAX;AAAuB54N,MAAAA,WAAW,EAAE64N;AAApC,KAAD,CAA1B,CAAD;AAAjE,GAAzB,CAA/B;SAHMA;;;AAIN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOnpQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMO,CANtB;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIm2D,YAAY,GAAG,CAAnB;AACA,MAAMkzM,kBAAkB,GAAG,IAA3B;AACA,MAAMC,iBAAiB,GAAG,CAA1B;AACA;AACA;AACA;AACA;;AACA,MAAMC,iBAAiB,gBAAGr3B,kEAAU,CAAC,MAAM;AACvCt9O,EAAAA,WAAW,CAAC8tC,WAAD,EAAc;AACrB,SAAKA,WAAL,GAAmBA,WAAnB;AACH;;AAHsC,CAAP,EAIjC,SAJiC,CAApC;AAKA;AACA;AACA;AACA;;;AACA,MAAM8mO,8BAA8B,gBAAG,IAAI92O,yDAAJ,CAAmB,gCAAnB,CAAvC;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMwvN,cAAc,gBAAG,IAAIxvN,yDAAJ,CAAmB,cAAnB,CAAvB;AACA;;IACMuvN;AAAN,QAAMA,YAAN,SAA2BsnB,iBAA3B,CAA6C;AACzC30Q,IAAAA,WAAW,CAACohE,UAAD,EAAauS,kBAAb;AACX;AACJ;AACA;AACA;AACI;AACAkhM,IAAAA,aANW,EAMI/5N,IANJ,EAMUg6N,SANV,EAMqB9rO,SANrB,EAMgCqC,OANhC,EAMyC6yM,cANzC,EAMyD;AAChE,YAAM98K,UAAN;AACA,WAAKuS,kBAAL,GAA0BA,kBAA1B;AACA,WAAK74B,IAAL,GAAYA,IAAZ;AACA,WAAKg6N,SAAL,GAAiBA,SAAjB;AACA,WAAK9rO,SAAL,GAAiBA,SAAjB;AACA,WAAKqC,OAAL,GAAeA,OAAf;AACA;AACR;AACA;AACA;;AACQ,WAAK0pO,uCAAL,GAA+C,KAA/C;AACA;;AACA,WAAKC,oCAAL,GAA4C,KAA5C;AACA,WAAKz0Q,UAAL,GAAkB,IAAI49B,yCAAJ,EAAlB;AACA;;AACA,WAAK82O,kBAAL,GAA0B,KAA1B;AACA;;AACA,WAAK1C,wBAAL,GAAgC,EAAhC;AACA,WAAK2C,UAAL,GAAkB,EAAlB,CAnBgE,CAoBhE;;AACA,WAAKxC,YAAL,GAAqB,YAAWnxM,YAAY,EAAG,EAA/C,CArBgE,CAsBhE;;AACA,WAAKgpL,QAAL,GAAiB,wBAAuBhpL,YAAY,EAAG,EAAvD;AACA,WAAK4zM,UAAL,GAAkB,KAAKC,0BAAL,EAAlB;AACA,WAAKC,kBAAL,GAA0Bn3B,cAAc,KAAK,gBAA7C,CAzBgE,CA0BhE;;AACA,WAAK+zB,UAAL,GAAmB6C,SAAS,IAAIA,SAAS,CAAC7C,UAAxB,GAAsC6C,SAAS,CAAC7C,UAAhD,GAA6D,QAA/E;AACA,WAAKqD,mBAAL,GAA4BR,SAAS,IAAIA,SAAS,CAAC3C,kBAAV,IAAgC,IAA9C,GACvB2C,SAAS,CAAC3C,kBADa,GACQ,KADnC;AAEH;AACD;;;AACc,QAAVF,UAAU,GAAG;AAAE,aAAO,KAAKsD,WAAZ;AAA0B;;AAC/B,QAAVtD,UAAU,CAACrrQ,KAAD,EAAQ;AAClB,YAAM0rB,QAAQ,GAAG,KAAKijP,WAAtB;AACA,WAAKA,WAAL,GAAmB3uQ,KAAK,IAAK,KAAKkuQ,SAAL,IAAkB,KAAKA,SAAL,CAAe7C,UAA3C,IAA0D,QAA7E;;AACA,UAAI,KAAKsD,WAAL,KAAqB,SAArB,IAAkCjjP,QAAQ,KAAK1rB,KAAnD,EAA0D;AACtD,aAAKouQ,oCAAL,GAA4C,IAA5C;AACH;AACJ;AACD;;;AACsB,QAAlB7C,kBAAkB,GAAG;AAAE,aAAO,KAAKmD,mBAAZ;AAAkC;;AACvC,QAAlBnD,kBAAkB,CAACvrQ,KAAD,EAAQ;AAC1B,WAAK0uQ,mBAAL,GAA2Bx1O,4EAAqB,CAACl5B,KAAD,CAAhD;AACH;AACD;;;AACAorQ,IAAAA,kBAAkB,GAAG;AACjB,aAAO,KAAKmD,UAAL,KAAoB,QAApB,IAAgC,CAAC,KAAKF,kBAA7C;AACH;AACD;;;AACAO,IAAAA,cAAc,GAAG;AAAE,aAAO,KAAKL,UAAL,KAAoB,OAA3B;AAAqC;AACxD;;;AACa,QAATxC,SAAS,GAAG;AAAE,aAAO,KAAKuC,UAAZ;AAAyB;;AAC9B,QAATvC,SAAS,CAAC/rQ,KAAD,EAAQ;AACjB,WAAKsuQ,UAAL,GAAkBtuQ,KAAlB;;AACA,WAAK6uQ,aAAL;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACkB,QAAVN,UAAU,GAAG;AACb,aAAO,KAAKlD,UAAL,KAAoB,QAApB,IAAgC,KAAKyD,WAAL,KAAqB,OAArD,GAA+D,MAA/D,GAAwE,KAAKA,WAApF;AACH;;AACa,QAAVP,UAAU,CAACvuQ,KAAD,EAAQ;AAClB,UAAIA,KAAK,KAAK,KAAK8uQ,WAAnB,EAAgC;AAC5B,aAAKA,WAAL,GAAmB9uQ,KAAK,IAAI,KAAKwuQ,0BAAL,EAA5B;;AACA,aAAKzhM,kBAAL,CAAwBwC,YAAxB;AACH;AACJ;;AACW,QAAR02J,QAAQ,GAAG;AACX;AACA;AACA,aAAO,KAAK8oC,yBAAL,IAAkC,KAAKC,iBAAvC,IAA4D,KAAKC,cAAxE;AACH;;AACW,QAARhpC,QAAQ,CAACjmO,KAAD,EAAQ;AAChB,WAAK+uQ,yBAAL,GAAiC/uQ,KAAjC;AACH;AACD;AACJ;AACA;;;AACI4jQ,IAAAA,UAAU,GAAG;AACT,aAAO,KAAK+E,iBAAL,KAA2B,KAAKhlB,QAAhC,GAA2C,IAAlD;AACH;AACD;AACJ;AACA;AACA;;;AACIwc,IAAAA,yBAAyB,GAAG;AACxB,aAAO,KAAK+O,uBAAL,IAAgC,KAAKhoO,WAA5C;AACH;;AACDO,IAAAA,kBAAkB,GAAG;AACjB,WAAK0nO,qBAAL;;AACA,YAAM17C,OAAO,GAAG,KAAKwS,QAArB;;AACA,UAAIxS,OAAO,CAACg0C,WAAZ,EAAyB;AACrB,aAAKvgO,WAAL,CAAiBI,aAAjB,CAA+B7a,SAA/B,CAAyC7e,GAAzC,CAA8C,uBAAsB6lN,OAAO,CAACg0C,WAAY,EAAxF;AACH,OALgB,CAMjB;;;AACAh0C,MAAAA,OAAO,CAACwnB,YAAR,CAAqBz7M,IAArB,CAA0BynC,yDAAS,CAAC,IAAD,CAAnC,EAA2C5oC,SAA3C,CAAqD,MAAM;AACvD,aAAK+wO,qBAAL;;AACA,aAAKC,mBAAL;;AACA,aAAKtiM,kBAAL,CAAwBwC,YAAxB;AACH,OAJD,EAPiB,CAYjB;;AACA,UAAIkkJ,OAAO,CAACioB,SAAR,IAAqBjoB,OAAO,CAACioB,SAAR,CAAkB7kB,YAA3C,EAAyD;AACrDpD,QAAAA,OAAO,CAACioB,SAAR,CAAkB7kB,YAAlB,CACKr3L,IADL,CACUvG,yDAAS,CAAC,KAAKt/B,UAAN,CADnB,EAEK0kC,SAFL,CAEe,MAAM,KAAK0uC,kBAAL,CAAwBwC,YAAxB,EAFrB;AAGH,OAjBgB,CAkBjB;AACA;AACA;;;AACA,WAAK9qC,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACjC,aAAKd,OAAL,CAAaoC,QAAb,CAAsBrH,IAAtB,CAA2BvG,yDAAS,CAAC,KAAKt/B,UAAN,CAApC,EAAuD0kC,SAAvD,CAAiE,MAAM;AACnE,cAAI,KAAK+vO,oCAAT,EAA+C;AAC3C,iBAAKjD,gBAAL;AACH;AACJ,SAJD;AAKH,OAND,EArBiB,CA4BjB;;;AACA9nN,MAAAA,2CAAK,CAAC,KAAKisN,eAAL,CAAqBlxO,OAAtB,EAA+B,KAAKmxO,eAAL,CAAqBnxO,OAApD,CAAL,CAAkEC,SAAlE,CAA4E,MAAM;AAC9E,aAAK+vO,oCAAL,GAA4C,IAA5C;;AACA,aAAKrhM,kBAAL,CAAwBwC,YAAxB;AACH,OAHD,EA7BiB,CAiCjB;;AACA,WAAKigM,aAAL,CAAmBpxO,OAAnB,CAA2BoB,IAA3B,CAAgCynC,yDAAS,CAAC,IAAD,CAAzC,EAAiD5oC,SAAjD,CAA2D,MAAM;AAC7D,aAAKwwO,aAAL;;AACA,aAAK9hM,kBAAL,CAAwBwC,YAAxB;AACH,OAHD,EAlCiB,CAsCjB;;;AACA,WAAKkgM,cAAL,CAAoBrxO,OAApB,CAA4BoB,IAA5B,CAAiCynC,yDAAS,CAAC,IAAD,CAA1C,EAAkD5oC,SAAlD,CAA4D,MAAM;AAC9D,aAAKgxO,mBAAL;;AACA,aAAKtiM,kBAAL,CAAwBwC,YAAxB;AACH,OAHD;;AAIA,UAAI,KAAKr7B,IAAT,EAAe;AACX,aAAKA,IAAL,CAAU/V,MAAV,CAAiBqB,IAAjB,CAAsBvG,yDAAS,CAAC,KAAKt/B,UAAN,CAA/B,EAAkD0kC,SAAlD,CAA4D,MAAM;AAC9D,cAAI,OAAO2vB,qBAAP,KAAiC,UAArC,EAAiD;AAC7C,iBAAKvpB,OAAL,CAAac,iBAAb,CAA+B,MAAM;AACjCyoB,cAAAA,qBAAqB,CAAC,MAAM,KAAKm9M,gBAAL,EAAP,CAArB;AACH,aAFD;AAGH,WAJD,MAKK;AACD,iBAAKA,gBAAL;AACH;AACJ,SATD;AAUH;AACJ;;AACD7lJ,IAAAA,qBAAqB,GAAG;AACpB,WAAK6pJ,qBAAL;;AACA,UAAI,KAAKhB,uCAAT,EAAkD;AAC9C,aAAKhD,gBAAL;AACH;AACJ;;AACD35N,IAAAA,eAAe,GAAG;AACd;AACA,WAAKm6N,wBAAL,GAAgC,OAAhC;;AACA,WAAK5+L,kBAAL,CAAwBpI,aAAxB;AACH;;AACDvoC,IAAAA,WAAW,GAAG;AACV,WAAKziC,UAAL,CAAgBkP,IAAhB;;AACA,WAAKlP,UAAL,CAAgBuyC,QAAhB;AACH;AACD;;;AACAwjO,IAAAA,cAAc,CAACnxQ,IAAD,EAAO;AACjB,YAAMm9O,SAAS,GAAG,KAAKzV,QAAL,GAAgB,KAAKA,QAAL,CAAcyV,SAA9B,GAA0C,IAA5D;AACA,aAAOA,SAAS,IAAIA,SAAS,CAACn9O,IAAD,CAA7B;AACH;;AACDoxQ,IAAAA,eAAe,GAAG;AACd,aAAO,CAAC,EAAE,KAAK1pC,QAAL,IAAiB,KAAKA,QAAL,CAAc3wJ,WAA/B,IAA8C,KAAKs6L,iBAArD,CAAR;AACH;;AACDtE,IAAAA,SAAS,GAAG;AACR,aAAO,CAAC,EAAE,KAAKuE,oBAAL,IAA6B,KAAKC,iBAApC,CAAR;AACH;;AACDtH,IAAAA,iBAAiB,GAAG;AAChB,aAAO,KAAKoG,cAAL,OACD,KAAK3oC,QAAL,IAAiB,KAAKA,QAAL,CAAc0hC,gBAAhC,IAAqD,KAAKyD,kBAAL,EADnD,CAAP;AAEH;;AACD2E,IAAAA,uBAAuB,GAAG;AACtB;AACA,aAAO,KAAK1E,UAAL,KAAoB,QAApB,IAAgC,CAAC,KAAKC,SAAL,EAAjC,IACH,KAAKA,SAAL,MAAoB,CAAC,KAAK9C,iBAAL,EADzB;AAEH;;AACDG,IAAAA,iBAAiB,GAAG;AAChB;AACA,aAAO,KAAK2C,SAAL,MAAoB,KAAKD,UAAL,KAAoB,QAApB,IAAgC,KAAKsE,eAAL,EAA3D;AACH;AACD;;;AACAK,IAAAA,qBAAqB,GAAG;AACpB,aAAQ,KAAKP,cAAL,IAAuB,KAAKA,cAAL,CAAoBl0Q,MAApB,GAA6B,CAApD,IACJ,KAAK0qO,QAAL,CAAciV,UADX,GACyB,OADzB,GACmC,MAD1C;AAEH;AACD;;;AACA+0B,IAAAA,oBAAoB,GAAG;AACnB,UAAI,KAAKtH,iBAAL,MAA4B,KAAKiG,cAAL,EAAhC,EAAuD;AACnD;AACA;AACA,YAAI,KAAKH,kBAAL,IAA2B,KAAKyB,MAApC,EAA4C;AACxC,eAAK7B,kBAAL,GAA0B,IAA1B;AACAxnM,UAAAA,+CAAS,CAAC,KAAKqpM,MAAL,CAAY5oO,aAAb,EAA4B,eAA5B,CAAT,CAAsD9H,IAAtD,CAA2D1G,oDAAI,CAAC,CAAD,CAA/D,EAAoEuF,SAApE,CAA8E,MAAM;AAChF,iBAAKgwO,kBAAL,GAA0B,KAA1B;AACH,WAFD;AAGH;;AACD,aAAKE,UAAL,GAAkB,QAAlB;;AACA,aAAKxhM,kBAAL,CAAwBwC,YAAxB;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACI6/L,IAAAA,qBAAqB,GAAG;AACpB,UAAI,KAAKnpC,QAAL,CAAc3wJ,WAAd,IAA6B,KAAKs6L,iBAAlC,KACC,OAAOprQ,SAAP,KAAqB,WAArB,IAAoCA,SADrC,CAAJ,EACqD;AACjD,cAAMkoQ,uCAAuC,EAA7C;AACH;AACJ;AACD;;;AACAmC,IAAAA,aAAa,GAAG;AACZ,WAAKsB,cAAL;;AACA,WAAKd,mBAAL;AACH;AACD;AACJ;AACA;AACA;;;AACIc,IAAAA,cAAc,GAAG;AACb,UAAI,KAAKX,aAAL,KAAuB,OAAOhrQ,SAAP,KAAqB,WAArB,IAAoCA,SAA3D,CAAJ,EAA2E;AACvE,YAAI4rQ,SAAJ;AACA,YAAIC,OAAJ;;AACA,aAAKb,aAAL,CAAmBv1Q,OAAnB,CAA4Bq2Q,IAAD,IAAU;AACjC,cAAIA,IAAI,CAAC1D,KAAL,KAAe,OAAnB,EAA4B;AACxB,gBAAIwD,SAAS,IAAI,KAAKrE,SAAtB,EAAiC;AAC7B,oBAAMY,kCAAkC,CAAC,OAAD,CAAxC;AACH;;AACDyD,YAAAA,SAAS,GAAGE,IAAZ;AACH,WALD,MAMK,IAAIA,IAAI,CAAC1D,KAAL,KAAe,KAAnB,EAA0B;AAC3B,gBAAIyD,OAAJ,EAAa;AACT,oBAAM1D,kCAAkC,CAAC,KAAD,CAAxC;AACH;;AACD0D,YAAAA,OAAO,GAAGC,IAAV;AACH;AACJ,SAbD;AAcH;AACJ;AACD;;;AACA9B,IAAAA,0BAA0B,GAAG;AACzB,aAAQ,KAAKN,SAAL,IAAkB,KAAKA,SAAL,CAAeK,UAAlC,IAAiD,MAAxD;AACH;AACD;AACJ;AACA;AACA;;;AACIc,IAAAA,mBAAmB,GAAG;AAClB,UAAI,KAAKppC,QAAT,EAAmB;AACf,YAAI9rM,GAAG,GAAG,EAAV,CADe,CAEf;;AACA,YAAI,KAAK8rM,QAAL,CAAcsqC,mBAAd,IACA,OAAO,KAAKtqC,QAAL,CAAcsqC,mBAArB,KAA6C,QADjD,EAC2D;AACvDp2O,UAAAA,GAAG,CAAC//B,IAAJ,CAAS,GAAG,KAAK6rO,QAAL,CAAcsqC,mBAAd,CAAkCxlQ,KAAlC,CAAwC,GAAxC,CAAZ;AACH;;AACD,YAAI,KAAKilQ,qBAAL,OAAiC,MAArC,EAA6C;AACzC,gBAAMI,SAAS,GAAG,KAAKZ,aAAL,GACd,KAAKA,aAAL,CAAmB5+P,IAAnB,CAAwB0/P,IAAI,IAAIA,IAAI,CAAC1D,KAAL,KAAe,OAA/C,CADc,GAC4C,IAD9D;AAEA,gBAAMyD,OAAO,GAAG,KAAKb,aAAL,GACZ,KAAKA,aAAL,CAAmB5+P,IAAnB,CAAwB0/P,IAAI,IAAIA,IAAI,CAAC1D,KAAL,KAAe,KAA/C,CADY,GAC4C,IAD5D;;AAEA,cAAIwD,SAAJ,EAAe;AACXj2O,YAAAA,GAAG,CAAC//B,IAAJ,CAASg2Q,SAAS,CAAC5vQ,EAAnB;AACH,WAFD,MAGK,IAAI,KAAK8tQ,UAAT,EAAqB;AACtBn0O,YAAAA,GAAG,CAAC//B,IAAJ,CAAS,KAAK0xQ,YAAd;AACH;;AACD,cAAIuE,OAAJ,EAAa;AACTl2O,YAAAA,GAAG,CAAC//B,IAAJ,CAASi2Q,OAAO,CAAC7vQ,EAAjB;AACH;AACJ,SAdD,MAeK,IAAI,KAAKivQ,cAAT,EAAyB;AAC1Bt1O,UAAAA,GAAG,CAAC//B,IAAJ,CAAS,GAAG,KAAKq1Q,cAAL,CAAoB5vQ,GAApB,CAAwBqoB,KAAK,IAAIA,KAAK,CAAC1nB,EAAvC,CAAZ;AACH;;AACD,aAAKylO,QAAL,CAAckiC,iBAAd,CAAgChuO,GAAhC;AACH;AACJ;AACD;;;AACAg1O,IAAAA,qBAAqB,GAAG;AACpB,UAAI,CAAC,KAAKlpC,QAAN,KAAmB,OAAOzhO,SAAP,KAAqB,WAArB,IAAoCA,SAAvD,CAAJ,EAAuE;AACnE,cAAMqoQ,kCAAkC,EAAxC;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACI1B,IAAAA,gBAAgB,GAAG;AACf,YAAMqF,OAAO,GAAG,KAAKN,MAAL,GAAc,KAAKA,MAAL,CAAY5oO,aAA1B,GAA0C,IAA1D;;AACA,UAAI,KAAK+jO,UAAL,KAAoB,SAApB,IAAiC,CAACmF,OAAlC,IAA6C,CAACA,OAAO,CAACjqO,QAAR,CAAiBhrC,MAA/D,IACA,CAACi1Q,OAAO,CAACx9O,WAAR,CAAoBzY,IAApB,EADL,EACiC;AAC7B;AACH;;AACD,UAAI,CAAC,KAAK6nB,SAAL,CAAeplC,SAApB,EAA+B;AAC3B;AACA;AACH,OATc,CAUf;AACA;;;AACA,UAAI,CAAC,KAAKyzQ,gBAAL,EAAL,EAA8B;AAC1B,aAAKtC,uCAAL,GAA+C,IAA/C;AACA;AACH;;AACD,UAAIuC,UAAU,GAAG,CAAjB;AACA,UAAIC,QAAQ,GAAG,CAAf;AACA,YAAMzmN,SAAS,GAAG,KAAKglN,uBAAL,CAA6B5nO,aAA/C;AACA,YAAMspO,QAAQ,GAAG1mN,SAAS,CAAC5nD,gBAAV,CAA2B,+BAA3B,CAAjB;AACA,YAAMuuQ,MAAM,GAAG3mN,SAAS,CAAC5nD,gBAAV,CAA2B,6BAA3B,CAAf;;AACA,UAAI,KAAK4tQ,MAAL,IAAe,KAAKA,MAAL,CAAY5oO,aAAZ,CAA0Bf,QAA1B,CAAmChrC,MAAtD,EAA8D;AAC1D,cAAM0kP,aAAa,GAAG/1L,SAAS,CAAC/C,qBAAV,EAAtB,CAD0D,CAE1D;AACA;AACA;AACA;AACA;AACA;;AACA,YAAI84L,aAAa,CAACl7L,KAAd,KAAwB,CAAxB,IAA6Bk7L,aAAa,CAACp7L,MAAd,KAAyB,CAA1D,EAA6D;AACzD,eAAKupN,oCAAL,GAA4C,IAA5C;AACA,eAAKD,uCAAL,GAA+C,KAA/C;AACA;AACH;;AACD,cAAM2C,cAAc,GAAG,KAAKC,YAAL,CAAkB9wB,aAAlB,CAAvB;;AACA,cAAM+wB,aAAa,GAAGR,OAAO,CAACjqO,QAA9B;;AACA,cAAM0qO,UAAU,GAAG,KAAKF,YAAL,CAAkBC,aAAa,CAAC,CAAD,CAAb,CAAiB7pN,qBAAjB,EAAlB,CAAnB;;AACA,YAAI+pN,UAAU,GAAG,CAAjB;;AACA,aAAK,IAAI3uQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyuQ,aAAa,CAACz1Q,MAAlC,EAA0CgH,CAAC,EAA3C,EAA+C;AAC3C2uQ,UAAAA,UAAU,IAAIF,aAAa,CAACzuQ,CAAD,CAAb,CAAiBkhC,WAA/B;AACH;;AACDitO,QAAAA,UAAU,GAAGv0Q,IAAI,CAACmZ,GAAL,CAAS27P,UAAU,GAAGH,cAAtB,IAAwChD,iBAArD;AACA6C,QAAAA,QAAQ,GAAGO,UAAU,GAAG,CAAb,GAAiBA,UAAU,GAAGrD,kBAAb,GAAkCC,iBAAiB,GAAG,CAAvE,GAA2E,CAAtF;AACH;;AACD,WAAK,IAAIvrQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGquQ,QAAQ,CAACr1Q,MAA7B,EAAqCgH,CAAC,EAAtC,EAA0C;AACtCquQ,QAAAA,QAAQ,CAACruQ,CAAD,CAAR,CAAYvK,KAAZ,CAAkB+sD,KAAlB,GAA2B,GAAE2rN,UAAW,IAAxC;AACH;;AACD,WAAK,IAAInuQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsuQ,MAAM,CAACt1Q,MAA3B,EAAmCgH,CAAC,EAApC,EAAwC;AACpCsuQ,QAAAA,MAAM,CAACtuQ,CAAD,CAAN,CAAUvK,KAAV,CAAgB+sD,KAAhB,GAAyB,GAAE4rN,QAAS,IAApC;AACH;;AACD,WAAKvC,oCAAL,GACI,KAAKD,uCAAL,GAA+C,KADnD;AAEH;AACD;;;AACA4C,IAAAA,YAAY,CAAC1/L,IAAD,EAAO;AACf,aAAQ,KAAKn9B,IAAL,IAAa,KAAKA,IAAL,CAAUl0C,KAAV,KAAoB,KAAlC,GAA2CqxE,IAAI,CAAChrB,KAAhD,GAAwDgrB,IAAI,CAACztB,IAApE;AACH;AACD;;;AACA6sN,IAAAA,gBAAgB,GAAG;AACf,YAAM9yQ,OAAO,GAAG,KAAKupC,WAAL,CAAiBI,aAAjC;;AACA,UAAI3pC,OAAO,CAACg2B,WAAZ,EAAyB;AACrB,cAAMD,QAAQ,GAAG/1B,OAAO,CAACg2B,WAAR,EAAjB,CADqB,CAErB;AACA;;AACA,eAAOD,QAAQ,IAAIA,QAAQ,KAAK/1B,OAAhC;AACH,OAPc,CAQf;AACA;;;AACA,aAAOT,QAAQ,CAACsE,eAAT,CAAyBD,QAAzB,CAAkC5D,OAAlC,CAAP;AACH;;AApXwC;;AAsX7C8oP,EAAAA,YAAY,CAACxiP,IAAb,GAAoB,SAASktQ,oBAAT,CAA8BhtQ,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAIsiP,YAAV,EAAwB1pP,+DAAA,CAAyBA,qDAAzB,CAAxB,EAAqEA,+DAAA,CAAyBA,4DAAzB,CAArE,EAAyHA,+DAAA,CAAyBi6B,qDAAzB,CAAzH,EAA+Jj6B,+DAAA,CAAyB88B,8DAAzB,EAAgD,CAAhD,CAA/J,EAAmN98B,+DAAA,CAAyBixQ,8BAAzB,EAAyD,CAAzD,CAAnN,EAAgRjxQ,+DAAA,CAAyB+8B,4DAAzB,CAAhR,EAA2T/8B,+DAAA,CAAyBA,iDAAzB,CAA3T,EAAoWA,+DAAA,CAAyBi6O,wFAAzB,EAAgD,CAAhD,CAApW,CAAP;AAAia,GAAxd;;AACAyP,EAAAA,YAAY,CAAC/2K,IAAb,GAAoB,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEivP,YAAR;AAAsBt+M,IAAAA,SAAS,EAAE,CAAC,CAAC,gBAAD,CAAD,CAAjC;AAAuD4tE,IAAAA,cAAc,EAAE,SAASq7J,2BAAT,CAAqC18N,EAArC,EAAyCxgC,GAAzC,EAA8CwtI,QAA9C,EAAwD;AAAE,UAAIhtG,EAAE,GAAG,CAAT,EAAY;AAChM33C,QAAAA,4DAAA,CAAsB2kJ,QAAtB,EAAgCilG,mBAAhC,EAAqD,CAArD;AACA5pP,QAAAA,4DAAA,CAAsB2kJ,QAAtB,EAAgCilG,mBAAhC,EAAqD,CAArD;AACA5pP,QAAAA,4DAAA,CAAsB2kJ,QAAtB,EAAgCyrH,QAAhC,EAA0C,CAA1C;AACApwQ,QAAAA,4DAAA,CAAsB2kJ,QAAtB,EAAgCyrH,QAAhC,EAA0C,CAA1C;AACApwQ,QAAAA,4DAAA,CAAsB2kJ,QAAtB,EAAgC2rH,cAAhC,EAAgD,CAAhD;AACAtwQ,QAAAA,4DAAA,CAAsB2kJ,QAAtB,EAAgCwqH,SAAhC,EAA2C,CAA3C;AACAnvQ,QAAAA,4DAAA,CAAsB2kJ,QAAtB,EAAgCqrH,SAAhC,EAA2C,CAA3C;AACAhwQ,QAAAA,4DAAA,CAAsB2kJ,QAAtB,EAAgC6rH,UAAhC,EAA4C,CAA5C;AACAxwQ,QAAAA,4DAAA,CAAsB2kJ,QAAtB,EAAgCgsH,UAAhC,EAA4C,CAA5C;AACH;;AAAC,UAAIh5N,EAAE,GAAG,CAAT,EAAY;AACV,YAAIq7B,EAAJ;;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAAC86P,iBAAJ,GAAwBj/L,EAAE,CAACG,KAAhF;AACAnzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAAC+6P,cAAJ,GAAqBl/L,EAAE,CAACG,KAA7E;AACAnzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAAC27P,oBAAJ,GAA2B9/L,EAAE,CAACG,KAAnF;AACAnzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAAC47P,iBAAJ,GAAwB//L,EAAE,CAACG,KAAhF;AACAnzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAAC07P,iBAAJ,GAAwB7/L,EAAE,CAACG,KAAhF;AACAnzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAACu7P,cAAJ,GAAqB1/L,EAA1E;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAACs7P,aAAJ,GAAoBz/L,EAAzE;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAACo7P,eAAJ,GAAsBv/L,EAA3E;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAACq7P,eAAJ,GAAsBx/L,EAA3E;AACH;AAAE,KArBoD;AAqBlDH,IAAAA,SAAS,EAAE,SAASyhM,kBAAT,CAA4B38N,EAA5B,EAAgCxgC,GAAhC,EAAqC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC/D33C,QAAAA,yDAAA,CAAmBsqE,GAAnB,EAAwB,CAAxB;AACAtqE,QAAAA,yDAAA,CAAmBuqE,GAAnB,EAAwB,CAAxB;AACAvqE,QAAAA,yDAAA,CAAmBk6O,GAAnB,EAAwB,CAAxB;AACAl6O,QAAAA,yDAAA,CAAmBivP,GAAnB,EAAwB,CAAxB;AACH;;AAAC,UAAIt3M,EAAE,GAAG,CAAT,EAAY;AACV,YAAIq7B,EAAJ;;AACAhzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAACo9P,YAAJ,GAAmBvhM,EAAE,CAACG,KAA3E;AACAnzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAACg7P,uBAAJ,GAA8Bn/L,EAAE,CAACG,KAAtF;AACAnzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAACq9P,kBAAJ,GAAyBxhM,EAAE,CAACG,KAAjF;AACAnzE,QAAAA,4DAAA,CAAsBgzE,EAAE,GAAGhzE,yDAAA,EAA3B,MAAqDmX,GAAG,CAACg8P,MAAJ,GAAangM,EAAE,CAACG,KAArE;AACH;AAAE,KAhCoD;AAgClDC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,gBAAJ,CAhCuC;AAgChB57B,IAAAA,QAAQ,EAAE,EAhCM;AAgCFC,IAAAA,YAAY,EAAE,SAASg9N,yBAAT,CAAmC98N,EAAnC,EAAuCxgC,GAAvC,EAA4C;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACzH33C,QAAAA,yDAAA,CAAmB,oCAAnB,EAAyDmX,GAAG,CAACm3P,UAAJ,IAAkB,UAA3E,EAAuF,gCAAvF,EAAyHn3P,GAAG,CAACm3P,UAAJ,IAAkB,MAA3I,EAAmJ,mCAAnJ,EAAwLn3P,GAAG,CAACm3P,UAAJ,IAAkB,SAA1M,EAAqN,kCAArN,EAAyPn3P,GAAG,CAACm3P,UAAJ,IAAkB,QAA3Q,EAAqR,wBAArR,EAA+Sn3P,GAAG,CAAC+xN,QAAJ,CAAaiV,UAA5T,EAAwU,0BAAxU,EAAoWhnO,GAAG,CAAC06P,cAAJ,EAApW,EAA0X,6BAA1X,EAAyZ16P,GAAG,CAACs0P,iBAAJ,EAAzZ,EAAkb,0BAAlb,EAA8ct0P,GAAG,CAACy0P,iBAAJ,EAA9c,EAAue,iCAAve,EAA0gBz0P,GAAG,CAAC67P,uBAAJ,EAA1gB,EAAyiB,yBAAziB,EAAokB77P,GAAG,CAAC+xN,QAAJ,CAAa5mO,QAAjlB,EAA2lB,2BAA3lB,EAAwnB6U,GAAG,CAAC+xN,QAAJ,CAAawrC,UAAroB,EAAipB,aAAjpB,EAAgqBv9P,GAAG,CAAC+xN,QAAJ,CAAauhC,OAA7qB,EAAsrB,cAAtrB,EAAssBtzP,GAAG,CAACw7P,cAAJ,CAAmB,WAAnB,CAAtsB,EAAuuB,YAAvuB,EAAqvBx7P,GAAG,CAACw7P,cAAJ,CAAmB,SAAnB,CAArvB,EAAoxB,aAApxB,EAAmyBx7P,GAAG,CAACw7P,cAAJ,CAAmB,UAAnB,CAAnyB,EAAm0B,UAAn0B,EAA+0Bx7P,GAAG,CAACw7P,cAAJ,CAAmB,OAAnB,CAA/0B,EAA42B,UAA52B,EAAw3Bx7P,GAAG,CAACw7P,cAAJ,CAAmB,OAAnB,CAAx3B,EAAq5B,YAAr5B,EAAm6Bx7P,GAAG,CAACw7P,cAAJ,CAAmB,SAAnB,CAAn6B,EAAk8B,YAAl8B,EAAg9Bx7P,GAAG,CAACw7P,cAAJ,CAAmB,SAAnB,CAAh9B,EAA++B,yBAA/+B,EAA0gC,CAACx7P,GAAG,CAACu6P,kBAA/gC;AACH;AAAE,KAlCoD;AAkClDrmO,IAAAA,MAAM,EAAE;AAAEuvM,MAAAA,KAAK,EAAE,OAAT;AAAkB42B,MAAAA,UAAU,EAAE,YAA9B;AAA4ClD,MAAAA,UAAU,EAAE,YAAxD;AAAsEE,MAAAA,kBAAkB,EAAE,oBAA1F;AAAgHQ,MAAAA,SAAS,EAAE;AAA3H,KAlC0C;AAkCgG1jO,IAAAA,QAAQ,EAAE,CAAC,cAAD,CAlC1G;AAkC4HC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAChN;AAAE83C,MAAAA,OAAO,EAAE6xM,cAAX;AAA2B5xM,MAAAA,WAAW,EAAE2xM;AAAxC,KADgN,CAA1B,CAAD,EAErL1pP,wEAFqL,CAlCtI;AAoCXuzE,IAAAA,kBAAkB,EAAE47K,GApCT;AAoCc37K,IAAAA,KAAK,EAAE,EApCrB;AAoCyBC,IAAAA,IAAI,EAAE,CApC/B;AAoCkCC,IAAAA,MAAM,EAAE,CAAC,CAAC,CAAD,EAAI,wBAAJ,CAAD,EAAgC,CAAC,CAAD,EAAI,qBAAJ,EAA2B,CAA3B,EAA8B,OAA9B,CAAhC,EAAwE,CAAC,qBAAD,EAAwB,EAAxB,CAAxE,EAAqG,CAAC,CAAD,EAAI,MAAJ,CAArG,EAAkH,CAAC,OAAD,EAAU,uBAAV,EAAmC,CAAnC,EAAsC,MAAtC,CAAlH,EAAiK,CAAC,CAAD,EAAI,sBAAJ,CAAjK,EAA8L,CAAC,gBAAD,EAAmB,EAAnB,CAA9L,EAAsN,CAAC,CAAD,EAAI,8BAAJ,CAAtN,EAA2P,CAAC,OAAD,EAAU,sBAAV,EAAkC,CAAlC,EAAqC,2BAArC,EAAkE,IAAlE,EAAwE,WAAxE,EAAqF,sBAArF,EAA6G,YAA7G,EAA2H,UAA3H,EAAuI,UAAvI,EAAmJ,mBAAnJ,EAAwK,CAAxK,EAA2K,MAA3K,CAA3P,EAA+a,CAAC,OAAD,EAAU,uBAAV,EAAmC,CAAnC,EAAsC,MAAtC,CAA/a,EAA8d,CAAC,OAAD,EAAU,0BAAV,EAAsC,CAAtC,EAAyC,MAAzC,CAA9d,EAAghB,CAAC,CAAD,EAAI,kCAAJ,EAAwC,CAAxC,EAA2C,UAA3C,CAAhhB,EAAwkB,CAAC,CAAD,EAAI,cAAJ,CAAxkB,EAA6lB,CAAC,OAAD,EAAU,6BAAV,EAAyC,CAAzC,EAA4C,cAA5C,CAA7lB,EAA0pB,CAAC,CAAD,EAAI,wBAAJ,CAA1pB,EAAyrB,CAAC,CAAD,EAAI,8BAAJ,CAAzrB,EAA8tB,CAAC,CAAD,EAAI,4BAAJ,CAA9tB,EAAiwB,CAAC,CAAD,EAAI,4BAAJ,CAAjwB,EAAoyB,CAAC,CAAD,EAAI,wBAAJ,EAA8B,8BAA9B,CAApyB,EAAm2B,CAAC,CAAD,EAAI,uBAAJ,CAAn2B,EAAi4B,CAAC,CAAD,EAAI,sBAAJ,EAA4B,CAA5B,EAA+B,2BAA/B,EAA4D,IAA5D,EAAkE,UAAlE,EAA8E,mBAA9E,CAAj4B,EAAq+B,CAAC,OAAD,EAAU,EAAV,CAAr+B,EAAo/B,CAAC,OAAD,EAAU,yDAAV,EAAqE,aAArE,EAAoF,MAApF,EAA4F,CAA5F,EAA+F,MAA/F,CAAp/B,EAA4lC,CAAC,aAAD,EAAgB,MAAhB,EAAwB,CAAxB,EAA2B,0BAA3B,EAAuD,gCAAvD,CAA5lC,EAAsrC,CAAC,CAAD,EAAI,uBAAJ,CAAtrC,EAAotC,CAAC,CAAD,EAAI,0BAAJ,CAAptC,EAAqvC,CAAC,WAAD,EAAc,EAAd,CAArvC,EAAwwC,CAAC,CAAD,EAAI,uBAAJ,CAAxwC,EAAsyC,CAAC,CAAD,EAAI,6BAAJ,CAAtyC,EAA00C,CAAC,OAAD,EAAU,UAAV,EAAsB,CAAtB,EAAyB,IAAzB,EAA+B,CAA/B,EAAkC,MAAlC,CAA10C,EAAq3C,CAAC,CAAD,EAAI,4BAAJ,CAAr3C,EAAw5C,CAAC,CAAD,EAAI,UAAJ,EAAgB,CAAhB,EAAmB,IAAnB,CAAx5C,CApC1C;AAoC69C1N,IAAAA,QAAQ,EAAE,SAAS2uM,qBAAT,CAA+Bh9N,EAA/B,EAAmCxgC,GAAnC,EAAwC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAChlD33C,QAAAA,6DAAA,CAAuBkvP,GAAvB;AACAlvP,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC,EAAmC,CAAnC;AACAA,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAAS40Q,0CAAT,CAAoD9/C,MAApD,EAA4D;AAAE,iBAAO39M,GAAG,CAAC+xN,QAAJ,CAAamiC,gBAAb,IAAiCl0P,GAAG,CAAC+xN,QAAJ,CAAamiC,gBAAb,CAA8Bv2C,MAA9B,CAAxC;AAAgF,SAAzK;AACA90N,QAAAA,wDAAA,CAAkB,CAAlB,EAAqB4tQ,oCAArB,EAA2D,CAA3D,EAA8D,CAA9D,EAAiE,cAAjE,EAAiF,CAAjF;AACA5tQ,QAAAA,wDAAA,CAAkB,CAAlB,EAAqB6tQ,2BAArB,EAAkD,CAAlD,EAAqD,CAArD,EAAwD,KAAxD,EAA+D,CAA/D;AACA7tQ,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,KAAzB,EAAgC,CAAhC,EAAmC,CAAnC;AACAA,QAAAA,0DAAA,CAAoB,CAApB;AACAA,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,CAAjC;AACAA,QAAAA,wDAAA,CAAkB,CAAlB,EAAqBiuQ,6BAArB,EAAoD,CAApD,EAAuD,EAAvD,EAA2D,OAA3D,EAAoE,CAApE;AACAjuQ,QAAAA,0DAAA;AACAA,QAAAA,0DAAA;AACAA,QAAAA,wDAAA,CAAkB,EAAlB,EAAsByuQ,4BAAtB,EAAoD,CAApD,EAAuD,CAAvD,EAA0D,KAA1D,EAAiE,CAAjE;AACAzuQ,QAAAA,0DAAA;AACAA,QAAAA,wDAAA,CAAkB,EAAlB,EAAsB0uQ,4BAAtB,EAAoD,CAApD,EAAuD,CAAvD,EAA0D,KAA1D,EAAiE,EAAjE;AACA1uQ,QAAAA,4DAAA,CAAsB,EAAtB,EAA0B,KAA1B,EAAiC,EAAjC;AACAA,QAAAA,wDAAA,CAAkB,EAAlB,EAAsB2uQ,4BAAtB,EAAoD,CAApD,EAAuD,CAAvD,EAA0D,KAA1D,EAAiE,EAAjE;AACA3uQ,QAAAA,wDAAA,CAAkB,EAAlB,EAAsBivQ,4BAAtB,EAAoD,CAApD,EAAuD,CAAvD,EAA0D,KAA1D,EAAiE,EAAjE;AACAjvQ,QAAAA,0DAAA;AACAA,QAAAA,0DAAA;AACH;;AAAC,UAAI23C,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,MAAlB,EAA0BmX,GAAG,CAACm3P,UAAJ,IAAkB,SAA5C;AACAtuQ,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,MAAlB,EAA0BmX,GAAG,CAACo7P,eAAJ,CAAoB/zQ,MAA9C;AACAwB,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,MAAlB,EAA0BmX,GAAG,CAACy0P,iBAAJ,EAA1B;AACA5rQ,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,MAAlB,EAA0BmX,GAAG,CAACq7P,eAAJ,CAAoBh0Q,MAA9C;AACAwB,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,MAAlB,EAA0BmX,GAAG,CAACm3P,UAAJ,IAAkB,SAA5C;AACAtuQ,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,UAAlB,EAA8BmX,GAAG,CAAC87P,qBAAJ,EAA9B;AACAjzQ,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,cAAlB,EAAkC,OAAlC;AACAA,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,cAAlB,EAAkC,MAAlC;AACH;AAAE,KA1EoD;AA0ElDy5G,IAAAA,UAAU,EAAE,CAACp0D,kDAAD,EAAcA,sDAAd,EAA+BA,0DAA/B,EAAoDC,sEAApD,CA1EsC;AA0EyCzqD,IAAAA,MAAM,EAAE,CAAC,wpGAAD,EAA2pG,glCAA3pG,EAA6uI,8gKAA7uI,EAA6vS,o4CAA7vS,EAAmoV,wsGAAnoV,EAA60b,6oCAA70b,CA1EjD;AA0E8ges5E,IAAAA,aAAa,EAAE,CA1E7he;AA0EgievxE,IAAAA,IAAI,EAAE;AAAEnH,MAAAA,SAAS,EAAE,CAAC+zQ,sBAAsB,CAACC,kBAAxB;AAAb,KA1Etie;AA0Ekmer7L,IAAAA,eAAe,EAAE;AA1Enne,GAAzB,CAAlC;SAvXMs1K;;;AA+dN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOjiP,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAoGC,CApGhB;AAsGA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMotQ;AAAN,QAAMA,kBAAN,CAAyB;;AAEzBA,EAAAA,kBAAkB,CAAC3tQ,IAAnB,GAA0B,SAAS4tQ,0BAAT,CAAoC1tQ,CAApC,EAAuC;AAAE,WAAO,KAAKA,CAAC,IAAIytQ,kBAAV,GAAP;AAAyC,GAA5G;;AACAA,EAAAA,kBAAkB,CAAC7+N,IAAnB,GAA0B,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEo6Q;AAAR,GAAxB,CAAxC;AACAA,EAAAA,kBAAkB,CAAC3+N,IAAnB,GAA0B,aAAcl2C,8DAAA,CAAwB;AAAEo2C,IAAAA,OAAO,EAAE,CAAC,CAChEmqD,0DADgE,EAEhEy5I,mEAFgE,EAGhEn9M,oEAHgE,CAAD,EAIhEm9M,mEAJgE;AAAX,GAAxB,CAAxC;SAJM66B;;;AASN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOptQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA4BO,CA5BtB;;AA6BA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0B60Q,kBAA1B,EAA8C;AAAEt+N,IAAAA,YAAY,EAAE,YAAY;AAAE,aAAO,CAAC64N,QAAD,EAAW1lB,YAAX,EAAyBumB,OAAzB,EAAkCG,QAAlC,EAA4CE,cAA5C,EAA4DG,SAA5D,EAAuEG,SAAvE,CAAP;AAA2F,KAAzH;AAA2Hx6N,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACmqD,0DAAD,EACjQy5I,mEADiQ,EAEjQn9M,oEAFiQ,CAAP;AAEvO,KAFqF;AAEnF2Z,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACwjM,mEAAD,EAAkBo1B,QAAlB,EAA4B1lB,YAA5B,EAA0CumB,OAA1C,EAAmDG,QAAnD,EAA6DE,cAA7D,EAA6EG,SAA7E,EAAwFG,SAAxF,CAAP;AAA4G;AAFhD,GAA9C,CAAnD;AAEuJ,CAFtK;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACriCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;IACMmE;AAAN,QAAMA,mBAAN,SAAkCr9L,wEAAlC,CAAsD;AAC5B,QAAlBs9L,kBAAkB,GAAG;AAAE,aAAO,KAAKh9L,OAAZ;AAAsB;;AAC3B,QAAlBg9L,kBAAkB,CAAC/xQ,KAAD,EAAQ;AAAE,WAAK+0E,OAAL,GAAe/0E,KAAf;AAAuB;;AACjC,QAAlBgyQ,kBAAkB,GAAG;AAAE,aAAO,KAAK98L,OAAZ;AAAsB;;AAC3B,QAAlB88L,kBAAkB,CAAChyQ,KAAD,EAAQ;AAAE,WAAKk1E,OAAL,GAAel1E,KAAf;AAAuB;;AACxC,QAAXiyQ,WAAW,GAAG;AAAE,aAAO,KAAKlzO,OAAZ;AAAsB;;AAC3B,QAAXkzO,WAAW,CAACjyQ,KAAD,EAAQ;AAAE,WAAK++B,OAAL,GAAe/+B,KAAf;AAAuB;;AACzB,QAAnBkyQ,mBAAmB,GAAG;AAAE,aAAO,KAAKnzO,OAAZ;AAAsB;;AAC3B,QAAnBmzO,mBAAmB,CAAClyQ,KAAD,EAAQ;AAAE,WAAK++B,OAAL,GAAe/+B,KAAf;AAAuB;;AARN;;AAUtD8xQ,EAAAA,mBAAmB,CAAC7tQ,IAApB,GAA2B,aAAc,YAAY;AAAE,QAAIkuQ,gCAAJ;AAAsC,WAAO,SAASC,2BAAT,CAAqCjuQ,CAArC,EAAwC;AAAE,aAAO,CAACguQ,gCAAgC,KAAKA,gCAAgC,GAAGp1Q,mEAAA,CAA6B+0Q,mBAA7B,CAAxC,CAAjC,EAA6H3tQ,CAAC,IAAI2tQ,mBAAlI,CAAP;AAAgK,KAAjN;AAAoN,GAAxQ,EAAzC;;AACAA,EAAAA,mBAAmB,CAAC7pO,IAApB,GAA2B,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEs6Q,mBAAR;AAA6B3pO,IAAAA,SAAS,EAAE,CAAC,CAAC,UAAD,EAAa,cAAb,EAA6B,EAA7B,CAAD,EAAmC,CAAC,UAAD,EAAa,qBAAb,EAAoC,EAApC,CAAnC,CAAxC;AAAqHgoC,IAAAA,SAAS,EAAE,CAAC,MAAD,EAAS,GAAT,EAAc,CAAd,EAAiB,uBAAjB,EAA0C,cAA1C,CAAhI;AAA2L/nC,IAAAA,MAAM,EAAE;AAAEiqO,MAAAA,kBAAkB,EAAE,oBAAtB;AAA4CC,MAAAA,kBAAkB,EAAE,oBAAhE;AAAsFP,MAAAA,kBAAkB,EAAE,oBAA1G;AAAgIC,MAAAA,kBAAkB,EAAE,oBAApJ;AAA0KC,MAAAA,WAAW,EAAE,CAAC,cAAD,EAAiB,aAAjB,CAAvL;AAAwNC,MAAAA,mBAAmB,EAAE;AAA7O,KAAnM;AAAyc7pO,IAAAA,QAAQ,EAAE,CAAC,qBAAD,CAAnd;AAA4eC,IAAAA,QAAQ,EAAE,CAACvrC,wEAAD;AAAtf,GAAzB,CAAzC;SAXM+0Q;;;AAkBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOttQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAsBC,CAtBhB;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAAS+tQ,+BAAT,CAAyC/6Q,IAAzC,EAA+C;AAC3C,SAAOqH,KAAK,CAAE,eAAcrH,IAAK,gCAArB,CAAZ;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMovP,wBAAwB,gBAAG,IAAI1vN,yDAAJ,CAAmB,0BAAnB,CAAjC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMs7O,uBAAuB,GAAG,CAC5B,QAD4B,EAE5B,UAF4B,EAG5B,MAH4B,EAI5B,QAJ4B,EAK5B,OAL4B,EAM5B,OAN4B,EAO5B,OAP4B,EAQ5B,OAR4B,EAS5B,QAT4B,CAAhC;AAWA,IAAI73M,YAAY,GAAG,CAAnB,EACA;;AACA;;AACA,MAAM83M,aAAa,gBAAGz3B,uEAAe,CAAC,MAAM;AACxC5hP,EAAAA,WAAW,CAACqiP,yBAAD,EAA4BH,WAA5B,EAAyCD,gBAAzC;AACX;AACAK,EAAAA,SAFW,EAEA;AACP,SAAKD,yBAAL,GAAiCA,yBAAjC;AACA,SAAKH,WAAL,GAAmBA,WAAnB;AACA,SAAKD,gBAAL,GAAwBA,gBAAxB;AACA,SAAKK,SAAL,GAAiBA,SAAjB;AACH;;AARuC,CAAP,CAArC;AAUA;;;IACMg3B;AAAN,QAAMA,QAAN,SAAuBD,aAAvB,CAAqC;AACjCr5Q,IAAAA,WAAW,CAAC8tC,WAAD,EAAc9E,SAAd,EAAyBs5M,SAAzB,EAAoCJ,WAApC,EAAiDD,gBAAjD,EAAmEI,yBAAnE,EAA8Fk3B,kBAA9F,EAAkHr+L,gBAAlH,EAAoIhpC,MAApI,EACX;AACA;AACA63N,IAAAA,UAHW,EAGC;AACR,YAAM1nB,yBAAN,EAAiCH,WAAjC,EAA8CD,gBAA9C,EAAgEK,SAAhE;AACA,WAAKx0M,WAAL,GAAmBA,WAAnB;AACA,WAAK9E,SAAL,GAAiBA,SAAjB;AACA,WAAKkyC,gBAAL,GAAwBA,gBAAxB;AACA,WAAK6uL,UAAL,GAAkBA,UAAlB;AACA,WAAKyP,IAAL,GAAa,aAAYj4M,YAAY,EAAG,EAAxC;AACA;AACR;AACA;AACA;;AACQ,WAAK6sM,OAAL,GAAe,KAAf;AACA;AACR;AACA;AACA;;AACQ,WAAKvsB,YAAL,GAAoB,IAAI1jN,yCAAJ,EAApB;AACA;AACR;AACA;AACA;;AACQ,WAAKkwO,WAAL,GAAmB,WAAnB;AACA;AACR;AACA;AACA;;AACQ,WAAKgK,UAAL,GAAkB,KAAlB;AACA,WAAKjwN,SAAL,GAAiB,KAAjB;AACA,WAAK2rL,SAAL,GAAiB,KAAjB;AACA,WAAKx4D,KAAL,GAAa,MAAb;AACA,WAAKk+F,SAAL,GAAiB,KAAjB;AACA,WAAKC,qBAAL,GAA6B,CACzB,MADyB,EAEzB,UAFyB,EAGzB,gBAHyB,EAIzB,OAJyB,EAKzB,MALyB,EAMzB,MANyB,EAO3B5/P,MAP2B,CAOpB/O,CAAC,IAAIq8D,6EAAsB,GAAG30D,GAAzB,CAA6B1H,CAA7B,CAPe,CAA7B;AAQA,YAAMxG,OAAO,GAAG,KAAKupC,WAAL,CAAiBI,aAAjC;AACA,YAAMxE,QAAQ,GAAGnlC,OAAO,CAACmlC,QAAR,CAAiB55B,WAAjB,EAAjB,CAxCQ,CAyCR;AACA;;AACA,WAAK6pQ,mBAAL,GAA2BJ,kBAAkB,IAAIh1Q,OAAjD;AACA,WAAKq1Q,oBAAL,GAA4B,KAAKhzQ,KAAjC,CA5CQ,CA6CR;;AACA,WAAKQ,EAAL,GAAU,KAAKA,EAAf,CA9CQ,CA+CR;AACA;AACA;;AACA,UAAI4hC,SAAS,CAACa,GAAd,EAAmB;AACfqI,QAAAA,MAAM,CAAC/F,iBAAP,CAAyB,MAAM;AAC3B2B,UAAAA,WAAW,CAACI,aAAZ,CAA0BpW,gBAA1B,CAA2C,OAA3C,EAAqDjyB,KAAD,IAAW;AAC3D,kBAAMg7B,EAAE,GAAGh7B,KAAK,CAACsX,MAAjB,CAD2D,CAE3D;AACA;AACA;AACA;AACA;AACA;;AACA,gBAAI,CAAC0jB,EAAE,CAACj6B,KAAJ,IAAai6B,EAAE,CAAC08C,cAAH,KAAsB,CAAnC,IAAwC18C,EAAE,CAAC28C,YAAH,KAAoB,CAAhE,EAAmE;AAC/D;AACA;AACA;AACA;AACA38C,cAAAA,EAAE,CAAC68C,iBAAH,CAAqB,CAArB,EAAwB,CAAxB;AACA78C,cAAAA,EAAE,CAAC68C,iBAAH,CAAqB,CAArB,EAAwB,CAAxB;AACH;AACJ,WAhBD;AAiBH,SAlBD;AAmBH;;AACD,WAAKm8L,SAAL,GAAiB,CAAC,KAAK7wO,SAAL,CAAeplC,SAAjC;AACA,WAAKk2Q,eAAL,GAAuBpwO,QAAQ,KAAK,QAApC;AACA,WAAKqwO,WAAL,GAAmBrwO,QAAQ,KAAK,UAAhC;AACA,WAAKswO,cAAL,GAAsB,CAAC,CAACjQ,UAAxB;;AACA,UAAI,KAAK+P,eAAT,EAA0B;AACtB,aAAKzL,WAAL,GAAmB9pQ,OAAO,CAACknP,QAAR,GAAmB,4BAAnB,GACf,mBADJ;AAEH;AACJ;AACD;AACJ;AACA;AACA;;;AACgB,QAARxlP,QAAQ,GAAG;AACX,UAAI,KAAKq8O,SAAL,IAAkB,KAAKA,SAAL,CAAer8O,QAAf,KAA4B,IAAlD,EAAwD;AACpD,eAAO,KAAKq8O,SAAL,CAAer8O,QAAtB;AACH;;AACD,aAAO,KAAKmiD,SAAZ;AACH;;AACW,QAARniD,QAAQ,CAACW,KAAD,EAAQ;AAChB,WAAKwhD,SAAL,GAAiBtoB,4EAAqB,CAACl5B,KAAD,CAAtC,CADgB,CAEhB;AACA;;AACA,UAAI,KAAKwnQ,OAAT,EAAkB;AACd,aAAKA,OAAL,GAAe,KAAf;AACA,aAAKvsB,YAAL,CAAkBpyO,IAAlB;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACU,QAAFrI,EAAE,GAAG;AAAE,aAAO,KAAK6yQ,GAAZ;AAAkB;;AACvB,QAAF7yQ,EAAE,CAACR,KAAD,EAAQ;AAAE,WAAKqzQ,GAAL,GAAWrzQ,KAAK,IAAI,KAAK4yQ,IAAzB;AAAgC;AAChD;AACJ;AACA;AACA;;;AACgB,QAARp/C,QAAQ,GAAG;AAAE,aAAO,KAAK2Z,SAAZ;AAAwB;;AAC7B,QAAR3Z,QAAQ,CAACxzN,KAAD,EAAQ;AAAE,WAAKmtO,SAAL,GAAiBj0M,4EAAqB,CAACl5B,KAAD,CAAtC;AAAgD;AACtE;;;AACQ,QAAJxI,IAAI,GAAG;AAAE,aAAO,KAAKm9K,KAAZ;AAAoB;;AACzB,QAAJn9K,IAAI,CAACwI,KAAD,EAAQ;AACZ,WAAK20K,KAAL,GAAa30K,KAAK,IAAI,MAAtB;;AACA,WAAKszQ,aAAL,GAFY,CAGZ;AACA;AACA;;;AACA,UAAI,CAAC,KAAKH,WAAN,IAAqB3yM,6EAAsB,GAAG30D,GAAzB,CAA6B,KAAK8oK,KAAlC,CAAzB,EAAmE;AAC/D,aAAKztI,WAAL,CAAiBI,aAAjB,CAA+B9vC,IAA/B,GAAsC,KAAKm9K,KAA3C;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACa,QAAL30K,KAAK,GAAG;AAAE,aAAO,KAAK+yQ,mBAAL,CAAyB/yQ,KAAhC;AAAwC;;AAC7C,QAALA,KAAK,CAACA,KAAD,EAAQ;AACb,UAAIA,KAAK,KAAK,KAAKA,KAAnB,EAA0B;AACtB,aAAK+yQ,mBAAL,CAAyB/yQ,KAAzB,GAAiCA,KAAjC;AACA,aAAKi7O,YAAL,CAAkBpyO,IAAlB;AACH;AACJ;AACD;;;AACY,QAAR0qQ,QAAQ,GAAG;AAAE,aAAO,KAAKV,SAAZ;AAAwB;;AAC7B,QAARU,QAAQ,CAACvzQ,KAAD,EAAQ;AAAE,WAAK6yQ,SAAL,GAAiB35O,4EAAqB,CAACl5B,KAAD,CAAtC;AAAgD;;AACtEwxC,IAAAA,eAAe,GAAG;AACd,UAAI,KAAKpP,SAAL,CAAeplC,SAAnB,EAA8B;AAC1B,aAAKs3E,gBAAL,CAAsBplC,OAAtB,CAA8B,KAAKhI,WAAL,CAAiBI,aAA/C,EAA8DjJ,SAA9D,CAAwEp/B,KAAK,IAAI;AAC7E,eAAKwyQ,UAAL,GAAkBxyQ,KAAK,CAACi1E,YAAxB;AACA,eAAK+mK,YAAL,CAAkBpyO,IAAlB;AACH,SAHD;AAIH;AACJ;;AACD++B,IAAAA,WAAW,GAAG;AACV,WAAKqzM,YAAL,CAAkBpyO,IAAlB;AACH;;AACDuzB,IAAAA,WAAW,GAAG;AACV,WAAK6+M,YAAL,CAAkB/uM,QAAlB;;AACA,UAAI,KAAK9J,SAAL,CAAeplC,SAAnB,EAA8B;AAC1B,aAAKs3E,gBAAL,CAAsB7kC,cAAtB,CAAqC,KAAKvI,WAAL,CAAiBI,aAAtD;AACH;AACJ;;AACDK,IAAAA,SAAS,GAAG;AACR,UAAI,KAAK+zM,SAAT,EAAoB;AAChB;AACA;AACA;AACA,aAAKP,gBAAL;AACH,OANO,CAOR;AACA;AACA;;;AACA,WAAKq4B,sBAAL,GAVQ,CAWR;AACA;;;AACA,WAAKC,sBAAL;AACH;AACD;;;AACAzxO,IAAAA,KAAK,CAACvqC,OAAD,EAAU;AACX,WAAKyvC,WAAL,CAAiBI,aAAjB,CAA+BtF,KAA/B,CAAqCvqC,OAArC;AACH,KAhLgC,CAiLjC;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACAi8Q,IAAAA,aAAa,CAACC,SAAD,EAAY;AACrB,UAAIA,SAAS,KAAK,KAAKnM,OAAvB,EAAgC;AAC5B,aAAKA,OAAL,GAAemM,SAAf;AACA,aAAK14B,YAAL,CAAkBpyO,IAAlB;AACH;AACJ,KA7LgC,CA8LjC;AACA;AACA;AACA;AACA;;;AACA85P,IAAAA,QAAQ,GAAG,CACP;AACA;AACA;AACA;AACA;AACA;AACA;AACH;AACD;;;AACA8Q,IAAAA,sBAAsB,GAAG;AACrB,UAAIhgP,EAAJ,EAAQkY,EAAR,CADqB,CAErB;AACA;AACA;AACA;;;AACA,YAAM2pC,WAAW,GAAG,CAAC,CAAC3pC,EAAE,GAAG,CAAClY,EAAE,GAAG,KAAK0vO,UAAX,MAA2B,IAA3B,IAAmC1vO,EAAE,KAAK,KAAK,CAA/C,GAAmD,KAAK,CAAxD,GAA4DA,EAAE,CAACs8O,uBAArE,MAAkG,IAAlG,IAA0GpkO,EAAE,KAAK,KAAK,CAAtH,GAA0H,KAAK,CAA/H,GAAmIA,EAAE,CAACruC,IAAH,CAAQm2B,EAAR,CAApI,IAAmJ,IAAnJ,GAA0J,KAAK6hD,WAAnL;;AACA,UAAIA,WAAW,KAAK,KAAKs+L,oBAAzB,EAA+C;AAC3C,cAAMj2Q,OAAO,GAAG,KAAKupC,WAAL,CAAiBI,aAAjC;AACA,aAAKssO,oBAAL,GAA4Bt+L,WAA5B;AACAA,QAAAA,WAAW,GACP33E,OAAO,CAAC4J,YAAR,CAAqB,aAArB,EAAoC+tE,WAApC,CADO,GAC4C33E,OAAO,CAAC68B,eAAR,CAAwB,aAAxB,CADvD;AAEH;AACJ;AACD;;;AACAg5O,IAAAA,sBAAsB,GAAG;AACrB,YAAM1iP,QAAQ,GAAG,KAAKoW,WAAL,CAAiBI,aAAjB,CAA+BtnC,KAAhD;;AACA,UAAI,KAAKgzQ,oBAAL,KAA8BliP,QAAlC,EAA4C;AACxC,aAAKkiP,oBAAL,GAA4BliP,QAA5B;AACA,aAAKmqN,YAAL,CAAkBpyO,IAAlB;AACH;AACJ;AACD;;;AACAyqQ,IAAAA,aAAa,GAAG;AACZ,UAAId,uBAAuB,CAACjyQ,OAAxB,CAAgC,KAAKo0K,KAArC,IAA8C,CAAC,CAA/C,KACC,OAAOnwK,SAAP,KAAqB,WAArB,IAAoCA,SADrC,CAAJ,EACqD;AACjD,cAAM+tQ,+BAA+B,CAAC,KAAK59F,KAAN,CAArC;AACH;AACJ;AACD;;;AACAk/F,IAAAA,aAAa,GAAG;AACZ,aAAO,KAAKf,qBAAL,CAA2BvyQ,OAA3B,CAAmC,KAAKo0K,KAAxC,IAAiD,CAAC,CAAzD;AACH;AACD;;;AACAm/F,IAAAA,WAAW,GAAG;AACV;AACA,UAAIC,QAAQ,GAAG,KAAK7sO,WAAL,CAAiBI,aAAjB,CAA+BysO,QAA9C;AACA,aAAOA,QAAQ,IAAIA,QAAQ,CAACC,QAA5B;AACH;AACD;AACJ;AACA;AACA;;;AACa,QAALpM,KAAK,GAAG;AACR,aAAO,CAAC,KAAKiM,aAAL,EAAD,IAAyB,CAAC,KAAK3sO,WAAL,CAAiBI,aAAjB,CAA+BtnC,KAAzD,IAAkE,CAAC,KAAK8zQ,WAAL,EAAnE,IACH,CAAC,KAAKrC,UADV;AAEH;AACD;AACJ;AACA;AACA;;;AACwB,QAAhB9J,gBAAgB,GAAG;AACnB,UAAI,KAAKuL,eAAT,EAA0B;AACtB;AACA;AACA;AACA,cAAMe,aAAa,GAAG,KAAK/sO,WAAL,CAAiBI,aAAvC;AACA,cAAM4sO,WAAW,GAAGD,aAAa,CAACx8Q,OAAd,CAAsB,CAAtB,CAApB,CALsB,CAMtB;AACA;;AACA,eAAO,KAAK+vQ,OAAL,IAAgByM,aAAa,CAACpvB,QAA9B,IAA0C,CAAC,KAAK+iB,KAAhD,IACH,CAAC,EAAEqM,aAAa,CAAC5wJ,aAAd,GAA8B,CAAC,CAA/B,IAAoC6wJ,WAApC,IAAmDA,WAAW,CAAC/6B,KAAjE,CADL;AAEH,OAVD,MAWK;AACD,eAAO,KAAKquB,OAAL,IAAgB,CAAC,KAAKI,KAA7B;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACIO,IAAAA,iBAAiB,CAAChuO,GAAD,EAAM;AACnB,UAAIA,GAAG,CAAC5+B,MAAR,EAAgB;AACZ,aAAK2rC,WAAL,CAAiBI,aAAjB,CAA+B//B,YAA/B,CAA4C,kBAA5C,EAAgE4yB,GAAG,CAACr7B,IAAJ,CAAS,GAAT,CAAhE;AACH,OAFD,MAGK;AACD,aAAKooC,WAAL,CAAiBI,aAAjB,CAA+B9M,eAA/B,CAA+C,kBAA/C;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACI4tO,IAAAA,gBAAgB,GAAG;AACf;AACA;AACA;AACA,UAAI,CAAC,KAAKZ,OAAV,EAAmB;AACf,aAAKxlO,KAAL;AACH;AACJ;AACD;;;AACAmyO,IAAAA,eAAe,GAAG;AACd,YAAMx2Q,OAAO,GAAG,KAAKupC,WAAL,CAAiBI,aAAjC;AACA,aAAO,KAAK4rO,eAAL,KAAyBv1Q,OAAO,CAACknP,QAAR,IAAoBlnP,OAAO,CAACkQ,IAAR,GAAe,CAA5D,CAAP;AACH;;AA5SgC;;AA8SrC6kQ,EAAAA,QAAQ,CAACzuQ,IAAT,GAAgB,SAASmwQ,gBAAT,CAA0BjwQ,CAA1B,EAA6B;AAAE,WAAO,KAAKA,CAAC,IAAIuuQ,QAAV,EAAoB31Q,+DAAA,CAAyBA,qDAAzB,CAApB,EAAiEA,+DAAA,CAAyB88B,2DAAzB,CAAjE,EAA4G98B,+DAAA,CAAyB+8B,qDAAzB,EAA2C,EAA3C,CAA5G,EAA4J/8B,+DAAA,CAAyB+8B,kDAAzB,EAAwC,CAAxC,CAA5J,EAAwM/8B,+DAAA,CAAyB+8B,8DAAzB,EAAoD,CAApD,CAAxM,EAAgQ/8B,+DAAA,CAAyBqlD,qEAAzB,CAAhQ,EAAoTrlD,+DAAA,CAAyB6pP,wBAAzB,EAAmD,EAAnD,CAApT,EAA4W7pP,+DAAA,CAAyBslD,oEAAzB,CAA5W,EAA8ZtlD,+DAAA,CAAyBA,iDAAzB,CAA9Z,EAAucA,+DAAA,CAAyB2pP,wEAAzB,EAAyC,CAAzC,CAAvc,CAAP;AAA6f,GAA5iB;;AACAgsB,EAAAA,QAAQ,CAACzqO,IAAT,GAAgB,aAAclrC,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEk7Q,QAAR;AAAkBvqO,IAAAA,SAAS,EAAE,CAAC,CAAC,OAAD,EAAU,UAAV,EAAsB,EAAtB,CAAD,EAA4B,CAAC,UAAD,EAAa,UAAb,EAAyB,EAAzB,CAA5B,EAA0D,CAAC,QAAD,EAAW,kBAAX,EAA+B,EAA/B,CAA1D,EAA8F,CAAC,OAAD,EAAU,kBAAV,EAA8B,EAA9B,CAA9F,EAAiI,CAAC,UAAD,EAAa,kBAAb,EAAiC,EAAjC,CAAjI,CAA7B;AAAqMgoC,IAAAA,SAAS,EAAE,CAAC,CAAD,EAAI,mBAAJ,EAAyB,iCAAzB,CAAhN;AAA6Q57B,IAAAA,QAAQ,EAAE,EAAvR;AAA2RC,IAAAA,YAAY,EAAE,SAAS6/N,qBAAT,CAA+B3/N,EAA/B,EAAmCxgC,GAAnC,EAAwC;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AAC9Y33C,QAAAA,wDAAA,CAAkB,OAAlB,EAA2B,SAASu3Q,iCAAT,GAA6C;AAAE,iBAAOpgQ,GAAG,CAACw/P,aAAJ,CAAkB,IAAlB,CAAP;AAAiC,SAA3G,EAA6G,MAA7G,EAAqH,SAASa,gCAAT,GAA4C;AAAE,iBAAOrgQ,GAAG,CAACw/P,aAAJ,CAAkB,KAAlB,CAAP;AAAkC,SAArM,EAAuM,OAAvM,EAAgN,SAASc,iCAAT,GAA6C;AAAE,iBAAOtgQ,GAAG,CAACyuP,QAAJ,EAAP;AAAwB,SAAvR;AACH;;AAAC,UAAIjuN,EAAE,GAAG,CAAT,EAAY;AACV33C,QAAAA,4DAAA,CAAsB,UAAtB,EAAkCmX,GAAG,CAAC7U,QAAtC,EAAgD,UAAhD,EAA4D6U,GAAG,CAACs/M,QAAhE;AACAz2N,QAAAA,yDAAA,CAAmB,IAAnB,EAAyBmX,GAAG,CAAC1T,EAA7B,EAAiC,kBAAjC,EAAqD0T,GAAG,CAACohE,WAAzD,EAAsE,UAAtE,EAAkFphE,GAAG,CAACq/P,QAAJ,IAAgB,CAACr/P,GAAG,CAACg/P,eAArB,IAAwC,IAA1H,EAAgI,cAAhI,EAAgJh/P,GAAG,CAAC0zP,KAAJ,IAAa1zP,GAAG,CAACs/M,QAAjB,GAA4B,IAA5B,GAAmCt/M,GAAG,CAACgnO,UAAvL,EAAmM,eAAnM,EAAoNhnO,GAAG,CAACs/M,QAAxN;AACAz2N,QAAAA,yDAAA,CAAmB,kBAAnB,EAAuCmX,GAAG,CAAC++P,SAA3C,EAAsD,0BAAtD,EAAkF/+P,GAAG,CAACigQ,eAAJ,EAAlF;AACH;AAAE,KANgD;AAM9C/rO,IAAAA,MAAM,EAAE;AAAE5nC,MAAAA,EAAE,EAAE,IAAN;AAAYnB,MAAAA,QAAQ,EAAE,UAAtB;AAAkCm0N,MAAAA,QAAQ,EAAE,UAA5C;AAAwDh8N,MAAAA,IAAI,EAAE,MAA9D;AAAsEwI,MAAAA,KAAK,EAAE,OAA7E;AAAsFuzQ,MAAAA,QAAQ,EAAE,UAAhG;AAA4Gj+L,MAAAA,WAAW,EAAE,aAAzH;AAAwIkmK,MAAAA,iBAAiB,EAAE,mBAA3J;AAAgL+0B,MAAAA,mBAAmB,EAAE,CAAC,kBAAD,EAAqB,qBAArB;AAArM,KANsC;AAM8MloO,IAAAA,QAAQ,EAAE,CAAC,UAAD,CANxN;AAMsOC,IAAAA,QAAQ,EAAE,CAACvrC,gEAAA,CAA0B,CAAC;AAAE83C,MAAAA,OAAO,EAAE8xM,6EAAX;AAAgC7xM,MAAAA,WAAW,EAAE49N;AAA7C,KAAD,CAA1B,CAAD,EAAuF31Q,wEAAvF,EAA0HA,kEAA1H;AANhP,GAAzB,CAA9B;SA/SM21Q;;;AA+UN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOluQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AA4FC,CA5FhB;AA8FA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMiwQ;AAAN,QAAMA,cAAN,CAAqB;;AAErBA,EAAAA,cAAc,CAACxwQ,IAAf,GAAsB,SAASywQ,sBAAT,CAAgCvwQ,CAAhC,EAAmC;AAAE,WAAO,KAAKA,CAAC,IAAIswQ,cAAV,GAAP;AAAqC,GAAhG;;AACAA,EAAAA,cAAc,CAAC1hO,IAAf,GAAsB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEi9Q;AAAR,GAAxB,CAApC;AACAA,EAAAA,cAAc,CAACxhO,IAAf,GAAsB,aAAcl2C,8DAAA,CAAwB;AAAEilD,IAAAA,SAAS,EAAE,CAACy8L,qEAAD,CAAb;AAAkCtrM,IAAAA,OAAO,EAAE,CAAC,CAC5FgkC,oEAD4F,EAE5Fy6L,4EAF4F,EAG5F76B,mEAH4F,CAAD,EAI5F5/J,oEAJ4F,EAK/F;AACA;AACAy6L,IAAAA,4EAP+F;AAA3C,GAAxB,CAApC;SAJM6C;;;AAYN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOjwQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAmBO,CAnBtB;;AAoBA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0B03Q,cAA1B,EAA0C;AAAEnhO,IAAAA,YAAY,EAAE,YAAY;AAAE,aAAO,CAACo/N,QAAD,EAAWZ,mBAAX,CAAP;AAAyC,KAAvE;AAAyE3+N,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACgkC,oEAAD,EAC3My6L,4EAD2M,EAE3M76B,mEAF2M,CAAP;AAEjL,KAFiF;AAE/ExjM,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAAC4jC,oEAAD,EACnD;AACA;AACAy6L,MAAAA,4EAHmD,EAG/Bc,QAH+B,EAGrBZ,mBAHqB,CAAP;AAGS;AAL+C,GAA1C,CAAnD;AAKoD,CALnE;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtmBA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;IACM+C;AAAN,QAAMA,uBAAN,SAAsC39Q,iEAAtC,CAAuD;AACnDkC,IAAAA,WAAW,CAAC07Q,YAAD,EAAezkO,GAAf,EAAoB;AAC3B;AACA,WAAK0kO,gBAAL,GAAwB,CAAxB;AACA,YAAMC,QAAQ,GAAG;AAAEx0Q,QAAAA,EAAE,EAAE,GAAN;AAAW0wE,QAAAA,aAAa,EAAE3K,iEAA1B;AAAkD3uE,QAAAA,MAAM,EAAE,EAA1D;AAA8D+H,QAAAA,IAAI,EAAE;AAAEnH,UAAAA,SAAS,EAAE;AAAb;AAApE,OAAjB;AACA,WAAKg5F,SAAL,GAAiBsjL,YAAY,CAACt2J,cAAb,CAA4BnuE,GAAG,CAACltC,IAAhC,EAAsC6xQ,QAAtC,CAAjB;AACH;;AACD1oQ,IAAAA,KAAK,CAAC9T,SAAD,EAAY;AACb,YAAMgI,EAAE,GAAG,KAAKu0Q,gBAAL,CAAsB13Q,QAAtB,EAAX;;AACA,WAAK03Q,gBAAL;AACA,YAAMt3P,KAAK,GAAG9W,KAAK,CAACC,OAAN,CAAcpO,SAAd,IAA2BT,6DAAQ,CAACS,SAAD,CAAnC,GAAiDA,SAA/D;AACAy8Q,MAAAA,qBAAqB,CAAC,KAAKzjL,SAAN,EAAiB,IAAjB,EAAuBhxF,EAAvB,EAA2B,UAA3B,EAAuC,CAACid,KAAD,CAAvC,CAArB;AACA,aAAO,IAAIy3P,uBAAJ,CAA4B10Q,EAA5B,EAAgC,KAAKgxF,SAArC,CAAP;AACH;;AAbkD;;AAevDqjL,EAAAA,uBAAuB,CAAC5wQ,IAAxB,GAA+B,SAASkxQ,+BAAT,CAAyChxQ,CAAzC,EAA4C;AAAE,WAAO,KAAKA,CAAC,IAAI0wQ,uBAAV,EAAmC93Q,sDAAA,CAAgBA,2DAAhB,CAAnC,EAA6EA,sDAAA,CAAgB25B,qDAAhB,CAA7E,CAAP;AAAiH,GAA9L;;AACAm+O,EAAAA,uBAAuB,CAACzwQ,KAAxB,GAAgC,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEuwQ,uBAAT;AAAkCtwQ,IAAAA,OAAO,EAAEswQ,uBAAuB,CAAC5wQ;AAAnE,GAA1B,CAA9C;SAhBM4wQ;;;AAqBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOrwQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAKe,CAL9B;;AAMA,MAAM0wQ,uBAAN,SAAsC/9Q,iEAAtC,CAAuD;AACnDiC,EAAAA,WAAW,CAACi6Q,GAAD,EAAM7hL,SAAN,EAAiB;AACxB;AACA,SAAK6hL,GAAL,GAAWA,GAAX;AACA,SAAK7hL,SAAL,GAAiBA,SAAjB;AACH;;AACDh6E,EAAAA,MAAM,CAAC7Z,OAAD,EAAUlG,OAAV,EAAmB;AACrB,WAAO,IAAI29Q,uBAAJ,CAA4B,KAAK/B,GAAjC,EAAsC11Q,OAAtC,EAA+ClG,OAAO,IAAI,EAA1D,EAA8D,KAAK+5F,SAAnE,CAAP;AACH;;AARkD;;AAUvD,MAAM4jL,uBAAN,CAA8B;AAC1Bh8Q,EAAAA,WAAW,CAACoH,EAAD,EAAK7C,OAAL,EAAclG,OAAd,EAAuB+5F,SAAvB,EAAkC;AACzC,SAAKhxF,EAAL,GAAUA,EAAV;AACA,SAAK7C,OAAL,GAAeA,OAAf;AACA,SAAK6zF,SAAL,GAAiBA,SAAjB;AACA,SAAK13F,YAAL,GAAoB,IAApB;AACA,SAAKJ,QAAL,GAAgB,KAAhB;AACA,SAAKK,SAAL,GAAiB,CAAjB;;AACA,SAAKs7Q,QAAL,CAAc,QAAd,EAAwB59Q,OAAxB;AACH;;AACD69Q,EAAAA,OAAO,CAACt2Q,SAAD,EAAYE,QAAZ,EAAsB;AACzB,WAAO,KAAKsyF,SAAL,CAAe/yE,MAAf,CAAsB,KAAK9gB,OAA3B,EAAqC,KAAI,KAAK6C,EAAG,IAAGxB,SAAU,EAA9D,EAAiEE,QAAjE,CAAP;AACH;;AACDm2Q,EAAAA,QAAQ,CAACh1Q,OAAD,EAAU,GAAGse,IAAb,EAAmB;AACvB,WAAOs2P,qBAAqB,CAAC,KAAKzjL,SAAN,EAAiB,KAAK7zF,OAAtB,EAA+B,KAAK6C,EAApC,EAAwCH,OAAxC,EAAiDse,IAAjD,CAA5B;AACH;;AACDtkB,EAAAA,MAAM,CAACH,EAAD,EAAK;AACP,SAAKo7Q,OAAL,CAAa,MAAb,EAAqBp7Q,EAArB;AACH;;AACDC,EAAAA,OAAO,CAACD,EAAD,EAAK;AACR,SAAKo7Q,OAAL,CAAa,OAAb,EAAsBp7Q,EAAtB;AACH;;AACDI,EAAAA,SAAS,CAACJ,EAAD,EAAK;AACV,SAAKo7Q,OAAL,CAAa,SAAb,EAAwBp7Q,EAAxB;AACH;;AACDM,EAAAA,IAAI,GAAG;AACH,SAAK66Q,QAAL,CAAc,MAAd;AACH;;AACD96Q,EAAAA,UAAU,GAAG;AACT,WAAO,KAAKb,QAAZ;AACH;;AACDe,EAAAA,IAAI,GAAG;AACH,SAAK46Q,QAAL,CAAc,MAAd;;AACA,SAAK37Q,QAAL,GAAgB,IAAhB;AACH;;AACDkB,EAAAA,KAAK,GAAG;AACJ,SAAKy6Q,QAAL,CAAc,OAAd;AACH;;AACDx6Q,EAAAA,OAAO,GAAG;AACN,SAAKw6Q,QAAL,CAAc,SAAd;AACH;;AACDv6Q,EAAAA,MAAM,GAAG;AACL,SAAKu6Q,QAAL,CAAc,QAAd;AACH;;AACDt6Q,EAAAA,OAAO,GAAG;AACN,SAAKs6Q,QAAL,CAAc,SAAd;AACH;;AACDr6Q,EAAAA,KAAK,GAAG;AACJ,SAAKq6Q,QAAL,CAAc,OAAd;;AACA,SAAK37Q,QAAL,GAAgB,KAAhB;AACH;;AACDuB,EAAAA,WAAW,CAACoB,CAAD,EAAI;AACX,SAAKg5Q,QAAL,CAAc,aAAd,EAA6Bh5Q,CAA7B;AACH;;AACDlB,EAAAA,WAAW,GAAG;AACV,QAAIs4B,EAAJ,EAAQkY,EAAR;;AACA,WAAO,CAACA,EAAE,GAAG,CAAClY,EAAE,GAAG,KAAK+9D,SAAL,CAAe3uE,MAAf,CAAsBnnB,OAAtB,CAA8B,CAAC,KAAK8E,EAApC,CAAN,MAAmD,IAAnD,IAA2DizB,EAAE,KAAK,KAAK,CAAvE,GAA2E,KAAK,CAAhF,GAAoFA,EAAE,CAACt4B,WAAH,EAA1F,MAAgH,IAAhH,IAAwHwwC,EAAE,KAAK,KAAK,CAApI,GAAwIA,EAAxI,GAA6I,CAApJ;AACH;;AAzDyB;;AA2D9B,SAASspO,qBAAT,CAA+B52J,QAA/B,EAAyC1gH,OAAzC,EAAkD6C,EAAlD,EAAsDH,OAAtD,EAA+Dse,IAA/D,EAAqE;AACjE,SAAO0/F,QAAQ,CAAChsF,WAAT,CAAqB10B,OAArB,EAA+B,KAAI6C,EAAG,IAAGH,OAAQ,EAAjD,EAAoDse,IAApD,CAAP;AACH;;AAED,MAAM42P,gBAAgB,GAAG,GAAzB;AACA,MAAMC,uBAAuB,GAAG,YAAhC;IACMC;AAAN,QAAMA,wBAAN,CAA+B;AAC3Br8Q,IAAAA,WAAW,CAAC0wM,QAAD,EAAWjnL,MAAX,EAAmB6tL,KAAnB,EAA0B;AACjC,WAAK5G,QAAL,GAAgBA,QAAhB;AACA,WAAKjnL,MAAL,GAAcA,MAAd;AACA,WAAK6tL,KAAL,GAAaA,KAAb;AACA,WAAKglE,UAAL,GAAkB,CAAlB;AACA,WAAKC,YAAL,GAAoB,CAApB;AACA,WAAKC,yBAAL,GAAiC,EAAjC;AACA,WAAKC,cAAL,GAAsB,IAAI51Q,GAAJ,EAAtB;AACA,WAAK61Q,aAAL,GAAqB,CAArB;AACA,WAAKz9I,OAAL,GAAer/H,OAAO,CAACC,OAAR,CAAgB,CAAhB,CAAf;;AACA4pB,MAAAA,MAAM,CAACiC,iBAAP,GAA2B,CAACnnB,OAAD,EAAUmsM,QAAV,KAAuB;AAC9C;AACA;AACA;AACA;AACA,YAAIA,QAAQ,IAAIA,QAAQ,CAACroM,UAAT,CAAoB9D,OAApB,CAAhB,EAA8C;AAC1CmsM,UAAAA,QAAQ,CAAC91K,WAAT,CAAqBr2B,OAAO,CAAC8D,UAA7B,EAAyC9D,OAAzC;AACH;AACJ,OARD;AASH;;AACD6gH,IAAAA,cAAc,CAACt+F,WAAD,EAAc1oB,IAAd,EAAoB;AAC9B,YAAMu+Q,kBAAkB,GAAG,EAA3B,CAD8B,CAE9B;AACA;;AACA,YAAMjsE,QAAQ,GAAG,KAAKA,QAAL,CAActrF,cAAd,CAA6Bt+F,WAA7B,EAA0C1oB,IAA1C,CAAjB;;AACA,UAAI,CAAC0oB,WAAD,IAAgB,CAAC1oB,IAAjB,IAAyB,CAACA,IAAI,CAACmI,IAA/B,IAAuC,CAACnI,IAAI,CAACmI,IAAL,CAAU,WAAV,CAA5C,EAAoE;AAChE,YAAI0+G,QAAQ,GAAG,KAAKw3J,cAAL,CAAoB31Q,GAApB,CAAwB4pM,QAAxB,CAAf;;AACA,YAAI,CAACzrF,QAAL,EAAe;AACXA,UAAAA,QAAQ,GAAG,IAAI23J,qBAAJ,CAA0BD,kBAA1B,EAA8CjsE,QAA9C,EAAwD,KAAKjnL,MAA7D,CAAX,CADW,CAEX;;AACA,eAAKgzP,cAAL,CAAoB11Q,GAApB,CAAwB2pM,QAAxB,EAAkCzrF,QAAlC;AACH;;AACD,eAAOA,QAAP;AACH;;AACD,YAAM/wF,WAAW,GAAG91B,IAAI,CAACgJ,EAAzB;AACA,YAAM4e,WAAW,GAAG5nB,IAAI,CAACgJ,EAAL,GAAU,GAAV,GAAgB,KAAKk1Q,UAAzC;AACA,WAAKA,UAAL;AACA,WAAK7yP,MAAL,CAAY1E,QAAZ,CAAqBiB,WAArB,EAAkCc,WAAlC;;AACA,YAAMmF,eAAe,GAAIhuB,OAAD,IAAa;AACjC,YAAIsP,KAAK,CAACC,OAAN,CAAcvP,OAAd,CAAJ,EAA4B;AACxBA,UAAAA,OAAO,CAAC4C,OAAR,CAAgBorB,eAAhB;AACH,SAFD,MAGK;AACD,eAAKxC,MAAL,CAAYwC,eAAZ,CAA4BiI,WAA5B,EAAyClO,WAAzC,EAAsDc,WAAtD,EAAmE7oB,OAAO,CAACC,IAA3E,EAAiFD,OAAjF;AACH;AACJ,OAPD;;AAQA,YAAM4+Q,iBAAiB,GAAGz+Q,IAAI,CAACmI,IAAL,CAAU,WAAV,CAA1B;AACAs2Q,MAAAA,iBAAiB,CAACh8Q,OAAlB,CAA0BorB,eAA1B;AACA,aAAO,IAAI6wP,iBAAJ,CAAsB,IAAtB,EAA4B92P,WAA5B,EAAyC0qL,QAAzC,EAAmD,KAAKjnL,MAAxD,CAAP;AACH;;AACD+5H,IAAAA,KAAK,GAAG;AACJ,WAAKk5H,aAAL;;AACA,UAAI,KAAKhsE,QAAL,CAAcltD,KAAlB,EAAyB;AACrB,aAAKktD,QAAL,CAAcltD,KAAd;AACH;AACJ;;AACDu5H,IAAAA,kBAAkB,GAAG;AACjB;AACA,WAAK99I,OAAL,CAAan/H,IAAb,CAAkB,MAAM;AACpB,aAAKy8Q,YAAL;AACH,OAFD;AAGH;AACD;;;AACAS,IAAAA,wBAAwB,CAAChlP,KAAD,EAAQl3B,EAAR,EAAYyF,IAAZ,EAAkB;AACtC,UAAIyxB,KAAK,IAAI,CAAT,IAAcA,KAAK,GAAG,KAAKukP,YAA/B,EAA6C;AACzC,aAAKjlE,KAAL,CAAWz/J,GAAX,CAAe,MAAM/2C,EAAE,CAACyF,IAAD,CAAvB;;AACA;AACH;;AACD,UAAI,KAAKi2Q,yBAAL,CAA+Br6Q,MAA/B,IAAyC,CAA7C,EAAgD;AAC5CvC,QAAAA,OAAO,CAACC,OAAR,CAAgB,IAAhB,EAAsBC,IAAtB,CAA2B,MAAM;AAC7B,eAAKw3M,KAAL,CAAWz/J,GAAX,CAAe,MAAM;AACjB,iBAAK2kO,yBAAL,CAA+B37Q,OAA/B,CAAuCsV,KAAK,IAAI;AAC5C,oBAAM,CAACrV,EAAD,EAAKyF,IAAL,IAAa4P,KAAnB;AACArV,cAAAA,EAAE,CAACyF,IAAD,CAAF;AACH,aAHD;;AAIA,iBAAKi2Q,yBAAL,GAAiC,EAAjC;AACH,WAND;AAOH,SARD;AASH;;AACD,WAAKA,yBAAL,CAA+Bx7Q,IAA/B,CAAoC,CAACF,EAAD,EAAKyF,IAAL,CAApC;AACH;;AACDspE,IAAAA,GAAG,GAAG;AACF,WAAK6sM,aAAL,GADE,CAEF;AACA;;AACA,UAAI,KAAKA,aAAL,IAAsB,CAA1B,EAA6B;AACzB,aAAKplE,KAAL,CAAWnrK,iBAAX,CAA6B,MAAM;AAC/B,eAAK4wO,kBAAL;;AACA,eAAKtzP,MAAL,CAAYwD,KAAZ,CAAkB,KAAKsvP,YAAvB;AACH,SAHD;AAIH;;AACD,UAAI,KAAK7rE,QAAL,CAAc7gI,GAAlB,EAAuB;AACnB,aAAK6gI,QAAL,CAAc7gI,GAAd;AACH;AACJ;;AACD7iD,IAAAA,iBAAiB,GAAG;AAChB,aAAO,KAAKvD,MAAL,CAAYuD,iBAAZ,EAAP;AACH;;AAlG0B;;AAoG/BqvP,EAAAA,wBAAwB,CAACxxQ,IAAzB,GAAgC,SAASoyQ,gCAAT,CAA0ClyQ,CAA1C,EAA6C;AAAE,WAAO,KAAKA,CAAC,IAAIsxQ,wBAAV,EAAoC14Q,sDAAA,CAAgBA,2DAAhB,CAApC,EAA8EA,sDAAA,CAAgB88B,4EAAhB,CAA9E,EAAwH98B,sDAAA,CAAgBA,iDAAhB,CAAxH,CAAP;AAAiK,GAAhP;;AACA04Q,EAAAA,wBAAwB,CAACrxQ,KAAzB,GAAiC,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEmxQ,wBAAT;AAAmClxQ,IAAAA,OAAO,EAAEkxQ,wBAAwB,CAACxxQ;AAArE,GAA1B,CAA/C;SArGMwxQ;;;AA2GN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOjxQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAE0H,CAFzI;;AAGA,MAAMwxQ,qBAAN,CAA4B;AACxB58Q,EAAAA,WAAW,CAACgmB,WAAD,EAAc0qL,QAAd,EAAwBjnL,MAAxB,EAAgC;AACvC,SAAKzD,WAAL,GAAmBA,WAAnB;AACA,SAAK0qL,QAAL,GAAgBA,QAAhB;AACA,SAAKjnL,MAAL,GAAcA,MAAd;AACA,SAAKi7G,WAAL,GAAmB,KAAKgsE,QAAL,CAAchsE,WAAd,GAA6B1wH,CAAD,IAAO08L,QAAQ,CAAChsE,WAAT,CAAqB1wH,CAArB,CAAnC,GAA6D,IAAhF;AACH;;AACO,MAAJzN,IAAI,GAAG;AACP,WAAO,KAAKmqM,QAAL,CAAcnqM,IAArB;AACH;;AACD5E,EAAAA,OAAO,GAAG;AACN,SAAK8nB,MAAL,CAAY9nB,OAAZ,CAAoB,KAAKqkB,WAAzB,EAAsC,KAAK0qL,QAA3C;AACA,SAAKA,QAAL,CAAc/uM,OAAd;AACH;;AACDg4B,EAAAA,aAAa,CAACz7B,IAAD,EAAOgnI,SAAP,EAAkB;AAC3B,WAAO,KAAKwrE,QAAL,CAAc/2K,aAAd,CAA4Bz7B,IAA5B,EAAkCgnI,SAAlC,CAAP;AACH;;AACDz6D,EAAAA,aAAa,CAAC7jE,KAAD,EAAQ;AACjB,WAAO,KAAK8pM,QAAL,CAAcjmI,aAAd,CAA4B7jE,KAA5B,CAAP;AACH;;AACDi+H,EAAAA,UAAU,CAACj+H,KAAD,EAAQ;AACd,WAAO,KAAK8pM,QAAL,CAAc7rE,UAAd,CAAyBj+H,KAAzB,CAAP;AACH;;AACDszB,EAAAA,WAAW,CAACnQ,MAAD,EAAS8wL,QAAT,EAAmB;AAC1B,SAAKnK,QAAL,CAAcx2K,WAAd,CAA0BnQ,MAA1B,EAAkC8wL,QAAlC;AACA,SAAKpxL,MAAL,CAAY2K,QAAZ,CAAqB,KAAKpO,WAA1B,EAAuC60L,QAAvC,EAAiD9wL,MAAjD,EAAyD,KAAzD;AACH;;AACDsC,EAAAA,YAAY,CAACtC,MAAD,EAAS8wL,QAAT,EAAmBD,QAAnB,EAA6BhzE,MAAM,GAAG,IAAtC,EAA4C;AACpD,SAAK8oE,QAAL,CAAcrkL,YAAd,CAA2BtC,MAA3B,EAAmC8wL,QAAnC,EAA6CD,QAA7C,EADoD,CAEpD;;AACA,SAAKnxL,MAAL,CAAY2K,QAAZ,CAAqB,KAAKpO,WAA1B,EAAuC60L,QAAvC,EAAiD9wL,MAAjD,EAAyD69G,MAAzD;AACH;;AACDhtG,EAAAA,WAAW,CAAC7Q,MAAD,EAASkhM,QAAT,EAAmBz+L,aAAnB,EAAkC;AACzC,SAAK/C,MAAL,CAAY4K,QAAZ,CAAqB,KAAKrO,WAA1B,EAAuCilM,QAAvC,EAAiD,KAAKva,QAAtD,EAAgElkL,aAAhE;AACH;;AACDw4H,EAAAA,iBAAiB,CAACmzD,cAAD,EAAiBrzD,eAAjB,EAAkC;AAC/C,WAAO,KAAK4rD,QAAL,CAAc1rD,iBAAd,CAAgCmzD,cAAhC,EAAgDrzD,eAAhD,CAAP;AACH;;AACDz8I,EAAAA,UAAU,CAACkI,IAAD,EAAO;AACb,WAAO,KAAKmgM,QAAL,CAAcroM,UAAd,CAAyBkI,IAAzB,CAAP;AACH;;AACD87B,EAAAA,WAAW,CAAC97B,IAAD,EAAO;AACd,WAAO,KAAKmgM,QAAL,CAAcrkK,WAAd,CAA0B97B,IAA1B,CAAP;AACH;;AACDpC,EAAAA,YAAY,CAAC0yB,EAAD,EAAK3iC,IAAL,EAAW0I,KAAX,EAAkBs+H,SAAlB,EAA6B;AACrC,SAAKwrE,QAAL,CAAcviM,YAAd,CAA2B0yB,EAA3B,EAA+B3iC,IAA/B,EAAqC0I,KAArC,EAA4Cs+H,SAA5C;AACH;;AACD9jG,EAAAA,eAAe,CAACP,EAAD,EAAK3iC,IAAL,EAAWgnI,SAAX,EAAsB;AACjC,SAAKwrE,QAAL,CAActvK,eAAd,CAA8BP,EAA9B,EAAkC3iC,IAAlC,EAAwCgnI,SAAxC;AACH;;AACD99G,EAAAA,QAAQ,CAACyZ,EAAD,EAAK3iC,IAAL,EAAW;AACf,SAAKwyM,QAAL,CAActpL,QAAd,CAAuByZ,EAAvB,EAA2B3iC,IAA3B;AACH;;AACDmqB,EAAAA,WAAW,CAACwY,EAAD,EAAK3iC,IAAL,EAAW;AAClB,SAAKwyM,QAAL,CAAcroL,WAAd,CAA0BwY,EAA1B,EAA8B3iC,IAA9B;AACH;;AACDkhG,EAAAA,QAAQ,CAACv+D,EAAD,EAAKjiC,KAAL,EAAYgI,KAAZ,EAAmBmyG,KAAnB,EAA0B;AAC9B,SAAK23F,QAAL,CAActxG,QAAd,CAAuBv+D,EAAvB,EAA2BjiC,KAA3B,EAAkCgI,KAAlC,EAAyCmyG,KAAzC;AACH;;AACD1Z,EAAAA,WAAW,CAACx+D,EAAD,EAAKjiC,KAAL,EAAYm6G,KAAZ,EAAmB;AAC1B,SAAK23F,QAAL,CAAcrxG,WAAd,CAA0Bx+D,EAA1B,EAA8BjiC,KAA9B,EAAqCm6G,KAArC;AACH;;AACD9/E,EAAAA,WAAW,CAAC4H,EAAD,EAAK3iC,IAAL,EAAW0I,KAAX,EAAkB;AACzB,QAAI1I,IAAI,CAAC2L,MAAL,CAAY,CAAZ,KAAkBsyQ,gBAAlB,IAAsCj+Q,IAAI,IAAIk+Q,uBAAlD,EAA2E;AACvE,WAAK9nP,iBAAL,CAAuBuM,EAAvB,EAA2B,CAAC,CAACj6B,KAA7B;AACH,KAFD,MAGK;AACD,WAAK8pM,QAAL,CAAcz3K,WAAd,CAA0B4H,EAA1B,EAA8B3iC,IAA9B,EAAoC0I,KAApC;AACH;AACJ;;AACDm+H,EAAAA,QAAQ,CAACx0H,IAAD,EAAO3J,KAAP,EAAc;AAClB,SAAK8pM,QAAL,CAAc3rE,QAAd,CAAuBx0H,IAAvB,EAA6B3J,KAA7B;AACH;;AACDye,EAAAA,MAAM,CAAClI,MAAD,EAASvX,SAAT,EAAoBE,QAApB,EAA8B;AAChC,WAAO,KAAK4qM,QAAL,CAAcrrL,MAAd,CAAqBlI,MAArB,EAA6BvX,SAA7B,EAAwCE,QAAxC,CAAP;AACH;;AACDwuB,EAAAA,iBAAiB,CAAC/vB,OAAD,EAAUqC,KAAV,EAAiB;AAC9B,SAAK6iB,MAAL,CAAY6K,iBAAZ,CAA8B/vB,OAA9B,EAAuCqC,KAAvC;AACH;;AA9EuB;;AAgF5B,MAAMk2Q,iBAAN,SAAgCF,qBAAhC,CAAsD;AAClD58Q,EAAAA,WAAW,CAACmL,OAAD,EAAU6a,WAAV,EAAuB0qL,QAAvB,EAAiCjnL,MAAjC,EAAyC;AAChD,UAAMzD,WAAN,EAAmB0qL,QAAnB,EAA6BjnL,MAA7B;AACA,SAAKte,OAAL,GAAeA,OAAf;AACA,SAAK6a,WAAL,GAAmBA,WAAnB;AACH;;AACDiT,EAAAA,WAAW,CAAC4H,EAAD,EAAK3iC,IAAL,EAAW0I,KAAX,EAAkB;AACzB,QAAI1I,IAAI,CAAC2L,MAAL,CAAY,CAAZ,KAAkBsyQ,gBAAtB,EAAwC;AACpC,UAAIj+Q,IAAI,CAAC2L,MAAL,CAAY,CAAZ,KAAkB,GAAlB,IAAyB3L,IAAI,IAAIk+Q,uBAArC,EAA8D;AAC1Dx1Q,QAAAA,KAAK,GAAGA,KAAK,KAAKN,SAAV,GAAsB,IAAtB,GAA6B,CAAC,CAACM,KAAvC;AACA,aAAK0tB,iBAAL,CAAuBuM,EAAvB,EAA2Bj6B,KAA3B;AACH,OAHD,MAIK;AACD,aAAK6iB,MAAL,CAAYzlB,OAAZ,CAAoB,KAAKgiB,WAAzB,EAAsC6a,EAAtC,EAA0C3iC,IAAI,CAACqJ,MAAL,CAAY,CAAZ,CAA1C,EAA0DX,KAA1D;AACH;AACJ,KARD,MASK;AACD,WAAK8pM,QAAL,CAAcz3K,WAAd,CAA0B4H,EAA1B,EAA8B3iC,IAA9B,EAAoC0I,KAApC;AACH;AACJ;;AACDye,EAAAA,MAAM,CAAClI,MAAD,EAASvX,SAAT,EAAoBE,QAApB,EAA8B;AAChC,QAAIF,SAAS,CAACiE,MAAV,CAAiB,CAAjB,KAAuBsyQ,gBAA3B,EAA6C;AACzC,YAAM53Q,OAAO,GAAG24Q,wBAAwB,CAAC//P,MAAD,CAAxC;AACA,UAAIjf,IAAI,GAAG0H,SAAS,CAAC2B,MAAV,CAAiB,CAAjB,CAAX;AACA,UAAI8f,KAAK,GAAG,EAAZ,CAHyC,CAIzC;AACA;;AACA,UAAInpB,IAAI,CAAC2L,MAAL,CAAY,CAAZ,KAAkBsyQ,gBAAtB,EAAwC;AACpC,SAACj+Q,IAAD,EAAOmpB,KAAP,IAAgB81P,wBAAwB,CAACj/Q,IAAD,CAAxC;AACH;;AACD,aAAO,KAAKurB,MAAL,CAAYpE,MAAZ,CAAmB,KAAKW,WAAxB,EAAqCzhB,OAArC,EAA8CrG,IAA9C,EAAoDmpB,KAApD,EAA2DxhB,KAAK,IAAI;AACvE,cAAMu3Q,OAAO,GAAGv3Q,KAAK,CAAC,OAAD,CAAL,IAAkB,CAAC,CAAnC;AACA,aAAKsF,OAAL,CAAa6xQ,wBAAb,CAAsCI,OAAtC,EAA+Ct3Q,QAA/C,EAAyDD,KAAzD;AACH,OAHM,CAAP;AAIH;;AACD,WAAO,KAAK6qM,QAAL,CAAcrrL,MAAd,CAAqBlI,MAArB,EAA6BvX,SAA7B,EAAwCE,QAAxC,CAAP;AACH;;AApCiD;;AAsCtD,SAASo3Q,wBAAT,CAAkC//P,MAAlC,EAA0C;AACtC,UAAQA,MAAR;AACI,SAAK,MAAL;AACI,aAAOrZ,QAAQ,CAACiG,IAAhB;;AACJ,SAAK,UAAL;AACI,aAAOjG,QAAP;;AACJ,SAAK,QAAL;AACI,aAAOD,MAAP;;AACJ;AACI,aAAOsZ,MAAP;AARR;AAUH;;AACD,SAASggQ,wBAAT,CAAkCh3Q,WAAlC,EAA+C;AAC3C,QAAMk3Q,QAAQ,GAAGl3Q,WAAW,CAACgB,OAAZ,CAAoB,GAApB,CAAjB;AACA,QAAMlJ,OAAO,GAAGkI,WAAW,CAACkB,SAAZ,CAAsB,CAAtB,EAAyBg2Q,QAAzB,CAAhB;AACA,QAAMh2P,KAAK,GAAGlhB,WAAW,CAACoB,MAAZ,CAAmB81Q,QAAQ,GAAG,CAA9B,CAAd;AACA,SAAO,CAACp/Q,OAAD,EAAUopB,KAAV,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMi2P;AAAN,QAAMA,yBAAN,SAAwCjhP,4EAAxC,CAAyD;AACrDr8B,IAAAA,WAAW,CAACi3C,GAAD,EAAM5yC,MAAN,EAAcC,UAAd,EAA0B;AACjC,YAAM2yC,GAAG,CAACltC,IAAV,EAAgB1F,MAAhB,EAAwBC,UAAxB;AACH;;AACD0+B,IAAAA,WAAW,GAAG;AACV,WAAK/V,KAAL;AACH;;AANoD;;AAQzDqwP,EAAAA,yBAAyB,CAACzyQ,IAA1B,GAAiC,SAAS0yQ,iCAAT,CAA2CxyQ,CAA3C,EAA8C;AAAE,WAAO,KAAKA,CAAC,IAAIuyQ,yBAAV,EAAqC35Q,sDAAA,CAAgB25B,qDAAhB,CAArC,EAAgE35B,sDAAA,CAAgB88B,wEAAhB,CAAhE,EAAyG98B,sDAAA,CAAgB88B,qFAAhB,CAAzG,CAAP;AAAqK,GAAtP;;AACA68O,EAAAA,yBAAyB,CAACtyQ,KAA1B,GAAkC,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEoyQ,yBAAT;AAAoCnyQ,IAAAA,OAAO,EAAEmyQ,yBAAyB,CAACzyQ;AAAvE,GAA1B,CAAhD;SATMyyQ;;;AAeN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOlyQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAK6F,CAL5G;;AAMA,SAASoyQ,mCAAT,GAA+C;AAC3C,SAAOrgP,sFAAsB,KAAK,IAAIR,gFAAJ,EAAL,GAAkC,IAAIJ,+EAAJ,EAA/D;AACH;;AACD,SAASkhP,iCAAT,GAA6C;AACzC,SAAO,IAAI5gP,yFAAJ,EAAP;AACH;;AACD,SAAS6gP,0BAAT,CAAoCz4J,QAApC,EAA8Cx7F,MAA9C,EAAsD+lE,IAAtD,EAA4D;AACxD,SAAO,IAAI6sL,wBAAJ,CAA6Bp3J,QAA7B,EAAuCx7F,MAAvC,EAA+C+lE,IAA/C,CAAP;AACH;AACD;AACA;AACA;;;AACA,MAAMouJ,qBAAqB,gBAAG,IAAI9/M,yDAAJ,CAAmB,qBAAnB,CAA9B;AACA,MAAM6/O,0BAA0B,GAAG,CAC/B;AAAEliO,EAAAA,OAAO,EAAE39C,iEAAX;AAA6Bw8E,EAAAA,QAAQ,EAAEmhM;AAAvC,CAD+B,EAE/B;AAAEhgO,EAAAA,OAAO,EAAEnf,qFAAX;AAAsCooC,EAAAA,UAAU,EAAE+4M;AAAlD,CAF+B,EAG/B;AAAEhiO,EAAAA,OAAO,EAAEpf,4EAAX;AAA6Bi+C,EAAAA,QAAQ,EAAEgjM;AAAvC,CAH+B,EAGqC;AAChE7hO,EAAAA,OAAO,EAAEqjI,2DADuD;AAEhEp6G,EAAAA,UAAU,EAAEg5M,0BAFoD;AAGhEj5M,EAAAA,IAAI,EAAE,CAAC82M,8EAAD,EAAuBl/O,4EAAvB,EAAyCqB,iDAAzC;AAH0D,CAHrC,CAAnC;AASA;AACA;AACA;AACA;;AACA,MAAMkgP,4BAA4B,GAAG,CACjC;AAAEniO,EAAAA,OAAO,EAAEpwC,wEAAX;AAA4Bq5D,EAAAA,UAAU,EAAE84M;AAAxC,CADiC,EAEjC;AAAE/hO,EAAAA,OAAO,EAAEmiM,qBAAX;AAAkChrI,EAAAA,QAAQ,EAAE;AAA5C,CAFiC,EAEkC,GAAG+qK,0BAFrC,CAArC;AAIA;AACA;AACA;AACA;;AACA,MAAME,iCAAiC,GAAG,CACtC;AAAEpiO,EAAAA,OAAO,EAAEpwC,wEAAX;AAA4BivE,EAAAA,QAAQ,EAAE79C,gFAAoBA;AAA1D,CADsC,EAEtC;AAAEgf,EAAAA,OAAO,EAAEmiM,qBAAX;AAAkChrI,EAAAA,QAAQ,EAAE;AAA5C,CAFsC,EAE0B,GAAG+qK,0BAF7B,CAA1C;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;IACMG;AAAN,QAAMA,uBAAN,CAA8B;AAC1B;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACqB,WAAV/nC,UAAU,CAAC7rM,MAAD,EAAS;AACtB,aAAO;AACHwoE,QAAAA,QAAQ,EAAEorK,uBADP;AAEHl1N,QAAAA,SAAS,EAAE1e,MAAM,CAAC5V,iBAAP,GAA2BupP,iCAA3B,GACPD;AAHD,OAAP;AAKH;;AAvByB;;AAyB9BE,EAAAA,uBAAuB,CAACjzQ,IAAxB,GAA+B,SAASkzQ,+BAAT,CAAyChzQ,CAAzC,EAA4C;AAAE,WAAO,KAAKA,CAAC,IAAI+yQ,uBAAV,GAAP;AAA8C,GAA3H;;AACAA,EAAAA,uBAAuB,CAACnkO,IAAxB,GAA+B,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAE0/Q;AAAR,GAAxB,CAA7C;AACAA,EAAAA,uBAAuB,CAACjkO,IAAxB,GAA+B,aAAcl2C,8DAAA,CAAwB;AAAEilD,IAAAA,SAAS,EAAEg1N,4BAAb;AAA2C7jO,IAAAA,OAAO,EAAE,CAACyhO,oEAAD;AAApD,GAAxB,CAA7C;SA3BMsC;;;AA4BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO1yQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMO,CANtB;;AAOA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0Bm6Q,uBAA1B,EAAmD;AAAE3jO,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACqhO,oEAAD,CAAP;AAAyB;AAAlD,GAAnD,CAAnD;AAA8J,CAA7K;AACA;AACA;AACA;AACA;;;IACMwC;AAAN,QAAMA,oBAAN,CAA2B;;AAE3BA,EAAAA,oBAAoB,CAACnzQ,IAArB,GAA4B,SAASozQ,4BAAT,CAAsClzQ,CAAtC,EAAyC;AAAE,WAAO,KAAKA,CAAC,IAAIizQ,oBAAV,GAAP;AAA2C,GAAlH;;AACAA,EAAAA,oBAAoB,CAACrkO,IAArB,GAA4B,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAE4/Q;AAAR,GAAxB,CAA1C;AACAA,EAAAA,oBAAoB,CAACnkO,IAArB,GAA4B,aAAcl2C,8DAAA,CAAwB;AAAEilD,IAAAA,SAAS,EAAEi1N,iCAAb;AAAgD9jO,IAAAA,OAAO,EAAE,CAACyhO,oEAAD;AAAzD,GAAxB,CAA1C;SAJMwC;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO5yQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMO,CANtB;;AAOA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0Bq6Q,oBAA1B,EAAgD;AAAE7jO,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACqhO,oEAAD,CAAP;AAAyB;AAAlD,GAAhD,CAAnD;AAA2J,CAA1K;AAEA;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;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzhBA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMqD,wBAAN,SAAuCh4K,2DAAvC,CAAmD;AAC/C7mG,EAAAA,WAAW,GAAG;AACV,UAAM,GAAGwoC,SAAT;AACA,SAAKs2O,iBAAL,GAAyB,IAAzB;AACH;;AAJ8C;AAOnD;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMC,iBAAN,SAAgCF,wBAAhC,CAAyD;AACnC,SAAXG,WAAW,GAAG;AACjBr3K,IAAAA,sEAAkB,CAAC,IAAIo3K,iBAAJ,EAAD,CAAlB;AACH;;AACDE,EAAAA,WAAW,CAACp+O,EAAD,EAAKq+O,GAAL,EAAU31P,QAAV,EAAoB;AAC3BsX,IAAAA,EAAE,CAAC/I,gBAAH,CAAoBonP,GAApB,EAAyB31P,QAAzB,EAAmC,KAAnC,EAD2B,CAE3B;AACA;;AACA,WAAO,MAAM;AACTsX,MAAAA,EAAE,CAAChJ,mBAAH,CAAuBqnP,GAAvB,EAA4B31P,QAA5B,EAAsC,KAAtC;AACH,KAFD;AAGH;;AACD0jK,EAAAA,aAAa,CAACpsJ,EAAD,EAAKq+O,GAAL,EAAU;AACnBr+O,IAAAA,EAAE,CAACosJ,aAAH,CAAiBiyF,GAAjB;AACH;;AACD3rP,EAAAA,MAAM,CAAChjB,IAAD,EAAO;AACT,QAAIA,IAAI,CAAClI,UAAT,EAAqB;AACjBkI,MAAAA,IAAI,CAAClI,UAAL,CAAgBuyB,WAAhB,CAA4BrqB,IAA5B;AACH;AACJ;;AACDopB,EAAAA,aAAa,CAACoyG,OAAD,EAAU90F,GAAV,EAAe;AACxBA,IAAAA,GAAG,GAAGA,GAAG,IAAI,KAAKkoO,kBAAL,EAAb;AACA,WAAOloO,GAAG,CAACtd,aAAJ,CAAkBoyG,OAAlB,CAAP;AACH;;AACDqzI,EAAAA,kBAAkB,GAAG;AACjB,WAAOt7Q,QAAQ,CAACwqI,cAAT,CAAwBC,kBAAxB,CAA2C,WAA3C,CAAP;AACH;;AACD4wI,EAAAA,kBAAkB,GAAG;AACjB,WAAOr7Q,QAAP;AACH;;AACDsoB,EAAAA,aAAa,CAAC7b,IAAD,EAAO;AAChB,WAAOA,IAAI,CAACqzB,QAAL,KAAkBkM,IAAI,CAACjM,YAA9B;AACH;;AACDw7O,EAAAA,YAAY,CAAC9uQ,IAAD,EAAO;AACf,WAAOA,IAAI,YAAY+uQ,gBAAvB;AACH;AACD;;;AACAt+L,EAAAA,oBAAoB,CAAC/pC,GAAD,EAAM95B,MAAN,EAAc;AAC9B,QAAIA,MAAM,KAAK,QAAf,EAAyB;AACrB,aAAOtZ,MAAP;AACH;;AACD,QAAIsZ,MAAM,KAAK,UAAf,EAA2B;AACvB,aAAO85B,GAAP;AACH;;AACD,QAAI95B,MAAM,KAAK,MAAf,EAAuB;AACnB,aAAO85B,GAAG,CAACltC,IAAX;AACH;;AACD,WAAO,IAAP;AACH;;AACD+2E,EAAAA,WAAW,CAAC7pC,GAAD,EAAM;AACb,UAAMiqC,IAAI,GAAGq+L,kBAAkB,EAA/B;AACA,WAAOr+L,IAAI,IAAI,IAAR,GAAe,IAAf,GAAsBs+L,YAAY,CAACt+L,IAAD,CAAzC;AACH;;AACDu+L,EAAAA,gBAAgB,GAAG;AACfC,IAAAA,WAAW,GAAG,IAAd;AACH;;AACD3mD,EAAAA,YAAY,GAAG;AACX,WAAOl1N,MAAM,CAAC2iE,SAAP,CAAiBC,SAAxB;AACH;;AACDk5M,EAAAA,SAAS,CAACzhR,IAAD,EAAO;AACZ,WAAOwpG,qEAAiB,CAAC5jG,QAAQ,CAAC6zF,MAAV,EAAkBz5F,IAAlB,CAAxB;AACH;;AA7DoD;;AA+DzD,IAAIwhR,WAAW,GAAG,IAAlB;;AACA,SAASH,kBAAT,GAA8B;AAC1BG,EAAAA,WAAW,GAAGA,WAAW,IAAI57Q,QAAQ,CAACuF,aAAT,CAAuB,MAAvB,CAA7B;AACA,SAAOq2Q,WAAW,GAAGA,WAAW,CAACr+O,YAAZ,CAAyB,MAAzB,CAAH,GAAsC,IAAxD;AACH,EACD;;;AACA,IAAIu+O,cAAJ;;AACA,SAASJ,YAAT,CAAsB59L,GAAtB,EAA2B;AACvBg+L,EAAAA,cAAc,GAAGA,cAAc,IAAI97Q,QAAQ,CAAC61B,aAAT,CAAuB,GAAvB,CAAnC;AACAimP,EAAAA,cAAc,CAACzxQ,YAAf,CAA4B,MAA5B,EAAoCyzE,GAApC;AACA,QAAMi+L,QAAQ,GAAGD,cAAc,CAACt+L,QAAhC;AACA,SAAOu+L,QAAQ,CAACh2Q,MAAT,CAAgB,CAAhB,MAAuB,GAAvB,GAA6Bg2Q,QAA7B,GAAyC,IAAGA,QAAS,EAA5D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMC,aAAa,gBAAG,IAAIhiP,yDAAJ,CAAmB,eAAnB,CAAtB;;AACA,SAASiiP,qBAAT,CAA+BC,YAA/B,EAA6Cl8Q,QAA7C,EAAuD2lE,QAAvD,EAAiE;AAC7D,SAAO,MAAM;AACT;AACA;AACAA,IAAAA,QAAQ,CAAC3iE,GAAT,CAAa4jM,gEAAb,EAAoCI,WAApC,CAAgDhrM,IAAhD,CAAqD,MAAM;AACvD,YAAMmgR,GAAG,GAAGx4K,2DAAO,EAAnB;AACA,YAAMjpG,MAAM,GAAGsF,QAAQ,CAACoF,gBAAT,CAA2B,wBAAuB82Q,YAAa,IAA/D,CAAf;;AACA,WAAK,IAAI72Q,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG3K,MAAM,CAAC2D,MAA3B,EAAmCgH,CAAC,EAApC,EAAwC;AACpC82Q,QAAAA,GAAG,CAAC1sP,MAAJ,CAAW/0B,MAAM,CAAC2K,CAAD,CAAjB;AACH;AACJ,KAND;AAOH,GAVD;AAWH;;AACD,MAAM+2Q,2BAA2B,GAAG,CAChC;AACIzkO,EAAAA,OAAO,EAAEgvJ,0DADb;AAEI/lI,EAAAA,UAAU,EAAEq7M,qBAFhB;AAGIt7M,EAAAA,IAAI,EAAE,CAACq7M,aAAD,EAAgBxiP,qDAAhB,EAA0BisB,mDAA1B,CAHV;AAIIxhD,EAAAA,KAAK,EAAE;AAJX,CADgC,CAApC;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMo4Q,qBAAN,CAA4B;AACb,SAAJ/+Q,IAAI,GAAG;AACV2yM,IAAAA,mEAAoB,CAAC,IAAIosE,qBAAJ,EAAD,CAApB;AACH;;AACDjtE,EAAAA,WAAW,CAAC1qD,QAAD,EAAW;AAClBksE,IAAAA,2EAAA,GAAmC,CAAClhB,IAAD,EAAOI,eAAe,GAAG,IAAzB,KAAkC;AACjE,YAAMR,WAAW,GAAG5qD,QAAQ,CAACmrD,qBAAT,CAA+BH,IAA/B,EAAqCI,eAArC,CAApB;;AACA,UAAIR,WAAW,IAAI,IAAnB,EAAyB;AACrB,cAAM,IAAI3tM,KAAJ,CAAU,yCAAV,CAAN;AACH;;AACD,aAAO2tM,WAAP;AACH,KAND;;AAOAshB,IAAAA,gFAAA,GAAwC,MAAMlsE,QAAQ,CAACirD,mBAAT,EAA9C;;AACAihB,IAAAA,+EAAA,GAAuC,MAAMlsE,QAAQ,CAACkrD,kBAAT,EAA7C;;AACA,UAAM0sE,aAAa,GAAG,CAACt6Q;AAAS;AAAV,SAAgC;AAClD,YAAMu6Q,aAAa,GAAG3rD,gFAAA,EAAtB;AACA,UAAI18L,KAAK,GAAGqoP,aAAa,CAACl+Q,MAA1B;AACA,UAAIm+Q,OAAO,GAAG,KAAd;;AACA,YAAMC,SAAS,GAAG,UAAUC;AAAS;AAAnB,QAAsC;AACpDF,QAAAA,OAAO,GAAGA,OAAO,IAAIE,QAArB;AACAxoP,QAAAA,KAAK;;AACL,YAAIA,KAAK,IAAI,CAAb,EAAgB;AACZlyB,UAAAA,QAAQ,CAACw6Q,OAAD,CAAR;AACH;AACJ,OAND;;AAOAD,MAAAA,aAAa,CAACx/Q,OAAd,CAAsB,UAAUuyM;AAAY;AAAtB,QAAyC;AAC3DA,QAAAA,WAAW,CAACX,UAAZ,CAAuB8tE,SAAvB;AACH,OAFD;AAGH,KAdD;;AAeA,QAAI,CAAC7rD,0EAAL,EAAsC;AAClCA,MAAAA,0EAAA,GAAkC,EAAlC;AACH;;AACDA,IAAAA,+EAAA,CAAqC0rD,aAArC;AACH;;AACDzsE,EAAAA,qBAAqB,CAACnrD,QAAD,EAAWgrD,IAAX,EAAiBI,eAAjB,EAAkC;AACnD,QAAIJ,IAAI,IAAI,IAAZ,EAAkB;AACd,aAAO,IAAP;AACH;;AACD,UAAMzoM,CAAC,GAAGy9I,QAAQ,CAAC+qD,cAAT,CAAwBC,IAAxB,CAAV;;AACA,QAAIzoM,CAAC,IAAI,IAAT,EAAe;AACX,aAAOA,CAAP;AACH,KAFD,MAGK,IAAI,CAAC6oM,eAAL,EAAsB;AACvB,aAAO,IAAP;AACH;;AACD,QAAInsG,2DAAO,GAAG43K,YAAV,CAAuB7rE,IAAvB,CAAJ,EAAkC;AAC9B,aAAO,KAAKG,qBAAL,CAA2BnrD,QAA3B,EAAqCgrD,IAAI,CAAClrM,IAA1C,EAAgD,IAAhD,CAAP;AACH;;AACD,WAAO,KAAKqrM,qBAAL,CAA2BnrD,QAA3B,EAAqCgrD,IAAI,CAAC79J,aAA1C,EAAyD,IAAzD,CAAP;AACH;;AAjDuB;AAoD5B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;IACM8qO;AAAN,QAAMA,UAAN,CAAiB;AACbvtQ,IAAAA,KAAK,GAAG;AACJ,aAAO,IAAIwtQ,cAAJ,EAAP;AACH;;AAHY;;AAKjBD,EAAAA,UAAU,CAAC51Q,IAAX,GAAkB,SAAS81Q,kBAAT,CAA4B51Q,CAA5B,EAA+B;AAAE,WAAO,KAAKA,CAAC,IAAI01Q,UAAV,GAAP;AAAiC,GAApF;;AACAA,EAAAA,UAAU,CAACz1Q,KAAX,GAAmB,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEu1Q,UAAT;AAAqBt1Q,IAAAA,OAAO,EAAEs1Q,UAAU,CAAC51Q;AAAzC,GAA1B,CAAjC;SANM41Q;;;AAON;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOr1Q,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAEO,CAFtB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMiqI,iBAAiB,GAAG,UAA1B;AACA,MAAM1lI,gBAAgB,GAAG,WAAzB;;AACA,SAASzB,mBAAT,CAA6B0B,KAA7B,EAAoC;AAChC,SAAOA,KAAK,CAACrF,OAAN,CAAc8qI,iBAAd,EAAiC,CAAC,GAAGxlI,CAAJ,KAAU,MAAMA,CAAC,CAAC,CAAD,CAAD,CAAKC,WAAL,EAAjD,CAAP;AACH;;AACD,SAASxB,mBAAT,CAA6BsB,KAA7B,EAAoC;AAChC,SAAOA,KAAK,CAACrF,OAAN,CAAcoF,gBAAd,EAAgC,CAAC,GAAGE,CAAJ,KAAUA,CAAC,CAAC,CAAD,CAAD,CAAK/F,WAAL,EAA1C,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS82Q,WAAT,CAAqB1iR,IAArB,EAA2B0I,KAA3B,EAAkC;AAC9B,MAAI,OAAO8rJ,QAAP,KAAoB,WAApB,IAAmC,CAACA,QAAxC,EAAkD;AAC9C;AACA;AACA;AACA;AACA,UAAMoc,EAAE,GAAG4lD,wDAAA,GAAgBA,wDAAA,IAAiB,EAA5C;AACA5lD,IAAAA,EAAE,CAAC5wK,IAAD,CAAF,GAAW0I,KAAX;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMe,EAAE,GAAG,OAAO;AACd,oBAAkB0hD,yDADJ;AAEd,YAAU3rB,iDAAMA;AAFF,CAAP,CAAX;;AAIA,MAAMmjP,WAAW,gBAAIl5Q,EAAD,EAApB;AACA,MAAMm5Q,mBAAmB,GAAG,OAA5B;AACA,MAAMC,uBAAuB,GAAG,YAAhC;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,sBAAT,CAAgCz8Q,OAAhC,EAAyC;AACrC,SAAO2vN,iEAAe,CAAC3vN,OAAD,CAAtB;AACH;;AACD,SAAS08Q,gBAAT,CAA0BC,UAA1B,EAAsC;AAClCN,EAAAA,WAAW,CAACE,mBAAD,EAAsBE,sBAAtB,CAAX;AACAJ,EAAAA,WAAW,CAACG,uBAAD,EAA0B97Q,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBw9P,WAAlB,CAAd,EAA8CM,mBAAmB,CAACD,UAAU,IAAI,EAAf,CAAjE,CAA1B,CAAX;AACA,SAAO,MAAMF,sBAAb;AACH;;AACD,SAASG,mBAAT,CAA6BtiR,MAA7B,EAAqC;AACjC,SAAOA,MAAM,CAACgE,MAAP,CAAc,CAAC21E,IAAD,EAAOztE,CAAP,MAAcytE,IAAI,CAACztE,CAAC,CAAC7M,IAAH,CAAJ,GAAe6M,CAAC,CAACG,KAAjB,EAAwBstE,IAAtC,CAAd,EAA2D,EAA3D,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM4oM,kCAAkC,GAAG,EAA3C;AACA;AACA;AACA;;AACA,MAAMC,iCAAiC,GAAG,CACtC;AACI5lO,EAAAA,OAAO,EAAEgvJ,0DADb;AAEI/lI,EAAAA,UAAU,EAAEu8M,gBAFhB;AAGIx8M,EAAAA,IAAI,EAAE,CACF,CAAC+wI,uDAAD,eAAe,IAAIz3K,mDAAJ,EAAf,CADE,CAHV;AAMIh2B,EAAAA,KAAK,EAAE;AANX,CADsC,CAA1C;AAUA,MAAMu5Q,uBAAuB,GAAGF,kCAAhC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMG,qBAAqB,gBAAG,IAAIzjP,yDAAJ,CAAmB,qBAAnB,CAA9B;AACA;AACA;AACA;AACA;AACA;AACA;;IACM0jP;AAAN,QAAMA,YAAN,CAAmB;AACf;AACJ;AACA;AACIxhR,IAAAA,WAAW,CAACyhR,OAAD,EAAUnqE,KAAV,EAAiB;AACxB,WAAKA,KAAL,GAAaA,KAAb;AACA,WAAKoqE,kBAAL,GAA0B,IAAI76Q,GAAJ,EAA1B;AACA46Q,MAAAA,OAAO,CAAC5gR,OAAR,CAAgBoC,CAAC,IAAIA,CAAC,CAAC0+Q,OAAF,GAAY,IAAjC;AACA,WAAKC,QAAL,GAAgBH,OAAO,CAAC/jQ,KAAR,GAAgB0zE,OAAhB,EAAhB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIt5D,IAAAA,gBAAgB,CAACvzB,OAAD,EAAUqB,SAAV,EAAqB4vC,OAArB,EAA8B;AAC1C,YAAMqsO,MAAM,GAAG,KAAKC,cAAL,CAAoBl8Q,SAApB,CAAf;;AACA,aAAOi8Q,MAAM,CAAC/pP,gBAAP,CAAwBvzB,OAAxB,EAAiCqB,SAAjC,EAA4C4vC,OAA5C,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIusO,IAAAA,sBAAsB,CAAC5kQ,MAAD,EAASvX,SAAT,EAAoB4vC,OAApB,EAA6B;AAC/C,YAAMqsO,MAAM,GAAG,KAAKC,cAAL,CAAoBl8Q,SAApB,CAAf;;AACA,aAAOi8Q,MAAM,CAACE,sBAAP,CAA8B5kQ,MAA9B,EAAsCvX,SAAtC,EAAiD4vC,OAAjD,CAAP;AACH;AACD;AACJ;AACA;;;AACIwsO,IAAAA,OAAO,GAAG;AACN,aAAO,KAAK1qE,KAAZ;AACH;AACD;;;AACAwqE,IAAAA,cAAc,CAACl8Q,SAAD,EAAY;AACtB,YAAMi8Q,MAAM,GAAG,KAAKH,kBAAL,CAAwB56Q,GAAxB,CAA4BlB,SAA5B,CAAf;;AACA,UAAIi8Q,MAAJ,EAAY;AACR,eAAOA,MAAP;AACH;;AACD,YAAMJ,OAAO,GAAG,KAAKG,QAArB;;AACA,WAAK,IAAIz4Q,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGs4Q,OAAO,CAACt/Q,MAA5B,EAAoCgH,CAAC,EAArC,EAAyC;AACrC,cAAM04Q,MAAM,GAAGJ,OAAO,CAACt4Q,CAAD,CAAtB;;AACA,YAAI04Q,MAAM,CAAC99K,QAAP,CAAgBn+F,SAAhB,CAAJ,EAAgC;AAC5B,eAAK87Q,kBAAL,CAAwB36Q,GAAxB,CAA4BnB,SAA5B,EAAuCi8Q,MAAvC;;AACA,iBAAOA,MAAP;AACH;AACJ;;AACD,YAAM,IAAIp8Q,KAAJ,CAAW,2CAA0CG,SAAU,EAA/D,CAAN;AACH;;AA1Dc;;AA4DnB47Q,EAAAA,YAAY,CAAC32Q,IAAb,GAAoB,SAASo3Q,oBAAT,CAA8Bl3Q,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAIy2Q,YAAV,EAAwB79Q,sDAAA,CAAgB49Q,qBAAhB,CAAxB,EAAgE59Q,sDAAA,CAAgBA,iDAAhB,CAAhE,CAAP;AAAyG,GAAhK;;AACA69Q,EAAAA,YAAY,CAACx2Q,KAAb,GAAqB,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEs2Q,YAAT;AAAuBr2Q,IAAAA,OAAO,EAAEq2Q,YAAY,CAAC32Q;AAA7C,GAA1B,CAAnC;SA7DM22Q;;;AAkEN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOp2Q,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAKwC,CALvD;;AAMA,MAAM82Q,kBAAN,CAAyB;AACrBliR,EAAAA,WAAW,CAACwgF,IAAD,EAAO;AACd,SAAKA,IAAL,GAAYA,IAAZ;AACH;;AACDuhM,EAAAA,sBAAsB,CAACx9Q,OAAD,EAAUqB,SAAV,EAAqB4vC,OAArB,EAA8B;AAChD,UAAMr4B,MAAM,GAAGsqF,2DAAO,GAAGzmB,oBAAV,CAA+B,KAAKR,IAApC,EAA0Cj8E,OAA1C,CAAf;;AACA,QAAI,CAAC4Y,MAAL,EAAa;AACT,YAAM,IAAI1X,KAAJ,CAAW,4BAA2B0X,MAAO,cAAavX,SAAU,EAApE,CAAN;AACH;;AACD,WAAO,KAAKkyB,gBAAL,CAAsB3a,MAAtB,EAA8BvX,SAA9B,EAAyC4vC,OAAzC,CAAP;AACH;;AAVoB;AAazB;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM2sO;AAAN,QAAMA,gBAAN,CAAuB;AACnBniR,IAAAA,WAAW,GAAG;AACV;AACA,WAAKoiR,UAAL,GAAkB,IAAIhwQ,GAAJ,EAAlB;AACH;;AACDiwQ,IAAAA,SAAS,CAAC7jR,MAAD,EAAS;AACd,YAAM8jR,SAAS,GAAG,IAAIlwQ,GAAJ,EAAlB;AACA5T,MAAAA,MAAM,CAACqC,OAAP,CAAejC,KAAK,IAAI;AACpB,YAAI,CAAC,KAAKwjR,UAAL,CAAgB3vQ,GAAhB,CAAoB7T,KAApB,CAAL,EAAiC;AAC7B,eAAKwjR,UAAL,CAAgB5tQ,GAAhB,CAAoB5V,KAApB;;AACA0jR,UAAAA,SAAS,CAAC9tQ,GAAV,CAAc5V,KAAd;AACH;AACJ,OALD;AAMA,WAAK2jR,aAAL,CAAmBD,SAAnB;AACH;;AACDC,IAAAA,aAAa,CAACD,SAAD,EAAY,CAAG;;AAC5BE,IAAAA,YAAY,GAAG;AACX,aAAOj1Q,KAAK,CAACsgB,IAAN,CAAW,KAAKu0P,UAAhB,CAAP;AACH;;AAlBkB;;AAoBvBD,EAAAA,gBAAgB,CAACt3Q,IAAjB,GAAwB,SAAS43Q,wBAAT,CAAkC13Q,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAIo3Q,gBAAV,GAAP;AAAuC,GAAtG;;AACAA,EAAAA,gBAAgB,CAACn3Q,KAAjB,GAAyB,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEi3Q,gBAAT;AAA2Bh3Q,IAAAA,OAAO,EAAEg3Q,gBAAgB,CAACt3Q;AAArD,GAA1B,CAAvC;SArBMs3Q;;;AAsBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/2Q,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAE6B,CAF5C;;IAGMs3Q;AAAN,QAAMA,mBAAN,SAAkCP,gBAAlC,CAAmD;AAC/CniR,IAAAA,WAAW,CAACwgF,IAAD,EAAO;AACd;AACA,WAAKA,IAAL,GAAYA,IAAZ,CAFc,CAGd;;AACA,WAAKmiM,UAAL,GAAkB,IAAI97Q,GAAJ,EAAlB;;AACA,WAAK87Q,UAAL,CAAgB57Q,GAAhB,CAAoBy5E,IAAI,CAAC/lD,IAAzB,EAA+B,EAA/B;AACH;;AACDmoP,IAAAA,gBAAgB,CAACpkR,MAAD,EAAS8J,IAAT,EAAeu6Q,UAAf,EAA2B;AACvCrkR,MAAAA,MAAM,CAACqC,OAAP,CAAgBjC,KAAD,IAAW;AACtB,cAAMkkR,OAAO,GAAG,KAAKtiM,IAAL,CAAU7mD,aAAV,CAAwB,OAAxB,CAAhB;;AACAmpP,QAAAA,OAAO,CAAClpP,WAAR,GAAsBh7B,KAAtB;AACAikR,QAAAA,UAAU,CAAC7hR,IAAX,CAAgBsH,IAAI,CAAC4xB,WAAL,CAAiB4oP,OAAjB,CAAhB;AACH,OAJD;AAKH;;AACDC,IAAAA,OAAO,CAACC,QAAD,EAAW;AACd,YAAMH,UAAU,GAAG,EAAnB;;AACA,WAAKD,gBAAL,CAAsB,KAAKR,UAA3B,EAAuCY,QAAvC,EAAiDH,UAAjD;;AACA,WAAKF,UAAL,CAAgB57Q,GAAhB,CAAoBi8Q,QAApB,EAA8BH,UAA9B;AACH;;AACDI,IAAAA,UAAU,CAACD,QAAD,EAAW;AACjB,YAAMH,UAAU,GAAG,KAAKF,UAAL,CAAgB77Q,GAAhB,CAAoBk8Q,QAApB,CAAnB;;AACA,UAAIH,UAAJ,EAAgB;AACZA,QAAAA,UAAU,CAAChiR,OAAX,CAAmBw+F,WAAnB;AACH;;AACD,WAAKsjL,UAAL,CAAgBlqQ,MAAhB,CAAuBuqQ,QAAvB;AACH;;AACDT,IAAAA,aAAa,CAACD,SAAD,EAAY;AACrB,WAAKK,UAAL,CAAgB9hR,OAAhB,CAAwB,CAACgiR,UAAD,EAAaG,QAAb,KAA0B;AAC9C,aAAKJ,gBAAL,CAAsBN,SAAtB,EAAiCU,QAAjC,EAA2CH,UAA3C;AACH,OAFD;AAGH;;AACD7/O,IAAAA,WAAW,GAAG;AACV,WAAK2/O,UAAL,CAAgB9hR,OAAhB,CAAwBgiR,UAAU,IAAIA,UAAU,CAAChiR,OAAX,CAAmBw+F,WAAnB,CAAtC;AACH;;AAlC8C;;AAoCnDqjL,EAAAA,mBAAmB,CAAC73Q,IAApB,GAA2B,SAASq4Q,2BAAT,CAAqCn4Q,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAI23Q,mBAAV,EAA+B/+Q,sDAAA,CAAgB25B,qDAAhB,CAA/B,CAAP;AAAmE,GAAxI;;AACAolP,EAAAA,mBAAmB,CAAC13Q,KAApB,GAA4B,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEw3Q,mBAAT;AAA8Bv3Q,IAAAA,OAAO,EAAEu3Q,mBAAmB,CAAC73Q;AAA3D,GAA1B,CAA1C;SArCM63Q;;;AAyCN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOt3Q,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAKe,CAL9B;;AAMA,SAASi0F,WAAT,CAAqB8jL,SAArB,EAAgC;AAC5B17K,EAAAA,2DAAO,GAAGl0E,MAAV,CAAiB4vP,SAAjB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,cAAc,GAAG;AACnB,SAAO,4BADY;AAEnB,WAAS,8BAFU;AAGnB,WAAS,8BAHU;AAInB,SAAO,sCAJY;AAKnB,WAAS;AALU,CAAvB;AAOA,MAAMC,eAAe,GAAG,SAAxB;AACA,MAAM7oI,WAAW,GAAG,OAAOpvI,SAAP,KAAqB,WAArB,IAAoC,CAAC,CAACA,SAA1D;AACA,MAAMk4Q,kBAAkB,GAAG,QAA3B;AACA,MAAMC,SAAS,GAAI,WAAUD,kBAAmB,EAAhD;AACA,MAAME,YAAY,GAAI,cAAaF,kBAAmB,EAAtD;;AACA,SAASG,oBAAT,CAA8BC,gBAA9B,EAAgD;AAC5C,SAAOF,YAAY,CAACj5Q,OAAb,CAAqB84Q,eAArB,EAAsCK,gBAAtC,CAAP;AACH;;AACD,SAASC,iBAAT,CAA2BD,gBAA3B,EAA6C;AACzC,SAAOH,SAAS,CAACh5Q,OAAV,CAAkB84Q,eAAlB,EAAmCK,gBAAnC,CAAP;AACH;;AACD,SAASjlQ,aAAT,CAAuBmlQ,MAAvB,EAA+BplR,MAA/B,EAAuC2e,MAAvC,EAA+C;AAC3C,OAAK,IAAIhU,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG3K,MAAM,CAAC2D,MAA3B,EAAmCgH,CAAC,EAApC,EAAwC;AACpC,QAAIvK,KAAK,GAAGJ,MAAM,CAAC2K,CAAD,CAAlB;;AACA,QAAIoE,KAAK,CAACC,OAAN,CAAc5O,KAAd,CAAJ,EAA0B;AACtB6f,MAAAA,aAAa,CAACmlQ,MAAD,EAAShlR,KAAT,EAAgBue,MAAhB,CAAb;AACH,KAFD,MAGK;AACDve,MAAAA,KAAK,GAAGA,KAAK,CAAC2L,OAAN,CAAc84Q,eAAd,EAA+BO,MAA/B,CAAR;AACAzmQ,MAAAA,MAAM,CAACnc,IAAP,CAAYpC,KAAZ;AACH;AACJ;;AACD,SAAOue,MAAP;AACH;;AACD,SAAS0mQ,sBAAT,CAAgCC,YAAhC,EAA8C;AAC1C;AACA;AACA;AACA;AACA,SAAQj+Q,KAAD,IAAW;AACd;AACA;AACA;AACA;AACA,QAAIA,KAAK,KAAK,cAAd,EAA8B;AAC1B,aAAOi+Q,YAAP;AACH;;AACD,UAAMC,oBAAoB,GAAGD,YAAY,CAACj+Q,KAAD,CAAzC;;AACA,QAAIk+Q,oBAAoB,KAAK,KAA7B,EAAoC;AAChC;AACAl+Q,MAAAA,KAAK,CAAC6hC,cAAN;AACA7hC,MAAAA,KAAK,CAACs+J,WAAN,GAAoB,KAApB;AACH;;AACD,WAAO79J,SAAP;AACH,GAfD;AAgBH;;AACD,IAAI09Q,mCAAmC,GAAG,KAA1C;IACMC;AAAN,QAAMA,mBAAN,CAA0B;AACtBjkR,IAAAA,WAAW,CAACkkR,YAAD,EAAeC,gBAAf,EAAiCC,KAAjC,EAAwC;AAC/C,WAAKF,YAAL,GAAoBA,YAApB;AACA,WAAKC,gBAAL,GAAwBA,gBAAxB;AACA,WAAKC,KAAL,GAAaA,KAAb;AACA,WAAKC,gBAAL,GAAwB,IAAIx9Q,GAAJ,EAAxB;AACA,WAAKy9Q,eAAL,GAAuB,IAAIC,mBAAJ,CAAwBL,YAAxB,CAAvB;AACH;;AACD9+J,IAAAA,cAAc,CAAC7gH,OAAD,EAAUnG,IAAV,EAAgB;AAC1B,UAAI,CAACmG,OAAD,IAAY,CAACnG,IAAjB,EAAuB;AACnB,eAAO,KAAKkmR,eAAZ;AACH;;AACD,cAAQlmR,IAAI,CAAC05E,aAAb;AACI,aAAK3K,qEAAL;AAAiC;AAC7B,gBAAI83C,QAAQ,GAAG,KAAKo/J,gBAAL,CAAsBv9Q,GAAtB,CAA0B1I,IAAI,CAACgJ,EAA/B,CAAf;;AACA,gBAAI,CAAC69G,QAAL,EAAe;AACXA,cAAAA,QAAQ,GAAG,IAAIu/J,iCAAJ,CAAsC,KAAKN,YAA3C,EAAyD,KAAKC,gBAA9D,EAAgF/lR,IAAhF,EAAsF,KAAKgmR,KAA3F,CAAX;AACA,mBAAKC,gBAAL,CAAsBt9Q,GAAtB,CAA0B3I,IAAI,CAACgJ,EAA/B,EAAmC69G,QAAnC;AACH;;AACDA,YAAAA,QAAQ,CAACw/J,WAAT,CAAqBlgR,OAArB;AACA,mBAAO0gH,QAAP;AACH;AACD;AACA;;AACA,aAAK,CAAL;AACA,aAAK93C,sEAAL;AACI;AACA,cAAI,CAAC,OAAO/hE,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KACA;AACA;AACA;AACA,WAAC44Q,mCAJD,IAIwC5lR,IAAI,CAAC05E,aAAL,KAAuB,CAJnE,EAIsE;AAClEksM,YAAAA,mCAAmC,GAAG,IAAtC;AACAlpP,YAAAA,OAAO,CAACC,IAAR,CAAa,oIAAb;AACH;;AACD,iBAAO,IAAI2pP,iBAAJ,CAAsB,KAAKR,YAA3B,EAAyC,KAAKC,gBAA9C,EAAgE5/Q,OAAhE,EAAyEnG,IAAzE,CAAP;;AACJ;AAAS;AACL,gBAAI,CAAC,KAAKimR,gBAAL,CAAsB5xQ,GAAtB,CAA0BrU,IAAI,CAACgJ,EAA/B,CAAL,EAAyC;AACrC,oBAAM5I,MAAM,GAAGigB,aAAa,CAACrgB,IAAI,CAACgJ,EAAN,EAAUhJ,IAAI,CAACI,MAAf,EAAuB,EAAvB,CAA5B;AACA,mBAAK2lR,gBAAL,CAAsB9B,SAAtB,CAAgC7jR,MAAhC;AACA,mBAAK6lR,gBAAL,CAAsBt9Q,GAAtB,CAA0B3I,IAAI,CAACgJ,EAA/B,EAAmC,KAAKk9Q,eAAxC;AACH;;AACD,mBAAO,KAAKA,eAAZ;AACH;AA/BL;AAiCH;;AACD9gI,IAAAA,KAAK,GAAG,CAAG;;AACX3zE,IAAAA,GAAG,GAAG,CAAG;;AA/Ca;;AAiD1Bo0M,EAAAA,mBAAmB,CAACp5Q,IAApB,GAA2B,SAAS85Q,2BAAT,CAAqC55Q,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAIk5Q,mBAAV,EAA+BtgR,sDAAA,CAAgB69Q,YAAhB,CAA/B,EAA8D79Q,sDAAA,CAAgB++Q,mBAAhB,CAA9D,EAAoG/+Q,sDAAA,CAAgB2nM,iDAAhB,CAApG,CAAP;AAAsI,GAA3M;;AACA24E,EAAAA,mBAAmB,CAACj5Q,KAApB,GAA4B,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAE+4Q,mBAAT;AAA8B94Q,IAAAA,OAAO,EAAE84Q,mBAAmB,CAACp5Q;AAA3D,GAA1B,CAA1C;SAlDMo5Q;;;AAwDN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO74Q,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAKe,CAL9B;;AAMA,MAAMm5Q,mBAAN,CAA0B;AACtBvkR,EAAAA,WAAW,CAACkkR,YAAD,EAAe;AACtB,SAAKA,YAAL,GAAoBA,YAApB;AACA,SAAK39Q,IAAL,GAAYtB,MAAM,CAACmZ,MAAP,CAAc,IAAd,CAAZ;AACH;;AACDzc,EAAAA,OAAO,GAAG,CAAG;;AACbg4B,EAAAA,aAAa,CAACz7B,IAAD,EAAOgnI,SAAP,EAAkB;AAC3B,QAAIA,SAAJ,EAAe;AACX;AACA;AACA,aAAOphI,QAAQ,CAACqhI,eAAT,CAAyBi+I,cAAc,CAACl+I,SAAD,CAAd,IAA6BA,SAAtD,EAAiEhnI,IAAjE,CAAP;AACH;;AACD,WAAO4F,QAAQ,CAAC61B,aAAT,CAAuBz7B,IAAvB,CAAP;AACH;;AACDusE,EAAAA,aAAa,CAAC7jE,KAAD,EAAQ;AACjB,WAAO9C,QAAQ,CAAC2mE,aAAT,CAAuB7jE,KAAvB,CAAP;AACH;;AACDi+H,EAAAA,UAAU,CAACj+H,KAAD,EAAQ;AACd,WAAO9C,QAAQ,CAAC8gI,cAAT,CAAwBh+H,KAAxB,CAAP;AACH;;AACDszB,EAAAA,WAAW,CAACnQ,MAAD,EAAS8wL,QAAT,EAAmB;AAC1B9wL,IAAAA,MAAM,CAACmQ,WAAP,CAAmB2gL,QAAnB;AACH;;AACDxuL,EAAAA,YAAY,CAACtC,MAAD,EAAS8wL,QAAT,EAAmBD,QAAnB,EAA6B;AACrC,QAAI7wL,MAAJ,EAAY;AACRA,MAAAA,MAAM,CAACsC,YAAP,CAAoBwuL,QAApB,EAA8BD,QAA9B;AACH;AACJ;;AACDhgL,EAAAA,WAAW,CAAC7Q,MAAD,EAASkhM,QAAT,EAAmB;AAC1B,QAAIlhM,MAAJ,EAAY;AACRA,MAAAA,MAAM,CAAC6Q,WAAP,CAAmBqwL,QAAnB;AACH;AACJ;;AACDjmE,EAAAA,iBAAiB,CAACmzD,cAAD,EAAiBrzD,eAAjB,EAAkC;AAC/C,QAAIjkH,EAAE,GAAG,OAAOs3K,cAAP,KAA0B,QAA1B,GAAqCr0M,QAAQ,CAACuF,aAAT,CAAuB8uM,cAAvB,CAArC,GACLA,cADJ;;AAEA,QAAI,CAACt3K,EAAL,EAAS;AACL,YAAM,IAAIp7B,KAAJ,CAAW,iBAAgB0yM,cAAe,8BAA1C,CAAN;AACH;;AACD,QAAI,CAACrzD,eAAL,EAAsB;AAClBjkH,MAAAA,EAAE,CAACjH,WAAH,GAAiB,EAAjB;AACH;;AACD,WAAOiH,EAAP;AACH;;AACDx4B,EAAAA,UAAU,CAACkI,IAAD,EAAO;AACb,WAAOA,IAAI,CAAClI,UAAZ;AACH;;AACDgkC,EAAAA,WAAW,CAAC97B,IAAD,EAAO;AACd,WAAOA,IAAI,CAAC87B,WAAZ;AACH;;AACDl+B,EAAAA,YAAY,CAAC0yB,EAAD,EAAK3iC,IAAL,EAAW0I,KAAX,EAAkBs+H,SAAlB,EAA6B;AACrC,QAAIA,SAAJ,EAAe;AACXhnI,MAAAA,IAAI,GAAGgnI,SAAS,GAAG,GAAZ,GAAkBhnI,IAAzB,CADW,CAEX;AACA;;AACA,YAAM0mR,YAAY,GAAGxB,cAAc,CAACl+I,SAAD,CAAnC;;AACA,UAAI0/I,YAAJ,EAAkB;AACd/jP,QAAAA,EAAE,CAACiuF,cAAH,CAAkB81J,YAAlB,EAAgC1mR,IAAhC,EAAsC0I,KAAtC;AACH,OAFD,MAGK;AACDi6B,QAAAA,EAAE,CAAC1yB,YAAH,CAAgBjQ,IAAhB,EAAsB0I,KAAtB;AACH;AACJ,KAXD,MAYK;AACDi6B,MAAAA,EAAE,CAAC1yB,YAAH,CAAgBjQ,IAAhB,EAAsB0I,KAAtB;AACH;AACJ;;AACDw6B,EAAAA,eAAe,CAACP,EAAD,EAAK3iC,IAAL,EAAWgnI,SAAX,EAAsB;AACjC,QAAIA,SAAJ,EAAe;AACX;AACA;AACA,YAAM0/I,YAAY,GAAGxB,cAAc,CAACl+I,SAAD,CAAnC;;AACA,UAAI0/I,YAAJ,EAAkB;AACd/jP,QAAAA,EAAE,CAACgkP,iBAAH,CAAqBD,YAArB,EAAmC1mR,IAAnC;AACH,OAFD,MAGK;AACD;AACA;AACA;AACA2iC,QAAAA,EAAE,CAACO,eAAH,CAAoB,GAAE8jG,SAAU,IAAGhnI,IAAK,EAAxC;AACH;AACJ,KAbD,MAcK;AACD2iC,MAAAA,EAAE,CAACO,eAAH,CAAmBljC,IAAnB;AACH;AACJ;;AACDkpB,EAAAA,QAAQ,CAACyZ,EAAD,EAAK3iC,IAAL,EAAW;AACf2iC,IAAAA,EAAE,CAACxN,SAAH,CAAa7e,GAAb,CAAiBtW,IAAjB;AACH;;AACDmqB,EAAAA,WAAW,CAACwY,EAAD,EAAK3iC,IAAL,EAAW;AAClB2iC,IAAAA,EAAE,CAACxN,SAAH,CAAaE,MAAb,CAAoBr1B,IAApB;AACH;;AACDkhG,EAAAA,QAAQ,CAACv+D,EAAD,EAAKjiC,KAAL,EAAYgI,KAAZ,EAAmBmyG,KAAnB,EAA0B;AAC9B,QAAIA,KAAK,IAAI2nB,uEAAA,GAA+BA,wEAAnC,CAAT,EAA4E;AACxE7/F,MAAAA,EAAE,CAACjiC,KAAH,CAASq6B,WAAT,CAAqBr6B,KAArB,EAA4BgI,KAA5B,EAAmCmyG,KAAK,GAAG2nB,wEAAR,GAAwC,WAAxC,GAAsD,EAAzF;AACH,KAFD,MAGK;AACD7/F,MAAAA,EAAE,CAACjiC,KAAH,CAASA,KAAT,IAAkBgI,KAAlB;AACH;AACJ;;AACDy4F,EAAAA,WAAW,CAACx+D,EAAD,EAAKjiC,KAAL,EAAYm6G,KAAZ,EAAmB;AAC1B,QAAIA,KAAK,GAAG2nB,uEAAZ,EAA0C;AACtC7/F,MAAAA,EAAE,CAACjiC,KAAH,CAASs6B,cAAT,CAAwBt6B,KAAxB;AACH,KAFD,MAGK;AACD;AACA;AACAiiC,MAAAA,EAAE,CAACjiC,KAAH,CAASA,KAAT,IAAkB,EAAlB;AACH;AACJ;;AACDq6B,EAAAA,WAAW,CAAC4H,EAAD,EAAK3iC,IAAL,EAAW0I,KAAX,EAAkB;AACzB4zI,IAAAA,WAAW,IAAIsqI,oBAAoB,CAAC5mR,IAAD,EAAO,UAAP,CAAnC;AACA2iC,IAAAA,EAAE,CAAC3iC,IAAD,CAAF,GAAW0I,KAAX;AACH;;AACDm+H,EAAAA,QAAQ,CAACx0H,IAAD,EAAO3J,KAAP,EAAc;AAClB2J,IAAAA,IAAI,CAAC0gI,SAAL,GAAiBrqI,KAAjB;AACH;;AACDye,EAAAA,MAAM,CAAClI,MAAD,EAAStX,KAAT,EAAgBC,QAAhB,EAA0B;AAC5B00I,IAAAA,WAAW,IAAIsqI,oBAAoB,CAACj/Q,KAAD,EAAQ,UAAR,CAAnC;;AACA,QAAI,OAAOsX,MAAP,KAAkB,QAAtB,EAAgC;AAC5B,aAAO,KAAK+mQ,YAAL,CAAkBnC,sBAAlB,CAAyC5kQ,MAAzC,EAAiDtX,KAAjD,EAAwDg+Q,sBAAsB,CAAC/9Q,QAAD,CAA9E,CAAP;AACH;;AACD,WAAO,KAAKo+Q,YAAL,CAAkBpsP,gBAAlB,CAAmC3a,MAAnC,EAA2CtX,KAA3C,EAAkDg+Q,sBAAsB,CAAC/9Q,QAAD,CAAxE,CAAP;AACH;;AA3HqB;;AA6H1B,MAAMwb,IAAI,GAAG,MAAM,IAAI4tG,UAAJ,CAAe,CAAf,CAAnB;;AACA,MAAM61J,WAAW,gBAAIzjQ,IAAD,EAApB;;AACA,SAASwjQ,oBAAT,CAA8B5mR,IAA9B,EAAoC8mR,QAApC,EAA8C;AAC1C,MAAI9mR,IAAI,CAACgxH,UAAL,CAAgB,CAAhB,MAAuB61J,WAA3B,EAAwC;AACpC,UAAM,IAAIt/Q,KAAJ,CAAW,wBAAuBu/Q,QAAS,IAAG9mR,IAAK;AACjE;AACA,qEAAqEA,IAAK,gIAF5D,CAAN;AAGH;AACJ;;AACD,MAAMsmR,iCAAN,SAAgDD,mBAAhD,CAAoE;AAChEvkR,EAAAA,WAAW,CAACkkR,YAAD,EAAeC,gBAAf,EAAiC36M,SAAjC,EAA4C46M,KAA5C,EAAmD;AAC1D,UAAMF,YAAN;AACA,SAAK16M,SAAL,GAAiBA,SAAjB;AACA,UAAMhrE,MAAM,GAAGigB,aAAa,CAAC2lQ,KAAK,GAAG,GAAR,GAAc56M,SAAS,CAACpiE,EAAzB,EAA6BoiE,SAAS,CAAChrE,MAAvC,EAA+C,EAA/C,CAA5B;AACA2lR,IAAAA,gBAAgB,CAAC9B,SAAjB,CAA2B7jR,MAA3B;AACA,SAAKymR,WAAL,GAAmBxB,oBAAoB,CAACW,KAAK,GAAG,GAAR,GAAc56M,SAAS,CAACpiE,EAAzB,CAAvC;AACA,SAAK89Q,QAAL,GAAgBvB,iBAAiB,CAACS,KAAK,GAAG,GAAR,GAAc56M,SAAS,CAACpiE,EAAzB,CAAjC;AACH;;AACDq9Q,EAAAA,WAAW,CAAClgR,OAAD,EAAU;AACjB,UAAM4J,YAAN,CAAmB5J,OAAnB,EAA4B,KAAK2gR,QAAjC,EAA2C,EAA3C;AACH;;AACDvrP,EAAAA,aAAa,CAAC5P,MAAD,EAAS7rB,IAAT,EAAe;AACxB,UAAM2iC,EAAE,GAAG,MAAMlH,aAAN,CAAoB5P,MAApB,EAA4B7rB,IAA5B,CAAX;AACA,UAAMiQ,YAAN,CAAmB0yB,EAAnB,EAAuB,KAAKokP,WAA5B,EAAyC,EAAzC;AACA,WAAOpkP,EAAP;AACH;;AAhB+D;;AAkBpE,MAAM6jP,iBAAN,SAAgCH,mBAAhC,CAAoD;AAChDvkR,EAAAA,WAAW,CAACkkR,YAAD,EAAeC,gBAAf,EAAiCgB,MAAjC,EAAyC37M,SAAzC,EAAoD;AAC3D,UAAM06M,YAAN;AACA,SAAKC,gBAAL,GAAwBA,gBAAxB;AACA,SAAKgB,MAAL,GAAcA,MAAd;AACA,SAAK58M,UAAL,GAAkB48M,MAAM,CAAC78M,YAAP,CAAoB;AAAEhvB,MAAAA,IAAI,EAAE;AAAR,KAApB,CAAlB;AACA,SAAK6qO,gBAAL,CAAsBpB,OAAtB,CAA8B,KAAKx6M,UAAnC;AACA,UAAM/pE,MAAM,GAAGigB,aAAa,CAAC+qD,SAAS,CAACpiE,EAAX,EAAeoiE,SAAS,CAAChrE,MAAzB,EAAiC,EAAjC,CAA5B;;AACA,SAAK,IAAI2K,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG3K,MAAM,CAAC2D,MAA3B,EAAmCgH,CAAC,EAApC,EAAwC;AACpC,YAAM25Q,OAAO,GAAGh/Q,QAAQ,CAAC61B,aAAT,CAAuB,OAAvB,CAAhB;AACAmpP,MAAAA,OAAO,CAAClpP,WAAR,GAAsBp7B,MAAM,CAAC2K,CAAD,CAA5B;AACA,WAAKo/D,UAAL,CAAgBruC,WAAhB,CAA4B4oP,OAA5B;AACH;AACJ;;AACDsC,EAAAA,gBAAgB,CAAC70Q,IAAD,EAAO;AACnB,WAAOA,IAAI,KAAK,KAAK40Q,MAAd,GAAuB,KAAK58M,UAA5B,GAAyCh4D,IAAhD;AACH;;AACD5O,EAAAA,OAAO,GAAG;AACN,SAAKwiR,gBAAL,CAAsBlB,UAAtB,CAAiC,KAAK16M,UAAtC;AACH;;AACDruC,EAAAA,WAAW,CAACnQ,MAAD,EAAS8wL,QAAT,EAAmB;AAC1B,WAAO,MAAM3gL,WAAN,CAAkB,KAAKkrP,gBAAL,CAAsBr7P,MAAtB,CAAlB,EAAiD8wL,QAAjD,CAAP;AACH;;AACDxuL,EAAAA,YAAY,CAACtC,MAAD,EAAS8wL,QAAT,EAAmBD,QAAnB,EAA6B;AACrC,WAAO,MAAMvuL,YAAN,CAAmB,KAAK+4P,gBAAL,CAAsBr7P,MAAtB,CAAnB,EAAkD8wL,QAAlD,EAA4DD,QAA5D,CAAP;AACH;;AACDhgL,EAAAA,WAAW,CAAC7Q,MAAD,EAASkhM,QAAT,EAAmB;AAC1B,WAAO,MAAMrwL,WAAN,CAAkB,KAAKwqP,gBAAL,CAAsBr7P,MAAtB,CAAlB,EAAiDkhM,QAAjD,CAAP;AACH;;AACD5iN,EAAAA,UAAU,CAACkI,IAAD,EAAO;AACb,WAAO,KAAK60Q,gBAAL,CAAsB,MAAM/8Q,UAAN,CAAiB,KAAK+8Q,gBAAL,CAAsB70Q,IAAtB,CAAjB,CAAtB,CAAP;AACH;;AA/B+C;AAkCpD;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM80Q;AAAN,QAAMA,eAAN,SAA8BnD,kBAA9B,CAAiD;AAC7CliR,IAAAA,WAAW,CAACi3C,GAAD,EAAM;AACb,YAAMA,GAAN;AACH,KAH4C,CAI7C;AACA;;;AACA8sD,IAAAA,QAAQ,CAACn+F,SAAD,EAAY;AAChB,aAAO,IAAP;AACH;;AACDkyB,IAAAA,gBAAgB,CAACvzB,OAAD,EAAUqB,SAAV,EAAqB4vC,OAArB,EAA8B;AAC1CjxC,MAAAA,OAAO,CAACuzB,gBAAR,CAAyBlyB,SAAzB,EAAoC4vC,OAApC,EAA6C,KAA7C;AACA,aAAO,MAAM,KAAK3d,mBAAL,CAAyBtzB,OAAzB,EAAkCqB,SAAlC,EAA6C4vC,OAA7C,CAAb;AACH;;AACD3d,IAAAA,mBAAmB,CAAC1a,MAAD,EAASvX,SAAT,EAAoBE,QAApB,EAA8B;AAC7C,aAAOqX,MAAM,CAAC0a,mBAAP,CAA2BjyB,SAA3B,EAAsCE,QAAtC,CAAP;AACH;;AAf4C;;AAiBjDu/Q,EAAAA,eAAe,CAACx6Q,IAAhB,GAAuB,SAASy6Q,uBAAT,CAAiCv6Q,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAIs6Q,eAAV,EAA2B1hR,sDAAA,CAAgB25B,qDAAhB,CAA3B,CAAP;AAA+D,GAA5H;;AACA+nP,EAAAA,eAAe,CAACr6Q,KAAhB,GAAwB,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEm6Q,eAAT;AAA0Bl6Q,IAAAA,OAAO,EAAEk6Q,eAAe,CAACx6Q;AAAnD,GAA1B,CAAtC;SAlBMw6Q;;;AAsBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOj6Q,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAKe,CAL9B;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMm6Q,WAAW,GAAG;AAChB;AACA,SAAO,IAFS;AAGhB,cAAY,IAHI;AAIhB,aAAW,IAJK;AAKhB,YAAU,IALM;AAMhB,eAAa,IANG;AAOhB,aAAW,IAPK;AAQhB,cAAY,IARI;AAShB,WAAS,IATO;AAUhB,aAAW,IAVK;AAWhB;AACA,WAAS,IAZO;AAahB,gBAAc,IAbE;AAchB,eAAa,IAdG;AAehB,cAAY,IAfI;AAgBhB,iBAAe,IAhBC;AAiBhB,aAAW,IAjBK;AAkBhB,cAAY,IAlBI;AAmBhB;AACA,WAAS,IApBO;AAqBhB,aAAW,IArBK;AAsBhB;AACA,YAAU,IAvBM;AAwBhB,iBAAe,IAxBC;AAyBhB,gBAAc,IAzBE;AA0BhB,eAAa,IA1BG;AA2BhB,kBAAgB,IA3BA;AA4BhB;AACA,WAAS,IA7BO;AA8BhB,eAAa,IA9BG;AA+BhB,gBAAc,IA/BE;AAgChB,aAAW,IAhCK;AAiChB,eAAa,IAjCG;AAkChB;AACA,SAAO,IAnCS;AAoChB,eAAa;AApCG,CAApB;AAsCA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,qBAAqB,gBAAG,IAAI1nP,yDAAJ,CAAmB,qBAAnB,CAA9B;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM2nP,aAAa,gBAAG,IAAI3nP,yDAAJ,CAAmB,cAAnB,CAAtB;AACA;AACA;AACA;AACA;AACA;;IACM4nP;AAAN,QAAMA,mBAAN,CAA0B;AACtB1lR,IAAAA,WAAW,GAAG;AACV;AACR;AACA;AACA;AACA;AACQ,WAAK2lR,MAAL,GAAc,EAAd;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,WAAKC,SAAL,GAAiB,EAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIC,IAAAA,WAAW,CAACthR,OAAD,EAAU;AACjB,YAAMuhR,EAAE,GAAG,IAAIC,MAAJ,CAAWxhR,OAAX,EAAoB,KAAKlG,OAAzB,CAAX;AACAynR,MAAAA,EAAE,CAACh/Q,GAAH,CAAO,OAAP,EAAgBC,GAAhB,CAAoB;AAAE4jD,QAAAA,MAAM,EAAE;AAAV,OAApB;AACAm7N,MAAAA,EAAE,CAACh/Q,GAAH,CAAO,QAAP,EAAiBC,GAAjB,CAAqB;AAAE4jD,QAAAA,MAAM,EAAE;AAAV,OAArB;;AACA,WAAK,MAAM/kD,SAAX,IAAwB,KAAKggR,SAA7B,EAAwC;AACpCE,QAAAA,EAAE,CAACh/Q,GAAH,CAAOlB,SAAP,EAAkBmB,GAAlB,CAAsB,KAAK6+Q,SAAL,CAAehgR,SAAf,CAAtB;AACH;;AACD,aAAOkgR,EAAP;AACH;;AAxCqB;;AA0C1BJ,EAAAA,mBAAmB,CAAC76Q,IAApB,GAA2B,SAASm7Q,2BAAT,CAAqCj7Q,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAI26Q,mBAAV,GAAP;AAA0C,GAA/G;;AACAA,EAAAA,mBAAmB,CAAC16Q,KAApB,GAA4B,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEw6Q,mBAAT;AAA8Bv6Q,IAAAA,OAAO,EAAEu6Q,mBAAmB,CAAC76Q;AAA3D,GAA1B,CAA1C;SA3CM66Q;;;AA4CN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOt6Q,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAE6B,CAF5C;AAGA;AACA;AACA;AACA;AACA;;;IACM66Q;AAAN,QAAMA,oBAAN,SAAmC/D,kBAAnC,CAAsD;AAClDliR,IAAAA,WAAW,CAACi3C,GAAD,EAAM8U,OAAN,EAAejxB,OAAf,EAAwBwoG,MAAxB,EAAgC;AACvC,YAAMrsF,GAAN;AACA,WAAK8U,OAAL,GAAeA,OAAf;AACA,WAAKjxB,OAAL,GAAeA,OAAf;AACA,WAAKwoG,MAAL,GAAcA,MAAd;AACA,WAAK4iJ,cAAL,GAAsB,IAAtB;AACH;;AACDniL,IAAAA,QAAQ,CAACn+F,SAAD,EAAY;AAChB,UAAI,CAAC2/Q,WAAW,CAAC94Q,cAAZ,CAA2B7G,SAAS,CAACkK,WAAV,EAA3B,CAAD,IAAwD,CAAC,KAAKq2Q,aAAL,CAAmBvgR,SAAnB,CAA7D,EAA4F;AACxF,eAAO,KAAP;AACH;;AACD,UAAI,CAAC/B,MAAM,CAACkiR,MAAR,IAAkB,CAAC,KAAKziJ,MAA5B,EAAoC;AAChC,YAAI,OAAOl4H,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,eAAK0vB,OAAL,CAAaC,IAAb,CAAmB,QAAOn1B,SAAU,mDAAlB,GACb,iDADL;AAEH;;AACD,eAAO,KAAP;AACH;;AACD,aAAO,IAAP;AACH;;AACDkyB,IAAAA,gBAAgB,CAACvzB,OAAD,EAAUqB,SAAV,EAAqB4vC,OAArB,EAA8B;AAC1C,YAAMg6C,IAAI,GAAG,KAAKmyL,OAAL,CAAaK,OAAb,EAAb;AACAp8Q,MAAAA,SAAS,GAAGA,SAAS,CAACkK,WAAV,EAAZ,CAF0C,CAG1C;AACA;;AACA,UAAI,CAACjM,MAAM,CAACkiR,MAAR,IAAkB,KAAKziJ,MAA3B,EAAmC;AAC/B,aAAK4iJ,cAAL,GAAsB,KAAKA,cAAL,IAAuB,KAAK5iJ,MAAL,EAA7C,CAD+B,CAE/B;AACA;AACA;;AACA,YAAI8iJ,kBAAkB,GAAG,KAAzB;;AACA,YAAI99P,UAAU,GAAG,MAAM;AACnB89P,UAAAA,kBAAkB,GAAG,IAArB;AACH,SAFD;;AAGA,aAAKF,cAAL,CACKpmR,IADL,CACU,MAAM;AACZ;AACA,cAAI,CAAC+D,MAAM,CAACkiR,MAAZ,EAAoB;AAChB,gBAAI,OAAO36Q,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,mBAAK0vB,OAAL,CAAaC,IAAb,CAAmB,mEAAnB;AACH;;AACDzS,YAAAA,UAAU,GAAG,MAAM,CAAG,CAAtB;;AACA;AACH;;AACD,cAAI,CAAC89P,kBAAL,EAAyB;AACrB;AACA;AACA99P,YAAAA,UAAU,GAAG,KAAKwP,gBAAL,CAAsBvzB,OAAtB,EAA+BqB,SAA/B,EAA0C4vC,OAA1C,CAAb;AACH;AACJ,SAfD,EAgBK41J,KAhBL,CAgBW,MAAM;AACb,cAAI,OAAOhgM,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,iBAAK0vB,OAAL,CAAaC,IAAb,CAAmB,QAAOn1B,SAAU,6CAAlB,GACb,0BADL;AAEH;;AACD0iB,UAAAA,UAAU,GAAG,MAAM,CAAG,CAAtB;AACH,SAtBD,EAT+B,CAgC/B;AACA;AACA;;;AACA,eAAO,MAAM;AACTA,UAAAA,UAAU;AACb,SAFD;AAGH;;AACD,aAAOknE,IAAI,CAACrjD,iBAAL,CAAuB,MAAM;AAChC;AACA,cAAM25O,EAAE,GAAG,KAAK/5N,OAAL,CAAa85N,WAAb,CAAyBthR,OAAzB,CAAX;;AACA,cAAMuB,QAAQ,GAAG,UAAUs1M,QAAV,EAAoB;AACjC5rH,UAAAA,IAAI,CAACygH,UAAL,CAAgB,YAAY;AACxBz6J,YAAAA,OAAO,CAAC4lK,QAAD,CAAP;AACH,WAFD;AAGH,SAJD;;AAKA0qE,QAAAA,EAAE,CAACO,EAAH,CAAMzgR,SAAN,EAAiBE,QAAjB;AACA,eAAO,MAAM;AACTggR,UAAAA,EAAE,CAACQ,GAAH,CAAO1gR,SAAP,EAAkBE,QAAlB,EADS,CAET;;AACA,cAAI,OAAOggR,EAAE,CAACnkR,OAAV,KAAsB,UAA1B,EAAsC;AAClCmkR,YAAAA,EAAE,CAACnkR,OAAH;AACH;AACJ,SAND;AAOH,OAhBM,CAAP;AAiBH;;AACDwkR,IAAAA,aAAa,CAACvgR,SAAD,EAAY;AACrB,aAAO,KAAKmmD,OAAL,CAAa45N,MAAb,CAAoBx+Q,OAApB,CAA4BvB,SAA5B,IAAyC,CAAC,CAAjD;AACH;;AArFiD;;AAuFtDqgR,EAAAA,oBAAoB,CAACp7Q,IAArB,GAA4B,SAAS07Q,4BAAT,CAAsCx7Q,CAAtC,EAAyC;AAAE,WAAO,KAAKA,CAAC,IAAIk7Q,oBAAV,EAAgCtiR,sDAAA,CAAgB25B,qDAAhB,CAAhC,EAA2D35B,sDAAA,CAAgB6hR,qBAAhB,CAA3D,EAAmG7hR,sDAAA,CAAgBA,sDAAhB,CAAnG,EAAqIA,sDAAA,CAAgB8hR,aAAhB,EAA+B,CAA/B,CAArI,CAAP;AAAiL,GAAxP;;AACAQ,EAAAA,oBAAoB,CAACj7Q,KAArB,GAA6B,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAE+6Q,oBAAT;AAA+B96Q,IAAAA,OAAO,EAAE86Q,oBAAoB,CAACp7Q;AAA7D,GAA1B,CAA3C;SAxFMo7Q;;;AA+FN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO76Q,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAae,CAb9B;AAcA;AACA;AACA;AACA;AACA;;;AACA,MAAMo7Q,2BAA2B,GAAG,EAApC;AACA;AACA;AACA;;AACA,MAAMC,0BAA0B,GAAG,CAC/B;AACIhrO,EAAAA,OAAO,EAAE8lO,qBADb;AAEIjnM,EAAAA,QAAQ,EAAE2rM,oBAFd;AAGIl+Q,EAAAA,KAAK,EAAE,IAHX;AAII08D,EAAAA,IAAI,EAAE,CAACnnC,qDAAD,EAAWkoP,qBAAX,EAAkCt4D,sDAAlC,EAA4C,cAAC,IAAInvL,mDAAJ,EAAD,EAAiB0nP,aAAjB,CAA5C;AAJV,CAD+B,EAO/B;AAAEhqO,EAAAA,OAAO,EAAE+pO,qBAAX;AAAkClrM,EAAAA,QAAQ,EAAEorM,mBAA5C;AAAiEjhN,EAAAA,IAAI,EAAE;AAAvE,CAP+B,CAAnC;AASA,MAAMiiN,gBAAgB,GAAGF,2BAAzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMG;AAAN,QAAMA,YAAN,CAAmB;;AAEnBA,EAAAA,YAAY,CAAC97Q,IAAb,GAAoB,SAAS+7Q,oBAAT,CAA8B77Q,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAI47Q,YAAV,GAAP;AAAmC,GAA1F;;AACAA,EAAAA,YAAY,CAAChtO,IAAb,GAAoB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEuoR;AAAR,GAAxB,CAAlC;AACAA,EAAAA,YAAY,CAAC9sO,IAAb,GAAoB,aAAcl2C,8DAAA,CAAwB;AAAEilD,IAAAA,SAAS,EAAE69N;AAAb,GAAxB,CAAlC;SAJME;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOv7Q,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGO,CAHtB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMy7Q,aAAa,GAAG,CAAC,KAAD,EAAQ,SAAR,EAAmB,MAAnB,EAA2B,OAA3B,CAAtB;AACA,MAAMC,uBAAuB,GAAG,CAAhC,EACA;;AACA,MAAMC,OAAO,GAAG;AACZ;AACA;AACA,QAAM,WAHM;AAIZ,QAAM,KAJM;AAKZ,UAAQ,QALI;AAMZ,UAAQ,QANI;AAOZ,SAAO,QAPK;AAQZ,SAAO,QARK;AASZ,UAAQ,WATI;AAUZ,WAAS,YAVG;AAWZ,QAAM,SAXM;AAYZ,UAAQ,WAZI;AAaZ,UAAQ,aAbI;AAcZ,YAAU,YAdE;AAeZ,SAAO;AAfK,CAAhB,EAiBA;AACA;AACA;;AACA,MAAMC,mBAAmB,GAAG;AACxB,OAAK,GADmB;AAExB,OAAK,GAFmB;AAGxB,OAAK,GAHmB;AAIxB,OAAK,GAJmB;AAKxB,OAAK,GALmB;AAMxB,OAAK,GANmB;AAOxB,OAAK,GAPmB;AAQxB,OAAK,GARmB;AASxB,OAAK,GATmB;AAUxB,OAAK,GAVmB;AAWxB,OAAK,GAXmB;AAYxB,OAAK,GAZmB;AAaxB,OAAK,GAbmB;AAcxB,OAAK,GAdmB;AAexB,UAAQ,GAfgB;AAgBxB,UAAQ;AAhBgB,CAA5B;;AAkBA,MAAM9pJ,IAAI,GAAIr3H,KAAD,IAAWA,KAAK,CAAC+gD,MAA9B;AAAA,MAAsC/+C,EAAE,GAAIhC,KAAD,IAAWA,KAAK,CAACihD,OAA5D;AAAA,MAAqE9+C,EAAE,GAAInC,KAAD,IAAWA,KAAK,CAACkhD,OAA3F;AAAA,MAAoGkwE,EAAE,GAAIpxH,KAAD,IAAWA,KAAK,CAACghD,QAA1H;AACA;AACA;AACA;;;AACA,MAAMogO,oBAAoB,GAAG;AACzB,SAAO/pJ,IADkB;AAEzB,aAAWr1H,EAFc;AAGzB,UAAQG,EAHiB;AAIzB,WAASivH;AAJgB,CAA7B;AAMA;AACA;AACA;AACA;;IACMiwJ;AAAN,QAAMA,eAAN,SAA8BhF,kBAA9B,CAAiD;AAC7C;AACJ;AACA;AACA;AACIliR,IAAAA,WAAW,CAACi3C,GAAD,EAAM;AACb,YAAMA,GAAN;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI8sD,IAAAA,QAAQ,CAACn+F,SAAD,EAAY;AAChB,aAAOshR,eAAe,CAACC,cAAhB,CAA+BvhR,SAA/B,KAA6C,IAApD;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIkyB,IAAAA,gBAAgB,CAACvzB,OAAD,EAAUqB,SAAV,EAAqB4vC,OAArB,EAA8B;AAC1C,YAAM4xO,WAAW,GAAGF,eAAe,CAACC,cAAhB,CAA+BvhR,SAA/B,CAApB;AACA,YAAMyhR,cAAc,GAAGH,eAAe,CAACI,aAAhB,CAA8BF,WAAW,CAAC,SAAD,CAAzC,EAAsD5xO,OAAtD,EAA+D,KAAKmsO,OAAL,CAAaK,OAAb,EAA/D,CAAvB;AACA,aAAO,KAAKL,OAAL,CAAaK,OAAb,GAAuB71O,iBAAvB,CAAyC,MAAM;AAClD,eAAOs7D,2DAAO,GAAGw3K,WAAV,CAAsB16Q,OAAtB,EAA+B6iR,WAAW,CAAC,cAAD,CAA1C,EAA4DC,cAA5D,CAAP;AACH,OAFM,CAAP;AAGH;;AACoB,WAAdF,cAAc,CAACvhR,SAAD,EAAY;AAC7B,YAAMklF,KAAK,GAAGllF,SAAS,CAACkK,WAAV,GAAwB6B,KAAxB,CAA8B,GAA9B,CAAd;AACA,YAAM41Q,YAAY,GAAGz8L,KAAK,CAACwuC,KAAN,EAArB;;AACA,UAAKxuC,KAAK,CAAC3oF,MAAN,KAAiB,CAAlB,IAAwB,EAAEolR,YAAY,KAAK,SAAjB,IAA8BA,YAAY,KAAK,OAAjD,CAA5B,EAAuF;AACnF,eAAO,IAAP;AACH;;AACD,YAAM7gR,GAAG,GAAGwgR,eAAe,CAACM,aAAhB,CAA8B18L,KAAK,CAAC1sC,GAAN,EAA9B,CAAZ;;AACA,UAAIqpO,OAAO,GAAG,EAAd;AACAZ,MAAAA,aAAa,CAAChmR,OAAd,CAAsB6mR,YAAY,IAAI;AAClC,cAAMtiQ,KAAK,GAAG0lE,KAAK,CAAC3jF,OAAN,CAAcugR,YAAd,CAAd;;AACA,YAAItiQ,KAAK,GAAG,CAAC,CAAb,EAAgB;AACZ0lE,UAAAA,KAAK,CAAC79E,MAAN,CAAamY,KAAb,EAAoB,CAApB;AACAqiQ,UAAAA,OAAO,IAAIC,YAAY,GAAG,GAA1B;AACH;AACJ,OAND;AAOAD,MAAAA,OAAO,IAAI/gR,GAAX;;AACA,UAAIokF,KAAK,CAAC3oF,MAAN,IAAgB,CAAhB,IAAqBuE,GAAG,CAACvE,MAAJ,KAAe,CAAxC,EAA2C;AACvC;AACA,eAAO,IAAP;AACH,OAnB4B,CAoB7B;AACA;AACA;;;AACA,YAAMwH,MAAM,GAAG,EAAf;AACAA,MAAAA,MAAM,CAAC,cAAD,CAAN,GAAyB49Q,YAAzB;AACA59Q,MAAAA,MAAM,CAAC,SAAD,CAAN,GAAoB89Q,OAApB;AACA,aAAO99Q,MAAP;AACH;;AACqB,WAAfg+Q,eAAe,CAAC9hR,KAAD,EAAQ;AAC1B,UAAI4hR,OAAO,GAAG,EAAd;AACA,UAAI/gR,GAAG,GAAGkhR,WAAW,CAAC/hR,KAAD,CAArB;AACAa,MAAAA,GAAG,GAAGA,GAAG,CAACoJ,WAAJ,EAAN;;AACA,UAAIpJ,GAAG,KAAK,GAAZ,EAAiB;AACbA,QAAAA,GAAG,GAAG,OAAN,CADa,CACE;AAClB,OAFD,MAGK,IAAIA,GAAG,KAAK,GAAZ,EAAiB;AAClBA,QAAAA,GAAG,GAAG,KAAN,CADkB,CACL;AAChB;;AACDmgR,MAAAA,aAAa,CAAChmR,OAAd,CAAsB6mR,YAAY,IAAI;AAClC,YAAIA,YAAY,IAAIhhR,GAApB,EAAyB;AACrB,gBAAMmhR,cAAc,GAAGZ,oBAAoB,CAACS,YAAD,CAA3C;;AACA,cAAIG,cAAc,CAAChiR,KAAD,CAAlB,EAA2B;AACvB4hR,YAAAA,OAAO,IAAIC,YAAY,GAAG,GAA1B;AACH;AACJ;AACJ,OAPD;AAQAD,MAAAA,OAAO,IAAI/gR,GAAX;AACA,aAAO+gR,OAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACwB,WAAbH,aAAa,CAACG,OAAD,EAAUjyO,OAAV,EAAmBg6C,IAAnB,EAAyB;AACzC,aAAO,CAAC3pF;AAAM;AAAP,WAA6B;AAChC,YAAIqhR,eAAe,CAACS,eAAhB,CAAgC9hR,KAAhC,MAA2C4hR,OAA/C,EAAwD;AACpDj4L,UAAAA,IAAI,CAACygH,UAAL,CAAgB,MAAMz6J,OAAO,CAAC3vC,KAAD,CAA7B;AACH;AACJ,OAJD;AAKH;AACD;;;AACoB,WAAb2hR,aAAa,CAACM,OAAD,EAAU;AAC1B;AACA,cAAQA,OAAR;AACI,aAAK,KAAL;AACI,iBAAO,QAAP;;AACJ;AACI,iBAAOA,OAAP;AAJR;AAMH;;AAvG4C;;AAyGjDZ,EAAAA,eAAe,CAACr8Q,IAAhB,GAAuB,SAASk9Q,uBAAT,CAAiCh9Q,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAIm8Q,eAAV,EAA2BvjR,sDAAA,CAAgB25B,qDAAhB,CAA3B,CAAP;AAA+D,GAA5H;;AACA4pP,EAAAA,eAAe,CAACl8Q,KAAhB,GAAwB,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEg8Q,eAAT;AAA0B/7Q,IAAAA,OAAO,EAAE+7Q,eAAe,CAACr8Q;AAAnD,GAA1B,CAAtC;SA1GMq8Q;;;AA8GN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO97Q,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAKe,CAL9B;;AAMA,SAASw8Q,WAAT,CAAqB/hR,KAArB,EAA4B;AACxB,MAAIa,GAAG,GAAGb,KAAK,CAACa,GAAhB;;AACA,MAAIA,GAAG,IAAI,IAAX,EAAiB;AACbA,IAAAA,GAAG,GAAGb,KAAK,CAACmiR,aAAZ,CADa,CAEb;AACA;AACA;;AACA,QAAIthR,GAAG,IAAI,IAAX,EAAiB;AACb,aAAO,cAAP;AACH;;AACD,QAAIA,GAAG,CAACsH,UAAJ,CAAe,IAAf,CAAJ,EAA0B;AACtBtH,MAAAA,GAAG,GAAG8gC,MAAM,CAACC,YAAP,CAAoBsD,QAAQ,CAACrkC,GAAG,CAACW,SAAJ,CAAc,CAAd,CAAD,EAAmB,EAAnB,CAA5B,CAAN;;AACA,UAAIxB,KAAK,CAAC66E,QAAN,KAAmBomM,uBAAnB,IAA8CE,mBAAmB,CAACv6Q,cAApB,CAAmC/F,GAAnC,CAAlD,EAA2F;AACvF;AACA;AACA;AACAA,QAAAA,GAAG,GAAGsgR,mBAAmB,CAACtgR,GAAD,CAAzB;AACH;AACJ;AACJ;;AACD,SAAOqgR,OAAO,CAACrgR,GAAD,CAAP,IAAgBA,GAAvB;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;;;IACMuhR;AAAN,QAAMA,YAAN,CAAmB;;AAEnBA,EAAAA,YAAY,CAACp9Q,IAAb,GAAoB,SAASq9Q,oBAAT,CAA8Bn9Q,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAIk9Q,YAAV,GAAP;AAAmC,GAA1F;;AACAA,EAAAA,YAAY,CAACj9Q,KAAb,GAAqBC,oEAAkB,CAAC;AAAEE,IAAAA,OAAO,EAAE,SAAS+8Q,oBAAT,GAAgC;AAAE,aAAOnkP,0DAAQ,CAACokP,gBAAD,CAAf;AAAoC,KAAjF;AAAmFj9Q,IAAAA,KAAK,EAAE+8Q,YAA1F;AAAwGjkP,IAAAA,UAAU,EAAE;AAApH,GAAD,CAAvC;SAHMikP;;;AAIN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO78Q,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGO,CAHtB;;AAIA,SAASg9Q,uBAAT,CAAiC3+M,QAAjC,EAA2C;AACvC,SAAO,IAAI0+M,gBAAJ,CAAqB1+M,QAAQ,CAAC3iE,GAAT,CAAaw2B,qDAAb,CAArB,CAAP;AACH;;IACK6qP;AAAN,QAAMA,gBAAN,SAA+BF,YAA/B,CAA4C;AACxCjoR,IAAAA,WAAW,CAACwgF,IAAD,EAAO;AACd;AACA,WAAKA,IAAL,GAAYA,IAAZ;AACH;;AACDkyD,IAAAA,QAAQ,CAAC53H,GAAD,EAAMlU,KAAN,EAAa;AACjB,UAAIA,KAAK,IAAI,IAAb,EACI,OAAO,IAAP;;AACJ,cAAQkU,GAAR;AACI,aAAKy3H,+DAAL;AACI,iBAAO3rI,KAAP;;AACJ,aAAK2rI,+DAAL;AACI,cAAI88E,kFAAgC,CAACzoN,KAAD,EAAQ;AAAO;AAAf,WAApC,EAAgE;AAC5D,mBAAOswN,kEAAgB,CAACtwN,KAAD,CAAvB;AACH;;AACD,iBAAOuoN,gEAAc,CAAC,KAAK3uI,IAAN,EAAYh5C,MAAM,CAAC5gC,KAAD,CAAlB,CAAd,CAAyC3C,QAAzC,EAAP;;AACJ,aAAKsuI,gEAAL;AACI,cAAI88E,kFAAgC,CAACzoN,KAAD,EAAQ;AAAQ;AAAhB,WAApC,EAAkE;AAC9D,mBAAOswN,kEAAgB,CAACtwN,KAAD,CAAvB;AACH;;AACD,iBAAOA,KAAP;;AACJ,aAAK2rI,iEAAL;AACI,cAAI88E,kFAAgC,CAACzoN,KAAD,EAAQ;AAAS;AAAjB,WAApC,EAAoE;AAChE,mBAAOswN,kEAAgB,CAACtwN,KAAD,CAAvB;AACH;;AACD,gBAAM,IAAInB,KAAJ,CAAU,uCAAV,CAAN;;AACJ,aAAK8sI,8DAAL;AACI,gBAAMn0I,IAAI,GAAGq2N,4EAA0B,CAAC7tN,KAAD,CAAvC;;AACA,cAAIyoN,kFAAgC,CAACzoN,KAAD,EAAQ;AAAM;AAAd,WAApC,EAA8D;AAC1D,mBAAOswN,kEAAgB,CAACtwN,KAAD,CAAvB;AACH;;AACD,iBAAOwoN,+DAAa,CAAC5nL,MAAM,CAAC5gC,KAAD,CAAP,CAApB;;AACJ,aAAK2rI,uEAAL;AACI,cAAI88E,kFAAgC,CAACzoN,KAAD,EAAQ;AAAc;AAAtB,WAApC,EAA8E;AAC1E,mBAAOswN,kEAAgB,CAACtwN,KAAD,CAAvB;AACH;;AACD,gBAAM,IAAInB,KAAJ,CAAU,gFAAV,CAAN;;AACJ;AACI,gBAAM,IAAIA,KAAJ,CAAW,8BAA6BqV,GAAI,qCAA5C,CAAN;AA9BR;AAgCH;;AACDwtQ,IAAAA,uBAAuB,CAAC1hR,KAAD,EAAQ;AAC3B,aAAO6rN,8EAA4B,CAAC7rN,KAAD,CAAnC;AACH;;AACD2hR,IAAAA,wBAAwB,CAAC3hR,KAAD,EAAQ;AAC5B,aAAOgsN,+EAA6B,CAAChsN,KAAD,CAApC;AACH;;AACD4hR,IAAAA,yBAAyB,CAAC5hR,KAAD,EAAQ;AAC7B,aAAO+rN,gFAA8B,CAAC/rN,KAAD,CAArC;AACH;;AACD6hR,IAAAA,sBAAsB,CAAC7hR,KAAD,EAAQ;AAC1B,aAAOisN,6EAA2B,CAACjsN,KAAD,CAAlC;AACH;;AACD8hR,IAAAA,8BAA8B,CAAC9hR,KAAD,EAAQ;AAClC,aAAO8rN,qFAAmC,CAAC9rN,KAAD,CAA1C;AACH;;AAvDuC;;AAyD5CuhR,EAAAA,gBAAgB,CAACt9Q,IAAjB,GAAwB,SAAS89Q,wBAAT,CAAkC59Q,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAIo9Q,gBAAV,EAA4BxkR,sDAAA,CAAgB25B,qDAAhB,CAA5B,CAAP;AAAgE,GAA/H;;AACA6qP,EAAAA,gBAAgB,CAACn9Q,KAAjB,GAAyBC,oEAAkB,CAAC;AAAEE,IAAAA,OAAO,EAAE,SAASw9Q,wBAAT,GAAoC;AAAE,aAAOP,uBAAuB,CAACrkP,0DAAQ,CAACu7E,mDAAD,CAAT,CAA9B;AAAqD,KAAtG;AAAwGp0G,IAAAA,KAAK,EAAEi9Q,gBAA/G;AAAiInkP,IAAAA,UAAU,EAAE;AAA7I,GAAD,CAA3C;SA1DMmkP;;;AA8DN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/8Q,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw9Q,cAAT,GAA0B;AACtB7J,EAAAA,iBAAiB,CAACC,WAAlB;AACAmB,EAAAA,qBAAqB,CAAC/+Q,IAAtB;AACH;;AACD,SAAS8pJ,YAAT,GAAwB;AACpB,SAAO,IAAIvW,uDAAJ,EAAP;AACH;;AACD,SAAS9yG,SAAT,GAAqB;AACjB;AACA80L,EAAAA,8DAAY,CAAC7yN,QAAD,CAAZ;AACA,SAAOA,QAAP;AACH;;AACD,MAAMs6H,IAAI,GAAGr3B,oEAAb;AACA,MAAM8hL,mCAAmC,GAAG,CACxC;AAAEptO,EAAAA,OAAO,EAAEwqB,sDAAX;AAAwB2sC,EAAAA,QAAQ,EAAEwrB;AAAlC,CADwC,EAExC;AAAE3iF,EAAAA,OAAO,EAAEkwJ,+DAAX;AAAiC/4F,EAAAA,QAAQ,EAAEg2K,cAA3C;AAA2D7gR,EAAAA,KAAK,EAAE;AAAlE,CAFwC,EAGxC;AAAE0zC,EAAAA,OAAO,EAAEne,qDAAX;AAAqBonC,EAAAA,UAAU,EAAE7iC,SAAjC;AAA4C4iC,EAAAA,IAAI,EAAE;AAAlD,CAHwC,CAA5C;AAKA,MAAMqkN,wCAAwC,GAAG,CAC7C;AAAErtO,EAAAA,OAAO,EAAE4jI,oDAAX;AAAsB3jI,EAAAA,WAAW,EAAEusO;AAAnC,CAD6C,EAE7C;AAAExsO,EAAAA,OAAO,EAAEwsO,YAAX;AAAyB3tM,EAAAA,QAAQ,EAAE6tM,gBAAnC;AAAqD1jN,EAAAA,IAAI,EAAE,CAACnnC,qDAAD;AAA3D,CAF6C,CAAjD;AAIA,MAAMyrP,yCAAyC,GAAG,EAAlD;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,8BAA8B,GAAGD,yCAAvC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAME,eAAe,gBAAGrzE,oEAAqB,CAACuI,uDAAD,EAAe,SAAf,EAA0B0qE,mCAA1B,CAA7C;AACA,MAAMK,wBAAwB,GAAG,CAC7BF,8BAD6B,EAE7B;AAAEvtO,EAAAA,OAAO,EAAE8xK,6DAAX;AAA4B36G,EAAAA,QAAQ,EAAE;AAAtC,CAF6B,EAG7B;AAAEn3D,EAAAA,OAAO,EAAEk5F,uDAAX;AAAyBjwE,EAAAA,UAAU,EAAEwmF,YAArC;AAAmDzmF,EAAAA,IAAI,EAAE;AAAzD,CAH6B,EAI7B;AACIhpB,EAAAA,OAAO,EAAE8lO,qBADb;AAEIjnM,EAAAA,QAAQ,EAAE+qM,eAFd;AAGIt9Q,EAAAA,KAAK,EAAE,IAHX;AAII08D,EAAAA,IAAI,EAAE,CAACnnC,qDAAD,EAAWI,iDAAX,EAAmBuoC,sDAAnB;AAJV,CAJ6B,EAU7B;AAAExqB,EAAAA,OAAO,EAAE8lO,qBAAX;AAAkCjnM,EAAAA,QAAQ,EAAE4sM,eAA5C;AAA6Dn/Q,EAAAA,KAAK,EAAE,IAApE;AAA0E08D,EAAAA,IAAI,EAAE,CAACnnC,qDAAD;AAAhF,CAV6B,EAW7BopP,gBAX6B,EAY7B;AACIjrO,EAAAA,OAAO,EAAEwoO,mBADb;AAEI3pM,EAAAA,QAAQ,EAAE2pM,mBAFd;AAGIx/M,EAAAA,IAAI,EAAE,CAAC+8M,YAAD,EAAekB,mBAAf,EAAoCp3E,iDAApC;AAHV,CAZ6B,EAiB7B;AAAE7vJ,EAAAA,OAAO,EAAEqjI,2DAAX;AAA6BpjI,EAAAA,WAAW,EAAEuoO;AAA1C,CAjB6B,EAkB7B;AAAExoO,EAAAA,OAAO,EAAE0mO,gBAAX;AAA6BzmO,EAAAA,WAAW,EAAEgnO;AAA1C,CAlB6B,EAmB7B;AAAEjnO,EAAAA,OAAO,EAAEinO,mBAAX;AAAgCpoM,EAAAA,QAAQ,EAAEooM,mBAA1C;AAA+Dj+M,EAAAA,IAAI,EAAE,CAACnnC,qDAAD;AAArE,CAnB6B,EAoB7B;AAAEme,EAAAA,OAAO,EAAE81J,sDAAX;AAAwBj3H,EAAAA,QAAQ,EAAEi3H,sDAAlC;AAA+C9sI,EAAAA,IAAI,EAAE,CAAC/mC,iDAAD;AAArD,CApB6B,EAqB7B;AAAE+d,EAAAA,OAAO,EAAE+lO,YAAX;AAAyBlnM,EAAAA,QAAQ,EAAEknM,YAAnC;AAAiD/8M,EAAAA,IAAI,EAAE,CAAC88M,qBAAD,EAAwB7jP,iDAAxB;AAAvD,CArB6B,EAsB7B;AAAE+d,EAAAA,OAAO,EAAEkrD,uDAAX;AAAuBrsB,EAAAA,QAAQ,EAAEmmM,UAAjC;AAA6Ch8M,EAAAA,IAAI,EAAE;AAAnD,CAtB6B,EAuB7B68M,uBAvB6B,CAAjC;AAyBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM9F;AAAN,QAAMA,aAAN,CAAoB;AAChBx7Q,IAAAA,WAAW,CAAC+5F,YAAD,EAAe;AACtB,UAAIA,YAAJ,EAAkB;AACd,cAAM,IAAIt0F,KAAJ,CAAW,+JAAX,CAAN;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AAC+B,WAApB0jR,oBAAoB,CAACz6Q,MAAD,EAAS;AAChC,aAAO;AACHgkG,QAAAA,QAAQ,EAAE8oK,aADP;AAEH5yN,QAAAA,SAAS,EAAE,CACP;AAAEnN,UAAAA,OAAO,EAAE6vJ,iDAAX;AAAmB14F,UAAAA,QAAQ,EAAElkG,MAAM,CAAC01Q;AAApC,SADO,EAEP;AAAE3oO,UAAAA,OAAO,EAAEqkO,aAAX;AAA0BpkO,UAAAA,WAAW,EAAE4vJ,iDAAMA;AAA7C,SAFO,EAGP40E,2BAHO;AAFR,OAAP;AAQH;;AAvBe;;AAyBpB1E,EAAAA,aAAa,CAAC3wQ,IAAd,GAAqB,SAASu+Q,qBAAT,CAA+Br+Q,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAIywQ,aAAV,EAAyB73Q,sDAAA,CAAgB63Q,aAAhB,EAA+B,EAA/B,CAAzB,CAAP;AAAsE,GAA/H;;AACAA,EAAAA,aAAa,CAAC7hO,IAAd,GAAqB,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEo9Q;AAAR,GAAxB,CAAnC;AACAA,EAAAA,aAAa,CAAC3hO,IAAd,GAAqB,aAAcl2C,8DAAA,CAAwB;AAAEilD,IAAAA,SAAS,EAAEsgO,wBAAb;AAAuCnvO,IAAAA,OAAO,EAAE,CAACmqD,yDAAD,EAAe26G,4DAAf;AAAhD,GAAxB,CAAnC;SA3BM28D;;;AA+BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOpwQ,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAUe,CAV9B;;AAWA;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO4uC,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDr2C,gEAAA,CAA0B63Q,aAA1B,EAAyC;AAAErhO,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAAC+pD,yDAAD,EAAe26G,4DAAf,CAAP;AAA2C;AAApE,GAAzC,CAAnD;AAAsK,CAArL;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAASwqE,UAAT,GAAsB;AAClB,SAAO,IAAIC,IAAJ,CAASvlP,0DAAQ,CAACzG,qDAAD,CAAjB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMgsP;AAAN,QAAMA,IAAN,CAAW;AACPtpR,IAAAA,WAAW,CAACwgF,IAAD,EAAO;AACd,WAAKA,IAAL,GAAYA,IAAZ;AACA,WAAK+oM,IAAL,GAAY9hL,2DAAO,EAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI+hL,IAAAA,MAAM,CAAC51I,GAAD,EAAM61I,aAAa,GAAG,KAAtB,EAA6B;AAC/B,UAAI,CAAC71I,GAAL,EACI,OAAO,IAAP;AACJ,aAAO,KAAK81I,mBAAL,CAAyB91I,GAAzB,EAA8B61I,aAA9B,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIE,IAAAA,OAAO,CAACj6I,IAAD,EAAO+5I,aAAa,GAAG,KAAvB,EAA8B;AACjC,UAAI,CAAC/5I,IAAL,EACI,OAAO,EAAP;AACJ,aAAOA,IAAI,CAAC7sI,MAAL,CAAY,CAAC8G,MAAD,EAASiqI,GAAT,KAAiB;AAChC,YAAIA,GAAJ,EAAS;AACLjqI,UAAAA,MAAM,CAAC3I,IAAP,CAAY,KAAK0oR,mBAAL,CAAyB91I,GAAzB,EAA8B61I,aAA9B,CAAZ;AACH;;AACD,eAAO9/Q,MAAP;AACH,OALM,EAKJ,EALI,CAAP;AAMH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIigR,IAAAA,MAAM,CAACC,YAAD,EAAe;AACjB,UAAI,CAACA,YAAL,EACI,OAAO,IAAP;AACJ,aAAO,KAAKrpM,IAAL,CAAUn3E,aAAV,CAAyB,QAAOwgR,YAAa,GAA7C,KAAoD,IAA3D;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIC,IAAAA,OAAO,CAACD,YAAD,EAAe;AAClB,UAAI,CAACA,YAAL,EACI,OAAO,EAAP;;AACJ,YAAMhgL;AAAK;AAAD,QAAgB,KAAKrpB,IAAL,CAAUt3E,gBAAV,CAA4B,QAAO2gR,YAAa,GAAhD,CAA1B;;AACA,aAAOhgL,IAAI,GAAG,GAAGnsF,KAAH,CAASxZ,IAAT,CAAc2lG,IAAd,CAAH,GAAyB,EAApC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIkgL,IAAAA,SAAS,CAACn2I,GAAD,EAAMp0I,QAAN,EAAgB;AACrB,UAAI,CAACo0I,GAAL,EACI,OAAO,IAAP;AACJp0I,MAAAA,QAAQ,GAAGA,QAAQ,IAAI,KAAKwqR,cAAL,CAAoBp2I,GAApB,CAAvB;AACA,YAAM1d,IAAI,GAAG,KAAK0zJ,MAAL,CAAYpqR,QAAZ,CAAb;;AACA,UAAI02H,IAAJ,EAAU;AACN,eAAO,KAAK+zJ,yBAAL,CAA+Br2I,GAA/B,EAAoC1d,IAApC,CAAP;AACH;;AACD,aAAO,KAAKwzJ,mBAAL,CAAyB91I,GAAzB,EAA8B,IAA9B,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIs2I,IAAAA,SAAS,CAACL,YAAD,EAAe;AACpB,WAAKM,gBAAL,CAAsB,KAAKP,MAAL,CAAYC,YAAZ,CAAtB;AACH;AACD;AACJ;AACA;AACA;;;AACIM,IAAAA,gBAAgB,CAACj0J,IAAD,EAAO;AACnB,UAAIA,IAAJ,EAAU;AACN,aAAKqzJ,IAAL,CAAUh2P,MAAV,CAAiB2iG,IAAjB;AACH;AACJ;;AACDwzJ,IAAAA,mBAAmB,CAACxzJ,IAAD,EAAOuzJ,aAAa,GAAG,KAAvB,EAA8B;AAC7C,UAAI,CAACA,aAAL,EAAoB;AAChB,cAAMjqR,QAAQ,GAAG,KAAKwqR,cAAL,CAAoB9zJ,IAApB,CAAjB,CADgB,CAEhB;AACA;AACA;;;AACA,cAAMs9E,IAAI,GAAG,KAAKs2E,OAAL,CAAatqR,QAAb,EAAuBsa,MAAvB,CAA8B05L,IAAI,IAAI,KAAK42E,mBAAL,CAAyBl0J,IAAzB,EAA+Bs9E,IAA/B,CAAtC,EAA4E,CAA5E,CAAb;AACA,YAAIA,IAAI,KAAKltM,SAAb,EACI,OAAOktM,IAAP;AACP;;AACD,YAAMjvM,OAAO,GAAG,KAAKglR,IAAL,CAAU5vP,aAAV,CAAwB,MAAxB,CAAhB;;AACA,WAAKswP,yBAAL,CAA+B/zJ,IAA/B,EAAqC3xH,OAArC;;AACA,YAAMk2B,IAAI,GAAG,KAAK+lD,IAAL,CAAU6pM,oBAAV,CAA+B,MAA/B,EAAuC,CAAvC,CAAb;;AACA5vP,MAAAA,IAAI,CAACP,WAAL,CAAiB31B,OAAjB;AACA,aAAOA,OAAP;AACH;;AACD0lR,IAAAA,yBAAyB,CAACr2I,GAAD,EAAM/yG,EAAN,EAAU;AAC/B57B,MAAAA,MAAM,CAACC,IAAP,CAAY0uI,GAAZ,EAAiB/yI,OAAjB,CAA0BsE,IAAD,IAAU07B,EAAE,CAAC1yB,YAAH,CAAgB,KAAKm8Q,cAAL,CAAoBnlR,IAApB,CAAhB,EAA2CyuI,GAAG,CAACzuI,IAAD,CAA9C,CAAnC;AACA,aAAO07B,EAAP;AACH;;AACDmpP,IAAAA,cAAc,CAACp2I,GAAD,EAAM;AAChB,YAAM9yG,IAAI,GAAG8yG,GAAG,CAAC11I,IAAJ,GAAW,MAAX,GAAoB,UAAjC;AACA,aAAQ,GAAE4iC,IAAK,KAAI8yG,GAAG,CAAC9yG,IAAD,CAAO,GAA7B;AACH;;AACDspP,IAAAA,mBAAmB,CAACx2I,GAAD,EAAM4/D,IAAN,EAAY;AAC3B,aAAOvuM,MAAM,CAACC,IAAP,CAAY0uI,GAAZ,EAAiB3sG,KAAjB,CAAwBvgC,GAAD,IAAS8sM,IAAI,CAACnyK,YAAL,CAAkB,KAAKipP,cAAL,CAAoB5jR,GAApB,CAAlB,MAAgDktI,GAAG,CAACltI,GAAD,CAAnF,CAAP;AACH;;AACD4jR,IAAAA,cAAc,CAACnlR,IAAD,EAAO;AACjB,aAAOolR,aAAa,CAACplR,IAAD,CAAb,IAAuBA,IAA9B;AACH;;AA9HM;;AAgIXmkR,EAAAA,IAAI,CAACz+Q,IAAL,GAAY,SAAS2/Q,YAAT,CAAsBz/Q,CAAtB,EAAyB;AAAE,WAAO,KAAKA,CAAC,IAAIu+Q,IAAV,EAAgB3lR,sDAAA,CAAgB25B,qDAAhB,CAAhB,CAAP;AAAoD,GAA3F;;AACAgsP,EAAAA,IAAI,CAACt+Q,KAAL,GAAaC,oEAAkB,CAAC;AAAEE,IAAAA,OAAO,EAAEk+Q,UAAX;AAAuBn+Q,IAAAA,KAAK,EAAEo+Q,IAA9B;AAAoCtlP,IAAAA,UAAU,EAAE;AAAhD,GAAD,CAA/B;SAjIMslP;;;AAqIN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOl+Q,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAOA;AACA;AACA;;;AACA,MAAMm/Q,aAAa,GAAG;AAClBE,EAAAA,SAAS,EAAE;AADO,CAAtB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,SAASC,WAAT,GAAuB;AACnB,SAAO,IAAIC,KAAJ,CAAU5mP,0DAAQ,CAACzG,qDAAD,CAAlB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMqtP;AAAN,QAAMA,KAAN,CAAY;AACR3qR,IAAAA,WAAW,CAACwgF,IAAD,EAAO;AACd,WAAKA,IAAL,GAAYA,IAAZ;AACH;AACD;AACJ;AACA;;;AACIoqM,IAAAA,QAAQ,GAAG;AACP,aAAO,KAAKpqM,IAAL,CAAUmB,KAAjB;AACH;AACD;AACJ;AACA;AACA;;;AACIkpM,IAAAA,QAAQ,CAACC,QAAD,EAAW;AACf,WAAKtqM,IAAL,CAAUmB,KAAV,GAAkBmpM,QAAQ,IAAI,EAA9B;AACH;;AAhBO;;AAkBZH,EAAAA,KAAK,CAAC9/Q,IAAN,GAAa,SAASkgR,aAAT,CAAuBhgR,CAAvB,EAA0B;AAAE,WAAO,KAAKA,CAAC,IAAI4/Q,KAAV,EAAiBhnR,sDAAA,CAAgB25B,qDAAhB,CAAjB,CAAP;AAAqD,GAA9F;;AACAqtP,EAAAA,KAAK,CAAC3/Q,KAAN,GAAcC,oEAAkB,CAAC;AAAEE,IAAAA,OAAO,EAAEu/Q,WAAX;AAAwBx/Q,IAAAA,KAAK,EAAEy/Q,KAA/B;AAAsC3mP,IAAAA,UAAU,EAAE;AAAlD,GAAD,CAAhC;SAnBM2mP;;;AAuBN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOv/Q,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMe,CAN9B;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM4/Q,GAAG,GAAG,OAAOnnR,MAAP,KAAkB,WAAlB,IAAiCA,MAAjC,IAA2C,EAAvD;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMonR,yBAAN,CAAgC;AAC5BjrR,EAAAA,WAAW,CAACkrR,SAAD,EAAYC,QAAZ,EAAsB;AAC7B,SAAKD,SAAL,GAAiBA,SAAjB;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACH;;AAJ2B;AAMhC;AACA;AACA;AACA;;;AACA,MAAMC,eAAN,CAAsB;AAClBprR,EAAAA,WAAW,CAACusE,GAAD,EAAM;AACb,SAAK65G,MAAL,GAAc75G,GAAG,CAAC9C,QAAJ,CAAa3iE,GAAb,CAAiBuiD,yDAAjB,CAAd;AACH,GAHiB,CAIlB;;AACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIgiO,EAAAA,mBAAmB,CAACnhP,MAAD,EAAS;AACxB,UAAM0S,MAAM,GAAG1S,MAAM,IAAIA,MAAM,CAAC,QAAD,CAA/B;AACA,UAAMohP,WAAW,GAAG,kBAApB,CAFwB,CAGxB;;AACA,UAAMC,mBAAmB,GAAGP,GAAG,CAAClwP,OAAJ,CAAY0wP,OAAZ,IAAuB,IAAnD;;AACA,QAAI5uO,MAAM,IAAI2uO,mBAAd,EAAmC;AAC/BP,MAAAA,GAAG,CAAClwP,OAAJ,CAAY0wP,OAAZ,CAAoBF,WAApB;AACH;;AACD,UAAM5qQ,KAAK,GAAG+qQ,cAAc,EAA5B;AACA,QAAIN,QAAQ,GAAG,CAAf;;AACA,WAAOA,QAAQ,GAAG,CAAX,IAAiBM,cAAc,KAAK/qQ,KAApB,GAA6B,GAApD,EAAyD;AACrD,WAAK0lK,MAAL,CAAY56B,IAAZ;AACA2/H,MAAAA,QAAQ;AACX;;AACD,UAAMt7M,GAAG,GAAG47M,cAAc,EAA1B;;AACA,QAAI7uO,MAAM,IAAI2uO,mBAAd,EAAmC;AAC/BP,MAAAA,GAAG,CAAClwP,OAAJ,CAAY4wP,UAAZ,CAAuBJ,WAAvB;AACH;;AACD,UAAMJ,SAAS,GAAG,CAACr7M,GAAG,GAAGnvD,KAAP,IAAgByqQ,QAAlC;AACAH,IAAAA,GAAG,CAAClwP,OAAJ,CAAYixK,GAAZ,CAAiB,OAAMo/E,QAAS,0BAAhC;AACAH,IAAAA,GAAG,CAAClwP,OAAJ,CAAYixK,GAAZ,CAAiB,GAAEm/E,SAAS,CAACh0P,OAAV,CAAkB,CAAlB,CAAqB,eAAxC;AACA,WAAO,IAAI+zP,yBAAJ,CAA8BC,SAA9B,EAAyCC,QAAzC,CAAP;AACH;;AA3CiB;;AA6CtB,SAASM,cAAT,GAA0B;AACtB,SAAOT,GAAG,CAACW,WAAJ,IAAmBX,GAAG,CAACW,WAAJ,CAAgBj1P,GAAnC,GAAyCs0P,GAAG,CAACW,WAAJ,CAAgBj1P,GAAhB,EAAzC,GACH,IAAID,IAAJ,GAAW85D,OAAX,EADJ;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMq7L,oBAAoB,GAAG,UAA7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,gBAAT,CAA0Bt/M,GAA1B,EAA+B;AAC3Bq0M,EAAAA,WAAW,CAACgL,oBAAD,EAAuB,IAAIR,eAAJ,CAAoB7+M,GAApB,CAAvB,CAAX;AACA,SAAOA,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASu/M,iBAAT,GAA6B;AACzBlL,EAAAA,WAAW,CAACgL,oBAAD,EAAuB,IAAvB,CAAX;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,UAAT,CAAoB3gM,IAApB,EAA0B;AACtB,QAAM4gM,WAAW,GAAG;AAChB,SAAK,KADW;AAEhB,SAAK,KAFW;AAGhB,UAAM,KAHU;AAIhB,SAAK,KAJW;AAKhB,SAAK;AALW,GAApB;AAOA,SAAO5gM,IAAI,CAAC7gF,OAAL,CAAa,UAAb,EAAyBuK,CAAC,IAAIk3Q,WAAW,CAACl3Q,CAAD,CAAzC,CAAP;AACH;;AACD,SAASm3Q,YAAT,CAAsB7gM,IAAtB,EAA4B;AACxB,QAAM8gM,aAAa,GAAG;AAClB,WAAO,GADW;AAElB,WAAO,GAFW;AAGlB,WAAO,IAHW;AAIlB,WAAO,GAJW;AAKlB,WAAO;AALW,GAAtB;AAOA,SAAO9gM,IAAI,CAAC7gF,OAAL,CAAa,UAAb,EAAyBuK,CAAC,IAAIo3Q,aAAa,CAACp3Q,CAAD,CAA3C,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASq3Q,YAAT,CAAsBzlR,GAAtB,EAA2B;AACvB,SAAOA,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM0lR;AAAN,QAAMA,aAAN,CAAoB;AAChBpsR,IAAAA,WAAW,GAAG;AACV,WAAKskH,KAAL,GAAa,EAAb;AACA,WAAK+nK,oBAAL,GAA4B,EAA5B;AACH;AACD;;;AACW,WAAJjrR,IAAI,CAAC4oL,SAAD,EAAY;AACnB,YAAMsiG,aAAa,GAAG,IAAIF,aAAJ,EAAtB;AACAE,MAAAA,aAAa,CAAChoK,KAAd,GAAsB0lE,SAAtB;AACA,aAAOsiG,aAAP;AACH;AACD;AACJ;AACA;;;AACIxlR,IAAAA,GAAG,CAACJ,GAAD,EAAMC,YAAN,EAAoB;AACnB,aAAO,KAAK29G,KAAL,CAAW59G,GAAX,MAAoBJ,SAApB,GAAgC,KAAKg+G,KAAL,CAAW59G,GAAX,CAAhC,GAAkDC,YAAzD;AACH;AACD;AACJ;AACA;;;AACII,IAAAA,GAAG,CAACL,GAAD,EAAME,KAAN,EAAa;AACZ,WAAK09G,KAAL,CAAW59G,GAAX,IAAkBE,KAAlB;AACH;AACD;AACJ;AACA;;;AACI2sB,IAAAA,MAAM,CAAC7sB,GAAD,EAAM;AACR,aAAO,KAAK49G,KAAL,CAAW59G,GAAX,CAAP;AACH;AACD;AACJ;AACA;;;AACI6lR,IAAAA,MAAM,CAAC7lR,GAAD,EAAM;AACR,aAAO,KAAK49G,KAAL,CAAW73G,cAAX,CAA0B/F,GAA1B,CAAP;AACH;AACD;AACJ;AACA;;;AACI8lR,IAAAA,WAAW,CAAC9lR,GAAD,EAAMZ,QAAN,EAAgB;AACvB,WAAKumR,oBAAL,CAA0B3lR,GAA1B,IAAiCZ,QAAjC;AACH;AACD;AACJ;AACA;;;AACI2mR,IAAAA,MAAM,GAAG;AACL;AACA,WAAK,MAAM/lR,GAAX,IAAkB,KAAK2lR,oBAAvB,EAA6C;AACzC,YAAI,KAAKA,oBAAL,CAA0B5/Q,cAA1B,CAAyC/F,GAAzC,CAAJ,EAAmD;AAC/C,cAAI;AACA,iBAAK49G,KAAL,CAAW59G,GAAX,IAAkB,KAAK2lR,oBAAL,CAA0B3lR,GAA1B,GAAlB;AACH,WAFD,CAGA,OAAOV,CAAP,EAAU;AACN80B,YAAAA,OAAO,CAACC,IAAR,CAAa,qCAAb,EAAoD/0B,CAApD;AACH;AACJ;AACJ;;AACD,aAAOy0F,IAAI,CAACC,SAAL,CAAe,KAAK4pB,KAApB,CAAP;AACH;;AAzDe;;AA2DpB8nK,EAAAA,aAAa,CAACvhR,IAAd,GAAqB,SAAS6hR,qBAAT,CAA+B3hR,CAA/B,EAAkC;AAAE,WAAO,KAAKA,CAAC,IAAIqhR,aAAV,GAAP;AAAoC,GAA7F;;AACAA,EAAAA,aAAa,CAACphR,KAAd,GAAsB,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEkhR,aAAT;AAAwBjhR,IAAAA,OAAO,EAAEihR,aAAa,CAACvhR;AAA/C,GAA1B,CAApC;SA5DMuhR;;;AA6DN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOhhR,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAE6B,CAF5C;;AAGA,SAASuhR,iBAAT,CAA2B11O,GAA3B,EAAgCmtO,KAAhC,EAAuC;AACnC;AACA;AACA,QAAM74I,MAAM,GAAGt0F,GAAG,CAAC5T,cAAJ,CAAmB+gP,KAAK,GAAG,QAA3B,CAAf;AACA,MAAIwI,YAAY,GAAG,EAAnB;;AACA,MAAIrhJ,MAAM,IAAIA,MAAM,CAAC3xG,WAArB,EAAkC;AAC9B,QAAI;AACA;AACAgzP,MAAAA,YAAY,GAAGnyL,IAAI,CAACxJ,KAAL,CAAWg7L,YAAY,CAAC1gJ,MAAM,CAAC3xG,WAAR,CAAvB,CAAf;AACH,KAHD,CAIA,OAAO5zB,CAAP,EAAU;AACN80B,MAAAA,OAAO,CAACC,IAAR,CAAa,qDAAqDqpP,KAAlE,EAAyEp+Q,CAAzE;AACH;AACJ;;AACD,SAAOomR,aAAa,CAAChrR,IAAd,CAAmBwrR,YAAnB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;IACMC;AAAN,QAAMA,0BAAN,CAAiC;;AAEjCA,EAAAA,0BAA0B,CAAChiR,IAA3B,GAAkC,SAASiiR,kCAAT,CAA4C/hR,CAA5C,EAA+C;AAAE,WAAO,KAAKA,CAAC,IAAI8hR,0BAAV,GAAP;AAAiD,GAApI;;AACAA,EAAAA,0BAA0B,CAAClzO,IAA3B,GAAkC,aAAch2C,8DAAA,CAAwB;AAAEvF,IAAAA,IAAI,EAAEyuR;AAAR,GAAxB,CAAhD;AACAA,EAAAA,0BAA0B,CAAChzO,IAA3B,GAAkC,aAAcl2C,8DAAA,CAAwB;AAAEilD,IAAAA,SAAS,EAAE,CAAC;AAAEnN,MAAAA,OAAO,EAAE2wO,aAAX;AAA0B1nN,MAAAA,UAAU,EAAEioN,iBAAtC;AAAyDloN,MAAAA,IAAI,EAAE,CAACnnC,qDAAD,EAAWguK,iDAAX;AAA/D,KAAD;AAAb,GAAxB,CAAhD;SAJMuhF;;;AAKN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOzhR,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAKO,CALtB;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2hR,EAAN,CAAS;AACL;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACc,SAAHptJ,GAAG,GAAG;AACT,WAAO,MAAM,IAAb;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACc,SAAHqtJ,GAAG,CAACxtR,QAAD,EAAW;AACjB,WAAQytR,YAAD,IAAkB;AACrB,aAAOA,YAAY,CAAC/+O,aAAb,IAA8B,IAA9B,GACHg/O,cAAc,CAACD,YAAY,CAAC/+O,aAAd,EAA6B1uC,QAA7B,CADX,GAEH,KAFJ;AAGH,KAJD;AAKH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACoB,SAAT6tH,SAAS,CAACjvH,IAAD,EAAO;AACnB,WAAQ8+M,SAAD,IAAeA,SAAS,CAACnsD,cAAV,CAAyB5pJ,OAAzB,CAAiC/I,IAAjC,MAA2C,CAAC,CAAlE;AACH;;AArCI;;AAuCT,SAAS8uR,cAAT,CAAwBl5Q,CAAxB,EAA2BxU,QAA3B,EAAqC;AACjC,MAAIioG,2DAAO,GAAGr7E,aAAV,CAAwBpY,CAAxB,CAAJ,EAAgC;AAC5B,WAAOA,CAAC,CAACxL,OAAF,IAAawL,CAAC,CAACxL,OAAF,CAAUhJ,QAAV,CAAb,IACHwU,CAAC,CAACpL,iBAAF,IAAuBoL,CAAC,CAACpL,iBAAF,CAAoBpJ,QAApB,CADpB,IAEHwU,CAAC,CAAClL,qBAAF,IAA2BkL,CAAC,CAAClL,qBAAF,CAAwBtJ,QAAxB,CAF/B;AAGH;;AACD,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAM0+E,OAAO,gBAAG,IAAID,kDAAJ,CAAY,SAAZ,CAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/nEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;;AACA,MAAMkyM,WAAN,CAAkB;AACdnwR,EAAAA,WAAW;AACX;AACAoH,EAAAA,EAFW;AAGX;AACAw6E,EAAAA,GAJW,EAIN;AACD,SAAKx6E,EAAL,GAAUA,EAAV;AACA,SAAKw6E,GAAL,GAAWA,GAAX;AACH;;AARa;AAUlB;AACA;AACA;AACA;AACA;;;AACA,MAAMwuM,eAAN,SAA8BD,WAA9B,CAA0C;AACtCnwR,EAAAA,WAAW;AACX;AACAoH,EAAAA,EAFW;AAGX;AACAw6E,EAAAA,GAJW;AAKX;AACAyuM,EAAAA,iBAAiB,GAAG,YANT;AAOX;AACAC,EAAAA,aAAa,GAAG,IARL,EAQW;AAClB,UAAMlpR,EAAN,EAAUw6E,GAAV;AACA,SAAKyuM,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACH;AACD;;;AACArsR,EAAAA,QAAQ,GAAG;AACP,WAAQ,uBAAsB,KAAKmD,EAAG,WAAU,KAAKw6E,GAAI,IAAzD;AACH;;AAjBqC;AAmB1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2uM,aAAN,SAA4BJ,WAA5B,CAAwC;AACpCnwR,EAAAA,WAAW;AACX;AACAoH,EAAAA,EAFW;AAGX;AACAw6E,EAAAA,GAJW;AAKX;AACA4uM,EAAAA,iBANW,EAMQ;AACf,UAAMppR,EAAN,EAAUw6E,GAAV;AACA,SAAK4uM,iBAAL,GAAyBA,iBAAzB;AACH;AACD;;;AACAvsR,EAAAA,QAAQ,GAAG;AACP,WAAQ,qBAAoB,KAAKmD,EAAG,WAAU,KAAKw6E,GAAI,0BAAyB,KAAK4uM,iBAAkB,IAAvG;AACH;;AAdmC;AAgBxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,gBAAN,SAA+BN,WAA/B,CAA2C;AACvCnwR,EAAAA,WAAW;AACX;AACAoH,EAAAA,EAFW;AAGX;AACAw6E,EAAAA,GAJW;AAKX;AACA8uM,EAAAA,MANW,EAMH;AACJ,UAAMtpR,EAAN,EAAUw6E,GAAV;AACA,SAAK8uM,MAAL,GAAcA,MAAd;AACH;AACD;;;AACAzsR,EAAAA,QAAQ,GAAG;AACP,WAAQ,wBAAuB,KAAKmD,EAAG,WAAU,KAAKw6E,GAAI,IAA1D;AACH;;AAdsC;AAgB3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+uM,eAAN,SAA8BR,WAA9B,CAA0C;AACtCnwR,EAAAA,WAAW;AACX;AACAoH,EAAAA,EAFW;AAGX;AACAw6E,EAAAA,GAJW;AAKX;AACA9yD,EAAAA,KANW,EAMJ;AACH,UAAM1nB,EAAN,EAAUw6E,GAAV;AACA,SAAK9yD,KAAL,GAAaA,KAAb;AACH;AACD;;;AACA7qB,EAAAA,QAAQ,GAAG;AACP,WAAQ,uBAAsB,KAAKmD,EAAG,WAAU,KAAKw6E,GAAI,aAAY,KAAK9yD,KAAM,GAAhF;AACH;;AAdqC;AAgB1C;AACA;AACA;AACA;AACA;;;AACA,MAAM8hQ,gBAAN,SAA+BT,WAA/B,CAA2C;AACvCnwR,EAAAA,WAAW;AACX;AACAoH,EAAAA,EAFW;AAGX;AACAw6E,EAAAA,GAJW;AAKX;AACA4uM,EAAAA,iBANW;AAOX;AACAzxR,EAAAA,KARW,EAQJ;AACH,UAAMqI,EAAN,EAAUw6E,GAAV;AACA,SAAK4uM,iBAAL,GAAyBA,iBAAzB;AACA,SAAKzxR,KAAL,GAAaA,KAAb;AACH;AACD;;;AACAkF,EAAAA,QAAQ,GAAG;AACP,WAAQ,wBAAuB,KAAKmD,EAAG,WAAU,KAAKw6E,GAAI,0BAAyB,KAAK4uM,iBAAkB,aAAY,KAAKzxR,KAAM,GAAjI;AACH;;AAjBsC;AAmB3C;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8xR,gBAAN,SAA+BV,WAA/B,CAA2C;AACvCnwR,EAAAA,WAAW;AACX;AACAoH,EAAAA,EAFW;AAGX;AACAw6E,EAAAA,GAJW;AAKX;AACA4uM,EAAAA,iBANW;AAOX;AACAzxR,EAAAA,KARW,EAQJ;AACH,UAAMqI,EAAN,EAAUw6E,GAAV;AACA,SAAK4uM,iBAAL,GAAyBA,iBAAzB;AACA,SAAKzxR,KAAL,GAAaA,KAAb;AACH;;AACDkF,EAAAA,QAAQ,GAAG;AACP,WAAQ,wBAAuB,KAAKmD,EAAG,WAAU,KAAKw6E,GAAI,0BAAyB,KAAK4uM,iBAAkB,aAAY,KAAKzxR,KAAM,GAAjI;AACH;;AAhBsC;AAkB3C;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+xR,cAAN,SAA6BX,WAA7B,CAAyC;AACrCnwR,EAAAA,WAAW;AACX;AACAoH,EAAAA,EAFW;AAGX;AACAw6E,EAAAA,GAJW;AAKX;AACA4uM,EAAAA,iBANW;AAOX;AACAzxR,EAAAA,KARW;AASX;AACAgyR,EAAAA,cAVW,EAUK;AACZ,UAAM3pR,EAAN,EAAUw6E,GAAV;AACA,SAAK4uM,iBAAL,GAAyBA,iBAAzB;AACA,SAAKzxR,KAAL,GAAaA,KAAb;AACA,SAAKgyR,cAAL,GAAsBA,cAAtB;AACH;;AACD9sR,EAAAA,QAAQ,GAAG;AACP,WAAQ,sBAAqB,KAAKmD,EAAG,WAAU,KAAKw6E,GAAI,0BAAyB,KAAK4uM,iBAAkB,aAAY,KAAKzxR,KAAM,qBAAoB,KAAKgyR,cAAe,GAAvK;AACH;;AAnBoC;AAqBzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,YAAN,SAA2Bb,WAA3B,CAAuC;AACnCnwR,EAAAA,WAAW;AACX;AACAoH,EAAAA,EAFW;AAGX;AACAw6E,EAAAA,GAJW;AAKX;AACA4uM,EAAAA,iBANW;AAOX;AACAzxR,EAAAA,KARW,EAQJ;AACH,UAAMqI,EAAN,EAAUw6E,GAAV;AACA,SAAK4uM,iBAAL,GAAyBA,iBAAzB;AACA,SAAKzxR,KAAL,GAAaA,KAAb;AACH;;AACDkF,EAAAA,QAAQ,GAAG;AACP,WAAQ,oBAAmB,KAAKmD,EAAG,WAAU,KAAKw6E,GAAI,0BAAyB,KAAK4uM,iBAAkB,aAAY,KAAKzxR,KAAM,GAA7H;AACH;;AAhBkC;AAkBvC;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMkyR,UAAN,SAAyBd,WAAzB,CAAqC;AACjCnwR,EAAAA,WAAW;AACX;AACAoH,EAAAA,EAFW;AAGX;AACAw6E,EAAAA,GAJW;AAKX;AACA4uM,EAAAA,iBANW;AAOX;AACAzxR,EAAAA,KARW,EAQJ;AACH,UAAMqI,EAAN,EAAUw6E,GAAV;AACA,SAAK4uM,iBAAL,GAAyBA,iBAAzB;AACA,SAAKzxR,KAAL,GAAaA,KAAb;AACH;;AACDkF,EAAAA,QAAQ,GAAG;AACP,WAAQ,kBAAiB,KAAKmD,EAAG,WAAU,KAAKw6E,GAAI,0BAAyB,KAAK4uM,iBAAkB,aAAY,KAAKzxR,KAAM,GAA3H;AACH;;AAhBgC;AAkBrC;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMmyR,oBAAN,CAA2B;AACvBlxR,EAAAA,WAAW;AACX;AACAmxR,EAAAA,KAFW,EAEJ;AACH,SAAKA,KAAL,GAAaA,KAAb;AACH;;AACDltR,EAAAA,QAAQ,GAAG;AACP,WAAQ,8BAA6B,KAAKktR,KAAL,CAAW5tM,IAAK,GAArD;AACH;;AARsB;AAU3B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM6tM,kBAAN,CAAyB;AACrBpxR,EAAAA,WAAW;AACX;AACAmxR,EAAAA,KAFW,EAEJ;AACH,SAAKA,KAAL,GAAaA,KAAb;AACH;;AACDltR,EAAAA,QAAQ,GAAG;AACP,WAAQ,4BAA2B,KAAKktR,KAAL,CAAW5tM,IAAK,GAAnD;AACH;;AARoB;AAUzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8tM,oBAAN,CAA2B;AACvBrxR,EAAAA,WAAW;AACX;AACAsxR,EAAAA,QAFW,EAED;AACN,SAAKA,QAAL,GAAgBA,QAAhB;AACH;;AACDrtR,EAAAA,QAAQ,GAAG;AACP,UAAMs/E,IAAI,GAAG,KAAK+tM,QAAL,CAAcC,WAAd,IAA6B,KAAKD,QAAL,CAAcC,WAAd,CAA0BhuM,IAAvD,IAA+D,EAA5E;AACA,WAAQ,+BAA8BA,IAAK,IAA3C;AACH;;AATsB;AAW3B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMiuM,kBAAN,CAAyB;AACrBxxR,EAAAA,WAAW;AACX;AACAsxR,EAAAA,QAFW,EAED;AACN,SAAKA,QAAL,GAAgBA,QAAhB;AACH;;AACDrtR,EAAAA,QAAQ,GAAG;AACP,UAAMs/E,IAAI,GAAG,KAAK+tM,QAAL,CAAcC,WAAd,IAA6B,KAAKD,QAAL,CAAcC,WAAd,CAA0BhuM,IAAvD,IAA+D,EAA5E;AACA,WAAQ,6BAA4BA,IAAK,IAAzC;AACH;;AAToB;AAWzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMkuM,eAAN,CAAsB;AAClBzxR,EAAAA,WAAW;AACX;AACAsxR,EAAAA,QAFW,EAED;AACN,SAAKA,QAAL,GAAgBA,QAAhB;AACH;;AACDrtR,EAAAA,QAAQ,GAAG;AACP,UAAMs/E,IAAI,GAAG,KAAK+tM,QAAL,CAAcC,WAAd,IAA6B,KAAKD,QAAL,CAAcC,WAAd,CAA0BhuM,IAAvD,IAA+D,EAA5E;AACA,WAAQ,0BAAyBA,IAAK,IAAtC;AACH;;AATiB;AAWtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMmuM,aAAN,CAAoB;AAChB1xR,EAAAA,WAAW;AACX;AACAsxR,EAAAA,QAFW,EAED;AACN,SAAKA,QAAL,GAAgBA,QAAhB;AACH;;AACDrtR,EAAAA,QAAQ,GAAG;AACP,UAAMs/E,IAAI,GAAG,KAAK+tM,QAAL,CAAcC,WAAd,IAA6B,KAAKD,QAAL,CAAcC,WAAd,CAA0BhuM,IAAvD,IAA+D,EAA5E;AACA,WAAQ,wBAAuBA,IAAK,IAApC;AACH;;AATe;AAWpB;AACA;AACA;AACA;AACA;;;AACA,MAAMouM,MAAN,CAAa;AACT3xR,EAAAA,WAAW;AACX;AACA4xR,EAAAA,WAFW;AAGX;AACA9vR,EAAAA,QAJW;AAKX;AACAurC,EAAAA,MANW,EAMH;AACJ,SAAKukP,WAAL,GAAmBA,WAAnB;AACA,SAAK9vR,QAAL,GAAgBA,QAAhB;AACA,SAAKurC,MAAL,GAAcA,MAAd;AACH;;AACDppC,EAAAA,QAAQ,GAAG;AACP,UAAM2zD,GAAG,GAAG,KAAK91D,QAAL,GAAiB,GAAE,KAAKA,QAAL,CAAc,CAAd,CAAiB,KAAI,KAAKA,QAAL,CAAc,CAAd,CAAiB,EAAzD,GAA6D,IAAzE;AACA,WAAQ,mBAAkB,KAAKurC,MAAO,iBAAgBuqB,GAAI,IAA1D;AACH;;AAfQ;AAkBb;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMi6N,cAAc,GAAG,SAAvB;;AACA,MAAMC,WAAN,CAAkB;AACd9xR,EAAAA,WAAW,CAAC0O,MAAD,EAAS;AAChB,SAAKA,MAAL,GAAcA,MAAM,IAAI,EAAxB;AACH;;AACD+D,EAAAA,GAAG,CAACvU,IAAD,EAAO;AACN,WAAO+G,MAAM,CAACsD,SAAP,CAAiBkE,cAAjB,CAAgCvI,IAAhC,CAAqC,KAAKwK,MAA1C,EAAkDxQ,IAAlD,CAAP;AACH;;AACD4I,EAAAA,GAAG,CAAC5I,IAAD,EAAO;AACN,QAAI,KAAKuU,GAAL,CAASvU,IAAT,CAAJ,EAAoB;AAChB,YAAM6Z,CAAC,GAAG,KAAKrJ,MAAL,CAAYxQ,IAAZ,CAAV;AACA,aAAOqP,KAAK,CAACC,OAAN,CAAcuK,CAAd,IAAmBA,CAAC,CAAC,CAAD,CAApB,GAA0BA,CAAjC;AACH;;AACD,WAAO,IAAP;AACH;;AACDwwF,EAAAA,MAAM,CAACrqG,IAAD,EAAO;AACT,QAAI,KAAKuU,GAAL,CAASvU,IAAT,CAAJ,EAAoB;AAChB,YAAM6Z,CAAC,GAAG,KAAKrJ,MAAL,CAAYxQ,IAAZ,CAAV;AACA,aAAOqP,KAAK,CAACC,OAAN,CAAcuK,CAAd,IAAmBA,CAAnB,GAAuB,CAACA,CAAD,CAA9B;AACH;;AACD,WAAO,EAAP;AACH;;AACO,MAAJ7S,IAAI,GAAG;AACP,WAAOD,MAAM,CAACC,IAAP,CAAY,KAAKwJ,MAAjB,CAAP;AACH;;AAvBa;AAyBlB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqjR,iBAAT,CAA2BrjR,MAA3B,EAAmC;AAC/B,SAAO,IAAIojR,WAAJ,CAAgBpjR,MAAhB,CAAP;AACH;;AACD,MAAMsjR,0BAA0B,GAAG,4BAAnC;;AACA,SAASC,wBAAT,CAAkClwP,OAAlC,EAA2C;AACvC,QAAMjT,KAAK,GAAGrpB,KAAK,CAAC,+BAA+Bs8B,OAAhC,CAAnB;AACAjT,EAAAA,KAAK,CAACkjQ,0BAAD,CAAL,GAAoC,IAApC;AACA,SAAOljQ,KAAP;AACH;;AACD,SAASojQ,0BAAT,CAAoCpjQ,KAApC,EAA2C;AACvC,SAAOA,KAAK,IAAIA,KAAK,CAACkjQ,0BAAD,CAArB;AACH,EACD;;;AACA,SAASG,iBAAT,CAA2BC,QAA3B,EAAqCC,YAArC,EAAmDlB,KAAnD,EAA0D;AACtD,QAAMrmM,KAAK,GAAGqmM,KAAK,CAAC5tM,IAAN,CAAW5xE,KAAX,CAAiB,GAAjB,CAAd;;AACA,MAAIm5E,KAAK,CAAC3oF,MAAN,GAAeiwR,QAAQ,CAACjwR,MAA5B,EAAoC;AAChC;AACA,WAAO,IAAP;AACH;;AACD,MAAIgvR,KAAK,CAACmB,SAAN,KAAoB,MAApB,KACCD,YAAY,CAACE,WAAb,MAA8BznM,KAAK,CAAC3oF,MAAN,GAAeiwR,QAAQ,CAACjwR,MADvD,CAAJ,EACoE;AAChE;AACA,WAAO,IAAP;AACH;;AACD,QAAMqwR,SAAS,GAAG,EAAlB,CAXsD,CAYtD;;AACA,OAAK,IAAIptQ,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAG0lE,KAAK,CAAC3oF,MAAlC,EAA0CijB,KAAK,EAA/C,EAAmD;AAC/C,UAAM2lE,IAAI,GAAGD,KAAK,CAAC1lE,KAAD,CAAlB;AACA,UAAMqtQ,OAAO,GAAGL,QAAQ,CAAChtQ,KAAD,CAAxB;AACA,UAAMstQ,WAAW,GAAG3nM,IAAI,CAAC/8E,UAAL,CAAgB,GAAhB,CAApB;;AACA,QAAI0kR,WAAJ,EAAiB;AACbF,MAAAA,SAAS,CAACznM,IAAI,CAAC1jF,SAAL,CAAe,CAAf,CAAD,CAAT,GAA+BorR,OAA/B;AACH,KAFD,MAGK,IAAI1nM,IAAI,KAAK0nM,OAAO,CAAClvM,IAArB,EAA2B;AAC5B;AACA,aAAO,IAAP;AACH;AACJ;;AACD,SAAO;AAAEovM,IAAAA,QAAQ,EAAEP,QAAQ,CAAC10Q,KAAT,CAAe,CAAf,EAAkBotE,KAAK,CAAC3oF,MAAxB,CAAZ;AAA6CqwR,IAAAA;AAA7C,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,kBAAT,CAA4BloQ,CAA5B,EAA+BC,CAA/B,EAAkC;AAC9B,MAAID,CAAC,CAACvoB,MAAF,KAAawoB,CAAC,CAACxoB,MAAnB,EACI,OAAO,KAAP;;AACJ,OAAK,IAAIgH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGuhB,CAAC,CAACvoB,MAAtB,EAA8B,EAAEgH,CAAhC,EAAmC;AAC/B,QAAI,CAAC0pR,YAAY,CAACnoQ,CAAC,CAACvhB,CAAD,CAAF,EAAOwhB,CAAC,CAACxhB,CAAD,CAAR,CAAjB,EACI,OAAO,KAAP;AACP;;AACD,SAAO,IAAP;AACH;;AACD,SAAS0pR,YAAT,CAAsBnoQ,CAAtB,EAAyBC,CAAzB,EAA4B;AACxB;AACA;AACA,QAAM+I,EAAE,GAAGhJ,CAAC,GAAGzlB,MAAM,CAACC,IAAP,CAAYwlB,CAAZ,CAAH,GAAoBpkB,SAAhC;AACA,QAAMqtB,EAAE,GAAGhJ,CAAC,GAAG1lB,MAAM,CAACC,IAAP,CAAYylB,CAAZ,CAAH,GAAoBrkB,SAAhC;;AACA,MAAI,CAACotB,EAAD,IAAO,CAACC,EAAR,IAAcD,EAAE,CAACvxB,MAAH,IAAawxB,EAAE,CAACxxB,MAAlC,EAA0C;AACtC,WAAO,KAAP;AACH;;AACD,MAAIuE,GAAJ;;AACA,OAAK,IAAIyC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGuqB,EAAE,CAACvxB,MAAvB,EAA+BgH,CAAC,EAAhC,EAAoC;AAChCzC,IAAAA,GAAG,GAAGgtB,EAAE,CAACvqB,CAAD,CAAR;;AACA,QAAI,CAAC2pR,mBAAmB,CAACpoQ,CAAC,CAAChkB,GAAD,CAAF,EAASikB,CAAC,CAACjkB,GAAD,CAAV,CAAxB,EAA0C;AACtC,aAAO,KAAP;AACH;AACJ;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;;;AACA,SAASosR,mBAAT,CAA6BpoQ,CAA7B,EAAgCC,CAAhC,EAAmC;AAC/B,MAAIpd,KAAK,CAACC,OAAN,CAAckd,CAAd,KAAoBnd,KAAK,CAACC,OAAN,CAAcmd,CAAd,CAAxB,EAA0C;AACtC,QAAID,CAAC,CAACvoB,MAAF,KAAawoB,CAAC,CAACxoB,MAAnB,EACI,OAAO,KAAP;AACJ,UAAM4wR,OAAO,GAAG,CAAC,GAAGroQ,CAAJ,EAAOD,IAAP,EAAhB;AACA,UAAMuoQ,OAAO,GAAG,CAAC,GAAGroQ,CAAJ,EAAOF,IAAP,EAAhB;AACA,WAAOsoQ,OAAO,CAAC9rP,KAAR,CAAc,CAACvoB,GAAD,EAAM0G,KAAN,KAAgB4tQ,OAAO,CAAC5tQ,KAAD,CAAP,KAAmB1G,GAAjD,CAAP;AACH,GAND,MAOK;AACD,WAAOgM,CAAC,KAAKC,CAAb;AACH;AACJ;AACD;AACA;AACA;;;AACA,SAASstG,OAAT,CAAiBzoH,GAAjB,EAAsB;AAClB,SAAOjC,KAAK,CAAChF,SAAN,CAAgBmsB,MAAhB,CAAuB3rB,KAAvB,CAA6B,EAA7B,EAAiCyG,GAAjC,CAAP;AACH;AACD;AACA;AACA;;;AACA,SAAS0qE,IAAT,CAAcxvD,CAAd,EAAiB;AACb,SAAOA,CAAC,CAACvoB,MAAF,GAAW,CAAX,GAAeuoB,CAAC,CAACA,CAAC,CAACvoB,MAAF,GAAW,CAAZ,CAAhB,GAAiC,IAAxC;AACH;AACD;AACA;AACA;;;AACA,SAAS8wR,GAAT,CAAaC,KAAb,EAAoB;AAChB,SAAO,CAACA,KAAK,CAACp7Q,IAAN,CAAWC,CAAC,IAAI,CAACA,CAAjB,CAAR;AACH;;AACD,SAASlX,OAAT,CAAiB4F,GAAjB,EAAsBX,QAAtB,EAAgC;AAC5B,OAAK,MAAMX,IAAX,IAAmBsB,GAAnB,EAAwB;AACpB,QAAIA,GAAG,CAACgG,cAAJ,CAAmBtH,IAAnB,CAAJ,EAA8B;AAC1BW,MAAAA,QAAQ,CAACW,GAAG,CAACtB,IAAD,CAAJ,EAAYA,IAAZ,CAAR;AACH;AACJ;AACJ;;AACD,SAASguR,kBAAT,CAA4BvsR,KAA5B,EAAmC;AAC/B,MAAIouN,+DAAa,CAACpuN,KAAD,CAAjB,EAA0B;AACtB,WAAOA,KAAP;AACH;;AACD,MAAI24E,4DAAU,CAAC34E,KAAD,CAAd,EAAuB;AACnB;AACA;AACA;AACA,WAAOinB,0CAAI,CAACjuB,OAAO,CAACC,OAAR,CAAgB+G,KAAhB,CAAD,CAAX;AACH;;AACD,SAAO03B,wCAAE,CAAC13B,KAAD,CAAT;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwsR,kBAAT,GAA8B;AAC1B,SAAO,IAAIC,OAAJ,CAAY,IAAIC,eAAJ,CAAoB,EAApB,EAAwB,EAAxB,CAAZ,EAAyC,EAAzC,EAA6C,IAA7C,CAAP;AACH;;AACD,MAAMC,cAAc,GAAG;AACnB,WAASC,kBADU;AAEnB,YAAUC;AAFS,CAAvB;AAIA,MAAMC,eAAe,GAAG;AACpB,WAASC,WADW;AAEpB,YAAUC,cAFU;AAGpB,aAAW,MAAM;AAHG,CAAxB;;AAKA,SAASC,YAAT,CAAsB/iO,SAAtB,EAAiCgjO,SAAjC,EAA4Cz1R,OAA5C,EAAqD;AACjD,SAAOk1R,cAAc,CAACl1R,OAAO,CAAC01R,KAAT,CAAd,CAA8BjjO,SAAS,CAAC5iC,IAAxC,EAA8C4lQ,SAAS,CAAC5lQ,IAAxD,EAA8D7vB,OAAO,CAAC21R,YAAtE,KACHN,eAAe,CAACr1R,OAAO,CAAColF,WAAT,CAAf,CAAqC3yB,SAAS,CAAC2yB,WAA/C,EAA4DqwM,SAAS,CAACrwM,WAAtE,CADG,IAEH,EAAEplF,OAAO,CAAC41R,QAAR,KAAqB,OAArB,IAAgCnjO,SAAS,CAACmjO,QAAV,KAAuBH,SAAS,CAACG,QAAnE,CAFJ;AAGH;;AACD,SAASN,WAAT,CAAqB7iO,SAArB,EAAgCgjO,SAAhC,EAA2C;AACvC;AACA,SAAOjB,YAAY,CAAC/hO,SAAD,EAAYgjO,SAAZ,CAAnB;AACH;;AACD,SAASN,kBAAT,CAA4B1iO,SAA5B,EAAuCgjO,SAAvC,EAAkDE,YAAlD,EAAgE;AAC5D,MAAI,CAACE,SAAS,CAACpjO,SAAS,CAACshO,QAAX,EAAqB0B,SAAS,CAAC1B,QAA/B,CAAd,EACI,OAAO,KAAP;;AACJ,MAAI,CAAC+B,iBAAiB,CAACrjO,SAAS,CAACshO,QAAX,EAAqB0B,SAAS,CAAC1B,QAA/B,EAAyC4B,YAAzC,CAAtB,EAA8E;AAC1E,WAAO,KAAP;AACH;;AACD,MAAIljO,SAAS,CAACsjO,gBAAV,KAA+BN,SAAS,CAACM,gBAA7C,EACI,OAAO,KAAP;;AACJ,OAAK,MAAMn8P,CAAX,IAAgB67P,SAAS,CAAC3mP,QAA1B,EAAoC;AAChC,QAAI,CAAC2jB,SAAS,CAAC3jB,QAAV,CAAmBlV,CAAnB,CAAL,EACI,OAAO,KAAP;AACJ,QAAI,CAACu7P,kBAAkB,CAAC1iO,SAAS,CAAC3jB,QAAV,CAAmBlV,CAAnB,CAAD,EAAwB67P,SAAS,CAAC3mP,QAAV,CAAmBlV,CAAnB,CAAxB,EAA+C+7P,YAA/C,CAAvB,EACI,OAAO,KAAP;AACP;;AACD,SAAO,IAAP;AACH;;AACD,SAASJ,cAAT,CAAwB9iO,SAAxB,EAAmCgjO,SAAnC,EAA8C;AAC1C,SAAO7uR,MAAM,CAACC,IAAP,CAAY4uR,SAAZ,EAAuB3xR,MAAvB,IAAiC8C,MAAM,CAACC,IAAP,CAAY4rD,SAAZ,EAAuB3uD,MAAxD,IACH8C,MAAM,CAACC,IAAP,CAAY4uR,SAAZ,EAAuB7sP,KAAvB,CAA6BvgC,GAAG,IAAIosR,mBAAmB,CAAChiO,SAAS,CAACpqD,GAAD,CAAV,EAAiBotR,SAAS,CAACptR,GAAD,CAA1B,CAAvD,CADJ;AAEH;;AACD,SAAS+sR,oBAAT,CAA8B3iO,SAA9B,EAAyCgjO,SAAzC,EAAoDE,YAApD,EAAkE;AAC9D,SAAOK,0BAA0B,CAACvjO,SAAD,EAAYgjO,SAAZ,EAAuBA,SAAS,CAAC1B,QAAjC,EAA2C4B,YAA3C,CAAjC;AACH;;AACD,SAASK,0BAAT,CAAoCvjO,SAApC,EAA+CgjO,SAA/C,EAA0DQ,cAA1D,EAA0EN,YAA1E,EAAwF;AACpF,MAAIljO,SAAS,CAACshO,QAAV,CAAmBjwR,MAAnB,GAA4BmyR,cAAc,CAACnyR,MAA/C,EAAuD;AACnD,UAAM6hH,OAAO,GAAGlzD,SAAS,CAACshO,QAAV,CAAmB10Q,KAAnB,CAAyB,CAAzB,EAA4B42Q,cAAc,CAACnyR,MAA3C,CAAhB;AACA,QAAI,CAAC+xR,SAAS,CAAClwK,OAAD,EAAUswK,cAAV,CAAd,EACI,OAAO,KAAP;AACJ,QAAIR,SAAS,CAACvB,WAAV,EAAJ,EACI,OAAO,KAAP;AACJ,QAAI,CAAC4B,iBAAiB,CAACnwK,OAAD,EAAUswK,cAAV,EAA0BN,YAA1B,CAAtB,EACI,OAAO,KAAP;AACJ,WAAO,IAAP;AACH,GATD,MAUK,IAAIljO,SAAS,CAACshO,QAAV,CAAmBjwR,MAAnB,KAA8BmyR,cAAc,CAACnyR,MAAjD,EAAyD;AAC1D,QAAI,CAAC+xR,SAAS,CAACpjO,SAAS,CAACshO,QAAX,EAAqBkC,cAArB,CAAd,EACI,OAAO,KAAP;AACJ,QAAI,CAACH,iBAAiB,CAACrjO,SAAS,CAACshO,QAAX,EAAqBkC,cAArB,EAAqCN,YAArC,CAAtB,EACI,OAAO,KAAP;;AACJ,SAAK,MAAM/7P,CAAX,IAAgB67P,SAAS,CAAC3mP,QAA1B,EAAoC;AAChC,UAAI,CAAC2jB,SAAS,CAAC3jB,QAAV,CAAmBlV,CAAnB,CAAL,EACI,OAAO,KAAP;;AACJ,UAAI,CAACw7P,oBAAoB,CAAC3iO,SAAS,CAAC3jB,QAAV,CAAmBlV,CAAnB,CAAD,EAAwB67P,SAAS,CAAC3mP,QAAV,CAAmBlV,CAAnB,CAAxB,EAA+C+7P,YAA/C,CAAzB,EAAuF;AACnF,eAAO,KAAP;AACH;AACJ;;AACD,WAAO,IAAP;AACH,GAbI,MAcA;AACD,UAAMhwK,OAAO,GAAGswK,cAAc,CAAC52Q,KAAf,CAAqB,CAArB,EAAwBozC,SAAS,CAACshO,QAAV,CAAmBjwR,MAA3C,CAAhB;AACA,UAAMsN,IAAI,GAAG6kR,cAAc,CAAC52Q,KAAf,CAAqBozC,SAAS,CAACshO,QAAV,CAAmBjwR,MAAxC,CAAb;AACA,QAAI,CAAC+xR,SAAS,CAACpjO,SAAS,CAACshO,QAAX,EAAqBpuK,OAArB,CAAd,EACI,OAAO,KAAP;AACJ,QAAI,CAACmwK,iBAAiB,CAACrjO,SAAS,CAACshO,QAAX,EAAqBpuK,OAArB,EAA8BgwK,YAA9B,CAAtB,EACI,OAAO,KAAP;AACJ,QAAI,CAACljO,SAAS,CAAC3jB,QAAV,CAAmB0kP,cAAnB,CAAL,EACI,OAAO,KAAP;AACJ,WAAOwC,0BAA0B,CAACvjO,SAAS,CAAC3jB,QAAV,CAAmB0kP,cAAnB,CAAD,EAAqCiC,SAArC,EAAgDrkR,IAAhD,EAAsDukR,YAAtD,CAAjC;AACH;AACJ;;AACD,SAASG,iBAAT,CAA2BI,cAA3B,EAA2CD,cAA3C,EAA2Dj2R,OAA3D,EAAoE;AAChE,SAAOi2R,cAAc,CAACrtP,KAAf,CAAqB,CAACutP,gBAAD,EAAmBrrR,CAAnB,KAAyB;AACjD,WAAOuqR,eAAe,CAACr1R,OAAD,CAAf,CAAyBk2R,cAAc,CAACprR,CAAD,CAAd,CAAkB0sH,UAA3C,EAAuD2+J,gBAAgB,CAAC3+J,UAAxE,CAAP;AACH,GAFM,CAAP;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMw9J,OAAN,CAAc;AACV;AACArzR,EAAAA,WAAW;AACX;AACAkuB,EAAAA,IAFW;AAGX;AACAu1D,EAAAA,WAJW;AAKX;AACAwwM,EAAAA,QANW,EAMD;AACN,SAAK/lQ,IAAL,GAAYA,IAAZ;AACA,SAAKu1D,WAAL,GAAmBA,WAAnB;AACA,SAAKwwM,QAAL,GAAgBA,QAAhB;AACH;;AACgB,MAAbQ,aAAa,GAAG;AAChB,QAAI,CAAC,KAAKC,cAAV,EAA0B;AACtB,WAAKA,cAAL,GAAsB3C,iBAAiB,CAAC,KAAKtuM,WAAN,CAAvC;AACH;;AACD,WAAO,KAAKixM,cAAZ;AACH;AACD;;;AACAzwR,EAAAA,QAAQ,GAAG;AACP,WAAO0wR,kBAAkB,CAACC,SAAnB,CAA6B,IAA7B,CAAP;AACH;;AAtBS;AAwBd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMtB,eAAN,CAAsB;AAClBtzR,EAAAA,WAAW;AACX;AACAoyR,EAAAA,QAFW;AAGX;AACAjlP,EAAAA,QAJW,EAID;AACN,SAAKilP,QAAL,GAAgBA,QAAhB;AACA,SAAKjlP,QAAL,GAAgBA,QAAhB;AACA;;AACA,SAAKpjB,MAAL,GAAc,IAAd;AACAlpB,IAAAA,OAAO,CAACssC,QAAD,EAAW,CAACp1B,CAAD,EAAIs+E,CAAJ,KAAUt+E,CAAC,CAACgS,MAAF,GAAW,IAAhC,CAAP;AACH;AACD;;;AACAwoQ,EAAAA,WAAW,GAAG;AACV,WAAO,KAAK6B,gBAAL,GAAwB,CAA/B;AACH;AACD;;;AACoB,MAAhBA,gBAAgB,GAAG;AACnB,WAAOnvR,MAAM,CAACC,IAAP,CAAY,KAAKioC,QAAjB,EAA2BhrC,MAAlC;AACH;AACD;;;AACA8B,EAAAA,QAAQ,GAAG;AACP,WAAO4wR,cAAc,CAAC,IAAD,CAArB;AACH;;AAvBiB;AAyBtB;AACA;AACA;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,UAAN,CAAiB;AACb90R,EAAAA,WAAW;AACX;AACAujF,EAAAA,IAFW;AAGX;AACAsyC,EAAAA,UAJW,EAIC;AACR,SAAKtyC,IAAL,GAAYA,IAAZ;AACA,SAAKsyC,UAAL,GAAkBA,UAAlB;AACH;;AACe,MAAZk/J,YAAY,GAAG;AACf,QAAI,CAAC,KAAKC,aAAV,EAAyB;AACrB,WAAKA,aAAL,GAAqBjD,iBAAiB,CAAC,KAAKl8J,UAAN,CAAtC;AACH;;AACD,WAAO,KAAKm/J,aAAZ;AACH;AACD;;;AACA/wR,EAAAA,QAAQ,GAAG;AACP,WAAOgxR,aAAa,CAAC,IAAD,CAApB;AACH;;AAlBY;;AAoBjB,SAASC,aAAT,CAAuBC,EAAvB,EAA2BC,EAA3B,EAA+B;AAC3B,SAAOlB,SAAS,CAACiB,EAAD,EAAKC,EAAL,CAAT,IAAqBD,EAAE,CAACluP,KAAH,CAAS,CAACvc,CAAD,EAAIvhB,CAAJ,KAAU0pR,YAAY,CAACnoQ,CAAC,CAACmrG,UAAH,EAAeu/J,EAAE,CAACjsR,CAAD,CAAF,CAAM0sH,UAArB,CAA/B,CAA5B;AACH;;AACD,SAASq+J,SAAT,CAAmBiB,EAAnB,EAAuBC,EAAvB,EAA2B;AACvB,MAAID,EAAE,CAAChzR,MAAH,KAAcizR,EAAE,CAACjzR,MAArB,EACI,OAAO,KAAP;AACJ,SAAOgzR,EAAE,CAACluP,KAAH,CAAS,CAACvc,CAAD,EAAIvhB,CAAJ,KAAUuhB,CAAC,CAAC64D,IAAF,KAAW6xM,EAAE,CAACjsR,CAAD,CAAF,CAAMo6E,IAApC,CAAP;AACH;;AACD,SAAS8xM,oBAAT,CAA8B5C,OAA9B,EAAuC3xR,EAAvC,EAA2C;AACvC,MAAI+mF,GAAG,GAAG,EAAV;AACAhnF,EAAAA,OAAO,CAAC4xR,OAAO,CAACtlP,QAAT,EAAmB,CAACm9E,KAAD,EAAQgrK,WAAR,KAAwB;AAC9C,QAAIA,WAAW,KAAKzD,cAApB,EAAoC;AAChChqM,MAAAA,GAAG,GAAGA,GAAG,CAACnzD,MAAJ,CAAW5zB,EAAE,CAACwpH,KAAD,EAAQgrK,WAAR,CAAb,CAAN;AACH;AACJ,GAJM,CAAP;AAKAz0R,EAAAA,OAAO,CAAC4xR,OAAO,CAACtlP,QAAT,EAAmB,CAACm9E,KAAD,EAAQgrK,WAAR,KAAwB;AAC9C,QAAIA,WAAW,KAAKzD,cAApB,EAAoC;AAChChqM,MAAAA,GAAG,GAAGA,GAAG,CAACnzD,MAAJ,CAAW5zB,EAAE,CAACwpH,KAAD,EAAQgrK,WAAR,CAAb,CAAN;AACH;AACJ,GAJM,CAAP;AAKA,SAAOztM,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM0tM,aAAN,CAAoB;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,oBAAN,CAA2B;AACvB;AACAvkM,EAAAA,KAAK,CAACrP,GAAD,EAAM;AACP,UAAM3+E,CAAC,GAAG,IAAIwyR,SAAJ,CAAc7zM,GAAd,CAAV;AACA,WAAO,IAAIyxM,OAAJ,CAAYpwR,CAAC,CAACyyR,gBAAF,EAAZ,EAAkCzyR,CAAC,CAAC0yR,gBAAF,EAAlC,EAAwD1yR,CAAC,CAAC2yR,aAAF,EAAxD,CAAP;AACH;AACD;;;AACAhB,EAAAA,SAAS,CAACiB,IAAD,EAAO;AACZ,UAAMpD,OAAO,GAAI,IAAGqD,gBAAgB,CAACD,IAAI,CAAC3nQ,IAAN,EAAY,IAAZ,CAAkB,EAAtD;AACA,UAAM3uB,KAAK,GAAGw2R,oBAAoB,CAACF,IAAI,CAACpyM,WAAN,CAAlC;AACA,UAAMwwM,QAAQ,GAAG,OAAO4B,IAAI,CAAC5B,QAAZ,KAA0B,QAA1B,GAAqC,IAAG+B,iBAAiB,CAACH,IAAI,CAAC5B,QAAN,CAAgB,EAAzE,GAA6E,EAA9F;AACA,WAAQ,GAAExB,OAAQ,GAAElzR,KAAM,GAAE00R,QAAS,EAArC;AACH;;AAZsB;;AAc3B,MAAMU,kBAAkB,gBAAG,IAAIa,oBAAJ,EAA3B;;AACA,SAASX,cAAT,CAAwBpC,OAAxB,EAAiC;AAC7B,SAAOA,OAAO,CAACL,QAAR,CAAiB3rR,GAAjB,CAAqBxD,CAAC,IAAIgyR,aAAa,CAAChyR,CAAD,CAAvC,EAA4CyC,IAA5C,CAAiD,GAAjD,CAAP;AACH;;AACD,SAASowR,gBAAT,CAA0BrD,OAA1B,EAAmCvkQ,IAAnC,EAAyC;AACrC,MAAI,CAACukQ,OAAO,CAACF,WAAR,EAAL,EAA4B;AACxB,WAAOsC,cAAc,CAACpC,OAAD,CAArB;AACH;;AACD,MAAIvkQ,IAAJ,EAAU;AACN,UAAM+nQ,OAAO,GAAGxD,OAAO,CAACtlP,QAAR,CAAiB0kP,cAAjB,IACZiE,gBAAgB,CAACrD,OAAO,CAACtlP,QAAR,CAAiB0kP,cAAjB,CAAD,EAAmC,KAAnC,CADJ,GAEZ,EAFJ;AAGA,UAAM1kP,QAAQ,GAAG,EAAjB;AACAtsC,IAAAA,OAAO,CAAC4xR,OAAO,CAACtlP,QAAT,EAAmB,CAACp1B,CAAD,EAAIs+E,CAAJ,KAAU;AAChC,UAAIA,CAAC,KAAKw7L,cAAV,EAA0B;AACtB1kP,QAAAA,QAAQ,CAACnsC,IAAT,CAAe,GAAEq1F,CAAE,IAAGy/L,gBAAgB,CAAC/9Q,CAAD,EAAI,KAAJ,CAAW,EAAjD;AACH;AACJ,KAJM,CAAP;AAKA,WAAOo1B,QAAQ,CAAChrC,MAAT,GAAkB,CAAlB,GAAuB,GAAE8zR,OAAQ,IAAG9oP,QAAQ,CAACznC,IAAT,CAAc,IAAd,CAAoB,GAAxD,GAA6DuwR,OAApE;AACH,GAXD,MAYK;AACD,UAAM9oP,QAAQ,GAAGkoP,oBAAoB,CAAC5C,OAAD,EAAU,CAAC16Q,CAAD,EAAIs+E,CAAJ,KAAU;AACrD,UAAIA,CAAC,KAAKw7L,cAAV,EAA0B;AACtB,eAAO,CAACiE,gBAAgB,CAACrD,OAAO,CAACtlP,QAAR,CAAiB0kP,cAAjB,CAAD,EAAmC,KAAnC,CAAjB,CAAP;AACH;;AACD,aAAO,CAAE,GAAEx7L,CAAE,IAAGy/L,gBAAgB,CAAC/9Q,CAAD,EAAI,KAAJ,CAAW,EAApC,CAAP;AACH,KALoC,CAArC,CADC,CAOD;;AACA,QAAI9S,MAAM,CAACC,IAAP,CAAYutR,OAAO,CAACtlP,QAApB,EAA8BhrC,MAA9B,KAAyC,CAAzC,IAA8CswR,OAAO,CAACtlP,QAAR,CAAiB0kP,cAAjB,KAAoC,IAAtF,EAA4F;AACxF,aAAQ,GAAEgD,cAAc,CAACpC,OAAD,CAAU,IAAGtlP,QAAQ,CAAC,CAAD,CAAI,EAAjD;AACH;;AACD,WAAQ,GAAE0nP,cAAc,CAACpC,OAAD,CAAU,KAAItlP,QAAQ,CAACznC,IAAT,CAAc,IAAd,CAAoB,GAA1D;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwwR,eAAT,CAAyBphR,CAAzB,EAA4B;AACxB,SAAO4iF,kBAAkB,CAAC5iF,CAAD,CAAlB,CACFvK,OADE,CACM,MADN,EACc,GADd,EAEFA,OAFE,CAEM,OAFN,EAEe,GAFf,EAGFA,OAHE,CAGM,MAHN,EAGc,GAHd,EAIFA,OAJE,CAIM,OAJN,EAIe,GAJf,CAAP;AAKH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4rR,cAAT,CAAwBrhR,CAAxB,EAA2B;AACvB,SAAOohR,eAAe,CAACphR,CAAD,CAAf,CAAmBvK,OAAnB,CAA2B,OAA3B,EAAoC,GAApC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyrR,iBAAT,CAA2BlhR,CAA3B,EAA8B;AAC1B,SAAOshR,SAAS,CAACthR,CAAD,CAAhB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuhR,gBAAT,CAA0BvhR,CAA1B,EAA6B;AACzB,SAAOohR,eAAe,CAACphR,CAAD,CAAf,CAAmBvK,OAAnB,CAA2B,KAA3B,EAAkC,KAAlC,EAAyCA,OAAzC,CAAiD,KAAjD,EAAwD,KAAxD,EAA+DA,OAA/D,CAAuE,OAAvE,EAAgF,GAAhF,CAAP;AACH;;AACD,SAAS+rR,MAAT,CAAgBxhR,CAAhB,EAAmB;AACf,SAAOijF,kBAAkB,CAACjjF,CAAD,CAAzB;AACH,EACD;AACA;;;AACA,SAASyhR,WAAT,CAAqBzhR,CAArB,EAAwB;AACpB,SAAOwhR,MAAM,CAACxhR,CAAC,CAACvK,OAAF,CAAU,KAAV,EAAiB,KAAjB,CAAD,CAAb;AACH;;AACD,SAAS0qR,aAAT,CAAuB1xM,IAAvB,EAA6B;AACzB,SAAQ,GAAE8yM,gBAAgB,CAAC9yM,IAAI,CAACA,IAAN,CAAY,GAAEizM,qBAAqB,CAACjzM,IAAI,CAACsyC,UAAN,CAAkB,EAA/E;AACH;;AACD,SAAS2gK,qBAAT,CAA+B9nR,MAA/B,EAAuC;AACnC,SAAOzJ,MAAM,CAACC,IAAP,CAAYwJ,MAAZ,EACFjI,GADE,CACEC,GAAG,IAAK,IAAG2vR,gBAAgB,CAAC3vR,GAAD,CAAM,IAAG2vR,gBAAgB,CAAC3nR,MAAM,CAAChI,GAAD,CAAP,CAAc,EADpE,EAEFhB,IAFE,CAEG,EAFH,CAAP;AAGH;;AACD,SAASqwR,oBAAT,CAA8BrnR,MAA9B,EAAsC;AAClC,QAAM+nR,SAAS,GAAGxxR,MAAM,CAACC,IAAP,CAAYwJ,MAAZ,EACbjI,GADa,CACRvI,IAAD,IAAU;AACf,UAAM0I,KAAK,GAAG8H,MAAM,CAACxQ,IAAD,CAApB;AACA,WAAOqP,KAAK,CAACC,OAAN,CAAc5G,KAAd,IACHA,KAAK,CAACH,GAAN,CAAUsR,CAAC,IAAK,GAAEo+Q,cAAc,CAACj4R,IAAD,CAAO,IAAGi4R,cAAc,CAACp+Q,CAAD,CAAI,EAA5D,EAA+DrS,IAA/D,CAAoE,GAApE,CADG,GAEF,GAAEywR,cAAc,CAACj4R,IAAD,CAAO,IAAGi4R,cAAc,CAACvvR,KAAD,CAAQ,EAFrD;AAGH,GANiB,EAObkT,MAPa,CAONhF,CAAC,IAAI,CAAC,CAACA,CAPD,CAAlB;AAQA,SAAO2hR,SAAS,CAACt0R,MAAV,GAAoB,IAAGs0R,SAAS,CAAC/wR,IAAV,CAAe,GAAf,CAAoB,EAA3C,GAA+C,EAAtD;AACH;;AACD,MAAMgxR,UAAU,GAAG,eAAnB;;AACA,SAASC,aAAT,CAAuBxnR,GAAvB,EAA4B;AACxB,QAAMhD,KAAK,GAAGgD,GAAG,CAAChD,KAAJ,CAAUuqR,UAAV,CAAd;AACA,SAAOvqR,KAAK,GAAGA,KAAK,CAAC,CAAD,CAAR,GAAc,EAA1B;AACH;;AACD,MAAMyqR,cAAc,GAAG,WAAvB,EACA;;AACA,SAASC,gBAAT,CAA0B1nR,GAA1B,EAA+B;AAC3B,QAAMhD,KAAK,GAAGgD,GAAG,CAAChD,KAAJ,CAAUyqR,cAAV,CAAd;AACA,SAAOzqR,KAAK,GAAGA,KAAK,CAAC,CAAD,CAAR,GAAc,EAA1B;AACH;;AACD,MAAM2qR,oBAAoB,GAAG,UAA7B,EACA;;AACA,SAASC,uBAAT,CAAiC5nR,GAAjC,EAAsC;AAClC,QAAMhD,KAAK,GAAGgD,GAAG,CAAChD,KAAJ,CAAU2qR,oBAAV,CAAd;AACA,SAAO3qR,KAAK,GAAGA,KAAK,CAAC,CAAD,CAAR,GAAc,EAA1B;AACH;;AACD,MAAMspR,SAAN,CAAgB;AACZz1R,EAAAA,WAAW,CAAC4hF,GAAD,EAAM;AACb,SAAKA,GAAL,GAAWA,GAAX;AACA,SAAKo1M,SAAL,GAAiBp1M,GAAjB;AACH;;AACD8zM,EAAAA,gBAAgB,GAAG;AACf,SAAKuB,eAAL,CAAqB,GAArB;;AACA,QAAI,KAAKD,SAAL,KAAmB,EAAnB,IAAyB,KAAKE,cAAL,CAAoB,GAApB,CAAzB,IAAqD,KAAKA,cAAL,CAAoB,GAApB,CAAzD,EAAmF;AAC/E,aAAO,IAAI5D,eAAJ,CAAoB,EAApB,EAAwB,EAAxB,CAAP;AACH,KAJc,CAKf;;;AACA,WAAO,IAAIA,eAAJ,CAAoB,EAApB,EAAwB,KAAK6D,aAAL,EAAxB,CAAP;AACH;;AACDxB,EAAAA,gBAAgB,GAAG;AACf,UAAMjnR,MAAM,GAAG,EAAf;;AACA,QAAI,KAAKuoR,eAAL,CAAqB,GAArB,CAAJ,EAA+B;AAC3B,SAAG;AACC,aAAKG,eAAL,CAAqB1oR,MAArB;AACH,OAFD,QAES,KAAKuoR,eAAL,CAAqB,GAArB,CAFT;AAGH;;AACD,WAAOvoR,MAAP;AACH;;AACDknR,EAAAA,aAAa,GAAG;AACZ,WAAO,KAAKqB,eAAL,CAAqB,GAArB,IAA4Bl/L,kBAAkB,CAAC,KAAKi/L,SAAN,CAA9C,GAAiE,IAAxE;AACH;;AACDG,EAAAA,aAAa,GAAG;AACZ,QAAI,KAAKH,SAAL,KAAmB,EAAvB,EAA2B;AACvB,aAAO,EAAP;AACH;;AACD,SAAKC,eAAL,CAAqB,GAArB;AACA,UAAM7E,QAAQ,GAAG,EAAjB;;AACA,QAAI,CAAC,KAAK8E,cAAL,CAAoB,GAApB,CAAL,EAA+B;AAC3B9E,MAAAA,QAAQ,CAACpxR,IAAT,CAAc,KAAKq2R,YAAL,EAAd;AACH;;AACD,WAAO,KAAKH,cAAL,CAAoB,GAApB,KAA4B,CAAC,KAAKA,cAAL,CAAoB,IAApB,CAA7B,IAA0D,CAAC,KAAKA,cAAL,CAAoB,IAApB,CAAlE,EAA6F;AACzF,WAAKllP,OAAL,CAAa,GAAb;AACAogP,MAAAA,QAAQ,CAACpxR,IAAT,CAAc,KAAKq2R,YAAL,EAAd;AACH;;AACD,QAAIlqP,QAAQ,GAAG,EAAf;;AACA,QAAI,KAAK+pP,cAAL,CAAoB,IAApB,CAAJ,EAA+B;AAC3B,WAAKllP,OAAL,CAAa,GAAb;AACA7E,MAAAA,QAAQ,GAAG,KAAKmqP,WAAL,CAAiB,IAAjB,CAAX;AACH;;AACD,QAAIzvM,GAAG,GAAG,EAAV;;AACA,QAAI,KAAKqvM,cAAL,CAAoB,GAApB,CAAJ,EAA8B;AAC1BrvM,MAAAA,GAAG,GAAG,KAAKyvM,WAAL,CAAiB,KAAjB,CAAN;AACH;;AACD,QAAIlF,QAAQ,CAACjwR,MAAT,GAAkB,CAAlB,IAAuB8C,MAAM,CAACC,IAAP,CAAYioC,QAAZ,EAAsBhrC,MAAtB,GAA+B,CAA1D,EAA6D;AACzD0lF,MAAAA,GAAG,CAACgqM,cAAD,CAAH,GAAsB,IAAIyB,eAAJ,CAAoBlB,QAApB,EAA8BjlP,QAA9B,CAAtB;AACH;;AACD,WAAO06C,GAAP;AACH,GAnDW,CAoDZ;AACA;;;AACAwvM,EAAAA,YAAY,GAAG;AACX,UAAM9zM,IAAI,GAAGozM,aAAa,CAAC,KAAKK,SAAN,CAA1B;;AACA,QAAIzzM,IAAI,KAAK,EAAT,IAAe,KAAK2zM,cAAL,CAAoB,GAApB,CAAnB,EAA6C;AACzC,YAAM,IAAIzxR,KAAJ,CAAW,mDAAkD,KAAKuxR,SAAU,IAA5E,CAAN;AACH;;AACD,SAAKhlP,OAAL,CAAauxC,IAAb;AACA,WAAO,IAAIuxM,UAAJ,CAAewB,MAAM,CAAC/yM,IAAD,CAArB,EAA6B,KAAKg0M,iBAAL,EAA7B,CAAP;AACH;;AACDA,EAAAA,iBAAiB,GAAG;AAChB,UAAM7oR,MAAM,GAAG,EAAf;;AACA,WAAO,KAAKuoR,eAAL,CAAqB,GAArB,CAAP,EAAkC;AAC9B,WAAKO,UAAL,CAAgB9oR,MAAhB;AACH;;AACD,WAAOA,MAAP;AACH;;AACD8oR,EAAAA,UAAU,CAAC9oR,MAAD,EAAS;AACf,UAAMhI,GAAG,GAAGiwR,aAAa,CAAC,KAAKK,SAAN,CAAzB;;AACA,QAAI,CAACtwR,GAAL,EAAU;AACN;AACH;;AACD,SAAKsrC,OAAL,CAAatrC,GAAb;AACA,QAAIE,KAAK,GAAG,EAAZ;;AACA,QAAI,KAAKqwR,eAAL,CAAqB,GAArB,CAAJ,EAA+B;AAC3B,YAAMQ,UAAU,GAAGd,aAAa,CAAC,KAAKK,SAAN,CAAhC;;AACA,UAAIS,UAAJ,EAAgB;AACZ7wR,QAAAA,KAAK,GAAG6wR,UAAR;AACA,aAAKzlP,OAAL,CAAaprC,KAAb;AACH;AACJ;;AACD8H,IAAAA,MAAM,CAAC4nR,MAAM,CAAC5vR,GAAD,CAAP,CAAN,GAAsB4vR,MAAM,CAAC1vR,KAAD,CAA5B;AACH,GApFW,CAqFZ;;;AACAwwR,EAAAA,eAAe,CAAC1oR,MAAD,EAAS;AACpB,UAAMhI,GAAG,GAAGmwR,gBAAgB,CAAC,KAAKG,SAAN,CAA5B;;AACA,QAAI,CAACtwR,GAAL,EAAU;AACN;AACH;;AACD,SAAKsrC,OAAL,CAAatrC,GAAb;AACA,QAAIE,KAAK,GAAG,EAAZ;;AACA,QAAI,KAAKqwR,eAAL,CAAqB,GAArB,CAAJ,EAA+B;AAC3B,YAAMQ,UAAU,GAAGV,uBAAuB,CAAC,KAAKC,SAAN,CAA1C;;AACA,UAAIS,UAAJ,EAAgB;AACZ7wR,QAAAA,KAAK,GAAG6wR,UAAR;AACA,aAAKzlP,OAAL,CAAaprC,KAAb;AACH;AACJ;;AACD,UAAM8wR,UAAU,GAAGnB,WAAW,CAAC7vR,GAAD,CAA9B;AACA,UAAMixR,UAAU,GAAGpB,WAAW,CAAC3vR,KAAD,CAA9B;;AACA,QAAI8H,MAAM,CAACjC,cAAP,CAAsBirR,UAAtB,CAAJ,EAAuC;AACnC;AACA,UAAIE,UAAU,GAAGlpR,MAAM,CAACgpR,UAAD,CAAvB;;AACA,UAAI,CAACnqR,KAAK,CAACC,OAAN,CAAcoqR,UAAd,CAAL,EAAgC;AAC5BA,QAAAA,UAAU,GAAG,CAACA,UAAD,CAAb;AACAlpR,QAAAA,MAAM,CAACgpR,UAAD,CAAN,GAAqBE,UAArB;AACH;;AACDA,MAAAA,UAAU,CAAC52R,IAAX,CAAgB22R,UAAhB;AACH,KARD,MASK;AACD;AACAjpR,MAAAA,MAAM,CAACgpR,UAAD,CAAN,GAAqBC,UAArB;AACH;AACJ,GAnHW,CAoHZ;;;AACAL,EAAAA,WAAW,CAACO,YAAD,EAAe;AACtB,UAAMzF,QAAQ,GAAG,EAAjB;AACA,SAAKpgP,OAAL,CAAa,GAAb;;AACA,WAAO,CAAC,KAAKilP,eAAL,CAAqB,GAArB,CAAD,IAA8B,KAAKD,SAAL,CAAe70R,MAAf,GAAwB,CAA7D,EAAgE;AAC5D,YAAMohF,IAAI,GAAGozM,aAAa,CAAC,KAAKK,SAAN,CAA1B;AACA,YAAMvnR,IAAI,GAAG,KAAKunR,SAAL,CAAezzM,IAAI,CAACphF,MAApB,CAAb,CAF4D,CAG5D;AACA;;AACA,UAAIsN,IAAI,KAAK,GAAT,IAAgBA,IAAI,KAAK,GAAzB,IAAgCA,IAAI,KAAK,GAA7C,EAAkD;AAC9C,cAAM,IAAIhK,KAAJ,CAAW,qBAAoB,KAAKm8E,GAAI,GAAxC,CAAN;AACH;;AACD,UAAIk2M,UAAU,GAAGxxR,SAAjB;;AACA,UAAIi9E,IAAI,CAACp8E,OAAL,CAAa,GAAb,IAAoB,CAAC,CAAzB,EAA4B;AACxB2wR,QAAAA,UAAU,GAAGv0M,IAAI,CAACh8E,MAAL,CAAY,CAAZ,EAAeg8E,IAAI,CAACp8E,OAAL,CAAa,GAAb,CAAf,CAAb;AACA,aAAK6qC,OAAL,CAAa8lP,UAAb;AACA,aAAK9lP,OAAL,CAAa,GAAb;AACH,OAJD,MAKK,IAAI6lP,YAAJ,EAAkB;AACnBC,QAAAA,UAAU,GAAGjG,cAAb;AACH;;AACD,YAAM1kP,QAAQ,GAAG,KAAKgqP,aAAL,EAAjB;AACA/E,MAAAA,QAAQ,CAAC0F,UAAD,CAAR,GAAuB7yR,MAAM,CAACC,IAAP,CAAYioC,QAAZ,EAAsBhrC,MAAtB,KAAiC,CAAjC,GAAqCgrC,QAAQ,CAAC0kP,cAAD,CAA7C,GACnB,IAAIyB,eAAJ,CAAoB,EAApB,EAAwBnmP,QAAxB,CADJ;AAEA,WAAK8pP,eAAL,CAAqB,IAArB;AACH;;AACD,WAAO7E,QAAP;AACH;;AACD8E,EAAAA,cAAc,CAAC/nR,GAAD,EAAM;AAChB,WAAO,KAAK6nR,SAAL,CAAehpR,UAAf,CAA0BmB,GAA1B,CAAP;AACH,GAlJW,CAmJZ;;;AACA8nR,EAAAA,eAAe,CAAC9nR,GAAD,EAAM;AACjB,QAAI,KAAK+nR,cAAL,CAAoB/nR,GAApB,CAAJ,EAA8B;AAC1B,WAAK6nR,SAAL,GAAiB,KAAKA,SAAL,CAAe3vR,SAAf,CAAyB8H,GAAG,CAAChN,MAA7B,CAAjB;AACA,aAAO,IAAP;AACH;;AACD,WAAO,KAAP;AACH;;AACD6vC,EAAAA,OAAO,CAAC7iC,GAAD,EAAM;AACT,QAAI,CAAC,KAAK8nR,eAAL,CAAqB9nR,GAArB,CAAL,EAAgC;AAC5B,YAAM,IAAI1J,KAAJ,CAAW,aAAY0J,GAAI,IAA3B,CAAN;AACH;AACJ;;AA/JW;AAkKhB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM4oR,IAAN,CAAW;AACP/3R,EAAAA,WAAW,CAACkuB,IAAD,EAAO;AACd,SAAK8pQ,KAAL,GAAa9pQ,IAAb;AACH;;AACO,MAAJA,IAAI,GAAG;AACP,WAAO,KAAK8pQ,KAAL,CAAWpxR,KAAlB;AACH;AACD;AACJ;AACA;;;AACImjB,EAAAA,MAAM,CAAChf,CAAD,EAAI;AACN,UAAM9H,CAAC,GAAG,KAAKg1R,YAAL,CAAkBltR,CAAlB,CAAV;AACA,WAAO9H,CAAC,CAACd,MAAF,GAAW,CAAX,GAAec,CAAC,CAACA,CAAC,CAACd,MAAF,GAAW,CAAZ,CAAhB,GAAiC,IAAxC;AACH;AACD;AACJ;AACA;;;AACIgrC,EAAAA,QAAQ,CAACpiC,CAAD,EAAI;AACR,UAAMiJ,CAAC,GAAGkkR,QAAQ,CAACntR,CAAD,EAAI,KAAKitR,KAAT,CAAlB;AACA,WAAOhkR,CAAC,GAAGA,CAAC,CAACm5B,QAAF,CAAW1mC,GAAX,CAAesE,CAAC,IAAIA,CAAC,CAACnE,KAAtB,CAAH,GAAkC,EAA1C;AACH;AACD;AACJ;AACA;;;AACIujH,EAAAA,UAAU,CAACp/G,CAAD,EAAI;AACV,UAAMiJ,CAAC,GAAGkkR,QAAQ,CAACntR,CAAD,EAAI,KAAKitR,KAAT,CAAlB;AACA,WAAOhkR,CAAC,IAAIA,CAAC,CAACm5B,QAAF,CAAWhrC,MAAX,GAAoB,CAAzB,GAA6B6R,CAAC,CAACm5B,QAAF,CAAW,CAAX,EAAcvmC,KAA3C,GAAmD,IAA1D;AACH;AACD;AACJ;AACA;;;AACIuxR,EAAAA,QAAQ,CAACptR,CAAD,EAAI;AACR,UAAM9H,CAAC,GAAGm1R,QAAQ,CAACrtR,CAAD,EAAI,KAAKitR,KAAT,CAAlB;AACA,QAAI/0R,CAAC,CAACd,MAAF,GAAW,CAAf,EACI,OAAO,EAAP;AACJ,UAAM81B,CAAC,GAAGh1B,CAAC,CAACA,CAAC,CAACd,MAAF,GAAW,CAAZ,CAAD,CAAgBgrC,QAAhB,CAAyB1mC,GAAzB,CAA6BwxB,CAAC,IAAIA,CAAC,CAACrxB,KAApC,CAAV;AACA,WAAOqxB,CAAC,CAACne,MAAF,CAASu+Q,EAAE,IAAIA,EAAE,KAAKttR,CAAtB,CAAP;AACH;AACD;AACJ;AACA;;;AACIktR,EAAAA,YAAY,CAACltR,CAAD,EAAI;AACZ,WAAOqtR,QAAQ,CAACrtR,CAAD,EAAI,KAAKitR,KAAT,CAAR,CAAwBvxR,GAAxB,CAA4BqO,CAAC,IAAIA,CAAC,CAAClO,KAAnC,CAAP;AACH;;AA3CM,EA6CX;;;AACA,SAASsxR,QAAT,CAAkBtxR,KAAlB,EAAyB2J,IAAzB,EAA+B;AAC3B,MAAI3J,KAAK,KAAK2J,IAAI,CAAC3J,KAAnB,EACI,OAAO2J,IAAP;;AACJ,OAAK,MAAM+5G,KAAX,IAAoB/5G,IAAI,CAAC48B,QAAzB,EAAmC;AAC/B,UAAM58B,IAAI,GAAG2nR,QAAQ,CAACtxR,KAAD,EAAQ0jH,KAAR,CAArB;AACA,QAAI/5G,IAAJ,EACI,OAAOA,IAAP;AACP;;AACD,SAAO,IAAP;AACH,EACD;;;AACA,SAAS6nR,QAAT,CAAkBxxR,KAAlB,EAAyB2J,IAAzB,EAA+B;AAC3B,MAAI3J,KAAK,KAAK2J,IAAI,CAAC3J,KAAnB,EACI,OAAO,CAAC2J,IAAD,CAAP;;AACJ,OAAK,MAAM+5G,KAAX,IAAoB/5G,IAAI,CAAC48B,QAAzB,EAAmC;AAC/B,UAAMo2C,IAAI,GAAG60M,QAAQ,CAACxxR,KAAD,EAAQ0jH,KAAR,CAArB;;AACA,QAAI/mC,IAAI,CAACphF,MAAT,EAAiB;AACbohF,MAAAA,IAAI,CAAC8Q,OAAL,CAAa9jF,IAAb;AACA,aAAOgzE,IAAP;AACH;AACJ;;AACD,SAAO,EAAP;AACH;;AACD,MAAM+0M,QAAN,CAAe;AACXt4R,EAAAA,WAAW,CAAC4G,KAAD,EAAQumC,QAAR,EAAkB;AACzB,SAAKvmC,KAAL,GAAaA,KAAb;AACA,SAAKumC,QAAL,GAAgBA,QAAhB;AACH;;AACDlpC,EAAAA,QAAQ,GAAG;AACP,WAAQ,YAAW,KAAK2C,KAAM,GAA9B;AACH;;AAPU,EASf;;;AACA,SAAS2xR,iBAAT,CAA2BhoR,IAA3B,EAAiC;AAC7B,QAAM9J,GAAG,GAAG,EAAZ;;AACA,MAAI8J,IAAJ,EAAU;AACNA,IAAAA,IAAI,CAAC48B,QAAL,CAActsC,OAAd,CAAsBypH,KAAK,IAAI7jH,GAAG,CAAC6jH,KAAK,CAAC1jH,KAAN,CAAY4xR,MAAb,CAAH,GAA0BluK,KAAzD;AACH;;AACD,SAAO7jH,GAAP;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,MAAMgyR,WAAN,SAA0BV,IAA1B,CAA+B;AAC3B;AACA/3R,EAAAA,WAAW,CAACkuB,IAAD;AACX;AACAojQ,EAAAA,QAFW,EAED;AACN,UAAMpjQ,IAAN;AACA,SAAKojQ,QAAL,GAAgBA,QAAhB;AACAoH,IAAAA,cAAc,CAAC,IAAD,EAAOxqQ,IAAP,CAAd;AACH;;AACDjqB,EAAAA,QAAQ,GAAG;AACP,WAAO,KAAKqtR,QAAL,CAAcrtR,QAAd,EAAP;AACH;;AAX0B;;AAa/B,SAAS00R,gBAAT,CAA0BC,OAA1B,EAAmCr2J,aAAnC,EAAkD;AAC9C,QAAM+uJ,QAAQ,GAAGuH,wBAAwB,CAACD,OAAD,EAAUr2J,aAAV,CAAzC;AACA,QAAMu2J,QAAQ,GAAG,IAAIz6P,iDAAJ,CAAoB,CAAC,IAAIy2P,UAAJ,CAAe,EAAf,EAAmB,EAAnB,CAAD,CAApB,CAAjB;AACA,QAAMiE,WAAW,GAAG,IAAI16P,iDAAJ,CAAoB,EAApB,CAApB;AACA,QAAM26P,SAAS,GAAG,IAAI36P,iDAAJ,CAAoB,EAApB,CAAlB;AACA,QAAM46P,gBAAgB,GAAG,IAAI56P,iDAAJ,CAAoB,EAApB,CAAzB;AACA,QAAM41P,QAAQ,GAAG,IAAI51P,iDAAJ,CAAoB,EAApB,CAAjB;AACA,QAAM66P,SAAS,GAAG,IAAIC,cAAJ,CAAmBL,QAAnB,EAA6BC,WAA7B,EAA0CE,gBAA1C,EAA4DhF,QAA5D,EAAsE+E,SAAtE,EAAiFnH,cAAjF,EAAiGtvJ,aAAjG,EAAgH+uJ,QAAQ,CAACpjQ,IAAzH,CAAlB;AACAgrQ,EAAAA,SAAS,CAAC5H,QAAV,GAAqBA,QAAQ,CAACpjQ,IAA9B;AACA,SAAO,IAAIuqQ,WAAJ,CAAgB,IAAIH,QAAJ,CAAaY,SAAb,EAAwB,EAAxB,CAAhB,EAA6C5H,QAA7C,CAAP;AACH;;AACD,SAASuH,wBAAT,CAAkCD,OAAlC,EAA2Cr2J,aAA3C,EAA0D;AACtD,QAAMw2J,WAAW,GAAG,EAApB;AACA,QAAMC,SAAS,GAAG,EAAlB;AACA,QAAMC,gBAAgB,GAAG,EAAzB;AACA,QAAMhF,QAAQ,GAAG,EAAjB;AACA,QAAMiF,SAAS,GAAG,IAAIE,sBAAJ,CAA2B,EAA3B,EAA+BL,WAA/B,EAA4CE,gBAA5C,EAA8DhF,QAA9D,EAAwE+E,SAAxE,EAAmFnH,cAAnF,EAAmGtvJ,aAAnG,EAAkH,IAAlH,EAAwHq2J,OAAO,CAAC1qQ,IAAhI,EAAsI,CAAC,CAAvI,EAA0I,EAA1I,CAAlB;AACA,SAAO,IAAImrQ,mBAAJ,CAAwB,EAAxB,EAA4B,IAAIf,QAAJ,CAAaY,SAAb,EAAwB,EAAxB,CAA5B,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,cAAN,CAAqB;AACjB;AACAn5R,EAAAA,WAAW;AACX;AACA4hF,EAAAA,GAFW;AAGX;AACAlzE,EAAAA,MAJW;AAKX;AACA+0E,EAAAA,WANW;AAOX;AACAwwM,EAAAA,QARW;AASX;AACA1tR,EAAAA,IAVW;AAWX;AACAiyR,EAAAA,MAZW;AAaX;AACA;AACAhvN,EAAAA,SAfW,EAeA8vN,cAfA,EAegB;AACvB,SAAK13M,GAAL,GAAWA,GAAX;AACA,SAAKlzE,MAAL,GAAcA,MAAd;AACA,SAAK+0E,WAAL,GAAmBA,WAAnB;AACA,SAAKwwM,QAAL,GAAgBA,QAAhB;AACA,SAAK1tR,IAAL,GAAYA,IAAZ;AACA,SAAKiyR,MAAL,GAAcA,MAAd;AACA,SAAKhvN,SAAL,GAAiBA,SAAjB;AACA,SAAK+vN,eAAL,GAAuBD,cAAvB;AACH;AACD;;;AACe,MAAX/H,WAAW,GAAG;AACd,WAAO,KAAKgI,eAAL,CAAqBhI,WAA5B;AACH;AACD;;;AACQ,MAAJrjQ,IAAI,GAAG;AACP,WAAO,KAAKsrQ,YAAL,CAAkBtrQ,IAAzB;AACH;AACD;;;AACU,MAANnE,MAAM,GAAG;AACT,WAAO,KAAKyvQ,YAAL,CAAkBzvQ,MAAlB,CAAyB,IAAzB,CAAP;AACH;AACD;;;AACc,MAAVogG,UAAU,GAAG;AACb,WAAO,KAAKqvK,YAAL,CAAkBrvK,UAAlB,CAA6B,IAA7B,CAAP;AACH;AACD;;;AACY,MAARh9E,QAAQ,GAAG;AACX,WAAO,KAAKqsP,YAAL,CAAkBrsP,QAAlB,CAA2B,IAA3B,CAAP;AACH;AACD;;;AACgB,MAAZ8qP,YAAY,GAAG;AACf,WAAO,KAAKuB,YAAL,CAAkBvB,YAAlB,CAA+B,IAA/B,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACgB,MAARwB,QAAQ,GAAG;AACX,QAAI,CAAC,KAAKC,SAAV,EAAqB;AACjB,WAAKA,SAAL,GAAiB,KAAKhrR,MAAL,CAAY03B,IAAZ,CAAiB3/B,mDAAG,CAAExD,CAAD,IAAO8uR,iBAAiB,CAAC9uR,CAAD,CAAzB,CAApB,CAAjB;AACH;;AACD,WAAO,KAAKy2R,SAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACqB,MAAbjF,aAAa,GAAG;AAChB,QAAI,CAAC,KAAKC,cAAV,EAA0B;AACtB,WAAKA,cAAL,GACI,KAAKjxM,WAAL,CAAiBr9C,IAAjB,CAAsB3/B,mDAAG,CAAExD,CAAD,IAAO8uR,iBAAiB,CAAC9uR,CAAD,CAAzB,CAAzB,CADJ;AAEH;;AACD,WAAO,KAAKyxR,cAAZ;AACH;;AACDzwR,EAAAA,QAAQ,GAAG;AACP,WAAO,KAAKqtR,QAAL,GAAgB,KAAKA,QAAL,CAAcrtR,QAAd,EAAhB,GAA4C,UAAS,KAAKs1R,eAAgB,GAAjF;AACH;;AA3EgB;AA6ErB;AACA;AACA;AACA;AACA;;;AACA,SAASI,0BAAT,CAAoCxI,KAApC,EAA2CyI,yBAAyB,GAAG,WAAvE,EAAoF;AAChF,QAAM3B,YAAY,GAAG9G,KAAK,CAAC8G,YAA3B;AACA,MAAI4B,sBAAsB,GAAG,CAA7B;;AACA,MAAID,yBAAyB,KAAK,QAAlC,EAA4C;AACxCC,IAAAA,sBAAsB,GAAG5B,YAAY,CAAC91R,MAAb,GAAsB,CAA/C;;AACA,WAAO03R,sBAAsB,IAAI,CAAjC,EAAoC;AAChC,YAAM71K,OAAO,GAAGi0K,YAAY,CAAC4B,sBAAD,CAA5B;AACA,YAAM9vQ,MAAM,GAAGkuQ,YAAY,CAAC4B,sBAAsB,GAAG,CAA1B,CAA3B,CAFgC,CAGhC;;AACA,UAAI71K,OAAO,CAACutK,WAAR,IAAuBvtK,OAAO,CAACutK,WAAR,CAAoBhuM,IAApB,KAA6B,EAAxD,EAA4D;AACxDs2M,QAAAA,sBAAsB,GADkC,CAExD;AACH,OAHD,MAIK,IAAI,CAAC9vQ,MAAM,CAACy/C,SAAZ,EAAuB;AACxBqwN,QAAAA,sBAAsB;AACzB,OAFI,MAGA;AACD;AACH;AACJ;AACJ;;AACD,SAAOC,gBAAgB,CAAC7B,YAAY,CAACv6Q,KAAb,CAAmBm8Q,sBAAnB,CAAD,CAAvB;AACH;AACD;;;AACA,SAASC,gBAAT,CAA0B7B,YAA1B,EAAwC;AACpC,SAAOA,YAAY,CAACp1R,MAAb,CAAoB,CAACglF,GAAD,EAAM93C,IAAN,KAAe;AACtC,UAAMrhC,MAAM,GAAGzJ,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBwkE,GAAG,CAACn5E,MAAtB,CAAd,EAA6CqhC,IAAI,CAACrhC,MAAlD,CAAf;AACA,UAAMnI,IAAI,GAAGtB,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBwkE,GAAG,CAACthF,IAAtB,CAAd,EAA2CwpC,IAAI,CAACxpC,IAAhD,CAAb;AACA,UAAM1G,OAAO,GAAGoF,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBwkE,GAAG,CAAChoF,OAAtB,CAAd,EAA8CkwC,IAAI,CAACgqP,aAAnD,CAAhB;AACA,WAAO;AAAErrR,MAAAA,MAAF;AAAUnI,MAAAA,IAAV;AAAgB1G,MAAAA;AAAhB,KAAP;AACH,GALM,EAKJ;AAAE6O,IAAAA,MAAM,EAAE,EAAV;AAAcnI,IAAAA,IAAI,EAAE,EAApB;AAAwB1G,IAAAA,OAAO,EAAE;AAAjC,GALI,CAAP;AAMH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMu5R,sBAAN,CAA6B;AACzB;AACAp5R,EAAAA,WAAW;AACX;AACA4hF,EAAAA,GAFW;AAGX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIlzE,EAAAA,MAtBW;AAuBX;AACA+0E,EAAAA,WAxBW;AAyBX;AACAwwM,EAAAA,QA1BW;AA2BX;AACA1tR,EAAAA,IA5BW;AA6BX;AACAiyR,EAAAA,MA9BW;AA+BX;AACAhvN,EAAAA,SAhCW,EAgCA+nN,WAhCA,EAgCayI,UAhCb,EAgCyBC,aAhCzB,EAgCwCp6R,OAhCxC,EAgCiD;AACxD,SAAK+hF,GAAL,GAAWA,GAAX;AACA,SAAKlzE,MAAL,GAAcA,MAAd;AACA,SAAK+0E,WAAL,GAAmBA,WAAnB;AACA,SAAKwwM,QAAL,GAAgBA,QAAhB;AACA,SAAK1tR,IAAL,GAAYA,IAAZ;AACA,SAAKiyR,MAAL,GAAcA,MAAd;AACA,SAAKhvN,SAAL,GAAiBA,SAAjB;AACA,SAAK+nN,WAAL,GAAmBA,WAAnB;AACA,SAAK2I,WAAL,GAAmBF,UAAnB;AACA,SAAKG,cAAL,GAAsBF,aAAtB;AACA,SAAKG,QAAL,GAAgBv6R,OAAhB;AACH;AACD;;;AACQ,MAAJquB,IAAI,GAAG;AACP,WAAO,KAAKsrQ,YAAL,CAAkBtrQ,IAAzB;AACH;AACD;;;AACU,MAANnE,MAAM,GAAG;AACT,WAAO,KAAKyvQ,YAAL,CAAkBzvQ,MAAlB,CAAyB,IAAzB,CAAP;AACH;AACD;;;AACc,MAAVogG,UAAU,GAAG;AACb,WAAO,KAAKqvK,YAAL,CAAkBrvK,UAAlB,CAA6B,IAA7B,CAAP;AACH;AACD;;;AACY,MAARh9E,QAAQ,GAAG;AACX,WAAO,KAAKqsP,YAAL,CAAkBrsP,QAAlB,CAA2B,IAA3B,CAAP;AACH;AACD;;;AACgB,MAAZ8qP,YAAY,GAAG;AACf,WAAO,KAAKuB,YAAL,CAAkBvB,YAAlB,CAA+B,IAA/B,CAAP;AACH;;AACW,MAARwB,QAAQ,GAAG;AACX,QAAI,CAAC,KAAKC,SAAV,EAAqB;AACjB,WAAKA,SAAL,GAAiB3H,iBAAiB,CAAC,KAAKrjR,MAAN,CAAlC;AACH;;AACD,WAAO,KAAKgrR,SAAZ;AACH;;AACgB,MAAbjF,aAAa,GAAG;AAChB,QAAI,CAAC,KAAKC,cAAV,EAA0B;AACtB,WAAKA,cAAL,GAAsB3C,iBAAiB,CAAC,KAAKtuM,WAAN,CAAvC;AACH;;AACD,WAAO,KAAKixM,cAAZ;AACH;;AACDzwR,EAAAA,QAAQ,GAAG;AACP,UAAM29E,GAAG,GAAG,KAAKA,GAAL,CAASn7E,GAAT,CAAagsR,OAAO,IAAIA,OAAO,CAACxuR,QAAR,EAAxB,EAA4CyB,IAA5C,CAAiD,GAAjD,CAAZ;AACA,UAAM03F,OAAO,GAAG,KAAKm0L,WAAL,GAAmB,KAAKA,WAAL,CAAiBhuM,IAApC,GAA2C,EAA3D;AACA,WAAQ,cAAa3B,GAAI,YAAWwb,OAAQ,IAA5C;AACH;;AAnFwB;AAqF7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMi8L,mBAAN,SAAkCtB,IAAlC,CAAuC;AACnC;AACA/3R,EAAAA,WAAW;AACX;AACA4hF,EAAAA,GAFW,EAEN1zD,IAFM,EAEA;AACP,UAAMA,IAAN;AACA,SAAK0zD,GAAL,GAAWA,GAAX;AACA82M,IAAAA,cAAc,CAAC,IAAD,EAAOxqQ,IAAP,CAAd;AACH;;AACDjqB,EAAAA,QAAQ,GAAG;AACP,WAAOo2R,aAAa,CAAC,KAAKrC,KAAN,CAApB;AACH;;AAXkC;;AAavC,SAASU,cAAT,CAAwB35R,KAAxB,EAA+BwR,IAA/B,EAAqC;AACjCA,EAAAA,IAAI,CAAC3J,KAAL,CAAW4yR,YAAX,GAA0Bz6R,KAA1B;AACAwR,EAAAA,IAAI,CAAC48B,QAAL,CAActsC,OAAd,CAAsBo3B,CAAC,IAAIygQ,cAAc,CAAC35R,KAAD,EAAQk5B,CAAR,CAAzC;AACH;;AACD,SAASoiQ,aAAT,CAAuB9pR,IAAvB,EAA6B;AACzB,QAAM0nB,CAAC,GAAG1nB,IAAI,CAAC48B,QAAL,CAAchrC,MAAd,GAAuB,CAAvB,GAA4B,MAAKoO,IAAI,CAAC48B,QAAL,CAAc1mC,GAAd,CAAkB4zR,aAAlB,EAAiC30R,IAAjC,CAAsC,IAAtC,CAA4C,KAA7E,GAAoF,EAA9F;AACA,SAAQ,GAAE6K,IAAI,CAAC3J,KAAM,GAAEqxB,CAAE,EAAzB;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASqiQ,qBAAT,CAA+BnJ,KAA/B,EAAsC;AAClC,MAAIA,KAAK,CAACG,QAAV,EAAoB;AAChB,UAAM/4P,eAAe,GAAG44P,KAAK,CAACG,QAA9B;AACA,UAAMiJ,YAAY,GAAGpJ,KAAK,CAACoI,eAA3B;AACApI,IAAAA,KAAK,CAACG,QAAN,GAAiBiJ,YAAjB;;AACA,QAAI,CAAC1H,YAAY,CAACt6P,eAAe,CAACkrD,WAAjB,EAA8B82M,YAAY,CAAC92M,WAA3C,CAAjB,EAA0E;AACtE0tM,MAAAA,KAAK,CAAC1tM,WAAN,CAAkBh0E,IAAlB,CAAuB8qR,YAAY,CAAC92M,WAApC;AACH;;AACD,QAAIlrD,eAAe,CAAC07P,QAAhB,KAA6BsG,YAAY,CAACtG,QAA9C,EAAwD;AACpD9C,MAAAA,KAAK,CAAC8C,QAAN,CAAexkR,IAAf,CAAoB8qR,YAAY,CAACtG,QAAjC;AACH;;AACD,QAAI,CAACpB,YAAY,CAACt6P,eAAe,CAAC7pB,MAAjB,EAAyB6rR,YAAY,CAAC7rR,MAAtC,CAAjB,EAAgE;AAC5DyiR,MAAAA,KAAK,CAACziR,MAAN,CAAae,IAAb,CAAkB8qR,YAAY,CAAC7rR,MAA/B;AACH;;AACD,QAAI,CAACkkR,kBAAkB,CAACr6P,eAAe,CAACqpD,GAAjB,EAAsB24M,YAAY,CAAC34M,GAAnC,CAAvB,EAAgE;AAC5DuvM,MAAAA,KAAK,CAACvvM,GAAN,CAAUnyE,IAAV,CAAe8qR,YAAY,CAAC34M,GAA5B;AACH;;AACD,QAAI,CAACixM,YAAY,CAACt6P,eAAe,CAAChyB,IAAjB,EAAuBg0R,YAAY,CAACh0R,IAApC,CAAjB,EAA4D;AACxD4qR,MAAAA,KAAK,CAAC5qR,IAAN,CAAWkJ,IAAX,CAAgB8qR,YAAY,CAACh0R,IAA7B;AACH;AACJ,GAnBD,MAoBK;AACD4qR,IAAAA,KAAK,CAACG,QAAN,GAAiBH,KAAK,CAACoI,eAAvB,CADC,CAED;;AACApI,IAAAA,KAAK,CAAC5qR,IAAN,CAAWkJ,IAAX,CAAgB0hR,KAAK,CAACoI,eAAN,CAAsBhzR,IAAtC;AACH;AACJ;;AACD,SAASi0R,yBAAT,CAAmC9vQ,CAAnC,EAAsCC,CAAtC,EAAyC;AACrC,QAAM8vQ,cAAc,GAAG5H,YAAY,CAACnoQ,CAAC,CAAChc,MAAH,EAAWic,CAAC,CAACjc,MAAb,CAAZ,IAAoCwmR,aAAa,CAACxqQ,CAAC,CAACk3D,GAAH,EAAQj3D,CAAC,CAACi3D,GAAV,CAAxE;AACA,QAAM84M,eAAe,GAAG,CAAChwQ,CAAC,CAACX,MAAH,KAAc,CAACY,CAAC,CAACZ,MAAzC;AACA,SAAO0wQ,cAAc,IAAI,CAACC,eAAnB,KACF,CAAChwQ,CAAC,CAACX,MAAH,IAAaywQ,yBAAyB,CAAC9vQ,CAAC,CAACX,MAAH,EAAWY,CAAC,CAACZ,MAAb,CADpC,CAAP;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4wQ,iBAAT,CAA2BC,kBAA3B,EAA+C7qP,IAA/C,EAAqD8qP,SAArD,EAAgE;AAC5D,QAAM3sQ,IAAI,GAAG4sQ,UAAU,CAACF,kBAAD,EAAqB7qP,IAAI,CAACioP,KAA1B,EAAiC6C,SAAS,GAAGA,SAAS,CAAC7C,KAAb,GAAqB1xR,SAA/D,CAAvB;AACA,SAAO,IAAImyR,WAAJ,CAAgBvqQ,IAAhB,EAAsB6hB,IAAtB,CAAP;AACH;;AACD,SAAS+qP,UAAT,CAAoBF,kBAApB,EAAwC7qP,IAAxC,EAA8C8qP,SAA9C,EAAyD;AACrD;AACA,MAAIA,SAAS,IAAID,kBAAkB,CAACG,gBAAnB,CAAoChrP,IAAI,CAACnpC,KAAzC,EAAgDi0R,SAAS,CAACj0R,KAAV,CAAgB0qR,QAAhE,CAAjB,EAA4F;AACxF,UAAM1qR,KAAK,GAAGi0R,SAAS,CAACj0R,KAAxB;AACAA,IAAAA,KAAK,CAAC2yR,eAAN,GAAwBxpP,IAAI,CAACnpC,KAA7B;AACA,UAAMumC,QAAQ,GAAG6tP,qBAAqB,CAACJ,kBAAD,EAAqB7qP,IAArB,EAA2B8qP,SAA3B,CAAtC;AACA,WAAO,IAAIvC,QAAJ,CAAa1xR,KAAb,EAAoBumC,QAApB,CAAP;AACH,GALD,MAMK;AACD,QAAIytP,kBAAkB,CAACK,YAAnB,CAAgClrP,IAAI,CAACnpC,KAArC,CAAJ,EAAiD;AAC7C;AACA,YAAMs0R,mBAAmB,GAAGN,kBAAkB,CAACO,QAAnB,CAA4BprP,IAAI,CAACnpC,KAAjC,CAA5B;;AACA,UAAIs0R,mBAAmB,KAAK,IAA5B,EAAkC;AAC9B,cAAMrF,IAAI,GAAGqF,mBAAmB,CAAC/J,KAAjC;AACAiK,QAAAA,mCAAmC,CAACrrP,IAAD,EAAO8lP,IAAP,CAAnC;AACA,eAAOA,IAAP;AACH;AACJ;;AACD,UAAMjvR,KAAK,GAAGy0R,oBAAoB,CAACtrP,IAAI,CAACnpC,KAAN,CAAlC;AACA,UAAMumC,QAAQ,GAAG4C,IAAI,CAAC5C,QAAL,CAAc1mC,GAAd,CAAkBwxB,CAAC,IAAI6iQ,UAAU,CAACF,kBAAD,EAAqB3iQ,CAArB,CAAjC,CAAjB;AACA,WAAO,IAAIqgQ,QAAJ,CAAa1xR,KAAb,EAAoBumC,QAApB,CAAP;AACH;AACJ;;AACD,SAASiuP,mCAAT,CAA6CrrP,IAA7C,EAAmDpmC,MAAnD,EAA2D;AACvD,MAAIomC,IAAI,CAACnpC,KAAL,CAAW2qR,WAAX,KAA2B5nR,MAAM,CAAC/C,KAAP,CAAa2qR,WAA5C,EAAyD;AACrD,UAAM,IAAI9rR,KAAJ,CAAU,uEAAV,CAAN;AACH;;AACD,MAAIsqC,IAAI,CAAC5C,QAAL,CAAchrC,MAAd,KAAyBwH,MAAM,CAACwjC,QAAP,CAAgBhrC,MAA7C,EAAqD;AACjD,UAAM,IAAIsD,KAAJ,CAAU,4EAAV,CAAN;AACH;;AACDkE,EAAAA,MAAM,CAAC/C,KAAP,CAAa2yR,eAAb,GAA+BxpP,IAAI,CAACnpC,KAApC;;AACA,OAAK,IAAIuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4mC,IAAI,CAAC5C,QAAL,CAAchrC,MAAlC,EAA0C,EAAEgH,CAA5C,EAA+C;AAC3CiyR,IAAAA,mCAAmC,CAACrrP,IAAI,CAAC5C,QAAL,CAAchkC,CAAd,CAAD,EAAmBQ,MAAM,CAACwjC,QAAP,CAAgBhkC,CAAhB,CAAnB,CAAnC;AACH;AACJ;;AACD,SAAS6xR,qBAAT,CAA+BJ,kBAA/B,EAAmD7qP,IAAnD,EAAyD8qP,SAAzD,EAAoE;AAChE,SAAO9qP,IAAI,CAAC5C,QAAL,CAAc1mC,GAAd,CAAkB6jH,KAAK,IAAI;AAC9B,SAAK,MAAMrnH,CAAX,IAAgB43R,SAAS,CAAC1tP,QAA1B,EAAoC;AAChC,UAAIytP,kBAAkB,CAACG,gBAAnB,CAAoCzwK,KAAK,CAAC1jH,KAA1C,EAAiD3D,CAAC,CAAC2D,KAAF,CAAQ0qR,QAAzD,CAAJ,EAAwE;AACpE,eAAOwJ,UAAU,CAACF,kBAAD,EAAqBtwK,KAArB,EAA4BrnH,CAA5B,CAAjB;AACH;AACJ;;AACD,WAAO63R,UAAU,CAACF,kBAAD,EAAqBtwK,KAArB,CAAjB;AACH,GAPM,CAAP;AAQH;;AACD,SAAS+wK,oBAAT,CAA8BpjQ,CAA9B,EAAiC;AAC7B,SAAO,IAAIkhQ,cAAJ,CAAmB,IAAI96P,iDAAJ,CAAoBpG,CAAC,CAAC2pD,GAAtB,CAAnB,EAA+C,IAAIvjD,iDAAJ,CAAoBpG,CAAC,CAACvpB,MAAtB,CAA/C,EAA8E,IAAI2vB,iDAAJ,CAAoBpG,CAAC,CAACwrD,WAAtB,CAA9E,EAAkH,IAAIplD,iDAAJ,CAAoBpG,CAAC,CAACg8P,QAAtB,CAAlH,EAAmJ,IAAI51P,iDAAJ,CAAoBpG,CAAC,CAAC1xB,IAAtB,CAAnJ,EAAgL0xB,CAAC,CAACugQ,MAAlL,EAA0LvgQ,CAAC,CAACuxC,SAA5L,EAAuMvxC,CAAvM,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqjQ,aAAT,CAAuBnK,KAAvB,EAA8ByH,OAA9B,EAAuC2C,QAAvC,EAAiD93M,WAAjD,EAA8DwwM,QAA9D,EAAwE;AACpE,MAAIsH,QAAQ,CAACp5R,MAAT,KAAoB,CAAxB,EAA2B;AACvB,WAAO0zR,IAAI,CAAC+C,OAAO,CAAC1qQ,IAAT,EAAe0qQ,OAAO,CAAC1qQ,IAAvB,EAA6B0qQ,OAA7B,EAAsCn1M,WAAtC,EAAmDwwM,QAAnD,CAAX;AACH;;AACD,QAAMuH,GAAG,GAAGC,iBAAiB,CAACF,QAAD,CAA7B;;AACA,MAAIC,GAAG,CAACE,MAAJ,EAAJ,EAAkB;AACd,WAAO7F,IAAI,CAAC+C,OAAO,CAAC1qQ,IAAT,EAAe,IAAIolQ,eAAJ,CAAoB,EAApB,EAAwB,EAAxB,CAAf,EAA4CsF,OAA5C,EAAqDn1M,WAArD,EAAkEwwM,QAAlE,CAAX;AACH;;AACD,QAAM0H,gBAAgB,GAAGC,oBAAoB,CAACJ,GAAD,EAAM5C,OAAN,EAAezH,KAAf,CAA7C;AACA,QAAMkB,YAAY,GAAGsJ,gBAAgB,CAACE,eAAjB,GACjBC,0BAA0B,CAACH,gBAAgB,CAACtJ,YAAlB,EAAgCsJ,gBAAgB,CAACv2Q,KAAjD,EAAwDo2Q,GAAG,CAACD,QAA5D,CADT,GAEjBQ,kBAAkB,CAACJ,gBAAgB,CAACtJ,YAAlB,EAAgCsJ,gBAAgB,CAACv2Q,KAAjD,EAAwDo2Q,GAAG,CAACD,QAA5D,CAFtB;AAGA,SAAO1F,IAAI,CAAC8F,gBAAgB,CAACtJ,YAAlB,EAAgCA,YAAhC,EAA8CuG,OAA9C,EAAuDn1M,WAAvD,EAAoEwwM,QAApE,CAAX;AACH;;AACD,SAAS+H,cAAT,CAAwB/0R,OAAxB,EAAiC;AAC7B,SAAO,OAAOA,OAAP,KAAmB,QAAnB,IAA+BA,OAAO,IAAI,IAA1C,IAAkD,CAACA,OAAO,CAACg1R,OAA3D,IAAsE,CAACh1R,OAAO,CAACi1R,WAAtF;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASC,oBAAT,CAA8Bl1R,OAA9B,EAAuC;AACnC,SAAO,OAAOA,OAAP,KAAmB,QAAnB,IAA+BA,OAAO,IAAI,IAA1C,IAAkDA,OAAO,CAACg1R,OAAjE;AACH;;AACD,SAASpG,IAAT,CAAcuG,eAAd,EAA+BC,eAA/B,EAAgDzD,OAAhD,EAAyDn1M,WAAzD,EAAsEwwM,QAAtE,EAAgF;AAC5E,MAAIqI,EAAE,GAAG,EAAT;;AACA,MAAI74M,WAAJ,EAAiB;AACb5iF,IAAAA,OAAO,CAAC4iF,WAAD,EAAc,CAAC78E,KAAD,EAAQ1I,IAAR,KAAiB;AAClCo+R,MAAAA,EAAE,CAACp+R,IAAD,CAAF,GAAWqP,KAAK,CAACC,OAAN,CAAc5G,KAAd,IAAuBA,KAAK,CAACH,GAAN,CAAWsR,CAAD,IAAQ,GAAEA,CAAE,EAAtB,CAAvB,GAAmD,GAAEnR,KAAM,EAAtE;AACH,KAFM,CAAP;AAGH;;AACD,MAAIgyR,OAAO,CAAC1qQ,IAAR,KAAiBkuQ,eAArB,EAAsC;AAClC,WAAO,IAAI/I,OAAJ,CAAYgJ,eAAZ,EAA6BC,EAA7B,EAAiCrI,QAAjC,CAAP;AACH;;AACD,SAAO,IAAIZ,OAAJ,CAAYkJ,cAAc,CAAC3D,OAAO,CAAC1qQ,IAAT,EAAekuQ,eAAf,EAAgCC,eAAhC,CAA1B,EAA4EC,EAA5E,EAAgFrI,QAAhF,CAAP;AACH;;AACD,SAASsI,cAAT,CAAwBv4K,OAAxB,EAAiCw4K,UAAjC,EAA6CC,UAA7C,EAAyD;AACrD,QAAMtvP,QAAQ,GAAG,EAAjB;AACAtsC,EAAAA,OAAO,CAACmjH,OAAO,CAAC72E,QAAT,EAAmB,CAAClV,CAAD,EAAI6/P,UAAJ,KAAmB;AACzC,QAAI7/P,CAAC,KAAKukQ,UAAV,EAAsB;AAClBrvP,MAAAA,QAAQ,CAAC2qP,UAAD,CAAR,GAAuB2E,UAAvB;AACH,KAFD,MAGK;AACDtvP,MAAAA,QAAQ,CAAC2qP,UAAD,CAAR,GAAuByE,cAAc,CAACtkQ,CAAD,EAAIukQ,UAAJ,EAAgBC,UAAhB,CAArC;AACH;AACJ,GAPM,CAAP;AAQA,SAAO,IAAInJ,eAAJ,CAAoBtvK,OAAO,CAACouK,QAA5B,EAAsCjlP,QAAtC,CAAP;AACH;;AACD,MAAMuvP,UAAN,CAAiB;AACb18R,EAAAA,WAAW,CAAC28R,UAAD,EAAaC,kBAAb,EAAiCrB,QAAjC,EAA2C;AAClD,SAAKoB,UAAL,GAAkBA,UAAlB;AACA,SAAKC,kBAAL,GAA0BA,kBAA1B;AACA,SAAKrB,QAAL,GAAgBA,QAAhB;;AACA,QAAIoB,UAAU,IAAIpB,QAAQ,CAACp5R,MAAT,GAAkB,CAAhC,IAAqC65R,cAAc,CAACT,QAAQ,CAAC,CAAD,CAAT,CAAvD,EAAsE;AAClE,YAAM,IAAI91R,KAAJ,CAAU,4CAAV,CAAN;AACH;;AACD,UAAMo3R,aAAa,GAAGtB,QAAQ,CAAC/jR,IAAT,CAAc2kR,oBAAd,CAAtB;;AACA,QAAIU,aAAa,IAAIA,aAAa,KAAK3iN,IAAI,CAACqhN,QAAD,CAA3C,EAAuD;AACnD,YAAM,IAAI91R,KAAJ,CAAU,yCAAV,CAAN;AACH;AACJ;;AACDi2R,EAAAA,MAAM,GAAG;AACL,WAAO,KAAKiB,UAAL,IAAmB,KAAKpB,QAAL,CAAcp5R,MAAd,KAAyB,CAA5C,IAAiD,KAAKo5R,QAAL,CAAc,CAAd,KAAoB,GAA5E;AACH;;AAfY;AAiBjB;;;AACA,SAASE,iBAAT,CAA2BF,QAA3B,EAAqC;AACjC,MAAK,OAAOA,QAAQ,CAAC,CAAD,CAAf,KAAuB,QAAxB,IAAqCA,QAAQ,CAACp5R,MAAT,KAAoB,CAAzD,IAA8Do5R,QAAQ,CAAC,CAAD,CAAR,KAAgB,GAAlF,EAAuF;AACnF,WAAO,IAAImB,UAAJ,CAAe,IAAf,EAAqB,CAArB,EAAwBnB,QAAxB,CAAP;AACH;;AACD,MAAIqB,kBAAkB,GAAG,CAAzB;AACA,MAAID,UAAU,GAAG,KAAjB;AACA,QAAM90M,GAAG,GAAG0zM,QAAQ,CAAC14R,MAAT,CAAgB,CAACglF,GAAD,EAAMi1M,GAAN,EAAWC,MAAX,KAAsB;AAC9C,QAAI,OAAOD,GAAP,KAAe,QAAf,IAA2BA,GAAG,IAAI,IAAtC,EAA4C;AACxC,UAAIA,GAAG,CAACb,OAAR,EAAiB;AACb,cAAMA,OAAO,GAAG,EAAhB;AACAp7R,QAAAA,OAAO,CAACi8R,GAAG,CAACb,OAAL,EAAc,CAACV,QAAD,EAAWr9R,IAAX,KAAoB;AACrC+9R,UAAAA,OAAO,CAAC/9R,IAAD,CAAP,GAAgB,OAAOq9R,QAAP,KAAoB,QAApB,GAA+BA,QAAQ,CAAC5pR,KAAT,CAAe,GAAf,CAA/B,GAAqD4pR,QAArE;AACH,SAFM,CAAP;AAGA,eAAO,CAAC,GAAG1zM,GAAJ,EAAS;AAAEo0M,UAAAA;AAAF,SAAT,CAAP;AACH;;AACD,UAAIa,GAAG,CAACZ,WAAR,EAAqB;AACjB,eAAO,CAAC,GAAGr0M,GAAJ,EAASi1M,GAAG,CAACZ,WAAb,CAAP;AACH;AACJ;;AACD,QAAI,EAAE,OAAOY,GAAP,KAAe,QAAjB,CAAJ,EAAgC;AAC5B,aAAO,CAAC,GAAGj1M,GAAJ,EAASi1M,GAAT,CAAP;AACH;;AACD,QAAIC,MAAM,KAAK,CAAf,EAAkB;AACdD,MAAAA,GAAG,CAACnrR,KAAJ,CAAU,GAAV,EAAe9Q,OAAf,CAAuB,CAACm8R,OAAD,EAAUC,SAAV,KAAwB;AAC3C,YAAIA,SAAS,IAAI,CAAb,IAAkBD,OAAO,KAAK,GAAlC,EAAuC,CACnC;AACH,SAFD,MAGK,IAAIC,SAAS,IAAI,CAAb,IAAkBD,OAAO,KAAK,EAAlC,EAAsC;AAAE;AACzCL,UAAAA,UAAU,GAAG,IAAb;AACH,SAFI,MAGA,IAAIK,OAAO,KAAK,IAAhB,EAAsB;AAAE;AACzBJ,UAAAA,kBAAkB;AACrB,SAFI,MAGA,IAAII,OAAO,IAAI,EAAf,EAAmB;AACpBn1M,UAAAA,GAAG,CAAC7mF,IAAJ,CAASg8R,OAAT;AACH;AACJ,OAbD;AAcA,aAAOn1M,GAAP;AACH;;AACD,WAAO,CAAC,GAAGA,GAAJ,EAASi1M,GAAT,CAAP;AACH,GAlCW,EAkCT,EAlCS,CAAZ;AAmCA,SAAO,IAAIJ,UAAJ,CAAeC,UAAf,EAA2BC,kBAA3B,EAA+C/0M,GAA/C,CAAP;AACH;;AACD,MAAMq1M,QAAN,CAAe;AACXl9R,EAAAA,WAAW,CAACqyR,YAAD,EAAewJ,eAAf,EAAgCz2Q,KAAhC,EAAuC;AAC9C,SAAKitQ,YAAL,GAAoBA,YAApB;AACA,SAAKwJ,eAAL,GAAuBA,eAAvB;AACA,SAAKz2Q,KAAL,GAAaA,KAAb;AACH;;AALU;;AAOf,SAASw2Q,oBAAT,CAA8BJ,GAA9B,EAAmC3F,IAAnC,EAAyC1E,KAAzC,EAAgD;AAC5C,MAAIqK,GAAG,CAACmB,UAAR,EAAoB;AAChB,WAAO,IAAIO,QAAJ,CAAarH,IAAI,CAAC3nQ,IAAlB,EAAwB,IAAxB,EAA8B,CAA9B,CAAP;AACH;;AACD,MAAIijQ,KAAK,CAACG,QAAN,CAAe6I,cAAf,KAAkC,CAAC,CAAvC,EAA0C;AACtC,UAAM9H,YAAY,GAAGlB,KAAK,CAACG,QAAN,CAAe4I,WAApC,CADsC,CAEtC;AACA;AACA;;AACA,UAAM2B,eAAe,GAAGxJ,YAAY,KAAKwD,IAAI,CAAC3nQ,IAA9C;AACA,WAAO,IAAIgvQ,QAAJ,CAAa7K,YAAb,EAA2BwJ,eAA3B,EAA4C,CAA5C,CAAP;AACH;;AACD,QAAM30P,QAAQ,GAAG80P,cAAc,CAACR,GAAG,CAACD,QAAJ,CAAa,CAAb,CAAD,CAAd,GAAkC,CAAlC,GAAsC,CAAvD;AACA,QAAMn2Q,KAAK,GAAG+rQ,KAAK,CAACG,QAAN,CAAe6I,cAAf,GAAgCjzP,QAA9C;AACA,SAAOi2P,gCAAgC,CAAChM,KAAK,CAACG,QAAN,CAAe4I,WAAhB,EAA6B90Q,KAA7B,EAAoCo2Q,GAAG,CAACoB,kBAAxC,CAAvC;AACH;;AACD,SAASO,gCAAT,CAA0C1+R,KAA1C,EAAiD2mB,KAAjD,EAAwDw3Q,kBAAxD,EAA4E;AACxE,MAAIQ,CAAC,GAAG3+R,KAAR;AACA,MAAI4+R,EAAE,GAAGj4Q,KAAT;AACA,MAAIk4Q,EAAE,GAAGV,kBAAT;;AACA,SAAOU,EAAE,GAAGD,EAAZ,EAAgB;AACZC,IAAAA,EAAE,IAAID,EAAN;AACAD,IAAAA,CAAC,GAAGA,CAAC,CAACrzQ,MAAN;;AACA,QAAI,CAACqzQ,CAAL,EAAQ;AACJ,YAAM,IAAI33R,KAAJ,CAAU,2BAAV,CAAN;AACH;;AACD43R,IAAAA,EAAE,GAAGD,CAAC,CAAChL,QAAF,CAAWjwR,MAAhB;AACH;;AACD,SAAO,IAAI+6R,QAAJ,CAAaE,CAAb,EAAgB,KAAhB,EAAuBC,EAAE,GAAGC,EAA5B,CAAP;AACH;;AACD,SAASC,UAAT,CAAoBhC,QAApB,EAA8B;AAC1B,MAAIY,oBAAoB,CAACZ,QAAQ,CAAC,CAAD,CAAT,CAAxB,EAAuC;AACnC,WAAOA,QAAQ,CAAC,CAAD,CAAR,CAAYU,OAAnB;AACH;;AACD,SAAO;AAAE,KAACpK,cAAD,GAAkB0J;AAApB,GAAP;AACH;;AACD,SAASQ,kBAAT,CAA4B1J,YAA5B,EAA0CrlR,UAA1C,EAAsDuuR,QAAtD,EAAgE;AAC5D,MAAI,CAAClJ,YAAL,EAAmB;AACfA,IAAAA,YAAY,GAAG,IAAIiB,eAAJ,CAAoB,EAApB,EAAwB,EAAxB,CAAf;AACH;;AACD,MAAIjB,YAAY,CAACD,QAAb,CAAsBjwR,MAAtB,KAAiC,CAAjC,IAAsCkwR,YAAY,CAACE,WAAb,EAA1C,EAAsE;AAClE,WAAOuJ,0BAA0B,CAACzJ,YAAD,EAAerlR,UAAf,EAA2BuuR,QAA3B,CAAjC;AACH;;AACD,QAAM1rR,CAAC,GAAG2tR,YAAY,CAACnL,YAAD,EAAerlR,UAAf,EAA2BuuR,QAA3B,CAAtB;AACA,QAAMkC,cAAc,GAAGlC,QAAQ,CAAC79Q,KAAT,CAAe7N,CAAC,CAAC6tR,YAAjB,CAAvB;;AACA,MAAI7tR,CAAC,CAAC1D,KAAF,IAAW0D,CAAC,CAAC8tR,SAAF,GAActL,YAAY,CAACD,QAAb,CAAsBjwR,MAAnD,EAA2D;AACvD,UAAMi7R,CAAC,GAAG,IAAI9J,eAAJ,CAAoBjB,YAAY,CAACD,QAAb,CAAsB10Q,KAAtB,CAA4B,CAA5B,EAA+B7N,CAAC,CAAC8tR,SAAjC,CAApB,EAAiE,EAAjE,CAAV;AACAP,IAAAA,CAAC,CAACjwP,QAAF,CAAW0kP,cAAX,IACI,IAAIyB,eAAJ,CAAoBjB,YAAY,CAACD,QAAb,CAAsB10Q,KAAtB,CAA4B7N,CAAC,CAAC8tR,SAA9B,CAApB,EAA8DtL,YAAY,CAACllP,QAA3E,CADJ;AAEA,WAAO2uP,0BAA0B,CAACsB,CAAD,EAAI,CAAJ,EAAOK,cAAP,CAAjC;AACH,GALD,MAMK,IAAI5tR,CAAC,CAAC1D,KAAF,IAAWsxR,cAAc,CAACt7R,MAAf,KAA0B,CAAzC,EAA4C;AAC7C,WAAO,IAAImxR,eAAJ,CAAoBjB,YAAY,CAACD,QAAjC,EAA2C,EAA3C,CAAP;AACH,GAFI,MAGA,IAAIviR,CAAC,CAAC1D,KAAF,IAAW,CAACkmR,YAAY,CAACE,WAAb,EAAhB,EAA4C;AAC7C,WAAOqL,qBAAqB,CAACvL,YAAD,EAAerlR,UAAf,EAA2BuuR,QAA3B,CAA5B;AACH,GAFI,MAGA,IAAI1rR,CAAC,CAAC1D,KAAN,EAAa;AACd,WAAO2vR,0BAA0B,CAACzJ,YAAD,EAAe,CAAf,EAAkBoL,cAAlB,CAAjC;AACH,GAFI,MAGA;AACD,WAAOG,qBAAqB,CAACvL,YAAD,EAAerlR,UAAf,EAA2BuuR,QAA3B,CAA5B;AACH;AACJ;;AACD,SAASO,0BAAT,CAAoCzJ,YAApC,EAAkDrlR,UAAlD,EAA8DuuR,QAA9D,EAAwE;AACpE,MAAIA,QAAQ,CAACp5R,MAAT,KAAoB,CAAxB,EAA2B;AACvB,WAAO,IAAImxR,eAAJ,CAAoBjB,YAAY,CAACD,QAAjC,EAA2C,EAA3C,CAAP;AACH,GAFD,MAGK;AACD,UAAM6J,OAAO,GAAGsB,UAAU,CAAChC,QAAD,CAA1B;AACA,UAAMpuP,QAAQ,GAAG,EAAjB;AACAtsC,IAAAA,OAAO,CAACo7R,OAAD,EAAU,CAACV,QAAD,EAAW/C,MAAX,KAAsB;AACnC,UAAI,OAAO+C,QAAP,KAAoB,QAAxB,EAAkC;AAC9BA,QAAAA,QAAQ,GAAG,CAACA,QAAD,CAAX;AACH;;AACD,UAAIA,QAAQ,KAAK,IAAjB,EAAuB;AACnBpuP,QAAAA,QAAQ,CAACqrP,MAAD,CAAR,GAAmBuD,kBAAkB,CAAC1J,YAAY,CAACllP,QAAb,CAAsBqrP,MAAtB,CAAD,EAAgCxrR,UAAhC,EAA4CuuR,QAA5C,CAArC;AACH;AACJ,KAPM,CAAP;AAQA16R,IAAAA,OAAO,CAACwxR,YAAY,CAACllP,QAAd,EAAwB,CAACm9E,KAAD,EAAQgrK,WAAR,KAAwB;AACnD,UAAI2G,OAAO,CAAC3G,WAAD,CAAP,KAAyBhvR,SAA7B,EAAwC;AACpC6mC,QAAAA,QAAQ,CAACmoP,WAAD,CAAR,GAAwBhrK,KAAxB;AACH;AACJ,KAJM,CAAP;AAKA,WAAO,IAAIgpK,eAAJ,CAAoBjB,YAAY,CAACD,QAAjC,EAA2CjlP,QAA3C,CAAP;AACH;AACJ;;AACD,SAASqwP,YAAT,CAAsBnL,YAAtB,EAAoCrlR,UAApC,EAAgDuuR,QAAhD,EAA0D;AACtD,MAAIsC,mBAAmB,GAAG,CAA1B;AACA,MAAIC,gBAAgB,GAAG9wR,UAAvB;AACA,QAAM+wR,OAAO,GAAG;AAAE5xR,IAAAA,KAAK,EAAE,KAAT;AAAgBwxR,IAAAA,SAAS,EAAE,CAA3B;AAA8BD,IAAAA,YAAY,EAAE;AAA5C,GAAhB;;AACA,SAAOI,gBAAgB,GAAGzL,YAAY,CAACD,QAAb,CAAsBjwR,MAAhD,EAAwD;AACpD,QAAI07R,mBAAmB,IAAItC,QAAQ,CAACp5R,MAApC,EACI,OAAO47R,OAAP;AACJ,UAAMx6M,IAAI,GAAG8uM,YAAY,CAACD,QAAb,CAAsB0L,gBAAtB,CAAb;AACA,UAAM72R,OAAO,GAAGs0R,QAAQ,CAACsC,mBAAD,CAAxB,CAJoD,CAKpD;AACA;AACA;;AACA,QAAI1B,oBAAoB,CAACl1R,OAAD,CAAxB,EAAmC;AAC/B;AACH;;AACD,UAAM8oC,IAAI,GAAI,GAAE9oC,OAAQ,EAAxB;AACA,UAAMwI,IAAI,GAAGouR,mBAAmB,GAAGtC,QAAQ,CAACp5R,MAAT,GAAkB,CAAxC,GAA4Co5R,QAAQ,CAACsC,mBAAmB,GAAG,CAAvB,CAApD,GAAgF,IAA7F;AACA,QAAIC,gBAAgB,GAAG,CAAnB,IAAwB/tP,IAAI,KAAKzpC,SAArC,EACI;;AACJ,QAAIypC,IAAI,IAAItgC,IAAR,IAAiB,OAAOA,IAAP,KAAgB,QAAjC,IAA8CA,IAAI,CAACwsR,OAAL,KAAiB31R,SAAnE,EAA8E;AAC1E,UAAI,CAAC03R,OAAO,CAACjuP,IAAD,EAAOtgC,IAAP,EAAa8zE,IAAb,CAAZ,EACI,OAAOw6M,OAAP;AACJF,MAAAA,mBAAmB,IAAI,CAAvB;AACH,KAJD,MAKK;AACD,UAAI,CAACG,OAAO,CAACjuP,IAAD,EAAO,EAAP,EAAWwzC,IAAX,CAAZ,EACI,OAAOw6M,OAAP;AACJF,MAAAA,mBAAmB;AACtB;;AACDC,IAAAA,gBAAgB;AACnB;;AACD,SAAO;AAAE3xR,IAAAA,KAAK,EAAE,IAAT;AAAewxR,IAAAA,SAAS,EAAEG,gBAA1B;AAA4CJ,IAAAA,YAAY,EAAEG;AAA1D,GAAP;AACH;;AACD,SAASD,qBAAT,CAA+BvL,YAA/B,EAA6CrlR,UAA7C,EAAyDuuR,QAAzD,EAAmE;AAC/D,QAAMxH,KAAK,GAAG1B,YAAY,CAACD,QAAb,CAAsB10Q,KAAtB,CAA4B,CAA5B,EAA+B1Q,UAA/B,CAAd;AACA,MAAI7D,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGoyR,QAAQ,CAACp5R,MAApB,EAA4B;AACxB,UAAM8E,OAAO,GAAGs0R,QAAQ,CAACpyR,CAAD,CAAxB;;AACA,QAAIgzR,oBAAoB,CAACl1R,OAAD,CAAxB,EAAmC;AAC/B,YAAMkmC,QAAQ,GAAG8wP,wBAAwB,CAACh3R,OAAO,CAACg1R,OAAT,CAAzC;AACA,aAAO,IAAI3I,eAAJ,CAAoBS,KAApB,EAA2B5mP,QAA3B,CAAP;AACH,KALuB,CAMxB;;;AACA,QAAIhkC,CAAC,KAAK,CAAN,IAAW6yR,cAAc,CAACT,QAAQ,CAAC,CAAD,CAAT,CAA7B,EAA4C;AACxC,YAAMt4R,CAAC,GAAGovR,YAAY,CAACD,QAAb,CAAsBplR,UAAtB,CAAV;AACA+mR,MAAAA,KAAK,CAAC/yR,IAAN,CAAW,IAAI8zR,UAAJ,CAAe7xR,CAAC,CAACsgF,IAAjB,EAAuBmX,SAAS,CAAC6gM,QAAQ,CAAC,CAAD,CAAT,CAAhC,CAAX;AACApyR,MAAAA,CAAC;AACD;AACH;;AACD,UAAM4mC,IAAI,GAAGosP,oBAAoB,CAACl1R,OAAD,CAApB,GAAgCA,OAAO,CAACg1R,OAAR,CAAgBpK,cAAhB,CAAhC,GAAmE,GAAE5qR,OAAQ,EAA1F;AACA,UAAMwI,IAAI,GAAItG,CAAC,GAAGoyR,QAAQ,CAACp5R,MAAT,GAAkB,CAAvB,GAA4Bo5R,QAAQ,CAACpyR,CAAC,GAAG,CAAL,CAApC,GAA8C,IAA3D;;AACA,QAAI4mC,IAAI,IAAItgC,IAAR,IAAgBusR,cAAc,CAACvsR,IAAD,CAAlC,EAA0C;AACtCskR,MAAAA,KAAK,CAAC/yR,IAAN,CAAW,IAAI8zR,UAAJ,CAAe/kP,IAAf,EAAqB2qD,SAAS,CAACjrF,IAAD,CAA9B,CAAX;AACAtG,MAAAA,CAAC,IAAI,CAAL;AACH,KAHD,MAIK;AACD4qR,MAAAA,KAAK,CAAC/yR,IAAN,CAAW,IAAI8zR,UAAJ,CAAe/kP,IAAf,EAAqB,EAArB,CAAX;AACA5mC,MAAAA,CAAC;AACJ;AACJ;;AACD,SAAO,IAAImqR,eAAJ,CAAoBS,KAApB,EAA2B,EAA3B,CAAP;AACH;;AACD,SAASkK,wBAAT,CAAkChC,OAAlC,EAA2C;AACvC,QAAM9uP,QAAQ,GAAG,EAAjB;AACAtsC,EAAAA,OAAO,CAACo7R,OAAD,EAAU,CAACV,QAAD,EAAW/C,MAAX,KAAsB;AACnC,QAAI,OAAO+C,QAAP,KAAoB,QAAxB,EAAkC;AAC9BA,MAAAA,QAAQ,GAAG,CAACA,QAAD,CAAX;AACH;;AACD,QAAIA,QAAQ,KAAK,IAAjB,EAAuB;AACnBpuP,MAAAA,QAAQ,CAACqrP,MAAD,CAAR,GAAmBoF,qBAAqB,CAAC,IAAItK,eAAJ,CAAoB,EAApB,EAAwB,EAAxB,CAAD,EAA8B,CAA9B,EAAiCiI,QAAjC,CAAxC;AACH;AACJ,GAPM,CAAP;AAQA,SAAOpuP,QAAP;AACH;;AACD,SAASutD,SAAT,CAAmBhsF,MAAnB,EAA2B;AACvB,QAAMm5E,GAAG,GAAG,EAAZ;AACAhnF,EAAAA,OAAO,CAAC6N,MAAD,EAAS,CAACqJ,CAAD,EAAIs+E,CAAJ,KAAUxO,GAAG,CAACwO,CAAD,CAAH,GAAU,GAAEt+E,CAAE,EAAjC,CAAP;AACA,SAAO8vE,GAAP;AACH;;AACD,SAASm2M,OAAT,CAAiBz6M,IAAjB,EAAuB70E,MAAvB,EAA+B+jR,OAA/B,EAAwC;AACpC,SAAOlvM,IAAI,IAAIkvM,OAAO,CAAClvM,IAAhB,IAAwBsvM,YAAY,CAACnkR,MAAD,EAAS+jR,OAAO,CAAC58J,UAAjB,CAA3C;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqoK,cAAc,GAAG,CAACC,YAAD,EAAevD,kBAAf,EAAmCwD,YAAnC,KAAoD33R,mDAAG,CAACsE,CAAC,IAAI;AAChF,MAAIszR,cAAJ,CAAmBzD,kBAAnB,EAAuC7vR,CAAC,CAACuzR,iBAAzC,EAA4DvzR,CAAC,CAACwzR,kBAA9D,EAAkFH,YAAlF,EACKI,QADL,CACcL,YADd;AAEA,SAAOpzR,CAAP;AACH,CAJ6E,CAA9E;;AAKA,MAAMszR,cAAN,CAAqB;AACjBr+R,EAAAA,WAAW,CAAC46R,kBAAD,EAAqB6D,WAArB,EAAkCC,SAAlC,EAA6CN,YAA7C,EAA2D;AAClE,SAAKxD,kBAAL,GAA0BA,kBAA1B;AACA,SAAK6D,WAAL,GAAmBA,WAAnB;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAKN,YAAL,GAAoBA,YAApB;AACH;;AACDI,EAAAA,QAAQ,CAACG,cAAD,EAAiB;AACrB,UAAMC,UAAU,GAAG,KAAKH,WAAL,CAAiBzG,KAApC;AACA,UAAM6G,QAAQ,GAAG,KAAKH,SAAL,GAAiB,KAAKA,SAAL,CAAe1G,KAAhC,GAAwC,IAAzD;AACA,SAAK8G,qBAAL,CAA2BF,UAA3B,EAAuCC,QAAvC,EAAiDF,cAAjD;AACArE,IAAAA,qBAAqB,CAAC,KAAKmE,WAAL,CAAiBvwQ,IAAlB,CAArB;AACA,SAAK6wQ,mBAAL,CAAyBH,UAAzB,EAAqCC,QAArC,EAA+CF,cAA/C;AACH,GAbgB,CAcjB;;;AACAG,EAAAA,qBAAqB,CAACE,UAAD,EAAaC,QAAb,EAAuBC,QAAvB,EAAiC;AAClD,UAAM/xP,QAAQ,GAAGorP,iBAAiB,CAAC0G,QAAD,CAAlC,CADkD,CAElD;;AACAD,IAAAA,UAAU,CAAC7xP,QAAX,CAAoBtsC,OAApB,CAA4Bs+R,WAAW,IAAI;AACvC,YAAMC,eAAe,GAAGD,WAAW,CAACv4R,KAAZ,CAAkB4xR,MAA1C;AACA,WAAK6G,gBAAL,CAAsBF,WAAtB,EAAmChyP,QAAQ,CAACiyP,eAAD,CAA3C,EAA8DF,QAA9D;AACA,aAAO/xP,QAAQ,CAACiyP,eAAD,CAAf;AACH,KAJD,EAHkD,CAQlD;;AACAv+R,IAAAA,OAAO,CAACssC,QAAD,EAAW,CAACp1B,CAAD,EAAIunR,SAAJ,KAAkB;AAChC,WAAKC,6BAAL,CAAmCxnR,CAAnC,EAAsCmnR,QAAtC;AACH,KAFM,CAAP;AAGH;;AACDG,EAAAA,gBAAgB,CAACL,UAAD,EAAaC,QAAb,EAAuBhjR,aAAvB,EAAsC;AAClD,UAAMujR,MAAM,GAAGR,UAAU,CAACp4R,KAA1B;AACA,UAAMmpC,IAAI,GAAGkvP,QAAQ,GAAGA,QAAQ,CAACr4R,KAAZ,GAAoB,IAAzC;;AACA,QAAI44R,MAAM,KAAKzvP,IAAf,EAAqB;AACjB;AACA,UAAIyvP,MAAM,CAACh2N,SAAX,EAAsB;AAClB;AACA,cAAMh5D,OAAO,GAAGyL,aAAa,CAACw0I,UAAd,CAAyB+uI,MAAM,CAAChH,MAAhC,CAAhB;;AACA,YAAIhoR,OAAJ,EAAa;AACT,eAAKsuR,qBAAL,CAA2BE,UAA3B,EAAuCC,QAAvC,EAAiDzuR,OAAO,CAAC28B,QAAzD;AACH;AACJ,OAND,MAOK;AACD;AACA,aAAK2xP,qBAAL,CAA2BE,UAA3B,EAAuCC,QAAvC,EAAiDhjR,aAAjD;AACH;AACJ,KAbD,MAcK;AACD,UAAI8zB,IAAJ,EAAU;AACN;AACA,aAAKwvP,6BAAL,CAAmCN,QAAnC,EAA6ChjR,aAA7C;AACH;AACJ;AACJ;;AACDsjR,EAAAA,6BAA6B,CAACpO,KAAD,EAAQwN,cAAR,EAAwB;AACjD,QAAI,KAAK/D,kBAAL,CAAwB6E,YAAxB,CAAqCtO,KAAK,CAACvqR,KAAN,CAAY0qR,QAAjD,CAAJ,EAAgE;AAC5D,WAAKoO,0BAAL,CAAgCvO,KAAhC,EAAuCwN,cAAvC;AACH,KAFD,MAGK;AACD,WAAKgB,wBAAL,CAA8BxO,KAA9B,EAAqCwN,cAArC;AACH;AACJ;;AACDe,EAAAA,0BAA0B,CAACvO,KAAD,EAAQwN,cAAR,EAAwB;AAC9C,UAAMnuR,OAAO,GAAGmuR,cAAc,CAACluI,UAAf,CAA0B0gI,KAAK,CAACvqR,KAAN,CAAY4xR,MAAtC,CAAhB;;AACA,QAAIhoR,OAAO,IAAIA,OAAO,CAACgoR,MAAvB,EAA+B;AAC3B,YAAM1tN,YAAY,GAAGt6D,OAAO,CAACgoR,MAAR,CAAel7O,MAAf,EAArB;AACA,YAAM4hP,QAAQ,GAAG1uR,OAAO,CAAC28B,QAAR,CAAiByyP,mBAAjB,EAAjB;AACA,WAAKhF,kBAAL,CAAwBt2K,KAAxB,CAA8B6sK,KAAK,CAACvqR,KAAN,CAAY0qR,QAA1C,EAAoD;AAAExmN,QAAAA,YAAF;AAAgBqmN,QAAAA,KAAhB;AAAuB+N,QAAAA;AAAvB,OAApD;AACH;AACJ;;AACDS,EAAAA,wBAAwB,CAACxO,KAAD,EAAQwN,cAAR,EAAwB;AAC5C,UAAMnuR,OAAO,GAAGmuR,cAAc,CAACluI,UAAf,CAA0B0gI,KAAK,CAACvqR,KAAN,CAAY4xR,MAAtC,CAAhB,CAD4C,CAE5C;AACA;;AACA,UAAM0G,QAAQ,GAAG1uR,OAAO,IAAI2gR,KAAK,CAACvqR,KAAN,CAAY4iE,SAAvB,GAAmCh5D,OAAO,CAAC28B,QAA3C,GAAsDwxP,cAAvE;AACA,UAAMxxP,QAAQ,GAAGorP,iBAAiB,CAACpH,KAAD,CAAlC;;AACA,SAAK,MAAMmE,WAAX,IAA0BrwR,MAAM,CAACC,IAAP,CAAYioC,QAAZ,CAA1B,EAAiD;AAC7C,WAAKoyP,6BAAL,CAAmCpyP,QAAQ,CAACmoP,WAAD,CAA3C,EAA0D4J,QAA1D;AACH;;AACD,QAAI1uR,OAAO,IAAIA,OAAO,CAACgoR,MAAvB,EAA+B;AAC3B;AACAhoR,MAAAA,OAAO,CAACgoR,MAAR,CAAeqH,UAAf,GAF2B,CAG3B;;AACArvR,MAAAA,OAAO,CAAC28B,QAAR,CAAiByyP,mBAAjB,GAJ2B,CAK3B;AACA;;AACApvR,MAAAA,OAAO,CAACsvR,SAAR,GAAoB,IAApB;AACAtvR,MAAAA,OAAO,CAACm6D,QAAR,GAAmB,IAAnB;AACAn6D,MAAAA,OAAO,CAAC2gR,KAAR,GAAgB,IAAhB;AACH;AACJ;;AACD4N,EAAAA,mBAAmB,CAACC,UAAD,EAAaC,QAAb,EAAuBC,QAAvB,EAAiC;AAChD,UAAM/xP,QAAQ,GAAGorP,iBAAiB,CAAC0G,QAAD,CAAlC;AACAD,IAAAA,UAAU,CAAC7xP,QAAX,CAAoBtsC,OAApB,CAA4Bo3B,CAAC,IAAI;AAC7B,WAAKimQ,cAAL,CAAoBjmQ,CAApB,EAAuBkV,QAAQ,CAAClV,CAAC,CAACrxB,KAAF,CAAQ4xR,MAAT,CAA/B,EAAiD0G,QAAjD;AACA,WAAKd,YAAL,CAAkB,IAAI1M,aAAJ,CAAkBz5P,CAAC,CAACrxB,KAAF,CAAQ0qR,QAA1B,CAAlB;AACH,KAHD;;AAIA,QAAI0N,UAAU,CAAC7xP,QAAX,CAAoBhrC,MAAxB,EAAgC;AAC5B,WAAKi8R,YAAL,CAAkB,IAAI5M,kBAAJ,CAAuBwN,UAAU,CAACp4R,KAAX,CAAiB0qR,QAAxC,CAAlB;AACH;AACJ;;AACD4M,EAAAA,cAAc,CAACc,UAAD,EAAaC,QAAb,EAAuBN,cAAvB,EAAuC;AACjD,UAAMa,MAAM,GAAGR,UAAU,CAACp4R,KAA1B;AACA,UAAMmpC,IAAI,GAAGkvP,QAAQ,GAAGA,QAAQ,CAACr4R,KAAZ,GAAoB,IAAzC;AACA0zR,IAAAA,qBAAqB,CAACkF,MAAD,CAArB,CAHiD,CAIjD;;AACA,QAAIA,MAAM,KAAKzvP,IAAf,EAAqB;AACjB,UAAIyvP,MAAM,CAACh2N,SAAX,EAAsB;AAClB;AACA,cAAMh5D,OAAO,GAAGmuR,cAAc,CAACoB,kBAAf,CAAkCP,MAAM,CAAChH,MAAzC,CAAhB;AACA,aAAKuG,mBAAL,CAAyBC,UAAzB,EAAqCC,QAArC,EAA+CzuR,OAAO,CAAC28B,QAAvD;AACH,OAJD,MAKK;AACD;AACA,aAAK4xP,mBAAL,CAAyBC,UAAzB,EAAqCC,QAArC,EAA+CN,cAA/C;AACH;AACJ,KAVD,MAWK;AACD,UAAIa,MAAM,CAACh2N,SAAX,EAAsB;AAClB;AACA,cAAMh5D,OAAO,GAAGmuR,cAAc,CAACoB,kBAAf,CAAkCP,MAAM,CAAChH,MAAzC,CAAhB;;AACA,YAAI,KAAKoC,kBAAL,CAAwBK,YAAxB,CAAqCuE,MAAM,CAAClO,QAA5C,CAAJ,EAA2D;AACvD,gBAAM0O,MAAM,GAAG,KAAKpF,kBAAL,CAAwBO,QAAxB,CAAiCqE,MAAM,CAAClO,QAAxC,CAAf;AACA,eAAKsJ,kBAAL,CAAwBt2K,KAAxB,CAA8Bk7K,MAAM,CAAClO,QAArC,EAA+C,IAA/C;AACA9gR,UAAAA,OAAO,CAAC28B,QAAR,CAAiB8yP,kBAAjB,CAAoCD,MAAM,CAACd,QAA3C;AACA1uR,UAAAA,OAAO,CAACsvR,SAAR,GAAoBE,MAAM,CAACl1N,YAA3B;AACAt6D,UAAAA,OAAO,CAAC2gR,KAAR,GAAgB6O,MAAM,CAAC7O,KAAP,CAAavqR,KAA7B;;AACA,cAAI4J,OAAO,CAACgoR,MAAZ,EAAoB;AAChB;AACA;AACAhoR,YAAAA,OAAO,CAACgoR,MAAR,CAAe9tO,MAAf,CAAsBs1O,MAAM,CAACl1N,YAA7B,EAA2Ck1N,MAAM,CAAC7O,KAAP,CAAavqR,KAAxD;AACH;;AACDs5R,UAAAA,uCAAuC,CAACF,MAAM,CAAC7O,KAAR,CAAvC;AACH,SAZD,MAaK;AACD,gBAAMjnP,MAAM,GAAGi2P,kBAAkB,CAACX,MAAM,CAAClO,QAAR,CAAjC;AACA,gBAAM8O,kBAAkB,GAAGl2P,MAAM,GAAGA,MAAM,CAACwpE,MAAP,CAAchqC,wBAAjB,GAA4C,IAA7E;AACAl5D,UAAAA,OAAO,CAACsvR,SAAR,GAAoB,IAApB;AACAtvR,UAAAA,OAAO,CAAC2gR,KAAR,GAAgBqO,MAAhB;AACAhvR,UAAAA,OAAO,CAACm6D,QAAR,GAAmBy1N,kBAAnB;;AACA,cAAI5vR,OAAO,CAACgoR,MAAZ,EAAoB;AAChB;AACA;AACAhoR,YAAAA,OAAO,CAACgoR,MAAR,CAAe6H,YAAf,CAA4Bb,MAA5B,EAAoCY,kBAApC;AACH;;AACD,eAAKrB,mBAAL,CAAyBC,UAAzB,EAAqC,IAArC,EAA2CxuR,OAAO,CAAC28B,QAAnD;AACH;AACJ,OA7BD,MA8BK;AACD;AACA,aAAK4xP,mBAAL,CAAyBC,UAAzB,EAAqC,IAArC,EAA2CL,cAA3C;AACH;AACJ;AACJ;;AAvJgB;;AAyJrB,SAASuB,uCAAT,CAAiD3vR,IAAjD,EAAuD;AACnD+pR,EAAAA,qBAAqB,CAAC/pR,IAAI,CAAC3J,KAAN,CAArB;AACA2J,EAAAA,IAAI,CAAC48B,QAAL,CAActsC,OAAd,CAAsBq/R,uCAAtB;AACH;;AACD,SAASC,kBAAT,CAA4B7O,QAA5B,EAAsC;AAClC,OAAK,IAAIx8Q,CAAC,GAAGw8Q,QAAQ,CAACvnQ,MAAtB,EAA8BjV,CAA9B,EAAiCA,CAAC,GAAGA,CAAC,CAACiV,MAAvC,EAA+C;AAC3C,UAAMonQ,KAAK,GAAGr8Q,CAAC,CAACy8Q,WAAhB;AACA,QAAIJ,KAAK,IAAIA,KAAK,CAACmP,aAAnB,EACI,OAAOnP,KAAK,CAACmP,aAAb;AACJ,QAAInP,KAAK,IAAIA,KAAK,CAAC3nN,SAAnB,EACI,OAAO,IAAP;AACP;;AACD,SAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+2N,kBAAN,CAAyB;AACrBvgS,EAAAA,WAAW,CAACwgS,MAAD,EAAS9sL,MAAT,EAAiB;AACxB,SAAK8sL,MAAL,GAAcA,MAAd;AACA,SAAK9sL,MAAL,GAAcA,MAAd;AACH;;AAJoB;AAOzB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+sL,UAAT,CAAoB1oR,CAApB,EAAuB;AACnB,SAAO,OAAOA,CAAP,KAAa,UAApB;AACH;;AACD,SAAS2oR,SAAT,CAAmB3oR,CAAnB,EAAsB;AAClB,SAAO,OAAOA,CAAP,KAAa,SAApB;AACH;;AACD,SAAS4oR,SAAT,CAAmB5oR,CAAnB,EAAsB;AAClB,SAAOA,CAAC,YAAYs7Q,OAApB;AACH;;AACD,SAASuN,SAAT,CAAmBC,KAAnB,EAA0B;AACtB,SAAOA,KAAK,IAAIJ,UAAU,CAACI,KAAK,CAACC,OAAP,CAA1B;AACH;;AACD,SAASC,aAAT,CAAuBF,KAAvB,EAA8B;AAC1B,SAAOA,KAAK,IAAIJ,UAAU,CAACI,KAAK,CAACG,WAAP,CAA1B;AACH;;AACD,SAASC,kBAAT,CAA4BJ,KAA5B,EAAmC;AAC/B,SAAOA,KAAK,IAAIJ,UAAU,CAACI,KAAK,CAACK,gBAAP,CAA1B;AACH;;AACD,SAASC,eAAT,CAAyBN,KAAzB,EAAgC;AAC5B,SAAOA,KAAK,IAAIJ,UAAU,CAACI,KAAK,CAACO,aAAP,CAA1B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,aAAa,gBAAGhsI,MAAM,CAAC,eAAD,CAA5B;;AACA,SAASisI,qBAAT,GAAiC;AAC7B,SAAOvzN,yDAAS,CAACwtJ,GAAG,IAAI;AACpB,WAAOi0D,mDAAa,CAACj0D,GAAG,CAAC90N,GAAJ,CAAQkwJ,CAAC,IAAIA,CAAC,CAACvwH,IAAF,CAAO1G,oDAAI,CAAC,CAAD,CAAX,EAAgBmuC,yDAAS,CAACwzN,aAAD,CAAzB,CAAb,CAAD,CAAb,CACFj7P,IADE,CACGupP,oDAAI,CAAC,CAACnnD,GAAD,EAAM3+H,IAAN,KAAe;AAC1B,UAAI03L,SAAS,GAAG,KAAhB;AACA,aAAO13L,IAAI,CAAChnG,MAAL,CAAY,CAAC2+R,QAAD,EAAW9iR,GAAX,EAAgBvV,CAAhB,KAAsB;AACrC,YAAIq4R,QAAQ,KAAKH,aAAjB,EACI,OAAOG,QAAP,CAFiC,CAGrC;;AACA,YAAI9iR,GAAG,KAAK2iR,aAAZ,EACIE,SAAS,GAAG,IAAZ,CALiC,CAMrC;AACA;AACA;AACA;;AACA,YAAI,CAACA,SAAL,EAAgB;AACZ;AACA;AACA,cAAI7iR,GAAG,KAAK,KAAZ,EACI,OAAOA,GAAP;;AACJ,cAAIvV,CAAC,KAAK0gG,IAAI,CAAC1nG,MAAL,GAAc,CAApB,IAAyBw+R,SAAS,CAACjiR,GAAD,CAAtC,EAA6C;AACzC,mBAAOA,GAAP;AACH;AACJ;;AACD,eAAO8iR,QAAP;AACH,OApBM,EAoBJh5D,GApBI,CAAP;AAqBH,KAvBa,EAuBX64D,aAvBW,CADP,EAwBYvnR,uDAAM,CAAChM,IAAI,IAAIA,IAAI,KAAKuzR,aAAlB,CAxBlB,EAwBoD56R,mDAAG,CAACqH,IAAI,IAAI6yR,SAAS,CAAC7yR,IAAD,CAAT,GAAkBA,IAAlB,GAAyBA,IAAI,KAAK,IAA3C,CAxBvD,EAwByG;AAChH4xB,IAAAA,oDAAI,CAAC,CAAD,CAzBG,CAAP;AA0BH,GA3Be,CAAhB;AA4BH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM+hQ;AAAN,QAAMA,qBAAN,CAA4B;;AAE5BA,EAAAA,qBAAqB,CAAC52R,IAAtB,GAA6B,SAAS62R,6BAAT,CAAuC32R,CAAvC,EAA0C;AAAE,WAAO,KAAKA,CAAC,IAAI02R,qBAAV,GAAP;AAA4C,GAArH;;AACAA,EAAAA,qBAAqB,CAACnrN,IAAtB,GAA6B,aAAc3yE,+DAAA,CAAyB;AAAEvF,IAAAA,IAAI,EAAEqjS,qBAAR;AAA+B1yP,IAAAA,SAAS,EAAE,CAAC,CAAC,cAAD,CAAD,CAA1C;AAA8DooC,IAAAA,KAAK,EAAE,CAArE;AAAwEC,IAAAA,IAAI,EAAE,CAA9E;AAAiFzN,IAAAA,QAAQ,EAAE,SAASg4N,8BAAT,CAAwCrmP,EAAxC,EAA4CxgC,GAA5C,EAAiD;AAAE,UAAIwgC,EAAE,GAAG,CAAT,EAAY;AACtN33C,QAAAA,uDAAA,CAAiB,CAAjB,EAAoB,eAApB;AACH;AAAE,KAF6D;AAE3Dy5G,IAAAA,UAAU,EAAE,YAAY;AAAE,aAAO,CAACwkL,YAAD,CAAP;AAAwB,KAFS;AAEP9pN,IAAAA,aAAa,EAAE;AAFR,GAAzB,CAA3C;SAHM2pN;;;AAMN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAOr2R,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAGO,CAHtB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy2R,cAAT,CAAwB33P,MAAxB,EAAgC43P,UAAU,GAAG,EAA7C,EAAiD;AAC7C;AACA,OAAK,IAAI34R,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+gC,MAAM,CAAC/nC,MAA3B,EAAmCgH,CAAC,EAApC,EAAwC;AACpC,UAAMgoR,KAAK,GAAGjnP,MAAM,CAAC/gC,CAAD,CAApB;AACA,UAAM44R,QAAQ,GAAGC,WAAW,CAACF,UAAD,EAAa3Q,KAAb,CAA5B;AACAjuE,IAAAA,YAAY,CAACiuE,KAAD,EAAQ4Q,QAAR,CAAZ;AACH;AACJ;;AACD,SAAS7+E,YAAT,CAAsBiuE,KAAtB,EAA6B4Q,QAA7B,EAAuC;AACnC,MAAI,OAAO32R,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,QAAI,CAAC+lR,KAAL,EAAY;AACR,YAAM,IAAI1rR,KAAJ,CAAW;AAC7B,wCAAwCs8R,QAAS;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAVkB,CAAN;AAWH;;AACD,QAAIx0R,KAAK,CAACC,OAAN,CAAc2jR,KAAd,CAAJ,EAA0B;AACtB,YAAM,IAAI1rR,KAAJ,CAAW,mCAAkCs8R,QAAS,8BAAtD,CAAN;AACH;;AACD,QAAI,CAAC5Q,KAAK,CAAC3nN,SAAP,IAAoB,CAAC2nN,KAAK,CAAChkP,QAA3B,IAAuC,CAACgkP,KAAK,CAAC8Q,YAA9C,IACC9Q,KAAK,CAACqH,MAAN,IAAgBrH,KAAK,CAACqH,MAAN,KAAiB3G,cADtC,EACuD;AACnD,YAAM,IAAIpsR,KAAJ,CAAW,mCAAkCs8R,QAAS,0FAAtD,CAAN;AACH;;AACD,QAAI5Q,KAAK,CAAC+Q,UAAN,IAAoB/Q,KAAK,CAAChkP,QAA9B,EAAwC;AACpC,YAAM,IAAI1nC,KAAJ,CAAW,mCAAkCs8R,QAAS,oDAAtD,CAAN;AACH;;AACD,QAAI5Q,KAAK,CAAC+Q,UAAN,IAAoB/Q,KAAK,CAAC8Q,YAA9B,EAA4C;AACxC,YAAM,IAAIx8R,KAAJ,CAAW,mCAAkCs8R,QAAS,wDAAtD,CAAN;AACH;;AACD,QAAI5Q,KAAK,CAAChkP,QAAN,IAAkBgkP,KAAK,CAAC8Q,YAA5B,EAA0C;AACtC,YAAM,IAAIx8R,KAAJ,CAAW,mCAAkCs8R,QAAS,sDAAtD,CAAN;AACH;;AACD,QAAI5Q,KAAK,CAAC+Q,UAAN,IAAoB/Q,KAAK,CAAC3nN,SAA9B,EAAyC;AACrC,YAAM,IAAI/jE,KAAJ,CAAW,mCAAkCs8R,QAAS,qDAAtD,CAAN;AACH;;AACD,QAAI5Q,KAAK,CAAC+Q,UAAN,IAAoB/Q,KAAK,CAAC6P,WAA9B,EAA2C;AACvC,YAAM,IAAIv7R,KAAJ,CAAW,mCAAkCs8R,QAAS,4FAA5C,GACX,wCADC,CAAN;AAEH;;AACD,QAAI5Q,KAAK,CAAC5tM,IAAN,IAAc4tM,KAAK,CAAChvC,OAAxB,EAAiC;AAC7B,YAAM,IAAI18O,KAAJ,CAAW,mCAAkCs8R,QAAS,6CAAtD,CAAN;AACH;;AACD,QAAI5Q,KAAK,CAAC+Q,UAAN,KAAqB,KAAK,CAA1B,IAA+B,CAAC/Q,KAAK,CAAC3nN,SAAtC,IAAmD,CAAC2nN,KAAK,CAAChkP,QAA1D,IAAsE,CAACgkP,KAAK,CAAC8Q,YAAjF,EAA+F;AAC3F,YAAM,IAAIx8R,KAAJ,CAAW,mCAAkCs8R,QAAS,2FAAtD,CAAN;AACH;;AACD,QAAI5Q,KAAK,CAAC5tM,IAAN,KAAe,KAAK,CAApB,IAAyB4tM,KAAK,CAAChvC,OAAN,KAAkB,KAAK,CAApD,EAAuD;AACnD,YAAM,IAAI18O,KAAJ,CAAW,mCAAkCs8R,QAAS,0DAAtD,CAAN;AACH;;AACD,QAAI,OAAO5Q,KAAK,CAAC5tM,IAAb,KAAsB,QAAtB,IAAkC4tM,KAAK,CAAC5tM,IAAN,CAAW15E,MAAX,CAAkB,CAAlB,MAAyB,GAA/D,EAAoE;AAChE,YAAM,IAAIpE,KAAJ,CAAW,mCAAkCs8R,QAAS,mCAAtD,CAAN;AACH;;AACD,QAAI5Q,KAAK,CAAC5tM,IAAN,KAAe,EAAf,IAAqB4tM,KAAK,CAAC+Q,UAAN,KAAqB,KAAK,CAA/C,IAAoD/Q,KAAK,CAACmB,SAAN,KAAoB,KAAK,CAAjF,EAAoF;AAChF,YAAM3lR,GAAG,GAAI,sFAAb;AACA,YAAM,IAAIlH,KAAJ,CAAW,2CAA0Cs8R,QAAS,mBAAkB5Q,KAAK,CAAC+Q,UAAW,oCAAmCv1R,GAAI,EAAxI,CAAN;AACH;;AACD,QAAIwkR,KAAK,CAACmB,SAAN,KAAoB,KAAK,CAAzB,IAA8BnB,KAAK,CAACmB,SAAN,KAAoB,MAAlD,IAA4DnB,KAAK,CAACmB,SAAN,KAAoB,QAApF,EAA8F;AAC1F,YAAM,IAAI7sR,KAAJ,CAAW,mCAAkCs8R,QAAS,oDAAtD,CAAN;AACH;AACJ;;AACD,MAAI5Q,KAAK,CAAChkP,QAAV,EAAoB;AAChB00P,IAAAA,cAAc,CAAC1Q,KAAK,CAAChkP,QAAP,EAAiB40P,QAAjB,CAAd;AACH;AACJ;;AACD,SAASC,WAAT,CAAqBF,UAArB,EAAiCK,YAAjC,EAA+C;AAC3C,MAAI,CAACA,YAAL,EAAmB;AACf,WAAOL,UAAP;AACH;;AACD,MAAI,CAACA,UAAD,IAAe,CAACK,YAAY,CAAC5+M,IAAjC,EAAuC;AACnC,WAAO,EAAP;AACH,GAFD,MAGK,IAAIu+M,UAAU,IAAI,CAACK,YAAY,CAAC5+M,IAAhC,EAAsC;AACvC,WAAQ,GAAEu+M,UAAW,GAArB;AACH,GAFI,MAGA,IAAI,CAACA,UAAD,IAAeK,YAAY,CAAC5+M,IAAhC,EAAsC;AACvC,WAAO4+M,YAAY,CAAC5+M,IAApB;AACH,GAFI,MAGA;AACD,WAAQ,GAAEu+M,UAAW,IAAGK,YAAY,CAAC5+M,IAAK,EAA1C;AACH;AACJ;AACD;AACA;AACA;;;AACA,SAAS6+M,iBAAT,CAA2Bt/L,CAA3B,EAA8B;AAC1B,QAAM31D,QAAQ,GAAG21D,CAAC,CAAC31D,QAAF,IAAc21D,CAAC,CAAC31D,QAAF,CAAW1mC,GAAX,CAAe27R,iBAAf,CAA/B;AACA,QAAMnqQ,CAAC,GAAGkV,QAAQ,GAAGloC,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBy/E,CAAlB,CAAd,EAAoC;AAAE31D,IAAAA;AAAF,GAApC,CAAH,GAAuDloC,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBy/E,CAAlB,CAAzE;;AACA,MAAI,CAAC7qE,CAAC,CAACuxC,SAAH,KAAiBr8B,QAAQ,IAAIlV,CAAC,CAACgqQ,YAA/B,KAAiDhqQ,CAAC,CAACugQ,MAAF,IAAYvgQ,CAAC,CAACugQ,MAAF,KAAa3G,cAA9E,EAA+F;AAC3F55P,IAAAA,CAAC,CAACuxC,SAAF,GAAci4N,qBAAd;AACH;;AACD,SAAOxpQ,CAAP;AACH;AACD;;;AACA,SAASoqQ,SAAT,CAAmBlR,KAAnB,EAA0B;AACtB,SAAOA,KAAK,CAACqH,MAAN,IAAgB3G,cAAvB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASyQ,qBAAT,CAA+B9B,MAA/B,EAAuC1I,UAAvC,EAAmD;AAC/C,QAAMyK,YAAY,GAAG/B,MAAM,CAAC1mR,MAAP,CAAcgpF,CAAC,IAAIu/L,SAAS,CAACv/L,CAAD,CAAT,KAAiBg1L,UAApC,CAArB;AACAyK,EAAAA,YAAY,CAACvhS,IAAb,CAAkB,GAAGw/R,MAAM,CAAC1mR,MAAP,CAAcgpF,CAAC,IAAIu/L,SAAS,CAACv/L,CAAD,CAAT,KAAiBg1L,UAApC,CAArB;AACA,SAAOyK,YAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMxE,OAAO,GAAG;AACZ3gM,EAAAA,OAAO,EAAE,KADG;AAEZolM,EAAAA,gBAAgB,EAAE,EAFN;AAGZC,EAAAA,SAAS,EAAE,CAHC;AAIZ5sK,EAAAA,UAAU,EAAE,EAJA;AAKZ6sK,EAAAA,uBAAuB,EAAE;AALb,CAAhB;;AAOA,SAASv2R,KAAT,CAAekmR,YAAf,EAA6BlB,KAA7B,EAAoCiB,QAApC,EAA8C;AAC1C,MAAI/3P,EAAJ;;AACA,MAAI82P,KAAK,CAAC5tM,IAAN,KAAe,EAAnB,EAAuB;AACnB,QAAI4tM,KAAK,CAACmB,SAAN,KAAoB,MAApB,KAA+BD,YAAY,CAACE,WAAb,MAA8BH,QAAQ,CAACjwR,MAAT,GAAkB,CAA/E,CAAJ,EAAuF;AACnF,aAAO8C,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB06Q,OAAlB,CAAP;AACH;;AACD,WAAO;AACH3gM,MAAAA,OAAO,EAAE,IADN;AAEHolM,MAAAA,gBAAgB,EAAE,EAFf;AAGHC,MAAAA,SAAS,EAAE,CAHR;AAIH5sK,MAAAA,UAAU,EAAE,EAJT;AAKH6sK,MAAAA,uBAAuB,EAAE;AALtB,KAAP;AAOH;;AACD,QAAMvgD,OAAO,GAAGgvC,KAAK,CAAChvC,OAAN,IAAiBgwC,iBAAjC;AACA,QAAMtqM,GAAG,GAAGs6J,OAAO,CAACiwC,QAAD,EAAWC,YAAX,EAAyBlB,KAAzB,CAAnB;AACA,MAAI,CAACtpM,GAAL,EACI,OAAO5iF,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB06Q,OAAlB,CAAP;AACJ,QAAMvL,SAAS,GAAG,EAAlB;AACA3xR,EAAAA,OAAO,CAACgnF,GAAG,CAAC2qM,SAAL,EAAgB,CAACz6Q,CAAD,EAAIs+E,CAAJ,KAAU;AAC7Bm8L,IAAAA,SAAS,CAACn8L,CAAD,CAAT,GAAet+E,CAAC,CAACwrE,IAAjB;AACH,GAFM,CAAP;AAGA,QAAMsyC,UAAU,GAAGhuC,GAAG,CAAC8qM,QAAJ,CAAaxwR,MAAb,GAAsB,CAAtB,GAA0B8C,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBmvQ,SAAlB,CAAd,EAA4C3qM,GAAG,CAAC8qM,QAAJ,CAAa9qM,GAAG,CAAC8qM,QAAJ,CAAaxwR,MAAb,GAAsB,CAAnC,EAAsC0zH,UAAlF,CAA1B,GACf28J,SADJ;AAEA,SAAO;AACHp1L,IAAAA,OAAO,EAAE,IADN;AAEHolM,IAAAA,gBAAgB,EAAE36M,GAAG,CAAC8qM,QAFnB;AAGH8P,IAAAA,SAAS,EAAE56M,GAAG,CAAC8qM,QAAJ,CAAaxwR,MAHrB;AAIH;AACA0zH,IAAAA,UALG;AAMH6sK,IAAAA,uBAAuB,EAAE,CAACroQ,EAAE,GAAGwtD,GAAG,CAAC2qM,SAAV,MAAyB,IAAzB,IAAiCn4P,EAAE,KAAK,KAAK,CAA7C,GAAiDA,EAAjD,GAAsD;AAN5E,GAAP;AAQH;;AACD,SAAS1oB,KAAT,CAAe0gR,YAAf,EAA6BmQ,gBAA7B,EAA+CG,cAA/C,EAA+Dz4P,MAA/D,EAAuE04P,sBAAsB,GAAG,WAAhG,EAA6G;AACzG,MAAID,cAAc,CAACxgS,MAAf,GAAwB,CAAxB,IACA0gS,wCAAwC,CAACxQ,YAAD,EAAesQ,cAAf,EAA+Bz4P,MAA/B,CAD5C,EACoF;AAChF,UAAMp1B,CAAC,GAAG,IAAIw+Q,eAAJ,CAAoBkP,gBAApB,EAAsCM,2BAA2B,CAACzQ,YAAD,EAAemQ,gBAAf,EAAiCt4P,MAAjC,EAAyC,IAAIopP,eAAJ,CAAoBqP,cAApB,EAAoCtQ,YAAY,CAACllP,QAAjD,CAAzC,CAAjE,CAAV;AACAr4B,IAAAA,CAAC,CAACiuR,cAAF,GAAmB1Q,YAAnB;AACAv9Q,IAAAA,CAAC,CAACkuR,kBAAF,GAAuBR,gBAAgB,CAACrgS,MAAxC;AACA,WAAO;AAAEkwR,MAAAA,YAAY,EAAEv9Q,CAAhB;AAAmB6tR,MAAAA,cAAc,EAAE;AAAnC,KAAP;AACH;;AACD,MAAIA,cAAc,CAACxgS,MAAf,KAA0B,CAA1B,IACA8gS,wBAAwB,CAAC5Q,YAAD,EAAesQ,cAAf,EAA+Bz4P,MAA/B,CAD5B,EACoE;AAChE,UAAMp1B,CAAC,GAAG,IAAIw+Q,eAAJ,CAAoBjB,YAAY,CAACD,QAAjC,EAA2C8Q,+BAA+B,CAAC7Q,YAAD,EAAemQ,gBAAf,EAAiCG,cAAjC,EAAiDz4P,MAAjD,EAAyDmoP,YAAY,CAACllP,QAAtE,EAAgFy1P,sBAAhF,CAA1E,CAAV;AACA9tR,IAAAA,CAAC,CAACiuR,cAAF,GAAmB1Q,YAAnB;AACAv9Q,IAAAA,CAAC,CAACkuR,kBAAF,GAAuBR,gBAAgB,CAACrgS,MAAxC;AACA,WAAO;AAAEkwR,MAAAA,YAAY,EAAEv9Q,CAAhB;AAAmB6tR,MAAAA;AAAnB,KAAP;AACH;;AACD,QAAM7tR,CAAC,GAAG,IAAIw+Q,eAAJ,CAAoBjB,YAAY,CAACD,QAAjC,EAA2CC,YAAY,CAACllP,QAAxD,CAAV;AACAr4B,EAAAA,CAAC,CAACiuR,cAAF,GAAmB1Q,YAAnB;AACAv9Q,EAAAA,CAAC,CAACkuR,kBAAF,GAAuBR,gBAAgB,CAACrgS,MAAxC;AACA,SAAO;AAAEkwR,IAAAA,YAAY,EAAEv9Q,CAAhB;AAAmB6tR,IAAAA;AAAnB,GAAP;AACH;;AACD,SAASO,+BAAT,CAAyC7Q,YAAzC,EAAuDmQ,gBAAvD,EAAyEG,cAAzE,EAAyFnC,MAAzF,EAAiGrzP,QAAjG,EAA2Gy1P,sBAA3G,EAAmI;AAC/H,QAAM/6M,GAAG,GAAG,EAAZ;;AACA,OAAK,MAAMib,CAAX,IAAgB09L,MAAhB,EAAwB;AACpB,QAAI2C,cAAc,CAAC9Q,YAAD,EAAesQ,cAAf,EAA+B7/L,CAA/B,CAAd,IAAmD,CAAC31D,QAAQ,CAACk1P,SAAS,CAACv/L,CAAD,CAAV,CAAhE,EAAgF;AAC5E,YAAMhuF,CAAC,GAAG,IAAIw+Q,eAAJ,CAAoB,EAApB,EAAwB,EAAxB,CAAV;AACAx+Q,MAAAA,CAAC,CAACiuR,cAAF,GAAmB1Q,YAAnB;;AACA,UAAIuQ,sBAAsB,KAAK,QAA/B,EAAyC;AACrC9tR,QAAAA,CAAC,CAACkuR,kBAAF,GAAuB3Q,YAAY,CAACD,QAAb,CAAsBjwR,MAA7C;AACH,OAFD,MAGK;AACD2S,QAAAA,CAAC,CAACkuR,kBAAF,GAAuBR,gBAAgB,CAACrgS,MAAxC;AACH;;AACD0lF,MAAAA,GAAG,CAACw6M,SAAS,CAACv/L,CAAD,CAAV,CAAH,GAAoBhuF,CAApB;AACH;AACJ;;AACD,SAAO7P,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB8pB,QAAlB,CAAd,EAA2C06C,GAA3C,CAAP;AACH;;AACD,SAASi7M,2BAAT,CAAqCzQ,YAArC,EAAmDmQ,gBAAnD,EAAqEhC,MAArE,EAA6E4C,cAA7E,EAA6F;AACzF,QAAMv7M,GAAG,GAAG,EAAZ;AACAA,EAAAA,GAAG,CAACgqM,cAAD,CAAH,GAAsBuR,cAAtB;AACAA,EAAAA,cAAc,CAACL,cAAf,GAAgC1Q,YAAhC;AACA+Q,EAAAA,cAAc,CAACJ,kBAAf,GAAoCR,gBAAgB,CAACrgS,MAArD;;AACA,OAAK,MAAM2gG,CAAX,IAAgB09L,MAAhB,EAAwB;AACpB,QAAI19L,CAAC,CAACvf,IAAF,KAAW,EAAX,IAAiB8+M,SAAS,CAACv/L,CAAD,CAAT,KAAiB+uL,cAAtC,EAAsD;AAClD,YAAM/8Q,CAAC,GAAG,IAAIw+Q,eAAJ,CAAoB,EAApB,EAAwB,EAAxB,CAAV;AACAx+Q,MAAAA,CAAC,CAACiuR,cAAF,GAAmB1Q,YAAnB;AACAv9Q,MAAAA,CAAC,CAACkuR,kBAAF,GAAuBR,gBAAgB,CAACrgS,MAAxC;AACA0lF,MAAAA,GAAG,CAACw6M,SAAS,CAACv/L,CAAD,CAAV,CAAH,GAAoBhuF,CAApB;AACH;AACJ;;AACD,SAAO+yE,GAAP;AACH;;AACD,SAASg7M,wCAAT,CAAkDxQ,YAAlD,EAAgEsQ,cAAhE,EAAgFnC,MAAhF,EAAwF;AACpF,SAAOA,MAAM,CAAC1oR,IAAP,CAAYgrF,CAAC,IAAIqgM,cAAc,CAAC9Q,YAAD,EAAesQ,cAAf,EAA+B7/L,CAA/B,CAAd,IAAmDu/L,SAAS,CAACv/L,CAAD,CAAT,KAAiB+uL,cAArF,CAAP;AACH;;AACD,SAASoR,wBAAT,CAAkC5Q,YAAlC,EAAgDsQ,cAAhD,EAAgEnC,MAAhE,EAAwE;AACpE,SAAOA,MAAM,CAAC1oR,IAAP,CAAYgrF,CAAC,IAAIqgM,cAAc,CAAC9Q,YAAD,EAAesQ,cAAf,EAA+B7/L,CAA/B,CAA/B,CAAP;AACH;;AACD,SAASqgM,cAAT,CAAwB9Q,YAAxB,EAAsCsQ,cAAtC,EAAsD7/L,CAAtD,EAAyD;AACrD,MAAI,CAACuvL,YAAY,CAACE,WAAb,MAA8BoQ,cAAc,CAACxgS,MAAf,GAAwB,CAAvD,KAA6D2gG,CAAC,CAACwvL,SAAF,KAAgB,MAAjF,EAAyF;AACrF,WAAO,KAAP;AACH;;AACD,SAAOxvL,CAAC,CAACvf,IAAF,KAAW,EAAlB;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS8/M,gBAAT,CAA0BlS,KAA1B,EAAiCmS,UAAjC,EAA6ClR,QAA7C,EAAuDoG,MAAvD,EAA+D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAI6J,SAAS,CAAClR,KAAD,CAAT,KAAqBqH,MAArB,KACCA,MAAM,KAAK3G,cAAX,IAA6B,CAACsR,cAAc,CAACG,UAAD,EAAalR,QAAb,EAAuBjB,KAAvB,CAD7C,CAAJ,EACiF;AAC7E,WAAO,KAAP;AACH;;AACD,MAAIA,KAAK,CAAC5tM,IAAN,KAAe,IAAnB,EAAyB;AACrB,WAAO,IAAP;AACH;;AACD,SAAOp3E,KAAK,CAACm3R,UAAD,EAAanS,KAAb,EAAoBiB,QAApB,CAAL,CAAmCh1L,OAA1C;AACH;;AACD,SAASmmM,gBAAT,CAA0BlR,YAA1B,EAAwCD,QAAxC,EAAkDoG,MAAlD,EAA0D;AACtD,SAAOpG,QAAQ,CAACjwR,MAAT,KAAoB,CAApB,IAAyB,CAACkwR,YAAY,CAACllP,QAAb,CAAsBqrP,MAAtB,CAAjC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgL,OAAN,CAAc;AACVxjS,EAAAA,WAAW,CAACqyR,YAAD,EAAe;AACtB,SAAKA,YAAL,GAAoBA,YAAY,IAAI,IAApC;AACH;;AAHS;;AAKd,MAAMoR,gBAAN,CAAuB;AACnBzjS,EAAAA,WAAW,CAAC44R,OAAD,EAAU;AACjB,SAAKA,OAAL,GAAeA,OAAf;AACH;;AAHkB;;AAKvB,SAAS8K,SAAT,CAAmBrR,YAAnB,EAAiC;AAC7B,SAAO,IAAIprO,6CAAJ,CAAgBs0K,GAAD,IAASA,GAAG,CAACzsM,KAAJ,CAAU,IAAI00Q,OAAJ,CAAYnR,YAAZ,CAAV,CAAxB,CAAP;AACH;;AACD,SAASsR,gBAAT,CAA0BC,OAA1B,EAAmC;AAC/B,SAAO,IAAI38O,6CAAJ,CAAgBs0K,GAAD,IAASA,GAAG,CAACzsM,KAAJ,CAAU,IAAI20Q,gBAAJ,CAAqBG,OAArB,CAAV,CAAxB,CAAP;AACH;;AACD,SAASC,oBAAT,CAA8B3B,UAA9B,EAA0C;AACtC,SAAO,IAAIj7O,6CAAJ,CAAgBs0K,GAAD,IAASA,GAAG,CAACzsM,KAAJ,CAAU,IAAIrpB,KAAJ,CAAW,gEAA+Dy8R,UAAW,GAArF,CAAV,CAAxB,CAAP;AACH;;AACD,SAAS4B,YAAT,CAAsB3S,KAAtB,EAA6B;AACzB,SAAO,IAAIlqO,6CAAJ,CAAgBs0K,GAAD,IAASA,GAAG,CAACzsM,KAAJ,CAAUmjQ,wBAAwB,CAAE,+DAA8Dd,KAAK,CAAC5tM,IAAK,mBAA3E,CAAlC,CAAxB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASwgN,cAAT,CAAwBhyK,cAAxB,EAAwCiyK,YAAxC,EAAsDC,aAAtD,EAAqErL,OAArE,EAA8E1uP,MAA9E,EAAsF;AAClF,SAAO,IAAIg6P,cAAJ,CAAmBnyK,cAAnB,EAAmCiyK,YAAnC,EAAiDC,aAAjD,EAAgErL,OAAhE,EAAyE1uP,MAAzE,EAAiFnhC,KAAjF,EAAP;AACH;;AACD,MAAMm7R,cAAN,CAAqB;AACjBlkS,EAAAA,WAAW,CAAC+xH,cAAD,EAAiBiyK,YAAjB,EAA+BC,aAA/B,EAA8CrL,OAA9C,EAAuD1uP,MAAvD,EAA+D;AACtE,SAAK85P,YAAL,GAAoBA,YAApB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKrL,OAAL,GAAeA,OAAf;AACA,SAAK1uP,MAAL,GAAcA,MAAd;AACA,SAAKi6P,cAAL,GAAsB,IAAtB;AACA,SAAKzxL,QAAL,GAAgBqf,cAAc,CAACjrH,GAAf,CAAmBq4E,sDAAnB,CAAhB;AACH;;AACDp2E,EAAAA,KAAK,GAAG;AACJ,UAAMq7R,UAAU,GAAGzyR,KAAK,CAAC,KAAKinR,OAAL,CAAa1qQ,IAAd,EAAoB,EAApB,EAAwB,EAAxB,EAA4B,KAAKgc,MAAjC,CAAL,CAA8CmoP,YAAjE,CADI,CAEJ;AACA;AACA;AACA;AACA;AACA;;AACA,UAAMgS,gBAAgB,GAAG,IAAI/Q,eAAJ,CAAoB8Q,UAAU,CAAChS,QAA/B,EAAyCgS,UAAU,CAACj3P,QAApD,CAAzB;AACA,UAAMm3P,SAAS,GAAG,KAAKC,kBAAL,CAAwB,KAAK7xL,QAA7B,EAAuC,KAAKxoE,MAA5C,EAAoDm6P,gBAApD,EAAsExS,cAAtE,CAAlB;AACA,UAAM2S,SAAS,GAAGF,SAAS,CAACl+P,IAAV,CAAe3/B,mDAAG,CAAE49R,gBAAD,IAAsB;AACvD,aAAO,KAAK/I,aAAL,CAAmBmJ,kBAAkB,CAACJ,gBAAD,CAArC,EAAyD,KAAKzL,OAAL,CAAan1M,WAAtE,EAAmF,KAAKm1M,OAAL,CAAa3E,QAAhG,CAAP;AACH,KAFmC,CAAlB,CAAlB;AAGA,WAAOuQ,SAAS,CAACp+P,IAAV,CAAewpP,2DAAU,CAAE5pR,CAAD,IAAO;AACpC,UAAIA,CAAC,YAAYy9R,gBAAjB,EAAmC;AAC/B;AACA;AACA,aAAKU,cAAL,GAAsB,KAAtB,CAH+B,CAI/B;;AACA,eAAO,KAAKh4R,KAAL,CAAWnG,CAAC,CAAC4yR,OAAb,CAAP;AACH;;AACD,UAAI5yR,CAAC,YAAYw9R,OAAjB,EAA0B;AACtB,cAAM,KAAKkB,YAAL,CAAkB1+R,CAAlB,CAAN;AACH;;AACD,YAAMA,CAAN;AACH,KAZ+B,CAAzB,CAAP;AAaH;;AACDmG,EAAAA,KAAK,CAAC0pR,IAAD,EAAO;AACR,UAAMyO,SAAS,GAAG,KAAKC,kBAAL,CAAwB,KAAK7xL,QAA7B,EAAuC,KAAKxoE,MAA5C,EAAoD2rP,IAAI,CAAC3nQ,IAAzD,EAA+D2jQ,cAA/D,CAAlB;AACA,UAAM8S,OAAO,GAAGL,SAAS,CAACl+P,IAAV,CAAe3/B,mDAAG,CAAE49R,gBAAD,IAAsB;AACrD,aAAO,KAAK/I,aAAL,CAAmBmJ,kBAAkB,CAACJ,gBAAD,CAArC,EAAyDxO,IAAI,CAACpyM,WAA9D,EAA2EoyM,IAAI,CAAC5B,QAAhF,CAAP;AACH,KAFiC,CAAlB,CAAhB;AAGA,WAAO0Q,OAAO,CAACv+P,IAAR,CAAawpP,2DAAU,CAAE5pR,CAAD,IAAO;AAClC,UAAIA,CAAC,YAAYw9R,OAAjB,EAA0B;AACtB,cAAM,KAAKkB,YAAL,CAAkB1+R,CAAlB,CAAN;AACH;;AACD,YAAMA,CAAN;AACH,KAL6B,CAAvB,CAAP;AAMH;;AACD0+R,EAAAA,YAAY,CAAC1+R,CAAD,EAAI;AACZ,WAAO,IAAIP,KAAJ,CAAW,0CAAyCO,CAAC,CAACqsR,YAAa,GAAnE,CAAP;AACH;;AACDiJ,EAAAA,aAAa,CAACsJ,aAAD,EAAgBnhN,WAAhB,EAA6BwwM,QAA7B,EAAuC;AAChD,UAAM/lQ,IAAI,GAAG02Q,aAAa,CAACxS,QAAd,CAAuBjwR,MAAvB,GAAgC,CAAhC,GACT,IAAImxR,eAAJ,CAAoB,EAApB,EAAwB;AAAE,OAACzB,cAAD,GAAkB+S;AAApB,KAAxB,CADS,GAETA,aAFJ;AAGA,WAAO,IAAIvR,OAAJ,CAAYnlQ,IAAZ,EAAkBu1D,WAAlB,EAA+BwwM,QAA/B,CAAP;AACH;;AACDsQ,EAAAA,kBAAkB,CAAC7xL,QAAD,EAAW8tL,MAAX,EAAmBnO,YAAnB,EAAiCmG,MAAjC,EAAyC;AACvD,QAAInG,YAAY,CAACD,QAAb,CAAsBjwR,MAAtB,KAAiC,CAAjC,IAAsCkwR,YAAY,CAACE,WAAb,EAA1C,EAAsE;AAClE,aAAO,KAAKsS,cAAL,CAAoBnyL,QAApB,EAA8B8tL,MAA9B,EAAsCnO,YAAtC,EACFjsP,IADE,CACG3/B,mDAAG,CAAE0mC,QAAD,IAAc,IAAImmP,eAAJ,CAAoB,EAApB,EAAwBnmP,QAAxB,CAAf,CADN,CAAP;AAEH;;AACD,WAAO,KAAK23P,aAAL,CAAmBpyL,QAAnB,EAA6B2/K,YAA7B,EAA2CmO,MAA3C,EAAmDnO,YAAY,CAACD,QAAhE,EAA0EoG,MAA1E,EAAkF,IAAlF,CAAP;AACH,GA/DgB,CAgEjB;;;AACAqM,EAAAA,cAAc,CAACnyL,QAAD,EAAW8tL,MAAX,EAAmBnO,YAAnB,EAAiC;AAC3C;AACA;AACA,UAAM0S,YAAY,GAAG,EAArB;;AACA,SAAK,MAAMz6K,KAAX,IAAoBrlH,MAAM,CAACC,IAAP,CAAYmtR,YAAY,CAACllP,QAAzB,CAApB,EAAwD;AACpD,UAAIm9E,KAAK,KAAK,SAAd,EAAyB;AACrBy6K,QAAAA,YAAY,CAAC1wM,OAAb,CAAqBi2B,KAArB;AACH,OAFD,MAGK;AACDy6K,QAAAA,YAAY,CAAC/jS,IAAb,CAAkBspH,KAAlB;AACH;AACJ;;AACD,WAAOz8F,0CAAI,CAACk3Q,YAAD,CAAJ,CACF3+P,IADE,CACGyhE,0DAAS,CAACytL,WAAW,IAAI;AAC/B,YAAMhrK,KAAK,GAAG+nK,YAAY,CAACllP,QAAb,CAAsBmoP,WAAtB,CAAd,CAD+B,CAE/B;AACA;AACA;;AACA,YAAM0P,YAAY,GAAG1C,qBAAqB,CAAC9B,MAAD,EAASlL,WAAT,CAA1C;AACA,aAAO,KAAKiP,kBAAL,CAAwB7xL,QAAxB,EAAkCsyL,YAAlC,EAAgD16K,KAAhD,EAAuDgrK,WAAvD,EACFlvP,IADE,CACG3/B,mDAAG,CAACqO,CAAC,KAAK;AAAE29Q,QAAAA,OAAO,EAAE39Q,CAAX;AAAc0jR,QAAAA,MAAM,EAAElD;AAAtB,OAAL,CAAF,CADN,CAAP;AAEH,KARkB,CADZ,EASH3F,oDAAI,CAAC,CAACxiP,QAAD,EAAW83P,aAAX,KAA6B;AAClC93P,MAAAA,QAAQ,CAAC83P,aAAa,CAACzM,MAAf,CAAR,GAAiCyM,aAAa,CAACxS,OAA/C;AACA,aAAOtlP,QAAP;AACH,KAHO,EAGL,EAHK,CATD,EAYC0iP,qDAAM,EAZP,CAAP;AAaH;;AACDiV,EAAAA,aAAa,CAACpyL,QAAD,EAAW2/K,YAAX,EAAyBmO,MAAzB,EAAiCpO,QAAjC,EAA2CoG,MAA3C,EAAmD2L,cAAnD,EAAmE;AAC5E,WAAOt2Q,0CAAI,CAAC2yQ,MAAD,CAAJ,CAAap6P,IAAb,CAAkByhE,0DAAS,CAAE/E,CAAD,IAAO;AACtC,YAAMwhM,SAAS,GAAG,KAAKY,yBAAL,CAA+BxyL,QAA/B,EAAyC2/K,YAAzC,EAAuDmO,MAAvD,EAA+D19L,CAA/D,EAAkEsvL,QAAlE,EAA4EoG,MAA5E,EAAoF2L,cAApF,CAAlB;AACA,aAAOG,SAAS,CAACl+P,IAAV,CAAewpP,2DAAU,CAAE5pR,CAAD,IAAO;AACpC,YAAIA,CAAC,YAAYw9R,OAAjB,EAA0B;AACtB,iBAAOllQ,wCAAE,CAAC,IAAD,CAAT;AACH;;AACD,cAAMt4B,CAAN;AACH,OAL+B,CAAzB,CAAP;AAMH,KARiC,CAA3B,EAQH8wE,sDAAK,CAAEhiE,CAAD,IAAO,CAAC,CAACA,CAAV,CARF,EAQgB86Q,2DAAU,CAAC,CAAC5pR,CAAD,EAAIoJ,CAAJ,KAAU;AACxC,UAAIpJ,CAAC,YAAYypR,6CAAb,IAA2BzpR,CAAC,CAAC9H,IAAF,KAAW,YAA1C,EAAwD;AACpD,YAAIqlS,gBAAgB,CAAClR,YAAD,EAAeD,QAAf,EAAyBoG,MAAzB,CAApB,EAAsD;AAClD,iBAAOl6P,wCAAE,CAAC,IAAIg1P,eAAJ,CAAoB,EAApB,EAAwB,EAAxB,CAAD,CAAT;AACH;;AACD,cAAM,IAAIkQ,OAAJ,CAAYnR,YAAZ,CAAN;AACH;;AACD,YAAMrsR,CAAN;AACH,KARgC,CAR1B,CAAP;AAiBH;;AACDk/R,EAAAA,yBAAyB,CAACxyL,QAAD,EAAW2/K,YAAX,EAAyBmO,MAAzB,EAAiCrP,KAAjC,EAAwC4C,KAAxC,EAA+CyE,MAA/C,EAAuD2L,cAAvD,EAAuE;AAC5F,QAAI,CAACd,gBAAgB,CAAClS,KAAD,EAAQkB,YAAR,EAAsB0B,KAAtB,EAA6ByE,MAA7B,CAArB,EAA2D;AACvD,aAAOkL,SAAS,CAACrR,YAAD,CAAhB;AACH;;AACD,QAAIlB,KAAK,CAAC+Q,UAAN,KAAqB57R,SAAzB,EAAoC;AAChC,aAAO,KAAK6+R,wBAAL,CAA8BzyL,QAA9B,EAAwC2/K,YAAxC,EAAsDlB,KAAtD,EAA6D4C,KAA7D,EAAoEyE,MAApE,CAAP;AACH;;AACD,QAAI2L,cAAc,IAAI,KAAKA,cAA3B,EAA2C;AACvC,aAAO,KAAKiB,sCAAL,CAA4C1yL,QAA5C,EAAsD2/K,YAAtD,EAAoEmO,MAApE,EAA4ErP,KAA5E,EAAmF4C,KAAnF,EAA0FyE,MAA1F,CAAP;AACH;;AACD,WAAOkL,SAAS,CAACrR,YAAD,CAAhB;AACH;;AACD+S,EAAAA,sCAAsC,CAAC1yL,QAAD,EAAW2/K,YAAX,EAAyBmO,MAAzB,EAAiCrP,KAAjC,EAAwCiB,QAAxC,EAAkDoG,MAAlD,EAA0D;AAC5F,QAAIrH,KAAK,CAAC5tM,IAAN,KAAe,IAAnB,EAAyB;AACrB,aAAO,KAAK8hN,iDAAL,CAAuD3yL,QAAvD,EAAiE8tL,MAAjE,EAAyErP,KAAzE,EAAgFqH,MAAhF,CAAP;AACH;;AACD,WAAO,KAAK8M,6CAAL,CAAmD5yL,QAAnD,EAA6D2/K,YAA7D,EAA2EmO,MAA3E,EAAmFrP,KAAnF,EAA0FiB,QAA1F,EAAoGoG,MAApG,CAAP;AACH;;AACD6M,EAAAA,iDAAiD,CAAC3yL,QAAD,EAAW8tL,MAAX,EAAmBrP,KAAnB,EAA0BqH,MAA1B,EAAkC;AAC/E,UAAMoL,OAAO,GAAG,KAAK2B,qBAAL,CAA2B,EAA3B,EAA+BpU,KAAK,CAAC+Q,UAArC,EAAiD,EAAjD,CAAhB;;AACA,QAAI/Q,KAAK,CAAC+Q,UAAN,CAAiBl0R,UAAjB,CAA4B,GAA5B,CAAJ,EAAsC;AAClC,aAAO21R,gBAAgB,CAACC,OAAD,CAAvB;AACH;;AACD,WAAO,KAAK4B,kBAAL,CAAwBrU,KAAxB,EAA+ByS,OAA/B,EAAwCx9P,IAAxC,CAA6C0pP,yDAAQ,CAAE2V,WAAD,IAAiB;AAC1E,YAAMhnS,KAAK,GAAG,IAAI60R,eAAJ,CAAoBmS,WAApB,EAAiC,EAAjC,CAAd;AACA,aAAO,KAAKX,aAAL,CAAmBpyL,QAAnB,EAA6Bj0G,KAA7B,EAAoC+hS,MAApC,EAA4CiF,WAA5C,EAAyDjN,MAAzD,EAAiE,KAAjE,CAAP;AACH,KAH2D,CAArD,CAAP;AAIH;;AACD8M,EAAAA,6CAA6C,CAAC5yL,QAAD,EAAW2/K,YAAX,EAAyBmO,MAAzB,EAAiCrP,KAAjC,EAAwCiB,QAAxC,EAAkDoG,MAAlD,EAA0D;AACnG,UAAM;AAAEp7L,MAAAA,OAAF;AAAWolM,MAAAA,gBAAX;AAA6BC,MAAAA,SAA7B;AAAwCC,MAAAA;AAAxC,QAAoEv2R,KAAK,CAACkmR,YAAD,EAAelB,KAAf,EAAsBiB,QAAtB,CAA/E;AACA,QAAI,CAACh1L,OAAL,EACI,OAAOsmM,SAAS,CAACrR,YAAD,CAAhB;AACJ,UAAMuR,OAAO,GAAG,KAAK2B,qBAAL,CAA2B/C,gBAA3B,EAA6CrR,KAAK,CAAC+Q,UAAnD,EAA+DQ,uBAA/D,CAAhB;;AACA,QAAIvR,KAAK,CAAC+Q,UAAN,CAAiBl0R,UAAjB,CAA4B,GAA5B,CAAJ,EAAsC;AAClC,aAAO21R,gBAAgB,CAACC,OAAD,CAAvB;AACH;;AACD,WAAO,KAAK4B,kBAAL,CAAwBrU,KAAxB,EAA+ByS,OAA/B,EAAwCx9P,IAAxC,CAA6C0pP,yDAAQ,CAAE2V,WAAD,IAAiB;AAC1E,aAAO,KAAKX,aAAL,CAAmBpyL,QAAnB,EAA6B2/K,YAA7B,EAA2CmO,MAA3C,EAAmDiF,WAAW,CAAC/wQ,MAAZ,CAAmB09P,QAAQ,CAAC10Q,KAAT,CAAe+kR,SAAf,CAAnB,CAAnD,EAAkGjK,MAAlG,EAA0G,KAA1G,CAAP;AACH,KAF2D,CAArD,CAAP;AAGH;;AACD2M,EAAAA,wBAAwB,CAACzyL,QAAD,EAAWgzL,eAAX,EAA4BvU,KAA5B,EAAmCiB,QAAnC,EAA6CoG,MAA7C,EAAqD;AACzE,QAAIrH,KAAK,CAAC5tM,IAAN,KAAe,IAAnB,EAAyB;AACrB,UAAI4tM,KAAK,CAAC8Q,YAAV,EAAwB;AACpB,cAAM0D,OAAO,GAAGxU,KAAK,CAACmP,aAAN,GAAsBhiQ,wCAAE,CAAC6yP,KAAK,CAACmP,aAAP,CAAxB,GACZ,KAAK0D,YAAL,CAAkBn+K,IAAlB,CAAuBnT,QAAQ,CAACjpC,QAAhC,EAA0C0nN,KAA1C,CADJ;AAEA,eAAOwU,OAAO,CAACv/P,IAAR,CAAa3/B,mDAAG,CAAEm/R,GAAD,IAAS;AAC7BzU,UAAAA,KAAK,CAACmP,aAAN,GAAsBsF,GAAtB;AACA,iBAAO,IAAItS,eAAJ,CAAoBlB,QAApB,EAA8B,EAA9B,CAAP;AACH,SAHsB,CAAhB,CAAP;AAIH;;AACD,aAAO9zP,wCAAE,CAAC,IAAIg1P,eAAJ,CAAoBlB,QAApB,EAA8B,EAA9B,CAAD,CAAT;AACH;;AACD,UAAM;AAAEh1L,MAAAA,OAAF;AAAWolM,MAAAA,gBAAX;AAA6BC,MAAAA;AAA7B,QAA2Ct2R,KAAK,CAACu5R,eAAD,EAAkBvU,KAAlB,EAAyBiB,QAAzB,CAAtD;AACA,QAAI,CAACh1L,OAAL,EACI,OAAOsmM,SAAS,CAACgC,eAAD,CAAhB;AACJ,UAAMG,iBAAiB,GAAGzT,QAAQ,CAAC10Q,KAAT,CAAe+kR,SAAf,CAA1B;AACA,UAAMqD,YAAY,GAAG,KAAKC,cAAL,CAAoBrzL,QAApB,EAA8By+K,KAA9B,EAAqCiB,QAArC,CAArB;AACA,WAAO0T,YAAY,CAAC1/P,IAAb,CAAkB0pP,yDAAQ,CAAEkW,YAAD,IAAkB;AAChD,YAAMC,WAAW,GAAGD,YAAY,CAACtyL,MAAjC;AACA,YAAMwyL,WAAW,GAAGF,YAAY,CAACxF,MAAjC;AACA,YAAM;AAAEnO,QAAAA,YAAY,EAAE8T,iBAAhB;AAAmCxD,QAAAA;AAAnC,UAAsDhxR,KAAK,CAAC+zR,eAAD,EAAkBlD,gBAAlB,EAAoCqD,iBAApC,EAAuDK,WAAvD,CAAjE,CAHgD,CAIhD;;AACA,YAAM7T,YAAY,GAAG,IAAIiB,eAAJ,CAAoB6S,iBAAiB,CAAC/T,QAAtC,EAAgD+T,iBAAiB,CAACh5P,QAAlE,CAArB;;AACA,UAAIw1P,cAAc,CAACxgS,MAAf,KAA0B,CAA1B,IAA+BkwR,YAAY,CAACE,WAAb,EAAnC,EAA+D;AAC3D,cAAM+R,SAAS,GAAG,KAAKO,cAAL,CAAoBoB,WAApB,EAAiCC,WAAjC,EAA8C7T,YAA9C,CAAlB;AACA,eAAOiS,SAAS,CAACl+P,IAAV,CAAe3/B,mDAAG,CAAE0mC,QAAD,IAAc,IAAImmP,eAAJ,CAAoBkP,gBAApB,EAAsCr1P,QAAtC,CAAf,CAAlB,CAAP;AACH;;AACD,UAAI+4P,WAAW,CAAC/jS,MAAZ,KAAuB,CAAvB,IAA4BwgS,cAAc,CAACxgS,MAAf,KAA0B,CAA1D,EAA6D;AACzD,eAAOm8B,wCAAE,CAAC,IAAIg1P,eAAJ,CAAoBkP,gBAApB,EAAsC,EAAtC,CAAD,CAAT;AACH;;AACD,YAAM4D,eAAe,GAAG/D,SAAS,CAAClR,KAAD,CAAT,KAAqBqH,MAA7C;AACA,YAAM8L,SAAS,GAAG,KAAKQ,aAAL,CAAmBmB,WAAnB,EAAgC5T,YAAhC,EAA8C6T,WAA9C,EAA2DvD,cAA3D,EAA2EyD,eAAe,GAAGvU,cAAH,GAAoB2G,MAA9G,EAAsH,IAAtH,CAAlB;AACA,aAAO8L,SAAS,CAACl+P,IAAV,CAAe3/B,mDAAG,CAAE4/R,EAAD,IAAQ,IAAI/S,eAAJ,CAAoBkP,gBAAgB,CAAC9tQ,MAAjB,CAAwB2xQ,EAAE,CAACjU,QAA3B,CAApB,EAA0DiU,EAAE,CAACl5P,QAA7D,CAAT,CAAlB,CAAP;AACH,KAhBgC,CAA1B,CAAP;AAiBH;;AACD44P,EAAAA,cAAc,CAACrzL,QAAD,EAAWy+K,KAAX,EAAkBiB,QAAlB,EAA4B;AACtC,QAAIjB,KAAK,CAAChkP,QAAV,EAAoB;AAChB;AACA,aAAO7O,wCAAE,CAAC,IAAIiiQ,kBAAJ,CAAuBpP,KAAK,CAAChkP,QAA7B,EAAuCulE,QAAvC,CAAD,CAAT;AACH;;AACD,QAAIy+K,KAAK,CAAC8Q,YAAV,EAAwB;AACpB;AACA,UAAI9Q,KAAK,CAACmP,aAAN,KAAwBh6R,SAA5B,EAAuC;AACnC,eAAOg4B,wCAAE,CAAC6yP,KAAK,CAACmP,aAAP,CAAT;AACH;;AACD,aAAO,KAAKgG,gBAAL,CAAsB5zL,QAAQ,CAACjpC,QAA/B,EAAyC0nN,KAAzC,EAAgDiB,QAAhD,EACFhsP,IADE,CACG0pP,yDAAQ,CAAEyW,gBAAD,IAAsB;AACrC,YAAIA,gBAAJ,EAAsB;AAClB,iBAAO,KAAKvC,YAAL,CAAkBn+K,IAAlB,CAAuBnT,QAAQ,CAACjpC,QAAhC,EAA0C0nN,KAA1C,EACF/qP,IADE,CACG3/B,mDAAG,CAAEm/R,GAAD,IAAS;AACnBzU,YAAAA,KAAK,CAACmP,aAAN,GAAsBsF,GAAtB;AACA,mBAAOA,GAAP;AACH,WAHY,CADN,CAAP;AAKH;;AACD,eAAO9B,YAAY,CAAC3S,KAAD,CAAnB;AACH,OATiB,CADX,CAAP;AAWH;;AACD,WAAO7yP,wCAAE,CAAC,IAAIiiQ,kBAAJ,CAAuB,EAAvB,EAA2B7tL,QAA3B,CAAD,CAAT;AACH;;AACD4zL,EAAAA,gBAAgB,CAACv0K,cAAD,EAAiBo/J,KAAjB,EAAwBiB,QAAxB,EAAkC;AAC9C,UAAM0O,OAAO,GAAG3P,KAAK,CAAC2P,OAAtB;AACA,QAAI,CAACA,OAAD,IAAYA,OAAO,CAAC3+R,MAAR,KAAmB,CAAnC,EACI,OAAOm8B,wCAAE,CAAC,IAAD,CAAT;AACJ,UAAMkoQ,kBAAkB,GAAG1F,OAAO,CAACr6R,GAAR,CAAaggS,cAAD,IAAoB;AACvD,YAAM5F,KAAK,GAAG9uK,cAAc,CAACjrH,GAAf,CAAmB2/R,cAAnB,CAAd;AACA,UAAIC,QAAJ;;AACA,UAAI9F,SAAS,CAACC,KAAD,CAAb,EAAsB;AAClB6F,QAAAA,QAAQ,GAAG7F,KAAK,CAACC,OAAN,CAAc3P,KAAd,EAAqBiB,QAArB,CAAX;AACH,OAFD,MAGK,IAAIqO,UAAU,CAACI,KAAD,CAAd,EAAuB;AACxB6F,QAAAA,QAAQ,GAAG7F,KAAK,CAAC1P,KAAD,EAAQiB,QAAR,CAAhB;AACH,OAFI,MAGA;AACD,cAAM,IAAI3sR,KAAJ,CAAU,uBAAV,CAAN;AACH;;AACD,aAAO0tR,kBAAkB,CAACuT,QAAD,CAAzB;AACH,KAb0B,CAA3B;AAcA,WAAOpoQ,wCAAE,CAACkoQ,kBAAD,CAAF,CACFpgQ,IADE,CACGk7P,qBAAqB,EADxB,EAC4B9hQ,oDAAG,CAAE71B,MAAD,IAAY;AAC/C,UAAI,CAACg3R,SAAS,CAACh3R,MAAD,CAAd,EACI;AACJ,YAAMmlB,KAAK,GAAGmjQ,wBAAwB,CAAE,mBAAkB,KAAKgS,aAAL,CAAmBrP,SAAnB,CAA6BjrR,MAA7B,CAAqC,GAAzD,CAAtC;AACAmlB,MAAAA,KAAK,CAAC8yD,GAAN,GAAYj4E,MAAZ;AACA,YAAMmlB,KAAN;AACH,KANqC,CAD/B,EAOHroB,mDAAG,CAACkD,MAAM,IAAIA,MAAM,KAAK,IAAtB,CAPA,CAAP;AAQH;;AACD67R,EAAAA,kBAAkB,CAACrU,KAAD,EAAQyH,OAAR,EAAiB;AAC/B,QAAI/wM,GAAG,GAAG,EAAV;AACA,QAAI5vD,CAAC,GAAG2gQ,OAAO,CAAC1qQ,IAAhB;;AACA,WAAO,IAAP,EAAa;AACT25D,MAAAA,GAAG,GAAGA,GAAG,CAACnzD,MAAJ,CAAWuD,CAAC,CAACm6P,QAAb,CAAN;;AACA,UAAIn6P,CAAC,CAACm8P,gBAAF,KAAuB,CAA3B,EAA8B;AAC1B,eAAO91P,wCAAE,CAACupD,GAAD,CAAT;AACH;;AACD,UAAI5vD,CAAC,CAACm8P,gBAAF,GAAqB,CAArB,IAA0B,CAACn8P,CAAC,CAACkV,QAAF,CAAW0kP,cAAX,CAA/B,EAA2D;AACvD,eAAOgS,oBAAoB,CAAC1S,KAAK,CAAC+Q,UAAP,CAA3B;AACH;;AACDjqQ,MAAAA,CAAC,GAAGA,CAAC,CAACkV,QAAF,CAAW0kP,cAAX,CAAJ;AACH;AACJ;;AACD0T,EAAAA,qBAAqB,CAACnT,QAAD,EAAW8P,UAAX,EAAuB1P,SAAvB,EAAkC;AACnD,WAAO,KAAKmU,2BAAL,CAAiCzE,UAAjC,EAA6C,KAAK+B,aAAL,CAAmBhzM,KAAnB,CAAyBixM,UAAzB,CAA7C,EAAmF9P,QAAnF,EAA6FI,SAA7F,CAAP;AACH;;AACDmU,EAAAA,2BAA2B,CAACzE,UAAD,EAAatJ,OAAb,EAAsBxG,QAAtB,EAAgCI,SAAhC,EAA2C;AAClE,UAAMoU,OAAO,GAAG,KAAKC,kBAAL,CAAwB3E,UAAxB,EAAoCtJ,OAAO,CAAC1qQ,IAA5C,EAAkDkkQ,QAAlD,EAA4DI,SAA5D,CAAhB;AACA,WAAO,IAAIa,OAAJ,CAAYuT,OAAZ,EAAqB,KAAKE,iBAAL,CAAuBlO,OAAO,CAACn1M,WAA/B,EAA4C,KAAKm1M,OAAL,CAAan1M,WAAzD,CAArB,EAA4Fm1M,OAAO,CAAC3E,QAApG,CAAP;AACH;;AACD6S,EAAAA,iBAAiB,CAACC,gBAAD,EAAmBC,YAAnB,EAAiC;AAC9C,UAAMn/M,GAAG,GAAG,EAAZ;AACAhnF,IAAAA,OAAO,CAACkmS,gBAAD,EAAmB,CAAChvR,CAAD,EAAIs+E,CAAJ,KAAU;AAChC,YAAM4wM,eAAe,GAAG,OAAOlvR,CAAP,KAAa,QAAb,IAAyBA,CAAC,CAAC/J,UAAF,CAAa,GAAb,CAAjD;;AACA,UAAIi5R,eAAJ,EAAqB;AACjB,cAAM54G,UAAU,GAAGt2K,CAAC,CAAC1Q,SAAF,CAAY,CAAZ,CAAnB;AACAwgF,QAAAA,GAAG,CAACwO,CAAD,CAAH,GAAS2wM,YAAY,CAAC34G,UAAD,CAArB;AACH,OAHD,MAIK;AACDxmG,QAAAA,GAAG,CAACwO,CAAD,CAAH,GAASt+E,CAAT;AACH;AACJ,KATM,CAAP;AAUA,WAAO8vE,GAAP;AACH;;AACDg/M,EAAAA,kBAAkB,CAAC3E,UAAD,EAAazjS,KAAb,EAAoB2zR,QAApB,EAA8BI,SAA9B,EAAyC;AACvD,UAAM0U,eAAe,GAAG,KAAKC,cAAL,CAAoBjF,UAApB,EAAgCzjS,KAAK,CAAC2zR,QAAtC,EAAgDA,QAAhD,EAA0DI,SAA1D,CAAxB;AACA,QAAIrlP,QAAQ,GAAG,EAAf;AACAtsC,IAAAA,OAAO,CAACpC,KAAK,CAAC0uC,QAAP,EAAiB,CAACm9E,KAAD,EAAQpsH,IAAR,KAAiB;AACrCivC,MAAAA,QAAQ,CAACjvC,IAAD,CAAR,GAAiB,KAAK2oS,kBAAL,CAAwB3E,UAAxB,EAAoC53K,KAApC,EAA2C8nK,QAA3C,EAAqDI,SAArD,CAAjB;AACH,KAFM,CAAP;AAGA,WAAO,IAAIc,eAAJ,CAAoB4T,eAApB,EAAqC/5P,QAArC,CAAP;AACH;;AACDg6P,EAAAA,cAAc,CAACjF,UAAD,EAAakF,kBAAb,EAAiCC,cAAjC,EAAiD7U,SAAjD,EAA4D;AACtE,WAAO4U,kBAAkB,CAAC3gS,GAAnB,CAAuBqO,CAAC,IAAIA,CAAC,CAACyuE,IAAF,CAAOv1E,UAAP,CAAkB,GAAlB,IAAyB,KAAKs5R,YAAL,CAAkBpF,UAAlB,EAA8BptR,CAA9B,EAAiC09Q,SAAjC,CAAzB,GAC/B,KAAK+U,YAAL,CAAkBzyR,CAAlB,EAAqBuyR,cAArB,CADG,CAAP;AAEH;;AACDC,EAAAA,YAAY,CAACpF,UAAD,EAAasF,oBAAb,EAAmChV,SAAnC,EAA8C;AACtD,UAAM56N,GAAG,GAAG46N,SAAS,CAACgV,oBAAoB,CAACjkN,IAArB,CAA0Bl8E,SAA1B,CAAoC,CAApC,CAAD,CAArB;AACA,QAAI,CAACuwD,GAAL,EACI,MAAM,IAAInyD,KAAJ,CAAW,uBAAsBy8R,UAAW,mBAAkBsF,oBAAoB,CAACjkN,IAAK,IAAxF,CAAN;AACJ,WAAO3rB,GAAP;AACH;;AACD2vO,EAAAA,YAAY,CAACC,oBAAD,EAAuBH,cAAvB,EAAuC;AAC/C,QAAI38L,GAAG,GAAG,CAAV;;AACA,SAAK,MAAM51F,CAAX,IAAgBuyR,cAAhB,EAAgC;AAC5B,UAAIvyR,CAAC,CAACyuE,IAAF,KAAWikN,oBAAoB,CAACjkN,IAApC,EAA0C;AACtC8jN,QAAAA,cAAc,CAACp6R,MAAf,CAAsBy9F,GAAtB;AACA,eAAO51F,CAAP;AACH;;AACD41F,MAAAA,GAAG;AACN;;AACD,WAAO88L,oBAAP;AACH;;AA3SgB;AA6SrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,oBAAT,CAA8B3yR,CAA9B,EAAiC;AAC7B,MAAIA,CAAC,CAACs/Q,gBAAF,KAAuB,CAAvB,IAA4Bt/Q,CAAC,CAACq4B,QAAF,CAAW0kP,cAAX,CAAhC,EAA4D;AACxD,UAAM55P,CAAC,GAAGnjB,CAAC,CAACq4B,QAAF,CAAW0kP,cAAX,CAAV;AACA,WAAO,IAAIyB,eAAJ,CAAoBx+Q,CAAC,CAACs9Q,QAAF,CAAW19P,MAAX,CAAkBuD,CAAC,CAACm6P,QAApB,CAApB,EAAmDn6P,CAAC,CAACkV,QAArD,CAAP;AACH;;AACD,SAAOr4B,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS2vR,kBAAT,CAA4BpS,YAA5B,EAA0C;AACtC,QAAM33E,WAAW,GAAG,EAApB;;AACA,OAAK,MAAM46E,WAAX,IAA0BrwR,MAAM,CAACC,IAAP,CAAYmtR,YAAY,CAACllP,QAAzB,CAA1B,EAA8D;AAC1D,UAAMm9E,KAAK,GAAG+nK,YAAY,CAACllP,QAAb,CAAsBmoP,WAAtB,CAAd;AACA,UAAMoS,cAAc,GAAGjD,kBAAkB,CAACn6K,KAAD,CAAzC,CAF0D,CAG1D;;AACA,QAAIo9K,cAAc,CAACtV,QAAf,CAAwBjwR,MAAxB,GAAiC,CAAjC,IAAsCulS,cAAc,CAACnV,WAAf,EAA1C,EAAwE;AACpE73E,MAAAA,WAAW,CAAC46E,WAAD,CAAX,GAA2BoS,cAA3B;AACH;AACJ;;AACD,QAAM5yR,CAAC,GAAG,IAAIw+Q,eAAJ,CAAoBjB,YAAY,CAACD,QAAjC,EAA2C13E,WAA3C,CAAV;AACA,SAAO+sF,oBAAoB,CAAC3yR,CAAD,CAA3B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6yR,gBAAT,CAA0B51K,cAA1B,EAA0CiyK,YAA1C,EAAwDC,aAAxD,EAAuE/5P,MAAvE,EAA+E;AAC3E,SAAO6jC,yDAAS,CAAChjE,CAAC,IAAIg5R,cAAc,CAAChyK,cAAD,EAAiBiyK,YAAjB,EAA+BC,aAA/B,EAA8Cl5R,CAAC,CAAC68R,YAAhD,EAA8D19P,MAA9D,CAAd,CACjB9D,IADiB,CACZ3/B,mDAAG,CAAC+pR,iBAAiB,IAAKvrR,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBtY,CAAlB,CAAd,EAAoC;AAAEylR,IAAAA;AAAF,GAApC,CAAvB,CADS,CAAN,CAAhB;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqX,WAAN,CAAkB;AACd7nS,EAAAA,WAAW,CAACujF,IAAD,EAAO;AACd,SAAKA,IAAL,GAAYA,IAAZ;AACA,SAAK4tM,KAAL,GAAa,KAAK5tM,IAAL,CAAU,KAAKA,IAAL,CAAUphF,MAAV,GAAmB,CAA7B,CAAb;AACH;;AAJa;;AAMlB,MAAM2lS,aAAN,CAAoB;AAChB9nS,EAAAA,WAAW,CAACwpE,SAAD,EAAY2nN,KAAZ,EAAmB;AAC1B,SAAK3nN,SAAL,GAAiBA,SAAjB;AACA,SAAK2nN,KAAL,GAAaA,KAAb;AACH;;AAJe;;AAMpB,SAAS4W,iBAAT,CAA2BvI,MAA3B,EAAmCzvP,IAAnC,EAAyC4uP,cAAzC,EAAyD;AACrD,QAAMC,UAAU,GAAGY,MAAM,CAACxH,KAA1B;AACA,QAAM6G,QAAQ,GAAG9uP,IAAI,GAAGA,IAAI,CAACioP,KAAR,GAAgB,IAArC;AACA,SAAOgQ,mBAAmB,CAACpJ,UAAD,EAAaC,QAAb,EAAuBF,cAAvB,EAAuC,CAACC,UAAU,CAACh4R,KAAZ,CAAvC,CAA1B;AACH;;AACD,SAASqhS,mBAAT,CAA6BhlS,CAA7B,EAAgC;AAC5B,QAAMi+R,gBAAgB,GAAGj+R,CAAC,CAACsuR,WAAF,GAAgBtuR,CAAC,CAACsuR,WAAF,CAAc2P,gBAA9B,GAAiD,IAA1E;AACA,MAAI,CAACA,gBAAD,IAAqBA,gBAAgB,CAAC/+R,MAAjB,KAA4B,CAArD,EACI,OAAO,IAAP;AACJ,SAAO;AAAEoO,IAAAA,IAAI,EAAEtN,CAAR;AAAWw4H,IAAAA,MAAM,EAAEylK;AAAnB,GAAP;AACH;;AACD,SAASxvL,QAAT,CAAkBxmG,KAAlB,EAAyBomR,QAAzB,EAAmCv/J,cAAnC,EAAmD;AAC/C,QAAM7nF,MAAM,GAAGg+P,sBAAsB,CAAC5W,QAAD,CAArC;AACA,QAAM7nN,QAAQ,GAAGv/B,MAAM,GAAGA,MAAM,CAACwpE,MAAP,CAAcjqC,QAAjB,GAA4BsoD,cAAnD;AACA,SAAOtoD,QAAQ,CAAC3iE,GAAT,CAAaoE,KAAb,CAAP;AACH;;AACD,SAASg9R,sBAAT,CAAgC5W,QAAhC,EAA0C;AACtC,MAAI,CAACA,QAAL,EACI,OAAO,IAAP;;AACJ,OAAK,IAAIx8Q,CAAC,GAAGw8Q,QAAQ,CAACvnQ,MAAtB,EAA8BjV,CAA9B,EAAiCA,CAAC,GAAGA,CAAC,CAACiV,MAAvC,EAA+C;AAC3C,UAAMonQ,KAAK,GAAGr8Q,CAAC,CAACy8Q,WAAhB;AACA,QAAIJ,KAAK,IAAIA,KAAK,CAACmP,aAAnB,EACI,OAAOnP,KAAK,CAACmP,aAAb;AACP;;AACD,SAAO,IAAP;AACH;;AACD,SAAS0H,mBAAT,CAA6BhJ,UAA7B,EAAyCC,QAAzC,EAAmDC,QAAnD,EAA6DiJ,UAA7D,EAAyEC,MAAM,GAAG;AAC9EC,EAAAA,mBAAmB,EAAE,EADyD;AAE9EC,EAAAA,iBAAiB,EAAE;AAF2D,CAAlF,EAGG;AACC,QAAMC,YAAY,GAAGhQ,iBAAiB,CAAC0G,QAAD,CAAtC,CADD,CAEC;;AACAD,EAAAA,UAAU,CAAC7xP,QAAX,CAAoBtsC,OAApB,CAA4Bo3B,CAAC,IAAI;AAC7BuwQ,IAAAA,cAAc,CAACvwQ,CAAD,EAAIswQ,YAAY,CAACtwQ,CAAC,CAACrxB,KAAF,CAAQ4xR,MAAT,CAAhB,EAAkC0G,QAAlC,EAA4CiJ,UAAU,CAACzzQ,MAAX,CAAkB,CAACuD,CAAC,CAACrxB,KAAH,CAAlB,CAA5C,EAA0EwhS,MAA1E,CAAd;AACA,WAAOG,YAAY,CAACtwQ,CAAC,CAACrxB,KAAF,CAAQ4xR,MAAT,CAAnB;AACH,GAHD,EAHD,CAOC;;AACA33R,EAAAA,OAAO,CAAC0nS,YAAD,EAAe,CAACxwR,CAAD,EAAIs+E,CAAJ,KAAUkpM,6BAA6B,CAACxnR,CAAD,EAAImnR,QAAQ,CAACzuI,UAAT,CAAoBp6D,CAApB,CAAJ,EAA4B+xM,MAA5B,CAAtD,CAAP;AACA,SAAOA,MAAP;AACH;;AACD,SAASI,cAAT,CAAwBxJ,UAAxB,EAAoCC,QAApC,EAA8CN,cAA9C,EAA8DwJ,UAA9D,EAA0EC,MAAM,GAAG;AAC/EC,EAAAA,mBAAmB,EAAE,EAD0D;AAE/EC,EAAAA,iBAAiB,EAAE;AAF4D,CAAnF,EAGG;AACC,QAAM9I,MAAM,GAAGR,UAAU,CAACp4R,KAA1B;AACA,QAAMmpC,IAAI,GAAGkvP,QAAQ,GAAGA,QAAQ,CAACr4R,KAAZ,GAAoB,IAAzC;AACA,QAAM4J,OAAO,GAAGmuR,cAAc,GAAGA,cAAc,CAACluI,UAAf,CAA0BuuI,UAAU,CAACp4R,KAAX,CAAiB4xR,MAA3C,CAAH,GAAwD,IAAtF,CAHD,CAIC;;AACA,MAAIzoP,IAAI,IAAIyvP,MAAM,CAACjO,WAAP,KAAuBxhP,IAAI,CAACwhP,WAAxC,EAAqD;AACjD,UAAMkX,SAAS,GAAGC,2BAA2B,CAAC34P,IAAD,EAAOyvP,MAAP,EAAeA,MAAM,CAACjO,WAAP,CAAmBoX,qBAAlC,CAA7C;;AACA,QAAIF,SAAJ,EAAe;AACXL,MAAAA,MAAM,CAACE,iBAAP,CAAyBtnS,IAAzB,CAA8B,IAAI6mS,WAAJ,CAAgBM,UAAhB,CAA9B;AACH,KAFD,MAGK;AACD;AACA3I,MAAAA,MAAM,CAACj5R,IAAP,GAAcwpC,IAAI,CAACxpC,IAAnB;AACAi5R,MAAAA,MAAM,CAACzF,aAAP,GAAuBhqP,IAAI,CAACgqP,aAA5B;AACH,KATgD,CAUjD;;;AACA,QAAIyF,MAAM,CAACh2N,SAAX,EAAsB;AAClBw+N,MAAAA,mBAAmB,CAAChJ,UAAD,EAAaC,QAAb,EAAuBzuR,OAAO,GAAGA,OAAO,CAAC28B,QAAX,GAAsB,IAApD,EAA0Dg7P,UAA1D,EAAsEC,MAAtE,CAAnB,CADkB,CAElB;AACH,KAHD,MAIK;AACDJ,MAAAA,mBAAmB,CAAChJ,UAAD,EAAaC,QAAb,EAAuBN,cAAvB,EAAuCwJ,UAAvC,EAAmDC,MAAnD,CAAnB;AACH;;AACD,QAAIK,SAAS,IAAIj4R,OAAb,IAAwBA,OAAO,CAACgoR,MAAhC,IAA0ChoR,OAAO,CAACgoR,MAAR,CAAeoQ,WAA7D,EAA0E;AACtER,MAAAA,MAAM,CAACC,mBAAP,CAA2BrnS,IAA3B,CAAgC,IAAI8mS,aAAJ,CAAkBt3R,OAAO,CAACgoR,MAAR,CAAehvN,SAAjC,EAA4Cz5B,IAA5C,CAAhC;AACH;AACJ,GArBD,MAsBK;AACD,QAAIA,IAAJ,EAAU;AACNwvP,MAAAA,6BAA6B,CAACN,QAAD,EAAWzuR,OAAX,EAAoB43R,MAApB,CAA7B;AACH;;AACDA,IAAAA,MAAM,CAACE,iBAAP,CAAyBtnS,IAAzB,CAA8B,IAAI6mS,WAAJ,CAAgBM,UAAhB,CAA9B,EAJC,CAKD;;AACA,QAAI3I,MAAM,CAACh2N,SAAX,EAAsB;AAClBw+N,MAAAA,mBAAmB,CAAChJ,UAAD,EAAa,IAAb,EAAmBxuR,OAAO,GAAGA,OAAO,CAAC28B,QAAX,GAAsB,IAAhD,EAAsDg7P,UAAtD,EAAkEC,MAAlE,CAAnB,CADkB,CAElB;AACH,KAHD,MAIK;AACDJ,MAAAA,mBAAmB,CAAChJ,UAAD,EAAa,IAAb,EAAmBL,cAAnB,EAAmCwJ,UAAnC,EAA+CC,MAA/C,CAAnB;AACH;AACJ;;AACD,SAAOA,MAAP;AACH;;AACD,SAASM,2BAAT,CAAqC34P,IAArC,EAA2CyvP,MAA3C,EAAmDlmP,IAAnD,EAAyD;AACrD,MAAI,OAAOA,IAAP,KAAgB,UAApB,EAAgC;AAC5B,WAAOA,IAAI,CAACvJ,IAAD,EAAOyvP,MAAP,CAAX;AACH;;AACD,UAAQlmP,IAAR;AACI,SAAK,kBAAL;AACI,aAAO,CAAC46O,SAAS,CAACnkP,IAAI,CAAC6xC,GAAN,EAAW49M,MAAM,CAAC59M,GAAlB,CAAjB;;AACJ,SAAK,+BAAL;AACI,aAAO,CAACsyM,SAAS,CAACnkP,IAAI,CAAC6xC,GAAN,EAAW49M,MAAM,CAAC59M,GAAlB,CAAV,IACH,CAACixM,YAAY,CAAC9iP,IAAI,CAAC0zC,WAAN,EAAmB+7M,MAAM,CAAC/7M,WAA1B,CADjB;;AAEJ,SAAK,QAAL;AACI,aAAO,IAAP;;AACJ,SAAK,2BAAL;AACI,aAAO,CAAC+2M,yBAAyB,CAACzqP,IAAD,EAAOyvP,MAAP,CAA1B,IACH,CAAC3M,YAAY,CAAC9iP,IAAI,CAAC0zC,WAAN,EAAmB+7M,MAAM,CAAC/7M,WAA1B,CADjB;;AAEJ,SAAK,cAAL;AACA;AACI,aAAO,CAAC+2M,yBAAyB,CAACzqP,IAAD,EAAOyvP,MAAP,CAAjC;AAbR;AAeH;;AACD,SAASD,6BAAT,CAAuCpO,KAAvC,EAA8C3gR,OAA9C,EAAuD43R,MAAvD,EAA+D;AAC3D,QAAMj7P,QAAQ,GAAGorP,iBAAiB,CAACpH,KAAD,CAAlC;AACA,QAAMruL,CAAC,GAAGquL,KAAK,CAACvqR,KAAhB;AACA/F,EAAAA,OAAO,CAACssC,QAAD,EAAW,CAAC58B,IAAD,EAAO+uR,SAAP,KAAqB;AACnC,QAAI,CAACx8L,CAAC,CAACt5B,SAAP,EAAkB;AACd+1N,MAAAA,6BAA6B,CAAChvR,IAAD,EAAOC,OAAP,EAAgB43R,MAAhB,CAA7B;AACH,KAFD,MAGK,IAAI53R,OAAJ,EAAa;AACd+uR,MAAAA,6BAA6B,CAAChvR,IAAD,EAAOC,OAAO,CAAC28B,QAAR,CAAiBsjH,UAAjB,CAA4B6uI,SAA5B,CAAP,EAA+C8I,MAA/C,CAA7B;AACH,KAFI,MAGA;AACD7I,MAAAA,6BAA6B,CAAChvR,IAAD,EAAO,IAAP,EAAa63R,MAAb,CAA7B;AACH;AACJ,GAVM,CAAP;;AAWA,MAAI,CAACtlM,CAAC,CAACt5B,SAAP,EAAkB;AACd4+N,IAAAA,MAAM,CAACC,mBAAP,CAA2BrnS,IAA3B,CAAgC,IAAI8mS,aAAJ,CAAkB,IAAlB,EAAwBhlM,CAAxB,CAAhC;AACH,GAFD,MAGK,IAAItyF,OAAO,IAAIA,OAAO,CAACgoR,MAAnB,IAA6BhoR,OAAO,CAACgoR,MAAR,CAAeoQ,WAAhD,EAA6D;AAC9DR,IAAAA,MAAM,CAACC,mBAAP,CAA2BrnS,IAA3B,CAAgC,IAAI8mS,aAAJ,CAAkBt3R,OAAO,CAACgoR,MAAR,CAAehvN,SAAjC,EAA4Cs5B,CAA5C,CAAhC;AACH,GAFI,MAGA;AACDslM,IAAAA,MAAM,CAACC,mBAAP,CAA2BrnS,IAA3B,CAAgC,IAAI8mS,aAAJ,CAAkB,IAAlB,EAAwBhlM,CAAxB,CAAhC;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+lM,WAAT,CAAqB92K,cAArB,EAAqCqsK,YAArC,EAAmD;AAC/C,SAAOtO,yDAAQ,CAAC/kR,CAAC,IAAI;AACjB,UAAM;AAAE+9R,MAAAA,cAAF;AAAkBvwQ,MAAAA,eAAlB;AAAmCkjG,MAAAA,MAAM,EAAE;AAAE6sK,QAAAA,iBAAF;AAAqBD,QAAAA;AAArB;AAA3C,QAA0Ft9R,CAAhG;;AACA,QAAIs9R,mBAAmB,CAAClmS,MAApB,KAA+B,CAA/B,IAAoCmmS,iBAAiB,CAACnmS,MAAlB,KAA6B,CAArE,EAAwE;AACpE,aAAOm8B,wCAAE,CAACr5B,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBtY,CAAlB,CAAd,EAAoC;AAAEg+R,QAAAA,YAAY,EAAE;AAAhB,OAApC,CAAD,CAAT;AACH;;AACD,WAAOC,sBAAsB,CAACX,mBAAD,EAAsBS,cAAtB,EAAsCvwQ,eAAtC,EAAuDw5F,cAAvD,CAAtB,CACF3rF,IADE,CACG0pP,yDAAQ,CAACsR,aAAa,IAAI;AAChC,aAAOA,aAAa,IAAIV,SAAS,CAACU,aAAD,CAA1B,GACH6H,oBAAoB,CAACH,cAAD,EAAiBR,iBAAjB,EAAoCv2K,cAApC,EAAoDqsK,YAApD,CADjB,GAEH9/P,wCAAE,CAAC8iQ,aAAD,CAFN;AAGH,KAJiB,CADX,EAKH36R,mDAAG,CAACsiS,YAAY,IAAK9jS,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBtY,CAAlB,CAAd,EAAoC;AAAEg+R,MAAAA;AAAF,KAApC,CAAlB,CALA,CAAP;AAMH,GAXc,CAAf;AAYH;;AACD,SAASC,sBAAT,CAAgCZ,MAAhC,EAAwCc,SAAxC,EAAmDC,OAAnD,EAA4Dp3K,cAA5D,EAA4E;AACxE,SAAOlkG,0CAAI,CAACu6Q,MAAD,CAAJ,CAAahiQ,IAAb,CAAkB0pP,yDAAQ,CAACluG,KAAK,IAAIwnH,gBAAgB,CAACxnH,KAAK,CAACp4G,SAAP,EAAkBo4G,KAAK,CAACuvG,KAAxB,EAA+BgY,OAA/B,EAAwCD,SAAxC,EAAmDn3K,cAAnD,CAA1B,CAA1B,EAAyHj7C,sDAAK,CAACntE,MAAM,IAAI;AAC5I,WAAOA,MAAM,KAAK,IAAlB;AACH,GAFoI,EAElI,IAFkI,CAA9H,CAAP;AAGH;;AACD,SAASs/R,oBAAT,CAA8B3P,cAA9B,EAA8C8O,MAA9C,EAAsDr2K,cAAtD,EAAsEqsK,YAAtE,EAAoF;AAChF,SAAOvwQ,0CAAI,CAACu6Q,MAAD,CAAJ,CAAahiQ,IAAb,CAAkByhE,0DAAS,CAAE+5E,KAAD,IAAW;AAC1C,WAAOltJ,6CAAM,CAAC20Q,wBAAwB,CAACznH,KAAK,CAACuvG,KAAN,CAAYpnQ,MAAb,EAAqBq0Q,YAArB,CAAzB,EAA6DkL,mBAAmB,CAAC1nH,KAAK,CAACuvG,KAAP,EAAciN,YAAd,CAAhF,EAA6GmL,mBAAmB,CAACjQ,cAAD,EAAiB13G,KAAK,CAACr+F,IAAvB,EAA6BwuC,cAA7B,CAAhI,EAA8Ky3K,cAAc,CAAClQ,cAAD,EAAiB13G,KAAK,CAACuvG,KAAvB,EAA8Bp/J,cAA9B,CAA5L,CAAb;AACH,GAFiC,CAA3B,EAEHj7C,sDAAK,CAACntE,MAAM,IAAI;AAChB,WAAOA,MAAM,KAAK,IAAlB;AACH,GAFQ,EAEN,IAFM,CAFF,CAAP;AAKH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2/R,mBAAT,CAA6BhY,QAA7B,EAAuC8M,YAAvC,EAAqD;AACjD,MAAI9M,QAAQ,KAAK,IAAb,IAAqB8M,YAAzB,EAAuC;AACnCA,IAAAA,YAAY,CAAC,IAAI3M,eAAJ,CAAoBH,QAApB,CAAD,CAAZ;AACH;;AACD,SAAOhzP,wCAAE,CAAC,IAAD,CAAT;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+qQ,wBAAT,CAAkC/X,QAAlC,EAA4C8M,YAA5C,EAA0D;AACtD,MAAI9M,QAAQ,KAAK,IAAb,IAAqB8M,YAAzB,EAAuC;AACnCA,IAAAA,YAAY,CAAC,IAAI/M,oBAAJ,CAAyBC,QAAzB,CAAD,CAAZ;AACH;;AACD,SAAOhzP,wCAAE,CAAC,IAAD,CAAT;AACH;;AACD,SAASkrQ,cAAT,CAAwBN,SAAxB,EAAmCO,SAAnC,EAA8C13K,cAA9C,EAA8D;AAC1D,QAAMivK,WAAW,GAAGyI,SAAS,CAAClY,WAAV,GAAwBkY,SAAS,CAAClY,WAAV,CAAsByP,WAA9C,GAA4D,IAAhF;AACA,MAAI,CAACA,WAAD,IAAgBA,WAAW,CAAC7+R,MAAZ,KAAuB,CAA3C,EACI,OAAOm8B,wCAAE,CAAC,IAAD,CAAT;AACJ,QAAMorQ,sBAAsB,GAAG1I,WAAW,CAACv6R,GAAZ,CAAiBwxB,CAAD,IAAO;AAClD,WAAOsX,4CAAK,CAAC,MAAM;AACf,YAAMsxP,KAAK,GAAGnvL,QAAQ,CAACz5E,CAAD,EAAIwxQ,SAAJ,EAAe13K,cAAf,CAAtB;AACA,UAAI43K,UAAJ;;AACA,UAAI5I,aAAa,CAACF,KAAD,CAAjB,EAA0B;AACtB8I,QAAAA,UAAU,GAAGxW,kBAAkB,CAAC0N,KAAK,CAACG,WAAN,CAAkByI,SAAlB,EAA6BP,SAA7B,CAAD,CAA/B;AACH,OAFD,MAGK,IAAIzI,UAAU,CAACI,KAAD,CAAd,EAAuB;AACxB8I,QAAAA,UAAU,GAAGxW,kBAAkB,CAAC0N,KAAK,CAAC4I,SAAD,EAAYP,SAAZ,CAAN,CAA/B;AACH,OAFI,MAGA;AACD,cAAM,IAAIzjS,KAAJ,CAAU,2BAAV,CAAN;AACH;;AACD,aAAOkkS,UAAU,CAACvjQ,IAAX,CAAgB0wC,sDAAK,EAArB,CAAP;AACH,KAbW,CAAZ;AAcH,GAf8B,CAA/B;AAgBA,SAAOx4C,wCAAE,CAACorQ,sBAAD,CAAF,CAA2BtjQ,IAA3B,CAAgCk7P,qBAAqB,EAArD,CAAP;AACH;;AACD,SAASiI,mBAAT,CAA6BL,SAA7B,EAAwC3lN,IAAxC,EAA8CwuC,cAA9C,EAA8D;AAC1D,QAAM03K,SAAS,GAAGlmN,IAAI,CAACA,IAAI,CAACphF,MAAL,GAAc,CAAf,CAAtB;AACA,QAAMynS,sBAAsB,GAAGrmN,IAAI,CAAC7lE,KAAL,CAAW,CAAX,EAAc6lE,IAAI,CAACphF,MAAL,GAAc,CAA5B,EAC1BivF,OAD0B,GAE1B3qF,GAF0B,CAEtBxD,CAAC,IAAIglS,mBAAmB,CAAChlS,CAAD,CAFF,EAG1B6W,MAH0B,CAGnB1K,CAAC,IAAIA,CAAC,KAAK,IAHQ,CAA/B;AAIA,QAAMy6R,4BAA4B,GAAGD,sBAAsB,CAACnjS,GAAvB,CAA4B+qF,CAAD,IAAO;AACnE,WAAOjiD,4CAAK,CAAC,MAAM;AACf,YAAMu6P,YAAY,GAAGt4M,CAAC,CAACiqC,MAAF,CAASh1H,GAAT,CAAcwxB,CAAD,IAAO;AACrC,cAAM4oQ,KAAK,GAAGnvL,QAAQ,CAACz5E,CAAD,EAAIu5D,CAAC,CAACjhF,IAAN,EAAYwhH,cAAZ,CAAtB;AACA,YAAI43K,UAAJ;;AACA,YAAI1I,kBAAkB,CAACJ,KAAD,CAAtB,EAA+B;AAC3B8I,UAAAA,UAAU,GAAGxW,kBAAkB,CAAC0N,KAAK,CAACK,gBAAN,CAAuBuI,SAAvB,EAAkCP,SAAlC,CAAD,CAA/B;AACH,SAFD,MAGK,IAAIzI,UAAU,CAACI,KAAD,CAAd,EAAuB;AACxB8I,UAAAA,UAAU,GAAGxW,kBAAkB,CAAC0N,KAAK,CAAC4I,SAAD,EAAYP,SAAZ,CAAN,CAA/B;AACH,SAFI,MAGA;AACD,gBAAM,IAAIzjS,KAAJ,CAAU,gCAAV,CAAN;AACH;;AACD,eAAOkkS,UAAU,CAACvjQ,IAAX,CAAgB0wC,sDAAK,EAArB,CAAP;AACH,OAboB,CAArB;AAcA,aAAOx4C,wCAAE,CAACwrQ,YAAD,CAAF,CAAiB1jQ,IAAjB,CAAsBk7P,qBAAqB,EAA3C,CAAP;AACH,KAhBW,CAAZ;AAiBH,GAlBoC,CAArC;AAmBA,SAAOhjQ,wCAAE,CAACurQ,4BAAD,CAAF,CAAiCzjQ,IAAjC,CAAsCk7P,qBAAqB,EAA3D,CAAP;AACH;;AACD,SAAS8H,gBAAT,CAA0B5/N,SAA1B,EAAqCugO,OAArC,EAA8CZ,OAA9C,EAAuDD,SAAvD,EAAkEn3K,cAAlE,EAAkF;AAC9E,QAAMqvK,aAAa,GAAG2I,OAAO,IAAIA,OAAO,CAACxY,WAAnB,GAAiCwY,OAAO,CAACxY,WAAR,CAAoB6P,aAArD,GAAqE,IAA3F;AACA,MAAI,CAACA,aAAD,IAAkBA,aAAa,CAACj/R,MAAd,KAAyB,CAA/C,EACI,OAAOm8B,wCAAE,CAAC,IAAD,CAAT;AACJ,QAAM0rQ,wBAAwB,GAAG5I,aAAa,CAAC36R,GAAd,CAAmBwxB,CAAD,IAAO;AACtD,UAAM4oQ,KAAK,GAAGnvL,QAAQ,CAACz5E,CAAD,EAAI8xQ,OAAJ,EAAah4K,cAAb,CAAtB;AACA,QAAI43K,UAAJ;;AACA,QAAIxI,eAAe,CAACN,KAAD,CAAnB,EAA4B;AACxB8I,MAAAA,UAAU,GAAGxW,kBAAkB,CAAC0N,KAAK,CAACO,aAAN,CAAoB53N,SAApB,EAA+BugO,OAA/B,EAAwCZ,OAAxC,EAAiDD,SAAjD,CAAD,CAA/B;AACH,KAFD,MAGK,IAAIzI,UAAU,CAACI,KAAD,CAAd,EAAuB;AACxB8I,MAAAA,UAAU,GAAGxW,kBAAkB,CAAC0N,KAAK,CAACr3N,SAAD,EAAYugO,OAAZ,EAAqBZ,OAArB,EAA8BD,SAA9B,CAAN,CAA/B;AACH,KAFI,MAGA;AACD,YAAM,IAAIzjS,KAAJ,CAAU,6BAAV,CAAN;AACH;;AACD,WAAOkkS,UAAU,CAACvjQ,IAAX,CAAgB0wC,sDAAK,EAArB,CAAP;AACH,GAbgC,CAAjC;AAcA,SAAOx4C,wCAAE,CAAC0rQ,wBAAD,CAAF,CAA6B5jQ,IAA7B,CAAkCk7P,qBAAqB,EAAvD,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2I,SAAN,CAAgB;;AAEhB,SAASC,kBAAT,CAA4BlkS,CAA5B,EAA+B;AAC3B;AACA,SAAO,IAAIihD,6CAAJ,CAAgBs0K,GAAD,IAASA,GAAG,CAACzsM,KAAJ,CAAU9oB,CAAV,CAAxB,CAAP;AACH;;AACD,SAASmkS,SAAT,CAAmBC,iBAAnB,EAAsClgQ,MAAtC,EAA8C0uP,OAA9C,EAAuDh3M,GAAvD,EAA4Dg4M,yBAAyB,GAAG,WAAxF,EAAqGgJ,sBAAsB,GAAG,QAA9H,EAAwI;AACpI,MAAI;AACA,UAAMj5R,MAAM,GAAG,IAAI0gS,UAAJ,CAAeD,iBAAf,EAAkClgQ,MAAlC,EAA0C0uP,OAA1C,EAAmDh3M,GAAnD,EAAwDg4M,yBAAxD,EAAmFgJ,sBAAnF,EACVuH,SADU,EAAf;;AAEA,QAAIxgS,MAAM,KAAK,IAAf,EAAqB;AACjB,aAAOugS,kBAAkB,CAAC,IAAID,SAAJ,EAAD,CAAzB;AACH,KAFD,MAGK;AACD,aAAO3rQ,wCAAE,CAAC30B,MAAD,CAAT;AACH;AACJ,GATD,CAUA,OAAO3D,CAAP,EAAU;AACN;AACA;AACA,WAAOkkS,kBAAkB,CAAClkS,CAAD,CAAzB;AACH;AACJ;;AACD,MAAMqkS,UAAN,CAAiB;AACbrqS,EAAAA,WAAW,CAACoqS,iBAAD,EAAoBlgQ,MAApB,EAA4B0uP,OAA5B,EAAqCh3M,GAArC,EAA0Cg4M,yBAA1C,EAAqEgJ,sBAArE,EAA6F;AACpG,SAAKwH,iBAAL,GAAyBA,iBAAzB;AACA,SAAKlgQ,MAAL,GAAcA,MAAd;AACA,SAAK0uP,OAAL,GAAeA,OAAf;AACA,SAAKh3M,GAAL,GAAWA,GAAX;AACA,SAAKg4M,yBAAL,GAAiCA,yBAAjC;AACA,SAAKgJ,sBAAL,GAA8BA,sBAA9B;AACH;;AACDuH,EAAAA,SAAS,GAAG;AACR,UAAM9F,gBAAgB,GAAG1yR,KAAK,CAAC,KAAKinR,OAAL,CAAa1qQ,IAAd,EAAoB,EAApB,EAAwB,EAAxB,EAA4B,KAAKgc,MAAL,CAAYpwB,MAAZ,CAAmBme,CAAC,IAAIA,CAAC,CAACiqQ,UAAF,KAAiB57R,SAAzC,CAA5B,EAAiF,KAAKs8R,sBAAtF,CAAL,CACpBvQ,YADL;AAEA,UAAMllP,QAAQ,GAAG,KAAKm9P,mBAAL,CAAyB,KAAKpgQ,MAA9B,EAAsCm6P,gBAAtC,EAAwDxS,cAAxD,CAAjB;;AACA,QAAI1kP,QAAQ,KAAK,IAAjB,EAAuB;AACnB,aAAO,IAAP;AACH,KANO,CAOR;AACA;;;AACA,UAAMjf,IAAI,GAAG,IAAIkrQ,sBAAJ,CAA2B,EAA3B,EAA+Bn0R,MAAM,CAAC42G,MAAP,CAAc,EAAd,CAA/B,EAAkD52G,MAAM,CAAC42G,MAAP,CAAc52G,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB,KAAKu1Q,OAAL,CAAan1M,WAA/B,CAAd,CAAlD,EAA8G,KAAKm1M,OAAL,CAAa3E,QAA3H,EAAqI,EAArI,EAAyIpC,cAAzI,EAAyJ,KAAKuY,iBAA9J,EAAiL,IAAjL,EAAuL,KAAKxR,OAAL,CAAa1qQ,IAApM,EAA0M,CAAC,CAA3M,EAA8M,EAA9M,CAAb;AACA,UAAMoM,QAAQ,GAAG,IAAIg+P,QAAJ,CAAapqQ,IAAb,EAAmBif,QAAnB,CAAjB;AACA,UAAMo9P,UAAU,GAAG,IAAIlR,mBAAJ,CAAwB,KAAKz3M,GAA7B,EAAkCtnD,QAAlC,CAAnB;AACA,SAAKkwQ,oBAAL,CAA0BD,UAAU,CAACvS,KAArC;AACA,WAAOuS,UAAP;AACH;;AACDC,EAAAA,oBAAoB,CAACC,SAAD,EAAY;AAC5B,UAAMtZ,KAAK,GAAGsZ,SAAS,CAAC7jS,KAAxB;AACA,UAAMuC,CAAC,GAAGwwR,0BAA0B,CAACxI,KAAD,EAAQ,KAAKyI,yBAAb,CAApC;AACAzI,IAAAA,KAAK,CAACziR,MAAN,GAAezJ,MAAM,CAAC42G,MAAP,CAAc1yG,CAAC,CAACuF,MAAhB,CAAf;AACAyiR,IAAAA,KAAK,CAAC5qR,IAAN,GAAatB,MAAM,CAAC42G,MAAP,CAAc1yG,CAAC,CAAC5C,IAAhB,CAAb;AACAkkS,IAAAA,SAAS,CAACt9P,QAAV,CAAmBtsC,OAAnB,CAA2BmT,CAAC,IAAI,KAAKw2R,oBAAL,CAA0Bx2R,CAA1B,CAAhC;AACH;;AACDs2R,EAAAA,mBAAmB,CAACpgQ,MAAD,EAASmoP,YAAT,EAAuBmG,MAAvB,EAA+B;AAC9C,QAAInG,YAAY,CAACD,QAAb,CAAsBjwR,MAAtB,KAAiC,CAAjC,IAAsCkwR,YAAY,CAACE,WAAb,EAA1C,EAAsE;AAClE,aAAO,KAAKsJ,eAAL,CAAqB3xP,MAArB,EAA6BmoP,YAA7B,CAAP;AACH;;AACD,WAAO,KAAKqY,cAAL,CAAoBxgQ,MAApB,EAA4BmoP,YAA5B,EAA0CA,YAAY,CAACD,QAAvD,EAAiEoG,MAAjE,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIqD,EAAAA,eAAe,CAAC3xP,MAAD,EAASmoP,YAAT,EAAuB;AAClC,UAAMllP,QAAQ,GAAG,EAAjB;;AACA,SAAK,MAAMmoP,WAAX,IAA0BrwR,MAAM,CAACC,IAAP,CAAYmtR,YAAY,CAACllP,QAAzB,CAA1B,EAA8D;AAC1D,YAAMm9E,KAAK,GAAG+nK,YAAY,CAACllP,QAAb,CAAsBmoP,WAAtB,CAAd,CAD0D,CAE1D;AACA;;AACA,YAAMiN,YAAY,GAAGD,qBAAqB,CAACp4P,MAAD,EAASorP,WAAT,CAA1C;AACA,YAAMqV,cAAc,GAAG,KAAKL,mBAAL,CAAyB/H,YAAzB,EAAuCj4K,KAAvC,EAA8CgrK,WAA9C,CAAvB;;AACA,UAAIqV,cAAc,KAAK,IAAvB,EAA6B;AACzB;AACA;AACA,eAAO,IAAP;AACH;;AACDx9P,MAAAA,QAAQ,CAACnsC,IAAT,CAAc,GAAG2pS,cAAjB;AACH,KAdiC,CAelC;AACA;AACA;;;AACA,UAAMC,cAAc,GAAGC,qBAAqB,CAAC19P,QAAD,CAA5C;;AACA,QAAI,OAAO/hC,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C;AACA;AACA0/R,MAAAA,yBAAyB,CAACF,cAAD,CAAzB;AACH;;AACDG,IAAAA,2BAA2B,CAACH,cAAD,CAA3B;AACA,WAAOA,cAAP;AACH;;AACDF,EAAAA,cAAc,CAACxgQ,MAAD,EAASmoP,YAAT,EAAuBD,QAAvB,EAAiCoG,MAAjC,EAAyC;AACnD,SAAK,MAAM11L,CAAX,IAAgB54D,MAAhB,EAAwB;AACpB,YAAMiD,QAAQ,GAAG,KAAK69P,0BAAL,CAAgCloM,CAAhC,EAAmCuvL,YAAnC,EAAiDD,QAAjD,EAA2DoG,MAA3D,CAAjB;;AACA,UAAIrrP,QAAQ,KAAK,IAAjB,EAAuB;AACnB,eAAOA,QAAP;AACH;AACJ;;AACD,QAAIo2P,gBAAgB,CAAClR,YAAD,EAAeD,QAAf,EAAyBoG,MAAzB,CAApB,EAAsD;AAClD,aAAO,EAAP;AACH;;AACD,WAAO,IAAP;AACH;;AACDwS,EAAAA,0BAA0B,CAAC7Z,KAAD,EAAQmS,UAAR,EAAoBlR,QAApB,EAA8BoG,MAA9B,EAAsC;AAC5D,QAAIrH,KAAK,CAAC+Q,UAAN,IAAoB,CAACmB,gBAAgB,CAAClS,KAAD,EAAQmS,UAAR,EAAoBlR,QAApB,EAA8BoG,MAA9B,CAAzC,EACI,OAAO,IAAP;AACJ,QAAIlH,QAAJ;AACA,QAAIkR,gBAAgB,GAAG,EAAvB;AACA,QAAIqD,iBAAiB,GAAG,EAAxB;;AACA,QAAI1U,KAAK,CAAC5tM,IAAN,KAAe,IAAnB,EAAyB;AACrB,YAAM70E,MAAM,GAAG0jR,QAAQ,CAACjwR,MAAT,GAAkB,CAAlB,GAAsB+3E,IAAI,CAACk4M,QAAD,CAAJ,CAAev8J,UAArC,GAAkD,EAAjE;AACAy7J,MAAAA,QAAQ,GAAG,IAAI8H,sBAAJ,CAA2BhH,QAA3B,EAAqC1jR,MAArC,EAA6CzJ,MAAM,CAAC42G,MAAP,CAAc52G,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB,KAAKu1Q,OAAL,CAAan1M,WAA/B,CAAd,CAA7C,EAAyG,KAAKm1M,OAAL,CAAa3E,QAAtH,EAAgIgX,OAAO,CAAC9Z,KAAD,CAAvI,EAAgJkR,SAAS,CAAClR,KAAD,CAAzJ,EAAkKA,KAAK,CAAC3nN,SAAxK,EAAmL2nN,KAAnL,EAA0L+Z,qBAAqB,CAAC5H,UAAD,CAA/M,EAA6N6H,iBAAiB,CAAC7H,UAAD,CAAjB,GAAgClR,QAAQ,CAACjwR,MAAtQ,EAA8QipS,UAAU,CAACja,KAAD,CAAxR,CAAX;AACH,KAHD,MAIK;AACD,YAAMxnR,MAAM,GAAGwC,KAAK,CAACm3R,UAAD,EAAanS,KAAb,EAAoBiB,QAApB,CAApB;;AACA,UAAI,CAACzoR,MAAM,CAACyzF,OAAZ,EAAqB;AACjB,eAAO,IAAP;AACH;;AACDolM,MAAAA,gBAAgB,GAAG74R,MAAM,CAAC64R,gBAA1B;AACAqD,MAAAA,iBAAiB,GAAGzT,QAAQ,CAAC10Q,KAAT,CAAe/T,MAAM,CAAC84R,SAAtB,CAApB;AACAnR,MAAAA,QAAQ,GAAG,IAAI8H,sBAAJ,CAA2BoJ,gBAA3B,EAA6C74R,MAAM,CAACksH,UAApD,EAAgE5wH,MAAM,CAAC42G,MAAP,CAAc52G,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB,KAAKu1Q,OAAL,CAAan1M,WAA/B,CAAd,CAAhE,EAA4H,KAAKm1M,OAAL,CAAa3E,QAAzI,EAAmJgX,OAAO,CAAC9Z,KAAD,CAA1J,EAAmKkR,SAAS,CAAClR,KAAD,CAA5K,EAAqLA,KAAK,CAAC3nN,SAA3L,EAAsM2nN,KAAtM,EAA6M+Z,qBAAqB,CAAC5H,UAAD,CAAlO,EAAgP6H,iBAAiB,CAAC7H,UAAD,CAAjB,GAAgCd,gBAAgB,CAACrgS,MAAjS,EAAySipS,UAAU,CAACja,KAAD,CAAnT,CAAX;AACH;;AACD,UAAM+U,WAAW,GAAGH,cAAc,CAAC5U,KAAD,CAAlC;AACA,UAAM;AAAEkB,MAAAA,YAAF;AAAgBsQ,MAAAA;AAAhB,QAAmChxR,KAAK,CAAC2xR,UAAD,EAAad,gBAAb,EAA+BqD,iBAA/B,EAC9C;AACA;AACA;AACAK,IAAAA,WAAW,CAACpsR,MAAZ,CAAmBme,CAAC,IAAIA,CAAC,CAACiqQ,UAAF,KAAiB57R,SAAzC,CAJ8C,EAIO,KAAKs8R,sBAJZ,CAA9C;;AAKA,QAAID,cAAc,CAACxgS,MAAf,KAA0B,CAA1B,IAA+BkwR,YAAY,CAACE,WAAb,EAAnC,EAA+D;AAC3D,YAAMplP,QAAQ,GAAG,KAAK0uP,eAAL,CAAqBqK,WAArB,EAAkC7T,YAAlC,CAAjB;;AACA,UAAIllP,QAAQ,KAAK,IAAjB,EAAuB;AACnB,eAAO,IAAP;AACH;;AACD,aAAO,CAAC,IAAImrP,QAAJ,CAAahH,QAAb,EAAuBnkP,QAAvB,CAAD,CAAP;AACH;;AACD,QAAI+4P,WAAW,CAAC/jS,MAAZ,KAAuB,CAAvB,IAA4BwgS,cAAc,CAACxgS,MAAf,KAA0B,CAA1D,EAA6D;AACzD,aAAO,CAAC,IAAIm2R,QAAJ,CAAahH,QAAb,EAAuB,EAAvB,CAAD,CAAP;AACH;;AACD,UAAM8U,eAAe,GAAG/D,SAAS,CAAClR,KAAD,CAAT,KAAqBqH,MAA7C,CAnC4D,CAoC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,UAAMrrP,QAAQ,GAAG,KAAKu9P,cAAL,CAAoBxE,WAApB,EAAiC7T,YAAjC,EAA+CsQ,cAA/C,EAA+DyD,eAAe,GAAGvU,cAAH,GAAoB2G,MAAlG,CAAjB;;AACA,QAAIrrP,QAAQ,KAAK,IAAjB,EAAuB;AACnB,aAAO,IAAP;AACH;;AACD,WAAO,CAAC,IAAImrP,QAAJ,CAAahH,QAAb,EAAuBnkP,QAAvB,CAAD,CAAP;AACH;;AArIY;;AAuIjB,SAAS49P,2BAAT,CAAqC98Q,KAArC,EAA4C;AACxCA,EAAAA,KAAK,CAACxD,IAAN,CAAW,CAACC,CAAD,EAAIC,CAAJ,KAAU;AACjB,QAAID,CAAC,CAAC9jB,KAAF,CAAQ4xR,MAAR,KAAmB3G,cAAvB,EACI,OAAO,CAAC,CAAR;AACJ,QAAIlnQ,CAAC,CAAC/jB,KAAF,CAAQ4xR,MAAR,KAAmB3G,cAAvB,EACI,OAAO,CAAP;AACJ,WAAOnnQ,CAAC,CAAC9jB,KAAF,CAAQ4xR,MAAR,CAAe6S,aAAf,CAA6B1gR,CAAC,CAAC/jB,KAAF,CAAQ4xR,MAArC,CAAP;AACH,GAND;AAOH;;AACD,SAASuN,cAAT,CAAwB5U,KAAxB,EAA+B;AAC3B,MAAIA,KAAK,CAAChkP,QAAV,EAAoB;AAChB,WAAOgkP,KAAK,CAAChkP,QAAb;AACH;;AACD,MAAIgkP,KAAK,CAAC8Q,YAAV,EAAwB;AACpB,WAAO9Q,KAAK,CAACmP,aAAN,CAAoBE,MAA3B;AACH;;AACD,SAAO,EAAP;AACH;;AACD,SAAS8K,kBAAT,CAA4B/6R,IAA5B,EAAkC;AAC9B,QAAM25B,MAAM,GAAG35B,IAAI,CAAC3J,KAAL,CAAW2qR,WAA1B;AACA,SAAOrnP,MAAM,IAAIA,MAAM,CAACq5C,IAAP,KAAgB,EAA1B,IAAgCr5C,MAAM,CAACg4P,UAAP,KAAsB57R,SAA7D;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASukS,qBAAT,CAA+B58Q,KAA/B,EAAsC;AAClC,QAAMtkB,MAAM,GAAG,EAAf,CADkC,CAElC;;AACA,QAAM4hS,WAAW,GAAG,IAAIn5R,GAAJ,EAApB;;AACA,OAAK,MAAM7B,IAAX,IAAmB0d,KAAnB,EAA0B;AACtB,QAAI,CAACq9Q,kBAAkB,CAAC/6R,IAAD,CAAvB,EAA+B;AAC3B5G,MAAAA,MAAM,CAAC3I,IAAP,CAAYuP,IAAZ;AACA;AACH;;AACD,UAAMi7R,sBAAsB,GAAG7hS,MAAM,CAAC6N,IAAP,CAAYi0R,UAAU,IAAIl7R,IAAI,CAAC3J,KAAL,CAAW2qR,WAAX,KAA2Bka,UAAU,CAAC7kS,KAAX,CAAiB2qR,WAAtE,CAA/B;;AACA,QAAIia,sBAAsB,KAAKllS,SAA/B,EAA0C;AACtCklS,MAAAA,sBAAsB,CAACr+P,QAAvB,CAAgCnsC,IAAhC,CAAqC,GAAGuP,IAAI,CAAC48B,QAA7C;AACAo+P,MAAAA,WAAW,CAAC/2R,GAAZ,CAAgBg3R,sBAAhB;AACH,KAHD,MAIK;AACD7hS,MAAAA,MAAM,CAAC3I,IAAP,CAAYuP,IAAZ;AACH;AACJ,GAjBiC,CAkBlC;AACA;AACA;AACA;;;AACA,OAAK,MAAMm7R,UAAX,IAAyBH,WAAzB,EAAsC;AAClC,UAAMX,cAAc,GAAGC,qBAAqB,CAACa,UAAU,CAACv+P,QAAZ,CAA5C;AACAxjC,IAAAA,MAAM,CAAC3I,IAAP,CAAY,IAAIs3R,QAAJ,CAAaoT,UAAU,CAAC9kS,KAAxB,EAA+BgkS,cAA/B,CAAZ;AACH;;AACD,SAAOjhS,MAAM,CAACmQ,MAAP,CAAc9F,CAAC,IAAI,CAACu3R,WAAW,CAAC94R,GAAZ,CAAgBuB,CAAhB,CAApB,CAAP;AACH;;AACD,SAAS82R,yBAAT,CAAmC78Q,KAAnC,EAA0C;AACtC,QAAM09Q,KAAK,GAAG,EAAd;AACA19Q,EAAAA,KAAK,CAACptB,OAAN,CAAcmT,CAAC,IAAI;AACf,UAAM43R,uBAAuB,GAAGD,KAAK,CAAC33R,CAAC,CAACpN,KAAF,CAAQ4xR,MAAT,CAArC;;AACA,QAAIoT,uBAAJ,EAA6B;AACzB,YAAM3oS,CAAC,GAAG2oS,uBAAuB,CAAChqN,GAAxB,CAA4Bn7E,GAA5B,CAAgCqO,CAAC,IAAIA,CAAC,CAAC7Q,QAAF,EAArC,EAAmDyB,IAAnD,CAAwD,GAAxD,CAAV;AACA,YAAMuyB,CAAC,GAAGjkB,CAAC,CAACpN,KAAF,CAAQg7E,GAAR,CAAYn7E,GAAZ,CAAgBqO,CAAC,IAAIA,CAAC,CAAC7Q,QAAF,EAArB,EAAmCyB,IAAnC,CAAwC,GAAxC,CAAV;AACA,YAAM,IAAID,KAAJ,CAAW,mDAAkDxC,CAAE,UAASg1B,CAAE,IAA1E,CAAN;AACH;;AACD0zQ,IAAAA,KAAK,CAAC33R,CAAC,CAACpN,KAAF,CAAQ4xR,MAAT,CAAL,GAAwBxkR,CAAC,CAACpN,KAA1B;AACH,GARD;AASH;;AACD,SAASskS,qBAAT,CAA+B7Y,YAA/B,EAA6C;AACzC,MAAIv9Q,CAAC,GAAGu9Q,YAAR;;AACA,SAAOv9Q,CAAC,CAACiuR,cAAT,EAAyB;AACrBjuR,IAAAA,CAAC,GAAGA,CAAC,CAACiuR,cAAN;AACH;;AACD,SAAOjuR,CAAP;AACH;;AACD,SAASq2R,iBAAT,CAA2B9Y,YAA3B,EAAyC;AACrC,MAAIv9Q,CAAC,GAAGu9Q,YAAR;AACA,MAAIxqM,GAAG,GAAI/yE,CAAC,CAACkuR,kBAAF,GAAuBluR,CAAC,CAACkuR,kBAAzB,GAA8C,CAAzD;;AACA,SAAOluR,CAAC,CAACiuR,cAAT,EAAyB;AACrBjuR,IAAAA,CAAC,GAAGA,CAAC,CAACiuR,cAAN;AACAl7M,IAAAA,GAAG,IAAK/yE,CAAC,CAACkuR,kBAAF,GAAuBluR,CAAC,CAACkuR,kBAAzB,GAA8C,CAAtD;AACH;;AACD,SAAOn7M,GAAG,GAAG,CAAb;AACH;;AACD,SAASojN,OAAT,CAAiB9Z,KAAjB,EAAwB;AACpB,SAAOA,KAAK,CAAC5qR,IAAN,IAAc,EAArB;AACH;;AACD,SAAS6kS,UAAT,CAAoBja,KAApB,EAA2B;AACvB,SAAOA,KAAK,CAACtxR,OAAN,IAAiB,EAAxB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgsS,WAAT,CAAqBzB,iBAArB,EAAwClgQ,MAAxC,EAAgD4hQ,UAAhD,EAA4DlS,yBAA5D,EAAuFgJ,sBAAvF,EAA+G;AAC3G,SAAO9S,yDAAQ,CAAC/kR,CAAC,IAAIo/R,SAAS,CAACC,iBAAD,EAAoBlgQ,MAApB,EAA4Bn/B,CAAC,CAACylR,iBAA9B,EAAiDsb,UAAU,CAAC/gS,CAAC,CAACylR,iBAAH,CAA3D,EAAkFoJ,yBAAlF,EAA6GgJ,sBAA7G,CAAT,CAChBx8P,IADgB,CACX3/B,mDAAG,CAACqiS,cAAc,IAAK7jS,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBtY,CAAlB,CAAd,EAAoC;AAAE+9R,IAAAA;AAAF,GAApC,CAApB,CADQ,CAAN,CAAf;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiD,WAAT,CAAqBnS,yBAArB,EAAgD7nK,cAAhD,EAAgE;AAC5D,SAAO+9J,yDAAQ,CAAC/kR,CAAC,IAAI;AACjB,UAAM;AAAE+9R,MAAAA,cAAF;AAAkBrtK,MAAAA,MAAM,EAAE;AAAE6sK,QAAAA;AAAF;AAA1B,QAAoDv9R,CAA1D;;AACA,QAAI,CAACu9R,iBAAiB,CAACnmS,MAAvB,EAA+B;AAC3B,aAAOm8B,wCAAE,CAACvzB,CAAD,CAAT;AACH;;AACD,QAAIihS,yBAAyB,GAAG,CAAhC;AACA,WAAOn+Q,0CAAI,CAACy6Q,iBAAD,CAAJ,CACFliQ,IADE,CACGyhE,0DAAS,CAAC+5E,KAAK,IAAIqqH,UAAU,CAACrqH,KAAK,CAACuvG,KAAP,EAAc2X,cAAd,EAA8BlP,yBAA9B,EAAyD7nK,cAAzD,CAApB,CADZ,EAC2GvyF,oDAAG,CAAC,MAAMwsQ,yBAAyB,EAAhC,CAD9G,EACmJjc,yDAAQ,CAAC,CAAD,CAD3J,EACgKD,yDAAQ,CAAC1gR,CAAC,IAAI48R,yBAAyB,KAAK1D,iBAAiB,CAACnmS,MAAhD,GAAyDm8B,wCAAE,CAACvzB,CAAD,CAA3D,GAAiEy5B,wCAAvE,CADxK,CAAP;AAEH,GARc,CAAf;AASH;;AACD,SAASynQ,UAAT,CAAoBxC,SAApB,EAA+BP,SAA/B,EAA0CtP,yBAA1C,EAAqE7nK,cAArE,EAAqF;AACjF,QAAMlyH,OAAO,GAAG4pS,SAAS,CAACrP,QAA1B;AACA,SAAO8R,WAAW,CAACrsS,OAAD,EAAU4pS,SAAV,EAAqBP,SAArB,EAAgCn3K,cAAhC,CAAX,CACF3rF,IADE,CACG3/B,mDAAG,CAAE0lS,YAAD,IAAkB;AAC5B1C,IAAAA,SAAS,CAAC1P,aAAV,GAA0BoS,YAA1B;AACA1C,IAAAA,SAAS,CAACljS,IAAV,GAAiBtB,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBomR,SAAS,CAACljS,IAA5B,CAAd,EAAiDozR,0BAA0B,CAAC8P,SAAD,EAAY7P,yBAAZ,CAA1B,CAAiE/5R,OAAlH,CAAjB;AACA,WAAO,IAAP;AACH,GAJY,CADN,CAAP;AAMH;;AACD,SAASqsS,WAAT,CAAqBrsS,OAArB,EAA8B4pS,SAA9B,EAAyCP,SAAzC,EAAoDn3K,cAApD,EAAoE;AAChE,QAAM7sH,IAAI,GAAGD,MAAM,CAACC,IAAP,CAAYrF,OAAZ,CAAb;;AACA,MAAIqF,IAAI,CAAC/C,MAAL,KAAgB,CAApB,EAAuB;AACnB,WAAOm8B,wCAAE,CAAC,EAAD,CAAT;AACH;;AACD,QAAM/3B,IAAI,GAAG,EAAb;AACA,SAAOsnB,0CAAI,CAAC3oB,IAAD,CAAJ,CAAWkhC,IAAX,CAAgB0pP,yDAAQ,CAAEppR,GAAD,IAAS0lS,WAAW,CAACvsS,OAAO,CAAC6G,GAAD,CAAR,EAAe+iS,SAAf,EAA0BP,SAA1B,EAAqCn3K,cAArC,CAAX,CACpC3rF,IADoC,CAC/B5G,oDAAG,CAAE54B,KAAD,IAAW;AACrBL,IAAAA,IAAI,CAACG,GAAD,CAAJ,GAAYE,KAAZ;AACH,GAFY,CAD4B,CAAV,CAAxB,EAGDmpR,yDAAQ,CAAC,CAAD,CAHP,EAGYD,yDAAQ,CAAC,MAAM;AAC9B;AACA;AACA,QAAI7qR,MAAM,CAACC,IAAP,CAAYqB,IAAZ,EAAkBpE,MAAlB,KAA6B+C,IAAI,CAAC/C,MAAtC,EAA8C;AAC1C,aAAOm8B,wCAAE,CAAC/3B,IAAD,CAAT;AACH;;AACD,WAAOi+B,wCAAP;AACH,GAP0B,CAHpB,CAAP;AAWH;;AACD,SAAS4nQ,WAAT,CAAqB3F,cAArB,EAAqCgD,SAArC,EAAgDP,SAAhD,EAA2Dn3K,cAA3D,EAA2E;AACvE,QAAMpnD,QAAQ,GAAG+mC,QAAQ,CAAC+0L,cAAD,EAAiBgD,SAAjB,EAA4B13K,cAA5B,CAAzB;AACA,SAAOpnD,QAAQ,CAAC9qE,OAAT,GAAmBszR,kBAAkB,CAACxoN,QAAQ,CAAC9qE,OAAT,CAAiB4pS,SAAjB,EAA4BP,SAA5B,CAAD,CAArC,GACH/V,kBAAkB,CAACxoN,QAAQ,CAAC8+N,SAAD,EAAYP,SAAZ,CAAT,CADtB;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmD,SAAT,CAAmB58R,IAAnB,EAAyB;AACrB,SAAOs+D,yDAAS,CAACh2D,CAAC,IAAI;AAClB,UAAMu0R,UAAU,GAAG78R,IAAI,CAACsI,CAAD,CAAvB;;AACA,QAAIu0R,UAAJ,EAAgB;AACZ,aAAOz+Q,0CAAI,CAACy+Q,UAAD,CAAJ,CAAiBlmQ,IAAjB,CAAsB3/B,mDAAG,CAAC,MAAMsR,CAAP,CAAzB,CAAP;AACH;;AACD,WAAOumB,wCAAE,CAACvmB,CAAD,CAAT;AACH,GANe,CAAhB;AAOH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMw0R,kBAAN,CAAyB;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,sBAAN,CAA6B;AACzB;AACJ;AACA;AACA;AACI/M,EAAAA,YAAY,CAACtO,KAAD,EAAQ;AAChB,WAAO,KAAP;AACH;AACD;AACJ;AACA;;;AACI7sK,EAAAA,KAAK,CAAC6sK,KAAD,EAAQsb,YAAR,EAAsB,CAAG;AAC9B;;;AACAxR,EAAAA,YAAY,CAAC9J,KAAD,EAAQ;AAChB,WAAO,KAAP;AACH;AACD;;;AACAgK,EAAAA,QAAQ,CAAChK,KAAD,EAAQ;AACZ,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI4J,EAAAA,gBAAgB,CAACyE,MAAD,EAASzvP,IAAT,EAAe;AAC3B,WAAOyvP,MAAM,CAACjO,WAAP,KAAuBxhP,IAAI,CAACwhP,WAAnC;AACH;;AA3BwB;;AA6B7B,MAAMmb,yBAAN,SAAwCF,sBAAxC,CAA+D;AAG/D;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMG,MAAM,gBAAG,IAAI7uQ,yDAAJ,CAAmB,QAAnB,CAAf;;AACA,MAAM8uQ,kBAAN,CAAyB;AACrB5sS,EAAAA,WAAW,CAACsjI,MAAD,EAASg3B,QAAT,EAAmBuyI,mBAAnB,EAAwCC,iBAAxC,EAA2D;AAClE,SAAKxpK,MAAL,GAAcA,MAAd;AACA,SAAKg3B,QAAL,GAAgBA,QAAhB;AACA,SAAKuyI,mBAAL,GAA2BA,mBAA3B;AACA,SAAKC,iBAAL,GAAyBA,iBAAzB;AACH;;AACDjnL,EAAAA,IAAI,CAAChsB,cAAD,EAAiBs3L,KAAjB,EAAwB;AACxB,QAAIA,KAAK,CAAC4b,QAAV,EAAoB;AAChB,aAAO5b,KAAK,CAAC4b,QAAb;AACH;;AACD,QAAI,KAAKF,mBAAT,EAA8B;AAC1B,WAAKA,mBAAL,CAAyB1b,KAAzB;AACH;;AACD,UAAM6b,cAAc,GAAG,KAAKC,iBAAL,CAAuB9b,KAAK,CAAC8Q,YAA7B,CAAvB;AACA,UAAMiL,UAAU,GAAGF,cAAc,CAAC5mQ,IAAf,CAAoB3/B,mDAAG,CAAE0E,OAAD,IAAa;AACpD,UAAI,KAAK2hS,iBAAT,EAA4B;AACxB,aAAKA,iBAAL,CAAuB3b,KAAvB;AACH;;AACD,YAAMz9K,MAAM,GAAGvoG,OAAO,CAACiT,MAAR,CAAey7E,cAAf,CAAf,CAJoD,CAKpD;AACA;AACA;AACA;;AACA,aAAO,IAAI0mM,kBAAJ,CAAuBtoK,OAAO,CAACvkB,MAAM,CAACjqC,QAAP,CAAgB3iE,GAAhB,CAAoB6lS,MAApB,EAA4BrmS,SAA5B,EAAuCkyG,2DAAA,GAAmBA,+DAA1D,CAAD,CAAP,CACzB/xG,GADyB,CACrB27R,iBADqB,CAAvB,EACsB1uL,MADtB,CAAP;AAEH,KAXyC,CAAvB,EAWfk8K,2DAAU,CAAEpmG,GAAD,IAAS;AACpB2nG,MAAAA,KAAK,CAAC4b,QAAN,GAAiBzmS,SAAjB;AACA,YAAMkjL,GAAN;AACH,KAHa,CAXK,CAAnB,CARwB,CAuBxB;;AACA2nG,IAAAA,KAAK,CAAC4b,QAAN,GAAiB,IAAIrd,wDAAJ,CAA0Bwd,UAA1B,EAAsC,MAAM,IAAI/uQ,0CAAJ,EAA5C,EACZiI,IADY,CACP4pP,yDAAQ,EADD,CAAjB;AAEA,WAAOmB,KAAK,CAAC4b,QAAb;AACH;;AACDE,EAAAA,iBAAiB,CAAChL,YAAD,EAAe;AAC5B,QAAI,OAAOA,YAAP,KAAwB,QAA5B,EAAsC;AAClC,aAAOp0Q,0CAAI,CAAC,KAAKy1G,MAAL,CAAYzd,IAAZ,CAAiBo8K,YAAjB,CAAD,CAAX;AACH,KAFD,MAGK;AACD,aAAO9O,kBAAkB,CAAC8O,YAAY,EAAb,CAAlB,CAAmC77P,IAAnC,CAAwC0pP,yDAAQ,CAAE/kR,CAAD,IAAO;AAC3D,YAAIA,CAAC,YAAY48K,0DAAjB,EAAkC;AAC9B,iBAAOrpJ,wCAAE,CAACvzB,CAAD,CAAT;AACH,SAFD,MAGK;AACD,iBAAO8iB,0CAAI,CAAC,KAAKysI,QAAL,CAAcozC,kBAAd,CAAiC3iM,CAAjC,CAAD,CAAX;AACH;AACJ,OAPsD,CAAhD,CAAP;AAQH;AACJ;;AAjDoB;AAoDzB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMoiS,aAAN,CAAoB;AAChBntS,EAAAA,WAAW,GAAG;AACV,SAAKw4R,MAAL,GAAc,IAAd;AACA,SAAKrH,KAAL,GAAa,IAAb;AACA,SAAKxmN,QAAL,GAAgB,IAAhB;AACA,SAAKx9B,QAAL,GAAgB,IAAIigQ,sBAAJ,EAAhB;AACA,SAAKtN,SAAL,GAAiB,IAAjB;AACH;;AAPe;AASpB;AACA;AACA;AACA;AACA;;;AACA,MAAMsN,sBAAN,CAA6B;AACzBptS,EAAAA,WAAW,GAAG;AACV;AACA,SAAKk/R,QAAL,GAAgB,IAAIr4R,GAAJ,EAAhB;AACH;AACD;;;AACAwmS,EAAAA,oBAAoB,CAAC/N,SAAD,EAAY9G,MAAZ,EAAoB;AACpC,UAAMhoR,OAAO,GAAG,KAAKuvR,kBAAL,CAAwBT,SAAxB,CAAhB;AACA9uR,IAAAA,OAAO,CAACgoR,MAAR,GAAiBA,MAAjB;AACA,SAAK0G,QAAL,CAAcn4R,GAAd,CAAkBu4R,SAAlB,EAA6B9uR,OAA7B;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI88R,EAAAA,sBAAsB,CAAChO,SAAD,EAAY;AAC9B,UAAM9uR,OAAO,GAAG,KAAKigJ,UAAL,CAAgB6uI,SAAhB,CAAhB;;AACA,QAAI9uR,OAAJ,EAAa;AACTA,MAAAA,OAAO,CAACgoR,MAAR,GAAiB,IAAjB;AACAhoR,MAAAA,OAAO,CAACsvR,SAAR,GAAoB,IAApB;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACIF,EAAAA,mBAAmB,GAAG;AAClB,UAAMV,QAAQ,GAAG,KAAKA,QAAtB;AACA,SAAKA,QAAL,GAAgB,IAAIr4R,GAAJ,EAAhB;AACA,WAAOq4R,QAAP;AACH;;AACDe,EAAAA,kBAAkB,CAACf,QAAD,EAAW;AACzB,SAAKA,QAAL,GAAgBA,QAAhB;AACH;;AACDa,EAAAA,kBAAkB,CAACT,SAAD,EAAY;AAC1B,QAAI9uR,OAAO,GAAG,KAAKigJ,UAAL,CAAgB6uI,SAAhB,CAAd;;AACA,QAAI,CAAC9uR,OAAL,EAAc;AACVA,MAAAA,OAAO,GAAG,IAAI28R,aAAJ,EAAV;AACA,WAAKjO,QAAL,CAAcn4R,GAAd,CAAkBu4R,SAAlB,EAA6B9uR,OAA7B;AACH;;AACD,WAAOA,OAAP;AACH;;AACDigJ,EAAAA,UAAU,CAAC6uI,SAAD,EAAY;AAClB,WAAO,KAAKJ,QAAL,CAAcp4R,GAAd,CAAkBw4R,SAAlB,KAAgC,IAAvC;AACH;;AA7CwB;AAgD7B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMiO,mBAAN,CAA0B;AAE1B;AACA;AACA;;;AACA,MAAMC,0BAAN,CAAiC;AAC7BC,EAAAA,gBAAgB,CAAC7rN,GAAD,EAAM;AAClB,WAAO,IAAP;AACH;;AACD8rN,EAAAA,OAAO,CAAC9rN,GAAD,EAAM;AACT,WAAOA,GAAP;AACH;;AACD33B,EAAAA,KAAK,CAAC0jP,UAAD,EAAaC,QAAb,EAAuB;AACxB,WAAOD,UAAP;AACH;;AAT4B;AAYjC;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,mBAAT,CAA6B/+Q,KAA7B,EAAoC;AAChC,QAAMA,KAAN;AACH;;AACD,SAASg/Q,+BAAT,CAAyCh/Q,KAAzC,EAAgDm1Q,aAAhD,EAA+DriN,GAA/D,EAAoE;AAChE,SAAOqiN,aAAa,CAAChzM,KAAd,CAAoB,GAApB,CAAP;AACH;AACD;AACA;AACA;;;AACA,SAAS88M,iBAAT,CAA2Bzc,QAA3B,EAAqC0c,SAArC,EAAgD;AAC5C,SAAO1vQ,wCAAE,CAAC,IAAD,CAAT;AACH;AACD;AACA;AACA;AACA;;;AACA,MAAM2vQ,iBAAiB,GAAG;AACtBla,EAAAA,KAAK,EAAE,OADe;AAEtBE,EAAAA,QAAQ,EAAE,SAFY;AAGtBD,EAAAA,YAAY,EAAE,SAHQ;AAItBvwM,EAAAA,WAAW,EAAE;AAJS,CAA1B;AAMA;AACA;AACA;AACA;;AACA,MAAMyqN,kBAAkB,GAAG;AACvBna,EAAAA,KAAK,EAAE,QADgB;AAEvBE,EAAAA,QAAQ,EAAE,SAFa;AAGvBD,EAAAA,YAAY,EAAE,SAHS;AAIvBvwM,EAAAA,WAAW,EAAE;AAJU,CAA3B;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM0qN;AAAN,QAAMA,MAAN,CAAa;AACT;AACJ;AACA;AACI;AACAnuS,IAAAA,WAAW,CAACoqS,iBAAD,EAAoBnG,aAApB,EAAmC9F,YAAnC,EAAiDz9M,QAAjD,EAA2DjX,QAA3D,EAAqE65D,MAArE,EAA6Eg3B,QAA7E,EAAuFpwH,MAAvF,EAA+F;AACtG,WAAKkgQ,iBAAL,GAAyBA,iBAAzB;AACA,WAAKnG,aAAL,GAAqBA,aAArB;AACA,WAAK9F,YAAL,GAAoBA,YAApB;AACA,WAAKz9M,QAAL,GAAgBA,QAAhB;AACA,WAAKx2C,MAAL,GAAcA,MAAd;AACA,WAAKkkQ,wBAAL,GAAgC,IAAhC;AACA,WAAKC,iBAAL,GAAyB,IAAzB;AACA,WAAKC,QAAL,GAAgB,KAAhB;AACA;AACR;AACA;AACA;;AACQ,WAAKC,sBAAL,GAA8B,IAA9B;AACA,WAAKC,YAAL,GAAoB,CAApB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,WAAKC,aAAL,GAAqB,CAArB;AACA,WAAKC,eAAL,GAAuB,KAAvB;AACA;AACR;AACA;;AACQ,WAAK/oB,MAAL,GAAc,IAAIxnP,0CAAJ,EAAd;AACA;AACR;AACA;;AACQ,WAAK+sH,YAAL,GAAoB2iJ,mBAApB;AACA;AACR;AACA;AACA;AACA;AACA;;AACQ,WAAKc,wBAAL,GAAgCb,+BAAhC;AACA;AACR;AACA;AACA;;AACQ,WAAKc,SAAL,GAAiB,KAAjB;AACA,WAAKC,gBAAL,GAAwB,CAAC,CAAzB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,WAAKniL,KAAL,GAAa;AAAEoiL,QAAAA,mBAAmB,EAAEf,iBAAvB;AAA0CgB,QAAAA,kBAAkB,EAAEhB;AAA9D,OAAb;AACA;AACR;AACA;AACA;;AACQ,WAAKiB,mBAAL,GAA2B,IAAIxB,0BAAJ,EAA3B;AACA;AACR;AACA;;AACQ,WAAK5S,kBAAL,GAA0B,IAAI8R,yBAAJ,EAA1B;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,WAAKuC,mBAAL,GAA2B,QAA3B;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,WAAKrV,yBAAL,GAAiC,WAAjC;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,WAAKsV,iBAAL,GAAyB,UAAzB;AACA;AACR;AACA;AACA;;AACQ,WAAKtM,sBAAL,GAA8B,WAA9B;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACQ;AACA;AACA;AACA;;AACA,WAAKuM,4BAAL,GAAoC,SAApC;;AACA,YAAMC,WAAW,GAAItsM,CAAD,IAAO,KAAKusM,YAAL,CAAkB,IAAIne,oBAAJ,CAAyBpuL,CAAzB,CAAlB,CAA3B;;AACA,YAAMwsM,SAAS,GAAIxsM,CAAD,IAAO,KAAKusM,YAAL,CAAkB,IAAIje,kBAAJ,CAAuBtuL,CAAvB,CAAlB,CAAzB;;AACA,WAAK4P,QAAL,GAAgBjpC,QAAQ,CAAC3iE,GAAT,CAAaq4E,sDAAb,CAAhB;AACA,WAAKrkD,OAAL,GAAe2uC,QAAQ,CAAC3iE,GAAT,CAAaomN,sDAAb,CAAf;AACA,YAAMh7K,MAAM,GAAGu3B,QAAQ,CAAC3iE,GAAT,CAAa42B,iDAAb,CAAf;AACA,WAAKgxQ,eAAL,GAAuBx8P,MAAM,YAAYxU,iDAAlB,IAA4BA,iEAAA,EAAnD;AACA,WAAK6xQ,WAAL,CAAiBrlQ,MAAjB;AACA,WAAKslQ,cAAL,GAAsBpc,kBAAkB,EAAxC;AACA,WAAKqc,UAAL,GAAkB,KAAKD,cAAvB;AACA,WAAKE,cAAL,GAAsB,KAAKF,cAA3B;AACA,WAAKxL,YAAL,GAAoB,IAAI4I,kBAAJ,CAAuBtpK,MAAvB,EAA+Bg3B,QAA/B,EAAyC80I,WAAzC,EAAsDE,SAAtD,CAApB;AACA,WAAKK,WAAL,GAAmBhX,gBAAgB,CAAC,KAAK6W,cAAN,EAAsB,KAAKpF,iBAA3B,CAAnC;AACA,WAAKv2R,WAAL,GAAmB,IAAIwqB,iDAAJ,CAAoB;AACnCj3B,QAAAA,EAAE,EAAE,CAD+B;AAEnCwoS,QAAAA,YAAY,EAAE,CAFqB;AAGnCJ,QAAAA,cAAc,EAAE,KAAKA,cAHc;AAInCK,QAAAA,aAAa,EAAE,KAAKL,cAJe;AAKnC5H,QAAAA,YAAY,EAAE,KAAKoH,mBAAL,CAAyBtB,OAAzB,CAAiC,KAAK8B,cAAtC,CALqB;AAMnChf,QAAAA,iBAAiB,EAAE,KAAKwe,mBAAL,CAAyBtB,OAAzB,CAAiC,KAAK8B,cAAtC,CANgB;AAOnCM,QAAAA,MAAM,EAAE,KAAKN,cAPsB;AAQnCO,QAAAA,MAAM,EAAE,EAR2B;AASnClwS,QAAAA,OAAO,EAAE,IAT0B;AAUnC+qM,QAAAA,MAAM,EAAE,IAV2B;AAWnC3rE,QAAAA,OAAO,EAAEr/H,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAX0B;AAYnC8/C,QAAAA,MAAM,EAAE,YAZ2B;AAanC2wO,QAAAA,aAAa,EAAE,IAboB;AAcnC/3P,QAAAA,eAAe,EAAE,KAAKo3Q,WAAL,CAAiBre,QAdC;AAenCwX,QAAAA,cAAc,EAAE,IAfmB;AAgBnCvK,QAAAA,kBAAkB,EAAE,KAAKoR,WAhBU;AAiBnCrR,QAAAA,iBAAiB,EAAE,IAjBgB;AAkBnC7iK,QAAAA,MAAM,EAAE;AAAE6sK,UAAAA,iBAAiB,EAAE,EAArB;AAAyBD,UAAAA,mBAAmB,EAAE;AAA9C,SAlB2B;AAmBnCU,QAAAA,YAAY,EAAE;AAnBqB,OAApB,CAAnB;AAqBA,WAAKiH,WAAL,GAAmB,KAAKC,gBAAL,CAAsB,KAAKp8R,WAA3B,CAAnB;AACA,WAAKq8R,kBAAL;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACqB,QAAbC,aAAa,GAAG;AAChB,UAAI91Q,EAAJ;;AACA,aAAO,CAACA,EAAE,GAAG,KAAKqmD,QAAL,CAAcwB,QAAd,EAAN,MAAoC,IAApC,IAA4C7nD,EAAE,KAAK,KAAK,CAAxD,GAA4D,KAAK,CAAjE,GAAqEA,EAAE,CAAC+1Q,aAA/E;AACH;;AACDH,IAAAA,gBAAgB,CAACp8R,WAAD,EAAc;AAC1B,YAAMw8R,aAAa,GAAG,KAAK1qB,MAA3B;AACA,aAAO9xQ,WAAW,CAACuyB,IAAZ,CAAiBtsB,uDAAM,CAAC/O,CAAC,IAAIA,CAAC,CAAC3D,EAAF,KAAS,CAAf,CAAvB,EACP;AACAX,MAAAA,mDAAG,CAACsE,CAAC,IAAK9F,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBtY,CAAlB,CAAd,EAAoC;AAAE68R,QAAAA,YAAY,EAAE,KAAKoH,mBAAL,CAAyBtB,OAAzB,CAAiC3iS,CAAC,CAAC+kS,MAAnC;AAAhB,OAApC,CAAP,CAFI,EAGP;AACA/hO,MAAAA,yDAAS,CAAChjE,CAAC,IAAI;AACX,YAAIulS,SAAS,GAAG,KAAhB;AACA,YAAIC,OAAO,GAAG,KAAd;AACA,eAAOjyQ,wCAAE,CAACvzB,CAAD,CAAF,CAAMq7B,IAAN,EACP;AACA5G,QAAAA,oDAAG,CAACz0B,CAAC,IAAI;AACL,eAAKsjS,iBAAL,GAAyB;AACrBjnS,YAAAA,EAAE,EAAE2D,CAAC,CAAC3D,EADe;AAErBopS,YAAAA,UAAU,EAAEzlS,CAAC,CAAC8kS,aAFO;AAGrBjI,YAAAA,YAAY,EAAE78R,CAAC,CAAC68R,YAHK;AAIrB3pS,YAAAA,OAAO,EAAE8M,CAAC,CAAC40C,MAJU;AAKrBowP,YAAAA,MAAM,EAAEhlS,CAAC,CAACglS,MALW;AAMrBU,YAAAA,kBAAkB,EAAE,KAAKrC,wBAAL,GAAgCnpS,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB,KAAK+qR,wBAAvB,CAAd,EAAgE;AAAEqC,cAAAA,kBAAkB,EAAE;AAAtB,aAAhE,CAAhC,GAChB;AAPiB,WAAzB;AASH,SAVE,CAFI,EAYH1iO,yDAAS,CAAChjE,CAAC,IAAI;AACf,gBAAM2kS,cAAc,GAAG,KAAKA,cAAL,CAAoBzrS,QAApB,EAAvB;AACA,gBAAMysS,aAAa,GAAG,CAAC,KAAK9B,SAAN,IAClB7jS,CAAC,CAAC68R,YAAF,CAAe3jS,QAAf,OAA8ByrS,cADZ,IAElB;AACA;AACA;AACA;AACAA,UAAAA,cAAc,KAAK,KAAKF,cAAL,CAAoBvrS,QAApB,EANvB;AAOA,gBAAM0sS,iBAAiB,GAAG,CAAC,KAAK1B,mBAAL,KAA6B,QAA7B,GAAwC,IAAxC,GAA+CyB,aAAhD,KACtB,KAAK1B,mBAAL,CAAyBvB,gBAAzB,CAA0C1iS,CAAC,CAAC+kS,MAA5C,CADJ;;AAEA,cAAIa,iBAAJ,EAAuB;AACnB;AACA;AACA,gBAAIC,4BAA4B,CAAC7lS,CAAC,CAAC40C,MAAH,CAAhC,EAA4C;AACxC,mBAAK+vP,cAAL,GAAsB3kS,CAAC,CAAC68R,YAAxB;AACH;;AACD,mBAAOtpQ,wCAAE,CAACvzB,CAAD,CAAF,CAAMq7B,IAAN,EACP;AACA2nC,YAAAA,yDAAS,CAAChjE,CAAC,IAAI;AACX,oBAAM9L,UAAU,GAAG,KAAK4U,WAAL,CAAiBg9R,QAAjB,EAAnB;AACAR,cAAAA,aAAa,CAAC5gS,IAAd,CAAmB,IAAI2gR,eAAJ,CAAoBrlR,CAAC,CAAC3D,EAAtB,EAA0B,KAAK0pS,YAAL,CAAkB/lS,CAAC,CAAC68R,YAApB,CAA1B,EAA6D78R,CAAC,CAAC40C,MAA/D,EAAuE50C,CAAC,CAACulR,aAAzE,CAAnB;;AACA,kBAAIrxR,UAAU,KAAK,KAAK4U,WAAL,CAAiBg9R,QAAjB,EAAnB,EAAgD;AAC5C,uBAAOrsQ,wCAAP;AACH,eALU,CAMX;AACA;;;AACA,qBAAO5kC,OAAO,CAACC,OAAR,CAAgBkL,CAAhB,CAAP;AACH,aATQ,CAFF,EAYP;AACA48R,YAAAA,gBAAgB,CAAC,KAAKj1L,QAAL,CAAcjpC,QAAf,EAAyB,KAAKu6N,YAA9B,EAA4C,KAAKC,aAAjD,EAAgE,KAAK/5P,MAArE,CAbT,EAcP;AACA1K,YAAAA,oDAAG,CAACz0B,CAAC,IAAI;AACL,mBAAKsjS,iBAAL,GAAyBppS,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB,KAAKgrR,iBAAvB,CAAd,EAAyD;AAAE0C,gBAAAA,QAAQ,EAAEhmS,CAAC,CAACylR;AAAd,eAAzD,CAAzB;AACH,aAFE,CAfI,EAkBP;AACAqb,YAAAA,WAAW,CAAC,KAAKzB,iBAAN,EAAyB,KAAKlgQ,MAA9B,EAAuC03C,GAAD,IAAS,KAAKkvN,YAAL,CAAkBlvN,GAAlB,CAA/C,EAAuE,KAAKg4M,yBAA5E,EAAuG,KAAKgJ,sBAA5G,CAnBJ,EAoBP;AACApjQ,YAAAA,oDAAG,CAACz0B,CAAC,IAAI;AACL,kBAAI,KAAKmkS,iBAAL,KAA2B,OAA/B,EAAwC;AACpC,oBAAI,CAACnkS,CAAC,CAACglS,MAAF,CAASiB,kBAAd,EAAkC;AAC9B,uBAAKC,aAAL,CAAmBlmS,CAAC,CAACylR,iBAArB,EAAwCzlR,CAAxC,EAD8B,CAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACH;;AACD,qBAAK2kS,cAAL,GAAsB3kS,CAAC,CAACylR,iBAAxB;AACH,eAbI,CAcL;;;AACA,oBAAM0gB,gBAAgB,GAAG,IAAItgB,gBAAJ,CAAqB7lR,CAAC,CAAC3D,EAAvB,EAA2B,KAAK0pS,YAAL,CAAkB/lS,CAAC,CAAC68R,YAApB,CAA3B,EAA8D,KAAKkJ,YAAL,CAAkB/lS,CAAC,CAACylR,iBAApB,CAA9D,EAAsGzlR,CAAC,CAAC+9R,cAAxG,CAAzB;AACAuH,cAAAA,aAAa,CAAC5gS,IAAd,CAAmByhS,gBAAnB;AACH,aAjBE,CArBI,CAAP;AAuCH,WA7CD,MA8CK;AACD,kBAAMC,kBAAkB,GAAGT,aAAa,IAAI,KAAKjB,UAAtB,IACvB,KAAKT,mBAAL,CAAyBvB,gBAAzB,CAA0C,KAAKgC,UAA/C,CADJ;AAEA;AACpB;AACA;;AACoB,gBAAI0B,kBAAJ,EAAwB;AACpB,oBAAM;AAAE/pS,gBAAAA,EAAF;AAAMwgS,gBAAAA,YAAN;AAAoBjoP,gBAAAA,MAApB;AAA4B2wO,gBAAAA,aAA5B;AAA2Cyf,gBAAAA;AAA3C,kBAAsDhlS,CAA5D;AACA,oBAAMqmS,QAAQ,GAAG,IAAIhhB,eAAJ,CAAoBhpR,EAApB,EAAwB,KAAK0pS,YAAL,CAAkBlJ,YAAlB,CAAxB,EAAyDjoP,MAAzD,EAAiE2wO,aAAjE,CAAjB;AACA+f,cAAAA,aAAa,CAAC5gS,IAAd,CAAmB2hS,QAAnB;AACA,oBAAMtI,cAAc,GAAGnQ,gBAAgB,CAACiP,YAAD,EAAe,KAAKwC,iBAApB,CAAhB,CAAuD9Y,QAA9E;AACA,qBAAOhzP,wCAAE,CAACr5B,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBtY,CAAlB,CAAd,EAAoC;AAAE+9R,gBAAAA,cAAF;AAAkBtY,gBAAAA,iBAAiB,EAAEoX,YAArC;AAAmDmI,gBAAAA,MAAM,EAAE9qS,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB0sR,MAAlB,CAAd,EAAyC;AAAEiB,kBAAAA,kBAAkB,EAAE,KAAtB;AAA6BK,kBAAAA,UAAU,EAAE;AAAzC,iBAAzC;AAA3D,eAApC,CAAD,CAAT;AACH,aAND,MAOK;AACD;AACxB;AACA;AACA;AACA;AACwB,mBAAK5B,UAAL,GAAkB1kS,CAAC,CAAC+kS,MAApB;AACA,mBAAKJ,cAAL,GAAsB3kS,CAAC,CAACylR,iBAAxB;AACAzlR,cAAAA,CAAC,CAAClL,OAAF,CAAU,IAAV;AACA,qBAAO2kC,wCAAP;AACH;AACJ;AACJ,SAlFY,CAZN,EA+FP;AACA6nQ,QAAAA,SAAS,CAACthS,CAAC,IAAI;AACX,gBAAM;AAAE+9R,YAAAA,cAAF;AAAkB1hS,YAAAA,EAAE,EAAEonS,YAAtB;AAAoC5G,YAAAA,YAAY,EAAE0J,cAAlD;AAAkExB,YAAAA,MAAM,EAAEL,UAA1E;AAAsFM,YAAAA,MAAM,EAAE;AAAEiB,cAAAA,kBAAF;AAAsBK,cAAAA;AAAtB;AAA9F,cAAqItmS,CAA3I;AACA,iBAAO,KAAK2hH,KAAL,CAAWoiL,mBAAX,CAA+BhG,cAA/B,EAA+C;AAClD0F,YAAAA,YADkD;AAElD8C,YAAAA,cAFkD;AAGlD7B,YAAAA,UAHkD;AAIlDuB,YAAAA,kBAAkB,EAAE,CAAC,CAACA,kBAJ4B;AAKlDK,YAAAA,UAAU,EAAE,CAAC,CAACA;AALoC,WAA/C,CAAP;AAOH,SATQ,CAhGF,EA0GP;AACA7xQ,QAAAA,oDAAG,CAACz0B,CAAC,IAAI;AACL,gBAAMwmS,WAAW,GAAG,IAAI1gB,gBAAJ,CAAqB9lR,CAAC,CAAC3D,EAAvB,EAA2B,KAAK0pS,YAAL,CAAkB/lS,CAAC,CAAC68R,YAApB,CAA3B,EAA8D,KAAKkJ,YAAL,CAAkB/lS,CAAC,CAACylR,iBAApB,CAA9D,EAAsGzlR,CAAC,CAAC+9R,cAAxG,CAApB;AACA,eAAKuG,YAAL,CAAkBkC,WAAlB;AACH,SAHE,CA3GI,EA8GH9qS,mDAAG,CAACsE,CAAC,IAAK9F,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBtY,CAAlB,CAAd,EAAoC;AAAE0wH,UAAAA,MAAM,EAAEssK,iBAAiB,CAACh9R,CAAC,CAAC+9R,cAAH,EAAmB/9R,CAAC,CAACwtB,eAArB,EAAsC,KAAK4lQ,YAA3C;AAA3B,SAApC,CAAP,CA9GA,EA8GqI0K,WAAW,CAAC,KAAKn2L,QAAL,CAAcjpC,QAAf,EAA0By1M,GAAD,IAAS,KAAKmwB,YAAL,CAAkBnwB,GAAlB,CAAlC,CA9GhJ,EA8G2M1/O,oDAAG,CAACz0B,CAAC,IAAI;AACvN,cAAI41R,SAAS,CAAC51R,CAAC,CAACg+R,YAAH,CAAb,EAA+B;AAC3B,kBAAMj6Q,KAAK,GAAGmjQ,wBAAwB,CAAE,mBAAkB,KAAK6e,YAAL,CAAkB/lS,CAAC,CAACg+R,YAApB,CAAkC,GAAtD,CAAtC;AACAj6Q,YAAAA,KAAK,CAAC8yD,GAAN,GAAY72E,CAAC,CAACg+R,YAAd;AACA,kBAAMj6Q,KAAN;AACH;;AACD,gBAAM0iR,SAAS,GAAG,IAAI1gB,cAAJ,CAAmB/lR,CAAC,CAAC3D,EAArB,EAAyB,KAAK0pS,YAAL,CAAkB/lS,CAAC,CAAC68R,YAApB,CAAzB,EAA4D,KAAKkJ,YAAL,CAAkB/lS,CAAC,CAACylR,iBAApB,CAA5D,EAAoGzlR,CAAC,CAAC+9R,cAAtG,EAAsH,CAAC,CAAC/9R,CAAC,CAACg+R,YAA1H,CAAlB;AACA,eAAKsG,YAAL,CAAkBmC,SAAlB;AACH,SARoN,CA9G9M,EAsHH13R,uDAAM,CAAC/O,CAAC,IAAI;AACZ,cAAI,CAACA,CAAC,CAACg+R,YAAP,EAAqB;AACjB,iBAAK0I,cAAL,CAAoB1mS,CAApB;AACA,iBAAK2mS,0BAAL,CAAgC3mS,CAAhC,EAAmC,EAAnC;AACA,mBAAO,KAAP;AACH;;AACD,iBAAO,IAAP;AACH,SAPS,CAtHH,EA8HP;AACAshS,QAAAA,SAAS,CAACthS,CAAC,IAAI;AACX,cAAIA,CAAC,CAAC0wH,MAAF,CAAS6sK,iBAAT,CAA2BnmS,MAA/B,EAAuC;AACnC,mBAAOm8B,wCAAE,CAACvzB,CAAD,CAAF,CAAMq7B,IAAN,CAAW5G,oDAAG,CAACz0B,CAAC,IAAI;AACvB,oBAAM4mS,YAAY,GAAG,IAAI3gB,YAAJ,CAAiBjmR,CAAC,CAAC3D,EAAnB,EAAuB,KAAK0pS,YAAL,CAAkB/lS,CAAC,CAAC68R,YAApB,CAAvB,EAA0D,KAAKkJ,YAAL,CAAkB/lS,CAAC,CAACylR,iBAApB,CAA1D,EAAkGzlR,CAAC,CAAC+9R,cAApG,CAArB;AACA,mBAAKuG,YAAL,CAAkBsC,YAAlB;AACH,aAHoB,CAAd,EAGH5jO,yDAAS,CAAChjE,CAAC,IAAI;AACf,kBAAI6mS,YAAY,GAAG,KAAnB;AACA,qBAAOtzQ,wCAAE,CAACvzB,CAAD,CAAF,CAAMq7B,IAAN,CAAW2lQ,WAAW,CAAC,KAAKnS,yBAAN,EAAiC,KAAKlnL,QAAL,CAAcjpC,QAA/C,CAAtB,EAAgFjqC,oDAAG,CAAC;AACvF/vB,gBAAAA,IAAI,EAAE,MAAMmiS,YAAY,GAAG,IAD4D;AAEvF9+P,gBAAAA,QAAQ,EAAE,MAAM;AACZ,sBAAI,CAAC8+P,YAAL,EAAmB;AACf,yBAAKH,cAAL,CAAoB1mS,CAApB;AACA,yBAAK2mS,0BAAL,CAAgC3mS,CAAhC,EAAoC,oDAApC;AACH;AACJ;AAPsF,eAAD,CAAnF,CAAP;AASH,aAXY,CAHN,EAcHy0B,oDAAG,CAACz0B,CAAC,IAAI;AACT,oBAAM8mS,UAAU,GAAG,IAAI5gB,UAAJ,CAAelmR,CAAC,CAAC3D,EAAjB,EAAqB,KAAK0pS,YAAL,CAAkB/lS,CAAC,CAAC68R,YAApB,CAArB,EAAwD,KAAKkJ,YAAL,CAAkB/lS,CAAC,CAACylR,iBAApB,CAAxD,EAAgGzlR,CAAC,CAAC+9R,cAAlG,CAAnB;AACA,mBAAKuG,YAAL,CAAkBwC,UAAlB;AACH,aAHM,CAdA,CAAP;AAkBH;;AACD,iBAAOvrS,SAAP;AACH,SAtBQ,CA/HF,EAsJP;AACA+lS,QAAAA,SAAS,CAAEthS,CAAD,IAAO;AACb,gBAAM;AAAE+9R,YAAAA,cAAF;AAAkB1hS,YAAAA,EAAE,EAAEonS,YAAtB;AAAoC5G,YAAAA,YAAY,EAAE0J,cAAlD;AAAkExB,YAAAA,MAAM,EAAEL,UAA1E;AAAsFM,YAAAA,MAAM,EAAE;AAAEiB,cAAAA,kBAAF;AAAsBK,cAAAA;AAAtB;AAA9F,cAAqItmS,CAA3I;AACA,iBAAO,KAAK2hH,KAAL,CAAWqiL,kBAAX,CAA8BjG,cAA9B,EAA8C;AACjD0F,YAAAA,YADiD;AAEjD8C,YAAAA,cAFiD;AAGjD7B,YAAAA,UAHiD;AAIjDuB,YAAAA,kBAAkB,EAAE,CAAC,CAACA,kBAJ2B;AAKjDK,YAAAA,UAAU,EAAE,CAAC,CAACA;AALmC,WAA9C,CAAP;AAOH,SATQ,CAvJF,EAgKH5qS,mDAAG,CAAEsE,CAAD,IAAO;AACX,gBAAMuzR,iBAAiB,GAAG3D,iBAAiB,CAAC,KAAKC,kBAAN,EAA0B7vR,CAAC,CAAC+9R,cAA5B,EAA4C/9R,CAAC,CAACwzR,kBAA9C,CAA3C;AACA,iBAAQt5R,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBtY,CAAlB,CAAd,EAAoC;AAAEuzR,YAAAA;AAAF,WAApC,CAAR;AACH,SAHM,CAhKA;AAoKP;AACZ;AACA;AACA;AACA;AACY9+P,QAAAA,oDAAG,CAAEz0B,CAAD,IAAO;AACP,eAAKykS,cAAL,GAAsBzkS,CAAC,CAACylR,iBAAxB;AACA,eAAKif,UAAL,GACI,KAAKT,mBAAL,CAAyB/kP,KAAzB,CAA+Bl/C,CAAC,CAACylR,iBAAjC,EAAoDzlR,CAAC,CAAC+kS,MAAtD,CADJ;AAEA,eAAKH,WAAL,GAAmB5kS,CAAC,CAACuzR,iBAArB;;AACA,cAAI,KAAK4Q,iBAAL,KAA2B,UAA/B,EAA2C;AACvC,gBAAI,CAACnkS,CAAC,CAACglS,MAAF,CAASiB,kBAAd,EAAkC;AAC9B,mBAAKC,aAAL,CAAmB,KAAKxB,UAAxB,EAAoC1kS,CAApC;AACH;;AACD,iBAAK2kS,cAAL,GAAsB3kS,CAAC,CAACylR,iBAAxB;AACH;AACJ,SAXE,CAzKI,EAoLH0N,cAAc,CAAC,KAAKC,YAAN,EAAoB,KAAKvD,kBAAzB,EAA8C1b,GAAD,IAAS,KAAKmwB,YAAL,CAAkBnwB,GAAlB,CAAtD,CApLX,EAoL0F1/O,oDAAG,CAAC;AACjG/vB,UAAAA,IAAI,GAAG;AACH6gS,YAAAA,SAAS,GAAG,IAAZ;AACH,WAHgG;;AAIjGx9P,UAAAA,QAAQ,GAAG;AACPw9P,YAAAA,SAAS,GAAG,IAAZ;AACH;;AANgG,SAAD,CApL7F,EA2LHrgB,yDAAQ,CAAC,MAAM;AACf,cAAI51P,EAAJ;AACA;AAChB;AACA;AACA;AACA;AACA;AACA;;;AACgB,cAAI,CAACi2Q,SAAD,IAAc,CAACC,OAAnB,EAA4B;AACxB,kBAAMuB,iBAAiB,GAAI,iBAAgB/mS,CAAC,CAAC3D,EAAG,8CAA6C,KAAKonS,YAAa,EAA/G;;AACA,gBAAI,KAAKW,4BAAL,KAAsC,SAA1C,EAAqD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAKsC,cAAL,CAAoB1mS,CAApB;AACA,mBAAK2mS,0BAAL,CAAgC3mS,CAAhC,EAAmC+mS,iBAAnC;AACH,aAVD,MAWK;AACD;AACA;AACA;AACA;AACA;AACA,mBAAKJ,0BAAL,CAAgC3mS,CAAhC,EAAmC+mS,iBAAnC,EANC,CAOD;AACA;AACA;AACH;AACJ,WAjCc,CAkCf;AACA;;;AACA,cAAI,CAAC,CAACz3Q,EAAE,GAAG,KAAKg0Q,iBAAX,MAAkC,IAAlC,IAA0Ch0Q,EAAE,KAAK,KAAK,CAAtD,GAA0D,KAAK,CAA/D,GAAmEA,EAAE,CAACjzB,EAAvE,MAA+E2D,CAAC,CAAC3D,EAArF,EAAyF;AACrF,iBAAKinS,iBAAL,GAAyB,IAAzB;AACH;AACJ,SAvCW,CA3LL,EAkOHze,2DAAU,CAAE5pR,CAAD,IAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAuqS,UAAAA,OAAO,GAAG,IAAV;AACA;AAChB;;AACgB,cAAIre,0BAA0B,CAAClsR,CAAD,CAA9B,EAAmC;AAC/B,kBAAM+rS,WAAW,GAAGpR,SAAS,CAAC36R,CAAC,CAAC47E,GAAH,CAA7B;;AACA,gBAAI,CAACmwN,WAAL,EAAkB;AACd;AACA;AACA;AACA;AACA;AACA,mBAAKnD,SAAL,GAAiB,IAAjB;AACA,mBAAK6C,cAAL,CAAoB1mS,CAApB,EAAuB,IAAvB;AACH;;AACD,kBAAMinS,SAAS,GAAG,IAAIvhB,gBAAJ,CAAqB1lR,CAAC,CAAC3D,EAAvB,EAA2B,KAAK0pS,YAAL,CAAkB/lS,CAAC,CAAC68R,YAApB,CAA3B,EAA8D5hS,CAAC,CAAC+7B,OAAhE,CAAlB;AACAsuQ,YAAAA,aAAa,CAAC5gS,IAAd,CAAmBuiS,SAAnB,EAZ+B,CAa/B;AACA;;AACA,gBAAI,CAACD,WAAL,EAAkB;AACdhnS,cAAAA,CAAC,CAAClL,OAAF,CAAU,KAAV;AACH,aAFD,MAGK;AACD;AACA;AACA;AACA;AACAywC,cAAAA,UAAU,CAAC,MAAM;AACb,sBAAM2hQ,UAAU,GAAG,KAAKjD,mBAAL,CAAyB/kP,KAAzB,CAA+BjkD,CAAC,CAAC47E,GAAjC,EAAsC,KAAK6tN,UAA3C,CAAnB;AACA,sBAAMM,MAAM,GAAG;AACXiB,kBAAAA,kBAAkB,EAAEjmS,CAAC,CAACglS,MAAF,CAASiB,kBADlB;AAEX;AACA;AACA;AACA;AACAK,kBAAAA,UAAU,EAAE,KAAKnC,iBAAL,KAA2B,OAA3B,IACR0B,4BAA4B,CAAC7lS,CAAC,CAAC40C,MAAH;AAPrB,iBAAf;AASA,qBAAKuyP,kBAAL,CAAwBD,UAAxB,EAAoC,YAApC,EAAkD,IAAlD,EAAwDlC,MAAxD,EAAgE;AAAElwS,kBAAAA,OAAO,EAAEkL,CAAC,CAAClL,OAAb;AAAsB+qM,kBAAAA,MAAM,EAAE7/L,CAAC,CAAC6/L,MAAhC;AAAwC3rE,kBAAAA,OAAO,EAAEl0H,CAAC,CAACk0H;AAAnD,iBAAhE;AACH,eAZS,EAYP,CAZO,CAAV;AAaH;AACD;AACpB;;AACiB,WAvCD,MAwCK;AACD,iBAAKwyK,cAAL,CAAoB1mS,CAApB,EAAuB,IAAvB;AACA,kBAAMonS,QAAQ,GAAG,IAAIxhB,eAAJ,CAAoB5lR,CAAC,CAAC3D,EAAtB,EAA0B,KAAK0pS,YAAL,CAAkB/lS,CAAC,CAAC68R,YAApB,CAA1B,EAA6D5hS,CAA7D,CAAjB;AACAqqS,YAAAA,aAAa,CAAC5gS,IAAd,CAAmB0iS,QAAnB;;AACA,gBAAI;AACApnS,cAAAA,CAAC,CAAClL,OAAF,CAAU,KAAKqrJ,YAAL,CAAkBllJ,CAAlB,CAAV;AACH,aAFD,CAGA,OAAOosS,EAAP,EAAW;AACPrnS,cAAAA,CAAC,CAAC6/L,MAAF,CAASwnG,EAAT;AACH;AACJ;;AACD,iBAAO5tQ,wCAAP;AACH,SAnEa,CAlOP,CAAP,CAHW,CAySX;AACH,OA1SQ,CAJF,CAAP;AA+SH;AACD;AACJ;AACA;AACA;;;AACI6tQ,IAAAA,sBAAsB,CAACjI,iBAAD,EAAoB;AACtC,WAAKA,iBAAL,GAAyBA,iBAAzB,CADsC,CAEtC;AACA;;AACA,WAAKuF,WAAL,CAAiBzhR,IAAjB,CAAsBs7C,SAAtB,GAAkC,KAAK4gO,iBAAvC;AACH;;AACDkI,IAAAA,aAAa,GAAG;AACZ,YAAMrzS,UAAU,GAAG,KAAK4U,WAAL,CAAiBjN,KAApC,CADY,CAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA3H,MAAAA,UAAU,CAACuxR,iBAAX,GAA+B,KAAKkf,cAApC;AACA,aAAOzwS,UAAP;AACH;;AACDszS,IAAAA,aAAa,CAACxnS,CAAD,EAAI;AACb,WAAK8I,WAAL,CAAiBpE,IAAjB,CAAsBxK,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB,KAAKivR,aAAL,EAAlB,CAAd,EAAuDvnS,CAAvD,CAAtB;AACH;AACD;AACJ;AACA;;;AACIynS,IAAAA,iBAAiB,GAAG;AAChB,WAAKC,2BAAL;;AACA,UAAI,KAAKjE,YAAL,KAAsB,CAA1B,EAA6B;AACzB,aAAKkE,aAAL,CAAmB,KAAKhyN,QAAL,CAAc6C,IAAd,CAAmB,IAAnB,CAAnB,EAA6C;AAAE8tN,UAAAA,UAAU,EAAE;AAAd,SAA7C;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACIoB,IAAAA,2BAA2B,GAAG;AAC1B;AACA;AACA;AACA,UAAI,CAAC,KAAKE,oBAAV,EAAgC;AAC5B,aAAKA,oBAAL,GAA4B,KAAKjyN,QAAL,CAAcz7C,SAAd,CAAwBp/B,KAAK,IAAI;AACzD,gBAAM+sS,aAAa,GAAG,KAAKC,kCAAL,CAAwChtS,KAAxC,CAAtB,CADyD,CAEzD;AACA;;AACA,cAAI,KAAKitS,wBAAL,CAA8B,KAAKvE,sBAAnC,EAA2DqE,aAA3D,CAAJ,EAA+E;AAC3EtiQ,YAAAA,UAAU,CAAC,MAAM;AACb,oBAAM;AAAEqP,gBAAAA,MAAF;AAAU5gD,gBAAAA,KAAV;AAAiB65R,gBAAAA;AAAjB,kBAA6Bga,aAAnC;AACA,oBAAM7C,MAAM,GAAG;AAAEsB,gBAAAA,UAAU,EAAE;AAAd,eAAf;;AACA,kBAAItyS,KAAJ,EAAW;AACP,sBAAMg0S,SAAS,GAAG9tS,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBtkB,KAAlB,CAAlB;AACA,uBAAOg0S,SAAS,CAACvE,YAAjB;AACA,uBAAOuE,SAAS,CAAC3C,aAAjB;;AACA,oBAAInrS,MAAM,CAACC,IAAP,CAAY6tS,SAAZ,EAAuB5wS,MAAvB,KAAkC,CAAtC,EAAyC;AACrC4tS,kBAAAA,MAAM,CAAChxS,KAAP,GAAeg0S,SAAf;AACH;AACJ;;AACD,mBAAKb,kBAAL,CAAwBtZ,OAAxB,EAAiCj5O,MAAjC,EAAyC5gD,KAAzC,EAAgDgxS,MAAhD;AACH,aAZS,EAYP,CAZO,CAAV;AAaH;;AACD,eAAKxB,sBAAL,GAA8BqE,aAA9B;AACH,SApB2B,CAA5B;AAqBH;AACJ;AACD;;;AACAC,IAAAA,kCAAkC,CAAC9tQ,MAAD,EAAS;AACvC,UAAI1K,EAAJ;;AACA,aAAO;AACHslB,QAAAA,MAAM,EAAE5a,MAAM,CAAC,MAAD,CAAN,KAAmB,UAAnB,GAAgC,UAAhC,GAA6C,YADlD;AAEH6zP,QAAAA,OAAO,EAAE,KAAKoa,QAAL,CAAcjuQ,MAAM,CAAC,KAAD,CAApB,CAFN;AAGH;AACA;AACAhmC,QAAAA,KAAK,EAAE,CAAC,CAACs7B,EAAE,GAAG0K,MAAM,CAAChmC,KAAb,MAAwB,IAAxB,IAAgCs7B,EAAE,KAAK,KAAK,CAA5C,GAAgD,KAAK,CAArD,GAAyDA,EAAE,CAACm0Q,YAA7D,IAA6EzpQ,MAAM,CAAChmC,KAApF,GAA4F,IALhG;AAMHihR,QAAAA,YAAY,EAAE,KAAKsyB,aAAL,GAAqBlrS;AANhC,OAAP;AAQH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI0rS,IAAAA,wBAAwB,CAACj6L,QAAD,EAAWmL,OAAX,EAAoB;AACxC,UAAI,CAACnL,QAAL,EACI,OAAO,IAAP;AACJ,YAAMo6L,eAAe,GAAGjvL,OAAO,CAAC40K,OAAR,CAAgB30R,QAAhB,OAA+B40G,QAAQ,CAAC+/K,OAAT,CAAiB30R,QAAjB,EAAvD;AACA,YAAMivS,wBAAwB,GAAGlvL,OAAO,CAACg8J,YAAR,KAAyBnnK,QAAQ,CAACmnK,YAAnE;;AACA,UAAI,CAACkzB,wBAAD,IAA6B,CAACD,eAAlC,EAAmD;AAC/C,eAAO,IAAP;AACH;;AACD,UAAKjvL,OAAO,CAACrkE,MAAR,KAAmB,YAAnB,IAAmCk5D,QAAQ,CAACl5D,MAAT,KAAoB,UAAxD,IACCqkE,OAAO,CAACrkE,MAAR,KAAmB,UAAnB,IAAiCk5D,QAAQ,CAACl5D,MAAT,KAAoB,YAD1D,EACyE;AACrE,eAAO,KAAP;AACH;;AACD,aAAO,IAAP;AACH;AACD;;;AACO,QAAHiiC,GAAG,GAAG;AACN,aAAO,KAAKkvN,YAAL,CAAkB,KAAKtB,cAAvB,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI2D,IAAAA,oBAAoB,GAAG;AACnB,aAAO,KAAK9E,iBAAZ;AACH;AACD;;;AACAgB,IAAAA,YAAY,CAACxpS,KAAD,EAAQ;AAChB,WAAK8/Q,MAAL,CAAYl2Q,IAAZ,CAAiB5J,KAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI0pS,IAAAA,WAAW,CAACrlQ,MAAD,EAAS;AAChB23P,MAAAA,cAAc,CAAC33P,MAAD,CAAd;AACA,WAAKA,MAAL,GAAcA,MAAM,CAACzjC,GAAP,CAAW27R,iBAAX,CAAd;AACA,WAAKwM,SAAL,GAAiB,KAAjB;AACA,WAAKC,gBAAL,GAAwB,CAAC,CAAzB;AACH;AACD;;;AACA7rQ,IAAAA,WAAW,GAAG;AACV,WAAK+vB,OAAL;AACH;AACD;;;AACAA,IAAAA,OAAO,GAAG;AACN,WAAKl/C,WAAL,CAAiBi/B,QAAjB;;AACA,UAAI,KAAK6/P,oBAAT,EAA+B;AAC3B,aAAKA,oBAAL,CAA0BxsQ,WAA1B;AACA,aAAKwsQ,oBAAL,GAA4BrsS,SAA5B;AACH;;AACD,WAAKgoS,QAAL,GAAgB,IAAhB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIhT,IAAAA,aAAa,CAACC,QAAD,EAAW6X,gBAAgB,GAAG,EAA9B,EAAkC;AAC3C,YAAM;AAAEC,QAAAA,UAAF;AAAc5vN,QAAAA,WAAd;AAA2BwwM,QAAAA,QAA3B;AAAqCqf,QAAAA,mBAArC;AAA0DC,QAAAA;AAA1D,UAA+EH,gBAArF;AACA,YAAM1oR,CAAC,GAAG2oR,UAAU,IAAI,KAAK1D,WAAL,CAAiBzhR,IAAzC;AACA,YAAM5J,CAAC,GAAGivR,gBAAgB,GAAG,KAAK/D,cAAL,CAAoBvb,QAAvB,GAAkCA,QAA5D;AACA,UAAIuf,CAAC,GAAG,IAAR;;AACA,cAAQF,mBAAR;AACI,aAAK,OAAL;AACIE,UAAAA,CAAC,GAAGvuS,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB,KAAKmsR,cAAL,CAAoB/rN,WAAtC,CAAd,EAAkEA,WAAlE,CAAJ;AACA;;AACJ,aAAK,UAAL;AACI+vN,UAAAA,CAAC,GAAG,KAAKhE,cAAL,CAAoB/rN,WAAxB;AACA;;AACJ;AACI+vN,UAAAA,CAAC,GAAG/vN,WAAW,IAAI,IAAnB;AARR;;AAUA,UAAI+vN,CAAC,KAAK,IAAV,EAAgB;AACZA,QAAAA,CAAC,GAAG,KAAKC,gBAAL,CAAsBD,CAAtB,CAAJ;AACH;;AACD,aAAOlY,aAAa,CAAC5wQ,CAAD,EAAI,KAAK8kR,cAAT,EAAyBjU,QAAzB,EAAmCiY,CAAnC,EAAsClvR,CAAC,KAAK,IAAN,IAAcA,CAAC,KAAK,KAAK,CAAzB,GAA6BA,CAA7B,GAAiC,IAAvE,CAApB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIouR,IAAAA,aAAa,CAAC9wN,GAAD,EAAMmuN,MAAM,GAAG;AACxBiB,MAAAA,kBAAkB,EAAE;AADI,KAAf,EAEV;AACC,UAAI,OAAO5lS,SAAP,KAAqB,WAArB,IACAA,SAAS,IAAI,KAAKsjS,eAAlB,IAAqC,CAAChxQ,iEAAA,EAD1C,EACoE;AAChE,aAAK5C,OAAL,CAAaC,IAAb,CAAmB,mFAAnB;AACH;;AACD,YAAM69P,OAAO,GAAG+H,SAAS,CAAC/+M,GAAD,CAAT,GAAiBA,GAAjB,GAAuB,KAAKoxN,QAAL,CAAcpxN,GAAd,CAAvC;AACA,YAAMqwN,UAAU,GAAG,KAAKjD,mBAAL,CAAyB/kP,KAAzB,CAA+B2uO,OAA/B,EAAwC,KAAK6W,UAA7C,CAAnB;AACA,aAAO,KAAKyC,kBAAL,CAAwBD,UAAxB,EAAoC,YAApC,EAAkD,IAAlD,EAAwDlC,MAAxD,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI2D,IAAAA,QAAQ,CAACnY,QAAD,EAAWwU,MAAM,GAAG;AAAEiB,MAAAA,kBAAkB,EAAE;AAAtB,KAApB,EAAmD;AACvD2C,MAAAA,gBAAgB,CAACpY,QAAD,CAAhB;AACA,aAAO,KAAKmX,aAAL,CAAmB,KAAKpX,aAAL,CAAmBC,QAAnB,EAA6BwU,MAA7B,CAAnB,EAAyDA,MAAzD,CAAP;AACH;AACD;;;AACAe,IAAAA,YAAY,CAAClvN,GAAD,EAAM;AACd,aAAO,KAAKqiN,aAAL,CAAmBrP,SAAnB,CAA6BhzM,GAA7B,CAAP;AACH;AACD;;;AACAoxN,IAAAA,QAAQ,CAACpxN,GAAD,EAAM;AACV,UAAIg3M,OAAJ;;AACA,UAAI;AACAA,QAAAA,OAAO,GAAG,KAAKqL,aAAL,CAAmBhzM,KAAnB,CAAyBrP,GAAzB,CAAV;AACH,OAFD,CAGA,OAAO57E,CAAP,EAAU;AACN4yR,QAAAA,OAAO,GAAG,KAAK+V,wBAAL,CAA8B3oS,CAA9B,EAAiC,KAAKi+R,aAAtC,EAAqDriN,GAArD,CAAV;AACH;;AACD,aAAOg3M,OAAP;AACH;;AACDgb,IAAAA,QAAQ,CAAChyN,GAAD,EAAMiyN,YAAN,EAAoB;AACxB,UAAIx1S,OAAJ;;AACA,UAAIw1S,YAAY,KAAK,IAArB,EAA2B;AACvBx1S,QAAAA,OAAO,GAAG4G,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB4qR,iBAAlB,CAAV;AACH,OAFD,MAGK,IAAI4F,YAAY,KAAK,KAArB,EAA4B;AAC7Bx1S,QAAAA,OAAO,GAAG4G,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkB6qR,kBAAlB,CAAV;AACH,OAFI,MAGA;AACD7vS,QAAAA,OAAO,GAAGw1S,YAAV;AACH;;AACD,UAAIlT,SAAS,CAAC/+M,GAAD,CAAb,EAAoB;AAChB,eAAOiyM,YAAY,CAAC,KAAK2b,cAAN,EAAsB5tN,GAAtB,EAA2BvjF,OAA3B,CAAnB;AACH;;AACD,YAAMu6R,OAAO,GAAG,KAAKoa,QAAL,CAAcpxN,GAAd,CAAhB;AACA,aAAOiyM,YAAY,CAAC,KAAK2b,cAAN,EAAsB5W,OAAtB,EAA+Bv6R,OAA/B,CAAnB;AACH;;AACDo1S,IAAAA,gBAAgB,CAAC/kS,MAAD,EAAS;AACrB,aAAOzJ,MAAM,CAACC,IAAP,CAAYwJ,MAAZ,EAAoB7L,MAApB,CAA2B,CAAC8G,MAAD,EAASjD,GAAT,KAAiB;AAC/C,cAAME,KAAK,GAAG8H,MAAM,CAAChI,GAAD,CAApB;;AACA,YAAIE,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAKN,SAAhC,EAA2C;AACvCqD,UAAAA,MAAM,CAACjD,GAAD,CAAN,GAAcE,KAAd;AACH;;AACD,eAAO+C,MAAP;AACH,OANM,EAMJ,EANI,CAAP;AAOH;;AACDumS,IAAAA,kBAAkB,GAAG;AACjB,WAAKF,WAAL,CAAiB/qQ,SAAjB,CAA2Bl6B,CAAC,IAAI;AAC5B,aAAK6jS,SAAL,GAAiB,IAAjB;AACA,aAAKC,gBAAL,GAAwB9jS,CAAC,CAAC3D,EAA1B;AACA,aAAKqnS,aAAL,GAAqB1jS,CAAC,CAAC6kS,YAAvB;AACA,aAAKjqB,MAAL,CACKl2Q,IADL,CACU,IAAI8gR,aAAJ,CAAkBxlR,CAAC,CAAC3D,EAApB,EAAwB,KAAK0pS,YAAL,CAAkB/lS,CAAC,CAAC68R,YAApB,CAAxB,EAA2D,KAAKkJ,YAAL,CAAkB,KAAKtB,cAAvB,CAA3D,CADV;AAEA,aAAKpB,wBAAL,GAAgC,KAAKC,iBAArC;AACAtjS,QAAAA,CAAC,CAAClL,OAAF,CAAU,IAAV;AACH,OARD,EAQGmG,CAAC,IAAI;AACJ,aAAK80B,OAAL,CAAaC,IAAb,CAAmB,+BAA8B/0B,CAAE,EAAnD;AACH,OAVD;AAWH;;AACDksS,IAAAA,kBAAkB,CAACpC,MAAD,EAASnwP,MAAT,EAAiB2wO,aAAjB,EAAgCyf,MAAhC,EAAwC+D,YAAxC,EAAsD;AACpE,UAAIz5Q,EAAJ,EAAQkY,EAAR;;AACA,UAAI,KAAK+7P,QAAT,EAAmB;AACf,eAAO1uS,OAAO,CAACC,OAAR,CAAgB,KAAhB,CAAP;AACH,OAJmE,CAKpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,YAAMk0S,cAAc,GAAG,KAAKzB,aAAL,EAAvB,CAdoE,CAepE;AACA;;AACA,YAAM0B,6BAA6B,GAAGpD,4BAA4B,CAACjxP,MAAD,CAA5B,IAAwCo0P,cAAxC,IAClC,CAACnD,4BAA4B,CAACmD,cAAc,CAACp0P,MAAhB,CADjC;AAEA,YAAMs0P,uBAAuB,GAAG,KAAKpF,gBAAL,KAA0BkF,cAAc,CAAC3sS,EAAzE,CAnBoE,CAoBpE;AACA;;AACA,YAAM8sS,iBAAiB,GAAID,uBAAuB,IAAI,KAAK5F,iBAAjC,GACtB0F,cAAc,CAACjE,MADO,GAEtBiE,cAAc,CAACvjB,iBAFnB;AAGA,YAAM2jB,YAAY,GAAGD,iBAAiB,CAACjwS,QAAlB,OAAiC6rS,MAAM,CAAC7rS,QAAP,EAAtD;;AACA,UAAI+vS,6BAA6B,IAAIG,YAArC,EAAmD;AAC/C,eAAOv0S,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAP,CAD+C,CACjB;AACjC;;AACD,UAAIA,OAAJ;AACA,UAAI+qM,MAAJ;AACA,UAAI3rE,OAAJ;;AACA,UAAI60K,YAAJ,EAAkB;AACdj0S,QAAAA,OAAO,GAAGi0S,YAAY,CAACj0S,OAAvB;AACA+qM,QAAAA,MAAM,GAAGkpG,YAAY,CAAClpG,MAAtB;AACA3rE,QAAAA,OAAO,GAAG60K,YAAY,CAAC70K,OAAvB;AACH,OAJD,MAKK;AACDA,QAAAA,OAAO,GAAG,IAAIr/H,OAAJ,CAAY,CAACioF,GAAD,EAAMkjH,GAAN,KAAc;AAChClrM,UAAAA,OAAO,GAAGgoF,GAAV;AACA+iH,UAAAA,MAAM,GAAGG,GAAT;AACH,SAHS,CAAV;AAIH;;AACD,YAAM3jM,EAAE,GAAG,EAAE,KAAKonS,YAAlB;AACA,UAAIoB,YAAJ;;AACA,UAAI,KAAKT,4BAAL,KAAsC,UAA1C,EAAsD;AAClD,cAAMiF,aAAa,GAAG,KAAK3F,aAAL,KAAuB,CAA7C;;AACA,YAAI2F,aAAJ,EAAmB;AACf9jB,UAAAA,aAAa,GAAG,KAAK5vM,QAAL,CAAcwB,QAAd,EAAhB;AACH,SAJiD,CAKlD;AACA;AACA;;;AACA,YAAIouM,aAAa,IAAIA,aAAa,CAAC8f,aAAnC,EAAkD;AAC9CR,UAAAA,YAAY,GAAGtf,aAAa,CAAC8f,aAA7B;AACH,SAFD,MAGK;AACD;AACA;AACA,cAAIL,MAAM,CAACsB,UAAP,IAAqBtB,MAAM,CAACiB,kBAAhC,EAAoD;AAChDpB,YAAAA,YAAY,GAAG,CAACv1Q,EAAE,GAAG,KAAK81Q,aAAX,MAA8B,IAA9B,IAAsC91Q,EAAE,KAAK,KAAK,CAAlD,GAAsDA,EAAtD,GAA2D,CAA1E;AACH,WAFD,MAGK;AACDu1Q,YAAAA,YAAY,GAAG,CAAC,CAACr9P,EAAE,GAAG,KAAK49P,aAAX,MAA8B,IAA9B,IAAsC59P,EAAE,KAAK,KAAK,CAAlD,GAAsDA,EAAtD,GAA2D,CAA5D,IAAiE,CAAhF;AACH;AACJ;AACJ,OArBD,MAsBK;AACD;AACAq9P,QAAAA,YAAY,GAAG,CAAf;AACH;;AACD,WAAK2C,aAAL,CAAmB;AACfnrS,QAAAA,EADe;AAEfwoS,QAAAA,YAFe;AAGfjwP,QAAAA,MAHe;AAIf2wO,QAAAA,aAJe;AAKfkf,QAAAA,cAAc,EAAE,KAAKA,cALN;AAMfK,QAAAA,aAAa,EAAE,KAAKJ,UANL;AAOfK,QAAAA,MAPe;AAQfC,QAAAA,MARe;AASflwS,QAAAA,OATe;AAUf+qM,QAAAA,MAVe;AAWf3rE,QAAAA,OAXe;AAYf1mG,QAAAA,eAAe,EAAE,KAAKo3Q,WAAL,CAAiBre,QAZnB;AAafiN,QAAAA,kBAAkB,EAAE,KAAKoR;AAbV,OAAnB,EAvEoE,CAsFpE;AACA;;AACA,aAAO1wK,OAAO,CAACmsE,KAAR,CAAeplM,CAAD,IAAO;AACxB,eAAOpG,OAAO,CAACgrM,MAAR,CAAe5kM,CAAf,CAAP;AACH,OAFM,CAAP;AAGH;;AACDirS,IAAAA,aAAa,CAACrvN,GAAD,EAAM72E,CAAN,EAAS;AAClB,YAAMw4E,IAAI,GAAG,KAAK0gN,aAAL,CAAmBrP,SAAnB,CAA6BhzM,GAA7B,CAAb;AACA,YAAM7iF,KAAK,GAAGkG,MAAM,CAACoe,MAAP,CAAcpe,MAAM,CAACoe,MAAP,CAAc,EAAd,EAAkBtY,CAAC,CAACglS,MAAF,CAAShxS,KAA3B,CAAd,EAAiD,KAAKs1S,qBAAL,CAA2BtpS,CAAC,CAAC3D,EAA7B,EAAiC2D,CAAC,CAAC6kS,YAAnC,CAAjD,CAAd;;AACA,UAAI,KAAKlvN,QAAL,CAAc4D,oBAAd,CAAmCf,IAAnC,KAA4C,CAAC,CAACx4E,CAAC,CAACglS,MAAF,CAASsB,UAA3D,EAAuE;AACnE,aAAK3wN,QAAL,CAAcoB,YAAd,CAA2ByB,IAA3B,EAAiC,EAAjC,EAAqCxkF,KAArC;AACH,OAFD,MAGK;AACD,aAAK2hF,QAAL,CAAcuB,EAAd,CAAiBsB,IAAjB,EAAuB,EAAvB,EAA2BxkF,KAA3B;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACI0yS,IAAAA,cAAc,CAAC1mS,CAAD,EAAIupS,wBAAwB,GAAG,KAA/B,EAAsC;AAChD,UAAIj6Q,EAAJ,EAAQkY,EAAR;;AACA,UAAI,KAAK48P,4BAAL,KAAsC,UAA1C,EAAsD;AAClD,cAAMoF,kBAAkB,GAAG,KAAK9F,aAAL,GAAqB1jS,CAAC,CAAC6kS,YAAlD,CADkD,CAElD;AACA;AACA;AACA;AACA;;AACA,cAAM4E,wBAAwB,GAAIzpS,CAAC,CAAC40C,MAAF,KAAa,UAAb,IAA2B,KAAKuvP,iBAAL,KAA2B,OAAtD,IAC9B,KAAKM,cAAL,MAAyB,CAACn1Q,EAAE,GAAG,KAAKg0Q,iBAAX,MAAkC,IAAlC,IAA0Ch0Q,EAAE,KAAK,KAAK,CAAtD,GAA0D,KAAK,CAA/D,GAAmEA,EAAE,CAAC02Q,QAA/F,CADJ;;AAEA,YAAIyD,wBAAwB,IAAID,kBAAkB,KAAK,CAAvD,EAA0D;AACtD,eAAK7zN,QAAL,CAAcR,SAAd,CAAwBq0N,kBAAxB;AACH,SAFD,MAGK,IAAI,KAAK/E,cAAL,MAAyB,CAACj9P,EAAE,GAAG,KAAK87P,iBAAX,MAAkC,IAAlC,IAA0C97P,EAAE,KAAK,KAAK,CAAtD,GAA0D,KAAK,CAA/D,GAAmEA,EAAE,CAACw+P,QAA/F,KAA4GwD,kBAAkB,KAAK,CAAvI,EAA0I;AAC3I;AACA;AACA;AACA,eAAKE,UAAL,CAAgB1pS,CAAhB,EAJ2I,CAK3I;AACA;;AACA,eAAK2kS,cAAL,GAAsB3kS,CAAC,CAACykS,cAAxB;AACA,eAAKkF,wBAAL;AACH,SATI,MAUA,CACD;AACA;AACH;AACJ,OA1BD,MA2BK,IAAI,KAAKvF,4BAAL,KAAsC,SAA1C,EAAqD;AACtD;AACA;AACA;AACA;AACA,YAAImF,wBAAJ,EAA8B;AAC1B,eAAKG,UAAL,CAAgB1pS,CAAhB;AACH;;AACD,aAAK2pS,wBAAL;AACH;AACJ;;AACDD,IAAAA,UAAU,CAAC1pS,CAAD,EAAI;AACV,WAAK4kS,WAAL,GAAmB5kS,CAAC,CAACwzR,kBAArB;AACA,WAAKiR,cAAL,GAAsBzkS,CAAC,CAACykS,cAAxB;AACA,WAAKC,UAAL,GAAkB,KAAKT,mBAAL,CAAyB/kP,KAAzB,CAA+B,KAAKulP,cAApC,EAAoDzkS,CAAC,CAAC+kS,MAAtD,CAAlB;AACH;;AACD4E,IAAAA,wBAAwB,GAAG;AACvB,WAAKh0N,QAAL,CAAcoB,YAAd,CAA2B,KAAKmiN,aAAL,CAAmBrP,SAAnB,CAA6B,KAAK6a,UAAlC,CAA3B,EAA0E,EAA1E,EAA8E,KAAK4E,qBAAL,CAA2B,KAAKxF,gBAAhC,EAAkD,KAAKJ,aAAvD,CAA9E;AACH;;AACDiD,IAAAA,0BAA0B,CAAC3mS,CAAD,EAAI2lR,MAAJ,EAAY;AAClC,YAAMshB,SAAS,GAAG,IAAIvhB,gBAAJ,CAAqB1lR,CAAC,CAAC3D,EAAvB,EAA2B,KAAK0pS,YAAL,CAAkB/lS,CAAC,CAAC68R,YAApB,CAA3B,EAA8DlX,MAA9D,CAAlB;AACA,WAAK2e,YAAL,CAAkB2C,SAAlB;AACAjnS,MAAAA,CAAC,CAAClL,OAAF,CAAU,KAAV;AACH;;AACDw0S,IAAAA,qBAAqB,CAAC7F,YAAD,EAAemG,YAAf,EAA6B;AAC9C,UAAI,KAAKxF,4BAAL,KAAsC,UAA1C,EAAsD;AAClD,eAAO;AAAEX,UAAAA,YAAF;AAAgB4B,UAAAA,aAAa,EAAEuE;AAA/B,SAAP;AACH;;AACD,aAAO;AAAEnG,QAAAA;AAAF,OAAP;AACH;;AAp9BQ;;AAs9BbL,EAAAA,MAAM,CAACtjS,IAAP,GAAc,SAAS+pS,cAAT,CAAwB7pS,CAAxB,EAA2B;AAAE,WAAO,KAAKA,CAAC,IAAIojS,MAAV,EAAkBxqS,sDAAA,CAAgBA,+CAAhB,CAAlB,EAAgDA,sDAAA,CAAgB4xR,aAAhB,CAAhD,EAAgF5xR,sDAAA,CAAgBypS,sBAAhB,CAAhF,EAAyHzpS,sDAAA,CAAgB88B,sDAAhB,CAAzH,EAA2J98B,sDAAA,CAAgBA,mDAAhB,CAA3J,EAA6LA,sDAAA,CAAgBA,gEAAhB,CAA7L,EAA4OA,sDAAA,CAAgBA,mDAAhB,CAA5O,EAA8QA,sDAAA,CAAgB2C,SAAhB,CAA9Q,CAAP;AAAmT,GAA9V;;AACA6nS,EAAAA,MAAM,CAACnjS,KAAP,GAAe,aAAcrH,gEAAA,CAA0B;AAAEuH,IAAAA,KAAK,EAAEijS,MAAT;AAAiBhjS,IAAAA,OAAO,EAAEgjS,MAAM,CAACtjS;AAAjC,GAA1B,CAA7B;SAv9BMsjS;;;AAk+BN;AAAA,CAAC,YAAY;AAAE,GAAC,OAAO/iS,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAE2P,CAF1Q;;AAGA,SAASuoS,gBAAT,CAA0BpY,QAA1B,EAAoC;AAChC,OAAK,IAAIpyR,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGoyR,QAAQ,CAACp5R,MAA7B,EAAqCgH,CAAC,EAAtC,EAA0C;AACtC,UAAM2zR,GAAG,GAAGvB,QAAQ,CAACpyR,CAAD,CAApB;;AACA,QAAI2zR,GAAG,IAAI,IAAX,EAAiB;AACb,YAAM,IAAIr3R,KAAJ,CAAW,+BAA8Bq3R,GAAI,qBAAoB3zR,CAAE,EAAnE,CAAN;AACH;AACJ;AACJ;;AACD,SAASynS,4BAAT,CAAsCjxP,MAAtC,EAA8C;AAC1C,SAAOA,MAAM,KAAK,YAAlB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMk1P;AAAN,QAAMA,UAAN,CAAiB;AACb70S,IAAAA,WAAW,CAAC80S,MAAD,EAAS3jB,KAAT,EAAgBnnP,QAAhB,EAA0Bi7E,QAA1B,EAAoCpkF,EAApC,EAAwC;AAC/C,WAAKi0Q,MAAL,GAAcA,MAAd;AACA,WAAK3jB,KAAL,GAAaA,KAAb;AACA,WAAKoK,QAAL,GAAgB,EAAhB;AACA;;AACA,WAAKwZ,SAAL,GAAiB,IAAI52Q,0CAAJ,EAAjB;;AACA,UAAI6L,QAAQ,IAAI,IAAhB,EAAsB;AAClBi7E,QAAAA,QAAQ,CAAC92G,YAAT,CAAsB0yB,EAAE,CAACqN,aA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,sDAAAA,CAAAA,uHAAAA;AAAA;;WAAbq3Y;AAAazpa,aAAbypa,aAAa;;AAAA;;;;;;;;;;;;;;;ACPnB,MAAMa,WAAW,GAAG;AACzBwa,YAAU,EAAE,IADa;AAEzB3L,YAAU,EAAE,kCAFa;AAGzBx5H,aAAW,EAAE;AACXipD,sBAAkB,EAAE;AADT,GAHY;AAMzBvjW,SAAO,EAAE,4BANgB;AAOzBkla,UAAQ,EAAC,CAPgB;AAQzB/zV,OAAK,EAAC,wCARmB;AASzBuuW,YAAU,EAAE;AATa,CAApB;;;;;;;;;;;;;;;;;ACAP;AAGA;AACA;;AAEA,IAAIza,6EAAJ,EAA4B;AAC1BthO,EAAAA,6DAAc;AACf;;AAEDg8O,sEAAAA,GAAyBl5O,eAAzB,CAAyCo+N,sDAAzC,EACGjqO,KADH,CACS5hB,GAAG,IAAI1uJ,OAAO,CAACixK,GAAR,CAAYviB,GAAZ,CADhB;;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnSA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;gBAU0GjsJ;;AAAAA,IAAAA,4DAgxBxG;AAhxBwGA,IAAAA,wDAgxBpE;AAhxBoEA,MAAAA,2DAgxBpE;AAAA,qBAhxBoEA,2DAgxBpE;AAAA;AAAA;AAhxBoEA,IAAAA,4DAixBtG;AAjxBsGA,IAAAA,oDAixB7E;AAjxB6EA,IAAAA,0DAixBtE;AAjxBsEA,IAAAA,0DAkxBxG;;;;;;AAlxBwGA,IAAAA,qEAoxB1F;AApxB0FA,IAAAA,oDAoxBpD;AApxBoDA,IAAAA,mEAoxBzB;;;;mBApxByBA;AAAAA,IAAAA,uDAoxBpD;AApxBoDA,IAAAA,gEAoxBpD;;;;;;AApxBoDA,I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","sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./node_modules/@angular/animations/__ivy_ngcc__/fesm2015/animations.js","./node_modules/@angular/animations/__ivy_ngcc__/fesm2015/browser.js","./node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/a11y.js","./node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/bidi.js","./node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/collections.js","./node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/keycodes.js","./node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/observers.js","./node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/overlay.js","./node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/platform.js","./node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/portal.js","./node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/scrolling.js","./node_modules/@angular/cdk/__ivy_ngcc__/fesm2015/text-field.js","./node_modules/@angular/cdk/fesm2015/cdk.js","./node_modules/@angular/cdk/fesm2015/coercion.js","./node_modules/@angular/common/__ivy_ngcc__/fesm2015/common.js","./node_modules/@angular/common/__ivy_ngcc__/fesm2015/http.js","./node_modules/@angular/common/locales/es-AR.js","./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js","./node_modules/@angular/forms/__ivy_ngcc__/fesm2015/forms.js","./node_modules/@angular/material-moment-adapter/__ivy_ngcc__/fesm2015/material-moment-adapter.js","./node_modules/@angular/material/__ivy_ngcc__/fesm2015/button.js","./node_modules/@angular/material/__ivy_ngcc__/fesm2015/core.js","./node_modules/@angular/material/__ivy_ngcc__/fesm2015/datepicker.js","./node_modules/@angular/material/__ivy_ngcc__/fesm2015/form-field.js","./node_modules/@angular/material/__ivy_ngcc__/fesm2015/input.js","./node_modules/@angular/platform-browser/__ivy_ngcc__/fesm2015/animations.js","./node_modules/@angular/platform-browser/__ivy_ngcc__/fesm2015/platform-browser.js","./node_modules/@angular/router/__ivy_ngcc__/fesm2015/router.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/AnalyticsPlugin.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewManager.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageVisitTimeManager.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Timing.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/EnvelopeCreator.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/InternalConstants.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Offline.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/SendBuffer.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Sender.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Serializer.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/Sample.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/ConnectionStringParser.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Constants.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/DomHelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Enums.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/HelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/ContextTagKeys.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/SeverityLevel.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/IConfig.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/PartAExtensions.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/RequestResponseHeaders.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/StorageHelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/Data.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataPoint.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataSanitizer.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/Envelope.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Event.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Exception.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Metric.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageView.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageViewPerformance.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/RemoteDependencyData.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Trace.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/TelemetryItemCreator.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/ThrottleMgr.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/UrlHelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Util.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/applicationinsights-common.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/AppInsightsCore.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseCore.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ChannelController.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CookieMgr.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CoreUtils.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DataCacheHelper.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DbgExtensionUtils.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DiagnosticLogger.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EnvUtils.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EventHelpers.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/HelperFuncs.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InstrumentHooks.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InternalConstants.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/NotificationManager.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/PerfManager.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/RandomHelper.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryHelpers.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/W3cTraceParent.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/InternalConstants.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/ajax.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/ajaxRecord.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Application.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Device.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Internal.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Location.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Session.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/TelemetryTrace.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/User.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/PropertiesPlugin.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/TelemetryContext.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-shims/dist-esm/Constants.js","./node_modules/@microsoft/applicationinsights-shims/dist-esm/Helpers.js","./node_modules/@microsoft/applicationinsights-shims/dist-esm/TsLibShims.js","./node_modules/@microsoft/applicationinsights-web/dist-esm/Initialization.js","./node_modules/@microsoft/applicationinsights-web/dist-esm/InternalConstants.js","./node_modules/@microsoft/applicationinsights-web/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/dynamicproto-js/lib/dist/esm/dynamicproto-js.js","./node_modules/moment/locale/af.js","./node_modules/moment/locale/ar-dz.js","./node_modules/moment/locale/ar-kw.js","./node_modules/moment/locale/ar-ly.js","./node_modules/moment/locale/ar-ma.js","./node_modules/moment/locale/ar-sa.js","./node_modules/moment/locale/ar-tn.js","./node_modules/moment/locale/ar.js","./node_modules/moment/locale/az.js","./node_modules/moment/locale/be.js","./node_modules/moment/locale/bg.js","./node_modules/moment/locale/bm.js","./node_modules/moment/locale/bn-bd.js","./node_modules/moment/locale/bn.js","./node_modules/moment/locale/bo.js","./node_modules/moment/locale/br.js","./node_modules/moment/locale/bs.js","./node_modules/moment/locale/ca.js","./node_modules/moment/locale/cs.js","./node_modules/moment/locale/cv.js","./node_modules/moment/locale/cy.js","./node_modules/moment/locale/da.js","./node_modules/moment/locale/de-at.js","./node_modules/moment/locale/de-ch.js","./node_modules/moment/locale/de.js","./node_modules/moment/locale/dv.js","./node_modules/moment/locale/el.js","./node_modules/moment/locale/en-au.js","./node_modules/moment/locale/en-ca.js","./node_modules/moment/locale/en-gb.js","./node_modules/moment/locale/en-ie.js","./node_modules/moment/locale/en-il.js","./node_modules/moment/locale/en-in.js","./node_modules/moment/locale/en-nz.js","./node_modules/moment/locale/en-sg.js","./node_modules/moment/locale/eo.js","./node_modules/moment/locale/es-do.js","./node_modules/moment/locale/es-mx.js","./node_modules/moment/locale/es-us.js","./node_modules/moment/locale/es.js","./node_modules/moment/locale/et.js","./node_modules/moment/locale/eu.js","./node_modules/moment/locale/fa.js","./node_modules/moment/locale/fi.js","./node_modules/moment/locale/fil.js","./node_modules/moment/locale/fo.js","./node_modules/moment/locale/fr-ca.js","./node_modules/moment/locale/fr-ch.js","./node_modules/moment/locale/fr.js","./node_modules/moment/locale/fy.js","./node_modules/moment/locale/ga.js","./node_modules/moment/locale/gd.js","./node_modules/moment/locale/gl.js","./node_modules/moment/locale/gom-deva.js","./node_modules/moment/locale/gom-latn.js","./node_modules/moment/locale/gu.js","./node_modules/moment/locale/he.js","./node_modules/moment/locale/hi.js","./node_modules/moment/locale/hr.js","./node_modules/moment/locale/hu.js","./node_modules/moment/locale/hy-am.js","./node_modules/moment/locale/id.js","./node_modules/moment/locale/is.js","./node_modules/moment/locale/it-ch.js","./node_modules/moment/locale/it.js","./node_modules/moment/locale/ja.js","./node_modules/moment/locale/jv.js","./node_modules/moment/locale/ka.js","./node_modules/moment/locale/kk.js","./node_modules/moment/locale/km.js","./node_modules/moment/locale/kn.js","./node_modules/moment/locale/ko.js","./node_modules/moment/locale/ku.js","./node_modules/moment/locale/ky.js","./node_modules/moment/locale/lb.js","./node_modules/moment/locale/lo.js","./node_modules/moment/locale/lt.js","./node_modules/moment/locale/lv.js","./node_modules/moment/locale/me.js","./node_modules/moment/locale/mi.js","./node_modules/moment/locale/mk.js","./node_modules/moment/locale/ml.js","./node_modules/moment/locale/mn.js","./node_modules/moment/locale/mr.js","./node_modules/moment/locale/ms-my.js","./node_modules/moment/locale/ms.js","./node_modules/moment/locale/mt.js","./node_modules/moment/locale/my.js","./node_modules/moment/locale/nb.js","./node_modules/moment/locale/ne.js","./node_modules/moment/locale/nl-be.js","./node_modules/moment/locale/nl.js","./node_modules/moment/locale/nn.js","./node_modules/moment/locale/oc-lnc.js","./node_modules/moment/locale/pa-in.js","./node_modules/moment/locale/pl.js","./node_modules/moment/locale/pt-br.js","./node_modules/moment/locale/pt.js","./node_modules/moment/locale/ro.js","./node_modules/moment/locale/ru.js","./node_modules/moment/locale/sd.js","./node_modules/moment/locale/se.js","./node_modules/moment/locale/si.js","./node_modules/moment/locale/sk.js","./node_modules/moment/locale/sl.js","./node_modules/moment/locale/sq.js","./node_modules/moment/locale/sr-cyrl.js","./node_modules/moment/locale/sr.js","./node_modules/moment/locale/ss.js","./node_modules/moment/locale/sv.js","./node_modules/moment/locale/sw.js","./node_modules/moment/locale/ta.js","./node_modules/moment/locale/te.js","./node_modules/moment/locale/tet.js","./node_modules/moment/locale/tg.js","./node_modules/moment/locale/th.js","./node_modules/moment/locale/tk.js","./node_modules/moment/locale/tl-ph.js","./node_modules/moment/locale/tlh.js","./node_modules/moment/locale/tr.js","./node_modules/moment/locale/tzl.js","./node_modules/moment/locale/tzm-latn.js","./node_modules/moment/locale/tzm.js","./node_modules/moment/locale/ug-cn.js","./node_modules/moment/locale/uk.js","./node_modules/moment/locale/ur.js","./node_modules/moment/locale/uz-latn.js","./node_modules/moment/locale/uz.js","./node_modules/moment/locale/vi.js","./node_modules/moment/locale/x-pseudo.js","./node_modules/moment/locale/yo.js","./node_modules/moment/locale/zh-cn.js","./node_modules/moment/locale/zh-hk.js","./node_modules/moment/locale/zh-mo.js","./node_modules/moment/locale/zh-tw.js","./node_modules/moment/moment.js","./node_modules/ng2-date-picker/__ivy_ngcc__/fesm2015/ng2-date-picker.js","./node_modules/rxjs/_esm2015/internal/BehaviorSubject.js","./node_modules/rxjs/_esm2015/internal/InnerSubscriber.js","./node_modules/rxjs/_esm2015/internal/Notification.js","./node_modules/rxjs/_esm2015/internal/Observable.js","./node_modules/rxjs/_esm2015/internal/Observer.js","./node_modules/rxjs/_esm2015/internal/OuterSubscriber.js","./node_modules/rxjs/_esm2015/internal/ReplaySubject.js","./node_modules/rxjs/_esm2015/internal/Scheduler.js","./node_modules/rxjs/_esm2015/internal/Subject.js","./node_modules/rxjs/_esm2015/internal/SubjectSubscription.js","./node_modules/rxjs/_esm2015/internal/Subscriber.js","./node_modules/rxjs/_esm2015/internal/Subscription.js","./node_modules/rxjs/_esm2015/internal/config.js","./node_modules/rxjs/_esm2015/internal/innerSubscribe.js","./node_modules/rxjs/_esm2015/internal/observable/ConnectableObservable.js","./node_modules/rxjs/_esm2015/internal/observable/combineLatest.js","./node_modules/rxjs/_esm2015/internal/observable/concat.js","./node_modules/rxjs/_esm2015/internal/observable/defer.js","./node_modules/rxjs/_esm2015/internal/observable/empty.js","./node_modules/rxjs/_esm2015/internal/observable/forkJoin.js","./node_modules/rxjs/_esm2015/internal/observable/from.js","./node_modules/rxjs/_esm2015/internal/observable/fromArray.js","./node_modules/rxjs/_esm2015/internal/observable/fromEvent.js","./node_modules/rxjs/_esm2015/internal/observable/merge.js","./node_modules/rxjs/_esm2015/internal/observable/of.js","./node_modules/rxjs/_esm2015/internal/observable/throwError.js","./node_modules/rxjs/_esm2015/internal/observable/timer.js","./node_modules/rxjs/_esm2015/internal/operators/audit.js","./node_modules/rxjs/_esm2015/internal/operators/auditTime.js","./node_modules/rxjs/_esm2015/internal/operators/catchError.js","./node_modules/rxjs/_esm2015/internal/operators/concatAll.js","./node_modules/rxjs/_esm2015/internal/operators/concatMap.js","./node_modules/rxjs/_esm2015/internal/operators/debounceTime.js","./node_modules/rxjs/_esm2015/internal/operators/defaultIfEmpty.js","./node_modules/rxjs/_esm2015/internal/operators/distinctUntilChanged.js","./node_modules/rxjs/_esm2015/internal/operators/filter.js","./node_modules/rxjs/_esm2015/internal/operators/finalize.js","./node_modules/rxjs/_esm2015/internal/operators/first.js","./node_modules/rxjs/_esm2015/internal/operators/last.js","./node_modules/rxjs/_esm2015/internal/operators/map.js","./node_modules/rxjs/_esm2015/internal/operators/mergeAll.js","./node_modules/rxjs/_esm2015/internal/operators/mergeMap.js","./node_modules/rxjs/_esm2015/internal/operators/multicast.js","./node_modules/rxjs/_esm2015/internal/operators/observeOn.js","./node_modules/rxjs/_esm2015/internal/operators/pairwise.js","./node_modules/rxjs/_esm2015/internal/operators/refCount.js","./node_modules/rxjs/_esm2015/internal/operators/scan.js","./node_modules/rxjs/_esm2015/internal/operators/share.js","./node_modules/rxjs/_esm2015/internal/operators/shareReplay.js","./node_modules/rxjs/_esm2015/internal/operators/skip.js","./node_modules/rxjs/_esm2015/internal/operators/startWith.js","./node_modules/rxjs/_esm2015/internal/operators/switchMap.js","./node_modules/rxjs/_esm2015/internal/operators/take.js","./node_modules/rxjs/_esm2015/internal/operators/takeLast.js","./node_modules/rxjs/_esm2015/internal/operators/takeUntil.js","./node_modules/rxjs/_esm2015/internal/operators/takeWhile.js","./node_modules/rxjs/_esm2015/internal/operators/tap.js","./node_modules/rxjs/_esm2015/internal/operators/throwIfEmpty.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduleArray.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduleIterable.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduleObservable.js","./node_modules/rxjs/_esm2015/internal/scheduled/schedulePromise.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduled.js","./node_modules/rxjs/_esm2015/internal/scheduler/Action.js","./node_modules/rxjs/_esm2015/internal/scheduler/AnimationFrameAction.js","./node_modules/rxjs/_esm2015/internal/scheduler/AnimationFrameScheduler.js","./node_modules/rxjs/_esm2015/internal/scheduler/AsapAction.js","./node_modules/rxjs/_esm2015/internal/scheduler/AsapScheduler.js","./node_modules/rxjs/_esm2015/internal/scheduler/AsyncAction.js","./node_modules/rxjs/_esm2015/internal/scheduler/AsyncScheduler.js","./node_modules/rxjs/_esm2015/internal/scheduler/QueueAction.js","./node_modules/rxjs/_esm2015/internal/scheduler/QueueScheduler.js","./node_modules/rxjs/_esm2015/internal/scheduler/animationFrame.js","./node_modules/rxjs/_esm2015/internal/scheduler/asap.js","./node_modules/rxjs/_esm2015/internal/scheduler/async.js","./node_modules/rxjs/_esm2015/internal/scheduler/queue.js","./node_modules/rxjs/_esm2015/internal/symbol/iterator.js","./node_modules/rxjs/_esm2015/internal/symbol/observable.js","./node_modules/rxjs/_esm2015/internal/symbol/rxSubscriber.js","./node_modules/rxjs/_esm2015/internal/util/ArgumentOutOfRangeError.js","./node_modules/rxjs/_esm2015/internal/util/EmptyError.js","./node_modules/rxjs/_esm2015/internal/util/Immediate.js","./node_modules/rxjs/_esm2015/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/_esm2015/internal/util/UnsubscriptionError.js","./node_modules/rxjs/_esm2015/internal/util/canReportError.js","./node_modules/rxjs/_esm2015/internal/util/hostReportError.js","./node_modules/rxjs/_esm2015/internal/util/identity.js","./node_modules/rxjs/_esm2015/internal/util/isArray.js","./node_modules/rxjs/_esm2015/internal/util/isArrayLike.js","./node_modules/rxjs/_esm2015/internal/util/isFunction.js","./node_modules/rxjs/_esm2015/internal/util/isInteropObservable.js","./node_modules/rxjs/_esm2015/internal/util/isIterable.js","./node_modules/rxjs/_esm2015/internal/util/isNumeric.js","./node_modules/rxjs/_esm2015/internal/util/isObject.js","./node_modules/rxjs/_esm2015/internal/util/isObservable.js","./node_modules/rxjs/_esm2015/internal/util/isPromise.js","./node_modules/rxjs/_esm2015/internal/util/isScheduler.js","./node_modules/rxjs/_esm2015/internal/util/noop.js","./node_modules/rxjs/_esm2015/internal/util/pipe.js","./node_modules/rxjs/_esm2015/internal/util/subscribeTo.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToArray.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToIterable.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToObservable.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToPromise.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToResult.js","./node_modules/rxjs/_esm2015/internal/util/toSubscriber.js","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/config.interceptor.ts","./src/app/header/header.component.ts","./src/app/header/header.component.html","./src/app/header/header.module.ts","./src/app/shared/components/block-screen/block-screen.component.html","./src/app/shared/components/block-screen/block-screen.component.ts","./src/app/shared/components/confirmation-modal/confirmation-modal.component.ts","./src/app/shared/components/confirmation-modal/confirmation-modal.component.html","./src/app/shared/components/confirmation-modal/confirmation-modal.module.ts","./src/app/shared/components/data-privacy-policy/data-privacy-policy.component.ts","./src/app/shared/components/data-privacy-policy/data-privacy-policy.component.html","./src/app/shared/components/date-picker/date-picker.component.ts","./src/app/shared/components/date-picker/date-picker.component.html","./src/app/shared/components/date-picker/date-picker.module.ts","./src/app/shared/components/dicount-coupon-summary/dicount-coupon-summary.component.ts","./src/app/shared/components/dicount-coupon-summary/dicount-coupon-summary.component.html","./src/app/shared/components/information-modal/information-modal.component.ts","./src/app/shared/components/information-modal/information-modal.component.html","./src/app/shared/components/information-modal/information-modal.module.ts","./src/app/shared/components/loader/loader.component.html","./src/app/shared/components/loader/loader.component.ts","./src/app/shared/components/loader/loader.module.ts","./src/app/shared/components/message-handler/message-handler.component.ts","./src/app/shared/components/message-handler/message-handler.component.html","./src/app/shared/components/message-handler/message-handler.module.ts","./src/app/shared/components/payment-transaction-summary/payment-transaction-summary.component.ts","./src/app/shared/components/payment-transaction-summary/payment-transaction-summary.component.html","./src/app/shared/components/payment.component.ts","./src/app/shared/components/process-info-message/process-info-message.component.ts","./src/app/shared/components/process-info-message/process-info-message.component.html","./src/app/shared/components/process-info-message/process-info-message.module.ts","./src/app/shared/components/secure-site-label/secure-site-label.component.ts","./src/app/shared/components/secure-site-label/secure-site-label.component.html","./src/app/shared/components/shared-message-modal/shared-message-modal.component.ts","./src/app/shared/components/shared-message-modal/shared-message-modal.component.html","./src/app/shared/components/terms-and-conditions/terms-and-conditions.component.ts","./src/app/shared/components/terms-and-conditions/terms-and-conditions.component.html","./src/app/shared/constants/expenses-payment-status.constant.ts","./src/app/shared/constants/globals.constant.ts","./src/app/shared/constants/payments-methods.constants.ts","./src/app/shared/constants/program-referred-terms-and-conditions.constant.ts","./src/app/shared/constants/shared.constant.ts","./src/app/shared/constants/terms-and-conditions.constant.ts","./src/app/shared/constants/worldcup-terms-and-conditions.constant.ts","./src/app/shared/directives/expiration-date/expiration-date.directive.ts","./src/app/shared/directives/input-filter-characters/input-filter-characters.directive.ts","./src/app/shared/directives/input-filter-characters/input-filter-only-leters.directive.ts","./src/app/shared/directives/input-select-all/input-select-all.ts","./src/app/shared/guards/available-service.ts","./src/app/shared/guards/unavailable-service.ts","./src/app/shared/models/expenses-detail.model.ts","./src/app/shared/models/keyboard-code.model.ts","./src/app/shared/models/modal.model.ts","./src/app/shared/models/payment-transaction.model.ts","./src/app/shared/pipes/currency-formatter/currency-formatter.pipe.ts","./src/app/shared/services/app.service.ts","./src/app/shared/services/application-insights-error-handler/application-insights-error-handler.service.ts","./src/app/shared/services/application-insights/application-insights.service.ts","./src/app/shared/services/block-screen/block-screen.service.ts","./src/app/shared/services/http/config.ts","./src/app/shared/services/http/service.ts","./src/app/shared/services/init-payment/init-payment.service.ts","./src/app/shared/services/loader/loader.service.ts","./src/app/shared/services/payment-transaction/payment-transaction.service.ts","./src/app/shared/services/payzen/payzen.service.ts","./src/app/shared/services/toast/toast.service.ts","./src/app/shared/services/wizzard-render/wizzard-render.service.ts","./src/app/shared/shared.module.ts","./src/app/wizard/wizard.component.ts","./src/app/wizard/wizard.component.html","./src/app/wizard/wizard.model.ts","./src/app/wizard/wizard.module.ts","./src/app/wizard/wizard.service.ts","./src/environments/environment.prod.ts","./src/main.ts","/home/circleci/project/node_modules/moment/locale|sync|/^\\.\\/.*$/","./node_modules/ngx-toastr/fesm2015/ngx-toastr.mjs"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","/**\n * @license Angular v12.2.17\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * An injectable service that produces an animation sequence programmatically within an\n * Angular component or directive.\n * Provided by the `BrowserAnimationsModule` or `NoopAnimationsModule`.\n *\n * @usageNotes\n *\n * To use this service, add it to your component or directive as a dependency.\n * The service is instantiated along with your component.\n *\n * Apps do not typically need to create their own animation players, but if you\n * do need to, follow these steps:\n *\n * 1. Use the `build()` method to create a programmatic animation using the\n * `animate()` function. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nclass AnimationBuilder {\n}\n/**\n * A factory object returned from the `AnimationBuilder`.`build()` method.\n *\n * @publicApi\n */\nclass AnimationFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Specifies automatic styling.\n *\n * @publicApi\n */\nconst AUTO_STYLE = '*';\n/**\n * Creates a named animation trigger, containing a list of `state()`\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of `state()`\n * and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n *
...
\n * ```\n *\n * ### Using an inline function\n * The `transition` animation method also supports reading an inline function which can decide\n * if its associated animation should be run.\n *\n * ```typescript\n * // this method is run each time the `myAnimationTrigger` trigger value changes.\n * function myInlineMatcherFn(fromState: string, toState: string, element: any, params: {[key:\n string]: any}): boolean {\n * // notice that `element` and `params` are also available here\n * return toState == 'yes-please-animate';\n * }\n *\n * @Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger('myAnimationTrigger', [\n * transition(myInlineMatcherFn, [\n * // the animation sequence code\n * ]),\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"yes-please-animate\";\n * }\n * ```\n *\n * ### Disabling Animations\n * When true, the special animation control binding `@.disabled` binding prevents\n * all animations from rendering.\n * Place the `@.disabled` binding on an element to disable\n * animations on the element itself, as well as any inner animation triggers\n * within the element.\n *\n * The following example shows how to use this feature:\n *\n * ```typescript\n * @Component({\n * selector: 'my-component',\n * template: `\n *
\n *
\n *
\n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * When `@.disabled` is true, it prevents the `@childAnimation` trigger from animating,\n * along with any inner animations.\n *\n * ### Disable animations application-wide\n * When an area of the template is set to have animations disabled,\n * **all** inner components have their animations disabled as well.\n * This means that you can disable all animations for an app\n * by placing a host binding set on `@.disabled` on the topmost Angular component.\n *\n * ```typescript\n * import {Component, HostBinding} from '@angular/core';\n *\n * @Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * @HostBinding('@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### Overriding disablement of inner animations\n * Despite inner animations being disabled, a parent animation can `query()`\n * for inner elements located in disabled areas of the template and still animate\n * them if needed. This is also the case for when a sub animation is\n * queried by a parent and then later animated using `animateChild()`.\n *\n * ### Detecting when an animation is disabled\n * If a region of the DOM (or the entire application) has its animations disabled, the animation\n * trigger callbacks still fire, but for zero seconds. When the callback fires, it provides\n * an instance of an `AnimationEvent`. If animations are disabled,\n * the `.disabled` flag on the event is true.\n *\n * @publicApi\n */\nfunction trigger(name, definitions) {\n return { type: 7 /* Trigger */, name, definitions, options: {} };\n}\n/**\n * Defines an animation step that combines styling information with timing information.\n *\n * @param timings Sets `AnimateTimings` for the parent animation.\n * A string in the format \"duration [delay] [easing]\".\n * - Duration and delay are expressed as a number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n * - The easing value controls how the animation accelerates and decelerates\n * during its runtime. Value is one of `ease`, `ease-in`, `ease-out`,\n * `ease-in-out`, or a `cubic-bezier()` function call.\n * If not supplied, no easing is applied.\n *\n * For example, the string \"1s 100ms ease-out\" specifies a duration of\n * 1000 milliseconds, and delay of 100 ms, and the \"ease-out\" easing style,\n * which decelerates near the end of the duration.\n * @param styles Sets AnimationStyles for the parent animation.\n * A function call to either `style()` or `keyframes()`\n * that returns a collection of CSS style entries to be applied to the parent animation.\n * When null, uses the styles from the destination state.\n * This is useful when describing an animation step that will complete an animation;\n * see \"Animating to the final state\" in `transitions()`.\n * @returns An object that encapsulates the animation step.\n *\n * @usageNotes\n * Call within an animation `sequence()`, `{@link animations/group group()}`, or\n * `transition()` call to specify an animation step\n * that applies given style data to the parent animation for a given amount of time.\n *\n * ### Syntax Examples\n * **Timing examples**\n *\n * The following examples show various `timings` specifications.\n * - `animate(500)` : Duration is 500 milliseconds.\n * - `animate(\"1s\")` : Duration is 1000 milliseconds.\n * - `animate(\"100ms 0.5s\")` : Duration is 100 milliseconds, delay is 500 milliseconds.\n * - `animate(\"5s ease-in\")` : Duration is 5000 milliseconds, easing in.\n * - `animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\")` : Duration is 5000 milliseconds, delay is 10\n * milliseconds, easing according to a bezier curve.\n *\n * **Style examples**\n *\n * The following example calls `style()` to set a single CSS style.\n * ```typescript\n * animate(500, style({ background: \"red\" }))\n * ```\n * The following example calls `keyframes()` to set a CSS style\n * to different values for successive keyframes.\n * ```typescript\n * animate(500, keyframes(\n * [\n * style({ background: \"blue\" }),\n * style({ background: \"red\" })\n * ])\n * ```\n *\n * @publicApi\n */\nfunction animate(timings, styles = null) {\n return { type: 4 /* Animate */, styles, timings };\n}\n/**\n * @description Defines a list of animation steps to be run in parallel.\n *\n * @param steps An array of animation step objects.\n * - When steps are defined by `style()` or `animate()`\n * function calls, each call within the group is executed instantly.\n * - To specify offset styles to be applied at a later time, define steps with\n * `keyframes()`, or use `animate()` calls with a delay value.\n * For example:\n *\n * ```typescript\n * group([\n * animate(\"1s\", style({ background: \"black\" })),\n * animate(\"2s\", style({ color: \"white\" }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the group data.\n *\n * @usageNotes\n * Grouped animations are useful when a series of styles must be\n * animated at different starting times and closed off at different ending times.\n *\n * When called within a `sequence()` or a\n * `transition()` call, does not continue to the next\n * instruction until all of the inner animation steps have completed.\n *\n * @publicApi\n */\nfunction group(steps, options = null) {\n return { type: 3 /* Group */, steps, options };\n}\n/**\n * Defines a list of animation steps to be run sequentially, one by one.\n *\n * @param steps An array of animation step objects.\n * - Steps defined by `style()` calls apply the styling data immediately.\n * - Steps defined by `animate()` calls apply the styling data over time\n * as specified by the timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 }),\n * animate(\"1s\", style({ opacity: 1 }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the sequence data.\n *\n * @usageNotes\n * When you pass an array of steps to a\n * `transition()` call, the steps run sequentially by default.\n * Compare this to the `{@link animations/group group()}` call, which runs animation steps in\n *parallel.\n *\n * When a sequence is used within a `{@link animations/group group()}` or a `transition()` call,\n * execution continues to the next instruction only after each of the inner animation\n * steps have completed.\n *\n * @publicApi\n **/\nfunction sequence(steps, options = null) {\n return { type: 2 /* Sequence */, steps, options };\n}\n/**\n * Declares a key/value object containing CSS properties/styles that\n * can then be used for an animation `state`, within an animation `sequence`,\n * or as styling data for calls to `animate()` and `keyframes()`.\n *\n * @param tokens A set of CSS styles or HTML styles associated with an animation state.\n * The value can be any of the following:\n * - A key-value style pair associating a CSS property with a value.\n * - An array of key-value style pairs.\n * - An asterisk (*), to use auto-styling, where styles are derived from the element\n * being animated and applied to the animation when it starts.\n *\n * Auto-styling can be used to define a state that depends on layout or other\n * environmental factors.\n *\n * @return An object that encapsulates the style data.\n *\n * @usageNotes\n * The following examples create animation styles that collect a set of\n * CSS property values:\n *\n * ```typescript\n * // string values for CSS properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical pixel values\n * style({ width: 100, height: 0 })\n * ```\n *\n * The following example uses auto-styling to allow a component to animate from\n * a height of 0 up to the height of the parent element:\n *\n * ```\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * @publicApi\n **/\nfunction style(tokens) {\n return { type: 6 /* Style */, styles: tokens, offset: null };\n}\n/**\n * Declares an animation state within a trigger attached to an element.\n *\n * @param name One or more names for the defined state in a comma-separated string.\n * The following reserved state names can be supplied to define a style for specific use\n * cases:\n *\n * - `void` You can associate styles with this name to be used when\n * the element is detached from the application. For example, when an `ngIf` evaluates\n * to false, the state of the associated element is void.\n * - `*` (asterisk) Indicates the default state. You can associate styles with this name\n * to be used as the fallback when the state that is being animated is not declared\n * within the trigger.\n *\n * @param styles A set of CSS styles associated with this state, created using the\n * `style()` function.\n * This set of styles persists on the element once the state has been reached.\n * @param options Parameters that can be passed to the state when it is invoked.\n * 0 or more key-value pairs.\n * @return An object that encapsulates the new state data.\n *\n * @usageNotes\n * Use the `trigger()` function to register states to an animation trigger.\n * Use the `transition()` function to animate between states.\n * When a state is active within a component, its associated styles persist on the element,\n * even when the animation ends.\n *\n * @publicApi\n **/\nfunction state(name, styles, options) {\n return { type: 0 /* State */, name, styles, options };\n}\n/**\n * Defines a set of animation styles, associating each style with an optional `offset` value.\n *\n * @param steps A set of animation styles with optional offset data.\n * The optional `offset` value for a style specifies a percentage of the total animation\n * time at which that style is applied.\n * @returns An object that encapsulates the keyframes data.\n *\n * @usageNotes\n * Use with the `animate()` call. Instead of applying animations\n * from the current state\n * to the destination state, keyframes describe how each style entry is applied and at what point\n * within the animation arc.\n * Compare [CSS Keyframe Animations](https://www.w3schools.com/css/css3_animations.asp).\n *\n * ### Usage\n *\n * In the following example, the offset values describe\n * when each `backgroundColor` value is applied. The color is red at the start, and changes to\n * blue when 20% of the total time has elapsed.\n *\n * ```typescript\n * // the provided offset values\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * If there are no `offset` values specified in the style entries, the offsets\n * are calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n *```\n\n * @publicApi\n */\nfunction keyframes(steps) {\n return { type: 5 /* Keyframes */, steps };\n}\n/**\n * Declares an animation transition as a sequence of animation steps to run when a given\n * condition is satisfied. The condition is a Boolean expression or function that compares\n * the previous and current animation states, and returns true if this transition should occur.\n * When the state criteria of a defined transition are met, the associated animation is\n * triggered.\n *\n * @param stateChangeExpr A Boolean expression or function that compares the previous and current\n * animation states, and returns true if this transition should occur. Note that \"true\" and \"false\"\n * match 1 and 0, respectively. An expression is evaluated each time a state change occurs in the\n * animation trigger element.\n * The animation steps run when the expression evaluates to true.\n *\n * - A state-change string takes the form \"state1 => state2\", where each side is a defined animation\n * state, or an asterix (*) to refer to a dynamic start or end state.\n * - The expression string can contain multiple comma-separated statements;\n * for example \"state1 => state2, state3 => state4\".\n * - Special values `:enter` and `:leave` initiate a transition on the entry and exit states,\n * equivalent to \"void => *\" and \"* => void\".\n * - Special values `:increment` and `:decrement` initiate a transition when a numeric value has\n * increased or decreased in value.\n * - A function is executed each time a state change occurs in the animation trigger element.\n * The animation steps run when the function returns true.\n *\n * @param steps One or more animation objects, as returned by the `animate()` or\n * `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the animation,\n * and additional developer-defined parameters. Provided values for additional parameters are used\n * as defaults, and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the transition data.\n *\n * @usageNotes\n * The template associated with a component binds an animation trigger to an element.\n *\n * ```HTML\n * \n *
...
\n * ```\n *\n * All transitions are defined within an animation trigger,\n * along with named states that the transitions change to and from.\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * // define states\n * state(\"on\", style({ background: \"green\" })),\n * state(\"off\", style({ background: \"grey\" })),\n * ...]\n * ```\n *\n * Note that when you call the `sequence()` function within a `{@link animations/group group()}`\n * or a `transition()` call, execution does not continue to the next instruction\n * until each of the inner animation steps have completed.\n *\n * ### Syntax examples\n *\n * The following examples define transitions between the two defined states (and default states),\n * using various options:\n *\n * ```typescript\n * // Transition occurs when the state value\n * // bound to \"myAnimationTrigger\" changes from \"on\" to \"off\"\n * transition(\"on => off\", animate(500))\n * // Run the same animation for both directions\n * transition(\"on <=> off\", animate(500))\n * // Define multiple state-change pairs separated by commas\n * transition(\"on => off, off => void\", animate(500))\n * ```\n *\n * ### Special values for state-change expressions\n *\n * - Catch-all state change for when an element is inserted into the page and the\n * destination state is unknown:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n *\n * - Capture a state change between any states:\n *\n * `transition(\"* => *\", animate(\"1s 0s\"))`\n *\n * - Entry and exit transitions:\n *\n * ```typescript\n * transition(\":enter\", [\n * style({ opacity: 0 }),\n * animate(500, style({ opacity: 1 }))\n * ]),\n * transition(\":leave\", [\n * animate(500, style({ opacity: 0 }))\n * ])\n * ```\n *\n * - Use `:increment` and `:decrement` to initiate transitions:\n *\n * ```typescript\n * transition(\":increment\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n *\n * transition(\":decrement\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n * ```\n *\n * ### State-change functions\n *\n * Here is an example of a `fromState` specified as a state-change function that invokes an\n * animation when true:\n *\n * ```typescript\n * transition((fromState, toState) =>\n * {\n * return fromState == \"off\" && toState == \"on\";\n * },\n * animate(\"1s 0s\"))\n * ```\n *\n * ### Animating to the final state\n *\n * If the final step in a transition is a call to `animate()` that uses a timing value\n * with no style data, that step is automatically considered the final animation arc,\n * for the element to reach the final state. Angular automatically adds or removes\n * CSS styles to ensure that the element is in the correct final state.\n *\n * The following example defines a transition that starts by hiding the element,\n * then makes sure that it animates properly to whatever state is currently active for trigger:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n * ### Boolean value matching\n * If a trigger binding value is a Boolean, it can be matched using a transition expression\n * that compares true and false or 1 and 0. For example:\n *\n * ```\n * // in the template\n *
...
\n * // in the component metadata\n * trigger('openClose', [\n * state('true', style({ height: '*' })),\n * state('false', style({ height: '0px' })),\n * transition('false <=> true', animate(500))\n * ])\n * ```\n *\n * @publicApi\n **/\nfunction transition(stateChangeExpr, steps, options = null) {\n return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options };\n}\n/**\n * Produces a reusable animation that can be invoked in another animation or sequence,\n * by calling the `useAnimation()` function.\n *\n * @param steps One or more animation objects, as returned by the `animate()`\n * or `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional developer-defined parameters.\n * Provided values for additional parameters are used as defaults,\n * and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the animation data.\n *\n * @usageNotes\n * The following example defines a reusable animation, providing some default parameter\n * values.\n *\n * ```typescript\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ],\n * { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * The following invokes the defined animation with a call to `useAnimation()`,\n * passing in override parameter values.\n *\n * ```js\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If any of the passed-in parameter values are missing from this call,\n * the default values are used. If one or more parameter values are missing before a step is\n * animated, `useAnimation()` throws an error.\n *\n * @publicApi\n */\nfunction animation(steps, options = null) {\n return { type: 8 /* Reference */, animation: steps, options };\n}\n/**\n * Executes a queried inner animation element within an animation sequence.\n *\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional override values for developer-defined parameters.\n * @return An object that encapsulates the child animation data.\n *\n * @usageNotes\n * Each time an animation is triggered in Angular, the parent animation\n * has priority and any child animations are blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations, and run them using this function.\n *\n * Note that this feature is designed to be used with `query()` and it will only work\n * with animations that are assigned using the Angular animation library. CSS keyframes\n * and transitions are not handled by this API.\n *\n * @publicApi\n */\nfunction animateChild(options = null) {\n return { type: 9 /* AnimateChild */, options };\n}\n/**\n * Starts a reusable animation that is created using the `animation()` function.\n *\n * @param animation The reusable animation to start.\n * @param options An options object that can contain a delay value for the start of\n * the animation, and additional override values for developer-defined parameters.\n * @return An object that contains the animation parameters.\n *\n * @publicApi\n */\nfunction useAnimation(animation, options = null) {\n return { type: 10 /* AnimateRef */, animation, options };\n}\n/**\n * Finds one or more inner elements within the current element that is\n * being animated within a sequence. Use with `animate()`.\n *\n * @param selector The element to query, or a set of elements that contain Angular-specific\n * characteristics, specified with one or more of the following tokens.\n * - `query(\":enter\")` or `query(\":leave\")` : Query for newly inserted/removed elements.\n * - `query(\":animating\")` : Query all currently animating elements.\n * - `query(\"@triggerName\")` : Query elements that contain an animation trigger.\n * - `query(\"@*\")` : Query all elements that contain an animation triggers.\n * - `query(\":self\")` : Include the current element into the animation sequence.\n *\n * @param animation One or more animation steps to apply to the queried element or elements.\n * An array is treated as an animation sequence.\n * @param options An options object. Use the 'limit' field to limit the total number of\n * items to collect.\n * @return An object that encapsulates the query data.\n *\n * @usageNotes\n * Tokens can be merged into a combined query selector string. For example:\n *\n * ```typescript\n * query(':self, .record:enter, .record:leave, @subTrigger', [...])\n * ```\n *\n * The `query()` function collects multiple elements and works internally by using\n * `element.querySelectorAll`. Use the `limit` field of an options object to limit\n * the total number of items to be collected. For example:\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * By default, throws an error when zero items are found. Set the\n * `optional` flag to ignore this error. For example:\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Usage Example\n *\n * The following example queries for inner elements and animates them\n * individually using `animate()`.\n *\n * ```typescript\n * @Component({\n * selector: 'inner',\n * template: `\n *
\n *

Title

\n *
\n * Blah blah blah\n *
\n *
\n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 }))),\n * query('.content', animate(1000, style({ opacity: 1 }))),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * @publicApi\n */\nfunction query(selector, animation, options = null) {\n return { type: 11 /* Query */, selector, animation, options };\n}\n/**\n * Use within an animation `query()` call to issue a timing gap after\n * each queried item is animated.\n *\n * @param timings A delay value.\n * @param animation One ore more animation steps.\n * @returns An object that encapsulates the stagger data.\n *\n * @usageNotes\n * In the following example, a container element wraps a list of items stamped out\n * by an `ngFor`. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * Each time items are added, the opacity fade-in animation runs,\n * and each removed item is faded out.\n * When either of these animations occur, the stagger effect is\n * applied after each item's animation is started.\n *\n * ```html\n * \n * \n *
\n *
\n *
\n * {{ item }}\n *
\n *
\n * ```\n *\n * Here is the component code:\n *\n * ```typescript\n * import {trigger, transition, style, animate, query, stagger} from '@angular/animations';\n * @Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * ...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * Here is the animation trigger code:\n *\n * ```typescript\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * @publicApi\n */\nfunction stagger(timings, animation) {\n return { type: 12 /* Stagger */, timings, animation };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction scheduleMicroTask(cb) {\n Promise.resolve(null).then(cb);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see `animate()`\n * @see `AnimationPlayer`\n * @see `GroupPlayer`\n *\n * @publicApi\n */\nclass NoopAnimationPlayer {\n constructor(duration = 0, delay = 0) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._started = false;\n this._destroyed = false;\n this._finished = false;\n this._position = 0;\n this.parentPlayer = null;\n this.totalTime = duration + delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n init() { }\n play() {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n /** @internal */\n triggerMicrotask() {\n scheduleMicroTask(() => this._onFinish());\n }\n _onStart() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n pause() { }\n restart() { }\n finish() {\n this._onFinish();\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this._started = false;\n }\n setPosition(position) {\n this._position = this.totalTime ? position * this.totalTime : 1;\n }\n getPosition() {\n return this.totalTime ? this._position / this.totalTime : 1;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see `AnimationPlayer`\n * @see `{@link animations/group group()}`\n *\n */\nclass AnimationGroupPlayer {\n constructor(_players) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this._onDestroyFns = [];\n this.parentPlayer = null;\n this.totalTime = 0;\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n if (total == 0) {\n scheduleMicroTask(() => this._onFinish());\n }\n else {\n this.players.forEach(player => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this.players.forEach(player => player.init());\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach(player => player.play());\n }\n pause() {\n this.players.forEach(player => player.pause());\n }\n restart() {\n this.players.forEach(player => player.restart());\n }\n finish() {\n this._onFinish();\n this.players.forEach(player => player.finish());\n }\n destroy() {\n this._onDestroy();\n }\n _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach(player => player.destroy());\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this.players.forEach(player => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n setPosition(p) {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach(player => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n getPosition() {\n const longestPlayer = this.players.reduce((longestSoFar, player) => {\n const newPlayerIsLongest = longestSoFar === null || player.totalTime > longestSoFar.totalTime;\n return newPlayerIsLongest ? player : longestSoFar;\n }, null);\n return longestPlayer != null ? longestPlayer.getPosition() : 0;\n }\n beforeDestroy() {\n this.players.forEach(player => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ɵPRE_STYLE = '!';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AUTO_STYLE, AnimationBuilder, AnimationFactory, NoopAnimationPlayer, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, AnimationGroupPlayer as ɵAnimationGroupPlayer, ɵPRE_STYLE };\n\n","/**\n * @license Angular v12.2.17\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵAnimationGroupPlayer, NoopAnimationPlayer, AUTO_STYLE, ɵPRE_STYLE, sequence, style } from '@angular/animations';\nimport { Injectable } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as ɵngcc0 from '@angular/core';\nfunction isBrowser() {\n return (typeof window !== 'undefined' && typeof window.document !== 'undefined');\n}\nfunction isNode() {\n // Checking only for `process` isn't enough to identify whether or not we're in a Node\n // environment, because Webpack by default will polyfill the `process`. While we can discern\n // that Webpack polyfilled it by looking at `process.browser`, it's very Webpack-specific and\n // might not be future-proof. Instead we look at the stringified version of `process` which\n // is `[object process]` in Node and `[object Object]` when polyfilled.\n return typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n}\nfunction optimizeGroupPlayer(players) {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\nfunction normalizeKeyframes(driver, normalizer, element, keyframes, preStyles = {}, postStyles = {}) {\n const errors = [];\n const normalizedKeyframes = [];\n let previousOffset = -1;\n let previousKeyframe = null;\n keyframes.forEach(kf => {\n const offset = kf['offset'];\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe = (isSameOffset && previousKeyframe) || {};\n Object.keys(kf).forEach(prop => {\n let normalizedProp = prop;\n let normalizedValue = kf[prop];\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case ɵPRE_STYLE:\n normalizedValue = preStyles[prop];\n break;\n case AUTO_STYLE:\n normalizedValue = postStyles[prop];\n break;\n default:\n normalizedValue =\n normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe[normalizedProp] = normalizedValue;\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n const LINE_START = '\\n - ';\n throw new Error(`Unable to animate due to the following errors:${LINE_START}${errors.join(LINE_START)}`);\n }\n return normalizedKeyframes;\n}\nfunction listenOnPlayer(player, eventName, event, callback) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\nfunction copyAnimationEvent(e, phaseName, player) {\n const totalTime = player.totalTime;\n const disabled = player.disabled ? true : false;\n const event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = e['_data'];\n if (data != null) {\n event['_data'] = data;\n }\n return event;\n}\nfunction makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0, disabled) {\n return { element, triggerName, fromState, toState, phaseName, totalTime, disabled: !!disabled };\n}\nfunction getOrSetAsInMap(map, key, defaultValue) {\n let value;\n if (map instanceof Map) {\n value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n }\n else {\n value = map[key];\n if (!value) {\n value = map[key] = defaultValue;\n }\n }\n return value;\n}\nfunction parseTimelineCommand(command) {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.substr(separatorPos + 1);\n return [id, action];\n}\nlet _contains = (elm1, elm2) => false;\nconst ɵ0 = _contains;\nlet _matches = (element, selector) => false;\nconst ɵ1 = _matches;\nlet _query = (element, selector, multi) => {\n return [];\n};\nconst ɵ2 = _query;\n// Define utility methods for browsers and platform-server(domino) where Element\n// and utility methods exist.\nconst _isNode = isNode();\nif (_isNode || typeof Element !== 'undefined') {\n if (!isBrowser()) {\n _contains = (elm1, elm2) => elm1.contains(elm2);\n }\n else {\n _contains = (elm1, elm2) => {\n while (elm2 && elm2 !== document.documentElement) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = elm2.parentNode || elm2.host; // consider host to support shadow DOM\n }\n return false;\n };\n }\n _matches = (() => {\n if (_isNode || Element.prototype.matches) {\n return (element, selector) => element.matches(selector);\n }\n else {\n const proto = Element.prototype;\n const fn = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||\n proto.oMatchesSelector || proto.webkitMatchesSelector;\n if (fn) {\n return (element, selector) => fn.apply(element, [selector]);\n }\n else {\n return _matches;\n }\n }\n })();\n _query = (element, selector, multi) => {\n let results = [];\n if (multi) {\n // DO NOT REFACTOR TO USE SPREAD SYNTAX.\n // For element queries that return sufficiently large NodeList objects,\n // using spread syntax to populate the results array causes a RangeError\n // due to the call stack limit being reached. `Array.from` can not be used\n // as well, since NodeList is not iterable in IE 11, see\n // https://developer.mozilla.org/en-US/docs/Web/API/NodeList\n // More info is available in #38551.\n const elems = element.querySelectorAll(selector);\n for (let i = 0; i < elems.length; i++) {\n results.push(elems[i]);\n }\n }\n else {\n const elm = element.querySelector(selector);\n if (elm) {\n results.push(elm);\n }\n }\n return results;\n };\n}\nfunction containsVendorPrefix(prop) {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet _CACHED_BODY = null;\nlet _IS_WEBKIT = false;\nfunction validateStyleProperty(prop) {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY.style ? ('WebkitAppearance' in _CACHED_BODY.style) : false;\n }\n let result = true;\n if (_CACHED_BODY.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);\n result = camelProp in _CACHED_BODY.style;\n }\n }\n return result;\n}\nfunction getBodyNode() {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\nconst matchesElement = _matches;\nconst containsElement = _contains;\nconst invokeQuery = _query;\nfunction hypenatePropsObject(object) {\n const newObj = {};\n Object.keys(object).forEach(prop => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newObj[newProp] = object[prop];\n });\n return newObj;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NoopAnimationDriver {\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(element, selector) {\n return matchesElement(element, selector);\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return defaultValue || '';\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n return new NoopAnimationPlayer(duration, delay);\n }\n}\nNoopAnimationDriver.ɵfac = function NoopAnimationDriver_Factory(t) { return new (t || NoopAnimationDriver)(); };\nNoopAnimationDriver.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: NoopAnimationDriver, factory: NoopAnimationDriver.ɵfac });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NoopAnimationDriver, [{\n type: Injectable\n }], null, null); })();\n/**\n * @publicApi\n */\nclass AnimationDriver {\n}\nAnimationDriver.NOOP = ( /* @__PURE__ */new NoopAnimationDriver());\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_SECOND = 1000;\nconst SUBSTITUTION_EXPR_START = '{{';\nconst SUBSTITUTION_EXPR_END = '}}';\nconst ENTER_CLASSNAME = 'ng-enter';\nconst LEAVE_CLASSNAME = 'ng-leave';\nconst ENTER_SELECTOR = '.ng-enter';\nconst LEAVE_SELECTOR = '.ng-leave';\nconst NG_TRIGGER_CLASSNAME = 'ng-trigger';\nconst NG_TRIGGER_SELECTOR = '.ng-trigger';\nconst NG_ANIMATING_CLASSNAME = 'ng-animating';\nconst NG_ANIMATING_SELECTOR = '.ng-animating';\nfunction resolveTimingValue(value) {\n if (typeof value == 'number')\n return value;\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2)\n return 0;\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\nfunction _convertTimeValueToMS(value, unit) {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default: // ms or something else\n return value;\n }\n}\nfunction resolveTiming(timings, errors, allowNegativeValues) {\n return timings.hasOwnProperty('duration') ?\n timings :\n parseTimeExpression(timings, errors, allowNegativeValues);\n}\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration;\n let delay = 0;\n let easing = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(`The provided timing value \"${exp}\" is invalid.`);\n return { duration: 0, delay: 0, easing: '' };\n }\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n }\n else {\n duration = exp;\n }\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(`Duration values below 0 are not allowed for this animation step.`);\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(`Delay values below 0 are not allowed for this animation step.`);\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, `The provided timing value \"${exp}\" is invalid.`);\n }\n }\n return { duration, delay, easing };\n}\nfunction copyObj(obj, destination = {}) {\n Object.keys(obj).forEach(prop => {\n destination[prop] = obj[prop];\n });\n return destination;\n}\nfunction normalizeStyles(styles) {\n const normalizedStyles = {};\n if (Array.isArray(styles)) {\n styles.forEach(data => copyStyles(data, false, normalizedStyles));\n }\n else {\n copyStyles(styles, false, normalizedStyles);\n }\n return normalizedStyles;\n}\nfunction copyStyles(styles, readPrototype, destination = {}) {\n if (readPrototype) {\n // we make use of a for-in loop so that the\n // prototypically inherited properties are\n // revealed from the backFill map\n for (let prop in styles) {\n destination[prop] = styles[prop];\n }\n }\n else {\n copyObj(styles, destination);\n }\n return destination;\n}\nfunction getStyleAttributeString(element, key, value) {\n // Return the key-value pair string to be added to the style attribute for the\n // given CSS style key.\n if (value) {\n return key + ':' + value + ';';\n }\n else {\n return '';\n }\n}\nfunction writeStyleAttribute(element) {\n // Read the style property of the element and manually reflect it to the\n // style attribute. This is needed because Domino on platform-server doesn't\n // understand the full set of allowed CSS properties and doesn't reflect some\n // of them automatically.\n let styleAttrValue = '';\n for (let i = 0; i < element.style.length; i++) {\n const key = element.style.item(i);\n styleAttrValue += getStyleAttributeString(element, key, element.style.getPropertyValue(key));\n }\n for (const key in element.style) {\n // Skip internal Domino properties that don't need to be reflected.\n if (!element.style.hasOwnProperty(key) || key.startsWith('_')) {\n continue;\n }\n const dashKey = camelCaseToDashCase(key);\n styleAttrValue += getStyleAttributeString(element, dashKey, element.style[key]);\n }\n element.setAttribute('style', styleAttrValue);\n}\nfunction setStyles(element, styles, formerStyles) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.hasOwnProperty(prop)) {\n formerStyles[prop] = element.style[camelProp];\n }\n element.style[camelProp] = styles[prop];\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction eraseStyles(element, styles) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction normalizeAnimationEntry(steps) {\n if (Array.isArray(steps)) {\n if (steps.length == 1)\n return steps[0];\n return sequence(steps);\n }\n return steps;\n}\nfunction validateStyleParams(value, options, errors) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(`Unable to resolve the local animation param ${varName} in the given list of values`);\n }\n });\n }\n}\nconst PARAM_REGEX = new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nfunction extractStyleParams(value) {\n let params = [];\n if (typeof value === 'string') {\n let match;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1]);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\nfunction interpolateParams(value, params, errors) {\n const original = value.toString();\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (!params.hasOwnProperty(varName)) {\n errors.push(`Please provide a value for the animation param ${varName}`);\n localVal = '';\n }\n return localVal.toString();\n });\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\nfunction iteratorToArray(iterator) {\n const arr = [];\n let item = iterator.next();\n while (!item.done) {\n arr.push(item.value);\n item = iterator.next();\n }\n return arr;\n}\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction camelCaseToDashCase(input) {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n return duration === 0 || delay === 0;\n}\nfunction balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles) {\n const previousStyleProps = Object.keys(previousStyles);\n if (previousStyleProps.length && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps = [];\n previousStyleProps.forEach(prop => {\n if (!startingKeyframe.hasOwnProperty(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe[prop] = previousStyles[prop];\n });\n if (missingStyleProps.length) {\n // tslint:disable-next-line\n for (var i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(function (prop) {\n kf[prop] = computeStyle(element, prop);\n });\n }\n }\n }\n return keyframes;\n}\nfunction visitDslNode(visitor, node, context) {\n switch (node.type) {\n case 7 /* Trigger */:\n return visitor.visitTrigger(node, context);\n case 0 /* State */:\n return visitor.visitState(node, context);\n case 1 /* Transition */:\n return visitor.visitTransition(node, context);\n case 2 /* Sequence */:\n return visitor.visitSequence(node, context);\n case 3 /* Group */:\n return visitor.visitGroup(node, context);\n case 4 /* Animate */:\n return visitor.visitAnimate(node, context);\n case 5 /* Keyframes */:\n return visitor.visitKeyframes(node, context);\n case 6 /* Style */:\n return visitor.visitStyle(node, context);\n case 8 /* Reference */:\n return visitor.visitReference(node, context);\n case 9 /* AnimateChild */:\n return visitor.visitAnimateChild(node, context);\n case 10 /* AnimateRef */:\n return visitor.visitAnimateRef(node, context);\n case 11 /* Query */:\n return visitor.visitQuery(node, context);\n case 12 /* Stagger */:\n return visitor.visitStagger(node, context);\n default:\n throw new Error(`Unable to resolve animation metadata node #${node.type}`);\n }\n}\nfunction computeStyle(element, prop) {\n return window.getComputedStyle(element)[prop];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ANY_STATE = '*';\nfunction parseTransitionExpr(transitionValue, errors) {\n const expressions = [];\n if (typeof transitionValue == 'string') {\n transitionValue.split(/\\s*,\\s*/).forEach(str => parseInnerTransitionStr(str, expressions, errors));\n }\n else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*()\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(`The provided transition expression \"${eventStr}\" is not supported`);\n return expressions;\n }\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n}\nfunction parseAnimationAlias(alias, errors) {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(`The transition alias value \"${alias}\" is not supported`);\n return '* => *';\n }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\nfunction makeLambdaFromStates(lhs, rhs) {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n return (fromState, toState) => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n return lhsMatch && rhsMatch;\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = new RegExp(`\\s*${SELF_TOKEN}\\s*,?`, 'g');\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nfunction buildAnimationAst(driver, metadata, errors) {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors);\n}\nconst ROOT_SELECTOR = '';\nclass AnimationAstBuilderVisitor {\n constructor(_driver) {\n this._driver = _driver;\n }\n build(metadata, errors) {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n return visitDslNode(this, normalizeAnimationEntry(metadata), context);\n }\n _resetContextStyleTimingState(context) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = {};\n context.collectedStyles[ROOT_SELECTOR] = {};\n context.currentTime = 0;\n }\n visitTrigger(metadata, context) {\n let queryCount = context.queryCount = 0;\n let depCount = context.depCount = 0;\n const states = [];\n const transitions = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push('animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n }\n metadata.definitions.forEach(def => {\n this._resetContextStyleTimingState(context);\n if (def.type == 0 /* State */) {\n const stateDef = def;\n const name = stateDef.name;\n name.toString().split(/\\s*,\\s*/).forEach(n => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n }\n else if (def.type == 1 /* Transition */) {\n const transition = this.visitTransition(def, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n }\n else {\n context.errors.push('only state() and transition() definitions can sit inside of a trigger()');\n }\n });\n return {\n type: 7 /* Trigger */,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null\n };\n }\n visitState(metadata, context) {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = (metadata.options && metadata.options.params) || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach(value => {\n if (isObject(value)) {\n const stylesObj = value;\n Object.keys(stylesObj).forEach(prop => {\n extractStyleParams(stylesObj[prop]).forEach(sub => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n const missingSubsArr = iteratorToArray(missingSubs.values());\n context.errors.push(`state(\"${metadata\n .name}\", ...) must define default values for all the following style substitutions: ${missingSubsArr.join(', ')}`);\n }\n }\n return {\n type: 0 /* State */,\n name: metadata.name,\n style: styleAst,\n options: astParams ? { params: astParams } : null\n };\n }\n visitTransition(metadata, context) {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n return {\n type: 1 /* Transition */,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitSequence(metadata, context) {\n return {\n type: 2 /* Sequence */,\n steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitGroup(metadata, context) {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map(step => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n context.currentTime = furthestTime;\n return {\n type: 3 /* Group */,\n steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimate(metadata, context) {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n let styleAst;\n let styleMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == 5 /* Keyframes */) {\n styleAst = this.visitKeyframes(styleMetadata, context);\n }\n else {\n let styleMetadata = metadata.styles;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n context.currentAnimateTimings = null;\n return {\n type: 4 /* Animate */,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n }\n visitStyle(metadata, context) {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n _makeStyleAst(metadata, context) {\n const styles = [];\n if (Array.isArray(metadata.styles)) {\n metadata.styles.forEach(styleTuple => {\n if (typeof styleTuple == 'string') {\n if (styleTuple == AUTO_STYLE) {\n styles.push(styleTuple);\n }\n else {\n context.errors.push(`The provided style string value ${styleTuple} is not allowed.`);\n }\n }\n else {\n styles.push(styleTuple);\n }\n });\n }\n else {\n styles.push(metadata.styles);\n }\n let containsDynamicStyles = false;\n let collectedEasing = null;\n styles.forEach(styleData => {\n if (isObject(styleData)) {\n const styleMap = styleData;\n const easing = styleMap['easing'];\n if (easing) {\n collectedEasing = easing;\n delete styleMap['easing'];\n }\n if (!containsDynamicStyles) {\n for (let prop in styleMap) {\n const value = styleMap[prop];\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n return {\n type: 6 /* Style */,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null\n };\n }\n _validateStyleAst(ast, context) {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n ast.styles.forEach(tuple => {\n if (typeof tuple == 'string')\n return;\n Object.keys(tuple).forEach(prop => {\n if (!this._driver.validateStyleProperty(prop)) {\n context.errors.push(`The provided animation property \"${prop}\" is not a supported CSS property for animations`);\n return;\n }\n const collectedStyles = context.collectedStyles[context.currentQuerySelector];\n const collectedEntry = collectedStyles[prop];\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime &&\n endTime <= collectedEntry.endTime) {\n context.errors.push(`The CSS property \"${prop}\" that exists between the times of \"${collectedEntry.startTime}ms\" and \"${collectedEntry\n .endTime}ms\" is also being animated in a parallel animation between the times of \"${startTime}ms\" and \"${endTime}ms\"`);\n updateCollectedStyle = false;\n }\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n if (updateCollectedStyle) {\n collectedStyles[prop] = { startTime, endTime };\n }\n if (context.options) {\n validateStyleParams(tuple[prop], context.options, context.errors);\n }\n });\n });\n }\n visitKeyframes(metadata, context) {\n const ast = { type: 5 /* Keyframes */, styles: [], options: null };\n if (!context.currentAnimateTimings) {\n context.errors.push(`keyframes() must be placed inside of a call to animate()`);\n return ast;\n }\n const MAX_KEYFRAME_OFFSET = 1;\n let totalKeyframesWithOffsets = 0;\n const offsets = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset = 0;\n const keyframes = metadata.steps.map(styles => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n if (keyframesOutOfRange) {\n context.errors.push(`Please ensure that all keyframe offsets are between 0 and 1`);\n }\n if (offsetsOutOfOrder) {\n context.errors.push(`Please ensure that all keyframe offsets are in order`);\n }\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(`Not all style() steps within the declared keyframes() contain offsets`);\n }\n else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n ast.styles.push(kf);\n });\n return ast;\n }\n visitReference(metadata, context) {\n return {\n type: 8 /* Reference */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateChild(metadata, context) {\n context.depCount++;\n return {\n type: 9 /* AnimateChild */,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateRef(metadata, context) {\n return {\n type: 10 /* AnimateRef */,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitQuery(metadata, context) {\n const parentSelector = context.currentQuerySelector;\n const options = (metadata.options || {});\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector =\n parentSelector.length ? (parentSelector + ' ' + selector) : selector;\n getOrSetAsInMap(context.collectedStyles, context.currentQuerySelector, {});\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n return {\n type: 11 /* Query */,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitStagger(metadata, context) {\n if (!context.currentQuery) {\n context.errors.push(`stagger() can only be used inside of query()`);\n }\n const timings = metadata.timings === 'full' ?\n { duration: 0, delay: 0, easing: 'full' } :\n resolveTiming(metadata.timings, context.errors, true);\n return {\n type: 12 /* Stagger */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null\n };\n }\n}\nfunction normalizeSelector(selector) {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n // the :enter and :leave selectors are filled in at runtime during timeline building\n selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n .replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.substr(1))\n .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n return [selector, hasAmpersand];\n}\nfunction normalizeParams(obj) {\n return obj ? copyObj(obj) : null;\n}\nclass AnimationAstBuilderContext {\n constructor(errors) {\n this.errors = errors;\n this.queryCount = 0;\n this.depCount = 0;\n this.currentTransition = null;\n this.currentQuery = null;\n this.currentQuerySelector = null;\n this.currentAnimateTimings = null;\n this.currentTime = 0;\n this.collectedStyles = {};\n this.options = null;\n }\n}\nfunction consumeOffset(styles) {\n if (typeof styles == 'string')\n return null;\n let offset = null;\n if (Array.isArray(styles)) {\n styles.forEach(styleTuple => {\n if (isObject(styleTuple) && styleTuple.hasOwnProperty('offset')) {\n const obj = styleTuple;\n offset = parseFloat(obj['offset']);\n delete obj['offset'];\n }\n });\n }\n else if (isObject(styles) && styles.hasOwnProperty('offset')) {\n const obj = styles;\n offset = parseFloat(obj['offset']);\n delete obj['offset'];\n }\n return offset;\n}\nfunction isObject(value) {\n return !Array.isArray(value) && typeof value == 'object';\n}\nfunction constructTimingAst(value, errors) {\n let timings = null;\n if (value.hasOwnProperty('duration')) {\n timings = value;\n }\n else if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n const strValue = value;\n const isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '');\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast;\n }\n timings = timings || resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\nfunction normalizeAnimationOptions(options) {\n if (options) {\n options = copyObj(options);\n if (options['params']) {\n options['params'] = normalizeParams(options['params']);\n }\n }\n else {\n options = {};\n }\n return options;\n}\nfunction makeTimingAst(duration, delay, easing) {\n return { duration, delay, easing };\n}\n\nfunction createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {\n return {\n type: 1 /* TimelineAnimation */,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline\n };\n}\n\nclass ElementInstructionMap {\n constructor() {\n this._map = new Map();\n }\n consume(element) {\n let instructions = this._map.get(element);\n if (instructions) {\n this._map.delete(element);\n }\n else {\n instructions = [];\n }\n return instructions;\n }\n append(element, instructions) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push(...instructions);\n }\n has(element) {\n return this._map.has(element);\n }\n clear() {\n this._map.clear();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of prototypical inheritance, AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two wihtin a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergesort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill object. Given that each of the keyframe\n * styles are objects that prototypically inhert from the backFill object, this means that if a\n * value is added into the backFill then it will automatically propagate any missing values to all\n * keyframes. Therefore the missing `height` value will be properly filled into the already\n * processed keyframes.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * (For prototypically-inherited contents to be detected a `for(i in obj)` loop must be used.)\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nfunction buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = {}, finalStyles = {}, options, subInstructions, errors = []) {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nclass AnimationTimelineBuilderVisitor {\n buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n visitDslNode(this, ast, context);\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n if (timelines.length && Object.keys(finalStyles).length) {\n const tl = timelines[timelines.length - 1];\n if (!tl.allowOnlyTimelineStyles()) {\n tl.setStyles([finalStyles], null, context.errors, options);\n }\n }\n return timelines.length ? timelines.map(timeline => timeline.buildKeyframes()) :\n [createTimelineInstruction(rootElement, [], [], [], 0, 0, '', false)];\n }\n visitTrigger(ast, context) {\n // these values are not visited in this AST\n }\n visitState(ast, context) {\n // these values are not visited in this AST\n }\n visitTransition(ast, context) {\n // these values are not visited in this AST\n }\n visitAnimateChild(ast, context) {\n const elementInstructions = context.subInstructions.consume(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(elementInstructions, innerContext, innerContext.options);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n visitAnimateRef(ast, context) {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n _visitSubInstructions(instructions, context, options) {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(instruction => {\n const instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime =\n Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n return furthestTime;\n }\n visitReference(ast, context) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n visitSequence(ast, context) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n if (options.delay != null) {\n if (ctx.previousNode.type == 6 /* Style */) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n if (ast.steps.length) {\n ast.steps.forEach(s => visitDslNode(this, s, ctx));\n // this is here just incase the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n context.previousNode = ast;\n }\n visitGroup(ast, context) {\n const innerTimelines = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n ast.steps.forEach(s => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n _visitTiming(ast, context) {\n if (ast.dynamic) {\n const strValue = ast.strValue;\n const timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n }\n else {\n return { duration: ast.duration, delay: ast.delay, easing: ast.easing };\n }\n }\n visitAnimate(ast, context) {\n const timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n const style = ast.style;\n if (style.type == 5 /* Keyframes */) {\n this.visitKeyframes(style, context);\n }\n else {\n context.incrementTime(timings.duration);\n this.visitStyle(style, context);\n timeline.applyStylesToKeyframe();\n }\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n visitStyle(ast, context) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings;\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.getCurrentStyleProperties().length) {\n timeline.forwardFrame();\n }\n const easing = (timings && timings.easing) || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n }\n else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n context.previousNode = ast;\n }\n visitKeyframes(ast, context) {\n const currentAnimateTimings = context.currentAnimateTimings;\n const startTime = (context.currentTimeline).duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n ast.styles.forEach(step => {\n const offset = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n visitQuery(ast, context) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = (ast.options || {});\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n if (delay &&\n (context.previousNode.type === 6 /* Style */ ||\n (startTime == 0 && context.currentTimeline.getCurrentStyleProperties().length))) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n let furthestTime = startTime;\n const elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n context.currentQueryTotal = elms.length;\n let sameElementTimeline = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n visitDslNode(this, ast.animation, innerContext);\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n context.previousNode = ast;\n }\n visitStagger(ast, context) {\n const parentContext = context.parentContext;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime =\n (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\nconst DEFAULT_NOOP_PREVIOUS_NODE = {};\nclass AnimationTimelineContext {\n constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n this._driver = _driver;\n this.element = element;\n this.subInstructions = subInstructions;\n this._enterClassName = _enterClassName;\n this._leaveClassName = _leaveClassName;\n this.errors = errors;\n this.timelines = timelines;\n this.parentContext = null;\n this.currentAnimateTimings = null;\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.subContextCount = 0;\n this.options = {};\n this.currentQueryIndex = 0;\n this.currentQueryTotal = 0;\n this.currentStaggerTime = 0;\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n get params() {\n return this.options.params;\n }\n updateOptions(options, skipIfExists) {\n if (!options)\n return;\n const newOptions = options;\n let optionsToUpdate = this.options;\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n optionsToUpdate.duration = resolveTimingValue(newOptions.duration);\n }\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate = optionsToUpdate.params;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n Object.keys(newParams).forEach(name => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n _copyOptions() {\n const options = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params = options['params'] = {};\n Object.keys(oldParams).forEach(name => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n createSubContext(options = null, element, newTime) {\n const target = element || this.element;\n const context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n context.options = this._copyOptions();\n context.updateOptions(options);\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n transformIntoNewTimeline(newTime) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n appendInstructionToTimeline(instruction, duration, delay) {\n const updatedTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n const builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n incrementTime(time) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n delayNextStep(delay) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {\n let results = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) { // if :self is only used then the selector is empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :\n elements.slice(0, limit);\n }\n results.push(...elements);\n }\n if (!optional && results.length == 0) {\n errors.push(`\\`query(\"${originalSelector}\")\\` returned zero elements. (Use \\`query(\"${originalSelector}\", { optional: true })\\` if you wish to allow this.)`);\n }\n return results;\n }\n}\nclass TimelineBuilder {\n constructor(_driver, element, startTime, _elementTimelineStylesLookup) {\n this._driver = _driver;\n this.element = element;\n this.startTime = startTime;\n this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n this.duration = 0;\n this._previousKeyframe = {};\n this._currentKeyframe = {};\n this._keyframes = new Map();\n this._styleSummary = {};\n this._pendingStyles = {};\n this._backFill = {};\n this._currentEmptyStepKeyframe = null;\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n this._localTimelineStyles = Object.create(this._backFill, {});\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element);\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n containsAnimation() {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.getCurrentStyleProperties().length > 0;\n default:\n return true;\n }\n }\n getCurrentStyleProperties() {\n return Object.keys(this._currentKeyframe);\n }\n get currentTime() {\n return this.startTime + this.duration;\n }\n delayNextStep(delay) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size == 1 && Object.keys(this._pendingStyles).length;\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n }\n else {\n this.startTime += delay;\n }\n }\n fork(element, currentTime) {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration);\n if (!this._currentKeyframe) {\n this._currentKeyframe = Object.create(this._backFill, {});\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n forwardTime(time) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n _updateStyle(prop, value) {\n this._localTimelineStyles[prop] = value;\n this._globalTimelineStyles[prop] = value;\n this._styleSummary[prop] = { time: this.currentTime, value };\n }\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n applyEmptyStep(easing) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n Object.keys(this._globalTimelineStyles).forEach(prop => {\n this._backFill[prop] = this._globalTimelineStyles[prop] || AUTO_STYLE;\n this._currentKeyframe[prop] = AUTO_STYLE;\n });\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n setStyles(input, easing, errors, options) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n const params = (options && options.params) || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n Object.keys(styles).forEach(prop => {\n const val = interpolateParams(styles[prop], params, errors);\n this._pendingStyles[prop] = val;\n if (!this._localTimelineStyles.hasOwnProperty(prop)) {\n this._backFill[prop] = this._globalTimelineStyles.hasOwnProperty(prop) ?\n this._globalTimelineStyles[prop] :\n AUTO_STYLE;\n }\n this._updateStyle(prop, val);\n });\n }\n applyStylesToKeyframe() {\n const styles = this._pendingStyles;\n const props = Object.keys(styles);\n if (props.length == 0)\n return;\n this._pendingStyles = {};\n props.forEach(prop => {\n const val = styles[prop];\n this._currentKeyframe[prop] = val;\n });\n Object.keys(this._localTimelineStyles).forEach(prop => {\n if (!this._currentKeyframe.hasOwnProperty(prop)) {\n this._currentKeyframe[prop] = this._localTimelineStyles[prop];\n }\n });\n }\n snapshotCurrentStyles() {\n Object.keys(this._localTimelineStyles).forEach(prop => {\n const val = this._localTimelineStyles[prop];\n this._pendingStyles[prop] = val;\n this._updateStyle(prop, val);\n });\n }\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n get properties() {\n const properties = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n mergeTimelineCollectedStyles(timeline) {\n Object.keys(timeline._styleSummary).forEach(prop => {\n const details0 = this._styleSummary[prop];\n const details1 = timeline._styleSummary[prop];\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n buildKeyframes() {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n let finalKeyframes = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = copyStyles(keyframe, true);\n Object.keys(finalKeyframe).forEach(prop => {\n const value = finalKeyframe[prop];\n if (value == ɵPRE_STYLE) {\n preStyleProps.add(prop);\n }\n else if (value == AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe['offset'] = time / this.duration;\n }\n finalKeyframes.push(finalKeyframe);\n });\n const preProps = preStyleProps.size ? iteratorToArray(preStyleProps.values()) : [];\n const postProps = postStyleProps.size ? iteratorToArray(postStyleProps.values()) : [];\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = copyObj(kf0);\n kf0['offset'] = 0;\n kf1['offset'] = 1;\n finalKeyframes = [kf0, kf1];\n }\n return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);\n }\n}\nclass SubTimelineBuilder extends TimelineBuilder {\n constructor(driver, element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe = false) {\n super(driver, element, timings.delay);\n this.keyframes = keyframes;\n this.preStyleProps = preStyleProps;\n this.postStyleProps = postStyleProps;\n this._stretchStartingKeyframe = _stretchStartingKeyframe;\n this.timings = { duration: timings.duration, delay: timings.delay, easing: timings.easing };\n }\n containsAnimation() {\n return this.keyframes.length > 1;\n }\n buildKeyframes() {\n let keyframes = this.keyframes;\n let { delay, duration, easing } = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = copyStyles(keyframes[0], false);\n newFirstKeyframe['offset'] = 0;\n newKeyframes.push(newFirstKeyframe);\n const oldFirstKeyframe = copyStyles(keyframes[0], false);\n oldFirstKeyframe['offset'] = roundOffset(startingGap);\n newKeyframes.push(oldFirstKeyframe);\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still renderered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n \n delay=1000, duration=1000, keyframes = 0 .5 1\n \n turns into\n \n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = copyStyles(keyframes[i], false);\n const oldOffset = kf['offset'];\n const timeAtKeyframe = delay + oldOffset * duration;\n kf['offset'] = roundOffset(timeAtKeyframe / totalTime);\n newKeyframes.push(kf);\n }\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n keyframes = newKeyframes;\n }\n return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);\n }\n}\nfunction roundOffset(offset, decimalPoints = 3) {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\nfunction flattenStyles(input, allStyles) {\n const styles = {};\n let allProperties;\n input.forEach(token => {\n if (token === '*') {\n allProperties = allProperties || Object.keys(allStyles);\n allProperties.forEach(prop => {\n styles[prop] = AUTO_STYLE;\n });\n }\n else {\n copyStyles(token, false, styles);\n }\n });\n return styles;\n}\n\nclass Animation {\n constructor(_driver, input) {\n this._driver = _driver;\n const errors = [];\n const ast = buildAnimationAst(_driver, input, errors);\n if (errors.length) {\n const errorMessage = `animation validation failed:\\n${errors.join('\\n')}`;\n throw new Error(errorMessage);\n }\n this._animationAst = ast;\n }\n buildTimelines(element, startingStyles, destinationStyles, options, subInstructions) {\n const start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) :\n startingStyles;\n const dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) :\n destinationStyles;\n const errors = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);\n if (errors.length) {\n const errorMessage = `animation building failed:\\n${errors.join('\\n')}`;\n throw new Error(errorMessage);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass AnimationStyleNormalizer {\n}\n/**\n * @publicApi\n */\nclass NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return propertyName;\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n return value;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return dashCaseToCamelCase(propertyName);\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n let unit = '';\n const strVal = value.toString().trim();\n if (DIMENSIONAL_PROP_MAP[normalizedProperty] && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n }\n else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(`Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n }\n }\n }\n return strVal + unit;\n }\n}\nconst ɵ0$1 = () => makeBooleanMap('width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective'\n .split(','));\nconst DIMENSIONAL_PROP_MAP = (ɵ0$1)();\nfunction makeBooleanMap(keys) {\n const map = {};\n keys.forEach(key => map[key] = true);\n return map;\n}\n\nfunction createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyleProps, totalTime, errors) {\n return {\n type: 0 /* TransitionAnimation */,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors\n };\n}\n\nconst EMPTY_OBJECT = {};\nclass AnimationTransitionFactory {\n constructor(_triggerName, ast, _stateStyles) {\n this._triggerName = _triggerName;\n this.ast = ast;\n this._stateStyles = _stateStyles;\n }\n match(currentState, nextState, element, params) {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n buildStyles(stateName, params, errors) {\n const backupStateStyler = this._stateStyles['*'];\n const stateStyler = this._stateStyles[stateName];\n const backupStyles = backupStateStyler ? backupStateStyler.buildStyles(params, errors) : {};\n return stateStyler ? stateStyler.buildStyles(params, errors) : backupStyles;\n }\n build(driver, element, currentState, nextState, enterClassName, leaveClassName, currentOptions, nextOptions, subInstructions, skipAstBuild) {\n const errors = [];\n const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n const currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n const animationOptions = { params: Object.assign(Object.assign({}, transitionAnimationParams), nextAnimationParams) };\n const timelines = skipAstBuild ?\n [] :\n buildAnimationTimelines(driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles, nextStateStyles, animationOptions, subInstructions, errors);\n let totalTime = 0;\n timelines.forEach(tl => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n if (errors.length) {\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n timelines.forEach(tl => {\n const elm = tl.element;\n const preProps = getOrSetAsInMap(preStyleMap, elm, {});\n tl.preStyleProps.forEach(prop => preProps[prop] = true);\n const postProps = getOrSetAsInMap(postStyleMap, elm, {});\n tl.postStyleProps.forEach(prop => postProps[prop] = true);\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n const queriedElementsList = iteratorToArray(queriedElements.values());\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, queriedElementsList, preStyleMap, postStyleMap, totalTime);\n }\n}\nfunction oneOrMoreTransitionsMatch(matchFns, currentState, nextState, element, params) {\n return matchFns.some(fn => fn(currentState, nextState, element, params));\n}\nclass AnimationStateStyles {\n constructor(styles, defaultParams, normalizer) {\n this.styles = styles;\n this.defaultParams = defaultParams;\n this.normalizer = normalizer;\n }\n buildStyles(params, errors) {\n const finalStyles = {};\n const combinedParams = copyObj(this.defaultParams);\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (value != null) {\n combinedParams[key] = value;\n }\n });\n this.styles.styles.forEach(value => {\n if (typeof value !== 'string') {\n const styleObj = value;\n Object.keys(styleObj).forEach(prop => {\n let val = styleObj[prop];\n if (val.length > 1) {\n val = interpolateParams(val, combinedParams, errors);\n }\n const normalizedProp = this.normalizer.normalizePropertyName(prop, errors);\n val = this.normalizer.normalizeStyleValue(prop, normalizedProp, val, errors);\n finalStyles[normalizedProp] = val;\n });\n }\n });\n return finalStyles;\n }\n}\n\nfunction buildTrigger(name, ast, normalizer) {\n return new AnimationTrigger(name, ast, normalizer);\n}\nclass AnimationTrigger {\n constructor(name, ast, _normalizer) {\n this.name = name;\n this.ast = ast;\n this._normalizer = _normalizer;\n this.transitionFactories = [];\n this.states = {};\n ast.states.forEach(ast => {\n const defaultParams = (ast.options && ast.options.params) || {};\n this.states[ast.name] = new AnimationStateStyles(ast.style, defaultParams, _normalizer);\n });\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n ast.transitions.forEach(ast => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n this.fallbackTransition = createFallbackTransition(name, this.states, this._normalizer);\n }\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n matchTransition(currentState, nextState, element, params) {\n const entry = this.transitionFactories.find(f => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n matchStyles(currentState, params, errors) {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\nfunction createFallbackTransition(triggerName, states, normalizer) {\n const matchers = [(fromState, toState) => true];\n const animation = { type: 2 /* Sequence */, steps: [], options: null };\n const transition = {\n type: 1 /* Transition */,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\nfunction balanceProperties(obj, key1, key2) {\n if (obj.hasOwnProperty(key1)) {\n if (!obj.hasOwnProperty(key2)) {\n obj[key2] = obj[key1];\n }\n }\n else if (obj.hasOwnProperty(key2)) {\n obj[key1] = obj[key2];\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst EMPTY_INSTRUCTION_MAP = new ElementInstructionMap();\nclass TimelineAnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._animations = {};\n this._playersById = {};\n this.players = [];\n }\n register(id, metadata) {\n const errors = [];\n const ast = buildAnimationAst(this._driver, metadata, errors);\n if (errors.length) {\n throw new Error(`Unable to build the animation due to the following errors: ${errors.join('\\n')}`);\n }\n else {\n this._animations[id] = ast;\n }\n }\n _buildPlayer(i, preStyles, postStyles) {\n const element = i.element;\n const keyframes = normalizeKeyframes(this._driver, this._normalizer, element, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n create(id, element, options = {}) {\n const errors = [];\n const ast = this._animations[id];\n let instructions;\n const autoStylesMap = new Map();\n if (ast) {\n instructions = buildAnimationTimelines(this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, {}, {}, options, EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(inst => {\n const styles = getOrSetAsInMap(autoStylesMap, inst.element, {});\n inst.postStyleProps.forEach(prop => styles[prop] = null);\n });\n }\n else {\n errors.push('The requested animation doesn\\'t exist or has already been destroyed');\n instructions = [];\n }\n if (errors.length) {\n throw new Error(`Unable to create the animation due to the following errors: ${errors.join('\\n')}`);\n }\n autoStylesMap.forEach((styles, element) => {\n Object.keys(styles).forEach(prop => {\n styles[prop] = this._driver.computeStyle(element, prop, AUTO_STYLE);\n });\n });\n const players = instructions.map(i => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, {}, styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById[id] = player;\n player.onDestroy(() => this.destroy(id));\n this.players.push(player);\n return player;\n }\n destroy(id) {\n const player = this._getPlayer(id);\n player.destroy();\n delete this._playersById[id];\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n _getPlayer(id) {\n const player = this._playersById[id];\n if (!player) {\n throw new Error(`Unable to find the timeline player referenced by ${id}`);\n }\n return player;\n }\n listen(id, element, eventName, callback) {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => { };\n }\n command(id, element, command, args) {\n if (command == 'register') {\n this.register(id, args[0]);\n return;\n }\n if (command == 'create') {\n const options = (args[0] || {});\n this.create(id, element, options);\n return;\n }\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0]));\n break;\n case 'destroy':\n this.destroy(id);\n break;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\nconst EMPTY_PLAYER_ARRAY = [];\nconst NULL_REMOVAL_STATE = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nconst NULL_REMOVED_QUERIED_STATE = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true\n};\nconst REMOVAL_FLAG = '__ng_removed';\nclass StateValue {\n constructor(input, namespaceId = '') {\n this.namespaceId = namespaceId;\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n const options = copyObj(input);\n delete options['value'];\n this.options = options;\n }\n else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n get params() {\n return this.options.params;\n }\n absorbOptions(options) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params;\n Object.keys(newParams).forEach(prop => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\nconst VOID_VALUE = 'void';\nconst DEFAULT_STATE_VALUE = new StateValue(VOID_VALUE);\nclass AnimationTransitionNamespace {\n constructor(id, hostElement, _engine) {\n this.id = id;\n this.hostElement = hostElement;\n this._engine = _engine;\n this.players = [];\n this._triggers = {};\n this._queue = [];\n this._elementListeners = new Map();\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n listen(element, name, phase, callback) {\n if (!this._triggers.hasOwnProperty(name)) {\n throw new Error(`Unable to listen on the animation trigger event \"${phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n }\n if (phase == null || phase.length == 0) {\n throw new Error(`Unable to listen on the animation trigger \"${name}\" because the provided event is undefined!`);\n }\n if (!isTriggerEventValid(phase)) {\n throw new Error(`The provided animation trigger event \"${phase}\" for the animation trigger \"${name}\" is not supported!`);\n }\n const listeners = getOrSetAsInMap(this._elementListeners, element, []);\n const data = { name, phase, callback };\n listeners.push(data);\n const triggersWithStates = getOrSetAsInMap(this._engine.statesByElement, element, {});\n if (!triggersWithStates.hasOwnProperty(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates[name] = DEFAULT_STATE_VALUE;\n }\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n if (!this._triggers[name]) {\n delete triggersWithStates[name];\n }\n });\n };\n }\n register(name, ast) {\n if (this._triggers[name]) {\n // throw\n return false;\n }\n else {\n this._triggers[name] = ast;\n return true;\n }\n }\n _getTrigger(name) {\n const trigger = this._triggers[name];\n if (!trigger) {\n throw new Error(`The provided animation trigger \"${name}\" has not been registered!`);\n }\n return trigger;\n }\n trigger(element, triggerName, value, defaultToFallback = true) {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = {});\n }\n let fromState = triggersWithStates[triggerName];\n const toState = new StateValue(value, this.id);\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n triggersWithStates[triggerName] = toState;\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n const isRemoval = toState.value === VOID_VALUE;\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n }\n else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n const playersOnElement = getOrSetAsInMap(this._engine.playersByElement, element, []);\n playersOnElement.forEach(player => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new palyer)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n let transition = trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback)\n return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n this._engine.totalQueuedPlayers++;\n this._queue.push({ element, triggerName, transition, fromState, toState, player, isFallbackTransition });\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n this.players.push(player);\n playersOnElement.push(player);\n return player;\n }\n deregister(name) {\n delete this._triggers[name];\n this._engine.statesByElement.forEach((stateMap, element) => {\n delete stateMap[name];\n });\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter(entry => {\n return entry.name != name;\n }));\n });\n }\n clearElementCache(element) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(player => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n _signalRemovalForInnerTriggers(rootElement, context) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach(elm => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG])\n return;\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach(ns => ns.triggerLeaveAnimation(elm, context, false, true));\n }\n else {\n this.clearElementCache(elm);\n }\n });\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(() => elements.forEach(elm => this.clearElementCache(elm)));\n }\n triggerLeaveAnimation(element, context, destroyAfterComplete, defaultToFallback) {\n const triggerStates = this._engine.statesByElement.get(element);\n if (triggerStates) {\n const players = [];\n Object.keys(triggerStates).forEach(triggerName => {\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers[triggerName]) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n prepareLeaveAnimationListeners(element) {\n const listeners = this._elementListeners.get(element);\n const elementStates = this._engine.statesByElement.get(element);\n // if this statement fails then it means that the element was picked up\n // by an earlier flush (or there are no listeners at all to track the leave).\n if (listeners && elementStates) {\n const visitedTriggers = new Set();\n listeners.forEach(listener => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName))\n return;\n visitedTriggers.add(triggerName);\n const trigger = this._triggers[triggerName];\n const transition = trigger.fallbackTransition;\n const fromState = elementStates[triggerName] || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true\n });\n });\n }\n }\n removeNode(element, context) {\n const engine = this._engine;\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true))\n return;\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers = engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n }\n else {\n let parent = element;\n while (parent = parent.parentNode) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n }\n else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n insertNode(element, parent) {\n addClass(element, this._hostClassName);\n }\n drainQueuedTransitions(microtaskId) {\n const instructions = [];\n this._queue.forEach(entry => {\n const player = entry.player;\n if (player.destroyed)\n return;\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach((listener) => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(element, entry.triggerName, entry.fromState.value, entry.toState.value);\n baseEvent['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n }\n else {\n instructions.push(entry);\n }\n });\n this._queue = [];\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n destroy(context) {\n this.players.forEach(p => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n elementContainsData(element) {\n let containsData = false;\n if (this._elementListeners.has(element))\n containsData = true;\n containsData =\n (this._queue.find(entry => entry.element === element) ? true : false) || containsData;\n return containsData;\n }\n}\nclass TransitionAnimationEngine {\n constructor(bodyNode, driver, _normalizer) {\n this.bodyNode = bodyNode;\n this.driver = driver;\n this._normalizer = _normalizer;\n this.players = [];\n this.newHostElements = new Map();\n this.playersByElement = new Map();\n this.playersByQueriedElement = new Map();\n this.statesByElement = new Map();\n this.disabledNodes = new Set();\n this.totalAnimations = 0;\n this.totalQueuedPlayers = 0;\n this._namespaceLookup = {};\n this._namespaceList = [];\n this._flushFns = [];\n this._whenQuietFns = [];\n this.namespacesByHostElement = new Map();\n this.collectedEnterElements = [];\n this.collectedLeaveElements = [];\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n }\n /** @internal */\n _onRemovalComplete(element, context) {\n this.onRemovalComplete(element, context);\n }\n get queuedPlayers() {\n const players = [];\n this._namespaceList.forEach(ns => {\n ns.players.forEach(player => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n createNamespace(namespaceId, hostElement) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (this.bodyNode && this.driver.containsElement(this.bodyNode, hostElement)) {\n this._balanceNamespaceList(ns, hostElement);\n }\n else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n // given that this host element is apart of the animation code, it\n // may or may not be inserted by a parent node that is of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n }\n _balanceNamespaceList(ns, hostElement) {\n const limit = this._namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n for (let i = limit; i >= 0; i--) {\n const nextNamespace = this._namespaceList[i];\n if (this.driver.containsElement(nextNamespace.hostElement, hostElement)) {\n this._namespaceList.splice(i + 1, 0, ns);\n found = true;\n break;\n }\n }\n if (!found) {\n this._namespaceList.splice(0, 0, ns);\n }\n }\n else {\n this._namespaceList.push(ns);\n }\n this.namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n register(namespaceId, hostElement) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n registerTrigger(namespaceId, name, trigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n destroy(namespaceId, context) {\n if (!namespaceId)\n return;\n const ns = this._fetchNamespace(namespaceId);\n this.afterFlush(() => {\n this.namespacesByHostElement.delete(ns.hostElement);\n delete this._namespaceLookup[namespaceId];\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n });\n this.afterFlushAnimationsDone(() => ns.destroy(context));\n }\n _fetchNamespace(id) {\n return this._namespaceLookup[id];\n }\n fetchNamespacesByElement(element) {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply the dedupe\n // of namespaces incase there are multiple triggers both the elm and host\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n const keys = Object.keys(elementStates);\n for (let i = 0; i < keys.length; i++) {\n const nsId = elementStates[keys[i]].namespaceId;\n if (nsId) {\n const ns = this._fetchNamespace(nsId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n trigger(namespaceId, element, name, value) {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n insertNode(namespaceId, element, parent, insertBefore) {\n if (!isElementNode(element))\n return;\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n collectEnterElement(element) {\n this.collectedEnterElements.push(element);\n }\n markElementAsDisabled(element, value) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n }\n else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n removeNode(namespaceId, element, isHostElement, context) {\n if (isElementNode(element)) {\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n }\n else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n if (isHostElement) {\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n }\n }\n else {\n this._onRemovalComplete(element, context);\n }\n }\n markElementAsRemoved(namespaceId, element, hasAnimation, context) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] =\n { namespaceId, setForRemoval: context, hasAnimation, removedBeforeQueried: false };\n }\n listen(namespaceId, element, name, phase, callback) {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => { };\n }\n _buildInstruction(entry, subTimelines, enterClassName, leaveClassName, skipBuildAst) {\n return entry.transition.build(this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName, leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n destroyInnerAnimations(containerElement) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(element => this.destroyActiveAnimationsForElement(element));\n if (this.playersByQueriedElement.size == 0)\n return;\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach(element => this.finishActiveQueriedAnimationOnElement(element));\n }\n destroyActiveAnimationsForElement(element) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach(player => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n }\n else {\n player.destroy();\n }\n });\n }\n }\n finishActiveQueriedAnimationOnElement(element) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(player => player.finish());\n }\n }\n whenRenderingDone() {\n return new Promise(resolve => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n }\n else {\n resolve();\n }\n });\n }\n processLeaveNode(element) {\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n if (this.driver.matchesElement(element, DISABLED_SELECTOR)) {\n this.markElementAsDisabled(element, false);\n }\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(node => {\n this.markElementAsDisabled(node, false);\n });\n }\n flush(microtaskId = -1) {\n let players = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n if (this._namespaceList.length &&\n (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n }\n finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n }\n else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(fn => fn());\n this._flushFns = [];\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach(fn => fn());\n });\n }\n else {\n quietFns.forEach(fn => fn());\n }\n }\n }\n reportError(errors) {\n throw new Error(`Unable to process animations due to the following failed trigger transitions\\n ${errors.join('\\n')}`);\n }\n _flushAnimations(cleanupFns, microtaskId) {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map();\n const allPostStyleElements = new Map();\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach(node => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n const allLeaveNodes = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver.query(element, STAR_SELECTOR, true).forEach(elm => mergedLeaveNodes.add(elm));\n }\n else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n allLeaveNodes.forEach(element => {\n this.processLeaveNode(element);\n });\n });\n const allPlayers = [];\n const erroneousTransitions = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(entry => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG];\n // move animations are currently not supported...\n if (details && details.setForMove) {\n player.destroy();\n return;\n }\n }\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element);\n const enterClassName = enterNodeMapIds.get(element);\n const instruction = this._buildInstruction(entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned);\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n // even though the element may not be apart of the DOM, it may\n // still be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important we still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // if a unmatched transition is queued to go then it SHOULD NOT render\n // an animation and cancel the previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // this means that if a parent animation uses this animation as a sub trigger\n // then it will instruct the timeline builder to not add a player delay, but\n // instead stretch the first keyframe gap up until the animation starts. The\n // reason this is important is to prevent extra initialization styles from being\n // required by the user in the animation.\n instruction.timelines.forEach(tl => tl.stretchStartingKeyframe = true);\n subTimelines.append(element, instruction.timelines);\n const tuple = { instruction, player, element };\n queuedInstructions.push(tuple);\n instruction.queriedElements.forEach(element => getOrSetAsInMap(queriedElements, element, []).push(player));\n instruction.preStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n if (props.length) {\n let setVal = allPreStyleElements.get(element);\n if (!setVal) {\n allPreStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n }\n });\n instruction.postStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n let setVal = allPostStyleElements.get(element);\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n });\n });\n }\n if (erroneousTransitions.length) {\n const errors = [];\n erroneousTransitions.forEach(instruction => {\n errors.push(`@${instruction.triggerName} has failed due to:\\n`);\n instruction.errors.forEach(error => errors.push(`- ${error}\\n`));\n });\n allPlayers.forEach(player => player.destroy());\n this.reportError(errors);\n }\n const allPreviousPlayersMap = new Map();\n // this map works to tell which element in the DOM tree is contained by\n // which animation. Further down below this map will get populated once\n // the players are built and in doing so it can efficiently figure out\n // if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach(entry => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n skippedPlayers.forEach(player => {\n const element = player.element;\n const previousPlayers = this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(prevPlayer => {\n getOrSetAsInMap(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n // this is a special case for nodes that will be removed (either by)\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or auto since the element\n // that is being getComputedStyle'd will not be visible (since * = destination)\n const replaceNodes = allLeaveNodes.filter(node => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n allLeaveQueriedNodes.forEach(node => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(preStylesMap, this.driver, new Set(nodes), allPreStyleElements, ɵPRE_STYLE);\n });\n replaceNodes.forEach(node => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, Object.assign(Object.assign({}, post), pre));\n });\n const rootPlayers = [];\n const subPlayers = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach(entry => {\n const { element, player, instruction } = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd = [];\n while (elm = elm.parentNode) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach(parent => animationElementMap.set(parent, parentWithAnimation));\n }\n const innerPlayer = this._buildAnimation(player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap);\n player.setRealPlayer(innerPlayer);\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n }\n else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n }\n else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n // find all of the sub players' corresponding inner animation player\n subPlayers.forEach(player => {\n // even if any players are not found for a sub animation then it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(player => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n }\n else {\n player.destroy();\n }\n });\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG];\n removeClass(element, LEAVE_CLASSNAME);\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation)\n continue;\n let players = [];\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n const activePlayers = players.filter(p => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n }\n else {\n this.processLeaveNode(element);\n }\n }\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n rootPlayers.forEach(player => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n return rootPlayers;\n }\n elementContainsData(namespaceId, element) {\n let containsData = false;\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval)\n containsData = true;\n if (this.playersByElement.has(element))\n containsData = true;\n if (this.playersByQueriedElement.has(element))\n containsData = true;\n if (this.statesByElement.has(element))\n containsData = true;\n return this._fetchNamespace(namespaceId).elementContainsData(element) || containsData;\n }\n afterFlush(callback) {\n this._flushFns.push(callback);\n }\n afterFlushAnimationsDone(callback) {\n this._whenQuietFns.push(callback);\n }\n _getPreviousPlayers(element, isQueriedElement, namespaceId, triggerName, toStateValue) {\n let players = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n }\n else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(player => {\n if (player.queued)\n return;\n if (!isRemovalAnimation && player.triggerName != triggerName)\n return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(player => {\n if (namespaceId && namespaceId != player.namespaceId)\n return false;\n if (triggerName && triggerName != player.triggerName)\n return false;\n return true;\n });\n }\n return players;\n }\n _beforeAnimationBuild(namespaceId, instruction, allPreviousPlayersMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId = instruction.isRemovalTransition ? undefined : namespaceId;\n const targetTriggerName = instruction.isRemovalTransition ? undefined : triggerName;\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetAsInMap(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(player => {\n const realPlayer = player.getRealPlayer();\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n _buildAnimation(namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map(timelineInstruction => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried)\n return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n const isQueriedElement = element !== rootElement;\n const previousPlayers = flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY)\n .map(p => p.getRealPlayer()))\n .filter(p => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p;\n return pp.element ? pp.element === element : false;\n });\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes(this.driver, this._normalizer, element, timelineInstruction.keyframes, preStyles, postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n return player;\n });\n allQueriedPlayers.forEach(player => {\n getOrSetAsInMap(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n allConsumedElements.forEach(element => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach(element => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(element => {\n getOrSetAsInMap(skippedPlayersMap, element, []).push(player);\n });\n return player;\n }\n _buildPlayer(instruction, keyframes, previousPlayers) {\n if (keyframes.length > 0) {\n return this.driver.animate(instruction.element, keyframes, instruction.duration, instruction.delay, instruction.easing, previousPlayers);\n }\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\nclass TransitionAnimationPlayer {\n constructor(namespaceId, triggerName, element) {\n this.namespaceId = namespaceId;\n this.triggerName = triggerName;\n this.element = element;\n this._player = new NoopAnimationPlayer();\n this._containsRealPlayer = false;\n this._queuedCallbacks = {};\n this.destroyed = false;\n this.markedForDestroy = false;\n this.disabled = false;\n this.queued = true;\n this.totalTime = 0;\n }\n setRealPlayer(player) {\n if (this._containsRealPlayer)\n return;\n this._player = player;\n Object.keys(this._queuedCallbacks).forEach(phase => {\n this._queuedCallbacks[phase].forEach(callback => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks = {};\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n this.queued = false;\n }\n getRealPlayer() {\n return this._player;\n }\n overrideTotalTime(totalTime) {\n this.totalTime = totalTime;\n }\n syncPlayerEvents(player) {\n const p = this._player;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n _queueEvent(name, callback) {\n getOrSetAsInMap(this._queuedCallbacks, name, []).push(callback);\n }\n onDone(fn) {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n onStart(fn) {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n onDestroy(fn) {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n init() {\n this._player.init();\n }\n hasStarted() {\n return this.queued ? false : this._player.hasStarted();\n }\n play() {\n !this.queued && this._player.play();\n }\n pause() {\n !this.queued && this._player.pause();\n }\n restart() {\n !this.queued && this._player.restart();\n }\n finish() {\n this._player.finish();\n }\n destroy() {\n this.destroyed = true;\n this._player.destroy();\n }\n reset() {\n !this.queued && this._player.reset();\n }\n setPosition(p) {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n getPosition() {\n return this.queued ? 0 : this._player.getPosition();\n }\n /** @internal */\n triggerCallback(phaseName) {\n const p = this._player;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\nfunction deleteOrUnsetInMap(map, key, value) {\n let currentValues;\n if (map instanceof Map) {\n currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n }\n else {\n currentValues = map[key];\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n delete map[key];\n }\n }\n }\n return currentValues;\n}\nfunction normalizeTriggerValue(value) {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\nfunction isElementNode(node) {\n return node && node['nodeType'] === 1;\n}\nfunction isTriggerEventValid(eventName) {\n return eventName == 'start' || eventName == 'done';\n}\nfunction cloakElement(element, value) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\nfunction cloakAndComputeStyles(valuesMap, driver, elements, elementPropsMap, defaultStyle) {\n const cloakVals = [];\n elements.forEach(element => cloakVals.push(cloakElement(element)));\n const failedElements = [];\n elementPropsMap.forEach((props, element) => {\n const styles = {};\n props.forEach(prop => {\n const value = styles[prop] = driver.computeStyle(element, prop, defaultStyle);\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach(element => cloakElement(element, cloakVals[i++]));\n return failedElements;\n}\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots, nodes) {\n const rootMap = new Map();\n roots.forEach(root => rootMap.set(root, []));\n if (nodes.length == 0)\n return rootMap;\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n function getRoot(node) {\n if (!node)\n return NULL_NODE;\n let root = localRootMap.get(node);\n if (root)\n return root;\n const parent = node.parentNode;\n if (rootMap.has(parent)) { // ngIf inside @trigger\n root = parent;\n }\n else if (nodeSet.has(parent)) { // ngIf inside ngIf\n root = NULL_NODE;\n }\n else { // recurse upwards\n root = getRoot(parent);\n }\n localRootMap.set(node, root);\n return root;\n }\n nodes.forEach(node => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root).push(node);\n }\n });\n return rootMap;\n}\nconst CLASSES_CACHE_KEY = '$$classes';\nfunction containsClass(element, className) {\n if (element.classList) {\n return element.classList.contains(className);\n }\n else {\n const classes = element[CLASSES_CACHE_KEY];\n return classes && classes[className];\n }\n}\nfunction addClass(element, className) {\n if (element.classList) {\n element.classList.add(className);\n }\n else {\n let classes = element[CLASSES_CACHE_KEY];\n if (!classes) {\n classes = element[CLASSES_CACHE_KEY] = {};\n }\n classes[className] = true;\n }\n}\nfunction removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n }\n else {\n let classes = element[CLASSES_CACHE_KEY];\n if (classes) {\n delete classes[className];\n }\n }\n}\nfunction removeNodesAfterAnimationDone(engine, element, players) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\nfunction flattenGroupPlayers(players) {\n const finalPlayers = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\nfunction _flattenGroupPlayersRecur(players, finalPlayers) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof ɵAnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n }\n else {\n finalPlayers.push(player);\n }\n }\n}\nfunction objEquals(a, b) {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length)\n return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop])\n return false;\n }\n return true;\n}\nfunction replacePostStylesAsPre(element, allPreStyleElements, allPostStyleElements) {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry)\n return false;\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(data => preEntry.add(data));\n }\n else {\n allPreStyleElements.set(element, postEntry);\n }\n allPostStyleElements.delete(element);\n return true;\n}\n\nclass AnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._triggerCache = {};\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n this._transitionEngine = new TransitionAnimationEngine(bodyNode, _driver, _normalizer);\n this._timelineEngine = new TimelineAnimationEngine(bodyNode, _driver, _normalizer);\n this._transitionEngine.onRemovalComplete = (element, context) => this.onRemovalComplete(element, context);\n }\n registerTrigger(componentId, namespaceId, hostElement, name, metadata) {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors = [];\n const ast = buildAnimationAst(this._driver, metadata, errors);\n if (errors.length) {\n throw new Error(`The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${errors.join('\\n - ')}`);\n }\n trigger = buildTrigger(name, ast, this._normalizer);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n register(namespaceId, hostElement) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n destroy(namespaceId, context) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n onInsert(namespaceId, element, parent, insertBefore) {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n onRemove(namespaceId, element, context, isHostElement) {\n this._transitionEngine.removeNode(namespaceId, element, isHostElement || false, context);\n }\n disableAnimations(element, disable) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n process(namespaceId, element, property, value) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value;\n this._timelineEngine.command(id, element, action, args);\n }\n else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n listen(namespaceId, element, eventName, eventPhase, callback) {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n flush(microtaskId = -1) {\n this._transitionEngine.flush(microtaskId);\n }\n get players() {\n return this._transitionEngine.players\n .concat(this._timelineEngine.players);\n }\n whenRenderingDone() {\n return this._transitionEngine.whenRenderingDone();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nfunction packageNonAnimatableStyles(element, styles) {\n let startStyles = null;\n let endStyles = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n }\n else if (styles) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n return (startStyles || endStyles) ? new SpecialCasedStyles(element, startStyles, endStyles) :\n null;\n}\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nclass SpecialCasedStyles {\n constructor(_element, _startStyles, _endStyles) {\n this._element = _element;\n this._startStyles = _startStyles;\n this._endStyles = _endStyles;\n this._state = 0 /* Pending */;\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, initialStyles = {});\n }\n this._initialStyles = initialStyles;\n }\n start() {\n if (this._state < 1 /* Started */) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = 1 /* Started */;\n }\n }\n finish() {\n this.start();\n if (this._state < 2 /* Finished */) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = 1 /* Started */;\n }\n }\n destroy() {\n this.finish();\n if (this._state < 3 /* Destroyed */) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = 3 /* Destroyed */;\n }\n }\n}\nSpecialCasedStyles.initialStylesByElement = ( /* @__PURE__ */new WeakMap());\nfunction filterNonAnimatableStyles(styles) {\n let result = null;\n const props = Object.keys(styles);\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (isNonAnimatableStyle(prop)) {\n result = result || {};\n result[prop] = styles[prop];\n }\n }\n return result;\n}\nfunction isNonAnimatableStyle(prop) {\n return prop === 'display' || prop === 'position';\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this 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 ELAPSED_TIME_MAX_DECIMAL_PLACES = 3;\nconst ANIMATION_PROP = 'animation';\nconst ANIMATIONEND_EVENT = 'animationend';\nconst ONE_SECOND$1 = 1000;\nclass ElementAnimationStyleHandler {\n constructor(_element, _name, _duration, _delay, _easing, _fillMode, _onDoneFn) {\n this._element = _element;\n this._name = _name;\n this._duration = _duration;\n this._delay = _delay;\n this._easing = _easing;\n this._fillMode = _fillMode;\n this._onDoneFn = _onDoneFn;\n this._finished = false;\n this._destroyed = false;\n this._startTime = 0;\n this._position = 0;\n this._eventFn = (e) => this._handleCallback(e);\n }\n apply() {\n applyKeyframeAnimation(this._element, `${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${this._name}`);\n addRemoveAnimationEvent(this._element, this._eventFn, false);\n this._startTime = Date.now();\n }\n pause() {\n playPauseAnimation(this._element, this._name, 'paused');\n }\n resume() {\n playPauseAnimation(this._element, this._name, 'running');\n }\n setPosition(position) {\n const index = findIndexForAnimation(this._element, this._name);\n this._position = position * this._duration;\n setAnimationStyle(this._element, 'Delay', `-${this._position}ms`, index);\n }\n getPosition() {\n return this._position;\n }\n _handleCallback(event) {\n const timestamp = event._ngTestManualTimestamp || Date.now();\n const elapsedTime = parseFloat(event.elapsedTime.toFixed(ELAPSED_TIME_MAX_DECIMAL_PLACES)) * ONE_SECOND$1;\n if (event.animationName == this._name &&\n Math.max(timestamp - this._startTime, 0) >= this._delay && elapsedTime >= this._duration) {\n this.finish();\n }\n }\n finish() {\n if (this._finished)\n return;\n this._finished = true;\n this._onDoneFn();\n addRemoveAnimationEvent(this._element, this._eventFn, true);\n }\n destroy() {\n if (this._destroyed)\n return;\n this._destroyed = true;\n this.finish();\n removeKeyframeAnimation(this._element, this._name);\n }\n}\nfunction playPauseAnimation(element, name, status) {\n const index = findIndexForAnimation(element, name);\n setAnimationStyle(element, 'PlayState', status, index);\n}\nfunction applyKeyframeAnimation(element, value) {\n const anim = getAnimationStyle(element, '').trim();\n let index = 0;\n if (anim.length) {\n index = countChars(anim, ',') + 1;\n value = `${anim}, ${value}`;\n }\n setAnimationStyle(element, '', value);\n return index;\n}\nfunction removeKeyframeAnimation(element, name) {\n const anim = getAnimationStyle(element, '');\n const tokens = anim.split(',');\n const index = findMatchingTokenIndex(tokens, name);\n if (index >= 0) {\n tokens.splice(index, 1);\n const newValue = tokens.join(',');\n setAnimationStyle(element, '', newValue);\n }\n}\nfunction findIndexForAnimation(element, value) {\n const anim = getAnimationStyle(element, '');\n if (anim.indexOf(',') > 0) {\n const tokens = anim.split(',');\n return findMatchingTokenIndex(tokens, value);\n }\n return findMatchingTokenIndex([anim], value);\n}\nfunction findMatchingTokenIndex(tokens, searchToken) {\n for (let i = 0; i < tokens.length; i++) {\n if (tokens[i].indexOf(searchToken) >= 0) {\n return i;\n }\n }\n return -1;\n}\nfunction addRemoveAnimationEvent(element, fn, doRemove) {\n doRemove ? element.removeEventListener(ANIMATIONEND_EVENT, fn) :\n element.addEventListener(ANIMATIONEND_EVENT, fn);\n}\nfunction setAnimationStyle(element, name, value, index) {\n const prop = ANIMATION_PROP + name;\n if (index != null) {\n const oldValue = element.style[prop];\n if (oldValue.length) {\n const tokens = oldValue.split(',');\n tokens[index] = value;\n value = tokens.join(',');\n }\n }\n element.style[prop] = value;\n}\nfunction getAnimationStyle(element, name) {\n return element.style[ANIMATION_PROP + name] || '';\n}\nfunction countChars(value, char) {\n let count = 0;\n for (let i = 0; i < value.length; i++) {\n const c = value.charAt(i);\n if (c === char)\n count++;\n }\n return count;\n}\n\nconst DEFAULT_FILL_MODE = 'forwards';\nconst DEFAULT_EASING = 'linear';\nclass CssKeyframesPlayer {\n constructor(element, keyframes, animationName, _duration, _delay, easing, _finalStyles, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.animationName = animationName;\n this._duration = _duration;\n this._delay = _delay;\n this._finalStyles = _finalStyles;\n this._specialStyles = _specialStyles;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this.currentSnapshot = {};\n this._state = 0;\n this.easing = easing || DEFAULT_EASING;\n this.totalTime = _duration + _delay;\n this._buildStyler();\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n destroy() {\n this.init();\n if (this._state >= 4 /* DESTROYED */)\n return;\n this._state = 4 /* DESTROYED */;\n this._styler.destroy();\n this._flushStartFns();\n this._flushDoneFns();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n _flushDoneFns() {\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n _flushStartFns() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n finish() {\n this.init();\n if (this._state >= 3 /* FINISHED */)\n return;\n this._state = 3 /* FINISHED */;\n this._styler.finish();\n this._flushStartFns();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._flushDoneFns();\n }\n setPosition(value) {\n this._styler.setPosition(value);\n }\n getPosition() {\n return this._styler.getPosition();\n }\n hasStarted() {\n return this._state >= 2 /* STARTED */;\n }\n init() {\n if (this._state >= 1 /* INITIALIZED */)\n return;\n this._state = 1 /* INITIALIZED */;\n const elm = this.element;\n this._styler.apply();\n if (this._delay) {\n this._styler.pause();\n }\n }\n play() {\n this.init();\n if (!this.hasStarted()) {\n this._flushStartFns();\n this._state = 2 /* STARTED */;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this._styler.resume();\n }\n pause() {\n this.init();\n this._styler.pause();\n }\n restart() {\n this.reset();\n this.play();\n }\n reset() {\n this._state = 0 /* RESET */;\n this._styler.destroy();\n this._buildStyler();\n this._styler.apply();\n }\n _buildStyler() {\n this._styler = new ElementAnimationStyleHandler(this.element, this.animationName, this._duration, this._delay, this.easing, DEFAULT_FILL_MODE, () => this.finish());\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n beforeDestroy() {\n this.init();\n const styles = {};\n if (this.hasStarted()) {\n const finished = this._state >= 3 /* FINISHED */;\n Object.keys(this._finalStyles).forEach(prop => {\n if (prop != 'offset') {\n styles[prop] = finished ? this._finalStyles[prop] : computeStyle(this.element, prop);\n }\n });\n }\n this.currentSnapshot = styles;\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 DirectStylePlayer extends NoopAnimationPlayer {\n constructor(element, styles) {\n super();\n this.element = element;\n this._startingStyles = {};\n this.__initialized = false;\n this._styles = hypenatePropsObject(styles);\n }\n init() {\n if (this.__initialized || !this._startingStyles)\n return;\n this.__initialized = true;\n Object.keys(this._styles).forEach(prop => {\n this._startingStyles[prop] = this.element.style[prop];\n });\n super.init();\n }\n play() {\n if (!this._startingStyles)\n return;\n this.init();\n Object.keys(this._styles)\n .forEach(prop => this.element.style.setProperty(prop, this._styles[prop]));\n super.play();\n }\n destroy() {\n if (!this._startingStyles)\n return;\n Object.keys(this._startingStyles).forEach(prop => {\n const value = this._startingStyles[prop];\n if (value) {\n this.element.style.setProperty(prop, value);\n }\n else {\n this.element.style.removeProperty(prop);\n }\n });\n this._startingStyles = null;\n super.destroy();\n }\n}\n\nconst KEYFRAMES_NAME_PREFIX = 'gen_css_kf_';\nconst TAB_SPACE = ' ';\nclass CssKeyframesDriver {\n constructor() {\n this._count = 0;\n }\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(element, selector) {\n return matchesElement(element, selector);\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return window.getComputedStyle(element)[prop];\n }\n buildKeyframeElement(element, name, keyframes) {\n keyframes = keyframes.map(kf => hypenatePropsObject(kf));\n let keyframeStr = `@keyframes ${name} {\\n`;\n let tab = '';\n keyframes.forEach(kf => {\n tab = TAB_SPACE;\n const offset = parseFloat(kf['offset']);\n keyframeStr += `${tab}${offset * 100}% {\\n`;\n tab += TAB_SPACE;\n Object.keys(kf).forEach(prop => {\n const value = kf[prop];\n switch (prop) {\n case 'offset':\n return;\n case 'easing':\n if (value) {\n keyframeStr += `${tab}animation-timing-function: ${value};\\n`;\n }\n return;\n default:\n keyframeStr += `${tab}${prop}: ${value};\\n`;\n return;\n }\n });\n keyframeStr += `${tab}}\\n`;\n });\n keyframeStr += `}\\n`;\n const kfElm = document.createElement('style');\n kfElm.textContent = keyframeStr;\n return kfElm;\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && scrubberAccessRequested) {\n notifyFaultyScrubber();\n }\n const previousCssKeyframePlayers = previousPlayers.filter(player => player instanceof CssKeyframesPlayer);\n const previousStyles = {};\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousCssKeyframePlayers.forEach(player => {\n let styles = player.currentSnapshot;\n Object.keys(styles).forEach(prop => previousStyles[prop] = styles[prop]);\n });\n }\n keyframes = balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles);\n const finalStyles = flattenKeyframesIntoStyles(keyframes);\n // if there is no animation then there is no point in applying\n // styles and waiting for an event to get fired. This causes lag.\n // It's better to just directly apply the styles to the element\n // via the direct styling animation player.\n if (duration == 0) {\n return new DirectStylePlayer(element, finalStyles);\n }\n const animationName = `${KEYFRAMES_NAME_PREFIX}${this._count++}`;\n const kfElm = this.buildKeyframeElement(element, animationName, keyframes);\n const nodeToAppendKfElm = findNodeToAppendKeyframeElement(element);\n nodeToAppendKfElm.appendChild(kfElm);\n const specialStyles = packageNonAnimatableStyles(element, keyframes);\n const player = new CssKeyframesPlayer(element, keyframes, animationName, duration, delay, easing, finalStyles, specialStyles);\n player.onDestroy(() => removeElement(kfElm));\n return player;\n }\n}\nfunction findNodeToAppendKeyframeElement(element) {\n var _a;\n const rootNode = (_a = element.getRootNode) === null || _a === void 0 ? void 0 : _a.call(element);\n if (typeof ShadowRoot !== 'undefined' && rootNode instanceof ShadowRoot) {\n return rootNode;\n }\n return document.head;\n}\nfunction flattenKeyframesIntoStyles(keyframes) {\n let flatKeyframes = {};\n if (keyframes) {\n const kfs = Array.isArray(keyframes) ? keyframes : [keyframes];\n kfs.forEach(kf => {\n Object.keys(kf).forEach(prop => {\n if (prop == 'offset' || prop == 'easing')\n return;\n flatKeyframes[prop] = kf[prop];\n });\n });\n }\n return flatKeyframes;\n}\nfunction removeElement(node) {\n node.parentNode.removeChild(node);\n}\nlet warningIssued = false;\nfunction notifyFaultyScrubber() {\n if (warningIssued)\n return;\n console.warn('@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\\n', ' visit https://bit.ly/IWukam to learn more about using the web-animation-js polyfill.');\n warningIssued = true;\n}\n\nclass WebAnimationsPlayer {\n constructor(element, keyframes, options, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.options = options;\n this._specialStyles = _specialStyles;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._initialized = false;\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this.time = 0;\n this.parentPlayer = null;\n this.currentSnapshot = {};\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n _buildPlayer() {\n if (this._initialized)\n return;\n this._initialized = true;\n const keyframes = this.keyframes;\n this.domPlayer =\n this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : {};\n this.domPlayer.addEventListener('finish', () => this._onFinish());\n }\n _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n }\n else {\n this.domPlayer.pause();\n }\n }\n /** @internal */\n _triggerWebAnimation(element, keyframes, options) {\n // jscompiler doesn't seem to know animate is a native property because it's not fully\n // supported yet across common browsers (we polyfill it for Edge/Safari) [CL #143630929]\n return element['animate'](keyframes, options);\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n play() {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n pause() {\n this.init();\n this.domPlayer.pause();\n }\n finish() {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n reset() {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n restart() {\n this.reset();\n this.play();\n }\n hasStarted() {\n return this._started;\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n setPosition(p) {\n if (this.domPlayer === undefined) {\n this.init();\n }\n this.domPlayer.currentTime = p * this.time;\n }\n getPosition() {\n return this.domPlayer.currentTime / this.time;\n }\n get totalTime() {\n return this._delay + this._duration;\n }\n beforeDestroy() {\n const styles = {};\n if (this.hasStarted()) {\n Object.keys(this._finalKeyframe).forEach(prop => {\n if (prop != 'offset') {\n styles[prop] =\n this._finished ? this._finalKeyframe[prop] : computeStyle(this.element, prop);\n }\n });\n }\n this.currentSnapshot = styles;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\nclass WebAnimationsDriver {\n constructor() {\n this._isNativeImpl = /\\{\\s*\\[native\\s+code\\]\\s*\\}/.test(getElementAnimateFn().toString());\n this._cssKeyframesDriver = new CssKeyframesDriver();\n }\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(element, selector) {\n return matchesElement(element, selector);\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return window.getComputedStyle(element)[prop];\n }\n overrideWebAnimationsSupport(supported) {\n this._isNativeImpl = supported;\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n const useKeyframes = !scrubberAccessRequested && !this._isNativeImpl;\n if (useKeyframes) {\n return this._cssKeyframesDriver.animate(element, keyframes, duration, delay, easing, previousPlayers);\n }\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions = { duration, delay, fill };\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n const previousStyles = {};\n const previousWebAnimationPlayers = previousPlayers.filter(player => player instanceof WebAnimationsPlayer);\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach(player => {\n let styles = player.currentSnapshot;\n Object.keys(styles).forEach(prop => previousStyles[prop] = styles[prop]);\n });\n }\n keyframes = keyframes.map(styles => copyStyles(styles, false));\n keyframes = balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, keyframes);\n return new WebAnimationsPlayer(element, keyframes, playerOptions, specialStyles);\n }\n}\nfunction supportsWebAnimations() {\n return typeof getElementAnimateFn() === 'function';\n}\nfunction getElementAnimateFn() {\n return (isBrowser() && Element.prototype['animate']) || {};\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AnimationDriver, Animation as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, CssKeyframesDriver as ɵCssKeyframesDriver, CssKeyframesPlayer as ɵCssKeyframesPlayer, NoopAnimationDriver as ɵNoopAnimationDriver, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, SpecialCasedStyles as ɵangular_packages_animations_browser_browser_a, containsElement as ɵcontainsElement, invokeQuery as ɵinvokeQuery, matchesElement as ɵmatchesElement, supportsWebAnimations as ɵsupportsWebAnimations, validateStyleProperty as ɵvalidateStyleProperty };\n\n","import * as i2 from '@angular/common';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, Inject, QueryList, NgZone, Directive, ElementRef, Input, InjectionToken, Optional, EventEmitter, Output, NgModule } from '@angular/core';\nimport { Subject, Subscription, BehaviorSubject, of } from 'rxjs';\nimport { hasModifierKey, A, Z, ZERO, NINE, END, HOME, LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, TAB, ALT, CONTROL, MAC_META, META, SHIFT } from '@angular/cdk/keycodes';\nimport { tap, debounceTime, filter, map, take, skip, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, coerceElement } from '@angular/cdk/coercion';\nimport * as i1 from '@angular/cdk/platform';\nimport { Platform, _getFocusedElementPierceShadowDom, normalizePassiveListenerOptions, _getEventTarget, _getShadowRoot, PlatformModule } from '@angular/cdk/platform';\nimport { ContentObserver, ObserversModule } from '@angular/cdk/observers';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** IDs are delimited by an empty space, as per the spec. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nimport * as ɵngcc2 from '@angular/cdk/observers';\nconst ID_DELIMITER = ' ';\n/**\n * Adds the given ID to the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction addAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n if (ids.some(existingId => existingId.trim() == id.trim())) {\n return;\n }\n ids.push(id.trim());\n el.setAttribute(attr, ids.join(ID_DELIMITER));\n}\n/**\n * Removes the given ID from the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction removeAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n const filteredIds = ids.filter(val => val != id.trim());\n if (filteredIds.length) {\n el.setAttribute(attr, filteredIds.join(ID_DELIMITER));\n }\n else {\n el.removeAttribute(attr);\n }\n}\n/**\n * Gets the list of IDs referenced by the given ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction getAriaReferenceIds(el, attr) {\n // Get string array of all individual ids (whitespace delimited) in the attribute value\n return (el.getAttribute(attr) || '').match(/\\S+/g) || [];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** ID used for the body container where all messages are appended. */\nconst MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';\n/** ID prefix used for each created message element. */\nconst CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';\n/** Attribute given to each host element that is described by a message element. */\nconst CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';\n/** Global incremental identifier for each registered message element. */\nlet nextId = 0;\n/** Global map of all registered message elements that have been placed into the document. */\nconst messageRegistry = new Map();\n/** Container for all registered messages. */\nlet messagesContainer = null;\n/**\n * Utility that creates visually hidden elements with a message content. Useful for elements that\n * want to use aria-describedby to further describe themselves without adding additional visual\n * content.\n */\nclass AriaDescriber {\n constructor(_document) {\n this._document = _document;\n }\n describe(hostElement, message, role) {\n if (!this._canBeDescribed(hostElement, message)) {\n return;\n }\n const key = getKey(message, role);\n if (typeof message !== 'string') {\n // We need to ensure that the element has an ID.\n setMessageId(message);\n messageRegistry.set(key, { messageElement: message, referenceCount: 0 });\n }\n else if (!messageRegistry.has(key)) {\n this._createMessageElement(message, role);\n }\n if (!this._isElementDescribedByMessage(hostElement, key)) {\n this._addMessageReference(hostElement, key);\n }\n }\n removeDescription(hostElement, message, role) {\n if (!message || !this._isElementNode(hostElement)) {\n return;\n }\n const key = getKey(message, role);\n if (this._isElementDescribedByMessage(hostElement, key)) {\n this._removeMessageReference(hostElement, key);\n }\n // If the message is a string, it means that it's one that we created for the\n // consumer so we can remove it safely, otherwise we should leave it in place.\n if (typeof message === 'string') {\n const registeredMessage = messageRegistry.get(key);\n if (registeredMessage && registeredMessage.referenceCount === 0) {\n this._deleteMessageElement(key);\n }\n }\n if (messagesContainer && messagesContainer.childNodes.length === 0) {\n this._deleteMessagesContainer();\n }\n }\n /** Unregisters all created message elements and removes the message container. */\n ngOnDestroy() {\n const describedElements = this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}]`);\n for (let i = 0; i < describedElements.length; i++) {\n this._removeCdkDescribedByReferenceIds(describedElements[i]);\n describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n if (messagesContainer) {\n this._deleteMessagesContainer();\n }\n messageRegistry.clear();\n }\n /**\n * Creates a new element in the visually hidden message container element with the message\n * as its content and adds it to the message registry.\n */\n _createMessageElement(message, role) {\n const messageElement = this._document.createElement('div');\n setMessageId(messageElement);\n messageElement.textContent = message;\n if (role) {\n messageElement.setAttribute('role', role);\n }\n this._createMessagesContainer();\n messagesContainer.appendChild(messageElement);\n messageRegistry.set(getKey(message, role), { messageElement, referenceCount: 0 });\n }\n /** Deletes the message element from the global messages container. */\n _deleteMessageElement(key) {\n const registeredMessage = messageRegistry.get(key);\n const messageElement = registeredMessage && registeredMessage.messageElement;\n if (messagesContainer && messageElement) {\n messagesContainer.removeChild(messageElement);\n }\n messageRegistry.delete(key);\n }\n /** Creates the global container for all aria-describedby messages. */\n _createMessagesContainer() {\n if (!messagesContainer) {\n const preExistingContainer = this._document.getElementById(MESSAGES_CONTAINER_ID);\n // When going from the server to the client, we may end up in a situation where there's\n // already a container on the page, but we don't have a reference to it. Clear the\n // old container so we don't get duplicates. Doing this, instead of emptying the previous\n // container, should be slightly faster.\n if (preExistingContainer && preExistingContainer.parentNode) {\n preExistingContainer.parentNode.removeChild(preExistingContainer);\n }\n messagesContainer = this._document.createElement('div');\n messagesContainer.id = MESSAGES_CONTAINER_ID;\n // We add `visibility: hidden` in order to prevent text in this container from\n // being searchable by the browser's Ctrl + F functionality.\n // Screen-readers will still read the description for elements with aria-describedby even\n // when the description element is not visible.\n messagesContainer.style.visibility = 'hidden';\n // Even though we use `visibility: hidden`, we still apply `cdk-visually-hidden` so that\n // the description element doesn't impact page layout.\n messagesContainer.classList.add('cdk-visually-hidden');\n this._document.body.appendChild(messagesContainer);\n }\n }\n /** Deletes the global messages container. */\n _deleteMessagesContainer() {\n if (messagesContainer && messagesContainer.parentNode) {\n messagesContainer.parentNode.removeChild(messagesContainer);\n messagesContainer = null;\n }\n }\n /** Removes all cdk-describedby messages that are hosted through the element. */\n _removeCdkDescribedByReferenceIds(element) {\n // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX\n const originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby')\n .filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);\n element.setAttribute('aria-describedby', originalReferenceIds.join(' '));\n }\n /**\n * Adds a message reference to the element using aria-describedby and increments the registered\n * message's reference count.\n */\n _addMessageReference(element, key) {\n const registeredMessage = messageRegistry.get(key);\n // Add the aria-describedby reference and set the\n // describedby_host attribute to mark the element.\n addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, '');\n registeredMessage.referenceCount++;\n }\n /**\n * Removes a message reference from the element using aria-describedby\n * and decrements the registered message's reference count.\n */\n _removeMessageReference(element, key) {\n const registeredMessage = messageRegistry.get(key);\n registeredMessage.referenceCount--;\n removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n /** Returns true if the element has been described by the provided message ID. */\n _isElementDescribedByMessage(element, key) {\n const referenceIds = getAriaReferenceIds(element, 'aria-describedby');\n const registeredMessage = messageRegistry.get(key);\n const messageId = registeredMessage && registeredMessage.messageElement.id;\n return !!messageId && referenceIds.indexOf(messageId) != -1;\n }\n /** Determines whether a message can be described on a particular element. */\n _canBeDescribed(element, message) {\n if (!this._isElementNode(element)) {\n return false;\n }\n if (message && typeof message === 'object') {\n // We'd have to make some assumptions about the description element's text, if the consumer\n // passed in an element. Assume that if an element is passed in, the consumer has verified\n // that it can be used as a description.\n return true;\n }\n const trimmedMessage = message == null ? '' : `${message}`.trim();\n const ariaLabel = element.getAttribute('aria-label');\n // We shouldn't set descriptions if they're exactly the same as the `aria-label` of the\n // element, because screen readers will end up reading out the same text twice in a row.\n return trimmedMessage ? (!ariaLabel || ariaLabel.trim() !== trimmedMessage) : false;\n }\n /** Checks whether a node is an Element node. */\n _isElementNode(element) {\n return element.nodeType === this._document.ELEMENT_NODE;\n }\n}\nAriaDescriber.ɵfac = function AriaDescriber_Factory(t) { return new (t || AriaDescriber)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nAriaDescriber.ɵprov = i0.ɵɵdefineInjectable({ factory: function AriaDescriber_Factory() { return new AriaDescriber(i0.ɵɵinject(i2.DOCUMENT)); }, token: AriaDescriber, providedIn: \"root\" });\nAriaDescriber.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AriaDescriber, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n/** Gets a key that can be used to look messages up in the registry. */\nfunction getKey(message, role) {\n return typeof message === 'string' ? `${role || ''}/${message}` : message;\n}\n/** Assigns a unique ID to an element, if it doesn't have one already. */\nfunction setMessageId(element) {\n if (!element.id) {\n element.id = `${CDK_DESCRIBEDBY_ID_PREFIX}-${nextId++}`;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nclass ListKeyManager {\n constructor(_items) {\n this._items = _items;\n this._activeItemIndex = -1;\n this._activeItem = null;\n this._wrap = false;\n this._letterKeyStream = new Subject();\n this._typeaheadSubscription = Subscription.EMPTY;\n this._vertical = true;\n this._allowedModifierKeys = [];\n this._homeAndEnd = false;\n /**\n * Predicate function that can be used to check whether an item should be skipped\n * by the key manager. By default, disabled items are skipped.\n */\n this._skipPredicateFn = (item) => item.disabled;\n // Buffer for the letters that the user has pressed when the typeahead option is turned on.\n this._pressedLetters = [];\n /**\n * Stream that emits any time the TAB key is pressed, so components can react\n * when focus is shifted off of the list.\n */\n this.tabOut = new Subject();\n /** Stream that emits whenever the active item of the list manager changes. */\n this.change = new Subject();\n // We allow for the items to be an array because, in some cases, the consumer may\n // not have access to a QueryList of the items they want to manage (e.g. when the\n // items aren't being collected via `ViewChildren` or `ContentChildren`).\n if (_items instanceof QueryList) {\n _items.changes.subscribe((newItems) => {\n if (this._activeItem) {\n const itemArray = newItems.toArray();\n const newIndex = itemArray.indexOf(this._activeItem);\n if (newIndex > -1 && newIndex !== this._activeItemIndex) {\n this._activeItemIndex = newIndex;\n }\n }\n });\n }\n }\n /**\n * Sets the predicate function that determines which items should be skipped by the\n * list key manager.\n * @param predicate Function that determines whether the given item should be skipped.\n */\n skipPredicate(predicate) {\n this._skipPredicateFn = predicate;\n return this;\n }\n /**\n * Configures wrapping mode, which determines whether the active item will wrap to\n * the other end of list when there are no more items in the given direction.\n * @param shouldWrap Whether the list should wrap when reaching the end.\n */\n withWrap(shouldWrap = true) {\n this._wrap = shouldWrap;\n return this;\n }\n /**\n * Configures whether the key manager should be able to move the selection vertically.\n * @param enabled Whether vertical selection should be enabled.\n */\n withVerticalOrientation(enabled = true) {\n this._vertical = enabled;\n return this;\n }\n /**\n * Configures the key manager to move the selection horizontally.\n * Passing in `null` will disable horizontal movement.\n * @param direction Direction in which the selection can be moved.\n */\n withHorizontalOrientation(direction) {\n this._horizontal = direction;\n return this;\n }\n /**\n * Modifier keys which are allowed to be held down and whose default actions will be prevented\n * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.\n */\n withAllowedModifierKeys(keys) {\n this._allowedModifierKeys = keys;\n return this;\n }\n /**\n * Turns on typeahead mode which allows users to set the active item by typing.\n * @param debounceInterval Time to wait after the last keystroke before setting the active item.\n */\n withTypeAhead(debounceInterval = 200) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && (this._items.length &&\n this._items.some(item => typeof item.getLabel !== 'function'))) {\n throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n }\n this._typeaheadSubscription.unsubscribe();\n // Debounce the presses of non-navigational keys, collect the ones that correspond to letters\n // and convert those letters back into a string. Afterwards find the first item that starts\n // with that string and select it.\n this._typeaheadSubscription = this._letterKeyStream.pipe(tap(letter => this._pressedLetters.push(letter)), debounceTime(debounceInterval), filter(() => this._pressedLetters.length > 0), map(() => this._pressedLetters.join(''))).subscribe(inputString => {\n const items = this._getItemsArray();\n // Start at 1 because we want to start searching at the item immediately\n // following the current active item.\n for (let i = 1; i < items.length + 1; i++) {\n const index = (this._activeItemIndex + i) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item) &&\n item.getLabel().toUpperCase().trim().indexOf(inputString) === 0) {\n this.setActiveItem(index);\n break;\n }\n }\n this._pressedLetters = [];\n });\n return this;\n }\n /**\n * Configures the key manager to activate the first and last items\n * respectively when the Home or End key is pressed.\n * @param enabled Whether pressing the Home or End key activates the first/last item.\n */\n withHomeAndEnd(enabled = true) {\n this._homeAndEnd = enabled;\n return this;\n }\n setActiveItem(item) {\n const previousActiveItem = this._activeItem;\n this.updateActiveItem(item);\n if (this._activeItem !== previousActiveItem) {\n this.change.next(this._activeItemIndex);\n }\n }\n /**\n * Sets the active item depending on the key event passed in.\n * @param event Keyboard event to be used for determining which element should be active.\n */\n onKeydown(event) {\n const keyCode = event.keyCode;\n const modifiers = ['altKey', 'ctrlKey', 'metaKey', 'shiftKey'];\n const isModifierAllowed = modifiers.every(modifier => {\n return !event[modifier] || this._allowedModifierKeys.indexOf(modifier) > -1;\n });\n switch (keyCode) {\n case TAB:\n this.tabOut.next();\n return;\n case DOWN_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case UP_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case RIGHT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setPreviousItemActive() : this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case LEFT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setNextItemActive() : this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case HOME:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setFirstItemActive();\n break;\n }\n else {\n return;\n }\n case END:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setLastItemActive();\n break;\n }\n else {\n return;\n }\n default:\n if (isModifierAllowed || hasModifierKey(event, 'shiftKey')) {\n // Attempt to use the `event.key` which also maps it to the user's keyboard language,\n // otherwise fall back to resolving alphanumeric characters via the keyCode.\n if (event.key && event.key.length === 1) {\n this._letterKeyStream.next(event.key.toLocaleUpperCase());\n }\n else if ((keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE)) {\n this._letterKeyStream.next(String.fromCharCode(keyCode));\n }\n }\n // Note that we return here, in order to avoid preventing\n // the default action of non-navigational keys.\n return;\n }\n this._pressedLetters = [];\n event.preventDefault();\n }\n /** Index of the currently active item. */\n get activeItemIndex() {\n return this._activeItemIndex;\n }\n /** The active item. */\n get activeItem() {\n return this._activeItem;\n }\n /** Gets whether the user is currently typing into the manager using the typeahead feature. */\n isTyping() {\n return this._pressedLetters.length > 0;\n }\n /** Sets the active item to the first enabled item in the list. */\n setFirstItemActive() {\n this._setActiveItemByIndex(0, 1);\n }\n /** Sets the active item to the last enabled item in the list. */\n setLastItemActive() {\n this._setActiveItemByIndex(this._items.length - 1, -1);\n }\n /** Sets the active item to the next enabled item in the list. */\n setNextItemActive() {\n this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n }\n /** Sets the active item to a previous enabled item in the list. */\n setPreviousItemActive() {\n this._activeItemIndex < 0 && this._wrap ? this.setLastItemActive()\n : this._setActiveItemByDelta(-1);\n }\n updateActiveItem(item) {\n const itemArray = this._getItemsArray();\n const index = typeof item === 'number' ? item : itemArray.indexOf(item);\n const activeItem = itemArray[index];\n // Explicitly check for `null` and `undefined` because other falsy values are valid.\n this._activeItem = activeItem == null ? null : activeItem;\n this._activeItemIndex = index;\n }\n /**\n * This method sets the active item, given a list of items and the delta between the\n * currently active item and the new active item. It will calculate differently\n * depending on whether wrap mode is turned on.\n */\n _setActiveItemByDelta(delta) {\n this._wrap ? this._setActiveInWrapMode(delta) : this._setActiveInDefaultMode(delta);\n }\n /**\n * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n * down the list until it finds an item that is not disabled, and it will wrap if it\n * encounters either end of the list.\n */\n _setActiveInWrapMode(delta) {\n const items = this._getItemsArray();\n for (let i = 1; i <= items.length; i++) {\n const index = (this._activeItemIndex + (delta * i) + items.length) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item)) {\n this.setActiveItem(index);\n return;\n }\n }\n }\n /**\n * Sets the active item properly given the default mode. In other words, it will\n * continue to move down the list until it finds an item that is not disabled. If\n * it encounters either end of the list, it will stop and not wrap.\n */\n _setActiveInDefaultMode(delta) {\n this._setActiveItemByIndex(this._activeItemIndex + delta, delta);\n }\n /**\n * Sets the active item to the first enabled item starting at the index specified. If the\n * item is disabled, it will move in the fallbackDelta direction until it either\n * finds an enabled item or encounters the end of the list.\n */\n _setActiveItemByIndex(index, fallbackDelta) {\n const items = this._getItemsArray();\n if (!items[index]) {\n return;\n }\n while (this._skipPredicateFn(items[index])) {\n index += fallbackDelta;\n if (!items[index]) {\n return;\n }\n }\n this.setActiveItem(index);\n }\n /** Returns the items as an array. */\n _getItemsArray() {\n return this._items instanceof QueryList ? this._items.toArray() : this._items;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ActiveDescendantKeyManager extends ListKeyManager {\n setActiveItem(index) {\n if (this.activeItem) {\n this.activeItem.setInactiveStyles();\n }\n super.setActiveItem(index);\n if (this.activeItem) {\n this.activeItem.setActiveStyles();\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass FocusKeyManager extends ListKeyManager {\n constructor() {\n super(...arguments);\n this._origin = 'program';\n }\n /**\n * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.\n * @param origin Focus origin to be used when focusing items.\n */\n setFocusOrigin(origin) {\n this._origin = origin;\n return this;\n }\n setActiveItem(item) {\n super.setActiveItem(item);\n if (this.activeItem) {\n this.activeItem.focus(this._origin);\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Configuration for the isFocusable method.\n */\nclass IsFocusableConfig {\n constructor() {\n /**\n * Whether to count an element as focusable even if it is not currently visible.\n */\n this.ignoreVisibility = false;\n }\n}\n// The InteractivityChecker leans heavily on the ally.js accessibility utilities.\n// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are\n// supported.\n/**\n * Utility for checking the interactivity of an element, such as whether is is focusable or\n * tabbable.\n */\nclass InteractivityChecker {\n constructor(_platform) {\n this._platform = _platform;\n }\n /**\n * Gets whether an element is disabled.\n *\n * @param element Element to be checked.\n * @returns Whether the element is disabled.\n */\n isDisabled(element) {\n // This does not capture some cases, such as a non-form control with a disabled attribute or\n // a form control inside of a disabled form, but should capture the most common cases.\n return element.hasAttribute('disabled');\n }\n /**\n * Gets whether an element is visible for the purposes of interactivity.\n *\n * This will capture states like `display: none` and `visibility: hidden`, but not things like\n * being clipped by an `overflow: hidden` parent or being outside the viewport.\n *\n * @returns Whether the element is visible.\n */\n isVisible(element) {\n return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';\n }\n /**\n * Gets whether an element can be reached via Tab key.\n * Assumes that the element has already been checked with isFocusable.\n *\n * @param element Element to be checked.\n * @returns Whether the element is tabbable.\n */\n isTabbable(element) {\n // Nothing is tabbable on the server 😎\n if (!this._platform.isBrowser) {\n return false;\n }\n const frameElement = getFrameElement(getWindow(element));\n if (frameElement) {\n // Frame elements inherit their tabindex onto all child elements.\n if (getTabIndexValue(frameElement) === -1) {\n return false;\n }\n // Browsers disable tabbing to an element inside of an invisible frame.\n if (!this.isVisible(frameElement)) {\n return false;\n }\n }\n let nodeName = element.nodeName.toLowerCase();\n let tabIndexValue = getTabIndexValue(element);\n if (element.hasAttribute('contenteditable')) {\n return tabIndexValue !== -1;\n }\n if (nodeName === 'iframe' || nodeName === 'object') {\n // The frame or object's content may be tabbable depending on the content, but it's\n // not possibly to reliably detect the content of the frames. We always consider such\n // elements as non-tabbable.\n return false;\n }\n // In iOS, the browser only considers some specific elements as tabbable.\n if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {\n return false;\n }\n if (nodeName === 'audio') {\n // Audio elements without controls enabled are never tabbable, regardless\n // of the tabindex attribute explicitly being set.\n if (!element.hasAttribute('controls')) {\n return false;\n }\n // Audio elements with controls are by default tabbable unless the\n // tabindex attribute is set to `-1` explicitly.\n return tabIndexValue !== -1;\n }\n if (nodeName === 'video') {\n // For all video elements, if the tabindex attribute is set to `-1`, the video\n // is not tabbable. Note: We cannot rely on the default `HTMLElement.tabIndex`\n // property as that one is set to `-1` in Chrome, Edge and Safari v13.1. The\n // tabindex attribute is the source of truth here.\n if (tabIndexValue === -1) {\n return false;\n }\n // If the tabindex is explicitly set, and not `-1` (as per check before), the\n // video element is always tabbable (regardless of whether it has controls or not).\n if (tabIndexValue !== null) {\n return true;\n }\n // Otherwise (when no explicit tabindex is set), a video is only tabbable if it\n // has controls enabled. Firefox is special as videos are always tabbable regardless\n // of whether there are controls or not.\n return this._platform.FIREFOX || element.hasAttribute('controls');\n }\n return element.tabIndex >= 0;\n }\n /**\n * Gets whether an element can be focused by the user.\n *\n * @param element Element to be checked.\n * @param config The config object with options to customize this method's behavior\n * @returns Whether the element is focusable.\n */\n isFocusable(element, config) {\n // Perform checks in order of left to most expensive.\n // Again, naive approach that does not capture many edge cases and browser quirks.\n return isPotentiallyFocusable(element) && !this.isDisabled(element) &&\n ((config === null || config === void 0 ? void 0 : config.ignoreVisibility) || this.isVisible(element));\n }\n}\nInteractivityChecker.ɵfac = function InteractivityChecker_Factory(t) { return new (t || InteractivityChecker)(ɵngcc0.ɵɵinject(ɵngcc1.Platform)); };\nInteractivityChecker.ɵprov = i0.ɵɵdefineInjectable({ factory: function InteractivityChecker_Factory() { return new InteractivityChecker(i0.ɵɵinject(i1.Platform)); }, token: InteractivityChecker, providedIn: \"root\" });\nInteractivityChecker.ctorParameters = () => [\n { type: Platform }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(InteractivityChecker, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }]; }, null); })();\n/**\n * Returns the frame element from a window object. Since browsers like MS Edge throw errors if\n * the frameElement property is being accessed from a different host address, this property\n * should be accessed carefully.\n */\nfunction getFrameElement(window) {\n try {\n return window.frameElement;\n }\n catch (_a) {\n return null;\n }\n}\n/** Checks whether the specified element has any geometry / rectangles. */\nfunction hasGeometry(element) {\n // Use logic from jQuery to check for an invisible element.\n // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12\n return !!(element.offsetWidth || element.offsetHeight ||\n (typeof element.getClientRects === 'function' && element.getClientRects().length));\n}\n/** Gets whether an element's */\nfunction isNativeFormElement(element) {\n let nodeName = element.nodeName.toLowerCase();\n return nodeName === 'input' ||\n nodeName === 'select' ||\n nodeName === 'button' ||\n nodeName === 'textarea';\n}\n/** Gets whether an element is an ``. */\nfunction isHiddenInput(element) {\n return isInputElement(element) && element.type == 'hidden';\n}\n/** Gets whether an element is an anchor that has an href attribute. */\nfunction isAnchorWithHref(element) {\n return isAnchorElement(element) && element.hasAttribute('href');\n}\n/** Gets whether an element is an input element. */\nfunction isInputElement(element) {\n return element.nodeName.toLowerCase() == 'input';\n}\n/** Gets whether an element is an anchor element. */\nfunction isAnchorElement(element) {\n return element.nodeName.toLowerCase() == 'a';\n}\n/** Gets whether an element has a valid tabindex. */\nfunction hasValidTabIndex(element) {\n if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {\n return false;\n }\n let tabIndex = element.getAttribute('tabindex');\n // IE11 parses tabindex=\"\" as the value \"-32768\"\n if (tabIndex == '-32768') {\n return false;\n }\n return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));\n}\n/**\n * Returns the parsed tabindex from the element attributes instead of returning the\n * evaluated tabindex from the browsers defaults.\n */\nfunction getTabIndexValue(element) {\n if (!hasValidTabIndex(element)) {\n return null;\n }\n // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n const tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);\n return isNaN(tabIndex) ? -1 : tabIndex;\n}\n/** Checks whether the specified element is potentially tabbable on iOS */\nfunction isPotentiallyTabbableIOS(element) {\n let nodeName = element.nodeName.toLowerCase();\n let inputType = nodeName === 'input' && element.type;\n return inputType === 'text'\n || inputType === 'password'\n || nodeName === 'select'\n || nodeName === 'textarea';\n}\n/**\n * Gets whether an element is potentially focusable without taking current visible/disabled state\n * into account.\n */\nfunction isPotentiallyFocusable(element) {\n // Inputs are potentially focusable *unless* they're type=\"hidden\".\n if (isHiddenInput(element)) {\n return false;\n }\n return isNativeFormElement(element) ||\n isAnchorWithHref(element) ||\n element.hasAttribute('contenteditable') ||\n hasValidTabIndex(element);\n}\n/** Gets the parent window of a DOM node with regards of being inside of an iframe. */\nfunction getWindow(node) {\n // ownerDocument is null if `node` itself *is* a document.\n return node.ownerDocument && node.ownerDocument.defaultView || window;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class currently uses a relatively simple approach to focus trapping.\n * It assumes that the tab order is the same as DOM order, which is not necessarily true.\n * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause the two to be misaligned.\n *\n * @deprecated Use `ConfigurableFocusTrap` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrap {\n constructor(_element, _checker, _ngZone, _document, deferAnchors = false) {\n this._element = _element;\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n this._hasAttached = false;\n // Event listeners for the anchors. Need to be regular functions so that we can unbind them later.\n this.startAnchorListener = () => this.focusLastTabbableElement();\n this.endAnchorListener = () => this.focusFirstTabbableElement();\n this._enabled = true;\n if (!deferAnchors) {\n this.attachAnchors();\n }\n }\n /** Whether the focus trap is active. */\n get enabled() { return this._enabled; }\n set enabled(value) {\n this._enabled = value;\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(value, this._startAnchor);\n this._toggleAnchorTabIndex(value, this._endAnchor);\n }\n }\n /** Destroys the focus trap by cleaning up the anchors. */\n destroy() {\n const startAnchor = this._startAnchor;\n const endAnchor = this._endAnchor;\n if (startAnchor) {\n startAnchor.removeEventListener('focus', this.startAnchorListener);\n if (startAnchor.parentNode) {\n startAnchor.parentNode.removeChild(startAnchor);\n }\n }\n if (endAnchor) {\n endAnchor.removeEventListener('focus', this.endAnchorListener);\n if (endAnchor.parentNode) {\n endAnchor.parentNode.removeChild(endAnchor);\n }\n }\n this._startAnchor = this._endAnchor = null;\n this._hasAttached = false;\n }\n /**\n * Inserts the anchors into the DOM. This is usually done automatically\n * in the constructor, but can be deferred for cases like directives with `*ngIf`.\n * @returns Whether the focus trap managed to attach successfully. This may not be the case\n * if the target element isn't currently in the DOM.\n */\n attachAnchors() {\n // If we're not on the browser, there can be no focus to trap.\n if (this._hasAttached) {\n return true;\n }\n this._ngZone.runOutsideAngular(() => {\n if (!this._startAnchor) {\n this._startAnchor = this._createAnchor();\n this._startAnchor.addEventListener('focus', this.startAnchorListener);\n }\n if (!this._endAnchor) {\n this._endAnchor = this._createAnchor();\n this._endAnchor.addEventListener('focus', this.endAnchorListener);\n }\n });\n if (this._element.parentNode) {\n this._element.parentNode.insertBefore(this._startAnchor, this._element);\n this._element.parentNode.insertBefore(this._endAnchor, this._element.nextSibling);\n this._hasAttached = true;\n }\n return this._hasAttached;\n }\n /**\n * Waits for the zone to stabilize, then either focuses the first element that the\n * user specified, or the first tabbable element.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusInitialElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusInitialElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the first tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusFirstTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusFirstTabbableElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the last tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusLastTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusLastTabbableElement(options)));\n });\n }\n /**\n * Get the specified boundary element of the trapped region.\n * @param bound The boundary to get (start or end of trapped region).\n * @returns The boundary element.\n */\n _getRegionBoundary(bound) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n let markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` +\n `[cdkFocusRegion${bound}], ` +\n `[cdk-focus-${bound}]`);\n for (let i = 0; i < markers.length; i++) {\n // @breaking-change 8.0.0\n if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated ` +\n `attribute will be removed in 8.0.0.`, markers[i]);\n }\n else if (markers[i].hasAttribute(`cdk-focus-region-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated attribute ` +\n `will be removed in 8.0.0.`, markers[i]);\n }\n }\n if (bound == 'start') {\n return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);\n }\n return markers.length ?\n markers[markers.length - 1] : this._getLastTabbableElement(this._element);\n }\n /**\n * Focuses the element that should be focused when the focus trap is initialized.\n * @returns Whether focus was moved successfully.\n */\n focusInitialElement(options) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` +\n `[cdkFocusInitial]`);\n if (redirectToElement) {\n // @breaking-change 8.0.0\n if (redirectToElement.hasAttribute(`cdk-focus-initial`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-initial', ` +\n `use 'cdkFocusInitial' instead. The deprecated attribute ` +\n `will be removed in 8.0.0`, redirectToElement);\n }\n // Warn the consumer if the element they've pointed to\n // isn't focusable, when not in production mode.\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n !this._checker.isFocusable(redirectToElement)) {\n console.warn(`Element matching '[cdkFocusInitial]' is not focusable.`, redirectToElement);\n }\n if (!this._checker.isFocusable(redirectToElement)) {\n const focusableChild = this._getFirstTabbableElement(redirectToElement);\n focusableChild === null || focusableChild === void 0 ? void 0 : focusableChild.focus(options);\n return !!focusableChild;\n }\n redirectToElement.focus(options);\n return true;\n }\n return this.focusFirstTabbableElement(options);\n }\n /**\n * Focuses the first tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusFirstTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('start');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Focuses the last tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusLastTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('end');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Checks whether the focus trap has successfully been attached.\n */\n hasAttached() {\n return this._hasAttached;\n }\n /** Get the first tabbable element from a DOM subtree (inclusive). */\n _getFirstTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n // Iterate in DOM order. Note that IE doesn't have `children` for SVG so we fall\n // back to `childNodes` which includes text nodes, comments etc.\n let children = root.children || root.childNodes;\n for (let i = 0; i < children.length; i++) {\n let tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?\n this._getFirstTabbableElement(children[i]) :\n null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Get the last tabbable element from a DOM subtree (inclusive). */\n _getLastTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n // Iterate in reverse DOM order.\n let children = root.children || root.childNodes;\n for (let i = children.length - 1; i >= 0; i--) {\n let tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?\n this._getLastTabbableElement(children[i]) :\n null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Creates an anchor element. */\n _createAnchor() {\n const anchor = this._document.createElement('div');\n this._toggleAnchorTabIndex(this._enabled, anchor);\n anchor.classList.add('cdk-visually-hidden');\n anchor.classList.add('cdk-focus-trap-anchor');\n anchor.setAttribute('aria-hidden', 'true');\n return anchor;\n }\n /**\n * Toggles the `tabindex` of an anchor, based on the enabled state of the focus trap.\n * @param isEnabled Whether the focus trap is enabled.\n * @param anchor Anchor on which to toggle the tabindex.\n */\n _toggleAnchorTabIndex(isEnabled, anchor) {\n // Remove the tabindex completely, rather than setting it to -1, because if the\n // element has a tabindex, the user might still hit it when navigating with the arrow keys.\n isEnabled ? anchor.setAttribute('tabindex', '0') : anchor.removeAttribute('tabindex');\n }\n /**\n * Toggles the`tabindex` of both anchors to either trap Tab focus or allow it to escape.\n * @param enabled: Whether the anchors should trap Tab.\n */\n toggleAnchors(enabled) {\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(enabled, this._startAnchor);\n this._toggleAnchorTabIndex(enabled, this._endAnchor);\n }\n }\n /** Executes a function when the zone is stable. */\n _executeOnStable(fn) {\n if (this._ngZone.isStable) {\n fn();\n }\n else {\n this._ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n}\n/**\n * Factory that allows easy instantiation of focus traps.\n * @deprecated Use `ConfigurableFocusTrapFactory` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrapFactory {\n constructor(_checker, _ngZone, _document) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n }\n /**\n * Creates a focus-trapped region around the given element.\n * @param element The element around which focus will be trapped.\n * @param deferCaptureElements Defers the creation of focus-capturing elements to be done\n * manually by the user.\n * @returns The created focus trap instance.\n */\n create(element, deferCaptureElements = false) {\n return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements);\n }\n}\nFocusTrapFactory.ɵfac = function FocusTrapFactory_Factory(t) { return new (t || FocusTrapFactory)(ɵngcc0.ɵɵinject(InteractivityChecker), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT)); };\nFocusTrapFactory.ɵprov = i0.ɵɵdefineInjectable({ factory: function FocusTrapFactory_Factory() { return new FocusTrapFactory(i0.ɵɵinject(InteractivityChecker), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.DOCUMENT)); }, token: FocusTrapFactory, providedIn: \"root\" });\nFocusTrapFactory.ctorParameters = () => [\n { type: InteractivityChecker },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FocusTrapFactory, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: InteractivityChecker }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n/** Directive for trapping focus within a region. */\nclass CdkTrapFocus {\n constructor(_elementRef, _focusTrapFactory, \n /**\n * @deprecated No longer being used. To be removed.\n * @breaking-change 13.0.0\n */\n _document) {\n this._elementRef = _elementRef;\n this._focusTrapFactory = _focusTrapFactory;\n /** Previously focused element to restore focus to upon destroy when using autoCapture. */\n this._previouslyFocusedElement = null;\n this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n }\n /** Whether the focus trap is active. */\n get enabled() { return this.focusTrap.enabled; }\n set enabled(value) { this.focusTrap.enabled = coerceBooleanProperty(value); }\n /**\n * Whether the directive should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n get autoCapture() { return this._autoCapture; }\n set autoCapture(value) { this._autoCapture = coerceBooleanProperty(value); }\n ngOnDestroy() {\n this.focusTrap.destroy();\n // If we stored a previously focused element when using autoCapture, return focus to that\n // element now that the trapped region is being destroyed.\n if (this._previouslyFocusedElement) {\n this._previouslyFocusedElement.focus();\n this._previouslyFocusedElement = null;\n }\n }\n ngAfterContentInit() {\n this.focusTrap.attachAnchors();\n if (this.autoCapture) {\n this._captureFocus();\n }\n }\n ngDoCheck() {\n if (!this.focusTrap.hasAttached()) {\n this.focusTrap.attachAnchors();\n }\n }\n ngOnChanges(changes) {\n const autoCaptureChange = changes['autoCapture'];\n if (autoCaptureChange && !autoCaptureChange.firstChange && this.autoCapture &&\n this.focusTrap.hasAttached()) {\n this._captureFocus();\n }\n }\n _captureFocus() {\n this._previouslyFocusedElement = _getFocusedElementPierceShadowDom();\n this.focusTrap.focusInitialElementWhenReady();\n }\n}\nCdkTrapFocus.ɵfac = function CdkTrapFocus_Factory(t) { return new (t || CdkTrapFocus)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(FocusTrapFactory), ɵngcc0.ɵɵdirectiveInject(DOCUMENT)); };\nCdkTrapFocus.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkTrapFocus, selectors: [[\"\", \"cdkTrapFocus\", \"\"]], inputs: { enabled: [\"cdkTrapFocus\", \"enabled\"], autoCapture: [\"cdkTrapFocusAutoCapture\", \"autoCapture\"] }, exportAs: [\"cdkTrapFocus\"], features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkTrapFocus.ctorParameters = () => [\n { type: ElementRef },\n { type: FocusTrapFactory },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\nCdkTrapFocus.propDecorators = {\n enabled: [{ type: Input, args: ['cdkTrapFocus',] }],\n autoCapture: [{ type: Input, args: ['cdkTrapFocusAutoCapture',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTrapFocus, [{\n type: Directive,\n args: [{\n selector: '[cdkTrapFocus]',\n exportAs: 'cdkTrapFocus'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: FocusTrapFactory }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { enabled: [{\n type: Input,\n args: ['cdkTrapFocus']\n }], autoCapture: [{\n type: Input,\n args: ['cdkTrapFocusAutoCapture']\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class uses a strategy pattern that determines how it traps focus.\n * See FocusTrapInertStrategy.\n */\nclass ConfigurableFocusTrap extends FocusTrap {\n constructor(_element, _checker, _ngZone, _document, _focusTrapManager, _inertStrategy, config) {\n super(_element, _checker, _ngZone, _document, config.defer);\n this._focusTrapManager = _focusTrapManager;\n this._inertStrategy = _inertStrategy;\n this._focusTrapManager.register(this);\n }\n /** Whether the FocusTrap is enabled. */\n get enabled() { return this._enabled; }\n set enabled(value) {\n this._enabled = value;\n if (this._enabled) {\n this._focusTrapManager.register(this);\n }\n else {\n this._focusTrapManager.deregister(this);\n }\n }\n /** Notifies the FocusTrapManager that this FocusTrap will be destroyed. */\n destroy() {\n this._focusTrapManager.deregister(this);\n super.destroy();\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _enable() {\n this._inertStrategy.preventFocus(this);\n this.toggleAnchors(true);\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _disable() {\n this._inertStrategy.allowFocus(this);\n this.toggleAnchors(false);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The injection token used to specify the inert strategy. */\nconst FOCUS_TRAP_INERT_STRATEGY = new InjectionToken('FOCUS_TRAP_INERT_STRATEGY');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** IE 11 compatible closest implementation that is able to start from non-Element Nodes. */\nfunction closest(element, selector) {\n if (!(element instanceof Node)) {\n return null;\n }\n let curr = element;\n while (curr != null && !(curr instanceof Element)) {\n curr = curr.parentNode;\n }\n return curr && (hasNativeClosest ?\n curr.closest(selector) : polyfillClosest(curr, selector));\n}\n/** Polyfill for browsers without Element.closest. */\nfunction polyfillClosest(element, selector) {\n let curr = element;\n while (curr != null && !(curr instanceof Element && matches(curr, selector))) {\n curr = curr.parentNode;\n }\n return (curr || null);\n}\nconst hasNativeClosest = typeof Element != 'undefined' && !!Element.prototype.closest;\n/** IE 11 compatible matches implementation. */\nfunction matches(element, selector) {\n return element.matches ?\n element.matches(selector) :\n element['msMatchesSelector'](selector);\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 * Lightweight FocusTrapInertStrategy that adds a document focus event\n * listener to redirect focus back inside the FocusTrap.\n */\nclass EventListenerFocusTrapInertStrategy {\n constructor() {\n /** Focus event handler. */\n this._listener = null;\n }\n /** Adds a document event listener that keeps focus inside the FocusTrap. */\n preventFocus(focusTrap) {\n // Ensure there's only one listener per document\n if (this._listener) {\n focusTrap._document.removeEventListener('focus', this._listener, true);\n }\n this._listener = (e) => this._trapFocus(focusTrap, e);\n focusTrap._ngZone.runOutsideAngular(() => {\n focusTrap._document.addEventListener('focus', this._listener, true);\n });\n }\n /** Removes the event listener added in preventFocus. */\n allowFocus(focusTrap) {\n if (!this._listener) {\n return;\n }\n focusTrap._document.removeEventListener('focus', this._listener, true);\n this._listener = null;\n }\n /**\n * Refocuses the first element in the FocusTrap if the focus event target was outside\n * the FocusTrap.\n *\n * This is an event listener callback. The event listener is added in runOutsideAngular,\n * so all this code runs outside Angular as well.\n */\n _trapFocus(focusTrap, event) {\n const target = event.target;\n const focusTrapRoot = focusTrap._element;\n // Don't refocus if target was in an overlay, because the overlay might be associated\n // with an element inside the FocusTrap, ex. mat-select.\n if (!focusTrapRoot.contains(target) && closest(target, 'div.cdk-overlay-pane') === null) {\n // Some legacy FocusTrap usages have logic that focuses some element on the page\n // just before FocusTrap is destroyed. For backwards compatibility, wait\n // to be sure FocusTrap is still enabled before refocusing.\n setTimeout(() => {\n // Check whether focus wasn't put back into the focus trap while the timeout was pending.\n if (focusTrap.enabled && !focusTrapRoot.contains(focusTrap._document.activeElement)) {\n focusTrap.focusFirstTabbableElement();\n }\n });\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Injectable that ensures only the most recently enabled FocusTrap is active. */\nclass FocusTrapManager {\n constructor() {\n // A stack of the FocusTraps on the page. Only the FocusTrap at the\n // top of the stack is active.\n this._focusTrapStack = [];\n }\n /**\n * Disables the FocusTrap at the top of the stack, and then pushes\n * the new FocusTrap onto the stack.\n */\n register(focusTrap) {\n // Dedupe focusTraps that register multiple times.\n this._focusTrapStack = this._focusTrapStack.filter((ft) => ft !== focusTrap);\n let stack = this._focusTrapStack;\n if (stack.length) {\n stack[stack.length - 1]._disable();\n }\n stack.push(focusTrap);\n focusTrap._enable();\n }\n /**\n * Removes the FocusTrap from the stack, and activates the\n * FocusTrap that is the new top of the stack.\n */\n deregister(focusTrap) {\n focusTrap._disable();\n const stack = this._focusTrapStack;\n const i = stack.indexOf(focusTrap);\n if (i !== -1) {\n stack.splice(i, 1);\n if (stack.length) {\n stack[stack.length - 1]._enable();\n }\n }\n }\n}\nFocusTrapManager.ɵfac = function FocusTrapManager_Factory(t) { return new (t || FocusTrapManager)(); };\nFocusTrapManager.ɵprov = i0.ɵɵdefineInjectable({ factory: function FocusTrapManager_Factory() { return new FocusTrapManager(); }, token: FocusTrapManager, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FocusTrapManager, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Factory that allows easy instantiation of configurable focus traps. */\nclass ConfigurableFocusTrapFactory {\n constructor(_checker, _ngZone, _focusTrapManager, _document, _inertStrategy) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._focusTrapManager = _focusTrapManager;\n this._document = _document;\n // TODO split up the strategies into different modules, similar to DateAdapter.\n this._inertStrategy = _inertStrategy || new EventListenerFocusTrapInertStrategy();\n }\n create(element, config = { defer: false }) {\n let configObject;\n if (typeof config === 'boolean') {\n configObject = { defer: config };\n }\n else {\n configObject = config;\n }\n return new ConfigurableFocusTrap(element, this._checker, this._ngZone, this._document, this._focusTrapManager, this._inertStrategy, configObject);\n }\n}\nConfigurableFocusTrapFactory.ɵfac = function ConfigurableFocusTrapFactory_Factory(t) { return new (t || ConfigurableFocusTrapFactory)(ɵngcc0.ɵɵinject(InteractivityChecker), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(FocusTrapManager), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(FOCUS_TRAP_INERT_STRATEGY, 8)); };\nConfigurableFocusTrapFactory.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConfigurableFocusTrapFactory_Factory() { return new ConfigurableFocusTrapFactory(i0.ɵɵinject(InteractivityChecker), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(FocusTrapManager), i0.ɵɵinject(i2.DOCUMENT), i0.ɵɵinject(FOCUS_TRAP_INERT_STRATEGY, 8)); }, token: ConfigurableFocusTrapFactory, providedIn: \"root\" });\nConfigurableFocusTrapFactory.ctorParameters = () => [\n { type: InteractivityChecker },\n { type: NgZone },\n { type: FocusTrapManager },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [FOCUS_TRAP_INERT_STRATEGY,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ConfigurableFocusTrapFactory, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: InteractivityChecker }, { type: ɵngcc0.NgZone }, { type: FocusTrapManager }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_TRAP_INERT_STRATEGY]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Gets whether an event could be a faked `mousedown` event dispatched by a screen reader. */\nfunction isFakeMousedownFromScreenReader(event) {\n // Some screen readers will dispatch a fake `mousedown` event when pressing enter or space on\n // a clickable element. We can distinguish these events when both `offsetX` and `offsetY` are\n // zero. Note that there's an edge case where the user could click the 0x0 spot of the screen\n // themselves, but that is unlikely to contain interaction elements. Historially we used to check\n // `event.buttons === 0`, however that no longer works on recent versions of NVDA.\n return event.offsetX === 0 && event.offsetY === 0;\n}\n/** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */\nfunction isFakeTouchstartFromScreenReader(event) {\n const touch = (event.touches && event.touches[0]) ||\n (event.changedTouches && event.changedTouches[0]);\n // A fake `touchstart` can be distinguished from a real one by looking at the `identifier`\n // which is typically >= 0 on a real device versus -1 from a screen reader. Just to be safe,\n // we can also look at `radiusX` and `radiusY`. This behavior was observed against a Windows 10\n // device with a touch screen running NVDA v2020.4 and Firefox 85 or Chrome 88.\n return !!touch && touch.identifier === -1 && (touch.radiusX == null || touch.radiusX === 1) &&\n (touch.radiusY == null || touch.radiusY === 1);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injectable options for the InputModalityDetector. These are shallowly merged with the default\n * options.\n */\nconst INPUT_MODALITY_DETECTOR_OPTIONS = new InjectionToken('cdk-input-modality-detector-options');\n/**\n * Default options for the InputModalityDetector.\n *\n * Modifier keys are ignored by default (i.e. when pressed won't cause the service to detect\n * keyboard input modality) for two reasons:\n *\n * 1. Modifier keys are commonly used with mouse to perform actions such as 'right click' or 'open\n * in new tab', and are thus less representative of actual keyboard interaction.\n * 2. VoiceOver triggers some keyboard events when linearly navigating with Control + Option (but\n * confusingly not with Caps Lock). Thus, to have parity with other screen readers, we ignore\n * these keys so as to not update the input modality.\n *\n * Note that we do not by default ignore the right Meta key on Safari because it has the same key\n * code as the ContextMenu key on other browsers. When we switch to using event.key, we can\n * distinguish between the two.\n */\nconst INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS = {\n ignoreKeys: [ALT, CONTROL, MAC_META, META, SHIFT],\n};\n/**\n * The amount of time needed to pass after a touchstart event in order for a subsequent mousedown\n * event to be attributed as mouse and not touch.\n *\n * This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found\n * that a value of around 650ms seems appropriate.\n */\nconst TOUCH_BUFFER_MS = 650;\n/**\n * Event listener options that enable capturing and also mark the listener as passive if the browser\n * supports it.\n */\nconst modalityEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true,\n});\n/**\n * Service that detects the user's input modality.\n *\n * This service does not update the input modality when a user navigates with a screen reader\n * (e.g. linear navigation with VoiceOver, object navigation / browse mode with NVDA, virtual PC\n * cursor mode with JAWS). This is in part due to technical limitations (i.e. keyboard events do not\n * fire as expected in these modes) but is also arguably the correct behavior. Navigating with a\n * screen reader is akin to visually scanning a page, and should not be interpreted as actual user\n * input interaction.\n *\n * When a user is not navigating but *interacting* with a screen reader, this service attempts to\n * update the input modality to keyboard, but in general this service's behavior is largely\n * undefined.\n */\nclass InputModalityDetector {\n constructor(_platform, ngZone, document, options) {\n this._platform = _platform;\n /**\n * The most recently detected input modality event target. Is null if no input modality has been\n * detected or if the associated event target is null for some unknown reason.\n */\n this._mostRecentTarget = null;\n /** The underlying BehaviorSubject that emits whenever an input modality is detected. */\n this._modality = new BehaviorSubject(null);\n /**\n * The timestamp of the last touch input modality. Used to determine whether mousedown events\n * should be attributed to mouse or touch.\n */\n this._lastTouchMs = 0;\n /**\n * Handles keydown events. Must be an arrow function in order to preserve the context when it gets\n * bound.\n */\n this._onKeydown = (event) => {\n var _a, _b;\n // If this is one of the keys we should ignore, then ignore it and don't update the input\n // modality to keyboard.\n if ((_b = (_a = this._options) === null || _a === void 0 ? void 0 : _a.ignoreKeys) === null || _b === void 0 ? void 0 : _b.some(keyCode => keyCode === event.keyCode)) {\n return;\n }\n this._modality.next('keyboard');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles mousedown events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onMousedown = (event) => {\n // Touches trigger both touch and mouse events, so we need to distinguish between mouse events\n // that were triggered via mouse vs touch. To do so, check if the mouse event occurs closely\n // after the previous touch event.\n if (Date.now() - this._lastTouchMs < TOUCH_BUFFER_MS) {\n return;\n }\n // Fake mousedown events are fired by some screen readers when controls are activated by the\n // screen reader. Attribute them to keyboard input modality.\n this._modality.next(isFakeMousedownFromScreenReader(event) ? 'keyboard' : 'mouse');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles touchstart events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onTouchstart = (event) => {\n // Same scenario as mentioned in _onMousedown, but on touch screen devices, fake touchstart\n // events are fired. Again, attribute to keyboard input modality.\n if (isFakeTouchstartFromScreenReader(event)) {\n this._modality.next('keyboard');\n return;\n }\n // Store the timestamp of this touch event, as it's used to distinguish between mouse events\n // triggered via mouse vs touch.\n this._lastTouchMs = Date.now();\n this._modality.next('touch');\n this._mostRecentTarget = _getEventTarget(event);\n };\n this._options = Object.assign(Object.assign({}, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS), options);\n // Skip the first emission as it's null.\n this.modalityDetected = this._modality.pipe(skip(1));\n this.modalityChanged = this.modalityDetected.pipe(distinctUntilChanged());\n // If we're not in a browser, this service should do nothing, as there's no relevant input\n // modality to detect.\n if (_platform.isBrowser) {\n ngZone.runOutsideAngular(() => {\n document.addEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.addEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.addEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n });\n }\n }\n /** The most recently detected input modality. */\n get mostRecentModality() {\n return this._modality.value;\n }\n ngOnDestroy() {\n this._modality.complete();\n if (this._platform.isBrowser) {\n document.removeEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.removeEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.removeEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n }\n }\n}\nInputModalityDetector.ɵfac = function InputModalityDetector_Factory(t) { return new (t || InputModalityDetector)(ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(INPUT_MODALITY_DETECTOR_OPTIONS, 8)); };\nInputModalityDetector.ɵprov = i0.ɵɵdefineInjectable({ factory: function InputModalityDetector_Factory() { return new InputModalityDetector(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.DOCUMENT), i0.ɵɵinject(INPUT_MODALITY_DETECTOR_OPTIONS, 8)); }, token: InputModalityDetector, providedIn: \"root\" });\nInputModalityDetector.ctorParameters = () => [\n { type: Platform },\n { type: NgZone },\n { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [INPUT_MODALITY_DETECTOR_OPTIONS,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(InputModalityDetector, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }, { type: ɵngcc0.NgZone }, { type: Document, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [INPUT_MODALITY_DETECTOR_OPTIONS]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst LIVE_ANNOUNCER_ELEMENT_TOKEN = new InjectionToken('liveAnnouncerElement', {\n providedIn: 'root',\n factory: LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY,\n});\n/** @docs-private */\nfunction LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY() {\n return null;\n}\n/** Injection token that can be used to configure the default options for the LiveAnnouncer. */\nconst LIVE_ANNOUNCER_DEFAULT_OPTIONS = new InjectionToken('LIVE_ANNOUNCER_DEFAULT_OPTIONS');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass LiveAnnouncer {\n constructor(elementToken, _ngZone, _document, _defaultOptions) {\n this._ngZone = _ngZone;\n this._defaultOptions = _defaultOptions;\n // We inject the live element and document as `any` because the constructor signature cannot\n // reference browser globals (HTMLElement, Document) on non-browser environments, since having\n // a class decorator causes TypeScript to preserve the constructor signature types.\n this._document = _document;\n this._liveElement = elementToken || this._createLiveElement();\n }\n announce(message, ...args) {\n const defaultOptions = this._defaultOptions;\n let politeness;\n let duration;\n if (args.length === 1 && typeof args[0] === 'number') {\n duration = args[0];\n }\n else {\n [politeness, duration] = args;\n }\n this.clear();\n clearTimeout(this._previousTimeout);\n if (!politeness) {\n politeness =\n (defaultOptions && defaultOptions.politeness) ? defaultOptions.politeness : 'polite';\n }\n if (duration == null && defaultOptions) {\n duration = defaultOptions.duration;\n }\n // TODO: ensure changing the politeness works on all environments we support.\n this._liveElement.setAttribute('aria-live', politeness);\n // This 100ms timeout is necessary for some browser + screen-reader combinations:\n // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\n // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\n // second time without clearing and then using a non-zero delay.\n // (using JAWS 17 at time of this writing).\n return this._ngZone.runOutsideAngular(() => {\n return new Promise(resolve => {\n clearTimeout(this._previousTimeout);\n this._previousTimeout = setTimeout(() => {\n this._liveElement.textContent = message;\n resolve();\n if (typeof duration === 'number') {\n this._previousTimeout = setTimeout(() => this.clear(), duration);\n }\n }, 100);\n });\n });\n }\n /**\n * Clears the current text from the announcer element. Can be used to prevent\n * screen readers from reading the text out again while the user is going\n * through the page landmarks.\n */\n clear() {\n if (this._liveElement) {\n this._liveElement.textContent = '';\n }\n }\n ngOnDestroy() {\n clearTimeout(this._previousTimeout);\n if (this._liveElement && this._liveElement.parentNode) {\n this._liveElement.parentNode.removeChild(this._liveElement);\n this._liveElement = null;\n }\n }\n _createLiveElement() {\n const elementClass = 'cdk-live-announcer-element';\n const previousElements = this._document.getElementsByClassName(elementClass);\n const liveEl = this._document.createElement('div');\n // Remove any old containers. This can happen when coming in from a server-side-rendered page.\n for (let i = 0; i < previousElements.length; i++) {\n previousElements[i].parentNode.removeChild(previousElements[i]);\n }\n liveEl.classList.add(elementClass);\n liveEl.classList.add('cdk-visually-hidden');\n liveEl.setAttribute('aria-atomic', 'true');\n liveEl.setAttribute('aria-live', 'polite');\n this._document.body.appendChild(liveEl);\n return liveEl;\n }\n}\nLiveAnnouncer.ɵfac = function LiveAnnouncer_Factory(t) { return new (t || LiveAnnouncer)(ɵngcc0.ɵɵinject(LIVE_ANNOUNCER_ELEMENT_TOKEN, 8), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(LIVE_ANNOUNCER_DEFAULT_OPTIONS, 8)); };\nLiveAnnouncer.ɵprov = i0.ɵɵdefineInjectable({ factory: function LiveAnnouncer_Factory() { return new LiveAnnouncer(i0.ɵɵinject(LIVE_ANNOUNCER_ELEMENT_TOKEN, 8), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.DOCUMENT), i0.ɵɵinject(LIVE_ANNOUNCER_DEFAULT_OPTIONS, 8)); }, token: LiveAnnouncer, providedIn: \"root\" });\nLiveAnnouncer.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [LIVE_ANNOUNCER_ELEMENT_TOKEN,] }] },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LiveAnnouncer, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_ELEMENT_TOKEN]\n }] }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS]\n }] }]; }, null); })();\n/**\n * A directive that works similarly to aria-live, but uses the LiveAnnouncer to ensure compatibility\n * with a wider range of browsers and screen readers.\n */\nclass CdkAriaLive {\n constructor(_elementRef, _liveAnnouncer, _contentObserver, _ngZone) {\n this._elementRef = _elementRef;\n this._liveAnnouncer = _liveAnnouncer;\n this._contentObserver = _contentObserver;\n this._ngZone = _ngZone;\n this._politeness = 'polite';\n }\n /** The aria-live politeness level to use when announcing messages. */\n get politeness() { return this._politeness; }\n set politeness(value) {\n this._politeness = value === 'off' || value === 'assertive' ? value : 'polite';\n if (this._politeness === 'off') {\n if (this._subscription) {\n this._subscription.unsubscribe();\n this._subscription = null;\n }\n }\n else if (!this._subscription) {\n this._subscription = this._ngZone.runOutsideAngular(() => {\n return this._contentObserver\n .observe(this._elementRef)\n .subscribe(() => {\n // Note that we use textContent here, rather than innerText, in order to avoid a reflow.\n const elementText = this._elementRef.nativeElement.textContent;\n // The `MutationObserver` fires also for attribute\n // changes which we don't want to announce.\n if (elementText !== this._previousAnnouncedText) {\n this._liveAnnouncer.announce(elementText, this._politeness);\n this._previousAnnouncedText = elementText;\n }\n });\n });\n }\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n }\n}\nCdkAriaLive.ɵfac = function CdkAriaLive_Factory(t) { return new (t || CdkAriaLive)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(LiveAnnouncer), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.ContentObserver), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nCdkAriaLive.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkAriaLive, selectors: [[\"\", \"cdkAriaLive\", \"\"]], inputs: { politeness: [\"cdkAriaLive\", \"politeness\"] }, exportAs: [\"cdkAriaLive\"] });\nCdkAriaLive.ctorParameters = () => [\n { type: ElementRef },\n { type: LiveAnnouncer },\n { type: ContentObserver },\n { type: NgZone }\n];\nCdkAriaLive.propDecorators = {\n politeness: [{ type: Input, args: ['cdkAriaLive',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkAriaLive, [{\n type: Directive,\n args: [{\n selector: '[cdkAriaLive]',\n exportAs: 'cdkAriaLive'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: LiveAnnouncer }, { type: ɵngcc2.ContentObserver }, { type: ɵngcc0.NgZone }]; }, { politeness: [{\n type: Input,\n args: ['cdkAriaLive']\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** InjectionToken for FocusMonitorOptions. */\nconst FOCUS_MONITOR_DEFAULT_OPTIONS = new InjectionToken('cdk-focus-monitor-default-options');\n/**\n * Event listener options that enable capturing and also\n * mark the listener as passive if the browser supports it.\n */\nconst captureEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true\n});\n/** Monitors mouse and keyboard events to determine the cause of focus events. */\nclass FocusMonitor {\n constructor(_ngZone, _platform, _inputModalityDetector, \n /** @breaking-change 11.0.0 make document required */\n document, options) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n this._inputModalityDetector = _inputModalityDetector;\n /** The focus origin that the next focus event is a result of. */\n this._origin = null;\n /** Whether the window has just been focused. */\n this._windowFocused = false;\n /**\n * Whether the origin was determined via a touch interaction. Necessary as properly attributing\n * focus events to touch interactions requires special logic.\n */\n this._originFromTouchInteraction = false;\n /** Map of elements being monitored to their info. */\n this._elementInfo = new Map();\n /** The number of elements currently being monitored. */\n this._monitoredElementCount = 0;\n /**\n * Keeps track of the root nodes to which we've currently bound a focus/blur handler,\n * as well as the number of monitored elements that they contain. We have to treat focus/blur\n * handlers differently from the rest of the events, because the browser won't emit events\n * to the document when focus moves inside of a shadow root.\n */\n this._rootNodeFocusListenerCount = new Map();\n /**\n * Event listener for `focus` events on the window.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._windowFocusListener = () => {\n // Make a note of when the window regains focus, so we can\n // restore the origin info for the focused element.\n this._windowFocused = true;\n this._windowFocusTimeoutId = setTimeout(() => this._windowFocused = false);\n };\n /** Subject for stopping our InputModalityDetector subscription. */\n this._stopInputModalityDetector = new Subject();\n /**\n * Event listener for `focus` and 'blur' events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._rootNodeFocusAndBlurListener = (event) => {\n const target = _getEventTarget(event);\n const handler = event.type === 'focus' ? this._onFocus : this._onBlur;\n // We need to walk up the ancestor chain in order to support `checkChildren`.\n for (let element = target; element; element = element.parentElement) {\n handler.call(this, event, element);\n }\n };\n this._document = document;\n this._detectionMode = (options === null || options === void 0 ? void 0 : options.detectionMode) || 0 /* IMMEDIATE */;\n }\n monitor(element, checkChildren = false) {\n const nativeElement = coerceElement(element);\n // Do nothing if we're not on the browser platform or the passed in node isn't an element.\n if (!this._platform.isBrowser || nativeElement.nodeType !== 1) {\n return of(null);\n }\n // If the element is inside the shadow DOM, we need to bind our focus/blur listeners to\n // the shadow root, rather than the `document`, because the browser won't emit focus events\n // to the `document`, if focus is moving within the same shadow root.\n const rootNode = _getShadowRoot(nativeElement) || this._getDocument();\n const cachedInfo = this._elementInfo.get(nativeElement);\n // Check if we're already monitoring this element.\n if (cachedInfo) {\n if (checkChildren) {\n // TODO(COMP-318): this can be problematic, because it'll turn all non-checkChildren\n // observers into ones that behave as if `checkChildren` was turned on. We need a more\n // robust solution.\n cachedInfo.checkChildren = true;\n }\n return cachedInfo.subject;\n }\n // Create monitored element info.\n const info = {\n checkChildren: checkChildren,\n subject: new Subject(),\n rootNode\n };\n this._elementInfo.set(nativeElement, info);\n this._registerGlobalListeners(info);\n return info.subject;\n }\n stopMonitoring(element) {\n const nativeElement = coerceElement(element);\n const elementInfo = this._elementInfo.get(nativeElement);\n if (elementInfo) {\n elementInfo.subject.complete();\n this._setClasses(nativeElement);\n this._elementInfo.delete(nativeElement);\n this._removeGlobalListeners(elementInfo);\n }\n }\n focusVia(element, origin, options) {\n const nativeElement = coerceElement(element);\n const focusedElement = this._getDocument().activeElement;\n // If the element is focused already, calling `focus` again won't trigger the event listener\n // which means that the focus classes won't be updated. If that's the case, update the classes\n // directly without waiting for an event.\n if (nativeElement === focusedElement) {\n this._getClosestElementsInfo(nativeElement)\n .forEach(([currentElement, info]) => this._originChanged(currentElement, origin, info));\n }\n else {\n this._setOrigin(origin);\n // `focus` isn't available on the server\n if (typeof nativeElement.focus === 'function') {\n nativeElement.focus(options);\n }\n }\n }\n ngOnDestroy() {\n this._elementInfo.forEach((_info, element) => this.stopMonitoring(element));\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n _toggleClass(element, className, shouldSet) {\n if (shouldSet) {\n element.classList.add(className);\n }\n else {\n element.classList.remove(className);\n }\n }\n _getFocusOrigin(focusEventTarget) {\n if (this._origin) {\n // If the origin was realized via a touch interaction, we need to perform additional checks\n // to determine whether the focus origin should be attributed to touch or program.\n if (this._originFromTouchInteraction) {\n return this._shouldBeAttributedToTouch(focusEventTarget) ? 'touch' : 'program';\n }\n else {\n return this._origin;\n }\n }\n // If the window has just regained focus, we can restore the most recent origin from before the\n // window blurred. Otherwise, we've reached the point where we can't identify the source of the\n // focus. This typically means one of two things happened:\n //\n // 1) The element was programmatically focused, or\n // 2) The element was focused via screen reader navigation (which generally doesn't fire\n // events).\n //\n // Because we can't distinguish between these two cases, we default to setting `program`.\n return (this._windowFocused && this._lastFocusOrigin) ? this._lastFocusOrigin : 'program';\n }\n /**\n * Returns whether the focus event should be attributed to touch. Recall that in IMMEDIATE mode, a\n * touch origin isn't immediately reset at the next tick (see _setOrigin). This means that when we\n * handle a focus event following a touch interaction, we need to determine whether (1) the focus\n * event was directly caused by the touch interaction or (2) the focus event was caused by a\n * subsequent programmatic focus call triggered by the touch interaction.\n * @param focusEventTarget The target of the focus event under examination.\n */\n _shouldBeAttributedToTouch(focusEventTarget) {\n // Please note that this check is not perfect. Consider the following edge case:\n //\n //
\n //
\n //
\n //\n // Suppose there is a FocusMonitor in IMMEDIATE mode attached to #parent. When the user touches\n // #child, #parent is programmatically focused. This code will attribute the focus to touch\n // instead of program. This is a relatively minor edge-case that can be worked around by using\n // focusVia(parent, 'program') to focus #parent.\n return (this._detectionMode === 1 /* EVENTUAL */) ||\n !!(focusEventTarget === null || focusEventTarget === void 0 ? void 0 : focusEventTarget.contains(this._inputModalityDetector._mostRecentTarget));\n }\n /**\n * Sets the focus classes on the element based on the given focus origin.\n * @param element The element to update the classes on.\n * @param origin The focus origin.\n */\n _setClasses(element, origin) {\n this._toggleClass(element, 'cdk-focused', !!origin);\n this._toggleClass(element, 'cdk-touch-focused', origin === 'touch');\n this._toggleClass(element, 'cdk-keyboard-focused', origin === 'keyboard');\n this._toggleClass(element, 'cdk-mouse-focused', origin === 'mouse');\n this._toggleClass(element, 'cdk-program-focused', origin === 'program');\n }\n /**\n * Updates the focus origin. If we're using immediate detection mode, we schedule an async\n * function to clear the origin at the end of a timeout. The duration of the timeout depends on\n * the origin being set.\n * @param origin The origin to set.\n * @param isFromInteraction Whether we are setting the origin from an interaction event.\n */\n _setOrigin(origin, isFromInteraction = false) {\n this._ngZone.runOutsideAngular(() => {\n this._origin = origin;\n this._originFromTouchInteraction = (origin === 'touch') && isFromInteraction;\n // If we're in IMMEDIATE mode, reset the origin at the next tick (or in `TOUCH_BUFFER_MS` ms\n // for a touch event). We reset the origin at the next tick because Firefox focuses one tick\n // after the interaction event. We wait `TOUCH_BUFFER_MS` ms before resetting the origin for\n // a touch event because when a touch event is fired, the associated focus event isn't yet in\n // the event queue. Before doing so, clear any pending timeouts.\n if (this._detectionMode === 0 /* IMMEDIATE */) {\n clearTimeout(this._originTimeoutId);\n const ms = this._originFromTouchInteraction ? TOUCH_BUFFER_MS : 1;\n this._originTimeoutId = setTimeout(() => this._origin = null, ms);\n }\n });\n }\n /**\n * Handles focus events on a registered element.\n * @param event The focus event.\n * @param element The monitored element.\n */\n _onFocus(event, element) {\n // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent\n // focus event affecting the monitored element. If we want to use the origin of the first event\n // instead we should check for the cdk-focused class here and return if the element already has\n // it. (This only matters for elements that have includesChildren = true).\n // If we are not counting child-element-focus as focused, make sure that the event target is the\n // monitored element itself.\n const elementInfo = this._elementInfo.get(element);\n const focusEventTarget = _getEventTarget(event);\n if (!elementInfo || (!elementInfo.checkChildren && element !== focusEventTarget)) {\n return;\n }\n this._originChanged(element, this._getFocusOrigin(focusEventTarget), elementInfo);\n }\n /**\n * Handles blur events on a registered element.\n * @param event The blur event.\n * @param element The monitored element.\n */\n _onBlur(event, element) {\n // If we are counting child-element-focus as focused, make sure that we aren't just blurring in\n // order to focus another child of the monitored element.\n const elementInfo = this._elementInfo.get(element);\n if (!elementInfo || (elementInfo.checkChildren && event.relatedTarget instanceof Node &&\n element.contains(event.relatedTarget))) {\n return;\n }\n this._setClasses(element);\n this._emitOrigin(elementInfo.subject, null);\n }\n _emitOrigin(subject, origin) {\n this._ngZone.run(() => subject.next(origin));\n }\n _registerGlobalListeners(elementInfo) {\n if (!this._platform.isBrowser) {\n return;\n }\n const rootNode = elementInfo.rootNode;\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode) || 0;\n if (!rootNodeFocusListeners) {\n this._ngZone.runOutsideAngular(() => {\n rootNode.addEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.addEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n });\n }\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners + 1);\n // Register global listeners when first element is monitored.\n if (++this._monitoredElementCount === 1) {\n // Note: we listen to events in the capture phase so we\n // can detect them even if the user stops propagation.\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n window.addEventListener('focus', this._windowFocusListener);\n });\n // The InputModalityDetector is also just a collection of global listeners.\n this._inputModalityDetector.modalityDetected\n .pipe(takeUntil(this._stopInputModalityDetector))\n .subscribe(modality => { this._setOrigin(modality, true /* isFromInteraction */); });\n }\n }\n _removeGlobalListeners(elementInfo) {\n const rootNode = elementInfo.rootNode;\n if (this._rootNodeFocusListenerCount.has(rootNode)) {\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode);\n if (rootNodeFocusListeners > 1) {\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners - 1);\n }\n else {\n rootNode.removeEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.removeEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n this._rootNodeFocusListenerCount.delete(rootNode);\n }\n }\n // Unregister global listeners when last element is unmonitored.\n if (!--this._monitoredElementCount) {\n const window = this._getWindow();\n window.removeEventListener('focus', this._windowFocusListener);\n // Equivalently, stop our InputModalityDetector subscription.\n this._stopInputModalityDetector.next();\n // Clear timeouts for all potentially pending timeouts to prevent the leaks.\n clearTimeout(this._windowFocusTimeoutId);\n clearTimeout(this._originTimeoutId);\n }\n }\n /** Updates all the state on an element once its focus origin has changed. */\n _originChanged(element, origin, elementInfo) {\n this._setClasses(element, origin);\n this._emitOrigin(elementInfo.subject, origin);\n this._lastFocusOrigin = origin;\n }\n /**\n * Collects the `MonitoredElementInfo` of a particular element and\n * all of its ancestors that have enabled `checkChildren`.\n * @param element Element from which to start the search.\n */\n _getClosestElementsInfo(element) {\n const results = [];\n this._elementInfo.forEach((info, currentElement) => {\n if (currentElement === element || (info.checkChildren && currentElement.contains(element))) {\n results.push([currentElement, info]);\n }\n });\n return results;\n }\n}\nFocusMonitor.ɵfac = function FocusMonitor_Factory(t) { return new (t || FocusMonitor)(ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(InputModalityDetector), ɵngcc0.ɵɵinject(DOCUMENT, 8), ɵngcc0.ɵɵinject(FOCUS_MONITOR_DEFAULT_OPTIONS, 8)); };\nFocusMonitor.ɵprov = i0.ɵɵdefineInjectable({ factory: function FocusMonitor_Factory() { return new FocusMonitor(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.Platform), i0.ɵɵinject(InputModalityDetector), i0.ɵɵinject(i2.DOCUMENT, 8), i0.ɵɵinject(FOCUS_MONITOR_DEFAULT_OPTIONS, 8)); }, token: FocusMonitor, providedIn: \"root\" });\nFocusMonitor.ctorParameters = () => [\n { type: NgZone },\n { type: Platform },\n { type: InputModalityDetector },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [FOCUS_MONITOR_DEFAULT_OPTIONS,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FocusMonitor, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc0.NgZone }, { type: ɵngcc1.Platform }, { type: InputModalityDetector }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_MONITOR_DEFAULT_OPTIONS]\n }] }]; }, null); })();\n/**\n * Directive that determines how a particular element was focused (via keyboard, mouse, touch, or\n * programmatically) and adds corresponding classes to the element.\n *\n * There are two variants of this directive:\n * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is\n * focused.\n * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.\n */\nclass CdkMonitorFocus {\n constructor(_elementRef, _focusMonitor) {\n this._elementRef = _elementRef;\n this._focusMonitor = _focusMonitor;\n this.cdkFocusChange = new EventEmitter();\n }\n ngAfterViewInit() {\n const element = this._elementRef.nativeElement;\n this._monitorSubscription = this._focusMonitor.monitor(element, element.nodeType === 1 && element.hasAttribute('cdkMonitorSubtreeFocus'))\n .subscribe(origin => this.cdkFocusChange.emit(origin));\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n if (this._monitorSubscription) {\n this._monitorSubscription.unsubscribe();\n }\n }\n}\nCdkMonitorFocus.ɵfac = function CdkMonitorFocus_Factory(t) { return new (t || CdkMonitorFocus)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(FocusMonitor)); };\nCdkMonitorFocus.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkMonitorFocus, selectors: [[\"\", \"cdkMonitorElementFocus\", \"\"], [\"\", \"cdkMonitorSubtreeFocus\", \"\"]], outputs: { cdkFocusChange: \"cdkFocusChange\" } });\nCdkMonitorFocus.ctorParameters = () => [\n { type: ElementRef },\n { type: FocusMonitor }\n];\nCdkMonitorFocus.propDecorators = {\n cdkFocusChange: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkMonitorFocus, [{\n type: Directive,\n args: [{\n selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: FocusMonitor }]; }, { cdkFocusChange: [{\n type: Output\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** CSS class applied to the document body when in black-on-white high-contrast mode. */\nconst BLACK_ON_WHITE_CSS_CLASS = 'cdk-high-contrast-black-on-white';\n/** CSS class applied to the document body when in white-on-black high-contrast mode. */\nconst WHITE_ON_BLACK_CSS_CLASS = 'cdk-high-contrast-white-on-black';\n/** CSS class applied to the document body when in high-contrast mode. */\nconst HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS = 'cdk-high-contrast-active';\n/**\n * Service to determine whether the browser is currently in a high-contrast-mode environment.\n *\n * Microsoft Windows supports an accessibility feature called \"High Contrast Mode\". This mode\n * changes the appearance of all applications, including web applications, to dramatically increase\n * contrast.\n *\n * IE, Edge, and Firefox currently support this mode. Chrome does not support Windows High Contrast\n * Mode. This service does not detect high-contrast mode as added by the Chrome \"High Contrast\"\n * browser extension.\n */\nclass HighContrastModeDetector {\n constructor(_platform, document) {\n this._platform = _platform;\n this._document = document;\n }\n /** Gets the current high-contrast-mode for the page. */\n getHighContrastMode() {\n if (!this._platform.isBrowser) {\n return 0 /* NONE */;\n }\n // Create a test element with an arbitrary background-color that is neither black nor\n // white; high-contrast mode will coerce the color to either black or white. Also ensure that\n // appending the test element to the DOM does not affect layout by absolutely positioning it\n const testElement = this._document.createElement('div');\n testElement.style.backgroundColor = 'rgb(1,2,3)';\n testElement.style.position = 'absolute';\n this._document.body.appendChild(testElement);\n // Get the computed style for the background color, collapsing spaces to normalize between\n // browsers. Once we get this color, we no longer need the test element. Access the `window`\n // via the document so we can fake it in tests. Note that we have extra null checks, because\n // this logic will likely run during app bootstrap and throwing can break the entire app.\n const documentWindow = this._document.defaultView || window;\n const computedStyle = (documentWindow && documentWindow.getComputedStyle) ?\n documentWindow.getComputedStyle(testElement) : null;\n const computedColor = (computedStyle && computedStyle.backgroundColor || '').replace(/ /g, '');\n this._document.body.removeChild(testElement);\n switch (computedColor) {\n case 'rgb(0,0,0)': return 2 /* WHITE_ON_BLACK */;\n case 'rgb(255,255,255)': return 1 /* BLACK_ON_WHITE */;\n }\n return 0 /* NONE */;\n }\n /** Applies CSS classes indicating high-contrast mode to document body (browser-only). */\n _applyBodyHighContrastModeCssClasses() {\n if (!this._hasCheckedHighContrastMode && this._platform.isBrowser && this._document.body) {\n const bodyClasses = this._document.body.classList;\n // IE11 doesn't support `classList` operations with multiple arguments\n bodyClasses.remove(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.remove(BLACK_ON_WHITE_CSS_CLASS);\n bodyClasses.remove(WHITE_ON_BLACK_CSS_CLASS);\n this._hasCheckedHighContrastMode = true;\n const mode = this.getHighContrastMode();\n if (mode === 1 /* BLACK_ON_WHITE */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.add(BLACK_ON_WHITE_CSS_CLASS);\n }\n else if (mode === 2 /* WHITE_ON_BLACK */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.add(WHITE_ON_BLACK_CSS_CLASS);\n }\n }\n }\n}\nHighContrastModeDetector.ɵfac = function HighContrastModeDetector_Factory(t) { return new (t || HighContrastModeDetector)(ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(DOCUMENT)); };\nHighContrastModeDetector.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighContrastModeDetector_Factory() { return new HighContrastModeDetector(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i2.DOCUMENT)); }, token: HighContrastModeDetector, providedIn: \"root\" });\nHighContrastModeDetector.ctorParameters = () => [\n { type: Platform },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(HighContrastModeDetector, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass A11yModule {\n constructor(highContrastModeDetector) {\n highContrastModeDetector._applyBodyHighContrastModeCssClasses();\n }\n}\nA11yModule.ɵfac = function A11yModule_Factory(t) { return new (t || A11yModule)(ɵngcc0.ɵɵinject(HighContrastModeDetector)); };\nA11yModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: A11yModule });\nA11yModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[PlatformModule, ObserversModule]] });\nA11yModule.ctorParameters = () => [\n { type: HighContrastModeDetector }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(A11yModule, [{\n type: NgModule,\n args: [{\n imports: [PlatformModule, ObserversModule],\n declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus]\n }]\n }], function () { return [{ type: HighContrastModeDetector }]; }, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(A11yModule, { declarations: function () { return [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus]; }, imports: function () { return [PlatformModule, ObserversModule]; }, exports: function () { return [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { A11yModule, ActiveDescendantKeyManager, AriaDescriber, CDK_DESCRIBEDBY_HOST_ATTRIBUTE, CDK_DESCRIBEDBY_ID_PREFIX, CdkAriaLive, CdkMonitorFocus, CdkTrapFocus, ConfigurableFocusTrap, ConfigurableFocusTrapFactory, EventListenerFocusTrapInertStrategy, FOCUS_MONITOR_DEFAULT_OPTIONS, FOCUS_TRAP_INERT_STRATEGY, FocusKeyManager, FocusMonitor, FocusTrap, FocusTrapFactory, HighContrastModeDetector, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS, INPUT_MODALITY_DETECTOR_OPTIONS, InputModalityDetector, InteractivityChecker, IsFocusableConfig, LIVE_ANNOUNCER_DEFAULT_OPTIONS, LIVE_ANNOUNCER_ELEMENT_TOKEN, LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY, ListKeyManager, LiveAnnouncer, MESSAGES_CONTAINER_ID, isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader, FocusTrapManager as ɵangular_material_src_cdk_a11y_a11y_a };\n\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, EventEmitter, Injectable, Optional, Inject, Directive, Output, Input, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token used to inject the document into Directionality.\n * This is used so that the value can be faked in tests.\n *\n * We can't use the real document in tests because changing the real `dir` causes geometry-based\n * tests in Safari to fail.\n *\n * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests\n * themselves use things like `querySelector` in test code.\n *\n * This token is defined in a separate file from Directionality as a workaround for\n * https://github.com/angular/angular/issues/22559\n *\n * @docs-private\n */\nimport * as ɵngcc0 from '@angular/core';\nconst DIR_DOCUMENT = new InjectionToken('cdk-dir-doc', {\n providedIn: 'root',\n factory: DIR_DOCUMENT_FACTORY,\n});\n/** @docs-private */\nfunction DIR_DOCUMENT_FACTORY() {\n return inject(DOCUMENT);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The directionality (LTR / RTL) context for the application (or a subtree of it).\n * Exposes the current direction and a stream of direction changes.\n */\nclass Directionality {\n constructor(_document) {\n /** The current 'ltr' or 'rtl' value. */\n this.value = 'ltr';\n /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */\n this.change = new EventEmitter();\n if (_document) {\n // TODO: handle 'auto' value -\n // We still need to account for dir=\"auto\".\n // It looks like HTMLElemenet.dir is also \"auto\" when that's set to the attribute,\n // but getComputedStyle return either \"ltr\" or \"rtl\". avoiding getComputedStyle for now\n const bodyDir = _document.body ? _document.body.dir : null;\n const htmlDir = _document.documentElement ? _document.documentElement.dir : null;\n const value = bodyDir || htmlDir;\n this.value = (value === 'ltr' || value === 'rtl') ? value : 'ltr';\n }\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDirectionality.ɵfac = function Directionality_Factory(t) { return new (t || Directionality)(ɵngcc0.ɵɵinject(DIR_DOCUMENT, 8)); };\nDirectionality.ɵprov = i0.ɵɵdefineInjectable({ factory: function Directionality_Factory() { return new Directionality(i0.ɵɵinject(DIR_DOCUMENT, 8)); }, token: Directionality, providedIn: \"root\" });\nDirectionality.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DIR_DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Directionality, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DIR_DOCUMENT]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Directive to listen for changes of direction of part of the DOM.\n *\n * Provides itself as Directionality such that descendant directives only need to ever inject\n * Directionality to get the closest direction.\n */\nclass Dir {\n constructor() {\n /** Normalized direction that accounts for invalid/unsupported values. */\n this._dir = 'ltr';\n /** Whether the `value` has been set to its initial value. */\n this._isInitialized = false;\n /** Event emitted when the direction changes. */\n this.change = new EventEmitter();\n }\n /** @docs-private */\n get dir() { return this._dir; }\n set dir(value) {\n const old = this._dir;\n const normalizedValue = value ? value.toLowerCase() : value;\n this._rawDir = value;\n this._dir = (normalizedValue === 'ltr' || normalizedValue === 'rtl') ? normalizedValue : 'ltr';\n if (old !== this._dir && this._isInitialized) {\n this.change.emit(this._dir);\n }\n }\n /** Current layout direction of the element. */\n get value() { return this.dir; }\n /** Initialize once default value has been set. */\n ngAfterContentInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDir.ɵfac = function Dir_Factory(t) { return new (t || Dir)(); };\nDir.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: Dir, selectors: [[\"\", \"dir\", \"\"]], hostVars: 1, hostBindings: function Dir_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"dir\", ctx._rawDir);\n } }, inputs: { dir: \"dir\" }, outputs: { change: \"dirChange\" }, exportAs: [\"dir\"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: Directionality, useExisting: Dir }])] });\nDir.propDecorators = {\n change: [{ type: Output, args: ['dirChange',] }],\n dir: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Dir, [{\n type: Directive,\n args: [{\n selector: '[dir]',\n providers: [{ provide: Directionality, useExisting: Dir }],\n host: { '[attr.dir]': '_rawDir' },\n exportAs: 'dir'\n }]\n }], function () { return []; }, { change: [{\n type: Output,\n args: ['dirChange']\n }], dir: [{\n type: Input\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass BidiModule {\n}\nBidiModule.ɵfac = function BidiModule_Factory(t) { return new (t || BidiModule)(); };\nBidiModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: BidiModule });\nBidiModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BidiModule, [{\n type: NgModule,\n args: [{\n exports: [Dir],\n declarations: [Dir]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(BidiModule, { declarations: [Dir], exports: [Dir] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BidiModule, DIR_DOCUMENT, Dir, Directionality, DIR_DOCUMENT_FACTORY as ɵangular_material_src_cdk_bidi_bidi_a };\n\n","import { isObservable, of, Subject } from 'rxjs';\nimport * as i0 from '@angular/core';\nimport { Injectable, InjectionToken } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as ɵngcc0 from '@angular/core';\nclass DataSource {\n}\n/** Checks whether an object is a data source. */\nfunction isDataSource(value) {\n // Check if the value is a DataSource by observing if it has a connect function. Cannot\n // be checked as an `instanceof DataSource` since people could create their own sources\n // that match the interface, but don't extend DataSource.\n return value && typeof value.connect === 'function';\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** DataSource wrapper for a native array. */\nclass ArrayDataSource extends DataSource {\n constructor(_data) {\n super();\n this._data = _data;\n }\n connect() {\n return isObservable(this._data) ? this._data : of(this._data);\n }\n disconnect() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A repeater that destroys views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will always construct a new embedded view for each item.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _DisposeViewRepeaterStrategy {\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) {\n const insertContext = itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = viewContainerRef.createEmbeddedView(insertContext.templateRef, insertContext.context, insertContext.index);\n operation = 1 /* INSERTED */;\n }\n else if (currentIndex == null) {\n viewContainerRef.remove(adjustedPreviousIndex);\n operation = 3 /* REMOVED */;\n }\n else {\n view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n operation = 2 /* MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view === null || view === void 0 ? void 0 : view.context,\n operation,\n record,\n });\n }\n });\n }\n detach() {\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A repeater that caches views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will reuse one of the cached views instead of creating a new\n * embedded view. Recycling cached views reduces the quantity of expensive DOM\n * inserts.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _RecycleViewRepeaterStrategy {\n constructor() {\n /**\n * The size of the cache used to store unused views.\n * Setting the cache size to `0` will disable caching. Defaults to 20 views.\n */\n this.viewCacheSize = 20;\n /**\n * View cache that stores embedded view instances that have been previously stamped out,\n * but don't are not currently rendered. The view repeater will reuse these views rather than\n * creating brand new ones.\n *\n * TODO(michaeljamesparsons) Investigate whether using a linked list would improve performance.\n */\n this._viewCache = [];\n }\n /** Apply changes to the DOM. */\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n // Rearrange the views to put them in the right location.\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) { // Item added.\n const viewArgsFactory = () => itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = this._insertView(viewArgsFactory, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = view ? 1 /* INSERTED */ : 0 /* REPLACED */;\n }\n else if (currentIndex == null) { // Item removed.\n this._detachAndCacheView(adjustedPreviousIndex, viewContainerRef);\n operation = 3 /* REMOVED */;\n }\n else { // Item moved.\n view = this._moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = 2 /* MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view === null || view === void 0 ? void 0 : view.context,\n operation,\n record,\n });\n }\n });\n }\n detach() {\n for (const view of this._viewCache) {\n view.destroy();\n }\n this._viewCache = [];\n }\n /**\n * Inserts a view for a new item, either from the cache or by creating a new\n * one. Returns `undefined` if the item was inserted into a cached view.\n */\n _insertView(viewArgsFactory, currentIndex, viewContainerRef, value) {\n const cachedView = this._insertViewFromCache(currentIndex, viewContainerRef);\n if (cachedView) {\n cachedView.context.$implicit = value;\n return undefined;\n }\n const viewArgs = viewArgsFactory();\n return viewContainerRef.createEmbeddedView(viewArgs.templateRef, viewArgs.context, viewArgs.index);\n }\n /** Detaches the view at the given index and inserts into the view cache. */\n _detachAndCacheView(index, viewContainerRef) {\n const detachedView = viewContainerRef.detach(index);\n this._maybeCacheView(detachedView, viewContainerRef);\n }\n /** Moves view at the previous index to the current index. */\n _moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, value) {\n const view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n view.context.$implicit = value;\n return view;\n }\n /**\n * Cache the given detached view. If the cache is full, the view will be\n * destroyed.\n */\n _maybeCacheView(view, viewContainerRef) {\n if (this._viewCache.length < this.viewCacheSize) {\n this._viewCache.push(view);\n }\n else {\n const index = viewContainerRef.indexOf(view);\n // The host component could remove views from the container outside of\n // the view repeater. It's unlikely this will occur, but just in case,\n // destroy the view on its own, otherwise destroy it through the\n // container to ensure that all the references are removed.\n if (index === -1) {\n view.destroy();\n }\n else {\n viewContainerRef.remove(index);\n }\n }\n }\n /** Inserts a recycled view from the cache at the given index. */\n _insertViewFromCache(index, viewContainerRef) {\n const cachedView = this._viewCache.pop();\n if (cachedView) {\n viewContainerRef.insert(cachedView, index);\n }\n return cachedView || null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class to be used to power selecting one or more options from a list.\n */\nclass SelectionModel {\n constructor(_multiple = false, initiallySelectedValues, _emitChanges = true) {\n this._multiple = _multiple;\n this._emitChanges = _emitChanges;\n /** Currently-selected values. */\n this._selection = new Set();\n /** Keeps track of the deselected options that haven't been emitted by the change event. */\n this._deselectedToEmit = [];\n /** Keeps track of the selected options that haven't been emitted by the change event. */\n this._selectedToEmit = [];\n /** Event emitted when the value has changed. */\n this.changed = new Subject();\n if (initiallySelectedValues && initiallySelectedValues.length) {\n if (_multiple) {\n initiallySelectedValues.forEach(value => this._markSelected(value));\n }\n else {\n this._markSelected(initiallySelectedValues[0]);\n }\n // Clear the array in order to avoid firing the change event for preselected values.\n this._selectedToEmit.length = 0;\n }\n }\n /** Selected values. */\n get selected() {\n if (!this._selected) {\n this._selected = Array.from(this._selection.values());\n }\n return this._selected;\n }\n /**\n * Selects a value or an array of values.\n */\n select(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._markSelected(value));\n this._emitChangeEvent();\n }\n /**\n * Deselects a value or an array of values.\n */\n deselect(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._unmarkSelected(value));\n this._emitChangeEvent();\n }\n /**\n * Toggles a value between selected and deselected.\n */\n toggle(value) {\n this.isSelected(value) ? this.deselect(value) : this.select(value);\n }\n /**\n * Clears all of the selected values.\n */\n clear() {\n this._unmarkAll();\n this._emitChangeEvent();\n }\n /**\n * Determines whether a value is selected.\n */\n isSelected(value) {\n return this._selection.has(value);\n }\n /**\n * Determines whether the model does not have a value.\n */\n isEmpty() {\n return this._selection.size === 0;\n }\n /**\n * Determines whether the model has a value.\n */\n hasValue() {\n return !this.isEmpty();\n }\n /**\n * Sorts the selected values based on a predicate function.\n */\n sort(predicate) {\n if (this._multiple && this.selected) {\n this._selected.sort(predicate);\n }\n }\n /**\n * Gets whether multiple values can be selected.\n */\n isMultipleSelection() {\n return this._multiple;\n }\n /** Emits a change event and clears the records of selected and deselected values. */\n _emitChangeEvent() {\n // Clear the selected values so they can be re-cached.\n this._selected = null;\n if (this._selectedToEmit.length || this._deselectedToEmit.length) {\n this.changed.next({\n source: this,\n added: this._selectedToEmit,\n removed: this._deselectedToEmit\n });\n this._deselectedToEmit = [];\n this._selectedToEmit = [];\n }\n }\n /** Selects a value. */\n _markSelected(value) {\n if (!this.isSelected(value)) {\n if (!this._multiple) {\n this._unmarkAll();\n }\n this._selection.add(value);\n if (this._emitChanges) {\n this._selectedToEmit.push(value);\n }\n }\n }\n /** Deselects a value. */\n _unmarkSelected(value) {\n if (this.isSelected(value)) {\n this._selection.delete(value);\n if (this._emitChanges) {\n this._deselectedToEmit.push(value);\n }\n }\n }\n /** Clears out the selected values. */\n _unmarkAll() {\n if (!this.isEmpty()) {\n this._selection.forEach(value => this._unmarkSelected(value));\n }\n }\n /**\n * Verifies the value assignment and throws an error if the specified value array is\n * including multiple values while the selection model is not supporting multiple values.\n */\n _verifyValueAssignment(values) {\n if (values.length > 1 && !this._multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMultipleValuesInSingleSelectionError();\n }\n }\n}\n/**\n * Returns an error that reports that multiple values are passed into a selection model\n * with a single value.\n * @docs-private\n */\nfunction getMultipleValuesInSingleSelectionError() {\n return Error('Cannot pass multiple values into SelectionModel with single-value mode.');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class to coordinate unique selection based on name.\n * Intended to be consumed as an Angular service.\n * This service is needed because native radio change events are only fired on the item currently\n * being selected, and we still need to uncheck the previous selection.\n *\n * This service does not *store* any IDs and names because they may change at any time, so it is\n * less error-prone if they are simply passed through when the events occur.\n */\nclass UniqueSelectionDispatcher {\n constructor() {\n this._listeners = [];\n }\n /**\n * Notify other items that selection for the given name has been set.\n * @param id ID of the item.\n * @param name Name of the item.\n */\n notify(id, name) {\n for (let listener of this._listeners) {\n listener(id, name);\n }\n }\n /**\n * Listen for future changes to item selection.\n * @return Function used to deregister listener\n */\n listen(listener) {\n this._listeners.push(listener);\n return () => {\n this._listeners = this._listeners.filter((registered) => {\n return listener !== registered;\n });\n };\n }\n ngOnDestroy() {\n this._listeners = [];\n }\n}\nUniqueSelectionDispatcher.ɵfac = function UniqueSelectionDispatcher_Factory(t) { return new (t || UniqueSelectionDispatcher)(); };\nUniqueSelectionDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function UniqueSelectionDispatcher_Factory() { return new UniqueSelectionDispatcher(); }, token: UniqueSelectionDispatcher, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(UniqueSelectionDispatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token for {@link _ViewRepeater}. This token is for use by Angular Material only.\n * @docs-private\n */\nconst _VIEW_REPEATER_STRATEGY = new InjectionToken('_ViewRepeater');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ArrayDataSource, DataSource, SelectionModel, UniqueSelectionDispatcher, _DisposeViewRepeaterStrategy, _RecycleViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY, getMultipleValuesInSingleSelectionError, isDataSource };\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst MAC_ENTER = 3;\nconst BACKSPACE = 8;\nconst TAB = 9;\nconst NUM_CENTER = 12;\nconst ENTER = 13;\nconst SHIFT = 16;\nconst CONTROL = 17;\nconst ALT = 18;\nconst PAUSE = 19;\nconst CAPS_LOCK = 20;\nconst ESCAPE = 27;\nconst SPACE = 32;\nconst PAGE_UP = 33;\nconst PAGE_DOWN = 34;\nconst END = 35;\nconst HOME = 36;\nconst LEFT_ARROW = 37;\nconst UP_ARROW = 38;\nconst RIGHT_ARROW = 39;\nconst DOWN_ARROW = 40;\nconst PLUS_SIGN = 43;\nconst PRINT_SCREEN = 44;\nconst INSERT = 45;\nconst DELETE = 46;\nconst ZERO = 48;\nconst ONE = 49;\nconst TWO = 50;\nconst THREE = 51;\nconst FOUR = 52;\nconst FIVE = 53;\nconst SIX = 54;\nconst SEVEN = 55;\nconst EIGHT = 56;\nconst NINE = 57;\nconst FF_SEMICOLON = 59; // Firefox (Gecko) fires this for semicolon instead of 186\nconst FF_EQUALS = 61; // Firefox (Gecko) fires this for equals instead of 187\nconst QUESTION_MARK = 63;\nconst AT_SIGN = 64;\nconst A = 65;\nconst B = 66;\nconst C = 67;\nconst D = 68;\nconst E = 69;\nconst F = 70;\nconst G = 71;\nconst H = 72;\nconst I = 73;\nconst J = 74;\nconst K = 75;\nconst L = 76;\nconst M = 77;\nconst N = 78;\nconst O = 79;\nconst P = 80;\nconst Q = 81;\nconst R = 82;\nconst S = 83;\nconst T = 84;\nconst U = 85;\nconst V = 86;\nconst W = 87;\nconst X = 88;\nconst Y = 89;\nconst Z = 90;\nconst META = 91; // WIN_KEY_LEFT\nconst MAC_WK_CMD_LEFT = 91;\nconst MAC_WK_CMD_RIGHT = 93;\nconst CONTEXT_MENU = 93;\nconst NUMPAD_ZERO = 96;\nconst NUMPAD_ONE = 97;\nconst NUMPAD_TWO = 98;\nconst NUMPAD_THREE = 99;\nconst NUMPAD_FOUR = 100;\nconst NUMPAD_FIVE = 101;\nconst NUMPAD_SIX = 102;\nconst NUMPAD_SEVEN = 103;\nconst NUMPAD_EIGHT = 104;\nconst NUMPAD_NINE = 105;\nconst NUMPAD_MULTIPLY = 106;\nconst NUMPAD_PLUS = 107;\nconst NUMPAD_MINUS = 109;\nconst NUMPAD_PERIOD = 110;\nconst NUMPAD_DIVIDE = 111;\nconst F1 = 112;\nconst F2 = 113;\nconst F3 = 114;\nconst F4 = 115;\nconst F5 = 116;\nconst F6 = 117;\nconst F7 = 118;\nconst F8 = 119;\nconst F9 = 120;\nconst F10 = 121;\nconst F11 = 122;\nconst F12 = 123;\nconst NUM_LOCK = 144;\nconst SCROLL_LOCK = 145;\nconst FIRST_MEDIA = 166;\nconst FF_MINUS = 173;\nconst MUTE = 173; // Firefox (Gecko) fires 181 for MUTE\nconst VOLUME_DOWN = 174; // Firefox (Gecko) fires 182 for VOLUME_DOWN\nconst VOLUME_UP = 175; // Firefox (Gecko) fires 183 for VOLUME_UP\nconst FF_MUTE = 181;\nconst FF_VOLUME_DOWN = 182;\nconst LAST_MEDIA = 183;\nconst FF_VOLUME_UP = 183;\nconst SEMICOLON = 186; // Firefox (Gecko) fires 59 for SEMICOLON\nconst EQUALS = 187; // Firefox (Gecko) fires 61 for EQUALS\nconst COMMA = 188;\nconst DASH = 189; // Firefox (Gecko) fires 173 for DASH/MINUS\nconst PERIOD = 190;\nconst SLASH = 191;\nconst APOSTROPHE = 192;\nconst TILDE = 192;\nconst OPEN_SQUARE_BRACKET = 219;\nconst BACKSLASH = 220;\nconst CLOSE_SQUARE_BRACKET = 221;\nconst SINGLE_QUOTE = 222;\nconst MAC_META = 224;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Checks whether a modifier key is pressed.\n * @param event Event to be checked.\n */\nfunction hasModifierKey(event, ...modifiers) {\n if (modifiers.length) {\n return modifiers.some(modifier => event[modifier]);\n }\n return event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { A, ALT, APOSTROPHE, AT_SIGN, B, BACKSLASH, BACKSPACE, C, CAPS_LOCK, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, D, DASH, DELETE, DOWN_ARROW, E, EIGHT, END, ENTER, EQUALS, ESCAPE, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FOUR, G, H, HOME, I, INSERT, J, K, L, LAST_MEDIA, LEFT_ARROW, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, META, MUTE, N, NINE, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PAUSE, PERIOD, PLUS_SIGN, PRINT_SCREEN, Q, QUESTION_MARK, R, RIGHT_ARROW, S, SCROLL_LOCK, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SPACE, T, TAB, THREE, TILDE, TWO, U, UP_ARROW, V, VOLUME_DOWN, VOLUME_UP, W, X, Y, Z, ZERO, hasModifierKey };\n\n","import { coerceElement, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, Directive, ElementRef, NgZone, Output, Input, NgModule } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\nimport * as ɵngcc0 from '@angular/core';\nclass MutationObserverFactory {\n create(callback) {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\nMutationObserverFactory.ɵfac = function MutationObserverFactory_Factory(t) { return new (t || MutationObserverFactory)(); };\nMutationObserverFactory.ɵprov = i0.ɵɵdefineInjectable({ factory: function MutationObserverFactory_Factory() { return new MutationObserverFactory(); }, token: MutationObserverFactory, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MutationObserverFactory, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\n/** An injectable service that allows watching elements for changes to their content. */\nclass ContentObserver {\n constructor(_mutationObserverFactory) {\n this._mutationObserverFactory = _mutationObserverFactory;\n /** Keeps track of the existing MutationObservers so they can be reused. */\n this._observedElements = new Map();\n }\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n observe(elementOrRef) {\n const element = coerceElement(elementOrRef);\n return new Observable((observer) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n /**\n * Observes the given element by using the existing MutationObserver if available, or creating a\n * new one if not.\n */\n _observeElement(element) {\n if (!this._observedElements.has(element)) {\n const stream = new Subject();\n const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true\n });\n }\n this._observedElements.set(element, { observer, stream, count: 1 });\n }\n else {\n this._observedElements.get(element).count++;\n }\n return this._observedElements.get(element).stream;\n }\n /**\n * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n * observing this element.\n */\n _unobserveElement(element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element).count--;\n if (!this._observedElements.get(element).count) {\n this._cleanupObserver(element);\n }\n }\n }\n /** Clean up the underlying MutationObserver for the specified element. */\n _cleanupObserver(element) {\n if (this._observedElements.has(element)) {\n const { observer, stream } = this._observedElements.get(element);\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\nContentObserver.ɵfac = function ContentObserver_Factory(t) { return new (t || ContentObserver)(ɵngcc0.ɵɵinject(MutationObserverFactory)); };\nContentObserver.ɵprov = i0.ɵɵdefineInjectable({ factory: function ContentObserver_Factory() { return new ContentObserver(i0.ɵɵinject(MutationObserverFactory)); }, token: ContentObserver, providedIn: \"root\" });\nContentObserver.ctorParameters = () => [\n { type: MutationObserverFactory }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ContentObserver, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: MutationObserverFactory }]; }, null); })();\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\nclass CdkObserveContent {\n constructor(_contentObserver, _elementRef, _ngZone) {\n this._contentObserver = _contentObserver;\n this._elementRef = _elementRef;\n this._ngZone = _ngZone;\n /** Event emitted for each change in the element's content. */\n this.event = new EventEmitter();\n this._disabled = false;\n this._currentSubscription = null;\n }\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n get disabled() { return this._disabled; }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n /** Debounce interval for emitting the changes. */\n get debounce() { return this._debounce; }\n set debounce(value) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n ngOnDestroy() {\n this._unsubscribe();\n }\n _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n // TODO(mmalerba): We shouldn't be emitting on this @Output() outside the zone.\n // Consider brining it back inside the zone next time we're making breaking changes.\n // Bringing it back inside can cause things like infinite change detection loops and changed\n // after checked errors if people's code isn't handling it properly.\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription =\n (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);\n });\n }\n _unsubscribe() {\n var _a;\n (_a = this._currentSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();\n }\n}\nCdkObserveContent.ɵfac = function CdkObserveContent_Factory(t) { return new (t || CdkObserveContent)(ɵngcc0.ɵɵdirectiveInject(ContentObserver), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nCdkObserveContent.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkObserveContent, selectors: [[\"\", \"cdkObserveContent\", \"\"]], inputs: { disabled: [\"cdkObserveContentDisabled\", \"disabled\"], debounce: \"debounce\" }, outputs: { event: \"cdkObserveContent\" }, exportAs: [\"cdkObserveContent\"] });\nCdkObserveContent.ctorParameters = () => [\n { type: ContentObserver },\n { type: ElementRef },\n { type: NgZone }\n];\nCdkObserveContent.propDecorators = {\n event: [{ type: Output, args: ['cdkObserveContent',] }],\n disabled: [{ type: Input, args: ['cdkObserveContentDisabled',] }],\n debounce: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkObserveContent, [{\n type: Directive,\n args: [{\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent'\n }]\n }], function () { return [{ type: ContentObserver }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.NgZone }]; }, { event: [{\n type: Output,\n args: ['cdkObserveContent']\n }], disabled: [{\n type: Input,\n args: ['cdkObserveContentDisabled']\n }], debounce: [{\n type: Input\n }] }); })();\nclass ObserversModule {\n}\nObserversModule.ɵfac = function ObserversModule_Factory(t) { return new (t || ObserversModule)(); };\nObserversModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: ObserversModule });\nObserversModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [MutationObserverFactory] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ObserversModule, [{\n type: NgModule,\n args: [{\n exports: [CdkObserveContent],\n declarations: [CdkObserveContent],\n providers: [MutationObserverFactory]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ObserversModule, { declarations: [CdkObserveContent], exports: [CdkObserveContent] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkObserveContent, ContentObserver, MutationObserverFactory, ObserversModule };\n\n","import * as i1 from '@angular/cdk/scrolling';\nimport { ScrollDispatcher, ViewportRuler, ScrollingModule } from '@angular/cdk/scrolling';\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/scrolling';\nimport * as ɵngcc2 from '@angular/cdk/platform';\nimport * as ɵngcc3 from '@angular/cdk/bidi';\nimport * as ɵngcc4 from '@angular/common';\nexport { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';\nimport * as i1$1 from '@angular/common';\nimport { DOCUMENT, Location } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, NgZone, Inject, Optional, ElementRef, ApplicationRef, ComponentFactoryResolver, Injector, InjectionToken, Directive, EventEmitter, TemplateRef, ViewContainerRef, Input, Output, NgModule } from '@angular/core';\nimport { coerceCssPixelValue, coerceArray, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i2 from '@angular/cdk/platform';\nimport { supportsScrollBehavior, _getEventTarget, Platform, _isTestEnvironment } from '@angular/cdk/platform';\nimport { Directionality, BidiModule } from '@angular/cdk/bidi';\nimport { DomPortalOutlet, TemplatePortal, PortalModule } from '@angular/cdk/portal';\nimport { Subject, Subscription, merge } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst scrollBehaviorSupported = supportsScrollBehavior();\n/**\n * Strategy that will prevent the user from scrolling while the overlay is visible.\n */\nclass BlockScrollStrategy {\n constructor(_viewportRuler, document) {\n this._viewportRuler = _viewportRuler;\n this._previousHTMLStyles = { top: '', left: '' };\n this._isEnabled = false;\n this._document = document;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach() { }\n /** Blocks page-level scroll while the attached overlay is open. */\n enable() {\n if (this._canBeEnabled()) {\n const root = this._document.documentElement;\n this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();\n // Cache the previous inline styles in case the user had set them.\n this._previousHTMLStyles.left = root.style.left || '';\n this._previousHTMLStyles.top = root.style.top || '';\n // Note: we're using the `html` node, instead of the `body`, because the `body` may\n // have the user agent margin, whereas the `html` is guaranteed not to have one.\n root.style.left = coerceCssPixelValue(-this._previousScrollPosition.left);\n root.style.top = coerceCssPixelValue(-this._previousScrollPosition.top);\n root.classList.add('cdk-global-scrollblock');\n this._isEnabled = true;\n }\n }\n /** Unblocks page-level scroll while the attached overlay is open. */\n disable() {\n if (this._isEnabled) {\n const html = this._document.documentElement;\n const body = this._document.body;\n const htmlStyle = html.style;\n const bodyStyle = body.style;\n const previousHtmlScrollBehavior = htmlStyle.scrollBehavior || '';\n const previousBodyScrollBehavior = bodyStyle.scrollBehavior || '';\n this._isEnabled = false;\n htmlStyle.left = this._previousHTMLStyles.left;\n htmlStyle.top = this._previousHTMLStyles.top;\n html.classList.remove('cdk-global-scrollblock');\n // Disable user-defined smooth scrolling temporarily while we restore the scroll position.\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior\n // Note that we don't mutate the property if the browser doesn't support `scroll-behavior`,\n // because it can throw off feature detections in `supportsScrollBehavior` which\n // checks for `'scrollBehavior' in documentElement.style`.\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = bodyStyle.scrollBehavior = 'auto';\n }\n window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = previousHtmlScrollBehavior;\n bodyStyle.scrollBehavior = previousBodyScrollBehavior;\n }\n }\n }\n _canBeEnabled() {\n // Since the scroll strategies can't be singletons, we have to use a global CSS class\n // (`cdk-global-scrollblock`) to make sure that we don't try to disable global\n // scrolling multiple times.\n const html = this._document.documentElement;\n if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {\n return false;\n }\n const body = this._document.body;\n const viewport = this._viewportRuler.getViewportSize();\n return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.\n */\nfunction getMatScrollStrategyAlreadyAttachedError() {\n return Error(`Scroll strategy has already been attached.`);\n}\n\n/**\n * Strategy that will close the overlay as soon as the user starts scrolling.\n */\nclass CloseScrollStrategy {\n constructor(_scrollDispatcher, _ngZone, _viewportRuler, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._config = _config;\n this._scrollSubscription = null;\n /** Detaches the overlay ref and disables the scroll strategy. */\n this._detach = () => {\n this.disable();\n if (this._overlayRef.hasAttached()) {\n this._ngZone.run(() => this._overlayRef.detach());\n }\n };\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables the closing of the attached overlay on scroll. */\n enable() {\n if (this._scrollSubscription) {\n return;\n }\n const stream = this._scrollDispatcher.scrolled(0);\n if (this._config && this._config.threshold && this._config.threshold > 1) {\n this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n this._scrollSubscription = stream.subscribe(() => {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n if (Math.abs(scrollPosition - this._initialScrollPosition) > this._config.threshold) {\n this._detach();\n }\n else {\n this._overlayRef.updatePosition();\n }\n });\n }\n else {\n this._scrollSubscription = stream.subscribe(this._detach);\n }\n }\n /** Disables the closing the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Scroll strategy that doesn't do anything. */\nclass NoopScrollStrategy {\n /** Does nothing, as this scroll strategy is a no-op. */\n enable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n disable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n attach() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// TODO(jelbourn): move this to live with the rest of the scrolling code\n// TODO(jelbourn): someday replace this with IntersectionObservers\n/**\n * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is scrolled out of view\n * @docs-private\n */\nfunction isElementScrolledOutsideView(element, scrollContainers) {\n return scrollContainers.some(containerBounds => {\n const outsideAbove = element.bottom < containerBounds.top;\n const outsideBelow = element.top > containerBounds.bottom;\n const outsideLeft = element.right < containerBounds.left;\n const outsideRight = element.left > containerBounds.right;\n return outsideAbove || outsideBelow || outsideLeft || outsideRight;\n });\n}\n/**\n * Gets whether an element is clipped by any of its scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is clipped\n * @docs-private\n */\nfunction isElementClippedByScrolling(element, scrollContainers) {\n return scrollContainers.some(scrollContainerRect => {\n const clippedAbove = element.top < scrollContainerRect.top;\n const clippedBelow = element.bottom > scrollContainerRect.bottom;\n const clippedLeft = element.left < scrollContainerRect.left;\n const clippedRight = element.right > scrollContainerRect.right;\n return clippedAbove || clippedBelow || clippedLeft || clippedRight;\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Strategy that will update the element position as the user is scrolling.\n */\nclass RepositionScrollStrategy {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n this._config = _config;\n this._scrollSubscription = null;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables repositioning of the attached overlay on scroll. */\n enable() {\n if (!this._scrollSubscription) {\n const throttle = this._config ? this._config.scrollThrottle : 0;\n this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(() => {\n this._overlayRef.updatePosition();\n // TODO(crisbeto): make `close` on by default once all components can handle it.\n if (this._config && this._config.autoClose) {\n const overlayRect = this._overlayRef.overlayElement.getBoundingClientRect();\n const { width, height } = this._viewportRuler.getViewportSize();\n // TODO(crisbeto): include all ancestor scroll containers here once\n // we have a way of exposing the trigger element to the scroll strategy.\n const parentRects = [{ width, height, bottom: height, right: width, top: 0, left: 0 }];\n if (isElementScrolledOutsideView(overlayRect, parentRects)) {\n this.disable();\n this._ngZone.run(() => this._overlayRef.detach());\n }\n }\n });\n }\n }\n /** Disables repositioning of the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Options for how an overlay will handle scrolling.\n *\n * Users can provide a custom value for `ScrollStrategyOptions` to replace the default\n * behaviors. This class primarily acts as a factory for ScrollStrategy instances.\n */\nclass ScrollStrategyOptions {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, document) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n /** Do nothing on scroll. */\n this.noop = () => new NoopScrollStrategy();\n /**\n * Close the overlay as soon as the user scrolls.\n * @param config Configuration to be used inside the scroll strategy.\n */\n this.close = (config) => new CloseScrollStrategy(this._scrollDispatcher, this._ngZone, this._viewportRuler, config);\n /** Block scrolling. */\n this.block = () => new BlockScrollStrategy(this._viewportRuler, this._document);\n /**\n * Update the overlay's position on scroll.\n * @param config Configuration to be used inside the scroll strategy.\n * Allows debouncing the reposition calls.\n */\n this.reposition = (config) => new RepositionScrollStrategy(this._scrollDispatcher, this._viewportRuler, this._ngZone, config);\n this._document = document;\n }\n}\nScrollStrategyOptions.ɵfac = function ScrollStrategyOptions_Factory(t) { return new (t || ScrollStrategyOptions)(ɵngcc0.ɵɵinject(ɵngcc1.ScrollDispatcher), ɵngcc0.ɵɵinject(ɵngcc1.ViewportRuler), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT)); };\nScrollStrategyOptions.ɵprov = i0.ɵɵdefineInjectable({ factory: function ScrollStrategyOptions_Factory() { return new ScrollStrategyOptions(i0.ɵɵinject(i1.ScrollDispatcher), i0.ɵɵinject(i1.ViewportRuler), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1$1.DOCUMENT)); }, token: ScrollStrategyOptions, providedIn: \"root\" });\nScrollStrategyOptions.ctorParameters = () => [\n { type: ScrollDispatcher },\n { type: ViewportRuler },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ScrollStrategyOptions, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.ScrollDispatcher }, { type: ɵngcc1.ViewportRuler }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Initial configuration used when creating an overlay. */\nclass OverlayConfig {\n constructor(config) {\n /** Strategy to be used when handling scroll events while the overlay is open. */\n this.scrollStrategy = new NoopScrollStrategy();\n /** Custom class to add to the overlay pane. */\n this.panelClass = '';\n /** Whether the overlay has a backdrop. */\n this.hasBackdrop = false;\n /** Custom class to add to the backdrop */\n this.backdropClass = 'cdk-overlay-dark-backdrop';\n /**\n * Whether the overlay should be disposed of when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n this.disposeOnNavigation = false;\n if (config) {\n // Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,\n // loses the array generic type in the `for of`. But we *also* have to use `Array` because\n // typescript won't iterate over an `Iterable` unless you compile with `--downlevelIteration`\n const configKeys = Object.keys(config);\n for (const key of configKeys) {\n if (config[key] !== undefined) {\n // TypeScript, as of version 3.5, sees the left-hand-side of this expression\n // as \"I don't know *which* key this is, so the only valid value is the intersection\n // of all the posible values.\" In this case, that happens to be `undefined`. TypeScript\n // is not smart enough to see that the right-hand-side is actually an access of the same\n // exact type with the same exact key, meaning that the value type must be identical.\n // So we use `any` to work around this.\n this[key] = config[key];\n }\n }\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The points of the origin element and the overlay element to connect. */\nclass ConnectionPositionPair {\n constructor(origin, overlay, \n /** Offset along the X axis. */\n offsetX, \n /** Offset along the Y axis. */\n offsetY, \n /** Class(es) to be applied to the panel while this position is active. */\n panelClass) {\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n this.panelClass = panelClass;\n this.originX = origin.originX;\n this.originY = origin.originY;\n this.overlayX = overlay.overlayX;\n this.overlayY = overlay.overlayY;\n }\n}\n/**\n * Set of properties regarding the position of the origin and overlay relative to the viewport\n * with respect to the containing Scrollable elements.\n *\n * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the\n * bounds of any one of the strategy's Scrollable's bounding client rectangle.\n *\n * The overlay and origin are outside view if there is no overlap between their bounding client\n * rectangle and any one of the strategy's Scrollable's bounding client rectangle.\n *\n * ----------- -----------\n * | outside | | clipped |\n * | view | --------------------------\n * | | | | | |\n * ---------- | ----------- |\n * -------------------------- | |\n * | | | Scrollable |\n * | | | |\n * | | --------------------------\n * | Scrollable |\n * | |\n * --------------------------\n *\n * @docs-private\n */\nclass ScrollingVisibility {\n}\n/** The change event emitted by the strategy when a fallback position is used. */\nclass ConnectedOverlayPositionChange {\n constructor(\n /** The position used as a result of this change. */\n connectionPair, \n /** @docs-private */\n scrollableViewProperties) {\n this.connectionPair = connectionPair;\n this.scrollableViewProperties = scrollableViewProperties;\n }\n}\nConnectedOverlayPositionChange.ctorParameters = () => [\n { type: ConnectionPositionPair },\n { type: ScrollingVisibility, decorators: [{ type: Optional }] }\n];\n/**\n * Validates whether a vertical position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateVerticalPosition(property, value) {\n if (value !== 'top' && value !== 'bottom' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"top\", \"bottom\" or \"center\".`);\n }\n}\n/**\n * Validates whether a horizontal position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateHorizontalPosition(property, value) {\n if (value !== 'start' && value !== 'end' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"start\", \"end\" or \"center\".`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Service for dispatching events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass BaseOverlayDispatcher {\n constructor(document) {\n /** Currently attached overlays in the order they were attached. */\n this._attachedOverlays = [];\n this._document = document;\n }\n ngOnDestroy() {\n this.detach();\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n // Ensure that we don't get the same overlay multiple times.\n this.remove(overlayRef);\n this._attachedOverlays.push(overlayRef);\n }\n /** Remove an overlay from the list of attached overlay refs. */\n remove(overlayRef) {\n const index = this._attachedOverlays.indexOf(overlayRef);\n if (index > -1) {\n this._attachedOverlays.splice(index, 1);\n }\n // Remove the global listener once there are no more overlays.\n if (this._attachedOverlays.length === 0) {\n this.detach();\n }\n }\n}\nBaseOverlayDispatcher.ɵfac = function BaseOverlayDispatcher_Factory(t) { return new (t || BaseOverlayDispatcher)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nBaseOverlayDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function BaseOverlayDispatcher_Factory() { return new BaseOverlayDispatcher(i0.ɵɵinject(i1$1.DOCUMENT)); }, token: BaseOverlayDispatcher, providedIn: \"root\" });\nBaseOverlayDispatcher.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BaseOverlayDispatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Service for dispatching keyboard events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayKeyboardDispatcher extends BaseOverlayDispatcher {\n constructor(document) {\n super(document);\n /** Keyboard event listener that will be attached to the body. */\n this._keydownListener = (event) => {\n const overlays = this._attachedOverlays;\n for (let i = overlays.length - 1; i > -1; i--) {\n // Dispatch the keydown event to the top overlay which has subscribers to its keydown events.\n // We want to target the most recent overlay, rather than trying to match where the event came\n // from, because some components might open an overlay, but keep focus on a trigger element\n // (e.g. for select and autocomplete). We skip overlays without keydown event subscriptions,\n // because we don't want overlays that don't handle keyboard events to block the ones below\n // them that do.\n if (overlays[i]._keydownEvents.observers.length > 0) {\n overlays[i]._keydownEvents.next(event);\n break;\n }\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Lazily start dispatcher once first overlay is added\n if (!this._isAttached) {\n this._document.body.addEventListener('keydown', this._keydownListener);\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n this._document.body.removeEventListener('keydown', this._keydownListener);\n this._isAttached = false;\n }\n }\n}\nOverlayKeyboardDispatcher.ɵfac = function OverlayKeyboardDispatcher_Factory(t) { return new (t || OverlayKeyboardDispatcher)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nOverlayKeyboardDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayKeyboardDispatcher_Factory() { return new OverlayKeyboardDispatcher(i0.ɵɵinject(i1$1.DOCUMENT)); }, token: OverlayKeyboardDispatcher, providedIn: \"root\" });\nOverlayKeyboardDispatcher.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(OverlayKeyboardDispatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Service for dispatching mouse click events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {\n constructor(document, _platform) {\n super(document);\n this._platform = _platform;\n this._cursorStyleIsSet = false;\n /** Store pointerdown event target to track origin of click. */\n this._pointerDownListener = (event) => {\n this._pointerDownEventTarget = _getEventTarget(event);\n };\n /** Click event listener that will be attached to the body propagate phase. */\n this._clickListener = (event) => {\n const target = _getEventTarget(event);\n // In case of a click event, we want to check the origin of the click\n // (e.g. in case where a user starts a click inside the overlay and\n // releases the click outside of it).\n // This is done by using the event target of the preceding pointerdown event.\n // Every click event caused by a pointer device has a preceding pointerdown\n // event, unless the click was programmatically triggered (e.g. in a unit test).\n const origin = event.type === 'click' && this._pointerDownEventTarget\n ? this._pointerDownEventTarget : target;\n // Reset the stored pointerdown event target, to avoid having it interfere\n // in subsequent events.\n this._pointerDownEventTarget = null;\n // We copy the array because the original may be modified asynchronously if the\n // outsidePointerEvents listener decides to detach overlays resulting in index errors inside\n // the for loop.\n const overlays = this._attachedOverlays.slice();\n // Dispatch the mouse event to the top overlay which has subscribers to its mouse events.\n // We want to target all overlays for which the click could be considered as outside click.\n // As soon as we reach an overlay for which the click is not outside click we break off\n // the loop.\n for (let i = overlays.length - 1; i > -1; i--) {\n const overlayRef = overlays[i];\n if (overlayRef._outsidePointerEvents.observers.length < 1 || !overlayRef.hasAttached()) {\n continue;\n }\n // If it's a click inside the overlay, just break - we should do nothing\n // If it's an outside click (both origin and target of the click) dispatch the mouse event,\n // and proceed with the next overlay\n if (overlayRef.overlayElement.contains(target) ||\n overlayRef.overlayElement.contains(origin)) {\n break;\n }\n overlayRef._outsidePointerEvents.next(event);\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Safari on iOS does not generate click events for non-interactive\n // elements. However, we want to receive a click for any element outside\n // the overlay. We can force a \"clickable\" state by setting\n // `cursor: pointer` on the document body. See:\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event#Safari_Mobile\n // https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n if (!this._isAttached) {\n const body = this._document.body;\n body.addEventListener('pointerdown', this._pointerDownListener, true);\n body.addEventListener('click', this._clickListener, true);\n body.addEventListener('auxclick', this._clickListener, true);\n body.addEventListener('contextmenu', this._clickListener, true);\n // click event is not fired on iOS. To make element \"clickable\" we are\n // setting the cursor to pointer\n if (this._platform.IOS && !this._cursorStyleIsSet) {\n this._cursorOriginalValue = body.style.cursor;\n body.style.cursor = 'pointer';\n this._cursorStyleIsSet = true;\n }\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n const body = this._document.body;\n body.removeEventListener('pointerdown', this._pointerDownListener, true);\n body.removeEventListener('click', this._clickListener, true);\n body.removeEventListener('auxclick', this._clickListener, true);\n body.removeEventListener('contextmenu', this._clickListener, true);\n if (this._platform.IOS && this._cursorStyleIsSet) {\n body.style.cursor = this._cursorOriginalValue;\n this._cursorStyleIsSet = false;\n }\n this._isAttached = false;\n }\n }\n}\nOverlayOutsideClickDispatcher.ɵfac = function OverlayOutsideClickDispatcher_Factory(t) { return new (t || OverlayOutsideClickDispatcher)(ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc2.Platform)); };\nOverlayOutsideClickDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayOutsideClickDispatcher_Factory() { return new OverlayOutsideClickDispatcher(i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform)); }, token: OverlayOutsideClickDispatcher, providedIn: \"root\" });\nOverlayOutsideClickDispatcher.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Platform }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(OverlayOutsideClickDispatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc2.Platform }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Container inside which all overlays will render. */\nclass OverlayContainer {\n constructor(document, _platform) {\n this._platform = _platform;\n this._document = document;\n }\n ngOnDestroy() {\n const container = this._containerElement;\n if (container && container.parentNode) {\n container.parentNode.removeChild(container);\n }\n }\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement() {\n if (!this._containerElement) {\n this._createContainer();\n }\n return this._containerElement;\n }\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n _createContainer() {\n const containerClass = 'cdk-overlay-container';\n // TODO(crisbeto): remove the testing check once we have an overlay testing\n // module or Angular starts tearing down the testing `NgModule`. See:\n // https://github.com/angular/angular/issues/18831\n if (this._platform.isBrowser || _isTestEnvironment()) {\n const oppositePlatformContainers = this._document.querySelectorAll(`.${containerClass}[platform=\"server\"], ` +\n `.${containerClass}[platform=\"test\"]`);\n // Remove any old containers from the opposite platform.\n // This can happen when transitioning from the server to the client.\n for (let i = 0; i < oppositePlatformContainers.length; i++) {\n oppositePlatformContainers[i].parentNode.removeChild(oppositePlatformContainers[i]);\n }\n }\n const container = this._document.createElement('div');\n container.classList.add(containerClass);\n // A long time ago we kept adding new overlay containers whenever a new app was instantiated,\n // but at some point we added logic which clears the duplicate ones in order to avoid leaks.\n // The new logic was a little too aggressive since it was breaking some legitimate use cases.\n // To mitigate the problem we made it so that only containers from a different platform are\n // cleared, but the side-effect was that people started depending on the overly-aggressive\n // logic to clean up their tests for them. Until we can introduce an overlay-specific testing\n // module which does the cleanup, we try to detect that we're in a test environment and we\n // always clear the container. See #17006.\n // TODO(crisbeto): remove the test environment check once we have an overlay testing module.\n if (_isTestEnvironment()) {\n container.setAttribute('platform', 'test');\n }\n else if (!this._platform.isBrowser) {\n container.setAttribute('platform', 'server');\n }\n this._document.body.appendChild(container);\n this._containerElement = container;\n }\n}\nOverlayContainer.ɵfac = function OverlayContainer_Factory(t) { return new (t || OverlayContainer)(ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc2.Platform)); };\nOverlayContainer.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayContainer_Factory() { return new OverlayContainer(i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform)); }, token: OverlayContainer, providedIn: \"root\" });\nOverlayContainer.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Platform }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(OverlayContainer, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc2.Platform }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Reference to an overlay that has been created with the Overlay service.\n * Used to manipulate or dispose of said overlay.\n */\nclass OverlayRef {\n constructor(_portalOutlet, _host, _pane, _config, _ngZone, _keyboardDispatcher, _document, _location, _outsideClickDispatcher) {\n this._portalOutlet = _portalOutlet;\n this._host = _host;\n this._pane = _pane;\n this._config = _config;\n this._ngZone = _ngZone;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._document = _document;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n this._backdropElement = null;\n this._backdropClick = new Subject();\n this._attachments = new Subject();\n this._detachments = new Subject();\n this._locationChanges = Subscription.EMPTY;\n this._backdropClickHandler = (event) => this._backdropClick.next(event);\n /** Stream of keydown events dispatched to this overlay. */\n this._keydownEvents = new Subject();\n /** Stream of mouse outside events dispatched to this overlay. */\n this._outsidePointerEvents = new Subject();\n if (_config.scrollStrategy) {\n this._scrollStrategy = _config.scrollStrategy;\n this._scrollStrategy.attach(this);\n }\n this._positionStrategy = _config.positionStrategy;\n }\n /** The overlay's HTML element */\n get overlayElement() {\n return this._pane;\n }\n /** The overlay's backdrop HTML element. */\n get backdropElement() {\n return this._backdropElement;\n }\n /**\n * Wrapper around the panel element. Can be used for advanced\n * positioning where a wrapper with specific styling is\n * required around the overlay pane.\n */\n get hostElement() {\n return this._host;\n }\n /**\n * Attaches content, given via a Portal, to the overlay.\n * If the overlay is configured to have a backdrop, it will be created.\n *\n * @param portal Portal instance to which to attach the overlay.\n * @returns The portal attachment result.\n */\n attach(portal) {\n let attachResult = this._portalOutlet.attach(portal);\n // Update the pane element with the given configuration.\n if (!this._host.parentElement && this._previousHostParent) {\n this._previousHostParent.appendChild(this._host);\n }\n if (this._positionStrategy) {\n this._positionStrategy.attach(this);\n }\n this._updateStackingOrder();\n this._updateElementSize();\n this._updateElementDirection();\n if (this._scrollStrategy) {\n this._scrollStrategy.enable();\n }\n // Update the position once the zone is stable so that the overlay will be fully rendered\n // before attempting to position it, as the position may depend on the size of the rendered\n // content.\n this._ngZone.onStable\n .pipe(take(1))\n .subscribe(() => {\n // The overlay could've been detached before the zone has stabilized.\n if (this.hasAttached()) {\n this.updatePosition();\n }\n });\n // Enable pointer events for the overlay pane element.\n this._togglePointerEvents(true);\n if (this._config.hasBackdrop) {\n this._attachBackdrop();\n }\n if (this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, true);\n }\n // Only emit the `attachments` event once all other setup is done.\n this._attachments.next();\n // Track this overlay by the keyboard dispatcher\n this._keyboardDispatcher.add(this);\n if (this._config.disposeOnNavigation) {\n this._locationChanges = this._location.subscribe(() => this.dispose());\n }\n this._outsideClickDispatcher.add(this);\n return attachResult;\n }\n /**\n * Detaches an overlay from a portal.\n * @returns The portal detachment result.\n */\n detach() {\n if (!this.hasAttached()) {\n return;\n }\n this.detachBackdrop();\n // When the overlay is detached, the pane element should disable pointer events.\n // This is necessary because otherwise the pane element will cover the page and disable\n // pointer events therefore. Depends on the position strategy and the applied pane boundaries.\n this._togglePointerEvents(false);\n if (this._positionStrategy && this._positionStrategy.detach) {\n this._positionStrategy.detach();\n }\n if (this._scrollStrategy) {\n this._scrollStrategy.disable();\n }\n const detachmentResult = this._portalOutlet.detach();\n // Only emit after everything is detached.\n this._detachments.next();\n // Remove this overlay from keyboard dispatcher tracking.\n this._keyboardDispatcher.remove(this);\n // Keeping the host element in the DOM can cause scroll jank, because it still gets\n // rendered, even though it's transparent and unclickable which is why we remove it.\n this._detachContentWhenStable();\n this._locationChanges.unsubscribe();\n this._outsideClickDispatcher.remove(this);\n return detachmentResult;\n }\n /** Cleans up the overlay from the DOM. */\n dispose() {\n const isAttached = this.hasAttached();\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._disposeScrollStrategy();\n this._disposeBackdrop(this._backdropElement);\n this._locationChanges.unsubscribe();\n this._keyboardDispatcher.remove(this);\n this._portalOutlet.dispose();\n this._attachments.complete();\n this._backdropClick.complete();\n this._keydownEvents.complete();\n this._outsidePointerEvents.complete();\n this._outsideClickDispatcher.remove(this);\n if (this._host && this._host.parentNode) {\n this._host.parentNode.removeChild(this._host);\n this._host = null;\n }\n this._previousHostParent = this._pane = null;\n if (isAttached) {\n this._detachments.next();\n }\n this._detachments.complete();\n }\n /** Whether the overlay has attached content. */\n hasAttached() {\n return this._portalOutlet.hasAttached();\n }\n /** Gets an observable that emits when the backdrop has been clicked. */\n backdropClick() {\n return this._backdropClick;\n }\n /** Gets an observable that emits when the overlay has been attached. */\n attachments() {\n return this._attachments;\n }\n /** Gets an observable that emits when the overlay has been detached. */\n detachments() {\n return this._detachments;\n }\n /** Gets an observable of keydown events targeted to this overlay. */\n keydownEvents() {\n return this._keydownEvents;\n }\n /** Gets an observable of pointer events targeted outside this overlay. */\n outsidePointerEvents() {\n return this._outsidePointerEvents;\n }\n /** Gets the current overlay configuration, which is immutable. */\n getConfig() {\n return this._config;\n }\n /** Updates the position of the overlay based on the position strategy. */\n updatePosition() {\n if (this._positionStrategy) {\n this._positionStrategy.apply();\n }\n }\n /** Switches to a new position strategy and updates the overlay position. */\n updatePositionStrategy(strategy) {\n if (strategy === this._positionStrategy) {\n return;\n }\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._positionStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n this.updatePosition();\n }\n }\n /** Update the size properties of the overlay. */\n updateSize(sizeConfig) {\n this._config = Object.assign(Object.assign({}, this._config), sizeConfig);\n this._updateElementSize();\n }\n /** Sets the LTR/RTL direction for the overlay. */\n setDirection(dir) {\n this._config = Object.assign(Object.assign({}, this._config), { direction: dir });\n this._updateElementDirection();\n }\n /** Add a CSS class or an array of classes to the overlay pane. */\n addPanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, true);\n }\n }\n /** Remove a CSS class or an array of classes from the overlay pane. */\n removePanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, false);\n }\n }\n /**\n * Returns the layout direction of the overlay panel.\n */\n getDirection() {\n const direction = this._config.direction;\n if (!direction) {\n return 'ltr';\n }\n return typeof direction === 'string' ? direction : direction.value;\n }\n /** Switches to a new scroll strategy. */\n updateScrollStrategy(strategy) {\n if (strategy === this._scrollStrategy) {\n return;\n }\n this._disposeScrollStrategy();\n this._scrollStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n strategy.enable();\n }\n }\n /** Updates the text direction of the overlay panel. */\n _updateElementDirection() {\n this._host.setAttribute('dir', this.getDirection());\n }\n /** Updates the size of the overlay element based on the overlay config. */\n _updateElementSize() {\n if (!this._pane) {\n return;\n }\n const style = this._pane.style;\n style.width = coerceCssPixelValue(this._config.width);\n style.height = coerceCssPixelValue(this._config.height);\n style.minWidth = coerceCssPixelValue(this._config.minWidth);\n style.minHeight = coerceCssPixelValue(this._config.minHeight);\n style.maxWidth = coerceCssPixelValue(this._config.maxWidth);\n style.maxHeight = coerceCssPixelValue(this._config.maxHeight);\n }\n /** Toggles the pointer events for the overlay pane element. */\n _togglePointerEvents(enablePointer) {\n this._pane.style.pointerEvents = enablePointer ? '' : 'none';\n }\n /** Attaches a backdrop for this overlay. */\n _attachBackdrop() {\n const showingClass = 'cdk-overlay-backdrop-showing';\n this._backdropElement = this._document.createElement('div');\n this._backdropElement.classList.add('cdk-overlay-backdrop');\n if (this._config.backdropClass) {\n this._toggleClasses(this._backdropElement, this._config.backdropClass, true);\n }\n // Insert the backdrop before the pane in the DOM order,\n // in order to handle stacked overlays properly.\n this._host.parentElement.insertBefore(this._backdropElement, this._host);\n // Forward backdrop clicks such that the consumer of the overlay can perform whatever\n // action desired when such a click occurs (usually closing the overlay).\n this._backdropElement.addEventListener('click', this._backdropClickHandler);\n // Add class to fade-in the backdrop after one frame.\n if (typeof requestAnimationFrame !== 'undefined') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n if (this._backdropElement) {\n this._backdropElement.classList.add(showingClass);\n }\n });\n });\n }\n else {\n this._backdropElement.classList.add(showingClass);\n }\n }\n /**\n * Updates the stacking order of the element, moving it to the top if necessary.\n * This is required in cases where one overlay was detached, while another one,\n * that should be behind it, was destroyed. The next time both of them are opened,\n * the stacking will be wrong, because the detached element's pane will still be\n * in its original DOM position.\n */\n _updateStackingOrder() {\n if (this._host.nextSibling) {\n this._host.parentNode.appendChild(this._host);\n }\n }\n /** Detaches the backdrop (if any) associated with the overlay. */\n detachBackdrop() {\n const backdropToDetach = this._backdropElement;\n if (!backdropToDetach) {\n return;\n }\n let timeoutId;\n const finishDetach = () => {\n // It may not be attached to anything in certain cases (e.g. unit tests).\n if (backdropToDetach) {\n backdropToDetach.removeEventListener('click', this._backdropClickHandler);\n backdropToDetach.removeEventListener('transitionend', finishDetach);\n this._disposeBackdrop(backdropToDetach);\n }\n if (this._config.backdropClass) {\n this._toggleClasses(backdropToDetach, this._config.backdropClass, false);\n }\n clearTimeout(timeoutId);\n };\n backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');\n this._ngZone.runOutsideAngular(() => {\n backdropToDetach.addEventListener('transitionend', finishDetach);\n });\n // If the backdrop doesn't have a transition, the `transitionend` event won't fire.\n // In this case we make it unclickable and we try to remove it after a delay.\n backdropToDetach.style.pointerEvents = 'none';\n // Run this outside the Angular zone because there's nothing that Angular cares about.\n // If it were to run inside the Angular zone, every test that used Overlay would have to be\n // either async or fakeAsync.\n timeoutId = this._ngZone.runOutsideAngular(() => setTimeout(finishDetach, 500));\n }\n /** Toggles a single CSS class or an array of classes on an element. */\n _toggleClasses(element, cssClasses, isAdd) {\n const classList = element.classList;\n coerceArray(cssClasses).forEach(cssClass => {\n // We can't do a spread here, because IE doesn't support setting multiple classes.\n // Also trying to add an empty string to a DOMTokenList will throw.\n if (cssClass) {\n isAdd ? classList.add(cssClass) : classList.remove(cssClass);\n }\n });\n }\n /** Detaches the overlay content next time the zone stabilizes. */\n _detachContentWhenStable() {\n // Normally we wouldn't have to explicitly run this outside the `NgZone`, however\n // if the consumer is using `zone-patch-rxjs`, the `Subscription.unsubscribe` call will\n // be patched to run inside the zone, which will throw us into an infinite loop.\n this._ngZone.runOutsideAngular(() => {\n // We can't remove the host here immediately, because the overlay pane's content\n // might still be animating. This stream helps us avoid interrupting the animation\n // by waiting for the pane to become empty.\n const subscription = this._ngZone.onStable\n .pipe(takeUntil(merge(this._attachments, this._detachments)))\n .subscribe(() => {\n // Needs a couple of checks for the pane and host, because\n // they may have been removed by the time the zone stabilizes.\n if (!this._pane || !this._host || this._pane.children.length === 0) {\n if (this._pane && this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, false);\n }\n if (this._host && this._host.parentElement) {\n this._previousHostParent = this._host.parentElement;\n this._previousHostParent.removeChild(this._host);\n }\n subscription.unsubscribe();\n }\n });\n });\n }\n /** Disposes of a scroll strategy. */\n _disposeScrollStrategy() {\n const scrollStrategy = this._scrollStrategy;\n if (scrollStrategy) {\n scrollStrategy.disable();\n if (scrollStrategy.detach) {\n scrollStrategy.detach();\n }\n }\n }\n /** Removes a backdrop element from the DOM. */\n _disposeBackdrop(backdrop) {\n if (backdrop) {\n if (backdrop.parentNode) {\n backdrop.parentNode.removeChild(backdrop);\n }\n // It is possible that a new portal has been attached to this overlay since we started\n // removing the backdrop. If that is the case, only clear the backdrop reference if it\n // is still the same instance that we started to remove.\n if (this._backdropElement === backdrop) {\n this._backdropElement = null;\n }\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// TODO: refactor clipping detection into a separate thing (part of scrolling module)\n// TODO: doesn't handle both flexible width and height when it has to scroll along both axis.\n/** Class to be added to the overlay bounding box. */\nconst boundingBoxClass = 'cdk-overlay-connected-position-bounding-box';\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n */\nclass FlexibleConnectedPositionStrategy {\n constructor(connectedTo, _viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n /** Last size used for the bounding box. Used to avoid resizing the overlay after open. */\n this._lastBoundingBoxSize = { width: 0, height: 0 };\n /** Whether the overlay was pushed in a previous positioning. */\n this._isPushed = false;\n /** Whether the overlay can be pushed on-screen on the initial open. */\n this._canPush = true;\n /** Whether the overlay can grow via flexible width/height after the initial open. */\n this._growAfterOpen = false;\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n this._hasFlexibleDimensions = true;\n /** Whether the overlay position is locked. */\n this._positionLocked = false;\n /** Amount of space that must be maintained between the overlay and the edge of the viewport. */\n this._viewportMargin = 0;\n /** The Scrollable containers used to check scrollable view properties on position change. */\n this._scrollables = [];\n /** Ordered list of preferred positions, from most to least desirable. */\n this._preferredPositions = [];\n /** Subject that emits whenever the position changes. */\n this._positionChanges = new Subject();\n /** Subscription to viewport size changes. */\n this._resizeSubscription = Subscription.EMPTY;\n /** Default offset for the overlay along the x axis. */\n this._offsetX = 0;\n /** Default offset for the overlay along the y axis. */\n this._offsetY = 0;\n /** Keeps track of the CSS classes that the position strategy has applied on the overlay panel. */\n this._appliedPanelClasses = [];\n /** Observable sequence of position changes. */\n this.positionChanges = this._positionChanges;\n this.setOrigin(connectedTo);\n }\n /** Ordered list of preferred positions, from most to least desirable. */\n get positions() {\n return this._preferredPositions;\n }\n /** Attaches this position strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && overlayRef !== this._overlayRef &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('This position strategy is already attached to an overlay');\n }\n this._validatePositions();\n overlayRef.hostElement.classList.add(boundingBoxClass);\n this._overlayRef = overlayRef;\n this._boundingBox = overlayRef.hostElement;\n this._pane = overlayRef.overlayElement;\n this._isDisposed = false;\n this._isInitialRender = true;\n this._lastPosition = null;\n this._resizeSubscription.unsubscribe();\n this._resizeSubscription = this._viewportRuler.change().subscribe(() => {\n // When the window is resized, we want to trigger the next reposition as if it\n // was an initial render, in order for the strategy to pick a new optimal position,\n // otherwise position locking will cause it to stay at the old one.\n this._isInitialRender = true;\n this.apply();\n });\n }\n /**\n * Updates the position of the overlay element, using whichever preferred position relative\n * to the origin best fits on-screen.\n *\n * The selection of a position goes as follows:\n * - If any positions fit completely within the viewport as-is,\n * choose the first position that does so.\n * - If flexible dimensions are enabled and at least one satifies the given minimum width/height,\n * choose the position with the greatest available size modified by the positions' weight.\n * - If pushing is enabled, take the position that went off-screen the least and push it\n * on-screen.\n * - If none of the previous criteria were met, use the position that goes off-screen the least.\n * @docs-private\n */\n apply() {\n // We shouldn't do anything if the strategy was disposed or we're on the server.\n if (this._isDisposed || !this._platform.isBrowser) {\n return;\n }\n // If the position has been applied already (e.g. when the overlay was opened) and the\n // consumer opted into locking in the position, re-use the old position, in order to\n // prevent the overlay from jumping around.\n if (!this._isInitialRender && this._positionLocked && this._lastPosition) {\n this.reapplyLastPosition();\n return;\n }\n this._clearPanelClasses();\n this._resetOverlayElementStyles();\n this._resetBoundingBoxStyles();\n // We need the bounding rects for the origin and the overlay to determine how to position\n // the overlay relative to the origin.\n // We use the viewport rect to determine whether a position would go off-screen.\n this._viewportRect = this._getNarrowedViewportRect();\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n const originRect = this._originRect;\n const overlayRect = this._overlayRect;\n const viewportRect = this._viewportRect;\n // Positions where the overlay will fit with flexible dimensions.\n const flexibleFits = [];\n // Fallback if none of the preferred positions fit within the viewport.\n let fallback;\n // Go through each of the preferred positions looking for a good fit.\n // If a good fit is found, it will be applied immediately.\n for (let pos of this._preferredPositions) {\n // Get the exact (x, y) coordinate for the point-of-origin on the origin element.\n let originPoint = this._getOriginPoint(originRect, pos);\n // From that point-of-origin, get the exact (x, y) coordinate for the top-left corner of the\n // overlay in this position. We use the top-left corner for calculations and later translate\n // this into an appropriate (top, left, bottom, right) style.\n let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, pos);\n // Calculate how well the overlay would fit into the viewport with this point.\n let overlayFit = this._getOverlayFit(overlayPoint, overlayRect, viewportRect, pos);\n // If the overlay, without any further work, fits into the viewport, use this position.\n if (overlayFit.isCompletelyWithinViewport) {\n this._isPushed = false;\n this._applyPosition(pos, originPoint);\n return;\n }\n // If the overlay has flexible dimensions, we can use this position\n // so long as there's enough space for the minimum dimensions.\n if (this._canFitWithFlexibleDimensions(overlayFit, overlayPoint, viewportRect)) {\n // Save positions where the overlay will fit with flexible dimensions. We will use these\n // if none of the positions fit *without* flexible dimensions.\n flexibleFits.push({\n position: pos,\n origin: originPoint,\n overlayRect,\n boundingBoxRect: this._calculateBoundingBoxRect(originPoint, pos)\n });\n continue;\n }\n // If the current preferred position does not fit on the screen, remember the position\n // if it has more visible area on-screen than we've seen and move onto the next preferred\n // position.\n if (!fallback || fallback.overlayFit.visibleArea < overlayFit.visibleArea) {\n fallback = { overlayFit, overlayPoint, originPoint, position: pos, overlayRect };\n }\n }\n // If there are any positions where the overlay would fit with flexible dimensions, choose the\n // one that has the greatest area available modified by the position's weight\n if (flexibleFits.length) {\n let bestFit = null;\n let bestScore = -1;\n for (const fit of flexibleFits) {\n const score = fit.boundingBoxRect.width * fit.boundingBoxRect.height * (fit.position.weight || 1);\n if (score > bestScore) {\n bestScore = score;\n bestFit = fit;\n }\n }\n this._isPushed = false;\n this._applyPosition(bestFit.position, bestFit.origin);\n return;\n }\n // When none of the preferred positions fit within the viewport, take the position\n // that went off-screen the least and attempt to push it on-screen.\n if (this._canPush) {\n // TODO(jelbourn): after pushing, the opening \"direction\" of the overlay might not make sense.\n this._isPushed = true;\n this._applyPosition(fallback.position, fallback.originPoint);\n return;\n }\n // All options for getting the overlay within the viewport have been exhausted, so go with the\n // position that went off-screen the least.\n this._applyPosition(fallback.position, fallback.originPoint);\n }\n detach() {\n this._clearPanelClasses();\n this._lastPosition = null;\n this._previousPushAmount = null;\n this._resizeSubscription.unsubscribe();\n }\n /** Cleanup after the element gets destroyed. */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n // We can't use `_resetBoundingBoxStyles` here, because it resets\n // some properties to zero, rather than removing them.\n if (this._boundingBox) {\n extendStyles(this._boundingBox.style, {\n top: '',\n left: '',\n right: '',\n bottom: '',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n });\n }\n if (this._pane) {\n this._resetOverlayElementStyles();\n }\n if (this._overlayRef) {\n this._overlayRef.hostElement.classList.remove(boundingBoxClass);\n }\n this.detach();\n this._positionChanges.complete();\n this._overlayRef = this._boundingBox = null;\n this._isDisposed = true;\n }\n /**\n * This re-aligns the overlay element with the trigger in its last calculated position,\n * even if a position higher in the \"preferred positions\" list would now fit. This\n * allows one to re-align the panel without changing the orientation of the panel.\n */\n reapplyLastPosition() {\n if (!this._isDisposed && (!this._platform || this._platform.isBrowser)) {\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n this._viewportRect = this._getNarrowedViewportRect();\n const lastPosition = this._lastPosition || this._preferredPositions[0];\n const originPoint = this._getOriginPoint(this._originRect, lastPosition);\n this._applyPosition(lastPosition, originPoint);\n }\n }\n /**\n * Sets the list of Scrollable containers that host the origin element so that\n * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n * Scrollable must be an ancestor element of the strategy's origin element.\n */\n withScrollableContainers(scrollables) {\n this._scrollables = scrollables;\n return this;\n }\n /**\n * Adds new preferred positions.\n * @param positions List of positions options for this overlay.\n */\n withPositions(positions) {\n this._preferredPositions = positions;\n // If the last calculated position object isn't part of the positions anymore, clear\n // it in order to avoid it being picked up if the consumer tries to re-apply.\n if (positions.indexOf(this._lastPosition) === -1) {\n this._lastPosition = null;\n }\n this._validatePositions();\n return this;\n }\n /**\n * Sets a minimum distance the overlay may be positioned to the edge of the viewport.\n * @param margin Required margin between the overlay and the viewport edge in pixels.\n */\n withViewportMargin(margin) {\n this._viewportMargin = margin;\n return this;\n }\n /** Sets whether the overlay's width and height can be constrained to fit within the viewport. */\n withFlexibleDimensions(flexibleDimensions = true) {\n this._hasFlexibleDimensions = flexibleDimensions;\n return this;\n }\n /** Sets whether the overlay can grow after the initial open via flexible width/height. */\n withGrowAfterOpen(growAfterOpen = true) {\n this._growAfterOpen = growAfterOpen;\n return this;\n }\n /** Sets whether the overlay can be pushed on-screen if none of the provided positions fit. */\n withPush(canPush = true) {\n this._canPush = canPush;\n return this;\n }\n /**\n * Sets whether the overlay's position should be locked in after it is positioned\n * initially. When an overlay is locked in, it won't attempt to reposition itself\n * when the position is re-applied (e.g. when the user scrolls away).\n * @param isLocked Whether the overlay should locked in.\n */\n withLockedPosition(isLocked = true) {\n this._positionLocked = isLocked;\n return this;\n }\n /**\n * Sets the origin, relative to which to position the overlay.\n * Using an element origin is useful for building components that need to be positioned\n * relatively to a trigger (e.g. dropdown menus or tooltips), whereas using a point can be\n * used for cases like contextual menus which open relative to the user's pointer.\n * @param origin Reference to the new origin.\n */\n setOrigin(origin) {\n this._origin = origin;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the x-axis.\n * @param offset New offset in the X axis.\n */\n withDefaultOffsetX(offset) {\n this._offsetX = offset;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the y-axis.\n * @param offset New offset in the Y axis.\n */\n withDefaultOffsetY(offset) {\n this._offsetY = offset;\n return this;\n }\n /**\n * Configures that the position strategy should set a `transform-origin` on some elements\n * inside the overlay, depending on the current position that is being applied. This is\n * useful for the cases where the origin of an animation can change depending on the\n * alignment of the overlay.\n * @param selector CSS selector that will be used to find the target\n * elements onto which to set the transform origin.\n */\n withTransformOriginOn(selector) {\n this._transformOriginSelector = selector;\n return this;\n }\n /**\n * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.\n */\n _getOriginPoint(originRect, pos) {\n let x;\n if (pos.originX == 'center') {\n // Note: when centering we should always use the `left`\n // offset, otherwise the position will be wrong in RTL.\n x = originRect.left + (originRect.width / 2);\n }\n else {\n const startX = this._isRtl() ? originRect.right : originRect.left;\n const endX = this._isRtl() ? originRect.left : originRect.right;\n x = pos.originX == 'start' ? startX : endX;\n }\n let y;\n if (pos.originY == 'center') {\n y = originRect.top + (originRect.height / 2);\n }\n else {\n y = pos.originY == 'top' ? originRect.top : originRect.bottom;\n }\n return { x, y };\n }\n /**\n * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and\n * origin point to which the overlay should be connected.\n */\n _getOverlayPoint(originPoint, overlayRect, pos) {\n // Calculate the (overlayStartX, overlayStartY), the start of the\n // potential overlay position relative to the origin point.\n let overlayStartX;\n if (pos.overlayX == 'center') {\n overlayStartX = -overlayRect.width / 2;\n }\n else if (pos.overlayX === 'start') {\n overlayStartX = this._isRtl() ? -overlayRect.width : 0;\n }\n else {\n overlayStartX = this._isRtl() ? 0 : -overlayRect.width;\n }\n let overlayStartY;\n if (pos.overlayY == 'center') {\n overlayStartY = -overlayRect.height / 2;\n }\n else {\n overlayStartY = pos.overlayY == 'top' ? 0 : -overlayRect.height;\n }\n // The (x, y) coordinates of the overlay.\n return {\n x: originPoint.x + overlayStartX,\n y: originPoint.y + overlayStartY,\n };\n }\n /** Gets how well an overlay at the given point will fit within the viewport. */\n _getOverlayFit(point, rawOverlayRect, viewport, position) {\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n let { x, y } = point;\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n // Account for the offsets since they could push the overlay out of the viewport.\n if (offsetX) {\n x += offsetX;\n }\n if (offsetY) {\n y += offsetY;\n }\n // How much the overlay would overflow at this position, on each side.\n let leftOverflow = 0 - x;\n let rightOverflow = (x + overlay.width) - viewport.width;\n let topOverflow = 0 - y;\n let bottomOverflow = (y + overlay.height) - viewport.height;\n // Visible parts of the element on each axis.\n let visibleWidth = this._subtractOverflows(overlay.width, leftOverflow, rightOverflow);\n let visibleHeight = this._subtractOverflows(overlay.height, topOverflow, bottomOverflow);\n let visibleArea = visibleWidth * visibleHeight;\n return {\n visibleArea,\n isCompletelyWithinViewport: (overlay.width * overlay.height) === visibleArea,\n fitsInViewportVertically: visibleHeight === overlay.height,\n fitsInViewportHorizontally: visibleWidth == overlay.width,\n };\n }\n /**\n * Whether the overlay can fit within the viewport when it may resize either its width or height.\n * @param fit How well the overlay fits in the viewport at some position.\n * @param point The (x, y) coordinates of the overlat at some position.\n * @param viewport The geometry of the viewport.\n */\n _canFitWithFlexibleDimensions(fit, point, viewport) {\n if (this._hasFlexibleDimensions) {\n const availableHeight = viewport.bottom - point.y;\n const availableWidth = viewport.right - point.x;\n const minHeight = getPixelValue(this._overlayRef.getConfig().minHeight);\n const minWidth = getPixelValue(this._overlayRef.getConfig().minWidth);\n const verticalFit = fit.fitsInViewportVertically ||\n (minHeight != null && minHeight <= availableHeight);\n const horizontalFit = fit.fitsInViewportHorizontally ||\n (minWidth != null && minWidth <= availableWidth);\n return verticalFit && horizontalFit;\n }\n return false;\n }\n /**\n * Gets the point at which the overlay can be \"pushed\" on-screen. If the overlay is larger than\n * the viewport, the top-left corner will be pushed on-screen (with overflow occuring on the\n * right and bottom).\n *\n * @param start Starting point from which the overlay is pushed.\n * @param overlay Dimensions of the overlay.\n * @param scrollPosition Current viewport scroll position.\n * @returns The point at which to position the overlay after pushing. This is effectively a new\n * originPoint.\n */\n _pushOverlayOnScreen(start, rawOverlayRect, scrollPosition) {\n // If the position is locked and we've pushed the overlay already, reuse the previous push\n // amount, rather than pushing it again. If we were to continue pushing, the element would\n // remain in the viewport, which goes against the expectations when position locking is enabled.\n if (this._previousPushAmount && this._positionLocked) {\n return {\n x: start.x + this._previousPushAmount.x,\n y: start.y + this._previousPushAmount.y\n };\n }\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n const viewport = this._viewportRect;\n // Determine how much the overlay goes outside the viewport on each\n // side, which we'll use to decide which direction to push it.\n const overflowRight = Math.max(start.x + overlay.width - viewport.width, 0);\n const overflowBottom = Math.max(start.y + overlay.height - viewport.height, 0);\n const overflowTop = Math.max(viewport.top - scrollPosition.top - start.y, 0);\n const overflowLeft = Math.max(viewport.left - scrollPosition.left - start.x, 0);\n // Amount by which to push the overlay in each axis such that it remains on-screen.\n let pushX = 0;\n let pushY = 0;\n // If the overlay fits completely within the bounds of the viewport, push it from whichever\n // direction is goes off-screen. Otherwise, push the top-left corner such that its in the\n // viewport and allow for the trailing end of the overlay to go out of bounds.\n if (overlay.width <= viewport.width) {\n pushX = overflowLeft || -overflowRight;\n }\n else {\n pushX = start.x < this._viewportMargin ? (viewport.left - scrollPosition.left) - start.x : 0;\n }\n if (overlay.height <= viewport.height) {\n pushY = overflowTop || -overflowBottom;\n }\n else {\n pushY = start.y < this._viewportMargin ? (viewport.top - scrollPosition.top) - start.y : 0;\n }\n this._previousPushAmount = { x: pushX, y: pushY };\n return {\n x: start.x + pushX,\n y: start.y + pushY,\n };\n }\n /**\n * Applies a computed position to the overlay and emits a position change.\n * @param position The position preference\n * @param originPoint The point on the origin element where the overlay is connected.\n */\n _applyPosition(position, originPoint) {\n this._setTransformOrigin(position);\n this._setOverlayElementStyles(originPoint, position);\n this._setBoundingBoxStyles(originPoint, position);\n if (position.panelClass) {\n this._addPanelClasses(position.panelClass);\n }\n // Save the last connected position in case the position needs to be re-calculated.\n this._lastPosition = position;\n // Notify that the position has been changed along with its change properties.\n // We only emit if we've got any subscriptions, because the scroll visibility\n // calculcations can be somewhat expensive.\n if (this._positionChanges.observers.length) {\n const scrollableViewProperties = this._getScrollVisibility();\n const changeEvent = new ConnectedOverlayPositionChange(position, scrollableViewProperties);\n this._positionChanges.next(changeEvent);\n }\n this._isInitialRender = false;\n }\n /** Sets the transform origin based on the configured selector and the passed-in position. */\n _setTransformOrigin(position) {\n if (!this._transformOriginSelector) {\n return;\n }\n const elements = this._boundingBox.querySelectorAll(this._transformOriginSelector);\n let xOrigin;\n let yOrigin = position.overlayY;\n if (position.overlayX === 'center') {\n xOrigin = 'center';\n }\n else if (this._isRtl()) {\n xOrigin = position.overlayX === 'start' ? 'right' : 'left';\n }\n else {\n xOrigin = position.overlayX === 'start' ? 'left' : 'right';\n }\n for (let i = 0; i < elements.length; i++) {\n elements[i].style.transformOrigin = `${xOrigin} ${yOrigin}`;\n }\n }\n /**\n * Gets the position and size of the overlay's sizing container.\n *\n * This method does no measuring and applies no styles so that we can cheaply compute the\n * bounds for all positions and choose the best fit based on these results.\n */\n _calculateBoundingBoxRect(origin, position) {\n const viewport = this._viewportRect;\n const isRtl = this._isRtl();\n let height, top, bottom;\n if (position.overlayY === 'top') {\n // Overlay is opening \"downward\" and thus is bound by the bottom viewport edge.\n top = origin.y;\n height = viewport.height - top + this._viewportMargin;\n }\n else if (position.overlayY === 'bottom') {\n // Overlay is opening \"upward\" and thus is bound by the top viewport edge. We need to add\n // the viewport margin back in, because the viewport rect is narrowed down to remove the\n // margin, whereas the `origin` position is calculated based on its `ClientRect`.\n bottom = viewport.height - origin.y + this._viewportMargin * 2;\n height = viewport.height - bottom + this._viewportMargin;\n }\n else {\n // If neither top nor bottom, it means that the overlay is vertically centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.bottom - origin.y` and\n // `origin.y - viewport.top`.\n const smallestDistanceToViewportEdge = Math.min(viewport.bottom - origin.y + viewport.top, origin.y);\n const previousHeight = this._lastBoundingBoxSize.height;\n height = smallestDistanceToViewportEdge * 2;\n top = origin.y - smallestDistanceToViewportEdge;\n if (height > previousHeight && !this._isInitialRender && !this._growAfterOpen) {\n top = origin.y - (previousHeight / 2);\n }\n }\n // The overlay is opening 'right-ward' (the content flows to the right).\n const isBoundedByRightViewportEdge = (position.overlayX === 'start' && !isRtl) ||\n (position.overlayX === 'end' && isRtl);\n // The overlay is opening 'left-ward' (the content flows to the left).\n const isBoundedByLeftViewportEdge = (position.overlayX === 'end' && !isRtl) ||\n (position.overlayX === 'start' && isRtl);\n let width, left, right;\n if (isBoundedByLeftViewportEdge) {\n right = viewport.width - origin.x + this._viewportMargin;\n width = origin.x - this._viewportMargin;\n }\n else if (isBoundedByRightViewportEdge) {\n left = origin.x;\n width = viewport.right - origin.x;\n }\n else {\n // If neither start nor end, it means that the overlay is horizontally centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.right - origin.x` and\n // `origin.x - viewport.left`.\n const smallestDistanceToViewportEdge = Math.min(viewport.right - origin.x + viewport.left, origin.x);\n const previousWidth = this._lastBoundingBoxSize.width;\n width = smallestDistanceToViewportEdge * 2;\n left = origin.x - smallestDistanceToViewportEdge;\n if (width > previousWidth && !this._isInitialRender && !this._growAfterOpen) {\n left = origin.x - (previousWidth / 2);\n }\n }\n return { top: top, left: left, bottom: bottom, right: right, width, height };\n }\n /**\n * Sets the position and size of the overlay's sizing wrapper. The wrapper is positioned on the\n * origin's connection point and stetches to the bounds of the viewport.\n *\n * @param origin The point on the origin element where the overlay is connected.\n * @param position The position preference\n */\n _setBoundingBoxStyles(origin, position) {\n const boundingBoxRect = this._calculateBoundingBoxRect(origin, position);\n // It's weird if the overlay *grows* while scrolling, so we take the last size into account\n // when applying a new size.\n if (!this._isInitialRender && !this._growAfterOpen) {\n boundingBoxRect.height = Math.min(boundingBoxRect.height, this._lastBoundingBoxSize.height);\n boundingBoxRect.width = Math.min(boundingBoxRect.width, this._lastBoundingBoxSize.width);\n }\n const styles = {};\n if (this._hasExactPosition()) {\n styles.top = styles.left = '0';\n styles.bottom = styles.right = styles.maxHeight = styles.maxWidth = '';\n styles.width = styles.height = '100%';\n }\n else {\n const maxHeight = this._overlayRef.getConfig().maxHeight;\n const maxWidth = this._overlayRef.getConfig().maxWidth;\n styles.height = coerceCssPixelValue(boundingBoxRect.height);\n styles.top = coerceCssPixelValue(boundingBoxRect.top);\n styles.bottom = coerceCssPixelValue(boundingBoxRect.bottom);\n styles.width = coerceCssPixelValue(boundingBoxRect.width);\n styles.left = coerceCssPixelValue(boundingBoxRect.left);\n styles.right = coerceCssPixelValue(boundingBoxRect.right);\n // Push the pane content towards the proper direction.\n if (position.overlayX === 'center') {\n styles.alignItems = 'center';\n }\n else {\n styles.alignItems = position.overlayX === 'end' ? 'flex-end' : 'flex-start';\n }\n if (position.overlayY === 'center') {\n styles.justifyContent = 'center';\n }\n else {\n styles.justifyContent = position.overlayY === 'bottom' ? 'flex-end' : 'flex-start';\n }\n if (maxHeight) {\n styles.maxHeight = coerceCssPixelValue(maxHeight);\n }\n if (maxWidth) {\n styles.maxWidth = coerceCssPixelValue(maxWidth);\n }\n }\n this._lastBoundingBoxSize = boundingBoxRect;\n extendStyles(this._boundingBox.style, styles);\n }\n /** Resets the styles for the bounding box so that a new positioning can be computed. */\n _resetBoundingBoxStyles() {\n extendStyles(this._boundingBox.style, {\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n });\n }\n /** Resets the styles for the overlay pane so that a new positioning can be computed. */\n _resetOverlayElementStyles() {\n extendStyles(this._pane.style, {\n top: '',\n left: '',\n bottom: '',\n right: '',\n position: '',\n transform: '',\n });\n }\n /** Sets positioning styles to the overlay element. */\n _setOverlayElementStyles(originPoint, position) {\n const styles = {};\n const hasExactPosition = this._hasExactPosition();\n const hasFlexibleDimensions = this._hasFlexibleDimensions;\n const config = this._overlayRef.getConfig();\n if (hasExactPosition) {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n extendStyles(styles, this._getExactOverlayY(position, originPoint, scrollPosition));\n extendStyles(styles, this._getExactOverlayX(position, originPoint, scrollPosition));\n }\n else {\n styles.position = 'static';\n }\n // Use a transform to apply the offsets. We do this because the `center` positions rely on\n // being in the normal flex flow and setting a `top` / `left` at all will completely throw\n // off the position. We also can't use margins, because they won't have an effect in some\n // cases where the element doesn't have anything to \"push off of\". Finally, this works\n // better both with flexible and non-flexible positioning.\n let transformString = '';\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n if (offsetX) {\n transformString += `translateX(${offsetX}px) `;\n }\n if (offsetY) {\n transformString += `translateY(${offsetY}px)`;\n }\n styles.transform = transformString.trim();\n // If a maxWidth or maxHeight is specified on the overlay, we remove them. We do this because\n // we need these values to both be set to \"100%\" for the automatic flexible sizing to work.\n // The maxHeight and maxWidth are set on the boundingBox in order to enforce the constraint.\n // Note that this doesn't apply when we have an exact position, in which case we do want to\n // apply them because they'll be cleared from the bounding box.\n if (config.maxHeight) {\n if (hasExactPosition) {\n styles.maxHeight = coerceCssPixelValue(config.maxHeight);\n }\n else if (hasFlexibleDimensions) {\n styles.maxHeight = '';\n }\n }\n if (config.maxWidth) {\n if (hasExactPosition) {\n styles.maxWidth = coerceCssPixelValue(config.maxWidth);\n }\n else if (hasFlexibleDimensions) {\n styles.maxWidth = '';\n }\n }\n extendStyles(this._pane.style, styles);\n }\n /** Gets the exact top/bottom for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayY(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the\n // preferred position has changed since the last `apply`.\n let styles = { top: '', bottom: '' };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n let virtualKeyboardOffset = this._overlayContainer.getContainerElement().getBoundingClientRect().top;\n // Normally this would be zero, however when the overlay is attached to an input (e.g. in an\n // autocomplete), mobile browsers will shift everything in order to put the input in the middle\n // of the screen and to make space for the virtual keyboard. We need to account for this offset,\n // otherwise our positioning will be thrown off.\n overlayPoint.y -= virtualKeyboardOffset;\n // We want to set either `top` or `bottom` based on whether the overlay wants to appear\n // above or below the origin and the direction in which the element will expand.\n if (position.overlayY === 'bottom') {\n // When using `bottom`, we adjust the y position such that it is the distance\n // from the bottom of the viewport rather than the top.\n const documentHeight = this._document.documentElement.clientHeight;\n styles.bottom = `${documentHeight - (overlayPoint.y + this._overlayRect.height)}px`;\n }\n else {\n styles.top = coerceCssPixelValue(overlayPoint.y);\n }\n return styles;\n }\n /** Gets the exact left/right for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayX(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the preferred position has\n // changed since the last `apply`.\n let styles = { left: '', right: '' };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n // We want to set either `left` or `right` based on whether the overlay wants to appear \"before\"\n // or \"after\" the origin, which determines the direction in which the element will expand.\n // For the horizontal axis, the meaning of \"before\" and \"after\" change based on whether the\n // page is in RTL or LTR.\n let horizontalStyleProperty;\n if (this._isRtl()) {\n horizontalStyleProperty = position.overlayX === 'end' ? 'left' : 'right';\n }\n else {\n horizontalStyleProperty = position.overlayX === 'end' ? 'right' : 'left';\n }\n // When we're setting `right`, we adjust the x position such that it is the distance\n // from the right edge of the viewport rather than the left edge.\n if (horizontalStyleProperty === 'right') {\n const documentWidth = this._document.documentElement.clientWidth;\n styles.right = `${documentWidth - (overlayPoint.x + this._overlayRect.width)}px`;\n }\n else {\n styles.left = coerceCssPixelValue(overlayPoint.x);\n }\n return styles;\n }\n /**\n * Gets the view properties of the trigger and overlay, including whether they are clipped\n * or completely outside the view of any of the strategy's scrollables.\n */\n _getScrollVisibility() {\n // Note: needs fresh rects since the position could've changed.\n const originBounds = this._getOriginRect();\n const overlayBounds = this._pane.getBoundingClientRect();\n // TODO(jelbourn): instead of needing all of the client rects for these scrolling containers\n // every time, we should be able to use the scrollTop of the containers if the size of those\n // containers hasn't changed.\n const scrollContainerBounds = this._scrollables.map(scrollable => {\n return scrollable.getElementRef().nativeElement.getBoundingClientRect();\n });\n return {\n isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),\n isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),\n isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds),\n isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds),\n };\n }\n /** Subtracts the amount that an element is overflowing on an axis from its length. */\n _subtractOverflows(length, ...overflows) {\n return overflows.reduce((currentValue, currentOverflow) => {\n return currentValue - Math.max(currentOverflow, 0);\n }, length);\n }\n /** Narrows the given viewport rect by the current _viewportMargin. */\n _getNarrowedViewportRect() {\n // We recalculate the viewport rect here ourselves, rather than using the ViewportRuler,\n // because we want to use the `clientWidth` and `clientHeight` as the base. The difference\n // being that the client properties don't include the scrollbar, as opposed to `innerWidth`\n // and `innerHeight` that do. This is necessary, because the overlay container uses\n // 100% `width` and `height` which don't include the scrollbar either.\n const width = this._document.documentElement.clientWidth;\n const height = this._document.documentElement.clientHeight;\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n return {\n top: scrollPosition.top + this._viewportMargin,\n left: scrollPosition.left + this._viewportMargin,\n right: scrollPosition.left + width - this._viewportMargin,\n bottom: scrollPosition.top + height - this._viewportMargin,\n width: width - (2 * this._viewportMargin),\n height: height - (2 * this._viewportMargin),\n };\n }\n /** Whether the we're dealing with an RTL context */\n _isRtl() {\n return this._overlayRef.getDirection() === 'rtl';\n }\n /** Determines whether the overlay uses exact or flexible positioning. */\n _hasExactPosition() {\n return !this._hasFlexibleDimensions || this._isPushed;\n }\n /** Retrieves the offset of a position along the x or y axis. */\n _getOffset(position, axis) {\n if (axis === 'x') {\n // We don't do something like `position['offset' + axis]` in\n // order to avoid breking minifiers that rename properties.\n return position.offsetX == null ? this._offsetX : position.offsetX;\n }\n return position.offsetY == null ? this._offsetY : position.offsetY;\n }\n /** Validates that the current position match the expected values. */\n _validatePositions() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._preferredPositions.length) {\n throw Error('FlexibleConnectedPositionStrategy: At least one position is required.');\n }\n // TODO(crisbeto): remove these once Angular's template type\n // checking is advanced enough to catch these cases.\n this._preferredPositions.forEach(pair => {\n validateHorizontalPosition('originX', pair.originX);\n validateVerticalPosition('originY', pair.originY);\n validateHorizontalPosition('overlayX', pair.overlayX);\n validateVerticalPosition('overlayY', pair.overlayY);\n });\n }\n }\n /** Adds a single CSS class or an array of classes on the overlay panel. */\n _addPanelClasses(cssClasses) {\n if (this._pane) {\n coerceArray(cssClasses).forEach(cssClass => {\n if (cssClass !== '' && this._appliedPanelClasses.indexOf(cssClass) === -1) {\n this._appliedPanelClasses.push(cssClass);\n this._pane.classList.add(cssClass);\n }\n });\n }\n }\n /** Clears the classes that the position strategy has applied from the overlay panel. */\n _clearPanelClasses() {\n if (this._pane) {\n this._appliedPanelClasses.forEach(cssClass => {\n this._pane.classList.remove(cssClass);\n });\n this._appliedPanelClasses = [];\n }\n }\n /** Returns the ClientRect of the current origin. */\n _getOriginRect() {\n const origin = this._origin;\n if (origin instanceof ElementRef) {\n return origin.nativeElement.getBoundingClientRect();\n }\n // Check for Element so SVG elements are also supported.\n if (origin instanceof Element) {\n return origin.getBoundingClientRect();\n }\n const width = origin.width || 0;\n const height = origin.height || 0;\n // If the origin is a point, return a client rect as if it was a 0x0 element at the point.\n return {\n top: origin.y,\n bottom: origin.y + height,\n left: origin.x,\n right: origin.x + width,\n height,\n width\n };\n }\n}\n/** Shallow-extends a stylesheet object with another stylesheet object. */\nfunction extendStyles(destination, source) {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n destination[key] = source[key];\n }\n }\n return destination;\n}\n/**\n * Extracts the pixel value as a number from a value, if it's a number\n * or a CSS pixel string (e.g. `1337px`). Otherwise returns null.\n */\nfunction getPixelValue(input) {\n if (typeof input !== 'number' && input != null) {\n const [value, units] = input.split(cssUnitPattern);\n return (!units || units === 'px') ? parseFloat(value) : null;\n }\n return input || null;\n}\n/**\n * Gets a version of an element's bounding `ClientRect` where all the values are rounded down to\n * the nearest pixel. This allows us to account for the cases where there may be sub-pixel\n * deviations in the `ClientRect` returned by the browser (e.g. when zoomed in with a percentage\n * size, see #21350).\n */\nfunction getRoundedBoundingClientRect(clientRect) {\n return {\n top: Math.floor(clientRect.top),\n right: Math.floor(clientRect.right),\n bottom: Math.floor(clientRect.bottom),\n left: Math.floor(clientRect.left),\n width: Math.floor(clientRect.width),\n height: Math.floor(clientRect.height)\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative to some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n * @deprecated Use `FlexibleConnectedPositionStrategy` instead.\n * @breaking-change 8.0.0\n */\nclass ConnectedPositionStrategy {\n constructor(originPos, overlayPos, connectedTo, viewportRuler, document, platform, overlayContainer) {\n /** Ordered list of preferred positions, from most to least desirable. */\n this._preferredPositions = [];\n // Since the `ConnectedPositionStrategy` is deprecated and we don't want to maintain\n // the extra logic, we create an instance of the positioning strategy that has some\n // defaults that make it behave as the old position strategy and to which we'll\n // proxy all of the API calls.\n this._positionStrategy = new FlexibleConnectedPositionStrategy(connectedTo, viewportRuler, document, platform, overlayContainer)\n .withFlexibleDimensions(false)\n .withPush(false)\n .withViewportMargin(0);\n this.withFallbackPosition(originPos, overlayPos);\n this.onPositionChange = this._positionStrategy.positionChanges;\n }\n /** Ordered list of preferred positions, from most to least desirable. */\n get positions() {\n return this._preferredPositions;\n }\n /** Attach this position strategy to an overlay. */\n attach(overlayRef) {\n this._overlayRef = overlayRef;\n this._positionStrategy.attach(overlayRef);\n if (this._direction) {\n overlayRef.setDirection(this._direction);\n this._direction = null;\n }\n }\n /** Disposes all resources used by the position strategy. */\n dispose() {\n this._positionStrategy.dispose();\n }\n /** @docs-private */\n detach() {\n this._positionStrategy.detach();\n }\n /**\n * Updates the position of the overlay element, using whichever preferred position relative\n * to the origin fits on-screen.\n * @docs-private\n */\n apply() {\n this._positionStrategy.apply();\n }\n /**\n * Re-positions the overlay element with the trigger in its last calculated position,\n * even if a position higher in the \"preferred positions\" list would now fit. This\n * allows one to re-align the panel without changing the orientation of the panel.\n */\n recalculateLastPosition() {\n this._positionStrategy.reapplyLastPosition();\n }\n /**\n * Sets the list of Scrollable containers that host the origin element so that\n * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n * Scrollable must be an ancestor element of the strategy's origin element.\n */\n withScrollableContainers(scrollables) {\n this._positionStrategy.withScrollableContainers(scrollables);\n }\n /**\n * Adds a new preferred fallback position.\n * @param originPos\n * @param overlayPos\n */\n withFallbackPosition(originPos, overlayPos, offsetX, offsetY) {\n const position = new ConnectionPositionPair(originPos, overlayPos, offsetX, offsetY);\n this._preferredPositions.push(position);\n this._positionStrategy.withPositions(this._preferredPositions);\n return this;\n }\n /**\n * Sets the layout direction so the overlay's position can be adjusted to match.\n * @param dir New layout direction.\n */\n withDirection(dir) {\n // Since the direction might be declared before the strategy is attached,\n // we save the value in a temporary property and we'll transfer it to the\n // overlay ref on attachment.\n if (this._overlayRef) {\n this._overlayRef.setDirection(dir);\n }\n else {\n this._direction = dir;\n }\n return this;\n }\n /**\n * Sets an offset for the overlay's connection point on the x-axis\n * @param offset New offset in the X axis.\n */\n withOffsetX(offset) {\n this._positionStrategy.withDefaultOffsetX(offset);\n return this;\n }\n /**\n * Sets an offset for the overlay's connection point on the y-axis\n * @param offset New offset in the Y axis.\n */\n withOffsetY(offset) {\n this._positionStrategy.withDefaultOffsetY(offset);\n return this;\n }\n /**\n * Sets whether the overlay's position should be locked in after it is positioned\n * initially. When an overlay is locked in, it won't attempt to reposition itself\n * when the position is re-applied (e.g. when the user scrolls away).\n * @param isLocked Whether the overlay should locked in.\n */\n withLockedPosition(isLocked) {\n this._positionStrategy.withLockedPosition(isLocked);\n return this;\n }\n /**\n * Overwrites the current set of positions with an array of new ones.\n * @param positions Position pairs to be set on the strategy.\n */\n withPositions(positions) {\n this._preferredPositions = positions.slice();\n this._positionStrategy.withPositions(this._preferredPositions);\n return this;\n }\n /**\n * Sets the origin element, relative to which to position the overlay.\n * @param origin Reference to the new origin element.\n */\n setOrigin(origin) {\n this._positionStrategy.setOrigin(origin);\n return this;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Class to be added to the overlay pane wrapper. */\nconst wrapperClass = 'cdk-global-overlay-wrapper';\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * explicit position relative to the browser's viewport. We use flexbox, instead of\n * transforms, in order to avoid issues with subpixel rendering which can cause the\n * element to become blurry.\n */\nclass GlobalPositionStrategy {\n constructor() {\n this._cssPosition = 'static';\n this._topOffset = '';\n this._bottomOffset = '';\n this._leftOffset = '';\n this._rightOffset = '';\n this._alignItems = '';\n this._justifyContent = '';\n this._width = '';\n this._height = '';\n }\n attach(overlayRef) {\n const config = overlayRef.getConfig();\n this._overlayRef = overlayRef;\n if (this._width && !config.width) {\n overlayRef.updateSize({ width: this._width });\n }\n if (this._height && !config.height) {\n overlayRef.updateSize({ height: this._height });\n }\n overlayRef.hostElement.classList.add(wrapperClass);\n this._isDisposed = false;\n }\n /**\n * Sets the top position of the overlay. Clears any previously set vertical position.\n * @param value New top offset.\n */\n top(value = '') {\n this._bottomOffset = '';\n this._topOffset = value;\n this._alignItems = 'flex-start';\n return this;\n }\n /**\n * Sets the left position of the overlay. Clears any previously set horizontal position.\n * @param value New left offset.\n */\n left(value = '') {\n this._rightOffset = '';\n this._leftOffset = value;\n this._justifyContent = 'flex-start';\n return this;\n }\n /**\n * Sets the bottom position of the overlay. Clears any previously set vertical position.\n * @param value New bottom offset.\n */\n bottom(value = '') {\n this._topOffset = '';\n this._bottomOffset = value;\n this._alignItems = 'flex-end';\n return this;\n }\n /**\n * Sets the right position of the overlay. Clears any previously set horizontal position.\n * @param value New right offset.\n */\n right(value = '') {\n this._leftOffset = '';\n this._rightOffset = value;\n this._justifyContent = 'flex-end';\n return this;\n }\n /**\n * Sets the overlay width and clears any previously set width.\n * @param value New width for the overlay\n * @deprecated Pass the `width` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n width(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({ width: value });\n }\n else {\n this._width = value;\n }\n return this;\n }\n /**\n * Sets the overlay height and clears any previously set height.\n * @param value New height for the overlay\n * @deprecated Pass the `height` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n height(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({ height: value });\n }\n else {\n this._height = value;\n }\n return this;\n }\n /**\n * Centers the overlay horizontally with an optional offset.\n * Clears any previously set horizontal position.\n *\n * @param offset Overlay offset from the horizontal center.\n */\n centerHorizontally(offset = '') {\n this.left(offset);\n this._justifyContent = 'center';\n return this;\n }\n /**\n * Centers the overlay vertically with an optional offset.\n * Clears any previously set vertical position.\n *\n * @param offset Overlay offset from the vertical center.\n */\n centerVertically(offset = '') {\n this.top(offset);\n this._alignItems = 'center';\n return this;\n }\n /**\n * Apply the position to the element.\n * @docs-private\n */\n apply() {\n // Since the overlay ref applies the strategy asynchronously, it could\n // have been disposed before it ends up being applied. If that is the\n // case, we shouldn't do anything.\n if (!this._overlayRef || !this._overlayRef.hasAttached()) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parentStyles = this._overlayRef.hostElement.style;\n const config = this._overlayRef.getConfig();\n const { width, height, maxWidth, maxHeight } = config;\n const shouldBeFlushHorizontally = (width === '100%' || width === '100vw') &&\n (!maxWidth || maxWidth === '100%' || maxWidth === '100vw');\n const shouldBeFlushVertically = (height === '100%' || height === '100vh') &&\n (!maxHeight || maxHeight === '100%' || maxHeight === '100vh');\n styles.position = this._cssPosition;\n styles.marginLeft = shouldBeFlushHorizontally ? '0' : this._leftOffset;\n styles.marginTop = shouldBeFlushVertically ? '0' : this._topOffset;\n styles.marginBottom = this._bottomOffset;\n styles.marginRight = this._rightOffset;\n if (shouldBeFlushHorizontally) {\n parentStyles.justifyContent = 'flex-start';\n }\n else if (this._justifyContent === 'center') {\n parentStyles.justifyContent = 'center';\n }\n else if (this._overlayRef.getConfig().direction === 'rtl') {\n // In RTL the browser will invert `flex-start` and `flex-end` automatically, but we\n // don't want that because our positioning is explicitly `left` and `right`, hence\n // why we do another inversion to ensure that the overlay stays in the same position.\n // TODO: reconsider this if we add `start` and `end` methods.\n if (this._justifyContent === 'flex-start') {\n parentStyles.justifyContent = 'flex-end';\n }\n else if (this._justifyContent === 'flex-end') {\n parentStyles.justifyContent = 'flex-start';\n }\n }\n else {\n parentStyles.justifyContent = this._justifyContent;\n }\n parentStyles.alignItems = shouldBeFlushVertically ? 'flex-start' : this._alignItems;\n }\n /**\n * Cleans up the DOM changes from the position strategy.\n * @docs-private\n */\n dispose() {\n if (this._isDisposed || !this._overlayRef) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parent = this._overlayRef.hostElement;\n const parentStyles = parent.style;\n parent.classList.remove(wrapperClass);\n parentStyles.justifyContent = parentStyles.alignItems = styles.marginTop =\n styles.marginBottom = styles.marginLeft = styles.marginRight = styles.position = '';\n this._overlayRef = null;\n this._isDisposed = true;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Builder for overlay position strategy. */\nclass OverlayPositionBuilder {\n constructor(_viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n }\n /**\n * Creates a global position strategy.\n */\n global() {\n return new GlobalPositionStrategy();\n }\n /**\n * Creates a relative position strategy.\n * @param elementRef\n * @param originPos\n * @param overlayPos\n * @deprecated Use `flexibleConnectedTo` instead.\n * @breaking-change 8.0.0\n */\n connectedTo(elementRef, originPos, overlayPos) {\n return new ConnectedPositionStrategy(originPos, overlayPos, elementRef, this._viewportRuler, this._document, this._platform, this._overlayContainer);\n }\n /**\n * Creates a flexible position strategy.\n * @param origin Origin relative to which to position the overlay.\n */\n flexibleConnectedTo(origin) {\n return new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document, this._platform, this._overlayContainer);\n }\n}\nOverlayPositionBuilder.ɵfac = function OverlayPositionBuilder_Factory(t) { return new (t || OverlayPositionBuilder)(ɵngcc0.ɵɵinject(ɵngcc1.ViewportRuler), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc2.Platform), ɵngcc0.ɵɵinject(OverlayContainer)); };\nOverlayPositionBuilder.ɵprov = i0.ɵɵdefineInjectable({ factory: function OverlayPositionBuilder_Factory() { return new OverlayPositionBuilder(i0.ɵɵinject(i1.ViewportRuler), i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform), i0.ɵɵinject(OverlayContainer)); }, token: OverlayPositionBuilder, providedIn: \"root\" });\nOverlayPositionBuilder.ctorParameters = () => [\n { type: ViewportRuler },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Platform },\n { type: OverlayContainer }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(OverlayPositionBuilder, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.ViewportRuler }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc2.Platform }, { type: OverlayContainer }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Next overlay unique ID. */\nlet nextUniqueId = 0;\n// Note that Overlay is *not* scoped to the app root because of the ComponentFactoryResolver\n// which needs to be different depending on where OverlayModule is imported.\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.\n */\nclass Overlay {\n constructor(\n /** Scrolling strategies that can be used when creating an overlay. */\n scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _injector, _ngZone, _document, _directionality, _location, _outsideClickDispatcher) {\n this.scrollStrategies = scrollStrategies;\n this._overlayContainer = _overlayContainer;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._positionBuilder = _positionBuilder;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._injector = _injector;\n this._ngZone = _ngZone;\n this._document = _document;\n this._directionality = _directionality;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n }\n /**\n * Creates an overlay.\n * @param config Configuration applied to the overlay.\n * @returns Reference to the created overlay.\n */\n create(config) {\n const host = this._createHostElement();\n const pane = this._createPaneElement(host);\n const portalOutlet = this._createPortalOutlet(pane);\n const overlayConfig = new OverlayConfig(config);\n overlayConfig.direction = overlayConfig.direction || this._directionality.value;\n return new OverlayRef(portalOutlet, host, pane, overlayConfig, this._ngZone, this._keyboardDispatcher, this._document, this._location, this._outsideClickDispatcher);\n }\n /**\n * Gets a position builder that can be used, via fluent API,\n * to construct and configure a position strategy.\n * @returns An overlay position builder.\n */\n position() {\n return this._positionBuilder;\n }\n /**\n * Creates the DOM element for an overlay and appends it to the overlay container.\n * @returns Newly-created pane element\n */\n _createPaneElement(host) {\n const pane = this._document.createElement('div');\n pane.id = `cdk-overlay-${nextUniqueId++}`;\n pane.classList.add('cdk-overlay-pane');\n host.appendChild(pane);\n return pane;\n }\n /**\n * Creates the host element that wraps around an overlay\n * and can be used for advanced positioning.\n * @returns Newly-create host element.\n */\n _createHostElement() {\n const host = this._document.createElement('div');\n this._overlayContainer.getContainerElement().appendChild(host);\n return host;\n }\n /**\n * Create a DomPortalOutlet into which the overlay content can be loaded.\n * @param pane The DOM element to turn into a portal outlet.\n * @returns A portal outlet for the given DOM element.\n */\n _createPortalOutlet(pane) {\n // We have to resolve the ApplicationRef later in order to allow people\n // to use overlay-based providers during app initialization.\n if (!this._appRef) {\n this._appRef = this._injector.get(ApplicationRef);\n }\n return new DomPortalOutlet(pane, this._componentFactoryResolver, this._appRef, this._injector, this._document);\n }\n}\nOverlay.ɵfac = function Overlay_Factory(t) { return new (t || Overlay)(ɵngcc0.ɵɵinject(ScrollStrategyOptions), ɵngcc0.ɵɵinject(OverlayContainer), ɵngcc0.ɵɵinject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵinject(OverlayPositionBuilder), ɵngcc0.ɵɵinject(OverlayKeyboardDispatcher), ɵngcc0.ɵɵinject(ɵngcc0.Injector), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc3.Directionality), ɵngcc0.ɵɵinject(ɵngcc4.Location), ɵngcc0.ɵɵinject(OverlayOutsideClickDispatcher)); };\nOverlay.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: Overlay, factory: Overlay.ɵfac });\nOverlay.ctorParameters = () => [\n { type: ScrollStrategyOptions },\n { type: OverlayContainer },\n { type: ComponentFactoryResolver },\n { type: OverlayPositionBuilder },\n { type: OverlayKeyboardDispatcher },\n { type: Injector },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Directionality },\n { type: Location },\n { type: OverlayOutsideClickDispatcher }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Overlay, [{\n type: Injectable\n }], function () { return [{ type: ScrollStrategyOptions }, { type: OverlayContainer }, { type: ɵngcc0.ComponentFactoryResolver }, { type: OverlayPositionBuilder }, { type: OverlayKeyboardDispatcher }, { type: ɵngcc0.Injector }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc3.Directionality }, { type: ɵngcc4.Location }, { type: OverlayOutsideClickDispatcher }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Default set of positions for the overlay. Follows the behavior of a dropdown. */\nconst defaultPositionList = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top'\n }\n];\n/** Injection token that determines the scroll handling while the connected overlay is open. */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY = new InjectionToken('cdk-connected-overlay-scroll-strategy');\n/**\n * Directive applied to an element to make it usable as an origin for an Overlay using a\n * ConnectedPositionStrategy.\n */\nclass CdkOverlayOrigin {\n constructor(\n /** Reference to the element on which the directive is applied. */\n elementRef) {\n this.elementRef = elementRef;\n }\n}\nCdkOverlayOrigin.ɵfac = function CdkOverlayOrigin_Factory(t) { return new (t || CdkOverlayOrigin)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCdkOverlayOrigin.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkOverlayOrigin, selectors: [[\"\", \"cdk-overlay-origin\", \"\"], [\"\", \"overlay-origin\", \"\"], [\"\", \"cdkOverlayOrigin\", \"\"]], exportAs: [\"cdkOverlayOrigin\"] });\nCdkOverlayOrigin.ctorParameters = () => [\n { type: ElementRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkOverlayOrigin, [{\n type: Directive,\n args: [{\n selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',\n exportAs: 'cdkOverlayOrigin'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * Directive to facilitate declarative creation of an\n * Overlay using a FlexibleConnectedPositionStrategy.\n */\nclass CdkConnectedOverlay {\n // TODO(jelbourn): inputs for size, scroll behavior, animation, etc.\n constructor(_overlay, templateRef, viewContainerRef, scrollStrategyFactory, _dir) {\n this._overlay = _overlay;\n this._dir = _dir;\n this._hasBackdrop = false;\n this._lockPosition = false;\n this._growAfterOpen = false;\n this._flexibleDimensions = false;\n this._push = false;\n this._backdropSubscription = Subscription.EMPTY;\n this._attachSubscription = Subscription.EMPTY;\n this._detachSubscription = Subscription.EMPTY;\n this._positionSubscription = Subscription.EMPTY;\n /** Margin between the overlay and the viewport edges. */\n this.viewportMargin = 0;\n /** Whether the overlay is open. */\n this.open = false;\n /** Whether the overlay can be closed by user interaction. */\n this.disableClose = false;\n /** Event emitted when the backdrop is clicked. */\n this.backdropClick = new EventEmitter();\n /** Event emitted when the position has changed. */\n this.positionChange = new EventEmitter();\n /** Event emitted when the overlay has been attached. */\n this.attach = new EventEmitter();\n /** Event emitted when the overlay has been detached. */\n this.detach = new EventEmitter();\n /** Emits when there are keyboard events that are targeted at the overlay. */\n this.overlayKeydown = new EventEmitter();\n /** Emits when there are mouse outside click events that are targeted at the overlay. */\n this.overlayOutsideClick = new EventEmitter();\n this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);\n this._scrollStrategyFactory = scrollStrategyFactory;\n this.scrollStrategy = this._scrollStrategyFactory();\n }\n /** The offset in pixels for the overlay connection point on the x-axis */\n get offsetX() { return this._offsetX; }\n set offsetX(offsetX) {\n this._offsetX = offsetX;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** The offset in pixels for the overlay connection point on the y-axis */\n get offsetY() { return this._offsetY; }\n set offsetY(offsetY) {\n this._offsetY = offsetY;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** Whether or not the overlay should attach a backdrop. */\n get hasBackdrop() { return this._hasBackdrop; }\n set hasBackdrop(value) { this._hasBackdrop = coerceBooleanProperty(value); }\n /** Whether or not the overlay should be locked when scrolling. */\n get lockPosition() { return this._lockPosition; }\n set lockPosition(value) { this._lockPosition = coerceBooleanProperty(value); }\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n get flexibleDimensions() { return this._flexibleDimensions; }\n set flexibleDimensions(value) {\n this._flexibleDimensions = coerceBooleanProperty(value);\n }\n /** Whether the overlay can grow after the initial open when flexible positioning is turned on. */\n get growAfterOpen() { return this._growAfterOpen; }\n set growAfterOpen(value) { this._growAfterOpen = coerceBooleanProperty(value); }\n /** Whether the overlay can be pushed on-screen if none of the provided positions fit. */\n get push() { return this._push; }\n set push(value) { this._push = coerceBooleanProperty(value); }\n /** The associated overlay reference. */\n get overlayRef() {\n return this._overlayRef;\n }\n /** The element's layout direction. */\n get dir() {\n return this._dir ? this._dir.value : 'ltr';\n }\n ngOnDestroy() {\n this._attachSubscription.unsubscribe();\n this._detachSubscription.unsubscribe();\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n }\n ngOnChanges(changes) {\n if (this._position) {\n this._updatePositionStrategy(this._position);\n this._overlayRef.updateSize({\n width: this.width,\n minWidth: this.minWidth,\n height: this.height,\n minHeight: this.minHeight,\n });\n if (changes['origin'] && this.open) {\n this._position.apply();\n }\n }\n if (changes['open']) {\n this.open ? this._attachOverlay() : this._detachOverlay();\n }\n }\n /** Creates an overlay */\n _createOverlay() {\n if (!this.positions || !this.positions.length) {\n this.positions = defaultPositionList;\n }\n const overlayRef = this._overlayRef = this._overlay.create(this._buildConfig());\n this._attachSubscription = overlayRef.attachments().subscribe(() => this.attach.emit());\n this._detachSubscription = overlayRef.detachments().subscribe(() => this.detach.emit());\n overlayRef.keydownEvents().subscribe((event) => {\n this.overlayKeydown.next(event);\n if (event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event)) {\n event.preventDefault();\n this._detachOverlay();\n }\n });\n this._overlayRef.outsidePointerEvents().subscribe((event) => {\n this.overlayOutsideClick.next(event);\n });\n }\n /** Builds the overlay config based on the directive's inputs */\n _buildConfig() {\n const positionStrategy = this._position =\n this.positionStrategy || this._createPositionStrategy();\n const overlayConfig = new OverlayConfig({\n direction: this._dir,\n positionStrategy,\n scrollStrategy: this.scrollStrategy,\n hasBackdrop: this.hasBackdrop\n });\n if (this.width || this.width === 0) {\n overlayConfig.width = this.width;\n }\n if (this.height || this.height === 0) {\n overlayConfig.height = this.height;\n }\n if (this.minWidth || this.minWidth === 0) {\n overlayConfig.minWidth = this.minWidth;\n }\n if (this.minHeight || this.minHeight === 0) {\n overlayConfig.minHeight = this.minHeight;\n }\n if (this.backdropClass) {\n overlayConfig.backdropClass = this.backdropClass;\n }\n if (this.panelClass) {\n overlayConfig.panelClass = this.panelClass;\n }\n return overlayConfig;\n }\n /** Updates the state of a position strategy, based on the values of the directive inputs. */\n _updatePositionStrategy(positionStrategy) {\n const positions = this.positions.map(currentPosition => ({\n originX: currentPosition.originX,\n originY: currentPosition.originY,\n overlayX: currentPosition.overlayX,\n overlayY: currentPosition.overlayY,\n offsetX: currentPosition.offsetX || this.offsetX,\n offsetY: currentPosition.offsetY || this.offsetY,\n panelClass: currentPosition.panelClass || undefined,\n }));\n return positionStrategy\n .setOrigin(this.origin.elementRef)\n .withPositions(positions)\n .withFlexibleDimensions(this.flexibleDimensions)\n .withPush(this.push)\n .withGrowAfterOpen(this.growAfterOpen)\n .withViewportMargin(this.viewportMargin)\n .withLockedPosition(this.lockPosition)\n .withTransformOriginOn(this.transformOriginSelector);\n }\n /** Returns the position strategy of the overlay to be set on the overlay config */\n _createPositionStrategy() {\n const strategy = this._overlay.position().flexibleConnectedTo(this.origin.elementRef);\n this._updatePositionStrategy(strategy);\n return strategy;\n }\n /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */\n _attachOverlay() {\n if (!this._overlayRef) {\n this._createOverlay();\n }\n else {\n // Update the overlay size, in case the directive's inputs have changed\n this._overlayRef.getConfig().hasBackdrop = this.hasBackdrop;\n }\n if (!this._overlayRef.hasAttached()) {\n this._overlayRef.attach(this._templatePortal);\n }\n if (this.hasBackdrop) {\n this._backdropSubscription = this._overlayRef.backdropClick().subscribe(event => {\n this.backdropClick.emit(event);\n });\n }\n else {\n this._backdropSubscription.unsubscribe();\n }\n this._positionSubscription.unsubscribe();\n // Only subscribe to `positionChanges` if requested, because putting\n // together all the information for it can be expensive.\n if (this.positionChange.observers.length > 0) {\n this._positionSubscription = this._position.positionChanges\n .pipe(takeWhile(() => this.positionChange.observers.length > 0))\n .subscribe(position => {\n this.positionChange.emit(position);\n if (this.positionChange.observers.length === 0) {\n this._positionSubscription.unsubscribe();\n }\n });\n }\n }\n /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists */\n _detachOverlay() {\n if (this._overlayRef) {\n this._overlayRef.detach();\n }\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n }\n}\nCdkConnectedOverlay.ɵfac = function CdkConnectedOverlay_Factory(t) { return new (t || CdkConnectedOverlay)(ɵngcc0.ɵɵdirectiveInject(Overlay), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.Directionality, 8)); };\nCdkConnectedOverlay.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkConnectedOverlay, selectors: [[\"\", \"cdk-connected-overlay\", \"\"], [\"\", \"connected-overlay\", \"\"], [\"\", \"cdkConnectedOverlay\", \"\"]], inputs: { viewportMargin: [\"cdkConnectedOverlayViewportMargin\", \"viewportMargin\"], open: [\"cdkConnectedOverlayOpen\", \"open\"], disableClose: [\"cdkConnectedOverlayDisableClose\", \"disableClose\"], scrollStrategy: [\"cdkConnectedOverlayScrollStrategy\", \"scrollStrategy\"], offsetX: [\"cdkConnectedOverlayOffsetX\", \"offsetX\"], offsetY: [\"cdkConnectedOverlayOffsetY\", \"offsetY\"], hasBackdrop: [\"cdkConnectedOverlayHasBackdrop\", \"hasBackdrop\"], lockPosition: [\"cdkConnectedOverlayLockPosition\", \"lockPosition\"], flexibleDimensions: [\"cdkConnectedOverlayFlexibleDimensions\", \"flexibleDimensions\"], growAfterOpen: [\"cdkConnectedOverlayGrowAfterOpen\", \"growAfterOpen\"], push: [\"cdkConnectedOverlayPush\", \"push\"], positions: [\"cdkConnectedOverlayPositions\", \"positions\"], origin: [\"cdkConnectedOverlayOrigin\", \"origin\"], positionStrategy: [\"cdkConnectedOverlayPositionStrategy\", \"positionStrategy\"], width: [\"cdkConnectedOverlayWidth\", \"width\"], height: [\"cdkConnectedOverlayHeight\", \"height\"], minWidth: [\"cdkConnectedOverlayMinWidth\", \"minWidth\"], minHeight: [\"cdkConnectedOverlayMinHeight\", \"minHeight\"], backdropClass: [\"cdkConnectedOverlayBackdropClass\", \"backdropClass\"], panelClass: [\"cdkConnectedOverlayPanelClass\", \"panelClass\"], transformOriginSelector: [\"cdkConnectedOverlayTransformOriginOn\", \"transformOriginSelector\"] }, outputs: { backdropClick: \"backdropClick\", positionChange: \"positionChange\", attach: \"attach\", detach: \"detach\", overlayKeydown: \"overlayKeydown\", overlayOutsideClick: \"overlayOutsideClick\" }, exportAs: [\"cdkConnectedOverlay\"], features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkConnectedOverlay.ctorParameters = () => [\n { type: Overlay },\n { type: TemplateRef },\n { type: ViewContainerRef },\n { type: undefined, decorators: [{ type: Inject, args: [CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,] }] },\n { type: Directionality, decorators: [{ type: Optional }] }\n];\nCdkConnectedOverlay.propDecorators = {\n origin: [{ type: Input, args: ['cdkConnectedOverlayOrigin',] }],\n positions: [{ type: Input, args: ['cdkConnectedOverlayPositions',] }],\n positionStrategy: [{ type: Input, args: ['cdkConnectedOverlayPositionStrategy',] }],\n offsetX: [{ type: Input, args: ['cdkConnectedOverlayOffsetX',] }],\n offsetY: [{ type: Input, args: ['cdkConnectedOverlayOffsetY',] }],\n width: [{ type: Input, args: ['cdkConnectedOverlayWidth',] }],\n height: [{ type: Input, args: ['cdkConnectedOverlayHeight',] }],\n minWidth: [{ type: Input, args: ['cdkConnectedOverlayMinWidth',] }],\n minHeight: [{ type: Input, args: ['cdkConnectedOverlayMinHeight',] }],\n backdropClass: [{ type: Input, args: ['cdkConnectedOverlayBackdropClass',] }],\n panelClass: [{ type: Input, args: ['cdkConnectedOverlayPanelClass',] }],\n viewportMargin: [{ type: Input, args: ['cdkConnectedOverlayViewportMargin',] }],\n scrollStrategy: [{ type: Input, args: ['cdkConnectedOverlayScrollStrategy',] }],\n open: [{ type: Input, args: ['cdkConnectedOverlayOpen',] }],\n disableClose: [{ type: Input, args: ['cdkConnectedOverlayDisableClose',] }],\n transformOriginSelector: [{ type: Input, args: ['cdkConnectedOverlayTransformOriginOn',] }],\n hasBackdrop: [{ type: Input, args: ['cdkConnectedOverlayHasBackdrop',] }],\n lockPosition: [{ type: Input, args: ['cdkConnectedOverlayLockPosition',] }],\n flexibleDimensions: [{ type: Input, args: ['cdkConnectedOverlayFlexibleDimensions',] }],\n growAfterOpen: [{ type: Input, args: ['cdkConnectedOverlayGrowAfterOpen',] }],\n push: [{ type: Input, args: ['cdkConnectedOverlayPush',] }],\n backdropClick: [{ type: Output }],\n positionChange: [{ type: Output }],\n attach: [{ type: Output }],\n detach: [{ type: Output }],\n overlayKeydown: [{ type: Output }],\n overlayOutsideClick: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkConnectedOverlay, [{\n type: Directive,\n args: [{\n selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',\n exportAs: 'cdkConnectedOverlay'\n }]\n }], function () { return [{ type: Overlay }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY]\n }] }, { type: ɵngcc3.Directionality, decorators: [{\n type: Optional\n }] }]; }, { viewportMargin: [{\n type: Input,\n args: ['cdkConnectedOverlayViewportMargin']\n }], open: [{\n type: Input,\n args: ['cdkConnectedOverlayOpen']\n }], disableClose: [{\n type: Input,\n args: ['cdkConnectedOverlayDisableClose']\n }], backdropClick: [{\n type: Output\n }], positionChange: [{\n type: Output\n }], attach: [{\n type: Output\n }], detach: [{\n type: Output\n }], overlayKeydown: [{\n type: Output\n }], overlayOutsideClick: [{\n type: Output\n }], scrollStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayScrollStrategy']\n }], offsetX: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetX']\n }], offsetY: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetY']\n }], hasBackdrop: [{\n type: Input,\n args: ['cdkConnectedOverlayHasBackdrop']\n }], lockPosition: [{\n type: Input,\n args: ['cdkConnectedOverlayLockPosition']\n }], flexibleDimensions: [{\n type: Input,\n args: ['cdkConnectedOverlayFlexibleDimensions']\n }], growAfterOpen: [{\n type: Input,\n args: ['cdkConnectedOverlayGrowAfterOpen']\n }], push: [{\n type: Input,\n args: ['cdkConnectedOverlayPush']\n }], positions: [{\n type: Input,\n args: ['cdkConnectedOverlayPositions']\n }], origin: [{\n type: Input,\n args: ['cdkConnectedOverlayOrigin']\n }], positionStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayPositionStrategy']\n }], width: [{\n type: Input,\n args: ['cdkConnectedOverlayWidth']\n }], height: [{\n type: Input,\n args: ['cdkConnectedOverlayHeight']\n }], minWidth: [{\n type: Input,\n args: ['cdkConnectedOverlayMinWidth']\n }], minHeight: [{\n type: Input,\n args: ['cdkConnectedOverlayMinHeight']\n }], backdropClass: [{\n type: Input,\n args: ['cdkConnectedOverlayBackdropClass']\n }], panelClass: [{\n type: Input,\n args: ['cdkConnectedOverlayPanelClass']\n }], transformOriginSelector: [{\n type: Input,\n args: ['cdkConnectedOverlayTransformOriginOn']\n }] }); })();\n/** @docs-private */\nfunction CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {\n return () => overlay.scrollStrategies.reposition();\n}\n/** @docs-private */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {\n provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,\n};\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass OverlayModule {\n}\nOverlayModule.ɵfac = function OverlayModule_Factory(t) { return new (t || OverlayModule)(); };\nOverlayModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: OverlayModule });\nOverlayModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [\n Overlay,\n CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,\n ], imports: [[BidiModule, PortalModule, ScrollingModule], ScrollingModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(OverlayModule, [{\n type: NgModule,\n args: [{\n imports: [BidiModule, PortalModule, ScrollingModule],\n exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule],\n declarations: [CdkConnectedOverlay, CdkOverlayOrigin],\n providers: [\n Overlay,\n CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(OverlayModule, { declarations: function () { return [CdkConnectedOverlay, CdkOverlayOrigin]; }, imports: function () { return [BidiModule, PortalModule, ScrollingModule]; }, exports: function () { return [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Alternative to OverlayContainer that supports correct displaying of overlay elements in\n * Fullscreen mode\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen\n *\n * Should be provided in the root component.\n */\nclass FullscreenOverlayContainer extends OverlayContainer {\n constructor(_document, platform) {\n super(_document, platform);\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n if (this._fullScreenEventName && this._fullScreenListener) {\n this._document.removeEventListener(this._fullScreenEventName, this._fullScreenListener);\n }\n }\n _createContainer() {\n super._createContainer();\n this._adjustParentForFullscreenChange();\n this._addFullscreenChangeListener(() => this._adjustParentForFullscreenChange());\n }\n _adjustParentForFullscreenChange() {\n if (!this._containerElement) {\n return;\n }\n const fullscreenElement = this.getFullscreenElement();\n const parent = fullscreenElement || this._document.body;\n parent.appendChild(this._containerElement);\n }\n _addFullscreenChangeListener(fn) {\n const eventName = this._getEventName();\n if (eventName) {\n if (this._fullScreenListener) {\n this._document.removeEventListener(eventName, this._fullScreenListener);\n }\n this._document.addEventListener(eventName, fn);\n this._fullScreenListener = fn;\n }\n }\n _getEventName() {\n if (!this._fullScreenEventName) {\n const _document = this._document;\n if (_document.fullscreenEnabled) {\n this._fullScreenEventName = 'fullscreenchange';\n }\n else if (_document.webkitFullscreenEnabled) {\n this._fullScreenEventName = 'webkitfullscreenchange';\n }\n else if (_document.mozFullScreenEnabled) {\n this._fullScreenEventName = 'mozfullscreenchange';\n }\n else if (_document.msFullscreenEnabled) {\n this._fullScreenEventName = 'MSFullscreenChange';\n }\n }\n return this._fullScreenEventName;\n }\n /**\n * When the page is put into fullscreen mode, a specific element is specified.\n * Only that element and its children are visible when in fullscreen mode.\n */\n getFullscreenElement() {\n const _document = this._document;\n return _document.fullscreenElement ||\n _document.webkitFullscreenElement ||\n _document.mozFullScreenElement ||\n _document.msFullscreenElement ||\n null;\n }\n}\nFullscreenOverlayContainer.ɵfac = function FullscreenOverlayContainer_Factory(t) { return new (t || FullscreenOverlayContainer)(ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ɵngcc2.Platform)); };\nFullscreenOverlayContainer.ɵprov = i0.ɵɵdefineInjectable({ factory: function FullscreenOverlayContainer_Factory() { return new FullscreenOverlayContainer(i0.ɵɵinject(i1$1.DOCUMENT), i0.ɵɵinject(i2.Platform)); }, token: FullscreenOverlayContainer, providedIn: \"root\" });\nFullscreenOverlayContainer.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: Platform }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FullscreenOverlayContainer, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc2.Platform }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BlockScrollStrategy, CdkConnectedOverlay, CdkOverlayOrigin, CloseScrollStrategy, ConnectedOverlayPositionChange, ConnectedPositionStrategy, ConnectionPositionPair, FlexibleConnectedPositionStrategy, FullscreenOverlayContainer, GlobalPositionStrategy, NoopScrollStrategy, Overlay, OverlayConfig, OverlayContainer, OverlayKeyboardDispatcher, OverlayModule, OverlayOutsideClickDispatcher, OverlayPositionBuilder, OverlayRef, RepositionScrollStrategy, ScrollStrategyOptions, ScrollingVisibility, validateHorizontalPosition, validateVerticalPosition, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY as ɵangular_material_src_cdk_overlay_overlay_a, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY as ɵangular_material_src_cdk_overlay_overlay_b, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER as ɵangular_material_src_cdk_overlay_overlay_c, BaseOverlayDispatcher as ɵangular_material_src_cdk_overlay_overlay_d };\n\n","import * as i0 from '@angular/core';\nimport { Injectable, Inject, PLATFORM_ID, NgModule } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nimport * as ɵngcc0 from '@angular/core';\nlet hasV8BreakIterator;\n// We need a try/catch around the reference to `Intl`, because accessing it in some cases can\n// cause IE to throw. These cases are tied to particular versions of Windows and can happen if\n// the consumer is providing a polyfilled `Map`. See:\n// https://github.com/Microsoft/ChakraCore/issues/3189\n// https://github.com/angular/components/issues/15687\ntry {\n hasV8BreakIterator = (typeof Intl !== 'undefined' && Intl.v8BreakIterator);\n}\ncatch (_a) {\n hasV8BreakIterator = false;\n}\n/**\n * Service to detect the current platform by comparing the userAgent strings and\n * checking browser-specific global properties.\n */\nclass Platform {\n constructor(_platformId) {\n this._platformId = _platformId;\n // We want to use the Angular platform check because if the Document is shimmed\n // without the navigator, the following checks will fail. This is preferred because\n // sometimes the Document may be shimmed without the user's knowledge or intention\n /** Whether the Angular application is being rendered in the browser. */\n this.isBrowser = this._platformId ?\n isPlatformBrowser(this._platformId) : typeof document === 'object' && !!document;\n /** Whether the current browser is Microsoft Edge. */\n this.EDGE = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n /** Whether the current rendering engine is Microsoft Trident. */\n this.TRIDENT = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n /** Whether the current rendering engine is Blink. */\n this.BLINK = this.isBrowser && (!!(window.chrome || hasV8BreakIterator) &&\n typeof CSS !== 'undefined' && !this.EDGE && !this.TRIDENT);\n // Webkit is part of the userAgent in EdgeHTML, Blink and Trident. Therefore we need to\n // ensure that Webkit runs standalone and is not used as another engine's base.\n /** Whether the current rendering engine is WebKit. */\n this.WEBKIT = this.isBrowser &&\n /AppleWebKit/i.test(navigator.userAgent) && !this.BLINK && !this.EDGE && !this.TRIDENT;\n /** Whether the current platform is Apple iOS. */\n this.IOS = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) &&\n !('MSStream' in window);\n // It's difficult to detect the plain Gecko engine, because most of the browsers identify\n // them self as Gecko-like browsers and modify the userAgent's according to that.\n // Since we only cover one explicit Firefox case, we can simply check for Firefox\n // instead of having an unstable check for Gecko.\n /** Whether the current browser is Firefox. */\n this.FIREFOX = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n /** Whether the current platform is Android. */\n // Trident on mobile adds the android platform to the userAgent to trick detections.\n this.ANDROID = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;\n // Safari browsers will include the Safari keyword in their userAgent. Some browsers may fake\n // this and just place the Safari keyword in the userAgent. To be more safe about Safari every\n // Safari browser should also use Webkit as its layout engine.\n /** Whether the current browser is Safari. */\n this.SAFARI = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n }\n}\nPlatform.ɵfac = function Platform_Factory(t) { return new (t || Platform)(ɵngcc0.ɵɵinject(PLATFORM_ID)); };\nPlatform.ɵprov = i0.ɵɵdefineInjectable({ factory: function Platform_Factory() { return new Platform(i0.ɵɵinject(i0.PLATFORM_ID)); }, token: Platform, providedIn: \"root\" });\nPlatform.ctorParameters = () => [\n { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Platform, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass PlatformModule {\n}\nPlatformModule.ɵfac = function PlatformModule_Factory(t) { return new (t || PlatformModule)(); };\nPlatformModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: PlatformModule });\nPlatformModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PlatformModule, [{\n type: NgModule,\n args: [{}]\n }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Cached result Set of input types support by the current browser. */\nlet supportedInputTypes;\n/** Types of `` that *might* be supported. */\nconst candidateInputTypes = [\n // `color` must come first. Chrome 56 shows a warning if we change the type to `color` after\n // first changing it to something else:\n // The specified value \"\" does not conform to the required format.\n // The format is \"#rrggbb\" where rr, gg, bb are two-digit hexadecimal numbers.\n 'color',\n 'button',\n 'checkbox',\n 'date',\n 'datetime-local',\n 'email',\n 'file',\n 'hidden',\n 'image',\n 'month',\n 'number',\n 'password',\n 'radio',\n 'range',\n 'reset',\n 'search',\n 'submit',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n];\n/** @returns The input types supported by this browser. */\nfunction getSupportedInputTypes() {\n // Result is cached.\n if (supportedInputTypes) {\n return supportedInputTypes;\n }\n // We can't check if an input type is not supported until we're on the browser, so say that\n // everything is supported when not on the browser. We don't use `Platform` here since it's\n // just a helper function and can't inject it.\n if (typeof document !== 'object' || !document) {\n supportedInputTypes = new Set(candidateInputTypes);\n return supportedInputTypes;\n }\n let featureTestInput = document.createElement('input');\n supportedInputTypes = new Set(candidateInputTypes.filter(value => {\n featureTestInput.setAttribute('type', value);\n return featureTestInput.type === value;\n }));\n return supportedInputTypes;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Cached result of whether the user's browser supports passive event listeners. */\nlet supportsPassiveEvents;\n/**\n * Checks whether the user's browser supports passive event listeners.\n * See: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n */\nfunction supportsPassiveEventListeners() {\n if (supportsPassiveEvents == null && typeof window !== 'undefined') {\n try {\n window.addEventListener('test', null, Object.defineProperty({}, 'passive', {\n get: () => supportsPassiveEvents = true\n }));\n }\n finally {\n supportsPassiveEvents = supportsPassiveEvents || false;\n }\n }\n return supportsPassiveEvents;\n}\n/**\n * Normalizes an `AddEventListener` object to something that can be passed\n * to `addEventListener` on any browser, no matter whether it supports the\n * `options` parameter.\n * @param options Object to be normalized.\n */\nfunction normalizePassiveListenerOptions(options) {\n return supportsPassiveEventListeners() ? options : !!options.capture;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Cached result of the way the browser handles the horizontal scroll axis in RTL mode. */\nlet rtlScrollAxisType;\n/** Cached result of the check that indicates whether the browser supports scroll behaviors. */\nlet scrollBehaviorSupported;\n/** Check whether the browser supports scroll behaviors. */\nfunction supportsScrollBehavior() {\n if (scrollBehaviorSupported == null) {\n // If we're not in the browser, it can't be supported. Also check for `Element`, because\n // some projects stub out the global `document` during SSR which can throw us off.\n if (typeof document !== 'object' || !document || typeof Element !== 'function' || !Element) {\n scrollBehaviorSupported = false;\n return scrollBehaviorSupported;\n }\n // If the element can have a `scrollBehavior` style, we can be sure that it's supported.\n if ('scrollBehavior' in document.documentElement.style) {\n scrollBehaviorSupported = true;\n }\n else {\n // At this point we have 3 possibilities: `scrollTo` isn't supported at all, it's\n // supported but it doesn't handle scroll behavior, or it has been polyfilled.\n const scrollToFunction = Element.prototype.scrollTo;\n if (scrollToFunction) {\n // We can detect if the function has been polyfilled by calling `toString` on it. Native\n // functions are obfuscated using `[native code]`, whereas if it was overwritten we'd get\n // the actual function source. Via https://davidwalsh.name/detect-native-function. Consider\n // polyfilled functions as supporting scroll behavior.\n scrollBehaviorSupported = !/\\{\\s*\\[native code\\]\\s*\\}/.test(scrollToFunction.toString());\n }\n else {\n scrollBehaviorSupported = false;\n }\n }\n }\n return scrollBehaviorSupported;\n}\n/**\n * Checks the type of RTL scroll axis used by this browser. As of time of writing, Chrome is NORMAL,\n * Firefox & Safari are NEGATED, and IE & Edge are INVERTED.\n */\nfunction getRtlScrollAxisType() {\n // We can't check unless we're on the browser. Just assume 'normal' if we're not.\n if (typeof document !== 'object' || !document) {\n return 0 /* NORMAL */;\n }\n if (rtlScrollAxisType == null) {\n // Create a 1px wide scrolling container and a 2px wide content element.\n const scrollContainer = document.createElement('div');\n const containerStyle = scrollContainer.style;\n scrollContainer.dir = 'rtl';\n containerStyle.width = '1px';\n containerStyle.overflow = 'auto';\n containerStyle.visibility = 'hidden';\n containerStyle.pointerEvents = 'none';\n containerStyle.position = 'absolute';\n const content = document.createElement('div');\n const contentStyle = content.style;\n contentStyle.width = '2px';\n contentStyle.height = '1px';\n scrollContainer.appendChild(content);\n document.body.appendChild(scrollContainer);\n rtlScrollAxisType = 0 /* NORMAL */;\n // The viewport starts scrolled all the way to the right in RTL mode. If we are in a NORMAL\n // browser this would mean that the scrollLeft should be 1. If it's zero instead we know we're\n // dealing with one of the other two types of browsers.\n if (scrollContainer.scrollLeft === 0) {\n // In a NEGATED browser the scrollLeft is always somewhere in [-maxScrollAmount, 0]. For an\n // INVERTED browser it is always somewhere in [0, maxScrollAmount]. We can determine which by\n // setting to the scrollLeft to 1. This is past the max for a NEGATED browser, so it will\n // return 0 when we read it again.\n scrollContainer.scrollLeft = 1;\n rtlScrollAxisType =\n scrollContainer.scrollLeft === 0 ? 1 /* NEGATED */ : 2 /* INVERTED */;\n }\n scrollContainer.parentNode.removeChild(scrollContainer);\n }\n return rtlScrollAxisType;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet shadowDomIsSupported;\n/** Checks whether the user's browser support Shadow DOM. */\nfunction _supportsShadowDom() {\n if (shadowDomIsSupported == null) {\n const head = typeof document !== 'undefined' ? document.head : null;\n shadowDomIsSupported = !!(head && (head.createShadowRoot || head.attachShadow));\n }\n return shadowDomIsSupported;\n}\n/** Gets the shadow root of an element, if supported and the element is inside the Shadow DOM. */\nfunction _getShadowRoot(element) {\n if (_supportsShadowDom()) {\n const rootNode = element.getRootNode ? element.getRootNode() : null;\n // Note that this should be caught by `_supportsShadowDom`, but some\n // teams have been able to hit this code path on unsupported browsers.\n if (typeof ShadowRoot !== 'undefined' && ShadowRoot && rootNode instanceof ShadowRoot) {\n return rootNode;\n }\n }\n return null;\n}\n/**\n * Gets the currently-focused element on the page while\n * also piercing through Shadow DOM boundaries.\n */\nfunction _getFocusedElementPierceShadowDom() {\n let activeElement = typeof document !== 'undefined' && document ?\n document.activeElement : null;\n while (activeElement && activeElement.shadowRoot) {\n const newActiveElement = activeElement.shadowRoot.activeElement;\n if (newActiveElement === activeElement) {\n break;\n }\n else {\n activeElement = newActiveElement;\n }\n }\n return activeElement;\n}\n/** Gets the target of an event while accounting for Shadow DOM. */\nfunction _getEventTarget(event) {\n // If an event is bound outside the Shadow DOM, the `event.target` will\n // point to the shadow root so we have to use `composedPath` instead.\n return (event.composedPath ? event.composedPath()[0] : event.target);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Gets whether the code is currently running in a test environment. */\nfunction _isTestEnvironment() {\n // We can't use `declare const` because it causes conflicts inside Google with the real typings\n // for these symbols and we can't read them off the global object, because they don't appear to\n // be attached there for some runners like Jest.\n // (see: https://github.com/angular/components/issues/23365#issuecomment-938146643)\n return (\n // @ts-ignore\n (typeof __karma__ !== 'undefined' && !!__karma__) ||\n // @ts-ignore\n (typeof jasmine !== 'undefined' && !!jasmine) ||\n // @ts-ignore\n (typeof jest !== 'undefined' && !!jest) ||\n // @ts-ignore\n (typeof Mocha !== 'undefined' && !!Mocha));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Platform, PlatformModule, _getEventTarget, _getFocusedElementPierceShadowDom, _getShadowRoot, _isTestEnvironment, _supportsShadowDom, getRtlScrollAxisType, getSupportedInputTypes, normalizePassiveListenerOptions, supportsPassiveEventListeners, supportsScrollBehavior };\n\n","import { ElementRef, Directive, TemplateRef, ViewContainerRef, EventEmitter, ComponentFactoryResolver, Inject, Output, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Throws an exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nimport * as ɵngcc0 from '@angular/core';\nfunction throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nfunction throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nfunction throwPortalOutletAlreadyDisposedError() {\n throw Error('This PortalOutlet has already been disposed');\n}\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nfunction throwUnknownPortalTypeError() {\n throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +\n 'a ComponentPortal or a TemplatePortal.');\n}\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * @docs-private\n */\nfunction throwNullPortalOutletError() {\n throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nfunction throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a host');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nclass Portal {\n /** Attach this portal to a host. */\n attach(host) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (host == null) {\n throwNullPortalOutletError();\n }\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n }\n this._attachedHost = host;\n return host.attach(this);\n }\n /** Detach this portal from its host */\n detach() {\n let host = this._attachedHost;\n if (host != null) {\n this._attachedHost = null;\n host.detach();\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwNoPortalAttachedError();\n }\n }\n /** Whether this portal is attached to a host. */\n get isAttached() {\n return this._attachedHost != null;\n }\n /**\n * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n * the PortalOutlet when it is performing an `attach()` or `detach()`.\n */\n setAttachedHost(host) {\n this._attachedHost = host;\n }\n}\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nclass ComponentPortal extends Portal {\n constructor(component, viewContainerRef, injector, componentFactoryResolver) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.componentFactoryResolver = componentFactoryResolver;\n }\n}\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nclass TemplatePortal extends Portal {\n constructor(template, viewContainerRef, context) {\n super();\n this.templateRef = template;\n this.viewContainerRef = viewContainerRef;\n this.context = context;\n }\n get origin() {\n return this.templateRef.elementRef;\n }\n /**\n * Attach the portal to the provided `PortalOutlet`.\n * When a context is provided it will override the `context` property of the `TemplatePortal`\n * instance.\n */\n attach(host, context = this.context) {\n this.context = context;\n return super.attach(host);\n }\n detach() {\n this.context = undefined;\n return super.detach();\n }\n}\n/**\n * A `DomPortal` is a portal whose DOM element will be taken from its current position\n * in the DOM and moved into a portal outlet, when it is attached. On detach, the content\n * will be restored to its original position.\n */\nclass DomPortal extends Portal {\n constructor(element) {\n super();\n this.element = element instanceof ElementRef ? element.nativeElement : element;\n }\n}\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nclass BasePortalOutlet {\n constructor() {\n /** Whether this host has already been permanently disposed. */\n this._isDisposed = false;\n // @breaking-change 10.0.0 `attachDomPortal` to become a required abstract method.\n this.attachDomPortal = null;\n }\n /** Whether this host has an attached portal. */\n hasAttached() {\n return !!this._attachedPortal;\n }\n /** Attaches a portal. */\n attach(portal) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!portal) {\n throwNullPortalError();\n }\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n if (this._isDisposed) {\n throwPortalOutletAlreadyDisposedError();\n }\n }\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n }\n else if (portal instanceof TemplatePortal) {\n this._attachedPortal = portal;\n return this.attachTemplatePortal(portal);\n // @breaking-change 10.0.0 remove null check for `this.attachDomPortal`.\n }\n else if (this.attachDomPortal && portal instanceof DomPortal) {\n this._attachedPortal = portal;\n return this.attachDomPortal(portal);\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwUnknownPortalTypeError();\n }\n }\n /** Detaches a previously attached portal. */\n detach() {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n this._invokeDisposeFn();\n }\n /** Permanently dispose of this portal host. */\n dispose() {\n if (this.hasAttached()) {\n this.detach();\n }\n this._invokeDisposeFn();\n this._isDisposed = true;\n }\n /** @docs-private */\n setDisposeFn(fn) {\n this._disposeFn = fn;\n }\n _invokeDisposeFn() {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\n }\n }\n}\n/**\n * @deprecated Use `BasePortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass BasePortalHost extends BasePortalOutlet {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nclass DomPortalOutlet extends BasePortalOutlet {\n constructor(\n /** Element into which the content is projected. */\n outletElement, _componentFactoryResolver, _appRef, _defaultInjector, \n /**\n * @deprecated `_document` Parameter to be made required.\n * @breaking-change 10.0.0\n */\n _document) {\n super();\n this.outletElement = outletElement;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._appRef = _appRef;\n this._defaultInjector = _defaultInjector;\n /**\n * Attaches a DOM portal by transferring its content into the outlet.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = (portal) => {\n // @breaking-change 10.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n element.parentNode.insertBefore(anchorNode, element);\n this.outletElement.appendChild(element);\n this._attachedPortal = portal;\n super.setDisposeFn(() => {\n // We can't use `replaceWith` here because IE doesn't support it.\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n this._document = _document;\n }\n /**\n * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n * @param portal Portal to be attached\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal) {\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n let componentRef;\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the view to the application.\n if (portal.viewContainerRef) {\n componentRef = portal.viewContainerRef.createComponent(componentFactory, portal.viewContainerRef.length, portal.injector || portal.viewContainerRef.injector);\n this.setDisposeFn(() => componentRef.destroy());\n }\n else {\n componentRef = componentFactory.create(portal.injector || this._defaultInjector);\n this._appRef.attachView(componentRef.hostView);\n this.setDisposeFn(() => {\n this._appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n });\n }\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n this._attachedPortal = portal;\n return componentRef;\n }\n /**\n * Attaches a template portal to the DOM as an embedded view.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n let viewContainer = portal.viewContainerRef;\n let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context);\n // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n // But for the DomPortalOutlet the view can be added everywhere in the DOM\n // (e.g Overlay Container) To move the view to the specified host element. We just\n // re-append the existing root nodes.\n viewRef.rootNodes.forEach(rootNode => this.outletElement.appendChild(rootNode));\n // Note that we want to detect changes after the nodes have been moved so that\n // any directives inside the portal that are looking at the DOM inside a lifecycle\n // hook won't be invoked too early.\n viewRef.detectChanges();\n this.setDisposeFn((() => {\n let index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n }));\n this._attachedPortal = portal;\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n }\n /**\n * Clears out a portal from the DOM.\n */\n dispose() {\n super.dispose();\n if (this.outletElement.parentNode != null) {\n this.outletElement.parentNode.removeChild(this.outletElement);\n }\n }\n /** Gets the root HTMLElement for an instantiated component. */\n _getComponentRootNode(componentRef) {\n return componentRef.hostView.rootNodes[0];\n }\n}\n/**\n * @deprecated Use `DomPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass DomPortalHost extends DomPortalOutlet {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n */\nclass CdkPortal extends TemplatePortal {\n constructor(templateRef, viewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\nCdkPortal.ɵfac = function CdkPortal_Factory(t) { return new (t || CdkPortal)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef)); };\nCdkPortal.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkPortal, selectors: [[\"\", \"cdkPortal\", \"\"]], exportAs: [\"cdkPortal\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkPortal.ctorParameters = () => [\n { type: TemplateRef },\n { type: ViewContainerRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkPortal, [{\n type: Directive,\n args: [{\n selector: '[cdkPortal]',\n exportAs: 'cdkPortal'\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }, { type: ɵngcc0.ViewContainerRef }]; }, null); })();\n/**\n * @deprecated Use `CdkPortal` instead.\n * @breaking-change 9.0.0\n */\nclass TemplatePortalDirective extends CdkPortal {\n}\nTemplatePortalDirective.ɵfac = /*@__PURE__*/ function () { let ɵTemplatePortalDirective_BaseFactory; return function TemplatePortalDirective_Factory(t) { return (ɵTemplatePortalDirective_BaseFactory || (ɵTemplatePortalDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(TemplatePortalDirective)))(t || TemplatePortalDirective); }; }();\nTemplatePortalDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: TemplatePortalDirective, selectors: [[\"\", \"cdk-portal\", \"\"], [\"\", \"portal\", \"\"]], exportAs: [\"cdkPortal\"], features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: CdkPortal,\n useExisting: TemplatePortalDirective\n }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TemplatePortalDirective, [{\n type: Directive,\n args: [{\n selector: '[cdk-portal], [portal]',\n exportAs: 'cdkPortal',\n providers: [{\n provide: CdkPortal,\n useExisting: TemplatePortalDirective\n }]\n }]\n }], null, null); })();\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * ``\n */\nclass CdkPortalOutlet extends BasePortalOutlet {\n constructor(_componentFactoryResolver, _viewContainerRef, \n /**\n * @deprecated `_document` parameter to be made required.\n * @breaking-change 9.0.0\n */\n _document) {\n super();\n this._componentFactoryResolver = _componentFactoryResolver;\n this._viewContainerRef = _viewContainerRef;\n /** Whether the portal component is initialized. */\n this._isInitialized = false;\n /** Emits when a portal is attached to the outlet. */\n this.attached = new EventEmitter();\n /**\n * Attaches the given DomPortal to this PortalHost by moving all of the portal content into it.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = (portal) => {\n // @breaking-change 9.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n portal.setAttachedHost(this);\n element.parentNode.insertBefore(anchorNode, element);\n this._getRootNode().appendChild(element);\n this._attachedPortal = portal;\n super.setDisposeFn(() => {\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n this._document = _document;\n }\n /** Portal associated with the Portal outlet. */\n get portal() {\n return this._attachedPortal;\n }\n set portal(portal) {\n // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n // run. This handles the cases where the user might do something like `
`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return;\n }\n if (this.hasAttached()) {\n super.detach();\n }\n if (portal) {\n super.attach(portal);\n }\n this._attachedPortal = portal;\n }\n /** Component or view reference that is attached to the portal. */\n get attachedRef() {\n return this._attachedRef;\n }\n ngOnInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n super.dispose();\n this._attachedPortal = null;\n this._attachedRef = null;\n }\n /**\n * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n *\n * @param portal Portal to be attached to the portal outlet.\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal) {\n portal.setAttachedHost(this);\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n const viewContainerRef = portal.viewContainerRef != null ?\n portal.viewContainerRef :\n this._viewContainerRef;\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n const ref = viewContainerRef.createComponent(componentFactory, viewContainerRef.length, portal.injector || viewContainerRef.injector);\n // If we're using a view container that's different from the injected one (e.g. when the portal\n // specifies its own) we need to move the component into the outlet, otherwise it'll be rendered\n // inside of the alternate view container.\n if (viewContainerRef !== this._viewContainerRef) {\n this._getRootNode().appendChild(ref.hostView.rootNodes[0]);\n }\n super.setDisposeFn(() => ref.destroy());\n this._attachedPortal = portal;\n this._attachedRef = ref;\n this.attached.emit(ref);\n return ref;\n }\n /**\n * Attach the given TemplatePortal to this PortalHost as an embedded View.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n portal.setAttachedHost(this);\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);\n super.setDisposeFn(() => this._viewContainerRef.clear());\n this._attachedPortal = portal;\n this._attachedRef = viewRef;\n this.attached.emit(viewRef);\n return viewRef;\n }\n /** Gets the root node of the portal outlet. */\n _getRootNode() {\n const nativeElement = this._viewContainerRef.element.nativeElement;\n // The directive could be set on a template which will result in a comment\n // node being the root. Use the comment's parent node if that is the case.\n return (nativeElement.nodeType === nativeElement.ELEMENT_NODE ?\n nativeElement : nativeElement.parentNode);\n }\n}\nCdkPortalOutlet.ɵfac = function CdkPortalOutlet_Factory(t) { return new (t || CdkPortalOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(DOCUMENT)); };\nCdkPortalOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkPortalOutlet, selectors: [[\"\", \"cdkPortalOutlet\", \"\"]], inputs: { portal: [\"cdkPortalOutlet\", \"portal\"] }, outputs: { attached: \"attached\" }, exportAs: [\"cdkPortalOutlet\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nCdkPortalOutlet.ctorParameters = () => [\n { type: ComponentFactoryResolver },\n { type: ViewContainerRef },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\nCdkPortalOutlet.propDecorators = {\n attached: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkPortalOutlet, [{\n type: Directive,\n args: [{\n selector: '[cdkPortalOutlet]',\n exportAs: 'cdkPortalOutlet',\n inputs: ['portal: cdkPortalOutlet']\n }]\n }], function () { return [{ type: ɵngcc0.ComponentFactoryResolver }, { type: ɵngcc0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { attached: [{\n type: Output\n }] }); })();\n/**\n * @deprecated Use `CdkPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass PortalHostDirective extends CdkPortalOutlet {\n}\nPortalHostDirective.ɵfac = /*@__PURE__*/ function () { let ɵPortalHostDirective_BaseFactory; return function PortalHostDirective_Factory(t) { return (ɵPortalHostDirective_BaseFactory || (ɵPortalHostDirective_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(PortalHostDirective)))(t || PortalHostDirective); }; }();\nPortalHostDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: PortalHostDirective, selectors: [[\"\", \"cdkPortalHost\", \"\"], [\"\", \"portalHost\", \"\"]], inputs: { portal: [\"cdkPortalHost\", \"portal\"] }, exportAs: [\"cdkPortalHost\"], features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective\n }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PortalHostDirective, [{\n type: Directive,\n args: [{\n selector: '[cdkPortalHost], [portalHost]',\n exportAs: 'cdkPortalHost',\n inputs: ['portal: cdkPortalHost'],\n providers: [{\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective\n }]\n }]\n }], null, null); })();\nclass PortalModule {\n}\nPortalModule.ɵfac = function PortalModule_Factory(t) { return new (t || PortalModule)(); };\nPortalModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: PortalModule });\nPortalModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PortalModule, [{\n type: NgModule,\n args: [{\n exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(PortalModule, { declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective], exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Custom injector to be used when providing custom\n * injection tokens to components inside a portal.\n * @docs-private\n * @deprecated Use `Injector.create` instead.\n * @breaking-change 11.0.0\n */\nclass PortalInjector {\n constructor(_parentInjector, _customTokens) {\n this._parentInjector = _parentInjector;\n this._customTokens = _customTokens;\n }\n get(token, notFoundValue) {\n const value = this._customTokens.get(token);\n if (typeof value !== 'undefined') {\n return value;\n }\n return this._parentInjector.get(token, notFoundValue);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BasePortalHost, BasePortalOutlet, CdkPortal, CdkPortalOutlet, ComponentPortal, DomPortal, DomPortalHost, DomPortalOutlet, Portal, PortalHostDirective, PortalInjector, PortalModule, TemplatePortal, TemplatePortalDirective };\n\n","import { coerceNumberProperty, coerceElement, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Directive, forwardRef, Input, Injectable, NgZone, Optional, Inject, ElementRef, Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, Output, ViewChild, ViewContainerRef, TemplateRef, IterableDiffers, SkipSelf, NgModule } from '@angular/core';\nimport { Subject, of, Observable, fromEvent, animationFrameScheduler, asapScheduler, Subscription, isObservable } from 'rxjs';\nimport { distinctUntilChanged, auditTime, filter, takeUntil, startWith, pairwise, switchMap, shareReplay } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/platform';\nimport { Platform, getRtlScrollAxisType, supportsScrollBehavior, PlatformModule } from '@angular/cdk/platform';\nimport * as i2 from '@angular/common';\nimport { DOCUMENT } from '@angular/common';\nimport { Directionality, BidiModule } from '@angular/cdk/bidi';\nimport { isDataSource, ArrayDataSource, _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy } from '@angular/cdk/collections';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The injection token used to specify the virtual scrolling strategy. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nimport * as ɵngcc2 from '@angular/cdk/bidi';\nimport * as ɵngcc3 from '@angular/cdk/collections';\n\nconst _c0 = [\"contentWrapper\"];\nconst _c1 = [\"*\"];\nconst VIRTUAL_SCROLL_STRATEGY = new InjectionToken('VIRTUAL_SCROLL_STRATEGY');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Virtual scrolling strategy for lists with items of known fixed size. */\nclass FixedSizeVirtualScrollStrategy {\n /**\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n constructor(itemSize, minBufferPx, maxBufferPx) {\n this._scrolledIndexChange = new Subject();\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n this.scrolledIndexChange = this._scrolledIndexChange.pipe(distinctUntilChanged());\n /** The attached viewport. */\n this._viewport = null;\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n }\n /**\n * Attaches this scroll strategy to a viewport.\n * @param viewport The viewport to attach this strategy to.\n */\n attach(viewport) {\n this._viewport = viewport;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** Detaches this scroll strategy from the currently attached viewport. */\n detach() {\n this._scrolledIndexChange.complete();\n this._viewport = null;\n }\n /**\n * Update the item size and buffer size.\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n updateItemAndBufferSize(itemSize, minBufferPx, maxBufferPx) {\n if (maxBufferPx < minBufferPx && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CDK virtual scroll: maxBufferPx must be greater than or equal to minBufferPx');\n }\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentScrolled() {\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onDataLengthChanged() {\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentRendered() { }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onRenderedOffsetChanged() { }\n /**\n * Scroll to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling.\n */\n scrollToIndex(index, behavior) {\n if (this._viewport) {\n this._viewport.scrollToOffset(index * this._itemSize, behavior);\n }\n }\n /** Update the viewport's total content size. */\n _updateTotalContentSize() {\n if (!this._viewport) {\n return;\n }\n this._viewport.setTotalContentSize(this._viewport.getDataLength() * this._itemSize);\n }\n /** Update the viewport's rendered range. */\n _updateRenderedRange() {\n if (!this._viewport) {\n return;\n }\n const renderedRange = this._viewport.getRenderedRange();\n const newRange = { start: renderedRange.start, end: renderedRange.end };\n const viewportSize = this._viewport.getViewportSize();\n const dataLength = this._viewport.getDataLength();\n let scrollOffset = this._viewport.measureScrollOffset();\n // Prevent NaN as result when dividing by zero.\n let firstVisibleIndex = (this._itemSize > 0) ? scrollOffset / this._itemSize : 0;\n // If user scrolls to the bottom of the list and data changes to a smaller list\n if (newRange.end > dataLength) {\n // We have to recalculate the first visible index based on new data length and viewport size.\n const maxVisibleItems = Math.ceil(viewportSize / this._itemSize);\n const newVisibleIndex = Math.max(0, Math.min(firstVisibleIndex, dataLength - maxVisibleItems));\n // If first visible index changed we must update scroll offset to handle start/end buffers\n // Current range must also be adjusted to cover the new position (bottom of new list).\n if (firstVisibleIndex != newVisibleIndex) {\n firstVisibleIndex = newVisibleIndex;\n scrollOffset = newVisibleIndex * this._itemSize;\n newRange.start = Math.floor(firstVisibleIndex);\n }\n newRange.end = Math.max(0, Math.min(dataLength, newRange.start + maxVisibleItems));\n }\n const startBuffer = scrollOffset - newRange.start * this._itemSize;\n if (startBuffer < this._minBufferPx && newRange.start != 0) {\n const expandStart = Math.ceil((this._maxBufferPx - startBuffer) / this._itemSize);\n newRange.start = Math.max(0, newRange.start - expandStart);\n newRange.end = Math.min(dataLength, Math.ceil(firstVisibleIndex + (viewportSize + this._minBufferPx) / this._itemSize));\n }\n else {\n const endBuffer = newRange.end * this._itemSize - (scrollOffset + viewportSize);\n if (endBuffer < this._minBufferPx && newRange.end != dataLength) {\n const expandEnd = Math.ceil((this._maxBufferPx - endBuffer) / this._itemSize);\n if (expandEnd > 0) {\n newRange.end = Math.min(dataLength, newRange.end + expandEnd);\n newRange.start = Math.max(0, Math.floor(firstVisibleIndex - this._minBufferPx / this._itemSize));\n }\n }\n }\n this._viewport.setRenderedRange(newRange);\n this._viewport.setRenderedContentOffset(this._itemSize * newRange.start);\n this._scrolledIndexChange.next(Math.floor(firstVisibleIndex));\n }\n}\n/**\n * Provider factory for `FixedSizeVirtualScrollStrategy` that simply extracts the already created\n * `FixedSizeVirtualScrollStrategy` from the given directive.\n * @param fixedSizeDir The instance of `CdkFixedSizeVirtualScroll` to extract the\n * `FixedSizeVirtualScrollStrategy` from.\n */\nfunction _fixedSizeVirtualScrollStrategyFactory(fixedSizeDir) {\n return fixedSizeDir._scrollStrategy;\n}\n/** A virtual scroll strategy that supports fixed-size items. */\nclass CdkFixedSizeVirtualScroll {\n constructor() {\n this._itemSize = 20;\n this._minBufferPx = 100;\n this._maxBufferPx = 200;\n /** The scroll strategy used by this directive. */\n this._scrollStrategy = new FixedSizeVirtualScrollStrategy(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n /** The size of the items in the list (in pixels). */\n get itemSize() { return this._itemSize; }\n set itemSize(value) { this._itemSize = coerceNumberProperty(value); }\n /**\n * The minimum amount of buffer rendered beyond the viewport (in pixels).\n * If the amount of buffer dips below this number, more items will be rendered. Defaults to 100px.\n */\n get minBufferPx() { return this._minBufferPx; }\n set minBufferPx(value) { this._minBufferPx = coerceNumberProperty(value); }\n /**\n * The number of pixels worth of buffer to render for when rendering new items. Defaults to 200px.\n */\n get maxBufferPx() { return this._maxBufferPx; }\n set maxBufferPx(value) { this._maxBufferPx = coerceNumberProperty(value); }\n ngOnChanges() {\n this._scrollStrategy.updateItemAndBufferSize(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n}\nCdkFixedSizeVirtualScroll.ɵfac = function CdkFixedSizeVirtualScroll_Factory(t) { return new (t || CdkFixedSizeVirtualScroll)(); };\nCdkFixedSizeVirtualScroll.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkFixedSizeVirtualScroll, selectors: [[\"cdk-virtual-scroll-viewport\", \"itemSize\", \"\"]], inputs: { itemSize: \"itemSize\", minBufferPx: \"minBufferPx\", maxBufferPx: \"maxBufferPx\" }, features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)]\n }]), ɵngcc0.ɵɵNgOnChangesFeature] });\nCdkFixedSizeVirtualScroll.propDecorators = {\n itemSize: [{ type: Input }],\n minBufferPx: [{ type: Input }],\n maxBufferPx: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkFixedSizeVirtualScroll, [{\n type: Directive,\n args: [{\n selector: 'cdk-virtual-scroll-viewport[itemSize]',\n providers: [{\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)]\n }]\n }]\n }], function () { return []; }, { itemSize: [{\n type: Input\n }], minBufferPx: [{\n type: Input\n }], maxBufferPx: [{\n type: Input\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Time in ms to throttle the scrolling events by default. */\nconst DEFAULT_SCROLL_TIME = 20;\n/**\n * Service contained all registered Scrollable references and emits an event when any one of the\n * Scrollable references emit a scrolled event.\n */\nclass ScrollDispatcher {\n constructor(_ngZone, _platform, document) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n /** Subject for notifying that a registered scrollable reference element has been scrolled. */\n this._scrolled = new Subject();\n /** Keeps track of the global `scroll` and `resize` subscriptions. */\n this._globalSubscription = null;\n /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */\n this._scrolledCount = 0;\n /**\n * Map of all the scrollable references that are registered with the service and their\n * scroll event subscriptions.\n */\n this.scrollContainers = new Map();\n this._document = document;\n }\n /**\n * Registers a scrollable instance with the service and listens for its scrolled events. When the\n * scrollable is scrolled, the service emits the event to its scrolled observable.\n * @param scrollable Scrollable instance to be registered.\n */\n register(scrollable) {\n if (!this.scrollContainers.has(scrollable)) {\n this.scrollContainers.set(scrollable, scrollable.elementScrolled()\n .subscribe(() => this._scrolled.next(scrollable)));\n }\n }\n /**\n * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.\n * @param scrollable Scrollable instance to be deregistered.\n */\n deregister(scrollable) {\n const scrollableReference = this.scrollContainers.get(scrollable);\n if (scrollableReference) {\n scrollableReference.unsubscribe();\n this.scrollContainers.delete(scrollable);\n }\n }\n /**\n * Returns an observable that emits an event whenever any of the registered Scrollable\n * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\n * to override the default \"throttle\" time.\n *\n * **Note:** in order to avoid hitting change detection for every scroll event,\n * all of the events emitted from this stream will be run outside the Angular zone.\n * If you need to update any data bindings as a result of a scroll event, you have\n * to run the callback using `NgZone.run`.\n */\n scrolled(auditTimeInMs = DEFAULT_SCROLL_TIME) {\n if (!this._platform.isBrowser) {\n return of();\n }\n return new Observable((observer) => {\n if (!this._globalSubscription) {\n this._addGlobalListener();\n }\n // In the case of a 0ms delay, use an observable without auditTime\n // since it does add a perceptible delay in processing overhead.\n const subscription = auditTimeInMs > 0 ?\n this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer) :\n this._scrolled.subscribe(observer);\n this._scrolledCount++;\n return () => {\n subscription.unsubscribe();\n this._scrolledCount--;\n if (!this._scrolledCount) {\n this._removeGlobalListener();\n }\n };\n });\n }\n ngOnDestroy() {\n this._removeGlobalListener();\n this.scrollContainers.forEach((_, container) => this.deregister(container));\n this._scrolled.complete();\n }\n /**\n * Returns an observable that emits whenever any of the\n * scrollable ancestors of an element are scrolled.\n * @param elementOrElementRef Element whose ancestors to listen for.\n * @param auditTimeInMs Time to throttle the scroll events.\n */\n ancestorScrolled(elementOrElementRef, auditTimeInMs) {\n const ancestors = this.getAncestorScrollContainers(elementOrElementRef);\n return this.scrolled(auditTimeInMs).pipe(filter(target => {\n return !target || ancestors.indexOf(target) > -1;\n }));\n }\n /** Returns all registered Scrollables that contain the provided element. */\n getAncestorScrollContainers(elementOrElementRef) {\n const scrollingContainers = [];\n this.scrollContainers.forEach((_subscription, scrollable) => {\n if (this._scrollableContainsElement(scrollable, elementOrElementRef)) {\n scrollingContainers.push(scrollable);\n }\n });\n return scrollingContainers;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Returns true if the element is contained within the provided Scrollable. */\n _scrollableContainsElement(scrollable, elementOrElementRef) {\n let element = coerceElement(elementOrElementRef);\n let scrollableElement = scrollable.getElementRef().nativeElement;\n // Traverse through the element parents until we reach null, checking if any of the elements\n // are the scrollable's element.\n do {\n if (element == scrollableElement) {\n return true;\n }\n } while (element = element.parentElement);\n return false;\n }\n /** Sets up the global scroll listeners. */\n _addGlobalListener() {\n this._globalSubscription = this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n return fromEvent(window.document, 'scroll').subscribe(() => this._scrolled.next());\n });\n }\n /** Cleans up the global scroll listener. */\n _removeGlobalListener() {\n if (this._globalSubscription) {\n this._globalSubscription.unsubscribe();\n this._globalSubscription = null;\n }\n }\n}\nScrollDispatcher.ɵfac = function ScrollDispatcher_Factory(t) { return new (t || ScrollDispatcher)(ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(DOCUMENT, 8)); };\nScrollDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function ScrollDispatcher_Factory() { return new ScrollDispatcher(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i2.DOCUMENT, 8)); }, token: ScrollDispatcher, providedIn: \"root\" });\nScrollDispatcher.ctorParameters = () => [\n { type: NgZone },\n { type: Platform },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ScrollDispatcher, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc0.NgZone }, { type: ɵngcc1.Platform }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Sends an event when the directive's element is scrolled. Registers itself with the\n * ScrollDispatcher service to include itself as part of its collection of scrolling events that it\n * can be listened to through the service.\n */\nclass CdkScrollable {\n constructor(elementRef, scrollDispatcher, ngZone, dir) {\n this.elementRef = elementRef;\n this.scrollDispatcher = scrollDispatcher;\n this.ngZone = ngZone;\n this.dir = dir;\n this._destroyed = new Subject();\n this._elementScrolled = new Observable((observer) => this.ngZone.runOutsideAngular(() => fromEvent(this.elementRef.nativeElement, 'scroll').pipe(takeUntil(this._destroyed))\n .subscribe(observer)));\n }\n ngOnInit() {\n this.scrollDispatcher.register(this);\n }\n ngOnDestroy() {\n this.scrollDispatcher.deregister(this);\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Returns observable that emits when a scroll event is fired on the host element. */\n elementScrolled() {\n return this._elementScrolled;\n }\n /** Gets the ElementRef for the viewport. */\n getElementRef() {\n return this.elementRef;\n }\n /**\n * Scrolls to the specified offsets. This is a normalized version of the browser's native scrollTo\n * method, since browsers are not consistent about what scrollLeft means in RTL. For this method\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param options specified the offsets to scroll to.\n */\n scrollTo(options) {\n const el = this.elementRef.nativeElement;\n const isRtl = this.dir && this.dir.value == 'rtl';\n // Rewrite start & end offsets as right or left offsets.\n if (options.left == null) {\n options.left = isRtl ? options.end : options.start;\n }\n if (options.right == null) {\n options.right = isRtl ? options.start : options.end;\n }\n // Rewrite the bottom offset as a top offset.\n if (options.bottom != null) {\n options.top =\n el.scrollHeight - el.clientHeight - options.bottom;\n }\n // Rewrite the right offset as a left offset.\n if (isRtl && getRtlScrollAxisType() != 0 /* NORMAL */) {\n if (options.left != null) {\n options.right =\n el.scrollWidth - el.clientWidth - options.left;\n }\n if (getRtlScrollAxisType() == 2 /* INVERTED */) {\n options.left = options.right;\n }\n else if (getRtlScrollAxisType() == 1 /* NEGATED */) {\n options.left = options.right ? -options.right : options.right;\n }\n }\n else {\n if (options.right != null) {\n options.left =\n el.scrollWidth - el.clientWidth - options.right;\n }\n }\n this._applyScrollToOptions(options);\n }\n _applyScrollToOptions(options) {\n const el = this.elementRef.nativeElement;\n if (supportsScrollBehavior()) {\n el.scrollTo(options);\n }\n else {\n if (options.top != null) {\n el.scrollTop = options.top;\n }\n if (options.left != null) {\n el.scrollLeft = options.left;\n }\n }\n }\n /**\n * Measures the scroll offset relative to the specified edge of the viewport. This method can be\n * used instead of directly checking scrollLeft or scrollTop, since browsers are not consistent\n * about what scrollLeft means in RTL. The values returned by this method are normalized such that\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param from The edge to measure from.\n */\n measureScrollOffset(from) {\n const LEFT = 'left';\n const RIGHT = 'right';\n const el = this.elementRef.nativeElement;\n if (from == 'top') {\n return el.scrollTop;\n }\n if (from == 'bottom') {\n return el.scrollHeight - el.clientHeight - el.scrollTop;\n }\n // Rewrite start & end as left or right offsets.\n const isRtl = this.dir && this.dir.value == 'rtl';\n if (from == 'start') {\n from = isRtl ? RIGHT : LEFT;\n }\n else if (from == 'end') {\n from = isRtl ? LEFT : RIGHT;\n }\n if (isRtl && getRtlScrollAxisType() == 2 /* INVERTED */) {\n // For INVERTED, scrollLeft is (scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n else {\n return el.scrollLeft;\n }\n }\n else if (isRtl && getRtlScrollAxisType() == 1 /* NEGATED */) {\n // For NEGATED, scrollLeft is -(scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft + el.scrollWidth - el.clientWidth;\n }\n else {\n return -el.scrollLeft;\n }\n }\n else {\n // For NORMAL, as well as non-RTL contexts, scrollLeft is 0 when scrolled all the way left and\n // (scrollWidth - clientWidth) when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft;\n }\n else {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n }\n }\n}\nCdkScrollable.ɵfac = function CdkScrollable_Factory(t) { return new (t || CdkScrollable)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ScrollDispatcher), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Directionality, 8)); };\nCdkScrollable.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkScrollable, selectors: [[\"\", \"cdk-scrollable\", \"\"], [\"\", \"cdkScrollable\", \"\"]] });\nCdkScrollable.ctorParameters = () => [\n { type: ElementRef },\n { type: ScrollDispatcher },\n { type: NgZone },\n { type: Directionality, decorators: [{ type: Optional }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkScrollable, [{\n type: Directive,\n args: [{\n selector: '[cdk-scrollable], [cdkScrollable]'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ScrollDispatcher }, { type: ɵngcc0.NgZone }, { type: ɵngcc2.Directionality, decorators: [{\n type: Optional\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Time in ms to throttle the resize events by default. */\nconst DEFAULT_RESIZE_TIME = 20;\n/**\n * Simple utility for getting the bounds of the browser viewport.\n * @docs-private\n */\nclass ViewportRuler {\n constructor(_platform, ngZone, document) {\n this._platform = _platform;\n /** Stream of viewport change events. */\n this._change = new Subject();\n /** Event listener that will be used to handle the viewport change events. */\n this._changeListener = (event) => {\n this._change.next(event);\n };\n this._document = document;\n ngZone.runOutsideAngular(() => {\n if (_platform.isBrowser) {\n const window = this._getWindow();\n // Note that bind the events ourselves, rather than going through something like RxJS's\n // `fromEvent` so that we can ensure that they're bound outside of the NgZone.\n window.addEventListener('resize', this._changeListener);\n window.addEventListener('orientationchange', this._changeListener);\n }\n // Clear the cached position so that the viewport is re-measured next time it is required.\n // We don't need to keep track of the subscription, because it is completed on destroy.\n this.change().subscribe(() => this._viewportSize = null);\n });\n }\n ngOnDestroy() {\n if (this._platform.isBrowser) {\n const window = this._getWindow();\n window.removeEventListener('resize', this._changeListener);\n window.removeEventListener('orientationchange', this._changeListener);\n }\n this._change.complete();\n }\n /** Returns the viewport's width and height. */\n getViewportSize() {\n if (!this._viewportSize) {\n this._updateViewportSize();\n }\n const output = { width: this._viewportSize.width, height: this._viewportSize.height };\n // If we're not on a browser, don't cache the size since it'll be mocked out anyway.\n if (!this._platform.isBrowser) {\n this._viewportSize = null;\n }\n return output;\n }\n /** Gets a ClientRect for the viewport's bounds. */\n getViewportRect() {\n // Use the document element's bounding rect rather than the window scroll properties\n // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll\n // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different\n // conceptual viewports. Under most circumstances these viewports are equivalent, but they\n // can disagree when the page is pinch-zoomed (on devices that support touch).\n // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4\n // We use the documentElement instead of the body because, by default (without a css reset)\n // browsers typically give the document body an 8px margin, which is not included in\n // getBoundingClientRect().\n const scrollPosition = this.getViewportScrollPosition();\n const { width, height } = this.getViewportSize();\n return {\n top: scrollPosition.top,\n left: scrollPosition.left,\n bottom: scrollPosition.top + height,\n right: scrollPosition.left + width,\n height,\n width,\n };\n }\n /** Gets the (top, left) scroll position of the viewport. */\n getViewportScrollPosition() {\n // While we can get a reference to the fake document\n // during SSR, it doesn't have getBoundingClientRect.\n if (!this._platform.isBrowser) {\n return { top: 0, left: 0 };\n }\n // The top-left-corner of the viewport is determined by the scroll position of the document\n // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about\n // whether `document.body` or `document.documentElement` is the scrolled element, so reading\n // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of\n // `document.documentElement` works consistently, where the `top` and `left` values will\n // equal negative the scroll position.\n const document = this._document;\n const window = this._getWindow();\n const documentElement = document.documentElement;\n const documentRect = documentElement.getBoundingClientRect();\n const top = -documentRect.top || document.body.scrollTop || window.scrollY ||\n documentElement.scrollTop || 0;\n const left = -documentRect.left || document.body.scrollLeft || window.scrollX ||\n documentElement.scrollLeft || 0;\n return { top, left };\n }\n /**\n * Returns a stream that emits whenever the size of the viewport changes.\n * This stream emits outside of the Angular zone.\n * @param throttleTime Time in milliseconds to throttle the stream.\n */\n change(throttleTime = DEFAULT_RESIZE_TIME) {\n return throttleTime > 0 ? this._change.pipe(auditTime(throttleTime)) : this._change;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Updates the cached viewport size. */\n _updateViewportSize() {\n const window = this._getWindow();\n this._viewportSize = this._platform.isBrowser ?\n { width: window.innerWidth, height: window.innerHeight } :\n { width: 0, height: 0 };\n }\n}\nViewportRuler.ɵfac = function ViewportRuler_Factory(t) { return new (t || ViewportRuler)(ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(ɵngcc0.NgZone), ɵngcc0.ɵɵinject(DOCUMENT, 8)); };\nViewportRuler.ɵprov = i0.ɵɵdefineInjectable({ factory: function ViewportRuler_Factory() { return new ViewportRuler(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.DOCUMENT, 8)); }, token: ViewportRuler, providedIn: \"root\" });\nViewportRuler.ctorParameters = () => [\n { type: Platform },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ViewportRuler, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Checks if the given ranges are equal. */\nfunction rangesEqual(r1, r2) {\n return r1.start == r2.start && r1.end == r2.end;\n}\n/**\n * Scheduler to be used for scroll events. Needs to fall back to\n * something that doesn't rely on requestAnimationFrame on environments\n * that don't support it (e.g. server-side rendering).\n */\nconst SCROLL_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\n/** A viewport that virtualizes its scrolling with the help of `CdkVirtualForOf`. */\nclass CdkVirtualScrollViewport extends CdkScrollable {\n constructor(elementRef, _changeDetectorRef, ngZone, _scrollStrategy, dir, scrollDispatcher, viewportRuler) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n this.elementRef = elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._scrollStrategy = _scrollStrategy;\n /** Emits when the viewport is detached from a CdkVirtualForOf. */\n this._detachedSubject = new Subject();\n /** Emits when the rendered range changes. */\n this._renderedRangeSubject = new Subject();\n this._orientation = 'vertical';\n this._appendOnly = false;\n // Note: we don't use the typical EventEmitter here because we need to subscribe to the scroll\n // strategy lazily (i.e. only if the user is actually listening to the events). We do this because\n // depending on how the strategy calculates the scrolled index, it may come at a cost to\n // performance.\n /** Emits when the index of the first element visible in the viewport changes. */\n this.scrolledIndexChange = new Observable((observer) => this._scrollStrategy.scrolledIndexChange.subscribe(index => Promise.resolve().then(() => this.ngZone.run(() => observer.next(index)))));\n /** A stream that emits whenever the rendered range changes. */\n this.renderedRangeStream = this._renderedRangeSubject;\n /**\n * The total size of all content (in pixels), including content that is not currently rendered.\n */\n this._totalContentSize = 0;\n /** A string representing the `style.width` property value to be used for the spacer element. */\n this._totalContentWidth = '';\n /** A string representing the `style.height` property value to be used for the spacer element. */\n this._totalContentHeight = '';\n /** The currently rendered range of indices. */\n this._renderedRange = { start: 0, end: 0 };\n /** The length of the data bound to this viewport (in number of items). */\n this._dataLength = 0;\n /** The size of the viewport (in pixels). */\n this._viewportSize = 0;\n /** The last rendered content offset that was set. */\n this._renderedContentOffset = 0;\n /**\n * Whether the last rendered content offset was to the end of the content (and therefore needs to\n * be rewritten as an offset to the start of the content).\n */\n this._renderedContentOffsetNeedsRewrite = false;\n /** Whether there is a pending change detection cycle. */\n this._isChangeDetectionPending = false;\n /** A list of functions to run after the next change detection cycle. */\n this._runAfterChangeDetection = [];\n /** Subscription to changes in the viewport size. */\n this._viewportChanges = Subscription.EMPTY;\n if (!_scrollStrategy && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Error: cdk-virtual-scroll-viewport requires the \"itemSize\" property to be set.');\n }\n this._viewportChanges = viewportRuler.change().subscribe(() => {\n this.checkViewportSize();\n });\n }\n /** The direction the viewport scrolls. */\n get orientation() {\n return this._orientation;\n }\n set orientation(orientation) {\n if (this._orientation !== orientation) {\n this._orientation = orientation;\n this._calculateSpacerSize();\n }\n }\n /**\n * Whether rendered items should persist in the DOM after scrolling out of view. By default, items\n * will be removed.\n */\n get appendOnly() {\n return this._appendOnly;\n }\n set appendOnly(value) {\n this._appendOnly = coerceBooleanProperty(value);\n }\n ngOnInit() {\n super.ngOnInit();\n // It's still too early to measure the viewport at this point. Deferring with a promise allows\n // the Viewport to be rendered with the correct size before we measure. We run this outside the\n // zone to avoid causing more change detection cycles. We handle the change detection loop\n // ourselves instead.\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._measureViewportSize();\n this._scrollStrategy.attach(this);\n this.elementScrolled()\n .pipe(\n // Start off with a fake scroll event so we properly detect our initial position.\n startWith(null), \n // Collect multiple events into one until the next animation frame. This way if\n // there are multiple scroll events in the same frame we only need to recheck\n // our layout once.\n auditTime(0, SCROLL_SCHEDULER))\n .subscribe(() => this._scrollStrategy.onContentScrolled());\n this._markChangeDetectionNeeded();\n }));\n }\n ngOnDestroy() {\n this.detach();\n this._scrollStrategy.detach();\n // Complete all subjects\n this._renderedRangeSubject.complete();\n this._detachedSubject.complete();\n this._viewportChanges.unsubscribe();\n super.ngOnDestroy();\n }\n /** Attaches a `CdkVirtualScrollRepeater` to this viewport. */\n attach(forOf) {\n if (this._forOf && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkVirtualScrollViewport is already attached.');\n }\n // Subscribe to the data stream of the CdkVirtualForOf to keep track of when the data length\n // changes. Run outside the zone to avoid triggering change detection, since we're managing the\n // change detection loop ourselves.\n this.ngZone.runOutsideAngular(() => {\n this._forOf = forOf;\n this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe(data => {\n const newLength = data.length;\n if (newLength !== this._dataLength) {\n this._dataLength = newLength;\n this._scrollStrategy.onDataLengthChanged();\n }\n this._doChangeDetection();\n });\n });\n }\n /** Detaches the current `CdkVirtualForOf`. */\n detach() {\n this._forOf = null;\n this._detachedSubject.next();\n }\n /** Gets the length of the data bound to this viewport (in number of items). */\n getDataLength() {\n return this._dataLength;\n }\n /** Gets the size of the viewport (in pixels). */\n getViewportSize() {\n return this._viewportSize;\n }\n // TODO(mmalerba): This is technically out of sync with what's really rendered until a render\n // cycle happens. I'm being careful to only call it after the render cycle is complete and before\n // setting it to something else, but its error prone and should probably be split into\n // `pendingRange` and `renderedRange`, the latter reflecting whats actually in the DOM.\n /** Get the current rendered range of items. */\n getRenderedRange() {\n return this._renderedRange;\n }\n /**\n * Sets the total size of all content (in pixels), including content that is not currently\n * rendered.\n */\n setTotalContentSize(size) {\n if (this._totalContentSize !== size) {\n this._totalContentSize = size;\n this._calculateSpacerSize();\n this._markChangeDetectionNeeded();\n }\n }\n /** Sets the currently rendered range of indices. */\n setRenderedRange(range) {\n if (!rangesEqual(this._renderedRange, range)) {\n if (this.appendOnly) {\n range = { start: 0, end: Math.max(this._renderedRange.end, range.end) };\n }\n this._renderedRangeSubject.next(this._renderedRange = range);\n this._markChangeDetectionNeeded(() => this._scrollStrategy.onContentRendered());\n }\n }\n /**\n * Gets the offset from the start of the viewport to the start of the rendered data (in pixels).\n */\n getOffsetToRenderedContentStart() {\n return this._renderedContentOffsetNeedsRewrite ? null : this._renderedContentOffset;\n }\n /**\n * Sets the offset from the start of the viewport to either the start or end of the rendered data\n * (in pixels).\n */\n setRenderedContentOffset(offset, to = 'to-start') {\n // For a horizontal viewport in a right-to-left language we need to translate along the x-axis\n // in the negative direction.\n const isRtl = this.dir && this.dir.value == 'rtl';\n const isHorizontal = this.orientation == 'horizontal';\n const axis = isHorizontal ? 'X' : 'Y';\n const axisDirection = isHorizontal && isRtl ? -1 : 1;\n let transform = `translate${axis}(${Number(axisDirection * offset)}px)`;\n this._renderedContentOffset = offset;\n if (to === 'to-end') {\n transform += ` translate${axis}(-100%)`;\n // The viewport should rewrite this as a `to-start` offset on the next render cycle. Otherwise\n // elements will appear to expand in the wrong direction (e.g. `mat-expansion-panel` would\n // expand upward).\n this._renderedContentOffsetNeedsRewrite = true;\n }\n if (this._renderedContentTransform != transform) {\n // We know this value is safe because we parse `offset` with `Number()` before passing it\n // into the string.\n this._renderedContentTransform = transform;\n this._markChangeDetectionNeeded(() => {\n if (this._renderedContentOffsetNeedsRewrite) {\n this._renderedContentOffset -= this.measureRenderedContentSize();\n this._renderedContentOffsetNeedsRewrite = false;\n this.setRenderedContentOffset(this._renderedContentOffset);\n }\n else {\n this._scrollStrategy.onRenderedOffsetChanged();\n }\n });\n }\n }\n /**\n * Scrolls to the given offset from the start of the viewport. Please note that this is not always\n * the same as setting `scrollTop` or `scrollLeft`. In a horizontal viewport with right-to-left\n * direction, this would be the equivalent of setting a fictional `scrollRight` property.\n * @param offset The offset to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToOffset(offset, behavior = 'auto') {\n const options = { behavior };\n if (this.orientation === 'horizontal') {\n options.start = offset;\n }\n else {\n options.top = offset;\n }\n this.scrollTo(options);\n }\n /**\n * Scrolls to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToIndex(index, behavior = 'auto') {\n this._scrollStrategy.scrollToIndex(index, behavior);\n }\n /**\n * Gets the current scroll offset from the start of the viewport (in pixels).\n * @param from The edge to measure the offset from. Defaults to 'top' in vertical mode and 'start'\n * in horizontal mode.\n */\n measureScrollOffset(from) {\n return from ?\n super.measureScrollOffset(from) :\n super.measureScrollOffset(this.orientation === 'horizontal' ? 'start' : 'top');\n }\n /** Measure the combined size of all of the rendered items. */\n measureRenderedContentSize() {\n const contentEl = this._contentWrapper.nativeElement;\n return this.orientation === 'horizontal' ? contentEl.offsetWidth : contentEl.offsetHeight;\n }\n /**\n * Measure the total combined size of the given range. Throws if the range includes items that are\n * not rendered.\n */\n measureRangeSize(range) {\n if (!this._forOf) {\n return 0;\n }\n return this._forOf.measureRangeSize(range, this.orientation);\n }\n /** Update the viewport dimensions and re-render. */\n checkViewportSize() {\n // TODO: Cleanup later when add logic for handling content resize\n this._measureViewportSize();\n this._scrollStrategy.onDataLengthChanged();\n }\n /** Measure the viewport size. */\n _measureViewportSize() {\n const viewportEl = this.elementRef.nativeElement;\n this._viewportSize = this.orientation === 'horizontal' ?\n viewportEl.clientWidth : viewportEl.clientHeight;\n }\n /** Queue up change detection to run. */\n _markChangeDetectionNeeded(runAfter) {\n if (runAfter) {\n this._runAfterChangeDetection.push(runAfter);\n }\n // Use a Promise to batch together calls to `_doChangeDetection`. This way if we set a bunch of\n // properties sequentially we only have to run `_doChangeDetection` once at the end.\n if (!this._isChangeDetectionPending) {\n this._isChangeDetectionPending = true;\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._doChangeDetection();\n }));\n }\n }\n /** Run change detection. */\n _doChangeDetection() {\n this._isChangeDetectionPending = false;\n // Apply the content transform. The transform can't be set via an Angular binding because\n // bypassSecurityTrustStyle is banned in Google. However the value is safe, it's composed of\n // string literals, a variable that can only be 'X' or 'Y', and user input that is run through\n // the `Number` function first to coerce it to a numeric value.\n this._contentWrapper.nativeElement.style.transform = this._renderedContentTransform;\n // Apply changes to Angular bindings. Note: We must call `markForCheck` to run change detection\n // from the root, since the repeated items are content projected in. Calling `detectChanges`\n // instead does not properly check the projected content.\n this.ngZone.run(() => this._changeDetectorRef.markForCheck());\n const runAfterChangeDetection = this._runAfterChangeDetection;\n this._runAfterChangeDetection = [];\n for (const fn of runAfterChangeDetection) {\n fn();\n }\n }\n /** Calculates the `style.width` and `style.height` for the spacer element. */\n _calculateSpacerSize() {\n this._totalContentHeight =\n this.orientation === 'horizontal' ? '' : `${this._totalContentSize}px`;\n this._totalContentWidth =\n this.orientation === 'horizontal' ? `${this._totalContentSize}px` : '';\n }\n}\nCdkVirtualScrollViewport.ɵfac = function CdkVirtualScrollViewport_Factory(t) { return new (t || CdkVirtualScrollViewport)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(VIRTUAL_SCROLL_STRATEGY, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(ScrollDispatcher), ɵngcc0.ɵɵdirectiveInject(ViewportRuler)); };\nCdkVirtualScrollViewport.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: CdkVirtualScrollViewport, selectors: [[\"cdk-virtual-scroll-viewport\"]], viewQuery: function CdkVirtualScrollViewport_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 7);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentWrapper = _t.first);\n } }, hostAttrs: [1, \"cdk-virtual-scroll-viewport\"], hostVars: 4, hostBindings: function CdkVirtualScrollViewport_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"cdk-virtual-scroll-orientation-horizontal\", ctx.orientation === \"horizontal\")(\"cdk-virtual-scroll-orientation-vertical\", ctx.orientation !== \"horizontal\");\n } }, inputs: { orientation: \"orientation\", appendOnly: \"appendOnly\" }, outputs: { scrolledIndexChange: \"scrolledIndexChange\" }, features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: CdkScrollable,\n useExisting: CdkVirtualScrollViewport\n }]), ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 4, vars: 4, consts: [[1, \"cdk-virtual-scroll-content-wrapper\"], [\"contentWrapper\", \"\"], [1, \"cdk-virtual-scroll-spacer\"]], template: function CdkVirtualScrollViewport_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵelementStart(0, \"div\", 0, 1);\n ɵngcc0.ɵɵprojection(2);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelement(3, \"div\", 2);\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵstyleProp(\"width\", ctx._totalContentWidth)(\"height\", ctx._totalContentHeight);\n } }, styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\\n\"], encapsulation: 2, changeDetection: 0 });\nCdkVirtualScrollViewport.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [VIRTUAL_SCROLL_STRATEGY,] }] },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: ScrollDispatcher },\n { type: ViewportRuler }\n];\nCdkVirtualScrollViewport.propDecorators = {\n orientation: [{ type: Input }],\n appendOnly: [{ type: Input }],\n scrolledIndexChange: [{ type: Output }],\n _contentWrapper: [{ type: ViewChild, args: ['contentWrapper', { static: true },] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkVirtualScrollViewport, [{\n type: Component,\n args: [{\n selector: 'cdk-virtual-scroll-viewport',\n template: \"\\n
\\n \\n
\\n\\n
\\n\",\n host: {\n 'class': 'cdk-virtual-scroll-viewport',\n '[class.cdk-virtual-scroll-orientation-horizontal]': 'orientation === \"horizontal\"',\n '[class.cdk-virtual-scroll-orientation-vertical]': 'orientation !== \"horizontal\"'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: CdkScrollable,\n useExisting: CdkVirtualScrollViewport\n }],\n styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\\n\"]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [VIRTUAL_SCROLL_STRATEGY]\n }] }, { type: ɵngcc2.Directionality, decorators: [{\n type: Optional\n }] }, { type: ScrollDispatcher }, { type: ViewportRuler }]; }, { scrolledIndexChange: [{\n type: Output\n }], orientation: [{\n type: Input\n }], appendOnly: [{\n type: Input\n }], _contentWrapper: [{\n type: ViewChild,\n args: ['contentWrapper', { static: true }]\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Helper to extract the offset of a DOM Node in a certain direction. */\nfunction getOffset(orientation, direction, node) {\n const el = node;\n if (!el.getBoundingClientRect) {\n return 0;\n }\n const rect = el.getBoundingClientRect();\n if (orientation === 'horizontal') {\n return direction === 'start' ? rect.left : rect.right;\n }\n return direction === 'start' ? rect.top : rect.bottom;\n}\n/**\n * A directive similar to `ngForOf` to be used for rendering data inside a virtual scrolling\n * container.\n */\nclass CdkVirtualForOf {\n constructor(\n /** The view container to add items to. */\n _viewContainerRef, \n /** The template to use when stamping out new items. */\n _template, \n /** The set of available differs. */\n _differs, \n /** The strategy used to render items in the virtual scroll viewport. */\n _viewRepeater, \n /** The virtual scrolling viewport that these items are being rendered in. */\n _viewport, ngZone) {\n this._viewContainerRef = _viewContainerRef;\n this._template = _template;\n this._differs = _differs;\n this._viewRepeater = _viewRepeater;\n this._viewport = _viewport;\n /** Emits when the rendered view of the data changes. */\n this.viewChange = new Subject();\n /** Subject that emits when a new DataSource instance is given. */\n this._dataSourceChanges = new Subject();\n /** Emits whenever the data in the current DataSource changes. */\n this.dataStream = this._dataSourceChanges\n .pipe(\n // Start off with null `DataSource`.\n startWith(null), \n // Bundle up the previous and current data sources so we can work with both.\n pairwise(), \n // Use `_changeDataSource` to disconnect from the previous data source and connect to the\n // new one, passing back a stream of data changes which we run through `switchMap` to give\n // us a data stream that emits the latest data from whatever the current `DataSource` is.\n switchMap(([prev, cur]) => this._changeDataSource(prev, cur)), \n // Replay the last emitted data when someone subscribes.\n shareReplay(1));\n /** The differ used to calculate changes to the data. */\n this._differ = null;\n /** Whether the rendered data should be updated during the next ngDoCheck cycle. */\n this._needsUpdate = false;\n this._destroyed = new Subject();\n this.dataStream.subscribe(data => {\n this._data = data;\n this._onRenderedDataChange();\n });\n this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe(range => {\n this._renderedRange = range;\n ngZone.run(() => this.viewChange.next(this._renderedRange));\n this._onRenderedDataChange();\n });\n this._viewport.attach(this);\n }\n /** The DataSource to display. */\n get cdkVirtualForOf() {\n return this._cdkVirtualForOf;\n }\n set cdkVirtualForOf(value) {\n this._cdkVirtualForOf = value;\n if (isDataSource(value)) {\n this._dataSourceChanges.next(value);\n }\n else {\n // If value is an an NgIterable, convert it to an array.\n this._dataSourceChanges.next(new ArrayDataSource(isObservable(value) ? value : Array.from(value || [])));\n }\n }\n /**\n * The `TrackByFunction` to use for tracking changes. The `TrackByFunction` takes the index and\n * the item and produces a value to be used as the item's identity when tracking changes.\n */\n get cdkVirtualForTrackBy() {\n return this._cdkVirtualForTrackBy;\n }\n set cdkVirtualForTrackBy(fn) {\n this._needsUpdate = true;\n this._cdkVirtualForTrackBy = fn ?\n (index, item) => fn(index + (this._renderedRange ? this._renderedRange.start : 0), item) :\n undefined;\n }\n /** The template used to stamp out new elements. */\n set cdkVirtualForTemplate(value) {\n if (value) {\n this._needsUpdate = true;\n this._template = value;\n }\n }\n /**\n * The size of the cache used to store templates that are not being used for re-use later.\n * Setting the cache size to `0` will disable caching. Defaults to 20 templates.\n */\n get cdkVirtualForTemplateCacheSize() {\n return this._viewRepeater.viewCacheSize;\n }\n set cdkVirtualForTemplateCacheSize(size) {\n this._viewRepeater.viewCacheSize = coerceNumberProperty(size);\n }\n /**\n * Measures the combined size (width for horizontal orientation, height for vertical) of all items\n * in the specified range. Throws an error if the range includes items that are not currently\n * rendered.\n */\n measureRangeSize(range, orientation) {\n if (range.start >= range.end) {\n return 0;\n }\n if ((range.start < this._renderedRange.start || range.end > this._renderedRange.end) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Error: attempted to measure an item that isn't rendered.`);\n }\n // The index into the list of rendered views for the first item in the range.\n const renderedStartIndex = range.start - this._renderedRange.start;\n // The length of the range we're measuring.\n const rangeLen = range.end - range.start;\n // Loop over all the views, find the first and land node and compute the size by subtracting\n // the top of the first node from the bottom of the last one.\n let firstNode;\n let lastNode;\n // Find the first node by starting from the beginning and going forwards.\n for (let i = 0; i < rangeLen; i++) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n firstNode = lastNode = view.rootNodes[0];\n break;\n }\n }\n // Find the last node by starting from the end and going backwards.\n for (let i = rangeLen - 1; i > -1; i--) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n lastNode = view.rootNodes[view.rootNodes.length - 1];\n break;\n }\n }\n return firstNode && lastNode ?\n getOffset(orientation, 'end', lastNode) - getOffset(orientation, 'start', firstNode) : 0;\n }\n ngDoCheck() {\n if (this._differ && this._needsUpdate) {\n // TODO(mmalerba): We should differentiate needs update due to scrolling and a new portion of\n // this list being rendered (can use simpler algorithm) vs needs update due to data actually\n // changing (need to do this diff).\n const changes = this._differ.diff(this._renderedItems);\n if (!changes) {\n this._updateContext();\n }\n else {\n this._applyChanges(changes);\n }\n this._needsUpdate = false;\n }\n }\n ngOnDestroy() {\n this._viewport.detach();\n this._dataSourceChanges.next(undefined);\n this._dataSourceChanges.complete();\n this.viewChange.complete();\n this._destroyed.next();\n this._destroyed.complete();\n this._viewRepeater.detach();\n }\n /** React to scroll state changes in the viewport. */\n _onRenderedDataChange() {\n if (!this._renderedRange) {\n return;\n }\n this._renderedItems = this._data.slice(this._renderedRange.start, this._renderedRange.end);\n if (!this._differ) {\n // Use a wrapper function for the `trackBy` so any new values are\n // picked up automatically without having to recreate the differ.\n this._differ = this._differs.find(this._renderedItems).create((index, item) => {\n return this.cdkVirtualForTrackBy ? this.cdkVirtualForTrackBy(index, item) : item;\n });\n }\n this._needsUpdate = true;\n }\n /** Swap out one `DataSource` for another. */\n _changeDataSource(oldDs, newDs) {\n if (oldDs) {\n oldDs.disconnect(this);\n }\n this._needsUpdate = true;\n return newDs ? newDs.connect(this) : of();\n }\n /** Update the `CdkVirtualForOfContext` for all views. */\n _updateContext() {\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n view.detectChanges();\n }\n }\n /** Apply changes to the DOM. */\n _applyChanges(changes) {\n this._viewRepeater.applyChanges(changes, this._viewContainerRef, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record, currentIndex), (record) => record.item);\n // Update $implicit for any items that had an identity change.\n changes.forEachIdentityChange((record) => {\n const view = this._viewContainerRef.get(record.currentIndex);\n view.context.$implicit = record.item;\n });\n // Update the context variables on all items.\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n }\n }\n /** Update the computed properties on the `CdkVirtualForOfContext`. */\n _updateComputedContextProperties(context) {\n context.first = context.index === 0;\n context.last = context.index === context.count - 1;\n context.even = context.index % 2 === 0;\n context.odd = !context.even;\n }\n _getEmbeddedViewArgs(record, index) {\n // Note that it's important that we insert the item directly at the proper index,\n // rather than inserting it and the moving it in place, because if there's a directive\n // on the same node that injects the `ViewContainerRef`, Angular will insert another\n // comment node which can throw off the move when it's being repeated for all items.\n return {\n templateRef: this._template,\n context: {\n $implicit: record.item,\n // It's guaranteed that the iterable is not \"undefined\" or \"null\" because we only\n // generate views for elements if the \"cdkVirtualForOf\" iterable has elements.\n cdkVirtualForOf: this._cdkVirtualForOf,\n index: -1,\n count: -1,\n first: false,\n last: false,\n odd: false,\n even: false\n },\n index,\n };\n }\n}\nCdkVirtualForOf.ɵfac = function CdkVirtualForOf_Factory(t) { return new (t || CdkVirtualForOf)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(_VIEW_REPEATER_STRATEGY), ɵngcc0.ɵɵdirectiveInject(CdkVirtualScrollViewport, 4), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nCdkVirtualForOf.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkVirtualForOf, selectors: [[\"\", \"cdkVirtualFor\", \"\", \"cdkVirtualForOf\", \"\"]], inputs: { cdkVirtualForOf: \"cdkVirtualForOf\", cdkVirtualForTrackBy: \"cdkVirtualForTrackBy\", cdkVirtualForTemplate: \"cdkVirtualForTemplate\", cdkVirtualForTemplateCacheSize: \"cdkVirtualForTemplateCacheSize\" }, features: [ɵngcc0.ɵɵProvidersFeature([\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },\n ])] });\nCdkVirtualForOf.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: TemplateRef },\n { type: IterableDiffers },\n { type: _RecycleViewRepeaterStrategy, decorators: [{ type: Inject, args: [_VIEW_REPEATER_STRATEGY,] }] },\n { type: CdkVirtualScrollViewport, decorators: [{ type: SkipSelf }] },\n { type: NgZone }\n];\nCdkVirtualForOf.propDecorators = {\n cdkVirtualForOf: [{ type: Input }],\n cdkVirtualForTrackBy: [{ type: Input }],\n cdkVirtualForTemplate: [{ type: Input }],\n cdkVirtualForTemplateCacheSize: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkVirtualForOf, [{\n type: Directive,\n args: [{\n selector: '[cdkVirtualFor][cdkVirtualForOf]',\n providers: [\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy },\n ]\n }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }, { type: ɵngcc3._RecycleViewRepeaterStrategy, decorators: [{\n type: Inject,\n args: [_VIEW_REPEATER_STRATEGY]\n }] }, { type: CdkVirtualScrollViewport, decorators: [{\n type: SkipSelf\n }] }, { type: ɵngcc0.NgZone }]; }, { cdkVirtualForOf: [{\n type: Input\n }], cdkVirtualForTrackBy: [{\n type: Input\n }], cdkVirtualForTemplate: [{\n type: Input\n }], cdkVirtualForTemplateCacheSize: [{\n type: Input\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkScrollableModule {\n}\nCdkScrollableModule.ɵfac = function CdkScrollableModule_Factory(t) { return new (t || CdkScrollableModule)(); };\nCdkScrollableModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: CdkScrollableModule });\nCdkScrollableModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkScrollableModule, [{\n type: NgModule,\n args: [{\n exports: [CdkScrollable],\n declarations: [CdkScrollable]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(CdkScrollableModule, { declarations: [CdkScrollable], exports: [CdkScrollable] }); })();\n/**\n * @docs-primary-export\n */\nclass ScrollingModule {\n}\nScrollingModule.ɵfac = function ScrollingModule_Factory(t) { return new (t || ScrollingModule)(); };\nScrollingModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: ScrollingModule });\nScrollingModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[\n BidiModule,\n PlatformModule,\n CdkScrollableModule\n ], BidiModule, CdkScrollableModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ScrollingModule, [{\n type: NgModule,\n args: [{\n imports: [\n BidiModule,\n PlatformModule,\n CdkScrollableModule\n ],\n exports: [\n BidiModule,\n CdkScrollableModule,\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n ],\n declarations: [\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ScrollingModule, { declarations: function () { return [CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport]; }, imports: function () { return [BidiModule,\n PlatformModule, CdkScrollableModule]; }, exports: function () { return [BidiModule, CdkScrollableModule, CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkFixedSizeVirtualScroll, CdkScrollable, CdkScrollableModule, CdkVirtualForOf, CdkVirtualScrollViewport, DEFAULT_RESIZE_TIME, DEFAULT_SCROLL_TIME, FixedSizeVirtualScrollStrategy, ScrollDispatcher, ScrollingModule, VIRTUAL_SCROLL_STRATEGY, ViewportRuler, _fixedSizeVirtualScrollStrategyFactory };\n\n","import * as i1 from '@angular/cdk/platform';\nimport { normalizePassiveListenerOptions, Platform, PlatformModule } from '@angular/cdk/platform';\nimport * as i0 from '@angular/core';\nimport { Injectable, NgZone, EventEmitter, Directive, ElementRef, Output, Optional, Inject, Input, HostListener, NgModule } from '@angular/core';\nimport { coerceElement, coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EMPTY, Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Options to pass to the animationstart listener. */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nconst listenerOptions = normalizePassiveListenerOptions({ passive: true });\n/**\n * An injectable service that can be used to monitor the autofill state of an input.\n * Based on the following blog post:\n * https://medium.com/@brunn/detecting-autofilled-fields-in-javascript-aed598d25da7\n */\nclass AutofillMonitor {\n constructor(_platform, _ngZone) {\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._monitoredElements = new Map();\n }\n monitor(elementOrRef) {\n if (!this._platform.isBrowser) {\n return EMPTY;\n }\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n if (info) {\n return info.subject;\n }\n const result = new Subject();\n const cssClass = 'cdk-text-field-autofilled';\n const listener = ((event) => {\n // Animation events fire on initial element render, we check for the presence of the autofill\n // CSS class to make sure this is a real change in state, not just the initial render before\n // we fire off events.\n if (event.animationName === 'cdk-text-field-autofill-start' &&\n !element.classList.contains(cssClass)) {\n element.classList.add(cssClass);\n this._ngZone.run(() => result.next({ target: event.target, isAutofilled: true }));\n }\n else if (event.animationName === 'cdk-text-field-autofill-end' &&\n element.classList.contains(cssClass)) {\n element.classList.remove(cssClass);\n this._ngZone.run(() => result.next({ target: event.target, isAutofilled: false }));\n }\n });\n this._ngZone.runOutsideAngular(() => {\n element.addEventListener('animationstart', listener, listenerOptions);\n element.classList.add('cdk-text-field-autofill-monitored');\n });\n this._monitoredElements.set(element, {\n subject: result,\n unlisten: () => {\n element.removeEventListener('animationstart', listener, listenerOptions);\n }\n });\n return result;\n }\n stopMonitoring(elementOrRef) {\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n if (info) {\n info.unlisten();\n info.subject.complete();\n element.classList.remove('cdk-text-field-autofill-monitored');\n element.classList.remove('cdk-text-field-autofilled');\n this._monitoredElements.delete(element);\n }\n }\n ngOnDestroy() {\n this._monitoredElements.forEach((_info, element) => this.stopMonitoring(element));\n }\n}\nAutofillMonitor.ɵfac = function AutofillMonitor_Factory(t) { return new (t || AutofillMonitor)(ɵngcc0.ɵɵinject(ɵngcc1.Platform), ɵngcc0.ɵɵinject(ɵngcc0.NgZone)); };\nAutofillMonitor.ɵprov = i0.ɵɵdefineInjectable({ factory: function AutofillMonitor_Factory() { return new AutofillMonitor(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i0.NgZone)); }, token: AutofillMonitor, providedIn: \"root\" });\nAutofillMonitor.ctorParameters = () => [\n { type: Platform },\n { type: NgZone }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AutofillMonitor, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc1.Platform }, { type: ɵngcc0.NgZone }]; }, null); })();\n/** A directive that can be used to monitor the autofill state of an input. */\nclass CdkAutofill {\n constructor(_elementRef, _autofillMonitor) {\n this._elementRef = _elementRef;\n this._autofillMonitor = _autofillMonitor;\n /** Emits when the autofill state of the element changes. */\n this.cdkAutofill = new EventEmitter();\n }\n ngOnInit() {\n this._autofillMonitor\n .monitor(this._elementRef)\n .subscribe(event => this.cdkAutofill.emit(event));\n }\n ngOnDestroy() {\n this._autofillMonitor.stopMonitoring(this._elementRef);\n }\n}\nCdkAutofill.ɵfac = function CdkAutofill_Factory(t) { return new (t || CdkAutofill)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(AutofillMonitor)); };\nCdkAutofill.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkAutofill, selectors: [[\"\", \"cdkAutofill\", \"\"]], outputs: { cdkAutofill: \"cdkAutofill\" } });\nCdkAutofill.ctorParameters = () => [\n { type: ElementRef },\n { type: AutofillMonitor }\n];\nCdkAutofill.propDecorators = {\n cdkAutofill: [{ type: Output }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkAutofill, [{\n type: Directive,\n args: [{\n selector: '[cdkAutofill]'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: AutofillMonitor }]; }, { cdkAutofill: [{\n type: Output\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Directive to automatically resize a textarea to fit its content. */\nclass CdkTextareaAutosize {\n constructor(_elementRef, _platform, _ngZone, \n /** @breaking-change 11.0.0 make document required */\n document) {\n this._elementRef = _elementRef;\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._destroyed = new Subject();\n this._enabled = true;\n /**\n * Value of minRows as of last resize. If the minRows has decreased, the\n * height of the textarea needs to be recomputed to reflect the new minimum. The maxHeight\n * does not have the same problem because it does not affect the textarea's scrollHeight.\n */\n this._previousMinRows = -1;\n this._isViewInited = false;\n /** Handles `focus` and `blur` events. */\n this._handleFocusEvent = (event) => {\n this._hasFocus = event.type === 'focus';\n };\n this._document = document;\n this._textareaElement = this._elementRef.nativeElement;\n }\n /** Minimum amount of rows in the textarea. */\n get minRows() { return this._minRows; }\n set minRows(value) {\n this._minRows = coerceNumberProperty(value);\n this._setMinHeight();\n }\n /** Maximum amount of rows in the textarea. */\n get maxRows() { return this._maxRows; }\n set maxRows(value) {\n this._maxRows = coerceNumberProperty(value);\n this._setMaxHeight();\n }\n /** Whether autosizing is enabled or not */\n get enabled() { return this._enabled; }\n set enabled(value) {\n value = coerceBooleanProperty(value);\n // Only act if the actual value changed. This specifically helps to not run\n // resizeToFitContent too early (i.e. before ngAfterViewInit)\n if (this._enabled !== value) {\n (this._enabled = value) ? this.resizeToFitContent(true) : this.reset();\n }\n }\n get placeholder() { return this._textareaElement.placeholder; }\n set placeholder(value) {\n this._cachedPlaceholderHeight = undefined;\n this._textareaElement.placeholder = value;\n this._cacheTextareaPlaceholderHeight();\n }\n /** Sets the minimum height of the textarea as determined by minRows. */\n _setMinHeight() {\n const minHeight = this.minRows && this._cachedLineHeight ?\n `${this.minRows * this._cachedLineHeight}px` : null;\n if (minHeight) {\n this._textareaElement.style.minHeight = minHeight;\n }\n }\n /** Sets the maximum height of the textarea as determined by maxRows. */\n _setMaxHeight() {\n const maxHeight = this.maxRows && this._cachedLineHeight ?\n `${this.maxRows * this._cachedLineHeight}px` : null;\n if (maxHeight) {\n this._textareaElement.style.maxHeight = maxHeight;\n }\n }\n ngAfterViewInit() {\n if (this._platform.isBrowser) {\n // Remember the height which we started with in case autosizing is disabled\n this._initialHeight = this._textareaElement.style.height;\n this.resizeToFitContent();\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n fromEvent(window, 'resize')\n .pipe(auditTime(16), takeUntil(this._destroyed))\n .subscribe(() => this.resizeToFitContent(true));\n this._textareaElement.addEventListener('focus', this._handleFocusEvent);\n this._textareaElement.addEventListener('blur', this._handleFocusEvent);\n });\n this._isViewInited = true;\n this.resizeToFitContent(true);\n }\n }\n ngOnDestroy() {\n this._textareaElement.removeEventListener('focus', this._handleFocusEvent);\n this._textareaElement.removeEventListener('blur', this._handleFocusEvent);\n this._destroyed.next();\n this._destroyed.complete();\n }\n /**\n * Cache the height of a single-row textarea if it has not already been cached.\n *\n * We need to know how large a single \"row\" of a textarea is in order to apply minRows and\n * maxRows. For the initial version, we will assume that the height of a single line in the\n * textarea does not ever change.\n */\n _cacheTextareaLineHeight() {\n if (this._cachedLineHeight) {\n return;\n }\n // Use a clone element because we have to override some styles.\n let textareaClone = this._textareaElement.cloneNode(false);\n textareaClone.rows = 1;\n // Use `position: absolute` so that this doesn't cause a browser layout and use\n // `visibility: hidden` so that nothing is rendered. Clear any other styles that\n // would affect the height.\n textareaClone.style.position = 'absolute';\n textareaClone.style.visibility = 'hidden';\n textareaClone.style.border = 'none';\n textareaClone.style.padding = '0';\n textareaClone.style.height = '';\n textareaClone.style.minHeight = '';\n textareaClone.style.maxHeight = '';\n // In Firefox it happens that textarea elements are always bigger than the specified amount\n // of rows. This is because Firefox tries to add extra space for the horizontal scrollbar.\n // As a workaround that removes the extra space for the scrollbar, we can just set overflow\n // to hidden. This ensures that there is no invalid calculation of the line height.\n // See Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=33654\n textareaClone.style.overflow = 'hidden';\n this._textareaElement.parentNode.appendChild(textareaClone);\n this._cachedLineHeight = textareaClone.clientHeight;\n this._textareaElement.parentNode.removeChild(textareaClone);\n // Min and max heights have to be re-calculated if the cached line height changes\n this._setMinHeight();\n this._setMaxHeight();\n }\n _measureScrollHeight() {\n const element = this._textareaElement;\n const previousMargin = element.style.marginBottom || '';\n const isFirefox = this._platform.FIREFOX;\n const needsMarginFiller = isFirefox && this._hasFocus;\n const measuringClass = isFirefox ?\n 'cdk-textarea-autosize-measuring-firefox' :\n 'cdk-textarea-autosize-measuring';\n // In some cases the page might move around while we're measuring the `textarea` on Firefox. We\n // work around it by assigning a temporary margin with the same height as the `textarea` so that\n // it occupies the same amount of space. See #23233.\n if (needsMarginFiller) {\n element.style.marginBottom = `${element.clientHeight}px`;\n }\n // Reset the textarea height to auto in order to shrink back to its default size.\n // Also temporarily force overflow:hidden, so scroll bars do not interfere with calculations.\n element.classList.add(measuringClass);\n // The measuring class includes a 2px padding to workaround an issue with Chrome,\n // so we account for that extra space here by subtracting 4 (2px top + 2px bottom).\n const scrollHeight = element.scrollHeight - 4;\n element.classList.remove(measuringClass);\n if (needsMarginFiller) {\n element.style.marginBottom = previousMargin;\n }\n return scrollHeight;\n }\n _cacheTextareaPlaceholderHeight() {\n if (!this._isViewInited || this._cachedPlaceholderHeight != undefined) {\n return;\n }\n if (!this.placeholder) {\n this._cachedPlaceholderHeight = 0;\n return;\n }\n const value = this._textareaElement.value;\n this._textareaElement.value = this._textareaElement.placeholder;\n this._cachedPlaceholderHeight = this._measureScrollHeight();\n this._textareaElement.value = value;\n }\n ngDoCheck() {\n if (this._platform.isBrowser) {\n this.resizeToFitContent();\n }\n }\n /**\n * Resize the textarea to fit its content.\n * @param force Whether to force a height recalculation. By default the height will be\n * recalculated only if the value changed since the last call.\n */\n resizeToFitContent(force = false) {\n // If autosizing is disabled, just skip everything else\n if (!this._enabled) {\n return;\n }\n this._cacheTextareaLineHeight();\n this._cacheTextareaPlaceholderHeight();\n // If we haven't determined the line-height yet, we know we're still hidden and there's no point\n // in checking the height of the textarea.\n if (!this._cachedLineHeight) {\n return;\n }\n const textarea = this._elementRef.nativeElement;\n const value = textarea.value;\n // Only resize if the value or minRows have changed since these calculations can be expensive.\n if (!force && this._minRows === this._previousMinRows && value === this._previousValue) {\n return;\n }\n const scrollHeight = this._measureScrollHeight();\n const height = Math.max(scrollHeight, this._cachedPlaceholderHeight || 0);\n // Use the scrollHeight to know how large the textarea *would* be if fit its entire value.\n textarea.style.height = `${height}px`;\n this._ngZone.runOutsideAngular(() => {\n if (typeof requestAnimationFrame !== 'undefined') {\n requestAnimationFrame(() => this._scrollToCaretPosition(textarea));\n }\n else {\n setTimeout(() => this._scrollToCaretPosition(textarea));\n }\n });\n this._previousValue = value;\n this._previousMinRows = this._minRows;\n }\n /**\n * Resets the textarea to its original size\n */\n reset() {\n // Do not try to change the textarea, if the initialHeight has not been determined yet\n // This might potentially remove styles when reset() is called before ngAfterViewInit\n if (this._initialHeight !== undefined) {\n this._textareaElement.style.height = this._initialHeight;\n }\n }\n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n _noopInputHandler() {\n // no-op handler that ensures we're running change detection on input events.\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n /**\n * Scrolls a textarea to the caret position. On Firefox resizing the textarea will\n * prevent it from scrolling to the caret position. We need to re-set the selection\n * in order for it to scroll to the proper position.\n */\n _scrollToCaretPosition(textarea) {\n const { selectionStart, selectionEnd } = textarea;\n // IE will throw an \"Unspecified error\" if we try to set the selection range after the\n // element has been removed from the DOM. Assert that the directive hasn't been destroyed\n // between the time we requested the animation frame and when it was executed.\n // Also note that we have to assert that the textarea is focused before we set the\n // selection range. Setting the selection range on a non-focused textarea will cause\n // it to receive focus on IE and Edge.\n if (!this._destroyed.isStopped && this._hasFocus) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n }\n }\n}\nCdkTextareaAutosize.ɵfac = function CdkTextareaAutosize_Factory(t) { return new (t || CdkTextareaAutosize)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Platform), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(DOCUMENT, 8)); };\nCdkTextareaAutosize.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: CdkTextareaAutosize, selectors: [[\"textarea\", \"cdkTextareaAutosize\", \"\"]], hostAttrs: [\"rows\", \"1\", 1, \"cdk-textarea-autosize\"], hostBindings: function CdkTextareaAutosize_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"input\", function CdkTextareaAutosize_input_HostBindingHandler() { return ctx._noopInputHandler(); });\n } }, inputs: { minRows: [\"cdkAutosizeMinRows\", \"minRows\"], maxRows: [\"cdkAutosizeMaxRows\", \"maxRows\"], enabled: [\"cdkTextareaAutosize\", \"enabled\"], placeholder: \"placeholder\" }, exportAs: [\"cdkTextareaAutosize\"] });\nCdkTextareaAutosize.ctorParameters = () => [\n { type: ElementRef },\n { type: Platform },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }\n];\nCdkTextareaAutosize.propDecorators = {\n minRows: [{ type: Input, args: ['cdkAutosizeMinRows',] }],\n maxRows: [{ type: Input, args: ['cdkAutosizeMaxRows',] }],\n enabled: [{ type: Input, args: ['cdkTextareaAutosize',] }],\n placeholder: [{ type: Input }],\n _noopInputHandler: [{ type: HostListener, args: ['input',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(CdkTextareaAutosize, [{\n type: Directive,\n args: [{\n selector: 'textarea[cdkTextareaAutosize]',\n exportAs: 'cdkTextareaAutosize',\n host: {\n 'class': 'cdk-textarea-autosize',\n // Textarea elements that have the directive applied should have a single row by default.\n // Browsers normally show two rows by default and therefore this limits the minRows binding.\n 'rows': '1'\n }\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.Platform }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, { minRows: [{\n type: Input,\n args: ['cdkAutosizeMinRows']\n }], maxRows: [{\n type: Input,\n args: ['cdkAutosizeMaxRows']\n }], enabled: [{\n type: Input,\n args: ['cdkTextareaAutosize']\n }], placeholder: [{\n type: Input\n }], \n // In Ivy the `host` metadata will be merged, whereas in ViewEngine it is overridden. In order\n // to avoid double event listeners, we need to use `HostListener`. Once Ivy is the default, we\n // can move this back into `host`.\n // tslint:disable:no-host-decorator-in-concrete\n _noopInputHandler: [{\n type: HostListener,\n args: ['input']\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass TextFieldModule {\n}\nTextFieldModule.ɵfac = function TextFieldModule_Factory(t) { return new (t || TextFieldModule)(); };\nTextFieldModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: TextFieldModule });\nTextFieldModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[PlatformModule]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TextFieldModule, [{\n type: NgModule,\n args: [{\n declarations: [CdkAutofill, CdkTextareaAutosize],\n imports: [PlatformModule],\n exports: [CdkAutofill, CdkTextareaAutosize]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(TextFieldModule, { declarations: function () { return [CdkAutofill, CdkTextareaAutosize]; }, imports: function () { return [PlatformModule]; }, exports: function () { return [CdkAutofill, CdkTextareaAutosize]; } }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AutofillMonitor, CdkAutofill, CdkTextareaAutosize, TextFieldModule };\n\n","import { Version } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Current version of the Angular Component Development Kit. */\nconst VERSION = new Version('12.2.13');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport { VERSION };\n","import { ElementRef } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Coerces a data-bound value (typically a string) to a boolean. */\nfunction coerceBooleanProperty(value) {\n return value != null && `${value}` !== 'false';\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction coerceNumberProperty(value, fallbackValue = 0) {\n return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n/**\n * Whether the provided value is considered a number.\n * @docs-private\n */\nfunction _isNumberValue(value) {\n // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,\n // and other non-number values as NaN, where Number just uses 0) but it considers the string\n // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.\n return !isNaN(parseFloat(value)) && !isNaN(Number(value));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction coerceArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Coerces a value to a CSS pixel value. */\nfunction coerceCssPixelValue(value) {\n if (value == null) {\n return '';\n }\n return typeof value === 'string' ? value : `${value}px`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Coerces an ElementRef or an Element into an element.\n * Useful for APIs that can accept either a ref or the native element itself.\n */\nfunction coerceElement(elementOrRef) {\n return elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Coerces a value to an array of trimmed non-empty strings.\n * Any input that is not an array, `null` or `undefined` will be turned into a string\n * via `toString()` and subsequently split with the given separator.\n * `null` and `undefined` will result in an empty array.\n * This results in the following outcomes:\n * - `null` -> `[]`\n * - `[null]` -> `[\"null\"]`\n * - `[\"a\", \"b \", \" \"]` -> `[\"a\", \"b\"]`\n * - `[1, [2, 3]]` -> `[\"1\", \"2,3\"]`\n * - `[{ a: 0 }]` -> `[\"[object Object]\"]`\n * - `{ a: 0 }` -> `[\"[object\", \"Object]\"]`\n *\n * Useful for defining CSS classes or table columns.\n * @param value the value to coerce into an array of strings\n * @param separator split-separator if value isn't an array\n */\nfunction coerceStringArray(value, separator = /\\s+/) {\n const result = [];\n if (value != null) {\n const sourceValues = Array.isArray(value) ? value : `${value}`.split(separator);\n for (const sourceValue of sourceValues) {\n const trimmedString = `${sourceValue}`.trim();\n if (trimmedString) {\n result.push(trimmedString);\n }\n }\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport { _isNumberValue, coerceArray, coerceBooleanProperty, coerceCssPixelValue, coerceElement, coerceNumberProperty, coerceStringArray };\n","/**\n * @license Angular v12.2.17\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { InjectionToken, ɵɵdefineInjectable, Injectable, ɵɵinject, Inject, Optional, EventEmitter, ɵfindLocaleData, ɵLocaleDataIndex, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, LOCALE_ID, ɵregisterLocaleData, ɵisListLikeIterable, ɵstringify, Directive, IterableDiffers, KeyValueDiffers, ElementRef, Renderer2, Input, NgModuleRef, ComponentFactoryResolver, ViewContainerRef, TemplateRef, Host, ɵRuntimeError, Attribute, ɵisPromise, ɵisSubscribable, Pipe, ChangeDetectorRef, DEFAULT_CURRENCY_CODE, NgModule, Version } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as ɵngcc0 from '@angular/core';\nlet _DOM = null;\nfunction getDOM() {\n return _DOM;\n}\nfunction setDOM(adapter) {\n _DOM = adapter;\n}\nfunction setRootDomAdapter(adapter) {\n if (!_DOM) {\n _DOM = adapter;\n }\n}\n/* tslint:disable:requireParameterType */\n/**\n * Provides DOM operations in an environment-agnostic way.\n *\n * @security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n */\nclass DomAdapter {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A DI Token representing the main rendering context. In a browser this is the DOM Document.\n *\n * Note: Document might not be available in the Application Context when Application and Rendering\n * Contexts are not the same (e.g. when running the application in a Web Worker).\n *\n * @publicApi\n */\nconst DOCUMENT = new InjectionToken('DocumentToken');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n *\n * `PlatformLocation` encapsulates all calls to DOM APIs, which allows the Router to be\n * platform-agnostic.\n * This means that we can have different implementation of `PlatformLocation` for the different\n * platforms that Angular supports. For example, `@angular/platform-browser` provides an\n * implementation specific to the browser environment, while `@angular/platform-server` provides\n * one suitable for use with server-side rendering.\n *\n * The `PlatformLocation` class is used directly by all implementations of {@link LocationStrategy}\n * when they need to interact with the DOM APIs like pushState, popState, etc.\n *\n * {@link LocationStrategy} in turn is used by the {@link Location} service which is used directly\n * by the {@link Router} in order to navigate between routes. Since all interactions between {@link\n * Router} /\n * {@link Location} / {@link LocationStrategy} and DOM APIs flow through the `PlatformLocation`\n * class, they are all platform-agnostic.\n *\n * @publicApi\n */\nclass PlatformLocation {\n historyGo(relativePosition) {\n throw new Error('Not implemented');\n }\n}\nPlatformLocation.ɵfac = function PlatformLocation_Factory(t) { return new (t || PlatformLocation)(); };\nPlatformLocation.ɵprov = ɵɵdefineInjectable({ factory: useBrowserPlatformLocation, token: PlatformLocation, providedIn: \"platform\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PlatformLocation, [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: useBrowserPlatformLocation\n }]\n }], null, null); })();\nfunction useBrowserPlatformLocation() {\n return ɵɵinject(BrowserPlatformLocation);\n}\n/**\n * @description\n * Indicates when a location is initialized.\n *\n * @publicApi\n */\nconst LOCATION_INITIALIZED = new InjectionToken('Location Initialized');\n/**\n * `PlatformLocation` encapsulates all of the direct calls to platform APIs.\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n */\nclass BrowserPlatformLocation extends PlatformLocation {\n constructor(_doc) {\n super();\n this._doc = _doc;\n this._init();\n }\n // This is moved to its own method so that `MockPlatformLocationStrategy` can overwrite it\n /** @internal */\n _init() {\n this.location = window.location;\n this._history = window.history;\n }\n getBaseHrefFromDOM() {\n return getDOM().getBaseHref(this._doc);\n }\n onPopState(fn) {\n const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n window.addEventListener('popstate', fn, false);\n return () => window.removeEventListener('popstate', fn);\n }\n onHashChange(fn) {\n const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n window.addEventListener('hashchange', fn, false);\n return () => window.removeEventListener('hashchange', fn);\n }\n get href() {\n return this.location.href;\n }\n get protocol() {\n return this.location.protocol;\n }\n get hostname() {\n return this.location.hostname;\n }\n get port() {\n return this.location.port;\n }\n get pathname() {\n return this.location.pathname;\n }\n get search() {\n return this.location.search;\n }\n get hash() {\n return this.location.hash;\n }\n set pathname(newPath) {\n this.location.pathname = newPath;\n }\n pushState(state, title, url) {\n if (supportsState()) {\n this._history.pushState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n replaceState(state, title, url) {\n if (supportsState()) {\n this._history.replaceState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n forward() {\n this._history.forward();\n }\n back() {\n this._history.back();\n }\n historyGo(relativePosition = 0) {\n this._history.go(relativePosition);\n }\n getState() {\n return this._history.state;\n }\n}\nBrowserPlatformLocation.ɵfac = function BrowserPlatformLocation_Factory(t) { return new (t || BrowserPlatformLocation)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nBrowserPlatformLocation.ɵprov = ɵɵdefineInjectable({ factory: createBrowserPlatformLocation, token: BrowserPlatformLocation, providedIn: \"platform\" });\nBrowserPlatformLocation.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BrowserPlatformLocation, [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: createBrowserPlatformLocation\n }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\nfunction supportsState() {\n return !!window.history.pushState;\n}\nfunction createBrowserPlatformLocation() {\n return new BrowserPlatformLocation(ɵɵinject(DOCUMENT));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nfunction joinWithSlash(start, end) {\n if (start.length == 0) {\n return end;\n }\n if (end.length == 0) {\n return start;\n }\n let slashes = 0;\n if (start.endsWith('/')) {\n slashes++;\n }\n if (end.startsWith('/')) {\n slashes++;\n }\n if (slashes == 2) {\n return start + end.substring(1);\n }\n if (slashes == 1) {\n return start + end;\n }\n return start + '/' + end;\n}\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nfunction stripTrailingSlash(url) {\n const match = url.match(/#|\\?|$/);\n const pathEndIdx = match && match.index || url.length;\n const droppedSlashIdx = pathEndIdx - (url[pathEndIdx - 1] === '/' ? 1 : 0);\n return url.slice(0, droppedSlashIdx) + url.slice(pathEndIdx);\n}\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nfunction normalizeQueryParams(params) {\n return params && params[0] !== '?' ? '?' + params : params;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Enables the `Location` service to read route state from the browser's URL.\n * Angular provides two strategies:\n * `HashLocationStrategy` and `PathLocationStrategy`.\n *\n * Applications should use the `Router` or `Location` services to\n * interact with application route state.\n *\n * For instance, `HashLocationStrategy` produces URLs like\n * http://example.com#/foo,\n * and `PathLocationStrategy` produces\n * http://example.com/foo as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @publicApi\n */\nclass LocationStrategy {\n historyGo(relativePosition) {\n throw new Error('Not implemented');\n }\n}\nLocationStrategy.ɵfac = function LocationStrategy_Factory(t) { return new (t || LocationStrategy)(); };\nLocationStrategy.ɵprov = ɵɵdefineInjectable({ factory: provideLocationStrategy, token: LocationStrategy, providedIn: \"root\" });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LocationStrategy, [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: provideLocationStrategy }]\n }], null, null); })();\nfunction provideLocationStrategy(platformLocation) {\n // See #23917\n const location = ɵɵinject(DOCUMENT).location;\n return new PathLocationStrategy(ɵɵinject(PlatformLocation), location && location.origin || '');\n}\n/**\n * A predefined [DI token](guide/glossary#di-token) for the base href\n * to be used with the `PathLocationStrategy`.\n * The base href is the URL prefix that should be preserved when generating\n * and recognizing URLs.\n *\n * @usageNotes\n *\n * The following example shows how to use this token to configure the root app injector\n * with a base href value, so that the DI framework can supply the dependency anywhere in the app.\n *\n * ```typescript\n * import {Component, NgModule} from '@angular/core';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @NgModule({\n * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * @publicApi\n */\nconst APP_BASE_HREF = new InjectionToken('appBaseHref');\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you must provide a {@link APP_BASE_HREF}\n * or add a `` element to the document.\n *\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app/'` and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`. To ensure all relative URIs resolve correctly,\n * the `` and/or `APP_BASE_HREF` should end with a `/`.\n *\n * Similarly, if you add `` to the document and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * Note that when using `PathLocationStrategy`, neither the query nor\n * the fragment in the `` will be preserved, as outlined\n * by the [RFC](https://tools.ietf.org/html/rfc3986#section-5.2.2).\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass PathLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, href) {\n super();\n this._platformLocation = _platformLocation;\n this._removeListenerFns = [];\n if (href == null) {\n href = this._platformLocation.getBaseHrefFromDOM();\n }\n if (href == null) {\n throw new Error(`No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.`);\n }\n this._baseHref = href;\n }\n ngOnDestroy() {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()();\n }\n }\n onPopState(fn) {\n this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n }\n getBaseHref() {\n return this._baseHref;\n }\n prepareExternalUrl(internal) {\n return joinWithSlash(this._baseHref, internal);\n }\n path(includeHash = false) {\n const pathname = this._platformLocation.pathname + normalizeQueryParams(this._platformLocation.search);\n const hash = this._platformLocation.hash;\n return hash && includeHash ? `${pathname}${hash}` : pathname;\n }\n pushState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.pushState(state, title, externalUrl);\n }\n replaceState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.replaceState(state, title, externalUrl);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n historyGo(relativePosition = 0) {\n var _a, _b;\n (_b = (_a = this._platformLocation).historyGo) === null || _b === void 0 ? void 0 : _b.call(_a, relativePosition);\n }\n}\nPathLocationStrategy.ɵfac = function PathLocationStrategy_Factory(t) { return new (t || PathLocationStrategy)(ɵngcc0.ɵɵinject(PlatformLocation), ɵngcc0.ɵɵinject(APP_BASE_HREF, 8)); };\nPathLocationStrategy.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: PathLocationStrategy, factory: PathLocationStrategy.ɵfac });\nPathLocationStrategy.ctorParameters = () => [\n { type: PlatformLocation },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [APP_BASE_HREF,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PathLocationStrategy, [{\n type: Injectable\n }], function () { return [{ type: PlatformLocation }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [hash fragment](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax)\n * of the browser's URL.\n *\n * For instance, if you call `location.go('/foo')`, the browser's URL will become\n * `example.com#/foo`.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/hash_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass HashLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, _baseHref) {\n super();\n this._platformLocation = _platformLocation;\n this._baseHref = '';\n this._removeListenerFns = [];\n if (_baseHref != null) {\n this._baseHref = _baseHref;\n }\n }\n ngOnDestroy() {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()();\n }\n }\n onPopState(fn) {\n this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n }\n getBaseHref() {\n return this._baseHref;\n }\n path(includeHash = false) {\n // the hash value is always prefixed with a `#`\n // and if it is empty then it will stay empty\n let path = this._platformLocation.hash;\n if (path == null)\n path = '#';\n return path.length > 0 ? path.substring(1) : path;\n }\n prepareExternalUrl(internal) {\n const url = joinWithSlash(this._baseHref, internal);\n return url.length > 0 ? ('#' + url) : url;\n }\n pushState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.pushState(state, title, url);\n }\n replaceState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.replaceState(state, title, url);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n historyGo(relativePosition = 0) {\n var _a, _b;\n (_b = (_a = this._platformLocation).historyGo) === null || _b === void 0 ? void 0 : _b.call(_a, relativePosition);\n }\n}\nHashLocationStrategy.ɵfac = function HashLocationStrategy_Factory(t) { return new (t || HashLocationStrategy)(ɵngcc0.ɵɵinject(PlatformLocation), ɵngcc0.ɵɵinject(APP_BASE_HREF, 8)); };\nHashLocationStrategy.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: HashLocationStrategy, factory: HashLocationStrategy.ɵfac });\nHashLocationStrategy.ctorParameters = () => [\n { type: PlatformLocation },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [APP_BASE_HREF,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(HashLocationStrategy, [{\n type: Injectable\n }], function () { return [{ type: PlatformLocation }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n *\n * A service that applications can use to interact with a browser's URL.\n *\n * Depending on the `LocationStrategy` used, `Location` persists\n * to the URL's path or the URL's hash segment.\n *\n * @usageNotes\n *\n * It's better to use the `Router.navigate()` service to trigger route changes. Use\n * `Location` only if you need to interact with or create normalized URLs outside of\n * routing.\n *\n * `Location` is responsible for normalizing the URL against the application's base href.\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\n * trailing slash:\n * - `/my/app/user/123` is normalized\n * - `my/app/user/123` **is not** normalized\n * - `/my/app/user/123/` **is not** normalized\n *\n * ### Example\n *\n * \n *\n * @publicApi\n */\nclass Location {\n constructor(platformStrategy, platformLocation) {\n /** @internal */\n this._subject = new EventEmitter();\n /** @internal */\n this._urlChangeListeners = [];\n this._platformStrategy = platformStrategy;\n const browserBaseHref = this._platformStrategy.getBaseHref();\n this._platformLocation = platformLocation;\n this._baseHref = stripTrailingSlash(_stripIndexHtml(browserBaseHref));\n this._platformStrategy.onPopState((ev) => {\n this._subject.emit({\n 'url': this.path(true),\n 'pop': true,\n 'state': ev.state,\n 'type': ev.type,\n });\n });\n }\n /**\n * Normalizes the URL path for this location.\n *\n * @param includeHash True to include an anchor fragment in the path.\n *\n * @returns The normalized URL path.\n */\n // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n // removed.\n path(includeHash = false) {\n return this.normalize(this._platformStrategy.path(includeHash));\n }\n /**\n * Reports the current state of the location history.\n * @returns The current value of the `history.state` object.\n */\n getState() {\n return this._platformLocation.getState();\n }\n /**\n * Normalizes the given path and compares to the current normalized path.\n *\n * @param path The given URL path.\n * @param query Query parameters.\n *\n * @returns True if the given URL path is equal to the current normalized path, false\n * otherwise.\n */\n isCurrentPathEqualTo(path, query = '') {\n return this.path() == this.normalize(path + normalizeQueryParams(query));\n }\n /**\n * Normalizes a URL path by stripping any trailing slashes.\n *\n * @param url String representing a URL.\n *\n * @returns The normalized URL string.\n */\n normalize(url) {\n return Location.stripTrailingSlash(_stripBaseHref(this._baseHref, _stripIndexHtml(url)));\n }\n /**\n * Normalizes an external URL path.\n * If the given URL doesn't begin with a leading slash (`'/'`), adds one\n * before normalizing. Adds a hash if `HashLocationStrategy` is\n * in use, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n *\n * @param url String representing a URL.\n *\n * @returns A normalized platform-specific URL.\n */\n prepareExternalUrl(url) {\n if (url && url[0] !== '/') {\n url = '/' + url;\n }\n return this._platformStrategy.prepareExternalUrl(url);\n }\n // TODO: rename this method to pushState\n /**\n * Changes the browser's URL to a normalized version of a given URL, and pushes a\n * new item onto the platform's history.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n *\n */\n go(path, query = '', state = null) {\n this._platformStrategy.pushState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Changes the browser's URL to a normalized version of the given URL, and replaces\n * the top item on the platform's history stack.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n */\n replaceState(path, query = '', state = null) {\n this._platformStrategy.replaceState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Navigates forward in the platform's history.\n */\n forward() {\n this._platformStrategy.forward();\n }\n /**\n * Navigates back in the platform's history.\n */\n back() {\n this._platformStrategy.back();\n }\n /**\n * Navigate to a specific page from session history, identified by its relative position to the\n * current page.\n *\n * @param relativePosition Position of the target page in the history relative to the current\n * page.\n * A negative value moves backwards, a positive value moves forwards, e.g. `location.historyGo(2)`\n * moves forward two pages and `location.historyGo(-2)` moves back two pages. When we try to go\n * beyond what's stored in the history session, we stay in the current page. Same behaviour occurs\n * when `relativePosition` equals 0.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/History_API#Moving_to_a_specific_point_in_history\n */\n historyGo(relativePosition = 0) {\n var _a, _b;\n (_b = (_a = this._platformStrategy).historyGo) === null || _b === void 0 ? void 0 : _b.call(_a, relativePosition);\n }\n /**\n * Registers a URL change listener. Use to catch updates performed by the Angular\n * framework that are not detectible through \"popstate\" or \"hashchange\" events.\n *\n * @param fn The change handler function, which take a URL and a location history state.\n */\n onUrlChange(fn) {\n this._urlChangeListeners.push(fn);\n if (!this._urlChangeSubscription) {\n this._urlChangeSubscription = this.subscribe(v => {\n this._notifyUrlChangeListeners(v.url, v.state);\n });\n }\n }\n /** @internal */\n _notifyUrlChangeListeners(url = '', state) {\n this._urlChangeListeners.forEach(fn => fn(url, state));\n }\n /**\n * Subscribes to the platform's `popState` events.\n *\n * Note: `Location.go()` does not trigger the `popState` event in the browser. Use\n * `Location.onUrlChange()` to subscribe to URL changes instead.\n *\n * @param value Event that is triggered when the state history changes.\n * @param exception The exception to throw.\n *\n * @see [onpopstate](https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate)\n *\n * @returns Subscribed events.\n */\n subscribe(onNext, onThrow, onReturn) {\n return this._subject.subscribe({ next: onNext, error: onThrow, complete: onReturn });\n }\n}\nLocation.ɵfac = function Location_Factory(t) { return new (t || Location)(ɵngcc0.ɵɵinject(LocationStrategy), ɵngcc0.ɵɵinject(PlatformLocation)); };\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nLocation.normalizeQueryParams = normalizeQueryParams;\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nLocation.joinWithSlash = joinWithSlash;\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nLocation.stripTrailingSlash = stripTrailingSlash;\nLocation.ɵprov = ɵɵdefineInjectable({ factory: createLocation, token: Location, providedIn: \"root\" });\nLocation.ctorParameters = () => [\n { type: LocationStrategy },\n { type: PlatformLocation }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(Location, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n // See #23917\n useFactory: createLocation\n }]\n }], function () { return [{ type: LocationStrategy }, { type: PlatformLocation }]; }, null); })();\nfunction createLocation() {\n return new Location(ɵɵinject(LocationStrategy), ɵɵinject(PlatformLocation));\n}\nfunction _stripBaseHref(baseHref, url) {\n return baseHref && url.startsWith(baseHref) ? url.substring(baseHref.length) : url;\n}\nfunction _stripIndexHtml(url) {\n return url.replace(/\\/index.html$/, '');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** @internal */\nconst CURRENCIES_EN = { \"ADP\": [undefined, undefined, 0], \"AFN\": [undefined, undefined, 0], \"ALL\": [undefined, undefined, 0], \"AMD\": [undefined, undefined, 2], \"AOA\": [undefined, \"Kz\"], \"ARS\": [undefined, \"$\"], \"AUD\": [\"A$\", \"$\"], \"BAM\": [undefined, \"KM\"], \"BBD\": [undefined, \"$\"], \"BDT\": [undefined, \"৳\"], \"BHD\": [undefined, undefined, 3], \"BIF\": [undefined, undefined, 0], \"BMD\": [undefined, \"$\"], \"BND\": [undefined, \"$\"], \"BOB\": [undefined, \"Bs\"], \"BRL\": [\"R$\"], \"BSD\": [undefined, \"$\"], \"BWP\": [undefined, \"P\"], \"BYN\": [undefined, \"р.\", 2], \"BYR\": [undefined, undefined, 0], \"BZD\": [undefined, \"$\"], \"CAD\": [\"CA$\", \"$\", 2], \"CHF\": [undefined, undefined, 2], \"CLF\": [undefined, undefined, 4], \"CLP\": [undefined, \"$\", 0], \"CNY\": [\"CN¥\", \"¥\"], \"COP\": [undefined, \"$\", 2], \"CRC\": [undefined, \"₡\", 2], \"CUC\": [undefined, \"$\"], \"CUP\": [undefined, \"$\"], \"CZK\": [undefined, \"Kč\", 2], \"DJF\": [undefined, undefined, 0], \"DKK\": [undefined, \"kr\", 2], \"DOP\": [undefined, \"$\"], \"EGP\": [undefined, \"E£\"], \"ESP\": [undefined, \"₧\", 0], \"EUR\": [\"€\"], \"FJD\": [undefined, \"$\"], \"FKP\": [undefined, \"£\"], \"GBP\": [\"£\"], \"GEL\": [undefined, \"₾\"], \"GIP\": [undefined, \"£\"], \"GNF\": [undefined, \"FG\", 0], \"GTQ\": [undefined, \"Q\"], \"GYD\": [undefined, \"$\", 2], \"HKD\": [\"HK$\", \"$\"], \"HNL\": [undefined, \"L\"], \"HRK\": [undefined, \"kn\"], \"HUF\": [undefined, \"Ft\", 2], \"IDR\": [undefined, \"Rp\", 2], \"ILS\": [\"₪\"], \"INR\": [\"₹\"], \"IQD\": [undefined, undefined, 0], \"IRR\": [undefined, undefined, 0], \"ISK\": [undefined, \"kr\", 0], \"ITL\": [undefined, undefined, 0], \"JMD\": [undefined, \"$\"], \"JOD\": [undefined, undefined, 3], \"JPY\": [\"¥\", undefined, 0], \"KHR\": [undefined, \"៛\"], \"KMF\": [undefined, \"CF\", 0], \"KPW\": [undefined, \"₩\", 0], \"KRW\": [\"₩\", undefined, 0], \"KWD\": [undefined, undefined, 3], \"KYD\": [undefined, \"$\"], \"KZT\": [undefined, \"₸\"], \"LAK\": [undefined, \"₭\", 0], \"LBP\": [undefined, \"L£\", 0], \"LKR\": [undefined, \"Rs\"], \"LRD\": [undefined, \"$\"], \"LTL\": [undefined, \"Lt\"], \"LUF\": [undefined, undefined, 0], \"LVL\": [undefined, \"Ls\"], \"LYD\": [undefined, undefined, 3], \"MGA\": [undefined, \"Ar\", 0], \"MGF\": [undefined, undefined, 0], \"MMK\": [undefined, \"K\", 0], \"MNT\": [undefined, \"₮\", 2], \"MRO\": [undefined, undefined, 0], \"MUR\": [undefined, \"Rs\", 2], \"MXN\": [\"MX$\", \"$\"], \"MYR\": [undefined, \"RM\"], \"NAD\": [undefined, \"$\"], \"NGN\": [undefined, \"₦\"], \"NIO\": [undefined, \"C$\"], \"NOK\": [undefined, \"kr\", 2], \"NPR\": [undefined, \"Rs\"], \"NZD\": [\"NZ$\", \"$\"], \"OMR\": [undefined, undefined, 3], \"PHP\": [undefined, \"₱\"], \"PKR\": [undefined, \"Rs\", 2], \"PLN\": [undefined, \"zł\"], \"PYG\": [undefined, \"₲\", 0], \"RON\": [undefined, \"lei\"], \"RSD\": [undefined, undefined, 0], \"RUB\": [undefined, \"₽\"], \"RUR\": [undefined, \"р.\"], \"RWF\": [undefined, \"RF\", 0], \"SBD\": [undefined, \"$\"], \"SEK\": [undefined, \"kr\", 2], \"SGD\": [undefined, \"$\"], \"SHP\": [undefined, \"£\"], \"SLL\": [undefined, undefined, 0], \"SOS\": [undefined, undefined, 0], \"SRD\": [undefined, \"$\"], \"SSP\": [undefined, \"£\"], \"STD\": [undefined, undefined, 0], \"STN\": [undefined, \"Db\"], \"SYP\": [undefined, \"£\", 0], \"THB\": [undefined, \"฿\"], \"TMM\": [undefined, undefined, 0], \"TND\": [undefined, undefined, 3], \"TOP\": [undefined, \"T$\"], \"TRL\": [undefined, undefined, 0], \"TRY\": [undefined, \"₺\"], \"TTD\": [undefined, \"$\"], \"TWD\": [\"NT$\", \"$\", 2], \"TZS\": [undefined, undefined, 2], \"UAH\": [undefined, \"₴\"], \"UGX\": [undefined, undefined, 0], \"USD\": [\"$\"], \"UYI\": [undefined, undefined, 0], \"UYU\": [undefined, \"$\"], \"UYW\": [undefined, undefined, 4], \"UZS\": [undefined, undefined, 2], \"VEF\": [undefined, \"Bs\", 2], \"VND\": [\"₫\", undefined, 0], \"VUV\": [undefined, undefined, 0], \"XAF\": [\"FCFA\", undefined, 0], \"XCD\": [\"EC$\", \"$\"], \"XOF\": [\"CFA\", undefined, 0], \"XPF\": [\"CFPF\", undefined, 0], \"XXX\": [\"¤\"], \"YER\": [undefined, undefined, 0], \"ZAR\": [undefined, \"R\"], \"ZMK\": [undefined, undefined, 0], \"ZMW\": [undefined, \"ZK\"], \"ZWD\": [undefined, undefined, 0] };\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Format styles that can be used to represent numbers.\n * @see `getLocaleNumberFormat()`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar NumberFormatStyle;\n(function (NumberFormatStyle) {\n NumberFormatStyle[NumberFormatStyle[\"Decimal\"] = 0] = \"Decimal\";\n NumberFormatStyle[NumberFormatStyle[\"Percent\"] = 1] = \"Percent\";\n NumberFormatStyle[NumberFormatStyle[\"Currency\"] = 2] = \"Currency\";\n NumberFormatStyle[NumberFormatStyle[\"Scientific\"] = 3] = \"Scientific\";\n})(NumberFormatStyle || (NumberFormatStyle = {}));\n/**\n * Plurality cases used for translating plurals to different languages.\n *\n * @see `NgPlural`\n * @see `NgPluralCase`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar Plural;\n(function (Plural) {\n Plural[Plural[\"Zero\"] = 0] = \"Zero\";\n Plural[Plural[\"One\"] = 1] = \"One\";\n Plural[Plural[\"Two\"] = 2] = \"Two\";\n Plural[Plural[\"Few\"] = 3] = \"Few\";\n Plural[Plural[\"Many\"] = 4] = \"Many\";\n Plural[Plural[\"Other\"] = 5] = \"Other\";\n})(Plural || (Plural = {}));\n/**\n * Context-dependant translation forms for strings.\n * Typically the standalone version is for the nominative form of the word,\n * and the format version is used for the genitive case.\n * @see [CLDR website](http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar FormStyle;\n(function (FormStyle) {\n FormStyle[FormStyle[\"Format\"] = 0] = \"Format\";\n FormStyle[FormStyle[\"Standalone\"] = 1] = \"Standalone\";\n})(FormStyle || (FormStyle = {}));\n/**\n * String widths available for translations.\n * The specific character widths are locale-specific.\n * Examples are given for the word \"Sunday\" in English.\n *\n * @publicApi\n */\nvar TranslationWidth;\n(function (TranslationWidth) {\n /** 1 character for `en-US`. For example: 'S' */\n TranslationWidth[TranslationWidth[\"Narrow\"] = 0] = \"Narrow\";\n /** 3 characters for `en-US`. For example: 'Sun' */\n TranslationWidth[TranslationWidth[\"Abbreviated\"] = 1] = \"Abbreviated\";\n /** Full length for `en-US`. For example: \"Sunday\" */\n TranslationWidth[TranslationWidth[\"Wide\"] = 2] = \"Wide\";\n /** 2 characters for `en-US`, For example: \"Su\" */\n TranslationWidth[TranslationWidth[\"Short\"] = 3] = \"Short\";\n})(TranslationWidth || (TranslationWidth = {}));\n/**\n * String widths available for date-time formats.\n * The specific character widths are locale-specific.\n * Examples are given for `en-US`.\n *\n * @see `getLocaleDateFormat()`\n * @see `getLocaleTimeFormat()`\n * @see `getLocaleDateTimeFormat()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n * @publicApi\n */\nvar FormatWidth;\n(function (FormatWidth) {\n /**\n * For `en-US`, 'M/d/yy, h:mm a'`\n * (Example: `6/15/15, 9:03 AM`)\n */\n FormatWidth[FormatWidth[\"Short\"] = 0] = \"Short\";\n /**\n * For `en-US`, `'MMM d, y, h:mm:ss a'`\n * (Example: `Jun 15, 2015, 9:03:01 AM`)\n */\n FormatWidth[FormatWidth[\"Medium\"] = 1] = \"Medium\";\n /**\n * For `en-US`, `'MMMM d, y, h:mm:ss a z'`\n * (Example: `June 15, 2015 at 9:03:01 AM GMT+1`)\n */\n FormatWidth[FormatWidth[\"Long\"] = 2] = \"Long\";\n /**\n * For `en-US`, `'EEEE, MMMM d, y, h:mm:ss a zzzz'`\n * (Example: `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00`)\n */\n FormatWidth[FormatWidth[\"Full\"] = 3] = \"Full\";\n})(FormatWidth || (FormatWidth = {}));\n/**\n * Symbols that can be used to replace placeholders in number patterns.\n * Examples are based on `en-US` values.\n *\n * @see `getLocaleNumberSymbol()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar NumberSymbol;\n(function (NumberSymbol) {\n /**\n * Decimal separator.\n * For `en-US`, the dot character.\n * Example: 2,345`.`67\n */\n NumberSymbol[NumberSymbol[\"Decimal\"] = 0] = \"Decimal\";\n /**\n * Grouping separator, typically for thousands.\n * For `en-US`, the comma character.\n * Example: 2`,`345.67\n */\n NumberSymbol[NumberSymbol[\"Group\"] = 1] = \"Group\";\n /**\n * List-item separator.\n * Example: \"one, two, and three\"\n */\n NumberSymbol[NumberSymbol[\"List\"] = 2] = \"List\";\n /**\n * Sign for percentage (out of 100).\n * Example: 23.4%\n */\n NumberSymbol[NumberSymbol[\"PercentSign\"] = 3] = \"PercentSign\";\n /**\n * Sign for positive numbers.\n * Example: +23\n */\n NumberSymbol[NumberSymbol[\"PlusSign\"] = 4] = \"PlusSign\";\n /**\n * Sign for negative numbers.\n * Example: -23\n */\n NumberSymbol[NumberSymbol[\"MinusSign\"] = 5] = \"MinusSign\";\n /**\n * Computer notation for exponential value (n times a power of 10).\n * Example: 1.2E3\n */\n NumberSymbol[NumberSymbol[\"Exponential\"] = 6] = \"Exponential\";\n /**\n * Human-readable format of exponential.\n * Example: 1.2x103\n */\n NumberSymbol[NumberSymbol[\"SuperscriptingExponent\"] = 7] = \"SuperscriptingExponent\";\n /**\n * Sign for permille (out of 1000).\n * Example: 23.4‰\n */\n NumberSymbol[NumberSymbol[\"PerMille\"] = 8] = \"PerMille\";\n /**\n * Infinity, can be used with plus and minus.\n * Example: ∞, +∞, -∞\n */\n NumberSymbol[NumberSymbol[\"Infinity\"] = 9] = \"Infinity\";\n /**\n * Not a number.\n * Example: NaN\n */\n NumberSymbol[NumberSymbol[\"NaN\"] = 10] = \"NaN\";\n /**\n * Symbol used between time units.\n * Example: 10:52\n */\n NumberSymbol[NumberSymbol[\"TimeSeparator\"] = 11] = \"TimeSeparator\";\n /**\n * Decimal separator for currency values (fallback to `Decimal`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyDecimal\"] = 12] = \"CurrencyDecimal\";\n /**\n * Group separator for currency values (fallback to `Group`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyGroup\"] = 13] = \"CurrencyGroup\";\n})(NumberSymbol || (NumberSymbol = {}));\n/**\n * The value for each day of the week, based on the `en-US` locale\n *\n * @publicApi\n */\nvar WeekDay;\n(function (WeekDay) {\n WeekDay[WeekDay[\"Sunday\"] = 0] = \"Sunday\";\n WeekDay[WeekDay[\"Monday\"] = 1] = \"Monday\";\n WeekDay[WeekDay[\"Tuesday\"] = 2] = \"Tuesday\";\n WeekDay[WeekDay[\"Wednesday\"] = 3] = \"Wednesday\";\n WeekDay[WeekDay[\"Thursday\"] = 4] = \"Thursday\";\n WeekDay[WeekDay[\"Friday\"] = 5] = \"Friday\";\n WeekDay[WeekDay[\"Saturday\"] = 6] = \"Saturday\";\n})(WeekDay || (WeekDay = {}));\n/**\n * Retrieves the locale ID from the currently loaded locale.\n * The loaded locale could be, for example, a global one rather than a regional one.\n * @param locale A locale code, such as `fr-FR`.\n * @returns The locale code. For example, `fr`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleId(locale) {\n return ɵfindLocaleData(locale)[ɵLocaleDataIndex.LocaleId];\n}\n/**\n * Retrieves day period strings for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized period strings. For example, `[AM, PM]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const amPmData = [\n data[ɵLocaleDataIndex.DayPeriodsFormat], data[ɵLocaleDataIndex.DayPeriodsStandalone]\n ];\n const amPm = getLastDefinedValue(amPmData, formStyle);\n return getLastDefinedValue(amPm, width);\n}\n/**\n * Retrieves days of the week for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example,`[Sunday, Monday, ... Saturday]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDayNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const daysData = [data[ɵLocaleDataIndex.DaysFormat], data[ɵLocaleDataIndex.DaysStandalone]];\n const days = getLastDefinedValue(daysData, formStyle);\n return getLastDefinedValue(days, width);\n}\n/**\n * Retrieves months of the year for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example, `[January, February, ...]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleMonthNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const monthsData = [data[ɵLocaleDataIndex.MonthsFormat], data[ɵLocaleDataIndex.MonthsStandalone]];\n const months = getLastDefinedValue(monthsData, formStyle);\n return getLastDefinedValue(months, width);\n}\n/**\n * Retrieves Gregorian-calendar eras for the given locale.\n * @param locale A locale code for the locale format rules to use.\n * @param width The required character width.\n\n * @returns An array of localized era strings.\n * For example, `[AD, BC]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleEraNames(locale, width) {\n const data = ɵfindLocaleData(locale);\n const erasData = data[ɵLocaleDataIndex.Eras];\n return getLastDefinedValue(erasData, width);\n}\n/**\n * Retrieves the first day of the week for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns A day index number, using the 0-based week-day index for `en-US`\n * (Sunday = 0, Monday = 1, ...).\n * For example, for `fr-FR`, returns 1 to indicate that the first day is Monday.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleFirstDayOfWeek(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.FirstDayOfWeek];\n}\n/**\n * Range of week days that are considered the week-end for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The range of day values, `[startDay, endDay]`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleWeekEndRange(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.WeekendRange];\n}\n/**\n * Retrieves a localized date-value formating string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formating string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDateFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.DateFormat], width);\n}\n/**\n * Retrieves a localized time-value formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n\n * @publicApi\n */\nfunction getLocaleTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.TimeFormat], width);\n}\n/**\n * Retrieves a localized date-time formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDateTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n const dateTimeFormatData = data[ɵLocaleDataIndex.DateTimeFormat];\n return getLastDefinedValue(dateTimeFormatData, width);\n}\n/**\n * Retrieves a localized number symbol that can be used to replace placeholders in number formats.\n * @param locale The locale code.\n * @param symbol The symbol to localize.\n * @returns The character for the localized symbol.\n * @see `NumberSymbol`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleNumberSymbol(locale, symbol) {\n const data = ɵfindLocaleData(locale);\n const res = data[ɵLocaleDataIndex.NumberSymbols][symbol];\n if (typeof res === 'undefined') {\n if (symbol === NumberSymbol.CurrencyDecimal) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Decimal];\n }\n else if (symbol === NumberSymbol.CurrencyGroup) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Group];\n }\n }\n return res;\n}\n/**\n * Retrieves a number format for a given locale.\n *\n * Numbers are formatted using patterns, like `#,###.00`. For example, the pattern `#,###.00`\n * when used to format the number 12345.678 could result in \"12'345,678\". That would happen if the\n * grouping separator for your language is an apostrophe, and the decimal separator is a comma.\n *\n * Important: The characters `.` `,` `0` `#` (and others below) are special placeholders\n * that stand for the decimal separator, and so on, and are NOT real characters.\n * You must NOT \"translate\" the placeholders. For example, don't change `.` to `,` even though in\n * your language the decimal point is written with a comma. The symbols should be replaced by the\n * local equivalents, using the appropriate `NumberSymbol` for your language.\n *\n * Here are the special characters used in number patterns:\n *\n * | Symbol | Meaning |\n * |--------|---------|\n * | . | Replaced automatically by the character used for the decimal point. |\n * | , | Replaced by the \"grouping\" (thousands) separator. |\n * | 0 | Replaced by a digit (or zero if there aren't enough digits). |\n * | # | Replaced by a digit (or nothing if there aren't enough). |\n * | ¤ | Replaced by a currency symbol, such as $ or USD. |\n * | % | Marks a percent format. The % symbol may change position, but must be retained. |\n * | E | Marks a scientific format. The E symbol may change position, but must be retained. |\n * | ' | Special characters used as literal characters are quoted with ASCII single quotes. |\n *\n * @param locale A locale code for the locale format rules to use.\n * @param type The type of numeric value to be formatted (such as `Decimal` or `Currency`.)\n * @returns The localized format string.\n * @see `NumberFormatStyle`\n * @see [CLDR website](http://cldr.unicode.org/translation/number-patterns)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleNumberFormat(locale, type) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.NumberFormats][type];\n}\n/**\n * Retrieves the symbol used to represent the currency for the main country\n * corresponding to a given locale. For example, '$' for `en-US`.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The localized symbol character,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleCurrencySymbol(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencySymbol] || null;\n}\n/**\n * Retrieves the name of the currency for the main country corresponding\n * to a given locale. For example, 'US Dollar' for `en-US`.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency name,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleCurrencyName(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencyName] || null;\n}\n/**\n * Retrieves the default currency code for the given locale.\n *\n * The default is defined as the first currency which is still in use.\n *\n * @param locale The code of the locale whose currency code we want.\n * @returns The code of the default currency for the given locale.\n *\n * @publicApi\n */\nfunction getLocaleCurrencyCode(locale) {\n return ɵgetLocaleCurrencyCode(locale);\n}\n/**\n * Retrieves the currency values for a given locale.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency values.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n */\nfunction getLocaleCurrencies(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Currencies];\n}\n/**\n * @alias core/ɵgetLocalePluralCase\n * @publicApi\n */\nconst getLocalePluralCase = ɵgetLocalePluralCase;\nfunction checkFullData(data) {\n if (!data[ɵLocaleDataIndex.ExtraData]) {\n throw new Error(`Missing extra locale data for the locale \"${data[ɵLocaleDataIndex\n .LocaleId]}\". Use \"registerLocaleData\" to load new data. See the \"I18n guide\" on angular.io to know more.`);\n }\n}\n/**\n * Retrieves locale-specific rules used to determine which day period to use\n * when more than one period is defined for a locale.\n *\n * There is a rule for each defined day period. The\n * first rule is applied to the first day period and so on.\n * Fall back to AM/PM when no rules are available.\n *\n * A rule can specify a period as time range, or as a single time value.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The rules for the locale, a single time value or array of *from-time, to-time*,\n * or null if no periods are available.\n *\n * @see `getLocaleExtraDayPeriods()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriodRules(locale) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const rules = data[ɵLocaleDataIndex.ExtraData][2 /* ExtraDayPeriodsRules */] || [];\n return rules.map((rule) => {\n if (typeof rule === 'string') {\n return extractTime(rule);\n }\n return [extractTime(rule[0]), extractTime(rule[1])];\n });\n}\n/**\n * Retrieves locale-specific day periods, which indicate roughly how a day is broken up\n * in different languages.\n * For example, for `en-US`, periods are morning, noon, afternoon, evening, and midnight.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns The translated day-period strings.\n * @see `getLocaleExtraDayPeriodRules()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const dayPeriodsData = [\n data[ɵLocaleDataIndex.ExtraData][0 /* ExtraDayPeriodFormats */],\n data[ɵLocaleDataIndex.ExtraData][1 /* ExtraDayPeriodStandalone */]\n ];\n const dayPeriods = getLastDefinedValue(dayPeriodsData, formStyle) || [];\n return getLastDefinedValue(dayPeriods, width) || [];\n}\n/**\n * Retrieves the writing direction of a specified locale\n * @param locale A locale code for the locale format rules to use.\n * @publicApi\n * @returns 'rtl' or 'ltr'\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n */\nfunction getLocaleDirection(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Directionality];\n}\n/**\n * Retrieves the first value that is defined in an array, going backwards from an index position.\n *\n * To avoid repeating the same data (as when the \"format\" and \"standalone\" forms are the same)\n * add the first value to the locale data arrays, and add other values only if they are different.\n *\n * @param data The data array to retrieve from.\n * @param index A 0-based index into the array to start from.\n * @returns The value immediately before the given index position.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLastDefinedValue(data, index) {\n for (let i = index; i > -1; i--) {\n if (typeof data[i] !== 'undefined') {\n return data[i];\n }\n }\n throw new Error('Locale data API: locale data undefined');\n}\n/**\n * Extracts the hours and minutes from a string like \"15:45\"\n */\nfunction extractTime(time) {\n const [h, m] = time.split(':');\n return { hours: +h, minutes: +m };\n}\n/**\n * Retrieves the currency symbol for a given currency code.\n *\n * For example, for the default `en-US` locale, the code `USD` can\n * be represented by the narrow symbol `$` or the wide symbol `US$`.\n *\n * @param code The currency code.\n * @param format The format, `wide` or `narrow`.\n * @param locale A locale code for the locale format rules to use.\n *\n * @returns The symbol, or the currency code if no symbol is available.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getCurrencySymbol(code, format, locale = 'en') {\n const currency = getLocaleCurrencies(locale)[code] || CURRENCIES_EN[code] || [];\n const symbolNarrow = currency[1 /* SymbolNarrow */];\n if (format === 'narrow' && typeof symbolNarrow === 'string') {\n return symbolNarrow;\n }\n return currency[0 /* Symbol */] || code;\n}\n// Most currencies have cents, that's why the default is 2\nconst DEFAULT_NB_OF_CURRENCY_DIGITS = 2;\n/**\n * Reports the number of decimal digits for a given currency.\n * The value depends upon the presence of cents in that particular currency.\n *\n * @param code The currency code.\n * @returns The number of decimal digits, typically 0 or 2.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getNumberOfCurrencyDigits(code) {\n let digits;\n const currency = CURRENCIES_EN[code];\n if (currency) {\n digits = currency[2 /* NbOfDigits */];\n }\n return typeof digits === 'number' ? digits : DEFAULT_NB_OF_CURRENCY_DIGITS;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ISO8601_DATE_REGEX = /^(\\d{4})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n// 1 2 3 4 5 6 7 8 9 10 11\nconst NAMED_FORMATS = {};\nconst DATE_FORMATS_SPLIT = /((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\\s\\S]*)/;\nvar ZoneWidth;\n(function (ZoneWidth) {\n ZoneWidth[ZoneWidth[\"Short\"] = 0] = \"Short\";\n ZoneWidth[ZoneWidth[\"ShortGMT\"] = 1] = \"ShortGMT\";\n ZoneWidth[ZoneWidth[\"Long\"] = 2] = \"Long\";\n ZoneWidth[ZoneWidth[\"Extended\"] = 3] = \"Extended\";\n})(ZoneWidth || (ZoneWidth = {}));\nvar DateType;\n(function (DateType) {\n DateType[DateType[\"FullYear\"] = 0] = \"FullYear\";\n DateType[DateType[\"Month\"] = 1] = \"Month\";\n DateType[DateType[\"Date\"] = 2] = \"Date\";\n DateType[DateType[\"Hours\"] = 3] = \"Hours\";\n DateType[DateType[\"Minutes\"] = 4] = \"Minutes\";\n DateType[DateType[\"Seconds\"] = 5] = \"Seconds\";\n DateType[DateType[\"FractionalSeconds\"] = 6] = \"FractionalSeconds\";\n DateType[DateType[\"Day\"] = 7] = \"Day\";\n})(DateType || (DateType = {}));\nvar TranslationType;\n(function (TranslationType) {\n TranslationType[TranslationType[\"DayPeriods\"] = 0] = \"DayPeriods\";\n TranslationType[TranslationType[\"Days\"] = 1] = \"Days\";\n TranslationType[TranslationType[\"Months\"] = 2] = \"Months\";\n TranslationType[TranslationType[\"Eras\"] = 3] = \"Eras\";\n})(TranslationType || (TranslationType = {}));\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date according to locale rules.\n *\n * @param value The date to format, as a Date, or a number (milliseconds since UTC epoch)\n * or an [ISO date-time string](https://www.w3.org/TR/NOTE-datetime).\n * @param format The date-time components to include. See `DatePipe` for details.\n * @param locale A locale code for the locale format rules to use.\n * @param timezone The time zone. A time zone offset from GMT (such as `'+0430'`),\n * or a standard UTC/GMT or continental US time zone abbreviation.\n * If not specified, uses host system settings.\n *\n * @returns The formatted date string.\n *\n * @see `DatePipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatDate(value, format, locale, timezone) {\n let date = toDate(value);\n const namedFormat = getNamedFormat(locale, format);\n format = namedFormat || format;\n let parts = [];\n let match;\n while (format) {\n match = DATE_FORMATS_SPLIT.exec(format);\n if (match) {\n parts = parts.concat(match.slice(1));\n const part = parts.pop();\n if (!part) {\n break;\n }\n format = part;\n }\n else {\n parts.push(format);\n break;\n }\n }\n let dateTimezoneOffset = date.getTimezoneOffset();\n if (timezone) {\n dateTimezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n date = convertTimezoneToLocal(date, timezone, true);\n }\n let text = '';\n parts.forEach(value => {\n const dateFormatter = getDateFormatter(value);\n text += dateFormatter ?\n dateFormatter(date, locale, dateTimezoneOffset) :\n value === '\\'\\'' ? '\\'' : value.replace(/(^'|'$)/g, '').replace(/''/g, '\\'');\n });\n return text;\n}\n/**\n * Create a new Date object with the given date value, and the time set to midnight.\n *\n * We cannot use `new Date(year, month, date)` because it maps years between 0 and 99 to 1900-1999.\n * See: https://github.com/angular/angular/issues/40377\n *\n * Note that this function returns a Date object whose time is midnight in the current locale's\n * timezone. In the future we might want to change this to be midnight in UTC, but this would be a\n * considerable breaking change.\n */\nfunction createDate(year, month, date) {\n // The `newDate` is set to midnight (UTC) on January 1st 1970.\n // - In PST this will be December 31st 1969 at 4pm.\n // - In GMT this will be January 1st 1970 at 1am.\n // Note that they even have different years, dates and months!\n const newDate = new Date(0);\n // `setFullYear()` allows years like 0001 to be set correctly. This function does not\n // change the internal time of the date.\n // Consider calling `setFullYear(2019, 8, 20)` (September 20, 2019).\n // - In PST this will now be September 20, 2019 at 4pm\n // - In GMT this will now be September 20, 2019 at 1am\n newDate.setFullYear(year, month, date);\n // We want the final date to be at local midnight, so we reset the time.\n // - In PST this will now be September 20, 2019 at 12am\n // - In GMT this will now be September 20, 2019 at 12am\n newDate.setHours(0, 0, 0);\n return newDate;\n}\nfunction getNamedFormat(locale, format) {\n const localeId = getLocaleId(locale);\n NAMED_FORMATS[localeId] = NAMED_FORMATS[localeId] || {};\n if (NAMED_FORMATS[localeId][format]) {\n return NAMED_FORMATS[localeId][format];\n }\n let formatValue = '';\n switch (format) {\n case 'shortDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Short);\n break;\n case 'mediumDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Medium);\n break;\n case 'longDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Long);\n break;\n case 'fullDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Full);\n break;\n case 'shortTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Short);\n break;\n case 'mediumTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Medium);\n break;\n case 'longTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Long);\n break;\n case 'fullTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Full);\n break;\n case 'short':\n const shortTime = getNamedFormat(locale, 'shortTime');\n const shortDate = getNamedFormat(locale, 'shortDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Short), [shortTime, shortDate]);\n break;\n case 'medium':\n const mediumTime = getNamedFormat(locale, 'mediumTime');\n const mediumDate = getNamedFormat(locale, 'mediumDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Medium), [mediumTime, mediumDate]);\n break;\n case 'long':\n const longTime = getNamedFormat(locale, 'longTime');\n const longDate = getNamedFormat(locale, 'longDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Long), [longTime, longDate]);\n break;\n case 'full':\n const fullTime = getNamedFormat(locale, 'fullTime');\n const fullDate = getNamedFormat(locale, 'fullDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Full), [fullTime, fullDate]);\n break;\n }\n if (formatValue) {\n NAMED_FORMATS[localeId][format] = formatValue;\n }\n return formatValue;\n}\nfunction formatDateTime(str, opt_values) {\n if (opt_values) {\n str = str.replace(/\\{([^}]+)}/g, function (match, key) {\n return (opt_values != null && key in opt_values) ? opt_values[key] : match;\n });\n }\n return str;\n}\nfunction padNumber(num, digits, minusSign = '-', trim, negWrap) {\n let neg = '';\n if (num < 0 || (negWrap && num <= 0)) {\n if (negWrap) {\n num = -num + 1;\n }\n else {\n num = -num;\n neg = minusSign;\n }\n }\n let strNum = String(num);\n while (strNum.length < digits) {\n strNum = '0' + strNum;\n }\n if (trim) {\n strNum = strNum.substr(strNum.length - digits);\n }\n return neg + strNum;\n}\nfunction formatFractionalSeconds(milliseconds, digits) {\n const strMs = padNumber(milliseconds, 3);\n return strMs.substr(0, digits);\n}\n/**\n * Returns a date formatter that transforms a date into its locale digit representation\n */\nfunction dateGetter(name, size, offset = 0, trim = false, negWrap = false) {\n return function (date, locale) {\n let part = getDatePart(name, date);\n if (offset > 0 || part > -offset) {\n part += offset;\n }\n if (name === DateType.Hours) {\n if (part === 0 && offset === -12) {\n part = 12;\n }\n }\n else if (name === DateType.FractionalSeconds) {\n return formatFractionalSeconds(part, size);\n }\n const localeMinus = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n return padNumber(part, size, localeMinus, trim, negWrap);\n };\n}\nfunction getDatePart(part, date) {\n switch (part) {\n case DateType.FullYear:\n return date.getFullYear();\n case DateType.Month:\n return date.getMonth();\n case DateType.Date:\n return date.getDate();\n case DateType.Hours:\n return date.getHours();\n case DateType.Minutes:\n return date.getMinutes();\n case DateType.Seconds:\n return date.getSeconds();\n case DateType.FractionalSeconds:\n return date.getMilliseconds();\n case DateType.Day:\n return date.getDay();\n default:\n throw new Error(`Unknown DateType value \"${part}\".`);\n }\n}\n/**\n * Returns a date formatter that transforms a date into its locale string representation\n */\nfunction dateStrGetter(name, width, form = FormStyle.Format, extended = false) {\n return function (date, locale) {\n return getDateTranslation(date, locale, name, width, form, extended);\n };\n}\n/**\n * Returns the locale translation of a date for a given form, type and width\n */\nfunction getDateTranslation(date, locale, name, width, form, extended) {\n switch (name) {\n case TranslationType.Months:\n return getLocaleMonthNames(locale, form, width)[date.getMonth()];\n case TranslationType.Days:\n return getLocaleDayNames(locale, form, width)[date.getDay()];\n case TranslationType.DayPeriods:\n const currentHours = date.getHours();\n const currentMinutes = date.getMinutes();\n if (extended) {\n const rules = getLocaleExtraDayPeriodRules(locale);\n const dayPeriods = getLocaleExtraDayPeriods(locale, form, width);\n const index = rules.findIndex(rule => {\n if (Array.isArray(rule)) {\n // morning, afternoon, evening, night\n const [from, to] = rule;\n const afterFrom = currentHours >= from.hours && currentMinutes >= from.minutes;\n const beforeTo = (currentHours < to.hours ||\n (currentHours === to.hours && currentMinutes < to.minutes));\n // We must account for normal rules that span a period during the day (e.g. 6am-9am)\n // where `from` is less (earlier) than `to`. But also rules that span midnight (e.g.\n // 10pm - 5am) where `from` is greater (later!) than `to`.\n //\n // In the first case the current time must be BOTH after `from` AND before `to`\n // (e.g. 8am is after 6am AND before 10am).\n //\n // In the second case the current time must be EITHER after `from` OR before `to`\n // (e.g. 4am is before 5am but not after 10pm; and 11pm is not before 5am but it is\n // after 10pm).\n if (from.hours < to.hours) {\n if (afterFrom && beforeTo) {\n return true;\n }\n }\n else if (afterFrom || beforeTo) {\n return true;\n }\n }\n else { // noon or midnight\n if (rule.hours === currentHours && rule.minutes === currentMinutes) {\n return true;\n }\n }\n return false;\n });\n if (index !== -1) {\n return dayPeriods[index];\n }\n }\n // if no rules for the day periods, we use am/pm by default\n return getLocaleDayPeriods(locale, form, width)[currentHours < 12 ? 0 : 1];\n case TranslationType.Eras:\n return getLocaleEraNames(locale, width)[date.getFullYear() <= 0 ? 0 : 1];\n default:\n // This default case is not needed by TypeScript compiler, as the switch is exhaustive.\n // However Closure Compiler does not understand that and reports an error in typed mode.\n // The `throw new Error` below works around the problem, and the unexpected: never variable\n // makes sure tsc still checks this code is unreachable.\n const unexpected = name;\n throw new Error(`unexpected translation type ${unexpected}`);\n }\n}\n/**\n * Returns a date formatter that transforms a date and an offset into a timezone with ISO8601 or\n * GMT format depending on the width (eg: short = +0430, short:GMT = GMT+4, long = GMT+04:30,\n * extended = +04:30)\n */\nfunction timeZoneGetter(width) {\n return function (date, locale, offset) {\n const zone = -1 * offset;\n const minusSign = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n const hours = zone > 0 ? Math.floor(zone / 60) : Math.ceil(zone / 60);\n switch (width) {\n case ZoneWidth.Short:\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.ShortGMT:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 1, minusSign);\n case ZoneWidth.Long:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.Extended:\n if (offset === 0) {\n return 'Z';\n }\n else {\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n }\n default:\n throw new Error(`Unknown zone width \"${width}\"`);\n }\n };\n}\nconst JANUARY = 0;\nconst THURSDAY = 4;\nfunction getFirstThursdayOfYear(year) {\n const firstDayOfYear = createDate(year, JANUARY, 1).getDay();\n return createDate(year, 0, 1 + ((firstDayOfYear <= THURSDAY) ? THURSDAY : THURSDAY + 7) - firstDayOfYear);\n}\nfunction getThursdayThisWeek(datetime) {\n return createDate(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() + (THURSDAY - datetime.getDay()));\n}\nfunction weekGetter(size, monthBased = false) {\n return function (date, locale) {\n let result;\n if (monthBased) {\n const nbDaysBefore1stDayOfMonth = new Date(date.getFullYear(), date.getMonth(), 1).getDay() - 1;\n const today = date.getDate();\n result = 1 + Math.floor((today + nbDaysBefore1stDayOfMonth) / 7);\n }\n else {\n const thisThurs = getThursdayThisWeek(date);\n // Some days of a year are part of next year according to ISO 8601.\n // Compute the firstThurs from the year of this week's Thursday\n const firstThurs = getFirstThursdayOfYear(thisThurs.getFullYear());\n const diff = thisThurs.getTime() - firstThurs.getTime();\n result = 1 + Math.round(diff / 6.048e8); // 6.048e8 ms per week\n }\n return padNumber(result, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n };\n}\n/**\n * Returns a date formatter that provides the week-numbering year for the input date.\n */\nfunction weekNumberingYearGetter(size, trim = false) {\n return function (date, locale) {\n const thisThurs = getThursdayThisWeek(date);\n const weekNumberingYear = thisThurs.getFullYear();\n return padNumber(weekNumberingYear, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign), trim);\n };\n}\nconst DATE_FORMATS = {};\n// Based on CLDR formats:\n// See complete list: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n// See also explanations: http://cldr.unicode.org/translation/date-time\n// TODO(ocombe): support all missing cldr formats: U, Q, D, F, e, j, J, C, A, v, V, X, x\nfunction getDateFormatter(format) {\n if (DATE_FORMATS[format]) {\n return DATE_FORMATS[format];\n }\n let formatter;\n switch (format) {\n // Era name (AD/BC)\n case 'G':\n case 'GG':\n case 'GGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Abbreviated);\n break;\n case 'GGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Wide);\n break;\n case 'GGGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Narrow);\n break;\n // 1 digit representation of the year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'y':\n formatter = dateGetter(DateType.FullYear, 1, 0, false, true);\n break;\n // 2 digit representation of the year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yy':\n formatter = dateGetter(DateType.FullYear, 2, 0, true, true);\n break;\n // 3 digit representation of the year, padded (000-999). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yyy':\n formatter = dateGetter(DateType.FullYear, 3, 0, false, true);\n break;\n // 4 digit representation of the year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'yyyy':\n formatter = dateGetter(DateType.FullYear, 4, 0, false, true);\n break;\n // 1 digit representation of the week-numbering year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'Y':\n formatter = weekNumberingYearGetter(1);\n break;\n // 2 digit representation of the week-numbering year, padded (00-99). (e.g. AD 2001 => 01, AD\n // 2010 => 10)\n case 'YY':\n formatter = weekNumberingYearGetter(2, true);\n break;\n // 3 digit representation of the week-numbering year, padded (000-999). (e.g. AD 1 => 001, AD\n // 2010 => 2010)\n case 'YYY':\n formatter = weekNumberingYearGetter(3);\n break;\n // 4 digit representation of the week-numbering year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'YYYY':\n formatter = weekNumberingYearGetter(4);\n break;\n // Month of the year (1-12), numeric\n case 'M':\n case 'L':\n formatter = dateGetter(DateType.Month, 1, 1);\n break;\n case 'MM':\n case 'LL':\n formatter = dateGetter(DateType.Month, 2, 1);\n break;\n // Month of the year (January, ...), string, format\n case 'MMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated);\n break;\n case 'MMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Wide);\n break;\n case 'MMMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Narrow);\n break;\n // Month of the year (January, ...), string, standalone\n case 'LLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'LLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'LLLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n // Week of the year (1, ... 52)\n case 'w':\n formatter = weekGetter(1);\n break;\n case 'ww':\n formatter = weekGetter(2);\n break;\n // Week of the month (1, ...)\n case 'W':\n formatter = weekGetter(1, true);\n break;\n // Day of the month (1-31)\n case 'd':\n formatter = dateGetter(DateType.Date, 1);\n break;\n case 'dd':\n formatter = dateGetter(DateType.Date, 2);\n break;\n // Day of the Week StandAlone (1, 1, Mon, Monday, M, Mo)\n case 'c':\n case 'cc':\n formatter = dateGetter(DateType.Day, 1);\n break;\n case 'ccc':\n formatter =\n dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'cccc':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'ccccc':\n formatter =\n dateStrGetter(TranslationType.Days, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n case 'cccccc':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short, FormStyle.Standalone);\n break;\n // Day of the Week\n case 'E':\n case 'EE':\n case 'EEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated);\n break;\n case 'EEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide);\n break;\n case 'EEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Narrow);\n break;\n case 'EEEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short);\n break;\n // Generic period of the day (am-pm)\n case 'a':\n case 'aa':\n case 'aaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated);\n break;\n case 'aaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide);\n break;\n case 'aaaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow);\n break;\n // Extended period of the day (midnight, at night, ...), standalone\n case 'b':\n case 'bb':\n case 'bbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Standalone, true);\n break;\n case 'bbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Standalone, true);\n break;\n case 'bbbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Standalone, true);\n break;\n // Extended period of the day (midnight, night, ...), standalone\n case 'B':\n case 'BB':\n case 'BBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Format, true);\n break;\n case 'BBBB':\n formatter =\n dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Format, true);\n break;\n case 'BBBBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Format, true);\n break;\n // Hour in AM/PM, (1-12)\n case 'h':\n formatter = dateGetter(DateType.Hours, 1, -12);\n break;\n case 'hh':\n formatter = dateGetter(DateType.Hours, 2, -12);\n break;\n // Hour of the day (0-23)\n case 'H':\n formatter = dateGetter(DateType.Hours, 1);\n break;\n // Hour in day, padded (00-23)\n case 'HH':\n formatter = dateGetter(DateType.Hours, 2);\n break;\n // Minute of the hour (0-59)\n case 'm':\n formatter = dateGetter(DateType.Minutes, 1);\n break;\n case 'mm':\n formatter = dateGetter(DateType.Minutes, 2);\n break;\n // Second of the minute (0-59)\n case 's':\n formatter = dateGetter(DateType.Seconds, 1);\n break;\n case 'ss':\n formatter = dateGetter(DateType.Seconds, 2);\n break;\n // Fractional second\n case 'S':\n formatter = dateGetter(DateType.FractionalSeconds, 1);\n break;\n case 'SS':\n formatter = dateGetter(DateType.FractionalSeconds, 2);\n break;\n case 'SSS':\n formatter = dateGetter(DateType.FractionalSeconds, 3);\n break;\n // Timezone ISO8601 short format (-0430)\n case 'Z':\n case 'ZZ':\n case 'ZZZ':\n formatter = timeZoneGetter(ZoneWidth.Short);\n break;\n // Timezone ISO8601 extended format (-04:30)\n case 'ZZZZZ':\n formatter = timeZoneGetter(ZoneWidth.Extended);\n break;\n // Timezone GMT short format (GMT+4)\n case 'O':\n case 'OO':\n case 'OOO':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'z':\n case 'zz':\n case 'zzz':\n formatter = timeZoneGetter(ZoneWidth.ShortGMT);\n break;\n // Timezone GMT long format (GMT+0430)\n case 'OOOO':\n case 'ZZZZ':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'zzzz':\n formatter = timeZoneGetter(ZoneWidth.Long);\n break;\n default:\n return null;\n }\n DATE_FORMATS[format] = formatter;\n return formatter;\n}\nfunction timezoneToOffset(timezone, fallback) {\n // Support: IE 11 only, Edge 13-15+\n // IE/Edge do not \"understand\" colon (`:`) in timezone\n timezone = timezone.replace(/:/g, '');\n const requestedTimezoneOffset = Date.parse('Jan 01, 1970 00:00:00 ' + timezone) / 60000;\n return isNaN(requestedTimezoneOffset) ? fallback : requestedTimezoneOffset;\n}\nfunction addDateMinutes(date, minutes) {\n date = new Date(date.getTime());\n date.setMinutes(date.getMinutes() + minutes);\n return date;\n}\nfunction convertTimezoneToLocal(date, timezone, reverse) {\n const reverseValue = reverse ? -1 : 1;\n const dateTimezoneOffset = date.getTimezoneOffset();\n const timezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n return addDateMinutes(date, reverseValue * (timezoneOffset - dateTimezoneOffset));\n}\n/**\n * Converts a value to date.\n *\n * Supported input formats:\n * - `Date`\n * - number: timestamp\n * - string: numeric (e.g. \"1234\"), ISO and date strings in a format supported by\n * [Date.parse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\n * Note: ISO strings without time return a date without timeoffset.\n *\n * Throws if unable to convert to a date.\n */\nfunction toDate(value) {\n if (isDate(value)) {\n return value;\n }\n if (typeof value === 'number' && !isNaN(value)) {\n return new Date(value);\n }\n if (typeof value === 'string') {\n value = value.trim();\n if (/^(\\d{4}(-\\d{1,2}(-\\d{1,2})?)?)$/.test(value)) {\n /* For ISO Strings without time the day, month and year must be extracted from the ISO String\n before Date creation to avoid time offset and errors in the new Date.\n If we only replace '-' with ',' in the ISO String (\"2015,01,01\"), and try to create a new\n date, some browsers (e.g. IE 9) will throw an invalid Date error.\n If we leave the '-' (\"2015-01-01\") and try to create a new Date(\"2015-01-01\") the timeoffset\n is applied.\n Note: ISO months are 0 for January, 1 for February, ... */\n const [y, m = 1, d = 1] = value.split('-').map((val) => +val);\n return createDate(y, m - 1, d);\n }\n const parsedNb = parseFloat(value);\n // any string that only contains numbers, like \"1234\" but not like \"1234hello\"\n if (!isNaN(value - parsedNb)) {\n return new Date(parsedNb);\n }\n let match;\n if (match = value.match(ISO8601_DATE_REGEX)) {\n return isoStringToDate(match);\n }\n }\n const date = new Date(value);\n if (!isDate(date)) {\n throw new Error(`Unable to convert \"${value}\" into a date`);\n }\n return date;\n}\n/**\n * Converts a date in ISO8601 to a Date.\n * Used instead of `Date.parse` because of browser discrepancies.\n */\nfunction isoStringToDate(match) {\n const date = new Date(0);\n let tzHour = 0;\n let tzMin = 0;\n // match[8] means that the string contains \"Z\" (UTC) or a timezone like \"+01:00\" or \"+0100\"\n const dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear;\n const timeSetter = match[8] ? date.setUTCHours : date.setHours;\n // if there is a timezone defined like \"+01:00\" or \"+0100\"\n if (match[9]) {\n tzHour = Number(match[9] + match[10]);\n tzMin = Number(match[9] + match[11]);\n }\n dateSetter.call(date, Number(match[1]), Number(match[2]) - 1, Number(match[3]));\n const h = Number(match[4] || 0) - tzHour;\n const m = Number(match[5] || 0) - tzMin;\n const s = Number(match[6] || 0);\n // The ECMAScript specification (https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.11)\n // defines that `DateTime` milliseconds should always be rounded down, so that `999.9ms`\n // becomes `999ms`.\n const ms = Math.floor(parseFloat('0.' + (match[7] || 0)) * 1000);\n timeSetter.call(date, h, m, s, ms);\n return date;\n}\nfunction isDate(value) {\n return value instanceof Date && !isNaN(value.valueOf());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\nconst MAX_DIGITS = 22;\nconst DECIMAL_SEP = '.';\nconst ZERO_CHAR = '0';\nconst PATTERN_SEP = ';';\nconst GROUP_SEP = ',';\nconst DIGIT_CHAR = '#';\nconst CURRENCY_CHAR = '¤';\nconst PERCENT_CHAR = '%';\n/**\n * Transforms a number to a locale string based on a style and a format.\n */\nfunction formatNumberToLocaleString(value, pattern, locale, groupSymbol, decimalSymbol, digitsInfo, isPercent = false) {\n let formattedText = '';\n let isZero = false;\n if (!isFinite(value)) {\n formattedText = getLocaleNumberSymbol(locale, NumberSymbol.Infinity);\n }\n else {\n let parsedNumber = parseNumber(value);\n if (isPercent) {\n parsedNumber = toPercent(parsedNumber);\n }\n let minInt = pattern.minInt;\n let minFraction = pattern.minFrac;\n let maxFraction = pattern.maxFrac;\n if (digitsInfo) {\n const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n if (parts === null) {\n throw new Error(`${digitsInfo} is not a valid digit info`);\n }\n const minIntPart = parts[1];\n const minFractionPart = parts[3];\n const maxFractionPart = parts[5];\n if (minIntPart != null) {\n minInt = parseIntAutoRadix(minIntPart);\n }\n if (minFractionPart != null) {\n minFraction = parseIntAutoRadix(minFractionPart);\n }\n if (maxFractionPart != null) {\n maxFraction = parseIntAutoRadix(maxFractionPart);\n }\n else if (minFractionPart != null && minFraction > maxFraction) {\n maxFraction = minFraction;\n }\n }\n roundNumber(parsedNumber, minFraction, maxFraction);\n let digits = parsedNumber.digits;\n let integerLen = parsedNumber.integerLen;\n const exponent = parsedNumber.exponent;\n let decimals = [];\n isZero = digits.every(d => !d);\n // pad zeros for small numbers\n for (; integerLen < minInt; integerLen++) {\n digits.unshift(0);\n }\n // pad zeros for small numbers\n for (; integerLen < 0; integerLen++) {\n digits.unshift(0);\n }\n // extract decimals digits\n if (integerLen > 0) {\n decimals = digits.splice(integerLen, digits.length);\n }\n else {\n decimals = digits;\n digits = [0];\n }\n // format the integer digits with grouping separators\n const groups = [];\n if (digits.length >= pattern.lgSize) {\n groups.unshift(digits.splice(-pattern.lgSize, digits.length).join(''));\n }\n while (digits.length > pattern.gSize) {\n groups.unshift(digits.splice(-pattern.gSize, digits.length).join(''));\n }\n if (digits.length) {\n groups.unshift(digits.join(''));\n }\n formattedText = groups.join(getLocaleNumberSymbol(locale, groupSymbol));\n // append the decimal digits\n if (decimals.length) {\n formattedText += getLocaleNumberSymbol(locale, decimalSymbol) + decimals.join('');\n }\n if (exponent) {\n formattedText += getLocaleNumberSymbol(locale, NumberSymbol.Exponential) + '+' + exponent;\n }\n }\n if (value < 0 && !isZero) {\n formattedText = pattern.negPre + formattedText + pattern.negSuf;\n }\n else {\n formattedText = pattern.posPre + formattedText + pattern.posSuf;\n }\n return formattedText;\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as currency using locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param currency A string containing the currency symbol or its name,\n * such as \"$\" or \"Canadian Dollar\". Used in output string, but does not affect the operation\n * of the function.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)\n * currency code, such as `USD` for the US dollar and `EUR` for the euro.\n * Used to determine the number of digits in the decimal part.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted currency value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatCurrency(value, locale, currency, currencyCode, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Currency);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n pattern.minFrac = getNumberOfCurrencyDigits(currencyCode);\n pattern.maxFrac = pattern.minFrac;\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.CurrencyGroup, NumberSymbol.CurrencyDecimal, digitsInfo);\n return res\n .replace(CURRENCY_CHAR, currency)\n // if we have 2 time the currency character, the second one is ignored\n .replace(CURRENCY_CHAR, '')\n // If there is a spacing between currency character and the value and\n // the currency character is supressed by passing an empty string, the\n // spacing character would remain as part of the string. Then we\n // should remove it.\n .trim();\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as a percentage according to locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted percentage value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n * @publicApi\n *\n */\nfunction formatPercent(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Percent);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo, true);\n return res.replace(new RegExp(PERCENT_CHAR, 'g'), getLocaleNumberSymbol(locale, NumberSymbol.PercentSign));\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as text, with group sizing, separator, and other\n * parameters based on the locale.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted text string.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatNumber(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Decimal);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n return formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo);\n}\nfunction parseNumberFormat(format, minusSign = '-') {\n const p = {\n minInt: 1,\n minFrac: 0,\n maxFrac: 0,\n posPre: '',\n posSuf: '',\n negPre: '',\n negSuf: '',\n gSize: 0,\n lgSize: 0\n };\n const patternParts = format.split(PATTERN_SEP);\n const positive = patternParts[0];\n const negative = patternParts[1];\n const positiveParts = positive.indexOf(DECIMAL_SEP) !== -1 ?\n positive.split(DECIMAL_SEP) :\n [\n positive.substring(0, positive.lastIndexOf(ZERO_CHAR) + 1),\n positive.substring(positive.lastIndexOf(ZERO_CHAR) + 1)\n ], integer = positiveParts[0], fraction = positiveParts[1] || '';\n p.posPre = integer.substr(0, integer.indexOf(DIGIT_CHAR));\n for (let i = 0; i < fraction.length; i++) {\n const ch = fraction.charAt(i);\n if (ch === ZERO_CHAR) {\n p.minFrac = p.maxFrac = i + 1;\n }\n else if (ch === DIGIT_CHAR) {\n p.maxFrac = i + 1;\n }\n else {\n p.posSuf += ch;\n }\n }\n const groups = integer.split(GROUP_SEP);\n p.gSize = groups[1] ? groups[1].length : 0;\n p.lgSize = (groups[2] || groups[1]) ? (groups[2] || groups[1]).length : 0;\n if (negative) {\n const trunkLen = positive.length - p.posPre.length - p.posSuf.length, pos = negative.indexOf(DIGIT_CHAR);\n p.negPre = negative.substr(0, pos).replace(/'/g, '');\n p.negSuf = negative.substr(pos + trunkLen).replace(/'/g, '');\n }\n else {\n p.negPre = minusSign + p.posPre;\n p.negSuf = p.posSuf;\n }\n return p;\n}\n// Transforms a parsed number into a percentage by multiplying it by 100\nfunction toPercent(parsedNumber) {\n // if the number is 0, don't do anything\n if (parsedNumber.digits[0] === 0) {\n return parsedNumber;\n }\n // Getting the current number of decimals\n const fractionLen = parsedNumber.digits.length - parsedNumber.integerLen;\n if (parsedNumber.exponent) {\n parsedNumber.exponent += 2;\n }\n else {\n if (fractionLen === 0) {\n parsedNumber.digits.push(0, 0);\n }\n else if (fractionLen === 1) {\n parsedNumber.digits.push(0);\n }\n parsedNumber.integerLen += 2;\n }\n return parsedNumber;\n}\n/**\n * Parses a number.\n * Significant bits of this parse algorithm came from https://github.com/MikeMcl/big.js/\n */\nfunction parseNumber(num) {\n let numStr = Math.abs(num) + '';\n let exponent = 0, digits, integerLen;\n let i, j, zeros;\n // Decimal point?\n if ((integerLen = numStr.indexOf(DECIMAL_SEP)) > -1) {\n numStr = numStr.replace(DECIMAL_SEP, '');\n }\n // Exponential form?\n if ((i = numStr.search(/e/i)) > 0) {\n // Work out the exponent.\n if (integerLen < 0)\n integerLen = i;\n integerLen += +numStr.slice(i + 1);\n numStr = numStr.substring(0, i);\n }\n else if (integerLen < 0) {\n // There was no decimal point or exponent so it is an integer.\n integerLen = numStr.length;\n }\n // Count the number of leading zeros.\n for (i = 0; numStr.charAt(i) === ZERO_CHAR; i++) { /* empty */\n }\n if (i === (zeros = numStr.length)) {\n // The digits are all zero.\n digits = [0];\n integerLen = 1;\n }\n else {\n // Count the number of trailing zeros\n zeros--;\n while (numStr.charAt(zeros) === ZERO_CHAR)\n zeros--;\n // Trailing zeros are insignificant so ignore them\n integerLen -= i;\n digits = [];\n // Convert string to array of digits without leading/trailing zeros.\n for (j = 0; i <= zeros; i++, j++) {\n digits[j] = Number(numStr.charAt(i));\n }\n }\n // If the number overflows the maximum allowed digits then use an exponent.\n if (integerLen > MAX_DIGITS) {\n digits = digits.splice(0, MAX_DIGITS - 1);\n exponent = integerLen - 1;\n integerLen = 1;\n }\n return { digits, exponent, integerLen };\n}\n/**\n * Round the parsed number to the specified number of decimal places\n * This function changes the parsedNumber in-place\n */\nfunction roundNumber(parsedNumber, minFrac, maxFrac) {\n if (minFrac > maxFrac) {\n throw new Error(`The minimum number of digits after fraction (${minFrac}) is higher than the maximum (${maxFrac}).`);\n }\n let digits = parsedNumber.digits;\n let fractionLen = digits.length - parsedNumber.integerLen;\n const fractionSize = Math.min(Math.max(minFrac, fractionLen), maxFrac);\n // The index of the digit to where rounding is to occur\n let roundAt = fractionSize + parsedNumber.integerLen;\n let digit = digits[roundAt];\n if (roundAt > 0) {\n // Drop fractional digits beyond `roundAt`\n digits.splice(Math.max(parsedNumber.integerLen, roundAt));\n // Set non-fractional digits beyond `roundAt` to 0\n for (let j = roundAt; j < digits.length; j++) {\n digits[j] = 0;\n }\n }\n else {\n // We rounded to zero so reset the parsedNumber\n fractionLen = Math.max(0, fractionLen);\n parsedNumber.integerLen = 1;\n digits.length = Math.max(1, roundAt = fractionSize + 1);\n digits[0] = 0;\n for (let i = 1; i < roundAt; i++)\n digits[i] = 0;\n }\n if (digit >= 5) {\n if (roundAt - 1 < 0) {\n for (let k = 0; k > roundAt; k--) {\n digits.unshift(0);\n parsedNumber.integerLen++;\n }\n digits.unshift(1);\n parsedNumber.integerLen++;\n }\n else {\n digits[roundAt - 1]++;\n }\n }\n // Pad out with zeros to get the required fraction length\n for (; fractionLen < Math.max(0, fractionSize); fractionLen++)\n digits.push(0);\n let dropTrailingZeros = fractionSize !== 0;\n // Minimal length = nb of decimals required + current nb of integers\n // Any number besides that is optional and can be removed if it's a trailing 0\n const minLen = minFrac + parsedNumber.integerLen;\n // Do any carrying, e.g. a digit was rounded up to 10\n const carry = digits.reduceRight(function (carry, d, i, digits) {\n d = d + carry;\n digits[i] = d < 10 ? d : d - 10; // d % 10\n if (dropTrailingZeros) {\n // Do not keep meaningless fractional trailing zeros (e.g. 15.52000 --> 15.52)\n if (digits[i] === 0 && i >= minLen) {\n digits.pop();\n }\n else {\n dropTrailingZeros = false;\n }\n }\n return d >= 10 ? 1 : 0; // Math.floor(d / 10);\n }, 0);\n if (carry) {\n digits.unshift(carry);\n parsedNumber.integerLen++;\n }\n}\nfunction parseIntAutoRadix(text) {\n const result = parseInt(text);\n if (isNaN(result)) {\n throw new Error('Invalid integer literal when parsing ' + text);\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NgLocalization {\n}\n/**\n * Returns the plural category for a given value.\n * - \"=value\" when the case exists,\n * - the plural category otherwise\n */\nfunction getPluralCategory(value, cases, ngLocalization, locale) {\n let key = `=${value}`;\n if (cases.indexOf(key) > -1) {\n return key;\n }\n key = ngLocalization.getPluralCategory(value, locale);\n if (cases.indexOf(key) > -1) {\n return key;\n }\n if (cases.indexOf('other') > -1) {\n return 'other';\n }\n throw new Error(`No plural message found for value \"${value}\"`);\n}\n/**\n * Returns the plural case based on the locale\n *\n * @publicApi\n */\nclass NgLocaleLocalization extends NgLocalization {\n constructor(locale) {\n super();\n this.locale = locale;\n }\n getPluralCategory(value, locale) {\n const plural = getLocalePluralCase(locale || this.locale)(value);\n switch (plural) {\n case Plural.Zero:\n return 'zero';\n case Plural.One:\n return 'one';\n case Plural.Two:\n return 'two';\n case Plural.Few:\n return 'few';\n case Plural.Many:\n return 'many';\n default:\n return 'other';\n }\n }\n}\nNgLocaleLocalization.ɵfac = function NgLocaleLocalization_Factory(t) { return new (t || NgLocaleLocalization)(ɵngcc0.ɵɵinject(LOCALE_ID)); };\nNgLocaleLocalization.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: NgLocaleLocalization, factory: NgLocaleLocalization.ɵfac });\nNgLocaleLocalization.ctorParameters = () => [\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgLocaleLocalization, [{\n type: Injectable\n }], function () { return [{ type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Register global data to be used internally by Angular. See the\n * [\"I18n guide\"](guide/i18n-common-format-data-locale) to know how to import additional locale\n * data.\n *\n * The signature registerLocaleData(data: any, extraData?: any) is deprecated since v5.1\n *\n * @publicApi\n */\nfunction registerLocaleData(data, localeId, extraData) {\n return ɵregisterLocaleData(data, localeId, extraData);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction parseCookieValue(cookieStr, name) {\n name = encodeURIComponent(name);\n for (const cookie of cookieStr.split(';')) {\n const eqIndex = cookie.indexOf('=');\n const [cookieName, cookieValue] = eqIndex == -1 ? [cookie, ''] : [cookie.slice(0, eqIndex), cookie.slice(eqIndex + 1)];\n if (cookieName.trim() === name) {\n return decodeURIComponent(cookieValue);\n }\n }\n return null;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n * ```\n *\n * @description\n *\n * Adds and removes CSS classes on an HTML element.\n *\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\n * - `string` - the CSS classes listed in the string (space delimited) are added,\n * - `Array` - the CSS classes declared as Array elements are added,\n * - `Object` - keys are CSS classes that get added when the expression given in the value\n * evaluates to a truthy value, otherwise they are removed.\n *\n * @publicApi\n */\nclass NgClass {\n constructor(_iterableDiffers, _keyValueDiffers, _ngEl, _renderer) {\n this._iterableDiffers = _iterableDiffers;\n this._keyValueDiffers = _keyValueDiffers;\n this._ngEl = _ngEl;\n this._renderer = _renderer;\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._initialClasses = [];\n this._rawClass = null;\n }\n set klass(value) {\n this._removeClasses(this._initialClasses);\n this._initialClasses = typeof value === 'string' ? value.split(/\\s+/) : [];\n this._applyClasses(this._initialClasses);\n this._applyClasses(this._rawClass);\n }\n set ngClass(value) {\n this._removeClasses(this._rawClass);\n this._applyClasses(this._initialClasses);\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._rawClass = typeof value === 'string' ? value.split(/\\s+/) : value;\n if (this._rawClass) {\n if (ɵisListLikeIterable(this._rawClass)) {\n this._iterableDiffer = this._iterableDiffers.find(this._rawClass).create();\n }\n else {\n this._keyValueDiffer = this._keyValueDiffers.find(this._rawClass).create();\n }\n }\n }\n ngDoCheck() {\n if (this._iterableDiffer) {\n const iterableChanges = this._iterableDiffer.diff(this._rawClass);\n if (iterableChanges) {\n this._applyIterableChanges(iterableChanges);\n }\n }\n else if (this._keyValueDiffer) {\n const keyValueChanges = this._keyValueDiffer.diff(this._rawClass);\n if (keyValueChanges) {\n this._applyKeyValueChanges(keyValueChanges);\n }\n }\n }\n _applyKeyValueChanges(changes) {\n changes.forEachAddedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachRemovedItem((record) => {\n if (record.previousValue) {\n this._toggleClass(record.key, false);\n }\n });\n }\n _applyIterableChanges(changes) {\n changes.forEachAddedItem((record) => {\n if (typeof record.item === 'string') {\n this._toggleClass(record.item, true);\n }\n else {\n throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ɵstringify(record.item)}`);\n }\n });\n changes.forEachRemovedItem((record) => this._toggleClass(record.item, false));\n }\n /**\n * Applies a collection of CSS classes to the DOM element.\n *\n * For argument of type Set and Array CSS class names contained in those collections are always\n * added.\n * For argument of type Map CSS class name in the map's key is toggled based on the value (added\n * for truthy and removed for falsy).\n */\n _applyClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, true));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, !!rawClassVal[klass]));\n }\n }\n }\n /**\n * Removes a collection of CSS classes from the DOM element. This is mostly useful for cleanup\n * purposes.\n */\n _removeClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, false));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, false));\n }\n }\n }\n _toggleClass(klass, enabled) {\n klass = klass.trim();\n if (klass) {\n klass.split(/\\s+/g).forEach(klass => {\n if (enabled) {\n this._renderer.addClass(this._ngEl.nativeElement, klass);\n }\n else {\n this._renderer.removeClass(this._ngEl.nativeElement, klass);\n }\n });\n }\n }\n}\nNgClass.ɵfac = function NgClass_Factory(t) { return new (t || NgClass)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.KeyValueDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2)); };\nNgClass.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgClass, selectors: [[\"\", \"ngClass\", \"\"]], inputs: { klass: [\"class\", \"klass\"], ngClass: \"ngClass\" } });\nNgClass.ctorParameters = () => [\n { type: IterableDiffers },\n { type: KeyValueDiffers },\n { type: ElementRef },\n { type: Renderer2 }\n];\nNgClass.propDecorators = {\n klass: [{ type: Input, args: ['class',] }],\n ngClass: [{ type: Input, args: ['ngClass',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgClass, [{\n type: Directive,\n args: [{ selector: '[ngClass]' }]\n }], function () { return [{ type: ɵngcc0.IterableDiffers }, { type: ɵngcc0.KeyValueDiffers }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.Renderer2 }]; }, { klass: [{\n type: Input,\n args: ['class']\n }], ngClass: [{\n type: Input,\n args: ['ngClass']\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Instantiates a {@link Component} type and inserts its Host View into the current View.\n * `NgComponentOutlet` provides a declarative approach for dynamic component creation.\n *\n * `NgComponentOutlet` requires a component type, if a falsy value is set the view will clear and\n * any existing component will be destroyed.\n *\n * @usageNotes\n *\n * ### Fine tune control\n *\n * You can control the component creation process by using the following optional attributes:\n *\n * * `ngComponentOutletInjector`: Optional custom {@link Injector} that will be used as parent for\n * the Component. Defaults to the injector of the current view container.\n *\n * * `ngComponentOutletContent`: Optional list of projectable nodes to insert into the content\n * section of the component, if it exists.\n *\n * * `ngComponentOutletNgModuleFactory`: Optional module factory to allow loading another\n * module dynamically, then loading a component from that module.\n *\n * ### Syntax\n *\n * Simple\n * ```\n * \n * ```\n *\n * Customized injector/content\n * ```\n * \n * \n * ```\n *\n * Customized ngModuleFactory\n * ```\n * \n * \n * ```\n *\n * ### A simple example\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='SimpleExample'}\n *\n * A more complete example with additional options:\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='CompleteExample'}\n *\n * @publicApi\n * @ngModule CommonModule\n */\nclass NgComponentOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this._componentRef = null;\n this._moduleRef = null;\n }\n ngOnChanges(changes) {\n this._viewContainerRef.clear();\n this._componentRef = null;\n if (this.ngComponentOutlet) {\n const elInjector = this.ngComponentOutletInjector || this._viewContainerRef.parentInjector;\n if (changes['ngComponentOutletNgModuleFactory']) {\n if (this._moduleRef)\n this._moduleRef.destroy();\n if (this.ngComponentOutletNgModuleFactory) {\n const parentModule = elInjector.get(NgModuleRef);\n this._moduleRef = this.ngComponentOutletNgModuleFactory.create(parentModule.injector);\n }\n else {\n this._moduleRef = null;\n }\n }\n const componentFactoryResolver = this._moduleRef ? this._moduleRef.componentFactoryResolver :\n elInjector.get(ComponentFactoryResolver);\n const componentFactory = componentFactoryResolver.resolveComponentFactory(this.ngComponentOutlet);\n this._componentRef = this._viewContainerRef.createComponent(componentFactory, this._viewContainerRef.length, elInjector, this.ngComponentOutletContent);\n }\n }\n ngOnDestroy() {\n if (this._moduleRef)\n this._moduleRef.destroy();\n }\n}\nNgComponentOutlet.ɵfac = function NgComponentOutlet_Factory(t) { return new (t || NgComponentOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef)); };\nNgComponentOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgComponentOutlet, selectors: [[\"\", \"ngComponentOutlet\", \"\"]], inputs: { ngComponentOutlet: \"ngComponentOutlet\", ngComponentOutletInjector: \"ngComponentOutletInjector\", ngComponentOutletContent: \"ngComponentOutletContent\", ngComponentOutletNgModuleFactory: \"ngComponentOutletNgModuleFactory\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nNgComponentOutlet.ctorParameters = () => [\n { type: ViewContainerRef }\n];\nNgComponentOutlet.propDecorators = {\n ngComponentOutlet: [{ type: Input }],\n ngComponentOutletInjector: [{ type: Input }],\n ngComponentOutletContent: [{ type: Input }],\n ngComponentOutletNgModuleFactory: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgComponentOutlet, [{\n type: Directive,\n args: [{ selector: '[ngComponentOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }]; }, { ngComponentOutlet: [{\n type: Input\n }], ngComponentOutletInjector: [{\n type: Input\n }], ngComponentOutletContent: [{\n type: Input\n }], ngComponentOutletNgModuleFactory: [{\n type: Input\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NgForOfContext {\n constructor($implicit, ngForOf, index, count) {\n this.$implicit = $implicit;\n this.ngForOf = ngForOf;\n this.index = index;\n this.count = count;\n }\n get first() {\n return this.index === 0;\n }\n get last() {\n return this.index === this.count - 1;\n }\n get even() {\n return this.index % 2 === 0;\n }\n get odd() {\n return !this.even;\n }\n}\n/**\n * A [structural directive](guide/structural-directives) that renders\n * a template for each item in a collection.\n * The directive is placed on an element, which becomes the parent\n * of the cloned templates.\n *\n * The `ngForOf` directive is generally used in the\n * [shorthand form](guide/structural-directives#asterisk) `*ngFor`.\n * In this form, the template to be rendered for each iteration is the content\n * of an anchor element containing the directive.\n *\n * The following example shows the shorthand syntax with some options,\n * contained in an `
  • ` element.\n *\n * ```\n *
  • ...
  • \n * ```\n *\n * The shorthand form expands into a long form that uses the `ngForOf` selector\n * on an `` element.\n * The content of the `` element is the `
  • ` element that held the\n * short-form directive.\n *\n * Here is the expanded version of the short-form example.\n *\n * ```\n * \n *
  • ...
  • \n *
    \n * ```\n *\n * Angular automatically expands the shorthand syntax as it compiles the template.\n * The context for each embedded view is logically merged to the current component\n * context according to its lexical position.\n *\n * When using the shorthand syntax, Angular allows only [one structural directive\n * on an element](guide/built-in-directives#one-per-element).\n * If you want to iterate conditionally, for example,\n * put the `*ngIf` on a container element that wraps the `*ngFor` element.\n * For futher discussion, see\n * [Structural Directives](guide/built-in-directives#one-per-element).\n *\n * @usageNotes\n *\n * ### Local variables\n *\n * `NgForOf` provides exported values that can be aliased to local variables.\n * For example:\n *\n * ```\n *
  • \n * {{i}}/{{users.length}}. {{user}} default\n *
  • \n * ```\n *\n * The following exported values can be aliased to local variables:\n *\n * - `$implicit: T`: The value of the individual items in the iterable (`ngForOf`).\n * - `ngForOf: NgIterable`: The value of the iterable expression. Useful when the expression is\n * more complex then a property access, for example when using the async pipe (`userStreams |\n * async`).\n * - `index: number`: The index of the current item in the iterable.\n * - `count: number`: The length of the iterable.\n * - `first: boolean`: True when the item is the first item in the iterable.\n * - `last: boolean`: True when the item is the last item in the iterable.\n * - `even: boolean`: True when the item has an even index in the iterable.\n * - `odd: boolean`: True when the item has an odd index in the iterable.\n *\n * ### Change propagation\n *\n * When the contents of the iterator changes, `NgForOf` makes the corresponding changes to the DOM:\n *\n * * When an item is added, a new instance of the template is added to the DOM.\n * * When an item is removed, its template instance is removed from the DOM.\n * * When items are reordered, their respective templates are reordered in the DOM.\n *\n * Angular uses object identity to track insertions and deletions within the iterator and reproduce\n * those changes in the DOM. This has important implications for animations and any stateful\n * controls that are present, such as `` elements that accept user input. Inserted rows can\n * be animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state\n * such as user input.\n * For more on animations, see [Transitions and Triggers](guide/transition-and-triggers).\n *\n * The identities of elements in the iterator can change while the data does not.\n * This can happen, for example, if the iterator is produced from an RPC to the server, and that\n * RPC is re-run. Even if the data hasn't changed, the second response produces objects with\n * different identities, and Angular must tear down the entire DOM and rebuild it (as if all old\n * elements were deleted and all new elements inserted).\n *\n * To avoid this expensive operation, you can customize the default tracking algorithm.\n * by supplying the `trackBy` option to `NgForOf`.\n * `trackBy` takes a function that has two arguments: `index` and `item`.\n * If `trackBy` is given, Angular tracks changes by the return value of the function.\n *\n * @see [Structural Directives](guide/structural-directives)\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgForOf {\n constructor(_viewContainer, _template, _differs) {\n this._viewContainer = _viewContainer;\n this._template = _template;\n this._differs = _differs;\n this._ngForOf = null;\n this._ngForOfDirty = true;\n this._differ = null;\n }\n /**\n * The value of the iterable expression, which can be used as a\n * [template input variable](guide/structural-directives#shorthand).\n */\n set ngForOf(ngForOf) {\n this._ngForOf = ngForOf;\n this._ngForOfDirty = true;\n }\n /**\n * Specifies a custom `TrackByFunction` to compute the identity of items in an iterable.\n *\n * If a custom `TrackByFunction` is not provided, `NgForOf` will use the item's [object\n * identity](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)\n * as the key.\n *\n * `NgForOf` uses the computed key to associate items in an iterable with DOM elements\n * it produces for these items.\n *\n * A custom `TrackByFunction` is useful to provide good user experience in cases when items in an\n * iterable rendered using `NgForOf` have a natural identifier (for example, custom ID or a\n * primary key), and this iterable could be updated with new object instances that still\n * represent the same underlying entity (for example, when data is re-fetched from the server,\n * and the iterable is recreated and re-rendered, but most of the data is still the same).\n *\n * @see `TrackByFunction`\n */\n set ngForTrackBy(fn) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && fn != null && typeof fn !== 'function') {\n // TODO(vicb): use a log service once there is a public one available\n if (console && console.warn) {\n console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}. ` +\n `See https://angular.io/api/common/NgForOf#change-propagation for more information.`);\n }\n }\n this._trackByFn = fn;\n }\n get ngForTrackBy() {\n return this._trackByFn;\n }\n /**\n * A reference to the template that is stamped out for each item in the iterable.\n * @see [template reference variable](guide/template-reference-variables)\n */\n set ngForTemplate(value) {\n // TODO(TS2.1): make TemplateRef>> once we move to TS v2.1\n // The current type is too restrictive; a template that just uses index, for example,\n // should be acceptable.\n if (value) {\n this._template = value;\n }\n }\n /**\n * Applies the changes when needed.\n */\n ngDoCheck() {\n if (this._ngForOfDirty) {\n this._ngForOfDirty = false;\n // React on ngForOf changes only once all inputs have been initialized\n const value = this._ngForOf;\n if (!this._differ && value) {\n try {\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n catch (_a) {\n throw new Error(`Cannot find a differ supporting object '${value}' of type '${getTypeName(value)}'. NgFor only supports binding to Iterables such as Arrays.`);\n }\n }\n }\n if (this._differ) {\n const changes = this._differ.diff(this._ngForOf);\n if (changes)\n this._applyChanges(changes);\n }\n }\n _applyChanges(changes) {\n const insertTuples = [];\n changes.forEachOperation((item, adjustedPreviousIndex, currentIndex) => {\n if (item.previousIndex == null) {\n // NgForOf is never \"null\" or \"undefined\" here because the differ detected\n // that a new item needs to be inserted from the iterable. This implies that\n // there is an iterable value for \"_ngForOf\".\n const view = this._viewContainer.createEmbeddedView(this._template, new NgForOfContext(null, this._ngForOf, -1, -1), currentIndex === null ? undefined : currentIndex);\n const tuple = new RecordViewTuple(item, view);\n insertTuples.push(tuple);\n }\n else if (currentIndex == null) {\n this._viewContainer.remove(adjustedPreviousIndex === null ? undefined : adjustedPreviousIndex);\n }\n else if (adjustedPreviousIndex !== null) {\n const view = this._viewContainer.get(adjustedPreviousIndex);\n this._viewContainer.move(view, currentIndex);\n const tuple = new RecordViewTuple(item, view);\n insertTuples.push(tuple);\n }\n });\n for (let i = 0; i < insertTuples.length; i++) {\n this._perViewChange(insertTuples[i].view, insertTuples[i].record);\n }\n for (let i = 0, ilen = this._viewContainer.length; i < ilen; i++) {\n const viewRef = this._viewContainer.get(i);\n viewRef.context.index = i;\n viewRef.context.count = ilen;\n viewRef.context.ngForOf = this._ngForOf;\n }\n changes.forEachIdentityChange((record) => {\n const viewRef = this._viewContainer.get(record.currentIndex);\n viewRef.context.$implicit = record.item;\n });\n }\n _perViewChange(view, record) {\n view.context.$implicit = record.item;\n }\n /**\n * Asserts the correct type of the context for the template that `NgForOf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgForOf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgForOf.ɵfac = function NgForOf_Factory(t) { return new (t || NgForOf)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.IterableDiffers)); };\nNgForOf.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgForOf, selectors: [[\"\", \"ngFor\", \"\", \"ngForOf\", \"\"]], inputs: { ngForOf: \"ngForOf\", ngForTrackBy: \"ngForTrackBy\", ngForTemplate: \"ngForTemplate\" } });\nNgForOf.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: TemplateRef },\n { type: IterableDiffers }\n];\nNgForOf.propDecorators = {\n ngForOf: [{ type: Input }],\n ngForTrackBy: [{ type: Input }],\n ngForTemplate: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgForOf, [{\n type: Directive,\n args: [{ selector: '[ngFor][ngForOf]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc0.IterableDiffers }]; }, { ngForOf: [{\n type: Input\n }], ngForTrackBy: [{\n type: Input\n }], ngForTemplate: [{\n type: Input\n }] }); })();\nclass RecordViewTuple {\n constructor(record, view) {\n this.record = record;\n this.view = view;\n }\n}\nfunction getTypeName(type) {\n return type['name'] || typeof type;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A structural directive that conditionally includes a template based on the value of\n * an expression coerced to Boolean.\n * When the expression evaluates to true, Angular renders the template\n * provided in a `then` clause, and when false or null,\n * Angular renders the template provided in an optional `else` clause. The default\n * template for the `else` clause is blank.\n *\n * A [shorthand form](guide/structural-directives#asterisk) of the directive,\n * `*ngIf=\"condition\"`, is generally used, provided\n * as an attribute of the anchor element for the inserted template.\n * Angular expands this into a more explicit version, in which the anchor element\n * is contained in an `` element.\n *\n * Simple form with shorthand syntax:\n *\n * ```\n *
    Content to render when condition is true.
    \n * ```\n *\n * Simple form with expanded syntax:\n *\n * ```\n *
    Content to render when condition is\n * true.
    \n * ```\n *\n * Form with an \"else\" block:\n *\n * ```\n *
    Content to render when condition is true.
    \n * Content to render when condition is false.\n * ```\n *\n * Shorthand form with \"then\" and \"else\" blocks:\n *\n * ```\n *
    \n * Content to render when condition is true.\n * Content to render when condition is false.\n * ```\n *\n * Form with storing the value locally:\n *\n * ```\n *
    {{value}}
    \n * Content to render when value is null.\n * ```\n *\n * @usageNotes\n *\n * The `*ngIf` directive is most commonly used to conditionally show an inline template,\n * as seen in the following example.\n * The default `else` template is blank.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfSimple'}\n *\n * ### Showing an alternative template using `else`\n *\n * To display a template when `expression` evaluates to false, use an `else` template\n * binding as shown in the following example.\n * The `else` binding points to an `` element labeled `#elseBlock`.\n * The template can be defined anywhere in the component view, but is typically placed right after\n * `ngIf` for readability.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfElse'}\n *\n * ### Using an external `then` template\n *\n * In the previous example, the then-clause template is specified inline, as the content of the\n * tag that contains the `ngIf` directive. You can also specify a template that is defined\n * externally, by referencing a labeled `` element. When you do this, you can\n * change which template to use at runtime, as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfThenElse'}\n *\n * ### Storing a conditional result in a variable\n *\n * You might want to show a set of properties from the same object. If you are waiting\n * for asynchronous data, the object can be undefined.\n * In this case, you can use `ngIf` and store the result of the condition in a local\n * variable as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfAs'}\n *\n * This code uses only one `AsyncPipe`, so only one subscription is created.\n * The conditional statement stores the result of `userStream|async` in the local variable `user`.\n * You can then bind the local `user` repeatedly.\n *\n * The conditional displays the data only if `userStream` returns a value,\n * so you don't need to use the\n * safe-navigation-operator (`?.`)\n * to guard against null values when accessing properties.\n * You can display an alternative template while waiting for the data.\n *\n * ### Shorthand syntax\n *\n * The shorthand syntax `*ngIf` expands into two separate template specifications\n * for the \"then\" and \"else\" clauses. For example, consider the following shorthand statement,\n * that is meant to show a loading page while waiting for data to be loaded.\n *\n * ```\n *
    \n * ...\n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * You can see that the \"else\" clause references the ``\n * with the `#loading` label, and the template for the \"then\" clause\n * is provided as the content of the anchor element.\n *\n * However, when Angular expands the shorthand syntax, it creates\n * another `` tag, with `ngIf` and `ngIfElse` directives.\n * The anchor element containing the template for the \"then\" clause becomes\n * the content of this unlabeled `` tag.\n *\n * ```\n * \n *
    \n * ...\n *
    \n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * The presence of the implicit template object has implications for the nesting of\n * structural directives. For more on this subject, see\n * [Structural Directives](https://angular.io/guide/built-in-directives#one-per-element).\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgIf {\n constructor(_viewContainer, templateRef) {\n this._viewContainer = _viewContainer;\n this._context = new NgIfContext();\n this._thenTemplateRef = null;\n this._elseTemplateRef = null;\n this._thenViewRef = null;\n this._elseViewRef = null;\n this._thenTemplateRef = templateRef;\n }\n /**\n * The Boolean expression to evaluate as the condition for showing a template.\n */\n set ngIf(condition) {\n this._context.$implicit = this._context.ngIf = condition;\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to true.\n */\n set ngIfThen(templateRef) {\n assertTemplate('ngIfThen', templateRef);\n this._thenTemplateRef = templateRef;\n this._thenViewRef = null; // clear previous view if any.\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to false.\n */\n set ngIfElse(templateRef) {\n assertTemplate('ngIfElse', templateRef);\n this._elseTemplateRef = templateRef;\n this._elseViewRef = null; // clear previous view if any.\n this._updateView();\n }\n _updateView() {\n if (this._context.$implicit) {\n if (!this._thenViewRef) {\n this._viewContainer.clear();\n this._elseViewRef = null;\n if (this._thenTemplateRef) {\n this._thenViewRef =\n this._viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);\n }\n }\n }\n else {\n if (!this._elseViewRef) {\n this._viewContainer.clear();\n this._thenViewRef = null;\n if (this._elseTemplateRef) {\n this._elseViewRef =\n this._viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);\n }\n }\n }\n }\n /**\n * Asserts the correct type of the context for the template that `NgIf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgIf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgIf.ɵfac = function NgIf_Factory(t) { return new (t || NgIf)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgIf.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgIf, selectors: [[\"\", \"ngIf\", \"\"]], inputs: { ngIf: \"ngIf\", ngIfThen: \"ngIfThen\", ngIfElse: \"ngIfElse\" } });\nNgIf.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: TemplateRef }\n];\nNgIf.propDecorators = {\n ngIf: [{ type: Input }],\n ngIfThen: [{ type: Input }],\n ngIfElse: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgIf, [{\n type: Directive,\n args: [{ selector: '[ngIf]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }]; }, { ngIf: [{\n type: Input\n }], ngIfThen: [{\n type: Input\n }], ngIfElse: [{\n type: Input\n }] }); })();\n/**\n * @publicApi\n */\nclass NgIfContext {\n constructor() {\n this.$implicit = null;\n this.ngIf = null;\n }\n}\nfunction assertTemplate(property, templateRef) {\n const isTemplateRefOrNull = !!(!templateRef || templateRef.createEmbeddedView);\n if (!isTemplateRefOrNull) {\n throw new Error(`${property} must be a TemplateRef, but received '${ɵstringify(templateRef)}'.`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass SwitchView {\n constructor(_viewContainerRef, _templateRef) {\n this._viewContainerRef = _viewContainerRef;\n this._templateRef = _templateRef;\n this._created = false;\n }\n create() {\n this._created = true;\n this._viewContainerRef.createEmbeddedView(this._templateRef);\n }\n destroy() {\n this._created = false;\n this._viewContainerRef.clear();\n }\n enforceState(created) {\n if (created && !this._created) {\n this.create();\n }\n else if (!created && this._created) {\n this.destroy();\n }\n }\n}\n/**\n * @ngModule CommonModule\n *\n * @description\n * The `[ngSwitch]` directive on a container specifies an expression to match against.\n * The expressions to match are provided by `ngSwitchCase` directives on views within the container.\n * - Every view that matches is rendered.\n * - If there are no matches, a view with the `ngSwitchDefault` directive is rendered.\n * - Elements within the `[NgSwitch]` statement but outside of any `NgSwitchCase`\n * or `ngSwitchDefault` directive are preserved at the location.\n *\n * @usageNotes\n * Define a container element for the directive, and specify the switch expression\n * to match against as an attribute:\n *\n * ```\n * \n * ```\n *\n * Within the container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * ### Usage Examples\n *\n * The following example shows how to use more than one case to display the same view:\n *\n * ```\n * \n * \n * ...\n * ...\n * ...\n * \n * ...\n * \n * ```\n *\n * The following example shows how cases can be nested:\n * ```\n * \n * ...\n * ...\n * ...\n * \n * \n * \n * \n * \n * ...\n * \n * ```\n *\n * @publicApi\n * @see `NgSwitchCase`\n * @see `NgSwitchDefault`\n * @see [Structural Directives](guide/structural-directives)\n *\n */\nclass NgSwitch {\n constructor() {\n this._defaultUsed = false;\n this._caseCount = 0;\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n set ngSwitch(newValue) {\n this._ngSwitch = newValue;\n if (this._caseCount === 0) {\n this._updateDefaultCases(true);\n }\n }\n /** @internal */\n _addCase() {\n return this._caseCount++;\n }\n /** @internal */\n _addDefault(view) {\n if (!this._defaultViews) {\n this._defaultViews = [];\n }\n this._defaultViews.push(view);\n }\n /** @internal */\n _matchCase(value) {\n const matched = value == this._ngSwitch;\n this._lastCasesMatched = this._lastCasesMatched || matched;\n this._lastCaseCheckIndex++;\n if (this._lastCaseCheckIndex === this._caseCount) {\n this._updateDefaultCases(!this._lastCasesMatched);\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n return matched;\n }\n _updateDefaultCases(useDefault) {\n if (this._defaultViews && useDefault !== this._defaultUsed) {\n this._defaultUsed = useDefault;\n for (let i = 0; i < this._defaultViews.length; i++) {\n const defaultView = this._defaultViews[i];\n defaultView.enforceState(useDefault);\n }\n }\n }\n}\nNgSwitch.ɵfac = function NgSwitch_Factory(t) { return new (t || NgSwitch)(); };\nNgSwitch.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgSwitch, selectors: [[\"\", \"ngSwitch\", \"\"]], inputs: { ngSwitch: \"ngSwitch\" } });\nNgSwitch.propDecorators = {\n ngSwitch: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgSwitch, [{\n type: Directive,\n args: [{ selector: '[ngSwitch]' }]\n }], function () { return []; }, { ngSwitch: [{\n type: Input\n }] }); })();\n/**\n * @ngModule CommonModule\n *\n * @description\n * Provides a switch case expression to match against an enclosing `ngSwitch` expression.\n * When the expressions match, the given `NgSwitchCase` template is rendered.\n * If multiple match expressions match the switch expression value, all of them are displayed.\n *\n * @usageNotes\n *\n * Within a switch container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * Each switch-case statement contains an in-line HTML template or template reference\n * that defines the subtree to be selected if the value of the match expression\n * matches the value of the switch expression.\n *\n * Unlike JavaScript, which uses strict equality, Angular uses loose equality.\n * This means that the empty string, `\"\"` matches 0.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchDefault`\n *\n */\nclass NgSwitchCase {\n constructor(viewContainer, templateRef, ngSwitch) {\n this.ngSwitch = ngSwitch;\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchCase', 'NgSwitchCase');\n }\n ngSwitch._addCase();\n this._view = new SwitchView(viewContainer, templateRef);\n }\n /**\n * Performs case matching. For internal use only.\n */\n ngDoCheck() {\n this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));\n }\n}\nNgSwitchCase.ɵfac = function NgSwitchCase_Factory(t) { return new (t || NgSwitchCase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(NgSwitch, 9)); };\nNgSwitchCase.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgSwitchCase, selectors: [[\"\", \"ngSwitchCase\", \"\"]], inputs: { ngSwitchCase: \"ngSwitchCase\" } });\nNgSwitchCase.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: TemplateRef },\n { type: NgSwitch, decorators: [{ type: Optional }, { type: Host }] }\n];\nNgSwitchCase.propDecorators = {\n ngSwitchCase: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgSwitchCase, [{\n type: Directive,\n args: [{ selector: '[ngSwitchCase]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; }, { ngSwitchCase: [{\n type: Input\n }] }); })();\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that is rendered when no `NgSwitchCase` expressions\n * match the `NgSwitch` expression.\n * This statement should be the final case in an `NgSwitch`.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchCase`\n *\n */\nclass NgSwitchDefault {\n constructor(viewContainer, templateRef, ngSwitch) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchDefault', 'NgSwitchDefault');\n }\n ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));\n }\n}\nNgSwitchDefault.ɵfac = function NgSwitchDefault_Factory(t) { return new (t || NgSwitchDefault)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(NgSwitch, 9)); };\nNgSwitchDefault.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgSwitchDefault, selectors: [[\"\", \"ngSwitchDefault\", \"\"]] });\nNgSwitchDefault.ctorParameters = () => [\n { type: ViewContainerRef },\n { type: TemplateRef },\n { type: NgSwitch, decorators: [{ type: Optional }, { type: Host }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgSwitchDefault, [{\n type: Directive,\n args: [{ selector: '[ngSwitchDefault]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; }, null); })();\nfunction throwNgSwitchProviderNotFoundError(attrName, directiveName) {\n throw new ɵRuntimeError(\"305\" /* TEMPLATE_STRUCTURE_ERROR */, `An element with the \"${attrName}\" attribute ` +\n `(matching the \"${directiveName}\" directive) must be located inside an element with the \"ngSwitch\" attribute ` +\n `(matching \"NgSwitch\" directive)`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * \n * there is nothing\n * there is one\n * there are a few\n * \n * ```\n *\n * @description\n *\n * Adds / removes DOM sub-trees based on a numeric value. Tailored for pluralization.\n *\n * Displays DOM sub-trees that match the switch expression value, or failing that, DOM sub-trees\n * that match the switch expression's pluralization category.\n *\n * To use this directive you must provide a container element that sets the `[ngPlural]` attribute\n * to a switch expression. Inner elements with a `[ngPluralCase]` will display based on their\n * expression:\n * - if `[ngPluralCase]` is set to a value starting with `=`, it will only display if the value\n * matches the switch expression exactly,\n * - otherwise, the view will be treated as a \"category match\", and will only display if exact\n * value matches aren't found and the value maps to its category for the defined locale.\n *\n * See http://cldr.unicode.org/index/cldr-spec/plural-rules\n *\n * @publicApi\n */\nclass NgPlural {\n constructor(_localization) {\n this._localization = _localization;\n this._caseViews = {};\n }\n set ngPlural(value) {\n this._switchValue = value;\n this._updateView();\n }\n addCase(value, switchView) {\n this._caseViews[value] = switchView;\n }\n _updateView() {\n this._clearViews();\n const cases = Object.keys(this._caseViews);\n const key = getPluralCategory(this._switchValue, cases, this._localization);\n this._activateView(this._caseViews[key]);\n }\n _clearViews() {\n if (this._activeView)\n this._activeView.destroy();\n }\n _activateView(view) {\n if (view) {\n this._activeView = view;\n this._activeView.create();\n }\n }\n}\nNgPlural.ɵfac = function NgPlural_Factory(t) { return new (t || NgPlural)(ɵngcc0.ɵɵdirectiveInject(NgLocalization)); };\nNgPlural.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgPlural, selectors: [[\"\", \"ngPlural\", \"\"]], inputs: { ngPlural: \"ngPlural\" } });\nNgPlural.ctorParameters = () => [\n { type: NgLocalization }\n];\nNgPlural.propDecorators = {\n ngPlural: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgPlural, [{\n type: Directive,\n args: [{ selector: '[ngPlural]' }]\n }], function () { return [{ type: NgLocalization }]; }, { ngPlural: [{\n type: Input\n }] }); })();\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that will be added/removed from the parent {@link NgPlural} when the\n * given expression matches the plural expression according to CLDR rules.\n *\n * @usageNotes\n * ```\n * \n * ...\n * ...\n * \n *```\n *\n * See {@link NgPlural} for more details and example.\n *\n * @publicApi\n */\nclass NgPluralCase {\n constructor(value, template, viewContainer, ngPlural) {\n this.value = value;\n const isANumber = !isNaN(Number(value));\n ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));\n }\n}\nNgPluralCase.ɵfac = function NgPluralCase_Factory(t) { return new (t || NgPluralCase)(ɵngcc0.ɵɵinjectAttribute('ngPluralCase'), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(NgPlural, 1)); };\nNgPluralCase.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgPluralCase, selectors: [[\"\", \"ngPluralCase\", \"\"]] });\nNgPluralCase.ctorParameters = () => [\n { type: String, decorators: [{ type: Attribute, args: ['ngPluralCase',] }] },\n { type: TemplateRef },\n { type: ViewContainerRef },\n { type: NgPlural, decorators: [{ type: Host }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgPluralCase, [{\n type: Directive,\n args: [{ selector: '[ngPluralCase]' }]\n }], function () { return [{ type: String, decorators: [{\n type: Attribute,\n args: ['ngPluralCase']\n }] }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc0.ViewContainerRef }, { type: NgPlural, decorators: [{\n type: Host\n }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n *\n * Set the font of the containing element to the result of an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set the width of the containing element to a pixel value returned by an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set a collection of style values using an expression that returns key-value pairs.\n *\n * ```\n * ...\n * ```\n *\n * @description\n *\n * An attribute directive that updates styles for the containing HTML element.\n * Sets one or more style properties, specified as colon-separated key-value pairs.\n * The key is a style name, with an optional `.` suffix\n * (such as 'top.px', 'font-style.em').\n * The value is an expression to be evaluated.\n * The resulting non-null value, expressed in the given unit,\n * is assigned to the given style property.\n * If the result of evaluation is null, the corresponding style is removed.\n *\n * @publicApi\n */\nclass NgStyle {\n constructor(_ngEl, _differs, _renderer) {\n this._ngEl = _ngEl;\n this._differs = _differs;\n this._renderer = _renderer;\n this._ngStyle = null;\n this._differ = null;\n }\n set ngStyle(values) {\n this._ngStyle = values;\n if (!this._differ && values) {\n this._differ = this._differs.find(values).create();\n }\n }\n ngDoCheck() {\n if (this._differ) {\n const changes = this._differ.diff(this._ngStyle);\n if (changes) {\n this._applyChanges(changes);\n }\n }\n }\n _setStyle(nameAndUnit, value) {\n const [name, unit] = nameAndUnit.split('.');\n value = value != null && unit ? `${value}${unit}` : value;\n if (value != null) {\n this._renderer.setStyle(this._ngEl.nativeElement, name, value);\n }\n else {\n this._renderer.removeStyle(this._ngEl.nativeElement, name);\n }\n }\n _applyChanges(changes) {\n changes.forEachRemovedItem((record) => this._setStyle(record.key, null));\n changes.forEachAddedItem((record) => this._setStyle(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));\n }\n}\nNgStyle.ɵfac = function NgStyle_Factory(t) { return new (t || NgStyle)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.KeyValueDiffers), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2)); };\nNgStyle.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgStyle, selectors: [[\"\", \"ngStyle\", \"\"]], inputs: { ngStyle: \"ngStyle\" } });\nNgStyle.ctorParameters = () => [\n { type: ElementRef },\n { type: KeyValueDiffers },\n { type: Renderer2 }\n];\nNgStyle.propDecorators = {\n ngStyle: [{ type: Input, args: ['ngStyle',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgStyle, [{\n type: Directive,\n args: [{ selector: '[ngStyle]' }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.KeyValueDiffers }, { type: ɵngcc0.Renderer2 }]; }, { ngStyle: [{\n type: Input,\n args: ['ngStyle']\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Inserts an embedded view from a prepared `TemplateRef`.\n *\n * You can attach a context object to the `EmbeddedViewRef` by setting `[ngTemplateOutletContext]`.\n * `[ngTemplateOutletContext]` should be an object, the object's keys will be available for binding\n * by the local template `let` declarations.\n *\n * @usageNotes\n * ```\n * \n * ```\n *\n * Using the key `$implicit` in the context object will set its value as default.\n *\n * ### Example\n *\n * {@example common/ngTemplateOutlet/ts/module.ts region='NgTemplateOutlet'}\n *\n * @publicApi\n */\nclass NgTemplateOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this._viewRef = null;\n /**\n * A context object to attach to the {@link EmbeddedViewRef}. This should be an\n * object, the object's keys will be available for binding by the local template `let`\n * declarations.\n * Using the key `$implicit` in the context object will set its value as default.\n */\n this.ngTemplateOutletContext = null;\n /**\n * A string defining the template reference and optionally the context object for the template.\n */\n this.ngTemplateOutlet = null;\n }\n ngOnChanges(changes) {\n if (changes['ngTemplateOutlet']) {\n const viewContainerRef = this._viewContainerRef;\n if (this._viewRef) {\n viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef));\n }\n this._viewRef = this.ngTemplateOutlet ?\n viewContainerRef.createEmbeddedView(this.ngTemplateOutlet, this.ngTemplateOutletContext) :\n null;\n }\n else if (this._viewRef && changes['ngTemplateOutletContext'] && this.ngTemplateOutletContext) {\n this._viewRef.context = this.ngTemplateOutletContext;\n }\n }\n}\nNgTemplateOutlet.ɵfac = function NgTemplateOutlet_Factory(t) { return new (t || NgTemplateOutlet)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef)); };\nNgTemplateOutlet.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: NgTemplateOutlet, selectors: [[\"\", \"ngTemplateOutlet\", \"\"]], inputs: { ngTemplateOutletContext: \"ngTemplateOutletContext\", ngTemplateOutlet: \"ngTemplateOutlet\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nNgTemplateOutlet.ctorParameters = () => [\n { type: ViewContainerRef }\n];\nNgTemplateOutlet.propDecorators = {\n ngTemplateOutletContext: [{ type: Input }],\n ngTemplateOutlet: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgTemplateOutlet, [{\n type: Directive,\n args: [{ selector: '[ngTemplateOutlet]' }]\n }], function () { return [{ type: ɵngcc0.ViewContainerRef }]; }, { ngTemplateOutletContext: [{\n type: Input\n }], ngTemplateOutlet: [{\n type: Input\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of Angular directives that are likely to be used in each and every Angular\n * application.\n */\nconst COMMON_DIRECTIVES = [\n NgClass,\n NgComponentOutlet,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n NgStyle,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgPlural,\n NgPluralCase,\n];\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction invalidPipeArgumentError(type, value) {\n return Error(`InvalidPipeArgument: '${value}' for pipe '${ɵstringify(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 */\nclass SubscribableStrategy {\n createSubscription(async, updateLatestValue) {\n return async.subscribe({\n next: updateLatestValue,\n error: (e) => {\n throw e;\n }\n });\n }\n dispose(subscription) {\n subscription.unsubscribe();\n }\n onDestroy(subscription) {\n subscription.unsubscribe();\n }\n}\nclass PromiseStrategy {\n createSubscription(async, updateLatestValue) {\n return async.then(updateLatestValue, e => {\n throw e;\n });\n }\n dispose(subscription) { }\n onDestroy(subscription) { }\n}\nconst _promiseStrategy = new PromiseStrategy();\nconst _subscribableStrategy = new SubscribableStrategy();\n/**\n * @ngModule CommonModule\n * @description\n *\n * Unwraps a value from an asynchronous primitive.\n *\n * The `async` pipe subscribes to an `Observable` or `Promise` and returns the latest value it has\n * emitted. When a new value is emitted, the `async` pipe marks the component to be checked for\n * changes. When the component gets destroyed, the `async` pipe unsubscribes automatically to avoid\n * potential memory leaks. When the reference of the expression changes, the `async` pipe\n * automatically unsubscribes from the old `Observable` or `Promise` and subscribes to the new one.\n *\n * @usageNotes\n *\n * ### Examples\n *\n * This example binds a `Promise` to the view. Clicking the `Resolve` button resolves the\n * promise.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipePromise'}\n *\n * It's also possible to use `async` with Observables. The example below binds the `time` Observable\n * to the view. The Observable continuously updates the view with the current time.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipeObservable'}\n *\n * @publicApi\n */\nclass AsyncPipe {\n constructor(_ref) {\n this._ref = _ref;\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n this._strategy = null;\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._dispose();\n }\n }\n transform(obj) {\n if (!this._obj) {\n if (obj) {\n this._subscribe(obj);\n }\n return this._latestValue;\n }\n if (obj !== this._obj) {\n this._dispose();\n return this.transform(obj);\n }\n return this._latestValue;\n }\n _subscribe(obj) {\n this._obj = obj;\n this._strategy = this._selectStrategy(obj);\n this._subscription = this._strategy.createSubscription(obj, (value) => this._updateLatestValue(obj, value));\n }\n _selectStrategy(obj) {\n if (ɵisPromise(obj)) {\n return _promiseStrategy;\n }\n if (ɵisSubscribable(obj)) {\n return _subscribableStrategy;\n }\n throw invalidPipeArgumentError(AsyncPipe, obj);\n }\n _dispose() {\n this._strategy.dispose(this._subscription);\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n }\n _updateLatestValue(async, value) {\n if (async === this._obj) {\n this._latestValue = value;\n this._ref.markForCheck();\n }\n }\n}\nAsyncPipe.ɵfac = function AsyncPipe_Factory(t) { return new (t || AsyncPipe)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef, 16)); };\nAsyncPipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"async\", type: AsyncPipe, pure: false });\nAsyncPipe.ctorParameters = () => [\n { type: ChangeDetectorRef }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(AsyncPipe, [{\n type: Pipe,\n args: [{ name: 'async', pure: false }]\n }], function () { return [{ type: ɵngcc0.ChangeDetectorRef }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Transforms text to all lower case.\n *\n * @see `UpperCasePipe`\n * @see `TitleCasePipe`\n * @usageNotes\n *\n * The following example defines a view that allows the user to enter\n * text, and then uses the pipe to convert the input text to all lower case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass LowerCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(LowerCasePipe, value);\n }\n return value.toLowerCase();\n }\n}\nLowerCasePipe.ɵfac = function LowerCasePipe_Factory(t) { return new (t || LowerCasePipe)(); };\nLowerCasePipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"lowercase\", type: LowerCasePipe, pure: true });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(LowerCasePipe, [{\n type: Pipe,\n args: [{ name: 'lowercase' }]\n }], null, null); })();\n//\n// Regex below matches any Unicode word and number compatible with ES5. In ES2018 the same result\n// can be achieved by using /[0-9\\p{L}]\\S*/gu and also known as Unicode Property Escapes\n// (https://2ality.com/2017/07/regexp-unicode-property-escapes.html). Since there is no\n// transpilation of this functionality down to ES5 without external tool, the only solution is\n// to use already transpiled form. Example can be found here -\n// https://mothereff.in/regexpu#input=var+regex+%3D+%2F%5B0-9%5Cp%7BL%7D%5D%5CS*%2Fgu%3B%0A%0A&unicodePropertyEscape=1\n//\nconst unicodeWordMatch = /(?:[0-9A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF38\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])\\S*/g;\n/**\n * Transforms text to title case.\n * Capitalizes the first letter of each word and transforms the\n * rest of the word to lower case.\n * Words are delimited by any whitespace character, such as a space, tab, or line-feed character.\n *\n * @see `LowerCasePipe`\n * @see `UpperCasePipe`\n *\n * @usageNotes\n * The following example shows the result of transforming various strings into title case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass TitleCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(TitleCasePipe, value);\n }\n return value.replace(unicodeWordMatch, (txt => txt[0].toUpperCase() + txt.substr(1).toLowerCase()));\n }\n}\nTitleCasePipe.ɵfac = function TitleCasePipe_Factory(t) { return new (t || TitleCasePipe)(); };\nTitleCasePipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"titlecase\", type: TitleCasePipe, pure: true });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TitleCasePipe, [{\n type: Pipe,\n args: [{ name: 'titlecase' }]\n }], null, null); })();\n/**\n * Transforms text to all upper case.\n * @see `LowerCasePipe`\n * @see `TitleCasePipe`\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass UpperCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(UpperCasePipe, value);\n }\n return value.toUpperCase();\n }\n}\nUpperCasePipe.ɵfac = function UpperCasePipe_Factory(t) { return new (t || UpperCasePipe)(); };\nUpperCasePipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"uppercase\", type: UpperCasePipe, pure: true });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(UpperCasePipe, [{\n type: Pipe,\n args: [{ name: 'uppercase' }]\n }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this 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// clang-format off\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date value according to locale rules.\n *\n * `DatePipe` is executed only when it detects a pure change to the input value.\n * A pure change is either a change to a primitive input value\n * (such as `String`, `Number`, `Boolean`, or `Symbol`),\n * or a changed object reference (such as `Date`, `Array`, `Function`, or `Object`).\n *\n * Note that mutating a `Date` object does not cause the pipe to be rendered again.\n * To ensure that the pipe is executed, you must create a new `Date` object.\n *\n * Only the `en-US` locale data comes with Angular. To localize dates\n * in another language, you must import the corresponding locale data.\n * See the [I18n guide](guide/i18n-common-format-data-locale) for more information.\n *\n * @see `formatDate()`\n *\n *\n * @usageNotes\n *\n * The result of this pipe is not reevaluated when the input is mutated. To avoid the need to\n * reformat the date on every change-detection cycle, treat the date as an immutable object\n * and change the reference when the pipe needs to run again.\n *\n * ### Pre-defined format options\n *\n * | Option | Equivalent to | Examples (given in `en-US` locale) |\n * |---------------|-------------------------------------|-------------------------------------------------|\n * | `'short'` | `'M/d/yy, h:mm a'` | `6/15/15, 9:03 AM` |\n * | `'medium'` | `'MMM d, y, h:mm:ss a'` | `Jun 15, 2015, 9:03:01 AM` |\n * | `'long'` | `'MMMM d, y, h:mm:ss a z'` | `June 15, 2015 at 9:03:01 AM GMT+1` |\n * | `'full'` | `'EEEE, MMMM d, y, h:mm:ss a zzzz'` | `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00` |\n * | `'shortDate'` | `'M/d/yy'` | `6/15/15` |\n * | `'mediumDate'`| `'MMM d, y'` | `Jun 15, 2015` |\n * | `'longDate'` | `'MMMM d, y'` | `June 15, 2015` |\n * | `'fullDate'` | `'EEEE, MMMM d, y'` | `Monday, June 15, 2015` |\n * | `'shortTime'` | `'h:mm a'` | `9:03 AM` |\n * | `'mediumTime'`| `'h:mm:ss a'` | `9:03:01 AM` |\n * | `'longTime'` | `'h:mm:ss a z'` | `9:03:01 AM GMT+1` |\n * | `'fullTime'` | `'h:mm:ss a zzzz'` | `9:03:01 AM GMT+01:00` |\n *\n * ### Custom format options\n *\n * You can construct a format string using symbols to specify the components\n * of a date-time value, as described in the following table.\n * Format details depend on the locale.\n * Fields marked with (*) are only available in the extra data set for the given locale.\n *\n * | Field type | Format | Description | Example Value |\n * |-------------------- |-------------|---------------------------------------------------------------|------------------------------------------------------------|\n * | Era | G, GG & GGG | Abbreviated | AD |\n * | | GGGG | Wide | Anno Domini |\n * | | GGGGG | Narrow | A |\n * | Year | y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | yy | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | yyy | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | yyyy | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Week-numbering year | Y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | YY | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | YYY | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | YYYY | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Month | M | Numeric: 1 digit | 9, 12 |\n * | | MM | Numeric: 2 digits + zero padded | 09, 12 |\n * | | MMM | Abbreviated | Sep |\n * | | MMMM | Wide | September |\n * | | MMMMM | Narrow | S |\n * | Month standalone | L | Numeric: 1 digit | 9, 12 |\n * | | LL | Numeric: 2 digits + zero padded | 09, 12 |\n * | | LLL | Abbreviated | Sep |\n * | | LLLL | Wide | September |\n * | | LLLLL | Narrow | S |\n * | Week of year | w | Numeric: minimum digits | 1... 53 |\n * | | ww | Numeric: 2 digits + zero padded | 01... 53 |\n * | Week of month | W | Numeric: 1 digit | 1... 5 |\n * | Day of month | d | Numeric: minimum digits | 1 |\n * | | dd | Numeric: 2 digits + zero padded | 01 |\n * | Week day | E, EE & EEE | Abbreviated | Tue |\n * | | EEEE | Wide | Tuesday |\n * | | EEEEE | Narrow | T |\n * | | EEEEEE | Short | Tu |\n * | Week day standalone | c, cc | Numeric: 1 digit | 2 |\n * | | ccc | Abbreviated | Tue |\n * | | cccc | Wide | Tuesday |\n * | | ccccc | Narrow | T |\n * | | cccccc | Short | Tu |\n * | Period | a, aa & aaa | Abbreviated | am/pm or AM/PM |\n * | | aaaa | Wide (fallback to `a` when missing) | ante meridiem/post meridiem |\n * | | aaaaa | Narrow | a/p |\n * | Period* | B, BB & BBB | Abbreviated | mid. |\n * | | BBBB | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | BBBBB | Narrow | md |\n * | Period standalone* | b, bb & bbb | Abbreviated | mid. |\n * | | bbbb | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | bbbbb | Narrow | md |\n * | Hour 1-12 | h | Numeric: minimum digits | 1, 12 |\n * | | hh | Numeric: 2 digits + zero padded | 01, 12 |\n * | Hour 0-23 | H | Numeric: minimum digits | 0, 23 |\n * | | HH | Numeric: 2 digits + zero padded | 00, 23 |\n * | Minute | m | Numeric: minimum digits | 8, 59 |\n * | | mm | Numeric: 2 digits + zero padded | 08, 59 |\n * | Second | s | Numeric: minimum digits | 0... 59 |\n * | | ss | Numeric: 2 digits + zero padded | 00... 59 |\n * | Fractional seconds | S | Numeric: 1 digit | 0... 9 |\n * | | SS | Numeric: 2 digits + zero padded | 00... 99 |\n * | | SSS | Numeric: 3 digits + zero padded (= milliseconds) | 000... 999 |\n * | Zone | z, zz & zzz | Short specific non location format (fallback to O) | GMT-8 |\n * | | zzzz | Long specific non location format (fallback to OOOO) | GMT-08:00 |\n * | | Z, ZZ & ZZZ | ISO8601 basic format | -0800 |\n * | | ZZZZ | Long localized GMT format | GMT-8:00 |\n * | | ZZZZZ | ISO8601 extended format + Z indicator for offset 0 (= XXXXX) | -08:00 |\n * | | O, OO & OOO | Short localized GMT format | GMT-8 |\n * | | OOOO | Long localized GMT format | GMT-08:00 |\n *\n *\n * ### Format examples\n *\n * These examples transform a date into various formats,\n * assuming that `dateObj` is a JavaScript `Date` object for\n * year: 2015, month: 6, day: 15, hour: 21, minute: 43, second: 11,\n * given in the local time for the `en-US` locale.\n *\n * ```\n * {{ dateObj | date }} // output is 'Jun 15, 2015'\n * {{ dateObj | date:'medium' }} // output is 'Jun 15, 2015, 9:43:11 PM'\n * {{ dateObj | date:'shortTime' }} // output is '9:43 PM'\n * {{ dateObj | date:'mm:ss' }} // output is '43:11'\n * ```\n *\n * ### Usage example\n *\n * The following component uses a date pipe to display the current date in different formats.\n *\n * ```\n * @Component({\n * selector: 'date-pipe',\n * template: `
    \n *

    Today is {{today | date}}

    \n *

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

    \n *

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

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