{"version":3,"file":"app-fabb030208b1dc6db162.js","mappings":";+GAOA,SAASA,EAAWC,EAAQC,EAAQC,GAClC,IAAIC,EAASH,EAAOG,OAUpB,OATAD,EAAuB,MAAZA,EAAmB,EAAIA,GAEnB,EACbA,EAAW,EACFA,EAAWC,IACpBD,EAAWC,GAGbF,EAAS,GAAGG,OAAOH,GACZD,EAAOK,MAAMH,EAAUA,EAAWD,EAAOE,SAAWF,CAC7D,CAEA,SAASK,IACP,MAAsB,oBAAXC,OACF,KAGEA,OAAOC,UAAUC,WAAaF,OAAOC,UAAUC,UAAU,IAAMF,OAAOC,UAAUE,UAAYH,OAAOC,UAAUG,iBAAmBJ,OAAOC,UAAUI,cAAgBL,OAAOC,UAAUK,gBAAkB,IAEjN,CAEA,SAASC,EAAcC,GACrB,OAAOA,EAAKC,cAAcC,QAAQ,IAAK,IACzC,CA9BAC,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAA,aAAkB,EA+DlB,IAAIE,EAlCJ,SAA8BC,GAC5B,IAAKA,EACH,OAAOjB,IAGT,IAAIG,EAAYc,EAAQd,UACpBe,EAAWD,EAAQC,SAEvB,IAAKD,EAAQd,UACX,OAAOe,EAIT,IAAIb,EAAkBG,EAAcR,KAEpC,IAAKK,EACH,OAAOa,EAGT,IAAIC,EAAQhB,EAAUiB,QAAO,SAAUC,GACrC,OAAOb,EAAca,KAAUhB,CACjC,IAEA,OAAIc,EAAMtB,OAAS,EACVsB,EAAM,IAAMD,EAIDf,EAAUiB,QAAO,SAAUC,GAC7C,OAAO5B,EAAWY,EAAiBgB,IAAS5B,EAAW4B,EAAMhB,EAC/D,IACqB,IAAMa,CAC7B,EAGAJ,EAAA,QAAkBE,oCClElBF,EAAQ,OAA2B,EACnC,MAMMQ,EAAW,CAAC,QAAS,QAAS,MAAO,OAAQ,OAAQ,OAAQ,QAenER,EAAQ,EAdyB,CAACS,EAAOC,EAAS,YAChD,GAAc,MAAVD,EAAe,OAAOA,EAC1B,MAAME,EAAmBF,EAAMG,SAAS,KACxC,MAVuB,EAACJ,EAAUC,KAClC,IAAK,MAAMI,KAAUL,EACnB,GAAIC,EAAMG,SAASC,GAAS,OAAO,EAErC,OAAO,CAAK,EAMRC,CAAiBN,EAAUC,GACtBA,EAEM,WAAXC,EACKC,EAAmBF,EAAQ,GAAGA,KAExB,UAAXC,GACKC,EAAmBF,EAAMxB,MAAM,GAAI,GAErCwB,CAAK,sCCpBdT,EAAQ,GAAuBA,EAAQ,QAAgB,EACvD,IAAIe,EAAiB,EAAQ,OAC7Bf,EAAQ,GAAgBe,EAAeC,cACvC,IAAIC,EAAwB,EAAQ,OACpCjB,EAAQ,GAAuBiB,EAAsBC,yDCLrD,IAAIC,EAAyB,EAAQ,OACrCnB,EAAQoB,YAAa,EACrBpB,EAAQgB,cAAgBhB,EAAQqB,mBAAgB,EAChD,IAAIC,EAA0BH,EAAuB,EAAQ,QACzDI,EAAkBJ,EAAuB,EAAQ,OACjDK,EAIJ,SAAiCC,EAAKC,GAAe,IAAKA,GAAeD,GAAOA,EAAIL,WAAc,OAAOK,EAAO,GAAY,OAARA,GAA+B,iBAARA,GAAmC,mBAARA,EAAsB,MAAO,CAAEE,QAASF,GAAS,IAAIG,EAAQC,EAAyBH,GAAc,GAAIE,GAASA,EAAME,IAAIL,GAAQ,OAAOG,EAAMG,IAAIN,GAAQ,IAAIO,EAAS,CAAC,EAAOC,EAAwBnC,OAAOC,gBAAkBD,OAAOoC,yBAA0B,IAAK,IAAIC,KAAOV,EAAO,GAAY,YAARU,GAAqBrC,OAAOsC,UAAUC,eAAeC,KAAKb,EAAKU,GAAM,CAAE,IAAII,EAAON,EAAwBnC,OAAOoC,yBAAyBT,EAAKU,GAAO,KAAUI,IAASA,EAAKR,KAAOQ,EAAKC,KAAQ1C,OAAOC,eAAeiC,EAAQG,EAAKI,GAAgBP,EAAOG,GAAOV,EAAIU,EAAQ,CAAIH,EAAOL,QAAUF,EAASG,GAASA,EAAMY,IAAIf,EAAKO,GAAW,OAAOA,CAAQ,CAJvxBS,CAAwB,EAAQ,QACxCC,EAAavB,EAAuB,EAAQ,QAC5CwB,EAAkB,EAAQ,OAC9B,SAASd,EAAyBH,GAAe,GAAuB,mBAAZkB,QAAwB,OAAO,KAAM,IAAIC,EAAoB,IAAID,QAAeE,EAAmB,IAAIF,QAAW,OAAQf,EAA2B,SAAkCH,GAAe,OAAOA,EAAcoB,EAAmBD,CAAmB,GAAGnB,EAAc,CAE9U,IAAIL,EAA6BG,EAAMuB,cAAc,IAAIJ,EAAgBK,gBACzEhD,EAAQqB,cAAgBA,EACxBA,EAAc4B,YAAc,sBAC5B,IAAIjC,EAA6B,SAAUkC,GAEzC,SAASlC,IAEP,IADA,IAAImC,EACKC,EAAOC,UAAUtE,OAAQuE,EAAO,IAAIC,MAAMH,GAAOI,EAAO,EAAGA,EAAOJ,EAAMI,IAC/EF,EAAKE,GAAQH,UAAUG,GAiCzB,OA/BAL,EAAQD,EAAiBZ,KAAKmB,MAAMP,EAAkB,CAACQ,MAAM1E,OAAOsE,KAAUI,MACxEC,cAAgB,IAAIhB,EAAgBK,eAC1CG,EAAMS,YAAa,EACnBT,EAAMU,oBAAsB,EAC5BV,EAAMW,eAAiB,WACrBX,EAAMU,oBAAsB1E,OAAO4E,QAC9BZ,EAAMS,aACTT,EAAMS,YAAa,EACnBI,sBAAsBb,EAAMc,YAAYC,MAAK,EAAI5C,EAAwBK,SAASwB,KAEtF,EACAA,EAAMgB,aAAe,SAAUrF,EAAUsF,GACnCjB,EAAMkB,mBAAmBD,EAAWjB,EAAMmB,QAC5CnF,OAAOoF,SAAS,EAAGzF,EAEvB,EACAqE,EAAMqB,aAAe,SAAUC,EAAML,GACnC,IAAIM,EAAOC,SAASC,eAAeH,EAAKI,UAAU,IAC9CH,GAAQvB,EAAMkB,mBAAmBD,EAAWjB,EAAMmB,QACpDI,EAAKI,gBAET,EACA3B,EAAMkB,mBAAqB,SAAUU,EAAiBC,GACpD,IAAIX,EAAqBlB,EAAMmB,MAAMD,mBACrC,OAAKA,GAKEA,EAAmB/B,MAAK,EAAIhB,EAAwBK,SAASwB,GAAQ4B,EAAiBC,EAC/F,EACO7B,CACT,EAtCA,EAAI5B,EAAgBI,SAASX,EAAekC,GAuC5C,IAAI+B,EAASjE,EAAcoB,UA2D3B,OA1DA6C,EAAOhB,YAAc,WACnB,IAAI9B,EAAMuB,KAAKY,MAAMY,SAAS/C,KAAO,KACjCA,GACFuB,KAAKC,cAAcwB,KAAKzB,KAAKY,MAAMY,SAAU/C,EAAKuB,KAAKG,qBAEzDH,KAAKE,YAAa,CACpB,EACAqB,EAAOG,kBAAoB,WAEzB,IAAIC,EADJlG,OAAOmG,iBAAiB,SAAU5B,KAAKI,gBAEvC,IAAIyB,EAAuB7B,KAAKY,MAAMY,SACpC/C,EAAMoD,EAAqBpD,IAC3BsC,EAAOc,EAAqBd,KAC1BtC,IACFkD,EAAiB3B,KAAKC,cAAc6B,KAAK9B,KAAKY,MAAMY,SAAU/C,IAM5DsC,EACFf,KAAKc,aAAaiB,UAAUhB,QAAOiB,GAC1BL,GACT3B,KAAKS,aAAakB,OAAgBK,EAEtC,EACAT,EAAOU,qBAAuB,WAC5BxG,OAAOyG,oBAAoB,SAAUlC,KAAKI,eAC5C,EACAmB,EAAOY,mBAAqB,SAA4BzB,GACtD,IAGIiB,EAHAS,EAAwBpC,KAAKY,MAAMY,SACrCT,EAAOqB,EAAsBrB,KAC7BtC,EAAM2D,EAAsB3D,IAE1BA,IACFkD,EAAiB3B,KAAKC,cAAc6B,KAAK9B,KAAKY,MAAMY,SAAU/C,IAY5DsC,EACFf,KAAKc,aAAaiB,UAAUhB,GAAOL,GAEnCV,KAAKS,aAAakB,EAAgBjB,EAEtC,EACAa,EAAOc,OAAS,WACd,OAAoBvE,EAAMwE,cAAc3E,EAAc4E,SAAU,CAC9DhG,MAAOyD,KAAKC,eACXD,KAAKY,MAAM4B,SAChB,EACOlF,CACT,CApGiC,CAoG/BQ,EAAM2E,WACRnG,EAAQgB,cAAgBA,EACxBA,EAAcoF,UAAY,CACxB/B,mBAAoB3B,EAAWf,QAAQ0E,KACvCH,SAAUxD,EAAWf,QAAQ2E,QAAQC,WACrCrB,SAAUxC,EAAWf,QAAQ6E,OAAOD,8CCtHtCvG,EAAQoB,YAAa,EACrBpB,EAAQgD,oBAAiB,EACzB,IACIyD,EAA6B,gCAC7BzD,EAA8B,WAChC,SAASA,IAAkB,CAC3B,IAAIiC,EAASjC,EAAeZ,UAqC5B,OApCA6C,EAAOO,KAAO,SAAcN,EAAU/C,GACpC,IAAIuE,EAAWhD,KAAKiD,YAAYzB,EAAU/C,GAC1C,IACE,IAAIlC,EAAQd,OAAOyH,eAAeC,QAAQH,GAC1C,OAAOzG,EAAQ6G,KAAKC,MAAM9G,GAAS,CACrC,CAAE,MAAO+G,GAIP,OAAI7H,QAAUA,OAAOsH,IAA+BtH,OAAOsH,GAA4BC,GAC9EvH,OAAOsH,GAA4BC,GAErC,CACT,CACF,EACAzB,EAAOE,KAAO,SAAcD,EAAU/C,EAAKlC,GACzC,IAAIyG,EAAWhD,KAAKiD,YAAYzB,EAAU/C,GACtC8E,EAAcH,KAAKI,UAAUjH,GACjC,IACEd,OAAOyH,eAAeO,QAAQT,EAAUO,EAC1C,CAAE,MAAOD,GACH7H,QAAUA,OAAOsH,KAGnBtH,OAAOsH,GAA8B,CAAC,GAFtCtH,OAAOsH,GAA4BC,GAAYI,KAAKC,MAAME,EAQ9D,CACF,EACAhC,EAAO0B,YAAc,SAAqBzB,EAAU/C,GAClD,IAAIiF,EAtCe,YAsCwBlC,EAASmC,SACpD,OAAOlF,QAA6CiF,EAAeA,EAAe,IAAMjF,CAC1F,EACOa,CACT,CAxCkC,GAyClChD,EAAQgD,eAAiBA,sCC7CzBhD,EAAQoB,YAAa,EACrBpB,EAAQkB,qBAIR,SAA8BoG,GAC5B,IAAIpC,GAAW,EAAIqC,EAAaC,eAC5BC,GAAQ,EAAIC,EAAOC,YAAY5G,EAAeM,eAC9CuG,GAAM,EAAIF,EAAOG,QAAQ,MAO7B,OANA,EAAIH,EAAOI,kBAAiB,WAC1B,GAAIF,EAAIG,QAAS,CACf,IAAIjJ,EAAW2I,EAAMjC,KAAKN,EAAUoC,GACpCM,EAAIG,QAAQxD,SAAS,EAAGzF,GAAY,EACtC,CACF,GAAG,CAACoG,EAAS/C,MACN,CACLyF,IAAKA,EACLI,SAAU,WACJJ,EAAIG,SACNN,EAAMtC,KAAKD,EAAUoC,EAAYM,EAAIG,QAAQE,UAEjD,EAEJ,EArBA,IAAIlH,EAAiB,EAAQ,OACzB2G,EAAS,EAAQ,OACjBH,EAAe,EAAQ,0CCJ3BvH,EAAQoB,YAAa,EACrBpB,EAAQkI,2BAAwB,EACZ,EAAQ,OACE,EAAQ,OAgBtClI,EAAQkI,sBAdsB,KAOyC,oCCZvElI,EAAQoB,YAAa,EACrBpB,EAAQmI,YACR,SAAqBC,GACnB,OAAOA,aAA2D,EAASA,EAAiBC,SAAQC,IAAWA,aAAuC,EAASA,EAAOC,UAAY,IACpL,sCCJAvI,EAAQoB,YAAa,EACrBpB,EAAQwI,uBAIR,SAAgCJ,GAC9B,IAAKA,EAAiBrJ,OACpB,OAEF,MAAM0J,EAAkB9D,SAAS+D,cAAc,0BACzCC,EAAkBhE,SAAS+D,cAAc,kDAC3CD,GACFA,EAAgBG,SAEdD,GACFA,EAAgBC,SAElB,MAAMC,GAAW,EAAIC,EAAaX,aAAaC,GACzCW,EAAUpE,SAASqB,cAAc,UACvC+C,EAAQC,QAAQC,UAAY,GAC5BF,EAAQG,WAAY,EAAIC,EAAaC,kBAAkB,CACrDb,QAASM,IAEXlE,SAAS0E,KAAKC,YAAYP,EAC5B,EAtBA,IAAII,EAAe,EAAQ,OACvBL,EAAe,EAAQ,8BCL3B9I,EAAQuJ,WAAa,CACnB,+BAAgCC,IAAM,gCACtC,gDAAiDC,IAAM,qFACvD,gDAAiDC,IAAM,wDACvD,2CAA4CC,IAAM,qFAClD,mDAAoDC,IAAM,oFAC1D,gDAAiDC,IAAM,qFACvD,mDAAoDC,IAAM,yDAC1D,sDAAuDC,IAAM,yDAC7D,0DAA2DC,IAAM,gCACjE,+DAAgEC,IAAM,+FACtE,0DAA2DC,IAAM,+FACjE,gEAAiEC,IAAM,6FACvE,+DAAgEC,IAAM,+FACtE,8DAA+DC,IAAM,oFACrE,0CAA2CC,IAAM,oFACjD,+CAAgDC,IAAM,qFACtD,uCAAwCC,IAAM,qFAC9C,6CAA8CC,IAAM,qFACpD,oDAAqDC,IAAM,wGAC3D,0CAA2CC,IAAM,qFACjD,8CAA+CC,IAAM,qFACrD,gDAAiDC,IAAM,qFACvD,kDAAmDC,IAAM,qFACzD,uDAAwDC,IAAM,qFAC9D,4DAA6DC,IAAM,oFACnE,iEAAkEC,IAAM,qFACxE,iDAAkDC,IAAM,wGACxD,kDAAmDC,IAAM,oFACzD,uDAAwDC,IAAM,qFAC9D,yDAA0DC,IAAM,oFAChE,oDAAqDC,IAAM,qFAC3D,kDAAmDC,IAAM,qFACzD,2DAA4DC,IAAM,qFAClE,qDAAsDC,IAAM,qFAC5D,oDAAqDC,IAAM,wGAC3D,gDAAiDC,IAAM,wGACvD,yCAA0CC,IAAM,qFAChD,6CAA8CC,IAAM,qFACpD,4CAA6CC,IAAM,+FACnD,4CAA6CC,IAAM,kHACnD,2CAA4CC,IAAM,qFAClD,yCAA0CC,IAAM,qFAChD,mDAAoDC,IAAM,+FAC1D,6DAA8DC,IAAM,oFACpE,wDAAyDC,IAAM,qFAC/D,gDAAiDC,IAAM,gCACvD,iDAAkDC,IAAM,+BACxD,iDAAkDC,IAAM,gCACxD,uDAAwDC,IAAM,+FAC9D,mDAAoDC,IAAM,gCAC1D,iCAAkCC,IAAM,yGACxC,2DAA4DC,IAAM,qFAClE,yCAA0CC,IAAM,kEAChD,oCAAqCC,IAAM,qFAC3C,6CAA8CC,IAAM,qFACpD,yCAA0CC,IAAM,qFAChD,mCAAoCC,IAAM,gCAC1C,4DAA6DC,IAAM,qFACnE,6DAA8DC,IAAM,qFACpE,yDAA0DC,IAAM,+FAChE,2DAA4DC,IAAM,qFAClE,4DAA6DC,IAAM,qFACnE,2DAA4DC,IAAM,qFAClE,iEAAkEC,IAAM,wGACxE,+DAAgEC,IAAM,qFACtE,2DAA4DC,IAAM,oFAClE,8DAA+DC,IAAM,+FACrE,iEAAkEC,IAAM,wGACxE,6DAA8DC,IAAM,yGACpE,8DAA+DC,IAAM,wGACrE,4DAA6DC,IAAM,qFACnE,uDAAwDC,IAAM,+FAC9D,6DAA8DC,IAAM,qFACpE,0DAA2DC,IAAM,+FACjE,+DAAgEC,IAAM,8FACtE,gEAAiEC,IAAM,+FACvE,6DAA8DC,IAAM,qFACpE,8DAA+DC,IAAM,mFACrE,kEAAmEC,IAAM,iHACzE,gEAAiEC,IAAM,qFACvE,6DAA8DC,IAAM,kHACpE,iEAAkEC,IAAM,qFACxE,4DAA6DC,IAAM,8FACnE,kEAAmEC,IAAM,qFACzE,qDAAsDC,IAAM,qFAC5D,gCAAiCC,IAAM,6GCtFzCC,EAAO9O,QAAU,CAAC,CACZ+O,OAAQC,EAAQ,OAChB7O,QAAS,CAAC,QAAU,GAAG,WAAa,iBAAiB,MAAO,EAAM,WAAY,EAAM,YAAa,EAAM,QAAU,GAAG,oBAAsB,EAAE,yBAA0B,IACtK,CACA4O,OAAQC,EAAQ,OAChB7O,QAAS,CAAC,QAAU,GAAG,KAAO,sBAAsB,QAAS,EAAK,qBAAsB,EAAK,mBAAqB,QAAQ,YAAc,YAAY,iBAAkB,EAAK,YAAc,qCACzL,CACA4O,OAAQC,EAAQ,OAChB7O,QAAS,CAAC,QAAU,GAAG,mBAAqB,SAAS,UAAY,CAAC,KAAK,MAAM,gBAAkB,KAAK,QAAU,sBAAsB,eAAiB,CAAC,cAAgB,CAAC,aAAc,GAAO,cAAe,EAAM,aAAc,GAAO,MAAQ,CAAC,CAAC,UAAY,oBAAoB,qBAAsB,GAAM,CAAC,UAAY,kBAAkB,qBAAsB,GAAM,CAAC,UAAY,WAAW,UAAY,CAAC,UAC5Y,CACA4O,OAAQC,EAAQ,OAChB7O,QAAS,CAAC,QAAU,KACpB,CACA4O,OAAQC,EAAQ,OAChB7O,QAAS,CAAC,QAAU,KACpB,CACA4O,OAAQC,EAAQ,MAChB7O,QAAS,CAAC,QAAU,4BCjB1B,MAAM8O,EAAUD,EAAQ,QAClB,2BAAEE,EAA0B,SAAEC,EAAQ,aAAEC,GAC5CJ,EAAAA,MAAAA,GAEFhP,EAAQ,EAAY,SAACqP,EAAK/L,EAAWgM,EAAeC,QAAtB,IAAJjM,IAAAA,EAAO,CAAC,GAYhC,IAAIkM,EAAUP,EAAQQ,KAAIV,IACxB,IAAKA,EAAOA,OAAOM,GACjB,OAGF/L,EAAK4L,2BAA6BA,EAClC5L,EAAK6L,SAAWA,EAChB7L,EAAK8L,aAAeA,EAEpB,MAAMM,EAASX,EAAOA,OAAOM,GAAK/L,EAAMyL,EAAO5O,SAI/C,OAHIuP,GAAUH,IACZjM,EAAOiM,EAAa,CAAEjM,OAAMoM,SAAQX,YAE/BW,CAAM,IAMf,OAFAF,EAAUA,EAAQlP,QAAOoP,QAAuB,IAANA,IAEtCF,EAAQzQ,OAAS,EACZyQ,EACEF,EACF,CAACA,GAED,EAEX,EAEAtP,EAAQ,EAAiB,CAACqP,EAAK/L,EAAMgM,IACnCL,EAAQU,QACN,CAACC,EAAUC,IACTA,EAAKd,OAAOM,GACRO,EAASE,MAAK,IAAMD,EAAKd,OAAOM,GAAK/L,EAAMuM,EAAK1P,WAChDyP,GACNG,QAAQC,gCClDZhQ,EAAQ,EAAsB,2ECG9B,MCgBA,SAAciQ,GAGb,OAFAA,EAAMA,GAAOnQ,OAAOoQ,OAAO,MAEpB,CAQNC,GAAI,SAAYC,EAAcC,IAC5BJ,EAAIG,KAAUH,EAAIG,GAAQ,KAAKE,KAAKD,EACtC,EASAE,IAAK,SAAaH,EAAcC,GAC3BJ,EAAIG,IACPH,EAAIG,GAAMI,OAAOP,EAAIG,GAAMK,QAAQJ,KAAa,EAAG,EAErD,EAUAK,KAAM,SAAcN,EAAcO,IAChCV,EAAIG,IAAS,IAAInR,QAAQwQ,KAAI,SAAUY,GAAWA,EAAQM,EAAM,KAChEV,EAAI,MAAQ,IAAIhR,QAAQwQ,KAAI,SAAUY,GAAWA,EAAQD,EAAMO,EAAM,GACvE,EAEF,CD1DgBC,0KEFhB,EAAeC,IACb,QAAsBnL,IAAlBmL,EACF,OAAOA,EAET,IAAKC,EAAMC,EAAM,IAASF,EAAcG,MAAM,KAK9C,OAJID,IACFA,EAAS,IAAMA,GAGT,MAAJD,EACK,IAAMC,EAEiB,MAA5BD,EAAKG,OAAOH,EAAK/R,OAAS,GACrB+R,EAAK7R,MAAM,GAAI,GAAK8R,EAEtBD,EAAOC,CACf,aCXD,MAAMG,EAAY,IAAIC,IACtB,IAAIC,EAAa,GAEjB,MAAMC,EAAeC,IACnB,IAAIC,EAAiBD,EAGrB,IAAoB,IAFDA,EAAYb,QAAQ,KAEhB,CACrB,MAAOK,EAAMU,GAAMF,EAAYN,MAAM,KACrCO,EAAoBT,EAAI,IAAIW,mBAAmBD,EACjD,CAEA,MAAMnK,EAAWqK,mBAAmBH,GAUpC,OAPwBI,EAAAA,EAAAA,GACtBtK,EACAqK,mBAAmBE,KAGlBZ,MAAM,KAAK,EAEQ,EAGxB,SAASa,EAAWf,GAElB,OACEA,EAAKnS,WAAW,MAChBmS,EAAKnS,WAAW,aAChBmS,EAAKnS,WAAW,WAETmS,EAIF,IAAIgB,IACThB,EACA3R,OAAO+F,SAAS6M,MAAQ5S,OAAO+F,SAAS6M,KAAKnR,SAAS,KAAI,SAC1DyG,QACJ,CAOO,MAAM2K,EAAgB/R,IAC3BmR,EAAanR,CAAK,EAWPgS,EAAgBX,IAC3B,MAAMY,EAAkBC,EAAUb,GAE5Bc,EAAYhB,EAAW3B,KAAI4C,IAA0B,IAAzB,KAAEvB,EAAI,UAAEwB,GAAWD,EACnD,MAAO,CACLvB,KAAMwB,EACNC,aAAczB,EACf,IAGGA,GAAO0B,EAAAA,EAAAA,MAAKJ,EAAWF,GAE7B,OAAIpB,EACK2B,EAAkB3B,EAAK4B,MAAMH,cAG/B,IAAI,EAYAI,EAAkBrB,IAC7B,MAAMY,EAAkBC,EAAUb,GAE5Bc,EAAYhB,EAAW3B,KAAImD,IAA0B,IAAzB,KAAE9B,EAAI,UAAEwB,GAAWM,EACnD,MAAO,CACL9B,KAAMwB,EACNC,aAAczB,EACf,IAGGA,GAAO0B,EAAAA,EAAAA,MAAKJ,EAAWF,GAE7B,OAAIpB,EACKA,EAAK+B,OAGP,CAAC,CAAC,EAWEC,EAAWxB,IACtB,MAAMY,EAAkBb,EAAaQ,EAAWP,IAChD,GAAIJ,EAAUpP,IAAIoQ,GAChB,OAAOhB,EAAUnP,IAAImQ,GAGvB,MAAMa,GAAWC,EAAAA,EAAAA,GAAwB1B,GACzC,GAAIyB,EACF,OAAOD,EAASC,EAASE,QAG3B,IAAIC,EAAYjB,EAAcC,GAQ9B,OANKgB,IACHA,EAAYf,EAAUb,IAGxBJ,EAAU1O,IAAI0P,EAAiBgB,GAExBA,CAAS,EAULf,EAAYb,IAGvB,IAAI4B,EAFoB7B,EAAaQ,EAAWP,IAShD,MANa,gBAAT4B,IACFA,EAAS,KAGXA,EAAYT,EAAkBS,GAEvBA,CAAS,21BC9JH,SAASC,EAAgBC,GAItC,OAHAD,EAAkBrT,OAAOuT,eAAiBvT,OAAOwT,eAAepP,OAAS,SAAyBkP,GAChG,OAAOA,EAAEG,WAAazT,OAAOwT,eAAeF,EAC9C,EACOD,EAAgBC,EACzB,gBCHe,SAASI,EAAWC,EAAQnQ,EAAMoQ,GAa/C,OATEF,ECNW,WACb,GAAuB,oBAAZG,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAUC,KAAM,OAAO,EACnC,GAAqB,mBAAVC,MAAsB,OAAO,EACxC,IAEE,OADAC,QAAQ3R,UAAU4R,QAAQ1R,KAAKqR,QAAQC,UAAUG,QAAS,IAAI,WAAa,MACpE,CACT,CAAE,MAAO/M,GACP,OAAO,CACT,CACF,CDPM,GACW2M,QAAQC,UAAU1P,OAElB,SAAoBuP,EAAQnQ,EAAMoQ,GAC7C,IAAIO,EAAI,CAAC,MACTA,EAAE3D,KAAK7M,MAAMwQ,EAAG3Q,GAChB,IACI4Q,EAAW,IADGC,SAASjQ,KAAKT,MAAMgQ,EAAQQ,IAG9C,OADIP,IAAO,EAAAL,EAAA,GAAea,EAAUR,EAAMtR,WACnC8R,CACT,EAEKV,EAAW/P,MAAM,KAAMJ,UAChC,CEZe,SAAS+Q,EAAiBV,GACvC,IAAIW,EAAwB,mBAARlD,IAAqB,IAAIA,SAAQzL,EAuBrD,OAtBA0O,EAAmB,SAA0BV,GAC3C,GAAc,OAAVA,ICPkCY,EDOEZ,GCNsB,IAAzDS,SAASI,SAASjS,KAAKgS,GAAI7D,QAAQ,kBDMQ,OAAOiD,ECP5C,IAA2BY,EDQtC,GAAqB,mBAAVZ,EACT,MAAM,IAAIc,UAAU,sDAEtB,QAAsB,IAAXH,EAAwB,CACjC,GAAIA,EAAOvS,IAAI4R,GAAQ,OAAOW,EAAOtS,IAAI2R,GACzCW,EAAO7R,IAAIkR,EAAOe,EACpB,CACA,SAASA,IACP,OAAO,EAAUf,EAAOrQ,UAAW,EAAeK,MAAMgR,YAC1D,CASA,OARAD,EAAQrS,UAAYtC,OAAOoQ,OAAOwD,EAAMtR,UAAW,CACjDsS,YAAa,CACXzU,MAAOwU,EACPE,YAAY,EACZC,UAAU,EACVC,cAAc,MAGX,EAAAxB,EAAA,GAAeoB,EAASf,EACjC,EACOU,EAAiBV,EAC1B,sCE3BO,MAAMoB,EAAsBzC,IAA4B,IAA3B,QAAE0C,EAAO,SAAE7O,GAAUmM,EACvD,MAAM2C,EAAW,CACfxT,EAAAA,cAAoB,cAAe,CACjCyT,GAAOF,EAAO,OAEhBvT,EAAAA,cAAoB,YAAa,CAC/ByT,GAAOF,EAAO,QAkBlB,OAdI7O,IAGF8O,EAAS1E,KAAKpK,GACd8O,EAAS1E,KACP9O,EAAAA,cAAoB,cAAe,CACjCyT,GAAOF,EAAO,OAEhBvT,EAAAA,cAAoB,YAAa,CAC/ByT,GAAOF,EAAO,SAKbC,CAAQ,ECZJE,EAAc7C,IAKpB,IALqB,UAC1B8C,EAAS,WACTC,EAAU,SACVlP,KACGmP,GACJhD,EACC,MAAMiD,GAAY3N,EAAAA,EAAAA,YAAW4N,EAAAA,IACvBC,GAAc7N,EAAAA,EAAAA,YAAW8N,EAAAA,IACzBC,EAAoBJ,EAAUH,GAEpC,IAAKO,EAAmB,CACtB,GAAIN,EACF,OAAO,KAEP,MAAM,IAAIO,MAAM,UACJD,EAAiB,UAAUP,EAAS,mBAGpD,CAEA,MAAMJ,EA7BWa,EAACT,EAAWE,IACxBvV,OAAO+V,KAAKR,GAAYtW,OAKnBoW,EAAS,KADCW,EAAAA,EAAAA,GAAoBT,GAH/BF,EA2BOS,CAAWF,EAAmBL,GAG9C,IAAIU,EAAaP,EAAYT,GAa7B,OAZKgB,EAOC7P,IACF6P,EAAWC,aAAc,GAP3BR,EAAYT,GAAWgB,EAAa,CAClCzR,MAAO+Q,EACPF,UAAWO,EACXM,cAAe9P,GAQZ1E,EAAAA,cAACsT,EAAmB,CAACC,QAASA,GAAU7O,EAA+B,EC/CnE+P,EAAc5D,IAKpB,IALqB,UAC1B8C,EAAS,WACTC,EAAU,SACVlP,KACGmP,GACJhD,EACC,MAAMiD,GAAY3N,EAAAA,EAAAA,YAAW4N,EAAAA,IACvBW,GAAmBvO,EAAAA,EAAAA,YAAWwO,EAAAA,IAC9BT,EAAoBJ,EAAUH,GAC9BlW,EAAQiX,EAAiBnU,IAAI2T,GAEnC,IAAKzW,EAAO,CACV,GAAImW,EACF,OAAO,KAEP,MAAM,IAAIO,MAAM,UACJD,EAAiB,UAAUP,EAAS,mBAGpD,CAEA,OACE3T,EAAAA,cAACvC,EAAMmX,UAAStW,OAAAuW,OAAA,CACdC,aAAcrX,EAAMqX,aACpBC,KAAMtX,EAAMsX,MACRlB,GAEHnP,EACe,ECxBf,SAASsQ,EAAMlS,GACW,CAE7B,MAAMmS,EAAgB,IACjBnS,EACH6Q,UAAW7Q,EAAMoS,cAEZD,EAAcC,aACdD,EAAcE,qBAErB,MAAMC,GAAgBjP,EAAAA,EAAAA,YAAWkP,EAAAA,IAG3BC,EAAaC,EAAmBzS,GACtC,GAAIxE,OAAO+V,KAAKiB,GAAY/X,OAC1B,MAAM,IAAIiY,EACuB,YAA/BJ,EAAcK,kBACdR,EAActB,UACd2B,EACAxS,EAAMqS,sBAIV,GAAmC,WAA/BC,EAAcK,kBAChB,OAAOzV,EAAAA,cAAC0T,EAAgBuB,GACnB,GAAmC,YAA/BG,EAAcK,kBAEvB,OAAOzV,EAAAA,cAACyU,EAAgBQ,GACnB,GAC0B,YAA/BG,EAAcK,mBACiB,YAA/BL,EAAcK,kBAGd,OAAOzV,EAAAA,cAACyU,EAAgBQ,GACnB,GAAmC,WAA/BG,EAAcK,kBAAgC,CAGvD,IAAIC,EAAwB,GAI5B,IACEA,EAAwB,wBAA2BN,EAAcO,UAAUC,KAAI,MAAMR,EAAcO,UAAUE,cAAa,mCAAmC/S,EAAMoS,MAAK,KAC1K,CAAE,MACA,CAGF,MAAM,IAAIf,MAAM,mCACqBuB,EAAwB,6FAE/D,CACE,MAAM,IAAIvB,MAAM,kBACIiB,EAAcK,kBAAiB,sBAGvD,CAGF,CAAC,IAEKD,EAAe,SAAAM,GACnB,SAAAN,EAAYO,EAAWpC,EAAW2B,EAAYU,GAAqB,IAADrU,EAChE,MAAMsU,EAAS3X,OAAO4X,QAAQZ,GAC3BrH,KACC4C,IAAA,IAAElQ,EAAKlC,GAAMoS,EAAA,2BACUpS,EAAK,qBAAqBkC,EAAG,YAErDwV,KAAK,MAEFP,EAAI,kBACV,IAAIQ,EAAK,GACLC,EAAO,GAEX,GAAIN,EAAW,CAGb,MAIMO,EAHJtW,EAAAA,mDAAyDuW,uBAAuBC,kBAGrDC,OAAOjH,MAAM,MAAM/R,MAAM,GACtD6Y,EAAW,GAAKA,EAAW,GAAGG,OAC9BL,EAAQ,KAAOE,EAAWH,KAAK,MAE/BE,EAAO,UAAa1C,EAAS,iDAAiDsC,EAAM,IACtF,KAAO,CAELI,EAAaT,EAAI,YAAYjC,EAAS,iDAAiDsC,EAAM,KAE7FG,EAAWC,EAAO,MADC,IAAIlC,OAAQiC,MAAMK,OAAOjH,MAAM,MAAM/R,MAAM,GAC5B0Y,KAAK,KACzC,CAYC,OAVDxU,EAAAmU,EAAAhV,KAAA,KAAMuV,IAAQ,MACTT,KAAOA,EACRQ,EACFzU,EAAKyU,MAAQA,EAEbjC,MAAMuC,kBCxGG,SAAgCC,GAC7C,QAAa,IAATA,EACF,MAAM,IAAIC,eAAe,6DAE3B,OAAOD,CACT,CDmG6BE,CAAAlV,GAAO6T,GAG5BQ,IACFrU,EAAKmV,eAAiB,IAAKd,EAAoBe,aAAa,UAC7DpV,CACH,CAAC,OA3CkBqV,EAAAA,EAAAA,GAAAxB,EAAAM,GA2ClBN,CAAA,CA3CkB,CA2ClB5C,EA3C2BuB,QA8C9B,MAAMoB,EAAqB,SACzBzS,EACAmT,EACAgB,EACA3H,QAFM,IAAN2G,IAAAA,EAAS,CAAC,QACC,IAAXgB,IAAAA,EAAc,SACV,IAAJ3H,IAAAA,EAAO,MAGP,IAAK,MAAOsG,EAAMnX,KAAUH,OAAO4X,QAAQpT,GAAQ,CACjD,GACErE,UAEE6Q,GAAY,aAAJsG,EAEV,SAGF,MAAMsB,EAAW5H,EAAUA,EAAI,IAAIsG,EAASA,EAE5B,mBAALnX,EACTwX,EAAOiB,UAAmBzY,EACL,iBAALA,GAAsBwY,EAAYhI,QAAQxQ,IAAU,IACpEwY,EAAYnI,KAAKrQ,GACjB8W,EAAmB9W,EAAOwX,EAAQgB,EAAaC,GAEnD,CAEA,OAAOjB,CACT,iBE1IA,MAAMkB,EAAmBC,EAAAA,GAAOC,QAEhC,SAASC,IACP,MAAM,IAAInD,MACR,6UAKJ,2PCXA,MAyDMoD,EAzDU,SAAUC,GACxB,GAAmB,oBAARrU,SACT,OAAO,EAET,MAAMsU,EAAWtU,SAASqB,cAAc,QACxC,IACE,GAAIiT,EAASC,SAA2C,mBAAzBD,EAASC,QAAQC,SAC9C,OAAOF,EAASC,QAAQC,SAASH,EAErC,CAAE,MAAOI,GACP,OAAO,CACT,CACA,OAAO,CACT,CA4CkCC,CAAQ,YA1Cb,SAAUC,EAAKnZ,GAC1C,OAAO,IAAI4P,SAAQ,CAACC,EAASuJ,KAC3B,GAAmB,oBAAR5U,SAET,YADA4U,IAIF,MAAMC,EAAO7U,SAASqB,cAAc,QACpCwT,EAAKC,aAAa,MAAD,YACjBD,EAAKC,aAAa,OAAQH,GAE1BxZ,OAAO+V,KAAK1V,GAASuZ,SAAQvX,IAC3BqX,EAAKC,aAAatX,EAAKhC,EAAQgC,GAAK,IAGtCqX,EAAKG,OAAS3J,EACdwJ,EAAKI,QAAUL,GAGb5U,SAASkV,qBAAqB,QAAQ,IACtClV,SAASmV,kBAAkB,UAAU,GAAGC,YAC5BzQ,YAAYkQ,EAAK,GAEnC,EAE4B,SAAUF,GACpC,OAAO,IAAIvJ,SAAQ,CAACC,EAASuJ,KAC3B,MAAMS,EAAM,IAAIC,eAChBD,EAAIE,KAAK,MAAOZ,GAAK,GAErBU,EAAIL,OAAS,KACQ,MAAfK,EAAIG,OACNnK,IAEAuJ,GACF,EAGFS,EAAII,KAAK,KAAK,GAElB,EAMMC,EAAa,CAAC,EAkBpB,MAhBiB,SAAUf,EAAKnZ,GAC9B,OAAO,IAAI4P,SAAQC,IACbqK,EAAWf,GACbtJ,IAIF+I,EAA0BO,EAAKnZ,GAC5B2P,MAAK,KACJE,IACAqK,EAAWf,IAAO,CAAI,IAEvBgB,OAAM,QAAS,GAEtB,wBCrEO,MAAMC,EAAqB,CAIhC5E,MAAM,QAIN6E,QAAQ,WAWJC,EAAoBC,IACxB,MAAO5J,EAAM6J,GAAeD,EAAQ1J,MAAM,KAPZ4J,MAS9B,MAAyB,eADH,MAAJ9J,EAAY,SAP9B8J,EAAQ,OADsBA,EAQqC9J,GAP7D,GAAa8J,EAAE3b,MAAM,GAAK2b,GAC1Bha,SAAS,KAAOga,EAAE3b,MAAM,GAAI,GAAK2b,GAOS,mBAC9CD,EAAW,IAAOA,EAAW,GAAO,EAQlCE,EAAmBH,GAAWA,EAAQ/b,WAAW,MAEvD,SAASmc,EAAQxB,EAAKyB,GACpB,YAD0B,IAANA,IAAAA,EAAM,OACnB,IAAIhL,SAAQC,IACjB,MAAMgK,EAAM,IAAIC,eAChBD,EAAIE,KAAKa,EAAQzB,GAAK,GACtBU,EAAIgB,mBAAqB,KACD,GAAlBhB,EAAIiB,YACNjL,EAAQgK,EACV,EAEFA,EAAII,KAAK,KAAK,GAElB,CAEA,MAgBMc,EAAY,+BAEZC,EAAkB,SAACC,EAAUhF,EAAkB/M,GAAU,IAADgS,OAAlB,IAATjF,IAAAA,EAAY,MAC7C,MAAMkF,EAAO,CACXC,mBAAoBH,EAASG,mBAC7BzK,KAAMsK,EAAStK,KACf0K,uBAAwBJ,EAASI,uBACjClJ,UAAW8I,EAAS9I,UACpBmJ,kBAAmBL,EAASK,kBAC5BC,mBAAoBN,EAASM,mBAC7BpG,UAA6B,QAApB+F,EAAED,EAAS9F,iBAAS,IAAA+F,EAAAA,EAAI,CAAC,GAGpC,MAAO,CACLjF,YACA/M,OACAsS,KAAMP,EAAS1L,OACf4L,OAEJ,EAEA,SAASM,EAAgBC,GACvB,OAAO,IAAI9L,SAAQC,IACjB,IACE,MAAMN,EAASmM,EAASC,WACxB9L,EAAQN,EACV,CAAE,MAAO0J,GACP,IACEtZ,OAAOuC,eAAeC,KAAK8W,EAAI,eAC/BtZ,OAAOuC,eAAeC,KAAK8W,EAAI,WAM/B,MAAMA,EAJN2C,YAAW,KACTH,EAAgBC,GAAU/L,KAAKE,EAAQ,GACtC,IAIP,IAEJ,CAEO,IAAMgM,EAAU,WACrB,SAAAA,EAAYC,EAAe7K,GAAa,KAgCxC8K,wBAA0B,IAAI/K,IAhB5BzN,KAAKyY,OAAS,IAAIhL,IAClBzN,KAAK0Y,WAAa,IAAIjL,IACtBzN,KAAK2Y,cAAgB,CAAC,EACtB3Y,KAAK4Y,WAAa,IAAInL,IACtBzN,KAAK6Y,mBAAqB,IAAIpL,IAC9BzN,KAAK8Y,aAAe,IAAIrL,IACxBzN,KAAK+Y,gBAAkB,IAAItL,IAC3BzN,KAAKgZ,SAAW,IAAIvL,IACpBzN,KAAKiZ,wBAAyB,EAC9BjZ,KAAKkZ,eAAiB,GACtBlZ,KAAKmZ,kBAAoB,IAAIC,IAC7BpZ,KAAKqZ,kBAAoB,IAAID,IAC7BpZ,KAAKuY,cAAgBA,GACrBjK,EAAAA,EAAAA,IAAcZ,EAChB,CAAC,IAAAnM,EAAA+W,EAAA5Z,UAgrBA,OAhrBA6C,EAID+X,YAAA,SAAY1D,GACV,IAAI2D,EAAkBvZ,KAAKwY,wBAAwBna,IAAIuX,GAQvD,OANK2D,IACHA,EAAkBnC,EAAQxB,EAAI,OAC9B5V,KAAKwY,wBAAwB1Z,IAAI8W,EAAK2D,IAIjCA,EACJnN,MAAK+L,IACJnY,KAAKwY,wBAAwBgB,OAAO5D,GAC7BuC,KAERvB,OAAMlB,IAEL,MADA1V,KAAKwY,wBAAwBgB,OAAO5D,GAC9BF,CAAG,GAEf,EAACnU,EAEDkY,aAAA,SAAaC,GACX1Z,KAAK0Z,UAAYA,EACjB1Z,KAAK2Z,iBAAmBD,EAAU,0BAA0BE,MAAKrJ,GAAKA,GACxE,EAAChP,EAEDsY,kBAAA,SAAkBC,GAChB,MAAM,SAAEC,EAAQ,QAAEC,EAAU,GAAMF,EAC5BlE,EAAMmB,EAAkBgD,GAC9B,OAAO/Z,KAAKsZ,YAAY1D,GAAKxJ,MAAKkK,IAChC,MAAM,OAAEG,EAAM,aAAEwD,GAAiB3D,EAGjC,GAAe,MAAXG,EACF,IACE,MAAMyD,EAAc9W,KAAKC,MAAM4W,GAC/B,QAAyBjY,IAArBkY,EAAY9M,KACd,MAAM,IAAI6E,MAAM,iCAGlB,MAAMgF,EAAc8C,EAASzM,MAAM,KAAK,GAKxC,OAJI2J,IAAgBiD,EAAY9M,KAAK+M,SAASlD,KAC5CiD,EAAY9M,MAAI,IAAQ6J,GAGnB7a,OAAOuW,OAAOmH,EAAS,CAC5BrD,OAAQI,EAAmBC,QAC3BsD,QAASF,GAEb,CAAE,MAAOxE,GACP,CAKJ,OAAe,MAAXe,GAA6B,MAAXA,EAER,cAARsD,GAAoC,cAARA,EACvB3d,OAAOuW,OAAOmH,EAAS,CAC5BrD,OAAQI,EAAmB5E,QAMxBjS,KAAK6Z,kBACVzd,OAAOuW,OAAOmH,EAAS,CAAEC,SAAS,YAAcM,UAAU,KAK/C,MAAX5D,EACKzW,KAAK6Z,kBACVzd,OAAOuW,OAAOmH,EAAS,CACrBC,SAAS,YACTO,qBAAqB,KAMvBN,EAAU,EACLha,KAAK6Z,kBACVzd,OAAOuW,OAAOmH,EAAS,CAAEE,QAASA,EAAU,KAKzC5d,OAAOuW,OAAOmH,EAAS,CAC5BrD,OAAQI,EAAmB5E,OAC3B,GAEN,EAAC1Q,EAEDgZ,0BAAA,SAA0BT,GACxB,MAAM,SAAEC,EAAQ,QAAEC,EAAU,GAAMF,EAC5BlE,EAAMmB,EAAkBgD,GAAU5d,QAAQ,QAAD,aAC/C,OAAO6D,KAAKsZ,YAAY1D,GAAKxJ,MAAKkK,IAChC,MAAM,OAAEG,EAAM,aAAEwD,GAAiB3D,EAGjC,GAAe,MAAXG,EACF,IACE,OAAOra,OAAOuW,OAAOmH,EAAS,CAC5BrD,OAAQI,EAAmBC,QAC3BsD,QAASH,GAEb,CAAE,MAAOvE,GACP,CAKJ,OAAe,MAAXe,GAA6B,MAAXA,EAER,cAARsD,GAAoC,cAARA,EACvB3d,OAAOuW,OAAOmH,EAAS,CAC5BrD,OAAQI,EAAmB5E,QAMxBjS,KAAKua,0BACVne,OAAOuW,OAAOmH,EAAS,CAAEC,SAAS,YAAcM,UAAU,KAK/C,MAAX5D,EACKzW,KAAKua,0BACVne,OAAOuW,OAAOmH,EAAS,CACrBC,SAAS,YACTO,qBAAqB,KAMvBN,EAAU,EACLha,KAAKua,0BACVne,OAAOuW,OAAOmH,EAAS,CAAEE,QAASA,EAAU,KAKzC5d,OAAOuW,OAAOmH,EAAS,CAC5BrD,OAAQI,EAAmB5E,OAC3B,GAEN,EAAC1Q,EAEDiZ,iBAAA,SAAiBxD,GACf,MAAM+C,GAAW3K,EAAAA,EAAAA,IAAS4H,GAC1B,GAAIhX,KAAK4Y,WAAWxa,IAAI2b,GAAW,CACjC,MAAMrC,EAAW1X,KAAK4Y,WAAWva,IAAI0b,GAEnC,OAAO1N,QAAQC,QAAQoL,EAE3B,CAEA,OAAO1X,KAAK6Z,kBAAkB,CAAEE,aAAY3N,MAAKsL,IAC/C1X,KAAK4Y,WAAW9Z,IAAIib,EAAUrC,GAEvBA,IAEX,EAACnW,EAEDkZ,yBAAA,SAAyBzD,GACvB,MAAM+C,GAAW3K,EAAAA,EAAAA,IAAS4H,GAC1B,GAAIhX,KAAK6Y,mBAAmBza,IAAI2b,GAAW,CACzC,MAAMrC,EAAW1X,KAAK6Y,mBAAmBxa,IAAI0b,GAE3C,OAAO1N,QAAQC,QAAQoL,EAE3B,CAEA,OAAO1X,KAAKua,0BAA0B,CAAER,aAAY3N,MAAKsL,IACvD1X,KAAK6Y,mBAAmB/Z,IAAIib,EAAUrC,GAE/BA,IAEX,EAACnW,EAEDmZ,kBAAA,SAAkBjJ,GAChB,GAAIzR,KAAK8Y,aAAa1a,IAAIqT,GAAY,CACpC,MAAMyI,EAAcla,KAAK8Y,aAAaza,IAAIoT,GAC1C,OAAOpF,QAAQC,QAAQ,CAAEmF,YAAWyI,eACtC,CAGA,OAAO9C,EADuB,eAAe3F,EAAS,QACnC,OAAQrF,MAAKuO,IAC9B,MAAMT,EAAc9W,KAAKC,MAAMsX,EAAIV,cAGnC,OADAja,KAAK8Y,aAAaha,IAAI2S,EAAWyI,GAC1B,CAAEzI,YAAWyI,cAAa,GAErC,EAAC3Y,EAEDgN,cAAA,SAAcyI,GACZ,OAAOzI,EAAAA,EAAAA,IAAcyI,EACvB,EAEAzV,EACAkK,SAAA,SAASuL,GACP,MAAM+C,GAAW3K,EAAAA,EAAAA,IAAS4H,GAC1B,GAAIhX,KAAKyY,OAAOra,IAAI2b,GAAW,CAC7B,MAAMnC,EAAO5X,KAAKyY,OAAOpa,IAAI0b,GAE3B,OAAInC,EAAKgD,MACAvO,QAAQC,QAAQ,CACrBsO,MAAOhD,EAAKgD,MACZnE,OAAQmB,EAAKnB,SAIVpK,QAAQC,QAAQsL,EAAKwC,QAEhC,CAEA,GAAIpa,KAAK0Y,WAAWta,IAAI2b,GACtB,OAAO/Z,KAAK0Y,WAAWra,IAAI0b,GAG7B,MAAMc,EAAmB,CACvB7a,KAAK8a,cACL9a,KAAKwa,iBAAiBT,IAOxB,MAAMR,EAAkBlN,QAAQE,IAAIsO,GAAkBzO,MAAK2O,IACzD,MAAOC,EAAiBC,EAAkBC,GAAmBH,EAE7D,GACEE,EAAiBxE,SAAWI,EAAmB5E,QAC/CiJ,aAAe,EAAfA,EAAiBzE,UAAWI,EAAmB5E,MAE/C,MAAO,CACLwE,OAAQI,EAAmB5E,OAI/B,IAAIyF,EAAWuD,EAAiBb,QAEhC,MAAM,mBACJvC,EACAE,kBAAmBoD,EAAwB,GAAE,UAC7CvJ,EAAY,CAAC,GACX8F,EAEE0D,EAAc,CAAC,EAEfC,EAAoBxb,MAAMyb,KAAK,IAAIlC,IAAIhd,OAAOmf,OAAO3J,KAErD4J,EAAYjgB,IAChB,GAAIyE,KAAKgZ,SAAS5a,IAAI7C,EAAMmY,MAC1B,OAAO1T,KAAKgZ,SAAS3a,IAAI9C,EAAMmY,MAC1B,GAAI1T,KAAK+Y,gBAAgB3a,IAAI7C,EAAMmY,MACxC,OAAO1T,KAAK+Y,gBAAgB1a,IAAI9C,EAAMmY,MAGxC,MAAM+H,EAAWzb,KAAKuY,cAAchd,EAAMsc,oBAAoBzL,MAC5DsG,IACE,MAAO,CACLA,WAzYQgJ,EAyYiBhJ,EAzYXgJ,GAAKA,EAAEzd,SAAYyd,GA0YjC9I,aAAcrX,EAAMyQ,OAAO4G,aAC3BC,KAAMtX,EAAMyQ,OAAO6G,MA3YX6I,KA4YT,IAUL,OANA1b,KAAK+Y,gBAAgBja,IAAIvD,EAAMmY,KAAM+H,GACrCA,EAASrP,MAAKN,IACZ9L,KAAKgZ,SAASla,IAAIvD,EAAMmY,KAAM5H,GAC9B9L,KAAK+Y,gBAAgBS,OAAOje,EAAMmY,KAAK,IAGlC+H,CAAQ,EAGjB,OAAOpP,QAAQE,IACb8O,EAAkBtP,KAAI0F,GAAazR,KAAK0a,kBAAkBjJ,MAC1DrF,MAAKuP,IACL,MAAMC,EAAS,GACTC,GAAwBC,EAAAA,EAAAA,GAAOX,GAErC,IAAK,MAAM,YAAEjB,EAAW,UAAEzI,KAAerV,OAAOmf,OAAOI,GAAa,CAClEC,EAAOhP,KAAK,CAAE8G,KAAMjC,KAAcyI,IAClC,IAAK,MAAM6B,KAAmB7B,EAAYnC,kBACnC8D,EAAyB1B,SAAS4B,IACrCF,EAAyBjP,KAAKmP,EAGpC,CAEA,MAAMC,EAAoB,CACxB3P,QAAQE,IAAIqP,EAAO7P,IAAIyP,IACvBxb,KAAKuY,cAAcV,EAAmB,SAItCmE,EAAkBpP,KAAK5M,KAAKuY,cAAcV,IAS5C,MAAMoE,EAAyB5P,QAAQE,IAAIyP,GAAmB5P,MAC5DvG,IACE,MAAOqW,EAAiBC,EAAeC,GAAiBvW,EAExDuV,EAAYiB,UAAY,IAAIC,KAE5B,IAAK,MAAMC,KAAkBL,IACtBK,GAAkBA,aAA0BtK,SAC/CmJ,EAAY3E,OAASI,EAAmB5E,MACxCmJ,EAAYR,MAAQ2B,GAYxB,IAAIC,EAEJ,KARIJ,GAAiBA,aAAyBnK,SAE5CmJ,EAAY3E,OAASI,EAAmB5E,MACxCmJ,EAAYR,MAAQwB,GAKlBhB,EAAY3E,SAAWI,EAAmB5E,MAAO,CAcnD,GAbAmJ,EAAY3E,OAASI,EAAmBC,SAER,IAA9BmE,EAAiBZ,WACa,KAA9Ba,aAAe,EAAfA,EAAiBb,YAEjBe,EAAYf,UAAW,GAEzB3C,EAAWtb,OAAOuW,OAAO+E,EAAU,CACjCI,uBAAwBkD,EACpBA,EAAgBlD,uBAAsB,KAIT,iBAAxBoD,aAAe,EAAfA,EAAiBd,SAAsB,CAChDoC,EAAgB/E,EAAgBC,EAAU,KAAMyE,GAEhDK,EAAcC,iBAAmBvB,EAAgBd,QAEjD,MAAMsC,EAAiB,IAAIC,eAAe,CACxCC,KAAAA,CAAMC,GACJ,MAAMC,EAAK,IAAIC,YACfF,EAAW1H,QAAQ2H,EAAGE,OAAO9B,EAAgBd,SAC/C,EACA6C,IAAAA,CAAKJ,GAEHA,EAAWK,OACb,EACAC,MAAAA,GAAU,IAGZ,OAAOjF,GACLkF,EAAAA,EAAAA,0BAAyBV,IACzBtQ,MAAKJ,IACLwQ,EAAcC,iBAAmBzQ,EAE1BwQ,IAEX,CACEA,EAAgB/E,EACdC,EACA0E,EACAD,EAGN,CAGA,OAAOK,CAAa,IAKlBa,EAA0BhR,QAAQE,IACtCsP,EAAyB9P,KAAIgQ,IAE3B,GAAI/b,KAAK2Y,cAAcoD,GAAkB,CACvC,MAAM7B,EAAcla,KAAK2Y,cAAcoD,GACvC,MAAO,CAAEA,kBAAiB7B,cAC5B,CAEA,OAAOla,KAAKsZ,YACQ,mBAAmByC,EAAe,SAEnD3P,MAAKkK,IACJ,MAAM4D,EAAc9W,KAAKC,MAAMiT,EAAI2D,cACnC,MAAO,CAAE8B,kBAAiB7B,cAAa,IAExCtD,OAAM,KACL,MAAM,IAAI3E,MAAM,sCACyC8J,EAAe,SACvE,GACD,KAEN3P,MAAKkR,IACL,MAAMC,EAAwB,CAAC,EAO/B,OALAD,EAAmBtH,SAAQrH,IAAuC,IAAtC,gBAAEoN,EAAe,YAAE7B,GAAavL,EAC1D4O,EAAsBxB,GAAmB7B,EACzCla,KAAK2Y,cAAcoD,GAAmB7B,CAAW,IAG5CqD,CAAqB,IAG9B,OACElR,QAAQE,IAAI,CAAC0P,EAAwBoB,IAClCjR,MAAK8C,IAA0C,IAC1CkL,GADEoC,EAAec,GAAmBpO,EAaxC,OAXIsN,IACFpC,EAAU,IAAKoC,EAAec,sBAC9BlC,EAAYhB,QAAUA,EACtBoD,EAAAA,EAAQxQ,KAAK,0BAA2B,CACtC4K,KAAMwC,EACNoC,cAAepC,KAInBpa,KAAKyY,OAAO3Z,IAAIib,EAAUqB,GAEtBA,EAAYR,MACP,CACLA,MAAOQ,EAAYR,MACnBnE,OAAQ2E,EAAY3E,QAIjB2D,CAAO,IAGfxD,OAAMlB,IACE,CACLkF,MAAOlF,EACPe,OAAQI,EAAmB5E,SAE7B,GAEN,IAcJ,OAXAsH,EACGnN,MAAK,KACJpM,KAAK0Y,WAAWc,OAAOO,EAAS,IAEjCnD,OAAMgE,IAEL,MADA5a,KAAK0Y,WAAWc,OAAOO,GACjBa,CAAK,IAGf5a,KAAK0Y,WAAW5Z,IAAIib,EAAUR,GAEvBA,CACT,EAEAhY,EACAmK,aAAA,SAAasL,EAASva,QAAO,IAAPA,IAAAA,EAAU,CAAC,GAC/B,MAAMsd,GAAW3K,EAAAA,EAAAA,IAAS4H,GAC1B,GAAIhX,KAAKyY,OAAOra,IAAI2b,GAAW,CAAC,IAAD0D,EAC7B,MAAM/F,EAAW1X,KAAKyY,OAAOpa,IAAI0b,GAEjC,GAAIrC,EAAS0C,QACX,OAAO1C,EAAS0C,QAGlB,GAAW,QAAXqD,EAAIhhB,SAAO,IAAAghB,GAAPA,EAASC,iBACX,MAAO,CACL9C,MAAOlD,EAASkD,MAChBnE,OAAQiB,EAASjB,OAGvB,CAEF,EAAClV,EAEDoc,eAAA,SAAe5D,GAEb,QAvkBkC6D,MACpC,GACE,eAAgBliB,gBACW,IAApBA,UAAUmiB,WACjB,CACA,IAAKniB,UAAUmiB,WAAWC,eAAa,IAAQ3D,SAAS,MACtD,OAAO,EAET,GAAIze,UAAUmiB,WAAWE,SACvB,OAAO,CAEX,CACA,OAAO,CAAI,EA2jBJH,OAKDliB,UAAUsiB,YAAaxG,EAAUyG,KAAKviB,UAAUsiB,cAKhDhe,KAAKyY,OAAOra,IAAI2b,GAKtB,EAACxY,EAED2c,SAAA,SAASnE,GACP,IAAK/Z,KAAK2d,eAAe5D,GACvB,MAAO,CACL3N,KAAME,GAAWA,GAAQ,GACzB6R,MAAOA,QAGX,GAAIne,KAAKmZ,kBAAkB/a,IAAI2b,GAC7B,MAAO,CACL3N,KAAME,GAAWA,GAAQ,GACzB6R,MAAOA,QAIX,MAAMC,EAAQ,CACZ9R,QAAS,KACTuJ,OAAQ,KACRwI,QAAS,MAEXD,EAAMC,QAAU,IAAIhS,SAAQ,CAACC,EAASuJ,KACpCuI,EAAM9R,QAAUA,EAChB8R,EAAMvI,OAASA,CAAM,IAEvB7V,KAAKkZ,eAAetM,KAAK,CAACmN,EAAUqE,IACpC,MAAME,EAAS,IAAIC,gBAgBnB,OAfAD,EAAOE,OAAO5c,iBAAiB,SAAS,KACtC,MAAM6c,EAAQze,KAAKkZ,eAAewF,WAAUC,IAAA,IAAEC,GAAED,EAAA,OAAKC,IAAM7E,CAAQ,KAEpD,IAAX0E,GACFze,KAAKkZ,eAAepM,OAAO2R,EAAO,EACpC,IAGGze,KAAKiZ,yBACRjZ,KAAKiZ,wBAAyB,EAC9BZ,YAAW,KACTrY,KAAK6e,2BAA2B,GAC/B,MAGE,CACLzS,KAAMA,CAACE,EAASuJ,IAAWuI,EAAMC,QAAQjS,KAAKE,EAASuJ,GACvDsI,MAAOG,EAAOH,MAAM3d,KAAK8d,GAE7B,EAAC/c,EAEDsd,0BAAA,YACuBpjB,OAAOqjB,qBAAmB,CAAKC,GAAM1G,WAAW0G,EAAI,MAE5D,KACX,MAAMC,EAAahf,KAAKkZ,eAAepM,OAAO,EAAG,GAC3CmS,EAAa5S,QAAQE,IACzByS,EAAWjT,KAAImT,IAA2B,IAAzBnF,EAAUoF,GAASD,EASlC,OANKlf,KAAKmZ,kBAAkB/a,IAAI2b,KAC9B/Z,KAAK0Z,UAAU,qBAAsB,CAAE/V,SAAUoW,IACjD/Z,KAAKmZ,kBAAkBiG,IAAIrF,IAIzB/Z,KAAK2Z,iBACAwF,EAAS7S,SAAQ,GAGnBtM,KAAKqf,YAAWjQ,EAAAA,EAAAA,IAAS2K,IAAW3N,MAAK,KACzCpM,KAAKqZ,kBAAkBjb,IAAI2b,KAC9B/Z,KAAK0Z,UAAU,yBAA0B,CAAE/V,SAAUoW,IACrD/Z,KAAKqZ,kBAAkB+F,IAAIrF,IAG7BoF,EAAS7S,SAAQ,EAAK,GACtB,KAIFtM,KAAKkZ,eAAe7d,OACtB4jB,EAAW7S,MAAK,KACdiM,YAAW,KACTrY,KAAK6e,2BAA2B,GAC/B,IAAK,IAGV7e,KAAKiZ,wBAAyB,CAChC,GAEJ,EAAC1X,EAED8d,WAAA,SAAWtF,GACT,MAAMuF,EAAcvI,EAAkBgD,GAsBpC,OAAOwF,EAAeD,EAAa,CACjCE,YAAY,YACZC,GAAG,UACFrT,MAAK,IAGNpM,KAAKwa,iBAAiBT,IAG5B,EAACxY,EAEDme,SAAA,SAAS1I,GACPhX,KAAKyL,SAASuL,EAChB,EAACzV,EAEDiK,2BAAA,SAA2BwL,GACzB,MAAM+C,GAAW3K,EAAAA,EAAAA,IAAS4H,GACpBY,EAAO5X,KAAK4Y,WAAWva,IAAI0b,GACjC,GAAInC,EAAM,CACR,MAAM4E,EAAgB/E,EAAgBG,EAAKwC,SAE3C,MAAM,GAAN9e,QAAAwgB,EAAAA,EAAAA,GACK6D,EAAoBnD,EAAc5E,KAAKC,qBAAmB,CAC7Dd,EAAkBgD,IAEtB,CACE,OAAO,IAEX,EAACxY,EAEDqe,eAAA,SAAe5I,GACb,MAAM+C,GAAW3K,EAAAA,EAAAA,IAAS4H,GACpBY,EAAO5X,KAAKyY,OAAOpa,IAAI0b,GAC7B,OAAQnC,GAAQA,EAAKyC,QACvB,EAAC9Y,EAEDuZ,YAAA,SAAYd,GACV,YADiB,IAAPA,IAAAA,EAAU,GACbha,KAAKsZ,YAA8B,4BAA4BlN,MACpEkK,IACE,MAAM,OAAEG,EAAM,aAAEwD,GAAiB3D,EAEjC,IAAIuJ,EAEJ,GAAe,MAAXpJ,GAAkBuD,EAAU,EAE9B,OAAOha,KAAK8a,YAAYd,EAAU,GAIpC,GAAe,MAAXvD,EACF,IACE,MAAMyD,EAAc9W,KAAKC,MAAM4W,GAC/B,QAA2CjY,IAAvCkY,EAAYpC,uBACd,MAAM,IAAI7F,MAAM,iCAGlB4N,EAAU3F,CACZ,CAAE,MAAOxE,GACP,CAIJ,OAAOmK,CAAO,GAGpB,EAACvH,CAAA,CA/sBoB,GAktBvB,MAAMqH,EAAsB9H,IACzBpc,OAAOqkB,gBAAgBjI,IAAuB,IAAI9L,KACjDgU,GAASC,GAAkBD,IAGxB,IAkGHvP,EAlGSyP,EAAU,SAAAC,GACrB,SAAAD,EAAYE,EAAezS,EAAYgK,GAAW,IAADjY,EA2B9C,OARDA,EAAAygB,EAAAthB,KAAA,MAlBsB,SAACwhB,EAAWC,GAKhC,QAL0C,IAAVA,IAAAA,EAAU,eAKrCF,EAHHE,EAAU,cAGmBD,GAC7B,MAAM,IAAInO,MAAM,gEACiDmO,EAAS,KAI5E,OACED,EAAcE,GAAYD,KAEvBxJ,OAAMlB,GAAOA,GAEpB,GAEqBhI,IAAW,KAE5BgK,GACFjY,EAAKmZ,WAAW9Z,KAAIsQ,EAAAA,EAAAA,IAASsI,EAAStK,MAAO,CAC3C2M,SAAUrC,EAAStK,KACnBgN,QAAS1C,EACTjB,OAAO,YAEVhX,CACH,EA7BqBqV,EAAAA,EAAAA,GAAAmL,EAAAC,GA6BpB,IAAAI,EAAAL,EAAAvhB,UAkEA,OAlEA4hB,EAEDjB,WAAA,SAAWtF,GACT,OAAOmG,EAAAxhB,UAAM2gB,WAAUzgB,KAAC,KAAAmb,GAAU3N,MAAKJ,IACrC,GAAIA,EAAOyK,SAAWI,EAAmBC,QACvC,OAAOzK,QAAQC,UAEjB,MAAMoL,EAAW1L,EAAOoO,QAClBgG,EAAY1I,EAASG,mBACrB0I,EAAgBZ,EAAoBS,GAC1C,OAAO/T,QAAQE,IAAIgU,EAAcxU,IAAIwT,IAAiBnT,MAAK,IAAMsL,GAAS,GAE9E,EAAC4I,EAED9F,iBAAA,SAAiBxD,GACf,OAAOkJ,EAAAxhB,UAAM8b,iBAAgB5b,KAAC,KAAAoY,GAAS5K,MAAKyG,GACtCA,EAAKwH,SACHlD,EAAiBH,GACZnE,EAIFuE,EAAQJ,EAAQ,QAAS5K,MAAKkK,GAChB,MAAfA,EAAIG,OAIC,CACLA,OAAQI,EAAmB5E,OAMxBY,IAGJA,GAEX,EAACyN,EAED7F,yBAAA,SAAyBzD,GACvB,OAAOkJ,EAAAxhB,UAAM+b,yBAAwB7b,KAAC,KAAAoY,GAAS5K,MAAKyG,GAC9CA,EAAKwH,SACHlD,EAAiBH,GACZnE,EAIFuE,EAAQJ,EAAQ,QAAS5K,MAAKkK,GAChB,MAAfA,EAAIG,OAIC,CACLA,OAAQI,EAAmB5E,OAMxBY,IAGJA,GAEX,EAACoN,CAAA,CA/FoB,CAAS3H,GAoGzB,MAAMkI,EAAYC,IACvBjQ,EAAWiQ,CAAO,EAGPC,EAAe,CAC1BvL,QAAS6B,GAAWxG,EAAS0N,SAASlH,GAGtCxL,2BAA4BwL,GAC1BxG,EAAShF,2BAA2BwL,GACtCvL,SAAUuL,GAAWxG,EAAS/E,SAASuL,GAEvCtL,aAAc,SAACsL,EAASva,GAAY,YAAL,IAAPA,IAAAA,EAAU,CAAC,GACjC+T,EAAS9E,aAAasL,EAASva,EAAQ,EACzCyhB,SAAUlH,GAAWxG,EAAS0N,SAASlH,GACvC4I,eAAgB5I,GAAWxG,EAASoP,eAAe5I,GACnD0I,SAAU1I,GAAWxG,EAASkP,SAAS1I,GACvC8D,YAAaA,IAAMtK,EAASsK,eAG9B,QAEO,SAAS6F,IACd,OAAInQ,EACKA,EAASmI,cAET,CAAC,CAEZ,CAEO,SAASiI,IACd,OAAIpQ,EACKA,EAASwI,SAET,CAAC,CAEZ,0KCz8BO,SAAS6H,EAAoBlS,GAA0B,IAAzB,SAAEnM,EAAQ,SAAEse,GAAUnS,EAKzD,OAJAoS,EAAAA,EAAAA,YAAU,KACRD,GAAU,IAGLte,CACT,CCXO,MAAMwe,EAAmB,CAAC,OAAD,iECyEzB,SAASC,EAAYC,EAAQC,GAClC,GAAID,aAAkBE,aAAeD,aAAkBC,YAAa,CAClE,MAAMC,EAAQF,EAAOG,aAAa,SAGlC,GAAID,IAAUH,EAAOI,aAAa,SAAU,CAC1C,MAAMC,EAAWJ,EAAOK,WAAU,GAGlC,OAFAD,EAASxL,aAAa,QAAD,IACrBwL,EAASF,MAAQA,EACVA,IAAUH,EAAOG,OAASH,EAAOD,YAAYM,EACtD,CACF,CAEA,OAAOL,EAAOD,YAAYE,EAC5B,CAsBO,SAASM,EACdC,EACAC,QAAqB,IAArBA,IAAAA,EAAwB,CACtBC,KAAM,CAAC,EACPC,KAAM,CAAC,IAGT,MAAMC,EAAU,IAAIrU,IACdsU,EAAiB,GAGvB,IAAK,MAAM/gB,KAAQ0gB,EAASM,WAAY,CAAC,IAADC,EAAAC,EACtC,MAAMC,EAAWnhB,EAAKmhB,SAASjmB,cACzBqV,EAAoB,QAAlB0Q,EAAGjhB,EAAKohB,kBAAU,IAAAH,GAAI,QAAJC,EAAfD,EAAiB1Q,UAAE,IAAA2Q,OAAJ,EAAfA,EAAqB3lB,MAEhC,GAAK8lB,EAAcrhB,GAAnB,CAEA,GAAIshB,EAAgBH,GAElB,GAAY,SAARA,GAA+B,SAARA,EACzB,IAAK,MAAMI,KAAavhB,EAAKohB,WAAY,CACvC,MAAMI,EAAiC,UAAdD,EAAU7O,KAYZ,IAAD+O,EAAtB,GATAd,EAAsBQ,GAAY,IAC7BR,EAAsBQ,IAGtBK,IACHb,EAAsBQ,GAAUI,EAAU7O,MAAQ6O,EAAUhmB,OAI1DimB,EACFb,EAAsBQ,GAAUO,MAAK,IACJ,QAA/BD,EAAAd,EAAsBQ,UAAS,IAAAM,GAA/BA,EAAiCC,MAC7Bf,EAAsBQ,GAAUO,MAAK,IAExCH,EAAUhmB,MAAK,GAEtB,KACK,CACL,IAAIomB,EAAa3hB,EAAKwgB,WAAU,GAQhC,GAPAmB,EAAW5M,aAAa,oBAAoB,GAGP,WAAjC4M,EAAWR,SAASjmB,gBACtBymB,EAAaC,EAAcD,IAGzBpR,EACF,GAAKuQ,EAAQ1jB,IAAImT,GAGV,CAAC,IAADsR,EACL,MAAMC,EAAgChB,EAAQzjB,IAAIkT,GAGtC,QAFZsR,EAAAd,EACEe,GACAzM,kBAAU,IAAAwM,GAFZA,EAEcE,YACZhB,EAAee,IAEjBf,EAAee,GAAiCH,CAClD,MAVEZ,EAAenV,KAAK+V,GACpBb,EAAQhjB,IAAIyS,EAAIwQ,EAAe1mB,OAAS,QAW1C0mB,EAAenV,KAAK+V,EAExB,CAKE3hB,EAAKghB,WAAW3mB,QAClB0mB,EAAenV,KAAI7M,MAAnBgiB,GAAcjG,EAAAA,EAAAA,GACT2F,EAA+BzgB,EAAM2gB,GACrCI,gBA3D2B,CA8DpC,CAEA,MAAO,CAAEA,iBAAgBJ,wBAC3B,CAEA,SAASiB,EAAc5hB,GACrB,MAAM4D,EAAS3D,SAASqB,cAAc,UACtC,IAAK,MAAM0gB,KAAQhiB,EAAKohB,WACtBxd,EAAOmR,aAAaiN,EAAKtP,KAAMsP,EAAKzmB,OAItC,OAFAqI,EAAOY,UAAYxE,EAAKwE,UAEjBZ,CACT,CAEO,SAAS0d,EAAgBH,GAC9B,OAAOnB,EAAiB7G,SAASgI,EACnC,CAKO,SAASE,EAAcrhB,GAC5B,OAAyB,IAAlBA,EAAKiiB,QACd,CCjMA,MAAMC,EAAajiB,SAASqB,cAAc,OACpC6gB,EAA8B,CAClCvB,KAAM,GACNC,KAAM,IAGFuB,EAAiBA,KAAO,IAADC,EAC3B,MAAM,eAAEtB,EAAc,sBAAEJ,GACtBF,EAA+ByB,GAEjCC,EAA4BvB,KAAOxlB,OAAO+V,KAAKwP,EAAsBC,MACrEuB,EAA4BtB,KAAOzlB,OAAO+V,KAAKwP,EAAsBE,MDkMhE,SAAoCF,GACzC,IAAKA,EAAuB,OAE5B,MAAM,KAAEC,EAAI,KAAEC,GAASF,EAEjB2B,EAAcriB,SAAS+D,cAAc,QACvCse,GACFlnB,OAAO4X,QAAQ4N,GAAM5L,SAAQ9G,IAAsC,IAApCqU,EAAeC,GAAetU,EAC3DoU,EAAYvN,aAAawN,EAAeC,EAAe,IAI3D,MAAMC,EAAcxiB,SAAS+D,cAAc,QACvCye,GACFrnB,OAAO4X,QAAQ6N,GAAM7L,SAAQ2I,IAAsC,IAApC4E,EAAeC,GAAe7E,EAC3D8E,EAAY1N,aAAawN,EAAeC,EAAe,GAG7D,CClNEE,CAA2B/B,GAM3B,MAAMgC,EAAuB1iB,SAAS2iB,iBAAiB,sBAEf,IAADC,EAAvC,GAAoC,IAAhCF,EAAqBtoB,OAEvB,YADAwoB,EAAA5iB,SAAS0E,MAAKme,OAAM/jB,MAAA8jB,GAAA/H,EAAAA,EAAAA,GAAIiG,IAI1B,MAAMgC,EAAe,ID8ChB,SAAkBpV,GAA0C,IAAzC,SAAEqV,EAAQ,SAAEC,EAAQ,QAAEC,EAAO,MAAEC,GAAOxV,EAC9D,IAAK,MAAMyV,KAAuBJ,EAAU,CAC1C,MAAMK,EAAkBJ,EAASvF,WAAUpb,GACzC2d,EAAY3d,EAAG8gB,MAGQ,IAArBC,EACFH,EAAQE,GAGRH,EAASnX,OAAOuX,EAAiB,EAErC,CAGA,IAAK,MAAMC,KAAWL,EACpBE,EAAMG,EAEV,CC/DEC,CAAU,CACRP,SAAUL,EACVM,SAAUlC,EACVmC,QAASljB,GAAQA,EAAKqV,WAAW0M,YAAY/hB,GAC7CmjB,MAAOnjB,GAAQ+iB,EAAanX,KAAK5L,MAGnCqiB,EAAApiB,SAAS0E,MAAKme,OAAM/jB,MAAAsjB,EAAIU,EAAa,EAmChC,SAASS,EAAqB7V,GAIjC,IAJkC,cACpCyN,EAAa,mBACbkB,EAAkB,mBAClBmH,GACD9V,GACCoS,EAAAA,EAAAA,YAAU,KACR,GAAI3E,SAAAA,EAAesI,KAAM,EDvEtB,SAA6B/e,GAClC,GAAe,mBAAJA,EACT,MAAM,IAAIsM,MAAM,uDACyCtM,EAAI,KAEjE,CCmEMgf,CAAoBvI,EAAcsI,MAElC,MAAM,OAAEriB,IAAWuiB,EAAAA,EAAAA,KAEbC,EACJ/mB,EAAAA,cAACse,EAAcsI,KD3Fd,CACLljB,SAAU,CACRmC,UAH0B5G,EC4FgB0nB,GDzF1BjjB,SAASmC,UAE3BwL,OAAQpS,EAAMoS,OACd0D,KAAM9V,EAAM8V,MAAQ,CAAC,EACrBiS,WAAY/nB,EAAM+nB,WAClBC,YAAahoB,EAAMgoB,cCuFXC,GAAkBtL,EAAAA,EAAAA,GAAU,kBAEhC,CAAE9W,QAASiiB,GACXA,GACA3V,IAAiB,IAAhB,OAAElD,GAAQkD,EACT,MAAO,CAAEtM,QAASoJ,EAAQ,IAE5BiZ,MAEF5iB,EAIEvE,EAAAA,cAAC+iB,EAAoB,CAACC,SAAUsC,GAC9BtlB,EAAAA,cAAConB,EAAAA,mBAAmB3iB,SAAQ,CAAChG,MAAO+gB,GAClCxf,EAAAA,cAACqnB,EAAAA,iBAAgB,KAAEH,KAGvB9B,EAEJ,CDnHG,IAAyBnmB,ECqH5B,MAAO,MD4FJ,WACL,MAAMqoB,EAAgBnkB,SAAS2iB,iBAAiB,sBAChD,IAAK,MAAM5iB,KAAQokB,EACjBpkB,EAAKqV,WAAW0M,YAAY/hB,EAEhC,CChGMqkB,GDsHC,SAAqCC,GAC1C,IAAKA,EAA0B,OAE/B,MAAM,KAAE1D,EAAI,KAAEC,GAASyD,EAEvB,GAAI1D,EAAM,CACR,MAAM0B,EAAcriB,SAAS+D,cAAc,QAC3C4c,EAAK5L,SAAQuN,IACPD,GACFA,EAAYiC,gBAAgBhC,EAC9B,GAEJ,CAEA,GAAI1B,EAAM,CACR,MAAM4B,EAAcxiB,SAAS+D,cAAc,QAC3C6c,EAAK7L,SAAQuN,IACPE,GACFA,EAAY8B,gBAAgBhC,EAC9B,GAEJ,CACF,CC3IMiC,CAA4BrC,EAA4B,CACzD,GAEL,CCzHA,SAASsC,EAAa7kB,GACpB,MAAM6jB,EAAqB,IACtB7jB,EACHuO,OAAQ,KACHF,EAAAA,EAAAA,IAAgBrO,EAAMY,SAASmC,aAC/B/C,EAAM4b,cAAcvE,KAAK8M,YAAYW,WAM5C,IAAIC,EAFkBjK,MAIpBiK,EADE/kB,EAAM4b,cAAcC,iBACR7b,EAAM4b,cAAcC,kBAEpBna,EAAAA,EAAAA,gBANMoZ,EAMsB9a,EAAM4b,cAAc9J,YAN/BgJ,EAAEzd,SAAYyd,EAM6B,IACrE+I,EACHhmB,IAAKmC,EAAMwM,MAAQxM,EAAM4b,cAAc5E,KAAKxK,OAMhDoX,EAAsB,CACpBpI,cAHoBxb,EAAM4b,cAAc7W,KAIxC2X,mBAAoB1c,EAAM4b,cAAcc,mBACxCmH,uBAeF,OAZoB/K,EAAAA,EAAAA,GAAU,kBAE5B,CACE9W,QAAS+iB,EACT/kB,MAAO6jB,GAETkB,GACAhX,IAAiB,IAAhB,OAAE3C,GAAQ2C,EACT,MAAO,CAAE/L,QAASoJ,EAAQpL,MAAO6jB,EAAoB,IAEvDQ,KAGJ,CAEAQ,EAAa/iB,UAAY,CACvBlB,SAAUokB,IAAAA,OAAiB/iB,WAC3B2Z,cAAeoJ,IAAAA,OAAiB/iB,WAChCgQ,KAAM+S,IAAAA,OACNb,YAAaa,IAAAA,OAAiB/iB,YAGhC,4JCxDO,MAAMgjB,EAAsB,CACjCtU,GAAG,mBACHmR,MAAO,CACLtnB,SAAS,WACT0qB,IAAK,EACLC,MAAO,EACPC,OAAQ,EACRC,QAAS,EACTC,SAAS,SACTC,KAAK,mBACLC,WAAW,SACXC,OAAQ,GAEV,YAAY,YACZ,cAAc,uBCHhB,SAASC,EAAc3iB,GACrB,MAAM0L,GAAWC,EAAAA,EAAAA,GAAwB3L,IACnC,KAAE5C,EAAI,OAAEsM,GAAW5R,OAAO+F,SAEhC,OAAgB,MAAZ6N,IACF5T,OAAO8qB,WAAWlX,EAASE,OAASlC,EAAStM,IACtC,EAIX,CAGA,IAAIylB,EAAS,GAEb/qB,OAAOmG,iBAAiB,sBAAsB6kB,IACxC,6BAA6BxI,KAAKwI,EAAMC,SACtCF,IACF/qB,OAAO+F,SAASmC,SAAW6iB,EAE/B,IAGF,MAAMG,EAAmBA,CAACnlB,EAAUolB,KAC7BN,EAAc9kB,EAASmC,YAC1B6iB,EAAYhlB,EAASmC,UACrB+V,EAAAA,EAAAA,GAAU,mBAAoB,CAAElY,WAAUolB,iBAC5C,EAGIC,EAAgBA,CAACrlB,EAAUolB,KAC1BN,EAAc9kB,EAASmC,YAC1B+V,EAAAA,EAAAA,GAAU,gBAAiB,CAAElY,WAAUolB,gBAOzC,EAGIE,EAAW,SAACC,EAAItqB,GAIpB,QAJ2B,IAAPA,IAAAA,EAAU,CAAC,GAIlB,iBAAFsqB,EAET,YADAC,EAAAA,cAAcF,SAASC,GAIzB,MAAM,SAAEpjB,EAAQ,OAAE0J,EAAM,KAAEtM,IAASkmB,EAAAA,EAAAA,IAAUF,GACvC1X,GAAWC,EAAAA,EAAAA,GAAwB3L,GAUzC,GANI0L,IACF0X,EAAK1X,EAASE,OAASlC,EAAStM,GAK9BtF,OAAOyrB,aAET,YADAzrB,OAAO+F,SAAWmC,EAAW0J,EAAStM,GAMxC,MAAMomB,EAAY9O,YAAW,KAC3BmF,EAAAA,EAAQxQ,KAAK,6BAA8B,CAAErJ,cAC7C+V,EAAAA,EAAAA,GAAU,uBAAwB,CAChClY,SAAU/F,OAAO+F,UACjB,GACD,KAEH0T,EAAAA,GAAOzJ,SAAS9H,EAAW0J,GAAQjB,MAAKoQ,IAOtC,IAAKA,GAAiBA,EAAc/F,SAAWI,EAAAA,GAAmB5E,MAIhE,OAHAxW,OAAO2rB,QAAQC,aAAa,CAAC,EAAE,GAAK7lB,SAAS6M,MAC7C5S,OAAO+F,SAAWmC,OAClB2jB,aAAaH,GAM8B3K,GAEzCA,EAAc5E,KAAKE,yBACnBrc,OAAO8rB,4BAIL,kBAAmB7rB,WACoB,OAAvCA,UAAU8rB,cAAc3K,YACgB,cAAxCnhB,UAAU8rB,cAAc3K,WAAW9Y,OAEnCrI,UAAU8rB,cAAc3K,WAAW4K,YAAY,CAC7CC,UAAU,uBAIdjsB,OAAO+F,SAAWmC,EAAW0J,EAAStM,IAG1C4mB,EAAAA,EAAAA,UAAcZ,EAAItqB,GAClB6qB,aAAaH,EAAU,GAE3B,EAEA,SAASxmB,EAAmBU,EAAesN,GAAiB,IAAf,SAAEnN,GAAUmN,EACvD,MAAM,SAAEhL,EAAQ,KAAE5C,GAASS,EACrBsK,GAAU4N,EAAAA,EAAAA,GAAU,qBAAsB,CAC9CrY,kBAEAsC,WACArC,YAAa,CAAEE,YACfomB,uBAAwBhoB,GAAQ,CAC9B,EAGAI,KAAKC,cAAc6B,KAAKlC,EAAMA,EAAKnB,QAGvC,GAAIqN,EAAQzQ,OAAS,EAGnB,OAAOyQ,EAAQA,EAAQzQ,OAAS,GAGlC,GAAIgG,EAAiB,CACnB,MACEG,UAAYmC,SAAUkkB,IACpBxmB,EACJ,GAAIwmB,IAAgBlkB,EAGlB,OAAO5C,EAAOgB,UAAUhB,EAAKxF,MAAM,IAAM,CAAC,EAAG,EAEjD,CACA,OAAO,CACT,CAYC,IAEKusB,EAAc,SAAAtoB,GAClB,SAAAsoB,EAAYlnB,GAAQ,IAADnB,EAEuB,OADxCA,EAAAD,EAAAZ,KAAA,KAAMgC,IAAM,MACPmnB,gBAAkBjqB,EAAAA,YAAiB2B,CAC1C,EAJkBqV,EAAAA,EAAAA,GAAAgT,EAAAtoB,GAIjB,IAAA+B,EAAAumB,EAAAppB,UAwBA,OAxBA6C,EAEDY,mBAAA,SAAmBzB,EAAWsnB,GAC5B1nB,uBAAsB,KACpB,IAAI2nB,EAAQ,eAAkBjoB,KAAKY,MAAMY,SAASmC,SAC9C1C,SAASinB,QACXD,EAAWhnB,SAASinB,OAEtB,MAAMC,EAAelnB,SAAS2iB,iBAAiB,4BAC3CuE,GAAgBA,EAAa9sB,SAC/B4sB,EAAWE,EAAa,GAAGC,aAE7B,MAAMC,EAAe,gBAAmBJ,EACxC,GAAIjoB,KAAK+nB,gBAAgB1jB,QAAS,CACRrE,KAAK+nB,gBAAgB1jB,QAAQikB,YAC7BD,IACtBroB,KAAK+nB,gBAAgB1jB,QAAQikB,UAAYD,EAE7C,IAEJ,EAAC9mB,EAEDc,OAAA,WACE,OAAOvE,EAAAA,cAAA,MAAA1B,OAAAuW,OAAA,GAASkT,EAAmB,CAAE3hB,IAAKlE,KAAK+nB,kBACjD,EAACD,CAAA,CA5BiB,CAAShqB,EAAAA,WA+B7B,MAAMyqB,EAAuBA,CAAC3B,EAAc4B,KAAkB,IAADC,EAAAC,EAC3D,OAAI9B,EAAavY,OAASma,EAAana,OAInCuY,SAAmB,QAAP6B,EAAZ7B,EAAc7iB,aAAK,IAAA0kB,OAAP,EAAZA,EAAqBhqB,QAAQ+pB,SAAmB,QAAPE,EAAZF,EAAczkB,aAAK,IAAA2kB,OAAP,EAAZA,EAAqBjqB,IAI1C,EAGd,IACMkqB,EAAY,SAAAC,GAChB,SAAAD,EAAY/nB,GAAQ,IAADioB,EAEqB,OADtCA,EAAAD,EAAAhqB,KAAA,KAAMgC,IAAM,KACZ+lB,EAAiB/lB,EAAMY,SAAU,MAAKqnB,CACxC,EAJgB/T,EAAAA,EAAAA,GAAA6T,EAAAC,GAIf,IAAAtI,EAAAqI,EAAAjqB,UA2BA,OA3BA4hB,EAED5e,kBAAA,WACEmlB,EAAc7mB,KAAKY,MAAMY,SAAU,KACrC,EAAC8e,EAEDwI,sBAAA,SAAsBd,GACpB,QAAIO,EAAqBvoB,KAAKY,MAAMY,SAAUwmB,EAAUxmB,YACtDmlB,EAAiBqB,EAAUxmB,SAAUxB,KAAKY,MAAMY,WACzC,EAGX,EAAC8e,EAEDne,mBAAA,SAAmBzB,GACb6nB,EAAqB7nB,EAAUc,SAAUxB,KAAKY,MAAMY,WACtDqlB,EAAc7mB,KAAKY,MAAMY,SAAUd,EAAUc,SAEjD,EAAC8e,EAEDje,OAAA,WACE,OACEvE,EAAAA,cAACA,EAAAA,SAAc,KACZkC,KAAKY,MAAM4B,SACZ1E,EAAAA,cAACgqB,EAAc,CAACtmB,SAAUA,WAGhC,EAACmnB,CAAA,CA/Be,CAAS7qB,EAAAA,qCCxN3B,SAASirB,EAAexY,EAAGyY,GACzB,IAAK,IAAIC,KAAK1Y,EACZ,KAAM0Y,KAAKD,GAAI,OAAO,EACvB,IAAK,IAAIE,KAAMF,EACd,GAAIzY,EAAE2Y,KAAQF,EAAEE,GAAK,OAAO,EAC7B,OAAO,CACV,CC8GA,MAlHqB,SAAA1pB,GACnB,SAAA2pB,EAAYvoB,GAAQ,IAADnB,EACjBA,EAAAD,EAAAZ,KAAA,OAAO,KACP,MAAM,SAAE4C,EAAQ,cAAEgb,GAAkB5b,EAQnC,OAPDnB,EAAKsE,MAAQ,CACXvC,SAAU,IAAKA,GACfgb,cACEA,GACAtH,EAAAA,GAAOxJ,aAAalK,EAASmC,SAAWnC,EAAS6L,OAAQ,CACvDqQ,kBAAkB,KAEvBje,CACH,EAZmBqV,EAAAA,EAAAA,GAAAqU,EAAA3pB,GAYlB2pB,EAEMC,yBAAP,SAAAza,EAA8C0a,GAAY,IAA1B,SAAE7nB,GAAUmN,EAC1C,GAAI0a,EAAU7nB,SAAS6M,OAAS7M,EAAS6M,KAAM,CAQ7C,MAAO,CACLmO,cARoBtH,EAAAA,GAAOxJ,aAC3BlK,EAASmC,SAAWnC,EAAS6L,OAC7B,CACEqQ,kBAAkB,IAMpBlc,SAAU,IAAKA,GAEnB,CAEA,MAAO,CACLA,SAAU,IAAKA,GAEnB,EAAC,IAAAD,EAAA4nB,EAAAzqB,UA+EA,OA/EA6C,EAED+nB,cAAA,SAActS,GACZ9B,EAAAA,GAAOzJ,SAASuL,GAAS5K,MAAKoQ,IACxBA,GAAiBA,EAAc/F,SAAWI,EAAAA,GAAmB5E,MAC/DjS,KAAKupB,SAAS,CACZ/nB,SAAU,IAAK/F,OAAO+F,UACtBgb,mBAGF/gB,OAAO2rB,QAAQC,aAAa,CAAC,EAAE,GAAK7lB,SAAS6M,MAC7C5S,OAAO+F,SAAWwV,EACpB,GAEJ,EAACzV,EAEDunB,sBAAA,SAAsBd,EAAWwB,GAE/B,OAAKA,EAAUhN,cAkBXxc,KAAK+D,MAAMyY,gBAAkBgN,EAAUhN,gBAIzCxc,KAAK+D,MAAMyY,cAAc9J,YAAc8W,EAAUhN,cAAc9J,YAK7D1S,KAAK+D,MAAMyY,cAAcvE,OAASuR,EAAUhN,cAAcvE,SAM5DjY,KAAK+D,MAAMvC,SAAS/C,MAAQ+qB,EAAUhoB,SAAS/C,MAC/C+qB,EAAUhN,cAAc5E,OACvB4R,EAAUhN,cAAc5E,KAAKhJ,YAC5B4a,EAAUhN,cAAc5E,KAAKxK,ODhFrC,SAA0BoD,EAAUwX,EAAWwB,GAC7C,OAAOT,EAAevY,EAAS5P,MAAOonB,IAAce,EAAevY,EAASzM,MAAOylB,EACpF,CCkFUC,CAAezpB,KAAMgoB,EAAWwB,OAvCrCxpB,KAAKspB,cACHtB,EAAUxmB,SAASmC,SAAWqkB,EAAUxmB,SAAS6L,SAE5C,EAqCX,EAAC9L,EAEDc,OAAA,WAiBE,OAAOrC,KAAKY,MAAM4B,SAASxC,KAAK+D,MAClC,EAAColB,CAAA,CA/GkB,CAASrrB,EAAAA,8FC6B9B,MAAMoX,EAAS,IAAI+K,EAAAA,GAAWE,EAAezS,EAAYjS,OAAOic,WAChE8I,EAAAA,EAAAA,IAAUtL,GACVA,EAAOuE,aAAaC,EAAAA,GAEpB,MAAM,OAAErX,EAAM,QAAEqnB,IAAY9E,EAAAA,EAAAA,KAE5BnpB,OAAO0kB,cAAgBA,EACvB1kB,OAAOkuB,WAAanM,EAAAA,EACpB/hB,OAAOmuB,UAAYlJ,EAAAA,GH4HjBsG,EAAAA,cAAc6C,QAAOjqB,IACnBA,EAAK4B,SAASsoB,OAASlqB,EAAKkqB,MAAM,IAGpCruB,OAAOsuB,QAAUhD,GAAMD,EAASC,EAAI,CAAE5qB,SAAS,IAC/CV,OAAO8qB,WAAaQ,GAAMD,EAASC,EAAI,CAAE5qB,SAAS,IAClDV,OAAOuuB,YAAc,CAACjD,EAAItqB,IAAYqqB,EAASC,EAAItqB,GG9HrD,MAAMwtB,EAAgB,wCAEtBC,EAAAA,EAAAA,GAAe,iBAAiB9d,MAAK,MAG/BsN,EAAAA,EAAAA,GAAU,yBAAyB9c,OAAOyT,SAAShV,OAAS,GAC9DiQ,EAAQ,OAWV,MAAM6e,EAAevpB,GACnB9C,EAAAA,cAACssB,EAAAA,YAAY7nB,SAAQ,CACnBhG,MAAO,CACL8tB,QAAQ,IACRC,SAAS,MAGXxsB,EAAAA,cAAC2nB,EAAAA,EAAiB7kB,IAIhB2pB,EAAczsB,EAAAA,cAAoB,CAAC,GAEnCoV,EAAgB,CACpBK,kBAAkB,WACnB,IAEKiX,EAAU,SAAAhrB,GAAA,SAAAgrB,IAAA,OAAAhrB,EAAAO,MAAA,KAAAJ,YAAA,KAiCb,OAjCamV,EAAAA,EAAAA,GAAA0V,EAAAhrB,GAAAgrB,EAAA9rB,UACd2D,OAAA,WACE,MAAM,SAAEG,GAAaxC,KAAKY,MAC1B,OACE9C,EAAAA,cAAC2sB,EAAAA,SAAQ,MACN9b,IAAA,IAAC,SAAEnN,GAAUmN,EAAA,OACZ7Q,EAAAA,cAACqrB,EAAe,CAAC3nB,SAAUA,IACxB0N,IAAkC,IAAjC,cAAEsN,EAAa,SAAEhb,GAAU0N,EAC3B,MAAMoO,GAAqBqD,EAAAA,EAAAA,MACrB+J,GAAe9J,EAAAA,EAAAA,MAErB,OACE9iB,EAAAA,cAAConB,EAAAA,GAAmB3iB,SAAQ,CAAChG,MAAO+gB,GAClCxf,EAAAA,cAACqV,EAAAA,GAAc5Q,SAAQ,CAAChG,MAAO2W,GAC7BpV,EAAAA,cAAC2U,EAAAA,GAAqBlQ,SAAQ,CAAChG,MAAOmuB,GACpC5sB,EAAAA,cAAC+T,EAAAA,GAAiBtP,SAAQ,CACxBhG,MAAOigB,EAAc5E,KAAKhG,WAE1B9T,EAAAA,cAACysB,EAAYhoB,SAAQ,CACnBhG,MAAO,CAAEigB,gBAAehb,aAEvBgB,MAKmB,GAGlB,GAI1B,EAACgoB,CAAA,CAjCa,CAAS1sB,EAAAA,WAoCnB6sB,EAAe,SAAA/B,GAAA,SAAA+B,IAAA,OAAA/B,EAAA7oB,MAAA,KAAAJ,YAAA,KAsClB,OAtCkBmV,EAAAA,EAAAA,GAAA6V,EAAA/B,GAAA+B,EAAAjsB,UACnB2D,OAAA,WACE,OACEvE,EAAAA,cAACysB,EAAYK,SAAQ,MAClBjM,IAAA,IAAC,cAAEnC,EAAa,SAAEhb,GAAUmd,EAAA,OAC3B7gB,EAAAA,cAAC6qB,EAAY,CAACnnB,SAAUA,GACtB1D,EAAAA,cAACH,EAAAA,GAAa,CACZ6D,SAAUA,EACVb,mBAAoBA,GAEpB7C,EAAAA,cAAC+sB,EAAAA,OAAM,CACLP,SAAUpc,GACV1M,SAAUA,EACV+P,GAAG,wBAEHzT,EAAAA,cAACqsB,EAAY/tB,OAAAuW,OAAA,CACXvF,KACyB,cAAvBoP,EAAc5E,KAAKxK,MACI,cAAvBoP,EAAc5E,KAAKxK,MACfa,EAAAA,EAAAA,GAAYzM,EAASmC,SAAUuK,IAC/B4c,WAEItO,EAAc5E,KAAKhJ,WACnB4N,EAAc5E,KAAKxK,MACnBE,MAAM,KAAK,KAGjBtN,KAAKY,MAAK,CACdY,SAAUA,EACVgb,cAAeA,GACXA,EAAcvE,SAIX,GAIvB,EAAC0S,CAAA,CAtCkB,CAAS7sB,EAAAA,WAyC9B,MAAM,SAAEic,EAAUvY,SAAUupB,GAAetvB,OAYzCse,GACA7L,GAAgB6L,IACdgR,EAAWpnB,UAAYoW,EAASI,SAAS,KAAO4Q,EAAW1d,OAAM,OAEjE6H,EAAO3G,eAAcN,EAAAA,EAAAA,GAAY8c,EAAWpnB,SAAUuK,MACtD6L,EAASpd,MAAM,6BACfod,EAASpd,MAAM,+CAGjBmqB,EAAAA,EAAAA,UACE5Y,GACE6L,GACEA,EAASI,SAAS,KAAwB,GAAjB4Q,EAAW1d,QACtC0d,EAAWhqB,KACb,CACE5E,SAAS,IAMf,MAAM6uB,EAAoBA,KACxB,IACE,OAAO9nB,cACT,CAAE,MACA,OAAO,IACT,GAGFwd,EAAAA,GAAajV,SAASsf,EAAWpnB,SAAWonB,EAAW1d,QAAQjB,MAAKwL,IAAS,IAADqT,EAC1E,MAAM/nB,EAAiB8nB,IAEvB,GACEpT,SAAU,QAANqT,EAAJrT,EAAMA,YAAI,IAAAqT,GAAVA,EAAYnT,wBACZF,EAAKA,KAAKE,yBAA2Brc,OAAO8rB,4BAI1C,kBAAmB7rB,WACoB,OAAvCA,UAAU8rB,cAAc3K,YACgB,cAAxCnhB,UAAU8rB,cAAc3K,WAAW9Y,OAEnCrI,UAAU8rB,cAAc3K,WAAW4K,YAAY,CAC7CC,UAAU,uBAUVxkB,GAAgB,CAGlB,KAF2D,MAAxCA,EAAeC,QAAQ8mB,IAKxC,OAFA/mB,EAAeO,QAAQwmB,EAAiB,UACxCxuB,OAAO+F,SAAS0pB,QAAO,EAG3B,CAOF,GAJIhoB,GACFA,EAAeioB,WAAWlB,IAGvBrS,GAAQA,EAAKnB,SAAWI,EAAAA,GAAmB5E,MAAO,CACrD,MAAMkC,EAAO,sBAAyB4W,EAAWpnB,SAAQ,kCAIzD,GAAIiU,GAAQA,EAAKgD,MAEf,MADAwQ,QAAQxQ,MAAMzG,GACRyD,EAAKgD,MAGb,MAAM,IAAI3I,MAAMkC,EAClB,CAEA,MAAMkX,GAAW3R,EAAAA,EAAAA,GAAU,kBAEzB,CAAE9W,QAAS9E,EAAAA,cAAC6sB,EAAe,OAC3B7sB,EAAAA,cAAC6sB,EAAe,OAChBzL,IAAiB,IAAhB,OAAElT,GAAQkT,EACT,MAAO,CAAEtc,QAASoJ,EAAQ,IAE5BiZ,MAEIqG,EAAM,WACV,MAAMC,EAAsBztB,EAAAA,QAAa,GAazC,OAXAA,EAAAA,WAAgB,KACTytB,EAAoBlnB,UACvBknB,EAAoBlnB,SAAU,EAC1BmnB,YAAYC,MACdD,YAAYC,KAAK,0BAGnB/R,EAAAA,EAAAA,GAAU,yBACZ,GACC,IAEI5b,EAAAA,cAAC0sB,EAAU,KAAEa,EACtB,EAEMK,EAAUzqB,SAASC,eAAe,wBAIxC,IAAIyqB,EAAkBtpB,EAClBqpB,GAAWA,EAAQlpB,SAASnH,SAC9BswB,EAAkBjC,GAGpB,MAAMkC,GAAWlS,EAAAA,EAAAA,GAAU,8BAEzB1X,EACA2pB,GACA,GAEF,SAASE,IACP,MAAMC,EACS,oBAANrwB,OACHwF,SAASC,eAAe,aACxB,KAEN0qB,EAAS9tB,EAAAA,cAACwtB,EAAG,MAAKQ,EACpB,CAIA,MAAMC,EAAM9qB,SACZ,GACgB,aAAd8qB,EAAIxU,YACW,YAAdwU,EAAIxU,aAA6BwU,EAAIC,gBAAgBC,SAEtD5T,YAAW,WACTwT,GACF,GAAG,OACE,CACL,MAAMlf,EAAU,WACdof,EAAI7pB,oBAAoB,mBAAoByK,GAAS,GACrDlR,OAAOyG,oBAAoB,OAAQyK,GAAS,GAE5Ckf,GACF,EAEAE,EAAInqB,iBAAiB,mBAAoB+K,GAAS,GAClDlR,OAAOmG,iBAAiB,OAAQ+K,GAAS,EAC3C,CAEM,GACN,mFC1SJ,UAlByBgC,IAAmB,IAAlB,SAAEnN,GAAUmN,EACpC,MAAM6N,EAAgBtH,EAAAA,GAAOxJ,aAAalK,EAASmC,UACnD,OAAK6Y,EAGE1e,EAAAA,cAAoBouB,EAAAA,EAAsB,CAC/C1qB,WACAgb,mBACGA,EAAcvE,OALV,IAMP,yBCfkByD,MAKpBtQ,EAAO9O,SALaof,EAKWpQ,EAAQ,SALRoQ,EAAEzd,SAAYyd,sECA/C,MAAM3P,EAAM,IAAI7M,QAET,SAAS0lB,IACd,MAAMuH,EAAiB7gB,EAAQ,OAY/B,MAAO,CAAEjJ,OAVMA,CAACI,EAAW2pB,KACzB,IAAIC,EAAOtgB,EAAI1N,IAAI+tB,GACdC,GACHtgB,EAAIjN,IAAIstB,EAAKC,EAAOF,EAAeG,WAAWF,IAEhDC,EAAKhqB,OAAOI,EAAU,EAKPinB,QAFDA,CAACjnB,EAAW2pB,IAAOD,EAAeI,YAAYH,EAAI3pB,GAGpE,sECZA,MAAM+pB,EAAc,IAAI/e,IAClBgf,EAAwB,IAAIhf,IAU3B,SAAS6B,EAAwB3L,GACtC,IAAI0L,EAAWmd,EAAYnuB,IAAIsF,GAI/B,OAHK0L,IACHA,EAAWod,EAAsBpuB,IAAIsF,EAASzH,gBAEzCmT,CACT,IAdU2G,SAAQ3G,IACZA,EAASqd,WACXD,EAAsB3tB,IAAIuQ,EAASsd,SAAUtd,GAE7Cmd,EAAY1tB,IAAIuQ,EAASsd,SAAUtd,EACrC,6DCTwB,WAAxB5T,OAAO+F,SAASorB,UACQ,cAAxBnxB,OAAO+F,SAASqrB,SAEhBzB,QAAQxQ,MAAM,gFAGL,kBAAmBlf,WAC5BA,UAAU8rB,cACPsF,SAAyB,UACzB1gB,MAAK,SAAU2gB,GACdA,EAAInrB,iBAAiB,eAAe,MAClC8X,EAAAA,EAAAA,GAAU,6BAA8B,CAAE8N,cAAeuF,IAGzD,MAAMC,EAAmBD,EAAIE,WAC7B7B,QAAQ8B,IAAI,mBAAoBF,GAChCA,EAAiBprB,iBAAiB,eAAe,KAC/C,OAAQorB,EAAiBjpB,OACvB,IAAI,YACErI,UAAU8rB,cAAc3K,YAK1BphB,OAAOyrB,cAAe,GAEtBxN,EAAAA,EAAAA,GAAU,6BAA8B,CAAE8N,cAAeuF,IAGrDtxB,OAAO0xB,qBACT/B,QAAQ8B,IAAI,4CACZzxB,OAAO+F,SAAS0pB,YAKlBE,QAAQ8B,IAAI,sCAKZxT,EAAAA,EAAAA,GAAU,2BAA4B,CAAE8N,cAAeuF,KAEzD,MAEF,IAAI,YACF3B,QAAQxQ,MAAM,oDACdlB,EAAAA,EAAAA,GAAU,2BAA4B,CAAE8N,cAAeuF,IACvD,MAEF,IAAI,aACFrT,EAAAA,EAAAA,GAAU,wBAAyB,CAAE8N,cAAeuF,IAExD,GACA,GAEN,IACCnW,OAAM,SAAUtT,GACf8nB,QAAQxQ,MAAM,4CAA6CtX,EAC7D,gKC5DJ,MAAMmP,EAAuB3U,EAAAA,cAAoB,CAAC,GAC5CqV,EAAgBrV,EAAAA,cAAoB,CAAC,GACrC+T,EAAmB/T,EAAAA,cAAoB,CAAC,GACxCiU,EAAqBjU,EAAAA,cAAoB,CAAC,uICDhD,MAAMonB,GCgB+BxR,EDhBkB,cCgBZ0Z,EDhB2B,CAAC,ECiBjEtvB,EAAMuvB,oBAjBgB,SAAC3Z,EAAM0Z,GAajC,YAb6C,IAAZA,IAAAA,EAAe,MAE3CE,WAAWC,mBACdD,WAAWC,iBAAmB,CAAC,GAG5BD,WAAWC,iBAAiB7Z,KAC/B4Z,WAAWC,iBAAiB7Z,GAAQ5V,EAAMuvB,oBACxC3Z,EACA0Z,IAIGE,WAAWC,iBAAiB7Z,EACrC,CAIW2Z,CAAoB3Z,EAAM0Z,GAG5BtvB,EAAAA,cAAoBsvB,IAL7B,IAAqC1Z,EAAM0Z,EDd3C,SAASI,EAAuB7e,GAA4C,IAA3C,gBAAE8e,EAAe,KAAE5a,EAAI,MAAE6a,EAAK,OAAErrB,GAAQsM,EACvE,MAAMgf,EAAY9a,EACdA,EAAKA,KACL4a,EAAgBC,IAAUD,EAAgBC,GAAO7a,KAErD,OACE/U,EAAAA,cAACA,EAAAA,SAAc,KACZ6vB,GAAatrB,EAAOsrB,IACnBA,GAAa7vB,EAAAA,cAAA,WAAK,yBAG1B,CAKA,MAAM8vB,EAAchtB,IAClB,MAAM,KAAEiS,EAAI,MAAE6a,EAAK,OAAErrB,EAAM,SAAEG,GAAa5B,EAS1C,OACE9C,EAAAA,cAAConB,EAAmB0F,SAAQ,MACzB6C,GACC3vB,EAAAA,cAAC0vB,EAAuB,CACtB3a,KAAMA,EACN6a,MAAOA,EACPrrB,OAAQA,GAAUG,EAClBirB,gBAAiBA,KAGO,EAW5BI,EAAiBH,IAAU,IAADI,EAErBhwB,EAAAA,WAUT,MAAMiwB,EAAUjwB,EAAAA,WAAiBonB,GAKjC,GAAI8I,MAAMC,OAAOP,IACf,MAAM,IAAIzb,MAAM,8KAIMyb,EAAK,SAI7B,GAAkB,QAAlBI,EAAIC,EAAQL,UAAM,IAAAI,GAAdA,EAAgBjb,KAClB,OAAOkb,EAAQL,GAAO7a,KAEtB,MAAM,IAAIZ,MACR,uMAIJ,sCElFa,SAAShE,EAAYigB,EAAKC,GACvC,YAD6C,IAANA,IAAAA,EAAM,IACxCA,EAIDD,IAAQC,EACJ,IAGJD,EAAIjzB,WAAckzB,EAAM,KACnBD,EAAI3yB,MAAM4yB,EAAO9yB,QAGnB6yB,EAXEA,CAYX,gHCjBA,IAAIzwB,EAAyB6N,EAAQ,OACrChP,EAAQoB,YAAa,EACrBpB,EAAQ8xB,mBAAqB9xB,EAAQ+xB,uBAAoB,EACzD/xB,EAAQgyB,cA4DR,WACE,MAAMP,GAAU,EAAI/pB,EAAOC,YAAYoqB,GACvC,GAAIN,IAAYX,EACd,MAAM,IAAInb,MAAM,wDAElB,OAAO8b,CACT,EAjEA,IAAI/uB,EAAavB,EAAuB6N,EAAQ,QAC5CtH,EAEJ,SAAiCV,EAAGirB,GAAK,IAAKA,GAAKjrB,GAAKA,EAAE5F,WAAY,OAAO4F,EAAG,GAAI,OAASA,GAAK,iBAAmBA,GAAK,mBAAqBA,EAAG,MAAO,CAAErF,QAASqF,GAAK,IAAIkrB,EAAIrwB,EAAyBowB,GAAI,GAAIC,GAAKA,EAAEpwB,IAAIkF,GAAI,OAAOkrB,EAAEnwB,IAAIiF,GAAI,IAAImrB,EAAI,CAAE5e,UAAW,MAAQU,EAAInU,OAAOC,gBAAkBD,OAAOoC,yBAA0B,IAAK,IAAIkwB,KAAKprB,EAAG,GAAI,YAAcorB,GAAKtyB,OAAOsC,UAAUC,eAAeC,KAAK0E,EAAGorB,GAAI,CAAE,IAAIzF,EAAI1Y,EAAInU,OAAOoC,yBAAyB8E,EAAGorB,GAAK,KAAMzF,IAAMA,EAAE5qB,KAAO4qB,EAAEnqB,KAAO1C,OAAOC,eAAeoyB,EAAGC,EAAGzF,GAAKwF,EAAEC,GAAKprB,EAAEorB,EAAI,CAAE,OAAOD,EAAExwB,QAAUqF,EAAGkrB,GAAKA,EAAE1vB,IAAIwE,EAAGmrB,GAAIA,CAAG,CAFnkB1vB,CAAwBuM,EAAQ,QAC7C,SAASnN,EAAyBmF,GAAK,GAAI,mBAAqBpE,QAAS,OAAO,KAAM,IAAIqvB,EAAI,IAAIrvB,QAAWsvB,EAAI,IAAItvB,QAAW,OAAQf,EAA2B,SAAUmF,GAAK,OAAOA,EAAIkrB,EAAID,CAAG,GAAGjrB,EAAI,CAE3M,MAAM8pB,EAAe,CAAC,EAChBiB,EAAoB/xB,EAAQ+xB,mBAAiC,EAAIrqB,EAAO3E,eAAe+tB,GACvFgB,EAAqBzf,IAGpB,IAHqB,SAC1BnM,EAAQ,QACRmsB,GACDhgB,EACC,MAAOigB,EAAYC,IAAiB,EAAI7qB,EAAO8qB,UAAU,CAAC,GAwC1D,OAvCA,EAAI9qB,EAAO+c,YAAW,KACpB,MAAMgO,EAAkB,CAAC,EACnB5c,EAAO/V,OAAO+V,KAAKwc,GACzB,IAAIK,GAAa,EACjB,MAAMC,EAAsBA,KAC1B,MAAMC,EAAiB/c,EAAKlG,QAAO,CAACkjB,EAAKC,KACvCD,EAAIC,MAAYL,EAAgBK,KAAUL,EAAgBK,GAAOC,SAC1DF,IACN,CAAC,GACJN,EAAcK,EAAe,EAE/B,GAAIzzB,QAAUA,OAAO6zB,WAAY,CAC/B,MAAMD,EAAU,CAAC,EACjBld,EAAK6D,SAAQoZ,IACmB,iBAAnBT,EAAQS,IACjBL,EAAgBK,GAAS3zB,OAAO6zB,WAAWX,EAAQS,IACnDC,EAAQD,GAASL,EAAgBK,GAAOC,SAExCA,EAAQD,IAAS,CACnB,IAEFP,EAAcQ,GACdL,GAAa,EACb7c,EAAK6D,SAAQoZ,IACmB,iBAAnBT,EAAQS,IACjBL,EAAgBK,GAAOG,YAAYN,EACrC,GAEJ,CACA,MAAO,KACDD,GACF7c,EAAK6D,SAAQoZ,IACmB,iBAAnBT,EAAQS,IACjBL,EAAgBK,GAAOI,eAAeP,EACxC,GAEJ,CACD,GACA,CAACN,IACgB3qB,EAAO/F,QAAQqE,cAAc+rB,EAAkB9rB,SAAU,CAC3EhG,MAAOqyB,GACNpsB,EAAS,EAEdlG,EAAQ8xB,mBAAqBA,EAC7BA,EAAmB1rB,UAAY,CAC7BF,SAAUxD,EAAWf,QAAQ2E,QAAQC,WACrC8rB,QAAS3vB,EAAWf,QAAQ6E,OAAOD,8CC7DrCvG,EAAQoB,YAAa,EACrBpB,EAAQmzB,oBAAiB,EACFnzB,EAAQmzB,eAAiB,CAC9CC,GAAI,qBACJC,GAAI,qBACJC,GAAI,sBACJC,EAAG,2DCNL,IAAIpyB,EAAyB6N,EAAQ,OACrChP,EAAQoB,YAAa,EACrBpB,EAAQwzB,qBAAkB,EAC1B,IAAI9rB,EAASvG,EAAuB6N,EAAQ,QACxCykB,EAAazkB,EAAQ,OACrB0kB,EAAsB1kB,EAAQ,OAYlChP,EAAQwzB,gBATgBA,CAAAnhB,EAAAO,KAIjB,IAJkB,QACvBtM,GACD+L,GAAE,QACDggB,EAAU,MACXzf,EACC,OAAoBlL,EAAO/F,QAAQqE,cAAc0tB,EAAoB5B,mBAAoB,CACvFO,QAAqB,OAAZA,EAAmBA,EAAUoB,EAAWN,gBAChD7sB,EAAQ,oICjBb,MAAMqtB,EAAoB,IAAI7W,IAC9B,SAAS8W,EAAStf,EAAIuf,GACpB,IAAIC,EAAQ,KACZ,OAAO,WACDA,GACF9I,aAAa8I,GACd,QAAA1wB,EAAAC,UAAAtE,OAHiBuE,EAAI,IAAAC,MAAAH,GAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAJF,EAAIE,GAAAH,UAAAG,GAItBswB,EAAQ/X,WAAUtY,WAAC,EAAD,CAAC6Q,EAAIuf,GAAO70B,OAAKsE,GACrC,CACF,CACA,SAASywB,IACP,SAASC,EAASzd,GACZod,EAAkB7xB,IAAIyU,EAAKa,QAG/Buc,EAAkB7Q,IAAIvM,EAAKa,MAoB/B,SAA8BxE,GAI1B,IAJ2B,KAC7BwE,EAAI,MACJnX,EAAK,GACLgV,GACDrC,EACCzT,OAAO80B,GAAG,OAAD,QAAkB,CACzBC,cAAc,aACdC,YAAa/c,EAKbgd,WAAYnf,EAIZof,WAAYC,KAAKC,MAAU,QAAJnd,EAAyB,IAARnX,EAAeA,GAEvDu0B,gBAAgB,EAEhBC,UAAU,UAEd,CAzCIC,CAAsBne,GACxB,CACA,OAAO,gCAA0BzG,MAAKuC,IAI/B,IAJgC,OACrCsiB,EAAM,OACNC,EAAM,OACNC,GACDxiB,EACC,MAAMyiB,EAAelB,EAASI,EAAU,KAElCe,EAAef,EAEfgB,EAAepB,EAASI,EAAU,KAGxCa,EAAOC,GAAc,GACrBF,EAAOG,GAAc,GACrBJ,EAAOK,GAAc,EAAK,GAE9B,CAwBO,MAAMzK,EAAgB,SAAAlI,EAE1B4S,GAAwB,IAFG,SAC5B/vB,GACDmd,OAAe,IAAb4S,IAAAA,EAAgB,CAAC,GAClB,MAAMhB,EAAK90B,OAAO80B,GAClB,GAAsD,mBAAFA,EAClD,OAAO,KAGT,GADuB/uB,QAAwC,IAArB/F,OAAO+1B,gBAAkC/1B,OAAO+1B,eAAe5X,MAAK6X,GAAMA,EAAGxT,KAAKzc,EAASmC,YACjH,OAAO,KAI3B,MAOM+tB,EAAQd,KAAKe,IAAI,GAAIJ,EAAcK,qBAAuB,GAEhE,OADAvZ,YARqBwZ,KACnB,MAAM9X,EAAWvY,EAAWA,EAASmC,SAAWnC,EAAS6L,OAAS7L,EAAST,UAAOiB,EAClFuuB,EAAG,MAAD,OAAgBxW,GAClBwW,EAAG,OAAD,WAAoB,GAKCmB,GAClB,IACT,EACO,SAASltB,EAAsBstB,EAAGP,GACe,mBAAFhB,IAAqBgB,EAAcQ,yBACrF1B,GAEJ,2GChFO,MAAMxJ,EAAgB,SAAsBlY,EAEhD4iB,GAAgB,IAFiC,SAClD/vB,GACDmN,CAWD,sCCdA,IAAIqjB,EAAU1mB,EAAQ,2CCFtB,IAAI7N,EAAyB6N,EAAQ,OACrChP,EAAQoB,YAAa,EACrBpB,EAAQ21B,oBAAiB,EACzB,IACIA,EADSx0B,EAAuB6N,EAAQ,QACHrN,QAAQoB,cAAc,CAC7DzD,SAAU,KACVD,UAAW,CAAC,MACZu2B,QAAQ,EACRC,gBAAiB,KACjBC,6BAA6B,EAC7BvjB,aAAc,IACdzB,KAAM,MAER9Q,EAAQ21B,eAAiBA,sCCbzB,IAAIx0B,EAAyB6N,EAAQ,OACrChP,EAAQoB,YAAa,EACrBpB,EAAQ+1B,qBAAkB,EAC1B,IAAIC,EAAY70B,EAAuB6N,EAAQ,QAE3CtH,GAD+BvG,EAAuB6N,EAAQ,QACrD7N,EAAuB6N,EAAQ,SACxC0mB,EAAU1mB,EAAQ,OAClBinB,EAAe90B,EAAuB6N,EAAQ,QAC9CknB,EAASlnB,EAAQ,OACjBmnB,EAAWh1B,EAAuB6N,EAAQ,QAC1ConB,EAAgBpnB,EAAQ,OACxBqnB,EAAkBrnB,EAAQ,OACf7N,EAAuB6N,EAAQ,QA4H9ChP,EAAQ+1B,gBAtGc,SAAyB1jB,EAAMO,GACnD,IAAI0jB,EAAuBC,EACvBjwB,EAAU+L,EAAK/L,QACjBhC,EAAQ+N,EAAK/N,MACXkyB,EAAuB5jB,EAAM6jB,eAC/BA,OAA0C,IAAzBD,EAAkC,CAAC,EAAIA,EACxDE,EAAiB9jB,EAAMG,SACvBA,OAA8B,IAAnB2jB,GAAmCA,EAC9CC,EAAwB/jB,EAAMkjB,4BAC9BA,OAAwD,IAA1Ba,GAA2CA,EACzEC,EAAUhkB,EAAMgkB,QAChBC,EAAwBjkB,EAAMkkB,mBAC9BA,OAA+C,IAA1BD,EAAmC,UAAYA,EACpEE,EAAmBnkB,EAAMmkB,iBACzBC,EAAgBpkB,EAAMokB,cACxB,GAAK1yB,EAAL,CACA,IAAIiS,EAAOjS,EAAMiS,KACfkS,EAAcnkB,EAAMmkB,YACpBvjB,EAAWZ,EAAMY,SACf+xB,EAAoBxO,EAAYyO,KAClCtB,EAASqB,EAAkBrB,OAC3Bt2B,EAAW23B,EAAkB33B,SAC7BD,EAAY43B,EAAkB53B,UAC9BkT,EAAe0kB,EAAkB1kB,aACjCsjB,EAAkBoB,EAAkBpB,gBACpC/kB,EAAOmmB,EAAkBnmB,KAE3B,GADiBiC,IAAa6iB,EACd,CACd,IAAI7kB,EAAS7L,EAAS6L,OAGtB,GAAsB,oBAAX5R,OAAwB,CACjC,IAAIg4B,EAAWh4B,OAAOi4B,aAAavwB,QAAQqvB,EAAOmB,gBAAiB,EAAIpB,EAAat0B,SAAS,CAC3FtC,UAAWA,EACXe,SAAU22B,GAAoBz3B,IAMhC,GAJKD,EAAUwe,SAASsZ,KACtBA,EAAW73B,GAEbH,OAAOi4B,aAAajwB,QAAQ+uB,EAAOmB,aAAcF,GAC7CA,IAAatB,EAAiB,CAChC,IAAIyB,EAAcvmB,GAAU,GACxBwmB,EAAuC,UAAlBP,EACrBQ,GAAS,EAAI9B,EAAQ+B,YAAY,IAAMN,EAtD5B,SAA0B9vB,EAAUkwB,GACzD,IAAIG,GAAa,EAAIhC,EAAQ+B,YAAY,KACrC/nB,EAASrI,EAIb,OAHIA,EAAS1I,WAAW+4B,KACtBhoB,EAASrI,EAASxH,QAAQ63B,EAAY,MAEpCH,GAAsB7nB,EAAO9O,SAAS,KACjC8O,EAAOzQ,MAAM,GAAI,GAEnByQ,CACT,CA4C8DioB,CAAiBzyB,EAASmC,SAAUkwB,GAAsBD,EAAcpyB,EAAST,MAGvI,OADAtF,OAAO8qB,WAAWuN,GACX,IACT,CACF,CACF,CACA,IAAII,GAAerhB,SAAmG,QAAtD+f,EAAwB/f,EAAKugB,UAA2D,IAA1BR,OAAxE,EAAoHA,EAAsBuB,QAAU,GACtMx4B,EAAUN,OAAS,GAAK64B,EAAY74B,OAApCM,EAGJ,IAAIy4B,EAAaF,EAAYnoB,KAAI,SAAU4S,GAEzC,OADWA,EAAM3d,KACLqzB,EACd,IAKIC,GAAoE,QAAtDzB,EAAwBE,EAAeuB,iBAAiD,IAA1BzB,OAAmC,EAASA,EAAsBhiB,aAAe,cACjKyjB,EAAYF,EAAWG,MAAK,SAAUF,GACpC,OAAOA,IAAOC,CAChB,KAAMA,EACN,IAAIE,EAAaJ,EAAWx3B,QAAO,SAAUy3B,GAC3C,OAAOA,IAAOC,CAChB,IACIG,EAAYP,EAAYjoB,QAAO,SAAU0O,EAAKuE,GAChD,IAAIle,EAAOke,EAAMle,KACb0zB,EAAkC,iBAAd1zB,EAAK6R,KAAoB7R,EAAK6R,KAAOzP,KAAKC,MAAMrC,EAAK6R,MAG7E,OAFM7R,EAAKpF,YAAY+e,IAAMA,EAAI3Z,EAAKpF,UAAY,CAAC,GACnD+e,EAAI3Z,EAAKpF,UAAUoF,EAAKqzB,IAAMC,GAAaI,EACpC/Z,CACT,GAAG,CAAC,GACA6Y,EAAOf,EAASx0B,QAAQ02B,iBAwB5B,OAvBAnB,EAAKoB,MAAK,EAAItC,EAAUr0B,SAAS,CAAC,EAAG80B,EAAgB,CACnD0B,UAAWA,EACXI,IAAKj5B,EACLk5B,YAAa3C,EACbmC,UAAWA,EACXE,WAAYA,EACZO,OAAO,EAAIzC,EAAUr0B,SAAS,CAAC,EAAG80B,EAAegC,MAAO,CACtDC,aAAa,OAGbxB,EAAK53B,WAAaA,GACpB43B,EAAKyB,eAAer5B,GA5GN,SAAqB43B,EAAMzF,GAC3C,OAAO,SAAUvrB,GACf,OAAoBwB,EAAO/F,QAAQqE,cAAcowB,EAAcwC,gBAAiB,CAC9E1B,KAAMA,GACQxvB,EAAO/F,QAAQqE,cAAcqwB,EAAgBV,eAAe1vB,SAAU,CACpFhG,MAAOwxB,GACNvrB,GACL,CACF,CAgHS2yB,CAAY3B,EAVL,CACZtB,OAAQA,EACRt2B,SAAUA,EACVD,UAAWA,EACXkT,aAAcA,EACdsjB,gBAAiBA,EACjBC,4BAA6BA,EAC7Bc,QAASA,EACT9lB,KAAMA,GAED+nB,CAA2BvyB,EArFhB,CAsFpB,oCCvIAtG,EAAQoB,YAAa,EACrBpB,EAAQq3B,kBAAe,EAEvBr3B,EAAQq3B,aADW,iDCJnB,MAAM,gBAACtB,GAAmB/mB,EAAQ,OAClChP,EAAQ+1B,gBAAkBA,sCCC1B,IAAI+C,EAAU,EAAQ,OAClBC,EAAkB,EAAQ,OAC1BC,EAAe,EAAQ,OACvB3gB,EAAyB,EAAQ,OACjC4gB,EAAY,EAAQ,OACpBC,EAA6B,EAAQ,OACrC/lB,EAAkB,EAAQ,OAC1BgmB,EAAkB,EAAQ,OAC1BC,EAAW,EAAQ,OAEvB,SAASC,EAAuBryB,GAAK,OAAOA,GAAkB,iBAANA,GAAkB,YAAaA,EAAIA,EAAI,CAAE,QAAWA,EAAK,CAEjH,IAAIsyB,EAAgCD,EAAsBP,GACtDS,EAAwCF,EAAsBN,GAC9DS,EAAqCH,EAAsBL,GAC3DS,EAA+CJ,EAAsBhhB,GACrEqhB,EAAkCL,EAAsBJ,GACxDU,EAAmDN,EAAsBH,GACzEU,EAAwCP,EAAsBlmB,GAC9D0mB,EAAwCR,EAAsBF,GAC9DW,EAAiCT,EAAsBD,GAE3D,SAASW,EAAQvzB,EAAQwzB,GAAkB,IAAInkB,EAAO/V,OAAO+V,KAAKrP,GAAS,GAAI1G,OAAOm6B,sBAAuB,CAAE,IAAIC,EAAUp6B,OAAOm6B,sBAAsBzzB,GAAawzB,IAAkBE,EAAUA,EAAQ55B,QAAO,SAAU65B,GAAO,OAAOr6B,OAAOoC,yBAAyBsE,EAAQ2zB,GAAKxlB,UAAY,KAAMkB,EAAKvF,KAAK7M,MAAMoS,EAAMqkB,EAAU,CAAE,OAAOrkB,CAAM,CAExV,SAASukB,EAAcv7B,GAAU,IAAK,IAAI8tB,EAAI,EAAGA,EAAItpB,UAAUtE,OAAQ4tB,IAAK,CAAE,IAAI0N,EAAyB,MAAhBh3B,UAAUspB,GAAatpB,UAAUspB,GAAK,CAAC,EAAOA,EAAI,EAAKoN,EAAQj6B,OAAOu6B,IAAS,GAAM3gB,SAAQ,SAAUvX,GAAO03B,EAAkC,QAAEh7B,EAAQsD,EAAKk4B,EAAOl4B,GAAO,IAAerC,OAAOw6B,0BAA6Bx6B,OAAOy6B,iBAAiB17B,EAAQiB,OAAOw6B,0BAA0BD,IAAmBN,EAAQj6B,OAAOu6B,IAAS3gB,SAAQ,SAAUvX,GAAOrC,OAAOC,eAAelB,EAAQsD,EAAKrC,OAAOoC,yBAAyBm4B,EAAQl4B,GAAO,GAAM,CAAE,OAAOtD,CAAQ,CAEziB,IAAI27B,EAAgB,CAClBpqB,KAAM,SACNwgB,IAAK,SAAattB,GAChBI,KAAK+2B,OAAO,MAAOn3B,EACrB,EACAo3B,KAAM,SAAcp3B,GAClBI,KAAK+2B,OAAO,OAAQn3B,EACtB,EACAgb,MAAO,SAAehb,GACpBI,KAAK+2B,OAAO,QAASn3B,EACvB,EACAm3B,OAAQ,SAAgBrqB,EAAM9M,GACxBwrB,SAAWA,QAAQ1e,IAAO0e,QAAQ1e,GAAM3M,MAAMqrB,QAASxrB,EAC7D,GAGEq3B,EAAS,WACX,SAASA,EAAOC,GACd,IAAIz6B,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAEnFk2B,EAAkC,QAAE71B,KAAMi3B,GAE1Cj3B,KAAK40B,KAAKsC,EAAgBz6B,EAC5B,CA2EA,OAzEAq5B,EAA+B,QAAEmB,EAAQ,CAAC,CACxCx4B,IAAK,OACLlC,MAAO,SAAc26B,GACnB,IAAIz6B,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnFK,KAAKmuB,OAAS1xB,EAAQ0xB,QAAU,WAChCnuB,KAAKm3B,OAASD,GAAkBJ,EAChC92B,KAAKvD,QAAUA,EACfuD,KAAKo3B,MAAQ36B,EAAQ26B,KACvB,GACC,CACD34B,IAAK,WACLlC,MAAO,SAAkB86B,GACvBr3B,KAAKo3B,MAAQC,CACf,GACC,CACD54B,IAAK,MACLlC,MAAO,WACL,IAAK,IAAImD,EAAOC,UAAUtE,OAAQuE,EAAO,IAAIC,MAAMH,GAAOI,EAAO,EAAGA,EAAOJ,EAAMI,IAC/EF,EAAKE,GAAQH,UAAUG,GAGzB,OAAOE,KAAK6E,QAAQjF,EAAM,MAAO,IAAI,EACvC,GACC,CACDnB,IAAK,OACLlC,MAAO,WACL,IAAK,IAAI+6B,EAAQ33B,UAAUtE,OAAQuE,EAAO,IAAIC,MAAMy3B,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF33B,EAAK23B,GAAS53B,UAAU43B,GAG1B,OAAOv3B,KAAK6E,QAAQjF,EAAM,OAAQ,IAAI,EACxC,GACC,CACDnB,IAAK,QACLlC,MAAO,WACL,IAAK,IAAIi7B,EAAQ73B,UAAUtE,OAAQuE,EAAO,IAAIC,MAAM23B,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF73B,EAAK63B,GAAS93B,UAAU83B,GAG1B,OAAOz3B,KAAK6E,QAAQjF,EAAM,QAAS,GACrC,GACC,CACDnB,IAAK,YACLlC,MAAO,WACL,IAAK,IAAIm7B,EAAQ/3B,UAAUtE,OAAQuE,EAAO,IAAIC,MAAM63B,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF/3B,EAAK+3B,GAASh4B,UAAUg4B,GAG1B,OAAO33B,KAAK6E,QAAQjF,EAAM,OAAQ,wBAAwB,EAC5D,GACC,CACDnB,IAAK,UACLlC,MAAO,SAAiBqD,EAAMg4B,EAAKzJ,EAAQ0J,GACzC,OAAIA,IAAc73B,KAAKo3B,MAAc,MACd,iBAAZx3B,EAAK,KAAiBA,EAAK,GAAK,GAAGtE,OAAO6yB,GAAQ7yB,OAAO0E,KAAKmuB,OAAQ,KAAK7yB,OAAOsE,EAAK,KAC3FI,KAAKm3B,OAAOS,GAAKh4B,GAC1B,GACC,CACDnB,IAAK,SACLlC,MAAO,SAAgBu7B,GACrB,OAAO,IAAIb,EAAOj3B,KAAKm3B,OAAQT,EAAcA,EAAc,CAAC,EAAG,CAC7DvI,OAAQ,GAAG7yB,OAAO0E,KAAKmuB,OAAQ,KAAK7yB,OAAOw8B,EAAY,OACrD93B,KAAKvD,SACX,GACC,CACDgC,IAAK,QACLlC,MAAO,SAAeE,GAGpB,OAFAA,EAAUA,GAAWuD,KAAKvD,SAClB0xB,OAAS1xB,EAAQ0xB,QAAUnuB,KAAKmuB,OACjC,IAAI8I,EAAOj3B,KAAKm3B,OAAQ16B,EACjC,KAGKw6B,CACT,CAnFa,GAqFTc,EAAa,IAAId,EAEjBe,EAAe,WACjB,SAASA,IACPnC,EAAkC,QAAE71B,KAAMg4B,GAE1Ch4B,KAAKi4B,UAAY,CAAC,CACpB,CAoDA,OAlDAnC,EAA+B,QAAEkC,EAAc,CAAC,CAC9Cv5B,IAAK,KACLlC,MAAO,SAAY27B,EAAQC,GACzB,IAAI14B,EAAQO,KAOZ,OALAk4B,EAAO5qB,MAAM,KAAK0I,SAAQ,SAAUyQ,GAClChnB,EAAMw4B,UAAUxR,GAAShnB,EAAMw4B,UAAUxR,IAAU,GAEnDhnB,EAAMw4B,UAAUxR,GAAO7Z,KAAKurB,EAC9B,IACOn4B,IACT,GACC,CACDvB,IAAK,MACLlC,MAAO,SAAakqB,EAAO0R,GACpBn4B,KAAKi4B,UAAUxR,KAEf0R,EAKLn4B,KAAKi4B,UAAUxR,GAASzmB,KAAKi4B,UAAUxR,GAAO7pB,QAAO,SAAUizB,GAC7D,OAAOA,IAAMsI,CACf,WANSn4B,KAAKi4B,UAAUxR,GAO1B,GACC,CACDhoB,IAAK,OACLlC,MAAO,SAAckqB,GACnB,IAAK,IAAI/mB,EAAOC,UAAUtE,OAAQuE,EAAO,IAAIC,MAAMH,EAAO,EAAIA,EAAO,EAAI,GAAII,EAAO,EAAGA,EAAOJ,EAAMI,IAClGF,EAAKE,EAAO,GAAKH,UAAUG,GAGzBE,KAAKi4B,UAAUxR,IACJ,GAAGnrB,OAAO0E,KAAKi4B,UAAUxR,IAC/BzQ,SAAQ,SAAUoiB,GACvBA,EAASr4B,WAAM,EAAQH,EACzB,IAGEI,KAAKi4B,UAAU,MACH,GAAG38B,OAAO0E,KAAKi4B,UAAU,MAE/BjiB,SAAQ,SAAUoiB,GACxBA,EAASr4B,MAAMq4B,EAAU,CAAC3R,GAAOnrB,OAAOsE,GAC1C,GAEJ,KAGKo4B,CACT,CA1DmB,GA4DnB,SAAS5Z,IACP,IAAIzD,EACA0d,EACAha,EAAU,IAAIhS,SAAQ,SAAUC,EAASuJ,GAC3C8E,EAAMrO,EACN+rB,EAAMxiB,CACR,IAGA,OAFAwI,EAAQ/R,QAAUqO,EAClB0D,EAAQxI,OAASwiB,EACVha,CACT,CACA,SAASia,EAAWx1B,GAClB,OAAc,MAAVA,EAAuB,GACpB,GAAKA,CACd,CAOA,SAASy1B,EAAcz1B,EAAQsK,EAAMorB,GACnC,SAASC,EAASh6B,GAChB,OAAOA,GAAOA,EAAIsO,QAAQ,QAAU,EAAItO,EAAItC,QAAQ,OAAQ,KAAOsC,CACrE,CAEA,SAASi6B,IACP,OAAQ51B,GAA4B,iBAAXA,CAC3B,CAIA,IAFA,IAAIoR,EAAwB,iBAAT9G,EAAoB,GAAG9R,OAAO8R,GAAQA,EAAKE,MAAM,KAE7D4G,EAAM7Y,OAAS,GAAG,CACvB,GAAIq9B,IAAwB,MAAO,CAAC,EACpC,IAAIj6B,EAAMg6B,EAASvkB,EAAMykB,UACpB71B,EAAOrE,IAAQ+5B,IAAO11B,EAAOrE,GAAO,IAAI+5B,GAG3C11B,EADE1G,OAAOsC,UAAUC,eAAeC,KAAKkE,EAAQrE,GACtCqE,EAAOrE,GAEP,CAAC,CAEd,CAEA,OAAIi6B,IAA+B,CAAC,EAC7B,CACL36B,IAAK+E,EACL81B,EAAGH,EAASvkB,EAAMykB,SAEtB,CAEA,SAASE,EAAQ/1B,EAAQsK,EAAM0rB,GAC7B,IAAIC,EAAiBR,EAAcz1B,EAAQsK,EAAMhR,QACvC28B,EAAeh7B,IACjBg7B,EAAeH,GAEdE,CACX,CAUA,SAASE,EAAQl2B,EAAQsK,GACvB,IAAI6rB,EAAkBV,EAAcz1B,EAAQsK,GACxCrP,EAAMk7B,EAAgBl7B,IACtB66B,EAAIK,EAAgBL,EAExB,GAAK76B,EACL,OAAOA,EAAI66B,EACb,CACA,SAASM,EAAoBrmB,EAAMsmB,EAAa16B,GAC9C,IAAIlC,EAAQy8B,EAAQnmB,EAAMpU,GAE1B,YAAcuD,IAAVzF,EACKA,EAGFy8B,EAAQG,EAAa16B,EAC9B,CACA,SAAS26B,EAAWj+B,EAAQw7B,EAAQ0C,GAClC,IAAK,IAAIC,KAAQ3C,EACF,cAAT2C,GAAiC,gBAATA,IACtBA,KAAQn+B,EACkB,iBAAjBA,EAAOm+B,IAAsBn+B,EAAOm+B,aAAiBC,QAAkC,iBAAjB5C,EAAO2C,IAAsB3C,EAAO2C,aAAiBC,OAChIF,IAAWl+B,EAAOm+B,GAAQ3C,EAAO2C,IAErCF,EAAWj+B,EAAOm+B,GAAO3C,EAAO2C,GAAOD,GAGzCl+B,EAAOm+B,GAAQ3C,EAAO2C,IAK5B,OAAOn+B,CACT,CACA,SAASq+B,EAAYtL,GACnB,OAAOA,EAAI/xB,QAAQ,sCAAuC,OAC5D,CACA,IAAIs9B,EAAa,CACf,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,QACL,IAAK,UAEP,SAASC,EAAO7mB,GACd,MAAoB,iBAATA,EACFA,EAAK1W,QAAQ,cAAc,SAAU+a,GAC1C,OAAOuiB,EAAWviB,EACpB,IAGKrE,CACT,CACA,IAAI8mB,EAA2B,oBAAXl+B,QAA0BA,OAAOC,gBAAuD,IAAnCD,OAAOC,UAAUk+B,eAAiCn+B,OAAOC,UAAUsiB,WAAaviB,OAAOC,UAAUsiB,UAAUjR,QAAQ,SAAW,EACnM8sB,EAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,KAwBjC,SAASC,EAAUh3B,EAAQwzB,GAAkB,IAAInkB,EAAO/V,OAAO+V,KAAKrP,GAAS,GAAI1G,OAAOm6B,sBAAuB,CAAE,IAAIC,EAAUp6B,OAAOm6B,sBAAsBzzB,GAAawzB,IAAkBE,EAAUA,EAAQ55B,QAAO,SAAU65B,GAAO,OAAOr6B,OAAOoC,yBAAyBsE,EAAQ2zB,GAAKxlB,UAAY,KAAMkB,EAAKvF,KAAK7M,MAAMoS,EAAMqkB,EAAU,CAAE,OAAOrkB,CAAM,CAE1V,SAAS4nB,EAAgB5+B,GAAU,IAAK,IAAI8tB,EAAI,EAAGA,EAAItpB,UAAUtE,OAAQ4tB,IAAK,CAAE,IAAI0N,EAAyB,MAAhBh3B,UAAUspB,GAAatpB,UAAUspB,GAAK,CAAC,EAAOA,EAAI,EAAK6Q,EAAU19B,OAAOu6B,IAAS,GAAM3gB,SAAQ,SAAUvX,GAAO03B,EAAkC,QAAEh7B,EAAQsD,EAAKk4B,EAAOl4B,GAAO,IAAerC,OAAOw6B,0BAA6Bx6B,OAAOy6B,iBAAiB17B,EAAQiB,OAAOw6B,0BAA0BD,IAAmBmD,EAAU19B,OAAOu6B,IAAS3gB,SAAQ,SAAUvX,GAAOrC,OAAOC,eAAelB,EAAQsD,EAAKrC,OAAOoC,yBAAyBm4B,EAAQl4B,GAAO,GAAM,CAAE,OAAOtD,CAAQ,CAE/iB,SAAS6+B,EAAaC,GAAW,IAAIC,EAErC,WAAuC,GAAuB,oBAAZjqB,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQ3R,UAAU4R,QAAQ1R,KAAKqR,QAAQC,UAAUG,QAAS,IAAI,WAAa,MAAY,CAAM,CAAE,MAAO/M,GAAK,OAAO,CAAO,CAAE,CAFvQ62B,GAA6B,OAAO,WAAkC,IAA0DnuB,EAAtDouB,EAAQlE,EAAkC,QAAE+D,GAAkB,GAAIC,EAA2B,CAAE,IAAIG,EAAYnE,EAAkC,QAAEl2B,MAAMgR,YAAahF,EAASiE,QAAQC,UAAUkqB,EAAOz6B,UAAW06B,EAAY,MAASruB,EAASouB,EAAMr6B,MAAMC,KAAML,WAAc,OAAOs2B,EAA6C,QAAEj2B,KAAMgM,EAAS,CAAG,CAIpe,SAASsuB,EAASv8B,EAAKqP,GACrB,IAAImtB,EAAe56B,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,IACvF,GAAK5B,EAAL,CACA,GAAIA,EAAIqP,GAAO,OAAOrP,EAAIqP,GAI1B,IAHA,IAAIotB,EAAQptB,EAAKE,MAAMitB,GACnBl2B,EAAUtG,EAELkrB,EAAI,EAAGA,EAAIuR,EAAMn/B,SAAU4tB,EAAG,CACrC,IAAK5kB,EAAS,OAEd,GAAiC,iBAAtBA,EAAQm2B,EAAMvR,KAAoBA,EAAI,EAAIuR,EAAMn/B,OACzD,OAGF,QAA0B2G,IAAtBqC,EAAQm2B,EAAMvR,IAAmB,CAKnC,IAJA,IAAIwR,EAAI,EACJ7b,EAAI4b,EAAMj/B,MAAM0tB,EAAGA,EAAIwR,GAAGxmB,KAAKsmB,GAC/BG,EAAMr2B,EAAQua,QAEH5c,IAAR04B,GAAqBF,EAAMn/B,OAAS4tB,EAAIwR,GAC7CA,IAEAC,EAAMr2B,EADNua,EAAI4b,EAAMj/B,MAAM0tB,EAAGA,EAAIwR,GAAGxmB,KAAKsmB,IAIjC,QAAYv4B,IAAR04B,EAAmB,OACvB,GAAY,OAARA,EAAc,OAAO,KAEzB,GAAIttB,EAAKlQ,SAAS0hB,GAAI,CACpB,GAAmB,iBAAR8b,EAAkB,OAAOA,EACpC,GAAI9b,GAAuB,iBAAX8b,EAAI9b,GAAiB,OAAO8b,EAAI9b,EAClD,CAEA,IAAI+b,EAAaH,EAAMj/B,MAAM0tB,EAAIwR,GAAGxmB,KAAKsmB,GACzC,OAAII,EAAmBL,EAASI,EAAKC,EAAYJ,QACjD,CACF,CAEAl2B,EAAUA,EAAQm2B,EAAMvR,GAC1B,CAEA,OAAO5kB,CAvCmB,CAwC5B,CAEA,IAAIu2B,EAAgB,SAAUC,GAC5B7E,EAA4B,QAAE4E,EAAeC,GAE7C,IAAIC,EAASd,EAAaY,GAE1B,SAASA,EAAc/nB,GACrB,IAAIpT,EAEAhD,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAChF00B,GAAI,CAAC,eACLC,UAAW,eAsBb,OAnBAuB,EAAkC,QAAE71B,KAAM46B,GAE1Cn7B,EAAQq7B,EAAOl8B,KAAKoB,MAEhB25B,GACF3B,EAAap5B,KAAKm3B,EAAyC,QAAEt2B,IAG/DA,EAAMoT,KAAOA,GAAQ,CAAC,EACtBpT,EAAMhD,QAAUA,OAEmBuF,IAA/BvC,EAAMhD,QAAQ89B,eAChB96B,EAAMhD,QAAQ89B,aAAe,UAGWv4B,IAAtCvC,EAAMhD,QAAQs+B,sBAChBt7B,EAAMhD,QAAQs+B,qBAAsB,GAG/Bt7B,CACT,CA8IA,OA5IAq2B,EAA+B,QAAE8E,EAAe,CAAC,CAC/Cn8B,IAAK,gBACLlC,MAAO,SAAuB83B,GACxBr0B,KAAKvD,QAAQ43B,GAAGtnB,QAAQsnB,GAAM,GAChCr0B,KAAKvD,QAAQ43B,GAAGznB,KAAKynB,EAEzB,GACC,CACD51B,IAAK,mBACLlC,MAAO,SAA0B83B,GAC/B,IAAI5V,EAAQze,KAAKvD,QAAQ43B,GAAGtnB,QAAQsnB,GAEhC5V,GAAS,GACXze,KAAKvD,QAAQ43B,GAAGvnB,OAAO2R,EAAO,EAElC,GACC,CACDhgB,IAAK,cACLlC,MAAO,SAAqBs4B,EAAKR,EAAI51B,GACnC,IAAIhC,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/E46B,OAAwCv4B,IAAzBvF,EAAQ89B,aAA6B99B,EAAQ89B,aAAev6B,KAAKvD,QAAQ89B,aACxFQ,OAAsD/4B,IAAhCvF,EAAQs+B,oBAAoCt+B,EAAQs+B,oBAAsB/6B,KAAKvD,QAAQs+B,oBAC7G3tB,EAAO,CAACynB,EAAKR,GACb51B,GAAsB,iBAARA,IAAkB2O,EAAOA,EAAK9R,OAAOmD,IACnDA,GAAsB,iBAARA,IAAkB2O,EAAOA,EAAK9R,OAAOi/B,EAAe97B,EAAI6O,MAAMitB,GAAgB97B,IAE5Fo2B,EAAI9nB,QAAQ,MAAQ,IACtBK,EAAOynB,EAAIvnB,MAAM,MAGnB,IAAItB,EAASgtB,EAAQh5B,KAAK6S,KAAMzF,GAChC,OAAIpB,IAAW+uB,GAAsC,iBAARt8B,EAAyBuN,EAC/DsuB,EAASt6B,KAAK6S,MAAQ7S,KAAK6S,KAAKgiB,IAAQ70B,KAAK6S,KAAKgiB,GAAKR,GAAK51B,EAAK87B,EAC1E,GACC,CACD97B,IAAK,cACLlC,MAAO,SAAqBs4B,EAAKR,EAAI51B,EAAKlC,GACxC,IAAIE,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAChFq7B,QAAQ,GAENT,EAAev6B,KAAKvD,QAAQ89B,kBACXv4B,IAAjBu4B,IAA4BA,EAAe,KAC/C,IAAIntB,EAAO,CAACynB,EAAKR,GACb51B,IAAK2O,EAAOA,EAAK9R,OAAOi/B,EAAe97B,EAAI6O,MAAMitB,GAAgB97B,IAEjEo2B,EAAI9nB,QAAQ,MAAQ,IAEtBxQ,EAAQ83B,EACRA,GAFAjnB,EAAOynB,EAAIvnB,MAAM,MAEP,IAGZtN,KAAKi7B,cAAc5G,GACnBwE,EAAQ74B,KAAK6S,KAAMzF,EAAM7Q,GACpBE,EAAQu+B,QAAQh7B,KAAKgN,KAAK,QAAS6nB,EAAKR,EAAI51B,EAAKlC,EACxD,GACC,CACDkC,IAAK,eACLlC,MAAO,SAAsBs4B,EAAKR,EAAII,GACpC,IAAIh4B,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAChFq7B,QAAQ,GAGV,IAAK,IAAItf,KAAK+Y,EACgB,iBAAjBA,EAAU/Y,IAAqE,mBAAlDtf,OAAOsC,UAAUmS,SAAS9Q,MAAM00B,EAAU/Y,KAA0B1b,KAAKk7B,YAAYrG,EAAKR,EAAI3Y,EAAG+Y,EAAU/Y,GAAI,CACrJsf,QAAQ,IAIPv+B,EAAQu+B,QAAQh7B,KAAKgN,KAAK,QAAS6nB,EAAKR,EAAII,EACnD,GACC,CACDh2B,IAAK,oBACLlC,MAAO,SAA2Bs4B,EAAKR,EAAII,EAAW0G,EAAM9B,GAC1D,IAAI58B,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAChFq7B,QAAQ,GAEN5tB,EAAO,CAACynB,EAAKR,GAEbQ,EAAI9nB,QAAQ,MAAQ,IAEtBouB,EAAO1G,EACPA,EAAYJ,EACZA,GAHAjnB,EAAOynB,EAAIvnB,MAAM,MAGP,IAGZtN,KAAKi7B,cAAc5G,GACnB,IAAI+G,EAAOpC,EAAQh5B,KAAK6S,KAAMzF,IAAS,CAAC,EAEpC+tB,EACF/B,EAAWgC,EAAM3G,EAAW4E,GAE5B+B,EAAOrB,EAAgBA,EAAgB,CAAC,EAAGqB,GAAO3G,GAGpDoE,EAAQ74B,KAAK6S,KAAMzF,EAAMguB,GACpB3+B,EAAQu+B,QAAQh7B,KAAKgN,KAAK,QAAS6nB,EAAKR,EAAII,EACnD,GACC,CACDh2B,IAAK,uBACLlC,MAAO,SAA8Bs4B,EAAKR,GACpCr0B,KAAKq7B,kBAAkBxG,EAAKR,WACvBr0B,KAAK6S,KAAKgiB,GAAKR,GAGxBr0B,KAAKs7B,iBAAiBjH,GACtBr0B,KAAKgN,KAAK,UAAW6nB,EAAKR,EAC5B,GACC,CACD51B,IAAK,oBACLlC,MAAO,SAA2Bs4B,EAAKR,GACrC,YAAqCryB,IAA9BhC,KAAKu7B,YAAY1G,EAAKR,EAC/B,GACC,CACD51B,IAAK,oBACLlC,MAAO,SAA2Bs4B,EAAKR,GAErC,OADKA,IAAIA,EAAKr0B,KAAKvD,QAAQ63B,WACW,OAAlCt0B,KAAKvD,QAAQ++B,iBAAkCzB,EAAgBA,EAAgB,CAAC,EAAG,CAAC,GAAI/5B,KAAKu7B,YAAY1G,EAAKR,IAC3Gr0B,KAAKu7B,YAAY1G,EAAKR,EAC/B,GACC,CACD51B,IAAK,oBACLlC,MAAO,SAA2Bs4B,GAChC,OAAO70B,KAAK6S,KAAKgiB,EACnB,GACC,CACDp2B,IAAK,8BACLlC,MAAO,SAAqCs4B,GAC1C,IAAIhiB,EAAO7S,KAAKy7B,kBAAkB5G,GAElC,SADQhiB,GAAQzW,OAAO+V,KAAKU,IAAS,IAC1B0hB,MAAK,SAAUmH,GACxB,OAAO7oB,EAAK6oB,IAAMt/B,OAAO+V,KAAKU,EAAK6oB,IAAIrgC,OAAS,CAClD,GACF,GACC,CACDoD,IAAK,SACLlC,MAAO,WACL,OAAOyD,KAAK6S,IACd,KAGK+nB,CACT,CAhLoB,CAgLlB5C,GAEE2D,EAAgB,CAClBC,WAAY,CAAC,EACbC,iBAAkB,SAA0BzwB,GAC1CpL,KAAK47B,WAAWxwB,EAAOsI,MAAQtI,CACjC,EACA0wB,OAAQ,SAAgBF,EAAYr/B,EAAOkC,EAAKhC,EAASs/B,GACvD,IAAIt8B,EAAQO,KAKZ,OAHA47B,EAAW5lB,SAAQ,SAAUgmB,GACvBv8B,EAAMm8B,WAAWI,KAAYz/B,EAAQkD,EAAMm8B,WAAWI,GAAWC,QAAQ1/B,EAAOkC,EAAKhC,EAASs/B,GACpG,IACOx/B,CACT,GAGF,SAAS2/B,EAAUp5B,EAAQwzB,GAAkB,IAAInkB,EAAO/V,OAAO+V,KAAKrP,GAAS,GAAI1G,OAAOm6B,sBAAuB,CAAE,IAAIC,EAAUp6B,OAAOm6B,sBAAsBzzB,GAAawzB,IAAkBE,EAAUA,EAAQ55B,QAAO,SAAU65B,GAAO,OAAOr6B,OAAOoC,yBAAyBsE,EAAQ2zB,GAAKxlB,UAAY,KAAMkB,EAAKvF,KAAK7M,MAAMoS,EAAMqkB,EAAU,CAAE,OAAOrkB,CAAM,CAE1V,SAASgqB,EAAgBhhC,GAAU,IAAK,IAAI8tB,EAAI,EAAGA,EAAItpB,UAAUtE,OAAQ4tB,IAAK,CAAE,IAAI0N,EAAyB,MAAhBh3B,UAAUspB,GAAatpB,UAAUspB,GAAK,CAAC,EAAOA,EAAI,EAAKiT,EAAU9/B,OAAOu6B,IAAS,GAAM3gB,SAAQ,SAAUvX,GAAO03B,EAAkC,QAAEh7B,EAAQsD,EAAKk4B,EAAOl4B,GAAO,IAAerC,OAAOw6B,0BAA6Bx6B,OAAOy6B,iBAAiB17B,EAAQiB,OAAOw6B,0BAA0BD,IAAmBuF,EAAU9/B,OAAOu6B,IAAS3gB,SAAQ,SAAUvX,GAAOrC,OAAOC,eAAelB,EAAQsD,EAAKrC,OAAOoC,yBAAyBm4B,EAAQl4B,GAAO,GAAM,CAAE,OAAOtD,CAAQ,CAE/iB,SAASihC,EAAenC,GAAW,IAAIC,EAEvC,WAAyC,GAAuB,oBAAZjqB,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQ3R,UAAU4R,QAAQ1R,KAAKqR,QAAQC,UAAUG,QAAS,IAAI,WAAa,MAAY,CAAM,CAAE,MAAO/M,GAAK,OAAO,CAAO,CAAE,CAFvQ+4B,GAA+B,OAAO,WAAkC,IAA0DrwB,EAAtDouB,EAAQlE,EAAkC,QAAE+D,GAAkB,GAAIC,EAA2B,CAAE,IAAIG,EAAYnE,EAAkC,QAAEl2B,MAAMgR,YAAahF,EAASiE,QAAQC,UAAUkqB,EAAOz6B,UAAW06B,EAAY,MAASruB,EAASouB,EAAMr6B,MAAMC,KAAML,WAAc,OAAOs2B,EAA6C,QAAEj2B,KAAMgM,EAAS,CAAG,CAGxe,IAAIswB,EAAmB,CAAC,EAEpBC,EAAa,SAAU1B,GACzB7E,EAA4B,QAAEuG,EAAY1B,GAE1C,IAAIC,EAASsB,EAAeG,GAE5B,SAASA,EAAWC,GAClB,IAAI/8B,EAvYM8Q,EAAG2G,EAAGsX,EAyYZ/xB,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAkBnF,OAhBAk2B,EAAkC,QAAE71B,KAAMu8B,GAE1C98B,EAAQq7B,EAAOl8B,KAAKoB,MAEhB25B,GACF3B,EAAap5B,KAAKm3B,EAAyC,QAAEt2B,IAhZrD8Q,EAmZL,CAAC,gBAAiB,gBAAiB,iBAAkB,eAAgB,mBAAoB,aAAc,SAnZ/F2G,EAmZyGslB,EAnZtGhO,EAmZgHuH,EAAyC,QAAEt2B,GAlZ7K8Q,EAAEyF,SAAQ,SAAU0F,GACdxE,EAAEwE,KAAI8S,EAAE9S,GAAKxE,EAAEwE,GACrB,IAiZEjc,EAAMhD,QAAUA,OAEmBuF,IAA/BvC,EAAMhD,QAAQ89B,eAChB96B,EAAMhD,QAAQ89B,aAAe,KAG/B96B,EAAM03B,OAASY,EAAWvrB,OAAO,cAC1B/M,CACT,CAwZA,OAtZAq2B,EAA+B,QAAEyG,EAAY,CAAC,CAC5C99B,IAAK,iBACLlC,MAAO,SAAwBs4B,GACzBA,IAAK70B,KAAKpE,SAAWi5B,EAC3B,GACC,CACDp2B,IAAK,SACLlC,MAAO,SAAgBkC,GACrB,IAAIhC,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAChF88B,cAAe,CAAC,GAGlB,GAAIh+B,QACF,OAAO,EAGT,IAAIi+B,EAAW18B,KAAKsM,QAAQ7N,EAAKhC,GACjC,OAAOigC,QAA6B16B,IAAjB06B,EAAS/hB,GAC9B,GACC,CACDlc,IAAK,iBACLlC,MAAO,SAAwBkC,EAAKhC,GAClC,IAAIkgC,OAAsC36B,IAAxBvF,EAAQkgC,YAA4BlgC,EAAQkgC,YAAc38B,KAAKvD,QAAQkgC,iBACrE36B,IAAhB26B,IAA2BA,EAAc,KAC7C,IAAIpC,OAAwCv4B,IAAzBvF,EAAQ89B,aAA6B99B,EAAQ89B,aAAev6B,KAAKvD,QAAQ89B,aACxFnG,EAAa33B,EAAQ43B,IAAMr0B,KAAKvD,QAAQ63B,WAAa,GACrDsI,EAAuBD,GAAel+B,EAAIsO,QAAQ4vB,IAAgB,EAClEE,IAAwB78B,KAAKvD,QAAQqgC,yBAA4BrgC,EAAQ89B,cAAiBv6B,KAAKvD,QAAQsgC,wBAA2BtgC,EAAQkgC,aA7UpJ,SAA6Bl+B,EAAKk+B,EAAapC,GAC7CoC,EAAcA,GAAe,GAC7BpC,EAAeA,GAAgB,GAC/B,IAAIyC,EAAgBnD,EAAMj9B,QAAO,SAAUqgC,GACzC,OAAON,EAAY5vB,QAAQkwB,GAAK,GAAK1C,EAAaxtB,QAAQkwB,GAAK,CACjE,IACA,GAA6B,IAAzBD,EAAc3hC,OAAc,OAAO,EACvC,IAAIkzB,EAAI,IAAI2O,OAAO,IAAI5hC,OAAO0hC,EAAcjxB,KAAI,SAAUkxB,GACxD,MAAa,MAANA,EAAY,MAAQA,CAC7B,IAAGhpB,KAAK,KAAM,MACVkpB,GAAW5O,EAAEtQ,KAAKxf,GAEtB,IAAK0+B,EAAS,CACZ,IAAIC,EAAK3+B,EAAIsO,QAAQwtB,GAEjB6C,EAAK,IAAM7O,EAAEtQ,KAAKxf,EAAI0C,UAAU,EAAGi8B,MACrCD,GAAU,EAEd,CAEA,OAAOA,CACT,CAwToKE,CAAoB5+B,EAAKk+B,EAAapC,IAEpM,GAAIqC,IAAyBC,EAAsB,CACjD,IAAInhB,EAAIjd,EAAI9B,MAAMqD,KAAKs9B,aAAaC,eAEpC,GAAI7hB,GAAKA,EAAErgB,OAAS,EAClB,MAAO,CACLoD,IAAKA,EACL21B,WAAYA,GAIhB,IAAIoJ,EAAQ/+B,EAAI6O,MAAMqvB,IAClBA,IAAgBpC,GAAgBoC,IAAgBpC,GAAgBv6B,KAAKvD,QAAQ43B,GAAGtnB,QAAQywB,EAAM,KAAO,KAAGpJ,EAAaoJ,EAAM7E,SAC/Hl6B,EAAM++B,EAAMvpB,KAAKsmB,EACnB,CAGA,MAD0B,iBAAfnG,IAAyBA,EAAa,CAACA,IAC3C,CACL31B,IAAKA,EACL21B,WAAYA,EAEhB,GACC,CACD31B,IAAK,YACLlC,MAAO,SAAmB4V,EAAM1V,EAASghC,GACvC,IAAI5U,EAAS7oB,KAOb,GAL6C,WAAzC41B,EAA0B,QAAEn5B,IAAyBuD,KAAKvD,QAAQihC,mCACpEjhC,EAAUuD,KAAKvD,QAAQihC,iCAAiC/9B,YAGrDlD,IAASA,EAAU,CAAC,GACrB0V,QAAqC,MAAO,GAC3CtS,MAAM89B,QAAQxrB,KAAOA,EAAO,CAAConB,OAAOpnB,KACzC,IAAIyrB,OAA0C57B,IAA1BvF,EAAQmhC,cAA8BnhC,EAAQmhC,cAAgB59B,KAAKvD,QAAQmhC,cAC3FrD,OAAwCv4B,IAAzBvF,EAAQ89B,aAA6B99B,EAAQ89B,aAAev6B,KAAKvD,QAAQ89B,aAExFsD,EAAuB79B,KAAK89B,eAAe3rB,EAAKA,EAAK9W,OAAS,GAAIoB,GAClEgC,EAAMo/B,EAAqBp/B,IAC3B21B,EAAayJ,EAAqBzJ,WAElC2J,EAAY3J,EAAWA,EAAW/4B,OAAS,GAC3Cw5B,EAAMp4B,EAAQo4B,KAAO70B,KAAKpE,SAC1BoiC,EAA0BvhC,EAAQuhC,yBAA2Bh+B,KAAKvD,QAAQuhC,wBAE9E,GAAInJ,GAA6B,WAAtBA,EAAI34B,cAA4B,CACzC,GAAI8hC,EAAyB,CAC3B,IAAIrB,EAAclgC,EAAQkgC,aAAe38B,KAAKvD,QAAQkgC,YAEtD,OAAIiB,GACFlB,EAAS/hB,IAAM,GAAGrf,OAAOyiC,GAAWziC,OAAOqhC,GAAarhC,OAAOmD,GACxDi+B,GAGF,GAAGphC,OAAOyiC,GAAWziC,OAAOqhC,GAAarhC,OAAOmD,EACzD,CAEA,OAAIm/B,GACFlB,EAAS/hB,IAAMlc,EACRi+B,GAGFj+B,CACT,CAEA,IAAIi+B,EAAW18B,KAAKsM,QAAQ6F,EAAM1V,GAC9Bke,EAAM+hB,GAAYA,EAAS/hB,IAC3BsjB,EAAavB,GAAYA,EAASwB,SAAWz/B,EAC7C0/B,EAAkBzB,GAAYA,EAAS0B,cAAgB3/B,EACvD4/B,EAAUjiC,OAAOsC,UAAUmS,SAAS9Q,MAAM4a,GAE1C2jB,OAAoCt8B,IAAvBvF,EAAQ6hC,WAA2B7hC,EAAQ6hC,WAAat+B,KAAKvD,QAAQ6hC,WAClFC,GAA8Bv+B,KAAKw+B,YAAcx+B,KAAKw+B,WAAWC,eAGrE,GAAIF,GAA8B5jB,IAFE,iBAARA,GAAmC,kBAARA,GAAoC,iBAARA,IAHpE,CAAC,kBAAmB,oBAAqB,mBAKY5N,QAAQsxB,GAAW,IAA6B,iBAAfC,GAAuC,mBAAZD,GAA+B,CAC7J,IAAK5hC,EAAQiiC,gBAAkB1+B,KAAKvD,QAAQiiC,cAAe,CACpD1+B,KAAKvD,QAAQkiC,uBAChB3+B,KAAKm3B,OAAOH,KAAK,mEAGnB,IAAIzI,EAAIvuB,KAAKvD,QAAQkiC,sBAAwB3+B,KAAKvD,QAAQkiC,sBAAsBV,EAAYtjB,EAAKwhB,EAAgBA,EAAgB,CAAC,EAAG1/B,GAAU,CAAC,EAAG,CACjJ43B,GAAID,KACA,QAAQ94B,OAAOmD,EAAK,MAAMnD,OAAO0E,KAAKpE,SAAU,4CAEtD,OAAIgiC,GACFlB,EAAS/hB,IAAM4T,EACRmO,GAGFnO,CACT,CAEA,GAAIgM,EAAc,CAChB,IAAIqE,EAA6B,mBAAZP,EACjBQ,EAAOD,EAAiB,GAAK,CAAC,EAC9BE,EAAcF,EAAiBT,EAAkBF,EAErD,IAAK,IAAIviB,KAAKf,EACZ,GAAIve,OAAOsC,UAAUC,eAAeC,KAAK+b,EAAKe,GAAI,CAChD,IAAIqjB,EAAU,GAAGzjC,OAAOwjC,GAAaxjC,OAAOi/B,GAAcj/B,OAAOogB,GACjEmjB,EAAKnjB,GAAK1b,KAAKg/B,UAAUD,EAAS5C,EAAgBA,EAAgB,CAAC,EAAG1/B,GAAU,CAC9E6hC,YAAY,EACZjK,GAAID,KAEFyK,EAAKnjB,KAAOqjB,IAASF,EAAKnjB,GAAKf,EAAIe,GACzC,CAGFf,EAAMkkB,CACR,CACF,MAAO,GAAIN,GAAoD,iBAAfD,GAAuC,mBAAZD,GACzE1jB,EAAMA,EAAI1G,KAAKqqB,MACN3jB,EAAM3a,KAAKi/B,kBAAkBtkB,EAAKxI,EAAM1V,EAASghC,QACrD,CACL,IAAIyB,GAAc,EACdhB,GAAU,EACViB,OAAwCn9B,IAAlBvF,EAAQ2iC,OAAgD,iBAAlB3iC,EAAQ2iC,MACpEC,EAAkB9C,EAAW8C,gBAAgB5iC,GAC7C6iC,EAAqBH,EAAsBn/B,KAAKu/B,eAAeC,UAAU3K,EAAKp4B,EAAQ2iC,MAAO3iC,GAAW,GACxG2wB,EAAe3wB,EAAQ,eAAenB,OAAOgkC,KAAwB7iC,EAAQ2wB,cAE5EptB,KAAKy/B,cAAc9kB,IAAQ0kB,IAC9BH,GAAc,EACdvkB,EAAMyS,GAGHptB,KAAKy/B,cAAc9kB,KACtBujB,GAAU,EACVvjB,EAAMlc,GAGR,IACIihC,GADiCjjC,EAAQkjC,gCAAkC3/B,KAAKvD,QAAQkjC,iCACtCzB,OAAUl8B,EAAY2Y,EACxEilB,EAAgBP,GAAmBjS,IAAiBzS,GAAO3a,KAAKvD,QAAQmjC,cAE5E,GAAI1B,GAAWgB,GAAeU,EAAe,CAG3C,GAFA5/B,KAAKm3B,OAAOjK,IAAI0S,EAAgB,YAAc,aAAc/K,EAAKkJ,EAAWt/B,EAAKmhC,EAAgBxS,EAAezS,GAE5G4f,EAAc,CAChB,IAAIsF,EAAK7/B,KAAKsM,QAAQ7N,EAAK09B,EAAgBA,EAAgB,CAAC,EAAG1/B,GAAU,CAAC,EAAG,CAC3E89B,cAAc,KAEZsF,GAAMA,EAAGllB,KAAK3a,KAAKm3B,OAAOH,KAAK,kLACrC,CAEA,IAAI8I,EAAO,GACPC,EAAe//B,KAAKggC,cAAcC,iBAAiBjgC,KAAKvD,QAAQq4B,YAAar4B,EAAQo4B,KAAO70B,KAAKpE,UAErG,GAAmC,aAA/BoE,KAAKvD,QAAQyjC,eAAgCH,GAAgBA,EAAa,GAC5E,IAAK,IAAI9W,EAAI,EAAGA,EAAI8W,EAAa1kC,OAAQ4tB,IACvC6W,EAAKlzB,KAAKmzB,EAAa9W,QAEe,QAA/BjpB,KAAKvD,QAAQyjC,cACtBJ,EAAO9/B,KAAKggC,cAAcG,mBAAmB1jC,EAAQo4B,KAAO70B,KAAKpE,UAEjEkkC,EAAKlzB,KAAKnQ,EAAQo4B,KAAO70B,KAAKpE,UAGhC,IAAI8a,EAAO,SAAcmZ,EAAG+I,EAAGwH,GAC7B,IAAIC,EAAoBhB,GAAmBe,IAAyBzlB,EAAMylB,EAAuBV,EAE7F7W,EAAOpsB,QAAQ6jC,kBACjBzX,EAAOpsB,QAAQ6jC,kBAAkBzQ,EAAGkO,EAAWnF,EAAGyH,EAAmBT,EAAenjC,GAC3EosB,EAAO0X,kBAAoB1X,EAAO0X,iBAAiBC,aAC5D3X,EAAO0X,iBAAiBC,YAAY3Q,EAAGkO,EAAWnF,EAAGyH,EAAmBT,EAAenjC,GAGzFosB,EAAO7b,KAAK,aAAc6iB,EAAGkO,EAAWnF,EAAGje,EAC7C,EAEI3a,KAAKvD,QAAQ+jC,cACXxgC,KAAKvD,QAAQgkC,oBAAsBtB,EACrCW,EAAK9pB,SAAQ,SAAUpa,GACrBitB,EAAO0W,eAAemB,YAAY9kC,EAAUa,GAASuZ,SAAQ,SAAU7Y,GACrEuZ,EAAK,CAAC9a,GAAW6C,EAAMtB,EAAQV,EAAQ,eAAenB,OAAO6B,KAAYiwB,EAC3E,GACF,IAEA1W,EAAKopB,EAAMrhC,EAAK2uB,GAGtB,CAEAzS,EAAM3a,KAAKi/B,kBAAkBtkB,EAAKxI,EAAM1V,EAASigC,EAAUe,GACvDS,GAAWvjB,IAAQlc,GAAOuB,KAAKvD,QAAQkkC,8BAA6BhmB,EAAM,GAAGrf,OAAOyiC,EAAW,KAAKziC,OAAOmD,KAE1Gy/B,GAAWgB,IAAgBl/B,KAAKvD,QAAQmkC,yBAEzCjmB,EADoC,OAAlC3a,KAAKvD,QAAQ++B,iBACTx7B,KAAKvD,QAAQmkC,uBAAuB5gC,KAAKvD,QAAQkkC,4BAA8B,GAAGrlC,OAAOyiC,EAAW,KAAKziC,OAAOmD,GAAOA,EAAKygC,EAAcvkB,OAAM3Y,GAEhJhC,KAAKvD,QAAQmkC,uBAAuBjmB,GAGhD,CAEA,OAAIijB,GACFlB,EAAS/hB,IAAMA,EACR+hB,GAGF/hB,CACT,GACC,CACDlc,IAAK,oBACLlC,MAAO,SAA2Boe,EAAKlc,EAAKhC,EAASigC,EAAUe,GAC7D,IAAIoD,EAAS7gC,KAEb,GAAIA,KAAKw+B,YAAcx+B,KAAKw+B,WAAWn7B,MACrCsX,EAAM3a,KAAKw+B,WAAWn7B,MAAMsX,EAAKwhB,EAAgBA,EAAgB,CAAC,EAAGn8B,KAAKvD,QAAQggC,cAAcqE,kBAAmBrkC,GAAUigC,EAASqE,QAASrE,EAASsE,OAAQtE,EAASwB,QAAS,CAChLxB,SAAUA,SAEP,IAAKjgC,EAAQwkC,kBAAmB,CACjCxkC,EAAQggC,eAAez8B,KAAKs9B,aAAa1I,KAAKuH,EAAgBA,EAAgB,CAAC,EAAG1/B,GAAU,CAC9FggC,cAAeN,EAAgBA,EAAgB,CAAC,EAAGn8B,KAAKvD,QAAQggC,eAAgBhgC,EAAQggC,kBAE1F,IACIyE,EADAC,EAAiC,iBAARxmB,IAAqBle,GAAWA,EAAQggC,oBAA2Dz6B,IAA1CvF,EAAQggC,cAAc0E,gBAAgC1kC,EAAQggC,cAAc0E,gBAAkBnhC,KAAKvD,QAAQggC,cAAc0E,iBAG/M,GAAIA,EAAiB,CACnB,IAAIC,EAAKzmB,EAAIhe,MAAMqD,KAAKs9B,aAAaC,eACrC2D,EAAUE,GAAMA,EAAG/lC,MACrB,CAEA,IAAIwX,EAAOpW,EAAQN,SAAsC,iBAApBM,EAAQN,QAAuBM,EAAQN,QAAUM,EAItF,GAHIuD,KAAKvD,QAAQggC,cAAcqE,mBAAkBjuB,EAAOspB,EAAgBA,EAAgB,CAAC,EAAGn8B,KAAKvD,QAAQggC,cAAcqE,kBAAmBjuB,IAC1I8H,EAAM3a,KAAKs9B,aAAa+D,YAAY1mB,EAAK9H,EAAMpW,EAAQo4B,KAAO70B,KAAKpE,SAAUa,GAEzE0kC,EAAiB,CACnB,IAAIG,EAAK3mB,EAAIhe,MAAMqD,KAAKs9B,aAAaC,eAEjC2D,GADUI,GAAMA,EAAGjmC,UACAoB,EAAQ8kC,MAAO,EACxC,EAEqB,IAAjB9kC,EAAQ8kC,OAAgB5mB,EAAM3a,KAAKs9B,aAAaiE,KAAK5mB,GAAK,WAC5D,IAAK,IAAIjb,EAAOC,UAAUtE,OAAQuE,EAAO,IAAIC,MAAMH,GAAOI,EAAO,EAAGA,EAAOJ,EAAMI,IAC/EF,EAAKE,GAAQH,UAAUG,GAGzB,OAAI29B,GAAWA,EAAQ,KAAO79B,EAAK,KAAOnD,EAAQsxB,SAChD8S,EAAO1J,OAAOH,KAAK,6CAA6C17B,OAAOsE,EAAK,GAAI,aAAatE,OAAOmD,EAAI,KAEjG,MAGFoiC,EAAO7B,UAAUj/B,MAAM8gC,EAAQjhC,EAAKtE,OAAO,CAACmD,IACrD,GAAGhC,IACCA,EAAQggC,eAAez8B,KAAKs9B,aAAakE,OAC/C,CAEA,IAAIC,EAAchlC,EAAQglC,aAAezhC,KAAKvD,QAAQglC,YAClDC,EAA4C,iBAAhBD,EAA2B,CAACA,GAAeA,EAQ3E,OANI9mB,SAAqC+mB,GAAsBA,EAAmBrmC,SAAyC,IAA/BoB,EAAQklC,qBAClGhnB,EAAMghB,EAAcG,OAAO4F,EAAoB/mB,EAAKlc,EAAKuB,KAAKvD,SAAWuD,KAAKvD,QAAQmlC,wBAA0BzF,EAAgB,CAC9H0F,aAAcnF,GACbjgC,GAAWA,EAASuD,OAGlB2a,CACT,GACC,CACDlc,IAAK,UACLlC,MAAO,SAAiB4V,GACtB,IAGI2vB,EACA5D,EACAE,EACA2C,EACAC,EAPAe,EAAS/hC,KAETvD,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EA6EnF,MAvEoB,iBAATwS,IAAmBA,EAAO,CAACA,IACtCA,EAAK6D,SAAQ,SAAU4iB,GACrB,IAAImJ,EAAOtC,cAAcqC,GAAzB,CAEA,IAAIE,EAAYD,EAAOjE,eAAelF,EAAGn8B,GAErCgC,EAAMujC,EAAUvjC,IACpBy/B,EAAUz/B,EACV,IAAI21B,EAAa4N,EAAU5N,WACvB2N,EAAOtlC,QAAQ+3B,aAAYJ,EAAaA,EAAW94B,OAAOymC,EAAOtlC,QAAQ+3B,aAC7E,IAAI2K,OAAwCn9B,IAAlBvF,EAAQ2iC,OAAgD,iBAAlB3iC,EAAQ2iC,MAEpE6C,EAAwB9C,IAAwB1iC,EAAQylC,SAA6B,IAAlBzlC,EAAQ2iC,OAAe2C,EAAOxC,eAAe4C,mBAEhHC,OAA2CpgC,IAApBvF,EAAQsxB,UAAqD,iBAApBtxB,EAAQsxB,SAAmD,iBAApBtxB,EAAQsxB,UAA6C,KAApBtxB,EAAQsxB,QAChJsU,EAAQ5lC,EAAQqjC,KAAOrjC,EAAQqjC,KAAOiC,EAAO/B,cAAcG,mBAAmB1jC,EAAQo4B,KAAOkN,EAAOnmC,SAAUa,EAAQq4B,aAC1HV,EAAWpe,SAAQ,SAAUqe,GACvB0N,EAAOtC,cAAcqC,KACzBd,EAAS3M,GAEJiI,EAAiB,GAAGhhC,OAAO+mC,EAAM,GAAI,KAAK/mC,OAAO+4B,KAAQ0N,EAAOO,OAASP,EAAOO,MAAMC,qBAAuBR,EAAOO,MAAMC,mBAAmBvB,KAChJ1E,EAAiB,GAAGhhC,OAAO+mC,EAAM,GAAI,KAAK/mC,OAAO+4B,KAAO,EAExD0N,EAAO5K,OAAOH,KAAK,QAAS17B,OAAO4iC,EAAS,qBAAuB5iC,OAAO+mC,EAAMpuB,KAAK,MAAO,wCAAyC3Y,OAAO0lC,EAAQ,wBAA0B,6NAGhLqB,EAAMrsB,SAAQ,SAAU/Z,GACtB,IAAI8lC,EAAOtC,cAAcqC,GAAzB,CACAf,EAAU9kC,EACV,IA+BIumC,EA/BAC,EAAY,CAAChkC,GAEjB,GAAIsjC,EAAOvD,YAAcuD,EAAOvD,WAAWkE,cACzCX,EAAOvD,WAAWkE,cAAcD,EAAWhkC,EAAKxC,EAAMo4B,EAAI53B,OACrD,CACL,IAAIkmC,EACAxD,IAAqBwD,EAAeZ,EAAOxC,eAAeC,UAAUvjC,EAAMQ,EAAQ2iC,MAAO3iC,IAC7F,IAAImmC,EAAa,GAAGtnC,OAAOymC,EAAOtlC,QAAQomC,gBAAiB,QAU3D,GARI1D,IACFsD,EAAU71B,KAAKnO,EAAMkkC,GAEjBV,GACFQ,EAAU71B,KAAKnO,EAAMmkC,IAIrBR,EAAsB,CACxB,IAAIU,EAAa,GAAGxnC,OAAOmD,GAAKnD,OAAOymC,EAAOtlC,QAAQsmC,kBAAkBznC,OAAOmB,EAAQsxB,SACvF0U,EAAU71B,KAAKk2B,GAEX3D,IACFsD,EAAU71B,KAAKk2B,EAAaH,GAExBV,GACFQ,EAAU71B,KAAKk2B,EAAaF,GAGlC,CACF,CAIA,KAAOJ,EAAcC,EAAUxd,OACxB8c,EAAOtC,cAAcqC,KACxB1D,EAAeoE,EACfV,EAAQC,EAAOxG,YAAYt/B,EAAMo4B,EAAImO,EAAa/lC,GAtCf,CAyCzC,IACF,GAnEuC,CAoEzC,IACO,CACLke,IAAKmnB,EACL5D,QAASA,EACTE,aAAcA,EACd2C,QAASA,EACTC,OAAQA,EAEZ,GACC,CACDviC,IAAK,gBACLlC,MAAO,SAAuBoe,GAC5B,aAAe3Y,IAAR2Y,IAAwB3a,KAAKvD,QAAQumC,YAAsB,OAARroB,IAAoB3a,KAAKvD,QAAQwmC,mBAA6B,KAARtoB,EAClH,GACC,CACDlc,IAAK,cACLlC,MAAO,SAAqBN,EAAMo4B,EAAI51B,GACpC,IAAIhC,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,OAAIK,KAAKw+B,YAAcx+B,KAAKw+B,WAAWjD,YAAoBv7B,KAAKw+B,WAAWjD,YAAYt/B,EAAMo4B,EAAI51B,EAAKhC,GAC/FuD,KAAKkjC,cAAc3H,YAAYt/B,EAAMo4B,EAAI51B,EAAKhC,EACvD,IACE,CAAC,CACHgC,IAAK,kBACLlC,MAAO,SAAyBE,GAC9B,IAAI0xB,EAAS,eAEb,IAAK,IAAInxB,KAAUP,EACjB,GAAIL,OAAOsC,UAAUC,eAAeC,KAAKnC,EAASO,IAAWmxB,IAAWnxB,EAAOmE,UAAU,EAAGgtB,UAAkBnsB,IAAcvF,EAAQO,GAClI,OAAO,EAIX,OAAO,CACT,KAGKu/B,CACT,CApbiB,CAobfvE,GAEF,SAASmL,EAAWjoC,GAClB,OAAOA,EAAOqS,OAAO,GAAG61B,cAAgBloC,EAAOK,MAAM,EACvD,CAEA,IAAI8nC,EAAe,WACjB,SAASA,EAAa5mC,GACpBo5B,EAAkC,QAAE71B,KAAMqjC,GAE1CrjC,KAAKvD,QAAUA,EACfuD,KAAKsjC,cAAgBtjC,KAAKvD,QAAQ6mC,gBAAiB,EACnDtjC,KAAKm3B,OAASY,EAAWvrB,OAAO,gBAClC,CAuIA,OArIAspB,EAA+B,QAAEuN,EAAc,CAAC,CAC9C5kC,IAAK,wBACLlC,MAAO,SAA+BN,GACpC,IAAKA,GAAQA,EAAK8Q,QAAQ,KAAO,EAAG,OAAO,KAC3C,IAAI6R,EAAI3iB,EAAKqR,MAAM,KACnB,OAAiB,IAAbsR,EAAEvjB,OAAqB,MAC3BujB,EAAEqG,MACoC,MAAlCrG,EAAEA,EAAEvjB,OAAS,GAAGa,cAA8B,KAC3C8D,KAAKujC,mBAAmB3kB,EAAE3K,KAAK,MACxC,GACC,CACDxV,IAAK,0BACLlC,MAAO,SAAiCN,GACtC,IAAKA,GAAQA,EAAK8Q,QAAQ,KAAO,EAAG,OAAO9Q,EAC3C,IAAI2iB,EAAI3iB,EAAKqR,MAAM,KACnB,OAAOtN,KAAKujC,mBAAmB3kB,EAAE,GACnC,GACC,CACDngB,IAAK,qBACLlC,MAAO,SAA4BN,GACjC,GAAoB,iBAATA,GAAqBA,EAAK8Q,QAAQ,MAAQ,EAAG,CACtD,IAAIy2B,EAAe,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QAChE5kB,EAAI3iB,EAAKqR,MAAM,KAkBnB,OAhBItN,KAAKvD,QAAQgnC,aACf7kB,EAAIA,EAAE7S,KAAI,SAAU23B,GAClB,OAAOA,EAAKxnC,aACd,IACsB,IAAb0iB,EAAEvjB,QACXujB,EAAE,GAAKA,EAAE,GAAG1iB,cACZ0iB,EAAE,GAAKA,EAAE,GAAGwkB,cACRI,EAAaz2B,QAAQ6R,EAAE,GAAG1iB,gBAAkB,IAAG0iB,EAAE,GAAKukB,EAAWvkB,EAAE,GAAG1iB,iBACpD,IAAb0iB,EAAEvjB,SACXujB,EAAE,GAAKA,EAAE,GAAG1iB,cACQ,IAAhB0iB,EAAE,GAAGvjB,SAAcujB,EAAE,GAAKA,EAAE,GAAGwkB,eACtB,QAATxkB,EAAE,IAAgC,IAAhBA,EAAE,GAAGvjB,SAAcujB,EAAE,GAAKA,EAAE,GAAGwkB,eACjDI,EAAaz2B,QAAQ6R,EAAE,GAAG1iB,gBAAkB,IAAG0iB,EAAE,GAAKukB,EAAWvkB,EAAE,GAAG1iB,gBACtEsnC,EAAaz2B,QAAQ6R,EAAE,GAAG1iB,gBAAkB,IAAG0iB,EAAE,GAAKukB,EAAWvkB,EAAE,GAAG1iB,iBAGrE0iB,EAAE3K,KAAK,IAChB,CAEA,OAAOjU,KAAKvD,QAAQknC,WAAa3jC,KAAKvD,QAAQgnC,aAAexnC,EAAKC,cAAgBD,CACpF,GACC,CACDwC,IAAK,kBACLlC,MAAO,SAAyBN,GAK9B,OAJ0B,iBAAtB+D,KAAKvD,QAAQmnC,MAA2B5jC,KAAKvD,QAAQonC,4BACvD5nC,EAAO+D,KAAK8jC,wBAAwB7nC,KAG9B+D,KAAKsjC,gBAAkBtjC,KAAKsjC,cAAcjoC,QAAU2E,KAAKsjC,cAAcv2B,QAAQ9Q,IAAS,CAClG,GACC,CACDwC,IAAK,wBACLlC,MAAO,SAA+B8lC,GACpC,IAGIP,EAHAriC,EAAQO,KAEZ,OAAKqiC,GAELA,EAAMrsB,SAAQ,SAAU/Z,GACtB,IAAI6lC,EAAJ,CAEA,IAAIiC,EAAatkC,EAAM8jC,mBAAmBtnC,GAErCwD,EAAMhD,QAAQ6mC,gBAAiB7jC,EAAMukC,gBAAgBD,KAAajC,EAAQiC,EAJ9D,CAKnB,KAEKjC,GAAS9hC,KAAKvD,QAAQ6mC,eACzBjB,EAAMrsB,SAAQ,SAAU/Z,GACtB,IAAI6lC,EAAJ,CAEA,IAAImC,EAAUxkC,EAAMqkC,wBAAwB7nC,GAE5C,GAAIwD,EAAMukC,gBAAgBC,GAAU,OAAOnC,EAAQmC,EACnDnC,EAAQriC,EAAMhD,QAAQ6mC,cAAc/O,MAAK,SAAU2P,GACjD,GAAsC,IAAlCA,EAAan3B,QAAQk3B,GAAgB,OAAOC,CAClD,GAPiB,CAQnB,IAGGpC,IAAOA,EAAQ9hC,KAAKigC,iBAAiBjgC,KAAKvD,QAAQq4B,aAAa,IAC7DgN,GAxBY,IAyBrB,GACC,CACDrjC,IAAK,mBACLlC,MAAO,SAA0B4nC,EAAWloC,GAC1C,IAAKkoC,EAAW,MAAO,GAGvB,GAFyB,mBAAdA,IAA0BA,EAAYA,EAAUloC,IAClC,iBAAdkoC,IAAwBA,EAAY,CAACA,IACG,mBAA/C/nC,OAAOsC,UAAUmS,SAAS9Q,MAAMokC,GAAiC,OAAOA,EAC5E,IAAKloC,EAAM,OAAOkoC,EAAmB,SAAK,GAC1C,IAAIrC,EAAQqC,EAAUloC,GAKtB,OAJK6lC,IAAOA,EAAQqC,EAAUnkC,KAAKokC,sBAAsBnoC,KACpD6lC,IAAOA,EAAQqC,EAAUnkC,KAAKujC,mBAAmBtnC,KACjD6lC,IAAOA,EAAQqC,EAAUnkC,KAAK8jC,wBAAwB7nC,KACtD6lC,IAAOA,EAAQqC,EAAmB,SAChCrC,GAAS,EAClB,GACC,CACDrjC,IAAK,qBACLlC,MAAO,SAA4BN,EAAMooC,GACvC,IAAIxb,EAAS7oB,KAETskC,EAAgBtkC,KAAKigC,iBAAiBoE,GAAgBrkC,KAAKvD,QAAQq4B,aAAe,GAAI74B,GACtFomC,EAAQ,GAERkC,EAAU,SAAiBtH,GACxBA,IAEDpU,EAAOmb,gBAAgB/G,GACzBoF,EAAMz1B,KAAKqwB,GAEXpU,EAAOsO,OAAOH,KAAK,uDAAuD17B,OAAO2hC,IAErF,EAaA,MAXoB,iBAAThhC,GAAqBA,EAAK8Q,QAAQ,MAAQ,GACzB,iBAAtB/M,KAAKvD,QAAQmnC,MAAyBW,EAAQvkC,KAAKujC,mBAAmBtnC,IAChD,iBAAtB+D,KAAKvD,QAAQmnC,MAAiD,gBAAtB5jC,KAAKvD,QAAQmnC,MAAwBW,EAAQvkC,KAAKokC,sBAAsBnoC,IAC1F,gBAAtB+D,KAAKvD,QAAQmnC,MAAwBW,EAAQvkC,KAAK8jC,wBAAwB7nC,KACrD,iBAATA,GAChBsoC,EAAQvkC,KAAKujC,mBAAmBtnC,IAGlCqoC,EAActuB,SAAQ,SAAUwuB,GAC1BnC,EAAMt1B,QAAQy3B,GAAM,GAAGD,EAAQ1b,EAAO0a,mBAAmBiB,GAC/D,IACOnC,CACT,KAGKgB,CACT,CA/ImB,GAiJfoB,EAAO,CAAC,CACV3E,KAAM,CAAC,MAAO,KAAM,KAAM,MAAO,KAAM,MAAO,MAAO,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,QAAS,KAAM,KAAM,KAAM,KAAM,KAAM,MACjI4E,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACD1E,KAAM,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,MAAO,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,MAAO,MAAO,KAAM,QAAS,KAAM,MAAO,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MACzY4E,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACD1E,KAAM,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MACxI4E,GAAI,CAAC,GACLF,GAAI,GACH,CACD1E,KAAM,CAAC,KAAM,KAAM,MAAO,KAAM,KAAM,KAAM,KAAM,MAClD4E,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,GACH,CACD1E,KAAM,CAAC,MACP4E,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,KACrBF,GAAI,GACH,CACD1E,KAAM,CAAC,KAAM,MACb4E,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,GACH,CACD1E,KAAM,CAAC,MAAO,MACd4E,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,GACH,CACD1E,KAAM,CAAC,MACP4E,GAAI,CAAC,EAAG,EAAG,EAAG,GACdF,GAAI,GACH,CACD1E,KAAM,CAAC,MACP4E,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACD1E,KAAM,CAAC,MACP4E,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IACjBF,GAAI,IACH,CACD1E,KAAM,CAAC,MACP4E,GAAI,CAAC,EAAG,EAAG,EAAG,IACdF,GAAI,IACH,CACD1E,KAAM,CAAC,MACP4E,GAAI,CAAC,EAAG,GACRF,GAAI,IACH,CACD1E,KAAM,CAAC,MACP4E,GAAI,CAAC,EAAG,GACRF,GAAI,IACH,CACD1E,KAAM,CAAC,MACP4E,GAAI,CAAC,EAAG,EAAG,EAAG,GACdF,GAAI,IACH,CACD1E,KAAM,CAAC,MACP4E,GAAI,CAAC,EAAG,EAAG,IACXF,GAAI,IACH,CACD1E,KAAM,CAAC,MACP4E,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,IACH,CACD1E,KAAM,CAAC,MACP4E,GAAI,CAAC,EAAG,GACRF,GAAI,IACH,CACD1E,KAAM,CAAC,OACP4E,GAAI,CAAC,EAAG,EAAG,GACXF,GAAI,IACH,CACD1E,KAAM,CAAC,MACP4E,GAAI,CAAC,EAAG,EAAG,GAAI,IACfF,GAAI,IACH,CACD1E,KAAM,CAAC,MACP4E,GAAI,CAAC,EAAG,GACRF,GAAI,GACH,CACD1E,KAAM,CAAC,MACP4E,GAAI,CAAC,EAAG,EAAG,IACXF,GAAI,IACH,CACD1E,KAAM,CAAC,MACP4E,GAAI,CAAC,EAAG,EAAG,EAAG,GACdF,GAAI,IACH,CACD1E,KAAM,CAAC,KAAM,MACb4E,GAAI,CAAC,EAAG,EAAG,GAAI,IACfF,GAAI,KAEFG,GAAqB,CACvB,EAAG,SAAWlW,GACZ,OAAOR,OAAOQ,EAAI,EACpB,EACA,EAAG,SAAWA,GACZ,OAAOR,OAAY,GAALQ,EAChB,EACA,EAAG,SAAWA,GACZ,OAAO,CACT,EACA,EAAG,SAAWA,GACZ,OAAOR,OAAOQ,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,EACvH,EACA,EAAG,SAAWA,GACZ,OAAOR,OAAY,GAALQ,EAAS,EAAS,GAALA,EAAS,EAAS,GAALA,EAAS,EAAIA,EAAI,KAAO,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,KAAO,GAAK,EAAI,EAC/G,EACA,EAAG,SAAWA,GACZ,OAAOR,OAAY,GAALQ,EAAS,EAAIA,GAAK,GAAKA,GAAK,EAAI,EAAI,EACpD,EACA,EAAG,SAAWA,GACZ,OAAOR,OAAY,GAALQ,EAAS,EAAIA,EAAI,IAAM,GAAKA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,EACjG,EACA,EAAG,SAAWA,GACZ,OAAOR,OAAY,GAALQ,EAAS,EAAS,GAALA,EAAS,EAAS,GAALA,GAAe,IAALA,EAAU,EAAI,EAClE,EACA,EAAG,SAAWA,GACZ,OAAOR,OAAOQ,GAAK,EACrB,EACA,GAAI,SAAWA,GACb,OAAOR,OAAY,GAALQ,EAAS,EAAS,GAALA,EAAS,EAAIA,EAAI,EAAI,EAAIA,EAAI,GAAK,EAAI,EACnE,EACA,GAAI,SAAWA,GACb,OAAOR,OAAY,GAALQ,GAAe,IAALA,EAAU,EAAS,GAALA,GAAe,IAALA,EAAU,EAAIA,EAAI,GAAKA,EAAI,GAAK,EAAI,EACtF,EACA,GAAI,SAAWA,GACb,OAAOR,OAAOQ,EAAI,IAAM,GAAKA,EAAI,KAAO,GAC1C,EACA,GAAI,SAAWA,GACb,OAAOR,OAAa,IAANQ,EAChB,EACA,GAAI,SAAWA,GACb,OAAOR,OAAY,GAALQ,EAAS,EAAS,GAALA,EAAS,EAAS,GAALA,EAAS,EAAI,EACvD,EACA,GAAI,SAAWA,GACb,OAAOR,OAAOQ,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAIA,EAAI,IAAM,IAAMA,EAAI,IAAM,IAAMA,EAAI,KAAO,IAAM,EAAI,EACxG,EACA,GAAI,SAAWA,GACb,OAAOR,OAAOQ,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAU,IAANA,EAAU,EAAI,EACjE,EACA,GAAI,SAAWA,GACb,OAAOR,OAAY,GAALQ,GAAUA,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAK,EAAI,EAC7D,EACA,GAAI,SAAWA,GACb,OAAOR,OAAY,GAALQ,EAAS,EAAS,GAALA,EAAS,EAAI,EAC1C,EACA,GAAI,SAAWA,GACb,OAAOR,OAAY,GAALQ,EAAS,EAAS,GAALA,GAAUA,EAAI,IAAM,GAAKA,EAAI,IAAM,GAAK,EAAIA,EAAI,IAAM,IAAMA,EAAI,IAAM,GAAK,EAAI,EAC5G,EACA,GAAI,SAAWA,GACb,OAAOR,OAAY,GAALQ,EAAS,EAAS,GAALA,GAAUA,EAAI,IAAM,GAAKA,EAAI,IAAM,GAAK,EAAI,EACzE,EACA,GAAI,SAAWA,GACb,OAAOR,OAAOQ,EAAI,KAAO,EAAI,EAAIA,EAAI,KAAO,EAAI,EAAIA,EAAI,KAAO,GAAKA,EAAI,KAAO,EAAI,EAAI,EACzF,EACA,GAAI,SAAWA,GACb,OAAOR,OAAY,GAALQ,EAAS,EAAS,GAALA,EAAS,GAAKA,EAAI,GAAKA,EAAI,KAAOA,EAAI,IAAM,EAAI,EAAI,EACjF,GAEEmW,GAAyB,CAAC,KAAM,KAAM,MACtCC,GAAgB,CAClBC,KAAM,EACNC,IAAK,EACLC,IAAK,EACLC,IAAK,EACLC,KAAM,EACNC,MAAO,GAgBT,IAAIC,GAAiB,WACnB,SAASA,EAAepF,GACtB,IAdEqF,EAcE5oC,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAEnFk2B,EAAkC,QAAE71B,KAAMolC,GAE1CplC,KAAKggC,cAAgBA,EACrBhgC,KAAKvD,QAAUA,EACfuD,KAAKm3B,OAASY,EAAWvrB,OAAO,kBAE1BxM,KAAKvD,QAAQ6oC,mBAAwD,OAAnCtlC,KAAKvD,QAAQ6oC,mBAAgD,oBAATC,MAAyBA,KAAKC,cACxHxlC,KAAKvD,QAAQ6oC,kBAAoB,KACjCtlC,KAAKm3B,OAAOvc,MAAM,uJAGpB5a,KAAKqlC,OA3BHA,EAAQ,CAAC,EACbZ,EAAKzuB,SAAQ,SAAUlX,GACrBA,EAAIghC,KAAK9pB,SAAQ,SAAU6Z,GACzBwV,EAAMxV,GAAK,CACT4V,QAAS3mC,EAAI4lC,GACbgB,QAASf,GAAmB7lC,EAAI0lC,IAEpC,GACF,IACOa,EAmBP,CA4HA,OA1HAvP,EAA+B,QAAEsP,EAAgB,CAAC,CAChD3mC,IAAK,UACLlC,MAAO,SAAiBs4B,EAAK92B,GAC3BiC,KAAKqlC,MAAMxQ,GAAO92B,CACpB,GACC,CACDU,IAAK,UACLlC,MAAO,SAAiBN,GACtB,IAAIQ,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAEnF,GAAIK,KAAKmiC,mBACP,IACE,OAAO,IAAIoD,KAAKC,YAAYvpC,EAAM,CAChCyQ,KAAMjQ,EAAQylC,QAAU,UAAY,YAExC,CAAE,MAAOyD,GACP,MACF,CAGF,OAAO3lC,KAAKqlC,MAAMppC,IAAS+D,KAAKqlC,MAAMrlC,KAAKggC,cAAc8D,wBAAwB7nC,GACnF,GACC,CACDwC,IAAK,cACLlC,MAAO,SAAqBN,GAC1B,IAAIQ,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/EimC,EAAO5lC,KAAK6lC,QAAQ5pC,EAAMQ,GAE9B,OAAIuD,KAAKmiC,mBACAyD,GAAQA,EAAKE,kBAAkBC,iBAAiB1qC,OAAS,EAG3DuqC,GAAQA,EAAKH,QAAQpqC,OAAS,CACvC,GACC,CACDoD,IAAK,sBACLlC,MAAO,SAA6BN,EAAMwC,GACxC,IAAIhC,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,OAAOK,KAAK0gC,YAAYzkC,EAAMQ,GAASsP,KAAI,SAAU5O,GACnD,MAAO,GAAG7B,OAAOmD,GAAKnD,OAAO6B,EAC/B,GACF,GACC,CACDsB,IAAK,cACLlC,MAAO,SAAqBN,GAC1B,IAAIwD,EAAQO,KAERvD,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/EimC,EAAO5lC,KAAK6lC,QAAQ5pC,EAAMQ,GAE9B,OAAKmpC,EAID5lC,KAAKmiC,mBACAyD,EAAKE,kBAAkBC,iBAAiBC,MAAK,SAAUC,EAAiBC,GAC7E,OAAOrB,GAAcoB,GAAmBpB,GAAcqB,EACxD,IAAGn6B,KAAI,SAAUo6B,GACf,MAAO,GAAG7qC,OAAOmE,EAAMhD,QAAQ2pC,SAAS9qC,OAAO6qC,EACjD,IAGKP,EAAKH,QAAQ15B,KAAI,SAAUs6B,GAChC,OAAO5mC,EAAM+/B,UAAUvjC,EAAMoqC,EAAQ5pC,EACvC,IAbS,EAcX,GACC,CACDgC,IAAK,YACLlC,MAAO,SAAmBN,EAAMmjC,GAC9B,IAAI3iC,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/EimC,EAAO5lC,KAAK6lC,QAAQ5pC,EAAMQ,GAE9B,OAAImpC,EACE5lC,KAAKmiC,mBACA,GAAG7mC,OAAO0E,KAAKvD,QAAQ2pC,SAAS9qC,OAAOsqC,EAAKU,OAAOlH,IAGrDp/B,KAAKumC,yBAAyBX,EAAMxG,IAG7Cp/B,KAAKm3B,OAAOH,KAAK,6BAA6B17B,OAAOW,IAC9C,GACT,GACC,CACDwC,IAAK,2BACLlC,MAAO,SAAkCqpC,EAAMxG,GAC7C,IAAIvW,EAAS7oB,KAETwmC,EAAMZ,EAAKa,MAAQb,EAAKF,QAAQtG,GAASwG,EAAKF,QAAQ9U,KAAK8V,IAAItH,IAC/DjiC,EAASyoC,EAAKH,QAAQe,GAEtBxmC,KAAKvD,QAAQkqC,sBAAgD,IAAxBf,EAAKH,QAAQpqC,QAAoC,IAApBuqC,EAAKH,QAAQ,KAClE,IAAXtoC,EACFA,EAAS,SACW,IAAXA,IACTA,EAAS,KAIb,IAAIypC,EAAe,WACjB,OAAO/d,EAAOpsB,QAAQ2pC,SAAWjpC,EAAO0T,WAAagY,EAAOpsB,QAAQ2pC,QAAUjpC,EAAO0T,WAAa1T,EAAO0T,UAC3G,EAEA,MAAuC,OAAnC7Q,KAAKvD,QAAQ6oC,kBACA,IAAXnoC,EAAqB,GACH,iBAAXA,EAA4B,WAAW7B,OAAO6B,EAAO0T,YACzD+1B,IACqC,OAAnC5mC,KAAKvD,QAAQ6oC,mBAEbtlC,KAAKvD,QAAQkqC,sBAAgD,IAAxBf,EAAKH,QAAQpqC,QAAoC,IAApBuqC,EAAKH,QAAQ,GADjFmB,IAKF5mC,KAAKvD,QAAQ2pC,SAAWI,EAAI31B,WAAa7Q,KAAKvD,QAAQ2pC,QAAUI,EAAI31B,WAAa21B,EAAI31B,UAC9F,GACC,CACDpS,IAAK,mBACLlC,MAAO,WACL,OAAQqoC,GAAuBzqB,SAASna,KAAKvD,QAAQ6oC,kBACvD,KAGKF,CACT,CA7IqB,GA+IrB,SAASyB,GAAU/jC,EAAQwzB,GAAkB,IAAInkB,EAAO/V,OAAO+V,KAAKrP,GAAS,GAAI1G,OAAOm6B,sBAAuB,CAAE,IAAIC,EAAUp6B,OAAOm6B,sBAAsBzzB,GAAawzB,IAAkBE,EAAUA,EAAQ55B,QAAO,SAAU65B,GAAO,OAAOr6B,OAAOoC,yBAAyBsE,EAAQ2zB,GAAKxlB,UAAY,KAAMkB,EAAKvF,KAAK7M,MAAMoS,EAAMqkB,EAAU,CAAE,OAAOrkB,CAAM,CAE1V,SAAS20B,GAAgB3rC,GAAU,IAAK,IAAI8tB,EAAI,EAAGA,EAAItpB,UAAUtE,OAAQ4tB,IAAK,CAAE,IAAI0N,EAAyB,MAAhBh3B,UAAUspB,GAAatpB,UAAUspB,GAAK,CAAC,EAAOA,EAAI,EAAK4d,GAAUzqC,OAAOu6B,IAAS,GAAM3gB,SAAQ,SAAUvX,GAAO03B,EAAkC,QAAEh7B,EAAQsD,EAAKk4B,EAAOl4B,GAAO,IAAerC,OAAOw6B,0BAA6Bx6B,OAAOy6B,iBAAiB17B,EAAQiB,OAAOw6B,0BAA0BD,IAAmBkQ,GAAUzqC,OAAOu6B,IAAS3gB,SAAQ,SAAUvX,GAAOrC,OAAOC,eAAelB,EAAQsD,EAAKrC,OAAOoC,yBAAyBm4B,EAAQl4B,GAAO,GAAM,CAAE,OAAOtD,CAAQ,CAE/iB,IAAI4rC,GAAe,WACjB,SAASA,IACP,IAAItqC,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAEnFk2B,EAAkC,QAAE71B,KAAM+mC,GAE1C/mC,KAAKm3B,OAASY,EAAWvrB,OAAO,gBAChCxM,KAAKvD,QAAUA,EAEfuD,KAAKgnC,OAASvqC,EAAQggC,eAAiBhgC,EAAQggC,cAAcuK,QAAU,SAAUzqC,GAC/E,OAAOA,CACT,EAEAyD,KAAK40B,KAAKn4B,EACZ,CA8MA,OA5MAq5B,EAA+B,QAAEiR,EAAc,CAAC,CAC9CtoC,IAAK,OACLlC,MAAO,WACL,IAAIE,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC9ElD,EAAQggC,gBAAehgC,EAAQggC,cAAgB,CAClDwK,aAAa,IAEf,IAAIC,EAAQzqC,EAAQggC,cACpBz8B,KAAK05B,YAA0B13B,IAAjBklC,EAAMxN,OAAuBwN,EAAMxN,OAASA,EAC1D15B,KAAKinC,iBAAoCjlC,IAAtBklC,EAAMD,aAA4BC,EAAMD,YAC3DjnC,KAAKmnC,yBAAoDnlC,IAA9BklC,EAAMC,qBAAoCD,EAAMC,oBAC3EnnC,KAAKmuB,OAAS+Y,EAAM/Y,OAASqL,EAAY0N,EAAM/Y,QAAU+Y,EAAME,eAAiB,KAChFpnC,KAAK7C,OAAS+pC,EAAM/pC,OAASq8B,EAAY0N,EAAM/pC,QAAU+pC,EAAMG,eAAiB,KAChFrnC,KAAKsnC,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,iBAAmB,IAChGtnC,KAAKunC,eAAiBL,EAAMM,eAAiB,GAAKN,EAAMK,gBAAkB,IAC1EvnC,KAAKwnC,eAAiBxnC,KAAKunC,eAAiB,GAAKL,EAAMM,gBAAkB,GACzExnC,KAAKynC,cAAgBP,EAAMO,cAAgBjO,EAAY0N,EAAMO,eAAiBP,EAAMQ,sBAAwBlO,EAAY,OACxHx5B,KAAK2nC,cAAgBT,EAAMS,cAAgBnO,EAAY0N,EAAMS,eAAiBT,EAAMU,sBAAwBpO,EAAY,KACxHx5B,KAAK6nC,wBAA0BX,EAAMW,wBAA0BX,EAAMW,wBAA0BX,EAAMW,yBAA2B,IAChI7nC,KAAK8nC,YAAcZ,EAAMY,YAAcZ,EAAMY,YAAc,IAC3D9nC,KAAK+nC,kBAAsC/lC,IAAvBklC,EAAMa,cAA6Bb,EAAMa,aAC7D/nC,KAAKgoC,aACP,GACC,CACDvpC,IAAK,QACLlC,MAAO,WACDyD,KAAKvD,SAASuD,KAAK40B,KAAK50B,KAAKvD,QACnC,GACC,CACDgC,IAAK,cACLlC,MAAO,WACL,IAAI0rC,EAAY,GAAG3sC,OAAO0E,KAAKmuB,OAAQ,SAAS7yB,OAAO0E,KAAK7C,QAC5D6C,KAAKkoC,OAAS,IAAIhL,OAAO+K,EAAW,KACpC,IAAIE,EAAoB,GAAG7sC,OAAO0E,KAAKmuB,QAAQ7yB,OAAO0E,KAAKunC,eAAgB,SAASjsC,OAAO0E,KAAKwnC,gBAAgBlsC,OAAO0E,KAAK7C,QAC5H6C,KAAKooC,eAAiB,IAAIlL,OAAOiL,EAAmB,KACpD,IAAIE,EAAmB,GAAG/sC,OAAO0E,KAAKynC,cAAe,SAASnsC,OAAO0E,KAAK2nC,eAC1E3nC,KAAKu9B,cAAgB,IAAIL,OAAOmL,EAAkB,IACpD,GACC,CACD5pC,IAAK,cACLlC,MAAO,SAAqB2xB,EAAKrb,EAAMgiB,EAAKp4B,GAC1C,IAEIE,EACAJ,EACA+rC,EAJA7oC,EAAQO,KAKRm5B,EAAcn5B,KAAKvD,SAAWuD,KAAKvD,QAAQggC,eAAiBz8B,KAAKvD,QAAQggC,cAAcqE,kBAAoB,CAAC,EAEhH,SAASyH,EAAUC,GACjB,OAAOA,EAAIrsC,QAAQ,MAAO,OAC5B,CAEA,IAAIssC,EAAe,SAAsBhqC,GACvC,GAAIA,EAAIsO,QAAQtN,EAAM6nC,iBAAmB,EAAG,CAC1C,IAAIl6B,EAAO8rB,EAAoBrmB,EAAMsmB,EAAa16B,GAClD,OAAOgB,EAAMsoC,aAAetoC,EAAMunC,OAAO55B,OAAMpL,EAAW6yB,EAAKiS,GAAgBA,GAAgBA,GAAgB,CAAC,EAAGrqC,GAAUoW,GAAO,CAAC,EAAG,CACtI61B,iBAAkBjqC,KACd2O,CACR,CAEA,IAAIwR,EAAIngB,EAAI6O,MAAM7N,EAAM6nC,iBACpB1O,EAAIha,EAAE+Z,QAAQpkB,OACdo0B,EAAI/pB,EAAE3K,KAAKxU,EAAM6nC,iBAAiB/yB,OACtC,OAAO9U,EAAMunC,OAAO9N,EAAoBrmB,EAAMsmB,EAAaP,GAAI+P,EAAG9T,EAAKiS,GAAgBA,GAAgBA,GAAgB,CAAC,EAAGrqC,GAAUoW,GAAO,CAAC,EAAG,CAC9I61B,iBAAkB9P,IAEtB,EAEA54B,KAAKgoC,cACL,IAAIY,EAA8BnsC,GAAWA,EAAQmsC,6BAA+B5oC,KAAKvD,QAAQmsC,4BAC7FzH,EAAkB1kC,GAAWA,EAAQggC,oBAA2Dz6B,IAA1CvF,EAAQggC,cAAc0E,gBAAgC1kC,EAAQggC,cAAc0E,gBAAkBnhC,KAAKvD,QAAQggC,cAAc0E,gBAsDnL,MArDY,CAAC,CACX0H,MAAO7oC,KAAKooC,eACZU,UAAW,SAAmBN,GAC5B,OAAOD,EAAUC,EACnB,GACC,CACDK,MAAO7oC,KAAKkoC,OACZY,UAAW,SAAmBN,GAC5B,OAAO/oC,EAAMwnC,YAAcsB,EAAU9oC,EAAMi6B,OAAO8O,IAAQD,EAAUC,EACtE,IAEIxyB,SAAQ,SAAU+yB,GAGtB,IAFAT,EAAW,EAEJ3rC,EAAQosC,EAAKF,MAAMG,KAAK9a,IAAM,CACnC,IAAI+a,EAAatsC,EAAM,GAAG4X,OAG1B,QAAcvS,KAFdzF,EAAQksC,EAAaQ,IAGnB,GAA2C,mBAAhCL,EAA4C,CACrD,IAAIM,EAAON,EAA4B1a,EAAKvxB,EAAOF,GACnDF,EAAwB,iBAAT2sC,EAAoBA,EAAO,EAC5C,MAAO,GAAIzsC,GAAWA,EAAQkC,eAAesqC,GAC3C1sC,EAAQ,OACH,IAAI4kC,EAAiB,CAC1B5kC,EAAQI,EAAM,GACd,QACF,CACE8C,EAAM03B,OAAOH,KAAK,8BAA8B17B,OAAO2tC,EAAY,uBAAuB3tC,OAAO4yB,IAEjG3xB,EAAQ,EACV,KAC0B,iBAAVA,GAAuBkD,EAAM0nC,sBAC7C5qC,EAAQ+7B,EAAW/7B,IAGrB,IAAIusC,EAAYC,EAAKD,UAAUvsC,GAY/B,GAXA2xB,EAAMA,EAAI/xB,QAAQQ,EAAM,GAAImsC,GAExB3H,GACF4H,EAAKF,MAAMM,WAAa5sC,EAAMlB,OAC9B0tC,EAAKF,MAAMM,WAAaxsC,EAAM,GAAGtB,QAEjC0tC,EAAKF,MAAMM,UAAY,IAGzBb,GAEgB7oC,EAAMqoC,YACpB,KAEJ,CACF,IACO5Z,CACT,GACC,CACDzvB,IAAK,OACLlC,MAAO,SAAc2xB,EAAKsW,GACxB,IAGI7nC,EACAJ,EAJAssB,EAAS7oB,KAETvD,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAI/EypC,EAAgBtC,GAAgB,CAAC,EAAGrqC,GAKxC,SAAS4sC,EAAiB5qC,EAAK6qC,GAC7B,IAAIC,EAAMvpC,KAAK6nC,wBACf,GAAIppC,EAAIsO,QAAQw8B,GAAO,EAAG,OAAO9qC,EACjC,IAAIw+B,EAAIx+B,EAAI6O,MAAM,IAAI4vB,OAAO,GAAG5hC,OAAOiuC,EAAK,WACxCC,EAAgB,IAAIluC,OAAO2hC,EAAE,IACjCx+B,EAAMw+B,EAAE,GAER,IAAIwM,GADJD,EAAgBxpC,KAAKqhC,YAAYmI,EAAeJ,IACRzsC,MAAM,MAC1C+sC,EAAsBF,EAAc7sC,MAAM,OAE1C8sC,GAAuBA,EAAoBpuC,OAAS,GAAM,IAAMquC,GAAuBA,EAAoBruC,OAAS,GAAM,KAC5HmuC,EAAgBA,EAAcrtC,QAAQ,KAAM,MAG9C,IACEitC,EAAgBhmC,KAAKC,MAAMmmC,GACvBF,IAAkBF,EAAgBtC,GAAgBA,GAAgB,CAAC,EAAGwC,GAAmBF,GAC/F,CAAE,MAAO9lC,GAEP,OADAtD,KAAKm3B,OAAOH,KAAK,oDAAoD17B,OAAOmD,GAAM6E,GAC3E,GAAGhI,OAAOmD,GAAKnD,OAAOiuC,GAAKjuC,OAAOkuC,EAC3C,CAGA,cADOJ,EAAchc,aACd3uB,CACT,CAEA,IA7BA2qC,EAAczH,oBAAqB,SAC5ByH,EAAchc,aA4BdzwB,EAAQqD,KAAKu9B,cAAcyL,KAAK9a,IAAM,CAC3C,IAAIyb,EAAa,GACbC,GAAW,EAEf,IAAgD,IAA5CjtC,EAAM,GAAGoQ,QAAQ/M,KAAKsnC,mBAA4B,OAAOrpB,KAAKthB,EAAM,IAAK,CAC3E,IAAI4xB,EAAI5xB,EAAM,GAAG2Q,MAAMtN,KAAKsnC,iBAAiBv7B,KAAI,SAAU89B,GACzD,OAAOA,EAAKt1B,MACd,IACA5X,EAAM,GAAK4xB,EAAEoK,QACbgR,EAAapb,EACbqb,GAAW,CACb,CAGA,IADArtC,EAAQioC,EAAG6E,EAAiBzqC,KAAKoB,KAAMrD,EAAM,GAAG4X,OAAQ60B,GAAgBA,KAC3DzsC,EAAM,KAAOuxB,GAAwB,iBAAV3xB,EAAoB,OAAOA,EAC9C,iBAAVA,IAAoBA,EAAQ+7B,EAAW/7B,IAE7CA,IACHyD,KAAKm3B,OAAOH,KAAK,qBAAqB17B,OAAOqB,EAAM,GAAI,iBAAiBrB,OAAO4yB,IAC/E3xB,EAAQ,IAGNqtC,IACFrtC,EAAQotC,EAAW19B,QAAO,SAAUyvB,EAAGiN,GACrC,OAAO9f,EAAOme,OAAOtL,EAAGiN,EAAGlsC,EAAQo4B,IAAKiS,GAAgBA,GAAgB,CAAC,EAAGrqC,GAAU,CAAC,EAAG,CACxFisC,iBAAkB/rC,EAAM,GAAG4X,SAE/B,GAAGhY,EAAMgY,SAGX2Z,EAAMA,EAAI/xB,QAAQQ,EAAM,GAAIJ,GAC5ByD,KAAKkoC,OAAOiB,UAAY,CAC1B,CAEA,OAAOjb,CACT,KAGK6Y,CACT,CA7NmB,GA+NnB,SAAS+C,GAAUhnC,EAAQwzB,GAAkB,IAAInkB,EAAO/V,OAAO+V,KAAKrP,GAAS,GAAI1G,OAAOm6B,sBAAuB,CAAE,IAAIC,EAAUp6B,OAAOm6B,sBAAsBzzB,GAAawzB,IAAkBE,EAAUA,EAAQ55B,QAAO,SAAU65B,GAAO,OAAOr6B,OAAOoC,yBAAyBsE,EAAQ2zB,GAAKxlB,UAAY,KAAMkB,EAAKvF,KAAK7M,MAAMoS,EAAMqkB,EAAU,CAAE,OAAOrkB,CAAM,CAE1V,SAAS43B,GAAgB5uC,GAAU,IAAK,IAAI8tB,EAAI,EAAGA,EAAItpB,UAAUtE,OAAQ4tB,IAAK,CAAE,IAAI0N,EAAyB,MAAhBh3B,UAAUspB,GAAatpB,UAAUspB,GAAK,CAAC,EAAOA,EAAI,EAAK6gB,GAAU1tC,OAAOu6B,IAAS,GAAM3gB,SAAQ,SAAUvX,GAAO03B,EAAkC,QAAEh7B,EAAQsD,EAAKk4B,EAAOl4B,GAAO,IAAerC,OAAOw6B,0BAA6Bx6B,OAAOy6B,iBAAiB17B,EAAQiB,OAAOw6B,0BAA0BD,IAAmBmT,GAAU1tC,OAAOu6B,IAAS3gB,SAAQ,SAAUvX,GAAOrC,OAAOC,eAAelB,EAAQsD,EAAKrC,OAAOoC,yBAAyBm4B,EAAQl4B,GAAO,GAAM,CAAE,OAAOtD,CAAQ,CAwC/iB,SAAS6uC,GAAsBp5B,GAC7B,IAAI1S,EAAQ,CAAC,EACb,OAAO,SAAyBsqC,EAAK3T,EAAKp4B,GACxC,IAAIgC,EAAMo2B,EAAMzxB,KAAKI,UAAU/G,GAC3BwtC,EAAY/rC,EAAMO,GAOtB,OALKwrC,IACHA,EAAYr5B,EAAGikB,EAAKp4B,GACpByB,EAAMO,GAAOwrC,GAGRA,EAAUzB,EACnB,CACF,CAEA,IAAI0B,GAAY,WACd,SAASA,IACP,IAAIztC,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAEnFk2B,EAAkC,QAAE71B,KAAMkqC,GAE1ClqC,KAAKm3B,OAASY,EAAWvrB,OAAO,aAChCxM,KAAKvD,QAAUA,EACfuD,KAAKmqC,QAAU,CACb9D,OAAQ2D,IAAsB,SAAUnV,EAAKp4B,GAC3C,IAAIwtC,EAAY,IAAI1E,KAAK6E,aAAavV,EAAKp4B,GAC3C,OAAO,SAAU+rC,GACf,OAAOyB,EAAUjD,OAAOwB,EAC1B,CACF,IACA6B,SAAUL,IAAsB,SAAUnV,EAAKp4B,GAC7C,IAAIwtC,EAAY,IAAI1E,KAAK6E,aAAavV,EAAKkV,GAAgBA,GAAgB,CAAC,EAAGttC,GAAU,CAAC,EAAG,CAC3FimB,MAAO,cAET,OAAO,SAAU8lB,GACf,OAAOyB,EAAUjD,OAAOwB,EAC1B,CACF,IACA8B,SAAUN,IAAsB,SAAUnV,EAAKp4B,GAC7C,IAAIwtC,EAAY,IAAI1E,KAAKgF,eAAe1V,EAAKkV,GAAgB,CAAC,EAAGttC,IACjE,OAAO,SAAU+rC,GACf,OAAOyB,EAAUjD,OAAOwB,EAC1B,CACF,IACAgC,aAAcR,IAAsB,SAAUnV,EAAKp4B,GACjD,IAAIwtC,EAAY,IAAI1E,KAAKkF,mBAAmB5V,EAAKkV,GAAgB,CAAC,EAAGttC,IACrE,OAAO,SAAU+rC,GACf,OAAOyB,EAAUjD,OAAOwB,EAAK/rC,EAAQiuC,OAAS,MAChD,CACF,IACAC,KAAMX,IAAsB,SAAUnV,EAAKp4B,GACzC,IAAIwtC,EAAY,IAAI1E,KAAKqF,WAAW/V,EAAKkV,GAAgB,CAAC,EAAGttC,IAC7D,OAAO,SAAU+rC,GACf,OAAOyB,EAAUjD,OAAOwB,EAC1B,CACF,KAEFxoC,KAAK40B,KAAKn4B,EACZ,CAuDA,OArDAq5B,EAA+B,QAAEoU,EAAW,CAAC,CAC3CzrC,IAAK,OACLlC,MAAO,SAAcigC,GACnB,IAGI0K,GAHUvnC,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAChF88B,cAAe,CAAC,IAEEA,cACpBz8B,KAAKsnC,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,gBAAkBJ,EAAMI,iBAAmB,GAClG,GACC,CACD7oC,IAAK,MACLlC,MAAO,SAAamX,EAAM8wB,GACxBxkC,KAAKmqC,QAAQz2B,EAAKxX,cAAcqY,QAAUiwB,CAC5C,GACC,CACD/lC,IAAK,YACLlC,MAAO,SAAmBmX,EAAM8wB,GAC9BxkC,KAAKmqC,QAAQz2B,EAAKxX,cAAcqY,QAAUy1B,GAAsBxF,EAClE,GACC,CACD/lC,IAAK,SACLlC,MAAO,SAAgBA,EAAOsuC,EAAShW,EAAKp4B,GAC1C,IAAIgD,EAAQO,KA2BZ,OAzBc6qC,EAAQv9B,MAAMtN,KAAKsnC,iBAEZr7B,QAAO,SAAU6+B,EAAKnC,GACzC,IAAIoC,EA7HZ,SAAwBC,GACtB,IAAIC,EAAaD,EAAU9uC,cAAcqY,OACrC22B,EAAgB,CAAC,EAErB,GAAIF,EAAUj+B,QAAQ,MAAQ,EAAG,CAC/B,IAAI6R,EAAIosB,EAAU19B,MAAM,KACxB29B,EAAarsB,EAAE,GAAG1iB,cAAcqY,OAChC,IAAI42B,EAASvsB,EAAE,GAAGzd,UAAU,EAAGyd,EAAE,GAAGvjB,OAAS,GAE1B,aAAf4vC,GAA6BE,EAAOp+B,QAAQ,KAAO,EAChDm+B,EAAcb,WAAUa,EAAcb,SAAWc,EAAO52B,QACrC,iBAAf02B,GAAiCE,EAAOp+B,QAAQ,KAAO,EAC3Dm+B,EAAcR,QAAOQ,EAAcR,MAAQS,EAAO52B,QAE5C42B,EAAO79B,MAAM,KACnB0I,SAAQ,SAAUo1B,GACrB,GAAKA,EAAL,CAEA,IAAIC,EAAaD,EAAI99B,MAAM,KACvBg+B,EAAclV,EAA2B,QAAEiV,GAC3C5sC,EAAM6sC,EAAY,GAGlB9C,EAFO8C,EAAY/vC,MAAM,GAEd0Y,KAAK,KAAKM,OAAOpY,QAAQ,WAAY,IAC/C+uC,EAAczsC,EAAI8V,UAAS22B,EAAczsC,EAAI8V,QAAUi0B,GAChD,UAARA,IAAiB0C,EAAczsC,EAAI8V,SAAU,GACrC,SAARi0B,IAAgB0C,EAAczsC,EAAI8V,SAAU,GAC3CyZ,MAAMwa,KAAM0C,EAAczsC,EAAI8V,QAAUg3B,SAAS/C,EAAK,IAX3C,CAYlB,GAEJ,CAEA,MAAO,CACLyC,WAAYA,EACZC,cAAeA,EAEnB,CAyF8BM,CAAe7C,GACjCsC,EAAaF,EAAgBE,WAC7BC,EAAgBH,EAAgBG,cAEpC,GAAIzrC,EAAM0qC,QAAQc,GAAa,CAC7B,IAAIQ,EAAYX,EAEhB,IACE,IAAIY,EAAajvC,GAAWA,EAAQkvC,cAAgBlvC,EAAQkvC,aAAalvC,EAAQisC,mBAAqB,CAAC,EACnG7Y,EAAI6b,EAAWE,QAAUF,EAAW7W,KAAOp4B,EAAQmvC,QAAUnvC,EAAQo4B,KAAOA,EAChF4W,EAAYhsC,EAAM0qC,QAAQc,GAAYH,EAAKjb,EAAGka,GAAgBA,GAAgBA,GAAgB,CAAC,EAAGmB,GAAgBzuC,GAAUivC,GAC9H,CAAE,MAAO9wB,GACPnb,EAAM03B,OAAOH,KAAKpc,EACpB,CAEA,OAAO6wB,CACT,CAIA,OAHEhsC,EAAM03B,OAAOH,KAAK,oCAAoC17B,OAAO2vC,IAGxDH,CACT,GAAGvuC,EAEL,KAGK2tC,CACT,CAnGgB,GAqGhB,SAAS2B,GAAU/oC,EAAQwzB,GAAkB,IAAInkB,EAAO/V,OAAO+V,KAAKrP,GAAS,GAAI1G,OAAOm6B,sBAAuB,CAAE,IAAIC,EAAUp6B,OAAOm6B,sBAAsBzzB,GAAawzB,IAAkBE,EAAUA,EAAQ55B,QAAO,SAAU65B,GAAO,OAAOr6B,OAAOoC,yBAAyBsE,EAAQ2zB,GAAKxlB,UAAY,KAAMkB,EAAKvF,KAAK7M,MAAMoS,EAAMqkB,EAAU,CAAE,OAAOrkB,CAAM,CAE1V,SAAS25B,GAAgB3wC,GAAU,IAAK,IAAI8tB,EAAI,EAAGA,EAAItpB,UAAUtE,OAAQ4tB,IAAK,CAAE,IAAI0N,EAAyB,MAAhBh3B,UAAUspB,GAAatpB,UAAUspB,GAAK,CAAC,EAAOA,EAAI,EAAK4iB,GAAUzvC,OAAOu6B,IAAS,GAAM3gB,SAAQ,SAAUvX,GAAO03B,EAAkC,QAAEh7B,EAAQsD,EAAKk4B,EAAOl4B,GAAO,IAAerC,OAAOw6B,0BAA6Bx6B,OAAOy6B,iBAAiB17B,EAAQiB,OAAOw6B,0BAA0BD,IAAmBkV,GAAUzvC,OAAOu6B,IAAS3gB,SAAQ,SAAUvX,GAAOrC,OAAOC,eAAelB,EAAQsD,EAAKrC,OAAOoC,yBAAyBm4B,EAAQl4B,GAAO,GAAM,CAAE,OAAOtD,CAAQ,CAE/iB,SAAS4wC,GAAe9R,GAAW,IAAIC,EAEvC,WAAyC,GAAuB,oBAAZjqB,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQ3R,UAAU4R,QAAQ1R,KAAKqR,QAAQC,UAAUG,QAAS,IAAI,WAAa,MAAY,CAAM,CAAE,MAAO/M,GAAK,OAAO,CAAO,CAAE,CAFvQ0oC,GAA+B,OAAO,WAAkC,IAA0DhgC,EAAtDouB,EAAQlE,EAAkC,QAAE+D,GAAkB,GAAIC,EAA2B,CAAE,IAAIG,EAAYnE,EAAkC,QAAEl2B,MAAMgR,YAAahF,EAASiE,QAAQC,UAAUkqB,EAAOz6B,UAAW06B,EAAY,MAASruB,EAASouB,EAAMr6B,MAAMC,KAAML,WAAc,OAAOs2B,EAA6C,QAAEj2B,KAAMgM,EAAS,CAAG,CAWxe,IAAIigC,GAAY,SAAUpR,GACxB7E,EAA4B,QAAEiW,EAAWpR,GAEzC,IAAIC,EAASiR,GAAeE,GAE5B,SAASA,EAAUC,EAASC,EAAO3P,GACjC,IAAI/8B,EAEAhD,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EA4BnF,OA1BAk2B,EAAkC,QAAE71B,KAAMisC,GAE1CxsC,EAAQq7B,EAAOl8B,KAAKoB,MAEhB25B,GACF3B,EAAap5B,KAAKm3B,EAAyC,QAAEt2B,IAG/DA,EAAMysC,QAAUA,EAChBzsC,EAAM0sC,MAAQA,EACd1sC,EAAM+8B,SAAWA,EACjB/8B,EAAMugC,cAAgBxD,EAASwD,cAC/BvgC,EAAMhD,QAAUA,EAChBgD,EAAM03B,OAASY,EAAWvrB,OAAO,oBACjC/M,EAAM2sC,aAAe,GACrB3sC,EAAM4sC,iBAAmB5vC,EAAQ4vC,kBAAoB,GACrD5sC,EAAM6sC,aAAe,EACrB7sC,EAAM8sC,WAAa9vC,EAAQ8vC,YAAc,EAAI9vC,EAAQ8vC,WAAa,EAClE9sC,EAAM+sC,aAAe/vC,EAAQ+vC,cAAgB,EAAI/vC,EAAQ+vC,aAAe,IACxE/sC,EAAMsE,MAAQ,CAAC,EACftE,EAAMgtC,MAAQ,GAEVhtC,EAAMysC,SAAWzsC,EAAMysC,QAAQtX,MACjCn1B,EAAMysC,QAAQtX,KAAK4H,EAAU//B,EAAQyvC,QAASzvC,GAGzCgD,CACT,CAmNA,OAjNAq2B,EAA+B,QAAEmW,EAAW,CAAC,CAC3CxtC,IAAK,YACLlC,MAAO,SAAmBZ,EAAWy4B,EAAY33B,EAASqkB,GACxD,IAAI+H,EAAS7oB,KAET0sC,EAAS,CAAC,EACVC,EAAU,CAAC,EACXC,EAAkB,CAAC,EACnBC,EAAmB,CAAC,EA+BxB,OA9BAlxC,EAAUqa,SAAQ,SAAU6e,GAC1B,IAAIiY,GAAmB,EACvB1Y,EAAWpe,SAAQ,SAAUqe,GAC3B,IAAI3gB,EAAO,GAAGpY,OAAOu5B,EAAK,KAAKv5B,OAAO+4B,IAEjC53B,EAAQyuB,QAAUrC,EAAOsjB,MAAM9Q,kBAAkBxG,EAAKR,GACzDxL,EAAO9kB,MAAM2P,GAAQ,EACZmV,EAAO9kB,MAAM2P,GAAQ,IAAqC,IAAvBmV,EAAO9kB,MAAM2P,QACnC1R,IAAlB2qC,EAAQj5B,KAAqBi5B,EAAQj5B,IAAQ,IAEjDmV,EAAO9kB,MAAM2P,GAAQ,EACrBo5B,GAAmB,OACG9qC,IAAlB2qC,EAAQj5B,KAAqBi5B,EAAQj5B,IAAQ,QAC5B1R,IAAjB0qC,EAAOh5B,KAAqBg5B,EAAOh5B,IAAQ,QAClB1R,IAAzB6qC,EAAiBxY,KAAmBwY,EAAiBxY,IAAM,IAEnE,IACKyY,IAAkBF,EAAgB/X,IAAO,EAChD,KAEIz4B,OAAO+V,KAAKu6B,GAAQrxC,QAAUe,OAAO+V,KAAKw6B,GAAStxC,SACrD2E,KAAKysC,MAAM7/B,KAAK,CACd+/B,QAASA,EACTI,aAAc3wC,OAAO+V,KAAKw6B,GAAStxC,OACnC2xC,OAAQ,CAAC,EACTj5B,OAAQ,GACR+M,SAAUA,IAIP,CACL4rB,OAAQtwC,OAAO+V,KAAKu6B,GACpBC,QAASvwC,OAAO+V,KAAKw6B,GACrBC,gBAAiBxwC,OAAO+V,KAAKy6B,GAC7BC,iBAAkBzwC,OAAO+V,KAAK06B,GAElC,GACC,CACDpuC,IAAK,SACLlC,MAAO,SAAgBmX,EAAMgC,EAAK7C,GAChC,IAAIqE,EAAIxD,EAAKpG,MAAM,KACfunB,EAAM3d,EAAE,GACRmd,EAAKnd,EAAE,GACPxB,GAAK1V,KAAKgN,KAAK,gBAAiB6nB,EAAKR,EAAI3e,GAEzC7C,GACF7S,KAAKmsC,MAAMc,kBAAkBpY,EAAKR,EAAIxhB,GAGxC7S,KAAK+D,MAAM2P,GAAQgC,GAAO,EAAI,EAC9B,IAAIs3B,EAAS,CAAC,EACdhtC,KAAKysC,MAAMz2B,SAAQ,SAAUk3B,GA3tDnC,IAAkBpqC,EAAcg2B,EAAUx9B,EACpC6xC,EACApvC,EACA66B,EAHY91B,EA4tDDoqC,EAAEF,OA5tDalU,EA4tDEzE,EA3tD5B8Y,EAAkB5U,EAAcz1B,EA2tDX,CAAC+xB,GA3tDwBz4B,QAC9C2B,EAAMovC,EAAgBpvC,IACtB66B,EAAIuU,EAAgBvU,EAExB76B,EAAI66B,GAAK76B,EAAI66B,IAAM,GACft9B,IAAQyC,EAAI66B,GAAK76B,EAAI66B,GAAGt9B,OAAOw9B,IAC9Bx9B,GAAQyC,EAAI66B,GAAGhsB,KAAKksB,GA0mD3B,SAAuBoU,EAAGx5B,QACA1R,IAApBkrC,EAAEP,QAAQj5B,YACLw5B,EAAEP,QAAQj5B,GACjBw5B,EAAEH,eAEN,CAuGQK,CAAcF,EAAGx5B,GACbgC,GAAKw3B,EAAEn5B,OAAOnH,KAAK8I,GAEA,IAAnBw3B,EAAEH,cAAuBG,EAAEG,OAC7BjxC,OAAO+V,KAAK+6B,EAAEF,QAAQh3B,SAAQ,SAAU6Z,GACjCmd,EAAOnd,KAAImd,EAAOnd,GAAK,CAAC,GAC7B,IAAIyd,EAAaJ,EAAEF,OAAOnd,GAEtByd,EAAWjyC,QACbiyC,EAAWt3B,SAAQ,SAAUqe,QACLryB,IAAlBgrC,EAAOnd,GAAGwE,KAAmB2Y,EAAOnd,GAAGwE,IAAM,EACnD,GAEJ,IACA6Y,EAAEG,MAAO,EAELH,EAAEn5B,OAAO1Y,OACX6xC,EAAEpsB,SAASosB,EAAEn5B,QAEbm5B,EAAEpsB,WAGR,IACA9gB,KAAKgN,KAAK,SAAUggC,GACpBhtC,KAAKysC,MAAQzsC,KAAKysC,MAAM7vC,QAAO,SAAUswC,GACvC,OAAQA,EAAEG,IACZ,GACF,GACC,CACD5uC,IAAK,OACLlC,MAAO,SAAcs4B,EAAKR,EAAIkZ,GAC5B,IAAI1M,EAAS7gC,KAETwtC,EAAQ7tC,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,EAC5E8tC,EAAO9tC,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAKK,KAAKwsC,aAChF1rB,EAAWnhB,UAAUtE,OAAS,EAAIsE,UAAU,QAAKqC,EACrD,OAAK6yB,EAAIx5B,OAEL2E,KAAKssC,cAAgBtsC,KAAKqsC,sBAC5BrsC,KAAKosC,aAAax/B,KAAK,CACrBioB,IAAKA,EACLR,GAAIA,EACJkZ,OAAQA,EACRC,MAAOA,EACPC,KAAMA,EACN3sB,SAAUA,KAKd9gB,KAAKssC,eACEtsC,KAAKksC,QAAQqB,GAAQ1Y,EAAKR,GAAI,SAAU3e,EAAK7C,GAGlD,GAFAguB,EAAOyL,eAEHzL,EAAOuL,aAAa/wC,OAAS,EAAG,CAClC,IAAI8Q,EAAO00B,EAAOuL,aAAazT,QAE/BkI,EAAO/+B,KAAKqK,EAAK0oB,IAAK1oB,EAAKkoB,GAAIloB,EAAKohC,OAAQphC,EAAKqhC,MAAOrhC,EAAKshC,KAAMthC,EAAK2U,SAC1E,CAEIpL,GAAO7C,GAAQ26B,EAAQ3M,EAAO0L,WAChCl0B,YAAW,WACTwoB,EAAO/+B,KAAKlD,KAAKiiC,EAAQhM,EAAKR,EAAIkZ,EAAQC,EAAQ,EAAU,EAAPC,EAAU3sB,EACjE,GAAG2sB,GAIL3sB,EAASpL,EAAK7C,EAChB,KAhCwBiO,EAAS,KAAM,CAAC,EAiC1C,GACC,CACDriB,IAAK,iBACLlC,MAAO,SAAwBZ,EAAWy4B,GACxC,IAAI2N,EAAS/hC,KAETvD,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/EmhB,EAAWnhB,UAAUtE,OAAS,EAAIsE,UAAU,QAAKqC,EAErD,IAAKhC,KAAKksC,QAER,OADAlsC,KAAKm3B,OAAOH,KAAK,kEACVlW,GAAYA,IAGI,iBAAdnlB,IAAwBA,EAAYqE,KAAKggC,cAAcG,mBAAmBxkC,IAC3D,iBAAfy4B,IAAyBA,EAAa,CAACA,IAClD,IAAIsY,EAAS1sC,KAAK0tC,UAAU/xC,EAAWy4B,EAAY33B,EAASqkB,GAE5D,IAAK4rB,EAAOA,OAAOrxC,OAEjB,OADKqxC,EAAOC,QAAQtxC,QAAQylB,IACrB,KAGT4rB,EAAOA,OAAO12B,SAAQ,SAAUtC,GAC9BquB,EAAO4L,QAAQj6B,EACjB,GACF,GACC,CACDjV,IAAK,OACLlC,MAAO,SAAcZ,EAAWy4B,EAAYtT,GAC1C9gB,KAAK4tC,eAAejyC,EAAWy4B,EAAY,CAAC,EAAGtT,EACjD,GACC,CACDriB,IAAK,SACLlC,MAAO,SAAgBZ,EAAWy4B,EAAYtT,GAC5C9gB,KAAK4tC,eAAejyC,EAAWy4B,EAAY,CACzClJ,QAAQ,GACPpK,EACL,GACC,CACDriB,IAAK,UACLlC,MAAO,SAAiBmX,GACtB,IAAIm6B,EAAS7tC,KAETmuB,EAASxuB,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,GAC7EuX,EAAIxD,EAAKpG,MAAM,KACfunB,EAAM3d,EAAE,GACRmd,EAAKnd,EAAE,GACXlX,KAAK8B,KAAK+yB,EAAKR,EAAI,YAAQryB,OAAWA,GAAW,SAAU0T,EAAK7C,GAC1D6C,GAAKm4B,EAAO1W,OAAOH,KAAK,GAAG17B,OAAO6yB,EAAQ,sBAAsB7yB,OAAO+4B,EAAI,kBAAkB/4B,OAAOu5B,EAAK,WAAYnf,IACpHA,GAAO7C,GAAMg7B,EAAO1W,OAAOjK,IAAI,GAAG5xB,OAAO6yB,EAAQ,qBAAqB7yB,OAAO+4B,EAAI,kBAAkB/4B,OAAOu5B,GAAMhiB,GAErHg7B,EAAOb,OAAOt5B,EAAMgC,EAAK7C,EAC3B,GACF,GACC,CACDpU,IAAK,cACLlC,MAAO,SAAqBZ,EAAWoiC,EAAWt/B,EAAKqvC,EAAeC,GACpE,IAAItxC,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAE/EK,KAAKw8B,SAAS8F,OAAStiC,KAAKw8B,SAAS8F,MAAMC,qBAAuBviC,KAAKw8B,SAAS8F,MAAMC,mBAAmBxE,GAC3G/9B,KAAKm3B,OAAOH,KAAK,qBAAsB17B,OAAOmD,EAAK,wBAA0BnD,OAAOyiC,EAAW,wBAA0B,4NAIvHt/B,SAA6C,KAARA,IAErCuB,KAAKksC,SAAWlsC,KAAKksC,QAAQ1/B,QAC/BxM,KAAKksC,QAAQ1/B,OAAO7Q,EAAWoiC,EAAWt/B,EAAKqvC,EAAe,KAAMhC,GAAgBA,GAAgB,CAAC,EAAGrvC,GAAU,CAAC,EAAG,CACpHsxC,SAAUA,KAITpyC,GAAcA,EAAU,IAC7BqE,KAAKmsC,MAAMjR,YAAYv/B,EAAU,GAAIoiC,EAAWt/B,EAAKqvC,GACvD,KAGK7B,CACT,CAzPgB,CAyPdjU,GAoEF,SAASgW,GAAiBvxC,GASxB,MAR0B,iBAAfA,EAAQ43B,KAAiB53B,EAAQ43B,GAAK,CAAC53B,EAAQ43B,KACvB,iBAAxB53B,EAAQq4B,cAA0Br4B,EAAQq4B,YAAc,CAACr4B,EAAQq4B,cAC1C,iBAAvBr4B,EAAQ+3B,aAAyB/3B,EAAQ+3B,WAAa,CAAC/3B,EAAQ+3B,aAEtE/3B,EAAQ6mC,eAAiB7mC,EAAQ6mC,cAAcv2B,QAAQ,UAAY,IACrEtQ,EAAQ6mC,cAAgB7mC,EAAQ6mC,cAAchoC,OAAO,CAAC,YAGjDmB,CACT,CAEA,SAASwxC,GAAUnrC,EAAQwzB,GAAkB,IAAInkB,EAAO/V,OAAO+V,KAAKrP,GAAS,GAAI1G,OAAOm6B,sBAAuB,CAAE,IAAIC,EAAUp6B,OAAOm6B,sBAAsBzzB,GAAawzB,IAAkBE,EAAUA,EAAQ55B,QAAO,SAAU65B,GAAO,OAAOr6B,OAAOoC,yBAAyBsE,EAAQ2zB,GAAKxlB,UAAY,KAAMkB,EAAKvF,KAAK7M,MAAMoS,EAAMqkB,EAAU,CAAE,OAAOrkB,CAAM,CAE1V,SAAS+7B,GAAgB/yC,GAAU,IAAK,IAAI8tB,EAAI,EAAGA,EAAItpB,UAAUtE,OAAQ4tB,IAAK,CAAE,IAAI0N,EAAyB,MAAhBh3B,UAAUspB,GAAatpB,UAAUspB,GAAK,CAAC,EAAOA,EAAI,EAAKglB,GAAU7xC,OAAOu6B,IAAS,GAAM3gB,SAAQ,SAAUvX,GAAO03B,EAAkC,QAAEh7B,EAAQsD,EAAKk4B,EAAOl4B,GAAO,IAAerC,OAAOw6B,0BAA6Bx6B,OAAOy6B,iBAAiB17B,EAAQiB,OAAOw6B,0BAA0BD,IAAmBsX,GAAU7xC,OAAOu6B,IAAS3gB,SAAQ,SAAUvX,GAAOrC,OAAOC,eAAelB,EAAQsD,EAAKrC,OAAOoC,yBAAyBm4B,EAAQl4B,GAAO,GAAM,CAAE,OAAOtD,CAAQ,CAE/iB,SAASgzC,GAAelU,GAAW,IAAIC,EAEvC,WAAyC,GAAuB,oBAAZjqB,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAsF,OAAhFC,QAAQ3R,UAAU4R,QAAQ1R,KAAKqR,QAAQC,UAAUG,QAAS,IAAI,WAAa,MAAY,CAAM,CAAE,MAAO/M,GAAK,OAAO,CAAO,CAAE,CAFvQ8qC,GAA+B,OAAO,WAAkC,IAA0DpiC,EAAtDouB,EAAQlE,EAAkC,QAAE+D,GAAkB,GAAIC,EAA2B,CAAE,IAAIG,EAAYnE,EAAkC,QAAEl2B,MAAMgR,YAAahF,EAASiE,QAAQC,UAAUkqB,EAAOz6B,UAAW06B,EAAY,MAASruB,EAASouB,EAAMr6B,MAAMC,KAAML,WAAc,OAAOs2B,EAA6C,QAAEj2B,KAAMgM,EAAS,CAAG,CAIxe,SAASqiC,KAAQ,CAWjB,IAAIC,GAAO,SAAUzT,GACnB7E,EAA4B,QAAEsY,EAAMzT,GAEpC,IAAIC,EAASqT,GAAeG,GAE5B,SAASA,IACP,IAAI7uC,EAfqB8uC,EAiBrB9xC,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/EmhB,EAAWnhB,UAAUtE,OAAS,EAAIsE,UAAU,QAAKqC,EAkBrD,GAhBA6zB,EAAkC,QAAE71B,KAAMsuC,GAE1C7uC,EAAQq7B,EAAOl8B,KAAKoB,MAEhB25B,GACF3B,EAAap5B,KAAKm3B,EAAyC,QAAEt2B,IAG/DA,EAAMhD,QAAUuxC,GAAiBvxC,GACjCgD,EAAM+8B,SAAW,CAAC,EAClB/8B,EAAM03B,OAASY,EACft4B,EAAM+uC,QAAU,CACdC,SAAU,IAhCaF,EAkCLxY,EAAyC,QAAEt2B,GAjCtDrD,OAAOsyC,oBAAoBtyC,OAAOwT,eAAe2+B,IACvDv4B,SAAQ,SAAU80B,GACI,mBAAdyD,EAAKzD,KACdyD,EAAKzD,GAAOyD,EAAKzD,GAAKtqC,KAAK+tC,GAE/B,IA8BMztB,IAAarhB,EAAMkvC,gBAAkBlyC,EAAQmyC,QAAS,CACxD,IAAKnvC,EAAMhD,QAAQoyC,cAGjB,OAFApvC,EAAMm1B,KAAKn4B,EAASqkB,GAEbmV,EAA6C,QAAEx2B,EAAOs2B,EAAyC,QAAEt2B,IAG1G4Y,YAAW,WACT5Y,EAAMm1B,KAAKn4B,EAASqkB,EACtB,GAAG,EACL,CAEA,OAAOrhB,CACT,CAsiBA,OApiBAq2B,EAA+B,QAAEwY,EAAM,CAAC,CACtC7vC,IAAK,OACLlC,MAAO,WACL,IAAIssB,EAAS7oB,KAETvD,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/EmhB,EAAWnhB,UAAUtE,OAAS,EAAIsE,UAAU,QAAKqC,EAE9B,mBAAZvF,IACTqkB,EAAWrkB,EACXA,EAAU,CAAC,IAGRA,EAAQ63B,YAAmC,IAAtB73B,EAAQ63B,WAAuB73B,EAAQ43B,KACrC,iBAAf53B,EAAQ43B,GACjB53B,EAAQ63B,UAAY73B,EAAQ43B,GACnB53B,EAAQ43B,GAAGtnB,QAAQ,eAAiB,IAC7CtQ,EAAQ63B,UAAY73B,EAAQ43B,GAAG,KAInC,IAAIya,EA/JD,CACL1X,OAAO,EACPyX,eAAe,EACfxa,GAAI,CAAC,eACLC,UAAW,CAAC,eACZQ,YAAa,CAAC,OACdN,YAAY,EACZ8O,eAAe,EACfO,0BAA0B,EAC1BD,KAAM,MACNmL,SAAS,EACTpI,sBAAsB,EACtBpM,aAAc,IACdoC,YAAa,IACbkG,gBAAiB,IACjBE,iBAAkB,IAClBiM,yBAAyB,EACzBxO,aAAa,EACbZ,eAAe,EACfM,cAAe,WACfO,oBAAoB,EACpBH,mBAAmB,EACnBsI,6BAA6B,EAC7BnH,aAAa,EACbG,yBAAyB,EACzBoB,YAAY,EACZC,mBAAmB,EACnBvE,eAAe,EACfJ,YAAY,EACZK,uBAAuB,EACvBiC,wBAAwB,EACxBD,6BAA6B,EAC7B3C,yBAAyB,EACzBN,iCAAkC,SAAgB99B,GAChD,IAAIqvC,EAAM,CAAC,EAKX,GAJ6C,WAAzCrZ,EAA0B,QAAEh2B,EAAK,MAAkBqvC,EAAMrvC,EAAK,IAC3C,iBAAZA,EAAK,KAAiBqvC,EAAI7hB,aAAextB,EAAK,IAClC,iBAAZA,EAAK,KAAiBqvC,EAAIC,aAAetvC,EAAK,IAEZ,WAAzCg2B,EAA0B,QAAEh2B,EAAK,KAA6D,WAAzCg2B,EAA0B,QAAEh2B,EAAK,IAAkB,CAC1G,IAAInD,EAAUmD,EAAK,IAAMA,EAAK,GAC9BxD,OAAO+V,KAAK1V,GAASuZ,SAAQ,SAAUvX,GACrCwwC,EAAIxwC,GAAOhC,EAAQgC,EACrB,GACF,CAEA,OAAOwwC,CACT,EACAxS,cAAe,CACbwK,aAAa,EACbD,OAAQ,SAAgBzqC,EAAOsuC,EAAShW,EAAKp4B,GAC3C,OAAOF,CACT,EACA4xB,OAAQ,KACRhxB,OAAQ,KACRmqC,gBAAiB,IACjBC,eAAgB,IAChBE,cAAe,MACfE,cAAe,IACfE,wBAAyB,IACzBC,YAAa,IACb3G,iBAAiB,IAiHjB,SAASgO,EAAoBC,GAC3B,OAAKA,EACwB,mBAAlBA,EAAqC,IAAIA,EAC7CA,EAFoB,IAG7B,CAEA,GApBApvC,KAAKvD,QAAUyxC,GAAgBA,GAAgBA,GAAgB,CAAC,EAAGY,GAAU9uC,KAAKvD,SAAUuxC,GAAiBvxC,IAEvE,OAAlCuD,KAAKvD,QAAQ++B,mBACfx7B,KAAKvD,QAAQggC,cAAgByR,GAAgBA,GAAgB,CAAC,EAAGY,EAAQrS,eAAgBz8B,KAAKvD,QAAQggC,qBAG3Ez6B,IAAzBvF,EAAQ89B,eACVv6B,KAAKvD,QAAQqgC,wBAA0BrgC,EAAQ89B,mBAGrBv4B,IAAxBvF,EAAQkgC,cACV38B,KAAKvD,QAAQsgC,uBAAyBtgC,EAAQkgC,cAS3C38B,KAAKvD,QAAQmyC,QAAS,CAOzB,IAAI3E,EANAjqC,KAAKwuC,QAAQrX,OACfY,EAAWnD,KAAKua,EAAoBnvC,KAAKwuC,QAAQrX,QAASn3B,KAAKvD,SAE/Ds7B,EAAWnD,KAAK,KAAM50B,KAAKvD,SAKzBuD,KAAKwuC,QAAQvE,UACfA,EAAYjqC,KAAKwuC,QAAQvE,UACA,oBAAT1E,OAChB0E,EAAYC,IAGd,IAAImF,EAAK,IAAIhM,EAAarjC,KAAKvD,SAC/BuD,KAAKmsC,MAAQ,IAAIvR,EAAc56B,KAAKvD,QAAQg4B,UAAWz0B,KAAKvD,SAC5D,IAAIya,EAAIlX,KAAKw8B,SACbtlB,EAAEigB,OAASY,EACX7gB,EAAEgsB,cAAgBljC,KAAKmsC,MACvBj1B,EAAE8oB,cAAgBqP,EAClBn4B,EAAEqoB,eAAiB,IAAI6F,GAAeiK,EAAI,CACxCjJ,QAASpmC,KAAKvD,QAAQomC,gBACtByC,kBAAmBtlC,KAAKvD,QAAQ6oC,kBAChCqB,qBAAsB3mC,KAAKvD,QAAQkqC,wBAGjCsD,GAAejqC,KAAKvD,QAAQggC,cAAcuK,QAAUhnC,KAAKvD,QAAQggC,cAAcuK,SAAW8H,EAAQrS,cAAcuK,SAClH9vB,EAAE+yB,UAAYkF,EAAoBlF,GAClC/yB,EAAE+yB,UAAUrV,KAAK1d,EAAGlX,KAAKvD,SACzBuD,KAAKvD,QAAQggC,cAAcuK,OAAS9vB,EAAE+yB,UAAUjD,OAAOxmC,KAAK0W,EAAE+yB,YAGhE/yB,EAAEomB,aAAe,IAAIyJ,GAAa/mC,KAAKvD,SACvCya,EAAEorB,MAAQ,CACRC,mBAAoBviC,KAAKuiC,mBAAmB/hC,KAAKR,OAEnDkX,EAAEqpB,iBAAmB,IAAI0L,GAAUkD,EAAoBnvC,KAAKwuC,QAAQtC,SAAUh1B,EAAEgsB,cAAehsB,EAAGlX,KAAKvD,SACvGya,EAAEqpB,iBAAiB9zB,GAAG,KAAK,SAAUga,GACnC,IAAK,IAAI/mB,EAAOC,UAAUtE,OAAQuE,EAAO,IAAIC,MAAMH,EAAO,EAAIA,EAAO,EAAI,GAAII,EAAO,EAAGA,EAAOJ,EAAMI,IAClGF,EAAKE,EAAO,GAAKH,UAAUG,GAG7B+oB,EAAO7b,KAAKjN,MAAM8oB,EAAQ,CAACpC,GAAOnrB,OAAOsE,GAC3C,IAEII,KAAKwuC,QAAQc,mBACfp4B,EAAEo4B,iBAAmBH,EAAoBnvC,KAAKwuC,QAAQc,kBACtDp4B,EAAEo4B,iBAAiB1a,KAAK1d,EAAGlX,KAAKvD,QAAQ8yC,UAAWvvC,KAAKvD,UAGtDuD,KAAKwuC,QAAQhQ,aACftnB,EAAEsnB,WAAa2Q,EAAoBnvC,KAAKwuC,QAAQhQ,YAC5CtnB,EAAEsnB,WAAW5J,MAAM1d,EAAEsnB,WAAW5J,KAAK50B,OAG3CA,KAAK+7B,WAAa,IAAIQ,EAAWv8B,KAAKw8B,SAAUx8B,KAAKvD,SACrDuD,KAAK+7B,WAAWtvB,GAAG,KAAK,SAAUga,GAChC,IAAK,IAAI6Q,EAAQ33B,UAAUtE,OAAQuE,EAAO,IAAIC,MAAMy3B,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxG33B,EAAK23B,EAAQ,GAAK53B,UAAU43B,GAG9B1O,EAAO7b,KAAKjN,MAAM8oB,EAAQ,CAACpC,GAAOnrB,OAAOsE,GAC3C,IACAI,KAAKwuC,QAAQC,SAASz4B,SAAQ,SAAU0F,GAClCA,EAAEkZ,MAAMlZ,EAAEkZ,KAAK/L,EACrB,GACF,CAKA,GAHA7oB,KAAKgnC,OAAShnC,KAAKvD,QAAQggC,cAAcuK,OACpClmB,IAAUA,EAAWutB,IAEtBruC,KAAKvD,QAAQq4B,cAAgB90B,KAAKw8B,SAAS8S,mBAAqBtvC,KAAKvD,QAAQo4B,IAAK,CACpF,IAAIwN,EAAQriC,KAAKw8B,SAASwD,cAAcC,iBAAiBjgC,KAAKvD,QAAQq4B,aAClEuN,EAAMhnC,OAAS,GAAkB,QAAbgnC,EAAM,KAAcriC,KAAKvD,QAAQo4B,IAAMwN,EAAM,GACvE,CAEKriC,KAAKw8B,SAAS8S,kBAAqBtvC,KAAKvD,QAAQo4B,KACnD70B,KAAKm3B,OAAOH,KAAK,2DAGJ,CAAC,cAAe,oBAAqB,oBAAqB,qBAChEhhB,SAAQ,SAAUu3B,GACzB1kB,EAAO0kB,GAAU,WACf,IAAIiC,EAEJ,OAAQA,EAAe3mB,EAAOsjB,OAAOoB,GAAQxtC,MAAMyvC,EAAc7vC,UACnE,CACF,IACsB,CAAC,cAAe,eAAgB,oBAAqB,wBAC3DqW,SAAQ,SAAUu3B,GAChC1kB,EAAO0kB,GAAU,WACf,IAAIkC,EAIJ,OAFCA,EAAgB5mB,EAAOsjB,OAAOoB,GAAQxtC,MAAM0vC,EAAe9vC,WAErDkpB,CACT,CACF,IACA,IAAI6mB,EAAWtxB,IAEXwlB,EAAO,WACT,IAAI+L,EAAS,SAAgBj6B,EAAK8Y,GAC5B3F,EAAO8lB,gBAAkB9lB,EAAO+mB,sBAAsB/mB,EAAOsO,OAAOH,KAAK,yEAC7EnO,EAAO8lB,eAAgB,EAClB9lB,EAAOpsB,QAAQmyC,SAAS/lB,EAAOsO,OAAOjK,IAAI,cAAerE,EAAOpsB,SAErEosB,EAAO7b,KAAK,cAAe6b,EAAOpsB,SAElCizC,EAASpjC,QAAQkiB,GACjB1N,EAASpL,EAAK8Y,EAChB,EAEA,GAAI3F,EAAOltB,WAAiD,OAApCktB,EAAOpsB,QAAQ++B,mBAA8B3S,EAAO8lB,cAAe,OAAOgB,EAAO,KAAM9mB,EAAO2F,EAAEhuB,KAAKqoB,IAE7HA,EAAOoM,eAAepM,EAAOpsB,QAAQo4B,IAAK8a,EAC5C,EAQA,OANI3vC,KAAKvD,QAAQg4B,YAAcz0B,KAAKvD,QAAQoyC,cAC1CjL,IAEAvrB,WAAWurB,EAAM,GAGZ8L,CACT,GACC,CACDjxC,IAAK,gBACLlC,MAAO,SAAuBX,GAC5B,IAAIilC,EAAS7gC,KAGT6vC,EADWlwC,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK0uC,GAE/EtN,EAA8B,iBAAbnlC,EAAwBA,EAAWoE,KAAKpE,SAG7D,GAFwB,mBAAbA,IAAyBi0C,EAAej0C,IAE9CoE,KAAKvD,QAAQg4B,WAAaz0B,KAAKvD,QAAQuyC,wBAAyB,CACnE,GAAIjO,GAAqC,WAA1BA,EAAQ7kC,cAA4B,OAAO2zC,IAC1D,IAAInD,EAAS,GAET5oB,EAAS,SAAgB+Q,GACtBA,GAEMgM,EAAOrE,SAASwD,cAAcG,mBAAmBtL,GAEvD7e,SAAQ,SAAU6Z,GACjB6c,EAAO3/B,QAAQ8iB,GAAK,GAAG6c,EAAO9/B,KAAKijB,EACzC,GACF,EAEA,GAAKkR,EAMHjd,EAAOid,QALS/gC,KAAKw8B,SAASwD,cAAcC,iBAAiBjgC,KAAKvD,QAAQq4B,aAChE9e,SAAQ,SAAU6Z,GAC1B,OAAO/L,EAAO+L,EAChB,IAKE7vB,KAAKvD,QAAQsyC,SACf/uC,KAAKvD,QAAQsyC,QAAQ/4B,SAAQ,SAAU6Z,GACrC,OAAO/L,EAAO+L,EAChB,IAGF7vB,KAAKw8B,SAAS+D,iBAAiBqD,KAAK8I,EAAQ1sC,KAAKvD,QAAQ43B,IAAI,SAAU/wB,GAChEA,GAAMu9B,EAAOiP,mBAAoBjP,EAAOjlC,UAAUilC,EAAOkP,oBAAoBlP,EAAOjlC,UACzFi0C,EAAavsC,EACf,GACF,MACEusC,EAAa,KAEjB,GACC,CACDpxC,IAAK,kBACLlC,MAAO,SAAyBujC,EAAMzL,EAAIvT,GACxC,IAAI4uB,EAAWtxB,IAQf,OAPK0hB,IAAMA,EAAO9/B,KAAKrE,WAClB04B,IAAIA,EAAKr0B,KAAKvD,QAAQ43B,IACtBvT,IAAUA,EAAWutB,IAC1BruC,KAAKw8B,SAAS+D,iBAAiBrV,OAAO4U,EAAMzL,GAAI,SAAU3e,GACxDg6B,EAASpjC,UACTwU,EAASpL,EACX,IACOg6B,CACT,GACC,CACDjxC,IAAK,MACLlC,MAAO,SAAa6O,GAClB,IAAKA,EAAQ,MAAM,IAAI6G,MAAM,iGAC7B,IAAK7G,EAAOsB,KAAM,MAAM,IAAIuF,MAAM,4FA8BlC,MA5BoB,YAAhB7G,EAAOsB,OACT1M,KAAKwuC,QAAQtC,QAAU9gC,IAGL,WAAhBA,EAAOsB,MAAqBtB,EAAO8hB,KAAO9hB,EAAO4rB,MAAQ5rB,EAAOwP,SAClE5a,KAAKwuC,QAAQrX,OAAS/rB,GAGJ,qBAAhBA,EAAOsB,OACT1M,KAAKwuC,QAAQc,iBAAmBlkC,GAGd,eAAhBA,EAAOsB,OACT1M,KAAKwuC,QAAQhQ,WAAapzB,GAGR,kBAAhBA,EAAOsB,MACTivB,EAAcE,iBAAiBzwB,GAGb,cAAhBA,EAAOsB,OACT1M,KAAKwuC,QAAQvE,UAAY7+B,GAGP,aAAhBA,EAAOsB,MACT1M,KAAKwuC,QAAQC,SAAS7hC,KAAKxB,GAGtBpL,IACT,GACC,CACDvB,IAAK,sBACLlC,MAAO,SAA6BszB,GAClC,GAAKA,GAAM7vB,KAAKrE,aACZ,CAAC,SAAU,OAAOoR,QAAQ8iB,IAAM,GAEpC,IAAK,IAAImgB,EAAK,EAAGA,EAAKhwC,KAAKrE,UAAUN,OAAQ20C,IAAM,CACjD,IAAIC,EAAYjwC,KAAKrE,UAAUq0C,GAC/B,KAAI,CAAC,SAAU,OAAOjjC,QAAQkjC,IAAc,IAExCjwC,KAAKmsC,MAAM+D,4BAA4BD,GAAY,CACrDjwC,KAAK8vC,iBAAmBG,EACxB,KACF,CACF,CACF,GACC,CACDxxC,IAAK,iBACLlC,MAAO,SAAwBs4B,EAAK/T,GAClC,IAAIihB,EAAS/hC,KAEbA,KAAKmwC,qBAAuBtb,EAC5B,IAAI6a,EAAWtxB,IACfpe,KAAKgN,KAAK,mBAAoB6nB,GAE9B,IAAIub,EAAc,SAAqBvgB,GACrCkS,EAAOnmC,SAAWi0B,EAClBkS,EAAOpmC,UAAYomC,EAAOvF,SAASwD,cAAcG,mBAAmBtQ,GACpEkS,EAAO+N,sBAAmB9tC,EAE1B+/B,EAAOgO,oBAAoBlgB,EAC7B,EAyBIwgB,EAAS,SAAgBvQ,GACtBjL,GAAQiL,IAAQiC,EAAOvF,SAAS8S,mBAAkBxP,EAAO,IAC9D,IAAIjQ,EAAoB,iBAATiQ,EAAoBA,EAAOiC,EAAOvF,SAASwD,cAAcsQ,sBAAsBxQ,GAE1FjQ,IACGkS,EAAOnmC,UACVw0C,EAAYvgB,GAGTkS,EAAOhG,WAAWngC,UAAUmmC,EAAOhG,WAAW9G,eAAepF,GAC9DkS,EAAOvF,SAAS8S,kBAAkBvN,EAAOvF,SAAS8S,iBAAiBiB,kBAAkB1gB,IAG3FkS,EAAOzY,cAAcuG,GAAG,SAAUna,IApCzB,SAAcA,EAAKma,GACxBA,GACFugB,EAAYvgB,GAEZkS,EAAOhG,WAAW9G,eAAepF,GAEjCkS,EAAOoO,0BAAuBnuC,EAE9B+/B,EAAO/0B,KAAK,kBAAmB6iB,GAE/BkS,EAAO5K,OAAOjK,IAAI,kBAAmB2C,IAErCkS,EAAOoO,0BAAuBnuC,EAGhC0tC,EAASpjC,SAAQ,WACf,OAAOy1B,EAAOvT,EAAEzuB,MAAMgiC,EAAQpiC,UAChC,IACImhB,GAAUA,EAASpL,GAAK,WAC1B,OAAOqsB,EAAOvT,EAAEzuB,MAAMgiC,EAAQpiC,UAChC,GACF,CAgBI0tC,CAAK33B,EAAKma,EACZ,GACF,EAUA,OARKgF,IAAO70B,KAAKw8B,SAAS8S,kBAAqBtvC,KAAKw8B,SAAS8S,iBAAiBkB,OAElE3b,GAAO70B,KAAKw8B,SAAS8S,kBAAoBtvC,KAAKw8B,SAAS8S,iBAAiBkB,MAClFxwC,KAAKw8B,SAAS8S,iBAAiBmB,OAAOJ,GAEtCA,EAAOxb,GAJPwb,EAAOrwC,KAAKw8B,SAAS8S,iBAAiBmB,UAOjCf,CACT,GACC,CACDjxC,IAAK,YACLlC,MAAO,SAAmBs4B,EAAKR,EAAIqc,GACjC,IAAI7C,EAAS7tC,KAET2wC,EAAS,SAASA,EAAOlyC,EAAKmyC,GAChC,IAAIn0C,EAEJ,GAA0C,WAAtCm5B,EAA0B,QAAEgb,GAAoB,CAClD,IAAK,IAAIpZ,EAAQ73B,UAAUtE,OAAQw1C,EAAO,IAAIhxC,MAAM23B,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGoZ,EAAKpZ,EAAQ,GAAK93B,UAAU83B,GAG9Bh7B,EAAUoxC,EAAOpxC,QAAQihC,iCAAiC,CAACj/B,EAAKmyC,GAAMt1C,OAAOu1C,GAC/E,MACEp0C,EAAUyxC,GAAgB,CAAC,EAAG0C,GAGhCn0C,EAAQo4B,IAAMp4B,EAAQo4B,KAAO8b,EAAO9b,IACpCp4B,EAAQqjC,KAAOrjC,EAAQqjC,MAAQ6Q,EAAO7Q,KACtCrjC,EAAQ43B,GAAK53B,EAAQ43B,IAAMsc,EAAOtc,GAClC53B,EAAQi0C,UAAYj0C,EAAQi0C,WAAaA,GAAaC,EAAOD,UAC7D,IAAInW,EAAesT,EAAOpxC,QAAQ89B,cAAgB,IAC9CuW,EAAYr0C,EAAQi0C,UAAY,GAAGp1C,OAAOmB,EAAQi0C,WAAWp1C,OAAOi/B,GAAcj/B,OAAOmD,GAAOA,EACpG,OAAOovC,EAAOrf,EAAEsiB,EAAWr0C,EAC7B,EAUA,MARmB,iBAARo4B,EACT8b,EAAO9b,IAAMA,EAEb8b,EAAO7Q,KAAOjL,EAGhB8b,EAAOtc,GAAKA,EACZsc,EAAOD,UAAYA,EACZC,CACT,GACC,CACDlyC,IAAK,IACLlC,MAAO,WACL,IAAIw0C,EAEJ,OAAO/wC,KAAK+7B,aAAegV,EAAmB/wC,KAAK+7B,YAAYiD,UAAUj/B,MAAMgxC,EAAkBpxC,UACnG,GACC,CACDlB,IAAK,SACLlC,MAAO,WACL,IAAIy0C,EAEJ,OAAOhxC,KAAK+7B,aAAeiV,EAAoBhxC,KAAK+7B,YAAYkV,OAAOlxC,MAAMixC,EAAmBrxC,UAClG,GACC,CACDlB,IAAK,sBACLlC,MAAO,SAA6B83B,GAClCr0B,KAAKvD,QAAQ63B,UAAYD,CAC3B,GACC,CACD51B,IAAK,qBACLlC,MAAO,SAA4B83B,GACjC,IAAI6c,EAASlxC,KAETvD,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAEnF,IAAKK,KAAK2uC,cAER,OADA3uC,KAAKm3B,OAAOH,KAAK,kDAAmDh3B,KAAKrE,YAClE,EAGT,IAAKqE,KAAKrE,YAAcqE,KAAKrE,UAAUN,OAErC,OADA2E,KAAKm3B,OAAOH,KAAK,6DAA8Dh3B,KAAKrE,YAC7E,EAGT,IAAIk5B,EAAM70B,KAAK8vC,kBAAoB9vC,KAAKrE,UAAU,GAC9Cm5B,IAAc90B,KAAKvD,SAAUuD,KAAKvD,QAAQq4B,YAC1Cqc,EAAUnxC,KAAKrE,UAAUqE,KAAKrE,UAAUN,OAAS,GACrD,GAA0B,WAAtBw5B,EAAI34B,cAA4B,OAAO,EAE3C,IAAIk1C,EAAiB,SAAwBvhB,EAAGpB,GAC9C,IAAI4iB,EAAYH,EAAO1U,SAAS+D,iBAAiBx8B,MAAM,GAAGzI,OAAOu0B,EAAG,KAAKv0B,OAAOmzB,IAEhF,OAAsB,IAAf4iB,GAAkC,IAAdA,CAC7B,EAEA,GAAI50C,EAAQ60C,SAAU,CACpB,IAAIC,EAAY90C,EAAQ60C,SAAStxC,KAAMoxC,GACvC,QAAkBpvC,IAAduvC,EAAyB,OAAOA,CACtC,CAEA,QAAIvxC,KAAKq7B,kBAAkBxG,EAAKR,OAC3Br0B,KAAKw8B,SAAS+D,iBAAiB2L,WAAWlsC,KAAKvD,QAAQg4B,WAAcz0B,KAAKvD,QAAQuyC,8BACnFoC,EAAevc,EAAKR,IAASS,IAAesc,EAAeD,EAAS9c,IAE1E,GACC,CACD51B,IAAK,iBACLlC,MAAO,SAAwB83B,EAAIvT,GACjC,IAAI0wB,EAASxxC,KAET0vC,EAAWtxB,IAEf,OAAKpe,KAAKvD,QAAQ43B,IAKA,iBAAPA,IAAiBA,EAAK,CAACA,IAClCA,EAAGre,SAAQ,SAAUyY,GACf+iB,EAAO/0C,QAAQ43B,GAAGtnB,QAAQ0hB,GAAK,GAAG+iB,EAAO/0C,QAAQ43B,GAAGznB,KAAK6hB,EAC/D,IACAzuB,KAAKspB,eAAc,SAAU5T,GAC3Bg6B,EAASpjC,UACLwU,GAAUA,EAASpL,EACzB,IACOg6B,IAZL5uB,GAAYA,IACLzU,QAAQC,UAYnB,GACC,CACD7N,IAAK,gBACLlC,MAAO,SAAuBujC,EAAMhf,GAClC,IAAI4uB,EAAWtxB,IACK,iBAAT0hB,IAAmBA,EAAO,CAACA,IACtC,IAAI2R,EAAYzxC,KAAKvD,QAAQsyC,SAAW,GACpC2C,EAAU5R,EAAKljC,QAAO,SAAUi4B,GAClC,OAAO4c,EAAU1kC,QAAQ8nB,GAAO,CAClC,IAEA,OAAK6c,EAAQr2C,QAKb2E,KAAKvD,QAAQsyC,QAAU0C,EAAUn2C,OAAOo2C,GACxC1xC,KAAKspB,eAAc,SAAU5T,GAC3Bg6B,EAASpjC,UACLwU,GAAUA,EAASpL,EACzB,IACOg6B,IATD5uB,GAAUA,IACPzU,QAAQC,UASnB,GACC,CACD7N,IAAK,MACLlC,MAAO,SAAas4B,GAElB,GADKA,IAAKA,EAAM70B,KAAK8vC,mBAAqB9vC,KAAKrE,WAAaqE,KAAKrE,UAAUN,OAAS,EAAI2E,KAAKrE,UAAU,GAAKqE,KAAKpE,YAC5Gi5B,EAAK,MAAO,MAEjB,MADc,CAAC,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,MAAO,MAAO,MAAO,KAAM,KAAM,MAAO,MAAO,MAAO,KAAM,MAAO,MAAO,MAAO,MAAO,KAAM,MAAO,OACja9nB,QAAQ/M,KAAKw8B,SAASwD,cAAc8D,wBAAwBjP,KAAS,GAAKA,EAAI34B,cAAc6Q,QAAQ,SAAW,EAAI,MAAQ,KAC5I,GACC,CACDtO,IAAK,gBACLlC,MAAO,WACL,IAAIo1C,EAAS3xC,KAETvD,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/EmhB,EAAWnhB,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK0uC,GAE/EuD,EAAgB1D,GAAgBA,GAAgBA,GAAgB,CAAC,EAAGluC,KAAKvD,SAAUA,GAAU,CAC/FmyC,SAAS,IAGPiD,EAAQ,IAAIvD,EAAKsD,QAEC5vC,IAAlBvF,EAAQ26B,YAA0Cp1B,IAAnBvF,EAAQ0xB,SACzC0jB,EAAM1a,OAAS0a,EAAM1a,OAAO0a,MAAMp1C,IAwBpC,MArBoB,CAAC,QAAS,WAAY,YAC5BuZ,SAAQ,SAAU0F,GAC9Bm2B,EAAMn2B,GAAKi2B,EAAOj2B,EACpB,IACAm2B,EAAMrV,SAAW0R,GAAgB,CAAC,EAAGluC,KAAKw8B,UAC1CqV,EAAMrV,SAAS8F,MAAQ,CACrBC,mBAAoBsP,EAAMtP,mBAAmB/hC,KAAKqxC,IAEpDA,EAAM9V,WAAa,IAAIQ,EAAWsV,EAAMrV,SAAUqV,EAAMp1C,SACxDo1C,EAAM9V,WAAWtvB,GAAG,KAAK,SAAUga,GACjC,IAAK,IAAIiR,EAAQ/3B,UAAUtE,OAAQuE,EAAO,IAAIC,MAAM63B,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxG/3B,EAAK+3B,EAAQ,GAAKh4B,UAAUg4B,GAG9Bka,EAAM7kC,KAAKjN,MAAM8xC,EAAO,CAACprB,GAAOnrB,OAAOsE,GACzC,IACAiyC,EAAMjd,KAAKgd,EAAe9wB,GAC1B+wB,EAAM9V,WAAWt/B,QAAUo1C,EAAMp1C,QACjCo1C,EAAM9V,WAAWwE,iBAAiB/D,SAAS8F,MAAQ,CACjDC,mBAAoBsP,EAAMtP,mBAAmB/hC,KAAKqxC,IAE7CA,CACT,GACC,CACDpzC,IAAK,SACLlC,MAAO,WACL,MAAO,CACLE,QAASuD,KAAKvD,QACd0vC,MAAOnsC,KAAKmsC,MACZvwC,SAAUoE,KAAKpE,SACfD,UAAWqE,KAAKrE,UAChBm0C,iBAAkB9vC,KAAK8vC,iBAE3B,KAGKxB,CACT,CA/kBW,CA+kBTtW,GAEF7B,EAAkC,QAAEmY,GAAM,kBAAkB,WAG1D,OAAO,IAAIA,GAFG3uC,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACpEA,UAAUtE,OAAS,EAAIsE,UAAU,QAAKqC,EAEvD,IAEA,IAAIwO,GAAW89B,GAAK3Z,iBACpBnkB,GAASmkB,eAAiB2Z,GAAK3Z,eAE/BvpB,EAAO9O,QAAUkU,mCCvvFjBpF,EAAO9O,QA5BS,SAASw1C,EAAW9K,EAAQz2B,EAAGyY,EAAGiU,EAAG8U,EAAGzuC,EAAGqlC,GAOzD,IAAKmJ,EAAW,CACd,IAAIl3B,EACJ,QAAe5Y,IAAXglC,EACFpsB,EAAQ,IAAI3I,MACV,qIAGG,CACL,IAAIrS,EAAO,CAAC2Q,EAAGyY,EAAGiU,EAAG8U,EAAGzuC,EAAGqlC,GACvBqJ,EAAW,GACfp3B,EAAQ,IAAI3I,MACV+0B,EAAO7qC,QAAQ,OAAO,WAAa,OAAOyD,EAAKoyC,IAAa,MAExDt+B,KAAO,qBACf,CAGA,MADAkH,EAAMq3B,YAAc,EACdr3B,CACR,CACF,sCC7CA,SAASyzB,IAEL,IADA,IAAIzuC,EAAO,GACFspB,EAAK,EAAGA,EAAKvpB,UAAUtE,OAAQ6tB,IACpCtpB,EAAKspB,GAAMvpB,UAAUupB,EAE7B,CACA,SAASgpB,IACL,MAAuB,oBAAZhzC,QACA,IAAIA,QAUR,CACHkgB,IAAKivB,EACL70B,OAAQ60B,EACRhwC,IAAKgwC,EACLvvC,IAAKuvC,EACLjwC,IAAK,SAAUw6B,GACX,OAAO,CACX,EAZR,yDAgBA,IAAIuZ,EAAM/1C,OAAOsC,UAAUC,eACvBP,EAAM,SAAUL,EAAKu7B,GACrB,OAAO6Y,EAAIvzC,KAAKb,EAAKu7B,EACzB,EAEA,SAAS8Y,EAAOj3C,EAAQw7B,GACpB,IAAK,IAAI2C,KAAQ3C,EACTv4B,EAAIu4B,EAAQ2C,KACZn+B,EAAOm+B,GAAQ3C,EAAO2C,IAG9B,OAAOn+B,CACX,CACA,IAAIk3C,EAAmB,wBACnBC,EAAoB,wBACpBC,EAA+B,gBAC/BC,EAAsB,yCACtBC,EAAwC,2BAC5C,SAASC,EAAcC,EAASC,EAA4Cn2C,GAGxE,IAAIo2C,EAAmB,EACnBl2C,EAAQg2C,EAAQ,GAAGh2C,MAAM61C,GACzB71C,IACAk2C,EAAmBl2C,EAAM,GAAGtB,QAEhC,IACIy3C,EAAgB,IAAI5V,OADT,uBAAyB2V,EAAmB,IAClB,KACrCD,IACAD,EAAUA,EAAQp3C,MAAM,IAE5B,IAAIw3C,EAAUt2C,EAAQs2C,QAASC,EAAqBv2C,EAAQu2C,mBAAoBC,EAAsBx2C,EAAQw2C,oBAC1GC,EAAuC,iBAAZH,EAC3BljB,EAAI8iB,EAAQt3C,OAkBhB,OAjBuBs3C,EAAQ5mC,KAAI,SAAU2vB,EAAGzS,GAe5C,OAbAyS,EAAIA,EAAEv/B,QAAQ22C,EAAe,MAEnB,IAAN7pB,GAAW+pB,IACXtX,EAAIA,EAAEv/B,QAAQk2C,EAAkB,KAGhCppB,IAAM4G,EAAI,GAAKojB,IACfvX,EAAIA,EAAEv/B,QAAQm2C,EAAmB,KAGjCY,IACAxX,EAAIA,EAAEv/B,QAAQ,eAAe,SAAU21B,GAAK,OAAOihB,CAAS,KAEzDrX,CACX,GAEJ,CAqEA,IAAIyX,EAjDJ,SAASxe,EAAel4B,GAEpB,IAAI22C,EAAuBlB,IAKvBmB,EAAkCnB,IAmClCoB,EAAclB,GAlClB,SAASmB,EAAQC,GAEb,IADA,IAlBwB9X,EAkBpBngB,EAAS,GACJ2N,EAAK,EAAGA,EAAKvpB,UAAUtE,OAAQ6tB,IACpC3N,EAAO2N,EAAK,GAAKvpB,UAAUupB,GAG/B,GAtBG9qB,EADqBs9B,EAuBG8X,EAtBjB,QAAUp1C,EAAIs9B,EAAG,UAsBmB,CAC1C,IAAIiX,EAAUa,EAEVZ,GAA8Cr3B,EAAO,KAAOg4B,GAAWh4B,EAAO,KAAO43B,IACrFV,EAAsCx0B,KAAK00B,EAAQ,KACnDJ,EAA6Bt0B,KAAK00B,EAAQ,IAE1Cz0C,EAAQ00C,EACNS,EACAD,EACFK,EAAgBv1C,EAAMG,IAAIs0C,GAM9B,GALKc,IACDA,EAAgBf,EAAcC,EAASC,EAA4Cn2C,GACnFyB,EAAMY,IAAI6zC,EAASc,IAGD,IAAlBl4B,EAAOlgB,OACP,OAAOo4C,EAAc,GAGzB,IAAIC,EArDhB,SAAgCf,EAASp3B,GAErC,IADA,IAAI0zB,EAAM,GACDhmB,EAAI,EAAG4G,EAAI8iB,EAAQt3C,OAAQ4tB,EAAI4G,EAAG5G,IACvCgmB,GAAO0D,EAAQ1pB,GACXA,EAAI4G,EAAI,IACRof,GAAO1zB,EAAO0N,IAGtB,OAAOgmB,CACX,CA4C2B0E,CAAuBF,EAAeb,EAA6Cr3B,EAAOhgB,MAAM,GAAKggB,GACpH,OAAOm4B,CACX,CAGI,OAAO/e,EAAeyd,EAAOA,EAAO,CAAC,EAAG31C,GAAU+2C,GAAoB,CAAC,GAE/E,GACkC,CAC9Bt4C,OAAQ,SAAUgzB,GACd,OAAOwkB,EAAc,CAACxkB,IAAM,EAAOzxB,GAAS,EAChD,IAEJ,OAAO62C,CACX,CACqB3e,CAAe,CAChCqe,oBAAoB,EACpBC,qBAAqB,IAIzB,YAMI,IACI7nC,EAAO9O,QAAU62C,EACjB/2C,OAAOC,eAAe82C,EAAgB,aAAc,CAAE52C,OAAO,IAC7D42C,EAAel1C,QAAUk1C,EACzBA,EAAeI,QAAUJ,CAC7B,CACA,MAAO7vC,GAAK,qKCzKiBkrB,EAAE,qDAAqD,SAASC,EAAEA,GAAG,IAAIF,EAAE,CAAC7hB,KAAK,MAAMgH,KAAK,GAAGkgC,aAAY,EAAGC,MAAM,CAAC,EAAErxC,SAAS,IAAIymB,EAAEwF,EAAE9xB,MAAM,uBAAuB,GAAGssB,IAAIsF,EAAE7a,KAAKuV,EAAE,IAAI,IAAEA,EAAE,KAAK,MAAMwF,EAAElhB,OAAOkhB,EAAEpzB,OAAO,MAAMkzB,EAAEqlB,aAAY,GAAIrlB,EAAE7a,KAAKzY,WAAW,QAAQ,CAAC,IAAIic,EAAEuX,EAAE1hB,QAAQ,UAAU,MAAM,CAACL,KAAK,UAAUonC,SAAS,IAAI58B,EAAEuX,EAAElzB,MAAM,EAAE2b,GAAG,GAAG,CAAC,IAAI,IAAI3G,EAAE,IAAI2sB,OAAO1O,GAAGyO,EAAE,KAAK,QAAQA,EAAE1sB,EAAEy4B,KAAKva,KAAK,GAAGwO,EAAE,GAAG1oB,OAAO,GAAG0oB,EAAE,GAAG,CAAC,IAAIvtB,EAAEutB,EAAE,GAAG1oB,OAAOsb,EAAE,CAACngB,EAAE,IAAIA,EAAE3C,QAAQ,MAAM,IAAI8iB,EAAEngB,EAAEpC,MAAM,MAAMihB,EAAEslB,MAAMhkB,EAAE,IAAIA,EAAE,GAAGtf,EAAE44B,WAAW,MAAMlM,EAAE,KAAK1O,EAAEslB,MAAM5W,EAAE,IAAIA,EAAE,GAAG1oB,OAAOpT,UAAU,EAAE87B,EAAE,GAAG5hC,OAAO,IAAI,OAAOkzB,CAAC,CAAC,IAAIA,EAAE,kDAAkDtF,EAAE,QAAQ/R,EAAE9a,OAAOoQ,OAAO,MAAM,SAAS+D,EAAEjN,EAAEkrB,GAAG,OAAOA,EAAE9hB,MAAM,IAAI,OAAO,OAAOpJ,EAAEkrB,EAAEulB,QAAQ,IAAI,MAAM,OAAOzwC,GAAG,IAAIkrB,EAAE9a,MAAM8a,EAAEqlB,MAAM,SAASvwC,GAAG,IAAIkrB,EAAE,GAAG,IAAI,IAAIC,KAAKnrB,EAAEkrB,EAAE5hB,KAAK6hB,EAAE,KAAKnrB,EAAEmrB,GAAG,KAAK,OAAOD,EAAEnzB,OAAO,IAAImzB,EAAEva,KAAK,KAAK,EAAE,CAA9F,CAAgGua,EAAEqlB,OAAO,KAAKrlB,EAAEolB,YAAY,KAAK,KAAKplB,EAAEolB,YAAYtwC,EAAEA,EAAEkrB,EAAEhsB,SAASyJ,OAAOsE,EAAE,IAAI,KAAKie,EAAE9a,KAAK,IAAI,IAAI,UAAU,OAAOpQ,EAAE,UAAUkrB,EAAEslB,QAAQ,SAAS,CAAC,IAAI7W,EAAE,CAAC55B,MAAM,SAASC,EAAEkrB,GAAGA,IAAIA,EAAE,CAAC,GAAGA,EAAE3oB,aAAa2oB,EAAE3oB,WAAWqR,GAAG,IAAI3G,EAAE0sB,EAAE,GAAGvtB,EAAE,GAAGmgB,GAAG,EAAEnU,GAAE,EAAG,GAAG,IAAIpY,EAAEyJ,QAAQ,KAAK,CAAC,IAAI2hB,EAAEprB,EAAEyJ,QAAQ,KAAKkwB,EAAErwB,KAAK,CAACF,KAAK,OAAOqnC,SAAS,IAAIrlB,EAAEprB,EAAEA,EAAEnC,UAAU,EAAEutB,IAAI,CAAC,OAAOprB,EAAEnH,QAAQoyB,GAAE,SAASA,EAAErX,GAAG,GAAGwE,EAAE,CAAC,GAAG6S,IAAI,KAAKhe,EAAEmD,KAAK,IAAI,OAAOgI,GAAE,CAAE,CAAC,IAAIgT,EAAEia,EAAE,MAAMpa,EAAEhhB,OAAO,GAAGymC,EAAEzlB,EAAEtzB,WAAW,WAAW2jB,EAAE1H,EAAEqX,EAAElzB,OAAO02C,EAAEzuC,EAAEiK,OAAOqR,GAAG,GAAGo1B,EAAE,CAAC,IAAItY,EAAEjN,EAAEF,GAAG,OAAOsB,EAAE,GAAGoN,EAAErwB,KAAK8uB,GAAGuB,KAAKvO,EAAEhf,EAAEmgB,IAAIrtB,SAASoK,KAAK8uB,GAAGuB,EAAE,CAAC,GAAG0L,IAAI9Y,IAAI,SAAStf,EAAEke,EAAEF,IAAI7hB,MAAM8hB,EAAE3oB,WAAW0K,EAAEmD,QAAQnD,EAAE7D,KAAK,YAAYgP,GAAE,GAAInL,EAAEqjC,aAAal4B,IAAIq2B,GAAG,MAAMA,GAAGxhC,EAAE/N,SAASoK,KAAK,CAACF,KAAK,OAAOqnC,QAAQzwC,EAAE/H,MAAMqjB,EAAEtb,EAAEyJ,QAAQ,IAAI6R,MAAM,IAAIiR,GAAGoN,EAAErwB,KAAK2D,IAAIme,EAAEhf,EAAEmgB,EAAE,KAAKnB,EAAElsB,SAASoK,KAAK2D,GAAGb,EAAEmgB,GAAGtf,KAAKo4B,GAAGp4B,EAAEqjC,eAAe/jB,GAAG,IAAItf,EAAEqjC,aAAarjC,EAAEmD,OAAO6a,EAAEhzB,MAAM,GAAG,MAAMs0B,IAAItf,GAAG,IAAIsf,EAAEoN,EAAEvtB,EAAEmgB,KAAKnU,GAAG,MAAMq2B,GAAGA,GAAG,CAACrjB,GAAG,IAAImB,EAAEoN,EAAEvtB,EAAEmgB,GAAGrtB,SAAS,IAAIyxC,EAAE3wC,EAAEyJ,QAAQ,IAAI6R,GAAGs1B,EAAE5wC,EAAE/H,MAAMqjB,GAAG,IAAIq1B,OAAE,EAAOA,GAAGhrB,EAAEhL,KAAKi2B,KAAKA,EAAE,MAAMD,GAAG,GAAGpkB,EAAEnB,EAAErzB,QAAQ,GAAG,MAAM64C,IAAIxlB,EAAE9hB,KAAK,CAACF,KAAK,OAAOqnC,QAAQG,GAAG,CAAC,IAAGjX,CAAC,EAAEz5B,UAAU,SAASF,GAAG,OAAOA,EAAE2I,QAAO,SAAS3I,EAAEkrB,GAAG,OAAOlrB,EAAEiN,EAAE,GAAGie,EAAE,GAAE,GAAG,GAAG,0BCGjhE2lB,EAAY,CAAC,UACbC,EAAa,CAAC,WAAY,QAAS,SAAU,UAAW,UAAW,WAAY,SAAU,WAAY,aAAc,KAAM,OAAQ,IAAK,kBAE1I,SAAS/d,EAAQvzB,EAAQwzB,GAAkB,IAAInkB,EAAO/V,OAAO+V,KAAKrP,GAAS,GAAI1G,OAAOm6B,sBAAuB,CAAE,IAAIC,EAAUp6B,OAAOm6B,sBAAsBzzB,GAAawzB,IAAkBE,EAAUA,EAAQ55B,QAAO,SAAU65B,GAAO,OAAOr6B,OAAOoC,yBAAyBsE,EAAQ2zB,GAAKxlB,UAAY,KAAMkB,EAAKvF,KAAK7M,MAAMoS,EAAMqkB,EAAU,CAAE,OAAOrkB,CAAM,CAExV,SAASukB,EAAcv7B,GAAU,IAAK,IAAI8tB,EAAI,EAAGA,EAAItpB,UAAUtE,OAAQ4tB,IAAK,CAAE,IAAI0N,EAAyB,MAAhBh3B,UAAUspB,GAAatpB,UAAUspB,GAAK,CAAC,EAAOA,EAAI,EAAKoN,EAAQj6B,OAAOu6B,IAAS,GAAM3gB,SAAQ,SAAUvX,GAAO,IAAgBtD,EAAQsD,EAAKk4B,EAAOl4B,GAAO,IAAerC,OAAOw6B,0BAA6Bx6B,OAAOy6B,iBAAiB17B,EAAQiB,OAAOw6B,0BAA0BD,IAAmBN,EAAQj6B,OAAOu6B,IAAS3gB,SAAQ,SAAUvX,GAAOrC,OAAOC,eAAelB,EAAQsD,EAAKrC,OAAOoC,yBAAyBm4B,EAAQl4B,GAAO,GAAM,CAAE,OAAOtD,CAAQ,CAOrhB,SAASmX,EAAYtR,EAAMqzC,GACzB,IAAKrzC,EAAM,OAAO,EAClB,IAAIszC,EAAOtzC,EAAKJ,MAAQI,EAAKJ,MAAM4B,SAAWxB,EAAKwB,SACnD,OAAI6xC,EAAoBC,EAAKj5C,OAAS,IAC7Bi5C,CACX,CAEA,SAASC,EAAYvzC,GACnB,OAAKA,EACEA,EAAKJ,MAAQI,EAAKJ,MAAM4B,SAAWxB,EAAKwB,SAD7B,EAEpB,CASA,SAASgyC,EAAW3hC,GAClB,OAAOhT,MAAM89B,QAAQ9qB,GAAQA,EAAO,CAACA,EACvC,CASO,SAAS4hC,EAAcjyC,EAAUkyC,GACtC,IAAKlyC,EAAU,MAAO,GACtB,IAAImyC,EAAa,GACbC,EAAgBJ,EAAWhyC,GAC3BqyC,EAAYH,EAAYI,4BAA8BJ,EAAYK,2BAA6BL,EAAYK,2BAA6B,GAuC5I,OAtCAH,EAAc5+B,SAAQ,SAAUg/B,EAAOC,GACrC,GAAqB,iBAAVD,EACTL,GAAc,GAAGr5C,OAAO05C,QACnB,IAAI,IAAAE,gBAAeF,GAAQ,CAChC,IAAIG,EAAkB/4C,OAAO+V,KAAK6iC,EAAMp0C,OAAOvF,OAC3C+5C,EAAkBP,EAAU9nC,QAAQioC,EAAMtoC,OAAS,EACnD2oC,EAAgBL,EAAMp0C,MAAM4B,SAEhC,IAAK6yC,GAAiBD,GAAuC,IAApBD,EACvCR,GAAc,IAAIr5C,OAAO05C,EAAMtoC,KAAM,WAChC,GAAK2oC,GAAmBD,GAAuC,IAApBD,EAE3C,GAAIH,EAAMp0C,MAAM00C,kBACrBX,GAAc,IAAIr5C,OAAO25C,EAAY,OAAO35C,OAAO25C,EAAY,UAC1D,GAAIG,GAAuC,IAApBD,GAAkD,iBAAlBE,EAC5DV,GAAc,IAAIr5C,OAAO05C,EAAMtoC,KAAM,KAAKpR,OAAO+5C,EAAe,MAAM/5C,OAAO05C,EAAMtoC,KAAM,SACpF,CACL,IAAIqnC,EAAUU,EAAcY,EAAeX,GAC3CC,GAAc,IAAIr5C,OAAO25C,EAAY,KAAK35C,OAAOy4C,EAAS,MAAMz4C,OAAO25C,EAAY,IACrF,MAREN,GAAc,IAAIr5C,OAAO25C,EAAY,OAAO35C,OAAO25C,EAAY,IASnE,MAAO,GAAc,OAAVD,GACT,QAAK,kFACA,GAAuB,WAAnB,IAAQA,GAAqB,CACtC,IAAIhO,EAASgO,EAAMhO,OACf6K,EAAQ,IAAyBmD,EAAOb,GAExChiC,EAAO/V,OAAO+V,KAAK0/B,GAEvB,GAAoB,IAAhB1/B,EAAK9W,OAAc,CACrB,IAAIkB,EAAQyqC,EAAS,GAAG1rC,OAAO6W,EAAK,GAAI,MAAM7W,OAAO0rC,GAAU70B,EAAK,GACpEwiC,GAAc,KAAKr5C,OAAOiB,EAAO,KACnC,MACE,QAAK,mJAAoJy4C,EAE7J,MACE,QAAK,qKAAsKA,EAE/K,IACOL,CACT,CAEA,SAASY,EAAY/yC,EAAUgzC,EAAchiB,EAAMkhB,EAAae,EAAeC,GAC7E,GAAqB,KAAjBF,EAAqB,MAAO,GAChC,IAAIX,EAAYH,EAAYK,4BAA8B,GACtDY,EAAgCH,GAAgB,IAAItY,OAAO2X,EAAU5gC,KAAK,MAAMgK,KAAKu3B,GACzF,IAAKhzC,IAAamzC,EAA+B,MAAO,CAACH,GACzD,IAAI3iC,EAAO,CAAC,GAEZ,SAAS+iC,EAAQC,GACKrB,EAAWqB,GACjB7/B,SAAQ,SAAUg/B,GACT,iBAAVA,IACP1iC,EAAY0iC,GAAQY,EAAQrB,EAAYS,IAAoC,WAAnB,IAAQA,KAAwB,IAAAE,gBAAeF,IAAQ54C,OAAOuW,OAAOE,EAAMmiC,GAC1I,GACF,CAEAY,CAAQpzC,GACR,IAAIszC,EAAM,EAAKzyC,MAAM,MAAM/H,OAAOk6C,EAAc,SAE5C5E,EAAOla,EAAcA,EAAc,CAAC,EAAG7jB,GAAO4iC,GAElD,SAASM,EAAYf,EAAOh0C,EAAMg1C,GAChC,IAAIH,EAAStB,EAAYS,GACrBiB,EAAiBC,EAAOL,EAAQ70C,EAAKwB,SAAUwzC,GACnD,OAvFJ,SAA+BxzC,GAC7B,MAAiD,mBAA7CpG,OAAOsC,UAAUmS,SAASjS,KAAK4D,IAC5BA,EAAS2zC,OAAM,SAAUnB,GAC9B,OAAO,IAAAE,gBAAeF,EACxB,GACF,CAkFWoB,CAAsBP,IAAqC,IAA1BI,EAAe56C,OAAew6C,EAASI,CACjF,CAEA,SAASI,EAAkBrB,EAAOsB,EAAOxL,EAAK7hB,EAAGstB,GAC3CvB,EAAMwB,QAAOxB,EAAMxyC,SAAW8zC,GAClCxL,EAAIl+B,MAAK,IAAA6pC,cAAazB,EAAOte,EAAcA,EAAc,CAAC,EAAGse,EAAMp0C,OAAQ,CAAC,EAAG,CAC7EnC,IAAKwqB,IACHstB,OAASv0C,EAAYs0C,GAC3B,CAEA,SAASJ,EAAOQ,EAAWC,EAASX,GAClC,IAAIY,EAAapC,EAAWkC,GAE5B,OADelC,EAAWmC,GACV1qC,QAAO,SAAU6+B,EAAK9pC,EAAMioB,GAC1C,IA1Fc0N,EAAQx7B,EACtB07C,EAyFIC,EAAqB91C,EAAKwB,UAAYxB,EAAKwB,SAAS,IAAMxB,EAAKwB,SAAS,GAAGuxC,SAAWvgB,EAAKgJ,SAASc,aAAa+D,YAAYrgC,EAAKwB,SAAS,GAAGuxC,QAASnD,EAAMpd,EAAK53B,UAEtK,GAAkB,QAAdoF,EAAK0L,KAAgB,CACvB,IAAIqqC,EAAMH,EAAWrL,SAASvqC,EAAK0S,KAAM,MACpCqjC,GAAgC,IAAzBf,EAAc36C,QAAgB26C,EAAc,GAAGh1C,EAAK0S,QAAOqjC,EAAMf,EAAc,GAAGh1C,EAAK0S,OAC9FqjC,IAAKA,EAAM,CAAC,GACjB,IAAI/B,EAA2C,IAAnC54C,OAAO+V,KAAKnR,EAAK6yC,OAAOx4C,QAhGxBs7B,EAgGkD,CAC5D/1B,MAAOI,EAAK6yC,QAhGhBgD,EAAYngB,EAAc,CAAC,EADLv7B,EAkGjB47C,IA/FCn2C,MAAQxE,OAAOuW,OAAOgkB,EAAO/1B,MAAOzF,EAAOyF,OAC9Ci2C,GA8FSE,EACNC,GAAY,IAAA9B,gBAAeF,GAC3BiC,EAAiCD,GAAa1kC,EAAYtR,GAAM,KAAUA,EAAK4yC,YAC/EsD,EAAuBvB,GAAoD,WAAnB,IAAQX,IAAuBA,EAAMwB,QAAUQ,EACvGG,EAAyC,WAAtB,IAAQ30C,IAAuC,OAAbA,GAAqBpG,OAAOuC,eAAeC,KAAK4D,EAAUxB,EAAK0S,MAExH,GAAqB,iBAAVshC,EAAoB,CAC7B,IAAIz4C,EAAQi3B,EAAKgJ,SAASc,aAAa+D,YAAY2T,EAAOpE,EAAMpd,EAAK53B,UACrEkvC,EAAIl+B,KAAKrQ,EACX,MAAO,GAAI+V,EAAY0iC,IAAUiC,EAAgC,CAE7DZ,EAAkBrB,EADNe,EAAYf,EAAOh0C,EAAMg1C,GACLlL,EAAK7hB,EACvC,MAAO,GAAIiuB,EAAsB,CACjC,IAAIE,EAASlB,EAAOU,EAAY51C,EAAKwB,SAAUwzC,GAE/ClL,EAAIl+B,MAAK,IAAA6pC,cAAazB,EAAOte,EAAcA,EAAc,CAAC,EAAGse,EAAMp0C,OAAQ,CAAC,EAAG,CAC7EnC,IAAKwqB,IACHmuB,GACN,MAAO,GAAInpB,OAAOD,MAAMqpB,WAAWr2C,EAAK0S,OAAQ,CAC9C,GAAIyjC,EAGFd,EAAkBrB,EAFJe,EAAYf,EAAOh0C,EAAMg1C,GAELlL,EAAK7hB,EAAGjoB,EAAK4yC,kBAC1C,GAAIc,EAAYI,4BAA8BD,EAAU9nC,QAAQ/L,EAAK0S,OAAS,EACnF,GAAI1S,EAAK4yC,YACP9I,EAAIl+B,MAAK,IAAAtK,eAActB,EAAK0S,KAAM,CAChCjV,IAAK,GAAGnD,OAAO0F,EAAK0S,KAAM,KAAKpY,OAAO2tB,UAEnC,CACL,IAAIquB,EAAUpB,EAAOU,EAAY51C,EAAKwB,SAAUwzC,GAEhDlL,EAAIl+B,MAAK,IAAAtK,eAActB,EAAK0S,KAAM,CAChCjV,IAAK,GAAGnD,OAAO0F,EAAK0S,KAAM,KAAKpY,OAAO2tB,IACrCquB,GACL,MACK,GAAIt2C,EAAK4yC,YACd9I,EAAIl+B,KAAK,IAAItR,OAAO0F,EAAK0S,KAAM,YAC1B,CACL,IAAI6jC,EAAUrB,EAAOU,EAAY51C,EAAKwB,SAAUwzC,GAEhDlL,EAAIl+B,KAAK,IAAItR,OAAO0F,EAAK0S,KAAM,KAAKpY,OAAOi8C,EAAS,MAAMj8C,OAAO0F,EAAK0S,KAAM,KAC9E,CACF,MAAO,GAAuB,WAAnB,IAAQshC,IAAwBgC,EAGP,IAAzBh2C,EAAKwB,SAASnH,QAAgBy7C,EACvChM,EAAIl+B,MAAK,IAAA6pC,cAAazB,EAAOte,EAAcA,EAAc,CAAC,EAAGse,EAAMp0C,OAAQ,CAAC,EAAG,CAC7EnC,IAAKwqB,IACH6tB,IAEJhM,EAAIl+B,MAAK,IAAA6pC,cAAazB,EAAOte,EAAcA,EAAc,CAAC,EAAGse,EAAMp0C,OAAQ,CAAC,EAAG,CAC7EnC,IAAKwqB,UAT6C,CACpD,IAAI8qB,EAAU/yC,EAAKwB,SAAS,GAAKs0C,EAAqB,KAClD/C,GAASjJ,EAAIl+B,KAAKmnC,EACxB,CASF,MAAO,GAAkB,SAAd/yC,EAAK0L,KAAiB,CAC/B,IAAI8qC,EAAgB9C,EAAY+C,mBAE5BC,EAAWhC,EAAiBhB,EAAYiD,SAASnkB,EAAKgJ,SAASc,aAAa+D,YAAYrgC,EAAK+yC,QAASnD,EAAMpd,EAAK53B,WAAa43B,EAAKgJ,SAASc,aAAa+D,YAAYrgC,EAAK+yC,QAASnD,EAAMpd,EAAK53B,UAE9L47C,EACF1M,EAAIl+B,MAAK,IAAAtK,eAAck1C,EAAe,CACpC/4C,IAAK,GAAGnD,OAAO0F,EAAK0S,KAAM,KAAKpY,OAAO2tB,IACrCyuB,IAEH5M,EAAIl+B,KAAK8qC,EAEb,CAEA,OAAO5M,CACT,GAAG,GACL,CAMA,OAAOyJ,EAJM2B,EAAO,CAAC,CACnBM,OAAO,EACPh0C,SAAUA,GAAY,KACpBszC,EAAKtB,EAAWhyC,GAAY,KACN,GAC5B,CAEO,SAASo1C,EAAMjpC,GACpB,IAAInM,EAAWmM,EAAKnM,SAChB48B,EAAQzwB,EAAKywB,MACbyY,EAASlpC,EAAKkpC,OACdC,EAAUnpC,EAAKmpC,QACf/pB,EAAUpf,EAAKof,QACfgqB,EAAgBppC,EAAKqpC,SACrBA,OAA6B,IAAlBD,EAA2B,CAAC,EAAIA,EAC3Cx8B,EAAS5M,EAAK4M,OACd08B,EAAWtpC,EAAKspC,SAChBpyC,EAAa8I,EAAK9I,WAClBwuB,EAAK1lB,EAAK0lB,GACV6jB,EAAgBvpC,EAAK6kB,KACrB2kB,EAAaxpC,EAAK6f,EAClBknB,EAAiB/mC,EAAK+mC,eACtB0C,EAAkB,IAAyBzpC,EAAMylC,GAEjDllC,GAAQ,IAAAjL,YAAW,OAAgB,CAAC,EACpCo0C,EAAkBnpC,EAAMskB,KACxB8kB,EAAuBppC,EAAMolB,UAE7Bd,EAAO0kB,GAAiBG,IAAmB,UAE/C,IAAK7kB,EAEH,OADA,QAAS,4EACFhxB,EAGT,IAAIgsB,EAAI2pB,GAAc3kB,EAAKhF,EAAEhuB,KAAKgzB,IAAS,SAAUoF,GACnD,OAAOA,CACT,EAEI7K,IAASiqB,EAASjqB,QAAUA,GAEhC,IAAIwqB,EAAsB7hB,EAAcA,EAAc,CAAC,GAAG,WAAgBlD,EAAK/2B,SAAW+2B,EAAK/2B,QAAQs4B,OAEnGX,EAAaC,GAAM7F,EAAE6F,IAAMikB,GAAwB9kB,EAAK/2B,SAAW+2B,EAAK/2B,QAAQ63B,UACpFF,EAAmC,iBAAfA,EAA0B,CAACA,GAAcA,GAAc,CAAC,eAC5E,IAAIhH,EAAe6qB,GAAYxD,EAAcjyC,EAAU+1C,IAAwBA,EAAoBC,qBAAuBV,EACtHW,EAAeF,EAAoBE,aACnCh6C,EAAMq5C,IAAYW,EAAeA,EAAarrB,GAAgBA,GAC9DsrB,EAAwBn9B,EAASy8B,EAASvb,cAAgB,CAC5DA,cAAe/F,EAAcA,EAAc,CAAC,EAAGshB,EAASvb,eAAgB,CAAC,EAAG,CAC1EtO,OAAQ,MACRhxB,OAAQ,SAIRs4C,EAAgB/e,EAAcA,EAAcA,EAAcA,EAAc,CAAC,EAAGshB,GAAW,CAAC,EAAG,CAC7F5Y,MAAOA,GACN7jB,GAASm9B,GAAwB,CAAC,EAAG,CACtCtrB,aAAcA,EACdiH,GAAID,IAIF2f,EAAUwB,EAAY1vC,GAAcrD,EADtB/D,EAAM+vB,EAAE/vB,EAAKg3C,GAAiBroB,EACeoG,EAAM+kB,EAAqB9C,EAAeC,GACrGiD,OAAyB32C,IAAX61C,EAAuBA,EAASU,EAAoBK,mBACtE,OAAOD,GAAc,IAAAr2C,eAAcq2C,EAAaP,EAAiBrE,GAAWA,CAC9E,kVClRI8E,EAAkB,oGAClBC,EAAe,CACjB,QAAS,IACT,QAAS,IACT,OAAQ,IACR,QAAS,IACT,OAAQ,IACR,QAAS,IACT,SAAU,IACV,QAAS,IACT,SAAU,IACV,QAAS,IACT,SAAU,IACV,SAAU,IACV,SAAU,IACV,SAAU,IACV,QAAS,IACT,SAAU,IACV,WAAY,IACZ,UAAW,IACX,SAAU,IACV,QAAS,KAGPC,EAAqB,SAA4Br9B,GACnD,OAAOo9B,EAAap9B,EACtB,ECtBA,SAAS2a,EAAQvzB,EAAQwzB,GAAkB,IAAInkB,EAAO/V,OAAO+V,KAAKrP,GAAS,GAAI1G,OAAOm6B,sBAAuB,CAAE,IAAIC,EAAUp6B,OAAOm6B,sBAAsBzzB,GAAawzB,IAAkBE,EAAUA,EAAQ55B,QAAO,SAAU65B,GAAO,OAAOr6B,OAAOoC,yBAAyBsE,EAAQ2zB,GAAKxlB,UAAY,KAAMkB,EAAKvF,KAAK7M,MAAMoS,EAAMqkB,EAAU,CAAE,OAAOrkB,CAAM,CAExV,SAASukB,EAAcv7B,GAAU,IAAK,IAAI8tB,EAAI,EAAGA,EAAItpB,UAAUtE,OAAQ4tB,IAAK,CAAE,IAAI0N,EAAyB,MAAhBh3B,UAAUspB,GAAatpB,UAAUspB,GAAK,CAAC,EAAOA,EAAI,EAAKoN,EAAQj6B,OAAOu6B,IAAS,GAAM3gB,SAAQ,SAAUvX,GAAO,IAAgBtD,EAAQsD,EAAKk4B,EAAOl4B,GAAO,IAAerC,OAAOw6B,0BAA6Bx6B,OAAOy6B,iBAAiB17B,EAAQiB,OAAOw6B,0BAA0BD,IAAmBN,EAAQj6B,OAAOu6B,IAAS3gB,SAAQ,SAAUvX,GAAOrC,OAAOC,eAAelB,EAAQsD,EAAKrC,OAAOoC,yBAAyBm4B,EAAQl4B,GAAO,GAAM,CAAE,OAAOtD,CAAQ,CAIrhB,IAUI69C,EAVAC,EAAiB,CACnBC,SAAU,kBACVC,cAAe,GACfX,oBAAqB,GACrB1D,4BAA4B,EAC5B2C,mBAAoB,GACpB1C,2BAA4B,CAAC,KAAM,SAAU,IAAK,KAClD/f,aAAa,EACb2iB,SDUoB,SAAkByB,GACtC,OAAOA,EAAKj9C,QAAQ08C,EAAiBE,EACvC,GCTWM,GAAc,IAAAh6C,iBAClB,SAASi6C,IACd,IAAI78C,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnFs5C,EAAiBviB,EAAcA,EAAc,CAAC,EAAGuiB,GAAiBx8C,EACpE,CACO,SAAS88C,IACd,OAAON,CACT,CACO,IAAIO,EAAmB,WAC5B,SAASA,IACP,IAAgBx5C,KAAMw5C,GAEtBx5C,KAAKy5C,eAAiB,CAAC,CACzB,CAkBA,OAhBA,IAAaD,EAAkB,CAAC,CAC9B/6C,IAAK,oBACLlC,MAAO,SAA2B63B,GAChC,IAAI30B,EAAQO,KAEZo0B,EAAWpe,SAAQ,SAAUqe,GACtB50B,EAAMg6C,eAAeplB,KAAK50B,EAAMg6C,eAAeplB,IAAM,EAC5D,GACF,GACC,CACD51B,IAAK,oBACLlC,MAAO,WACL,OAAOH,OAAO+V,KAAKnS,KAAKy5C,eAC1B,KAGKD,CACT,CAxB8B,GAyBvB,SAASE,EAAQlpC,GACtBwoC,EAAexoC,CACjB,CACO,SAASmpC,IACd,OAAOX,CACT,CACO,IAAIY,EAAmB,CAC5BltC,KAAM,WACNkoB,KAAM,SAAcpkB,GAClB8oC,EAAY9oC,EAAS/T,QAAQs4B,OAC7B2kB,EAAQlpC,EACV,GAEK,SAASqpC,EAAoBC,GAClC,OAAO,SAAUC,GACf,OAAO,IAAI1tC,SAAQ,SAAUC,GAC3B,IAAI0tC,EAAmBC,IAEnBH,EAAaG,gBACfH,EAAaG,gBAAgBF,GAAK3tC,MAAK,SAAU8tC,GAC/C5tC,EAAQoqB,EAAcA,EAAc,CAAC,EAAGwjB,GAAyBF,GACnE,IAEA1tC,EAAQ0tC,EAEZ,GACF,CACF,CACO,SAASC,IACd,IAAIzmB,EAAOmmB,IACPvlB,EAAaZ,EAAK2mB,iBAAmB3mB,EAAK2mB,iBAAiBC,oBAAsB,GACjFnL,EAAM,CAAC,EACPoL,EAAmB,CAAC,EASxB,OARA7mB,EAAK73B,UAAUqa,SAAQ,SAAU6Z,GAC/BwqB,EAAiBxqB,GAAK,CAAC,EACvBuE,EAAWpe,SAAQ,SAAUqe,GAC3BgmB,EAAiBxqB,GAAGwE,GAAMb,EAAK8mB,kBAAkBzqB,EAAGwE,IAAO,CAAC,CAC9D,GACF,IACA4a,EAAIoL,iBAAmBA,EACvBpL,EAAIsL,gBAAkB/mB,EAAK53B,SACpBqzC,CACT,u0BC7FA,SAAS5Y,EAAQvzB,EAAQwzB,GAAkB,IAAInkB,EAAO/V,OAAO+V,KAAKrP,GAAS,GAAI1G,OAAOm6B,sBAAuB,CAAE,IAAIC,EAAUp6B,OAAOm6B,sBAAsBzzB,GAAawzB,IAAkBE,EAAUA,EAAQ55B,QAAO,SAAU65B,GAAO,OAAOr6B,OAAOoC,yBAAyBsE,EAAQ2zB,GAAKxlB,UAAY,KAAMkB,EAAKvF,KAAK7M,MAAMoS,EAAMqkB,EAAU,CAAE,OAAOrkB,CAAM,CAExV,SAASukB,EAAcv7B,GAAU,IAAK,IAAI8tB,EAAI,EAAGA,EAAItpB,UAAUtE,OAAQ4tB,IAAK,CAAE,IAAI0N,EAAyB,MAAhBh3B,UAAUspB,GAAatpB,UAAUspB,GAAK,CAAC,EAAOA,EAAI,EAAKoN,EAAQj6B,OAAOu6B,IAAS,GAAM3gB,SAAQ,SAAUvX,GAAO,IAAgBtD,EAAQsD,EAAKk4B,EAAOl4B,GAAO,IAAerC,OAAOw6B,0BAA6Bx6B,OAAOy6B,iBAAiB17B,EAAQiB,OAAOw6B,0BAA0BD,IAAmBN,EAAQj6B,OAAOu6B,IAAS3gB,SAAQ,SAAUvX,GAAOrC,OAAOC,eAAelB,EAAQsD,EAAKrC,OAAOoC,yBAAyBm4B,EAAQl4B,GAAO,GAAM,CAAE,OAAOtD,CAAQ,CAMrhB,IAAIq/C,EAAc,SAAqBj+C,EAAOk+C,GAC5C,IAAIv2C,GAAM,IAAAC,UAIV,OAHA,IAAA4c,YAAU,WACR7c,EAAIG,QAAUo2C,EAASv2C,EAAIG,QAAU9H,CACvC,GAAG,CAACA,EAAOk+C,IACJv2C,EAAIG,OACb,EAEO,SAASq2C,EAAermB,GAC7B,IAAIzzB,EAAQjB,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC7Eu4C,EAAgBt3C,EAAM4yB,KAEtB7kB,GAAO,IAAA1K,YAAW,OAAgB,CAAC,EACnCo0C,EAAkB1pC,EAAK6kB,KACvB8kB,EAAuB3pC,EAAK2lB,UAE5Bd,EAAO0kB,GAAiBG,IAAmB,UAG/C,GAFI7kB,IAASA,EAAK2mB,mBAAkB3mB,EAAK2mB,iBAAmB,IAAI,OAE3D3mB,EAAM,EACT,QAAS,0EAET,IAAImnB,EAAY,SAAmB/hB,GACjC,OAAO/4B,MAAM89B,QAAQ/E,GAAKA,EAAEA,EAAEv9B,OAAS,GAAKu9B,CAC9C,EAEIgiB,EAAc,CAACD,EAAW,CAAC,GAAG,GAIlC,OAHAC,EAAYpsB,EAAImsB,EAChBC,EAAYpnB,KAAO,CAAC,EACpBonB,EAAYC,OAAQ,EACbD,CACT,CAEIpnB,EAAK/2B,QAAQs4B,YAAqC/yB,IAA5BwxB,EAAK/2B,QAAQs4B,MAAM0Y,OAAoB,QAAS,uGAE1E,IAAIiH,EAAche,EAAcA,EAAcA,EAAc,CAAC,GAAG,WAAgBlD,EAAK/2B,QAAQs4B,OAAQn0B,GAEjGo0B,EAAc0f,EAAY1f,YAC1B0b,EAAYgE,EAAYhE,UACxBtc,EAAaC,GAAMikB,GAAwB9kB,EAAK/2B,SAAW+2B,EAAK/2B,QAAQ63B,UAC5EF,EAAmC,iBAAfA,EAA0B,CAACA,GAAcA,GAAc,CAAC,eACxEZ,EAAK2mB,iBAAiBW,mBAAmBtnB,EAAK2mB,iBAAiBW,kBAAkB1mB,GACrF,IAAIymB,GAASrnB,EAAKmb,eAAiBnb,EAAKoc,uBAAyBxb,EAAW+hB,OAAM,SAAU1nB,GAC1F,OAAO,QAAmBA,EAAG+E,EAAMkhB,EACrC,IAEA,SAASqG,IACP,OAAOvnB,EAAKwnB,UAAU,KAA6B,aAAvBtG,EAAYuG,OAAwB7mB,EAAaA,EAAW,GAAIsc,EAC9F,CAEA,IAAIwK,GAAY,IAAApsB,UAASisB,GACrBI,EAAa,IAAeD,EAAW,GACvC1sB,EAAI2sB,EAAW,GACfC,EAAOD,EAAW,GAElBE,EAAWjnB,EAAWngB,OACtBqnC,EAAmBd,EAAYa,GAC/BE,GAAY,IAAAp3C,SAAO,IACvB,IAAA4c,YAAU,WACR,IAAIm4B,EAAWxE,EAAYwE,SACvBC,EAAgBzE,EAAYyE,cAahC,SAASqC,IACHD,EAAUl3C,SAAS+2C,EAAKL,EAC9B,CAIA,OAlBAQ,EAAUl3C,SAAU,EAEfw2C,GAAU7lB,IACb,QAAexB,EAAMY,GAAY,WAC3BmnB,EAAUl3C,SAAS+2C,EAAKL,EAC9B,IAGEF,GAASS,GAAoBA,IAAqBD,GAAYE,EAAUl3C,SAC1E+2C,EAAKL,GAOH7B,GAAY1lB,GAAMA,EAAK/mB,GAAGysC,EAAUsC,GACpCrC,GAAiB3lB,GAAMA,EAAK2Y,MAAM1/B,GAAG0sC,EAAeqC,GACjD,WACLD,EAAUl3C,SAAU,EAChB60C,GAAY1lB,GAAM0lB,EAAS5rC,MAAM,KAAK0I,SAAQ,SAAU1S,GAC1D,OAAOkwB,EAAK3mB,IAAIvJ,EAAGk4C,EACrB,IACIrC,GAAiB3lB,GAAM2lB,EAAc7rC,MAAM,KAAK0I,SAAQ,SAAU1S,GACpE,OAAOkwB,EAAK2Y,MAAMt/B,IAAIvJ,EAAGk4C,EAC3B,GACF,CACF,GAAG,CAAChoB,EAAM6nB,IACV,IAAII,GAAY,IAAAt3C,SAAO,IACvB,IAAA4c,YAAU,WACJw6B,EAAUl3C,UAAYo3C,EAAUp3C,SAClC+2C,EAAKL,GAGPU,EAAUp3C,SAAU,CACtB,GAAG,CAACmvB,EAAMkd,IACV,IAAIzB,EAAM,CAACzgB,EAAGgF,EAAMqnB,GAIpB,GAHA5L,EAAIzgB,EAAIA,EACRygB,EAAIzb,KAAOA,EACXyb,EAAI4L,MAAQA,EACRA,EAAO,OAAO5L,EAClB,IAAK4L,IAAU7lB,EAAa,OAAOia,EACnC,MAAM,IAAI5iC,SAAQ,SAAUC,IAC1B,QAAeknB,EAAMY,GAAY,WAC/B9nB,GACF,GACF,GACF,yBCpHI6nC,EAAY,CAAC,gBAEjB,SAAS,EAAQrxC,EAAQwzB,GAAkB,IAAInkB,EAAO/V,OAAO+V,KAAKrP,GAAS,GAAI1G,OAAOm6B,sBAAuB,CAAE,IAAIC,EAAUp6B,OAAOm6B,sBAAsBzzB,GAAawzB,IAAkBE,EAAUA,EAAQ55B,QAAO,SAAU65B,GAAO,OAAOr6B,OAAOoC,yBAAyBsE,EAAQ2zB,GAAKxlB,UAAY,KAAMkB,EAAKvF,KAAK7M,MAAMoS,EAAMqkB,EAAU,CAAE,OAAOrkB,CAAM,CAExV,SAAS,EAAchX,GAAU,IAAK,IAAI8tB,EAAI,EAAGA,EAAItpB,UAAUtE,OAAQ4tB,IAAK,CAAE,IAAI0N,EAAyB,MAAhBh3B,UAAUspB,GAAatpB,UAAUspB,GAAK,CAAC,EAAOA,EAAI,EAAK,EAAQ7sB,OAAOu6B,IAAS,GAAM3gB,SAAQ,SAAUvX,GAAO,IAAgBtD,EAAQsD,EAAKk4B,EAAOl4B,GAAO,IAAerC,OAAOw6B,0BAA6Bx6B,OAAOy6B,iBAAiB17B,EAAQiB,OAAOw6B,0BAA0BD,IAAmB,EAAQv6B,OAAOu6B,IAAS3gB,SAAQ,SAAUvX,GAAOrC,OAAOC,eAAelB,EAAQsD,EAAKrC,OAAOoC,yBAAyBm4B,EAAQl4B,GAAO,GAAM,CAAE,OAAOtD,CAAQ,CAK9gB,SAASugD,EAAgBrnB,GAC9B,IAAI53B,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,OAAO,SAAgBg8C,GACrB,SAASC,EAAuBjtC,GAC9B,IAAIktC,EAAeltC,EAAKktC,aACpBhL,EAAO,IAAyBliC,EAAMwlC,GAEtC2H,EAAkBpB,EAAermB,EAAI,EAAc,EAAc,CAAC,EAAGwc,GAAO,CAAC,EAAG,CAClFH,UAAWj0C,EAAQi0C,aAEjBqL,EAAmB,IAAeD,EAAiB,GACnDttB,EAAIutB,EAAiB,GACrBvoB,EAAOuoB,EAAiB,GACxBlB,EAAQkB,EAAiB,GAEzBC,EAAgB,EAAc,EAAc,CAAC,EAAGnL,GAAO,CAAC,EAAG,CAC7DriB,EAAGA,EACHgF,KAAMA,EACNyoB,OAAQpB,IASV,OANIp+C,EAAQy/C,SAAWL,EACrBG,EAAc93C,IAAM23C,GACVp/C,EAAQy/C,SAAWL,IAC7BG,EAAcH,aAAeA,IAGxB,IAAAv5C,eAAcq5C,EAAkBK,EACzC,CAEAJ,EAAuBr8C,YAAc,0BAA0BjE,QAAO,QAAeqgD,GAAmB,KACxGC,EAAuBD,iBAAmBA,EAQ1C,OAAOl/C,EAAQy/C,SAAU,IAAAC,aANR,SAAoBv7C,EAAOsD,GAC1C,OAAO,IAAA5B,eAAcs5C,EAAwBx/C,OAAOuW,OAAO,CAAC,EAAG/R,EAAO,CACpEi7C,aAAc33C,IAElB,IAEuD03C,CACzD,CACF,CCnDA,IAAI,EAAY,CAAC,KAAM,YAEhB,SAASQ,EAAYx7C,GAC1B,IAAIyzB,EAAKzzB,EAAMyzB,GACX7xB,EAAW5B,EAAM4B,SAGjBs5C,EAAkBpB,EAAermB,EAFvB,IAAyBzzB,EAAO,IAG1Cm7C,EAAmB,IAAeD,EAAiB,GACnDttB,EAAIutB,EAAiB,GACrBvoB,EAAOuoB,EAAiB,GACxBlB,EAAQkB,EAAiB,GAE7B,OAAOv5C,EAASgsB,EAAG,CACjBgF,KAAMA,EACNqB,IAAKrB,EAAK53B,UACTi/C,EACL,CCjBO,SAAS3lB,EAAgBvmB,GAC9B,IAAI6kB,EAAO7kB,EAAK6kB,KACZc,EAAY3lB,EAAK2lB,UACjB9xB,EAAWmM,EAAKnM,SAChBjG,GAAQ,IAAA8/C,UAAQ,WAClB,MAAO,CACL7oB,KAAMA,EACNc,UAAWA,EAEf,GAAG,CAACd,EAAMc,IACV,OAAO,IAAAhyB,eAAc,KAAYC,SAAU,CACzChG,MAAOA,GACNiG,EACL,CCbO,SAAS85C,EAAOjC,EAAkBE,GACvC,IACIrC,GADQv4C,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,GACvD6zB,KAGtB6kB,IADO,IAAAp0C,YAAW,OAAgB,CAAC,GACZuvB,KAEvBA,EAAO0kB,GAAiBG,IAAmB,UAC3C7kB,EAAK/2B,SAAW+2B,EAAK/2B,QAAQmyC,UAE7ByL,IAAqB7mB,EAAKoc,uBAC5Bpc,EAAKgJ,SAAS0G,cAAcrwB,KAAOwnC,EACnC7mB,EAAK/2B,QAAQ43B,GAAKj4B,OAAOmf,OAAO8+B,GAAkBpuC,QAAO,SAAU6+B,EAAKyR,GAItE,OAHAngD,OAAO+V,KAAKoqC,GAAcvmC,SAAQ,SAAUqe,GACtCyW,EAAI/9B,QAAQsnB,GAAM,GAAGyW,EAAIl+B,KAAKynB,EACpC,IACOyW,CACT,GAAGtX,EAAK/2B,QAAQ43B,IAChBb,EAAKoc,sBAAuB,EAC5Bpc,EAAKmb,eAAgB,GAGnB4L,IAAoB/mB,EAAKgpB,0BAC3BhpB,EAAKyB,eAAeslB,GACpB/mB,EAAKgpB,yBAA0B,GAEnC,CC1BA,IAAI,EAAY,CAAC,mBAAoB,mBAErC,SAAS,EAAQ15C,EAAQwzB,GAAkB,IAAInkB,EAAO/V,OAAO+V,KAAKrP,GAAS,GAAI1G,OAAOm6B,sBAAuB,CAAE,IAAIC,EAAUp6B,OAAOm6B,sBAAsBzzB,GAAawzB,IAAkBE,EAAUA,EAAQ55B,QAAO,SAAU65B,GAAO,OAAOr6B,OAAOoC,yBAAyBsE,EAAQ2zB,GAAKxlB,UAAY,KAAMkB,EAAKvF,KAAK7M,MAAMoS,EAAMqkB,EAAU,CAAE,OAAOrkB,CAAM,CAQjV,SAASsqC,IACd,OAAO,SAAgBd,GACrB,SAASe,EAAe/tC,GACtB,IAAI0rC,EAAmB1rC,EAAK0rC,iBACxBE,EAAkB5rC,EAAK4rC,gBACvB1J,EAAO,IAAyBliC,EAAM,GAG1C,OADA2tC,EAAOjC,EAAkBE,IAClB,IAAAj4C,eAAcq5C,EAd3B,SAAuBxgD,GAAU,IAAK,IAAI8tB,EAAI,EAAGA,EAAItpB,UAAUtE,OAAQ4tB,IAAK,CAAE,IAAI0N,EAAyB,MAAhBh3B,UAAUspB,GAAatpB,UAAUspB,GAAK,CAAC,EAAOA,EAAI,EAAK,EAAQ7sB,OAAOu6B,IAAS,GAAM3gB,SAAQ,SAAUvX,GAAO,IAAgBtD,EAAQsD,EAAKk4B,EAAOl4B,GAAO,IAAerC,OAAOw6B,0BAA6Bx6B,OAAOy6B,iBAAiB17B,EAAQiB,OAAOw6B,0BAA0BD,IAAmB,EAAQv6B,OAAOu6B,IAAS3gB,SAAQ,SAAUvX,GAAOrC,OAAOC,eAAelB,EAAQsD,EAAKrC,OAAOoC,yBAAyBm4B,EAAQl4B,GAAO,GAAM,CAAE,OAAOtD,CAAQ,CAcxe,CAAc,CAAC,EAAG01C,GAC3D,CAKA,OAHA6L,EAAezC,iBAAkB,QAAoB0B,GACrDe,EAAen9C,YAAc,kBAAkBjE,QAAO,QAAeqgD,GAAmB,KACxFe,EAAef,iBAAmBA,EAC3Be,CACT,CACF,CCpBO,IAAIC,EAAO,WAChB,MAAO,EACT,EACWC,EAAO,WAChB,MAAO,EACT,EACWvW,EAAS,WAClB,MAAO,EACT,EACW,EAAS,WAClB,MAAO,EACT,EACWwW,EAAS,WAClB,MAAO,EACT,EACWC,EAAgB,WACzB,MAAO,EACT,sCCzBO,SAAS9lB,IACd,GAAI5L,SAAWA,QAAQ4L,KAAM,CAG3B,IAFA,IAAI+lB,EAEKr9C,EAAOC,UAAUtE,OAAQuE,EAAO,IAAIC,MAAMH,GAAOI,EAAO,EAAGA,EAAOJ,EAAMI,IAC/EF,EAAKE,GAAQH,UAAUG,GAGF,iBAAZF,EAAK,KAAiBA,EAAK,GAAK,mBAAmBtE,OAAOsE,EAAK,MAEzEm9C,EAAW3xB,SAAS4L,KAAKj3B,MAAMg9C,EAAUn9C,EAC5C,CACF,kIACA,IAAIo9C,EAAgB,CAAC,EACd,SAASC,IACd,IAAK,IAAI3lB,EAAQ33B,UAAUtE,OAAQuE,EAAO,IAAIC,MAAMy3B,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF33B,EAAK23B,GAAS53B,UAAU43B,GAGH,iBAAZ33B,EAAK,IAAmBo9C,EAAcp9C,EAAK,MAC/B,iBAAZA,EAAK,KAAiBo9C,EAAcp9C,EAAK,IAAM,IAAI0c,MAC9D0a,EAAKj3B,WAAM,EAAQH,GACrB,CACO,SAASs9C,EAAe1pB,EAAMa,EAAItV,GACvCyU,EAAK0pB,eAAe7oB,GAAI,WACtB,GAAIb,EAAKmb,cACP5vB,QACK,CAQLyU,EAAK/mB,GAAG,eAPU,SAAS0wC,IACzB9kC,YAAW,WACTmb,EAAK3mB,IAAI,cAAeswC,EAC1B,GAAG,GACHp+B,GACF,GAGF,CACF,GACF,CAqBO,SAASwjB,EAAmBlO,EAAIb,GACrC,IAAI/2B,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAEnF,OAAK6zB,EAAK73B,WAAc63B,EAAK73B,UAAUN,YAKmB2G,IAArCwxB,EAAK/2B,QAAQs+B,oBAM3BvH,EAAK+O,mBAAmBlO,EAAI,CACjCid,SAAU,SAAkB0H,EAAc5H,GACxC,GAAI30C,EAAQy8C,UAAYz8C,EAAQy8C,SAASnsC,QAAQ,qBAAuB,GAAKisC,EAAaxc,SAAS+D,iBAAiB2L,SAAW8M,EAAa7I,uBAAyBiB,EAAe4H,EAAa7I,qBAAsB9b,GAAK,OAAO,CACrO,IApCJ,SAAsCA,EAAIb,GACxC,IAAI/2B,EAAUkD,UAAUtE,OAAS,QAAsB2G,IAAjBrC,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/Ek1B,EAAMrB,EAAK73B,UAAU,GACrBm5B,IAActB,EAAK/2B,SAAU+2B,EAAK/2B,QAAQq4B,YAC1Cqc,EAAU3d,EAAK73B,UAAU63B,EAAK73B,UAAUN,OAAS,GACrD,GAA0B,WAAtBw5B,EAAI34B,cAA4B,OAAO,EAE3C,IAAIk1C,EAAiB,SAAwBvhB,EAAGpB,GAC9C,IAAI4iB,EAAY7d,EAAKgJ,SAAS+D,iBAAiBx8B,MAAM,GAAGzI,OAAOu0B,EAAG,KAAKv0B,OAAOmzB,IAC9E,OAAsB,IAAf4iB,GAAkC,IAAdA,CAC7B,EAEA,QAAI50C,EAAQy8C,UAAYz8C,EAAQy8C,SAASnsC,QAAQ,qBAAuB,GAAKymB,EAAKgJ,SAAS+D,iBAAiB2L,SAAW1Y,EAAK2c,uBAAyBiB,EAAe5d,EAAK2c,qBAAsB9b,KAC3Lb,EAAK6H,kBAAkBxG,EAAKR,IAC3Bb,EAAKgJ,SAAS+D,iBAAiB2L,WAAW1Y,EAAK/2B,QAAQg4B,WAAcjB,EAAK/2B,QAAQuyC,4BACnFoC,EAAevc,EAAKR,IAASS,IAAesc,EAAeD,EAAS9c,IAE1E,CAaW+oB,CAA6B/oB,EAAIb,EAAM/2B,IAP9CwgD,EAAS,yCAA0CzpB,EAAK73B,YACjD,EAcX,CACO,SAAS0hD,EAAe56C,GAC7B,OAAOA,EAAUlD,aAAekD,EAAUiR,OAA8B,iBAAdjR,GAA0BA,EAAUpH,OAAS,EAAIoH,EAAY,UACzH,0CCxEiBm2B,EAAE,EAAQ,OAAS/I,EAAE,CAACytB,QAAO,GAAI7uB,EAAE,IAAIhhB,IAAImR,EAAE2+B,OAAOC,IAAI,iBAAiBtQ,EAAEqQ,OAAOC,IAAI,cAAcjvB,EAAEgvB,OAAOC,IAAI,uBAAuBhvB,EAAEoK,EAAE6kB,mDAAmDC,gBAAkF,SAAShiB,EAAEnrB,EAAEyY,EAAEiU,GAAGj9B,KAAK29C,QAAQptC,EAAEvQ,KAAK49C,OAAO50B,EAAEhpB,KAAK69C,UAAU5gB,CAAC,CACjW,SAAS6gB,EAAEvtC,GAAG,OAAOA,EAAEotC,SAAS,KAAK,EAAE,OAAOptC,EAAEqtC,OAAO,KAAK,EAAE,IAAI50B,EAAE5lB,KAAKC,MAAMkN,EAAEqtC,OAAOrtC,EAAEstC,UAAUE,WAAuB,OAAZxtC,EAAEotC,QAAQ,EAASptC,EAAEqtC,OAAO50B,EAAE,KAAK,EAAa,IAAI,IAAIiU,GAAnBjU,EAAEzY,EAAEqtC,QAAmBI,OAAOjM,EAAE,EAAEA,EAAE9U,EAAE5hC,OAAO02C,IAAI,CAAC,IAAIzuC,EAAEmrB,EAAEpwB,IAAI4+B,EAAE8U,IAAI,GAAG,OAAOzuC,EAAE,MAAMA,CAAE,CAAyG,OAAxG25B,EAAEghB,EAAoBj1B,EAAEzX,IAAIyX,EAAE,MAAMA,EAAEtV,KAAKupB,EAAE,KAAKjU,EAAEtV,KAAKupB,EAAEv/B,WAAWu/B,EAAEh/B,QAAQg/B,EAAEA,EAAEjU,EAAEtV,MAAMnD,EAAEotC,QAAQ,EAASptC,EAAEqtC,OAAO50B,EAAE,KAAK,EAAE,MAAMzY,EAAE,QAAQ,MAAMA,EAAEqtC,OAAQ,CAAC,SAAS3J,IAAoB,OAAO6J,EAAjBI,EAAEl+C,KAAK,GAAc,CAAC,SAASm+C,EAAE5tC,EAAEyY,GAAG,OAAO,IAAI0S,EAAE,EAAE1S,EAAEzY,EAAE,CAC3d,SAAS6tC,EAAE7tC,GAAG,GAAG,OAAOA,EAAE,IAAI,IAAIyY,EAAE,EAAEA,EAAEzY,EAAElV,OAAO2tB,KAAI,EAAGzY,EAAEyY,KAAK,CAAC,SAASq1B,EAAE9tC,EAAEyY,GAAG,GAAG,IAAIzY,EAAEotC,QAAQ,CAAC,IAAI1gB,EAAE1sB,EAAEqtC,OAAOrtC,EAAEotC,QAAQ,EAAEptC,EAAEqtC,OAAO50B,EAAEo1B,EAAEnhB,EAAE,CAAC,CAAC,SAASqhB,EAAE/tC,EAAEyY,GAAGzY,EAAEguC,QAAQvoC,SAAQ,SAASzF,GAAG8tC,EAAE9tC,EAAEyY,EAAE,GAAE,CAAC,SAASk1B,EAAE3tC,EAAEyY,GAAG,IAAIiU,EAAE1sB,EAAEguC,QAAQxM,EAAE9U,EAAE5+B,IAAI2qB,GAAqC,OAAlC+oB,IAAIA,EAAE,IAAIrW,EAAE,EAAE,KAAKnrB,GAAG0sB,EAAEn+B,IAAIkqB,EAAE+oB,IAAWA,CAAC,CAC3B,SAASyM,EAAEjuC,GAAG+tC,EAAE/tC,EAAE0B,MAAM,sBAAsB,CAC7S,SAASwsC,EAAEluC,EAAEyY,GAAG,GAAG,KAAKA,EAAE,CAAC,IAAIiU,EAAEjU,EAAE,GAAG+oB,EAAE/oB,EAAEjc,QAAQ,IAAI,GAAGzJ,EAAEioC,SAASviB,EAAE7nB,UAAU,EAAE4wC,GAAG,IAAuB,OAAnBA,EAAE/oB,EAAE7nB,UAAU4wC,EAAE,GAAU9U,GAAG,IAAK,KAAiBA,GAAbjU,EAAEzY,EAAEguC,SAAalgD,IAAIiF,IAAI,IAAI25B,EAAE0gB,UAAUptC,EAAE0sB,EAAE2gB,OAAO3gB,EAAE0gB,QAAQ,EAAE1gB,EAAE2gB,OAAO7L,EAAEqM,EAAE7tC,IAAIyY,EAAElqB,IAAIwE,EAAE,IAAIo4B,EAAE,EAAEqW,EAAExhC,IAAI,MAAM,IAAK,IAAgB0sB,GAAZjU,EAAEzY,EAAEguC,SAAYlgD,IAAIiF,GAAGyuC,EAAE3uC,KAAKC,MAAM0uC,EAAExhC,EAAEwtC,WAAW,IAAIpV,EAAEp4B,EAAEmuC,eAAqC/V,GAAtBoJ,EAAEpJ,EAAEA,EAAEoJ,EAAExgC,IAAIwgC,EAAEr+B,MAAMq+B,GAAMiM,OAAO,IAAI,IAAIhK,EAAE,EAAEA,EAAErL,EAAEttC,OAAO24C,IAAI,CAAC,IAAIE,EAAEvL,EAAEqL,GAAG,QAAG,IAASvlB,EAAEpwB,IAAI61C,GAAG,CAAC,IAAIyK,EAAE,IAAuBzK,GAAGx4B,EAAE+S,EAAE3vB,IAAI0B,KAAKiuB,EAAEylB,EAAE,MAAM0K,EAAEnwB,EAAE3vB,IAAI0B,KAAKiuB,EAAEylB,GAAGyK,EAAEvyC,KAAKsP,EAAEkjC,GAAGnwB,EAAE3vB,IAAIo1C,EACxfyK,EAAE,CAAC,CAAC1hB,EAAE,IAAIA,EAAE0gB,UAAUptC,EAAE0sB,EAAE2gB,OAAO3gB,EAAE0gB,QAAQ,EAAE1gB,EAAE2gB,OAAO7L,EAAEqM,EAAE7tC,IAAIyY,EAAElqB,IAAIwE,EAAE,IAAIo4B,EAAE,EAAEqW,EAAExhC,IAAI,MAAM,IAAK,IAAIA,EAAEguC,QAAQz/C,IAAIwE,EAAE66C,EAAE5tC,EAL2G,SAAWA,GAA2C,OAAxCie,EAAEje,KAAKie,EAAEje,GAAGqoB,EAAEvL,oBAAoB9c,EAAEge,IAAWC,EAAEje,EAAE,CAK1Kme,CAAEqjB,GAAGxvC,WAAW,MAAM,IAAK,IAAI06B,EAAE75B,KAAKC,MAAM0uC,GAAGxhC,EAAEguC,QAAQz/C,IAAIwE,EAAE66C,EAAE5tC,EAAEgtC,OAAOC,IAAIvgB,KAAK,MAAM,IAAK,IAAIjU,EAAE5lB,KAAKC,MAAM0uC,IAAG9U,EAAEhrB,MAAM+W,EAAE7U,UAAWD,MAAM8U,EAAE9U,OAAmB69B,GAAb/oB,EAAEzY,EAAEguC,SAAalgD,IAAIiF,IAAI+6C,EAAEtM,EAAE9U,GAAGjU,EAAElqB,IAAIwE,EAAE,IAAIo4B,EAAE,EAAEuB,EAAE1sB,IAAI,MAAM,QAAQ,MAAM0B,MAAM,8EAA+E,CAAC,CAC5a,SAAS4sC,EAAEtuC,GAAG,OAAO,SAASyY,EAAEiU,GAAG,MAAM,iBAAkBA,EAH3D,SAAW1sB,EAAEyY,EAAEiU,GAAG,OAAOA,EAAE,IAAI,IAAK,IAAI,MAAG,MAAMA,EAASre,EAAK,MAAMqe,EAAE,IAAI,MAAMA,EAAE,GAAUA,EAAE97B,UAAU,GAAiD28C,EAAhBvtC,EAAE2tC,EAAE3tC,EAAhCg7B,SAAStO,EAAE97B,UAAU,GAAG,MAAyB,IAAK,IAAI,OAAqCoP,EAAE2tC,EAAE3tC,EAAhCg7B,SAAStO,EAAE97B,UAAU,GAAG,KAAa,CAAC29C,SAAS5R,EAAE6R,SAASxuC,EAAEyuC,MAAMlB,GAAG,OAAO7gB,CAAC,CAGjMgiB,CAAE1uC,EAAEvQ,EAAKi9B,GAAG,iBAAkBA,GAAG,OAAOA,EAAKA,EAAE,KAAKre,EAAE,CAACkgC,SAASlgC,EAAElS,KAAKuwB,EAAE,GAAGx+B,IAAIw+B,EAAE,GAAG/4B,IAAI,KAAKtD,MAAMq8B,EAAE,GAAGiiB,OAAO,MAAMjiB,EAAKA,CAAC,CAAC,CAAC,SAASkiB,EAAE5uC,GAAG,IAAIyY,EAAE,IAAIo2B,YAAiH,OAA3F7uC,EAAE,CAACmuC,eAAenuC,EAAEguC,QAA5B,IAAI9wC,IAAkC2K,SAAS67B,EAAEoL,YAAY,GAAGC,eAAet2B,IAAK+0B,UAAUc,EAAEtuC,GAAUA,CAAC,CAC5U,SAASgvC,EAAEhvC,EAAEyY,GAAqR,SAAS+oB,EAAE/oB,GAAGs1B,EAAE/tC,EAAEyY,EAAE,CAAC,IAAI1lB,EAAE0lB,EAAEw2B,YAAYl8C,EAAExB,OAAOsK,MAApU,SAAS6wB,EAAEjU,GAAG,IAAIgrB,EAAEhrB,EAAEzsB,MAAM,IAAGysB,EAAEqkB,KAAc,CAACrkB,EAAEgrB,EAAEA,EAAEzjC,EAAE+uC,eAAe,IAAI,IAAIpL,EAAElrB,EAAEjc,QAAQ,KAAK,EAAEmnC,GAAG,CAAC,IAAIvL,EAAEp4B,EAAE8uC,YAAgB3jC,EAAEsN,EAAEy2B,SAAS,EAAEvL,GAAGx4B,EAAEs4B,EAAE0L,OAAOhkC,GAAG+iC,EAAEluC,EAAEo4B,EAAEjtB,GAAGnL,EAAE8uC,YAAY,GAAqBnL,GAAlBlrB,EAAEA,EAAEy2B,SAASvL,EAAE,IAAOnnC,QAAQ,GAAG,CAA8B,OAA7BwD,EAAE8uC,aAAarL,EAAE0L,OAAO12B,EAAE6G,GAAUvsB,EAAExB,OAAOsK,KAAK6wB,EAAE8U,EAAE,CAA1OyM,EAAEjuC,EAAyO,GAA0DwhC,EAAE,CAPKrW,EAAEh9B,UAAU0N,KAAK,SAASmE,GAAG,IAAIvQ,KAAK29C,SAAS,OAAO39C,KAAK49C,SAAS59C,KAAK49C,OAAO,IAAI59C,KAAK49C,OAAOhxC,KAAK2D,IAAIA,GAAG,EAQ9cjU,EAAQ8gB,yBAAyB,SAAS7M,EAAEyY,GAA+C,OAAPu2B,EAArCv2B,EAAEm2B,EAAEn2B,GAAGA,EAAE22B,UAAU32B,EAAE22B,UAAU,MAAUpvC,GAAUyY,CAAC,sCCdjG5d,EAAO9O,QAAU,EAAjB,0BCEF8O,EAAO9O,QAAU,CACf,MAAQ,EACR,MAAQ,EACR,IAAM,EACN,KAAO,EACP,OAAS,EACT,IAAM,EACN,KAAO,EACP,OAAS,EACT,MAAQ,EACR,MAAQ,EACR,OAAS,EACT,QAAU,EACV,OAAS,EACT,KAAO,sBCdT8O,EAAO9O,QALP,SAA2BsjD,EAAKC,IACnB,MAAPA,GAAeA,EAAMD,EAAIvkD,UAAQwkD,EAAMD,EAAIvkD,QAC/C,IAAK,IAAI4tB,EAAI,EAAG62B,EAAO,IAAIjgD,MAAMggD,GAAM52B,EAAI42B,EAAK52B,IAAK62B,EAAK72B,GAAK22B,EAAI32B,GACnE,OAAO62B,CACT,EACoC10C,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,2BCFzG8O,EAAO9O,QAHP,SAAyBsjD,GACvB,GAAI//C,MAAM89B,QAAQiiB,GAAM,OAAOA,CACjC,EACkCx0C,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,2BCGvG8O,EAAO9O,QANP,SAAgCmY,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIC,eAAe,6DAE3B,OAAOD,CACT,EACyCrJ,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,2BCD9G8O,EAAO9O,QALP,SAAyBkU,EAAUuvC,GACjC,KAAMvvC,aAAoBuvC,GACxB,MAAM,IAAIjvC,UAAU,oCAExB,EACkC1F,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,+BCLvG,IAAI0jD,EAAgB,EAAQ,OAC5B,SAASC,EAAkB9kD,EAAQyF,GACjC,IAAK,IAAIqoB,EAAI,EAAGA,EAAIroB,EAAMvF,OAAQ4tB,IAAK,CACrC,IAAIi3B,EAAat/C,EAAMqoB,GACvBi3B,EAAWjvC,WAAaivC,EAAWjvC,aAAc,EACjDivC,EAAW/uC,cAAe,EACtB,UAAW+uC,IAAYA,EAAWhvC,UAAW,GACjD9U,OAAOC,eAAelB,EAAQ6kD,EAAcE,EAAWzhD,KAAMyhD,EAC/D,CACF,CASA90C,EAAO9O,QARP,SAAsByjD,EAAaI,EAAYC,GAM7C,OALID,GAAYF,EAAkBF,EAAYrhD,UAAWyhD,GACrDC,GAAaH,EAAkBF,EAAaK,GAChDhkD,OAAOC,eAAe0jD,EAAa,YAAa,CAC9C7uC,UAAU,IAEL6uC,CACT,EAC+B30C,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,+BClBpG,IAAI0jD,EAAgB,EAAQ,OAe5B50C,EAAO9O,QAdP,SAAyByB,EAAKU,EAAKlC,GAYjC,OAXAkC,EAAMuhD,EAAcvhD,MACTV,EACT3B,OAAOC,eAAe0B,EAAKU,EAAK,CAC9BlC,MAAOA,EACP0U,YAAY,EACZE,cAAc,EACdD,UAAU,IAGZnT,EAAIU,GAAOlC,EAENwB,CACT,EACkCqN,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,2BCfvG,SAAS+jD,IAYP,OAXAj1C,EAAO9O,QAAU+jD,EAAWjkD,OAAOuW,OAASvW,OAAOuW,OAAOnS,OAAS,SAAUrF,GAC3E,IAAK,IAAI8tB,EAAI,EAAGA,EAAItpB,UAAUtE,OAAQ4tB,IAAK,CACzC,IAAI0N,EAASh3B,UAAUspB,GACvB,IAAK,IAAIxqB,KAAOk4B,EACVv6B,OAAOsC,UAAUC,eAAeC,KAAK+3B,EAAQl4B,KAC/CtD,EAAOsD,GAAOk4B,EAAOl4B,GAG3B,CACA,OAAOtD,CACT,EAAGiQ,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,QACjE+jD,EAAStgD,MAAMC,KAAML,UAC9B,CACAyL,EAAO9O,QAAU+jD,EAAUj1C,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,2BCdhG,SAASmT,EAAgBC,GAIvB,OAHAtE,EAAO9O,QAAUmT,EAAkBrT,OAAOuT,eAAiBvT,OAAOwT,eAAepP,OAAS,SAAyBkP,GACjH,OAAOA,EAAEG,WAAazT,OAAOwT,eAAeF,EAC9C,EAAGtE,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,QACjEmT,EAAgBC,EACzB,CACAtE,EAAO9O,QAAUmT,EAAiBrE,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,+BCNvG,IAAIqT,EAAiB,EAAQ,MAiB7BvE,EAAO9O,QAhBP,SAAmBgkD,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIzvC,UAAU,sDAEtBwvC,EAAS5hD,UAAYtC,OAAOoQ,OAAO+zC,GAAcA,EAAW7hD,UAAW,CACrEsS,YAAa,CACXzU,MAAO+jD,EACPpvC,UAAU,EACVC,cAAc,KAGlB/U,OAAOC,eAAeikD,EAAU,YAAa,CAC3CpvC,UAAU,IAERqvC,GAAY5wC,EAAe2wC,EAAUC,EAC3C,EAC4Bn1C,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,8BCjBjG,IAAIqT,EAAiB,EAAQ,MAM7BvE,EAAO9O,QALP,SAAwBgkD,EAAUC,GAChCD,EAAS5hD,UAAYtC,OAAOoQ,OAAO+zC,EAAW7hD,WAC9C4hD,EAAS5hD,UAAUsS,YAAcsvC,EACjC3wC,EAAe2wC,EAAUC,EAC3B,EACiCn1C,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,2BCDtG8O,EAAO9O,QALP,SAAgCyB,GAC9B,OAAOA,GAAOA,EAAIL,WAAaK,EAAM,CACnC,QAAWA,EAEf,EACyCqN,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,2BCF9G8O,EAAO9O,QAHP,SAA0BkkD,GACxB,GAAsB,oBAAXjD,QAAmD,MAAzBiD,EAAKjD,OAAOkD,WAA2C,MAAtBD,EAAK,cAAuB,OAAO3gD,MAAMyb,KAAKklC,EACtH,EACmCp1C,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,2BCwBxG8O,EAAO9O,QA3BP,SAA+BiyB,EAAGsB,GAChC,IAAIrB,EAAI,MAAQD,EAAI,KAAO,oBAAsBgvB,QAAUhvB,EAAEgvB,OAAOkD,WAAalyB,EAAE,cACnF,GAAI,MAAQC,EAAG,CACb,IAAIlrB,EACFmrB,EACAxF,EACAyF,EACAne,EAAI,GACJo4B,GAAI,EACJj5B,GAAI,EACN,IACE,GAAIuZ,GAAKuF,EAAIA,EAAE5vB,KAAK2vB,IAAIpiB,KAAM,IAAM0jB,EAAG,CACrC,GAAIzzB,OAAOoyB,KAAOA,EAAG,OACrBma,GAAI,CACN,MAAO,OAASA,GAAKrlC,EAAI2lB,EAAErqB,KAAK4vB,IAAI6e,QAAU98B,EAAE3D,KAAKtJ,EAAE/G,OAAQgU,EAAElV,SAAWw0B,GAAI8Y,GAAI,GACtF,CAAE,MAAOpa,GACP7e,GAAI,EAAI+e,EAAIF,CACd,CAAE,QACA,IACE,IAAKoa,GAAK,MAAQna,EAAU,SAAME,EAAIF,EAAU,SAAKpyB,OAAOsyB,KAAOA,GAAI,MACzE,CAAE,QACA,GAAIhf,EAAG,MAAM+e,CACf,CACF,CACA,OAAOle,CACT,CACF,EACwCnF,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,2BCxB7G8O,EAAO9O,QAHP,WACE,MAAM,IAAIwU,UAAU,4IACtB,EACmC1F,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,+BCHxG,IAAIokD,EAA+B,EAAQ,MAgB3Ct1C,EAAO9O,QAfP,SAAkCq6B,EAAQgqB,GACxC,GAAc,MAAVhqB,EAAgB,MAAO,CAAC,EAC5B,IACIl4B,EAAKwqB,EADL9tB,EAASulD,EAA6B/pB,EAAQgqB,GAElD,GAAIvkD,OAAOm6B,sBAAuB,CAChC,IAAIqqB,EAAmBxkD,OAAOm6B,sBAAsBI,GACpD,IAAK1N,EAAI,EAAGA,EAAI23B,EAAiBvlD,OAAQ4tB,IACvCxqB,EAAMmiD,EAAiB33B,GACnB03B,EAAS5zC,QAAQtO,IAAQ,GACxBrC,OAAOsC,UAAUmiD,qBAAqBjiD,KAAK+3B,EAAQl4B,KACxDtD,EAAOsD,GAAOk4B,EAAOl4B,GAEzB,CACA,OAAOtD,CACT,EAC2CiQ,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,0BCJhH8O,EAAO9O,QAZP,SAAuCq6B,EAAQgqB,GAC7C,GAAc,MAAVhqB,EAAgB,MAAO,CAAC,EAC5B,IAEIl4B,EAAKwqB,EAFL9tB,EAAS,CAAC,EACV2lD,EAAa1kD,OAAO+V,KAAKwkB,GAE7B,IAAK1N,EAAI,EAAGA,EAAI63B,EAAWzlD,OAAQ4tB,IACjCxqB,EAAMqiD,EAAW73B,GACb03B,EAAS5zC,QAAQtO,IAAQ,IAC7BtD,EAAOsD,GAAOk4B,EAAOl4B,IAEvB,OAAOtD,CACT,EACgDiQ,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,+BCZrH,IAAI84B,EAAU,iBACV2rB,EAAwB,EAAQ,OASpC31C,EAAO9O,QARP,SAAoCmY,EAAM7V,GACxC,GAAIA,IAA2B,WAAlBw2B,EAAQx2B,IAAsC,mBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAIkS,UAAU,4DAEtB,OAAOiwC,EAAsBtsC,EAC/B,EAC6CrJ,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,0BCVlH,SAAS0kD,EAAgBtxC,EAAGkP,GAK1B,OAJAxT,EAAO9O,QAAU0kD,EAAkB5kD,OAAOuT,eAAiBvT,OAAOuT,eAAenP,OAAS,SAAyBkP,EAAGkP,GAEpH,OADAlP,EAAEG,UAAY+O,EACPlP,CACT,EAAGtE,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,QACjE0kD,EAAgBtxC,EAAGkP,EAC5B,CACAxT,EAAO9O,QAAU0kD,EAAiB51C,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,+BCPvG,IAAI2kD,EAAiB,EAAQ,OACzBC,EAAuB,EAAQ,OAC/BC,EAA6B,EAAQ,OACrCC,EAAkB,EAAQ,OAI9Bh2C,EAAO9O,QAHP,SAAwBsjD,EAAK32B,GAC3B,OAAOg4B,EAAerB,IAAQsB,EAAqBtB,EAAK32B,IAAMk4B,EAA2BvB,EAAK32B,IAAMm4B,GACtG,EACiCh2C,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,2BCAtG8O,EAAO9O,QAPP,SAAqCq2C,EAAS0O,GAK5C,OAJKA,IACHA,EAAM1O,EAAQp3C,MAAM,IAEtBo3C,EAAQ0O,IAAMA,EACP1O,CACT,EAC8CvnC,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,+BCPnH,IAAI2kD,EAAiB,EAAQ,OACzBK,EAAkB,EAAQ,OAC1BH,EAA6B,EAAQ,OACrCC,EAAkB,EAAQ,OAI9Bh2C,EAAO9O,QAHP,SAAkBsjD,GAChB,OAAOqB,EAAerB,IAAQ0B,EAAgB1B,IAAQuB,EAA2BvB,IAAQwB,GAC3F,EAC2Bh2C,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,+BCPhG,IAAI84B,EAAU,iBAWdhqB,EAAO9O,QAVP,SAAsBS,EAAOwkD,GAC3B,GAAuB,WAAnBnsB,EAAQr4B,IAAiC,OAAVA,EAAgB,OAAOA,EAC1D,IAAIykD,EAAOzkD,EAAMwgD,OAAOkE,aACxB,QAAaz/C,IAATw/C,EAAoB,CACtB,IAAI7mC,EAAM6mC,EAAK5iD,KAAK7B,EAAOwkD,GAAQ,WACnC,GAAqB,WAAjBnsB,EAAQza,GAAmB,OAAOA,EACtC,MAAM,IAAI7J,UAAU,+CACtB,CACA,OAAiB,WAATywC,EAAoBhoB,OAAStL,QAAQlxB,EAC/C,EAC+BqO,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,+BCXpG,IAAI84B,EAAU,iBACVqsB,EAAc,EAAQ,OAK1Br2C,EAAO9O,QAJP,SAAwBolD,GACtB,IAAIjjD,EAAMgjD,EAAYC,EAAK,UAC3B,MAAwB,WAAjBtsB,EAAQ32B,GAAoBA,EAAM86B,OAAO96B,EAClD,EACiC2M,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,2BCNtG,SAAS84B,EAAQ1lB,GAGf,OAAQtE,EAAO9O,QAAU84B,EAAU,mBAAqBmoB,QAAU,iBAAmBA,OAAOkD,SAAW,SAAU/wC,GAC/G,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqB6tC,QAAU7tC,EAAEsB,cAAgBusC,QAAU7tC,IAAM6tC,OAAO7+C,UAAY,gBAAkBgR,CACpH,EAAGtE,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,QAAU84B,EAAQ1lB,EAC5F,CACAtE,EAAO9O,QAAU84B,EAAShqB,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,+BCT/F,IAAIqlD,EAAmB,EAAQ,OAS/Bv2C,EAAO9O,QARP,SAAqCoT,EAAGkyC,GACtC,GAAKlyC,EAAL,CACA,GAAiB,iBAANA,EAAgB,OAAOiyC,EAAiBjyC,EAAGkyC,GACtD,IAAInzB,EAAIryB,OAAOsC,UAAUmS,SAASjS,KAAK8Q,GAAGnU,MAAM,GAAI,GAEpD,MADU,WAANkzB,GAAkB/e,EAAEsB,cAAayd,EAAI/e,EAAEsB,YAAY0C,MAC7C,QAAN+a,GAAqB,QAANA,EAAoB5uB,MAAMyb,KAAK5L,GACxC,cAAN+e,GAAqB,2CAA2CxQ,KAAKwQ,GAAWkzB,EAAiBjyC,EAAGkyC,QAAxG,CALc,CAMhB,EAC8Cx2C,EAAO9O,QAAQoB,YAAa,EAAM0N,EAAO9O,QAAiB,QAAI8O,EAAO9O,0CCPnHF,OAAOC,eAAeC,EAAS,aAA/B,CAA+CC,OAAO,IA6CtDD,EAAQulD,YAVY,iBAWpBvlD,EAAQoJ,iBAHkBo8C,GAvCJ,EAACA,EAAQC,KAC3B,MAAM,QAAEl9C,EAAU,MAAOm9C,GAAmBF,GAAU,CAAC,EACjDG,EAAY7+C,KAAKI,UAAUw+C,GAAgB,CAACppB,EAAG8C,KAChC,mBAANA,IACPA,EAAInC,OAAOmC,IACLzgC,WAAW29B,EAAI,OACjB8C,EAAI,YAAcA,GAGnBA,KAEX,MAAO,CACH,uBACAt/B,OAAO+V,KAAK6vC,GAAgB3mD,OAAS,EAC/B,iCAAiC4mD,MACjC,mBACN,kBACAp9C,EAAQxJ,OAAS,EAAI,WAAW+H,KAAKI,UAAUqB,MAAc,GAC7D,oCACAk9C,GACF9tC,KAAK,GAAG,EAmBuBiuC,CAAcJ,EAzC1B,sgDCHV,SAAShtC,EAAewrC,EAAUC,GAC/CD,EAAS5hD,UAAYtC,OAAOoQ,OAAO+zC,EAAW7hD,WAC9C4hD,EAAS5hD,UAAUsS,YAAcsvC,GACjC,OAAeA,EAAUC,EAC3B,sCCLe,SAASS,EAAgBtxC,EAAGkP,GAKzC,OAJAoiC,EAAkB5kD,OAAOuT,eAAiBvT,OAAOuT,eAAenP,OAAS,SAAyBkP,EAAGkP,GAEnG,OADAlP,EAAEG,UAAY+O,EACPlP,CACT,EACOsxC,EAAgBtxC,EAAGkP,EAC5B,qECNe,SAASujC,EAAkBvC,EAAKC,IAClC,MAAPA,GAAeA,EAAMD,EAAIvkD,UAAQwkD,EAAMD,EAAIvkD,QAC/C,IAAK,IAAI4tB,EAAI,EAAG62B,EAAO,IAAIjgD,MAAMggD,GAAM52B,EAAI42B,EAAK52B,IAAK62B,EAAK72B,GAAK22B,EAAI32B,GACnE,OAAO62B,CACT,CCAe,SAAShkC,EAAmB8jC,GACzC,OCJa,SAA4BA,GACzC,GAAI//C,MAAM89B,QAAQiiB,GAAM,OAAO,EAAiBA,EAClD,CDES,CAAkBA,IELZ,SAA0BY,GACvC,GAAsB,oBAAXjD,QAAmD,MAAzBiD,EAAKjD,OAAOkD,WAA2C,MAAtBD,EAAK,cAAuB,OAAO3gD,MAAMyb,KAAKklC,EACtH,CFGmC,CAAgBZ,IGJpC,SAAqClwC,EAAGkyC,GACrD,GAAKlyC,EAAL,CACA,GAAiB,iBAANA,EAAgB,OAAO,EAAiBA,EAAGkyC,GACtD,IAAInzB,EAAIryB,OAAOsC,UAAUmS,SAASjS,KAAK8Q,GAAGnU,MAAM,GAAI,GAEpD,MADU,WAANkzB,GAAkB/e,EAAEsB,cAAayd,EAAI/e,EAAEsB,YAAY0C,MAC7C,QAAN+a,GAAqB,QAANA,EAAoB5uB,MAAMyb,KAAK5L,GACxC,cAAN+e,GAAqB,2CAA2CxQ,KAAKwQ,GAAW,EAAiB/e,EAAGkyC,QAAxG,CALc,CAMhB,CHH2D,CAA2BhC,IILvE,WACb,MAAM,IAAI9uC,UAAU,uIACtB,CJG8F,EAC9F,whCKNgG,SAASpB,IAAI,OAAOA,EAAEtT,OAAOuW,OAAOvW,OAAOuW,OAAOnS,OAAO,SAAS8C,GAAG,IAAI,IAAIkrB,EAAE,EAAEA,EAAE7uB,UAAUtE,OAAOmzB,IAAI,CAAC,IAAID,EAAE5uB,UAAU6uB,GAAG,IAAI,IAAIC,KAAKF,EAAEnyB,OAAOsC,UAAUC,eAAeC,KAAK2vB,EAAEE,KAAKnrB,EAAEmrB,GAAGF,EAAEE,GAAG,CAAC,OAAOnrB,CAAC,EAAEoM,EAAE3P,MAAMC,KAAKL,UAAU,CAAC,SAAS4Q,EAAEjN,EAAEkrB,GAAG,GAAG,MAAMlrB,EAAE,MAAM,CAAC,EAAE,IAAIirB,EAAEE,EAAE/e,EAAE,CAAC,EAAEa,EAAEnU,OAAO+V,KAAK7O,GAAG,IAAImrB,EAAE,EAAEA,EAAEle,EAAElV,OAAOozB,IAAID,EAAEzhB,QAAQwhB,EAAEhe,EAAEke,KAAK,IAAI/e,EAAE6e,GAAGjrB,EAAEirB,IAAI,OAAO7e,CAAC,CAAC,MAAMwH,EAAE5T,IAAI,MAAM+J,OAAOmhB,EAAEztB,KAAKwtB,EAAElgB,KAAKogB,EAAE2zB,OAAO1yC,EAAEkd,SAASrc,EAAE8xC,KAAKnrC,EAAE2V,SAAS5D,EAAEq5B,KAAKrlB,GAAG35B,EAAE9B,SAAS,IAAImC,SAASksB,GAAGvsB,EAAE9B,SAAS,OAAOquB,GAAGpB,GAAGC,IAAImB,EAAE,IAAIzhB,IAAIqgB,GAAG9qB,UAAU,CAACA,SAASmnB,UAAU/oB,UAAU8tB,IAAIxiB,OAAOmhB,EAAEztB,KAAKwtB,EAAElgB,KAAKogB,EAAE2zB,OAAO1yC,EAAEkd,SAASrc,EAAE8xC,KAAKnrC,EAAE2V,SAAS5D,EAAEq5B,KAAKrlB,EAAEl5B,MAAMT,EAAE8jB,QAAQrjB,MAAMtF,IAAI6E,EAAE8jB,QAAQrjB,OAAOT,EAAE8jB,QAAQrjB,MAAMtF,KAAK,UAAS,EAAGwqB,EAAE,CAAC3lB,EAAEkrB,KAAK,IAAID,EAAE,GAAGE,EAAEvX,EAAE5T,GAAGiN,GAAE,EAAG0Y,EAAE,OAAO,MAAM,CAAC,YAAIznB,GAAW,OAAOitB,CAAC,EAAE,iBAAI8zB,GAAgB,OAAOhyC,CAAC,EAAE,qBAAAiyC,GAAwBjyC,GAAE,EAAG0Y,GAAG,EAAE,MAAAY,CAAO2E,GAAGD,EAAE3hB,KAAK4hB,GAAG,MAAM9e,EAAE,KAAK+e,EAAEvX,EAAE5T,GAAGkrB,EAAE,CAAChtB,SAASitB,EAAE3E,OAAO,OAAM,EAAG,OAAOxmB,EAAE1B,iBAAiB,WAAW8N,GAAG,KAAKpM,EAAEpB,oBAAoB,WAAWwN,GAAG6e,EAAEA,EAAE3xB,QAAO0G,GAAGA,IAAIkrB,GAAC,CAAE,EAAE,QAAA1H,CAAS0H,GAAGzqB,MAAMk5B,EAAE9gC,QAAQuyB,GAAE,GAAI,CAAC,GAAG,GAAG,iBAAiBF,EAAElrB,EAAE8jB,QAAQq7B,GAAGj0B,OAAO,CAACyO,EAAEvtB,EAAE,CAAC,EAAEutB,EAAE,CAACx+B,IAAI6d,KAAKomC,MAAM,KAAK,IAAInyC,GAAGme,EAAEprB,EAAE8jB,QAAQC,aAAa4V,EAAE,KAAKzO,GAAGlrB,EAAE8jB,QAAQu7B,UAAU1lB,EAAE,KAAKzO,EAAE,CAAC,MAAMD,GAAGjrB,EAAE9B,SAASktB,EAAE,UAAU,UAAUF,EAAE,CAAC,CAACC,EAAEvX,EAAE5T,GAAGiN,GAAE,EAAG,MAAMsf,EAAE,IAAIxjB,SAAQ/I,GAAG2lB,EAAE3lB,IAAG,OAAOirB,EAAEvY,SAAQ1S,GAAGA,EAAE,CAAC9B,SAASitB,EAAE3E,OAAO,WAAU+F,CAAC,EAAC,EAAGoN,EAAE,CAAC35B,EAAE,OAAO,MAAMkrB,EAAElrB,EAAEyJ,QAAQ,KAAKwhB,EAAE,CAAC5qB,SAAS6qB,GAAG,EAAElrB,EAAEs/C,OAAO,EAAEp0B,GAAGlrB,EAAE+J,OAAOmhB,GAAG,EAAElrB,EAAEs/C,OAAOp0B,GAAG,IAAI,IAAIC,EAAE,EAAE,MAAM/e,EAAE,CAAC6e,GAAGhe,EAAE,CAAC,MAAM,MAAM,CAAC,YAAI/O,GAAW,OAAOkO,EAAE+e,EAAE,EAAE,gBAAA7sB,CAAiB0B,EAAEkrB,GAAG,EAAE,mBAAAtsB,CAAoBoB,EAAEkrB,GAAG,EAAEpH,QAAQ,CAAC,WAAIpT,GAAU,OAAOtE,CAAC,EAAE,SAAI+O,GAAQ,OAAOgQ,CAAC,EAAE,SAAI1qB,GAAQ,OAAOwM,EAAEke,EAAE,EAAE,SAAAk0B,CAAUr/C,EAAEkrB,EAAED,GAAG,MAAMrX,EAAE+R,EAAE,IAAIsF,EAAEjhB,MAAM,KAAKmhB,IAAI/e,EAAE9C,KAAK,CAACjJ,SAASuT,EAAE7J,OAAO4b,EAAE5tB,OAAO,IAAI4tB,IAAIA,IAAI1Y,EAAE3D,KAAKtJ,EAAE,EAAE,YAAA+jB,CAAa/jB,EAAEkrB,EAAED,GAAG,MAAMrX,EAAE+R,EAAE,IAAIsF,EAAEjhB,MAAM,KAAKoC,EAAE+e,GAAG,CAAC9qB,SAASuT,EAAE7J,OAAO4b,GAAG1Y,EAAEke,GAAGnrB,CAAC,EAAE,EAAAm/C,CAAGn/C,GAAG,MAAMkrB,EAAEC,EAAEnrB,EAAEkrB,EAAE,GAAGA,EAAEje,EAAElV,OAAO,IAAIozB,EAAED,EAAE,GAAE,EAAGE,IAAI,oBAAoBjzB,SAASA,OAAOwF,WAAWxF,OAAOwF,SAASqB,eAAeutB,EAAE5G,EAAEyF,EAAEjzB,OAAOwhC,MAAMnW,SAASlI,GAAGiR,EAAE,SAASmkB,EAAE1wC,EAAEirB,GAAG,OAAO,EAAElB,oBAAoB,EAAE/pB,EAAEirB,EAAE,QAAQjB,WAAWC,mBAAmBD,WAAWC,iBAAiB,CAAC,GAAGD,WAAWC,iBAAiBjqB,KAAKgqB,WAAWC,iBAAiBjqB,GAAG,EAAE+pB,oBAAoB/pB,EAAEirB,IAAIjB,WAAWC,iBAAiBjqB,IAApM,CAAyMA,EAAEirB,GAAG,gBAAgBA,EAAE,CAAC,MAAM7S,EAAEs4B,EAAE,OAAO,CAAC3pB,QAAQ,IAAIC,SAAS,MAAMynB,EAAEiC,EAAE,YAAYrL,EAAE,IAAI,aAAajtB,GAAGwiC,EAAE,IAAI,aAAanM,GAAG,SAASkN,EAAE37C,GAAGtD,KAAK6iD,IAAIv/C,CAAC,CAAC,MAAM4wC,EAAE5wC,GAAGA,aAAa27C,EAAEvjB,EAAEp4B,IAAI,MAAM,IAAI27C,EAAE37C,EAAC,EAAG,SAAS0lB,EAAEwF,GAAG,MAAMzH,GAAGwH,EAAEpyB,QAAQsyB,GAAE,EAAG1qB,MAAM2L,EAAEozC,QAAQvyC,EAAE8Z,QAAQnT,GAAGsX,EAAE,aAAY,KAAKniB,QAAQC,UAAUF,MAAK,KAAK,MAAM9I,EAAEs1B,EAAErK,EAAErX,GAAG0H,EAAEmkC,EAAEz/C,EAAEkrB,GAAG,CAACryB,QAAQsyB,EAAE1qB,MAAM2L,GAAE,GAAE,GAAG,IAAI,MAAMuZ,EAAE2P,EAAErK,EAAErX,GAAG,OAAO3G,GAAGmrB,EAAEqnB,EAAE95B,EAAEuF,IAAI,IAAI,CAAC,MAAMw0B,EAAEx0B,IAAI,MAAMD,EAAE2vB,KAAK7zB,QAAQoE,GAAGka,IAAiB,OAAO,gBAAgB3f,EAAEtZ,EAAE,CAAC,EAAE6e,EAAE,CAAClE,QAAQoE,GAAGD,GAAE,EAAGw0B,EAAEtgD,UAAU,CAAC4Y,KAAK,SAASyL,GAAG,SAASlkB,YAAY,MAAMw7C,EAAE,CAAC/6C,EAAEkrB,IAAIlrB,EAAEs/C,OAAO,EAAEp0B,EAAEnzB,UAAUmzB,EAAEsvB,EAAE,CAACx6C,EAAEkrB,KAAK,IAAID,EAAE7e,EAAE,MAAMa,GAAGie,EAAElhB,MAAM,KAAK4J,EAAE+rC,EAAE1yC,GAAG0Y,EAAE,KAAK/R,EAAE,GAAG+lB,EAAExC,EAAEn3B,GAAG,IAAI,IAAIA,EAAE,EAAEiN,EAAE0sB,EAAE5hC,OAAOiI,EAAEiN,EAAEjN,IAAI,CAAC,IAAIiN,GAAE,EAAG,MAAMme,EAAEuO,EAAE35B,GAAG0L,MAAM,GAAG0f,EAAEzwB,QAAQ,CAACyR,EAAE,CAACV,MAAM0f,EAAEvf,OAAO,CAAC,EAAE0zC,IAAIr0B,GAAG,QAAQ,CAAC,MAAMqB,EAAEozB,EAAEv0B,EAAEthB,MAAMwR,EAAE,CAAC,EAAEo1B,EAAEpjB,KAAKe,IAAIza,EAAE7b,OAAOw0B,EAAEx0B,QAAQ,IAAIqgB,EAAE,EAAE,KAAKA,EAAEs4B,EAAEt4B,IAAI,CAAC,MAAMpY,EAAEusB,EAAEnU,GAAG8S,EAAEtX,EAAEwE,GAAG,GAAGwnC,EAAE5/C,GAAG,CAACsb,EAAEtb,EAAE/H,MAAM,IAAI,KAAK2b,EAAE3b,MAAMmgB,GAAG3P,IAAIiC,oBAAoBiG,KAAK,KAAK,KAAK,CAAC,QAAG,IAASua,EAAE,CAACje,GAAE,EAAG,KAAK,CAAC,MAAMge,EAAE40B,EAAEna,KAAK1lC,GAAG,GAAGirB,IAAItF,EAAE,CAAC,MAAM3lB,GAAG,IAAI8/C,EAAEr2C,QAAQwhB,EAAE,IAAI,EAAEjrB,EAAE,6BAA6BirB,EAAE,gEAAgEG,EAAEthB,UAAU,MAAMsC,EAAE1B,mBAAmBwgB,GAAG5P,EAAE2P,EAAE,IAAI7e,CAAC,MAAM,GAAGpM,IAAIkrB,EAAE,CAACje,GAAE,EAAG,KAAK,CAAC,CAAC,IAAIA,EAAE,CAACge,EAAE,CAACvf,MAAM0f,EAAEvf,OAAOyP,EAAEikC,IAAI,IAAI3rC,EAAE3b,MAAM,EAAEmgB,GAAGzH,KAAK,MAAM,KAAK,CAAC,CAAC,OAAOsa,GAAG7e,GAAG,MAAMukC,EAAE,CAAC3wC,EAAEkrB,IAAIsvB,EAAE,CAAC,CAAC1wC,KAAK9J,IAAIkrB,GAAGoK,EAAE,CAACt1B,EAAEkrB,KAAK,GAAG6vB,EAAE/6C,EAAE,KAAK,OAAOA,EAAE,MAAMirB,EAAEE,GAAGnrB,EAAEgK,MAAM,MAAMoC,GAAG8e,EAAElhB,MAAM,KAAKiD,EAAE0yC,EAAE10B,GAAGrX,EAAE+rC,EAAEvzC,GAAG,GAAG,KAAKa,EAAE,GAAG,OAAO8yC,EAAE3zC,EAAE+e,GAAG,IAAI4vB,EAAE9tC,EAAE,GAAG,KAAK,CAAC,MAAMjN,EAAE4T,EAAE5b,OAAOiV,GAAG0D,KAAK,KAAK,OAAOovC,GAAG,MAAM3zC,EAAE,GAAG,KAAKpM,EAAEmrB,EAAE,CAAC,MAAMxF,EAAE/R,EAAE5b,OAAOiV,GAAG0sB,EAAE,GAAG,IAAI,IAAI35B,EAAE,EAAEkrB,EAAEvF,EAAE5tB,OAAOiI,EAAEkrB,EAAElrB,IAAI,CAAC,MAAMkrB,EAAEvF,EAAE3lB,GAAG,OAAOkrB,EAAEyO,EAAEhY,MAAM,MAAMuJ,GAAGyO,EAAErwB,KAAK4hB,EAAE,CAAC,OAAO60B,EAAE,IAAIpmB,EAAEhpB,KAAK,KAAKwa,EAAC,EAAGs0B,EAAE,CAACz/C,EAAEkrB,KAAK,MAAMD,EAAEE,EAAE,IAAInrB,EAAEgK,MAAM,KAAK,IAAIoC,EAAE,IAAIuzC,EAAE10B,GAAGxiB,KAAIzI,IAAI,MAAMirB,EAAE40B,EAAEna,KAAK1lC,GAAG,OAAOirB,EAAEC,EAAED,EAAE,IAAIjrB,KAAI2Q,KAAK,KAAK,MAAMzS,UAAU6L,OAAOkD,EAAE,IAAI,CAAC,GAAGie,EAAEtX,EAAE3G,EAAEjD,MAAM,KAAK,IAAI,GAAG,OAAOoC,EAAE2zC,EAAE3zC,EAAE+e,EAAEvX,GAAGxH,GAAG4zC,EAAE,CAAChgD,EAAEkrB,KAAK,MAAMD,EAAEjrB,GAAGwuB,EAAExuB,GAAG,OAAO2/C,EAAE3/C,GAAG1G,OAAO2xB,GAAGyX,OAAO/xB,KAAK,OAAOgvC,EAAEz0B,GAAG5xB,OAAO2xB,GAAGyX,OAAO/xB,KAAK,IAAG,EAAGkvC,EAAE,SAASrxB,EAAExuB,GAAG6/C,EAAEllC,KAAK3a,GAAG4/C,EAAE5/C,GAAGA,GAAG,MAAMA,EAAE,GAAGigD,EAAE,CAACjgD,EAAEkrB,KAAI,CAAExf,MAAM1L,EAAEkgD,MAAMlgD,EAAErF,QAAQ,EAAEglD,EAAE3/C,EAAE8J,MAAMnB,QAAO,CAAC3I,EAAEkrB,KAAKlrB,GAAG,EAAE,CAACA,GAAG,KAAKA,EAAT,CAAYkrB,GAAGlrB,GAAG,EAAEwuB,EAAEtD,GAAGlrB,GAAG,EAAE4/C,EAAE10B,GAAGlrB,GAAG,EAAEA,GAAG,EAAEA,IAAG,GAAGmb,MAAM+P,IAAIiM,EAAEn3B,GAAGA,EAAEyI,IAAIw3C,GAAGvd,MAAK,CAAC1iC,EAAEkrB,IAAIlrB,EAAEkgD,MAAMh1B,EAAEg1B,MAAM,EAAElgD,EAAEkgD,MAAMh1B,EAAEg1B,OAAO,EAAElgD,EAAEmb,MAAM+P,EAAE/P,QAAOwkC,EAAE3/C,GAAGA,EAAEnH,QAAQ,eAAe,IAAImR,MAAM,KAAK+1C,EAAE,CAAC//C,KAAKkrB,IAAIlrB,IAAIkrB,EAAEA,EAAE5xB,QAAO0G,GAAGA,GAAGA,EAAEjI,OAAO,MAAKmzB,EAAEnzB,OAAO,EAAE,IAAImzB,EAAEva,KAAK,OAAO,IAAImvC,EAAE,CAAC,MAAM,QAAQ9E,EAAE,CAACh7C,EAAEkrB,KAAK,MAAMD,EAAEnyB,OAAO+V,KAAK7O,GAAG,OAAOirB,EAAElzB,SAASe,OAAO+V,KAAKqc,GAAGnzB,QAAQkzB,EAAE4nB,OAAM5nB,GAAGC,EAAE7vB,eAAe4vB,IAAIjrB,EAAEirB,KAAKC,EAAED,IAAE,EAAGk1B,EAAEngD,GAAGA,EAAEnH,QAAQ,eAAe,IAAIgjD,EAAE3wB,GAAGD,IAAI,IAAIA,EAAE,OAAO,KAAK,GAAGA,EAAE7hB,OAAO,YAAY6hB,EAAE3tB,MAAM4B,SAAS,OAAO,WAAWuJ,IAAIwiB,EAAE3tB,MAAM4B,SAAS28C,EAAE3wB,IAAI,GAAG,EAAED,EAAE3tB,MAAMwM,MAAMmhB,EAAE3tB,MAAM3C,SAASswB,EAAE7hB,OAAOs2C,EAAE,iIAAiIz0B,EAAE7hB,UAAU,KAAK6hB,EAAE7hB,OAAOs2C,GAAGz0B,EAAE3tB,MAAM0a,MAAMiT,EAAE3tB,MAAMmmB,IAAI,mBAAmBwH,EAAE3tB,MAAM0a,aAAaiT,EAAE3tB,MAAMmmB,qEAAqE,IAAIwH,EAAE7hB,OAAOs2C,IAAIM,EAAE/0B,EAAE3tB,MAAM0a,KAAKiT,EAAE3tB,MAAMmmB,KAAK,mBAAmBwH,EAAE3tB,MAAM0a,YAAYiT,EAAE3tB,MAAMmmB,kGAAkGwH,EAAE3tB,MAAM3C,QAAQ,MAAM,CAAC1B,MAAMgyB,EAAEtwB,SAAQ,GAAI,MAAMyR,EAAE6e,EAAE7hB,OAAOs2C,EAAEz0B,EAAE3tB,MAAM0a,KAAKiT,EAAE3tB,MAAMwM,KAAKmD,EAAE,MAAMb,EAAE8e,EAAE,GAAGi1B,EAAEj1B,MAAMi1B,EAAE/zC,KAAK,MAAM,CAACnT,MAAMgyB,EAAEtwB,QAAQswB,EAAE3tB,MAAM3C,QAAQmP,KAAKmhB,EAAE3tB,MAAM4B,SAAS,GAAGihD,EAAElzC,OAAOA,EAAC,EAAGmzC,EAAE,CAAC,YAAYxW,EAAE,CAAC,KAAK,QAAQ,UAAU,YAAYyW,EAAE,CAAC,OAAO,IAAIxH,WAAWwC,GAAG,qBAAE,IAASA,IAAIA,EAAEr7C,GAAGA,GAAG,MAAMi8C,EAAE,OAAOnB,EAAEO,GAAE,CAACnwB,EAAED,KAAK,IAAIq1B,SAASn1B,GAAGD,EAAEtX,EAAE3G,EAAEie,EAAEk1B,GAAG,MAAMr5B,QAAQpB,GAAG0f,KAAKnnC,SAASy7B,GAAGihB,KAAKn3B,GAAG2H,EAAE3qB,MAAM8rB,EAAE1zB,QAAQ63C,EAAE6P,SAASnoC,EAAE6jC,GAAGroC,EAAE66B,EAAExhC,EAAE2G,EAAEg2B,GAAG+R,EAAErmB,EAAElK,EAAEzF,GAAGirB,EAAEppB,UAAUm0B,GAAGvjB,EAAEuB,EAAEt5B,WAAWuwC,EAAElrB,EAAEq1B,EAAEphB,EAAEt5B,SAASuwC,GAAgB,OAAO,gBAAgB,IAAIxkC,EAAE,CAACxL,IAAIqqB,GAAGE,EAAE,eAAeiN,EAAE,YAAO,GAAQqW,EAAEr2B,EAAE,CAACooC,UAAUpoB,EAAEqoB,mBAAmB/6B,EAAE3a,KAAK4wC,EAAEz9C,SAASy7B,IAAI,CAAC5uB,KAAK4wC,EAAE+E,QAAQ1gD,IAAI,GAAGyuC,EAAEiS,SAASjS,EAAEiS,QAAQ1gD,GAAG,CAACA,IAAIA,EAAE2gD,kBAAkB,IAAI3gD,EAAE4gD,UAAU5gD,EAAE6gD,SAAS7gD,EAAE8gD,QAAQ9gD,EAAE+gD,SAAS/gD,EAAEghD,UAA3E,CAAsFhhD,GAAG,CAACA,EAAEihD,iBAAiB,IAAI/1B,EAAEwlB,EAAE,GAAG,kBAAkBA,GAAGtY,EAAE,CAAC,MAAMp4B,EAAEiN,EAAEb,EAAE,CAAC,EAAEutB,EAAEl5B,OAAO4/C,GAAGn1B,EAAE8vB,EAAE5uC,EAAE,CAAC,EAAEmgB,GAAGvsB,EAAE,CAACsb,EAAEqgC,EAAE,CAACl7C,MAAM8rB,EAAE1zB,QAAQqyB,GAAG,KAAI,IAAI4vB,EAAE7+C,YAAY,OAAO6+C,EAAE17C,UAAU,CAACqkB,GAAG,SAASlkB,YAAY,MAAM27C,UAAU,YAAY,WAAAxtC,IAAe1N,GAAGkhD,SAASlhD,GAAGtD,KAAKT,YAAY,uBAAuB,CAAC,iBAAAklD,IAAqBnhD,GAAGtD,KAAKupB,SAAS,CAAC,GAAGvpB,KAAKY,MAAM8jD,WAAWphD,EAAE,CAAC,MAAAjB,GAAS,OAAOrC,KAAKY,MAAM4B,QAAQ,EAAE,MAAMmiD,EAAE,gBAAgB,CAACF,kBAAkB,CAACpgD,aAAQ,GAAQuW,WAAM,EAAOgqC,SAAS,KAAI,IAAK,SAAS/F,GAAGr8C,SAASgsB,IAAI,MAAMD,EAAEE,GAAG,aAAa/e,EAAE,WAAWa,EAAE,WAAU,KAAI,CAAEk0C,kBAAkB/0C,EAAEkL,MAAM2T,EAAEq2B,SAASn2B,KAAI,CAACF,IAAiB,OAAO,gBAAgBo2B,EAAEpiD,SAAS,CAAChG,MAAMgU,GAAgB,gBAAgBiuC,EAAE,CAAC5jC,MAAM2T,EAAEm2B,QAAQ,CAACphD,EAAEkrB,KAAKC,EAAEnrB,GAAG,MAAMoM,EAAErL,SAASqL,EAAErL,QAAQf,EAAEkrB,EAAC,GAAIA,GAAG,CAACqwB,EAAEt/C,YAAY,+BAA+B,MAAM4+C,EAAE,SAAS3vB,GAAG,IAAID,EAAEE,EAAE,SAASle,EAAEge,GAAgB,OAAO,gBAAgBswB,EAAE,KAAkB,gBAAgBrwB,EAAE9e,EAAE,CAACjR,IAAI,oBAAoB8vB,IAAI,CAAC,OAAOhe,EAAEhR,YAAY,qBAAqB,OAAOgvB,EAAE,OAAOE,EAAED,EAAEjvB,aAAakvB,EAAED,EAAE9a,MAAM6a,EAAE,eAAehe,CAAC,CAAnP,EAAqP,EAAE6W,QAAQoH,EAAEqB,EAAErtB,SAAS+rB,MAAM,MAAM/sB,SAASitB,GAAGD,GAAG9e,EAAEa,GAAG,WAAW,CAAC/O,SAASitB,KAAKvX,GAAG,SAASsX,GAAG,MAAMD,EAAE,aAAao2B,GAAGp2B,EAAEk2B,kBAAkBpgD,aAAQ,EAAO,MAAMoqB,EAAE,eAAc,KAAKF,EAAEq2B,cAAS,EAAM,GAAG,IAAI,MAAM,CAACr2B,EAAE3T,MAAM6T,EAAE,CAA3I,GAA+I,GAAG,aAAY,KAAKD,EAAEg0B,uBAAsB,GAAG,CAAC9yC,EAAElO,WAAW,aAAY,KAAK,IAAI8B,GAAE,EAAG,MAAMirB,EAAEC,EAAE3E,QAAO,EAAEroB,SAASgtB,MAAMniB,QAAQC,UAAUF,MAAK,KAAK9L,uBAAsB,KAAKgD,GAAGiN,EAAE,CAAC/O,SAASgtB,GAAE,GAAE,GAAE,IAAI,MAAM,KAAKlrB,GAAE,EAAGirB,GAAE,CAAC,GAAG,IAAIrX,EAAE,CAAC,IAAIg9B,EAAEh9B,GAAG,MAAMA,EAAE0H,EAAE1H,EAAE2rC,IAAI,CAAC1mD,SAAQ,GAAI,CAAc,OAAO,gBAAgB41C,EAAExvC,SAAS,CAAChG,MAAMmT,GAAG,mBAAmB6e,EAAEA,EAAE7e,GAAG6e,GAAG,KAAI,IAAIkwB,EAAE,EAAEj8C,SAASgsB,MAAM,MAAMD,EAAE2vB,IAAI,OAAO3vB,EAAEC,EAAED,GAAgB,gBAAgB4vB,EAAE,KAAK3vB,EAAC,EAAGowB,EAAE,EAAEhpC,IAAI4Y,EAAEhsB,SAAS+rB,MAAM,MAAME,EAAED,EAAEzhB,QAAQ,KAAK,IAAI2C,EAAEa,EAAE,GAAG,OAAOke,GAAG,GAAG/e,EAAE8e,EAAErtB,UAAU,EAAEstB,GAAGle,EAAEie,EAAErtB,UAAUstB,IAAI/e,EAAE8e,EAAe,gBAAgBujB,EAAExvC,SAAS,CAAChG,MAAM,CAACiF,SAAS,CAACmC,SAAS+L,EAAErC,OAAOkD,EAAExP,KAAK,MAAMwtB,EAAC,EAAGs2B,GAAE,EAAEz3C,KAAK9J,EAAEd,SAASgsB,MAAM,MAAMnE,QAAQkE,GAAGoa,KAAKnnC,SAASitB,GAAGyvB,IAAI3tC,EAAEqoB,EAAEt1B,EAAEirB,GAAGrX,EAAE+8B,EAAE1jC,EAAEke,EAAE9qB,UAAU,OAAO6qB,EAAE,CAAChtB,SAASitB,EAAE9xB,MAAMua,EAAExH,EAAE,CAAC,EAAEwH,EAAE/H,OAAO,CAAC0zC,IAAI3rC,EAAE2rC,IAAIz1C,KAAK9J,IAAI,MAAK,EAAGwhD,GAAE,CAAC,MAAM,WAAW,aAAaC,GAAE,CAAC,WAAW,QAAQ,YAAY,MAAM,YAAYC,GAAGx2B,IAAI,IAAIq0B,IAAIt0B,EAAE/sB,SAASitB,EAAE/b,UAAUwE,GAAGsX,EAAEvF,EAAE1Y,EAAEie,EAAEs2B,IAAgB,OAAO,gBAAgBG,GAAGv1C,EAAE,CAAC,EAAEuZ,EAAE,CAACvW,UAAUwE,EAAE2rC,IAAIt0B,EAAE/sB,SAASitB,IAAG,EAAG,IAAI3R,GAAG,EAAE,MAAMmoC,GAAGz2B,IAAI,IAAIhsB,SAAS+rB,EAAE7L,MAAM+L,EAAE/b,UAAUwE,EAAE,MAAM2rC,IAAI55B,EAAEznB,SAASy7B,GAAGzO,EAAEE,EAAEne,EAAEie,EAAEu2B,IAAG,MAAMl1B,EAAE,WAAWjR,EAAE,UAAS,GAAIo1B,EAAE,SAAS/qB,GAAGvN,EAAE,SAASuhB,EAAEt5B,UAAUouC,EAAE,UAAS,GAAI,aAAY,KAAKj1B,KAAK6rB,IAAI,KAAK7rB,KAAK,IAAIA,KAAK8B,EAAEva,SAAQ,EAAE,IAAI,IAAI,aAAY,KAAK,IAAIf,GAAE,EAAGkrB,GAAE,EAAGvF,IAAI+qB,EAAE3vC,UAAU2vC,EAAE3vC,QAAQ4kB,EAAE3lB,GAAE,GAAI25B,EAAEt5B,WAAW+X,EAAErX,UAAUqX,EAAErX,QAAQ44B,EAAEt5B,SAAS6qB,GAAE,GAAIujB,EAAE1tC,QAAQf,GAAGkrB,GAAGyO,EAAEt5B,WAAWslB,EAAE8oB,EAAE1tC,SAASskC,GAAE,GAAG,CAAC1f,EAAEgU,IAAI,MAAM0L,EAAE,eAAc,KAAK,IAAIrlC,EAAkCsb,EAAEva,QAAQua,EAAEva,SAAQ,GAAIf,EAAEusB,EAAExrB,QAAQ0tC,EAAE1tC,SAASf,GAAGA,EAAE4hD,QAAQ,GAAG,IAAiB,OAAO,gBAAgBhuC,EAAExH,EAAE,CAACgT,MAAMhT,EAAE,CAACy1C,QAAQ,QAAQ12B,GAAG22B,SAAS,KAAKlhD,IAAI2rB,GAAGnB,GAAGH,EAAC,EAAG82B,GAAG,CAAC,WAAW,UAAU,WAAW,WAAW,UAAU,aAAaC,GAAG92B,IAAI,MAAMD,EAAEoa,IAAIla,EAAEyvB,IAAiB,OAAO,gBAAgBqH,GAAG71C,EAAE,CAAC,EAAE6e,EAAEE,EAAED,GAAE,EAAG,SAAS+2B,GAAG/2B,GAAG,MAAMhtB,SAAS+sB,EAAEi3B,QAAQ/2B,GAAE,EAAGjsB,SAAS0U,EAAEoT,SAASrB,EAAEvW,UAAUuqB,EAAE,OAAOzO,EAAEE,EAAEne,EAAEie,EAAE62B,IAAIx1B,EAAE,WAAW41B,QAAQvuC,GAAGjL,QAAO,CAAC3I,EAAEkrB,KAAK,MAAMD,EAAE4wB,EAAEl2B,EAAFk2B,CAAK3wB,GAAG,OAAOlrB,EAAEhI,OAAOizB,EAAC,GAAG,KAAK5qB,SAASib,GAAG2P,EAAEylB,EAAE8J,EAAEjuB,EAAEjR,GAAG,GAAGo1B,EAAE,CAAC,MAAM7kC,OAAOqf,EAAEq0B,IAAItyC,EAAEvB,MAAMkI,EAAElI,OAAOzS,MAAMszB,IAAImkB,EAAEp1B,EAAE1H,EAAEjZ,QAAQgrB,EAAE/R,EAAE9J,KAAKjR,QAAQ,MAAM,IAAI41C,EAAEriC,EAAE,CAAC,EAAE8e,EAAE,CAACq0B,IAAItyC,EAAE/O,SAAS+sB,IAAIoa,EAAE,eAAe9Y,EAAEkiB,EAAEliB,EAAEjvB,MAAM4B,SAAsB,gBAAgB8iD,GAAG,CAAC9jD,SAAS+sB,EAAEi3B,QAAQ/2B,GAAGoB,EAAEjvB,MAAM4B,eAAU,GAAQ07C,EAAEzvB,EAAEu2B,GAAG/nB,EAAEgiB,EAAExwB,EAAE/e,EAAE,CAACmzC,IAAItyC,EAAE/O,SAAS+sB,EAAE7b,UAAUuqB,GAAGvO,GAAGA,EAAe,OAAO,gBAAgBhT,EAAEnZ,SAAS,CAAChG,MAAM,CAAC8tB,QAAQ9Z,EAAE+Z,SAAS1L,IAAiB,gBAAgBs/B,EAAEe,EAAEtW,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM+c,GAAG,KAAK,MAAMpiD,EAAE46C,IAAI,IAAI56C,EAAE,MAAM,IAAI2O,MAAM,8JAA8J,OAAO3O,EAAE9B,UAAUmkD,GAAG,KAAK,MAAM,IAAI1zC,MAAM,wEAAuE,EAAG2zC,GAAG,KAAK,MAAMtiD,EAAEqlC,IAAI,IAAIrlC,EAAE,MAAM,IAAI2O,MAAM,4JAA4J,MAAMuc,EAAEk3B,KAAKn3B,EAAE0lB,EAAE3wC,EAAEgnB,SAASkE,EAAE7qB,UAAU,OAAO4qB,EAAEA,EAAEpf,OAAO,MAAM02C,GAAGviD,IAAI,IAAIA,EAAE,MAAM,IAAI2O,MAAM,4EAA4E,MAAMuc,EAAEma,IAAI,IAAIna,EAAE,MAAM,IAAIvc,MAAM,2JAA2J,MAAMsc,EAAEm3B,KAAKj3B,EAAEmK,EAAEt1B,EAAEkrB,EAAEnE,SAAS9Z,EAAE0jC,EAAExlB,EAAEF,EAAE5qB,UAAU,OAAO4M,EAAEb,EAAE,CAAC,EAAEa,EAAEpB,OAAO,CAAC0zC,IAAItyC,EAAEsyC,IAAIz1C,KAAK9J,IAAI,2NCCv+U,SAAS2lB,IAAI,OAAOA,EAAE7sB,OAAOuW,OAAOvW,OAAOuW,OAAOnS,OAAO,SAASguB,GAAG,IAAI,IAAIlrB,EAAE,EAAEA,EAAE3D,UAAUtE,OAAOiI,IAAI,CAAC,IAAImrB,EAAE9uB,UAAU2D,GAAG,IAAI,IAAIirB,KAAKE,EAAEryB,OAAOsC,UAAUC,eAAeC,KAAK6vB,EAAEF,KAAKC,EAAED,GAAGE,EAAEF,GAAG,CAAC,OAAOC,CAAC,EAAEvF,EAAElpB,MAAMC,KAAKL,UAAU,CAAC,SAAS4Q,EAAEie,GAAG,IAAIlrB,EAAEkrB,GAAG,IAAIC,EAAE,GAAGF,EAAE,GAAG,MAAM7e,EAAEpM,EAAEyJ,QAAQ,MAAM,IAAI2C,IAAI6e,EAAEjrB,EAAE/H,MAAMmU,GAAGpM,EAAEA,EAAE/H,MAAM,EAAEmU,IAAI,MAAMwH,EAAE5T,EAAEyJ,QAAQ,KAAK,OAAO,IAAImK,IAAIuX,EAAEnrB,EAAE/H,MAAM2b,GAAG5T,EAAEA,EAAE/H,MAAM,EAAE2b,IAAI,CAACvT,SAASL,EAAE+J,OAAO,MAAMohB,EAAE,GAAGA,EAAE1tB,KAAK,MAAMwtB,EAAE,GAAGA,EAAE,CAAC,MAAM0O,EAAE,6BAA6BpN,EAAErB,IAAI,GAAG,iBAAiBA,EAAE,OAAO,CAACA,GAAGyO,EAAEhf,KAAKuQ,GAAX,CAAeA,EAAC,EAAG5P,EAAE,IAA+F,GAAco1B,EAAE,IAAmG,GAAgB,SAASrL,EAAEna,EAAElrB,EAAEsb,KAAK,IAAI6P,EAAE,IAAIoB,EAAErB,GAAG,OAAOA,EAAE,GAAGA,EAAEvzB,WAAW,OAAOuzB,EAAEvzB,WAAW,OAAO,OAAOuzB,EAAE,MAAMD,EAAE,OAAOE,EAAE,MAAMnrB,EAAEA,EAAE0wC,KAAKvlB,EAAE,IAAI,MAAM,GAAG,MAAMF,GAAGA,EAAErxB,SAAS,KAAKqxB,EAAEhzB,MAAM,GAAG,GAAGgzB,IAAIC,EAAEvzB,WAAW,KAAKuzB,EAAE,IAAIA,KAAK,CAAC,MAAME,EAAEF,GAAG,MAAMA,OAAE,EAAOA,EAAEvzB,WAAW,KAA4E,SAAS82C,EAAEvjB,EAAElrB,GAAG,MAAMK,SAAS8qB,EAAEphB,OAAOkhB,EAAExtB,KAAK2O,GAAGa,EAAEie,GAAG,MAAM,IAAG,OAAEC,EAAEnrB,KAAKirB,IAAI7e,GAAG,CAAC,MAAMgM,EAAE,CAAC8S,EAAElrB,IAAI,iBAAiBkrB,EAAEA,EAAEqB,EAAErB,GAAGE,EAAEF,GAAG,SAASA,GAAG,MAAMlrB,EAAEqlC,EAAEna,GAAGC,EAAlL,SAAwL,OAAgCsjB,EAAEzuC,EAAEmrB,EAAI,CAAvE,CAAyED,GAAG,SAASA,EAAElrB,GAAG,GAAGorB,EAAEF,GAAG,OAAOA,EAAE,MAAMD,EAA1Q,SAAgR7e,GAAE,aAAE8e,EAAElrB,GAAG,OAAgCyuC,EAAEriC,EAAE6e,EAAI,CAA5F,CAA8FC,EAAElrB,GAAGkrB,EAAE0vB,EAAE,CAAC,KAAK,WAAW,UAAU,eAAe,kBAAkB,cAAc,WAAW,kBAAkB,QAAQ,UAAU,aAAa,SAASxiB,EAAElN,GAAG,OAAOma,EAAEna,EAAEwlB,IAAI,CAAC,MAAMhrB,EAAE,CAAC88B,gBAAgB,SAASC,YAAY,SAASC,gBAAgB,QAAQ,SAASlI,EAAEtvB,GAAgB,OAAO,gBAAgB,WAAE,MAAK,EAAEhtB,SAASitB,KAAkB,gBAAgBs0B,EAAE95B,EAAE,CAAC,EAAEuF,EAAE,CAACy3B,UAAUx3B,MAAK,CAAC,MAAMs0B,UAAU,YAAY,WAAA/xC,CAAYwd,GAAGg2B,MAAMh2B,GAAGxuB,KAAKkmD,gBAAgB,EAAEnC,mBAAmBv1B,EAAEs1B,UAAUxgD,MAAMtD,KAAKY,MAAMolD,gBAAgBx3B,EAAElrB,GAAG,CAAC6iD,UAAU,CAACnmD,KAAKY,MAAMulD,UAAUnmD,KAAKY,MAAMklD,iBAAiBlpD,OAAOyT,SAAS4D,KAAK,KAAKyO,MAAMuG,EAAE,CAAC,EAAEjpB,KAAKY,MAAM8hB,MAAM1iB,KAAKY,MAAMmlD,cAAc,KAAK,IAAIziD,GAAE,EAAG,oBAAoB7H,QAAQA,OAAO2qD,uBAAuB9iD,GAAE,GAAItD,KAAK+D,MAAM,CAACsiD,YAAY/iD,GAAGtD,KAAKsmD,cAAc,KAAKtmD,KAAKumD,UAAUvmD,KAAKumD,UAAU/lD,KAAKR,KAAK,CAAC,SAAAwmD,GAAY,IAAIh4B,EAAE/yB,OAAO+F,SAASmC,SAASlI,OAAO+F,SAAS6L,OAAOrN,KAAKY,MAAMqlD,WAAWjmD,KAAKY,MAAMqlD,UAAUtiD,WAAW6qB,EAAExuB,KAAKY,MAAMqlD,UAAUtiD,SAAS3D,KAAKY,MAAMqlD,UAAU54C,QAAQ,MAAM/J,EAAEiN,EAAEmL,EAAE1b,KAAKY,MAAMmmB,GAAGyH,IAAIC,EAAEnrB,EAAEK,SAASL,EAAE+J,OAAO,GAAGmhB,IAAIC,EAAE,OAAO7E,UAAUzU,QAAQsZ,EAAE,CAAC,oBAAAxsB,GAAuB,IAAIjC,KAAKymD,GAAG,OAAO,MAAMj2C,SAASge,EAAEpC,GAAG9oB,GAAGtD,KAAKymD,GAAGzmD,KAAKsmD,eAAetmD,KAAKsmD,cAAcnoC,QAAQqQ,EAAEk4B,UAAUpjD,GAAGkrB,EAAEm4B,YAAY,CAAC,SAAAJ,CAAU/3B,GAAGxuB,KAAKY,MAAMgjD,UAAUxnD,OAAOsC,UAAUC,eAAeC,KAAKoB,KAAKY,MAAMgjD,SAAS,WAAW5jD,KAAKY,MAAMgjD,SAASv/C,QAAQmqB,EAAExuB,KAAKY,MAAMgjD,UAAU5jD,KAAKY,MAAMgjD,SAASp1B,GAAGxuB,KAAK+D,MAAMsiD,aAAa73B,IAAIxuB,KAAKymD,GAAG,EAAEj4B,EAAElrB,KAAK,MAAMmrB,EAAE,IAAIhzB,OAAO2qD,sBAAqB33B,IAAIA,EAAEzY,SAAQyY,IAAID,IAAIC,EAAEtzB,QAAQmI,EAAEmrB,EAAEm4B,gBAAgBn4B,EAAEo4B,kBAAkB,EAAC,GAAE,IAAI,OAAOp4B,EAAEq4B,QAAQt4B,GAAG,CAAChe,SAASie,EAAErC,GAAGoC,EAAG,EAAtK,CAAwKA,GAAEA,IAAIA,EAAExuB,KAAKsmD,cAActmD,KAAKwmD,YAAYxmD,KAAKsmD,eAAetmD,KAAKsmD,cAAcnoC,OAAM,IAAI,CAAC,MAAA9b,GAAS,MAAMmsB,EAAExuB,KAAKY,OAAOmmB,GAAG0H,EAAEo1B,SAASt1B,EAAEvuB,KAAKkmD,gBAAgBlC,QAAQ9sC,EAAE6vC,aAAa9pB,EAAEl5B,MAAM6a,EAAEziB,QAAQ63C,EAAEiS,UAAUtd,GAAGna,EAAEE,EAAE,SAASF,EAAElrB,GAAG,GAAG,MAAMkrB,EAAE,MAAM,CAAC,EAAE,IAAIC,EAAEF,EAAE7e,EAAE,CAAC,EAAEwH,EAAE9a,OAAO+V,KAAKqc,GAAG,IAAID,EAAE,EAAEA,EAAErX,EAAE7b,OAAOkzB,IAAIjrB,EAAEyJ,QAAQ0hB,EAAEvX,EAAEqX,KAAK,IAAI7e,EAAE+e,GAAGD,EAAEC,IAAI,OAAO/e,CAAC,CAAjI,CAAmI8e,EAAE0vB,GAAgNpsB,EAAEpW,EAAE+S,EAAEka,EAAEhlC,UAAU,OAAOksB,EAAEiC,GAAgB,gBAAgB,OAAE7I,EAAE,CAAClC,GAAG+K,EAAE/tB,MAAM6a,EAAEilC,SAASt1B,EAAEq1B,SAAS5jD,KAAKumD,UAAUQ,aAAav4B,IAAIyO,GAAGA,EAAEzO,GAAG,MAAMlrB,EAAEiN,EAAEuhB,GAAGlI,UAAUlK,SAASpc,EAAEK,SAASL,EAAE+J,OAAM,EAAG22C,QAAQx1B,IAAI,GAAGtX,GAAGA,EAAEsX,KAAK,IAAIA,EAAE01B,QAAQlkD,KAAKY,MAAMzF,QAAQqzB,EAAEy1B,kBAAkBz1B,EAAE21B,SAAS31B,EAAE41B,QAAQ51B,EAAE61B,SAAS71B,EAAE81B,UAAU,CAAC91B,EAAE+1B,iBAAiB,IAAIjhD,EAAE0wC,EAAE,MAAMvlB,EAAE3D,UAAUgH,KAAK6W,EAAEhlC,SAAS,kBAAkBqwC,GAAGvlB,IAAInrB,GAAE,GAAI7H,OAAOuuB,YAAY8H,EAAE,CAAC/tB,MAAM6a,EAAEziB,QAAQmH,GAAG,CAAC,OAAM,CAAC,GAAIorB,IAAiB,gBAAgB,IAAIzF,EAAE,CAAC5a,KAAKyjB,GAAGpD,GAAG,EAAEq0B,EAAErgD,UAAUumB,EAAE,CAAC,EAAED,EAAE,CAACg7B,QAAQ,OAAOj9B,GAAG,SAASlkB,WAAW1G,QAAQ,OAAO4H,MAAM,WAAW,MAAMk7C,EAAE,cAAa,CAACzwB,EAAEC,IAAiB,gBAAgBqvB,EAAE70B,EAAE,CAAC26B,SAASn1B,GAAGD,MAAK0lB,EAAE,CAAC1lB,EAAElrB,KAAK7H,OAAOuuB,YAAYtO,EAAE8S,EAAE/yB,OAAO+F,SAASmC,UAAUL,EAAC,sQCAh1I,SAASoM,IAAI,OAAOA,EAAEtT,OAAOuW,OAAOvW,OAAOuW,OAAOnS,OAAO,SAASguB,GAAG,IAAI,IAAIlrB,EAAE,EAAEA,EAAE3D,UAAUtE,OAAOiI,IAAI,CAAC,IAAImrB,EAAE9uB,UAAU2D,GAAG,IAAI,IAAIirB,KAAKE,EAAEryB,OAAOsC,UAAUC,eAAeC,KAAK6vB,EAAEF,KAAKC,EAAED,GAAGE,EAAEF,GAAG,CAAC,OAAOC,CAAC,EAAE9e,EAAE3P,MAAMC,KAAKL,UAAU,CAAC,MAAM4Q,EAAE,IAAI9C,IAAIoiB,EAAE,CAACxxB,IAAImwB,GAAGje,EAAElS,IAAImwB,IAAI,GAAG,GAAA1vB,CAAI0vB,EAAElrB,GAAG,MAAMmrB,EAAEle,EAAElS,IAAImwB,IAAI,GAAGC,EAAE7hB,KAAKtJ,GAAGiN,EAAEzR,IAAI0vB,EAAEC,EAAE,EAAE,OAAOD,GAAGje,EAAEiJ,OAAOgV,EAAE,GAAGtX,EAAE,oBAAoBzC,MAAMA,KAAKqK,qBAAqBrK,KAAKqK,oBAAoBte,KAAK/E,SAAS,SAAS+yB,GAAG,MAAMlrB,EAAEgZ,KAAKomC,MAAM,OAAOrqC,YAAW,WAAWmW,EAAE,CAACw4B,YAAW,EAAGC,cAAc,WAAW,OAAOr2B,KAAKe,IAAI,EAAE,IAAIrV,KAAKomC,MAAMp/C,GAAG,GAAG,GAAE,EAAE,EAAE,IAAI25B,EAAYzO,KAAiFyO,IAAIA,EAAE,CAAC,IAAnFiqB,YAAY,eAAe14B,EAAE24B,KAAK,OAAO34B,EAAE44B,cAAc,kBAA8B,MAAMn+B,EAAE,IAAI7P,IAAI,CAAC,MAAM,WAAW,0BAA0B,WAAW,SAAS,YAAYsV,EAAE,IAAItV,IAAI24B,EAAE,IAAItkC,IAAI,SAASk7B,EAAErlC,GAAgB,OAAO,gBAAgB,WAAE,MAAK,IAAiB,gBAAgBsb,EAAEtb,IAAG,CAAC,SAASsb,EAAE6P,GAAG,MAAM44B,IAAI92C,EAAE+2C,SAASr+B,EAAEgU,EAAEiqB,aAAaz4B,GAAG,CAAC,GAAG9qB,SAAS+qB,IAAG,mBAAI,IAAG,gBAAE,KAAK,IAAIF,EAAE,OAAOvF,GAAG,KAAKgU,EAAEiqB,YAAY14B,EAAE0vB,EAAEzvB,GAAG,MAAM,KAAKwO,EAAEkqB,KAAKjwC,GAAE,KAAKsX,EAAE0vB,EAAEzvB,EAAC,IAAI,MAAM,KAAKwO,EAAEmqB,cAAc,CAAC,MAAM54B,EAAExF,EAAEyF,GAAGoB,EAAE/wB,IAAI4vB,EAAEF,EAAE,EAAE,MAAM,KAAK,MAAM5pB,OAAOtB,EAAEikD,aAAa94B,EAAE+4B,cAAcj5B,GAAGC,GAAG,CAAC,EAAEC,IAAI,MAAMnrB,GAAGA,EAAEpB,oBAAoB,OAAOusB,IAAIF,IAAI,MAAMjrB,GAAGA,EAAEpB,oBAAoB,QAAQqsB,IAAI,MAAMjrB,GAAGA,EAAE4B,QAAO,CAAC,GAAG,IAAI+jB,IAAIgU,EAAEmqB,cAAc,CAAC,MAAM9jD,EAAEoY,EAAE+S,GAAGF,EAAEvF,EAAEyF,GAAG,MAAM,oBAAoBhzB,QAAQo0B,EAAE/wB,IAAI4vB,EAAEH,GAAgB,gBAAgB,SAASjrB,EAAEoM,EAAE,CAAChD,KAAK,iBAAiB,gBAAgBuc,EAAEzJ,YAAY,aAAa+O,EAAE,CAACk5B,wBAAwB,CAACC,OAAOhsC,EAAE+S,MAAM/e,EAAE,CAAChD,KAAK,iBAAiB26C,IAAIrT,EAAEzjC,GAAG,gBAAgB0Y,EAAEzJ,YAAY,aAAa+O,GAAG,CAAC,OAAO,IAAI,CAAC,SAAS2vB,EAAE1vB,GAAG,MAAMjd,GAAGjO,EAAE+jD,IAAI54B,EAAE64B,SAAS/4B,EAAE0O,EAAEiqB,YAAYS,OAAOp3C,EAAEm0C,QAAQ70B,GAAGrB,GAAG,CAAC,EAAEtX,EAAE5T,GAAGmrB,EAAExF,EAAE,CAAC,OAAO,SAAS0f,EAAE,CAAC/E,KAAKrzB,EAAEqK,MAAMiV,GAAG,GAAG3Y,EAAE,CAAC,IAAI,MAAMsX,KAAKvF,EAAE,GAAG,MAAM0f,GAAGA,EAAEna,GAAG,CAAC,IAAI5P,EAAE,MAAMtb,EAAEyuC,EAAE1zC,IAAI6Y,IAAI,CAAC,GAAG0wC,UAAUn5B,EAAE,KAAK,MAAMnrB,OAAE,EAAOA,EAAEkrB,KAAK,CAAC,EAAE,IAAI0vB,EAAElK,EAAEvlB,EAAE7hB,KAAK,MAAM+7B,OAAE,EAAOA,EAAEna,IAAI,MAAMlrB,GAAG,OAAOsb,EAAEtb,EAAEkrB,KAAK5P,EAAE6H,MAAM,MAAMkiB,GAAG,OAAOuV,EAAEvV,EAAEna,KAAK0vB,EAAEt/C,KAAK+pC,EAAE,MAAMrlC,GAAG,OAAO0wC,EAAE1wC,EAAEkrB,SAAI,EAAOwlB,EAAEvtB,OAAOsrB,EAAEjzC,IAAIoY,EAAExH,EAAE,CAAC,EAAEpM,EAAE,CAAC,CAACkrB,GAAG,CAACo5B,UAAUn5B,KAAK,CAAC,GAAGC,EAAEtwB,IAAI8Y,GAAG,OAAO,IAAI,CAAC,MAAMwkB,EAAEhgB,EAAE8S,GAAGoK,EAAE5P,EAAEwF,GAAGsvB,EAAE78C,SAASqB,cAAc,UAAUgB,IAAIw6C,EAAEvsC,GAAGjO,GAAGw6C,EAAEx4C,QAAQgiD,SAAS/4B,EAAE,IAAI,MAAMC,EAAElrB,KAAKlH,OAAO4X,QAAQ4kB,GAAGklB,EAAE/nC,aAAayY,EAAElrB,GAAGo4B,IAAIoiB,EAAE11B,YAAYsT,GAAGjN,IAAIqvB,EAAEuJ,IAAI54B,GAAG,MAAM4vB,EAAE,CAAC,EAAE,GAAGnnC,EAAE,CAAC,IAAI,MAAMsX,KAAKvF,EAAE,CAAC,MAAM3lB,EAAEA,GAAG4wC,EAAE5wC,EAAE4T,EAAEsX,GAAGsvB,EAAEl8C,iBAAiB4sB,EAAElrB,GAAG+6C,EAAE,GAAG7vB,aAAalrB,CAAC,CAACorB,EAAEtP,IAAIlI,EAAE,CAAC,OAAOjW,SAAS4gB,KAAKjc,YAAYk4C,GAAG,CAACl5C,OAAOk5C,EAAEyJ,aAAalJ,EAAEkJ,aAAaC,cAAcnJ,EAAEmJ,cAAc,CAAC,SAAS9rC,EAAE8S,GAAG,MAAMi5B,wBAAwBnkD,EAAEd,SAASisB,EAAE,IAAID,GAAG,CAAC,GAAGk5B,OAAOn5B,EAAE,IAAIjrB,GAAG,CAAC,EAAE,OAAOirB,GAAGE,CAAC,CAAC,SAASzF,EAAEwF,GAAG,MAAMlrB,EAAE,CAAC,EAAE,IAAI,MAAMmrB,EAAEF,KAAKnyB,OAAO4X,QAAQwa,GAAGvF,EAAE7qB,IAAIqwB,KAAKnrB,EAAEmrB,GAAGF,GAAG,OAAOjrB,CAAC,CAAC,SAAS0wC,EAAExlB,GAAG,GAAGA,EAAE,MAAM,4BAA4BzgB,mBAAmBygB,IAAI,CAAC,SAAS0lB,EAAE1lB,EAAElrB,EAAEmrB,GAAG,MAAMF,EAAEwjB,EAAE1zC,IAAIiF,IAAI,CAAC,EAAE,IAAI,MAAMA,KAAK,MAAMirB,GAAG,OAAO7e,EAAE6e,EAAEE,SAAI,EAAO/e,EAAEk4C,YAAY,GAAG,CAAC,IAAIl4C,EAAEpM,EAAEkrB,EAAE,CAACujB,EAAEjzC,IAAIwE,EAAE,CAAC,CAACmrB,GAAG,CAAChI,MAAM+H,IAAI","sources":["webpack://sar-website/./node_modules/browser-lang/dist/index.js","webpack://sar-website/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://sar-website/./node_modules/gatsby-react-router-scroll/index.js","webpack://sar-website/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://sar-website/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://sar-website/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://sar-website/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://sar-website/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://sar-website/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://sar-website/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://sar-website/./.cache/api-runner-browser-plugins.js","webpack://sar-website/./.cache/api-runner-browser.js","webpack://sar-website/./.cache/create-content-digest-browser-shim.js","webpack://sar-website/./.cache/emitter.js","webpack://sar-website/./node_modules/mitt/dist/mitt.es.js","webpack://sar-website/./.cache/normalize-page-path.js","webpack://sar-website/./.cache/find-path.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://sar-website/./.cache/slice/server-slice-renderer.js","webpack://sar-website/./.cache/slice/server-slice.js","webpack://sar-website/./.cache/slice/inline-slice.js","webpack://sar-website/./.cache/slice.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://sar-website/./.cache/gatsby-browser-entry.js","webpack://sar-website/./.cache/prefetch.js","webpack://sar-website/./.cache/loader.js","webpack://sar-website/./.cache/head/components/fire-callback-in-effect.js","webpack://sar-website/./.cache/head/constants.js","webpack://sar-website/./.cache/head/utils.js","webpack://sar-website/./.cache/head/head-export-handler-for-browser.js","webpack://sar-website/./.cache/page-renderer.js","webpack://sar-website/./.cache/route-announcer-props.js","webpack://sar-website/./.cache/navigation.js","webpack://sar-website/./node_modules/shallow-compare/es/index.js","webpack://sar-website/./.cache/ensure-resources.js","webpack://sar-website/./.cache/production-app.js","webpack://sar-website/./.cache/public-page-renderer-prod.js","webpack://sar-website/./.cache/public-page-renderer.js","webpack://sar-website/./.cache/react-dom-utils.js","webpack://sar-website/./.cache/redirect-utils.js","webpack://sar-website/./.cache/register-service-worker.js","webpack://sar-website/./.cache/slice/context.js","webpack://sar-website/./.cache/static-query.js","webpack://sar-website/./.cache/context-utils.js","webpack://sar-website/./.cache/strip-prefix.js","webpack://sar-website/./node_modules/gatsby-plugin-breakpoints/BreakpointProvider.js","webpack://sar-website/./node_modules/gatsby-plugin-breakpoints/constants.js","webpack://sar-website/./node_modules/gatsby-plugin-breakpoints/gatsby-browser.js","webpack://sar-website/./node_modules/gatsby-plugin-google-analytics/gatsby-browser.js","webpack://sar-website/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://sar-website/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://sar-website/./node_modules/gatsby-plugin-react-i18next/dist/i18nextContext.js","webpack://sar-website/./node_modules/gatsby-plugin-react-i18next/dist/plugin/wrapPageElement.js","webpack://sar-website/./node_modules/gatsby-plugin-react-i18next/dist/types.js","webpack://sar-website/./node_modules/gatsby-plugin-react-i18next/gatsby-browser.js","webpack://sar-website/./node_modules/i18next/dist/cjs/i18next.js","webpack://sar-website/./node_modules/invariant/browser.js","webpack://sar-website/./node_modules/outdent/lib-module/index.js","webpack://sar-website/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://sar-website/./node_modules/react-i18next/dist/es/Trans.js","webpack://sar-website/./node_modules/react-i18next/dist/es/unescape.js","webpack://sar-website/./node_modules/react-i18next/dist/es/context.js","webpack://sar-website/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://sar-website/./node_modules/react-i18next/dist/es/withTranslation.js","webpack://sar-website/./node_modules/react-i18next/dist/es/Translation.js","webpack://sar-website/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://sar-website/./node_modules/react-i18next/dist/es/useSSR.js","webpack://sar-website/./node_modules/react-i18next/dist/es/withSSR.js","webpack://sar-website/./node_modules/react-i18next/dist/es/index.js","webpack://sar-website/./node_modules/react-i18next/dist/es/utils.js","webpack://sar-website/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://sar-website/./node_modules/react-server-dom-webpack/index.js","webpack://sar-website/./node_modules/void-elements/index.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/createClass.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/extends.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/inherits.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/toArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/typeof.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://sar-website/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://sar-website/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://sar-website/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://sar-website/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction startsWith(string, target, position) {\n var length = string.length;\n position = position == null ? 0 : position;\n\n if (position < 0) {\n position = 0;\n } else if (position > length) {\n position = length;\n }\n\n target = \"\".concat(target);\n return string.slice(position, position + target.length) == target;\n}\n\nfunction getBrowserLang() {\n if (typeof window === \"undefined\") {\n return null;\n }\n\n var lang = window.navigator.languages && window.navigator.languages[0] || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage || window.navigator.systemLanguage || null;\n return lang;\n}\n\nfunction normalizeCode(code) {\n return code.toLowerCase().replace(/-/, \"_\");\n}\n\nfunction getPreferredLanguage(options) {\n if (!options) {\n return getBrowserLang();\n }\n\n var languages = options.languages,\n fallback = options.fallback;\n\n if (!options.languages) {\n return fallback;\n } // some browsers report language as en-US instead of en_US\n\n\n var browserLanguage = normalizeCode(getBrowserLang());\n\n if (!browserLanguage) {\n return fallback;\n }\n\n var match = languages.filter(function (lang) {\n return normalizeCode(lang) === browserLanguage;\n });\n\n if (match.length > 0) {\n return match[0] || fallback;\n } // en == en_US\n\n\n var matchCodeOnly = languages.filter(function (lang) {\n return startsWith(browserLanguage, lang) || startsWith(lang, browserLanguage);\n });\n return matchCodeOnly[0] || fallback;\n}\n\nvar _default = getPreferredLanguage;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0;\nconst endsWithSuffixes = (suffixes, input) => {\n for (const suffix of suffixes) {\n if (input.endsWith(suffix)) return true;\n }\n return false;\n};\nconst suffixes = [`.html`, `.json`, `.js`, `.map`, `.txt`, `.xml`, `.pdf`];\nconst applyTrailingSlashOption = (input, option = `always`) => {\n if (input === `/`) return input;\n const hasTrailingSlash = input.endsWith(`/`);\n if (endsWithSuffixes(suffixes, input)) {\n return input;\n }\n if (option === `always`) {\n return hasTrailingSlash ? input : `${input}/`;\n }\n if (option === `never`) {\n return hasTrailingSlash ? input.slice(0, -1) : input;\n }\n return input;\n};\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\nvar _scrollHandler = require(\"./scroll-handler\");\nexports.ScrollContext = _scrollHandler.ScrollHandler;\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _sessionStorage = require(\"./session-storage\");\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n function ScrollHandler() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n if (!shouldUpdateScroll) {\n return true;\n }\n\n // Hack to allow accessing this._stateStorage.\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n return _this;\n }\n var _proto = ScrollHandler.prototype;\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n this._isTicking = false;\n };\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** If a hash is present in the browser url as the component mounts (i.e. the user is navigating\n * from an external website) then scroll to the hash instead of any previously stored scroll\n * position. */\n if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n } else if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n return ScrollHandler;\n}(React.Component);\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n var _proto = SessionStorage.prototype;\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n return 0;\n }\n };\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n return SessionStorage;\n}();\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\nvar _scrollHandler = require(\"./scroll-handler\");\nvar _react = require(\"react\");\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\nvar _gatsbyScript = require(\"gatsby-script\");\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n// Makes sure off-main-thread scripts are loaded in `gatsby develop`\nconst onInitialClientRender = () => {\n if (process.env.NODE_ENV !== `development`) {\n return;\n }\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname));\n\n // Clear scripts after we've used them to avoid leaky behavior\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n};\n\n// Client-side navigation (CSR, e.g. Gatsby Link navigations) are broken upstream in Partytown.\n// We need an official API from Partytown for handling re-configuration and on-demand script loading.\n// Until then, `off-main-thread` scripts load only on server-side navigation (SSR).\n// See https://github.com/BuilderIO/partytown/issues/74 for more details.\nexports.onInitialClientRender = onInitialClientRender;\n//# sourceMappingURL=gatsby-browser.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.getForwards = getForwards;\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(script => (script === null || script === void 0 ? void 0 : script.forward) || []);\n}\n//# sourceMappingURL=get-forwards.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\nvar _integration = require(\"@builder.io/partytown/integration\");\nvar _getForwards = require(\"./get-forwards\");\n// Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n const existingSnippet = document.querySelector(`script[data-partytown]`);\n const existingSandbox = document.querySelector(`iframe[src*=\"~partytown/partytown-sandbox-sw\"]`);\n if (existingSnippet) {\n existingSnippet.remove();\n }\n if (existingSandbox) {\n existingSandbox.remove();\n }\n const forwards = (0, _getForwards.getForwards)(collectedScripts);\n const snippet = document.createElement(`script`);\n snippet.dataset.partytown = ``;\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}\n//# sourceMappingURL=inject-partytown-snippet.js.map","exports.components = {\n \"component---src-pages-404-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-about-sar-contact-us-js\": () => import(\"./../../../src/pages/about-sar/contact-us.js\" /* webpackChunkName: \"component---src-pages-about-sar-contact-us-js\" */),\n \"component---src-pages-about-sar-disclaimer-js\": () => import(\"./../../../src/pages/about-sar/disclaimer.js\" /* webpackChunkName: \"component---src-pages-about-sar-disclaimer-js\" */),\n \"component---src-pages-about-sar-index-js\": () => import(\"./../../../src/pages/about-sar/index.js\" /* webpackChunkName: \"component---src-pages-about-sar-index-js\" */),\n \"component---src-pages-about-sar-missionvision-js\": () => import(\"./../../../src/pages/about-sar/missionvision.js\" /* webpackChunkName: \"component---src-pages-about-sar-missionvision-js\" */),\n \"component---src-pages-about-sar-ournetwork-js\": () => import(\"./../../../src/pages/about-sar/ournetwork.js\" /* webpackChunkName: \"component---src-pages-about-sar-ournetwork-js\" */),\n \"component---src-pages-about-sar-privacypolicy-js\": () => import(\"./../../../src/pages/about-sar/privacypolicy.js\" /* webpackChunkName: \"component---src-pages-about-sar-privacypolicy-js\" */),\n \"component---src-pages-about-sar-privacypolicyold-js\": () => import(\"./../../../src/pages/about-sar/privacypolicyold.js\" /* webpackChunkName: \"component---src-pages-about-sar-privacypolicyold-js\" */),\n \"component---src-pages-about-sar-towardsabrightfuture-js\": () => import(\"./../../../src/pages/about-sar/towardsabrightfuture.js\" /* webpackChunkName: \"component---src-pages-about-sar-towardsabrightfuture-js\" */),\n \"component---src-pages-before-you-travel-baggageguide-east-js\": () => import(\"./../../../src/pages/before-you-travel/baggageguide-east.js\" /* webpackChunkName: \"component---src-pages-before-you-travel-baggageguide-east-js\" */),\n \"component---src-pages-before-you-travel-baggageguide-js\": () => import(\"./../../../src/pages/before-you-travel/baggageguide.js\" /* webpackChunkName: \"component---src-pages-before-you-travel-baggageguide-js\" */),\n \"component---src-pages-before-you-travel-baggageguide-north-js\": () => import(\"./../../../src/pages/before-you-travel/baggageguide-north.js\" /* webpackChunkName: \"component---src-pages-before-you-travel-baggageguide-north-js\" */),\n \"component---src-pages-before-you-travel-specialassistance-js\": () => import(\"./../../../src/pages/before-you-travel/specialassistance.js\" /* webpackChunkName: \"component---src-pages-before-you-travel-specialassistance-js\" */),\n \"component---src-pages-before-you-travel-ticketconditions-js\": () => import(\"./../../../src/pages/before-you-travel/ticketconditions.js\" /* webpackChunkName: \"component---src-pages-before-you-travel-ticketconditions-js\" */),\n \"component---src-pages-ext-realestate-js\": () => import(\"./../../../src/pages/ext/realestate.js\" /* webpackChunkName: \"component---src-pages-ext-realestate-js\" */),\n \"component---src-pages-ext-sarnamingrights-js\": () => import(\"./../../../src/pages/ext/sarnamingrights.js\" /* webpackChunkName: \"component---src-pages-ext-sarnamingrights-js\" */),\n \"component---src-pages-ext-vendors-js\": () => import(\"./../../../src/pages/ext/vendors.js\" /* webpackChunkName: \"component---src-pages-ext-vendors-js\" */),\n \"component---src-pages-featured-applepay-js\": () => import(\"./../../../src/pages/featured/applepay.js\" /* webpackChunkName: \"component---src-pages-featured-applepay-js\" */),\n \"component---src-pages-featured-datescarnival-1-js\": () => import(\"./../../../src/pages/featured/datescarnival1.js\" /* webpackChunkName: \"component---src-pages-featured-datescarnival-1-js\" */),\n \"component---src-pages-featured-eid-3-js\": () => import(\"./../../../src/pages/featured/eid3.js\" /* webpackChunkName: \"component---src-pages-featured-eid-3-js\" */),\n \"component---src-pages-featured-eidaladha-js\": () => import(\"./../../../src/pages/featured/eidaladha.js\" /* webpackChunkName: \"component---src-pages-featured-eidaladha-js\" */),\n \"component---src-pages-featured-eidalfitr-1-js\": () => import(\"./../../../src/pages/featured/eidalfitr1.js\" /* webpackChunkName: \"component---src-pages-featured-eidalfitr-1-js\" */),\n \"component---src-pages-featured-foundingday-1-js\": () => import(\"./../../../src/pages/featured/foundingday1.js\" /* webpackChunkName: \"component---src-pages-featured-foundingday-1-js\" */),\n \"component---src-pages-featured-foundingdayoffer-1-js\": () => import(\"./../../../src/pages/featured/foundingdayoffer1.js\" /* webpackChunkName: \"component---src-pages-featured-foundingdayoffer-1-js\" */),\n \"component---src-pages-featured-foundingdayphotgraphy-1-js\": () => import(\"./../../../src/pages/featured/foundingdayphotgraphy1.js\" /* webpackChunkName: \"component---src-pages-featured-foundingdayphotgraphy-1-js\" */),\n \"component---src-pages-featured-future-projects-forumoffer-1-js\": () => import(\"./../../../src/pages/featured/futureProjectsForumoffer1.js\" /* webpackChunkName: \"component---src-pages-featured-future-projects-forumoffer-1-js\" */),\n \"component---src-pages-featured-lomihasawi-1-js\": () => import(\"./../../../src/pages/featured/lomihasawi1.js\" /* webpackChunkName: \"component---src-pages-featured-lomihasawi-1-js\" */),\n \"component---src-pages-featured-nationalday-1-js\": () => import(\"./../../../src/pages/featured/nationalday1.js\" /* webpackChunkName: \"component---src-pages-featured-nationalday-1-js\" */),\n \"component---src-pages-featured-parcelramadanoffer-js\": () => import(\"./../../../src/pages/featured/parcelramadanoffer.js\" /* webpackChunkName: \"component---src-pages-featured-parcelramadanoffer-js\" */),\n \"component---src-pages-featured-parcelshipmentqassim-js\": () => import(\"./../../../src/pages/featured/parcelshipmentqassim.js\" /* webpackChunkName: \"component---src-pages-featured-parcelshipmentqassim-js\" */),\n \"component---src-pages-featured-parcelshipments-js\": () => import(\"./../../../src/pages/featured/parcelshipments.js\" /* webpackChunkName: \"component---src-pages-featured-parcelshipments-js\" */),\n \"component---src-pages-featured-ramadan-offer-js\": () => import(\"./../../../src/pages/featured/ramadanOffer.js\" /* webpackChunkName: \"component---src-pages-featured-ramadan-offer-js\" */),\n \"component---src-pages-featured-ramadanbusinessclass-1-js\": () => import(\"./../../../src/pages/featured/ramadanbusinessclass1.js\" /* webpackChunkName: \"component---src-pages-featured-ramadanbusinessclass-1-js\" */),\n \"component---src-pages-featured-ramadanccoffer-1-js\": () => import(\"./../../../src/pages/featured/ramadanccoffer1.js\" /* webpackChunkName: \"component---src-pages-featured-ramadanccoffer-1-js\" */),\n \"component---src-pages-featured-ramadantimeline-js\": () => import(\"./../../../src/pages/featured/ramadantimeline.js\" /* webpackChunkName: \"component---src-pages-featured-ramadantimeline-js\" */),\n \"component---src-pages-featured-roadtoqatar-js\": () => import(\"./../../../src/pages/featured/roadtoqatar.js\" /* webpackChunkName: \"component---src-pages-featured-roadtoqatar-js\" */),\n \"component---src-pages-featured-sixt-js\": () => import(\"./../../../src/pages/featured/sixt.js\" /* webpackChunkName: \"component---src-pages-featured-sixt-js\" */),\n \"component---src-pages-featured-sleepday-js\": () => import(\"./../../../src/pages/featured/sleepday.js\" /* webpackChunkName: \"component---src-pages-featured-sleepday-js\" */),\n \"component---src-pages-featured-walaone-js\": () => import(\"./../../../src/pages/featured/walaone.js\" /* webpackChunkName: \"component---src-pages-featured-walaone-js\" */),\n \"component---src-pages-freight-carcargo-js\": () => import(\"./../../../src/pages/freight/carcargo.js\" /* webpackChunkName: \"component---src-pages-freight-carcargo-js\" */),\n \"component---src-pages-freight-freight-js\": () => import(\"./../../../src/pages/freight/freight.js\" /* webpackChunkName: \"component---src-pages-freight-freight-js\" */),\n \"component---src-pages-freight-index-js\": () => import(\"./../../../src/pages/freight/index.js\" /* webpackChunkName: \"component---src-pages-freight-index-js\" */),\n \"component---src-pages-freight-parcelshipments-js\": () => import(\"./../../../src/pages/freight/parcelshipments.js\" /* webpackChunkName: \"component---src-pages-freight-parcelshipments-js\" */),\n \"component---src-pages-frieght-contact-information-index-js\": () => import(\"./../../../src/pages/frieght-contact-information/index.js\" /* webpackChunkName: \"component---src-pages-frieght-contact-information-index-js\" */),\n \"component---src-pages-help-complainthandlingpolicy-js\": () => import(\"./../../../src/pages/help/complainthandlingpolicy.js\" /* webpackChunkName: \"component---src-pages-help-complainthandlingpolicy-js\" */),\n \"component---src-pages-help-complaintpolicy-js\": () => import(\"./../../../src/pages/help/complaintpolicy.js\" /* webpackChunkName: \"component---src-pages-help-complaintpolicy-js\" */),\n \"component---src-pages-help-customerfeedback-js\": () => import(\"./../../../src/pages/help/customerfeedback.js\" /* webpackChunkName: \"component---src-pages-help-customerfeedback-js\" */),\n \"component---src-pages-help-disabalitypolicy-js\": () => import(\"./../../../src/pages/help/disabalitypolicy.js\" /* webpackChunkName: \"component---src-pages-help-disabalitypolicy-js\" */),\n \"component---src-pages-help-persondisabalitypolicy-js\": () => import(\"./../../../src/pages/help/persondisabalitypolicy.js\" /* webpackChunkName: \"component---src-pages-help-persondisabalitypolicy-js\" */),\n \"component---src-pages-help-refundcompensation-js\": () => import(\"./../../../src/pages/help/refundcompensation.js\" /* webpackChunkName: \"component---src-pages-help-refundcompensation-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-information-mmmp-hajj-awareness-js\": () => import(\"./../../../src/pages/information/MMMP-HajjAwareness.js\" /* webpackChunkName: \"component---src-pages-information-mmmp-hajj-awareness-js\" */),\n \"component---src-pages-sample-sample-js\": () => import(\"./../../../src/pages/sample/sample.js\" /* webpackChunkName: \"component---src-pages-sample-sample-js\" */),\n \"component---src-pages-speak-up-js\": () => import(\"./../../../src/pages/Speak-Up.js\" /* webpackChunkName: \"component---src-pages-speak-up-js\" */),\n \"component---src-pages-stations-js-index-js\": () => import(\"./../../../src/pages/stations.js/index.js\" /* webpackChunkName: \"component---src-pages-stations-js-index-js\" */),\n \"component---src-pages-telgani-index-js\": () => import(\"./../../../src/pages/telgani/index.js\" /* webpackChunkName: \"component---src-pages-telgani-index-js\" */),\n \"component---src-pages-tis-app-js\": () => import(\"./../../../src/pages/TISApp.js\" /* webpackChunkName: \"component---src-pages-tis-app-js\" */),\n \"component---src-pages-travel-information-business-east-js\": () => import(\"./../../../src/pages/travel-information/business-east.js\" /* webpackChunkName: \"component---src-pages-travel-information-business-east-js\" */),\n \"component---src-pages-travel-information-business-north-js\": () => import(\"./../../../src/pages/travel-information/business-north.js\" /* webpackChunkName: \"component---src-pages-travel-information-business-north-js\" */),\n \"component---src-pages-travel-information-carparking-js\": () => import(\"./../../../src/pages/travel-information/carparking.js\" /* webpackChunkName: \"component---src-pages-travel-information-carparking-js\" */),\n \"component---src-pages-travel-information-economy-east-js\": () => import(\"./../../../src/pages/travel-information/economy-east.js\" /* webpackChunkName: \"component---src-pages-travel-information-economy-east-js\" */),\n \"component---src-pages-travel-information-economy-north-js\": () => import(\"./../../../src/pages/travel-information/economy-north.js\" /* webpackChunkName: \"component---src-pages-travel-information-economy-north-js\" */),\n \"component---src-pages-travel-information-foodanddrink-js\": () => import(\"./../../../src/pages/travel-information/foodanddrink.js\" /* webpackChunkName: \"component---src-pages-travel-information-foodanddrink-js\" */),\n \"component---src-pages-travel-information-onboard-food-drink-js\": () => import(\"./../../../src/pages/travel-information/onboard-food-drink.js\" /* webpackChunkName: \"component---src-pages-travel-information-onboard-food-drink-js\" */),\n \"component---src-pages-travel-information-passengercharter-js\": () => import(\"./../../../src/pages/travel-information/passengercharter.js\" /* webpackChunkName: \"component---src-pages-travel-information-passengercharter-js\" */),\n \"component---src-pages-travel-information-privatecabin-js\": () => import(\"./../../../src/pages/travel-information/privatecabin.js\" /* webpackChunkName: \"component---src-pages-travel-information-privatecabin-js\" */),\n \"component---src-pages-travel-information-purchasemethods-js\": () => import(\"./../../../src/pages/travel-information/purchasemethods.js\" /* webpackChunkName: \"component---src-pages-travel-information-purchasemethods-js\" */),\n \"component---src-pages-travel-information-refundmodification-js\": () => import(\"./../../../src/pages/travel-information/refundmodification.js\" /* webpackChunkName: \"component---src-pages-travel-information-refundmodification-js\" */),\n \"component---src-pages-travel-information-seat-selection-js\": () => import(\"./../../../src/pages/travel-information/seat-selection.js\" /* webpackChunkName: \"component---src-pages-travel-information-seat-selection-js\" */),\n \"component---src-pages-travel-information-station-lounges-js\": () => import(\"./../../../src/pages/travel-information/station-lounges.js\" /* webpackChunkName: \"component---src-pages-travel-information-station-lounges-js\" */),\n \"component---src-pages-travel-information-stations-east-js\": () => import(\"./../../../src/pages/travel-information/stations-east.js\" /* webpackChunkName: \"component---src-pages-travel-information-stations-east-js\" */),\n \"component---src-pages-travel-information-stations-js\": () => import(\"./../../../src/pages/travel-information/stations.js\" /* webpackChunkName: \"component---src-pages-travel-information-stations-js\" */),\n \"component---src-pages-travel-information-stations-north-js\": () => import(\"./../../../src/pages/travel-information/stations-north.js\" /* webpackChunkName: \"component---src-pages-travel-information-stations-north-js\" */),\n \"component---src-pages-travel-information-ticketrates-js\": () => import(\"./../../../src/pages/travel-information/ticketrates.js\" /* webpackChunkName: \"component---src-pages-travel-information-ticketrates-js\" */),\n \"component---src-pages-travel-information-tickettypes-east-js\": () => import(\"./../../../src/pages/travel-information/tickettypes-east.js\" /* webpackChunkName: \"component---src-pages-travel-information-tickettypes-east-js\" */),\n \"component---src-pages-travel-information-tickettypes-north-js\": () => import(\"./../../../src/pages/travel-information/tickettypes-north.js\" /* webpackChunkName: \"component---src-pages-travel-information-tickettypes-north-js\" */),\n \"component---src-pages-travel-information-timetable-east-js\": () => import(\"./../../../src/pages/travel-information/timetable-east.js\" /* webpackChunkName: \"component---src-pages-travel-information-timetable-east-js\" */),\n \"component---src-pages-travel-information-timetable-north-js\": () => import(\"./../../../src/pages/travel-information/timetable-north.js\" /* webpackChunkName: \"component---src-pages-travel-information-timetable-north-js\" */),\n \"component---src-pages-travel-information-trainschedule-copy-tsx\": () => import(\"./../../../src/pages/travel-information/trainschedule copy.tsx\" /* webpackChunkName: \"component---src-pages-travel-information-trainschedule-copy-tsx\" */),\n \"component---src-pages-travel-information-trainschedule-old-js\": () => import(\"./../../../src/pages/travel-information/trainschedule.old.js\" /* webpackChunkName: \"component---src-pages-travel-information-trainschedule-old-js\" */),\n \"component---src-pages-travel-information-trainschedule-tsx\": () => import(\"./../../../src/pages/travel-information/trainschedule.tsx\" /* webpackChunkName: \"component---src-pages-travel-information-trainschedule-tsx\" */),\n \"component---src-pages-travel-information-travelclasses-east-js\": () => import(\"./../../../src/pages/travel-information/travelclasses-east.js\" /* webpackChunkName: \"component---src-pages-travel-information-travelclasses-east-js\" */),\n \"component---src-pages-travel-information-travelclasses-js\": () => import(\"./../../../src/pages/travel-information/travelclasses.js\" /* webpackChunkName: \"component---src-pages-travel-information-travelclasses-js\" */),\n \"component---src-pages-travel-information-travelclasses-north-js\": () => import(\"./../../../src/pages/travel-information/travelclasses-north.js\" /* webpackChunkName: \"component---src-pages-travel-information-travelclasses-north-js\" */),\n \"component---src-pages-travel-with-sar-timetable-js\": () => import(\"./../../../src/pages/travel-with-sar/timetable-.js\" /* webpackChunkName: \"component---src-pages-travel-with-sar-timetable-js\" */),\n \"component---src-pages-uber-js\": () => import(\"./../../../src/pages/uber.js\" /* webpackChunkName: \"component---src-pages-uber-js\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-google-analytics/gatsby-browser.js'),\n options: {\"plugins\":[],\"trackingId\":\"UA-100773692-2\",\"head\":false,\"anonymize\":false,\"respectDNT\":false,\"exclude\":[],\"pageTransitionDelay\":0,\"enableWebVitalsTracking\":false},\n },{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"icon\":\"src/images/icon.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"fc61b41d854468c008c69471855d49f3\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-react-i18next/gatsby-browser.js'),\n options: {\"plugins\":[],\"sourceInstanceName\":\"locale\",\"languages\":[\"ar\",\"en\"],\"defaultLanguage\":\"en\",\"siteUrl\":\"https://sar.com.sa/\",\"i18nextOptions\":{\"interpolation\":{\"escapeValue\":false},\"keySeparator\":false,\"nsSeparator\":false},\"pages\":[{\"matchPath\":\"/:lang?/blog/:uid\",\"getLanguageFromPath\":true},{\"matchPath\":\"/:lang?/sample/\",\"getLanguageFromPath\":true},{\"matchPath\":\"/preview\",\"languages\":[\"ar\"]}]},\n },{\n plugin: require('../node_modules/gatsby-plugin-breakpoints/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","const plugins = require(`./api-runner-browser-plugins`)\nconst { getResourceURLsForPathname, loadPage, loadPageSync } =\n require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","exports.createContentDigest = () => ``\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","export default pathAndSearch => {\n if (pathAndSearch === undefined) {\n return pathAndSearch\n }\n let [path, search = ``] = pathAndSearch.split(`?`)\n if (search) {\n search = `?` + search\n }\n\n if (path === `/`) {\n return `/` + search\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1) + search\n }\n return path + search\n}\n","import { pick } from \"@gatsbyjs/reach-router\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n let newRawPathname = rawPathname\n const queryIndex = rawPathname.indexOf(`?`)\n\n if (queryIndex !== -1) {\n const [path, qs] = rawPathname.split(`?`)\n newRawPathname = `${path}?${encodeURIComponent(qs)}`\n }\n\n const pathname = decodeURIComponent(newRawPathname)\n\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\n .split(`#`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import React from \"react\"\n\nexport const ServerSliceRenderer = ({ sliceId, children }) => {\n const contents = [\n React.createElement(`slice-start`, {\n id: `${sliceId}-1`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-1`,\n }),\n ]\n\n if (children) {\n // if children exist, we split the slice into a before and after piece\n // see renderSlices in render-html\n contents.push(children)\n contents.push(\n React.createElement(`slice-start`, {\n id: `${sliceId}-2`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-2`,\n })\n )\n }\n\n return contents\n}\n","import React, { useContext } from \"react\"\nimport { createContentDigest } from \"gatsby-core-utils/create-content-digest\"\nimport { SlicesMapContext, SlicesPropsContext } from \"./context\"\nimport { ServerSliceRenderer } from \"./server-slice-renderer\"\n\nconst getSliceId = (sliceName, sliceProps) => {\n if (!Object.keys(sliceProps).length) {\n return sliceName\n }\n\n const propsString = createContentDigest(sliceProps)\n return `${sliceName}-${propsString}`\n}\n\nexport const ServerSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesProps = useContext(SlicesPropsContext)\n const concreteSliceName = slicesMap[sliceName]\n\n if (!concreteSliceName) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n const sliceId = getSliceId(concreteSliceName, sliceProps)\n\n // set props on context object for static-entry to return\n let sliceUsage = slicesProps[sliceId]\n if (!sliceUsage) {\n slicesProps[sliceId] = sliceUsage = {\n props: sliceProps,\n sliceName: concreteSliceName,\n hasChildren: !!children,\n }\n } else {\n if (children) {\n sliceUsage.hasChildren = true\n }\n }\n\n return {children}\n}\n","import React, { useContext } from \"react\"\nimport { SlicesMapContext, SlicesResultsContext } from \"./context\"\n\nexport const InlineSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesResultsMap = useContext(SlicesResultsContext)\n const concreteSliceName = slicesMap[sliceName]\n const slice = slicesResultsMap.get(concreteSliceName)\n\n if (!slice) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n return (\n \n {children}\n \n )\n}\n","\"use client\"\n\nimport React, { useContext } from \"react\"\nimport { ServerSlice } from \"./slice/server-slice\"\nimport { InlineSlice } from \"./slice/inline-slice\"\nimport { SlicesContext } from \"./slice/context\"\n\nexport function Slice(props) {\n if (process.env.GATSBY_SLICES) {\n // we use sliceName internally, so remap alias to sliceName\n const internalProps = {\n ...props,\n sliceName: props.alias,\n }\n delete internalProps.alias\n delete internalProps.__renderedByLocation\n\n const slicesContext = useContext(SlicesContext)\n\n // validate props\n const propErrors = validateSliceProps(props)\n if (Object.keys(propErrors).length) {\n throw new SlicePropsError(\n slicesContext.renderEnvironment === `browser`,\n internalProps.sliceName,\n propErrors,\n props.__renderedByLocation\n )\n }\n\n if (slicesContext.renderEnvironment === `server`) {\n return \n } else if (slicesContext.renderEnvironment === `browser`) {\n // in the browser, we'll just render the component as is\n return \n } else if (\n slicesContext.renderEnvironment === `engines` ||\n slicesContext.renderEnvironment === `dev-ssr`\n ) {\n // if we're in SSR, we'll just render the component as is\n return \n } else if (slicesContext.renderEnvironment === `slices`) {\n // we are not yet supporting nested slices\n\n let additionalContextMessage = ``\n\n // just in case generating additional contextual information fails, we still want the base message to show\n // and not show another cryptic error message\n try {\n additionalContextMessage = `\\n\\nSlice component \"${slicesContext.sliceRoot.name}\" (${slicesContext.sliceRoot.componentPath}) tried to render `\n } catch {\n // don't need to handle it, we will just skip the additional context message if we fail to generate it\n }\n\n throw new Error(\n `Nested slices are not supported.${additionalContextMessage}\\n\\nSee https://gatsbyjs.com/docs/reference/built-in-components/gatsby-slice#nested-slices`\n )\n } else {\n throw new Error(\n `Slice context \"${slicesContext.renderEnvironment}\" is not supported.`\n )\n }\n } else {\n throw new Error(`Slices are disabled.`)\n }\n}\n\nclass SlicePropsError extends Error {\n constructor(inBrowser, sliceName, propErrors, renderedByLocation) {\n const errors = Object.entries(propErrors)\n .map(\n ([key, value]) =>\n `not serializable \"${value}\" type passed to \"${key}\" prop`\n )\n .join(`, `)\n\n const name = `SlicePropsError`\n let stack = ``\n let message = ``\n\n if (inBrowser) {\n // They're just (kinda) kidding, I promise... You can still work here <3\n // https://www.gatsbyjs.com/careers/\n const fullStack =\n React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getCurrentStack()\n\n // remove the first line of the stack trace\n const stackLines = fullStack.trim().split(`\\n`).slice(1)\n stackLines[0] = stackLines[0].trim()\n stack = `\\n` + stackLines.join(`\\n`)\n\n message = `Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n } else {\n // we can't really grab any extra info outside of the browser, so just print what we can\n message = `${name}: Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n const stackLines = new Error().stack.trim().split(`\\n`).slice(2)\n stack = `${message}\\n${stackLines.join(`\\n`)}`\n }\n\n super(message)\n this.name = name\n if (stack) {\n this.stack = stack\n } else {\n Error.captureStackTrace(this, SlicePropsError)\n }\n\n if (renderedByLocation) {\n this.forcedLocation = { ...renderedByLocation, functionName: `Slice` }\n }\n }\n}\n\nconst validateSliceProps = (\n props,\n errors = {},\n seenObjects = [],\n path = null\n) => {\n // recursively validate all props\n for (const [name, value] of Object.entries(props)) {\n if (\n value === undefined ||\n value === null ||\n (!path && name === `children`)\n ) {\n continue\n }\n\n const propPath = path ? `${path}.${name}` : name\n\n if (typeof value === `function`) {\n errors[propPath] = typeof value\n } else if (typeof value === `object` && seenObjects.indexOf(value) <= 0) {\n seenObjects.push(value)\n validateSliceProps(value, errors, seenObjects, propPath)\n }\n }\n\n return errors\n}\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport { default as PageRenderer } from \"./public-page-renderer\"\nexport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nexport {\n Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport { StaticQuery, StaticQueryContext, useStaticQuery } from \"./static-query\"\nexport { Slice } from \"./slice\"\nexport * from \"gatsby-script\"\n","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import { createFromReadableStream } from \"react-server-dom-webpack\"\nimport prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = rawPath => {\n const [path, maybeSearch] = rawPath.split(`?`)\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json${\n maybeSearch ? `?${maybeSearch}` : ``\n }`\n}\n\n/**\n * Utility to check the path that goes into doFetch for e.g. potential malicious intentions.\n * It checks for \"//\" because with this you could do a fetch request to a different domain.\n */\nconst shouldAbortFetch = rawPath => rawPath.startsWith(`//`)\n\nfunction doFetch(url, method = `GET`) {\n return new Promise(resolve => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\n// Regex that matches common search crawlers\nconst BOT_REGEX = /bot|crawler|spider|crawling/i\n\nconst toPageResources = (pageData, component = null, head) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n getServerDataError: pageData.getServerDataError,\n slicesMap: pageData.slicesMap ?? {},\n }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\n }\n}\n\nfunction waitForResponse(response) {\n return new Promise(resolve => {\n try {\n const result = response.readRoot()\n resolve(result)\n } catch (err) {\n if (\n Object.hasOwnProperty.call(err, `_response`) &&\n Object.hasOwnProperty.call(err, `_status`)\n ) {\n setTimeout(() => {\n waitForResponse(response).then(resolve)\n }, 200)\n } else {\n throw err\n }\n }\n })\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.partialHydrationDb = new Map()\n this.slicesDataDb = new Map()\n this.sliceInflightDb = new Map()\n this.slicesDb = new Map()\n this.isPrefetchQueueRunning = false\n this.prefetchQueued = []\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n const maybeSearch = pagePath.split(`?`)[1]\n if (maybeSearch && !jsonPayload.path.includes(maybeSearch)) {\n jsonPayload.path += `?${maybeSearch}`\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n fetchPartialHydrationJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath).replace(`.json`, `-rsc.json`)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: responseText,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.partialHydrationDb.has(pagePath)) {\n const pageData = this.partialHydrationDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPartialHydrationJson({ pagePath }).then(pageData => {\n this.partialHydrationDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadSliceDataJson(sliceName) {\n if (this.slicesDataDb.has(sliceName)) {\n const jsonPayload = this.slicesDataDb.get(sliceName)\n return Promise.resolve({ sliceName, jsonPayload })\n }\n\n const url = `${__PATH_PREFIX__}/slice-data/${sliceName}.json`\n return doFetch(url, `GET`).then(res => {\n const jsonPayload = JSON.parse(res.responseText)\n\n this.slicesDataDb.set(sliceName, jsonPayload)\n return { sliceName, jsonPayload }\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n if (page.error) {\n return Promise.resolve({\n error: page.error,\n status: page.status,\n })\n }\n\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const loadDataPromises = [\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]\n\n if (global.hasPartialHydration) {\n loadDataPromises.push(this.loadPartialHydrationJson(pagePath))\n }\n\n const inFlightPromise = Promise.all(loadDataPromises).then(allData => {\n const [appDataResponse, pageDataResponse, rscDataResponse] = allData\n\n if (\n pageDataResponse.status === PageResourceStatus.Error ||\n rscDataResponse?.status === PageResourceStatus.Error\n ) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = pageDataResponse.payload\n\n const {\n componentChunkName,\n staticQueryHashes: pageStaticQueryHashes = [],\n slicesMap = {},\n } = pageData\n\n const finalResult = {}\n\n const dedupedSliceNames = Array.from(new Set(Object.values(slicesMap)))\n\n const loadSlice = slice => {\n if (this.slicesDb.has(slice.name)) {\n return this.slicesDb.get(slice.name)\n } else if (this.sliceInflightDb.has(slice.name)) {\n return this.sliceInflightDb.get(slice.name)\n }\n\n const inFlight = this.loadComponent(slice.componentChunkName).then(\n component => {\n return {\n component: preferDefault(component),\n sliceContext: slice.result.sliceContext,\n data: slice.result.data,\n }\n }\n )\n\n this.sliceInflightDb.set(slice.name, inFlight)\n inFlight.then(results => {\n this.slicesDb.set(slice.name, results)\n this.sliceInflightDb.delete(slice.name)\n })\n\n return inFlight\n }\n\n return Promise.all(\n dedupedSliceNames.map(sliceName => this.loadSliceDataJson(sliceName))\n ).then(slicesData => {\n const slices = []\n const dedupedStaticQueryHashes = [...pageStaticQueryHashes]\n\n for (const { jsonPayload, sliceName } of Object.values(slicesData)) {\n slices.push({ name: sliceName, ...jsonPayload })\n for (const staticQueryHash of jsonPayload.staticQueryHashes) {\n if (!dedupedStaticQueryHashes.includes(staticQueryHash)) {\n dedupedStaticQueryHashes.push(staticQueryHash)\n }\n }\n }\n\n const loadChunkPromises = [\n Promise.all(slices.map(loadSlice)),\n this.loadComponent(componentChunkName, `head`),\n ]\n\n if (!global.hasPartialHydration) {\n loadChunkPromises.push(this.loadComponent(componentChunkName))\n }\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n // get list of components to get\n const componentChunkPromises = Promise.all(loadChunkPromises).then(\n components => {\n const [sliceComponents, headComponent, pageComponent] = components\n\n finalResult.createdAt = new Date()\n\n for (const sliceComponent of sliceComponents) {\n if (!sliceComponent || sliceComponent instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = sliceComponent\n }\n }\n\n if (\n !global.hasPartialHydration &&\n (!pageComponent || pageComponent instanceof Error)\n ) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = pageComponent\n }\n\n let pageResources\n\n if (finalResult.status !== PageResourceStatus.Error) {\n finalResult.status = PageResourceStatus.Success\n if (\n pageDataResponse.notFound === true ||\n rscDataResponse?.notFound === true\n ) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appDataResponse\n ? appDataResponse.webpackCompilationHash\n : ``,\n })\n\n if (typeof rscDataResponse?.payload === `string`) {\n pageResources = toPageResources(pageData, null, headComponent)\n\n pageResources.partialHydration = rscDataResponse.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(rscDataResponse.payload))\n },\n pull(controller) {\n // close on next read when queue is empty\n controller.close()\n },\n cancel() {},\n })\n\n return waitForResponse(\n createFromReadableStream(readableStream)\n ).then(result => {\n pageResources.partialHydration = result\n\n return pageResources\n })\n } else {\n pageResources = toPageResources(\n pageData,\n pageComponent,\n headComponent\n )\n }\n }\n\n // undefined if final result is an error\n return pageResources\n }\n )\n\n // get list of static queries to get\n const staticQueryBatchPromise = Promise.all(\n dedupedStaticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromises, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n })\n\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Don't prefetch if this is a crawler bot\n if (navigator.userAgent && BOT_REGEX.test(navigator.userAgent)) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return {\n then: resolve => resolve(false),\n abort: () => {},\n }\n }\n if (this.prefetchTriggered.has(pagePath)) {\n return {\n then: resolve => resolve(true),\n abort: () => {},\n }\n }\n\n const defer = {\n resolve: null,\n reject: null,\n promise: null,\n }\n defer.promise = new Promise((resolve, reject) => {\n defer.resolve = resolve\n defer.reject = reject\n })\n this.prefetchQueued.push([pagePath, defer])\n const abortC = new AbortController()\n abortC.signal.addEventListener(`abort`, () => {\n const index = this.prefetchQueued.findIndex(([p]) => p === pagePath)\n // remove from the queue\n if (index !== -1) {\n this.prefetchQueued.splice(index, 1)\n }\n })\n\n if (!this.isPrefetchQueueRunning) {\n this.isPrefetchQueueRunning = true\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n }\n\n return {\n then: (resolve, reject) => defer.promise.then(resolve, reject),\n abort: abortC.abort.bind(abortC),\n }\n }\n\n _processNextPrefetchBatch() {\n const idleCallback = window.requestIdleCallback || (cb => setTimeout(cb, 0))\n\n idleCallback(() => {\n const toPrefetch = this.prefetchQueued.splice(0, 4)\n const prefetches = Promise.all(\n toPrefetch.map(([pagePath, dPromise]) => {\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return dPromise.resolve(false)\n }\n\n return this.doPrefetch(findPath(pagePath)).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n\n dPromise.resolve(true)\n })\n })\n )\n\n if (this.prefetchQueued.length) {\n prefetches.then(() => {\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n })\n } else {\n this.isPrefetchQueueRunning = false\n }\n })\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n\n if (global.hasPartialHydration) {\n return Promise.all([\n prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n ),\n prefetchHelper(pageDataUrl.replace(`.json`, `-rsc.json`), {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPartialHydrationJson(pagePath)\n ),\n ])\n } else {\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths, pageData) {\n const loadComponent = (chunkName, exportType = `components`) => {\n if (!global.hasPartialHydration) {\n exportType = `components`\n }\n\n if (!asyncRequires[exportType][chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name \"${chunkName}\"`\n )\n }\n\n return (\n asyncRequires[exportType][chunkName]()\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n\n if (pageData) {\n this.pageDataDb.set(findPath(pageData.path), {\n pagePath: pageData.path,\n payload: pageData,\n status: `success`,\n })\n }\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n return super.loadPartialHydrationJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n // TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\n loadPageSync: (rawPath, options = {}) =>\n instance.loadPageSync(rawPath, options),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n\nexport function getSliceResults() {\n if (instance) {\n return instance.slicesDb\n } else {\n return {}\n }\n}\n","import { useEffect } from \"react\"\n\n/*\n * Calls callback in an effect and renders children\n */\nexport function FireCallbackInEffect({ children, callback }) {\n useEffect(() => {\n callback()\n })\n\n return children\n}\n","export const VALID_NODE_NAMES = [\n `link`,\n `meta`,\n `style`,\n `title`,\n `base`,\n `noscript`,\n `script`,\n `html`,\n `body`,\n]\n","import { VALID_NODE_NAMES } from \"./constants\"\n\n/**\n * Filter the props coming from a page down to just the ones that are relevant for head.\n * This e.g. filters out properties that are undefined during SSR.\n */\nexport function filterHeadProps(input) {\n return {\n location: {\n pathname: input.location.pathname,\n },\n params: input.params,\n data: input.data || {},\n serverData: input.serverData,\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid function\n */\nexport function headExportValidator(head) {\n if (typeof head !== `function`)\n throw new Error(\n `Expected \"Head\" export to be a function got \"${typeof head}\".`\n )\n}\n\n/**\n * Warn once for same messsage\n */\nlet warnOnce = _ => {}\nif (process.env.NODE_ENV !== `production`) {\n const warnings = new Set()\n warnOnce = msg => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\n/**\n * Warn for invalid tags in Head which may have been directly added or introduced by `wrapRootElement`\n * @param {string} tagName\n */\nexport function warnForInvalidTag(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = createWarningForInvalidTag(tagName)\n warnOnce(warning)\n }\n}\n\nfunction createWarningForInvalidTag(tagName) {\n return `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}.\\n\\nAlso make sure that wrapRootElement in gatsby-ssr/gatsby-browser doesn't contain UI elements: https://gatsby.dev/invalid-head-elements`\n}\n\n/**\n * When a `nonce` is present on an element, browsers such as Chrome and Firefox strip it out of the\n * actual HTML attributes for security reasons *when the element is added to the document*. Thus,\n * given two equivalent elements that have nonces, `Element,isEqualNode()` will return false if one\n * of those elements gets added to the document. Although the `element.nonce` property will be the\n * same for both elements, the one that was added to the document will return an empty string for\n * its nonce HTML attribute value.\n *\n * This custom `isEqualNode()` function therefore removes the nonce value from the `newTag` before\n * comparing it to `oldTag`, restoring it afterwards.\n *\n * For more information, see:\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1211471#c12\n */\nexport function isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(`nonce`)\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(`nonce`)) {\n const cloneTag = newTag.cloneNode(true)\n cloneTag.setAttribute(`nonce`, ``)\n cloneTag.nonce = nonce\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag)\n }\n }\n\n return oldTag.isEqualNode(newTag)\n}\n\nexport function diffNodes({ oldNodes, newNodes, onStale, onNew }) {\n for (const existingHeadElement of oldNodes) {\n const indexInNewNodes = newNodes.findIndex(e =>\n isEqualNode(e, existingHeadElement)\n )\n\n if (indexInNewNodes === -1) {\n onStale(existingHeadElement)\n } else {\n // this node is re-created as-is, so we keep old node, and remove it from list of new nodes (as we handled it already here)\n newNodes.splice(indexInNewNodes, 1)\n }\n }\n\n // remaing new nodes didn't have matching old node, so need to be added\n for (const newNode of newNodes) {\n onNew(newNode)\n }\n}\n\nexport function getValidHeadNodesAndAttributes(\n rootNode,\n htmlAndBodyAttributes = {\n html: {},\n body: {},\n }\n) {\n const seenIds = new Map()\n const validHeadNodes = []\n\n // Filter out non-element nodes before looping since we don't care about them\n for (const node of rootNode.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!isElementType(node)) continue\n\n if (isValidNodeName(nodeName)) {\n // and tags are treated differently, in that we don't render them, we only extract the attributes and apply them separetely\n if (nodeName === `html` || nodeName === `body`) {\n for (const attribute of node.attributes) {\n const isStyleAttribute = attribute.name === `style`\n\n // Merge attributes for same nodeName from previous loop iteration\n htmlAndBodyAttributes[nodeName] = {\n ...htmlAndBodyAttributes[nodeName],\n }\n\n if (!isStyleAttribute) {\n htmlAndBodyAttributes[nodeName][attribute.name] = attribute.value\n }\n\n // If there is already a style attribute, we need to merge them as otherwise the last one will \"win\"\n if (isStyleAttribute) {\n htmlAndBodyAttributes[nodeName].style = `${\n htmlAndBodyAttributes[nodeName]?.style\n ? htmlAndBodyAttributes[nodeName].style\n : ``\n }${attribute.value} `\n }\n }\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // // This is hack to make script tags work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n clonedNode = massageScript(clonedNode)\n }\n // Duplicate ids are not allowed in the head, so we need to dedupe them\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[\n indexOfPreviouslyInsertedNode\n ].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n } else {\n warnForInvalidTag(nodeName)\n }\n\n if (node.childNodes.length) {\n validHeadNodes.push(\n ...getValidHeadNodesAndAttributes(node, htmlAndBodyAttributes)\n .validHeadNodes\n )\n }\n }\n\n return { validHeadNodes, htmlAndBodyAttributes }\n}\n\nfunction massageScript(node) {\n const script = document.createElement(`script`)\n for (const attr of node.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = node.innerHTML\n\n return script\n}\n\nexport function isValidNodeName(nodeName) {\n return VALID_NODE_NAMES.includes(nodeName)\n}\n/*\n * For Head, we only care about element nodes(type = 1), so this util is used to skip over non-element nodes\n * For Node type, see https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n */\nexport function isElementType(node) {\n return node.nodeType === 1\n}\n\n/**\n * Removes all the head elements that were added by `Head`\n */\nexport function removePrevHeadElements() {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nexport function applyHtmlAndBodyAttributes(htmlAndBodyAttributes) {\n if (!htmlAndBodyAttributes) return\n\n const { html, body } = htmlAndBodyAttributes\n\n const htmlElement = document.querySelector(`html`)\n if (htmlElement) {\n Object.entries(html).forEach(([attributeName, attributeValue]) => {\n htmlElement.setAttribute(attributeName, attributeValue)\n })\n }\n\n const bodyElement = document.querySelector(`body`)\n if (bodyElement) {\n Object.entries(body).forEach(([attributeName, attributeValue]) => {\n bodyElement.setAttribute(attributeName, attributeValue)\n })\n }\n}\n\nexport function removeHtmlAndBodyAttributes(htmlAndBodyattributeList) {\n if (!htmlAndBodyattributeList) return\n\n const { html, body } = htmlAndBodyattributeList\n\n if (html) {\n const htmlElement = document.querySelector(`html`)\n html.forEach(attributeName => {\n if (htmlElement) {\n htmlElement.removeAttribute(attributeName)\n }\n })\n }\n\n if (body) {\n const bodyElement = document.querySelector(`body`)\n body.forEach(attributeName => {\n if (bodyElement) {\n bodyElement.removeAttribute(attributeName)\n }\n })\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport {\n headExportValidator,\n filterHeadProps,\n diffNodes,\n getValidHeadNodesAndAttributes,\n removePrevHeadElements,\n applyHtmlAndBodyAttributes,\n removeHtmlAndBodyAttributes,\n} from \"./utils\"\nimport { apiRunner } from \"../api-runner-browser\"\n\nconst hiddenRoot = document.createElement(`div`)\nconst keysOfHtmlAndBodyAttributes = {\n html: [],\n body: [],\n}\n\nconst onHeadRendered = () => {\n const { validHeadNodes, htmlAndBodyAttributes } =\n getValidHeadNodesAndAttributes(hiddenRoot)\n\n keysOfHtmlAndBodyAttributes.html = Object.keys(htmlAndBodyAttributes.html)\n keysOfHtmlAndBodyAttributes.body = Object.keys(htmlAndBodyAttributes.body)\n\n applyHtmlAndBodyAttributes(htmlAndBodyAttributes)\n\n /**\n * The rest of the code block below is a diffing mechanism to ensure that\n * the head elements aren't duplicted on every re-render.\n */\n const existingHeadElements = document.querySelectorAll(`[data-gatsby-head]`)\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.parentNode.removeChild(node),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // sigh ... and elements are not valid descedents of
(our hidden element)\n // react-dom in dev mode will warn about this. There doesn't seem to be a way to render arbitrary\n // user Head without hitting this issue (our hidden element could be just \"new Document()\", but\n // this can only have 1 child, and we don't control what is being rendered so that's not an option)\n // instead we continue to render to
, and just silence warnings for and elements\n // https://github.com/facebook/react/blob/e2424f33b3ad727321fc12e75c5e94838e84c2b5/packages/react-dom-bindings/src/client/validateDOMNesting.js#L498-L520\n const originalConsoleError = console.error.bind(console)\n console.error = (...args) => {\n if (\n Array.isArray(args) &&\n args.length >= 2 &&\n args[0]?.includes?.(`validateDOMNesting(...): %s cannot appear as`) &&\n (args[1] === `` || args[1] === ``)\n ) {\n return undefined\n }\n return originalConsoleError(...args)\n }\n\n /* We set up observer to be able to regenerate after react-refresh\n updates our hidden element.\n */\n const observer = new MutationObserver(onHeadRendered)\n observer.observe(hiddenRoot, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n })\n}\n\nexport function headHandlerForBrowser({\n pageComponent,\n staticQueryResults,\n pageComponentProps,\n}) {\n useEffect(() => {\n if (pageComponent?.Head) {\n headExportValidator(pageComponent.Head)\n\n const { render } = reactDOMUtils()\n\n const HeadElement = (\n \n )\n\n const WrapHeadElement = apiRunner(\n `wrapRootElement`,\n { element: HeadElement },\n HeadElement,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n render(\n // just a hack to call the callback after react has done first render\n // Note: In dev, we call onHeadRendered twice( in FireCallbackInEffect and after mutualution observer dectects initail render into hiddenRoot) this is for hot reloading\n // In Prod we only call onHeadRendered in FireCallbackInEffect to render to head\n \n \n {WrapHeadElement}\n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n removeHtmlAndBodyAttributes(keysOfHtmlAndBodyAttributes)\n }\n })\n}\n","import React, { Suspense, createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n let pageElement\n if (props.pageResources.partialHydration) {\n pageElement = props.pageResources.partialHydration\n } else {\n pageElement = createElement(preferDefault(props.pageResources.component), {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n })\n }\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n {\n element: pageElement,\n props: pageComponentProps,\n },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport {\n navigate as reachNavigate,\n globalHistory,\n} from \"@gatsbyjs/reach-router\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n const { hash, search } = window.location\n\n if (redirect != null) {\n window.___replace(redirect.toPath + search + hash)\n return true\n } else {\n return false\n }\n}\n\n// Catch unhandled chunk loading errors and force a restart of the app.\nlet nextRoute = ``\n\nwindow.addEventListener(`unhandledrejection`, event => {\n if (/loading chunk \\d* failed./i.test(event.reason)) {\n if (nextRoute) {\n window.location.pathname = nextRoute\n }\n }\n})\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n nextRoute = location.pathname\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n const { pathname, search, hash } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath + search + hash\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname + search + hash\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname + search).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname + search + hash\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(nextProps) {\n if (compareLocationProps(this.props.location, nextProps.location)) {\n onPreRouteUpdate(nextProps.location, this.props.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates, maybeGetBrowserRedirect }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources:\n pageResources ||\n loader.loadPageSync(location.pathname + location.search, {\n withErrorDetails: true,\n }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(\n location.pathname + location.search,\n {\n withErrorDetails: true,\n }\n )\n\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (\n process.env.NODE_ENV !== `production` &&\n (!this.state.pageResources ||\n this.state.pageResources.status === PageResourceStatus.Error)\n ) {\n const message = `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n if (this.state.pageResources?.error) {\n console.error(message)\n throw this.state.pageResources.error\n }\n\n throw new Error(message)\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"./static-query\"\nimport {\n SlicesMapContext,\n SlicesContext,\n SlicesResultsContext,\n} from \"./slice/context\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n getSliceResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\nimport { reactDOMUtils } from \"./react-dom-utils\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths, window.pageData)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nconst { render, hydrate } = reactDOMUtils()\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\nconst reloadStorageKey = `gatsby-reload-compilation-hash-match`\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).filter(Boolean).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n const slicesContext = {\n renderEnvironment: `browser`,\n }\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n const sliceResults = getSliceResults()\n\n return (\n \n \n \n \n \n {children}\n \n \n \n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n \n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). SSR\n // page paths might include search params, while SSG and DSG won't.\n // If page path include search params we also compare query params.\n // But only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !==\n browserLoc.pathname + (pagePath.includes(`?`) ? browserLoc.search : ``) &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath.match(/^\\/(404|500)(\\/?|.html)$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(\n __BASE_PATH__ +\n pagePath +\n (!pagePath.includes(`?`) ? browserLoc.search : ``) +\n browserLoc.hash,\n {\n replace: true,\n }\n )\n }\n\n // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512\n const getSessionStorage = () => {\n try {\n return sessionStorage\n } catch {\n return null\n }\n }\n\n publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => {\n const sessionStorage = getSessionStorage()\n\n if (\n page?.page?.webpackCompilationHash &&\n page.page.webpackCompilationHash !== window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n // We have not matching html + js (inlined `window.___webpackCompilationHash`)\n // with our data (coming from `app-data.json` file). This can cause issues such as\n // errors trying to load static queries (as list of static queries is inside `page-data`\n // which might not match to currently loaded `.js` scripts).\n // We are making attempt to reload if hashes don't match, but we also have to handle case\n // when reload doesn't fix it (possibly broken deploy) so we don't end up in infinite reload loop\n if (sessionStorage) {\n const isReloaded = sessionStorage.getItem(reloadStorageKey) === `1`\n\n if (!isReloaded) {\n sessionStorage.setItem(reloadStorageKey, `1`)\n window.location.reload(true)\n return\n }\n }\n }\n\n if (sessionStorage) {\n sessionStorage.removeItem(reloadStorageKey)\n }\n\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n if (performance.mark) {\n performance.mark(`onInitialClientRender`)\n }\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return {SiteRoot}\n }\n\n const focusEl = document.getElementById(`gatsby-focus-wrapper`)\n\n // Client only pages have any empty body so we just do a normal\n // render to avoid React complaining about hydration mis-matches.\n let defaultRenderer = render\n if (focusEl && focusEl.children.length) {\n defaultRenderer = hydrate\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n defaultRenderer\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n renderer(, rootElement)\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n\n return\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","const map = new WeakMap()\n\nexport function reactDOMUtils() {\n const reactDomClient = require(`react-dom/client`)\n\n const render = (Component, el) => {\n let root = map.get(el)\n if (!root) {\n map.set(el, (root = reactDomClient.createRoot(el)))\n }\n root.render(Component)\n }\n\n const hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n\n return { render, hydrate }\n}\n","import redirects from \"./redirects.json\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nexport function maybeGetBrowserRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n return redirect\n}\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","import React from \"react\"\n\nconst SlicesResultsContext = React.createContext({})\nconst SlicesContext = React.createContext({})\nconst SlicesMapContext = React.createContext({})\nconst SlicesPropsContext = React.createContext({})\n\nexport {\n SlicesResultsContext,\n SlicesContext,\n SlicesMapContext,\n SlicesPropsContext,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { createServerOrClientContext } from \"./context-utils\"\n\nconst StaticQueryContext = createServerOrClientContext(`StaticQuery`, {})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nlet warnedAboutStaticQuery = false\n\n// TODO(v6): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n if (process.env.NODE_ENV === `development` && !warnedAboutStaticQuery) {\n console.warn(\n `The component is deprecated and will be removed in Gatsby v6. Use useStaticQuery instead. Refer to the migration guide for more information: https://gatsby.dev/migrating-4-to-5/#staticquery--is-deprecated`\n )\n warnedAboutStaticQuery = true\n }\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n // TODO(v5): Remove since we require React >= 18\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nexport { StaticQuery, StaticQueryContext, useStaticQuery }\n","import React from \"react\"\n\n// Ensure serverContext is not created more than once as React will throw when creating it more than once\n// https://github.com/facebook/react/blob/dd2d6522754f52c70d02c51db25eb7cbd5d1c8eb/packages/react/src/ReactServerContext.js#L101\nconst createServerContext = (name, defaultValue = null) => {\n /* eslint-disable no-undef */\n if (!globalThis.__SERVER_CONTEXT) {\n globalThis.__SERVER_CONTEXT = {}\n }\n\n if (!globalThis.__SERVER_CONTEXT[name]) {\n globalThis.__SERVER_CONTEXT[name] = React.createServerContext(\n name,\n defaultValue\n )\n }\n\n return globalThis.__SERVER_CONTEXT[name]\n}\n\nfunction createServerOrClientContext(name, defaultValue) {\n if (React.createServerContext) {\n return createServerContext(name, defaultValue)\n }\n\n return React.createContext(defaultValue)\n}\n\nexport { createServerOrClientContext }\n","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.BreakpointProvider = exports.BreakpointContext = void 0;\nexports.useBreakpoint = useBreakpoint;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _react = _interopRequireWildcard(require(\"react\"));\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nconst defaultValue = {};\nconst BreakpointContext = exports.BreakpointContext = /*#__PURE__*/(0, _react.createContext)(defaultValue);\nconst BreakpointProvider = ({\n children,\n queries\n}) => {\n const [queryMatch, setQueryMatch] = (0, _react.useState)({});\n (0, _react.useEffect)(() => {\n const mediaQueryLists = {};\n const keys = Object.keys(queries);\n let isAttached = false;\n const handleQueryListener = () => {\n const updatedMatches = keys.reduce((acc, media) => {\n acc[media] = !!(mediaQueryLists[media] && mediaQueryLists[media].matches);\n return acc;\n }, {});\n setQueryMatch(updatedMatches);\n };\n if (window && window.matchMedia) {\n const matches = {};\n keys.forEach(media => {\n if (typeof queries[media] === 'string') {\n mediaQueryLists[media] = window.matchMedia(queries[media]);\n matches[media] = mediaQueryLists[media].matches;\n } else {\n matches[media] = false;\n }\n });\n setQueryMatch(matches);\n isAttached = true;\n keys.forEach(media => {\n if (typeof queries[media] === 'string') {\n mediaQueryLists[media].addListener(handleQueryListener);\n }\n });\n }\n return () => {\n if (isAttached) {\n keys.forEach(media => {\n if (typeof queries[media] === 'string') {\n mediaQueryLists[media].removeListener(handleQueryListener);\n }\n });\n }\n };\n }, [queries]);\n return /*#__PURE__*/_react.default.createElement(BreakpointContext.Provider, {\n value: queryMatch\n }, children);\n};\nexports.BreakpointProvider = BreakpointProvider;\nBreakpointProvider.propTypes = {\n children: _propTypes.default.element.isRequired,\n queries: _propTypes.default.object.isRequired\n};\nfunction useBreakpoint() {\n const context = (0, _react.useContext)(BreakpointContext);\n if (context === defaultValue) {\n throw new Error('useBreakpoint must be used within BreakpointProvider');\n }\n return context;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.defaultQueries = void 0;\nconst defaultQueries = exports.defaultQueries = {\n xs: '(max-width: 320px)',\n sm: '(max-width: 720px)',\n md: '(max-width: 1024px)',\n l: '(max-width: 1536px)'\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.wrapRootElement = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _constants = require(\"./constants\");\nvar _BreakpointProvider = require(\"./BreakpointProvider\");\n// eslint-disable-next-line no-unused-vars\n\nconst wrapRootElement = ({\n element\n}, {\n queries = null\n}) => {\n return /*#__PURE__*/_react.default.createElement(_BreakpointProvider.BreakpointProvider, {\n queries: queries !== null ? queries : _constants.defaultQueries\n }, element);\n};\nexports.wrapRootElement = wrapRootElement;","const listOfMetricsSend = new Set();\nfunction debounce(fn, timeout) {\n let timer = null;\n return function (...args) {\n if (timer) {\n clearTimeout(timer);\n }\n timer = setTimeout(fn, timeout, ...args);\n };\n}\nfunction sendWebVitals() {\n function sendData(data) {\n if (listOfMetricsSend.has(data.name)) {\n return;\n }\n listOfMetricsSend.add(data.name);\n sendToGoogleAnalytics(data);\n }\n return import(`web-vitals/base`).then(({\n getLCP,\n getFID,\n getCLS\n }) => {\n const debouncedCLS = debounce(sendData, 3000);\n // we don't need to debounce FID - we send it when it happens\n const debouncedFID = sendData;\n // LCP can occur multiple times so we debounce it\n const debouncedLCP = debounce(sendData, 3000);\n\n // With the true flag, we measure all previous occurences too, in case we start listening to late.\n getCLS(debouncedCLS, true);\n getFID(debouncedFID, true);\n getLCP(debouncedLCP, true);\n });\n}\nfunction sendToGoogleAnalytics({\n name,\n value,\n id\n}) {\n window.ga(`send`, `event`, {\n eventCategory: `Web Vitals`,\n eventAction: name,\n // The `id` value will be unique to the current page load. When sending\n // multiple values from the same page (e.g. for CLS), Google Analytics can\n // compute a total by grouping on this ID (note: requires `eventLabel` to\n // be a dimension in your report).\n eventLabel: id,\n // Google Analytics metrics must be integers, so the value is rounded.\n // For CLS the value is first multiplied by 1000 for greater precision\n // (note: increase the multiplier for greater precision if needed).\n eventValue: Math.round(name === `CLS` ? value * 1000 : value),\n // Use a non-interaction event to avoid affecting bounce rate.\n nonInteraction: true,\n // Use `sendBeacon()` if the browser supports it.\n transport: `beacon`\n });\n}\nexport const onRouteUpdate = ({\n location\n}, pluginOptions = {}) => {\n const ga = window.ga;\n if (process.env.NODE_ENV !== `production` || typeof ga !== `function`) {\n return null;\n }\n const pathIsExcluded = location && typeof window.excludeGAPaths !== `undefined` && window.excludeGAPaths.some(rx => rx.test(location.pathname));\n if (pathIsExcluded) return null;\n\n // wrap inside a timeout to make sure react-helmet is done with it's changes (https://github.com/gatsbyjs/gatsby/issues/9139)\n // reactHelmet is using requestAnimationFrame: https://github.com/nfl/react-helmet/blob/5.2.0/src/HelmetUtils.js#L296-L299\n const sendPageView = () => {\n const pagePath = location ? location.pathname + location.search + location.hash : undefined;\n ga(`set`, `page`, pagePath);\n ga(`send`, `pageview`);\n };\n\n // Minimum delay for reactHelmet's requestAnimationFrame\n const delay = Math.max(32, pluginOptions.pageTransitionDelay || 0);\n setTimeout(sendPageView, delay);\n return null;\n};\nexport function onInitialClientRender(_, pluginOptions) {\n if (process.env.NODE_ENV === `production` && typeof ga === `function` && pluginOptions.enableWebVitalsTracking) {\n sendWebVitals();\n }\n}","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\";\n\n// when we don't have localisation in our manifest, we tree shake everything away\nexport const onRouteUpdate = function onRouteUpdate({\n location\n}, pluginOptions) {\n if (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n const {\n localize\n } = pluginOptions;\n const manifestFilename = getManifestForPathname(location.pathname, localize, true);\n const manifestEl = document.head.querySelector(`link[rel=\"manifest\"]`);\n if (manifestEl) {\n manifestEl.setAttribute(`href`, withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _gatsby = require(\"gatsby\");\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @param {boolean} shouldPrependPathPrefix\n * @return string\n */\nvar _default = (pathname, localizedManifests, shouldPrependPathPrefix = false) => {\n const defaultFilename = `manifest.webmanifest`;\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n return pathname.startsWith(startUrl);\n });\n if (!localizedManifest) {\n return defaultFilename;\n }\n return `manifest_${localizedManifest.lang}.webmanifest`;\n};\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.I18nextContext = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar I18nextContext = /*#__PURE__*/_react.default.createContext({\n language: 'en',\n languages: ['en'],\n routed: false,\n defaultLanguage: 'en',\n generateDefaultLanguagePage: false,\n originalPath: '/',\n path: '/'\n});\nexports.I18nextContext = I18nextContext;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.wrapPageElement = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/taggedTemplateLiteralLoose\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _gatsby = require(\"gatsby\");\nvar _browserLang = _interopRequireDefault(require(\"browser-lang\"));\nvar _types = require(\"../types\");\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\nvar _reactI18next = require(\"react-i18next\");\nvar _i18nextContext = require(\"../i18nextContext\");\nvar _outdent = _interopRequireDefault(require(\"outdent\"));\nvar _templateObject;\nvar withI18next = function withI18next(i18n, context) {\n return function (children) {\n return /*#__PURE__*/_react.default.createElement(_reactI18next.I18nextProvider, {\n i18n: i18n\n }, /*#__PURE__*/_react.default.createElement(_i18nextContext.I18nextContext.Provider, {\n value: context\n }, children));\n };\n};\nvar removePathPrefix = function removePathPrefix(pathname, stripTrailingSlash) {\n var pathPrefix = (0, _gatsby.withPrefix)('/');\n var result = pathname;\n if (pathname.startsWith(pathPrefix)) {\n result = pathname.replace(pathPrefix, '/');\n }\n if (stripTrailingSlash && result.endsWith('/')) {\n return result.slice(0, -1);\n }\n return result;\n};\nvar wrapPageElement = function wrapPageElement(_ref, _ref2) {\n var _data$localeJsonNodeN, _i18nextOptions$defau;\n var element = _ref.element,\n props = _ref.props;\n var _ref2$i18nextOptions = _ref2.i18nextOptions,\n i18nextOptions = _ref2$i18nextOptions === void 0 ? {} : _ref2$i18nextOptions,\n _ref2$redirect = _ref2.redirect,\n redirect = _ref2$redirect === void 0 ? true : _ref2$redirect,\n _ref2$generateDefault = _ref2.generateDefaultLanguagePage,\n generateDefaultLanguagePage = _ref2$generateDefault === void 0 ? false : _ref2$generateDefault,\n siteUrl = _ref2.siteUrl,\n _ref2$localeJsonNodeN = _ref2.localeJsonNodeName,\n localeJsonNodeName = _ref2$localeJsonNodeN === void 0 ? 'locales' : _ref2$localeJsonNodeN,\n fallbackLanguage = _ref2.fallbackLanguage,\n trailingSlash = _ref2.trailingSlash;\n if (!props) return;\n var data = props.data,\n pageContext = props.pageContext,\n location = props.location;\n var _pageContext$i18n = pageContext.i18n,\n routed = _pageContext$i18n.routed,\n language = _pageContext$i18n.language,\n languages = _pageContext$i18n.languages,\n originalPath = _pageContext$i18n.originalPath,\n defaultLanguage = _pageContext$i18n.defaultLanguage,\n path = _pageContext$i18n.path;\n var isRedirect = redirect && !routed;\n if (isRedirect) {\n var search = location.search;\n\n // Skip build, Browsers only\n if (typeof window !== 'undefined') {\n var detected = window.localStorage.getItem(_types.LANGUAGE_KEY) || (0, _browserLang.default)({\n languages: languages,\n fallback: fallbackLanguage || language\n });\n if (!languages.includes(detected)) {\n detected = language;\n }\n window.localStorage.setItem(_types.LANGUAGE_KEY, detected);\n if (detected !== defaultLanguage) {\n var queryParams = search || '';\n var stripTrailingSlash = trailingSlash === 'never';\n var newUrl = (0, _gatsby.withPrefix)(\"/\" + detected + removePathPrefix(location.pathname, stripTrailingSlash) + queryParams + location.hash);\n // @ts-ignore\n window.___replace(newUrl);\n return null;\n }\n }\n }\n var localeNodes = (data === null || data === void 0 ? void 0 : (_data$localeJsonNodeN = data[localeJsonNodeName]) === null || _data$localeJsonNodeN === void 0 ? void 0 : _data$localeJsonNodeN.edges) || [];\n if (languages.length > 1 && localeNodes.length === 0 && process.env.NODE_ENV === 'development') {\n console.error((0, _outdent.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"\\n No translations were found in \\\"\", \"\\\" key for \\\"\", \"\\\". \\n You need to add a graphql query to every page like this:\\n \\n export const query = graphql`\\n query($language: String!) {\\n \", \": allLocale(language: {eq: $language}) {\\n edges {\\n node {\\n ns\\n data\\n language\\n }\\n }\\n }\\n }\\n `;\\n \"], [\"\\n No translations were found in \\\"\", \"\\\" key for \\\"\", \"\\\". \\n You need to add a graphql query to every page like this:\\n \\n export const query = graphql\\\\`\\n query($language: String!) {\\n \", \": allLocale(language: {eq: $language}) {\\n edges {\\n node {\\n ns\\n data\\n language\\n }\\n }\\n }\\n }\\n \\\\`;\\n \"])), localeJsonNodeName, originalPath, localeJsonNodeName));\n }\n var namespaces = localeNodes.map(function (_ref3) {\n var node = _ref3.node;\n return node.ns;\n });\n\n // We want to set default namespace to a page namespace if it exists\n // and use other namespaces as fallback\n // this way you dont need to specify namespaces in pages\n var defaultNS = ((_i18nextOptions$defau = i18nextOptions.defaultNS) === null || _i18nextOptions$defau === void 0 ? void 0 : _i18nextOptions$defau.toString()) || 'translation';\n defaultNS = namespaces.find(function (ns) {\n return ns !== defaultNS;\n }) || defaultNS;\n var fallbackNS = namespaces.filter(function (ns) {\n return ns !== defaultNS;\n });\n var resources = localeNodes.reduce(function (res, _ref4) {\n var node = _ref4.node;\n var parsedData = typeof node.data === 'object' ? node.data : JSON.parse(node.data);\n if (!(node.language in res)) res[node.language] = {};\n res[node.language][node.ns || defaultNS] = parsedData;\n return res;\n }, {});\n var i18n = _i18next.default.createInstance();\n i18n.init((0, _extends2.default)({}, i18nextOptions, {\n resources: resources,\n lng: language,\n fallbackLng: defaultLanguage,\n defaultNS: defaultNS,\n fallbackNS: fallbackNS,\n react: (0, _extends2.default)({}, i18nextOptions.react, {\n useSuspense: false\n })\n }));\n if (i18n.language !== language) {\n i18n.changeLanguage(language);\n }\n var context = {\n routed: routed,\n language: language,\n languages: languages,\n originalPath: originalPath,\n defaultLanguage: defaultLanguage,\n generateDefaultLanguagePage: generateDefaultLanguagePage,\n siteUrl: siteUrl,\n path: path\n };\n return withI18next(i18n, context)(element);\n};\nexports.wrapPageElement = wrapPageElement;","\"use strict\";\n\nexports.__esModule = true;\nexports.LANGUAGE_KEY = void 0;\nvar LANGUAGE_KEY = 'gatsby-i18next-language';\nexports.LANGUAGE_KEY = LANGUAGE_KEY;","const {wrapPageElement} = require('./dist/plugin/wrapPageElement');\nexports.wrapPageElement = wrapPageElement;\n","'use strict';\n\nvar _typeof = require('@babel/runtime/helpers/typeof');\nvar _classCallCheck = require('@babel/runtime/helpers/classCallCheck');\nvar _createClass = require('@babel/runtime/helpers/createClass');\nvar _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');\nvar _inherits = require('@babel/runtime/helpers/inherits');\nvar _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');\nvar _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _toArray = require('@babel/runtime/helpers/toArray');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);\nvar _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);\nvar _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);\nvar _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);\nvar _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);\nvar _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);\nvar _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _toArray__default = /*#__PURE__*/_interopDefaultLegacy(_toArray);\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass__default['default'](Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread(_objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck__default['default'](this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass__default['default'](EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n\n return matched;\n}\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default['default'](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default['default'](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default['default'](this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n\n current = current[paths[i]];\n }\n\n return current;\n}\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits__default['default'](ResourceStore, _EventEmitter);\n\n var _super = _createSuper(ResourceStore);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck__default['default'](this, ResourceStore);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n\n return _this;\n }\n\n _createClass__default['default'](ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$1(_objectSpread$1({}, pack), resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$1(_objectSpread$1({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf__default['default'](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default['default'](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default['default'](this, result); }; }\n\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits__default['default'](Translator, _EventEmitter);\n\n var _super = _createSuper$1(Translator);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, Translator);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized__default['default'](_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass__default['default'](Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n\n if (key === undefined || key === null) {\n return false;\n }\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof__default['default'](options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n\n if (returnDetails) {\n resolved.res = key;\n return resolved;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$2(_objectSpread$2({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n\n return r;\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$2(_objectSpread$2({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$2(_objectSpread$2({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$2(_objectSpread$2({}, options), {\n interpolation: _objectSpread$2(_objectSpread$2({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$2({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck__default['default'](this, LanguageUtil);\n\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass__default['default'](LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n\n this.rules = createRules();\n }\n\n _createClass__default['default'](PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (!rule) {\n return [];\n }\n\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n\n return this.getSuffixRetroCompatible(rule, count);\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default['default'](this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass__default['default'](Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && options.hasOwnProperty(matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread$3({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray__default['default'](_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\n\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n\n return formatter(val);\n };\n}\n\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default['default'](this, Formatter);\n\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, options);\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$4(_objectSpread$4({}, options), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val, options.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n\n _createClass__default['default'](Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n\n var formats = _format.split(this.formatSeparator);\n\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n\n if (_this.formats[formatName]) {\n var formatted = mem;\n\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$4(_objectSpread$4(_objectSpread$4({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n\n return mem;\n }, value);\n return result;\n }\n }]);\n\n return Formatter;\n}();\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf__default['default'](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default['default'](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default['default'](this, result); }; }\n\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits__default['default'](Connector, _EventEmitter);\n\n var _super = _createSuper$2(Connector);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck__default['default'](this, Connector);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass__default['default'](Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loaded[l][ns] === undefined) loaded[l][ns] = true;\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n\n this.readingCalls++;\n return this.backend[fcName](lng, ns, function (err, data) {\n _this3.readingCalls--;\n\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread$5(_objectSpread$5({}, options), {}, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof__default['default'](args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof__default['default'](args[2]) === 'object' || _typeof__default['default'](args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf__default['default'](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default['default'](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default['default'](this, result); }; }\n\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction noop() {}\n\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\n\nvar I18n = function (_EventEmitter) {\n _inherits__default['default'](I18n, _EventEmitter);\n\n var _super = _createSuper$3(I18n);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck__default['default'](this, I18n);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized__default['default'](_this));\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn__default['default'](_this, _assertThisInitialized__default['default'](_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass__default['default'](I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n\n var defOpts = get();\n this.options = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, defOpts), this.options), transformOptions(options));\n\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread$6(_objectSpread$6({}, defOpts.interpolation), this.options.interpolation);\n }\n\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var formatter;\n\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n\n _this4.setResolvedLanguage(l);\n };\n\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof__default['default'](opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread$6({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, this.options), options), {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread$6({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\n_defineProperty__default['default'](I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\n\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nmodule.exports = instance;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","// In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either.\nfunction noop() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n}\nfunction createWeakMap() {\n if (typeof WeakMap !== \"undefined\") {\n return new WeakMap();\n }\n else {\n return fakeSetOrMap();\n }\n}\n/**\n * Creates and returns a no-op implementation of a WeakMap / WeakSet that never stores anything.\n */\nfunction fakeSetOrMap() {\n return {\n add: noop,\n delete: noop,\n get: noop,\n set: noop,\n has: function (k) {\n return false;\n },\n };\n}\n// Safe hasOwnProperty\nvar hop = Object.prototype.hasOwnProperty;\nvar has = function (obj, prop) {\n return hop.call(obj, prop);\n};\n// Copy all own enumerable properties from source to target\nfunction extend(target, source) {\n for (var prop in source) {\n if (has(source, prop)) {\n target[prop] = source[prop];\n }\n }\n return target;\n}\nvar reLeadingNewline = /^[ \\t]*(?:\\r\\n|\\r|\\n)/;\nvar reTrailingNewline = /(?:\\r\\n|\\r|\\n)[ \\t]*$/;\nvar reStartsWithNewlineOrIsEmpty = /^(?:[\\r\\n]|$)/;\nvar reDetectIndentation = /(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/;\nvar reOnlyWhitespaceWithAtLeastOneNewline = /^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;\nfunction _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options) {\n // If first interpolated value is a reference to outdent,\n // determine indentation level from the indentation of the interpolated value.\n var indentationLevel = 0;\n var match = strings[0].match(reDetectIndentation);\n if (match) {\n indentationLevel = match[1].length;\n }\n var reSource = \"(\\\\r\\\\n|\\\\r|\\\\n).{0,\" + indentationLevel + \"}\";\n var reMatchIndent = new RegExp(reSource, \"g\");\n if (firstInterpolatedValueSetsIndentationLevel) {\n strings = strings.slice(1);\n }\n var newline = options.newline, trimLeadingNewline = options.trimLeadingNewline, trimTrailingNewline = options.trimTrailingNewline;\n var normalizeNewlines = typeof newline === \"string\";\n var l = strings.length;\n var outdentedStrings = strings.map(function (v, i) {\n // Remove leading indentation from all lines\n v = v.replace(reMatchIndent, \"$1\");\n // Trim a leading newline from the first string\n if (i === 0 && trimLeadingNewline) {\n v = v.replace(reLeadingNewline, \"\");\n }\n // Trim a trailing newline from the last string\n if (i === l - 1 && trimTrailingNewline) {\n v = v.replace(reTrailingNewline, \"\");\n }\n // Normalize newlines\n if (normalizeNewlines) {\n v = v.replace(/\\r\\n|\\n|\\r/g, function (_) { return newline; });\n }\n return v;\n });\n return outdentedStrings;\n}\nfunction concatStringsAndValues(strings, values) {\n var ret = \"\";\n for (var i = 0, l = strings.length; i < l; i++) {\n ret += strings[i];\n if (i < l - 1) {\n ret += values[i];\n }\n }\n return ret;\n}\nfunction isTemplateStringsArray(v) {\n return has(v, \"raw\") && has(v, \"length\");\n}\n/**\n * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to\n * makeInstance\n * @param options\n * @return {outdent}\n */\nfunction createInstance(options) {\n /** Cache of pre-processed template literal arrays */\n var arrayAutoIndentCache = createWeakMap();\n /**\n * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent,\n * before interpolated values are injected.\n */\n var arrayFirstInterpSetsIndentCache = createWeakMap();\n function outdent(stringsOrOptions) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n /* tslint:enable:no-shadowed-variable */\n if (isTemplateStringsArray(stringsOrOptions)) {\n var strings = stringsOrOptions;\n // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace?\n var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) &&\n reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) &&\n reStartsWithNewlineOrIsEmpty.test(strings[1]);\n // Perform outdentation\n var cache = firstInterpolatedValueSetsIndentationLevel\n ? arrayFirstInterpSetsIndentCache\n : arrayAutoIndentCache;\n var renderedArray = cache.get(strings);\n if (!renderedArray) {\n renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options);\n cache.set(strings, renderedArray);\n }\n /** If no interpolated values, skip concatenation step */\n if (values.length === 0) {\n return renderedArray[0];\n }\n /** Concatenate string literals with interpolated values */\n var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values);\n return rendered;\n }\n else {\n // Create and return a new instance of outdent with the given options\n return createInstance(extend(extend({}, options), stringsOrOptions || {}));\n }\n }\n var fullOutdent = extend(outdent, {\n string: function (str) {\n return _outdentArray([str], false, options)[0];\n },\n });\n return fullOutdent;\n}\nvar defaultOutdent = createInstance({\n trimLeadingNewline: true,\n trimTrailingNewline: true,\n});\n// Named exports. Simple and preferred.\n// import outdent from 'outdent';\nexport default defaultOutdent;\n// import {outdent} from 'outdent';\nexport { defaultOutdent as outdent };\nif (typeof module !== \"undefined\") {\n // In webpack harmony-modules environments, module.exports is read-only,\n // so we fail gracefully.\n try {\n module.exports = defaultOutdent;\n Object.defineProperty(defaultOutdent, \"__esModule\", { value: true });\n defaultOutdent.default = defaultOutdent;\n defaultOutdent.outdent = defaultOutdent;\n }\n catch (e) { }\n}\n//# sourceMappingURL=index.js.map","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useContext, isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { getI18n, I18nContext, getDefaults } from './context';\nimport { warn, warnOnce } from './utils';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createContext } from 'react';\nimport { unescape } from './unescape';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nvar i18nInstance;\nexport var I18nContext = createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"forwardedRef\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createElement, forwardRef as forwardRefReact } from 'react';\nimport { useTranslation } from './useTranslation';\nimport { getDisplayName } from './utils';\nexport function withTranslation(ns) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n var forwardedRef = _ref.forwardedRef,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTranslation = useTranslation(ns, _objectSpread(_objectSpread({}, rest), {}, {\n keyPrefix: options.keyPrefix\n })),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return createElement(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? forwardRefReact(forwardRef) : I18nextWithTranslation;\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"ns\", \"children\"];\nimport { useTranslation } from './useTranslation';\nexport function Translation(props) {\n var ns = props.ns,\n children = props.children,\n options = _objectWithoutProperties(props, _excluded);\n\n var _useTranslation = useTranslation(ns, options),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n return children(t, {\n i18n: i18n,\n lng: i18n.language\n }, ready);\n}","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context';\nexport function I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = useMemo(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value: value\n }, children);\n}","import { useContext } from 'react';\nimport { getI18n, I18nContext } from './context';\nexport function useSSR(initialI18nStore, initialLanguage) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n.options && i18n.options.isClone) return;\n\n if (initialI18nStore && !i18n.initializedStoreOnce) {\n i18n.services.resourceStore.data = initialI18nStore;\n i18n.options.ns = Object.values(initialI18nStore).reduce(function (mem, lngResources) {\n Object.keys(lngResources).forEach(function (ns) {\n if (mem.indexOf(ns) < 0) mem.push(ns);\n });\n return mem;\n }, i18n.options.ns);\n i18n.initializedStoreOnce = true;\n i18n.isInitialized = true;\n }\n\n if (initialLanguage && !i18n.initializedLanguageOnce) {\n i18n.changeLanguage(initialLanguage);\n i18n.initializedLanguageOnce = true;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"initialI18nStore\", \"initialLanguage\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createElement } from 'react';\nimport { useSSR } from './useSSR';\nimport { composeInitialProps } from './context';\nimport { getDisplayName } from './utils';\nexport function withSSR() {\n return function Extend(WrappedComponent) {\n function I18nextWithSSR(_ref) {\n var initialI18nStore = _ref.initialI18nStore,\n initialLanguage = _ref.initialLanguage,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n useSSR(initialI18nStore, initialLanguage);\n return createElement(WrappedComponent, _objectSpread({}, rest));\n }\n\n I18nextWithSSR.getInitialProps = composeInitialProps(WrappedComponent);\n I18nextWithSSR.displayName = \"withI18nextSSR(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithSSR.WrappedComponent = WrappedComponent;\n return I18nextWithSSR;\n };\n}","export { Trans } from './Trans';\nexport { useTranslation } from './useTranslation';\nexport { withTranslation } from './withTranslation';\nexport { Translation } from './Translation';\nexport { I18nextProvider } from './I18nextProvider';\nexport { withSSR } from './withSSR';\nexport { useSSR } from './useSSR';\nexport { I18nContext, initReactI18next, setDefaults, getDefaults, setI18n, getI18n, composeInitialProps, getInitialProps } from './context';\nexport var date = function date() {\n return '';\n};\nexport var time = function time() {\n return '';\n};\nexport var number = function number() {\n return '';\n};\nexport var select = function select() {\n return '';\n};\nexport var plural = function plural() {\n return '';\n};\nexport var selectOrdinal = function selectOrdinal() {\n return '';\n};","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","/**\n * @license React\n * react-server-dom-webpack.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var k=require(\"react\"),l={stream:!0},n=new Map,p=Symbol.for(\"react.element\"),q=Symbol.for(\"react.lazy\"),r=Symbol.for(\"react.default_value\"),t=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ContextRegistry;function u(a){t[a]||(t[a]=k.createServerContext(a,r));return t[a]}function v(a,b,c){this._status=a;this._value=b;this._response=c}v.prototype.then=function(a){0===this._status?(null===this._value&&(this._value=[]),this._value.push(a)):a()};\nfunction w(a){switch(a._status){case 3:return a._value;case 1:var b=JSON.parse(a._value,a._response._fromJSON);a._status=3;return a._value=b;case 2:b=a._value;for(var c=b.chunks,d=0;d arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n strings.raw = raw;\n return strings;\n}\nmodule.exports = _taggedTemplateLiteralLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst PartytownSnippet = \"/* Partytown 0.7.6 - MIT builder.io */\\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\\\"/\\\"==(a=(o.lib||\\\"/~partytown/\\\")+(o.debug?\\\"debug/\\\":\\\"\\\"))[0]&&(s=e.querySelectorAll('script[type=\\\"text/partytown\\\"]'),i!=t?i.dispatchEvent(new CustomEvent(\\\"pt1\\\",{detail:t})):(d=setTimeout(f,1e4),e.addEventListener(\\\"pt0\\\",w),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\\\"partytown-sw.js\\\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\\\"statechange\\\",(function(t){\\\"activated\\\"==t.target.state&&h()}))}),console.error):f())))}function h(t){c=e.createElement(t?\\\"script\\\":\\\"iframe\\\"),t||(c.setAttribute(\\\"style\\\",\\\"display:block;width:0;height:0;border:0;visibility:hidden\\\"),c.setAttribute(\\\"aria-hidden\\\",!0)),c.src=a+\\\"partytown-\\\"+(t?\\\"atomics.js?v=0.7.6\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function f(n,r){for(w(),i==t&&(o.forward||[]).map((function(e){delete t[e.split(\\\".\\\")[0]]})),n=0;n {\n const { forward = [], ...filteredConfig } = config || {};\n const configStr = JSON.stringify(filteredConfig, (k, v) => {\n if (typeof v === 'function') {\n v = String(v);\n if (v.startsWith(k + '(')) {\n v = 'function ' + v;\n }\n }\n return v;\n });\n return [\n `!(function(w,p,f,c){`,\n Object.keys(filteredConfig).length > 0\n ? `c=w[p]=Object.assign(w[p]||{},${configStr});`\n : `c=w[p]=w[p]||{};`,\n `c[f]=(c[f]||[])`,\n forward.length > 0 ? `.concat(${JSON.stringify(forward)})` : ``,\n `})(window,'partytown','forward');`,\n snippetCode,\n ].join('');\n};\n\n/**\n * The `type` attribute for Partytown scripts, which does two things:\n *\n * 1. Prevents the `