{"version":3,"file":"interactivity/index.min.js","mappings":"qGACa,IC0BAA,EChBPC,ECRFC,EAgGSC,EC+ETC,EAWAC,EAEEC,EA0BAC,EC/LFC,EAmJEC,EACAC,EC5KKC,ENUEC,EAAgC,CAAC,EACjCC,EAAY,GACZC,EACZ,oECbYC,EAAUC,MAAMD,QAStB,SAASE,EAAOC,EAAKC,GAE3B,IAAK,IAAIR,KAAKQ,EAAOD,EAAIP,GAAKQ,EAAMR,GACpC,OAA6BO,CAC9B,CAQgB,SAAAE,EAAWC,GACtBA,GAAQA,EAAKC,YAAYD,EAAKC,WAAWC,YAAYF,EAC1D,CEXO,SAASG,EAAcC,EAAMN,EAAOO,GAC1C,IACCC,EACAC,EACAjB,EAHGkB,EAAkB,CAAC,EAIvB,IAAKlB,KAAKQ,EACA,OAALR,EAAYgB,EAAMR,EAAMR,GACd,OAALA,EAAYiB,EAAMT,EAAMR,GAC5BkB,EAAgBlB,GAAKQ,EAAMR,GAUjC,GAPImB,UAAUC,OAAS,IACtBF,EAAgBH,SACfI,UAAUC,OAAS,EAAI/B,EAAMgC,KAAKF,UAAW,GAAKJ,GAKjC,mBAARD,GAA2C,MAArBA,EAAKQ,aACrC,IAAKtB,KAAKc,EAAKQ,kBAAa,IACvBJ,EAAgBlB,KACnBkB,EAAgBlB,GAAKc,EAAKQ,aAAatB,IAK1C,OAAOuB,EAAYT,EAAMI,EAAiBF,EAAKC,EAAK,KACrD,CAcO,SAASM,EAAYT,EAAMN,EAAOQ,EAAKC,EAAKO,GAIlD,IAAMC,EAAQ,CACbX,KAAAA,EACAN,MAAAA,EACAQ,IAAAA,EACAC,IAAAA,EACAS,IAAW,KACXC,GAAS,KACTC,IAAQ,EACRC,IAAM,KAKNC,SAAAA,EACAC,IAAY,KACZC,iBAAY,EACZC,IAAuB,MAAZT,IAAqBjC,EAAUiC,EAC1CU,KAAS,EACTC,IAAQ,GAMT,OAFgB,MAAZX,GAAqC,MAAjBlC,EAAQmC,OAAenC,EAAQmC,MAAMA,GAEtDA,CACR,CAIC,SAEeW,EAAS5B,GACxB,OAAOA,EAAMO,QACd,CAAC,SC/EesB,EAAc7B,EAAO8B,GACpCC,KAAK/B,MAAQA,EACb+B,KAAKD,QAAUA,CAChB,CA0EgB,SAAAE,EAAcf,EAAOgB,GACpC,GAAkB,MAAdA,EAEH,OAAOhB,EAAKE,GACTa,EAAcf,EAAKE,GAAUF,EAAKS,IAAU,GAC5C,KAIJ,IADA,IAAIQ,EACGD,EAAahB,EAAKC,IAAWN,OAAQqB,IAG3C,GAAe,OAFfC,EAAUjB,EAAKC,IAAWe,KAEa,MAAhBC,EAAOb,IAI7B,OAAOa,EAAOb,IAShB,MAA4B,mBAAdJ,EAAMX,KAAqB0B,EAAcf,GAAS,IACjE,CA2CA,SAASkB,EAAwBlB,GAAjC,IAGWzB,EACJ4C,EAHN,GAA+B,OAA1BnB,EAAQA,EAAKE,KAAyC,MAApBF,EAAKM,IAAqB,CAEhE,IADAN,EAAKI,IAAQJ,EAAKM,IAAYc,KAAO,KAC5B7C,EAAI,EAAGA,EAAIyB,EAAKC,IAAWN,OAAQpB,IAE3C,GAAa,OADT4C,EAAQnB,EAAKC,IAAW1B,KACO,MAAd4C,EAAKf,IAAe,CACxCJ,EAAKI,IAAQJ,EAAKM,IAAYc,KAAOD,EAAKf,IAC1C,KACD,CAGD,OAAOc,EAAwBlB,EAChC,CACD,CA4BgB,SAAAqB,EAAcC,KAE1BA,EAACjB,MACDiB,EAACjB,KAAAA,IACFrC,EAAcuD,KAAKD,KAClBE,EAAOC,OACTxD,IAAiBJ,EAAQ6D,sBAEzBzD,EAAeJ,EAAQ6D,oBACNxD,GAAOsD,EAE1B,CASA,SAASA,IAAT,IACKF,EAMEK,EAzGkBC,EAOjBC,EANHC,EACHC,EACAC,EACAC,EAmGD,IAHAjE,EAAckE,KAAK/D,GAGXmD,EAAItD,EAAcmE,SACrBb,EAACjB,MACAsB,EAAoB3D,EAAc2B,OAlGjCkC,OAAAA,EALNE,GADGD,GADoBF,EA0GNN,GAzGMd,KACNJ,IACjB4B,EAAc,GACdC,EAAW,GAERL,EAASQ,OACNP,EAAWhD,EAAO,CAAC,EAAGiD,IACpBtB,IAAasB,EAAQtB,IAAa,EACtC3C,EAAQmC,OAAOnC,EAAQmC,MAAM6B,GAEjCQ,EACCT,EAASQ,IACTP,EACAC,EACAF,EAASU,IACTV,EAASQ,IAAYG,aJzII,GI0IzBT,EAAQpB,IAAyB,CAACqB,GAAU,KAC5CC,EACU,MAAVD,EAAiBhB,EAAce,GAAYC,KJ5IlB,GI6ItBD,EAAQpB,KACXuB,GAGDJ,EAAQrB,IAAasB,EAAQtB,IAC7BqB,EAAQ3B,GAAAD,IAAmB4B,EAAQpB,KAAWoB,EAC9CW,EAAWR,EAAaH,EAAUI,GAE9BJ,EAAQzB,KAAS2B,GACpBb,EAAwBW,IA8EpB7D,EAAc2B,OAASgC,GAI1B3D,EAAckE,KAAK/D,IAItBqD,EAAOC,IAAkB,CAC1B,CGlNO,SAASgB,EACfC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAhB,EACAD,EACAkB,EACAhB,GAXM,IAaF1D,EAEHuD,EAEAoB,EAEAC,EAEAC,EAKGC,EAAeR,GAAkBA,EAAc5C,KAAexB,EAE9D6E,EAAoBX,EAAahD,OAMrC,IAJAiD,EAAcvC,IAAY0B,EAC1BwB,EAA0BX,EAAgBD,EAAcU,GACxDtB,EAASa,EAAcvC,IAElB9B,EAAI,EAAGA,EAAI+E,EAAmB/E,IAEhB,OADlB2E,EAAaN,EAAc3C,IAAW1B,MAMrCuD,GAD0B,IAAvBoB,EAAUzC,IACFjC,EAEA6E,EAAYH,EAAUzC,MAAYjC,EAI9C0E,EAAUzC,IAAUlC,EAGpB8D,EACCK,EACAQ,EACApB,EACAgB,EACAC,EACAC,EACAhB,EACAD,EACAkB,EACAhB,GAIDkB,EAASD,EAAU9C,IACf8C,EAAW1D,KAAOsC,EAAStC,KAAO0D,EAAW1D,MAC5CsC,EAAStC,KACZgE,EAAS1B,EAAStC,IAAK,KAAM0D,GAE9BjB,EAASV,KACR2B,EAAW1D,IACX0D,EAAU5C,KAAe6C,EACzBD,IAImB,MAAjBE,GAAmC,MAAVD,IAC5BC,EAAgBD,GPpGS,MOwGzBD,EAAUxC,KACVoB,EAAQ7B,MAAeiD,EAAUjD,IAEjC8B,EAAS0B,EAAOP,EAAYnB,EAAQW,GAEV,mBAAnBQ,EAAW7D,WAAAA,IAClB6D,EAAU7C,IAKV0B,EAASmB,EAAU7C,IACT8C,IACVpB,EAASoB,EAAOO,aAQjBR,EAAU7C,SAAAA,EAGV6C,EAAUxC,MAAW,QAatBkC,EAAcvC,IAAY0B,EAC1Ba,EAAcxC,IAAQgD,CACvB,CAOA,SAASG,EAA0BX,EAAgBD,EAAcU,GAAjE,IAEK9E,EAEA2E,EAEApB,EA+DG6B,EAOAC,EApEDN,EAAoBX,EAAahD,OACnCkE,EAAoBR,EAAY1D,OACnCmE,EAAuBD,EAEpBE,EAAO,EAGX,IADAnB,EAAc3C,IAAa,GACtB1B,EAAI,EAAGA,EAAI+E,EAAmB/E,IAMnB,OAHf2E,EAAaP,EAAapE,KAIJ,kBAAd2E,GACc,mBAAdA,GA8CFS,EAAcpF,EAAIwF,GA/BvBb,EAAaN,EAAc3C,IAAW1B,GANjB,iBAAd2E,GACc,iBAAdA,GAEc,iBAAdA,GACPA,EAAW3C,aAAeyD,OAEiBlE,EAC1C,KACAoD,EACA,KACA,KACA,MAESvE,EAAQuE,GACyBpD,EAC1Ca,EACA,CAAErB,SAAU4D,GACZ,KACA,KACA,eAESA,EAAW3C,aAA6B2C,EAAU/C,IAAU,EAK3BL,EAC1CoD,EAAW7D,KACX6D,EAAWnE,MACXmE,EAAW3D,IACX2D,EAAW1D,IAAM0D,EAAW1D,IAAM,KAClC0D,EAAU1C,KAGgC0C,GAIlChD,GAAW0C,EACrBM,EAAU/C,IAAUyC,EAAczC,IAAU,EAY5C2B,EAAW,MACY,KARjB8B,EAAiBV,EAAUzC,IAAUwD,EAC1Cf,EACAG,EACAM,EACAG,MAMAA,KADAhC,EAAWuB,EAAYO,MAGtB9B,EAAQpB,KP5OW,SOmPU,MAAZoB,GAA2C,OAAvBA,EAAQtB,MAGxB,GAAlBoD,GACHG,IAI6B,mBAAnBb,EAAW7D,OACrB6D,EAAUxC,KP9Pc,QOgQfkD,IAAkBD,IAiBxBC,GAAiBD,EAAc,EAClCI,IACUH,GAAiBD,EAAc,EACzCI,KAEIH,EAAgBD,EACnBI,IAEAA,IAMDb,EAAUxC,KP/Rc,SO+KzBwC,EAAaN,EAAc3C,IAAW1B,GAAK,KAyH7C,GAAIuF,EACH,IAAKvF,EAAI,EAAGA,EAAIsF,EAAmBtF,IAElB,OADhBuD,EAAWuB,EAAY9E,OPxSH,OOySKuD,EAAQpB,OAC5BoB,EAAQ1B,KAASwC,EAAcvC,MAClCuC,EAAcvC,IAAYU,EAAce,IAGzCoC,EAAQpC,EAAUA,GAItB,CAQA,SAAS2B,EAAOU,EAAapC,EAAQW,GAArC,IAIMpD,EACKf,EAFV,GAA+B,mBAApB4F,EAAY9E,KAAoB,CAE1C,IADIC,EAAW6E,EAAWlE,IACjB1B,EAAI,EAAGe,GAAYf,EAAIe,EAASK,OAAQpB,IAC5Ce,EAASf,KAKZe,EAASf,GAAE2B,GAAWiE,EACtBpC,EAAS0B,EAAOnE,EAASf,GAAIwD,EAAQW,IAIvC,OAAOX,CACR,CAAWoC,EAAW/D,KAAS2B,IAC1BA,GAAUoC,EAAY9E,OAASqD,EAAU0B,SAASrC,KACrDA,EAAShB,EAAcoD,IAExBzB,EAAU2B,aAAaF,EAAW/D,IAAO2B,GAAU,MACnDA,EAASoC,EAAW/D,KAGrB,GACC2B,EAASA,GAAUA,EAAO2B,kBACR,MAAV3B,GAAsC,IAApBA,EAAOuC,UAElC,OAAOvC,CACR,CA4BA,SAASkC,EACRf,EACAG,EACAM,EACAG,GAJD,IAMOvE,EAAM2D,EAAW3D,IACjBF,EAAO6D,EAAW7D,KACpBkF,EAAIZ,EAAc,EAClBa,EAAIb,EAAc,EAClB7B,EAAWuB,EAAYM,GAc3B,GACc,OAAb7B,GACCA,GACAvC,GAAOuC,EAASvC,KAChBF,IAASyC,EAASzC,QPhZE,OOiZnByC,EAAQpB,KAEV,OAAOiD,EACD,GAXNG,GACa,MAAZhC,GP1YoB,OO0YCA,EAAQpB,IAA+B,EAAJ,GAWzD,KAAO6D,GAAK,GAAKC,EAAInB,EAAY1D,QAAQ,CACxC,GAAI4E,GAAK,EAAG,CAEX,IADAzC,EAAWuB,EAAYkB,OPvZJ,OO0ZjBzC,EAAQpB,MACTnB,GAAOuC,EAASvC,KAChBF,IAASyC,EAASzC,KAElB,OAAOkF,EAERA,GACD,CAEA,GAAIC,EAAInB,EAAY1D,OAAQ,CAE3B,IADAmC,EAAWuB,EAAYmB,OPpaJ,OOuajB1C,EAAQpB,MACTnB,GAAOuC,EAASvC,KAChBF,IAASyC,EAASzC,KAElB,OAAOmF,EAERA,GACD,CACD,CAGD,OAAQ,CACT,CFvbA,SAASC,EAASC,EAAOnF,EAAKoF,GACd,MAAXpF,EAAI,GACPmF,EAAME,YAAYrF,EAAc,MAAToF,EAAgB,GAAKA,GAE5CD,EAAMnF,GADa,MAAToF,EACG,GACa,iBAATA,GAAqBjG,EAAmBmG,KAAKtF,GACjDoF,EAEAA,EAAQ,IAEvB,CAuBO,SAASC,EAAYE,EAAKC,EAAMJ,EAAOK,EAAUjC,GACvD,IAAIkC,EAEJC,EAAG,GAAa,UAATH,EACN,GAAoB,iBAATJ,EACVG,EAAIJ,MAAMS,QAAUR,MACd,CAKN,GAJuB,iBAAZK,IACVF,EAAIJ,MAAMS,QAAUH,EAAW,IAG5BA,EACH,IAAKD,KAAQC,EACNL,GAASI,KAAQJ,GACtBF,EAASK,EAAIJ,MAAOK,EAAM,IAK7B,GAAIJ,EACH,IAAKI,KAAQJ,EACPK,GAAYL,EAAMI,KAAUC,EAASD,IACzCN,EAASK,EAAIJ,MAAOK,EAAMJ,EAAMI,GAIpC,MAGQA,GAAY,MAAZA,EAAK,IAA0B,MAAZA,EAAK,GAChCE,EACCF,KAAUA,EAAOA,EAAKK,QAAQ,8BAA+B,OAQ7DL,EAJAA,EAAKM,gBAAiBP,GACb,eAATC,GACS,cAATA,EAEOA,EAAKM,cAAczH,MAAM,GACrBmH,EAAKnH,MAAM,GAElBkH,EAAGQ,IAAaR,EAAGQ,EAAc,CAAC,GACvCR,EAAGQ,EAAYP,EAAOE,GAAcN,EAEhCA,EACEK,EAQJL,EAAMY,EAAYP,EAASO,GAP3BZ,EAAMY,EAAYnH,EAClB0G,EAAIU,iBACHT,EACAE,EAAa3G,EAAoBD,EACjC4G,IAMFH,EAAIW,oBACHV,EACAE,EAAa3G,EAAoBD,EACjC4G,OAGI,CACN,GAAiB,8BAAblC,EAIHgC,EAAOA,EAAKK,QAAQ,cAAe,KAAKA,QAAQ,SAAU,UACpD,GACE,SAARL,GACQ,UAARA,GACQ,QAARA,GACQ,QAARA,GACQ,QAARA,GAGQ,YAARA,GACQ,YAARA,GACQ,WAARA,GACQ,WAARA,GACQ,QAARA,GACQ,WAARA,GACAA,KAAQD,EAER,IACCA,EAAIC,GAAiB,MAATJ,EAAgB,GAAKA,EAEjC,MAAMO,CACK,CAAV,MAAOQ,GAAG,CAUO,mBAATf,IAES,MAATA,IAAAA,IAAkBA,GAA+B,MAAZI,EAAK,GAGpDD,EAAIa,gBAAgBZ,GAFpBD,EAAIc,aAAab,EAAc,WAARA,GAA8B,GAATJ,EAAgB,GAAKA,GAInE,CACD,CAOA,SAASkB,EAAiBZ,GAMzB,OAAiBS,SAAAA,GAChB,GAAI5E,KAAIwE,EAAa,CACpB,IAAMQ,EAAehF,KAAIwE,EAAYI,EAAErG,KAAO4F,GAC9C,GAAqB,MAAjBS,EAAEK,EACLL,EAAEK,EAAc3H,SAKNsH,GAAAA,EAAEK,EAAcD,EAAaP,EACvC,OAED,OAAOO,EAAajI,EAAQmI,MAAQnI,EAAQmI,MAAMN,GAAKA,EACxD,CACD,CACD,CG5IgB,SAAArD,EACfK,EACAb,EACAC,EACAgB,EACAC,EACAC,EACAhB,EACAD,EACAkB,EACAhB,GAVe,IAaXgE,EAkBE3E,EAAG4E,EAAOC,EAAUC,EAAUC,EAAUC,EACxCC,EACEC,EAMFC,EACAC,EAyGOnI,EA4BPoI,EACHC,EASSrI,EA6BNoE,EAtMLkE,EAAUhF,EAASxC,KAIpB,YAAIwC,EAAStB,YAA2B,OAAW,KR9CtB,IQiDzBuB,EAAQpB,MACXuC,KRpD0B,GQoDTnB,EAAQpB,KAEzBsC,EAAoB,CADpBjB,EAASF,EAAQzB,IAAQ0B,EAAQ1B,OAI7B6F,EAAMpI,EAAOsC,MAAS8F,EAAIpE,GAE/BiF,EAAO,GAAsB,mBAAXD,EACjB,IAkEC,GAhEIN,EAAW1E,EAAS9C,MAClByH,EACL,cAAeK,GAAWA,EAAQE,UAAUC,OAKzCP,GADJR,EAAMY,EAAQI,cACQnE,EAAcmD,EAAG3F,KACnCoG,EAAmBT,EACpBQ,EACCA,EAAS1H,MAAM4F,MACfsB,EAAG/F,GACJ4C,EAGChB,EAAQxB,IAEXgG,GADAhF,EAAIO,EAAQvB,IAAcwB,EAAQxB,KACNJ,GAAwBoB,EAAC4F,KAGjDV,EAEH3E,EAAQvB,IAAcgB,EAAI,IAAIuF,EAAQN,EAAUG,IAGhD7E,EAAQvB,IAAcgB,EAAI,IAAIV,EAC7B2F,EACAG,GAEDpF,EAAEf,YAAcsG,EAChBvF,EAAE0F,OAASG,GAERV,GAAUA,EAASW,IAAI9F,GAE3BA,EAAEvC,MAAQwH,EACLjF,EAAE+F,QAAO/F,EAAE+F,MAAQ,CAAE,GAC1B/F,EAAET,QAAU6F,EACZpF,EAACgB,IAAkBQ,EACnBoD,EAAQ5E,EAACjB,KAAAA,EACTiB,EAACgG,IAAoB,GACrBhG,EAACiG,IAAmB,IAIjBf,GAAoC,MAAhBlF,EAACkG,MACxBlG,EAACkG,IAAclG,EAAE+F,OAGdb,GAAwD,MAApCK,EAAQY,2BAC3BnG,EAACkG,KAAelG,EAAE+F,QACrB/F,EAACkG,IAAc3I,EAAO,CAAC,EAAGyC,EAACkG,MAG5B3I,EACCyC,EAACkG,IACDX,EAAQY,yBAAyBlB,EAAUjF,EAACkG,OAI9CrB,EAAW7E,EAAEvC,MACbqH,EAAW9E,EAAE+F,MACb/F,EAACd,IAAUqB,EAGPqE,EAEFM,GACoC,MAApCK,EAAQY,0BACgB,MAAxBnG,EAAEoG,oBAEFpG,EAAEoG,qBAGClB,GAA2C,MAAvBlF,EAAEqG,mBACzBrG,EAACgG,IAAkB/F,KAAKD,EAAEqG,uBAErB,CAUN,GARCnB,GACoC,MAApCK,EAAQY,0BACRlB,IAAaJ,GACkB,MAA/B7E,EAAEsG,2BAEFtG,EAAEsG,0BAA0BrB,EAAUG,IAIrCpF,EAAClB,MAC2B,MAA3BkB,EAAEuG,wBAAAA,IACHvG,EAAEuG,sBACDtB,EACAjF,EAACkG,IACDd,IAED7E,EAAQrB,MAAesB,EAAQtB,KAC/B,CAkBD,IAhBIqB,EAAQrB,MAAesB,EAAQtB,MAKlCc,EAAEvC,MAAQwH,EACVjF,EAAE+F,MAAQ/F,EAACkG,IACXlG,EAACjB,KAAAA,GAGFwB,EAAQzB,IAAQ0B,EAAQ1B,IACxByB,EAAQ5B,IAAa6B,EAAQ7B,IAC7B4B,EAAQ5B,IAAW6H,MAAK,SAAA9H,GACnBA,IAAOA,EAAKE,GAAW2B,EAC5B,IAEStD,EAAI,EAAGA,EAAI+C,EAACiG,IAAiB5H,OAAQpB,IAC7C+C,EAACgG,IAAkB/F,KAAKD,EAACiG,IAAiBhJ,IAE3C+C,EAACiG,IAAmB,GAEhBjG,EAACgG,IAAkB3H,QACtBqC,EAAYT,KAAKD,GAGlB,MAAMwF,CACP,CAE6B,MAAzBxF,EAAEyG,qBACLzG,EAAEyG,oBAAoBxB,EAAUjF,EAACkG,IAAad,GAG3CF,GAA4C,MAAxBlF,EAAE0G,oBACzB1G,EAACgG,IAAkB/F,MAAK,WACvBD,EAAE0G,mBAAmB7B,EAAUC,EAAUC,EAC1C,GAEF,CASA,GAPA/E,EAAET,QAAU6F,EACZpF,EAAEvC,MAAQwH,EACVjF,EAACc,IAAcM,EACfpB,EAAClB,KAAAA,EAEGuG,EAAa9I,EAAO4D,IACvBmF,EAAQ,EACLJ,EAAkB,CAQrB,IAPAlF,EAAE+F,MAAQ/F,EAACkG,IACXlG,EAACjB,KAAAA,EAEGsG,GAAYA,EAAW9E,GAE3BoE,EAAM3E,EAAE0F,OAAO1F,EAAEvC,MAAOuC,EAAE+F,MAAO/F,EAAET,SAE1BtC,EAAI,EAAGA,EAAI+C,EAACiG,IAAiB5H,OAAQpB,IAC7C+C,EAACgG,IAAkB/F,KAAKD,EAACiG,IAAiBhJ,IAE3C+C,EAACiG,IAAmB,EACrB,MACC,GACCjG,EAACjB,KAAAA,EACGsG,GAAYA,EAAW9E,GAE3BoE,EAAM3E,EAAE0F,OAAO1F,EAAEvC,MAAOuC,EAAE+F,MAAO/F,EAAET,SAGnCS,EAAE+F,MAAQ/F,EAACkG,UACHlG,EAACjB,OAAauG,EAAQ,IAIhCtF,EAAE+F,MAAQ/F,EAACkG,IAEc,MAArBlG,EAAE2G,kBACLnF,EAAgBjE,EAAOA,EAAO,CAAC,EAAGiE,GAAgBxB,EAAE2G,oBAGjDzB,IAAqBN,GAAsC,MAA7B5E,EAAE4G,0BACnC7B,EAAW/E,EAAE4G,wBAAwB/B,EAAUC,IAOhD3D,EACCC,EACA/D,EAJGgE,EADI,MAAPsD,GAAeA,EAAI5G,OAASsB,GAAuB,MAAXsF,EAAI1G,IACL0G,EAAIlH,MAAMO,SAAW2G,GAIpCtD,EAAe,CAACA,GACxCd,EACAC,EACAgB,EACAC,EACAC,EACAhB,EACAD,EACAkB,EACAhB,GAGDX,EAAEF,KAAOS,EAAQzB,IAGjByB,EAAQnB,MR5Pe,IQ8PnBY,EAACgG,IAAkB3H,QACtBqC,EAAYT,KAAKD,GAGdgF,IACHhF,EAAC4F,IAAiB5F,EAACpB,GAAwB,KAoB7C,CAlBE,MAAOwF,GAGR,GAFA7D,EAAQrB,IAAa,KAEjByC,GAAoC,MAArBD,EAA2B,CAK7C,IAJAnB,EAAQnB,KAAWuC,EAChBkF,IRnRqB,GQsRjBpG,GAA8B,IAApBA,EAAOuC,UAAkBvC,EAAO2B,aAChD3B,EAASA,EAAO2B,YAEjBV,EAAkBA,EAAkBoF,QAAQrG,IAAW,KACvDF,EAAQzB,IAAQ2B,CACjB,MACCF,EAAQzB,IAAQ0B,EAAQ1B,IACxByB,EAAQ5B,IAAa6B,EAAQ7B,IAE9BpC,EAAOuC,IAAasF,EAAG7D,EAAUC,EAClC,MAEqB,MAArBkB,GACAnB,EAAQrB,MAAesB,EAAQtB,KAE/BqB,EAAQ5B,IAAa6B,EAAQ7B,IAC7B4B,EAAQzB,IAAQ0B,EAAQ1B,KAExByB,EAAQzB,IAAQiI,EACfvG,EAAQ1B,IACRyB,EACAC,EACAgB,EACAC,EACAC,EACAhB,EACAiB,EACAhB,IAIGgE,EAAMpI,EAAQyK,SAASrC,EAAIpE,EACjC,CAOgB,SAAAW,EAAWR,EAAauG,EAAMtG,GAC7CsG,EAAIlI,SAAAA,EAEJ,IAAK,IAAI9B,EAAI,EAAGA,EAAI0D,EAAStC,OAAQpB,IACpCiF,EAASvB,EAAS1D,GAAI0D,IAAW1D,GAAI0D,IAAW1D,IAG7CV,EAAOyC,KAAUzC,EAAOyC,IAASiI,EAAMvG,GAE3CA,EAAY8F,MAAK,SAAAxG,GAChB,IAECU,EAAcV,EAACgG,IACfhG,EAACgG,IAAoB,GACrBtF,EAAY8F,MAAK,SAAAU,GAEhBA,EAAG5I,KAAK0B,EACT,GAGD,CAFE,MAAOoE,GACR7H,EAAOuC,IAAasF,EAAGpE,EAACd,IACzB,CACD,GACD,CAiBA,SAAS6H,EACRvD,EACAjD,EACAC,EACAgB,EACAC,EACAC,EACAhB,EACAiB,EACAhB,GATD,IAeK1D,EAEAkK,EAEAC,EAEAC,EACAhE,EACAiE,EACAC,EAbA1C,EAAWrE,EAAS/C,MACpBwH,EAAW1E,EAAS9C,MACpBuF,EAAkCzC,EAASxC,KAmB/C,GALiB,QAAbiF,EAAoBvB,EAAY,6BACd,SAAbuB,EACRvB,EAAY,qCACHA,IAAWA,EAAY,gCAER,MAArBC,EACH,IAAKzE,EAAI,EAAGA,EAAIyE,EAAkBrD,OAAQpB,IAMzC,IALAoG,EAAQ3B,EAAkBzE,KAOzB,iBAAkBoG,KAAYL,IAC7BA,EAAWK,EAAMmE,YAAcxE,EAA8B,IAAnBK,EAAML,UAChD,CACDQ,EAAMH,EACN3B,EAAkBzE,GAAK,KACvB,KACD,CAIF,GAAW,MAAPuG,EAAa,CAChB,GAAiB,OAAbR,EACH,OAAOyE,SAASC,eAAezC,GAGhCzB,EAAMiE,SAASE,gBACdlG,EACAuB,EACAiC,EAAS2C,IAAM3C,GAKZtD,IACCpF,EAAOsL,KACVtL,EAAOsL,IAAoBtH,EAAUmB,GACtCC,GAAAA,GAGDD,EAAoB,IACrB,CAEA,GAAiB,OAAbsB,EAEC6B,IAAaI,GAActD,GAAe6B,EAAIsE,OAAS7C,IAC1DzB,EAAIsE,KAAO7C,OAEN,CASN,GAPAvD,EAAoBA,GAAqBpF,EAAMgC,KAAKkF,EAAIuE,YAExDlD,EAAWrE,EAAS/C,OAASP,GAKxByE,GAAoC,MAArBD,EAEnB,IADAmD,EAAW,CAAE,EACR5H,EAAI,EAAGA,EAAIuG,EAAIwE,WAAW3J,OAAQpB,IAEtC4H,GADAxB,EAAQG,EAAIwE,WAAW/K,IACRwG,MAAQJ,EAAMA,MAI/B,IAAKpG,KAAK4H,EAET,GADAxB,EAAQwB,EAAS5H,GACR,YAALA,QACG,GAAS,2BAALA,EACVmK,EAAU/D,OACA,KAAEpG,KAAKgI,GAAW,CAC5B,GACO,SAALhI,GAAgB,iBAAkBgI,GAC7B,WAALhI,GAAkB,mBAAoBgI,EAEvC,SAED3B,EAAYE,EAAKvG,EAAG,KAAMoG,EAAO5B,EAClC,CAKD,IAAKxE,KAAKgI,EACT5B,EAAQ4B,EAAShI,GACR,YAALA,EACHoK,EAAchE,EACC,2BAALpG,EACVkK,EAAU9D,EACK,SAALpG,EACVqK,EAAajE,EACE,WAALpG,EACVsK,EAAUlE,EAER1B,GAA+B,mBAAT0B,GACxBwB,EAAS5H,KAAOoG,GAEhBC,EAAYE,EAAKvG,EAAGoG,EAAOwB,EAAS5H,GAAIwE,GAK1C,GAAI0F,EAGDxF,GACCyF,IACAD,EAAOc,SAAYb,EAAOa,QAC1Bd,EAAOc,SAAYzE,EAAI0E,aAEzB1E,EAAI0E,UAAYf,EAAOc,QAGxB1H,EAAQ5B,IAAa,QAuBrB,GArBIyI,IAAS5D,EAAI0E,UAAY,IAE7B/G,EACCqC,EACAnG,EAAQgK,GAAeA,EAAc,CAACA,GACtC9G,EACAC,EACAgB,EACa,kBAAbwB,EACG,+BACAvB,EACHC,EACAhB,EACAgB,EACGA,EAAkB,GAClBlB,EAAQ7B,KAAcc,EAAce,EAAU,GACjDmB,EACAhB,GAIwB,MAArBe,EACH,IAAKzE,EAAIyE,EAAkBrD,OAAQpB,KAClCS,EAAWgE,EAAkBzE,IAM3B0E,IACJ1E,EAAI,QACa,aAAb+F,GAAyC,MAAdsE,EAC9B9D,EAAIa,gBAAgB,kBAEpBiD,IAKCA,IAAe9D,EAAIvG,IACL,aAAb+F,IAA4BsE,GAIf,WAAbtE,GAAyBsE,IAAezC,EAAS5H,KAEnDqG,EAAYE,EAAKvG,EAAGqK,EAAYzC,EAAS5H,GAAIwE,GAG9CxE,EAAI,mBACAsK,GAAyBA,IAAY/D,EAAIvG,IAC5CqG,EAAYE,EAAKvG,EAAGsK,EAAS1C,EAAS5H,GAAIwE,GAG7C,CAEA,OAAO+B,CACR,CAQgB,SAAAtB,EAAShE,EAAKmF,EAAO3E,GACpC,IACC,GAAkB,mBAAPR,EAAmB,CAC7B,IAAIiK,EAAuC,mBAAhBjK,EAAGkB,IAC1B+I,GAEHjK,EAAGkB,MAGC+I,GAA0B,MAAT9E,IAIrBnF,EAAGkB,IAAYlB,EAAImF,GAErB,MAAOnF,EAAIkK,QAAU/E,CAGtB,CAFE,MAAOe,GACR7H,EAAOuC,IAAasF,EAAG1F,EACxB,CACD,CASgB,SAAAkE,EAAQlE,EAAOmE,EAAawF,GAA5B,IACXC,EAsBMrL,EAbV,GARIV,EAAQqG,SAASrG,EAAQqG,QAAQlE,IAEhC4J,EAAI5J,EAAMR,OACToK,EAAEF,SAAWE,EAAEF,UAAY1J,EAAKI,KACpCoD,EAASoG,EAAG,KAAMzF,IAIU,OAAzByF,EAAI5J,EAAKM,KAAsB,CACnC,GAAIsJ,EAAEC,qBACL,IACCD,EAAEC,sBAGH,CAFE,MAAOnE,GACR7H,EAAOuC,IAAasF,EAAGvB,EACxB,CAGDyF,EAAExI,KAAOwI,EAACxH,IAAc,IACzB,CAEA,GAAKwH,EAAI5J,EAAKC,IACb,IAAS1B,EAAI,EAAGA,EAAIqL,EAAEjK,OAAQpB,IACzBqL,EAAErL,IACL2F,EACC0F,EAAErL,GACF4F,EACAwF,GAAmC,mBAAd3J,EAAMX,MAM1BsK,GACJ3K,EAAWgB,EAAKI,KAKjBJ,EAAKM,IAAcN,EAAKE,GAAWF,EAAKI,IAAQJ,EAAKK,SAAAA,CACtD,CAGA,SAAS8G,EAASpI,EAAOsI,EAAOxG,GAC/B,OAAOC,KAAKP,YAAYxB,EAAO8B,EAChC,CAAC,SCpnBemG,EAAOhH,EAAO0C,EAAWoH,GAAAA,IAMpC7G,EAOAnB,EAQAE,EACHC,EArBGpE,EAAOqC,IAAQrC,EAAOqC,GAAOF,EAAO0C,GAYpCZ,GAPAmB,EAAoC,mBAAf6G,GAQtB,KACCA,GAAeA,EAAW7J,KAAeyC,EAASzC,IAMlD+B,EAAc,GACjBC,EAAW,GACZI,EACCK,EAPD1C,IAAWiD,GAAe6G,GAAgBpH,GAASzC,IAClDb,EAAcuB,EAAU,KAAM,CAACX,IAU/B8B,GAAYtD,EACZA,EACAkE,EAAUH,cACTU,GAAe6G,EACb,CAACA,GACDhI,EACC,KACAY,EAAUqH,WACTnM,EAAMgC,KAAK8C,EAAU2G,YACrB,KACLrH,GACCiB,GAAe6G,EACbA,EACAhI,EACCA,EAAQ1B,IACRsC,EAAUqH,WACd9G,EACAhB,GAIDO,EAAWR,EAAahC,EAAOiC,EAChC,CAOgB,SAAA+H,EAAQhK,EAAO0C,GAC9BsE,EAAOhH,EAAO0C,EAAWsH,EAC1B,CC5DO,SAASC,EAAajK,EAAOjB,EAAOO,GAApC,IAELC,EACAC,EACAjB,EAEGsB,EALAJ,EAAkBZ,EAAO,CAAE,EAAEmB,EAAMjB,OAWvC,IAAKR,KAJDyB,EAAMX,MAAQW,EAAMX,KAAKQ,eAC5BA,EAAeG,EAAMX,KAAKQ,cAGjBd,EACA,OAALR,EAAYgB,EAAMR,EAAMR,GACd,OAALA,EAAYiB,EAAMT,EAAMR,GAEhCkB,EAAgBlB,QAAAA,IADRQ,EAAMR,SAAAA,IAAoBsB,EACbA,EAAatB,GAEbQ,EAAMR,GAS7B,OALImB,UAAUC,OAAS,IACtBF,EAAgBH,SACfI,UAAUC,OAAS,EAAI/B,EAAMgC,KAAKF,UAAW,GAAKJ,GAG7CQ,EACNE,EAAMX,KACNI,EACAF,GAAOS,EAAMT,IACbC,GAAOQ,EAAMR,IACb,KAEF,CAAC,SJ1Ce0K,EAAcC,EAAcC,GAG3C,IAAMvJ,EAAU,CACfP,IAHD8J,EAAY,OAAS7L,IAIpB2B,GAAeiK,EAEfE,SAAAA,SAAStL,EAAOuL,GAIf,OAAOvL,EAAMO,SAASgL,EACvB,EAEAC,SAAQA,SAACxL,GAADwL,IAGFC,EACAC,EA8BL,OAjCK3J,KAAKmH,kBAELuC,EAAO,IACPC,EAAM,CAAC,GACPL,GAAatJ,KAEjBA,KAAKmH,gBAAkB,WAAM,OAAAwC,CAAG,EAEhC3J,KAAK+I,qBAAuB,WAC3BW,EAAO,IACR,EAEA1J,KAAK+G,sBAAwB,SAAU6C,GAClC5J,KAAK/B,MAAM4F,QAAU+F,EAAO/F,OAC/B6F,EAAK1C,MAAK,SAAAxG,GACTA,EAAClB,KAAAA,EACDiB,EAAcC,EACf,GAEF,EAEAR,KAAKsG,IAAM,SAAA9F,GACVkJ,EAAKjJ,KAAKD,GACV,IAAIqJ,EAAMrJ,EAAEuI,qBACZvI,EAAEuI,qBAAuB,WACpBW,GACHA,EAAKI,OAAOJ,EAAKpC,QAAQ9G,GAAI,GAE1BqJ,GAAKA,EAAI/K,KAAK0B,EACnB,CACD,GAGMvC,EAAMO,QACd,GASD,OAAQuB,EAAQ0J,SAAQrK,GAAeW,EAAQwJ,SAASpD,YACvDpG,CACF,CLrCajD,EAAQa,EAAUb,MChBzBC,EAAU,CACfuC,ISHe,SAAYyK,EAAO7K,EAAO8B,EAAUgJ,GAQnD,IANA,IAAIlJ,EAEHmJ,EAEAC,EAEOhL,EAAQA,EAAKE,IACpB,IAAK0B,EAAY5B,EAAKM,OAAiBsB,EAAS1B,GAC/C,IAcC,IAbA6K,EAAOnJ,EAAUrB,cAE4B,MAAjCwK,EAAKE,2BAChBrJ,EAAUsJ,SAASH,EAAKE,yBAAyBJ,IACjDG,EAAUpJ,EAASvB,KAGe,MAA/BuB,EAAUuJ,oBACbvJ,EAAUuJ,kBAAkBN,EAAOC,GAAa,CAAE,GAClDE,EAAUpJ,EAASvB,KAIhB2K,EACH,OAAQpJ,EAASsF,IAAiBtF,CAIpC,CAFE,MAAO8D,GACRmF,EAAQnF,CACT,CAIF,MAAMmF,CACP,GRxCI/M,EAAU,EAgGDC,EAAiB,SAAAiC,GAAK,OACzB,MAATA,GAAsCoL,MAArBpL,EAAMO,WAAwB,ECzEhDK,EAAcmG,UAAUmE,SAAW,SAAUG,EAAQC,GAEpD,IAAIC,EAEHA,EADsB,MAAnBzK,KAAI0G,KAAuB1G,KAAI0G,MAAgB1G,KAAKuG,MACnDvG,KAAI0G,IAEJ1G,KAAI0G,IAAc3I,EAAO,CAAE,EAAEiC,KAAKuG,OAGlB,mBAAVgE,IAGVA,EAASA,EAAOxM,EAAO,CAAC,EAAG0M,GAAIzK,KAAK/B,QAGjCsM,GACHxM,EAAO0M,EAAGF,GAIG,MAAVA,GAEAvK,KAAIN,MACH8K,GACHxK,KAAIyG,IAAiBhG,KAAK+J,GAE3BjK,EAAcP,MAEhB,EAQAF,EAAcmG,UAAUyE,YAAc,SAAUF,GAC3CxK,KAAIN,MAIPM,KAAIV,KAAAA,EACAkL,GAAUxK,KAAIwG,IAAkB/F,KAAK+J,GACzCjK,EAAcP,MAEhB,EAYAF,EAAcmG,UAAUC,OAASrG,EA8F7B3C,EAAgB,GAadE,EACa,mBAAXuN,QACJA,QAAQ1E,UAAU2E,KAAKC,KAAKF,QAAQG,WACpCC,WAuBE1N,EAAY,SAAC2N,EAAGC,GAAM,OAAAD,EAACtL,IAAAL,IAAiB4L,EAACvL,IAAAL,GAAc,EAuB7DqB,EAAOC,IAAkB,ECtNrBrD,EAAa,EAmJXC,EAAawH,GAAAA,GACbvH,EAAoBuH,GAAAA,GC5KftH,EAAI,C,GMDXyN,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBd,IAAjBe,EACH,OAAOA,EAAaC,QAGrB,IAAIC,EAASL,EAAyBE,GAAY,CAGjDE,QAAS,CAAC,GAOX,OAHAE,EAAoBJ,GAAUG,EAAQA,EAAOD,QAASH,GAG/CI,EAAOD,OACf,CCrBAH,EAAoBM,EAAI,CAACH,EAASI,KACjC,IAAI,IAAIjN,KAAOiN,EACXP,EAAoB/G,EAAEsH,EAAYjN,KAAS0M,EAAoB/G,EAAEkH,EAAS7M,IAC5EkN,OAAOC,eAAeN,EAAS7M,EAAK,CAAEoN,YAAY,EAAMC,IAAKJ,EAAWjN,IAE1E,ECND0M,EAAoB/G,EAAI,CAACpG,EAAK+N,IAAUJ,OAAO1F,UAAU+F,eAAelN,KAAKd,EAAK+N,G,8LCG9EE,EAGAC,EAGAC,EAmBAC,E,SAhBAC,EAAc,EAGdC,EAAoB,GAGlBvP,EAAuDwP,EAAAA,GAEzDC,EAAgBzP,EAAOsC,IACvBoN,EAAkB1P,EAAO4D,IACzB+L,EAAe3P,EAAQyK,OACvBmF,EAAY5P,EAAOyC,IACnBoN,EAAmB7P,EAAQqG,QAC3ByJ,EAAU9P,EAAOqC,GA8GrB,SAAS0N,EAAaC,EAAOxO,GACxBxB,EAAOyJ,KACVzJ,EAAOyJ,IAAO0F,EAAkBa,EAAOV,GAAe9N,GAEvD8N,EAAc,EAOd,IAAMW,EACLd,EAAgBe,MACff,EAAgBe,IAAW,CAC3B7N,GAAO,GACPoH,IAAiB,KAOnB,OAJIuG,GAASC,EAAK5N,GAAOP,QACxBmO,EAAK5N,GAAOqB,KAAK,CAAE,GAGbuM,EAAK5N,GAAO2N,EACpB,CAOO,SAASG,EAASC,GAExB,OADAd,EAAc,EAYC,SAAWe,EAASD,GAEnC,IAAME,EAAYP,EAAab,IAAgB,GAE/C,GADAoB,EAAUC,EAAWF,GAChBC,EAAS7N,MACb6N,EAASjO,GAAU,CACVmO,OAAAA,EAA0BJ,GAElC,SAAAK,GACC,IAAMC,EAAeJ,EAASK,IAC3BL,EAASK,IAAY,GACrBL,EAASjO,GAAQ,GACduO,EAAYN,EAAUC,EAASG,EAAcD,GAE/CC,IAAiBE,IACpBN,EAASK,IAAc,CAACC,EAAWN,EAASjO,GAAQ,IACpDiO,EAAS7N,IAAY4K,SAAS,CAAE,GAElC,GAGDiD,EAAS7N,IAAc0M,GAElBA,EAAiB0B,GAAkB,CAgC9B,IAAAC,EAAT,SAAyBC,EAAGrD,EAAGjK,GAC9B,IAAK6M,EAAS7N,IAAAyN,IAAqB,OAAM,EAGzC,IACMc,EACLV,EAAS7N,IAAAyN,IAAA7N,GAA0B4O,QAFhB,SAAAvK,GAAC,QAAMA,EAACjE,GAAW,IAOvC,GAHsBuO,EAAWE,OAAM,SAAAxK,GAAC,OAAKA,EAACiK,GAAW,IAIxD,OAAOQ,GAAUA,EAAQpP,KAAKkB,KAAM8N,EAAGrD,EAAGjK,GAM3C,IAAI2N,GAAAA,EAUJ,OATAJ,EAAWK,SAAQ,SAAAC,GAClB,GAAIA,EAAQX,IAAa,CACxB,IAAMD,EAAeY,EAAQjP,GAAQ,GACrCiP,EAAQjP,GAAUiP,EAAQX,IAC1BW,EAAQX,SAAAA,EACJD,IAAiBY,EAAQjP,GAAQ,KAAI+O,GAAAA,EAC1C,CACD,OAEOA,GAAgBd,EAAS7N,IAAYvB,QAAU6P,MACnDI,GACCA,EAAQpP,KAAKkB,KAAM8N,EAAGrD,EAAGjK,GAG9B,EAhEA0L,EAAiB0B,GAAAA,EACjB,IAAIM,EAAUhC,EAAiBnF,sBACzBuH,EAAUpC,EAAiBjF,oBAKjCiF,EAAiBjF,oBAAsB,SAAU6G,EAAGrD,EAAGjK,GACtD,GAAIR,KAAIV,IAAS,CAChB,IAAI6F,EAAM+I,EAEVA,OAAAA,EACAL,EAAgBC,EAAGrD,EAAGjK,GACtB0N,EAAU/I,CACX,CAEImJ,GAASA,EAAQxP,KAAKkB,KAAM8N,EAAGrD,EAAGjK,EACvC,EAiDA0L,EAAiBnF,sBAAwB8G,CAC1C,CAGD,OAAOR,EAASK,KAAeL,EAASjO,EACzC,CA1GQmP,CAAWhB,EAAgBJ,EACnC,CAgHgB,SAAAqB,EAAUhE,EAAUiE,GAEnC,IAAMlI,EAAQuG,EAAab,IAAgB,IACtClP,EAAO2J,KAAiBgI,EAAYnI,EAAK0G,IAAQwB,KACrDlI,EAAKnH,GAAUoL,EACfjE,EAAMoI,EAAeF,EAErBvC,EAAgBe,IAAAzG,IAAyB/F,KAAK8F,GAEhD,CAmBO,SAASqI,EAAOC,GAEtB,OADAxC,EAAc,EACPyC,GAAQ,WAAO,OAAElG,QAASiG,EAAc,GAAG,GACnD,CA8BgB,SAAAC,EAAQC,EAASN,GAEhC,IAAMlI,EAAQuG,EAAab,IAAgB,GAO3C,OANIyC,EAAYnI,EAAK0G,IAAQwB,KAC5BlI,EAAKnH,GAAU2P,IACfxI,EAAK0G,IAASwB,EACdlI,EAAKC,IAAYuI,GAGXxI,EAAKnH,EACb,CAOO,SAAS4P,EAAYxE,EAAUiE,GAErC,OADApC,EAAc,EACPyC,GAAQ,kBAAMtE,CAAQ,GAAEiE,EAChC,CAKO,SAASQ,EAAWlP,GAC1B,IAAM4F,EAAWuG,EAAiBnM,QAAQA,EAAOP,KAK3C+G,EAAQuG,EAAab,IAAgB,GAK3C,OADA1F,EAAK/F,EAAYT,EACZ4F,GAEe,MAAhBY,EAAKnH,KACRmH,EAAKnH,IAAAA,EACLuG,EAASW,IAAI4F,IAEPvG,EAAS1H,MAAM4F,OANA9D,EAAOX,EAO9B,CA2DA,SAAS8P,IAER,IADA,IAAIpO,EACIA,EAAYwL,EAAkBjL,SACrC,GAAKP,EAASQ,KAAgBR,EAASmM,IACvC,IACCnM,EAASmM,IAAAzG,IAAyB4H,QAAQe,GAC1CrO,EAASmM,IAAAzG,IAAyB4H,QAAQgB,GAC1CtO,EAASmM,IAAAzG,IAA2B,EAIrC,CAHE,MAAO5B,GACR9D,EAASmM,IAAAzG,IAA2B,GACpCzJ,EAAOuC,IAAasF,EAAG9D,EAASpB,IACjC,CAEF,CAzaA3C,EAAOsC,IAAS,SAAAH,GACfgN,EAAmB,KACfM,GAAeA,EAActN,EAClC,EAEAnC,EAAOqC,GAAS,SAACF,EAAO0C,GACnB1C,GAAS0C,EAASzC,KAAcyC,EAASzC,IAAAkJ,MAC5CnJ,EAAKmJ,IAASzG,EAASzC,IAAAkJ,KAGpBwE,GAASA,EAAQ3N,EAAO0C,EAC7B,EAGA7E,EAAO4D,IAAW,SAAAzB,GACbuN,GAAiBA,EAAgBvN,GAGrC+M,EAAe,EAEf,IAAMe,GAHNd,EAAmBhN,EAAKM,KAGMyN,IAC1BD,IACCb,IAAsBD,GACzBc,EAAKxG,IAAmB,GACxB0F,EAAgB1F,IAAoB,GACpCwG,EAAK5N,GAAOgP,SAAQ,SAAAC,GACfA,EAAQX,MACXW,EAAQjP,GAAUiP,EAAQX,KAE3BW,EAASM,EAAeN,EAAQX,SAAAA,CACjC,MAEAV,EAAKxG,IAAiB4H,QAAQe,GAC9BnC,EAAKxG,IAAiB4H,QAAQgB,GAC9BpC,EAAKxG,IAAmB,GACxByF,EAAe,IAGjBE,EAAoBD,CACrB,EAGAnP,EAAQyK,OAAS,SAAAtI,GACZwN,GAAcA,EAAaxN,GAE/B,IAAMsB,EAAItB,EAAKM,IACXgB,GAAKA,EAACyM,MACLzM,EAACyM,IAAAzG,IAAyB3H,SA+ZR,IA/Z2ByN,EAAkB7L,KAAKD,IA+Z7C4L,IAAYrP,EAAQsS,yBAC/CjD,EAAUrP,EAAQsS,wBACNC,GAAgBJ,IAha5B1O,EAACyM,IAAA7N,GAAegP,SAAQ,SAAAC,GACnBA,EAASM,IACZN,EAAQpB,IAASoB,EAASM,GAE3BN,EAASM,OAAAA,CACV,KAEDxC,EAAoBD,EAAmB,IACxC,EAIAnP,EAAOyC,IAAW,SAACN,EAAOgC,GACzBA,EAAY8F,MAAK,SAAAlG,GAChB,IACCA,EAAS0F,IAAkB4H,QAAQe,GACnCrO,EAAS0F,IAAoB1F,EAAS0F,IAAkBwH,QAAO,SAAAtG,GAAE,OAChEA,EAAEtI,IAAUgQ,EAAa1H,EAAU,GAQrC,CANE,MAAO9C,GACR1D,EAAY8F,MAAK,SAAAxG,GACZA,EAACgG,MAAmBhG,EAACgG,IAAoB,GAC9C,IACAtF,EAAc,GACdnE,EAAOuC,IAAasF,EAAG9D,EAASpB,IACjC,CACD,IAEIiN,GAAWA,EAAUzN,EAAOgC,EACjC,EAGAnE,EAAQqG,QAAU,SAAAlE,GACb0N,GAAkBA,EAAiB1N,GAEvC,IAEKqQ,EAFC/O,EAAItB,EAAKM,IACXgB,GAAKA,EAACyM,MAETzM,EAACyM,IAAA7N,GAAegP,SAAQ,SAAA3D,GACvB,IACC0E,EAAc1E,EAGf,CAFE,MAAO7F,GACR2K,EAAa3K,CACd,CACD,IACApE,EAACyM,SAAAA,EACGsC,GAAYxS,EAAOuC,IAAaiQ,EAAY/O,EAACd,KAEnD,EA2UA,IAAI8P,EAA0C,mBAAzBH,sBAYrB,SAASC,EAAe9E,GACvB,IAOIiF,EAPEC,EAAO,WACZC,aAAaC,GACTJ,GAASK,qBAAqBJ,GAClC1E,WAAWP,EACZ,EACMoF,EAAU7E,WAAW2E,EAjcR,KAocfF,IACHC,EAAMJ,sBAAsBK,GAE9B,CAqBA,SAASP,EAAcW,GAGtB,IAAMC,EAAO7D,EACT8D,EAAUF,EAAItQ,IACI,mBAAXwQ,IACVF,EAAItQ,SAAAA,EACJwQ,KAGD9D,EAAmB6D,CACpB,CAOA,SAASX,EAAaU,GAGrB,IAAMC,EAAO7D,EACb4D,EAAItQ,IAAYsQ,EAAI1Q,KACpB8M,EAAmB6D,CACpB,CAOA,SAASrB,EAAYuB,EAASC,GAC7B,OACED,GACDA,EAAQpR,SAAWqR,EAAQrR,QAC3BqR,EAAQlJ,MAAK,SAACmJ,EAAKpD,GAAU,OAAAoD,IAAQF,EAAQlD,EAAM,GAErD,CAQA,SAASQ,EAAe4C,EAAKC,GAC5B,MAAmB,mBAALA,EAAkBA,EAAED,GAAOC,CAC1C,CCpiBA,IAAMC,EAAeC,OAAOC,IAAI,kBAsChC,SAASC,IACR,GAAIC,EAAa,EAChBA,QADD,CAQA,IAHA,IAAI1G,EACA2G,GAAAA,OAEJ,IAAOC,GAA6B,CACnC,IAAIC,EAA6BD,EAKjC,IAJAA,OAAAA,EAEAE,SAEA,IAAOD,GAAsB,CAC5B,IAAME,EAA2BF,EAAOG,EAIxC,GAHAH,EAAOG,OAAAA,EACPH,EAAOI,IAAU,IAlDH,EAoDRJ,EAAOI,IAAsBC,EAAiBL,GACnD,IACCA,EAAOM,GAMP,CALC,MAAOC,GACHT,IACJ3G,EAAQoH,EACRT,GAAAA,EAED,CAEFE,EAASE,CACT,CACD,CAID,GAHAD,EAAiB,EACjBJ,IAEIC,EACH,MAAM3G,CAjCN,CAmCF,CAcA,SAASqH,EAASC,GACjB,GAAIZ,EAAa,EAChB,OAAOY,IA1DRZ,IA6DA,IACC,OAAOY,GAGP,CAFA,QACAb,GACA,CACF,CAGA,IChEIc,EDgEAC,OAAAA,EAoBAZ,OAAAA,EACAF,EAAa,EACbI,EAAiB,EAIjBW,EAAgB,EAEpB,SAASC,EAAcC,GACtB,YAAIH,EAAJ,CAIA,IAAIpT,EAAOuT,EAAOC,EAClB,YAAIxT,GAAsBA,EAAKyT,IAAYL,EAmC1C,OAtBApT,EAAO,CACN0T,EAAU,EACVC,EAASJ,EACTK,EAAaR,EAAYS,EACzBC,OAAAA,EACAL,EAASL,EACTW,OAAAA,EACAC,OAAAA,EACAC,EAAejU,QAGhB,IAAIoT,EAAYS,IACfT,EAAYS,EAASC,EAAc9T,GAEpCoT,EAAYS,EAAW7T,EACvBuT,EAAOC,EAAQxT,EA9JA,GAkKXoT,EAAYP,GACfU,EAAOW,EAAWlU,GAEZA,EACGA,IAAmB,IAAnBA,EAAK0T,EAiCf,OA/BA1T,EAAK0T,EAAW,OAehB,IAAI1T,EAAK8T,IACR9T,EAAK8T,EAAYF,EAAc5T,EAAK4T,OAEpC,IAAI5T,EAAK4T,IACR5T,EAAK4T,EAAYE,EAAc9T,EAAK8T,GAGrC9T,EAAK4T,EAAcR,EAAYS,EAC/B7T,EAAK8T,OAAAA,EAELV,EAAYS,EAAUC,EAAc9T,EACpCoT,EAAYS,EAAW7T,GAKjBA,CAxEP,CA2EF,CAgEA,SAASmU,EAAqBzO,GAC7B7D,KAAKuS,EAAS1O,EACd7D,KAAK6R,EAAW,EAChB7R,KAAK2R,OAAAA,EACL3R,KAAKwS,OAAAA,CACN,CAmHM,SAAUd,EAAU7N,GACzB,OAAW,IAAAyO,EAAOzO,EACnB,CAEA,SAASoN,EAAiBwB,GAIzB,IACC,IAAItU,EAAOsU,EAAOT,OAAAA,IAClB7T,EACAA,EAAOA,EAAK8T,EAKZ,GACC9T,EAAK2T,EAAQD,IAAa1T,EAAK0T,IAC9B1T,EAAK2T,EAAQY,KACdvU,EAAK2T,EAAQD,IAAa1T,EAAK0T,EAE/B,OAAM,EAKR,OAAM,CACP,CAEA,SAASc,EAAeF,GAavB,IACC,IAAItU,EAAOsU,EAAOT,OAAAA,IAClB7T,EACAA,EAAOA,EAAK8T,EACX,CACD,IAAMW,EAAezU,EAAK2T,EAAQH,EAOlC,QANA,IAAIiB,IACHzU,EAAKiU,EAAgBQ,GAEtBzU,EAAK2T,EAAQH,EAAQxT,EACrBA,EAAK0T,GAAY,OAEjB,IAAI1T,EAAK8T,EAA2B,CACnCQ,EAAOT,EAAW7T,EAClB,KACA,CACD,CACF,CAEA,SAAS0U,EAAeJ,GASvB,IARA,IAAItU,EAAOsU,EAAOT,EACdc,OAAAA,OAOJ,IAAO3U,GAAoB,CAC1B,IAAM4U,EAAO5U,EAAK4T,GAUK,IAAnB5T,EAAK0T,GACR1T,EAAK2T,EAAQkB,EAAa7U,QAE1B,IAAI4U,IACHA,EAAKd,EAAc9T,EAAK8T,QAEzB,IAAI9T,EAAK8T,IACR9T,EAAK8T,EAAYF,EAAcgB,IAahCD,EAAO3U,EAGRA,EAAK2T,EAAQH,EAAQxT,EAAKiU,OAC1B,IAAIjU,EAAKiU,IACRjU,EAAKiU,OAAAA,GAGNjU,EAAO4U,CACP,CAEDN,EAAOT,EAAWc,CACnB,CAcA,SAASG,EAAyB5B,GACjCiB,EAAOxT,KAAKkB,UAAK,GAEjBA,KAAKkT,EAAM7B,EACXrR,KAAKgS,OAAAA,EACLhS,KAAKmT,EAAiB3B,EAAgB,EACtCxR,KAAKgR,EA1gBW,CA2gBjB,CAqJA,SAASoC,EAAY/B,GACpB,OAAW,IAAA4B,EAAS5B,EACrB,CAEA,SAASgC,EAAczC,GACtB,IAAMZ,EAAUY,EAAO0C,EAGvB,GAFA1C,EAAO0C,OAAAA,EAEgB,mBAAZtD,EAAwB,CA1oBnCS,IA8oBC,IAAM8C,EAAchC,EACpBA,OAAAA,EACA,IACCvB,GASA,CARC,MAAOmB,GAIR,MAHAP,EAAOI,IAAU,EACjBJ,EAAOI,GAjrBO,EAkrBdwC,EAAc5C,GACRO,CACN,SACAI,EAAcgC,EACd/C,GACA,CACD,CACF,CAEA,SAASgD,EAAc5C,GACtB,IACC,IAAIzS,EAAOyS,EAAOoB,OAAAA,IAClB7T,EACAA,EAAOA,EAAK8T,EAEZ9T,EAAK2T,EAAQkB,EAAa7U,GAE3ByS,EAAOsC,OAAAA,EACPtC,EAAOoB,OAAAA,EAEPqB,EAAczC,EACf,CAEA,SAAS6C,EAAwBF,GAChC,GAAIhC,IAAgBvR,KACnB,MAAM,IAAI0T,MAAM,uBAEjBb,EAAe7S,MACfuR,EAAcgC,EAEdvT,KAAKgR,IAAU,EAhtBC,EAitBZhR,KAAKgR,GACRwC,EAAcxT,MAEfwQ,GACD,CAmBA,SAASmD,EAAqBtC,GAC7BrR,KAAKkT,EAAM7B,EACXrR,KAAKsT,OAAAA,EACLtT,KAAKgS,OAAAA,EACLhS,KAAK+Q,OAAAA,EACL/Q,KAAKgR,EA3uBW,EA4uBjB,CA6DA,SAASJ,EAAOS,GACf,IAAMT,EAAS,IAAI+C,EAAOtC,GAC1B,IACCT,EAAOM,GAIP,CAHC,MAAOC,GAER,MADAP,EAAOgD,IACDzC,CACN,CAGD,OAAOP,EAAOgD,EAAS/I,KAAK+F,EAC7B,CC1xBA,SAASd,GAA6B+D,EAAaC,GAElD/W,EAAAA,GAAQ8W,GAAYC,EAAOjJ,KAAK,KAAM9N,EAAAA,GAAQ8W,IAAc,WAAS,EACtE,CAKA,SAASE,GAAkBC,GAEtB1C,GAAcA,IAElBA,EAAe0C,GAAWA,EAAQC,GACnC,CAwBA,SAASC,GAAWC,GAAqD,IAAAC,EAAxBpU,KAAAsI,EAAI6L,EAAJ7L,KAK1C+L,EA+QS,SAAaxQ,GAC5B,OAAOiL,GAAQ,WAAM,OAAA4C,EAAsB7N,EAAM,GAAE,GACpD,CAjRuByQ,CAAUhM,GAChC+L,EAAcxQ,MAAQyE,EAEtB,IAAMmC,EAAIqE,GAAQ,WAGjB,IADA,IAAIyF,EAAIH,EAAK1U,IACL6U,EAAIA,EAAEnV,OACTmV,EAAE/U,IAAK,CACV+U,EAAE/U,IAAIgV,MArDY,EAsDlB,KACA,CAaF,OAVAJ,EAAKK,KAAUvD,EAAY,WAAK,IAAAwD,GAC3BzX,EAAAA,EAAAA,IAAewN,EAAEkK,SAAmC,KAAf,OAATD,EAAAN,EAAK9T,WAAAA,EAALoU,EAAWlR,WAC1C4Q,EAAKI,MA9DkB,EA+DvBJ,EAAKhK,SAAS,CAAE,IAIhBgK,EAAK9T,KAAcgI,KAAOmC,EAAEkK,MAC9B,EAEOvB,GAAS,WACf,IACI3I,EADO4J,EAAcxQ,MACZA,MACb,OAAa,IAAN4G,EAAU,OAAIA,EAAa,GAAKA,GAAK,EAC7C,GACD,GAAG,IAEH,OAAOA,EAAE5G,KACV,CAgHA,SAAS+Q,GACR5Q,EACA+H,EACA8I,EACA5W,GAEA,IAAM6W,EACL/I,KAAQ/H,QAAAA,IAIRA,EAAI+Q,gBAECC,EAAetD,EAAOmD,GAC5B,MAAO,CACNI,EAAS,SAACC,EAAmBzP,GAC5BuP,EAAanR,MAAQqR,EACrBjX,EAAQwH,CACT,EACAmO,EAAUhD,GAAO,WAChB,IAAM/M,EAAQmR,EAAanR,MAAMA,MAE7B5F,EAAM8N,KAAUlI,IACpB5F,EAAM8N,GAAQlI,EACViR,EAEH9Q,EAAI+H,GAAQlI,EACFA,EACVG,EAAIc,aAAaiH,EAAMlI,GAEvBG,EAAIa,gBAAgBkH,GAEtB,IAEF,CD4BAuG,EAAOrM,UAAUkP,MAAQ9E,EAEzBiC,EAAOrM,UAAUyM,EAAW,WAC3B,OAAM,CACP,EAEAJ,EAAOrM,UAAUoM,EAAa,SAAUlU,GACnC6B,KAAKwS,IAAarU,QAAAA,IAAQA,EAAK+T,IAClC/T,EAAKgU,EAAcnS,KAAKwS,OACxB,IAAIxS,KAAKwS,IACRxS,KAAKwS,EAASN,EAAc/T,GAE7B6B,KAAKwS,EAAWrU,EAElB,EAEAmU,EAAOrM,UAAU+M,EAAe,SAAU7U,GAEzC,YAAI6B,KAAKwS,EAAwB,CAChC,IAAMO,EAAO5U,EAAK+T,EACZpB,EAAO3S,EAAKgU,OAClB,IAAIY,IACHA,EAAKZ,EAAcrB,EACnB3S,EAAK+T,OAAAA,QAEN,IAAIpB,IACHA,EAAKoB,EAAca,EACnB5U,EAAKgU,OAAAA,GAEFhU,IAAS6B,KAAKwS,IACjBxS,KAAKwS,EAAW1B,EAEjB,CACF,EAEAwB,EAAOrM,UAAUmP,UAAY,SAAU/D,GAAE+C,IAAAA,EACxCpU,KAAA,OAAO4Q,GAAO,WACb,IAAM/M,EAAQuQ,EAAKvQ,MAEb0P,EAAchC,EACpBA,OAAAA,EACA,IACCF,EAAGxN,EAGH,CAFA,QACA0N,EAAcgC,CACd,CACF,GACD,EAEAjB,EAAOrM,UAAUoP,QAAU,WAC1B,OAAOrV,KAAK6D,KACb,EAEAyO,EAAOrM,UAAUqP,SAAW,WAC3B,OAAOtV,KAAK6D,MAAQ,EACrB,EAEAyO,EAAOrM,UAAUsP,OAAS,WACzB,OAAWvV,KAAC6D,KACb,EAEAyO,EAAOrM,UAAU0O,KAAO,WACvB,IAAMpB,EAAchC,EACpBA,OAAAA,EACA,IACC,OAAOvR,KAAK6D,KAGZ,CAFA,QACA0N,EAAcgC,CACd,CACF,EAEA5H,OAAOC,eAAe0G,EAAOrM,UAAW,QAAS,CAChD6F,IAAGA,WACF,IAAM3N,EAAOsT,EAAczR,MAI3B,YAHA,IAAI7B,IACHA,EAAK0T,EAAW7R,KAAK6R,GAEX7R,KAACuS,CACb,EACAiD,IAAAA,SAAkB3R,GACjB,GAAIA,IAAU7D,KAAKuS,EAAQ,CAC1B,GAAI1B,EAAiB,IACpB,MAAM,IAAI6C,MAAM,kBAGjB1T,KAAKuS,EAAS1O,EACd7D,KAAK6R,IACLL,IA7UFf,IAgVE,IACC,IACC,IAAItS,EAAO6B,KAAKwS,OAAAA,IAChBrU,EACAA,EAAOA,EAAKgU,EAEZhU,EAAKyT,EAAQ6D,GAId,CAFA,QACAjF,GACA,CACD,CACF,KAmJDyC,EAAShN,UAAY,IAAIqM,GAENI,EAAW,WAG7B,GAFA1S,KAAKgR,IAAU,EAlhBA,EAohBXhR,KAAKgR,EACR,OAAM,EAMP,GAthBgB,KAshBI0E,GAAf1V,KAAKgR,GACT,OAAM,EAIP,GAFAhR,KAAKgR,IAAU,EAEXhR,KAAKmT,IAAmB3B,EAC3B,OAAM,EAOP,GALAxR,KAAKmT,EAAiB3B,EAItBxR,KAAKgR,GAviBU,EAwiBXhR,KAAK6R,EAAW,IAAMZ,EAAiBjR,MAE1C,OADAA,KAAKgR,IAAU,GACT,EAGP,IAAMuC,EAAchC,EACpB,IACCoB,EAAe3S,MACfuR,EAAcvR,KACd,IAAM6D,EAAQ7D,KAAKkT,KA7iBH,GA+iBflT,KAAKgR,GACLhR,KAAKuS,IAAW1O,GACE,IAAlB7D,KAAK6R,KAEL7R,KAAKuS,EAAS1O,EACd7D,KAAKgR,IAAU,GACfhR,KAAK6R,IAMN,CAJC,MAAOV,GACRnR,KAAKuS,EAASpB,EACdnR,KAAKgR,GAzjBW,GA0jBhBhR,KAAK6R,GACL,CAID,OAHAN,EAAcgC,EACdV,EAAe7S,MACfA,KAAKgR,IAAU,GACT,CACP,EAEAiC,EAAShN,UAAUoM,EAAa,SAAUlU,GACzC,YAAI6B,KAAKwS,EAAwB,CAChCxS,KAAKgR,GAAU0E,GAIf,IACC,IAAIvX,EAAO6B,KAAKgS,OAAAA,IAChB7T,EACAA,EAAOA,EAAK8T,EAEZ9T,EAAK2T,EAAQO,EAAWlU,EAEzB,CACDmU,EAAOrM,UAAUoM,EAAWvT,KAAKkB,KAAM7B,EACxC,EAEA8U,EAAShN,UAAU+M,EAAe,SAAU7U,GAE3C,YAAI6B,KAAKwS,IACRF,EAAOrM,UAAU+M,EAAalU,KAAKkB,KAAM7B,QAIzC,IAAI6B,KAAKwS,GAAwB,CAChCxS,KAAKgR,IAAU,GAEf,IACC,IAAI7S,EAAO6B,KAAKgS,OAAAA,IAChB7T,EACAA,EAAOA,EAAK8T,EAEZ9T,EAAK2T,EAAQkB,EAAa7U,EAE3B,CAEH,EAEA8U,EAAShN,UAAUwP,EAAU,WAC5B,KA5mBgB,EA4mBVzV,KAAKgR,GAAoB,CAC9BhR,KAAKgR,GAAU0E,EAEf,IACC,IAAIvX,EAAO6B,KAAKwS,OAAAA,IAChBrU,EACAA,EAAOA,EAAKgU,EAEZhU,EAAKyT,EAAQ6D,GAEd,CACF,EAEA9J,OAAOC,eAAeqH,EAAShN,UAAW,QAAS,CAClD6F,IAAAA,WACC,GA5nBc,EA4nBV9L,KAAKgR,EACR,MAAM,IAAI0C,MAAM,kBAEjB,IAAMvV,EAAOsT,EAAczR,MAK3B,GAJAA,KAAK0S,SACL,IAAIvU,IACHA,EAAK0T,EAAW7R,KAAK6R,GA9nBN,GAgoBZ7R,KAAKgR,EACR,MAAMhR,KAAKuS,EAEZ,OAAOvS,KAAKuS,CACb,IA2GDoB,EAAO1N,UAAUiL,EAAY,WAC5B,IAAMyE,EAAS3V,KAAKiU,IACpB,IACC,GAnvBe,EAmvBXjU,KAAKgR,EAAmB,OAC5B,YAAIhR,KAAKkT,EAAmB,OAE5B,IAAMlD,EAAUhQ,KAAKkT,IACE,mBAAZlD,IACVhQ,KAAKsT,EAAWtD,EAIjB,CAFA,QACA2F,GACA,CACF,EAEAhC,EAAO1N,UAAUgO,EAAS,WACzB,GAnwBe,EAmwBXjU,KAAKgR,EACR,MAAM,IAAI0C,MAAM,kBAEjB1T,KAAKgR,GAtwBU,EAuwBfhR,KAAKgR,IAAU,EACfqC,EAAcrT,MACd2S,EAAe3S,MAzuBfyQ,IA4uBA,IAAM8C,EAAchC,EAEpB,OADAA,EAAcvR,KACPyT,EAAU5I,KAAK7K,KAAMuT,EAC7B,EAEAI,EAAO1N,UAAUwP,EAAU,WAhxBV,EAixBVzV,KAAKgR,IACVhR,KAAKgR,GAlxBU,EAmxBfhR,KAAK+Q,EAAqBJ,EAC1BA,EAAgB3Q,KAElB,EAEA2T,EAAO1N,UAAU2N,EAAW,WAC3B5T,KAAKgR,GAvxBW,EAHD,EA4xBThR,KAAKgR,GACVwC,EAAcxT,KAEhB,ECtrBAkU,GAAY0B,YAAc,MAE1BjK,OAAOkK,iBAAiBvD,EAAOrM,UAAW,CACzCxG,YAAa,CAAEqW,cAAa,EAAOjS,WAAM,GACzCtF,KAAM,CAAEuX,cAAa,EAAOjS,MAAOqQ,IACnCjW,MAAO,CACN6X,cAAa,EACbhK,IAAG,WACF,MAAO,CAAExD,KAAMtI,KAChB,GAKDX,IAAK,CAAEyW,cAAa,EAAOjS,MAAO,KAInCiM,GAAAA,OAAwB,SAACjG,EAAK3K,GAC7B,GAA0B,iBAAfA,EAAMX,KAAmB,CACnC,IAAIwX,EAEA9X,EAAQiB,EAAMjB,MAClB,IAAK,IAAIR,KAAKQ,EACb,GAAU,aAANR,EAAJ,CAEA,IAAIoG,EAAQ5F,EAAMR,GACdoG,aAAiByO,IACfyD,IAAa7W,EAAM8W,KAAOD,EAAc,CAAC,GAC9CA,EAAYtY,GAAKoG,EACjB5F,EAAMR,GAAKoG,EAAM8Q,OANI,CASvB,CAED9K,EAAI3K,EACL,IAGA4Q,GAAAA,OAA0B,SAACjG,EAAK3K,GAC/B6U,KAEA,IAAIC,EAEAlT,EAAY5B,EAAMM,IAClBsB,IACHA,EAAU0T,OAAgB,OAG1B,KADAR,EAAUlT,EAAU2T,QAEnB3T,EAAU2T,KAAWT,EA7GxB,WACC,IAAIA,EAKJ,OAJApD,GAAO,WACNoD,EAAUhU,IACX,IACAgU,EAAQ9C,EAwGuC,WAC5CpQ,EAAU0T,MAlIa,EAmIvB1T,EAAUsJ,SAAS,CAAE,EACtB,EA1GK4J,CACR,CAPA,KAqHCD,GAAkBC,GAClBnK,EAAI3K,EACL,IAGA4Q,GAAI,OAA2B,SAACjG,EAAKE,EAAO7K,EAAO8B,GAClD+S,KAEAlK,EAAIE,EAAO7K,EAAO8B,EACnB,IAGA8O,GAAAA,UAA0B,SAACjG,EAAK3K,GAI/B,IAAI8E,EAIJ,GAPA+P,KAO0B,iBAAf7U,EAAMX,OAAsByF,EAAM9E,EAAMI,KAAiB,CACnE,IAAIrB,EAAQiB,EAAM8W,KACdC,EAAgB/W,EAAMjB,MAC1B,GAAIA,EAAO,CACV,IAAIiY,EAAWlS,EAAImS,EACnB,GAAID,EACH,IAAK,IAAInK,KAAQmK,EAAU,CAC1B,IAAIlC,EAAUkC,EAASnK,QACvB,IAAIiI,GAA2BjI,KAAQ9N,IACtC+V,EAAQJ,IAERsC,EAASnK,QAAAA,EAEV,MAGD/H,EAAImS,EADJD,EAAW,CAAE,EAGd,IAAK,IAAInK,KAAQ9N,EAAO,CACvB,IAAI+V,EAAUkC,EAASnK,GACnB2F,EAASzT,EAAM8N,QACnB,IAAIiI,GACHA,EAAUY,GAAkB5Q,EAAK+H,EAAM2F,EAAQuE,GAC/CC,EAASnK,GAAQiI,GAEjBA,EAAQiB,EAAQvD,EAAQuE,EAEzB,CACD,CACD,CACDpM,EAAI3K,EACL,IAuCA4Q,GAAAA,WAA2B,SAACjG,EAAK3K,GAChC,GAA0B,iBAAfA,EAAMX,KAAmB,CACnC,IAAIyF,EAAM9E,EAAMI,IAEhB,GAAI0E,EAAK,CACR,IAAMkS,EAAWlS,EAAImS,EACrB,GAAID,EAEH,IAAK,IAAInK,KADT/H,EAAImS,OAAAA,EACaD,EAAU,CAC1B,IAAIlC,EAAUkC,EAASnK,GACnBiI,GAASA,EAAQJ,GACrB,CAEF,CACD,KAAM,CACN,IAAI9S,EAAY5B,EAAMM,IACtB,GAAIsB,EAAW,CACd,IAAMkT,EAAUlT,EAAU2T,KACtBT,IACHlT,EAAU2T,UAAAA,EACVT,EAAQJ,IAET,CACD,CACD/J,EAAI3K,EACL,IAGA4Q,GAAI,OAAoB,SAACjG,EAAK/I,EAAWiM,EAAOxO,IAC3CA,EAAO,GAAc,IAATA,KACduC,EAAiC0T,MAhQb,GAiQtB3K,EAAI/I,EAAWiM,EAAOxO,EACvB,IAMA6X,EAAAA,GAAUnQ,UAAUc,sBAAwB,SAE3C9I,EACAsI,GAGA,IAAMyN,EAAUhU,KAAKyU,KA0BrB,KAzBmBT,QAAAA,IAAWA,EAAQhC,GA9QjB,EAuSAhS,KAAKwU,MAA+B,OAAM,EAI/D,GAAyB6B,EAArBrW,KAAKwU,KAAsD,OAAM,EAGrE,IAAK,IAAI/W,KAAK8I,EAAO,OAAM,EAG3B,IAAK,IAAI9I,KAAKQ,EACb,GAAU,aAANR,GAAoBQ,EAAMR,KAAOuC,KAAK/B,MAAMR,GAAI,OAAM,EAE3D,IAAK,IAAIA,KAAAA,KAAUQ,MAAO,KAAMR,KAAKQ,GAAQ,OAAM,EAGnD,OAAM,CACP,ECzVA,MAAMqY,GAA2B,GAEpBC,GAAeA,IAAMD,GAAexZ,OAAQ,GAAK,GAEjD0Z,GAAiBvU,IAC7BqU,GAAe7V,KAAMwB,EAAW,EAEpBwU,GAAiBA,KAC7BH,GAAeI,KAAK,ECafC,GAAsB,GAEfC,GAAWA,IAAMD,GAAW7Z,OAAQ,GAAK,GAEzC+Z,GAAaC,IACzBH,GAAWlW,KAAMqW,EAAO,EAEZC,GAAaA,KACzBJ,GAAWD,KAAK,EAIXM,GAAe,IAAIC,QACnBC,GAAiBA,KACtB,MAAM,IAAIxD,MACT,oEACA,EAEIyD,GAA4C,CACjDrL,GAAAA,CAAK2G,EAAQhU,EAAK2Y,GACjB,MAAMvT,EAAQwT,QAAQvL,IAAK2G,EAAQhU,EAAK2Y,GACxC,OAAUvT,GAA0B,iBAAVA,EACvByT,GAAezT,GACfA,CACJ,EACA2R,IAAK0B,GACLK,eAAgBL,IAEXI,GAA2C7E,IACzCuE,GAAaQ,IAAK/E,IACxBuE,GAAaxB,IAAK/C,EAAQ,IAAIgF,MAAOhF,EAAQ0E,KAEvCH,GAAalL,IAAK2G,IAYbiF,GAAmCzV,GACjC2U,KAQD7W,QAASkC,GAAasU,MAUvBoB,GAAaA,KACzB,MAAMb,EAAQF,MAQR,IAAElY,EAAG,WAAE8J,GAAesO,EAC5B,OAAOnL,OAAOiM,OAAQ,CACrBlZ,IAAKA,EAAIkK,QACTJ,WAAY8O,GAAe9O,IACzB,EAgCSqP,GACZ5V,GAEc2U,KAQDkB,cAAe7V,GAAasU,MCtGpCjH,GAAmB9E,GACjB,IAAIG,SAAmBG,IAC7B,MAAM4E,EAAOA,KACZC,aAAcC,GACdmI,OAAOlI,qBAAsBJ,GAC7B1E,YAAY,KACXP,IACAM,GAAS,GACP,EAEE8E,EAAU7E,WAAY2E,EAAM,KAC5BD,EAAMsI,OAAO1I,sBAAuBK,EAAM,IASrCsI,GACuB,mBAA5BD,OAAOE,WAAWC,MACtBH,OAAOE,UAAUC,MAAMrN,KAAMkN,OAAOE,WACpC,IACO,IAAItN,SAAWG,IACrBC,WAAYD,EAAS,EAAG,IA0EtB,SAASqN,GAAWC,GAC1B,MAAMtB,EAAQF,KACRyB,EAAK9B,KACX,MAAiC,sBAA5B6B,GAAM3Y,aAAawE,KAChBqU,SAAW7J,KACjB,MAAM8J,EAAMH,KAAS3J,GACrB,IAAI5K,EACA2U,EACJ,OAAe,CACdhC,GAAc6B,GACdxB,GAAUC,GACV,IACC0B,EAAKD,EAAIzH,KAAMjN,EAChB,CAAE,QACDkT,KACAN,IACD,CAEA,IACC5S,QAAc2U,EAAG3U,KAClB,CAAE,MAAQe,GACT4R,GAAc6B,GACdxB,GAAUC,GACVyB,EAAIE,MAAO7T,EACZ,CAAE,QACDmS,KACAN,IACD,CAEA,GAAK+B,EAAG9I,KACP,KAEF,CAEA,OAAO7L,CAAK,EAGP,IAAK4K,KACX+H,GAAc6B,GACdxB,GAAUC,GACV,IACC,OAAOsB,KAAS3J,EACjB,CAAE,QACDgI,KACAM,IACD,EAEF,CAYO,SAAS2B,GAAUlO,IAlGnB,SAA0BA,GAChCmO,GAAY,KACX,IAAIC,EAAsB,KACtBC,GAAc,EAWlB,OADAD,EAhCF,SAAwBE,EAAqBC,GAC5C,IAAIC,EAAoBA,KAAe,EACvC,MAAMC,EAAUrI,GAAQ,WAIvB,OAHAoI,EAAQhZ,KAAKQ,EAAEqK,KAAM7K,MACrBA,KAAKyD,EAAIqV,EACT9Y,KAAKQ,EAAIuY,EACFD,GACR,IACA,MAAO,CAAEE,QAAOC,UACjB,CAuBQC,CAAe1O,GARN8N,UACTM,IAASC,IACbA,GAAc,QACRvJ,GAAgBsJ,EAAII,OAC1BH,GAAc,EACf,IAIMD,EAAIK,OAAO,GAChB,GACJ,CAmFCE,CAAiBhB,GAAW3N,GAC7B,CAWO,SAAS4O,GAAS5O,GACxBmO,EAAYR,GAAW3N,GAAY,GACpC,CAeO,SAASgE,GAAWhE,EAA0B6O,GACpDV,EAAYR,GAAW3N,GAAY6O,EACpC,CAeO,SAASC,GAAiB9O,EAA0B6O,ILqDpD,SAAyB7O,EAAUiE,GAEzC,IAAMlI,EAAQuG,EAAab,IAAgB,IACtClP,EAAO2J,KAAiBgI,EAAYnI,EAAK0G,IAAQwB,KACrDlI,EAAKnH,GAAUoL,EACfjE,EAAMoI,EAAeF,EAErBvC,EAAgB1F,IAAkB/F,KAAK8F,GAEzC,CK7DCgT,CAAkBpB,GAAW3N,GAAY6O,EAC1C,CAgBO,SAASrK,GACfxE,EACA6O,GAEA,OAAOG,EAAmBrB,GAAW3N,GAAY6O,EAClD,CAgBO,SAASvK,GAAcC,EAAkBsK,GAC/C,OAAOI,EAAUtB,GAAWpJ,GAAWsK,EACxC,CAgD8B,IAAIK,IAAlC,MAoCaC,GACZC,GAEAC,QACCD,GACsB,iBAAdA,GACPA,EAAUna,cAAgBkM,QCnXvBmO,GAAa,IAAI7C,QACjB8C,GAAa,IAAI9C,QAKjB+C,GAAY,IAAI/C,QAKhBgD,GAAY,IAAIP,IAAK,CAAE/N,OAAQ7N,QAgBxBoc,GAAcA,CAC1BjY,EACAjE,EACAmc,KAEA,IAAOC,GAAapc,GACnB,MAAM0V,MAAO,oCAEd,IAAOoG,GAAWtC,IAAKxZ,GAAQ,CAC9B,MAAMqc,EAAQ,IAAI5C,MAAOzZ,EAAKmc,GAC9BL,GAAWtE,IAAKxX,EAAKqc,GACrBN,GAAWvE,IAAK6E,EAAOrc,GACvBgc,GAAUxE,IAAK6E,EAAOpY,EACvB,CACA,OAAO6X,GAAWhO,IAAK9N,EAAK,EAUhBsc,GACZtc,GACmB8b,GAAWhO,IAAK9N,GAUvBuc,GAA0BF,GACtCL,GAAUlO,IAAKuO,GAQHD,GACZR,GAE0B,iBAAdA,GAAwC,OAAdA,IAInCI,GAAUxC,IAAKoC,IAAeK,GAAUzC,IAAKoC,EAAUna,aC5DrD+a,GAAW,CAAC,EAMX,MAAMC,GA+BZhb,WAAAA,CAAaib,GACZ1a,KAAK0a,MAAQA,EACb1a,KAAK2a,iBAAmB,IAAI1D,OAC7B,CAQO2D,QAAAA,CAAU/W,GAChB7D,KAAKuK,OAAQ,CAAE1G,SAChB,CAQOgX,SAAAA,CAAWC,GACjB9a,KAAKuK,OAAQ,CAAEuB,IAAKgP,GACrB,CAYOC,WAAAA,GACN,MAAMjE,EAAQF,MAAc4D,GAM5B,GAJOxa,KAAKgb,aAAiBhb,KAAKib,cACjCjb,KAAKuK,OAAQ,CAAC,IAGRvK,KAAK2a,iBAAiBnD,IAAKV,GAAU,CAC3C,MAAMtM,EAAWA,KAChB,MAAMsQ,EAAS9a,KAAKib,cAAcpX,MAClC,OAAOiX,EACJA,EAAOhc,KAAMkB,KAAK0a,OAClB1a,KAAKgb,aAAanX,KAAK,EAG3B2S,GAAc+D,GAAuBva,KAAK0a,QAC1C1a,KAAK2a,iBAAiBnF,IACrBsB,EACA1D,EAAU+E,GAAW3N,KAEtBiM,IACD,CAEA,OAAOzW,KAAK2a,iBAAiB7O,IAAKgL,EACnC,CAUQvM,MAAAA,EAAQ,IAAEuB,EAAG,MAAEjI,IACf7D,KAAKgb,YAIXnX,IAAU7D,KAAKgb,YAAYrG,QAC3B7I,IAAQ9L,KAAKib,aAActG,QAE3BvD,GAAO,KACNpR,KAAKgb,YAAanX,MAAQA,EAC1B7D,KAAKib,aAAcpX,MAAQiI,CAAG,KAR/B9L,KAAKgb,YAActJ,EAAQ7N,GAC3B7D,KAAKib,aAAevJ,EAAQ5F,GAU9B,ECvHD,MAAMoP,GAAmB,IAAIxB,IAC5B/N,OAAOwP,oBAAqB7K,QAC1B8K,KAAO3c,GAAS6R,OAAQ7R,KACxBuP,QAAUnK,GAA4B,iBAAVA,KAOzBwX,GAGF,IAAIpE,QAUKqE,GAAgBA,CAAEjB,EAAe5b,IAC7C4c,GAAa7D,IAAK6C,IAAWgB,GAAavP,IAAKuO,GAAS7C,IAAK/Y,GAExD8c,GAAkB,IAAIC,QActBC,GAAgBA,CACrBpB,EACA5b,EACAid,KAEOL,GAAa7D,IAAK6C,IACxBgB,GAAa7F,IAAK6E,EAAO,IAAIsB,KAE9Bld,EAAqB,iBAARA,EAAmB,GAAIA,IAASA,EAC7C,MAAMR,EAAQod,GAAavP,IAAKuO,GAChC,IAAOpc,EAAMuZ,IAAK/Y,GAAQ,CACzB,MAAM4Z,EAAKkC,GAAuBF,GAC5BtO,EAAO,IAAI0O,GAAYJ,GAE7B,GADApc,EAAMuX,IAAK/W,EAAKsN,GACX2P,EAAU,CACd,MAAM,IAAE5P,EAAG,MAAEjI,GAAU6X,EACvB,GAAK5P,EACJC,EAAK8O,UAAW/O,OACV,CACN,MAAM8P,EAAWL,GAAgB/D,IAAK6C,GACtCtO,EAAK6O,SACJR,GAAavW,GACVgY,GAAcxD,EAAIxU,EAAO,CAAE+X,aAC3B/X,EAEL,CACD,CACD,CACA,OAAO5F,EAAM6N,IAAKrN,EAAK,EAOlBqd,GAAgB,IAAI7E,QAW1B,MAAM8E,GAAwC,CAC7CjQ,GAAAA,CAAK2G,EAAgBhU,EAAsB2Y,GAO1C,IAEK3E,EAAOzG,eAAgBvN,IAASA,KAAOgU,GAC1B,iBAARhU,GAAoByc,GAAiB1D,IAAK/Y,GAEnD,OAAO4Y,QAAQvL,IAAK2G,EAAQhU,EAAK2Y,GAIlC,MAAM4E,EAAOrQ,OAAOsQ,yBAA0BxJ,EAAQhU,GAEhDyd,EADOT,GAAerE,EAAU3Y,EAAKud,GACvBjB,cAAclX,MAOlC,GAAuB,mBAAXqY,EAAwB,CACnC,MAAM7D,EAAKkC,GAAuBnD,GAClC,MAAO,IAAK3I,KACX+H,GAAc6B,GACd,IACC,OAAO6D,EAAOpd,KAAMsY,KAAa3I,EAClC,CAAE,QACDgI,IACD,EAEF,CAEA,OAAOyF,CACR,EAEA1G,GAAAA,CACC/C,EACAhU,EACAoF,EACAuT,GAEA,GAAKmE,GAAgB/D,IAAKJ,GACzB,OAAO,EAERZ,GAAc+D,GAAuBnD,IACrC,IACC,OAAOC,QAAQ7B,IAAK/C,EAAQhU,EAAKoF,EAAOuT,EACzC,CAAE,QACDX,IACD,CACD,EAEA7K,cAAAA,CACC6G,EACAhU,EACAud,GAEA,GAAKT,GAAgB/D,IAAK8C,GAAoB7H,IAC7C,OAAO,EAGR,MAAMrN,IAAY3G,KAAOgU,GACnByJ,EAAS7E,QAAQzL,eAAgB6G,EAAQhU,EAAKud,GAEpD,GAAKE,EAAS,CACb,MAAM9E,EAAWkD,GAAoB7H,GAC/B1G,EAAO0P,GAAerE,EAAU3Y,IAChC,IAAEqN,EAAG,MAAEjI,GAAUmY,EACvB,GAAKlQ,EACJC,EAAK8O,UAAW/O,OACV,CACN,MAAMuM,EAAKkC,GAAuBnD,GAClCrL,EAAK6O,SACJR,GAAavW,GAAUgY,GAAcxD,EAAIxU,GAAUA,EAErD,CAEKuB,GAAS0W,GAActE,IAAK/E,IAChCqJ,GAAchQ,IAAK2G,GAAU5O,QAS7B/F,MAAMD,QAAS4U,IACf4I,GAAavP,IAAKsL,IAAYI,IAAK,WAEpBiE,GAAerE,EAAU,UACjCwD,SAAUnI,EAAO5T,OAE1B,CAEA,OAAOqd,CACR,EAEA3E,cAAAA,CAAgB9E,EAAgBhU,GAC/B,GAAK8c,GAAgB/D,IAAK8C,GAAoB7H,IAC7C,OAAO,EAGR,MAAMyJ,EAAS7E,QAAQE,eAAgB9E,EAAQhU,GAW/C,OATKyd,IACST,GAAenB,GAAoB7H,GAAWhU,GACtDmc,cAAUtQ,GAEVwR,GAActE,IAAK/E,IACvBqJ,GAAchQ,IAAK2G,GAAU5O,SAIxBqY,CACR,EAEAC,QAAS1J,IACDqJ,GAActE,IAAK/E,IACzBqJ,GAActG,IAAK/C,EAAQf,EAAQ,IAMlCoK,GAAuBM,EAAIN,GAAchQ,IAAK2G,GAAU5O,MACnDwT,QAAQ8E,QAAS1J,KAkBboJ,GAAeA,CAC3B5Z,EACAjE,EACAjB,KAEA,MAAMsd,EAAQH,GAAajY,EAAWjE,EAAK+d,IAI3C,OAHKhf,GAAS6e,UACbL,GAAgBc,IAAKhC,GAEfA,CAAK,EA8BPiC,GAAqBA,CAC1B7J,EACA8J,EACAC,GAAoB,KAIpB,IAAS7C,GAAelH,KAAYkH,GAAe4C,GAClD,OAGD,IAAIE,GAAa,EAEjB,IAAM,MAAMhe,KAAO8d,EAAS,CAC3B,MAAMnX,IAAY3G,KAAOgU,GACzBgK,EAAaA,GAAcrX,EAE3B,MAAM4W,EAAOrQ,OAAOsQ,yBAA0BM,EAAQ9d,GAChD4b,EAAQC,GAAoB7H,GAC5BoC,IACFwF,GACHiB,GAAejB,EAAO5b,IACtBgd,GAAepB,EAAO5b,GAGvB,GACqB,mBAAbud,EAAKlQ,KACQ,mBAAbkQ,EAAKxG,KAEPgH,GAAYpX,KAGhBuG,OAAOC,eAAgB6G,EAAQhU,EAAK,IAChCud,EACHlG,cAAc,EACdjK,YAAY,IAGRmQ,EAAKlQ,KAAO+I,GAChBA,EAAWgG,UAAWmB,EAAKlQ,WAKvB,GAAK6N,GAAe4C,EAAQ9d,IAAU,CAC5C,MAAMie,EAAc/Q,OAAOsQ,yBAA0BxJ,EAAQhU,IAC1DoF,MACH,GAAKuB,GAAWoX,IAAc7C,GAAe+C,GAAkB,CAG9D,GADAjK,EAAQhU,GAAQ,CAAC,EACZoW,EAAa,CAEjB,MAAMwD,EAAKkC,GAAuBF,GAClCxF,EAAW+F,SACViB,GAAcxD,EAAI5F,EAAQhU,IAE5B,CACA6d,GAAoB7J,EAAQhU,GAAO8d,EAAQ9d,GAAO+d,EACnD,MAEU7C,GAAe+C,IACxBJ,GAAoB7J,EAAQhU,GAAO8d,EAAQ9d,GAAO+d,EAIpD,MAAO,IAAKA,GAAYpX,KACvBuG,OAAOC,eAAgB6G,EAAQhU,EAAKud,GAC/BnH,GAAa,CACjB,MAAM,MAAEhR,GAAUmY,EACZ3D,EAAKkC,GAAuBF,GAElCxF,EAAW+F,SACVR,GAAavW,GAAUgY,GAAcxD,EAAIxU,GAAUA,EAErD,CAEF,CAEK4Y,GAAcX,GAActE,IAAK/E,IACrCqJ,GAAchQ,IAAK2G,GAAU5O,OAC9B,EAiBY8Y,GAAYA,CACxBlK,EACA8J,EACAC,GAAoB,IAEpBpL,GAAO,KACNkL,WFlTDjC,EEmTsB5H,EFlTHsH,GAAWjO,IAAKuO,IEkTD5H,GAChC8J,EACAC,GFrTFnC,KEuTA,ICxYKuC,GAAa,IAAIpB,QAKjBqB,GAAwC,CAC7C/Q,IAAKA,CAAE2G,EAAahU,EAAsB2Y,KACzC,MAAM8E,EAAS7E,QAAQvL,IAAK2G,EAAQhU,GAC9B4Z,EAAKkC,GAAuBnD,GAMlC,QAAuB,IAAX8E,GAA0BU,GAAWpF,IAAKJ,GAAa,CAClE,MAAMpZ,EAAM,CAAC,EAEb,OADAqZ,QAAQ7B,IAAK/C,EAAQhU,EAAKT,GACnB8e,GAAczE,EAAIra,GAAK,EAC/B,CAQA,GAAuB,mBAAXke,EAAwB,CACnC1F,GAAc6B,GACd,MAAM0E,EAAS5E,GAAW+D,GAE1B,OADAzF,KACOsG,CACR,CAGA,OAAKpD,GAAeuC,IAAY9B,GAAa8B,GACrCY,GAAczE,EAAI6D,GAAQ,GAG3BA,CAAM,GAiBFY,GAAeA,CAC3B7a,EACAjE,EACAgf,GAAS,KAET,MAAM3C,EAAQH,GAAajY,EAAWjE,EAAK6e,IAI3C,OAHKxC,GAAS2C,GACbJ,GAAWP,IAAKhC,GAEVA,CAAK,EC7EP4C,GAAuB,IAAIhG,QAC3BiG,GAA0B,IAAIjG,QAC9BkG,GAAiB,IAAI3B,QAErB4B,GAAa/F,QAAQ4E,yBAGrBoB,GAA0C,CAC/CvR,IAAKA,CAAE2G,EAAQhU,KACd,MAAM6e,EAAWJ,GAAwBpR,IAAK2G,GAExC8K,EAAc9K,EAAQhU,GAQ5B,OAAOA,KAAOgU,EAAS8K,EAAcD,EAAU7e,EAAK,EAErD+W,IAAKA,CAAE/C,EAAQhU,EAAKoF,KACnB,MAAMyZ,EAAWJ,GAAwBpR,IAAK2G,GAO9C,OAHYhU,KAAOgU,KAAchU,KAAO6e,GAAa7K,EAAS6K,GACzD7e,GAAQoF,GAEN,CAAI,EAEZsY,QAAW1J,GAAY,IACnB,IAAIiH,IAAK,IACR/N,OAAO6R,KAAMN,GAAwBpR,IAAK2G,OAC1C9G,OAAO6R,KAAM/K,MAGlBwJ,yBAA0BA,CAAExJ,EAAQhU,IACnC2e,GAAY3K,EAAQhU,IACpB2e,GAAYF,GAAwBpR,IAAK2G,GAAUhU,GACpD+Y,IAAKA,CAAE/E,EAAQhU,IACd4Y,QAAQG,IAAK/E,EAAQhU,IACrB4Y,QAAQG,IAAK0F,GAAwBpR,IAAK2G,GAAUhU,IAczCgf,GAAiBA,CAC7B7U,EACA8U,EAAoB,CAAC,KAErB,GAAKP,GAAe3F,IAAK5O,GACxB,MAAM8K,MAAO,oCAId,GADAwJ,GAAwB1H,IAAK5M,EAAS8U,IAC/BT,GAAqBzF,IAAK5O,GAAY,CAC5C,MAAMyR,EAAQ,IAAI5C,MAAO7O,EAASyU,IAClCJ,GAAqBzH,IAAK5M,EAASyR,GACnC8C,GAAed,IAAKhC,EACrB,CACA,OAAO4C,GAAqBnR,IAAKlD,EAAS,EC5D9B+U,GAAS,IAAIhC,IACpBiC,GAAY,IAAIjC,IAChBkC,GAAa,IAAIlC,IACjBmC,GAAe,IAAInC,IACnBoC,GAAe,IAAIpC,IAQZqC,GAAc/b,GAC1B6b,GAAahS,IAAK7J,GAAasU,OAAoB,CAAC,EA2BxC0H,GAAmBhc,IAC/B,MAAMoW,EAAKpW,GAAasU,KAIxB,OAHOwH,GAAavG,IAAKa,IACxB0F,GAAavI,IAAK6C,EAAIwD,GAAcxD,EAAI,CAAC,EAAG,CAAEuD,UAAU,KAElDmC,GAAajS,IAAKuM,EAAI,EAmEjB6F,GACZ,4GA4EM,SAASC,GACflc,GACA,MAAEsE,EAAQ,CAAC,KAAM6X,GAAe,CAAC,GACjC,KAAEC,GAAO,GAAwB,CAAC,GAElC,GAAOV,GAAOnG,IAAKvV,GAiBZ,CAIN,GAAKoc,IAASH,IAAqBL,GAAWrG,IAAKvV,GAE5C,CACN,MAAMqc,EAAYT,GAAW/R,IAAK7J,GAKlC,GAHCoc,IAASH,MACE,IAATG,GAAiBA,IAASC,GAG5B,MAAOA,EAGA5K,MACL,2DAHKA,MAAO,6BAOhB,MAhBCmK,GAAWrI,IAAKvT,EAAWoc,GAkB5B,MAAM5L,EAASmL,GAAU9R,IAAK7J,GAC9B0a,GAAWlK,EAAQ2L,GACnBzB,GAAWlK,EAAOlM,MAAOA,EAC1B,KA3CiC,CAI3B8X,IAASH,IACbL,GAAWrI,IAAKvT,EAAWoc,GAE5B,MAAME,EAAW,CAChBhY,MAAOsV,GACN5Z,EACA0X,GAAepT,GAAUA,EAAQ,CAAC,MAEhC6X,GAEEI,EAAiB1B,GAAc7a,EAAWsc,GAChDX,GAAUpI,IAAKvT,EAAWsc,GAC1BZ,GAAOnI,IAAKvT,EAAWuc,EACxB,CA4BA,OAAOb,GAAO7R,IAAK7J,EACpB,CAEO,MAAMwc,GAAkBA,CAAEza,EAAMiE,YAAc,IAAAyW,EACpD,MAAMC,EAIJ,QAHDD,EACA1a,EAAI4a,eACH,yDACA,IAAAF,EAAAA,EAED1a,EAAI4a,eAAgB,yBACrB,GAAKD,GAAmBE,YACvB,IACC,OAAOC,KAAKC,MAAOJ,EAAkBE,YACtC,CAAE,MAAO,CAEV,MAAO,CAAC,CAAC,EAGGG,GAAuB1W,IAI9BqR,GAAerR,GAAM/B,QACzBoF,OAAOsT,QAAS3W,EAAM/B,OAAQ6H,SAAS,EAAInM,EAAWsE,MACrD,MAAM2Y,EAAKf,GAAclc,EAAW,CAAC,EAAG,CAAEoc,KAAMH,KAChDvB,GAAWuC,EAAG3Y,MAAOA,GAAO,GAC5BoW,GAAWsB,GAAgBhc,GAAasE,EAAO,IAG5CoT,GAAerR,GAAM6W,SACzBxT,OAAOsT,QAAS3W,EAAM6W,QAAS/Q,SAAS,EAAInM,EAAWkd,MACtDrB,GAAatI,IAAKvT,EAAWkd,EAAQ,GAEvC,EAIK7W,GAAOmW,KC3PN,SAASW,GACfC,GAEA,OAAwB,OAAjBA,EAAMC,MACd,CAEO,SAASC,GACfF,GAEA,OAAwB,OAAjBA,EAAMC,MACd,CDkPAN,GAAoB1W,IC7KpB,MAAMvI,IAAUqJ,EAAAA,EAAAA,IAAsB,CAAEoW,OAAQ,CAAC,EAAGC,OAAQ,CAAC,IAGvDC,GAA0D,CAAC,EAC3DC,GAAgD,CAAC,EA0E1CC,GAAYA,CACxB3b,EACAuG,GACEqV,WAAW,IAAyB,CAAC,KAEvCH,GAAoBzb,GAASuG,EAC7BmV,GAAqB1b,GAAS4b,CAAQ,EAgC1BC,GACZA,EAAIhJ,WACJ,CAAEuI,KAAU5Q,KACX,IAAM5K,MAAOkc,EAAI,UAAE9d,GAAcod,EACjC,GAAqB,iBAATU,EACX,MAAM,IAAIrM,MAAO,4CAGlB,MAAMsM,EACS,MAAdD,EAAM,OAAoBA,EAAOA,EAAKjjB,MAAO,IAC9C+Z,GAAUC,GACV,MAAMjT,EAvCQiH,EAAEiV,EAAc9d,KAC/B,IAAOA,EAIN,OAED,IAAIge,EAAgBtC,GAAO7R,IAAK7J,QACF,IAAlBge,IACXA,EAAgB9B,GACflc,EACA,CAAC,EACD,CACCoc,KAAMH,MAIT,MAAMtV,EAAU,IACZqX,EACHlgB,QAAS6W,KAAW7W,QAASkC,IAE9B,IAEC,OAAO8d,EAAKG,MAAO,KAAMC,QAAQ,CAAEC,EAAK3hB,IAAS2hB,EAAK3hB,IAAOmK,EAC9D,CAAE,MAAQhE,GAAK,GAeAkG,CAASiV,EAAM9d,GACvBia,EAA0B,mBAAVrY,EAAuBA,KAAU4K,GAAS5K,EAEhE,OADAkT,KACOiJ,GAAwB9D,EAASA,CAAM,EAsB1CmE,GAAaA,EAClBC,aACAC,gBAAkBC,KAAyBC,GAC3CC,UACAC,gBACAC,oBAKA,MAAM9J,EAAQlI,EAAiB,CAAC,GAAahG,QAC7CkO,EAAM+J,SAAW7R,EAAa8Q,GAAa,CAAEhJ,UAAW,IACxD,MAAM,OAAE0I,EAAM,OAAEC,GAAWxQ,EAAYlP,IACvC+W,EAAM/W,QAAUyf,EAChB1I,EAAMgB,cAAgB2H,EAEtB3I,EAAMpY,IAAMkiB,GAAeliB,KAAOkQ,EAAQ,MAK1C8R,GAAUvX,EAAAA,EAAAA,IAAcuX,EAAS,CAAEhiB,IAAKoY,EAAMpY,MAC9CoY,EAAMtO,WAAakY,EAAQziB,MAG3B,MAAMO,EACLiiB,EAAmB5hB,OAAS,GACzBP,EAAAA,EAAAA,GAAe+hB,GAAY,CAC3BC,aACAC,eAAgBE,EAChBC,UACAC,gBACAC,cAAe9J,IAEf4J,EAEEziB,EAAQ,IAAK0iB,EAAeniB,YAC5BsiB,EAAgB,CACrBR,aACAriB,QACAyiB,UACA3gB,WACA8gB,SAAU/J,EAAM+J,UAGjBhK,GAAUC,GAEV,IAAM,MAAMiK,KAAiBP,EAAuB,CACnD,MAAMQ,EAAUtB,GAAoBqB,KAAmBD,QACtCxW,IAAZ0W,IACJ/iB,EAAMO,SAAWwiB,EAEnB,CAIA,OAFAjK,KAEO9Y,EAAMO,QAAQ,EAIhBqL,GAAM9M,EAAAA,GAAQmC,MClSpB,SAAS+hB,GAAgB1E,GACxB,OAAK5C,GAAe4C,GACZ5Q,OAAOuV,YACbvV,OAAOsT,QAAS1C,GAAmBnB,KAAK,EAAI3c,EAAKoF,KAAa,CAC7DpF,EACAwiB,GAAWpd,OAIT/F,MAAMD,QAAS0e,GACZA,EAAOnB,KAAO3d,GAAOwjB,GAAWxjB,KAEjC8e,CACR,CDsRAxf,EAAAA,GAAQmC,MAAUA,IACjB,GAAKA,EAAMjB,MAAMkjB,aAAe,CAC/B,MAAMljB,EAAQiB,EAAMjB,MACdqiB,EAAariB,EAAMkjB,aACpBb,EAAW7hB,MACfS,EAAMT,IAAM6hB,EAAW7hB,IAAI2iB,KAAM7B,IAA2B1b,cAEtD5F,EAAMkjB,aACb,MAAMZ,EAtFuCD,KAC9C,MAAMe,EAAa1V,OAAO6R,KAAM8C,GAAaH,QAE1C,CAAEniB,EAAKiG,KACT,GAAKyb,GAAoBzb,GAAS,CACjC,MAAM4b,EAAWF,GAAqB1b,IACpCjG,EAAK6hB,GAAa7hB,EAAK6hB,IAAc,IAAKpf,KAAMwD,EACnD,CACA,OAAOjG,CAAG,GACR,CAAC,GAEJ,OAAO2N,OAAOsT,QAASoC,GACrBjgB,MAAM,EAAIkgB,IAAQC,KAAUC,SAAUF,GAAOE,SAAUD,KACvDnG,KAAK,EAAG,CAAGqG,KAAWA,GAAK,EAyELC,CAAmBpB,GACrCC,EAAe1hB,OAAS,IAC5BK,EAAMjB,MAAQ,CACbqiB,aACAC,iBACAI,cAAe1iB,EACfM,KAAMW,EAAMX,KACZmiB,SAASpiB,EAAAA,EAAAA,GAAeY,EAAMX,KAAaN,GAC3C0jB,KAAK,GAENziB,EAAMX,KAAO8hB,GAEf,CAEKxW,IACJA,GAAK3K,EACN,EC5SD,MAAM0iB,GACL,oEACKC,GAAY,qBACZC,GAAc,OAwCdC,GACLxjB,GAEO,EAAI+hB,aAAYO,eACtBP,EAAY,MAAO/hB,KACjByP,OAAQoR,IACRhR,SAAWiR,IACX,MAAM2C,EAAY3C,EAAMC,OAAOY,MAAO,KAAM,GAAK,GACjD9G,IAAS,KACR,MAAM1R,EAAOxC,GAAkB2b,EAAUxB,EAAOna,GAC1C+c,EAAqB,WAAT1jB,EAAoBwZ,OAAS9P,SAE/C,OADAga,EAAUvd,iBAAkBsd,EAAWta,GAChC,IAAMua,EAAUtd,oBAAqBqd,EAAWta,EAAI,GACzD,GACD,EAUAwa,GACL3jB,GAEO,EAAI+hB,aAAYO,eACtBP,EAAY,YAAa/hB,KACvByP,OAAQoR,IACRhR,SAAWiR,IACX,MAAM2C,EAAY3C,EAAMC,OAAOY,MAAO,KAAM,GAAK,GACjD9G,IAAS,KACR,MAAM1R,EAAK4Q,gBACJN,KACN6I,EAAUxB,EAAOna,EAAO,EAEnB+c,EAAqB,WAAT1jB,EAAoBwZ,OAAS9P,SAI/C,OAHAga,EAAUvd,iBAAkBsd,EAAWta,EAAI,CAC1Cya,SAAS,IAEH,IAAMF,EAAUtd,oBAAqBqd,EAAWta,EAAI,GACzD,GACD,EC1IO0a,GAA0B,KCWjCC,GAAa,QAASvU,YACtBwU,GAAa,QAASxU,iBACtByU,GAAa,QAASzU,MACtB0U,GAAqC,GAMrCC,GAAkB,IAAIC,OAC3B,SAAU5U,qDASV,KAOK6U,GAAe,sBAERC,GAAkB,IAAIpH,QAQ5B,SAASqH,GAAQpb,GACvB,MAAMqb,EAAa7a,SAAS8a,iBAC3Btb,EACA,KA2ID,OAxIA,SAASub,EACR7kB,GAEA,MAAM,SAAEqF,GAAarF,EAGrB,GAAkB,IAAbqF,EACJ,MAAO,CAAIrF,EAAemK,MAI3B,GAAkB,IAAb9E,EAAiB,KAAAyf,EACrB,MAAMnS,EAAOgS,EAAWlgB,cAIxB,OAHEzE,EAAuB+kB,YACxB,IAAInL,OAAOoL,KAAwC,QAApCF,EAAI9kB,EAAuBilB,iBAAS,IAAAH,EAAAA,EAAI,KAEjD,CAAE9kB,EAAKilB,UAAWtS,EAC1B,CAGA,GAAkB,IAAbtN,GAA+B,IAAbA,EAAiB,CACvC,MAAMsN,EAAOgS,EAAWlgB,cAExB,OADEzE,EAA0CklB,SACrC,CAAE,KAAMvS,EAChB,CAEA,MAAMwS,EAAcnlB,GACd,WAAEqK,GAAe8a,EACjBtb,EAAYsb,EAAYtb,UAExB/J,EAA+B,CAAC,EAChCO,EAAoC,GACpC8hB,EAEF,GACJ,IAAIiD,GAAS,EACTC,GAAS,EAEb,IAAM,IAAI/lB,EAAI,EAAGA,EAAI+K,EAAW3J,OAAQpB,IAAM,CAC7C,MAAMgmB,EAAgBjb,EAAY/K,GAAIwG,KAChCyf,EAAiBlb,EAAY/K,GAAIoG,MACvC,GACC4f,EAAelB,GAAW1jB,SAC1B4kB,EAAc3mB,MAAO,EAAGylB,GAAW1jB,UAAa0jB,GAEhD,GAAKkB,IAAkBpB,GACtBkB,GAAS,MACH,KAAAI,EAAAC,EACN,MAAMC,EAAclB,GAAamB,KAAMJ,GACjCzhB,EAA8B,QAArB0hB,EAAGE,IAAe,UAAG,IAAAF,EAAAA,EAAI,KACxC,IAAI9f,EAA+B,QAArB+f,EAAGC,IAAe,UAAG,IAAAD,EAAAA,EAAIF,EACvC,IACC,MAAMK,EAAcjF,KAAKC,MAAOlb,GAzFnBmgB,EA0FKD,EAAlBlgB,EAzFLgW,QAASmK,GAAwB,iBAATA,GAAqBA,EAAKvkB,cAAgBkM,QAyF3BoY,EAAclgB,CACjD,CAAE,MAAO,CACT,GAAK4f,IAAkBnB,GAAa,CACnCkB,GAAS,EACT,MAAMS,EAEY,iBAAVpgB,EACJA,EAC4B,iBAArBA,GAAO5B,UACd4B,EAAM5B,UACN,KACJugB,GAAW/hB,KAAMwjB,EAClB,MACC3D,EAAW7f,KAAM,CAAEgjB,EAAexhB,EAAW4B,GAE/C,MACM,GAAuB,QAAlB4f,EACX,SAEDxlB,EAAOwlB,GAAkBC,CAC1B,CA9GiBM,MAgHjB,GAAKT,IAAYC,EAChB,MAAO,EACNU,EAAAA,EAAAA,GAAelc,EAAW,IACtB/J,EACHyK,UAAW4a,EAAY5a,UACvByY,aAAc,CAAEoC,QAAQ,MA8B3B,GA1BKC,GACJZ,GAAgBvG,IAAKiH,GAGjBhD,EAAWzhB,SACfZ,EAAMkjB,aAAeb,EAAWH,QAE7B,CAAEniB,GAAOiG,EAAMoU,EAAIxU,MACrB,MAAMsgB,EAAiB1B,GAAgBqB,KAAM7f,GAC7C,GAAwB,OAAnBkgB,EAEJ,OAAOnmB,EAER,MAAMomB,EAASD,EAAgB,IAAO,GAChC7E,EAAS6E,EAAgB,IAAO,KAxIjBE,IAAAC,EAgJrB,OANAtmB,EAAKomB,GAAWpmB,EAAKomB,IAAY,GACjCpmB,EAAKomB,GAAS3jB,KAAM,CACnBwB,UAAWoW,QAAAA,EA5IkD,QAAzCiM,EAAM9B,GAAYA,GAAW3jB,OAAS,UAAG,IAAAylB,EAAAA,EAAI,KA6IjEzgB,MAAOA,EACPyb,WAEMthB,CAAG,GACR,CAAC,IAGc,aAAdgK,EACJ/J,EAAMsmB,QAAU,IACVjB,EAAqCiB,QAAQhc,YACjD6S,KAAOoJ,GAAe3B,GAAQ2B,SAC1B,CACN,IAAInkB,EAAQyiB,EAAW7Z,aACvB,GAAK5I,EAAQ,CACZ,KAAQA,GAAQ,CACf,MAAQnB,EAAOulB,GAAczB,EAAM3iB,GAC9BnB,GACJV,EAASiC,KAAMvB,GAEhBmB,EAAQokB,GAAa3B,EAAWlgB,aACjC,CACAkgB,EAAW1kB,YACZ,CACD,CAOA,OAJKolB,GACJhB,GAAW9L,MAGL,EAAEwN,EAAAA,EAAAA,GAAGlc,EAAW/J,EAAOO,GAC/B,CAEOwkB,CAAMF,EAAW4B,YACzB,CClLA,MAAMC,GAAsB,IAAI1N,QACnB2N,GAA0BC,IACtC,IAAOA,EAAOC,cACb,MAAMpR,MAAO,yDAQd,OANOiR,GAAoBnN,IAAKqN,IAC/BF,GAAoBnP,IACnBqP,EXoR+BE,EACjCC,EACAhc,KAGA,MAAM7I,GADN6I,EAAgB,GAAeic,OAAQjc,IACVA,EAAYnK,OAAS,GAAI+D,YACtD,SAASD,EAAQtC,EAAYoH,GAC5Bud,EAAOzhB,aAAclD,EAAOoH,GAAQtH,EACrC,CACA,OAAW6kB,EAAgB7lB,IAAM,CAChCqE,SAAU,EACVpF,WAAY4mB,EACZ/b,WAAYD,EAAa,GACzBT,WAAYS,EACZzF,aAAcZ,EACduiB,YAAaviB,EACbtE,WAAAA,CAAamC,GACZwkB,EAAO3mB,YAAamC,EACrB,EACA,EWtSCukB,CAAoBF,EAAOC,cAAeD,IAGrCF,GAAoB7Y,IAAK+Y,EAAQ,EAI5BM,GAAc,IAAIlO,QCSlBmO,GAAgB/G,IAC5B,GAHA,2HAGKA,EACJ,MAAO,CACN+D,gBAAe,GACfwC,sBAAqB,GACrBO,YAAW,GACXtC,OAAM,GACNjD,UAAS,GACTrJ,aAAY,GACZ2N,EAAC,IACD/a,aAAY,KACZjD,OAAM,KACN2V,aAAY,GACZ4C,gBAAe,GACfO,mBAAkB,GAClB5N,MAAKA,GAIP,MAAM,IAAIsC,MAAO,oBAAqB,EJyFtCkM,GACC,WACA,EACCU,YAAcvgB,WACd9B,OAASO,YACTuB,QAASslB,MAET,MAAM,SAAE5b,GAAa4b,EACfC,EAAevlB,EAAQqhB,KAAM7B,KAC3BC,OAAQ+F,EAAiB9F,OAAQ+F,GACxCvW,EAAYoW,GAEPhN,EAAKiN,EAAcrjB,UACnBud,EAAS5Q,EAAQiN,GAAcxD,EAAI,CAAC,IACpCoH,EAAS7Q,EAAQiN,GAAcxD,EAAI,CAAC,EAAG,CAAEuD,UAAU,KAGnD6J,EAAe3W,GAAS,KAC7B,MAAMoN,EAAS,CACdsD,OAAQ,IAAK+F,GACb9F,OAAQ,IAAK+F,IAEd,GAAKF,EAAe,CACnB,MAAM,UAAErjB,EAAS,MAAE4B,GAAUyhB,EAEtB3L,GAAe9V,GAKtB8Y,GACC6C,EAAO5W,QACPqY,GAAWpd,IACX,GAED8Y,GAAW8C,EAAO7W,QAASqY,GAAWpd,IACtCqY,EAAOsD,OAAQvd,GAAcwb,GAC5B+B,EAAO5W,QACP2c,EAAiBtjB,IAElBia,EAAOuD,OAAQxd,GAAcwb,GAC5BgC,EAAO7W,QACP4c,EAAiBvjB,GAEnB,CACA,OAAOia,CAAM,GACX,CAAEoJ,EAAcC,EAAiBC,IAEpC,OAAOlnB,EAAAA,EAAAA,GAAemL,EAAU,CAAE5F,MAAO4hB,GAAgBjnB,EAAU,GAEpE,CAAEqhB,SAAU,IAIbD,GAAW,SAAS,EAAIU,YAAcoF,SAAS7E,eAC9C6E,EAAMtX,SAAWiR,IAChB3G,IAAU,IAQMmI,EAAUxB,IAkBvB,GACD,IAIJO,GAAW,QAAQ,EAAIU,YAAcqF,QAAQ9E,eAC5C8E,EAAKvX,SAAWiR,IAEfjG,IAAS,IAOOyH,EAAUxB,IAmBvB,GACD,IAIJO,GAAW,MAAM,EAAIU,YAAcsF,MAAMlF,UAASG,eACjD,MAAMgF,EAAS,IAAIlK,IACnBiK,EAAG5X,OAAQoR,IAA8BhR,SAAWiR,IACnD,MAAMna,EAAQma,EAAMC,OAAOY,MAAO,MAAQ,GACnC2F,EAAOrO,IAAKtS,IAClB2gB,EAAOrQ,IAAKtQ,EAAO,IAAIwU,KAExBmM,EAAO/Z,IAAK5G,GAASmX,IAAKgD,EAAO,IAGlCwG,EAAOzX,SAAS,CAAE6Q,EAAS6G,KAC1B,MAAMC,EAAkBrF,EAAQziB,MAAO,KAAM6nB,KAC7CpF,EAAQziB,MAAO,KAAM6nB,KAAmB5gB,IACvC+Z,EAAQ7Q,SAAWiR,IACb0G,GACJA,EAAiB7gB,GAQlB2b,EAAUxB,EAAOna,EAiBjB,GACE,CACH,GACC,IAIJ0a,GACC,YACA,EAAIU,YAAc,WAAY0F,GAAWtF,UAASG,eACjD,MAAMgF,EAAS,IAAIlK,IACnBqK,EACEhY,OAAQoR,IACRhR,SAAWiR,IACX,MAAMna,EAAQma,EAAMC,OAAOY,MAAO,MAAQ,GACnC2F,EAAOrO,IAAKtS,IAClB2gB,EAAOrQ,IAAKtQ,EAAO,IAAIwU,KAExBmM,EAAO/Z,IAAK5G,GAASmX,IAAKgD,EAAO,IAGnCwG,EAAOzX,SAAS,CAAE6Q,EAAS6G,KAC1B,MAAMC,EAAkBrF,EAAQziB,MAAO,KAAM6nB,KAC7CpF,EAAQziB,MAAO,KAAM6nB,KAAmB5gB,IAClC6gB,GACJA,EAAiB7gB,GAElB+Z,EAAQ7Q,SAASkK,gBACVN,KACN6I,EAAUxB,EAAOna,EAAO,GACtB,CACH,GACC,IAKL0a,GAAW,YAAamC,GAAyB,WAEjDnC,GAAW,cAAemC,GAAyB,aAGnDnC,GAAW,kBAAmBsC,GAA8B,WAE5DtC,GACC,oBACAsC,GAA8B,aAI/BtC,GACC,SACA,EAAIU,YAAc2F,MAAOC,GAAcxF,UAASG,eAC/CqF,EACElY,OAAQoR,IACRhR,SAAWiR,IACX,MAAM8G,EAAY9G,EAAMC,OAClBpD,EAAS2E,EAAUxB,GACnB+G,EAAe1F,EAAQziB,MAAMgoB,OAAS,GACtCI,EAAc,IAAI3D,OACvB,UAAWyD,WACX,KAEMjK,EAIOmK,EAAYtiB,KAAMqiB,KAC/B1F,EAAQziB,MAAMgoB,MAAQG,EACnB,GAAIA,KAAkBD,IACtBA,GANHzF,EAAQziB,MAAMgoB,MAAQG,EACpB9hB,QAAS+hB,EAAa,KACtBC,OAOHlN,IAAS,KAMD8C,EAMLwE,EAAQhiB,IACNkK,QAAS2d,UAAUlK,IAAK8J,GAL1BzF,EAAQhiB,IACNkK,QAAS2d,UAAUlD,OAAQ8C,EAK/B,GACE,GACD,IAKNvG,GAAW,SAAS,EAAIU,YAAc1c,SAAS8c,UAASG,eACvDjd,EAAMoK,OAAQoR,IAA8BhR,SAAWiR,IACtD,MAAMmH,EAAYnH,EAAMC,OAClBpD,EAAS2E,EAAUxB,GACzBqB,EAAQziB,MAAM2F,MAAQ8c,EAAQziB,MAAM2F,OAAS,CAAC,EACV,iBAAxB8c,EAAQziB,MAAM2F,QACzB8c,EAAQziB,MAAM2F,MAjVjB6iB,KAEA,MAAMC,EAAO,CAAE,CAAC,GAChB,IAAItI,EAAOuI,EAEX,KAAUvI,EAAQwD,GAAQkC,KAAM2C,EAAIniB,QAASud,GAAW,MAClDzD,EAAO,GACXsI,EAAKrlB,QACM+c,EAAO,IAClBuI,EAAOvI,EAAO,GAAI9Z,QAASwd,GArBhB,KAqBqCwE,OAChDI,EAAKE,QAAWF,EAAM,GAAKC,GAASD,EAAM,GAAKC,IAAU,CAAC,IAE1DD,EAAM,GAAKtI,EAAO,IAAQA,EAAO,GAC/B9Z,QAASwd,GAzBA,KA0BTwE,OAIJ,OAAOI,EAAM,EAAG,EA+TSG,CAAmBnG,EAAQziB,MAAM2F,QAEjDsY,EAGNwE,EAAQziB,MAAM2F,MAAO4iB,GAActK,SAF5BwE,EAAQziB,MAAM2F,MAAO4iB,GAK7BpN,IAAS,KAMD8C,EAKJwE,EAAQhiB,IAAkCkK,QAAShF,MACpD4iB,GACGtK,EALHwE,EAAQhiB,IACNkK,QAAShF,MAAMkjB,eAAgBN,EAKnC,GACE,GACD,IAIJ5G,GAAW,QAAQ,EAAIU,YAAczV,QAAQ6V,UAASG,eACrDhW,EAAKmD,OAAQoR,IAA8BhR,SAAWiR,IACrD,MAAM0H,EAAY1H,EAAMC,OAClBpD,EAAS2E,EAAUxB,GACzBqB,EAAQziB,MAAO8oB,GAAc7K,EAO7B9C,IAAS,KACR,MAAM4N,EAAOtG,EAAQhiB,IAAkCkK,QAOvD,GAAmB,UAAdme,EAAL,CAKO,GACQ,UAAdA,GACc,WAAdA,GACc,SAAdA,GACc,SAAdA,GACc,SAAdA,GAYc,aAAdA,GACc,aAAdA,GACc,YAAdA,GACc,YAAdA,GACc,SAAdA,GACAA,KAAaC,EAEb,IAKC,YAJAA,EAAID,GACH7K,QACG,GACAA,EAEL,CAAE,MAAQ/K,GAAO,CASjB+K,UAEa,IAAXA,GAAuC,MAAnB6K,EAAW,GAIjCC,EAAGniB,gBAAiBkiB,GAFpBC,EAAGliB,aAAciiB,EAAW7K,EAZ7B,KAnCwB,iBAAXA,IACX8K,EAAGpjB,MAAMS,QAAU6X,EAiDrB,GACE,GACD,IAIJ0D,GACC,UACA,EACCc,SACCniB,KAAM0oB,EACNhpB,OAASyK,eAAcwe,QAMxB,MAAMC,EAASrY,GAAS,IAAMpG,GAAW,IACzC,OAAOpK,EAAAA,EAAAA,GAAe2oB,EAAM,CAC3BG,wBAAyB,CAAE3e,OAAQ0e,MAChCD,GACD,IAKLtH,GAAW,QAAQ,EAAIU,YAAc+G,QAAQ3G,UAASG,eACrD,MAAMxB,EAAQgI,EAAKjG,KAAM7B,IACzB,GAAOF,EAKP,IACC,MAAMnD,EAAS2E,EAAUxB,GACzBqB,EAAQziB,MAAMO,SACK,iBAAX0d,EAAsB,KAAOA,EAAO5G,UAC7C,CAAE,MAAQ1Q,GACT8b,EAAQziB,MAAMO,SAAW,IAC1B,MAVCkiB,EAAQziB,MAAMO,SAAW,IAU1B,IAIDohB,GAAW,OAAO,EAAIU,YAAcgH,OAAOzG,eAC1CyG,EAAIlZ,SAAWiR,GAAWwB,EAAUxB,IAAS,IAI9CO,GACC,QACA,EACCU,YAAciH,OAAM,WAAYC,GAChCznB,QAASslB,EACT3E,UACAG,eAEA,GAAsB,aAAjBH,EAAQniB,KACZ,OAGD,MAAM,SAAEkL,GAAa4b,EACfoC,EAAiBxY,EAAYoW,IAE3BhG,GAAUkI,GACZ,UAAEtlB,GAAcod,EAEhBqI,EAAW7G,EAAUxB,GAE3B,GAA8C,mBAAlCqI,IAAYpX,OAAOqX,UAC9B,OAGD,MAAMC,EAAWxI,GAA6BC,GACzBA,EAAMC,OR3P3Bhb,QAAS,WAAY,IACrBC,cACAD,QAAS,aAAa,SAAWujB,EAAQC,GACzC,OAAOA,EAAOC,aACf,IQwPI,OAEG7L,EAAyB,GAE/B,IAAM,MAAM8H,KAAQ0D,EAAW,CAC9B,MAAMM,EAAcvK,GACnB5B,GAAc5Z,EAAW,CAAC,GAC1BwlB,EAAejI,OAAQvd,IAElBgmB,EAAgB,CACrBzI,OAAQ,IACJiI,EAAejI,OAClB,CAAEvd,GAAa+lB,GAEhBvI,OAAQ,IAAKgI,EAAehI,SAI7BwI,EAAczI,OAAQvd,GAAa2lB,GAAa5D,EAEhD,MAAMlN,EAAQ,IACVF,KACH7W,QAASkoB,EAAczI,OACvB1H,cAAemQ,EAAcxI,QAExBhhB,EAAM+oB,EACT1H,GAAa,CAAEhJ,SAAfgJ,CAA0B0H,EAAS,IACnCxD,EAEH9H,EAAOzb,MACNnC,EAAAA,EAAAA,GACCmL,EACA,CAAE5F,MAAOokB,EAAexpB,OACxBiiB,EAAQziB,MAAMsmB,SAGjB,CACA,OAAOrI,CAAM,GAEd,CAAE2D,SAAU,KAGbD,GAAW,cAAc,IAAM,MAAM,CAAEC,SAAU,IG7kB9BvH,WACnB,MAAM4P,EAAQjgB,SAASkgB,iBACtB,SAAU/F,yBAUL,IAAIzX,SAAWG,IACpBC,WAAYD,EAAS,EAAG,IAGzB,IAAM,MAAM3M,KAAQ+pB,EACnB,IAAOtF,GAAgBpL,IAAKrZ,GAAS,OAC9B6Z,KACN,MAAMoQ,EAAWxD,GAAuBzmB,GAClCkqB,EAAOxF,GAAQ1kB,GACrBgnB,GAAY3P,IAAKrX,EAAMkqB,SACjBrQ,MACN9O,EAAAA,EAAAA,IAASmf,EAAMD,EAChB,CACD,ECIDzC,G","sources":["webpack://wp/./node_modules/preact/src/constants.js","webpack://wp/./node_modules/preact/src/util.js","webpack://wp/./node_modules/preact/src/options.js","webpack://wp/./node_modules/preact/src/create-element.js","webpack://wp/./node_modules/preact/src/component.js","webpack://wp/./node_modules/preact/src/diff/props.js","webpack://wp/./node_modules/preact/src/create-context.js","webpack://wp/./node_modules/preact/src/diff/children.js","webpack://wp/./node_modules/preact/src/diff/index.js","webpack://wp/./node_modules/preact/src/render.js","webpack://wp/./node_modules/preact/src/clone-element.js","webpack://wp/./node_modules/preact/src/diff/catch-error.js","webpack://wp/webpack/bootstrap","webpack://wp/webpack/runtime/define property getters","webpack://wp/webpack/runtime/hasOwnProperty shorthand","webpack://wp/./node_modules/preact/hooks/src/index.js","webpack://wp/./node_modules/@preact/signals-core/src/index.ts","webpack://wp/./node_modules/@preact/signals/src/index.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/namespaces.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/scopes.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/utils.ts","webpack://wp/./packages/interactivity/build-module/proxies/@wordpress/interactivity/src/proxies/registry.ts","webpack://wp/./packages/interactivity/build-module/proxies/@wordpress/interactivity/src/proxies/signals.ts","webpack://wp/./packages/interactivity/build-module/proxies/@wordpress/interactivity/src/proxies/state.ts","webpack://wp/./packages/interactivity/build-module/proxies/@wordpress/interactivity/src/proxies/store.ts","webpack://wp/./packages/interactivity/build-module/proxies/@wordpress/interactivity/src/proxies/context.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/store.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/hooks.tsx","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/directives.tsx","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/constants.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/vdom.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/init.ts","webpack://wp/./packages/interactivity/build-module/@wordpress/interactivity/src/index.ts"],"sourcesContent":["/** Normal hydration that attaches to a DOM tree but does not diff it. */\nexport const MODE_HYDRATE = 1 << 5;\n/** Signifies this VNode suspended on the previous render */\nexport const MODE_SUSPENDED = 1 << 7;\n/** Indicates that this node needs to be inserted while patching children */\nexport const INSERT_VNODE = 1 << 16;\n/** Indicates a VNode has been matched with another VNode in the diff */\nexport const MATCHED = 1 << 17;\n\n/** Reset all mode flags */\nexport const RESET_MODE = ~(MODE_HYDRATE | MODE_SUSPENDED);\n\nexport const EMPTY_OBJ = /** @type {any} */ ({});\nexport const EMPTY_ARR = [];\nexport const IS_NON_DIMENSIONAL =\n\t/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;\n","import { EMPTY_ARR } from './constants';\n\nexport const isArray = Array.isArray;\n\n/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\t// @ts-expect-error We change the type of `obj` to be `O & P`\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\n/**\n * Remove a child node from its parent if attached. This is a workaround for\n * IE11 which doesn't support `Element.prototype.remove()`. Using this function\n * is smaller than including a dedicated polyfill.\n * @param {preact.ContainerNode} node The node to remove\n */\nexport function removeNode(node) {\n\tif (node && node.parentNode) node.parentNode.removeChild(node);\n}\n\nexport const slice = EMPTY_ARR.slice;\n","import { _catchError } from './diff/catch-error';\n\n/**\n * The `option` object can potentially contain callback functions\n * that are called during various stages of our renderer. This is the\n * foundation on which all our addons like `preact/debug`, `preact/compat`,\n * and `preact/hooks` are based on. See the `Options` type in `internal.d.ts`\n * for a full list of available option hooks (most editors/IDEs allow you to\n * ctrl+click or cmd+click on mac the type definition below).\n * @type {Options}\n */\nconst options = {\n\t_catchError\n};\n\nexport default options;\n","import { slice } from './util';\nimport options from './options';\n\nlet vnodeId = 0;\n\n/**\n * Create an virtual node (used for JSX)\n * @param {VNode[\"type\"]} type The node name or Component constructor for this\n * virtual node\n * @param {object | null | undefined} [props] The properties of the virtual node\n * @param {Array} [children] The children of the\n * virtual node\n * @returns {VNode}\n */\nexport function createElement(type, props, children) {\n\tlet normalizedProps = {},\n\t\tkey,\n\t\tref,\n\t\ti;\n\tfor (i in props) {\n\t\tif (i == 'key') key = props[i];\n\t\telse if (i == 'ref') ref = props[i];\n\t\telse normalizedProps[i] = props[i];\n\t}\n\n\tif (arguments.length > 2) {\n\t\tnormalizedProps.children =\n\t\t\targuments.length > 3 ? slice.call(arguments, 2) : children;\n\t}\n\n\t// If a Component VNode, check for and apply defaultProps\n\t// Note: type may be undefined in development, must never error here.\n\tif (typeof type == 'function' && type.defaultProps != null) {\n\t\tfor (i in type.defaultProps) {\n\t\t\tif (normalizedProps[i] === undefined) {\n\t\t\t\tnormalizedProps[i] = type.defaultProps[i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createVNode(type, normalizedProps, key, ref, null);\n}\n\n/**\n * Create a VNode (used internally by Preact)\n * @param {VNode[\"type\"]} type The node name or Component\n * Constructor for this virtual node\n * @param {object | string | number | null} props The properties of this virtual node.\n * If this virtual node represents a text node, this is the text of the node (string or number).\n * @param {string | number | null} key The key for this virtual node, used when\n * diffing it against its children\n * @param {VNode[\"ref\"]} ref The ref property that will\n * receive a reference to its created child\n * @returns {VNode}\n */\nexport function createVNode(type, props, key, ref, original) {\n\t// V8 seems to be better at detecting type shapes if the object is allocated from the same call site\n\t// Do not inline into createElement and coerceToVNode!\n\t/** @type {VNode} */\n\tconst vnode = {\n\t\ttype,\n\t\tprops,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: null,\n\t\t_depth: 0,\n\t\t_dom: null,\n\t\t// _nextDom must be initialized to undefined b/c it will eventually\n\t\t// be set to dom.nextSibling which can return `null` and it is important\n\t\t// to be able to distinguish between an uninitialized _nextDom and\n\t\t// a _nextDom that has been set to `null`\n\t\t_nextDom: undefined,\n\t\t_component: null,\n\t\tconstructor: undefined,\n\t\t_original: original == null ? ++vnodeId : original,\n\t\t_index: -1,\n\t\t_flags: 0\n\t};\n\n\t// Only invoke the vnode hook if this was *not* a direct copy:\n\tif (original == null && options.vnode != null) options.vnode(vnode);\n\n\treturn vnode;\n}\n\nexport function createRef() {\n\treturn { current: null };\n}\n\nexport function Fragment(props) {\n\treturn props.children;\n}\n\n/**\n * Check if a the argument is a valid Preact VNode.\n * @param {*} vnode\n * @returns {vnode is VNode}\n */\nexport const isValidElement = vnode =>\n\tvnode != null && vnode.constructor == undefined;\n","import { assign } from './util';\nimport { diff, commitRoot } from './diff/index';\nimport options from './options';\nimport { Fragment } from './create-element';\nimport { MODE_HYDRATE } from './constants';\n\n/**\n * Base Component class. Provides `setState()` and `forceUpdate()`, which\n * trigger rendering\n * @param {object} props The initial component props\n * @param {object} context The initial context from parent components'\n * getChildContext\n */\nexport function BaseComponent(props, context) {\n\tthis.props = props;\n\tthis.context = context;\n}\n\n/**\n * Update component state and schedule a re-render.\n * @this {Component}\n * @param {object | ((s: object, p: object) => object)} update A hash of state\n * properties to update with new values or a function that given the current\n * state and props returns a new partial state\n * @param {() => void} [callback] A function to be called once component state is\n * updated\n */\nBaseComponent.prototype.setState = function (update, callback) {\n\t// only clone state when copying to nextState the first time.\n\tlet s;\n\tif (this._nextState != null && this._nextState !== this.state) {\n\t\ts = this._nextState;\n\t} else {\n\t\ts = this._nextState = assign({}, this.state);\n\t}\n\n\tif (typeof update == 'function') {\n\t\t// Some libraries like `immer` mark the current state as readonly,\n\t\t// preventing us from mutating it, so we need to clone it. See #2716\n\t\tupdate = update(assign({}, s), this.props);\n\t}\n\n\tif (update) {\n\t\tassign(s, update);\n\t}\n\n\t// Skip update if updater function returned null\n\tif (update == null) return;\n\n\tif (this._vnode) {\n\t\tif (callback) {\n\t\t\tthis._stateCallbacks.push(callback);\n\t\t}\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Immediately perform a synchronous re-render of the component\n * @this {Component}\n * @param {() => void} [callback] A function to be called after component is\n * re-rendered\n */\nBaseComponent.prototype.forceUpdate = function (callback) {\n\tif (this._vnode) {\n\t\t// Set render mode so that we can differentiate where the render request\n\t\t// is coming from. We need this because forceUpdate should never call\n\t\t// shouldComponentUpdate\n\t\tthis._force = true;\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.\n * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).\n * @param {object} props Props (eg: JSX attributes) received from parent\n * element/component\n * @param {object} state The component's current state\n * @param {object} context Context object, as returned by the nearest\n * ancestor's `getChildContext()`\n * @returns {ComponentChildren | void}\n */\nBaseComponent.prototype.render = Fragment;\n\n/**\n * @param {VNode} vnode\n * @param {number | null} [childIndex]\n */\nexport function getDomSibling(vnode, childIndex) {\n\tif (childIndex == null) {\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\n\t\treturn vnode._parent\n\t\t\t? getDomSibling(vnode._parent, vnode._index + 1)\n\t\t\t: null;\n\t}\n\n\tlet sibling;\n\tfor (; childIndex < vnode._children.length; childIndex++) {\n\t\tsibling = vnode._children[childIndex];\n\n\t\tif (sibling != null && sibling._dom != null) {\n\t\t\t// Since updateParentDomPointers keeps _dom pointer correct,\n\t\t\t// we can rely on _dom to tell us if this subtree contains a\n\t\t\t// rendered DOM node, and what the first rendered DOM node is\n\t\t\treturn sibling._dom;\n\t\t}\n\t}\n\n\t// If we get here, we have not found a DOM node in this vnode's children.\n\t// We must resume from this vnode's sibling (in it's parent _children array)\n\t// Only climb up and search the parent if we aren't searching through a DOM\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\n\t// the search)\n\treturn typeof vnode.type == 'function' ? getDomSibling(vnode) : null;\n}\n\n/**\n * Trigger in-place re-rendering of a component.\n * @param {Component} component The component to rerender\n */\nfunction renderComponent(component) {\n\tlet oldVNode = component._vnode,\n\t\toldDom = oldVNode._dom,\n\t\tcommitQueue = [],\n\t\trefQueue = [];\n\n\tif (component._parentDom) {\n\t\tconst newVNode = assign({}, oldVNode);\n\t\tnewVNode._original = oldVNode._original + 1;\n\t\tif (options.vnode) options.vnode(newVNode);\n\n\t\tdiff(\n\t\t\tcomponent._parentDom,\n\t\t\tnewVNode,\n\t\t\toldVNode,\n\t\t\tcomponent._globalContext,\n\t\t\tcomponent._parentDom.namespaceURI,\n\t\t\toldVNode._flags & MODE_HYDRATE ? [oldDom] : null,\n\t\t\tcommitQueue,\n\t\t\toldDom == null ? getDomSibling(oldVNode) : oldDom,\n\t\t\t!!(oldVNode._flags & MODE_HYDRATE),\n\t\t\trefQueue\n\t\t);\n\n\t\tnewVNode._original = oldVNode._original;\n\t\tnewVNode._parent._children[newVNode._index] = newVNode;\n\t\tcommitRoot(commitQueue, newVNode, refQueue);\n\n\t\tif (newVNode._dom != oldDom) {\n\t\t\tupdateParentDomPointers(newVNode);\n\t\t}\n\t}\n}\n\n/**\n * @param {VNode} vnode\n */\nfunction updateParentDomPointers(vnode) {\n\tif ((vnode = vnode._parent) != null && vnode._component != null) {\n\t\tvnode._dom = vnode._component.base = null;\n\t\tfor (let i = 0; i < vnode._children.length; i++) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child != null && child._dom != null) {\n\t\t\t\tvnode._dom = vnode._component.base = child._dom;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn updateParentDomPointers(vnode);\n\t}\n}\n\n/**\n * The render queue\n * @type {Array}\n */\nlet rerenderQueue = [];\n\n/*\n * The value of `Component.debounce` must asynchronously invoke the passed in callback. It is\n * important that contributors to Preact can consistently reason about what calls to `setState`, etc.\n * do, and when their effects will be applied. See the links below for some further reading on designing\n * asynchronous APIs.\n * * [Designing APIs for Asynchrony](https://blog.izs.me/2013/08/designing-apis-for-asynchrony)\n * * [Callbacks synchronous and asynchronous](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)\n */\n\nlet prevDebounce;\n\nconst defer =\n\ttypeof Promise == 'function'\n\t\t? Promise.prototype.then.bind(Promise.resolve())\n\t\t: setTimeout;\n\n/**\n * Enqueue a rerender of a component\n * @param {Component} c The component to rerender\n */\nexport function enqueueRender(c) {\n\tif (\n\t\t(!c._dirty &&\n\t\t\t(c._dirty = true) &&\n\t\t\trerenderQueue.push(c) &&\n\t\t\t!process._rerenderCount++) ||\n\t\tprevDebounce !== options.debounceRendering\n\t) {\n\t\tprevDebounce = options.debounceRendering;\n\t\t(prevDebounce || defer)(process);\n\t}\n}\n\n/**\n * @param {Component} a\n * @param {Component} b\n */\nconst depthSort = (a, b) => a._vnode._depth - b._vnode._depth;\n\n/** Flush the render queue by rerendering all queued components */\nfunction process() {\n\tlet c;\n\trerenderQueue.sort(depthSort);\n\t// Don't update `renderCount` yet. Keep its value non-zero to prevent unnecessary\n\t// process() calls from getting scheduled while `queue` is still being consumed.\n\twhile ((c = rerenderQueue.shift())) {\n\t\tif (c._dirty) {\n\t\t\tlet renderQueueLength = rerenderQueue.length;\n\t\t\trenderComponent(c);\n\t\t\tif (rerenderQueue.length > renderQueueLength) {\n\t\t\t\t// When i.e. rerendering a provider additional new items can be injected, we want to\n\t\t\t\t// keep the order from top to bottom with those new items so we can handle them in a\n\t\t\t\t// single pass\n\t\t\t\trerenderQueue.sort(depthSort);\n\t\t\t}\n\t\t}\n\t}\n\tprocess._rerenderCount = 0;\n}\n\nprocess._rerenderCount = 0;\n","import { IS_NON_DIMENSIONAL } from '../constants';\nimport options from '../options';\n\nfunction setStyle(style, key, value) {\n\tif (key[0] === '-') {\n\t\tstyle.setProperty(key, value == null ? '' : value);\n\t} else if (value == null) {\n\t\tstyle[key] = '';\n\t} else if (typeof value != 'number' || IS_NON_DIMENSIONAL.test(key)) {\n\t\tstyle[key] = value;\n\t} else {\n\t\tstyle[key] = value + 'px';\n\t}\n}\n\n// A logical clock to solve issues like https://github.com/preactjs/preact/issues/3927.\n// When the DOM performs an event it leaves micro-ticks in between bubbling up which means that\n// an event can trigger on a newly reated DOM-node while the event bubbles up.\n//\n// Originally inspired by Vue\n// (https://github.com/vuejs/core/blob/caeb8a68811a1b0f79/packages/runtime-dom/src/modules/events.ts#L90-L101),\n// but modified to use a logical clock instead of Date.now() in case event handlers get attached\n// and events get dispatched during the same millisecond.\n//\n// The clock is incremented after each new event dispatch. This allows 1 000 000 new events\n// per second for over 280 years before the value reaches Number.MAX_SAFE_INTEGER (2**53 - 1).\nlet eventClock = 0;\n\n/**\n * Set a property value on a DOM node\n * @param {PreactElement} dom The DOM node to modify\n * @param {string} name The name of the property to set\n * @param {*} value The value to set the property to\n * @param {*} oldValue The old value the property had\n * @param {string} namespace Whether or not this DOM node is an SVG node or not\n */\nexport function setProperty(dom, name, value, oldValue, namespace) {\n\tlet useCapture;\n\n\to: if (name === 'style') {\n\t\tif (typeof value == 'string') {\n\t\t\tdom.style.cssText = value;\n\t\t} else {\n\t\t\tif (typeof oldValue == 'string') {\n\t\t\t\tdom.style.cssText = oldValue = '';\n\t\t\t}\n\n\t\t\tif (oldValue) {\n\t\t\t\tfor (name in oldValue) {\n\t\t\t\t\tif (!(value && name in value)) {\n\t\t\t\t\t\tsetStyle(dom.style, name, '');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\tfor (name in value) {\n\t\t\t\t\tif (!oldValue || value[name] !== oldValue[name]) {\n\t\t\t\t\t\tsetStyle(dom.style, name, value[name]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n\telse if (name[0] === 'o' && name[1] === 'n') {\n\t\tuseCapture =\n\t\t\tname !== (name = name.replace(/(PointerCapture)$|Capture$/i, '$1'));\n\n\t\t// Infer correct casing for DOM built-in events:\n\t\tif (\n\t\t\tname.toLowerCase() in dom ||\n\t\t\tname === 'onFocusOut' ||\n\t\t\tname === 'onFocusIn'\n\t\t)\n\t\t\tname = name.toLowerCase().slice(2);\n\t\telse name = name.slice(2);\n\n\t\tif (!dom._listeners) dom._listeners = {};\n\t\tdom._listeners[name + useCapture] = value;\n\n\t\tif (value) {\n\t\t\tif (!oldValue) {\n\t\t\t\tvalue._attached = eventClock;\n\t\t\t\tdom.addEventListener(\n\t\t\t\t\tname,\n\t\t\t\t\tuseCapture ? eventProxyCapture : eventProxy,\n\t\t\t\t\tuseCapture\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tvalue._attached = oldValue._attached;\n\t\t\t}\n\t\t} else {\n\t\t\tdom.removeEventListener(\n\t\t\t\tname,\n\t\t\t\tuseCapture ? eventProxyCapture : eventProxy,\n\t\t\t\tuseCapture\n\t\t\t);\n\t\t}\n\t} else {\n\t\tif (namespace == 'http://www.w3.org/2000/svg') {\n\t\t\t// Normalize incorrect prop usage for SVG:\n\t\t\t// - xlink:href / xlinkHref --> href (xlink:href was removed from SVG and isn't needed)\n\t\t\t// - className --> class\n\t\t\tname = name.replace(/xlink(H|:h)/, 'h').replace(/sName$/, 's');\n\t\t} else if (\n\t\t\tname != 'width' &&\n\t\t\tname != 'height' &&\n\t\t\tname != 'href' &&\n\t\t\tname != 'list' &&\n\t\t\tname != 'form' &&\n\t\t\t// Default value in browsers is `-1` and an empty string is\n\t\t\t// cast to `0` instead\n\t\t\tname != 'tabIndex' &&\n\t\t\tname != 'download' &&\n\t\t\tname != 'rowSpan' &&\n\t\t\tname != 'colSpan' &&\n\t\t\tname != 'role' &&\n\t\t\tname != 'popover' &&\n\t\t\tname in dom\n\t\t) {\n\t\t\ttry {\n\t\t\t\tdom[name] = value == null ? '' : value;\n\t\t\t\t// labelled break is 1b smaller here than a return statement (sorry)\n\t\t\t\tbreak o;\n\t\t\t} catch (e) {}\n\t\t}\n\n\t\t// aria- and data- attributes have no boolean representation.\n\t\t// A `false` value is different from the attribute not being\n\t\t// present, so we can't remove it. For non-boolean aria\n\t\t// attributes we could treat false as a removal, but the\n\t\t// amount of exceptions would cost too many bytes. On top of\n\t\t// that other frameworks generally stringify `false`.\n\n\t\tif (typeof value == 'function') {\n\t\t\t// never serialize functions as attribute values\n\t\t} else if (value != null && (value !== false || name[4] === '-')) {\n\t\t\tdom.setAttribute(name, name == 'popover' && value == true ? '' : value);\n\t\t} else {\n\t\t\tdom.removeAttribute(name);\n\t\t}\n\t}\n}\n\n/**\n * Create an event proxy function.\n * @param {boolean} useCapture Is the event handler for the capture phase.\n * @private\n */\nfunction createEventProxy(useCapture) {\n\t/**\n\t * Proxy an event to hooked event handlers\n\t * @param {PreactEvent} e The event object from the browser\n\t * @private\n\t */\n\treturn function (e) {\n\t\tif (this._listeners) {\n\t\t\tconst eventHandler = this._listeners[e.type + useCapture];\n\t\t\tif (e._dispatched == null) {\n\t\t\t\te._dispatched = eventClock++;\n\n\t\t\t\t// When `e._dispatched` is smaller than the time when the targeted event\n\t\t\t\t// handler was attached we know we have bubbled up to an element that was added\n\t\t\t\t// during patching the DOM.\n\t\t\t} else if (e._dispatched < eventHandler._attached) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn eventHandler(options.event ? options.event(e) : e);\n\t\t}\n\t};\n}\n\nconst eventProxy = createEventProxy(false);\nconst eventProxyCapture = createEventProxy(true);\n","import { enqueueRender } from './component';\n\nexport let i = 0;\n\nexport function createContext(defaultValue, contextId) {\n\tcontextId = '__cC' + i++;\n\n\tconst context = {\n\t\t_id: contextId,\n\t\t_defaultValue: defaultValue,\n\t\t/** @type {FunctionComponent} */\n\t\tConsumer(props, contextValue) {\n\t\t\t// return props.children(\n\t\t\t// \tcontext[contextId] ? context[contextId].props.value : defaultValue\n\t\t\t// );\n\t\t\treturn props.children(contextValue);\n\t\t},\n\t\t/** @type {FunctionComponent} */\n\t\tProvider(props) {\n\t\t\tif (!this.getChildContext) {\n\t\t\t\t/** @type {Component[] | null} */\n\t\t\t\tlet subs = [];\n\t\t\t\tlet ctx = {};\n\t\t\t\tctx[contextId] = this;\n\n\t\t\t\tthis.getChildContext = () => ctx;\n\n\t\t\t\tthis.componentWillUnmount = () => {\n\t\t\t\t\tsubs = null;\n\t\t\t\t};\n\n\t\t\t\tthis.shouldComponentUpdate = function (_props) {\n\t\t\t\t\tif (this.props.value !== _props.value) {\n\t\t\t\t\t\tsubs.some(c => {\n\t\t\t\t\t\t\tc._force = true;\n\t\t\t\t\t\t\tenqueueRender(c);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tthis.sub = c => {\n\t\t\t\t\tsubs.push(c);\n\t\t\t\t\tlet old = c.componentWillUnmount;\n\t\t\t\t\tc.componentWillUnmount = () => {\n\t\t\t\t\t\tif (subs) {\n\t\t\t\t\t\t\tsubs.splice(subs.indexOf(c), 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (old) old.call(c);\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn props.children;\n\t\t}\n\t};\n\n\t// Devtools needs access to the context object when it\n\t// encounters a Provider. This is necessary to support\n\t// setting `displayName` on the context object instead\n\t// of on the component itself. See:\n\t// https://reactjs.org/docs/context.html#contextdisplayname\n\n\treturn (context.Provider._contextRef = context.Consumer.contextType =\n\t\tcontext);\n}\n","import { diff, unmount, applyRef } from './index';\nimport { createVNode, Fragment } from '../create-element';\nimport { EMPTY_OBJ, EMPTY_ARR, INSERT_VNODE, MATCHED } from '../constants';\nimport { isArray } from '../util';\nimport { getDomSibling } from '../component';\n\n/**\n * Diff the children of a virtual node\n * @param {PreactElement} parentDom The DOM element whose children are being\n * diffed\n * @param {ComponentChildren[]} renderResult\n * @param {VNode} newParentVNode The new virtual node whose children should be\n * diff'ed against oldParentVNode\n * @param {VNode} oldParentVNode The old virtual node whose children should be\n * diff'ed against newParentVNode\n * @param {object} globalContext The current context object - modified by\n * getChildContext\n * @param {string} namespace Current namespace of the DOM node (HTML, SVG, or MathML)\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components which have callbacks\n * to invoke in commitRoot\n * @param {PreactElement} oldDom The current attached DOM element any new dom\n * elements should be placed around. Likely `null` on first render (except when\n * hydrating). Can be a sibling DOM element when diffing Fragments that have\n * siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @param {any[]} refQueue an array of elements needed to invoke refs\n */\nexport function diffChildren(\n\tparentDom,\n\trenderResult,\n\tnewParentVNode,\n\toldParentVNode,\n\tglobalContext,\n\tnamespace,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating,\n\trefQueue\n) {\n\tlet i,\n\t\t/** @type {VNode} */\n\t\toldVNode,\n\t\t/** @type {VNode} */\n\t\tchildVNode,\n\t\t/** @type {PreactElement} */\n\t\tnewDom,\n\t\t/** @type {PreactElement} */\n\t\tfirstChildDom;\n\n\t// This is a compression of oldParentVNode!=null && oldParentVNode != EMPTY_OBJ && oldParentVNode._children || EMPTY_ARR\n\t// as EMPTY_OBJ._children should be `undefined`.\n\t/** @type {VNode[]} */\n\tlet oldChildren = (oldParentVNode && oldParentVNode._children) || EMPTY_ARR;\n\n\tlet newChildrenLength = renderResult.length;\n\n\tnewParentVNode._nextDom = oldDom;\n\tconstructNewChildrenArray(newParentVNode, renderResult, oldChildren);\n\toldDom = newParentVNode._nextDom;\n\n\tfor (i = 0; i < newChildrenLength; i++) {\n\t\tchildVNode = newParentVNode._children[i];\n\t\tif (childVNode == null) continue;\n\n\t\t// At this point, constructNewChildrenArray has assigned _index to be the\n\t\t// matchingIndex for this VNode's oldVNode (or -1 if there is no oldVNode).\n\t\tif (childVNode._index === -1) {\n\t\t\toldVNode = EMPTY_OBJ;\n\t\t} else {\n\t\t\toldVNode = oldChildren[childVNode._index] || EMPTY_OBJ;\n\t\t}\n\n\t\t// Update childVNode._index to its final index\n\t\tchildVNode._index = i;\n\n\t\t// Morph the old element into the new one, but don't append it to the dom yet\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tchildVNode,\n\t\t\toldVNode,\n\t\t\tglobalContext,\n\t\t\tnamespace,\n\t\t\texcessDomChildren,\n\t\t\tcommitQueue,\n\t\t\toldDom,\n\t\t\tisHydrating,\n\t\t\trefQueue\n\t\t);\n\n\t\t// Adjust DOM nodes\n\t\tnewDom = childVNode._dom;\n\t\tif (childVNode.ref && oldVNode.ref != childVNode.ref) {\n\t\t\tif (oldVNode.ref) {\n\t\t\t\tapplyRef(oldVNode.ref, null, childVNode);\n\t\t\t}\n\t\t\trefQueue.push(\n\t\t\t\tchildVNode.ref,\n\t\t\t\tchildVNode._component || newDom,\n\t\t\t\tchildVNode\n\t\t\t);\n\t\t}\n\n\t\tif (firstChildDom == null && newDom != null) {\n\t\t\tfirstChildDom = newDom;\n\t\t}\n\n\t\tif (\n\t\t\tchildVNode._flags & INSERT_VNODE ||\n\t\t\toldVNode._children === childVNode._children\n\t\t) {\n\t\t\toldDom = insert(childVNode, oldDom, parentDom);\n\t\t} else if (\n\t\t\ttypeof childVNode.type == 'function' &&\n\t\t\tchildVNode._nextDom !== undefined\n\t\t) {\n\t\t\t// Since Fragments or components that return Fragment like VNodes can\n\t\t\t// contain multiple DOM nodes as the same level, continue the diff from\n\t\t\t// the sibling of last DOM child of this child VNode\n\t\t\toldDom = childVNode._nextDom;\n\t\t} else if (newDom) {\n\t\t\toldDom = newDom.nextSibling;\n\t\t}\n\n\t\t// Eagerly cleanup _nextDom. We don't need to persist the value because it\n\t\t// is only used by `diffChildren` to determine where to resume the diff\n\t\t// after diffing Components and Fragments. Once we store it the nextDOM\n\t\t// local var, we can clean up the property. Also prevents us hanging on to\n\t\t// DOM nodes that may have been unmounted.\n\t\tchildVNode._nextDom = undefined;\n\n\t\t// Unset diffing flags\n\t\tchildVNode._flags &= ~(INSERT_VNODE | MATCHED);\n\t}\n\n\t// TODO: With new child diffing algo, consider alt ways to diff Fragments.\n\t// Such as dropping oldDom and moving fragments in place\n\t//\n\t// Because the newParentVNode is Fragment-like, we need to set it's\n\t// _nextDom property to the nextSibling of its last child DOM node.\n\t//\n\t// `oldDom` contains the correct value here because if the last child\n\t// is a Fragment-like, then oldDom has already been set to that child's _nextDom.\n\t// If the last child is a DOM VNode, then oldDom will be set to that DOM\n\t// node's nextSibling.\n\tnewParentVNode._nextDom = oldDom;\n\tnewParentVNode._dom = firstChildDom;\n}\n\n/**\n * @param {VNode} newParentVNode\n * @param {ComponentChildren[]} renderResult\n * @param {VNode[]} oldChildren\n */\nfunction constructNewChildrenArray(newParentVNode, renderResult, oldChildren) {\n\t/** @type {number} */\n\tlet i;\n\t/** @type {VNode} */\n\tlet childVNode;\n\t/** @type {VNode} */\n\tlet oldVNode;\n\n\tconst newChildrenLength = renderResult.length;\n\tlet oldChildrenLength = oldChildren.length,\n\t\tremainingOldChildren = oldChildrenLength;\n\n\tlet skew = 0;\n\n\tnewParentVNode._children = [];\n\tfor (i = 0; i < newChildrenLength; i++) {\n\t\t// @ts-expect-error We are reusing the childVNode variable to hold both the\n\t\t// pre and post normalized childVNode\n\t\tchildVNode = renderResult[i];\n\n\t\tif (\n\t\t\tchildVNode == null ||\n\t\t\ttypeof childVNode == 'boolean' ||\n\t\t\ttypeof childVNode == 'function'\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = null;\n\t\t\tcontinue;\n\t\t}\n\t\t// If this newVNode is being reused (e.g.
{reuse}{reuse}
) in the same diff,\n\t\t// or we are rendering a component (e.g. setState) copy the oldVNodes so it can have\n\t\t// it's own DOM & etc. pointers\n\t\telse if (\n\t\t\ttypeof childVNode == 'string' ||\n\t\t\ttypeof childVNode == 'number' ||\n\t\t\t// eslint-disable-next-line valid-typeof\n\t\t\ttypeof childVNode == 'bigint' ||\n\t\t\tchildVNode.constructor == String\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tnull,\n\t\t\t\tchildVNode,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if (isArray(childVNode)) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tFragment,\n\t\t\t\t{ children: childVNode },\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if (childVNode.constructor === undefined && childVNode._depth > 0) {\n\t\t\t// VNode is already in use, clone it. This can happen in the following\n\t\t\t// scenario:\n\t\t\t// const reuse =
\n\t\t\t//
{reuse}{reuse}
\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tchildVNode.type,\n\t\t\t\tchildVNode.props,\n\t\t\t\tchildVNode.key,\n\t\t\t\tchildVNode.ref ? childVNode.ref : null,\n\t\t\t\tchildVNode._original\n\t\t\t);\n\t\t} else {\n\t\t\tchildVNode = newParentVNode._children[i] = childVNode;\n\t\t}\n\n\t\tconst skewedIndex = i + skew;\n\t\tchildVNode._parent = newParentVNode;\n\t\tchildVNode._depth = newParentVNode._depth + 1;\n\n\t\t// Temporarily store the matchingIndex on the _index property so we can pull\n\t\t// out the oldVNode in diffChildren. We'll override this to the VNode's\n\t\t// final index after using this property to get the oldVNode\n\t\tconst matchingIndex = (childVNode._index = findMatchingIndex(\n\t\t\tchildVNode,\n\t\t\toldChildren,\n\t\t\tskewedIndex,\n\t\t\tremainingOldChildren\n\t\t));\n\n\t\toldVNode = null;\n\t\tif (matchingIndex !== -1) {\n\t\t\toldVNode = oldChildren[matchingIndex];\n\t\t\tremainingOldChildren--;\n\t\t\tif (oldVNode) {\n\t\t\t\toldVNode._flags |= MATCHED;\n\t\t\t}\n\t\t}\n\n\t\t// Here, we define isMounting for the purposes of the skew diffing\n\t\t// algorithm. Nodes that are unsuspending are considered mounting and we detect\n\t\t// this by checking if oldVNode._original === null\n\t\tconst isMounting = oldVNode == null || oldVNode._original === null;\n\n\t\tif (isMounting) {\n\t\t\tif (matchingIndex == -1) {\n\t\t\t\tskew--;\n\t\t\t}\n\n\t\t\t// If we are mounting a DOM VNode, mark it for insertion\n\t\t\tif (typeof childVNode.type != 'function') {\n\t\t\t\tchildVNode._flags |= INSERT_VNODE;\n\t\t\t}\n\t\t} else if (matchingIndex !== skewedIndex) {\n\t\t\t// When we move elements around i.e. [0, 1, 2] --> [1, 0, 2]\n\t\t\t// --> we diff 1, we find it at position 1 while our skewed index is 0 and our skew is 0\n\t\t\t// we set the skew to 1 as we found an offset.\n\t\t\t// --> we diff 0, we find it at position 0 while our skewed index is at 2 and our skew is 1\n\t\t\t// this makes us increase the skew again.\n\t\t\t// --> we diff 2, we find it at position 2 while our skewed index is at 4 and our skew is 2\n\t\t\t//\n\t\t\t// this becomes an optimization question where currently we see a 1 element offset as an insertion\n\t\t\t// or deletion i.e. we optimize for [0, 1, 2] --> [9, 0, 1, 2]\n\t\t\t// while a more than 1 offset we see as a swap.\n\t\t\t// We could probably build heuristics for having an optimized course of action here as well, but\n\t\t\t// might go at the cost of some bytes.\n\t\t\t//\n\t\t\t// If we wanted to optimize for i.e. only swaps we'd just do the last two code-branches and have\n\t\t\t// only the first item be a re-scouting and all the others fall in their skewed counter-part.\n\t\t\t// We could also further optimize for swaps\n\t\t\tif (matchingIndex == skewedIndex - 1) {\n\t\t\t\tskew--;\n\t\t\t} else if (matchingIndex == skewedIndex + 1) {\n\t\t\t\tskew++;\n\t\t\t} else {\n\t\t\t\tif (matchingIndex > skewedIndex) {\n\t\t\t\t\tskew--;\n\t\t\t\t} else {\n\t\t\t\t\tskew++;\n\t\t\t\t}\n\n\t\t\t\t// Move this VNode's DOM if the original index (matchingIndex) doesn't\n\t\t\t\t// match the new skew index (i + new skew)\n\t\t\t\t// In the former two branches we know that it matches after skewing\n\t\t\t\tchildVNode._flags |= INSERT_VNODE;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove remaining oldChildren if there are any. Loop forwards so that as we\n\t// unmount DOM from the beginning of the oldChildren, we can adjust oldDom to\n\t// point to the next child, which needs to be the first DOM node that won't be\n\t// unmounted.\n\tif (remainingOldChildren) {\n\t\tfor (i = 0; i < oldChildrenLength; i++) {\n\t\t\toldVNode = oldChildren[i];\n\t\t\tif (oldVNode != null && (oldVNode._flags & MATCHED) === 0) {\n\t\t\t\tif (oldVNode._dom == newParentVNode._nextDom) {\n\t\t\t\t\tnewParentVNode._nextDom = getDomSibling(oldVNode);\n\t\t\t\t}\n\n\t\t\t\tunmount(oldVNode, oldVNode);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * @param {VNode} parentVNode\n * @param {PreactElement} oldDom\n * @param {PreactElement} parentDom\n * @returns {PreactElement}\n */\nfunction insert(parentVNode, oldDom, parentDom) {\n\t// Note: VNodes in nested suspended trees may be missing _children.\n\n\tif (typeof parentVNode.type == 'function') {\n\t\tlet children = parentVNode._children;\n\t\tfor (let i = 0; children && i < children.length; i++) {\n\t\t\tif (children[i]) {\n\t\t\t\t// If we enter this code path on sCU bailout, where we copy\n\t\t\t\t// oldVNode._children to newVNode._children, we need to update the old\n\t\t\t\t// children's _parent pointer to point to the newVNode (parentVNode\n\t\t\t\t// here).\n\t\t\t\tchildren[i]._parent = parentVNode;\n\t\t\t\toldDom = insert(children[i], oldDom, parentDom);\n\t\t\t}\n\t\t}\n\n\t\treturn oldDom;\n\t} else if (parentVNode._dom != oldDom) {\n\t\tif (oldDom && parentVNode.type && !parentDom.contains(oldDom)) {\n\t\t\toldDom = getDomSibling(parentVNode);\n\t\t}\n\t\tparentDom.insertBefore(parentVNode._dom, oldDom || null);\n\t\toldDom = parentVNode._dom;\n\t}\n\n\tdo {\n\t\toldDom = oldDom && oldDom.nextSibling;\n\t} while (oldDom != null && oldDom.nodeType === 8);\n\n\treturn oldDom;\n}\n\n/**\n * Flatten and loop through the children of a virtual node\n * @param {ComponentChildren} children The unflattened children of a virtual\n * node\n * @returns {VNode[]}\n */\nexport function toChildArray(children, out) {\n\tout = out || [];\n\tif (children == null || typeof children == 'boolean') {\n\t} else if (isArray(children)) {\n\t\tchildren.some(child => {\n\t\t\ttoChildArray(child, out);\n\t\t});\n\t} else {\n\t\tout.push(children);\n\t}\n\treturn out;\n}\n\n/**\n * @param {VNode} childVNode\n * @param {VNode[]} oldChildren\n * @param {number} skewedIndex\n * @param {number} remainingOldChildren\n * @returns {number}\n */\nfunction findMatchingIndex(\n\tchildVNode,\n\toldChildren,\n\tskewedIndex,\n\tremainingOldChildren\n) {\n\tconst key = childVNode.key;\n\tconst type = childVNode.type;\n\tlet x = skewedIndex - 1;\n\tlet y = skewedIndex + 1;\n\tlet oldVNode = oldChildren[skewedIndex];\n\n\t// We only need to perform a search if there are more children\n\t// (remainingOldChildren) to search. However, if the oldVNode we just looked\n\t// at skewedIndex was not already used in this diff, then there must be at\n\t// least 1 other (so greater than 1) remainingOldChildren to attempt to match\n\t// against. So the following condition checks that ensuring\n\t// remainingOldChildren > 1 if the oldVNode is not already used/matched. Else\n\t// if the oldVNode was null or matched, then there could needs to be at least\n\t// 1 (aka `remainingOldChildren > 0`) children to find and compare against.\n\tlet shouldSearch =\n\t\tremainingOldChildren >\n\t\t(oldVNode != null && (oldVNode._flags & MATCHED) === 0 ? 1 : 0);\n\n\tif (\n\t\toldVNode === null ||\n\t\t(oldVNode &&\n\t\t\tkey == oldVNode.key &&\n\t\t\ttype === oldVNode.type &&\n\t\t\t(oldVNode._flags & MATCHED) === 0)\n\t) {\n\t\treturn skewedIndex;\n\t} else if (shouldSearch) {\n\t\twhile (x >= 0 || y < oldChildren.length) {\n\t\t\tif (x >= 0) {\n\t\t\t\toldVNode = oldChildren[x];\n\t\t\t\tif (\n\t\t\t\t\toldVNode &&\n\t\t\t\t\t(oldVNode._flags & MATCHED) === 0 &&\n\t\t\t\t\tkey == oldVNode.key &&\n\t\t\t\t\ttype === oldVNode.type\n\t\t\t\t) {\n\t\t\t\t\treturn x;\n\t\t\t\t}\n\t\t\t\tx--;\n\t\t\t}\n\n\t\t\tif (y < oldChildren.length) {\n\t\t\t\toldVNode = oldChildren[y];\n\t\t\t\tif (\n\t\t\t\t\toldVNode &&\n\t\t\t\t\t(oldVNode._flags & MATCHED) === 0 &&\n\t\t\t\t\tkey == oldVNode.key &&\n\t\t\t\t\ttype === oldVNode.type\n\t\t\t\t) {\n\t\t\t\t\treturn y;\n\t\t\t\t}\n\t\t\t\ty++;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn -1;\n}\n","import {\n\tEMPTY_OBJ,\n\tMODE_HYDRATE,\n\tMODE_SUSPENDED,\n\tRESET_MODE\n} from '../constants';\nimport { BaseComponent, getDomSibling } from '../component';\nimport { Fragment } from '../create-element';\nimport { diffChildren } from './children';\nimport { setProperty } from './props';\nimport { assign, isArray, removeNode, slice } from '../util';\nimport options from '../options';\n\n/**\n * Diff two virtual nodes and apply proper changes to the DOM\n * @param {PreactElement} parentDom The parent of the DOM element\n * @param {VNode} newVNode The new virtual node\n * @param {VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object. Modified by\n * getChildContext\n * @param {string} namespace Current namespace of the DOM node (HTML, SVG, or MathML)\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components which have callbacks\n * to invoke in commitRoot\n * @param {PreactElement} oldDom The current attached DOM element any new dom\n * elements should be placed around. Likely `null` on first render (except when\n * hydrating). Can be a sibling DOM element when diffing Fragments that have\n * siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @param {any[]} refQueue an array of elements needed to invoke refs\n */\nexport function diff(\n\tparentDom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tnamespace,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating,\n\trefQueue\n) {\n\t/** @type {any} */\n\tlet tmp,\n\t\tnewType = newVNode.type;\n\n\t// When passing through createElement it assigns the object\n\t// constructor as undefined. This to prevent JSON-injection.\n\tif (newVNode.constructor !== undefined) return null;\n\n\t// If the previous diff bailed out, resume creating/hydrating.\n\tif (oldVNode._flags & MODE_SUSPENDED) {\n\t\tisHydrating = !!(oldVNode._flags & MODE_HYDRATE);\n\t\toldDom = newVNode._dom = oldVNode._dom;\n\t\texcessDomChildren = [oldDom];\n\t}\n\n\tif ((tmp = options._diff)) tmp(newVNode);\n\n\touter: if (typeof newType == 'function') {\n\t\ttry {\n\t\t\tlet c, isNew, oldProps, oldState, snapshot, clearProcessingException;\n\t\t\tlet newProps = newVNode.props;\n\t\t\tconst isClassComponent =\n\t\t\t\t'prototype' in newType && newType.prototype.render;\n\n\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t// the context value as `this.context` just for this component.\n\t\t\ttmp = newType.contextType;\n\t\t\tlet provider = tmp && globalContext[tmp._id];\n\t\t\tlet componentContext = tmp\n\t\t\t\t? provider\n\t\t\t\t\t? provider.props.value\n\t\t\t\t\t: tmp._defaultValue\n\t\t\t\t: globalContext;\n\n\t\t\t// Get component and set it to `c`\n\t\t\tif (oldVNode._component) {\n\t\t\t\tc = newVNode._component = oldVNode._component;\n\t\t\t\tclearProcessingException = c._processingException = c._pendingError;\n\t\t\t} else {\n\t\t\t\t// Instantiate the new component\n\t\t\t\tif (isClassComponent) {\n\t\t\t\t\t// @ts-expect-error The check above verifies that newType is suppose to be constructed\n\t\t\t\t\tnewVNode._component = c = new newType(newProps, componentContext); // eslint-disable-line new-cap\n\t\t\t\t} else {\n\t\t\t\t\t// @ts-expect-error Trust me, Component implements the interface we want\n\t\t\t\t\tnewVNode._component = c = new BaseComponent(\n\t\t\t\t\t\tnewProps,\n\t\t\t\t\t\tcomponentContext\n\t\t\t\t\t);\n\t\t\t\t\tc.constructor = newType;\n\t\t\t\t\tc.render = doRender;\n\t\t\t\t}\n\t\t\t\tif (provider) provider.sub(c);\n\n\t\t\t\tc.props = newProps;\n\t\t\t\tif (!c.state) c.state = {};\n\t\t\t\tc.context = componentContext;\n\t\t\t\tc._globalContext = globalContext;\n\t\t\t\tisNew = c._dirty = true;\n\t\t\t\tc._renderCallbacks = [];\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t}\n\n\t\t\t// Invoke getDerivedStateFromProps\n\t\t\tif (isClassComponent && c._nextState == null) {\n\t\t\t\tc._nextState = c.state;\n\t\t\t}\n\n\t\t\tif (isClassComponent && newType.getDerivedStateFromProps != null) {\n\t\t\t\tif (c._nextState == c.state) {\n\t\t\t\t\tc._nextState = assign({}, c._nextState);\n\t\t\t\t}\n\n\t\t\t\tassign(\n\t\t\t\t\tc._nextState,\n\t\t\t\t\tnewType.getDerivedStateFromProps(newProps, c._nextState)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\toldProps = c.props;\n\t\t\toldState = c.state;\n\t\t\tc._vnode = newVNode;\n\n\t\t\t// Invoke pre-render lifecycle methods\n\t\t\tif (isNew) {\n\t\t\t\tif (\n\t\t\t\t\tisClassComponent &&\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tc.componentWillMount != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillMount();\n\t\t\t\t}\n\n\t\t\t\tif (isClassComponent && c.componentDidMount != null) {\n\t\t\t\t\tc._renderCallbacks.push(c.componentDidMount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tisClassComponent &&\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tnewProps !== oldProps &&\n\t\t\t\t\tc.componentWillReceiveProps != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillReceiveProps(newProps, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t!c._force &&\n\t\t\t\t\t((c.shouldComponentUpdate != null &&\n\t\t\t\t\t\tc.shouldComponentUpdate(\n\t\t\t\t\t\t\tnewProps,\n\t\t\t\t\t\t\tc._nextState,\n\t\t\t\t\t\t\tcomponentContext\n\t\t\t\t\t\t) === false) ||\n\t\t\t\t\t\tnewVNode._original === oldVNode._original)\n\t\t\t\t) {\n\t\t\t\t\t// More info about this here: https://gist.github.com/JoviDeCroock/bec5f2ce93544d2e6070ef8e0036e4e8\n\t\t\t\t\tif (newVNode._original !== oldVNode._original) {\n\t\t\t\t\t\t// When we are dealing with a bail because of sCU we have to update\n\t\t\t\t\t\t// the props, state and dirty-state.\n\t\t\t\t\t\t// when we are dealing with strict-equality we don't as the child could still\n\t\t\t\t\t\t// be dirtied see #3883\n\t\t\t\t\t\tc.props = newProps;\n\t\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t\t\tc._dirty = false;\n\t\t\t\t\t}\n\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t\tnewVNode._children.some(vnode => {\n\t\t\t\t\t\tif (vnode) vnode._parent = newVNode;\n\t\t\t\t\t});\n\n\t\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t\t}\n\t\t\t\t\tc._stateCallbacks = [];\n\n\t\t\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\t\t\tcommitQueue.push(c);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\n\t\t\t\tif (c.componentWillUpdate != null) {\n\t\t\t\t\tc.componentWillUpdate(newProps, c._nextState, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (isClassComponent && c.componentDidUpdate != null) {\n\t\t\t\t\tc._renderCallbacks.push(() => {\n\t\t\t\t\t\tc.componentDidUpdate(oldProps, oldState, snapshot);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tc.context = componentContext;\n\t\t\tc.props = newProps;\n\t\t\tc._parentDom = parentDom;\n\t\t\tc._force = false;\n\n\t\t\tlet renderHook = options._render,\n\t\t\t\tcount = 0;\n\t\t\tif (isClassComponent) {\n\t\t\t\tc.state = c._nextState;\n\t\t\t\tc._dirty = false;\n\n\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t}\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t} else {\n\t\t\t\tdo {\n\t\t\t\t\tc._dirty = false;\n\t\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\t\t// Handle setState called in render, see #2553\n\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t} while (c._dirty && ++count < 25);\n\t\t\t}\n\n\t\t\t// Handle setState called in render, see #2553\n\t\t\tc.state = c._nextState;\n\n\t\t\tif (c.getChildContext != null) {\n\t\t\t\tglobalContext = assign(assign({}, globalContext), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (isClassComponent && !isNew && c.getSnapshotBeforeUpdate != null) {\n\t\t\t\tsnapshot = c.getSnapshotBeforeUpdate(oldProps, oldState);\n\t\t\t}\n\n\t\t\tlet isTopLevelFragment =\n\t\t\t\ttmp != null && tmp.type === Fragment && tmp.key == null;\n\t\t\tlet renderResult = isTopLevelFragment ? tmp.props.children : tmp;\n\n\t\t\tdiffChildren(\n\t\t\t\tparentDom,\n\t\t\t\tisArray(renderResult) ? renderResult : [renderResult],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tnamespace,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\toldDom,\n\t\t\t\tisHydrating,\n\t\t\t\trefQueue\n\t\t\t);\n\n\t\t\tc.base = newVNode._dom;\n\n\t\t\t// We successfully rendered this VNode, unset any stored hydration/bailout state:\n\t\t\tnewVNode._flags &= RESET_MODE;\n\n\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\tcommitQueue.push(c);\n\t\t\t}\n\n\t\t\tif (clearProcessingException) {\n\t\t\t\tc._pendingError = c._processingException = null;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tnewVNode._original = null;\n\t\t\t// if hydrating or creating initial tree, bailout preserves DOM:\n\t\t\tif (isHydrating || excessDomChildren != null) {\n\t\t\t\tnewVNode._flags |= isHydrating\n\t\t\t\t\t? MODE_HYDRATE | MODE_SUSPENDED\n\t\t\t\t\t: MODE_HYDRATE;\n\n\t\t\t\twhile (oldDom && oldDom.nodeType === 8 && oldDom.nextSibling) {\n\t\t\t\t\toldDom = oldDom.nextSibling;\n\t\t\t\t}\n\t\t\t\texcessDomChildren[excessDomChildren.indexOf(oldDom)] = null;\n\t\t\t\tnewVNode._dom = oldDom;\n\t\t\t} else {\n\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t}\n\t\t\toptions._catchError(e, newVNode, oldVNode);\n\t\t}\n\t} else if (\n\t\texcessDomChildren == null &&\n\t\tnewVNode._original === oldVNode._original\n\t) {\n\t\tnewVNode._children = oldVNode._children;\n\t\tnewVNode._dom = oldVNode._dom;\n\t} else {\n\t\tnewVNode._dom = diffElementNodes(\n\t\t\toldVNode._dom,\n\t\t\tnewVNode,\n\t\t\toldVNode,\n\t\t\tglobalContext,\n\t\t\tnamespace,\n\t\t\texcessDomChildren,\n\t\t\tcommitQueue,\n\t\t\tisHydrating,\n\t\t\trefQueue\n\t\t);\n\t}\n\n\tif ((tmp = options.diffed)) tmp(newVNode);\n}\n\n/**\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {VNode} root\n */\nexport function commitRoot(commitQueue, root, refQueue) {\n\troot._nextDom = undefined;\n\n\tfor (let i = 0; i < refQueue.length; i++) {\n\t\tapplyRef(refQueue[i], refQueue[++i], refQueue[++i]);\n\t}\n\n\tif (options._commit) options._commit(root, commitQueue);\n\n\tcommitQueue.some(c => {\n\t\ttry {\n\t\t\t// @ts-expect-error Reuse the commitQueue variable here so the type changes\n\t\t\tcommitQueue = c._renderCallbacks;\n\t\t\tc._renderCallbacks = [];\n\t\t\tcommitQueue.some(cb => {\n\t\t\t\t// @ts-expect-error See above comment on commitQueue\n\t\t\t\tcb.call(c);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t});\n}\n\n/**\n * Diff two virtual nodes representing DOM element\n * @param {PreactElement} dom The DOM element representing the virtual nodes\n * being diffed\n * @param {VNode} newVNode The new virtual node\n * @param {VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object\n * @param {string} namespace Current namespace of the DOM node (HTML, SVG, or MathML)\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components which have callbacks\n * to invoke in commitRoot\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @param {any[]} refQueue an array of elements needed to invoke refs\n * @returns {PreactElement}\n */\nfunction diffElementNodes(\n\tdom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tnamespace,\n\texcessDomChildren,\n\tcommitQueue,\n\tisHydrating,\n\trefQueue\n) {\n\tlet oldProps = oldVNode.props;\n\tlet newProps = newVNode.props;\n\tlet nodeType = /** @type {string} */ (newVNode.type);\n\t/** @type {any} */\n\tlet i;\n\t/** @type {{ __html?: string }} */\n\tlet newHtml;\n\t/** @type {{ __html?: string }} */\n\tlet oldHtml;\n\t/** @type {ComponentChildren} */\n\tlet newChildren;\n\tlet value;\n\tlet inputValue;\n\tlet checked;\n\n\t// Tracks entering and exiting namespaces when descending through the tree.\n\tif (nodeType === 'svg') namespace = 'http://www.w3.org/2000/svg';\n\telse if (nodeType === 'math')\n\t\tnamespace = 'http://www.w3.org/1998/Math/MathML';\n\telse if (!namespace) namespace = 'http://www.w3.org/1999/xhtml';\n\n\tif (excessDomChildren != null) {\n\t\tfor (i = 0; i < excessDomChildren.length; i++) {\n\t\t\tvalue = excessDomChildren[i];\n\n\t\t\t// if newVNode matches an element in excessDomChildren or the `dom`\n\t\t\t// argument matches an element in excessDomChildren, remove it from\n\t\t\t// excessDomChildren so it isn't later removed in diffChildren\n\t\t\tif (\n\t\t\t\tvalue &&\n\t\t\t\t'setAttribute' in value === !!nodeType &&\n\t\t\t\t(nodeType ? value.localName === nodeType : value.nodeType === 3)\n\t\t\t) {\n\t\t\t\tdom = value;\n\t\t\t\texcessDomChildren[i] = null;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (dom == null) {\n\t\tif (nodeType === null) {\n\t\t\treturn document.createTextNode(newProps);\n\t\t}\n\n\t\tdom = document.createElementNS(\n\t\t\tnamespace,\n\t\t\tnodeType,\n\t\t\tnewProps.is && newProps\n\t\t);\n\n\t\t// we are creating a new node, so we can assume this is a new subtree (in\n\t\t// case we are hydrating), this deopts the hydrate\n\t\tif (isHydrating) {\n\t\t\tif (options._hydrationMismatch)\n\t\t\t\toptions._hydrationMismatch(newVNode, excessDomChildren);\n\t\t\tisHydrating = false;\n\t\t}\n\t\t// we created a new parent, so none of the previously attached children can be reused:\n\t\texcessDomChildren = null;\n\t}\n\n\tif (nodeType === null) {\n\t\t// During hydration, we still have to split merged text from SSR'd HTML.\n\t\tif (oldProps !== newProps && (!isHydrating || dom.data !== newProps)) {\n\t\t\tdom.data = newProps;\n\t\t}\n\t} else {\n\t\t// If excessDomChildren was not null, repopulate it with the current element's children:\n\t\texcessDomChildren = excessDomChildren && slice.call(dom.childNodes);\n\n\t\toldProps = oldVNode.props || EMPTY_OBJ;\n\n\t\t// If we are in a situation where we are not hydrating but are using\n\t\t// existing DOM (e.g. replaceNode) we should read the existing DOM\n\t\t// attributes to diff them\n\t\tif (!isHydrating && excessDomChildren != null) {\n\t\t\toldProps = {};\n\t\t\tfor (i = 0; i < dom.attributes.length; i++) {\n\t\t\t\tvalue = dom.attributes[i];\n\t\t\t\toldProps[value.name] = value.value;\n\t\t\t}\n\t\t}\n\n\t\tfor (i in oldProps) {\n\t\t\tvalue = oldProps[i];\n\t\t\tif (i == 'children') {\n\t\t\t} else if (i == 'dangerouslySetInnerHTML') {\n\t\t\t\toldHtml = value;\n\t\t\t} else if (!(i in newProps)) {\n\t\t\t\tif (\n\t\t\t\t\t(i == 'value' && 'defaultValue' in newProps) ||\n\t\t\t\t\t(i == 'checked' && 'defaultChecked' in newProps)\n\t\t\t\t) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tsetProperty(dom, i, null, value, namespace);\n\t\t\t}\n\t\t}\n\n\t\t// During hydration, props are not diffed at all (including dangerouslySetInnerHTML)\n\t\t// @TODO we should warn in debug mode when props don't match here.\n\t\tfor (i in newProps) {\n\t\t\tvalue = newProps[i];\n\t\t\tif (i == 'children') {\n\t\t\t\tnewChildren = value;\n\t\t\t} else if (i == 'dangerouslySetInnerHTML') {\n\t\t\t\tnewHtml = value;\n\t\t\t} else if (i == 'value') {\n\t\t\t\tinputValue = value;\n\t\t\t} else if (i == 'checked') {\n\t\t\t\tchecked = value;\n\t\t\t} else if (\n\t\t\t\t(!isHydrating || typeof value == 'function') &&\n\t\t\t\toldProps[i] !== value\n\t\t\t) {\n\t\t\t\tsetProperty(dom, i, value, oldProps[i], namespace);\n\t\t\t}\n\t\t}\n\n\t\t// If the new vnode didn't have dangerouslySetInnerHTML, diff its children\n\t\tif (newHtml) {\n\t\t\t// Avoid re-applying the same '__html' if it did not changed between re-render\n\t\t\tif (\n\t\t\t\t!isHydrating &&\n\t\t\t\t(!oldHtml ||\n\t\t\t\t\t(newHtml.__html !== oldHtml.__html &&\n\t\t\t\t\t\tnewHtml.__html !== dom.innerHTML))\n\t\t\t) {\n\t\t\t\tdom.innerHTML = newHtml.__html;\n\t\t\t}\n\n\t\t\tnewVNode._children = [];\n\t\t} else {\n\t\t\tif (oldHtml) dom.innerHTML = '';\n\n\t\t\tdiffChildren(\n\t\t\t\tdom,\n\t\t\t\tisArray(newChildren) ? newChildren : [newChildren],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tnodeType === 'foreignObject'\n\t\t\t\t\t? 'http://www.w3.org/1999/xhtml'\n\t\t\t\t\t: namespace,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\texcessDomChildren\n\t\t\t\t\t? excessDomChildren[0]\n\t\t\t\t\t: oldVNode._children && getDomSibling(oldVNode, 0),\n\t\t\t\tisHydrating,\n\t\t\t\trefQueue\n\t\t\t);\n\n\t\t\t// Remove children that are not part of any vnode.\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\tfor (i = excessDomChildren.length; i--; ) {\n\t\t\t\t\tremoveNode(excessDomChildren[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// As above, don't diff props during hydration\n\t\tif (!isHydrating) {\n\t\t\ti = 'value';\n\t\t\tif (nodeType === 'progress' && inputValue == null) {\n\t\t\t\tdom.removeAttribute('value');\n\t\t\t} else if (\n\t\t\t\tinputValue !== undefined &&\n\t\t\t\t// #2756 For the -element the initial value is 0,\n\t\t\t\t// despite the attribute not being present. When the attribute\n\t\t\t\t// is missing the progress bar is treated as indeterminate.\n\t\t\t\t// To fix that we'll always update it when it is 0 for progress elements\n\t\t\t\t(inputValue !== dom[i] ||\n\t\t\t\t\t(nodeType === 'progress' && !inputValue) ||\n\t\t\t\t\t// This is only for IE 11 to fix