{"version":3,"file":"static/js/main.6df4ef51.js","mappings":";qCAAA,OAOC,WACA,aAEA,IAAIA,EAAS,GAAGC,eAEhB,SAASC,IAGR,IAFA,IAAIC,EAAU,GAELC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAC1C,IAAIG,EAAMF,UAAUD,GACpB,GAAKG,EAAL,CAEA,IAAIC,SAAiBD,EAErB,GAAgB,WAAZC,GAAoC,WAAZA,EAC3BL,EAAQM,KAAKF,QACP,GAAIG,MAAMC,QAAQJ,IACxB,GAAIA,EAAID,OAAQ,CACf,IAAIM,EAAQV,EAAWW,MAAM,KAAMN,GAC/BK,GACHT,EAAQM,KAAKG,SAGT,GAAgB,WAAZJ,EACV,GAAID,EAAIO,WAAaC,OAAOC,UAAUF,SACrC,IAAK,IAAIG,KAAOV,EACXP,EAAOkB,KAAKX,EAAKU,IAAQV,EAAIU,IAChCd,EAAQM,KAAKQ,QAIfd,EAAQM,KAAKF,EAAIO,aAKpB,OAAOX,EAAQgB,KAAK,KAGgBC,EAAOC,SAC3CnB,EAAWoB,QAAUpB,EACrBkB,EAAOC,QAAUnB,QAGX,kBACL,OAAOA,GADF,QAAe,OAAf,aA5CP,iCCgBD,IAOIqB,EAPAC,EAAuB,kBAAZC,QAAuBA,QAAU,KAC5CC,EAAeF,GAAwB,oBAAZA,EAAEX,MAC7BW,EAAEX,MACF,SAAsBc,EAAQC,EAAUC,GACxC,OAAOC,SAASd,UAAUH,MAAMK,KAAKS,EAAQC,EAAUC,IAKzDN,EADEC,GAA0B,oBAAdA,EAAEO,QACCP,EAAEO,QACVhB,OAAOiB,sBACC,SAAwBL,GACvC,OAAOZ,OAAOkB,oBAAoBN,GAC/BO,OAAOnB,OAAOiB,sBAAsBL,KAGxB,SAAwBA,GACvC,OAAOZ,OAAOkB,oBAAoBN,IAQtC,IAAIQ,EAAcC,OAAOC,OAAS,SAAqBC,GACrD,OAAOA,IAAUA,GAGnB,SAASC,IACPA,EAAaC,KAAKtB,KAAKuB,MAEzBrB,EAAOC,QAAUkB,EACjBnB,EAAOC,QAAQqB,KAwYf,SAAcC,EAASC,GACrB,OAAO,IAAIC,SAAQ,SAAUC,EAASC,GACpC,SAASC,EAAcC,GACrBN,EAAQO,eAAeN,EAAMO,GAC7BJ,EAAOE,GAGT,SAASE,IAC+B,oBAA3BR,EAAQO,gBACjBP,EAAQO,eAAe,QAASF,GAElCF,EAAQ,GAAGM,MAAMlC,KAAKb,YAGxBgD,EAA+BV,EAASC,EAAMO,EAAU,CAAET,MAAM,IACnD,UAATE,GAMR,SAAuCD,EAASW,EAASC,GAC7B,oBAAfZ,EAAQa,IACjBH,EAA+BV,EAAS,QAASW,EAASC,GAPxDE,CAA8Bd,EAASK,EAAe,CAAEN,MAAM,QArZpEH,EAAaA,aAAeA,EAE5BA,EAAavB,UAAU0C,aAAUC,EACjCpB,EAAavB,UAAU4C,aAAe,EACtCrB,EAAavB,UAAU6C,mBAAgBF,EAIvC,IAAIG,EAAsB,GAE1B,SAASC,EAAcC,GACrB,GAAwB,oBAAbA,EACT,MAAM,IAAIC,UAAU,0EAA4ED,GAsCpG,SAASE,EAAiBC,GACxB,YAA2BR,IAAvBQ,EAAKN,cACAtB,EAAauB,oBACfK,EAAKN,cAmDd,SAASO,EAAazC,EAAQ0C,EAAML,EAAUM,GAC5C,IAAIC,EACAC,EACAC,EA1HsBC,EAgJ1B,GApBAX,EAAcC,QAGCL,KADfa,EAAS7C,EAAO+B,UAEdc,EAAS7C,EAAO+B,QAAU3C,OAAO4D,OAAO,MACxChD,EAAOiC,aAAe,SAIKD,IAAvBa,EAAOI,cACTjD,EAAOkD,KAAK,cAAeR,EACfL,EAASA,SAAWA,EAASA,SAAWA,GAIpDQ,EAAS7C,EAAO+B,SAElBe,EAAWD,EAAOH,SAGHV,IAAbc,EAEFA,EAAWD,EAAOH,GAAQL,IACxBrC,EAAOiC,kBAeT,GAbwB,oBAAba,EAETA,EAAWD,EAAOH,GAChBC,EAAU,CAACN,EAAUS,GAAY,CAACA,EAAUT,GAErCM,EACTG,EAASK,QAAQd,GAEjBS,EAAShE,KAAKuD,IAIhBO,EAAIL,EAAiBvC,IACb,GAAK8C,EAASnE,OAASiE,IAAME,EAASM,OAAQ,CACpDN,EAASM,QAAS,EAGlB,IAAIC,EAAI,IAAIC,MAAM,+CACER,EAASnE,OAAS,IAAM4E,OAAOb,GADjC,qEAIlBW,EAAEpC,KAAO,8BACToC,EAAErC,QAAUhB,EACZqD,EAAEX,KAAOA,EACTW,EAAEG,MAAQV,EAASnE,OA7KGoE,EA8KHM,EA7KnBI,SAAWA,QAAQC,MAAMD,QAAQC,KAAKX,GAiL1C,OAAO/C,EAcT,SAAS2D,IACP,IAAK7C,KAAK8C,MAGR,OAFA9C,KAAKd,OAAOuB,eAAeT,KAAK4B,KAAM5B,KAAK+C,QAC3C/C,KAAK8C,OAAQ,EACY,IAArBlF,UAAUC,OACLmC,KAAKuB,SAAS9C,KAAKuB,KAAKd,QAC1Bc,KAAKuB,SAASnD,MAAM4B,KAAKd,OAAQtB,WAI5C,SAASoF,EAAU9D,EAAQ0C,EAAML,GAC/B,IAAI0B,EAAQ,CAAEH,OAAO,EAAOC,YAAQ7B,EAAWhC,OAAQA,EAAQ0C,KAAMA,EAAML,SAAUA,GACjF2B,EAAUL,EAAYM,KAAKF,GAG/B,OAFAC,EAAQ3B,SAAWA,EACnB0B,EAAMF,OAASG,EACRA,EA0HT,SAASE,EAAWlE,EAAQ0C,EAAMyB,GAChC,IAAItB,EAAS7C,EAAO+B,QAEpB,QAAeC,IAAXa,EACF,MAAO,GAET,IAAIuB,EAAavB,EAAOH,GACxB,YAAmBV,IAAfoC,EACK,GAEiB,oBAAfA,EACFD,EAAS,CAACC,EAAW/B,UAAY+B,GAAc,CAACA,GAElDD,EAsDT,SAAyBE,GAEvB,IADA,IAAIC,EAAM,IAAIvF,MAAMsF,EAAI1F,QACfF,EAAI,EAAGA,EAAI6F,EAAI3F,SAAUF,EAChC6F,EAAI7F,GAAK4F,EAAI5F,GAAG4D,UAAYgC,EAAI5F,GAElC,OAAO6F,EA1DLC,CAAgBH,GAAcI,EAAWJ,EAAYA,EAAWzF,QAoBpE,SAAS8F,EAAc/B,GACrB,IAAIG,EAAS/B,KAAKiB,QAElB,QAAeC,IAAXa,EAAsB,CACxB,IAAIuB,EAAavB,EAAOH,GAExB,GAA0B,oBAAf0B,EACT,OAAO,EACF,QAAmBpC,IAAfoC,EACT,OAAOA,EAAWzF,OAItB,OAAO,EAOT,SAAS6F,EAAWH,EAAKK,GAEvB,IADA,IAAIC,EAAO,IAAI5F,MAAM2F,GACZjG,EAAI,EAAGA,EAAIiG,IAAKjG,EACvBkG,EAAKlG,GAAK4F,EAAI5F,GAChB,OAAOkG,EA4CT,SAASjD,EAA+BV,EAASC,EAAMoB,EAAUT,GAC/D,GAA0B,oBAAfZ,EAAQa,GACbD,EAAMb,KACRC,EAAQD,KAAKE,EAAMoB,GAEnBrB,EAAQa,GAAGZ,EAAMoB,OAEd,IAAwC,oBAA7BrB,EAAQ4D,iBAYxB,MAAM,IAAItC,UAAU,6EAA+EtB,GATnGA,EAAQ4D,iBAAiB3D,GAAM,SAAS4D,EAAajG,GAG/CgD,EAAMb,MACRC,EAAQ8D,oBAAoB7D,EAAM4D,GAEpCxC,EAASzD,OAhafQ,OAAO2F,eAAenE,EAAc,sBAAuB,CACzDoE,YAAY,EACZC,IAAK,WACH,OAAO9C,GAET+C,IAAK,SAAStG,GACZ,GAAmB,kBAARA,GAAoBA,EAAM,GAAK4B,EAAY5B,GACpD,MAAM,IAAIuG,WAAW,kGAAoGvG,EAAM,KAEjIuD,EAAsBvD,KAI1BgC,EAAaC,KAAO,gBAEGmB,IAAjBlB,KAAKiB,SACLjB,KAAKiB,UAAY3C,OAAOgG,eAAetE,MAAMiB,UAC/CjB,KAAKiB,QAAU3C,OAAO4D,OAAO,MAC7BlC,KAAKmB,aAAe,GAGtBnB,KAAKoB,cAAgBpB,KAAKoB,oBAAiBF,GAK7CpB,EAAavB,UAAUgG,gBAAkB,SAAyBX,GAChE,GAAiB,kBAANA,GAAkBA,EAAI,GAAKlE,EAAYkE,GAChD,MAAM,IAAIS,WAAW,gFAAkFT,EAAI,KAG7G,OADA5D,KAAKoB,cAAgBwC,EACd5D,MASTF,EAAavB,UAAUiG,gBAAkB,WACvC,OAAO/C,EAAiBzB,OAG1BF,EAAavB,UAAU6D,KAAO,SAAcR,GAE1C,IADA,IAAIxC,EAAO,GACFzB,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAKyB,EAAKpB,KAAKJ,UAAUD,IAC/D,IAAI8G,EAAoB,UAAT7C,EAEXG,EAAS/B,KAAKiB,QAClB,QAAeC,IAAXa,EACF0C,EAAWA,QAA4BvD,IAAjBa,EAAO2C,WAC1B,IAAKD,EACR,OAAO,EAGT,GAAIA,EAAS,CACX,IAAIE,EAGJ,GAFIvF,EAAKvB,OAAS,IAChB8G,EAAKvF,EAAK,IACRuF,aAAcnC,MAGhB,MAAMmC,EAGR,IAAInE,EAAM,IAAIgC,MAAM,oBAAsBmC,EAAK,KAAOA,EAAGC,QAAU,IAAM,KAEzE,MADApE,EAAIqE,QAAUF,EACRnE,EAGR,IAAIK,EAAUkB,EAAOH,GAErB,QAAgBV,IAAZL,EACF,OAAO,EAET,GAAuB,oBAAZA,EACT5B,EAAa4B,EAASb,KAAMZ,OAE5B,KAAI0F,EAAMjE,EAAQhD,OACdkH,EAAYrB,EAAW7C,EAASiE,GACpC,IAASnH,EAAI,EAAGA,EAAImH,IAAOnH,EACzBsB,EAAa8F,EAAUpH,GAAIqC,KAAMZ,GAGrC,OAAO,GAiETU,EAAavB,UAAUyG,YAAc,SAAqBpD,EAAML,GAC9D,OAAOI,EAAa3B,KAAM4B,EAAML,GAAU,IAG5CzB,EAAavB,UAAUwC,GAAKjB,EAAavB,UAAUyG,YAEnDlF,EAAavB,UAAU0G,gBACnB,SAAyBrD,EAAML,GAC7B,OAAOI,EAAa3B,KAAM4B,EAAML,GAAU,IAqBhDzB,EAAavB,UAAU0B,KAAO,SAAc2B,EAAML,GAGhD,OAFAD,EAAcC,GACdvB,KAAKe,GAAGa,EAAMoB,EAAUhD,KAAM4B,EAAML,IAC7BvB,MAGTF,EAAavB,UAAU2G,oBACnB,SAA6BtD,EAAML,GAGjC,OAFAD,EAAcC,GACdvB,KAAKiF,gBAAgBrD,EAAMoB,EAAUhD,KAAM4B,EAAML,IAC1CvB,MAIbF,EAAavB,UAAUkC,eACnB,SAAwBmB,EAAML,GAC5B,IAAI4D,EAAMpD,EAAQqD,EAAUzH,EAAG0H,EAK/B,GAHA/D,EAAcC,QAGCL,KADfa,EAAS/B,KAAKiB,SAEZ,OAAOjB,KAGT,QAAakB,KADbiE,EAAOpD,EAAOH,IAEZ,OAAO5B,KAET,GAAImF,IAAS5D,GAAY4D,EAAK5D,WAAaA,EACb,MAAtBvB,KAAKmB,aACTnB,KAAKiB,QAAU3C,OAAO4D,OAAO,cAEtBH,EAAOH,GACVG,EAAOtB,gBACTT,KAAKoC,KAAK,iBAAkBR,EAAMuD,EAAK5D,UAAYA,SAElD,GAAoB,oBAAT4D,EAAqB,CAGrC,IAFAC,GAAY,EAEPzH,EAAIwH,EAAKtH,OAAS,EAAGF,GAAK,EAAGA,IAChC,GAAIwH,EAAKxH,KAAO4D,GAAY4D,EAAKxH,GAAG4D,WAAaA,EAAU,CACzD8D,EAAmBF,EAAKxH,GAAG4D,SAC3B6D,EAAWzH,EACX,MAIJ,GAAIyH,EAAW,EACb,OAAOpF,KAEQ,IAAboF,EACFD,EAAKG,QAiIf,SAAmBH,EAAMI,GACvB,KAAOA,EAAQ,EAAIJ,EAAKtH,OAAQ0H,IAC9BJ,EAAKI,GAASJ,EAAKI,EAAQ,GAC7BJ,EAAKK,MAlIGC,CAAUN,EAAMC,GAGE,IAAhBD,EAAKtH,SACPkE,EAAOH,GAAQuD,EAAK,SAEQjE,IAA1Ba,EAAOtB,gBACTT,KAAKoC,KAAK,iBAAkBR,EAAMyD,GAAoB9D,GAG1D,OAAOvB,MAGbF,EAAavB,UAAUmH,IAAM5F,EAAavB,UAAUkC,eAEpDX,EAAavB,UAAUoH,mBACnB,SAA4B/D,GAC1B,IAAImD,EAAWhD,EAAQpE,EAGvB,QAAeuD,KADfa,EAAS/B,KAAKiB,SAEZ,OAAOjB,KAGT,QAA8BkB,IAA1Ba,EAAOtB,eAUT,OATyB,IAArB7C,UAAUC,QACZmC,KAAKiB,QAAU3C,OAAO4D,OAAO,MAC7BlC,KAAKmB,aAAe,QACMD,IAAjBa,EAAOH,KACY,MAAtB5B,KAAKmB,aACTnB,KAAKiB,QAAU3C,OAAO4D,OAAO,aAEtBH,EAAOH,IAEX5B,KAIT,GAAyB,IAArBpC,UAAUC,OAAc,CAC1B,IACIW,EADAoH,EAAOtH,OAAOsH,KAAK7D,GAEvB,IAAKpE,EAAI,EAAGA,EAAIiI,EAAK/H,SAAUF,EAEjB,oBADZa,EAAMoH,EAAKjI,KAEXqC,KAAK2F,mBAAmBnH,GAK1B,OAHAwB,KAAK2F,mBAAmB,kBACxB3F,KAAKiB,QAAU3C,OAAO4D,OAAO,MAC7BlC,KAAKmB,aAAe,EACbnB,KAKT,GAAyB,oBAFzB+E,EAAYhD,EAAOH,IAGjB5B,KAAKS,eAAemB,EAAMmD,QACrB,QAAkB7D,IAAd6D,EAET,IAAKpH,EAAIoH,EAAUlH,OAAS,EAAGF,GAAK,EAAGA,IACrCqC,KAAKS,eAAemB,EAAMmD,EAAUpH,IAIxC,OAAOqC,MAoBbF,EAAavB,UAAUwG,UAAY,SAAmBnD,GACpD,OAAOwB,EAAWpD,KAAM4B,GAAM,IAGhC9B,EAAavB,UAAUsH,aAAe,SAAsBjE,GAC1D,OAAOwB,EAAWpD,KAAM4B,GAAM,IAGhC9B,EAAa6D,cAAgB,SAASzD,EAAS0B,GAC7C,MAAqC,oBAA1B1B,EAAQyD,cACVzD,EAAQyD,cAAc/B,GAEtB+B,EAAclF,KAAKyB,EAAS0B,IAIvC9B,EAAavB,UAAUoF,cAAgBA,EAiBvC7D,EAAavB,UAAUuH,WAAa,WAClC,OAAO9F,KAAKmB,aAAe,EAAIrC,EAAekB,KAAKiB,SAAW,sCCtahE,IAAI8E,EAAUC,EAAQ,KAMlBC,EAAgB,CAClBC,mBAAmB,EACnBC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,aAAa,EACbC,iBAAiB,EACjBC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,QAAQ,EACRC,WAAW,EACX/E,MAAM,GAEJgF,EAAgB,CAClBzG,MAAM,EACNtC,QAAQ,EACRU,WAAW,EACXsI,QAAQ,EACRC,QAAQ,EACRlJ,WAAW,EACXmJ,OAAO,GASLC,EAAe,CACjB,UAAY,EACZC,SAAS,EACTZ,cAAc,EACdC,aAAa,EACbK,WAAW,EACX/E,MAAM,GAEJsF,EAAe,GAInB,SAASC,EAAWC,GAElB,OAAIrB,EAAQsB,OAAOD,GACVJ,EAIFE,EAAaE,EAAS,WAAiBnB,EAVhDiB,EAAanB,EAAQuB,YAhBK,CACxB,UAAY,EACZC,QAAQ,EACRlB,cAAc,EACdC,aAAa,EACbK,WAAW,GAYbO,EAAanB,EAAQyB,MAAQR,EAY7B,IAAI/C,EAAiB3F,OAAO2F,eACxBzE,EAAsBlB,OAAOkB,oBAC7BD,EAAwBjB,OAAOiB,sBAC/BkI,EAA2BnJ,OAAOmJ,yBAClCnD,EAAiBhG,OAAOgG,eACxBoD,EAAkBpJ,OAAOC,UAsC7BI,EAAOC,QArCP,SAAS+I,EAAqBC,EAAiBC,EAAiBC,GAC9D,GAA+B,kBAApBD,EAA8B,CAEvC,GAAIH,EAAiB,CACnB,IAAIK,EAAqBzD,EAAeuD,GAEpCE,GAAsBA,IAAuBL,GAC/CC,EAAqBC,EAAiBG,EAAoBD,GAI9D,IAAIlC,EAAOpG,EAAoBqI,GAE3BtI,IACFqG,EAAOA,EAAKnG,OAAOF,EAAsBsI,KAM3C,IAHA,IAAIG,EAAgBb,EAAWS,GAC3BK,EAAgBd,EAAWU,GAEtBlK,EAAI,EAAGA,EAAIiI,EAAK/H,SAAUF,EAAG,CACpC,IAAIa,EAAMoH,EAAKjI,GAEf,IAAKiJ,EAAcpI,MAAUsJ,IAAaA,EAAUtJ,OAAWyJ,IAAiBA,EAAczJ,OAAWwJ,IAAiBA,EAAcxJ,IAAO,CAC7I,IAAI0J,EAAaT,EAAyBI,EAAiBrJ,GAE3D,IAEEyF,EAAe2D,EAAiBpJ,EAAK0J,GACrC,MAAOC,OAKf,OAAOP,qCC1FT,IAAIQ,EAAuBpC,EAAQ,IAEnC,SAASqC,KACT,SAASC,KACTA,EAAuBC,kBAAoBF,EAE3C1J,EAAOC,QAAU,WACf,SAAS4J,EAAKC,EAAOC,EAAUC,EAAeC,EAAUC,EAAcC,GACpE,GAAIA,IAAWV,EAAf,CAIA,IAAI5H,EAAM,IAAIgC,MACZ,mLAKF,MADAhC,EAAIL,KAAO,sBACLK,GAGR,SAASuI,IACP,OAAOP,EAFTA,EAAKQ,WAAaR,EAMlB,IAAIS,EAAiB,CACnBC,MAAOV,EACPW,OAAQX,EACRY,KAAMZ,EACNa,KAAMb,EACNc,OAAQd,EACRe,OAAQf,EACRgB,OAAQhB,EACRiB,OAAQjB,EAERkB,IAAKlB,EACLmB,QAASZ,EACTa,QAASpB,EACTqB,YAAarB,EACbsB,WAAYf,EACZgB,KAAMvB,EACNwB,SAAUjB,EACVkB,MAAOlB,EACPmB,UAAWnB,EACXoB,MAAOpB,EACPqB,MAAOrB,EAEPsB,eAAgB/B,EAChBC,kBAAmBF,GAKrB,OAFAY,EAAeqB,UAAYrB,EAEpBA,sBC9CPtK,EAAOC,QAAUoH,EAAQ,IAARA,gCCNnBrH,EAAOC,QAFoB,iFCGd,IAAI2L,EAAGvE,EAAQ,KAASwE,EAAGxE,EAAQ,KAAa,SAASyE,EAAEC,GAAG,IAAI,IAAIC,EAAE,yDAAyDD,EAAEE,EAAE,EAAEA,EAAEhN,UAAUC,OAAO+M,IAAID,GAAG,WAAWE,mBAAmBjN,UAAUgN,IAAI,MAAM,yBAAyBF,EAAE,WAAWC,EAAE,iHAAiH,IAAIG,EAAG,IAAIC,IAAIC,EAAG,GAAG,SAASC,EAAGP,EAAEC,GAAGO,EAAGR,EAAEC,GAAGO,EAAGR,EAAE,UAAUC,GACtb,SAASO,EAAGR,EAAEC,GAAW,IAARK,EAAGN,GAAGC,EAAMD,EAAE,EAAEA,EAAEC,EAAE9M,OAAO6M,IAAII,EAAGK,IAAIR,EAAED,IACzD,IAAIU,IAAK,qBAAqBC,QAAQ,qBAAqBA,OAAOC,UAAU,qBAAqBD,OAAOC,SAASC,eAAeC,EAAGlN,OAAOC,UAAUf,eAAeiO,EAAG,8VAA8VC,EACpgB,GAAGC,EAAG,GACkN,SAASC,EAAElB,EAAEC,EAAEC,EAAEiB,EAAE1D,EAAE2D,EAAEC,GAAG/L,KAAKgM,gBAAgB,IAAIrB,GAAG,IAAIA,GAAG,IAAIA,EAAE3K,KAAKiM,cAAcJ,EAAE7L,KAAKkM,mBAAmB/D,EAAEnI,KAAKmM,gBAAgBvB,EAAE5K,KAAKoM,aAAa1B,EAAE1K,KAAK4B,KAAK+I,EAAE3K,KAAKqM,YAAYP,EAAE9L,KAAKsM,kBAAkBP,EAAE,IAAIQ,EAAE,GACnb,uIAAuIC,MAAM,KAAKC,SAAQ,SAAS/B,GAAG6B,EAAE7B,GAAG,IAAIkB,EAAElB,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,CAAC,gBAAgB,kBAAkB,CAAC,YAAY,SAAS,CAAC,UAAU,OAAO,CAAC,YAAY,eAAe+B,SAAQ,SAAS/B,GAAG,IAAIC,EAAED,EAAE,GAAG6B,EAAE5B,GAAG,IAAIiB,EAAEjB,EAAE,GAAE,EAAGD,EAAE,GAAG,MAAK,GAAG,MAAM,CAAC,kBAAkB,YAAY,aAAa,SAAS+B,SAAQ,SAAS/B,GAAG6B,EAAE7B,GAAG,IAAIkB,EAAElB,EAAE,GAAE,EAAGA,EAAEgC,cAAc,MAAK,GAAG,MACve,CAAC,cAAc,4BAA4B,YAAY,iBAAiBD,SAAQ,SAAS/B,GAAG6B,EAAE7B,GAAG,IAAIkB,EAAElB,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,8OAA8O8B,MAAM,KAAKC,SAAQ,SAAS/B,GAAG6B,EAAE7B,GAAG,IAAIkB,EAAElB,EAAE,GAAE,EAAGA,EAAEgC,cAAc,MAAK,GAAG,MACrb,CAAC,UAAU,WAAW,QAAQ,YAAYD,SAAQ,SAAS/B,GAAG6B,EAAE7B,GAAG,IAAIkB,EAAElB,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,UAAU,YAAY+B,SAAQ,SAAS/B,GAAG6B,EAAE7B,GAAG,IAAIkB,EAAElB,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,OAAO,OAAO,OAAO,QAAQ+B,SAAQ,SAAS/B,GAAG6B,EAAE7B,GAAG,IAAIkB,EAAElB,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,MAAM,CAAC,UAAU,SAAS+B,SAAQ,SAAS/B,GAAG6B,EAAE7B,GAAG,IAAIkB,EAAElB,EAAE,GAAE,EAAGA,EAAEgC,cAAc,MAAK,GAAG,MAAM,IAAIC,EAAG,gBAAgB,SAASC,EAAGlC,GAAG,OAAOA,EAAE,GAAGmC,cAI3Y,SAASC,EAAGpC,EAAEC,EAAEC,EAAEiB,GAAG,IAAI1D,EAAEoE,EAAE/O,eAAemN,GAAG4B,EAAE5B,GAAG,MAAQ,OAAOxC,EAAE,IAAIA,EAAEvG,KAAKiK,KAAK,EAAElB,EAAE9M,SAAS,MAAM8M,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,MAP9I,SAAYD,EAAEC,EAAEC,EAAEiB,GAAG,GAAG,OAAOlB,GAAG,qBAAqBA,GADqE,SAAYD,EAAEC,EAAEC,EAAEiB,GAAG,GAAG,OAAOjB,GAAG,IAAIA,EAAEhJ,KAAK,OAAM,EAAG,cAAc+I,GAAG,IAAK,WAAW,IAAK,SAAS,OAAM,EAAG,IAAK,UAAU,OAAGkB,IAAc,OAAOjB,GAASA,EAAEoB,gBAAmD,WAAnCtB,EAAEA,EAAEgC,cAAc/L,MAAM,EAAE,KAAsB,UAAU+J,GAAE,QAAQ,OAAM,GAC5TqC,CAAGrC,EAAEC,EAAEC,EAAEiB,GAAG,OAAM,EAAG,GAAGA,EAAE,OAAM,EAAG,GAAG,OAAOjB,EAAE,OAAOA,EAAEhJ,MAAM,KAAK,EAAE,OAAO+I,EAAE,KAAK,EAAE,OAAM,IAAKA,EAAE,KAAK,EAAE,OAAO/K,MAAM+K,GAAG,KAAK,EAAE,OAAO/K,MAAM+K,IAAI,EAAEA,EAAE,OAAM,EAOpEqC,CAAGrC,EAAEC,EAAEzC,EAAE0D,KAAKjB,EAAE,MAAMiB,GAAG,OAAO1D,EARxK,SAAYuC,GAAG,QAAGc,EAAG/M,KAAKkN,EAAGjB,KAAec,EAAG/M,KAAKiN,EAAGhB,KAAee,EAAGwB,KAAKvC,GAAUiB,EAAGjB,IAAG,GAAGgB,EAAGhB,IAAG,GAAS,IAQ0DwC,CAAGvC,KAAK,OAAOC,EAAEF,EAAEyC,gBAAgBxC,GAAGD,EAAE0C,aAAazC,EAAE,GAAGC,IAAIzC,EAAEgE,gBAAgBzB,EAAEvC,EAAEiE,cAAc,OAAOxB,EAAE,IAAIzC,EAAEvG,MAAQ,GAAGgJ,GAAGD,EAAExC,EAAE8D,cAAcJ,EAAE1D,EAAE+D,mBAAmB,OAAOtB,EAAEF,EAAEyC,gBAAgBxC,IAAaC,EAAE,KAAXzC,EAAEA,EAAEvG,OAAc,IAAIuG,IAAG,IAAKyC,EAAE,GAAG,GAAGA,EAAEiB,EAAEnB,EAAE2C,eAAexB,EAAElB,EAAEC,GAAGF,EAAE0C,aAAazC,EAAEC,MAH7c,0jCAA0jC4B,MAAM,KAAKC,SAAQ,SAAS/B,GAAG,IAAIC,EAAED,EAAE4C,QAAQX,EACzmCC,GAAIL,EAAE5B,GAAG,IAAIiB,EAAEjB,EAAE,GAAE,EAAGD,EAAE,MAAK,GAAG,MAAM,2EAA2E8B,MAAM,KAAKC,SAAQ,SAAS/B,GAAG,IAAIC,EAAED,EAAE4C,QAAQX,EAAGC,GAAIL,EAAE5B,GAAG,IAAIiB,EAAEjB,EAAE,GAAE,EAAGD,EAAE,gCAA+B,GAAG,MAAM,CAAC,WAAW,WAAW,aAAa+B,SAAQ,SAAS/B,GAAG,IAAIC,EAAED,EAAE4C,QAAQX,EAAGC,GAAIL,EAAE5B,GAAG,IAAIiB,EAAEjB,EAAE,GAAE,EAAGD,EAAE,wCAAuC,GAAG,MAAM,CAAC,WAAW,eAAe+B,SAAQ,SAAS/B,GAAG6B,EAAE7B,GAAG,IAAIkB,EAAElB,EAAE,GAAE,EAAGA,EAAEgC,cAAc,MAAK,GAAG,MAC/cH,EAAEgB,UAAU,IAAI3B,EAAE,YAAY,GAAE,EAAG,aAAa,gCAA+B,GAAG,GAAI,CAAC,MAAM,OAAO,SAAS,cAAca,SAAQ,SAAS/B,GAAG6B,EAAE7B,GAAG,IAAIkB,EAAElB,EAAE,GAAE,EAAGA,EAAEgC,cAAc,MAAK,GAAG,MAEzL,IAAIc,EAAGjD,EAAGkD,mDAAmDC,EAAGC,OAAOC,IAAI,iBAAiBC,EAAGF,OAAOC,IAAI,gBAAgBE,EAAGH,OAAOC,IAAI,kBAAkBG,EAAGJ,OAAOC,IAAI,qBAAqBI,EAAGL,OAAOC,IAAI,kBAAkBK,EAAGN,OAAOC,IAAI,kBAAkBM,EAAGP,OAAOC,IAAI,iBAAiBO,EAAGR,OAAOC,IAAI,qBAAqBQ,EAAGT,OAAOC,IAAI,kBAAkBS,EAAGV,OAAOC,IAAI,uBAAuBU,EAAGX,OAAOC,IAAI,cAAcW,EAAGZ,OAAOC,IAAI,cAAcD,OAAOC,IAAI,eAAeD,OAAOC,IAAI,0BACje,IAAIY,EAAGb,OAAOC,IAAI,mBAAmBD,OAAOC,IAAI,uBAAuBD,OAAOC,IAAI,eAAeD,OAAOC,IAAI,wBAAwB,IAAIa,EAAGd,OAAOe,SAAS,SAASC,EAAGjE,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAwC,oBAAnCA,EAAE+D,GAAI/D,EAAE+D,IAAK/D,EAAE,eAA0CA,EAAE,KAAK,IAAoBkE,EAAhBC,EAAEvQ,OAAOwQ,OAAU,SAASC,EAAGrE,GAAG,QAAG,IAASkE,EAAG,IAAI,MAAMpM,QAAS,MAAMoI,GAAG,IAAID,EAAEC,EAAEoE,MAAMC,OAAOC,MAAM,gBAAgBN,EAAGjE,GAAGA,EAAE,IAAI,GAAG,MAAM,KAAKiE,EAAGlE,EAAE,IAAIyE,GAAG,EACzb,SAASC,EAAG1E,EAAEC,GAAG,IAAID,GAAGyE,EAAG,MAAM,GAAGA,GAAG,EAAG,IAAIvE,EAAEpI,MAAM6M,kBAAkB7M,MAAM6M,uBAAkB,EAAO,IAAI,GAAG1E,EAAE,GAAGA,EAAE,WAAW,MAAMnI,SAAUlE,OAAO2F,eAAe0G,EAAEpM,UAAU,QAAQ,CAAC6F,IAAI,WAAW,MAAM5B,WAAY,kBAAkBxD,SAASA,QAAQsQ,UAAU,CAAC,IAAItQ,QAAQsQ,UAAU3E,EAAE,IAAI,MAAM4E,GAAG,IAAI1D,EAAE0D,EAAEvQ,QAAQsQ,UAAU5E,EAAE,GAAGC,OAAO,CAAC,IAAIA,EAAElM,OAAO,MAAM8Q,GAAG1D,EAAE0D,EAAE7E,EAAEjM,KAAKkM,EAAEpM,eAAe,CAAC,IAAI,MAAMiE,QAAS,MAAM+M,GAAG1D,EAAE0D,EAAE7E,KAAK,MAAM6E,GAAG,GAAGA,GAAG1D,GAAG,kBAAkB0D,EAAEP,MAAM,CAAC,IAAI,IAAI7G,EAAEoH,EAAEP,MAAMxC,MAAM,MACnfV,EAAED,EAAEmD,MAAMxC,MAAM,MAAMT,EAAE5D,EAAEtK,OAAO,EAAE2R,EAAE1D,EAAEjO,OAAO,EAAE,GAAGkO,GAAG,GAAGyD,GAAGrH,EAAE4D,KAAKD,EAAE0D,IAAIA,IAAI,KAAK,GAAGzD,GAAG,GAAGyD,EAAEzD,IAAIyD,IAAI,GAAGrH,EAAE4D,KAAKD,EAAE0D,GAAG,CAAC,GAAG,IAAIzD,GAAG,IAAIyD,EAAG,GAAG,GAAGzD,IAAQ,IAAJyD,GAASrH,EAAE4D,KAAKD,EAAE0D,GAAG,CAAC,IAAIC,EAAE,KAAKtH,EAAE4D,GAAGuB,QAAQ,WAAW,QAA6F,OAArF5C,EAAEpE,aAAamJ,EAAEC,SAAS,iBAAiBD,EAAEA,EAAEnC,QAAQ,cAAc5C,EAAEpE,cAAqBmJ,SAAQ,GAAG1D,GAAG,GAAGyD,GAAG,QAD1N,QAC0OL,GAAG,EAAG3M,MAAM6M,kBAAkBzE,EAAE,OAAOF,EAAEA,EAAEA,EAAEpE,aAAaoE,EAAEvK,KAAK,IAAI4O,EAAGrE,GAAG,GAC5Z,SAASiF,EAAGjF,GAAG,OAAOA,EAAEkF,KAAK,KAAK,EAAE,OAAOb,EAAGrE,EAAE9I,MAAM,KAAK,GAAG,OAAOmN,EAAG,QAAQ,KAAK,GAAG,OAAOA,EAAG,YAAY,KAAK,GAAG,OAAOA,EAAG,gBAAgB,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAOrE,EAAE0E,EAAG1E,EAAE9I,MAAK,GAAM,KAAK,GAAG,OAAO8I,EAAE0E,EAAG1E,EAAE9I,KAAK2F,QAAO,GAAM,KAAK,EAAE,OAAOmD,EAAE0E,EAAG1E,EAAE9I,MAAK,GAAM,QAAQ,MAAM,IACrR,SAASiO,EAAGnF,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,oBAAoBA,EAAE,OAAOA,EAAEpE,aAAaoE,EAAEvK,MAAM,KAAK,GAAG,kBAAkBuK,EAAE,OAAOA,EAAE,OAAOA,GAAG,KAAKoD,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,SAAS,KAAKG,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,aAAa,KAAKK,EAAG,MAAM,WAAW,KAAKC,EAAG,MAAM,eAAe,GAAG,kBAAkB3D,EAAE,OAAOA,EAAEoF,UAAU,KAAK5B,EAAG,OAAOxD,EAAEpE,aAAa,WAAW,YAAY,KAAK2H,EAAG,OAAOvD,EAAEqF,SAASzJ,aAAa,WAAW,YAAY,KAAK6H,EAAG,IAAIxD,EAAED,EAAEnD,OAC7Z,OADoamD,EAAEA,EAAEpE,eACndoE,EAAE,MADieA,EAAEC,EAAErE,aAClfqE,EAAExK,MAAM,IAAY,cAAcuK,EAAE,IAAI,cAAqBA,EAAE,KAAK4D,EAAG,OAA6B,QAAtB3D,EAAED,EAAEpE,aAAa,MAAcqE,EAAEkF,EAAGnF,EAAE9I,OAAO,OAAO,KAAK2M,EAAG5D,EAAED,EAAEsF,SAAStF,EAAEA,EAAEuF,MAAM,IAAI,OAAOJ,EAAGnF,EAAEC,IAAI,MAAMC,KAAK,OAAO,KACvM,SAASsF,EAAGxF,GAAG,IAAIC,EAAED,EAAE9I,KAAK,OAAO8I,EAAEkF,KAAK,KAAK,GAAG,MAAM,QAAQ,KAAK,EAAE,OAAOjF,EAAErE,aAAa,WAAW,YAAY,KAAK,GAAG,OAAOqE,EAAEoF,SAASzJ,aAAa,WAAW,YAAY,KAAK,GAAG,MAAM,qBAAqB,KAAK,GAAG,OAAkBoE,GAAXA,EAAEC,EAAEpD,QAAWjB,aAAaoE,EAAEvK,MAAM,GAAGwK,EAAErE,cAAc,KAAKoE,EAAE,cAAcA,EAAE,IAAI,cAAc,KAAK,EAAE,MAAM,WAAW,KAAK,EAAE,OAAOC,EAAE,KAAK,EAAE,MAAM,SAAS,KAAK,EAAE,MAAM,OAAO,KAAK,EAAE,MAAM,OAAO,KAAK,GAAG,OAAOkF,EAAGlF,GAAG,KAAK,EAAE,OAAOA,IAAIoD,EAAG,aAAa,OAAO,KAAK,GAAG,MAAM,YACtf,KAAK,GAAG,MAAM,WAAW,KAAK,GAAG,MAAM,QAAQ,KAAK,GAAG,MAAM,WAAW,KAAK,GAAG,MAAM,eAAe,KAAK,GAAG,MAAM,gBAAgB,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,GAAG,oBAAoBpD,EAAE,OAAOA,EAAErE,aAAaqE,EAAExK,MAAM,KAAK,GAAG,kBAAkBwK,EAAE,OAAOA,EAAE,OAAO,KAAK,SAASwF,EAAGzF,GAAG,cAAcA,GAAG,IAAK,UAAU,IAAK,SAAS,IAAK,SAAS,IAAK,YAAqB,IAAK,SAAS,OAAOA,EAAE,QAAQ,MAAM,IACla,SAAS0F,EAAG1F,GAAG,IAAIC,EAAED,EAAE9I,KAAK,OAAO8I,EAAEA,EAAE2F,WAAW,UAAU3F,EAAEgC,gBAAgB,aAAa/B,GAAG,UAAUA,GAEpF,SAAS2F,EAAG5F,GAAGA,EAAE6F,gBAAgB7F,EAAE6F,cADvD,SAAY7F,GAAG,IAAIC,EAAEyF,EAAG1F,GAAG,UAAU,QAAQE,EAAEtM,OAAOmJ,yBAAyBiD,EAAE8F,YAAYjS,UAAUoM,GAAGkB,EAAE,GAAGnB,EAAEC,GAAG,IAAID,EAAElN,eAAemN,IAAI,qBAAqBC,GAAG,oBAAoBA,EAAEzG,KAAK,oBAAoByG,EAAExG,IAAI,CAAC,IAAI+D,EAAEyC,EAAEzG,IAAI2H,EAAElB,EAAExG,IAAiL,OAA7K9F,OAAO2F,eAAeyG,EAAEC,EAAE,CAAC8F,cAAa,EAAGtM,IAAI,WAAW,OAAOgE,EAAE1J,KAAKuB,OAAOoE,IAAI,SAASsG,GAAGmB,EAAE,GAAGnB,EAAEoB,EAAErN,KAAKuB,KAAK0K,MAAMpM,OAAO2F,eAAeyG,EAAEC,EAAE,CAACzG,WAAW0G,EAAE1G,aAAmB,CAACwM,SAAS,WAAW,OAAO7E,GAAG8E,SAAS,SAASjG,GAAGmB,EAAE,GAAGnB,GAAGkG,aAAa,WAAWlG,EAAE6F,cACxf,YAAY7F,EAAEC,MAAuDkG,CAAGnG,IAAI,SAASoG,EAAGpG,GAAG,IAAIA,EAAE,OAAM,EAAG,IAAIC,EAAED,EAAE6F,cAAc,IAAI5F,EAAE,OAAM,EAAG,IAAIC,EAAED,EAAE+F,WAAe7E,EAAE,GAAqD,OAAlDnB,IAAImB,EAAEuE,EAAG1F,GAAGA,EAAEqG,QAAQ,OAAO,QAAQrG,EAAE7K,QAAO6K,EAAEmB,KAAajB,IAAGD,EAAEgG,SAASjG,IAAG,GAAO,SAASsG,EAAGtG,GAAwD,GAAG,qBAAxDA,EAAEA,IAAI,qBAAqBY,SAASA,cAAS,IAAkC,OAAO,KAAK,IAAI,OAAOZ,EAAEuG,eAAevG,EAAEwG,KAAK,MAAMvG,GAAG,OAAOD,EAAEwG,MAC/Z,SAASC,EAAGzG,EAAEC,GAAG,IAAIC,EAAED,EAAEoG,QAAQ,OAAOlC,EAAE,GAAGlE,EAAE,CAACyG,oBAAe,EAAOC,kBAAa,EAAOxR,WAAM,EAAOkR,QAAQ,MAAMnG,EAAEA,EAAEF,EAAE4G,cAAcC,iBAAiB,SAASC,EAAG9G,EAAEC,GAAG,IAAIC,EAAE,MAAMD,EAAE0G,aAAa,GAAG1G,EAAE0G,aAAaxF,EAAE,MAAMlB,EAAEoG,QAAQpG,EAAEoG,QAAQpG,EAAEyG,eAAexG,EAAEuF,EAAG,MAAMxF,EAAE9K,MAAM8K,EAAE9K,MAAM+K,GAAGF,EAAE4G,cAAc,CAACC,eAAe1F,EAAE4F,aAAa7G,EAAE8G,WAAW,aAAa/G,EAAE/I,MAAM,UAAU+I,EAAE/I,KAAK,MAAM+I,EAAEoG,QAAQ,MAAMpG,EAAE9K,OAAO,SAAS8R,EAAGjH,EAAEC,GAAe,OAAZA,EAAEA,EAAEoG,UAAiBjE,EAAGpC,EAAE,UAAUC,GAAE,GAC3d,SAASiH,EAAGlH,EAAEC,GAAGgH,EAAGjH,EAAEC,GAAG,IAAIC,EAAEuF,EAAGxF,EAAE9K,OAAOgM,EAAElB,EAAE/I,KAAK,GAAG,MAAMgJ,EAAK,WAAWiB,GAAM,IAAIjB,GAAG,KAAKF,EAAE7K,OAAO6K,EAAE7K,OAAO+K,KAAEF,EAAE7K,MAAM,GAAG+K,GAAOF,EAAE7K,QAAQ,GAAG+K,IAAIF,EAAE7K,MAAM,GAAG+K,QAAQ,GAAG,WAAWiB,GAAG,UAAUA,EAA8B,YAA3BnB,EAAEyC,gBAAgB,SAAgBxC,EAAEnN,eAAe,SAASqU,GAAGnH,EAAEC,EAAE/I,KAAKgJ,GAAGD,EAAEnN,eAAe,iBAAiBqU,GAAGnH,EAAEC,EAAE/I,KAAKuO,EAAGxF,EAAE0G,eAAe,MAAM1G,EAAEoG,SAAS,MAAMpG,EAAEyG,iBAAiB1G,EAAE0G,iBAAiBzG,EAAEyG,gBACnZ,SAASU,EAAGpH,EAAEC,EAAEC,GAAG,GAAGD,EAAEnN,eAAe,UAAUmN,EAAEnN,eAAe,gBAAgB,CAAC,IAAIqO,EAAElB,EAAE/I,KAAK,KAAK,WAAWiK,GAAG,UAAUA,QAAG,IAASlB,EAAE9K,OAAO,OAAO8K,EAAE9K,OAAO,OAAO8K,EAAE,GAAGD,EAAE4G,cAAcG,aAAa7G,GAAGD,IAAID,EAAE7K,QAAQ6K,EAAE7K,MAAM8K,GAAGD,EAAE2G,aAAa1G,EAAW,MAATC,EAAEF,EAAEvK,QAAcuK,EAAEvK,KAAK,IAAIuK,EAAE0G,iBAAiB1G,EAAE4G,cAAcC,eAAe,KAAK3G,IAAIF,EAAEvK,KAAKyK,GACvV,SAASiH,GAAGnH,EAAEC,EAAEC,GAAM,WAAWD,GAAGqG,EAAGtG,EAAEqH,iBAAiBrH,IAAE,MAAME,EAAEF,EAAE2G,aAAa,GAAG3G,EAAE4G,cAAcG,aAAa/G,EAAE2G,eAAe,GAAGzG,IAAIF,EAAE2G,aAAa,GAAGzG,IAAG,IAAIoH,GAAG/T,MAAMC,QAC7K,SAAS+T,GAAGvH,EAAEC,EAAEC,EAAEiB,GAAe,GAAZnB,EAAEA,EAAEwH,QAAWvH,EAAE,CAACA,EAAE,GAAG,IAAI,IAAIxC,EAAE,EAAEA,EAAEyC,EAAE/M,OAAOsK,IAAIwC,EAAE,IAAIC,EAAEzC,KAAI,EAAG,IAAIyC,EAAE,EAAEA,EAAEF,EAAE7M,OAAO+M,IAAIzC,EAAEwC,EAAEnN,eAAe,IAAIkN,EAAEE,GAAG/K,OAAO6K,EAAEE,GAAGuH,WAAWhK,IAAIuC,EAAEE,GAAGuH,SAAShK,GAAGA,GAAG0D,IAAInB,EAAEE,GAAGwH,iBAAgB,OAAQ,CAAmB,IAAlBxH,EAAE,GAAGuF,EAAGvF,GAAGD,EAAE,KAASxC,EAAE,EAAEA,EAAEuC,EAAE7M,OAAOsK,IAAI,CAAC,GAAGuC,EAAEvC,GAAGtI,QAAQ+K,EAAiD,OAA9CF,EAAEvC,GAAGgK,UAAS,OAAGtG,IAAInB,EAAEvC,GAAGiK,iBAAgB,IAAW,OAAOzH,GAAGD,EAAEvC,GAAGkK,WAAW1H,EAAED,EAAEvC,IAAI,OAAOwC,IAAIA,EAAEwH,UAAS,IACpY,SAASG,GAAG5H,EAAEC,GAAG,GAAG,MAAMA,EAAE4H,wBAAwB,MAAM/P,MAAMiI,EAAE,KAAK,OAAOoE,EAAE,GAAGlE,EAAE,CAAC9K,WAAM,EAAOwR,kBAAa,EAAOmB,SAAS,GAAG9H,EAAE4G,cAAcG,eAAe,SAASgB,GAAG/H,EAAEC,GAAG,IAAIC,EAAED,EAAE9K,MAAM,GAAG,MAAM+K,EAAE,CAA+B,GAA9BA,EAAED,EAAE6H,SAAS7H,EAAEA,EAAE0G,aAAgB,MAAMzG,EAAE,CAAC,GAAG,MAAMD,EAAE,MAAMnI,MAAMiI,EAAE,KAAK,GAAGuH,GAAGpH,GAAG,CAAC,GAAG,EAAEA,EAAE/M,OAAO,MAAM2E,MAAMiI,EAAE,KAAKG,EAAEA,EAAE,GAAGD,EAAEC,EAAE,MAAMD,IAAIA,EAAE,IAAIC,EAAED,EAAED,EAAE4G,cAAc,CAACG,aAAatB,EAAGvF,IAChY,SAAS8H,GAAGhI,EAAEC,GAAG,IAAIC,EAAEuF,EAAGxF,EAAE9K,OAAOgM,EAAEsE,EAAGxF,EAAE0G,cAAc,MAAMzG,KAAIA,EAAE,GAAGA,KAAMF,EAAE7K,QAAQ6K,EAAE7K,MAAM+K,GAAG,MAAMD,EAAE0G,cAAc3G,EAAE2G,eAAezG,IAAIF,EAAE2G,aAAazG,IAAI,MAAMiB,IAAInB,EAAE2G,aAAa,GAAGxF,GAAG,SAAS8G,GAAGjI,GAAG,IAAIC,EAAED,EAAEkI,YAAYjI,IAAID,EAAE4G,cAAcG,cAAc,KAAK9G,GAAG,OAAOA,IAAID,EAAE7K,MAAM8K,GAAG,SAASkI,GAAGnI,GAAG,OAAOA,GAAG,IAAK,MAAM,MAAM,6BAA6B,IAAK,OAAO,MAAM,qCAAqC,QAAQ,MAAM,gCAC9a,SAASoI,GAAGpI,EAAEC,GAAG,OAAO,MAAMD,GAAG,iCAAiCA,EAAEmI,GAAGlI,GAAG,+BAA+BD,GAAG,kBAAkBC,EAAE,+BAA+BD,EAC/J,IAAIqI,GAAerI,GAAZsI,IAAYtI,GAAsJ,SAASA,EAAEC,GAAG,GAAG,+BAA+BD,EAAEuI,cAAc,cAAcvI,EAAEA,EAAEwI,UAAUvI,MAAM,CAA2F,KAA1FoI,GAAGA,IAAIzH,SAASC,cAAc,QAAU2H,UAAU,QAAQvI,EAAEwI,UAAU9U,WAAW,SAAasM,EAAEoI,GAAGK,WAAW1I,EAAE0I,YAAY1I,EAAE2I,YAAY3I,EAAE0I,YAAY,KAAKzI,EAAEyI,YAAY1I,EAAE4I,YAAY3I,EAAEyI,cAA3a,qBAAqBG,OAAOA,MAAMC,wBAAwB,SAAS7I,EAAEC,EAAEiB,EAAE1D,GAAGoL,MAAMC,yBAAwB,WAAW,OAAO9I,GAAEC,EAAEC,OAAUF,IACtK,SAAS+I,GAAG/I,EAAEC,GAAG,GAAGA,EAAE,CAAC,IAAIC,EAAEF,EAAE0I,WAAW,GAAGxI,GAAGA,IAAIF,EAAEgJ,WAAW,IAAI9I,EAAE+I,SAAwB,YAAd/I,EAAEgJ,UAAUjJ,GAAUD,EAAEkI,YAAYjI,EACrH,IAAIkJ,GAAG,CAACC,yBAAwB,EAAGC,aAAY,EAAGC,mBAAkB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,SAAQ,EAAGC,cAAa,EAAGC,iBAAgB,EAAGC,aAAY,EAAGC,SAAQ,EAAGC,MAAK,EAAGC,UAAS,EAAGC,cAAa,EAAGC,YAAW,EAAGC,cAAa,EAAGC,WAAU,EAAGC,UAAS,EAAGC,SAAQ,EAAGC,YAAW,EAAGC,aAAY,EAAGC,cAAa,EAAGC,YAAW,EAAGC,eAAc,EAAGC,gBAAe,EAAGC,iBAAgB,EAAGC,YAAW,EAAGC,WAAU,EAAGC,YAAW,EAAGC,SAAQ,EAAGC,OAAM,EAAGC,SAAQ,EAAGC,SAAQ,EAAGC,QAAO,EAAGC,QAAO,EAClfC,MAAK,EAAGC,aAAY,EAAGC,cAAa,EAAGC,aAAY,EAAGC,iBAAgB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,eAAc,EAAGC,aAAY,GAAIC,GAAG,CAAC,SAAS,KAAK,MAAM,KAA6H,SAASC,GAAGhM,EAAEC,EAAEC,GAAG,OAAO,MAAMD,GAAG,mBAAmBA,GAAG,KAAKA,EAAE,GAAGC,GAAG,kBAAkBD,GAAG,IAAIA,GAAGkJ,GAAGrW,eAAekN,IAAImJ,GAAGnJ,IAAI,GAAGC,GAAGsE,OAAOtE,EAAE,KACrb,SAASgM,GAAGjM,EAAEC,GAAa,IAAI,IAAIC,KAAlBF,EAAEA,EAAEkM,MAAmBjM,EAAE,GAAGA,EAAEnN,eAAeoN,GAAG,CAAC,IAAIiB,EAAE,IAAIjB,EAAEiM,QAAQ,MAAM1O,EAAEuO,GAAG9L,EAAED,EAAEC,GAAGiB,GAAG,UAAUjB,IAAIA,EAAE,YAAYiB,EAAEnB,EAAEoM,YAAYlM,EAAEzC,GAAGuC,EAAEE,GAAGzC,GADc7J,OAAOsH,KAAKiO,IAAIpH,SAAQ,SAAS/B,GAAG+L,GAAGhK,SAAQ,SAAS9B,GAAGA,EAAEA,EAAED,EAAEqM,OAAO,GAAGlK,cAAcnC,EAAEsM,UAAU,GAAGnD,GAAGlJ,GAAGkJ,GAAGnJ,SAC5H,IAAIuM,GAAGpI,EAAE,CAACqI,UAAS,GAAI,CAACC,MAAK,EAAGC,MAAK,EAAGC,IAAG,EAAGC,KAAI,EAAGC,OAAM,EAAGC,IAAG,EAAGC,KAAI,EAAGC,OAAM,EAAGC,QAAO,EAAGC,MAAK,EAAGC,MAAK,EAAGC,OAAM,EAAGC,QAAO,EAAGC,OAAM,EAAGC,KAAI,IAClT,SAASC,GAAGxN,EAAEC,GAAG,GAAGA,EAAE,CAAC,GAAGsM,GAAGvM,KAAK,MAAMC,EAAE6H,UAAU,MAAM7H,EAAE4H,yBAAyB,MAAM/P,MAAMiI,EAAE,IAAIC,IAAI,GAAG,MAAMC,EAAE4H,wBAAwB,CAAC,GAAG,MAAM5H,EAAE6H,SAAS,MAAMhQ,MAAMiI,EAAE,KAAK,GAAG,kBAAkBE,EAAE4H,2BAA2B,WAAW5H,EAAE4H,yBAAyB,MAAM/P,MAAMiI,EAAE,KAAM,GAAG,MAAME,EAAEiM,OAAO,kBAAkBjM,EAAEiM,MAAM,MAAMpU,MAAMiI,EAAE,MAC5V,SAAS0N,GAAGzN,EAAEC,GAAG,IAAI,IAAID,EAAEmM,QAAQ,KAAK,MAAM,kBAAkBlM,EAAEyN,GAAG,OAAO1N,GAAG,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,YAAY,IAAK,gBAAgB,IAAK,gBAAgB,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,gBAAgB,OAAM,EAAG,QAAQ,OAAM,GAAI,IAAI2N,GAAG,KAAK,SAASC,GAAG5N,GAA6F,OAA1FA,EAAEA,EAAExL,QAAQwL,EAAE6N,YAAYlN,QAASmN,0BAA0B9N,EAAEA,EAAE8N,yBAAgC,IAAI9N,EAAEiJ,SAASjJ,EAAE+N,WAAW/N,EAAE,IAAIgO,GAAG,KAAKC,GAAG,KAAKC,GAAG,KACpc,SAASC,GAAGnO,GAAG,GAAGA,EAAEoO,GAAGpO,GAAG,CAAC,GAAG,oBAAoBgO,GAAG,MAAMlW,MAAMiI,EAAE,MAAM,IAAIE,EAAED,EAAEqO,UAAUpO,IAAIA,EAAEqO,GAAGrO,GAAG+N,GAAGhO,EAAEqO,UAAUrO,EAAE9I,KAAK+I,KAAK,SAASsO,GAAGvO,GAAGiO,GAAGC,GAAGA,GAAG5a,KAAK0M,GAAGkO,GAAG,CAAClO,GAAGiO,GAAGjO,EAAE,SAASwO,KAAK,GAAGP,GAAG,CAAC,IAAIjO,EAAEiO,GAAGhO,EAAEiO,GAAoB,GAAjBA,GAAGD,GAAG,KAAKE,GAAGnO,GAAMC,EAAE,IAAID,EAAE,EAAEA,EAAEC,EAAE9M,OAAO6M,IAAImO,GAAGlO,EAAED,KAAK,SAASyO,GAAGzO,EAAEC,GAAG,OAAOD,EAAEC,GAAG,SAASyO,MAAM,IAAIC,IAAG,EAAG,SAASC,GAAG5O,EAAEC,EAAEC,GAAG,GAAGyO,GAAG,OAAO3O,EAAEC,EAAEC,GAAGyO,IAAG,EAAG,IAAI,OAAOF,GAAGzO,EAAEC,EAAEC,GAAlB,QAAgCyO,IAAG,GAAG,OAAOV,IAAI,OAAOC,MAAGQ,KAAKF,OAC3a,SAASK,GAAG7O,EAAEC,GAAG,IAAIC,EAAEF,EAAEqO,UAAU,GAAG,OAAOnO,EAAE,OAAO,KAAK,IAAIiB,EAAEmN,GAAGpO,GAAG,GAAG,OAAOiB,EAAE,OAAO,KAAKjB,EAAEiB,EAAElB,GAAGD,EAAE,OAAOC,GAAG,IAAK,UAAU,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,uBAAuB,IAAK,cAAc,IAAK,qBAAqB,IAAK,cAAc,IAAK,qBAAqB,IAAK,YAAY,IAAK,mBAAmB,IAAK,gBAAgBkB,GAAGA,EAAEwG,YAAqBxG,IAAI,YAAbnB,EAAEA,EAAE9I,OAAuB,UAAU8I,GAAG,WAAWA,GAAG,aAAaA,IAAIA,GAAGmB,EAAE,MAAMnB,EAAE,QAAQA,GAAE,EAAG,GAAGA,EAAE,OAAO,KAAK,GAAGE,GAAG,oBACleA,EAAE,MAAMpI,MAAMiI,EAAE,IAAIE,SAASC,IAAI,OAAOA,EAAE,IAAI4O,IAAG,EAAG,GAAGpO,EAAG,IAAI,IAAIqO,GAAG,GAAGnb,OAAO2F,eAAewV,GAAG,UAAU,CAACtV,IAAI,WAAWqV,IAAG,KAAMnO,OAAOvH,iBAAiB,OAAO2V,GAAGA,IAAIpO,OAAOrH,oBAAoB,OAAOyV,GAAGA,IAAI,MAAM/O,IAAG8O,IAAG,EAAG,SAASE,GAAGhP,EAAEC,EAAEC,EAAEiB,EAAE1D,EAAE2D,EAAEC,EAAEyD,EAAEC,GAAG,IAAIF,EAAEtR,MAAMM,UAAUoC,MAAMlC,KAAKb,UAAU,GAAG,IAAI+M,EAAEvM,MAAMwM,EAAE2E,GAAG,MAAMzN,GAAG9B,KAAK2Z,QAAQ7X,IAAI,IAAI8X,IAAG,EAAGC,GAAG,KAAKC,IAAG,EAAGC,GAAG,KAAKC,GAAG,CAACL,QAAQ,SAASjP,GAAGkP,IAAG,EAAGC,GAAGnP,IAAI,SAASuP,GAAGvP,EAAEC,EAAEC,EAAEiB,EAAE1D,EAAE2D,EAAEC,EAAEyD,EAAEC,GAAGmK,IAAG,EAAGC,GAAG,KAAKH,GAAGtb,MAAM4b,GAAGpc,WACvV,SAASsc,GAAGxP,GAAG,IAAIC,EAAED,EAAEE,EAAEF,EAAE,GAAGA,EAAEyP,UAAU,KAAKxP,EAAEyP,QAAQzP,EAAEA,EAAEyP,WAAW,CAAC1P,EAAEC,EAAE,GAAO,KAAa,MAAjBA,EAAED,GAAS5J,SAAc8J,EAAED,EAAEyP,QAAQ1P,EAAEC,EAAEyP,aAAa1P,GAAG,OAAO,IAAIC,EAAEiF,IAAIhF,EAAE,KAAK,SAASyP,GAAG3P,GAAG,GAAG,KAAKA,EAAEkF,IAAI,CAAC,IAAIjF,EAAED,EAAE4P,cAAsE,GAAxD,OAAO3P,IAAkB,QAAdD,EAAEA,EAAEyP,aAAqBxP,EAAED,EAAE4P,gBAAmB,OAAO3P,EAAE,OAAOA,EAAE4P,WAAW,OAAO,KAAK,SAASC,GAAG9P,GAAG,GAAGwP,GAAGxP,KAAKA,EAAE,MAAMlI,MAAMiI,EAAE,MAEpS,SAASgQ,GAAG/P,GAAW,OAAO,QAAfA,EADtN,SAAYA,GAAG,IAAIC,EAAED,EAAEyP,UAAU,IAAIxP,EAAE,CAAS,GAAG,QAAXA,EAAEuP,GAAGxP,IAAe,MAAMlI,MAAMiI,EAAE,MAAM,OAAOE,IAAID,EAAE,KAAKA,EAAE,IAAI,IAAIE,EAAEF,EAAEmB,EAAElB,IAAI,CAAC,IAAIxC,EAAEyC,EAAEwP,OAAO,GAAG,OAAOjS,EAAE,MAAM,IAAI2D,EAAE3D,EAAEgS,UAAU,GAAG,OAAOrO,EAAE,CAAY,GAAG,QAAdD,EAAE1D,EAAEiS,QAAmB,CAACxP,EAAEiB,EAAE,SAAS,MAAM,GAAG1D,EAAEuS,QAAQ5O,EAAE4O,MAAM,CAAC,IAAI5O,EAAE3D,EAAEuS,MAAM5O,GAAG,CAAC,GAAGA,IAAIlB,EAAE,OAAO4P,GAAGrS,GAAGuC,EAAE,GAAGoB,IAAID,EAAE,OAAO2O,GAAGrS,GAAGwC,EAAEmB,EAAEA,EAAE6O,QAAQ,MAAMnY,MAAMiI,EAAE,MAAO,GAAGG,EAAEwP,SAASvO,EAAEuO,OAAOxP,EAAEzC,EAAE0D,EAAEC,MAAM,CAAC,IAAI,IAAIC,GAAE,EAAGyD,EAAErH,EAAEuS,MAAMlL,GAAG,CAAC,GAAGA,IAAI5E,EAAE,CAACmB,GAAE,EAAGnB,EAAEzC,EAAE0D,EAAEC,EAAE,MAAM,GAAG0D,IAAI3D,EAAE,CAACE,GAAE,EAAGF,EAAE1D,EAAEyC,EAAEkB,EAAE,MAAM0D,EAAEA,EAAEmL,QAAQ,IAAI5O,EAAE,CAAC,IAAIyD,EAAE1D,EAAE4O,MAAMlL,GAAG,CAAC,GAAGA,IAC5f5E,EAAE,CAACmB,GAAE,EAAGnB,EAAEkB,EAAED,EAAE1D,EAAE,MAAM,GAAGqH,IAAI3D,EAAE,CAACE,GAAE,EAAGF,EAAEC,EAAElB,EAAEzC,EAAE,MAAMqH,EAAEA,EAAEmL,QAAQ,IAAI5O,EAAE,MAAMvJ,MAAMiI,EAAE,OAAQ,GAAGG,EAAEuP,YAAYtO,EAAE,MAAMrJ,MAAMiI,EAAE,MAAO,GAAG,IAAIG,EAAEgF,IAAI,MAAMpN,MAAMiI,EAAE,MAAM,OAAOG,EAAEmO,UAAU6B,UAAUhQ,EAAEF,EAAEC,EAAmBkQ,CAAGnQ,IAAmBoQ,GAAGpQ,GAAG,KAAK,SAASoQ,GAAGpQ,GAAG,GAAG,IAAIA,EAAEkF,KAAK,IAAIlF,EAAEkF,IAAI,OAAOlF,EAAE,IAAIA,EAAEA,EAAEgQ,MAAM,OAAOhQ,GAAG,CAAC,IAAIC,EAAEmQ,GAAGpQ,GAAG,GAAG,OAAOC,EAAE,OAAOA,EAAED,EAAEA,EAAEiQ,QAAQ,OAAO,KACtX,IAAII,GAAGvQ,EAAGwQ,0BAA0BC,GAAGzQ,EAAG0Q,wBAAwBC,GAAG3Q,EAAG4Q,qBAAqBC,GAAG7Q,EAAG8Q,sBAAsBC,GAAE/Q,EAAGgR,aAAaC,GAAGjR,EAAGkR,iCAAiCC,GAAGnR,EAAGoR,2BAA2BC,GAAGrR,EAAGsR,8BAA8BC,GAAGvR,EAAGwR,wBAAwBC,GAAGzR,EAAG0R,qBAAqBC,GAAG3R,EAAG4R,sBAAsBC,GAAG,KAAKC,GAAG,KACvV,IAAIC,GAAGC,KAAKC,MAAMD,KAAKC,MAAiC,SAAY/R,GAAU,OAAO,KAAdA,KAAK,GAAe,GAAG,IAAIgS,GAAGhS,GAAGiS,GAAG,GAAG,GAA9ED,GAAGF,KAAKI,IAAID,GAAGH,KAAKK,IAA4D,IAAIC,GAAG,GAAGC,GAAG,QAC7H,SAASC,GAAGtS,GAAG,OAAOA,GAAGA,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,OAAS,QAAFA,EAAU,KAAK,QAAQ,KAAK,QAAQ,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,OAAS,UAAFA,EAAY,KAAK,UAAU,OAAO,UAAU,KAAK,UAAU,OAAO,UAAU,KAAK,UAAU,OAAO,UAAU,KAAK,WAAW,OAAO,WACzgB,QAAQ,OAAOA,GAAG,SAASuS,GAAGvS,EAAEC,GAAG,IAAIC,EAAEF,EAAEwS,aAAa,GAAG,IAAItS,EAAE,OAAO,EAAE,IAAIiB,EAAE,EAAE1D,EAAEuC,EAAEyS,eAAerR,EAAEpB,EAAE0S,YAAYrR,EAAI,UAAFnB,EAAY,GAAG,IAAImB,EAAE,CAAC,IAAIyD,EAAEzD,GAAG5D,EAAE,IAAIqH,EAAE3D,EAAEmR,GAAGxN,GAAS,KAAL1D,GAAGC,KAAUF,EAAEmR,GAAGlR,SAAiB,KAAPC,EAAEnB,GAAGzC,GAAQ0D,EAAEmR,GAAGjR,GAAG,IAAID,IAAID,EAAEmR,GAAGlR,IAAI,GAAG,IAAID,EAAE,OAAO,EAAE,GAAG,IAAIlB,GAAGA,IAAIkB,GAAG,KAAKlB,EAAExC,MAAKA,EAAE0D,GAAGA,KAAEC,EAAEnB,GAAGA,IAAQ,KAAKxC,GAAG,KAAO,QAAF2D,IAAY,OAAOnB,EAA0C,GAAxC,KAAO,EAAFkB,KAAOA,GAAK,GAAFjB,GAA4B,KAAtBD,EAAED,EAAE2S,gBAAwB,IAAI3S,EAAEA,EAAE4S,cAAc3S,GAAGkB,EAAE,EAAElB,GAAcxC,EAAE,IAAbyC,EAAE,GAAG2R,GAAG5R,IAAUkB,GAAGnB,EAAEE,GAAGD,IAAIxC,EAAE,OAAO0D,EACtc,SAAS0R,GAAG7S,EAAEC,GAAG,OAAOD,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAOC,EAAE,IAAI,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,OAAOA,EAAE,IAAuJ,QAAQ,OAAO,GACnN,SAAS6S,GAAG9S,GAAgC,OAAO,KAApCA,GAAkB,WAAhBA,EAAEwS,cAAsCxS,EAAI,WAAFA,EAAa,WAAW,EAAE,SAAS+S,KAAK,IAAI/S,EAAEoS,GAAoC,OAA1B,KAAQ,SAAfA,KAAK,MAAqBA,GAAG,IAAWpS,EAAE,SAASgT,GAAGhT,GAAG,IAAI,IAAIC,EAAE,GAAGC,EAAE,EAAE,GAAGA,EAAEA,IAAID,EAAE3M,KAAK0M,GAAG,OAAOC,EAC1a,SAASgT,GAAGjT,EAAEC,EAAEC,GAAGF,EAAEwS,cAAcvS,EAAE,YAAYA,IAAID,EAAEyS,eAAe,EAAEzS,EAAE0S,YAAY,IAAG1S,EAAEA,EAAEkT,YAAWjT,EAAE,GAAG4R,GAAG5R,IAAQC,EACxH,SAASiT,GAAGnT,EAAEC,GAAG,IAAIC,EAAEF,EAAE2S,gBAAgB1S,EAAE,IAAID,EAAEA,EAAE4S,cAAc1S,GAAG,CAAC,IAAIiB,EAAE,GAAG0Q,GAAG3R,GAAGzC,EAAE,GAAG0D,EAAE1D,EAAEwC,EAAED,EAAEmB,GAAGlB,IAAID,EAAEmB,IAAIlB,GAAGC,IAAIzC,GAAG,IAAI2V,GAAE,EAAE,SAASC,GAAGrT,GAAS,OAAO,GAAbA,IAAIA,GAAa,EAAEA,EAAE,KAAO,UAAFA,GAAa,GAAG,UAAU,EAAE,EAAE,IAAIsT,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,IAAG,EAAGC,GAAG,GAAGC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,IAAIC,IAAIC,GAAG,IAAID,IAAIE,GAAG,GAAGC,GAAG,6PAA6PtS,MAAM,KAChiB,SAASuS,GAAGrU,EAAEC,GAAG,OAAOD,GAAG,IAAK,UAAU,IAAK,WAAW6T,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,YAAYC,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,WAAWC,GAAG,KAAK,MAAM,IAAK,cAAc,IAAK,aAAaC,GAAGM,OAAOrU,EAAEsU,WAAW,MAAM,IAAK,oBAAoB,IAAK,qBAAqBL,GAAGI,OAAOrU,EAAEsU,YACxS,SAASC,GAAGxU,EAAEC,EAAEC,EAAEiB,EAAE1D,EAAE2D,GAAG,OAAG,OAAOpB,GAAGA,EAAEyU,cAAcrT,GAASpB,EAAE,CAAC0U,UAAUzU,EAAE0U,aAAazU,EAAE0U,iBAAiBzT,EAAEsT,YAAYrT,EAAEyT,iBAAiB,CAACpX,IAAI,OAAOwC,IAAY,QAARA,EAAEmO,GAAGnO,KAAasT,GAAGtT,IAAID,IAAEA,EAAE4U,kBAAkBzT,EAAElB,EAAED,EAAE6U,iBAAiB,OAAOpX,IAAI,IAAIwC,EAAEkM,QAAQ1O,IAAIwC,EAAE3M,KAAKmK,GAAUuC,GAEnR,SAAS8U,GAAG9U,GAAG,IAAIC,EAAE8U,GAAG/U,EAAExL,QAAQ,GAAG,OAAOyL,EAAE,CAAC,IAAIC,EAAEsP,GAAGvP,GAAG,GAAG,OAAOC,EAAE,GAAW,MAARD,EAAEC,EAAEgF,MAAY,GAAW,QAARjF,EAAE0P,GAAGzP,IAA4D,OAA/CF,EAAE0U,UAAUzU,OAAEyT,GAAG1T,EAAEgV,UAAS,WAAWxB,GAAGtT,WAAkB,GAAG,IAAID,GAAGC,EAAEmO,UAAU6B,QAAQN,cAAcqF,aAAmE,YAArDjV,EAAE0U,UAAU,IAAIxU,EAAEgF,IAAIhF,EAAEmO,UAAU6G,cAAc,MAAalV,EAAE0U,UAAU,KAC9S,SAASS,GAAGnV,GAAG,GAAG,OAAOA,EAAE0U,UAAU,OAAM,EAAG,IAAI,IAAIzU,EAAED,EAAE6U,iBAAiB,EAAE5U,EAAE9M,QAAQ,CAAC,IAAI+M,EAAEkV,GAAGpV,EAAE2U,aAAa3U,EAAE4U,iBAAiB3U,EAAE,GAAGD,EAAEyU,aAAa,GAAG,OAAOvU,EAAiG,OAAe,QAARD,EAAEmO,GAAGlO,KAAaqT,GAAGtT,GAAGD,EAAE0U,UAAUxU,GAAE,EAA3H,IAAIiB,EAAE,IAAtBjB,EAAEF,EAAEyU,aAAwB3O,YAAY5F,EAAEhJ,KAAKgJ,GAAGyN,GAAGxM,EAAEjB,EAAE1L,OAAO6gB,cAAclU,GAAGwM,GAAG,KAA0D1N,EAAErF,QAAQ,OAAM,EAAG,SAAS0a,GAAGtV,EAAEC,EAAEC,GAAGiV,GAAGnV,IAAIE,EAAEoU,OAAOrU,GAAG,SAASsV,KAAK5B,IAAG,EAAG,OAAOE,IAAIsB,GAAGtB,MAAMA,GAAG,MAAM,OAAOC,IAAIqB,GAAGrB,MAAMA,GAAG,MAAM,OAAOC,IAAIoB,GAAGpB,MAAMA,GAAG,MAAMC,GAAGjS,QAAQuT,IAAIpB,GAAGnS,QAAQuT,IAChf,SAASE,GAAGxV,EAAEC,GAAGD,EAAE0U,YAAYzU,IAAID,EAAE0U,UAAU,KAAKf,KAAKA,IAAG,EAAG7T,EAAGwQ,0BAA0BxQ,EAAGwR,wBAAwBiE,MACvH,SAASE,GAAGzV,GAAG,SAASC,EAAEA,GAAG,OAAOuV,GAAGvV,EAAED,GAAG,GAAG,EAAE4T,GAAGzgB,OAAO,CAACqiB,GAAG5B,GAAG,GAAG5T,GAAG,IAAI,IAAIE,EAAE,EAAEA,EAAE0T,GAAGzgB,OAAO+M,IAAI,CAAC,IAAIiB,EAAEyS,GAAG1T,GAAGiB,EAAEuT,YAAY1U,IAAImB,EAAEuT,UAAU,OAA+F,IAAxF,OAAOb,IAAI2B,GAAG3B,GAAG7T,GAAG,OAAO8T,IAAI0B,GAAG1B,GAAG9T,GAAG,OAAO+T,IAAIyB,GAAGzB,GAAG/T,GAAGgU,GAAGjS,QAAQ9B,GAAGiU,GAAGnS,QAAQ9B,GAAOC,EAAE,EAAEA,EAAEiU,GAAGhhB,OAAO+M,KAAIiB,EAAEgT,GAAGjU,IAAKwU,YAAY1U,IAAImB,EAAEuT,UAAU,MAAM,KAAK,EAAEP,GAAGhhB,QAAiB,QAAR+M,EAAEiU,GAAG,IAAYO,WAAYI,GAAG5U,GAAG,OAAOA,EAAEwU,WAAWP,GAAGvZ,QAAQ,IAAI8a,GAAG5S,EAAG6S,wBAAwBC,IAAG,EAC5a,SAASC,GAAG7V,EAAEC,EAAEC,EAAEiB,GAAG,IAAI1D,EAAE2V,GAAEhS,EAAEsU,GAAGI,WAAWJ,GAAGI,WAAW,KAAK,IAAI1C,GAAE,EAAE2C,GAAG/V,EAAEC,EAAEC,EAAEiB,GAAjB,QAA4BiS,GAAE3V,EAAEiY,GAAGI,WAAW1U,GAAG,SAAS4U,GAAGhW,EAAEC,EAAEC,EAAEiB,GAAG,IAAI1D,EAAE2V,GAAEhS,EAAEsU,GAAGI,WAAWJ,GAAGI,WAAW,KAAK,IAAI1C,GAAE,EAAE2C,GAAG/V,EAAEC,EAAEC,EAAEiB,GAAjB,QAA4BiS,GAAE3V,EAAEiY,GAAGI,WAAW1U,GAC/N,SAAS2U,GAAG/V,EAAEC,EAAEC,EAAEiB,GAAG,GAAGyU,GAAG,CAAC,IAAInY,EAAE2X,GAAGpV,EAAEC,EAAEC,EAAEiB,GAAG,GAAG,OAAO1D,EAAEwY,GAAGjW,EAAEC,EAAEkB,EAAE+U,GAAGhW,GAAGmU,GAAGrU,EAAEmB,QAAQ,GANtF,SAAYnB,EAAEC,EAAEC,EAAEiB,EAAE1D,GAAG,OAAOwC,GAAG,IAAK,UAAU,OAAO4T,GAAGW,GAAGX,GAAG7T,EAAEC,EAAEC,EAAEiB,EAAE1D,IAAG,EAAG,IAAK,YAAY,OAAOqW,GAAGU,GAAGV,GAAG9T,EAAEC,EAAEC,EAAEiB,EAAE1D,IAAG,EAAG,IAAK,YAAY,OAAOsW,GAAGS,GAAGT,GAAG/T,EAAEC,EAAEC,EAAEiB,EAAE1D,IAAG,EAAG,IAAK,cAAc,IAAI2D,EAAE3D,EAAE8W,UAAkD,OAAxCP,GAAGta,IAAI0H,EAAEoT,GAAGR,GAAGva,IAAI2H,IAAI,KAAKpB,EAAEC,EAAEC,EAAEiB,EAAE1D,KAAU,EAAG,IAAK,oBAAoB,OAAO2D,EAAE3D,EAAE8W,UAAUL,GAAGxa,IAAI0H,EAAEoT,GAAGN,GAAGza,IAAI2H,IAAI,KAAKpB,EAAEC,EAAEC,EAAEiB,EAAE1D,KAAI,EAAG,OAAM,EAMxQ0Y,CAAG1Y,EAAEuC,EAAEC,EAAEC,EAAEiB,GAAGA,EAAEiV,uBAAuB,GAAG/B,GAAGrU,EAAEmB,GAAK,EAAFlB,IAAM,EAAEmU,GAAGjI,QAAQnM,GAAG,CAAC,KAAK,OAAOvC,GAAG,CAAC,IAAI2D,EAAEgN,GAAG3Q,GAA0D,GAAvD,OAAO2D,GAAGkS,GAAGlS,GAAiB,QAAdA,EAAEgU,GAAGpV,EAAEC,EAAEC,EAAEiB,KAAa8U,GAAGjW,EAAEC,EAAEkB,EAAE+U,GAAGhW,GAAMkB,IAAI3D,EAAE,MAAMA,EAAE2D,EAAE,OAAO3D,GAAG0D,EAAEiV,uBAAuBH,GAAGjW,EAAEC,EAAEkB,EAAE,KAAKjB,IAAI,IAAIgW,GAAG,KACpU,SAASd,GAAGpV,EAAEC,EAAEC,EAAEiB,GAA2B,GAAxB+U,GAAG,KAAwB,QAAXlW,EAAE+U,GAAV/U,EAAE4N,GAAGzM,KAAuB,GAAW,QAARlB,EAAEuP,GAAGxP,IAAYA,EAAE,UAAU,GAAW,MAARE,EAAED,EAAEiF,KAAW,CAAS,GAAG,QAAXlF,EAAE2P,GAAG1P,IAAe,OAAOD,EAAEA,EAAE,UAAU,GAAG,IAAIE,EAAE,CAAC,GAAGD,EAAEoO,UAAU6B,QAAQN,cAAcqF,aAAa,OAAO,IAAIhV,EAAEiF,IAAIjF,EAAEoO,UAAU6G,cAAc,KAAKlV,EAAE,UAAUC,IAAID,IAAIA,EAAE,MAAW,OAALkW,GAAGlW,EAAS,KACzS,SAASqW,GAAGrW,GAAG,OAAOA,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,QAAQ,IAAK,cAAc,IAAK,OAAO,IAAK,MAAM,IAAK,WAAW,IAAK,WAAW,IAAK,UAAU,IAAK,YAAY,IAAK,OAAO,IAAK,UAAU,IAAK,WAAW,IAAK,QAAQ,IAAK,UAAU,IAAK,UAAU,IAAK,WAAW,IAAK,QAAQ,IAAK,YAAY,IAAK,UAAU,IAAK,QAAQ,IAAK,QAAQ,IAAK,OAAO,IAAK,gBAAgB,IAAK,cAAc,IAAK,YAAY,IAAK,aAAa,IAAK,QAAQ,IAAK,SAAS,IAAK,SAAS,IAAK,SAAS,IAAK,cAAc,IAAK,WAAW,IAAK,aAAa,IAAK,eAAe,IAAK,SAAS,IAAK,kBAAkB,IAAK,YAAY,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,oBAAoB,IAAK,aAAa,IAAK,YAAY,IAAK,cAAc,IAAK,OAAO,IAAK,mBAAmB,IAAK,QAAQ,IAAK,aAAa,IAAK,WAAW,IAAK,SAAS,IAAK,cAAc,OAAO,EAAE,IAAK,OAAO,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,SAAS,IAAK,SAAS,IAAK,YAAY,IAAK,QAAQ,IAAK,aAAa,IAAK,aAAa,IAAK,eAAe,IAAK,eAAe,OAAO,EACpqC,IAAK,UAAU,OAAO+Q,MAAM,KAAKE,GAAG,OAAO,EAAE,KAAKE,GAAG,OAAO,EAAE,KAAKE,GAAG,KAAKE,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,UAAU,QAAQ,OAAO,GAAG,QAAQ,OAAO,IAAI,IAAI6E,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAASC,KAAK,GAAGD,GAAG,OAAOA,GAAG,IAAIxW,EAAkBmB,EAAhBlB,EAAEsW,GAAGrW,EAAED,EAAE9M,OAASsK,EAAE,UAAU6Y,GAAGA,GAAGnhB,MAAMmhB,GAAGpO,YAAY9G,EAAE3D,EAAEtK,OAAO,IAAI6M,EAAE,EAAEA,EAAEE,GAAGD,EAAED,KAAKvC,EAAEuC,GAAGA,KAAK,IAAIqB,EAAEnB,EAAEF,EAAE,IAAImB,EAAE,EAAEA,GAAGE,GAAGpB,EAAEC,EAAEiB,KAAK1D,EAAE2D,EAAED,GAAGA,KAAK,OAAOqV,GAAG/Y,EAAExH,MAAM+J,EAAE,EAAEmB,EAAE,EAAEA,OAAE,GACjY,SAASuV,GAAG1W,GAAG,IAAIC,EAAED,EAAE2W,QAA+E,MAAvE,aAAa3W,EAAgB,KAAbA,EAAEA,EAAE4W,WAAgB,KAAK3W,IAAID,EAAE,IAAKA,EAAEC,EAAE,KAAKD,IAAIA,EAAE,IAAW,IAAIA,GAAG,KAAKA,EAAEA,EAAE,EAAE,SAAS6W,KAAK,OAAM,EAAG,SAASC,KAAK,OAAM,EAC1K,SAASC,GAAG/W,GAAG,SAASC,EAAEA,EAAEkB,EAAE1D,EAAE2D,EAAEC,GAA6G,IAAI,IAAInB,KAAlH5K,KAAK0hB,WAAW/W,EAAE3K,KAAK2hB,YAAYxZ,EAAEnI,KAAK4B,KAAKiK,EAAE7L,KAAKmf,YAAYrT,EAAE9L,KAAKd,OAAO6M,EAAE/L,KAAK4hB,cAAc,KAAkBlX,EAAEA,EAAElN,eAAeoN,KAAKD,EAAED,EAAEE,GAAG5K,KAAK4K,GAAGD,EAAEA,EAAEmB,GAAGA,EAAElB,IAAgI,OAA5H5K,KAAK6hB,oBAAoB,MAAM/V,EAAEgW,iBAAiBhW,EAAEgW,kBAAiB,IAAKhW,EAAEiW,aAAaR,GAAGC,GAAGxhB,KAAKgiB,qBAAqBR,GAAUxhB,KAC1E,OAD+E6O,EAAElE,EAAEpM,UAAU,CAAC0jB,eAAe,WAAWjiB,KAAK8hB,kBAAiB,EAAG,IAAIpX,EAAE1K,KAAKmf,YAAYzU,IAAIA,EAAEuX,eAAevX,EAAEuX,iBAAiB,mBAAmBvX,EAAEqX,cAC7erX,EAAEqX,aAAY,GAAI/hB,KAAK6hB,mBAAmBN,KAAKT,gBAAgB,WAAW,IAAIpW,EAAE1K,KAAKmf,YAAYzU,IAAIA,EAAEoW,gBAAgBpW,EAAEoW,kBAAkB,mBAAmBpW,EAAEwX,eAAexX,EAAEwX,cAAa,GAAIliB,KAAKgiB,qBAAqBT,KAAKY,QAAQ,aAAaC,aAAab,KAAY5W,EAChR,IAAoL0X,GAAGC,GAAGC,GAAtLC,GAAG,CAACC,WAAW,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,UAAU,SAASlY,GAAG,OAAOA,EAAEkY,WAAWC,KAAKC,OAAOhB,iBAAiB,EAAEiB,UAAU,GAAGC,GAAGvB,GAAGe,IAAIS,GAAGpU,EAAE,GAAG2T,GAAG,CAACU,KAAK,EAAEC,OAAO,IAAIC,GAAG3B,GAAGwB,IAAaI,GAAGxU,EAAE,GAAGoU,GAAG,CAACK,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,iBAAiBC,GAAGC,OAAO,EAAEC,QAAQ,EAAEC,cAAc,SAAS1Z,GAAG,YAAO,IAASA,EAAE0Z,cAAc1Z,EAAE2Z,cAAc3Z,EAAE6N,WAAW7N,EAAE4Z,UAAU5Z,EAAE2Z,YAAY3Z,EAAE0Z,eAAeG,UAAU,SAAS7Z,GAAG,MAAG,cAC3eA,EAASA,EAAE6Z,WAAU7Z,IAAI6X,KAAKA,IAAI,cAAc7X,EAAE9I,MAAMygB,GAAG3X,EAAE4Y,QAAQf,GAAGe,QAAQhB,GAAG5X,EAAE6Y,QAAQhB,GAAGgB,SAASjB,GAAGD,GAAG,EAAEE,GAAG7X,GAAU2X,KAAImC,UAAU,SAAS9Z,GAAG,MAAM,cAAcA,EAAEA,EAAE8Z,UAAUlC,MAAMmC,GAAGhD,GAAG4B,IAAiCqB,GAAGjD,GAA7B5S,EAAE,GAAGwU,GAAG,CAACsB,aAAa,KAA4CC,GAAGnD,GAA9B5S,EAAE,GAAGoU,GAAG,CAACmB,cAAc,KAA0ES,GAAGpD,GAA5D5S,EAAE,GAAG2T,GAAG,CAACsC,cAAc,EAAEC,YAAY,EAAEC,cAAc,KAAcC,GAAGpW,EAAE,GAAG2T,GAAG,CAAC0C,cAAc,SAASxa,GAAG,MAAM,kBAAkBA,EAAEA,EAAEwa,cAAc7Z,OAAO6Z,iBAAiBC,GAAG1D,GAAGwD,IAAyBG,GAAG3D,GAArB5S,EAAE,GAAG2T,GAAG,CAAC6C,KAAK,KAAcC,GAAG,CAACC,IAAI,SACxfC,SAAS,IAAIC,KAAK,YAAYC,GAAG,UAAUC,MAAM,aAAaC,KAAK,YAAYC,IAAI,SAASC,IAAI,KAAKC,KAAK,cAAcC,KAAK,cAAcC,OAAO,aAAaC,gBAAgB,gBAAgBC,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KACtf,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,UAAU,IAAI,aAAa,IAAI,QAAQC,GAAG,CAACC,IAAI,SAASC,QAAQ,UAAUC,KAAK,UAAUC,MAAM,YAAY,SAASC,GAAG/b,GAAG,IAAIC,EAAE3K,KAAKmf,YAAY,OAAOxU,EAAEqZ,iBAAiBrZ,EAAEqZ,iBAAiBtZ,MAAIA,EAAE0b,GAAG1b,OAAMC,EAAED,GAAM,SAASuZ,KAAK,OAAOwC,GAC9R,IAAIC,GAAG7X,EAAE,GAAGoU,GAAG,CAACzkB,IAAI,SAASkM,GAAG,GAAGA,EAAElM,IAAI,CAAC,IAAImM,EAAE2a,GAAG5a,EAAElM,MAAMkM,EAAElM,IAAI,GAAG,iBAAiBmM,EAAE,OAAOA,EAAE,MAAM,aAAaD,EAAE9I,KAAc,MAAR8I,EAAE0W,GAAG1W,IAAU,QAAQjI,OAAOkkB,aAAajc,GAAI,YAAYA,EAAE9I,MAAM,UAAU8I,EAAE9I,KAAKukB,GAAGzb,EAAE2W,UAAU,eAAe,IAAIuF,KAAK,EAAEhe,SAAS,EAAEgb,QAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,EAAE8C,OAAO,EAAEC,OAAO,EAAE9C,iBAAiBC,GAAG3C,SAAS,SAAS5W,GAAG,MAAM,aAAaA,EAAE9I,KAAKwf,GAAG1W,GAAG,GAAG2W,QAAQ,SAAS3W,GAAG,MAAM,YAAYA,EAAE9I,MAAM,UAAU8I,EAAE9I,KAAK8I,EAAE2W,QAAQ,GAAG0F,MAAM,SAASrc,GAAG,MAAM,aAC7eA,EAAE9I,KAAKwf,GAAG1W,GAAG,YAAYA,EAAE9I,MAAM,UAAU8I,EAAE9I,KAAK8I,EAAE2W,QAAQ,KAAK2F,GAAGvF,GAAGiF,IAAiIO,GAAGxF,GAA7H5S,EAAE,GAAGwU,GAAG,CAACpE,UAAU,EAAEiI,MAAM,EAAEC,OAAO,EAAEC,SAAS,EAAEC,mBAAmB,EAAEC,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,YAAY,EAAEC,UAAU,KAAmIC,GAAGlG,GAArH5S,EAAE,GAAGoU,GAAG,CAAC2E,QAAQ,EAAEC,cAAc,EAAEC,eAAe,EAAEhE,OAAO,EAAEC,QAAQ,EAAEH,QAAQ,EAAEC,SAAS,EAAEG,iBAAiBC,MAA0E8D,GAAGtG,GAA3D5S,EAAE,GAAG2T,GAAG,CAACpW,aAAa,EAAE2Y,YAAY,EAAEC,cAAc,KAAcgD,GAAGnZ,EAAE,GAAGwU,GAAG,CAAC4E,OAAO,SAASvd,GAAG,MAAM,WAAWA,EAAEA,EAAEud,OAAO,gBAAgBvd,GAAGA,EAAEwd,YAAY,GAClfC,OAAO,SAASzd,GAAG,MAAM,WAAWA,EAAEA,EAAEyd,OAAO,gBAAgBzd,GAAGA,EAAE0d,YAAY,eAAe1d,GAAGA,EAAE2d,WAAW,GAAGC,OAAO,EAAEC,UAAU,IAAIC,GAAG/G,GAAGuG,IAAIS,GAAG,CAAC,EAAE,GAAG,GAAG,IAAIC,GAAGtd,GAAI,qBAAqBC,OAAOsd,GAAG,KAAKvd,GAAI,iBAAiBE,WAAWqd,GAAGrd,SAASsd,cAAc,IAAIC,GAAGzd,GAAI,cAAcC,SAASsd,GAAGG,GAAG1d,KAAMsd,IAAIC,IAAI,EAAEA,IAAI,IAAIA,IAAII,GAAGtmB,OAAOkkB,aAAa,IAAIqC,IAAG,EAC1W,SAASC,GAAGve,EAAEC,GAAG,OAAOD,GAAG,IAAK,QAAQ,OAAO,IAAI+d,GAAG5R,QAAQlM,EAAE0W,SAAS,IAAK,UAAU,OAAO,MAAM1W,EAAE0W,QAAQ,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,OAAM,EAAG,QAAQ,OAAM,GAAI,SAAS6H,GAAGxe,GAAc,MAAM,kBAAjBA,EAAEA,EAAEyY,SAAkC,SAASzY,EAAEA,EAAE2a,KAAK,KAAK,IAAI8D,IAAG,EAE9Q,IAAIC,GAAG,CAACC,OAAM,EAAGC,MAAK,EAAGC,UAAS,EAAG,kBAAiB,EAAGC,OAAM,EAAGC,OAAM,EAAGngB,QAAO,EAAGogB,UAAS,EAAGC,OAAM,EAAGC,QAAO,EAAGC,KAAI,EAAGC,MAAK,EAAGC,MAAK,EAAGC,KAAI,EAAGC,MAAK,GAAI,SAASC,GAAGxf,GAAG,IAAIC,EAAED,GAAGA,EAAE2F,UAAU3F,EAAE2F,SAAS3D,cAAc,MAAM,UAAU/B,IAAIye,GAAG1e,EAAE9I,MAAM,aAAa+I,EAAQ,SAASwf,GAAGzf,EAAEC,EAAEC,EAAEiB,GAAGoN,GAAGpN,GAAsB,GAAnBlB,EAAEyf,GAAGzf,EAAE,aAAgB9M,SAAS+M,EAAE,IAAIoY,GAAG,WAAW,SAAS,KAAKpY,EAAEiB,GAAGnB,EAAE1M,KAAK,CAACqsB,MAAMzf,EAAE7F,UAAU4F,KAAK,IAAI2f,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAG9f,GAAG+f,GAAG/f,EAAE,GAAG,SAASggB,GAAGhgB,GAAe,GAAGoG,EAAT6Z,GAAGjgB,IAAY,OAAOA,EACne,SAASkgB,GAAGlgB,EAAEC,GAAG,GAAG,WAAWD,EAAE,OAAOC,EAAE,IAAIkgB,IAAG,EAAG,GAAGzf,EAAG,CAAC,IAAI0f,GAAG,GAAG1f,EAAG,CAAC,IAAI2f,GAAG,YAAYzf,SAAS,IAAIyf,GAAG,CAAC,IAAIC,GAAG1f,SAASC,cAAc,OAAOyf,GAAG5d,aAAa,UAAU,WAAW2d,GAAG,oBAAoBC,GAAGC,QAAQH,GAAGC,QAAQD,IAAG,EAAGD,GAAGC,MAAMxf,SAASsd,cAAc,EAAEtd,SAASsd,cAAc,SAASsC,KAAKZ,KAAKA,GAAGa,YAAY,mBAAmBC,IAAIb,GAAGD,GAAG,MAAM,SAASc,GAAG1gB,GAAG,GAAG,UAAUA,EAAE0B,cAAcse,GAAGH,IAAI,CAAC,IAAI5f,EAAE,GAAGwf,GAAGxf,EAAE4f,GAAG7f,EAAE4N,GAAG5N,IAAI4O,GAAGkR,GAAG7f,IAC5b,SAAS0gB,GAAG3gB,EAAEC,EAAEC,GAAG,YAAYF,GAAGwgB,KAAUX,GAAG3f,GAAR0f,GAAG3f,GAAU2gB,YAAY,mBAAmBF,KAAK,aAAa1gB,GAAGwgB,KAAK,SAASK,GAAG7gB,GAAG,GAAG,oBAAoBA,GAAG,UAAUA,GAAG,YAAYA,EAAE,OAAOggB,GAAGH,IAAI,SAASiB,GAAG9gB,EAAEC,GAAG,GAAG,UAAUD,EAAE,OAAOggB,GAAG/f,GAAG,SAAS8gB,GAAG/gB,EAAEC,GAAG,GAAG,UAAUD,GAAG,WAAWA,EAAE,OAAOggB,GAAG/f,GAAmE,IAAI+gB,GAAG,oBAAoBptB,OAAO8Z,GAAG9Z,OAAO8Z,GAA5G,SAAY1N,EAAEC,GAAG,OAAOD,IAAIC,IAAI,IAAID,GAAG,EAAEA,IAAI,EAAEC,IAAID,IAAIA,GAAGC,IAAIA,GACrW,SAASghB,GAAGjhB,EAAEC,GAAG,GAAG+gB,GAAGhhB,EAAEC,GAAG,OAAM,EAAG,GAAG,kBAAkBD,GAAG,OAAOA,GAAG,kBAAkBC,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAIC,EAAEtM,OAAOsH,KAAK8E,GAAGmB,EAAEvN,OAAOsH,KAAK+E,GAAG,GAAGC,EAAE/M,SAASgO,EAAEhO,OAAO,OAAM,EAAG,IAAIgO,EAAE,EAAEA,EAAEjB,EAAE/M,OAAOgO,IAAI,CAAC,IAAI1D,EAAEyC,EAAEiB,GAAG,IAAIL,EAAG/M,KAAKkM,EAAExC,KAAKujB,GAAGhhB,EAAEvC,GAAGwC,EAAExC,IAAI,OAAM,EAAG,OAAM,EAAG,SAASyjB,GAAGlhB,GAAG,KAAKA,GAAGA,EAAE0I,YAAY1I,EAAEA,EAAE0I,WAAW,OAAO1I,EACrU,SAASmhB,GAAGnhB,EAAEC,GAAG,IAAwBkB,EAApBjB,EAAEghB,GAAGlhB,GAAO,IAAJA,EAAE,EAAYE,GAAG,CAAC,GAAG,IAAIA,EAAE+I,SAAS,CAA0B,GAAzB9H,EAAEnB,EAAEE,EAAEgI,YAAY/U,OAAU6M,GAAGC,GAAGkB,GAAGlB,EAAE,MAAM,CAACZ,KAAKa,EAAEkhB,OAAOnhB,EAAED,GAAGA,EAAEmB,EAAEnB,EAAE,CAAC,KAAKE,GAAG,CAAC,GAAGA,EAAEmhB,YAAY,CAACnhB,EAAEA,EAAEmhB,YAAY,MAAMrhB,EAAEE,EAAEA,EAAE6N,WAAW7N,OAAE,EAAOA,EAAEghB,GAAGhhB,IAAI,SAASohB,GAAGthB,EAAEC,GAAG,SAAOD,IAAGC,KAAED,IAAIC,KAAKD,GAAG,IAAIA,EAAEiJ,YAAYhJ,GAAG,IAAIA,EAAEgJ,SAASqY,GAAGthB,EAAEC,EAAE8N,YAAY,aAAa/N,EAAEA,EAAEuhB,SAASthB,KAAGD,EAAEwhB,4BAAwD,GAA7BxhB,EAAEwhB,wBAAwBvhB,MAClZ,SAASwhB,KAAK,IAAI,IAAIzhB,EAAEW,OAAOV,EAAEqG,IAAKrG,aAAaD,EAAE0hB,mBAAmB,CAAC,IAAI,IAAIxhB,EAAE,kBAAkBD,EAAE0hB,cAAczjB,SAAS0jB,KAAK,MAAMzgB,GAAGjB,GAAE,EAAG,IAAGA,EAAyB,MAAMD,EAAEqG,GAA/BtG,EAAEC,EAAE0hB,eAAgC/gB,UAAU,OAAOX,EAAE,SAAS4hB,GAAG7hB,GAAG,IAAIC,EAAED,GAAGA,EAAE2F,UAAU3F,EAAE2F,SAAS3D,cAAc,OAAO/B,IAAI,UAAUA,IAAI,SAASD,EAAE9I,MAAM,WAAW8I,EAAE9I,MAAM,QAAQ8I,EAAE9I,MAAM,QAAQ8I,EAAE9I,MAAM,aAAa8I,EAAE9I,OAAO,aAAa+I,GAAG,SAASD,EAAE8hB,iBACxZ,SAASC,GAAG/hB,GAAG,IAAIC,EAAEwhB,KAAKvhB,EAAEF,EAAEgiB,YAAY7gB,EAAEnB,EAAEiiB,eAAe,GAAGhiB,IAAIC,GAAGA,GAAGA,EAAEmH,eAAeia,GAAGphB,EAAEmH,cAAc6a,gBAAgBhiB,GAAG,CAAC,GAAG,OAAOiB,GAAG0gB,GAAG3hB,GAAG,GAAGD,EAAEkB,EAAEghB,WAAc,KAARniB,EAAEmB,EAAEihB,OAAiBpiB,EAAEC,GAAG,mBAAmBC,EAAEA,EAAEmiB,eAAepiB,EAAEC,EAAEoiB,aAAaxQ,KAAKyQ,IAAIviB,EAAEE,EAAE/K,MAAMhC,aAAa,IAAG6M,GAAGC,EAAEC,EAAEmH,eAAezG,WAAWX,EAAEuiB,aAAa7hB,QAAS8hB,aAAa,CAACziB,EAAEA,EAAEyiB,eAAe,IAAIhlB,EAAEyC,EAAEgI,YAAY/U,OAAOiO,EAAE0Q,KAAKyQ,IAAIphB,EAAEghB,MAAM1kB,GAAG0D,OAAE,IAASA,EAAEihB,IAAIhhB,EAAE0Q,KAAKyQ,IAAIphB,EAAEihB,IAAI3kB,IAAIuC,EAAE0iB,QAAQthB,EAAED,IAAI1D,EAAE0D,EAAEA,EAAEC,EAAEA,EAAE3D,GAAGA,EAAE0jB,GAAGjhB,EAAEkB,GAAG,IAAIC,EAAE8f,GAAGjhB,EACvfiB,GAAG1D,GAAG4D,IAAI,IAAIrB,EAAE2iB,YAAY3iB,EAAE4iB,aAAanlB,EAAE4B,MAAMW,EAAE6iB,eAAeplB,EAAE2jB,QAAQphB,EAAE8iB,YAAYzhB,EAAEhC,MAAMW,EAAE+iB,cAAc1hB,EAAE+f,WAAUnhB,EAAEA,EAAE+iB,eAAgBC,SAASxlB,EAAE4B,KAAK5B,EAAE2jB,QAAQphB,EAAEkjB,kBAAkB9hB,EAAED,GAAGnB,EAAEmjB,SAASljB,GAAGD,EAAE0iB,OAAOrhB,EAAEhC,KAAKgC,EAAE+f,UAAUnhB,EAAEmjB,OAAO/hB,EAAEhC,KAAKgC,EAAE+f,QAAQphB,EAAEmjB,SAASljB,KAAU,IAALA,EAAE,GAAOD,EAAEE,EAAEF,EAAEA,EAAE+N,YAAY,IAAI/N,EAAEiJ,UAAUhJ,EAAE3M,KAAK,CAAC4L,QAAQc,EAAEqjB,KAAKrjB,EAAEsjB,WAAWC,IAAIvjB,EAAEwjB,YAAmD,IAAvC,oBAAoBtjB,EAAEujB,OAAOvjB,EAAEujB,QAAYvjB,EAAE,EAAEA,EAAED,EAAE9M,OAAO+M,KAAIF,EAAEC,EAAEC,IAAKhB,QAAQokB,WAAWtjB,EAAEqjB,KAAKrjB,EAAEd,QAAQskB,UAAUxjB,EAAEujB,KACrf,IAAIG,GAAGhjB,GAAI,iBAAiBE,UAAU,IAAIA,SAASsd,aAAayF,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,IAAG,EAC3F,SAASC,GAAG/jB,EAAEC,EAAEC,GAAG,IAAIiB,EAAEjB,EAAES,SAAST,EAAEA,EAAEU,SAAS,IAAIV,EAAE+I,SAAS/I,EAAEA,EAAEmH,cAAcyc,IAAI,MAAMH,IAAIA,KAAKrd,EAAGnF,KAAU,mBAALA,EAAEwiB,KAAyB9B,GAAG1gB,GAAGA,EAAE,CAACghB,MAAMhhB,EAAEkhB,eAAeD,IAAIjhB,EAAEmhB,cAAuFnhB,EAAE,CAACyhB,YAA3EzhB,GAAGA,EAAEkG,eAAelG,EAAEkG,cAAcmb,aAAa7hB,QAAQ8hB,gBAA+BG,WAAWC,aAAa1hB,EAAE0hB,aAAaC,UAAU3hB,EAAE2hB,UAAUC,YAAY5hB,EAAE4hB,aAAcc,IAAI5C,GAAG4C,GAAG1iB,KAAK0iB,GAAG1iB,EAAsB,GAApBA,EAAEue,GAAGkE,GAAG,aAAgBzwB,SAAS8M,EAAE,IAAIqY,GAAG,WAAW,SAAS,KAAKrY,EAAEC,GAAGF,EAAE1M,KAAK,CAACqsB,MAAM1f,EAAE5F,UAAU8G,IAAIlB,EAAEzL,OAAOmvB,MACjf,SAASK,GAAGhkB,EAAEC,GAAG,IAAIC,EAAE,GAAkF,OAA/EA,EAAEF,EAAEgC,eAAe/B,EAAE+B,cAAc9B,EAAE,SAASF,GAAG,SAASC,EAAEC,EAAE,MAAMF,GAAG,MAAMC,EAASC,EAAE,IAAI+jB,GAAG,CAACC,aAAaF,GAAG,YAAY,gBAAgBG,mBAAmBH,GAAG,YAAY,sBAAsBI,eAAeJ,GAAG,YAAY,kBAAkBK,cAAcL,GAAG,aAAa,kBAAkBM,GAAG,GAAGC,GAAG,GACnF,SAASC,GAAGxkB,GAAG,GAAGskB,GAAGtkB,GAAG,OAAOskB,GAAGtkB,GAAG,IAAIikB,GAAGjkB,GAAG,OAAOA,EAAE,IAAYE,EAARD,EAAEgkB,GAAGjkB,GAAK,IAAIE,KAAKD,EAAE,GAAGA,EAAEnN,eAAeoN,IAAIA,KAAKqkB,GAAG,OAAOD,GAAGtkB,GAAGC,EAAEC,GAAG,OAAOF,EAA9XU,IAAK6jB,GAAG3jB,SAASC,cAAc,OAAOqL,MAAM,mBAAmBvL,gBAAgBsjB,GAAGC,aAAaO,iBAAiBR,GAAGE,mBAAmBM,iBAAiBR,GAAGG,eAAeK,WAAW,oBAAoB9jB,eAAesjB,GAAGI,cAAcvO,YAAwJ,IAAI4O,GAAGF,GAAG,gBAAgBG,GAAGH,GAAG,sBAAsBI,GAAGJ,GAAG,kBAAkBK,GAAGL,GAAG,iBAAiBM,GAAG,IAAI7Q,IAAI8Q,GAAG,smBAAsmBjjB,MAAM,KAC/lC,SAASkjB,GAAGhlB,EAAEC,GAAG6kB,GAAGprB,IAAIsG,EAAEC,GAAGM,EAAGN,EAAE,CAACD,IAAI,IAAI,IAAIilB,GAAG,EAAEA,GAAGF,GAAG5xB,OAAO8xB,KAAK,CAAC,IAAIC,GAAGH,GAAGE,IAA2DD,GAApDE,GAAGljB,cAAuD,MAAtCkjB,GAAG,GAAG/iB,cAAc+iB,GAAGjvB,MAAM,KAAkB+uB,GAAGN,GAAG,kBAAkBM,GAAGL,GAAG,wBAAwBK,GAAGJ,GAAG,oBAAoBI,GAAG,WAAW,iBAAiBA,GAAG,UAAU,WAAWA,GAAG,WAAW,UAAUA,GAAGH,GAAG,mBAAmBrkB,EAAG,eAAe,CAAC,WAAW,cAAcA,EAAG,eAAe,CAAC,WAAW,cAAcA,EAAG,iBAAiB,CAAC,aAAa,gBAC7cA,EAAG,iBAAiB,CAAC,aAAa,gBAAgBD,EAAG,WAAW,oEAAoEuB,MAAM,MAAMvB,EAAG,WAAW,uFAAuFuB,MAAM,MAAMvB,EAAG,gBAAgB,CAAC,iBAAiB,WAAW,YAAY,UAAUA,EAAG,mBAAmB,2DAA2DuB,MAAM,MAAMvB,EAAG,qBAAqB,6DAA6DuB,MAAM,MAC/fvB,EAAG,sBAAsB,8DAA8DuB,MAAM,MAAM,IAAIqjB,GAAG,6NAA6NrjB,MAAM,KAAKsjB,GAAG,IAAI/kB,IAAI,0CAA0CyB,MAAM,KAAK/M,OAAOowB,KACzZ,SAASE,GAAGrlB,EAAEC,EAAEC,GAAG,IAAIiB,EAAEnB,EAAE9I,MAAM,gBAAgB8I,EAAEkX,cAAchX,EAlDjE,SAAYF,EAAEC,EAAEC,EAAEiB,EAAE1D,EAAE2D,EAAEC,EAAEyD,EAAEC,GAA4B,GAAzBwK,GAAG7b,MAAM4B,KAAKpC,WAAcgc,GAAG,CAAC,IAAGA,GAAgC,MAAMpX,MAAMiI,EAAE,MAA1C,IAAI8E,EAAEsK,GAAGD,IAAG,EAAGC,GAAG,KAA8BC,KAAKA,IAAG,EAAGC,GAAGxK,IAkDjEygB,CAAGnkB,EAAElB,OAAE,EAAOD,GAAGA,EAAEkX,cAAc,KACpG,SAAS6I,GAAG/f,EAAEC,GAAGA,EAAE,KAAO,EAAFA,GAAK,IAAI,IAAIC,EAAE,EAAEA,EAAEF,EAAE7M,OAAO+M,IAAI,CAAC,IAAIiB,EAAEnB,EAAEE,GAAGzC,EAAE0D,EAAEwe,MAAMxe,EAAEA,EAAE9G,UAAU2F,EAAE,CAAC,IAAIoB,OAAE,EAAO,GAAGnB,EAAE,IAAI,IAAIoB,EAAEF,EAAEhO,OAAO,EAAE,GAAGkO,EAAEA,IAAI,CAAC,IAAIyD,EAAE3D,EAAEE,GAAG0D,EAAED,EAAEygB,SAAS1gB,EAAEC,EAAEoS,cAA2B,GAAbpS,EAAEA,EAAEjO,SAAYkO,IAAI3D,GAAG3D,EAAE6Z,uBAAuB,MAAMtX,EAAEqlB,GAAG5nB,EAAEqH,EAAED,GAAGzD,EAAE2D,OAAO,IAAI1D,EAAE,EAAEA,EAAEF,EAAEhO,OAAOkO,IAAI,CAAoD,GAA5C0D,GAAPD,EAAE3D,EAAEE,IAAOkkB,SAAS1gB,EAAEC,EAAEoS,cAAcpS,EAAEA,EAAEjO,SAAYkO,IAAI3D,GAAG3D,EAAE6Z,uBAAuB,MAAMtX,EAAEqlB,GAAG5nB,EAAEqH,EAAED,GAAGzD,EAAE2D,IAAI,GAAGqK,GAAG,MAAMpP,EAAEqP,GAAGD,IAAG,EAAGC,GAAG,KAAKrP,EAC1a,SAASwlB,GAAExlB,EAAEC,GAAG,IAAIC,EAAED,EAAEwlB,SAAI,IAASvlB,IAAIA,EAAED,EAAEwlB,IAAI,IAAIplB,KAAK,IAAIc,EAAEnB,EAAE,WAAWE,EAAEwlB,IAAIvkB,KAAKwkB,GAAG1lB,EAAED,EAAE,GAAE,GAAIE,EAAEO,IAAIU,IAAI,SAASykB,GAAG5lB,EAAEC,EAAEC,GAAG,IAAIiB,EAAE,EAAElB,IAAIkB,GAAG,GAAGwkB,GAAGzlB,EAAEF,EAAEmB,EAAElB,GAAG,IAAI4lB,GAAG,kBAAkB/T,KAAKgU,SAASnyB,SAAS,IAAIsC,MAAM,GAAG,SAAS8vB,GAAG/lB,GAAG,IAAIA,EAAE6lB,IAAI,CAAC7lB,EAAE6lB,KAAI,EAAGzlB,EAAG2B,SAAQ,SAAS9B,GAAG,oBAAoBA,IAAImlB,GAAGM,IAAIzlB,IAAI2lB,GAAG3lB,GAAE,EAAGD,GAAG4lB,GAAG3lB,GAAE,EAAGD,OAAM,IAAIC,EAAE,IAAID,EAAEiJ,SAASjJ,EAAEA,EAAEqH,cAAc,OAAOpH,GAAGA,EAAE4lB,MAAM5lB,EAAE4lB,KAAI,EAAGD,GAAG,mBAAkB,EAAG3lB,KAC7a,SAAS0lB,GAAG3lB,EAAEC,EAAEC,EAAEiB,GAAG,OAAOkV,GAAGpW,IAAI,KAAK,EAAE,IAAIxC,EAAEoY,GAAG,MAAM,KAAK,EAAEpY,EAAEuY,GAAG,MAAM,QAAQvY,EAAEsY,GAAG7V,EAAEzC,EAAEhF,KAAK,KAAKwH,EAAEC,EAAEF,GAAGvC,OAAE,GAAQqR,IAAI,eAAe7O,GAAG,cAAcA,GAAG,UAAUA,IAAIxC,GAAE,GAAI0D,OAAE,IAAS1D,EAAEuC,EAAE5G,iBAAiB6G,EAAEC,EAAE,CAAC8lB,SAAQ,EAAGC,QAAQxoB,IAAIuC,EAAE5G,iBAAiB6G,EAAEC,GAAE,QAAI,IAASzC,EAAEuC,EAAE5G,iBAAiB6G,EAAEC,EAAE,CAAC+lB,QAAQxoB,IAAIuC,EAAE5G,iBAAiB6G,EAAEC,GAAE,GAC/U,SAAS+V,GAAGjW,EAAEC,EAAEC,EAAEiB,EAAE1D,GAAG,IAAI2D,EAAED,EAAE,GAAG,KAAO,EAAFlB,IAAM,KAAO,EAAFA,IAAM,OAAOkB,EAAEnB,EAAE,OAAO,CAAC,GAAG,OAAOmB,EAAE,OAAO,IAAIE,EAAEF,EAAE+D,IAAI,GAAG,IAAI7D,GAAG,IAAIA,EAAE,CAAC,IAAIyD,EAAE3D,EAAEkN,UAAU6G,cAAc,GAAGpQ,IAAIrH,GAAG,IAAIqH,EAAEmE,UAAUnE,EAAEiJ,aAAatQ,EAAE,MAAM,GAAG,IAAI4D,EAAE,IAAIA,EAAEF,EAAEuO,OAAO,OAAOrO,GAAG,CAAC,IAAI0D,EAAE1D,EAAE6D,IAAI,IAAG,IAAIH,GAAG,IAAIA,MAAKA,EAAE1D,EAAEgN,UAAU6G,iBAAkBzX,GAAG,IAAIsH,EAAEkE,UAAUlE,EAAEgJ,aAAatQ,GAAE,OAAO4D,EAAEA,EAAEqO,OAAO,KAAK,OAAO5K,GAAG,CAAS,GAAG,QAAXzD,EAAE0T,GAAGjQ,IAAe,OAAe,GAAG,KAAXC,EAAE1D,EAAE6D,MAAc,IAAIH,EAAE,CAAC5D,EAAEC,EAAEC,EAAE,SAASrB,EAAE8E,EAAEA,EAAEiJ,YAAY5M,EAAEA,EAAEuO,OAAOd,IAAG,WAAW,IAAIzN,EAAEC,EAAE3D,EAAEmQ,GAAG1N,GAAGmB,EAAE,GACpfrB,EAAE,CAAC,IAAI8E,EAAEggB,GAAGrrB,IAAIuG,GAAG,QAAG,IAAS8E,EAAE,CAAC,IAAIC,EAAEuT,GAAGpf,EAAE8G,EAAE,OAAOA,GAAG,IAAK,WAAW,GAAG,IAAI0W,GAAGxW,GAAG,MAAMF,EAAE,IAAK,UAAU,IAAK,QAAQ+E,EAAEuX,GAAG,MAAM,IAAK,UAAUpjB,EAAE,QAAQ6L,EAAEmV,GAAG,MAAM,IAAK,WAAWhhB,EAAE,OAAO6L,EAAEmV,GAAG,MAAM,IAAK,aAAa,IAAK,YAAYnV,EAAEmV,GAAG,MAAM,IAAK,QAAQ,GAAG,IAAIha,EAAEsZ,OAAO,MAAMxZ,EAAE,IAAK,WAAW,IAAK,WAAW,IAAK,YAAY,IAAK,YAAY,IAAK,UAAU,IAAK,WAAW,IAAK,YAAY,IAAK,cAAc+E,EAAEgV,GAAG,MAAM,IAAK,OAAO,IAAK,UAAU,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,OAAOhV,EAC1iBiV,GAAG,MAAM,IAAK,cAAc,IAAK,WAAW,IAAK,YAAY,IAAK,aAAajV,EAAEkY,GAAG,MAAM,KAAKyH,GAAG,KAAKC,GAAG,KAAKC,GAAG7f,EAAEoV,GAAG,MAAM,KAAK0K,GAAG9f,EAAEsY,GAAG,MAAM,IAAK,SAAStY,EAAE2T,GAAG,MAAM,IAAK,QAAQ3T,EAAE+Y,GAAG,MAAM,IAAK,OAAO,IAAK,MAAM,IAAK,QAAQ/Y,EAAE0V,GAAG,MAAM,IAAK,oBAAoB,IAAK,qBAAqB,IAAK,gBAAgB,IAAK,cAAc,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,YAAY1V,EAAEwX,GAAG,IAAI2J,EAAE,KAAO,EAAFjmB,GAAKkmB,GAAGD,GAAG,WAAWlmB,EAAEomB,EAAEF,EAAE,OAAOphB,EAAEA,EAAE,UAAU,KAAKA,EAAEohB,EAAE,GAAG,IAAI,IAAQG,EAAJxuB,EAAEsJ,EAAI,OAC/etJ,GAAG,CAAK,IAAIyuB,GAARD,EAAExuB,GAAUwW,UAAsF,GAA5E,IAAIgY,EAAEnhB,KAAK,OAAOohB,IAAID,EAAEC,EAAE,OAAOF,IAAc,OAAVE,EAAEzX,GAAGhX,EAAEuuB,KAAYF,EAAE5yB,KAAKizB,GAAG1uB,EAAEyuB,EAAED,MAASF,EAAE,MAAMtuB,EAAEA,EAAE6X,OAAO,EAAEwW,EAAE/yB,SAAS2R,EAAE,IAAIC,EAAED,EAAE5L,EAAE,KAAKgH,EAAEzC,GAAG4D,EAAE/N,KAAK,CAACqsB,MAAM7a,EAAEzK,UAAU6rB,MAAM,GAAG,KAAO,EAAFjmB,GAAK,CAA4E,GAAnC8E,EAAE,aAAa/E,GAAG,eAAeA,KAAtE8E,EAAE,cAAc9E,GAAG,gBAAgBA,IAA2CE,IAAIyN,MAAKzU,EAAEgH,EAAEwZ,eAAexZ,EAAEyZ,eAAe5E,GAAG7b,KAAIA,EAAEstB,OAAgBzhB,GAAGD,KAAGA,EAAErH,EAAEkD,SAASlD,EAAEA,GAAGqH,EAAErH,EAAE4J,eAAevC,EAAE0d,aAAa1d,EAAE2hB,aAAa9lB,OAAUoE,GAAqCA,EAAE5D,EAAiB,QAAfjI,GAAnCA,EAAEgH,EAAEwZ,eAAexZ,EAAE0Z,WAAkB7E,GAAG7b,GAAG,QAC9dA,KAARitB,EAAE3W,GAAGtW,KAAU,IAAIA,EAAEgM,KAAK,IAAIhM,EAAEgM,OAAKhM,EAAE,QAAU6L,EAAE,KAAK7L,EAAEiI,GAAK4D,IAAI7L,GAAE,CAAgU,GAA/TgtB,EAAEnM,GAAGuM,EAAE,eAAeF,EAAE,eAAevuB,EAAE,QAAW,eAAemI,GAAG,gBAAgBA,IAAEkmB,EAAE3J,GAAG+J,EAAE,iBAAiBF,EAAE,iBAAiBvuB,EAAE,WAAUsuB,EAAE,MAAMphB,EAAED,EAAEmb,GAAGlb,GAAGshB,EAAE,MAAMntB,EAAE4L,EAAEmb,GAAG/mB,IAAG4L,EAAE,IAAIohB,EAAEI,EAAEzuB,EAAE,QAAQkN,EAAE7E,EAAEzC,IAAKjJ,OAAO2xB,EAAErhB,EAAE4U,cAAc2M,EAAEC,EAAE,KAAKvR,GAAGtX,KAAK0D,KAAI+kB,EAAE,IAAIA,EAAEE,EAAEvuB,EAAE,QAAQqB,EAAEgH,EAAEzC,IAAKjJ,OAAO6xB,EAAEH,EAAExM,cAAcyM,EAAEG,EAAEJ,GAAGC,EAAEG,EAAKvhB,GAAG7L,EAAE+G,EAAE,CAAa,IAARmmB,EAAEltB,EAAErB,EAAE,EAAMwuB,EAAhBH,EAAEnhB,EAAkBshB,EAAEA,EAAEK,GAAGL,GAAGxuB,IAAQ,IAAJwuB,EAAE,EAAMC,EAAEF,EAAEE,EAAEA,EAAEI,GAAGJ,GAAGD,IAAI,KAAK,EAAExuB,EAAEwuB,GAAGH,EAAEQ,GAAGR,GAAGruB,IAAI,KAAK,EAAEwuB,EAAExuB,GAAGuuB,EACpfM,GAAGN,GAAGC,IAAI,KAAKxuB,KAAK,CAAC,GAAGquB,IAAIE,GAAG,OAAOA,GAAGF,IAAIE,EAAE3W,UAAU,MAAMxP,EAAEimB,EAAEQ,GAAGR,GAAGE,EAAEM,GAAGN,GAAGF,EAAE,UAAUA,EAAE,KAAK,OAAOnhB,GAAG4hB,GAAGtlB,EAAEyD,EAAEC,EAAEmhB,GAAE,GAAI,OAAOhtB,GAAG,OAAOitB,GAAGQ,GAAGtlB,EAAE8kB,EAAEjtB,EAAEgtB,GAAE,GAAiE,GAAG,YAA1CnhB,GAAjBD,EAAE3D,EAAE8e,GAAG9e,GAAGR,QAAWgF,UAAUb,EAAEa,SAAS3D,gBAA+B,UAAU+C,GAAG,SAASD,EAAE5N,KAAK,IAAI0vB,EAAG1G,QAAQ,GAAGV,GAAG1a,GAAG,GAAGqb,GAAGyG,EAAG7F,OAAO,CAAC6F,EAAG/F,GAAG,IAAIgG,EAAGlG,QAAQ5b,EAAED,EAAEa,WAAW,UAAUZ,EAAE/C,gBAAgB,aAAa8C,EAAE5N,MAAM,UAAU4N,EAAE5N,QAAQ0vB,EAAG9F,IACrV,OAD4V8F,IAAKA,EAAGA,EAAG5mB,EAAEmB,IAAKse,GAAGpe,EAAEulB,EAAG1mB,EAAEzC,IAAWopB,GAAIA,EAAG7mB,EAAE8E,EAAE3D,GAAG,aAAanB,IAAI6mB,EAAG/hB,EAAE8B,gBAClfigB,EAAG7f,YAAY,WAAWlC,EAAE5N,MAAMiQ,GAAGrC,EAAE,SAASA,EAAE3P,QAAO0xB,EAAG1lB,EAAE8e,GAAG9e,GAAGR,OAAcX,GAAG,IAAK,WAAawf,GAAGqH,IAAK,SAASA,EAAG/E,mBAAgB6B,GAAGkD,EAAGjD,GAAGziB,EAAE0iB,GAAG,MAAK,MAAM,IAAK,WAAWA,GAAGD,GAAGD,GAAG,KAAK,MAAM,IAAK,YAAYG,IAAG,EAAG,MAAM,IAAK,cAAc,IAAK,UAAU,IAAK,UAAUA,IAAG,EAAGC,GAAG1iB,EAAEnB,EAAEzC,GAAG,MAAM,IAAK,kBAAkB,GAAGimB,GAAG,MAAM,IAAK,UAAU,IAAK,QAAQK,GAAG1iB,EAAEnB,EAAEzC,GAAG,IAAIqpB,EAAG,GAAG9I,GAAG/d,EAAE,CAAC,OAAOD,GAAG,IAAK,mBAAmB,IAAI+mB,EAAG,qBAAqB,MAAM9mB,EAAE,IAAK,iBAAiB8mB,EAAG,mBACpe,MAAM9mB,EAAE,IAAK,oBAAoB8mB,EAAG,sBAAsB,MAAM9mB,EAAE8mB,OAAG,OAAYtI,GAAGF,GAAGve,EAAEE,KAAK6mB,EAAG,oBAAoB,YAAY/mB,GAAG,MAAME,EAAEyW,UAAUoQ,EAAG,sBAAsBA,IAAK3I,IAAI,OAAOle,EAAEkc,SAASqC,IAAI,uBAAuBsI,EAAG,qBAAqBA,GAAItI,KAAKqI,EAAGrQ,OAAYF,GAAG,UAARD,GAAG7Y,GAAkB6Y,GAAGnhB,MAAMmhB,GAAGpO,YAAYuW,IAAG,IAAiB,GAAZoI,EAAGnH,GAAGve,EAAE4lB,IAAS5zB,SAAS4zB,EAAG,IAAIrM,GAAGqM,EAAG/mB,EAAE,KAAKE,EAAEzC,GAAG4D,EAAE/N,KAAK,CAACqsB,MAAMoH,EAAG1sB,UAAUwsB,IAAKC,EAAGC,EAAGpM,KAAKmM,EAAa,QAATA,EAAGtI,GAAGte,MAAe6mB,EAAGpM,KAAKmM,MAAUA,EAAG3I,GA5BhM,SAAYne,EAAEC,GAAG,OAAOD,GAAG,IAAK,iBAAiB,OAAOwe,GAAGve,GAAG,IAAK,WAAW,OAAG,KAAKA,EAAEoc,MAAa,MAAKiC,IAAG,EAAUD,IAAG,IAAK,YAAY,OAAOre,EAAEC,EAAE0a,QAAS0D,IAAIC,GAAG,KAAKte,EAAE,QAAQ,OAAO,MA4BOgnB,CAAGhnB,EAAEE,GA3Bzd,SAAYF,EAAEC,GAAG,GAAGwe,GAAG,MAAM,mBAAmBze,IAAIge,IAAIO,GAAGve,EAAEC,IAAID,EAAEyW,KAAKD,GAAGD,GAAGD,GAAG,KAAKmI,IAAG,EAAGze,GAAG,KAAK,OAAOA,GAAG,IAAK,QAAgQ,QAAQ,OAAO,KAA3P,IAAK,WAAW,KAAKC,EAAEiZ,SAASjZ,EAAEmZ,QAAQnZ,EAAEoZ,UAAUpZ,EAAEiZ,SAASjZ,EAAEmZ,OAAO,CAAC,GAAGnZ,EAAEgnB,MAAM,EAAEhnB,EAAEgnB,KAAK9zB,OAAO,OAAO8M,EAAEgnB,KAAK,GAAGhnB,EAAEoc,MAAM,OAAOtkB,OAAOkkB,aAAahc,EAAEoc,OAAO,OAAO,KAAK,IAAK,iBAAiB,OAAO+B,IAAI,OAAOne,EAAEmc,OAAO,KAAKnc,EAAE0a,MA2B8GuM,CAAGlnB,EAAEE,MACje,GADoeiB,EAAEue,GAAGve,EAAE,kBACvehO,SAASsK,EAAE,IAAIid,GAAG,gBAAgB,cAAc,KAAKxa,EAAEzC,GAAG4D,EAAE/N,KAAK,CAACqsB,MAAMliB,EAAEpD,UAAU8G,IAAI1D,EAAEkd,KAAKmM,IAAI/G,GAAG1e,EAAEpB,MAAK,SAASsmB,GAAGvmB,EAAEC,EAAEC,GAAG,MAAM,CAACqlB,SAASvlB,EAAEnJ,SAASoJ,EAAEiX,cAAchX,GAAG,SAASwf,GAAG1f,EAAEC,GAAG,IAAI,IAAIC,EAAED,EAAE,UAAUkB,EAAE,GAAG,OAAOnB,GAAG,CAAC,IAAIvC,EAAEuC,EAAEoB,EAAE3D,EAAE4Q,UAAU,IAAI5Q,EAAEyH,KAAK,OAAO9D,IAAI3D,EAAE2D,EAAY,OAAVA,EAAEyN,GAAG7O,EAAEE,KAAYiB,EAAExJ,QAAQ4uB,GAAGvmB,EAAEoB,EAAE3D,IAAc,OAAV2D,EAAEyN,GAAG7O,EAAEC,KAAYkB,EAAE7N,KAAKizB,GAAGvmB,EAAEoB,EAAE3D,KAAKuC,EAAEA,EAAE0P,OAAO,OAAOvO,EAAE,SAASulB,GAAG1mB,GAAG,GAAG,OAAOA,EAAE,OAAO,KAAK,GAAGA,EAAEA,EAAE0P,aAAa1P,GAAG,IAAIA,EAAEkF,KAAK,OAAOlF,GAAI,KAC/c,SAAS2mB,GAAG3mB,EAAEC,EAAEC,EAAEiB,EAAE1D,GAAG,IAAI,IAAI2D,EAAEnB,EAAE+W,WAAW3V,EAAE,GAAG,OAAOnB,GAAGA,IAAIiB,GAAG,CAAC,IAAI2D,EAAE5E,EAAE6E,EAAED,EAAE2K,UAAU5K,EAAEC,EAAEuJ,UAAU,GAAG,OAAOtJ,GAAGA,IAAI5D,EAAE,MAAM,IAAI2D,EAAEI,KAAK,OAAOL,IAAIC,EAAED,EAAEpH,EAAa,OAAVsH,EAAE8J,GAAG3O,EAAEkB,KAAYC,EAAE1J,QAAQ4uB,GAAGrmB,EAAE6E,EAAED,IAAKrH,GAAc,OAAVsH,EAAE8J,GAAG3O,EAAEkB,KAAYC,EAAE/N,KAAKizB,GAAGrmB,EAAE6E,EAAED,KAAM5E,EAAEA,EAAEwP,OAAO,IAAIrO,EAAElO,QAAQ6M,EAAE1M,KAAK,CAACqsB,MAAM1f,EAAE5F,UAAUgH,IAAI,IAAI8lB,GAAG,SAASC,GAAG,iBAAiB,SAASC,GAAGrnB,GAAG,OAAO,kBAAkBA,EAAEA,EAAE,GAAGA,GAAG4C,QAAQukB,GAAG,MAAMvkB,QAAQwkB,GAAG,IAAI,SAASE,GAAGtnB,EAAEC,EAAEC,GAAW,GAARD,EAAEonB,GAAGpnB,GAAMonB,GAAGrnB,KAAKC,GAAGC,EAAE,MAAMpI,MAAMiI,EAAE,MAAO,SAASwnB,MACze,IAAIC,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAG1nB,EAAEC,GAAG,MAAM,aAAaD,GAAG,aAAaA,GAAG,kBAAkBC,EAAE6H,UAAU,kBAAkB7H,EAAE6H,UAAU,kBAAkB7H,EAAE4H,yBAAyB,OAAO5H,EAAE4H,yBAAyB,MAAM5H,EAAE4H,wBAAwB8f,OACtP,IAAIC,GAAG,oBAAoBC,WAAWA,gBAAW,EAAOC,GAAG,oBAAoBC,aAAaA,kBAAa,EAAOC,GAAG,oBAAoBtyB,QAAQA,aAAQ,EAAOuyB,GAAG,oBAAoBC,eAAeA,eAAe,qBAAqBF,GAAG,SAAShoB,GAAG,OAAOgoB,GAAGryB,QAAQ,MAAMwyB,KAAKnoB,GAAGooB,MAAMC,KAAKT,GAAG,SAASS,GAAGroB,GAAG6nB,YAAW,WAAW,MAAM7nB,KAChV,SAASsoB,GAAGtoB,EAAEC,GAAG,IAAIC,EAAED,EAAEkB,EAAE,EAAE,EAAE,CAAC,IAAI1D,EAAEyC,EAAEmhB,YAA6B,GAAjBrhB,EAAE2I,YAAYzI,GAAMzC,GAAG,IAAIA,EAAEwL,SAAS,GAAY,QAAT/I,EAAEzC,EAAEkd,MAAc,CAAC,GAAG,IAAIxZ,EAA0B,OAAvBnB,EAAE2I,YAAYlL,QAAGgY,GAAGxV,GAAUkB,QAAQ,MAAMjB,GAAG,OAAOA,GAAG,OAAOA,GAAGiB,IAAIjB,EAAEzC,QAAQyC,GAAGuV,GAAGxV,GAAG,SAASsoB,GAAGvoB,GAAG,KAAK,MAAMA,EAAEA,EAAEA,EAAEqhB,YAAY,CAAC,IAAIphB,EAAED,EAAEiJ,SAAS,GAAG,IAAIhJ,GAAG,IAAIA,EAAE,MAAM,GAAG,IAAIA,EAAE,CAAU,GAAG,OAAZA,EAAED,EAAE2a,OAAiB,OAAO1a,GAAG,OAAOA,EAAE,MAAM,GAAG,OAAOA,EAAE,OAAO,MAAM,OAAOD,EAChY,SAASwoB,GAAGxoB,GAAGA,EAAEA,EAAEyoB,gBAAgB,IAAI,IAAIxoB,EAAE,EAAED,GAAG,CAAC,GAAG,IAAIA,EAAEiJ,SAAS,CAAC,IAAI/I,EAAEF,EAAE2a,KAAK,GAAG,MAAMza,GAAG,OAAOA,GAAG,OAAOA,EAAE,CAAC,GAAG,IAAID,EAAE,OAAOD,EAAEC,QAAQ,OAAOC,GAAGD,IAAID,EAAEA,EAAEyoB,gBAAgB,OAAO,KAAK,IAAIC,GAAG5W,KAAKgU,SAASnyB,SAAS,IAAIsC,MAAM,GAAG0yB,GAAG,gBAAgBD,GAAGE,GAAG,gBAAgBF,GAAGlC,GAAG,oBAAoBkC,GAAGjD,GAAG,iBAAiBiD,GAAGG,GAAG,oBAAoBH,GAAGI,GAAG,kBAAkBJ,GAClX,SAAS3T,GAAG/U,GAAG,IAAIC,EAAED,EAAE2oB,IAAI,GAAG1oB,EAAE,OAAOA,EAAE,IAAI,IAAIC,EAAEF,EAAE+N,WAAW7N,GAAG,CAAC,GAAGD,EAAEC,EAAEsmB,KAAKtmB,EAAEyoB,IAAI,CAAe,GAAdzoB,EAAED,EAAEwP,UAAa,OAAOxP,EAAE+P,OAAO,OAAO9P,GAAG,OAAOA,EAAE8P,MAAM,IAAIhQ,EAAEwoB,GAAGxoB,GAAG,OAAOA,GAAG,CAAC,GAAGE,EAAEF,EAAE2oB,IAAI,OAAOzoB,EAAEF,EAAEwoB,GAAGxoB,GAAG,OAAOC,EAAMC,GAAJF,EAAEE,GAAM6N,WAAW,OAAO,KAAK,SAASK,GAAGpO,GAAkB,QAAfA,EAAEA,EAAE2oB,KAAK3oB,EAAEwmB,MAAc,IAAIxmB,EAAEkF,KAAK,IAAIlF,EAAEkF,KAAK,KAAKlF,EAAEkF,KAAK,IAAIlF,EAAEkF,IAAI,KAAKlF,EAAE,SAASigB,GAAGjgB,GAAG,GAAG,IAAIA,EAAEkF,KAAK,IAAIlF,EAAEkF,IAAI,OAAOlF,EAAEqO,UAAU,MAAMvW,MAAMiI,EAAE,KAAM,SAASuO,GAAGtO,GAAG,OAAOA,EAAE4oB,KAAK,KAAK,IAAIG,GAAG,GAAGC,IAAI,EAAE,SAASC,GAAGjpB,GAAG,MAAM,CAACkQ,QAAQlQ,GACre,SAASkpB,GAAElpB,GAAG,EAAEgpB,KAAKhpB,EAAEkQ,QAAQ6Y,GAAGC,IAAID,GAAGC,IAAI,KAAKA,MAAM,SAASG,GAAEnpB,EAAEC,GAAG+oB,KAAKD,GAAGC,IAAIhpB,EAAEkQ,QAAQlQ,EAAEkQ,QAAQjQ,EAAE,IAAImpB,GAAG,GAAGC,GAAEJ,GAAGG,IAAIE,GAAGL,IAAG,GAAIM,GAAGH,GAAG,SAASI,GAAGxpB,EAAEC,GAAG,IAAIC,EAAEF,EAAE9I,KAAKwE,aAAa,IAAIwE,EAAE,OAAOkpB,GAAG,IAAIjoB,EAAEnB,EAAEqO,UAAU,GAAGlN,GAAGA,EAAEsoB,8CAA8CxpB,EAAE,OAAOkB,EAAEuoB,0CAA0C,IAAStoB,EAAL3D,EAAE,GAAK,IAAI2D,KAAKlB,EAAEzC,EAAE2D,GAAGnB,EAAEmB,GAAoH,OAAjHD,KAAInB,EAAEA,EAAEqO,WAAYob,4CAA4CxpB,EAAED,EAAE0pB,0CAA0CjsB,GAAUA,EAC7d,SAASksB,GAAG3pB,GAAyB,OAAO,QAA7BA,EAAEA,EAAExE,yBAAmC,IAASwE,EAAE,SAAS4pB,KAAKV,GAAEI,IAAIJ,GAAEG,IAAG,SAASQ,GAAG7pB,EAAEC,EAAEC,GAAG,GAAGmpB,GAAEnZ,UAAUkZ,GAAG,MAAMtxB,MAAMiI,EAAE,MAAMopB,GAAEE,GAAEppB,GAAGkpB,GAAEG,GAAGppB,GAAG,SAAS4pB,GAAG9pB,EAAEC,EAAEC,GAAG,IAAIiB,EAAEnB,EAAEqO,UAAgC,GAAtBpO,EAAEA,EAAEzE,kBAAqB,oBAAoB2F,EAAE4oB,gBAAgB,OAAO7pB,EAAwB,IAAI,IAAIzC,KAA9B0D,EAAEA,EAAE4oB,kBAAiC,KAAKtsB,KAAKwC,GAAG,MAAMnI,MAAMiI,EAAE,IAAIyF,EAAGxF,IAAI,UAAUvC,IAAI,OAAO0G,EAAE,GAAGjE,EAAEiB,GACtX,SAAS6oB,GAAGhqB,GAA2G,OAAxGA,GAAGA,EAAEA,EAAEqO,YAAYrO,EAAEiqB,2CAA2Cb,GAAGG,GAAGF,GAAEnZ,QAAQiZ,GAAEE,GAAErpB,GAAGmpB,GAAEG,GAAGA,GAAGpZ,UAAe,EAAG,SAASga,GAAGlqB,EAAEC,EAAEC,GAAG,IAAIiB,EAAEnB,EAAEqO,UAAU,IAAIlN,EAAE,MAAMrJ,MAAMiI,EAAE,MAAMG,GAAGF,EAAE8pB,GAAG9pB,EAAEC,EAAEspB,IAAIpoB,EAAE8oB,0CAA0CjqB,EAAEkpB,GAAEI,IAAIJ,GAAEG,IAAGF,GAAEE,GAAErpB,IAAIkpB,GAAEI,IAAIH,GAAEG,GAAGppB,GAAG,IAAIiqB,GAAG,KAAKC,IAAG,EAAGC,IAAG,EAAG,SAASC,GAAGtqB,GAAG,OAAOmqB,GAAGA,GAAG,CAACnqB,GAAGmqB,GAAG72B,KAAK0M,GAC9V,SAASuqB,KAAK,IAAIF,IAAI,OAAOF,GAAG,CAACE,IAAG,EAAG,IAAIrqB,EAAE,EAAEC,EAAEmT,GAAE,IAAI,IAAIlT,EAAEiqB,GAAG,IAAI/W,GAAE,EAAEpT,EAAEE,EAAE/M,OAAO6M,IAAI,CAAC,IAAImB,EAAEjB,EAAEF,GAAG,GAAGmB,EAAEA,GAAE,SAAU,OAAOA,GAAGgpB,GAAG,KAAKC,IAAG,EAAG,MAAM3sB,GAAG,MAAM,OAAO0sB,KAAKA,GAAGA,GAAGl0B,MAAM+J,EAAE,IAAIqQ,GAAGY,GAAGsZ,IAAI9sB,EAAhJ,QAA2J2V,GAAEnT,EAAEoqB,IAAG,GAAI,OAAO,KAAK,IAAIG,GAAG,GAAGC,GAAG,EAAEC,GAAG,KAAKC,GAAG,EAAEC,GAAG,GAAGC,GAAG,EAAEC,GAAG,KAAKC,GAAG,EAAEC,GAAG,GAAG,SAASC,GAAGjrB,EAAEC,GAAGuqB,GAAGC,MAAME,GAAGH,GAAGC,MAAMC,GAAGA,GAAG1qB,EAAE2qB,GAAG1qB,EAChV,SAASirB,GAAGlrB,EAAEC,EAAEC,GAAG0qB,GAAGC,MAAME,GAAGH,GAAGC,MAAMG,GAAGJ,GAAGC,MAAMC,GAAGA,GAAG9qB,EAAE,IAAImB,EAAE4pB,GAAG/qB,EAAEgrB,GAAG,IAAIvtB,EAAE,GAAGoU,GAAG1Q,GAAG,EAAEA,KAAK,GAAG1D,GAAGyC,GAAG,EAAE,IAAIkB,EAAE,GAAGyQ,GAAG5R,GAAGxC,EAAE,GAAG,GAAG2D,EAAE,CAAC,IAAIC,EAAE5D,EAAEA,EAAE,EAAE2D,GAAGD,GAAG,GAAGE,GAAG,GAAG1N,SAAS,IAAIwN,IAAIE,EAAE5D,GAAG4D,EAAE0pB,GAAG,GAAG,GAAGlZ,GAAG5R,GAAGxC,EAAEyC,GAAGzC,EAAE0D,EAAE6pB,GAAG5pB,EAAEpB,OAAO+qB,GAAG,GAAG3pB,EAAElB,GAAGzC,EAAE0D,EAAE6pB,GAAGhrB,EAAE,SAASmrB,GAAGnrB,GAAG,OAAOA,EAAE0P,SAASub,GAAGjrB,EAAE,GAAGkrB,GAAGlrB,EAAE,EAAE,IAAI,SAASorB,GAAGprB,GAAG,KAAKA,IAAI0qB,IAAIA,GAAGF,KAAKC,IAAID,GAAGC,IAAI,KAAKE,GAAGH,KAAKC,IAAID,GAAGC,IAAI,KAAK,KAAKzqB,IAAI8qB,IAAIA,GAAGF,KAAKC,IAAID,GAAGC,IAAI,KAAKG,GAAGJ,KAAKC,IAAID,GAAGC,IAAI,KAAKE,GAAGH,KAAKC,IAAID,GAAGC,IAAI,KAAK,IAAIQ,GAAG,KAAKC,GAAG,KAAKC,IAAE,EAAGC,GAAG,KACje,SAASC,GAAGzrB,EAAEC,GAAG,IAAIC,EAAEwrB,GAAG,EAAE,KAAK,KAAK,GAAGxrB,EAAEf,YAAY,UAAUe,EAAEmO,UAAUpO,EAAEC,EAAEwP,OAAO1P,EAAgB,QAAdC,EAAED,EAAE2rB,YAAoB3rB,EAAE2rB,UAAU,CAACzrB,GAAGF,EAAE5J,OAAO,IAAI6J,EAAE3M,KAAK4M,GACtJ,SAAS0rB,GAAG5rB,EAAEC,GAAG,OAAOD,EAAEkF,KAAK,KAAK,EAAE,IAAIhF,EAAEF,EAAE9I,KAAyE,OAAO,QAA3E+I,EAAE,IAAIA,EAAEgJ,UAAU/I,EAAE8B,gBAAgB/B,EAAE0F,SAAS3D,cAAc,KAAK/B,KAAmBD,EAAEqO,UAAUpO,EAAEorB,GAAGrrB,EAAEsrB,GAAG/C,GAAGtoB,EAAEyI,aAAY,GAAO,KAAK,EAAE,OAAoD,QAA7CzI,EAAE,KAAKD,EAAE6rB,cAAc,IAAI5rB,EAAEgJ,SAAS,KAAKhJ,KAAYD,EAAEqO,UAAUpO,EAAEorB,GAAGrrB,EAAEsrB,GAAG,MAAK,GAAO,KAAK,GAAG,OAA+B,QAAxBrrB,EAAE,IAAIA,EAAEgJ,SAAS,KAAKhJ,KAAYC,EAAE,OAAO4qB,GAAG,CAAC5U,GAAG6U,GAAGe,SAASd,IAAI,KAAKhrB,EAAE4P,cAAc,CAACC,WAAW5P,EAAE8rB,YAAY7rB,EAAE8rB,UAAU,aAAY9rB,EAAEwrB,GAAG,GAAG,KAAK,KAAK,IAAKrd,UAAUpO,EAAEC,EAAEwP,OAAO1P,EAAEA,EAAEgQ,MAAM9P,EAAEmrB,GAAGrrB,EAAEsrB,GAClf,MAAK,GAAO,QAAQ,OAAM,GAAI,SAASW,GAAGjsB,GAAG,OAAO,KAAY,EAAPA,EAAEksB,OAAS,KAAa,IAARlsB,EAAE5J,OAAW,SAAS+1B,GAAGnsB,GAAG,GAAGurB,GAAE,CAAC,IAAItrB,EAAEqrB,GAAG,GAAGrrB,EAAE,CAAC,IAAIC,EAAED,EAAE,IAAI2rB,GAAG5rB,EAAEC,GAAG,CAAC,GAAGgsB,GAAGjsB,GAAG,MAAMlI,MAAMiI,EAAE,MAAME,EAAEsoB,GAAGroB,EAAEmhB,aAAa,IAAIlgB,EAAEkqB,GAAGprB,GAAG2rB,GAAG5rB,EAAEC,GAAGwrB,GAAGtqB,EAAEjB,IAAIF,EAAE5J,OAAe,KAAT4J,EAAE5J,MAAY,EAAEm1B,IAAE,EAAGF,GAAGrrB,QAAQ,CAAC,GAAGisB,GAAGjsB,GAAG,MAAMlI,MAAMiI,EAAE,MAAMC,EAAE5J,OAAe,KAAT4J,EAAE5J,MAAY,EAAEm1B,IAAE,EAAGF,GAAGrrB,IAAI,SAASosB,GAAGpsB,GAAG,IAAIA,EAAEA,EAAE0P,OAAO,OAAO1P,GAAG,IAAIA,EAAEkF,KAAK,IAAIlF,EAAEkF,KAAK,KAAKlF,EAAEkF,KAAKlF,EAAEA,EAAE0P,OAAO2b,GAAGrrB,EAC/Z,SAASqsB,GAAGrsB,GAAG,GAAGA,IAAIqrB,GAAG,OAAM,EAAG,IAAIE,GAAE,OAAOa,GAAGpsB,GAAGurB,IAAE,GAAG,EAAG,IAAItrB,EAAkG,IAA/FA,EAAE,IAAID,EAAEkF,QAAQjF,EAAE,IAAID,EAAEkF,OAAgBjF,EAAE,UAAXA,EAAED,EAAE9I,OAAmB,SAAS+I,IAAIynB,GAAG1nB,EAAE9I,KAAK8I,EAAEssB,gBAAmBrsB,IAAIA,EAAEqrB,IAAI,CAAC,GAAGW,GAAGjsB,GAAG,MAAMusB,KAAKz0B,MAAMiI,EAAE,MAAM,KAAKE,GAAGwrB,GAAGzrB,EAAEC,GAAGA,EAAEsoB,GAAGtoB,EAAEohB,aAAmB,GAAN+K,GAAGpsB,GAAM,KAAKA,EAAEkF,IAAI,CAAgD,KAA7BlF,EAAE,QAApBA,EAAEA,EAAE4P,eAAyB5P,EAAE6P,WAAW,MAAW,MAAM/X,MAAMiI,EAAE,MAAMC,EAAE,CAAiB,IAAhBA,EAAEA,EAAEqhB,YAAgBphB,EAAE,EAAED,GAAG,CAAC,GAAG,IAAIA,EAAEiJ,SAAS,CAAC,IAAI/I,EAAEF,EAAE2a,KAAK,GAAG,OAAOza,EAAE,CAAC,GAAG,IAAID,EAAE,CAACqrB,GAAG/C,GAAGvoB,EAAEqhB,aAAa,MAAMrhB,EAAEC,QAAQ,MAAMC,GAAG,OAAOA,GAAG,OAAOA,GAAGD,IAAID,EAAEA,EAAEqhB,YAAYiK,GACjgB,WAAWA,GAAGD,GAAG9C,GAAGvoB,EAAEqO,UAAUgT,aAAa,KAAK,OAAM,EAAG,SAASkL,KAAK,IAAI,IAAIvsB,EAAEsrB,GAAGtrB,GAAGA,EAAEuoB,GAAGvoB,EAAEqhB,aAAa,SAASmL,KAAKlB,GAAGD,GAAG,KAAKE,IAAE,EAAG,SAASkB,GAAGzsB,GAAG,OAAOwrB,GAAGA,GAAG,CAACxrB,GAAGwrB,GAAGl4B,KAAK0M,GAAG,IAAI0sB,GAAG5pB,EAAG6S,wBAAwB,SAASgX,GAAG3sB,EAAEC,GAAG,GAAGD,GAAGA,EAAErE,aAAa,CAA4B,IAAI,IAAIuE,KAAnCD,EAAEkE,EAAE,GAAGlE,GAAGD,EAAEA,EAAErE,kBAA4B,IAASsE,EAAEC,KAAKD,EAAEC,GAAGF,EAAEE,IAAI,OAAOD,EAAE,OAAOA,EAAE,IAAI2sB,GAAG3D,GAAG,MAAM4D,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAASC,KAAKD,GAAGD,GAAGD,GAAG,KAAK,SAASI,GAAGjtB,GAAG,IAAIC,EAAE2sB,GAAG1c,QAAQgZ,GAAE0D,IAAI5sB,EAAEktB,cAAcjtB,EAChd,SAASktB,GAAGntB,EAAEC,EAAEC,GAAG,KAAK,OAAOF,GAAG,CAAC,IAAImB,EAAEnB,EAAEyP,UAA+H,IAApHzP,EAAEotB,WAAWntB,KAAKA,GAAGD,EAAEotB,YAAYntB,EAAE,OAAOkB,IAAIA,EAAEisB,YAAYntB,IAAI,OAAOkB,IAAIA,EAAEisB,WAAWntB,KAAKA,IAAIkB,EAAEisB,YAAYntB,GAAMD,IAAIE,EAAE,MAAMF,EAAEA,EAAE0P,QAAQ,SAAS2d,GAAGrtB,EAAEC,GAAG4sB,GAAG7sB,EAAE+sB,GAAGD,GAAG,KAAsB,QAAjB9sB,EAAEA,EAAEstB,eAAuB,OAAOttB,EAAEutB,eAAe,KAAKvtB,EAAEwtB,MAAMvtB,KAAKwtB,IAAG,GAAIztB,EAAEutB,aAAa,MACjU,SAASG,GAAG1tB,GAAG,IAAIC,EAAED,EAAEktB,cAAc,GAAGH,KAAK/sB,EAAE,GAAGA,EAAE,CAAC7F,QAAQ6F,EAAE2tB,cAAc1tB,EAAE2tB,KAAK,MAAM,OAAOd,GAAG,CAAC,GAAG,OAAOD,GAAG,MAAM/0B,MAAMiI,EAAE,MAAM+sB,GAAG9sB,EAAE6sB,GAAGS,aAAa,CAACE,MAAM,EAAED,aAAavtB,QAAQ8sB,GAAGA,GAAGc,KAAK5tB,EAAE,OAAOC,EAAE,IAAI4tB,GAAG,KAAK,SAASC,GAAG9tB,GAAG,OAAO6tB,GAAGA,GAAG,CAAC7tB,GAAG6tB,GAAGv6B,KAAK0M,GAAG,SAAS+tB,GAAG/tB,EAAEC,EAAEC,EAAEiB,GAAG,IAAI1D,EAAEwC,EAAE+tB,YAA+E,OAAnE,OAAOvwB,GAAGyC,EAAE0tB,KAAK1tB,EAAE4tB,GAAG7tB,KAAKC,EAAE0tB,KAAKnwB,EAAEmwB,KAAKnwB,EAAEmwB,KAAK1tB,GAAGD,EAAE+tB,YAAY9tB,EAAS+tB,GAAGjuB,EAAEmB,GAC9X,SAAS8sB,GAAGjuB,EAAEC,GAAGD,EAAEwtB,OAAOvtB,EAAE,IAAIC,EAAEF,EAAEyP,UAAqC,IAA3B,OAAOvP,IAAIA,EAAEstB,OAAOvtB,GAAGC,EAAEF,EAAMA,EAAEA,EAAE0P,OAAO,OAAO1P,GAAGA,EAAEotB,YAAYntB,EAAgB,QAAdC,EAAEF,EAAEyP,aAAqBvP,EAAEktB,YAAYntB,GAAGC,EAAEF,EAAEA,EAAEA,EAAE0P,OAAO,OAAO,IAAIxP,EAAEgF,IAAIhF,EAAEmO,UAAU,KAAK,IAAI6f,IAAG,EAAG,SAASC,GAAGnuB,GAAGA,EAAEouB,YAAY,CAACC,UAAUruB,EAAE4P,cAAc0e,gBAAgB,KAAKC,eAAe,KAAKC,OAAO,CAACC,QAAQ,KAAKT,YAAY,KAAKR,MAAM,GAAGkB,QAAQ,MAC/W,SAASC,GAAG3uB,EAAEC,GAAGD,EAAEA,EAAEouB,YAAYnuB,EAAEmuB,cAAcpuB,IAAIC,EAAEmuB,YAAY,CAACC,UAAUruB,EAAEquB,UAAUC,gBAAgBtuB,EAAEsuB,gBAAgBC,eAAevuB,EAAEuuB,eAAeC,OAAOxuB,EAAEwuB,OAAOE,QAAQ1uB,EAAE0uB,UAAU,SAASE,GAAG5uB,EAAEC,GAAG,MAAM,CAAC4uB,UAAU7uB,EAAE8uB,KAAK7uB,EAAEiF,IAAI,EAAE6pB,QAAQ,KAAKC,SAAS,KAAKpB,KAAK,MACjR,SAASqB,GAAGjvB,EAAEC,EAAEC,GAAG,IAAIiB,EAAEnB,EAAEouB,YAAY,GAAG,OAAOjtB,EAAE,OAAO,KAAgB,GAAXA,EAAEA,EAAEqtB,OAAU,KAAO,EAAFU,IAAK,CAAC,IAAIzxB,EAAE0D,EAAEstB,QAA+D,OAAvD,OAAOhxB,EAAEwC,EAAE2tB,KAAK3tB,GAAGA,EAAE2tB,KAAKnwB,EAAEmwB,KAAKnwB,EAAEmwB,KAAK3tB,GAAGkB,EAAEstB,QAAQxuB,EAASguB,GAAGjuB,EAAEE,GAAsF,OAAnE,QAAhBzC,EAAE0D,EAAE6sB,cAAsB/tB,EAAE2tB,KAAK3tB,EAAE6tB,GAAG3sB,KAAKlB,EAAE2tB,KAAKnwB,EAAEmwB,KAAKnwB,EAAEmwB,KAAK3tB,GAAGkB,EAAE6sB,YAAY/tB,EAASguB,GAAGjuB,EAAEE,GAAG,SAASivB,GAAGnvB,EAAEC,EAAEC,GAAmB,GAAG,QAAnBD,EAAEA,EAAEmuB,eAA0BnuB,EAAEA,EAAEuuB,OAAO,KAAO,QAAFtuB,IAAY,CAAC,IAAIiB,EAAElB,EAAEutB,MAAwBttB,GAAlBiB,GAAGnB,EAAEwS,aAAkBvS,EAAEutB,MAAMttB,EAAEiT,GAAGnT,EAAEE,IAClZ,SAASkvB,GAAGpvB,EAAEC,GAAG,IAAIC,EAAEF,EAAEouB,YAAYjtB,EAAEnB,EAAEyP,UAAU,GAAG,OAAOtO,GAAoBjB,KAAhBiB,EAAEA,EAAEitB,aAAmB,CAAC,IAAI3wB,EAAE,KAAK2D,EAAE,KAAyB,GAAG,QAAvBlB,EAAEA,EAAEouB,iBAA4B,CAAC,EAAE,CAAC,IAAIjtB,EAAE,CAACwtB,UAAU3uB,EAAE2uB,UAAUC,KAAK5uB,EAAE4uB,KAAK5pB,IAAIhF,EAAEgF,IAAI6pB,QAAQ7uB,EAAE6uB,QAAQC,SAAS9uB,EAAE8uB,SAASpB,KAAK,MAAM,OAAOxsB,EAAE3D,EAAE2D,EAAEC,EAAED,EAAEA,EAAEwsB,KAAKvsB,EAAEnB,EAAEA,EAAE0tB,WAAW,OAAO1tB,GAAG,OAAOkB,EAAE3D,EAAE2D,EAAEnB,EAAEmB,EAAEA,EAAEwsB,KAAK3tB,OAAOxC,EAAE2D,EAAEnB,EAAiH,OAA/GC,EAAE,CAACmuB,UAAUltB,EAAEktB,UAAUC,gBAAgB7wB,EAAE8wB,eAAentB,EAAEotB,OAAOrtB,EAAEqtB,OAAOE,QAAQvtB,EAAEutB,cAAS1uB,EAAEouB,YAAYluB,GAA4B,QAAnBF,EAAEE,EAAEquB,gBAAwBruB,EAAEouB,gBAAgBruB,EAAED,EAAE4tB,KACnf3tB,EAAEC,EAAEquB,eAAetuB,EACnB,SAASovB,GAAGrvB,EAAEC,EAAEC,EAAEiB,GAAG,IAAI1D,EAAEuC,EAAEouB,YAAYF,IAAG,EAAG,IAAI9sB,EAAE3D,EAAE6wB,gBAAgBjtB,EAAE5D,EAAE8wB,eAAezpB,EAAErH,EAAE+wB,OAAOC,QAAQ,GAAG,OAAO3pB,EAAE,CAACrH,EAAE+wB,OAAOC,QAAQ,KAAK,IAAI1pB,EAAED,EAAED,EAAEE,EAAE6oB,KAAK7oB,EAAE6oB,KAAK,KAAK,OAAOvsB,EAAED,EAAEyD,EAAExD,EAAEusB,KAAK/oB,EAAExD,EAAE0D,EAAE,IAAI3N,EAAE4I,EAAEyP,UAAU,OAAOrY,KAAoB0N,GAAhB1N,EAAEA,EAAEg3B,aAAgBG,kBAAmBltB,IAAI,OAAOyD,EAAE1N,EAAEk3B,gBAAgBzpB,EAAEC,EAAE8oB,KAAK/oB,EAAEzN,EAAEm3B,eAAexpB,IAAI,GAAG,OAAO3D,EAAE,CAAC,IAAIkuB,EAAE7xB,EAAE4wB,UAA6B,IAAnBhtB,EAAE,EAAEjK,EAAEyN,EAAEE,EAAE,KAAKD,EAAE1D,IAAI,CAAC,IAAImuB,EAAEzqB,EAAEgqB,KAAKU,EAAE1qB,EAAE+pB,UAAU,IAAI1tB,EAAEouB,KAAKA,EAAE,CAAC,OAAOn4B,IAAIA,EAAEA,EAAEw2B,KAAK,CAACiB,UAAUW,EAAEV,KAAK,EAAE5pB,IAAIJ,EAAEI,IAAI6pB,QAAQjqB,EAAEiqB,QAAQC,SAASlqB,EAAEkqB,SACvfpB,KAAK,OAAO5tB,EAAE,CAAC,IAAI9G,EAAE8G,EAAEkmB,EAAEphB,EAAU,OAARyqB,EAAEtvB,EAAEuvB,EAAEtvB,EAASgmB,EAAEhhB,KAAK,KAAK,EAAc,GAAG,oBAAfhM,EAAEgtB,EAAE6I,SAAiC,CAACO,EAAEp2B,EAAEnF,KAAKy7B,EAAEF,EAAEC,GAAG,MAAMvvB,EAAEsvB,EAAEp2B,EAAE,MAAM8G,EAAE,KAAK,EAAE9G,EAAE9C,OAAe,MAAT8C,EAAE9C,MAAa,IAAI,KAAK,EAAsD,GAAG,QAA3Cm5B,EAAE,oBAAdr2B,EAAEgtB,EAAE6I,SAAgC71B,EAAEnF,KAAKy7B,EAAEF,EAAEC,GAAGr2B,SAAe,IAASq2B,EAAE,MAAMvvB,EAAEsvB,EAAEnrB,EAAE,GAAGmrB,EAAEC,GAAG,MAAMvvB,EAAE,KAAK,EAAEkuB,IAAG,GAAI,OAAOppB,EAAEkqB,UAAU,IAAIlqB,EAAEgqB,OAAO9uB,EAAE5J,OAAO,GAAe,QAAZm5B,EAAE9xB,EAAEixB,SAAiBjxB,EAAEixB,QAAQ,CAAC5pB,GAAGyqB,EAAEj8B,KAAKwR,SAAS0qB,EAAE,CAACX,UAAUW,EAAEV,KAAKS,EAAErqB,IAAIJ,EAAEI,IAAI6pB,QAAQjqB,EAAEiqB,QAAQC,SAASlqB,EAAEkqB,SAASpB,KAAK,MAAM,OAAOx2B,GAAGyN,EAAEzN,EAAEo4B,EAAEzqB,EAAEuqB,GAAGl4B,EAAEA,EAAEw2B,KAAK4B,EAAEnuB,GAAGkuB,EAC3e,GAAG,QAAZzqB,EAAEA,EAAE8oB,MAAiB,IAAsB,QAAnB9oB,EAAErH,EAAE+wB,OAAOC,SAAiB,MAAe3pB,GAAJyqB,EAAEzqB,GAAM8oB,KAAK2B,EAAE3B,KAAK,KAAKnwB,EAAE8wB,eAAegB,EAAE9xB,EAAE+wB,OAAOC,QAAQ,MAA0G,GAA5F,OAAOr3B,IAAI2N,EAAEuqB,GAAG7xB,EAAE4wB,UAAUtpB,EAAEtH,EAAE6wB,gBAAgBzpB,EAAEpH,EAAE8wB,eAAen3B,EAA4B,QAA1B6I,EAAExC,EAAE+wB,OAAOR,aAAwB,CAACvwB,EAAEwC,EAAE,GAAGoB,GAAG5D,EAAEqxB,KAAKrxB,EAAEA,EAAEmwB,WAAWnwB,IAAIwC,QAAQ,OAAOmB,IAAI3D,EAAE+wB,OAAOhB,MAAM,GAAGiC,IAAIpuB,EAAErB,EAAEwtB,MAAMnsB,EAAErB,EAAE4P,cAAc0f,GAC5V,SAASI,GAAG1vB,EAAEC,EAAEC,GAA8B,GAA3BF,EAAEC,EAAEyuB,QAAQzuB,EAAEyuB,QAAQ,KAAQ,OAAO1uB,EAAE,IAAIC,EAAE,EAAEA,EAAED,EAAE7M,OAAO8M,IAAI,CAAC,IAAIkB,EAAEnB,EAAEC,GAAGxC,EAAE0D,EAAE6tB,SAAS,GAAG,OAAOvxB,EAAE,CAAqB,GAApB0D,EAAE6tB,SAAS,KAAK7tB,EAAEjB,EAAK,oBAAoBzC,EAAE,MAAM3F,MAAMiI,EAAE,IAAItC,IAAIA,EAAE1J,KAAKoN,KAAK,IAAIwuB,IAAI,IAAI9vB,EAAG+vB,WAAWC,KAAK,SAASC,GAAG9vB,EAAEC,EAAEC,EAAEiB,GAA8BjB,EAAE,QAAXA,EAAEA,EAAEiB,EAAtBlB,EAAED,EAAE4P,sBAAmC,IAAS1P,EAAED,EAAEkE,EAAE,GAAGlE,EAAEC,GAAGF,EAAE4P,cAAc1P,EAAE,IAAIF,EAAEwtB,QAAQxtB,EAAEouB,YAAYC,UAAUnuB,GAChX,IAAI6vB,GAAG,CAACC,UAAU,SAAShwB,GAAG,SAAOA,EAAEA,EAAEiwB,kBAAiBzgB,GAAGxP,KAAKA,GAAMkwB,gBAAgB,SAASlwB,EAAEC,EAAEC,GAAGF,EAAEA,EAAEiwB,gBAAgB,IAAI9uB,EAAEgvB,KAAI1yB,EAAE2yB,GAAGpwB,GAAGoB,EAAEwtB,GAAGztB,EAAE1D,GAAG2D,EAAE2tB,QAAQ9uB,OAAE,IAASC,GAAG,OAAOA,IAAIkB,EAAE4tB,SAAS9uB,GAAe,QAAZD,EAAEgvB,GAAGjvB,EAAEoB,EAAE3D,MAAc4yB,GAAGpwB,EAAED,EAAEvC,EAAE0D,GAAGguB,GAAGlvB,EAAED,EAAEvC,KAAK6yB,oBAAoB,SAAStwB,EAAEC,EAAEC,GAAGF,EAAEA,EAAEiwB,gBAAgB,IAAI9uB,EAAEgvB,KAAI1yB,EAAE2yB,GAAGpwB,GAAGoB,EAAEwtB,GAAGztB,EAAE1D,GAAG2D,EAAE8D,IAAI,EAAE9D,EAAE2tB,QAAQ9uB,OAAE,IAASC,GAAG,OAAOA,IAAIkB,EAAE4tB,SAAS9uB,GAAe,QAAZD,EAAEgvB,GAAGjvB,EAAEoB,EAAE3D,MAAc4yB,GAAGpwB,EAAED,EAAEvC,EAAE0D,GAAGguB,GAAGlvB,EAAED,EAAEvC,KAAK8yB,mBAAmB,SAASvwB,EAAEC,GAAGD,EAAEA,EAAEiwB,gBAAgB,IAAI/vB,EAAEiwB,KAAIhvB,EACnfivB,GAAGpwB,GAAGvC,EAAEmxB,GAAG1uB,EAAEiB,GAAG1D,EAAEyH,IAAI,OAAE,IAASjF,GAAG,OAAOA,IAAIxC,EAAEuxB,SAAS/uB,GAAe,QAAZA,EAAEgvB,GAAGjvB,EAAEvC,EAAE0D,MAAckvB,GAAGpwB,EAAED,EAAEmB,EAAEjB,GAAGivB,GAAGlvB,EAAED,EAAEmB,MAAM,SAASqvB,GAAGxwB,EAAEC,EAAEC,EAAEiB,EAAE1D,EAAE2D,EAAEC,GAAiB,MAAM,oBAApBrB,EAAEA,EAAEqO,WAAsCoiB,sBAAsBzwB,EAAEywB,sBAAsBtvB,EAAEC,EAAEC,IAAGpB,EAAEpM,YAAWoM,EAAEpM,UAAU68B,wBAAsBzP,GAAG/gB,EAAEiB,KAAK8f,GAAGxjB,EAAE2D,IACrS,SAASuvB,GAAG3wB,EAAEC,EAAEC,GAAG,IAAIiB,GAAE,EAAG1D,EAAE2rB,GAAOhoB,EAAEnB,EAAExE,YAA2W,MAA/V,kBAAkB2F,GAAG,OAAOA,EAAEA,EAAEssB,GAAGtsB,IAAI3D,EAAEksB,GAAG1pB,GAAGspB,GAAGF,GAAEnZ,QAAyB9O,GAAGD,EAAE,QAAtBA,EAAElB,EAAEvE,oBAA4B,IAASyF,GAAGqoB,GAAGxpB,EAAEvC,GAAG2rB,IAAInpB,EAAE,IAAIA,EAAEC,EAAEkB,GAAGpB,EAAE4P,cAAc,OAAO3P,EAAE1H,YAAO,IAAS0H,EAAE1H,MAAM0H,EAAE1H,MAAM,KAAK0H,EAAE2wB,QAAQb,GAAG/vB,EAAEqO,UAAUpO,EAAEA,EAAEgwB,gBAAgBjwB,EAAEmB,KAAInB,EAAEA,EAAEqO,WAAYob,4CAA4ChsB,EAAEuC,EAAE0pB,0CAA0CtoB,GAAUnB,EAC3Z,SAAS4wB,GAAG7wB,EAAEC,EAAEC,EAAEiB,GAAGnB,EAAEC,EAAE1H,MAAM,oBAAoB0H,EAAE6wB,2BAA2B7wB,EAAE6wB,0BAA0B5wB,EAAEiB,GAAG,oBAAoBlB,EAAE8wB,kCAAkC9wB,EAAE8wB,iCAAiC7wB,EAAEiB,GAAGlB,EAAE1H,QAAQyH,GAAG+vB,GAAGO,oBAAoBrwB,EAAEA,EAAE1H,MAAM,MAC/P,SAASy4B,GAAGhxB,EAAEC,EAAEC,EAAEiB,GAAG,IAAI1D,EAAEuC,EAAEqO,UAAU5Q,EAAEM,MAAMmC,EAAEzC,EAAElF,MAAMyH,EAAE4P,cAAcnS,EAAEoyB,KAAKF,GAAGxB,GAAGnuB,GAAG,IAAIoB,EAAEnB,EAAExE,YAAY,kBAAkB2F,GAAG,OAAOA,EAAE3D,EAAEtD,QAAQuzB,GAAGtsB,IAAIA,EAAEuoB,GAAG1pB,GAAGspB,GAAGF,GAAEnZ,QAAQzS,EAAEtD,QAAQqvB,GAAGxpB,EAAEoB,IAAI3D,EAAElF,MAAMyH,EAAE4P,cAA2C,oBAA7BxO,EAAEnB,EAAElE,4BAAiD+zB,GAAG9vB,EAAEC,EAAEmB,EAAElB,GAAGzC,EAAElF,MAAMyH,EAAE4P,eAAe,oBAAoB3P,EAAElE,0BAA0B,oBAAoB0B,EAAEwzB,yBAAyB,oBAAoBxzB,EAAEyzB,2BAA2B,oBAAoBzzB,EAAE0zB,qBAAqBlxB,EAAExC,EAAElF,MACrf,oBAAoBkF,EAAE0zB,oBAAoB1zB,EAAE0zB,qBAAqB,oBAAoB1zB,EAAEyzB,2BAA2BzzB,EAAEyzB,4BAA4BjxB,IAAIxC,EAAElF,OAAOw3B,GAAGO,oBAAoB7yB,EAAEA,EAAElF,MAAM,MAAM82B,GAAGrvB,EAAEE,EAAEzC,EAAE0D,GAAG1D,EAAElF,MAAMyH,EAAE4P,eAAe,oBAAoBnS,EAAE2zB,oBAAoBpxB,EAAE5J,OAAO,SAC5R,SAASi7B,GAAGrxB,EAAEC,EAAEC,GAAW,GAAG,QAAXF,EAAEE,EAAEoxB,MAAiB,oBAAoBtxB,GAAG,kBAAkBA,EAAE,CAAC,GAAGE,EAAEqxB,OAAO,CAAY,GAAXrxB,EAAEA,EAAEqxB,OAAY,CAAC,GAAG,IAAIrxB,EAAEgF,IAAI,MAAMpN,MAAMiI,EAAE,MAAM,IAAIoB,EAAEjB,EAAEmO,UAAU,IAAIlN,EAAE,MAAMrJ,MAAMiI,EAAE,IAAIC,IAAI,IAAIvC,EAAE0D,EAAEC,EAAE,GAAGpB,EAAE,OAAG,OAAOC,GAAG,OAAOA,EAAEqxB,KAAK,oBAAoBrxB,EAAEqxB,KAAKrxB,EAAEqxB,IAAIE,aAAapwB,EAASnB,EAAEqxB,KAAIrxB,EAAE,SAASD,GAAG,IAAIC,EAAExC,EAAEoyB,KAAK5vB,IAAI0vB,KAAK1vB,EAAExC,EAAEoyB,KAAK,IAAI,OAAO7vB,SAASC,EAAEmB,GAAGnB,EAAEmB,GAAGpB,GAAGC,EAAEuxB,WAAWpwB,EAASnB,GAAE,GAAG,kBAAkBD,EAAE,MAAMlI,MAAMiI,EAAE,MAAM,IAAIG,EAAEqxB,OAAO,MAAMz5B,MAAMiI,EAAE,IAAIC,IAAK,OAAOA,EACpe,SAASyxB,GAAGzxB,EAAEC,GAAuC,MAApCD,EAAEpM,OAAOC,UAAUF,SAASI,KAAKkM,GAASnI,MAAMiI,EAAE,GAAG,oBAAoBC,EAAE,qBAAqBpM,OAAOsH,KAAK+E,GAAGjM,KAAK,MAAM,IAAIgM,IAAK,SAAS0xB,GAAG1xB,GAAiB,OAAOC,EAAfD,EAAEuF,OAAevF,EAAEsF,UAC5L,SAASqsB,GAAG3xB,GAAG,SAASC,EAAEA,EAAEC,GAAG,GAAGF,EAAE,CAAC,IAAImB,EAAElB,EAAE0rB,UAAU,OAAOxqB,GAAGlB,EAAE0rB,UAAU,CAACzrB,GAAGD,EAAE7J,OAAO,IAAI+K,EAAE7N,KAAK4M,IAAI,SAASA,EAAEA,EAAEiB,GAAG,IAAInB,EAAE,OAAO,KAAK,KAAK,OAAOmB,GAAGlB,EAAEC,EAAEiB,GAAGA,EAAEA,EAAE8O,QAAQ,OAAO,KAAK,SAAS9O,EAAEnB,EAAEC,GAAG,IAAID,EAAE,IAAIiU,IAAI,OAAOhU,GAAG,OAAOA,EAAEnM,IAAIkM,EAAEtG,IAAIuG,EAAEnM,IAAImM,GAAGD,EAAEtG,IAAIuG,EAAEpF,MAAMoF,GAAGA,EAAEA,EAAEgQ,QAAQ,OAAOjQ,EAAE,SAASvC,EAAEuC,EAAEC,GAAsC,OAAnCD,EAAE4xB,GAAG5xB,EAAEC,IAAKpF,MAAM,EAAEmF,EAAEiQ,QAAQ,KAAYjQ,EAAE,SAASoB,EAAEnB,EAAEC,EAAEiB,GAAa,OAAVlB,EAAEpF,MAAMsG,EAAMnB,EAA6C,QAAjBmB,EAAElB,EAAEwP,YAA6BtO,EAAEA,EAAEtG,OAAQqF,GAAGD,EAAE7J,OAAO,EAAE8J,GAAGiB,GAAElB,EAAE7J,OAAO,EAAS8J,IAArGD,EAAE7J,OAAO,QAAQ8J,GAAsF,SAASmB,EAAEpB,GACzd,OAD4dD,GAC7f,OAAOC,EAAEwP,YAAYxP,EAAE7J,OAAO,GAAU6J,EAAE,SAAS6E,EAAE9E,EAAEC,EAAEC,EAAEiB,GAAG,OAAG,OAAOlB,GAAG,IAAIA,EAAEiF,MAAWjF,EAAE4xB,GAAG3xB,EAAEF,EAAEksB,KAAK/qB,IAAKuO,OAAO1P,EAAEC,KAAEA,EAAExC,EAAEwC,EAAEC,IAAKwP,OAAO1P,EAASC,GAAE,SAAS8E,EAAE/E,EAAEC,EAAEC,EAAEiB,GAAG,IAAIC,EAAElB,EAAEhJ,KAAK,OAAGkK,IAAIgC,EAAUhM,EAAE4I,EAAEC,EAAEC,EAAEnC,MAAM+J,SAAS3G,EAAEjB,EAAEpM,KAAQ,OAAOmM,IAAIA,EAAEd,cAAciC,GAAG,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEgE,WAAWvB,GAAI6tB,GAAGtwB,KAAKnB,EAAE/I,QAAaiK,EAAE1D,EAAEwC,EAAEC,EAAEnC,QAASuzB,IAAID,GAAGrxB,EAAEC,EAAEC,GAAGiB,EAAEuO,OAAO1P,EAAEmB,KAAEA,EAAE2wB,GAAG5xB,EAAEhJ,KAAKgJ,EAAEpM,IAAIoM,EAAEnC,MAAM,KAAKiC,EAAEksB,KAAK/qB,IAAKmwB,IAAID,GAAGrxB,EAAEC,EAAEC,GAAGiB,EAAEuO,OAAO1P,EAASmB,GAAE,SAAS0D,EAAE7E,EAAEC,EAAEC,EAAEiB,GAAG,OAAG,OAAOlB,GAAG,IAAIA,EAAEiF,KACjfjF,EAAEoO,UAAU6G,gBAAgBhV,EAAEgV,eAAejV,EAAEoO,UAAU0jB,iBAAiB7xB,EAAE6xB,iBAAsB9xB,EAAE+xB,GAAG9xB,EAAEF,EAAEksB,KAAK/qB,IAAKuO,OAAO1P,EAAEC,KAAEA,EAAExC,EAAEwC,EAAEC,EAAE4H,UAAU,KAAM4H,OAAO1P,EAASC,GAAE,SAAS7I,EAAE4I,EAAEC,EAAEC,EAAEiB,EAAEC,GAAG,OAAG,OAAOnB,GAAG,IAAIA,EAAEiF,MAAWjF,EAAEgyB,GAAG/xB,EAAEF,EAAEksB,KAAK/qB,EAAEC,IAAKsO,OAAO1P,EAAEC,KAAEA,EAAExC,EAAEwC,EAAEC,IAAKwP,OAAO1P,EAASC,GAAE,SAASqvB,EAAEtvB,EAAEC,EAAEC,GAAG,GAAG,kBAAkBD,GAAG,KAAKA,GAAG,kBAAkBA,EAAE,OAAOA,EAAE4xB,GAAG,GAAG5xB,EAAED,EAAEksB,KAAKhsB,IAAKwP,OAAO1P,EAAEC,EAAE,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEmF,UAAU,KAAKpC,EAAG,OAAO9C,EAAE4xB,GAAG7xB,EAAE/I,KAAK+I,EAAEnM,IAAImM,EAAElC,MAAM,KAAKiC,EAAEksB,KAAKhsB,IACjfoxB,IAAID,GAAGrxB,EAAE,KAAKC,GAAGC,EAAEwP,OAAO1P,EAAEE,EAAE,KAAKiD,EAAG,OAAOlD,EAAE+xB,GAAG/xB,EAAED,EAAEksB,KAAKhsB,IAAKwP,OAAO1P,EAAEC,EAAE,KAAK4D,EAAiB,OAAOyrB,EAAEtvB,GAAEmB,EAAnBlB,EAAEsF,OAAmBtF,EAAEqF,UAAUpF,GAAG,GAAGoH,GAAGrH,IAAIgE,EAAGhE,GAAG,OAAOA,EAAEgyB,GAAGhyB,EAAED,EAAEksB,KAAKhsB,EAAE,OAAQwP,OAAO1P,EAAEC,EAAEwxB,GAAGzxB,EAAEC,GAAG,OAAO,KAAK,SAASsvB,EAAEvvB,EAAEC,EAAEC,EAAEiB,GAAG,IAAI1D,EAAE,OAAOwC,EAAEA,EAAEnM,IAAI,KAAK,GAAG,kBAAkBoM,GAAG,KAAKA,GAAG,kBAAkBA,EAAE,OAAO,OAAOzC,EAAE,KAAKqH,EAAE9E,EAAEC,EAAE,GAAGC,EAAEiB,GAAG,GAAG,kBAAkBjB,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEkF,UAAU,KAAKpC,EAAG,OAAO9C,EAAEpM,MAAM2J,EAAEsH,EAAE/E,EAAEC,EAAEC,EAAEiB,GAAG,KAAK,KAAKgC,EAAG,OAAOjD,EAAEpM,MAAM2J,EAAEoH,EAAE7E,EAAEC,EAAEC,EAAEiB,GAAG,KAAK,KAAK0C,EAAG,OAAiB0rB,EAAEvvB,EACpfC,GADwexC,EAAEyC,EAAEqF,OACxerF,EAAEoF,UAAUnE,GAAG,GAAGmG,GAAGpH,IAAI+D,EAAG/D,GAAG,OAAO,OAAOzC,EAAE,KAAKrG,EAAE4I,EAAEC,EAAEC,EAAEiB,EAAE,MAAMswB,GAAGzxB,EAAEE,GAAG,OAAO,KAAK,SAASsvB,EAAExvB,EAAEC,EAAEC,EAAEiB,EAAE1D,GAAG,GAAG,kBAAkB0D,GAAG,KAAKA,GAAG,kBAAkBA,EAAE,OAAwB2D,EAAE7E,EAAnBD,EAAEA,EAAEvG,IAAIyG,IAAI,KAAW,GAAGiB,EAAE1D,GAAG,GAAG,kBAAkB0D,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEiE,UAAU,KAAKpC,EAAG,OAA2C+B,EAAE9E,EAAtCD,EAAEA,EAAEvG,IAAI,OAAO0H,EAAErN,IAAIoM,EAAEiB,EAAErN,MAAM,KAAWqN,EAAE1D,GAAG,KAAK0F,EAAG,OAA2C0B,EAAE5E,EAAtCD,EAAEA,EAAEvG,IAAI,OAAO0H,EAAErN,IAAIoM,EAAEiB,EAAErN,MAAM,KAAWqN,EAAE1D,GAAG,KAAKoG,EAAiB,OAAO2rB,EAAExvB,EAAEC,EAAEC,GAAEkB,EAAvBD,EAAEoE,OAAuBpE,EAAEmE,UAAU7H,GAAG,GAAG6J,GAAGnG,IAAI8C,EAAG9C,GAAG,OAAwB/J,EAAE6I,EAAnBD,EAAEA,EAAEvG,IAAIyG,IAAI,KAAWiB,EAAE1D,EAAE,MAAMg0B,GAAGxxB,EAAEkB,GAAG,OAAO,KAC1f,SAASjI,EAAEuE,EAAE4D,EAAEyD,EAAEC,GAAG,IAAI,IAAIF,EAAE,KAAKzN,EAAE,KAAKivB,EAAEhlB,EAAExJ,EAAEwJ,EAAE,EAAE+kB,EAAE,KAAK,OAAOC,GAAGxuB,EAAEiN,EAAE3R,OAAO0E,IAAI,CAACwuB,EAAExrB,MAAMhD,GAAGuuB,EAAEC,EAAEA,EAAE,MAAMD,EAAEC,EAAEpW,QAAQ,IAAI/W,EAAEq2B,EAAE9xB,EAAE4oB,EAAEvhB,EAAEjN,GAAGkN,GAAG,GAAG,OAAO7L,EAAE,CAAC,OAAOmtB,IAAIA,EAAED,GAAG,MAAMpmB,GAAGqmB,GAAG,OAAOntB,EAAEuW,WAAWxP,EAAExC,EAAE4oB,GAAGhlB,EAAED,EAAElI,EAAEmI,EAAExJ,GAAG,OAAOT,EAAEyN,EAAE3L,EAAE9B,EAAE6Y,QAAQ/W,EAAE9B,EAAE8B,EAAEmtB,EAAED,EAAE,GAAGvuB,IAAIiN,EAAE3R,OAAO,OAAO+M,EAAEzC,EAAE4oB,GAAGkF,IAAGN,GAAGxtB,EAAE5F,GAAGgN,EAAE,GAAG,OAAOwhB,EAAE,CAAC,KAAKxuB,EAAEiN,EAAE3R,OAAO0E,IAAkB,QAAdwuB,EAAEiJ,EAAE7xB,EAAEqH,EAAEjN,GAAGkN,MAAc1D,EAAED,EAAEilB,EAAEhlB,EAAExJ,GAAG,OAAOT,EAAEyN,EAAEwhB,EAAEjvB,EAAE6Y,QAAQoW,EAAEjvB,EAAEivB,GAAc,OAAXkF,IAAGN,GAAGxtB,EAAE5F,GAAUgN,EAAE,IAAIwhB,EAAEllB,EAAE1D,EAAE4oB,GAAGxuB,EAAEiN,EAAE3R,OAAO0E,IAAsB,QAAlBuuB,EAAEoJ,EAAEnJ,EAAE5oB,EAAE5F,EAAEiN,EAAEjN,GAAGkN,MAAc/E,GAAG,OAAOomB,EAAE3W,WAAW4W,EAAE/R,OAAO,OACvf8R,EAAEtyB,IAAI+D,EAAEuuB,EAAEtyB,KAAKuN,EAAED,EAAEglB,EAAE/kB,EAAExJ,GAAG,OAAOT,EAAEyN,EAAEuhB,EAAEhvB,EAAE6Y,QAAQmW,EAAEhvB,EAAEgvB,GAAuD,OAApDpmB,GAAGqmB,EAAEtkB,SAAQ,SAAS/B,GAAG,OAAOC,EAAExC,EAAEuC,MAAKurB,IAAGN,GAAGxtB,EAAE5F,GAAUgN,EAAE,SAASqhB,EAAEzoB,EAAE4D,EAAEyD,EAAEC,GAAG,IAAIF,EAAEZ,EAAGa,GAAG,GAAG,oBAAoBD,EAAE,MAAM/M,MAAMiI,EAAE,MAAkB,GAAG,OAAf+E,EAAED,EAAE9Q,KAAK+Q,IAAc,MAAMhN,MAAMiI,EAAE,MAAM,IAAI,IAAIsmB,EAAExhB,EAAE,KAAKzN,EAAEiK,EAAExJ,EAAEwJ,EAAE,EAAE+kB,EAAE,KAAKltB,EAAE4L,EAAE8oB,OAAO,OAAOx2B,IAAI8B,EAAEg5B,KAAKr6B,IAAIqB,EAAE4L,EAAE8oB,OAAO,CAACx2B,EAAEyD,MAAMhD,GAAGuuB,EAAEhvB,EAAEA,EAAE,MAAMgvB,EAAEhvB,EAAE6Y,QAAQ,IAAIiW,EAAEqJ,EAAE9xB,EAAErG,EAAE8B,EAAE/D,MAAM4P,GAAG,GAAG,OAAOmhB,EAAE,CAAC,OAAO9uB,IAAIA,EAAEgvB,GAAG,MAAMpmB,GAAG5I,GAAG,OAAO8uB,EAAEzW,WAAWxP,EAAExC,EAAErG,GAAGiK,EAAED,EAAE8kB,EAAE7kB,EAAExJ,GAAG,OAAOwuB,EAAExhB,EAAEqhB,EAAEG,EAAEpW,QAAQiW,EAAEG,EAAEH,EAAE9uB,EAAEgvB,EAAE,GAAGltB,EAAEg5B,KAAK,OAAOhyB,EAAEzC,EACzfrG,GAAGm0B,IAAGN,GAAGxtB,EAAE5F,GAAGgN,EAAE,GAAG,OAAOzN,EAAE,CAAC,MAAM8B,EAAEg5B,KAAKr6B,IAAIqB,EAAE4L,EAAE8oB,OAAwB,QAAjB10B,EAAEo2B,EAAE7xB,EAAEvE,EAAE/D,MAAM4P,MAAc1D,EAAED,EAAElI,EAAEmI,EAAExJ,GAAG,OAAOwuB,EAAExhB,EAAE3L,EAAEmtB,EAAEpW,QAAQ/W,EAAEmtB,EAAEntB,GAAc,OAAXqyB,IAAGN,GAAGxtB,EAAE5F,GAAUgN,EAAE,IAAIzN,EAAE+J,EAAE1D,EAAErG,IAAI8B,EAAEg5B,KAAKr6B,IAAIqB,EAAE4L,EAAE8oB,OAA4B,QAArB10B,EAAEs2B,EAAEp4B,EAAEqG,EAAE5F,EAAEqB,EAAE/D,MAAM4P,MAAc/E,GAAG,OAAO9G,EAAEuW,WAAWrY,EAAEkd,OAAO,OAAOpb,EAAEpF,IAAI+D,EAAEqB,EAAEpF,KAAKuN,EAAED,EAAElI,EAAEmI,EAAExJ,GAAG,OAAOwuB,EAAExhB,EAAE3L,EAAEmtB,EAAEpW,QAAQ/W,EAAEmtB,EAAEntB,GAAuD,OAApD8G,GAAG5I,EAAE2K,SAAQ,SAAS/B,GAAG,OAAOC,EAAExC,EAAEuC,MAAKurB,IAAGN,GAAGxtB,EAAE5F,GAAUgN,EAG1T,OAH4T,SAASshB,EAAEnmB,EAAEmB,EAAEC,EAAE0D,GAAkF,GAA/E,kBAAkB1D,GAAG,OAAOA,GAAGA,EAAElK,OAAOkM,GAAI,OAAOhC,EAAEtN,MAAMsN,EAAEA,EAAErD,MAAM+J,UAAa,kBAAkB1G,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEgE,UAAU,KAAKpC,EAAGhD,EAAE,CAAC,IAAI,IAAI+E,EAC7hB3D,EAAEtN,IAAI+Q,EAAE1D,EAAE,OAAO0D,GAAG,CAAC,GAAGA,EAAE/Q,MAAMiR,EAAE,CAAU,IAATA,EAAE3D,EAAElK,QAAYkM,GAAI,GAAG,IAAIyB,EAAEK,IAAI,CAAChF,EAAEF,EAAE6E,EAAEoL,UAAS9O,EAAE1D,EAAEoH,EAAEzD,EAAErD,MAAM+J,WAAY4H,OAAO1P,EAAEA,EAAEmB,EAAE,MAAMnB,QAAQ,GAAG6E,EAAE1F,cAAc4F,GAAG,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEK,WAAWvB,GAAI6tB,GAAG3sB,KAAKF,EAAE3N,KAAK,CAACgJ,EAAEF,EAAE6E,EAAEoL,UAAS9O,EAAE1D,EAAEoH,EAAEzD,EAAErD,QAASuzB,IAAID,GAAGrxB,EAAE6E,EAAEzD,GAAGD,EAAEuO,OAAO1P,EAAEA,EAAEmB,EAAE,MAAMnB,EAAEE,EAAEF,EAAE6E,GAAG,MAAW5E,EAAED,EAAE6E,GAAGA,EAAEA,EAAEoL,QAAQ7O,EAAElK,OAAOkM,IAAIjC,EAAE8wB,GAAG7wB,EAAErD,MAAM+J,SAAS9H,EAAEksB,KAAKpnB,EAAE1D,EAAEtN,MAAO4b,OAAO1P,EAAEA,EAAEmB,KAAI2D,EAAEgtB,GAAG1wB,EAAElK,KAAKkK,EAAEtN,IAAIsN,EAAErD,MAAM,KAAKiC,EAAEksB,KAAKpnB,IAAKwsB,IAAID,GAAGrxB,EAAEmB,EAAEC,GAAG0D,EAAE4K,OAAO1P,EAAEA,EAAE8E,GAAG,OAAOzD,EAAErB,GAAG,KAAKmD,EAAGnD,EAAE,CAAC,IAAI6E,EAAEzD,EAAEtN,IAAI,OACzfqN,GAAG,CAAC,GAAGA,EAAErN,MAAM+Q,EAAX,CAAa,GAAG,IAAI1D,EAAE+D,KAAK/D,EAAEkN,UAAU6G,gBAAgB9T,EAAE8T,eAAe/T,EAAEkN,UAAU0jB,iBAAiB3wB,EAAE2wB,eAAe,CAAC7xB,EAAEF,EAAEmB,EAAE8O,UAAS9O,EAAE1D,EAAE0D,EAAEC,EAAE0G,UAAU,KAAM4H,OAAO1P,EAAEA,EAAEmB,EAAE,MAAMnB,EAAOE,EAAEF,EAAEmB,GAAG,MAAWlB,EAAED,EAAEmB,GAAGA,EAAEA,EAAE8O,SAAQ9O,EAAE6wB,GAAG5wB,EAAEpB,EAAEksB,KAAKpnB,IAAK4K,OAAO1P,EAAEA,EAAEmB,EAAE,OAAOE,EAAErB,GAAG,KAAK6D,EAAG,OAAiBsiB,EAAEnmB,EAAEmB,GAAd0D,EAAEzD,EAAEmE,OAAcnE,EAAEkE,UAAUR,GAAG,GAAGwC,GAAGlG,GAAG,OAAOlI,EAAE8G,EAAEmB,EAAEC,EAAE0D,GAAG,GAAGb,EAAG7C,GAAG,OAAO8kB,EAAElmB,EAAEmB,EAAEC,EAAE0D,GAAG2sB,GAAGzxB,EAAEoB,GAAG,MAAM,kBAAkBA,GAAG,KAAKA,GAAG,kBAAkBA,GAAGA,EAAE,GAAGA,EAAE,OAAOD,GAAG,IAAIA,EAAE+D,KAAKhF,EAAEF,EAAEmB,EAAE8O,UAAS9O,EAAE1D,EAAE0D,EAAEC,IAAKsO,OAAO1P,EAAEA,EAAEmB,IACnfjB,EAAEF,EAAEmB,IAAGA,EAAE0wB,GAAGzwB,EAAEpB,EAAEksB,KAAKpnB,IAAK4K,OAAO1P,EAAEA,EAAEmB,GAAGE,EAAErB,IAAIE,EAAEF,EAAEmB,IAAY,IAAIgxB,GAAGR,IAAG,GAAIS,GAAGT,IAAG,GAAIU,GAAG,GAAGC,GAAGrJ,GAAGoJ,IAAIE,GAAGtJ,GAAGoJ,IAAIG,GAAGvJ,GAAGoJ,IAAI,SAASI,GAAGzyB,GAAG,GAAGA,IAAIqyB,GAAG,MAAMv6B,MAAMiI,EAAE,MAAM,OAAOC,EAAE,SAAS0yB,GAAG1yB,EAAEC,GAAyC,OAAtCkpB,GAAEqJ,GAAGvyB,GAAGkpB,GAAEoJ,GAAGvyB,GAAGmpB,GAAEmJ,GAAGD,IAAIryB,EAAEC,EAAEgJ,UAAmB,KAAK,EAAE,KAAK,GAAGhJ,GAAGA,EAAEA,EAAEiiB,iBAAiBjiB,EAAEsI,aAAaH,GAAG,KAAK,IAAI,MAAM,QAAkEnI,EAAEmI,GAArCnI,GAAvBD,EAAE,IAAIA,EAAEC,EAAE8N,WAAW9N,GAAMsI,cAAc,KAAKvI,EAAEA,EAAE2yB,SAAkBzJ,GAAEoJ,IAAInJ,GAAEmJ,GAAGryB,GAAG,SAAS2yB,KAAK1J,GAAEoJ,IAAIpJ,GAAEqJ,IAAIrJ,GAAEsJ,IAChb,SAASK,GAAG7yB,GAAGyyB,GAAGD,GAAGtiB,SAAS,IAAIjQ,EAAEwyB,GAAGH,GAAGpiB,SAAahQ,EAAEkI,GAAGnI,EAAED,EAAE9I,MAAM+I,IAAIC,IAAIipB,GAAEoJ,GAAGvyB,GAAGmpB,GAAEmJ,GAAGpyB,IAAI,SAAS4yB,GAAG9yB,GAAGuyB,GAAGriB,UAAUlQ,IAAIkpB,GAAEoJ,IAAIpJ,GAAEqJ,KAAK,IAAIQ,GAAE9J,GAAG,GACrJ,SAAS+J,GAAGhzB,GAAG,IAAI,IAAIC,EAAED,EAAE,OAAOC,GAAG,CAAC,GAAG,KAAKA,EAAEiF,IAAI,CAAC,IAAIhF,EAAED,EAAE2P,cAAc,GAAG,OAAO1P,IAAmB,QAAfA,EAAEA,EAAE2P,aAAqB,OAAO3P,EAAEya,MAAM,OAAOza,EAAEya,MAAM,OAAO1a,OAAO,GAAG,KAAKA,EAAEiF,UAAK,IAASjF,EAAEqsB,cAAc2G,aAAa,GAAG,KAAa,IAARhzB,EAAE7J,OAAW,OAAO6J,OAAO,GAAG,OAAOA,EAAE+P,MAAM,CAAC/P,EAAE+P,MAAMN,OAAOzP,EAAEA,EAAEA,EAAE+P,MAAM,SAAS,GAAG/P,IAAID,EAAE,MAAM,KAAK,OAAOC,EAAEgQ,SAAS,CAAC,GAAG,OAAOhQ,EAAEyP,QAAQzP,EAAEyP,SAAS1P,EAAE,OAAO,KAAKC,EAAEA,EAAEyP,OAAOzP,EAAEgQ,QAAQP,OAAOzP,EAAEyP,OAAOzP,EAAEA,EAAEgQ,QAAQ,OAAO,KAAK,IAAIijB,GAAG,GACrc,SAASC,KAAK,IAAI,IAAInzB,EAAE,EAAEA,EAAEkzB,GAAG//B,OAAO6M,IAAIkzB,GAAGlzB,GAAGozB,8BAA8B,KAAKF,GAAG//B,OAAO,EAAE,IAAIkgC,GAAGvwB,EAAGwwB,uBAAuBC,GAAGzwB,EAAG6S,wBAAwB6d,GAAG,EAAEC,GAAE,KAAKC,GAAE,KAAKC,GAAE,KAAKC,IAAG,EAAGC,IAAG,EAAGC,GAAG,EAAEC,GAAG,EAAE,SAASC,KAAI,MAAMl8B,MAAMiI,EAAE,MAAO,SAASk0B,GAAGj0B,EAAEC,GAAG,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAI,IAAIC,EAAE,EAAEA,EAAED,EAAE9M,QAAQ+M,EAAEF,EAAE7M,OAAO+M,IAAI,IAAI8gB,GAAGhhB,EAAEE,GAAGD,EAAEC,IAAI,OAAM,EAAG,OAAM,EAC9V,SAASg0B,GAAGl0B,EAAEC,EAAEC,EAAEiB,EAAE1D,EAAE2D,GAAyH,GAAtHoyB,GAAGpyB,EAAEqyB,GAAExzB,EAAEA,EAAE2P,cAAc,KAAK3P,EAAEmuB,YAAY,KAAKnuB,EAAEutB,MAAM,EAAE6F,GAAGnjB,QAAQ,OAAOlQ,GAAG,OAAOA,EAAE4P,cAAcukB,GAAGC,GAAGp0B,EAAEE,EAAEiB,EAAE1D,GAAMo2B,GAAG,CAACzyB,EAAE,EAAE,EAAE,CAAY,GAAXyyB,IAAG,EAAGC,GAAG,EAAK,IAAI1yB,EAAE,MAAMtJ,MAAMiI,EAAE,MAAMqB,GAAG,EAAEuyB,GAAED,GAAE,KAAKzzB,EAAEmuB,YAAY,KAAKiF,GAAGnjB,QAAQmkB,GAAGr0B,EAAEE,EAAEiB,EAAE1D,SAASo2B,IAAkE,GAA9DR,GAAGnjB,QAAQokB,GAAGr0B,EAAE,OAAOyzB,IAAG,OAAOA,GAAE9F,KAAK4F,GAAG,EAAEG,GAAED,GAAED,GAAE,KAAKG,IAAG,EAAM3zB,EAAE,MAAMnI,MAAMiI,EAAE,MAAM,OAAOC,EAAE,SAASu0B,KAAK,IAAIv0B,EAAE,IAAI8zB,GAAQ,OAALA,GAAG,EAAS9zB,EAC9Y,SAASw0B,KAAK,IAAIx0B,EAAE,CAAC4P,cAAc,KAAKye,UAAU,KAAKoG,UAAU,KAAKC,MAAM,KAAK9G,KAAK,MAA8C,OAAxC,OAAO+F,GAAEF,GAAE7jB,cAAc+jB,GAAE3zB,EAAE2zB,GAAEA,GAAE/F,KAAK5tB,EAAS2zB,GAAE,SAASgB,KAAK,GAAG,OAAOjB,GAAE,CAAC,IAAI1zB,EAAEyzB,GAAEhkB,UAAUzP,EAAE,OAAOA,EAAEA,EAAE4P,cAAc,UAAU5P,EAAE0zB,GAAE9F,KAAK,IAAI3tB,EAAE,OAAO0zB,GAAEF,GAAE7jB,cAAc+jB,GAAE/F,KAAK,GAAG,OAAO3tB,EAAE0zB,GAAE1zB,EAAEyzB,GAAE1zB,MAAM,CAAC,GAAG,OAAOA,EAAE,MAAMlI,MAAMiI,EAAE,MAAUC,EAAE,CAAC4P,eAAP8jB,GAAE1zB,GAAqB4P,cAAcye,UAAUqF,GAAErF,UAAUoG,UAAUf,GAAEe,UAAUC,MAAMhB,GAAEgB,MAAM9G,KAAK,MAAM,OAAO+F,GAAEF,GAAE7jB,cAAc+jB,GAAE3zB,EAAE2zB,GAAEA,GAAE/F,KAAK5tB,EAAE,OAAO2zB,GAChe,SAASiB,GAAG50B,EAAEC,GAAG,MAAM,oBAAoBA,EAAEA,EAAED,GAAGC,EAClD,SAAS40B,GAAG70B,GAAG,IAAIC,EAAE00B,KAAKz0B,EAAED,EAAEy0B,MAAM,GAAG,OAAOx0B,EAAE,MAAMpI,MAAMiI,EAAE,MAAMG,EAAE40B,oBAAoB90B,EAAE,IAAImB,EAAEuyB,GAAEj2B,EAAE0D,EAAEszB,UAAUrzB,EAAElB,EAAEuuB,QAAQ,GAAG,OAAOrtB,EAAE,CAAC,GAAG,OAAO3D,EAAE,CAAC,IAAI4D,EAAE5D,EAAEmwB,KAAKnwB,EAAEmwB,KAAKxsB,EAAEwsB,KAAKxsB,EAAEwsB,KAAKvsB,EAAEF,EAAEszB,UAAUh3B,EAAE2D,EAAElB,EAAEuuB,QAAQ,KAAK,GAAG,OAAOhxB,EAAE,CAAC2D,EAAE3D,EAAEmwB,KAAKzsB,EAAEA,EAAEktB,UAAU,IAAIvpB,EAAEzD,EAAE,KAAK0D,EAAE,KAAKF,EAAEzD,EAAE,EAAE,CAAC,IAAIhK,EAAEyN,EAAEiqB,KAAK,IAAI0E,GAAGp8B,KAAKA,EAAE,OAAO2N,IAAIA,EAAEA,EAAE6oB,KAAK,CAACkB,KAAK,EAAEiG,OAAOlwB,EAAEkwB,OAAOC,cAAcnwB,EAAEmwB,cAAcC,WAAWpwB,EAAEowB,WAAWrH,KAAK,OAAOzsB,EAAE0D,EAAEmwB,cAAcnwB,EAAEowB,WAAWj1B,EAAEmB,EAAE0D,EAAEkwB,YAAY,CAAC,IAAIzF,EAAE,CAACR,KAAK13B,EAAE29B,OAAOlwB,EAAEkwB,OAAOC,cAAcnwB,EAAEmwB,cACngBC,WAAWpwB,EAAEowB,WAAWrH,KAAK,MAAM,OAAO7oB,GAAGD,EAAEC,EAAEuqB,EAAEjuB,EAAEF,GAAG4D,EAAEA,EAAE6oB,KAAK0B,EAAEmE,GAAEjG,OAAOp2B,EAAEq4B,IAAIr4B,EAAEyN,EAAEA,EAAE+oB,WAAW,OAAO/oB,GAAGA,IAAIzD,GAAG,OAAO2D,EAAE1D,EAAEF,EAAE4D,EAAE6oB,KAAK9oB,EAAEkc,GAAG7f,EAAElB,EAAE2P,iBAAiB6d,IAAG,GAAIxtB,EAAE2P,cAAczO,EAAElB,EAAEouB,UAAUhtB,EAAEpB,EAAEw0B,UAAU1vB,EAAE7E,EAAEg1B,kBAAkB/zB,EAAkB,GAAG,QAAnBnB,EAAEE,EAAE8tB,aAAwB,CAACvwB,EAAEuC,EAAE,GAAGoB,EAAE3D,EAAEqxB,KAAK2E,GAAEjG,OAAOpsB,EAAEquB,IAAIruB,EAAE3D,EAAEA,EAAEmwB,WAAWnwB,IAAIuC,QAAQ,OAAOvC,IAAIyC,EAAEstB,MAAM,GAAG,MAAM,CAACvtB,EAAE2P,cAAc1P,EAAEi1B,UACrX,SAASC,GAAGp1B,GAAG,IAAIC,EAAE00B,KAAKz0B,EAAED,EAAEy0B,MAAM,GAAG,OAAOx0B,EAAE,MAAMpI,MAAMiI,EAAE,MAAMG,EAAE40B,oBAAoB90B,EAAE,IAAImB,EAAEjB,EAAEi1B,SAAS13B,EAAEyC,EAAEuuB,QAAQrtB,EAAEnB,EAAE2P,cAAc,GAAG,OAAOnS,EAAE,CAACyC,EAAEuuB,QAAQ,KAAK,IAAIptB,EAAE5D,EAAEA,EAAEmwB,KAAK,GAAGxsB,EAAEpB,EAAEoB,EAAEC,EAAE0zB,QAAQ1zB,EAAEA,EAAEusB,WAAWvsB,IAAI5D,GAAGujB,GAAG5f,EAAEnB,EAAE2P,iBAAiB6d,IAAG,GAAIxtB,EAAE2P,cAAcxO,EAAE,OAAOnB,EAAEw0B,YAAYx0B,EAAEouB,UAAUjtB,GAAGlB,EAAEg1B,kBAAkB9zB,EAAE,MAAM,CAACA,EAAED,GAAG,SAASk0B,MAC/V,SAASC,GAAGt1B,EAAEC,GAAG,IAAIC,EAAEuzB,GAAEtyB,EAAEwzB,KAAKl3B,EAAEwC,IAAImB,GAAG4f,GAAG7f,EAAEyO,cAAcnS,GAAsE,GAAnE2D,IAAID,EAAEyO,cAAcnS,EAAEgwB,IAAG,GAAItsB,EAAEA,EAAEuzB,MAAMa,GAAGC,GAAG/8B,KAAK,KAAKyH,EAAEiB,EAAEnB,GAAG,CAACA,IAAOmB,EAAEs0B,cAAcx1B,GAAGmB,GAAG,OAAOuyB,IAAuB,EAApBA,GAAE/jB,cAAc1K,IAAM,CAAuD,GAAtDhF,EAAE9J,OAAO,KAAKs/B,GAAG,EAAEC,GAAGl9B,KAAK,KAAKyH,EAAEiB,EAAE1D,EAAEwC,QAAG,EAAO,MAAS,OAAO5L,GAAE,MAAMyD,MAAMiI,EAAE,MAAM,KAAQ,GAAHyzB,KAAQoC,GAAG11B,EAAED,EAAExC,GAAG,OAAOA,EAAE,SAASm4B,GAAG51B,EAAEC,EAAEC,GAAGF,EAAE5J,OAAO,MAAM4J,EAAE,CAACy1B,YAAYx1B,EAAE9K,MAAM+K,GAAmB,QAAhBD,EAAEwzB,GAAErF,cAAsBnuB,EAAE,CAAC41B,WAAW,KAAKC,OAAO,MAAMrC,GAAErF,YAAYnuB,EAAEA,EAAE61B,OAAO,CAAC91B,IAAgB,QAAXE,EAAED,EAAE61B,QAAgB71B,EAAE61B,OAAO,CAAC91B,GAAGE,EAAE5M,KAAK0M,GAC/e,SAAS21B,GAAG31B,EAAEC,EAAEC,EAAEiB,GAAGlB,EAAE9K,MAAM+K,EAAED,EAAEw1B,YAAYt0B,EAAE40B,GAAG91B,IAAI+1B,GAAGh2B,GAAG,SAASw1B,GAAGx1B,EAAEC,EAAEC,GAAG,OAAOA,GAAE,WAAW61B,GAAG91B,IAAI+1B,GAAGh2B,MAAK,SAAS+1B,GAAG/1B,GAAG,IAAIC,EAAED,EAAEy1B,YAAYz1B,EAAEA,EAAE7K,MAAM,IAAI,IAAI+K,EAAED,IAAI,OAAO+gB,GAAGhhB,EAAEE,GAAG,MAAMiB,GAAG,OAAM,GAAI,SAAS60B,GAAGh2B,GAAG,IAAIC,EAAEguB,GAAGjuB,EAAE,GAAG,OAAOC,GAAGowB,GAAGpwB,EAAED,EAAE,GAAG,GAChQ,SAASi2B,GAAGj2B,GAAG,IAAIC,EAAEu0B,KAA8M,MAAzM,oBAAoBx0B,IAAIA,EAAEA,KAAKC,EAAE2P,cAAc3P,EAAEouB,UAAUruB,EAAEA,EAAE,CAACyuB,QAAQ,KAAKT,YAAY,KAAKR,MAAM,EAAE2H,SAAS,KAAKL,oBAAoBF,GAAGM,kBAAkBl1B,GAAGC,EAAEy0B,MAAM10B,EAAEA,EAAEA,EAAEm1B,SAASe,GAAGz9B,KAAK,KAAKg7B,GAAEzzB,GAAS,CAACC,EAAE2P,cAAc5P,GAC1P,SAAS01B,GAAG11B,EAAEC,EAAEC,EAAEiB,GAA8O,OAA3OnB,EAAE,CAACkF,IAAIlF,EAAExI,OAAOyI,EAAEk2B,QAAQj2B,EAAEk2B,KAAKj1B,EAAEysB,KAAK,MAAsB,QAAhB3tB,EAAEwzB,GAAErF,cAAsBnuB,EAAE,CAAC41B,WAAW,KAAKC,OAAO,MAAMrC,GAAErF,YAAYnuB,EAAEA,EAAE41B,WAAW71B,EAAE4tB,KAAK5tB,GAAmB,QAAfE,EAAED,EAAE41B,YAAoB51B,EAAE41B,WAAW71B,EAAE4tB,KAAK5tB,GAAGmB,EAAEjB,EAAE0tB,KAAK1tB,EAAE0tB,KAAK5tB,EAAEA,EAAE4tB,KAAKzsB,EAAElB,EAAE41B,WAAW71B,GAAWA,EAAE,SAASq2B,KAAK,OAAO1B,KAAK/kB,cAAc,SAAS0mB,GAAGt2B,EAAEC,EAAEC,EAAEiB,GAAG,IAAI1D,EAAE+2B,KAAKf,GAAEr9B,OAAO4J,EAAEvC,EAAEmS,cAAc8lB,GAAG,EAAEz1B,EAAEC,OAAE,OAAO,IAASiB,EAAE,KAAKA,GAC5Y,SAASo1B,GAAGv2B,EAAEC,EAAEC,EAAEiB,GAAG,IAAI1D,EAAEk3B,KAAKxzB,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIC,OAAE,EAAO,GAAG,OAAOsyB,GAAE,CAAC,IAAIryB,EAAEqyB,GAAE9jB,cAA0B,GAAZxO,EAAEC,EAAE80B,QAAW,OAAOh1B,GAAG8yB,GAAG9yB,EAAEE,EAAE+0B,MAAmC,YAA5B34B,EAAEmS,cAAc8lB,GAAGz1B,EAAEC,EAAEkB,EAAED,IAAWsyB,GAAEr9B,OAAO4J,EAAEvC,EAAEmS,cAAc8lB,GAAG,EAAEz1B,EAAEC,EAAEkB,EAAED,GAAG,SAASq1B,GAAGx2B,EAAEC,GAAG,OAAOq2B,GAAG,QAAQ,EAAEt2B,EAAEC,GAAG,SAASs1B,GAAGv1B,EAAEC,GAAG,OAAOs2B,GAAG,KAAK,EAAEv2B,EAAEC,GAAG,SAASw2B,GAAGz2B,EAAEC,GAAG,OAAOs2B,GAAG,EAAE,EAAEv2B,EAAEC,GAAG,SAASy2B,GAAG12B,EAAEC,GAAG,OAAOs2B,GAAG,EAAE,EAAEv2B,EAAEC,GAC9W,SAAS02B,GAAG32B,EAAEC,GAAG,MAAG,oBAAoBA,GAASD,EAAEA,IAAIC,EAAED,GAAG,WAAWC,EAAE,QAAU,OAAOA,QAAG,IAASA,GAASD,EAAEA,IAAIC,EAAEiQ,QAAQlQ,EAAE,WAAWC,EAAEiQ,QAAQ,YAAtE,EAA4E,SAAS0mB,GAAG52B,EAAEC,EAAEC,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAEnL,OAAO,CAACiL,IAAI,KAAYu2B,GAAG,EAAE,EAAEI,GAAGl+B,KAAK,KAAKwH,EAAED,GAAGE,GAAG,SAAS22B,MAAM,SAASC,GAAG92B,EAAEC,GAAG,IAAIC,EAAEy0B,KAAK10B,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIkB,EAAEjB,EAAE0P,cAAc,OAAG,OAAOzO,GAAG,OAAOlB,GAAGg0B,GAAGh0B,EAAEkB,EAAE,IAAWA,EAAE,IAAGjB,EAAE0P,cAAc,CAAC5P,EAAEC,GAAUD,GAC5Z,SAAS+2B,GAAG/2B,EAAEC,GAAG,IAAIC,EAAEy0B,KAAK10B,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIkB,EAAEjB,EAAE0P,cAAc,OAAG,OAAOzO,GAAG,OAAOlB,GAAGg0B,GAAGh0B,EAAEkB,EAAE,IAAWA,EAAE,IAAGnB,EAAEA,IAAIE,EAAE0P,cAAc,CAAC5P,EAAEC,GAAUD,GAAE,SAASg3B,GAAGh3B,EAAEC,EAAEC,GAAG,OAAG,KAAQ,GAAHszB,KAAcxzB,EAAEquB,YAAYruB,EAAEquB,WAAU,EAAGZ,IAAG,GAAIztB,EAAE4P,cAAc1P,IAAE8gB,GAAG9gB,EAAED,KAAKC,EAAE6S,KAAK0gB,GAAEjG,OAAOttB,EAAEuvB,IAAIvvB,EAAEF,EAAEquB,WAAU,GAAWpuB,GAAE,SAASg3B,GAAGj3B,EAAEC,GAAG,IAAIC,EAAEkT,GAAEA,GAAE,IAAIlT,GAAG,EAAEA,EAAEA,EAAE,EAAEF,GAAE,GAAI,IAAImB,EAAEoyB,GAAGzd,WAAWyd,GAAGzd,WAAW,GAAG,IAAI9V,GAAE,GAAIC,IAAV,QAAsBmT,GAAElT,EAAEqzB,GAAGzd,WAAW3U,GAAG,SAAS+1B,KAAK,OAAOvC,KAAK/kB,cAC7c,SAASunB,GAAGn3B,EAAEC,EAAEC,GAAG,IAAIiB,EAAEivB,GAAGpwB,GAAkE,GAA/DE,EAAE,CAAC4uB,KAAK3tB,EAAE4zB,OAAO70B,EAAE80B,eAAc,EAAGC,WAAW,KAAKrH,KAAK,MAASwJ,GAAGp3B,GAAGq3B,GAAGp3B,EAAEC,QAAQ,GAAiB,QAAdA,EAAE6tB,GAAG/tB,EAAEC,EAAEC,EAAEiB,IAAY,CAAWkvB,GAAGnwB,EAAEF,EAAEmB,EAAXgvB,MAAgBmH,GAAGp3B,EAAED,EAAEkB,IAC5K,SAAS+0B,GAAGl2B,EAAEC,EAAEC,GAAG,IAAIiB,EAAEivB,GAAGpwB,GAAGvC,EAAE,CAACqxB,KAAK3tB,EAAE4zB,OAAO70B,EAAE80B,eAAc,EAAGC,WAAW,KAAKrH,KAAK,MAAM,GAAGwJ,GAAGp3B,GAAGq3B,GAAGp3B,EAAExC,OAAO,CAAC,IAAI2D,EAAEpB,EAAEyP,UAAU,GAAG,IAAIzP,EAAEwtB,QAAQ,OAAOpsB,GAAG,IAAIA,EAAEosB,QAAiC,QAAxBpsB,EAAEnB,EAAE60B,qBAA8B,IAAI,IAAIzzB,EAAEpB,EAAEi1B,kBAAkBpwB,EAAE1D,EAAEC,EAAEnB,GAAqC,GAAlCzC,EAAEu3B,eAAc,EAAGv3B,EAAEw3B,WAAWnwB,EAAKkc,GAAGlc,EAAEzD,GAAG,CAAC,IAAI0D,EAAE9E,EAAE+tB,YAA+E,OAAnE,OAAOjpB,GAAGtH,EAAEmwB,KAAKnwB,EAAEqwB,GAAG7tB,KAAKxC,EAAEmwB,KAAK7oB,EAAE6oB,KAAK7oB,EAAE6oB,KAAKnwB,QAAGwC,EAAE+tB,YAAYvwB,IAAU,MAAMoH,IAA2B,QAAd3E,EAAE6tB,GAAG/tB,EAAEC,EAAExC,EAAE0D,MAAoBkvB,GAAGnwB,EAAEF,EAAEmB,EAAb1D,EAAE0yB,MAAgBmH,GAAGp3B,EAAED,EAAEkB,KAC3c,SAASi2B,GAAGp3B,GAAG,IAAIC,EAAED,EAAEyP,UAAU,OAAOzP,IAAIyzB,IAAG,OAAOxzB,GAAGA,IAAIwzB,GAAE,SAAS4D,GAAGr3B,EAAEC,GAAG4zB,GAAGD,IAAG,EAAG,IAAI1zB,EAAEF,EAAEyuB,QAAQ,OAAOvuB,EAAED,EAAE2tB,KAAK3tB,GAAGA,EAAE2tB,KAAK1tB,EAAE0tB,KAAK1tB,EAAE0tB,KAAK3tB,GAAGD,EAAEyuB,QAAQxuB,EAAE,SAASq3B,GAAGt3B,EAAEC,EAAEC,GAAG,GAAG,KAAO,QAAFA,GAAW,CAAC,IAAIiB,EAAElB,EAAEutB,MAAwBttB,GAAlBiB,GAAGnB,EAAEwS,aAAkBvS,EAAEutB,MAAMttB,EAAEiT,GAAGnT,EAAEE,IAC3P,IAAIo0B,GAAG,CAACiD,YAAY7J,GAAG8J,YAAYxD,GAAEyD,WAAWzD,GAAE0D,UAAU1D,GAAE2D,oBAAoB3D,GAAE4D,mBAAmB5D,GAAE6D,gBAAgB7D,GAAE8D,QAAQ9D,GAAE+D,WAAW/D,GAAEgE,OAAOhE,GAAEiE,SAASjE,GAAEkE,cAAclE,GAAEmE,iBAAiBnE,GAAEoE,cAAcpE,GAAEqE,iBAAiBrE,GAAEsE,qBAAqBtE,GAAEuE,MAAMvE,GAAEwE,0BAAyB,GAAIrE,GAAG,CAACoD,YAAY7J,GAAG8J,YAAY,SAASx3B,EAAEC,GAA4C,OAAzCu0B,KAAK5kB,cAAc,CAAC5P,OAAE,IAASC,EAAE,KAAKA,GAAUD,GAAGy3B,WAAW/J,GAAGgK,UAAUlB,GAAGmB,oBAAoB,SAAS33B,EAAEC,EAAEC,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAEnL,OAAO,CAACiL,IAAI,KAAYs2B,GAAG,QAC3f,EAAEK,GAAGl+B,KAAK,KAAKwH,EAAED,GAAGE,IAAI23B,gBAAgB,SAAS73B,EAAEC,GAAG,OAAOq2B,GAAG,QAAQ,EAAEt2B,EAAEC,IAAI23B,mBAAmB,SAAS53B,EAAEC,GAAG,OAAOq2B,GAAG,EAAE,EAAEt2B,EAAEC,IAAI63B,QAAQ,SAAS93B,EAAEC,GAAG,IAAIC,EAAEs0B,KAAqD,OAAhDv0B,OAAE,IAASA,EAAE,KAAKA,EAAED,EAAEA,IAAIE,EAAE0P,cAAc,CAAC5P,EAAEC,GAAUD,GAAG+3B,WAAW,SAAS/3B,EAAEC,EAAEC,GAAG,IAAIiB,EAAEqzB,KAAkM,OAA7Lv0B,OAAE,IAASC,EAAEA,EAAED,GAAGA,EAAEkB,EAAEyO,cAAczO,EAAEktB,UAAUpuB,EAAED,EAAE,CAACyuB,QAAQ,KAAKT,YAAY,KAAKR,MAAM,EAAE2H,SAAS,KAAKL,oBAAoB90B,EAAEk1B,kBAAkBj1B,GAAGkB,EAAEuzB,MAAM10B,EAAEA,EAAEA,EAAEm1B,SAASgC,GAAG1+B,KAAK,KAAKg7B,GAAEzzB,GAAS,CAACmB,EAAEyO,cAAc5P,IAAIg4B,OAAO,SAASh4B,GAC3d,OAAdA,EAAE,CAACkQ,QAAQlQ,GAAhBw0B,KAA4B5kB,cAAc5P,GAAGi4B,SAAShC,GAAGiC,cAAcrB,GAAGsB,iBAAiB,SAASn4B,GAAG,OAAOw0B,KAAK5kB,cAAc5P,GAAGo4B,cAAc,WAAW,IAAIp4B,EAAEi2B,IAAG,GAAIh2B,EAAED,EAAE,GAA6C,OAA1CA,EAAEi3B,GAAGx+B,KAAK,KAAKuH,EAAE,IAAIw0B,KAAK5kB,cAAc5P,EAAQ,CAACC,EAAED,IAAIq4B,iBAAiB,aAAaC,qBAAqB,SAASt4B,EAAEC,EAAEC,GAAG,IAAIiB,EAAEsyB,GAAEh2B,EAAE+2B,KAAK,GAAGjJ,GAAE,CAAC,QAAG,IAASrrB,EAAE,MAAMpI,MAAMiI,EAAE,MAAMG,EAAEA,QAAQ,CAAO,GAANA,EAAED,IAAO,OAAO5L,GAAE,MAAMyD,MAAMiI,EAAE,MAAM,KAAQ,GAAHyzB,KAAQoC,GAAGz0B,EAAElB,EAAEC,GAAGzC,EAAEmS,cAAc1P,EAAE,IAAIkB,EAAE,CAACjM,MAAM+K,EAAEu1B,YAAYx1B,GACvZ,OAD0ZxC,EAAEi3B,MAAMtzB,EAAEo1B,GAAGhB,GAAG/8B,KAAK,KAAK0I,EACpfC,EAAEpB,GAAG,CAACA,IAAImB,EAAE/K,OAAO,KAAKs/B,GAAG,EAAEC,GAAGl9B,KAAK,KAAK0I,EAAEC,EAAElB,EAAED,QAAG,EAAO,MAAaC,GAAGq4B,MAAM,WAAW,IAAIv4B,EAAEw0B,KAAKv0B,EAAE5L,GAAEokC,iBAAiB,GAAGlN,GAAE,CAAC,IAAIrrB,EAAE8qB,GAAkD/qB,EAAE,IAAIA,EAAE,KAA9CC,GAAH6qB,KAAU,GAAG,GAAGlZ,GAAhBkZ,IAAsB,IAAIp3B,SAAS,IAAIuM,GAAuB,GAAPA,EAAE4zB,QAAW7zB,GAAG,IAAIC,EAAEvM,SAAS,KAAKsM,GAAG,SAAgBA,EAAE,IAAIA,EAAE,KAAfC,EAAE6zB,MAAmBpgC,SAAS,IAAI,IAAI,OAAOqM,EAAE4P,cAAc3P,GAAGu4B,0BAAyB,GAAIpE,GAAG,CAACmD,YAAY7J,GAAG8J,YAAYV,GAAGW,WAAW/J,GAAGgK,UAAUnC,GAAGoC,oBAAoBf,GAAGgB,mBAAmBnB,GAAGoB,gBAAgBnB,GAAGoB,QAAQf,GAAGgB,WAAWlD,GAAGmD,OAAO3B,GAAG4B,SAAS,WAAW,OAAOpD,GAAGD,KAClhBsD,cAAcrB,GAAGsB,iBAAiB,SAASn4B,GAAc,OAAOg3B,GAAZrC,KAAiBjB,GAAE9jB,cAAc5P,IAAIo4B,cAAc,WAAgD,MAAM,CAArCvD,GAAGD,IAAI,GAAKD,KAAK/kB,gBAA2ByoB,iBAAiBhD,GAAGiD,qBAAqBhD,GAAGiD,MAAMrB,GAAGsB,0BAAyB,GAAInE,GAAG,CAACkD,YAAY7J,GAAG8J,YAAYV,GAAGW,WAAW/J,GAAGgK,UAAUnC,GAAGoC,oBAAoBf,GAAGgB,mBAAmBnB,GAAGoB,gBAAgBnB,GAAGoB,QAAQf,GAAGgB,WAAW3C,GAAG4C,OAAO3B,GAAG4B,SAAS,WAAW,OAAO7C,GAAGR,KAAKsD,cAAcrB,GAAGsB,iBAAiB,SAASn4B,GAAG,IAAIC,EAAE00B,KAAK,OAAO,OACzfjB,GAAEzzB,EAAE2P,cAAc5P,EAAEg3B,GAAG/2B,EAAEyzB,GAAE9jB,cAAc5P,IAAIo4B,cAAc,WAAgD,MAAM,CAArChD,GAAGR,IAAI,GAAKD,KAAK/kB,gBAA2ByoB,iBAAiBhD,GAAGiD,qBAAqBhD,GAAGiD,MAAMrB,GAAGsB,0BAAyB,GAAI,SAASE,GAAG14B,EAAEC,GAAG,IAAI,IAAIC,EAAE,GAAGiB,EAAElB,EAAE,GAAGC,GAAG+E,EAAG9D,GAAGA,EAAEA,EAAEuO,aAAavO,GAAG,IAAI1D,EAAEyC,EAAE,MAAMkB,GAAG3D,EAAE,6BAA6B2D,EAAElH,QAAQ,KAAKkH,EAAEkD,MAAM,MAAM,CAACnP,MAAM6K,EAAEqN,OAAOpN,EAAEqE,MAAM7G,EAAEk7B,OAAO,MAAM,SAASC,GAAG54B,EAAEC,EAAEC,GAAG,MAAM,CAAC/K,MAAM6K,EAAEqN,OAAO,KAAK/I,MAAM,MAAMpE,EAAEA,EAAE,KAAKy4B,OAAO,MAAM14B,EAAEA,EAAE,MACpd,SAAS44B,GAAG74B,EAAEC,GAAG,IAAIhI,QAAQ+B,MAAMiG,EAAE9K,OAAO,MAAM+K,GAAG2nB,YAAW,WAAW,MAAM3nB,MAAM,IAAI44B,GAAG,oBAAoBC,QAAQA,QAAQ9kB,IAAI,SAAS+kB,GAAGh5B,EAAEC,EAAEC,IAAGA,EAAE0uB,IAAI,EAAE1uB,IAAKgF,IAAI,EAAEhF,EAAE6uB,QAAQ,CAAC7vB,QAAQ,MAAM,IAAIiC,EAAElB,EAAE9K,MAAsD,OAAhD+K,EAAE8uB,SAAS,WAAWiK,KAAKA,IAAG,EAAGC,GAAG/3B,GAAG03B,GAAG74B,EAAEC,IAAWC,EAC1Q,SAASi5B,GAAGn5B,EAAEC,EAAEC,IAAGA,EAAE0uB,IAAI,EAAE1uB,IAAKgF,IAAI,EAAE,IAAI/D,EAAEnB,EAAE9I,KAAK4E,yBAAyB,GAAG,oBAAoBqF,EAAE,CAAC,IAAI1D,EAAEwC,EAAE9K,MAAM+K,EAAE6uB,QAAQ,WAAW,OAAO5tB,EAAE1D,IAAIyC,EAAE8uB,SAAS,WAAW6J,GAAG74B,EAAEC,IAAI,IAAImB,EAAEpB,EAAEqO,UAA8O,OAApO,OAAOjN,GAAG,oBAAoBA,EAAEg4B,oBAAoBl5B,EAAE8uB,SAAS,WAAW6J,GAAG74B,EAAEC,GAAG,oBAAoBkB,IAAI,OAAOk4B,GAAGA,GAAG,IAAIh5B,IAAI,CAAC/K,OAAO+jC,GAAG54B,IAAInL,OAAO,IAAI4K,EAAED,EAAEqE,MAAMhP,KAAK8jC,kBAAkBn5B,EAAE9K,MAAM,CAACmkC,eAAe,OAAOp5B,EAAEA,EAAE,OAAcA,EAClb,SAASq5B,GAAGv5B,EAAEC,EAAEC,GAAG,IAAIiB,EAAEnB,EAAEw5B,UAAU,GAAG,OAAOr4B,EAAE,CAACA,EAAEnB,EAAEw5B,UAAU,IAAIV,GAAG,IAAIr7B,EAAE,IAAI4C,IAAIc,EAAEzH,IAAIuG,EAAExC,aAAmB,KAAXA,EAAE0D,EAAE1H,IAAIwG,MAAgBxC,EAAE,IAAI4C,IAAIc,EAAEzH,IAAIuG,EAAExC,IAAIA,EAAEioB,IAAIxlB,KAAKzC,EAAEgD,IAAIP,GAAGF,EAAEy5B,GAAGhhC,KAAK,KAAKuH,EAAEC,EAAEC,GAAGD,EAAEkoB,KAAKnoB,EAAEA,IAAI,SAAS05B,GAAG15B,GAAG,EAAE,CAAC,IAAIC,EAA4E,IAAvEA,EAAE,KAAKD,EAAEkF,OAAsBjF,EAAE,QAApBA,EAAED,EAAE4P,gBAAyB,OAAO3P,EAAE4P,YAAuB5P,EAAE,OAAOD,EAAEA,EAAEA,EAAE0P,aAAa,OAAO1P,GAAG,OAAO,KAC5V,SAAS25B,GAAG35B,EAAEC,EAAEC,EAAEiB,EAAE1D,GAAG,OAAG,KAAY,EAAPuC,EAAEksB,OAAelsB,IAAIC,EAAED,EAAE5J,OAAO,OAAO4J,EAAE5J,OAAO,IAAI8J,EAAE9J,OAAO,OAAO8J,EAAE9J,QAAQ,MAAM,IAAI8J,EAAEgF,MAAM,OAAOhF,EAAEuP,UAAUvP,EAAEgF,IAAI,KAAIjF,EAAE2uB,IAAI,EAAE,IAAK1pB,IAAI,EAAE+pB,GAAG/uB,EAAED,EAAE,KAAKC,EAAEstB,OAAO,GAAGxtB,IAAEA,EAAE5J,OAAO,MAAM4J,EAAEwtB,MAAM/vB,EAASuC,GAAE,IAAI45B,GAAG92B,EAAG+2B,kBAAkBpM,IAAG,EAAG,SAASqM,GAAG95B,EAAEC,EAAEC,EAAEiB,GAAGlB,EAAE+P,MAAM,OAAOhQ,EAAEoyB,GAAGnyB,EAAE,KAAKC,EAAEiB,GAAGgxB,GAAGlyB,EAAED,EAAEgQ,MAAM9P,EAAEiB,GACjV,SAAS44B,GAAG/5B,EAAEC,EAAEC,EAAEiB,EAAE1D,GAAGyC,EAAEA,EAAErD,OAAO,IAAIuE,EAAEnB,EAAEqxB,IAAqC,OAAjCjE,GAAGptB,EAAExC,GAAG0D,EAAE+yB,GAAGl0B,EAAEC,EAAEC,EAAEiB,EAAEC,EAAE3D,GAAGyC,EAAEq0B,KAAQ,OAAOv0B,GAAIytB,IAA2ElC,IAAGrrB,GAAGirB,GAAGlrB,GAAGA,EAAE7J,OAAO,EAAE0jC,GAAG95B,EAAEC,EAAEkB,EAAE1D,GAAUwC,EAAE+P,QAA7G/P,EAAEmuB,YAAYpuB,EAAEouB,YAAYnuB,EAAE7J,QAAQ,KAAK4J,EAAEwtB,QAAQ/vB,EAAEu8B,GAAGh6B,EAAEC,EAAExC,IACrK,SAASw8B,GAAGj6B,EAAEC,EAAEC,EAAEiB,EAAE1D,GAAG,GAAG,OAAOuC,EAAE,CAAC,IAAIoB,EAAElB,EAAEhJ,KAAK,MAAG,oBAAoBkK,GAAI84B,GAAG94B,SAAI,IAASA,EAAEzF,cAAc,OAAOuE,EAAE3D,cAAS,IAAS2D,EAAEvE,eAAoDqE,EAAE8xB,GAAG5xB,EAAEhJ,KAAK,KAAKiK,EAAElB,EAAEA,EAAEisB,KAAKzuB,IAAK6zB,IAAIrxB,EAAEqxB,IAAItxB,EAAE0P,OAAOzP,EAASA,EAAE+P,MAAMhQ,IAArGC,EAAEiF,IAAI,GAAGjF,EAAE/I,KAAKkK,EAAE+4B,GAAGn6B,EAAEC,EAAEmB,EAAED,EAAE1D,IAAoF,GAAV2D,EAAEpB,EAAEgQ,MAAS,KAAKhQ,EAAEwtB,MAAM/vB,GAAG,CAAC,IAAI4D,EAAED,EAAEkrB,cAA0C,IAAhBpsB,EAAE,QAAdA,EAAEA,EAAE3D,SAAmB2D,EAAE+gB,IAAQ5f,EAAEF,IAAInB,EAAEsxB,MAAMrxB,EAAEqxB,IAAI,OAAO0I,GAAGh6B,EAAEC,EAAExC,GAA+C,OAA5CwC,EAAE7J,OAAO,GAAE4J,EAAE4xB,GAAGxwB,EAAED,IAAKmwB,IAAIrxB,EAAEqxB,IAAItxB,EAAE0P,OAAOzP,EAASA,EAAE+P,MAAMhQ,EACzb,SAASm6B,GAAGn6B,EAAEC,EAAEC,EAAEiB,EAAE1D,GAAG,GAAG,OAAOuC,EAAE,CAAC,IAAIoB,EAAEpB,EAAEssB,cAAc,GAAGrL,GAAG7f,EAAED,IAAInB,EAAEsxB,MAAMrxB,EAAEqxB,IAAI,IAAG7D,IAAG,EAAGxtB,EAAE4rB,aAAa1qB,EAAEC,EAAE,KAAKpB,EAAEwtB,MAAM/vB,GAAsC,OAAOwC,EAAEutB,MAAMxtB,EAAEwtB,MAAMwM,GAAGh6B,EAAEC,EAAExC,GAAjE,KAAa,OAARuC,EAAE5J,SAAgBq3B,IAAG,IAA0C,OAAO2M,GAAGp6B,EAAEC,EAAEC,EAAEiB,EAAE1D,GACtN,SAAS48B,GAAGr6B,EAAEC,EAAEC,GAAG,IAAIiB,EAAElB,EAAE4rB,aAAapuB,EAAE0D,EAAE2G,SAAS1G,EAAE,OAAOpB,EAAEA,EAAE4P,cAAc,KAAK,GAAG,WAAWzO,EAAE+qB,KAAK,GAAG,KAAY,EAAPjsB,EAAEisB,MAAQjsB,EAAE2P,cAAc,CAAC0qB,UAAU,EAAEC,UAAU,KAAKC,YAAY,MAAMrR,GAAEsR,GAAGC,IAAIA,IAAIx6B,MAAM,CAAC,GAAG,KAAO,WAAFA,GAAc,OAAOF,EAAE,OAAOoB,EAAEA,EAAEk5B,UAAUp6B,EAAEA,EAAED,EAAEutB,MAAMvtB,EAAEmtB,WAAW,WAAWntB,EAAE2P,cAAc,CAAC0qB,UAAUt6B,EAAEu6B,UAAU,KAAKC,YAAY,MAAMv6B,EAAEmuB,YAAY,KAAKjF,GAAEsR,GAAGC,IAAIA,IAAI16B,EAAE,KAAKC,EAAE2P,cAAc,CAAC0qB,UAAU,EAAEC,UAAU,KAAKC,YAAY,MAAMr5B,EAAE,OAAOC,EAAEA,EAAEk5B,UAAUp6B,EAAEipB,GAAEsR,GAAGC,IAAIA,IAAIv5B,OAAO,OACtfC,GAAGD,EAAEC,EAAEk5B,UAAUp6B,EAAED,EAAE2P,cAAc,MAAMzO,EAAEjB,EAAEipB,GAAEsR,GAAGC,IAAIA,IAAIv5B,EAAc,OAAZ24B,GAAG95B,EAAEC,EAAExC,EAAEyC,GAAUD,EAAE+P,MAAM,SAAS2qB,GAAG36B,EAAEC,GAAG,IAAIC,EAAED,EAAEqxB,KAAO,OAAOtxB,GAAG,OAAOE,GAAG,OAAOF,GAAGA,EAAEsxB,MAAMpxB,KAAED,EAAE7J,OAAO,IAAI6J,EAAE7J,OAAO,SAAQ,SAASgkC,GAAGp6B,EAAEC,EAAEC,EAAEiB,EAAE1D,GAAG,IAAI2D,EAAEuoB,GAAGzpB,GAAGqpB,GAAGF,GAAEnZ,QAAmD,OAA3C9O,EAAEooB,GAAGvpB,EAAEmB,GAAGisB,GAAGptB,EAAExC,GAAGyC,EAAEg0B,GAAGl0B,EAAEC,EAAEC,EAAEiB,EAAEC,EAAE3D,GAAG0D,EAAEozB,KAAQ,OAAOv0B,GAAIytB,IAA2ElC,IAAGpqB,GAAGgqB,GAAGlrB,GAAGA,EAAE7J,OAAO,EAAE0jC,GAAG95B,EAAEC,EAAEC,EAAEzC,GAAUwC,EAAE+P,QAA7G/P,EAAEmuB,YAAYpuB,EAAEouB,YAAYnuB,EAAE7J,QAAQ,KAAK4J,EAAEwtB,QAAQ/vB,EAAEu8B,GAAGh6B,EAAEC,EAAExC,IAC9W,SAASm9B,GAAG56B,EAAEC,EAAEC,EAAEiB,EAAE1D,GAAG,GAAGksB,GAAGzpB,GAAG,CAAC,IAAIkB,GAAE,EAAG4oB,GAAG/pB,QAAQmB,GAAE,EAAW,GAARisB,GAAGptB,EAAExC,GAAM,OAAOwC,EAAEoO,UAAUwsB,GAAG76B,EAAEC,GAAG0wB,GAAG1wB,EAAEC,EAAEiB,GAAG6vB,GAAG/wB,EAAEC,EAAEiB,EAAE1D,GAAG0D,GAAE,OAAQ,GAAG,OAAOnB,EAAE,CAAC,IAAIqB,EAAEpB,EAAEoO,UAAUvJ,EAAE7E,EAAEqsB,cAAcjrB,EAAEtD,MAAM+G,EAAE,IAAIC,EAAE1D,EAAElH,QAAQ0K,EAAE3E,EAAEzE,YAAY,kBAAkBoJ,GAAG,OAAOA,EAAEA,EAAE6oB,GAAG7oB,GAAyBA,EAAE2kB,GAAGvpB,EAA1B4E,EAAE8kB,GAAGzpB,GAAGqpB,GAAGF,GAAEnZ,SAAmB,IAAI9Y,EAAE8I,EAAEnE,yBAAyBuzB,EAAE,oBAAoBl4B,GAAG,oBAAoBiK,EAAE4vB,wBAAwB3B,GAAG,oBAAoBjuB,EAAE0vB,kCAAkC,oBAAoB1vB,EAAEyvB,4BAC1dhsB,IAAI3D,GAAG4D,IAAIF,IAAIgsB,GAAG5wB,EAAEoB,EAAEF,EAAE0D,GAAGqpB,IAAG,EAAG,IAAIqB,EAAEtvB,EAAE2P,cAAcvO,EAAE9I,MAAMg3B,EAAEF,GAAGpvB,EAAEkB,EAAEE,EAAE5D,GAAGsH,EAAE9E,EAAE2P,cAAc9K,IAAI3D,GAAGouB,IAAIxqB,GAAGukB,GAAGpZ,SAASge,IAAI,oBAAoB92B,IAAI04B,GAAG7vB,EAAEC,EAAE9I,EAAE+J,GAAG4D,EAAE9E,EAAE2P,gBAAgB9K,EAAEopB,IAAIsC,GAAGvwB,EAAEC,EAAE4E,EAAE3D,EAAEouB,EAAExqB,EAAEF,KAAKyqB,GAAG,oBAAoBjuB,EAAE6vB,2BAA2B,oBAAoB7vB,EAAE8vB,qBAAqB,oBAAoB9vB,EAAE8vB,oBAAoB9vB,EAAE8vB,qBAAqB,oBAAoB9vB,EAAE6vB,2BAA2B7vB,EAAE6vB,6BAA6B,oBAAoB7vB,EAAE+vB,oBAAoBnxB,EAAE7J,OAAO,WAClf,oBAAoBiL,EAAE+vB,oBAAoBnxB,EAAE7J,OAAO,SAAS6J,EAAEqsB,cAAcnrB,EAAElB,EAAE2P,cAAc7K,GAAG1D,EAAEtD,MAAMoD,EAAEE,EAAE9I,MAAMwM,EAAE1D,EAAElH,QAAQ0K,EAAE1D,EAAE2D,IAAI,oBAAoBzD,EAAE+vB,oBAAoBnxB,EAAE7J,OAAO,SAAS+K,GAAE,OAAQ,CAACE,EAAEpB,EAAEoO,UAAUsgB,GAAG3uB,EAAEC,GAAG6E,EAAE7E,EAAEqsB,cAAcznB,EAAE5E,EAAE/I,OAAO+I,EAAEd,YAAY2F,EAAE6nB,GAAG1sB,EAAE/I,KAAK4N,GAAGzD,EAAEtD,MAAM8G,EAAEyqB,EAAErvB,EAAE4rB,aAAa0D,EAAEluB,EAAElH,QAAwB,kBAAhB4K,EAAE7E,EAAEzE,cAAiC,OAAOsJ,EAAEA,EAAE2oB,GAAG3oB,GAAyBA,EAAEykB,GAAGvpB,EAA1B8E,EAAE4kB,GAAGzpB,GAAGqpB,GAAGF,GAAEnZ,SAAmB,IAAIsf,EAAEtvB,EAAEnE,0BAA0B3E,EAAE,oBAAoBo4B,GAAG,oBAAoBnuB,EAAE4vB,0BAC9e,oBAAoB5vB,EAAE0vB,kCAAkC,oBAAoB1vB,EAAEyvB,4BAA4BhsB,IAAIwqB,GAAGC,IAAIxqB,IAAI8rB,GAAG5wB,EAAEoB,EAAEF,EAAE4D,GAAGmpB,IAAG,EAAGqB,EAAEtvB,EAAE2P,cAAcvO,EAAE9I,MAAMg3B,EAAEF,GAAGpvB,EAAEkB,EAAEE,EAAE5D,GAAG,IAAIvE,EAAE+G,EAAE2P,cAAc9K,IAAIwqB,GAAGC,IAAIr2B,GAAGowB,GAAGpZ,SAASge,IAAI,oBAAoBsB,IAAIM,GAAG7vB,EAAEC,EAAEsvB,EAAEruB,GAAGjI,EAAE+G,EAAE2P,gBAAgB/K,EAAEqpB,IAAIsC,GAAGvwB,EAAEC,EAAE2E,EAAE1D,EAAEouB,EAAEr2B,EAAE6L,KAAI,IAAK3N,GAAG,oBAAoBiK,EAAEy5B,4BAA4B,oBAAoBz5B,EAAE05B,sBAAsB,oBAAoB15B,EAAE05B,qBAAqB15B,EAAE05B,oBAAoB55B,EAAEjI,EAAE6L,GAAG,oBAAoB1D,EAAEy5B,4BAC5fz5B,EAAEy5B,2BAA2B35B,EAAEjI,EAAE6L,IAAI,oBAAoB1D,EAAE25B,qBAAqB/6B,EAAE7J,OAAO,GAAG,oBAAoBiL,EAAE4vB,0BAA0BhxB,EAAE7J,OAAO,QAAQ,oBAAoBiL,EAAE25B,oBAAoBl2B,IAAI9E,EAAEssB,eAAeiD,IAAIvvB,EAAE4P,gBAAgB3P,EAAE7J,OAAO,GAAG,oBAAoBiL,EAAE4vB,yBAAyBnsB,IAAI9E,EAAEssB,eAAeiD,IAAIvvB,EAAE4P,gBAAgB3P,EAAE7J,OAAO,MAAM6J,EAAEqsB,cAAcnrB,EAAElB,EAAE2P,cAAc1W,GAAGmI,EAAEtD,MAAMoD,EAAEE,EAAE9I,MAAMW,EAAEmI,EAAElH,QAAQ4K,EAAE5D,EAAE0D,IAAI,oBAAoBxD,EAAE25B,oBAAoBl2B,IAAI9E,EAAEssB,eAAeiD,IACjfvvB,EAAE4P,gBAAgB3P,EAAE7J,OAAO,GAAG,oBAAoBiL,EAAE4vB,yBAAyBnsB,IAAI9E,EAAEssB,eAAeiD,IAAIvvB,EAAE4P,gBAAgB3P,EAAE7J,OAAO,MAAM+K,GAAE,GAAI,OAAO85B,GAAGj7B,EAAEC,EAAEC,EAAEiB,EAAEC,EAAE3D,GACjK,SAASw9B,GAAGj7B,EAAEC,EAAEC,EAAEiB,EAAE1D,EAAE2D,GAAGu5B,GAAG36B,EAAEC,GAAG,IAAIoB,EAAE,KAAa,IAARpB,EAAE7J,OAAW,IAAI+K,IAAIE,EAAE,OAAO5D,GAAGysB,GAAGjqB,EAAEC,GAAE,GAAI85B,GAAGh6B,EAAEC,EAAEmB,GAAGD,EAAElB,EAAEoO,UAAUurB,GAAG1pB,QAAQjQ,EAAE,IAAI6E,EAAEzD,GAAG,oBAAoBnB,EAAEpE,yBAAyB,KAAKqF,EAAEtE,SAAwI,OAA/HoD,EAAE7J,OAAO,EAAE,OAAO4J,GAAGqB,GAAGpB,EAAE+P,MAAMmiB,GAAGlyB,EAAED,EAAEgQ,MAAM,KAAK5O,GAAGnB,EAAE+P,MAAMmiB,GAAGlyB,EAAE,KAAK6E,EAAE1D,IAAI04B,GAAG95B,EAAEC,EAAE6E,EAAE1D,GAAGnB,EAAE2P,cAAczO,EAAE5I,MAAMkF,GAAGysB,GAAGjqB,EAAEC,GAAE,GAAWD,EAAE+P,MAAM,SAASkrB,GAAGl7B,GAAG,IAAIC,EAAED,EAAEqO,UAAUpO,EAAEk7B,eAAetR,GAAG7pB,EAAEC,EAAEk7B,eAAel7B,EAAEk7B,iBAAiBl7B,EAAE9F,SAAS8F,EAAE9F,SAAS0vB,GAAG7pB,EAAEC,EAAE9F,SAAQ,GAAIu4B,GAAG1yB,EAAEC,EAAEiV,eAC9d,SAASkmB,GAAGp7B,EAAEC,EAAEC,EAAEiB,EAAE1D,GAAuC,OAApC+uB,KAAKC,GAAGhvB,GAAGwC,EAAE7J,OAAO,IAAI0jC,GAAG95B,EAAEC,EAAEC,EAAEiB,GAAUlB,EAAE+P,MAAM,IAaqLqrB,GAAMC,GAAGC,GAb1LC,GAAG,CAAC3rB,WAAW,KAAKkc,YAAY,KAAKC,UAAU,GAAG,SAASyP,GAAGz7B,GAAG,MAAM,CAACs6B,UAAUt6B,EAAEu6B,UAAU,KAAKC,YAAY,MAC7L,SAASkB,GAAG17B,EAAEC,EAAEC,GAAG,IAA0D4E,EAAtD3D,EAAElB,EAAE4rB,aAAapuB,EAAEs1B,GAAE7iB,QAAQ9O,GAAE,EAAGC,EAAE,KAAa,IAARpB,EAAE7J,OAAqJ,IAAvI0O,EAAEzD,KAAKyD,GAAE,OAAO9E,GAAG,OAAOA,EAAE4P,gBAAiB,KAAO,EAAFnS,IAASqH,GAAE1D,GAAE,EAAGnB,EAAE7J,QAAQ,KAAY,OAAO4J,GAAG,OAAOA,EAAE4P,gBAAcnS,GAAG,GAAE0rB,GAAE4J,GAAI,EAAFt1B,GAAQ,OAAOuC,EAA2B,OAAxBmsB,GAAGlsB,GAAwB,QAArBD,EAAEC,EAAE2P,gBAA2C,QAAf5P,EAAEA,EAAE6P,aAA4B,KAAY,EAAP5P,EAAEisB,MAAQjsB,EAAEutB,MAAM,EAAE,OAAOxtB,EAAE2a,KAAK1a,EAAEutB,MAAM,EAAEvtB,EAAEutB,MAAM,WAAW,OAAKnsB,EAAEF,EAAE2G,SAAS9H,EAAEmB,EAAEw6B,SAAgBv6B,GAAGD,EAAElB,EAAEisB,KAAK9qB,EAAEnB,EAAE+P,MAAM3O,EAAE,CAAC6qB,KAAK,SAASpkB,SAASzG,GAAG,KAAO,EAAFF,IAAM,OAAOC,GAAGA,EAAEgsB,WAAW,EAAEhsB,EAAEyqB,aAC7exqB,GAAGD,EAAEw6B,GAAGv6B,EAAEF,EAAE,EAAE,MAAMnB,EAAEiyB,GAAGjyB,EAAEmB,EAAEjB,EAAE,MAAMkB,EAAEsO,OAAOzP,EAAED,EAAE0P,OAAOzP,EAAEmB,EAAE6O,QAAQjQ,EAAEC,EAAE+P,MAAM5O,EAAEnB,EAAE+P,MAAMJ,cAAc6rB,GAAGv7B,GAAGD,EAAE2P,cAAc4rB,GAAGx7B,GAAG67B,GAAG57B,EAAEoB,IAAqB,GAAG,QAArB5D,EAAEuC,EAAE4P,gBAA2C,QAAf9K,EAAErH,EAAEoS,YAAqB,OAGpM,SAAY7P,EAAEC,EAAEC,EAAEiB,EAAE1D,EAAE2D,EAAEC,GAAG,GAAGnB,EAAG,OAAW,IAARD,EAAE7J,OAAiB6J,EAAE7J,QAAQ,IAAwB0lC,GAAG97B,EAAEC,EAAEoB,EAA3BF,EAAEy3B,GAAG9gC,MAAMiI,EAAE,SAAsB,OAAOE,EAAE2P,eAAqB3P,EAAE+P,MAAMhQ,EAAEgQ,MAAM/P,EAAE7J,OAAO,IAAI,OAAKgL,EAAED,EAAEw6B,SAASl+B,EAAEwC,EAAEisB,KAAK/qB,EAAEy6B,GAAG,CAAC1P,KAAK,UAAUpkB,SAAS3G,EAAE2G,UAAUrK,EAAE,EAAE,OAAM2D,EAAE6wB,GAAG7wB,EAAE3D,EAAE4D,EAAE,OAAQjL,OAAO,EAAE+K,EAAEuO,OAAOzP,EAAEmB,EAAEsO,OAAOzP,EAAEkB,EAAE8O,QAAQ7O,EAAEnB,EAAE+P,MAAM7O,EAAE,KAAY,EAAPlB,EAAEisB,OAASiG,GAAGlyB,EAAED,EAAEgQ,MAAM,KAAK3O,GAAGpB,EAAE+P,MAAMJ,cAAc6rB,GAAGp6B,GAAGpB,EAAE2P,cAAc4rB,GAAUp6B,GAAE,GAAG,KAAY,EAAPnB,EAAEisB,MAAQ,OAAO4P,GAAG97B,EAAEC,EAAEoB,EAAE,MAAM,GAAG,OAAO5D,EAAEkd,KAAK,CAChd,GADidxZ,EAAE1D,EAAE4jB,aAAa5jB,EAAE4jB,YAAY0a,QAC3e,IAAIj3B,EAAE3D,EAAE66B,KAA0C,OAArC76B,EAAE2D,EAA0Cg3B,GAAG97B,EAAEC,EAAEoB,EAA/BF,EAAEy3B,GAAlBx3B,EAAEtJ,MAAMiI,EAAE,MAAaoB,OAAE,IAAkD,GAAvB2D,EAAE,KAAKzD,EAAErB,EAAEotB,YAAeK,IAAI3oB,EAAE,CAAK,GAAG,QAAP3D,EAAE9M,IAAc,CAAC,OAAOgN,GAAGA,GAAG,KAAK,EAAE5D,EAAE,EAAE,MAAM,KAAK,GAAGA,EAAE,EAAE,MAAM,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,SAAS,KAAK,SAAS,KAAK,SAASA,EAAE,GAAG,MAAM,KAAK,UAAUA,EAAE,UAAU,MAAM,QAAQA,EAAE,EAChd,KADkdA,EAAE,KAAKA,GAAG0D,EAAEsR,eAAepR,IAAI,EAAE5D,IAC5eA,IAAI2D,EAAE4qB,YAAY5qB,EAAE4qB,UAAUvuB,EAAEwwB,GAAGjuB,EAAEvC,GAAG4yB,GAAGlvB,EAAEnB,EAAEvC,GAAG,IAA6B,OAAzBw+B,KAAgCH,GAAG97B,EAAEC,EAAEoB,EAAlCF,EAAEy3B,GAAG9gC,MAAMiI,EAAE,QAA0B,MAAG,OAAOtC,EAAEkd,MAAY1a,EAAE7J,OAAO,IAAI6J,EAAE+P,MAAMhQ,EAAEgQ,MAAM/P,EAAEi8B,GAAGzjC,KAAK,KAAKuH,GAAGvC,EAAE0+B,YAAYl8B,EAAE,OAAKD,EAAEoB,EAAE2qB,YAAYT,GAAG/C,GAAG9qB,EAAE4jB,aAAagK,GAAGprB,EAAEsrB,IAAE,EAAGC,GAAG,KAAK,OAAOxrB,IAAI4qB,GAAGC,MAAME,GAAGH,GAAGC,MAAMG,GAAGJ,GAAGC,MAAMC,GAAGC,GAAG/qB,EAAEkW,GAAG8U,GAAGhrB,EAAE8rB,SAAShB,GAAG7qB,IAAGA,EAAE47B,GAAG57B,EAAEkB,EAAE2G,WAAY1R,OAAO,KAAY6J,GALpKm8B,CAAGp8B,EAAEC,EAAEoB,EAAEF,EAAE2D,EAAErH,EAAEyC,GAAG,GAAGkB,EAAE,CAACA,EAAED,EAAEw6B,SAASt6B,EAAEpB,EAAEisB,KAAepnB,GAAVrH,EAAEuC,EAAEgQ,OAAUC,QAAQ,IAAIlL,EAAE,CAACmnB,KAAK,SAASpkB,SAAS3G,EAAE2G,UAChF,OAD0F,KAAO,EAAFzG,IAAMpB,EAAE+P,QAAQvS,IAAG0D,EAAElB,EAAE+P,OAAQod,WAAW,EAAEjsB,EAAE0qB,aAAa9mB,EAAE9E,EAAE0rB,UAAU,OAAOxqB,EAAEywB,GAAGn0B,EAAEsH,IAAKs3B,aAA4B,SAAf5+B,EAAE4+B,aAAuB,OAAOv3B,EAAE1D,EAAEwwB,GAAG9sB,EAAE1D,IAAIA,EAAE6wB,GAAG7wB,EAAEC,EAAEnB,EAAE,OAAQ9J,OAAO,EAAGgL,EAAEsO,OACnfzP,EAAEkB,EAAEuO,OAAOzP,EAAEkB,EAAE8O,QAAQ7O,EAAEnB,EAAE+P,MAAM7O,EAAEA,EAAEC,EAAEA,EAAEnB,EAAE+P,MAA8B3O,EAAE,QAA1BA,EAAErB,EAAEgQ,MAAMJ,eAAyB6rB,GAAGv7B,GAAG,CAACo6B,UAAUj5B,EAAEi5B,UAAUp6B,EAAEq6B,UAAU,KAAKC,YAAYn5B,EAAEm5B,aAAap5B,EAAEwO,cAAcvO,EAAED,EAAEgsB,WAAWptB,EAAEotB,YAAYltB,EAAED,EAAE2P,cAAc4rB,GAAUr6B,EAAqO,OAAzNnB,GAAVoB,EAAEpB,EAAEgQ,OAAUC,QAAQ9O,EAAEywB,GAAGxwB,EAAE,CAAC8qB,KAAK,UAAUpkB,SAAS3G,EAAE2G,WAAW,KAAY,EAAP7H,EAAEisB,QAAU/qB,EAAEqsB,MAAMttB,GAAGiB,EAAEuO,OAAOzP,EAAEkB,EAAE8O,QAAQ,KAAK,OAAOjQ,IAAkB,QAAdE,EAAED,EAAE0rB,YAAoB1rB,EAAE0rB,UAAU,CAAC3rB,GAAGC,EAAE7J,OAAO,IAAI8J,EAAE5M,KAAK0M,IAAIC,EAAE+P,MAAM7O,EAAElB,EAAE2P,cAAc,KAAYzO,EACld,SAAS06B,GAAG77B,EAAEC,GAA8D,OAA3DA,EAAE27B,GAAG,CAAC1P,KAAK,UAAUpkB,SAAS7H,GAAGD,EAAEksB,KAAK,EAAE,OAAQxc,OAAO1P,EAASA,EAAEgQ,MAAM/P,EAAE,SAAS67B,GAAG97B,EAAEC,EAAEC,EAAEiB,GAAwG,OAArG,OAAOA,GAAGsrB,GAAGtrB,GAAGgxB,GAAGlyB,EAAED,EAAEgQ,MAAM,KAAK9P,IAAGF,EAAE67B,GAAG57B,EAAEA,EAAE4rB,aAAa/jB,WAAY1R,OAAO,EAAE6J,EAAE2P,cAAc,KAAY5P,EAGmJ,SAASs8B,GAAGt8B,EAAEC,EAAEC,GAAGF,EAAEwtB,OAAOvtB,EAAE,IAAIkB,EAAEnB,EAAEyP,UAAU,OAAOtO,IAAIA,EAAEqsB,OAAOvtB,GAAGktB,GAAGntB,EAAE0P,OAAOzP,EAAEC,GACtc,SAASq8B,GAAGv8B,EAAEC,EAAEC,EAAEiB,EAAE1D,GAAG,IAAI2D,EAAEpB,EAAE4P,cAAc,OAAOxO,EAAEpB,EAAE4P,cAAc,CAAC4sB,YAAYv8B,EAAEw8B,UAAU,KAAKC,mBAAmB,EAAEC,KAAKx7B,EAAEy7B,KAAK18B,EAAE28B,SAASp/B,IAAI2D,EAAEo7B,YAAYv8B,EAAEmB,EAAEq7B,UAAU,KAAKr7B,EAAEs7B,mBAAmB,EAAEt7B,EAAEu7B,KAAKx7B,EAAEC,EAAEw7B,KAAK18B,EAAEkB,EAAEy7B,SAASp/B,GACzO,SAASq/B,GAAG98B,EAAEC,EAAEC,GAAG,IAAIiB,EAAElB,EAAE4rB,aAAapuB,EAAE0D,EAAE8xB,YAAY7xB,EAAED,EAAEy7B,KAAsC,GAAjC9C,GAAG95B,EAAEC,EAAEkB,EAAE2G,SAAS5H,GAAkB,KAAO,GAAtBiB,EAAE4xB,GAAE7iB,UAAqB/O,EAAI,EAAFA,EAAI,EAAElB,EAAE7J,OAAO,QAAQ,CAAC,GAAG,OAAO4J,GAAG,KAAa,IAARA,EAAE5J,OAAW4J,EAAE,IAAIA,EAAEC,EAAE+P,MAAM,OAAOhQ,GAAG,CAAC,GAAG,KAAKA,EAAEkF,IAAI,OAAOlF,EAAE4P,eAAe0sB,GAAGt8B,EAAEE,EAAED,QAAQ,GAAG,KAAKD,EAAEkF,IAAIo3B,GAAGt8B,EAAEE,EAAED,QAAQ,GAAG,OAAOD,EAAEgQ,MAAM,CAAChQ,EAAEgQ,MAAMN,OAAO1P,EAAEA,EAAEA,EAAEgQ,MAAM,SAAS,GAAGhQ,IAAIC,EAAE,MAAMD,EAAE,KAAK,OAAOA,EAAEiQ,SAAS,CAAC,GAAG,OAAOjQ,EAAE0P,QAAQ1P,EAAE0P,SAASzP,EAAE,MAAMD,EAAEA,EAAEA,EAAE0P,OAAO1P,EAAEiQ,QAAQP,OAAO1P,EAAE0P,OAAO1P,EAAEA,EAAEiQ,QAAQ9O,GAAG,EAAS,GAAPgoB,GAAE4J,GAAE5xB,GAAM,KAAY,EAAPlB,EAAEisB,MAAQjsB,EAAE2P,cAC/e,UAAU,OAAOnS,GAAG,IAAK,WAAqB,IAAVyC,EAAED,EAAE+P,MAAUvS,EAAE,KAAK,OAAOyC,GAAiB,QAAdF,EAAEE,EAAEuP,YAAoB,OAAOujB,GAAGhzB,KAAKvC,EAAEyC,GAAGA,EAAEA,EAAE+P,QAAY,QAAJ/P,EAAEzC,IAAYA,EAAEwC,EAAE+P,MAAM/P,EAAE+P,MAAM,OAAOvS,EAAEyC,EAAE+P,QAAQ/P,EAAE+P,QAAQ,MAAMssB,GAAGt8B,GAAE,EAAGxC,EAAEyC,EAAEkB,GAAG,MAAM,IAAK,YAA6B,IAAjBlB,EAAE,KAAKzC,EAAEwC,EAAE+P,MAAU/P,EAAE+P,MAAM,KAAK,OAAOvS,GAAG,CAAe,GAAG,QAAjBuC,EAAEvC,EAAEgS,YAAuB,OAAOujB,GAAGhzB,GAAG,CAACC,EAAE+P,MAAMvS,EAAE,MAAMuC,EAAEvC,EAAEwS,QAAQxS,EAAEwS,QAAQ/P,EAAEA,EAAEzC,EAAEA,EAAEuC,EAAEu8B,GAAGt8B,GAAE,EAAGC,EAAE,KAAKkB,GAAG,MAAM,IAAK,WAAWm7B,GAAGt8B,GAAE,EAAG,KAAK,UAAK,GAAQ,MAAM,QAAQA,EAAE2P,cAAc,KAAK,OAAO3P,EAAE+P,MACxd,SAAS6qB,GAAG76B,EAAEC,GAAG,KAAY,EAAPA,EAAEisB,OAAS,OAAOlsB,IAAIA,EAAEyP,UAAU,KAAKxP,EAAEwP,UAAU,KAAKxP,EAAE7J,OAAO,GAAG,SAAS4jC,GAAGh6B,EAAEC,EAAEC,GAAyD,GAAtD,OAAOF,IAAIC,EAAEqtB,aAAattB,EAAEstB,cAAcmC,IAAIxvB,EAAEutB,MAAS,KAAKttB,EAAED,EAAEmtB,YAAY,OAAO,KAAK,GAAG,OAAOptB,GAAGC,EAAE+P,QAAQhQ,EAAEgQ,MAAM,MAAMlY,MAAMiI,EAAE,MAAM,GAAG,OAAOE,EAAE+P,MAAM,CAA4C,IAAjC9P,EAAE0xB,GAAZ5xB,EAAEC,EAAE+P,MAAahQ,EAAE6rB,cAAc5rB,EAAE+P,MAAM9P,EAAMA,EAAEwP,OAAOzP,EAAE,OAAOD,EAAEiQ,SAASjQ,EAAEA,EAAEiQ,SAAQ/P,EAAEA,EAAE+P,QAAQ2hB,GAAG5xB,EAAEA,EAAE6rB,eAAgBnc,OAAOzP,EAAEC,EAAE+P,QAAQ,KAAK,OAAOhQ,EAAE+P,MAOza,SAAS+sB,GAAG/8B,EAAEC,GAAG,IAAIsrB,GAAE,OAAOvrB,EAAE68B,UAAU,IAAK,SAAS58B,EAAED,EAAE48B,KAAK,IAAI,IAAI18B,EAAE,KAAK,OAAOD,GAAG,OAAOA,EAAEwP,YAAYvP,EAAED,GAAGA,EAAEA,EAAEgQ,QAAQ,OAAO/P,EAAEF,EAAE48B,KAAK,KAAK18B,EAAE+P,QAAQ,KAAK,MAAM,IAAK,YAAY/P,EAAEF,EAAE48B,KAAK,IAAI,IAAIz7B,EAAE,KAAK,OAAOjB,GAAG,OAAOA,EAAEuP,YAAYtO,EAAEjB,GAAGA,EAAEA,EAAE+P,QAAQ,OAAO9O,EAAElB,GAAG,OAAOD,EAAE48B,KAAK58B,EAAE48B,KAAK,KAAK58B,EAAE48B,KAAK3sB,QAAQ,KAAK9O,EAAE8O,QAAQ,MACvU,SAAS+sB,GAAEh9B,GAAG,IAAIC,EAAE,OAAOD,EAAEyP,WAAWzP,EAAEyP,UAAUO,QAAQhQ,EAAEgQ,MAAM9P,EAAE,EAAEiB,EAAE,EAAE,GAAGlB,EAAE,IAAI,IAAIxC,EAAEuC,EAAEgQ,MAAM,OAAOvS,GAAGyC,GAAGzC,EAAE+vB,MAAM/vB,EAAE2vB,WAAWjsB,GAAkB,SAAf1D,EAAE4+B,aAAsBl7B,GAAW,SAAR1D,EAAErH,MAAeqH,EAAEiS,OAAO1P,EAAEvC,EAAEA,EAAEwS,aAAa,IAAIxS,EAAEuC,EAAEgQ,MAAM,OAAOvS,GAAGyC,GAAGzC,EAAE+vB,MAAM/vB,EAAE2vB,WAAWjsB,GAAG1D,EAAE4+B,aAAal7B,GAAG1D,EAAErH,MAAMqH,EAAEiS,OAAO1P,EAAEvC,EAAEA,EAAEwS,QAAyC,OAAjCjQ,EAAEq8B,cAAcl7B,EAAEnB,EAAEotB,WAAWltB,EAASD,EAC5V,SAASg9B,GAAGj9B,EAAEC,EAAEC,GAAG,IAAIiB,EAAElB,EAAE4rB,aAAmB,OAANT,GAAGnrB,GAAUA,EAAEiF,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,OAAO83B,GAAE/8B,GAAG,KAAK,KAAK,EAUtD,KAAK,GAAG,OAAO0pB,GAAG1pB,EAAE/I,OAAO0yB,KAAKoT,GAAE/8B,GAAG,KAVqD,KAAK,EAA2Q,OAAzQkB,EAAElB,EAAEoO,UAAUukB,KAAK1J,GAAEI,IAAIJ,GAAEG,IAAG8J,KAAKhyB,EAAEg6B,iBAAiBh6B,EAAEhH,QAAQgH,EAAEg6B,eAAeh6B,EAAEg6B,eAAe,MAAS,OAAOn7B,GAAG,OAAOA,EAAEgQ,QAAMqc,GAAGpsB,GAAGA,EAAE7J,OAAO,EAAE,OAAO4J,GAAGA,EAAE4P,cAAcqF,cAAc,KAAa,IAARhV,EAAE7J,SAAa6J,EAAE7J,OAAO,KAAK,OAAOo1B,KAAK0R,GAAG1R,IAAIA,GAAG,QAAewR,GAAE/8B,GAAU,KAAK,KAAK,EAAE6yB,GAAG7yB,GAAG,IAAIxC,EAAEg1B,GAAGD,GAAGtiB,SAC7e,GAAThQ,EAAED,EAAE/I,KAAQ,OAAO8I,GAAG,MAAMC,EAAEoO,UAAUitB,GAAGt7B,EAAEC,EAAEC,EAAEiB,GAAKnB,EAAEsxB,MAAMrxB,EAAEqxB,MAAMrxB,EAAE7J,OAAO,IAAI6J,EAAE7J,OAAO,aAAa,CAAC,IAAI+K,EAAE,CAAC,GAAG,OAAOlB,EAAEoO,UAAU,MAAMvW,MAAMiI,EAAE,MAAW,OAALi9B,GAAE/8B,GAAU,KAAsB,GAAjBD,EAAEyyB,GAAGH,GAAGpiB,SAAYmc,GAAGpsB,GAAG,CAACkB,EAAElB,EAAEoO,UAAUnO,EAAED,EAAE/I,KAAK,IAAIkK,EAAEnB,EAAEqsB,cAA+C,OAAjCnrB,EAAEwnB,IAAI1oB,EAAEkB,EAAEynB,IAAIxnB,EAAEpB,EAAE,KAAY,EAAPC,EAAEisB,MAAehsB,GAAG,IAAK,SAASslB,GAAE,SAASrkB,GAAGqkB,GAAE,QAAQrkB,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQqkB,GAAE,OAAOrkB,GAAG,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAI1D,EAAE,EAAEA,EAAE0nB,GAAGhyB,OAAOsK,IAAI+nB,GAAEL,GAAG1nB,GAAG0D,GAAG,MAAM,IAAK,SAASqkB,GAAE,QAAQrkB,GAAG,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOqkB,GAAE,QACnhBrkB,GAAGqkB,GAAE,OAAOrkB,GAAG,MAAM,IAAK,UAAUqkB,GAAE,SAASrkB,GAAG,MAAM,IAAK,QAAQ2F,EAAG3F,EAAEC,GAAGokB,GAAE,UAAUrkB,GAAG,MAAM,IAAK,SAASA,EAAEyF,cAAc,CAACu2B,cAAc/7B,EAAEg8B,UAAU5X,GAAE,UAAUrkB,GAAG,MAAM,IAAK,WAAW4G,GAAG5G,EAAEC,GAAGokB,GAAE,UAAUrkB,GAAkB,IAAI,IAAIE,KAAvBmM,GAAGtN,EAAEkB,GAAG3D,EAAE,KAAkB2D,EAAE,GAAGA,EAAEtO,eAAeuO,GAAG,CAAC,IAAIyD,EAAE1D,EAAEC,GAAG,aAAaA,EAAE,kBAAkByD,EAAE3D,EAAE+G,cAAcpD,KAAI,IAAK1D,EAAEi8B,0BAA0B/V,GAAGnmB,EAAE+G,YAAYpD,EAAE9E,GAAGvC,EAAE,CAAC,WAAWqH,IAAI,kBAAkBA,GAAG3D,EAAE+G,cAAc,GAAGpD,KAAI,IAAK1D,EAAEi8B,0BAA0B/V,GAAGnmB,EAAE+G,YAC1epD,EAAE9E,GAAGvC,EAAE,CAAC,WAAW,GAAGqH,IAAIxE,EAAGxN,eAAeuO,IAAI,MAAMyD,GAAG,aAAazD,GAAGmkB,GAAE,SAASrkB,GAAG,OAAOjB,GAAG,IAAK,QAAQ0F,EAAGzE,GAAGiG,EAAGjG,EAAEC,GAAE,GAAI,MAAM,IAAK,WAAWwE,EAAGzE,GAAG8G,GAAG9G,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,MAAM,QAAQ,oBAAoBC,EAAEk8B,UAAUn8B,EAAEo8B,QAAQhW,IAAIpmB,EAAE1D,EAAEwC,EAAEmuB,YAAYjtB,EAAE,OAAOA,IAAIlB,EAAE7J,OAAO,OAAO,CAACiL,EAAE,IAAI5D,EAAEwL,SAASxL,EAAEA,EAAE4J,cAAc,iCAAiCrH,IAAIA,EAAEmI,GAAGjI,IAAI,iCAAiCF,EAAE,WAAWE,IAAGF,EAAEqB,EAAER,cAAc,QAAS2H,UAAU,qBAAuBxI,EAAEA,EAAE2I,YAAY3I,EAAE0I,aAC/f,kBAAkBvH,EAAEuM,GAAG1N,EAAEqB,EAAER,cAAcX,EAAE,CAACwN,GAAGvM,EAAEuM,MAAM1N,EAAEqB,EAAER,cAAcX,GAAG,WAAWA,IAAImB,EAAErB,EAAEmB,EAAEi8B,SAAS/7B,EAAE+7B,UAAS,EAAGj8B,EAAEq8B,OAAOn8B,EAAEm8B,KAAKr8B,EAAEq8B,QAAQx9B,EAAEqB,EAAEo8B,gBAAgBz9B,EAAEE,GAAGF,EAAE2oB,IAAI1oB,EAAED,EAAE4oB,IAAIznB,EAAEk6B,GAAGr7B,EAAEC,GAASA,EAAEoO,UAAUrO,EAAEA,EAAE,CAAW,OAAVqB,EAAEoM,GAAGvN,EAAEiB,GAAUjB,GAAG,IAAK,SAASslB,GAAE,SAASxlB,GAAGwlB,GAAE,QAAQxlB,GAAGvC,EAAE0D,EAAE,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQqkB,GAAE,OAAOxlB,GAAGvC,EAAE0D,EAAE,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAI1D,EAAE,EAAEA,EAAE0nB,GAAGhyB,OAAOsK,IAAI+nB,GAAEL,GAAG1nB,GAAGuC,GAAGvC,EAAE0D,EAAE,MAAM,IAAK,SAASqkB,GAAE,QAAQxlB,GAAGvC,EAAE0D,EAAE,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOqkB,GAAE,QAClfxlB,GAAGwlB,GAAE,OAAOxlB,GAAGvC,EAAE0D,EAAE,MAAM,IAAK,UAAUqkB,GAAE,SAASxlB,GAAGvC,EAAE0D,EAAE,MAAM,IAAK,QAAQ2F,EAAG9G,EAAEmB,GAAG1D,EAAEgJ,EAAGzG,EAAEmB,GAAGqkB,GAAE,UAAUxlB,GAAG,MAAM,IAAK,SAAiL,QAAQvC,EAAE0D,QAAxK,IAAK,SAASnB,EAAE4G,cAAc,CAACu2B,cAAch8B,EAAEi8B,UAAU3/B,EAAE0G,EAAE,GAAGhD,EAAE,CAAChM,WAAM,IAASqwB,GAAE,UAAUxlB,GAAG,MAAM,IAAK,WAAW+H,GAAG/H,EAAEmB,GAAG1D,EAAEmK,GAAG5H,EAAEmB,GAAGqkB,GAAE,UAAUxlB,GAAiC,IAAIoB,KAAhBoM,GAAGtN,EAAEzC,GAAGqH,EAAErH,EAAa,GAAGqH,EAAEhS,eAAesO,GAAG,CAAC,IAAI2D,EAAED,EAAE1D,GAAG,UAAUA,EAAE6K,GAAGjM,EAAE+E,GAAG,4BAA4B3D,EAAuB,OAApB2D,EAAEA,EAAEA,EAAE4iB,YAAO,IAAgBrf,GAAGtI,EAAE+E,GAAI,aAAa3D,EAAE,kBAAkB2D,GAAG,aAC7e7E,GAAG,KAAK6E,IAAIgE,GAAG/I,EAAE+E,GAAG,kBAAkBA,GAAGgE,GAAG/I,EAAE,GAAG+E,GAAG,mCAAmC3D,GAAG,6BAA6BA,GAAG,cAAcA,IAAId,EAAGxN,eAAesO,GAAG,MAAM2D,GAAG,aAAa3D,GAAGokB,GAAE,SAASxlB,GAAG,MAAM+E,GAAG3C,EAAGpC,EAAEoB,EAAE2D,EAAE1D,IAAI,OAAOnB,GAAG,IAAK,QAAQ0F,EAAG5F,GAAGoH,EAAGpH,EAAEmB,GAAE,GAAI,MAAM,IAAK,WAAWyE,EAAG5F,GAAGiI,GAAGjI,GAAG,MAAM,IAAK,SAAS,MAAMmB,EAAEhM,OAAO6K,EAAE0C,aAAa,QAAQ,GAAG+C,EAAGtE,EAAEhM,QAAQ,MAAM,IAAK,SAAS6K,EAAEo9B,WAAWj8B,EAAEi8B,SAAmB,OAAVh8B,EAAED,EAAEhM,OAAcoS,GAAGvH,IAAImB,EAAEi8B,SAASh8B,GAAE,GAAI,MAAMD,EAAEwF,cAAcY,GAAGvH,IAAImB,EAAEi8B,SAASj8B,EAAEwF,cAClf,GAAI,MAAM,QAAQ,oBAAoBlJ,EAAE6/B,UAAUt9B,EAAEu9B,QAAQhW,IAAI,OAAOrnB,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAWiB,IAAIA,EAAEu8B,UAAU,MAAM19B,EAAE,IAAK,MAAMmB,GAAE,EAAG,MAAMnB,EAAE,QAAQmB,GAAE,GAAIA,IAAIlB,EAAE7J,OAAO,GAAG,OAAO6J,EAAEqxB,MAAMrxB,EAAE7J,OAAO,IAAI6J,EAAE7J,OAAO,SAAc,OAAL4mC,GAAE/8B,GAAU,KAAK,KAAK,EAAE,GAAGD,GAAG,MAAMC,EAAEoO,UAAUktB,GAAGv7B,EAAEC,EAAED,EAAEssB,cAAcnrB,OAAO,CAAC,GAAG,kBAAkBA,GAAG,OAAOlB,EAAEoO,UAAU,MAAMvW,MAAMiI,EAAE,MAAsC,GAAhCG,EAAEuyB,GAAGD,GAAGtiB,SAASuiB,GAAGH,GAAGpiB,SAAYmc,GAAGpsB,GAAG,CAAyC,GAAxCkB,EAAElB,EAAEoO,UAAUnO,EAAED,EAAEqsB,cAAcnrB,EAAEwnB,IAAI1oB,GAAKmB,EAAED,EAAE+H,YAAYhJ,IAC/e,QADofF,EACvfqrB,IAAY,OAAOrrB,EAAEkF,KAAK,KAAK,EAAEoiB,GAAGnmB,EAAE+H,UAAUhJ,EAAE,KAAY,EAAPF,EAAEksB,OAAS,MAAM,KAAK,GAAE,IAAKlsB,EAAEssB,cAAc+Q,0BAA0B/V,GAAGnmB,EAAE+H,UAAUhJ,EAAE,KAAY,EAAPF,EAAEksB,OAAS9qB,IAAInB,EAAE7J,OAAO,QAAQ+K,GAAG,IAAIjB,EAAE+I,SAAS/I,EAAEA,EAAEmH,eAAes2B,eAAex8B,IAAKwnB,IAAI1oB,EAAEA,EAAEoO,UAAUlN,EAAO,OAAL67B,GAAE/8B,GAAU,KAAK,KAAK,GAA0B,GAAvBipB,GAAE6J,IAAG5xB,EAAElB,EAAE2P,cAAiB,OAAO5P,GAAG,OAAOA,EAAE4P,eAAe,OAAO5P,EAAE4P,cAAcC,WAAW,CAAC,GAAG0b,IAAG,OAAOD,IAAI,KAAY,EAAPrrB,EAAEisB,OAAS,KAAa,IAARjsB,EAAE7J,OAAWm2B,KAAKC,KAAKvsB,EAAE7J,OAAO,MAAMgL,GAAE,OAAQ,GAAGA,EAAEirB,GAAGpsB,GAAG,OAAOkB,GAAG,OAAOA,EAAE0O,WAAW,CAAC,GAAG,OAC5f7P,EAAE,CAAC,IAAIoB,EAAE,MAAMtJ,MAAMiI,EAAE,MAAqD,KAA7BqB,EAAE,QAApBA,EAAEnB,EAAE2P,eAAyBxO,EAAEyO,WAAW,MAAW,MAAM/X,MAAMiI,EAAE,MAAMqB,EAAEunB,IAAI1oB,OAAOusB,KAAK,KAAa,IAARvsB,EAAE7J,SAAa6J,EAAE2P,cAAc,MAAM3P,EAAE7J,OAAO,EAAE4mC,GAAE/8B,GAAGmB,GAAE,OAAQ,OAAOoqB,KAAK0R,GAAG1R,IAAIA,GAAG,MAAMpqB,GAAE,EAAG,IAAIA,EAAE,OAAe,MAARnB,EAAE7J,MAAY6J,EAAE,KAAK,OAAG,KAAa,IAARA,EAAE7J,QAAkB6J,EAAEutB,MAAMttB,EAAED,KAAEkB,EAAE,OAAOA,MAAO,OAAOnB,GAAG,OAAOA,EAAE4P,gBAAgBzO,IAAIlB,EAAE+P,MAAM5Z,OAAO,KAAK,KAAY,EAAP6J,EAAEisB,QAAU,OAAOlsB,GAAG,KAAe,EAAV+yB,GAAE7iB,SAAW,IAAI0tB,KAAIA,GAAE,GAAG3B,OAAO,OAAOh8B,EAAEmuB,cAAcnuB,EAAE7J,OAAO,GAAG4mC,GAAE/8B,GAAU,MAAK,KAAK,EAAE,OAAO2yB,KAC7e,OAAO5yB,GAAG+lB,GAAG9lB,EAAEoO,UAAU6G,eAAe8nB,GAAE/8B,GAAG,KAAK,KAAK,GAAG,OAAOgtB,GAAGhtB,EAAE/I,KAAKmO,UAAU23B,GAAE/8B,GAAG,KAA+C,KAAK,GAA0B,GAAvBipB,GAAE6J,IAAwB,QAArB3xB,EAAEnB,EAAE2P,eAA0B,OAAOotB,GAAE/8B,GAAG,KAAuC,GAAlCkB,EAAE,KAAa,IAARlB,EAAE7J,OAA4B,QAAjBiL,EAAED,EAAEq7B,WAAsB,GAAGt7B,EAAE47B,GAAG37B,GAAE,OAAQ,CAAC,GAAG,IAAIw8B,IAAG,OAAO59B,GAAG,KAAa,IAARA,EAAE5J,OAAW,IAAI4J,EAAEC,EAAE+P,MAAM,OAAOhQ,GAAG,CAAS,GAAG,QAAXqB,EAAE2xB,GAAGhzB,IAAe,CAAmG,IAAlGC,EAAE7J,OAAO,IAAI2mC,GAAG37B,GAAE,GAAoB,QAAhBD,EAAEE,EAAE+sB,eAAuBnuB,EAAEmuB,YAAYjtB,EAAElB,EAAE7J,OAAO,GAAG6J,EAAEo8B,aAAa,EAAEl7B,EAAEjB,EAAMA,EAAED,EAAE+P,MAAM,OAAO9P,GAAOF,EAAEmB,GAANC,EAAElB,GAAQ9J,OAAO,SAC/d,QAAdiL,EAAED,EAAEqO,YAAoBrO,EAAEgsB,WAAW,EAAEhsB,EAAEosB,MAAMxtB,EAAEoB,EAAE4O,MAAM,KAAK5O,EAAEi7B,aAAa,EAAEj7B,EAAEkrB,cAAc,KAAKlrB,EAAEwO,cAAc,KAAKxO,EAAEgtB,YAAY,KAAKhtB,EAAEksB,aAAa,KAAKlsB,EAAEiN,UAAU,OAAOjN,EAAEgsB,WAAW/rB,EAAE+rB,WAAWhsB,EAAEosB,MAAMnsB,EAAEmsB,MAAMpsB,EAAE4O,MAAM3O,EAAE2O,MAAM5O,EAAEi7B,aAAa,EAAEj7B,EAAEuqB,UAAU,KAAKvqB,EAAEkrB,cAAcjrB,EAAEirB,cAAclrB,EAAEwO,cAAcvO,EAAEuO,cAAcxO,EAAEgtB,YAAY/sB,EAAE+sB,YAAYhtB,EAAElK,KAAKmK,EAAEnK,KAAK8I,EAAEqB,EAAEisB,aAAalsB,EAAEksB,aAAa,OAAOttB,EAAE,KAAK,CAACwtB,MAAMxtB,EAAEwtB,MAAMD,aAAavtB,EAAEutB,eAAertB,EAAEA,EAAE+P,QAA2B,OAAnBkZ,GAAE4J,GAAY,EAAVA,GAAE7iB,QAAU,GAAUjQ,EAAE+P,MAAMhQ,EAClgBA,EAAEiQ,QAAQ,OAAO7O,EAAEw7B,MAAM/rB,KAAIgtB,KAAK59B,EAAE7J,OAAO,IAAI+K,GAAE,EAAG47B,GAAG37B,GAAE,GAAInB,EAAEutB,MAAM,aAAa,CAAC,IAAIrsB,EAAE,GAAW,QAARnB,EAAEgzB,GAAG3xB,KAAa,GAAGpB,EAAE7J,OAAO,IAAI+K,GAAE,EAAmB,QAAhBjB,EAAEF,EAAEouB,eAAuBnuB,EAAEmuB,YAAYluB,EAAED,EAAE7J,OAAO,GAAG2mC,GAAG37B,GAAE,GAAI,OAAOA,EAAEw7B,MAAM,WAAWx7B,EAAEy7B,WAAWx7B,EAAEoO,YAAY8b,GAAE,OAAOyR,GAAE/8B,GAAG,UAAU,EAAE4Q,KAAIzP,EAAEs7B,mBAAmBmB,IAAI,aAAa39B,IAAID,EAAE7J,OAAO,IAAI+K,GAAE,EAAG47B,GAAG37B,GAAE,GAAInB,EAAEutB,MAAM,SAASpsB,EAAEo7B,aAAan7B,EAAE4O,QAAQhQ,EAAE+P,MAAM/P,EAAE+P,MAAM3O,IAAa,QAATnB,EAAEkB,EAAEu7B,MAAcz8B,EAAE+P,QAAQ5O,EAAEpB,EAAE+P,MAAM3O,EAAED,EAAEu7B,KAAKt7B,GAAG,OAAG,OAAOD,EAAEw7B,MAAY38B,EAAEmB,EAAEw7B,KAAKx7B,EAAEq7B,UAC9ex8B,EAAEmB,EAAEw7B,KAAK38B,EAAEgQ,QAAQ7O,EAAEs7B,mBAAmB7rB,KAAI5Q,EAAEgQ,QAAQ,KAAK/P,EAAE6yB,GAAE7iB,QAAQiZ,GAAE4J,GAAE5xB,EAAI,EAAFjB,EAAI,EAAI,EAAFA,GAAKD,IAAE+8B,GAAE/8B,GAAU,MAAK,KAAK,GAAG,KAAK,GAAG,OAAO69B,KAAK38B,EAAE,OAAOlB,EAAE2P,cAAc,OAAO5P,GAAG,OAAOA,EAAE4P,gBAAgBzO,IAAIlB,EAAE7J,OAAO,MAAM+K,GAAG,KAAY,EAAPlB,EAAEisB,MAAQ,KAAQ,WAAHwO,MAAiBsC,GAAE/8B,GAAkB,EAAfA,EAAEo8B,eAAiBp8B,EAAE7J,OAAO,OAAO4mC,GAAE/8B,GAAG,KAAK,KAAK,GAAe,KAAK,GAAG,OAAO,KAAK,MAAMnI,MAAMiI,EAAE,IAAIE,EAAEiF,MAC5W,SAAS64B,GAAG/9B,EAAEC,GAAS,OAANmrB,GAAGnrB,GAAUA,EAAEiF,KAAK,KAAK,EAAE,OAAOykB,GAAG1pB,EAAE/I,OAAO0yB,KAAiB,OAAZ5pB,EAAEC,EAAE7J,QAAe6J,EAAE7J,OAAS,MAAH4J,EAAS,IAAIC,GAAG,KAAK,KAAK,EAAE,OAAO2yB,KAAK1J,GAAEI,IAAIJ,GAAEG,IAAG8J,KAAe,KAAO,OAAjBnzB,EAAEC,EAAE7J,SAAqB,KAAO,IAAF4J,IAAQC,EAAE7J,OAAS,MAAH4J,EAAS,IAAIC,GAAG,KAAK,KAAK,EAAE,OAAO6yB,GAAG7yB,GAAG,KAAK,KAAK,GAA0B,GAAvBipB,GAAE6J,IAAwB,QAArB/yB,EAAEC,EAAE2P,gBAA2B,OAAO5P,EAAE6P,WAAW,CAAC,GAAG,OAAO5P,EAAEwP,UAAU,MAAM3X,MAAMiI,EAAE,MAAMysB,KAAe,OAAS,OAAnBxsB,EAAEC,EAAE7J,QAAsB6J,EAAE7J,OAAS,MAAH4J,EAAS,IAAIC,GAAG,KAAK,KAAK,GAAG,OAAOipB,GAAE6J,IAAG,KAAK,KAAK,EAAE,OAAOH,KAAK,KAAK,KAAK,GAAG,OAAO3F,GAAGhtB,EAAE/I,KAAKmO,UAAU,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOy4B,KAC1gB,KAAyB,QAAQ,OAAO,MArBxCzC,GAAG,SAASr7B,EAAEC,GAAG,IAAI,IAAIC,EAAED,EAAE+P,MAAM,OAAO9P,GAAG,CAAC,GAAG,IAAIA,EAAEgF,KAAK,IAAIhF,EAAEgF,IAAIlF,EAAE4I,YAAY1I,EAAEmO,gBAAgB,GAAG,IAAInO,EAAEgF,KAAK,OAAOhF,EAAE8P,MAAM,CAAC9P,EAAE8P,MAAMN,OAAOxP,EAAEA,EAAEA,EAAE8P,MAAM,SAAS,GAAG9P,IAAID,EAAE,MAAM,KAAK,OAAOC,EAAE+P,SAAS,CAAC,GAAG,OAAO/P,EAAEwP,QAAQxP,EAAEwP,SAASzP,EAAE,OAAOC,EAAEA,EAAEwP,OAAOxP,EAAE+P,QAAQP,OAAOxP,EAAEwP,OAAOxP,EAAEA,EAAE+P,UAChSqrB,GAAG,SAASt7B,EAAEC,EAAEC,EAAEiB,GAAG,IAAI1D,EAAEuC,EAAEssB,cAAc,GAAG7uB,IAAI0D,EAAE,CAACnB,EAAEC,EAAEoO,UAAUokB,GAAGH,GAAGpiB,SAAS,IAA4R7O,EAAxRD,EAAE,KAAK,OAAOlB,GAAG,IAAK,QAAQzC,EAAEgJ,EAAGzG,EAAEvC,GAAG0D,EAAEsF,EAAGzG,EAAEmB,GAAGC,EAAE,GAAG,MAAM,IAAK,SAAS3D,EAAE0G,EAAE,GAAG1G,EAAE,CAACtI,WAAM,IAASgM,EAAEgD,EAAE,GAAGhD,EAAE,CAAChM,WAAM,IAASiM,EAAE,GAAG,MAAM,IAAK,WAAW3D,EAAEmK,GAAG5H,EAAEvC,GAAG0D,EAAEyG,GAAG5H,EAAEmB,GAAGC,EAAE,GAAG,MAAM,QAAQ,oBAAoB3D,EAAE6/B,SAAS,oBAAoBn8B,EAAEm8B,UAAUt9B,EAAEu9B,QAAQhW,IAAyB,IAAI1iB,KAAzB2I,GAAGtN,EAAEiB,GAASjB,EAAE,KAAczC,EAAE,IAAI0D,EAAErO,eAAe+R,IAAIpH,EAAE3K,eAAe+R,IAAI,MAAMpH,EAAEoH,GAAG,GAAG,UAAUA,EAAE,CAAC,IAAIC,EAAErH,EAAEoH,GAAG,IAAIxD,KAAKyD,EAAEA,EAAEhS,eAAeuO,KACjfnB,IAAIA,EAAE,IAAIA,EAAEmB,GAAG,QAAQ,4BAA4BwD,GAAG,aAAaA,GAAG,mCAAmCA,GAAG,6BAA6BA,GAAG,cAAcA,IAAIvE,EAAGxN,eAAe+R,GAAGzD,IAAIA,EAAE,KAAKA,EAAEA,GAAG,IAAI9N,KAAKuR,EAAE,OAAO,IAAIA,KAAK1D,EAAE,CAAC,IAAI4D,EAAE5D,EAAE0D,GAAyB,GAAtBC,EAAE,MAAMrH,EAAEA,EAAEoH,QAAG,EAAU1D,EAAErO,eAAe+R,IAAIE,IAAID,IAAI,MAAMC,GAAG,MAAMD,GAAG,GAAG,UAAUD,EAAE,GAAGC,EAAE,CAAC,IAAIzD,KAAKyD,GAAGA,EAAEhS,eAAeuO,IAAI0D,GAAGA,EAAEjS,eAAeuO,KAAKnB,IAAIA,EAAE,IAAIA,EAAEmB,GAAG,IAAI,IAAIA,KAAK0D,EAAEA,EAAEjS,eAAeuO,IAAIyD,EAAEzD,KAAK0D,EAAE1D,KAAKnB,IAAIA,EAAE,IAAIA,EAAEmB,GAAG0D,EAAE1D,SAASnB,IAAIkB,IAAIA,EAAE,IAAIA,EAAE9N,KAAKuR,EACpf3E,IAAIA,EAAE6E,MAAM,4BAA4BF,GAAGE,EAAEA,EAAEA,EAAE4iB,YAAO,EAAO7iB,EAAEA,EAAEA,EAAE6iB,YAAO,EAAO,MAAM5iB,GAAGD,IAAIC,IAAI3D,EAAEA,GAAG,IAAI9N,KAAKuR,EAAEE,IAAI,aAAaF,EAAE,kBAAkBE,GAAG,kBAAkBA,IAAI3D,EAAEA,GAAG,IAAI9N,KAAKuR,EAAE,GAAGE,GAAG,mCAAmCF,GAAG,6BAA6BA,IAAIvE,EAAGxN,eAAe+R,IAAI,MAAME,GAAG,aAAaF,GAAG2gB,GAAE,SAASxlB,GAAGoB,GAAG0D,IAAIC,IAAI3D,EAAE,MAAMA,EAAEA,GAAG,IAAI9N,KAAKuR,EAAEE,IAAI7E,IAAIkB,EAAEA,GAAG,IAAI9N,KAAK,QAAQ4M,GAAG,IAAI2E,EAAEzD,GAAKnB,EAAEmuB,YAAYvpB,KAAE5E,EAAE7J,OAAO,KAAImlC,GAAG,SAASv7B,EAAEC,EAAEC,EAAEiB,GAAGjB,IAAIiB,IAAIlB,EAAE7J,OAAO,IAkBhb,IAAI4nC,IAAG,EAAGC,IAAE,EAAGC,GAAG,oBAAoBC,QAAQA,QAAQ99B,IAAI+9B,GAAE,KAAK,SAASC,GAAGr+B,EAAEC,GAAG,IAAIC,EAAEF,EAAEsxB,IAAI,GAAG,OAAOpxB,EAAE,GAAG,oBAAoBA,EAAE,IAAIA,EAAE,MAAM,MAAMiB,GAAGm9B,GAAEt+B,EAAEC,EAAEkB,QAAQjB,EAAEgQ,QAAQ,KAAK,SAASquB,GAAGv+B,EAAEC,EAAEC,GAAG,IAAIA,IAAI,MAAMiB,GAAGm9B,GAAEt+B,EAAEC,EAAEkB,IAAI,IAAIq9B,IAAG,EAIxR,SAASC,GAAGz+B,EAAEC,EAAEC,GAAG,IAAIiB,EAAElB,EAAEmuB,YAAyC,GAAG,QAAhCjtB,EAAE,OAAOA,EAAEA,EAAE00B,WAAW,MAAiB,CAAC,IAAIp4B,EAAE0D,EAAEA,EAAEysB,KAAK,EAAE,CAAC,IAAInwB,EAAEyH,IAAIlF,KAAKA,EAAE,CAAC,IAAIoB,EAAE3D,EAAE04B,QAAQ14B,EAAE04B,aAAQ,OAAO,IAAS/0B,GAAGm9B,GAAGt+B,EAAEC,EAAEkB,GAAG3D,EAAEA,EAAEmwB,WAAWnwB,IAAI0D,IAAI,SAASu9B,GAAG1+B,EAAEC,GAAgD,GAAG,QAAhCA,EAAE,QAAlBA,EAAEA,EAAEmuB,aAAuBnuB,EAAE41B,WAAW,MAAiB,CAAC,IAAI31B,EAAED,EAAEA,EAAE2tB,KAAK,EAAE,CAAC,IAAI1tB,EAAEgF,IAAIlF,KAAKA,EAAE,CAAC,IAAImB,EAAEjB,EAAE1I,OAAO0I,EAAEi2B,QAAQh1B,IAAIjB,EAAEA,EAAE0tB,WAAW1tB,IAAID,IAAI,SAAS0+B,GAAG3+B,GAAG,IAAIC,EAAED,EAAEsxB,IAAI,GAAG,OAAOrxB,EAAE,CAAC,IAAIC,EAAEF,EAAEqO,UAAiBrO,EAAEkF,IAA8BlF,EAAEE,EAAE,oBAAoBD,EAAEA,EAAED,GAAGC,EAAEiQ,QAAQlQ,GAChf,SAAS4+B,GAAG5+B,GAAG,IAAIC,EAAED,EAAEyP,UAAU,OAAOxP,IAAID,EAAEyP,UAAU,KAAKmvB,GAAG3+B,IAAID,EAAEgQ,MAAM,KAAKhQ,EAAE2rB,UAAU,KAAK3rB,EAAEiQ,QAAQ,KAAK,IAAIjQ,EAAEkF,MAAoB,QAAdjF,EAAED,EAAEqO,oBAA4BpO,EAAE0oB,WAAW1oB,EAAE2oB,WAAW3oB,EAAEwlB,WAAWxlB,EAAE4oB,WAAW5oB,EAAE6oB,MAAM9oB,EAAEqO,UAAU,KAAKrO,EAAE0P,OAAO,KAAK1P,EAAEstB,aAAa,KAAKttB,EAAEssB,cAAc,KAAKtsB,EAAE4P,cAAc,KAAK5P,EAAE6rB,aAAa,KAAK7rB,EAAEqO,UAAU,KAAKrO,EAAEouB,YAAY,KAAK,SAASyQ,GAAG7+B,GAAG,OAAO,IAAIA,EAAEkF,KAAK,IAAIlF,EAAEkF,KAAK,IAAIlF,EAAEkF,IACha,SAAS45B,GAAG9+B,GAAGA,EAAE,OAAO,CAAC,KAAK,OAAOA,EAAEiQ,SAAS,CAAC,GAAG,OAAOjQ,EAAE0P,QAAQmvB,GAAG7+B,EAAE0P,QAAQ,OAAO,KAAK1P,EAAEA,EAAE0P,OAAiC,IAA1B1P,EAAEiQ,QAAQP,OAAO1P,EAAE0P,OAAW1P,EAAEA,EAAEiQ,QAAQ,IAAIjQ,EAAEkF,KAAK,IAAIlF,EAAEkF,KAAK,KAAKlF,EAAEkF,KAAK,CAAC,GAAW,EAARlF,EAAE5J,MAAQ,SAAS4J,EAAE,GAAG,OAAOA,EAAEgQ,OAAO,IAAIhQ,EAAEkF,IAAI,SAASlF,EAAOA,EAAEgQ,MAAMN,OAAO1P,EAAEA,EAAEA,EAAEgQ,MAAM,KAAa,EAARhQ,EAAE5J,OAAS,OAAO4J,EAAEqO,WAC/S,SAAS0wB,GAAG/+B,EAAEC,EAAEC,GAAG,IAAIiB,EAAEnB,EAAEkF,IAAI,GAAG,IAAI/D,GAAG,IAAIA,EAAEnB,EAAEA,EAAEqO,UAAUpO,EAAE,IAAIC,EAAE+I,SAAS/I,EAAE6N,WAAWixB,aAAah/B,EAAEC,GAAGC,EAAE8+B,aAAah/B,EAAEC,IAAI,IAAIC,EAAE+I,UAAUhJ,EAAEC,EAAE6N,YAAaixB,aAAah/B,EAAEE,IAAKD,EAAEC,GAAI0I,YAAY5I,GAA4B,QAAxBE,EAAEA,EAAE++B,2BAA8B,IAAS/+B,GAAG,OAAOD,EAAEs9B,UAAUt9B,EAAEs9B,QAAQhW,UAAU,GAAG,IAAIpmB,GAAc,QAAVnB,EAAEA,EAAEgQ,OAAgB,IAAI+uB,GAAG/+B,EAAEC,EAAEC,GAAGF,EAAEA,EAAEiQ,QAAQ,OAAOjQ,GAAG++B,GAAG/+B,EAAEC,EAAEC,GAAGF,EAAEA,EAAEiQ,QACnX,SAASivB,GAAGl/B,EAAEC,EAAEC,GAAG,IAAIiB,EAAEnB,EAAEkF,IAAI,GAAG,IAAI/D,GAAG,IAAIA,EAAEnB,EAAEA,EAAEqO,UAAUpO,EAAEC,EAAE8+B,aAAah/B,EAAEC,GAAGC,EAAE0I,YAAY5I,QAAQ,GAAG,IAAImB,GAAc,QAAVnB,EAAEA,EAAEgQ,OAAgB,IAAIkvB,GAAGl/B,EAAEC,EAAEC,GAAGF,EAAEA,EAAEiQ,QAAQ,OAAOjQ,GAAGk/B,GAAGl/B,EAAEC,EAAEC,GAAGF,EAAEA,EAAEiQ,QAAQ,IAAIkvB,GAAE,KAAKC,IAAG,EAAG,SAASC,GAAGr/B,EAAEC,EAAEC,GAAG,IAAIA,EAAEA,EAAE8P,MAAM,OAAO9P,GAAGo/B,GAAGt/B,EAAEC,EAAEC,GAAGA,EAAEA,EAAE+P,QAC5Q,SAASqvB,GAAGt/B,EAAEC,EAAEC,GAAG,GAAG0R,IAAI,oBAAoBA,GAAG2tB,qBAAqB,IAAI3tB,GAAG2tB,qBAAqB5tB,GAAGzR,GAAG,MAAM4E,IAAI,OAAO5E,EAAEgF,KAAK,KAAK,EAAE+4B,IAAGI,GAAGn+B,EAAED,GAAG,KAAK,EAAE,IAAIkB,EAAEg+B,GAAE1hC,EAAE2hC,GAAGD,GAAE,KAAKE,GAAGr/B,EAAEC,EAAEC,GAAOk/B,GAAG3hC,EAAE,QAAT0hC,GAAEh+B,KAAkBi+B,IAAIp/B,EAAEm/B,GAAEj/B,EAAEA,EAAEmO,UAAU,IAAIrO,EAAEiJ,SAASjJ,EAAE+N,WAAWpF,YAAYzI,GAAGF,EAAE2I,YAAYzI,IAAIi/B,GAAEx2B,YAAYzI,EAAEmO,YAAY,MAAM,KAAK,GAAG,OAAO8wB,KAAIC,IAAIp/B,EAAEm/B,GAAEj/B,EAAEA,EAAEmO,UAAU,IAAIrO,EAAEiJ,SAASqf,GAAGtoB,EAAE+N,WAAW7N,GAAG,IAAIF,EAAEiJ,UAAUqf,GAAGtoB,EAAEE,GAAGuV,GAAGzV,IAAIsoB,GAAG6W,GAAEj/B,EAAEmO,YAAY,MAAM,KAAK,EAAElN,EAAEg+B,GAAE1hC,EAAE2hC,GAAGD,GAAEj/B,EAAEmO,UAAU6G,cAAckqB,IAAG,EAClfC,GAAGr/B,EAAEC,EAAEC,GAAGi/B,GAAEh+B,EAAEi+B,GAAG3hC,EAAE,MAAM,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAIwgC,KAAoB,QAAhB98B,EAAEjB,EAAEkuB,cAAsC,QAAfjtB,EAAEA,EAAE00B,aAAsB,CAACp4B,EAAE0D,EAAEA,EAAEysB,KAAK,EAAE,CAAC,IAAIxsB,EAAE3D,EAAE4D,EAAED,EAAE+0B,QAAQ/0B,EAAEA,EAAE8D,SAAI,IAAS7D,IAAI,KAAO,EAAFD,IAAe,KAAO,EAAFA,KAAfm9B,GAAGr+B,EAAED,EAAEoB,GAAyB5D,EAAEA,EAAEmwB,WAAWnwB,IAAI0D,GAAGk+B,GAAGr/B,EAAEC,EAAEC,GAAG,MAAM,KAAK,EAAE,IAAI+9B,KAAII,GAAGn+B,EAAED,GAAiB,oBAAdkB,EAAEjB,EAAEmO,WAAgCmxB,sBAAsB,IAAIr+B,EAAEpD,MAAMmC,EAAEosB,cAAcnrB,EAAE5I,MAAM2H,EAAE0P,cAAczO,EAAEq+B,uBAAuB,MAAM16B,GAAGw5B,GAAEp+B,EAAED,EAAE6E,GAAGu6B,GAAGr/B,EAAEC,EAAEC,GAAG,MAAM,KAAK,GAAGm/B,GAAGr/B,EAAEC,EAAEC,GAAG,MAAM,KAAK,GAAU,EAAPA,EAAEgsB,MAAQ+R,IAAG98B,EAAE88B,KAAI,OAChf/9B,EAAE0P,cAAcyvB,GAAGr/B,EAAEC,EAAEC,GAAG+9B,GAAE98B,GAAGk+B,GAAGr/B,EAAEC,EAAEC,GAAG,MAAM,QAAQm/B,GAAGr/B,EAAEC,EAAEC,IAAI,SAASu/B,GAAGz/B,GAAG,IAAIC,EAAED,EAAEouB,YAAY,GAAG,OAAOnuB,EAAE,CAACD,EAAEouB,YAAY,KAAK,IAAIluB,EAAEF,EAAEqO,UAAU,OAAOnO,IAAIA,EAAEF,EAAEqO,UAAU,IAAI6vB,IAAIj+B,EAAE8B,SAAQ,SAAS9B,GAAG,IAAIkB,EAAEu+B,GAAGjnC,KAAK,KAAKuH,EAAEC,GAAGC,EAAEwlB,IAAIzlB,KAAKC,EAAEO,IAAIR,GAAGA,EAAEkoB,KAAKhnB,EAAEA,QACnQ,SAASw+B,GAAG3/B,EAAEC,GAAG,IAAIC,EAAED,EAAE0rB,UAAU,GAAG,OAAOzrB,EAAE,IAAI,IAAIiB,EAAE,EAAEA,EAAEjB,EAAE/M,OAAOgO,IAAI,CAAC,IAAI1D,EAAEyC,EAAEiB,GAAG,IAAI,IAAIC,EAAEpB,EAAEqB,EAAEpB,EAAE6E,EAAEzD,EAAErB,EAAE,KAAK,OAAO8E,GAAG,CAAC,OAAOA,EAAEI,KAAK,KAAK,EAAEi6B,GAAEr6B,EAAEuJ,UAAU+wB,IAAG,EAAG,MAAMp/B,EAAE,KAAK,EAA4C,KAAK,EAAEm/B,GAAEr6B,EAAEuJ,UAAU6G,cAAckqB,IAAG,EAAG,MAAMp/B,EAAE8E,EAAEA,EAAE4K,OAAO,GAAG,OAAOyvB,GAAE,MAAMrnC,MAAMiI,EAAE,MAAMu/B,GAAGl+B,EAAEC,EAAE5D,GAAG0hC,GAAE,KAAKC,IAAG,EAAG,IAAIr6B,EAAEtH,EAAEgS,UAAU,OAAO1K,IAAIA,EAAE2K,OAAO,MAAMjS,EAAEiS,OAAO,KAAK,MAAM7K,GAAGy5B,GAAE7gC,EAAEwC,EAAE4E,IAAI,GAAkB,MAAf5E,EAAEo8B,aAAmB,IAAIp8B,EAAEA,EAAE+P,MAAM,OAAO/P,GAAG2/B,GAAG3/B,EAAED,GAAGC,EAAEA,EAAEgQ,QAC1d,SAAS2vB,GAAG5/B,EAAEC,GAAG,IAAIC,EAAEF,EAAEyP,UAAUtO,EAAEnB,EAAE5J,MAAM,OAAO4J,EAAEkF,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAiB,GAAdy6B,GAAG1/B,EAAED,GAAG6/B,GAAG7/B,GAAQ,EAAFmB,EAAI,CAAC,IAAIs9B,GAAG,EAAEz+B,EAAEA,EAAE0P,QAAQgvB,GAAG,EAAE1+B,GAAG,MAAMkmB,GAAGoY,GAAEt+B,EAAEA,EAAE0P,OAAOwW,GAAG,IAAIuY,GAAG,EAAEz+B,EAAEA,EAAE0P,QAAQ,MAAMwW,GAAGoY,GAAEt+B,EAAEA,EAAE0P,OAAOwW,IAAI,MAAM,KAAK,EAAEyZ,GAAG1/B,EAAED,GAAG6/B,GAAG7/B,GAAK,IAAFmB,GAAO,OAAOjB,GAAGm+B,GAAGn+B,EAAEA,EAAEwP,QAAQ,MAAM,KAAK,EAAgD,GAA9CiwB,GAAG1/B,EAAED,GAAG6/B,GAAG7/B,GAAK,IAAFmB,GAAO,OAAOjB,GAAGm+B,GAAGn+B,EAAEA,EAAEwP,QAAmB,GAAR1P,EAAE5J,MAAS,CAAC,IAAIqH,EAAEuC,EAAEqO,UAAU,IAAItF,GAAGtL,EAAE,IAAI,MAAMyoB,GAAGoY,GAAEt+B,EAAEA,EAAE0P,OAAOwW,IAAI,GAAK,EAAF/kB,GAAoB,OAAd1D,EAAEuC,EAAEqO,WAAmB,CAAC,IAAIjN,EAAEpB,EAAEssB,cAAcjrB,EAAE,OAAOnB,EAAEA,EAAEosB,cAAclrB,EAAE0D,EAAE9E,EAAE9I,KAAK6N,EAAE/E,EAAEouB,YACje,GAAnBpuB,EAAEouB,YAAY,KAAQ,OAAOrpB,EAAE,IAAI,UAAUD,GAAG,UAAU1D,EAAElK,MAAM,MAAMkK,EAAE3L,MAAMwR,EAAGxJ,EAAE2D,GAAGqM,GAAG3I,EAAEzD,GAAG,IAAIwD,EAAE4I,GAAG3I,EAAE1D,GAAG,IAAIC,EAAE,EAAEA,EAAE0D,EAAE5R,OAAOkO,GAAG,EAAE,CAAC,IAAIjK,EAAE2N,EAAE1D,GAAGiuB,EAAEvqB,EAAE1D,EAAE,GAAG,UAAUjK,EAAE6U,GAAGxO,EAAE6xB,GAAG,4BAA4Bl4B,EAAEkR,GAAG7K,EAAE6xB,GAAG,aAAal4B,EAAE2R,GAAGtL,EAAE6xB,GAAGltB,EAAG3E,EAAErG,EAAEk4B,EAAEzqB,GAAG,OAAOC,GAAG,IAAK,QAAQoC,EAAGzJ,EAAE2D,GAAG,MAAM,IAAK,WAAW4G,GAAGvK,EAAE2D,GAAG,MAAM,IAAK,SAAS,IAAImuB,EAAE9xB,EAAEmJ,cAAcu2B,YAAY1/B,EAAEmJ,cAAcu2B,cAAc/7B,EAAEg8B,SAAS,IAAI5N,EAAEpuB,EAAEjM,MAAM,MAAMq6B,EAAEjoB,GAAG9J,IAAI2D,EAAEg8B,SAAS5N,GAAE,GAAID,MAAMnuB,EAAEg8B,WAAW,MAAMh8B,EAAEuF,aAAaY,GAAG9J,IAAI2D,EAAEg8B,SACnfh8B,EAAEuF,cAAa,GAAIY,GAAG9J,IAAI2D,EAAEg8B,SAASh8B,EAAEg8B,SAAS,GAAG,IAAG,IAAK3/B,EAAEmrB,IAAIxnB,EAAE,MAAM8kB,GAAGoY,GAAEt+B,EAAEA,EAAE0P,OAAOwW,IAAI,MAAM,KAAK,EAAgB,GAAdyZ,GAAG1/B,EAAED,GAAG6/B,GAAG7/B,GAAQ,EAAFmB,EAAI,CAAC,GAAG,OAAOnB,EAAEqO,UAAU,MAAMvW,MAAMiI,EAAE,MAAMtC,EAAEuC,EAAEqO,UAAUjN,EAAEpB,EAAEssB,cAAc,IAAI7uB,EAAEyL,UAAU9H,EAAE,MAAM8kB,GAAGoY,GAAEt+B,EAAEA,EAAE0P,OAAOwW,IAAI,MAAM,KAAK,EAAgB,GAAdyZ,GAAG1/B,EAAED,GAAG6/B,GAAG7/B,GAAQ,EAAFmB,GAAK,OAAOjB,GAAGA,EAAE0P,cAAcqF,aAAa,IAAIQ,GAAGxV,EAAEiV,eAAe,MAAMgR,GAAGoY,GAAEt+B,EAAEA,EAAE0P,OAAOwW,GAAG,MAAM,KAAK,EAG4G,QAAQyZ,GAAG1/B,EACnfD,GAAG6/B,GAAG7/B,SAJ4Y,KAAK,GAAG2/B,GAAG1/B,EAAED,GAAG6/B,GAAG7/B,GAAqB,MAAlBvC,EAAEuC,EAAEgQ,OAAQ5Z,QAAagL,EAAE,OAAO3D,EAAEmS,cAAcnS,EAAE4Q,UAAUyxB,SAAS1+B,GAAGA,GAClf,OAAO3D,EAAEgS,WAAW,OAAOhS,EAAEgS,UAAUG,gBAAgBmwB,GAAGlvB,OAAQ,EAAF1P,GAAKs+B,GAAGz/B,GAAG,MAAM,KAAK,GAAsF,GAAnF5I,EAAE,OAAO8I,GAAG,OAAOA,EAAE0P,cAAqB,EAAP5P,EAAEksB,MAAQ+R,IAAGp5B,EAAEo5B,KAAI7mC,EAAEuoC,GAAG1/B,EAAED,GAAGi+B,GAAEp5B,GAAG86B,GAAG1/B,EAAED,GAAG6/B,GAAG7/B,GAAQ,KAAFmB,EAAO,CAA0B,GAAzB0D,EAAE,OAAO7E,EAAE4P,eAAkB5P,EAAEqO,UAAUyxB,SAASj7B,KAAKzN,GAAG,KAAY,EAAP4I,EAAEksB,MAAQ,IAAIkS,GAAEp+B,EAAE5I,EAAE4I,EAAEgQ,MAAM,OAAO5Y,GAAG,CAAC,IAAIk4B,EAAE8O,GAAEhnC,EAAE,OAAOgnC,IAAG,CAAe,OAAV5O,GAAJD,EAAE6O,IAAMpuB,MAAauf,EAAErqB,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAGu5B,GAAG,EAAElP,EAAEA,EAAE7f,QAAQ,MAAM,KAAK,EAAE2uB,GAAG9O,EAAEA,EAAE7f,QAAQ,IAAIxW,EAAEq2B,EAAElhB,UAAU,GAAG,oBAAoBnV,EAAEsmC,qBAAqB,CAACr+B,EAAEouB,EAAErvB,EAAEqvB,EAAE7f,OAAO,IAAIzP,EAAEkB,EAAEjI,EAAE6E,MACpfkC,EAAEqsB,cAAcpzB,EAAEX,MAAM0H,EAAE2P,cAAc1W,EAAEsmC,uBAAuB,MAAMtZ,GAAGoY,GAAEn9B,EAAEjB,EAAEgmB,IAAI,MAAM,KAAK,EAAEmY,GAAG9O,EAAEA,EAAE7f,QAAQ,MAAM,KAAK,GAAG,GAAG,OAAO6f,EAAE3f,cAAc,CAACowB,GAAG1Q,GAAG,UAAU,OAAOE,GAAGA,EAAE9f,OAAO6f,EAAE6O,GAAE5O,GAAGwQ,GAAG1Q,GAAGl4B,EAAEA,EAAE6Y,QAAQjQ,EAAE,IAAI5I,EAAE,KAAKk4B,EAAEtvB,IAAI,CAAC,GAAG,IAAIsvB,EAAEpqB,KAAK,GAAG,OAAO9N,EAAE,CAACA,EAAEk4B,EAAE,IAAI7xB,EAAE6xB,EAAEjhB,UAAUxJ,EAAa,oBAAVzD,EAAE3D,EAAEyO,OAA4BE,YAAYhL,EAAEgL,YAAY,UAAU,OAAO,aAAahL,EAAE6+B,QAAQ,QAASn7B,EAAEwqB,EAAEjhB,UAAkChN,OAAE,KAA1B0D,EAAEuqB,EAAEhD,cAAcpgB,QAAoB,OAAOnH,GAAGA,EAAEjS,eAAe,WAAWiS,EAAEk7B,QAAQ,KAAKn7B,EAAEoH,MAAM+zB,QACzfj0B,GAAG,UAAU3K,IAAI,MAAM6kB,GAAGoY,GAAEt+B,EAAEA,EAAE0P,OAAOwW,UAAU,GAAG,IAAIoJ,EAAEpqB,KAAK,GAAG,OAAO9N,EAAE,IAAIk4B,EAAEjhB,UAAUnF,UAAUrE,EAAE,GAAGyqB,EAAEhD,cAAc,MAAMpG,GAAGoY,GAAEt+B,EAAEA,EAAE0P,OAAOwW,SAAS,IAAI,KAAKoJ,EAAEpqB,KAAK,KAAKoqB,EAAEpqB,KAAK,OAAOoqB,EAAE1f,eAAe0f,IAAItvB,IAAI,OAAOsvB,EAAEtf,MAAM,CAACsf,EAAEtf,MAAMN,OAAO4f,EAAEA,EAAEA,EAAEtf,MAAM,SAAS,GAAGsf,IAAItvB,EAAE,MAAMA,EAAE,KAAK,OAAOsvB,EAAErf,SAAS,CAAC,GAAG,OAAOqf,EAAE5f,QAAQ4f,EAAE5f,SAAS1P,EAAE,MAAMA,EAAE5I,IAAIk4B,IAAIl4B,EAAE,MAAMk4B,EAAEA,EAAE5f,OAAOtY,IAAIk4B,IAAIl4B,EAAE,MAAMk4B,EAAErf,QAAQP,OAAO4f,EAAE5f,OAAO4f,EAAEA,EAAErf,SAAS,MAAM,KAAK,GAAG0vB,GAAG1/B,EAAED,GAAG6/B,GAAG7/B,GAAK,EAAFmB,GAAKs+B,GAAGz/B,GAAS,KAAK,KACrd,SAAS6/B,GAAG7/B,GAAG,IAAIC,EAAED,EAAE5J,MAAM,GAAK,EAAF6J,EAAI,CAAC,IAAID,EAAE,CAAC,IAAI,IAAIE,EAAEF,EAAE0P,OAAO,OAAOxP,GAAG,CAAC,GAAG2+B,GAAG3+B,GAAG,CAAC,IAAIiB,EAAEjB,EAAE,MAAMF,EAAEE,EAAEA,EAAEwP,OAAO,MAAM5X,MAAMiI,EAAE,MAAO,OAAOoB,EAAE+D,KAAK,KAAK,EAAE,IAAIzH,EAAE0D,EAAEkN,UAAkB,GAARlN,EAAE/K,QAAW2S,GAAGtL,EAAE,IAAI0D,EAAE/K,QAAQ,IAAgB8oC,GAAGl/B,EAAT8+B,GAAG9+B,GAAUvC,GAAG,MAAM,KAAK,EAAE,KAAK,EAAE,IAAI4D,EAAEF,EAAEkN,UAAU6G,cAAsB6pB,GAAG/+B,EAAT8+B,GAAG9+B,GAAUqB,GAAG,MAAM,QAAQ,MAAMvJ,MAAMiI,EAAE,OAAQ,MAAMgF,GAAGu5B,GAAEt+B,EAAEA,EAAE0P,OAAO3K,GAAG/E,EAAE5J,QAAQ,EAAI,KAAF6J,IAASD,EAAE5J,QAAQ,MAAM,SAAS8pC,GAAGlgC,EAAEC,EAAEC,GAAGk+B,GAAEp+B,EAAEmgC,GAAGngC,EAAEC,EAAEC,GACrb,SAASigC,GAAGngC,EAAEC,EAAEC,GAAG,IAAI,IAAIiB,EAAE,KAAY,EAAPnB,EAAEksB,MAAQ,OAAOkS,IAAG,CAAC,IAAI3gC,EAAE2gC,GAAEh9B,EAAE3D,EAAEuS,MAAM,GAAG,KAAKvS,EAAEyH,KAAK/D,EAAE,CAAC,IAAIE,EAAE,OAAO5D,EAAEmS,eAAeouB,GAAG,IAAI38B,EAAE,CAAC,IAAIyD,EAAErH,EAAEgS,UAAU1K,EAAE,OAAOD,GAAG,OAAOA,EAAE8K,eAAequB,GAAEn5B,EAAEk5B,GAAG,IAAIn5B,EAAEo5B,GAAO,GAALD,GAAG38B,GAAM48B,GAAEl5B,KAAKF,EAAE,IAAIu5B,GAAE3gC,EAAE,OAAO2gC,IAAOr5B,GAAJ1D,EAAE+8B,IAAMpuB,MAAM,KAAK3O,EAAE6D,KAAK,OAAO7D,EAAEuO,cAAcwwB,GAAG3iC,GAAG,OAAOsH,GAAGA,EAAE2K,OAAOrO,EAAE+8B,GAAEr5B,GAAGq7B,GAAG3iC,GAAG,KAAK,OAAO2D,GAAGg9B,GAAEh9B,EAAE++B,GAAG/+B,EAAEnB,EAAEC,GAAGkB,EAAEA,EAAE6O,QAAQmuB,GAAE3gC,EAAEugC,GAAGl5B,EAAEm5B,GAAEp5B,EAAEw7B,GAAGrgC,QAAY,KAAoB,KAAfvC,EAAE4+B,eAAoB,OAAOj7B,GAAGA,EAAEsO,OAAOjS,EAAE2gC,GAAEh9B,GAAGi/B,GAAGrgC,IAChc,SAASqgC,GAAGrgC,GAAG,KAAK,OAAOo+B,IAAG,CAAC,IAAIn+B,EAAEm+B,GAAE,GAAG,KAAa,KAARn+B,EAAE7J,OAAY,CAAC,IAAI8J,EAAED,EAAEwP,UAAU,IAAI,GAAG,KAAa,KAARxP,EAAE7J,OAAY,OAAO6J,EAAEiF,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG+4B,IAAGS,GAAG,EAAEz+B,GAAG,MAAM,KAAK,EAAE,IAAIkB,EAAElB,EAAEoO,UAAU,GAAW,EAARpO,EAAE7J,QAAU6nC,GAAE,GAAG,OAAO/9B,EAAEiB,EAAEiwB,wBAAwB,CAAC,IAAI3zB,EAAEwC,EAAEd,cAAcc,EAAE/I,KAAKgJ,EAAEosB,cAAcK,GAAG1sB,EAAE/I,KAAKgJ,EAAEosB,eAAenrB,EAAE65B,mBAAmBv9B,EAAEyC,EAAE0P,cAAczO,EAAEm/B,qCAAqC,IAAIl/B,EAAEnB,EAAEmuB,YAAY,OAAOhtB,GAAGsuB,GAAGzvB,EAAEmB,EAAED,GAAG,MAAM,KAAK,EAAE,IAAIE,EAAEpB,EAAEmuB,YAAY,GAAG,OAAO/sB,EAAE,CAAQ,GAAPnB,EAAE,KAAQ,OAAOD,EAAE+P,MAAM,OAAO/P,EAAE+P,MAAM9K,KAAK,KAAK,EACvf,KAAK,EAAEhF,EAAED,EAAE+P,MAAM3B,UAAUqhB,GAAGzvB,EAAEoB,EAAEnB,GAAG,MAAM,KAAK,EAAE,IAAI4E,EAAE7E,EAAEoO,UAAU,GAAG,OAAOnO,GAAW,EAARD,EAAE7J,MAAQ,CAAC8J,EAAE4E,EAAE,IAAIC,EAAE9E,EAAEqsB,cAAc,OAAOrsB,EAAE/I,MAAM,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAW6N,EAAE24B,WAAWx9B,EAAEujB,QAAQ,MAAM,IAAK,MAAM1e,EAAEw7B,MAAMrgC,EAAEqgC,IAAIx7B,EAAEw7B,MAAM,MAAM,KAAK,EAAQ,KAAK,EAAQ,KAAK,GAAyJ,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAhM,KAAK,GAAG,GAAG,OAAOtgC,EAAE2P,cAAc,CAAC,IAAI/K,EAAE5E,EAAEwP,UAAU,GAAG,OAAO5K,EAAE,CAAC,IAAIzN,EAAEyN,EAAE+K,cAAc,GAAG,OAAOxY,EAAE,CAAC,IAAIk4B,EAAEl4B,EAAEyY,WAAW,OAAOyf,GAAG7Z,GAAG6Z,KAAK,MAC5c,QAAQ,MAAMx3B,MAAMiI,EAAE,MAAOk+B,IAAW,IAARh+B,EAAE7J,OAAWuoC,GAAG1+B,GAAG,MAAMsvB,GAAG+O,GAAEr+B,EAAEA,EAAEyP,OAAO6f,IAAI,GAAGtvB,IAAID,EAAE,CAACo+B,GAAE,KAAK,MAAkB,GAAG,QAAfl+B,EAAED,EAAEgQ,SAAoB,CAAC/P,EAAEwP,OAAOzP,EAAEyP,OAAO0uB,GAAEl+B,EAAE,MAAMk+B,GAAEn+B,EAAEyP,QAAQ,SAASswB,GAAGhgC,GAAG,KAAK,OAAOo+B,IAAG,CAAC,IAAIn+B,EAAEm+B,GAAE,GAAGn+B,IAAID,EAAE,CAACo+B,GAAE,KAAK,MAAM,IAAIl+B,EAAED,EAAEgQ,QAAQ,GAAG,OAAO/P,EAAE,CAACA,EAAEwP,OAAOzP,EAAEyP,OAAO0uB,GAAEl+B,EAAE,MAAMk+B,GAAEn+B,EAAEyP,QAChS,SAAS0wB,GAAGpgC,GAAG,KAAK,OAAOo+B,IAAG,CAAC,IAAIn+B,EAAEm+B,GAAE,IAAI,OAAOn+B,EAAEiF,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,IAAIhF,EAAED,EAAEyP,OAAO,IAAIgvB,GAAG,EAAEz+B,GAAG,MAAM8E,GAAGu5B,GAAEr+B,EAAEC,EAAE6E,GAAG,MAAM,KAAK,EAAE,IAAI5D,EAAElB,EAAEoO,UAAU,GAAG,oBAAoBlN,EAAEiwB,kBAAkB,CAAC,IAAI3zB,EAAEwC,EAAEyP,OAAO,IAAIvO,EAAEiwB,oBAAoB,MAAMrsB,GAAGu5B,GAAEr+B,EAAExC,EAAEsH,IAAI,IAAI3D,EAAEnB,EAAEyP,OAAO,IAAIivB,GAAG1+B,GAAG,MAAM8E,GAAGu5B,GAAEr+B,EAAEmB,EAAE2D,GAAG,MAAM,KAAK,EAAE,IAAI1D,EAAEpB,EAAEyP,OAAO,IAAIivB,GAAG1+B,GAAG,MAAM8E,GAAGu5B,GAAEr+B,EAAEoB,EAAE0D,KAAK,MAAMA,GAAGu5B,GAAEr+B,EAAEA,EAAEyP,OAAO3K,GAAG,GAAG9E,IAAID,EAAE,CAACo+B,GAAE,KAAK,MAAM,IAAIt5B,EAAE7E,EAAEgQ,QAAQ,GAAG,OAAOnL,EAAE,CAACA,EAAE4K,OAAOzP,EAAEyP,OAAO0uB,GAAEt5B,EAAE,MAAMs5B,GAAEn+B,EAAEyP,QACtd,IAwBkN8wB,GAxB9MC,GAAG3uB,KAAK4uB,KAAKC,GAAG79B,EAAGwwB,uBAAuBsN,GAAG99B,EAAG+2B,kBAAkBgH,GAAG/9B,EAAG6S,wBAAwBuZ,GAAE,EAAE76B,GAAE,KAAKysC,GAAE,KAAKC,GAAE,EAAErG,GAAG,EAAED,GAAGxR,GAAG,GAAG2U,GAAE,EAAEoD,GAAG,KAAKvR,GAAG,EAAEwR,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAKC,GAAG,KAAKrB,GAAG,EAAElC,GAAGwD,IAASC,GAAG,KAAKrI,IAAG,EAAGC,GAAG,KAAKG,GAAG,KAAKkI,IAAG,EAAGC,GAAG,KAAKC,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAKC,IAAI,EAAEC,GAAG,EAAE,SAAS1R,KAAI,OAAO,KAAO,EAAFjB,IAAKre,MAAK,IAAI+wB,GAAGA,GAAGA,GAAG/wB,KAC7T,SAASuf,GAAGpwB,GAAG,OAAG,KAAY,EAAPA,EAAEksB,MAAe,EAAK,KAAO,EAAFgD,KAAM,IAAI6R,GAASA,IAAGA,GAAK,OAAOrU,GAAG5W,YAAkB,IAAI+rB,KAAKA,GAAG9uB,MAAM8uB,IAAU,KAAP7hC,EAAEoT,IAAkBpT,EAAiBA,OAAE,KAAjBA,EAAEW,OAAOgf,OAAmB,GAAGtJ,GAAGrW,EAAE9I,MAAe,SAASm5B,GAAGrwB,EAAEC,EAAEC,EAAEiB,GAAG,GAAG,GAAGugC,GAAG,MAAMA,GAAG,EAAEC,GAAG,KAAK7pC,MAAMiI,EAAE,MAAMkT,GAAGjT,EAAEE,EAAEiB,GAAM,KAAO,EAAF+tB,KAAMlvB,IAAI3L,KAAE2L,IAAI3L,KAAI,KAAO,EAAF66B,MAAO+R,IAAI/gC,GAAG,IAAI09B,IAAGkE,GAAG9hC,EAAE+gC,KAAIgB,GAAG/hC,EAAEmB,GAAG,IAAIjB,GAAG,IAAIgvB,IAAG,KAAY,EAAPjvB,EAAEisB,QAAU2R,GAAGhtB,KAAI,IAAIuZ,IAAIG,OACrY,SAASwX,GAAG/hC,EAAEC,GAAG,IAAIC,EAAEF,EAAEgiC,cA5MzB,SAAYhiC,EAAEC,GAAG,IAAI,IAAIC,EAAEF,EAAEyS,eAAetR,EAAEnB,EAAE0S,YAAYjV,EAAEuC,EAAEiiC,gBAAgB7gC,EAAEpB,EAAEwS,aAAa,EAAEpR,GAAG,CAAC,IAAIC,EAAE,GAAGwQ,GAAGzQ,GAAG0D,EAAE,GAAGzD,EAAE0D,EAAEtH,EAAE4D,IAAO,IAAI0D,EAAM,KAAKD,EAAE5E,IAAI,KAAK4E,EAAE3D,KAAG1D,EAAE4D,GAAGwR,GAAG/N,EAAE7E,IAAQ8E,GAAG9E,IAAID,EAAEkiC,cAAcp9B,GAAG1D,IAAI0D,GA4MjLq9B,CAAGniC,EAAEC,GAAG,IAAIkB,EAAEoR,GAAGvS,EAAEA,IAAI3L,GAAE0sC,GAAE,GAAG,GAAG,IAAI5/B,EAAE,OAAOjB,GAAGqQ,GAAGrQ,GAAGF,EAAEgiC,aAAa,KAAKhiC,EAAEoiC,iBAAiB,OAAO,GAAGniC,EAAEkB,GAAGA,EAAEnB,EAAEoiC,mBAAmBniC,EAAE,CAAgB,GAAf,MAAMC,GAAGqQ,GAAGrQ,GAAM,IAAID,EAAE,IAAID,EAAEkF,IA7IsJ,SAAYlF,GAAGoqB,IAAG,EAAGE,GAAGtqB,GA6I1KqiC,CAAGC,GAAG7pC,KAAK,KAAKuH,IAAIsqB,GAAGgY,GAAG7pC,KAAK,KAAKuH,IAAIioB,IAAG,WAAW,KAAO,EAAFiH,KAAM3E,QAAOrqB,EAAE,SAAS,CAAC,OAAOmT,GAAGlS,IAAI,KAAK,EAAEjB,EAAE+Q,GAAG,MAAM,KAAK,EAAE/Q,EAAEiR,GAAG,MAAM,KAAK,GAAwC,QAAQjR,EAAEmR,SAApC,KAAK,UAAUnR,EAAEuR,GAAsBvR,EAAEqiC,GAAGriC,EAAEsiC,GAAG/pC,KAAK,KAAKuH,IAAIA,EAAEoiC,iBAAiBniC,EAAED,EAAEgiC,aAAa9hC,GAC3c,SAASsiC,GAAGxiC,EAAEC,GAAc,GAAX2hC,IAAI,EAAEC,GAAG,EAAK,KAAO,EAAF3S,IAAK,MAAMp3B,MAAMiI,EAAE,MAAM,IAAIG,EAAEF,EAAEgiC,aAAa,GAAGS,MAAMziC,EAAEgiC,eAAe9hC,EAAE,OAAO,KAAK,IAAIiB,EAAEoR,GAAGvS,EAAEA,IAAI3L,GAAE0sC,GAAE,GAAG,GAAG,IAAI5/B,EAAE,OAAO,KAAK,GAAG,KAAO,GAAFA,IAAO,KAAKA,EAAEnB,EAAEkiC,eAAejiC,EAAEA,EAAEyiC,GAAG1iC,EAAEmB,OAAO,CAAClB,EAAEkB,EAAE,IAAI1D,EAAEyxB,GAAEA,IAAG,EAAE,IAAI9tB,EAAEuhC,KAAgD,IAAxCtuC,KAAI2L,GAAG+gC,KAAI9gC,IAAEqhC,GAAG,KAAKzD,GAAGhtB,KAAI,IAAI+xB,GAAG5iC,EAAEC,MAAM,IAAI4iC,KAAK,MAAM,MAAM/9B,GAAGg+B,GAAG9iC,EAAE8E,GAAYkoB,KAAK2T,GAAGzwB,QAAQ9O,EAAE8tB,GAAEzxB,EAAE,OAAOqjC,GAAE7gC,EAAE,GAAG5L,GAAE,KAAK0sC,GAAE,EAAE9gC,EAAE29B,IAAG,GAAG,IAAI39B,EAAE,CAAyC,GAAxC,IAAIA,IAAY,KAARxC,EAAEqV,GAAG9S,MAAWmB,EAAE1D,EAAEwC,EAAE8iC,GAAG/iC,EAAEvC,KAAQ,IAAIwC,EAAE,MAAMC,EAAE8gC,GAAG4B,GAAG5iC,EAAE,GAAG8hC,GAAG9hC,EAAEmB,GAAG4gC,GAAG/hC,EAAE6Q,MAAK3Q,EAAE,GAAG,IAAID,EAAE6hC,GAAG9hC,EAAEmB,OAChf,CAAuB,GAAtB1D,EAAEuC,EAAEkQ,QAAQT,UAAa,KAAO,GAAFtO,KAGnC,SAAYnB,GAAG,IAAI,IAAIC,EAAED,IAAI,CAAC,GAAW,MAARC,EAAE7J,MAAY,CAAC,IAAI8J,EAAED,EAAEmuB,YAAY,GAAG,OAAOluB,GAAe,QAAXA,EAAEA,EAAE41B,QAAiB,IAAI,IAAI30B,EAAE,EAAEA,EAAEjB,EAAE/M,OAAOgO,IAAI,CAAC,IAAI1D,EAAEyC,EAAEiB,GAAGC,EAAE3D,EAAEg4B,YAAYh4B,EAAEA,EAAEtI,MAAM,IAAI,IAAI6rB,GAAG5f,IAAI3D,GAAG,OAAM,EAAG,MAAM4D,GAAG,OAAM,IAAe,GAAVnB,EAAED,EAAE+P,MAAwB,MAAf/P,EAAEo8B,cAAoB,OAAOn8B,EAAEA,EAAEwP,OAAOzP,EAAEA,EAAEC,MAAM,CAAC,GAAGD,IAAID,EAAE,MAAM,KAAK,OAAOC,EAAEgQ,SAAS,CAAC,GAAG,OAAOhQ,EAAEyP,QAAQzP,EAAEyP,SAAS1P,EAAE,OAAM,EAAGC,EAAEA,EAAEyP,OAAOzP,EAAEgQ,QAAQP,OAAOzP,EAAEyP,OAAOzP,EAAEA,EAAEgQ,SAAS,OAAM,EAHrX+yB,CAAGvlC,KAAe,KAAVwC,EAAEyiC,GAAG1iC,EAAEmB,MAAmB,KAARC,EAAE0R,GAAG9S,MAAWmB,EAAEC,EAAEnB,EAAE8iC,GAAG/iC,EAAEoB,KAAK,IAAInB,GAAG,MAAMC,EAAE8gC,GAAG4B,GAAG5iC,EAAE,GAAG8hC,GAAG9hC,EAAEmB,GAAG4gC,GAAG/hC,EAAE6Q,MAAK3Q,EAAqC,OAAnCF,EAAEijC,aAAaxlC,EAAEuC,EAAEkjC,cAAc/hC,EAASlB,GAAG,KAAK,EAAE,KAAK,EAAE,MAAMnI,MAAMiI,EAAE,MAAM,KAAK,EAC8B,KAAK,EAAEojC,GAAGnjC,EAAEohC,GAAGE,IAAI,MAD7B,KAAK,EAAU,GAARQ,GAAG9hC,EAAEmB,IAAS,UAAFA,KAAeA,GAAiB,IAAblB,EAAE8/B,GAAG,IAAIlvB,MAAU,CAAC,GAAG,IAAI0B,GAAGvS,EAAE,GAAG,MAAyB,KAAnBvC,EAAEuC,EAAEyS,gBAAqBtR,KAAKA,EAAE,CAACgvB,KAAInwB,EAAE0S,aAAa1S,EAAEyS,eAAehV,EAAE,MAAMuC,EAAEojC,cAAcxb,GAAGub,GAAG1qC,KAAK,KAAKuH,EAAEohC,GAAGE,IAAIrhC,GAAG,MAAMkjC,GAAGnjC,EAAEohC,GAAGE,IAAI,MAAM,KAAK,EAAU,GAARQ,GAAG9hC,EAAEmB,IAAS,QAAFA,KAC9eA,EAAE,MAAqB,IAAflB,EAAED,EAAEkT,WAAezV,GAAG,EAAE,EAAE0D,GAAG,CAAC,IAAIE,EAAE,GAAGwQ,GAAG1Q,GAAGC,EAAE,GAAGC,GAAEA,EAAEpB,EAAEoB,IAAK5D,IAAIA,EAAE4D,GAAGF,IAAIC,EAAsG,GAApGD,EAAE1D,EAAqG,IAA3F0D,GAAG,KAAXA,EAAE0P,KAAI1P,GAAW,IAAI,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKs/B,GAAGt/B,EAAE,OAAOA,GAAU,CAACnB,EAAEojC,cAAcxb,GAAGub,GAAG1qC,KAAK,KAAKuH,EAAEohC,GAAGE,IAAIngC,GAAG,MAAMgiC,GAAGnjC,EAAEohC,GAAGE,IAAI,MAA+B,QAAQ,MAAMxpC,MAAMiI,EAAE,QAAmB,OAAVgiC,GAAG/hC,EAAE6Q,MAAY7Q,EAAEgiC,eAAe9hC,EAAEsiC,GAAG/pC,KAAK,KAAKuH,GAAG,KACjX,SAAS+iC,GAAG/iC,EAAEC,GAAG,IAAIC,EAAEihC,GAA2G,OAAxGnhC,EAAEkQ,QAAQN,cAAcqF,eAAe2tB,GAAG5iC,EAAEC,GAAG7J,OAAO,KAAe,KAAV4J,EAAE0iC,GAAG1iC,EAAEC,MAAWA,EAAEmhC,GAAGA,GAAGlhC,EAAE,OAAOD,GAAGi9B,GAAGj9B,IAAWD,EAAE,SAASk9B,GAAGl9B,GAAG,OAAOohC,GAAGA,GAAGphC,EAAEohC,GAAG9tC,KAAKI,MAAM0tC,GAAGphC,GAE1L,SAAS8hC,GAAG9hC,EAAEC,GAAuD,IAApDA,IAAIihC,GAAGjhC,IAAIghC,GAAGjhC,EAAEyS,gBAAgBxS,EAAED,EAAE0S,cAAczS,EAAMD,EAAEA,EAAEiiC,gBAAgB,EAAEhiC,GAAG,CAAC,IAAIC,EAAE,GAAG2R,GAAG5R,GAAGkB,EAAE,GAAGjB,EAAEF,EAAEE,IAAI,EAAED,IAAIkB,GAAG,SAASmhC,GAAGtiC,GAAG,GAAG,KAAO,EAAFkvB,IAAK,MAAMp3B,MAAMiI,EAAE,MAAM0iC,KAAK,IAAIxiC,EAAEsS,GAAGvS,EAAE,GAAG,GAAG,KAAO,EAAFC,GAAK,OAAO8hC,GAAG/hC,EAAE6Q,MAAK,KAAK,IAAI3Q,EAAEwiC,GAAG1iC,EAAEC,GAAG,GAAG,IAAID,EAAEkF,KAAK,IAAIhF,EAAE,CAAC,IAAIiB,EAAE2R,GAAG9S,GAAG,IAAImB,IAAIlB,EAAEkB,EAAEjB,EAAE6iC,GAAG/iC,EAAEmB,IAAI,GAAG,IAAIjB,EAAE,MAAMA,EAAE8gC,GAAG4B,GAAG5iC,EAAE,GAAG8hC,GAAG9hC,EAAEC,GAAG8hC,GAAG/hC,EAAE6Q,MAAK3Q,EAAE,GAAG,IAAIA,EAAE,MAAMpI,MAAMiI,EAAE,MAAiF,OAA3EC,EAAEijC,aAAajjC,EAAEkQ,QAAQT,UAAUzP,EAAEkjC,cAAcjjC,EAAEkjC,GAAGnjC,EAAEohC,GAAGE,IAAIS,GAAG/hC,EAAE6Q,MAAY,KACnd,SAASwyB,GAAGrjC,EAAEC,GAAG,IAAIC,EAAEgvB,GAAEA,IAAG,EAAE,IAAI,OAAOlvB,EAAEC,GAAb,QAA4B,KAAJivB,GAAEhvB,KAAU29B,GAAGhtB,KAAI,IAAIuZ,IAAIG,OAAO,SAAS+Y,GAAGtjC,GAAG,OAAOwhC,IAAI,IAAIA,GAAGt8B,KAAK,KAAO,EAAFgqB,KAAMuT,KAAK,IAAIxiC,EAAEivB,GAAEA,IAAG,EAAE,IAAIhvB,EAAE2gC,GAAG/qB,WAAW3U,EAAEiS,GAAE,IAAI,GAAGytB,GAAG/qB,WAAW,KAAK1C,GAAE,EAAEpT,EAAE,OAAOA,IAAvC,QAAmDoT,GAAEjS,EAAE0/B,GAAG/qB,WAAW5V,EAAM,KAAO,GAAXgvB,GAAEjvB,KAAasqB,MAAM,SAASuT,KAAKpD,GAAGD,GAAGvqB,QAAQgZ,GAAEuR,IAC7S,SAASmI,GAAG5iC,EAAEC,GAAGD,EAAEijC,aAAa,KAAKjjC,EAAEkjC,cAAc,EAAE,IAAIhjC,EAAEF,EAAEojC,cAAiD,IAAlC,IAAIljC,IAAIF,EAAEojC,eAAe,EAAEtb,GAAG5nB,IAAO,OAAO4gC,GAAE,IAAI5gC,EAAE4gC,GAAEpxB,OAAO,OAAOxP,GAAG,CAAC,IAAIiB,EAAEjB,EAAQ,OAANkrB,GAAGjqB,GAAUA,EAAE+D,KAAK,KAAK,EAA6B,QAA3B/D,EAAEA,EAAEjK,KAAKsE,yBAA4B,IAAS2F,GAAGyoB,KAAK,MAAM,KAAK,EAAEgJ,KAAK1J,GAAEI,IAAIJ,GAAEG,IAAG8J,KAAK,MAAM,KAAK,EAAEL,GAAG3xB,GAAG,MAAM,KAAK,EAAEyxB,KAAK,MAAM,KAAK,GAAc,KAAK,GAAG1J,GAAE6J,IAAG,MAAM,KAAK,GAAG9F,GAAG9rB,EAAEjK,KAAKmO,UAAU,MAAM,KAAK,GAAG,KAAK,GAAGy4B,KAAK59B,EAAEA,EAAEwP,OAA2E,GAApErb,GAAE2L,EAAE8gC,GAAE9gC,EAAE4xB,GAAG5xB,EAAEkQ,QAAQ,MAAM6wB,GAAErG,GAAGz6B,EAAE29B,GAAE,EAAEoD,GAAG,KAAKE,GAAGD,GAAGxR,GAAG,EAAE2R,GAAGD,GAAG,KAAQ,OAAOtT,GAAG,CAAC,IAAI5tB,EAC1f,EAAEA,EAAE4tB,GAAG16B,OAAO8M,IAAI,GAA2B,QAAhBkB,GAARjB,EAAE2tB,GAAG5tB,IAAO+tB,aAAqB,CAAC9tB,EAAE8tB,YAAY,KAAK,IAAIvwB,EAAE0D,EAAEysB,KAAKxsB,EAAElB,EAAEuuB,QAAQ,GAAG,OAAOrtB,EAAE,CAAC,IAAIC,EAAED,EAAEwsB,KAAKxsB,EAAEwsB,KAAKnwB,EAAE0D,EAAEysB,KAAKvsB,EAAEnB,EAAEuuB,QAAQttB,EAAE0sB,GAAG,KAAK,OAAO7tB,EAC1K,SAAS8iC,GAAG9iC,EAAEC,GAAG,OAAE,CAAC,IAAIC,EAAE4gC,GAAE,IAAuB,GAAnB9T,KAAKqG,GAAGnjB,QAAQokB,GAAMV,GAAG,CAAC,IAAI,IAAIzyB,EAAEsyB,GAAE7jB,cAAc,OAAOzO,GAAG,CAAC,IAAI1D,EAAE0D,EAAEuzB,MAAM,OAAOj3B,IAAIA,EAAEgxB,QAAQ,MAAMttB,EAAEA,EAAEysB,KAAKgG,IAAG,EAA8C,GAA3CJ,GAAG,EAAEG,GAAED,GAAED,GAAE,KAAKI,IAAG,EAAGC,GAAG,EAAE8M,GAAG1wB,QAAQ,KAAQ,OAAOhQ,GAAG,OAAOA,EAAEwP,OAAO,CAACkuB,GAAE,EAAEoD,GAAG/gC,EAAE6gC,GAAE,KAAK,MAAM9gC,EAAE,CAAC,IAAIoB,EAAEpB,EAAEqB,EAAEnB,EAAEwP,OAAO5K,EAAE5E,EAAE6E,EAAE9E,EAAqB,GAAnBA,EAAE8gC,GAAEj8B,EAAE1O,OAAO,MAAS,OAAO2O,GAAG,kBAAkBA,GAAG,oBAAoBA,EAAEojB,KAAK,CAAC,IAAItjB,EAAEE,EAAE3N,EAAE0N,EAAEwqB,EAAEl4B,EAAE8N,IAAI,GAAG,KAAY,EAAP9N,EAAE80B,QAAU,IAAIoD,GAAG,KAAKA,GAAG,KAAKA,GAAG,CAAC,IAAIC,EAAEn4B,EAAEqY,UAAU8f,GAAGn4B,EAAEg3B,YAAYmB,EAAEnB,YAAYh3B,EAAEwY,cAAc2f,EAAE3f,cACxexY,EAAEo2B,MAAM+B,EAAE/B,QAAQp2B,EAAEg3B,YAAY,KAAKh3B,EAAEwY,cAAc,MAAM,IAAI4f,EAAEkK,GAAGr4B,GAAG,GAAG,OAAOmuB,EAAE,CAACA,EAAEp5B,QAAQ,IAAIujC,GAAGnK,EAAEnuB,EAAEyD,EAAE1D,EAAEnB,GAAU,EAAPuvB,EAAEtD,MAAQqN,GAAGn4B,EAAEyD,EAAE5E,GAAO8E,EAAEF,EAAE,IAAI3L,GAAZ+G,EAAEuvB,GAAcpB,YAAY,GAAG,OAAOl1B,EAAE,CAAC,IAAIgtB,EAAE,IAAI7lB,IAAI6lB,EAAEzlB,IAAIsE,GAAG9E,EAAEmuB,YAAYlI,OAAOhtB,EAAEuH,IAAIsE,GAAG,MAAM/E,EAAO,GAAG,KAAO,EAAFC,GAAK,CAACs5B,GAAGn4B,EAAEyD,EAAE5E,GAAGg8B,KAAK,MAAMj8B,EAAE+E,EAAEjN,MAAMiI,EAAE,WAAY,GAAGwrB,IAAU,EAAPzmB,EAAEonB,KAAO,CAAC,IAAI/F,EAAEuT,GAAGr4B,GAAG,GAAG,OAAO8kB,EAAE,CAAC,KAAa,MAARA,EAAE/vB,SAAe+vB,EAAE/vB,OAAO,KAAKujC,GAAGxT,EAAE9kB,EAAEyD,EAAE1D,EAAEnB,GAAGwsB,GAAGiM,GAAG3zB,EAAED,IAAI,MAAM9E,GAAGoB,EAAE2D,EAAE2zB,GAAG3zB,EAAED,GAAG,IAAI84B,KAAIA,GAAE,GAAG,OAAOuD,GAAGA,GAAG,CAAC//B,GAAG+/B,GAAG7tC,KAAK8N,GAAGA,EAAEC,EAAE,EAAE,CAAC,OAAOD,EAAE8D,KAAK,KAAK,EAAE9D,EAAEhL,OAAO,MACpf6J,IAAIA,EAAEmB,EAAEosB,OAAOvtB,EAAkBmvB,GAAGhuB,EAAb43B,GAAG53B,EAAE2D,EAAE9E,IAAW,MAAMD,EAAE,KAAK,EAAE8E,EAAEC,EAAE,IAAIlN,EAAEuJ,EAAElK,KAAKmvB,EAAEjlB,EAAEiN,UAAU,GAAG,KAAa,IAARjN,EAAEhL,SAAa,oBAAoByB,EAAEiE,0BAA0B,OAAOuqB,GAAG,oBAAoBA,EAAE+S,oBAAoB,OAAOC,KAAKA,GAAG3T,IAAIW,KAAK,CAACjlB,EAAEhL,OAAO,MAAM6J,IAAIA,EAAEmB,EAAEosB,OAAOvtB,EAAkBmvB,GAAGhuB,EAAb+3B,GAAG/3B,EAAE0D,EAAE7E,IAAW,MAAMD,GAAGoB,EAAEA,EAAEsO,aAAa,OAAOtO,GAAGmiC,GAAGrjC,GAAG,MAAM0mB,GAAI3mB,EAAE2mB,EAAGka,KAAI5gC,GAAG,OAAOA,IAAI4gC,GAAE5gC,EAAEA,EAAEwP,QAAQ,SAAS,OAAe,SAASizB,KAAK,IAAI3iC,EAAE2gC,GAAGzwB,QAAsB,OAAdywB,GAAGzwB,QAAQokB,GAAU,OAAOt0B,EAAEs0B,GAAGt0B,EACpd,SAASi8B,KAAQ,IAAI2B,IAAG,IAAIA,IAAG,IAAIA,KAAEA,GAAE,GAAE,OAAOvpC,IAAG,KAAQ,UAAHo7B,KAAe,KAAQ,UAAHwR,KAAea,GAAGztC,GAAE0sC,IAAG,SAAS2B,GAAG1iC,EAAEC,GAAG,IAAIC,EAAEgvB,GAAEA,IAAG,EAAE,IAAI/tB,EAAEwhC,KAAqC,IAA7BtuC,KAAI2L,GAAG+gC,KAAI9gC,IAAEqhC,GAAG,KAAKsB,GAAG5iC,EAAEC,MAAM,IAAIujC,KAAK,MAAM,MAAM/lC,GAAGqlC,GAAG9iC,EAAEvC,GAAkC,GAAtBuvB,KAAKkC,GAAEhvB,EAAEygC,GAAGzwB,QAAQ/O,EAAK,OAAO2/B,GAAE,MAAMhpC,MAAMiI,EAAE,MAAiB,OAAX1L,GAAE,KAAK0sC,GAAE,EAASnD,GAAE,SAAS4F,KAAK,KAAK,OAAO1C,IAAG2C,GAAG3C,IAAG,SAAS+B,KAAK,KAAK,OAAO/B,KAAIrwB,MAAMgzB,GAAG3C,IAAG,SAAS2C,GAAGzjC,GAAG,IAAIC,EAAEugC,GAAGxgC,EAAEyP,UAAUzP,EAAE06B,IAAI16B,EAAEssB,cAActsB,EAAE6rB,aAAa,OAAO5rB,EAAEsjC,GAAGvjC,GAAG8gC,GAAE7gC,EAAE2gC,GAAG1wB,QAAQ,KACtd,SAASqzB,GAAGvjC,GAAG,IAAIC,EAAED,EAAE,EAAE,CAAC,IAAIE,EAAED,EAAEwP,UAAqB,GAAXzP,EAAEC,EAAEyP,OAAU,KAAa,MAARzP,EAAE7J,QAAc,GAAgB,QAAb8J,EAAE+8B,GAAG/8B,EAAED,EAAEy6B,KAAkB,YAAJoG,GAAE5gC,OAAc,CAAW,GAAG,QAAbA,EAAE69B,GAAG79B,EAAED,IAAmC,OAAnBC,EAAE9J,OAAO,WAAM0qC,GAAE5gC,GAAS,GAAG,OAAOF,EAAmE,OAAX49B,GAAE,OAAEkD,GAAE,MAA5D9gC,EAAE5J,OAAO,MAAM4J,EAAEq8B,aAAa,EAAEr8B,EAAE2rB,UAAU,KAAyC,GAAG,QAAf1rB,EAAEA,EAAEgQ,SAAyB,YAAJ6wB,GAAE7gC,GAAS6gC,GAAE7gC,EAAED,QAAQ,OAAOC,GAAG,IAAI29B,KAAIA,GAAE,GAAG,SAASuF,GAAGnjC,EAAEC,EAAEC,GAAG,IAAIiB,EAAEiS,GAAE3V,EAAEojC,GAAG/qB,WAAW,IAAI+qB,GAAG/qB,WAAW,KAAK1C,GAAE,EAC3Y,SAAYpT,EAAEC,EAAEC,EAAEiB,GAAG,GAAGshC,WAAW,OAAOjB,IAAI,GAAG,KAAO,EAAFtS,IAAK,MAAMp3B,MAAMiI,EAAE,MAAMG,EAAEF,EAAEijC,aAAa,IAAIxlC,EAAEuC,EAAEkjC,cAAc,GAAG,OAAOhjC,EAAE,OAAO,KAA2C,GAAtCF,EAAEijC,aAAa,KAAKjjC,EAAEkjC,cAAc,EAAKhjC,IAAIF,EAAEkQ,QAAQ,MAAMpY,MAAMiI,EAAE,MAAMC,EAAEgiC,aAAa,KAAKhiC,EAAEoiC,iBAAiB,EAAE,IAAIhhC,EAAElB,EAAEstB,MAAMttB,EAAEktB,WAA8J,GA1NtT,SAAYptB,EAAEC,GAAG,IAAIC,EAAEF,EAAEwS,cAAcvS,EAAED,EAAEwS,aAAavS,EAAED,EAAEyS,eAAe,EAAEzS,EAAE0S,YAAY,EAAE1S,EAAEkiC,cAAcjiC,EAAED,EAAE0jC,kBAAkBzjC,EAAED,EAAE2S,gBAAgB1S,EAAEA,EAAED,EAAE4S,cAAc,IAAIzR,EAAEnB,EAAEkT,WAAW,IAAIlT,EAAEA,EAAEiiC,gBAAgB,EAAE/hC,GAAG,CAAC,IAAIzC,EAAE,GAAGoU,GAAG3R,GAAGkB,EAAE,GAAG3D,EAAEwC,EAAExC,GAAG,EAAE0D,EAAE1D,IAAI,EAAEuC,EAAEvC,IAAI,EAAEyC,IAAIkB,GA0N1GuiC,CAAG3jC,EAAEoB,GAAGpB,IAAI3L,KAAIysC,GAAEzsC,GAAE,KAAK0sC,GAAE,GAAG,KAAoB,KAAf7gC,EAAEm8B,eAAoB,KAAa,KAARn8B,EAAE9J,QAAamrC,KAAKA,IAAG,EAAGgB,GAAGlxB,IAAG,WAAgB,OAALoxB,KAAY,SAAQrhC,EAAE,KAAa,MAARlB,EAAE9J,OAAgB,KAAoB,MAAf8J,EAAEm8B,eAAqBj7B,EAAE,CAACA,EAAEy/B,GAAG/qB,WAAW+qB,GAAG/qB,WAAW,KAChf,IAAIzU,EAAE+R,GAAEA,GAAE,EAAE,IAAItO,EAAEoqB,GAAEA,IAAG,EAAE0R,GAAG1wB,QAAQ,KA1CpC,SAAYlQ,EAAEC,GAAgB,GAAbunB,GAAG5R,GAAaiM,GAAV7hB,EAAEyhB,MAAc,CAAC,GAAG,mBAAmBzhB,EAAE,IAAIE,EAAE,CAACiiB,MAAMniB,EAAEqiB,eAAeD,IAAIpiB,EAAEsiB,mBAAmBtiB,EAAE,CAA8C,IAAImB,GAAjDjB,GAAGA,EAAEF,EAAEqH,gBAAgBnH,EAAEsiB,aAAa7hB,QAAe8hB,cAAcviB,EAAEuiB,eAAe,GAAGthB,GAAG,IAAIA,EAAEwhB,WAAW,CAACziB,EAAEiB,EAAEyhB,WAAW,IAAInlB,EAAE0D,EAAE0hB,aAAazhB,EAAED,EAAE2hB,UAAU3hB,EAAEA,EAAE4hB,YAAY,IAAI7iB,EAAE+I,SAAS7H,EAAE6H,SAAS,MAAMqd,GAAGpmB,EAAE,KAAK,MAAMF,EAAE,IAAIqB,EAAE,EAAEyD,GAAG,EAAEC,GAAG,EAAEF,EAAE,EAAEzN,EAAE,EAAEk4B,EAAEtvB,EAAEuvB,EAAE,KAAKtvB,EAAE,OAAO,CAAC,IAAI,IAAIuvB,EAAKF,IAAIpvB,GAAG,IAAIzC,GAAG,IAAI6xB,EAAErmB,WAAWnE,EAAEzD,EAAE5D,GAAG6xB,IAAIluB,GAAG,IAAID,GAAG,IAAImuB,EAAErmB,WAAWlE,EAAE1D,EAAEF,GAAG,IAAImuB,EAAErmB,WAAW5H,GACnfiuB,EAAEpmB,UAAU/V,QAAW,QAAQq8B,EAAEF,EAAE5mB,aAAkB6mB,EAAED,EAAEA,EAAEE,EAAE,OAAO,CAAC,GAAGF,IAAItvB,EAAE,MAAMC,EAA8C,GAA5CsvB,IAAIrvB,KAAK2E,IAAIpH,IAAIqH,EAAEzD,GAAGkuB,IAAInuB,KAAKhK,IAAI+J,IAAI4D,EAAE1D,GAAM,QAAQmuB,EAAEF,EAAEjO,aAAa,MAAUkO,GAAJD,EAAEC,GAAMxhB,WAAWuhB,EAAEE,EAAEtvB,GAAG,IAAI4E,IAAI,IAAIC,EAAE,KAAK,CAACod,MAAMrd,EAAEsd,IAAIrd,QAAQ7E,EAAE,KAAKA,EAAEA,GAAG,CAACiiB,MAAM,EAAEC,IAAI,QAAQliB,EAAE,KAA+C,IAA1CunB,GAAG,CAACzF,YAAYhiB,EAAEiiB,eAAe/hB,GAAG0V,IAAG,EAAOwoB,GAAEn+B,EAAE,OAAOm+B,IAAG,GAAOp+B,GAAJC,EAAEm+B,IAAMpuB,MAAM,KAAoB,KAAf/P,EAAEo8B,eAAoB,OAAOr8B,EAAEA,EAAE0P,OAAOzP,EAAEm+B,GAAEp+B,OAAO,KAAK,OAAOo+B,IAAG,CAACn+B,EAAEm+B,GAAE,IAAI,IAAIllC,EAAE+G,EAAEwP,UAAU,GAAG,KAAa,KAARxP,EAAE7J,OAAY,OAAO6J,EAAEiF,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GACvK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,MAA3W,KAAK,EAAE,GAAG,OAAOhM,EAAE,CAAC,IAAIgtB,EAAEhtB,EAAEozB,cAAcnG,EAAEjtB,EAAE0W,cAAcwW,EAAEnmB,EAAEoO,UAAUxW,EAAEuuB,EAAE6K,wBAAwBhxB,EAAEd,cAAcc,EAAE/I,KAAKgvB,EAAEyG,GAAG1sB,EAAE/I,KAAKgvB,GAAGC,GAAGC,EAAEka,oCAAoCzoC,EAAE,MAAM,KAAK,EAAE,IAAIwuB,EAAEpmB,EAAEoO,UAAU6G,cAAc,IAAImR,EAAEpd,SAASod,EAAEne,YAAY,GAAG,IAAIme,EAAEpd,UAAUod,EAAEnE,iBAAiBmE,EAAE1d,YAAY0d,EAAEnE,iBAAiB,MAAyC,QAAQ,MAAMpqB,MAAMiI,EAAE,OAAQ,MAAMumB,GAAGgY,GAAEr+B,EAAEA,EAAEyP,OAAO4W,GAAe,GAAG,QAAftmB,EAAEC,EAAEgQ,SAAoB,CAACjQ,EAAE0P,OAAOzP,EAAEyP,OAAO0uB,GAAEp+B,EAAE,MAAMo+B,GAAEn+B,EAAEyP,OAAOxW,EAAEslC,GAAGA,IAAG,EAwCvcoF,CAAG5jC,EAAEE,GAAG0/B,GAAG1/B,EAAEF,GAAG+hB,GAAG0F,IAAI7R,KAAK4R,GAAGC,GAAGD,GAAG,KAAKxnB,EAAEkQ,QAAQhQ,EAAEggC,GAAGhgC,EAAEF,EAAEvC,GAAGkT,KAAKue,GAAEpqB,EAAEsO,GAAE/R,EAAEw/B,GAAG/qB,WAAW1U,OAAOpB,EAAEkQ,QAAQhQ,EAAsF,GAApFqhC,KAAKA,IAAG,EAAGC,GAAGxhC,EAAEyhC,GAAGhkC,GAAoB,KAAjB2D,EAAEpB,EAAEwS,gBAAqB6mB,GAAG,MAjOmJ,SAAYr5B,GAAG,GAAG4R,IAAI,oBAAoBA,GAAGiyB,kBAAkB,IAAIjyB,GAAGiyB,kBAAkBlyB,GAAG3R,OAAE,EAAO,OAAuB,IAAhBA,EAAEkQ,QAAQ9Z,QAAY,MAAM6J,KAiOpR6jC,CAAG5jC,EAAEmO,WAAa0zB,GAAG/hC,EAAE6Q,MAAQ,OAAO5Q,EAAE,IAAIkB,EAAEnB,EAAE+jC,mBAAmB7jC,EAAE,EAAEA,EAAED,EAAE9M,OAAO+M,IAAWiB,GAAP1D,EAAEwC,EAAEC,IAAO/K,MAAM,CAACmkC,eAAe77B,EAAE6G,MAAMq0B,OAAOl7B,EAAEk7B,SAAS,GAAGM,GAAG,MAAMA,IAAG,EAAGj5B,EAAEk5B,GAAGA,GAAG,KAAKl5B,EAAE,KAAQ,EAAHyhC,KAAO,IAAIzhC,EAAEkF,KAAKu9B,KAAsB,KAAO,GAAxBrhC,EAAEpB,EAAEwS,eAAuBxS,IAAI2hC,GAAGD,MAAMA,GAAG,EAAEC,GAAG3hC,GAAG0hC,GAAG,EAAEnX,KAFxEyZ,CAAGhkC,EAAEC,EAAEC,EAAEiB,GAApC,QAA+C0/B,GAAG/qB,WAAWrY,EAAE2V,GAAEjS,EAAE,OAAO,KAG5b,SAASshC,KAAK,GAAG,OAAOjB,GAAG,CAAC,IAAIxhC,EAAEqT,GAAGouB,IAAIxhC,EAAE4gC,GAAG/qB,WAAW5V,EAAEkT,GAAE,IAAmC,GAA/BytB,GAAG/qB,WAAW,KAAK1C,GAAE,GAAGpT,EAAE,GAAGA,EAAK,OAAOwhC,GAAG,IAAIrgC,GAAE,MAAO,CAAmB,GAAlBnB,EAAEwhC,GAAGA,GAAG,KAAKC,GAAG,EAAK,KAAO,EAAFvS,IAAK,MAAMp3B,MAAMiI,EAAE,MAAM,IAAItC,EAAEyxB,GAAO,IAALA,IAAG,EAAMkP,GAAEp+B,EAAEkQ,QAAQ,OAAOkuB,IAAG,CAAC,IAAIh9B,EAAEg9B,GAAE/8B,EAAED,EAAE4O,MAAM,GAAG,KAAa,GAARouB,GAAEhoC,OAAU,CAAC,IAAI0O,EAAE1D,EAAEuqB,UAAU,GAAG,OAAO7mB,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAED,EAAE3R,OAAO4R,IAAI,CAAC,IAAIF,EAAEC,EAAEC,GAAG,IAAIq5B,GAAEv5B,EAAE,OAAOu5B,IAAG,CAAC,IAAIhnC,EAAEgnC,GAAE,OAAOhnC,EAAE8N,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGu5B,GAAG,EAAErnC,EAAEgK,GAAG,IAAIkuB,EAAEl4B,EAAE4Y,MAAM,GAAG,OAAOsf,EAAEA,EAAE5f,OAAOtY,EAAEgnC,GAAE9O,OAAO,KAAK,OAAO8O,IAAG,CAAK,IAAI7O,GAARn4B,EAAEgnC,IAAUnuB,QAAQuf,EAAEp4B,EAAEsY,OAAa,GAANkvB,GAAGxnC,GAAMA,IACnfyN,EAAE,CAACu5B,GAAE,KAAK,MAAM,GAAG,OAAO7O,EAAE,CAACA,EAAE7f,OAAO8f,EAAE4O,GAAE7O,EAAE,MAAM6O,GAAE5O,IAAI,IAAIt2B,EAAEkI,EAAEqO,UAAU,GAAG,OAAOvW,EAAE,CAAC,IAAIgtB,EAAEhtB,EAAE8W,MAAM,GAAG,OAAOkW,EAAE,CAAChtB,EAAE8W,MAAM,KAAK,EAAE,CAAC,IAAImW,EAAED,EAAEjW,QAAQiW,EAAEjW,QAAQ,KAAKiW,EAAEC,QAAQ,OAAOD,IAAIkY,GAAEh9B,GAAG,GAAG,KAAoB,KAAfA,EAAEi7B,eAAoB,OAAOh7B,EAAEA,EAAEqO,OAAOtO,EAAEg9B,GAAE/8B,OAAOpB,EAAE,KAAK,OAAOm+B,IAAG,CAAK,GAAG,KAAa,MAApBh9B,EAAEg9B,IAAYhoC,OAAY,OAAOgL,EAAE8D,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGu5B,GAAG,EAAEr9B,EAAEA,EAAEsO,QAAQ,IAAI0W,EAAEhlB,EAAE6O,QAAQ,GAAG,OAAOmW,EAAE,CAACA,EAAE1W,OAAOtO,EAAEsO,OAAO0uB,GAAEhY,EAAE,MAAMnmB,EAAEm+B,GAAEh9B,EAAEsO,QAAQ,IAAI7X,EAAEmI,EAAEkQ,QAAQ,IAAIkuB,GAAEvmC,EAAE,OAAOumC,IAAG,CAAK,IAAI/X,GAARhlB,EAAE+8B,IAAUpuB,MAAM,GAAG,KAAoB,KAAf3O,EAAEg7B,eAAoB,OAClfhW,EAAEA,EAAE3W,OAAOrO,EAAE+8B,GAAE/X,OAAOpmB,EAAE,IAAIoB,EAAExJ,EAAE,OAAOumC,IAAG,CAAK,GAAG,KAAa,MAApBt5B,EAAEs5B,IAAYhoC,OAAY,IAAI,OAAO0O,EAAEI,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGw5B,GAAG,EAAE55B,IAAI,MAAM8hB,GAAI0X,GAAEx5B,EAAEA,EAAE4K,OAAOkX,GAAI,GAAG9hB,IAAIzD,EAAE,CAAC+8B,GAAE,KAAK,MAAMn+B,EAAE,IAAIqmB,EAAExhB,EAAEmL,QAAQ,GAAG,OAAOqW,EAAE,CAACA,EAAE5W,OAAO5K,EAAE4K,OAAO0uB,GAAE9X,EAAE,MAAMrmB,EAAEm+B,GAAEt5B,EAAE4K,QAAiB,GAATwf,GAAEzxB,EAAE8sB,KAAQ3Y,IAAI,oBAAoBA,GAAGqyB,sBAAsB,IAAIryB,GAAGqyB,sBAAsBtyB,GAAG3R,GAAG,MAAM4mB,IAAKzlB,GAAE,EAAG,OAAOA,EAF5S,QAEsTiS,GAAElT,EAAE2gC,GAAG/qB,WAAW7V,GAAG,OAAM,EAAG,SAASikC,GAAGlkC,EAAEC,EAAEC,GAAyBF,EAAEivB,GAAGjvB,EAAjBC,EAAE+4B,GAAGh5B,EAAfC,EAAEy4B,GAAGx4B,EAAED,GAAY,GAAY,GAAGA,EAAEkwB,KAAI,OAAOnwB,IAAIiT,GAAGjT,EAAE,EAAEC,GAAG8hC,GAAG/hC,EAAEC,IACte,SAASq+B,GAAEt+B,EAAEC,EAAEC,GAAG,GAAG,IAAIF,EAAEkF,IAAIg/B,GAAGlkC,EAAEA,EAAEE,QAAQ,KAAK,OAAOD,GAAG,CAAC,GAAG,IAAIA,EAAEiF,IAAI,CAACg/B,GAAGjkC,EAAED,EAAEE,GAAG,MAAW,GAAG,IAAID,EAAEiF,IAAI,CAAC,IAAI/D,EAAElB,EAAEoO,UAAU,GAAG,oBAAoBpO,EAAE/I,KAAK4E,0BAA0B,oBAAoBqF,EAAEi4B,oBAAoB,OAAOC,KAAKA,GAAG3T,IAAIvkB,IAAI,CAAuBlB,EAAEgvB,GAAGhvB,EAAjBD,EAAEm5B,GAAGl5B,EAAfD,EAAE04B,GAAGx4B,EAAEF,GAAY,GAAY,GAAGA,EAAEmwB,KAAI,OAAOlwB,IAAIgT,GAAGhT,EAAE,EAAED,GAAG+hC,GAAG9hC,EAAED,IAAI,OAAOC,EAAEA,EAAEyP,QAC5U,SAAS+pB,GAAGz5B,EAAEC,EAAEC,GAAG,IAAIiB,EAAEnB,EAAEw5B,UAAU,OAAOr4B,GAAGA,EAAEmT,OAAOrU,GAAGA,EAAEkwB,KAAInwB,EAAE0S,aAAa1S,EAAEyS,eAAevS,EAAE7L,KAAI2L,IAAI+gC,GAAE7gC,KAAKA,IAAI,IAAI09B,IAAG,IAAIA,KAAM,UAAFmD,MAAeA,IAAG,IAAIlwB,KAAIkvB,GAAG6C,GAAG5iC,EAAE,GAAGkhC,IAAIhhC,GAAG6hC,GAAG/hC,EAAEC,GAAG,SAASkkC,GAAGnkC,EAAEC,GAAG,IAAIA,IAAI,KAAY,EAAPD,EAAEksB,MAAQjsB,EAAE,GAAGA,EAAEoS,GAAU,KAAQ,WAAfA,KAAK,MAAuBA,GAAG,WAAW,IAAInS,EAAEiwB,KAAc,QAAVnwB,EAAEiuB,GAAGjuB,EAAEC,MAAcgT,GAAGjT,EAAEC,EAAEC,GAAG6hC,GAAG/hC,EAAEE,IAAI,SAASg8B,GAAGl8B,GAAG,IAAIC,EAAED,EAAE4P,cAAc1P,EAAE,EAAE,OAAOD,IAAIC,EAAED,EAAE+rB,WAAWmY,GAAGnkC,EAAEE,GAC/Y,SAASw/B,GAAG1/B,EAAEC,GAAG,IAAIC,EAAE,EAAE,OAAOF,EAAEkF,KAAK,KAAK,GAAG,IAAI/D,EAAEnB,EAAEqO,UAAc5Q,EAAEuC,EAAE4P,cAAc,OAAOnS,IAAIyC,EAAEzC,EAAEuuB,WAAW,MAAM,KAAK,GAAG7qB,EAAEnB,EAAEqO,UAAU,MAAM,QAAQ,MAAMvW,MAAMiI,EAAE,MAAO,OAAOoB,GAAGA,EAAEmT,OAAOrU,GAAGkkC,GAAGnkC,EAAEE,GAQuK,SAASqiC,GAAGviC,EAAEC,GAAG,OAAOoQ,GAAGrQ,EAAEC,GAC/Y,SAASmkC,GAAGpkC,EAAEC,EAAEC,EAAEiB,GAAG7L,KAAK4P,IAAIlF,EAAE1K,KAAKxB,IAAIoM,EAAE5K,KAAK2a,QAAQ3a,KAAK0a,MAAM1a,KAAKoa,OAAOpa,KAAK+Y,UAAU/Y,KAAK4B,KAAK5B,KAAK6J,YAAY,KAAK7J,KAAKuF,MAAM,EAAEvF,KAAKg8B,IAAI,KAAKh8B,KAAKu2B,aAAa5rB,EAAE3K,KAAKg4B,aAAah4B,KAAKsa,cAActa,KAAK84B,YAAY94B,KAAKg3B,cAAc,KAAKh3B,KAAK42B,KAAK/qB,EAAE7L,KAAK+mC,aAAa/mC,KAAKc,MAAM,EAAEd,KAAKq2B,UAAU,KAAKr2B,KAAK83B,WAAW93B,KAAKk4B,MAAM,EAAEl4B,KAAKma,UAAU,KAAK,SAASic,GAAG1rB,EAAEC,EAAEC,EAAEiB,GAAG,OAAO,IAAIijC,GAAGpkC,EAAEC,EAAEC,EAAEiB,GAAG,SAAS+4B,GAAGl6B,GAAiB,UAAdA,EAAEA,EAAEnM,aAAuBmM,EAAEqkC,kBAEnc,SAASzS,GAAG5xB,EAAEC,GAAG,IAAIC,EAAEF,EAAEyP,UACuB,OADb,OAAOvP,IAAGA,EAAEwrB,GAAG1rB,EAAEkF,IAAIjF,EAAED,EAAElM,IAAIkM,EAAEksB,OAAQ/sB,YAAYa,EAAEb,YAAYe,EAAEhJ,KAAK8I,EAAE9I,KAAKgJ,EAAEmO,UAAUrO,EAAEqO,UAAUnO,EAAEuP,UAAUzP,EAAEA,EAAEyP,UAAUvP,IAAIA,EAAE2rB,aAAa5rB,EAAEC,EAAEhJ,KAAK8I,EAAE9I,KAAKgJ,EAAE9J,MAAM,EAAE8J,EAAEm8B,aAAa,EAAEn8B,EAAEyrB,UAAU,MAAMzrB,EAAE9J,MAAc,SAAR4J,EAAE5J,MAAe8J,EAAEktB,WAAWptB,EAAEotB,WAAWltB,EAAEstB,MAAMxtB,EAAEwtB,MAAMttB,EAAE8P,MAAMhQ,EAAEgQ,MAAM9P,EAAEosB,cAActsB,EAAEssB,cAAcpsB,EAAE0P,cAAc5P,EAAE4P,cAAc1P,EAAEkuB,YAAYpuB,EAAEouB,YAAYnuB,EAAED,EAAEstB,aAAaptB,EAAEotB,aAAa,OAAOrtB,EAAE,KAAK,CAACutB,MAAMvtB,EAAEutB,MAAMD,aAAattB,EAAEstB,cAC/ertB,EAAE+P,QAAQjQ,EAAEiQ,QAAQ/P,EAAErF,MAAMmF,EAAEnF,MAAMqF,EAAEoxB,IAAItxB,EAAEsxB,IAAWpxB,EACvD,SAAS4xB,GAAG9xB,EAAEC,EAAEC,EAAEiB,EAAE1D,EAAE2D,GAAG,IAAIC,EAAE,EAAM,GAAJF,EAAEnB,EAAK,oBAAoBA,EAAEk6B,GAAGl6B,KAAKqB,EAAE,QAAQ,GAAG,kBAAkBrB,EAAEqB,EAAE,OAAOrB,EAAE,OAAOA,GAAG,KAAKoD,EAAG,OAAO6uB,GAAG/xB,EAAE4H,SAASrK,EAAE2D,EAAEnB,GAAG,KAAKoD,EAAGhC,EAAE,EAAE5D,GAAG,EAAE,MAAM,KAAK6F,EAAG,OAAOtD,EAAE0rB,GAAG,GAAGxrB,EAAED,EAAI,EAAFxC,IAAO0B,YAAYmE,EAAGtD,EAAEwtB,MAAMpsB,EAAEpB,EAAE,KAAK0D,EAAG,OAAO1D,EAAE0rB,GAAG,GAAGxrB,EAAED,EAAExC,IAAK0B,YAAYuE,EAAG1D,EAAEwtB,MAAMpsB,EAAEpB,EAAE,KAAK2D,EAAG,OAAO3D,EAAE0rB,GAAG,GAAGxrB,EAAED,EAAExC,IAAK0B,YAAYwE,EAAG3D,EAAEwtB,MAAMpsB,EAAEpB,EAAE,KAAK8D,EAAG,OAAO83B,GAAG17B,EAAEzC,EAAE2D,EAAEnB,GAAG,QAAQ,GAAG,kBAAkBD,GAAG,OAAOA,EAAE,OAAOA,EAAEoF,UAAU,KAAK7B,EAAGlC,EAAE,GAAG,MAAMrB,EAAE,KAAKwD,EAAGnC,EAAE,EAAE,MAAMrB,EAAE,KAAKyD,EAAGpC,EAAE,GACpf,MAAMrB,EAAE,KAAK4D,EAAGvC,EAAE,GAAG,MAAMrB,EAAE,KAAK6D,EAAGxC,EAAE,GAAGF,EAAE,KAAK,MAAMnB,EAAE,MAAMlI,MAAMiI,EAAE,IAAI,MAAMC,EAAEA,SAASA,EAAE,KAAuD,OAAjDC,EAAEyrB,GAAGrqB,EAAEnB,EAAED,EAAExC,IAAK0B,YAAYa,EAAEC,EAAE/I,KAAKiK,EAAElB,EAAEutB,MAAMpsB,EAASnB,EAAE,SAASgyB,GAAGjyB,EAAEC,EAAEC,EAAEiB,GAA2B,OAAxBnB,EAAE0rB,GAAG,EAAE1rB,EAAEmB,EAAElB,IAAKutB,MAAMttB,EAASF,EAAE,SAAS47B,GAAG57B,EAAEC,EAAEC,EAAEiB,GAAuE,OAApEnB,EAAE0rB,GAAG,GAAG1rB,EAAEmB,EAAElB,IAAKd,YAAY2E,EAAG9D,EAAEwtB,MAAMttB,EAAEF,EAAEqO,UAAU,CAACyxB,UAAS,GAAW9/B,EAAE,SAAS6xB,GAAG7xB,EAAEC,EAAEC,GAA8B,OAA3BF,EAAE0rB,GAAG,EAAE1rB,EAAE,KAAKC,IAAKutB,MAAMttB,EAASF,EAC3W,SAASgyB,GAAGhyB,EAAEC,EAAEC,GAA8J,OAA3JD,EAAEyrB,GAAG,EAAE,OAAO1rB,EAAE8H,SAAS9H,EAAE8H,SAAS,GAAG9H,EAAElM,IAAImM,IAAKutB,MAAMttB,EAAED,EAAEoO,UAAU,CAAC6G,cAAclV,EAAEkV,cAAcovB,gBAAgB,KAAKvS,eAAe/xB,EAAE+xB,gBAAuB9xB,EACrL,SAASskC,GAAGvkC,EAAEC,EAAEC,EAAEiB,EAAE1D,GAAGnI,KAAK4P,IAAIjF,EAAE3K,KAAK4f,cAAclV,EAAE1K,KAAK2tC,aAAa3tC,KAAKkkC,UAAUlkC,KAAK4a,QAAQ5a,KAAKgvC,gBAAgB,KAAKhvC,KAAK8tC,eAAe,EAAE9tC,KAAK0sC,aAAa1sC,KAAK6lC,eAAe7lC,KAAK6E,QAAQ,KAAK7E,KAAK8sC,iBAAiB,EAAE9sC,KAAK4d,WAAWF,GAAG,GAAG1d,KAAK2sC,gBAAgBjvB,IAAI,GAAG1d,KAAKqd,eAAerd,KAAK4tC,cAAc5tC,KAAKouC,iBAAiBpuC,KAAK4sC,aAAa5sC,KAAKod,YAAYpd,KAAKmd,eAAend,KAAKkd,aAAa,EAAEld,KAAKsd,cAAcI,GAAG,GAAG1d,KAAKmjC,iBAAiBt3B,EAAE7L,KAAKyuC,mBAAmBtmC,EAAEnI,KAAKkvC,gCAC/e,KAAK,SAASC,GAAGzkC,EAAEC,EAAEC,EAAEiB,EAAE1D,EAAE2D,EAAEC,EAAEyD,EAAEC,GAAgN,OAA7M/E,EAAE,IAAIukC,GAAGvkC,EAAEC,EAAEC,EAAE4E,EAAEC,GAAG,IAAI9E,GAAGA,EAAE,GAAE,IAAKmB,IAAInB,GAAG,IAAIA,EAAE,EAAEmB,EAAEsqB,GAAG,EAAE,KAAK,KAAKzrB,GAAGD,EAAEkQ,QAAQ9O,EAAEA,EAAEiN,UAAUrO,EAAEoB,EAAEwO,cAAc,CAAC1Q,QAAQiC,EAAE8T,aAAa/U,EAAEwkC,MAAM,KAAKlK,YAAY,KAAKmK,0BAA0B,MAAMxW,GAAG/sB,GAAUpB,EAAE,SAAS4kC,GAAG5kC,EAAEC,EAAEC,GAAG,IAAIiB,EAAE,EAAEjO,UAAUC,aAAQ,IAASD,UAAU,GAAGA,UAAU,GAAG,KAAK,MAAM,CAACkS,SAASjC,EAAGrP,IAAI,MAAMqN,EAAE,KAAK,GAAGA,EAAE2G,SAAS9H,EAAEkV,cAAcjV,EAAE8xB,eAAe7xB,GACla,SAAS2kC,GAAG7kC,GAAG,IAAIA,EAAE,OAAOopB,GAAuBppB,EAAE,CAAC,GAAGwP,GAA1BxP,EAAEA,EAAEiwB,mBAA8BjwB,GAAG,IAAIA,EAAEkF,IAAI,MAAMpN,MAAMiI,EAAE,MAAM,IAAIE,EAAED,EAAE,EAAE,CAAC,OAAOC,EAAEiF,KAAK,KAAK,EAAEjF,EAAEA,EAAEoO,UAAUlU,QAAQ,MAAM6F,EAAE,KAAK,EAAE,GAAG2pB,GAAG1pB,EAAE/I,MAAM,CAAC+I,EAAEA,EAAEoO,UAAU4b,0CAA0C,MAAMjqB,GAAGC,EAAEA,EAAEyP,aAAa,OAAOzP,GAAG,MAAMnI,MAAMiI,EAAE,MAAO,GAAG,IAAIC,EAAEkF,IAAI,CAAC,IAAIhF,EAAEF,EAAE9I,KAAK,GAAGyyB,GAAGzpB,GAAG,OAAO4pB,GAAG9pB,EAAEE,EAAED,GAAG,OAAOA,EACnW,SAAS6kC,GAAG9kC,EAAEC,EAAEC,EAAEiB,EAAE1D,EAAE2D,EAAEC,EAAEyD,EAAEC,GAAwK,OAArK/E,EAAEykC,GAAGvkC,EAAEiB,GAAE,EAAGnB,EAAEvC,EAAE2D,EAAEC,EAAEyD,EAAEC,IAAK5K,QAAQ0qC,GAAG,MAAM3kC,EAAEF,EAAEkQ,SAAsB9O,EAAEwtB,GAAhBztB,EAAEgvB,KAAI1yB,EAAE2yB,GAAGlwB,KAAe8uB,cAAS,IAAS/uB,GAAG,OAAOA,EAAEA,EAAE,KAAKgvB,GAAG/uB,EAAEkB,EAAE3D,GAAGuC,EAAEkQ,QAAQsd,MAAM/vB,EAAEwV,GAAGjT,EAAEvC,EAAE0D,GAAG4gC,GAAG/hC,EAAEmB,GAAUnB,EAAE,SAAS+kC,GAAG/kC,EAAEC,EAAEC,EAAEiB,GAAG,IAAI1D,EAAEwC,EAAEiQ,QAAQ9O,EAAE+uB,KAAI9uB,EAAE+uB,GAAG3yB,GAAsL,OAAnLyC,EAAE2kC,GAAG3kC,GAAG,OAAOD,EAAE9F,QAAQ8F,EAAE9F,QAAQ+F,EAAED,EAAEk7B,eAAej7B,GAAED,EAAE2uB,GAAGxtB,EAAEC,IAAK0tB,QAAQ,CAAC7vB,QAAQc,GAAuB,QAApBmB,OAAE,IAASA,EAAE,KAAKA,KAAalB,EAAE+uB,SAAS7tB,GAAe,QAAZnB,EAAEivB,GAAGxxB,EAAEwC,EAAEoB,MAAcgvB,GAAGrwB,EAAEvC,EAAE4D,EAAED,GAAG+tB,GAAGnvB,EAAEvC,EAAE4D,IAAWA,EAC1b,SAAS2jC,GAAGhlC,GAAe,OAAZA,EAAEA,EAAEkQ,SAAcF,OAAyBhQ,EAAEgQ,MAAM9K,IAAoDlF,EAAEgQ,MAAM3B,WAAhF,KAA2F,SAAS42B,GAAGjlC,EAAEC,GAAqB,GAAG,QAArBD,EAAEA,EAAE4P,gBAA2B,OAAO5P,EAAE6P,WAAW,CAAC,IAAI3P,EAAEF,EAAEgsB,UAAUhsB,EAAEgsB,UAAU,IAAI9rB,GAAGA,EAAED,EAAEC,EAAED,GAAG,SAASilC,GAAGllC,EAAEC,GAAGglC,GAAGjlC,EAAEC,IAAID,EAAEA,EAAEyP,YAAYw1B,GAAGjlC,EAAEC,GAnB3SugC,GAAG,SAASxgC,EAAEC,EAAEC,GAAG,GAAG,OAAOF,EAAE,GAAGA,EAAEssB,gBAAgBrsB,EAAE4rB,cAAcvC,GAAGpZ,QAAQud,IAAG,MAAO,CAAC,GAAG,KAAKztB,EAAEwtB,MAAMttB,IAAI,KAAa,IAARD,EAAE7J,OAAW,OAAOq3B,IAAG,EAzE1I,SAAYztB,EAAEC,EAAEC,GAAG,OAAOD,EAAEiF,KAAK,KAAK,EAAEg2B,GAAGj7B,GAAGusB,KAAK,MAAM,KAAK,EAAEqG,GAAG5yB,GAAG,MAAM,KAAK,EAAE0pB,GAAG1pB,EAAE/I,OAAO8yB,GAAG/pB,GAAG,MAAM,KAAK,EAAEyyB,GAAGzyB,EAAEA,EAAEoO,UAAU6G,eAAe,MAAM,KAAK,GAAG,IAAI/T,EAAElB,EAAE/I,KAAKmO,SAAS5H,EAAEwC,EAAEqsB,cAAcn3B,MAAMg0B,GAAEyD,GAAGzrB,EAAE+rB,eAAe/rB,EAAE+rB,cAAczvB,EAAE,MAAM,KAAK,GAAqB,GAAG,QAArB0D,EAAElB,EAAE2P,eAA2B,OAAG,OAAOzO,EAAE0O,YAAkBsZ,GAAE4J,GAAY,EAAVA,GAAE7iB,SAAWjQ,EAAE7J,OAAO,IAAI,MAAQ,KAAK8J,EAAED,EAAE+P,MAAMod,YAAmBsO,GAAG17B,EAAEC,EAAEC,IAAGipB,GAAE4J,GAAY,EAAVA,GAAE7iB,SAA8B,QAAnBlQ,EAAEg6B,GAAGh6B,EAAEC,EAAEC,IAAmBF,EAAEiQ,QAAQ,MAAKkZ,GAAE4J,GAAY,EAAVA,GAAE7iB,SAAW,MAAM,KAAK,GAC7d,GADge/O,EAAE,KAAKjB,EACrfD,EAAEmtB,YAAe,KAAa,IAARptB,EAAE5J,OAAW,CAAC,GAAG+K,EAAE,OAAO27B,GAAG98B,EAAEC,EAAEC,GAAGD,EAAE7J,OAAO,IAAgG,GAA1E,QAAlBqH,EAAEwC,EAAE2P,iBAAyBnS,EAAEg/B,UAAU,KAAKh/B,EAAEm/B,KAAK,KAAKn/B,EAAEo4B,WAAW,MAAM1M,GAAE4J,GAAEA,GAAE7iB,SAAY/O,EAAE,MAAW,OAAO,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOlB,EAAEutB,MAAM,EAAE6M,GAAGr6B,EAAEC,EAAEC,GAAG,OAAO85B,GAAGh6B,EAAEC,EAAEC,GAwE3GilC,CAAGnlC,EAAEC,EAAEC,GAAGutB,GAAG,KAAa,OAARztB,EAAE5J,YAAyBq3B,IAAG,EAAGlC,IAAG,KAAa,QAARtrB,EAAE7J,QAAgB80B,GAAGjrB,EAAE0qB,GAAG1qB,EAAEpF,OAAiB,OAAVoF,EAAEutB,MAAM,EAASvtB,EAAEiF,KAAK,KAAK,EAAE,IAAI/D,EAAElB,EAAE/I,KAAK2jC,GAAG76B,EAAEC,GAAGD,EAAEC,EAAE4rB,aAAa,IAAIpuB,EAAE+rB,GAAGvpB,EAAEopB,GAAEnZ,SAASmd,GAAGptB,EAAEC,GAAGzC,EAAEy2B,GAAG,KAAKj0B,EAAEkB,EAAEnB,EAAEvC,EAAEyC,GAAG,IAAIkB,EAAEmzB,KACvI,OAD4It0B,EAAE7J,OAAO,EAAE,kBAAkBqH,GAAG,OAAOA,GAAG,oBAAoBA,EAAEZ,aAAQ,IAASY,EAAE2H,UAAUnF,EAAEiF,IAAI,EAAEjF,EAAE2P,cAAc,KAAK3P,EAAEmuB,YAC1e,KAAKzE,GAAGxoB,IAAIC,GAAE,EAAG4oB,GAAG/pB,IAAImB,GAAE,EAAGnB,EAAE2P,cAAc,OAAOnS,EAAElF,YAAO,IAASkF,EAAElF,MAAMkF,EAAElF,MAAM,KAAK41B,GAAGluB,GAAGxC,EAAEmzB,QAAQb,GAAG9vB,EAAEoO,UAAU5Q,EAAEA,EAAEwyB,gBAAgBhwB,EAAE+wB,GAAG/wB,EAAEkB,EAAEnB,EAAEE,GAAGD,EAAEg7B,GAAG,KAAKh7B,EAAEkB,GAAE,EAAGC,EAAElB,KAAKD,EAAEiF,IAAI,EAAEqmB,IAAGnqB,GAAG+pB,GAAGlrB,GAAG65B,GAAG,KAAK75B,EAAExC,EAAEyC,GAAGD,EAAEA,EAAE+P,OAAc/P,EAAE,KAAK,GAAGkB,EAAElB,EAAEd,YAAYa,EAAE,CAAqF,OAApF66B,GAAG76B,EAAEC,GAAGD,EAAEC,EAAE4rB,aAAuB1qB,GAAV1D,EAAE0D,EAAEoE,OAAUpE,EAAEmE,UAAUrF,EAAE/I,KAAKiK,EAAE1D,EAAEwC,EAAEiF,IAQtU,SAAYlF,GAAG,GAAG,oBAAoBA,EAAE,OAAOk6B,GAAGl6B,GAAG,EAAE,EAAE,QAAG,IAASA,GAAG,OAAOA,EAAE,CAAc,IAAbA,EAAEA,EAAEoF,YAAgB3B,EAAG,OAAO,GAAG,GAAGzD,IAAI4D,EAAG,OAAO,GAAG,OAAO,EAR4LwhC,CAAGjkC,GAAGnB,EAAE2sB,GAAGxrB,EAAEnB,GAAUvC,GAAG,KAAK,EAAEwC,EAAEm6B,GAAG,KAAKn6B,EAAEkB,EAAEnB,EAAEE,GAAG,MAAMF,EAAE,KAAK,EAAEC,EAAE26B,GAAG,KAAK36B,EAAEkB,EAAEnB,EAAEE,GAAG,MAAMF,EAAE,KAAK,GAAGC,EAAE85B,GAAG,KAAK95B,EAAEkB,EAAEnB,EAAEE,GAAG,MAAMF,EAAE,KAAK,GAAGC,EAAEg6B,GAAG,KAAKh6B,EAAEkB,EAAEwrB,GAAGxrB,EAAEjK,KAAK8I,GAAGE,GAAG,MAAMF,EAAE,MAAMlI,MAAMiI,EAAE,IACvgBoB,EAAE,KAAM,OAAOlB,EAAE,KAAK,EAAE,OAAOkB,EAAElB,EAAE/I,KAAKuG,EAAEwC,EAAE4rB,aAA2CuO,GAAGp6B,EAAEC,EAAEkB,EAArC1D,EAAEwC,EAAEd,cAAcgC,EAAE1D,EAAEkvB,GAAGxrB,EAAE1D,GAAcyC,GAAG,KAAK,EAAE,OAAOiB,EAAElB,EAAE/I,KAAKuG,EAAEwC,EAAE4rB,aAA2C+O,GAAG56B,EAAEC,EAAEkB,EAArC1D,EAAEwC,EAAEd,cAAcgC,EAAE1D,EAAEkvB,GAAGxrB,EAAE1D,GAAcyC,GAAG,KAAK,EAAEF,EAAE,CAAO,GAANk7B,GAAGj7B,GAAM,OAAOD,EAAE,MAAMlI,MAAMiI,EAAE,MAAMoB,EAAElB,EAAE4rB,aAA+BpuB,GAAlB2D,EAAEnB,EAAE2P,eAAkB1Q,QAAQyvB,GAAG3uB,EAAEC,GAAGovB,GAAGpvB,EAAEkB,EAAE,KAAKjB,GAAG,IAAImB,EAAEpB,EAAE2P,cAA0B,GAAZzO,EAAEE,EAAEnC,QAAWkC,EAAE6T,aAAL,CAAkB,GAAG7T,EAAE,CAAClC,QAAQiC,EAAE8T,cAAa,EAAGyvB,MAAMrjC,EAAEqjC,MAAMC,0BAA0BtjC,EAAEsjC,0BAA0BnK,YAAYn5B,EAAEm5B,aAAav6B,EAAEmuB,YAAYC,UAChfjtB,EAAEnB,EAAE2P,cAAcxO,EAAU,IAARnB,EAAE7J,MAAU,CAAuB6J,EAAEm7B,GAAGp7B,EAAEC,EAAEkB,EAAEjB,EAAjCzC,EAAEi7B,GAAG5gC,MAAMiI,EAAE,MAAME,IAAmB,MAAMD,EAAO,GAAGmB,IAAI1D,EAAE,CAAuBwC,EAAEm7B,GAAGp7B,EAAEC,EAAEkB,EAAEjB,EAAjCzC,EAAEi7B,GAAG5gC,MAAMiI,EAAE,MAAME,IAAmB,MAAMD,EAAO,IAAIsrB,GAAG/C,GAAGtoB,EAAEoO,UAAU6G,cAAcxM,YAAY2iB,GAAGprB,EAAEsrB,IAAE,EAAGC,GAAG,KAAKtrB,EAAEkyB,GAAGnyB,EAAE,KAAKkB,EAAEjB,GAAGD,EAAE+P,MAAM9P,EAAEA,GAAGA,EAAE9J,OAAe,EAAT8J,EAAE9J,MAAS,KAAK8J,EAAEA,EAAE+P,YAAY,CAAM,GAALuc,KAAQrrB,IAAI1D,EAAE,CAACwC,EAAE+5B,GAAGh6B,EAAEC,EAAEC,GAAG,MAAMF,EAAE85B,GAAG95B,EAAEC,EAAEkB,EAAEjB,GAAGD,EAAEA,EAAE+P,MAAM,OAAO/P,EAAE,KAAK,EAAE,OAAO4yB,GAAG5yB,GAAG,OAAOD,GAAGmsB,GAAGlsB,GAAGkB,EAAElB,EAAE/I,KAAKuG,EAAEwC,EAAE4rB,aAAazqB,EAAE,OAAOpB,EAAEA,EAAEssB,cAAc,KAAKjrB,EAAE5D,EAAEqK,SAAS4f,GAAGvmB,EAAE1D,GAAG4D,EAAE,KAAK,OAAOD,GAAGsmB,GAAGvmB,EAAEC,KAAKnB,EAAE7J,OAAO,IACnfukC,GAAG36B,EAAEC,GAAG65B,GAAG95B,EAAEC,EAAEoB,EAAEnB,GAAGD,EAAE+P,MAAM,KAAK,EAAE,OAAO,OAAOhQ,GAAGmsB,GAAGlsB,GAAG,KAAK,KAAK,GAAG,OAAOy7B,GAAG17B,EAAEC,EAAEC,GAAG,KAAK,EAAE,OAAOwyB,GAAGzyB,EAAEA,EAAEoO,UAAU6G,eAAe/T,EAAElB,EAAE4rB,aAAa,OAAO7rB,EAAEC,EAAE+P,MAAMmiB,GAAGlyB,EAAE,KAAKkB,EAAEjB,GAAG45B,GAAG95B,EAAEC,EAAEkB,EAAEjB,GAAGD,EAAE+P,MAAM,KAAK,GAAG,OAAO7O,EAAElB,EAAE/I,KAAKuG,EAAEwC,EAAE4rB,aAA2CkO,GAAG/5B,EAAEC,EAAEkB,EAArC1D,EAAEwC,EAAEd,cAAcgC,EAAE1D,EAAEkvB,GAAGxrB,EAAE1D,GAAcyC,GAAG,KAAK,EAAE,OAAO45B,GAAG95B,EAAEC,EAAEA,EAAE4rB,aAAa3rB,GAAGD,EAAE+P,MAAM,KAAK,EAAmD,KAAK,GAAG,OAAO8pB,GAAG95B,EAAEC,EAAEA,EAAE4rB,aAAa/jB,SAAS5H,GAAGD,EAAE+P,MAAM,KAAK,GAAGhQ,EAAE,CACxZ,GADyZmB,EAAElB,EAAE/I,KAAKmO,SAAS5H,EAAEwC,EAAE4rB,aAAazqB,EAAEnB,EAAEqsB,cAClfjrB,EAAE5D,EAAEtI,MAAMg0B,GAAEyD,GAAGzrB,EAAE+rB,eAAe/rB,EAAE+rB,cAAc7rB,EAAK,OAAOD,EAAE,GAAG4f,GAAG5f,EAAEjM,MAAMkM,IAAI,GAAGD,EAAE0G,WAAWrK,EAAEqK,WAAWwhB,GAAGpZ,QAAQ,CAACjQ,EAAE+5B,GAAGh6B,EAAEC,EAAEC,GAAG,MAAMF,QAAQ,IAAc,QAAVoB,EAAEnB,EAAE+P,SAAiB5O,EAAEsO,OAAOzP,GAAG,OAAOmB,GAAG,CAAC,IAAI0D,EAAE1D,EAAEksB,aAAa,GAAG,OAAOxoB,EAAE,CAACzD,EAAED,EAAE4O,MAAM,IAAI,IAAIjL,EAAED,EAAEyoB,aAAa,OAAOxoB,GAAG,CAAC,GAAGA,EAAE5K,UAAUgH,EAAE,CAAC,GAAG,IAAIC,EAAE8D,IAAI,EAACH,EAAE6pB,IAAI,EAAE1uB,GAAGA,IAAKgF,IAAI,EAAE,IAAIL,EAAEzD,EAAEgtB,YAAY,GAAG,OAAOvpB,EAAE,CAAY,IAAIzN,GAAfyN,EAAEA,EAAE2pB,QAAeC,QAAQ,OAAOr3B,EAAE2N,EAAE6oB,KAAK7oB,GAAGA,EAAE6oB,KAAKx2B,EAAEw2B,KAAKx2B,EAAEw2B,KAAK7oB,GAAGF,EAAE4pB,QAAQ1pB,GAAG3D,EAAEosB,OAAOttB,EAAgB,QAAd6E,EAAE3D,EAAEqO,aAAqB1K,EAAEyoB,OAAOttB,GAAGitB,GAAG/rB,EAAEsO,OAClfxP,EAAED,GAAG6E,EAAE0oB,OAAOttB,EAAE,MAAM6E,EAAEA,EAAE6oB,WAAW,GAAG,KAAKxsB,EAAE8D,IAAI7D,EAAED,EAAElK,OAAO+I,EAAE/I,KAAK,KAAKkK,EAAE4O,WAAW,GAAG,KAAK5O,EAAE8D,IAAI,CAAY,GAAG,QAAd7D,EAAED,EAAEsO,QAAmB,MAAM5X,MAAMiI,EAAE,MAAMsB,EAAEmsB,OAAOttB,EAAgB,QAAd4E,EAAEzD,EAAEoO,aAAqB3K,EAAE0oB,OAAOttB,GAAGitB,GAAG9rB,EAAEnB,EAAED,GAAGoB,EAAED,EAAE6O,aAAa5O,EAAED,EAAE4O,MAAM,GAAG,OAAO3O,EAAEA,EAAEqO,OAAOtO,OAAO,IAAIC,EAAED,EAAE,OAAOC,GAAG,CAAC,GAAGA,IAAIpB,EAAE,CAACoB,EAAE,KAAK,MAAkB,GAAG,QAAfD,EAAEC,EAAE4O,SAAoB,CAAC7O,EAAEsO,OAAOrO,EAAEqO,OAAOrO,EAAED,EAAE,MAAMC,EAAEA,EAAEqO,OAAOtO,EAAEC,EAAEy4B,GAAG95B,EAAEC,EAAExC,EAAEqK,SAAS5H,GAAGD,EAAEA,EAAE+P,MAAM,OAAO/P,EAAE,KAAK,EAAE,OAAOxC,EAAEwC,EAAE/I,KAAKiK,EAAElB,EAAE4rB,aAAa/jB,SAASulB,GAAGptB,EAAEC,GAAWiB,EAAEA,EAAV1D,EAAEiwB,GAAGjwB,IAAUwC,EAAE7J,OAAO,EAAE0jC,GAAG95B,EAAEC,EAAEkB,EAAEjB,GACpfD,EAAE+P,MAAM,KAAK,GAAG,OAAgBvS,EAAEkvB,GAAXxrB,EAAElB,EAAE/I,KAAY+I,EAAE4rB,cAA6BoO,GAAGj6B,EAAEC,EAAEkB,EAAtB1D,EAAEkvB,GAAGxrB,EAAEjK,KAAKuG,GAAcyC,GAAG,KAAK,GAAG,OAAOi6B,GAAGn6B,EAAEC,EAAEA,EAAE/I,KAAK+I,EAAE4rB,aAAa3rB,GAAG,KAAK,GAAG,OAAOiB,EAAElB,EAAE/I,KAAKuG,EAAEwC,EAAE4rB,aAAapuB,EAAEwC,EAAEd,cAAcgC,EAAE1D,EAAEkvB,GAAGxrB,EAAE1D,GAAGo9B,GAAG76B,EAAEC,GAAGA,EAAEiF,IAAI,EAAEykB,GAAGxoB,IAAInB,GAAE,EAAGgqB,GAAG/pB,IAAID,GAAE,EAAGqtB,GAAGptB,EAAEC,GAAGywB,GAAG1wB,EAAEkB,EAAE1D,GAAGuzB,GAAG/wB,EAAEkB,EAAE1D,EAAEyC,GAAG+6B,GAAG,KAAKh7B,EAAEkB,GAAE,EAAGnB,EAAEE,GAAG,KAAK,GAAG,OAAO48B,GAAG98B,EAAEC,EAAEC,GAAG,KAAK,GAAG,OAAOm6B,GAAGr6B,EAAEC,EAAEC,GAAG,MAAMpI,MAAMiI,EAAE,IAAIE,EAAEiF,OAYlC,IAAImgC,GAAG,oBAAoBC,YAAYA,YAAY,SAAStlC,GAAG/H,QAAQ+B,MAAMgG,IAAI,SAASulC,GAAGvlC,GAAG1K,KAAKkwC,cAAcxlC,EAChI,SAASylC,GAAGzlC,GAAG1K,KAAKkwC,cAAcxlC,EAC3J,SAAS0lC,GAAG1lC,GAAG,SAASA,GAAG,IAAIA,EAAEiJ,UAAU,IAAIjJ,EAAEiJ,UAAU,KAAKjJ,EAAEiJ,UAAU,SAAS08B,GAAG3lC,GAAG,SAASA,GAAG,IAAIA,EAAEiJ,UAAU,IAAIjJ,EAAEiJ,UAAU,KAAKjJ,EAAEiJ,WAAW,IAAIjJ,EAAEiJ,UAAU,iCAAiCjJ,EAAEkJ,YAAY,SAAS08B,MAEna,SAASC,GAAG7lC,EAAEC,EAAEC,EAAEiB,EAAE1D,GAAG,IAAI2D,EAAElB,EAAE++B,oBAAoB,GAAG79B,EAAE,CAAC,IAAIC,EAAED,EAAE,GAAG,oBAAoB3D,EAAE,CAAC,IAAIqH,EAAErH,EAAEA,EAAE,WAAW,IAAIuC,EAAEglC,GAAG3jC,GAAGyD,EAAE/Q,KAAKiM,IAAI+kC,GAAG9kC,EAAEoB,EAAErB,EAAEvC,QAAQ4D,EADxJ,SAAYrB,EAAEC,EAAEC,EAAEiB,EAAE1D,GAAG,GAAGA,EAAE,CAAC,GAAG,oBAAoB0D,EAAE,CAAC,IAAIC,EAAED,EAAEA,EAAE,WAAW,IAAInB,EAAEglC,GAAG3jC,GAAGD,EAAErN,KAAKiM,IAAI,IAAIqB,EAAEyjC,GAAG7kC,EAAEkB,EAAEnB,EAAE,EAAE,MAAK,EAAG,EAAG,GAAG4lC,IAAmF,OAA/E5lC,EAAEi/B,oBAAoB59B,EAAErB,EAAEwmB,IAAInlB,EAAE6O,QAAQ6V,GAAG,IAAI/lB,EAAEiJ,SAASjJ,EAAE+N,WAAW/N,GAAGsjC,KAAYjiC,EAAE,KAAK5D,EAAEuC,EAAEgJ,WAAWhJ,EAAE2I,YAAYlL,GAAG,GAAG,oBAAoB0D,EAAE,CAAC,IAAI2D,EAAE3D,EAAEA,EAAE,WAAW,IAAInB,EAAEglC,GAAGjgC,GAAGD,EAAE/Q,KAAKiM,IAAI,IAAI+E,EAAE0/B,GAAGzkC,EAAE,GAAE,EAAG,KAAK,GAAK,EAAG,EAAG,GAAG4lC,IAA0G,OAAtG5lC,EAAEi/B,oBAAoBl6B,EAAE/E,EAAEwmB,IAAIzhB,EAAEmL,QAAQ6V,GAAG,IAAI/lB,EAAEiJ,SAASjJ,EAAE+N,WAAW/N,GAAGsjC,IAAG,WAAWyB,GAAG9kC,EAAE8E,EAAE7E,EAAEiB,MAAY4D,EACnU+gC,CAAG5lC,EAAED,EAAED,EAAEvC,EAAE0D,GAAG,OAAO6jC,GAAG3jC,GAHlLokC,GAAG5xC,UAAUgJ,OAAO0oC,GAAG1xC,UAAUgJ,OAAO,SAASmD,GAAG,IAAIC,EAAE3K,KAAKkwC,cAAc,GAAG,OAAOvlC,EAAE,MAAMnI,MAAMiI,EAAE,MAAMglC,GAAG/kC,EAAEC,EAAE,KAAK,OAAOwlC,GAAG5xC,UAAUkyC,QAAQR,GAAG1xC,UAAUkyC,QAAQ,WAAW,IAAI/lC,EAAE1K,KAAKkwC,cAAc,GAAG,OAAOxlC,EAAE,CAAC1K,KAAKkwC,cAAc,KAAK,IAAIvlC,EAAED,EAAEkV,cAAcouB,IAAG,WAAWyB,GAAG,KAAK/kC,EAAE,KAAK,SAAQC,EAAEumB,IAAI,OACpTif,GAAG5xC,UAAUmyC,2BAA2B,SAAShmC,GAAG,GAAGA,EAAE,CAAC,IAAIC,EAAEwT,KAAKzT,EAAE,CAAC0U,UAAU,KAAKlgB,OAAOwL,EAAEgV,SAAS/U,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAEiU,GAAGhhB,QAAQ,IAAI8M,GAAGA,EAAEkU,GAAGjU,GAAG8U,SAAS9U,KAAKiU,GAAG8xB,OAAO/lC,EAAE,EAAEF,GAAG,IAAIE,GAAG4U,GAAG9U,KAERsT,GAAG,SAAStT,GAAG,OAAOA,EAAEkF,KAAK,KAAK,EAAE,IAAIjF,EAAED,EAAEqO,UAAU,GAAGpO,EAAEiQ,QAAQN,cAAcqF,aAAa,CAAC,IAAI/U,EAAEoS,GAAGrS,EAAEuS,cAAc,IAAItS,IAAIiT,GAAGlT,EAAI,EAAFC,GAAK6hC,GAAG9hC,EAAE4Q,MAAK,KAAO,EAAFqe,MAAO2O,GAAGhtB,KAAI,IAAI0Z,OAAO,MAAM,KAAK,GAAG+Y,IAAG,WAAW,IAAIrjC,EAAEguB,GAAGjuB,EAAE,GAAG,GAAG,OAAOC,EAAE,CAAC,IAAIC,EAAEiwB,KAAIE,GAAGpwB,EAAED,EAAE,EAAEE,OAAMglC,GAAGllC,EAAE,KAC5buT,GAAG,SAASvT,GAAG,GAAG,KAAKA,EAAEkF,IAAI,CAAC,IAAIjF,EAAEguB,GAAGjuB,EAAE,WAAW,GAAG,OAAOC,EAAaowB,GAAGpwB,EAAED,EAAE,UAAXmwB,MAAwB+U,GAAGllC,EAAE,aAAawT,GAAG,SAASxT,GAAG,GAAG,KAAKA,EAAEkF,IAAI,CAAC,IAAIjF,EAAEmwB,GAAGpwB,GAAGE,EAAE+tB,GAAGjuB,EAAEC,GAAG,GAAG,OAAOC,EAAamwB,GAAGnwB,EAAEF,EAAEC,EAAXkwB,MAAgB+U,GAAGllC,EAAEC,KAAKwT,GAAG,WAAW,OAAOL,IAAGM,GAAG,SAAS1T,EAAEC,GAAG,IAAIC,EAAEkT,GAAE,IAAI,OAAOA,GAAEpT,EAAEC,IAAf,QAA2BmT,GAAElT,IAChS8N,GAAG,SAAShO,EAAEC,EAAEC,GAAG,OAAOD,GAAG,IAAK,QAAyB,GAAjBiH,EAAGlH,EAAEE,GAAGD,EAAEC,EAAEzK,KAAQ,UAAUyK,EAAEhJ,MAAM,MAAM+I,EAAE,CAAC,IAAIC,EAAEF,EAAEE,EAAE6N,YAAY7N,EAAEA,EAAE6N,WAAsF,IAA3E7N,EAAEA,EAAEgmC,iBAAiB,cAAcC,KAAKC,UAAU,GAAGnmC,GAAG,mBAAuBA,EAAE,EAAEA,EAAEC,EAAE/M,OAAO8M,IAAI,CAAC,IAAIkB,EAAEjB,EAAED,GAAG,GAAGkB,IAAInB,GAAGmB,EAAEklC,OAAOrmC,EAAEqmC,KAAK,CAAC,IAAI5oC,EAAE6Q,GAAGnN,GAAG,IAAI1D,EAAE,MAAM3F,MAAMiI,EAAE,KAAKqG,EAAGjF,GAAG+F,EAAG/F,EAAE1D,KAAK,MAAM,IAAK,WAAWuK,GAAGhI,EAAEE,GAAG,MAAM,IAAK,SAAmB,OAAVD,EAAEC,EAAE/K,QAAeoS,GAAGvH,IAAIE,EAAEk9B,SAASn9B,GAAE,KAAMwO,GAAG40B,GAAG30B,GAAG40B,GACpa,IAAIgD,GAAG,CAACC,uBAAsB,EAAGC,OAAO,CAACp4B,GAAG6R,GAAG3R,GAAGC,GAAGC,GAAG60B,KAAKoD,GAAG,CAACC,wBAAwB3xB,GAAG4xB,WAAW,EAAEC,QAAQ,SAASC,oBAAoB,aAC1IC,GAAG,CAACH,WAAWF,GAAGE,WAAWC,QAAQH,GAAGG,QAAQC,oBAAoBJ,GAAGI,oBAAoBE,eAAeN,GAAGM,eAAeC,kBAAkB,KAAKC,4BAA4B,KAAKC,4BAA4B,KAAKC,cAAc,KAAKC,wBAAwB,KAAKC,wBAAwB,KAAKC,gBAAgB,KAAKC,mBAAmB,KAAKC,eAAe,KAAKC,qBAAqB3kC,EAAGwwB,uBAAuBoU,wBAAwB,SAAS1nC,GAAW,OAAO,QAAfA,EAAE+P,GAAG/P,IAAmB,KAAKA,EAAEqO,WAAWq4B,wBAAwBD,GAAGC,yBARjN,WAAc,OAAO,MAShUiB,4BAA4B,KAAKC,gBAAgB,KAAKC,aAAa,KAAKC,kBAAkB,KAAKC,gBAAgB,KAAKC,kBAAkB,kCAAkC,GAAG,qBAAqBC,+BAA+B,CAAC,IAAIC,GAAGD,+BAA+B,IAAIC,GAAGC,YAAYD,GAAGE,cAAc,IAAIz2B,GAAGu2B,GAAGG,OAAOvB,IAAIl1B,GAAGs2B,GAAG,MAAMloC,MAAK9L,EAAQ6O,mDAAmDujC,GAC9YpyC,EAAQo0C,aAAa,SAAStoC,EAAEC,GAAG,IAAIC,EAAE,EAAEhN,UAAUC,aAAQ,IAASD,UAAU,GAAGA,UAAU,GAAG,KAAK,IAAIwyC,GAAGzlC,GAAG,MAAMnI,MAAMiI,EAAE,MAAM,OAAO6kC,GAAG5kC,EAAEC,EAAE,KAAKC,IAAIhM,EAAQq0C,WAAW,SAASvoC,EAAEC,GAAG,IAAIylC,GAAG1lC,GAAG,MAAMlI,MAAMiI,EAAE,MAAM,IAAIG,GAAE,EAAGiB,EAAE,GAAG1D,EAAE4nC,GAA4P,OAAzP,OAAOplC,QAAG,IAASA,KAAI,IAAKA,EAAEuoC,sBAAsBtoC,GAAE,QAAI,IAASD,EAAEw4B,mBAAmBt3B,EAAElB,EAAEw4B,uBAAkB,IAASx4B,EAAE8jC,qBAAqBtmC,EAAEwC,EAAE8jC,qBAAqB9jC,EAAEwkC,GAAGzkC,EAAE,GAAE,EAAG,KAAK,EAAKE,EAAE,EAAGiB,EAAE1D,GAAGuC,EAAEwmB,IAAIvmB,EAAEiQ,QAAQ6V,GAAG,IAAI/lB,EAAEiJ,SAASjJ,EAAE+N,WAAW/N,GAAU,IAAIulC,GAAGtlC,IACnf/L,EAAQu0C,YAAY,SAASzoC,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,IAAIA,EAAEiJ,SAAS,OAAOjJ,EAAE,IAAIC,EAAED,EAAEiwB,gBAAgB,QAAG,IAAShwB,EAAE,CAAC,GAAG,oBAAoBD,EAAEnD,OAAO,MAAM/E,MAAMiI,EAAE,MAAiC,MAA3BC,EAAEpM,OAAOsH,KAAK8E,GAAGhM,KAAK,KAAW8D,MAAMiI,EAAE,IAAIC,IAAyC,OAA5BA,EAAE,QAAVA,EAAE+P,GAAG9P,IAAc,KAAKD,EAAEqO,WAAoBna,EAAQw0C,UAAU,SAAS1oC,GAAG,OAAOsjC,GAAGtjC,IAAI9L,EAAQy0C,QAAQ,SAAS3oC,EAAEC,EAAEC,GAAG,IAAIylC,GAAG1lC,GAAG,MAAMnI,MAAMiI,EAAE,MAAM,OAAO8lC,GAAG,KAAK7lC,EAAEC,GAAE,EAAGC,IAC7YhM,EAAQ00C,YAAY,SAAS5oC,EAAEC,EAAEC,GAAG,IAAIwlC,GAAG1lC,GAAG,MAAMlI,MAAMiI,EAAE,MAAM,IAAIoB,EAAE,MAAMjB,GAAGA,EAAE2oC,iBAAiB,KAAKprC,GAAE,EAAG2D,EAAE,GAAGC,EAAEgkC,GAAyO,GAAtO,OAAOnlC,QAAG,IAASA,KAAI,IAAKA,EAAEsoC,sBAAsB/qC,GAAE,QAAI,IAASyC,EAAEu4B,mBAAmBr3B,EAAElB,EAAEu4B,uBAAkB,IAASv4B,EAAE6jC,qBAAqB1iC,EAAEnB,EAAE6jC,qBAAqB9jC,EAAE6kC,GAAG7kC,EAAE,KAAKD,EAAE,EAAE,MAAME,EAAEA,EAAE,KAAKzC,EAAE,EAAG2D,EAAEC,GAAGrB,EAAEwmB,IAAIvmB,EAAEiQ,QAAQ6V,GAAG/lB,GAAMmB,EAAE,IAAInB,EAAE,EAAEA,EAAEmB,EAAEhO,OAAO6M,IAA2BvC,GAAhBA,GAAPyC,EAAEiB,EAAEnB,IAAO8oC,aAAgB5oC,EAAE6oC,SAAS,MAAM9oC,EAAEukC,gCAAgCvkC,EAAEukC,gCAAgC,CAACtkC,EAAEzC,GAAGwC,EAAEukC,gCAAgClxC,KAAK4M,EACvhBzC,GAAG,OAAO,IAAIgoC,GAAGxlC,IAAI/L,EAAQ2I,OAAO,SAASmD,EAAEC,EAAEC,GAAG,IAAIylC,GAAG1lC,GAAG,MAAMnI,MAAMiI,EAAE,MAAM,OAAO8lC,GAAG,KAAK7lC,EAAEC,GAAE,EAAGC,IAAIhM,EAAQ80C,uBAAuB,SAAShpC,GAAG,IAAI2lC,GAAG3lC,GAAG,MAAMlI,MAAMiI,EAAE,KAAK,QAAOC,EAAEi/B,sBAAqBqE,IAAG,WAAWuC,GAAG,KAAK,KAAK7lC,GAAE,GAAG,WAAWA,EAAEi/B,oBAAoB,KAAKj/B,EAAEwmB,IAAI,YAAS,IAAQtyB,EAAQ+0C,wBAAwB5F,GAC/UnvC,EAAQg1C,oCAAoC,SAASlpC,EAAEC,EAAEC,EAAEiB,GAAG,IAAIwkC,GAAGzlC,GAAG,MAAMpI,MAAMiI,EAAE,MAAM,GAAG,MAAMC,QAAG,IAASA,EAAEiwB,gBAAgB,MAAMn4B,MAAMiI,EAAE,KAAK,OAAO8lC,GAAG7lC,EAAEC,EAAEC,GAAE,EAAGiB,IAAIjN,EAAQ0yC,QAAQ,uEChUzLxvC,EAAIkE,EAAQ,KAEdpH,EAAQ,EAAakD,EAAEmxC,WACDnxC,EAAEwxC,+CCH1B,SAASO,IAEP,GAC4C,qBAAnClB,gCAC4C,oBAA5CA,+BAA+BkB,SAcxC,IAEElB,+BAA+BkB,SAASA,GACxC,MAAOrzC,GAGPmC,QAAQ+B,MAAMlE,IAOhBqzC,GACAl1C,EAAOC,QAAU,EAAjBD,qBChCF,IAAIm1C,EAAoC,qBAAZC,QACxBC,EAAwB,oBAARr1B,IAChBs1B,EAAwB,oBAARlpC,IAChBmpC,EAAwC,oBAAhBC,eAAgCA,YAAYC,OAIxE,SAASC,EAAM3pC,EAAGC,GAEhB,GAAID,IAAMC,EAAG,OAAO,EAEpB,GAAID,GAAKC,GAAiB,iBAALD,GAA6B,iBAALC,EAAe,CAC1D,GAAID,EAAE8F,cAAgB7F,EAAE6F,YAAa,OAAO,EAE5C,IAAI3S,EAAQF,EAAGiI,EA6BX0uC,EA5BJ,GAAIr2C,MAAMC,QAAQwM,GAAI,CAEpB,IADA7M,EAAS6M,EAAE7M,SACG8M,EAAE9M,OAAQ,OAAO,EAC/B,IAAKF,EAAIE,EAAgB,IAARF,KACf,IAAK02C,EAAM3pC,EAAE/M,GAAIgN,EAAEhN,IAAK,OAAO,EACjC,OAAO,EAwBT,GAAIq2C,GAAWtpC,aAAaiU,KAAShU,aAAagU,IAAM,CACtD,GAAIjU,EAAEw9B,OAASv9B,EAAEu9B,KAAM,OAAO,EAE9B,IADAoM,EAAK5pC,EAAE6pC,YACE52C,EAAI22C,EAAGhc,QAAQsE,MACtB,IAAKjyB,EAAEylB,IAAIzyB,EAAEkC,MAAM,IAAK,OAAO,EAEjC,IADAy0C,EAAK5pC,EAAE6pC,YACE52C,EAAI22C,EAAGhc,QAAQsE,MACtB,IAAKyX,EAAM12C,EAAEkC,MAAM,GAAI8K,EAAExG,IAAIxG,EAAEkC,MAAM,KAAM,OAAO,EACpD,OAAO,EAGT,GAAIo0C,GAAWvpC,aAAaK,KAASJ,aAAaI,IAAM,CACtD,GAAIL,EAAEw9B,OAASv9B,EAAEu9B,KAAM,OAAO,EAE9B,IADAoM,EAAK5pC,EAAE6pC,YACE52C,EAAI22C,EAAGhc,QAAQsE,MACtB,IAAKjyB,EAAEylB,IAAIzyB,EAAEkC,MAAM,IAAK,OAAO,EACjC,OAAO,EAIT,GAAIq0C,GAAkBC,YAAYC,OAAO1pC,IAAMypC,YAAYC,OAAOzpC,GAAI,CAEpE,IADA9M,EAAS6M,EAAE7M,SACG8M,EAAE9M,OAAQ,OAAO,EAC/B,IAAKF,EAAIE,EAAgB,IAARF,KACf,GAAI+M,EAAE/M,KAAOgN,EAAEhN,GAAI,OAAO,EAC5B,OAAO,EAGT,GAAI+M,EAAE8F,cAAgBgkC,OAAQ,OAAO9pC,EAAEqN,SAAWpN,EAAEoN,QAAUrN,EAAE5J,QAAU6J,EAAE7J,MAC5E,GAAI4J,EAAEyI,UAAY7U,OAAOC,UAAU4U,QAAS,OAAOzI,EAAEyI,YAAcxI,EAAEwI,UACrE,GAAIzI,EAAErM,WAAaC,OAAOC,UAAUF,SAAU,OAAOqM,EAAErM,aAAesM,EAAEtM,WAIxE,IADAR,GADA+H,EAAOtH,OAAOsH,KAAK8E,IACL7M,UACCS,OAAOsH,KAAK+E,GAAG9M,OAAQ,OAAO,EAE7C,IAAKF,EAAIE,EAAgB,IAARF,KACf,IAAKW,OAAOC,UAAUf,eAAeiB,KAAKkM,EAAG/E,EAAKjI,IAAK,OAAO,EAKhE,GAAIm2C,GAAkBppC,aAAaqpC,QAAS,OAAO,EAGnD,IAAKp2C,EAAIE,EAAgB,IAARF,KACf,IAAiB,WAAZiI,EAAKjI,IAA+B,QAAZiI,EAAKjI,IAA4B,QAAZiI,EAAKjI,KAAiB+M,EAAEoF,YAarEukC,EAAM3pC,EAAE9E,EAAKjI,IAAKgN,EAAE/E,EAAKjI,KAAM,OAAO,EAK7C,OAAO,EAGT,OAAO+M,IAAMA,GAAKC,IAAMA,EAI1BhM,EAAOC,QAAU,SAAiB8L,EAAGC,GACnC,IACE,OAAO0pC,EAAM3pC,EAAGC,GAChB,MAAOjG,GACP,IAAMA,EAAME,SAAW,IAAIsK,MAAM,oBAO/B,OADAvM,QAAQC,KAAK,mDACN,EAGT,MAAM8B,oCC1HG,IAAIiG,EAAE,oBAAoBgD,QAAQA,OAAOC,IAAIhD,EAAED,EAAEgD,OAAOC,IAAI,iBAAiB,MAAM/B,EAAElB,EAAEgD,OAAOC,IAAI,gBAAgB,MAAMzF,EAAEwC,EAAEgD,OAAOC,IAAI,kBAAkB,MAAM9B,EAAEnB,EAAEgD,OAAOC,IAAI,qBAAqB,MAAM7B,EAAEpB,EAAEgD,OAAOC,IAAI,kBAAkB,MAAM4B,EAAE7E,EAAEgD,OAAOC,IAAI,kBAAkB,MAAM6B,EAAE9E,EAAEgD,OAAOC,IAAI,iBAAiB,MAAM2B,EAAE5E,EAAEgD,OAAOC,IAAI,oBAAoB,MAAM9L,EAAE6I,EAAEgD,OAAOC,IAAI,yBAAyB,MAAMhK,EAAE+G,EAAEgD,OAAOC,IAAI,qBAAqB,MAAMnD,EAAEE,EAAEgD,OAAOC,IAAI,kBAAkB,MAAMosB,EAAErvB,EACpfgD,OAAOC,IAAI,uBAAuB,MAAMqsB,EAAEtvB,EAAEgD,OAAOC,IAAI,cAAc,MAAMgjB,EAAEjmB,EAAEgD,OAAOC,IAAI,cAAc,MAAMhC,EAAEjB,EAAEgD,OAAOC,IAAI,eAAe,MAAMrL,EAAEoI,EAAEgD,OAAOC,IAAI,qBAAqB,MAAMkjB,EAAEnmB,EAAEgD,OAAOC,IAAI,mBAAmB,MAAMssB,EAAEvvB,EAAEgD,OAAOC,IAAI,eAAe,MAClQ,SAASrB,EAAE7B,GAAG,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAIqmB,EAAErmB,EAAEoF,SAAS,OAAOihB,GAAG,KAAKnmB,EAAE,OAAOF,EAAEA,EAAE9I,MAAQ,KAAK2N,EAAE,KAAKzN,EAAE,KAAKqG,EAAE,KAAK4D,EAAE,KAAKD,EAAE,KAAKrB,EAAE,OAAOC,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAEoF,UAAY,KAAKL,EAAE,KAAK7L,EAAE,KAAKgtB,EAAE,KAAKqJ,EAAE,KAAKzqB,EAAE,OAAO9E,EAAE,QAAQ,OAAOqmB,GAAG,KAAKllB,EAAE,OAAOklB,IAAI,SAASliB,EAAEnE,GAAG,OAAO6B,EAAE7B,KAAK5I,EAAElD,EAAQ61C,UAAUllC,EAAE3Q,EAAQ81C,eAAe5yC,EAAElD,EAAQ+1C,gBAAgBllC,EAAE7Q,EAAQg2C,gBAAgBplC,EAAE5Q,EAAQm1C,QAAQnpC,EAAEhM,EAAQ0I,WAAW1D,EAAEhF,EAAQi2C,SAAS1sC,EAAEvJ,EAAQk2C,KAAKlkB,EAAEhyB,EAAQ4I,KAAKyyB,EAAEr7B,EAAQm2C,OAAOlpC,EAChfjN,EAAQo2C,SAASjpC,EAAEnN,EAAQq2C,WAAWnpC,EAAElN,EAAQs2C,SAASzqC,EAAE7L,EAAQu2C,YAAY,SAASzqC,GAAG,OAAOmE,EAAEnE,IAAI6B,EAAE7B,KAAK6E,GAAG3Q,EAAQw2C,iBAAiBvmC,EAAEjQ,EAAQy2C,kBAAkB,SAAS3qC,GAAG,OAAO6B,EAAE7B,KAAK+E,GAAG7Q,EAAQ02C,kBAAkB,SAAS5qC,GAAG,OAAO6B,EAAE7B,KAAK8E,GAAG5Q,EAAQ22C,UAAU,SAAS7qC,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEoF,WAAWlF,GAAGhM,EAAQ42C,aAAa,SAAS9qC,GAAG,OAAO6B,EAAE7B,KAAK9G,GAAGhF,EAAQ62C,WAAW,SAAS/qC,GAAG,OAAO6B,EAAE7B,KAAKvC,GAAGvJ,EAAQ82C,OAAO,SAAShrC,GAAG,OAAO6B,EAAE7B,KAAKkmB,GACzdhyB,EAAQyI,OAAO,SAASqD,GAAG,OAAO6B,EAAE7B,KAAKuvB,GAAGr7B,EAAQ+2C,SAAS,SAASjrC,GAAG,OAAO6B,EAAE7B,KAAKmB,GAAGjN,EAAQg3C,WAAW,SAASlrC,GAAG,OAAO6B,EAAE7B,KAAKqB,GAAGnN,EAAQi3C,aAAa,SAASnrC,GAAG,OAAO6B,EAAE7B,KAAKoB,GAAGlN,EAAQk3C,WAAW,SAASprC,GAAG,OAAO6B,EAAE7B,KAAKD,GACzO7L,EAAQm3C,mBAAmB,SAASrrC,GAAG,MAAM,kBAAkBA,GAAG,oBAAoBA,GAAGA,IAAIvC,GAAGuC,IAAI5I,GAAG4I,IAAIqB,GAAGrB,IAAIoB,GAAGpB,IAAID,GAAGC,IAAIsvB,GAAG,kBAAkBtvB,GAAG,OAAOA,IAAIA,EAAEoF,WAAW8gB,GAAGlmB,EAAEoF,WAAWmqB,GAAGvvB,EAAEoF,WAAWN,GAAG9E,EAAEoF,WAAWL,GAAG/E,EAAEoF,WAAWlM,GAAG8G,EAAEoF,WAAWvN,GAAGmI,EAAEoF,WAAWghB,GAAGpmB,EAAEoF,WAAWoqB,GAAGxvB,EAAEoF,WAAWlE,IAAIhN,EAAQo3C,OAAOzpC,oCCXjU5N,EAAOC,QAAU,EAAjBD,4mCCDF,IAEas3C,EAAU,CACrBl2C,KAAM,QAGKm2C,EAAkB,SAAC,GAAD,QAAGr2C,MAAAA,YAAAA,IAAAA,EAAQ,GAAA+wB,GAC7BulB,EAAgB,kBAAMC,EAAAA,cAAAA,EAAAA,SAAAA,KAAAA,SAEtBC,EAAgB,CAC3BC,KAAMJ,EACNhvB,MAAO,IACPqvB,SAAU,EACVC,SAAU72C,OAAO82C,kBAGnB,SAASC,IAAAA,IAAAA,IAAAA,EAAAA,UAAAA,OAAcC,EAAAA,IAAAA,MAAAA,GAAAA,EAAAA,EAAAA,EAAAA,EAAAA,IAAAA,EAAAA,GAAAA,UAAAA,GAAAA,OACdA,EAASC,QAAO,SAACnuC,EAAO6vB,GAAAA,IACrB1hB,EAA8B0hB,EAA9B1hB,MAAOigC,EAAuBve,EAAvBue,UAAAA,OAEfpuC,EAAAA,EAAAA,GACKA,EAAAA,GAAAA,EAHiC6vB,EAAAA,CAAAA,QAAAA,eAOlC1hB,IACFnO,EAAMmO,MAAQnO,EAAMmO,MAAAA,EAAAA,GACVnO,EAAMmO,OAAS,MAASA,GAAS,IACvCA,GAGFigC,IACFpuC,EAAMouC,UAAYpuC,EAAMouC,UACpBpuC,EAAMouC,UAAY,IAAMA,EACxBA,GAGkB,KAApBpuC,EAAMouC,kBACDpuC,EAAMouC,UAGRpuC,IACN,QAkBQquC,EAAiB,SAACC,EAAOl/B,GAAAA,YAAAA,IAAAA,IAAAA,EAAO,IACpC,SAACm/B,GAAAA,YAAAA,IAAAA,IAAAA,EAAY,IAClB,UAAID,EAAAA,CAAOC,IAAWJ,QACpB,SAACK,EAAM3e,GAAAA,OAlBb,SAAS4e,EAAiBC,EAAWH,EAAWn/B,GAAAA,MAErB,mBAAdm/B,EACFE,EAAiB,GAAIF,EAAUG,EAAWt/B,IAI/C5Z,MAAMC,QAAQ84C,GACTN,EAAAA,WAAAA,EAAAA,CAAWS,GAAAA,OAAcH,IAI3BN,EAAWS,EAAWH,GAZ/B,CAmByBC,EAAM3e,EAAAA,EAAAA,GAClBzgB,EAAAA,CACHm/B,UAAAA,OAEJ,MAIOI,EAAc,SAACL,EAAOM,EAASx/B,EAAWy/B,GAAAA,YAAAA,IAAXz/B,IAAAA,EAAO,IACjDk/B,EAAMH,QAAO,SAACK,EAAM3e,GAAAA,OACAA,EAAK2e,EAAMp/B,KAU5Bw/B,IAEQE,EAAY,SAACR,EAAOlyC,EAASgT,GAAAA,YAAAA,IAAAA,IAAAA,EAAO,IAC/Ck/B,EAAMtqC,SAAQ,YACM+qC,EAAK3yC,EAASgT,OAW7B,SAAS4/B,EAAkBC,EAASC,EAASC,EAAYC,GAM1CH,EAAQI,WAC1B,YAAAC,OAAUA,EAAOH,aAAeA,KAalCD,EAAQlrC,SAAQ,YACMirC,EAAQI,WAC1B,YAAAC,OAAUA,EAAOH,aAAeI,QAY/B,SAASC,EAAiB3c,EAAS4c,GAAAA,MACd,mBAAZ5c,EAAyBA,EAAQ4c,GAAO5c,EAGjD,SAAS6c,EAAaC,GAAAA,IACrBpc,EAAMoa,EAAM1T,SAAAA,OAClB1G,EAAIphB,QAAUw9B,EAEPhC,EAAMlU,aAAY,kBAAMlG,EAAIphB,UAAS,QAIjCy9B,EACS,oBAAb/sC,SAA2B8qC,EAAM7T,gBAAkB6T,EAAMhU,UAE3D,SAASkW,EAAuBC,EAAIzX,GAAAA,IACnC0X,EAAapC,EAAM1T,QAAAA,GAEzB2V,GAAoB,WACdG,EAAW59B,SACb29B,IAEFC,EAAW59B,SAAAA,IAEVkmB,GAuCE,SAAS2X,EAAaxoB,EAAUyoB,EAAQ7gC,GAAAA,YAAAA,IAAAA,IAAAA,EAAO,IAC7C,SAACjW,EAAMo1C,QAAAA,IAAAA,IAAAA,EAAY,QAClB2B,EAAuB,iBAAT/2C,EAAoB82C,EAAO92C,GAAQA,EAAAA,QAAAA,IAE5C+2C,EAAAA,MACTh2C,QAAQi2C,KAAKF,GACP,IAAIl2C,MA1MA,sCA6MLq2C,EAAWF,EAAAA,EAAAA,GAAW1oB,EAAAA,CAAUyoB,OAAAA,GAAW7gC,EAAAA,GAASm/B,KAIxD,SAAS6B,EAAWF,EAAMlwC,GAAAA,OAYjC,SAA0BrB,GAAAA,MAED,mBAAdA,IAEC0xC,EAAQx6C,OAAOgG,eAAe8C,IACvB7I,WAAau6C,EAAMv6C,UAAUwwC,iBAF3C,IACO+J,EAJZ,CAR0B1xC,EAHAuxC,IAMD,mBAAdvxC,GAeX,SAA2BA,GAAAA,MAEF,iBAAdA,GACuB,iBAAvBA,EAAU0I,UACjB,CAAC,aAAc,qBAAqBJ,SAAStI,EAAU0I,SAASipC,aAJpE,CAdsB3xC,GAPYgvC,EAAAA,cAACuC,EAASlwC,GAAYkwC,EAGxD,IAA0BvxC,EC1MnB,SAAS4xC,EAAoBzkC,EAAS0kC,EAAQC,GAAAA,YAAAA,IAAAA,IAAAA,EAAQ,GACpD3kC,EAAQ4kC,KAAI,YAAAT,OAOjBU,EANAV,EAAAA,EAAAA,GACKA,EAAAA,CACHO,OAAAA,EACAC,MAAAA,KAKER,EAAOnkC,UACTmkC,EAAOnkC,QAAUykC,EAAoBN,EAAOnkC,QAASmkC,EAAQQ,EAAQ,IAEhER,KAIJ,SAASW,EAAe9kC,GAAAA,OACtB+kC,EAAU/kC,EAAS,WAGrB,SAAS6kC,EAAqBV,GAAAA,IAE7B93B,EAAyB83B,EAAzB93B,GAAI24B,EAAqBb,EAArBa,SAAUC,EAAWd,EAAXc,OAAAA,GAEI,iBAAbD,EAAuB,CAChC34B,EAAKA,GAAM24B,EAAAA,IACLE,EAAeF,EAAS/sC,MAAM,KACpC+sC,EAAW,YAAAG,OA+HR,SAAetB,EAAKuB,EAAMC,GAAAA,IAC1BD,EAAAA,OACIvB,EAAAA,IAYLyB,EAVEC,EAA2B,mBAATH,EAAsBA,EAAO9I,KAAKC,UAAU6I,GAE9DI,EACJC,EAAa71C,IAAI21C,IAChB,eACOC,EAiJZ,SAAuB3B,GAAAA,OAevB,SAAS6B,EAAY12C,EAAK22C,GAAS,QAATA,IAAAA,IAAAA,EAAS,IAC5Bj8C,MAAMC,QAAQqF,GAAAA,IAGZ,IAAI5F,EAAI,EAAGA,EAAI4F,EAAI1F,OAAQF,GAAK,EACnCs8C,EAAY12C,EAAI5F,GAAIu8C,QAHtBA,EAAOl8C,KAAKuF,GAAAA,OAMP22C,EART,CAbgB9B,GAETe,KAAI,YAAAttC,OAAKpJ,OAAOoJ,GAAGyB,QAAQ,IAAK,QAEhC5O,KAAK,KAEL4O,QAAQ6sC,EAAe,KACvB7sC,QAAQ8sC,EAAgB,IAExB5tC,MAAM,KAXb,CAjJoCmtC,GAAAA,OAC9BK,EAAa51C,IAAI01C,EAAUC,GACpBA,EAHR,OASDF,EAAME,EAAQnD,QAAO,SAACyD,EAAQC,GAAAA,OAAaD,EAAOC,KAAWlC,GAC7D,MAAOjwC,IAAAA,YAAAA,IAGK0xC,EAAsBA,EAAMD,EArBrC,CA/HqBF,EAAKD,IAAAA,IAG1B74B,GAAwB,iBAAX44B,GAAuBA,IACvC54B,EAAK44B,IAGF54B,GAAM83B,EAAOnkC,QAAAA,MAChB5R,QAAQ+B,MAAMg0C,GACR,IAAIl2C,MAAM,2DAGboe,EAAAA,MACHje,QAAQ+B,MAAMg0C,GACR,IAAIl2C,MAAM,wDAGlBlE,OAAOwQ,OAAO4pC,EAAQ,CACpB93B,GAAAA,EACA24B,SAAAA,IAGKb,EAGF,SAAS6B,EAAe7B,EAAQ8B,GAAAA,IAChCA,EAAAA,MACG,IAAIh4C,MAAAA,OAEZlE,OAAOwQ,OAAO4pC,EAAAA,EAAAA,CAEZc,OAAQrD,EACRsE,OAAQtE,GACLE,EAAAA,GACAmE,EAAAA,GACA9B,IAGLp6C,OAAOwQ,OAAO4pC,EAAQ,CACpBgC,cAAehC,EAAOxxB,QAGjBwxB,EAIF,SAASiC,EACdC,EACAvE,EACAwE,QAAAA,IAAAA,IAAAA,EAA6B,iBAAO,aAE9BC,EAAe,GAEjBC,EAAcH,EAEdI,EAAM,EACJC,EAAS,kBAAMD,KAAAA,EAAAA,WAAAA,IAIbE,EAAc,CAClBC,QAAS,IAILC,EAAgB,GAEhBC,EAAaN,EAAYO,MAAK,YAAAzvC,OAAKA,EAAEotC,UAG3C8B,EAAYtuC,SAAQ,YAAAisC,IAId6C,EAFAC,EAAqB,UAAIJ,GAAeK,UAAU,GAIlDJ,IAGAE,EADE7C,EAAOO,OACTsC,EAAAA,GACK7C,EAAOO,OAAAA,CACVyC,WAAYhD,EAAOO,OAAOr4B,GAC1BA,GAAO83B,EAAOO,OAAOr4B,GAAAA,IAAMq6B,IAC3BE,QAAS,CAACzC,IACPmC,EAA2BnC,IAKpB6B,EAAAA,EAAAA,CAERmB,WAHkBhD,EAAO93B,GAAAA,eAIzBA,GAAO83B,EAAO93B,GAAAA,gBAAkBq6B,IAChCU,cAAejD,EACfyC,QAAS,CAACzC,IACPmC,EAA2BnC,IAEhCrC,GAOFmF,GACAA,EAAmBE,aAAeH,EAAUG,WAE5CF,EAAmBL,QAAQn9C,KAAK06C,GAEhC0C,EAAcp9C,KAAKu9C,IAIvBL,EAAYC,QAAQn9C,KAAK06C,MAG3BoC,EAAa98C,KAAKk9C,GAGlBH,EAAcK,GA7DTL,EAAYl9C,QAAAA,IAAAA,OAgEZi9C,EAAaW,UAGtB,IAAMzB,EAAe,IAAIr7B,IA0BlB,SAASi9B,IAAAA,IAAAA,IAAAA,EAAAA,UAAAA,OAAmBx8C,EAAAA,IAAAA,MAAAA,GAAAA,EAAAA,EAAAA,EAAAA,EAAAA,IAAAA,EAAAA,GAAAA,UAAAA,GAAAA,IAC5B,IAAIzB,EAAI,EAAGA,EAAIyB,EAAKvB,OAAQF,GAAK,cACzByB,EAAKzB,GAAAA,OACPyB,EAAKzB,GA8BX,SAASk+C,EAAWnxC,GAAAA,GACR,mBAANA,EAAAA,OACFA,EAIJ,SAAS4uC,EAAU/1C,EAAK/E,GAAAA,IACvBs9C,EAAO,UAEG,SAAVC,EAAU,GACdx4C,EAAIkJ,SAAQ,YACLZ,EAAErN,GAGLu9C,EAAQlwC,EAAErN,IAFVs9C,EAAK99C,KAAK6N,MAHA,CAURtI,GAEDu4C,EAGF,SAASE,EACdC,EAAAA,GAAAA,IACEC,EAAAA,EAAAA,kBAAmBC,EAAAA,EAAAA,SAAAA,EAAAA,EAAUC,cAAAA,OAAAA,IAAAA,GAAAA,EAEzBC,EAAe,UAiBrBJ,EAAKxvC,SAAQ,YAAAitC,OAfK,SAAZ4C,EAAa5C,EAAK6C,QAAAA,IAAAA,IAAAA,GAAAA,GACtB7C,EAAI8C,WACD9C,EAAI+C,UAAY/C,EAAI+C,SAASP,IAAuBC,EAASzC,EAAI94B,IAEpE84B,EAAIgD,UAAYhD,EAAIiD,WAAajD,EAAIiD,QAAQ9+C,OAEzC0+C,GACFF,EAAar+C,KAAK07C,GAGhBA,EAAIiD,SAAWjD,EAAIiD,QAAQ9+C,QAAU67C,EAAI8C,YAC3C9C,EAAIiD,QAAQlwC,SAAQ,YAAAitC,OAAO4C,EAAU5C,EAAK0C,MAX5B,CAeY1C,MAEvB2C,EAGF,SAASO,EAAgBC,EAAQC,EAAiBC,GAAAA,OAErDlB,EAAWgB,IACXC,EAAgBD,IAChBE,EAAYF,IACZE,EAAYjzB,KAIT,SAASkzB,EAAuBC,EAAYp9C,EAAO64C,GAAAA,OACjDuE,EAAaA,EAAWp9C,EAAO64C,QAAAA,IAAiB74C,EAGlD,SAASq9C,IAAAA,MACR,IAAI16C,MACR,mGAIJ,IAAI26C,EAAmB,KAyBjBhD,EAAgB,MAChBC,EAAiB,MChUjBgD,EAAuB,YAAA30C,OAAAA,EAAAA,CAC3B40C,KAAM,SACH50C,IAGC60C,EAA2B,YAAA70C,OAAAA,EAAAA,CAC/B40C,KAAM,YACH50C,IAGC80C,EAAwB,SAAC90C,EAAAA,GAAAA,IAASiwC,EAAAA,EAAAA,OAAAA,OAAAA,EAAAA,CACtCl6C,IAAK,UAAUk6C,EAAO93B,GACtB48B,QAAS9E,EAAO+E,wBAChBJ,KAAM,gBACH50C,IAGCi1C,EAAwB,SAACj1C,EAAAA,GAAAA,IAASiwC,EAAAA,EAAAA,OAAAA,OAAAA,EAAAA,CACtCl6C,IAAK,UAAUk6C,EAAO93B,GACtB48B,QAAS9E,EAAO+E,yBACbh1C,IAGCk1C,EAA6B,SAACl1C,EAAAA,GAAAA,OAAAA,EAAAA,CAClCjK,IAAK,eAALA,EAD2C+G,MAE3C83C,KAAM,OACH50C,IAGCm1C,EAA6B,SAACn1C,EAAAA,GAAAA,OAAAA,EAAAA,CAClCjK,IAAK,eAALA,EAD2C+G,OAExCkD,IAGCo1C,EAAqB,SAACp1C,EAAAA,GAAAA,OAAAA,EAAAA,CAC1BjK,IAAK,OAALA,EADmCk7C,IACnB94B,GAChBy8B,KAAM,OACH50C,IAGCq1C,EAAsB,SAACr1C,EAAAA,GAAAA,IAASs1C,EAAAA,EAAAA,KAAAA,OAAAA,EAAAA,CACpCv/C,IAAK,QAAQu/C,EAAKrE,IAAI94B,GAAAA,IAAMm9B,EAAKrF,OAAO93B,GACxCy8B,KAAM,QACH50C,IAGU,SAASu1C,IAAAA,MACf,CACLC,WAAY,GACZC,cAAe,GACfC,mBAAoB,GACpB5pC,QAAS,GACT6pC,YAAa,GACbxD,WAAY,GACZyD,eAAgB,GAChBC,YAAa,GACbC,oBAAqB,GACrBC,wBAAyB,GACzBC,qBAAsB,GACtBC,eAAgB,GAChBC,mBAAoB,GACpB7D,aAAc,GACd8D,iBAAkB,GAClBC,4BAA6B,GAC7BC,YAAa,GACbC,WAAY,GACZC,cAAe,CAAC5B,GAChB6B,kBAAmB,CAAC3B,GACpB4B,oBAAqB,CAACvB,GACtBwB,oBAAqB,CAACvB,GACtBwB,eAAgB,CAAC7B,GACjB8B,eAAgB,CAAC3B,GACjB4B,YAAa,CAACzB,GACd0B,aAAc,CAACzB,GACf0B,iBAAkB,IChEtBvJ,EAAQwJ,mBAAqB,qBAC7BxJ,EAAQyJ,iBAAmB,mBAC3BzJ,EAAQ0J,iBAAmB,mBAC3B1J,EAAQ2J,qBAAuB,uBAExB,IAAMC,EAAsB,YACjC9I,EAAM+I,qBAAuB,CAACC,GAC9BhJ,EAAMiJ,6BAA+B,CAACC,GAEtClJ,EAAMmH,cAAclgD,KAAKkiD,GACzBnJ,EAAM8H,4BAA4B7gD,KAAK6gD,GACvC9H,EAAM6H,iBAAiB5gD,MAAK,SAAC8iC,EAAAA,GAAAA,IAAQ7Q,EAAAA,EAAAA,SAAAA,MAAAA,GAAAA,OAChC6Q,EAAAA,CACH7Q,EAAShtB,MAAMk9C,mBAEjBpJ,EAAM+H,YAAY9gD,KAAK8gD,IAGzBe,EAAoBjI,WAAa,sBAEjC,IAAMmI,EAA8B,SAACt3C,EAAAA,GAAAA,IAASiwC,EAAAA,EAAAA,OAAAA,MAAa,CACzDjwC,EACA,CACE23C,SAAU,SAAAj4C,GACRuwC,EAAO2H,cAAcl4C,EAAEjJ,OAAO6R,UAEhC6F,MAAO,CACLyjC,OAAQ,WAEVtpC,QAAS2nC,EAAO4H,UAChBC,MAAO,2BAILN,EAAsC,SAACx3C,EAAAA,GAAAA,IAASwnB,EAAAA,EAAAA,SAAAA,MAAe,CACnExnB,EACA,CACE23C,SAAU,SAAAj4C,GACR8nB,EAAS2vB,sBAAsBz3C,EAAEjJ,OAAO6R,UAE1C6F,MAAO,CACLyjC,OAAQ,WAEVtpC,SAAUkf,EAASuwB,mBAAqBvwB,EAAShtB,MAAMk9C,cAActiD,OACrE0iD,MAAO,4BACPE,eACGxwB,EAASuwB,kBAAoBvwB,EAAShtB,MAAMk9C,cAActiD,UAIjE,SAASqiD,EAAQj9C,EAAOw8B,EAAQihB,EAAezwB,GAAAA,GACzCwP,EAAO79B,OAASq0C,EAAQl2C,KAAAA,OAAAA,EAAAA,CAExBogD,cAAe,IACZl9C,GAAAA,GAIHw8B,EAAO79B,OAASq0C,EAAQwJ,mBAAAA,OAAAA,EAAAA,GAErBx8C,EAAAA,CACHk9C,cAAelwB,EAAS0wB,aAAaR,eAAiB,QAItD1gB,EAAO79B,OAASq0C,EAAQyJ,iBAAkB,KAMtCS,QAAAA,IAJG1gB,EAAO5/B,MACV4/B,EAAO5/B,OACNoD,EAAMk9C,cAAczwC,SAAS+vB,EAAOmhB,WAAAA,GAAAA,OAGnC39C,EAAMk9C,cAAAA,CAAe1gB,EAAOmhB,WAChC39C,EAAMk9C,cAActD,QAAO,YAAAhxC,OAAKA,IAAM4zB,EAAOmhB,YAAAA,OAAAA,EAAAA,GAG5C39C,EAAAA,CACHk9C,cAAAA,IAAAA,OAIA1gB,EAAO79B,OAASq0C,EAAQ0J,iBAAAA,EAAAA,GAErB18C,EAAAA,CACHk9C,cAAelI,EAAiBxY,EAAO5/B,MAAOoD,EAAMk9C,iBAIpD1gB,EAAO79B,OAASq0C,EAAQ2J,qBAAAA,EAAAA,GAOrB38C,EAAAA,CACHk9C,oBAAAA,IANO1gB,EAAO5/B,MACV4/B,EAAO5/B,OACNoD,EAAMk9C,cAActiD,QAIEoyB,EAAS2qB,WAAWzB,KAAI,YAAAttC,OAAKA,EAAE+U,MAAM,YAKtE,SAASi+B,EAA4B5uB,GAAAA,IAEjCkrB,EAEElrB,EAFFkrB,QACSgF,EACPlwB,EADFhtB,MAASk9C,cAGU/J,EAAM1T,QAAAA,GAET9nB,QAAAA,IAsBd6iC,EAA0B,EAE9BtC,EAAQ1uC,SACN,YAAAo0C,OAAcpD,GAtBK,SAAfqD,EAAgBpI,EAAQqI,GAC5BrI,EAAO4H,UAAYS,IAAkBZ,EAAczwC,SAASgpC,EAAO93B,IAAAA,IAE/D68B,EAA0B,SAE1B/E,EAAOyC,SAAWzC,EAAOyC,QAAQt9C,OACnC66C,EAAOyC,QAAQ1uC,SACb,YAAAu0C,OACGvD,GAA2BqD,EAAaE,EAAWtI,EAAO4H,cAG/D7C,EAA0B/E,EAAO4H,UAAY,EAAI,EAGnD5H,EAAO+E,wBAA0BA,EAE1BA,EAhBY,CAsBmCoD,GAAAA,MAI1D,SAAS/B,EAAY7uB,GAAAA,IAEjB1b,EAOE0b,EAPF1b,QACA0sC,EAMEhxB,EANFgxB,YACAphB,EAKE5P,EALF4P,SACA+a,EAIE3qB,EAJF2qB,WACAsG,EAGEjxB,EAHFixB,SACSf,EAEPlwB,EAFFhtB,MAASk9C,cAAAA,EAEPlwB,EADFkxB,uBAAAA,OAAAA,IAAAA,GAAAA,EAGIC,EAAcjJ,EAAaloB,GAE3BuwB,EAAmB5F,EAAW/8C,SAAWsiD,EAActiD,OAEvD6hD,EAAmBtJ,EAAMlU,aAC7B,SAAC0e,EAAU/gD,GAAAA,OACTggC,EAAS,CAAEj+B,KAAMq0C,EAAQyJ,iBAAkBkB,SAAAA,EAAU/gD,MAAAA,MACvD,CAACggC,IAGG8f,EAAmBvJ,EAAMlU,aAC7B,YAAAriC,OAASggC,EAAS,CAAEj+B,KAAMq0C,EAAQ0J,iBAAkB9/C,MAAAA,MACpD,CAACggC,IAGG+f,EAAuBxJ,EAAMlU,aACjC,YAAAriC,OAASggC,EAAS,CAAEj+B,KAAMq0C,EAAQ2J,qBAAsB//C,MAAAA,MACxD,CAACggC,IAGGmgB,EAA+BlJ,EACnCoK,IAAWlB,6BACX,CAAE/vB,SAAUmxB,MAGdH,EAAYx0C,SAAQ,YAClBisC,EAAO2H,aAAe,YACpBxgB,EAAS,CACPj+B,KAAMq0C,EAAQyJ,iBACdkB,SAAUlI,EAAO93B,GACjB/gB,MAAAA,KAIJ64C,EAAOoH,qBAAuBhJ,EAC5BoK,IAAWpB,qBACX,CACE7vB,SAAUmxB,IACV1I,OAAAA,OAAAA,IAKA2I,EAA4BlJ,EAAagJ,GAE/C7I,GAAuB,WACjB+I,KACFxhB,EAAS,CAAEj+B,KAAMq0C,EAAQwJ,uBAE1B,CAAC5f,EAAUtrB,IAEdjW,OAAOwQ,OAAOmhB,EAAU,CACtBuwB,iBAAAA,EACAd,iBAAAA,EACAC,iBAAAA,EACAC,qBAAAA,EACAI,6BAAAA,IC7LJ,IAAMsB,GAAsB,GACtBC,GAAwB,GACxBC,GAAiB,SAACv+C,EAAOw8B,EAAQgiB,GAAAA,OAAcx+C,GAC/Cy+C,GAAoB,SAAChI,EAAKn0C,GAAAA,OAAUm0C,EAAIiD,SAAW,IACnDgF,GAAkB,SAACjI,EAAKn0C,EAAO0zC,GAAAA,MAAAA,IAChCA,EAAS,CAACA,EAAOr4B,GAAIrb,GAAO7G,KAAK,KAAO6G,IACvCq8C,GAA4B,YAAA/1C,OAAKA,GAEvC,SAASg2C,GAAcp5C,GAAAA,IAAAA,EASjBA,EAPFk4C,aAAAA,OAAAA,IAAAA,EAAeW,GAAAA,EAAAA,EAOb74C,EANF4tC,cAAAA,OAAAA,IAAAA,EAAgBkL,GAAAA,EAAAA,EAMd94C,EALFq5C,WAAAA,OAAAA,IAAAA,EAAaJ,GAAAA,EAAAA,EAKXj5C,EAJFs5C,SAAAA,OAAAA,IAAAA,EAAWJ,GAAAA,EAAAA,EAITl5C,EAHFu5C,aAAAA,OAAAA,IAAAA,EAAeR,GAAAA,EAAAA,EAGb/4C,EAFF01C,mBAAAA,OAAAA,IAAAA,EAAqByD,GAAAA,EAAAA,OAAAA,EAAAA,GAAAA,EAEnBn5C,EAAAA,CAAAA,eAAAA,gBAAAA,aAAAA,WAAAA,eAAAA,uBAAAA,CAIFk4C,aAAAA,EACAtK,cAAAA,EACAyL,WAAAA,EACAC,SAAAA,EACAC,aAAAA,EACA7D,mBAAAA,IAmZJ,SAAS8D,GAAsB9G,EAASptB,QAAAA,IAAAA,IAAAA,EAAO,OACzCm0B,EAAmB,EACnBC,EAAgB,EAChBC,EAAmB,EACnBC,EAAoB,SAExBlH,EAAQ1uC,SAAQ,YAAA61C,IACCC,EAAeD,EAAxBnH,QAAAA,GAENmH,EAAOE,UAAYz0B,EAEfw0B,GAAcA,EAAW1kD,OAAQ,OAM/BokD,GAAsBM,EAAYx0B,GAJpC00B,EAAAA,EAAAA,GACAC,EAAAA,EAAAA,GACAC,EAAAA,EAAAA,GACAC,EAAAA,EAAAA,GAEFN,EAAOG,cAAgBA,EACvBH,EAAOI,WAAaA,EACpBJ,EAAOK,cAAgBA,EACvBL,EAAOM,eAAiBA,OAExBN,EAAOG,cAAgBH,EAAO/L,SAC9B+L,EAAOI,WAAalmC,KAAKyQ,IACvBzQ,KAAKqmC,IAAIP,EAAO/L,SAAU+L,EAAOp7B,OACjCo7B,EAAO9L,UAET8L,EAAOK,cAAgBL,EAAO9L,SAC9B8L,EAAOM,eAAiBN,EAAOQ,UAAYR,EAAOI,WAAa,EAE7DJ,EAAOhC,YACTvyB,GAAQu0B,EAAOI,WACfR,GAAoBI,EAAOG,cAC3BN,GAAiBG,EAAOI,WACxBN,GAAoBE,EAAOK,cAC3BN,GAAqBC,EAAOM,mBAIzB,CAACV,EAAkBC,EAAeC,EAAkBC,GAG7D,SAASU,GAAAA,GAAAA,IACP19B,EAAAA,EAAAA,KACA42B,EAAAA,EAAAA,KACA+G,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,SACAvK,EAAAA,EAAAA,OACAqJ,EAAAA,EAAAA,SACAD,EAAAA,EAAAA,WACAoB,EAAAA,EAAAA,iBACA9B,EAAAA,EAAAA,YAmFA/7B,EAAK5Y,SAAQ,SAAC02C,EAAaC,GAAAA,OA9ET,SAAZC,EAAaF,EAAaC,EAAUlK,EAAWD,EAAQqK,QAAAA,IAAnBpK,IAAAA,EAAQ,OAE1CuD,EAAW0G,EAEXviC,EAAKmhC,EAASoB,EAAaC,EAAUnK,GAEvCS,EAAMuJ,EAASriC,GAAAA,GAGd84B,EAsCMA,EAAIiD,SAIbjD,EAAI6J,gBAAgB92C,SAAQ,SAACZ,EAAGlO,GAAAA,OAAM0lD,EAAUx3C,EAAGlO,EAAGu7C,EAAQ,EAAGQ,WAAAA,IAzCjEA,EAAM,CACJ94B,GAAAA,EACA67B,SAAAA,EACAl3C,MAAO69C,EACPlK,MAAAA,EACAsK,MAAO,CAAC,MAKNA,MAAMrK,IAAM+D,EAChBxD,EAAI8J,MAAM3G,OAASK,EACnBxD,EAAI8J,MAAM/2C,QAAUywC,EACpBxD,EAAI8J,MAAM,GAAGjE,aAAerC,EAG5BxD,EAAI+J,OAAS,GAGbH,EAAWtlD,KAAK07C,GAEhBsJ,EAAShlD,KAAK07C,GAEduJ,EAASriC,GAAM84B,EAGfA,EAAI6J,gBAAkBzB,EAAWqB,EAAaC,GAG1C1J,EAAI6J,gBAAiB,KACjB5G,EAAU,GAChBjD,EAAI6J,gBAAgB92C,SAAQ,SAACZ,EAAGlO,GAAAA,OAC9B0lD,EAAUx3C,EAAGlO,EAAGu7C,EAAQ,EAAGQ,EAAKiD,MAGlCjD,EAAIiD,QAAUA,EAUdjE,EAAOa,WACTG,EAAI+J,OAAO/K,EAAO93B,IAAM83B,EAAOa,SAC7B4J,EACAC,EACA1J,EACA4J,EACAj+B,IAKJq0B,EAAI+J,OAAO/K,EAAO93B,IAAMw2B,EACtB8L,EACAxJ,EAAI+J,OAAO/K,EAAO93B,IAClB,CACE84B,IAAAA,EACAhB,OAAAA,EACAzoB,SAAUmxB,MAxEE,CA+EN+B,EAAaC,EAAU,SAAcnH,MClkBnDhG,EAAQyN,cAAgB,gBACxBzN,EAAQ0N,kBAAoB,oBAC5B1N,EAAQ2N,sBAAwB,4BAEnBC,GAAc,YACzB9M,EAAM+M,8BAAgC,CAACC,IACvChN,EAAMiN,0BAA4B,CAACC,IACnClN,EAAMmH,cAAclgD,KAAKkiD,IACzBnJ,EAAM+H,YAAY9gD,KAAK8gD,IACvB/H,EAAMgI,WAAW/gD,KAAK+gD,KAGxB8E,GAAYjM,WAAa,cAEzB,IAAMmM,GAAuC,SAACt7C,EAAAA,GAAAA,IAASwnB,EAAAA,EAAAA,SAAAA,MAAe,CACpExnB,EACA,CACEu/B,QAAS,SAAA7/B,GACP8nB,EAAS2zB,yBAEXhtC,MAAO,CACLyjC,OAAQ,WAEVkG,MAAO,8BAIL0D,GAAmC,SAACx7C,EAAAA,GAAAA,IAASixC,EAAAA,EAAAA,IAAAA,MAAU,CAC3DjxC,EACA,CACEu/B,QAAS,WACP0R,EAAIiK,qBAEN/sC,MAAO,CACLyjC,OAAQ,WAEVkG,MAAO,yBAKX,SAASL,GAAQj9C,EAAOw8B,EAAQihB,EAAezwB,GAAAA,GACzCwP,EAAO79B,OAASq0C,EAAQl2C,KAAAA,OAAAA,EAAAA,CAExBo8C,SAAU,IACPl5C,GAAAA,GAIHw8B,EAAO79B,OAASq0C,EAAQyN,cAAAA,OAAAA,EAAAA,GAErBzgD,EAAAA,CACHk5C,SAAUlsB,EAAS0wB,aAAaxE,UAAY,QAI5C1c,EAAO79B,OAASq0C,EAAQ2N,sBAAuB,KACzC/jD,EAAU4/B,EAAV5/B,MACAojD,EAAahzB,EAAbgzB,SAEFiB,EACJ5lD,OAAOsH,KAAKq9C,GAAUplD,SAAWS,OAAOsH,KAAK3C,EAAMk5C,UAAUt+C,OAAAA,QAAAA,IAEtCgC,EAAwBA,GAASqkD,EAE3C,KACP/H,EAAW,UAEjB79C,OAAOsH,KAAKq9C,GAAUx2C,SAAQ,YAC5B0vC,EAASgI,IAAAA,KAASlqB,EAAAA,GAIfh3B,EAAAA,CACHk5C,SAAAA,IAAAA,OAAAA,EAAAA,GAKCl5C,EAAAA,CACHk5C,SAAU,QAIV1c,EAAO79B,OAASq0C,EAAQ0N,kBAAmB,OACrC/iC,EAA2B6e,EAA3B7e,GAAWwjC,EAAgB3kB,EAAvB5/B,MACNwkD,EAASphD,EAAMk5C,SAASv7B,GAExB0jC,OAAAA,IACGF,EAA8BA,GAAeC,EAAAA,IAEjDA,GAAUC,EAAAA,OAAAA,EAAAA,GAERrhD,EAAAA,CACHk5C,SAAU,EAAVA,GACKl5C,EAAMk5C,UAAAA,EAAAA,GAAAA,EACRv7B,IAAAA,EAAK9U,MAGL,GAAIu4C,IAAWC,EAAa,OACJrhD,EAAMk5C,SAA1Bv7B,OAA0Bu7B,EAA1Bv7B,GAAAA,EAAAA,GAEJ3d,EAAAA,CACHk5C,SAAU,EAAVA,EAAAA,CAHOv7B,GAAAA,IAAAA,MAAAA,OAMF3d,GAKb,SAAS67C,GAAY7uB,GAAAA,IAEjB5K,EAWE4K,EAXF5K,KACA42B,EAUEhsB,EAVFgsB,KACAgH,EASEhzB,EATFgzB,SAAAA,EASEhzB,EARFisB,kBAAAA,OAAAA,IAAAA,EAAoB,WAAAv+C,EAAA4mD,EAQlBt0B,EAPFu0B,qBAAAA,OAAAA,IAAAA,GAAAA,EAAAA,EAOEv0B,EANFmsB,cAAAA,OAAAA,IAAAA,GAAAA,EAAAA,EAMEnsB,EALFw0B,kBAAAA,OAAAA,IAAAA,GAAAA,EACAvD,EAIEjxB,EAJFixB,SACAxJ,EAGEznB,EAHFynB,QACSyE,EAEPlsB,EAFFhtB,MAASk5C,SACTtc,EACE5P,EADF4P,SAGF4X,EACEC,EACA,CAAC,YAAa,aAAc,kBAAmB,mBAC/C,mBAGIgN,EAAuBvM,EAAasM,GAEtCP,EAAoBS,QACtBrmD,OAAOsH,KAAKq9C,GAAUplD,QAAUS,OAAOsH,KAAKu2C,GAAUt+C,QAGpDqmD,GACE5lD,OAAOsH,KAAKq9C,GAAU3H,MAAK,YAAA16B,OAAOu7B,EAASv7B,QAC7CsjC,GAAAA,GAKJ5L,GAAuB,WACjBoM,KACF7kB,EAAS,CAAEj+B,KAAMq0C,EAAQyN,kBAE1B,CAAC7jB,EAAUxa,IAAAA,IAERs+B,EAAoBvN,EAAMlU,aAC9B,SAACthB,EAAI/gB,GACHggC,EAAS,CAAEj+B,KAAMq0C,EAAQ0N,kBAAmB/iC,GAAAA,EAAI/gB,MAAAA,MAElD,CAACggC,IAGG+jB,EAAwBxN,EAAMlU,aAClC,YAAAriC,OAASggC,EAAS,CAAEj+B,KAAMq0C,EAAQ2N,sBAAuB/jD,MAAAA,MACzD,CAACggC,IAGGwc,EAAejG,EAAM5T,SAAQ,kBAC7BgiB,EACKxI,EAAWC,EAAM,CAAEC,kBAAAA,EAAmBC,SAAAA,EAAUC,cAAAA,IAGlDH,IACN,CAACuI,EAAsBvI,EAAMC,EAAmBC,EAAUC,IAEvDwI,EAAgBxO,EAAM5T,SAAQ,kBAmCtC,SAA2B2Z,GAAAA,IACrB0I,EAAW,SAEfvmD,OAAOsH,KAAKu2C,GAAU1vC,SAAQ,YAAAmU,IACtBkkC,EAAUlkC,EAAGpU,MAAM,KACzBq4C,EAAWroC,KAAKqmC,IAAIgC,EAAUC,EAAQjnD,WAGjCgnD,EART,CAnC8D1I,KAAW,CACrEA,IAGIiF,EAAcjJ,EAAaloB,GAE3B6zB,EAAgChN,EACpCoK,IAAW4C,8BACX,CAAE7zB,SAAUmxB,MAGd9iD,OAAOwQ,OAAOmhB,EAAU,CACtB80B,gBAAiB9I,EACjBI,aAAAA,EACAJ,KAAMI,EACNuI,cAAAA,EACAV,kBAAAA,EACAP,kBAAAA,EACAC,sBAAAA,EACAE,8BAAAA,IAIJ,SAAS/E,GAAWrF,EAAAA,GAAAA,IAAmBwH,EAAAA,EAAZjxB,SAAYixB,SAAYjxB,EAAAA,EAAAA,SACjDypB,EAAIiK,kBAAoB,YAAAv/C,OAAO6rB,EAAS0zB,kBAAkBjK,EAAI94B,GAAIxc,IAElEs1C,EAAIsK,0BAA4BlN,EAC9BoK,IAAW8C,0BACX,CACE/zB,SAAAA,EACAypB,IAAAA,IAAAA,ICtNO5vB,GAAO,SAACmyB,EAAM+I,EAAKC,GAAAA,OACvBhJ,EAAKY,QAAO,YAAAnD,OACVsL,EAAI1J,MAAK,YAAA16B,IACRskC,EAAWxL,EAAI+J,OAAO7iC,GAAAA,OACrBne,OAAOyiD,GACXx4C,cACAgD,SAASjN,OAAOwiD,GAAav4C,sBAMtCod,GAAKmzB,WAAa,YAAApD,OAAQA,GAEnB,IAAMsL,GAAY,SAAClJ,EAAM+I,EAAKC,GAAAA,OAC5BhJ,EAAKY,QAAO,YAAAnD,OACVsL,EAAI1J,MAAK,YAAA16B,IACRskC,EAAWxL,EAAI+J,OAAO7iC,GAAAA,YAAAA,IACrBskC,GACHziD,OAAOyiD,GAAUx4C,gBAAkBjK,OAAOwiD,GAAav4C,qBAMjEy4C,GAAUlI,WAAa,YAAApD,OAAQA,GAExB,IAAMuL,GAAgB,SAACnJ,EAAM+I,EAAKC,GAAAA,OAChChJ,EAAKY,QAAO,YAAAnD,OACVsL,EAAI1J,MAAK,YAAA16B,IACRskC,EAAWxL,EAAI+J,OAAO7iC,GAAAA,YAAAA,IACrBskC,GACHziD,OAAOyiD,KAAcziD,OAAOwiD,UAMtCG,GAAcnI,WAAa,YAAApD,OAAQA,GAE5B,IAAMnqC,GAAW,SAACusC,EAAM+I,EAAKC,GAAAA,OAC3BhJ,EAAKY,QAAO,YAAAnD,OACVsL,EAAI1J,MAAK,YAAA16B,OACG84B,EAAI+J,OAAO7iC,GACZlR,SAASu1C,UAK/Bv1C,GAASutC,WAAa,YAAApD,OAAQA,IAAQA,EAAIh8C,QAEnC,IAAMwnD,GAAc,SAACpJ,EAAM+I,EAAKC,GAAAA,OAC9BhJ,EAAKY,QAAO,YAAAnD,OACVsL,EAAI1J,MAAK,YAAA16B,IACRskC,EAAWxL,EAAI+J,OAAO7iC,GAAAA,OAE1BskC,GACAA,EAASrnD,QACTonD,EAAYK,OAAM,YAAAzL,OAAOqL,EAASx1C,SAASmqC,aAMnDwL,GAAYpI,WAAa,YAAApD,OAAQA,IAAQA,EAAIh8C,QAEtC,IAAM0nD,GAAe,SAACtJ,EAAM+I,EAAKC,GAAAA,OAC/BhJ,EAAKY,QAAO,YAAAnD,OACVsL,EAAI1J,MAAK,YAAA16B,IACRskC,EAAWxL,EAAI+J,OAAO7iC,GAAAA,OAE1BskC,GACAA,EAASrnD,QACTonD,EAAY3J,MAAK,YAAAzB,OAAOqL,EAASx1C,SAASmqC,aAMlD0L,GAAatI,WAAa,YAAApD,OAAQA,IAAQA,EAAIh8C,QAEvC,IAAM2nD,GAAgB,SAACvJ,EAAM+I,EAAKC,GAAAA,OAChChJ,EAAKY,QAAO,YAAAnD,OACVsL,EAAI1J,MAAK,YAAA16B,IACRskC,EAAWxL,EAAI+J,OAAO7iC,GAAAA,OACrBqkC,EAAYv1C,SAASw1C,UAKlCM,GAAcvI,WAAa,YAAApD,OAAQA,IAAQA,EAAIh8C,QAExC,IAAMuM,GAAQ,SAAC6xC,EAAM+I,EAAKC,GAAAA,OACxBhJ,EAAKY,QAAO,YAAAnD,OACVsL,EAAI1J,MAAK,YAAA16B,OACG84B,EAAI+J,OAAO7iC,KACRqkC,SAK1B76C,GAAM6yC,WAAa,YAAApD,YAAAA,IAAcA,GAE1B,IAAM4L,GAAS,SAACxJ,EAAM+I,EAAKC,GAAAA,OACzBhJ,EAAKY,QAAO,YAAAnD,OACVsL,EAAI1J,MAAK,YAAA16B,OACG84B,EAAI+J,OAAO7iC,IAETqkC,SAKzBQ,GAAOxI,WAAa,YAAApD,OAAc,MAAPA,GAEpB,IAAM6L,GAAU,SAACzJ,EAAM+I,EAAKC,GAAAA,IAAAA,EAChBA,GAAe,GAA3Bh4B,EAAAA,EAAAA,GAAK41B,EAAAA,EAAAA,GAAAA,IAEV51B,EAAqB,iBAARA,EAAmBA,GAAAA,MAChC41B,EAAqB,iBAARA,EAAmBA,EAAM9W,KAEvB,KACP4Z,EAAO14B,EACbA,EAAM41B,EACNA,EAAM8C,EAAAA,OAGD1J,EAAKY,QAAO,YAAAnD,OACVsL,EAAI1J,MAAK,YAAA16B,IACRskC,EAAWxL,EAAI+J,OAAO7iC,GAAAA,OACrBskC,GAAYj4B,GAAOi4B,GAAYrC,SAK5C6C,GAAQzI,WAAa,YAAApD,OAClBA,GAA0B,iBAAXA,EAAI,IAAqC,iBAAXA,EAAI,0BAAA+L,UAAAA,KAAA97B,KAAAA,GAAAq7B,UAAAA,GAAAC,cAAAA,GAAA11C,SAAAA,GAAA21C,YAAAA,GAAAE,aAAAA,GAAAC,cAAAA,GAAAp7C,MAAAA,GAAAq7C,OAAAA,GAAAC,QAAAA,KCtHpDzP,EAAQ4P,aAAe,eACvB5P,EAAQ6P,UAAY,YACpB7P,EAAQ8P,cAAgB,oBAEXC,GAAa,YACxBjP,EAAMmH,cAAclgD,KAAKkiD,IACzBnJ,EAAM+H,YAAY9gD,KAAK8gD,KAKzB,SAASoB,GAAQj9C,EAAOw8B,EAAQihB,EAAezwB,GAAAA,GACzCwP,EAAO79B,OAASq0C,EAAQl2C,KAAAA,OAAAA,EAAAA,CAExBkmD,QAAS,IACNhjD,GAAAA,GAIHw8B,EAAO79B,OAASq0C,EAAQ4P,aAAAA,OAAAA,EAAAA,GAErB5iD,EAAAA,CACHgjD,QAASh2B,EAAS0wB,aAAasF,SAAW,QAI1CxmB,EAAO79B,OAASq0C,EAAQ6P,UAAW,KAC7BlF,EAA0BnhB,EAA1BmhB,SAAUqE,EAAgBxlB,EAAhBwlB,YACVrK,EAA6C3qB,EAA7C2qB,WAAyBkC,EAAoB7sB,EAAjC8sB,YAEdrE,EAASkC,EAAWsL,MAAK,YAAAr6C,OAAKA,EAAE+U,KAAOggC,KAAAA,IAExClI,EAAAA,MACG,IAAIl2C,MAAAA,iDACyCo+C,GAAAA,IAI/CuF,EAAevJ,EACnBlE,EAAOmE,OACPC,GAAmB,GACnBC,IAGIqJ,EAAiBnjD,EAAMgjD,QAAQC,MAAK,YAAAr6C,OAAKA,EAAE+U,KAAOggC,KAElDyF,EAAYpO,EAChBgN,EACAmB,GAAkBA,EAAevmD,OAAAA,OAI/Bm9C,EAAuBmJ,EAAalJ,WAAYoJ,EAAW3N,GAAAA,EAAAA,GAExDz1C,EAAAA,CACHgjD,QAAShjD,EAAMgjD,QAAQpJ,QAAO,YAAAhxC,OAAKA,EAAE+U,KAAOggC,OAAAA,EAAAA,GAMzC39C,EAFHmjD,EAAAA,CAGAH,QAAShjD,EAAMgjD,QAAQ9M,KAAI,YAAAttC,OACrBA,EAAE+U,KAAOggC,EACJ,CAAEhgC,GAAIggC,EAAU/gD,MAAOwmD,GAEzBx6C,MAAAA,CAOXo6C,QAAS,GAATA,OAAahjD,EAAMgjD,QAAAA,CAAS,CAAErlC,GAAIggC,EAAU/gD,MAAOwmD,OAAAA,GAInD5mB,EAAO79B,OAASq0C,EAAQ8P,cAAe,KACjCE,EAAYxmB,EAAZwmB,QACArL,EAA6C3qB,EAA7C2qB,WAAyBkC,EAAoB7sB,EAAjC8sB,YAAAA,OAAAA,EAAAA,GAGf95C,EAAAA,CAEHgjD,QAAShO,EAAiBgO,EAAShjD,EAAMgjD,SAASpJ,QAAO,YAAAA,IACjDnE,EAASkC,EAAWsL,MAAK,YAAAr6C,OAAKA,EAAE+U,KAAOi8B,EAAOj8B,MAAAA,OAQlDo8B,EAPmBJ,EACnBlE,EAAOmE,OACPC,GAAmB,GACnBC,IAIoCE,WAAYJ,EAAOh9C,MAAO64C,SAUxE,SAASoG,GAAY7uB,GAAAA,IAEjB5K,EAYE4K,EAZF5K,KACA42B,EAWEhsB,EAXFgsB,KACA+G,EAUE/yB,EAVF+yB,SACAC,EASEhzB,EATFgzB,SACArI,EAQE3qB,EARF2qB,WACakC,EAOX7sB,EAPF8sB,YACAuJ,EAMEr2B,EANFq2B,cAAAA,EAMEr2B,EALFs2B,iBAAAA,OAAAA,IAAAA,GAAAA,EACAC,EAIEv2B,EAJFu2B,eACSP,EAGPh2B,EAHFhtB,MAASgjD,QACTpmB,EAEE5P,EAFF4P,SAAAA,EAEE5P,EADFw2B,iBAAAA,OAAAA,IAAAA,GAAAA,EAGIX,EAAY1P,EAAMlU,aACtB,SAAC0e,EAAUqE,GACTplB,EAAS,CAAEj+B,KAAMq0C,EAAQ6P,UAAWlF,SAAAA,EAAUqE,YAAAA,MAEhD,CAACplB,IAGGkmB,EAAgB3P,EAAMlU,aAC1B,YACErC,EAAS,CACPj+B,KAAMq0C,EAAQ8P,cACdE,QAAAA,MAGJ,CAACpmB,IAGH+a,EAAWnuC,SAAQ,YAAAisC,IAEf93B,EAIE83B,EAJF93B,GACA24B,EAGEb,EAHFa,SACkBmN,EAEhBhO,EAFF6N,iBACgBI,EACdjO,EADF8N,eAIF9N,EAAOkO,UAAYrN,EACfqC,GAAAA,IACE+K,QAAAA,GAAwCzlD,IACxCslD,QAAAA,GAAkCtlD,GAGpC06C,EAAgB8K,EAAwBH,GAAAA,GAG5C7N,EAAOoN,UAAY,YAAAjM,OAAOiM,EAAUpN,EAAO93B,GAAIi5B,IAAAA,IAIzCgN,EAAQZ,EAAQC,MAAK,YAAAr6C,OAAKA,EAAE+U,KAAOA,KACzC83B,EAAOuM,YAAc4B,GAASA,EAAMhnD,SAAAA,IAAAA,EAOlCu2C,EAAM5T,SAAQ,cACZ8jB,IAAkBL,EAAQpoD,OAAAA,MACrB,CAACo+C,EAAM+G,EAAUC,GAAAA,IAGpB6D,EAAmB,GACnBC,EAAmB,SAiElB,CA9DY,SAAbC,EAAc/K,EAAM/C,QAAAA,IAAAA,IAAAA,EAAQ,OAC5B+N,EAAehL,EAAAA,OAEnBgL,EAAehB,EAAQrP,QACrB,SAACsQ,EAAAA,GAAAA,IAAqBtG,EAAAA,EAAJhgC,GAAqBqkC,EAAAA,EAAPplD,MAExB64C,EAASkC,EAAWsL,MAAK,YAAAr6C,OAAKA,EAAE+U,KAAOggC,KAAAA,IAExClI,EAAAA,OACIwO,EAGK,IAAVhO,IACFR,EAAOyO,gBAAkBD,GAAAA,IAGrBf,EAAevJ,EACnBlE,EAAOmE,OACPC,GAAmB,GACnBC,IAAAA,OAGGoJ,GASLzN,EAAOuO,aAAed,EACpBe,EACA,CAACtG,GACDqE,GAGKvM,EAAOuO,eAdZtkD,QAAQC,KAAAA,kEAC4D81C,EAAO93B,GAAAA,KAEpEsmC,KAaXjL,IAOWxvC,SAAQ,YACnBq6C,EAAiB9oD,KAAK07C,GACtBqN,EAAiBrN,EAAI94B,IAAM84B,EACtBA,EAAIiD,UAITjD,EAAIiD,QACFjD,EAAIiD,SAAWjD,EAAIiD,QAAQ9+C,OAAS,EAChCmpD,EAAWtN,EAAIiD,QAASzD,EAAQ,GAChCQ,EAAIiD,YAGLsK,EA3DU,CA8DAhL,GAAO6K,EAAkBC,KAC3C,CACDT,EACAL,EACAhK,EACA+G,EACAC,EACArI,EACAkC,IAlFAmK,EAAAA,EAAAA,GACAH,EAAAA,EAAAA,GACAC,EAAAA,EAAAA,GAmFF3Q,EAAM5T,SAAQ,WAGeoY,EAAWiC,QACpC,YAAAnE,OAAWuN,EAAQC,MAAK,YAAAr6C,OAAKA,EAAE+U,KAAO83B,EAAO93B,SAK5BnU,SAAQ,YACzBisC,EAAOyO,gBAAkBF,EACzBvO,EAAOuO,aAAeA,OAEvB,CAACA,EAAchB,EAASrL,IAAAA,IAErBwM,EAAsBjP,EAAasO,GAEzCnO,GAAuB,WACjB8O,KACFvnB,EAAS,CAAEj+B,KAAMq0C,EAAQ4P,iBAE1B,CAAChmB,EAAUymB,EAAgB,KAAOjhC,IAErC/mB,OAAOwQ,OAAOmhB,EAAU,CACtBk3B,gBAAiBlL,EACjBoL,oBAAqBrE,EACrBsE,oBAAqBrE,EACrBgE,aAAAA,EACAH,iBAAAA,EACAC,iBAAAA,EACA9K,KAAMgL,EACNjE,SAAU8D,EACV7D,SAAU8D,EACVjB,UAAAA,EACAC,cAAAA,IAjRJC,GAAWpO,WAAa,aCTxB3B,EAAQsR,kBAAoB,oBAC5BtR,EAAQuR,gBAAkB,sBAEbC,GAAkB,YAC7B1Q,EAAMmH,cAAclgD,KAAKkiD,IACzBnJ,EAAM+H,YAAY9gD,KAAK8gD,KAKzB,SAASoB,GAAQj9C,EAAOw8B,EAAQihB,EAAezwB,GAAAA,GACzCwP,EAAO79B,OAASq0C,EAAQsR,kBAAAA,OAAAA,EAAAA,GAErBtkD,EAAAA,CACHykD,aAAcz3B,EAAS0wB,aAAa+G,mBAAAA,IAAgBxmD,GAIpDu+B,EAAO79B,OAASq0C,EAAQuR,gBAAiB,KACnCvC,EAAgBxlB,EAAhBwlB,YACAnI,EAAoB7sB,EAApB6sB,gBAEFqJ,EAAevJ,EACnB3sB,EAASy3B,aACT5K,GAAmB,GACnBC,IAGIsJ,EAAYpO,EAAiBgN,EAAahiD,EAAMykD,cAAAA,OAGlD1K,EAAuBmJ,EAAalJ,WAAYoJ,IACIpjD,EAA9CykD,aAAAA,EAA8CzkD,EAAAA,CAAAA,kBAAAA,EAAAA,GAKnDA,EAAAA,CACHykD,aAAcrB,KAKpB,SAASvH,GAAY7uB,GAAAA,IAEjB5K,EAYE4K,EAZF5K,KACA42B,EAWEhsB,EAXFgsB,KACA+G,EAUE/yB,EAVF+yB,SACAC,EASEhzB,EATFgzB,SACArI,EAQE3qB,EARF2qB,WACakC,EAOX7sB,EAPF8sB,YACA2K,EAMEz3B,EANFy3B,aACAC,EAKE13B,EALF03B,mBACuBC,EAIrB33B,EAJFhtB,MAASykD,aACT7nB,EAGE5P,EAHF4P,SAAAA,EAGE5P,EAFF43B,sBAAAA,OAAAA,IAAAA,GAAAA,EACAC,EACE73B,EADF63B,oBAGIN,EAAkBpR,EAAMlU,aAC5B,YACErC,EAAS,CAAEj+B,KAAMq0C,EAAQuR,gBAAiBvC,YAAAA,MAE5C,CAACplB,IAAAA,EAYCuW,EAAM5T,SAAQ,cACZmlB,QAAAA,IAA6BC,EAAAA,MACxB,CAAC3L,EAAM+G,EAAUC,GAAAA,IAGpB6D,EAAmB,GACnBC,EAAmB,GAEnBZ,EAAevJ,EACnB8K,EACA5K,GAAmB,GACnBC,IAAAA,IAGGoJ,EAAAA,OACHxjD,QAAQC,KAAAA,iDACDq5C,EAGTrB,EAAWnuC,SAAQ,YAAAisC,IACYqP,EAA8BrP,EAAnDoP,oBAERpP,EAAOkO,UAAYhL,GAAAA,IACjBmM,QAAAA,GAA6C7mD,IAC7C4mD,QAAAA,GAAuC5mD,MACvC,IAIE8mD,EAAoBpN,EAAWiC,QAAO,YAAAjyC,OAAAA,IAAKA,EAAEg8C,aAAAA,MAuB5C,CApBY,SAAbI,EAAa,GAAAC,OACjBA,EAAed,EACbc,EACAe,EAAkB7O,KAAI,YAAAttC,OAAKA,EAAE+U,MAC7BgnC,IAGWn7C,SAAQ,YACnBq6C,EAAiB9oD,KAAK07C,GACtBqN,EAAiBrN,EAAI94B,IAAM84B,EAE3BA,EAAIiD,QACFjD,EAAIiD,SAAWjD,EAAIiD,QAAQ9+C,OACvBmpD,EAAWtN,EAAIiD,SACfjD,EAAIiD,WAGLsK,EAjBU,CAoBAhL,GAAO6K,EAAkBC,KAC3C,CACDY,EACAC,EACAF,EACA5K,EACAlC,EACAqB,EACA+G,EACAC,EACA6E,IAjEAG,EAAAA,EAAAA,GACAC,EAAAA,EAAAA,GACAC,EAAAA,EAAAA,GAkEIC,EAA2BjQ,EAAa0P,GAE9CvP,GAAuB,WACjB8P,KACFvoB,EAAS,CAAEj+B,KAAMq0C,EAAQsR,sBAE1B,CAAC1nB,EAAU8nB,EAAqB,KAAOtiC,IAE1C/mB,OAAOwQ,OAAOmhB,EAAU,CACtBo4B,sBAAuBpM,EACvBqM,0BAA2BtF,EAC3BuF,0BAA2BtF,EAC3BgF,mBAAAA,EACAC,uBAAAA,EACAC,uBAAAA,EACAlM,KAAMgM,EACNjF,SAAUkF,EACVjF,SAAUkF,EACVX,gBAAAA,EACAM,oBAAAA,ICjLG,SAASU,GAAI/E,EAAQgF,GAAAA,OAGnBA,EAAiB7R,QACtB,SAAC4R,EAAKlwB,GAAAA,OAASkwB,GAAuB,iBAATlwB,EAAoBA,EAAO,KACxD,GDqBJmvB,GAAgB7P,WAAa,wCAAAgO,UAAAA,KAAA4C,IAAAA,GAAAv7B,ICjBtB,SAAaw2B,GAAAA,IACdx2B,EAAMw2B,EAAO,IAAM,SAEvBA,EAAOh3C,SAAQ,YACQ,iBAAV5M,IACTotB,EAAMzQ,KAAKyQ,IAAIA,EAAKptB,OAIjBotB,GAAAA,IAGF,SAAaw2B,GAAAA,IACdZ,EAAMY,EAAO,IAAM,SAEvBA,EAAOh3C,SAAQ,YACQ,iBAAV5M,IACTgjD,EAAMrmC,KAAKqmC,IAAIA,EAAKhjD,OAIjBgjD,GAAAA,OAGF,SAAgBY,GAAAA,IACjBx2B,EAAMw2B,EAAO,IAAM,EACnBZ,EAAMY,EAAO,IAAM,SAEvBA,EAAOh3C,SAAQ,YACQ,iBAAV5M,IACTotB,EAAMzQ,KAAKyQ,IAAIA,EAAKptB,GACpBgjD,EAAMrmC,KAAKqmC,IAAIA,EAAKhjD,OAIdotB,EAAAA,KAAQ41B,GAAAA,QAGb,SAAiBY,GAAAA,OACf+E,GAAI,EAAM/E,GAAUA,EAAO5lD,QAAAA,OAG7B,SAAgB4lD,GAAAA,IAChBA,EAAO5lD,OAAAA,OACH,SAGH6qD,EAAMlsC,KAAKmsC,MAAMlF,EAAO5lD,OAAS,GACjC+qD,EAAO,UAAInF,GAAQoF,MAAK,SAACn+C,EAAGC,GAAAA,OAAMD,EAAIC,KAAAA,OACrC84C,EAAO5lD,OAAS,GAAM,EAAI+qD,EAAKF,IAAQE,EAAKF,EAAM,GAAKE,EAAKF,IAAQ,GAAAI,OAGtE,SAAgBrF,GAAAA,OACdxlD,MAAM8qD,KAAK,IAAIh+C,IAAI04C,GAAQA,WAAAA,YAG7B,SAAqBA,GAAAA,OACnB,IAAI14C,IAAI04C,GAAQvb,MAAAA,MAGlB,SAAeub,GAAAA,OACbA,EAAO5lD,UCxDVmrD,GAAa,GACbC,GAAc,GAGpBhT,EAAQiT,aAAe,eACvBjT,EAAQkT,WAAa,aACrBlT,EAAQmT,cAAgB,oBAEXC,GAAa,YACxBtS,EAAMuS,sBAAwB,CAACC,IAC/BxS,EAAMmH,cAAclgD,KAAKkiD,IACzBnJ,EAAM4H,mBAAmB3gD,MAAK,SAAC8iC,EAAAA,GAAAA,IAAQ7Q,EAAAA,EAAAA,SAAAA,MAAAA,GAAAA,OAClC6Q,EAAAA,CACH7Q,EAAShtB,MAAMumD,aAEjBzS,EAAM2H,eAAe1gD,KAAK0gD,IAC1B3H,EAAM+H,YAAY9gD,KAAK8gD,IACvB/H,EAAMgI,WAAW/gD,KAAK+gD,KAGxBsK,GAAWzR,WAAa,aAExB,IAAM2R,GAA+B,SAAC9gD,EAAAA,GAAAA,IAAS65C,EAAAA,EAAAA,OAAAA,MAAa,CAC1D75C,EACA,CACEu/B,QAASsa,EAAOmH,WACZ,SAAAthD,GACEA,EAAEga,UACFmgC,EAAO8G,sBAAAA,EAGbxyC,MAAO,CACLyjC,OAAQiI,EAAOmH,WAAa,kBAE9BlJ,MAAO,oBAKX,SAASL,GAAQj9C,EAAOw8B,EAAQihB,EAAezwB,GAAAA,GACzCwP,EAAO79B,OAASq0C,EAAQl2C,KAAAA,OAAAA,EAAAA,CAExBypD,QAAS,IACNvmD,GAAAA,GAIHw8B,EAAO79B,OAASq0C,EAAQiT,aAAAA,OAAAA,EAAAA,GAErBjmD,EAAAA,CACHumD,QAASv5B,EAAS0wB,aAAa6I,SAAW,QAI1C/pB,EAAO79B,OAASq0C,EAAQkT,WAAAA,OAAAA,EAAAA,GAGrBlmD,EAAAA,CACHumD,QAHgB/pB,EAAV5/B,QAAAA,GAON4/B,EAAO79B,OAASq0C,EAAQmT,cAAe,KACjCxI,EAAgCnhB,EAAhCmhB,SAAiBuI,EAAe1pB,EAAtB5/B,MAEZ6pD,OAAAA,IACGP,EACHA,GACClmD,EAAMumD,QAAQ95C,SAASkxC,GAAAA,OAAAA,EAAAA,GAIvB39C,EAFHymD,EAAAA,CAGAF,QAAS,GAATA,OAAavmD,EAAMumD,QAAAA,CAAS5I,KAAAA,CAM9B4I,QAASvmD,EAAMumD,QAAQ3M,QAAO,YAAAhxC,OAAKA,IAAM+0C,QAK/C,SAASlC,GACPnqC,EAAAA,GAAAA,IAGai1C,EAAAA,EADXv5B,SACEhtB,MAASumD,QAOPG,EAAiBH,EACpBrQ,KAAI,YAAAptC,OAAKwI,EAAQ2xC,MAAK,YAAA5uC,OAAOA,EAAIsJ,KAAO7U,QACxC8wC,OAAO8H,SAEJiF,EAAoBr1C,EAAQsoC,QAAO,YAAAvlC,OAAQkyC,EAAQ95C,SAAS4H,EAAIsJ,OAAAA,OAEtErM,EAAAA,GAAAA,OAAco1C,EAAmBC,IAEzBn9C,SAAQ,YACdisC,EAAOmR,UAAYL,EAAQ95C,SAASgpC,EAAO93B,IAC3C83B,EAAOoR,aAAeN,EAAQ3yC,QAAQ6hC,EAAO93B,OAGxCrM,EAGT,IAAMw1C,GAA0B,GAEhC,SAASjL,GAAY7uB,GAAAA,IAEjB5K,EAgBE4K,EAhBF5K,KACA42B,EAeEhsB,EAfFgsB,KACA+G,EAcE/yB,EAdF+yB,SACAC,EAaEhzB,EAbFgzB,SACArI,EAYE3qB,EAZF2qB,WACAqG,EAWEhxB,EAXFgxB,YAAAA,EAWEhxB,EAVF+5B,UAAAA,OAAAA,IAAAA,EAAYC,GAAAA,EACZC,EASEj6B,EATFi6B,cAAAA,EASEj6B,EARFk6B,aAAcC,OAAAA,IAAAA,EAAmBL,GAAAA,EACjCrS,EAOEznB,EAPFynB,QACS8R,EAMPv5B,EANFhtB,MAASumD,QACT3pB,EAKE5P,EALF4P,SAAAA,EAKE5P,EAJFo6B,iBAAAA,OAAAA,IAAAA,GAAAA,EACAC,EAGEr6B,EAHFq6B,eACAC,EAEEt6B,EAFFs6B,kBACArJ,EACEjxB,EADFixB,SAGFzJ,EAAkBC,EAAS,CAAC,iBAAkB,cAAe,kBAEvD0J,EAAcjJ,EAAaloB,GAEjC2qB,EAAWnuC,SAAQ,YAAAisC,IAEfa,EAGEb,EAHFa,SACgBiR,EAEd9R,EAFF+R,eACgBC,EACdhS,EADF4R,eAGF5R,EAAO+Q,WAAalQ,EAChBqC,EACElD,EAAO+Q,YAAAA,IACPiB,QAAAA,GAAwCxpD,IACxCopD,QAAAA,GAAkCppD,GAGpC06C,EACElD,EAAO+Q,WACPe,EACAD,GAAAA,GAIF7R,EAAO+Q,aACT/Q,EAAO0Q,cAAgB,kBAAMn5B,EAASm5B,cAAc1Q,EAAO93B,MAG7D83B,EAAOiS,WAAajS,EAAOiS,YAAcjS,EAAOpC,QAAAA,IAG5C8S,EAAgBhT,EAAMlU,aAC1B,SAAC0e,EAAU/gD,GACTggC,EAAS,CAAEj+B,KAAMq0C,EAAQmT,cAAexI,SAAAA,EAAU/gD,MAAAA,MAEpD,CAACggC,IAGGspB,EAAa/S,EAAMlU,aACvB,YACErC,EAAS,CAAEj+B,KAAMq0C,EAAQkT,WAAYtpD,MAAAA,MAEvC,CAACggC,IAGHohB,EAAYx0C,SAAQ,YAClB61C,EAAOgH,sBAAwBxS,EAC7BoK,IAAWoI,sBACX,CAAEr5B,SAAUmxB,IAAekB,OAAAA,OAAAA,IAAAA,EAY3BlM,EAAM5T,SAAQ,cACZ0nB,IAAkBV,EAAQ3rD,OAAAA,MACrB,CACLo+C,EACA+G,EACAC,EACA+F,GACAC,GACAjG,EACAC,GAAAA,IAKE2H,EAAkBpB,EAAQ3M,QAAO,YAAA9wC,OACrC6uC,EAAWsL,MAAK,YAAA5uC,OAAOA,EAAIsJ,KAAO7U,QAiEhC8+C,EAAkB,GAChBC,EAAkB,GAClBC,EAAsB,GACtBC,EAAsB,GACtBC,EAAqB,GACrBC,EAAqB,GA6DrBC,EA1DqB,SAArBC,EAAsBnP,EAAM/C,EAAWmS,GAAAA,QAAAA,IAAXnS,IAAAA,EAAQ,GAEpCA,IAAU0R,EAAgB/sD,OAAAA,OACrBo+C,EAAK9C,KAAI,SAACO,GAAAA,OAAAA,EAAAA,GAAcA,EAAAA,CAAKR,MAAAA,OAAAA,IAGhC0H,EAAWgK,EAAgB1R,GAG7BoS,EAAetB,EAAU/N,EAAM2E,GAAAA,OAGLtiD,OAAOi2C,QAAQ+W,GAAcnS,KACzD,WAA4B5zC,GAAAA,IAA1BgmD,EAAAA,EAAAA,GAAYJ,EAAAA,EAAAA,GACRvqC,EAAQggC,EAAAA,IAAY2K,EAIlB5O,EAAUyO,EAAmBD,EAAajS,EAAQ,EAHxDt4B,EAAKyqC,EAAcA,EAAAA,IAAYzqC,EAAOA,GAMhC4qC,EAAWtS,EACbI,EAAU6R,EAAa,YACvBA,EAEE1H,EA7FkB,SAAC+H,EAAUL,EAAajS,GAAAA,IAC9CuK,EAAS,UAEf7I,EAAWnuC,SAAQ,YAAAisC,GAEbkS,EAAgBl7C,SAASgpC,EAAO93B,IAClC6iC,EAAO/K,EAAO93B,IAAMuqC,EAAY,GAC5BA,EAAY,GAAG1H,OAAO/K,EAAO93B,IAC7B,cAKF6qC,EAC0B,mBAArB/S,EAAOgT,UACVhT,EAAOgT,UACPtB,EAAiB1R,EAAOgT,YACxBvB,GAAazR,EAAOgT,WAAAA,GAEtBD,EAAa,KAETE,EAAgBR,EAAYhS,KAAI,YAAAO,OAAOA,EAAI+J,OAAO/K,EAAO93B,OAGzDgrC,EAAaJ,EAASrS,KAAI,YAAAO,IAC1BmS,EAAcnS,EAAI+J,OAAO/K,EAAO93B,IAAAA,IAE/Bs4B,GAASR,EAAOoT,eAAgB,KAC7BC,EAC6B,mBAA1BrT,EAAOoT,eACVpT,EAAOoT,eACP1B,EAAiB1R,EAAOoT,iBACxB3B,GAAazR,EAAOoT,gBAAAA,IAErBC,EAAAA,MACHppD,QAAQi2C,KAAK,CAAEF,OAAAA,IACT,IAAIl2C,MAAAA,6EAKZqpD,EAAcE,EAAiBF,EAAanS,EAAKhB,GAAAA,OAE5CmT,KAGTpI,EAAO/K,EAAO93B,IAAM6qC,EAAYG,EAAYD,OACvC,IAAIjT,EAAOgT,UAAAA,MAChB/oD,QAAQi2C,KAAK,CAAEF,OAAAA,IACT,IAAIl2C,MAAAA,wEAIVihD,EAAO/K,EAAO93B,IAAM,UAIjB6iC,EAzDqB,CA6Fa+H,EAAUL,EAAajS,GAEtDQ,EAAM,CACV94B,GAAAA,EACAipC,WAAW,EACXmC,UAAWpL,EACX2K,WAAAA,EACA9H,OAAAA,EACA9G,QAAAA,EACA6O,SAAAA,EACAtS,MAAAA,EACA3zC,MAAAA,GAAAA,OAGFo3C,EAAQlwC,SAAQ,YACdo+C,EAAgB7sD,KAAKiuD,GACrBnB,EAAgBmB,EAAOrrC,IAAMqrC,EACzBA,EAAOpC,WACTkB,EAAoB/sD,KAAKiuD,GACzBjB,EAAoBiB,EAAOrrC,IAAMqrC,IAEjChB,EAAmBjtD,KAAKiuD,GACxBf,EAAmBe,EAAOrrC,IAAMqrC,MAI7BvS,KAnDc,CA0DYuC,GAAAA,OAEvCkP,EAAY1+C,SAAQ,YAClBo+C,EAAgB7sD,KAAKiuD,GACrBnB,EAAgBmB,EAAOrrC,IAAMqrC,EACzBA,EAAOpC,WACTkB,EAAoB/sD,KAAKiuD,GACzBjB,EAAoBiB,EAAOrrC,IAAMqrC,IAEjChB,EAAmBjtD,KAAKiuD,GACxBf,EAAmBe,EAAOrrC,IAAMqrC,MAK7B,CACLd,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,KAED,CACDhB,EACAV,EACAvN,EACA+G,EACAC,EACArI,EACAwP,EACAJ,IAzLAmB,EAAAA,EAAAA,GACAN,EAAAA,EAAAA,GACAC,EAAAA,EAAAA,GACAC,EAAAA,EAAAA,GACAC,EAAAA,EAAAA,GACAC,EAAAA,EAAAA,GACAC,EAAAA,EAAAA,GAsLIgB,EAAsB/T,EAAakS,GAEzC/R,GAAuB,WACjB4T,KACFrsB,EAAS,CAAEj+B,KAAMq0C,EAAQiT,iBAE1B,CAACrpB,EAAUqqB,EAAgB,KAAO7kC,IAErC/mB,OAAOwQ,OAAOmhB,EAAU,CACtBk8B,eAAgBlQ,EAChBmQ,kBAAmBpJ,EACnBqJ,mBAAoBpJ,EACpBkI,YAAAA,EACAN,gBAAAA,EACAC,gBAAAA,EACAC,oBAAAA,EACAC,oBAAAA,EACAC,mBAAAA,EACAC,mBAAAA,EACAjP,KAAMkP,EACNnI,SAAU6H,EACV5H,SAAU6H,EACV1B,cAAAA,EACAD,WAAAA,IAIJ,SAASpK,GAAWrF,GAClBA,EAAI4S,SAAS7/C,SAAQ,YAAAsxC,IAAAA,EAEnBA,EAAK8L,UAAY9L,EAAKrF,OAAOmR,WAAa9L,EAAKrF,OAAO93B,KAAO84B,EAAIsS,UAEjEjO,EAAKwO,eAAiBxO,EAAK8L,WAAa9L,EAAKrF,OAAOmR,UAEpD9L,EAAKyO,cACFzO,EAAK8L,YAAc9L,EAAKwO,gBAAAA,OAAAA,EAAiB7S,EAAIiD,cAAAA,EAAJ8P,EAAa5uD,WAItD,SAASosD,GAAiBhO,EAAM2E,GAAAA,OAC9B3E,EAAKrF,QAAO,SAACK,EAAMyC,EAAK/7C,GAAAA,IAGvB+uD,EAAAA,GAAYhT,EAAI+J,OAAO7C,GAAAA,OAC7B3J,EAAKyV,GAAUzuD,MAAMC,QAAQ+4C,EAAKyV,IAAWzV,EAAKyV,GAAU,GAC5DzV,EAAKyV,GAAQ1uD,KAAK07C,GACXzC,IACN,ICpbL,IAAM0V,GAAsB,aAmH5B,SAASC,GAAaliD,EAAGC,GAAAA,OAChBD,IAAMC,EAAI,EAAID,EAAIC,EAAI,GAAK,EAGpC,SAASkiD,GAAuBC,EAAMC,EAAMnM,GAAAA,MACnC,CAACkM,EAAKrJ,OAAO7C,GAAWmM,EAAKtJ,OAAO7C,IAG7C,SAASviD,GAASqM,GAAAA,MACC,iBAANA,EACL9K,MAAM8K,IAAMA,IAAMqhC,KAAYrhC,KAAAA,IACzB,GAEFjI,OAAOiI,GAEC,iBAANA,EACFA,EAEF,yBAAAk7C,UAAAA,KAAAoH,aAhImB,SAACC,EAAMC,EAAMtM,GAAAA,IAAAA,EAC1BiM,GAAuBI,EAAMC,EAAMtM,GAA3Cl2C,EAAAA,EAAAA,GAAGC,EAAAA,EAAAA,GAAAA,IAGRD,EAAIrM,GAASqM,GACbC,EAAItM,GAASsM,GAIbD,EAAIA,EAAE8B,MAAMmgD,IAAqB9P,OAAO8H,SACxCh6C,EAAIA,EAAE6B,MAAMmgD,IAAqB9P,OAAO8H,SAGjCj6C,EAAE7M,QAAU8M,EAAE9M,QAAQ,KACvB0M,EAAKG,EAAEpF,QACPsM,EAAKjH,EAAErF,QAEL6nD,EAAKC,SAAS7iD,EAAI,IAClB8iD,EAAKD,SAASx7C,EAAI,IAElB07C,EAAQ,CAACH,EAAIE,GAAIxE,OAAAA,GAGnBjpD,MAAM0tD,EAAM,QACV/iD,EAAKqH,EAAAA,OACA,KAELA,EAAKrH,EAAAA,OACC,UAMR3K,MAAM0tD,EAAM,WACP1tD,MAAMutD,IAAO,EAAI,KAItBA,EAAKE,EAAAA,OACA,KAELA,EAAKF,EAAAA,OACC,UAILziD,EAAE7M,OAAS8M,EAAE9M,QAAAA,SAEf,SAAkBovD,EAAMC,EAAMtM,GAAAA,IAAAA,EACtBiM,GAAuBI,EAAMC,EAAMtM,GAA3Cl2C,EAAAA,EAAAA,GAAGC,EAAAA,EAAAA,GAAAA,OAKDiiD,GAHPliD,EAAIA,EAAE6iD,UACN5iD,EAAIA,EAAE4iD,YAAAA,MAKD,SAAeN,EAAMC,EAAMtM,GAAAA,IAAAA,EACnBiM,GAAuBI,EAAMC,EAAMtM,GAAAA,OAEzCgM,GAAAA,EAAAA,GAAAA,EAAAA,KAAAA,OAGF,SAAgBK,EAAMC,EAAMtM,GAAAA,IAAAA,EACpBiM,GAAuBI,EAAMC,EAAMtM,GAA3Cl2C,EAAAA,EAAAA,GAAGC,EAAAA,EAAAA,GAAAA,IAERD,EAAIA,EAAE8B,MAAM,IAAIqwC,OAAO8H,SACvBh6C,EAAIA,EAAE6B,MAAM,IAAIqwC,OAAO8H,SAEhBj6C,EAAE7M,QAAU8M,EAAE9M,QAAQ,KACvB0M,EAAKG,EAAEpF,QACPsM,EAAKjH,EAAErF,QAEPkoD,EAASjjD,EAAGmC,cACZ+gD,EAAS77C,EAAGlF,cAAAA,GAGZ8gD,EAASC,EAAAA,OACJ,KAELA,EAASD,EAAAA,OACH,KAGNjjD,EAAKqH,EAAAA,OACA,KAELA,EAAKrH,EAAAA,OACC,SAKLG,EAAE7M,OAAS8M,EAAE9M,QAAAA,OAGf,SAAgBovD,EAAMC,EAAMtM,GAAAA,IAAAA,EACpBiM,GAAuBI,EAAMC,EAAMtM,GAA3Cl2C,EAAAA,EAAAA,GAAGC,EAAAA,EAAAA,GAEF+iD,EAAoB,mBAKnBd,GAHPliD,EAAI/K,OAAO8C,OAAOiI,GAAG4C,QAAQogD,EAAmB,KAChD/iD,EAAIhL,OAAO8C,OAAOkI,GAAG2C,QAAQogD,EAAmB,SC5FlDzX,EAAQ0X,YAAc,cACtB1X,EAAQ2X,UAAY,YACpB3X,EAAQ4X,aAAe,eACvB5X,EAAQ6X,YAAc,cAEtBzX,EAAc0X,SAAW,eACzB1X,EAAc2X,eAAAA,EAAgB,IAEjBC,GAAY,YACvBlX,EAAMmX,qBAAuB,CAACC,IAC9BpX,EAAMmH,cAAclgD,KAAKkiD,IACzBnJ,EAAM+H,YAAY9gD,KAAK8gD,KAGzBmP,GAAUrW,WAAa,YAEvB,IAAMuW,GAA8B,SAAC1lD,EAAAA,GAAAA,IAASwnB,EAAAA,EAAAA,SAAUyoB,EAAAA,EAAAA,OAAAA,EACPzoB,EAAvCm+B,iBAAAA,OAAAA,IAAAA,EAAmB,SAAAjmD,GAAAA,OAAKA,EAAE0b,UAAAA,EAAAA,MAE3B,CACLpb,EACA,CACEu/B,QAAS0Q,EAAO2V,QACZ,SAAAlmD,GACEA,EAAEga,UACFu2B,EAAOmV,kBAAAA,GAEJ59B,EAASq+B,kBAAoBF,EAAiBjmD,UAAAA,EAIvDyO,MAAO,CACLyjC,OAAQ3B,EAAO2V,QAAU,kBAE3B9N,MAAO7H,EAAO2V,QAAU,0BAM9B,SAASnO,GAAQj9C,EAAOw8B,EAAQihB,EAAezwB,GAAAA,GACzCwP,EAAO79B,OAASq0C,EAAQl2C,KAAAA,OAAAA,EAAAA,CAExBwuD,OAAQ,IACLtrD,GAAAA,GAIHw8B,EAAO79B,OAASq0C,EAAQ0X,YAAAA,OAAAA,EAAAA,GAErB1qD,EAAAA,CACHsrD,OAAQt+B,EAAS0wB,aAAa4N,QAAU,QAIxC9uB,EAAO79B,OAASq0C,EAAQ6X,YAAAA,OAAAA,EAAAA,GAKrB7qD,EAAAA,CACHsrD,OALiBtrD,EAAXsrD,OACiB1R,QAAO,YAAAhxC,OAAKA,EAAE+U,KAAO6e,EAAOmhB,cAAAA,GAQnDnhB,EAAO79B,OAASq0C,EAAQ2X,UAAAA,OAAAA,EAAAA,GAGrB3qD,EAAAA,CACHsrD,OAHiB9uB,EAAX8uB,SAAAA,GAON9uB,EAAO79B,OAASq0C,EAAQ4X,aAAc,KAyBpCW,EAxBI5N,EAA0BnhB,EAA1BmhB,SAAU6N,EAAgBhvB,EAAhBgvB,KAAMC,EAAUjvB,EAAVivB,MAGtB9T,EAKE3qB,EALF2qB,WACA0T,EAIEr+B,EAJFq+B,iBACAK,EAGE1+B,EAHF0+B,kBACAC,EAEE3+B,EAFF2+B,mBAAAA,EAEE3+B,EADF4+B,qBAAAA,OAAAA,IAAAA,EAAuBlvD,OAAO82C,iBAAAA,EAGxB8X,EAAWtrD,EAAXsrD,OAIAP,EADOpT,EAAWsL,MAAK,YAAAr6C,OAAKA,EAAE+U,KAAOggC,KACrCoN,cAGFc,EAAiBP,EAAOrI,MAAK,YAAAr6C,OAAKA,EAAE+U,KAAOggC,KAC3CmO,EAAgBR,EAAOzW,WAAU,YAAAjsC,OAAKA,EAAE+U,KAAOggC,KAC/CoO,EAAiB,MAAOP,EAE1BQ,EAAY,SAwBC,YAjBbT,GAFCF,GAAoBI,EACnBI,EACW,SAEA,MAIXC,IAAkBR,EAAO1wD,OAAS,GAAuB,IAAlB0wD,EAAO1wD,OACnC,UACJixD,EACI,SAEA,YAOdH,GACAK,GACAN,GAASE,KACRE,GACAA,EAAeL,OACdT,IACCc,EAAeL,MAAQT,KAE3BQ,EAAa,UAGI,YAAfA,EACFS,EAAY,CACV,CACEruC,GAAIggC,EACJ6N,KAAMO,EAAiBP,EAAOT,IAGV,QAAfQ,GACTS,EAAAA,GAAAA,OACKV,EAAAA,CACH,CACE3tC,GAAIggC,EACJ6N,KAAMO,EAAiBP,EAAOT,MAIxBrd,OAAO,EAAGse,EAAUpxD,OAASgxD,GACf,WAAfL,EAETS,EAAYV,EAAOpV,KAAI,YAAAttC,OACjBA,EAAE+U,KAAOggC,EAAAA,EAAAA,GAEN/0C,EAAAA,CACH4iD,KAAMO,EAAiBP,GAAQK,EAAeL,OAG3C5iD,KAEe,WAAf2iD,IACTS,EAAYV,EAAO1R,QAAO,YAAAhxC,OAAKA,EAAE+U,KAAOggC,MAAAA,EAAAA,GAIrC39C,EAAAA,CACHsrD,OAAQU,KAKd,SAASnQ,GAAY7uB,GAAAA,IAEjB5K,EAeE4K,EAfF5K,KACA42B,EAcEhsB,EAdFgsB,KACA+G,EAaE/yB,EAbF+yB,SACApI,EAYE3qB,EAZF2qB,WAAAA,EAYE3qB,EAXFi/B,UAAAA,OAAAA,IAAAA,EAAYC,GAAAA,EACDC,EAUTn/B,EAVFo/B,UACAC,EASEr/B,EATFq/B,aACAC,EAQEt/B,EARFs/B,eACAC,EAOEv/B,EAPFu/B,cACAvO,EAMEhxB,EANFgxB,YACSsN,EAKPt+B,EALFhtB,MAASsrD,OACT1uB,EAIE5P,EAJF4P,SACA6X,EAGEznB,EAHFynB,QACAwJ,EAEEjxB,EAFFixB,SAAAA,EAEEjxB,EADFw/B,gBAAAA,OAAAA,IAAAA,GAAAA,EAGFhY,EACEC,EACA,CAAC,aAAc,kBAAmB,aAAc,mBAChD,iBAGIkW,EAAYxX,EAAMlU,aACtB,YACErC,EAAS,CAAEj+B,KAAMq0C,EAAQ2X,UAAWW,OAAAA,MAEtC,CAAC1uB,IAIGguB,EAAezX,EAAMlU,aACzB,SAAC0e,EAAU6N,EAAMC,GACf7uB,EAAS,CAAEj+B,KAAMq0C,EAAQ4X,aAAcjN,SAAAA,EAAU6N,KAAAA,EAAMC,MAAAA,MAEzD,CAAC7uB,IAIGuhB,EAAcjJ,EAAaloB,GAGjCgxB,EAAYx0C,SAAQ,YAAAisC,IAEhBa,EAIEb,EAJFa,SACSmW,EAGPhX,EAHF2V,QACesB,EAEbjX,EAFF8W,cACA5uC,EACE83B,EADF93B,GAGIytC,EAAU9U,EACZqC,GAAAA,IACE+T,QAAAA,GAAuCzuD,IACvCsuD,QAAAA,GAAiCtuD,GAGnC06C,EAAgB2T,EAAgBG,GAAAA,GAEpChX,EAAO2V,QAAUA,EAEb3V,EAAO2V,UACT3V,EAAOmV,aAAe,SAACY,EAAMC,GAAAA,OAC3Bb,EAAanV,EAAO93B,GAAI6tC,EAAMC,IAEhChW,EAAOoV,YAAc,WACnBjuB,EAAS,CAAEj+B,KAAMq0C,EAAQ6X,YAAalN,SAAUlI,EAAO93B,OAI3D83B,EAAOwV,qBAAuBpX,EAC5BoK,IAAWgN,qBACX,CACEj+B,SAAUmxB,IACV1I,OAAAA,IAAAA,IAIEkX,EAAarB,EAAOrI,MAAK,YAAAr6C,OAAKA,EAAE+U,KAAOA,KAC7C83B,EAAOmX,WAAaD,EACpBlX,EAAOoX,YAAcvB,EAAOzW,WAAU,YAAAjsC,OAAKA,EAAE+U,KAAOA,KACpD83B,EAAOqX,aAAerX,EAAOmX,SAAWD,EAAWnB,UAAAA,KAAOvtD,IAAAA,EAGvBk1C,EAAM5T,SAAQ,cAC7C8sB,IAAiBf,EAAO1wD,OAAAA,MACnB,CAACo+C,EAAM+G,GAAAA,IAGVgN,EAAiB,GAGjBC,EAAkB1B,EAAO1R,QAAO,YAAAgM,OACpCjO,EAAWsL,MAAK,YAAA5uC,OAAOA,EAAIsJ,KAAOioC,EAAKjoC,SAAAA,MAoElC,CAjEU,SAAXsvC,EAAW,GAAAjU,IAITkU,EAAajB,EACjBjT,EACAgU,EAAgB9W,KAAI,YAAA0P,IAEZnQ,EAASkC,EAAWsL,MAAK,YAAAr6C,OAAKA,EAAE+U,KAAOioC,EAAKjoC,MAAAA,IAE7C83B,EAAAA,MACG,IAAIl2C,MAAAA,iDACyCqmD,EAAKjoC,GAAAA,kBAAAA,IAIlDmtC,EAAarV,EAAbqV,SASFqC,EACJvU,EAAWkS,KACVqB,GAAiB,IAAIrB,IACtBsB,GAAUtB,GAAAA,IAEPqC,EAAAA,MACG,IAAI5tD,MAAAA,oDAC4CurD,EAAAA,iBAAyBlF,EAAKjoC,GAAAA,MAAAA,OAM/E,SAAClW,EAAGC,GAAAA,OAAMylD,EAAW1lD,EAAGC,EAAGk+C,EAAKjoC,GAAIioC,EAAK4F,UAGlDwB,EAAgB9W,KAAI,YAAA0P,IAEZnQ,EAASkC,EAAWsL,MAAK,YAAAr6C,OAAKA,EAAE+U,KAAOioC,EAAKjoC,MAAAA,OAE9C83B,GAAUA,EAAO2X,aACZxH,EAAK4F,MAGN5F,EAAK4F,SAAAA,OAKjB0B,EAAW1jD,SAAQ,YACjBujD,EAAehyD,KAAK07C,GACfA,EAAIiD,SAAkC,IAAvBjD,EAAIiD,QAAQ9+C,SAGhC67C,EAAIiD,QAAUuT,EAASxW,EAAIiD,aAGtBwT,EA9DQ,CAiEAlU,GAAO+T,KACvB,CACDV,EACAf,EACAtS,EACA+G,EACApI,EACAsU,EACAE,IArFKkB,EAAAA,EAAAA,GAAYN,EAAAA,EAAAA,GAwFbO,EAAqBpY,EAAasX,GAExCnX,GAAuB,WACjBiY,KACF1wB,EAAS,CAAEj+B,KAAMq0C,EAAQ0X,gBAE1B,CAAC2B,EAAe,KAAOjqC,IAE1B/mB,OAAOwQ,OAAOmhB,EAAU,CACtBugC,cAAevU,EACfwU,kBAAmBzN,EACnBsN,WAAAA,EACAN,eAAAA,EACA/T,KAAMqU,EACNtN,SAAUgN,EACVpC,UAAAA,EACAC,aAAAA,IAIG,SAASsB,GAAiB5rD,EAAKmtD,EAAOC,GAAAA,MACpC,UAAIptD,GAAKslD,MAAK,SAACoE,EAAMC,GAAAA,IACrB,IAAIvvD,EAAI,EAAGA,EAAI+yD,EAAM7yD,OAAQF,GAAK,EAAG,KAClCizD,EAASF,EAAM/yD,GACf8wD,GAAAA,IAAOkC,EAAKhzD,IAA4B,SAAZgzD,EAAKhzD,GACjCkzD,EAAUD,EAAO3D,EAAMC,GAAAA,GACb,IAAZ2D,EAAAA,OACKpC,GAAQoC,EAAUA,EAAAA,OAGtBF,EAAK,GAAK1D,EAAK1nD,MAAQ2nD,EAAK3nD,MAAQ2nD,EAAK3nD,MAAQ0nD,EAAK1nD,SCpXjE0wC,EAAQ6a,UAAY,YACpB7a,EAAQ8a,SAAW,WACnB9a,EAAQ+a,YAAc,kBAETC,GAAgB,YAC3Bla,EAAMmH,cAAclgD,KAAKkiD,IACzBnJ,EAAM+H,YAAY9gD,KAAK8gD,KAKzB,SAASoB,GAAQj9C,EAAOw8B,EAAQihB,EAAezwB,GAAAA,GACzCwP,EAAO79B,OAASq0C,EAAQl2C,KAAAA,OAAAA,EAAAA,CAExBmxD,SAAU,GACVC,UAAW,GACRluD,GAAAA,GAIHw8B,EAAO79B,OAASq0C,EAAQ6a,UAAAA,OAAAA,EAAAA,GAErB7tD,EAAAA,CACHkuD,UAAWlhC,EAAS0wB,aAAawQ,WAAa,OAI9C1xB,EAAO79B,OAASq0C,EAAQ8a,SAAU,KAC5BK,EAAoBnhC,EAApBmhC,UAAWC,EAASphC,EAATohC,KACbC,EAAerZ,EAAiBxY,EAAO0xB,UAAWluD,EAAMkuD,WAC1DI,GAAAA,EAAc,OAEdD,EAAeruD,EAAMkuD,UAEvBI,GACiB,IAAfH,EACIC,EAAKxzD,QAAUoF,EAAMiuD,SACrBI,EAAeF,EACZE,EAAeruD,EAAMkuD,YAE9BI,EAAcD,GAAgB,GAG3BC,EAAAA,EAAAA,GAKAtuD,EAAAA,CACHkuD,UAAWG,IALJruD,EAAAA,GASPw8B,EAAO79B,OAASq0C,EAAQ+a,YAAa,KAC/BE,EAAazxB,EAAbyxB,SACFM,EAAcvuD,EAAMiuD,SAAWjuD,EAAMkuD,UAAAA,OAAAA,EAAAA,GAItCluD,EAAAA,CACHkuD,UAJgB30C,KAAKmsC,MAAM6I,EAAcN,GAKzCA,SAAAA,KAKN,SAASpS,GAAY7uB,GAAAA,IAEjBgsB,EAmBEhsB,EAnBFgsB,KAAAA,EAmBEhsB,EAlBFwhC,cAAAA,OAAAA,IAAAA,GAAAA,EAAAA,EAkBExhC,EAjBFisB,kBAAAA,OAAAA,IAAAA,EAAoB,WAAAv+C,EACpB+5C,EAgBEznB,EAhBFynB,QACWga,EAeTzhC,EAfFmhC,UAAAA,EAeEnhC,EAdFu0B,qBAAAA,OAAAA,IAAAA,GAAAA,EAAAA,EAcEv0B,EAbFmsB,cAAAA,OAAAA,IAAAA,GAAAA,EAAAA,EAaEnsB,EAZFhtB,MACEiuD,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,UACAhV,EAAAA,EAAAA,SACAuL,EAAAA,EAAAA,aACAzB,EAAAA,EAAAA,QACAuD,EAAAA,EAAAA,QACA+E,EAAAA,EAAAA,OAEF1uB,EAGE5P,EAHF4P,SACAxa,EAEE4K,EAFF5K,KACAssC,EACE1hC,EADF0hC,iBAGFla,EACEC,EACA,CAAC,kBAAmB,aAAc,aAAc,YAAa,eAC7D,qBAGIka,EAAmBzZ,EAAasZ,GAEtCnZ,GAAuB,WACjBsZ,KACF/xB,EAAS,CAAEj+B,KAAMq0C,EAAQ6a,cAE1B,CACDjxB,EACA8xB,EAAmB,KAAOtsC,EAC1BqiC,EACAzB,EACAuD,EACA+E,IAAAA,IAGI6C,EAAYO,EACdD,EACAl1C,KAAK4uB,KAAK6Q,EAAKp+C,OAASqzD,GAEtBW,EAAczb,EAAM5T,SACxB,kBACE4uB,EAAY,EACR,UAAI,IAAInzD,MAAMmzD,IAAYU,KAAK,MAAM3Y,KAAI,SAACttC,EAAGlO,GAAAA,OAAMA,KACnD,KACN,CAACyzD,IAGGC,EAAOjb,EAAM5T,SAAQ,eACrB6uB,EAAAA,GAEAM,EACFN,EAAOpV,MACF,KACC8V,EAAYb,EAAWC,EACvBa,EAAUD,EAAYb,EAE5BG,EAAOpV,EAAKt7C,MAAMoxD,EAAWC,GAAAA,OAG3BxN,EACK6M,EAGFrV,EAAWqV,EAAM,CAAEnV,kBAAAA,EAAmBC,SAAAA,EAAUC,cAAAA,MACtD,CACDA,EACAD,EACAD,EACAyV,EACAR,EACAD,EACA1M,EACAvI,IAGIgW,EAAkBd,EAAY,EAC9Be,GACW,IAAfd,EAAmBC,EAAKxzD,QAAUqzD,EAAWC,EAAYC,EAAY,EAEjEL,EAAW3a,EAAMlU,aACrB,YACErC,EAAS,CAAEj+B,KAAMq0C,EAAQ8a,SAAUI,UAAAA,MAErC,CAACtxB,IAGGsyB,EAAe/b,EAAMlU,aAAY,kBAC9B6uB,GAAS,YAAA7Y,OAAOA,EAAM,OAC5B,CAAC6Y,IAEEqB,EAAWhc,EAAMlU,aAAY,kBAC1B6uB,GAAS,YAAA7Y,OAAOA,EAAM,OAC5B,CAAC6Y,IAEEC,EAAc5a,EAAMlU,aACxB,YACErC,EAAS,CAAEj+B,KAAMq0C,EAAQ+a,YAAaE,SAAAA,MAExC,CAACrxB,IAGHvhC,OAAOwQ,OAAOmhB,EAAU,CACtB4hC,YAAAA,EACAT,UAAAA,EACAC,KAAAA,EACAY,gBAAAA,EACAC,YAAAA,EACAnB,SAAAA,EACAoB,aAAAA,EACAC,SAAAA,EACApB,YAAAA,IAhLJC,GAAcrZ,WAZK,gBCDnB3B,EAAQoc,WAAa,aACrBpc,EAAQqc,YAAc,kBAETC,GAA4B,YACvCxb,EAAMyb,oBAAsB,CAACC,IAC7B1b,EAAMmH,cAAclgD,KAAKkiD,IACzBnJ,EAAM0H,qBAAqBzgD,KAAKygD,IAChC1H,EAAM6D,WAAW58C,KAAK48C,IACtB7D,EAAMuH,YAAYtgD,KAAKsgD,IACvBvH,EAAMwH,oBAAoBvgD,KAAKugD,IAC/BxH,EAAMyH,wBAAwBxgD,KAAKwgD,IACnCzH,EAAM2H,eAAe1gD,KAAK0gD,IAC1B3H,EAAM4H,mBAAmB3gD,KAAK2gD,IAC9B5H,EAAM+H,YAAY9gD,KAAK8gD,IACvB/H,EAAMgI,WAAW/gD,KAAK+gD,KAGxBwT,GAA0B3a,WAAa,kBAEvC,IAAM8a,GAAsB,GAEtBD,GAA6B,SAAChqD,EAAAA,GAAAA,IAAS65C,EAAAA,EAAAA,OAAAA,MAAa,CACxD75C,EACA,CACEu/B,QAASsa,EAAOqQ,SACZ,SAAAxqD,GACEA,EAAEga,UACFmgC,EAAOgQ,oBAAAA,EAGb17C,MAAO,CACLyjC,OAAQiI,EAAOqQ,SAAW,kBAE5BpS,MAAO,kBAKX,SAASL,GAAQj9C,EAAOw8B,EAAQihB,EAAezwB,GAAAA,GACzCwP,EAAO79B,OAASq0C,EAAQl2C,KAAAA,OAAAA,EAAAA,CAExB6yD,aAAcF,IACXzvD,GAAAA,GAIHw8B,EAAO79B,OAASq0C,EAAQoc,WAAAA,OAAAA,EAAAA,GAErBpvD,EAAAA,CACH2vD,aAAc3iC,EAAS0wB,aAAaiS,cAAgBF,KAAAA,GAIpDjzB,EAAO79B,OAASq0C,EAAQqc,YAAa,KAC/B1R,EAA8BnhB,EAA9BmhB,SAAiBiS,EAAapzB,EAApB5/B,MAEZizD,OAAAA,IACGD,EACHA,GACC5vD,EAAM2vD,aAAaljD,SAASkxC,GAAAA,OAAAA,EAAAA,GAI5B39C,EAFH6vD,EAAAA,CAGAF,aAAc,GAAdA,OAAkB3vD,EAAM2vD,aAAAA,CAAchS,KAAAA,CAMxCgS,aAAc3vD,EAAM2vD,aAAa/V,QAAO,YAAAhxC,OAAKA,IAAM+0C,QAKzD,SAASnC,GAAqBxuB,GAC5BA,EAAS2qB,WAAWnuC,SAAQ,YAC1BisC,EAAOqa,cAAgB9iC,EAAShtB,MAAM2vD,aAAaljD,SAASgpC,EAAO93B,OAIvE,SAASg6B,GAAWrmC,EAAAA,GAAAA,IAAW0b,EAAAA,EAAAA,SAAAA,OAC7B1b,EAAQ9H,SAAQ,YACdisC,EAAOqa,cAAgB9iC,EAAShtB,MAAM2vD,aAAaljD,SAASgpC,EAAO93B,IACnE83B,EAAOsa,aAAe,IAAIjoD,OAErBwJ,EAGT,SAAS+pC,GAAYz+C,EAAAA,GAAAA,IAAS64C,EAAAA,EAAAA,OAAAA,OACxBA,EAAOsa,mBAAAA,IAAuBnzD,GAChC64C,EAAOsa,aAAa7nD,IAAItL,GAEnBA,EAGT,SAAS0+C,GAAoB0U,EAAAA,GAAAA,IAAgBhjC,EAAAA,EAAAA,SACnC2qB,EAAsB3qB,EAAtB2qB,WAAY33C,EAAUgtB,EAAVhtB,MAAAA,IAEfA,EAAM2vD,aAAa/0D,SAAWoF,EAAMumD,UAAYvmD,EAAMumD,QAAQ3rD,OAAAA,OAC1Do1D,EAAAA,IAGHL,EAAe3vD,EAAM2vD,aACxBzZ,KAAI,YAAAv4B,OAAMg6B,EAAWsL,MAAK,YAAAr6C,OAAKA,EAAE+U,KAAOA,QACxCi8B,OAAO8H,SAEJuO,EAAgBtY,EAAWiC,QAC/B,YAAAhxC,OACGA,EAAEknD,gBACF9vD,EAAMumD,QAAQ95C,SAAS7D,EAAE+U,MACzB3d,EAAM2vD,aAAaljD,SAAS7D,EAAE+U,OAyD7BuyC,EAAkB9Z,EAtDE,SAApB+Z,EAAqBla,EAAWD,EAAQoa,QAAAA,IAAnBna,IAAAA,EAAQ,YAAWma,IAAAA,EAAe,QACrDC,EAAcV,EAAa1Z,GAAAA,OAE5Boa,EAwBgBr1D,MAAM8qD,KAAKuK,EAAYN,cAAcnK,OAEtC1P,KAAI,SAAApoB,GAAAwiC,IAChBC,EAAAA,EAAAA,GACDF,EAAAA,CACH9Z,OACE8Z,EAAYG,aAA6C,iBAAvBH,EAAYhR,OACvCgR,EAAY9Z,OAAAA,KAAW+Z,EAC1BA,EACNG,cAAc,EACdza,OAAAA,EACAC,MAAAA,EACAt4B,GAAIq4B,EACGA,EAAOr4B,GAAAA,IAAM0yC,EAAY1yC,GAAAA,IAAM2yC,EAC/BD,EAAY1yC,GAAAA,IAAM2yC,EACzBI,WAAYJ,IAAAA,OAGdC,EAAYj/C,QAAU6+C,EAAkBla,EAAQ,EAAGsa,EAAAA,GAAAA,OAC9CH,EAAAA,CACH,YAAA3Z,OAAOA,EAAI+J,OAAO6P,EAAY1yC,MAAQ2yC,MAGjCC,KA9CAN,EAAc/Z,KAAI,YAAAya,OAAAA,EAAAA,GAQlBA,EAAAA,CACHjB,UAAU,EACVkB,WAAW,EACX5a,OAAAA,EACAC,MAAOA,EACPt4B,GAAI,IAAGq4B,EAAYA,EAAOr4B,GAAAA,IAAMgzC,EAAahzC,GAAOgzC,EAAahzC,IACjE24B,SAAU,SAAC4J,EAAaxlD,EAAG+7C,GAAAA,GACrB2Z,EAAa/N,OAAM,YAAAzI,OAAUA,EAAOnD,MAAAA,OAC/BA,EAAI+J,OAAOmQ,EAAahzC,UApBjB,IAsDawyC,MAAAA,GAAAA,OAE5BH,EAAiBE,GAG9B,SAAS3U,GACP1d,EAAAA,GAAAA,IAAAA,EAAAA,EAEE7Q,SACEhtB,MAAS2vD,EAAAA,EAAAA,aAAcpJ,EAAAA,EAAAA,QAAAA,MAAAA,GAAAA,OAIhB1oB,EAAAA,CAAM8xB,EAAcpJ,IAGjC,SAAS9K,GAAeA,EAAAA,GAAAA,IAA8Bz7C,EAAAA,EAAZgtB,SAAYhtB,MAAAA,OACpDy7C,EAAiBA,EAAe7B,QAAO,YAAAhxC,OAAMA,EAAEknD,iBAE3C9vD,EAAM2vD,aAAa/0D,QAAUoF,EAAMumD,SAAWvmD,EAAMumD,QAAQ3rD,SAC9D6gD,EAAiBA,EAAe7B,QAC9B,YAAAnE,OAAUA,EAAOmR,WAAanR,EAAOmb,cAIlCnV,EAGT,SAASC,GAAmB7d,EAAAA,GAAAA,IAAQ7Q,EAAAA,EAAAA,SAAAA,MAAAA,GAAAA,OACvB6Q,EAAAA,CAAM7Q,EAAShtB,MAAM2vD,aAAc3iC,EAAShtB,MAAMumD,UAG/D,SAAS1K,GAAY7uB,GAAAA,IAEjB1b,EAYE0b,EAZF1b,QACAqmC,EAWE3qB,EAXF2qB,WACAqG,EAUEhxB,EAVFgxB,YAGAC,EAOEjxB,EAPFixB,SACAxJ,EAMEznB,EANFynB,QACA7X,EAKE5P,EALF4P,SAAAA,EAKE5P,EAJF6jC,eAAAA,OAAAA,IAAAA,GAAAA,EACAC,EAGE9jC,EAHF8jC,YACAC,EAEE/jC,EAFF+jC,aACAC,EACEhkC,EADFgkC,gBAGFxc,EAAkBC,EAAS,CAAC,cAAe,uBAErC0J,EAAcjJ,EAAaloB,GAEjC2qB,EAAWnuC,SAAQ,YAAAisC,IAEfa,EAGEb,EAHFa,SACc2a,EAEZxb,EAFFyb,aACcC,EACZ1b,EADFsb,aAGFtb,EAAOia,SAAWpZ,EACdqC,EACElD,EAAOia,UAAAA,IACPyB,QAAAA,GAAsClzD,IACtC8yD,QAAAA,GAAgC9yD,GAGlC06C,EACElD,EAAOia,SACPuB,EACAD,GAAAA,GAIFvb,EAAOia,WACTja,EAAO4Z,YAAc,kBAAMriC,EAASqiC,YAAY5Z,EAAO93B,MAGzD83B,EAAOiS,WAAajS,EAAOiS,YAAcjS,EAAOpC,QAOlD2K,EAAYx0C,SAAQ,YAClB61C,EAAOkQ,oBAAsB1b,EAC3BoK,IAAWsR,oBACX,CACEviC,SAAUmxB,IACVkB,OAAAA,OAAAA,IAKA+R,EAAoBlc,EAAa2b,GAEvCxb,GAAuB,WACjB+b,KACFx0B,EAAS,CAAEj+B,KAAMq0C,EAAQoc,eAE1B,CAACxyB,EAAUk0B,EAAc,KAAOx/C,IAEnCjW,OAAOwQ,OAAOmhB,EAAU,CACtBqiC,YAvBkB,SAAC1R,EAAU/gD,GAC7BggC,EAAS,CAAEj+B,KAAMq0C,EAAQqc,YAAa1R,SAAAA,EAAU/gD,MAAAA,OA0BpD,SAASk/C,GAAWrF,GAClBA,EAAI4S,SAAS7/C,SAAQ,YAEnBsxC,EAAK8V,UAAY9V,EAAKrF,OAAOmb,aCtRjC5d,EAAQqe,kBAAoB,oBAC5Bre,EAAQse,sBAAwB,wBAChCte,EAAQue,kBAAoB,oBAC5Bve,EAAQwe,0BAA4B,gCAEvBC,GAAe,YAC1B3d,EAAM4d,0BAA4B,CAACC,IACnC7d,EAAM8d,8BAAgC,CAACC,IACvC/d,EAAMge,kCAAoC,CACxCC,IAEFje,EAAMmH,cAAclgD,KAAKkiD,IACzBnJ,EAAM+H,YAAY9gD,KAAK8gD,IACvB/H,EAAMgI,WAAW/gD,KAAK+gD,KAGxB2V,GAAa9c,WAnBM,eAqBnB,IAAMgd,GAAmC,SAACnsD,EAAAA,GAAAA,IAASwnB,EAAAA,EAAAA,SAAUypB,EAAAA,EAAAA,IAAAA,EACXzpB,EAAxCglC,qBAAAA,OAAAA,IAAAA,EAAuB,aAAAh7B,EAAA,MASxB,CACLxxB,EACA,CACE23C,SAAU,SAAAj4C,GACRuxC,EAAI8a,kBAAkBrsD,EAAEjJ,OAAO6R,UAEjC6F,MAAO,CACLyjC,OAAQ,WAEVtpC,WAfA2oC,EAAI+C,WAAY/C,EAAI+C,SAASwY,KAGrBvb,EAAIwb,WAaZ3U,MAAO,sBACPE,cAAe/G,EAAIyb,kBAKnBL,GAAuC,SAACrsD,EAAAA,GAAAA,IAASwnB,EAAAA,EAAAA,SAAAA,MAAe,CACpExnB,EACA,CACE23C,SAAU,SAAAj4C,GACR8nB,EAASskC,sBAAsBpsD,EAAEjJ,OAAO6R,UAE1C6F,MAAO,CACLyjC,OAAQ,WAEVtpC,QAASkf,EAASmlC,kBAClB7U,MAAO,2BACPE,cAAekE,SACZ10B,EAASmlC,mBACR92D,OAAOsH,KAAKqqB,EAAShtB,MAAMoyD,gBAAgBx3D,WAK7Cm3D,GAA2C,SAACvsD,EAAAA,GAAAA,IAASwnB,EAAAA,EAAAA,SAAAA,MAAe,CACxExnB,EACA,CACE23C,SAAAA,SAASj4C,GACP8nB,EAASwkC,0BAA0BtsD,EAAEjJ,OAAO6R,UAE9C6F,MAAO,CACLyjC,OAAQ,WAEVtpC,QAASkf,EAASqlC,sBAClB/U,MAAO,wCACPE,cAAekE,SACZ10B,EAASqlC,uBACRrlC,EAASohC,KAAK/V,MAAK,gBAAG16B,EAAAA,EAAAA,GAAAA,OAASqP,EAAShtB,MAAMoyD,eAAez0C,UAMrE,SAASs/B,GAAQj9C,EAAOw8B,EAAQihB,EAAezwB,GAAAA,GACzCwP,EAAO79B,OAASq0C,EAAQl2C,KAAAA,OAAAA,EAAAA,CAExBs1D,eAAgB,IACbpyD,GAAAA,GAIHw8B,EAAO79B,OAASq0C,EAAQqe,kBAAAA,OAAAA,EAAAA,GAErBrxD,EAAAA,CACHoyD,eAAgBplC,EAAS0wB,aAAa0U,gBAAkB,QAIxD51B,EAAO79B,OAASq0C,EAAQse,sBAAuB,KAClCgB,EAAgB91B,EAAvB5/B,MAENu1D,EAGEnlC,EAHFmlC,kBACAnS,EAEEhzB,EAFFgzB,SAAAA,EAEEhzB,EADFi7B,mBAAAA,OAAAA,IAAAA,EAAqBjI,EAAAA,EAGjBuS,OAAAA,IACGD,EAA8BA,GAAeH,EAIhDC,EAAiB/2D,OAAOwQ,OAAO,GAAI7L,EAAMoyD,gBAAAA,OAE3CG,EACFl3D,OAAOsH,KAAKslD,GAAoBz+C,SAAQ,YACtC4oD,EAAelR,IAAAA,KAGjB7lD,OAAOsH,KAAKslD,GAAoBz+C,SAAQ,mBAC/B4oD,EAAelR,MAAAA,EAAAA,GAKrBlhD,EAAAA,CACHoyD,eAAAA,IAAAA,GAIA51B,EAAO79B,OAASq0C,EAAQue,kBAAmB,KACrC5zC,EAA2B6e,EAA3B7e,GAAW20C,EAAgB91B,EAAvB5/B,MACJojD,EAA+ChzB,EAA/CgzB,SAAAA,EAA+ChzB,EAArCwlC,cAAAA,OAAAA,IAAAA,GAAAA,EAAsB3T,EAAe7xB,EAAf6xB,WAClCoT,EAAajyD,EAAMoyD,eAAez0C,GAClC0jC,OAAAA,IACGiR,EAA8BA,GAAeL,EAAAA,GAElDA,IAAe5Q,EAAAA,OACVrhD,EAAAA,IAGHyyD,EAAAA,EAAAA,GAAyBzyD,EAAMoyD,gBAAAA,OAEf,SAAhBM,EAAgB,GAAA/0C,IACd84B,EAAMuJ,EAASriC,GAAAA,GAEjB84B,IACGA,EAAImQ,YACHvF,EACFoR,EAAkB90C,IAAAA,SAEX80C,EAAkB90C,IAIzB60C,GAAiB3T,EAAWpI,IAAAA,OACvBoI,EAAWpI,GAAKjtC,SAAQ,YAAAitC,OAAOic,EAAcjc,EAAI94B,OAbxC,CAkBRA,GAAAA,EAAAA,GAGT3d,EAAAA,CACHoyD,eAAgBK,IAAAA,GAIhBj2B,EAAO79B,OAASq0C,EAAQwe,0BAA2B,KACtCc,EAAgB91B,EAAvB5/B,MAENwxD,EAKEphC,EALFohC,KACApO,EAIEhzB,EAJFgzB,SAAAA,EAIEhzB,EAHFwlC,cAAAA,OAAAA,IAAAA,GAAAA,EACAH,EAEErlC,EAFFqlC,sBACAxT,EACE7xB,EADF6xB,WAGI0T,OAAAA,IACGD,EAA8BA,GAAeD,EAEhDI,EAAAA,EAAAA,GAAyBzyD,EAAMoyD,gBAAAA,OAkBrChE,EAAK5kD,SAAQ,YAAAitC,OAhBS,SAAhBic,EAAgB,GAAA/0C,IACd84B,EAAMuJ,EAASriC,GAAAA,GAEhB84B,EAAImQ,YACH2L,EACFE,EAAkB90C,IAAAA,SAEX80C,EAAkB90C,IAIzB60C,GAAiB3T,EAAWpI,GAAAA,OACvBoI,EAAWpI,GAAKjtC,SAAQ,YAAAitC,OAAOic,EAAcjc,EAAI94B,OAZtC,CAgBY84B,EAAI94B,OAAAA,EAAAA,GAGjC3d,EAAAA,CACHoyD,eAAgBK,IAAAA,OAGbzyD,EAGT,SAAS67C,GAAY7uB,GAAAA,IAEjB5K,EAYE4K,EAZF5K,KACA42B,EAWEhsB,EAXFgsB,KACAiF,EAUEjxB,EAVFixB,SACAxJ,EASEznB,EATFynB,QACAuL,EAQEhzB,EARFgzB,SAAAA,EAQEhzB,EAPFi7B,mBAAAA,OAAAA,IAAAA,EAAqBjI,EAAAA,EAAAA,EAOnBhzB,EANF2lC,sBAAAA,OAAAA,IAAAA,GAAAA,EACSP,EAKPplC,EALFhtB,MAASoyD,eAAAA,EAKPplC,EAJFwlC,cAAAA,OAAAA,IAAAA,GAAAA,EACA51B,EAGE5P,EAHF4P,SACAwxB,EAEEphC,EAFFohC,KACAvP,EACE7xB,EADF6xB,WAGFrK,EACEC,EACA,CAAC,aAAc,aAAc,YAAa,cAAe,iBACzD,oBAGIme,EAAmBzf,EAAM5T,SAAQ,eAC/BqzB,EAAmB,UAEzB5Z,EAAKxvC,SAAQ,YAAAitC,IACLwb,EAAaO,EAwFzB,SAASK,EAAiBpc,EAAK2b,EAAgBvT,GAAAA,GACzCuT,EAAe3b,EAAI94B,IAAAA,OAAAA,EACd,IAGH+7B,EAAUmF,EAAWpI,GAAAA,GAEvBiD,GAAWA,EAAQ9+C,OAAQ,KACzBk4D,GAAAA,EACAC,GAAAA,EAAe,OAEnBrZ,EAAQlwC,SAAQ,YAEVupD,IAAiBD,IAIjBD,EAAiB7J,EAAQoJ,EAAgBvT,GAC3CkU,GAAAA,EAEAD,GAAAA,QAGGA,KAA6BC,GAAe,cAvBvD,CAvF2Btc,EAAK2b,EAAgBvT,KACpCuT,EAAe3b,EAAI94B,IACzB84B,EAAIwb,aAAeA,EACnBxb,EAAIyb,eAAgC,OAAfD,EAEjBA,GACFW,EAAiB73D,KAAK07C,MAInBmc,IACN,CAAC5Z,EAAMwZ,EAAeJ,EAAgBvT,IAErCsT,EAAoBzQ,QACtBrmD,OAAOsH,KAAKslD,GAAoBrtD,QAAUS,OAAOsH,KAAKyvD,GAAgBx3D,QAGpEy3D,EAAwBF,EAExBA,GACE92D,OAAOsH,KAAKslD,GAAoB5P,MAAK,YAAA16B,OAAOy0C,EAAez0C,QAC7Dw0C,GAAAA,GAICA,GACC/D,GAAQA,EAAKxzD,QAAUwzD,EAAK/V,MAAK,gBAAG16B,EAAAA,EAAAA,GAAAA,OAAUy0C,EAAez0C,QAC/D00C,GAAAA,GAAwB,IAItBW,EAA2B9d,EAAayd,GAE9Ctd,GAAuB,WACjB2d,KACFp2B,EAAS,CAAEj+B,KAAMq0C,EAAQqe,sBAE1B,CAACz0B,EAAUxa,IAAAA,IAERkvC,EAAwBne,EAAMlU,aAClC,YAAAriC,OAASggC,EAAS,CAAEj+B,KAAMq0C,EAAQse,sBAAuB10D,MAAAA,MACzD,CAACggC,IAGG40B,EAA4Bre,EAAMlU,aACtC,YAAAriC,OAASggC,EAAS,CAAEj+B,KAAMq0C,EAAQwe,0BAA2B50D,MAAAA,MAC7D,CAACggC,IAGG20B,EAAoBpe,EAAMlU,aAC9B,SAACthB,EAAI/gB,GAAAA,OAAUggC,EAAS,CAAEj+B,KAAMq0C,EAAQue,kBAAmB5zC,GAAAA,EAAI/gB,MAAAA,MAC/D,CAACggC,IAGGuhB,EAAcjJ,EAAaloB,GAE3B4kC,EAAgC/d,EACpCoK,IAAW2T,8BACX,CAAE5kC,SAAUmxB,MAGR2T,EAAoCje,EACxCoK,IAAW6T,kCACX,CAAE9kC,SAAUmxB,MAGd9iD,OAAOwQ,OAAOmhB,EAAU,CACtB4lC,iBAAAA,EACAT,kBAAAA,EACAE,sBAAAA,EACAd,kBAAAA,EACAD,sBAAAA,EACAM,8BAAAA,EACAE,kCAAAA,EACAN,0BAAAA,IAIJ,SAAS1V,GAAWrF,EAAAA,GAAAA,IAAOzpB,EAAAA,EAAAA,SACzBypB,EAAI8a,kBAAoB,YAAApwD,OAAO6rB,EAASukC,kBAAkB9a,EAAI94B,GAAIxc,IAElEs1C,EAAIib,0BAA4B7d,EAC9B7mB,EAASixB,WAAWyT,0BACpB,CAAE1kC,SAAUA,EAAUypB,IAAAA,ICjU1B,IAAMwc,GAAiC,YAAAxc,MAAQ,IACzCyc,GAAkC,YAAApY,MAAS,IAGjD9H,EAAQmgB,YAAc,cACtBngB,EAAQogB,aAAe,eACvBpgB,EAAQqgB,cAAgB,oBAEXC,GAAc,YACzBxf,EAAMmH,cAAclgD,KAAKkiD,IACzBnJ,EAAM+H,YAAY9gD,KAAK8gD,IACvB/H,EAAMgI,WAAW/gD,KAAK+gD,KAKxB,SAASmB,GAAQj9C,EAAOw8B,EAAQihB,EAAezwB,GAAAA,IAAAA,EAKzCA,EAHFumC,wBAAAA,OAAAA,IAAAA,EAA0BN,GAAAA,EAAAA,EAGxBjmC,EAFFwmC,yBAAAA,OAAAA,IAAAA,EAA2BN,GAAAA,EAC3BlT,EACEhzB,EADFgzB,SAAAA,GAGExjB,EAAO79B,OAASq0C,EAAQl2C,KAAAA,OAAAA,EAAAA,CAExB22D,SAAU,IACPzzD,GAAAA,GAIHw8B,EAAO79B,OAASq0C,EAAQqgB,cAAAA,OAAAA,EAAAA,GAErBrzD,EAAAA,CACHyzD,SAAUzmC,EAAS0wB,aAAa+V,UAAY,QAI5Cj3B,EAAO79B,OAASq0C,EAAQmgB,YAAa,OAC/BjS,EAAiB1kB,EAAjB0kB,MAAOtkD,EAAU4/B,EAAV5/B,MAET82D,OAAAA,IACG1zD,EAAMyzD,SAASvS,GAClBlhD,EAAMyzD,SAASvS,GACfqS,EAAwBvT,EAASkB,IAAAA,OAAAA,EAAAA,GAGlClhD,EAAAA,CACHyzD,SAAU,EAAVA,GACKzzD,EAAMyzD,UAAAA,EAAAA,GAAAA,EACRvS,GAAQlM,EAAiBp4C,EAAO82D,GAAAA,MAAAA,GAKnCl3B,EAAO79B,OAASq0C,EAAQogB,aAAc,eAChClS,EAA2B1kB,EAA3B0kB,MAAOvD,EAAoBnhB,EAApBmhB,SAAU/gD,EAAU4/B,EAAV5/B,MAEnB82D,OAAAA,IACG1zD,EAAMyzD,SAASvS,GAClBlhD,EAAMyzD,SAASvS,GACfqS,EAAwBvT,EAASkB,IAEjCyS,OAAAA,KAC0C,MAAvCD,GAAAA,OAAAA,EAAAA,EAAaE,gBAAbF,EAAAA,EAAyB/V,IAC5B+V,EAAYE,UAAUjW,GACtB6V,EAAAA,OAAAA,EACExT,EAASkB,KAAAA,OAAAA,EAAT2S,EAAiBtT,YAARW,EAAT4S,EAAwB7Q,MAAK,YAAAnI,OAAQA,EAAKrF,OAAO93B,KAAOggC,MAAAA,OAAAA,EAAAA,GAI3D39C,EAAAA,CACHyzD,SAAU,EAAVA,GACKzzD,EAAMyzD,UAAAA,EAAAA,GAAAA,EACRvS,GAAAA,EAAAA,GACIwS,EAAAA,CACHE,UAAW,EAAXA,GACMF,EAAYE,WAAa,IAAAt0D,EAAAA,GAAAA,EAC5Bq+C,GAAW3I,EAAiBp4C,EAAO+2D,GAAAA,MAAAA,OAQhD,SAAS9X,GAAY7uB,GAAAA,IAAAA,EACkCA,EAA7C+mC,kBAAAA,OAAAA,IAAAA,GAAAA,EAA0B3xC,EAAmB4K,EAAnB5K,KAAMwa,EAAa5P,EAAb4P,SAElCu2B,EAAchgB,EAAMlU,aACxB,SAACiiB,EAAOtkD,GAAAA,OACNggC,EAAS,CACPj+B,KAAMq0C,EAAQmgB,YACdjS,MAAAA,EACAtkD,MAAAA,MAEJ,CAACggC,IAGGw2B,EAAejgB,EAAMlU,aACzB,SAACiiB,EAAOvD,EAAU/gD,GAAAA,OAChBggC,EAAS,CACPj+B,KAAMq0C,EAAQogB,aACdlS,MAAAA,EACAvD,SAAAA,EACA/gD,MAAAA,MAEJ,CAACggC,IAGGo3B,EAAuB9e,EAAa6e,GAE1C1e,GAAuB,WACjB2e,KACFp3B,EAAS,CAAEj+B,KAAMq0C,EAAQqgB,kBAE1B,CAACjxC,IAEJ/mB,OAAOwQ,OAAOmhB,EAAU,CACtBmmC,YAAAA,EACAC,aAAAA,IAIJ,SAAStX,GAAWrF,EAAAA,GAAAA,IAAOzpB,EAAAA,EAAAA,SAAAA,EAKrBA,EAHFumC,wBAAAA,OAAAA,IAAAA,EAA0BN,GAAAA,EAAAA,EAGxBjmC,EAFFwmC,yBAAAA,OAAAA,IAAAA,EAA2BN,GAAAA,EAClBO,EACPzmC,EADFhtB,MAASyzD,SAGPhd,IACFA,EAAIz2C,WAAAA,IACKyzD,EAAShd,EAAI94B,IAChB81C,EAAShd,EAAI94B,IACb41C,EAAwB9c,GAE9BA,EAAIwd,SAAW,YAAA57B,OACNrL,EAASmmC,YAAY1c,EAAI94B,GAAI0a,IAGtCoe,EAAI8J,MAAM/2C,SAAQ,YACXitC,EAAIz2C,MAAM4zD,YACbnd,EAAIz2C,MAAM4zD,UAAY,IAGxB9Y,EAAK96C,WAAAA,IACIy2C,EAAIz2C,MAAM4zD,UAAU9Y,EAAKrF,OAAO93B,IACnC84B,EAAIz2C,MAAM4zD,UAAU9Y,EAAKrF,OAAO93B,IAChC61C,EAAyB1Y,GAE/BA,EAAKmZ,SAAW,YAAA57B,OACPrL,EAASomC,aAAa3c,EAAI94B,GAAIm9B,EAAKrF,OAAO93B,GAAI0a,QAzI7Di7B,GAAY3e,WAAa,cClBzB3B,EAAQkhB,iBAAmB,mBAC3BlhB,EAAQmhB,eAAiB,qBAEZC,GAAiB,YAC5BtgB,EAAMmH,cAAclgD,KAAKkiD,IACzBnJ,EAAM4H,mBAAmB3gD,MAAK,SAAC8iC,EAAAA,GAAAA,IAAQ7Q,EAAAA,EAAAA,SAAAA,MAAAA,GAAAA,OAC1B6Q,EAAAA,CAAM7Q,EAAShtB,MAAMq0D,iBAElCvgB,EAAM2H,eAAe1gD,KAAK0gD,IAC1B3H,EAAM+H,YAAY9gD,KAAK8gD,KAKzB,SAASoB,GAAQj9C,EAAOw8B,EAAQihB,EAAezwB,GAAAA,OACzCwP,EAAO79B,OAASq0C,EAAQl2C,KAAAA,EAAAA,CAExBu3D,YAAa,IACVr0D,GAIHw8B,EAAO79B,OAASq0C,EAAQkhB,iBAAAA,EAAAA,GAErBl0D,EAAAA,CACHq0D,YAAarnC,EAAS0wB,aAAa2W,aAAe,KAIlD73B,EAAO79B,OAASq0C,EAAQmhB,eAAAA,EAAAA,GAErBn0D,EAAAA,CACHq0D,YAAarf,EAAiBxY,EAAO63B,YAAar0D,EAAMq0D,oBAAAA,EAK9D,SAAS5Y,GACPnqC,EAAAA,GAAAA,IAGa+iD,EAAAA,EADXrnC,SACEhtB,MAASq0D,YAAAA,IAKRA,IAAgBA,EAAYz5D,OAAAA,OACxB0W,EAAAA,IAAAA,IAGHgjD,EAAAA,GAAAA,OAAsBD,GAGtBE,EAAAA,GAAAA,OAAkBjjD,GAGlBkjD,EAAiB,GAAA1mC,EAAAA,WAAA,IAIf2mC,EAAiBH,EAAgBjyD,QACjCqyD,EAAaH,EAAY1f,WAAU,YAAAjsC,OAAKA,EAAE+U,KAAO82C,KACnDC,GAAc,GAChBF,EAAez5D,KAAKw5D,EAAY7mB,OAAOgnB,EAAY,GAAG,KAJnDH,EAAY35D,QAAU05D,EAAgB15D,QAAAA,IAAAA,MAAAA,GAAAA,OASlC45D,EAAmBD,GAGhC,SAAS1Y,GAAY7uB,GAAAA,IACX4P,EAAa5P,EAAb4P,SAER5P,EAASmnC,eAAiBhhB,EAAMlU,aAC9B,YAAAo1B,OACSz3B,EAAS,CAAEj+B,KAAMq0C,EAAQmhB,eAAgBE,YAAAA,MAElD,CAACz3B,IAlELw3B,GAAezf,WAAa,iBCH5BvB,EAAcyM,WAAAA,EAGd7M,EAAQ2hB,oBAAsB,sBAC9B3hB,EAAQ4hB,eAAiB,iBACzB5hB,EAAQ6hB,mBAAqB,qBAC7B7hB,EAAQ8hB,YAAc,kBAETC,GAAmB,YAC9BjhB,EAAMkhB,gBAAkB,CAACC,IACzBnhB,EAAMqI,eAAephD,KAAK,CACxB4Y,MAAO,CACLxR,SAAU,cAGd2xC,EAAMmH,cAAclgD,KAAKkiD,IACzBnJ,EAAM+H,YAAY9gD,KAAK8gD,IACvB/H,EAAM8H,4BAA4B7gD,KAAK6gD,KAGnCqZ,GAAyB,SAACzvD,EAAAA,GAAAA,IAASwnB,EAAAA,EAAAA,SAAUqyB,EAAAA,EAAAA,OACzCziB,EAAa5P,EAAb4P,SAEFs4B,EAAgB,SAAChwD,EAAGm6C,GAAAA,IACpB8V,GAAAA,EAAe,GACJ,eAAXjwD,EAAEvG,KAAuB,IAEvBuG,EAAEyf,SAAWzf,EAAEyf,QAAQ/pB,OAAS,SAGpCu6D,GAAAA,EAAe,IAObC,EACAC,EALEC,EA8OV,SAAwBjW,GAAAA,IAChBkW,EAAc,UACE,SAAhBC,EAAgB,GAChBnW,EAAO/tC,SAAW+tC,EAAO/tC,QAAQ1W,QACnCykD,EAAO/tC,QAAQ4kC,IAAIsf,GAErBD,EAAYx6D,KAAKskD,GAJG,CAMRA,GACPkW,EATT,CA/O2ClW,GACAnJ,KAAI,YAAAttC,MAAK,CAACA,EAAE+U,GAAI/U,EAAE62C,eAEnDl/B,EAAU40C,EAAe57C,KAAKk8C,MAAMvwD,EAAEyf,QAAQ,GAAGpE,SAAWrb,EAAEqb,QAK9Dm1C,EAAc,WAClBttD,OAAOutD,qBAAqBP,GAC5BA,EAAM,KACNx4B,EAAS,CAAEj+B,KAAMq0C,EAAQ6hB,sBAErBe,EAAe,WACnBxtD,OAAOutD,qBAAqBP,GAC5BA,EAAM,KACNx4B,EAAS,CAAEj+B,KAAMq0C,EAAQ4hB,eAAgBr0C,QAAS80C,KAG9CQ,EAA2C,YAC/CR,EAAoBS,EACfV,IACHA,EAAMhtD,OAAO2tD,sBAAsBH,KAIjCI,EAAoB,CACxBC,MAAO,CACLC,UAAW,YACXC,YAAa,SAAAjxD,GAAAA,OAAK2wD,EAAyC3wD,EAAEqb,UAC7D61C,QAAS,UACTC,UAAW,SAAAnxD,GACTmD,SAAStH,oBACP,YACAi1D,EAAkBC,MAAME,aAE1B9tD,SAAStH,oBACP,UACAi1D,EAAkBC,MAAMI,WAE1BX,MAGJY,MAAO,CACLJ,UAAW,YACXC,YAAa,SAAAjxD,GAAAA,OACPA,EAAEwa,aACJxa,EAAE8Z,iBACF9Z,EAAE2Y,mBAEJg4C,EAAyC3wD,EAAEyf,QAAQ,GAAGpE,UAAAA,GAGxD61C,QAAS,WACTC,UAAW,SAAAnxD,GACTmD,SAAStH,oBACPi1D,EAAkBM,MAAMJ,UACxBF,EAAkBM,MAAMH,aAE1B9tD,SAAStH,oBACPi1D,EAAkBM,MAAMF,QACxBJ,EAAkBM,MAAMH,aAE1BT,OAKA52D,EAASq2D,EACXa,EAAkBM,MAClBN,EAAkBC,MAChBM,IjBkLH,cAE2B,kBAArBrc,EAAgC,OAAOA,EAAAA,IAE9Csc,GAAAA,EAAY,QAERvnD,EAAU,sBAEZunD,GAAAA,GAAY,IAKhBpuD,OAAOvH,iBAAiB,OAAQ,KAAMoO,GACtC7G,OAAOrH,oBAAoB,OAAQ,KAAMkO,GACzC,MAAO1R,GACPi5D,GAAAA,EAAY,OAEdtc,EAAmBsc,EAlBd,IiBjLC,CAAE9oC,SAAS,GAEfrlB,SAASxH,iBACP/B,EAAOo3D,UACPp3D,EAAOq3D,YACPI,GAEFluD,SAASxH,iBACP/B,EAAOs3D,QACPt3D,EAAOu3D,UACPE,GAGF35B,EAAS,CACPj+B,KAAMq0C,EAAQ2hB,oBACdhX,SAAU0B,EAAO1hC,GACjB84C,YAAapX,EAAOI,WACpB6V,eAAAA,EACA/0C,QAAAA,KAAAA,MAIG,CACL/a,EACA,CACEkxD,YAAa,SAAAxxD,GAAAA,OAAKA,EAAEga,WAAag2C,EAAchwD,EAAGm6C,IAClDsX,aAAc,SAAAzxD,GAAAA,OAAKA,EAAEga,WAAag2C,EAAchwD,EAAGm6C,IACnD1rC,MAAO,CACLyjC,OAAQ,cAEVwf,WAAW,EACXxc,KAAM,eAOZ,SAAS6C,GAAQj9C,EAAOw8B,GAAAA,GAClBA,EAAO79B,OAASq0C,EAAQl2C,KAAAA,OAAAA,EAAAA,CAExB83D,eAAgB,CACdiC,aAAc,KAEb72D,GAAAA,GAIHw8B,EAAO79B,OAASq0C,EAAQ8hB,YAAAA,OAAAA,EAAAA,GAErB90D,EAAAA,CACH40D,eAAgB,CACdiC,aAAc,SAKhBr6B,EAAO79B,OAASq0C,EAAQ2hB,oBAAqB,KACvCp0C,EAAmDic,EAAnDjc,QAASo9B,EAA0CnhB,EAA1CmhB,SAAU8Y,EAAgCj6B,EAAhCi6B,YAAanB,EAAmB94B,EAAnB84B,eAAAA,OAAAA,EAAAA,GAGnCt1D,EAAAA,CACH40D,eAAgB,EAAhBA,GACK50D,EAAM40D,eAAAA,CACTkC,OAAQv2C,EACR+0C,eAAAA,EACAmB,YAAAA,EACAM,iBAAkBpZ,MAAAA,GAKpBnhB,EAAO79B,OAASq0C,EAAQ4hB,eAAgB,KAClCr0C,EAAYic,EAAZjc,QAAAA,EAC6CvgB,EAAM40D,eAAnDkC,EAAAA,EAAAA,OAAQL,EAAAA,EAAAA,YAAAA,EAAAA,EAAanB,eAGvB0B,GADSz2C,EAAUu2C,GACSL,EAE5BQ,EAAkB,qBALsB,GAAApuD,GAO/BW,SAAQ,gBAAE0tD,EAAAA,EAAAA,GAAUC,EAAAA,EAAAA,GACjCF,EAAgBC,GAAY39C,KAAKqmC,IAC/BuX,EAAcA,EAAcH,EAC5B,MAAAhgC,EAAAA,GAKCh3B,EAAAA,CACH40D,eAAgB,EAAhBA,GACK50D,EAAM40D,eAAAA,CACTiC,aAAc,EAAdA,GACK72D,EAAM40D,eAAeiC,aAAAA,GACrBI,OAAAA,OAMPz6B,EAAO79B,OAASq0C,EAAQ6hB,mBAAAA,EAAAA,GAErB70D,EAAAA,CACH40D,eAAgB,EAAhBA,GACK50D,EAAM40D,eAAAA,CACTkC,OAAQ,KACRC,iBAAkB,gBAtE1BhC,GAAiBpgB,WAAa,mBA4E9B,IAAMiH,GAA8B,YAAA5uB,IAEhCgxB,EAIEhxB,EAJFgxB,YACAoZ,EAGEpqC,EAHFoqC,gBACAnZ,EAEEjxB,EAFFixB,SACS2W,EACP5nC,EADFhtB,MAAS40D,eAGLzW,EAAcjJ,EAAaloB,GAEjCgxB,EAAYx0C,SAAQ,YAAA61C,IACZQ,EAAYlH,GAAAA,IAChB0G,EAAO+X,sBAAAA,GAAmCn5D,IAC1Cm5D,QAAAA,GAAmCn5D,GAIrCohD,EAAOQ,UAAYA,EACnBR,EAAOp7B,MACL2wC,EAAeiC,aAAaxX,EAAO1hC,KACnC0hC,EAAO5H,eACP4H,EAAOp7B,MACTo7B,EAAOgY,WAAazC,EAAemC,mBAAqB1X,EAAO1hC,GAE3DkiC,IACFR,EAAO2V,gBAAkBnhB,EAAeoK,IAAW+W,gBAAiB,CAClEhoC,SAAUmxB,IACVkB,OAAAA,SAMR,SAASxD,GAAY7uB,GAAAA,IACXynB,EAAuDznB,EAAvDynB,QAAS7X,EAA8C5P,EAA9C4P,SAAAA,EAA8C5P,EAApCsqC,gBAAAA,OAAAA,IAAAA,GAAAA,EAAwBhmD,EAAY0b,EAAZ1b,QAEnDkjC,EAAkBC,EAAS,CAAC,qBAAsB,wBAE5C8iB,EAAqBriB,EAAaoiB,GACxCjiB,GAAuB,WACjBkiB,KACF36B,EAAS,CAAEj+B,KAAMq0C,EAAQ8hB,gBAE1B,CAACxjD,IAAAA,IAEEkmD,EAAgBrkB,EAAMlU,aAC1B,kBAAMrC,EAAS,CAAEj+B,KAAMq0C,EAAQ8hB,gBAC/B,CAACl4B,IAGHvhC,OAAOwQ,OAAOmhB,EAAU,CACtBwqC,cAAAA,IAAAA,ICzREC,GAAa,CACjBt1D,SAAU,WACV6oB,IAAK,GAGM0sC,GAAoB,YAC/B5jB,EAAMkI,kBAAkBjhD,KAAK48D,IAC7B7jB,EAAMuI,YAAYthD,KAAK48D,IACvB7jB,EAAMmI,oBAAoBlhD,KAAK48D,IAC/B7jB,EAAMoI,oBAAoBnhD,KAAK48D,IAE/B7jB,EAAMqI,eAAephD,MAAK,SAACyK,EAAAA,GAAAA,IAASiwC,EAAAA,EAAAA,OAAAA,MAAa,CAC/CjwC,EACA,CACEmO,MAAO,EAAPA,GACK8jD,GAAAA,CACH3sC,KAAS2qB,EAAO8J,UAAAA,KAChBt7B,MAAUwxB,EAAOgK,WAAAA,YAKvB3L,EAAMwI,aAAavhD,MAAK,SAACyK,EAAAA,GAAAA,IAASs1C,EAAAA,EAAAA,KAAAA,MAAW,CAC3Ct1C,EACA,CACEmO,MAAO,EAAPA,GACK8jD,GAAAA,CACH3sC,KAASgwB,EAAKrF,OAAO8J,UAAAA,KACrBt7B,MAAU62B,EAAKrF,OAAOgK,WAAAA,YAK5B3L,EAAMsI,eAAerhD,MAAK,SAACyK,EAAAA,GAAAA,IAASiwC,EAAAA,EAAAA,OAAAA,MAAa,CAC/CjwC,EACA,CACEmO,MAAO,EAAPA,GACK8jD,GAAAA,CACH3sC,KAAS2qB,EAAO8J,UAAAA,KAChBt7B,MAAUwxB,EAAOgK,WAAAA,aAMzBiY,GAAkB/iB,WAAa,oBAE/B,IAAMgjB,GAAe,SAACnyD,EAAAA,GAAAA,MAAwB,CAC5CA,EACA,CACEmO,MAAO,CACLxR,SAAU,WACV8hB,MAAO,EALkB+I,SAKN4qC,kBAAAA,SCpDnBH,GAAa,CACjB/vB,QAAS,eACTmwB,UAAW,cAGPF,GAAe,SAACnyD,EAAAA,GAAAA,MAAwB,CAC5CA,EACA,CACEmO,MAAO,CACL+zB,QAAS,OACTzjB,MAAO,EALkB+I,SAKN4qC,kBAAAA,SAKZE,GAAiB,YAC5BhkB,EAAMuI,YAAYthD,KAAK48D,IACvB7jB,EAAMmI,oBAAoBlhD,KAAK48D,IAC/B7jB,EAAMoI,oBAAoBnhD,KAAK48D,IAE/B7jB,EAAMqI,eAAephD,MAAK,SAACyK,EAAAA,GAAAA,IAASiwC,EAAAA,EAAAA,OAAAA,MAAa,CAC/CjwC,EACA,CACEmO,MAAO,EAAPA,GACK8jD,GAAAA,CACHxzC,MAAUwxB,EAAOgK,WAAAA,YAKvB3L,EAAMwI,aAAavhD,MAAK,SAACyK,EAAAA,GAAAA,IAASs1C,EAAAA,EAAAA,KAAAA,MAAW,CAC3Ct1C,EACA,CACEmO,MAAO,EAAPA,GACK8jD,GAAAA,CACHxzC,MAAU62B,EAAKrF,OAAOgK,WAAAA,YAK5B3L,EAAMsI,eAAerhD,MAAK,SAACyK,EAAAA,GAAAA,IAASiwC,EAAAA,EAAAA,OAAAA,MAAa,CAC/CjwC,EACA,CACEmO,MAAO,EAAPA,GACK8jD,GAAAA,CACHxzC,MAAUwxB,EAAOgK,WAAAA,aC7ClB,SAASsY,GAAcjkB,GAC5BA,EAAMiI,cAAchhD,KAAKghD,IACzBjI,EAAMuI,YAAYthD,KAAK48D,IACvB7jB,EAAMmI,oBAAoBlhD,KAAK48D,IAC/B7jB,EAAMoI,oBAAoBnhD,KAAK48D,IAC/B7jB,EAAMqI,eAAephD,KAAKohD,IAC1BrI,EAAMwI,aAAavhD,KAAKuhD,IACxBxI,EAAMsI,eAAerhD,KAAKqhD,ID4C5B0b,GAAenjB,WAAa,iBCzC5BojB,GAAcpjB,WAAa,gBAE3B,IAAMoH,GAAgB,SAACv2C,EAAAA,GAAAA,MAAwB,CAC7CA,EACA,CACEmO,MAAO,CACL2/B,SAAU,EAJgBtmB,SAIJgrC,qBAAAA,SAKtBL,GAAe,SAACnyD,EAAAA,GAAAA,MAAwB,CAC5CA,EACA,CACEmO,MAAO,CACL+zB,QAAS,OACTn2B,KAAM,WACN+hC,SAAU,EANetmB,SAMHgrC,qBAAAA,SAKtB7b,GAAiB,SAAC32C,EAAAA,GAAAA,IAASiwC,EAAAA,EAAAA,OAAAA,MAAa,CAC5CjwC,EACA,CACEmO,MAAO,CACLkkD,UAAW,aACXtmD,KAAMkkC,EAAOkK,eACNlK,EAAOkK,eAAAA,eAAAA,EAEdrM,SAAamC,EAAO+J,cAAAA,KACpBv7B,MAAUwxB,EAAOgK,WAAAA,SAKjBnD,GAAe,SAAC92C,EAAAA,GAAAA,IAASs1C,EAAAA,EAAAA,KAAAA,MAAW,CACxCt1C,EACA,CACEmO,MAAO,CACLkkD,UAAW,aACXtmD,KAASupC,EAAKrF,OAAOkK,eAAAA,UACrBrM,SAAawH,EAAKrF,OAAO+J,cAAAA,KACzBv7B,MAAU62B,EAAKrF,OAAOgK,WAAAA,SAKtBrD,GAAiB,SAAC52C,EAAAA,GAAAA,IAASiwC,EAAAA,EAAAA,OAAAA,MAAa,CAC5CjwC,EACA,CACEmO,MAAO,CACLkkD,UAAW,aACXtmD,KAAMkkC,EAAOkK,eACNlK,EAAOkK,eAAAA,eAAAA,EAEdrM,SAAamC,EAAO+J,cAAAA,KACpBv7B,MAAUwxB,EAAOgK,WAAAA,SC3DhB,SAASwY,GAAcnkB,GAC5BA,EAAMmH,cAAclgD,KAAKkiD,IACzBnJ,EAAMiI,cAAchhD,KAAKghD,IACzBjI,EAAMqI,eAAephD,KAAKohD,IAC1BrI,EAAMuI,YAAYthD,KAAKshD,IATzBrJ,EAAQ2hB,oBAAsB,sBAC9B3hB,EAAQ4hB,eAAiB,iBACzB5hB,EAAQ6hB,mBAAqB,qBAC7B7hB,EAAQ8hB,YAAc,cAStBmD,GAActjB,WAAa,gBAE3B,IAAMoH,GAAgB,SAACv2C,EAAAA,GAAAA,IAASwnB,EAAAA,EAAAA,SAAAA,MAYvB,CACLxnB,EACA,CACEmO,MAAO,CACL+zB,QAAS,OACTwwB,oBAhBsBlrC,EAASyuB,eAAevF,KAAI,YAAAT,IAAAA,EAAAA,OAClDzoB,EAAShtB,MAAMm4D,WAAWtB,aAAaphB,EAAO93B,IACtCqP,EAAShtB,MAAMm4D,WAAWtB,aAAaphB,EAAO93B,IAAAA,MAAAA,OAAAA,EAItDqP,EAAShtB,MAAM40D,qBAAAA,EAAfwD,EAA+BrB,kBACvB/pC,EAAShtB,MAAMm4D,WAAWE,YAAY5iB,EAAO93B,IAAAA,KAC7B,iBAAjB83B,EAAOxxB,MAA8BwxB,EAAOxxB,MAAAA,KAChDwxB,EAAOxxB,SAO+BxoB,KAAAA,SAM3C0gD,GAAiB,SAAC32C,EAAAA,GAAAA,IAASiwC,EAAAA,EAAAA,OAAAA,MAAa,CAC5CjwC,EACA,CACEmY,GAAI,eAAe83B,EAAO93B,GAC1BhK,MAAO,CACLxR,SAAU,SACV+P,WAAY,QAAQujC,EAAO+E,4BAK3B6B,GAAc,SAAC72C,EAAAA,GAAAA,IAASixC,EAAAA,EAAAA,IAAAA,OACxBA,EAAI8C,WACC,CACL/zC,EACA,CACEmO,MAAO,CACLzB,WAAY,QAAOukC,EAAI8J,MAAM3lD,OAAS,MAKvC,CAAC4K,EAAO,KAGjB,SAASy3C,GAAQj9C,EAAOw8B,EAAQihB,EAAezwB,GAAAA,GACzCwP,EAAO79B,OAASq0C,EAAQl2C,KAAAA,OAAAA,EAAAA,CAExBq7D,WAAY,CACVtB,aAAc,KAEb72D,GAAAA,GAIHw8B,EAAO79B,OAASq0C,EAAQ8hB,YAAAA,OAAAA,EAAAA,GAErB90D,EAAAA,CACHm4D,WAAY,CACVtB,aAAc,SAKhBr6B,EAAO79B,OAASq0C,EAAQ2hB,oBAAqB,KACvChX,EAA6BnhB,EAA7BmhB,SAAU2X,EAAmB94B,EAAnB84B,eACZmB,EAAc6B,GAAgB3a,GAAAA,QAAAA,IAEhC8Y,EAA2B,KACvB4B,EAAcrrC,EAASyuB,eAAe9H,QAC1C,SAAC4kB,EAAK9iB,GAAAA,IAAAA,EAAAA,OAAAA,EAAAA,GACD8iB,IAAAA,EAAAA,IACF9iB,EAAO93B,IAAK26C,GAAgB7iB,EAAO93B,IAAAA,MAEtC,IAEI66C,EAAYxrC,EAASyuB,eAAe9H,QACxC,SAAC4kB,EAAK9iB,GAAAA,IAAAA,EAAAA,OAAAA,EAAAA,GACD8iB,IAAAA,EAAAA,IACF9iB,EAAO93B,IAAK83B,EAAOnC,SAAAA,MAEtB,IAEImlB,EAAYzrC,EAASyuB,eAAe9H,QACxC,SAAC4kB,EAAK9iB,GAAAA,IAAAA,EAAAA,OAAAA,EAAAA,GACD8iB,IAAAA,EAAAA,IACF9iB,EAAO93B,IAAK83B,EAAOlC,SAAAA,MAEtB,IAGImlB,EAAqBpD,EAAepf,KAAI,gBAAEghB,EAAAA,EAAAA,GAAAA,MAAc,CAC5DA,EACAoB,GAAgBpB,OAAAA,OAAAA,EAAAA,GAIbl3D,EAAAA,CACHm4D,WAAY,EAAZA,GACKn4D,EAAMm4D,WAAAA,CACTE,YAAAA,EACAG,UAAAA,EACAC,UAAAA,EACAC,mBAAAA,EACAjC,YAAAA,MAAAA,OAIGz2D,EAAAA,GAIPw8B,EAAO79B,OAASq0C,EAAQ4hB,eAAgB,KAClCr0C,EAAYic,EAAZjc,QACAu2C,EAAW92D,EAAM40D,eAAjBkC,OAAAA,EAMJ92D,EAAMm4D,WAJR1B,EAAAA,EAAAA,YACA+B,EAAAA,EAAAA,UACAC,EAAAA,EAAAA,UAAAA,EAAAA,EACAC,mBAII1B,GADSz2C,EAAUu2C,GACSL,EAE5BQ,EAAkB,qBAND,GAAA33D,GAQJkK,SAAQ,gBAAE0tD,EAAAA,EAAAA,GAAUC,EAAAA,EAAAA,GACrCF,EAAgBC,GAAY39C,KAAKyQ,IAC/BzQ,KAAKqmC,IACH4Y,EAAUtB,GACVC,EAAcA,EAAcH,GAE9ByB,EAAUvB,OAAAA,EAAAA,GAKTl3D,EAAAA,CACHm4D,WAAY,EAAZA,GACKn4D,EAAMm4D,WAAAA,CACTtB,aAAc,EAAdA,GACK72D,EAAMm4D,WAAWtB,aAAAA,GACjBI,OAAAA,OAMPz6B,EAAO79B,OAASq0C,EAAQ6hB,mBAAAA,EAAAA,GAErB70D,EAAAA,CACHm4D,WAAY,EAAZA,GACKn4D,EAAMm4D,WAAAA,CACTE,YAAa,GACbG,UAAW,GACXC,UAAW,cAMnB,SAASH,GAAgB3a,GAAAA,IAAAA,EACjB15B,EAAAA,OAAAA,EAAQ5b,SAASswD,eAAAA,eAA8Bhb,SAAAA,EAAvCib,EAAoDC,YAAAA,QAAAA,IAE9D50C,EAAAA,OACKA,EAAAA,EAAAA,0BAAAA,GAAAA,EAAAA,QAAAA,EAAAA,EAAAA,cAAAA,EAAAA,EAAAA,iBAAAA,GAAAA,EAAAA,iBAAAA,GAAAA,EAAAA,gBAAAA,EAAAA,EAAAA,cAAAA,EAAAA,EAAAA,kBAAAA,EAAAA,EAAAA,WAAAA,EAAAA,EAAAA,iBAAAA,EAAAA,EAAAA,UAAAA,EAAAA,EAAAA,eAAAA,EAAAA,EAAAA,aAAAA,EAAAA,EAAAA,YAAAA,EAAAA,EAAAA,oBAAAA,EAAAA,EAAAA,kBAAAA,GAAAA,EAAAA,iBtBxBJ,SAA0B60C,EAAWC,QAAAA,IAAAA,IAAAA,EAAc,OAClDC,EAAc7lB,EAAM1T,OAAO,IAE3Bw5B,EAAe/jB,EAAa4jB,GAC5BI,EAAiBhkB,EAAa6jB,GAAAA,OAE7B5lB,EAAMlU,YAAAA,WAAAA,IAAAA,EAAAA,EAAAA,IAAAA,MACX,mHAAU9iC,EAAAA,IAAAA,MAAAA,GAAAA,EAAAA,EAAAA,EAAAA,EAAAA,IAAAA,EAAAA,GAAAA,EAAAA,GAAAA,OACH68D,EAAYrhD,QAAQwhD,UACvBH,EAAYrhD,QAAQwhD,QAAU,IAAIh8D,SAAQ,SAACC,EAASC,GAClD27D,EAAYrhD,QAAQva,QAAUA,EAC9B47D,EAAYrhD,QAAQta,OAASA,MAI7B27D,EAAYrhD,QAAQyhD,SACtB5pC,aAAawpC,EAAYrhD,QAAQyhD,SAGnCJ,EAAYrhD,QAAQyhD,QAAU9pC,WAAW,EAAXA,IAAAA,MAAW,4FAChC0pC,EAAYrhD,QAAQyhD,QAAAA,EAAAA,KAAAA,EAAAA,EAAAA,GAEzBJ,EAAYrhD,QAAAA,EAAAA,KAAAA,EAAsBshD,IAAAA,WAAAA,EAAkB98D,GAAAA,KAAAA,EAAAA,EAAAA,GAAAA,EAAAA,KAAAA,EAAAA,GAAhCiB,QAAAA,KAAAA,EAAAA,GAAAA,EAAAA,IAAAA,EAAAA,KAAAA,GAAAA,MAAAA,KAAAA,EAAAA,EAAAA,KAAAA,EAAAA,EAAAA,GAAAA,EAAAA,MAAAA,GAEpB47D,EAAYrhD,QAAQta,OAAAA,EAAAA,IAAAA,KAAAA,GAAAA,OAAAA,EAAAA,KAAAA,UAEb27D,EAAYrhD,QAAQwhD,QAAAA,EAAAA,OAAAA,IAAAA,KAAAA,GAAAA,IAAAA,MAAAA,OAAAA,EAAAA,UAAAA,EAAAA,KAAAA,CAAAA,CAAAA,EAAAA,EAAAA,GAAAA,UAE5BD,KAAAA,EAAAA,OAAAA,SAEIF,EAAYrhD,QAAQwhD,SAAAA,KAAAA,EAAAA,IAAAA,MAAAA,OAAAA,EAAAA,UAAAA,OAAAA,OAAAA,WAAAA,OAAAA,EAAAA,MAAAA,KAAAA,YAxBlBl6B,GA0BX,CAACg6B,EAAcC,KAAAA,EAAAA,eAAAA,GAAAA,EAAAA,eAAAA,GAAAA,EAAAA,YAAAA,GAAAA,EAAAA,WAAAA,GAAAA,EAAAA,cAAAA,GAAAA,EAAAA,aAAAA,EAAAA,EAAAA,gBAAAA,GAAAA,EAAAA,cAAAA,GAAAA,EAAAA,WAAAA,GAAAA,EAAAA,uBAAAA,EAAAA,EAAAA,cAAAA,GAAAA,EAAAA,iBAAAA,GAAAA,EAAAA,aAAAA,GAAAA,EAAAA,YAAAA,GAAAA,EAAAA,UAAAA,GAAAA,EAAAA,SI1IK,SAAC1zD,GAAAA,IAAAA,IAAAA,EAAAA,UAAAA,OAAUivC,EAAAA,IAAAA,MAAAA,EAAAA,EAAAA,EAAAA,EAAAA,GAAAA,EAAAA,EAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAAA,UAAAA,GAEjCjvC,EAAQo5C,GAAcp5C,GAGtBivC,EAAAA,CAAWmI,GAAAA,OAAwBnI,GAAAA,IAM7B0J,EAAcjJ,EAHF/B,EAAM1T,OAAO,IAGc9nB,SAG7Ctc,OAAOwQ,OAAOsyC,IAAAA,EAAAA,GACT34C,EAAAA,CACHivC,QAAAA,EACAX,MAAOiH,OAITtG,EAAQmF,OAAO8H,SAASl4C,SAAQ,YAC9BsrC,EAAOqJ,IAAcrK,UAAAA,IAIjBmK,EAAW/I,EAAaiJ,IAAcrK,OAC5CqK,IAAcF,SAAWA,SAClBE,IAAcrK,MAGrBz4C,OAAOwQ,OACLsyC,IACAhK,EAAY8J,IAAWjD,WAAY4D,GAAcp5C,KAAAA,IAAAA,EAY/C24C,IARF/7B,EAAAA,EAAAA,KACSi3C,EAAAA,EAAT/nD,QACAosC,EAAAA,EAAAA,aACAtK,EAAAA,EAAAA,cACAyL,EAAAA,EAAAA,WACAC,EAAAA,EAAAA,SACAC,EAAAA,EAAAA,aACA7D,EAAAA,EAAAA,mBAIIoe,EAAkBpkB,EAAa6J,GAG/B9B,EAAU9J,EAAMlU,aACpB,SAACj/B,EAAOw8B,GAAAA,IAEDA,EAAO79B,KAAAA,MACVe,QAAQi2C,KAAK,CAAEnZ,OAAAA,IACT,IAAIj9B,MAAM,qCAIX,UACF0+C,IAAWhD,cAEVjgD,MAAMC,QAAQq+D,KACdA,IACA,CAACA,MACL3lB,QACA,SAAC2N,EAAG1jD,GAAAA,OAAYA,EAAQ0jD,EAAG9kB,EAAQx8B,EAAOm+C,MAAkBmD,IAC5DthD,KAGJ,CAACi+C,EAAUqb,EAAiBnb,IAAAA,EAIGhL,EAAM3T,WAAWyd,OAAAA,GAAoB,kBACpEA,EAAQS,EAAc,CAAE/+C,KAAMq0C,EAAQl2C,UADjCy8D,EAAAA,EAAAA,GAAc38B,EAAAA,EAAAA,GAKf58B,EAAQm0C,EAAAA,GAAAA,OACR8J,IAAW/C,mBAAAA,CAAoBA,IACnCqe,EACA,CAAEvsC,SAAUmxB,MAGd9iD,OAAOwQ,OAAOsyC,IAAe,CAC3Bn+C,MAAAA,EACA48B,SAAAA,IAAAA,IAIItrB,EAAU6hC,EAAM5T,SACpB,kBACEwW,EACE5B,EAAY8J,IAAW3sC,QAAS+nD,EAAa,CAC3CrsC,SAAUmxB,SAAAA,CAIdF,EACAE,EACAkb,GAAAA,OAEGllB,EAAY8J,IAAW9C,YAAa,GAAI,CAAEnuB,SAAUmxB,QAG3DA,IAAc7sC,QAAUA,EAAAA,IAIpBqmC,EAAaxE,EAAM5T,SACrB,kBACE4U,EAAY8J,IAAWtG,WAAYvB,EAAe9kC,GAAU,CAC1D0b,SAAUmxB,MACTjI,IAAIC,KAAAA,CAEP7kC,EACA2sC,EACAE,GAAAA,OAEGhK,EAAY8J,IAAW7C,eAAgB,GAAI,CAC5CpuB,SAAUmxB,QAIhBA,IAAcxG,WAAaA,EAAAA,IAAAA,EAGQxE,EAAM5T,SAAQ,mBAC3CyZ,EAAO,GACP+G,EAAW,GACTC,EAAW,GAEXwZ,EAAAA,GAAAA,OAAsB7hB,GAErB6hB,EAAgB5+D,QAAQ,KACvB66C,EAAS+jB,EAAgBn3D,QAC/By9C,GAAoB,CAClB19B,KAAAA,EACA42B,KAAAA,EACA+G,SAAAA,EACAC,SAAAA,EACAvK,OAAAA,EACAqJ,SAAAA,EACAD,WAAAA,EACAoB,iBAAkBhC,IAAW5C,YAC7B8C,YAAAA,IAAAA,MAIG,CAACnF,EAAM+G,EAAUC,KACvB,CAACrI,EAAYv1B,EAAM08B,EAAUD,EAAYZ,EAAUE,IAvB/CnF,EAAAA,EAAAA,GAAM+G,EAAAA,EAAAA,GAAUC,EAAAA,EAAAA,GAyBvB3kD,OAAOwQ,OAAOsyC,IAAe,CAC3BnF,KAAAA,EACAygB,YAAa,GAAbA,OAAiBzgB,GACjB+G,SAAAA,EACAC,SAAAA,IAIF1L,EAAU2J,IAAWzC,qBAAsB2C,KAAAA,IAKvC1C,EAAiBtI,EAAM5T,SACzB,kBACE4U,EAAY8J,IAAWxC,eAAgB9D,EAAY,CACjD3qB,SAAUmxB,MACTjI,KAAI,YAAAttC,OAAK0uC,EAAe1uC,EAAGwqC,QAAAA,CAE9B6K,EACAtG,EACAwG,EACA/K,GAAAA,OAEGe,EAAY8J,IAAWvC,mBAAoB,GAAI,CAChD1uB,SAAUmxB,QAMhBxG,EAAaxE,EAAM5T,SAAQ,eACnBjuB,EAAAA,GAAAA,OAAcmqC,GAAAA,OAEpB9D,EAAWnuC,SAAQ,YACZ8H,EAAQ2xC,MAAK,YAAAr6C,OAAKA,EAAE+U,KAAO83B,EAAO93B,OACrCrM,EAAQvW,KAAK06C,MAIVnkC,IACN,CAACqmC,EAAY8D,IAChB0C,IAAcxG,WAAaA,EAAAA,IAkBrBE,EAAe1E,EAAM5T,SACzB,kBACE4U,EACE8J,IAAWpG,aACXH,EAAiB+D,EAAgBrI,GACjC+K,OAAAA,CAGFF,EACAxC,EACArI,EACA+K,GAAAA,OAEGhK,EAAY8J,IAAWtC,iBAAkB,GAAI,CAC9C3uB,SAAUmxB,QAIhBA,IAActG,aAAeA,EAAAA,IAGvBK,EAAU/E,EAAM5T,SACpB,kBAAOsY,EAAaj9C,OAASi9C,EAAa,GAAGK,QAAU,KACvD,CAACL,IAEHsG,IAAcjG,QAAUA,EAGxBiG,IAAcH,YAAcnG,EAAalE,QACvC,SAAC+lB,EAAKzhB,GAAAA,MAAAA,GAAAA,OAAoByhB,EAAQzhB,EAAYC,WAC9C,IAGF5D,EAAU2J,IAAWrC,4BAA6BuC,KAAAA,IAG5Cwb,EAAoBle,EACvB7B,QAAO,YAAAhxC,OAAKA,EAAEy0C,aACdnH,KAAI,YAAAttC,OAAKA,EAAE+U,MACXioC,OACAnqD,KAAK,KAERggD,EAAiBtI,EAAM5T,SACrB,kBAAMkc,EAAe7B,QAAO,YAAAhxC,OAAKA,EAAEy0C,eAAAA,CAElC5B,EAAgBke,IAEnBxb,IAAc1C,eAAiBA,EAAAA,IAAAA,EAO3BuD,GAAsB9G,GAHxB8f,EAAAA,EAAAA,GACAJ,EAAAA,EAAAA,GACAgC,EAAAA,EAAAA,GAAAA,OAGFzb,IAAc6Z,qBAAuBA,EACrC7Z,IAAcyZ,kBAAoBA,EAClCzZ,IAAcyb,qBAAuBA,EAErCtlB,EAAU2J,IAAWpC,YAAasC,KAAAA,GAAAA,OAI7BA,IAAcH,YAAgBG,IAAcxG,YAAYnuC,SAC3D,YAEEisC,EAAOnxC,OAASkxC,EAAa2I,IAAe1I,GAG5CA,EAAO0G,eAAiBtI,EAAeoK,IAAW9B,eAAgB,CAChEnvB,SAAUmxB,IACV1I,OAAAA,IAIFA,EAAO2G,eAAiBvI,EAAeoK,IAAW7B,eAAgB,CAChEpvB,SAAUmxB,IACV1I,OAAAA,OAKN0I,IAActG,aAAe1E,EAAM5T,SACjC,kBACEsY,EAAa+B,QAAO,SAAC3B,EAAav9C,GAAAA,OAEhCu9C,EAAYC,QAAUD,EAAYC,QAAQ0B,QAAO,YAAAnE,OAQ3CA,EAAOyC,QAPK,SAAVY,EAAU,GAAAZ,OACdA,EAAQ0B,QAAO,YAAAnE,OACTA,EAAOyC,QACFY,EAAQrD,EAAOyC,SAEjBzC,EAAO4H,aACbziD,OANW,CAQC66C,EAAOyC,SAEjBzC,EAAO4H,eAIZpF,EAAYC,QAAQt9C,SACtBq9C,EAAYgE,oBAAsBpI,EAChCoK,IAAWhC,oBACX,CAAEjvB,SAAUmxB,IAAelG,YAAAA,EAAa31C,MAAO5H,IAGjDu9C,EAAYiE,oBAAsBrI,EAChCoK,IAAW/B,oBACX,CAAElvB,SAAUmxB,IAAelG,YAAAA,EAAa31C,MAAO5H,KAAAA,QAQvD,CAACm9C,EAAcsG,EAAaF,IAG9BE,IAAc0b,aAAe,UAAI1b,IAActG,cAAcW,UAK7D2F,IAAcrC,WAAa3I,EAAMlU,aAC/B,YACEwX,EAAI4F,YAAcxI,EAAeoK,IAAW5B,YAAa,CACvDrvB,SAAUmxB,IACV1H,IAAAA,IAIFA,EAAI4S,SAAW1R,EAAWzB,KAAI,YAAAT,IACtB74C,EAAQ65C,EAAI+J,OAAO/K,EAAO93B,IAE1Bm9B,EAAO,CACXrF,OAAAA,EACAgB,IAAAA,EACA75C,MAAAA,GAAAA,OAIFk+C,EAAKwB,aAAezI,EAAeoK,IAAW3B,aAAc,CAC1DtvB,SAAUmxB,IACVrD,KAAAA,IAIFA,EAAKx2C,OAASkxC,EAAa2I,IAAe1I,EAAQ,CAChDgB,IAAAA,EACAqE,KAAAA,EACAl+C,MAAAA,IAGKk+C,KAGTrE,EAAI8J,MAAQ9E,EAAevF,KAAI,YAAAT,OAC7BgB,EAAI4S,SAASpG,MAAK,YAAAnI,OAAQA,EAAKrF,OAAO93B,KAAO83B,EAAO93B,SAItD22B,EAAU2J,IAAWnC,WAAYrF,EAAK,CAAEzpB,SAAUmxB,QAEpD,CAACF,EAAUE,EAAaxG,EAAY8D,IAGtC0C,IAAcpC,cAAgBlI,EAAeoK,IAAWlC,cAAe,CACrE/uB,SAAUmxB,MAGZA,IAAcnC,kBAAoBnI,EAChCoK,IAAWjC,kBACX,CACEhvB,SAAUmxB,MAId7J,EAAU2J,IAAW1B,iBAAkB4B,KAEhCA,KAAAA,OAAAA,eAAAA,EAAAA,aAAAA,CAAAA,OAAAA,oCmBncPziD,EAAOC,QAAU,EAAjBD,sBCkCFA,EAAOC,QA9BP,WAoBC,IAnBA,IAAMm+D,EAAY,CACjB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEGC,EAAO,GACFr/D,EAAI,EAAGA,EAAI,GAAIA,IAEtBq/D,EAAKr/D,GADI,IAANA,GAAiB,KAANA,GAAkB,KAANA,GAAkB,KAANA,EAC5B,IAEAo/D,EAAUvgD,KAAK4uB,KAAK5uB,KAAKgU,SAAWusC,EAAUl/D,OAAS,IAGnE,OAAOm/D,EAAKt+D,KAAK,uCCvBL,IAAIoN,EAAE9F,EAAQ,KAASyJ,EAAE9B,OAAOC,IAAI,iBAAiB2B,EAAE5B,OAAOC,IAAI,kBAAkB9L,EAAExD,OAAOC,UAAUf,eAAeoG,EAAEkI,EAAE2B,mDAAmD82B,kBAAkB95B,EAAE,CAACjM,KAAI,EAAGw9B,KAAI,EAAGihC,QAAO,EAAGC,UAAS,GAChP,SAASljC,EAAEpvB,EAAEF,EAAEqB,GAAG,IAAIpB,EAAEkB,EAAE,GAAG1D,EAAE,KAAKqH,EAAE,KAAiF,IAAI7E,UAAhF,IAASoB,IAAI5D,EAAE,GAAG4D,QAAG,IAASrB,EAAElM,MAAM2J,EAAE,GAAGuC,EAAElM,UAAK,IAASkM,EAAEsxB,MAAMxsB,EAAE9E,EAAEsxB,KAActxB,EAAE5I,EAAErD,KAAKiM,EAAEC,KAAKF,EAAEjN,eAAemN,KAAKkB,EAAElB,GAAGD,EAAEC,IAAI,GAAGC,GAAGA,EAAEvE,aAAa,IAAIsE,KAAKD,EAAEE,EAAEvE,kBAAe,IAASwF,EAAElB,KAAKkB,EAAElB,GAAGD,EAAEC,IAAI,MAAM,CAACmF,SAASL,EAAE7N,KAAKgJ,EAAEpM,IAAI2J,EAAE6zB,IAAIxsB,EAAE/G,MAAMoD,EAAEowB,OAAOr4B,EAAEgX,SAAShc,EAAQi2C,SAAStlC,EAAE3Q,EAAQu+D,IAAInjC,EAAEp7B,EAAQw+D,KAAKpjC,kCCD7V,IAAIzqB,EAAE5B,OAAOC,IAAI,iBAAiBhK,EAAE+J,OAAOC,IAAI,gBAAgBnD,EAAEkD,OAAOC,IAAI,kBAAkBosB,EAAErsB,OAAOC,IAAI,qBAAqBqsB,EAAEtsB,OAAOC,IAAI,kBAAkBgjB,EAAEjjB,OAAOC,IAAI,kBAAkBmjB,EAAEpjB,OAAOC,IAAI,iBAAiBhC,EAAE+B,OAAOC,IAAI,qBAAqBrL,EAAEoL,OAAOC,IAAI,kBAAkBkjB,EAAEnjB,OAAOC,IAAI,cAAcssB,EAAEvsB,OAAOC,IAAI,cAAcrB,EAAEoB,OAAOe,SACzW,IAAI6M,EAAE,CAACmf,UAAU,WAAW,OAAM,GAAIO,mBAAmB,aAAaD,oBAAoB,aAAaJ,gBAAgB,cAAc9c,EAAExf,OAAOwQ,OAAOohB,EAAE,GAAG,SAAS0D,EAAElpB,EAAEC,EAAExC,GAAGnI,KAAKyI,MAAMiC,EAAE1K,KAAK6E,QAAQ8F,EAAE3K,KAAKu6B,KAAKrK,EAAElwB,KAAKs7B,QAAQnzB,GAAGoT,EACyI,SAASyV,KAA6B,SAAS6C,EAAEnpB,EAAEC,EAAExC,GAAGnI,KAAKyI,MAAMiC,EAAE1K,KAAK6E,QAAQ8F,EAAE3K,KAAKu6B,KAAKrK,EAAElwB,KAAKs7B,QAAQnzB,GAAGoT,EADvPqY,EAAEr1B,UAAUwwC,iBAAiB,GACnQnb,EAAEr1B,UAAU24D,SAAS,SAASxsD,EAAEC,GAAG,GAAG,kBAAkBD,GAAG,oBAAoBA,GAAG,MAAMA,EAAE,MAAMlI,MAAM,yHAAyHxC,KAAKs7B,QAAQV,gBAAgB56B,KAAK0K,EAAEC,EAAE,aAAaipB,EAAEr1B,UAAU8+D,YAAY,SAAS3yD,GAAG1K,KAAKs7B,QAAQL,mBAAmBj7B,KAAK0K,EAAE,gBAA8BsmB,EAAEzyB,UAAUq1B,EAAEr1B,UAAsF,IAAIw1B,EAAEF,EAAEt1B,UAAU,IAAIyyB,EACrf+C,EAAEvjB,YAAYqjB,EAAE/V,EAAEiW,EAAEH,EAAEr1B,WAAWw1B,EAAEqH,sBAAqB,EAAG,IAAInF,EAAEh4B,MAAMC,QAAQ2yB,EAAEvyB,OAAOC,UAAUf,eAAeo8B,EAAE,CAAChf,QAAQ,MAAMigB,EAAE,CAACr8B,KAAI,EAAGw9B,KAAI,EAAGihC,QAAO,EAAGC,UAAS,GACtK,SAASz/B,EAAE/yB,EAAEC,EAAExC,GAAG,IAAI0D,EAAEjB,EAAE,GAAG6E,EAAE,KAAKD,EAAE,KAAK,GAAG,MAAM7E,EAAE,IAAIkB,UAAK,IAASlB,EAAEqxB,MAAMxsB,EAAE7E,EAAEqxB,UAAK,IAASrxB,EAAEnM,MAAMiR,EAAE,GAAG9E,EAAEnM,KAAKmM,EAAEkmB,EAAEpyB,KAAKkM,EAAEkB,KAAKgvB,EAAEr9B,eAAeqO,KAAKjB,EAAEiB,GAAGlB,EAAEkB,IAAI,IAAIE,EAAEnO,UAAUC,OAAO,EAAE,GAAG,IAAIkO,EAAEnB,EAAE4H,SAASrK,OAAO,GAAG,EAAE4D,EAAE,CAAC,IAAI,IAAID,EAAE7N,MAAM8N,GAAGjK,EAAE,EAAEA,EAAEiK,EAAEjK,IAAIgK,EAAEhK,GAAGlE,UAAUkE,EAAE,GAAG8I,EAAE4H,SAAS1G,EAAE,GAAGpB,GAAGA,EAAErE,aAAa,IAAIwF,KAAKE,EAAErB,EAAErE,kBAAe,IAASuE,EAAEiB,KAAKjB,EAAEiB,GAAGE,EAAEF,IAAI,MAAM,CAACiE,SAASP,EAAE3N,KAAK8I,EAAElM,IAAIiR,EAAEusB,IAAIxsB,EAAE/G,MAAMmC,EAAEqxB,OAAOrC,EAAEhf,SACxU,SAASwjB,EAAE1zB,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEoF,WAAWP,EAAqG,IAAI8uB,EAAE,OAAO,SAASK,EAAEh0B,EAAEC,GAAG,MAAM,kBAAkBD,GAAG,OAAOA,GAAG,MAAMA,EAAElM,IAA7K,SAAgBkM,GAAG,IAAIC,EAAE,CAAC,IAAI,KAAK,IAAI,MAAM,MAAM,IAAID,EAAE4C,QAAQ,SAAQ,SAAS5C,GAAG,OAAOC,EAAED,MAAmF4yD,CAAO,GAAG5yD,EAAElM,KAAKmM,EAAEtM,SAAS,IAC5W,SAASU,EAAE2L,EAAEC,EAAExC,EAAE0D,EAAEjB,GAAG,IAAI6E,SAAS/E,EAAK,cAAc+E,GAAG,YAAYA,IAAE/E,EAAE,MAAK,IAAI8E,GAAE,EAAG,GAAG,OAAO9E,EAAE8E,GAAE,OAAQ,OAAOC,GAAG,IAAK,SAAS,IAAK,SAASD,GAAE,EAAG,MAAM,IAAK,SAAS,OAAO9E,EAAEoF,UAAU,KAAKP,EAAE,KAAK3L,EAAE4L,GAAE,GAAI,GAAGA,EAAE,OAAW5E,EAAEA,EAAN4E,EAAE9E,GAASA,EAAE,KAAKmB,EAAE,IAAI6yB,EAAElvB,EAAE,GAAG3D,EAAEoqB,EAAErrB,IAAIzC,EAAE,GAAG,MAAMuC,IAAIvC,EAAEuC,EAAE4C,QAAQ+wB,EAAE,OAAO,KAAKt/B,EAAE6L,EAAED,EAAExC,EAAE,IAAG,SAASuC,GAAG,OAAOA,MAAK,MAAME,IAAIwzB,EAAExzB,KAAKA,EADnW,SAAWF,EAAEC,GAAG,MAAM,CAACmF,SAASP,EAAE3N,KAAK8I,EAAE9I,KAAKpD,IAAImM,EAAEqxB,IAAItxB,EAAEsxB,IAAIvzB,MAAMiC,EAAEjC,MAAMwzB,OAAOvxB,EAAEuxB,QACgRkC,CAAEvzB,EAAEzC,IAAIyC,EAAEpM,KAAKgR,GAAGA,EAAEhR,MAAMoM,EAAEpM,IAAI,IAAI,GAAGoM,EAAEpM,KAAK8O,QAAQ+wB,EAAE,OAAO,KAAK3zB,IAAIC,EAAE3M,KAAK4M,IAAI,EAAyB,GAAvB4E,EAAE,EAAE3D,EAAE,KAAKA,EAAE,IAAIA,EAAE,IAAOoqB,EAAEvrB,GAAG,IAAI,IAAIqB,EAAE,EAAEA,EAAErB,EAAE7M,OAAOkO,IAAI,CAC/e,IAAID,EAAED,EAAE6yB,EADwejvB,EACrf/E,EAAEqB,GAAeA,GAAGyD,GAAGzQ,EAAE0Q,EAAE9E,EAAExC,EAAE2D,EAAElB,QAAQ,GAAGkB,EAPsU,SAAWpB,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAsC,oBAAjCA,EAAE6B,GAAG7B,EAAE6B,IAAI7B,EAAE,eAA0CA,EAAE,KAOxbmE,CAAEnE,GAAG,oBAAoBoB,EAAE,IAAIpB,EAAEoB,EAAErN,KAAKiM,GAAGqB,EAAE,IAAI0D,EAAE/E,EAAE4tB,QAAQsE,MAA6BptB,GAAGzQ,EAA1B0Q,EAAEA,EAAE5P,MAA0B8K,EAAExC,EAAtB2D,EAAED,EAAE6yB,EAAEjvB,EAAE1D,KAAkBnB,QAAQ,GAAG,WAAW6E,EAAE,MAAM9E,EAAElI,OAAOiI,GAAGlI,MAAM,mDAAmD,oBAAoBmI,EAAE,qBAAqBrM,OAAOsH,KAAK8E,GAAGhM,KAAK,MAAM,IAAIiM,GAAG,6EAA6E,OAAO6E,EACxZ,SAASk4B,EAAEh9B,EAAEC,EAAExC,GAAG,GAAG,MAAMuC,EAAE,OAAOA,EAAE,IAAImB,EAAE,GAAGjB,EAAE,EAAmD,OAAjD7L,EAAE2L,EAAEmB,EAAE,GAAG,IAAG,SAASnB,GAAG,OAAOC,EAAElM,KAAK0J,EAAEuC,EAAEE,QAAciB,EAAE,SAASy8B,EAAE59B,GAAG,IAAI,IAAIA,EAAE6yD,QAAQ,CAAC,IAAI5yD,EAAED,EAAE8yD,SAAQ7yD,EAAEA,KAAMkoB,MAAK,SAASloB,GAAM,IAAID,EAAE6yD,UAAU,IAAI7yD,EAAE6yD,UAAQ7yD,EAAE6yD,QAAQ,EAAE7yD,EAAE8yD,QAAQ7yD,MAAG,SAASA,GAAM,IAAID,EAAE6yD,UAAU,IAAI7yD,EAAE6yD,UAAQ7yD,EAAE6yD,QAAQ,EAAE7yD,EAAE8yD,QAAQ7yD,OAAK,IAAID,EAAE6yD,UAAU7yD,EAAE6yD,QAAQ,EAAE7yD,EAAE8yD,QAAQ7yD,GAAG,GAAG,IAAID,EAAE6yD,QAAQ,OAAO7yD,EAAE8yD,QAAQ3+D,QAAQ,MAAM6L,EAAE8yD,QACpZ,IAAI70B,EAAE,CAAC/tB,QAAQ,MAAMkuB,EAAE,CAACtoB,WAAW,MAAMwoB,EAAE,CAAChL,uBAAuB2K,EAAEtoB,wBAAwByoB,EAAEvE,kBAAkB3K,GAAGh7B,EAAQ6+D,SAAS,CAACtkB,IAAIzR,EAAEj7B,QAAQ,SAAS/B,EAAEC,EAAExC,GAAGu/B,EAAEh9B,GAAE,WAAWC,EAAEvM,MAAM4B,KAAKpC,aAAYuK,IAAIzF,MAAM,SAASgI,GAAG,IAAIC,EAAE,EAAuB,OAArB+8B,EAAEh9B,GAAE,WAAWC,OAAaA,GAAG+yD,QAAQ,SAAShzD,GAAG,OAAOg9B,EAAEh9B,GAAE,SAASA,GAAG,OAAOA,MAAK,IAAIizD,KAAK,SAASjzD,GAAG,IAAI0zB,EAAE1zB,GAAG,MAAMlI,MAAM,yEAAyE,OAAOkI,IAAI9L,EAAQ07B,UAAU1G,EAAEh1B,EAAQi2C,SAASpqC,EACne7L,EAAQo2C,SAAS/a,EAAEr7B,EAAQg/D,cAAc/pC,EAAEj1B,EAAQq2C,WAAWjb,EAAEp7B,EAAQs2C,SAAS3yC,EAAE3D,EAAQ6O,mDAAmDu7B,EAC9IpqC,EAAQi/D,aAAa,SAASnzD,EAAEC,EAAExC,GAAG,GAAG,OAAOuC,QAAG,IAASA,EAAE,MAAMlI,MAAM,iFAAiFkI,EAAE,KAAK,IAAImB,EAAEiS,EAAE,GAAGpT,EAAEjC,OAAOmC,EAAEF,EAAElM,IAAIiR,EAAE/E,EAAEsxB,IAAIxsB,EAAE9E,EAAEuxB,OAAO,GAAG,MAAMtxB,EAAE,CAAoE,QAAnE,IAASA,EAAEqxB,MAAMvsB,EAAE9E,EAAEqxB,IAAIxsB,EAAEoqB,EAAEhf,cAAS,IAASjQ,EAAEnM,MAAMoM,EAAE,GAAGD,EAAEnM,KAAQkM,EAAE9I,MAAM8I,EAAE9I,KAAKyE,aAAa,IAAI0F,EAAErB,EAAE9I,KAAKyE,aAAa,IAAIyF,KAAKnB,EAAEkmB,EAAEpyB,KAAKkM,EAAEmB,KAAK+uB,EAAEr9B,eAAesO,KAAKD,EAAEC,QAAG,IAASnB,EAAEmB,SAAI,IAASC,EAAEA,EAAED,GAAGnB,EAAEmB,IAAI,IAAIA,EAAElO,UAAUC,OAAO,EAAE,GAAG,IAAIiO,EAAED,EAAE2G,SAASrK,OAAO,GAAG,EAAE2D,EAAE,CAACC,EAAE9N,MAAM6N,GACrf,IAAI,IAAIhK,EAAE,EAAEA,EAAEgK,EAAEhK,IAAIiK,EAAEjK,GAAGlE,UAAUkE,EAAE,GAAG+J,EAAE2G,SAASzG,EAAE,MAAM,CAAC+D,SAASP,EAAE3N,KAAK8I,EAAE9I,KAAKpD,IAAIoM,EAAEoxB,IAAIvsB,EAAEhH,MAAMoD,EAAEowB,OAAOzsB,IAAI5Q,EAAQk/D,cAAc,SAASpzD,GAAqK,OAAlKA,EAAE,CAACoF,SAASihB,EAAE6G,cAAcltB,EAAEqzD,eAAerzD,EAAEszD,aAAa,EAAEC,SAAS,KAAKC,SAAS,KAAKC,cAAc,KAAKC,YAAY,OAAQH,SAAS,CAACnuD,SAAS8gB,EAAE7gB,SAASrF,GAAUA,EAAEwzD,SAASxzD,GAAG9L,EAAQ2M,cAAckyB,EAAE7+B,EAAQy/D,cAAc,SAAS3zD,GAAG,IAAIC,EAAE8yB,EAAEt6B,KAAK,KAAKuH,GAAY,OAATC,EAAE/I,KAAK8I,EAASC,GAAG/L,EAAQ0/D,UAAU,WAAW,MAAM,CAAC1jD,QAAQ,OACzdhc,EAAQ2/D,WAAW,SAAS7zD,GAAG,MAAM,CAACoF,SAASlE,EAAErE,OAAOmD,IAAI9L,EAAQ4/D,eAAepgC,EAAEx/B,EAAQ6/D,KAAK,SAAS/zD,GAAG,MAAM,CAACoF,SAASoqB,EAAElqB,SAAS,CAACutD,SAAS,EAAEC,QAAQ9yD,GAAGuF,MAAMq4B,IAAI1pC,EAAQ8/D,KAAK,SAASh0D,EAAEC,GAAG,MAAM,CAACmF,SAASghB,EAAElvB,KAAK8I,EAAEzD,aAAQ,IAAS0D,EAAE,KAAKA,IAAI/L,EAAQ+/D,gBAAgB,SAASj0D,GAAG,IAAIC,EAAEm+B,EAAEtoB,WAAWsoB,EAAEtoB,WAAW,GAAG,IAAI9V,IAAJ,QAAgBo+B,EAAEtoB,WAAW7V,IAAI/L,EAAQggE,aAAa,WAAW,MAAMp8D,MAAM,6DAC9Y5D,EAAQsjC,YAAY,SAASx3B,EAAEC,GAAG,OAAOg+B,EAAE/tB,QAAQsnB,YAAYx3B,EAAEC,IAAI/L,EAAQujC,WAAW,SAASz3B,GAAG,OAAOi+B,EAAE/tB,QAAQunB,WAAWz3B,IAAI9L,EAAQgkC,cAAc,aAAahkC,EAAQikC,iBAAiB,SAASn4B,GAAG,OAAOi+B,EAAE/tB,QAAQioB,iBAAiBn4B,IAAI9L,EAAQwjC,UAAU,SAAS13B,EAAEC,GAAG,OAAOg+B,EAAE/tB,QAAQwnB,UAAU13B,EAAEC,IAAI/L,EAAQqkC,MAAM,WAAW,OAAO0F,EAAE/tB,QAAQqoB,SAASrkC,EAAQyjC,oBAAoB,SAAS33B,EAAEC,EAAExC,GAAG,OAAOwgC,EAAE/tB,QAAQynB,oBAAoB33B,EAAEC,EAAExC,IAC3bvJ,EAAQ0jC,mBAAmB,SAAS53B,EAAEC,GAAG,OAAOg+B,EAAE/tB,QAAQ0nB,mBAAmB53B,EAAEC,IAAI/L,EAAQ2jC,gBAAgB,SAAS73B,EAAEC,GAAG,OAAOg+B,EAAE/tB,QAAQ2nB,gBAAgB73B,EAAEC,IAAI/L,EAAQ4jC,QAAQ,SAAS93B,EAAEC,GAAG,OAAOg+B,EAAE/tB,QAAQ4nB,QAAQ93B,EAAEC,IAAI/L,EAAQ6jC,WAAW,SAAS/3B,EAAEC,EAAExC,GAAG,OAAOwgC,EAAE/tB,QAAQ6nB,WAAW/3B,EAAEC,EAAExC,IAAIvJ,EAAQ8jC,OAAO,SAASh4B,GAAG,OAAOi+B,EAAE/tB,QAAQ8nB,OAAOh4B,IAAI9L,EAAQ+jC,SAAS,SAASj4B,GAAG,OAAOi+B,EAAE/tB,QAAQ+nB,SAASj4B,IAAI9L,EAAQokC,qBAAqB,SAASt4B,EAAEC,EAAExC,GAAG,OAAOwgC,EAAE/tB,QAAQooB,qBAAqBt4B,EAAEC,EAAExC,IAC7evJ,EAAQkkC,cAAc,WAAW,OAAO6F,EAAE/tB,QAAQkoB,iBAAiBlkC,EAAQ0yC,QAAQ,2CCtBjF3yC,EAAOC,QAAU,EAAjBD,uCCAAA,EAAOC,QAAU,EAAjBD,qCCMW,SAASmN,EAAEpB,EAAEC,GAAG,IAAIC,EAAEF,EAAE7M,OAAO6M,EAAE1M,KAAK2M,GAAGD,EAAE,KAAK,EAAEE,GAAG,CAAC,IAAIiB,EAAEjB,EAAE,IAAI,EAAEzC,EAAEuC,EAAEmB,GAAG,KAAG,EAAEE,EAAE5D,EAAEwC,IAA0B,MAAMD,EAA7BA,EAAEmB,GAAGlB,EAAED,EAAEE,GAAGzC,EAAEyC,EAAEiB,GAAgB,SAAS2D,EAAE9E,GAAG,OAAO,IAAIA,EAAE7M,OAAO,KAAK6M,EAAE,GAAG,SAAS+E,EAAE/E,GAAG,GAAG,IAAIA,EAAE7M,OAAO,OAAO,KAAK,IAAI8M,EAAED,EAAE,GAAGE,EAAEF,EAAElF,MAAM,GAAGoF,IAAID,EAAE,CAACD,EAAE,GAAGE,EAAEF,EAAE,IAAI,IAAImB,EAAE,EAAE1D,EAAEuC,EAAE7M,OAAO0E,EAAE4F,IAAI,EAAE0D,EAAEtJ,GAAG,CAAC,IAAIT,EAAE,GAAG+J,EAAE,GAAG,EAAEiS,EAAEpT,EAAE5I,GAAG8B,EAAE9B,EAAE,EAAEgvB,EAAEpmB,EAAE9G,GAAG,GAAG,EAAEmI,EAAE+R,EAAElT,GAAGhH,EAAEuE,GAAG,EAAE4D,EAAE+kB,EAAEhT,IAAIpT,EAAEmB,GAAGilB,EAAEpmB,EAAE9G,GAAGgH,EAAEiB,EAAEjI,IAAI8G,EAAEmB,GAAGiS,EAAEpT,EAAE5I,GAAG8I,EAAEiB,EAAE/J,OAAQ,MAAG8B,EAAEuE,GAAG,EAAE4D,EAAE+kB,EAAElmB,IAA0B,MAAMF,EAA7BA,EAAEmB,GAAGilB,EAAEpmB,EAAE9G,GAAGgH,EAAEiB,EAAEjI,IAAgB,OAAO+G,EAC1c,SAASoB,EAAErB,EAAEC,GAAG,IAAIC,EAAEF,EAAEm0D,UAAUl0D,EAAEk0D,UAAU,OAAO,IAAIj0D,EAAEA,EAAEF,EAAEkW,GAAGjW,EAAEiW,GAAG,GAAG,kBAAkBk+C,aAAa,oBAAoBA,YAAYh8C,IAAI,CAAC,IAAIvT,EAAEuvD,YAAYlgE,EAAQ4c,aAAa,WAAW,OAAOjM,EAAEuT,WAAW,CAAC,IAAIrY,EAAEoY,KAAKmX,EAAEvvB,EAAEqY,MAAMlkB,EAAQ4c,aAAa,WAAW,OAAO/Q,EAAEqY,MAAMkX,GAAG,IAAIC,EAAE,GAAGrJ,EAAE,GAAGG,EAAE,EAAEnlB,EAAE,KAAKsuB,EAAE,EAAE3tB,GAAE,EAAGsC,GAAE,EAAG0M,GAAE,EAAG2U,EAAE,oBAAoBqC,WAAWA,WAAW,KAAKqB,EAAE,oBAAoBnB,aAAaA,aAAa,KAAKzB,EAAE,qBAAqB+tC,aAAaA,aAAa,KACnT,SAASlrC,EAAEnpB,GAAG,IAAI,IAAIC,EAAE6E,EAAEohB,GAAG,OAAOjmB,GAAG,CAAC,GAAG,OAAOA,EAAE+uB,SAASjqB,EAAEmhB,OAAQ,MAAGjmB,EAAEq0D,WAAWt0D,GAAgD,MAA9C+E,EAAEmhB,GAAGjmB,EAAEk0D,UAAUl0D,EAAEs0D,eAAenzD,EAAEmuB,EAAEtvB,GAAcA,EAAE6E,EAAEohB,IAAI,SAASmD,EAAErpB,GAAa,GAAV6Q,GAAE,EAAGsY,EAAEnpB,IAAOmE,EAAE,GAAG,OAAOW,EAAEyqB,GAAGprB,GAAE,EAAGonB,EAAEpF,OAAO,CAAC,IAAIlmB,EAAE6E,EAAEohB,GAAG,OAAOjmB,GAAGivB,EAAE7F,EAAEppB,EAAEq0D,UAAUt0D,IACla,SAASmmB,EAAEnmB,EAAEC,GAAGkE,GAAE,EAAG0M,IAAIA,GAAE,EAAGqY,EAAEiH,GAAGA,GAAG,GAAGtuB,GAAE,EAAG,IAAI3B,EAAEsvB,EAAE,IAAS,IAALrG,EAAElpB,GAAOiB,EAAE4D,EAAEyqB,GAAG,OAAOruB,MAAMA,EAAEqzD,eAAet0D,IAAID,IAAI+yB,MAAM,CAAC,IAAI5xB,EAAED,EAAE8tB,SAAS,GAAG,oBAAoB7tB,EAAE,CAACD,EAAE8tB,SAAS,KAAKQ,EAAEtuB,EAAEszD,cAAc,IAAI/2D,EAAE0D,EAAED,EAAEqzD,gBAAgBt0D,GAAGA,EAAE/L,EAAQ4c,eAAe,oBAAoBrT,EAAEyD,EAAE8tB,SAASvxB,EAAEyD,IAAI4D,EAAEyqB,IAAIxqB,EAAEwqB,GAAGpG,EAAElpB,QAAQ8E,EAAEwqB,GAAGruB,EAAE4D,EAAEyqB,GAAG,GAAG,OAAOruB,EAAE,IAAIrJ,GAAE,MAAO,CAAC,IAAIT,EAAE0N,EAAEohB,GAAG,OAAO9uB,GAAG83B,EAAE7F,EAAEjyB,EAAEk9D,UAAUr0D,GAAGpI,GAAE,EAAG,OAAOA,EAA1V,QAAoWqJ,EAAE,KAAKsuB,EAAEtvB,EAAE2B,GAAE,GADva,qBAAqB4yD,gBAAW,IAASA,UAAUC,iBAAY,IAASD,UAAUC,WAAWC,gBAAgBF,UAAUC,WAAWC,eAAel8D,KAAKg8D,UAAUC,YAC2Q,IACzP13B,EAD6PvJ,GAAE,EAAGC,EAAE,KAAKvD,GAAG,EAAEwD,EAAE,EAAEK,GAAG,EACvc,SAASjB,IAAI,QAAO7+B,EAAQ4c,eAAekjB,EAAEL,GAAQ,SAASt/B,IAAI,GAAG,OAAOq/B,EAAE,CAAC,IAAI1zB,EAAE9L,EAAQ4c,eAAekjB,EAAEh0B,EAAE,IAAIC,GAAE,EAAG,IAAIA,EAAEyzB,GAAE,EAAG1zB,GAAX,QAAsBC,EAAE+8B,KAAKvJ,GAAE,EAAGC,EAAE,YAAYD,GAAE,EAAS,GAAG,oBAAoBnN,EAAE0W,EAAE,WAAW1W,EAAEjyB,SAAS,GAAG,qBAAqBugE,eAAe,CAAC,IAAIh3B,EAAE,IAAIg3B,eAAe32B,EAAEL,EAAEi3B,MAAMj3B,EAAEk3B,MAAMC,UAAU1gE,EAAE2oC,EAAE,WAAWiB,EAAE+2B,YAAY,YAAYh4B,EAAE,WAAWxX,EAAEnxB,EAAE,IAAI,SAASk3B,EAAEvrB,GAAG0zB,EAAE1zB,EAAEyzB,IAAIA,GAAE,EAAGuJ,KAAK,SAAS9N,EAAElvB,EAAEC,GAAGkwB,EAAE3K,GAAE,WAAWxlB,EAAE9L,EAAQ4c,kBAAiB7Q,GAC1d/L,EAAQwd,sBAAsB,EAAExd,EAAQgd,2BAA2B,EAAEhd,EAAQsd,qBAAqB,EAAEtd,EAAQod,wBAAwB,EAAEpd,EAAQ+gE,mBAAmB,KAAK/gE,EAAQkd,8BAA8B,EAAEld,EAAQsc,wBAAwB,SAASxQ,GAAGA,EAAEgvB,SAAS,MAAM96B,EAAQghE,2BAA2B,WAAW/wD,GAAGtC,IAAIsC,GAAE,EAAGonB,EAAEpF,KACvUjyB,EAAQihE,wBAAwB,SAASn1D,GAAG,EAAEA,GAAG,IAAIA,EAAE/H,QAAQ+B,MAAM,mHAAmH25B,EAAE,EAAE3zB,EAAE8R,KAAKmsC,MAAM,IAAIj+C,GAAG,GAAG9L,EAAQ8c,iCAAiC,WAAW,OAAOwe,GAAGt7B,EAAQkhE,8BAA8B,WAAW,OAAOtwD,EAAEyqB,IAAIr7B,EAAQmhE,cAAc,SAASr1D,GAAG,OAAOwvB,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAIvvB,EAAE,EAAE,MAAM,QAAQA,EAAEuvB,EAAE,IAAItvB,EAAEsvB,EAAEA,EAAEvvB,EAAE,IAAI,OAAOD,IAAX,QAAuBwvB,EAAEtvB,IAAIhM,EAAQohE,wBAAwB,aACnfphE,EAAQ0c,sBAAsB,aAAa1c,EAAQqhE,yBAAyB,SAASv1D,EAAEC,GAAG,OAAOD,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQA,EAAE,EAAE,IAAIE,EAAEsvB,EAAEA,EAAExvB,EAAE,IAAI,OAAOC,IAAX,QAAuBuvB,EAAEtvB,IAC9LhM,EAAQoc,0BAA0B,SAAStQ,EAAEC,EAAEC,GAAG,IAAIiB,EAAEjN,EAAQ4c,eAA8F,OAA/E,kBAAkB5Q,GAAG,OAAOA,EAAaA,EAAE,kBAAZA,EAAEA,EAAEs1D,QAA6B,EAAEt1D,EAAEiB,EAAEjB,EAAEiB,EAAGjB,EAAEiB,EAASnB,GAAG,KAAK,EAAE,IAAIvC,GAAG,EAAE,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,KAAK,EAAEA,EAAE,WAAW,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,QAAQA,EAAE,IAAmN,OAAzMuC,EAAE,CAACkW,GAAGmQ,IAAI2I,SAAS/uB,EAAEu0D,cAAcx0D,EAAEs0D,UAAUp0D,EAAEq0D,eAAvD92D,EAAEyC,EAAEzC,EAAoE02D,WAAW,GAAGj0D,EAAEiB,GAAGnB,EAAEm0D,UAAUj0D,EAAEkB,EAAE8kB,EAAElmB,GAAG,OAAO8E,EAAEyqB,IAAIvvB,IAAI8E,EAAEohB,KAAKrV,GAAGqY,EAAEiH,GAAGA,GAAG,GAAGtf,GAAE,EAAGqe,EAAE7F,EAAEnpB,EAAEiB,MAAMnB,EAAEm0D,UAAU12D,EAAE2D,EAAEmuB,EAAEvvB,GAAGmE,GAAGtC,IAAIsC,GAAE,EAAGonB,EAAEpF,KAAYnmB,GACle9L,EAAQwc,qBAAqBqiB,EAAE7+B,EAAQuhE,sBAAsB,SAASz1D,GAAG,IAAIC,EAAEuvB,EAAE,OAAO,WAAW,IAAItvB,EAAEsvB,EAAEA,EAAEvvB,EAAE,IAAI,OAAOD,EAAEtM,MAAM4B,KAAKpC,WAAxB,QAA2Cs8B,EAAEtvB,uCCf1JjM,EAAOC,QAAU,EAAjBD,sBCEFA,EAAOC,QAAU,CACf,MAAQ,EACR,MAAQ,EACR,IAAM,EACN,KAAO,EACP,OAAS,EACT,IAAM,EACN,KAAO,EACP,OAAS,EACT,MAAQ,EACR,MAAQ,EACR,OAAS,EACT,QAAU,EACV,OAAS,EACT,KAAO,iCCHT,IAEIqD,EAAU,aA2CdtD,EAAOC,QAAUqD,mVC7DjB,IAAIm+D,EAAU,eACd,SAASC,IACP,aACA1hE,EAAOC,QAAUyhE,EAAsB,WACrC,OAAOzhE,GACND,EAAOC,QAAQ0hE,YAAa,EAAM3hE,EAAOC,QAAiB,QAAID,EAAOC,QACxE,IAAIA,EAAU,GACZ2hE,EAAKjiE,OAAOC,UACZhB,EAASgjE,EAAG/iE,eACZyG,EAAiB3F,OAAO2F,gBAAkB,SAAUm0C,EAAK55C,EAAKiwD,GAC5DrW,EAAI55C,GAAOiwD,EAAK5uD,OAElB2gE,EAAU,mBAAqB7yD,OAASA,OAAS,GACjD8yD,EAAiBD,EAAQ9xD,UAAY,aACrCgyD,EAAsBF,EAAQG,eAAiB,kBAC/CC,EAAoBJ,EAAQK,aAAe,gBAC7C,SAASC,EAAO1oB,EAAK55C,EAAKqB,GACxB,OAAOvB,OAAO2F,eAAem0C,EAAK55C,EAAK,CACrCqB,MAAOA,EACPqE,YAAY,EACZuM,cAAc,EACdswD,UAAU,IACR3oB,EAAI55C,GAEV,IACEsiE,EAAO,GAAI,IACX,MAAOtgE,GACPsgE,EAAS,SAAgB1oB,EAAK55C,EAAKqB,GACjC,OAAOu4C,EAAI55C,GAAOqB,GAGtB,SAASmhE,EAAKC,EAASC,EAASC,EAAMC,GACpC,IAAIC,EAAiBH,GAAWA,EAAQ3iE,qBAAqB+iE,EAAYJ,EAAUI,EACjFC,EAAYjjE,OAAO4D,OAAOm/D,EAAe9iE,WACzCsG,EAAU,IAAI28D,EAAQJ,GAAe,IACvC,OAAOn9D,EAAes9D,EAAW,UAAW,CAC1C1hE,MAAO4hE,EAAiBR,EAASE,EAAMt8D,KACrC08D,EAEN,SAASG,EAASnpB,EAAIH,EAAKt6C,GACzB,IACE,MAAO,CACL8D,KAAM,SACN9D,IAAKy6C,EAAG95C,KAAK25C,EAAKt6C,IAEpB,MAAO0C,GACP,MAAO,CACLoB,KAAM,QACN9D,IAAK0C,IAIX5B,EAAQoiE,KAAOA,EACf,IAAIW,EAAmB,GACvB,SAASL,KACT,SAASM,KACT,SAASC,KACT,IAAIC,EAAoB,GACxBhB,EAAOgB,EAAmBrB,GAAgB,WACxC,OAAOzgE,QAET,IAAI+hE,EAAWzjE,OAAOgG,eACpB09D,EAA0BD,GAAYA,EAASA,EAASte,EAAO,MACjEue,GAA2BA,IAA4BzB,GAAMhjE,EAAOkB,KAAKujE,EAAyBvB,KAAoBqB,EAAoBE,GAC1I,IAAIC,EAAKJ,EAA2BtjE,UAAY+iE,EAAU/iE,UAAYD,OAAO4D,OAAO4/D,GACpF,SAASI,EAAsB3jE,GAC7B,CAAC,OAAQ,QAAS,UAAUkO,SAAQ,SAAU01D,GAC5CrB,EAAOviE,EAAW4jE,GAAQ,SAAUrkE,GAClC,OAAOkC,KAAKoiE,QAAQD,EAAQrkE,SAIlC,SAASukE,EAAcd,EAAWe,GAChC,SAASC,EAAOJ,EAAQrkE,EAAKuC,EAASC,GACpC,IAAIkiE,EAASd,EAASH,EAAUY,GAASZ,EAAWzjE,GACpD,GAAI,UAAY0kE,EAAO5gE,KAAM,CAC3B,IAAI6gE,EAASD,EAAO1kE,IAClB+B,EAAQ4iE,EAAO5iE,MACjB,OAAOA,GAAS,UAAYugE,EAAQvgE,IAAUtC,EAAOkB,KAAKoB,EAAO,WAAayiE,EAAYjiE,QAAQR,EAAM6iE,SAAS7vC,MAAK,SAAUhzB,GAC9H0iE,EAAO,OAAQ1iE,EAAOQ,EAASC,MAC9B,SAAUE,GACX+hE,EAAO,QAAS/hE,EAAKH,EAASC,MAC3BgiE,EAAYjiE,QAAQR,GAAOgzB,MAAK,SAAU8vC,GAC7CF,EAAO5iE,MAAQ8iE,EAAWtiE,EAAQoiE,MACjC,SAAU/9D,GACX,OAAO69D,EAAO,QAAS79D,EAAOrE,EAASC,MAG3CA,EAAOkiE,EAAO1kE,KAEhB,IAAI8kE,EACJ3+D,EAAejE,KAAM,UAAW,CAC9BH,MAAO,SAAesiE,EAAQrkE,GAC5B,SAAS+kE,IACP,OAAO,IAAIP,GAAY,SAAUjiE,EAASC,GACxCiiE,EAAOJ,EAAQrkE,EAAKuC,EAASC,MAGjC,OAAOsiE,EAAkBA,EAAkBA,EAAgB/vC,KAAKgwC,EAA4BA,GAA8BA,OAIhI,SAASpB,EAAiBR,EAASE,EAAMt8D,GACvC,IAAI5B,EAAQ,iBACZ,OAAO,SAAUk/D,EAAQrkE,GACvB,GAAI,cAAgBmF,EAAO,MAAM,IAAIT,MAAM,gCAC3C,GAAI,cAAgBS,EAAO,CACzB,GAAI,UAAYk/D,EAAQ,MAAMrkE,EAC9B,OAAOglE,IAET,IAAKj+D,EAAQs9D,OAASA,EAAQt9D,EAAQ/G,IAAMA,IAAO,CACjD,IAAIilE,EAAWl+D,EAAQk+D,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAUl+D,GACnD,GAAIm+D,EAAgB,CAClB,GAAIA,IAAmBrB,EAAkB,SACzC,OAAOqB,GAGX,GAAI,SAAWn+D,EAAQs9D,OAAQt9D,EAAQq+D,KAAOr+D,EAAQs+D,MAAQt+D,EAAQ/G,SAAS,GAAI,UAAY+G,EAAQs9D,OAAQ,CAC7G,GAAI,mBAAqBl/D,EAAO,MAAMA,EAAQ,YAAa4B,EAAQ/G,IACnE+G,EAAQu+D,kBAAkBv+D,EAAQ/G,SAC7B,WAAa+G,EAAQs9D,QAAUt9D,EAAQw+D,OAAO,SAAUx+D,EAAQ/G,KACvEmF,EAAQ,YACR,IAAIu/D,EAASd,EAAST,EAASE,EAAMt8D,GACrC,GAAI,WAAa29D,EAAO5gE,KAAM,CAC5B,GAAIqB,EAAQ4B,EAAQ+3B,KAAO,YAAc,iBAAkB4lC,EAAO1kE,MAAQ6jE,EAAkB,SAC5F,MAAO,CACL9hE,MAAO2iE,EAAO1kE,IACd8+B,KAAM/3B,EAAQ+3B,MAGlB,UAAY4lC,EAAO5gE,OAASqB,EAAQ,YAAa4B,EAAQs9D,OAAS,QAASt9D,EAAQ/G,IAAM0kE,EAAO1kE,OAItG,SAASmlE,EAAoBF,EAAUl+D,GACrC,IAAIy+D,EAAaz+D,EAAQs9D,OACvBA,EAASY,EAASr0D,SAAS40D,GAC7B,QAAIpiE,IAAcihE,EAAQ,OAAOt9D,EAAQk+D,SAAW,KAAM,UAAYO,GAAcP,EAASr0D,SAAiB,SAAM7J,EAAQs9D,OAAS,SAAUt9D,EAAQ/G,SAAMoD,EAAW+hE,EAAoBF,EAAUl+D,GAAU,UAAYA,EAAQs9D,SAAW,WAAamB,IAAez+D,EAAQs9D,OAAS,QAASt9D,EAAQ/G,IAAM,IAAI0D,UAAU,oCAAsC8hE,EAAa,aAAc3B,EAClY,IAAIa,EAASd,EAASS,EAAQY,EAASr0D,SAAU7J,EAAQ/G,KACzD,GAAI,UAAY0kE,EAAO5gE,KAAM,OAAOiD,EAAQs9D,OAAS,QAASt9D,EAAQ/G,IAAM0kE,EAAO1kE,IAAK+G,EAAQk+D,SAAW,KAAMpB,EACjH,IAAI/oB,EAAO4pB,EAAO1kE,IAClB,OAAO86C,EAAOA,EAAKhc,MAAQ/3B,EAAQk+D,EAASQ,YAAc3qB,EAAK/4C,MAAOgF,EAAQyzB,KAAOyqC,EAASS,QAAS,WAAa3+D,EAAQs9D,SAAWt9D,EAAQs9D,OAAS,OAAQt9D,EAAQ/G,SAAMoD,GAAY2D,EAAQk+D,SAAW,KAAMpB,GAAoB/oB,GAAQ/zC,EAAQs9D,OAAS,QAASt9D,EAAQ/G,IAAM,IAAI0D,UAAU,oCAAqCqD,EAAQk+D,SAAW,KAAMpB,GAErW,SAAS8B,EAAaC,GACpB,IAAIC,EAAQ,CACVC,OAAQF,EAAK,IAEf,KAAKA,IAASC,EAAME,SAAWH,EAAK,IAAK,KAAKA,IAASC,EAAMG,WAAaJ,EAAK,GAAIC,EAAMI,SAAWL,EAAK,IAAK1jE,KAAKgkE,WAAWhmE,KAAK2lE,GAErI,SAASM,EAAcN,GACrB,IAAInB,EAASmB,EAAMO,YAAc,GACjC1B,EAAO5gE,KAAO,gBAAiB4gE,EAAO1kE,IAAK6lE,EAAMO,WAAa1B,EAEhE,SAAShB,EAAQJ,GACfphE,KAAKgkE,WAAa,CAAC,CACjBJ,OAAQ,SACNxC,EAAY30D,QAAQg3D,EAAczjE,MAAOA,KAAKmkE,OAAM,GAE1D,SAAS1gB,EAAO2gB,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAAS3D,GAC9B,GAAI4D,EAAgB,OAAOA,EAAe5lE,KAAK2lE,GAC/C,GAAI,mBAAqBA,EAAS9rC,KAAM,OAAO8rC,EAC/C,IAAKxkE,MAAMwkE,EAASvmE,QAAS,CAC3B,IAAIF,GAAK,EACP26B,EAAO,SAASA,IACd,OAAS36B,EAAIymE,EAASvmE,QAAS,GAAIN,EAAOkB,KAAK2lE,EAAUzmE,GAAI,OAAO26B,EAAKz4B,MAAQukE,EAASzmE,GAAI26B,EAAKsE,MAAO,EAAItE,EAC9G,OAAOA,EAAKz4B,WAAQqB,EAAWo3B,EAAKsE,MAAO,EAAItE,GAEnD,OAAOA,EAAKA,KAAOA,GAGvB,MAAO,CACLA,KAAMwqC,GAGV,SAASA,IACP,MAAO,CACLjjE,WAAOqB,EACP07B,MAAM,GAGV,OAAOglC,EAAkBrjE,UAAYsjE,EAA4B59D,EAAeg+D,EAAI,cAAe,CACjGpiE,MAAOgiE,EACPpxD,cAAc,IACZxM,EAAe49D,EAA4B,cAAe,CAC5DhiE,MAAO+hE,EACPnxD,cAAc,IACZmxD,EAAkBt7D,YAAcw6D,EAAOe,EAA4BjB,EAAmB,qBAAsBhiE,EAAQ0lE,oBAAsB,SAAUC,GACtJ,IAAIC,EAAO,mBAAqBD,GAAUA,EAAO/zD,YACjD,QAASg0D,IAASA,IAAS5C,GAAqB,uBAAyB4C,EAAKl+D,aAAek+D,EAAKrkE,QACjGvB,EAAQ6lE,KAAO,SAAUF,GAC1B,OAAOjmE,OAAOomE,eAAiBpmE,OAAOomE,eAAeH,EAAQ1C,IAA+B0C,EAAO3e,UAAYic,EAA4Bf,EAAOyD,EAAQ3D,EAAmB,sBAAuB2D,EAAOhmE,UAAYD,OAAO4D,OAAO+/D,GAAKsC,GACzO3lE,EAAQ+lE,MAAQ,SAAU7mE,GAC3B,MAAO,CACL4kE,QAAS5kE,IAEVokE,EAAsBG,EAAc9jE,WAAYuiE,EAAOuB,EAAc9jE,UAAWmiE,GAAqB,WACtG,OAAO1gE,QACLpB,EAAQyjE,cAAgBA,EAAezjE,EAAQgmE,MAAQ,SAAU3D,EAASC,EAASC,EAAMC,EAAakB,QACxG,IAAWA,IAAgBA,EAAcliE,SACzC,IAAIykE,EAAO,IAAIxC,EAAcrB,EAAKC,EAASC,EAASC,EAAMC,GAAckB,GACxE,OAAO1jE,EAAQ0lE,oBAAoBpD,GAAW2D,EAAOA,EAAKvsC,OAAOzF,MAAK,SAAU4vC,GAC9E,OAAOA,EAAO7lC,KAAO6lC,EAAO5iE,MAAQglE,EAAKvsC,WAE1C4pC,EAAsBD,GAAKnB,EAAOmB,EAAIrB,EAAmB,aAAcE,EAAOmB,EAAIxB,GAAgB,WACnG,OAAOzgE,QACL8gE,EAAOmB,EAAI,YAAY,WACzB,MAAO,wBACLrjE,EAAQgH,KAAO,SAAUi0C,GAC3B,IAAItwC,EAASjL,OAAOu7C,GAClBj0C,EAAO,GACT,IAAK,IAAIpH,KAAO+K,EAAQ3D,EAAK5H,KAAKQ,GAClC,OAAOoH,EAAK61C,UAAW,SAASnjB,IAC9B,KAAO1yB,EAAK/H,QAAS,CACnB,IAAIW,EAAMoH,EAAKJ,MACf,GAAIhH,KAAO+K,EAAQ,OAAO+uB,EAAKz4B,MAAQrB,EAAK85B,EAAKsE,MAAO,EAAItE,EAE9D,OAAOA,EAAKsE,MAAO,EAAItE,IAExB15B,EAAQ6kD,OAASA,EAAQ+d,EAAQjjE,UAAY,CAC9CiS,YAAagxD,EACb2C,MAAO,SAAeW,GACpB,GAAI9kE,KAAKi3C,KAAO,EAAGj3C,KAAKs4B,KAAO,EAAGt4B,KAAKkjE,KAAOljE,KAAKmjE,WAAQjiE,EAAWlB,KAAK48B,MAAO,EAAI58B,KAAK+iE,SAAW,KAAM/iE,KAAKmiE,OAAS,OAAQniE,KAAKlC,SAAMoD,EAAWlB,KAAKgkE,WAAWv3D,QAAQw3D,IAAiBa,EAAe,IAAK,IAAI3kE,KAAQH,KAAM,MAAQG,EAAK4W,OAAO,IAAMxZ,EAAOkB,KAAKuB,KAAMG,KAAUP,OAAOO,EAAKQ,MAAM,MAAQX,KAAKG,QAAQe,IAEtU6jE,KAAM,WACJ/kE,KAAK48B,MAAO,EACZ,IAAIooC,EAAahlE,KAAKgkE,WAAW,GAAGE,WACpC,GAAI,UAAYc,EAAWpjE,KAAM,MAAMojE,EAAWlnE,IAClD,OAAOkC,KAAKilE,MAEd7B,kBAAmB,SAA2B8B,GAC5C,GAAIllE,KAAK48B,KAAM,MAAMsoC,EACrB,IAAIrgE,EAAU7E,KACd,SAASmlE,EAAOC,EAAKC,GACnB,OAAO7C,EAAO5gE,KAAO,QAAS4gE,EAAO1kE,IAAMonE,EAAWrgE,EAAQyzB,KAAO8sC,EAAKC,IAAWxgE,EAAQs9D,OAAS,OAAQt9D,EAAQ/G,SAAMoD,KAAcmkE,EAE5I,IAAK,IAAI1nE,EAAIqC,KAAKgkE,WAAWnmE,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAIgmE,EAAQ3jE,KAAKgkE,WAAWrmE,GAC1B6kE,EAASmB,EAAMO,WACjB,GAAI,SAAWP,EAAMC,OAAQ,OAAOuB,EAAO,OAC3C,GAAIxB,EAAMC,QAAU5jE,KAAKi3C,KAAM,CAC7B,IAAIquB,EAAW/nE,EAAOkB,KAAKklE,EAAO,YAChC4B,EAAahoE,EAAOkB,KAAKklE,EAAO,cAClC,GAAI2B,GAAYC,EAAY,CAC1B,GAAIvlE,KAAKi3C,KAAO0sB,EAAME,SAAU,OAAOsB,EAAOxB,EAAME,UAAU,GAC9D,GAAI7jE,KAAKi3C,KAAO0sB,EAAMG,WAAY,OAAOqB,EAAOxB,EAAMG,iBACjD,GAAIwB,GACT,GAAItlE,KAAKi3C,KAAO0sB,EAAME,SAAU,OAAOsB,EAAOxB,EAAME,UAAU,OACzD,CACL,IAAK0B,EAAY,MAAM,IAAI/iE,MAAM,0CACjC,GAAIxC,KAAKi3C,KAAO0sB,EAAMG,WAAY,OAAOqB,EAAOxB,EAAMG,gBAK9DT,OAAQ,SAAgBzhE,EAAM9D,GAC5B,IAAK,IAAIH,EAAIqC,KAAKgkE,WAAWnmE,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAIgmE,EAAQ3jE,KAAKgkE,WAAWrmE,GAC5B,GAAIgmE,EAAMC,QAAU5jE,KAAKi3C,MAAQ15C,EAAOkB,KAAKklE,EAAO,eAAiB3jE,KAAKi3C,KAAO0sB,EAAMG,WAAY,CACjG,IAAI0B,EAAe7B,EACnB,OAGJ6B,IAAiB,UAAY5jE,GAAQ,aAAeA,IAAS4jE,EAAa5B,QAAU9lE,GAAOA,GAAO0nE,EAAa1B,aAAe0B,EAAe,MAC7I,IAAIhD,EAASgD,EAAeA,EAAatB,WAAa,GACtD,OAAO1B,EAAO5gE,KAAOA,EAAM4gE,EAAO1kE,IAAMA,EAAK0nE,GAAgBxlE,KAAKmiE,OAAS,OAAQniE,KAAKs4B,KAAOktC,EAAa1B,WAAYnC,GAAoB3hE,KAAKylE,SAASjD,IAE5JiD,SAAU,SAAkBjD,EAAQuB,GAClC,GAAI,UAAYvB,EAAO5gE,KAAM,MAAM4gE,EAAO1kE,IAC1C,MAAO,UAAY0kE,EAAO5gE,MAAQ,aAAe4gE,EAAO5gE,KAAO5B,KAAKs4B,KAAOkqC,EAAO1kE,IAAM,WAAa0kE,EAAO5gE,MAAQ5B,KAAKilE,KAAOjlE,KAAKlC,IAAM0kE,EAAO1kE,IAAKkC,KAAKmiE,OAAS,SAAUniE,KAAKs4B,KAAO,OAAS,WAAakqC,EAAO5gE,MAAQmiE,IAAa/jE,KAAKs4B,KAAOyrC,GAAWpC,GAEtQ+D,OAAQ,SAAgB5B,GACtB,IAAK,IAAInmE,EAAIqC,KAAKgkE,WAAWnmE,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAIgmE,EAAQ3jE,KAAKgkE,WAAWrmE,GAC5B,GAAIgmE,EAAMG,aAAeA,EAAY,OAAO9jE,KAAKylE,SAAS9B,EAAMO,WAAYP,EAAMI,UAAWE,EAAcN,GAAQhC,IAGvH,MAAS,SAAgBiC,GACvB,IAAK,IAAIjmE,EAAIqC,KAAKgkE,WAAWnmE,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAIgmE,EAAQ3jE,KAAKgkE,WAAWrmE,GAC5B,GAAIgmE,EAAMC,SAAWA,EAAQ,CAC3B,IAAIpB,EAASmB,EAAMO,WACnB,GAAI,UAAY1B,EAAO5gE,KAAM,CAC3B,IAAI+jE,EAASnD,EAAO1kE,IACpBmmE,EAAcN,GAEhB,OAAOgC,GAGX,MAAM,IAAInjE,MAAM,0BAElBojE,cAAe,SAAuBxB,EAAUb,EAAYC,GAC1D,OAAOxjE,KAAK+iE,SAAW,CACrBr0D,SAAU+0C,EAAO2gB,GACjBb,WAAYA,EACZC,QAASA,GACR,SAAWxjE,KAAKmiE,SAAWniE,KAAKlC,SAAMoD,GAAYygE,IAEtD/iE,EAELD,EAAOC,QAAUyhE,EAAqB1hE,EAAOC,QAAQ0hE,YAAa,EAAM3hE,EAAOC,QAAiB,QAAID,EAAOC,yBC/S3G,SAASwhE,EAAQhoB,GAGf,OAAQz5C,EAAOC,QAAUwhE,EAAU,mBAAqBzyD,QAAU,iBAAmBA,OAAOe,SAAW,SAAU0pC,GAC/G,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAO,mBAAqBzqC,QAAUyqC,EAAI5nC,cAAgB7C,QAAUyqC,IAAQzqC,OAAOpP,UAAY,gBAAkB65C,GACvHz5C,EAAOC,QAAQ0hE,YAAa,EAAM3hE,EAAOC,QAAiB,QAAID,EAAOC,QAAUwhE,EAAQhoB,GAE5Fz5C,EAAOC,QAAUwhE,EAASzhE,EAAOC,QAAQ0hE,YAAa,EAAM3hE,EAAOC,QAAiB,QAAID,EAAOC,UCR3FinE,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB7kE,IAAjB8kE,EACH,OAAOA,EAAapnE,QAGrB,IAAID,EAASknE,EAAyBE,GAAY,CAGjDnnE,QAAS,IAOV,OAHAqnE,EAAoBF,GAAUtnE,KAAKE,EAAOC,QAASD,EAAQA,EAAOC,QAASknE,GAGpEnnE,EAAOC,QAIfknE,EAAoBhkE,EAAImkE,ECxBxBH,EAAoBliE,EAAI,SAASjF,GAChC,IAAIunE,EAASvnE,GAAUA,EAAO2hE,WAC7B,WAAa,OAAO3hE,EAAgB,SACpC,WAAa,OAAOA,GAErB,OADAmnE,EAAoBj6D,EAAEq6D,EAAQ,CAAEx7D,EAAGw7D,IAC5BA,cCNR,IACIC,EADApE,EAAWzjE,OAAOgG,eAAiB,SAAS8zC,GAAO,OAAO95C,OAAOgG,eAAe8zC,IAAU,SAASA,GAAO,OAAOA,EAAIwN,WAQzHkgB,EAAoBl1C,EAAI,SAAS/wB,EAAO+2B,GAEvC,GADU,EAAPA,IAAU/2B,EAAQG,KAAKH,IAChB,EAAP+2B,EAAU,OAAO/2B,EACpB,GAAoB,kBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAP+2B,GAAa/2B,EAAMygE,WAAY,OAAOzgE,EAC1C,GAAW,GAAP+2B,GAAoC,oBAAf/2B,EAAMgzB,KAAqB,OAAOhzB,EAE5D,IAAIumE,EAAK9nE,OAAO4D,OAAO,MACvB4jE,EAAoB7rC,EAAEmsC,GACtB,IAAIxsB,EAAM,GACVusB,EAAiBA,GAAkB,CAAC,KAAMpE,EAAS,IAAKA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAInnD,EAAiB,EAAPgc,GAAY/2B,EAAyB,iBAAX+a,KAAyBurD,EAAetvD,QAAQ+D,GAAUA,EAAUmnD,EAASnnD,GACxHtc,OAAOkB,oBAAoBob,GAASnO,SAAQ,SAASjO,GAAOo7C,EAAIp7C,GAAO,WAAa,OAAOqB,EAAMrB,OAIlG,OAFAo7C,EAAa,QAAI,WAAa,OAAO/5C,GACrCimE,EAAoBj6D,EAAEu6D,EAAIxsB,GACnBwsB,MCvBRN,EAAoBj6D,EAAI,SAASjN,EAASynE,GACzC,IAAI,IAAI7nE,KAAO6nE,EACXP,EAAoBQ,EAAED,EAAY7nE,KAASsnE,EAAoBQ,EAAE1nE,EAASJ,IAC5EF,OAAO2F,eAAerF,EAASJ,EAAK,CAAE0F,YAAY,EAAMC,IAAKkiE,EAAW7nE,MCJ3EsnE,EAAoBh6D,EAAI,GAGxBg6D,EAAoB39D,EAAI,SAASo+D,GAChC,OAAOnmE,QAAQu8D,IAAIr+D,OAAOsH,KAAKkgE,EAAoBh6D,GAAG8qC,QAAO,SAAS4vB,EAAUhoE,GAE/E,OADAsnE,EAAoBh6D,EAAEtN,GAAK+nE,EAASC,GAC7BA,IACL,MCNJV,EAAoB/0C,EAAI,SAASw1C,GAEhC,MAAO,aAAeA,EAAf,sBCFRT,EAAoBW,SAAW,SAASF,KCDxCT,EAAoB/5D,EAAI,WACvB,GAA0B,kBAAf26D,WAAyB,OAAOA,WAC3C,IACC,OAAO1mE,MAAQ,IAAIX,SAAS,cAAb,GACd,MAAO8I,GACR,GAAsB,kBAAXkD,OAAqB,OAAOA,QALjB,GCAxBy6D,EAAoBQ,EAAI,SAASluB,EAAKuuB,GAAQ,OAAOroE,OAAOC,UAAUf,eAAeiB,KAAK25C,EAAKuuB,eCA/F,IAAIC,EAAa,GACbC,EAAoB,QAExBf,EAAoBv2D,EAAI,SAASya,EAAK4S,EAAMp+B,EAAK+nE,GAChD,GAAGK,EAAW58C,GAAQ48C,EAAW58C,GAAKhsB,KAAK4+B,OAA3C,CACA,IAAIkqC,EAAQC,EACZ,QAAW7lE,IAAR1C,EAEF,IADA,IAAIwoE,EAAU17D,SAAS27D,qBAAqB,UACpCtpE,EAAI,EAAGA,EAAIqpE,EAAQnpE,OAAQF,IAAK,CACvC,IAAI4mD,EAAIyiB,EAAQrpE,GAChB,GAAG4mD,EAAE2iB,aAAa,QAAUl9C,GAAOu6B,EAAE2iB,aAAa,iBAAmBL,EAAoBroE,EAAK,CAAEsoE,EAASviB,EAAG,OAG1GuiB,IACHC,GAAa,GACbD,EAASx7D,SAASC,cAAc,WAEzB47D,QAAU,QACjBL,EAAOzK,QAAU,IACbyJ,EAAoBsB,IACvBN,EAAO15D,aAAa,QAAS04D,EAAoBsB,IAElDN,EAAO15D,aAAa,eAAgBy5D,EAAoBroE,GACxDsoE,EAAO77B,IAAMjhB,GAEd48C,EAAW58C,GAAO,CAAC4S,GACnB,IAAIyqC,EAAmB,SAASpwB,EAAM5sB,GAErCy8C,EAAOQ,QAAUR,EAAOS,OAAS,KACjC90C,aAAa4pC,GACb,IAAImL,EAAUZ,EAAW58C,GAIzB,UAHO48C,EAAW58C,GAClB88C,EAAOruD,YAAcquD,EAAOruD,WAAWpF,YAAYyzD,GACnDU,GAAWA,EAAQ/6D,SAAQ,SAAS8rC,GAAM,OAAOA,EAAGluB,MACjD4sB,EAAM,OAAOA,EAAK5sB,IAGlBgyC,EAAU9pC,WAAW80C,EAAiBlkE,KAAK,UAAMjC,EAAW,CAAEU,KAAM,UAAW1C,OAAQ4nE,IAAW,MACtGA,EAAOQ,QAAUD,EAAiBlkE,KAAK,KAAM2jE,EAAOQ,SACpDR,EAAOS,OAASF,EAAiBlkE,KAAK,KAAM2jE,EAAOS,QACnDR,GAAcz7D,SAASm8D,KAAKn0D,YAAYwzD,QCvCzChB,EAAoB7rC,EAAI,SAASr7B,GACX,qBAAX+O,QAA0BA,OAAOkzD,aAC1CviE,OAAO2F,eAAerF,EAAS+O,OAAOkzD,YAAa,CAAEhhE,MAAO,WAE7DvB,OAAO2F,eAAerF,EAAS,aAAc,CAAEiB,OAAO,KCLvDimE,EAAoBr7D,EAAI,eCKxB,IAAIi9D,EAAkB,CACrB,IAAK,GAGN5B,EAAoBh6D,EAAE67D,EAAI,SAASpB,EAASC,GAE1C,IAAIoB,EAAqB9B,EAAoBQ,EAAEoB,EAAiBnB,GAAWmB,EAAgBnB,QAAWrlE,EACtG,GAA0B,IAAvB0mE,EAGF,GAAGA,EACFpB,EAASxoE,KAAK4pE,EAAmB,QAC3B,CAGL,IAAIxL,EAAU,IAAIh8D,SAAQ,SAASC,EAASC,GAAUsnE,EAAqBF,EAAgBnB,GAAW,CAAClmE,EAASC,MAChHkmE,EAASxoE,KAAK4pE,EAAmB,GAAKxL,GAGtC,IAAIpyC,EAAM87C,EAAoBr7D,EAAIq7D,EAAoB/0C,EAAEw1C,GAEpD7hE,EAAQ,IAAIlC,MAgBhBsjE,EAAoBv2D,EAAEya,GAfH,SAASK,GAC3B,GAAGy7C,EAAoBQ,EAAEoB,EAAiBnB,KAEf,KAD1BqB,EAAqBF,EAAgBnB,MACRmB,EAAgBnB,QAAWrlE,GACrD0mE,GAAoB,CACtB,IAAIC,EAAYx9C,IAAyB,SAAfA,EAAMzoB,KAAkB,UAAYyoB,EAAMzoB,MAChEkmE,EAAUz9C,GAASA,EAAMnrB,QAAUmrB,EAAMnrB,OAAO+rC,IACpDvmC,EAAME,QAAU,iBAAmB2hE,EAAU,cAAgBsB,EAAY,KAAOC,EAAU,IAC1FpjE,EAAMvE,KAAO,iBACbuE,EAAM9C,KAAOimE,EACbnjE,EAAMqjE,QAAUD,EAChBF,EAAmB,GAAGljE,MAIgB,SAAW6hE,EAASA,KAiBlE,IAAIyB,EAAuB,SAASC,EAA4B5iD,GAC/D,IAKI0gD,EAAUQ,EALV2B,EAAW7iD,EAAK,GAChB8iD,EAAc9iD,EAAK,GACnB+iD,EAAU/iD,EAAK,GAGI1nB,EAAI,EAC3B,GAAGuqE,EAAS5sB,MAAK,SAAS16B,GAAM,OAA+B,IAAxB8mD,EAAgB9mD,MAAe,CACrE,IAAImlD,KAAYoC,EACZrC,EAAoBQ,EAAE6B,EAAapC,KACrCD,EAAoBhkE,EAAEikE,GAAYoC,EAAYpC,IAGhD,GAAGqC,EAAsBA,EAAQtC,GAGlC,IADGmC,GAA4BA,EAA2B5iD,GACrD1nB,EAAIuqE,EAASrqE,OAAQF,IACzB4oE,EAAU2B,EAASvqE,GAChBmoE,EAAoBQ,EAAEoB,EAAiBnB,IAAYmB,EAAgBnB,IACrEmB,EAAgBnB,GAAS,KAE1BmB,EAAgBnB,GAAW,GAKzB8B,EAAqBlH,KAAuB,iBAAIA,KAAuB,kBAAK,GAChFkH,EAAmB57D,QAAQu7D,EAAqB7kE,KAAK,KAAM,IAC3DklE,EAAmBrqE,KAAOgqE,EAAqB7kE,KAAK,KAAMklE,EAAmBrqE,KAAKmF,KAAKklE,40RCvFxE,SAASC,EAAgB/kE,GACtC,GAAItF,MAAMC,QAAQqF,GAAM,OAAOA,ECDlB,SAASglE,EAAkBhlE,EAAKuB,IAClC,MAAPA,GAAeA,EAAMvB,EAAI1F,UAAQiH,EAAMvB,EAAI1F,QAC/C,IAAK,IAAIF,EAAI,EAAG6qE,EAAO,IAAIvqE,MAAM6G,GAAMnH,EAAImH,EAAKnH,IAAK6qE,EAAK7qE,GAAK4F,EAAI5F,GACnE,OAAO6qE,ECFM,SAASC,EAA4BnC,EAAGoC,GACrD,GAAKpC,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAO,EAAiBA,EAAGoC,GACtD,IAAI9kE,EAAItF,OAAOC,UAAUF,SAASI,KAAK6nE,GAAG3lE,MAAM,GAAI,GAEpD,MADU,WAANiD,GAAkB0iE,EAAE91D,cAAa5M,EAAI0iE,EAAE91D,YAAYrQ,MAC7C,QAANyD,GAAqB,QAANA,EAAoB3F,MAAM8qD,KAAKud,GACxC,cAAN1iE,GAAqB,2CAA2CqJ,KAAKrJ,GAAW,EAAiB0iE,EAAGoC,QAAxG,GCPa,SAASC,IACtB,MAAM,IAAInnE,UAAU,6ICGP,SAAS,EAAe+B,EAAK5F,GAC1C,OAAO,EAAe4F,ICLT,SAA+BA,EAAK5F,GACjD,IAAIirE,EAAK,MAAQrlE,EAAM,KAAO,oBAAsBoK,QAAUpK,EAAIoK,OAAOe,WAAanL,EAAI,cAC1F,GAAI,MAAQqlE,EAAI,CACd,IAAIC,EACFC,EACAC,EACAC,EACAC,EAAO,GACPC,GAAK,EACLC,GAAK,EACP,IACE,GAAIJ,GAAMH,EAAKA,EAAGnqE,KAAK8E,IAAM+0B,KAAM,IAAM36B,EAAG,CAC1C,GAAIW,OAAOsqE,KAAQA,EAAI,OACvBM,GAAK,OACA,OAASA,GAAML,EAAKE,EAAGtqE,KAAKmqE,IAAKhsC,QAAUqsC,EAAKjrE,KAAK6qE,EAAGhpE,OAAQopE,EAAKprE,SAAWF,GAAIurE,GAAK,IAChG,MAAO1oE,GACP2oE,GAAK,EAAIL,EAAKtoE,EACd,QACA,IACE,IAAK0oE,GAAM,MAAQN,EAAW,SAAMI,EAAKJ,EAAW,SAAKtqE,OAAO0qE,KAAQA,GAAK,OAC7E,QACA,GAAIG,EAAI,MAAML,GAGlB,OAAOG,GDnBqB,CAAqB1lE,EAAK5F,IAAM,EAA2B4F,EAAK5F,IAAM,IELvF,SAAS,IAYtB,OAXA,EAAWW,OAAOwQ,OAASxQ,OAAOwQ,OAAO3L,OAAS,SAAUjE,GAC1D,IAAK,IAAIvB,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIoa,EAASna,UAAUD,GACvB,IAAK,IAAIa,KAAOuZ,EACVzZ,OAAOC,UAAUf,eAAeiB,KAAKsZ,EAAQvZ,KAC/CU,EAAOV,GAAOuZ,EAAOvZ,IAI3B,OAAOU,GAEF,EAASd,MAAM4B,KAAMpC,k1BCWjBwrE,GAAoBhzB,EAAAA,EAAAA,eAC/B,UAYWizB,GAAkBjzB,EAAAA,EAAAA,eAC7B,UAYWkzB,GAAelzB,EAAAA,EAAAA,eAAwC,CAClEmzB,OAAQ,KACRC,QAAS,KChDJ,SAASC,EAAUC,EAAW9kE,GACnC,IAAK8kE,EAAM,MAAM,IAAIlnE,MAAMoC,GAwI7B,SAAgB+kE,EACdC,EACAC,EACAC,QACqB,IADrBA,IAAAA,EAAW,KAEX,IAGIC,EAAWC,GAFU,kBAAhBH,EAA2BI,EAAUJ,GAAeA,GAEvBE,UAAY,IAAKD,GAEvD,GAAgB,MAAZC,EACF,OAAO,KAGT,IAAIG,EAAWC,EAAcP,IA6E/B,SAA2BM,GACzBA,EAASrhB,MAAK,SAACn+C,EAAGC,GAAJ,OACZD,EAAE0/D,QAAUz/D,EAAEy/D,MACVz/D,EAAEy/D,MAAQ1/D,EAAE0/D,MAyCpB,SAAwB1/D,EAAaC,GACnC,IAAI0/D,EACF3/D,EAAE7M,SAAW8M,EAAE9M,QAAU6M,EAAE/J,MAAM,GAAI,GAAG2kD,OAAM,SAAC1hD,EAAGjG,GAAJ,OAAUiG,IAAM+G,EAAEhN,MAElE,OAAO0sE,EAKH3/D,EAAEA,EAAE7M,OAAS,GAAK8M,EAAEA,EAAE9M,OAAS,GAG/B,EApDEysE,CACE5/D,EAAE6/D,WAAWpxB,KAAKthC,SAAAA,GAAD,OAAUA,EAAK2yD,iBAChC7/D,EAAE4/D,WAAWpxB,KAAKthC,SAAAA,GAAD,OAAUA,EAAK2yD,qBAlFxCC,CAAkBP,GAGlB,IADA,IAAIV,EAAU,KACL7rE,EAAI,EAAc,MAAX6rE,GAAmB7rE,EAAIusE,EAASrsE,SAAUF,EACxD6rE,EAAUkB,EAAiBR,EAASvsE,GAAIosE,GAG1C,OAAOP,EAgBT,SAASW,EACPP,EACAM,EACAS,EACAC,GA8CA,YA7Ce,IAHfV,IAAAA,EAA0B,SAGX,IAFfS,IAAAA,EAA2B,SAEZ,IADfC,IAAAA,EAAa,IAEbhB,EAAOn9D,SAAQ,SAACo+D,EAAOtlE,GACrB,IAAIsS,EAAkB,CACpBizD,aAAcD,EAAMlxB,MAAQ,GAC5BoxB,eAAuC,IAAxBF,EAAME,cACrBP,cAAejlE,EACfslE,MAAAA,GAGEhzD,EAAKizD,aAAaE,WAAW,OAE7BnzD,EAAKizD,aAAaE,WAAWJ,IAD/BnB,GAAU,GAOV5xD,EAAKizD,aAAejzD,EAAKizD,aAAanqE,MAAMiqE,EAAW/sE,SAGzD,IAAI87C,EAAOsxB,EAAU,CAACL,EAAY/yD,EAAKizD,eACnCP,EAAaI,EAAYlrE,OAAOoY,GAKhCgzD,EAAMr4D,UAAYq4D,EAAMr4D,SAAS3U,OAAS,KAE1B,IAAhBgtE,EAAMtlE,OADRkkE,GAAU,GAMVU,EAAcU,EAAMr4D,SAAU03D,EAAUK,EAAY5wB,KAKpC,MAAdkxB,EAAMlxB,MAAiBkxB,EAAMtlE,QAIjC2kE,EAASlsE,KAAK,CAAE27C,KAAAA,EAAMywB,MAAOc,EAAavxB,EAAMkxB,EAAMtlE,OAAQglE,WAAAA,OAGzDL,EAcT,IAAMiB,EAAU,SAMVC,EAAW7mB,SAAAA,GAAD,MAAqB,MAANA,GAE/B,SAAS2mB,EAAavxB,EAAcp0C,GAClC,IAAI8lE,EAAW1xB,EAAKntC,MAAM,KACtB8+D,EAAeD,EAASxtE,OAS5B,OARIwtE,EAAS/vB,KAAK8vB,KAChBE,IAPiB,GAUf/lE,IACF+lE,GAdoB,GAiBfD,EACJxuB,QAAQ0H,SAAAA,GAAD,OAAQ6mB,EAAQ7mB,MACvB3N,QACC,SAACwzB,EAAOmB,GAAR,OACEnB,GACCe,EAAQl+D,KAAKs+D,GAvBM,EAyBJ,KAAZA,EAvBc,EACC,MAyBrBD,GAmBN,SAASZ,EACPc,EACAzB,GAOA,IALA,IAAMQ,EAAeiB,EAAfjB,WAEFkB,EAAgB,GAChBC,EAAkB,IAClBlC,EAAwB,GACnB7rE,EAAI,EAAGA,EAAI4sE,EAAW1sE,SAAUF,EAAG,CAC1C,IAAIka,EAAO0yD,EAAW5sE,GAClBmvB,EAAMnvB,IAAM4sE,EAAW1sE,OAAS,EAChC8tE,EACkB,MAApBD,EACI3B,EACAA,EAASppE,MAAM+qE,EAAgB7tE,SAAW,IAC5CqR,EAAQ08D,EACV,CAAEjyB,KAAM9hC,EAAKizD,aAAcC,cAAelzD,EAAKkzD,cAAej+C,IAAAA,GAC9D6+C,GAGF,IAAKz8D,EAAO,OAAO,KAEnB5Q,OAAOwQ,OAAO28D,EAAev8D,EAAM28D,QAEnC,IAAIhB,EAAQhzD,EAAKgzD,MAEjBrB,EAAQxrE,KAAK,CACX6tE,OAAQJ,EACR1B,SAAUkB,EAAU,CAACS,EAAiBx8D,EAAM66D,WAC5C+B,aAAcC,EACZd,EAAU,CAACS,EAAiBx8D,EAAM48D,gBAEpCjB,MAAAA,IAGyB,MAAvB37D,EAAM48D,eACRJ,EAAkBT,EAAU,CAACS,EAAiBx8D,EAAM48D,gBAIxD,OAAOtC,EAwDT,SAAgBoC,EAIdI,EACAjC,GAEuB,kBAAZiC,IACTA,EAAU,CAAEryB,KAAMqyB,EAASjB,eAAe,EAAOj+C,KAAK,IAGxD,MAwCF,SACE6sB,EACAoxB,EACAj+C,QACoB,IAFpBi+C,IAAAA,GAAgB,QAEI,IADpBj+C,IAAAA,GAAM,GAUN,IAAIm/C,EAAuB,GACvBC,EACF,IACAvyB,EACGrsC,QAAQ,UAAW,IACnBA,QAAQ,OAAQ,KAChBA,QAAQ,sBAAuB,QAC/BA,QAAQ,WAAW,SAAC6+D,EAAWC,GAE9B,OADAH,EAAWjuE,KAAKouE,GACT,eAGTzyB,EAAK0yB,SAAS,MAChBJ,EAAWjuE,KAAK,KAChBkuE,GACW,MAATvyB,GAAyB,OAATA,EACZ,QACA,qBAENuyB,GAAgBp/C,EACZ,QAOA,uCAKN,MAAO,CAFO,IAAI0nB,OAAO03B,EAAcnB,OAAgB7pE,EAAY,KAElD+qE,GArFWK,CAC1BN,EAAQryB,KACRqyB,EAAQjB,cACRiB,EAAQl/C,KAHV,SAAKy/C,EAAL,KAAcN,EAAd,KAMI/8D,EAAQ66D,EAAS76D,MAAMq9D,GAC3B,IAAKr9D,EAAO,OAAO,KAEnB,IAAIw8D,EAAkBx8D,EAAM,GACxB48D,EAAeJ,EAAgBp+D,QAAQ,UAAW,MAClDk/D,EAAgBt9D,EAAMvO,MAAM,GAC5BkrE,EAAiBI,EAAWr1B,QAC9B,SAAC8nB,EAAM0N,EAAW7mE,GAGhB,GAAkB,MAAd6mE,EAAmB,CACrB,IAAIK,EAAaD,EAAcjnE,IAAU,GACzCumE,EAAeJ,EACZ/qE,MAAM,EAAG+qE,EAAgB7tE,OAAS4uE,EAAW5uE,QAC7CyP,QAAQ,UAAW,MAOxB,OAJAoxD,EAAK0N,GAiEX,SAAkCvsE,EAAeusE,GAC/C,IACE,OAAOM,mBAAmB7sE,GAC1B,MAAO6E,GAQP,OAAO7E,GA5Ea8sE,CAChBH,EAAcjnE,IAAU,IAGnBm5D,IAET,IAGF,MAAO,CACLmN,OAAAA,EACA9B,SAAU2B,EACVI,aAAAA,EACAE,QAAAA,GA4GJ,SAAgBY,EACdC,EACAC,EACAC,GAEA,IAUIhkB,EAVAikB,EAAsB,kBAAVH,EAAqB5C,EAAU4C,GAASA,EACpDI,EAAuB,KAAVJ,GAAgC,KAAhBG,EAAGjD,SAAkB,IAAMiD,EAAGjD,SAU/D,GAAkB,MAAdkD,EACFlkB,EAAOgkB,MACF,CACL,IAAIG,EAAqBJ,EAAejvE,OAAS,EAEjD,GAAIovE,EAAWjC,WAAW,MAAO,CAM/B,IALA,IAAImC,EAAaF,EAAWzgE,MAAM,KAKT,OAAlB2gE,EAAW,IAChBA,EAAW7nE,QACX4nE,GAAsB,EAGxBF,EAAGjD,SAAWoD,EAAWzuE,KAAK,KAKhCqqD,EAAOmkB,GAAsB,EAAIJ,EAAeI,GAAsB,IAGxE,IAAIvzB,EA5EN,SAA4BqzB,EAAQI,QAA0B,IAA1BA,IAAAA,EAAe,KACjD,MAIkB,kBAAPJ,EAAkB/C,EAAU+C,GAAMA,EAHjCC,EADZ,EACElD,SADF,IAEEngD,OAAAA,OAFF,MAEW,GAFX,MAGEyjD,KAAAA,OAHF,MAGS,GAHT,EAMItD,EAAWkD,EACXA,EAAWjC,WAAW,KACpBiC,EAWR,SAAyBnC,EAAsBsC,GAC7C,IAAI/B,EAAW+B,EAAa9/D,QAAQ,OAAQ,IAAId,MAAM,KAYtD,OAXuBs+D,EAAat+D,MAAM,KAEzBC,SAAS8+D,SAAAA,GACR,OAAZA,EAEEF,EAASxtE,OAAS,GAAGwtE,EAAS7lE,MACb,MAAZ+lE,GACTF,EAASrtE,KAAKutE,MAIXF,EAASxtE,OAAS,EAAIwtE,EAAS3sE,KAAK,KAAO,IAvB5C4uE,CAAgBL,EAAYG,GAC9BA,EAEJ,MAAO,CACLrD,SAAAA,EACAngD,OAAQ2jD,EAAgB3jD,GACxByjD,KAAMG,EAAcH,IA4DXI,CAAYT,EAAIjkB,GAY3B,OAREkkB,GACe,MAAfA,GACAA,EAAWZ,SAAS,OACnB1yB,EAAKowB,SAASsC,SAAS,OAExB1yB,EAAKowB,UAAY,KAGZpwB,EAYT,SAAgBqwB,EACdD,EACAD,GAEA,GAAiB,MAAbA,EAAkB,OAAOC,EAE7B,IAAKA,EAASr9D,cAAcs+D,WAAWlB,EAASp9D,eAC9C,OAAO,KAGT,IAAIghE,EAAW3D,EAAShzD,OAAO+yD,EAASjsE,QACxC,OAAI6vE,GAAyB,MAAbA,EAEP,KAGF3D,EAASppE,MAAMmpE,EAASjsE,SAAW,IAG5C,IAAaotE,EAAa0C,SAAAA,GAAD,OACvBA,EAAMjvE,KAAK,KAAK4O,QAAQ,SAAU,MAEvBy+D,EAAqBhC,SAAAA,GAAD,OAC/BA,EAASz8D,QAAQ,OAAQ,IAAIA,QAAQ,OAAQ,MAEzCigE,EAAmB3jD,SAAAA,GAAD,OACrBA,GAAqB,MAAXA,EAEPA,EAAOohD,WAAW,KAClBphD,EACA,IAAMA,EAHN,IAKA4jD,EAAiBH,SAAAA,GAAD,OACnBA,GAAiB,MAATA,EAAoBA,EAAKrC,WAAW,KAAOqC,EAAO,IAAMA,EAAzC,ICjmB1B,SAAgBO,EAAQZ,GAEpBa,KADFpE,GAAU,GAOV,OAA8BrzB,EAAAA,EAAAA,YAAiBgzB,GAAzCU,EAAN,EAAMA,SAAU3K,EAAhB,EAAgBA,UAChB,EAAiC2O,EAAgBd,GAA3CK,EAAN,EAAMA,KAAMtD,EAAZ,EAAYA,SAAUngD,EAAtB,EAAsBA,OAElBmkD,EAAiBhE,EACrB,GAAiB,MAAbD,EAAkB,CACpB,IAAImD,ED0iBR,SAA8BD,GAE5B,MAAc,KAAPA,GAAuC,KAAzBA,EAAYjD,SAC7B,IACc,kBAAPiD,EACP/C,EAAU+C,GAAIjD,SACdiD,EAAGjD,SChjBYiE,CAAchB,GAC3BiB,EAA8B,MAAdhB,GAAsBA,EAAWZ,SAAS,KAC9D0B,EACe,MAAbhE,EACID,GAAYmE,EAAgB,IAAM,IAClChD,EAAU,CAACnB,EAAUC,IAG7B,OAAO5K,EAAU+O,WAAW,CAAEnE,SAAUgE,EAAgBnkD,OAAAA,EAAQyjD,KAAAA,IAQlE,SAAgBQ,IACd,OAA4C,OAArCz3B,EAAAA,EAAAA,YAAiBizB,GAa1B,SAAgB8E,IAQd,OANEN,KADFpE,GAAU,IAOHrzB,EAAAA,EAAAA,YAAiBizB,GAAiBzgE,SAyD3C,SAAgBwlE,IAEZP,KADFpE,GAAU,GAOV,OAA8BrzB,EAAAA,EAAAA,YAAiBgzB,GAAzCU,EAAN,EAAMA,SAAU3K,EAAhB,EAAgBA,UACVqK,GAAYpzB,EAAAA,EAAAA,YAAiBkzB,GAA7BE,QACUuD,EAAqBoB,IAA/BpE,SAEFsE,EAAqBx9B,KAAKC,UAC5B04B,EAAQrwB,KAAKjqC,SAAAA,GAAD,OAAWA,EAAM48D,iBAG3BwC,GAAYl4B,EAAAA,EAAAA,SAAa,IAC7BA,EAAAA,EAAAA,YAAgB,WACdk4B,EAAU1zD,SAAU,KAGtB,IAAI2zD,GAA6Bn4B,EAAAA,EAAAA,cAC/B,SAAC42B,EAAiB96D,GAOhB,QAPkD,IAAlCA,IAAAA,EAA2B,IAOtCo8D,EAAU1zD,QAEf,GAAkB,kBAAPoyD,EAAX,CAKA,IAAIrzB,EAAOizB,EACTI,EACAn8B,KAAK29B,MAAMH,GACXtB,GAGe,MAAbjD,IACFnwB,EAAKowB,SAAWkB,EAAU,CAACnB,EAAUnwB,EAAKowB,aAGzC73D,EAAQ5E,QAAU6xD,EAAU7xD,QAAU6xD,EAAUnhE,MACjD27C,EACAznC,EAAQjP,YAhBRk8D,EAAUsP,GAAGzB,KAmBjB,CAAClD,EAAU3K,EAAWkP,EAAoBtB,IAG5C,OAAOwB,EAmDT,SAAgBT,EAAgBd,GAC9B,IAAMxD,GAAYpzB,EAAAA,EAAAA,YAAiBkzB,GAA7BE,QACUuD,EAAqBoB,IAA/BpE,SAEFsE,EAAqBx9B,KAAKC,UAC5B04B,EAAQrwB,KAAKjqC,SAAAA,GAAD,OAAWA,EAAM48D,iBAG/B,OAAO11B,EAAAA,EAAAA,UACL,kBAAMw2B,EAAUI,EAAIn8B,KAAK29B,MAAMH,GAAqBtB,KACpD,CAACC,EAAIqB,EAAoBtB,IA2H7B,SAAgB2B,EACdlF,EACAmF,GAEA,YAD2B,IAD3BA,IAAAA,EAA8B,IAEf,MAAXnF,EAAwB,KAErBA,EAAQoF,aAAY,SAACrF,EAAQr6D,EAAO3J,GACzC,OACEspE,EAAAA,EAAAA,eAACvF,EAAarL,SAAd4Q,CACEr8D,cAC0BtR,IAAxBgO,EAAM27D,MAAMjhE,QAAwBsF,EAAM27D,MAAMjhE,QAAU2/D,EAE5D1pE,MAAO,CACL0pE,OAAAA,EACAC,QAASmF,EAAclvE,OAAO+pE,EAAQ7oE,MAAM,EAAG4E,EAAQ,SAI5D,MC3PL,SAAgBupE,EACdC,GAEAtF,GAAU,GAyBZ,SAAgBuF,EAATC,GAOoC,QANzCnF,SAAUoF,OAM+B,MANhB,IAMgB,MALzC18D,SAAAA,OAKyC,MAL9B,KAK8B,EAJ/B28D,EAI+B,EAJzCvmE,SAIyC,IAHzCwmE,eAAAA,OAGyC,MAHxBC,EAAAA,IAGwB,EAFzClQ,EAEyC,EAFzCA,UAEyC,IADzCmQ,OAAQC,OACiC,SAEtC1B,KADHpE,GAAU,GAMV,IAAIK,EAAWiC,EAAkBmD,GAC7BM,GAAoBp5B,EAAAA,EAAAA,UACtB,iBAAO,CAAE0zB,SAAAA,EAAU3K,UAAAA,EAAWmQ,OAAQC,KACtC,CAACzF,EAAU3K,EAAWoQ,IAGI,kBAAjBJ,IACTA,EAAelF,EAAUkF,IAG3B,MAMIA,EANJ,IACEpF,SAAAA,OADF,MACa,IADb,MAEEngD,OAAAA,OAFF,MAEW,GAFX,MAGEyjD,KAAAA,OAHF,MAGS,GAHT,MAIEpqE,MAAAA,OAJF,MAIU,KAJV,MAKEzE,IAAAA,OALF,MAKQ,UALR,EAQIoK,GAAWwtC,EAAAA,EAAAA,UAAc,WAC3B,IAAIq5B,EAAmBzF,EAAcD,EAAUD,GAE/C,OAAwB,MAApB2F,EACK,KAGF,CACL1F,SAAU0F,EACV7lD,OAAAA,EACAyjD,KAAAA,EACApqE,MAAAA,EACAzE,IAAAA,KAED,CAACsrE,EAAUC,EAAUngD,EAAQyjD,EAAMpqE,EAAOzE,IAS7C,OAAgB,MAAZoK,EACK,MAIPimE,EAAAA,EAAAA,eAACzF,EAAkBnL,SAAnB4Q,CAA4BhvE,MAAO2vE,IACjCX,EAAAA,EAAAA,eAACxF,EAAgBpL,SAAjB4Q,CACEr8D,SAAUA,EACV3S,MAAO,CAAE+I,SAAAA,EAAUwmE,eAAAA,MAiB3B,SAAgBM,EAATC,GAGoC,IAFzCn9D,EAEyC,EAFzCA,SACA5J,EACyC,EADzCA,SAEA,ODUF,SACEghE,EACAC,GAGEgE,KADFpE,GAAU,GAOV,IA4CI7gE,EA5CW+lE,GAAkBv4B,EAAAA,EAAAA,YAAiBkzB,GAA5CE,QACFoG,EAAajB,EAAcA,EAAc9wE,OAAS,GAClDgyE,EAAeD,EAAaA,EAAW/D,OAAS,GAEhDiE,GADiBF,GAAaA,EAAW7F,SACpB6F,EAAaA,EAAW9D,aAAe,KAsC5DiE,GArCcH,GAAcA,EAAW/E,MAqCjBsD,KAG1B,GAAItE,EAAa,OACXmG,EACqB,kBAAhBnG,EAA2BI,EAAUJ,GAAeA,EAGpC,MAAvBiG,IAAA,OAAAA,EACEE,EAAkBjG,eADpB,EACEkG,EAA4BjF,WAAW8E,KAF3CrG,GAAU,GASV7gE,EAAWonE,OAEXpnE,EAAWmnE,EAGb,IAAIhG,EAAWnhE,EAASmhE,UAAY,IAKhCP,EAAUG,EAAYC,EAAQ,CAAEG,SAHX,MAAvB+F,EACI/F,EACAA,EAASppE,MAAMmvE,EAAmBjyE,SAAW,MAiBnD,OAAO6wE,EACLlF,GACEA,EAAQrwB,KAAKjqC,SAAAA,GAAD,OACV5Q,OAAOwQ,OAAO,GAAII,EAAO,CACvB28D,OAAQvtE,OAAOwQ,OAAO,GAAI+gE,EAAc3gE,EAAM28D,QAC9C9B,SAAUkB,EAAU,CAAC6E,EAAoB5gE,EAAM66D,WAC/C+B,aACyB,MAAvB58D,EAAM48D,aACFgE,EACA7E,EAAU,CAAC6E,EAAoB5gE,EAAM48D,oBAGjD6C,GCrHKuB,CAAUC,EAAyB39D,GAAW5J,GAcvD,SAAgBunE,EACd39D,GAEA,IAAIo3D,EAAwB,GAuC5B,OArCAxzB,EAAAA,SAAAA,QAAuB5jC,GAAW5I,SAAAA,GAChC,IAAKwsC,EAAAA,EAAAA,gBAAqBxsC,GAM1B,GAAIA,EAAQhI,OAASw0C,EAAAA,SAArB,CAUExsC,EAAQhI,OAASktE,GADnBrF,GAAU,GAOV,IAAIoB,EAAqB,CACvBE,cAAenhE,EAAQnB,MAAMsiE,cAC7BnhE,QAASA,EAAQnB,MAAMmB,QACvBrE,MAAOqE,EAAQnB,MAAMlD,MACrBo0C,KAAM/vC,EAAQnB,MAAMkxC,MAGlB/vC,EAAQnB,MAAM+J,WAChBq4D,EAAMr4D,SAAW29D,EAAyBvmE,EAAQnB,MAAM+J,WAG1Do3D,EAAO5rE,KAAK6sE,QAzBVjB,EAAO5rE,KAAKI,MACVwrE,EACAuG,EAAyBvmE,EAAQnB,MAAM+J,cA0BtCo3D,2ZCtKF,SAASwG,EAAT,GAIgB,IAHrBtG,EAGqB,EAHrBA,SACAt3D,EAEqB,EAFrBA,SACAnH,EACqB,EADrBA,OAEIglE,GAAaj6B,EAAAA,EAAAA,UACS,MAAtBi6B,EAAWz1D,UACby1D,EAAWz1D,0jDAAU01D,CAAqB,CAAEjlE,OAAAA,KAG9C,IAAIklE,EAAUF,EAAWz1D,QACzB,KAAwBw7B,EAAAA,EAAAA,UAAe,CACrC3W,OAAQ8wC,EAAQ9wC,OAChB72B,SAAU2nE,EAAQ3nE,WAFpB,GAAK3F,EAAL,KAAYi0D,EAAZ,KAOA,OAFA9gB,EAAAA,EAAAA,kBAAsB,kBAAMm6B,EAAQC,OAAOtZ,KAAW,CAACqZ,KAGrD1B,EAAAA,EAAAA,eAACG,EAADH,CACE/E,SAAUA,EACVt3D,SAAUA,EACV5J,SAAU3F,EAAM2F,SAChBwmE,eAAgBnsE,EAAMw8B,OACtB0/B,UAAWoR,QA4FJE,GAAOr6B,EAAAA,EAAAA,aAClB,WAEEpa,GACA,IAFEgM,EAEF,EAFEA,QAAS0oC,EAEX,EAFWA,eAEX,IAF2BpjE,QAAAA,OAE3B,SAF4CrK,EAE5C,EAF4CA,MAAO/D,EAEnD,EAFmDA,OAAQ8tE,EAE3D,EAF2DA,GAAO2D,EAElE,OACIrkD,EAAOshD,EAAQZ,GACf4D,EAwHD,SACL5D,EADK,GAW6C,iBAD9C,GAC8C,EARhD9tE,EAQgD,EARhDA,OACS2xE,EAOuC,EAPhDvjE,QACArK,EAMgD,EANhDA,MAOEsrE,EAAWH,IACXxlE,EAAWulE,IACXx0B,EAAOm0B,EAAgBd,GAE3B,OAAO52B,EAAAA,EAAAA,cACJ/rB,SAAAA,GACC,GACmB,IAAjBA,EAAMnG,UACJhlB,GAAqB,UAAXA,KAjKpB,SAAyBmrB,GACvB,SAAUA,EAAMtG,SAAWsG,EAAMvG,QAAUuG,EAAMzG,SAAWyG,EAAMxG,UAiK3DitD,CAAgBzmD,GACjB,CACAA,EAAMpI,iBAIN,IAAI3U,IACAujE,GAAeE,EAAWnoE,KAAcmoE,EAAWp3B,GAEvD40B,EAASvB,EAAI,CAAE1/D,QAAAA,EAASrK,MAAAA,OAG5B,CAAC2F,EAAU2lE,EAAU50B,EAAMk3B,EAAa5tE,EAAO/D,EAAQ8tE,IAzJjCgE,CAAoBhE,EAAI,CAAE1/D,QAAAA,EAASrK,MAAAA,EAAO/D,OAAAA,IAUhE,OAEEqM,EAAAA,EAAAA,eAAAA,IAAAA,EAAAA,GACMolE,EADN,CAEErkD,KAAMA,EACN0b,QAdJ,SACE3d,GAEI2d,GAASA,EAAQ3d,GAChBA,EAAMvI,kBAAqB4uD,GAC9BE,EAAgBvmD,IAUhB2R,IAAKA,EACL98B,OAAQA,QC5RD,SAAS,EAAgB+wB,EAAUghD,GAChD,KAAMhhD,aAAoBghD,GACxB,MAAM,IAAIzvE,UAAU,qCCFT,SAAS,EAAQ42C,GAG9B,OAAO,EAAU,mBAAqBzqC,QAAU,iBAAmBA,OAAOe,SAAW,SAAU0pC,GAC7F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAO,mBAAqBzqC,QAAUyqC,EAAI5nC,cAAgB7C,QAAUyqC,IAAQzqC,OAAOpP,UAAY,gBAAkB65C,GACvH,EAAQA,GCLE,SAAS84B,GAAepzE,GACrC,IAAIU,ECFS,SAAsBkZ,EAAOy5D,GAC1C,GAAuB,WAAnB,EAAQz5D,IAAiC,OAAVA,EAAgB,OAAOA,EAC1D,IAAI05D,EAAO15D,EAAM/J,OAAO0jE,aACxB,QAAanwE,IAATkwE,EAAoB,CACtB,IAAIE,EAAMF,EAAK3yE,KAAKiZ,EAAOy5D,GAAQ,WACnC,GAAqB,WAAjB,EAAQG,GAAmB,OAAOA,EACtC,MAAM,IAAI9vE,UAAU,gDAEtB,OAAiB,WAAT2vE,EAAoB1uE,OAAS9C,QAAQ+X,GDNnC,CAAY5Z,EAAK,UAC3B,MAAwB,WAAjB,EAAQU,GAAoBA,EAAMiE,OAAOjE,GEHlD,SAAS+yE,GAAkBryE,EAAQuJ,GACjC,IAAK,IAAI9K,EAAI,EAAGA,EAAI8K,EAAM5K,OAAQF,IAAK,CACrC,IAAIuK,EAAaO,EAAM9K,GACvBuK,EAAWhE,WAAagE,EAAWhE,aAAc,EACjDgE,EAAWuI,cAAe,EACtB,UAAWvI,IAAYA,EAAW64D,UAAW,GACjDziE,OAAO2F,eAAe/E,EAAQ,GAAcgJ,EAAW1J,KAAM0J,IAGlD,SAAS,GAAa+oE,EAAaO,EAAYC,GAM5D,OALID,GAAYD,GAAkBN,EAAY1yE,UAAWizE,GACrDC,GAAaF,GAAkBN,EAAaQ,GAChDnzE,OAAO2F,eAAegtE,EAAa,YAAa,CAC9ClQ,UAAU,IAELkQ,EChBM,SAASS,GAAgBpL,EAAG77D,GAKzC,OAJAinE,GAAkBpzE,OAAOomE,eAAiBpmE,OAAOomE,eAAevhE,OAAS,SAAyBmjE,EAAG77D,GAEnG,OADA67D,EAAE1gB,UAAYn7C,EACP67D,GAEFoL,GAAgBpL,EAAG77D,GCJb,SAAS,GAAUknE,EAAUC,GAC1C,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIpwE,UAAU,sDAEtBmwE,EAASpzE,UAAYD,OAAO4D,OAAO0vE,GAAcA,EAAWrzE,UAAW,CACrEiS,YAAa,CACX3Q,MAAO8xE,EACP5Q,UAAU,EACVtwD,cAAc,KAGlBnS,OAAO2F,eAAe0tE,EAAU,YAAa,CAC3C5Q,UAAU,IAER6Q,GAAY,GAAeD,EAAUC,GCf5B,SAASC,GAAgBvL,GAItC,OAHAuL,GAAkBvzE,OAAOomE,eAAiBpmE,OAAOgG,eAAenB,OAAS,SAAyBmjE,GAChG,OAAOA,EAAE1gB,WAAatnD,OAAOgG,eAAegiE,IAEvCuL,GAAgBvL,GCJV,SAASwL,KACtB,GAAuB,qBAAZ9yE,UAA4BA,QAAQsQ,UAAW,OAAO,EACjE,GAAItQ,QAAQsQ,UAAUyiE,KAAM,OAAO,EACnC,GAAqB,oBAAVC,MAAsB,OAAO,EACxC,IAEE,OADArtB,QAAQpmD,UAAU4U,QAAQ1U,KAAKO,QAAQsQ,UAAUq1C,QAAS,IAAI,iBACvD,EACP,MAAOx8C,GACP,OAAO,GCRI,SAAS8pE,GAAuB9Q,GAC7C,QAAa,IAATA,EACF,MAAM,IAAI+Q,eAAe,6DAE3B,OAAO/Q,ECFM,SAASgR,GAA2BhR,EAAM1iE,GACvD,GAAIA,IAA2B,WAAlB,EAAQA,IAAsC,oBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAI+C,UAAU,4DAEtB,OAAO,GAAsB2/D,GCLhB,SAAS,GAAaiR,GACnC,IAAIC,EAA4B,KAChC,OAAO,WACL,IACE5P,EADE6P,EAAQ,GAAeF,GAE3B,GAAIC,EAA2B,CAC7B,IAAIE,EAAY,GAAevyE,MAAMwQ,YACrCiyD,EAASzjE,QAAQsQ,UAAUgjE,EAAO10E,UAAW20E,QAE7C9P,EAAS6P,EAAMl0E,MAAM4B,KAAMpC,WAE7B,OAAO,GAA0BoC,KAAMyiE,ICb5B,SAAS,GAAgBrqB,EAAK55C,EAAKqB,GAYhD,OAXArB,EAAM,GAAcA,MACT45C,EACT95C,OAAO2F,eAAem0C,EAAK55C,EAAK,CAC9BqB,MAAOA,EACPqE,YAAY,EACZuM,cAAc,EACdswD,UAAU,IAGZ3oB,EAAI55C,GAAOqB,EAENu4C,ECZT,SAAS94C,GAAQiK,EAAQipE,GACvB,IAAI5sE,EAAOtH,OAAOsH,KAAK2D,GACvB,GAAIjL,OAAOiB,sBAAuB,CAChC,IAAIkzE,EAAUn0E,OAAOiB,sBAAsBgK,GAC3CipE,IAAmBC,EAAUA,EAAQ51B,QAAO,SAAU61B,GACpD,OAAOp0E,OAAOmJ,yBAAyB8B,EAAQmpE,GAAKxuE,eACjD0B,EAAK5H,KAAKI,MAAMwH,EAAM6sE,GAE7B,OAAO7sE,EAEM,SAAS,GAAe1G,GACrC,IAAK,IAAIvB,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIoa,EAAS,MAAQna,UAAUD,GAAKC,UAAUD,GAAK,GACnDA,EAAI,EAAI2B,GAAQhB,OAAOyZ,IAAS,GAAItL,SAAQ,SAAUjO,GACpD,GAAeU,EAAQV,EAAKuZ,EAAOvZ,OAChCF,OAAOq0E,0BAA4Br0E,OAAOs0E,iBAAiB1zE,EAAQZ,OAAOq0E,0BAA0B56D,IAAWzY,GAAQhB,OAAOyZ,IAAStL,SAAQ,SAAUjO,GAC5JF,OAAO2F,eAAe/E,EAAQV,EAAKF,OAAOmJ,yBAAyBsQ,EAAQvZ,OAG/E,OAAOU,ECnBM,SAAS2zE,GAAetpE,EAAQupE,GAC7C,MAAQx0E,OAAOC,UAAUf,eAAeiB,KAAK8K,EAAQupE,IAEpC,QADfvpE,EAAS,GAAeA,MAG1B,OAAOA,ECLM,SAASwpE,KActB,OAZEA,GADqB,qBAAZ/zE,SAA2BA,QAAQmF,IACrCnF,QAAQmF,IAAIhB,OAEZ,SAAcjE,EAAQ4zE,EAAU3zE,GACrC,IAAIiY,EAAO,GAAclY,EAAQ4zE,GACjC,GAAK17D,EAAL,CACA,IAAIq3C,EAAOnwD,OAAOmJ,yBAAyB2P,EAAM07D,GACjD,OAAIrkB,EAAKtqD,IACAsqD,EAAKtqD,IAAI1F,KAAKb,UAAUC,OAAS,EAAIqB,EAASC,GAEhDsvD,EAAK5uD,QAGTkzE,GAAK30E,MAAM4B,KAAMpC,WCdX,SAAS,GAA2B0oE,EAAG0M,GACpD,IAAI1+B,EAAuB,qBAAX3mC,QAA0B24D,EAAE34D,OAAOe,WAAa43D,EAAE,cAClE,IAAKhyB,EAAI,CACP,GAAIr2C,MAAMC,QAAQooE,KAAOhyB,EAAK,EAA2BgyB,KAAO0M,GAAkB1M,GAAyB,kBAAbA,EAAEzoE,OAAqB,CAC/Gy2C,IAAIgyB,EAAIhyB,GACZ,IAAI32C,EAAI,EACJqzB,EAAI,aACR,MAAO,CACLuzB,EAAGvzB,EACHptB,EAAG,WACD,OAAIjG,GAAK2oE,EAAEzoE,OAAe,CACxB++B,MAAM,GAED,CACLA,MAAM,EACN/8B,MAAOymE,EAAE3oE,OAGbwK,EAAG,SAAW2gE,GACZ,MAAMA,GAERh9D,EAAGklB,GAGP,MAAM,IAAIxvB,UAAU,yIAEtB,IAEEhB,EAFEyyE,GAAmB,EACrBC,GAAS,EAEX,MAAO,CACL3uB,EAAG,WACDjQ,EAAKA,EAAG71C,KAAK6nE,IAEf1iE,EAAG,WACD,IAAIuvE,EAAO7+B,EAAGhc,OAEd,OADA26C,EAAmBE,EAAKv2C,KACjBu2C,GAEThrE,EAAG,SAAWirE,GACZF,GAAS,EACT1yE,EAAM4yE,GAERtnE,EAAG,WACD,IACOmnE,GAAoC,MAAhB3+B,EAAW,QAAWA,EAAW,SAC1D,QACA,GAAI4+B,EAAQ,MAAM1yE,KC/CX,SAAS6yE,GAAiBxO,GACvC,GAAsB,qBAAXl3D,QAAmD,MAAzBk3D,EAAKl3D,OAAOe,WAA2C,MAAtBm2D,EAAK,cAAuB,OAAO5mE,MAAM8qD,KAAK8b,GCGvG,SAAS,GAAmBthE,GACzC,OCJa,SAA4BA,GACzC,GAAItF,MAAMC,QAAQqF,GAAM,OAAO,EAAiBA,GDGzC,CAAkBA,IAAQ,GAAgBA,IAAQ,EAA2BA,IELvE,WACb,MAAM,IAAI/B,UAAU,wIFIwE,GGC9F,SAASk3D,GAAM9sD,GACb,OAAOA,EAAI,GAAM,EAEnB,IAAM0nE,GAAM,SAAC1nE,EAAG2D,EAAGC,GAAP,OAAagN,KAAKqmC,IAAIrmC,KAAKyQ,IAAIrhB,EAAG4D,GAAID,IAClD,SAASgkE,GAAI3nE,GACX,OAAO0nE,GAAI5a,GAAU,KAAJ9sD,GAAW,EAAG,KAKjC,SAAS4nE,GAAI5nE,GACX,OAAO0nE,GAAI5a,GAAU,IAAJ9sD,GAAU,EAAG,KAEhC,SAAS6nE,GAAI7nE,GACX,OAAO0nE,GAAI5a,GAAM9sD,EAAI,MAAQ,IAAK,EAAG,GAEvC,SAAS8nE,GAAI9nE,GACX,OAAO0nE,GAAI5a,GAAU,IAAJ9sD,GAAU,EAAG,KAGhC,IAAM+nE,GAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG9kE,EAAG,GAAI0M,EAAG,GAAIuC,EAAG,GAAIoS,EAAG,GAAI0D,EAAG,GAAI5C,EAAG,GAAItmB,EAAG,GAAIC,EAAG,GAAIC,EAAG,GAAIiB,EAAG,GAAI1D,EAAG,GAAI2D,EAAG,IACrJ8nE,GAAM,GAAI,oBACVC,GAAK,SAAAlpE,GAAC,OAAIipE,GAAQ,GAAJjpE,IACdmpE,GAAK,SAAAnpE,GAAC,OAAIipE,IAAS,IAAJjpE,IAAa,GAAKipE,GAAQ,GAAJjpE,IACrCopE,GAAK,SAAAppE,GAAC,OAAU,IAAJA,IAAa,KAAY,GAAJA,IAyBvC,SAASqpE,GAAUpoE,GACjB,IAAIE,EAzBU,SAAAF,GAAC,OAAImoE,GAAGnoE,EAAEquB,IAAM85C,GAAGnoE,EAAEG,IAAMgoE,GAAGnoE,EAAEjB,IAAMopE,GAAGnoE,EAAElB,GAyBjDupE,CAAQroE,GAAKioE,GAAKC,GAC1B,OAAOloE,EACH,IAAME,EAAEF,EAAEquB,GAAKnuB,EAAEF,EAAEG,GAAKD,EAAEF,EAAEjB,GAJpB,SAACD,EAAGoB,GAAJ,OAAUpB,EAAI,IAAMoB,EAAEpB,GAAK,GAIFwpE,CAAMtoE,EAAElB,EAAGoB,QAC5C5K,EAGN,IAAMizE,GAAS,+GACf,SAASC,GAAS5kE,EAAG+0C,EAAGh1C,GACtB,IAAM7E,EAAI65C,EAAI/nC,KAAKyQ,IAAI1d,EAAG,EAAIA,GACxBzD,EAAI,SAAClI,GAAD,IAAI6L,EAAJ,wDAAS7L,EAAI4L,EAAI,IAAM,GAAvB,OAA8BD,EAAI7E,EAAI8R,KAAKqmC,IAAIrmC,KAAKyQ,IAAIxd,EAAI,EAAG,EAAIA,EAAG,IAAK,IACrF,MAAO,CAAC3D,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAExB,SAASuoE,GAAS7kE,EAAG+0C,EAAG34C,GACtB,IAAME,EAAI,SAAClI,GAAD,IAAI6L,EAAJ,wDAAS7L,EAAI4L,EAAI,IAAM,EAAvB,OAA6B5D,EAAIA,EAAI24C,EAAI/nC,KAAKqmC,IAAIrmC,KAAKyQ,IAAIxd,EAAG,EAAIA,EAAG,GAAI,IACnF,MAAO,CAAC3D,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAExB,SAASwoE,GAAS9kE,EAAGjN,EAAGoI,GACtB,IACIhN,EADE42E,EAAMH,GAAS5kE,EAAG,EAAG,IAO3B,IALIjN,EAAIoI,EAAI,IAEVpI,GADA5E,EAAI,GAAK4E,EAAIoI,GAEbA,GAAKhN,GAEFA,EAAI,EAAGA,EAAI,EAAGA,IACjB42E,EAAI52E,IAAM,EAAI4E,EAAIoI,EAClB4pE,EAAI52E,IAAM4E,EAEZ,OAAOgyE,EAWT,SAASC,GAAQ5oE,GACf,IAOI4D,EAAG+0C,EAAG14C,EANJouB,EAAIruB,EAAEquB,EADE,IAERluB,EAAIH,EAAEG,EAFE,IAGRpB,EAAIiB,EAAEjB,EAHE,IAIRk4C,EAAMrmC,KAAKqmC,IAAI5oB,EAAGluB,EAAGpB,GACrBsiB,EAAMzQ,KAAKyQ,IAAIgN,EAAGluB,EAAGpB,GACrB4E,GAAKszC,EAAM51B,GAAO,EAQxB,OANI41B,IAAQ51B,IACVphB,EAAIg3C,EAAM51B,EACVs3B,EAAIh1C,EAAI,GAAM1D,GAAK,EAAIg3C,EAAM51B,GAAOphB,GAAKg3C,EAAM51B,GAC/Czd,EArBJ,SAAkByqB,EAAGluB,EAAGpB,EAAGkB,EAAGg3C,GAC5B,OAAI5oB,IAAM4oB,GACC92C,EAAIpB,GAAKkB,GAAME,EAAIpB,EAAI,EAAI,GAElCoB,IAAM82C,GACAl4C,EAAIsvB,GAAKpuB,EAAI,GAEfouB,EAAIluB,GAAKF,EAAI,EAcf4oE,CAASx6C,EAAGluB,EAAGpB,EAAGkB,EAAGg3C,GACzBrzC,EAAQ,GAAJA,EAAS,IAER,CAAK,EAAJA,EAAO+0C,GAAK,EAAGh1C,GAEzB,SAASmlE,GAAM5oE,EAAGpB,EAAGC,EAAGC,GACtB,OACE3M,MAAMC,QAAQwM,GACVoB,EAAEpB,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAChBoB,EAAEpB,EAAGC,EAAGC,IACZuuC,IAAIq6B,IAER,SAASmB,GAAQnlE,EAAG+0C,EAAGh1C,GACrB,OAAOmlE,GAAMN,GAAU5kE,EAAG+0C,EAAGh1C,GAQ/B,SAASqlE,GAAIplE,GACX,OAAQA,EAAI,IAAM,KAAO,IAE3B,SAASqlE,GAASC,GAChB,IAEIlpE,EAFE9J,EAAIqyE,GAAOY,KAAKD,GAClBpqE,EAAI,IAER,GAAK5I,EAAL,CAGIA,EAAE,KAAO8J,IACXlB,EAAI5I,EAAE,GAAKyxE,IAAKzxE,EAAE,IAAM0xE,IAAK1xE,EAAE,KAEjC,IAAM0N,EAAIolE,IAAK9yE,EAAE,IACXkzE,GAAMlzE,EAAE,GAAK,IACbmzE,GAAMnzE,EAAE,GAAK,IAQnB,OANE8J,EADW,QAAT9J,EAAE,GAtBR,SAAiB0N,EAAGjN,EAAGoI,GACrB,OAAO+pE,GAAMJ,GAAU9kE,EAAGjN,EAAGoI,GAsBvBuqE,CAAQ1lE,EAAGwlE,EAAIC,GACD,QAATnzE,EAAE,GArBf,SAAiB0N,EAAG+0C,EAAG34C,GACrB,OAAO8oE,GAAML,GAAU7kE,EAAG+0C,EAAG34C,GAqBvBupE,CAAQ3lE,EAAGwlE,EAAIC,GAEfN,GAAQnlE,EAAGwlE,EAAIC,GAEd,CACLh7C,EAAGruB,EAAE,GACLG,EAAGH,EAAE,GACLjB,EAAGiB,EAAE,GACLlB,EAAGA,IAwBP,IAoMI0qE,GApMEj8B,GAAM,CACVroB,EAAG,OACH2a,EAAG,QACHD,EAAG,KACH3B,EAAG,MACHb,EAAG,KACHF,EAAG,SACHH,EAAG,QACH95B,EAAG,KACHy5B,EAAG,KACHZ,EAAG,KACHnsB,EAAG,KACHuC,EAAG,QACHoS,EAAG,QACHnxB,EAAG,KACH2/B,EAAG,WACH9K,EAAG,KACHyK,EAAG,KACHD,EAAG,KACHD,EAAG,KACHV,EAAG,KACH5C,EAAG,QACH7J,EAAG,KACH4I,EAAG,KACH/F,EAAG,OACHE,EAAG,KACHkC,EAAG,QACHpF,EAAG,MAECwkD,GAAU,CACdC,OAAQ,SACRC,YAAa,SACbC,KAAM,OACNC,UAAW,SACXC,KAAM,SACNC,MAAO,SACPC,OAAQ,SACRC,MAAO,IACPC,aAAc,SACd9mD,GAAI,KACJ+mD,QAAS,SACTC,KAAM,SACNC,UAAW,SACXC,OAAQ,SACRC,SAAU,SACVC,QAAS,SACTC,IAAK,SACLC,YAAa,SACbC,QAAS,SACTC,QAAS,SACTC,KAAM,OACNC,IAAK,KACLC,MAAO,OACPC,QAAS,SACTC,KAAM,SACNC,KAAM,OACNC,KAAM,SACNC,OAAQ,SACRC,QAAS,SACTC,SAAU,SACVC,OAAQ,SACRC,MAAO,SACPC,IAAK,SACLC,OAAQ,SACRC,OAAQ,SACRC,KAAM,SACNC,MAAO,SACPC,MAAO,SACPC,IAAK,OACLC,OAAQ,SACRC,OAAQ,SACRC,SAAU,OACVC,OAAQ,SACRC,OAAQ,SACRC,SAAU,SACVC,SAAU,SACVC,SAAU,SACVC,SAAU,SACVC,OAAQ,SACRC,QAAS,SACTC,UAAW,SACXC,IAAK,SACLC,OAAQ,SACRC,IAAK,SACLC,IAAK,OACLC,MAAO,SACPC,IAAK,SACLC,QAAS,SACTC,OAAQ,SACRC,QAAS,SACTC,MAAO,SACPC,KAAM,SACNC,MAAO,SACPC,OAAQ,SACRC,UAAW,SACXC,QAAS,SACTC,WAAY,SACZC,IAAK,SACLC,KAAM,SACNC,MAAO,SACPC,UAAW,SACXC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,MAAO,SACPC,MAAO,SACPC,QAAS,SACTC,IAAK,SACLC,KAAM,OACNC,QAAS,SACTC,IAAK,SACLC,OAAQ,SACRC,MAAO,SACPC,WAAY,SACZC,IAAK,KACLC,MAAO,SACPC,OAAQ,SACRC,OAAQ,SACRC,KAAM,SACNC,UAAW,OACXC,IAAK,SACLC,SAAU,SACVC,WAAY,SACZC,QAAS,SACTC,SAAU,SACVC,QAAS,SACTC,WAAY,SACZC,KAAM,KACNC,OAAQ,SACRC,KAAM,SACNC,QAAS,SACTC,MAAO,SACPC,QAAS,SACTC,KAAM,SACNC,UAAW,SACXC,OAAQ,SACRC,MAAO,SACPC,WAAY,SACZC,UAAW,SACXC,QAAS,SACTC,KAAM,SACNC,IAAK,SACLC,KAAM,SACNC,QAAS,SACTC,MAAO,SACPC,YAAa,SACb50D,GAAI,SACJ60D,SAAU,SACVC,MAAO,SACPC,UAAW,SACXC,MAAO,SACPC,UAAW,SACXC,MAAO,SACPC,QAAS,SACTC,MAAO,SACPC,OAAQ,SACRC,MAAO,SACPC,IAAK,SACLC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,SAAU,OACVC,OAAQ,SACRC,IAAK,SACLC,IAAK,OACLC,MAAO,SACPC,OAAQ,SACR3vD,GAAI,SACJ4vD,MAAO,SACPC,IAAK,SACLC,KAAM,SACNC,UAAW,SACXC,GAAI,SACJC,MAAO,UAoBT,SAASC,GAAUzJ,GACZM,KACHA,GApBJ,WACE,IAGIz3E,EAAGgqE,EAAGl4D,EAAG67B,EAAID,EAHXmzC,EAAW,GACX54E,EAAOtH,OAAOsH,KAAKyvE,IACnBoJ,EAAQngF,OAAOsH,KAAKuzC,IAE1B,IAAKx7C,EAAI,EAAGA,EAAIiI,EAAK/H,OAAQF,IAAK,CAEhC,IADA2tC,EAAKD,EAAKzlC,EAAKjI,GACVgqE,EAAI,EAAGA,EAAI8W,EAAM5gF,OAAQ8pE,IAC5Bl4D,EAAIgvE,EAAM9W,GACVt8B,EAAKA,EAAG/9B,QAAQmC,EAAG0pC,GAAI1pC,IAEzBA,EAAI29C,SAASioB,GAAQ/pC,GAAK,IAC1BkzC,EAASnzC,GAAM,CAAC57B,GAAK,GAAK,IAAMA,GAAK,EAAI,IAAU,IAAJA,GAEjD,OAAO+uE,EAMGE,GACRtJ,GAAMuJ,YAAc,CAAC,EAAG,EAAG,EAAG,IAEhC,IAAMj0E,EAAI0qE,GAAMN,EAAIpoE,eACpB,OAAOhC,GAAK,CACVuvB,EAAGvvB,EAAE,GACLqB,EAAGrB,EAAE,GACLC,EAAGD,EAAE,GACLA,EAAgB,IAAbA,EAAE7M,OAAe6M,EAAE,GAAK,KAI/B,IAAMk0E,GAAS,uGAiCf,IAAM5R,GAAK,SAAAphE,GAAC,OAAIA,GAAK,SAAgB,MAAJA,EAAqC,MAAzB4Q,KAAKqiE,IAAIjzE,EAAG,EAAM,KAAe,MACxEm9C,GAAO,SAAAn9C,GAAC,OAAIA,GAAK,OAAUA,EAAI,MAAQ4Q,KAAKqiE,KAAKjzE,EAAI,MAAS,MAAO,MAa3E,SAASkzE,GAAOlzE,EAAGjO,EAAGohF,GACpB,GAAInzE,EAAG,CACL,IAAIozE,EAAMxK,GAAQ5oE,GAClBozE,EAAIrhF,GAAK6e,KAAKqmC,IAAI,EAAGrmC,KAAKyQ,IAAI+xD,EAAIrhF,GAAKqhF,EAAIrhF,GAAKohF,EAAa,IAANphF,EAAU,IAAM,IACvEqhF,EAAMrK,GAAQqK,GACdpzE,EAAEquB,EAAI+kD,EAAI,GACVpzE,EAAEG,EAAIizE,EAAI,GACVpzE,EAAEjB,EAAIq0E,EAAI,IAGd,SAASC,GAAMrzE,EAAGktC,GAChB,OAAOltC,EAAItN,OAAOwQ,OAAOgqC,GAAS,GAAIltC,GAAKA,EAE7C,SAASszE,GAAWxnE,GAClB,IAAI9L,EAAI,CAACquB,EAAG,EAAGluB,EAAG,EAAGpB,EAAG,EAAGD,EAAG,KAY9B,OAXIzM,MAAMC,QAAQwZ,GACZA,EAAM7Z,QAAU,IAClB+N,EAAI,CAACquB,EAAGviB,EAAM,GAAI3L,EAAG2L,EAAM,GAAI/M,EAAG+M,EAAM,GAAIhN,EAAG,KAC3CgN,EAAM7Z,OAAS,IACjB+N,EAAElB,EAAI8oE,GAAI97D,EAAM,OAIpB9L,EAAIqzE,GAAMvnE,EAAO,CAACuiB,EAAG,EAAGluB,EAAG,EAAGpB,EAAG,EAAGD,EAAG,KACrCA,EAAI8oE,GAAI5nE,EAAElB,GAEPkB,EAET,SAASuzE,GAAcrK,GACrB,MAAsB,MAAlBA,EAAI/9D,OAAO,GA3EjB,SAAkB+9D,GAChB,IAEI76C,EAAGluB,EAAGpB,EAFJ7I,EAAI88E,GAAO7J,KAAKD,GAClBpqE,EAAI,IAER,GAAK5I,EAAL,CAGA,GAAIA,EAAE,KAAOm4B,EAAG,CACd,IAAMruB,GAAK9J,EAAE,GACb4I,EAAI5I,EAAE,GAAKyxE,GAAI3nE,GAAK0nE,GAAQ,IAAJ1nE,EAAS,EAAG,KAQtC,OANAquB,GAAKn4B,EAAE,GACPiK,GAAKjK,EAAE,GACP6I,GAAK7I,EAAE,GAIA,CACLm4B,EAJFA,EAAI,KAAOn4B,EAAE,GAAKyxE,GAAIt5C,GAAKq5C,GAAIr5C,EAAG,EAAG,MAKnCluB,EAJFA,EAAI,KAAOjK,EAAE,GAAKyxE,GAAIxnE,GAAKunE,GAAIvnE,EAAG,EAAG,MAKnCpB,EAJFA,EAAI,KAAO7I,EAAE,GAAKyxE,GAAI5oE,GAAK2oE,GAAI3oE,EAAG,EAAG,MAKnCD,EAAGA,IAuDI00E,CAAStK,GAEXD,GAASC,OAEZuK,GAAAA,WACJ,WAAY3nE,GACV,GADiB,UACbA,aAAiB2nE,EACnB,OAAO3nE,EAET,IACI9L,EADEhK,SAAc8V,EAEP,WAAT9V,EACFgK,EAAIszE,GAAWxnE,GACG,WAAT9V,IACTgK,EAjcN,SAAkBkpE,GAChB,IACItxE,EADAsB,EAAMgwE,EAAIj3E,OAmBd,MAjBe,MAAXi3E,EAAI,KACM,IAARhwE,GAAqB,IAARA,EACftB,EAAM,CACJy2B,EAAG,IAAsB,GAAhB05C,GAAMmB,EAAI,IACnB/oE,EAAG,IAAsB,GAAhB4nE,GAAMmB,EAAI,IACnBnqE,EAAG,IAAsB,GAAhBgpE,GAAMmB,EAAI,IACnBpqE,EAAW,IAAR5F,EAA4B,GAAhB6uE,GAAMmB,EAAI,IAAW,KAErB,IAARhwE,GAAqB,IAARA,IACtBtB,EAAM,CACJy2B,EAAG05C,GAAMmB,EAAI,KAAO,EAAInB,GAAMmB,EAAI,IAClC/oE,EAAG4nE,GAAMmB,EAAI,KAAO,EAAInB,GAAMmB,EAAI,IAClCnqE,EAAGgpE,GAAMmB,EAAI,KAAO,EAAInB,GAAMmB,EAAI,IAClCpqE,EAAW,IAAR5F,EAAa6uE,GAAMmB,EAAI,KAAO,EAAInB,GAAMmB,EAAI,IAAO,OAIrDtxE,EA6aC87E,CAAS5nE,IAAU6mE,GAAU7mE,IAAUynE,GAAcznE,IAE3D1X,KAAKu/E,KAAO3zE,EACZ5L,KAAKw/E,SAAW5zE,gCAElB,WACE,OAAO5L,KAAKw/E,wBAEd,WACE,IAAI5zE,EAAIqzE,GAAMj/E,KAAKu/E,MAInB,OAHI3zE,IACFA,EAAElB,EAAI+oE,GAAI7nE,EAAElB,IAEPkB,OAET,SAAQwsC,GACNp4C,KAAKu/E,KAAOL,GAAW9mC,4BAEzB,WACE,OAAOp4C,KAAKw/E,OArFhB,SAAmB5zE,GACjB,OAAOA,IACLA,EAAElB,EAAI,IAAN,eACYkB,EAAEquB,EADd,aACoBruB,EAAEG,EADtB,aAC4BH,EAAEjB,EAD9B,aACoC8oE,GAAI7nE,EAAElB,GAD1C,mBAEWkB,EAAEquB,EAFb,aAEmBruB,EAAEG,EAFrB,aAE2BH,EAAEjB,EAF7B,MAmFqB80E,CAAUz/E,KAAKu/E,WAAQr+E,2BAE9C,WACE,OAAOlB,KAAKw/E,OAASxL,GAAUh0E,KAAKu/E,WAAQr+E,2BAE9C,WACE,OAAOlB,KAAKw/E,OApVhB,SAAmB5zE,GACjB,GAAKA,EAAL,CAGA,IAAMlB,EAAI8pE,GAAQ5oE,GACZ4D,EAAI9E,EAAE,GACN65C,EAAImvB,GAAIhpE,EAAE,IACV6E,EAAImkE,GAAIhpE,EAAE,IAChB,OAAOkB,EAAElB,EAAI,IAAN,eACK8E,EADL,aACW+0C,EADX,cACkBh1C,EADlB,cACyBkkE,GAAI7nE,EAAElB,GAD/B,mBAEI8E,EAFJ,aAEU+0C,EAFV,cAEiBh1C,EAFjB,OA4UgBmwE,CAAU1/E,KAAKu/E,WAAQr+E,qBAE9C,SAAImoB,EAAOs2D,GACT,GAAIt2D,EAAO,CACT,IAEIu2D,EAFEC,EAAK7/E,KAAKu0E,IACVuL,EAAKz2D,EAAMkrD,IAEX9pE,EAAIk1E,IAAWC,EAAK,GAAMD,EAC1Bp9E,EAAI,EAAIkI,EAAI,EACZC,EAAIm1E,EAAGn1E,EAAIo1E,EAAGp1E,EACdq1E,IAAOx9E,EAAImI,KAAO,EAAInI,GAAKA,EAAImI,IAAM,EAAInI,EAAImI,IAAM,GAAK,EAC9Dk1E,EAAK,EAAIG,EACTF,EAAG5lD,EAAI,IAAO8lD,EAAKF,EAAG5lD,EAAI2lD,EAAKE,EAAG7lD,EAAI,GACtC4lD,EAAG9zE,EAAI,IAAOg0E,EAAKF,EAAG9zE,EAAI6zE,EAAKE,EAAG/zE,EAAI,GACtC8zE,EAAGl1E,EAAI,IAAOo1E,EAAKF,EAAGl1E,EAAIi1E,EAAKE,EAAGn1E,EAAI,GACtCk1E,EAAGn1E,EAAID,EAAIo1E,EAAGn1E,GAAK,EAAID,GAAKq1E,EAAGp1E,EAC/B1K,KAAKu0E,IAAMsL,EAEb,OAAO7/E,gCAET,SAAYqpB,EAAOuH,GAIjB,OAHIvH,IACFrpB,KAAKu/E,KAvGX,SAAqBS,EAAMC,EAAMrvD,GAC/B,IAAMqJ,EAAI8uB,GAAK0qB,GAAIuM,EAAK/lD,IAClBluB,EAAIg9C,GAAK0qB,GAAIuM,EAAKj0E,IAClBpB,EAAIo+C,GAAK0qB,GAAIuM,EAAKr1E,IACxB,MAAO,CACLsvB,EAAGu5C,GAAIxG,GAAG/yC,EAAIrJ,GAAKm4B,GAAK0qB,GAAIwM,EAAKhmD,IAAMA,KACvCluB,EAAGynE,GAAIxG,GAAGjhE,EAAI6kB,GAAKm4B,GAAK0qB,GAAIwM,EAAKl0E,IAAMA,KACvCpB,EAAG6oE,GAAIxG,GAAGriE,EAAIimB,GAAKm4B,GAAK0qB,GAAIwM,EAAKt1E,IAAMA,KACvCD,EAAGs1E,EAAKt1E,EAAIkmB,GAAKqvD,EAAKv1E,EAAIs1E,EAAKt1E,IA+FjBw1E,CAAYlgF,KAAKu/E,KAAMl2D,EAAMk2D,KAAM3uD,IAE1C5wB,0BAET,WACE,OAAO,IAAIq/E,EAAMr/E,KAAKu0E,0BAExB,SAAM7pE,GAEJ,OADA1K,KAAKu/E,KAAK70E,EAAI8oE,GAAI9oE,GACX1K,4BAET,SAAQ++E,GAGN,OAFY/+E,KAAKu/E,KACb70E,GAAK,EAAIq0E,EACN/+E,8BAET,WACE,IAAMu0E,EAAMv0E,KAAKu/E,KACX1lC,EAAM6e,GAAc,GAAR6b,EAAIt6C,EAAkB,IAARs6C,EAAIxoE,EAAmB,IAARwoE,EAAI5pE,GAEnD,OADA4pE,EAAIt6C,EAAIs6C,EAAIxoE,EAAIwoE,EAAI5pE,EAAIkvC,EACjB75C,4BAET,SAAQ++E,GAGN,OAFY/+E,KAAKu/E,KACb70E,GAAK,EAAIq0E,EACN/+E,2BAET,WACE,IAAM4L,EAAI5L,KAAKu/E,KAIf,OAHA3zE,EAAEquB,EAAI,IAAMruB,EAAEquB,EACdruB,EAAEG,EAAI,IAAMH,EAAEG,EACdH,EAAEjB,EAAI,IAAMiB,EAAEjB,EACP3K,4BAET,SAAQ++E,GAEN,OADAD,GAAO9+E,KAAKu/E,KAAM,EAAGR,GACd/+E,2BAET,SAAO++E,GAEL,OADAD,GAAO9+E,KAAKu/E,KAAM,GAAIR,GACf/+E,6BAET,SAAS++E,GAEP,OADAD,GAAO9+E,KAAKu/E,KAAM,EAAGR,GACd/+E,+BAET,SAAW++E,GAET,OADAD,GAAO9+E,KAAKu/E,KAAM,GAAIR,GACf/+E,2BAET,SAAOmgF,GAEL,OAtaJ,SAAgBv0E,EAAGu0E,GACjB,IAAI3wE,EAAIglE,GAAQ5oE,GAChB4D,EAAE,GAAKolE,GAAIplE,EAAE,GAAK2wE,GAClB3wE,EAAImlE,GAAQnlE,GACZ5D,EAAEquB,EAAIzqB,EAAE,GACR5D,EAAEG,EAAIyD,EAAE,GACR5D,EAAEjB,EAAI6E,EAAE,GA+ZN4wE,CAAOpgF,KAAKu/E,KAAMY,GACXngF,WA7GLq/E,GC7cC,SAASgB,MAOT,IAAMrlC,GAAO,WAClB,IAAIp6B,EAAK,EACT,OAAO,kBAAMA,KAFK,GAUb,SAAS0/D,GAAczgF,GAC5B,OAAiB,OAAVA,GAAmC,qBAAVA,EAQ3B,SAAS3B,GAAqB2B,GACnC,GAAI5B,MAAMC,SAAWD,MAAMC,QAAQ2B,GACjC,OAAO,EAET,IAAM+B,EAAOtD,OAAOC,UAAUF,SAASI,KAAKoB,GAC5C,MAAyB,YAArB+B,EAAKjB,MAAM,EAAG,IAAuC,WAAnBiB,EAAKjB,OAAO,GAW7C,SAAS4/E,GAAS1gF,GACvB,OAAiB,OAAVA,GAA4D,oBAA1CvB,OAAOC,UAAUF,SAASI,KAAKoB,GAO1D,SAAS2gF,GAAe3gF,GACtB,OAAyB,kBAAVA,GAAsBA,aAAiBF,SAAW8gF,UAAU5gF,GAWtE,SAAS6gF,GAAgB7gF,EAAgBwR,GAC9C,OAAOmvE,GAAe3gF,GAASA,EAAQwR,EAQlC,SAASsvE,GAAkB9gF,EAAsBwR,GACtD,MAAwB,qBAAVxR,EAAwBwR,EAAexR,MAQ1C+gF,GAAc,SAAC/gF,EAAwBghF,GAAzB,MACR,kBAAVhhF,GAAsBA,EAAMwsE,SAAS,KAC1CyU,WAAWjhF,GAAS,IAAMghF,GACvBhhF,GASA,SAAS65B,GACd6e,EACAn5C,EACA2hF,GAEA,GAAIxoC,GAAyB,oBAAZA,EAAG95C,KAClB,OAAO85C,EAAGn6C,MAAM2iF,EAAS3hF,GAyBtB,SAAS4hF,GACdC,EACA1oC,EACAwoC,EACAtlC,GAEA,IAAI99C,EAAWmH,EAAac,EAC5B,GAAI1H,GAAQ+iF,GAEV,GADAn8E,EAAMm8E,EAASpjF,OACX49C,EACF,IAAK99C,EAAImH,EAAM,EAAGnH,GAAK,EAAGA,IACxB46C,EAAG95C,KAAKsiF,EAASE,EAAStjF,GAAIA,QAGhC,IAAKA,EAAI,EAAGA,EAAImH,EAAKnH,IACnB46C,EAAG95C,KAAKsiF,EAASE,EAAStjF,GAAIA,QAG7B,GAAI4iF,GAASU,GAGlB,IADAn8E,GADAc,EAAOtH,OAAOsH,KAAKq7E,IACRpjF,OACNF,EAAI,EAAGA,EAAImH,EAAKnH,IACnB46C,EAAG95C,KAAKsiF,EAASE,EAASr7E,EAAKjI,IAAKiI,EAAKjI,IAWxC,SAASujF,GAAeC,EAAuBC,GACpD,IAAIzjF,EAAW0jF,EAAcC,EAAqBC,EAElD,IAAKJ,IAAOC,GAAMD,EAAGtjF,SAAWujF,EAAGvjF,OACjC,OAAO,EAGT,IAAKF,EAAI,EAAG0jF,EAAOF,EAAGtjF,OAAQF,EAAI0jF,IAAQ1jF,EAIxC,GAHA2jF,EAAKH,EAAGxjF,GACR4jF,EAAKH,EAAGzjF,GAEJ2jF,EAAGE,eAAiBD,EAAGC,cAAgBF,EAAG/7E,QAAUg8E,EAAGh8E,MACzD,OAAO,EAIX,OAAO,EAOF,SAAS05E,GAASlnE,GACvB,GAAI7Z,GAAQ6Z,GACV,OAAOA,EAAOohC,IAAI8lC,IAGpB,GAAIsB,GAASxoE,GAAS,CAMpB,IALA,IAAM7Y,EAASZ,OAAO4D,OAAO,MACvB0D,EAAOtH,OAAOsH,KAAKmS,GACnB0pE,EAAO77E,EAAK/H,OACd4R,EAAI,EAEDA,EAAIgyE,IAAQhyE,EACjBvQ,EAAO0G,EAAK6J,IAAMwvE,GAAMlnE,EAAOnS,EAAK6J,KAGtC,OAAOvQ,EAGT,OAAO6Y,EAGT,SAAS2pE,GAAWljF,GAClB,OAAmE,IAA5D,CAAC,YAAa,YAAa,eAAeqY,QAAQrY,GAQpD,SAASmjF,GAAQnjF,EAAaU,EAAmB6Y,EAAmB7F,GACzE,GAAKwvE,GAAWljF,GAAhB,CAIA,IAAMojF,EAAO1iF,EAAOV,GACdqjF,EAAO9pE,EAAOvZ,GAEhB+hF,GAASqB,IAASrB,GAASsB,GAE7BC,GAAMF,EAAMC,EAAM3vE,GAElBhT,EAAOV,GAAOygF,GAAM4C,IA4BjB,SAASC,GAAS5iF,EAAW6Y,EAAqB7F,GACvD,IAAM6vE,EAAU7jF,GAAQ6Z,GAAUA,EAAS,CAACA,GACtCspE,EAAOU,EAAQlkF,OAErB,IAAK0iF,GAASrhF,GACZ,OAAOA,EAOT,IAHA,IACI0b,EADEonE,GADN9vE,EAAUA,GAAW,IACE8vE,QAAUL,GAGxBhkF,EAAI,EAAGA,EAAI0jF,IAAQ1jF,EAE1B,GAAK4iF,GADL3lE,EAAUmnE,EAAQpkF,IAMlB,IADA,IAAMiI,EAAOtH,OAAOsH,KAAKgV,GAChBnL,EAAI,EAAGgyE,EAAO77E,EAAK/H,OAAQ4R,EAAIgyE,IAAQhyE,EAC9CuyE,EAAOp8E,EAAK6J,GAAIvQ,EAAQ0b,EAAS1I,GAIrC,OAAOhT,EAiBF,SAAS+iF,GAAW/iF,EAAW6Y,GAEpC,OAAO+pE,GAAS5iF,EAAQ6Y,EAAQ,CAACiqE,OAAQE,KAOpC,SAASA,GAAU1jF,EAAaU,EAAmB6Y,GACxD,GAAK2pE,GAAWljF,GAAhB,CAIA,IAAMojF,EAAO1iF,EAAOV,GACdqjF,EAAO9pE,EAAOvZ,GAEhB+hF,GAASqB,IAASrB,GAASsB,GAC7BI,GAAQL,EAAMC,GACJvjF,OAAOC,UAAUf,eAAeiB,KAAKS,EAAQV,KACvDU,EAAOV,GAAOygF,GAAM4C,KAexB,IAAMM,GAAe,CAEnB,GAAIv2E,SAAAA,GAAAA,OAAKA,GAETklB,EAAGw1C,SAAAA,GAAAA,OAAKA,EAAEx1C,GACVoJ,EAAGosC,SAAAA,GAAAA,OAAKA,EAAEpsC,IAsBZ,SAASkoD,GAAgB5jF,GACvB,IAAMoH,EAjBD,SAAmBpH,GACxB,IADqC,EAE/BoH,EAAiB,GACnBo5E,EAAM,GAH2B,KACvBxgF,EAAIgO,MAAM,MADa,IAIrC,IAAK,EAAL,sBACEwyE,GADwB,SAEhB3S,SAAS,MACf2S,EAAMA,EAAIr+E,MAAM,GAAI,GAAK,KAEzBiF,EAAK5H,KAAKghF,GACVA,EAAM,IAV2B,8BAarC,OAAOp5E,EAIMy8E,CAAU7jF,GACvB,OAAO45C,SAAAA,GAAO,WACIxyC,GADJ,IACZ,IAAK,EAAL,qBAAsB,KAAX6J,EAAW,QACpB,GAAU,KAANA,EAGF,MAEF2oC,EAAMA,GAAOA,EAAI3oC,IAPP,8BASZ,OAAO2oC,GAIJ,SAASkqC,GAAiBlqC,EAAgB55C,GAE/C,OADiB2jF,GAAa3jF,KAAS2jF,GAAa3jF,GAAO4jF,GAAgB5jF,KAC3D45C,GAMX,SAASmqC,GAAYzN,GAC1B,OAAOA,EAAI/9D,OAAO,GAAGlK,cAAgBioE,EAAIn0E,MAAM,OAIpC6hF,GAAU,SAAC3iF,GAAD,MAAqC,qBAAVA,GAErCg8C,GAAa,SAACh8C,GAAD,MAAuE,oBAAVA,GAG1E4iF,GAAY,SAAI/3E,EAAWC,GACtC,GAAID,EAAEw9B,OAASv9B,EAAEu9B,KACf,OAAO,EAF2C,WAKjCx9B,GALiC,IAKpD,IAAK,EAAL,qBAAsB,KAAXg4E,EAAW,QACpB,IAAK/3E,EAAEylB,IAAIsyD,GACT,OAAO,GAPyC,8BAWpD,OAAO,GC9YF,IAAMC,GAAKnmE,KAAKmmE,GACVC,GAAM,EAAID,GACVE,GAAQD,GAAMD,GACdG,GAAWnjF,OAAOojF,kBAClBC,GAAcL,GAAK,IACnBM,GAAUN,GAAK,EACfO,GAAaP,GAAK,EAClBQ,GAAqB,EAALR,GAAS,EAEzBS,GAAQ5mE,KAAK4mE,MACbC,GAAO7mE,KAAK6mE,KAElB,SAASC,GAAaxyD,EAAWoJ,EAAWqpD,GACjD,OAAO/mE,KAAKgnE,IAAI1yD,EAAIoJ,GAAKqpD,EAMpB,SAASE,GAAQ95D,GACtB,IAAM+5D,EAAelnE,KAAKk8C,MAAM/uC,GAChCA,EAAQ25D,GAAa35D,EAAO+5D,EAAc/5D,EAAQ,KAAQ+5D,EAAe/5D,EACzE,IAAMg6D,EAAYnnE,KAAKqiE,IAAI,GAAIriE,KAAKmsC,MAAMy6B,GAAMz5D,KAC1Ci6D,EAAWj6D,EAAQg6D,EAEzB,OADqBC,GAAY,EAAI,EAAIA,GAAY,EAAI,EAAIA,GAAY,EAAI,EAAI,IAC3DD,EA0BjB,SAASE,GAASjgF,GACvB,OAAQhE,MAAMkhF,WAAWl9E,KAAiB68E,SAAS78E,GAW9C,SAASkgF,GACd56E,EACAhK,EACA4zE,GAEA,IAAIn1E,EAAW0jF,EAAcxhF,EAE7B,IAAKlC,EAAI,EAAG0jF,EAAOn4E,EAAMrL,OAAQF,EAAI0jF,EAAM1jF,IACzCkC,EAAQqJ,EAAMvL,GAAGm1E,GACZlzE,MAAMC,KACTX,EAAO+tB,IAAMzQ,KAAKyQ,IAAI/tB,EAAO+tB,IAAKptB,GAClCX,EAAO2jD,IAAMrmC,KAAKqmC,IAAI3jD,EAAO2jD,IAAKhjD,IAKjC,SAASkkF,GAAUC,GACxB,OAAOA,GAAWrB,GAAK,KAGlB,SAASsB,GAAUC,GACxB,OAAOA,GAAW,IAAMvB,IAUnB,SAASwB,GAAerzD,GAC7B,GAAKszD,GAAetzD,GAApB,CAKA,IAFA,IAAI3oB,EAAI,EACJsC,EAAI,EACD+R,KAAKk8C,MAAM5nC,EAAI3oB,GAAKA,IAAM2oB,GAC/B3oB,GAAK,GACLsC,IAEF,OAAOA,GAIF,SAAS45E,GACdC,EACAC,GAEA,IAAMC,EAAsBD,EAAWzzD,EAAIwzD,EAAYxzD,EACjD2zD,EAAsBF,EAAWrqD,EAAIoqD,EAAYpqD,EACjDwqD,EAA2BloE,KAAKmoE,KAAKH,EAAsBA,EAAsBC,EAAsBA,GAEzGG,EAAQpoE,KAAKqoE,MAAMJ,EAAqBD,GAM5C,OAJII,GAAU,GAAMjC,KAClBiC,GAAShC,IAGJ,CACLgC,MAAAA,EACAE,SAAUJ,GAIP,SAASK,GAAsBC,EAAYC,GAChD,OAAOzoE,KAAKmoE,KAAKnoE,KAAKqiE,IAAIoG,EAAIn0D,EAAIk0D,EAAIl0D,EAAG,GAAKtU,KAAKqiE,IAAIoG,EAAI/qD,EAAI8qD,EAAI9qD,EAAG,IAOjE,SAASgrD,GAAWx6E,EAAWC,GACpC,OAAQD,EAAIC,EAAIk4E,IAASD,GAAMD,GAO1B,SAASwC,GAAgBz6E,GAC9B,OAAQA,EAAIk4E,GAAMA,IAAOA,GAMpB,SAASwC,GAAcR,EAAe/3D,EAAeC,EAAau4D,GACvE,IAAM36E,EAAIy6E,GAAgBP,GACpBrgC,EAAI4gC,GAAgBt4D,GACpB1kB,EAAIg9E,GAAgBr4D,GACpBw4D,EAAeH,GAAgB5gC,EAAI75C,GACnC66E,EAAaJ,GAAgBh9E,EAAIuC,GACjC86E,EAAeL,GAAgBz6E,EAAI65C,GACnCkhC,EAAaN,GAAgBz6E,EAAIvC,GACvC,OAAOuC,IAAM65C,GAAK75C,IAAMvC,GAAMk9E,GAAyB9gC,IAAMp8C,GACvDm9E,EAAeC,GAAcC,EAAeC,EAU7C,SAASC,GAAY7lF,EAAeotB,EAAa41B,GACtD,OAAOrmC,KAAKqmC,IAAI51B,EAAKzQ,KAAKyQ,IAAI41B,EAAKhjD,IAkB9B,SAAS8lF,GAAW9lF,EAAegtB,EAAeC,GAA6B,IAAhBy2D,EAAgB,uDAAN,KAC9E,OAAO1jF,GAAS2c,KAAKyQ,IAAIJ,EAAOC,GAAOy2D,GAAW1jF,GAAS2c,KAAKqmC,IAAIh2B,EAAOC,GAAOy2D,ECnL7E,SAASqC,GACdC,EACAhmF,EACAimF,GAEAA,EAAMA,GAAQ,SAACvgF,GAAD,OAAWsgF,EAAMtgF,GAAS1F,GAKxC,IAJA,IAEI6oD,EAFA3oB,EAAK8lD,EAAMhoF,OAAS,EACpBkoF,EAAK,EAGFhmD,EAAKgmD,EAAK,GAEXD,EADJp9B,EAAOq9B,EAAKhmD,GAAO,GAEjBgmD,EAAKr9B,EAEL3oB,EAAK2oB,EAIT,MAAO,CAACq9B,GAAAA,EAAIhmD,GAAAA,GAWP,IAAMimD,GAAe,SAC1BH,EACArnF,EACAqB,EACAwnC,GAJ0B,OAM1Bu+C,GAAQC,EAAOhmF,EAAOwnC,EAClB9hC,SAAAA,GACA,IAAMy7B,EAAK6kD,EAAMtgF,GAAO/G,GACxB,OAAOwiC,EAAKnhC,GAASmhC,IAAOnhC,GAASgmF,EAAMtgF,EAAQ,GAAG/G,KAASqB,GAE/D0F,SAAAA,GAAAA,OAASsgF,EAAMtgF,GAAO/G,GAAOqB,KAStBomF,GAAgB,SAC3BJ,EACArnF,EACAqB,GAH2B,OAK3B+lF,GAAQC,EAAOhmF,GAAO0F,SAAAA,GAAAA,OAASsgF,EAAMtgF,GAAO/G,IAAQqB,MAyBtD,IAAMqmF,GAAc,CAAC,OAAQ,MAAO,QAAS,SAAU,WA0DhD,SAASC,GAAoBj9E,EAAO3H,GACzC,IAAM6kF,EAAOl9E,EAAMm9E,SACnB,GAAKD,EAAL,CAIA,IAAMrhF,EAAYqhF,EAAKrhF,UACjBQ,EAAQR,EAAU8R,QAAQtV,IACjB,IAAXgE,GACFR,EAAU4rC,OAAOprC,EAAO,GAGtBR,EAAUlH,OAAS,IAIvBqoF,GAAYz5E,SAAQ,SAACjO,UACZ0K,EAAM1K,aAGR0K,EAAMm9E,WAMR,SAASC,GAAgBC,GAC9B,IACI5oF,EAAW0jF,EADTj9E,EAAM,IAAI2G,IAGhB,IAAKpN,EAAI,EAAG0jF,EAAOkF,EAAM1oF,OAAQF,EAAI0jF,IAAQ1jF,EAC3CyG,EAAI+G,IAAIo7E,EAAM5oF,IAGhB,OAAIyG,EAAI8jC,OAASm5C,EACRkF,EAGFtoF,MAAM8qD,KAAK3kD,GCvLPoiF,IAAAA,GACW,qBAAXn7E,OACF,SAASquB,GACd,OAAOA,KAGJruB,OAAO2tD,sBAOT,SAASytB,GACdluC,EACAwoC,GAEA,IAAI2F,EAAY,GACZC,GAAU,EAEd,OAAO,WAAyB,2BAAbvnF,EAAa,yBAAbA,EAAa,gBAE9BsnF,EAAYtnF,EACPunF,IACHA,GAAU,EACVH,GAAiB/nF,KAAK4M,QAAQ,WAC5Bs7E,GAAU,EACVpuC,EAAGn6C,MAAM2iF,EAAS2F,QA0BnB,IAAME,GAAqB,SAACC,GAAD,MAAiD,UAAVA,EAAoB,OAAmB,QAAVA,EAAkB,QAAU,UAMrHC,GAAiB,SAACD,EAAmCh6D,EAAeC,GAAnD,MAA6E,UAAV+5D,EAAoBh6D,EAAkB,QAAVg6D,EAAkB/5D,GAAOD,EAAQC,GAAO,GAe9J,SAASi6D,GAAiClvE,EAAqCmvE,EAAwBC,GAC5G,IAAMC,EAAaF,EAAOnpF,OAEtBgvB,EAAQ,EACRnqB,EAAQwkF,EAEZ,GAAIrvE,EAAKsvE,QAAS,CAChB,IAAOC,EAAmBvvE,EAAnBuvE,OAAQC,EAAWxvE,EAAXwvE,QACTC,EAAOF,EAAOE,KACpB,EAA2CF,EAAOG,gBAA3Ct6D,EAAP,EAAOA,IAAK41B,EAAZ,EAAYA,IAAK2kC,EAAjB,EAAiBA,WAAYC,EAA7B,EAA6BA,WAEzBD,IACF36D,EAAQ64D,GAAYlpE,KAAKyQ,IAEvB+4D,GAAaqB,EAASD,EAAOE,KAAMr6D,GAAK84D,GAExCkB,EAAqBC,EAAalB,GAAagB,EAAQM,EAAMF,EAAOM,iBAAiBz6D,IAAM84D,IAC7F,EAAGmB,EAAa,IAGhBxkF,EADE+kF,EACM/B,GAAYlpE,KAAKqmC,IAEvBmjC,GAAaqB,EAASD,EAAOE,KAAMzkC,GAAK,GAAM9iB,GAAK,EAEnDknD,EAAqB,EAAIjB,GAAagB,EAAQM,EAAMF,EAAOM,iBAAiB7kC,IAAM,GAAM9iB,GAAK,GAC/FlT,EAAOq6D,GAAcr6D,EAEbq6D,EAAar6D,EAIzB,MAAO,CAACA,MAAAA,EAAOnqB,MAAAA,GASV,SAASilF,GAAoB9vE,GAClC,IAAO+vE,EAAgC/vE,EAAhC+vE,OAAQC,EAAwBhwE,EAAxBgwE,OAAQC,EAAgBjwE,EAAhBiwE,aACjBC,EAAY,CAChBC,KAAMJ,EAAO36D,IACbg7D,KAAML,EAAO/kC,IACbqlC,KAAML,EAAO56D,IACbk7D,KAAMN,EAAOhlC,KAEf,IAAKilC,EAEH,OADAjwE,EAAKiwE,aAAeC,GACb,EAET,IAAMK,EAAUN,EAAaE,OAASJ,EAAO36D,KAC1C66D,EAAaG,OAASL,EAAO/kC,KAC7BilC,EAAaI,OAASL,EAAO56D,KAC7B66D,EAAaK,OAASN,EAAOhlC,IAGhC,OADAvkD,OAAOwQ,OAAOg5E,EAAcC,GACrBK,EC9IT,IAAMC,GAAS,SAACz3D,GAAD,OAAqB,IAANA,GAAiB,IAANA,GACnC03D,GAAY,SAAC13D,EAAW2zB,EAAW95C,GAAvB,OAAuC+R,KAAKqiE,IAAI,EAAG,IAAMjuD,GAAK,IAAMpU,KAAK+rE,KAAK33D,EAAI2zB,GAAKq+B,GAAMn4E,IACzG+9E,GAAa,SAAC53D,EAAW2zB,EAAW95C,GAAvB,OAAqC+R,KAAKqiE,IAAI,GAAI,GAAKjuD,GAAKpU,KAAK+rE,KAAK33D,EAAI2zB,GAAKq+B,GAAMn4E,GAAK,GAOvG2uB,GAAU,CACdqvD,OAAQ,SAAC73D,GAAD,OAAeA,GAEvB83D,WAAY,SAAC93D,GAAD,OAAeA,EAAIA,GAE/B+3D,YAAa,SAAC/3D,GAAD,OAAgBA,GAAKA,EAAI,IAEtCg4D,cAAe,SAACh4D,GAAD,OAAiBA,GAAK,IAAO,EACxC,GAAMA,EAAIA,GACT,MAAUA,GAAMA,EAAI,GAAK,IAE9Bi4D,YAAa,SAACj4D,GAAD,OAAeA,EAAIA,EAAIA,GAEpCk4D,aAAc,SAACl4D,GAAD,OAAgBA,GAAK,GAAKA,EAAIA,EAAI,GAEhDm4D,eAAgB,SAACn4D,GAAD,OAAiBA,GAAK,IAAO,EACzC,GAAMA,EAAIA,EAAIA,EACd,KAAQA,GAAK,GAAKA,EAAIA,EAAI,IAE9Bo4D,YAAa,SAACp4D,GAAD,OAAeA,EAAIA,EAAIA,EAAIA,GAExCq4D,aAAc,SAACr4D,GAAD,SAAkBA,GAAK,GAAKA,EAAIA,EAAIA,EAAI,IAEtDs4D,eAAgB,SAACt4D,GAAD,OAAiBA,GAAK,IAAO,EACzC,GAAMA,EAAIA,EAAIA,EAAIA,GACjB,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAI,IAEnCu4D,YAAa,SAACv4D,GAAD,OAAeA,EAAIA,EAAIA,EAAIA,EAAIA,GAE5Cw4D,aAAc,SAACx4D,GAAD,OAAgBA,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,GAExDy4D,eAAgB,SAACz4D,GAAD,OAAiBA,GAAK,IAAO,EACzC,GAAMA,EAAIA,EAAIA,EAAIA,EAAIA,EACtB,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,IAEtC04D,WAAY,SAAC14D,GAAD,OAAwC,EAAxBpU,KAAK+sE,IAAI34D,EAAIqyD,KAEzCuG,YAAa,SAAC54D,GAAD,OAAepU,KAAK+rE,IAAI33D,EAAIqyD,KAEzCwG,cAAe,SAAC74D,GAAD,OAAgB,IAAOpU,KAAK+sE,IAAI5G,GAAK/xD,GAAK,IAEzD84D,WAAY,SAAC94D,GAAD,OAAsB,IAAPA,EAAY,EAAIpU,KAAKqiE,IAAI,EAAG,IAAMjuD,EAAI,KAEjE+4D,YAAa,SAAC/4D,GAAD,OAAsB,IAAPA,EAAY,EAA4B,EAAvBpU,KAAKqiE,IAAI,GAAI,GAAKjuD,IAE/Dg5D,cAAe,SAACh5D,GAAD,OAAey3D,GAAOz3D,GAAKA,EAAIA,EAAI,GAC9C,GAAMpU,KAAKqiE,IAAI,EAAG,IAAU,EAAJjuD,EAAQ,IAChC,IAAyC,EAAjCpU,KAAKqiE,IAAI,GAAI,IAAU,EAAJjuD,EAAQ,MAEvCi5D,WAAY,SAACj5D,GAAD,OAAeA,GAAM,EAAKA,IAAMpU,KAAKmoE,KAAK,EAAI/zD,EAAIA,GAAK,IAEnEk5D,YAAa,SAACl5D,GAAD,OAAepU,KAAKmoE,KAAK,GAAK/zD,GAAK,GAAKA,IAErDm5D,cAAe,SAACn5D,GAAD,OAAiBA,GAAK,IAAO,GACvC,IAAOpU,KAAKmoE,KAAK,EAAI/zD,EAAIA,GAAK,GAC/B,IAAOpU,KAAKmoE,KAAK,GAAK/zD,GAAK,GAAKA,GAAK,IAEzCo5D,cAAe,SAACp5D,GAAD,OAAey3D,GAAOz3D,GAAKA,EAAI03D,GAAU13D,EAAG,KAAO,KAElEq5D,eAAgB,SAACr5D,GAAD,OAAey3D,GAAOz3D,GAAKA,EAAI43D,GAAW53D,EAAG,KAAO,KAEpEs5D,iBA7Dc,SA6DGt5D,GACf,IAAM2zB,EAAI,MAEV,OAAO8jC,GAAOz3D,GAAKA,EACjBA,EAAI,GACA,GAAM03D,GAAc,EAAJ13D,EAAO2zB,EAHnB,KAIJ,GAAM,GAAMikC,GAAe,EAAJ53D,EAAQ,EAAG2zB,EAJ9B,MAOZ4lC,WAtEc,SAsEHv5D,GACT,IAAM2zB,EAAI,QACV,OAAO3zB,EAAIA,IAAM2zB,EAAI,GAAK3zB,EAAI2zB,IAGhC6lC,YA3Ec,SA2EFx5D,GACV,IAAM2zB,EAAI,QACV,OAAQ3zB,GAAK,GAAKA,IAAM2zB,EAAI,GAAK3zB,EAAI2zB,GAAK,GAG5C8lC,cAhFc,SAgFAz5D,GACZ,IAAI2zB,EAAI,QACR,OAAK3zB,GAAK,IAAO,EACDA,EAAIA,IAAuB,GAAhB2zB,GAAM,QAAe3zB,EAAI2zB,GAA3C,GAEF,KAAQ3zB,GAAK,GAAKA,IAAuB,GAAhB2zB,GAAM,QAAe3zB,EAAI2zB,GAAK,IAGhE+lC,aAAc,SAAC15D,GAAD,OAAe,EAAIwI,GAAQmxD,cAAc,EAAI35D,IAE3D25D,cA1Fc,SA0FA35D,GACZ,IAAM9uB,EAAI,OACJ+J,EAAI,KACV,OAAI+kB,EAAK,EAAI/kB,EACJ/J,EAAI8uB,EAAIA,EAEbA,EAAK,EAAI/kB,EACJ/J,GAAK8uB,GAAM,IAAM/kB,GAAM+kB,EAAI,IAEhCA,EAAK,IAAM/kB,EACN/J,GAAK8uB,GAAM,KAAO/kB,GAAM+kB,EAAI,MAE9B9uB,GAAK8uB,GAAM,MAAQ/kB,GAAM+kB,EAAI,SAGtC45D,gBAAiB,SAAC55D,GAAD,OAAgBA,EAAI,GACH,GAA9BwI,GAAQkxD,aAAiB,EAAJ15D,GACc,GAAnCwI,GAAQmxD,cAAkB,EAAJ35D,EAAQ,GAAW,KCpHxC,SAAS65D,GAAoB5qF,GAClC,GAAIA,GAA0B,kBAAVA,EAAoB,CACtC,IAAM+B,EAAO/B,EAAMxB,WACnB,MAAgB,2BAATuD,GAA8C,4BAATA,EAG9C,OAAO,EAYF,SAASynB,GAAMxpB,GACpB,OAAO4qF,GAAoB5qF,GAASA,EAAQ,IAAIw/E,GAAMx/E,GAMjD,SAAS6qF,GAAc7qF,GAC5B,OAAO4qF,GAAoB5qF,GACvBA,EACA,IAAIw/E,GAAMx/E,GAAO8qF,SAAS,IAAKC,OAAO,IAAK5W,YC9BjD,IAAM6W,GAAU,CAAC,IAAK,IAAK,cAAe,SAAU,WAC9CC,GAAS,CAAC,QAAS,cAAe,mBCAxC,IAAMC,GAAY,IAAIpsE,IAaf,SAASqsE,GAAaC,EAAankE,EAAgB5U,GACxD,OAZF,SAAyB4U,EAAgB5U,GACvCA,EAAUA,GAAW,GACrB,IAAM4nC,EAAWhzB,EAAS+pB,KAAKC,UAAU5+B,GACrCg5E,EAAYH,GAAU5mF,IAAI21C,GAK9B,OAJKoxC,IACHA,EAAY,IAAIC,KAAKC,aAAatkE,EAAQ5U,GAC1C64E,GAAU3mF,IAAI01C,EAAUoxC,IAEnBA,EAIAG,CAAgBvkE,EAAQ5U,GAASo5E,OAAOL,GCPjD,IAAMM,GAAa,CAOjB9nC,OAPiB,SAOV5jD,GACL,OAAO3B,GAAQ2B,GAAkCA,EAAS,GAAKA,GAWjE2rF,QAnBiB,SAmBTC,EAAWlmF,EAAOmmF,GACxB,GAAkB,IAAdD,EACF,MAAO,IAGT,IACIE,EADE7kE,EAAS9mB,KAAK4rF,MAAM15E,QAAQ4U,OAE9B+kE,EAAQJ,EAEZ,GAAIC,EAAM7tF,OAAS,EAAG,CAEpB,IAAMiuF,EAAUtvE,KAAKqmC,IAAIrmC,KAAKgnE,IAAIkI,EAAM,GAAG7rF,OAAQ2c,KAAKgnE,IAAIkI,EAAMA,EAAM7tF,OAAS,GAAGgC,SAChFisF,EAAU,MAAQA,EAAU,QAC9BH,EAAW,cAGbE,EAmCN,SAAwBJ,EAAWC,GAGjC,IAAIG,EAAQH,EAAM7tF,OAAS,EAAI6tF,EAAM,GAAG7rF,MAAQ6rF,EAAM,GAAG7rF,MAAQ6rF,EAAM,GAAG7rF,MAAQ6rF,EAAM,GAAG7rF,MAGvF2c,KAAKgnE,IAAIqI,IAAU,GAAKJ,IAAcjvE,KAAKmsC,MAAM8iC,KAEnDI,EAAQJ,EAAYjvE,KAAKmsC,MAAM8iC,IAEjC,OAAOI,EA7CKE,CAAeN,EAAWC,GAGpC,IAAMM,EAAW5I,GAAM5mE,KAAKgnE,IAAIqI,IAC1BI,EAAazvE,KAAKqmC,IAAIrmC,KAAKyQ,KAAK,EAAIzQ,KAAKmsC,MAAMqjC,GAAW,IAAK,GAE/D95E,EAAU,CAACy5E,SAAAA,EAAUO,sBAAuBD,EAAYE,sBAAuBF,GAGrF,OAFA3tF,OAAOwQ,OAAOoD,EAASlS,KAAKkS,QAAQw5E,MAAMJ,QAEnCN,GAAaS,EAAW3kE,EAAQ5U,IAYzCk6E,YAxDiB,SAwDLX,EAAWlmF,EAAOmmF,GAC5B,GAAkB,IAAdD,EACF,MAAO,IAET,IAAMY,EAASX,EAAMnmF,GAAO+mF,aAAgBb,EAAajvE,KAAKqiE,IAAI,GAAIriE,KAAKmsC,MAAMy6B,GAAMqI,KACvF,MAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,IAAI/7E,SAAS28E,IAAW9mF,EAAQ,GAAMmmF,EAAM7tF,OACxD0tF,GAAWC,QAAQ/sF,KAAKuB,KAAMyrF,EAAWlmF,EAAOmmF,GAElD,KAuBX,OAAe,CAACH,WAAAA,QCzFHgB,GAAYjuF,OAAO4D,OAAO,MAC1BsqF,GAAcluF,OAAO4D,OAAO,MAOzC,SAASuqF,GAAS1iF,EAAMvL,GACtB,IAAKA,EACH,OAAOuL,EAGT,IADA,IAAMnE,EAAOpH,EAAIgO,MAAM,KACd7O,EAAI,EAAGiG,EAAIgC,EAAK/H,OAAQF,EAAIiG,IAAKjG,EAAG,CAC3C,IAAM8R,EAAI7J,EAAKjI,GACfoM,EAAOA,EAAK0F,KAAO1F,EAAK0F,GAAKnR,OAAO4D,OAAO,OAE7C,OAAO6H,EAGT,SAAS3F,GAAIsoF,EAAMC,EAAOlpC,GACxB,MAAqB,kBAAVkpC,EACF7K,GAAM2K,GAASC,EAAMC,GAAQlpC,GAE/Bq+B,GAAM2K,GAASC,EAAM,IAAKC,OAOtBC,GAAAA,WACXp8E,SAAAA,EAAYq8E,EAAcC,GAAW,UACnC9sF,KAAKmvB,eAAYjuB,EACjBlB,KAAK+sF,gBAAkB,kBACvB/sF,KAAKgtF,YAAc,kBACnBhtF,KAAKqpB,MAAQ,OACbrpB,KAAKitF,SAAW,GAChBjtF,KAAKktF,iBAAmB,SAACroF,GAAD,OAAaA,EAAQ+mF,MAAMuB,SAASC,uBAC5DptF,KAAKqtF,SAAW,GAChBrtF,KAAK+B,OAAS,CACZ,YACA,WACA,QACA,aACA,aAEF/B,KAAKstF,KAAO,CACVC,OAAQ,qDACRrlD,KAAM,GACNtxB,MAAO,SACPnB,WAAY,IACZkqE,OAAQ,MAEV3/E,KAAKwtF,MAAQ,GACbxtF,KAAKytF,qBAAuB,SAACC,EAAKx7E,GAAN,OAAkBw4E,GAAcx4E,EAAQ66E,kBACpE/sF,KAAK2tF,iBAAmB,SAACD,EAAKx7E,GAAN,OAAkBw4E,GAAcx4E,EAAQ86E,cAChEhtF,KAAK4tF,WAAa,SAACF,EAAKx7E,GAAN,OAAkBw4E,GAAcx4E,EAAQmX,QAC1DrpB,KAAK6tF,UAAY,IACjB7tF,KAAK8tF,YAAc,CACjBl3D,KAAM,UACNm3D,WAAW,EACXC,kBAAkB,GAEpBhuF,KAAKiuF,qBAAsB,EAC3BjuF,KAAKkuF,QAAU,KACfluF,KAAKgoC,QAAU,KACfhoC,KAAKmuF,SAAU,EACfnuF,KAAK03C,QAAU,GACf13C,KAAKouF,YAAa,EAClBpuF,KAAKquF,WAAQntF,EACblB,KAAKsuF,OAAS,GACdtuF,KAAKuuF,UAAW,EAChBvuF,KAAKwuF,yBAA0B,EAE/BxuF,KAAKyuF,SAAS5B,GACd7sF,KAAK5B,MAAM0uF,iCAOb1oF,SAAIuoF,EAAOlpC,GACT,OAAOr/C,GAAIpE,KAAM2sF,EAAOlpC,sBAM1Bt/C,SAAIwoF,GACF,OAAOF,GAASzsF,KAAM2sF,2BAOxB8B,SAAS9B,EAAOlpC,GACd,OAAOr/C,GAAIooF,GAAaG,EAAOlpC,2BAGjCirC,SAAS/B,EAAOlpC,GACd,OAAOr/C,GAAImoF,GAAWI,EAAOlpC,wBAoB/BonB,SAAM8hB,EAAOxsF,EAAMwuF,EAAaC,GAAY,MACpCC,EAAcpC,GAASzsF,KAAM2sF,GAC7BmC,EAAoBrC,GAASzsF,KAAM2uF,GACnCI,EAAc,IAAM5uF,EAE1B7B,OAAOs0E,iBAAiBic,GAAxBvwF,GAAAA,EAAAA,GAEGywF,EAAc,CACblvF,MAAOgvF,EAAY1uF,GACnB4gE,UAAU,IAJdziE,GAAAA,EAOG6B,EAAO,CACN+D,YAAY,EACZC,IAFM,WAGJ,IAAM6qF,EAAQhvF,KAAK+uF,GACb7vF,EAAS4vF,EAAkBF,GACjC,OAAIrO,GAASyO,GACJ1wF,OAAOwQ,OAAO,GAAI5P,EAAQ8vF,GAE5BrO,GAAeqO,EAAO9vF,IAE/BkF,IAVM,SAUFvE,GACFG,KAAK+uF,GAAelvF,KAlB1BvB,yBAwBFF,SAAM6wF,GAAU,WACdA,EAASxiF,SAAQ,SAACrO,GAAD,OAAWA,EAAM,YA1HzBwuF,GA+Hb,GAA+B,IAAIA,GAAS,CAC1CsC,YAAa,SAAC/uF,GAAD,OAAWA,EAAK6qE,WAAW,OACxCmkB,WAAY,SAAChvF,GAAD,MAAmB,WAATA,GACtBqtF,MAAO,CACL4B,UAAW,eAEbtB,YAAa,CACXoB,aAAa,EACbC,YAAY,IAEb,CH3KI,SAAiCE,GACtCA,EAASjrF,IAAI,YAAa,CACxB87D,WAAOh/D,EACPouF,SAAU,IACVC,OAAQ,eACRh3C,QAAIr3C,EACJ6nD,UAAM7nD,EACNsuF,UAAMtuF,EACN8rE,QAAI9rE,EACJU,UAAMV,IAGRmuF,EAASZ,SAAS,YAAa,CAC7BW,WAAW,EACXD,YAAY,EACZD,YAAa,SAAC/uF,GAAD,MAAmB,eAATA,GAAkC,eAATA,GAAkC,OAATA,KAG3EkvF,EAASjrF,IAAI,aAAc,CACzB0mF,OAAQ,CACNlpF,KAAM,QACN6tF,WAAY3E,IAEdD,QAAS,CACPjpF,KAAM,SACN6tF,WAAY5E,MAIhBwE,EAASZ,SAAS,aAAc,CAC9BW,UAAW,cAGbC,EAASjrF,IAAI,cAAe,CAC1BsrF,OAAQ,CACNvgE,UAAW,CACTmgE,SAAU,MAGdK,OAAQ,CACNxgE,UAAW,CACTmgE,SAAU,IAGdM,KAAM,CACJC,WAAY,CACV/E,OAAQ,CACN/hC,KAAM,eAER+mC,QAAS,CACPluF,KAAM,UACN0tF,SAAU,KAIhBS,KAAM,CACJF,WAAY,CACV/E,OAAQ,CACN9d,GAAI,eAEN8iB,QAAS,CACPluF,KAAM,UACN2tF,OAAQ,SACRh3C,GAAI3sC,SAAAA,GAAAA,OAAS,EAAJA,SIlEZ,SAA8ByjF,GACnCA,EAASjrF,IAAI,SAAU,CACrB4rF,aAAa,EACbC,QAAS,CACPhiE,IAAK,EACLiiE,MAAO,EACPC,OAAQ,EACRpiE,KAAM,MCLL,SAA4BshE,GACjCA,EAASjrF,IAAI,QAAS,CACpBumC,SAAS,EACT7e,QAAQ,EACR2vB,SAAS,EACT20C,aAAa,EASbC,OAAQ,QAMRC,MAAO,EAGPC,KAAM,CACJ5lD,SAAS,EACT6lD,UAAW,EACXC,iBAAiB,EACjBC,WAAW,EACXC,WAAY,EACZC,UAAW,SAACC,EAAM3+E,GAAP,OAAmBA,EAAQs+E,WACtCM,UAAW,SAACD,EAAM3+E,GAAP,OAAmBA,EAAQmX,OACtCyC,QAAQ,GAGVilE,OAAQ,CACNpmD,SAAS,EACTqmD,KAAM,GACNC,WAAY,EACZ/pE,MAAO,GAITq5B,MAAO,CAEL5V,SAAS,EAGT7gB,KAAM,GAGNmmE,QAAS,CACPhiE,IAAK,EACLkiE,OAAQ,IAKZzE,MAAO,CACLwF,YAAa,EACbC,YAAa,GACbC,QAAQ,EACRC,gBAAiB,EACjBC,gBAAiB,GACjBrB,QAAS,EACTtlD,SAAS,EACT4mD,UAAU,EACVC,gBAAiB,EACjBC,YAAa,EAEb/3D,SAAUg4D,GAAMnG,WAAW9nC,OAC3BkuC,MAAO,GACPC,MAAO,GACP/K,MAAO,SACPgL,WAAY,OAEZC,mBAAmB,EACnBC,cAAe,4BACfC,gBAAiB,KAIrB3C,EAASxkB,MAAM,cAAe,QAAS,GAAI,SAC3CwkB,EAASxkB,MAAM,aAAc,QAAS,GAAI,eAC1CwkB,EAASxkB,MAAM,eAAgB,QAAS,GAAI,eAC5CwkB,EAASxkB,MAAM,cAAe,QAAS,GAAI,SAE3CwkB,EAASZ,SAAS,QAAS,CACzBW,WAAW,EACXF,YAAa,SAAC/uF,GAAD,OAAWA,EAAK6qE,WAAW,YAAc7qE,EAAK6qE,WAAW,UAAqB,aAAT7qE,GAAgC,WAATA,GACzGgvF,WAAY,SAAChvF,GAAD,MAAmB,eAATA,GAAkC,mBAATA,GAAsC,SAATA,KAG9EkvF,EAASZ,SAAS,SAAU,CAC1BW,UAAW,UAGbC,EAASZ,SAAS,cAAe,CAC/BS,YAAa,SAAC/uF,GAAD,MAAmB,oBAATA,GAAuC,aAATA,GACrDgvF,WAAY,SAAChvF,GAAD,MAAmB,oBAATA,QCjEnB,SAAS8xF,GAAavE,EAAKroE,EAAMxJ,EAAIq2E,EAAS1oF,GACnD,IAAI2oF,EAAY9sE,EAAK7b,GAQrB,OAPK2oF,IACHA,EAAY9sE,EAAK7b,GAAUkkF,EAAI0E,YAAY5oF,GAAQ0d,MACnDrL,EAAG7d,KAAKwL,IAEN2oF,EAAYD,IACdA,EAAUC,GAELD,EAMF,SAASG,GAAa3E,EAAKJ,EAAMgF,EAAeljD,GAErD,IAAI/pB,GADJ+pB,EAAQA,GAAS,IACA/pB,KAAO+pB,EAAM/pB,MAAQ,GAClCxJ,EAAKuzB,EAAMmjD,eAAiBnjD,EAAMmjD,gBAAkB,GAEpDnjD,EAAMk+C,OAASA,IACjBjoE,EAAO+pB,EAAM/pB,KAAO,GACpBxJ,EAAKuzB,EAAMmjD,eAAiB,GAC5BnjD,EAAMk+C,KAAOA,GAGfI,EAAI8E,OAEJ9E,EAAIJ,KAAOA,EACX,IAEI3vF,EAAGgqE,EAAG8qB,EAAMC,EAAOC,EAFnBT,EAAU,EACR7Q,EAAOiR,EAAcz0F,OAE3B,IAAKF,EAAI,EAAGA,EAAI0jF,EAAM1jF,IAIpB,QAAcuD,KAHdwxF,EAAQJ,EAAc30F,KAGe,OAAV+0F,IAAqC,IAAnBx0F,GAAQw0F,GACnDR,EAAUD,GAAavE,EAAKroE,EAAMxJ,EAAIq2E,EAASQ,QAC1C,GAAIx0F,GAAQw0F,GAGjB,IAAK/qB,EAAI,EAAG8qB,EAAOC,EAAM70F,OAAQ8pE,EAAI8qB,EAAM9qB,SAGrBzmE,KAFpByxF,EAAcD,EAAM/qB,KAE6B,OAAhBgrB,GAAyBz0F,GAAQy0F,KAChET,EAAUD,GAAavE,EAAKroE,EAAMxJ,EAAIq2E,EAASS,IAMvDjF,EAAIkF,UAEJ,IAAMC,EAAQh3E,EAAGhe,OAAS,EAC1B,GAAIg1F,EAAQP,EAAcz0F,OAAQ,CAChC,IAAKF,EAAI,EAAGA,EAAIk1F,EAAOl1F,WACd0nB,EAAKxJ,EAAGle,IAEjBke,EAAG80B,OAAO,EAAGkiD,GAEf,OAAOX,EAWF,SAASY,GAAYlH,EAAOmH,EAAO7rE,GACxC,IAAMgmE,EAAmBtB,EAAMoH,wBACzBC,EAAsB,IAAV/rE,EAAc1K,KAAKqmC,IAAI37B,EAAQ,EAAG,IAAO,EAC3D,OAAO1K,KAAKk8C,OAAOq6B,EAAQE,GAAa/F,GAAoBA,EAAmB+F,EAQ1E,SAASC,GAAYC,EAAQzF,IAClCA,EAAMA,GAAOyF,EAAOC,WAAW,OAE3BZ,OAGJ9E,EAAI2F,iBACJ3F,EAAI4F,UAAU,EAAG,EAAGH,EAAOjsE,MAAOisE,EAAOhsE,QACzCumE,EAAIkF,UAGC,SAASW,GAAU7F,EAAKx7E,EAAS4e,EAAGoJ,GACzCs5D,GAAgB9F,EAAKx7E,EAAS4e,EAAGoJ,EAAG,MAG/B,SAASs5D,GAAgB9F,EAAKx7E,EAAS4e,EAAGoJ,EAAG33B,GAClD,IAAIX,EAAM6xF,EAASC,EAASxrD,EAAMyrD,EAAczsE,EAAO0sE,EAAUC,EAC3Dj9E,EAAQ1E,EAAQ4hF,WAChBC,EAAW7hF,EAAQ6hF,SACnBC,EAAS9hF,EAAQ8hF,OACnBC,GAAOF,GAAY,GAAK/Q,GAE5B,GAAIpsE,GAA0B,kBAAVA,IAEL,+BADbhV,EAAOgV,EAAMvY,aACwC,+BAATuD,GAM1C,OALA8rF,EAAI8E,OACJ9E,EAAIwG,UAAUpjE,EAAGoJ,GACjBwzD,EAAItN,OAAO6T,GACXvG,EAAIyG,UAAUv9E,GAAQA,EAAMsQ,MAAQ,GAAItQ,EAAMuQ,OAAS,EAAGvQ,EAAMsQ,MAAOtQ,EAAMuQ,aAC7EumE,EAAIkF,UAKR,KAAIhzF,MAAMo0F,IAAWA,GAAU,GAA/B,CAMA,OAFAtG,EAAI0G,YAEIx9E,GAER,QACMrU,EACFmrF,EAAI2G,QAAQvjE,EAAGoJ,EAAG33B,EAAI,EAAGyxF,EAAQ,EAAG,EAAGpR,IAEvC8K,EAAI4G,IAAIxjE,EAAGoJ,EAAG85D,EAAQ,EAAGpR,IAE3B8K,EAAI6G,YACJ,MACF,IAAK,WACHrtE,EAAQ3kB,EAAIA,EAAI,EAAIyxF,EACpBtG,EAAI8G,OAAO1jE,EAAItU,KAAK+rE,IAAI0L,GAAO/sE,EAAOgT,EAAI1d,KAAK+sE,IAAI0K,GAAOD,GAC1DC,GAAO9Q,GACPuK,EAAI+G,OAAO3jE,EAAItU,KAAK+rE,IAAI0L,GAAO/sE,EAAOgT,EAAI1d,KAAK+sE,IAAI0K,GAAOD,GAC1DC,GAAO9Q,GACPuK,EAAI+G,OAAO3jE,EAAItU,KAAK+rE,IAAI0L,GAAO/sE,EAAOgT,EAAI1d,KAAK+sE,IAAI0K,GAAOD,GAC1DtG,EAAI6G,YACJ,MACF,IAAK,cASHrsD,EAAO8rD,GADPL,EAAwB,KAATK,GAEfP,EAAUj3E,KAAK+sE,IAAI0K,EAAM/Q,IAAch7C,EACvC0rD,EAAWp3E,KAAK+sE,IAAI0K,EAAM/Q,KAAe3gF,EAAIA,EAAI,EAAIoxF,EAAezrD,GACpEwrD,EAAUl3E,KAAK+rE,IAAI0L,EAAM/Q,IAAch7C,EACvC2rD,EAAWr3E,KAAK+rE,IAAI0L,EAAM/Q,KAAe3gF,EAAIA,EAAI,EAAIoxF,EAAezrD,GACpEwlD,EAAI4G,IAAIxjE,EAAI8iE,EAAU15D,EAAIw5D,EAASC,EAAcM,EAAMtR,GAAIsR,EAAMhR,IACjEyK,EAAI4G,IAAIxjE,EAAI+iE,EAAU35D,EAAIu5D,EAASE,EAAcM,EAAMhR,GAASgR,GAChEvG,EAAI4G,IAAIxjE,EAAI8iE,EAAU15D,EAAIw5D,EAASC,EAAcM,EAAKA,EAAMhR,IAC5DyK,EAAI4G,IAAIxjE,EAAI+iE,EAAU35D,EAAIu5D,EAASE,EAAcM,EAAMhR,GAASgR,EAAMtR,IACtE+K,EAAI6G,YACJ,MACF,IAAK,OACH,IAAKR,EAAU,CACb7rD,EAAO1rB,KAAKk4E,QAAUV,EACtB9sE,EAAQ3kB,EAAIA,EAAI,EAAI2lC,EACpBwlD,EAAIiH,KAAK7jE,EAAI5J,EAAOgT,EAAIgO,EAAM,EAAIhhB,EAAO,EAAIghB,GAC7C,MAEF+rD,GAAO/Q,GAET,IAAK,UACH0Q,EAAWp3E,KAAK+sE,IAAI0K,IAAQ1xF,EAAIA,EAAI,EAAIyxF,GACxCP,EAAUj3E,KAAK+sE,IAAI0K,GAAOD,EAC1BN,EAAUl3E,KAAK+rE,IAAI0L,GAAOD,EAC1BH,EAAWr3E,KAAK+rE,IAAI0L,IAAQ1xF,EAAIA,EAAI,EAAIyxF,GACxCtG,EAAI8G,OAAO1jE,EAAI8iE,EAAU15D,EAAIw5D,GAC7BhG,EAAI+G,OAAO3jE,EAAI+iE,EAAU35D,EAAIu5D,GAC7B/F,EAAI+G,OAAO3jE,EAAI8iE,EAAU15D,EAAIw5D,GAC7BhG,EAAI+G,OAAO3jE,EAAI+iE,EAAU35D,EAAIu5D,GAC7B/F,EAAI6G,YACJ,MACF,IAAK,WACHN,GAAO/Q,GAET,IAAK,QACH0Q,EAAWp3E,KAAK+sE,IAAI0K,IAAQ1xF,EAAIA,EAAI,EAAIyxF,GACxCP,EAAUj3E,KAAK+sE,IAAI0K,GAAOD,EAC1BN,EAAUl3E,KAAK+rE,IAAI0L,GAAOD,EAC1BH,EAAWr3E,KAAK+rE,IAAI0L,IAAQ1xF,EAAIA,EAAI,EAAIyxF,GACxCtG,EAAI8G,OAAO1jE,EAAI8iE,EAAU15D,EAAIw5D,GAC7BhG,EAAI+G,OAAO3jE,EAAI8iE,EAAU15D,EAAIw5D,GAC7BhG,EAAI8G,OAAO1jE,EAAI+iE,EAAU35D,EAAIu5D,GAC7B/F,EAAI+G,OAAO3jE,EAAI+iE,EAAU35D,EAAIu5D,GAC7B,MACF,IAAK,OACHG,EAAWp3E,KAAK+sE,IAAI0K,IAAQ1xF,EAAIA,EAAI,EAAIyxF,GACxCP,EAAUj3E,KAAK+sE,IAAI0K,GAAOD,EAC1BN,EAAUl3E,KAAK+rE,IAAI0L,GAAOD,EAC1BH,EAAWr3E,KAAK+rE,IAAI0L,IAAQ1xF,EAAIA,EAAI,EAAIyxF,GACxCtG,EAAI8G,OAAO1jE,EAAI8iE,EAAU15D,EAAIw5D,GAC7BhG,EAAI+G,OAAO3jE,EAAI8iE,EAAU15D,EAAIw5D,GAC7BhG,EAAI8G,OAAO1jE,EAAI+iE,EAAU35D,EAAIu5D,GAC7B/F,EAAI+G,OAAO3jE,EAAI+iE,EAAU35D,EAAIu5D,GAC7BQ,GAAO/Q,GACP0Q,EAAWp3E,KAAK+sE,IAAI0K,IAAQ1xF,EAAIA,EAAI,EAAIyxF,GACxCP,EAAUj3E,KAAK+sE,IAAI0K,GAAOD,EAC1BN,EAAUl3E,KAAK+rE,IAAI0L,GAAOD,EAC1BH,EAAWr3E,KAAK+rE,IAAI0L,IAAQ1xF,EAAIA,EAAI,EAAIyxF,GACxCtG,EAAI8G,OAAO1jE,EAAI8iE,EAAU15D,EAAIw5D,GAC7BhG,EAAI+G,OAAO3jE,EAAI8iE,EAAU15D,EAAIw5D,GAC7BhG,EAAI8G,OAAO1jE,EAAI+iE,EAAU35D,EAAIu5D,GAC7B/F,EAAI+G,OAAO3jE,EAAI+iE,EAAU35D,EAAIu5D,GAC7B,MACF,IAAK,OACHA,EAAUlxF,EAAIA,EAAI,EAAIia,KAAK+sE,IAAI0K,GAAOD,EACtCN,EAAUl3E,KAAK+rE,IAAI0L,GAAOD,EAC1BtG,EAAI8G,OAAO1jE,EAAI2iE,EAASv5D,EAAIw5D,GAC5BhG,EAAI+G,OAAO3jE,EAAI2iE,EAASv5D,EAAIw5D,GAC5B,MACF,IAAK,OACHhG,EAAI8G,OAAO1jE,EAAGoJ,GACdwzD,EAAI+G,OAAO3jE,EAAItU,KAAK+sE,IAAI0K,IAAQ1xF,EAAIA,EAAI,EAAIyxF,GAAS95D,EAAI1d,KAAK+rE,IAAI0L,GAAOD,GACzE,MACF,KAAK,EACHtG,EAAI6G,YAIN7G,EAAI57B,OACA5/C,EAAQ0iF,YAAc,GACxBlH,EAAImH,UAYD,SAASC,GAAeC,EAAO59E,EAAM69E,GAG1C,OAFAA,EAASA,GAAU,IAEX79E,GAAS49E,GAASA,EAAMjkE,EAAI3Z,EAAK4W,KAAOinE,GAAUD,EAAMjkE,EAAI3Z,EAAK+4E,MAAQ8E,GACjFD,EAAM76D,EAAI/iB,EAAK8W,IAAM+mE,GAAUD,EAAM76D,EAAI/iB,EAAKg5E,OAAS6E,EAGlD,SAASC,GAASvH,EAAKv2E,GAC5Bu2E,EAAI8E,OACJ9E,EAAI0G,YACJ1G,EAAIiH,KAAKx9E,EAAK4W,KAAM5W,EAAK8W,IAAK9W,EAAK+4E,MAAQ/4E,EAAK4W,KAAM5W,EAAKg5E,OAASh5E,EAAK8W,KACzEy/D,EAAIwH,OAGC,SAASC,GAAWzH,GACzBA,EAAIkF,UAMC,SAASwC,GAAe1H,EAAK2H,EAAUn2F,EAAQo2F,EAAM1+D,GAC1D,IAAKy+D,EACH,OAAO3H,EAAI+G,OAAOv1F,EAAO4xB,EAAG5xB,EAAOg7B,GAErC,GAAa,WAATtD,EAAmB,CACrB,IAAM2+D,GAAYF,EAASvkE,EAAI5xB,EAAO4xB,GAAK,EAC3C48D,EAAI+G,OAAOc,EAAUF,EAASn7D,GAC9BwzD,EAAI+G,OAAOc,EAAUr2F,EAAOg7B,OACV,UAATtD,MAAuB0+D,EAChC5H,EAAI+G,OAAOY,EAASvkE,EAAG5xB,EAAOg7B,GAE9BwzD,EAAI+G,OAAOv1F,EAAO4xB,EAAGukE,EAASn7D,GAEhCwzD,EAAI+G,OAAOv1F,EAAO4xB,EAAG5xB,EAAOg7B,GAMvB,SAASs7D,GAAe9H,EAAK2H,EAAUn2F,EAAQo2F,GACpD,IAAKD,EACH,OAAO3H,EAAI+G,OAAOv1F,EAAO4xB,EAAG5xB,EAAOg7B,GAErCwzD,EAAI+H,cACFH,EAAOD,EAASK,KAAOL,EAASM,KAChCL,EAAOD,EAASO,KAAOP,EAASQ,KAChCP,EAAOp2F,EAAOy2F,KAAOz2F,EAAOw2F,KAC5BJ,EAAOp2F,EAAO22F,KAAO32F,EAAO02F,KAC5B12F,EAAO4xB,EACP5xB,EAAOg7B,GAMJ,SAAS47D,GAAWpI,EAAK5jE,EAAMgH,EAAGoJ,EAAGozD,GAAiB,IAGvD3vF,EAAGo4F,EAHyCC,EAAW,uDAAJ,GACjDC,EAAQ/3F,GAAQ4rB,GAAQA,EAAO,CAACA,GAChC+qE,EAASmB,EAAKx/E,YAAc,GAA0B,KAArBw/E,EAAKE,YAO5C,IAJAxI,EAAI8E,OACJ9E,EAAIJ,KAAOA,EAAK9jF,OAChB2sF,GAAczI,EAAKsI,GAEdr4F,EAAI,EAAGA,EAAIs4F,EAAMp4F,SAAUF,EAC9Bo4F,EAAOE,EAAMt4F,GAETq4F,EAAKI,UACPC,GAAa3I,EAAKsI,EAAKI,UAGrBvB,IACEmB,EAAKE,cACPxI,EAAI4I,YAAcN,EAAKE,aAGpB5V,GAAc0V,EAAKx/E,eACtBk3E,EAAI8C,UAAYwF,EAAKx/E,aAGvBk3E,EAAI6I,WAAWR,EAAMjlE,EAAGoJ,EAAG87D,EAAKx/C,WAGlCk3C,EAAI8I,SAAST,EAAMjlE,EAAGoJ,EAAG87D,EAAKx/C,UAC9BigD,GAAa/I,EAAK58D,EAAGoJ,EAAG67D,EAAMC,GAE9B97D,GAAKozD,EAAK73E,WAGZi4E,EAAIkF,UAGN,SAASuD,GAAczI,EAAKsI,GACtBA,EAAKU,aACPhJ,EAAIwG,UAAU8B,EAAKU,YAAY,GAAIV,EAAKU,YAAY,IAGjDpW,GAAc0V,EAAKjC,WACtBrG,EAAItN,OAAO4V,EAAKjC,UAGdiC,EAAK3sE,QACPqkE,EAAIiJ,UAAYX,EAAK3sE,OAGnB2sE,EAAKY,YACPlJ,EAAIkJ,UAAYZ,EAAKY,WAGnBZ,EAAKa,eACPnJ,EAAImJ,aAAeb,EAAKa,cAI5B,SAASJ,GAAa/I,EAAK58D,EAAGoJ,EAAG67D,EAAMC,GACrC,GAAIA,EAAKc,eAAiBd,EAAKe,UAAW,CAQxC,IAAMC,EAAUtJ,EAAI0E,YAAY2D,GAC1BhoE,EAAO+C,EAAIkmE,EAAQC,sBACnB/G,EAAQp/D,EAAIkmE,EAAQE,uBACpBjpE,EAAMiM,EAAI88D,EAAQG,wBAClBhH,EAASj2D,EAAI88D,EAAQI,yBACrBC,EAAcrB,EAAKc,eAAiB7oE,EAAMkiE,GAAU,EAAIA,EAE9DzC,EAAI4I,YAAc5I,EAAIiJ,UACtBjJ,EAAI0G,YACJ1G,EAAI8C,UAAYwF,EAAKsB,iBAAmB,EACxC5J,EAAI8G,OAAOzmE,EAAMspE,GACjB3J,EAAI+G,OAAOvE,EAAOmH,GAClB3J,EAAImH,UAIR,SAASwB,GAAa3I,EAAKsI,GACzB,IAAMuB,EAAW7J,EAAIiJ,UAErBjJ,EAAIiJ,UAAYX,EAAK3sE,MACrBqkE,EAAI8J,SAASxB,EAAKjoE,KAAMioE,EAAK/nE,IAAK+nE,EAAK9uE,MAAO8uE,EAAK7uE,QACnDumE,EAAIiJ,UAAYY,EAQX,SAASE,GAAmB/J,EAAKiH,GACtC,IAAO7jE,EAAsB6jE,EAAtB7jE,EAAGoJ,EAAmBy6D,EAAnBz6D,EAAG33B,EAAgBoyF,EAAhBpyF,EAAGiN,EAAamlF,EAAbnlF,EAAGwkF,EAAUW,EAAVX,OAGnBtG,EAAI4G,IAAIxjE,EAAIkjE,EAAO0D,QAASx9D,EAAI85D,EAAO0D,QAAS1D,EAAO0D,SAAUzU,GAASN,IAAI,GAG9E+K,EAAI+G,OAAO3jE,EAAGoJ,EAAI1qB,EAAIwkF,EAAO2D,YAG7BjK,EAAI4G,IAAIxjE,EAAIkjE,EAAO2D,WAAYz9D,EAAI1qB,EAAIwkF,EAAO2D,WAAY3D,EAAO2D,WAAYhV,GAAIM,IAAS,GAG1FyK,EAAI+G,OAAO3jE,EAAIvuB,EAAIyxF,EAAO4D,YAAa19D,EAAI1qB,GAG3Ck+E,EAAI4G,IAAIxjE,EAAIvuB,EAAIyxF,EAAO4D,YAAa19D,EAAI1qB,EAAIwkF,EAAO4D,YAAa5D,EAAO4D,YAAa3U,GAAS,GAAG,GAGhGyK,EAAI+G,OAAO3jE,EAAIvuB,EAAG23B,EAAI85D,EAAO6D,UAG7BnK,EAAI4G,IAAIxjE,EAAIvuB,EAAIyxF,EAAO6D,SAAU39D,EAAI85D,EAAO6D,SAAU7D,EAAO6D,SAAU,GAAI5U,IAAS,GAGpFyK,EAAI+G,OAAO3jE,EAAIkjE,EAAO0D,QAASx9D,GCjcjC,IAAM49D,GAAc,uCACdC,GAAa,wEAcZ,SAASC,GAAan4F,EAAwBqoC,GACnD,IAAMshC,GAAW,GAAK3pE,GAAOqP,MAAM4oF,IACnC,IAAKtuB,GAA0B,WAAfA,EAAQ,GACtB,OAAc,IAAPthC,EAKT,OAFAroC,GAAS2pE,EAAQ,GAETA,EAAQ,IACd,IAAK,KACH,OAAO3pE,EACT,IAAK,IACHA,GAAS,IAMb,OAAOqoC,EAAOroC,EAGhB,IAAMo4F,GAAe,SAACrsF,GAAD,OAAiBA,GAAK,GAQpC,SAASssF,GAAkBr4F,EAAwC4I,GACxE,IADkH,EAC5GjF,EAAM,GACN20F,EAAW5X,GAAS93E,GACpB7C,EAAOuyF,EAAW75F,OAAOsH,KAAK6C,GAASA,EACvC2vF,EAAO7X,GAAS1gF,GAClBs4F,EACExxB,SAAAA,GAAAA,OAAQga,GAAe9gF,EAAM8mE,GAAO9mE,EAAM4I,EAAMk+D,MAChDA,SAAAA,GAAAA,OAAQ9mE,EAAM8mE,IAChB,kBAAM9mE,GARwG,KAU/F+F,GAV+F,IAUlH,IAAK,EAAL,qBAAyB,KAAd+gE,EAAc,QACvBnjE,EAAImjE,GAAQsxB,GAAaG,EAAKzxB,KAXkF,8BAalH,OAAOnjE,EAWF,SAAS60F,GAAOx4F,GACrB,OAAOq4F,GAAkBr4F,EAAO,CAACouB,IAAK,IAAKiiE,MAAO,IAAKC,OAAQ,IAAKpiE,KAAM,MAUrE,SAASuqE,GAAcz4F,GAC5B,OAAOq4F,GAAkBr4F,EAAO,CAAC,UAAW,WAAY,aAAc,gBAWjE,SAAS04F,GAAU14F,GACxB,IAAMu4C,EAAMigD,GAAOx4F,GAKnB,OAHAu4C,EAAIlxB,MAAQkxB,EAAIrqB,KAAOqqB,EAAI83C,MAC3B93C,EAAIjxB,OAASixB,EAAInqB,IAAMmqB,EAAI+3C,OAEpB/3C,EAeF,SAASogD,GAAOtmF,EAA4Bm0B,GACjDn0B,EAAUA,GAAW,GACrBm0B,EAAWA,GAAYgpD,GAAS/B,KAEhC,IAAIplD,EAAOy4C,GAAezuE,EAAQg2B,KAAM7B,EAAS6B,MAE7B,kBAATA,IACTA,EAAOklB,SAASllB,EAAM,KAExB,IAAItxB,EAAQ+pE,GAAezuE,EAAQ0E,MAAOyvB,EAASzvB,OAC/CA,KAAW,GAAKA,GAAO1H,MAAM6oF,MAC/Bp1F,QAAQC,KAAK,kCAAoCgU,EAAQ,KACzDA,OAAQ1V,GAGV,IAAMosF,EAAO,CACXC,OAAQ5M,GAAezuE,EAAQq7E,OAAQlnD,EAASknD,QAChD93E,WAAYuiF,GAAarX,GAAezuE,EAAQuD,WAAY4wB,EAAS5wB,YAAayyB,GAClFA,KAAAA,EACAtxB,MAAAA,EACA+oE,OAAQgB,GAAezuE,EAAQytE,OAAQt5C,EAASs5C,QAChDn2E,OAAQ,IAIV,OADA8jF,EAAK9jF,ODzHA,SAAsB8jF,GAC3B,OAAKA,GAAQhN,GAAcgN,EAAKplD,OAASo4C,GAAcgN,EAAKC,QACnD,MAGDD,EAAK12E,MAAQ02E,EAAK12E,MAAQ,IAAM,KACrC02E,EAAK3N,OAAS2N,EAAK3N,OAAS,IAAM,IACnC2N,EAAKplD,KAAO,MACZolD,EAAKC,OCiHOkL,CAAanL,GACpBA,EAcF,SAASjtF,GAAQq4F,EAAwB7zF,EAAkBU,EAAgBqzC,GAChF,IACIj7C,EAAW0jF,EAAcxhF,EADzB84F,GAAY,EAGhB,IAAKh7F,EAAI,EAAG0jF,EAAOqX,EAAO76F,OAAQF,EAAI0jF,IAAQ1jF,EAE5C,QAAcuD,KADdrB,EAAQ64F,EAAO/6F,WAICuD,IAAZ2D,GAA0C,oBAAVhF,IAClCA,EAAQA,EAAMgF,GACd8zF,GAAY,QAEAz3F,IAAVqE,GAAuBrH,GAAQ2B,KACjCA,EAAQA,EAAM0F,EAAQ1F,EAAMhC,QAC5B86F,GAAY,QAEAz3F,IAAVrB,GAIF,OAHI+4C,IAAS+/C,IACX//C,EAAK+/C,WAAY,GAEZ94F,EA6BN,SAASi+D,GAAc86B,EAAuB/zF,GACnD,OAAOvG,OAAOwQ,OAAOxQ,OAAO4D,OAAO02F,GAAgB/zF,GCpM9C,SAASg0F,GAAgBC,GAAqF,MAA7EC,EAA6E,uDAAlE,CAAC,IAAKC,EAA4D,uDAA/CF,EAAQzyD,EAAuC,uCAA7B4yD,EAA6B,uDAAjB,kBAAMH,EAAO,IAC1GtW,GAAQn8C,KACXA,EAAW6yD,GAAS,YAAaJ,IAEnC,IAAM1pD,GAAQ,QACXzhC,OAAOkzD,YAAc,UADV,mBAEA,GAFA,eAGHi4B,GAHG,mBAICE,GAJD,iBAKD3yD,GALC,kBAMA4yD,GANA,iBAOF,SAACtM,GAAD,OAAWkM,GAAgB,CAAClM,GAAD,UAAWmM,IAASC,EAAUC,EAAY3yD,MAPnE,GASd,OAAO,IAAI2rC,MAAM5iC,EAAO,CAItB+pD,eAJsB,SAIPj6F,EAAQynE,GAIrB,cAHOznE,EAAOynE,UACPznE,EAAOk6F,aACPN,EAAO,GAAGnyB,IACV,GAMTxiE,IAdsB,SAclBjF,EAAQynE,GACV,OAAO0yB,GAAQn6F,EAAQynE,GACrB,kBAAM2yB,GAAqB3yB,EAAMoyB,EAAUD,EAAQ55F,OAOvDuI,yBAvBsB,SAuBGvI,EAAQynE,GAC/B,OAAO3nE,QAAQyI,yBAAyBvI,EAAOq6F,QAAQ,GAAI5yB,IAM7DriE,eA9BsB,WA+BpB,OAAOtF,QAAQsF,eAAew0F,EAAO,KAMvC1oE,IArCsB,SAqClBlxB,EAAQynE,GACV,OAAO6yB,GAAqBt6F,GAAQwQ,SAASi3D,IAM/CrnE,QA5CsB,SA4CdJ,GACN,OAAOs6F,GAAqBt6F,IAM9BkF,IAnDsB,SAmDlBlF,EAAQynE,EAAM9mE,GAChB,IAAM45F,EAAUv6F,EAAOw6F,WAAax6F,EAAOw6F,SAAWT,KAGtD,OAFA/5F,EAAOynE,GAAQ8yB,EAAQ9yB,GAAQ9mE,SACxBX,EAAOk6F,OACP,KAaN,SAASO,GAAeC,EAAO/0F,EAASg1F,EAAUC,GACvD,IAAM1qD,EAAQ,CACZ2qD,YAAY,EACZC,OAAQJ,EACR7pF,SAAUlL,EACVo1F,UAAWJ,EACXK,OAAQ,IAAInvF,IACZ8hF,aAAcA,GAAa+M,EAAOE,GAClCK,WAAY,SAACzM,GAAD,OAASiM,GAAeC,EAAOlM,EAAKmM,EAAUC,IAC1DpL,SAAU,SAAC/B,GAAD,OAAWgN,GAAeC,EAAMlL,SAAS/B,GAAQ9nF,EAASg1F,EAAUC,KAEhF,OAAO,IAAI9nB,MAAM5iC,EAAO,CAItB+pD,eAJsB,SAIPj6F,EAAQynE,GAGrB,cAFOznE,EAAOynE,UACPizB,EAAMjzB,IACN,GAMTxiE,IAbsB,SAalBjF,EAAQynE,EAAMxnE,GAChB,OAAOk6F,GAAQn6F,EAAQynE,GACrB,kBA0ER,SAA6BznE,EAAQynE,EAAMxnE,GACzC,IAAO66F,EAA0D96F,EAA1D86F,OAAQjqF,EAAkD7Q,EAAlD6Q,SAAUkqF,EAAwC/6F,EAAxC+6F,UAAyBzN,EAAettF,EAA7B2tF,aAChChtF,EAAQm6F,EAAOrzB,GAGf9qB,GAAWh8C,IAAU2sF,EAAY4N,aAAazzB,KAChD9mE,EAYJ,SAA4B8mE,EAAM9mE,EAAOX,EAAQC,GAC/C,IAAO66F,EAAuC96F,EAAvC86F,OAAQjqF,EAA+B7Q,EAA/B6Q,SAAUkqF,EAAqB/6F,EAArB+6F,UAAWC,EAAUh7F,EAAVg7F,OACpC,GAAIA,EAAO9pE,IAAIu2C,GAEb,MAAM,IAAInkE,MAAM,uBAAyBvE,MAAM8qD,KAAKmxC,GAAQx7F,KAAK,MAAQ,KAAOioE,GAElFuzB,EAAO/uF,IAAIw7D,GACX9mE,EAAQA,EAAMkQ,EAAUkqF,GAAa96F,GACrC+6F,EAAOl7E,OAAO2nD,GACV0zB,GAAiB1zB,EAAM9mE,KAEzBA,EAAQy6F,GAAkBN,EAAOT,QAASS,EAAQrzB,EAAM9mE,IAE1D,OAAOA,EAzBG06F,CAAmB5zB,EAAM9mE,EAAOX,EAAQC,IAE9CjB,GAAQ2B,IAAUA,EAAMhC,SAC1BgC,EAyBJ,SAAuB8mE,EAAM9mE,EAAOX,EAAQs7F,GAC1C,IAAOR,EAA0D96F,EAA1D86F,OAAQjqF,EAAkD7Q,EAAlD6Q,SAAUkqF,EAAwC/6F,EAAxC+6F,UAAyBzN,EAAettF,EAA7B2tF,aAEpC,GAAIrK,GAAQzyE,EAASxK,QAAUi1F,EAAY7zB,GACzC9mE,EAAQA,EAAMkQ,EAASxK,MAAQ1F,EAAMhC,aAChC,GAAI0iF,GAAS1gF,EAAM,IAAK,CAE7B,IAAM0D,EAAM1D,EACNi5F,EAASkB,EAAOT,QAAQ18C,QAAO0H,SAAAA,GAAAA,OAAKA,IAAMhhD,KAChD1D,EAAQ,GAJqB,WAKV0D,GALU,IAK7B,IAAK,EAAL,qBAAwB,KAChB7C,EAAW45F,GAAkBxB,EAAQkB,EAAQrzB,EAD7B,SAEtB9mE,EAAM7B,KAAK27F,GAAej5F,EAAUqP,EAAUkqF,GAAaA,EAAUtzB,GAAO6lB,KAPjD,+BAU/B,OAAO3sF,EAxCG46F,CAAc9zB,EAAM9mE,EAAOX,EAAQstF,EAAYgO,cAErDH,GAAiB1zB,EAAM9mE,KAEzBA,EAAQ85F,GAAe95F,EAAOkQ,EAAUkqF,GAAaA,EAAUtzB,GAAO6lB,IAExE,OAAO3sF,EAzFK66F,CAAoBx7F,EAAQynE,EAAMxnE,OAO5CsI,yBAtBsB,SAsBGvI,EAAQynE,GAC/B,OAAOznE,EAAO2tF,aAAa8N,QACvB37F,QAAQoxB,IAAIwpE,EAAOjzB,GAAQ,CAACziE,YAAY,EAAMuM,cAAc,QAAQvP,EACpElC,QAAQyI,yBAAyBmyF,EAAOjzB,IAM9CriE,eA/BsB,WAgCpB,OAAOtF,QAAQsF,eAAes1F,IAMhCxpE,IAtCsB,SAsClBlxB,EAAQynE,GACV,OAAO3nE,QAAQoxB,IAAIwpE,EAAOjzB,IAM5BrnE,QA7CsB,WA8CpB,OAAON,QAAQM,QAAQs6F,IAMzBx1F,IApDsB,SAoDlBlF,EAAQynE,EAAM9mE,GAGhB,OAFA+5F,EAAMjzB,GAAQ9mE,SACPX,EAAOynE,IACP,KAQN,SAASkmB,GAAa+M,GAAuD,IAAhDvK,EAAgD,uDAArC,CAACuL,YAAY,EAAMC,WAAW,GAC3E,EAA0GjB,EAAnG1K,YAAAA,OAAP,MAAqBG,EAASuL,WAA9B,IAA0GhB,EAAhEzK,WAAAA,OAA1C,MAAuDE,EAASwL,UAAhE,IAA0GjB,EAA/BkB,SAAAA,OAA3E,MAAsFzL,EAASsL,QAA/F,EACA,MAAO,CACLA,QAASG,EACTF,WAAY1L,EACZ2L,UAAW1L,EACXiL,aAAcv+C,GAAWqzC,GAAeA,EAAc,kBAAMA,GAC5DsL,YAAa3+C,GAAWszC,GAAcA,EAAa,kBAAMA,IAI7D,IAAM4L,GAAU,SAACC,EAAQ76F,GAAT,OAAkB66F,EAASA,EAASzY,GAAYpiF,GAAQA,GAClEk6F,GAAmB,SAAC1zB,EAAM9mE,GAAP,OAAiB0gF,GAAS1gF,IAAmB,aAAT8mE,IACzB,OAAjCroE,OAAOgG,eAAezE,IAAmBA,EAAM2Q,cAAgBlS,SAElE,SAAS+6F,GAAQn6F,EAAQynE,EAAMtmE,GAC7B,GAAI/B,OAAOC,UAAUf,eAAeiB,KAAKS,EAAQynE,GAC/C,OAAOznE,EAAOynE,GAGhB,IAAM9mE,EAAQQ,IAGd,OADAnB,EAAOynE,GAAQ9mE,EACRA,EAuDT,SAASo7F,GAAgB50D,EAAUsgC,EAAM9mE,GACvC,OAAOg8C,GAAWxV,GAAYA,EAASsgC,EAAM9mE,GAASwmC,EAGxD,IAAMomD,GAAW,SAACjuF,EAAKy6C,GAAN,OAAyB,IAARz6C,EAAey6C,EAC9B,kBAARz6C,EAAmB8jF,GAAiBrpC,EAAQz6C,QAAO0C,GAE9D,SAASg6F,GAAU92F,EAAK+2F,EAAc38F,EAAK48F,EAAgBv7F,GAAO,WAC3Cs7F,GAD2C,IAChE,IAAK,EAAL,qBAAmC,KAAxBliD,EAAwB,QAC3B0zC,EAAQF,GAASjuF,EAAKy6C,GAC5B,GAAI0zC,EAAO,CACTvoF,EAAI+G,IAAIwhF,GACR,IAAMtmD,EAAW40D,GAAgBtO,EAAMyC,UAAW5wF,EAAKqB,GACvD,GAAI2iF,GAAQn8C,IAAaA,IAAa7nC,GAAO6nC,IAAa+0D,EAGxD,OAAO/0D,OAEJ,IAAc,IAAVsmD,GAAmBnK,GAAQ4Y,IAAmB58F,IAAQ48F,EAG/D,OAAO,MAdqD,8BAiBhE,OAAO,EAGT,SAASd,GAAkBa,EAAcz6F,EAAUimE,EAAM9mE,GACvD,IAAMm5F,EAAat4F,EAAS26F,YACtBh1D,EAAW40D,GAAgBv6F,EAAS0uF,UAAWzoB,EAAM9mE,GACrDy7F,EAAY,aAAIH,GAAJ,GAAqBnC,IACjC50F,EAAM,IAAI2G,IAChB3G,EAAI+G,IAAItL,GACR,IAAIrB,EAAM+8F,GAAiBn3F,EAAKk3F,EAAW30B,EAAMtgC,GAAYsgC,EAAM9mE,GACnE,OAAY,OAARrB,MAGAgkF,GAAQn8C,IAAaA,IAAasgC,GAExB,QADZnoE,EAAM+8F,GAAiBn3F,EAAKk3F,EAAWj1D,EAAU7nC,EAAKqB,MAKjDg5F,GAAgB56F,MAAM8qD,KAAK3kD,GAAM,CAAC,IAAK40F,EAAY3yD,GACxD,kBAUJ,SAAsB3lC,EAAUimE,EAAM9mE,GACpC,IAAMo5C,EAASv4C,EAAS86F,aAClB70B,KAAQ1tB,IACZA,EAAO0tB,GAAQ,IAEjB,IAAMznE,EAAS+5C,EAAO0tB,GACtB,GAAIzoE,GAAQgB,IAAWqhF,GAAS1gF,GAE9B,OAAOA,EAET,OAAOX,GAAU,GApBTu8F,CAAa/6F,EAAUimE,EAAM9mE,OAGvC,SAAS07F,GAAiBn3F,EAAKk3F,EAAW98F,EAAK6nC,EAAUq8C,GACvD,KAAOlkF,GACLA,EAAM08F,GAAU92F,EAAKk3F,EAAW98F,EAAK6nC,EAAUq8C,GAEjD,OAAOlkF,EAgBT,SAAS86F,GAAqB3yB,EAAMoyB,EAAUD,EAAQc,GACpD,IAAI/5F,EADuD,OAEtCk5F,GAFsC,IAE3D,IAAK,EAAL,qBAA+B,KAApBiC,EAAoB,QAE7B,GADAn7F,EAAQq5F,GAAS6B,GAAQC,EAAQr0B,GAAOmyB,GACpCtW,GAAQ3iF,GACV,OAAOw6F,GAAiB1zB,EAAM9mE,GAC1By6F,GAAkBxB,EAAQc,EAAOjzB,EAAM9mE,GACvCA,GAPmD,+BAY7D,SAASq5F,GAAS16F,EAAKs6F,GAAQ,WACTA,GADS,IAC7B,IAAK,EAAL,qBAA4B,KAAjBnM,EAAiB,QAC1B,GAAKA,EAAL,CAGA,IAAM9sF,EAAQ8sF,EAAMnuF,GACpB,GAAIgkF,GAAQ3iF,GACV,OAAOA,IAPkB,+BAY/B,SAAS25F,GAAqBt6F,GAC5B,IAAI0G,EAAO1G,EAAOk6F,MAIlB,OAHKxzF,IACHA,EAAO1G,EAAOk6F,MAKlB,SAAkCN,GAChC,IADwC,EAClC10F,EAAM,IAAI2G,IADwB,KAEpB+tF,GAFoB,IAExC,IAAK,EAAL,qBAA4B,OAAjBnM,EAAiB,aACRruF,OAAOsH,KAAK+mF,GAAO9vC,QAAOptC,SAAAA,GAAAA,OAAMA,EAAEu7D,WAAW,SADrC,IAC1B,IAAK,EAAL,qBAAsE,KAA3DxsE,EAA2D,QACpE4F,EAAI+G,IAAI3M,IAFgB,gCAFY,8BAOxC,OAAOP,MAAM8qD,KAAK3kD,GAZMs3F,CAAyBx8F,EAAOq6F,UAEjD3zF,EAaF,SAAS+1F,GAA4B9jF,EAAMwN,EAAMwH,EAAOnqB,GAC7D,IAGI/E,EAAG0jF,EAAM97E,EAAOm9E,EAHb0E,EAAUvvE,EAAVuvE,OACP,EAAoBpnF,KAAK47F,SAAlBp9F,IAAAA,OAAP,MAAa,IAAb,EACMq9F,EAAS,IAAI59F,MAAMyE,GAGzB,IAAK/E,EAAI,EAAG0jF,EAAO3+E,EAAO/E,EAAI0jF,IAAQ1jF,EAEpC+kF,EAAOr9D,EADP9f,EAAQ5H,EAAIkvB,GAEZgvE,EAAOl+F,GAAK,CACVs8B,EAAGmtD,EAAO5Y,MAAM8T,GAAiBI,EAAMlkF,GAAM+G,IAGjD,OAAOs2F,EC9VT,IAAMC,GAAUn8F,OAAOm8F,SAAW,MAG5BC,GAAW,SAAC/U,EAAuBrpF,GAAxB,OAA2DA,EAAIqpF,EAAOnpF,SAAWmpF,EAAOrpF,GAAGq+F,MAAQhV,EAAOrpF,IACrHs+F,GAAe,SAACpO,GAAD,MAAwC,MAAdA,EAAoB,IAAM,KAElE,SAASqO,GACdC,EACAC,EACAC,EACAzrE,GAUA,IAAMykE,EAAW8G,EAAWH,KAAOI,EAAcD,EAC3CvhF,EAAUwhF,EACV9jE,EAAO+jE,EAAWL,KAAOI,EAAcC,EACvCC,EAAMvX,GAAsBnqE,EAASy6E,GACrCkH,EAAMxX,GAAsBzsD,EAAM1d,GAEpC4hF,EAAMF,GAAOA,EAAMC,GACnBE,EAAMF,GAAOD,EAAMC,GAMjBtxF,EAAK2lB,GAHX4rE,EAAM58F,MAAM48F,GAAO,EAAIA,GAIjBvqF,EAAK2e,GAHX6rE,EAAM78F,MAAM68F,GAAO,EAAIA,GAKvB,MAAO,CACLpH,SAAU,CACRvkE,EAAGlW,EAAQkW,EAAI7lB,GAAMqtB,EAAKxH,EAAIukE,EAASvkE,GACvCoJ,EAAGtf,EAAQsf,EAAIjvB,GAAMqtB,EAAK4B,EAAIm7D,EAASn7D,IAEzC5B,KAAM,CACJxH,EAAGlW,EAAQkW,EAAI7e,GAAMqmB,EAAKxH,EAAIukE,EAASvkE,GACvCoJ,EAAGtf,EAAQsf,EAAIjoB,GAAMqmB,EAAK4B,EAAIm7D,EAASn7D,KAQ7C,SAASwiE,GAAe1V,EAAuB2V,EAAkBC,GAK/D,IAJA,IAEIC,EAAgBC,EAAeC,EAAcC,EAA0BC,EAFrEC,EAAYlW,EAAOnpF,OAGrBs/F,EAAapB,GAAS/U,EAAQ,GACzBrpF,EAAI,EAAGA,EAAIu/F,EAAY,IAAKv/F,EACnCs/F,EAAeE,EACfA,EAAapB,GAAS/U,EAAQrpF,EAAI,GAC7Bs/F,GAAiBE,IAIlB7Z,GAAaqZ,EAAOh/F,GAAI,EAAGm+F,IAC7Bc,EAAGj/F,GAAKi/F,EAAGj/F,EAAI,GAAK,GAItBk/F,EAASD,EAAGj/F,GAAKg/F,EAAOh/F,GACxBm/F,EAAQF,EAAGj/F,EAAI,GAAKg/F,EAAOh/F,IAC3Bq/F,EAAmBxgF,KAAKqiE,IAAIge,EAAQ,GAAKrgF,KAAKqiE,IAAIie,EAAO,KACjC,IAIxBC,EAAO,EAAIvgF,KAAKmoE,KAAKqY,GACrBJ,EAAGj/F,GAAKk/F,EAASE,EAAOJ,EAAOh/F,GAC/Bi/F,EAAGj/F,EAAI,GAAKm/F,EAAQC,EAAOJ,EAAOh/F,MAItC,SAASy/F,GAAgBpW,EAAuB4V,GAM9C,IANwF,IAGpF/Q,EAAewR,EAAkCJ,EAHOpP,EAA4B,uDAAL,IAC7EyP,EAAYrB,GAAapO,GACzBqP,EAAYlW,EAAOnpF,OAErBs/F,EAAapB,GAAS/U,EAAQ,GAEzBrpF,EAAI,EAAGA,EAAIu/F,IAAav/F,EAI/B,GAHA0/F,EAAcJ,EACdA,EAAeE,EACfA,EAAapB,GAAS/U,EAAQrpF,EAAI,GAC7Bs/F,EAAL,CAIA,IAAMM,EAASN,EAAapP,GACtB2P,EAASP,EAAaK,GACxBD,IACFxR,GAAS0R,EAASF,EAAYxP,IAAc,EAC5CoP,EAAa,MAAD,OAAOpP,IAAe0P,EAAS1R,EAC3CoR,EAAa,MAAD,OAAOK,IAAeE,EAAS3R,EAAQ+Q,EAAGj/F,IAEpDw/F,IACFtR,GAASsR,EAAWtP,GAAa0P,GAAU,EAC3CN,EAAa,MAAD,OAAOpP,IAAe0P,EAAS1R,EAC3CoR,EAAa,MAAD,OAAOK,IAAeE,EAAS3R,EAAQ+Q,EAAGj/F,KA8C5D,SAAS8/F,GAAgBC,EAAYzwE,EAAa41B,GAChD,OAAOrmC,KAAKqmC,IAAIrmC,KAAKyQ,IAAIywE,EAAI76C,GAAM51B,GA4B9B,SAAS0wE,GACd3W,EACA90E,EACAiF,EACAq4E,EACA3B,GAEA,IAAIlwF,EAAW0jF,EAAc0T,EAAoB6I,EAOjD,GAJI1rF,EAAQ2rF,WACV7W,EAASA,EAAOnqC,QAAO,SAAC6gD,GAAD,OAASA,EAAG1B,SAGE,aAAnC9pF,EAAQ4rF,wBA9EP,SAA6B9W,GAAmD,IAOjFrpF,EAAG0/F,EAAkCJ,EAPgBpP,EAA4B,uDAAL,IAC1EyP,EAAYrB,GAAapO,GACzBqP,EAAYlW,EAAOnpF,OACnB8+F,EAAmB1+F,MAAMi/F,GAAWprC,KAAK,GACzC8qC,EAAe3+F,MAAMi/F,GAIvBC,EAAapB,GAAS/U,EAAQ,GAElC,IAAKrpF,EAAI,EAAGA,EAAIu/F,IAAav/F,EAI3B,GAHA0/F,EAAcJ,EACdA,EAAeE,EACfA,EAAapB,GAAS/U,EAAQrpF,EAAI,GAC7Bs/F,EAAL,CAIA,GAAIE,EAAY,CACd,IAAMY,EAAaZ,EAAWtP,GAAaoP,EAAapP,GAGxD8O,EAAOh/F,GAAoB,IAAfogG,GAAoBZ,EAAWG,GAAaL,EAAaK,IAAcS,EAAa,EAElGnB,EAAGj/F,GAAM0/F,EACJF,EACE9Z,GAAKsZ,EAAOh/F,EAAI,MAAQ0lF,GAAKsZ,EAAOh/F,IAAO,GACzCg/F,EAAOh/F,EAAI,GAAKg/F,EAAOh/F,IAAM,EAFpBg/F,EAAOh/F,EAAI,GADNg/F,EAAOh/F,GAMhC++F,GAAe1V,EAAQ2V,EAAQC,GAE/BQ,GAAgBpW,EAAQ4V,EAAI/O,GA+C1BmQ,CAAoBhX,EAAQ6G,OACvB,CACL,IAAI52C,EAAOu4C,EAAOxI,EAAOA,EAAOnpF,OAAS,GAAKmpF,EAAO,GACrD,IAAKrpF,EAAI,EAAG0jF,EAAO2F,EAAOnpF,OAAQF,EAAI0jF,IAAQ1jF,EAE5CigG,EAAgB1B,GACdjlD,EAFF89C,EAAQ/N,EAAOrpF,GAIbqpF,EAAOxqE,KAAKyQ,IAAItvB,EAAI,EAAG0jF,GAAQmO,EAAO,EAAI,IAAMnO,GAChDnvE,EAAQ+rF,SAEVlJ,EAAMW,KAAOkI,EAAcvI,SAASvkE,EACpCikE,EAAMa,KAAOgI,EAAcvI,SAASn7D,EACpC66D,EAAMY,KAAOiI,EAActlE,KAAKxH,EAChCikE,EAAMc,KAAO+H,EAActlE,KAAK4B,EAChC+c,EAAO89C,EAIP7iF,EAAQgsF,iBA3Dd,SAAyBlX,EAAuB7vE,GAC9C,IAAIxZ,EAAG0jF,EAAM0T,EAAOoJ,EAAQC,EACxBC,EAAavJ,GAAe9N,EAAO,GAAI7vE,GAC3C,IAAKxZ,EAAI,EAAG0jF,EAAO2F,EAAOnpF,OAAQF,EAAI0jF,IAAQ1jF,EAC5CygG,EAAaD,EACbA,EAASE,EACTA,EAAa1gG,EAAI0jF,EAAO,GAAKyT,GAAe9N,EAAOrpF,EAAI,GAAIwZ,GACtDgnF,IAGLpJ,EAAQ/N,EAAOrpF,GACXygG,IACFrJ,EAAMW,KAAO+H,GAAgB1I,EAAMW,KAAMv+E,EAAK4W,KAAM5W,EAAK+4E,OACzD6E,EAAMa,KAAO6H,GAAgB1I,EAAMa,KAAMz+E,EAAK8W,IAAK9W,EAAKg5E,SAEtDkO,IACFtJ,EAAMY,KAAO8H,GAAgB1I,EAAMY,KAAMx+E,EAAK4W,KAAM5W,EAAK+4E,OACzD6E,EAAMc,KAAO4H,GAAgB1I,EAAMc,KAAM1+E,EAAK8W,IAAK9W,EAAKg5E,UA2C1D+N,CAAgBlX,EAAQ7vE,GCxNrB,SAASmnF,KACd,MAAyB,qBAAXjzF,QAA8C,qBAAbC,SAM1C,SAASizF,GAAeC,GAC7B,IAAIvlD,EAASulD,EAAQ/lF,WAIrB,OAHIwgC,GAAgC,wBAAtBA,EAAO56C,aACnB46C,EAAUA,EAAsBwlD,MAE3BxlD,EAQT,SAASylD,GAAcC,EAA6B50F,EAAmB60F,GACrE,IAAIC,EAYJ,MAX0B,kBAAfF,GACTE,EAAgBzxC,SAASuxC,EAAY,KAEJ,IAA7BA,EAAW9nF,QAAQ,OAErBgoF,EAAgBA,EAAiB,IAAO90F,EAAK0O,WAAWmmF,KAG1DC,EAAgBF,EAGXE,EAGT,IAAMC,GAAmB,SAACl1F,GAAD,OACvBA,EAAQmI,cAAcmb,YAAY4xE,iBAAiBl1F,EAAS,OAM9D,IAAMm1F,GAAY,CAAC,MAAO,QAAS,SAAU,QAC7C,SAASC,GAAmBC,EAA6BroF,EAAesoF,GACtE,IAAMz8B,EAAS,GACfy8B,EAASA,EAAS,IAAMA,EAAS,GACjC,IAAK,IAAIvhG,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,IAAMwhG,EAAMJ,GAAUphG,GACtB8kE,EAAO08B,GAAOre,WAAWme,EAAOroF,EAAQ,IAAMuoF,EAAMD,KAAY,EAIlE,OAFAz8B,EAAOv7C,MAAQu7C,EAAO10C,KAAO00C,EAAOytB,MACpCztB,EAAOt7C,OAASs7C,EAAOx0C,IAAMw0C,EAAO0tB,OAC7B1tB,EA2CF,SAAS28B,GACd/0E,EACAuhE,GAEA,GAAI,WAAYvhE,EACd,OAAOA,EAGT,IAAO8oE,EAAmCvH,EAAnCuH,OAAQH,EAA2BpH,EAA3BoH,wBACTp8E,EAAQkoF,GAAiB3L,GACzBkM,EAAgC,eAApBzoF,EAAMkkD,UAClBwkC,EAAWN,GAAmBpoF,EAAO,WACrC2oF,EAAUP,GAAmBpoF,EAAO,SAAU,SACpD,EA7CF,SACEzO,EACAgrF,GAMA,IAIIriE,EAAGoJ,EAJDtS,EAAUzf,EAAkByf,QAC5B7P,EAAU6P,GAAWA,EAAQ/pB,OAAS+pB,EAAQ,GAAKzf,EAClDq3F,EAAoBznF,EAApBynF,QAASC,EAAW1nF,EAAX0nF,QACZC,GAAM,EAEV,GArBmB,SAAC5uE,EAAWoJ,EAAWh7B,GAAvB,OAClB4xB,EAAI,GAAKoJ,EAAI,MAAQh7B,IAAWA,EAAwBygG,YAoBrDC,CAAaJ,EAASC,EAASt3F,EAAEjJ,QACnC4xB,EAAI0uE,EACJtlE,EAAIulE,MACC,CACL,IAAM9K,EAAOxB,EAAO0M,wBACpB/uE,EAAI/Y,EAAOyL,QAAUmxE,EAAK5mE,KAC1BmM,EAAIniB,EAAO0L,QAAUkxE,EAAK1mE,IAC1ByxE,GAAM,EAER,MAAO,CAAC5uE,EAAAA,EAAGoJ,EAAAA,EAAGwlE,IAAAA,GAuBMI,CAAkBz1E,EAAO8oE,GAAtCriE,EAAP,EAAOA,EAAGoJ,EAAV,EAAUA,EAAGwlE,EAAb,EAAaA,IACPjM,EAAU6L,EAASvxE,MAAQ2xE,GAAOH,EAAQxxE,MAC1C2lE,EAAU4L,EAASrxE,KAAOyxE,GAAOH,EAAQtxE,KAE1C/G,EAAiB0kE,EAAjB1kE,MAAOC,EAAUykE,EAAVzkE,OAKZ,OAJIk4E,IACFn4E,GAASo4E,EAASp4E,MAAQq4E,EAAQr4E,MAClCC,GAAUm4E,EAASn4E,OAASo4E,EAAQp4E,QAE/B,CACL2J,EAAGtU,KAAKk8C,OAAO5nC,EAAI2iE,GAAWvsE,EAAQisE,EAAOjsE,MAAQ8rE,GACrD94D,EAAG1d,KAAKk8C,OAAOx+B,EAAIw5D,GAAWvsE,EAASgsE,EAAOhsE,OAAS6rE,IA+B3D,IAAM+M,GAAS,SAACn0F,GAAD,OAAe4Q,KAAKk8C,MAAU,GAAJ9sD,GAAU,IAG5C,SAASo0F,GACd7M,EACA8M,EACAC,EACAnsF,GAEA,IAAM6C,EAAQkoF,GAAiB3L,GACzBgN,EAAUnB,GAAmBpoF,EAAO,UACpC4/B,EAAWkoD,GAAc9nF,EAAM4/B,SAAU28C,EAAQ,gBAAkBrQ,GACnEsd,EAAY1B,GAAc9nF,EAAMwpF,UAAWjN,EAAQ,iBAAmBrQ,GACtEud,EAxCR,SAA0BlN,EAA2BjsE,EAAeC,GAClE,IAAIqvB,EAAkB4pD,EAEtB,QAAcl/F,IAAVgmB,QAAkChmB,IAAXimB,EAAsB,CAC/C,IAAMm5E,EAAY/B,GAAepL,GACjC,GAAKmN,EAGE,CACL,IAAM3L,EAAO2L,EAAUT,wBACjBU,EAAiBzB,GAAiBwB,GAClCE,EAAkBxB,GAAmBuB,EAAgB,SAAU,SAC/DE,EAAmBzB,GAAmBuB,EAAgB,WAC5Dr5E,EAAQytE,EAAKztE,MAAQu5E,EAAiBv5E,MAAQs5E,EAAgBt5E,MAC9DC,EAASwtE,EAAKxtE,OAASs5E,EAAiBt5E,OAASq5E,EAAgBr5E,OACjEqvB,EAAWkoD,GAAc6B,EAAe/pD,SAAU8pD,EAAW,eAC7DF,EAAY1B,GAAc6B,EAAeH,UAAWE,EAAW,qBAV/Dp5E,EAAQisE,EAAOuN,YACfv5E,EAASgsE,EAAOwN,aAYpB,MAAO,CACLz5E,MAAAA,EACAC,OAAAA,EACAqvB,SAAUA,GAAYssC,GACtBsd,UAAWA,GAAatd,IAiBJ8d,CAAiBzN,EAAQ8M,EAASC,GACnDh5E,EAAiBm5E,EAAjBn5E,MAAOC,EAAUk5E,EAAVl5E,OAEZ,GAAwB,gBAApBvQ,EAAMkkD,UAA6B,CACrC,IAAMykC,EAAUP,GAAmBpoF,EAAO,SAAU,SAC9C0oF,EAAWN,GAAmBpoF,EAAO,WAC3CsQ,GAASo4E,EAASp4E,MAAQq4E,EAAQr4E,MAClCC,GAAUm4E,EAASn4E,OAASo4E,EAAQp4E,OAmBtC,OAjBAD,EAAQ1K,KAAKqmC,IAAI,EAAG37B,EAAQi5E,EAAQj5E,OACpCC,EAAS3K,KAAKqmC,IAAI,EAAG9uC,EAAcmT,EAAQnT,EAAcoT,EAASg5E,EAAQh5E,QAC1ED,EAAQ64E,GAAOvjF,KAAKyQ,IAAI/F,EAAOsvB,EAAU6pD,EAAc7pD,WACvDrvB,EAAS44E,GAAOvjF,KAAKyQ,IAAI9F,EAAQi5E,EAAWC,EAAcD,YACtDl5E,IAAUC,IAGZA,EAAS44E,GAAO74E,EAAQ,UAGShmB,IAAZ++F,QAAsC/+F,IAAbg/F,IAE1BnsF,GAAessF,EAAcl5E,QAAUA,EAASk5E,EAAcl5E,SAClFA,EAASk5E,EAAcl5E,OACvBD,EAAQ64E,GAAOvjF,KAAKmsC,MAAMxhC,EAASpT,KAG9B,CAACmT,MAAAA,EAAOC,OAAAA,GASV,SAAS05E,GACdjV,EACAkV,EACAC,GAEA,IAAMC,EAAaF,GAAc,EAC3BG,EAAezkF,KAAKmsC,MAAMijC,EAAMzkE,OAAS65E,GACzCE,EAAc1kF,KAAKmsC,MAAMijC,EAAM1kE,MAAQ85E,GAE7CpV,EAAMzkE,OAAS3K,KAAKmsC,MAAMijC,EAAMzkE,QAChCykE,EAAM1kE,MAAQ1K,KAAKmsC,MAAMijC,EAAM1kE,OAE/B,IAAMisE,EAASvH,EAAMuH,OAUrB,OALIA,EAAOv8E,QAAUmqF,IAAgB5N,EAAOv8E,MAAMuQ,SAAWgsE,EAAOv8E,MAAMsQ,SACxEisE,EAAOv8E,MAAMuQ,OAAbgsE,GAAAA,OAAyBvH,EAAMzkE,OAA/BgsE,MACAA,EAAOv8E,MAAMsQ,MAAbisE,GAAAA,OAAwBvH,EAAM1kE,MAA9BisE,QAGEvH,EAAMoH,0BAA4BgO,GAC/B7N,EAAOhsE,SAAW85E,GAClB9N,EAAOjsE,QAAUg6E,KACtBtV,EAAMoH,wBAA0BgO,EAChC7N,EAAOhsE,OAAS85E,EAChB9N,EAAOjsE,MAAQg6E,EACftV,EAAM8B,IAAIyT,aAAaH,EAAY,EAAG,EAAGA,EAAY,EAAG,IACjD,GAUEI,IAAAA,GAAgC,WAC3C,IAAIjkD,GAAmB,EACvB,IACE,IAAMjrC,EAAU,CACVye,cAEF,OADAwsB,GAAmB,GACZ,IAIX9xC,OAAOvH,iBAAiB,OAAQ,KAAMoO,GACtC7G,OAAOrH,oBAAoB,OAAQ,KAAMkO,GACzC,MAAO/J,IAGT,OAAOg1C,EAfoC,GA4BtC,SAASkkD,GACdz3F,EACAkpE,GAEA,IAAMjzE,EAvOD,SAAkB0vC,EAAiBujC,GACxC,OAAOgsB,GAAiBvvD,GAAI+xD,iBAAiBxuB,GAsO/ByuB,CAAS33F,EAASkpE,GAC1BtJ,EAAU3pE,GAASA,EAAMqP,MAAM,qBACrC,OAAOs6D,GAAWA,EAAQ,QAAKtoE,EC1R1B,SAASsgG,GAAaxsB,EAAWC,EAAWrkD,EAAWgG,GAC5D,MAAO,CACL9F,EAAGkkD,EAAGlkD,EAAIF,GAAKqkD,EAAGnkD,EAAIkkD,EAAGlkD,GACzBoJ,EAAG86C,EAAG96C,EAAItJ,GAAKqkD,EAAG/6C,EAAI86C,EAAG96C,IAOtB,SAASunE,GACdzsB,EACAC,EACArkD,EAAWgG,GAEX,MAAO,CACL9F,EAAGkkD,EAAGlkD,EAAIF,GAAKqkD,EAAGnkD,EAAIkkD,EAAGlkD,GACzBoJ,EAAY,WAATtD,EAAoBhG,EAAI,GAAMokD,EAAG96C,EAAI+6C,EAAG/6C,EAC9B,UAATtD,EAAmBhG,EAAI,EAAIokD,EAAG96C,EAAI+6C,EAAG/6C,EACnCtJ,EAAI,EAAIqkD,EAAG/6C,EAAI86C,EAAG96C,GAOrB,SAASwnE,GAAqB1sB,EAAiBC,EAAiBrkD,EAAWgG,GAChF,IAAM+qE,EAAM,CAAC7wE,EAAGkkD,EAAG2gB,KAAMz7D,EAAG86C,EAAG6gB,MACzB+L,EAAM,CAAC9wE,EAAGmkD,EAAGygB,KAAMx7D,EAAG+6C,EAAG2gB,MACzBlrF,EAAI82F,GAAaxsB,EAAI2sB,EAAK/wE,GAC1BjmB,EAAI62F,GAAaG,EAAKC,EAAKhxE,GAC3BhmB,EAAI42F,GAAaI,EAAK3sB,EAAIrkD,GAC1B/kB,EAAI21F,GAAa92F,EAAGC,EAAGimB,GACvBzoB,EAAIq5F,GAAa72F,EAAGC,EAAGgmB,GAC7B,OAAO4wE,GAAa31F,EAAG1D,EAAGyoB,GCUrB,SAASixE,GAAcC,EAAcC,EAAe76E,GACzD,OAAO46E,EA3CqB,SAASC,EAAe76E,GACpD,MAAO,CACL4J,EADK,SACHA,GACA,OAAOixE,EAAQA,EAAQ76E,EAAQ4J,GAEjCkxE,SAJK,SAIIz/F,GACP2kB,EAAQ3kB,GAEVq0F,UAPK,SAOK/P,GACR,MAAc,WAAVA,EACKA,EAEQ,UAAVA,EAAoB,OAAS,SAEtCob,MAbK,SAaCnxE,EAAGjxB,GACP,OAAOixB,EAAIjxB,GAEbqiG,WAhBK,SAgBMpxE,EAAGqxE,GACZ,OAAOrxE,EAAIqxE,IAyBFC,CAAsBL,EAAO76E,GAnBnC,CACL4J,EADK,SACHA,GACA,OAAOA,GAETkxE,SAJK,SAIIz/F,KAETq0F,UANK,SAMK/P,GACR,OAAOA,GAETob,MATK,SASCnxE,EAAGjxB,GACP,OAAOixB,EAAIjxB,GAEbqiG,WAZK,SAYMpxE,EAAGuxE,GACZ,OAAOvxE,IASN,SAASwxE,GAAsB5U,EAA+B6U,GACnE,IAAI3rF,EAA4B6lC,EACd,QAAd8lD,GAAqC,QAAdA,IAEzB9lD,EAAW,EADX7lC,EAAQ82E,EAAIyF,OAAOv8E,OAEX0qF,iBAAiB,aACvB1qF,EAAM4rF,oBAAoB,cAG5B5rF,EAAME,YAAY,YAAayrF,EAAW,aACzC7U,EAAiD+U,kBAAoBhmD,GAInE,SAASimD,GAAqBhV,EAA+BjxC,QACjDv7C,IAAbu7C,WACMixC,EAAiD+U,kBACzD/U,EAAIyF,OAAOv8E,MAAME,YAAY,YAAa2lC,EAAS,GAAIA,EAAS,KC9DpE,SAASkmD,GAAW7vB,GAClB,MAAiB,UAAbA,EACK,CACLptB,QAAS0/B,GACTn+E,QAASi+E,GACT0d,UAAWzd,IAGR,CACLz/B,QAASigC,GACT1+E,QAAS,SAACyD,EAAGC,GAAJ,OAAUD,EAAIC,GACvBi4F,UAAW9xE,SAAAA,GAAAA,OAAKA,IAIpB,SAAS+xE,GAAT,GAA4D,IAAjCh2E,EAAiC,EAAjCA,MAAOC,EAA0B,EAA1BA,IAAKpqB,EAAqB,EAArBA,MACrC,MAAO,CACLmqB,MAAOA,EAAQnqB,EACfoqB,IAAKA,EAAMpqB,EACX8sF,KAJwD,EAAdA,OAI3B1iE,EAAMD,EAAQ,GAAKnqB,IAAU,EAC5CkU,MALwD,EAARA,OAmD7C,SAASksF,GAAcv3B,EAASyb,EAAQqJ,GAC7C,IAAKA,EACH,MAAO,CAAC9kB,GAkBV,IAfA,IAQI1rE,EAAOk1F,EAAOgO,EARXjwB,EAA8Cud,EAA9Cvd,SAAiBkwB,EAA6B3S,EAApCxjE,MAAwBo2E,EAAY5S,EAAjBvjE,IAC9BpqB,EAAQskF,EAAOnpF,OACrB,EAAsC8kG,GAAW7vB,GAA1C7rE,EAAP,EAAOA,QAASy+C,EAAhB,EAAgBA,QAASk9C,EAAzB,EAAyBA,UACzB,EAlDF,SAAoBr3B,EAASyb,EAAQqJ,GACnC,IAKI1yF,EAAG0jF,EALAvO,EAA8Cud,EAA9Cvd,SAAiBkwB,EAA6B3S,EAApCxjE,MAAwBo2E,EAAY5S,EAAjBvjE,IACpC,EAA6B61E,GAAW7vB,GAAjCptB,EAAP,EAAOA,QAASk9C,EAAhB,EAAgBA,UACVlgG,EAAQskF,EAAOnpF,OAEhBgvB,EAAoB0+C,EAApB1+C,MAAOC,EAAay+C,EAAbz+C,IAAK0iE,EAAQjkB,EAARikB,KAGjB,GAAIA,EAAM,CAGR,IAFA3iE,GAASnqB,EACToqB,GAAOpqB,EACF/E,EAAI,EAAG0jF,EAAO3+E,EAAO/E,EAAI0jF,GACvB37B,EAAQk9C,EAAU5b,EAAOn6D,EAAQnqB,GAAOowE,IAAYkwB,EAAYC,KADjCtlG,EAIpCkvB,IACAC,IAEFD,GAASnqB,EACToqB,GAAOpqB,EAMT,OAHIoqB,EAAMD,IACRC,GAAOpqB,GAEF,CAACmqB,MAAAA,EAAOC,IAAAA,EAAK0iE,KAAAA,EAAM54E,MAAO20D,EAAQ30D,OAyBPssF,CAAW33B,EAASyb,EAAQqJ,GAAvDxjE,EAAP,EAAOA,MAAOC,EAAd,EAAcA,IAAK0iE,EAAnB,EAAmBA,KAAM54E,EAAzB,EAAyBA,MAEnB6rD,EAAS,GACX0gC,GAAS,EACTC,EAAW,KAKTC,EAAc,kBAAMF,GAFEz9C,EAAQs9C,EAAYD,EAAWljG,IAA6C,IAAnCoH,EAAQ+7F,EAAYD,IAGnFO,EAAa,kBAAOH,GAF6B,IAA7Bl8F,EAAQg8F,EAAUpjG,IAAgB6lD,EAAQu9C,EAAUF,EAAWljG,IAIhFlC,EAAIkvB,EAAOoqB,EAAOpqB,EAAOlvB,GAAKmvB,IAAOnvB,GAC5Co3F,EAAQ/N,EAAOrpF,EAAI+E,IAETs5F,OAIVn8F,EAAQ+iG,EAAU7N,EAAMjiB,OAEViwB,IAIdI,EAASz9C,EAAQ7lD,EAAOmjG,EAAYC,GAEnB,OAAbG,GAAqBC,MACvBD,EAA0C,IAA/Bn8F,EAAQpH,EAAOmjG,GAAoBrlG,EAAIs5C,GAGnC,OAAbmsD,GAAqBE,MACvB7gC,EAAOzkE,KAAK6kG,GAAiB,CAACh2E,MAAOu2E,EAAUt2E,IAAKnvB,EAAG6xF,KAAAA,EAAM9sF,MAAAA,EAAOkU,MAAAA,KACpEwsF,EAAW,MAEbnsD,EAAOt5C,EACPolG,EAAYljG,GAOd,OAJiB,OAAbujG,GACF3gC,EAAOzkE,KAAK6kG,GAAiB,CAACh2E,MAAOu2E,EAAUt2E,IAAAA,EAAK0iE,KAAAA,EAAM9sF,MAAAA,EAAOkU,MAAAA,KAG5D6rD,EAaF,SAAS8gC,GAAexN,EAAM1F,GAInC,IAHA,IAAM5tB,EAAS,GACT4I,EAAW0qB,EAAK1qB,SAEb1tE,EAAI,EAAGA,EAAI0tE,EAASxtE,OAAQF,IAAK,CACxC,IAAM6lG,EAAMV,GAAcz3B,EAAS1tE,GAAIo4F,EAAK/O,OAAQqJ,GAChDmT,EAAI3lG,QACN4kE,EAAOzkE,KAAPykE,MAAAA,EAAAA,GAAe+gC,IAGnB,OAAO/gC,EAkHT,SAASghC,GAAc1N,EAAM1qB,EAAU2b,EAAQ0c,GAC7C,OAAKA,GAAmBA,EAAevJ,YAAenT,EAaxD,SAAyB+O,EAAM1qB,EAAU2b,EAAQ0c,GAC/C,IAAMC,EAAe5N,EAAK6N,OAAOxQ,aAC3ByQ,EAAYC,GAAU/N,EAAK7jF,SACXsvE,EAAqCuU,EAApDgO,cAAuClG,EAAa9H,EAAvB7jF,QAAU2rF,SACxCn7F,EAAQskF,EAAOnpF,OACf4kE,EAAS,GACXuhC,EAAYH,EACZh3E,EAAQw+C,EAAS,GAAGx+C,MACpBlvB,EAAIkvB,EAER,SAASo3E,EAAS1/C,EAAGp8C,EAAGoH,EAAG20F,GACzB,IAAMC,EAAMtG,GAAY,EAAI,EAC5B,GAAIt5C,IAAMp8C,EAAV,CAKA,IADAo8C,GAAK7hD,EACEskF,EAAOziC,EAAI7hD,GAAOs5F,MACvBz3C,GAAK4/C,EAEP,KAAOnd,EAAO7+E,EAAIzF,GAAOs5F,MACvB7zF,GAAKg8F,EAEH5/C,EAAI7hD,IAAUyF,EAAIzF,IACpB+/D,EAAOzkE,KAAK,CAAC6uB,MAAO03B,EAAI7hD,EAAOoqB,IAAK3kB,EAAIzF,EAAO8sF,KAAMjgF,EAAGqH,MAAOstF,IAC/DF,EAAYE,EACZr3E,EAAQ1kB,EAAIzF,IA1B+C,WA8BzC2oE,GA9ByC,IA8B/D,IAAK,EAAL,qBAAgC,KAArBE,EAAqB,QAC9B1+C,EAAQgxE,EAAWhxE,EAAQ0+C,EAAQ1+C,MACnC,IAAIoqB,EAAO+vC,EAAOn6D,EAAQnqB,GACtBkU,OAAAA,EACJ,IAAKjZ,EAAIkvB,EAAQ,EAAGlvB,GAAK4tE,EAAQz+C,IAAKnvB,IAAK,CACzC,IAAM+/F,EAAK1W,EAAOrpF,EAAI+E,GASlB0hG,GARJxtF,EAAQktF,GAAUJ,EAAevJ,WAAWr8B,GAAc6lC,EAAc,CACtE/hG,KAAM,UACNyiG,GAAIptD,EACJ+9B,GAAI0oB,EACJ4G,aAAc3mG,EAAI,GAAK+E,EACvB6hG,YAAa5mG,EAAI+E,EACjB8+E,aAAAA,MAEsBwiB,IACtBC,EAASp3E,EAAOlvB,EAAI,EAAG4tE,EAAQikB,KAAMwU,GAEvC/sD,EAAOymD,EACPsG,EAAYptF,EAEViW,EAAQlvB,EAAI,GACdsmG,EAASp3E,EAAOlvB,EAAI,EAAG4tE,EAAQikB,KAAMwU,IAnDsB,8BAuD/D,OAAOvhC,EAjEA+hC,CAAgBzO,EAAM1qB,EAAU2b,EAAQ0c,GAFtCr4B,EAsEX,SAASy4B,GAAU5xF,GACjB,MAAO,CACL66E,gBAAiB76E,EAAQ66E,gBACzB0X,eAAgBvyF,EAAQuyF,eACxBC,WAAYxyF,EAAQwyF,WACpBC,iBAAkBzyF,EAAQyyF,iBAC1BC,gBAAiB1yF,EAAQ0yF,gBACzBhQ,YAAa1iF,EAAQ0iF,YACrB5H,YAAa96E,EAAQ86E,aAIzB,SAASoX,GAAaxtF,EAAOotF,GAC3B,OAAOA,GAAanzD,KAAKC,UAAUl6B,KAAWi6B,KAAKC,UAAUkzD,OCjVlDa,GAAAA,WACXr0F,SAAAA,IAAc,UACZxQ,KAAK8kG,SAAW,KAChB9kG,KAAK+kG,QAAU,IAAIpmF,IACnB3e,KAAKglG,UAAW,EAChBhlG,KAAKilG,eAAY/jG,oCAMnBgkG,SAAQtZ,EAAOuZ,EAAO77E,EAAM1nB,GAC1B,IAAMwjG,EAAYD,EAAMpgG,UAAUnD,GAC5ByjG,EAAWF,EAAM7V,SAEvB8V,EAAU34F,SAAQ8rC,SAAAA,GAAAA,OAAMA,EAAG,CACzBqzC,MAAAA,EACAv0C,QAAS8tD,EAAM9tD,QACfguD,SAAAA,EACAC,YAAa9oF,KAAKyQ,IAAI3D,EAAO67E,EAAMt4E,MAAOw4E,gCAO9CE,WAAW,WACLvlG,KAAK8kG,WAGT9kG,KAAKglG,UAAW,EAEhBhlG,KAAK8kG,SAAWte,GAAiB/nF,KAAK4M,QAAQ,WAC5C,EAAKm6F,UACL,EAAKV,SAAW,KAEZ,EAAKE,UACP,EAAKO,sCAQXC,WAA2B,WAAnBl8E,EAAmB,uDAAZzG,KAAKC,MACd2iF,EAAY,EAEhBzlG,KAAK+kG,QAAQt4F,SAAQ,SAAC04F,EAAOvZ,GAC3B,GAAKuZ,EAAMO,SAAYP,EAAM5e,MAAM1oF,OAAnC,CAQA,IALA,IAGI6kF,EAHE6D,EAAQ4e,EAAM5e,MAChB5oF,EAAI4oF,EAAM1oF,OAAS,EACnB8nG,GAAO,EAGJhoG,GAAK,IAAKA,GACf+kF,EAAO6D,EAAM5oF,IAEJioG,SACHljB,EAAKmjB,OAASV,EAAM7V,WAGtB6V,EAAM7V,SAAW5M,EAAKmjB,QAExBnjB,EAAKojB,KAAKx8E,GACVq8E,GAAO,IAIPpf,EAAM5oF,GAAK4oF,EAAMA,EAAM1oF,OAAS,GAChC0oF,EAAM/gF,OAINmgG,IACF/Z,EAAM+Z,OACN,EAAKT,QAAQtZ,EAAOuZ,EAAO77E,EAAM,aAG9Bi9D,EAAM1oF,SACTsnG,EAAMO,SAAU,EAChB,EAAKR,QAAQtZ,EAAOuZ,EAAO77E,EAAM,YACjC67E,EAAM9tD,SAAU,GAGlBouD,GAAalf,EAAM1oF,WAGrBmC,KAAKilG,UAAY37E,EAEC,IAAdm8E,IACFzlG,KAAKglG,UAAW,4BAOpBe,SAAUna,GACR,IAAMoa,EAAShmG,KAAK+kG,QAChBI,EAAQa,EAAO7hG,IAAIynF,GAavB,OAZKuZ,IACHA,EAAQ,CACNO,SAAS,EACTruD,SAAS,EACTkvC,MAAO,GACPxhF,UAAW,CACT0gE,SAAU,GACVwgC,SAAU,KAGdD,EAAO5hG,IAAIwnF,EAAOuZ,IAEbA,wBAQT30B,SAAOob,EAAOvhE,EAAOxY,GACnB7R,KAAK+lG,UAAUna,GAAO7mF,UAAUslB,GAAOrsB,KAAK6T,sBAQ9C1G,SAAIygF,EAAOrF,GAAO,MACXA,GAAUA,EAAM1oF,SAGrB,EAAAmC,KAAK+lG,UAAUna,GAAOrF,OAAMvoF,KAA5B,WAAoCuoF,uBAOtCn2D,SAAIw7D,GACF,OAAO5rF,KAAK+lG,UAAUna,GAAOrF,MAAM1oF,OAAS,uBAO9CgvB,SAAM++D,GACJ,IAAMuZ,EAAQnlG,KAAK+kG,QAAQ5gG,IAAIynF,GAC1BuZ,IAGLA,EAAMO,SAAU,EAChBP,EAAMt4E,MAAQhK,KAAKC,MACnBqiF,EAAM7V,SAAW6V,EAAM5e,MAAM3vC,QAAO,SAAC4kB,EAAK0qC,GAAN,OAAc1pF,KAAKqmC,IAAI2Y,EAAK0qC,EAAIC,aAAY,GAChFnmG,KAAKulG,mCAGPG,SAAQ9Z,GACN,IAAK5rF,KAAKglG,SACR,OAAO,EAET,IAAMG,EAAQnlG,KAAK+kG,QAAQ5gG,IAAIynF,GAC/B,SAAKuZ,GAAUA,EAAMO,SAAYP,EAAM5e,MAAM1oF,4BAU/CknE,SAAK6mB,GACH,IAAMuZ,EAAQnlG,KAAK+kG,QAAQ5gG,IAAIynF,GAC/B,GAAKuZ,GAAUA,EAAM5e,MAAM1oF,OAA3B,CAMA,IAHA,IAAM0oF,EAAQ4e,EAAM5e,MAChB5oF,EAAI4oF,EAAM1oF,OAAS,EAEhBF,GAAK,IAAKA,EACf4oF,EAAM5oF,GAAGyoG,SAEXjB,EAAM5e,MAAQ,GACdvmF,KAAKklG,QAAQtZ,EAAOuZ,EAAOtiF,KAAKC,MAAO,mCAOzCujF,SAAOza,GACL,OAAO5rF,KAAK+kG,QAAQ/lF,OAAO4sE,SArMlBiZ,GA0Mb,GAA+B,IAAIA,GCjN7BlmB,GAAc,cACd2nB,GAAgB,CACpBC,QADoB,SACZx9C,EAAMikB,EAAIw5B,GAChB,OAAOA,EAAS,GAAMx5B,EAAKjkB,GAO7B1/B,MAToB,SASd0/B,EAAMikB,EAAIw5B,GACd,IAAMC,EAAKC,GAAa39C,GAAQ41B,IAC1BkB,EAAK4mB,EAAGE,OAASD,GAAa15B,GAAM2R,IAC1C,OAAOkB,GAAMA,EAAG8mB,MACZ9mB,EAAG+mB,IAAIH,EAAID,GAAQxyB,YACnBhH,GAEN1jE,OAhBoB,SAgBby/C,EAAMikB,EAAIw5B,GACf,OAAOz9C,GAAQikB,EAAKjkB,GAAQy9C,IAIXK,GAAAA,WACnBr2F,SAAAA,EAAYs2F,EAAK5nG,EAAQynE,EAAMqG,GAAI,UACjC,IAAM+5B,EAAe7nG,EAAOynE,GAE5BqG,EAAK3sE,GAAQ,CAACymG,EAAI95B,GAAIA,EAAI+5B,EAAcD,EAAI/9C,OAC5C,IAAMA,EAAO1oD,GAAQ,CAACymG,EAAI/9C,KAAMg+C,EAAc/5B,IAE9ChtE,KAAK4lG,SAAU,EACf5lG,KAAKgnG,IAAMF,EAAIvuD,IAAM+tD,GAAcQ,EAAIllG,aAAemnD,GACtD/oD,KAAKinG,QAAU7tE,GAAQ0tE,EAAIvX,SAAWn2D,GAAQqvD,OAC9CzoF,KAAKknG,OAAS1qF,KAAKmsC,MAAM9lC,KAAKC,OAASgkF,EAAI5mC,OAAS,IACpDlgE,KAAKmmG,UAAYnmG,KAAK6lG,OAASrpF,KAAKmsC,MAAMm+C,EAAIxX,UAC9CtvF,KAAKmnG,QAAUL,EAAItX,KACnBxvF,KAAKonG,QAAUloG,EACfc,KAAKqnG,MAAQ1gC,EACb3mE,KAAKsnG,MAAQv+C,EACb/oD,KAAKunG,IAAMv6B,EACXhtE,KAAKwnG,eAAYtmG,mCAGnBwuF,WACE,OAAO1vF,KAAK4lG,8BAGd6B,SAAOX,EAAK95B,EAAI1jD,GACd,GAAItpB,KAAK4lG,QAAS,CAChB5lG,KAAKklG,SAAQ,GAEb,IAAM6B,EAAe/mG,KAAKonG,QAAQpnG,KAAKqnG,OACjCK,EAAUp+E,EAAOtpB,KAAKknG,OACtB7a,EAASrsF,KAAKmmG,UAAYuB,EAChC1nG,KAAKknG,OAAS59E,EACdtpB,KAAKmmG,UAAY3pF,KAAKmsC,MAAMnsC,KAAKqmC,IAAIwpC,EAAQya,EAAIxX,WACjDtvF,KAAK6lG,QAAU6B,EACf1nG,KAAKmnG,QAAUL,EAAItX,KACnBxvF,KAAKunG,IAAMlnG,GAAQ,CAACymG,EAAI95B,GAAIA,EAAI+5B,EAAcD,EAAI/9C,OAClD/oD,KAAKsnG,MAAQjnG,GAAQ,CAACymG,EAAI/9C,KAAMg+C,EAAc/5B,2BAIlDo5B,WACMpmG,KAAK4lG,UAEP5lG,KAAK8lG,KAAKjjF,KAAKC,OACf9iB,KAAK4lG,SAAU,EACf5lG,KAAKklG,SAAQ,wBAIjBY,SAAKx8E,GACH,IAMIk9E,EANEkB,EAAUp+E,EAAOtpB,KAAKknG,OACtB5X,EAAWtvF,KAAKmmG,UAChBx/B,EAAO3mE,KAAKqnG,MACZt+C,EAAO/oD,KAAKsnG,MACZ9X,EAAOxvF,KAAKmnG,MACZn6B,EAAKhtE,KAAKunG,IAKhB,GAFAvnG,KAAK4lG,QAAU78C,IAASikB,IAAOwiB,GAASkY,EAAUpY,IAE7CtvF,KAAK4lG,QAGR,OAFA5lG,KAAKonG,QAAQzgC,GAAQqG,OACrBhtE,KAAKklG,SAAQ,GAIXwC,EAAU,EACZ1nG,KAAKonG,QAAQzgC,GAAQ5d,GAIvBy9C,EAAUkB,EAAUpY,EAAY,EAChCkX,EAAShX,GAAQgX,EAAS,EAAI,EAAIA,EAASA,EAC3CA,EAASxmG,KAAKinG,QAAQzqF,KAAKyQ,IAAI,EAAGzQ,KAAKqmC,IAAI,EAAG2jD,KAE9CxmG,KAAKonG,QAAQzgC,GAAQ3mE,KAAKgnG,IAAIj+C,EAAMikB,EAAIw5B,wBAG1CmB,WACE,IAAMnhC,EAAWxmE,KAAKwnG,YAAcxnG,KAAKwnG,UAAY,IACrD,OAAO,IAAIpnG,SAAQ,SAACkxE,EAAKs2B,GACvBphC,EAASxoE,KAAK,CAACszE,IAAAA,EAAKs2B,IAAAA,8BAIxB1C,SAAQ2C,GAGN,IAFA,IAAM1lC,EAAS0lC,EAAW,MAAQ,MAC5BrhC,EAAWxmE,KAAKwnG,WAAa,GAC1B7pG,EAAI,EAAGA,EAAI6oE,EAAS3oE,OAAQF,IACnC6oE,EAAS7oE,GAAGwkE,WAzFG0kC,GCrBAiB,GAAAA,WACnBt3F,SAAAA,EAAYo7E,EAAOmc,GAAQ,UACzB/nG,KAAK4jG,OAAShY,EACd5rF,KAAKgoG,YAAc,IAAIrpF,IACvB3e,KAAKioG,UAAUF,uCAGjBE,SAAUF,GACR,GAAKxnB,GAASwnB,GAAd,CAIA,IAAMG,EAAmB5pG,OAAOsH,KAAKypF,GAASlgE,WACxCg5E,EAAgBnoG,KAAKgoG,YAE3B1pG,OAAOkB,oBAAoBuoG,GAAQt7F,SAAQjO,SAAAA,GACzC,IAAMsoG,EAAMiB,EAAOvpG,GACnB,GAAK+hF,GAASumB,GAAd,CAGA,IALgD,EAK1Ce,EAAW,GAL+B,KAM3BK,GAN2B,IAMhD,IAAK,EAAL,qBAAuC,KAA5BE,EAA4B,QACrCP,EAASO,GAAUtB,EAAIsB,IAPuB,+BAU/ClqG,GAAQ4oG,EAAIrX,aAAeqX,EAAIrX,YAAc,CAACjxF,IAAMiO,SAAQ,SAACk6D,GACxDA,IAASnoE,GAAQ2pG,EAAc/3E,IAAIu2C,IACrCwhC,EAAc/jG,IAAIuiE,EAAMkhC,0CAUhCQ,SAAgBnpG,EAAQukD,GACtB,IAAM6kD,EAAa7kD,EAAOvxC,QACpBA,EAsGV,SAA8BhT,EAAQopG,GACpC,IAAKA,EACH,OAEF,IAAIp2F,EAAUhT,EAAOgT,QACrB,IAAKA,EAEH,YADAhT,EAAOgT,QAAUo2F,GAGfp2F,EAAQq2F,UAGVrpG,EAAOgT,QAAUA,EAAU5T,OAAOwQ,OAAO,GAAIoD,EAAS,CAACq2F,SAAS,EAAOC,YAAa,MAEtF,OAAOt2F,EApHWu2F,CAAqBvpG,EAAQopG,GAC7C,IAAKp2F,EACH,MAAO,GAGT,IAAM29E,EAAa7vF,KAAK0oG,kBAAkBx2F,EAASo2F,GAYnD,OAXIA,EAAWC,SAmFnB,SAAkB1Y,EAAYJ,GAG5B,IAFA,IAAMiW,EAAU,GACV9/F,EAAOtH,OAAOsH,KAAK6pF,GAChB9xF,EAAI,EAAGA,EAAIiI,EAAK/H,OAAQF,IAAK,CACpC,IAAMgrG,EAAO9Y,EAAWjqF,EAAKjI,IACzBgrG,GAAQA,EAAKjZ,UACfgW,EAAQ1nG,KAAK2qG,EAAKhB,QAItB,OAAOvnG,QAAQu8D,IAAI+oC,GAzFfkD,CAAS1pG,EAAOgT,QAAQs2F,YAAaF,GAAYz1E,MAAK,WACpD3zB,EAAOgT,QAAUo2F,KAChB,eAKEzY,mCAMT6Y,SAAkBxpG,EAAQukD,GACxB,IAKI9lD,EALEwqG,EAAgBnoG,KAAKgoG,YACrBnY,EAAa,GACb6V,EAAUxmG,EAAOspG,cAAgBtpG,EAAOspG,YAAc,IACtD//F,EAAQnK,OAAOsH,KAAK69C,GACpBn6B,EAAOzG,KAAKC,MAGlB,IAAKnlB,EAAI8K,EAAM5K,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACtC,IAAMgpE,EAAOl+D,EAAM9K,GACnB,GAAuB,MAAnBgpE,EAAK5vD,OAAO,GAIhB,GAAa,YAAT4vD,EAAJ,CAIA,IAAM9mE,EAAQ4jD,EAAOkjB,GACjBx3C,EAAYu2E,EAAQ/+B,GAClBmgC,EAAMqB,EAAchkG,IAAIwiE,GAE9B,GAAIx3C,EAAW,CACb,GAAI23E,GAAO33E,EAAUugE,SAAU,CAE7BvgE,EAAUs4E,OAAOX,EAAKjnG,EAAOypB,GAC7B,SAEA6F,EAAUi3E,SAGTU,GAAQA,EAAIxX,UAMjBoW,EAAQ/+B,GAAQx3C,EAAY,IAAI03E,GAAUC,EAAK5nG,EAAQynE,EAAM9mE,GAC7DgwF,EAAW7xF,KAAKmxB,IALdjwB,EAAOynE,GAAQ9mE,OAlBfgwF,EAAW7xF,KAAX6xF,MAAAA,EAAAA,GAAmB7vF,KAAKqoG,gBAAgBnpG,EAAQukD,KAyBpD,OAAOosC,wBAUT4X,SAAOvoG,EAAQukD,GACb,GAA8B,IAA1BzjD,KAAKgoG,YAAY9/D,KAArB,CAMA,IAAM2nD,EAAa7vF,KAAK0oG,kBAAkBxpG,EAAQukD,GAElD,OAAIosC,EAAWhyF,QACbgrG,GAAS19F,IAAInL,KAAK4jG,OAAQ/T,IACnB,QAFT,EANEvxF,OAAOwQ,OAAO5P,EAAQukD,SAnHPqkD,GCMrB,SAASgB,GAAUza,EAAO0a,GACxB,IAAM/S,EAAO3H,GAASA,EAAMn8E,SAAW,GACjCupC,EAAUu6C,EAAKv6C,QACfxuB,OAAmB/rB,IAAb80F,EAAK/oE,IAAoB87E,EAAkB,EACjDlmD,OAAmB3hD,IAAb80F,EAAKnzC,IAAoBkmD,EAAkB,EACvD,MAAO,CACLl8E,MAAO4uB,EAAUoH,EAAM51B,EACvBH,IAAK2uB,EAAUxuB,EAAM41B,GAwCzB,SAASmmD,GAAwBpd,EAAOqd,GACtC,IAEItrG,EAAG0jF,EAFDz7E,EAAO,GACPsjG,EAAWtd,EAAMud,uBAAuBF,GAG9C,IAAKtrG,EAAI,EAAG0jF,EAAO6nB,EAASrrG,OAAQF,EAAI0jF,IAAQ1jF,EAC9CiI,EAAK5H,KAAKkrG,EAASvrG,GAAG4H,OAExB,OAAOK,EAGT,SAASwjG,GAAWp6F,EAAOnP,EAAOwpG,GAAuB,IAGnD1rG,EAAG0jF,EAAMG,EAAc8nB,EAHcp3F,EAAc,uDAAJ,GAC7CtM,EAAOoJ,EAAMpJ,KACb2jG,EAA8B,WAAjBr3F,EAAQ0kB,KAG3B,GAAc,OAAV/2B,EAAJ,CAIA,IAAKlC,EAAI,EAAG0jF,EAAOz7E,EAAK/H,OAAQF,EAAI0jF,IAAQ1jF,EAAG,CAE7C,IADA6jF,GAAgB57E,EAAKjI,MACA0rG,EAAS,CAC5B,GAAIn3F,EAAQyqD,IACV,SAEF,MAGE8jB,GADJ6oB,EAAat6F,EAAMy0C,OAAO+9B,MACG+nB,GAAyB,IAAV1pG,GAAewjF,GAAKxjF,KAAWwjF,GAAKimB,MAC9EzpG,GAASypG,GAGb,OAAOzpG,GAiBT,SAAS2pG,GAAUnb,EAAOx2E,GACxB,IAAM4xF,EAAUpb,GAASA,EAAMn8E,QAAQu3F,QACvC,OAAOA,QAAwBvoG,IAAZuoG,QAAwCvoG,IAAf2W,EAAK7I,MAenD,SAAS06F,GAAiBC,EAAQC,EAAUC,GAC1C,IAAMC,EAAWH,EAAOC,KAAcD,EAAOC,GAAY,IACzD,OAAOE,EAASD,KAAgBC,EAASD,GAAc,IAGzD,SAASE,GAAoB/6F,EAAOg7F,EAAQC,EAAUroG,GAAM,WACvCooG,EAAOE,wBAAwBtoG,GAAM65C,WADE,IAC1D,IAAK,EAAL,qBAAmE,KAAxD5jC,EAAwD,QAC3DhY,EAAQmP,EAAM6I,EAAKtS,OACzB,GAAI0kG,GAAapqG,EAAQ,IAAQoqG,GAAYpqG,EAAQ,EACnD,OAAOgY,EAAKtS,OAJ0C,8BAQ1D,OAAO,KAGT,SAAS4kG,GAAaC,EAAYvO,GAUhC,IATA,IAOI7sF,EAPG48E,EAA4Bwe,EAA5Bxe,MAAoB/zE,EAAQuyF,EAArBC,YACRV,EAAS/d,EAAM0e,UAAY1e,EAAM0e,QAAU,IAC1CljB,EAAuCvvE,EAAvCuvE,OAAQ4iB,EAA+BnyF,EAA/BmyF,OAAexoB,EAAgB3pE,EAAvBtS,MACjBglG,EAAQnjB,EAAOE,KACfkjB,EAAQR,EAAO1iB,KACf9oF,EAlCR,SAAqBisG,EAAYC,EAAY7yF,GAC3C,MAAO,GAAP,OAAU4yF,EAAW7pF,GAArB,YAA2B8pF,EAAW9pF,GAAtC,YAA4C/I,EAAK7I,OAAS6I,EAAKjW,MAiCnD+oG,CAAYvjB,EAAQ4iB,EAAQnyF,GAClCwpE,EAAOwa,EAAOh+F,OAGXF,EAAI,EAAGA,EAAI0jF,IAAQ1jF,EAAG,CAC7B,IAAM+kF,EAAOmZ,EAAOl+F,GACJ4H,EAAyBm9E,EAAjC6nB,GAAwB1qG,EAAS6iF,EAAjB8nB,IAExBx7F,GADmB0zE,EAAK4nB,UAAY5nB,EAAK4nB,QAAU,KAChCE,GAASd,GAAiBC,EAAQnrG,EAAK+G,IACpDi8E,GAAgB3hF,EAEtBmP,EAAM47F,KAAOb,GAAoB/6F,EAAOg7F,GAAQ,EAAMnyF,EAAKjW,MAC3DoN,EAAM67F,QAAUd,GAAoB/6F,EAAOg7F,GAAQ,EAAOnyF,EAAKjW,OAE1CoN,EAAM87F,gBAAkB97F,EAAM87F,cAAgB,KACtDtpB,GAAgB3hF,GAIjC,SAASkrG,GAAgBnf,EAAOtE,GAC9B,IAAMgH,EAAS1C,EAAM0C,OACrB,OAAOhwF,OAAOsH,KAAK0oF,GAAQzxC,QAAOr+C,SAAAA,GAAAA,OAAO8vF,EAAO9vF,GAAK8oF,OAASA,KAAMhiF,QA6BtE,SAAS0lG,GAAYnzF,EAAM0uE,GAEzB,IAAM/E,EAAe3pE,EAAKuyF,WAAW7kG,MAC/B+hF,EAAOzvE,EAAKmyF,QAAUnyF,EAAKmyF,OAAO1iB,KACxC,GAAKA,EAAL,CAJgC,WAQhCf,EAAQA,GAAS1uE,EAAKwvE,SARU,IAShC,IAAK,EAAL,qBAA4B,KACpBsiB,EADoB,QACJW,QACtB,IAAKX,QAA2BzoG,IAAjByoG,EAAOriB,SAAsDpmF,IAA/ByoG,EAAOriB,GAAM9F,GACxD,cAEKmoB,EAAOriB,GAAM9F,QACetgF,IAA/ByoG,EAAOriB,GAAMwjB,oBAA4E5pG,IAA7CyoG,EAAOriB,GAAMwjB,cAActpB,WAClEmoB,EAAOriB,GAAMwjB,cAActpB,IAhBN,gCAqBlC,IAAMypB,GAAqB,SAACr0E,GAAD,MAAmB,UAATA,GAA6B,SAATA,GACnDs0E,GAAmB,SAACC,EAAQjyE,GAAT,OAAoBA,EAASiyE,EAAS7sG,OAAOwQ,OAAO,GAAIq8F,IAI5DC,GAAAA,WAqBnB56F,SAAAA,EAAYo7E,EAAOpK,GAAc,UAC/BxhF,KAAK4rF,MAAQA,EACb5rF,KAAK6wF,KAAOjF,EAAM8B,IAClB1tF,KAAKuF,MAAQi8E,EACbxhF,KAAKqrG,gBAAkB,GACvBrrG,KAAKqqG,YAAcrqG,KAAKsrG,UACxBtrG,KAAKurG,MAAQvrG,KAAKqqG,YAAYzoG,KAC9B5B,KAAKkS,aAAUhR,EAEflB,KAAK47F,UAAW,EAChB57F,KAAKwrG,WAAQtqG,EACblB,KAAKyrG,iBAAcvqG,EACnBlB,KAAK0rG,oBAAiBxqG,EACtBlB,KAAK2rG,gBAAazqG,EAClBlB,KAAK4rG,gBAAa1qG,EAClBlB,KAAK6rG,qBAAsB,EAC3B7rG,KAAK8rG,oBAAqB,EAC1B9rG,KAAK+rG,cAAW7qG,EAChBlB,KAAKgsG,UAAY,GACjBhsG,KAAKisG,oBAAqB,2CAAWA,mBACrCjsG,KAAKksG,iBAAkB,2CAAWA,gBAElClsG,KAAKmsG,kDAGPA,WACE,IAAMt0F,EAAO7X,KAAKqqG,YAClBrqG,KAAKioG,YACLjoG,KAAKosG,aACLv0F,EAAKw0F,SAAW7C,GAAU3xF,EAAKmyF,OAAQnyF,GACvC7X,KAAKssG,cAEDtsG,KAAKkS,QAAQ4/C,OAAS9xD,KAAK4rF,MAAM2gB,gBAAgB,WACnD5pG,QAAQC,KAAK,iMAIjB4pG,SAAYhrB,GACNxhF,KAAKuF,QAAUi8E,GACjBwpB,GAAYhrG,KAAKqqG,aAEnBrqG,KAAKuF,MAAQi8E,4BAGf4qB,WACE,IAAMxgB,EAAQ5rF,KAAK4rF,MACb/zE,EAAO7X,KAAKqqG,YACZ5jE,EAAUzmC,KAAKysG,aAEfC,EAAW,SAACplB,EAAMx2D,EAAGoJ,EAAGD,GAAb,MAA4B,MAATqtD,EAAex2D,EAAa,MAATw2D,EAAertD,EAAIC,GAEpEyyE,EAAM90F,EAAK+0F,QAAUjsB,GAAel6C,EAAQmmE,QAAS7B,GAAgBnf,EAAO,MAC5EihB,EAAMh1F,EAAKi1F,QAAUnsB,GAAel6C,EAAQqmE,QAAS/B,GAAgBnf,EAAO,MAC5EmhB,EAAMl1F,EAAKm1F,QAAUrsB,GAAel6C,EAAQumE,QAASjC,GAAgBnf,EAAO,MAC5EiC,EAAYh2E,EAAKg2E,UACjBof,EAAMp1F,EAAKq1F,QAAUR,EAAS7e,EAAW8e,EAAKE,EAAKE,GACnDI,EAAMt1F,EAAKu1F,QAAUV,EAAS7e,EAAWgf,EAAKF,EAAKI,GACzDl1F,EAAK+vE,OAAS5nF,KAAKqtG,cAAcV,GACjC90F,EAAKgwE,OAAS7nF,KAAKqtG,cAAcR,GACjCh1F,EAAKy1F,OAASttG,KAAKqtG,cAAcN,GACjCl1F,EAAKuvE,OAASpnF,KAAKqtG,cAAcJ,GACjCp1F,EAAKmyF,OAAShqG,KAAKqtG,cAAcF,6BAGnCV,WACE,OAAOzsG,KAAK4rF,MAAMvmE,KAAK4nE,SAASjtF,KAAKuF,8BAGvC+lG,WACE,OAAOtrG,KAAK4rF,MAAM2hB,eAAevtG,KAAKuF,oCAOxC8nG,SAAcG,GACZ,OAAOxtG,KAAK4rF,MAAM0C,OAAOkf,iCAM3BC,SAAepf,GACb,IAAMx2E,EAAO7X,KAAKqqG,YAClB,OAAOhc,IAAUx2E,EAAKuvE,OAClBvvE,EAAKmyF,OACLnyF,EAAKuvE,4BAGXjjB,WACEnkE,KAAKwlG,QAAQ,iCAMfkI,WACE,IAAM71F,EAAO7X,KAAKqqG,YACdrqG,KAAKwrG,OACPrlB,GAAoBnmF,KAAKwrG,MAAOxrG,MAE9B6X,EAAKw0F,UACPrB,GAAYnzF,6BAOhB81F,WACE,IrBhP8BzkG,EAAO3H,EqBgP/BklC,EAAUzmC,KAAKysG,aACfpnF,EAAOohB,EAAQphB,OAASohB,EAAQphB,KAAO,IACvCmmF,EAAQxrG,KAAKwrG,MAMnB,GAAIjrB,GAASl7D,GACXrlB,KAAKwrG,MA9QX,SAAkCnmF,GAChC,IAEI1nB,EAAG0jF,EAAM7iF,EAFPoH,EAAOtH,OAAOsH,KAAKyf,GACnBuoF,EAAQ,IAAI3vG,MAAM2H,EAAK/H,QAE7B,IAAKF,EAAI,EAAG0jF,EAAOz7E,EAAK/H,OAAQF,EAAI0jF,IAAQ1jF,EAC1Ca,EAAMoH,EAAKjI,GACXiwG,EAAMjwG,GAAK,CACTmzB,EAAGtyB,EACH07B,EAAG7U,EAAK7mB,IAGZ,OAAOovG,EAmQUC,CAAyBxoF,QACjC,GAAImmF,IAAUnmF,EAAM,CACzB,GAAImmF,EAAO,CAETrlB,GAAoBqlB,EAAOxrG,MAE3B,IAAM6X,EAAO7X,KAAKqqG,YAClBW,GAAYnzF,GACZA,EAAKwvE,QAAU,GAEbhiE,GAAQ/mB,OAAOwvG,aAAazoF,KrBnQG9jB,EqBoQTvB,MrBpQEkJ,EqBoQRmc,GrBnQdghE,SACRn9E,EAAMm9E,SAASthF,UAAU/G,KAAKuD,IAIhCjD,OAAO2F,eAAeiF,EAAO,WAAY,CACvCuH,cAAc,EACdvM,YAAY,EACZrE,MAAO,CACLkF,UAAW,CAACxD,MAIhB2kF,GAAYz5E,SAAQ,SAACjO,GACnB,IAAM2jE,EAAS,UAAYogB,GAAY/jF,GACjC4Y,EAAOlO,EAAM1K,GAEnBF,OAAO2F,eAAeiF,EAAO1K,EAAK,CAChCiS,cAAc,EACdvM,YAAY,EACZrE,MAHgC,WAGjB,2BAANT,EAAM,yBAANA,EAAM,gBACb,IAAMkyE,EAAMl6D,EAAKhZ,MAAM4B,KAAMZ,GAQ7B,OANA8J,EAAMm9E,SAASthF,UAAU0H,SAAQ,SAAClD,GACF,oBAAnBA,EAAO44D,IAChB54D,EAAO44D,GAAP54D,MAAAA,EAAkBnK,MAIfkyE,UqBwOTtxE,KAAKgsG,UAAY,GACjBhsG,KAAKwrG,MAAQnmF,8BAIjBinF,WACE,IAAMz0F,EAAO7X,KAAKqqG,YAElBrqG,KAAK2tG,aAED3tG,KAAKisG,qBACPp0F,EAAK4uB,QAAU,IAAIzmC,KAAKisG,yDAI5B8B,SAAsBC,GACpB,IAAMn2F,EAAO7X,KAAKqqG,YACZ5jE,EAAUzmC,KAAKysG,aACjBwB,GAAe,EAEnBjuG,KAAK2tG,aAGL,IAAMO,EAAar2F,EAAKw0F,SACxBx0F,EAAKw0F,SAAW7C,GAAU3xF,EAAKmyF,OAAQnyF,GAGnCA,EAAK7I,QAAUy3B,EAAQz3B,QACzBi/F,GAAe,EAEfjD,GAAYnzF,GACZA,EAAK7I,MAAQy3B,EAAQz3B,OAKvBhP,KAAKmuG,gBAAgBH,IAGjBC,GAAgBC,IAAer2F,EAAKw0F,WACtClC,GAAanqG,KAAM6X,EAAKwvE,kCAQ5B4gB,WACE,IAAMF,EAAS/nG,KAAK4rF,MAAMmc,OACpBqG,EAAYrG,EAAOsG,iBAAiBruG,KAAKurG,OACzCzS,EAASiP,EAAOuG,gBAAgBtuG,KAAKysG,aAAc2B,GAAW,GACpEpuG,KAAKkS,QAAU61F,EAAOwG,eAAezV,EAAQ94F,KAAKozF,cAClDpzF,KAAK47F,SAAW57F,KAAKkS,QAAQi8E,QAC7BnuF,KAAKqrG,gBAAkB,wBAOzB78B,SAAM3hD,EAAOnqB,GACX,IAMI/E,EAAGuoG,EAAKrK,EANQhkF,EAAqB7X,KAAlCqqG,YAA0BhlF,EAAQrlB,KAAfwrG,MACnBpkB,EAAoBvvE,EAApBuvE,OAAQilB,EAAYx0F,EAAZw0F,SACT9B,EAAQnjB,EAAOE,KAEjBknB,EAAmB,IAAV3hF,GAAenqB,IAAU2iB,EAAKxnB,QAAgBga,EAAKsvE,QAC5DlwC,EAAOpqB,EAAQ,GAAKhV,EAAKwvE,QAAQx6D,EAAQ,GAG7C,IAAsB,IAAlB7sB,KAAK47F,SACP/jF,EAAKwvE,QAAUhiE,EACfxN,EAAKsvE,SAAU,EACf0U,EAASx2E,MACJ,CAEHw2E,EADE39F,GAAQmnB,EAAKwH,IACN7sB,KAAKyuG,eAAe52F,EAAMwN,EAAMwH,EAAOnqB,GACvC69E,GAASl7D,EAAKwH,IACd7sB,KAAK0uG,gBAAgB72F,EAAMwN,EAAMwH,EAAOnqB,GAExC1C,KAAK2uG,mBAAmB92F,EAAMwN,EAAMwH,EAAOnqB,GAItD,IAAK/E,EAAI,EAAGA,EAAI+E,IAAS/E,EACvBka,EAAKwvE,QAAQ1pF,EAAIkvB,GAASq5E,EAAMrK,EAAOl+F,GACnC6wG,KAHkD,OAAftI,EAAIqE,IAAoBtzD,GAAQivD,EAAIqE,GAAStzD,EAAKszD,MAKrFiE,GAAS,GAEXv3D,EAAOivD,GAGXruF,EAAKsvE,QAAUqnB,EAGbnC,GACFlC,GAAanqG,KAAM67F,qCAevB8S,SAAmB92F,EAAMwN,EAAMwH,EAAOnqB,GACpC,IAMI/E,EAAG0jF,EAAM97E,EANN6hF,EAAkBvvE,EAAlBuvE,OAAQ4iB,EAAUnyF,EAAVmyF,OACTO,EAAQnjB,EAAOE,KACfkjB,EAAQR,EAAO1iB,KACfsnB,EAASxnB,EAAOynB,YAChBC,EAAc1nB,IAAW4iB,EACzBnO,EAAS,IAAI59F,MAAMyE,GAGzB,IAAK/E,EAAI,EAAG0jF,EAAO3+E,EAAO/E,EAAI0jF,IAAQ1jF,EAAG,OACvC4H,EAAQ5H,EAAIkvB,EACZgvE,EAAOl+F,IAAPk+F,GAAAA,EAAAA,GACG0O,EAAQuE,GAAe1nB,EAAO5Y,MAAMogC,EAAOrpG,GAAQA,IADtDs2F,GAAAA,EAEG2O,EAAQR,EAAOx7B,MAAMnpD,EAAK9f,GAAQA,IAFrCs2F,GAKF,OAAOA,gCAcT4S,SAAe52F,EAAMwN,EAAMwH,EAAOnqB,GAChC,IAEI/E,EAAG0jF,EAAM97E,EAAOm9E,EAFbkF,EAAkB/vE,EAAlB+vE,OAAQC,EAAUhwE,EAAVgwE,OACTgU,EAAS,IAAI59F,MAAMyE,GAGzB,IAAK/E,EAAI,EAAG0jF,EAAO3+E,EAAO/E,EAAI0jF,IAAQ1jF,EAEpC+kF,EAAOr9D,EADP9f,EAAQ5H,EAAIkvB,GAEZgvE,EAAOl+F,GAAK,CACVmzB,EAAG82D,EAAOpZ,MAAMkU,EAAK,GAAIn9E,GACzB20B,EAAG2tD,EAAOrZ,MAAMkU,EAAK,GAAIn9E,IAG7B,OAAOs2F,iCAcT6S,SAAgB72F,EAAMwN,EAAMwH,EAAOnqB,GACjC,IAGI/E,EAAG0jF,EAAM97E,EAAOm9E,EAHbkF,EAAkB/vE,EAAlB+vE,OAAQC,EAAUhwE,EAAVgwE,OACf,EAAyC7nF,KAAK47F,SAA9C,IAAOmT,SAAAA,OAAP,MAAkB,IAAlB,MAAuBC,SAAAA,OAAvB,MAAkC,IAAlC,EACMnT,EAAS,IAAI59F,MAAMyE,GAGzB,IAAK/E,EAAI,EAAG0jF,EAAO3+E,EAAO/E,EAAI0jF,IAAQ1jF,EAEpC+kF,EAAOr9D,EADP9f,EAAQ5H,EAAIkvB,GAEZgvE,EAAOl+F,GAAK,CACVmzB,EAAG82D,EAAOpZ,MAAM8T,GAAiBI,EAAMqsB,GAAWxpG,GAClD20B,EAAG2tD,EAAOrZ,MAAM8T,GAAiBI,EAAMssB,GAAWzpG,IAGtD,OAAOs2F,2BAMToT,SAAU1pG,GACR,OAAOvF,KAAKqqG,YAAYhjB,QAAQ9hF,iCAMlC2pG,SAAe3pG,GACb,OAAOvF,KAAKqqG,YAAYhlF,KAAK9f,6BAM/B6jG,SAAW/a,EAAOwN,EAAQjlE,GACxB,IAAMg1D,EAAQ5rF,KAAK4rF,MACb/zE,EAAO7X,KAAKqqG,YACZxqG,EAAQg8F,EAAOxN,EAAM/G,MAK3B,OAAO8hB,GAJO,CACZxjG,KAAMojG,GAAwBpd,GAAO,GACrCnoC,OAAQo4C,EAAOyO,QAAQjc,EAAM/G,MAAMwjB,eAEZjrG,EAAOgY,EAAKtS,MAAO,CAACqxB,KAAAA,yCAM/Cu4E,SAAsBxlF,EAAO0kE,EAAOwN,EAAQ7sF,GAC1C,IAAMogG,EAAcvT,EAAOxN,EAAM/G,MAC7BznF,EAAwB,OAAhBuvG,EAAuBC,IAAMD,EACnC3rD,EAASz0C,GAAS6sF,EAAOyO,QAAQjc,EAAM/G,MACzCt4E,GAASy0C,IACXz0C,EAAMy0C,OAASA,EACf5jD,EAAQupG,GAAWp6F,EAAOogG,EAAapvG,KAAKqqG,YAAY9kG,QAE1DokB,EAAMsD,IAAMzQ,KAAKyQ,IAAItD,EAAMsD,IAAKptB,GAChC8pB,EAAMk5B,IAAMrmC,KAAKqmC,IAAIl5B,EAAMk5B,IAAKhjD,4BAMlCyvG,SAAUjhB,EAAOkhB,GACf,IAQI5xG,EAAGk+F,EARDhkF,EAAO7X,KAAKqqG,YACZhjB,EAAUxvE,EAAKwvE,QACfmnB,EAAS32F,EAAKsvE,SAAWkH,IAAUx2E,EAAKuvE,OACxC/F,EAAOgG,EAAQxpF,OACf2xG,EAAaxvG,KAAKytG,eAAepf,GACjCr/E,EA3YU,SAACugG,EAAU13F,EAAM+zE,GAAjB,OAA2B2jB,IAAa13F,EAAK43F,QAAU53F,EAAKw0F,UAC3E,CAACzmG,KAAMojG,GAAwBpd,GAAO,GAAOnoC,OAAQ,MA0YxCisD,CAAYH,EAAU13F,EAAM7X,KAAK4rF,OACzCjiE,EAAQ,CAACsD,IAAKttB,OAAOojF,kBAAmBlgC,IAAKljD,OAAOgwG,mBAC1D,EApfJ,SAAuBthB,GACrB,MAA2CA,EAAM9G,gBAA1Ct6D,EAAP,EAAOA,IAAK41B,EAAZ,EAAYA,IAAK2kC,EAAjB,EAAiBA,WAAYC,EAA7B,EAA6BA,WAC7B,MAAO,CACLx6D,IAAKu6D,EAAav6D,EAAMttB,OAAOgwG,kBAC/B9sD,IAAK4kC,EAAa5kC,EAAMljD,OAAOojF,mBAgfQwE,CAAcioB,GAAzCI,EAAZ,EAAO3iF,IAAoB4iF,EAA3B,EAAsBhtD,IAGtB,SAASitD,IAEP,IAAMxG,GADNzN,EAASxU,EAAQ1pF,IACS6xG,EAAWloB,MACrC,OAAQ7G,GAASob,EAAOxN,EAAM/G,QAAUsoB,EAAWtG,GAAcuG,EAAWvG,EAG9E,IAAK3rG,EAAI,EAAGA,EAAI0jF,IACVyuB,MAGJ9vG,KAAKmvG,sBAAsBxlF,EAAO0kE,EAAOwN,EAAQ7sF,IAC7Cw/F,MALkB7wG,GAUxB,GAAI6wG,EAEF,IAAK7wG,EAAI0jF,EAAO,EAAG1jF,GAAK,IAAKA,EAC3B,IAAImyG,IAAJ,CAGA9vG,KAAKmvG,sBAAsBxlF,EAAO0kE,EAAOwN,EAAQ7sF,GACjD,MAGJ,OAAO2a,oCAGTomF,SAAmB1hB,GACjB,IAEI1wF,EAAG0jF,EAAMxhF,EAFPg8F,EAAS77F,KAAKqqG,YAAYhjB,QAC1B5jC,EAAS,GAGf,IAAK9lD,EAAI,EAAG0jF,EAAOwa,EAAOh+F,OAAQF,EAAI0jF,IAAQ1jF,EAExC8iF,GADJ5gF,EAAQg8F,EAAOl+F,GAAG0wF,EAAM/G,QAEtB7jC,EAAOzlD,KAAK6B,GAGhB,OAAO4jD,gCAOTusD,WACE,OAAO,kCAMTC,SAAiB1qG,GACf,IAAMsS,EAAO7X,KAAKqqG,YACZjjB,EAASvvE,EAAKuvE,OACd4iB,EAASnyF,EAAKmyF,OACdnO,EAAS77F,KAAKivG,UAAU1pG,GAC9B,MAAO,CACL2qG,MAAO9oB,EAAS,GAAKA,EAAO+oB,iBAAiBtU,EAAOzU,EAAOE,OAAS,GACpEznF,MAAOmqG,EAAS,GAAKA,EAAOmG,iBAAiBtU,EAAOmO,EAAO1iB,OAAS,2BAOxEke,SAAQ5uE,GACN,IAAM/e,EAAO7X,KAAKqqG,YAClBrqG,KAAKynG,OAAO7wE,GAAQ,WACpB/e,EAAKu4F,MA9oBT,SAAgBvwG,GACd,IAAI+wB,EAAGqJ,EAAGtvB,EAAG4E,EAWb,OATIgxE,GAAS1gF,IACX+wB,EAAI/wB,EAAMouB,IACVgM,EAAIp6B,EAAMqwF,MACVvlF,EAAI9K,EAAMswF,OACV5gF,EAAI1P,EAAMkuB,MAEV6C,EAAIqJ,EAAItvB,EAAI4E,EAAI1P,EAGX,CACLouB,IAAK2C,EACLs/D,MAAOj2D,EACPk2D,OAAQxlF,EACRojB,KAAMxe,EACN8C,UAAoB,IAAVxS,GA6nBGwwG,CAAO1vB,GAAe3gF,KAAKkS,QAAQgjF,KA7pBpD,SAAqBtN,EAAQC,EAAQkhB,GACnC,IAAwB,IAApBA,EACF,OAAO,EAET,IAAMj4E,EAAIg4E,GAAUlhB,EAAQmhB,GACtB7uE,EAAI4uE,GAAUjhB,EAAQkhB,GAE5B,MAAO,CACL96E,IAAKiM,EAAEpN,IACPojE,MAAOp/D,EAAEhE,IACTqjE,OAAQj2D,EAAErN,MACVkB,KAAM+C,EAAEjE,OAkpB8CyjF,CAAYz4F,EAAK+vE,OAAQ/vE,EAAKgwE,OAAQ7nF,KAAKgwG,0CAMnGvI,SAAO7wE,wBAEP+uE,WACE,IASIhoG,EATE+vF,EAAM1tF,KAAK6wF,KACXjF,EAAQ5rF,KAAK4rF,MACb/zE,EAAO7X,KAAKqqG,YACZhd,EAAWx1E,EAAKwN,MAAQ,GACxBlO,EAAOy0E,EAAM2kB,UACb7gB,EAAS,GACT7iE,EAAQ7sB,KAAK2rG,YAAc,EAC3BjpG,EAAQ1C,KAAK4rG,YAAeve,EAASxvF,OAASgvB,EAC9C2hE,EAA0BxuF,KAAKkS,QAAQs8E,wBAO7C,IAJI32E,EAAK4uB,SACP5uB,EAAK4uB,QAAQk/D,KAAKjY,EAAKv2E,EAAM0V,EAAOnqB,GAGjC/E,EAAIkvB,EAAOlvB,EAAIkvB,EAAQnqB,IAAS/E,EAAG,CACtC,IAAMiM,EAAUyjF,EAAS1vF,GACrBiM,EAAQ6lG,SAGR7lG,EAAQ8lF,QAAUlB,EACpBkB,EAAO1xF,KAAK4L,GAEZA,EAAQ+7F,KAAKjY,EAAKv2E,IAItB,IAAKxZ,EAAI,EAAGA,EAAI+xF,EAAO7xF,SAAUF,EAC/B+xF,EAAO/xF,GAAGgoG,KAAKjY,EAAKv2E,2BAWxBoqF,SAASh8F,EAAOmqF,GACd,IAAM94D,EAAO84D,EAAS,SAAW,UACjC,YAAiBxuF,IAAVqE,GAAuBvF,KAAKqqG,YAAY5jE,QAC3CzmC,KAAKwwG,6BAA6B55E,GAClC52B,KAAKywG,0BAA0BlrG,GAAS,EAAGqxB,6BAMjDw8D,SAAW7tF,EAAOmqF,EAAQ94D,GACxB,IACI/xB,EADE4hC,EAAUzmC,KAAKysG,aAErB,GAAIlnG,GAAS,GAAKA,EAAQvF,KAAKqqG,YAAYhlF,KAAKxnB,OAAQ,CACtD,IAAM+L,EAAU5J,KAAKqqG,YAAYhlF,KAAK9f,GACtCV,EAAU+E,EAAQmiG,WACfniG,EAAQmiG,SA3jBjB,SAA2B9yD,EAAQ1zC,EAAOqE,GACxC,OAAOk0D,GAAc7kB,EAAQ,CAC3By2C,QAAQ,EACRghB,UAAWnrG,EACXs2F,YAAQ36F,EACRyvG,SAAKzvG,EACL0I,QAAAA,EACArE,MAAAA,EACAqxB,KAAM,UACNh1B,KAAM,SAkjBkBgvG,CAAkB5wG,KAAKozF,aAAc7tF,EAAOqE,IAClE/E,EAAQg3F,OAAS77F,KAAKivG,UAAU1pG,GAChCV,EAAQ8rG,IAAMlqE,EAAQphB,KAAK9f,GAC3BV,EAAQU,MAAQV,EAAQ6rG,UAAYnrG,OAEpCV,EAAU7E,KAAK+rG,WACZ/rG,KAAK+rG,SA9kBd,SAA8B9yD,EAAQ1zC,GACpC,OAAOu4D,GAAc7kB,EACnB,CACEy2C,QAAQ,EACRjpD,aAASvlC,EACTsgF,aAAcj8E,EACdA,MAAAA,EACAqxB,KAAM,UACNh1B,KAAM,YAskBaivG,CAAqB7wG,KAAK4rF,MAAMwH,aAAcpzF,KAAKuF,QACtEV,EAAQ4hC,QAAUA,EAClB5hC,EAAQU,MAAQV,EAAQ28E,aAAexhF,KAAKuF,MAK9C,OAFAV,EAAQ6qF,SAAWA,EACnB7qF,EAAQ+xB,KAAOA,EACR/xB,8CAOT2rG,SAA6B55E,GAC3B,OAAO52B,KAAK8wG,uBAAuB9wG,KAAKisG,mBAAmBrrF,GAAIgW,4CAQjE65E,SAA0BlrG,EAAOqxB,GAC/B,OAAO52B,KAAK8wG,uBAAuB9wG,KAAKksG,gBAAgBtrF,GAAIgW,EAAMrxB,yCAMpEurG,SAAuBjnG,GAAsC,WAAzB+sB,EAAyB,uDAAlB,UAAWrxB,EAAO,uCACrDmqF,EAAkB,WAAT94D,EACTwY,EAAQpvC,KAAKqrG,gBACbvxD,EAAWjwC,EAAc,IAAM+sB,EAC/Bu0E,EAAS/7D,EAAM0K,GACfi3D,EAAU/wG,KAAK6rG,qBAAuBrpB,GAAQj9E,GACpD,GAAI4lG,EACF,OAAOD,GAAiBC,EAAQ4F,GAElC,IAAMhJ,EAAS/nG,KAAK4rF,MAAMmc,OACpBqG,EAAYrG,EAAOiJ,wBAAwBhxG,KAAKurG,MAAO1hG,GACvDkvF,EAAWrJ,EAAS,WAAI7lF,EAAJ,SAAwB,QAASA,EAAa,IAAM,CAACA,EAAa,IACtFivF,EAASiP,EAAOuG,gBAAgBtuG,KAAKysG,aAAc2B,GACnDh5B,EAAQ92E,OAAOsH,KAAKypF,GAAShC,SAASxjF,IAGtChF,EAAU,kBAAM,EAAKuuF,WAAW7tF,EAAOmqF,EAAQ94D,IAC/C6sB,EAASskD,EAAOkJ,oBAAoBnY,EAAQ1jB,EAAOvwE,EAASk0F,GAalE,OAXIt1C,EAAO8kD,UAGT9kD,EAAO8kD,QAAUwI,EAKjB3hE,EAAM0K,GAAYx7C,OAAO4yG,OAAOhG,GAAiBznD,EAAQstD,KAGpDttD,oCAOT0tD,SAAmB5rG,EAAOib,EAAYkvE,GACpC,IAOIx9E,EAPE05E,EAAQ5rF,KAAK4rF,MACbx8C,EAAQpvC,KAAKqrG,gBACbvxD,EAAW,oBAAat5B,GACxB2qF,EAAS/7D,EAAM0K,GACrB,GAAIqxD,EACF,OAAOA,EAGT,IAAgC,IAA5Bvf,EAAM15E,QAAQid,UAAqB,CACrC,IAAM44E,EAAS/nG,KAAK4rF,MAAMmc,OACpBqG,EAAYrG,EAAOqJ,0BAA0BpxG,KAAKurG,MAAO/qF,GACzDs4E,EAASiP,EAAOuG,gBAAgBtuG,KAAKysG,aAAc2B,GACzDl8F,EAAU61F,EAAOwG,eAAezV,EAAQ94F,KAAKozF,WAAW7tF,EAAOmqF,EAAQlvE,IAEzE,IAAMqvE,EAAa,IAAIiY,GAAWlc,EAAO15E,GAAWA,EAAQ29E,YAI5D,OAHI39E,GAAWA,EAAQ6nF,aACrB3qD,EAAM0K,GAAYx7C,OAAO4yG,OAAOrhB,IAE3BA,kCAOTwhB,SAAiBn/F,GACf,GAAKA,EAAQq2F,QAGb,OAAOvoG,KAAK0rG,iBAAmB1rG,KAAK0rG,eAAiBptG,OAAOwQ,OAAO,GAAIoD,kCAOzEo/F,SAAe16E,EAAM26E,GACnB,OAAQA,GAAiBtG,GAAmBr0E,IAAS52B,KAAK4rF,MAAM4lB,qDAMlEC,SAAkB5kF,EAAO+J,GACvB,IAAM86E,EAAY1xG,KAAKywG,0BAA0B5jF,EAAO+J,GAClD+6E,EAA0B3xG,KAAK0rG,eAC/B6F,EAAgBvxG,KAAKqxG,iBAAiBK,GACtCJ,EAAiBtxG,KAAKsxG,eAAe16E,EAAM26E,IAAmBA,IAAkBI,EAEtF,OADA3xG,KAAK4xG,oBAAoBL,EAAe36E,EAAM86E,GACvC,CAACH,cAAAA,EAAeD,eAAAA,gCAOzBO,SAAcjoG,EAASrE,EAAOkqF,EAAY74D,GACpCq0E,GAAmBr0E,GACrBt4B,OAAOwQ,OAAOlF,EAAS6lF,GAEvBzvF,KAAKmxG,mBAAmB5rG,EAAOqxB,GAAM6wE,OAAO79F,EAAS6lF,sCAQzDmiB,SAAoBL,EAAe36E,EAAM0xE,GACnCiJ,IAAkBtG,GAAmBr0E,IACvC52B,KAAKmxG,wBAAmBjwG,EAAW01B,GAAM6wE,OAAO8J,EAAejJ,4BAOnEwJ,SAAUloG,EAASrE,EAAOqxB,EAAM84D,GAC9B9lF,EAAQ8lF,OAASA,EACjB,IAAMx9E,EAAUlS,KAAKuhG,SAASh8F,EAAOmqF,GACrC1vF,KAAKmxG,mBAAmB5rG,EAAOqxB,EAAM84D,GAAQ+X,OAAO79F,EAAS,CAG3DsI,SAAWw9E,GAAU1vF,KAAKqxG,iBAAiBn/F,IAAaA,oCAI5D6/F,SAAiBnoG,EAAS43E,EAAcj8E,GACtCvF,KAAK8xG,UAAUloG,EAASrE,EAAO,UAAU,gCAG3CysG,SAAcpoG,EAAS43E,EAAcj8E,GACnCvF,KAAK8xG,UAAUloG,EAASrE,EAAO,UAAU,2CAM3C0sG,WACE,IAAMroG,EAAU5J,KAAKqqG,YAAY5jE,QAE7B78B,GACF5J,KAAK8xG,UAAUloG,OAAS1I,EAAW,UAAU,wCAOjDgxG,WACE,IAAMtoG,EAAU5J,KAAKqqG,YAAY5jE,QAE7B78B,GACF5J,KAAK8xG,UAAUloG,OAAS1I,EAAW,UAAU,kCAOjDitG,SAAgBH,GACd,IADgC,EAC1B3oF,EAAOrlB,KAAKwrG,MACZne,EAAWrtF,KAAKqqG,YAAYhlF,KAFF,KAKGrlB,KAAKgsG,WALR,IAKhC,IAAK,EAAL,qBAAmD,oBAAvC7pC,EAAuC,KAA/BgwC,EAA+B,KAAzBC,EAAyB,KACjDpyG,KAAKmiE,GAAQgwC,EAAMC,IANW,8BAQhCpyG,KAAKgsG,UAAY,GAEjB,IAAMqG,EAAUhlB,EAASxvF,OACnBy0G,EAAUjtF,EAAKxnB,OACf6E,EAAQ8Z,KAAKyQ,IAAIqlF,EAASD,GAE5B3vG,GAKF1C,KAAKwuE,MAAM,EAAG9rE,GAGZ4vG,EAAUD,EACZryG,KAAKuyG,gBAAgBF,EAASC,EAAUD,EAASrE,GACxCsE,EAAUD,GACnBryG,KAAKwyG,gBAAgBF,EAASD,EAAUC,kCAO5CC,SAAgB1lF,EAAOnqB,GAAgC,IAIjD/E,EAJwBqwG,IAAyB,yDAC/Cn2F,EAAO7X,KAAKqqG,YACZhlF,EAAOxN,EAAKwN,KACZyH,EAAMD,EAAQnqB,EAGd+vG,EAAO,SAAClvG,GAEZ,IADAA,EAAI1F,QAAU6E,EACT/E,EAAI4F,EAAI1F,OAAS,EAAGF,GAAKmvB,EAAKnvB,IACjC4F,EAAI5F,GAAK4F,EAAI5F,EAAI+E,IAKrB,IAFA+vG,EAAKptF,GAEA1nB,EAAIkvB,EAAOlvB,EAAImvB,IAAOnvB,EACzB0nB,EAAK1nB,GAAK,IAAIqC,KAAKksG,gBAGjBlsG,KAAK47F,UACP6W,EAAK56F,EAAKwvE,SAEZrnF,KAAKwuE,MAAM3hD,EAAOnqB,GAEdsrG,GACFhuG,KAAK0yG,eAAertF,EAAMwH,EAAOnqB,EAAO,uCAI5CgwG,SAAe9oG,EAASijB,EAAOnqB,EAAOk0B,mCAKtC47E,SAAgB3lF,EAAOnqB,GACrB,IAAMmV,EAAO7X,KAAKqqG,YAClB,GAAIrqG,KAAK47F,SAAU,CACjB,IAAM+W,EAAU96F,EAAKwvE,QAAQ12C,OAAO9jB,EAAOnqB,GACvCmV,EAAKw0F,UACPrB,GAAYnzF,EAAM86F,GAGtB96F,EAAKwN,KAAKsrB,OAAO9jB,EAAOnqB,wBAM1BkwG,SAAMxzG,GACJ,GAAIY,KAAK47F,SACP57F,KAAKgsG,UAAUhuG,KAAKoB,OACf,CACL,QAA6BA,EAA7B,GAAO+iE,EAAP,KAAegwC,EAAf,KAAqBC,EAArB,KACApyG,KAAKmiE,GAAQgwC,EAAMC,GAErBpyG,KAAK4rF,MAAMinB,aAAa70G,KAAxB,CAA8BgC,KAAKuF,OAAnC,UAA6CnG,gCAG/C0zG,WACE,IAAMpwG,EAAQ9E,UAAUC,OACxBmC,KAAK4yG,MAAM,CAAC,kBAAmB5yG,KAAKysG,aAAapnF,KAAKxnB,OAAS6E,EAAOA,8BAGxEqwG,WACE/yG,KAAK4yG,MAAM,CAAC,kBAAmB5yG,KAAKqqG,YAAYhlF,KAAKxnB,OAAS,EAAG,gCAGnEm1G,WACEhzG,KAAK4yG,MAAM,CAAC,kBAAmB,EAAG,iCAGpCK,SAAcpmF,EAAOnqB,GACfA,GACF1C,KAAK4yG,MAAM,CAAC,kBAAmB/lF,EAAOnqB,IAExC,IAAMwwG,EAAWt1G,UAAUC,OAAS,EAChCq1G,GACFlzG,KAAK4yG,MAAM,CAAC,kBAAmB/lF,EAAOqmF,kCAI1CC,WACEnzG,KAAK4yG,MAAM,CAAC,kBAAmB,EAAGh1G,UAAUC,eAv0B3ButG,GCxMrB,SAASgI,GAAqBv7F,GAC5B,IAGIla,EAAG0jF,EAAMgyB,EAAMp8D,EAHbo3C,EAAQx2E,EAAKuvE,OACb3jC,EAnBR,SAA2B4qC,EAAOzsF,GAChC,IAAKysF,EAAMilB,OAAOC,KAAM,CAItB,IAHA,IAAMC,EAAenlB,EAAM6b,wBAAwBtoG,GAC/C6hD,EAAS,GAEJ9lD,EAAI,EAAG0jF,EAAOmyB,EAAa31G,OAAQF,EAAI0jF,EAAM1jF,IACpD8lD,EAASA,EAAOhkD,OAAO+zG,EAAa71G,GAAGysG,WAAW2F,mBAAmB1hB,IAEvEA,EAAMilB,OAAOC,KAAOjtB,GAAa7iC,EAAOoF,MAAK,SAACn+C,EAAGC,GAAJ,OAAUD,EAAIC,MAE7D,OAAO0jF,EAAMilB,OAAOC,KASLE,CAAkBplB,EAAOx2E,EAAKjW,MACzCqrB,EAAMohE,EAAMqlB,QAEVC,EAAmB,WACV,QAATN,IAA4B,QAAVA,IAIlB7wB,GAAQvrC,KAEVhqB,EAAMzQ,KAAKyQ,IAAIA,EAAKzQ,KAAKgnE,IAAI6vB,EAAOp8D,IAAShqB,IAE/CgqB,EAAOo8D,IAGT,IAAK11G,EAAI,EAAG0jF,EAAO59B,EAAO5lD,OAAQF,EAAI0jF,IAAQ1jF,EAC5C01G,EAAOhlB,EAAM3G,iBAAiBjkC,EAAO9lD,IACrCg2G,IAIF,IADA18D,OAAO/1C,EACFvD,EAAI,EAAG0jF,EAAOgN,EAAM3C,MAAM7tF,OAAQF,EAAI0jF,IAAQ1jF,EACjD01G,EAAOhlB,EAAMulB,gBAAgBj2G,GAC7Bg2G,IAGF,OAAO1mF,EA4FT,SAAS4mF,GAAWlwC,EAAO+e,EAAMsnB,EAAQrsG,GAMvC,OALIO,GAAQylE,GA5Bd,SAAuBA,EAAO+e,EAAMsnB,EAAQrsG,GAC1C,IAAMm2G,EAAa9J,EAAOx7B,MAAM7K,EAAM,GAAIhmE,GACpCo2G,EAAW/J,EAAOx7B,MAAM7K,EAAM,GAAIhmE,GAClCsvB,EAAMzQ,KAAKyQ,IAAI6mF,EAAYC,GAC3BlxD,EAAMrmC,KAAKqmC,IAAIixD,EAAYC,GAC7BC,EAAW/mF,EACXgnF,EAASpxD,EAETrmC,KAAKgnE,IAAIv2D,GAAOzQ,KAAKgnE,IAAI3gC,KAC3BmxD,EAAWnxD,EACXoxD,EAAShnF,GAKXy1D,EAAKsnB,EAAO1iB,MAAQ2sB,EAEpBvxB,EAAKwxB,QAAU,CACbF,SAAAA,EACAC,OAAAA,EACApnF,MAAOinF,EACPhnF,IAAKinF,EACL9mF,IAAAA,EACA41B,IAAAA,GAMAsxD,CAAcxwC,EAAO+e,EAAMsnB,EAAQrsG,GAEnC+kF,EAAKsnB,EAAO1iB,MAAQ0iB,EAAOx7B,MAAM7K,EAAOhmE,GAEnC+kF,EAGT,SAAS0xB,GAAsBv8F,EAAMwN,EAAMwH,EAAOnqB,GAChD,IAKI/E,EAAG0jF,EAAMqB,EAAM/e,EALbyjB,EAASvvE,EAAKuvE,OACd4iB,EAASnyF,EAAKmyF,OACd4E,EAASxnB,EAAOynB,YAChBC,EAAc1nB,IAAW4iB,EACzBnO,EAAS,GAGf,IAAKl+F,EAAIkvB,EAAOw0D,EAAOx0D,EAAQnqB,EAAO/E,EAAI0jF,IAAQ1jF,EAChDgmE,EAAQt+C,EAAK1nB,IACb+kF,EAAO,IACF0E,EAAOE,MAAQwnB,GAAe1nB,EAAO5Y,MAAMogC,EAAOjxG,GAAIA,GAC3Dk+F,EAAO79F,KAAK61G,GAAWlwC,EAAO+e,EAAMsnB,EAAQrsG,IAE9C,OAAOk+F,EAGT,SAASwY,GAAWC,GAClB,OAAOA,QAA8BpzG,IAApBozG,EAAON,eAA4C9yG,IAAlBozG,EAAOL,OA+B3D,SAASM,GAAiB9kB,EAAYv9E,EAASlD,EAAOzJ,GACpD,IAAIivG,EAAOtiG,EAAQuiG,cACbnjC,EAAM,GAEZ,GAAKkjC,EAKL,IAAa,IAATA,EAAJ,CAKA,MAnCF,SAAqB/kB,GACnB,IAAIh0C,EAAS5uB,EAAOC,EAAKmB,EAAKkiE,EAiB9B,OAhBIV,EAAWilB,YACbj5D,EAAUg0C,EAAWr4E,KAAOq4E,EAAW3+D,EACvCjE,EAAQ,OACRC,EAAM,UAEN2uB,EAAUg0C,EAAWr4E,KAAOq4E,EAAWv1D,EACvCrN,EAAQ,SACRC,EAAM,OAEJ2uB,GACFxtB,EAAM,MACNkiE,EAAS,UAETliE,EAAM,QACNkiE,EAAS,OAEJ,CAACtjE,MAAAA,EAAOC,IAAAA,EAAK2uB,QAAAA,EAASxtB,IAAAA,EAAKkiE,OAAAA,GAiBSwkB,CAAYllB,GAAhD5iE,EAAP,EAAOA,MAAOC,EAAd,EAAcA,IAAK2uB,EAAnB,EAAmBA,QAASxtB,EAA5B,EAA4BA,IAAKkiE,EAAjC,EAAiCA,OAEpB,WAATqkB,GAAqBxlG,IACvBygF,EAAWmlB,oBAAqB,GAC3B5lG,EAAM47F,MAAQ,KAAOrlG,EACxBivG,EAAOvmF,GACGjf,EAAM67F,SAAW,KAAOtlG,EAClCivG,EAAOrkB,GAEP7e,EAAIujC,GAAU1kB,EAAQtjE,EAAOC,EAAK2uB,KAAY,EAC9C+4D,EAAOvmF,IAIXqjD,EAAIujC,GAAUL,EAAM3nF,EAAOC,EAAK2uB,KAAY,EAC5Cg0C,EAAWglB,cAAgBnjC,OAnBzBme,EAAWglB,cAAgB,CAACxmF,KAAK,EAAMiiE,OAAO,EAAMC,QAAQ,EAAMpiE,MAAM,QALxE0hE,EAAWglB,cAAgBnjC,EA2B/B,SAASujC,GAAUL,EAAM9pG,EAAGC,EAAG8wC,GAU/B,IAAcq5D,EAAMvzB,EAAIwzB,EAHtB,OANIt5D,GASkBs5D,EARCpqG,EACrB6pG,EAAOQ,GADPR,GAQUM,EAREN,MAQIjzB,EARE72E,GASCqqG,EAAKD,IAASC,EAAKxzB,EAAKuzB,EARrBnqG,EAAGD,IAEzB8pG,EAAOQ,GAASR,EAAM9pG,EAAGC,GAEpB6pG,EAOT,SAASQ,GAASppG,EAAGihB,EAAOC,GAC1B,MAAa,UAANlhB,EAAgBihB,EAAc,QAANjhB,EAAckhB,EAAMlhB,EAGrD,SAASqpG,GAAiBxlB,EAA1B,EAAuD1Q,GAAO,IAAvBm2B,EAAuB,EAAvBA,cACrCzlB,EAAWylB,cAAkC,SAAlBA,EACb,IAAVn2B,EAAc,IAAO,EACrBm2B,KD/Be9J,GAAAA,WAKD,OALCA,GAAAA,qBAUS,SAVTA,GAAAA,kBAeM,UCmBN+J,GAAAA,SAAAA,0HAgDnBxG,SAAmB92F,EAAMwN,EAAMwH,EAAOnqB,GACpC,OAAO0xG,GAAsBv8F,EAAMwN,EAAMwH,EAAOnqB,iCAQlD+rG,SAAe52F,EAAMwN,EAAMwH,EAAOnqB,GAChC,OAAO0xG,GAAsBv8F,EAAMwN,EAAMwH,EAAOnqB,kCAQlDgsG,SAAgB72F,EAAMwN,EAAMwH,EAAOnqB,GACjC,IAKI/E,EAAG0jF,EAAMqB,EAAMtqC,EALZgvC,EAAkBvvE,EAAlBuvE,OAAQ4iB,EAAUnyF,EAAVmyF,OACf,EAAyChqG,KAAK47F,SAA9C,IAAOmT,SAAAA,OAAP,MAAkB,IAAlB,MAAuBC,SAAAA,OAAvB,MAAkC,IAAlC,EACMoG,EAA2B,MAAhBhuB,EAAOE,KAAeynB,EAAWC,EAC5CqG,EAA2B,MAAhBrL,EAAO1iB,KAAeynB,EAAWC,EAC5CnT,EAAS,GAEf,IAAKl+F,EAAIkvB,EAAOw0D,EAAOx0D,EAAQnqB,EAAO/E,EAAI0jF,IAAQ1jF,EAChDy6C,EAAM/yB,EAAK1nB,IACX+kF,EAAO,IACF0E,EAAOE,MAAQF,EAAO5Y,MAAM8T,GAAiBlqC,EAAKg9D,GAAWz3G,GAClEk+F,EAAO79F,KAAK61G,GAAWvxB,GAAiBlqC,EAAKi9D,GAAW3yB,EAAMsnB,EAAQrsG,IAExE,OAAOk+F,uCAMTsT,SAAsBxlF,EAAO0kE,EAAOwN,EAAQ7sF,GAC1C,2DAA4B2a,EAAO0kE,EAAOwN,EAAQ7sF,GAClD,IAAMslG,EAASzY,EAAOqY,QAClBI,GAAUjmB,IAAUruF,KAAKqqG,YAAYL,SAEvCrgF,EAAMsD,IAAMzQ,KAAKyQ,IAAItD,EAAMsD,IAAKqnF,EAAOrnF,KACvCtD,EAAMk5B,IAAMrmC,KAAKqmC,IAAIl5B,EAAMk5B,IAAKyxD,EAAOzxD,oCAQ3CmtD,WACE,OAAO,kCAMTC,SAAiB1qG,GACf,IAAMsS,EAAO7X,KAAKqqG,YACXjjB,EAAkBvvE,EAAlBuvE,OAAQ4iB,EAAUnyF,EAAVmyF,OACTnO,EAAS77F,KAAKivG,UAAU1pG,GACxB+uG,EAASzY,EAAOqY,QAChBr0G,EAAQw0G,GAAWC,GACrB,IAAMA,EAAOznF,MAAQ,KAAOynF,EAAOxnF,IAAM,IACzC,GAAKk9E,EAAOmG,iBAAiBtU,EAAOmO,EAAO1iB,OAE/C,MAAO,CACL4oB,MAAO,GAAK9oB,EAAO+oB,iBAAiBtU,EAAOzU,EAAOE,OAClDznF,MAAAA,6BAIJssG,WACEnsG,KAAK6rG,qBAAsB,EAE3B,iDAEa7rG,KAAKqqG,YACbr7F,MAAQhP,KAAKysG,aAAaz9F,4BAGjCy4F,SAAO7wE,GACL,IAAM/e,EAAO7X,KAAKqqG,YAClBrqG,KAAK0yG,eAAe76F,EAAKwN,KAAM,EAAGxN,EAAKwN,KAAKxnB,OAAQ+4B,iCAGtD87E,SAAe4C,EAAMzoF,EAAOnqB,EAAOk0B,GAQjC,IAPA,IAAMutC,EAAiB,UAATvtC,EACPrxB,EAAgCvF,KAAhCuF,MAAqBykG,EAAWhqG,KAAzBqqG,YAAcL,OACtB5yF,EAAO4yF,EAAOuL,eACdb,EAAa1K,EAAOwL,eACpBC,EAAQz1G,KAAK01G,YACnB,EAAwC11G,KAAKyxG,kBAAkB5kF,EAAO+J,GAA/D26E,EAAP,EAAOA,cAAeD,EAAtB,EAAsBA,eAEb3zG,EAAIkvB,EAAOlvB,EAAIkvB,EAAQnqB,EAAO/E,IAAK,CAC1C,IAAMk+F,EAAS77F,KAAKivG,UAAUtxG,GACxBg4G,EAAUxxC,GAASmc,GAAcub,EAAOmO,EAAO1iB,OAAS,CAAClwE,KAAAA,EAAMqwD,KAAMrwD,GAAQpX,KAAK41G,yBAAyBj4G,GAC3Gk4G,EAAU71G,KAAK81G,yBAAyBn4G,EAAG83G,GAC3CzmG,GAAS6sF,EAAOyO,SAAW,IAAIN,EAAO1iB,MAEtCmI,EAAa,CACjBilB,WAAAA,EACAt9F,KAAMu+F,EAAQv+F,KACdw9F,oBAAqB5lG,GAASqlG,GAAWxY,EAAOqY,UAAa3uG,IAAUyJ,EAAM47F,MAAQrlG,IAAUyJ,EAAM67F,QACrG/5E,EAAG4jF,EAAaiB,EAAQluC,KAAOouC,EAAQE,OACvC77E,EAAGw6E,EAAamB,EAAQE,OAASJ,EAAQluC,KACzCtgD,OAAQutF,EAAamB,EAAQ3tE,KAAO1rB,KAAKgnE,IAAImyB,EAAQztE,MACrDhhB,MAAOwtF,EAAal4F,KAAKgnE,IAAImyB,EAAQztE,MAAQ2tE,EAAQ3tE,MAGnDopE,IACF7hB,EAAWv9E,QAAUq/F,GAAiBvxG,KAAKywG,0BAA0B9yG,EAAG23G,EAAK33G,GAAG+xF,OAAS,SAAW94D,IAEtG,IAAM1kB,EAAUu9E,EAAWv9E,SAAWojG,EAAK33G,GAAGuU,QAC9CqiG,GAAiB9kB,EAAYv9E,EAASlD,EAAOzJ,GAC7C0vG,GAAiBxlB,EAAYv9E,EAASujG,EAAM12B,OAC5C/+E,KAAK6xG,cAAcyD,EAAK33G,GAAIA,EAAG8xF,EAAY74D,8BAW/Co/E,SAAW3uE,EAAMqpE,GACf,IAD0B,EACnBtpB,EAAUpnF,KAAKqqG,YAAfjjB,OACD8hB,EAAW9hB,EAAO8iB,wBAAwBlqG,KAAKurG,OAClD1uD,QAAOhlC,SAAAA,GAAAA,OAAQA,EAAKuyF,WAAWl4F,QAAQ+jG,WACpCxM,EAAUriB,EAAOl1E,QAAQu3F,QACzBE,EAAS,GAETuM,EAAW,SAACr+F,GAChB,IAAMgkF,EAAShkF,EAAKuyF,WAAW6E,UAAUyB,GACnC72D,EAAMgiD,GAAUA,EAAOhkF,EAAKmyF,OAAO1iB,MAEzC,GAAIhH,GAAczmC,IAAQj6C,MAAMi6C,GAC9B,OAAO,GAZe,KAgBPqvD,GAhBO,IAgB1B,IAAK,EAAL,qBAA6B,KAAlBrxF,EAAkB,QAC3B,SAAkB3W,IAAdwvG,IAA2BwF,EAASr+F,QASxB,IAAZ4xF,IAAqD,IAAhCE,EAAO9yF,QAAQgB,EAAK7I,aAClC9N,IAAZuoG,QAAwCvoG,IAAf2W,EAAK7I,QAC3B26F,EAAO3rG,KAAK6Z,EAAK7I,OAEf6I,EAAKtS,QAAU8hC,GACjB,OA/BsB,8BA0C1B,OAJKsiE,EAAO9rG,QACV8rG,EAAO3rG,UAAKkD,GAGPyoG,gCAOTwM,SAAe5wG,GACb,OAAOvF,KAAKg2G,gBAAW90G,EAAWqE,GAAO1H,qCAW3Cu4G,SAAe50B,EAAcrhF,EAAMuwG,GACjC,IAAM/G,EAAS3pG,KAAKg2G,WAAWx0B,EAAckvB,GACvCnrG,OAAkBrE,IAAVf,EACVwpG,EAAO9yF,QAAQ1W,IACd,EAEL,OAAmB,IAAXoF,EACJokG,EAAO9rG,OAAS,EAChB0H,2BAMNmwG,WACE,IAII/3G,EAAG0jF,EAJD2U,EAAOh2F,KAAKkS,QACZ2F,EAAO7X,KAAKqqG,YACZjjB,EAASvvE,EAAKuvE,OACdivB,EAAS,GAGf,IAAK14G,EAAI,EAAG0jF,EAAOxpE,EAAKwN,KAAKxnB,OAAQF,EAAI0jF,IAAQ1jF,EAC/C04G,EAAOr4G,KAAKopF,EAAOM,iBAAiB1nF,KAAKivG,UAAUtxG,GAAGypF,EAAOE,MAAO3pF,IAGtE,IAAM24G,EAAetgB,EAAKsgB,aAG1B,MAAO,CACLrpF,IAHUqpF,GAAgBlD,GAAqBv7F,GAI/Cw+F,OAAAA,EACAxpF,MAAOu6D,EAAOmvB,YACdzpF,IAAKs6D,EAAOovB,UACZC,WAAYz2G,KAAKm2G,iBACjB9nB,MAAOjH,EACP6uB,QAASjgB,EAAKigB,QAEdl3B,MAAOu3B,EAAe,EAAItgB,EAAK0gB,mBAAqB1gB,EAAK2gB,uDAQ7Df,SAAyBrwG,GACvB,IAQIkiE,EAAMv/B,EARV,EAAyGloC,KAAlGqqG,YAAcL,EAArB,EAAqBA,OAAQqC,EAA7B,EAA6BA,SAAiB7qB,EAA9C,EAAuCj8E,MAAvC,EAAyGvF,KAA5CkS,QAAgB0kG,EAA7E,EAAuEx/F,KAAiBy/F,EAAxF,EAAwFA,aAClFC,EAAaF,GAAa,EAC1B/a,EAAS77F,KAAKivG,UAAU1pG,GACxB+uG,EAASzY,EAAOqY,QAChB6C,EAAW1C,GAAWC,GACxBz0G,EAAQg8F,EAAOmO,EAAO1iB,MACtBz6D,EAAQ,EACRhvB,EAASwuG,EAAWrsG,KAAKopG,WAAWY,EAAQnO,EAAQwQ,GAAYxsG,EAGhEhC,IAAWgC,IACbgtB,EAAQhvB,EAASgC,EACjBhC,EAASgC,GAGPk3G,IACFl3G,EAAQy0G,EAAON,SACfn2G,EAASy2G,EAAOL,OAASK,EAAON,SAElB,IAAVn0G,GAAewjF,GAAKxjF,KAAWwjF,GAAKixB,EAAOL,UAC7CpnF,EAAQ,GAEVA,GAAShtB,GAGX,IAAMi0G,EAAcxzB,GAAcs2B,IAAeG,EAAuBlqF,EAAZ+pF,EACxDx/F,EAAO4yF,EAAOtiB,iBAAiBosB,GAWnC,GAFA5rE,GANEu/B,EADEznE,KAAK4rF,MAAMorB,kBAAkBzxG,GACxBykG,EAAOtiB,iBAAiB76D,EAAQhvB,GAGhCuZ,GAGKA,EAEVoF,KAAKgnE,IAAIt7C,GAAQ2uE,EAAc,CACjC3uE,EArZN,SAAiBA,EAAM8hE,EAAQ8M,GAC7B,OAAa,IAAT5uE,EACKm7C,GAAKn7C,IAEN8hE,EAAOwL,eAAiB,GAAK,IAAMxL,EAAO/8E,KAAO6pF,EAAa,GAAK,GAiZhEG,CAAQ/uE,EAAM8hE,EAAQ8M,GAAcD,EACvCh3G,IAAUi3G,IACZ1/F,GAAQ8wB,EAAO,GAEjB,IAAMgvE,EAAalN,EAAOmN,mBAAmB,GACvCC,EAAWpN,EAAOmN,mBAAmB,GACrClqF,EAAMzQ,KAAKyQ,IAAIiqF,EAAYE,GAC3Bv0D,EAAMrmC,KAAKqmC,IAAIq0D,EAAYE,GAEjC3vC,GADArwD,EAAOoF,KAAKqmC,IAAIrmC,KAAKyQ,IAAI7V,EAAMyrC,GAAM51B,IACvBib,EAEVmkE,IAAa0K,IAEflb,EAAOyO,QAAQN,EAAO1iB,MAAMwjB,cAActpB,GAAgBwoB,EAAOqN,iBAAiB5vC,GAAQuiC,EAAOqN,iBAAiBjgG,IAItH,GAAIA,IAAS4yF,EAAOtiB,iBAAiBovB,GAAa,CAChD,IAAMQ,EAAWj0B,GAAKn7C,GAAQ8hE,EAAOuN,qBAAqBT,GAAc,EACxE1/F,GAAQkgG,EACRpvE,GAAQovE,EAGV,MAAO,CACLpvE,KAAAA,EACA9wB,KAAAA,EACAqwD,KAAAA,EACAsuC,OAAQtuC,EAAOv/B,EAAO,2CAO1B4tE,SAAyBvwG,EAAOkwG,GAC9B,IAIIM,EAAQ7tE,EAJNmmD,EAAQonB,EAAMpnB,MACdn8E,EAAUlS,KAAKkS,QACfgkG,EAAWhkG,EAAQgkG,SACnBsB,EAAkB72B,GAAezuE,EAAQslG,gBAAiBzrE,KAEhE,GAAI0pE,EAAMQ,QAAS,CACjB,IAAMQ,EAAaP,EAAWl2G,KAAKm2G,eAAe5wG,GAASkwG,EAAMgB,WAC3D9sF,EAAiC,SAAzBzX,EAAQokG,aAphB5B,SAAmC/wG,EAAOkwG,EAAOvjG,EAASukG,GACxD,IAAMJ,EAASZ,EAAMY,OACfhD,EAAOgD,EAAO9wG,GAChB0xC,EAAO1xC,EAAQ,EAAI8wG,EAAO9wG,EAAQ,GAAK,KACvC+yB,EAAO/yB,EAAQ8wG,EAAOx4G,OAAS,EAAIw4G,EAAO9wG,EAAQ,GAAK,KACrDkyG,EAAUvlG,EAAQwkG,mBAEX,OAATz/D,IAGFA,EAAOo8D,GAAiB,OAAT/6E,EAAgBm9E,EAAM3oF,IAAM2oF,EAAM5oF,MAAQyL,EAAO+6E,IAGrD,OAAT/6E,IAEFA,EAAO+6E,EAAOA,EAAOp8D,GAGvB,IAAMpqB,EAAQwmF,GAAQA,EAAO72F,KAAKyQ,IAAIgqB,EAAM3e,IAAS,EAAIm/E,EAGzD,MAAO,CACLC,MAHWl7F,KAAKgnE,IAAIlrD,EAAO2e,GAAQ,EAAIwgE,EAGzBhB,EACd13B,MAAO7sE,EAAQykG,cACf9pF,MAAAA,GA6fM8qF,CAA0BpyG,EAAOkwG,EAAOvjG,EAASukG,GAjjB3D,SAAkClxG,EAAOkwG,EAAOvjG,EAASukG,GACvD,IACIvuE,EAAM62C,EADJ64B,EAAY1lG,EAAQokG,aAc1B,OAXIh2B,GAAcs3B,IAChB1vE,EAAOutE,EAAMxoF,IAAM/a,EAAQwkG,mBAC3B33B,EAAQ7sE,EAAQykG,gBAKhBzuE,EAAO0vE,EAAYnB,EACnB13B,EAAQ,GAGH,CACL24B,MAAOxvE,EAAOuuE,EACd13B,MAAAA,EACAlyD,MAAO4oF,EAAMY,OAAO9wG,GAAU2iC,EAAO,GAgiB/B2vE,CAAyBtyG,EAAOkwG,EAAOvjG,EAASukG,GAE9CqB,EAAa93G,KAAKo2G,eAAep2G,KAAKuF,MAAOvF,KAAKqqG,YAAYr7F,MAAOknG,EAAW3wG,OAAQrE,GAC9F60G,EAASpsF,EAAMkD,MAASlD,EAAM+tF,MAAQI,EAAenuF,EAAM+tF,MAAQ,EACnExvE,EAAO1rB,KAAKyQ,IAAIuqF,EAAiB7tF,EAAM+tF,MAAQ/tF,EAAMo1D,YAGrDg3B,EAAS1nB,EAAM3G,iBAAiB1nF,KAAKivG,UAAU1pG,GAAO8oF,EAAM/G,MAAO/hF,GACnE2iC,EAAO1rB,KAAKyQ,IAAIuqF,EAAiB/B,EAAMxoF,IAAMwoF,EAAM12B,OAGrD,MAAO,CACL3nE,KAAM2+F,EAAS7tE,EAAO,EACtBu/B,KAAMsuC,EAAS7tE,EAAO,EACtB6tE,OAAAA,EACA7tE,KAAAA,uBAIJy9D,WAOE,IANA,IAAM9tF,EAAO7X,KAAKqqG,YACZL,EAASnyF,EAAKmyF,OACd+N,EAAQlgG,EAAKwN,KACbg8D,EAAO02B,EAAMl6G,OACfF,EAAI,EAEDA,EAAI0jF,IAAQ1jF,EACsB,OAAnCqC,KAAKivG,UAAUtxG,GAAGqsG,EAAO1iB,OAC3BywB,EAAMp6G,GAAGgoG,KAAK3lG,KAAK6wF,YAzYNskB,CAAsB/J,OAAtB+J,GAAAA,KAEP,UAFOA,GAAAA,WAOD,CAChBlJ,oBAAoB,EACpBC,gBAAiB,MAEjBwK,mBAAoB,GACpBC,cAAe,GACfV,SAAS,EAETpmB,WAAY,CACVhF,QAAS,CACPjpF,KAAM,SACN6tF,WAAY,CAAC,IAAK,IAAK,OAAQ,QAAS,iBAlB3B0lB,GAAAA,YA0BA,CACjB7mB,OAAQ,CACN0pB,QAAS,CACPp2G,KAAM,WACNkqB,QAAQ,EACRykE,KAAM,CACJzkE,QAAQ,IAGZmsF,QAAS,CACPr2G,KAAM,SACNwuF,aAAa,UCnSA8nB,GAAAA,SAAAA,kHAiCnB/L,WACEnsG,KAAK6rG,qBAAsB,EAC3B,mFAOF8C,SAAmB92F,EAAMwN,EAAMwH,EAAOnqB,GAEpC,IADA,IAAMm5F,EAASA,GAAAA,GAAAA,EAAAA,WAAAA,qBAAAA,MAAAA,KAAAA,KAAyBhkF,EAAMwN,EAAMwH,EAAOnqB,GAClD/E,EAAI,EAAGA,EAAIk+F,EAAOh+F,OAAQF,IACjCk+F,EAAOl+F,GAAGu2G,QAAUl0G,KAAKywG,0BAA0B9yG,EAAIkvB,GAAOmnE,OAEhE,OAAO6H,gCAOT4S,SAAe52F,EAAMwN,EAAMwH,EAAOnqB,GAEhC,IADA,IAAMm5F,EAASA,GAAAA,GAAAA,EAAAA,WAAAA,iBAAAA,MAAAA,KAAAA,KAAqBhkF,EAAMwN,EAAMwH,EAAOnqB,GAC9C/E,EAAI,EAAGA,EAAIk+F,EAAOh+F,OAAQF,IAAK,CACtC,IAAM+kF,EAAOr9D,EAAKwH,EAAQlvB,GAC1Bk+F,EAAOl+F,GAAGu2G,QAAUvzB,GAAe+B,EAAK,GAAI1iF,KAAKywG,0BAA0B9yG,EAAIkvB,GAAOmnE,QAExF,OAAO6H,iCAOT6S,SAAgB72F,EAAMwN,EAAMwH,EAAOnqB,GAEjC,IADA,IAAMm5F,EAASA,GAAAA,GAAAA,EAAAA,WAAAA,kBAAAA,MAAAA,KAAAA,KAAsBhkF,EAAMwN,EAAMwH,EAAOnqB,GAC/C/E,EAAI,EAAGA,EAAIk+F,EAAOh+F,OAAQF,IAAK,CACtC,IAAM+kF,EAAOr9D,EAAKwH,EAAQlvB,GAC1Bk+F,EAAOl+F,GAAGu2G,QAAUvzB,GAAe+B,GAAQA,EAAKzoD,IAAMyoD,EAAKzoD,EAAGj6B,KAAKywG,0BAA0B9yG,EAAIkvB,GAAOmnE,QAE1G,OAAO6H,gCAMTmU,WAIE,IAHA,IAAM3qF,EAAOrlB,KAAKqqG,YAAYhlF,KAE1Bw9B,EAAM,EACDllD,EAAI0nB,EAAKxnB,OAAS,EAAGF,GAAK,IAAKA,EACtCklD,EAAMrmC,KAAKqmC,IAAIA,EAAKx9B,EAAK1nB,GAAGuqC,KAAKloC,KAAKywG,0BAA0B9yG,IAAM,GAExE,OAAOklD,EAAM,GAAKA,kCAMpBotD,SAAiB1qG,GACf,IAAMsS,EAAO7X,KAAKqqG,YACZuE,EAAS5uG,KAAK4rF,MAAMvmE,KAAKupF,QAAU,GAClChnB,EAAkB/vE,EAAlB+vE,OAAQC,EAAUhwE,EAAVgwE,OACTgU,EAAS77F,KAAKivG,UAAU1pG,GACxBurB,EAAI82D,EAAOuoB,iBAAiBtU,EAAO/qE,GACnCoJ,EAAI2tD,EAAOsoB,iBAAiBtU,EAAO3hE,GACnCD,EAAI4hE,EAAOqY,QAEjB,MAAO,CACLhE,MAAOtB,EAAOrpG,IAAU,GACxB1F,MAAO,IAAMixB,EAAI,KAAOoJ,GAAKD,EAAI,KAAOA,EAAI,IAAM,2BAItDwtE,SAAO7wE,GACL,IAAMowD,EAAShnF,KAAKqqG,YAAYhlF,KAGhCrlB,KAAK0yG,eAAe1rB,EAAQ,EAAGA,EAAOnpF,OAAQ+4B,iCAGhD87E,SAAe1rB,EAAQn6D,EAAOnqB,EAAOk0B,GAOnC,IANA,IAAMutC,EAAiB,UAATvtC,EACd,EAAyB52B,KAAKqqG,YAAvBjjB,EAAP,EAAOA,OAAQ4iB,EAAf,EAAeA,OACf,EAAwChqG,KAAKyxG,kBAAkB5kF,EAAO+J,GAA/D26E,EAAP,EAAOA,cAAeD,EAAtB,EAAsBA,eAChB/G,EAAQnjB,EAAOE,KACfkjB,EAAQR,EAAO1iB,KAEZ3pF,EAAIkvB,EAAOlvB,EAAIkvB,EAAQnqB,EAAO/E,IAAK,CAC1C,IAAMo3F,EAAQ/N,EAAOrpF,GACfk+F,GAAU13B,GAASnkE,KAAKivG,UAAUtxG,GAClC8xF,EAAa,GACb8N,EAAS9N,EAAW8a,GAASpmC,EAAQijB,EAAO+vB,mBAAmB,IAAO/vB,EAAOM,iBAAiBmU,EAAO0O,IACrG/M,EAAS/N,EAAW+a,GAASrmC,EAAQ6lC,EAAOuL,eAAiBvL,EAAOtiB,iBAAiBmU,EAAO2O,IAElG/a,EAAWuM,KAAOp8F,MAAM29F,IAAW39F,MAAM49F,GAErC8T,IACF7hB,EAAWv9E,QAAUq/F,GAAiBvxG,KAAKywG,0BAA0B9yG,EAAGo3F,EAAMrF,OAAS,SAAW94D,GAE9FutC,IACFsrB,EAAWv9E,QAAQ8hF,OAAS,IAIhCh0F,KAAK6xG,cAAc9c,EAAOp3F,EAAG8xF,EAAY74D,6CAS7C65E,SAA0BlrG,EAAOqxB,GAC/B,IAAMilE,EAAS77F,KAAKivG,UAAU1pG,GAC1Bk+C,EAAS,+DAAgCl+C,EAAOqxB,GAGhD6sB,EAAO8kD,UACT9kD,EAASnlD,OAAOwQ,OAAO,GAAI20C,EAAQ,CAAC8kD,SAAS,KAI/C,IAAMvU,EAASvwC,EAAOuwC,OAMtB,MALa,WAATp9D,IACF6sB,EAAOuwC,OAAS,GAElBvwC,EAAOuwC,QAAUrT,GAAekb,GAAUA,EAAOqY,QAASlgB,GAEnDvwC,QAnKUy0D,CAAyB9M,OAAzB8M,GAAAA,KAEP,aAFOA,GAAAA,WAOD,CAChBjM,oBAAoB,EACpBC,gBAAiB,QAEjBrc,WAAY,CACVhF,QAAS,CACPjpF,KAAM,SACN6tF,WAAY,CAAC,IAAK,IAAK,cAAe,iBAdzByoB,GAAAA,YAsBA,CACjB5pB,OAAQ,CACNx9D,EAAG,CACDlvB,KAAM,UAERs4B,EAAG,CACDt4B,KAAM,iBCKOu2G,GAAAA,SAAAA,uBA0FnB3nG,SAAAA,EAAYo7E,EAAOpK,GAAc,wBAC/B,cAAMoK,EAAOpK,IAERqqB,qBAAsB,EAC3B,EAAKuM,iBAAcl3G,EACnB,EAAKm3G,iBAAcn3G,EACnB,EAAKs+F,aAAUt+F,EACf,EAAKu+F,aAAUv+F,EAPgB,uCAUjCkrG,iCAKA59B,SAAM3hD,EAAOnqB,GACX,IAAM2iB,EAAOrlB,KAAKysG,aAAapnF,KACzBxN,EAAO7X,KAAKqqG,YAElB,IAAsB,IAAlBrqG,KAAK47F,SACP/jF,EAAKwvE,QAAUhiE,MACV,CACL,IAOI1nB,EAAG0jF,EAPHnb,EAAS,SAACvoE,GAAD,OAAQ0nB,EAAK1nB,IAE1B,GAAI4iF,GAASl7D,EAAKwH,IAAS,CACzB,MAAwB7sB,KAAK47F,SAAtBp9F,IAAAA,OAAP,MAAa,QAAb,EACA0nE,EAAS,SAACvoE,GAAD,OAAQ2kF,GAAiBj9D,EAAK1nB,GAAIa,IAI7C,IAAKb,EAAIkvB,EAAOw0D,EAAOx0D,EAAQnqB,EAAO/E,EAAI0jF,IAAQ1jF,EAChDka,EAAKwvE,QAAQ1pF,GAAKuoE,EAAOvoE,gCAQ/B26G,WACE,OAAOv0B,GAAU/jF,KAAKkS,QAAQ6hF,SAAW,qCAM3CwkB,WACE,OAAOx0B,GAAU/jF,KAAKkS,QAAQsmG,kDAOhCC,WAIE,IAHA,IAAIxrF,EAAM21D,GACN//B,GAAO+/B,GAEFjlF,EAAI,EAAGA,EAAIqC,KAAK4rF,MAAMvmE,KAAK4nE,SAASpvF,SAAUF,EACrD,GAAIqC,KAAK4rF,MAAM8sB,iBAAiB/6G,IAAMqC,KAAK4rF,MAAM2hB,eAAe5vG,GAAGiE,OAAS5B,KAAKurG,MAAO,CACtF,IAAMnB,EAAapqG,KAAK4rF,MAAM2hB,eAAe5vG,GAAGysG,WAC1CrW,EAAWqW,EAAWkO,eACtBE,EAAgBpO,EAAWmO,oBAEjCtrF,EAAMzQ,KAAKyQ,IAAIA,EAAK8mE,GACpBlxC,EAAMrmC,KAAKqmC,IAAIA,EAAKkxC,EAAWykB,GAInC,MAAO,CACLzkB,SAAU9mE,EACVurF,cAAe31D,EAAM51B,yBAOzBw6E,SAAO7wE,GACL,I1BxHyB/2B,EAAwBghF,E0ByH1C0vB,EADOvwG,KAAK4rF,MACZ2kB,UACD14F,EAAO7X,KAAKqqG,YACZsO,EAAO9gG,EAAKwN,KACZuzF,EAAU54G,KAAK64G,oBAAsB74G,KAAK84G,aAAaH,GAAQ34G,KAAKkS,QAAQ0mG,QAC5EG,EAAUv8F,KAAKqmC,KAAKrmC,KAAKyQ,IAAIsjF,EAAUrpF,MAAOqpF,EAAUppF,QAAUyxF,GAAW,EAAG,GAChFI,EAASx8F,KAAKyQ,K1B9HKptB,E0B8HYG,KAAKkS,QAAQ8mG,O1B9HDn4B,E0B8HSk4B,E1B7H3C,kBAAVl5G,GAAsBA,EAAMwsE,SAAS,KAC1CyU,WAAWjhF,GAAS,KACjBA,EAAQghF,G0B2HyD,GAC9Do4B,EAAcj5G,KAAKk5G,eAAel5G,KAAKuF,OAK7C,EAAkCvF,KAAKy4G,sBAAhCD,EAAP,EAAOA,cACP,EAjNJ,SAA2BzkB,EAAUykB,EAAeQ,GAClD,IAAIG,EAAS,EACTC,EAAS,EACT5Z,EAAU,EACVC,EAAU,EAEd,GAAI+Y,EAAgB51B,GAAK,CACvB,IAAMy2B,EAAatlB,EACbulB,EAAWD,EAAab,EACxBz+C,EAASv9C,KAAK+sE,IAAI8vB,GAClBE,EAAS/8F,KAAK+rE,IAAI8wB,GAClBG,EAAOh9F,KAAK+sE,IAAI+vB,GAChBG,EAAOj9F,KAAK+rE,IAAI+wB,GAChBI,EAAU,SAAC90B,EAAOl6E,EAAGC,GAAX,OAAiBy6E,GAAcR,EAAOy0B,EAAYC,GAAU,GAAQ,EAAI98F,KAAKqmC,IAAIn4C,EAAGA,EAAIsuG,EAAQruG,EAAGA,EAAIquG,IACjHW,EAAU,SAAC/0B,EAAOl6E,EAAGC,GAAX,OAAiBy6E,GAAcR,EAAOy0B,EAAYC,GAAU,IAAS,EAAI98F,KAAKyQ,IAAIviB,EAAGA,EAAIsuG,EAAQruG,EAAGA,EAAIquG,IAClHY,EAAOF,EAAQ,EAAG3/C,EAAQy/C,GAC1BK,EAAOH,EAAQz2B,GAASs2B,EAAQE,GAChCK,EAAOH,EAAQh3B,GAAI5oB,EAAQy/C,GAC3BO,EAAOJ,EAAQh3B,GAAKM,GAASs2B,EAAQE,GAC3CN,GAAUS,EAAOE,GAAQ,EACzBV,GAAUS,EAAOE,GAAQ,EACzBva,IAAYoa,EAAOE,GAAQ,EAC3Bra,IAAYoa,EAAOE,GAAQ,EAE7B,MAAO,CAACZ,OAAAA,EAAQC,OAAAA,EAAQ5Z,QAAAA,EAASC,QAAAA,GAyLYua,CAD3C,EAAsBjmB,SACiDykB,EAAeQ,GAA/EG,EAAP,EAAOA,OAAQC,EAAf,EAAeA,OAAQ5Z,EAAvB,EAAuBA,QAASC,EAAhC,EAAgCA,QAC1BjpD,GAAY+5D,EAAUrpF,MAAQ0xF,GAAWO,EACzC/Y,GAAamQ,EAAUppF,OAASyxF,GAAWQ,EAC3Ca,EAAYz9F,KAAKqmC,IAAIrmC,KAAKyQ,IAAIupB,EAAU4pD,GAAa,EAAG,GACxDiY,EAAcz3B,GAAY5gF,KAAKkS,QAAQ8hF,OAAQimB,GAE/CC,GAAgB7B,EADF77F,KAAKqmC,IAAIw1D,EAAcW,EAAQ,IACAh5G,KAAKm6G,gCACxDn6G,KAAKw/F,QAAUA,EAAU6Y,EACzBr4G,KAAKy/F,QAAUA,EAAU4Y,EAEzBxgG,EAAKuiG,MAAQp6G,KAAKq6G,iBAElBr6G,KAAKq4G,YAAcA,EAAc6B,EAAel6G,KAAKs6G,qBAAqBt6G,KAAKuF,OAC/EvF,KAAKo4G,YAAc57F,KAAKqmC,IAAI7iD,KAAKq4G,YAAc6B,EAAejB,EAAa,GAE3Ej5G,KAAK0yG,eAAeiG,EAAM,EAAGA,EAAK96G,OAAQ+4B,iCAM5C2jF,SAAe58G,EAAGwmE,GAChB,IAAM6xB,EAAOh2F,KAAKkS,QACZ2F,EAAO7X,KAAKqqG,YACZmO,EAAgBx4G,KAAKu4G,oBAC3B,OAAIp0C,GAAU6xB,EAAK7mE,UAAUqrF,gBAAmBx6G,KAAK4rF,MAAMorB,kBAAkBr5G,IAA0B,OAApBka,EAAKwvE,QAAQ1pF,IAAeka,EAAKwN,KAAK1nB,GAAG8xG,OACnH,EAEFzvG,KAAKy6G,uBAAuB5iG,EAAKwvE,QAAQ1pF,GAAK66G,EAAgB51B,kCAGvE8vB,SAAeiG,EAAM9rF,EAAOnqB,EAAOk0B,GACjC,IAYIj5B,EAZEwmE,EAAiB,UAATvtC,EACRg1D,EAAQ5rF,KAAK4rF,MACb2kB,EAAY3kB,EAAM2kB,UAElBmK,EADO9uB,EAAM15E,QACQid,UACrBwrF,GAAWpK,EAAUxiF,KAAOwiF,EAAUrgB,OAAS,EAC/C0qB,GAAWrK,EAAUtiF,IAAMsiF,EAAUpgB,QAAU,EAC/C0qB,EAAe12C,GAASu2C,EAAcG,aACtCzC,EAAcyC,EAAe,EAAI76G,KAAKo4G,YACtCC,EAAcwC,EAAe,EAAI76G,KAAKq4G,YAC5C,EAAwCr4G,KAAKyxG,kBAAkB5kF,EAAO+J,GAA/D26E,EAAP,EAAOA,cAAeD,EAAtB,EAAsBA,eAClB+H,EAAar5G,KAAKs4G,eAGtB,IAAK36G,EAAI,EAAGA,EAAIkvB,IAASlvB,EACvB07G,GAAcr5G,KAAKu6G,eAAe58G,EAAGwmE,GAGvC,IAAKxmE,EAAIkvB,EAAOlvB,EAAIkvB,EAAQnqB,IAAS/E,EAAG,CACtC,IAAM66G,EAAgBx4G,KAAKu6G,eAAe58G,EAAGwmE,GACvCmwB,EAAMqkB,EAAKh7G,GACX8xF,EAAa,CACjB3+D,EAAG6pF,EAAU36G,KAAKw/F,QAClBtlE,EAAG0gF,EAAU56G,KAAKy/F,QAClB4Z,WAAAA,EACAC,SAAUD,EAAab,EACvBA,cAAAA,EACAH,YAAAA,EACAD,YAAAA,GAEE9G,IACF7hB,EAAWv9E,QAAUq/F,GAAiBvxG,KAAKywG,0BAA0B9yG,EAAG22F,EAAI5E,OAAS,SAAW94D,IAElGyiF,GAAcb,EAEdx4G,KAAK6xG,cAAcvd,EAAK32F,EAAG8xF,EAAY74D,kCAI3CyjF,WACE,IAGI18G,EAHEka,EAAO7X,KAAKqqG,YACZyQ,EAAWjjG,EAAKwN,KAClB+0F,EAAQ,EAGZ,IAAKz8G,EAAI,EAAGA,EAAIm9G,EAASj9G,OAAQF,IAAK,CACpC,IAAMkC,EAAQgY,EAAKwvE,QAAQ1pF,GACb,OAAVkC,GAAmBD,MAAMC,KAAUG,KAAK4rF,MAAMorB,kBAAkBr5G,IAAOm9G,EAASn9G,GAAG8xG,SACrF2K,GAAS59F,KAAKgnE,IAAI3jF,IAItB,OAAOu6G,wCAGTK,SAAuB56G,GACrB,IAAMu6G,EAAQp6G,KAAKqqG,YAAY+P,MAC/B,OAAIA,EAAQ,IAAMx6G,MAAMC,GACf+iF,IAAOpmE,KAAKgnE,IAAI3jF,GAASu6G,GAE3B,kCAGTnK,SAAiB1qG,GACf,IAAMsS,EAAO7X,KAAKqqG,YACZze,EAAQ5rF,KAAK4rF,MACbgjB,EAAShjB,EAAMvmE,KAAKupF,QAAU,GAC9B/uG,EAAQmrF,GAAanzE,EAAKwvE,QAAQ9hF,GAAQqmF,EAAM15E,QAAQ4U,QAE9D,MAAO,CACLopF,MAAOtB,EAAOrpG,IAAU,GACxB1F,MAAAA,oCAIJg5G,SAAkBF,GAChB,IAEIh7G,EAAG0jF,EAAMxpE,EAAMuyF,EAAYl4F,EAF3B2wC,EAAM,EACJ+oC,EAAQ5rF,KAAK4rF,MAGnB,IAAK+sB,EAEH,IAAKh7G,EAAI,EAAG0jF,EAAOuK,EAAMvmE,KAAK4nE,SAASpvF,OAAQF,EAAI0jF,IAAQ1jF,EACzD,GAAIiuF,EAAM8sB,iBAAiB/6G,GAAI,CAE7Bg7G,GADA9gG,EAAO+zE,EAAM2hB,eAAe5vG,IAChB0nB,KACZ+kF,EAAavyF,EAAKuyF,WAClB,MAKN,IAAKuO,EACH,OAAO,EAGT,IAAKh7G,EAAI,EAAG0jF,EAAOs3B,EAAK96G,OAAQF,EAAI0jF,IAAQ1jF,EAEd,WAD5BuU,EAAUk4F,EAAWqG,0BAA0B9yG,IACnCo9G,cACVl4D,EAAMrmC,KAAKqmC,IAAIA,EAAK3wC,EAAQ0iF,aAAe,EAAG1iF,EAAQ8oG,kBAAoB,IAG9E,OAAOn4D,8BAGTi2D,SAAaH,GAGX,IAFA,IAAI91D,EAAM,EAEDllD,EAAI,EAAG0jF,EAAOs3B,EAAK96G,OAAQF,EAAI0jF,IAAQ1jF,EAAG,CACjD,IAAMuU,EAAUlS,KAAKywG,0BAA0B9yG,GAC/CklD,EAAMrmC,KAAKqmC,IAAIA,EAAK3wC,EAAQ4Z,QAAU,EAAG5Z,EAAQ+oG,aAAe,GAElE,OAAOp4D,sCAOTy3D,SAAqB94B,GAGnB,IAFA,IAAI05B,EAAmB,EAEdv9G,EAAI,EAAGA,EAAI6jF,IAAgB7jF,EAC9BqC,KAAK4rF,MAAM8sB,iBAAiB/6G,KAC9Bu9G,GAAoBl7G,KAAKk5G,eAAev7G,IAI5C,OAAOu9G,gCAMThC,SAAe13B,GACb,OAAOhlE,KAAKqmC,IAAI89B,GAAe3gF,KAAK4rF,MAAMvmE,KAAK4nE,SAASzL,GAAc7B,OAAQ,GAAI,gDAOpFw6B,WACE,OAAOn6G,KAAKs6G,qBAAqBt6G,KAAK4rF,MAAMvmE,KAAK4nE,SAASpvF,SAAW,QArWpDs6G,CAA2B/M,OAA3B+M,GAAAA,KAEP,eAFOA,GAAAA,WAOD,CAChBlM,oBAAoB,EACpBC,gBAAiB,MACjB/8E,UAAW,CAETqrF,eAAe,EAEfK,cAAc,GAEhBhrB,WAAY,CACVhF,QAAS,CACPjpF,KAAM,SACN6tF,WAAY,CAAC,gBAAiB,WAAY,cAAe,cAAe,aAAc,IAAK,IAAK,SAAU,cAAe,aAI7HupB,OAAQ,MAGRjlB,SAAU,EAGVykB,cAAe,IAGfxkB,OAAQ,OAGR4kB,QAAS,EAET/qB,UAAW,SArCMsqB,GAAAA,cAwCE,CACnBjpB,YAAa,SAAC/uF,GAAD,MAAmB,YAATA,GACvBgvF,WAAY,SAAChvF,GAAD,MAAmB,YAATA,QA1CLg4G,GAAAA,YAgDA,CACjBpkG,YAAa,EAGb2jC,QAAS,CACPyjE,OAAQ,CACNvM,OAAQ,CACNwM,eADM,SACSxvB,GACb,IAAMvmE,EAAOumE,EAAMvmE,KACnB,GAAIA,EAAKupF,OAAO/wG,QAAUwnB,EAAK4nE,SAASpvF,OAAQ,CAC9C,MAAsC+tF,EAAMuvB,OAAOjpG,QAA5C08F,OAAS9a,EAAhB,EAAgBA,WAAYzqE,EAA5B,EAA4BA,MAE5B,OAAOhE,EAAKupF,OAAOz1D,KAAI,SAAC+2D,EAAOvyG,GAC7B,IACMiZ,EADOg1E,EAAM2hB,eAAe,GACfnD,WAAW7I,SAAS5jG,GAEvC,MAAO,CACLmsB,KAAMomF,EACNvZ,UAAW//E,EAAMm2E,gBACjBuJ,YAAa1/E,EAAMo2E,YACnBquB,UAAWhyF,EACXmnE,UAAW55E,EAAMg+E,YACjBd,WAAYA,EACZ2b,QAAS7jB,EAAMorB,kBAAkBr5G,GAGjC4H,MAAO5H,MAIb,MAAO,KAIXqqC,QA7BM,SA6BE7/B,EAAGmzG,EAAYH,GACrBA,EAAOvvB,MAAM2vB,qBAAqBD,EAAW/1G,OAC7C41G,EAAOvvB,MAAM6b,kBCnHF+T,GAAAA,SAAAA,kHA6BnBrP,WACEnsG,KAAK6rG,qBAAsB,EAC3B7rG,KAAK8rG,oBAAqB,EAC1B,uEAGFrE,SAAO7wE,GACL,IAAM/e,EAAO7X,KAAKqqG,YACFtU,EAAqCl+E,EAA9C4uB,QAAP,EAAqD5uB,EAA/BwN,KAAM2hE,OAA5B,MAAqC,GAArC,EAAyCy0B,EAAY5jG,EAAZ4jG,SAEnCx0B,EAAqBjnF,KAAK4rF,MAAM4lB,oBACtC,EAAqBzqB,GAAiClvE,EAAMmvE,EAAQC,GAA/Dp6D,EAAL,EAAKA,MAAOnqB,EAAZ,EAAYA,MAEZ1C,KAAK2rG,WAAa9+E,EAClB7sB,KAAK4rG,WAAalpG,EAEdilF,GAAoB9vE,KACtBgV,EAAQ,EACRnqB,EAAQskF,EAAOnpF,QAIjBk4F,EAAK6N,OAAS5jG,KAAK4rF,MACnBmK,EAAKgO,cAAgB/jG,KAAKuF,MAC1BwwF,EAAK2lB,aAAeD,EAASC,WAC7B3lB,EAAK/O,OAASA,EAEd,IAAM90E,EAAUlS,KAAKwwG,6BAA6B55E,GAC7C52B,KAAKkS,QAAQq8E,WAChBr8E,EAAQ0iF,YAAc,GAExB1iF,EAAQq5D,QAAUvrE,KAAKkS,QAAQq5D,QAC/BvrE,KAAK6xG,cAAc9b,OAAM70F,EAAW,CAClCy6G,UAAW10B,EACX/0E,QAAAA,GACC0kB,GAGH52B,KAAK0yG,eAAe1rB,EAAQn6D,EAAOnqB,EAAOk0B,iCAG5C87E,SAAe1rB,EAAQn6D,EAAOnqB,EAAOk0B,GAanC,IAZA,IAAMutC,EAAiB,UAATvtC,EACd,EAA6C52B,KAAKqqG,YAA3CjjB,EAAP,EAAOA,OAAQ4iB,EAAf,EAAeA,OAAQqC,EAAvB,EAAuBA,SAAUoP,EAAjC,EAAiCA,SACjC,EAAwCz7G,KAAKyxG,kBAAkB5kF,EAAO+J,GAA/D26E,EAAP,EAAOA,cAAeD,EAAtB,EAAsBA,eAChB/G,EAAQnjB,EAAOE,KACfkjB,EAAQR,EAAO1iB,KACrB,EAA4BtnF,KAAKkS,QAA1B2rF,EAAP,EAAOA,SAAUtyB,EAAjB,EAAiBA,QACXqwC,EAAe/3B,GAASga,GAAYA,EAAWl+F,OAAOojF,kBACtD84B,EAAe77G,KAAK4rF,MAAM4lB,qBAAuBrtC,GAAkB,SAATvtC,EAC1D9J,EAAMD,EAAQnqB,EACdo5G,EAAc90B,EAAOnpF,OACvBk+G,EAAalvF,EAAQ,GAAK7sB,KAAKivG,UAAUpiF,EAAQ,GAE5ClvB,EAAI,EAAGA,EAAIm+G,IAAen+G,EAAG,CACpC,IAAMo3F,EAAQ/N,EAAOrpF,GACf8xF,EAAaosB,EAAe9mB,EAAQ,GAE1C,GAAIp3F,EAAIkvB,GAASlvB,GAAKmvB,EACpB2iE,EAAWuM,MAAO,MADpB,CAKA,IAAMH,EAAS77F,KAAKivG,UAAUtxG,GACxBq+G,EAAW17B,GAAcub,EAAO2O,IAChCjN,EAAS9N,EAAW8a,GAASnjB,EAAOM,iBAAiBmU,EAAO0O,GAAQ5sG,GACpE6/F,EAAS/N,EAAW+a,GAASrmC,GAAS63C,EAAWhS,EAAOuL,eAAiBvL,EAAOtiB,iBAAiB2kB,EAAWrsG,KAAKopG,WAAWY,EAAQnO,EAAQwQ,GAAYxQ,EAAO2O,GAAQ7sG,GAE7K8xF,EAAWuM,KAAOp8F,MAAM29F,IAAW39F,MAAM49F,IAAWwe,EACpDvsB,EAAW1qB,KAAOpnE,EAAI,GAAK6e,KAAMgnE,IAAIqY,EAAO0O,GAASwR,EAAWxR,IAAWqR,EACvErwC,IACFkkB,EAAWoM,OAASA,EACpBpM,EAAWkhB,IAAM8K,EAASp2F,KAAK1nB,IAG7B2zG,IACF7hB,EAAWv9E,QAAUq/F,GAAiBvxG,KAAKywG,0BAA0B9yG,EAAGo3F,EAAMrF,OAAS,SAAW94D,IAG/FilF,GACH77G,KAAK6xG,cAAc9c,EAAOp3F,EAAG8xF,EAAY74D,GAG3CmlF,EAAalgB,kCAOjBmU,WACE,IAAMn4F,EAAO7X,KAAKqqG,YACZ5jE,EAAU5uB,EAAK4uB,QACfsqD,EAAStqD,EAAQv0B,SAAWu0B,EAAQv0B,QAAQ0iF,aAAe,EAC3DvvE,EAAOxN,EAAKwN,MAAQ,GAC1B,IAAKA,EAAKxnB,OACR,OAAOkzF,EAET,IAAMoL,EAAa92E,EAAK,GAAG6iB,KAAKloC,KAAKywG,0BAA0B,IACzDwL,EAAY52F,EAAKA,EAAKxnB,OAAS,GAAGqqC,KAAKloC,KAAKywG,0BAA0BprF,EAAKxnB,OAAS,IAC1F,OAAO2e,KAAKqmC,IAAIkuC,EAAQoL,EAAY8f,GAAa,sBAGnDtW,WACE,IAAM9tF,EAAO7X,KAAKqqG,YAClBxyF,EAAK4uB,QAAQy1E,oBAAoBl8G,KAAK4rF,MAAM2kB,UAAW14F,EAAKuvE,OAAOE,MACnE,iDAvIiBk0B,CAAuBpQ,OAAvBoQ,GAAAA,KAEP,WAFOA,GAAAA,WAOD,CAChBvP,mBAAoB,OACpBC,gBAAiB,QAEjB3d,UAAU,EACVsP,UAAU,OAZO2d,GAAAA,YAkBA,CACjBltB,OAAQ,CACN0pB,QAAS,CACPp2G,KAAM,YAERq2G,QAAS,CACPr2G,KAAM,iBC1BOu6G,GAAAA,SAAAA,uBAoFnB3rG,SAAAA,EAAYo7E,EAAOpK,GAAc,wBAC/B,cAAMoK,EAAOpK,IAER42B,iBAAcl3G,EACnB,EAAKm3G,iBAAcn3G,EAJY,6CAOjC+uG,SAAiB1qG,GACf,IAAMsS,EAAO7X,KAAKqqG,YACZze,EAAQ5rF,KAAK4rF,MACbgjB,EAAShjB,EAAMvmE,KAAKupF,QAAU,GAC9B/uG,EAAQmrF,GAAanzE,EAAKwvE,QAAQ9hF,GAAO00B,EAAG2xD,EAAM15E,QAAQ4U,QAEhE,MAAO,CACLopF,MAAOtB,EAAOrpG,IAAU,GACxB1F,MAAAA,kCAIJ6uG,SAAgB72F,EAAMwN,EAAMwH,EAAOnqB,GACjC,OAAOi5F,GAA4Bx4F,KAAKnD,KAAjC27F,CAAuC9jF,EAAMwN,EAAMwH,EAAOnqB,yBAGnE+kG,SAAO7wE,GACL,IAAM+hF,EAAO34G,KAAKqqG,YAAYhlF,KAE9BrlB,KAAKo8G,gBACLp8G,KAAK0yG,eAAeiG,EAAM,EAAGA,EAAK96G,OAAQ+4B,4BAM5C04E,WAAY,WACJz3F,EAAO7X,KAAKqqG,YACZ1gF,EAAQ,CAACsD,IAAKttB,OAAOojF,kBAAmBlgC,IAAKljD,OAAOgwG,mBAgB1D,OAdA93F,EAAKwN,KAAK5Y,SAAQ,SAAC7C,EAASrE,GAC1B,IAAMs2F,EAAS,EAAKoT,UAAU1pG,GAAO00B,GAEhCr6B,MAAMi8F,IAAW,EAAKjQ,MAAMorB,kBAAkBzxG,KAC7Cs2F,EAASlyE,EAAMsD,MACjBtD,EAAMsD,IAAM4uE,GAGVA,EAASlyE,EAAMk5B,MACjBl5B,EAAMk5B,IAAMg5C,OAKXlyE,+BAMTyyF,WACE,IAAMxwB,EAAQ5rF,KAAK4rF,MACb2kB,EAAY3kB,EAAM2kB,UAClBva,EAAOpK,EAAM15E,QACbmqG,EAAU7/F,KAAKyQ,IAAIsjF,EAAUrgB,MAAQqgB,EAAUxiF,KAAMwiF,EAAUpgB,OAASogB,EAAUtiF,KAElFoqF,EAAc77F,KAAKqmC,IAAIw5D,EAAU,EAAG,GAEpCnC,GAAgB7B,EADF77F,KAAKqmC,IAAImzC,EAAKsmB,iBAAmBjE,EAAe,IAAQriB,EAAKsmB,iBAAoB,EAAG,IACrD1wB,EAAM2wB,yBAEzDv8G,KAAKq4G,YAAcA,EAAe6B,EAAel6G,KAAKuF,MACtDvF,KAAKo4G,YAAcp4G,KAAKq4G,YAAc6B,gCAGxCxH,SAAeiG,EAAM9rF,EAAOnqB,EAAOk0B,GACjC,IASIj5B,EATEwmE,EAAiB,UAATvtC,EACRg1D,EAAQ5rF,KAAK4rF,MAEb8uB,EADO9uB,EAAM15E,QACQid,UACrBk/D,EAAQruF,KAAKqqG,YAAYiD,OACzBqN,EAAUtsB,EAAMmuB,QAChB5B,EAAUvsB,EAAMouB,QAChBC,EAAoBruB,EAAMsuB,cAAc,GAAK,GAAMh6B,GACrDiC,EAAQ83B,EAGNE,EAAe,IAAM58G,KAAK68G,uBAEhC,IAAKl/G,EAAI,EAAGA,EAAIkvB,IAASlvB,EACvBinF,GAAS5kF,KAAK88G,cAAcn/G,EAAGi5B,EAAMgmF,GAEvC,IAAKj/G,EAAIkvB,EAAOlvB,EAAIkvB,EAAQnqB,EAAO/E,IAAK,CACtC,IAAM22F,EAAMqkB,EAAKh7G,GACb07G,EAAaz0B,EACb00B,EAAW10B,EAAQ5kF,KAAK88G,cAAcn/G,EAAGi5B,EAAMgmF,GAC/CvE,EAAczsB,EAAMorB,kBAAkBr5G,GAAK0wF,EAAM0uB,8BAA8B/8G,KAAKivG,UAAUtxG,GAAGs8B,GAAK,EAC1G2qD,EAAQ00B,EAEJn1C,IACEu2C,EAAcG,eAChBxC,EAAc,GAEZqC,EAAcF,gBAChBnB,EAAaC,EAAWoD,IAI5B,IAAMjtB,EAAa,CACjB3+D,EAAG6pF,EACHzgF,EAAG0gF,EACHxC,YAAa,EACbC,YAAAA,EACAgB,WAAAA,EACAC,SAAAA,EACApnG,QAASlS,KAAKywG,0BAA0B9yG,EAAG22F,EAAI5E,OAAS,SAAW94D,IAGrE52B,KAAK6xG,cAAcvd,EAAK32F,EAAG8xF,EAAY74D,wCAI3CimF,WAAuB,WACfhlG,EAAO7X,KAAKqqG,YACd3nG,EAAQ,EAQZ,OANAmV,EAAKwN,KAAK5Y,SAAQ,SAAC7C,EAASrE,IACrB3F,MAAM,EAAKqvG,UAAU1pG,GAAO00B,IAAM,EAAK2xD,MAAMorB,kBAAkBzxG,IAClE7C,OAIGA,+BAMTo6G,SAAcv3G,EAAOqxB,EAAMgmF,GACzB,OAAO58G,KAAK4rF,MAAMorB,kBAAkBzxG,GAChCw+E,GAAU/jF,KAAKywG,0BAA0BlrG,EAAOqxB,GAAMguD,OAASg4B,GAC/D,QA7NaT,CAA4B/Q,OAA5B+Q,GAAAA,KAEP,gBAFOA,GAAAA,WAOD,CAChBjQ,gBAAiB,MACjB/8E,UAAW,CACTqrF,eAAe,EACfK,cAAc,GAEhBhrB,WAAY,CACVhF,QAAS,CACPjpF,KAAM,SACN6tF,WAAY,CAAC,IAAK,IAAK,aAAc,WAAY,cAAe,iBAGpE5B,UAAW,IACXwrB,WAAY,OApBK8C,GAAAA,YA0BA,CACjBpoG,YAAa,EAEb2jC,QAAS,CACPyjE,OAAQ,CACNvM,OAAQ,CACNwM,eADM,SACSxvB,GACb,IAAMvmE,EAAOumE,EAAMvmE,KACnB,GAAIA,EAAKupF,OAAO/wG,QAAUwnB,EAAK4nE,SAASpvF,OAAQ,CAC9C,MAAsC+tF,EAAMuvB,OAAOjpG,QAA5C08F,OAAS9a,EAAhB,EAAgBA,WAAYzqE,EAA5B,EAA4BA,MAE5B,OAAOhE,EAAKupF,OAAOz1D,KAAI,SAAC+2D,EAAOvyG,GAC7B,IACMiZ,EADOg1E,EAAM2hB,eAAe,GACfnD,WAAW7I,SAAS5jG,GAEvC,MAAO,CACLmsB,KAAMomF,EACNvZ,UAAW//E,EAAMm2E,gBACjBuJ,YAAa1/E,EAAMo2E,YACnBquB,UAAWhyF,EACXmnE,UAAW55E,EAAMg+E,YACjBd,WAAYA,EACZ2b,QAAS7jB,EAAMorB,kBAAkBr5G,GAGjC4H,MAAO5H,MAIb,MAAO,KAIXqqC,QA7BM,SA6BE7/B,EAAGmzG,EAAYH,GACrBA,EAAOvvB,MAAM2vB,qBAAqBD,EAAW/1G,OAC7C41G,EAAOvvB,MAAM6b,YAKnBnZ,OAAQ,CACNr0D,EAAG,CACDr4B,KAAM,eACNo7G,WAAY,CACVryE,SAAS,GAEXylD,aAAa,EACbG,KAAM,CACJ0sB,UAAU,GAEZC,YAAa,CACXvyE,SAAS,GAEX0uE,WAAY,UC/EC8D,GAAAA,SAAAA,0FAAAA,CAAsBhF,OAAtBgF,GAAAA,KAEP,UAFOA,GAAAA,WAOD,CAEhBnE,OAAQ,EAGRjlB,SAAU,EAGVykB,cAAe,IAGfxkB,OAAQ,aClBSopB,GAAAA,SAAAA,wHAmCnBnN,SAAiB1qG,GACf,IAAMykG,EAAShqG,KAAKqqG,YAAYL,OAC1BnO,EAAS77F,KAAKivG,UAAU1pG,GAE9B,MAAO,CACL2qG,MAAOlG,EAAO6E,YAAYtpG,GAC1B1F,MAAO,GAAKmqG,EAAOmG,iBAAiBtU,EAAOmO,EAAO1iB,uCAItDonB,SAAgB72F,EAAMwN,EAAMwH,EAAOnqB,GACjC,OAAOi5F,GAA4Bx4F,KAAKnD,KAAjC27F,CAAuC9jF,EAAMwN,EAAMwH,EAAOnqB,yBAGnE+kG,SAAO7wE,GACL,IAAM/e,EAAO7X,KAAKqqG,YACZtU,EAAOl+E,EAAK4uB,QACZugD,EAASnvE,EAAKwN,MAAQ,GACtBupF,EAAS/2F,EAAKuvE,OAAOynB,YAK3B,GAFA9Y,EAAK/O,OAASA,EAED,WAATpwD,EAAmB,CACrB,IAAM1kB,EAAUlS,KAAKwwG,6BAA6B55E,GAC7C52B,KAAKkS,QAAQq8E,WAChBr8E,EAAQ0iF,YAAc,GAGxB,IAAMnF,EAAa,CACjB0X,OAAO,EACPkW,UAAWzO,EAAO/wG,SAAWmpF,EAAOnpF,OACpCqU,QAAAA,GAGFlS,KAAK6xG,cAAc9b,OAAM70F,EAAWuuF,EAAY74D,GAIlD52B,KAAK0yG,eAAe1rB,EAAQ,EAAGA,EAAOnpF,OAAQ+4B,iCAGhD87E,SAAe1rB,EAAQn6D,EAAOnqB,EAAOk0B,GAInC,IAHA,IAAMy3D,EAAQruF,KAAKqqG,YAAYiD,OACzBnpC,EAAiB,UAATvtC,EAELj5B,EAAIkvB,EAAOlvB,EAAIkvB,EAAQnqB,EAAO/E,IAAK,CAC1C,IAAMo3F,EAAQ/N,EAAOrpF,GACfuU,EAAUlS,KAAKywG,0BAA0B9yG,EAAGo3F,EAAMrF,OAAS,SAAW94D,GACtE0mF,EAAgBjvB,EAAMkvB,yBAAyB5/G,EAAGqC,KAAKivG,UAAUtxG,GAAGs8B,GAEpEnJ,EAAIqzC,EAAQkqB,EAAMmuB,QAAUc,EAAcxsF,EAC1CoJ,EAAIiqC,EAAQkqB,EAAMouB,QAAUa,EAAcpjF,EAE1Cu1D,EAAa,CACjB3+D,EAAAA,EACAoJ,EAAAA,EACA0qD,MAAO04B,EAAc14B,MACrBoX,KAAMp8F,MAAMkxB,IAAMlxB,MAAMs6B,GACxBhoB,QAAAA,GAGFlS,KAAK6xG,cAAc9c,EAAOp3F,EAAG8xF,EAAY74D,UAjG1BwmF,CAAwBhS,OAAxBgS,GAAAA,KAEP,YAFOA,GAAAA,WAOD,CAChBnR,mBAAoB,OACpBC,gBAAiB,QACjBre,UAAW,IACXU,UAAU,EACVlB,SAAU,CACR0I,KAAM,CACJjkC,KAAM,eAdOsrD,GAAAA,YAsBA,CACjBrpG,YAAa,EAEbu6E,OAAQ,CACNr0D,EAAG,CACDr4B,KAAM,uBCzBO47G,GAAAA,SAAAA,wHAoCnBvN,SAAiB1qG,GACf,IAAMsS,EAAO7X,KAAKqqG,YACZuE,EAAS5uG,KAAK4rF,MAAMvmE,KAAKupF,QAAU,GAClChnB,EAAkB/vE,EAAlB+vE,OAAQC,EAAUhwE,EAAVgwE,OACTgU,EAAS77F,KAAKivG,UAAU1pG,GACxBurB,EAAI82D,EAAOuoB,iBAAiBtU,EAAO/qE,GACnCoJ,EAAI2tD,EAAOsoB,iBAAiBtU,EAAO3hE,GAEzC,MAAO,CACLg2E,MAAOtB,EAAOrpG,IAAU,GACxB1F,MAAO,IAAMixB,EAAI,KAAOoJ,EAAI,2BAIhCutE,SAAO7wE,GACL,IAAM/e,EAAO7X,KAAKqqG,YAClB,EAA4BxyF,EAArBwN,KAAM2hE,OAAb,MAAsB,GAAtB,EAEMC,EAAqBjnF,KAAK4rF,MAAM4lB,oBACtC,EAAqBzqB,GAAiClvE,EAAMmvE,EAAQC,GAA/Dp6D,EAAL,EAAKA,MAAOnqB,EAAZ,EAAYA,MAUZ,GARA1C,KAAK2rG,WAAa9+E,EAClB7sB,KAAK4rG,WAAalpG,EAEdilF,GAAoB9vE,KACtBgV,EAAQ,EACRnqB,EAAQskF,EAAOnpF,QAGbmC,KAAKkS,QAAQq8E,SAAU,CAEzB,IAAgBwH,EAAkBl+E,EAA3B4uB,QAAeg1E,EAAY5jG,EAAZ4jG,SAGtB1lB,EAAK6N,OAAS5jG,KAAK4rF,MACnBmK,EAAKgO,cAAgB/jG,KAAKuF,MAC1BwwF,EAAK2lB,aAAeD,EAASC,WAC7B3lB,EAAK/O,OAASA,EAEd,IAAM90E,EAAUlS,KAAKwwG,6BAA6B55E,GAClD1kB,EAAQq5D,QAAUvrE,KAAKkS,QAAQq5D,QAC/BvrE,KAAK6xG,cAAc9b,OAAM70F,EAAW,CAClCy6G,UAAW10B,EACX/0E,QAAAA,GACC0kB,GAIL52B,KAAK0yG,eAAe1rB,EAAQn6D,EAAOnqB,EAAOk0B,8BAG5C01E,WACE,IAAO/d,EAAYvuF,KAAKkS,QAAjBq8E,UAEFvuF,KAAKisG,oBAAsB1d,IAC9BvuF,KAAKisG,mBAAqBjsG,KAAK4rF,MAAM6xB,SAASC,WAAW,SAG3D,gFAGFhL,SAAe1rB,EAAQn6D,EAAOnqB,EAAOk0B,GAanC,IAZA,IAAMutC,EAAiB,UAATvtC,EACd,EAA6C52B,KAAKqqG,YAA3CjjB,EAAP,EAAOA,OAAQ4iB,EAAf,EAAeA,OAAQqC,EAAvB,EAAuBA,SAAUoP,EAAjC,EAAiCA,SAC3B/J,EAAY1xG,KAAKywG,0BAA0B5jF,EAAO+J,GAClD26E,EAAgBvxG,KAAKqxG,iBAAiBK,GACtCJ,EAAiBtxG,KAAKsxG,eAAe16E,EAAM26E,GAC3ChH,EAAQnjB,EAAOE,KACfkjB,EAAQR,EAAO1iB,KACrB,EAA4BtnF,KAAKkS,QAA1B2rF,EAAP,EAAOA,SAAUtyB,EAAjB,EAAiBA,QACXqwC,EAAe/3B,GAASga,GAAYA,EAAWl+F,OAAOojF,kBACtD84B,EAAe77G,KAAK4rF,MAAM4lB,qBAAuBrtC,GAAkB,SAATvtC,EAC5DmlF,EAAalvF,EAAQ,GAAK7sB,KAAKivG,UAAUpiF,EAAQ,GAE5ClvB,EAAIkvB,EAAOlvB,EAAIkvB,EAAQnqB,IAAS/E,EAAG,CAC1C,IAAMo3F,EAAQ/N,EAAOrpF,GACfk+F,EAAS77F,KAAKivG,UAAUtxG,GACxB8xF,EAAaosB,EAAe9mB,EAAQ,GACpCinB,EAAW17B,GAAcub,EAAO2O,IAChCjN,EAAS9N,EAAW8a,GAASnjB,EAAOM,iBAAiBmU,EAAO0O,GAAQ5sG,GACpE6/F,EAAS/N,EAAW+a,GAASrmC,GAAS63C,EAAWhS,EAAOuL,eAAiBvL,EAAOtiB,iBAAiB2kB,EAAWrsG,KAAKopG,WAAWY,EAAQnO,EAAQwQ,GAAYxQ,EAAO2O,GAAQ7sG,GAE7K8xF,EAAWuM,KAAOp8F,MAAM29F,IAAW39F,MAAM49F,IAAWwe,EACpDvsB,EAAW1qB,KAAOpnE,EAAI,GAAK6e,KAAMgnE,IAAIqY,EAAO0O,GAASwR,EAAWxR,IAAWqR,EACvErwC,IACFkkB,EAAWoM,OAASA,EACpBpM,EAAWkhB,IAAM8K,EAASp2F,KAAK1nB,IAG7B2zG,IACF7hB,EAAWv9E,QAAUq/F,GAAiBvxG,KAAKywG,0BAA0B9yG,EAAGo3F,EAAMrF,OAAS,SAAW94D,IAG/FilF,GACH77G,KAAK6xG,cAAc9c,EAAOp3F,EAAG8xF,EAAY74D,GAG3CmlF,EAAalgB,EAGf77F,KAAK4xG,oBAAoBL,EAAe36E,EAAM86E,iCAMhD1B,WACE,IAAMn4F,EAAO7X,KAAKqqG,YACZhlF,EAAOxN,EAAKwN,MAAQ,GAE1B,IAAKrlB,KAAKkS,QAAQq8E,SAAU,CAE1B,IADA,IAAI1rC,EAAM,EACDllD,EAAI0nB,EAAKxnB,OAAS,EAAGF,GAAK,IAAKA,EACtCklD,EAAMrmC,KAAKqmC,IAAIA,EAAKx9B,EAAK1nB,GAAGuqC,KAAKloC,KAAKywG,0BAA0B9yG,IAAM,GAExE,OAAOklD,EAAM,GAAKA,EAGpB,IAAMpc,EAAU5uB,EAAK4uB,QACfsqD,EAAStqD,EAAQv0B,SAAWu0B,EAAQv0B,QAAQ0iF,aAAe,EAEjE,IAAKvvE,EAAKxnB,OACR,OAAOkzF,EAGT,IAAMoL,EAAa92E,EAAK,GAAG6iB,KAAKloC,KAAKywG,0BAA0B,IACzDwL,EAAY52F,EAAKA,EAAKxnB,OAAS,GAAGqqC,KAAKloC,KAAKywG,0BAA0BprF,EAAKxnB,OAAS,IAC1F,OAAO2e,KAAKqmC,IAAIkuC,EAAQoL,EAAY8f,GAAa,QAnKhCuB,CAA0BpS,OAA1BoS,GAAAA,KAEP,cAFOA,GAAAA,WAOD,CAChBvR,oBAAoB,EACpBC,gBAAiB,QACjB3d,UAAU,EACVz8B,MAAM,OAXW0rD,GAAAA,YAiBA,CAEjB1vB,YAAa,CACXl3D,KAAM,SAGR03D,OAAQ,CACNx9D,EAAG,CACDlvB,KAAM,UAERs4B,EAAG,CACDt4B,KAAM,aC+Bd,SAAS+7G,KACP,MAAM,IAAIn7G,MAAM,uFASZo7G,GAAAA,WAoBJptG,SAAAA,EAAY0B,GAAoB,UAC9BlS,KAAKkS,QAAUA,GAAW,kCAI5BnS,mCAEA89G,WACE,OAAOF,0BAGTnvC,WACE,OAAOmvC,2BAGTryB,WACE,OAAOqyB,wBAGTxyG,WACE,OAAOwyG,yBAGTG,WACE,OAAOH,4BAGTI,WACE,OAAOJ,0BAGTK,WACE,OAAOL,+BAxCT,SACEM,GAEA3/G,OAAOwQ,OAAO8uG,EAAgBr/G,UAAW0/G,SAfvCL,GAwDN,GAAe,CACbM,MAAON,IC9GT,SAASO,GAAaC,EAAS92B,EAAMznF,EAAOkuF,GAC1C,IAAOqc,EAA6BgU,EAA7BhU,WAAY/kF,EAAiB+4F,EAAjB/4F,KAAM8hE,EAAWi3B,EAAXj3B,QACnBC,EAASgjB,EAAWC,YAAYjjB,OACtC,GAAIA,GAAUE,IAASF,EAAOE,MAAiB,MAATA,GAAgBH,GAAW9hE,EAAKxnB,OAAQ,CAC5E,IAAMwgH,EAAej3B,EAAOk3B,eAAiBr4B,GAAgBD,GAC7D,IAAK+H,EACH,OAAOswB,EAAah5F,EAAMiiE,EAAMznF,GAC3B,GAAIuqG,EAAWsB,eAAgB,CAIpC,IAAMn8D,EAAKlqB,EAAK,GACVsE,EAA+B,oBAAhB4lB,EAAGgvE,UAA2BhvE,EAAGgvE,SAASj3B,GAC/D,GAAI39D,EAAO,CACT,IAAMkD,EAAQwxF,EAAah5F,EAAMiiE,EAAMznF,EAAQ8pB,GACzCmD,EAAMuxF,EAAah5F,EAAMiiE,EAAMznF,EAAQ8pB,GAC7C,MAAO,CAACo8D,GAAIl5D,EAAMk5D,GAAIhmD,GAAIjT,EAAIiT,MAKpC,MAAO,CAACgmD,GAAI,EAAGhmD,GAAI1a,EAAKxnB,OAAS,GAWnC,SAAS2gH,GAAyB5yB,EAAOtE,EAAMliF,EAAUvE,EAASktF,GAGhE,IAFA,IAAMmb,EAAWtd,EAAM6yB,+BACjB5+G,EAAQuF,EAASkiF,GACd3pF,EAAI,EAAG0jF,EAAO6nB,EAASrrG,OAAQF,EAAI0jF,IAAQ1jF,EAGlD,IAFA,MAAsBurG,EAASvrG,GAAxB4H,EAAP,EAAOA,MAAO8f,EAAd,EAAcA,KACd,EAAiB84F,GAAajV,EAASvrG,GAAI2pF,EAAMznF,EAAOkuF,GAAjDhI,EAAP,EAAOA,GAAIhmD,EAAX,EAAWA,GACF4nC,EAAIoe,EAAIpe,GAAK5nC,IAAM4nC,EAAG,CAC7B,IAAM/9D,EAAUyb,EAAKsiD,GAChB/9D,EAAQoyF,MACXn7F,EAAQ+I,EAASrE,EAAOoiE,IA+BhC,SAAS+2C,GAAkB9yB,EAAOxmF,EAAUkiF,EAAMq3B,EAAkB3wB,GAClE,IAAMzH,EAAQ,GAEd,IAAKyH,IAAqBpC,EAAMgzB,cAAcx5G,GAC5C,OAAOmhF,EAaT,OADAi4B,GAAyB5yB,EAAOtE,EAAMliF,GATf,SAASwE,EAAS43E,EAAcj8E,IAChDyoF,GAAqB8G,GAAelrF,EAASgiF,EAAM2kB,UAAW,KAG/D3mG,EAAQi1G,QAAQz5G,EAAS0rB,EAAG1rB,EAAS80B,EAAGykF,IAC1Cp4B,EAAMvoF,KAAK,CAAC4L,QAAAA,EAAS43E,aAAAA,EAAcj8E,MAAAA,OAIyB,GACzDghF,EAqCT,SAASu4B,GAAyBlzB,EAAOxmF,EAAUkiF,EAAMyG,EAAW4wB,EAAkB3wB,GACpF,IAAIzH,EAAQ,GACNw4B,EA5ER,SAAkCz3B,GAChC,IAAM03B,GAA8B,IAAvB13B,EAAKzwE,QAAQ,KACpBooG,GAA8B,IAAvB33B,EAAKzwE,QAAQ,KAE1B,OAAO,SAASmuE,EAAKC,GACnB,IAAMh9D,EAAS+2F,EAAOxiG,KAAKgnE,IAAIwB,EAAIl0D,EAAIm0D,EAAIn0D,GAAK,EAC1C3I,EAAS82F,EAAOziG,KAAKgnE,IAAIwB,EAAI9qD,EAAI+qD,EAAI/qD,GAAK,EAChD,OAAO1d,KAAKmoE,KAAKnoE,KAAKqiE,IAAI52D,EAAQ,GAAKzL,KAAKqiE,IAAI12D,EAAQ,KAqEnC+2F,CAAyB53B,GAC5C63B,EAAcx/G,OAAOojF,kBAyBzB,OADAy7B,GAAyB5yB,EAAOtE,EAAMliF,GAtBtC,SAAwBwE,EAAS43E,EAAcj8E,GAC7C,IAAMs5G,EAAUj1G,EAAQi1G,QAAQz5G,EAAS0rB,EAAG1rB,EAAS80B,EAAGykF,GACxD,IAAI5wB,GAAc8wB,EAAlB,CAIA,IAAM9I,EAASnsG,EAAQw1G,eAAeT,GAEtC,KADsB3wB,GAAoBpC,EAAMgzB,cAAc7I,IACzC8I,EAArB,CAIA,IAAM/5B,EAAWi6B,EAAe35G,EAAU2wG,GACtCjxB,EAAWq6B,GACb54B,EAAQ,CAAC,CAAC38E,QAAAA,EAAS43E,aAAAA,EAAcj8E,MAAAA,IACjC45G,EAAcr6B,GACLA,IAAaq6B,GAEtB54B,EAAMvoF,KAAK,CAAC4L,QAAAA,EAAS43E,aAAAA,EAAcj8E,MAAAA,SAKhCghF,EAaT,SAAS84B,GAAgBzzB,EAAOxmF,EAAUkiF,EAAMyG,EAAW4wB,EAAkB3wB,GAC3E,OAAKA,GAAqBpC,EAAMgzB,cAAcx5G,GAI9B,MAATkiF,GAAiByG,EAEpB+wB,GAAyBlzB,EAAOxmF,EAAUkiF,EAAMyG,EAAW4wB,EAAkB3wB,GA1EnF,SAA+BpC,EAAOxmF,EAAUkiF,EAAMq3B,GACpD,IAAIp4B,EAAQ,GAYZ,OADAi4B,GAAyB5yB,EAAOtE,EAAMliF,GATtC,SAAwBwE,EAAS43E,EAAcj8E,GAC7C,MAA+BqE,EAAQ01G,SAAS,CAAC,aAAc,YAAaX,GAArEtF,EAAP,EAAOA,WAAYC,EAAnB,EAAmBA,SAGfl0B,GAFYf,GAAkBz6E,EAAS,CAACknB,EAAG1rB,EAAS0rB,EAAGoJ,EAAG90B,EAAS80B,IAAhE0qD,MAEkBy0B,EAAYC,IACnC/yB,EAAMvoF,KAAK,CAAC4L,QAAAA,EAAS43E,aAAAA,EAAcj8E,MAAAA,OAKhCghF,EA4DHg5B,CAAsB3zB,EAAOxmF,EAAUkiF,EAAMq3B,GAJxC,GAiBX,SAASa,GAAa5zB,EAAOxmF,EAAUkiF,EAAMyG,EAAW4wB,GACtD,IAAMp4B,EAAQ,GACRk5B,EAAuB,MAATn4B,EAAe,WAAa,WAC5Co4B,GAAiB,EAWrB,OATAlB,GAAyB5yB,EAAOtE,EAAMliF,GAAU,SAACwE,EAAS43E,EAAcj8E,GAClEqE,EAAQ61G,GAAar6G,EAASkiF,GAAOq3B,KACvCp4B,EAAMvoF,KAAK,CAAC4L,QAAAA,EAAS43E,aAAAA,EAAcj8E,MAAAA,IACnCm6G,EAAiBA,GAAkB91G,EAAQi1G,QAAQz5G,EAAS0rB,EAAG1rB,EAAS80B,EAAGykF,OAM3E5wB,IAAc2xB,EACT,GAEFn5B,EAOT,OAAe,CAEbi4B,yBAAAA,GAGAmB,MAAO,CAYLp6G,MAZK,SAYCqmF,EAAOzjF,EAAG+J,EAASysG,GACvB,IAAMv5G,EAAWg6F,GAAoBj3F,EAAGyjF,GAElCtE,EAAOp1E,EAAQo1E,MAAQ,IACvB0G,EAAmB97E,EAAQ87E,mBAAoB,EAC/CzH,EAAQr0E,EAAQ67E,UAClB2wB,GAAkB9yB,EAAOxmF,EAAUkiF,EAAMq3B,EAAkB3wB,GAC3DqxB,GAAgBzzB,EAAOxmF,EAAUkiF,GAAM,EAAOq3B,EAAkB3wB,GAC9DX,EAAW,GAEjB,OAAK9G,EAAM1oF,QAIX+tF,EAAM6yB,+BAA+BhyG,SAAQ,SAACoL,GAC5C,IAAMtS,EAAQghF,EAAM,GAAGhhF,MACjBqE,EAAUiO,EAAKwN,KAAK9f,GAGtBqE,IAAYA,EAAQoyF,MACtB3O,EAASrvF,KAAK,CAAC4L,QAAAA,EAAS43E,aAAc3pE,EAAKtS,MAAOA,MAAAA,OAI/C8nF,GAbE,IA0BX5mD,QAjDK,SAiDGmlD,EAAOzjF,EAAG+J,EAASysG,GACzB,IAAMv5G,EAAWg6F,GAAoBj3F,EAAGyjF,GAClCtE,EAAOp1E,EAAQo1E,MAAQ,KACvB0G,EAAmB97E,EAAQ87E,mBAAoB,EACjDzH,EAAQr0E,EAAQ67E,UAChB2wB,GAAkB9yB,EAAOxmF,EAAUkiF,EAAMq3B,EAAkB3wB,GAC7DqxB,GAAgBzzB,EAAOxmF,EAAUkiF,GAAM,EAAOq3B,EAAkB3wB,GAElE,GAAIzH,EAAM1oF,OAAS,EAAG,CACpB,IAAM2jF,EAAe+E,EAAM,GAAG/E,aACxBn8D,EAAOumE,EAAM2hB,eAAe/rB,GAAcn8D,KAChDkhE,EAAQ,GACR,IAAK,IAAI5oF,EAAI,EAAGA,EAAI0nB,EAAKxnB,SAAUF,EACjC4oF,EAAMvoF,KAAK,CAAC4L,QAASyb,EAAK1nB,GAAI6jF,aAAAA,EAAcj8E,MAAO5H,IAIvD,OAAO4oF,GAaTwO,MA/EK,SA+ECnJ,EAAOzjF,EAAG+J,EAASysG,GAIvB,OAAOD,GAAkB9yB,EAHRwT,GAAoBj3F,EAAGyjF,GAC3B15E,EAAQo1E,MAAQ,KAEmBq3B,EADvBzsG,EAAQ87E,mBAAoB,IAavD4xB,QA/FK,SA+FGh0B,EAAOzjF,EAAG+J,EAASysG,GACzB,IAAMv5G,EAAWg6F,GAAoBj3F,EAAGyjF,GAClCtE,EAAOp1E,EAAQo1E,MAAQ,KACvB0G,EAAmB97E,EAAQ87E,mBAAoB,EACrD,OAAOqxB,GAAgBzzB,EAAOxmF,EAAUkiF,EAAMp1E,EAAQ67E,UAAW4wB,EAAkB3wB,IAYrFl9D,EA/GK,SA+GH86D,EAAOzjF,EAAG+J,EAASysG,GAEnB,OAAOa,GAAa5zB,EADHwT,GAAoBj3F,EAAGyjF,GACH,IAAK15E,EAAQ67E,UAAW4wB,IAY/DzkF,EA7HK,SA6HH0xD,EAAOzjF,EAAG+J,EAASysG,GAEnB,OAAOa,GAAa5zB,EADHwT,GAAoBj3F,EAAGyjF,GACH,IAAK15E,EAAQ67E,UAAW4wB,MCpW7DkB,GAAmB,CAAC,OAAQ,MAAO,QAAS,UAElD,SAASC,GAAiB52G,EAAO9D,GAC/B,OAAO8D,EAAM2zC,QAAOjxC,SAAAA,GAAAA,OAAKA,EAAEuzF,MAAQ/5F,KAGrC,SAAS26G,GAA4B72G,EAAOo+E,GAC1C,OAAOp+E,EAAM2zC,QAAOjxC,SAAAA,GAAAA,OAA0C,IAArCi0G,GAAiBhpG,QAAQjL,EAAEuzF,MAAevzF,EAAE8zF,IAAIpY,OAASA,KAGpF,SAAS04B,GAAa92G,EAAOuyC,GAC3B,OAAOvyC,EAAM2/C,MAAK,SAACn+C,EAAGC,GACpB,IAAM22E,EAAK7lC,EAAU9wC,EAAID,EACnB62E,EAAK9lC,EAAU/wC,EAAIC,EACzB,OAAO22E,EAAG3B,SAAW4B,EAAG5B,OACtB2B,EAAG/7E,MAAQg8E,EAAGh8E,MACd+7E,EAAG3B,OAAS4B,EAAG5B,UAyCrB,SAASsgC,GAAcC,EAASr0C,GAC9B,IAEIluE,EAAG0jF,EAAM8+B,EAFPxW,EAlBR,SAAqBuW,GACnB,IAD4B,EACtBvW,EAAS,GADa,KAETuW,GAFS,IAE5B,IAAK,EAAL,qBAA4B,KAAjBl/C,EAAiB,QACnBhyD,EAA2BgyD,EAA3BhyD,MAAOmwF,EAAoBn+B,EAApBm+B,IAAKihB,EAAep/C,EAAfo/C,YACnB,GAAKpxG,GAAU6wG,GAAiBnwG,SAASyvF,GAAzC,CAGA,IAAMjF,EAASyP,EAAO36F,KAAW26F,EAAO36F,GAAS,CAACtM,MAAO,EAAG29G,OAAQ,EAAG1gC,OAAQ,EAAGz3C,KAAM,IACxFgyD,EAAOx3F,QACPw3F,EAAOva,QAAUygC,IATS,8BAW5B,OAAOzW,EAOQ2W,CAAYJ,GACpBK,EAA+B10C,EAA/B00C,aAAcC,EAAiB30C,EAAjB20C,cAErB,IAAK7iH,EAAI,EAAG0jF,EAAO6+B,EAAQriH,OAAQF,EAAI0jF,IAAQ1jF,EAAG,CAEhD,IAAO8iH,GADPN,EAASD,EAAQviH,IACS+hG,IAAnB+gB,SACDzxG,EAAQ26F,EAAOwW,EAAOnxG,OACtBw3F,EAASx3F,GAASmxG,EAAOC,YAAcpxG,EAAM2wE,OAC/CwgC,EAAOzL,YACTyL,EAAOj5F,MAAQs/E,EAASA,EAAS+Z,EAAeE,GAAY50C,EAAO60C,eACnEP,EAAOh5F,OAASq5F,IAEhBL,EAAOj5F,MAAQq5F,EACfJ,EAAOh5F,OAASq/E,EAASA,EAASga,EAAgBC,GAAY50C,EAAO80C,iBAGzE,OAAOhX,EAuBT,SAASiX,GAAeC,EAAYtQ,EAAW7lG,EAAGC,GAChD,OAAO6R,KAAKqmC,IAAIg+D,EAAWn2G,GAAI6lG,EAAU7lG,IAAM8R,KAAKqmC,IAAIg+D,EAAWl2G,GAAI4lG,EAAU5lG,IAGnF,SAASm2G,GAAiBD,EAAYE,GACpCF,EAAW5yF,IAAMzR,KAAKqmC,IAAIg+D,EAAW5yF,IAAK8yF,EAAW9yF,KACrD4yF,EAAW9yF,KAAOvR,KAAKqmC,IAAIg+D,EAAW9yF,KAAMgzF,EAAWhzF,MACvD8yF,EAAW1wB,OAAS3zE,KAAKqmC,IAAIg+D,EAAW1wB,OAAQ4wB,EAAW5wB,QAC3D0wB,EAAW3wB,MAAQ1zE,KAAKqmC,IAAIg+D,EAAW3wB,MAAO6wB,EAAW7wB,OAG3D,SAAS8wB,GAAWzQ,EAAW1kC,EAAQs0C,EAAQxW,GAC7C,IAAOxK,EAAYghB,EAAZhhB,IAAKO,EAAOygB,EAAPzgB,IACNmhB,EAAatQ,EAAUsQ,WAG7B,IAAKtgC,GAAS4e,GAAM,CACdghB,EAAOj4E,OAETqoE,EAAUpR,IAAQghB,EAAOj4E,MAE3B,IAAMl5B,EAAQ26F,EAAOwW,EAAOnxG,QAAU,CAACk5B,KAAM,EAAGxlC,MAAO,GACvDsM,EAAMk5B,KAAO1rB,KAAKqmC,IAAI7zC,EAAMk5B,KAAMi4E,EAAOzL,WAAahV,EAAIv4E,OAASu4E,EAAIx4E,OACvEi5F,EAAOj4E,KAAOl5B,EAAMk5B,KAAOl5B,EAAMtM,MACjC6tG,EAAUpR,IAAQghB,EAAOj4E,KAGvBw3D,EAAIuhB,YACNH,GAAiBD,EAAYnhB,EAAIuhB,cAGnC,IAAMC,EAAW1kG,KAAKqmC,IAAI,EAAGgpB,EAAOs1C,WAAaP,GAAeC,EAAYtQ,EAAW,OAAQ,UACzF6Q,EAAY5kG,KAAKqmC,IAAI,EAAGgpB,EAAOw1C,YAAcT,GAAeC,EAAYtQ,EAAW,MAAO,WAC1F+Q,EAAeJ,IAAa3Q,EAAUhuG,EACtCg/G,EAAgBH,IAAc7Q,EAAU/gG,EAK9C,OAJA+gG,EAAUhuG,EAAI2+G,EACd3Q,EAAU/gG,EAAI4xG,EAGPjB,EAAOzL,WACV,CAAC8M,KAAMF,EAAcG,MAAOF,GAC5B,CAACC,KAAMD,EAAeE,MAAOH,GAiBnC,SAASI,GAAWhN,EAAYnE,GAC9B,IAAMsQ,EAAatQ,EAAUsQ,WAE7B,SAASc,EAAmB5iB,GAC1B,IAAM/J,EAAS,CAACjnE,KAAM,EAAGE,IAAK,EAAGiiE,MAAO,EAAGC,OAAQ,GAInD,OAHA4O,EAAUtyF,SAAQ,SAAC0yF,GACjBnK,EAAOmK,GAAO3iF,KAAKqmC,IAAI0tD,EAAUpR,GAAM0hB,EAAW1hB,OAE7CnK,EAGT,OACI2sB,EADGjN,EACgB,CAAC,OAAQ,SACT,CAAC,MAAO,WAGjC,SAASkN,GAASC,EAAOtR,EAAW1kC,EAAQ89B,GAC1C,IACIhsG,EAAG0jF,EAAM8+B,EAAQzgB,EAAKoiB,EAAO15B,EAD3B25B,EAAa,GAGnB,IAAKpkH,EAAI,EAAG0jF,EAAOwgC,EAAMhkH,OAAQikH,EAAQ,EAAGnkH,EAAI0jF,IAAQ1jF,EAAG,EAEzD+hG,GADAygB,EAAS0B,EAAMlkH,IACF+hG,KAET+H,OACF0Y,EAAOj5F,OAASqpF,EAAUhuG,EAC1B49G,EAAOh5F,QAAUopF,EAAU/gG,EAC3BkyG,GAAWvB,EAAOzL,WAAYnE,IAEhC,MAAsByQ,GAAWzQ,EAAW1kC,EAAQs0C,EAAQxW,GAArD6X,EAAP,EAAOA,KAAMC,EAAb,EAAaA,MAIbK,GAASN,GAAQO,EAAWlkH,OAG5BuqF,EAAUA,GAAWq5B,EAEhB/hB,EAAI+gB,UACPsB,EAAW/jH,KAAKmiH,GAIpB,OAAO2B,GAASF,GAASG,EAAYxR,EAAW1kC,EAAQ89B,IAAWvhB,EAGrE,SAAS45B,GAAWtiB,EAAK3xE,EAAME,EAAK/G,EAAOC,GACzCu4E,EAAIzxE,IAAMA,EACVyxE,EAAI3xE,KAAOA,EACX2xE,EAAIxP,MAAQniE,EAAO7G,EACnBw4E,EAAIvP,OAASliE,EAAM9G,EACnBu4E,EAAIx4E,MAAQA,EACZw4E,EAAIv4E,OAASA,EAGf,SAAS86F,GAAWJ,EAAOtR,EAAW1kC,EAAQ89B,GAC5C,IADoD,EAC9CuY,EAAcr2C,EAAOokB,QACtBn/D,EAAQy/E,EAARz/E,EAAGoJ,EAAKq2E,EAALr2E,EAF4C,KAI/B2nF,GAJ+B,IAIpD,IAAK,EAAL,qBAA4B,KAAjB1B,EAAiB,QACpBzgB,EAAMygB,EAAOzgB,IACb1wF,EAAQ26F,EAAOwW,EAAOnxG,QAAU,CAACtM,MAAO,EAAG29G,OAAQ,EAAG1gC,OAAQ,GAC9DA,EAASwgC,EAAQC,YAAcpxG,EAAM2wE,QAAW,EACtD,GAAIwgC,EAAOzL,WAAY,CACrB,IAAMxtF,EAAQqpF,EAAUhuG,EAAIo9E,EACtBx4D,EAASnY,EAAMk5B,MAAQw3D,EAAIv4E,OAC7Bq7D,GAAQxzE,EAAM6d,SAChBqN,EAAIlrB,EAAM6d,OAER6yE,EAAI+gB,SACNuB,GAAWtiB,EAAKwiB,EAAYn0F,KAAMmM,EAAG2xC,EAAOs1C,WAAae,EAAYhyB,MAAQgyB,EAAYn0F,KAAM5G,GAE/F66F,GAAWtiB,EAAK6Q,EAAUxiF,KAAO/e,EAAMqxG,OAAQnmF,EAAGhT,EAAOC,GAE3DnY,EAAM6d,MAAQqN,EACdlrB,EAAMqxG,QAAUn5F,EAChBgT,EAAIwlE,EAAIvP,WACH,CACL,IAAMhpE,EAASopF,EAAU/gG,EAAImwE,EACvBz4D,EAAQlY,EAAMk5B,MAAQw3D,EAAIx4E,MAC5Bs7D,GAAQxzE,EAAM6d,SAChBiE,EAAI9hB,EAAM6d,OAER6yE,EAAI+gB,SACNuB,GAAWtiB,EAAK5uE,EAAGoxF,EAAYj0F,IAAK/G,EAAO2kD,EAAOw1C,YAAca,EAAY/xB,OAAS+xB,EAAYj0F,KAEjG+zF,GAAWtiB,EAAK5uE,EAAGy/E,EAAUtiF,IAAMjf,EAAMqxG,OAAQn5F,EAAOC,GAE1DnY,EAAM6d,MAAQiE,EACd9hB,EAAMqxG,QAAUl5F,EAChB2J,EAAI4uE,EAAIxP,QAnCwC,8BAuCpDqgB,EAAUz/E,EAAIA,EACdy/E,EAAUr2E,EAAIA,EAyBhB,OAAe,SAQN0xD,EAAOlJ,GACPkJ,EAAMi2B,QACTj2B,EAAMi2B,MAAQ,IAIhBn/B,EAAK+9B,SAAW/9B,EAAK+9B,WAAY,EACjC/9B,EAAKt9E,SAAWs9E,EAAKt9E,UAAY,MACjCs9E,EAAK/C,OAAS+C,EAAK/C,QAAU,EAE7B+C,EAAKy/B,QAAUz/B,EAAKy/B,SAAW,WAC7B,MAAO,CAAC,CACN51G,EAAG,EACHo5F,KAFM,SAED4K,GACH7tB,EAAKijB,KAAK4K,OAKhB3kB,EAAMi2B,MAAM7jH,KAAK0kF,IA3BrB,GAAe,SAmCHkJ,EAAOw2B,GACf,IAAM78G,EAAQqmF,EAAMi2B,MAAQj2B,EAAMi2B,MAAMhrG,QAAQurG,IAAe,GAChD,IAAX78G,GACFqmF,EAAMi2B,MAAMlxE,OAAOprC,EAAO,IAtChC,GAAe,SAgDHqmF,EAAOlJ,EAAMxwE,GACrBwwE,EAAK+9B,SAAWvuG,EAAQuuG,SACxB/9B,EAAKt9E,SAAW8M,EAAQ9M,SACxBs9E,EAAK/C,OAASztE,EAAQytE,QAnD1B,GAAe,SA8DNiM,EAAO1kE,EAAOC,EAAQk7F,GAC3B,GAAKz2B,EAAL,CAIA,IAAMqE,EAAUsI,GAAU3M,EAAM15E,QAAQiuG,OAAOlwB,SACzCywB,EAAiBlkG,KAAKqmC,IAAI37B,EAAQ+oE,EAAQ/oE,MAAO,GACjDy5F,EAAkBnkG,KAAKqmC,IAAI17B,EAAS8oE,EAAQ9oE,OAAQ,GACpD06F,EA5QV,SAA0BA,GACxB,IAAMS,EA1DR,SAAmBT,GACjB,IACIlkH,EAAG0jF,EAAMqe,EAAKP,EAAKnwF,EAAOoxG,EADxBkC,EAAc,GAGpB,IAAK3kH,EAAI,EAAG0jF,GAAQwgC,GAAS,IAAIhkH,OAAQF,EAAI0jF,IAAQ1jF,EAAG,OACtD+hG,EAAMmiB,EAAMlkH,GACAwhG,EAF0C,EAEpD/5F,SAFoD,QAErC8M,QAAUlD,EAF2B,EAE3BA,MAF2B,QAEpBoxG,YAAAA,OAFoB,MAEN,EAFM,EAGtDkC,EAAYtkH,KAAK,CACfuH,MAAO5H,EACP+hG,IAAAA,EACAP,IAAAA,EACAuV,WAAYhV,EAAI8V,eAChB71B,OAAQ+f,EAAI/f,OACZ3wE,MAAOA,GAAUmwF,EAAMnwF,EACvBoxG,YAAAA,IAGJ,OAAOkC,EAyCaC,CAAUV,GACxBpB,EAAWT,GAAasC,EAAYzlE,QAAOmkB,SAAAA,GAAAA,OAAQA,EAAK0+B,IAAI+gB,aAAW,GACvE1yF,EAAOiyF,GAAaF,GAAiBwC,EAAa,SAAS,GAC3DpyB,EAAQ8vB,GAAaF,GAAiBwC,EAAa,UACnDr0F,EAAM+xF,GAAaF,GAAiBwC,EAAa,QAAQ,GACzDnyB,EAAS6vB,GAAaF,GAAiBwC,EAAa,WACpDE,EAAmBzC,GAA4BuC,EAAa,KAC5DG,EAAiB1C,GAA4BuC,EAAa,KAEhE,MAAO,CACL7B,SAAAA,EACAiC,WAAY30F,EAAKtuB,OAAOwuB,GACxB00F,eAAgBzyB,EAAMzwF,OAAOgjH,GAAgBhjH,OAAO0wF,GAAQ1wF,OAAO+iH,GACnEjS,UAAWuP,GAAiBwC,EAAa,aACzCM,SAAU70F,EAAKtuB,OAAOywF,GAAOzwF,OAAOgjH,GACpC/N,WAAYzmF,EAAIxuB,OAAO0wF,GAAQ1wF,OAAO+iH,IA4PxBK,CAAiBj3B,EAAMi2B,OAC/BiB,EAAgBjB,EAAMe,SACtBG,EAAkBlB,EAAMnN,WAI9B1zB,GAAK4K,EAAMi2B,OAAOniB,SAAAA,GACgB,oBAArBA,EAAIsjB,cACbtjB,EAAIsjB,kBA+BR,IAAMC,EAA0BH,EAAclsE,QAAO,SAACwjE,EAAOp5C,GAAR,OACnDA,EAAK0+B,IAAIxtF,UAAwC,IAA7B8uD,EAAK0+B,IAAIxtF,QAAQy4B,QAAoByvE,EAAQA,EAAQ,IAAG,IAAM,EAE9EvuC,EAASvtE,OAAO4yG,OAAO,CAC3BiQ,WAAYj6F,EACZm6F,YAAal6F,EACb8oE,QAAAA,EACAywB,eAAAA,EACAC,gBAAAA,EACAJ,aAAcG,EAAiB,EAAIuC,EACnCzC,cAAeG,EAAkB,IAE7BE,EAAaviH,OAAOwQ,OAAO,GAAImhF,GACrC6wB,GAAiBD,EAAYtoB,GAAU8pB,IACvC,IAAM9R,EAAYjyG,OAAOwQ,OAAO,CAC9B+xG,WAAAA,EACAt+G,EAAGm+G,EACHlxG,EAAGmxG,EACH7vF,EAAGm/D,EAAQliE,KACXmM,EAAG+1D,EAAQhiE,KACVgiE,GAEG0Z,EAASsW,GAAc6C,EAAcrjH,OAAOsjH,GAAkBl3C,GAGpE+1C,GAASC,EAAMpB,SAAUlQ,EAAW1kC,EAAQ89B,GAG5CiY,GAASkB,EAAevS,EAAW1kC,EAAQ89B,GAGvCiY,GAASmB,EAAiBxS,EAAW1kC,EAAQ89B,IAE/CiY,GAASkB,EAAevS,EAAW1kC,EAAQ89B,GApRjD,SAA0B4G,GACxB,IAAMsQ,EAAatQ,EAAUsQ,WAE7B,SAASqC,EAAU/jB,GACjB,IAAMgkB,EAAS3mG,KAAKqmC,IAAIg+D,EAAW1hB,GAAOoR,EAAUpR,GAAM,GAE1D,OADAoR,EAAUpR,IAAQgkB,EACXA,EAET5S,EAAUr2E,GAAKgpF,EAAU,OACzB3S,EAAUz/E,GAAKoyF,EAAU,QACzBA,EAAU,SACVA,EAAU,UA4QRE,CAAiB7S,GAGjB0R,GAAWJ,EAAMa,WAAYnS,EAAW1kC,EAAQ89B,GAGhD4G,EAAUz/E,GAAKy/E,EAAUhuG,EACzBguG,EAAUr2E,GAAKq2E,EAAU/gG,EAEzByyG,GAAWJ,EAAMc,eAAgBpS,EAAW1kC,EAAQ89B,GAEpD/d,EAAM2kB,UAAY,CAChBxiF,KAAMwiF,EAAUxiF,KAChBE,IAAKsiF,EAAUtiF,IACfiiE,MAAOqgB,EAAUxiF,KAAOwiF,EAAUhuG,EAClC4tF,OAAQogB,EAAUtiF,IAAMsiF,EAAU/gG,EAClC2X,OAAQopF,EAAU/gG,EAClB0X,MAAOqpF,EAAUhuG,GAInBy+E,GAAK6gC,EAAMtR,WAAW,SAAC4P,GACrB,IAAMzgB,EAAMygB,EAAOzgB,IACnBphG,OAAOwQ,OAAO4wF,EAAK9T,EAAM2kB,WACzB7Q,EAAI+H,OAAO8I,EAAUhuG,EAAGguG,EAAU/gG,EAAG,CAACue,KAAM,EAAGE,IAAK,EAAGiiE,MAAO,EAAGC,OAAQ,SC3b1DkzB,GAAAA,2EAOnBC,SAAenwB,EAAQp/E,kCAQvBwvG,SAAe1+G,GACb,OAAO,kCAUTf,SAAiB8nF,EAAOhqF,EAAML,uCAQ9ByC,SAAoB4nF,EAAOhqF,EAAML,uCAKjC6rF,WACE,OAAO,gCAUT4S,SAAep2F,EAASsd,EAAOC,EAAQpT,GAGrC,OAFAmT,EAAQ1K,KAAKqmC,IAAI,EAAG37B,GAAStd,EAAQsd,OACrCC,EAASA,GAAUvd,EAAQud,OACpB,CACLD,MAAAA,EACAC,OAAQ3K,KAAKqmC,IAAI,EAAG9uC,EAAcyI,KAAKmsC,MAAMzhC,EAAQnT,GAAeoT,8BAQxEq8F,SAAWrwB,GACT,OAAO,8BAOTswB,SAAa1b,UAvEMsb,GCIAK,GAAAA,SAAAA,sHACnBJ,SAAe5gC,GAIb,OAAOA,GAAQA,EAAK0Q,YAAc1Q,EAAK0Q,WAAW,OAAS,iCAE7DqwB,SAAa1b,GACXA,EAAO71F,QAAQid,WAAY,QARVu0F,CAAsBL,ICQrCM,GAAc,CAClBC,WAAY,YACZC,UAAW,YACXC,SAAU,UACVC,aAAc,aACdC,YAAa,YACbC,YAAa,YACbC,UAAW,UACXC,aAAc,WACdC,WAAY,YAGRC,GAAgBxkH,SAAAA,GAAAA,OAAmB,OAAVA,GAA4B,KAAVA,GA8DjD,IAAMykH,KAAuBljB,IAA+B,CAACzwE,SAAS,GAMtE,SAASlwB,GAAemrF,EAAOhqF,EAAML,GACnCqqF,EAAMuH,OAAOnvF,oBAAoBpC,EAAML,EAAU+iH,IAenD,SAASC,GAAiBC,EAAUrxB,GAAQ,WACvBqxB,GADuB,IAC1C,IAAK,EAAL,qBAA6B,KAAlBz6G,EAAkB,QAC3B,GAAIA,IAASopF,GAAUppF,EAAKkiB,SAASknE,GACnC,OAAO,GAH+B,+BAQ5C,SAASsxB,GAAqB74B,EAAOhqF,EAAML,GACzC,IAAM4xF,EAASvH,EAAMuH,OACfuxB,EAAW,IAAIC,kBAAiBpwE,SAAAA,GACpC,IAD+C,EAC3CqwE,GAAU,EADiC,KAE3BrwE,GAF2B,IAE/C,IAAK,EAAL,qBAA6B,KAAlBovB,EAAkB,QAE3BihD,GADAA,EAAUA,GAAWL,GAAiB5gD,EAAMkhD,WAAY1xB,MAClCoxB,GAAiB5gD,EAAMmhD,aAAc3xB,IAJd,8BAM3CyxB,GACFrjH,OAIJ,OADAmjH,EAASK,QAAQz5G,SAAU,CAAC05G,WAAW,EAAMC,SAAS,IAC/CP,EAGT,SAASQ,GAAqBt5B,EAAOhqF,EAAML,GACzC,IAAM4xF,EAASvH,EAAMuH,OACfuxB,EAAW,IAAIC,kBAAiBpwE,SAAAA,GACpC,IAD+C,EAC3CqwE,GAAU,EADiC,KAE3BrwE,GAF2B,IAE/C,IAAK,EAAL,qBAA6B,KAAlBovB,EAAkB,QAE3BihD,GADAA,EAAUA,GAAWL,GAAiB5gD,EAAMmhD,aAAc3xB,MACpCoxB,GAAiB5gD,EAAMkhD,WAAY1xB,IAJZ,8BAM3CyxB,GACFrjH,OAIJ,OADAmjH,EAASK,QAAQz5G,SAAU,CAAC05G,WAAW,EAAMC,SAAS,IAC/CP,EAGT,IAAMS,GAAqB,IAAIxmG,IAC3BymG,GAAsB,EAE1B,SAASC,KACP,IAAMC,EAAMj6G,OAAO6hF,iBACfo4B,IAAQF,KAGZA,GAAsBE,EACtBH,GAAmB14G,SAAQ,SAACkjF,EAAQ/D,GAC9BA,EAAMoH,0BAA4BsyB,GACpC31B,QAmBN,SAAS41B,GAAqB35B,EAAOhqF,EAAML,GACzC,IAAM4xF,EAASvH,EAAMuH,OACfmN,EAAYnN,GAAUoL,GAAepL,GAC3C,GAAKmN,EAAL,CAGA,IAAM3Q,EAASlJ,IAAU,SAACv/D,EAAOC,GAC/B,IAAM5kB,EAAI+9F,EAAUI,YACpBn/F,EAAS2lB,EAAOC,GACZ5kB,EAAI+9F,EAAUI,aAQhBn/F,MAED8J,QAGGq5G,EAAW,IAAIc,gBAAejxE,SAAAA,GAClC,IAAMovB,EAAQpvB,EAAQ,GAChBrtB,EAAQy8C,EAAM8hD,YAAYv+F,MAC1BC,EAASw8C,EAAM8hD,YAAYt+F,OAInB,IAAVD,GAA0B,IAAXC,GAGnBwoE,EAAOzoE,EAAOC,MAKhB,OAHAu9F,EAASK,QAAQzkB,GAhDnB,SAAuC1U,EAAO+D,GACvCw1B,GAAmBj9E,MACtB78B,OAAOvH,iBAAiB,SAAUuhH,IAEpCF,GAAmB/gH,IAAIwnF,EAAO+D,GA6C9B+1B,CAA8B95B,EAAO+D,GAE9B+0B,GAGT,SAASiB,GAAgB/5B,EAAOhqF,EAAM8iH,GAChCA,GACFA,EAASkB,aAEE,WAAThkH,GAnDN,SAAyCgqF,GACvCu5B,GAAmBnmG,OAAO4sE,GACrBu5B,GAAmBj9E,MACtB78B,OAAOrH,oBAAoB,SAAUqhH,IAiDrCQ,CAAgCj6B,GAIpC,SAASk6B,GAAqBl6B,EAAOhqF,EAAML,GACzC,IAAM4xF,EAASvH,EAAMuH,OACfyG,EAAQnT,IAAW,SAAAp8D,GAIL,OAAduhE,EAAM8B,KACRnsF,EA1IN,SAAyB8oB,EAAOuhE,GAC9B,IAAMhqF,EAAO+hH,GAAYt5F,EAAMzoB,OAASyoB,EAAMzoB,KAC9C,EAAew9F,GAAoB/0E,EAAOuhE,GAAnC96D,EAAP,EAAOA,EAAGoJ,EAAV,EAAUA,EACV,MAAO,CACLt4B,KAAAA,EACAgqF,MAAAA,EACAm6B,OAAQ17F,EACRyG,OAAS5vB,IAAN4vB,EAAkBA,EAAI,KACzBoJ,OAASh5B,IAANg5B,EAAkBA,EAAI,MAkId8rF,CAAgB37F,EAAOuhE,MAEjCA,GAIH,OAxJF,SAAqB7hF,EAAMnI,EAAML,GAC/BwI,EAAKjG,iBAAiBlC,EAAML,EAAU+iH,IAqJtCt/G,CAAYmuF,EAAQvxF,EAAMg4F,GAEnBA,MAOYqsB,GAAAA,SAAAA,sHAOnB3C,SAAenwB,EAAQp/E,GAIrB,IAAMlP,EAAUsuF,GAAUA,EAAOC,YAAcD,EAAOC,WAAW,MASjE,OAAIvuF,GAAWA,EAAQsuF,SAAWA,GA3OtC,SAAoBA,EAAQp/E,GAC1B,IAAM6C,EAAQu8E,EAAOv8E,MAIfsvG,EAAe/yB,EAAOjsB,aAAa,UACnCi/C,EAAchzB,EAAOjsB,aAAa,SAsBxC,GAnBAisB,EAAM,SAAgB,CACpB97C,QAAS,CACPlwB,OAAQ++F,EACRh/F,MAAOi/F,EACPvvG,MAAO,CACL+zB,QAAS/zB,EAAM+zB,QACfxjB,OAAQvQ,EAAMuQ,OACdD,MAAOtQ,EAAMsQ,SAQnBtQ,EAAM+zB,QAAU/zB,EAAM+zB,SAAW,QAEjC/zB,EAAMkkD,UAAYlkD,EAAMkkD,WAAa,aAEjCupD,GAAc8B,GAAc,CAC9B,IAAMC,EAAe/kB,GAAalO,EAAQ,cACrBjyF,IAAjBklH,IACFjzB,EAAOjsE,MAAQk/F,GAInB,GAAI/B,GAAc6B,GAChB,GAA4B,KAAxB/yB,EAAOv8E,MAAMuQ,OAIfgsE,EAAOhsE,OAASgsE,EAAOjsE,OAASnT,GAAe,OAC1C,CACL,IAAMsyG,EAAgBhlB,GAAalO,EAAQ,eACrBjyF,IAAlBmlH,IACFlzB,EAAOhsE,OAASk/F,IAkMlBC,CAAWnzB,EAAQp/E,GACZlP,GAGF,mCAMT0+G,SAAe1+G,GACb,IAAMsuF,EAAStuF,EAAQsuF,OACvB,IAAKA,EAAM,SACT,OAAO,EAGT,IAAM97C,EAAU87C,EAAM,SAAc97C,QACpC,CAAC,SAAU,SAAS5qC,SAAQ,SAACk6D,GAC3B,IAAM9mE,EAAQw3C,EAAQsvB,GAClB2Z,GAAczgF,GAChBszF,EAAOhmF,gBAAgBw5D,GAEvBwsB,EAAO/lF,aAAau5D,EAAM9mE,MAI9B,IAAM+W,EAAQygC,EAAQzgC,OAAS,GAa/B,OAZAtY,OAAOsH,KAAKgR,GAAOnK,SAAQ,SAACjO,GAC1B20F,EAAOv8E,MAAMpY,GAAOoY,EAAMpY,MAQ5B20F,EAAOjsE,MAAQisE,EAAOjsE,aAEfisE,EAAM,UACN,kCASTrvF,SAAiB8nF,EAAOhqF,EAAML,GAE5BvB,KAAKgE,oBAAoB4nF,EAAOhqF,GAEhC,IAAM2kH,EAAU36B,EAAM46B,WAAa56B,EAAM46B,SAAW,IAM9C3lH,EALW,CACf4lH,OAAQhC,GACRiC,OAAQxB,GACRv1B,OAAQ41B,IAEe3jH,IAASkkH,GAClCS,EAAQ3kH,GAAQf,EAAQ+qF,EAAOhqF,EAAML,sCAQvCyC,SAAoB4nF,EAAOhqF,GACzB,IAAM2kH,EAAU36B,EAAM46B,WAAa56B,EAAM46B,SAAW,IAC9C5sB,EAAQ2sB,EAAQ3kH,GAEjBg4F,KAIY,CACf6sB,OAAQd,GACRe,OAAQf,GACRh2B,OAAQg2B,IAEe/jH,IAASnB,IAC1BmrF,EAAOhqF,EAAMg4F,GACrB2sB,EAAQ3kH,QAAQV,sCAGlBksF,WACE,OAAO/hF,OAAO6hF,+CAShB8S,SAAe7M,EAAQjsE,EAAOC,EAAQpT,GACpC,OAAOisF,GAAe7M,EAAQjsE,EAAOC,EAAQpT,6BAM/CyvG,SAAWrwB,GACT,IAAMmN,EAAY/B,GAAepL,GACjC,SAAUmN,IAAaA,EAAUqmB,mBA/HhBV,CAAoB5C,QC1PpBtvE,GAAAA,oDAOV,6CAIT6yE,SAAgBjI,GACd,MAAe3+G,KAAKs/G,SAAS,CAAC,IAAK,KAAMX,GACzC,MAAO,CAAC7tF,EADR,EAAOA,EACIoJ,EADX,EAAUA,2BAIZ2sF,WACE,OAAOhjC,GAAS7jF,KAAK8wB,IAAM+yD,GAAS7jF,KAAKk6B,2BAU3ColF,SAAS72G,EAAiBq+G,GAAmD,WACrE3hB,EAAQnlG,KAAKwoG,YACnB,IAAKse,IAAU3hB,EAEb,OAAOnlG,KAET,IAAMwD,EAA+B,GAIrC,OAHAiF,EAAMgE,SAAQ,SAACk6D,GACbnjE,EAAImjE,GAAQw+B,EAAMx+B,IAASw+B,EAAMx+B,GAAM+oB,SAAWyV,EAAMx+B,GAAM4gC,IAAM,EAAK5gC,MAEpEnjE,QArCUuwC,GCWd,SAASw9C,GAASlD,EAAO3C,GAC9B,IAAMq7B,EAAW14B,EAAMn8E,QAAQw5E,MACzBs7B,EA8BR,SAA2B34B,GACzB,IAAMviE,EAASuiE,EAAMn8E,QAAQ4Z,OACvB6kE,EAAatC,EAAM44B,YACnBC,EAAW74B,EAAMqlB,QAAU/iB,GAAc7kE,EAAS,EAAI,GACtDq7F,EAAW94B,EAAM+4B,WAAaz2B,EACpC,OAAOn0E,KAAKmsC,MAAMnsC,KAAKyQ,IAAIi6F,EAAUC,IAnCVE,CAAkBh5B,GACvCi5B,EAAa9qG,KAAKyQ,IAAI85F,EAASQ,eAAiBP,EAAoBA,GACpEQ,EAAeT,EAASn1B,MAAM61B,QAgEtC,SAAyB/7B,GACvB,IACI/tF,EAAG0jF,EADD5e,EAAS,GAEf,IAAK9kE,EAAI,EAAG0jF,EAAOqK,EAAM7tF,OAAQF,EAAI0jF,EAAM1jF,IACrC+tF,EAAM/tF,GAAGi0F,OACXnvB,EAAOzkE,KAAKL,GAGhB,OAAO8kE,EAxEuCilD,CAAgBh8B,GAAS,GACjEi8B,EAAkBH,EAAa3pH,OAC/B+pH,EAAQJ,EAAa,GACrBngF,EAAOmgF,EAAaG,EAAkB,GACtCE,EAAW,GAGjB,GAAIF,EAAkBL,EAEpB,OAwEJ,SAAoB57B,EAAOm8B,EAAUL,EAAc5O,GACjD,IAEIj7G,EAFA+E,EAAQ,EACR41B,EAAOkvF,EAAa,GAIxB,IADA5O,EAAUp8F,KAAK4uB,KAAKwtE,GACfj7G,EAAI,EAAGA,EAAI+tF,EAAM7tF,OAAQF,IACxBA,IAAM26B,IACRuvF,EAAS7pH,KAAK0tF,EAAM/tF,IAEpB26B,EAAOkvF,IADP9kH,EAC4Bk2G,IAnF9BkP,CAAWp8B,EAAOm8B,EAAUL,EAAcG,EAAkBL,GACrDO,EAGT,IAAMjP,EA6BR,SAA0B4O,EAAc97B,EAAO47B,GAC7C,IAAMS,EA6FR,SAAwBxkH,GACtB,IACI5F,EAAGmgH,EADDh5G,EAAMvB,EAAI1F,OAGhB,GAAIiH,EAAM,EACR,OAAO,EAGT,IAAKg5G,EAAOv6G,EAAI,GAAI5F,EAAI,EAAGA,EAAImH,IAAOnH,EACpC,GAAI4F,EAAI5F,GAAK4F,EAAI5F,EAAI,KAAOmgH,EAC1B,OAAO,EAGX,OAAOA,EA1GkBkK,CAAeR,GAClC5O,EAAUltB,EAAM7tF,OAASypH,EAI/B,IAAKS,EACH,OAAOvrG,KAAKqmC,IAAI+1D,EAAS,GAI3B,IADA,IAAMqP,EtC/BD,SAAoBpoH,GACzB,IAEIlC,EAFE8kE,EAAmB,GACnBkiB,EAAOnoE,KAAKmoE,KAAK9kF,GAGvB,IAAKlC,EAAI,EAAGA,EAAIgnF,EAAMhnF,IAChBkC,EAAQlC,IAAM,IAChB8kE,EAAOzkE,KAAKL,GACZ8kE,EAAOzkE,KAAK6B,EAAQlC,IAQxB,OALIgnF,KAAiB,EAAPA,IACZliB,EAAOzkE,KAAK2mF,GAGdliB,EAAO5Z,MAAK,SAACn+C,EAAGC,GAAJ,OAAUD,EAAIC,KAAGnF,MACtBi9D,EsCeSylD,CAAWH,GAClBpqH,EAAI,EAAG0jF,EAAO4mC,EAAQpqH,OAAS,EAAGF,EAAI0jF,EAAM1jF,IAAK,CACxD,IAAM6oG,EAASyhB,EAAQtqH,GACvB,GAAI6oG,EAASoS,EACX,OAAOpS,EAGX,OAAOhqF,KAAKqmC,IAAI+1D,EAAS,GA9CTuP,CAAiBX,EAAc97B,EAAO47B,GAEtD,GAAIK,EAAkB,EAAG,CACvB,IAAIhqH,EAAG0jF,EACD+mC,EAAkBT,EAAkB,EAAInrG,KAAKk8C,OAAOrxB,EAAOugF,IAAUD,EAAkB,IAAM,KAEnG,IADA3rB,GAAKtQ,EAAOm8B,EAAUjP,EAASt4B,GAAc8nC,GAAmB,EAAIR,EAAQQ,EAAiBR,GACxFjqH,EAAI,EAAG0jF,EAAOsmC,EAAkB,EAAGhqH,EAAI0jF,EAAM1jF,IAChDq+F,GAAKtQ,EAAOm8B,EAAUjP,EAAS4O,EAAa7pH,GAAI6pH,EAAa7pH,EAAI,IAGnE,OADAq+F,GAAKtQ,EAAOm8B,EAAUjP,EAASvxE,EAAMi5C,GAAc8nC,GAAmB18B,EAAM7tF,OAASwpC,EAAO+gF,GACrFP,EAGT,OADA7rB,GAAKtQ,EAAOm8B,EAAUjP,GACfiP,EA8ET,SAAS7rB,GAAKtQ,EAAOm8B,EAAUjP,EAASyP,EAAYC,GAClD,IAGIzqH,EAAQF,EAAG26B,EAHTzL,EAAQ8zD,GAAe0nC,EAAY,GACnCv7F,EAAMtQ,KAAKyQ,IAAI0zD,GAAe2nC,EAAU58B,EAAM7tF,QAAS6tF,EAAM7tF,QAC/D6E,EAAQ,EAWZ,IARAk2G,EAAUp8F,KAAK4uB,KAAKwtE,GAChB0P,IAEF1P,GADA/6G,EAASyqH,EAAWD,GACD7rG,KAAKmsC,MAAM9qD,EAAS+6G,IAGzCtgF,EAAOzL,EAEAyL,EAAO,GACZ51B,IACA41B,EAAO9b,KAAKk8C,MAAM7rC,EAAQnqB,EAAQk2G,GAGpC,IAAKj7G,EAAI6e,KAAKqmC,IAAIh2B,EAAO,GAAIlvB,EAAImvB,EAAKnvB,IAChCA,IAAM26B,IACRuvF,EAAS7pH,KAAK0tF,EAAM/tF,IACpB+E,IACA41B,EAAO9b,KAAKk8C,MAAM7rC,EAAQnqB,EAAQk2G,OD7InB7kE,GAAAA,WAED,OAFCA,GAAAA,qBAGI7yC,GEAzB,IACMqnH,GAAiB,SAACl6B,EAAOmmB,EAAM1oF,GAAd,MAAkC,QAAT0oF,GAA2B,SAATA,EAAkBnmB,EAAMmmB,GAAQ1oF,EAASuiE,EAAMmmB,GAAQ1oF,GACnH08F,GAAgB,SAACC,EAAalB,GAAd,OAAgC/qG,KAAKyQ,IAAIs6F,GAAiBkB,EAAaA,IAY7F,SAASC,GAAOnlH,EAAKolH,GAMnB,IALA,IAAMlmD,EAAS,GACTmmD,EAAYrlH,EAAI1F,OAAS8qH,EACzB7jH,EAAMvB,EAAI1F,OACZF,EAAI,EAEDA,EAAImH,EAAKnH,GAAKirH,EACnBnmD,EAAOzkE,KAAKuF,EAAIiZ,KAAKmsC,MAAMhrD,KAE7B,OAAO8kE,EAQT,SAASomD,GAAoBx6B,EAAO9oF,EAAOujH,GACzC,IAMIh9F,EANEjuB,EAASwwF,EAAM3C,MAAM7tF,OACrBkrH,EAAavsG,KAAKyQ,IAAI1nB,EAAO1H,EAAS,GACtCgvB,EAAQwhE,EAAMkoB,YACdzpF,EAAMuhE,EAAMmoB,UACZjzB,EAAU,KACZylC,EAAY36B,EAAMulB,gBAAgBmV,GAGtC,KAAID,IAEAh9F,EADa,IAAXjuB,EACO2e,KAAKqmC,IAAImmE,EAAYn8F,EAAOC,EAAMk8F,GACxB,IAAVzjH,GACC8oF,EAAMulB,gBAAgB,GAAKoV,GAAa,GAExCA,EAAY36B,EAAMulB,gBAAgBmV,EAAa,IAAM,GAEjEC,GAAaD,EAAaxjH,EAAQumB,GAAUA,GAG5Be,EAAQ02D,GAAWylC,EAAYl8F,EAAMy2D,IAIvD,OAAOylC,EAwBT,SAASC,GAAkB/2G,GACzB,OAAOA,EAAQw+E,UAAYx+E,EAAQy+E,WAAa,EAMlD,SAASu4B,GAAeh3G,EAASm0B,GAC/B,IAAKn0B,EAAQy4B,QACX,OAAO,EAGT,IAAM2iD,EAAOkL,GAAOtmF,EAAQo7E,KAAMjnD,GAC5B4pD,EAAUsI,GAAUrmF,EAAQ+9E,SAGlC,OAFc/xF,GAAQgU,EAAQ4X,MAAQ5X,EAAQ4X,KAAKjsB,OAAS,GAE5CyvF,EAAK73E,WAAcw6E,EAAQ9oE,OAkB7C,SAASgiG,GAAWtiC,EAAOzhF,EAAUq2C,GACnC,IAAIj4C,EAAMojF,GAAmBC,GAI7B,OAHIprC,GAAyB,UAAbr2C,IAA2Bq2C,GAAwB,UAAbr2C,KACpD5B,EApHiB,SAACqjF,GAAD,MAAqB,SAAVA,EAAmB,QAAoB,UAAVA,EAAoB,OAASA,EAoHhFuiC,CAAa5lH,IAEdA,MAwCY6lH,GAAAA,SAAAA,uBAGnB74G,SAAAA,EAAYs2F,GAAK,wBACf,gBAGKlmF,GAAKkmF,EAAIlmF,GAEd,EAAKhf,KAAOklG,EAAIllG,KAEhB,EAAKsQ,aAAUhR,EAEf,EAAKwsF,IAAMoZ,EAAIpZ,IAEf,EAAK9B,MAAQkb,EAAIlb,MAIjB,EAAK39D,SAAM/sB,EAEX,EAAKivF,YAASjvF,EAEd,EAAK6sB,UAAO7sB,EAEZ,EAAKgvF,WAAQhvF,EAEb,EAAKgmB,WAAQhmB,EAEb,EAAKimB,YAASjmB,EACd,EAAKooH,SAAW,CACdv7F,KAAM,EACNmiE,MAAO,EACPjiE,IAAK,EACLkiE,OAAQ,GAGV,EAAK35C,cAAWt1C,EAEhB,EAAKk/F,eAAYl/F,EAEjB,EAAKqoH,gBAAaroH,EAElB,EAAKsoH,mBAAgBtoH,EAErB,EAAKuoH,iBAAcvoH,EAEnB,EAAKwoH,kBAAexoH,EAIpB,EAAKomF,UAAOpmF,EAEZ,EAAKyoH,mBAAgBzoH,EACrB,EAAK+rB,SAAM/rB,EACX,EAAK2hD,SAAM3hD,EACX,EAAK0oH,YAAS1oH,EAEd,EAAKwqF,MAAQ,GAEb,EAAKm+B,eAAiB,KAEtB,EAAKC,YAAc,KAEnB,EAAKC,YAAc,KACnB,EAAKrW,QAAU,EACf,EAAK0T,WAAa,EAClB,EAAK4C,kBAAoB,GAEzB,EAAKzT,iBAAcr1G,EAEnB,EAAKs1G,eAAYt1G,EACjB,EAAKo9G,gBAAiB,EACtB,EAAK2L,cAAW/oH,EAChB,EAAKgpH,cAAWhpH,EAChB,EAAKipH,mBAAgBjpH,EACrB,EAAKkpH,mBAAgBlpH,EACrB,EAAKmpH,aAAe,EACpB,EAAKC,aAAe,EACpB,EAAKhX,OAAS,GACd,EAAKiX,mBAAoB,EACzB,EAAKxe,cAAW7qG,EA9ED,iCAqFjBnB,SAAKmS,GACHlS,KAAKkS,QAAUA,EAAQioF,WAAWn6F,KAAKozF,cAEvCpzF,KAAKsnF,KAAOp1E,EAAQo1E,KAGpBtnF,KAAKkqH,SAAWlqH,KAAKwuE,MAAMt8D,EAAQ+a,KACnCjtB,KAAKiqH,SAAWjqH,KAAKwuE,MAAMt8D,EAAQ2wC,KACnC7iD,KAAKoqH,cAAgBpqH,KAAKwuE,MAAMt8D,EAAQs4G,cACxCxqH,KAAKmqH,cAAgBnqH,KAAKwuE,MAAMt8D,EAAQu4G,mCAS1Cj8C,SAAMmiC,EAAKprG,GACT,OAAOorG,+BAQTppB,WACE,IAAK2iC,EAAoDlqH,KAApDkqH,SAAUD,EAA0CjqH,KAA1CiqH,SAAUG,EAAgCpqH,KAAhCoqH,cAAeD,EAAiBnqH,KAAjBmqH,cAKxC,OAJAD,EAAWxpC,GAAgBwpC,EAAUvqH,OAAOojF,mBAC5CknC,EAAWvpC,GAAgBupC,EAAUtqH,OAAOgwG,mBAC5Cya,EAAgB1pC,GAAgB0pC,EAAezqH,OAAOojF,mBACtDonC,EAAgBzpC,GAAgBypC,EAAexqH,OAAOgwG,mBAC/C,CACL1iF,IAAKyzD,GAAgBwpC,EAAUE,GAC/BvnE,IAAK69B,GAAgBupC,EAAUE,GAC/B3iC,WAAY/G,GAASypC,GACrBziC,WAAYhH,GAASwpC,6BAUzB3a,SAAUC,GAER,IACI5lF,EADJ,EAAyC3pB,KAAKunF,gBAAzCt6D,EAAL,EAAKA,IAAK41B,EAAV,EAAUA,IAAK2kC,EAAf,EAAeA,WAAYC,EAA3B,EAA2BA,WAG3B,GAAID,GAAcC,EAChB,MAAO,CAACx6D,IAAAA,EAAK41B,IAAAA,GAIf,IADA,IAAM6nE,EAAQ1qH,KAAKkqG,0BACVvsG,EAAI,EAAG0jF,EAAOqpC,EAAM7sH,OAAQF,EAAI0jF,IAAQ1jF,EAC/CgsB,EAAQ+gG,EAAM/sH,GAAGysG,WAAWkF,UAAUtvG,KAAMuvG,GACvC/nB,IACHv6D,EAAMzQ,KAAKyQ,IAAIA,EAAKtD,EAAMsD,MAEvBw6D,IACH5kC,EAAMrmC,KAAKqmC,IAAIA,EAAKl5B,EAAMk5B,MAQ9B,MAAO,CACL51B,IAAKyzD,GAJPzzD,EAAMw6D,GAAcx6D,EAAM41B,EAAMA,EAAM51B,EAIVyzD,GAH5B79B,EAAM2kC,GAAcv6D,EAAM41B,EAAM51B,EAAM41B,EAGW51B,IAC/C41B,IAAK69B,GAAgB79B,EAAK69B,GAAgBzzD,EAAK41B,+BASnDo+D,WACE,MAAO,CACLlzF,KAAM/tB,KAAKypH,aAAe,EAC1Bx7F,IAAKjuB,KAAKupH,YAAc,EACxBr5B,MAAOlwF,KAAK0pH,cAAgB,EAC5Bv5B,OAAQnwF,KAAKwpH,eAAiB,2BASlCmB,WACE,OAAO3qH,KAAK0rF,+BAMdmjB,WACE,IAAMxpF,EAAOrlB,KAAK4rF,MAAMvmE,KACxB,OAAOrlB,KAAKkS,QAAQ08F,SAAW5uG,KAAKw1G,eAAiBnwF,EAAKulG,QAAUvlG,EAAKwlG,UAAYxlG,EAAKupF,QAAU,gCAMtGkc,WAAgD,IAAlCva,EAAkC,uDAAtBvwG,KAAK4rF,MAAM2kB,UAC7BhqB,EAAQvmF,KAAK8pH,cAAgB9pH,KAAK8pH,YAAc9pH,KAAK+qH,mBAAmBxa,IAC9E,OAAOhqB,8BAITy8B,WACEhjH,KAAKszG,OAAS,GACdtzG,KAAKuqH,mBAAoB,8BAO3BS,WACEvsH,GAAKuB,KAAKkS,QAAQ84G,aAAc,CAAChrH,6BAWnCynG,SAAOjxD,EAAU4pD,EAAWD,GAC1B,MAA8CngG,KAAKkS,QAA5Ck+E,EAAP,EAAOA,YAAaE,EAApB,EAAoBA,MAAcy2B,EAAlC,EAA2Br7B,MACrBu/B,EAAalE,EAASkE,WAG5BjrH,KAAKgrH,eAGLhrH,KAAKw2C,SAAWA,EAChBx2C,KAAKogG,UAAYA,EACjBpgG,KAAKspH,SAAWnpB,EAAU7hG,OAAOwQ,OAAO,CACtCif,KAAM,EACNmiE,MAAO,EACPjiE,IAAK,EACLkiE,OAAQ,GACPgQ,GAEHngG,KAAK0rF,MAAQ,KACb1rF,KAAK+pH,YAAc,KACnB/pH,KAAK6pH,eAAiB,KACtB7pH,KAAK8pH,YAAc,KAGnB9pH,KAAKkrH,sBACLlrH,KAAKmrH,gBACLnrH,KAAKorH,qBAELprH,KAAKonH,WAAapnH,KAAKw1G,eACnBx1G,KAAKknB,MAAQi5E,EAAQpyE,KAAOoyE,EAAQjQ,MACpClwF,KAAKmnB,OAASg5E,EAAQlyE,IAAMkyE,EAAQhQ,OAGnCnwF,KAAKuqH,oBACRvqH,KAAKqrH,mBACLrrH,KAAKsrH,sBACLtrH,KAAKurH,kBACLvrH,KAAK4pH,O3B/OJ,SAAmB4B,EAAuCl7B,EAAwBF,GACvF,IAAOnjE,EAAYu+F,EAAZv+F,IAAK41B,EAAO2oE,EAAP3oE,IACNsgE,EAASviC,GAAY0P,GAAQztC,EAAM51B,GAAO,GAC1Cw+F,EAAW,SAAC5rH,EAAesL,GAAhB,OAAgCilF,GAAyB,IAAVvwF,EAAc,EAAIA,EAAQsL,GAC1F,MAAO,CACL8hB,IAAKw+F,EAASx+F,GAAMzQ,KAAKgnE,IAAI2/B,IAC7BtgE,IAAK4oE,EAAS5oE,EAAKsgE,I2ByOHuI,CAAU1rH,KAAMswF,EAAOF,GACrCpwF,KAAKuqH,mBAAoB,GAG3BvqH,KAAK2rH,mBAEL3rH,KAAK0rF,MAAQ1rF,KAAK4rH,cAAgB,GAGlC5rH,KAAK6rH,kBAIL,IAAMC,EAAkBb,EAAajrH,KAAK0rF,MAAM7tF,OAChDmC,KAAK+rH,sBAAsBD,EAAkBpD,GAAO1oH,KAAK0rF,MAAOu/B,GAAcjrH,KAAK0rF,OAMnF1rF,KAAKioG,YAGLjoG,KAAKgsH,+BACLhsH,KAAKisH,yBACLjsH,KAAKksH,8BAGDnF,EAASp8E,UAAYo8E,EAASx1B,UAAgC,SAApBw1B,EAAShvG,UACrD/X,KAAK0rF,MAAQ6F,GAASvxF,KAAMA,KAAK0rF,OACjC1rF,KAAK+pH,YAAc,KACnB/pH,KAAKmsH,iBAGHL,GAEF9rH,KAAK+rH,sBAAsB/rH,KAAK0rF,OAGlC1rF,KAAKosH,YACLpsH,KAAKqsH,MACLrsH,KAAKssH,WAILtsH,KAAKusH,uCAMPtkB,WACE,IACIiP,EAAYE,EADZoV,EAAgBxsH,KAAKkS,QAAQupC,QAG7Bz7C,KAAKw1G,gBACP0B,EAAal3G,KAAK+tB,KAClBqpF,EAAWp3G,KAAKkwF,QAEhBgnB,EAAal3G,KAAKiuB,IAClBmpF,EAAWp3G,KAAKmwF,OAEhBq8B,GAAiBA,GAEnBxsH,KAAKu2G,YAAcW,EACnBl3G,KAAKw2G,UAAYY,EACjBp3G,KAAKs+G,eAAiBkO,EACtBxsH,KAAK0zG,QAAU0D,EAAWF,EAC1Bl3G,KAAKysH,eAAiBzsH,KAAKkS,QAAQw6G,yCAGrCH,WACE9tH,GAAKuB,KAAKkS,QAAQq6G,YAAa,CAACvsH,0CAKlCkrH,WACEzsH,GAAKuB,KAAKkS,QAAQg5G,oBAAqB,CAAClrH,oCAE1CmrH,WAEMnrH,KAAKw1G,gBAEPx1G,KAAKknB,MAAQlnB,KAAKw2C,SAClBx2C,KAAK+tB,KAAO,EACZ/tB,KAAKkwF,MAAQlwF,KAAKknB,QAElBlnB,KAAKmnB,OAASnnB,KAAKogG,UAGnBpgG,KAAKiuB,IAAM,EACXjuB,KAAKmwF,OAASnwF,KAAKmnB,QAIrBnnB,KAAKypH,YAAc,EACnBzpH,KAAKupH,WAAa,EAClBvpH,KAAK0pH,aAAe,EACpB1pH,KAAKwpH,cAAgB,oCAEvB4B,WACE3sH,GAAKuB,KAAKkS,QAAQk5G,mBAAoB,CAACprH,iCAGzC2sH,SAAWxsH,GACTH,KAAK4rF,MAAMghC,cAAczsH,EAAMH,KAAKozF,cACpC30F,GAAKuB,KAAKkS,QAAQ/R,GAAO,CAACH,uCAI5BqrH,WACErrH,KAAK2sH,WAAW,uDAElBrB,2CACAC,WACEvrH,KAAK2sH,WAAW,mDAIlBhB,WACE3rH,KAAK2sH,WAAW,8CAKlBf,WACE,MAAO,kCAETC,WACE7rH,KAAK2sH,WAAW,8DAGlBE,WACEpuH,GAAKuB,KAAKkS,QAAQ26G,4BAA6B,CAAC7sH,yCAMlD8sH,SAAmBphC,GACjB,IACI/tF,EAAG0jF,EAAMykB,EADPihB,EAAW/mH,KAAKkS,QAAQw5E,MAE9B,IAAK/tF,EAAI,EAAG0jF,EAAOqK,EAAM7tF,OAAQF,EAAI0jF,EAAM1jF,KACzCmoG,EAAOpa,EAAM/tF,IACRuyG,MAAQzxG,GAAKsoH,EAASrtF,SAAU,CAACosE,EAAKjmG,MAAOlC,EAAG+tF,GAAQ1rF,gDAGjE+sH,WACEtuH,GAAKuB,KAAKkS,QAAQ66G,2BAA4B,CAAC/sH,mDAKjDgsH,WACEvtH,GAAKuB,KAAKkS,QAAQ85G,6BAA8B,CAAChsH,6CAEnDisH,WACE,IAMIr7B,EAAWwP,EAAW4sB,EANpB96G,EAAUlS,KAAKkS,QACf60G,EAAW70G,EAAQw5E,MACnBuhC,EAAWzE,GAAcxoH,KAAK0rF,MAAM7tF,OAAQqU,EAAQw5E,MAAM67B,eAC1Dr2B,EAAc61B,EAAS71B,aAAe,EACtCC,EAAc41B,EAAS51B,YACzBw4B,EAAgBz4B,EAGpB,IAAKlxF,KAAKktH,eAAiBnG,EAASp8E,SAAWumD,GAAeC,GAAe87B,GAAY,IAAMjtH,KAAKw1G,eAClGx1G,KAAK2pH,cAAgBz4B,MADvB,CAKA,IAAMi8B,EAAantH,KAAKotH,iBAClBC,EAAgBF,EAAWG,OAAOpmG,MAClCqmG,EAAiBJ,EAAWK,QAAQrmG,OAIpCqvB,EAAWkvC,GAAY1lF,KAAK4rF,MAAM1kE,MAAQmmG,EAAe,EAAGrtH,KAAKw2C,UAInE62E,EAAgB,GAHpBz8B,EAAY1+E,EAAQ4Z,OAAS9rB,KAAKw2C,SAAWy2E,EAAWz2E,GAAYy2E,EAAW,MAI7Er8B,EAAYp6C,GAAYy2E,GAAY/6G,EAAQ4Z,OAAS,GAAM,IAC3Ds0E,EAAYpgG,KAAKogG,UAAY6oB,GAAkB/2G,EAAQq+E,MACvDw2B,EAAS92B,QAAUi5B,GAAeh3G,EAAQquC,MAAOvgD,KAAK4rF,MAAM15E,QAAQo7E,MACpE0/B,EAAmBxwG,KAAKmoE,KAAK0oC,EAAgBA,EAAgBE,EAAiBA,GAC9E5D,EAAgB1lC,GAAUznE,KAAKyQ,IAC7BzQ,KAAKixG,KAAK/nC,IAAaynC,EAAWK,QAAQrmG,OAAS,GAAKypE,GAAY,EAAG,IACvEp0E,KAAKixG,KAAK/nC,GAAY0a,EAAY4sB,GAAmB,EAAG,IAAMxwG,KAAKixG,KAAK/nC,GAAY6nC,EAAiBP,GAAmB,EAAG,MAE7HrD,EAAgBntG,KAAKqmC,IAAIquC,EAAa10E,KAAKyQ,IAAIkkE,EAAaw4B,KAG9D3pH,KAAK2pH,cAAgBA,8CAEvBuC,WACEztH,GAAKuB,KAAKkS,QAAQg6G,4BAA6B,CAAClsH,oCAElDmsH,qCAIAC,WACE3tH,GAAKuB,KAAKkS,QAAQk6G,UAAW,CAACpsH,0BAEhCqsH,WAEE,IAAMhQ,EAAU,CACdn1F,MAAO,EACPC,OAAQ,GAGHykE,EAAuE5rF,KAAvE4rF,MAAP,EAA8E5rF,KAAhEkS,QAAiB60G,EAA/B,EAAwBr7B,MAAwBgiC,EAAhD,EAAyCntE,MAAwBotE,EAAjE,EAA2Dp9B,KACrD5lD,EAAU3qC,KAAKktH,aACf1X,EAAex1G,KAAKw1G,eAE1B,GAAI7qE,EAAS,CACX,IAAMijF,EAAc1E,GAAewE,EAAW9hC,EAAM15E,QAAQo7E,MAU5D,GATIkoB,GACF6G,EAAQn1F,MAAQlnB,KAAKw2C,SACrB6lE,EAAQl1F,OAAS8hG,GAAkB0E,GAAYC,IAE/CvR,EAAQl1F,OAASnnB,KAAKogG,UACtBic,EAAQn1F,MAAQ+hG,GAAkB0E,GAAYC,GAI5C7G,EAASp8E,SAAW3qC,KAAK0rF,MAAM7tF,OAAQ,CACzC,MAAuCmC,KAAKotH,iBAArCxF,EAAP,EAAOA,MAAOvgF,EAAd,EAAcA,KAAMimF,EAApB,EAAoBA,OAAQE,EAA5B,EAA4BA,QACtBK,EAAiC,EAAnB9G,EAAS92B,QACvB69B,EAAe/pC,GAAU/jF,KAAK2pH,eAC9BpgC,EAAM/sE,KAAK+sE,IAAIukC,GACfvlC,EAAM/rE,KAAK+rE,IAAIulC,GAErB,GAAItY,EAAc,CAEhB,IAAMuY,EAAchH,EAAS31B,OAAS,EAAI7I,EAAM+kC,EAAOpmG,MAAQqiE,EAAMikC,EAAQrmG,OAC7Ek1F,EAAQl1F,OAAS3K,KAAKyQ,IAAIjtB,KAAKogG,UAAWic,EAAQl1F,OAAS4mG,EAAcF,OACpE,CAGL,IAAMG,EAAajH,EAAS31B,OAAS,EAAI7H,EAAM+jC,EAAOpmG,MAAQqhE,EAAMilC,EAAQrmG,OAE5Ek1F,EAAQn1F,MAAQ1K,KAAKyQ,IAAIjtB,KAAKw2C,SAAU6lE,EAAQn1F,MAAQ8mG,EAAaH,GAEvE7tH,KAAKiuH,kBAAkBrG,EAAOvgF,EAAMkhD,EAAKgB,IAI7CvpF,KAAKkuH,iBAED1Y,GACFx1G,KAAKknB,MAAQlnB,KAAK0zG,QAAU9nB,EAAM1kE,MAAQlnB,KAAKspH,SAASv7F,KAAO/tB,KAAKspH,SAASp5B,MAC7ElwF,KAAKmnB,OAASk1F,EAAQl1F,SAEtBnnB,KAAKknB,MAAQm1F,EAAQn1F,MACrBlnB,KAAKmnB,OAASnnB,KAAK0zG,QAAU9nB,EAAMzkE,OAASnnB,KAAKspH,SAASr7F,IAAMjuB,KAAKspH,SAASn5B,yCAIlF89B,SAAkBrG,EAAOvgF,EAAMkhD,EAAKgB,GAClC,MAA4CvpF,KAAKkS,QAAjD,IAAOw5E,MAAQ7E,EAAf,EAAeA,MAAOoJ,EAAtB,EAAsBA,QAAU7qF,EAAhC,EAAgCA,SAC1B+oH,EAAmC,IAAvBnuH,KAAK2pH,cACjByE,EAAgC,QAAbhpH,GAAoC,MAAdpF,KAAKsnF,KAEpD,GAAItnF,KAAKw1G,eAAgB,CACvB,IAAM6Y,EAAaruH,KAAK4zG,gBAAgB,GAAK5zG,KAAK+tB,KAC5CugG,EAActuH,KAAKkwF,MAAQlwF,KAAK4zG,gBAAgB5zG,KAAK0rF,MAAM7tF,OAAS,GACtE4rH,EAAc,EACdC,EAAe,EAIfyE,EACEC,GACF3E,EAAclgC,EAAMq+B,EAAM1gG,MAC1BwiG,EAAenhC,EAAMlhD,EAAKlgB,SAE1BsiG,EAAclhC,EAAMq/B,EAAMzgG,OAC1BuiG,EAAengC,EAAMliD,EAAKngB,OAET,UAAV2/D,EACT6iC,EAAeriF,EAAKngB,MACD,QAAV2/D,EACT4iC,EAAc7B,EAAM1gG,MACD,UAAV2/D,IACT4iC,EAAc7B,EAAM1gG,MAAQ,EAC5BwiG,EAAeriF,EAAKngB,MAAQ,GAI9BlnB,KAAKypH,YAAcjtG,KAAKqmC,KAAK4mE,EAAc4E,EAAap+B,GAAWjwF,KAAKknB,OAASlnB,KAAKknB,MAAQmnG,GAAa,GAC3GruH,KAAK0pH,aAAeltG,KAAKqmC,KAAK6mE,EAAe4E,EAAcr+B,GAAWjwF,KAAKknB,OAASlnB,KAAKknB,MAAQonG,GAAc,OAC1G,CACL,IAAI/E,EAAaliF,EAAKlgB,OAAS,EAC3BqiG,EAAgB5B,EAAMzgG,OAAS,EAErB,UAAV0/D,GACF0iC,EAAa,EACbC,EAAgB5B,EAAMzgG,QACH,QAAV0/D,IACT0iC,EAAaliF,EAAKlgB,OAClBqiG,EAAgB,GAGlBxpH,KAAKupH,WAAaA,EAAat5B,EAC/BjwF,KAAKwpH,cAAgBA,EAAgBv5B,iCAQzCi+B,WACMluH,KAAKspH,WACPtpH,KAAKspH,SAASv7F,KAAOvR,KAAKqmC,IAAI7iD,KAAKypH,YAAazpH,KAAKspH,SAASv7F,MAC9D/tB,KAAKspH,SAASr7F,IAAMzR,KAAKqmC,IAAI7iD,KAAKupH,WAAYvpH,KAAKspH,SAASr7F,KAC5DjuB,KAAKspH,SAASp5B,MAAQ1zE,KAAKqmC,IAAI7iD,KAAK0pH,aAAc1pH,KAAKspH,SAASp5B,OAChElwF,KAAKspH,SAASn5B,OAAS3zE,KAAKqmC,IAAI7iD,KAAKwpH,cAAexpH,KAAKspH,SAASn5B,iCAItEm8B,WACE7tH,GAAKuB,KAAKkS,QAAQo6G,SAAU,CAACtsH,mCAO/Bw1G,WACE,MAAyBx1G,KAAKkS,QAAvBo1E,EAAP,EAAOA,KAAMliF,EAAb,EAAaA,SACb,MAAoB,QAAbA,GAAmC,WAAbA,GAAkC,MAATkiF,4BAKxDinC,WACE,OAAOvuH,KAAKkS,QAAQuuG,8CAOtBsL,SAAsBrgC,GAMpB,IAAI/tF,EAAG0jF,EACP,IANArhF,KAAK6sH,8BAEL7sH,KAAK8sH,mBAAmBphC,GAInB/tF,EAAI,EAAG0jF,EAAOqK,EAAM7tF,OAAQF,EAAI0jF,EAAM1jF,IACrC2iF,GAAcoL,EAAM/tF,GAAGuyG,SACzBxkB,EAAM/6C,OAAOhzC,EAAG,GAChB0jF,IACA1jF,KAIJqC,KAAK+sH,2DAOPK,WACE,IAAID,EAAantH,KAAK+pH,YAEtB,IAAKoD,EAAY,CACf,IAAMlC,EAAajrH,KAAKkS,QAAQw5E,MAAMu/B,WAClCv/B,EAAQ1rF,KAAK0rF,MACbu/B,EAAav/B,EAAM7tF,SACrB6tF,EAAQg9B,GAAOh9B,EAAOu/B,IAGxBjrH,KAAK+pH,YAAcoD,EAAantH,KAAKwuH,mBAAmB9iC,EAAOA,EAAM7tF,OAAQmC,KAAKkS,QAAQw5E,MAAM67B,eAGlG,OAAO4F,oCASTqB,SAAmB9iC,EAAO7tF,EAAQ0pH,GAChC,IAMI5pH,EAAGgqE,EAAG8qB,EAAMyd,EAAOue,EAAUC,EAAYt/E,EAAO35B,EAAYyR,EAAOC,EAAQwnG,EANxEjhC,EAAkC1tF,KAAlC0tF,IAAwBkhC,EAAU5uH,KAA7BgqH,kBACN6E,EAAS,GACTC,EAAU,GACVlG,EAAYpsG,KAAKmsC,MAAM9qD,EAAS2qH,GAAc3qH,EAAQ0pH,IACxDwH,EAAkB,EAClBC,EAAmB,EAGvB,IAAKrxH,EAAI,EAAGA,EAAIE,EAAQF,GAAKirH,EAAW,CAQtC,GAPA1Y,EAAQxkB,EAAM/tF,GAAGuyG,MACjBue,EAAWzuH,KAAKivH,wBAAwBtxH,GACxC+vF,EAAIJ,KAAOohC,EAAaD,EAASjlH,OACjC4lC,EAAQw/E,EAAOF,GAAcE,EAAOF,IAAe,CAACrpG,KAAM,GAAIxJ,GAAI,IAClEpG,EAAag5G,EAASh5G,WACtByR,EAAQC,EAAS,EAEZm5D,GAAc4vB,IAAWhyG,GAAQgyG,IAG/B,GAAIhyG,GAAQgyG,GAEjB,IAAKvoC,EAAI,EAAG8qB,EAAOyd,EAAMryG,OAAQ8pE,EAAI8qB,IAAQ9qB,EAGtC2Y,GAFLquC,EAAcze,EAAMvoC,KAEgBzpE,GAAQywH,KAC1CznG,EAAQ+qE,GAAavE,EAAKt+C,EAAM/pB,KAAM+pB,EAAMvzB,GAAIqL,EAAOynG,GACvDxnG,GAAU1R,QATdyR,EAAQ+qE,GAAavE,EAAKt+C,EAAM/pB,KAAM+pB,EAAMvzB,GAAIqL,EAAOgpF,GACvD/oF,EAAS1R,EAYXo5G,EAAO7wH,KAAKkpB,GACZ4nG,EAAQ9wH,KAAKmpB,GACb4nG,EAAkBvyG,KAAKqmC,IAAI37B,EAAO6nG,GAClCC,EAAmBxyG,KAAKqmC,IAAI17B,EAAQ6nG,IA9wB1C,SAAwBJ,EAAQ/wH,GAC9BmjF,GAAK4tC,GAAQ,SAACx/E,GACZ,IAEIzxC,EAFEke,EAAKuzB,EAAMvzB,GACXg3E,EAAQh3E,EAAGhe,OAAS,EAE1B,GAAIg1F,EAAQh1F,EAAQ,CAClB,IAAKF,EAAI,EAAGA,EAAIk1F,IAASl1F,SAChByxC,EAAM/pB,KAAKxJ,EAAGle,IAEvBke,EAAG80B,OAAO,EAAGkiD,OAuwBfN,CAAeq8B,EAAQ/wH,GAEvB,IAAMyvH,EAASuB,EAAOh4G,QAAQk4G,GACxBvB,EAAUsB,EAAQj4G,QAAQm4G,GAE1BE,EAAU,SAACC,GAAD,MAAU,CAACjoG,MAAO2nG,EAAOM,IAAQ,EAAGhoG,OAAQ2nG,EAAQK,IAAQ,IAE5E,MAAO,CACLvH,MAAOsH,EAAQ,GACf7nF,KAAM6nF,EAAQrxH,EAAS,GACvByvH,OAAQ4B,EAAQ5B,GAChBE,QAAS0B,EAAQ1B,GACjBqB,OAAAA,EACAC,QAAAA,mCASJ3e,SAAiBtwG,GACf,OAAOA,kCAUT6nF,SAAiB7nF,EAAO0F,GACtB,OAAO8pG,oCASTgI,SAAiBtkB,mCAQjB6gB,SAAgBruG,GACd,IAAMmmF,EAAQ1rF,KAAK0rF,MACnB,OAAInmF,EAAQ,GAAKA,EAAQmmF,EAAM7tF,OAAS,EAC/B,KAEFmC,KAAK0nF,iBAAiBgE,EAAMnmF,GAAO1F,yCAS5Cs3G,SAAmBiY,GACbpvH,KAAKs+G,iBACP8Q,EAAU,EAAIA,GAGhB,IAAMr8B,EAAQ/yF,KAAKu2G,YAAc6Y,EAAUpvH,KAAK0zG,QAChD,OvCluBKhuB,GuCkuBc1lF,KAAKysH,eAAiB35B,GAAY9yF,KAAK4rF,MAAOmH,EAAO,GAAKA,GvCluBpD,MAAO,yCuCyuBlCs8B,SAAmBt8B,GACjB,IAAMq8B,GAAWr8B,EAAQ/yF,KAAKu2G,aAAev2G,KAAK0zG,QAClD,OAAO1zG,KAAKs+G,eAAiB,EAAI8Q,EAAUA,8BAQ7C7Z,WACE,OAAOv1G,KAAK0nF,iBAAiB1nF,KAAKsvH,4CAMpCA,WACE,IAAOriG,EAAYjtB,KAAZitB,IAAK41B,EAAO7iD,KAAP6iD,IAEZ,OAAO51B,EAAM,GAAK41B,EAAM,EAAIA,EAC1B51B,EAAM,GAAK41B,EAAM,EAAI51B,EACrB,4BAMJmmE,SAAW7tF,GACT,IAAMmmF,EAAQ1rF,KAAK0rF,OAAS,GAE5B,GAAInmF,GAAS,GAAKA,EAAQmmF,EAAM7tF,OAAQ,CACtC,IAAMioG,EAAOpa,EAAMnmF,GACnB,OAAOugG,EAAKiG,WACbjG,EAAKiG,SAr1BV,SAA2B9yD,EAAQ1zC,EAAOugG,GACxC,OAAOhoC,GAAc7kB,EAAQ,CAC3B6sD,KAAAA,EACAvgG,MAAAA,EACA3D,KAAM,SAi1BW2tH,CAAkBvvH,KAAKozF,aAAc7tF,EAAOugG,IAE7D,OAAO9lG,KAAK+rG,WACZ/rG,KAAK+rG,SA91BAjuC,GA81B8B99D,KAAK4rF,MAAMwH,aA91BnB,CAC3B/E,MA61B4DruF,KA51B5D4B,KAAM,oCAm2BRqlH,WACE,IAAMuI,EAAcxvH,KAAKkS,QAAQw5E,MAG3B+jC,EAAM1rC,GAAU/jF,KAAK2pH,eACrBpgC,EAAM/sE,KAAKgnE,IAAIhnE,KAAK+sE,IAAIkmC,IACxBlnC,EAAM/rE,KAAKgnE,IAAIhnE,KAAK+rE,IAAIknC,IAExBtC,EAAantH,KAAKotH,iBAClBn9B,EAAUu/B,EAAYh+B,iBAAmB,EACzCjvF,EAAI4qH,EAAaA,EAAWG,OAAOpmG,MAAQ+oE,EAAU,EACrDzgF,EAAI29G,EAAaA,EAAWK,QAAQrmG,OAAS8oE,EAAU,EAG7D,OAAOjwF,KAAKw1G,eACRhmG,EAAI+5E,EAAMhnF,EAAIgmF,EAAMhmF,EAAIgnF,EAAM/5E,EAAI+4E,EAClC/4E,EAAI+4E,EAAMhmF,EAAIgnF,EAAM/5E,EAAI+5E,EAAMhnF,EAAIgmF,4BAOxC2kC,WACE,IAAMviF,EAAU3qC,KAAKkS,QAAQy4B,QAE7B,MAAgB,SAAZA,IACOA,EAGJ3qC,KAAKkqG,0BAA0BrsG,OAAS,uCAMjD6xH,SAAsBnf,GACpB,IAiBIof,EAAahyH,EAAGqrH,EAAW4G,EAC3BC,EAAKC,EAAKC,EAAKC,EAAKC,EAAIC,EAAIC,EAAIC,EAlB9B9oC,EAAOtnF,KAAKsnF,KACZsE,EAAQ5rF,KAAK4rF,MACb15E,EAAUlS,KAAKkS,QACdq+E,EAA0Br+E,EAA1Bq+E,KAAMnrF,EAAoB8M,EAApB9M,SAAU2rF,EAAU7+E,EAAV6+E,OACjBjlE,EAASykE,EAAKzkE,OACd0pF,EAAex1G,KAAKw1G,eAEpBiT,EADQzoH,KAAK0rF,MACO7tF,QAAUiuB,EAAS,EAAI,GAC3CklB,EAAKi4E,GAAkB14B,GACvBhK,EAAQ,GAER8pC,EAAat/B,EAAOoJ,WAAWn6F,KAAKozF,cACpCk9B,EAAYD,EAAW1lF,QAAU0lF,EAAWnpG,MAAQ,EACpDqpG,EAAgBD,EAAY,EAC5BE,EAAmB,SAASz9B,GAChC,OAAOD,GAAYlH,EAAOmH,EAAOu9B,IAKnC,GAAiB,QAAblrH,EACFuqH,EAAca,EAAiBxwH,KAAKmwF,QACpC2/B,EAAM9vH,KAAKmwF,OAASn/C,EACpBg/E,EAAML,EAAcY,EACpBL,EAAKM,EAAiBjgB,EAAUtiF,KAAOsiG,EACvCH,EAAK7f,EAAUpgB,YACV,GAAiB,WAAb/qF,EACTuqH,EAAca,EAAiBxwH,KAAKiuB,KACpCiiG,EAAK3f,EAAUtiF,IACfmiG,EAAKI,EAAiBjgB,EAAUpgB,QAAUogC,EAC1CT,EAAMH,EAAcY,EACpBP,EAAMhwH,KAAKiuB,IAAM+iB,OACZ,GAAiB,SAAb5rC,EACTuqH,EAAca,EAAiBxwH,KAAKkwF,OACpC2/B,EAAM7vH,KAAKkwF,MAAQl/C,EACnB++E,EAAMJ,EAAcY,EACpBN,EAAKO,EAAiBjgB,EAAUxiF,MAAQwiG,EACxCJ,EAAK5f,EAAUrgB,WACV,GAAiB,UAAb9qF,EACTuqH,EAAca,EAAiBxwH,KAAK+tB,MACpCkiG,EAAK1f,EAAUxiF,KACfoiG,EAAKK,EAAiBjgB,EAAUrgB,OAASqgC,EACzCV,EAAMF,EAAcY,EACpBR,EAAM/vH,KAAK+tB,KAAOijB,OACb,GAAa,MAATs2C,EAAc,CACvB,GAAiB,WAAbliF,EACFuqH,EAAca,GAAkBjgB,EAAUtiF,IAAMsiF,EAAUpgB,QAAU,EAAI,SACnE,GAAI5P,GAASn7E,GAAW,CAC7B,IAAMqrH,EAAiBnyH,OAAOsH,KAAKR,GAAU,GACvCvF,EAAQuF,EAASqrH,GACvBd,EAAca,EAAiBxwH,KAAK4rF,MAAM0C,OAAOmiC,GAAgB/oC,iBAAiB7nF,IAGpFqwH,EAAK3f,EAAUtiF,IACfmiG,EAAK7f,EAAUpgB,OAEf6/B,GADAF,EAAMH,EAAcY,GACRv/E,OACP,GAAa,MAATs2C,EAAc,CACvB,GAAiB,WAAbliF,EACFuqH,EAAca,GAAkBjgB,EAAUxiF,KAAOwiF,EAAUrgB,OAAS,QAC/D,GAAI3P,GAASn7E,GAAW,CAC7B,IAAMqrH,EAAiBnyH,OAAOsH,KAAKR,GAAU,GACvCvF,EAAQuF,EAASqrH,GACvBd,EAAca,EAAiBxwH,KAAK4rF,MAAM0C,OAAOmiC,GAAgB/oC,iBAAiB7nF,IAIpFkwH,GADAF,EAAMF,EAAcY,GACRv/E,EACZi/E,EAAK1f,EAAUxiF,KACfoiG,EAAK5f,EAAUrgB,MAGjB,IAAMwgC,EAAQ/vC,GAAezuE,EAAQw5E,MAAM67B,cAAekB,GACpDt1C,EAAO32D,KAAKqmC,IAAI,EAAGrmC,KAAK4uB,KAAKq9E,EAAciI,IACjD,IAAK/yH,EAAI,EAAGA,EAAI8qH,EAAa9qH,GAAKw1E,EAAM,CACtC,IAAMtuE,EAAU7E,KAAKozF,WAAWz1F,GAC1BgzH,EAAcpgC,EAAK4J,WAAWt1F,GAC9B+rH,EAAoB7/B,EAAOoJ,WAAWt1F,GAEtC2rF,EAAYmgC,EAAYngC,UACxBqgC,EAAYF,EAAYtnG,MACxBq7E,EAAaksB,EAAkB5/B,MAAQ,GACvC2T,EAAmBisB,EAAkB3/B,WAErCL,EAAY+/B,EAAY//B,UACxBE,EAAY6/B,EAAY7/B,UACxBggC,EAAiBH,EAAYG,gBAAkB,GAC/CC,EAAuBJ,EAAYI,0BAKvB7vH,KAHlB8nH,EAAYH,GAAoB7oH,KAAMrC,EAAGmuB,MAOzC8jG,EAAmB98B,GAAYlH,EAAOo9B,EAAWx4B,GAE7CglB,EACFqa,EAAME,EAAME,EAAKE,EAAKP,EAEtBE,EAAME,EAAME,EAAKE,EAAKR,EAGxBrpC,EAAMvoF,KAAK,CACT6xH,IAAAA,EACAC,IAAAA,EACAC,IAAAA,EACAC,IAAAA,EACAC,GAAAA,EACAC,GAAAA,EACAC,GAAAA,EACAC,GAAAA,EACAlpG,MAAOspE,EACPnnE,MAAOwnG,EACPnsB,WAAAA,EACAC,iBAAAA,EACA/T,UAAAA,EACAE,UAAAA,EACAggC,eAAAA,EACAC,qBAAAA,KAOJ,OAHA/wH,KAAKqqH,aAAe5B,EACpBzoH,KAAKsqH,aAAeqF,EAEbppC,oCAMTwkC,SAAmBxa,GACjB,IAWI5yG,EAAG0jF,EAAY6uB,EAAOp/E,EAAGoJ,EAAG08D,EAAW7D,EAAOzF,EAAM73E,EAAYu7G,EAAWC,EAXzE3pC,EAAOtnF,KAAKsnF,KACZp1E,EAAUlS,KAAKkS,QACd9M,EAAgC8M,EAAhC9M,SAAiBoqH,EAAet9G,EAAtBw5E,MACX8pB,EAAex1G,KAAKw1G,eACpB9pB,EAAQ1rF,KAAK0rF,MACZ7E,EAAsC2oC,EAAtC3oC,MAAOgL,EAA+B29B,EAA/B39B,WAAY5B,EAAmBu/B,EAAnBv/B,QAASmB,EAAUo+B,EAAVp+B,OAC7BpgD,EAAKi4E,GAAkB/2G,EAAQq+E,MAC/B2gC,EAAiBlgF,EAAKi/C,EACtBkhC,EAAkB//B,GAAUnB,EAAUihC,EACtCn9B,GAAYhQ,GAAU/jF,KAAK2pH,eAC3BpjC,EAAQ,GAEVsQ,EAAe,SAEnB,GAAiB,QAAbzxF,EACF80B,EAAIl6B,KAAKmwF,OAASghC,EAClBv6B,EAAY52F,KAAKoxH,+BACZ,GAAiB,WAAbhsH,EACT80B,EAAIl6B,KAAKiuB,IAAMkjG,EACfv6B,EAAY52F,KAAKoxH,+BACZ,GAAiB,SAAbhsH,EAAqB,CAC9B,IAAM5B,EAAMxD,KAAKqxH,wBAAwBrgF,GACzC4lD,EAAYpzF,EAAIozF,UAChB9lE,EAAIttB,EAAIstB,OACH,GAAiB,UAAb1rB,EAAsB,CAC/B,IAAM5B,EAAMxD,KAAKqxH,wBAAwBrgF,GACzC4lD,EAAYpzF,EAAIozF,UAChB9lE,EAAIttB,EAAIstB,OACH,GAAa,MAATw2D,EAAc,CACvB,GAAiB,WAAbliF,EACF80B,GAAMq2E,EAAUtiF,IAAMsiF,EAAUpgB,QAAU,EAAK+gC,OAC1C,GAAI3wC,GAASn7E,GAAW,CAC7B,IAAMqrH,EAAiBnyH,OAAOsH,KAAKR,GAAU,GACvCvF,EAAQuF,EAASqrH,GACvBv2F,EAAIl6B,KAAK4rF,MAAM0C,OAAOmiC,GAAgB/oC,iBAAiB7nF,GAASqxH,EAElEt6B,EAAY52F,KAAKoxH,+BACZ,GAAa,MAAT9pC,EAAc,CACvB,GAAiB,WAAbliF,EACF0rB,GAAMy/E,EAAUxiF,KAAOwiF,EAAUrgB,OAAS,EAAKghC,OAC1C,GAAI3wC,GAASn7E,GAAW,CAC7B,IAAMqrH,EAAiBnyH,OAAOsH,KAAKR,GAAU,GACvCvF,EAAQuF,EAASqrH,GACvB3/F,EAAI9wB,KAAK4rF,MAAM0C,OAAOmiC,GAAgB/oC,iBAAiB7nF,GAEzD+2F,EAAY52F,KAAKqxH,wBAAwBrgF,GAAI4lD,UAGlC,MAATtP,IACY,UAAVT,EACFgQ,EAAe,MACI,QAAVhQ,IACTgQ,EAAe,WAInB,IAAMs2B,EAAantH,KAAKotH,iBACxB,IAAKzvH,EAAI,EAAG0jF,EAAOqK,EAAM7tF,OAAQF,EAAI0jF,IAAQ1jF,EAAG,CAE9CuyG,EADOxkB,EAAM/tF,GACAuyG,MAEb,IAAMygB,EAAcnB,EAAYr1B,WAAWn6F,KAAKozF,WAAWz1F,IAC3Do1F,EAAQ/yF,KAAK4zG,gBAAgBj2G,GAAK6xH,EAAY/9B,YAE9Ch8E,GADA63E,EAAOttF,KAAKivH,wBAAwBtxH,IAClB8X,WAElB,IAAM67G,GADNN,EAAY9yH,GAAQgyG,GAASA,EAAMryG,OAAS,GACd,EACxBwrB,EAAQsnG,EAAYtnG,MACpB6sE,EAAcy6B,EAAYr/B,gBAC1B96E,EAAcm6G,EAAYt/B,gBAC5BkgC,EAAgB36B,EAEhB4e,GACF1kF,EAAIiiE,EAEc,UAAd6D,IAEA26B,EADE5zH,IAAM0jF,EAAO,EACErhF,KAAKkS,QAAQupC,QAAoB,OAAV,QACzB,IAAN99C,EACQqC,KAAKkS,QAAQupC,QAAmB,QAAT,OAExB,UAMhBw1E,EAFa,QAAb7rH,EACiB,SAAfysF,GAAsC,IAAbkC,GACbi9B,EAAYv7G,EAAaA,EAAa,EAC5B,WAAfo8E,GACKs7B,EAAWK,QAAQrmG,OAAS,EAAImqG,EAAY77G,EAAaA,GAEzD03G,EAAWK,QAAQrmG,OAAS1R,EAAa,EAItC,SAAfo8E,GAAsC,IAAbkC,EACdt+E,EAAa,EACF,WAAfo8E,EACIs7B,EAAWK,QAAQrmG,OAAS,EAAImqG,EAAY77G,EAE5C03G,EAAWK,QAAQrmG,OAAS6pG,EAAYv7G,EAGrD27E,IACF6/B,IAAe,GAEA,IAAbl9B,GAAmB48B,EAAY7+B,oBACjChhE,GAAKrb,EAAc,EAAK+G,KAAK+rE,IAAIwL,MAGnC75D,EAAI64D,EACJk+B,GAAc,EAAID,GAAav7G,EAAa,GAG9C,IAAI2gF,OAAAA,EAEJ,GAAIu6B,EAAY7+B,kBAAmB,CACjC,IAAM0/B,EAAej5B,GAAUo4B,EAAY3+B,iBACrC7qE,EAASgmG,EAAW2B,QAAQnxH,GAC5BupB,EAAQimG,EAAW0B,OAAOlxH,GAE5BswB,EAAMgjG,EAAaO,EAAavjG,IAChCF,EAAO,EAAIyjG,EAAazjG,KAE5B,OAAQ8oE,GACR,IAAK,SACH5oE,GAAO9G,EAAS,EAChB,MACF,IAAK,SACH8G,GAAO9G,EAMT,OAAQyvE,GACR,IAAK,SACH7oE,GAAQ7G,EAAQ,EAChB,MACF,IAAK,QACH6G,GAAQ7G,EAMVkvE,EAAW,CACTroE,KAAAA,EACAE,IAAAA,EACA/G,MAAOA,EAAQsqG,EAAatqG,MAC5BC,OAAQA,EAASqqG,EAAarqG,OAE9BkC,MAAOsnG,EAAY5+B,eAIvBxL,EAAMvoF,KAAK,CACTkyG,MAAAA,EACA5iB,KAAAA,EACA2jC,WAAAA,EACA/+G,QAAS,CACP6hF,SAAAA,EACA1qE,MAAAA,EACA6sE,YAAAA,EACA1/E,YAAAA,EACAogF,UAAW26B,EACX16B,aAAAA,EACAH,YAAa,CAAC5lE,EAAGoJ,GACjBk8D,SAAAA,KAKN,OAAO7P,yCAGT6qC,WACE,MAA0BpxH,KAAKkS,QAAxB9M,EAAP,EAAOA,SAAUsmF,EAAjB,EAAiBA,MAGjB,IAFkB3H,GAAU/jF,KAAK2pH,eAG/B,MAAoB,QAAbvkH,EAAqB,OAAS,QAGvC,IAAIyhF,EAAQ,SAUZ,MARoB,UAAhB6E,EAAM7E,MACRA,EAAQ,OACiB,QAAhB6E,EAAM7E,MACfA,EAAQ,QACiB,UAAhB6E,EAAM7E,QACfA,EAAQ,SAGHA,yCAGTwqC,SAAwBrgF,GACtB,IAKI4lD,EACA9lE,EANJ,EAAyD9wB,KAAKkS,QAAvD9M,EAAP,EAAOA,SAAP,IAAiBsmF,MAAQmG,EAAzB,EAAyBA,WAAYT,EAArC,EAAqCA,OAAQnB,EAA7C,EAA6CA,QAEvCihC,EAAiBlgF,EAAKi/C,EACtBq9B,EAFattH,KAAKotH,iBAEEE,OAAOpmG,MA6DjC,MAxDiB,SAAb9hB,EACEgsF,GACFtgE,EAAI9wB,KAAKkwF,MAAQD,EAEE,SAAf4B,EACF+E,EAAY,OACY,WAAf/E,GACT+E,EAAY,SACZ9lE,GAAMw8F,EAAS,IAEf12B,EAAY,QACZ9lE,GAAKw8F,KAGPx8F,EAAI9wB,KAAKkwF,MAAQghC,EAEE,SAAfr/B,EACF+E,EAAY,QACY,WAAf/E,GACT+E,EAAY,SACZ9lE,GAAMw8F,EAAS,IAEf12B,EAAY,OACZ9lE,EAAI9wB,KAAK+tB,OAGS,UAAb3oB,EACLgsF,GACFtgE,EAAI9wB,KAAK+tB,KAAOkiE,EAEG,SAAf4B,EACF+E,EAAY,QACY,WAAf/E,GACT+E,EAAY,SACZ9lE,GAAMw8F,EAAS,IAEf12B,EAAY,OACZ9lE,GAAKw8F,KAGPx8F,EAAI9wB,KAAK+tB,KAAOmjG,EAEG,SAAfr/B,EACF+E,EAAY,OACY,WAAf/E,GACT+E,EAAY,SACZ9lE,GAAKw8F,EAAS,IAEd12B,EAAY,QACZ9lE,EAAI9wB,KAAKkwF,QAIb0G,EAAY,QAGP,CAACA,UAAAA,EAAW9lE,EAAAA,oCAMrB2gG,WACE,IAAIzxH,KAAKkS,QAAQw5E,MAAM0F,OAAvB,CAIA,IAAMxF,EAAQ5rF,KAAK4rF,MACbxmF,EAAWpF,KAAKkS,QAAQ9M,SAE9B,MAAiB,SAAbA,GAAoC,UAAbA,EAClB,CAAC6oB,IAAK,EAAGF,KAAM/tB,KAAK+tB,KAAMoiE,OAAQvE,EAAMzkE,OAAQ+oE,MAAOlwF,KAAKkwF,OAClD,QAAb9qF,GAAmC,WAAbA,EACnB,CAAC6oB,IAAKjuB,KAAKiuB,IAAKF,KAAM,EAAGoiE,OAAQnwF,KAAKmwF,OAAQD,MAAOtE,EAAM1kE,YADlE,iCAQJwqG,WACE,IAAOhkC,EAA6D1tF,KAA7D0tF,IAAeX,EAA8C/sF,KAAxDkS,QAAU66E,gBAAkBh/D,EAA4B/tB,KAA5B+tB,KAAME,EAAsBjuB,KAAtBiuB,IAAK/G,EAAiBlnB,KAAjBknB,MAAOC,EAAUnnB,KAAVmnB,OACtD4lE,IACFW,EAAI8E,OACJ9E,EAAIiJ,UAAY5J,EAChBW,EAAI8J,SAASzpE,EAAME,EAAK/G,EAAOC,GAC/BumE,EAAIkF,+CAIR2kB,SAAqB13G,GACnB,IAAM0wF,EAAOvwF,KAAKkS,QAAQq+E,KAC1B,IAAKvwF,KAAKktH,eAAiB38B,EAAK5lD,QAC9B,OAAO,EAET,IACMplC,EADQvF,KAAK0rF,MACC5zC,WAAUlnB,SAAAA,GAAAA,OAAKA,EAAE/wB,QAAUA,KAC/C,OAAI0F,GAAS,EACEgrF,EAAK4J,WAAWn6F,KAAKozF,WAAW7tF,IACjCirF,UAEP,0BAMTmhC,SAASphB,GACP,IAGI5yG,EAAG0jF,EAHDkP,EAAOvwF,KAAKkS,QAAQq+E,KACpB7C,EAAM1tF,KAAK0tF,IACXnH,EAAQvmF,KAAK6pH,iBAAmB7pH,KAAK6pH,eAAiB7pH,KAAK0vH,sBAAsBnf,IAGjFqhB,EAAW,SAAC58C,EAAIC,EAAIr+D,GACnBA,EAAMsQ,OAAUtQ,EAAMyS,QAG3BqkE,EAAI8E,OACJ9E,EAAI8C,UAAY55E,EAAMsQ,MACtBwmE,EAAI4I,YAAc1/E,EAAMyS,MACxBqkE,EAAImkC,YAAYj7G,EAAM8tF,YAAc,IACpChX,EAAIokC,eAAiBl7G,EAAM+tF,iBAE3BjX,EAAI0G,YACJ1G,EAAI8G,OAAOxf,EAAGlkD,EAAGkkD,EAAG96C,GACpBwzD,EAAI+G,OAAOxf,EAAGnkD,EAAGmkD,EAAG/6C,GACpBwzD,EAAImH,SACJnH,EAAIkF,YAGN,GAAIrC,EAAK5lD,QACP,IAAKhtC,EAAI,EAAG0jF,EAAOkF,EAAM1oF,OAAQF,EAAI0jF,IAAQ1jF,EAAG,CAC9C,IAAM+kF,EAAO6D,EAAM5oF,GAEf4yF,EAAKE,iBACPmhC,EACE,CAAC9gG,EAAG4xD,EAAKutC,GAAI/1F,EAAGwoD,EAAKwtC,IACrB,CAACp/F,EAAG4xD,EAAKytC,GAAIj2F,EAAGwoD,EAAK0tC,IACrB1tC,GAIA6N,EAAKG,WACPkhC,EACE,CAAC9gG,EAAG4xD,EAAKmtC,IAAK31F,EAAGwoD,EAAKotC,KACtB,CAACh/F,EAAG4xD,EAAKqtC,IAAK71F,EAAGwoD,EAAKstC,KACtB,CACE3mG,MAAOq5D,EAAKoO,UACZ5pE,MAAOw7D,EAAKkO,UACZ8T,WAAYhiB,EAAKouC,eACjBnsB,iBAAkBjiB,EAAKquC,kDAWnCgB,WACE,IAAOnmC,EAAuC5rF,KAAvC4rF,MAAO8B,EAAgC1tF,KAAhC0tF,IAAd,EAA8C1tF,KAA3BkS,QAAU6+E,EAA7B,EAA6BA,OAAQR,EAArC,EAAqCA,KAC/B8/B,EAAat/B,EAAOoJ,WAAWn6F,KAAKozF,cACpCk9B,EAAYv/B,EAAOpmD,QAAU0lF,EAAWnpG,MAAQ,EACtD,GAAKopG,EAAL,CAGA,IAEIL,EAAIE,EAAID,EAAIE,EAFV4B,EAAgBzhC,EAAK4J,WAAWn6F,KAAKozF,WAAW,IAAI5C,UACpDm/B,EAAc3vH,KAAKsqH,aAGrBtqH,KAAKw1G,gBACPya,EAAKn9B,GAAYlH,EAAO5rF,KAAK+tB,KAAMuiG,GAAaA,EAAY,EAC5DH,EAAKr9B,GAAYlH,EAAO5rF,KAAKkwF,MAAO8hC,GAAiBA,EAAgB,EACrE9B,EAAKE,EAAKT,IAEVO,EAAKp9B,GAAYlH,EAAO5rF,KAAKiuB,IAAKqiG,GAAaA,EAAY,EAC3DF,EAAKt9B,GAAYlH,EAAO5rF,KAAKmwF,OAAQ6hC,GAAiBA,EAAgB,EACtE/B,EAAKE,EAAKR,GAEZjiC,EAAI8E,OACJ9E,EAAI8C,UAAY6/B,EAAWnpG,MAC3BwmE,EAAI4I,YAAc+5B,EAAWhnG,MAE7BqkE,EAAI0G,YACJ1G,EAAI8G,OAAOy7B,EAAIC,GACfxiC,EAAI+G,OAAO07B,EAAIC,GACf1iC,EAAImH,SAEJnH,EAAIkF,qCAMNq/B,SAAW1hB,GAGT,GAFoBvwG,KAAKkS,QAAQw5E,MAEhB/gD,QAAjB,CAIA,IAAM+iD,EAAM1tF,KAAK0tF,IAEXv2E,EAAOnX,KAAKyxH,oBACdt6G,GACF89E,GAASvH,EAAKv2E,GAGhB,IAdoB,OAcNnX,KAAK8qH,cAAcva,IAdb,IAepB,IAAK,EAAL,qBAA0B,KAAf7tB,EAAe,QAClBwvC,EAAoBxvC,EAAKxwE,QACzBu8G,EAAW/rC,EAAK4K,KAGtBwI,GAAWpI,EAFGhL,EAAKwtB,MAEI,EADbxtB,EAAKuuC,WACcxC,EAAUyD,IApBrB,8BAuBhB/6G,GACFg+E,GAAWzH,6BAOfykC,WACE,IAAOzkC,EAA4C1tF,KAA5C0tF,IAAP,EAAmD1tF,KAAvCkS,QAAU9M,EAAtB,EAAsBA,SAAUm7C,EAAhC,EAAgCA,MAAO9E,EAAvC,EAAuCA,QAEvC,GAAK8E,EAAM5V,QAAX,CAIA,IAAM2iD,EAAOkL,GAAOj4C,EAAM+sC,MACpB2C,EAAUsI,GAAUh4C,EAAM0vC,SAC1BpJ,EAAQtmC,EAAMsmC,MAChB/6D,EAASwhE,EAAK73E,WAAa,EAEd,WAAbrQ,GAAsC,WAAbA,GAAyBm7E,GAASn7E,IAC7D0mB,GAAUmkE,EAAQE,OACdjyF,GAAQqiD,EAAMz2B,QAChBgC,GAAUwhE,EAAK73E,YAAc8qC,EAAMz2B,KAAKjsB,OAAS,KAGnDiuB,GAAUmkE,EAAQhiE,IAGpB,MAh8CJ,SAAmBogE,EAAOviE,EAAQ1mB,EAAUyhF,GAC1C,IAGIrwC,EAAU47E,EAAQC,EAHfpkG,EAAmCogE,EAAnCpgE,IAAKF,EAA8BsgE,EAA9BtgE,KAAMoiE,EAAwB9B,EAAxB8B,OAAQD,EAAgB7B,EAAhB6B,MAAOtE,EAASyC,EAATzC,MAC1B2kB,EAAqB3kB,EAArB2kB,UAAWjiB,EAAU1C,EAAV0C,OACdyF,EAAW,EAET5sE,EAASgpE,EAASliE,EAClB/G,EAAQgpE,EAAQniE,EAEtB,GAAIsgE,EAAMmnB,eAAgB,CAGxB,GAFA4c,EAAStrC,GAAeD,EAAO94D,EAAMmiE,GAEjC3P,GAASn7E,GAAW,CACtB,IAAMqrH,EAAiBnyH,OAAOsH,KAAKR,GAAU,GACvCvF,EAAQuF,EAASqrH,GACvB4B,EAAS/jC,EAAOmiC,GAAgB/oC,iBAAiB7nF,GAASsnB,EAAS2E,OAEnEumG,EADsB,WAAbjtH,GACCmrG,EAAUpgB,OAASogB,EAAUtiF,KAAO,EAAI9G,EAAS2E,EAElDy8F,GAAel6B,EAAOjpF,EAAU0mB,GAE3C0qB,EAAW05C,EAAQniE,MACd,CACL,GAAIwyD,GAASn7E,GAAW,CACtB,IAAMqrH,EAAiBnyH,OAAOsH,KAAKR,GAAU,GACvCvF,EAAQuF,EAASqrH,GACvB2B,EAAS9jC,EAAOmiC,GAAgB/oC,iBAAiB7nF,GAASqnB,EAAQ4E,OAElEsmG,EADsB,WAAbhtH,GACCmrG,EAAUxiF,KAAOwiF,EAAUrgB,OAAS,EAAIhpE,EAAQ4E,EAEjDy8F,GAAel6B,EAAOjpF,EAAU0mB,GAE3CumG,EAASvrC,GAAeD,EAAOsJ,EAAQliE,GACvC8lE,EAAwB,SAAb3uF,GAAuB69E,GAAUA,GAE9C,MAAO,CAACmvC,OAAAA,EAAQC,OAAAA,EAAQ77E,SAAAA,EAAUu9C,SAAAA,GA85Cau+B,CAAUtyH,KAAM8rB,EAAQ1mB,EAAUyhF,GAAxEurC,EAAP,EAAOA,OAAQC,EAAf,EAAeA,OAAQ77E,EAAvB,EAAuBA,SAAUu9C,EAAjC,EAAiCA,SAEjC+B,GAAWpI,EAAKntC,EAAMz2B,KAAM,EAAG,EAAGwjE,EAAM,CACtCjkE,MAAOk3B,EAAMl3B,MACbmtB,SAAAA,EACAu9C,SAAAA,EACA6C,UAAWuyB,GAAWtiC,EAAOzhF,EAAUq2C,GACvCo7C,aAAc,SACdH,YAAa,CAAC07B,EAAQC,0BAI1B1sB,SAAK4K,GACEvwG,KAAKktH,eAIVltH,KAAK0xH,iBACL1xH,KAAK2xH,SAASphB,GACdvwG,KAAK+xH,aACL/xH,KAAKmyH,YACLnyH,KAAKiyH,WAAW1hB,2BAOlB4R,WAAU,WACFnsB,EAAOh2F,KAAKkS,QACZqgH,EAAKv8B,EAAKtK,OAASsK,EAAKtK,MAAMn/E,GAAK,EACnCimH,EAAK7xC,GAAeqV,EAAKzF,MAAQyF,EAAKzF,KAAKhkF,GAAI,GAC/CkmH,EAAK9xC,GAAeqV,EAAKjF,QAAUiF,EAAKjF,OAAOxkF,EAAG,GAExD,OAAKvM,KAAKktH,cAAgBltH,KAAK2lG,OAAS0jB,EAAM9qH,UAAUonG,KAUjD,CAAC,CACNp5F,EAAGimH,EACH7sB,KAAM,SAAC4K,GACL,EAAKmhB,iBACL,EAAKC,SAASphB,GACd,EAAK4hB,cAEN,CACD5lH,EAAGkmH,EACH9sB,KAAM,WACJ,EAAKosB,eAEN,CACDxlH,EAAGgmH,EACH5sB,KAAM,SAAC4K,GACL,EAAK0hB,WAAW1hB,MAvBX,CAAC,CACNhkG,EAAGgmH,EACH5sB,KAAM,SAAC4K,GACL,EAAK5K,KAAK4K,6CA8BlBrG,SAAwBtoG,GACtB,IAGIjE,EAAG0jF,EAHDqpC,EAAQ1qH,KAAK4rF,MAAM6yB,+BACnBiU,EAAS1yH,KAAKsnF,KAAO,SACrB7kB,EAAS,GAGf,IAAK9kE,EAAI,EAAG0jF,EAAOqpC,EAAM7sH,OAAQF,EAAI0jF,IAAQ1jF,EAAG,CAC9C,IAAMka,EAAO6yG,EAAM/sH,GACfka,EAAK66G,KAAY1yH,KAAK4gB,IAAQhf,GAAQiW,EAAKjW,OAASA,GACtD6gE,EAAOzkE,KAAK6Z,GAGhB,OAAO4qD,yCAQTwsD,SAAwB1pH,GAEtB,OAAOizF,GADMx4F,KAAKkS,QAAQw5E,MAAMyO,WAAWn6F,KAAKozF,WAAW7tF,IACxC+nF,gCAMrBqlC,WACE,IAAMC,EAAW5yH,KAAKivH,wBAAwB,GAAGx5G,WACjD,OAAQzV,KAAKw1G,eAAiBx1G,KAAKknB,MAAQlnB,KAAKmnB,QAAUyrG,QA9/CzCvJ,CAAct1E,IC/Jd8+E,GAAAA,WACnBriH,SAAAA,EAAY5O,EAAM+qF,EAAO+B,GAAU,UACjC1uF,KAAK4B,KAAOA,EACZ5B,KAAK2sF,MAAQA,EACb3sF,KAAK0uF,SAAWA,EAChB1uF,KAAKumF,MAAQjoF,OAAO4D,OAAO,0CAG7B4wH,SAAUlxH,GACR,OAAOtD,OAAOC,UAAUw0H,cAAct0H,KAAKuB,KAAK4B,KAAKrD,UAAWqD,EAAKrD,mCAOvEy0H,SAAStwC,GACP,IACIuwC,EADEn6E,EAAQx6C,OAAOgG,eAAeo+E,IA0FxC,SAA2B5pC,GACzB,MAAO,OAAQA,GAAS,aAAcA,GAxFhCo6E,CAAkBp6E,KAEpBm6E,EAAcjzH,KAAKgzH,SAASl6E,IAG9B,IAAMytC,EAAQvmF,KAAKumF,MACb3lE,EAAK8hE,EAAK9hE,GACV+rE,EAAQ3sF,KAAK2sF,MAAQ,IAAM/rE,EAEjC,IAAKA,EACH,MAAM,IAAIpe,MAAM,2BAA6BkgF,GAG/C,OAAI9hE,KAAM2lE,IAKVA,EAAM3lE,GAAM8hE,EAsChB,SAA0BA,EAAMiK,EAAOsmC,GAErC,IAAME,EAAerxC,GAAMxjF,OAAO4D,OAAO,MAAO,CAC9C+wH,EAAc5jC,GAASlrF,IAAI8uH,GAAe,GAC1C5jC,GAASlrF,IAAIwoF,GACbjK,EAAK2M,WAGPA,GAASjrF,IAAIuoF,EAAOwmC,GAEhBzwC,EAAK0wC,eASX,SAAuBzmC,EAAO/iB,GAC5BtrE,OAAOsH,KAAKgkE,GAAQn9D,SAAQqmE,SAAAA,GAC1B,IAAMugD,EAAgBvgD,EAAStmE,MAAM,KAC/B8mH,EAAaD,EAAc7tH,MAC3B+tH,EAAc,CAAC5mC,GAAOltF,OAAO4zH,GAAe30H,KAAK,KACjD80H,EAAQ5pD,EAAOkJ,GAAUtmE,MAAM,KAC/BoiF,EAAa4kC,EAAMhuH,MACnBmpF,EAAc6kC,EAAM90H,KAAK,KAC/B2wF,GAASxkB,MAAM0oD,EAAaD,EAAY3kC,EAAaC,MAhBrD6kC,CAAc9mC,EAAOjK,EAAK0wC,eAGxB1wC,EAAK8J,aACP6C,GAASZ,SAAS9B,EAAOjK,EAAK8J,aApD9BknC,CAAiBhxC,EAAMiK,EAAOsmC,GAC1BjzH,KAAK0uF,UACPW,GAASX,SAAShM,EAAK9hE,GAAI8hE,EAAK6J,YANzBI,qBAgBXxoF,SAAIyc,GACF,OAAO5gB,KAAKumF,MAAM3lE,6BAMpB+yG,SAAWjxC,GACT,IAAM6D,EAAQvmF,KAAKumF,MACb3lE,EAAK8hE,EAAK9hE,GACV+rE,EAAQ3sF,KAAK2sF,MAEf/rE,KAAM2lE,UACDA,EAAM3lE,GAGX+rE,GAAS/rE,KAAMyuE,GAAS1C,YACnB0C,GAAS1C,GAAO/rE,GACnB5gB,KAAK0uF,iBACAnC,GAAU3rE,UAtEJiyG,OCGRe,GAAAA,WACXpjH,SAAAA,IAAc,UACZxQ,KAAK6zH,YAAc,IAAIhB,GAAcznB,GAAmB,YAAY,GACpEprG,KAAKqtF,SAAW,IAAIwlC,GAAc9+E,GAAS,YAC3C/zC,KAAK03C,QAAU,IAAIm7E,GAAcv0H,OAAQ,WACzC0B,KAAKsuF,OAAS,IAAIukC,GAAcxJ,GAAO,UAGvCrpH,KAAK8zH,iBAAmB,CAAC9zH,KAAK6zH,YAAa7zH,KAAKsuF,OAAQtuF,KAAKqtF,wCAM/DliF,WAAa,2BAAN/L,EAAM,yBAANA,EAAM,gBACXY,KAAK+zH,MAAM,WAAY30H,yBAGzBinG,WAAgB,2BAANjnG,EAAM,yBAANA,EAAM,gBACdY,KAAK+zH,MAAM,aAAc30H,iCAM3B40H,WAAwB,2BAAN50H,EAAM,yBAANA,EAAM,gBACtBY,KAAK+zH,MAAM,WAAY30H,EAAMY,KAAK6zH,wCAMpCvnB,WAAqB,2BAANltG,EAAM,yBAANA,EAAM,gBACnBY,KAAK+zH,MAAM,WAAY30H,EAAMY,KAAKqtF,oCAMpC4mC,WAAoB,2BAAN70H,EAAM,yBAANA,EAAM,gBAClBY,KAAK+zH,MAAM,WAAY30H,EAAMY,KAAK03C,kCAMpCw8E,WAAmB,2BAAN90H,EAAM,yBAANA,EAAM,gBACjBY,KAAK+zH,MAAM,WAAY30H,EAAMY,KAAKsuF,qCAOpC6lC,SAAcvzG,GACZ,OAAO5gB,KAAK+yE,KAAKnyD,EAAI5gB,KAAK6zH,YAAa,wCAOzCnW,SAAW98F,GACT,OAAO5gB,KAAK+yE,KAAKnyD,EAAI5gB,KAAKqtF,SAAU,oCAOtC+mC,SAAUxzG,GACR,OAAO5gB,KAAK+yE,KAAKnyD,EAAI5gB,KAAK03C,QAAS,kCAOrC28E,SAASzzG,GACP,OAAO5gB,KAAK+yE,KAAKnyD,EAAI5gB,KAAKsuF,OAAQ,0CAMpCgmC,WAA2B,2BAANl1H,EAAM,yBAANA,EAAM,gBACzBY,KAAK+zH,MAAM,aAAc30H,EAAMY,KAAK6zH,2CAMtCU,WAAwB,2BAANn1H,EAAM,yBAANA,EAAM,gBACtBY,KAAK+zH,MAAM,aAAc30H,EAAMY,KAAKqtF,uCAMtCmnC,WAAuB,2BAANp1H,EAAM,yBAANA,EAAM,gBACrBY,KAAK+zH,MAAM,aAAc30H,EAAMY,KAAK03C,qCAMtC+8E,WAAsB,2BAANr1H,EAAM,yBAANA,EAAM,gBACpBY,KAAK+zH,MAAM,aAAc30H,EAAMY,KAAKsuF,6BAMtCylC,SAAM5xD,EAAQ/iE,EAAMs1H,GAAe,WACjC,GAAIt1H,GAAMqN,SAAQ3O,SAAAA,GAChB,IAAM62H,EAAMD,GAAiB,EAAKE,oBAAoB92H,GAClD42H,GAAiBC,EAAI7B,UAAUh1H,IAAS62H,IAAQ,EAAKj9E,SAAW55C,EAAI8iB,GACtE,EAAKi0G,MAAM1yD,EAAQwyD,EAAK72H,GAMxBkjF,GAAKljF,GAAK4kF,SAAAA,GAOR,IAAMoyC,EAAUJ,GAAiB,EAAKE,oBAAoBlyC,GAC1D,EAAKmyC,MAAM1yD,EAAQ2yD,EAASpyC,8BASpCmyC,SAAM1yD,EAAQs7C,EAAUr2G,GACtB,IAAM2tH,EAAcxyC,GAAYpgB,GAChC1jE,GAAK2I,EAAU,SAAW2tH,GAAc,GAAI3tH,GAC5Cq2G,EAASt7C,GAAQ/6D,GACjB3I,GAAK2I,EAAU,QAAU2tH,GAAc,GAAI3tH,sCAM7CwtH,SAAoBhzH,GAClB,IAAK,IAAIjE,EAAI,EAAGA,EAAIqC,KAAK8zH,iBAAiBj2H,OAAQF,IAAK,CACrD,IAAMg3H,EAAM30H,KAAK8zH,iBAAiBn2H,GAClC,GAAIg3H,EAAI7B,UAAUlxH,GAChB,OAAO+yH,EAIX,OAAO30H,KAAK03C,4BAMdq7B,SAAKnyD,EAAI8zG,EAAe9yH,GACtB,IAAM8gF,EAAOgyC,EAAcvwH,IAAIyc,GAC/B,QAAa1f,IAATwhF,EACF,MAAM,IAAIlgF,MAAM,IAAMoe,EAAK,yBAA2Bhf,EAAO,KAE/D,OAAO8gF,QAzKEkxC,GA+Kb,GAA+B,IAAIA,GCtKdoB,GAAAA,WACnBxkH,SAAAA,IAAc,UACZxQ,KAAKiQ,MAAQ,oCAafglH,SAAOrpC,EAAOp0C,EAAMp4C,EAAMy9C,GACX,eAATrF,IACFx3C,KAAKiQ,MAAQjQ,KAAKk1H,mBAAmBtpC,GAAO,GAC5C5rF,KAAKklG,QAAQllG,KAAKiQ,MAAO27E,EAAO,YAGlC,IAAMY,EAAc3vC,EAAS78C,KAAK6sF,aAAajB,GAAO/uC,OAAOA,GAAU78C,KAAK6sF,aAAajB,GACnFnpB,EAASziE,KAAKklG,QAAQ1Y,EAAaZ,EAAOp0C,EAAMp4C,GAMtD,MAJa,iBAATo4C,IACFx3C,KAAKklG,QAAQ1Y,EAAaZ,EAAO,QACjC5rF,KAAKklG,QAAQllG,KAAKiQ,MAAO27E,EAAO,cAE3BnpB,yBAMTyiC,SAAQ1Y,EAAaZ,EAAOp0C,EAAMp4C,GAChCA,EAAOA,GAAQ,GADuB,WAEbotF,GAFa,IAEtC,IAAK,EAAL,qBAAsC,KAA3BtkF,EAA2B,QAC9B6vC,EAAS7vC,EAAW6vC,OAG1B,IAA6C,IAAzCo9E,GAFWp9E,EAAOP,GACP,CAACo0C,EAAOxsF,EAAM8I,EAAWgK,SACP6lC,IAAqB34C,EAAKujB,WACzD,OAAO,GAP2B,8BAWtC,OAAO,4BAGTyyG,WAMO90C,GAActgF,KAAKszG,UACtBtzG,KAAKq1H,UAAYr1H,KAAKszG,OACtBtzG,KAAKszG,YAASpyG,+BAQlB2rF,SAAajB,GACX,GAAI5rF,KAAKszG,OACP,OAAOtzG,KAAKszG,OAGd,IAAM9mB,EAAcxsF,KAAKszG,OAAStzG,KAAKk1H,mBAAmBtpC,GAI1D,OAFA5rF,KAAKs1H,oBAAoB1pC,GAElBY,oCAGT0oC,SAAmBtpC,EAAOjvB,GACxB,IAAMorC,EAASnc,GAASA,EAAMmc,OACxB71F,EAAUyuE,GAAeonB,EAAO71F,SAAW61F,EAAO71F,QAAQwlC,QAAS,IACnEA,EAqBV,SAAoBqwD,GAIlB,IAHA,IAAMwtB,EAAW,GACX79E,EAAU,GACV9xC,EAAOtH,OAAOsH,KAAK63G,GAAS/lE,QAAQ6uC,OACjC5oF,EAAI,EAAGA,EAAIiI,EAAK/H,OAAQF,IAC/B+5C,EAAQ15C,KAAKy/G,GAAS2W,UAAUxuH,EAAKjI,KAIvC,IADA,IAAMqxF,EAAQ+Y,EAAOrwD,SAAW,GACvB/5C,EAAI,EAAGA,EAAIqxF,EAAMnxF,OAAQF,IAAK,CACrC,IAAMo6C,EAASi3C,EAAMrxF,IAEY,IAA7B+5C,EAAQ7gC,QAAQkhC,KAClBL,EAAQ15C,KAAK+5C,GACbw9E,EAASx9E,EAAOn3B,KAAM,GAI1B,MAAO,CAAC82B,QAAAA,EAAS69E,SAAAA,GAvCCC,CAAWztB,GAE3B,OAAmB,IAAZ71F,GAAsByqD,EAkDjC,SAA2BivB,EAA3B,EAAuD15E,EAASyqD,GAAK,MAAlCjlB,EAAkC,EAAlCA,QAAS69E,EAAyB,EAAzBA,SACpC9yD,EAAS,GACT59D,EAAU+mF,EAAMwH,aAF6C,KAI9C17C,GAJ8C,IAInE,IAAK,EAAL,qBAA8B,KAAnBK,EAAmB,QACtBn3B,EAAKm3B,EAAOn3B,GACZo1E,EAAOy/B,GAAQvjH,EAAQ0O,GAAK+7C,GACrB,OAATq5B,GAGJvzB,EAAOzkE,KAAK,CACV+5C,OAAAA,EACA7lC,QAASwjH,GAAW9pC,EAAMmc,OAAQ,CAAChwD,OAAAA,EAAQi3C,MAAOumC,EAAS30G,IAAMo1E,EAAMnxF,MAZR,8BAgBnE,OAAO49D,EAlEmCkzD,CAAkB/pC,EAAOl0C,EAASxlC,EAASyqD,GAAhD,sCAOrC24D,SAAoB1pC,GAClB,IAAMgqC,EAAsB51H,KAAKq1H,WAAa,GACxC7oC,EAAcxsF,KAAKszG,OACnBwK,EAAO,SAACpzG,EAAGC,GAAJ,OAAUD,EAAEmyC,QAAO/rB,SAAAA,GAAAA,OAAMnmB,EAAE2wC,MAAKphB,SAAAA,GAAAA,OAAKpJ,EAAEinB,OAAOn3B,KAAOsZ,EAAE6d,OAAOn3B,UAC3E5gB,KAAKklG,QAAQ4Y,EAAK8X,EAAqBppC,GAAcZ,EAAO,QAC5D5rF,KAAKklG,QAAQ4Y,EAAKtxB,EAAaopC,GAAsBhqC,EAAO,eA7F3CopC,GAyHrB,SAASS,GAAQvjH,EAASyqD,GACxB,OAAKA,IAAmB,IAAZzqD,GAGI,IAAZA,EACK,GAEFA,EALE,KA2BX,SAASwjH,GAAW3tB,EAApB,EAA6C/R,EAAMnxF,GAAS,IAA/BkzC,EAA+B,EAA/BA,OAAQi3C,EAAuB,EAAvBA,MAC7BppF,EAAOmiG,EAAO8tB,gBAAgB99E,GAC9B+gD,EAASiP,EAAOuG,gBAAgBtY,EAAMpwF,GAK5C,OAJIopF,GAASj3C,EAAOs3C,UAElByJ,EAAO96F,KAAK+5C,EAAOs3C,UAEd0Y,EAAOwG,eAAezV,EAAQj0F,EAAS,CAAC,IAAK,CAElD+1F,YAAY,EACZC,WAAW,EACXF,SAAS,IChLN,SAASm7B,GAAal0H,EAAMsQ,GACjC,IAAM6jH,EAAkB1mC,GAASpC,SAASrrF,IAAS,GAEnD,QADwBsQ,EAAQ+6E,UAAY,IAAIrrF,IAAS,IACnCisF,WAAa37E,EAAQ27E,WAAakoC,EAAgBloC,WAAa,IA0BhF,SAASmoC,GAAcp1G,EAAIq1G,GAChC,GAAW,MAAPr1G,GAAqB,MAAPA,GAAqB,MAAPA,EAC9B,OAAOA,EAOT,GAJAA,EAAKq1G,EAAa3uC,MAdpB,SAA0BliF,GACxB,MAAiB,QAAbA,GAAmC,WAAbA,EACjB,IAEQ,SAAbA,GAAoC,UAAbA,EAClB,SADT,EAWK8wH,CAAiBD,EAAa7wH,WAC9Bwb,EAAG/iB,OAAS,GAAKm4H,GAAcp1G,EAAG,GAAGlU,cAAeupH,GAErDr1G,EACF,OAAOA,EAGT,MAAM,IAAIpe,MAAJ,oCAAuCrC,KAAvC,wDA+CR,SAASg2H,GAAYpuB,GACnB,IAAM71F,EAAU61F,EAAO71F,UAAY61F,EAAO71F,QAAU,IAEpDA,EAAQwlC,QAAUipC,GAAezuE,EAAQwlC,QAAS,IAClDxlC,EAAQo8E,OAhDV,SAA0ByZ,EAAQ71F,GAChC,IAAMkkH,EAAgB7pC,GAAUwb,EAAOnmG,OAAS,CAAC0sF,OAAQ,IACnD+nC,EAAenkH,EAAQo8E,QAAU,GACjCgoC,EAAiBR,GAAa/tB,EAAOnmG,KAAMsQ,GAC3Co8E,EAAShwF,OAAO4D,OAAO,MAqC7B,OAlCA5D,OAAOsH,KAAKywH,GAAc5pH,SAAQmU,SAAAA,GAChC,IAAM21G,EAAYF,EAAaz1G,GAC/B,IAAK2/D,GAASg2C,GACZ,OAAO5zH,QAAQ+B,MAAR/B,0CAAAA,OAAwDie,IAEjE,GAAI21G,EAAUv8B,OACZ,OAAOr3F,QAAQC,KAARD,kDAAAA,OAA+Die,IAExE,IAAM0mE,EAAO0uC,GAAcp1G,EAAI21G,GACzBC,EA7CV,SAAmClvC,EAAMuG,GACvC,OAAOvG,IAASuG,EAAY,UAAY,UA4CpB4oC,CAA0BnvC,EAAMgvC,GAC5CI,EAAsBN,EAAc9nC,QAAU,GACpDA,EAAO1tE,GAAMqhE,GAAQ3jF,OAAO4D,OAAO,MAAO,CAAC,CAAColF,KAAAA,GAAOivC,EAAWG,EAAoBpvC,GAAOovC,EAAoBF,QAI/GzuB,EAAO1iF,KAAK4nE,SAASxgF,SAAQg6B,SAAAA,GAC3B,IAAM7kC,EAAO6kC,EAAQ7kC,MAAQmmG,EAAOnmG,KAC9BisF,EAAYpnD,EAAQonD,WAAaioC,GAAal0H,EAAMsQ,GAEpDwkH,GADkBnqC,GAAU3qF,IAAS,IACC0sF,QAAU,GACtDhwF,OAAOsH,KAAK8wH,GAAqBjqH,SAAQkqH,SAAAA,GACvC,IAAMrvC,EAnEZ,SAAmC1mE,EAAIitE,GACrC,IAAIvG,EAAO1mE,EAMX,MALW,YAAPA,EACF0mE,EAAOuG,EACS,YAAPjtE,IACT0mE,EAAqB,MAAduG,EAAoB,IAAM,KAE5BvG,EA4DUsvC,CAA0BD,EAAW9oC,GAC5CjtE,EAAK6lB,EAAQ6gD,EAAO,WAAaA,EACvCgH,EAAO1tE,GAAM0tE,EAAO1tE,IAAOtiB,OAAO4D,OAAO,MACzC+/E,GAAQqM,EAAO1tE,GAAK,CAAC,CAAC0mE,KAAAA,GAAO+uC,EAAaz1G,GAAK81G,EAAoBC,WAKvEr4H,OAAOsH,KAAK0oF,GAAQ7hF,SAAQjO,SAAAA,GAC1B,IAAM6vF,EAAQC,EAAO9vF,GACrByjF,GAAQoM,EAAO,CAACgB,GAASf,OAAOD,EAAMzsF,MAAOytF,GAAShB,WAGjDC,EAOUuoC,CAAiB9uB,EAAQ71F,GAG5C,SAAS4kH,GAASzxG,GAIhB,OAHAA,EAAOA,GAAQ,IACV4nE,SAAW5nE,EAAK4nE,UAAY,GACjC5nE,EAAKupF,OAASvpF,EAAKupF,QAAU,GACtBvpF,EAYT,IAAM0xG,GAAW,IAAIp4G,IACfq4G,GAAa,IAAIjsH,IAEvB,SAASksH,GAAWn9E,EAAUo9E,GAC5B,IAAItxH,EAAOmxH,GAAS5yH,IAAI21C,GAMxB,OALKl0C,IACHA,EAAOsxH,IACPH,GAAS3yH,IAAI01C,EAAUl0C,GACvBoxH,GAAW7rH,IAAIvF,IAEVA,EAGT,IAAMuxH,GAAa,SAAC/yH,EAAKg0C,EAAK55C,GAC5B,IAAMw3F,EAAO1T,GAAiBlqC,EAAK55C,QACtB0C,IAAT80F,GACF5xF,EAAI+G,IAAI6qF,IAISohC,GAAAA,WACnB5mH,SAAAA,EAAYu3F,GAAQ,UAClB/nG,KAAKq3H,QA/BT,SAAoBtvB,GAMlB,OALAA,EAASA,GAAU,IACZ1iF,KAAOyxG,GAAS/uB,EAAO1iF,MAE9B8wG,GAAYpuB,GAELA,EAyBUuvB,CAAWvvB,GAC1B/nG,KAAKu3H,YAAc,IAAI54G,IACvB3e,KAAKw3H,eAAiB,IAAI74G,qCAG5B,WACE,OAAO3e,KAAKq3H,QAAQlqC,2BAGtB,WACE,OAAOntF,KAAKq3H,QAAQz1H,UAGtB,SAASA,GACP5B,KAAKq3H,QAAQz1H,KAAOA,oBAGtB,WACE,OAAO5B,KAAKq3H,QAAQhyG,UAGtB,SAASA,GACPrlB,KAAKq3H,QAAQhyG,KAAOyxG,GAASzxG,wBAG/B,WACE,OAAOrlB,KAAKq3H,QAAQnlH,aAGtB,SAAYA,GACVlS,KAAKq3H,QAAQnlH,QAAUA,uBAGzB,WACE,OAAOlS,KAAKq3H,QAAQ3/E,8BAGtB+vD,WACE,IAAMM,EAAS/nG,KAAKq3H,QACpBr3H,KAAKy3H,aACLtB,GAAYpuB,6BAGd0vB,WACEz3H,KAAKu3H,YAAYG,QACjB13H,KAAKw3H,eAAeE,wCAStBrpB,SAAiBspB,GACf,OAAOV,GAAWU,GAChB,iBAAM,CAAC,CAAC,YAAD,OACOA,GACZ,iDAWNvmB,SAA0BumB,EAAan3G,GACrC,OAAOy2G,GAAW,GAAXA,OAAcU,EAAdV,gBAAAA,OAAwCz2G,IAC7C,iBAAM,CACJ,CAAC,YAAD,OACcm3G,EADd,wBACyCn3G,GADzC,sBAEiBA,IAGjB,CAAC,YAAD,OACcm3G,GACZ,+CAaR3mB,SAAwB2mB,EAAa9tH,GACnC,OAAOotH,GAAW,GAAXA,OAAcU,EAAdV,KAAAA,OAA6BptH,IAClC,iBAAM,CAAC,CAAC,YAAD,OACO8tH,EADP,qBAC+B9tH,GAD/B,mBAEO8tH,GAFP,mBAGO9tH,GACZ,uCASNgsH,SAAgB99E,GACd,IAAMn3B,EAAKm3B,EAAOn3B,GACZhf,EAAO5B,KAAK4B,KAClB,OAAOq1H,GAAW,GAAXA,OAAcr1H,EAAdq1H,YAAAA,OAA6Br2G,IAClC,iBAAM,CAAC,CAAC,WAAF,OACOA,IADP,UAEDm3B,EAAO6/E,wBAA0B,sCAO1CC,SAAcC,EAAWC,GACvB,IAAMR,EAAcv3H,KAAKu3H,YACrBnoF,EAAQmoF,EAAYpzH,IAAI2zH,GAK5B,OAJK1oF,IAAS2oF,IACZ3oF,EAAQ,IAAIzwB,IACZ44G,EAAYnzH,IAAI0zH,EAAW1oF,IAEtBA,iCASTk/D,SAAgBwpB,EAAWE,EAAUD,GACnC,IAAO7lH,EAAiBlS,KAAjBkS,QAAStQ,EAAQ5B,KAAR4B,KACVwtC,EAAQpvC,KAAK63H,cAAcC,EAAWC,GACtC5sB,EAAS/7D,EAAMjrC,IAAI6zH,GACzB,GAAI7sB,EACF,OAAOA,EAGT,IAAMrS,EAAS,IAAI/tF,IAEnBitH,EAASvrH,SAAQ7G,SAAAA,GACXkyH,IACFh/B,EAAO3tF,IAAI2sH,GACXlyH,EAAK6G,SAAQjO,SAAAA,GAAAA,OAAO24H,GAAWr+B,EAAQg/B,EAAWt5H,OAEpDoH,EAAK6G,SAAQjO,SAAAA,GAAAA,OAAO24H,GAAWr+B,EAAQ5mF,EAAS1T,MAChDoH,EAAK6G,SAAQjO,SAAAA,GAAAA,OAAO24H,GAAWr+B,EAAQvM,GAAU3qF,IAAS,GAAIpD,MAC9DoH,EAAK6G,SAAQjO,SAAAA,GAAAA,OAAO24H,GAAWr+B,EAAQzJ,GAAU7wF,MACjDoH,EAAK6G,SAAQjO,SAAAA,GAAAA,OAAO24H,GAAWr+B,EAAQtM,GAAahuF,SAGtD,IAAM0K,EAAQjL,MAAM8qD,KAAK+vC,GAOzB,OANqB,IAAjB5vF,EAAMrL,QACRqL,EAAMlL,KAAKM,OAAO4D,OAAO,OAEvB80H,GAAW5mG,IAAI4nG,IACjB5oF,EAAMhrC,IAAI4zH,EAAU9uH,GAEfA,mCAOT+uH,WACE,IAAO/lH,EAAiBlS,KAAjBkS,QAAStQ,EAAQ5B,KAAR4B,KAEhB,MAAO,CACLsQ,EACAq6E,GAAU3qF,IAAS,GACnBytF,GAASpC,SAASrrF,IAAS,GAC3B,CAACA,KAAAA,GACDytF,GACA7C,uCAWJykB,SAAoBnY,EAAQ1jB,EAAOvwE,GAA0B,IAAjBk0F,EAAiB,uDAAN,CAAC,IAChDt2B,EAAS,CAAC8lC,SAAS,GACzB,EAAgC2vB,GAAYl4H,KAAKw3H,eAAgB1+B,EAAQC,GAAlEr4F,EAAP,EAAOA,SAAUy3H,EAAjB,EAAiBA,YACbjmH,EAAUxR,EACd,GAAI03H,GAAY13H,EAAU00E,GAAQ,CAChC3S,EAAO8lC,SAAU,EACjB1jG,EAAUg3C,GAAWh3C,GAAWA,IAAYA,EAE5C,IAAMwzH,EAAcr4H,KAAKuuG,eAAezV,EAAQj0F,EAASszH,GACzDjmH,EAAUynF,GAAej5F,EAAUmE,EAASwzH,GATa,WAYxCjjD,GAZwC,IAY3D,IAAK,EAAL,qBAA0B,KAAfzO,EAAe,QACxBlE,EAAOkE,GAAQz0D,EAAQy0D,IAbkC,8BAe3D,OAAOlE,gCAST8rC,SAAezV,EAAQj0F,GAA8C,IAArCk0F,EAAqC,uDAA1B,CAAC,IAAKe,EAAoB,uCACnE,EAAmBo+B,GAAYl4H,KAAKw3H,eAAgB1+B,EAAQC,GAArDr4F,EAAP,EAAOA,SACP,OAAO6/E,GAAS17E,GACZ80F,GAAej5F,EAAUmE,OAAS3D,EAAW44F,GAC7Cp5F,QA7Na02H,GAiOrB,SAASc,GAAYI,EAAex/B,EAAQC,GAC1C,IAAI3pD,EAAQkpF,EAAcn0H,IAAI20F,GACzB1pD,IACHA,EAAQ,IAAIzwB,IACZ25G,EAAcl0H,IAAI00F,EAAQ1pD,IAE5B,IAAM0K,EAAWi/C,EAASr6F,OACtBysG,EAAS/7D,EAAMjrC,IAAI21C,GAClBqxD,IAEHA,EAAS,CACPzqG,SAFem4F,GAAgBC,EAAQC,GAGvCo/B,YAAap/B,EAASl8C,QAAOpyC,SAAAA,GAAAA,OAAMA,EAAEiC,cAAcgD,SAAS,aAE9D0/B,EAAMhrC,IAAI01C,EAAUqxD,IAEtB,OAAOA,EAGT,IAAMotB,GAAc14H,SAAAA,GAAAA,OAAS0gF,GAAS1gF,IACjCvB,OAAOkB,oBAAoBK,GAAO+2C,QAAO,SAAC4kB,EAAKh9D,GAAN,OAAcg9D,GAAO3f,GAAWh8C,EAAMrB,OAAO,IAE3F,SAAS45H,GAAYx+B,EAAOxkB,GAC1B,IADiC,EACjC,EAAoCyX,GAAa+M,GAA1CQ,EAAP,EAAOA,aAAcI,EAArB,EAAqBA,YADY,KAGdplB,GAHc,IAGjC,IAAK,EAAL,qBAA0B,KAAfzO,EAAe,QAClBi0B,EAAaR,EAAazzB,GAC1Bk0B,EAAYL,EAAY7zB,GACxB9mE,GAASg7F,GAAaD,IAAehB,EAAMjzB,GACjD,GAAKi0B,IAAe/+C,GAAWh8C,IAAU04H,GAAY14H,KAC/Cg7F,GAAa38F,GAAQ2B,GACzB,OAAO,GATsB,8BAYjC,OAAO,MCvXH24H,GAAkB,CAAC,MAAO,SAAU,OAAQ,QAAS,aAC3D,SAASC,GAAqBrzH,EAAUkiF,GACtC,MAAoB,QAAbliF,GAAmC,WAAbA,IAAiE,IAAvCozH,GAAgB3hH,QAAQzR,IAA6B,MAATkiF,EAGrG,SAASoxC,GAAcC,EAAIC,GACzB,OAAO,SAASluH,EAAGC,GACjB,OAAOD,EAAEiuH,KAAQhuH,EAAEguH,GACfjuH,EAAEkuH,GAAMjuH,EAAEiuH,GACVluH,EAAEiuH,GAAMhuH,EAAEguH,IAIlB,SAASE,GAAqBh0H,GAC5B,IAAM+mF,EAAQ/mF,EAAQ+mF,MAChBsc,EAAmBtc,EAAM15E,QAAQid,UAEvCy8D,EAAMghC,cAAc,eACpBuI,GAAajtB,GAAoBA,EAAiB4wB,WAAY,CAACj0H,GAAU+mF,GAG3E,SAASmtC,GAAoBl0H,GAC3B,IAAM+mF,EAAQ/mF,EAAQ+mF,MAChBsc,EAAmBtc,EAAM15E,QAAQid,UACvCgmG,GAAajtB,GAAoBA,EAAiB8wB,WAAY,CAACn0H,GAAU+mF,GAO3E,SAASqtC,GAAUv2C,GAYjB,OAXI4b,MAAqC,kBAAT5b,EAC9BA,EAAOp3E,SAASswD,eAAe8mB,GACtBA,GAAQA,EAAK7kF,SAEtB6kF,EAAOA,EAAK,IAGVA,GAAQA,EAAKyQ,SAEfzQ,EAAOA,EAAKyQ,QAEPzQ,EAGT,IAAMw2C,GAAY,GACZC,GAAW,SAAC36H,GAChB,IAAM20F,EAAS8lC,GAAUz6H,GACzB,OAAOF,OAAOmlD,OAAOy1E,IAAWr8E,QAAO,SAACjyC,GAAD,OAAOA,EAAEuoF,SAAWA,KAAQ3tF,OAGrE,SAAS4zH,GAAgBhhF,EAAKvrB,EAAO4lF,GAEnC,IADA,IACA,MADan0G,OAAOsH,KAAKwyC,GACzB,eAAwB,CAAnB,IAAM55C,EAAAA,EAAAA,GACH66H,GAAU76H,EAChB,GAAI66H,GAAUxsG,EAAO,CACnB,IAAMhtB,EAAQu4C,EAAI55C,UACX45C,EAAI55C,IACPi0G,EAAO,GAAK4mB,EAASxsG,KACvBurB,EAAIihF,EAAS5mB,GAAQ5yG,SAmCvBy5H,GAAAA,WAoBJ9oH,SAAAA,EAAYkyE,EAAM62C,GAAY,qBAC5B,IAAMxxB,EAAS/nG,KAAK+nG,OAAS,IAAIqvB,GAAOmC,GAClCC,EAAgBP,GAAUv2C,GAC1B+2C,EAAgBN,GAASK,GAC/B,GAAIC,EACF,MAAM,IAAIj3H,MACR,4CAA+Ci3H,EAAc74G,GAA7D,kDACgD64G,EAActmC,OAAOvyE,GAAK,oBAI9E,IAAM1O,EAAU61F,EAAOwG,eAAexG,EAAOkwB,oBAAqBj4H,KAAKozF,cAEvEpzF,KAAKmtF,SAAW,IAAK4a,EAAO5a,UC/IzB,SAAyBgG,GAC9B,OAAKmL,MAAiD,qBAApBo7B,iBAAmCvmC,aAAkBumC,gBAC9EhW,GAEFuC,GD2ImC0T,CAAgBH,IACxDx5H,KAAKmtF,SAASs2B,aAAa1b,GAE3B,IAAMljG,EAAU7E,KAAKmtF,SAASm2B,eAAekW,EAAetnH,EAAQ6B,aAC9Do/E,EAAStuF,GAAWA,EAAQsuF,OAC5BhsE,EAASgsE,GAAUA,EAAOhsE,OAC1BD,EAAQisE,GAAUA,EAAOjsE,MAE/BlnB,KAAK4gB,GAAKo6B,KACVh7C,KAAK0tF,IAAM7oF,EACX7E,KAAKmzF,OAASA,EACdnzF,KAAKknB,MAAQA,EACblnB,KAAKmnB,OAASA,EACdnnB,KAAK45H,SAAW1nH,EAIhBlS,KAAK65H,aAAe75H,KAAK+T,YACzB/T,KAAKmiH,QAAU,GACfniH,KAAK85H,UAAY,GACjB95H,KAAKsqG,aAAUppG,EACflB,KAAK6hH,MAAQ,GACb7hH,KAAKgzF,6BAA0B9xF,EAC/BlB,KAAKuwG,eAAYrvG,EACjBlB,KAAK4lG,QAAU,GACf5lG,KAAK+5H,gBAAa74H,EAClBlB,KAAKoD,WAAa,GAElBpD,KAAKg6H,0BAAuB94H,EAC5BlB,KAAKi6H,gBAAkB,GACvBj6H,KAAKsuF,OAAS,GACdtuF,KAAKk6H,SAAW,IAAIlF,GACpBh1H,KAAKwmH,SAAW,GAChBxmH,KAAKm6H,eAAiB,GACtBn6H,KAAKo6H,UAAW,EAChBp6H,KAAKwxG,yBAAsBtwG,EAC3BlB,KAAK+rG,cAAW7qG,EAChBlB,KAAKq6H,U1CzIF,SAA4C9hF,EAA8B2nB,GAC/E,IAAI7D,EACJ,OAAO,WAAyB,2BAAbj9D,EAAa,yBAAbA,EAAa,gBAO9B,OANI8gE,GACFztC,aAAa4pC,GACbA,EAAU9pC,WAAWgmB,EAAI2nB,EAAO9gE,IAEhCm5C,EAAGn6C,MAAM4B,KAAMZ,GAEV8gE,G0CgIUo6D,EAAS1jG,SAAAA,GAAAA,OAAQ,EAAK6wE,OAAO7wE,KAAO1kB,EAAQqoH,aAAe,GAC5Ev6H,KAAK6yG,aAAe,GAGpBqmB,GAAUl5H,KAAK4gB,IAAM5gB,KAEhB6E,GAAYsuF,GASjB0V,GAASr4B,OAAOxwE,KAAM,WAAY64H,IAClChwB,GAASr4B,OAAOxwE,KAAM,WAAY+4H,IAElC/4H,KAAKw6H,cACDx6H,KAAKo6H,UACPp6H,KAAKynG,UATL9kG,QAAQ+B,MAAM,yGAalB,WACE,MAAmF1E,KAA5EkS,QAAU6B,EAAjB,EAAiBA,YAAak6E,EAA9B,EAA8BA,oBAAsB/mE,EAA+BlnB,KAA/BknB,MAAOC,EAAwBnnB,KAAxBmnB,OAAQ0yG,EAAgB75H,KAAhB65H,aACnE,OAAKv5C,GAAcvsE,GAKfk6E,GAAuB4rC,EAElBA,EAIF1yG,EAASD,EAAQC,EAAS,KATxBpT,oBAYX,WACE,OAAO/T,KAAK+nG,OAAO1iF,UAGrB,SAASA,GACPrlB,KAAK+nG,OAAO1iF,KAAOA,uBAGrB,WACE,OAAOrlB,KAAK45H,cAGd,SAAY1nH,GACVlS,KAAK+nG,OAAO71F,QAAUA,wBAGxB,WACE,OAAOurG,8BAMT+c,WAeE,OAbAx6H,KAAK4sH,cAAc,cAEf5sH,KAAKkS,QAAQk8E,WACfpuF,KAAK2vF,SAELkR,GAAY7gG,KAAMA,KAAKkS,QAAQg7E,kBAGjCltF,KAAKy6H,aAGLz6H,KAAK4sH,cAAc,aAEZ5sH,0BAGT03H,WAEE,OADAxkC,GAAYlzF,KAAKmzF,OAAQnzF,KAAK0tF,KACvB1tF,yBAGT+kE,WAEE,OADA8jC,GAAS9jC,KAAK/kE,MACPA,2BAQT2vF,SAAOzoE,EAAOC,GACP0hF,GAASnD,QAAQ1lG,MAGpBA,KAAK06H,kBAAoB,CAACxzG,MAAAA,EAAOC,OAAAA,GAFjCnnB,KAAK26H,QAAQzzG,EAAOC,0BAMxBwzG,SAAQzzG,EAAOC,GACb,IAAMjV,EAAUlS,KAAKkS,QACfihF,EAASnzF,KAAKmzF,OACdp/E,EAAc7B,EAAQ+7E,qBAAuBjuF,KAAK+T,YAClD6mH,EAAU56H,KAAKmtF,SAAS6S,eAAe7M,EAAQjsE,EAAOC,EAAQpT,GAC9D8mH,EAAW3oH,EAAQg7E,kBAAoBltF,KAAKmtF,SAASC,sBACrDx2D,EAAO52B,KAAKknB,MAAQ,SAAW,SAErClnB,KAAKknB,MAAQ0zG,EAAQ1zG,MACrBlnB,KAAKmnB,OAASyzG,EAAQzzG,OACtBnnB,KAAK65H,aAAe75H,KAAK+T,YACpB8sF,GAAY7gG,KAAM66H,GAAU,KAIjC76H,KAAK4sH,cAAc,SAAU,CAAC1kF,KAAM0yF,IAEpCzF,GAAajjH,EAAQ4oH,SAAU,CAAC96H,KAAM46H,GAAU56H,MAE5CA,KAAKo6H,UACHp6H,KAAKq6H,UAAUzjG,IAEjB52B,KAAKuH,6CAKXwzH,WAIE/5C,GAHgBhhF,KAAKkS,QACSo8E,QAAU,IAEpB,SAAC0sC,EAAatI,GAChCsI,EAAYp6G,GAAK8xG,wCAOrBuI,WAAsB,WACd/oH,EAAUlS,KAAKkS,QACfgpH,EAAYhpH,EAAQo8E,OACpBA,EAAStuF,KAAKsuF,OACd6sC,EAAU78H,OAAOsH,KAAK0oF,GAAQ13C,QAAO,SAACwB,EAAKx3B,GAE/C,OADAw3B,EAAIx3B,IAAM,EACHw3B,IACN,IACCmuC,EAAQ,GAER20C,IACF30C,EAAQA,EAAM9mF,OACZnB,OAAOsH,KAAKs1H,GAAW/hF,KAAI,SAACv4B,GAC1B,IAAMq1G,EAAeiF,EAAUt6G,GACzB0mE,EAAO0uC,GAAcp1G,EAAIq1G,GACzBmF,EAAoB,MAAT9zC,EACXkuB,EAAwB,MAATluB,EACrB,MAAO,CACLp1E,QAAS+jH,EACToF,UAAWD,EAAW,YAAc5lB,EAAe,SAAW,OAC9D8lB,MAAOF,EAAW,eAAiB5lB,EAAe,WAAa,eAMvEx0B,GAAKuF,GAAO,SAAC7D,GACX,IAAMuzC,EAAevzC,EAAKxwE,QACpB0O,EAAKq1G,EAAar1G,GAClB0mE,EAAO0uC,GAAcp1G,EAAIq1G,GACzBsF,EAAY56C,GAAes1C,EAAar0H,KAAM8gF,EAAK44C,YAE3Bp6H,IAA1B+0H,EAAa7wH,UAA0BqzH,GAAqBxC,EAAa7wH,SAAUkiF,KAAUmxC,GAAqB/1C,EAAK24C,aACzHpF,EAAa7wH,SAAWs9E,EAAK24C,WAG/BF,EAAQv6G,IAAM,EACd,IAAIytE,EAAQ,KACRztE,KAAM0tE,GAAUA,EAAO1tE,GAAIhf,OAAS25H,EACtCltC,EAAQC,EAAO1tE,IAGfytE,EAAQ,IADWovB,GAAS4W,SAASkH,GAC7B,CAAe,CACrB36G,GAAAA,EACAhf,KAAM25H,EACN7tC,IAAK,EAAKA,IACV9B,MAAO,IAET0C,EAAOD,EAAMztE,IAAMytE,GAGrBA,EAAMtuF,KAAKk2H,EAAc/jH,MAG3B8uE,GAAKm6C,GAAS,SAACK,EAAY56G,GACpB46G,UACIltC,EAAO1tE,MAIlBogE,GAAKsN,GAAQ,SAACD,GACZ6xB,GAAkB,EAAM7xB,EAAOA,EAAMn8E,SACrCguG,GAAe,EAAM7xB,qCAOzBotC,WACE,IAAMvyB,EAAWlpG,KAAK85H,UAChBxnB,EAAUtyG,KAAKqlB,KAAK4nE,SAASpvF,OAC7Bw0G,EAAUnJ,EAASrrG,OAGzB,GADAqrG,EAASrgD,MAAK,SAACn+C,EAAGC,GAAJ,OAAUD,EAAEnF,MAAQoF,EAAEpF,SAChC8sG,EAAUC,EAAS,CACrB,IAAK,IAAI30G,EAAI20G,EAAS30G,EAAI00G,IAAW10G,EACnCqC,KAAK07H,oBAAoB/9H,GAE3BurG,EAASv4D,OAAO2hE,EAASD,EAAUC,GAErCtyG,KAAKi6H,gBAAkB/wB,EAASvoG,MAAM,GAAGkoD,KAAK6vE,GAAc,QAAS,qDAMvEiD,WAA8B,WACVzyB,EAA8BlpG,KAAzC85H,UAA4B7sC,EAAajtF,KAApBqlB,KAAO4nE,SAC/Bic,EAASrrG,OAASovF,EAASpvF,eACtBmC,KAAKsqG,QAEdpB,EAASz8F,SAAQ,SAACoL,EAAMtS,GACmC,IAArD0nF,EAASpwC,QAAO/rB,SAAAA,GAAAA,OAAKA,IAAMjZ,EAAK4jG,YAAU59G,QAC5C,EAAK69H,oBAAoBn2H,8CAK/Bq2H,WACE,IAEIj+H,EAAG0jF,EAFDw6C,EAAiB,GACjB5uC,EAAWjtF,KAAKqlB,KAAK4nE,SAK3B,IAFAjtF,KAAK27H,8BAEAh+H,EAAI,EAAG0jF,EAAO4L,EAASpvF,OAAQF,EAAI0jF,EAAM1jF,IAAK,CACjD,IAAM8oC,EAAUwmD,EAAStvF,GACrBka,EAAO7X,KAAKutG,eAAe5vG,GACzBiE,EAAO6kC,EAAQ7kC,MAAQ5B,KAAK+nG,OAAOnmG,KAazC,GAXIiW,EAAKjW,MAAQiW,EAAKjW,OAASA,IAC7B5B,KAAK07H,oBAAoB/9H,GACzBka,EAAO7X,KAAKutG,eAAe5vG,IAE7Bka,EAAKjW,KAAOA,EACZiW,EAAKg2E,UAAYpnD,EAAQonD,WAAaioC,GAAal0H,EAAM5B,KAAKkS,SAC9D2F,EAAKlC,MAAQ8wB,EAAQ9wB,OAAS,EAC9BkC,EAAKtS,MAAQ5H,EACbka,EAAKq4F,MAAQ,GAAKzpE,EAAQypE,MAC1Br4F,EAAKi4E,QAAU9vF,KAAK04G,iBAAiB/6G,GAEjCka,EAAKuyF,WACPvyF,EAAKuyF,WAAWoC,YAAY7uG,GAC5Bka,EAAKuyF,WAAWgC,iBACX,CACL,IAAM0vB,EAAkBre,GAAS0W,cAAcvyH,GAC/C,EAA8CytF,GAASpC,SAASrrF,GAAzDqqG,EAAP,EAAOA,mBAAoBC,EAA3B,EAA2BA,gBAC3B5tG,OAAOwQ,OAAOgtH,EAAiB,CAC7B5vB,gBAAiBuR,GAASC,WAAWxR,GACrCD,mBAAoBA,GAAsBwR,GAASC,WAAWzR,KAEhEp0F,EAAKuyF,WAAa,IAAI0xB,EAAgB97H,KAAMrC,GAC5Ck+H,EAAe79H,KAAK6Z,EAAKuyF,aAK7B,OADApqG,KAAKy7H,kBACEI,gCAOTE,WAAiB,WACf/6C,GAAKhhF,KAAKqlB,KAAK4nE,UAAU,SAACxmD,EAAS+6C,GACjC,EAAK+rB,eAAe/rB,GAAc4oB,WAAWjmC,UAC5CnkE,2BAMLmkE,WACEnkE,KAAK+7H,iBACL/7H,KAAK4sH,cAAc,+BAGrBnlB,SAAO7wE,GACL,IAAMmxE,EAAS/nG,KAAK+nG,OAEpBA,EAAON,SACP,IAAMv1F,EAAUlS,KAAK45H,SAAW7xB,EAAOwG,eAAexG,EAAOkwB,oBAAqBj4H,KAAKozF,cACjF4oC,EAAgBh8H,KAAKwxG,qBAAuBt/F,EAAQid,UAU1D,GARAnvB,KAAKi8H,gBACLj8H,KAAKk8H,sBACLl8H,KAAKm8H,uBAILn8H,KAAKk6H,SAAS9E,cAEuD,IAAjEp1H,KAAK4sH,cAAc,eAAgB,CAACh2F,KAAAA,EAAMjU,YAAY,IAA1D,CAKA,IAAMk5G,EAAiB77H,KAAK47H,2BAE5B57H,KAAK4sH,cAAc,wBAInB,IADA,IAAIvK,EAAa,EACR1kH,EAAI,EAAG0jF,EAAOrhF,KAAKqlB,KAAK4nE,SAASpvF,OAAQF,EAAI0jF,EAAM1jF,IAAK,CAC/D,IAAOysG,EAAcpqG,KAAKutG,eAAe5vG,GAAlCysG,WACDjmC,GAAS63D,IAAyD,IAAxCH,EAAehlH,QAAQuzF,GAGvDA,EAAW2D,sBAAsB5pC,GACjCk+C,EAAa7lG,KAAKqmC,KAAKunD,EAAW4F,iBAAkBqS,GAEtDA,EAAariH,KAAKo8H,YAAclqH,EAAQiuG,OAAOnwB,YAAcqyB,EAAa,EAC1EriH,KAAKq8H,cAAcha,GAGd2Z,GAGHh7C,GAAK66C,GAAgB,SAACzxB,GACpBA,EAAWjmC,WAIfnkE,KAAKs8H,gBAAgB1lG,GAGrB52B,KAAK4sH,cAAc,cAAe,CAACh2F,KAAAA,IAEnC52B,KAAKmiH,QAAQt5D,KAAK6vE,GAAc,IAAK,SAGrC,IAAO9yB,EAAuB5lG,KAAvB4lG,QAASm0B,EAAc/5H,KAAd+5H,WACZA,EACF/5H,KAAKu8H,cAAcxC,GAAY,GACtBn0B,EAAQ/nG,QACjBmC,KAAKw8H,mBAAmB52B,EAASA,GAAS,GAG5C5lG,KAAKuH,uCAMP00H,WAAgB,WACdj7C,GAAKhhF,KAAKsuF,QAAQ,SAACD,GACjB6xB,GAAkB,EAAM7xB,MAG1BruF,KAAK+6H,sBACL/6H,KAAKi7H,yDAMPiB,WACE,IAAMhqH,EAAUlS,KAAKkS,QACfuqH,EAAiB,IAAI1xH,IAAIzM,OAAOsH,KAAK5F,KAAKoD,aAC1Cs5H,EAAY,IAAI3xH,IAAImH,EAAQnQ,QAE7B0gF,GAAUg6C,EAAgBC,MAAgB18H,KAAKg6H,uBAAyB9nH,EAAQk8E,aAEnFpuF,KAAK28H,eACL38H,KAAKy6H,kDAOT0B,WACE,IADqB,EACdhC,EAAkBn6H,KAAlBm6H,eADc,KAELn6H,KAAK48H,0BAA4B,IAF5B,IAGrB,IAAK,EAAL,qBAA8C,eAAlCz6D,EAAkC,EAAlCA,OAAQt1C,EAA0B,EAA1BA,MAAOnqB,EAAmB,EAAnBA,MAEzB02H,GAAgBe,EAAgBttG,EADR,oBAAXs1C,GAAgCz/D,EAAQA,IAJlC,qEAYvBk6H,WACE,IAAM/pB,EAAe7yG,KAAK6yG,aAC1B,GAAKA,GAAiBA,EAAah1G,OAAnC,CAIAmC,KAAK6yG,aAAe,GASpB,IARA,IAAMgqB,EAAe78H,KAAKqlB,KAAK4nE,SAASpvF,OAClCi/H,EAAU,SAAC3N,GAAD,OAAS,IAAIpkH,IAC3B8nG,EACGh2D,QAAOjyC,SAAAA,GAAAA,OAAKA,EAAE,KAAOukH,KACrBh2E,KAAI,SAACvuC,EAAGjN,GAAJ,OAAUA,EAAI,IAAMiN,EAAE+lC,OAAO,GAAGjyC,KAAK,UAGxCq+H,EAAYD,EAAQ,GACjBn/H,EAAI,EAAGA,EAAIk/H,EAAcl/H,IAChC,IAAK8kF,GAAUs6C,EAAWD,EAAQn/H,IAChC,OAGJ,OAAOM,MAAM8qD,KAAKg0E,GACf5jF,KAAIvuC,SAAAA,GAAAA,OAAKA,EAAE4B,MAAM,QACjB2sC,KAAIzuC,SAAAA,GAAAA,MAAM,CAACy3D,OAAQz3D,EAAE,GAAImiB,OAAQniB,EAAE,GAAIhI,OAAQgI,EAAE,qCAQtD2xH,SAAcha,GAAY,WACxB,IAA+D,IAA3DriH,KAAK4sH,cAAc,eAAgB,CAACjqG,YAAY,IAApD,CAIAu9F,GAAelgH,KAAMA,KAAKknB,MAAOlnB,KAAKmnB,OAAQk7F,GAE9C,IAAMlrG,EAAOnX,KAAKuwG,UACZysB,EAAS7lH,EAAK+P,OAAS,GAAK/P,EAAKgQ,QAAU,EAEjDnnB,KAAKmiH,QAAU,GACfnhC,GAAKhhF,KAAK6hH,OAAO,SAACniB,GAAQ,MACpBs9B,GAA2B,cAAjBt9B,EAAIt6F,WAOds6F,EAAIuI,WACNvI,EAAIuI,aAEN,IAAKka,SAAQnkH,KAAb,WAAqB0hG,EAAIyiB,eACxBniH,MAEHA,KAAKmiH,QAAQ11G,SAAQ,SAACi2E,EAAMn9E,GAC1Bm9E,EAAKu6C,KAAO13H,KAGdvF,KAAK4sH,cAAc,+CAQrB0P,SAAgB1lG,GACd,IAA6E,IAAzE52B,KAAK4sH,cAAc,uBAAwB,CAACh2F,KAAAA,EAAMjU,YAAY,IAAlE,CAIA,IAAK,IAAIhlB,EAAI,EAAG0jF,EAAOrhF,KAAKqlB,KAAK4nE,SAASpvF,OAAQF,EAAI0jF,IAAQ1jF,EAC5DqC,KAAKutG,eAAe5vG,GAAGysG,WAAWnC,YAGpC,IAAK,IAAItqG,EAAI,EAAG0jF,EAAOrhF,KAAKqlB,KAAK4nE,SAASpvF,OAAQF,EAAI0jF,IAAQ1jF,EAC5DqC,KAAKk9H,eAAev/H,EAAGk+C,GAAWjlB,GAAQA,EAAK,CAAC4qD,aAAc7jF,IAAMi5B,GAGtE52B,KAAK4sH,cAAc,sBAAuB,CAACh2F,KAAAA,mCAQ7CsmG,SAAe33H,EAAOqxB,GACpB,IAAM/e,EAAO7X,KAAKutG,eAAehoG,GAC3BnG,EAAO,CAACyY,KAAAA,EAAMtS,MAAAA,EAAOqxB,KAAAA,EAAMjU,YAAY,IAEW,IAApD3iB,KAAK4sH,cAAc,sBAAuBxtH,KAI9CyY,EAAKuyF,WAAW5E,QAAQ5uE,GAExBx3B,EAAKujB,YAAa,EAClB3iB,KAAK4sH,cAAc,qBAAsBxtH,0BAG3CmI,YACiE,IAA3DvH,KAAK4sH,cAAc,eAAgB,CAACjqG,YAAY,MAIhDkmF,GAASz4E,IAAIpwB,MACXA,KAAKo6H,WAAavxB,GAASnD,QAAQ1lG,OACrC6oG,GAASh8E,MAAM7sB,OAGjBA,KAAK2lG,OACLkzB,GAAqB,CAACjtC,MAAO5rF,6BAIjC2lG,WACE,IAAIhoG,EACJ,GAAIqC,KAAK06H,kBAAmB,CAC1B,MAAwB16H,KAAK06H,kBAAtBxzG,EAAP,EAAOA,MAAOC,EAAd,EAAcA,OACdnnB,KAAK26H,QAAQzzG,EAAOC,GACpBnnB,KAAK06H,kBAAoB,KAI3B,GAFA16H,KAAK03H,UAED13H,KAAKknB,OAAS,GAAKlnB,KAAKmnB,QAAU,KAIuB,IAAzDnnB,KAAK4sH,cAAc,aAAc,CAACjqG,YAAY,IAAlD,CAOA,IAAMw6G,EAASn9H,KAAKmiH,QACpB,IAAKxkH,EAAI,EAAGA,EAAIw/H,EAAOt/H,QAAUs/H,EAAOx/H,GAAG4O,GAAK,IAAK5O,EACnDw/H,EAAOx/H,GAAGgoG,KAAK3lG,KAAKuwG,WAMtB,IAHAvwG,KAAKo9H,gBAGEz/H,EAAIw/H,EAAOt/H,SAAUF,EAC1Bw/H,EAAOx/H,GAAGgoG,KAAK3lG,KAAKuwG,WAGtBvwG,KAAK4sH,cAAc,oDAMrBzjB,SAAuBF,GACrB,IAEItrG,EAAG0jF,EAFD6nB,EAAWlpG,KAAKi6H,gBAChBx3D,EAAS,GAGf,IAAK9kE,EAAI,EAAG0jF,EAAO6nB,EAASrrG,OAAQF,EAAI0jF,IAAQ1jF,EAAG,CACjD,IAAMka,EAAOqxF,EAASvrG,GACjBsrG,IAAiBpxF,EAAKi4E,SACzBrtB,EAAOzkE,KAAK6Z,GAIhB,OAAO4qD,8CAOTg8C,WACE,OAAOz+G,KAAKmpG,wBAAuB,gCAQrCi0B,WACE,IAAqE,IAAjEp9H,KAAK4sH,cAAc,qBAAsB,CAACjqG,YAAY,IAA1D,CAKA,IADA,IAAMumF,EAAWlpG,KAAKy+G,+BACb9gH,EAAIurG,EAASrrG,OAAS,EAAGF,GAAK,IAAKA,EAC1CqC,KAAKq9H,aAAan0B,EAASvrG,IAG7BqC,KAAK4sH,cAAc,kDAQrByQ,SAAaxlH,GACX,IAAM61E,EAAM1tF,KAAK0tF,IACXwH,EAAOr9E,EAAKu4F,MACZktB,GAAWpoC,EAAK7iF,SAChB8E,EAvrBV,SAAwBU,GACtB,IAAO+vE,EAAkB/vE,EAAlB+vE,OAAQC,EAAUhwE,EAAVgwE,OACf,GAAID,GAAUC,EACZ,MAAO,CACL95D,KAAM65D,EAAO75D,KACbmiE,MAAOtI,EAAOsI,MACdjiE,IAAK45D,EAAO55D,IACZkiE,OAAQtI,EAAOsI,QAgrBJotC,CAAe1lH,IAAS7X,KAAKuwG,UACpCnxG,EAAO,CACXyY,KAAAA,EACAtS,MAAOsS,EAAKtS,MACZod,YAAY,IAGwC,IAAlD3iB,KAAK4sH,cAAc,oBAAqBxtH,KAIxCk+H,GACFroC,GAASvH,EAAK,CACZ3/D,MAAoB,IAAdmnE,EAAKnnE,KAAiB,EAAI5W,EAAK4W,KAAOmnE,EAAKnnE,KACjDmiE,OAAsB,IAAfgF,EAAKhF,MAAkBlwF,KAAKknB,MAAQ/P,EAAK+4E,MAAQgF,EAAKhF,MAC7DjiE,KAAkB,IAAbinE,EAAKjnE,IAAgB,EAAI9W,EAAK8W,IAAMinE,EAAKjnE,IAC9CkiE,QAAwB,IAAhB+E,EAAK/E,OAAmBnwF,KAAKmnB,OAAShQ,EAAKg5E,OAAS+E,EAAK/E,SAIrEt4E,EAAKuyF,WAAWzE,OAEZ23B,GACFnoC,GAAWzH,GAGbtuF,EAAKujB,YAAa,EAClB3iB,KAAK4sH,cAAc,mBAAoBxtH,iCAQzCw/G,SAAc7pB,GACZ,OAAOD,GAAeC,EAAO/0F,KAAKuwG,UAAWvwG,KAAKo8H,sDAGpDoB,SAA0Br1H,EAAGyuB,EAAM1kB,EAASysG,GAC1C,IAAMx8C,EAASs7D,GAAY9d,MAAM/oF,GACjC,MAAsB,oBAAXurC,EACFA,EAAOniE,KAAMmI,EAAG+J,EAASysG,GAG3B,iCAGTpR,SAAe/rB,GACb,IAAM/6C,EAAUzmC,KAAKqlB,KAAK4nE,SAASzL,GAC7B0nB,EAAWlpG,KAAK85H,UAClBjiH,EAAOqxF,EAASrsD,QAAO/rB,SAAAA,GAAAA,OAAKA,GAAKA,EAAE2qF,WAAah1E,KAASjhC,MAoB7D,OAlBKqS,IACHA,EAAO,CACLjW,KAAM,KACNyjB,KAAM,GACNohB,QAAS,KACT2jE,WAAY,KACZqF,OAAQ,KACR7C,QAAS,KACTE,QAAS,KACTn3F,MAAO8wB,GAAWA,EAAQ9wB,OAAS,EACnCpQ,MAAOi8E,EACPi6B,SAAUh1E,EACV4gD,QAAS,GACTF,SAAS,GAEX+hB,EAASlrG,KAAK6Z,IAGTA,4BAGTu7E,WACE,OAAOpzF,KAAK+rG,WAAa/rG,KAAK+rG,SAAWjuC,GAAc,KAAM,CAAC8tB,MAAO5rF,KAAM4B,KAAM,iDAGnF26G,WACE,OAAOv8G,KAAKy+G,+BAA+B5gH,uCAG7C66G,SAAiBl3B,GACf,IAAM/6C,EAAUzmC,KAAKqlB,KAAK4nE,SAASzL,GACnC,IAAK/6C,EACH,OAAO,EAGT,IAAM5uB,EAAO7X,KAAKutG,eAAe/rB,GAIjC,MAA8B,mBAAhB3pE,EAAK43F,QAAwB53F,EAAK43F,QAAUhpE,EAAQgpE,2CAGpEiuB,SAAqBl8C,EAAcsO,GACpB9vF,KAAKutG,eAAe/rB,GAC5BiuB,QAAU3f,sCAGjByrB,SAAqBh2G,GACnBvF,KAAKm6H,eAAe50H,IAAUvF,KAAKm6H,eAAe50H,oCAGpDyxG,SAAkBzxG,GAChB,OAAQvF,KAAKm6H,eAAe50H,oCAM9Bo4H,SAAkBn8C,EAAckvB,EAAW5gB,GACzC,IAAMl5D,EAAOk5D,EAAU,OAAS,OAC1Bj4E,EAAO7X,KAAKutG,eAAe/rB,GAC3B2jB,EAAQttF,EAAKuyF,WAAW+G,wBAAmBjwG,EAAW01B,GAExD4rD,GAAQkuB,IACV74F,EAAKwN,KAAKqrF,GAAWjB,QAAU3f,EAC/B9vF,KAAKynG,WAELznG,KAAK09H,qBAAqBl8C,EAAcsO,GAExCqV,EAAMsC,OAAO5vF,EAAM,CAACi4E,QAAAA,IACpB9vF,KAAKynG,QAAO,SAAC/Z,GAAD,OAASA,EAAIlM,eAAiBA,EAAe5qD,OAAO11B,0BAIpE6uF,SAAKvO,EAAckvB,GACjB1wG,KAAK29H,kBAAkBn8C,EAAckvB,GAAW,uBAGlD9gB,SAAKpO,EAAckvB,GACjB1wG,KAAK29H,kBAAkBn8C,EAAckvB,GAAW,sCAMlDgrB,SAAoBl6C,GAClB,IAAM3pE,EAAO7X,KAAK85H,UAAUt4C,GACxB3pE,GAAQA,EAAKuyF,YACfvyF,EAAKuyF,WAAWsD,kBAEX1tG,KAAK85H,UAAUt4C,wBAGxBo8C,WACE,IAAIjgI,EAAG0jF,EAIP,IAHArhF,KAAK+kE,OACL8jC,GAASxC,OAAOrmG,MAEXrC,EAAI,EAAG0jF,EAAOrhF,KAAKqlB,KAAK4nE,SAASpvF,OAAQF,EAAI0jF,IAAQ1jF,EACxDqC,KAAK07H,oBAAoB/9H,0BAI7BkjC,WACE7gC,KAAK4sH,cAAc,iBACnB,IAAOz5B,EAAenzF,KAAfmzF,OAAQzF,EAAO1tF,KAAP0tF,IAEf1tF,KAAK49H,QACL59H,KAAK+nG,OAAO0vB,aAERtkC,IACFnzF,KAAK28H,eACLzpC,GAAYC,EAAQzF,GACpB1tF,KAAKmtF,SAASo2B,eAAe71B,GAC7B1tF,KAAKmzF,OAAS,KACdnzF,KAAK0tF,IAAM,aAGNwrC,GAAUl5H,KAAK4gB,IAEtB5gB,KAAK4sH,cAAc,6CAGrBiR,WAAuB,MACrB,OAAO,EAAA79H,KAAKmzF,QAAO2qC,UAAZ,6CAMTrD,WACEz6H,KAAK+9H,iBACD/9H,KAAKkS,QAAQk8E,WACfpuF,KAAKg+H,uBAELh+H,KAAKo6H,UAAW,gCAOpB2D,WAAiB,WACTh5H,EAAY/E,KAAKoD,WACjB+pF,EAAWntF,KAAKmtF,SAOhB5rF,EAAW,SAAC4G,EAAG2oB,EAAGoJ,GACtB/xB,EAAEq3F,QAAU1uE,EACZ3oB,EAAEs3F,QAAUvlE,EACZ,EAAKqiG,cAAcp0H,IAGrB64E,GAAKhhF,KAAKkS,QAAQnQ,QAAQ,SAACH,GAAD,OAXb,SAACA,EAAML,GAClB4rF,EAASrpF,iBAAiB,EAAMlC,EAAML,GACtCwD,EAAUnD,GAAQL,EASgB08H,CAAKr8H,EAAML,0CAMjDy8H,WAAuB,WAChBh+H,KAAKg6H,uBACRh6H,KAAKg6H,qBAAuB,IAE9B,IAoBIkE,EApBEn5H,EAAY/E,KAAKg6H,qBACjB7sC,EAAWntF,KAAKmtF,SAEhB8wC,EAAO,SAACr8H,EAAML,GAClB4rF,EAASrpF,iBAAiB,EAAMlC,EAAML,GACtCwD,EAAUnD,GAAQL,GAEd48H,EAAU,SAACv8H,EAAML,GACjBwD,EAAUnD,KACZurF,EAASnpF,oBAAoB,EAAMpC,EAAML,UAClCwD,EAAUnD,KAIfL,EAAW,SAAC2lB,EAAOC,GACnB,EAAKgsE,QACP,EAAKxD,OAAOzoE,EAAOC,IAKjBizG,EAAW,SAAXA,IACJ+D,EAAQ,SAAU/D,GAElB,EAAKA,UAAW,EAChB,EAAKzqC,SAELsuC,EAAK,SAAU18H,GACf08H,EAAK,SAAUC,IAGjBA,EAAW,WACT,EAAK9D,UAAW,EAEhB+D,EAAQ,SAAU58H,GAGlB,EAAKq8H,QACL,EAAKjD,QAAQ,EAAG,GAEhBsD,EAAK,SAAU7D,IAGbjtC,EAASq2B,WAAWxjH,KAAKmzF,QAC3BinC,IAEA8D,gCAOJvB,WAAe,WACb37C,GAAKhhF,KAAKoD,YAAY,SAAC7B,EAAUK,GAC/B,EAAKurF,SAASnpF,oBAAoB,EAAMpC,EAAML,MAEhDvB,KAAKoD,WAAa,GAElB49E,GAAKhhF,KAAKg6H,sBAAsB,SAACz4H,EAAUK,GACzC,EAAKurF,SAASnpF,oBAAoB,EAAMpC,EAAML,MAEhDvB,KAAKg6H,0BAAuB94H,kCAG9Bk9H,SAAiB73C,EAAO3vD,EAAM6wF,GAC5B,IACU/kC,EAAM/kF,EAAG0jF,EADb2Z,EAASysB,EAAU,MAAQ,SAQjC,IALa,YAAT7wF,GACK52B,KAAKutG,eAAehnB,EAAM,GAAG/E,cAC/B4oB,WAAW,IAAMpP,EAAS,uBAG5Br9F,EAAI,EAAG0jF,EAAOkF,EAAM1oF,OAAQF,EAAI0jF,IAAQ1jF,EAAG,CAE9C,IAAMysG,GADN1nB,EAAO6D,EAAM5oF,KACcqC,KAAKutG,eAAe7qB,EAAKlB,cAAc4oB,WAC9DA,GACFA,EAAWpP,EAAS,cAActY,EAAK94E,QAAS84E,EAAKlB,aAAckB,EAAKn9E,yCAS9E84H,WACE,OAAOr+H,KAAK4lG,SAAW,oCAOzB04B,SAAkBC,GAAgB,WAC1BC,EAAax+H,KAAK4lG,SAAW,GAC7BlW,EAAS6uC,EAAeplF,KAAI,YAA2B,IAAzBqoC,EAAyB,EAAzBA,aAAcj8E,EAAW,EAAXA,MAC1CsS,EAAO,EAAK01F,eAAe/rB,GACjC,IAAK3pE,EACH,MAAM,IAAIrV,MAAM,6BAA+Bg/E,GAGjD,MAAO,CACLA,aAAAA,EACA53E,QAASiO,EAAKwN,KAAK9f,GACnBA,MAAAA,OAGa27E,GAAewO,EAAQ8uC,KAGtCx+H,KAAK4lG,QAAUlW,EAEf1vF,KAAK+5H,WAAa,KAClB/5H,KAAKw8H,mBAAmB9sC,EAAQ8uC,iCAapC5R,SAAcp1E,EAAMp4C,EAAMy9C,GACxB,OAAO78C,KAAKk6H,SAASjF,OAAOj1H,KAAMw3C,EAAMp4C,EAAMy9C,kCAQhD0vD,SAAgBkyB,GACd,OAA6E,IAAtEz+H,KAAKk6H,SAAS5mB,OAAOz2D,QAAOpyC,SAAAA,GAAAA,OAAKA,EAAEstC,OAAOn3B,KAAO69G,KAAU5gI,yCAMpE2+H,SAAmB9sC,EAAQ8uC,EAAYE,GACrC,IAAMC,EAAe3+H,KAAKkS,QAAQs7E,MAC5BswB,EAAO,SAACpzG,EAAGC,GAAJ,OAAUD,EAAEmyC,QAAO/rB,SAAAA,GAAAA,OAAMnmB,EAAE2wC,MAAKphB,SAAAA,GAAAA,OAAKpJ,EAAE0wD,eAAiBtnD,EAAEsnD,cAAgB1wD,EAAEvrB,QAAU20B,EAAE30B,aAC/Fq5H,EAAc9gB,EAAK0gB,EAAY9uC,GAC/BmvC,EAAYH,EAAShvC,EAASouB,EAAKpuB,EAAQ8uC,GAE7CI,EAAY/gI,QACdmC,KAAKo+H,iBAAiBQ,EAAaD,EAAa/nG,MAAM,GAGpDioG,EAAUhhI,QAAU8gI,EAAa/nG,MACnC52B,KAAKo+H,iBAAiBS,EAAWF,EAAa/nG,MAAM,gCAOxD2lG,SAAcp0H,EAAGu2H,GAAQ,WACjBt/H,EAAO,CACXirB,MAAOliB,EACPu2H,OAAAA,EACA/7G,YAAY,EACZm8G,YAAa9+H,KAAK4+G,cAAcz2G,IAE5B42H,EAAc,SAAChnF,GAAD,OAAaA,EAAO7lC,QAAQnQ,QAAU,EAAKmQ,QAAQnQ,QAAQ2N,SAASvH,EAAE49G,OAAOnkH,OAEjG,IAA6D,IAAzD5B,KAAK4sH,cAAc,cAAextH,EAAM2/H,GAA5C,CAIA,IAAM32C,EAAUpoF,KAAKg/H,aAAa72H,EAAGu2H,EAAQt/H,EAAK0/H,aASlD,OAPA1/H,EAAKujB,YAAa,EAClB3iB,KAAK4sH,cAAc,aAAcxtH,EAAM2/H,IAEnC32C,GAAWhpF,EAAKgpF,UAClBpoF,KAAKuH,SAGAvH,kCAWTg/H,SAAa72H,EAAGu2H,EAAQI,GACtB,MAA4C9+H,KAArC4lG,QAAS44B,OAAhB,MAA6B,GAA7B,EAAiCtsH,EAAWlS,KAAXkS,QAe3BysG,EAAmB+f,EACnBhvC,EAAS1vF,KAAKi/H,mBAAmB92H,EAAGq2H,EAAYM,EAAangB,GAC7DugB,E7ClzBH,SAAuB/2H,GAC5B,MAAkB,YAAXA,EAAEvG,MAAiC,UAAXuG,EAAEvG,MAA+B,gBAAXuG,EAAEvG,K6CizBrCu9H,CAAch3H,GACxBi3H,EAnnCV,SAA4Bj3H,EAAGi3H,EAAWN,EAAaI,GACrD,OAAKJ,GAA0B,aAAX32H,EAAEvG,KAGlBs9H,EACKE,EAEFj3H,EALE,KAinCWk3H,CAAmBl3H,EAAGnI,KAAK+5H,WAAY+E,EAAaI,GAElEJ,IAGF9+H,KAAK+5H,WAAa,KAGlB5E,GAAajjH,EAAQg8E,QAAS,CAAC/lF,EAAGunF,EAAQ1vF,MAAOA,MAE7Ck/H,GACF/J,GAAajjH,EAAQ81B,QAAS,CAAC7/B,EAAGunF,EAAQ1vF,MAAOA,OAIrD,IAAMooF,GAAWlH,GAAewO,EAAQ8uC,GAQxC,OAPIp2C,GAAWs2C,KACb1+H,KAAK4lG,QAAUlW,EACf1vF,KAAKw8H,mBAAmB9sC,EAAQ8uC,EAAYE,IAG9C1+H,KAAK+5H,WAAaqF,EAEXh3C,oCAWT62C,SAAmB92H,EAAGq2H,EAAYM,EAAangB,GAC7C,GAAe,aAAXx2G,EAAEvG,KACJ,MAAO,GAGT,IAAKk9H,EAEH,OAAON,EAGT,IAAMG,EAAe3+H,KAAKkS,QAAQs7E,MAClC,OAAOxtF,KAAKw9H,0BAA0Br1H,EAAGw2H,EAAa/nG,KAAM+nG,EAAchgB,6BAjoC5E,WACElB,GAAStyG,IAATsyG,MAAAA,GAAAA,WACA6hB,+BAGF,WACE7hB,GAASpX,OAAToX,MAAAA,GAAAA,WACA6hB,WAhBEhG,GA+oCN,SAASgG,KACP,OAAOt+C,GAAKs4C,GAAMJ,WAAW,SAACttC,GAAD,OAAWA,EAAMsuC,SAAS9E,gBEnuCzD,SAASmK,GAAkBjrC,EAAiB8jB,EAAqBC,EAAqBmnB,GACpF,IAAMl5D,EAPC4xB,GAOmB5D,EAAIpiF,QAAQutH,aAPN,CAAC,aAAc,WAAY,aAAc,aAQnEC,GAAiBrnB,EAAcD,GAAe,EAC9CunB,EAAanjH,KAAKyQ,IAAIyyG,EAAeF,EAAapnB,EAAc,GAShEwnB,EAAoB,SAAC/lF,GACzB,IAAMgmF,GAAiBxnB,EAAc77F,KAAKyQ,IAAIyyG,EAAe7lF,IAAQ2lF,EAAa,EAClF,OAAO95C,GAAY7rC,EAAK,EAAGr9B,KAAKyQ,IAAIyyG,EAAeG,KAGrD,MAAO,CACLC,WAAYF,EAAkBt5D,EAAEw5D,YAChCC,SAAUH,EAAkBt5D,EAAEy5D,UAC9BC,WAAYt6C,GAAYpf,EAAE05D,WAAY,EAAGL,GACzCM,SAAUv6C,GAAYpf,EAAE25D,SAAU,EAAGN,IAOzC,SAASO,GAAWjmG,EAAWkmG,EAAervG,EAAWoJ,GACvD,MAAO,CACLpJ,EAAGA,EAAImJ,EAAIzd,KAAK+sE,IAAI42C,GACpBjmG,EAAGA,EAAID,EAAIzd,KAAK+rE,IAAI43C,IAmBxB,SAASC,GACP1yC,EACA9jF,EACAkiB,EACA8sF,EACA9rF,EACAmwF,GAEA,IAAOnsF,EAA6DlnB,EAA7DknB,EAAGoJ,EAA0DtwB,EAA1DswB,EAAerN,EAA2CjjB,EAAvDyvG,WAAmBgnB,EAAoCz2H,EAApCy2H,YAA0BC,EAAU12H,EAAvBwuG,YAEvCC,EAAc77F,KAAKqmC,IAAIj5C,EAAQyuG,YAAcO,EAAU9sF,EAASu0G,EAAa,GAC7EjoB,EAAckoB,EAAS,EAAIA,EAAS1nB,EAAU9sF,EAASu0G,EAAc,EAEvEE,EAAgB,EACdrsD,EAAQpnD,EAAMD,EAEpB,GAAI+rF,EAAS,CAIX,IAEM4nB,IAFuBF,EAAS,EAAIA,EAAS1nB,EAAU,IAChCP,EAAc,EAAIA,EAAcO,EAAU,IACI,EAE3E2nB,GAAiBrsD,GAD4B,IAAvBssD,EAA2BtsD,EAASssD,GAAuBA,EAAqB5nB,GAAW1kC,IACvE,EAG5C,IACMusD,GAAevsD,EADR13D,KAAKqmC,IAAI,KAAOqxB,EAAQmkC,EAAcvsF,EAAS62D,IAAM01B,GAC7B,EAC/BgB,EAAaxsF,EAAQ4zG,EAAcF,EACnCjnB,EAAWxsF,EAAM2zG,EAAcF,EACrC,EAAqDhB,GAAkB31H,EAASwuG,EAAaC,EAAaiB,EAAWD,GAA9GymB,EAAP,EAAOA,WAAYC,EAAnB,EAAmBA,SAAUC,EAA7B,EAA6BA,WAAYC,EAAzC,EAAyCA,SAEnCS,EAA2BroB,EAAcynB,EACzCa,EAAyBtoB,EAAc0nB,EACvCa,EAA0BvnB,EAAaymB,EAAaY,EACpDG,EAAwBvnB,EAAWymB,EAAWY,EAE9CG,EAA2B1oB,EAAc4nB,EACzCe,EAAyB3oB,EAAc6nB,EACvCe,EAA0B3nB,EAAa2mB,EAAac,EACpDG,EAAwB3nB,EAAW2mB,EAAWc,EAIpD,GAFArzC,EAAI0G,YAEA6oB,EAAU,CAEZ,IAAMikB,GAAyBN,EAA0BC,GAAyB,EAKlF,GAJAnzC,EAAI4G,IAAIxjE,EAAGoJ,EAAGm+E,EAAauoB,EAAyBM,GACpDxzC,EAAI4G,IAAIxjE,EAAGoJ,EAAGm+E,EAAa6oB,EAAuBL,GAG9Cd,EAAW,EAAG,CAChB,IAAMoB,EAAUjB,GAAWS,EAAwBE,EAAuB/vG,EAAGoJ,GAC7EwzD,EAAI4G,IAAI6sC,EAAQrwG,EAAGqwG,EAAQjnG,EAAG6lG,EAAUc,EAAuBvnB,EAAWr2B,IAI5E,IAAMm+C,EAAKlB,GAAWa,EAAwBznB,EAAUxoF,EAAGoJ,GAI3D,GAHAwzD,EAAI+G,OAAO2sC,EAAGtwG,EAAGswG,EAAGlnG,GAGhB+lG,EAAW,EAAG,CAChB,IAAMkB,EAAUjB,GAAWa,EAAwBE,EAAuBnwG,EAAGoJ,GAC7EwzD,EAAI4G,IAAI6sC,EAAQrwG,EAAGqwG,EAAQjnG,EAAG+lG,EAAU3mB,EAAWr2B,GAASg+C,EAAwBzkH,KAAKmmE,IAI3F,IAAM0+C,GAA0B/nB,EAAY2mB,EAAW7nB,GAAiBiB,EAAc2mB,EAAa5nB,IAAiB,EAKpH,GAJA1qB,EAAI4G,IAAIxjE,EAAGoJ,EAAGk+E,EAAakB,EAAY2mB,EAAW7nB,EAAcipB,GAAuB,GACvF3zC,EAAI4G,IAAIxjE,EAAGoJ,EAAGk+E,EAAaipB,EAAuBhoB,EAAc2mB,EAAa5nB,GAAc,GAGvF4nB,EAAa,EAAG,CAClB,IAAMmB,EAAUjB,GAAWY,EAA0BE,EAAyBlwG,EAAGoJ,GACjFwzD,EAAI4G,IAAI6sC,EAAQrwG,EAAGqwG,EAAQjnG,EAAG8lG,EAAYgB,EAA0BxkH,KAAKmmE,GAAI02B,EAAap2B,IAI5F,IAAMq+C,EAAKpB,GAAWQ,EAA0BrnB,EAAYvoF,EAAGoJ,GAI/D,GAHAwzD,EAAI+G,OAAO6sC,EAAGxwG,EAAGwwG,EAAGpnG,GAGhB4lG,EAAa,EAAG,CAClB,IAAMqB,EAAUjB,GAAWQ,EAA0BE,EAAyB9vG,EAAGoJ,GACjFwzD,EAAI4G,IAAI6sC,EAAQrwG,EAAGqwG,EAAQjnG,EAAG4lG,EAAYzmB,EAAap2B,GAAS29C,QAE7D,CACLlzC,EAAI8G,OAAO1jE,EAAGoJ,GAEd,IAAMqnG,EAAc/kH,KAAK+sE,IAAIq3C,GAA2BvoB,EAAcvnF,EAChE0wG,EAAchlH,KAAK+rE,IAAIq4C,GAA2BvoB,EAAcn+E,EACtEwzD,EAAI+G,OAAO8sC,EAAaC,GAExB,IAAMC,EAAYjlH,KAAK+sE,IAAIs3C,GAAyBxoB,EAAcvnF,EAC5D4wG,EAAYllH,KAAK+rE,IAAIs4C,GAAyBxoB,EAAcn+E,EAClEwzD,EAAI+G,OAAOgtC,EAAWC,GAGxBh0C,EAAI6G,YA0BN,SAASw9B,GACPrkC,EACA9jF,EACAkiB,EACA8sF,EACAqE,GAEA,IAAO0kB,EAAmD/3H,EAAnD+3H,YAAatoB,EAAsCzvG,EAAtCyvG,WAAYb,EAA0B5uG,EAA1B4uG,cAAetmG,EAAWtI,EAAXsI,QACxC0iF,EAAgC1iF,EAAhC0iF,YAAagQ,EAAmB1yF,EAAnB0yF,gBACdzmG,EAAgC,UAAxB+T,EAAQ6oG,YAEtB,GAAKnmB,EAAL,CAIIz2F,GACFuvF,EAAI8C,UAA0B,EAAdoE,EAChBlH,EAAIk0C,SAAWh9B,GAAmB,UAElClX,EAAI8C,UAAYoE,EAChBlH,EAAIk0C,SAAWh9B,GAAmB,SAGpC,IAAI0U,EAAW1vG,EAAQ0vG,SACvB,GAAIqoB,EAAa,CACfvB,GAAQ1yC,EAAK9jF,EAASkiB,EAAQ8sF,EAASU,EAAU2D,GACjD,IAAK,IAAIt/G,EAAI,EAAGA,EAAIgkI,IAAehkI,EACjC+vF,EAAImH,SAEDj1F,MAAM44G,KACTc,EAAWD,GAAcb,EAAgB51B,IAAOA,KAIhDzkF,GA1ON,SAAiBuvF,EAA+B9jF,EAAqB0vG,GACnE,IAAOD,EAA2DzvG,EAA3DyvG,WAAYgnB,EAA+Cz2H,EAA/Cy2H,YAAavvG,EAAkClnB,EAAlCknB,EAAGoJ,EAA+BtwB,EAA/BswB,EAAGm+E,EAA4BzuG,EAA5ByuG,YAAaD,EAAexuG,EAAfwuG,YAC/CypB,EAAcxB,EAAchoB,EAIhC3qB,EAAI0G,YACJ1G,EAAI4G,IAAIxjE,EAAGoJ,EAAGm+E,EAAagB,EAAawoB,EAAavoB,EAAWuoB,GAC5DzpB,EAAcioB,GAChBwB,EAAcxB,EAAcjoB,EAC5B1qB,EAAI4G,IAAIxjE,EAAGoJ,EAAGk+E,EAAakB,EAAWuoB,EAAaxoB,EAAawoB,GAAa,IAE7En0C,EAAI4G,IAAIxjE,EAAGoJ,EAAGmmG,EAAa/mB,EAAWr2B,GAASo2B,EAAap2B,IAE9DyK,EAAI6G,YACJ7G,EAAIwH,OA4NF4sC,CAAQp0C,EAAK9jF,EAAS0vG,GAGnBqoB,IACHvB,GAAQ1yC,EAAK9jF,EAASkiB,EAAQ8sF,EAASU,EAAU2D,GACjDvvB,EAAImH,cFpIFykC,GAAAA,WAEcjqC,OAFdiqC,GAAAA,YAGeJ,OAHfI,GAAAA,YAIe/sC,OAJf+sC,GAAAA,WAKc7b,OALd6b,GAAAA,sBAAAA,GAAAA,WAOcH,QEyIC4I,GAAAA,SAAAA,uBA4BnBvxH,SAAAA,EAAYs2F,GAAK,wBACf,gBAEK50F,aAAUhR,EACf,EAAKs3G,mBAAgBt3G,EACrB,EAAKm4G,gBAAan4G,EAClB,EAAKo4G,cAAWp4G,EAChB,EAAKk3G,iBAAcl3G,EACnB,EAAKm3G,iBAAcn3G,EACnB,EAAKm/H,YAAc,EACnB,EAAKsB,YAAc,EAEf76B,GACFxoG,OAAOwQ,OAAPxQ,GAAAA,GAAoBwoG,GAbP,oCAiBjB+X,SAAQmjB,EAAgBC,EAAgBtjB,GACtC,IACA,EAA0Bt6B,GADZrkF,KAAKs/G,SAAS,CAAC,IAAK,KAAMX,GACW,CAAC7tF,EAAGkxG,EAAQ9nG,EAAG+nG,IAA3Dr9C,EAAP,EAAOA,MAAOE,EAAd,EAAcA,SACd,EAAwE9kF,KAAKs/G,SAAS,CACpF,aACA,WACA,cACA,cACA,iBACCX,GANItF,EAAP,EAAOA,WAAYC,EAAnB,EAAmBA,SAAUlB,EAA7B,EAA6BA,YAAaC,EAA1C,EAA0CA,YAAaG,EAAvD,EAAuDA,cAOjD0pB,EAAUliI,KAAKkS,QAAQ0mG,QAAU,EAEjCupB,EADiBxhD,GAAe63B,EAAec,EAAWD,IACxBz2B,IAAOwC,GAAcR,EAAOy0B,EAAYC,GAC1E8oB,EAAez8C,GAAWb,EAAUszB,EAAc8pB,EAAS7pB,EAAc6pB,GAE/E,OAAQC,GAAiBC,gCAG3BhjB,SAAeT,GACb,MAA+D3+G,KAAKs/G,SAAS,CAC3E,IACA,IACA,aACA,WACA,cACA,eACCX,GAPI7tF,EAAP,EAAOA,EAAGoJ,EAAV,EAAUA,EAAGm/E,EAAb,EAAaA,WAAYC,EAAzB,EAAyBA,SAAUlB,EAAnC,EAAmCA,YAAaC,EAAhD,EAAgDA,YAQhD,EAA0Br4G,KAAKkS,QAAxB4Z,EAAP,EAAOA,OACDu2G,GAAahpB,EAAaC,GAAY,EACtCgpB,GAAclqB,EAAcC,EAFlC,EAAeO,QAE2C9sF,GAAU,EACpE,MAAO,CACLgF,EAAGA,EAAItU,KAAK+sE,IAAI84C,GAAaC,EAC7BpoG,EAAGA,EAAI1d,KAAK+rE,IAAI85C,GAAaC,kCAIjC1b,SAAgBjI,GACd,OAAO3+G,KAAKo/G,eAAeT,uBAG7BhZ,SAAKjY,GACH,IAAOx7E,EAA0BlS,KAA1BkS,QAASsmG,EAAiBx4G,KAAjBw4G,cACV1sF,GAAU5Z,EAAQ4Z,QAAU,GAAK,EACjC8sF,GAAW1mG,EAAQ0mG,SAAW,GAAK,EACnCqE,EAAW/qG,EAAQ+qG,SAIzB,GAHAj9G,KAAKqgI,YAAuC,UAAxBnuH,EAAQ6oG,YAA2B,IAAO,EAC9D/6G,KAAK2hI,YAAcnpB,EAAgB51B,GAAMpmE,KAAKmsC,MAAM6vD,EAAgB51B,IAAO,IAErD,IAAlB41B,GAAuBx4G,KAAKo4G,YAAc,GAAKp4G,KAAKq4G,YAAc,GAAtE,CAIA3qB,EAAI8E,OAEJ,IAAM6vC,GAAariI,KAAKq5G,WAAar5G,KAAKs5G,UAAY,EACtD5rB,EAAIwG,UAAU13E,KAAK+sE,IAAI84C,GAAav2G,EAAQtP,KAAK+rE,IAAI85C,GAAav2G,GAClE,IACMy2G,EAAez2G,GADT,EAAItP,KAAK+rE,IAAI/rE,KAAKyQ,IAAI01D,GAAI61B,GAAiB,KAGvD9qB,EAAIiJ,UAAYzkF,EAAQ66E,gBACxBW,EAAI4I,YAAcpkF,EAAQ86E,YApL9B,SACEU,EACA9jF,EACAkiB,EACA8sF,EACAqE,GAEA,IAAO0kB,EAA0C/3H,EAA1C+3H,YAAatoB,EAA6BzvG,EAA7ByvG,WAAYb,EAAiB5uG,EAAjB4uG,cAC5Bc,EAAW1vG,EAAQ0vG,SACvB,GAAIqoB,EAAa,CACfvB,GAAQ1yC,EAAK9jF,EAASkiB,EAAQ8sF,EAASU,EAAU2D,GACjD,IAAK,IAAIt/G,EAAI,EAAGA,EAAIgkI,IAAehkI,EACjC+vF,EAAI57B,OAEDlyD,MAAM44G,KACTc,EAAWD,GAAcb,EAAgB51B,IAAOA,KAGpDw9C,GAAQ1yC,EAAK9jF,EAASkiB,EAAQ8sF,EAASU,EAAU2D,GACjDvvB,EAAI57B,OAmKF0wE,CAAQ90C,EAAK1tF,KAAMuiI,EAAc3pB,EAASqE,GAC1C8U,GAAWrkC,EAAK1tF,KAAMuiI,EAAc3pB,EAASqE,GAE7CvvB,EAAIkF,iBA9GamvC,CAAmBhuF,ICxPxC,SAAS0uF,GAAS/0C,EAAKx7E,GAA0B,IAAjB0E,EAAiB,uDAAT1E,EACtCw7E,EAAIg1C,QAAU/hD,GAAe/pE,EAAM6tF,eAAgBvyF,EAAQuyF,gBAC3D/W,EAAImkC,YAAYlxC,GAAe/pE,EAAM8tF,WAAYxyF,EAAQwyF,aACzDhX,EAAIokC,eAAiBnxC,GAAe/pE,EAAM+tF,iBAAkBzyF,EAAQyyF,kBACpEjX,EAAIk0C,SAAWjhD,GAAe/pE,EAAMguF,gBAAiB1yF,EAAQ0yF,iBAC7DlX,EAAI8C,UAAY7P,GAAe/pE,EAAMg+E,YAAa1iF,EAAQ0iF,aAC1DlH,EAAI4I,YAAc3V,GAAe/pE,EAAMo2E,YAAa96E,EAAQ86E,aAG9D,SAASyH,GAAO/G,EAAK2H,EAAUn2F,GAC7BwuF,EAAI+G,OAAOv1F,EAAO4xB,EAAG5xB,EAAOg7B,GAe9B,SAASyoG,GAAS37C,EAAQzb,GAAsB,IAAbM,EAAa,uDAAJ,GACpCnpE,EAAQskF,EAAOnpF,OACrB,EAA6DguE,EAAtDh/C,MAAO+1G,OAAd,MAA4B,EAA5B,IAA6D/2D,EAA9B/+C,IAAK+1G,OAApC,MAAgDngI,EAAQ,EAAxD,EACcogI,EAAiCv3D,EAAxC1+C,MAA0Bk2G,EAAcx3D,EAAnBz+C,IACtBD,EAAQrQ,KAAKqmC,IAAI+/E,EAAaE,GAC9Bh2G,EAAMtQ,KAAKyQ,IAAI41G,EAAWE,GAC1BC,EAAUJ,EAAcE,GAAgBD,EAAYC,GAAgBF,EAAcG,GAAcF,EAAYE,EAElH,MAAO,CACLrgI,MAAAA,EACAmqB,MAAAA,EACA2iE,KAAMjkB,EAAQikB,KACdnO,KAAMv0D,EAAMD,IAAUm2G,EAAUtgI,EAAQoqB,EAAMD,EAAQC,EAAMD,GAmBhE,SAASo2G,GAAYv1C,EAAKqI,EAAMxqB,EAASM,GACvC,IAKIluE,EAAGo3F,EAAO99C,EALP+vC,EAAmB+O,EAAnB/O,OAAQ90E,EAAW6jF,EAAX7jF,QACf,EAAmCywH,GAAS37C,EAAQzb,EAASM,GAAtDnpE,EAAP,EAAOA,MAAOmqB,EAAd,EAAcA,MAAO2iE,EAArB,EAAqBA,KAAMnO,EAA3B,EAA2BA,KACrB6hD,EA9CR,SAAuBhxH,GACrB,OAAIA,EAAQixH,QACH/tC,GAGLljF,EAAQ+rF,SAA8C,aAAnC/rF,EAAQ4rF,uBACtBtI,GAGFf,GAqCY2uC,CAAclxH,GAEjC,EAA6B25D,GAAU,GAAvC,IAAK4mC,KAAAA,OAAL,SAAkBh3D,EAAlB,EAAkBA,QAGlB,IAAK99C,EAAI,EAAGA,GAAK0jF,IAAQ1jF,GACvBo3F,EAAQ/N,GAAQn6D,GAAS4uB,EAAU4lC,EAAO1jF,EAAIA,IAAM+E,IAE1Cs5F,OAGCyW,GACT/kB,EAAI8G,OAAOO,EAAMjkE,EAAGikE,EAAM76D,GAC1Bu4E,GAAO,GAEPywB,EAAWx1C,EAAKz2C,EAAM89C,EAAOt5C,EAASvpC,EAAQixH,SAGhDlsF,EAAO89C,GAQT,OALIvF,GAEF0zC,EAAWx1C,EAAKz2C,EADhB89C,EAAQ/N,GAAQn6D,GAAS4uB,EAAU4lC,EAAO,IAAM3+E,GACnB+4C,EAASvpC,EAAQixH,WAGvC3zC,EAkBX,SAAS6zC,GAAgB31C,EAAKqI,EAAMxqB,EAASM,GAC3C,IAKIluE,EAAGo3F,EAAOuuC,EAAOvpB,EAAMF,EAAM0pB,EAL3Bv8C,EAAS+O,EAAK/O,OACpB,EAA6B27C,GAAS37C,EAAQzb,EAASM,GAAhDnpE,EAAP,EAAOA,MAAOmqB,EAAd,EAAcA,MAAOw0D,EAArB,EAAqBA,KACrB,EAA+BxV,GAAU,GAAzC,IAAO4mC,KAAAA,OAAP,SAAoBh3D,EAApB,EAAoBA,QAChB+nF,EAAO,EACPC,EAAS,EAGPC,EAAa,SAACn+H,GAAD,OAAYsnB,GAAS4uB,EAAU4lC,EAAO97E,EAAQA,IAAU7C,GACrEihI,EAAQ,WACR5pB,IAASF,IAEXnsB,EAAI+G,OAAO+uC,EAAM3pB,GACjBnsB,EAAI+G,OAAO+uC,EAAMzpB,GAGjBrsB,EAAI+G,OAAO+uC,EAAMD,KASrB,IALI9wB,IACF1d,EAAQ/N,EAAO08C,EAAW,IAC1Bh2C,EAAI8G,OAAOO,EAAMjkE,EAAGikE,EAAM76D,IAGvBv8B,EAAI,EAAGA,GAAK0jF,IAAQ1jF,EAGvB,KAFAo3F,EAAQ/N,EAAO08C,EAAW/lI,KAEhBq+F,KAAV,CAKA,IAAMlrE,EAAIikE,EAAMjkE,EACVoJ,EAAI66D,EAAM76D,EACV0pG,EAAa,EAAJ9yG,EAEX8yG,IAAWN,GAETppG,EAAI6/E,EACNA,EAAO7/E,EACEA,EAAI2/E,IACbA,EAAO3/E,GAGTspG,GAAQC,EAASD,EAAO1yG,KAAO2yG,IAE/BE,IAGAj2C,EAAI+G,OAAO3jE,EAAGoJ,GAEdopG,EAAQM,EACRH,EAAS,EACT1pB,EAAOF,EAAO3/E,GAGhBqpG,EAAQrpG,EAEVypG,IAQF,SAASE,GAAkB9tC,GACzB,IAAMC,EAAOD,EAAK7jF,QACZwyF,EAAa1O,EAAK0O,YAAc1O,EAAK0O,WAAW7mG,OAEtD,OADqBk4F,EAAK2lB,aAAe3lB,EAAKoR,QAAUnR,EAAKiI,SAA2C,aAAhCjI,EAAK8H,yBAA0C9H,EAAKmtC,UAAYz+B,EACnH2+B,GAAkBJ,MD0EpBlB,GAAAA,KAEP,UAFOA,GAAAA,WAID,CAChBhnB,YAAa,SACb/tB,YAAa,OACb4X,qBAAiB1jG,EACjBu+H,aAAc,EACd7qC,YAAa,EACb9oE,OAAQ,EACR8sF,QAAS,EACTh0B,WAAO1jF,EACP+7G,UAAU,OAbO8kB,GAAAA,gBAgBI,CACrBh1C,gBAAiB,oBC/CrB,IAAM+2C,GAA8B,oBAAXC,OAEzB,SAASp+B,GAAKjY,EAAKqI,EAAMlpE,EAAOnqB,GAC1BohI,KAAc/tC,EAAK7jF,QAAQq5D,QA7BjC,SAA6BmiB,EAAKqI,EAAMlpE,EAAOnqB,GAC7C,IAAIi3C,EAAOo8C,EAAKiuC,MACXrqF,IACHA,EAAOo8C,EAAKiuC,MAAQ,IAAID,OACpBhuC,EAAKp8C,KAAKA,EAAM9sB,EAAOnqB,IACzBi3C,EAAK46C,aAGTkuC,GAAS/0C,EAAKqI,EAAK7jF,SACnBw7E,EAAImH,OAAOl7C,GAqBTsqF,CAAoBv2C,EAAKqI,EAAMlpE,EAAOnqB,GAlB1C,SAA0BgrF,EAAKqI,EAAMlpE,EAAOnqB,GAC1C,IADiD,EAC1C2oE,EAAqB0qB,EAArB1qB,SAAUn5D,EAAW6jF,EAAX7jF,QACXgyH,EAAgBL,GAAkB9tC,GAFS,KAI3B1qB,GAJ2B,IAIjD,IAAK,EAAL,qBAAgC,KAArBE,EAAqB,QAC9Bk3D,GAAS/0C,EAAKx7E,EAASq5D,EAAQ30D,OAC/B82E,EAAI0G,YACA8vC,EAAcx2C,EAAKqI,EAAMxqB,EAAS,CAAC1+C,MAAAA,EAAOC,IAAKD,EAAQnqB,EAAQ,KACjEgrF,EAAI6G,YAEN7G,EAAImH,UAV2C,+BAoB/CsvC,CAAiBz2C,EAAKqI,EAAMlpE,EAAOnqB,OAIlB0hI,GAAAA,SAAAA,uBAoCnB5zH,SAAAA,EAAYs2F,GAAK,wBACf,gBAEK6U,UAAW,EAChB,EAAKzpG,aAAUhR,EACf,EAAK0iG,YAAS1iG,EACd,EAAKimG,WAAQjmG,EACb,EAAKm8G,eAAYn8G,EACjB,EAAK8iI,WAAQ9iI,EACb,EAAKmjI,aAAUnjI,EACf,EAAKojI,eAAYpjI,EACjB,EAAKw6G,YAAa,EAClB,EAAK6oB,gBAAiB,EACtB,EAAKxgC,mBAAgB7iG,EAEjB4lG,GACFxoG,OAAOwQ,OAAPxQ,GAAAA,GAAoBwoG,GAhBP,gDAoBjBoV,SAAoB3L,EAAW1iB,GAC7B,IAAM37E,EAAUlS,KAAKkS,QACrB,IAAKA,EAAQ+rF,SAA8C,aAAnC/rF,EAAQ4rF,0BAA2C5rF,EAAQixH,UAAYnjI,KAAKukI,eAAgB,CAClH,IAAM/0C,EAAOt9E,EAAQ2rF,SAAW79F,KAAKmnG,MAAQnnG,KAAKq9G,UAClD1f,GAA2B39F,KAAKqkI,QAASnyH,EAASq+F,EAAW/gB,EAAM3B,GACnE7tF,KAAKukI,gBAAiB,uBAW1B,WACE,OAAOvkI,KAAKqkI,aARd,SAAWr9C,GACThnF,KAAKqkI,QAAUr9C,SACRhnF,KAAKskI,iBACLtkI,KAAKgkI,MACZhkI,KAAKukI,gBAAiB,wBAOxB,WACE,OAAOvkI,KAAKskI,YAActkI,KAAKskI,U7BhF5B,SAA0BvuC,EAAM2N,GACrC,IAAM1c,EAAS+O,EAAK/O,OACd6W,EAAW9H,EAAK7jF,QAAQ2rF,SACxBn7F,EAAQskF,EAAOnpF,OAErB,IAAK6E,EACH,MAAO,GAGT,IAAM8sF,IAASuG,EAAKoR,MACpB,EA3FF,SAAyBngB,EAAQtkF,EAAO8sF,EAAMqO,GAC5C,IAAIhxE,EAAQ,EACRC,EAAMpqB,EAAQ,EAElB,GAAI8sF,IAASqO,EAEX,KAAOhxE,EAAQnqB,IAAUskF,EAAOn6D,GAAOmvE,MACrCnvE,IAKJ,KAAOA,EAAQnqB,GAASskF,EAAOn6D,GAAOmvE,MACpCnvE,IAWF,IAPAA,GAASnqB,EAEL8sF,IAEF1iE,GAAOD,GAGFC,EAAMD,GAASm6D,EAAOl6D,EAAMpqB,GAAOs5F,MACxClvE,IAMF,MAAO,CAACD,MAAAA,EAAOC,IAFfA,GAAOpqB,GA8Dc8hI,CAAgBx9C,EAAQtkF,EAAO8sF,EAAMqO,GAAnDhxE,EAAP,EAAOA,MAAOC,EAAd,EAAcA,IAEd,OACS22E,GAAc1N,GADN,IAAb8H,EACyB,CAAC,CAAChxE,MAAAA,EAAOC,IAAAA,EAAK0iE,KAAAA,IArD7C,SAAuBxI,EAAQn6D,EAAOg2B,EAAK2sC,GACzC,IAII1iE,EAJEpqB,EAAQskF,EAAOnpF,OACf4kE,EAAS,GACXp7B,EAAOxa,EACPoqB,EAAO+vC,EAAOn6D,GAGlB,IAAKC,EAAMD,EAAQ,EAAGC,GAAO+1B,IAAO/1B,EAAK,CACvC,IAAMo5E,EAAMlf,EAAOl6D,EAAMpqB,GACrBwjG,EAAIlK,MAAQkK,EAAInhC,KACb9tB,EAAK+kD,OACRxM,GAAO,EACP/sB,EAAOzkE,KAAK,CAAC6uB,MAAOA,EAAQnqB,EAAOoqB,KAAMA,EAAM,GAAKpqB,EAAO8sF,KAAAA,IAE3D3iE,EAAQwa,EAAO6+D,EAAInhC,KAAOj4C,EAAM,OAGlCua,EAAOva,EACHmqB,EAAK+kD,OACPnvE,EAAQC,IAGZmqB,EAAOivD,EAOT,OAJa,OAAT7+D,GACFo7B,EAAOzkE,KAAK,CAAC6uB,MAAOA,EAAQnqB,EAAOoqB,IAAKua,EAAO3kC,EAAO8sF,KAAAA,IAGjD/sB,EA6BoBgiE,CAAcz9C,EAAQn6D,EAFrCC,EAAMD,EAAQC,EAAMpqB,EAAQoqB,IACjBipE,EAAKsnB,WAAuB,IAAVxwF,GAAeC,IAAQpqB,EAAQ,GAJrBskF,EAAQ0c,G6BmEdghC,CAAiB1kI,KAAMA,KAAKkS,QAAQq5D,+BAOjFq8C,WACE,IAAMv8C,EAAWrrE,KAAKqrE,SAChB2b,EAAShnF,KAAKgnF,OACpB,OAAO3b,EAASxtE,QAAUmpF,EAAO3b,EAAS,GAAGx+C,2BAO/Cwa,WACE,IAAMgkC,EAAWrrE,KAAKqrE,SAChB2b,EAAShnF,KAAKgnF,OACdtkF,EAAQ2oE,EAASxtE,OACvB,OAAO6E,GAASskF,EAAO3b,EAAS3oE,EAAQ,GAAGoqB,gCAU7CozD,SAAY6U,EAAOjiB,GACjB,IAAM5gE,EAAUlS,KAAKkS,QACfrS,EAAQk1F,EAAMjiB,GACdkU,EAAShnF,KAAKgnF,OACd3b,EAAWk4B,GAAevjG,KAAM,CAAC8yE,SAAAA,EAAUjmD,MAAOhtB,EAAOitB,IAAKjtB,IAEpE,GAAKwrE,EAASxtE,OAAd,CAIA,IAEIF,EAAG0jF,EAFD5e,EAAS,GACTkiE,EAvKV,SAAiCzyH,GAC/B,OAAIA,EAAQixH,QACH1hC,GAGLvvF,EAAQ+rF,SAA8C,aAAnC/rF,EAAQ4rF,uBACtB4D,GAGFF,GA8JgBojC,CAAwB1yH,GAE7C,IAAKvU,EAAI,EAAG0jF,EAAOhW,EAASxtE,OAAQF,EAAI0jF,IAAQ1jF,EAAG,CACjD,MAAqB0tE,EAAS1tE,GAAvBkvB,EAAP,EAAOA,MAAOC,EAAd,EAAcA,IACRkoD,EAAKgS,EAAOn6D,GACZooD,EAAK+R,EAAOl6D,GAClB,GAAIkoD,IAAOC,EAAX,CAIA,IACM4vD,EAAeF,EAAa3vD,EAAIC,EAD5Bz4D,KAAKgnE,KAAK3jF,EAAQm1E,EAAGlC,KAAcmC,EAAGnC,GAAYkC,EAAGlC,KAClB5gE,EAAQixH,SACrD0B,EAAa/xD,GAAYiiB,EAAMjiB,GAC/BrQ,EAAOzkE,KAAK6mI,QANVpiE,EAAOzkE,KAAKg3E,GAQhB,OAAyB,IAAlBvS,EAAO5kE,OAAe4kE,EAAO,GAAKA,8BAiB3CwgE,SAAYv1C,EAAKniB,EAASM,GAExB,OADsBg4D,GAAkB7jI,KACjCkkI,CAAcx2C,EAAK1tF,KAAMurE,EAASM,uBAU3ClyB,SAAK+zC,EAAK7gE,EAAOnqB,GACf,IAAM2oE,EAAWrrE,KAAKqrE,SAChB64D,EAAgBL,GAAkB7jI,MACpCwvF,EAAOxvF,KAAKmnG,MAEhBt6E,EAAQA,GAAS,EACjBnqB,EAAQA,GAAU1C,KAAKgnF,OAAOnpF,OAASgvB,EANjB,WAQAw+C,GARA,IAQtB,IAAK,EAAL,qBAAgC,CAC9BmkB,GAAQ00C,EAAcx2C,EAAK1tF,KADG,QACY,CAAC6sB,MAAAA,EAAOC,IAAKD,EAAQnqB,EAAQ,KATnD,8BAWtB,QAAS8sF,sBAUXmW,SAAKjY,EAAK6iB,EAAW1jF,EAAOnqB,GAC1B,IAAMwP,EAAUlS,KAAKkS,SAAW,IACjBlS,KAAKgnF,QAAU,IAEnBnpF,QAAUqU,EAAQ0iF,cAC3BlH,EAAI8E,OAEJmT,GAAKjY,EAAK1tF,KAAM6sB,EAAOnqB,GAEvBgrF,EAAIkF,WAGF5yF,KAAK27G,WAEP37G,KAAKukI,gBAAiB,EACtBvkI,KAAKgkI,WAAQ9iI,SAvMEkjI,CAAoBrwF,ICrOzC,SAAS8qE,GAAQtvE,EAAkB4vD,EAAa7X,EAAiBq3B,GAC/D,IAAMzsG,EAAUq9B,EAAGr9B,QACJrS,EAAS0vC,EAAG+vE,SAAS,CAACh4B,GAAOq3B,GAApCr3B,GAER,OAAQ9qE,KAAKgnE,IAAI2b,EAAMt/F,GAASqS,EAAQ8hF,OAAS9hF,EAAQ4yH,aDiOtCV,GAAAA,KAEP,WAFOA,GAAAA,WAOD,CAChB3/B,eAAgB,OAChBC,WAAY,GACZC,iBAAkB,EAClBC,gBAAiB,QACjBhQ,YAAa,EACbsJ,iBAAiB,EACjBJ,uBAAwB,UACxBhsC,MAAM,EACN+rC,UAAU,EACVslC,SAAS,EACTllC,QAAS,OAlBQmmC,GAAAA,gBAwBI,CACrBr3C,gBAAiB,kBACjBC,YAAa,mBA1BIo3C,GAAAA,cA8BE,CACnBl1C,aAAa,EACbC,WAAY,SAAChvF,GAAD,MAAmB,eAATA,GAAkC,SAATA,SC5P9B4kI,GAAAA,SAAAA,uBA6BnBv0H,SAAAA,EAAYs2F,GAAK,wBACf,gBAEK50F,aAAUhR,EACf,EAAK26F,YAAS36F,EACd,EAAK86F,UAAO96F,EACZ,EAAK6jE,UAAO7jE,EAER4lG,GACFxoG,OAAOwQ,OAAPxQ,GAAAA,GAAoBwoG,GATP,oCAajB+X,SAAQmmB,EAAgBC,EAAgBtmB,GACtC,IAAMzsG,EAAUlS,KAAKkS,QACrB,EAAelS,KAAKs/G,SAAS,CAAC,IAAK,KAAMX,GAAlC7tF,EAAP,EAAOA,EAAGoJ,EAAV,EAAUA,EACV,OAAS1d,KAAKqiE,IAAImmD,EAASl0G,EAAG,GAAKtU,KAAKqiE,IAAIomD,EAAS/qG,EAAG,GAAM1d,KAAKqiE,IAAI3sE,EAAQ4yH,UAAY5yH,EAAQ8hF,OAAQ,2BAG7GkxC,SAASF,EAAgBrmB,GACvB,OAAOE,GAAQ7+G,KAAMglI,EAAQ,IAAKrmB,2BAGpCwmB,SAASF,EAAgBtmB,GACvB,OAAOE,GAAQ7+G,KAAMilI,EAAQ,IAAKtmB,iCAGpCS,SAAeT,GACb,MAAe3+G,KAAKs/G,SAAS,CAAC,IAAK,KAAMX,GACzC,MAAO,CAAC7tF,EADR,EAAOA,EACIoJ,EADX,EAAUA,uBAIZgO,SAAKh2B,GAEH,IAAI8hF,GADJ9hF,EAAUA,GAAWlS,KAAKkS,SAAW,IAChB8hF,QAAU,EAG/B,OAAgC,IAFhCA,EAASx3E,KAAKqmC,IAAImxC,EAAQA,GAAU9hF,EAAQkzH,aAAe,KACvCpxC,GAAU9hF,EAAQ0iF,aAAe,wBAIvD+Q,SAAKjY,EAA+Bv2E,GAClC,IAAMjF,EAAUlS,KAAKkS,QAEjBlS,KAAKg8F,MAAQ9pF,EAAQ8hF,OAAS,KAAQc,GAAe90F,KAAMmX,EAAMnX,KAAKkoC,KAAKh2B,GAAW,KAI1Fw7E,EAAI4I,YAAcpkF,EAAQ86E,YAC1BU,EAAI8C,UAAYt+E,EAAQ0iF,YACxBlH,EAAIiJ,UAAYzkF,EAAQ66E,gBACxBwG,GAAU7F,EAAKx7E,EAASlS,KAAK8wB,EAAG9wB,KAAKk6B,4BAGvCqkF,WACE,IAAMrsG,EAAUlS,KAAKkS,SAAW,GAEhC,OAAOA,EAAQ8hF,OAAS9hF,EAAQ4yH,gBArFfC,CAAqBhxF,ICL1C,SAASsxF,GAAaC,EAAK3mB,GACzB,IAEI5wF,EAAMmiE,EAAOjiE,EAAKkiE,EAAQo1C,EAF9B,EAA6DD,EAAIhmB,SAAS,CAAC,IAAK,IAAK,OAAQ,QAAS,UAAWX,GAA1G7tF,EAAP,EAAOA,EAAGoJ,EAAV,EAAUA,EAAG9iB,EAAb,EAAaA,KAAM8P,EAAnB,EAAmBA,MAAOC,EAA1B,EAA0BA,OAkB1B,OAdIm+G,EAAI5wB,YACN6wB,EAAOp+G,EAAS,EAChB4G,EAAOvR,KAAKyQ,IAAI6D,EAAG1Z,GACnB84E,EAAQ1zE,KAAKqmC,IAAI/xB,EAAG1Z,GACpB6W,EAAMiM,EAAIqrG,EACVp1C,EAASj2D,EAAIqrG,IAGbx3G,EAAO+C,GADPy0G,EAAOr+G,EAAQ,GAEfgpE,EAAQp/D,EAAIy0G,EACZt3G,EAAMzR,KAAKyQ,IAAIiN,EAAG9iB,GAClB+4E,EAAS3zE,KAAKqmC,IAAI3oB,EAAG9iB,IAGhB,CAAC2W,KAAAA,EAAME,IAAAA,EAAKiiE,MAAAA,EAAOC,OAAAA,GAG5B,SAASq1C,GAAYxpC,EAAMn8F,EAAOotB,EAAK41B,GACrC,OAAOm5C,EAAO,EAAItW,GAAY7lF,EAAOotB,EAAK41B,GAmC5C,SAAS4iF,GAAcH,GACrB,IAAMj1C,EAASg1C,GAAaC,GACtBp+G,EAAQmpE,EAAOH,MAAQG,EAAOtiE,KAC9B5G,EAASkpE,EAAOF,OAASE,EAAOpiE,IAChC8iE,EApCR,SAA0Bu0C,EAAKI,EAAMC,GACnC,IAAM9lI,EAAQylI,EAAIpzH,QAAQ0iF,YACpBoH,EAAOspC,EAAI7wB,cACXnuC,EAAI+xB,GAAOx4F,GAEjB,MAAO,CACL+wB,EAAG40G,GAAYxpC,EAAK/tE,IAAKq4C,EAAEr4C,IAAK,EAAG03G,GACnC1rG,EAAGurG,GAAYxpC,EAAK9L,MAAO5pB,EAAE4pB,MAAO,EAAGw1C,GACvC/6H,EAAG66H,GAAYxpC,EAAK7L,OAAQ7pB,EAAE6pB,OAAQ,EAAGw1C,GACzCp2H,EAAGi2H,GAAYxpC,EAAKjuE,KAAMu4C,EAAEv4C,KAAM,EAAG23G,IA2BxBE,CAAiBN,EAAKp+G,EAAQ,EAAGC,EAAS,GACnD6sE,EAxBR,SAA2BsxC,EAAKI,EAAMC,GACpC,IAAO/wB,EAAsB0wB,EAAIhmB,SAAS,CAAC,uBAApC1K,mBACD/0G,EAAQylI,EAAIpzH,QAAQutH,aACpBn5D,EAAIgyB,GAAcz4F,GAClBgmI,EAAOrpH,KAAKyQ,IAAIy4G,EAAMC,GACtB3pC,EAAOspC,EAAI7wB,cAIXqxB,EAAelxB,GAAsBr0B,GAAS1gF,GAEpD,MAAO,CACL63F,QAAS8tC,IAAaM,GAAgB9pC,EAAK/tE,KAAO+tE,EAAKjuE,KAAMu4C,EAAEoxB,QAAS,EAAGmuC,GAC3EhuC,SAAU2tC,IAAaM,GAAgB9pC,EAAK/tE,KAAO+tE,EAAK9L,MAAO5pB,EAAEuxB,SAAU,EAAGguC,GAC9EluC,WAAY6tC,IAAaM,GAAgB9pC,EAAK7L,QAAU6L,EAAKjuE,KAAMu4C,EAAEqxB,WAAY,EAAGkuC,GACpFjuC,YAAa4tC,IAAaM,GAAgB9pC,EAAK7L,QAAU6L,EAAK9L,MAAO5pB,EAAEsxB,YAAa,EAAGiuC,IAS1EtG,CAAkB+F,EAAKp+G,EAAQ,EAAGC,EAAS,GAE1D,MAAO,CACL4+G,MAAO,CACLj1G,EAAGu/D,EAAOtiE,KACVmM,EAAGm2D,EAAOpiE,IACV1rB,EAAG2kB,EACH1X,EAAG2X,EACH6sE,OAAAA,GAEF71F,MAAO,CACL2yB,EAAGu/D,EAAOtiE,KAAOgjE,EAAOxhF,EACxB2qB,EAAGm2D,EAAOpiE,IAAM8iE,EAAOngE,EACvBruB,EAAG2kB,EAAQ6pE,EAAOxhF,EAAIwhF,EAAO92D,EAC7BzqB,EAAG2X,EAAS4pE,EAAOngE,EAAImgE,EAAOpmF,EAC9BqpF,OAAQ,CACN0D,QAASl7E,KAAKqmC,IAAI,EAAGmxC,EAAO0D,QAAUl7E,KAAKqmC,IAAIkuC,EAAOngE,EAAGmgE,EAAOxhF,IAChEsoF,SAAUr7E,KAAKqmC,IAAI,EAAGmxC,EAAO6D,SAAWr7E,KAAKqmC,IAAIkuC,EAAOngE,EAAGmgE,EAAO92D,IAClE09D,WAAYn7E,KAAKqmC,IAAI,EAAGmxC,EAAO2D,WAAan7E,KAAKqmC,IAAIkuC,EAAOpmF,EAAGomF,EAAOxhF,IACtEqoF,YAAap7E,KAAKqmC,IAAI,EAAGmxC,EAAO4D,YAAcp7E,KAAKqmC,IAAIkuC,EAAOpmF,EAAGomF,EAAO92D,OAMhF,SAAS4kF,GAAQymB,EAAKx0G,EAAGoJ,EAAGykF,GAC1B,IAAMqnB,EAAc,OAANl1G,EACRm1G,EAAc,OAAN/rG,EAERm2D,EAASi1C,KADEU,GAASC,IACSZ,GAAaC,EAAK3mB,GAErD,OAAOtuB,IACH21C,GAASrgD,GAAW70D,EAAGu/D,EAAOtiE,KAAMsiE,EAAOH,UAC3C+1C,GAAStgD,GAAWzrD,EAAGm2D,EAAOpiE,IAAKoiE,EAAOF,SAYhD,SAAS+1C,GAAkBx4C,EAAKiH,GAC9BjH,EAAIiH,KAAKA,EAAK7jE,EAAG6jE,EAAKz6D,EAAGy6D,EAAKpyF,EAAGoyF,EAAKnlF,GAGxC,SAAS22H,GAAYxxC,EAAMyxC,GAAsB,IAAdC,EAAc,uDAAJ,GACrCv1G,EAAI6jE,EAAK7jE,IAAMu1G,EAAQv1G,GAAKs1G,EAAS,EACrClsG,EAAIy6D,EAAKz6D,IAAMmsG,EAAQnsG,GAAKksG,EAAS,EACrC7jI,GAAKoyF,EAAK7jE,EAAI6jE,EAAKpyF,IAAM8jI,EAAQv1G,EAAIu1G,EAAQ9jI,EAAI6jI,EAAS,GAAKt1G,EAC/DthB,GAAKmlF,EAAKz6D,EAAIy6D,EAAKnlF,IAAM62H,EAAQnsG,EAAImsG,EAAQ72H,EAAI42H,EAAS,GAAKlsG,EACrE,MAAO,CACLpJ,EAAG6jE,EAAK7jE,EAAIA,EACZoJ,EAAGy6D,EAAKz6D,EAAIA,EACZ33B,EAAGoyF,EAAKpyF,EAAIA,EACZiN,EAAGmlF,EAAKnlF,EAAIA,EACZwkF,OAAQW,EAAKX,WDrHI+wC,GAAAA,KAEP,YAFOA,GAAAA,WAWD,CAChBnwC,YAAa,EACbkwC,UAAW,EACX9pB,iBAAkB,EAClBoqB,YAAa,EACbtxC,WAAY,SACZE,OAAQ,EACRD,SAAU,OAlBOgxC,GAAAA,gBAwBI,CACrBh4C,gBAAiB,kBACjBC,YAAa,oBC+FIs5C,GAAAA,SAAAA,uBAuBnB91H,SAAAA,EAAYs2F,GAAK,wBACf,gBAEK50F,aAAUhR,EACf,EAAKwzG,gBAAaxzG,EAClB,EAAKkW,UAAOlW,EACZ,EAAKgmB,WAAQhmB,EACb,EAAKimB,YAASjmB,EACd,EAAKg0G,mBAAgBh0G,EAEjB4lG,GACFxoG,OAAOwQ,OAAPxQ,GAAAA,GAAoBwoG,GAXP,iCAejBnB,SAAKjY,GACH,IAlEesG,EAkERkhB,EAA0Dl1G,KAA1Dk1G,cAAP,EAAiEl1G,KAA3CkS,QAAU86E,EAAhC,EAAgCA,YAAaD,EAA7C,EAA6CA,gBAC7C,EAAuB04C,GAAczlI,MAA9B7B,EAAP,EAAOA,MAAO4nI,EAAd,EAAcA,MACRQ,GApESvyC,EAoEe+xC,EAAM/xC,QAnExB0D,SAAW1D,EAAO6D,UAAY7D,EAAO2D,YAAc3D,EAAO4D,YAmExBH,GAAqByuC,GAEnEx4C,EAAI8E,OAEAuzC,EAAMxjI,IAAMpE,EAAMoE,GAAKwjI,EAAMv2H,IAAMrR,EAAMqR,IAC3Ck+E,EAAI0G,YACJmyC,EAAY74C,EAAKy4C,GAAYJ,EAAO7wB,EAAe/2G,IACnDuvF,EAAIwH,OACJqxC,EAAY74C,EAAKy4C,GAAYhoI,GAAQ+2G,EAAe6wB,IACpDr4C,EAAIiJ,UAAY3J,EAChBU,EAAI57B,KAAK,YAGX47B,EAAI0G,YACJmyC,EAAY74C,EAAKy4C,GAAYhoI,EAAO+2G,IACpCxnB,EAAIiJ,UAAY5J,EAChBW,EAAI57B,OAEJ47B,EAAIkF,iCAGNisB,SAAQmmB,EAAQC,EAAQtmB,GACtB,OAAOE,GAAQ7+G,KAAMglI,EAAQC,EAAQtmB,2BAGvCumB,SAASF,EAAQrmB,GACf,OAAOE,GAAQ7+G,KAAMglI,EAAQ,KAAMrmB,2BAGrCwmB,SAASF,EAAQtmB,GACf,OAAOE,GAAQ7+G,KAAM,KAAMilI,EAAQtmB,iCAGrCS,SAAeT,GACb,MAA0D3+G,KAAKs/G,SAAS,CAAC,IAAK,IAAK,OAAQ,cAAeX,GAAnG7tF,EAAP,EAAOA,EAAGoJ,EAAV,EAAUA,EAAG9iB,EAAb,EAAaA,KAAMs9F,EAAnB,EAAmBA,WACnB,MAAO,CACL5jF,EAAG4jF,GAAc5jF,EAAI1Z,GAAQ,EAAI0Z,EACjCoJ,EAAGw6E,EAAax6E,GAAKA,EAAI9iB,GAAQ,2BAIrCmnG,SAASj3B,GACP,MAAgB,MAATA,EAAetnF,KAAKknB,MAAQ,EAAIlnB,KAAKmnB,OAAS,QAnFpCm/G,CAAmBvyF,OAAnBuyF,GAAAA,KAEP,UAFOA,GAAAA,WAOD,CAChB7xB,cAAe,QACf7f,YAAa,EACb6qC,aAAc,EACdvqB,cAAe,OACfphB,gBAAY5yF,OAZKolI,GAAAA,gBAkBI,CACrBv5C,gBAAiB,kBACjBC,YAAa,gBCrJjB,ICYMw5C,GAAa,SAACC,EAAW7T,GAC7B,MAAkD6T,EAA7CC,UAAAA,OAAL,MAAiB9T,EAAjB,IAAkD6T,EAAvBE,SAAAA,OAA3B,MAAsC/T,EAAtC,EAOA,OALI6T,EAAUG,gBACZF,EAAYlqH,KAAKyQ,IAAIy5G,EAAW9T,GAChC+T,EAAWF,EAAUI,iBAAmBrqH,KAAKyQ,IAAI05G,EAAU/T,IAGtD,CACL+T,SAAAA,EACAD,UAAAA,EACAI,WAAYtqH,KAAKqmC,IAAI+vE,EAAU8T,KAMtBK,GAAAA,SAAAA,uBAKXv2H,SAAAA,EAAYu3F,GAAQ,wBAClB,gBAEKi/B,QAAS,EAGd,EAAKC,eAAiB,GAKtB,EAAKC,aAAe,KAGpB,EAAKC,cAAe,EAEpB,EAAKv7C,MAAQmc,EAAOnc,MACpB,EAAK15E,QAAU61F,EAAO71F,QACtB,EAAKw7E,IAAMqa,EAAOra,IAClB,EAAK05C,iBAAclmI,EACnB,EAAKmmI,iBAAcnmI,EACnB,EAAKomI,gBAAapmI,EAClB,EAAKk/F,eAAYl/F,EACjB,EAAKs1C,cAAWt1C,EAChB,EAAK+sB,SAAM/sB,EACX,EAAKivF,YAASjvF,EACd,EAAK6sB,UAAO7sB,EACZ,EAAKgvF,WAAQhvF,EACb,EAAKimB,YAASjmB,EACd,EAAKgmB,WAAQhmB,EACb,EAAKooH,cAAWpoH,EAChB,EAAKkE,cAAWlE,EAChB,EAAKy+E,YAASz+E,EACd,EAAKu/G,cAAWv/G,EAjCE,mCAoCpBumG,SAAOjxD,EAAU4pD,EAAWD,GAC1BngG,KAAKw2C,SAAWA,EAChBx2C,KAAKogG,UAAYA,EACjBpgG,KAAKspH,SAAWnpB,EAEhBngG,KAAKmrH,gBACLnrH,KAAKunI,cACLvnI,KAAKqsH,mCAGPlB,WACMnrH,KAAKw1G,gBACPx1G,KAAKknB,MAAQlnB,KAAKw2C,SAClBx2C,KAAK+tB,KAAO/tB,KAAKspH,SAASv7F,KAC1B/tB,KAAKkwF,MAAQlwF,KAAKknB,QAElBlnB,KAAKmnB,OAASnnB,KAAKogG,UACnBpgG,KAAKiuB,IAAMjuB,KAAKspH,SAASr7F,IACzBjuB,KAAKmwF,OAASnwF,KAAKmnB,mCAIvBogH,WAAc,WACNd,EAAYzmI,KAAKkS,QAAQ08F,QAAU,GACrCw4B,EAAc3oI,GAAKgoI,EAAUrrB,eAAgB,CAACp7G,KAAK4rF,OAAQ5rF,OAAS,GAEpEymI,EAAU5pF,SACZuqF,EAAcA,EAAYvqF,QAAO,SAAC6lC,GAAD,OAAU+jD,EAAU5pF,OAAO6lC,EAAM,EAAKkJ,MAAMvmE,UAG3EohH,EAAU59E,OACZu+E,EAAcA,EAAYv+E,MAAK,SAACn+C,EAAGC,GAAJ,OAAU87H,EAAU59E,KAAKn+C,EAAGC,EAAG,EAAKihF,MAAMvmE,UAGvErlB,KAAKkS,QAAQupC,SACf2rF,EAAY3rF,UAGdz7C,KAAKonI,YAAcA,qBAGrB/a,WACE,IAAOn6G,EAAgBlS,KAAhBkS,QAASw7E,EAAO1tF,KAAP0tF,IAMhB,GAAKx7E,EAAQy4B,QAAb,CAKA,IAMIzjB,EAAOC,EANLs/G,EAAYv0H,EAAQ08F,OACpB44B,EAAYhvC,GAAOiuC,EAAUn5C,MAC7BslC,EAAW4U,EAAUt/F,KACrB0lF,EAAc5tH,KAAKynI,sBACzB,EAA+BjB,GAAWC,EAAW7T,GAA9C+T,EAAP,EAAOA,SAAUG,EAAjB,EAAiBA,WAIjBp5C,EAAIJ,KAAOk6C,EAAUh+H,OAEjBxJ,KAAKw1G,gBACPtuF,EAAQlnB,KAAKw2C,SACbrvB,EAASnnB,KAAK0nI,SAAS9Z,EAAagF,EAAU+T,EAAUG,GAAc,KAEtE3/G,EAASnnB,KAAKogG,UACdl5E,EAAQlnB,KAAK2nI,SAAS/Z,EAAa4Z,EAAWb,EAAUG,GAAc,IAGxE9mI,KAAKknB,MAAQ1K,KAAKyQ,IAAI/F,EAAOhV,EAAQskC,UAAYx2C,KAAKw2C,UACtDx2C,KAAKmnB,OAAS3K,KAAKyQ,IAAI9F,EAAQjV,EAAQkuF,WAAapgG,KAAKogG,gBAvBvDpgG,KAAKknB,MAAQlnB,KAAKmnB,OAAS,0BA6B/BugH,SAAS9Z,EAAagF,EAAU+T,EAAUG,GACxC,IAAOp5C,EAA+C1tF,KAA/C0tF,IAAKl3C,EAA0Cx2C,KAA1Cw2C,SAA6By5C,EAAajwF,KAAhCkS,QAAU08F,OAAS3e,QACnC23C,EAAW5nI,KAAKinI,eAAiB,GAEjCK,EAAatnI,KAAKsnI,WAAa,CAAC,GAChC7xH,EAAaqxH,EAAa72C,EAC5B43C,EAAcja,EAElBlgC,EAAIkJ,UAAY,OAChBlJ,EAAImJ,aAAe,SAEnB,IAAIn9C,GAAO,EACPzrB,GAAOxY,EAgBX,OAfAzV,KAAKonI,YAAY36H,SAAQ,SAAC6uG,EAAY39G,GACpC,IAAMwkG,EAAYwkC,EAAY/T,EAAW,EAAKllC,EAAI0E,YAAYkpB,EAAWxxF,MAAM5C,OAErE,IAANvpB,GAAW2pI,EAAWA,EAAWzpI,OAAS,GAAKskG,EAAY,EAAIlS,EAAUz5C,KAC3EqxF,GAAepyH,EACf6xH,EAAWA,EAAWzpI,QAAUF,EAAI,EAAI,EAAI,IAAM,EAClDswB,GAAOxY,EACPikC,KAGFkuF,EAASjqI,GAAK,CAACowB,KAAM,EAAGE,IAAAA,EAAKyrB,IAAAA,EAAKxyB,MAAOi7E,EAAWh7E,OAAQ2/G,GAE5DQ,EAAWA,EAAWzpI,OAAS,IAAMskG,EAAYlS,KAG5C43C,0BAGTF,SAAS/Z,EAAa4Z,EAAWb,EAAUmB,GACzC,IAAOp6C,EAAgD1tF,KAAhD0tF,IAAK0S,EAA2CpgG,KAA3CogG,UAA8BnQ,EAAajwF,KAAhCkS,QAAU08F,OAAS3e,QACpC23C,EAAW5nI,KAAKinI,eAAiB,GACjCI,EAAcrnI,KAAKqnI,YAAc,GACjCU,EAAc3nC,EAAYwtB,EAE5BlrE,EAAautC,EACb+3C,EAAkB,EAClBC,EAAmB,EAEnBl6G,EAAO,EACPzW,EAAM,EAyBV,OAvBAtX,KAAKonI,YAAY36H,SAAQ,SAAC6uG,EAAY39G,GACpC,MA8VN,SAA2BgpI,EAAUa,EAAW95C,EAAK4tB,EAAYwsB,GAC/D,IAAM3lC,EAKR,SAA4BmZ,EAAYqrB,EAAUa,EAAW95C,GAC3D,IAAIw6C,EAAiB5sB,EAAWxxF,KAC5Bo+G,GAA4C,kBAAnBA,IAC3BA,EAAiBA,EAAetxF,QAAO,SAAClsC,EAAGC,GAAJ,OAAUD,EAAE7M,OAAS8M,EAAE9M,OAAS6M,EAAIC,MAE7E,OAAOg8H,EAAYa,EAAUt/F,KAAO,EAAKwlD,EAAI0E,YAAY81C,GAAgBhhH,MAVvDihH,CAAmB7sB,EAAYqrB,EAAUa,EAAW95C,GAChEo5C,EAYR,SAA6BgB,EAAaxsB,EAAY8sB,GACpD,IAAItB,EAAagB,EACc,kBAApBxsB,EAAWxxF,OACpBg9G,EAAauB,GAA0B/sB,EAAY8sB,IAErD,OAAOtB,EAjBYwB,CAAoBR,EAAaxsB,EAAYksB,EAAU/xH,YAC1E,MAAO,CAAC0sF,UAAAA,EAAW2kC,WAAAA,GAjWiByB,CAAkB5B,EAAUa,EAAW95C,EAAK4tB,EAAYwsB,GAAjF3lC,EAAP,EAAOA,UAAW2kC,EAAlB,EAAkBA,WAGdnpI,EAAI,GAAKsqI,EAAmBnB,EAAa,EAAI72C,EAAU83C,IACzDrlF,GAAcslF,EAAkB/3C,EAChCo3C,EAAYrpI,KAAK,CAACkpB,MAAO8gH,EAAiB7gH,OAAQ8gH,IAClDl6G,GAAQi6G,EAAkB/3C,EAC1B34E,IACA0wH,EAAkBC,EAAmB,GAIvCL,EAASjqI,GAAK,CAACowB,KAAAA,EAAME,IAAKg6G,EAAkB3wH,IAAAA,EAAK4P,MAAOi7E,EAAWh7E,OAAQ2/G,GAG3EkB,EAAkBxrH,KAAKqmC,IAAImlF,EAAiB7lC,GAC5C8lC,GAAoBnB,EAAa72C,KAGnCvtC,GAAcslF,EACdX,EAAYrpI,KAAK,CAACkpB,MAAO8gH,EAAiB7gH,OAAQ8gH,IAE3CvlF,gCAGT8lF,WACE,GAAKxoI,KAAKkS,QAAQy4B,QAAlB,CAGA,IAAMijF,EAAc5tH,KAAKynI,sBACFG,EAAsD5nI,KAAtEinI,eAAP,EAA6EjnI,KAA5CkS,QAAU20E,EAA3C,EAA2CA,MAAgBoJ,EAA3D,EAAkD2e,OAAS3e,QACrDw4C,EAAY5mC,GADlB,EAAqEC,IAChC9hG,KAAK+tB,KAAM/tB,KAAKknB,OACrD,GAAIlnB,KAAKw1G,eAAgB,CACvB,IADuB,EACnB97D,EAAM,EACN3rB,EAAO+4D,GAAeD,EAAO7mF,KAAK+tB,KAAOkiE,EAASjwF,KAAKkwF,MAAQlwF,KAAKsnI,WAAW5tF,IAF5D,KAGFkuF,GAHE,IAGvB,IAAK,EAAL,qBAA+B,KAApBc,EAAoB,QACzBhvF,IAAQgvF,EAAOhvF,MACjBA,EAAMgvF,EAAOhvF,IACb3rB,EAAO+4D,GAAeD,EAAO7mF,KAAK+tB,KAAOkiE,EAASjwF,KAAKkwF,MAAQlwF,KAAKsnI,WAAW5tF,KAEjFgvF,EAAOz6G,KAAOjuB,KAAKiuB,IAAM2/F,EAAc39B,EACvCy4C,EAAO36G,KAAO06G,EAAUvmC,WAAWumC,EAAU33G,EAAE/C,GAAO26G,EAAOxhH,OAC7D6G,GAAQ26G,EAAOxhH,MAAQ+oE,GAVF,mCAYlB,CACL,IADK,EACD34E,EAAM,EACN2W,EAAM64D,GAAeD,EAAO7mF,KAAKiuB,IAAM2/F,EAAc39B,EAASjwF,KAAKmwF,OAASnwF,KAAKqnI,YAAY/vH,GAAK6P,QAFjG,KAGgBygH,GAHhB,IAGL,IAAK,EAAL,qBAA+B,KAApBc,EAAoB,QACzBA,EAAOpxH,MAAQA,IACjBA,EAAMoxH,EAAOpxH,IACb2W,EAAM64D,GAAeD,EAAO7mF,KAAKiuB,IAAM2/F,EAAc39B,EAASjwF,KAAKmwF,OAASnwF,KAAKqnI,YAAY/vH,GAAK6P,SAEpGuhH,EAAOz6G,IAAMA,EACby6G,EAAO36G,MAAQ/tB,KAAK+tB,KAAOkiE,EAC3By4C,EAAO36G,KAAO06G,EAAUvmC,WAAWumC,EAAU33G,EAAE43G,EAAO36G,MAAO26G,EAAOxhH,OACpE+G,GAAOy6G,EAAOvhH,OAAS8oE,GAXpB,6DAgBTulB,WACE,MAAiC,QAA1Bx1G,KAAKkS,QAAQ9M,UAAgD,WAA1BpF,KAAKkS,QAAQ9M,6BAGzDugG,WACE,GAAI3lG,KAAKkS,QAAQy4B,QAAS,CACxB,IAAM+iD,EAAM1tF,KAAK0tF,IACjBuH,GAASvH,EAAK1tF,MAEdA,KAAK2oI,QAELxzC,GAAWzH,yBAOfi7C,WAAQ,IASFtuF,EATE,OACU27C,EAAsCh2F,KAA/CkS,QAAem1H,EAAgCrnI,KAAhCqnI,YAAaC,EAAmBtnI,KAAnBsnI,WAAY55C,EAAO1tF,KAAP0tF,IACxC7G,EAA4BmP,EAA5BnP,MAAe4/C,EAAazwC,EAArB4Y,OACRg6B,EAAev5C,GAAShmE,MACxBo/G,EAAY5mC,GAAc7L,EAAK8L,IAAK9hG,KAAK+tB,KAAM/tB,KAAKknB,OACpDsgH,EAAYhvC,GAAOiuC,EAAUn5C,MAC5B2C,EAAWw2C,EAAXx2C,QACD2iC,EAAW4U,EAAUt/F,KACrB2gG,EAAejW,EAAW,EAGhC5yH,KAAKmyH,YAGLzkC,EAAIkJ,UAAY6xC,EAAU7xC,UAAU,QACpClJ,EAAImJ,aAAe,SACnBnJ,EAAI8C,UAAY,GAChB9C,EAAIJ,KAAOk6C,EAAUh+H,OAErB,MAA0Cg9H,GAAWC,EAAW7T,GAAzD+T,EAAP,EAAOA,SAAUD,EAAjB,EAAiBA,UAAWI,EAA5B,EAA4BA,WAyEtBtxB,EAAex1G,KAAKw1G,eACpBoY,EAAc5tH,KAAKynI,sBAEvBptF,EADEm7D,EACO,CACP1kF,EAAGg2D,GAAeD,EAAO7mF,KAAK+tB,KAAOkiE,EAASjwF,KAAKkwF,MAAQo3C,EAAW,IACtEptG,EAAGl6B,KAAKiuB,IAAMgiE,EAAU29B,EACxB73B,KAAM,GAGC,CACPjlE,EAAG9wB,KAAK+tB,KAAOkiE,EACf/1D,EAAG4sD,GAAeD,EAAO7mF,KAAKiuB,IAAM2/F,EAAc39B,EAASjwF,KAAKmwF,OAASk3C,EAAY,GAAGlgH,QACxF4uE,KAAM,GAIVuM,GAAsBtiG,KAAK0tF,IAAKsI,EAAK8yC,eAErC,IAAMrzH,EAAaqxH,EAAa72C,EAChCjwF,KAAKonI,YAAY36H,SAAQ,SAAC6uG,EAAY39G,GACpC+vF,EAAI4I,YAAcglB,EAAWD,UAC7B3tB,EAAIiJ,UAAY2kB,EAAWD,UAE3B,IAAMlpB,EAAYzE,EAAI0E,YAAYkpB,EAAWxxF,MAAM5C,MAC7C0vE,EAAY6xC,EAAU7xC,UAAU0kB,EAAW1kB,YAAc0kB,EAAW1kB,UAAY6vC,EAAU7vC,YAC1F1vE,EAAQy/G,EAAWkC,EAAe12C,EACpCrhE,EAAIupB,EAAOvpB,EACXoJ,EAAImgB,EAAOngB,EAyBf,GAvBAuuG,EAAUzmC,SAAS,EAAK96E,OAEpBsuF,EACE73G,EAAI,GAAKmzB,EAAI5J,EAAQ+oE,EAAU,EAAKC,QACtCh2D,EAAImgB,EAAOngB,GAAKzkB,EAChB4kC,EAAO07C,OACPjlE,EAAIupB,EAAOvpB,EAAIg2D,GAAeD,EAAO,EAAK94D,KAAOkiE,EAAS,EAAKC,MAAQo3C,EAAWjtF,EAAO07C,QAElFp4F,EAAI,GAAKu8B,EAAIzkB,EAAa,EAAK06E,SACxCr/D,EAAIupB,EAAOvpB,EAAIA,EAAIu2G,EAAYhtF,EAAO07C,MAAM7uE,MAAQ+oE,EACpD51C,EAAO07C,OACP77D,EAAImgB,EAAOngB,EAAI4sD,GAAeD,EAAO,EAAK54D,IAAM2/F,EAAc39B,EAAS,EAAKE,OAASk3C,EAAYhtF,EAAO07C,MAAM5uE,SA9G5F,SAAS2J,EAAGoJ,EAAGohF,GACnC,KAAI17G,MAAM+mI,IAAaA,GAAY,GAAK/mI,MAAM8mI,IAAcA,EAAY,GAAxE,CAKAh5C,EAAI8E,OAEJ,IAAMhC,EAAY7P,GAAe26B,EAAW9qB,UAAW,GAUvD,GATA9C,EAAIiJ,UAAYhW,GAAe26B,EAAW3kB,UAAWiyC,GACrDl7C,EAAIg1C,QAAU/hD,GAAe26B,EAAWonB,QAAS,QACjDh1C,EAAIokC,eAAiBnxC,GAAe26B,EAAWwW,eAAgB,GAC/DpkC,EAAIk0C,SAAWjhD,GAAe26B,EAAWsmB,SAAU,SACnDl0C,EAAI8C,UAAYA,EAChB9C,EAAI4I,YAAc3V,GAAe26B,EAAWhlB,YAAasyC,GAEzDl7C,EAAImkC,YAAYlxC,GAAe26B,EAAWytB,SAAU,KAEhDtC,EAAUG,cAAe,CAG3B,IAAMoC,EAAc,CAClBh1C,OAAQ0yC,EAAYlqH,KAAKysH,MAAQ,EACjCn1C,WAAYwnB,EAAWxnB,WACvBC,SAAUunB,EAAWvnB,SACrBa,YAAapE,GAETmqB,EAAU8tB,EAAUxmC,MAAMnxE,EAAG61G,EAAW,GAI9CnzC,GAAgB9F,EAAKs7C,EAAaruB,EAHlBzgF,EAAI2uG,EAGgCpC,EAAUI,iBAAmBF,OAC5E,CAGL,IAAMuC,EAAUhvG,EAAI1d,KAAKqmC,KAAK+vE,EAAW8T,GAAa,EAAG,GACnDyC,EAAWV,EAAUvmC,WAAWpxE,EAAG61G,GACnClH,EAAennC,GAAcgjB,EAAWmkB,cAE9C/xC,EAAI0G,YAEA91F,OAAOmlD,OAAOg8E,GAAcnkF,MAAK1vC,SAAAA,GAAAA,OAAW,IAANA,KACxC6rF,GAAmB/J,EAAK,CACtB58D,EAAGq4G,EACHjvG,EAAGgvG,EACH3mI,EAAGokI,EACHn3H,EAAGk3H,EACH1yC,OAAQyrC,IAGV/xC,EAAIiH,KAAKw0C,EAAUD,EAASvC,EAAUD,GAGxCh5C,EAAI57B,OACc,IAAd0+B,GACF9C,EAAImH,SAIRnH,EAAIkF,WAwDJw2C,CAFcX,EAAU33G,EAAEA,GAELoJ,EAAGohF,GAExBxqF,EjDxVgB,SAAC+1D,EAAoC94D,EAAcmiE,EAAe4R,GAEtF,OAAOjb,KADOib,EAAM,OAAS,SACJ5R,EAAkB,WAAVrJ,GAAsB94D,EAAOmiE,GAAS,EAAIniE,EiDsVnEs7G,CAAOzyC,EAAW9lE,EAAI61G,EAAWkC,EAAcrzB,EAAe1kF,EAAI5J,EAAQ,EAAKgpE,MAAO8F,EAAK8L,KAvDhF,SAAShxE,EAAGoJ,EAAGohF,GAC9BxlB,GAAWpI,EAAK4tB,EAAWxxF,KAAMgH,EAAGoJ,EAAK4sG,EAAa,EAAIU,EAAW,CACnE1wC,cAAewkB,EAAW7L,OAC1B7Y,UAAW6xC,EAAU7xC,UAAU0kB,EAAW1kB,aAuD5CJ,CAASiyC,EAAU33G,EAAEA,GAAIoJ,EAAGohF,GAExB9F,EACFn7D,EAAOvpB,GAAK5J,EAAQ+oE,OACf,GAA+B,kBAApBqrB,EAAWxxF,KAAmB,CAC9C,IAAMs+G,EAAiBZ,EAAU/xH,WACjC4kC,EAAOngB,GAAKmuG,GAA0B/sB,EAAY8sB,QAElD/tF,EAAOngB,GAAKzkB,KAIhBitF,GAAqB1iG,KAAK0tF,IAAKsI,EAAK8yC,wCAMtC3W,WACE,IAAMn8B,EAAOh2F,KAAKkS,QACZw7G,EAAY13B,EAAKz1C,MACjB+oF,EAAY9wC,GAAOk1B,EAAUpgC,MAC7Bi8C,EAAehxC,GAAUm1B,EAAUz9B,SAEzC,GAAKy9B,EAAU/iF,QAAf,CAIA,IAKIzQ,EALEuuG,EAAY5mC,GAAc7L,EAAK8L,IAAK9hG,KAAK+tB,KAAM/tB,KAAKknB,OACpDwmE,EAAM1tF,KAAK0tF,IACXtoF,EAAWsoH,EAAUtoH,SACrByjI,EAAeS,EAAUphG,KAAO,EAChCshG,EAA6BD,EAAat7G,IAAM46G,EAKlD96G,EAAO/tB,KAAK+tB,KACZyoB,EAAWx2C,KAAKknB,MAEpB,GAAIlnB,KAAKw1G,eAEPh/D,EAAWh6B,KAAKqmC,IAALrmC,MAAAA,KAAKqmC,GAAO7iD,KAAKsnI,aAC5BptG,EAAIl6B,KAAKiuB,IAAMu7G,EACfz7G,EAAO+4D,GAAekP,EAAKnP,MAAO94D,EAAM/tB,KAAKkwF,MAAQ15C,OAChD,CAEL,IAAM4pD,EAAYpgG,KAAKqnI,YAAYzwF,QAAO,SAAC4kB,EAAKtzB,GAAN,OAAe1rB,KAAKqmC,IAAI2Y,EAAKtzB,EAAK/gB,UAAS,GACrF+S,EAAIsvG,EAA6B1iD,GAAekP,EAAKnP,MAAO7mF,KAAKiuB,IAAKjuB,KAAKmwF,OAASiQ,EAAYpK,EAAK4Y,OAAO3e,QAAUjwF,KAAKynI,uBAK7H,IAAM32G,EAAIg2D,GAAe1hF,EAAU2oB,EAAMA,EAAOyoB,GAGhDk3C,EAAIkJ,UAAY6xC,EAAU7xC,UAAUhQ,GAAmBxhF,IACvDsoF,EAAImJ,aAAe,SACnBnJ,EAAI4I,YAAco3B,EAAUrkG,MAC5BqkE,EAAIiJ,UAAY+2B,EAAUrkG,MAC1BqkE,EAAIJ,KAAOg8C,EAAU9/H,OAErBssF,GAAWpI,EAAKggC,EAAU5jG,KAAMgH,EAAGoJ,EAAGovG,uCAMxC7B,WACE,IAAM/Z,EAAY1tH,KAAKkS,QAAQquC,MACzB+oF,EAAY9wC,GAAOk1B,EAAUpgC,MAC7Bi8C,EAAehxC,GAAUm1B,EAAUz9B,SACzC,OAAOy9B,EAAU/iF,QAAU2+F,EAAU7zH,WAAa8zH,EAAapiH,OAAS,kCAM1EsiH,SAAiB34G,EAAGoJ,GAClB,IAAIv8B,EAAG+rI,EAAQ5uG,EAEf,GAAI6qD,GAAW70D,EAAG9wB,KAAK+tB,KAAM/tB,KAAKkwF,QAC7BvK,GAAWzrD,EAAGl6B,KAAKiuB,IAAKjuB,KAAKmwF,QAGhC,IADAr1D,EAAK96B,KAAKinI,eACLtpI,EAAI,EAAGA,EAAIm9B,EAAGj9B,SAAUF,EAG3B,GAAIgoF,GAAW70D,GAFf44G,EAAS5uG,EAAGn9B,IAEaowB,KAAM27G,EAAO37G,KAAO27G,EAAOxiH,QAC/Cy+D,GAAWzrD,EAAGwvG,EAAOz7G,IAAKy7G,EAAOz7G,IAAMy7G,EAAOviH,QAEjD,OAAOnnB,KAAKonI,YAAYzpI,GAK9B,OAAO,gCAOTgsI,SAAYxhI,GACV,IAAM6tF,EAAOh2F,KAAKkS,QAClB,GAoDJ,SAAoBtQ,EAAMo0F,GACxB,IAAc,cAATp0F,GAAiC,aAATA,KAAyBo0F,EAAK9H,SAAW8H,EAAK4zC,SACzE,OAAO,EAET,GAAI5zC,EAAKhuD,UAAqB,UAATpmC,GAA6B,YAATA,GACvC,OAAO,EAET,OAAO,EA3DAioI,CAAW1hI,EAAEvG,KAAMo0F,GAAxB,CAKA,IAAM8zC,EAAc9pI,KAAKypI,iBAAiBthI,EAAE2oB,EAAG3oB,EAAE+xB,GAEjD,GAAe,cAAX/xB,EAAEvG,MAAmC,aAAXuG,EAAEvG,KAAqB,CACnD,IAAMyzF,EAAWr1F,KAAKknI,aAChB6C,EApfO,SAACr/H,EAAGC,GAAJ,OAAgB,OAAND,GAAoB,OAANC,GAAcD,EAAE82E,eAAiB72E,EAAE62E,cAAgB92E,EAAEnF,QAAUoF,EAAEpF,MAofrFykI,CAAW30C,EAAUy0C,GAClCz0C,IAAa00C,GACftrI,GAAKu3F,EAAK4zC,QAAS,CAACzhI,EAAGktF,EAAUr1F,MAAOA,MAG1CA,KAAKknI,aAAe4C,EAEhBA,IAAgBC,GAClBtrI,GAAKu3F,EAAK9H,QAAS,CAAC/lF,EAAG2hI,EAAa9pI,MAAOA,WAEpC8pI,GACTrrI,GAAKu3F,EAAKhuD,QAAS,CAAC7/B,EAAG2hI,EAAa9pI,MAAOA,aA7fpC+mI,CAAehzF,IAwhB5B,SAASs0F,GAA0B/sB,EAAY8sB,GAE7C,OAAOA,GADa9sB,EAAWxxF,KAAOwxF,EAAWxxF,KAAKjsB,OAAS,GAAM,GAcvE,OAAe,CACb+iB,GAAI,SAMJqpH,SAAUlD,GAEVl6G,MATa,SASP++D,EAAOs+C,EAAOh4H,GAClB,IAAMipG,EAASvvB,EAAMuvB,OAAS,IAAI4rB,GAAO,CAACr5C,IAAK9B,EAAM8B,IAAKx7E,QAAAA,EAAS05E,MAAAA,IACnEs0B,GAAkBt0B,EAAOuvB,EAAQjpG,GACjCguG,GAAet0B,EAAOuvB,IAGxBp2C,KAfa,SAeR6mB,GACHs0B,GAAkBt0B,EAAOA,EAAMuvB,eACxBvvB,EAAMuvB,QAMf6P,aAvBa,SAuBAp/B,EAAOs+C,EAAOh4H,GACzB,IAAMipG,EAASvvB,EAAMuvB,OACrB+E,GAAkBt0B,EAAOuvB,EAAQjpG,GACjCipG,EAAOjpG,QAAUA,GAKnBq6G,YA/Ba,SA+BD3gC,GACV,IAAMuvB,EAASvvB,EAAMuvB,OACrBA,EAAOosB,cACPpsB,EAAOqtB,kBAIT2B,WAtCa,SAsCFv+C,EAAOxsF,GACXA,EAAKs/H,QACR9yC,EAAMuvB,OAAOwuB,YAAYvqI,EAAKirB,QAIlCglE,SAAU,CACR1kD,SAAS,EACTvlC,SAAU,MACVyhF,MAAO,SACP45B,UAAU,EACVhlE,SAAS,EACTkkC,OAAQ,IAGR33C,QATQ,SASA7/B,EAAGmzG,EAAYH,GACrB,IAAM51G,EAAQ+1G,EAAW95B,aACnBtiD,EAAKi8E,EAAOvvB,MACd1sD,EAAGw5E,iBAAiBnzG,IACtB25B,EAAG6wD,KAAKxqF,GACR+1G,EAAW7L,QAAS,IAEpBvwE,EAAG0wD,KAAKrqF,GACR+1G,EAAW7L,QAAS,IAIxBvhB,QAAS,KACT07C,QAAS,KAETh7B,OAAQ,CACNvlF,MAAO,SAACqkE,GAAD,OAASA,EAAI9B,MAAM15E,QAAQmX,OAClCs9G,SAAU,GACV12C,QAAS,GAYTmrB,eAfM,SAeSxvB,GACb,IAAMqB,EAAWrB,EAAMvmE,KAAK4nE,SAC5B,EAA+FrB,EAAMuvB,OAAOjpG,QAArG08F,OAASg4B,EAAhB,EAAgBA,cAAe9yC,EAA/B,EAA+BA,WAAY8C,EAA3C,EAA2CA,UAAWvtE,EAAtD,EAAsDA,MAAO+gH,EAA7D,EAA6DA,gBAAiB3K,EAA9E,EAA8EA,aAE9E,OAAO7zC,EAAMud,yBAAyBhwD,KAAI,SAACthC,GACzC,IAAMjB,EAAQiB,EAAKuyF,WAAW7I,SAASqlC,EAAgB,OAAI1lI,GACrD0zF,EAAc2D,GAAU3hF,EAAMg+E,aAEpC,MAAO,CACL9qE,KAAMmjE,EAASp1E,EAAKtS,OAAO2qG,MAC3BvZ,UAAW//E,EAAMm2E,gBACjBsuB,UAAWhyF,EACXomF,QAAS53F,EAAKi4E,QACd4yC,QAAS9rH,EAAM6tF,eACfskC,SAAUnyH,EAAM8tF,WAChBotB,eAAgBl7G,EAAM+tF,iBACtBi9B,SAAUhrH,EAAMguF,gBAChBpU,WAAYoE,EAAY1tE,MAAQ0tE,EAAYztE,QAAU,EACtDmvE,YAAa1/E,EAAMo2E,YACnB8G,WAAYA,GAAcl9E,EAAMk9E,WAChCC,SAAUn9E,EAAMm9E,SAChB6C,UAAWA,GAAahgF,EAAMggF,UAC9B6oC,aAAc2K,IAAoB3K,GAAgB7oH,EAAM6oH,cAGxDj+C,aAAc3pE,EAAKtS,SAEpBvF,QAIPugD,MAAO,CACLl3B,MAAO,SAACqkE,GAAD,OAASA,EAAI9B,MAAM15E,QAAQmX,OAClCshB,SAAS,EACTvlC,SAAU,SACV0kB,KAAM,KAIV0iE,YAAa,CACX0C,YAAa,SAAC/uF,GAAD,OAAWA,EAAK6qE,WAAW,OACxC4jC,OAAQ,CACN1f,YAAa,SAAC/uF,GAAD,OAAW,CAAC,iBAAkB,SAAU,QAAQuP,SAASvP,OCzsBhE,IAAIsjC,QCoHhB,ICvGM4mG,GAAc,CAIlBC,QAJkB,SAIV/jD,GACN,IAAKA,EAAM1oF,OACT,OAAO,EAGT,IAAIF,EAAGmH,EACHgsB,EAAI,EACJoJ,EAAI,EACJx3B,EAAQ,EAEZ,IAAK/E,EAAI,EAAGmH,EAAMyhF,EAAM1oF,OAAQF,EAAImH,IAAOnH,EAAG,CAC5C,IAAM4xC,EAAKg3C,EAAM5oF,GAAGiM,QACpB,GAAI2lC,GAAMA,EAAGs3E,WAAY,CACvB,IAAM1nB,EAAM5vD,EAAGq3E,kBACf91F,GAAKquE,EAAIruE,EACToJ,GAAKilE,EAAIjlE,IACPx3B,GAIN,MAAO,CACLouB,EAAGA,EAAIpuB,EACPw3B,EAAGA,EAAIx3B,IAOXk9G,QAjCkB,SAiCVr5B,EAAOgkD,GACb,IAAKhkD,EAAM1oF,OACT,OAAO,EAGT,IAGIF,EAAGmH,EAAK0lI,EAHR15G,EAAIy5G,EAAcz5G,EAClBoJ,EAAIqwG,EAAcrwG,EAClBilF,EAAcx/G,OAAOojF,kBAGzB,IAAKplF,EAAI,EAAGmH,EAAMyhF,EAAM1oF,OAAQF,EAAImH,IAAOnH,EAAG,CAC5C,IAAM4xC,EAAKg3C,EAAM5oF,GAAGiM,QACpB,GAAI2lC,GAAMA,EAAGs3E,WAAY,CACvB,IACMh7G,EAAIk5E,GAAsBwlD,EADjBh7F,EAAG6vE,kBAGdvzG,EAAIszG,IACNA,EAActzG,EACd2+H,EAAiBj7F,IAKvB,GAAIi7F,EAAgB,CAClB,IAAMC,EAAKD,EAAe5jB,kBAC1B91F,EAAI25G,EAAG35G,EACPoJ,EAAIuwG,EAAGvwG,EAGT,MAAO,CACLpJ,EAAAA,EACAoJ,EAAAA,KAMN,SAASwwG,GAAatzH,EAAMuzH,GAU1B,OATIA,IACEzsI,GAAQysI,GAEV1sI,MAAMM,UAAUP,KAAKI,MAAMgZ,EAAMuzH,GAEjCvzH,EAAKpZ,KAAK2sI,IAIPvzH,EAST,SAASwzH,GAAc91D,GACrB,OAAoB,kBAARA,GAAoBA,aAAeryE,SAAWqyE,EAAIj+D,QAAQ,OAAS,EACtEi+D,EAAItoE,MAAM,MAEZsoE,EAUT,SAAS+1D,GAAkBj/C,EAAOlJ,GAChC,IAAO94E,EAAgC84E,EAAhC94E,QAAS43E,EAAuBkB,EAAvBlB,aAAcj8E,EAASm9E,EAATn9E,MACxB6kG,EAAaxe,EAAM2hB,eAAe/rB,GAAc4oB,WACtD,EAAuBA,EAAW6F,iBAAiB1qG,GAA5C2qG,EAAP,EAAOA,MAAOrwG,EAAd,EAAcA,MAEd,MAAO,CACL+rF,MAAAA,EACAskB,MAAAA,EACArU,OAAQuO,EAAW6E,UAAU1pG,GAC7BorG,IAAK/kB,EAAMvmE,KAAK4nE,SAASzL,GAAcn8D,KAAK9f,GAC5CulI,eAAgBjrI,EAChB4mC,QAAS2jE,EAAWqC,aACpBiE,UAAWnrG,EACXi8E,aAAAA,EACA53E,QAAAA,GAOJ,SAASmhI,GAAeC,EAAS94H,GAC/B,IAAMw7E,EAAMs9C,EAAQp/C,MAAM8B,IACnBx8E,EAAuB85H,EAAvB95H,KAAM+5H,EAAiBD,EAAjBC,OAAQ1qF,EAASyqF,EAATzqF,MACdomF,EAAuBz0H,EAAvBy0H,SAAUD,EAAax0H,EAAbw0H,UACXwE,EAAW1yC,GAAOtmF,EAAQg5H,UAC1B5B,EAAY9wC,GAAOtmF,EAAQo3H,WAC3B6B,EAAa3yC,GAAOtmF,EAAQi5H,YAC5BC,EAAiB7qF,EAAM1iD,OACvBwtI,EAAkBJ,EAAOptI,OACzBytI,EAAoBp6H,EAAKrT,OAEzBoyF,EAAUsI,GAAUrmF,EAAQ+9E,SAC9B9oE,EAAS8oE,EAAQ9oE,OACjBD,EAAQ,EAGRqkH,EAAqBr6H,EAAK0lC,QAAO,SAACl0C,EAAO8oI,GAAR,OAAqB9oI,EAAQ8oI,EAASxzF,OAAOn6C,OAAS2tI,EAASv1C,MAAMp4F,OAAS2tI,EAASC,MAAM5tI,SAAQ,IAC1I0tI,GAAsBP,EAAQU,WAAW7tI,OAASmtI,EAAQW,UAAU9tI,OAEhEutI,IACFjkH,GAAUikH,EAAiB9B,EAAU7zH,YACnC21H,EAAiB,GAAKl5H,EAAQ05H,aAC/B15H,EAAQ25H,mBAEPN,KAGFpkH,GAAUmkH,GADap5H,EAAQ45H,cAAgBtvH,KAAKqmC,IAAI6jF,EAAWwE,EAASz1H,YAAcy1H,EAASz1H,aAEjG81H,EAAqBD,GAAqBJ,EAASz1H,YACnD81H,EAAqB,GAAKr5H,EAAQ65H,aAElCV,IACFlkH,GAAUjV,EAAQ85H,gBACjBX,EAAkBF,EAAW11H,YAC5B41H,EAAkB,GAAKn5H,EAAQ+5H,eAInC,IAAIC,EAAe,EACbC,EAAe,SAASp2C,GAC5B7uE,EAAQ1K,KAAKqmC,IAAI37B,EAAOwmE,EAAI0E,YAAY2D,GAAM7uE,MAAQglH,IAgCxD,OA7BAx+C,EAAI8E,OAEJ9E,EAAIJ,KAAOg8C,EAAU9/H,OACrBw3E,GAAKgqD,EAAQzqF,MAAO4rF,GAGpBz+C,EAAIJ,KAAO49C,EAAS1hI,OACpBw3E,GAAKgqD,EAAQU,WAAWjsI,OAAOurI,EAAQW,WAAYQ,GAGnDD,EAAeh6H,EAAQ45H,cAAiBnF,EAAW,EAAIz0H,EAAQ6uG,WAAc,EAC7E//B,GAAK9vE,GAAM,SAACs6H,GACVxqD,GAAKwqD,EAASxzF,OAAQm0F,GACtBnrD,GAAKwqD,EAASv1C,MAAOk2C,GACrBnrD,GAAKwqD,EAASC,MAAOU,MAIvBD,EAAe,EAGfx+C,EAAIJ,KAAO69C,EAAW3hI,OACtBw3E,GAAKgqD,EAAQC,OAAQkB,GAErBz+C,EAAIkF,UAKG,CAAC1rE,MAFRA,GAAS+oE,EAAQ/oE,MAEFC,OAAAA,GA0BjB,SAASilH,GAAgBxgD,EAAO15E,EAASg2B,EAAMmkG,GAC7C,IAAOv7G,EAAYoX,EAAZpX,EAAG5J,EAASghB,EAAThhB,MACIolH,EAAwC1gD,EAA/C1kE,MAAP,EAAsD0kE,EAA5B2kB,UAAYxiF,EAAtC,EAAsCA,KAAMmiE,EAA5C,EAA4CA,MACxCq8C,EAAS,SAcb,MAZe,WAAXF,EACFE,EAASz7G,IAAM/C,EAAOmiE,GAAS,EAAI,OAAS,QACnCp/D,GAAK5J,EAAQ,EACtBqlH,EAAS,OACAz7G,GAAKw7G,EAAaplH,EAAQ,IACnCqlH,EAAS,SAtBb,SAA6BA,EAAQ3gD,EAAO15E,EAASg2B,GACnD,IAAOpX,EAAYoX,EAAZpX,EAAG5J,EAASghB,EAAThhB,MACJslH,EAAQt6H,EAAQu6H,UAAYv6H,EAAQw6H,aAC1C,MAAe,SAAXH,GAAqBz7G,EAAI5J,EAAQslH,EAAQ5gD,EAAM1kE,OAIpC,UAAXqlH,GAAsBz7G,EAAI5J,EAAQslH,EAAQ,QAA9C,EAkBIG,CAAoBJ,EAAQ3gD,EAAO15E,EAASg2B,KAC9CqkG,EAAS,UAGJA,EAMT,SAASK,GAAmBhhD,EAAO15E,EAASg2B,GAC1C,IAAMmkG,EAASnkG,EAAKmkG,QAAUn6H,EAAQm6H,QA/CxC,SAAyBzgD,EAAO1jD,GAC9B,IAAOhO,EAAagO,EAAbhO,EAAG/S,EAAU+gB,EAAV/gB,OAEV,OAAI+S,EAAI/S,EAAS,EACR,MACE+S,EAAK0xD,EAAMzkE,OAASA,EAAS,EAC/B,SAEF,SAuCyC0lH,CAAgBjhD,EAAO1jD,GAEvE,MAAO,CACLqkG,OAAQrkG,EAAKqkG,QAAUr6H,EAAQq6H,QAAUH,GAAgBxgD,EAAO15E,EAASg2B,EAAMmkG,GAC/EA,OAAAA,GA8BJ,SAASS,GAAmB56H,EAASg2B,EAAM6kG,EAAWnhD,GACpD,IAAO6gD,EAAyCv6H,EAAzCu6H,UAAWC,EAA8Bx6H,EAA9Bw6H,aAAc/4C,EAAgBzhF,EAAhByhF,aACzB44C,EAAkBQ,EAAlBR,OAAQF,EAAUU,EAAVV,OACTW,EAAiBP,EAAYC,EACnC,EAAqDp0C,GAAc3E,GAA5D+D,EAAP,EAAOA,QAASG,EAAhB,EAAgBA,SAAUF,EAA1B,EAA0BA,WAAYC,EAAtC,EAAsCA,YAElC9mE,EAhCN,SAAgBoX,EAAMqkG,GACpB,IAAKz7G,EAAYoX,EAAZpX,EAAG5J,EAASghB,EAAThhB,MAMR,MALe,UAAXqlH,EACFz7G,GAAK5J,EACe,WAAXqlH,IACTz7G,GAAM5J,EAAQ,GAET4J,EAyBCm8G,CAAO/kG,EAAMqkG,GACfryG,EAvBR,SAAgBgO,EAAMmkG,EAAQW,GAE5B,IAAK9yG,EAAagO,EAAbhO,EAAG/S,EAAU+gB,EAAV/gB,OAQR,MAPe,QAAXklH,EACFnyG,GAAK8yG,EAEL9yG,GADoB,WAAXmyG,EACJllH,EAAS6lH,EAER7lH,EAAS,EAEV+S,EAaGgzG,CAAOhlG,EAAMmkG,EAAQW,GAc/B,MAZe,WAAXX,EACa,SAAXE,EACFz7G,GAAKk8G,EACe,UAAXT,IACTz7G,GAAKk8G,GAEa,SAAXT,EACTz7G,GAAKtU,KAAKqmC,IAAI60C,EAASC,GAAc80C,EACjB,UAAXF,IACTz7G,GAAKtU,KAAKqmC,IAAIg1C,EAAUD,GAAe60C,GAGlC,CACL37G,EAAG40D,GAAY50D,EAAG,EAAG86D,EAAM1kE,MAAQghB,EAAKhhB,OACxCgT,EAAGwrD,GAAYxrD,EAAG,EAAG0xD,EAAMzkE,OAAS+gB,EAAK/gB,SAI7C,SAASgmH,GAAYnC,EAASnkD,EAAO30E,GACnC,IAAM+9E,EAAUsI,GAAUrmF,EAAQ+9E,SAElC,MAAiB,WAAVpJ,EACHmkD,EAAQl6G,EAAIk6G,EAAQ9jH,MAAQ,EAClB,UAAV2/D,EACEmkD,EAAQl6G,EAAIk6G,EAAQ9jH,MAAQ+oE,EAAQC,MACpC86C,EAAQl6G,EAAIm/D,EAAQliE,KAM5B,SAASq/G,GAAwB1zG,GAC/B,OAAOgxG,GAAa,GAAIE,GAAclxG,IAWxC,SAAS2zG,GAAkBjoC,EAAWvgG,GACpC,IAAM6pF,EAAW7pF,GAAWA,EAAQ4hC,SAAW5hC,EAAQ4hC,QAAQukG,SAAWnmI,EAAQ4hC,QAAQukG,QAAQ5lC,UAClG,OAAO1W,EAAW0W,EAAU1W,SAASA,GAAY0W,EAGnD,IAAMkoC,GAAmB,CAEvBC,YAAaltD,GACb9/B,MAHuB,SAGjBitF,GACJ,GAAIA,EAAa3vI,OAAS,EAAG,CAC3B,IAAM6kF,EAAO8qD,EAAa,GACpB5+B,EAASlsB,EAAKkJ,MAAMvmE,KAAKupF,OACzB6+B,EAAa7+B,EAASA,EAAO/wG,OAAS,EAE5C,GAAImC,MAAQA,KAAKkS,SAAiC,YAAtBlS,KAAKkS,QAAQ0kB,KACvC,OAAO8rD,EAAKj8C,QAAQypE,OAAS,GACxB,GAAIxtB,EAAKwtB,MACd,OAAOxtB,EAAKwtB,MACP,GAAIu9B,EAAa,GAAK/qD,EAAKguB,UAAY+8B,EAC5C,OAAO7+B,EAAOlsB,EAAKguB,WAIvB,MAAO,IAETg9B,WAAYrtD,GAGZqrD,WAAYrrD,GAGZstD,YAAattD,GACb6vB,MA3BuB,SA2BjB09B,GACJ,GAAI5tI,MAAQA,KAAKkS,SAAiC,YAAtBlS,KAAKkS,QAAQ0kB,KACvC,OAAOg3G,EAAY19B,MAAQ,KAAO09B,EAAY9C,gBAAkB8C,EAAY9C,eAG9E,IAAI56B,EAAQ09B,EAAYnnG,QAAQypE,OAAS,GAErCA,IACFA,GAAS,MAEX,IAAMrwG,EAAQ+tI,EAAY9C,eAI1B,OAHKxqD,GAAczgF,KACjBqwG,GAASrwG,GAEJqwG,GAET29B,WA3CuB,SA2CZD,GACT,IACM17H,EADO07H,EAAYhiD,MAAM2hB,eAAeqgC,EAAYpsD,cACrC4oB,WAAW7I,SAASqsC,EAAYl9B,WACrD,MAAO,CACL1jB,YAAa96E,EAAQ86E,YACrBD,gBAAiB76E,EAAQ66E,gBACzB6H,YAAa1iF,EAAQ0iF,YACrB8P,WAAYxyF,EAAQwyF,WACpBC,iBAAkBzyF,EAAQyyF,iBAC1B86B,aAAc,IAGlBqO,eAvDuB,WAwDrB,OAAO9tI,KAAKkS,QAAQ67H,WAEtBC,gBA1DuB,SA0DPJ,GACd,IACM17H,EADO07H,EAAYhiD,MAAM2hB,eAAeqgC,EAAYpsD,cACrC4oB,WAAW7I,SAASqsC,EAAYl9B,WACrD,MAAO,CACL5c,WAAY5hF,EAAQ4hF,WACpBC,SAAU7hF,EAAQ6hF,WAGtBk6C,WAAY5tD,GAGZsrD,UAAWtrD,GAGX6tD,aAAc7tD,GACd4qD,OAAQ5qD,GACR8tD,YAAa9tD,IAYf,SAAS+tD,GAA2BhpC,EAAWjlG,EAAMutF,EAAK5vF,GACxD,IAAM2kE,EAAS2iC,EAAUjlG,GAAM1B,KAAKivF,EAAK5vF,GAEzC,MAAsB,qBAAX2kE,EACF6qE,GAAiBntI,GAAM1B,KAAKivF,EAAK5vF,GAGnC2kE,MAGI4rE,GAAAA,SAAAA,uBAOX79H,SAAAA,EAAYu3F,GAAQ,wBAClB,gBAEKryF,QAAU,EACf,EAAKkwF,QAAU,GACf,EAAK0oC,oBAAiBptI,EACtB,EAAKqtI,WAAQrtI,EACb,EAAKstI,uBAAoBttI,EACzB,EAAKutI,cAAgB,GACrB,EAAKjmC,iBAActnG,EACnB,EAAK6qG,cAAW7qG,EAChB,EAAK0qF,MAAQmc,EAAOnc,MACpB,EAAK15E,QAAU61F,EAAO71F,QACtB,EAAKw8H,gBAAaxtI,EAClB,EAAKq/C,WAAQr/C,EACb,EAAKwqI,gBAAaxqI,EAClB,EAAKgQ,UAAOhQ,EACZ,EAAKyqI,eAAYzqI,EACjB,EAAK+pI,YAAS/pI,EACd,EAAKqrI,YAASrrI,EACd,EAAKmrI,YAASnrI,EACd,EAAK4vB,OAAI5vB,EACT,EAAKg5B,OAAIh5B,EACT,EAAKimB,YAASjmB,EACd,EAAKgmB,WAAQhmB,EACb,EAAKytI,YAASztI,EACd,EAAK0tI,YAAS1tI,EAGd,EAAK2tI,iBAAc3tI,EACnB,EAAK4tI,sBAAmB5tI,EACxB,EAAK6tI,qBAAkB7tI,EA/BL,uCAkCpBirG,SAAWj6F,GACTlS,KAAKkS,QAAUA,EACflS,KAAKwuI,uBAAoBttI,EACzBlB,KAAK+rG,cAAW7qG,oCAMlBiwG,WACE,IAAMhG,EAASnrG,KAAKwuI,kBAEpB,GAAIrjC,EACF,OAAOA,EAGT,IAAMvf,EAAQ5rF,KAAK4rF,MACb15E,EAAUlS,KAAKkS,QAAQioF,WAAWn6F,KAAKozF,cACvC4C,EAAO9jF,EAAQu1G,SAAW77B,EAAM15E,QAAQid,WAAajd,EAAQ29E,WAC7DA,EAAa,IAAIiY,GAAW9nG,KAAK4rF,MAAOoK,GAK9C,OAJIA,EAAK+D,aACP/5F,KAAKwuI,kBAAoBlwI,OAAO4yG,OAAOrhB,IAGlCA,4BAMTuD,WACE,OAAOpzF,KAAK+rG,WACZ/rG,KAAK+rG,UAtLqB9yD,EAsLWj5C,KAAK4rF,MAAMwH,aAtLd43C,EAsL4BhrI,KAtLnBwtI,EAsLyBxtI,KAAKyuI,cArLpE3wE,GAAc7kB,EAAQ,CAC3B+xF,QAAAA,EACAwC,aAAAA,EACA5rI,KAAM,cAJV,IAA8Bq3C,EAAQ+xF,EAASwC,0BAyL7CwB,SAASnqI,EAASqN,GAChB,IAAOkzF,EAAalzF,EAAbkzF,UAEDmoC,EAAca,GAA2BhpC,EAAW,cAAeplG,KAAM6E,GACzE07C,EAAQ6tF,GAA2BhpC,EAAW,QAASplG,KAAM6E,GAC7D6oI,EAAaU,GAA2BhpC,EAAW,aAAcplG,KAAM6E,GAEzEoxF,EAAQ,GAKZ,OAJAA,EAAQy0C,GAAaz0C,EAAO20C,GAAc2C,IAC1Ct3C,EAAQy0C,GAAaz0C,EAAO20C,GAAcrqF,IAC1C01C,EAAQy0C,GAAaz0C,EAAO20C,GAAc8C,iCAK5CuB,SAAczB,EAAct7H,GAC1B,OAAOk7H,GACLgB,GAA2Bl8H,EAAQkzF,UAAW,aAAcplG,KAAMwtI,2BAItE0B,SAAQ1B,EAAct7H,GAAS,WACtBkzF,EAAalzF,EAAbkzF,UACD+pC,EAAY,GAgBlB,OAdAnuD,GAAKwsD,GAAc,SAAC3oI,GAClB,IAAM2mI,EAAW,CACfxzF,OAAQ,GACRi+C,MAAO,GACPw1C,MAAO,IAEH2D,EAAS/B,GAAkBjoC,EAAWvgG,GAC5C6lI,GAAac,EAASxzF,OAAQ4yF,GAAcwD,GAA2BgB,EAAQ,cAAe,EAAMvqI,KACpG6lI,GAAac,EAASv1C,MAAOm4C,GAA2BgB,EAAQ,QAAS,EAAMvqI,IAC/E6lI,GAAac,EAASC,MAAOb,GAAcwD,GAA2BgB,EAAQ,aAAc,EAAMvqI,KAElGsqI,EAAUnxI,KAAKwtI,MAGV2D,8BAGTE,SAAa7B,EAAct7H,GACzB,OAAOk7H,GACLgB,GAA2Bl8H,EAAQkzF,UAAW,YAAaplG,KAAMwtI,6BAKrE8B,SAAU9B,EAAct7H,GACtB,IAAOkzF,EAAalzF,EAAbkzF,UAED8oC,EAAeE,GAA2BhpC,EAAW,eAAgBplG,KAAMwtI,GAC3EvC,EAASmD,GAA2BhpC,EAAW,SAAUplG,KAAMwtI,GAC/DW,EAAcC,GAA2BhpC,EAAW,cAAeplG,KAAMwtI,GAE3Ev3C,EAAQ,GAKZ,OAJAA,EAAQy0C,GAAaz0C,EAAO20C,GAAcsD,IAC1Cj4C,EAAQy0C,GAAaz0C,EAAO20C,GAAcK,IAC1Ch1C,EAAQy0C,GAAaz0C,EAAO20C,GAAcuD,gCAQ5CoB,SAAar9H,GAAS,IAOhBvU,EAAGmH,EAPa,OACd4qF,EAAS1vF,KAAK4lG,QACdvgF,EAAOrlB,KAAK4rF,MAAMvmE,KAClBwpH,EAAc,GACdC,EAAmB,GACnBC,EAAkB,GACpBvB,EAAe,GAGnB,IAAK7vI,EAAI,EAAGmH,EAAM4qF,EAAO7xF,OAAQF,EAAImH,IAAOnH,EAC1C6vI,EAAaxvI,KAAK6sI,GAAkB7qI,KAAK4rF,MAAO8D,EAAO/xF,KAyBzD,OArBIuU,EAAQ2qC,SACV2wF,EAAeA,EAAa3wF,QAAO,SAACjzC,EAASrE,EAAO2D,GAAjB,OAA2BgJ,EAAQ2qC,OAAOjzC,EAASrE,EAAO2D,EAAOmc,OAIlGnT,EAAQs9H,WACVhC,EAAeA,EAAa3kF,MAAK,SAACn+C,EAAGC,GAAJ,OAAUuH,EAAQs9H,SAAS9kI,EAAGC,EAAG0a,OAIpE27D,GAAKwsD,GAAc,SAAC3oI,GAClB,IAAMuqI,EAAS/B,GAAkBn7H,EAAQkzF,UAAWvgG,GACpDgqI,EAAY7wI,KAAKowI,GAA2BgB,EAAQ,aAAc,EAAMvqI,IACxEiqI,EAAiB9wI,KAAKowI,GAA2BgB,EAAQ,kBAAmB,EAAMvqI,IAClFkqI,EAAgB/wI,KAAKowI,GAA2BgB,EAAQ,iBAAkB,EAAMvqI,OAGlF7E,KAAK6uI,YAAcA,EACnB7uI,KAAK8uI,iBAAmBA,EACxB9uI,KAAK+uI,gBAAkBA,EACvB/uI,KAAK0uI,WAAalB,EACXA,wBAGT/lC,SAAOrf,EAASs2C,GACd,IAEIjvC,EAFEv9E,EAAUlS,KAAKkS,QAAQioF,WAAWn6F,KAAKozF,cACvC1D,EAAS1vF,KAAK4lG,QAEhB4nC,EAAe,GAEnB,GAAK99C,EAAO7xF,OAML,CACL,IAAMuH,EAAWilI,GAAYn4H,EAAQ9M,UAAU3G,KAAKuB,KAAM0vF,EAAQ1vF,KAAKsuI,gBACvEd,EAAextI,KAAKuvI,aAAar9H,GAEjClS,KAAKugD,MAAQvgD,KAAKgvI,SAASxB,EAAct7H,GACzClS,KAAK0rI,WAAa1rI,KAAKivI,cAAczB,EAAct7H,GACnDlS,KAAKkR,KAAOlR,KAAKkvI,QAAQ1B,EAAct7H,GACvClS,KAAK2rI,UAAY3rI,KAAKqvI,aAAa7B,EAAct7H,GACjDlS,KAAKirI,OAASjrI,KAAKsvI,UAAU9B,EAAct7H,GAE3C,IAAMg2B,EAAOloC,KAAKuuI,MAAQxD,GAAe/qI,KAAMkS,GACzCu9H,EAAkBnxI,OAAOwQ,OAAO,GAAI1J,EAAU8iC,GAC9C6kG,EAAYH,GAAmB5sI,KAAK4rF,MAAO15E,EAASu9H,GACpDC,EAAkB5C,GAAmB56H,EAASu9H,EAAiB1C,EAAW/sI,KAAK4rF,OAErF5rF,KAAKusI,OAASQ,EAAUR,OACxBvsI,KAAKqsI,OAASU,EAAUV,OAExB58C,EAAa,CACX/5E,QAAS,EACTob,EAAG4+G,EAAgB5+G,EACnBoJ,EAAGw1G,EAAgBx1G,EACnBhT,MAAOghB,EAAKhhB,MACZC,OAAQ+gB,EAAK/gB,OACbwnH,OAAQvpI,EAAS0rB,EACjB89G,OAAQxpI,EAAS80B,QA9BE,IAAjBl6B,KAAK0V,UACP+5E,EAAa,CACX/5E,QAAS,IAgCf1V,KAAKyuI,cAAgBjB,EACrBxtI,KAAK+rG,cAAW7qG,EAEZuuF,GACFzvF,KAAKmxG,qBAAqB1J,OAAOznG,KAAMyvF,GAGrCrH,GAAWl2E,EAAQy9H,UACrBz9H,EAAQy9H,SAASlxI,KAAKuB,KAAM,CAAC4rF,MAAO5rF,KAAK4rF,MAAOo/C,QAAShrI,KAAM0+H,OAAAA,6BAInEkR,SAAUC,EAAcniD,EAAKxlD,EAAMh2B,GACjC,IAAM49H,EAAgB9vI,KAAK+vI,iBAAiBF,EAAc3nG,EAAMh2B,GAEhEw7E,EAAI+G,OAAOq7C,EAAc7f,GAAI6f,EAAc5f,IAC3CxiC,EAAI+G,OAAOq7C,EAAc3f,GAAI2f,EAAc1f,IAC3C1iC,EAAI+G,OAAOq7C,EAAcE,GAAIF,EAAcG,oCAG7CF,SAAiBF,EAAc3nG,EAAMh2B,GACnC,IAKI+9G,EAAIE,EAAI6f,EAAI9f,EAAIE,EAAI6f,EALjB1D,EAAkBvsI,KAAlBusI,OAAQF,EAAUrsI,KAAVqsI,OACRI,EAA2Bv6H,EAA3Bu6H,UACP,EAAqDn0C,GADnBpmF,EAAhByhF,cACX+D,EAAP,EAAOA,QAASG,EAAhB,EAAgBA,SAAUF,EAA1B,EAA0BA,WAAYC,EAAtC,EAAsCA,YAC5Bs4C,EAAeL,EAAlB/+G,EAAWq/G,EAAON,EAAV31G,EACRhT,EAAiBghB,EAAjBhhB,MAAOC,EAAU+gB,EAAV/gB,OAiDd,MA9Ce,WAAXklH,GACFjc,EAAK+f,EAAOhpH,EAAS,EAEN,SAAXolH,GAEFpc,GADAF,EAAKigB,GACKzD,EAGVvc,EAAKE,EAAKqc,EACVwD,EAAK7f,EAAKqc,IAGVtc,GADAF,EAAKigB,EAAMhpH,GACDulH,EAGVvc,EAAKE,EAAKqc,EACVwD,EAAK7f,EAAKqc,GAGZuD,EAAK/f,IAGHE,EADa,SAAXoc,EACG2D,EAAM1zH,KAAKqmC,IAAI60C,EAASC,GAAe80C,EACxB,UAAXF,EACJ2D,EAAMhpH,EAAQ1K,KAAKqmC,IAAIg1C,EAAUD,GAAe60C,EAEhDzsI,KAAK2uI,OAGG,QAAXtC,GAEFjc,GADAF,EAAKigB,GACK1D,EAGVxc,EAAKE,EAAKsc,EACVuD,EAAK7f,EAAKsc,IAGVrc,GADAF,EAAKigB,EAAMhpH,GACDslH,EAGVxc,EAAKE,EAAKsc,EACVuD,EAAK7f,EAAKsc,GAEZwD,EAAK/f,GAEA,CAACD,GAAAA,EAAIE,GAAAA,EAAI6f,GAAAA,EAAI9f,GAAAA,EAAIE,GAAAA,EAAI6f,GAAAA,4BAG9B9d,SAAUz0B,EAAIhQ,EAAKx7E,GACjB,IAEIo3H,EAAWsC,EAAcjuI,EAFvB4iD,EAAQvgD,KAAKugD,MACb1iD,EAAS0iD,EAAM1iD,OAGrB,GAAIA,EAAQ,CACV,IAAM4qI,EAAY5mC,GAAc3vF,EAAQ4vF,IAAK9hG,KAAK8wB,EAAG9wB,KAAKknB,OAa1D,IAXAw2E,EAAG5sE,EAAIq8G,GAAYntI,KAAMkS,EAAQi3G,WAAYj3G,GAE7Cw7E,EAAIkJ,UAAY6xC,EAAU7xC,UAAU1kF,EAAQi3G,YAC5Cz7B,EAAImJ,aAAe,SAEnByyC,EAAY9wC,GAAOtmF,EAAQo3H,WAC3BsC,EAAe15H,EAAQ05H,aAEvBl+C,EAAIiJ,UAAYzkF,EAAQk+H,WACxB1iD,EAAIJ,KAAOg8C,EAAU9/H,OAEhB7L,EAAI,EAAGA,EAAIE,IAAUF,EACxB+vF,EAAI8I,SAASj2C,EAAM5iD,GAAI8qI,EAAU33G,EAAE4sE,EAAG5sE,GAAI4sE,EAAGxjE,EAAIovG,EAAU7zH,WAAa,GACxEioF,EAAGxjE,GAAKovG,EAAU7zH,WAAam2H,EAE3BjuI,EAAI,IAAME,IACZ6/F,EAAGxjE,GAAKhoB,EAAQ25H,kBAAoBD,iCAS5CyE,SAAc3iD,EAAKgQ,EAAI//F,EAAG8qI,EAAWv2H,GACnC,IAAM28H,EAAc7uI,KAAK6uI,YAAYlxI,GAC/BqwI,EAAkBhuI,KAAK8uI,iBAAiBnxI,GACvC+oI,EAAmCx0H,EAAnCw0H,UAAWC,EAAwBz0H,EAAxBy0H,SAAU5lB,EAAc7uG,EAAd6uG,WACtBmqB,EAAW1yC,GAAOtmF,EAAQg5H,UAC1BoF,EAASnD,GAAYntI,KAAM,OAAQkS,GACnCq+H,EAAY9H,EAAU33G,EAAEw/G,GACxBE,EAAU9J,EAAYwE,EAASz1H,YAAcy1H,EAASz1H,WAAaixH,GAAa,EAAI,EACpF+J,EAAS/yC,EAAGxjE,EAAIs2G,EAEtB,GAAIt+H,EAAQ00H,cAAe,CACzB,IAAMoC,EAAc,CAClBh1C,OAAQx3E,KAAKyQ,IAAI05G,EAAUD,GAAa,EACxC5yC,WAAYk6C,EAAgBl6C,WAC5BC,SAAUi6C,EAAgBj6C,SAC1Ba,YAAa,GAIT+lB,EAAU8tB,EAAUvmC,WAAWquC,EAAW5J,GAAYA,EAAW,EACjE/rB,EAAU61B,EAAS/J,EAAY,EAGrCh5C,EAAI4I,YAAcpkF,EAAQw+H,mBAC1BhjD,EAAIiJ,UAAYzkF,EAAQw+H,mBACxBn9C,GAAU7F,EAAKs7C,EAAaruB,EAASC,GAGrCltB,EAAI4I,YAAcu4C,EAAY7hD,YAC9BU,EAAIiJ,UAAYk4C,EAAY9hD,gBAC5BwG,GAAU7F,EAAKs7C,EAAaruB,EAASC,OAChC,CAELltB,EAAI8C,UAAYjQ,GAASsuD,EAAYj6C,aAAep4E,KAAKqmC,IAALrmC,MAAAA,KAAAA,GAAYle,OAAOmlD,OAAOorF,EAAYj6C,eAAiBi6C,EAAYj6C,aAAe,EACtIlH,EAAI4I,YAAcu4C,EAAY7hD,YAC9BU,EAAImkC,YAAYgd,EAAYnqC,YAAc,IAC1ChX,EAAIokC,eAAiB+c,EAAYlqC,kBAAoB,EAGrD,IAAMgsC,EAASlI,EAAUvmC,WAAWquC,EAAW5J,EAAW5lB,GACpD6vB,EAASnI,EAAUvmC,WAAWumC,EAAUxmC,MAAMsuC,EAAW,GAAI5J,EAAW5lB,EAAa,GACrF0e,EAAennC,GAAcu2C,EAAYpP,cAE3CnhI,OAAOmlD,OAAOg8E,GAAcnkF,MAAK1vC,SAAAA,GAAAA,OAAW,IAANA,MACxC8hF,EAAI0G,YACJ1G,EAAIiJ,UAAYzkF,EAAQw+H,mBACxBj5C,GAAmB/J,EAAK,CACtB58D,EAAG6/G,EACHz2G,EAAGu2G,EACHluI,EAAGokI,EACHn3H,EAAGk3H,EACH1yC,OAAQyrC,IAEV/xC,EAAI57B,OACJ47B,EAAImH,SAGJnH,EAAIiJ,UAAYk4C,EAAY9hD,gBAC5BW,EAAI0G,YACJqD,GAAmB/J,EAAK,CACtB58D,EAAG8/G,EACH12G,EAAGu2G,EAAS,EACZluI,EAAGokI,EAAW,EACdn3H,EAAGk3H,EAAY,EACf1yC,OAAQyrC,IAEV/xC,EAAI57B,SAGJ47B,EAAIiJ,UAAYzkF,EAAQw+H,mBACxBhjD,EAAI8J,SAASm5C,EAAQF,EAAQ9J,EAAUD,GACvCh5C,EAAImjD,WAAWF,EAAQF,EAAQ9J,EAAUD,GAEzCh5C,EAAIiJ,UAAYk4C,EAAY9hD,gBAC5BW,EAAI8J,SAASo5C,EAAQH,EAAS,EAAG9J,EAAW,EAAGD,EAAY,IAK/Dh5C,EAAIiJ,UAAY32F,KAAK+uI,gBAAgBpxI,2BAGvCmzI,SAASpzC,EAAIhQ,EAAKx7E,GAChB,IAcIs5H,EAAUuF,EAAW96C,EAAOt4F,EAAGgqE,EAAG0Z,EAAMoR,EAdrCvhF,EAAQlR,KAARkR,KACA66H,EAA0E75H,EAA1E65H,YAAaiF,EAA6D9+H,EAA7D8+H,UAAWlF,EAAkD55H,EAAlD45H,cAAepF,EAAmCx0H,EAAnCw0H,UAAWC,EAAwBz0H,EAAxBy0H,SAAU5lB,EAAc7uG,EAAd6uG,WAC7DmqB,EAAW1yC,GAAOtmF,EAAQg5H,UAC5B+F,EAAiB/F,EAASz1H,WAC1By7H,EAAe,EAEbzI,EAAY5mC,GAAc3vF,EAAQ4vF,IAAK9hG,KAAK8wB,EAAG9wB,KAAKknB,OAEpDiqH,EAAiB,SAASp7C,GAC9BrI,EAAI8I,SAAST,EAAM0yC,EAAU33G,EAAE4sE,EAAG5sE,EAAIogH,GAAexzC,EAAGxjE,EAAI+2G,EAAiB,GAC7EvzC,EAAGxjE,GAAK+2G,EAAiBlF,GAGrBqF,EAA0B3I,EAAU7xC,UAAUo6C,GAkBpD,IAfAtjD,EAAIkJ,UAAYo6C,EAChBtjD,EAAImJ,aAAe,SACnBnJ,EAAIJ,KAAO49C,EAAS1hI,OAEpBk0F,EAAG5sE,EAAIq8G,GAAYntI,KAAMoxI,EAAyBl/H,GAGlDw7E,EAAIiJ,UAAYzkF,EAAQ67H,UACxB/sD,GAAKhhF,KAAK0rI,WAAYyF,GAEtBD,EAAepF,GAA6C,UAA5BsF,EACd,WAAdJ,EAA0BrK,EAAW,EAAI5lB,EAAe4lB,EAAW,EAAI5lB,EACvE,EAGCpjH,EAAI,EAAG0jF,EAAOnwE,EAAKrT,OAAQF,EAAI0jF,IAAQ1jF,EAAG,CAc7C,IAbA6tI,EAAWt6H,EAAKvT,GAChBozI,EAAY/wI,KAAK+uI,gBAAgBpxI,GAEjC+vF,EAAIiJ,UAAYo6C,EAChB/vD,GAAKwqD,EAASxzF,OAAQm5F,GAEtBl7C,EAAQu1C,EAASv1C,MAEb61C,GAAiB71C,EAAMp4F,SACzBmC,KAAKqwI,cAAc3iD,EAAKgQ,EAAI//F,EAAG8qI,EAAWv2H,GAC1C++H,EAAiBz0H,KAAKqmC,IAAIqoF,EAASz1H,WAAYixH,IAG5C/+D,EAAI,EAAG8qB,EAAOwD,EAAMp4F,OAAQ8pE,EAAI8qB,IAAQ9qB,EAC3CwpE,EAAel7C,EAAMtuB,IAErBspE,EAAiB/F,EAASz1H,WAG5BurE,GAAKwqD,EAASC,MAAO0F,GAIvBD,EAAe,EACfD,EAAiB/F,EAASz1H,WAG1BurE,GAAKhhF,KAAK2rI,UAAWwF,GACrBzzC,EAAGxjE,GAAK6xG,4BAGVsF,SAAW3zC,EAAIhQ,EAAKx7E,GAClB,IAEIi5H,EAAYxtI,EAFVstI,EAASjrI,KAAKirI,OACdptI,EAASotI,EAAOptI,OAGtB,GAAIA,EAAQ,CACV,IAAM4qI,EAAY5mC,GAAc3vF,EAAQ4vF,IAAK9hG,KAAK8wB,EAAG9wB,KAAKknB,OAa1D,IAXAw2E,EAAG5sE,EAAIq8G,GAAYntI,KAAMkS,EAAQo/H,YAAap/H,GAC9CwrF,EAAGxjE,GAAKhoB,EAAQ85H,gBAEhBt+C,EAAIkJ,UAAY6xC,EAAU7xC,UAAU1kF,EAAQo/H,aAC5C5jD,EAAImJ,aAAe,SAEnBs0C,EAAa3yC,GAAOtmF,EAAQi5H,YAE5Bz9C,EAAIiJ,UAAYzkF,EAAQq/H,YACxB7jD,EAAIJ,KAAO69C,EAAW3hI,OAEjB7L,EAAI,EAAGA,EAAIE,IAAUF,EACxB+vF,EAAI8I,SAASy0C,EAAOttI,GAAI8qI,EAAU33G,EAAE4sE,EAAG5sE,GAAI4sE,EAAGxjE,EAAIixG,EAAW11H,WAAa,GAC1EioF,EAAGxjE,GAAKixG,EAAW11H,WAAavD,EAAQ+5H,6CAK9Cva,SAAeh0B,EAAIhQ,EAAK8jD,EAAat/H,GACnC,IAAOq6H,EAAkBvsI,KAAlBusI,OAAQF,EAAUrsI,KAAVqsI,OACRv7G,EAAQ4sE,EAAR5sE,EAAGoJ,EAAKwjE,EAALxjE,EACHhT,EAAiBsqH,EAAjBtqH,MAAOC,EAAUqqH,EAAVrqH,OACd,EAAqDmxE,GAAcpmF,EAAQyhF,cAApE+D,EAAP,EAAOA,QAASG,EAAhB,EAAgBA,SAAUF,EAA1B,EAA0BA,WAAYC,EAAtC,EAAsCA,YAEtClK,EAAIiJ,UAAYzkF,EAAQ66E,gBACxBW,EAAI4I,YAAcpkF,EAAQ86E,YAC1BU,EAAI8C,UAAYt+E,EAAQ0iF,YAExBlH,EAAI0G,YACJ1G,EAAI8G,OAAO1jE,EAAI4mE,EAASx9D,GACT,QAAXmyG,GACFrsI,KAAK4vI,UAAUlyC,EAAIhQ,EAAK8jD,EAAat/H,GAEvCw7E,EAAI+G,OAAO3jE,EAAI5J,EAAQ2wE,EAAU39D,GACjCwzD,EAAI+jD,iBAAiB3gH,EAAI5J,EAAOgT,EAAGpJ,EAAI5J,EAAOgT,EAAI29D,GACnC,WAAXw0C,GAAkC,UAAXE,GACzBvsI,KAAK4vI,UAAUlyC,EAAIhQ,EAAK8jD,EAAat/H,GAEvCw7E,EAAI+G,OAAO3jE,EAAI5J,EAAOgT,EAAI/S,EAASywE,GACnClK,EAAI+jD,iBAAiB3gH,EAAI5J,EAAOgT,EAAI/S,EAAQ2J,EAAI5J,EAAQ0wE,EAAa19D,EAAI/S,GAC1D,WAAXklH,GACFrsI,KAAK4vI,UAAUlyC,EAAIhQ,EAAK8jD,EAAat/H,GAEvCw7E,EAAI+G,OAAO3jE,EAAI6mE,EAAYz9D,EAAI/S,GAC/BumE,EAAI+jD,iBAAiB3gH,EAAGoJ,EAAI/S,EAAQ2J,EAAGoJ,EAAI/S,EAASwwE,GACrC,WAAX00C,GAAkC,SAAXE,GACzBvsI,KAAK4vI,UAAUlyC,EAAIhQ,EAAK8jD,EAAat/H,GAEvCw7E,EAAI+G,OAAO3jE,EAAGoJ,EAAIw9D,GAClBhK,EAAI+jD,iBAAiB3gH,EAAGoJ,EAAGpJ,EAAI4mE,EAASx9D,GACxCwzD,EAAI6G,YAEJ7G,EAAI57B,OAEA5/C,EAAQ0iF,YAAc,GACxBlH,EAAImH,+CAQR68C,SAAuBx/H,GACrB,IAAM05E,EAAQ5rF,KAAK4rF,MACbuZ,EAAQnlG,KAAKwoG,YACbmpC,EAAQxsC,GAASA,EAAMr0E,EACvB8gH,EAAQzsC,GAASA,EAAMjrE,EAC7B,GAAIy3G,GAASC,EAAO,CAClB,IAAMxsI,EAAWilI,GAAYn4H,EAAQ9M,UAAU3G,KAAKuB,KAAMA,KAAK4lG,QAAS5lG,KAAKsuI,gBAC7E,IAAKlpI,EACH,OAEF,IAAM8iC,EAAOloC,KAAKuuI,MAAQxD,GAAe/qI,KAAMkS,GACzCu9H,EAAkBnxI,OAAOwQ,OAAO,GAAI1J,EAAUpF,KAAKuuI,OACnDxB,EAAYH,GAAmBhhD,EAAO15E,EAASu9H,GAC/C16C,EAAQ+3C,GAAmB56H,EAASu9H,EAAiB1C,EAAWnhD,GAClE+lD,EAAMpqC,MAAQxS,EAAMjkE,GAAK8gH,EAAMrqC,MAAQxS,EAAM76D,IAC/Cl6B,KAAKusI,OAASQ,EAAUR,OACxBvsI,KAAKqsI,OAASU,EAAUV,OACxBrsI,KAAKknB,MAAQghB,EAAKhhB,MAClBlnB,KAAKmnB,OAAS+gB,EAAK/gB,OACnBnnB,KAAK2uI,OAASvpI,EAAS0rB,EACvB9wB,KAAK4uI,OAASxpI,EAAS80B,EACvBl6B,KAAKmxG,qBAAqB1J,OAAOznG,KAAM+0F,gCAS7C88C,WACE,QAAS7xI,KAAK0V,4BAGhBiwF,SAAKjY,GACH,IAAMx7E,EAAUlS,KAAKkS,QAAQioF,WAAWn6F,KAAKozF,cACzC19E,EAAU1V,KAAK0V,QAEnB,GAAKA,EAAL,CAIA1V,KAAK0xI,uBAAuBx/H,GAE5B,IAAMs/H,EAAc,CAClBtqH,MAAOlnB,KAAKknB,MACZC,OAAQnnB,KAAKmnB,QAETu2E,EAAK,CACT5sE,EAAG9wB,KAAK8wB,EACRoJ,EAAGl6B,KAAKk6B,GAIVxkB,EAAU8G,KAAKgnE,IAAI9tE,GAAW,KAAO,EAAIA,EAEzC,IAAMu6E,EAAUsI,GAAUrmF,EAAQ+9E,SAG5B6hD,EAAoB9xI,KAAKugD,MAAM1iD,QAAUmC,KAAK0rI,WAAW7tI,QAAUmC,KAAKkR,KAAKrT,QAAUmC,KAAK2rI,UAAU9tI,QAAUmC,KAAKirI,OAAOptI,OAE9HqU,EAAQu1G,SAAWqqB,IACrBpkD,EAAI8E,OACJ9E,EAAIqkD,YAAcr8H,EAGlB1V,KAAK0xH,eAAeh0B,EAAIhQ,EAAK8jD,EAAat/H,GAE1CowF,GAAsB5U,EAAKx7E,EAAQ42H,eAEnCprC,EAAGxjE,GAAK+1D,EAAQhiE,IAGhBjuB,KAAKmyH,UAAUz0B,EAAIhQ,EAAKx7E,GAGxBlS,KAAK8wI,SAASpzC,EAAIhQ,EAAKx7E,GAGvBlS,KAAKqxI,WAAW3zC,EAAIhQ,EAAKx7E,GAEzBwwF,GAAqBhV,EAAKx7E,EAAQ42H,eAElCp7C,EAAIkF,6CAQRyrC,WACE,OAAOr+H,KAAK4lG,SAAW,oCAQzB04B,SAAkBC,EAAgBgM,GAAe,WACzC/L,EAAax+H,KAAK4lG,QAClBlW,EAAS6uC,EAAeplF,KAAI,YAA2B,IAAzBqoC,EAAyB,EAAzBA,aAAcj8E,EAAW,EAAXA,MAC1CsS,EAAO,EAAK+zE,MAAM2hB,eAAe/rB,GAEvC,IAAK3pE,EACH,MAAM,IAAIrV,MAAM,kCAAoCg/E,GAGtD,MAAO,CACLA,aAAAA,EACA53E,QAASiO,EAAKwN,KAAK9f,GACnBA,MAAAA,MAGE6iF,GAAWlH,GAAes9C,EAAY9uC,GACtCsiD,EAAkBhyI,KAAKiyI,iBAAiBviD,EAAQ66C,IAElDniD,GAAW4pD,KACbhyI,KAAK4lG,QAAUlW,EACf1vF,KAAKsuI,eAAiB/D,EACtBvqI,KAAKkyI,qBAAsB,EAC3BlyI,KAAKynG,QAAO,+BAWhBkiC,SAAYxhI,EAAGu2H,GAA4B,IAApBI,IAAoB,yDACzC,GAAIJ,GAAU1+H,KAAKkyI,oBACjB,OAAO,EAETlyI,KAAKkyI,qBAAsB,EAE3B,IAAMhgI,EAAUlS,KAAKkS,QACfssH,EAAax+H,KAAK4lG,SAAW,GAC7BlW,EAAS1vF,KAAKi/H,mBAAmB92H,EAAGq2H,EAAYE,EAAQI,GAKxDkT,EAAkBhyI,KAAKiyI,iBAAiBviD,EAAQvnF,GAGhDigF,EAAUs2C,IAAWx9C,GAAewO,EAAQ8uC,IAAewT,EAgBjE,OAbI5pD,IACFpoF,KAAK4lG,QAAUlW,GAEXx9E,EAAQu1G,SAAWv1G,EAAQy9H,YAC7B3vI,KAAKsuI,eAAiB,CACpBx9G,EAAG3oB,EAAE2oB,EACLoJ,EAAG/xB,EAAE+xB,GAGPl6B,KAAKynG,QAAO,EAAMi3B,KAIft2C,oCAYT62C,SAAmB92H,EAAGq2H,EAAYE,EAAQI,GACxC,IAAM5sH,EAAUlS,KAAKkS,QAErB,GAAe,aAAX/J,EAAEvG,KACJ,MAAO,GAGT,IAAKk9H,EAEH,OAAON,EAIT,IAAM9uC,EAAS1vF,KAAK4rF,MAAM4xC,0BAA0Br1H,EAAG+J,EAAQ0kB,KAAM1kB,EAASwsH,GAM9E,OAJIxsH,EAAQupC,SACVi0C,EAAOj0C,UAGFi0C,kCAUTuiD,SAAiBviD,EAAQvnF,GACvB,IAAOwmI,EAA2B3uI,KAA3B2uI,OAAQC,EAAmB5uI,KAAnB4uI,OAAQ18H,EAAWlS,KAAXkS,QACjB9M,EAAWilI,GAAYn4H,EAAQ9M,UAAU3G,KAAKuB,KAAM0vF,EAAQvnF,GAClE,OAAoB,IAAb/C,IAAuBupI,IAAWvpI,EAAS0rB,GAAK89G,IAAWxpI,EAAS80B,SAtvBlEm0G,CAAgBt6F,OAAhBs6F,GAAAA,cAKUhE,IAqvBvB,OAAe,CACbzpH,GAAI,UACJqpH,SAAUoE,GACVhE,YAAAA,GAEA8H,UALa,SAKHvmD,EAAOs+C,EAAOh4H,GAClBA,IACF05E,EAAMo/C,QAAU,IAAIqD,GAAQ,CAACziD,MAAAA,EAAO15E,QAAAA,MAIxC84G,aAXa,SAWAp/B,EAAOs+C,EAAOh4H,GACrB05E,EAAMo/C,SACRp/C,EAAMo/C,QAAQ7+B,WAAWj6F,IAI7BiyD,MAjBa,SAiBPynB,EAAOs+C,EAAOh4H,GACd05E,EAAMo/C,SACRp/C,EAAMo/C,QAAQ7+B,WAAWj6F,IAI7BkgI,UAvBa,SAuBHxmD,GACR,IAAMo/C,EAAUp/C,EAAMo/C,QAEtB,GAAIA,GAAWA,EAAQ6G,cAAe,CACpC,IAAMzyI,EAAO,CACX4rI,QAAAA,GAGF,IAA8E,IAA1Ep/C,EAAMghC,cAAc,oBAApBhhC,GAAAA,GAAAA,GAA6CxsF,GAA7CwsF,GAAAA,CAAmDjpE,YAAY,KACjE,OAGFqoH,EAAQrlC,KAAK/Z,EAAM8B,KAEnB9B,EAAMghC,cAAc,mBAAoBxtH,KAI5C+qI,WAzCa,SAyCFv+C,EAAOxsF,GAChB,GAAIwsF,EAAMo/C,QAAS,CAEjB,IAAMrsB,EAAmBv/G,EAAKs/H,OAC1B9yC,EAAMo/C,QAAQrB,YAAYvqI,EAAKirB,MAAOs0F,EAAkBv/G,EAAK0/H,eAE/D1/H,EAAKgpF,SAAU,KAKrBiH,SAAU,CACRo4B,SAAS,EACTkoB,SAAU,KACVvqI,SAAU,UACV2nF,gBAAiB,kBACjBqjD,WAAY,OACZ9G,UAAW,CACT3pD,OAAQ,QAEVisD,aAAc,EACdC,kBAAmB,EACnB1iB,WAAY,OACZ4kB,UAAW,OACXhC,YAAa,EACbb,SAAU,GAEV8F,UAAW,OACXO,YAAa,OACbtF,cAAe,EACfD,gBAAiB,EACjBb,WAAY,CACVxrD,OAAQ,QAEV2xD,YAAa,OACbrhD,QAAS,EACTy8C,aAAc,EACdD,UAAW,EACX94C,aAAc,EACd+yC,UAAW,SAACh5C,EAAKsI,GAAN,OAAeA,EAAKk1C,SAAShjG,MACxCy+F,SAAU,SAACj5C,EAAKsI,GAAN,OAAeA,EAAKk1C,SAAShjG,MACvCwoG,mBAAoB,OACpB5E,eAAe,EACf/qB,WAAY,EACZ/zB,YAAa,gBACb4H,YAAa,EACbzlE,UAAW,CACTmgE,SAAU,IACVC,OAAQ,gBAEVM,WAAY,CACVhF,QAAS,CACPjpF,KAAM,SACN6tF,WAAY,CAAC,IAAK,IAAK,QAAS,SAAU,SAAU,WAEtD/5E,QAAS,CACP65E,OAAQ,SACRD,SAAU,MAGd8V,UAAWkoC,IAGbla,cAAe,CACb8X,SAAU,OACVC,WAAY,OACZ7B,UAAW,QAGb98C,YAAa,CACX0C,YAAa,SAAC/uF,GAAD,MAAmB,WAATA,GAA8B,aAATA,GAAgC,aAATA,GACnEgvF,YAAY,EACZiW,UAAW,CACTlW,aAAa,EACbC,YAAY,GAEdhgE,UAAW,CACTigE,WAAW,GAEbS,WAAY,CACVT,UAAW,cAKfwoC,uBAAwB,CAAC,gBC5yC3B,SAASya,GAAezjC,EAAQ+B,EAAKprG,EAAO+sI,GAC1C,IAAM1qB,EAAQhZ,EAAO/3F,QAAQ85F,GAC7B,OAAe,IAAXiX,EAZc,SAAChZ,EAAQ+B,EAAKprG,EAAO+sI,GAOvC,MANmB,kBAAR3hC,GACTprG,EAAQqpG,EAAO5wG,KAAK2yG,GAAO,EAC3B2hC,EAAYjwI,QAAQ,CAACkD,MAAAA,EAAO2qG,MAAOS,KAC1B/wG,MAAM+wG,KACfprG,EAAQ,MAEHA,EAMEgtI,CAAY3jC,EAAQ+B,EAAKprG,EAAO+sI,GAGlC1qB,IADMhZ,EAAO4jC,YAAY7hC,GACRprG,EAAQqiH,EAKlC,SAAS6qB,GAAkB5yI,GACzB,IAAM+uG,EAAS5uG,KAAK6uG,YAEpB,OAAIhvG,GAAS,GAAKA,EAAQ+uG,EAAO/wG,OACxB+wG,EAAO/uG,GAETA,MAGY6yI,GAAAA,SAAAA,uBAanBliI,SAAAA,EAAYs2F,GAAK,wBACf,cAAMA,IAGD6rC,iBAAczxI,EACnB,EAAK0xI,YAAc,EACnB,EAAKC,aAAe,GANL,iCASjB9yI,SAAKk2H,GACH,IAAM6c,EAAQ9yI,KAAK6yI,aACnB,GAAIC,EAAMj1I,OAAQ,CAChB,IADgB,EACV+wG,EAAS5uG,KAAK6uG,YADJ,KAEaikC,GAFb,IAEhB,IAAK,EAAL,qBAAoC,eAAxBvtI,EAAwB,EAAxBA,MAAO2qG,EAAiB,EAAjBA,MACbtB,EAAOrpG,KAAW2qG,GACpBtB,EAAOj+D,OAAOprC,EAAO,IAJT,8BAOhBvF,KAAK6yI,aAAe,GAEtB,0CAAW5c,wBAGbznD,SAAMmiC,EAAKprG,GACT,GAAI+6E,GAAcqwB,GAChB,OAAO,KAET,IAAM/B,EAAS5uG,KAAK6uG,YAGpB,OAtDe,SAACtpG,EAAOs9C,GAAR,OAA0B,OAAVt9C,EAAiB,KAAOmgF,GAAYlpE,KAAKk8C,MAAMnzD,GAAQ,EAAGs9C,GAsDlFkmE,CAFPxjH,EAAQk7E,SAASl7E,IAAUqpG,EAAOrpG,KAAWorG,EAAMprG,EAC/C8sI,GAAezjC,EAAQ+B,EAAKhwB,GAAep7E,EAAOorG,GAAM3wG,KAAK6yI,cACxCjkC,EAAO/wG,OAAS,sCAG3CytH,WACE,MAAiCtrH,KAAKunF,gBAA/BC,EAAP,EAAOA,WAAYC,EAAnB,EAAmBA,WACnB,EAAiBznF,KAAKsvG,WAAU,GAA3BriF,EAAL,EAAKA,IAAK41B,EAAV,EAAUA,IAEkB,UAAxB7iD,KAAKkS,QAAQm+E,SACV7I,IACHv6D,EAAM,GAEHw6D,IACH5kC,EAAM7iD,KAAK6uG,YAAYhxG,OAAS,IAIpCmC,KAAKitB,IAAMA,EACXjtB,KAAK6iD,IAAMA,4BAGb+oE,WACE,IAAM3+F,EAAMjtB,KAAKitB,IACX41B,EAAM7iD,KAAK6iD,IACX/2B,EAAS9rB,KAAKkS,QAAQ4Z,OACtB4/D,EAAQ,GACVkjB,EAAS5uG,KAAK6uG,YAGlBD,EAAkB,IAAT3hF,GAAc41B,IAAQ+rD,EAAO/wG,OAAS,EAAK+wG,EAASA,EAAOjuG,MAAMssB,EAAK41B,EAAM,GAErF7iD,KAAK4yI,YAAcp2H,KAAKqmC,IAAI+rD,EAAO/wG,QAAUiuB,EAAS,EAAI,GAAI,GAC9D9rB,KAAK2yI,YAAc3yI,KAAKitB,KAAOnB,EAAS,GAAM,GAE9C,IAAK,IAAIjsB,EAAQotB,EAAKptB,GAASgjD,EAAKhjD,IAClC6rF,EAAM1tF,KAAK,CAAC6B,MAAAA,IAEd,OAAO6rF,kCAGTykB,SAAiBtwG,GACf,OAAO4yI,GAAkBh0I,KAAKuB,KAAMH,4BAMtCooG,WACE,gDAEKjoG,KAAKw1G,iBAERx1G,KAAKs+G,gBAAkBt+G,KAAKs+G,gDAKhC52B,SAAiB7nF,GAKf,MAJqB,kBAAVA,IACTA,EAAQG,KAAKwuE,MAAM3uE,IAGJ,OAAVA,EAAiBwvG,IAAMrvG,KAAKm3G,oBAAoBt3G,EAAQG,KAAK2yI,aAAe3yI,KAAK4yI,4CAK1Fh/B,SAAgBruG,GACd,IAAMmmF,EAAQ1rF,KAAK0rF,MACnB,OAAInmF,EAAQ,GAAKA,EAAQmmF,EAAM7tF,OAAS,EAC/B,KAEFmC,KAAK0nF,iBAAiBgE,EAAMnmF,GAAO1F,uCAG5Cw3G,SAAiBtkB,GACf,OAAOv2E,KAAKk8C,MAAM14D,KAAK2yI,YAAc3yI,KAAKqvH,mBAAmBt8B,GAAS/yF,KAAK4yI,yCAG7Er9B,WACE,OAAOv1G,KAAKmwF,aA1HKuiD,CAAsBrpB,ICT3C,SAAS0pB,GAAcC,EAAmBC,GACxC,IAeIzsC,EAAQ0sC,EAASC,EAASC,EAfxB1nD,EAAQ,GAMP2E,EAAgF2iD,EAAhF3iD,OAAQld,EAAwE6/D,EAAxE7/D,KAAMlmD,EAAkE+lH,EAAlE/lH,IAAK41B,EAA6DmwF,EAA7DnwF,IAAKwwF,EAAwDL,EAAxDK,UAAW3wI,EAA6CswI,EAA7CtwI,MAAO4wI,EAAsCN,EAAtCM,SAAUC,EAA4BP,EAA5BO,UAAWC,EAAiBR,EAAjBQ,cAChEC,EAAOtgE,GAAQ,EACfugE,EAAYJ,EAAW,EACjBK,EAAmBV,EAAxBhmH,IAAgB2mH,EAAQX,EAAbpwF,IACZ2kC,GAAclH,GAAcrzD,GAC5Bw6D,GAAcnH,GAAcz9B,GAC5BgxF,GAAgBvzD,GAAc59E,GAC9BoxI,GAAcF,EAAOD,IAASJ,EAAY,GAC5C36B,EAAUn1B,IAASmwD,EAAOD,GAAQD,EAAYD,GAAQA,EAK1D,GAAI76B,EAdgB,QAcUpxB,IAAeC,EAC3C,MAAO,CAAC,CAAC5nF,MAAO8zI,GAAO,CAAC9zI,MAAO+zI,KAGjCR,EAAY52H,KAAK4uB,KAAKwoG,EAAOh7B,GAAWp8F,KAAKmsC,MAAMgrF,EAAO/6B,IAC1C86B,IAEd96B,EAAUn1B,GAAQ2vD,EAAYx6B,EAAU86B,EAAYD,GAAQA,GAGzDnzD,GAAc+yD,KAEjB7sC,EAAShqF,KAAKqiE,IAAI,GAAIw0D,GACtBz6B,EAAUp8F,KAAK4uB,KAAKwtE,EAAUpS,GAAUA,GAG3B,UAAXnW,GACF6iD,EAAU12H,KAAKmsC,MAAMgrF,EAAO/6B,GAAWA,EACvCu6B,EAAU32H,KAAK4uB,KAAKwoG,EAAOh7B,GAAWA,IAEtCs6B,EAAUS,EACVR,EAAUS,GAGRpsD,GAAcC,GAActU,GxDL3B,SAAqBriD,EAAWyyD,GACrC,IAAMwwD,EAAUv3H,KAAKk8C,MAAM5nC,GAC3B,OAAOijH,EAAYxwD,GAAYzyD,GAAQijH,EAAUxwD,GAAYzyD,EwDGrBkjH,EAAanxF,EAAM51B,GAAOkmD,EAAMylC,EAAU,MAMhFA,GAAW/1D,EAAM51B,IADjBmmH,EAAY52H,KAAKk8C,MAAMl8C,KAAKyQ,KAAK41B,EAAM51B,GAAO2rF,EAAS06B,KAEvDJ,EAAUjmH,EACVkmH,EAAUtwF,GACDgxF,EAOTj7B,IAFAu6B,EAAU1rD,EAAa5kC,EAAMswF,IAD7BD,EAAU1rD,EAAav6D,EAAMimH,KAE7BE,EAAY1wI,EAAQ,GAQlB0wI,EADE9vD,GAHJ8vD,GAAaD,EAAUD,GAAWt6B,EAGNp8F,KAAKk8C,MAAM06E,GAAYx6B,EAAU,KAC/Cp8F,KAAKk8C,MAAM06E,GAEX52H,KAAK4uB,KAAKgoG,GAM1B,IAAMa,EAAgBz3H,KAAKqmC,IACzBshC,GAAey0B,GACfz0B,GAAe+uD,IAEjB1sC,EAAShqF,KAAKqiE,IAAI,GAAIyB,GAAc+yD,GAAaY,EAAgBZ,GACjEH,EAAU12H,KAAKk8C,MAAMw6E,EAAU1sC,GAAUA,EACzC2sC,EAAU32H,KAAKk8C,MAAMy6E,EAAU3sC,GAAUA,EAEzC,IAAI7+B,EAAI,EAiBR,IAhBI6f,IACEgsD,GAAiBN,IAAYjmH,GAC/By+D,EAAM1tF,KAAK,CAAC6B,MAAOotB,IAEfimH,EAAUjmH,GACZ06C,IAGE2b,GAAa9mE,KAAKk8C,OAAOw6E,EAAUvrE,EAAIixC,GAAWpS,GAAUA,EAAQv5E,EAAKinH,GAAkBjnH,EAAK6mH,EAAYd,KAC9GrrE,KAEOurE,EAAUjmH,GACnB06C,KAIGA,EAAIyrE,IAAazrE,EACtB+jB,EAAM1tF,KAAK,CAAC6B,MAAO2c,KAAKk8C,OAAOw6E,EAAUvrE,EAAIixC,GAAWpS,GAAUA,IAcpE,OAXI/e,GAAc+rD,GAAiBL,IAAYtwF,EAEzC6oC,EAAM7tF,QAAUylF,GAAaoI,EAAMA,EAAM7tF,OAAS,GAAGgC,MAAOgjD,EAAKqxF,GAAkBrxF,EAAKixF,EAAYd,IACtGtnD,EAAMA,EAAM7tF,OAAS,GAAGgC,MAAQgjD,EAEhC6oC,EAAM1tF,KAAK,CAAC6B,MAAOgjD,IAEX4kC,GAAc0rD,IAAYtwF,GACpC6oC,EAAM1tF,KAAK,CAAC6B,MAAOszI,IAGdznD,EAGT,SAASwoD,GAAkBr0I,EAAOi0I,EAAlC,GAAyE,IAA1Bp/B,EAA0B,EAA1BA,WACvCzgB,EAAMlQ,GAD2D,EAAdmN,aAEnDnS,GAAS21B,EAAal4F,KAAK+rE,IAAI0L,GAAOz3E,KAAK+sE,IAAI0K,KAAS,KACxDp2F,EAAS,IAAOi2I,GAAc,GAAKj0I,GAAOhC,OAChD,OAAO2e,KAAKyQ,IAAI6mH,EAAa/0D,EAAOlhF,MDjHjB60I,GAAAA,KAEP,eAFOA,GAAAA,WAOD,CAChBhnD,MAAO,CACLhyD,SAAU+4G,UC2GK0B,GAAAA,SAAAA,uBAEnB3jI,SAAAA,EAAYs2F,GAAK,wBACf,cAAMA,IAGDj6E,WAAQ3rB,EAEb,EAAK4rB,SAAM5rB,EAEX,EAAKyxI,iBAAczxI,EAEnB,EAAKkzI,eAAYlzI,EACjB,EAAK0xI,YAAc,EAXJ,kCAcjBpkE,SAAMmiC,EAAKprG,GACT,OAAI+6E,GAAcqwB,KAGE,kBAARA,GAAoBA,aAAehxG,UAAY8gF,UAAUkwB,GAF5D,MAMDA,wCAGV0jC,WACE,IAAOjkD,EAAepwF,KAAKkS,QAApBk+E,YACP,EAAiCpwF,KAAKunF,gBAA/BC,EAAP,EAAOA,WAAYC,EAAnB,EAAmBA,WACdx6D,EAAYjtB,KAAZitB,IAAK41B,EAAO7iD,KAAP6iD,IAEJyxF,EAAS1oI,SAAAA,GAAAA,OAAMqhB,EAAMu6D,EAAav6D,EAAMrhB,GACxC2oI,EAAS3oI,SAAAA,GAAAA,OAAMi3C,EAAM4kC,EAAa5kC,EAAMj3C,GAE9C,GAAIwkF,EAAa,CACf,IAAMokD,EAAUnxD,GAAKp2D,GACfwnH,EAAUpxD,GAAKxgC,GAEjB2xF,EAAU,GAAKC,EAAU,EAC3BF,EAAO,GACEC,EAAU,GAAKC,EAAU,GAClCH,EAAO,GAIX,GAAIrnH,IAAQ41B,EAAK,CACf,IAAI/2B,EAAiB,IAAR+2B,EAAY,EAAIrmC,KAAKgnE,IAAU,IAAN3gC,GAEtC0xF,EAAO1xF,EAAM/2B,GAERskE,GACHkkD,EAAOrnH,EAAMnB,GAGjB9rB,KAAKitB,IAAMA,EACXjtB,KAAK6iD,IAAMA,8BAGb6xF,WACE,IAGIpB,EAHEvsB,EAAW/mH,KAAKkS,QAAQw5E,MAEzB67B,EAA2BR,EAA3BQ,cAAeotB,EAAY5tB,EAAZ4tB,SAkBpB,OAfIA,GACFrB,EAAW92H,KAAK4uB,KAAKprC,KAAK6iD,IAAM8xF,GAAYn4H,KAAKmsC,MAAM3oD,KAAKitB,IAAM0nH,GAAY,GAC/D,MACbhyI,QAAQC,KAARD,UAAAA,OAAuB3C,KAAK4gB,GAA5Bje,qBAAAA,OAAkDgyI,EAAlDhyI,mCAAAA,OAA4F2wI,EAA5F3wI,8BACA2wI,EAAW,MAGbA,EAAWtzI,KAAK40I,mBAChBrtB,EAAgBA,GAAiB,IAG/BA,IACF+rB,EAAW92H,KAAKyQ,IAAIs6F,EAAe+rB,IAG9BA,kCAMTsB,WACE,OAAOj1I,OAAOojF,4CAGhB6oC,WACE,IAAM51B,EAAOh2F,KAAKkS,QACZ60G,EAAW/wB,EAAKtK,MAMlB4nD,EAAWtzI,KAAK00I,eAiBdhpD,EAAQqnD,GAdkB,CAC9BO,SAHFA,EAAW92H,KAAKqmC,IAAI,EAAGywF,GAIrBjjD,OAAQ2F,EAAK3F,OACbpjE,IAAK+oE,EAAK/oE,IACV41B,IAAKmzC,EAAKnzC,IACVwwF,UAAWtsB,EAASssB,UACpBlgE,KAAM4zC,EAAS4tB,SACfjyI,MAAOqkH,EAASrkH,MAChB6wI,UAAWvzI,KAAK2yH,aAChBje,WAAY10G,KAAKw1G,eACjBtkB,YAAa61B,EAAS71B,aAAe,EACrCsiD,eAA0C,IAA3BzsB,EAASysB,eAERxzI,KAAK4pH,QAAU5pH,MAmBjC,MAdoB,UAAhBg2F,EAAK3F,QACPvM,GAAmB4H,EAAO1rF,KAAM,SAG9Bg2F,EAAKv6C,SACPiwC,EAAMjwC,UAENz7C,KAAK6sB,MAAQ7sB,KAAK6iD,IAClB7iD,KAAK8sB,IAAM9sB,KAAKitB,MAEhBjtB,KAAK6sB,MAAQ7sB,KAAKitB,IAClBjtB,KAAK8sB,IAAM9sB,KAAK6iD,KAGX6oC,2BAMTuc,WACE,IAAMvc,EAAQ1rF,KAAK0rF,MACf7+D,EAAQ7sB,KAAKitB,IACbH,EAAM9sB,KAAK6iD,IAIf,GAFA,gDAEI7iD,KAAKkS,QAAQ4Z,QAAU4/D,EAAM7tF,OAAQ,CACvC,IAAMiuB,GAAUgB,EAAMD,GAASrQ,KAAKqmC,IAAI6oC,EAAM7tF,OAAS,EAAG,GAAK,EAC/DgvB,GAASf,EACTgB,GAAOhB,EAET9rB,KAAK2yI,YAAc9lH,EACnB7sB,KAAKo0I,UAAYtnH,EACjB9sB,KAAK4yI,YAAc9lH,EAAMD,kCAG3BsjF,SAAiBtwG,GACf,OAAOmrF,GAAanrF,EAAOG,KAAK4rF,MAAM15E,QAAQ4U,OAAQ9mB,KAAKkS,QAAQw5E,MAAMJ,cA7JxD6oD,CAAwB9qB,IChJxBwrB,GAAAA,SAAAA,2HAcnBvpB,WACE,MAAmBtrH,KAAKsvG,WAAU,GAA3BriF,EAAP,EAAOA,IAAK41B,EAAZ,EAAYA,IAEZ7iD,KAAKitB,IAAMwzD,GAASxzD,GAAOA,EAAM,EACjCjtB,KAAK6iD,IAAM49B,GAAS59B,GAAOA,EAAM,EAGjC7iD,KAAKq0I,yDAOPO,WACE,IAAMlgC,EAAa10G,KAAKw1G,eAClB33G,EAAS62G,EAAa10G,KAAKknB,MAAQlnB,KAAKmnB,OACxC+pE,EAAcnN,GAAU/jF,KAAKkS,QAAQw5E,MAAMwF,aAC3CnS,GAAS21B,EAAal4F,KAAK+rE,IAAI2I,GAAe10E,KAAK+sE,IAAI2H,KAAiB,KACxEu9B,EAAWzuH,KAAKivH,wBAAwB,GAC9C,OAAOzyG,KAAK4uB,KAAKvtC,EAAS2e,KAAKyQ,IAAI,GAAIwhG,EAASh5G,WAAaspE,oCAI/D2I,SAAiB7nF,GACf,OAAiB,OAAVA,EAAiBwvG,IAAMrvG,KAAKm3G,oBAAoBt3G,EAAQG,KAAK2yI,aAAe3yI,KAAK4yI,6CAG1Fv7B,SAAiBtkB,GACf,OAAO/yF,KAAK2yI,YAAc3yI,KAAKqvH,mBAAmBt8B,GAAS/yF,KAAK4yI,kBA3C/CiC,CAAoBV,OAApBU,GAAAA,KAEP,aAFOA,GAAAA,WAOD,CAChBnpD,MAAO,CACLhyD,SAAUg4D,GAAMnG,WAAWC,WCPjC,IAAMspD,GAAalpI,SAAAA,GAAAA,OAAK4Q,KAAKmsC,MAAMy6B,GAAMx3E,KACnCmpI,GAAiB,SAACnpI,EAAG9J,GAAJ,OAAU0a,KAAKqiE,IAAI,GAAIi2D,GAAWlpI,GAAK9J,IAE9D,SAASkzI,GAAQC,GAEf,OAAkB,IADHA,EAAWz4H,KAAKqiE,IAAI,GAAIi2D,GAAWG,IAIpD,SAASC,GAAMjoH,EAAK41B,EAAKsyF,GACvB,IAAMC,EAAY54H,KAAKqiE,IAAI,GAAIs2D,GACzBtoH,EAAQrQ,KAAKmsC,MAAM17B,EAAMmoH,GAE/B,OADY54H,KAAK4uB,KAAKyX,EAAMuyF,GACfvoH,EAsBf,SAASkmH,GAAcC,EAAvB,GAAsD,IAAX/lH,EAAW,EAAXA,IAAK41B,EAAM,EAANA,IAC9C51B,EAAMyzD,GAAgBsyD,EAAkB/lH,IAAKA,GAW7C,IAVA,IAAMy+D,EAAQ,GACR2pD,EAASP,GAAW7nH,GACtBqoH,EAvBN,SAAkBroH,EAAK41B,GAGrB,IAFA,IACIsyF,EAAWL,GADDjyF,EAAM51B,GAEbioH,GAAMjoH,EAAK41B,EAAKsyF,GAAY,IACjCA,IAEF,KAAOD,GAAMjoH,EAAK41B,EAAKsyF,GAAY,IACjCA,IAEF,OAAO34H,KAAKyQ,IAAIkoH,EAAUL,GAAW7nH,IAc3BsoH,CAAStoH,EAAK41B,GACpBwwF,EAAYiC,EAAM,EAAI94H,KAAKqiE,IAAI,GAAIriE,KAAKgnE,IAAI8xD,IAAQ,EAClDX,EAAWn4H,KAAKqiE,IAAI,GAAIy2D,GACxBl+H,EAAOi+H,EAASC,EAAM94H,KAAKqiE,IAAI,GAAIw2D,GAAU,EAC7CxoH,EAAQrQ,KAAKk8C,OAAOzrC,EAAM7V,GAAQi8H,GAAaA,EAC/CvnH,EAAStP,KAAKmsC,OAAO17B,EAAM7V,GAAQu9H,EAAW,IAAMA,EAAW,GACjEroD,EAAc9vE,KAAKmsC,OAAO97B,EAAQf,GAAUtP,KAAKqiE,IAAI,GAAIy2D,IACzDz1I,EAAQ6gF,GAAgBsyD,EAAkB/lH,IAAKzQ,KAAKk8C,OAAOthD,EAAO0U,EAASwgE,EAAc9vE,KAAKqiE,IAAI,GAAIy2D,IAAQjC,GAAaA,GACxHxzI,EAAQgjD,GACb6oC,EAAM1tF,KAAK,CAAC6B,MAAAA,EAAO+xF,MAAOojD,GAAQn1I,GAAQysF,YAAAA,IACtCA,GAAe,GACjBA,EAAcA,EAAc,GAAK,GAAK,GAEtCA,IAEEA,GAAe,KAEjBA,EAAc,EACd+mD,IAFAiC,GAEmB,EAAI,EAAIjC,GAE7BxzI,EAAQ2c,KAAKk8C,OAAOthD,EAAO0U,EAASwgE,EAAc9vE,KAAKqiE,IAAI,GAAIy2D,IAAQjC,GAAaA,EAEtF,IAAMmC,EAAW90D,GAAgBsyD,EAAkBnwF,IAAKhjD,GAGxD,OAFA6rF,EAAM1tF,KAAK,CAAC6B,MAAO21I,EAAU5jD,MAAOojD,GAAQQ,GAAWlpD,YAAAA,IAEhDZ,MAGY+pD,GAAAA,SAAAA,uBAiBnBjlI,SAAAA,EAAYs2F,GAAK,wBACf,cAAMA,IAGDj6E,WAAQ3rB,EAEb,EAAK4rB,SAAM5rB,EAEX,EAAKyxI,iBAAczxI,EACnB,EAAK0xI,YAAc,EATJ,kCAYjBpkE,SAAMmiC,EAAKprG,GACT,IAAM1F,EAAQs0I,GAAgB51I,UAAUiwE,MAAMpwE,MAAM4B,KAAM,CAAC2wG,EAAKprG,IAChE,GAAc,IAAV1F,EAIJ,OAAO4gF,GAAS5gF,IAAUA,EAAQ,EAAIA,EAAQ,KAH5CG,KAAK01I,OAAQ,qCAMjBpqB,WACE,MAAmBtrH,KAAKsvG,WAAU,GAA3BriF,EAAP,EAAOA,IAAK41B,EAAZ,EAAYA,IAEZ7iD,KAAKitB,IAAMwzD,GAASxzD,GAAOzQ,KAAKqmC,IAAI,EAAG51B,GAAO,KAC9CjtB,KAAK6iD,IAAM49B,GAAS59B,GAAOrmC,KAAKqmC,IAAI,EAAGA,GAAO,KAE1C7iD,KAAKkS,QAAQk+E,cACfpwF,KAAK01I,OAAQ,GAKX11I,KAAK01I,OAAS11I,KAAKitB,MAAQjtB,KAAKoqH,gBAAkB3pC,GAASzgF,KAAKkqH,YAClElqH,KAAKitB,IAAMA,IAAQ8nH,GAAe/0I,KAAKitB,IAAK,GAAK8nH,GAAe/0I,KAAKitB,KAAM,GAAK8nH,GAAe/0I,KAAKitB,IAAK,IAG3GjtB,KAAKq0I,+DAGPA,WACE,MAAiCr0I,KAAKunF,gBAA/BC,EAAP,EAAOA,WAAYC,EAAnB,EAAmBA,WACfx6D,EAAMjtB,KAAKitB,IACX41B,EAAM7iD,KAAK6iD,IAETyxF,EAAS1oI,SAAAA,GAAAA,OAAMqhB,EAAMu6D,EAAav6D,EAAMrhB,GACxC2oI,EAAS3oI,SAAAA,GAAAA,OAAMi3C,EAAM4kC,EAAa5kC,EAAMj3C,GAE1CqhB,IAAQ41B,IACN51B,GAAO,GACTqnH,EAAO,GACPC,EAAO,MAEPD,EAAOS,GAAe9nH,GAAM,IAC5BsnH,EAAOQ,GAAelyF,EAAK,MAG3B51B,GAAO,GACTqnH,EAAOS,GAAelyF,GAAM,IAE1BA,GAAO,GAET0xF,EAAOQ,GAAe9nH,EAAK,IAG7BjtB,KAAKitB,IAAMA,EACXjtB,KAAK6iD,IAAMA,4BAGb+oE,WACE,IAAM51B,EAAOh2F,KAAKkS,QAMZw5E,EAAQqnD,GAJY,CACxB9lH,IAAKjtB,KAAKkqH,SACVrnE,IAAK7iD,KAAKiqH,UAEmCjqH,MAkB/C,MAdoB,UAAhBg2F,EAAK3F,QACPvM,GAAmB4H,EAAO1rF,KAAM,SAG9Bg2F,EAAKv6C,SACPiwC,EAAMjwC,UAENz7C,KAAK6sB,MAAQ7sB,KAAK6iD,IAClB7iD,KAAK8sB,IAAM9sB,KAAKitB,MAEhBjtB,KAAK6sB,MAAQ7sB,KAAKitB,IAClBjtB,KAAK8sB,IAAM9sB,KAAK6iD,KAGX6oC,kCAOTykB,SAAiBtwG,GACf,YAAiBqB,IAAVrB,EACH,IACAmrF,GAAanrF,EAAOG,KAAK4rF,MAAM15E,QAAQ4U,OAAQ9mB,KAAKkS,QAAQw5E,MAAMJ,iCAMxE2c,WACE,IAAMp7E,EAAQ7sB,KAAKitB,IAEnB,gDAEAjtB,KAAK2yI,YAAcvvD,GAAMv2D,GACzB7sB,KAAK4yI,YAAcxvD,GAAMpjF,KAAK6iD,KAAOugC,GAAMv2D,mCAG7C66D,SAAiB7nF,GAIf,YAHcqB,IAAVrB,GAAiC,IAAVA,IACzBA,EAAQG,KAAKitB,KAED,OAAVptB,GAAkBD,MAAMC,GACnBwvG,IAEFrvG,KAAKm3G,mBAAmBt3G,IAAUG,KAAKitB,IAC1C,GACCm2D,GAAMvjF,GAASG,KAAK2yI,aAAe3yI,KAAK4yI,6CAG/Cv7B,SAAiBtkB,GACf,IAAMq8B,EAAUpvH,KAAKqvH,mBAAmBt8B,GACxC,OAAOv2E,KAAKqiE,IAAI,GAAI7+E,KAAK2yI,YAAcvjB,EAAUpvH,KAAK4yI,mBAtJrC6C,CAAyBpsB,ICjE9C,SAASssB,GAAsB3/C,GAC7B,IAAM+wB,EAAW/wB,EAAKtK,MAEtB,GAAIq7B,EAASp8E,SAAWqrD,EAAKrrD,QAAS,CACpC,IAAMslD,EAAUsI,GAAUwuB,EAAS/0B,iBACnC,OAAOrR,GAAeomC,EAASz5B,MAAQy5B,EAASz5B,KAAKplD,KAAMmnD,GAAS/B,KAAKplD,MAAQ+nD,EAAQ9oE,OAE3F,OAAO,EAWT,SAASyuH,GAAgBhxD,EAAOua,EAAKj3D,EAAMjb,EAAK41B,GAC9C,OAAI+hC,IAAU33D,GAAO23D,IAAU/hC,EACtB,CACLh2B,MAAOsyE,EAAOj3D,EAAO,EACrBpb,IAAKqyE,EAAOj3D,EAAO,GAEZ08C,EAAQ33D,GAAO23D,EAAQ/hC,EACzB,CACLh2B,MAAOsyE,EAAMj3D,EACbpb,IAAKqyE,GAIF,CACLtyE,MAAOsyE,EACPryE,IAAKqyE,EAAMj3D,GAOf,SAAS2tG,GAAmBxnD,GA2C1B,IAbA,IA5DwBX,EAAKJ,EAAM4iB,EA4D7B4E,EAAO,CACXvlG,EAAG8+E,EAAMtgE,KAAOsgE,EAAMynD,SAAS/nH,KAC/BkM,EAAGo0D,EAAM6B,MAAQ7B,EAAMynD,SAAS5lD,MAChCt/D,EAAGy9D,EAAMpgE,IAAMogE,EAAMynD,SAAS7nH,IAC9BtjB,EAAG0jF,EAAM8B,OAAS9B,EAAMynD,SAAS3lD,QAE7B4lD,EAASz3I,OAAOwQ,OAAO,GAAIgmG,GAC3BqY,EAAa,GACbl9B,EAAU,GACV+lD,EAAa3nD,EAAM4nD,aAAap4I,OAChCq4I,EAAiB7nD,EAAMn8E,QAAQgrG,YAC/Bi5B,EAAkBD,EAAeE,kBAAoBzzD,GAAKqzD,EAAa,EAEpEr4I,EAAI,EAAGA,EAAIq4I,EAAYr4I,IAAK,CACnC,IAAMq4F,EAAOkgD,EAAe/7C,WAAW9L,EAAMgoD,qBAAqB14I,IAClEsyF,EAAQtyF,GAAKq4F,EAAK/F,QAClB,IAAMqtB,EAAgBjvB,EAAMioD,iBAAiB34I,EAAG0wF,EAAMkoD,YAActmD,EAAQtyF,GAAIw4I,GAC1EK,EAASh+C,GAAOxC,EAAK1I,MACrBmpD,GA9EgB/oD,EA8EYW,EAAMX,IA9EbJ,EA8EkBkpD,EA7E/CtmC,EAAQhyG,GAD2BgyG,EA8EoB7hB,EAAM4nD,aAAat4I,IA7EjDuyG,EAAQ,CAACA,GAC3B,CACL3tG,EAAG8vF,GAAa3E,EAAKJ,EAAK9jF,OAAQ0mG,GAClC1gG,EAAG0gG,EAAMryG,OAASyvF,EAAK73E,aA2EvB03G,EAAWxvH,GAAK84I,EAEhB,IAAM3oB,EAAe3oC,GAAgBkJ,EAAMsuB,cAAch/G,GAAKw4I,GACxDvxD,EAAQpoE,KAAKk8C,MAAMurB,GAAU6pC,IAGnC4oB,GAAaX,EAAQjhC,EAAMgZ,EAFX8nB,GAAgBhxD,EAAO04B,EAAcxsF,EAAG2lH,EAASl0I,EAAG,EAAG,KACvDqzI,GAAgBhxD,EAAO04B,EAAcpjF,EAAGu8G,EAASjnI,EAAG,GAAI,MAI1E6+E,EAAMsoD,eACJ7hC,EAAKvlG,EAAIwmI,EAAOxmI,EAChBwmI,EAAO97G,EAAI66E,EAAK76E,EAChB66E,EAAKlkF,EAAImlH,EAAOnlH,EAChBmlH,EAAOprI,EAAImqG,EAAKnqG,GAIlB0jF,EAAMuoD,iBAwBR,SAA8BvoD,EAAO8+B,EAAYl9B,GAQ/C,IAPA,IAAM1J,EAAQ,GACRyvD,EAAa3nD,EAAM4nD,aAAap4I,OAChCm4F,EAAO3H,EAAMn8E,QACb2kI,EAAQlB,GAAsB3/C,GAAQ,EACtC8gD,EAAgBzoD,EAAMkoD,YACtBJ,EAAkBngD,EAAKknB,YAAYk5B,kBAAoBzzD,GAAKqzD,EAAa,EAEtEr4I,EAAI,EAAGA,EAAIq4I,EAAYr4I,IAAK,CACnC,IAAMo5I,EAAqB1oD,EAAMioD,iBAAiB34I,EAAGm5I,EAAgBD,EAAQ5mD,EAAQtyF,GAAIw4I,GACnFvxD,EAAQpoE,KAAKk8C,MAAMurB,GAAUkB,GAAgB4xD,EAAmBnyD,MAAQ3B,MACxE/6C,EAAOilF,EAAWxvH,GAClBu8B,EAAI88G,GAAUD,EAAmB78G,EAAGgO,EAAK14B,EAAGo1E,GAC5CgS,EAAYqgD,GAAqBryD,GACjC72D,EAAOmpH,GAAiBH,EAAmBjmH,EAAGoX,EAAK3lC,EAAGq0F,GAE5DrQ,EAAMvoF,KAAK,CAET8yB,EAAGimH,EAAmBjmH,EACtBoJ,EAAAA,EAGA08D,UAAAA,EAGA7oE,KAAAA,EACAE,IAAKiM,EACLg2D,MAAOniE,EAAOma,EAAK3lC,EACnB4tF,OAAQj2D,EAAIgO,EAAK14B,IAGrB,OAAO+2E,EAvDkB4wD,CAAqB9oD,EAAO8+B,EAAYl9B,GAGnE,SAASymD,GAAaX,EAAQjhC,EAAMlwB,EAAOwyD,EAASC,GAClD,IAAM9uD,EAAM/rE,KAAKgnE,IAAIhnE,KAAK+rE,IAAI3D,IACxB2E,EAAM/sE,KAAKgnE,IAAIhnE,KAAK+sE,IAAI3E,IAC1B9zD,EAAI,EACJoJ,EAAI,EACJk9G,EAAQvqH,MAAQioF,EAAKvlG,GACvBuhB,GAAKgkF,EAAKvlG,EAAI6nI,EAAQvqH,OAAS07D,EAC/BwtD,EAAOxmI,EAAIiN,KAAKyQ,IAAI8oH,EAAOxmI,EAAGulG,EAAKvlG,EAAIuhB,IAC9BsmH,EAAQtqH,IAAMgoF,EAAK76E,IAC5BnJ,GAAKsmH,EAAQtqH,IAAMgoF,EAAK76E,GAAKsuD,EAC7BwtD,EAAO97G,EAAIzd,KAAKqmC,IAAIkzF,EAAO97G,EAAG66E,EAAK76E,EAAInJ,IAErCumH,EAAQxqH,MAAQioF,EAAKlkF,GACvBsJ,GAAK46E,EAAKlkF,EAAIymH,EAAQxqH,OAAS08D,EAC/BwsD,EAAOnlH,EAAIpU,KAAKyQ,IAAI8oH,EAAOnlH,EAAGkkF,EAAKlkF,EAAIsJ,IAC9Bm9G,EAAQvqH,IAAMgoF,EAAKnqG,IAC5BuvB,GAAKm9G,EAAQvqH,IAAMgoF,EAAKnqG,GAAK4+E,EAC7BwsD,EAAOprI,EAAI6R,KAAKqmC,IAAIkzF,EAAOprI,EAAGmqG,EAAKnqG,EAAIuvB,IAsC3C,SAAS+8G,GAAqBryD,GAC5B,OAAc,IAAVA,GAAyB,MAAVA,EACV,SACEA,EAAQ,IACV,OAGF,QAGT,SAASsyD,GAAiBpmH,EAAGvuB,EAAGskF,GAM9B,MALc,UAAVA,EACF/1D,GAAKvuB,EACc,WAAVskF,IACT/1D,GAAMvuB,EAAI,GAELuuB,EAGT,SAASkmH,GAAU98G,EAAG1qB,EAAGo1E,GAMvB,OALc,KAAVA,GAA0B,MAAVA,EAClB1qD,GAAM1qB,EAAI,GACDo1E,EAAQ,KAAOA,EAAQ,MAChC1qD,GAAK1qB,GAEA0qB,EAoDT,SAASo9G,GAAejpD,EAAO2F,EAAQipB,EAAUwwB,GAC/C,IAAO//C,EAAOW,EAAPX,IACP,GAAIuvB,EAEFvvB,EAAI4G,IAAIjG,EAAMmuB,QAASnuB,EAAMouB,QAASzoB,EAAQ,EAAGpR,QAC5C,CAEL,IAAI06B,EAAgBjvB,EAAMioD,iBAAiB,EAAGtiD,GAC9CtG,EAAI8G,OAAO8oB,EAAcxsF,EAAGwsF,EAAcpjF,GAE1C,IAAK,IAAIv8B,EAAI,EAAGA,EAAI8vI,EAAY9vI,IAC9B2/G,EAAgBjvB,EAAMioD,iBAAiB34I,EAAGq2F,GAC1CtG,EAAI+G,OAAO6oB,EAAcxsF,EAAGwsF,EAAcpjF,OD5L3Bu7G,GAAAA,KAEP,kBAFOA,GAAAA,WAOD,CAChB/pD,MAAO,CACLhyD,SAAUg4D,GAAMnG,WAAWa,YAC3BwF,MAAO,CACL61B,SAAS,UCqNI8vB,GAAAA,SAAAA,uBA0EnB/mI,SAAAA,EAAYs2F,GAAK,wBACf,cAAMA,IAGD0V,aAAUt7G,EAEf,EAAKu7G,aAAUv7G,EAEf,EAAKq1I,iBAAcr1I,EAEnB,EAAK+0I,aAAe,GACpB,EAAKW,iBAAmB,GAXT,0CAcjBzrB,WAEE,IAAMl7B,EAAUjwF,KAAK81I,SAAWv9C,GAAUo9C,GAAsB31I,KAAKkS,SAAW,GAC1E3P,EAAIvC,KAAKknB,MAAQlnB,KAAKw2C,SAAWy5C,EAAQ/oE,MACzC1X,EAAIxP,KAAKmnB,OAASnnB,KAAKogG,UAAYnQ,EAAQ9oE,OACjDnnB,KAAKw8G,QAAUhgG,KAAKmsC,MAAM3oD,KAAK+tB,KAAOxrB,EAAI,EAAI0tF,EAAQliE,MACtD/tB,KAAKy8G,QAAUjgG,KAAKmsC,MAAM3oD,KAAKiuB,IAAMze,EAAI,EAAIygF,EAAQhiE,KACrDjuB,KAAKu2I,YAAc/5H,KAAKmsC,MAAMnsC,KAAKyQ,IAAI1qB,EAAGiN,GAAK,sCAGjD87G,WACE,MAAmBtrH,KAAKsvG,WAAU,GAA3BriF,EAAP,EAAOA,IAAK41B,EAAZ,EAAYA,IAEZ7iD,KAAKitB,IAAMwzD,GAASxzD,KAASrtB,MAAMqtB,GAAOA,EAAM,EAChDjtB,KAAK6iD,IAAM49B,GAAS59B,KAASjjD,MAAMijD,GAAOA,EAAM,EAGhD7iD,KAAKq0I,yDAOPO,WACE,OAAOp4H,KAAK4uB,KAAKprC,KAAKu2I,YAAcZ,GAAsB31I,KAAKkS,4CAGjE46G,SAAmBphC,GAAO,WACxByoD,GAAgB51I,UAAUuuH,mBAAmBruH,KAAKuB,KAAM0rF,GAGxD1rF,KAAKi2I,aAAej2I,KAAK6uG,YACtB11D,KAAI,SAACt5C,EAAO0F,GACX,IAAM2qG,EAAQilB,GAAa,EAAKjjH,QAAQgrG,YAAYxjF,SAAU,CAAC75B,EAAO0F,GAAQ,GAC9E,OAAO2qG,GAAmB,IAAVA,EAAcA,EAAQ,MAEvCrzD,QAAO,SAACjxC,EAAGjO,GAAJ,OAAU,EAAKiuF,MAAMorB,kBAAkBr5G,yBAGnD0uH,WACE,IAAMr2B,EAAOh2F,KAAKkS,QAEd8jF,EAAKrrD,SAAWqrD,EAAKknB,YAAYvyE,QACnCkrG,GAAmB71I,MAEnBA,KAAK22I,eAAe,EAAG,EAAG,EAAG,iCAIjCA,SAAea,EAAcC,EAAeC,EAAaC,GACvD33I,KAAKw8G,SAAWhgG,KAAKmsC,OAAO6uF,EAAeC,GAAiB,GAC5Dz3I,KAAKy8G,SAAWjgG,KAAKmsC,OAAO+uF,EAAcC,GAAkB,GAC5D33I,KAAKu2I,aAAe/5H,KAAKyQ,IAAIjtB,KAAKu2I,YAAc,EAAG/5H,KAAKqmC,IAAI20F,EAAcC,EAAeC,EAAaC,iCAGxGh7B,SAAcp3G,GAIZ,OAAO4/E,GAAgB5/E,GAHCq9E,IAAO5iF,KAAKi2I,aAAap4I,QAAU,IAGVkmF,GAF9B/jF,KAAKkS,QAAQmnG,YAAc,iDAKhD0D,SAA8Bl9G,GAC5B,GAAIygF,GAAczgF,GAChB,OAAOwvG,IAIT,IAAMuoC,EAAgB53I,KAAKu2I,aAAev2I,KAAK6iD,IAAM7iD,KAAKitB,KAC1D,OAAIjtB,KAAKkS,QAAQupC,SACPz7C,KAAK6iD,IAAMhjD,GAAS+3I,GAEtB/3I,EAAQG,KAAKitB,KAAO2qH,+CAG9BC,SAA8B/yD,GAC5B,GAAIxE,GAAcwE,GAChB,OAAOuqB,IAGT,IAAMyoC,EAAiBhzD,GAAY9kF,KAAKu2I,aAAev2I,KAAK6iD,IAAM7iD,KAAKitB,MACvE,OAAOjtB,KAAKkS,QAAQupC,QAAUz7C,KAAK6iD,IAAMi1F,EAAiB93I,KAAKitB,IAAM6qH,sCAGvEzB,SAAqB9wI,GACnB,IAAM23G,EAAcl9G,KAAKi2I,cAAgB,GAEzC,GAAI1wI,GAAS,GAAKA,EAAQ23G,EAAYr/G,OAAQ,CAC5C,IAAMk6I,EAAa76B,EAAY33G,GAC/B,OA1LN,SAAiC0zC,EAAQ1zC,EAAO2qG,GAC9C,OAAOpyC,GAAc7kB,EAAQ,CAC3Bi3D,MAAAA,EACA3qG,MAAAA,EACA3D,KAAM,eAsLGo2I,CAAwBh4I,KAAKozF,aAAc7tF,EAAOwyI,oCAI7DzB,SAAiB/wI,EAAO0yI,GAAyC,IAArB9B,EAAqB,uDAAH,EACtDvxD,EAAQ5kF,KAAK28G,cAAcp3G,GAAS09E,GAAUkzD,EACpD,MAAO,CACLrlH,EAAGtU,KAAK+sE,IAAI3E,GAASqzD,EAAqBj4I,KAAKw8G,QAC/CtiF,EAAG1d,KAAK+rE,IAAI3D,GAASqzD,EAAqBj4I,KAAKy8G,QAC/C73B,MAAAA,2CAIJ24B,SAAyBh4G,EAAO1F,GAC9B,OAAOG,KAAKs2I,iBAAiB/wI,EAAOvF,KAAK+8G,8BAA8Bl9G,mCAGzEq4I,SAAgB3yI,GACd,OAAOvF,KAAKu9G,yBAAyBh4G,GAAS,EAAGvF,KAAKsvH,qDAGxD6oB,SAAsB5yI,GACpB,MAAmCvF,KAAK42I,iBAAiBrxI,GACzD,MAAO,CACLwoB,KAFF,EAAOA,KAGLE,IAHF,EAAaA,IAIXiiE,MAJF,EAAkBA,MAKhBC,OALF,EAAyBA,sCAY3BuhC,WACE,MAA4C1xH,KAAKkS,QAA1C66E,EAAP,EAAOA,gBAAwBkwB,EAA/B,EAAwB1sB,KAAO0sB,SAC/B,GAAIlwB,EAAiB,CACnB,IAAMW,EAAM1tF,KAAK0tF,IACjBA,EAAI8E,OACJ9E,EAAI0G,YACJkjD,GAAet3I,KAAMA,KAAK+8G,8BAA8B/8G,KAAKo0I,WAAYn3B,EAAUj9G,KAAKi2I,aAAap4I,QACrG6vF,EAAI6G,YACJ7G,EAAIiJ,UAAY5J,EAChBW,EAAI57B,OACJ47B,EAAIkF,mCAOR++B,WAAW,IAMLh0H,EAAGmuB,EAAQ1mB,EANN,OACHsoF,EAAM1tF,KAAK0tF,IACXsI,EAAOh2F,KAAKkS,QACX8qG,EAA4BhnB,EAA5BgnB,WAAYzsB,EAAgByF,EAAhBzF,KAAMQ,EAAUiF,EAAVjF,OACnB08C,EAAaztI,KAAKi2I,aAAap4I,OAqBrC,GAjBIm4F,EAAKknB,YAAYvyE,SA9UzB,SAAyB0jD,EAAOo/C,GAG9B,IAFA,IAAO//C,EAA+BW,EAA/BX,IAAewvB,EAAgB7uB,EAA1Bn8E,QAAUgrG,YAEbv/G,EAAI8vI,EAAa,EAAG9vI,GAAK,EAAGA,IAAK,CACxC,IAAMgzH,EAAczT,EAAY/iB,WAAW9L,EAAMgoD,qBAAqB14I,IAChE64I,EAASh+C,GAAOm4B,EAAYrjC,MAClC,EAAoDe,EAAMuoD,iBAAiBj5I,GAApEmzB,EAAP,EAAOA,EAAGoJ,EAAV,EAAUA,EAAG08D,EAAb,EAAaA,UAAW7oE,EAAxB,EAAwBA,KAAME,EAA9B,EAA8BA,IAAKiiE,EAAnC,EAAmCA,MAAOC,EAA1C,EAA0CA,OACnC4B,EAAiB4+B,EAAjB5+B,cAEP,IAAKzR,GAAcyR,GAAgB,CACjC,IAAM0tC,EAAennC,GAAcq4B,EAAY8O,cACzCxvC,EAAUsI,GAAUo4B,EAAY3+B,iBACtCtE,EAAIiJ,UAAY5E,EAEhB,IAAMqmD,EAAerqH,EAAOkiE,EAAQliE,KAC9BsqH,EAAcpqH,EAAMgiE,EAAQhiE,IAC5BqqH,EAAgBpoD,EAAQniE,EAAOkiE,EAAQ/oE,MACvCqxH,EAAiBpoD,EAASliE,EAAMgiE,EAAQ9oE,OAE1C7oB,OAAOmlD,OAAOg8E,GAAcnkF,MAAK1vC,SAAAA,GAAAA,OAAW,IAANA,MACxC8hF,EAAI0G,YACJqD,GAAmB/J,EAAK,CACtB58D,EAAGsnH,EACHl+G,EAAGm+G,EACH91I,EAAG+1I,EACH9oI,EAAG+oI,EACHvkD,OAAQyrC,IAEV/xC,EAAI57B,QAEJ47B,EAAI8J,SAAS4gD,EAAcC,EAAaC,EAAeC,GAI3DziD,GACEpI,EACAW,EAAM4nD,aAAat4I,GACnBmzB,EACAoJ,EAAKs8G,EAAO/gI,WAAa,EACzB+gI,EACA,CACEntH,MAAOsnG,EAAYtnG,MACnButE,UAAWA,EACXC,aAAc,YAoShB2hD,CAAgBx4I,KAAMytI,GAGpBl9C,EAAK5lD,SACP3qC,KAAK0rF,MAAMj/E,SAAQ,SAACq5F,EAAMvgG,GACxB,GAAc,IAAVA,EAAa,CACfumB,EAAS,EAAKixF,8BAA8BjX,EAAKjmG,OACjD,IAAMgF,EAAU,EAAKuuF,WAAW7tF,GAC1BorH,EAAcpgC,EAAK4J,WAAWt1F,GAC9B+rH,EAAoB7/B,EAAOoJ,WAAWt1F,IAtRtD,SAAwBwpF,EAAOoqD,EAAczkD,EAAQy5C,EAAYpd,GAC/D,IAAM3iC,EAAMW,EAAMX,IACZuvB,EAAWw7B,EAAax7B,SAEvB5zF,EAAoBovH,EAApBpvH,MAAOmnE,EAAaioD,EAAbjoD,WAERysB,IAAawwB,IAAgBpkH,IAAUmnE,GAAawD,EAAS,IAInEtG,EAAI8E,OACJ9E,EAAI4I,YAAcjtE,EAClBqkE,EAAI8C,UAAYA,EAChB9C,EAAImkC,YAAYxB,EAAWr/B,MAC3BtD,EAAIokC,eAAiBzB,EAAWp/B,WAEhCvD,EAAI0G,YACJkjD,GAAejpD,EAAO2F,EAAQipB,EAAUwwB,GACxC//C,EAAI6G,YACJ7G,EAAImH,SACJnH,EAAIkF,WAoQI8lD,CAAe,EAAM/nB,EAAa7kG,EAAQ2hH,EAAY7c,OAKxD5T,EAAWryE,QAAS,CAGtB,IAFA+iD,EAAI8E,OAEC70F,EAAI8vI,EAAa,EAAG9vI,GAAK,EAAGA,IAAK,CACpC,IAAMgzH,EAAc3T,EAAW7iB,WAAWn6F,KAAKq2I,qBAAqB14I,IAC7D0rB,EAAoBsnG,EAApBtnG,MAAOmnE,EAAamgC,EAAbngC,UAETA,GAAcnnE,IAInBqkE,EAAI8C,UAAYA,EAChB9C,EAAI4I,YAAcjtE,EAElBqkE,EAAImkC,YAAYlB,EAAYjsB,YAC5BhX,EAAIokC,eAAiBnB,EAAYhsB,iBAEjC74E,EAAS9rB,KAAK+8G,8BAA8B/mB,EAAKtK,MAAMjwC,QAAUz7C,KAAKitB,IAAMjtB,KAAK6iD,KACjFz9C,EAAWpF,KAAKs2I,iBAAiB34I,EAAGmuB,GACpC4hE,EAAI0G,YACJ1G,EAAI8G,OAAOx0F,KAAKw8G,QAASx8G,KAAKy8G,SAC9B/uB,EAAI+G,OAAOrvF,EAAS0rB,EAAG1rB,EAAS80B,GAChCwzD,EAAImH,UAGNnH,EAAIkF,qCAORm/B,sCAKAE,WAAa,WACLvkC,EAAM1tF,KAAK0tF,IACXsI,EAAOh2F,KAAKkS,QACZ60G,EAAW/wB,EAAKtK,MAEtB,GAAKq7B,EAASp8E,QAAd,CAIA,IACI7e,EAAQ5E,EADNmyF,EAAar5G,KAAK28G,cAAc,GAGtCjvB,EAAI8E,OACJ9E,EAAIwG,UAAUl0F,KAAKw8G,QAASx8G,KAAKy8G,SACjC/uB,EAAItN,OAAOi5B,GACX3rB,EAAIkJ,UAAY,SAChBlJ,EAAImJ,aAAe,SAEnB72F,KAAK0rF,MAAMj/E,SAAQ,SAACq5F,EAAMvgG,GACxB,GAAc,IAAVA,GAAgBywF,EAAKv6C,QAAzB,CAIA,IAAMk1E,EAAc5J,EAAS5sB,WAAW,EAAK/G,WAAW7tF,IAClDkpH,EAAWj2B,GAAOm4B,EAAYrjC,MAGpC,GAFAxhE,EAAS,EAAKixF,8BAA8B,EAAKrxB,MAAMnmF,GAAO1F,OAE1D8wH,EAAY7+B,kBAAmB,CACjCpE,EAAIJ,KAAOmhC,EAASjlH,OACpB0d,EAAQwmE,EAAI0E,YAAY0T,EAAKoK,OAAOhpF,MACpCwmE,EAAIiJ,UAAYg6B,EAAY5+B,cAE5B,IAAM9B,EAAUsI,GAAUo4B,EAAY3+B,iBACtCtE,EAAI8J,UACDtwE,EAAQ,EAAI+oE,EAAQliE,MACpBjC,EAAS2iG,EAASvmF,KAAO,EAAI+nD,EAAQhiE,IACtC/G,EAAQ+oE,EAAQ/oE,MAChBunG,EAASvmF,KAAO+nD,EAAQ9oE,QAI5B2uE,GAAWpI,EAAKoY,EAAKoK,MAAO,GAAIpkF,EAAQ2iG,EAAU,CAChDplG,MAAOsnG,EAAYtnG,YAIvBqkE,EAAIkF,oCAMNu/B,kBAvVmBolB,CAA0BpD,OAA1BoD,GAAAA,KAEP,mBAFOA,GAAAA,WAOD,CAChB5sG,SAAS,EAGTguG,SAAS,EACTvzI,SAAU,YAEV43G,WAAY,CACVryE,SAAS,EACT6lD,UAAW,EACXkU,WAAY,GACZC,iBAAkB,GAGpBpU,KAAM,CACJ0sB,UAAU,GAGZ5D,WAAY,EAGZ3tB,MAAO,CAELoG,mBAAmB,EAEnBp4D,SAAUg4D,GAAMnG,WAAWC,SAG7B0xB,YAAa,CACXnrB,mBAAe7wF,EAGf8wF,gBAAiB,EAGjBrnD,SAAS,EAGT2iD,KAAM,CACJplD,KAAM,IAIRxO,SAfW,SAeFw2E,GACP,OAAOA,GAITjgB,QAAS,EAGTmmD,mBAAmB,QA1DJmB,GAAAA,gBA8DI,CACrB,mBAAoB,cACpB,oBAAqB,QACrB,cAAe,aAjEEA,GAAAA,cAoEE,CACnBv6B,WAAY,CACV5tB,UAAW,UChWjB,IAAMwpD,GAAY,CAChBC,YAAa,CAACC,QAAQ,EAAM5wG,KAAM,EAAGgtG,MAAO,KAC5C6D,OAAQ,CAACD,QAAQ,EAAM5wG,KAAM,IAAMgtG,MAAO,IAC1C8D,OAAQ,CAACF,QAAQ,EAAM5wG,KAAM,IAAOgtG,MAAO,IAC3C+D,KAAM,CAACH,QAAQ,EAAM5wG,KAAM,KAASgtG,MAAO,IAC3CgE,IAAK,CAACJ,QAAQ,EAAM5wG,KAAM,MAAUgtG,MAAO,IAC3CjrH,KAAM,CAAC6uH,QAAQ,EAAO5wG,KAAM,OAAWgtG,MAAO,GAC9CzrH,MAAO,CAACqvH,QAAQ,EAAM5wG,KAAM,OAASgtG,MAAO,IAC5CiE,QAAS,CAACL,QAAQ,EAAO5wG,KAAM,OAASgtG,MAAO,GAC/CkE,KAAM,CAACN,QAAQ,EAAM5wG,KAAM,SAMvBmxG,GAA6C/6I,OAAOsH,KAAKgzI,IAM/D,SAASU,GAAO5uI,EAAGC,GACjB,OAAOD,EAAIC,EAQb,SAAS6jE,GAAM6f,EAAO32E,GACpB,GAAI4oE,GAAc5oE,GAChB,OAAO,KAGT,IAAM6hI,EAAUlrD,EAAMmrD,SACtB,EAAoCnrD,EAAMorD,WAAnCC,EAAP,EAAOA,OAAQhhF,EAAf,EAAeA,MAAOihF,EAAtB,EAAsBA,WAClB95I,EAAQ6X,EAaZ,MAXsB,oBAAXgiI,IACT75I,EAAQ65I,EAAO75I,IAIZ4gF,GAAS5gF,KACZA,EAA0B,kBAAX65I,EACXH,EAAQ/qE,MAAM3uE,EAA4B65I,GAC1CH,EAAQ/qE,MAAM3uE,IAGN,OAAVA,EACK,MAGL64D,IACF74D,EAAkB,SAAV64D,IAAqBmrB,GAAS81D,KAA8B,IAAfA,EAEjDJ,EAAQx7B,QAAQl+G,EAAO64D,GADvB6gF,EAAQx7B,QAAQl+G,EAAO,UAAW85I,KAIhC95I,GAWV,SAAS+5I,GAA0BC,EAAS5sH,EAAK41B,EAAKi3F,GAGpD,IAFA,IAAMz4D,EAAOg4D,GAAMx7I,OAEVF,EAAI07I,GAAMxiI,QAAQgjI,GAAUl8I,EAAI0jF,EAAO,IAAK1jF,EAAG,CACtD,IAAMo8I,EAAWnB,GAAUS,GAAM17I,IAC3B6oG,EAASuzC,EAAS7E,MAAQ6E,EAAS7E,MAAQv1I,OAAO82C,iBAExD,GAAIsjG,EAASjB,QAAUt8H,KAAK4uB,MAAMyX,EAAM51B,IAAQu5E,EAASuzC,EAAS7xG,QAAU4xG,EAC1E,OAAOT,GAAM17I,GAIjB,OAAO07I,GAAMh4D,EAAO,GAwCtB,SAAS24D,GAAQtuD,EAAO3hE,EAAMkwH,GAC5B,GAAKA,GAEE,GAAIA,EAAWp8I,OAAQ,CAC5B,MAAiB+nF,GAAQq0D,EAAYlwH,GAA9Bg8D,EAAP,EAAOA,GAAIhmD,EAAX,EAAWA,GAEX2rD,EADkBuuD,EAAWl0D,IAAOh8D,EAAOkwH,EAAWl0D,GAAMk0D,EAAWl6G,KACpD,QAJnB2rD,EAAM3hE,IAAQ,EAoClB,SAASmwH,GAAoB7rD,EAAO5qC,EAAQ02F,GAC1C,IAIIx8I,EAAGkC,EAJD6rF,EAAQ,GAERvyC,EAAM,GACNkoC,EAAO59B,EAAO5lD,OAGpB,IAAKF,EAAI,EAAGA,EAAI0jF,IAAQ1jF,EAEtBw7C,EADAt5C,EAAQ4jD,EAAO9lD,IACFA,EAEb+tF,EAAM1tF,KAAK,CACT6B,MAAAA,EACA+xF,OAAO,IAMX,OAAiB,IAATvQ,GAAe84D,EAxCzB,SAAuB9rD,EAAO3C,EAAOvyC,EAAKghG,GACxC,IAGIvoD,EAAOrsF,EAHLg0I,EAAUlrD,EAAMmrD,SAChB5xB,GAAS2xB,EAAQx7B,QAAQryB,EAAM,GAAG7rF,MAAOs6I,GACzC9yG,EAAOqkD,EAAMA,EAAM7tF,OAAS,GAAGgC,MAGrC,IAAK+xF,EAAQg2B,EAAOh2B,GAASvqD,EAAMuqD,GAAS2nD,EAAQpuI,IAAIymF,EAAO,EAAGuoD,IAChE50I,EAAQ4zC,EAAIy4C,KACC,IACXlG,EAAMnmF,GAAOqsF,OAAQ,GAGzB,OAAOlG,EA4BqC0uD,CAAc/rD,EAAO3C,EAAOvyC,EAAKghG,GAAzCzuD,MAGjB2uD,GAAAA,SAAAA,uBAgDnB7pI,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAGD6qG,OAAS,CACZjuF,KAAM,GACNupF,OAAQ,GACRjyC,IAAK,IAIP,EAAK29E,MAAQ,MAEb,EAAKC,gBAAar5I,EAClB,EAAKs5I,SAAW,GAChB,EAAKC,aAAc,EACnB,EAAKhB,gBAAav4I,EAhBD,iCAmBnBnB,SAAKm7H,GAAsB,IAAXllC,EAAW,uDAAJ,GACfjsE,EAAOmxG,EAAUnxG,OAASmxG,EAAUnxG,KAAO,IAE3CwvH,EAAUv5I,KAAKw5I,SAAW,IAAIkB,GAASx8B,MAAMgd,EAAUwf,SAASpxH,MAEtEiwH,EAAQx5I,KAAKi2F,GAMb/T,GAAQl4D,EAAK4wH,eAAgBpB,EAAQ17B,WAErC79G,KAAKy5I,WAAa,CAChBC,OAAQ3vH,EAAK2vH,OACbhhF,MAAO3uC,EAAK2uC,MACZihF,WAAY5vH,EAAK4vH,YAGnB,0CAAWze,GAEXl7H,KAAKy6I,YAAczkD,EAAK4kD,gCAQ1BpsE,SAAMmiC,EAAKprG,GACT,YAAYrE,IAARyvG,EACK,KAEFniC,GAAMxuE,KAAM2wG,+BAGrBqS,WACE,mDACAhjH,KAAKszG,OAAS,CACZjuF,KAAM,GACNupF,OAAQ,GACRjyC,IAAK,uCAIT2uD,WACE,IAAMp5G,EAAUlS,KAAKkS,QACfqnI,EAAUv5I,KAAKw5I,SACf/F,EAAOvhI,EAAQ6X,KAAK0pH,MAAQ,MAElC,EAAyCzzI,KAAKunF,gBAAzCt6D,EAAL,EAAKA,IAAK41B,EAAV,EAAUA,IAAK2kC,EAAf,EAAeA,WAAYC,EAA3B,EAA2BA,WAK3B,SAASozD,EAAaxqD,GACf7I,GAAe5nF,MAAMywF,EAAOpjE,OAC/BA,EAAMzQ,KAAKyQ,IAAIA,EAAKojE,EAAOpjE,MAExBw6D,GAAe7nF,MAAMywF,EAAOxtC,OAC/BA,EAAMrmC,KAAKqmC,IAAIA,EAAKwtC,EAAOxtC,MAK1B2kC,GAAeC,IAElBozD,EAAa76I,KAAK86I,mBAIK,UAAnB5oI,EAAQm+E,QAA+C,WAAzBn+E,EAAQw5E,MAAM3zE,QAC9C8iI,EAAa76I,KAAKsvG,WAAU,KAIhCriF,EAAMwzD,GAASxzD,KAASrtB,MAAMqtB,GAAOA,GAAOssH,EAAQx7B,QAAQl7F,KAAKC,MAAO2wH,GACxE5wF,EAAM49B,GAAS59B,KAASjjD,MAAMijD,GAAOA,GAAO02F,EAAQv7B,MAAMn7F,KAAKC,MAAO2wH,GAAQ,EAG9EzzI,KAAKitB,IAAMzQ,KAAKyQ,IAAIA,EAAK41B,EAAM,GAC/B7iD,KAAK6iD,IAAMrmC,KAAKqmC,IAAI51B,EAAM,EAAG41B,kCAM/Bi4F,WACE,IAAMv3I,EAAMvD,KAAK+6I,qBACb9tH,EAAMttB,OAAOojF,kBACblgC,EAAMljD,OAAOgwG,kBAMjB,OAJIpsG,EAAI1F,SACNovB,EAAM1pB,EAAI,GACVs/C,EAAMt/C,EAAIA,EAAI1F,OAAS,IAElB,CAACovB,IAAAA,EAAK41B,IAAAA,6BAMf+oE,WACE,IAAM15G,EAAUlS,KAAKkS,QACf8oI,EAAW9oI,EAAQ6X,KACnBg9F,EAAW70G,EAAQw5E,MACnBuuD,EAAiC,WAApBlzB,EAAShvG,OAAsB/X,KAAK+6I,qBAAuB/6I,KAAKi7I,YAE5D,UAAnB/oI,EAAQm+E,QAAsB4pD,EAAWp8I,SAC3CmC,KAAKitB,IAAMjtB,KAAKkqH,UAAY+vB,EAAW,GACvCj6I,KAAK6iD,IAAM7iD,KAAKiqH,UAAYgwB,EAAWA,EAAWp8I,OAAS,IAG7D,IAAMovB,EAAMjtB,KAAKitB,IAGXy+D,E3D1SH,SAAwBjoC,EAAkBx2B,EAAa41B,GAI5D,IAHA,IAAIh2B,EAAQ,EACRC,EAAM22B,EAAO5lD,OAEVgvB,EAAQC,GAAO22B,EAAO52B,GAASI,GACpCJ,IAEF,KAAOC,EAAMD,GAAS42B,EAAO32B,EAAM,GAAK+1B,GACtC/1B,IAGF,OAAOD,EAAQ,GAAKC,EAAM22B,EAAO5lD,OAC7B4lD,EAAO9iD,MAAMksB,EAAOC,GACpB22B,E2D6RYy3F,CAAejB,EAAYhtH,EAF7BjtB,KAAK6iD,KAkBjB,OAXA7iD,KAAKs6I,MAAQU,EAASvH,OAAS1sB,EAASx1B,SACpCqoD,GAA0BoB,EAASnB,QAAS75I,KAAKitB,IAAKjtB,KAAK6iD,IAAK7iD,KAAKm7I,kBAAkBluH,IArR/F,SAAoCohE,EAAO4+B,EAAU4sB,EAAS5sH,EAAK41B,GACjE,IAAK,IAAIllD,EAAI07I,GAAMx7I,OAAS,EAAGF,GAAK07I,GAAMxiI,QAAQgjI,GAAUl8I,IAAK,CAC/D,IAAM81I,EAAO4F,GAAM17I,GACnB,GAAIi7I,GAAUnF,GAAMqF,QAAUzqD,EAAMmrD,SAAS17B,KAAKj7D,EAAK51B,EAAKwmH,IAASxmB,EAAW,EAC9E,OAAOwmB,EAIX,OAAO4F,GAAMQ,EAAUR,GAAMxiI,QAAQgjI,GAAW,GA8Q1CuB,CAA2Bp7I,KAAM0rF,EAAM7tF,OAAQm9I,EAASnB,QAAS75I,KAAKitB,IAAKjtB,KAAK6iD,MACpF7iD,KAAKu6I,WAAcxzB,EAASn1B,MAAM61B,SAA0B,SAAfznH,KAAKs6I,MAxQtD,SAA4B7G,GAC1B,IAAK,IAAI91I,EAAI07I,GAAMxiI,QAAQ48H,GAAQ,EAAGpyD,EAAOg4D,GAAMx7I,OAAQF,EAAI0jF,IAAQ1jF,EACrE,GAAIi7I,GAAUS,GAAM17I,IAAIm7I,OACtB,OAAOO,GAAM17I,GAsQX09I,CAAmBr7I,KAAKs6I,YADyCp5I,EAErElB,KAAKs7I,YAAYrB,GAEb/nI,EAAQupC,SACViwC,EAAMjwC,UAGDy+F,GAAoBl6I,KAAM0rF,EAAO1rF,KAAKu6I,yCAG/CpuB,WAGMnsH,KAAKkS,QAAQqpI,qBACfv7I,KAAKs7I,YAAYt7I,KAAK0rF,MAAMvyC,KAAI2sD,SAAAA,GAAAA,OAASA,EAAKjmG,qCAYlDy7I,WAA6B,IAGvB1zB,EAAOvgF,EAHD4yG,EAAiB,uDAAJ,GACnBptH,EAAQ,EACRC,EAAM,EAGN9sB,KAAKkS,QAAQ4Z,QAAUmuH,EAAWp8I,SACpC+pH,EAAQ5nH,KAAKw7I,mBAAmBvB,EAAW,IAEzCptH,EADwB,IAAtBotH,EAAWp8I,OACL,EAAI+pH,GAEH5nH,KAAKw7I,mBAAmBvB,EAAW,IAAMryB,GAAS,EAE7DvgF,EAAOrnC,KAAKw7I,mBAAmBvB,EAAWA,EAAWp8I,OAAS,IAE5DivB,EADwB,IAAtBmtH,EAAWp8I,OACPwpC,GAECA,EAAOrnC,KAAKw7I,mBAAmBvB,EAAWA,EAAWp8I,OAAS,KAAO,GAGhF,IAAM6yH,EAAQupB,EAAWp8I,OAAS,EAAI,GAAM,IAC5CgvB,EAAQ64D,GAAY74D,EAAO,EAAG6jG,GAC9B5jG,EAAM44D,GAAY54D,EAAK,EAAG4jG,GAE1B1wH,KAAKw6I,SAAW,CAAC3tH,MAAAA,EAAOC,IAAAA,EAAK05E,OAAQ,GAAK35E,EAAQ,EAAIC,6BAUxDmuH,WACE,IAYIlxH,EAAMrnB,EAZJ62I,EAAUv5I,KAAKw5I,SACfvsH,EAAMjtB,KAAKitB,IACX41B,EAAM7iD,KAAK6iD,IACX3wC,EAAUlS,KAAKkS,QACf8oI,EAAW9oI,EAAQ6X,KAEnB4nE,EAAQqpD,EAASvH,MAAQmG,GAA0BoB,EAASnB,QAAS5sH,EAAK41B,EAAK7iD,KAAKm7I,kBAAkBluH,IACtG0nH,EAAWh0D,GAAezuE,EAAQw5E,MAAMipD,SAAU,GAClD8G,EAAoB,SAAV9pD,GAAmBqpD,EAASrB,WACtC+B,EAAa73D,GAAS43D,KAAwB,IAAZA,EAClC/vD,EAAQ,GACVk8B,EAAQ36F,EAYZ,GARIyuH,IACF9zB,GAAS2xB,EAAQx7B,QAAQ6J,EAAO,UAAW6zB,IAI7C7zB,GAAS2xB,EAAQx7B,QAAQ6J,EAAO8zB,EAAa,MAAQ/pD,GAGjD4nD,EAAQz7B,KAAKj7D,EAAK51B,EAAK0kE,GAAS,IAASgjD,EAC3C,MAAM,IAAInyI,MAAMyqB,EAAM,QAAU41B,EAAM,uCAAyC8xF,EAAW,IAAMhjD,GAGlG,IAAMsoD,EAAsC,SAAzB/nI,EAAQw5E,MAAM3zE,QAAqB/X,KAAK27I,oBAC3D,IAAK5xH,EAAO69F,EAAOllH,EAAQ,EAAGqnB,EAAO84B,EAAK94B,GAAQwvH,EAAQpuI,IAAI4e,EAAM4qH,EAAUhjD,GAAQjvF,IACpFs3I,GAAQtuD,EAAO3hE,EAAMkwH,GAQvB,OALIlwH,IAAS84B,GAA0B,UAAnB3wC,EAAQm+E,QAAgC,IAAV3tF,GAChDs3I,GAAQtuD,EAAO3hE,EAAMkwH,GAIhB37I,OAAOsH,KAAK8lF,GAAO7iC,MAAK,SAACn+C,EAAGC,GAAJ,OAAUD,EAAIC,KAAGwuC,KAAIroB,SAAAA,GAAAA,OAAMA,qCAO5Dq/E,SAAiBtwG,GACf,IAAM05I,EAAUv5I,KAAKw5I,SACfwB,EAAWh7I,KAAKkS,QAAQ6X,KAE9B,OAAIixH,EAASY,cACJrC,EAAQjuD,OAAOzrF,EAAOm7I,EAASY,eAEjCrC,EAAQjuD,OAAOzrF,EAAOm7I,EAASL,eAAepxH,gCAQvD+hE,SAAOzrF,EAAOyrF,GACZ,IACMuyB,EADU79G,KAAKkS,QACG6X,KAAK4wH,eACvBlH,EAAOzzI,KAAKs6I,MACZuB,EAAMvwD,GAAUuyB,EAAQ41B,GAC9B,OAAOzzI,KAAKw5I,SAASluD,OAAOzrF,EAAOg8I,sCAYrCC,SAAoB/xH,EAAMxkB,EAAOmmF,EAAOJ,GACtC,IAAMp5E,EAAUlS,KAAKkS,QACfg5E,EAAYh5E,EAAQw5E,MAAMhyD,SAEhC,GAAIwxD,EACF,OAAOzsF,GAAKysF,EAAW,CAACnhE,EAAMxkB,EAAOmmF,GAAQ1rF,MAG/C,IAAM69G,EAAU3rG,EAAQ6X,KAAK4wH,eACvBlH,EAAOzzI,KAAKs6I,MACZH,EAAYn6I,KAAKu6I,WACjBwB,EAActI,GAAQ51B,EAAQ41B,GAC9BuI,EAAc7B,GAAat8B,EAAQs8B,GACnCr0C,EAAOpa,EAAMnmF,GACbqsF,EAAQuoD,GAAa6B,GAAel2C,GAAQA,EAAKlU,MAEvD,OAAO5xF,KAAKw5I,SAASluD,OAAOvhE,EAAMuhE,IAAWsG,EAAQoqD,EAAcD,sCAMrEjvB,SAAmBphC,GACjB,IAAI/tF,EAAG0jF,EAAMykB,EAEb,IAAKnoG,EAAI,EAAG0jF,EAAOqK,EAAM7tF,OAAQF,EAAI0jF,IAAQ1jF,GAC3CmoG,EAAOpa,EAAM/tF,IACRuyG,MAAQlwG,KAAK87I,oBAAoBh2C,EAAKjmG,MAAOlC,EAAG+tF,qCAQzD8vD,SAAmB37I,GACjB,OAAiB,OAAVA,EAAiBwvG,KAAOxvG,EAAQG,KAAKitB,MAAQjtB,KAAK6iD,IAAM7iD,KAAKitB,qCAOtEy6D,SAAiB7nF,GACf,IAAMo8I,EAAUj8I,KAAKw6I,SACfr7C,EAAMn/F,KAAKw7I,mBAAmB37I,GACpC,OAAOG,KAAKm3G,oBAAoB8kC,EAAQpvH,MAAQsyE,GAAO88C,EAAQz1C,wCAOjE6Q,SAAiBtkB,GACf,IAAMkpD,EAAUj8I,KAAKw6I,SACfr7C,EAAMn/F,KAAKqvH,mBAAmBt8B,GAASkpD,EAAQz1C,OAASy1C,EAAQnvH,IACtE,OAAO9sB,KAAKitB,IAAMkyE,GAAOn/F,KAAK6iD,IAAM7iD,KAAKitB,kCAQ3CivH,SAAchsC,GACZ,IAAMisC,EAAYn8I,KAAKkS,QAAQw5E,MACzB0wD,EAAiBp8I,KAAK0tF,IAAI0E,YAAY8d,GAAOhpF,MAC7C09D,EAAQb,GAAU/jF,KAAKw1G,eAAiB2mC,EAAUhrD,YAAcgrD,EAAUjrD,aAC1EmrD,EAAc7/H,KAAK+sE,IAAI3E,GACvB03D,EAAc9/H,KAAK+rE,IAAI3D,GACvB23D,EAAev8I,KAAKivH,wBAAwB,GAAG/mF,KAErD,MAAO,CACL3lC,EAAI65I,EAAiBC,EAAgBE,EAAeD,EACpD9sI,EAAI4sI,EAAiBE,EAAgBC,EAAeF,oCASxDlB,SAAkBqB,GAChB,IAAMxB,EAAWh7I,KAAKkS,QAAQ6X,KACxB4wH,EAAiBK,EAASL,eAG1BrvD,EAASqvD,EAAeK,EAASvH,OAASkH,EAAe9B,YACzD4D,EAAez8I,KAAK87I,oBAAoBU,EAAa,EAAGtC,GAAoBl6I,KAAM,CAACw8I,GAAcx8I,KAAKu6I,YAAajvD,GACnHpjD,EAAOloC,KAAKk8I,cAAcO,GAG1B3C,EAAWt9H,KAAKmsC,MAAM3oD,KAAKw1G,eAAiBx1G,KAAKknB,MAAQghB,EAAK3lC,EAAIvC,KAAKmnB,OAAS+gB,EAAK14B,GAAK,EAChG,OAAOsqI,EAAW,EAAIA,EAAW,mCAMnC6B,WACE,IACIh+I,EAAG0jF,EADH44D,EAAaj6I,KAAKszG,OAAOjuF,MAAQ,GAGrC,GAAI40H,EAAWp8I,OACb,OAAOo8I,EAGT,IAAMvvB,EAAQ1qH,KAAKkqG,0BAEnB,GAAIlqG,KAAKy6I,aAAe/vB,EAAM7sH,OAC5B,OAAQmC,KAAKszG,OAAOjuF,KAAOqlG,EAAM,GAAGtgB,WAAW2F,mBAAmB/vG,MAGpE,IAAKrC,EAAI,EAAG0jF,EAAOqpC,EAAM7sH,OAAQF,EAAI0jF,IAAQ1jF,EAC3Cs8I,EAAaA,EAAWx6I,OAAOirH,EAAM/sH,GAAGysG,WAAW2F,mBAAmB/vG,OAGxE,OAAQA,KAAKszG,OAAOjuF,KAAOrlB,KAAK4iG,UAAUq3C,qCAM5Cc,WACE,IACIp9I,EAAG0jF,EADD44D,EAAaj6I,KAAKszG,OAAO1E,QAAU,GAGzC,GAAIqrC,EAAWp8I,OACb,OAAOo8I,EAGT,IAAMrrC,EAAS5uG,KAAK6uG,YACpB,IAAKlxG,EAAI,EAAG0jF,EAAOutB,EAAO/wG,OAAQF,EAAI0jF,IAAQ1jF,EAC5Cs8I,EAAWj8I,KAAKwwE,GAAMxuE,KAAM4uG,EAAOjxG,KAGrC,OAAQqC,KAAKszG,OAAO1E,OAAS5uG,KAAKy6I,YAAcR,EAAaj6I,KAAK4iG,UAAUq3C,4BAO9Er3C,SAAUn/C,GAER,OAAO6iC,GAAa7iC,EAAOoF,KAAKywF,WA1dfe,CAAkBhxB,IC3LvC,SAASnpC,GAAY2F,EAAOhsC,EAAK4B,GAC/B,IAEIihG,EAAYC,EAAYC,EAAYC,EAFpC92D,EAAK,EACLhmD,EAAK8lD,EAAMhoF,OAAS,EAExB,GAAI49C,EAAS,CACX,GAAI5B,GAAOgsC,EAAME,GAAIoZ,KAAOtlD,GAAOgsC,EAAM9lD,GAAIo/D,IAAK,OACpCnZ,GAAaH,EAAO,MAAOhsC,GAArCksC,EAD8C,EAC9CA,GAAIhmD,EAD0C,EAC1CA,GAFG,MAI4B8lD,EAAME,GAAtC22D,EAJI,EAITv9C,IAAuBy9C,EAJd,EAIQ7yH,KAJR,MAK4B87D,EAAM9lD,GAAtC48G,EALI,EAKTx9C,IAAuB09C,EALd,EAKQ9yH,SACd,CACL,GAAI8vB,GAAOgsC,EAAME,GAAIh8D,MAAQ8vB,GAAOgsC,EAAM9lD,GAAIhW,KAAM,OACtCi8D,GAAaH,EAAO,OAAQhsC,GAAtCksC,EADgD,EAChDA,GAAIhmD,EAD4C,EAC5CA,GAFH,MAIkC8lD,EAAME,GAArC22D,EAJH,EAIH3yH,KAAuB6yH,EAJpB,EAIez9C,IAJf,MAKkCtZ,EAAM9lD,GAArC48G,EALH,EAKH5yH,KAAuB8yH,EALpB,EAKe19C,IAGtB,IAAM29C,EAAOH,EAAaD,EAC1B,OAAOI,EAAOF,GAAcC,EAAaD,IAAe/iG,EAAM6iG,GAAcI,EAAOF,KDwKhEvC,GAAAA,KAEP,WAFOA,GAAAA,WAOD,CAQhBhqD,OAAQ,OAERqqD,SAAU,GACV3wH,KAAM,CACJ2vH,QAAQ,EACRjG,MAAM,EACN/6E,OAAO,EACPihF,YAAY,EACZE,QAAS,cACTc,eAAgB,IAElBjvD,MAAO,CASL3zE,OAAQ,OAER2hB,UAAU,EAEVk4D,MAAO,CACL61B,SAAS,UC7MXs1B,GAAAA,SAAAA,uBAYJvsI,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAGDu0I,OAAS,GAEd,EAAKC,aAAU/7I,EAEf,EAAKg8I,iBAAch8I,EARF,wCAcnBo6I,WACE,IAAMrB,EAAaj6I,KAAKm9I,yBAClBt3D,EAAQ7lF,KAAKg9I,OAASh9I,KAAKo9I,iBAAiBnD,GAClDj6I,KAAKi9I,QAAU/8D,GAAY2F,EAAO7lF,KAAKitB,KACvCjtB,KAAKk9I,YAAch9D,GAAY2F,EAAO7lF,KAAK6iD,KAAO7iD,KAAKi9I,QACvD,iDAAkBhD,mCAcpBmD,SAAiBnD,GACf,IAGIt8I,EAAG0jF,EAAMpqC,EAAMo8D,EAAM/6E,EAHlBrL,EAAYjtB,KAAZitB,IAAK41B,EAAO7iD,KAAP6iD,IACN0jC,EAAQ,GACRV,EAAQ,GAGd,IAAKloF,EAAI,EAAG0jF,EAAO44D,EAAWp8I,OAAQF,EAAI0jF,IAAQ1jF,GAChD01G,EAAO4mC,EAAWt8I,KACNsvB,GAAOomF,GAAQxwD,GACzB0jC,EAAMvoF,KAAKq1G,GAIf,GAAI9sB,EAAM1oF,OAAS,EAEjB,MAAO,CACL,CAACksB,KAAMkD,EAAKkyE,IAAK,GACjB,CAACp1E,KAAM84B,EAAKs8C,IAAK,IAIrB,IAAKxhG,EAAI,EAAG0jF,EAAOkF,EAAM1oF,OAAQF,EAAI0jF,IAAQ1jF,EAC3C26B,EAAOiuD,EAAM5oF,EAAI,GACjBs5C,EAAOsvC,EAAM5oF,EAAI,GACjB01G,EAAO9sB,EAAM5oF,GAGT6e,KAAKk8C,OAAOpgC,EAAO2e,GAAQ,KAAOo8D,GACpCxtB,EAAM7nF,KAAK,CAAC+rB,KAAMspF,EAAMlU,IAAKxhG,GAAK0jF,EAAO,KAG7C,OAAOwE,wCAQTs3D,WACE,IAAIlD,EAAaj6I,KAAKszG,OAAO32C,KAAO,GAEpC,GAAIs9E,EAAWp8I,OACb,OAAOo8I,EAGT,IAAM50H,EAAOrlB,KAAK27I,oBACZzrC,EAAQlwG,KAAK+6I,qBAUnB,OANEd,EAHE50H,EAAKxnB,QAAUqyG,EAAMryG,OAGVmC,KAAK4iG,UAAUv9E,EAAK5lB,OAAOywG,IAE3B7qF,EAAKxnB,OAASwnB,EAAO6qF,EAEpC+pC,EAAaj6I,KAAKszG,OAAO32C,IAAMs9E,oCASjCuB,SAAmB37I,GACjB,OAAQqgF,GAAYlgF,KAAKg9I,OAAQn9I,GAASG,KAAKi9I,SAAWj9I,KAAKk9I,4CAOjE7lC,SAAiBtkB,GACf,IAAMkpD,EAAUj8I,KAAKw6I,SACfprB,EAAUpvH,KAAKqvH,mBAAmBt8B,GAASkpD,EAAQz1C,OAASy1C,EAAQnvH,IAC1E,OAAOozD,GAAYlgF,KAAKg9I,OAAQ5tB,EAAUpvH,KAAKk9I,YAAcl9I,KAAKi9I,SAAS,SAxHzEF,CAAwB1C,OAAxB0C,GAAAA,KAEQ,iBAFRA,GAAAA,WAOc1C,GAAUhrD,iBClChB/wF,OAAO4D,OAAO,MCNrB,SAASU,KACd,GAAID,SAAWA,QAAQC,KAAM,CAG3B,IAFA,IAAIy6I,EAEKC,EAAO1/I,UAAUC,OAAQuB,EAAO,IAAInB,MAAMq/I,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/En+I,EAAKm+I,GAAQ3/I,UAAU2/I,GAGF,kBAAZn+I,EAAK,KAAiBA,EAAK,GAAK,mBAAmBK,OAAOL,EAAK,MAEzEi+I,EAAW16I,SAASC,KAAKxE,MAAMi/I,EAAUj+I,IAG9C,IAAIo+I,GAAgB,GACb,SAASC,KACd,IAAK,IAAIC,EAAQ9/I,UAAUC,OAAQuB,EAAO,IAAInB,MAAMy/I,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFv+I,EAAKu+I,GAAS//I,UAAU+/I,GAGH,kBAAZv+I,EAAK,IAAmBo+I,GAAcp+I,EAAK,MAC/B,kBAAZA,EAAK,KAAiBo+I,GAAcp+I,EAAK,IAAM,IAAIyjB,MAC9DjgB,GAAKxE,WAAM,EAAQgB,IAEd,SAASw+I,GAAeC,EAAMz3E,EAAIv0D,GACvCgsI,EAAKD,eAAex3E,GAAI,WACtB,GAAIy3E,EAAKC,cACPjsI,QACK,CAQLgsI,EAAK98I,GAAG,eAPU,SAASg9I,IACzBxrH,YAAW,WACTsrH,EAAKn4I,IAAI,cAAeq4I,KACvB,GACHlsI,WAQR,SAASmsI,GAA6B53E,EAAIy3E,GACxC,IAAI3rI,EAAUtU,UAAUC,OAAS,QAAsBqD,IAAjBtD,UAAU,GAAmBA,UAAU,GAAK,GAC9EqgJ,EAAMJ,EAAKK,UAAU,GACrBC,IAAcN,EAAK3rI,SAAU2rI,EAAK3rI,QAAQisI,YAC1CC,EAAUP,EAAKK,UAAUL,EAAKK,UAAUrgJ,OAAS,GACrD,GAA0B,WAAtBogJ,EAAIvxI,cAA4B,OAAO,EAE3C,IAAI2xI,EAAiB,SAAwB9uI,EAAG3L,GAC9C,IAAI06I,EAAYT,EAAKU,SAASC,iBAAiBv7I,MAAM,GAAGxD,OAAO8P,EAAG,KAAK9P,OAAOmE,IAC9E,OAAsB,IAAf06I,GAAkC,IAAdA,GAG7B,QAAIpsI,EAAQusI,UAAYvsI,EAAQusI,SAAS5nI,QAAQ,qBAAuB,GAAKgnI,EAAKU,SAASC,iBAAiBE,SAAWb,EAAKc,uBAAyBN,EAAeR,EAAKc,qBAAsBv4E,QAC3Ly3E,EAAKe,kBAAkBX,EAAK73E,OAC3By3E,EAAKU,SAASC,iBAAiBE,WAAWb,EAAK3rI,QAAQ2sI,WAAchB,EAAK3rI,QAAQ4sI,8BACnFT,EAAeJ,EAAK73E,IAAS+3E,IAAeE,EAAeD,EAASh4E,MAInE,SAAS24E,GAAmB34E,EAAIy3E,GACrC,IAAI3rI,EAAUtU,UAAUC,OAAS,QAAsBqD,IAAjBtD,UAAU,GAAmBA,UAAU,GAAK,GAElF,IAAKigJ,EAAKK,YAAcL,EAAKK,UAAUrgJ,OAErC,OADA4/I,GAAS,yCAA0CI,EAAKK,YACjD,EAGT,IAAIc,OAAsD99I,IAArC28I,EAAK3rI,QAAQ+sI,oBAElC,OAAKD,EAIEnB,EAAKkB,mBAAmB34E,EAAI,CACjC84E,SAAU,SAAkBC,EAAcd,GACxC,GAAInsI,EAAQusI,UAAYvsI,EAAQusI,SAAS5nI,QAAQ,qBAAuB,GAAKsoI,EAAaZ,SAASC,iBAAiBE,SAAWS,EAAaR,uBAAyBN,EAAec,EAAaR,qBAAsBv4E,GAAK,OAAO,KAL9N43E,GAA6B53E,EAAIy3E,EAAM3rI,GCtElD,IAAIktI,GAAkB,oGAClBC,GAAe,CACjB,QAAS,IACT,QAAS,IACT,OAAQ,IACR,QAAS,IACT,OAAQ,IACR,QAAS,IACT,SAAU,IACV,QAAS,IACT,SAAU,IACV,QAAS,IACT,SAAU,IACV,SAAU,IACV,SAAU,OACV,SAAU,OACV,QAAS,OACT,SAAU,OACV,WAAY,SACZ,UAAW,SACX,SAAU,IACV,QAAS,KAGPC,GAAqB,SAA4Bx9I,GACnD,OAAOu9I,GAAav9I,ICvBtB,SAASxC,GAAQiK,EAAQipE,GAAkB,IAAI5sE,EAAOtH,OAAOsH,KAAK2D,GAAS,GAAIjL,OAAOiB,sBAAuB,CAAE,IAAIkzE,EAAUn0E,OAAOiB,sBAAsBgK,GAAaipE,IAAkBC,EAAUA,EAAQ51B,QAAO,SAAU61B,GAAO,OAAOp0E,OAAOmJ,yBAAyB8B,EAAQmpE,GAAKxuE,eAAkB0B,EAAK5H,KAAKI,MAAMwH,EAAM6sE,GAAY,OAAO7sE,EAElV,SAAS25I,GAAcrgJ,GAAU,IAAK,IAAIvB,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIoa,EAAyB,MAAhBna,UAAUD,GAAaC,UAAUD,GAAK,GAAQA,EAAI,EAAK2B,GAAQhB,OAAOyZ,IAAS,GAAMtL,SAAQ,SAAUjO,GAAOghJ,GAAgBtgJ,EAAQV,EAAKuZ,EAAOvZ,OAAsBF,OAAOq0E,0BAA6Br0E,OAAOs0E,iBAAiB1zE,EAAQZ,OAAOq0E,0BAA0B56D,IAAmBzY,GAAQhB,OAAOyZ,IAAStL,SAAQ,SAAUjO,GAAOF,OAAO2F,eAAe/E,EAAQV,EAAKF,OAAOmJ,yBAAyBsQ,EAAQvZ,OAAe,OAAOU,EAG7gB,IAAIugJ,GAAiB,CACnBhB,SAAU,kBACViB,cAAe,GACfC,oBAAqB,GACrBC,4BAA4B,EAC5BC,mBAAoB,GACpBC,2BAA4B,CAAC,KAAM,SAAU,IAAK,KAClDC,aAAa,EACbC,SDaoB,SAAkBl2H,GACtC,OAAOA,EAAKxc,QAAQ8xI,GAAiBE,MCRhC,SAASW,KACd,OAAOR,GCnBT,ICHIN,GAIG,SAASe,KACd,OAAOf,GCHF,IAAIgB,GAAmB,CAC5Bv+I,KAAM,WACN7B,KAAM,SAAckwB,IHaf,WACL,IAAI/d,EAAUtU,UAAUC,OAAS,QAAsBqD,IAAjBtD,UAAU,GAAmBA,UAAU,GAAK,GAClF6hJ,GAAiBF,GAAcA,GAAc,GAAIE,IAAiBvtI,GGdhEkuI,CAAYnwH,EAAS/d,QAAQmuI,ODJ1B,SAAiBpwH,GACtBkvH,GAAelvH,ECIbqwH,CAAQrwH,KCOL,IAAIswH,IAAcziF,EAAAA,EAAAA,iBACd0iF,GAAmB,WAC5B,SAASA,IACPC,EAAgBzgJ,KAAMwgJ,GAEtBxgJ,KAAK0gJ,eAAiB,GAmBxB,OAhBAC,GAAaH,EAAkB,CAAC,CAC9BhiJ,IAAK,oBACLqB,MAAO,SAA2B+gJ,GAChC,IAAIC,EAAQ7gJ,KAEZ4gJ,EAAWn0I,SAAQ,SAAU25D,GACtBy6E,EAAMH,eAAet6E,KAAKy6E,EAAMH,eAAet6E,IAAM,QAG7D,CACD5nE,IAAK,oBACLqB,MAAO,WACL,OAAOvB,OAAOsH,KAAK5F,KAAK0gJ,oBAIrBF,EAvBqB,GCV9B,SAASlhJ,GAAQiK,EAAQipE,GAAkB,IAAI5sE,EAAOtH,OAAOsH,KAAK2D,GAAS,GAAIjL,OAAOiB,sBAAuB,CAAE,IAAIkzE,EAAUn0E,OAAOiB,sBAAsBgK,GAAaipE,IAAkBC,EAAUA,EAAQ51B,QAAO,SAAU61B,GAAO,OAAOp0E,OAAOmJ,yBAAyB8B,EAAQmpE,GAAKxuE,eAAkB0B,EAAK5H,KAAKI,MAAMwH,EAAM6sE,GAAY,OAAO7sE,EAElV,SAAS25I,GAAcrgJ,GAAU,IAAK,IAAIvB,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIoa,EAAyB,MAAhBna,UAAUD,GAAaC,UAAUD,GAAK,GAAQA,EAAI,EAAK2B,GAAQhB,OAAOyZ,IAAS,GAAMtL,SAAQ,SAAUjO,GAAOghJ,GAAgBtgJ,EAAQV,EAAKuZ,EAAOvZ,OAAsBF,OAAOq0E,0BAA6Br0E,OAAOs0E,iBAAiB1zE,EAAQZ,OAAOq0E,0BAA0B56D,IAAmBzY,GAAQhB,OAAOyZ,IAAStL,SAAQ,SAAUjO,GAAOF,OAAO2F,eAAe/E,EAAQV,EAAKF,OAAOmJ,yBAAyBsQ,EAAQvZ,OAAe,OAAOU,EAM7gB,IAAI4hJ,GAAc,SAAqBjhJ,EAAOkhJ,GAC5C,IAAI/kH,GAAM0G,EAAAA,EAAAA,UAIV,OAHAN,EAAAA,EAAAA,YAAU,WACRpG,EAAIphB,QAAUmmI,EAAS/kH,EAAIphB,QAAU/a,IACpC,CAACA,EAAOkhJ,IACJ/kH,EAAIphB,SAGN,SAASomI,GAAe56E,GAC7B,IAAI39D,EAAQ7K,UAAUC,OAAS,QAAsBqD,IAAjBtD,UAAU,GAAmBA,UAAU,GAAK,GAC5EqjJ,EAAgBx4I,EAAMo1I,KAEtBqD,GAAO/+G,EAAAA,EAAAA,YAAWo+G,KAAgB,GAClCY,EAAkBD,EAAKrD,KACvBuD,EAAuBF,EAAKG,UAE5BxD,EAAOoD,GAAiBE,GAAmBjB,KAG/C,GAFIrC,IAASA,EAAKyD,mBAAkBzD,EAAKyD,iBAAmB,IAAId,KAE3D3C,EAAM,CACTJ,GAAS,0EAET,IAAI8D,EAAY,SAAmB9xI,EAAG+xI,GACpC,MAAkC,kBAAvBA,EAAwCA,EAC/CA,GAAsD,WAAhCphF,EAAQohF,IAA+E,kBAApCA,EAAmBnwI,aAAkCmwI,EAAmBnwI,aAC9IpT,MAAMC,QAAQuR,GAAKA,EAAEA,EAAE5R,OAAS,GAAK4R,GAG1CgyI,EAAc,CAACF,EAAW,IAAI,GAIlC,OAHAE,EAAY7wH,EAAI2wH,EAChBE,EAAY5D,KAAO,GACnB4D,EAAYC,OAAQ,EACbD,EAGL5D,EAAK3rI,QAAQmuI,YAAqCn/I,IAA5B28I,EAAK3rI,QAAQmuI,MAAM14C,MAAoB81C,GAAS,uGAE1E,IAAIkE,EAAcpC,GAAcA,GAAcA,GAAc,GAAIU,MAAgBpC,EAAK3rI,QAAQmuI,OAAQ53I,GAEjGs3I,EAAc4B,EAAY5B,YAC1B6B,EAAYD,EAAYC,UACxBhB,EAAax6E,GAAMg7E,GAAwBvD,EAAK3rI,SAAW2rI,EAAK3rI,QAAQmvI,UAC5ET,EAAmC,kBAAfA,EAA0B,CAACA,GAAcA,GAAc,CAAC,eACxE/C,EAAKyD,iBAAiBO,mBAAmBhE,EAAKyD,iBAAiBO,kBAAkBjB,GACrF,IAAIc,GAAS7D,EAAKC,eAAiBD,EAAKiE,uBAAyBlB,EAAWt7F,OAAM,SAAU1hD,GAC1F,OAAOm7I,GAAmBn7I,EAAGi6I,EAAM8D,MAGrC,SAASI,IACP,OAAOlE,EAAKmE,UAAU,KAA6B,aAAvBL,EAAYM,OAAwBrB,EAAaA,EAAW,GAAIgB,GAG9F,IAAIM,GAAYv/G,EAAAA,EAAAA,UAASo/G,GACrBI,EAAaC,EAAeF,EAAW,GACvCtxH,EAAIuxH,EAAW,GACfE,EAAOF,EAAW,GAElBG,EAAW1B,EAAWliJ,OACtB6jJ,EAAmBzB,GAAYwB,GAC/B5nH,GAAYgI,EAAAA,EAAAA,SAAO,IACvBN,EAAAA,EAAAA,YAAU,WACR,IAAIq8G,EAAWkD,EAAYlD,SACvBiB,EAAgBiC,EAAYjC,cAahC,SAAS8C,IACH9nH,EAAU9f,SAASynI,EAAKN,GAK9B,OAlBArnH,EAAU9f,SAAU,EAEf8mI,GAAU3B,GACbnC,GAAeC,EAAM+C,GAAY,WAC3BlmH,EAAU9f,SAASynI,EAAKN,MAI5BL,GAASa,GAAoBA,IAAqBD,GAAY5nH,EAAU9f,SAC1EynI,EAAKN,GAOHtD,GAAYZ,GAAMA,EAAK98I,GAAG09I,EAAU+D,GACpC9C,GAAiB7B,GAAMA,EAAK4E,MAAM1hJ,GAAG2+I,EAAe8C,GACjD,WACL9nH,EAAU9f,SAAU,EAChB6jI,GAAYZ,GAAMY,EAASjyI,MAAM,KAAKC,SAAQ,SAAUtE,GAC1D,OAAO01I,EAAKn4I,IAAIyC,EAAGq6I,MAEjB9C,GAAiB7B,GAAM6B,EAAclzI,MAAM,KAAKC,SAAQ,SAAUtE,GACpE,OAAO01I,EAAK4E,MAAM/8I,IAAIyC,EAAGq6I,SAG5B,CAAC3E,EAAMyE,IACV,IAAII,GAAYhgH,EAAAA,EAAAA,SAAO,IACvBN,EAAAA,EAAAA,YAAU,WACJ1H,EAAU9f,UAAY8nI,EAAU9nI,SAClCynI,EAAKN,GAGPW,EAAU9nI,SAAU,IACnB,CAACijI,EAAM+D,IACV,IAAIp+I,EAAM,CAACotB,EAAGitH,EAAM6D,GAIpB,GAHAl+I,EAAIotB,EAAIA,EACRptB,EAAIq6I,KAAOA,EACXr6I,EAAIk+I,MAAQA,EACRA,EAAO,OAAOl+I,EAClB,IAAKk+I,IAAU3B,EAAa,OAAOv8I,EACnC,MAAM,IAAIpD,SAAQ,SAAUC,GAC1Bu9I,GAAeC,EAAM+C,GAAY,WAC/BvgJ,UC9GC,cCDPsiJ,GAAAA,SAAiB5gB,GAAYsM,GAAStH,ICDtC4b,GAAAA,SAAiB5gB,GAAYsM,GAAStH,GAAQ2L,GAAemC,GAAavO,IAG1E,6CCNA,GAFa/jG,EAAAA,gBCDE,SAAS,KAEtB,GAAsB,WACpB,OAAO3jC,GAET,IAAIA,EAAU,GACZ2hE,EAAKjiE,OAAOC,UACZhB,EAASgjE,EAAG/iE,eACZyG,EAAiB3F,OAAO2F,gBAAkB,SAAUm0C,EAAK55C,EAAKiwD,GAC5DrW,EAAI55C,GAAOiwD,EAAK5uD,OAElB2gE,EAAU,mBAAqB7yD,OAASA,OAAS,GACjD8yD,EAAiBD,EAAQ9xD,UAAY,aACrCgyD,EAAsBF,EAAQG,eAAiB,kBAC/CC,EAAoBJ,EAAQK,aAAe,gBAC7C,SAASC,EAAO1oB,EAAK55C,EAAKqB,GACxB,OAAOvB,OAAO2F,eAAem0C,EAAK55C,EAAK,CACrCqB,MAAOA,EACPqE,YAAY,EACZuM,cAAc,EACdswD,UAAU,IACR3oB,EAAI55C,GAEV,IACEsiE,EAAO,GAAI,IACX,MAAOtgE,GACPsgE,EAAS,SAAgB1oB,EAAK55C,EAAKqB,GACjC,OAAOu4C,EAAI55C,GAAOqB,GAGtB,SAASmhE,EAAKC,EAASC,EAASC,EAAMC,GACpC,IAAIC,EAAiBH,GAAWA,EAAQ3iE,qBAAqB+iE,EAAYJ,EAAUI,EACjFC,EAAYjjE,OAAO4D,OAAOm/D,EAAe9iE,WACzCsG,EAAU,IAAI28D,EAAQJ,GAAe,IACvC,OAAOn9D,EAAes9D,EAAW,UAAW,CAC1C1hE,MAAO4hE,EAAiBR,EAASE,EAAMt8D,KACrC08D,EAEN,SAASG,EAASnpB,EAAIH,EAAKt6C,GACzB,IACE,MAAO,CACL8D,KAAM,SACN9D,IAAKy6C,EAAG95C,KAAK25C,EAAKt6C,IAEpB,MAAO0C,GACP,MAAO,CACLoB,KAAM,QACN9D,IAAK0C,IAIX5B,EAAQoiE,KAAOA,EACf,IAAIW,EAAmB,GACvB,SAASL,KACT,SAASM,KACT,SAASC,KACT,IAAIC,EAAoB,GACxBhB,EAAOgB,EAAmBrB,GAAgB,WACxC,OAAOzgE,QAET,IAAI+hE,EAAWzjE,OAAOgG,eACpB09D,EAA0BD,GAAYA,EAASA,EAASte,EAAO,MACjEue,GAA2BA,IAA4BzB,GAAMhjE,EAAOkB,KAAKujE,EAAyBvB,KAAoBqB,EAAoBE,GAC1I,IAAIC,EAAKJ,EAA2BtjE,UAAY+iE,EAAU/iE,UAAYD,OAAO4D,OAAO4/D,GACpF,SAASI,EAAsB3jE,GAC7B,CAAC,OAAQ,QAAS,UAAUkO,SAAQ,SAAU01D,GAC5CrB,EAAOviE,EAAW4jE,GAAQ,SAAUrkE,GAClC,OAAOkC,KAAKoiE,QAAQD,EAAQrkE,SAIlC,SAASukE,EAAcd,EAAWe,GAChC,SAASC,EAAOJ,EAAQrkE,EAAKuC,EAASC,GACpC,IAAIkiE,EAASd,EAASH,EAAUY,GAASZ,EAAWzjE,GACpD,GAAI,UAAY0kE,EAAO5gE,KAAM,CAC3B,IAAI6gE,EAASD,EAAO1kE,IAClB+B,EAAQ4iE,EAAO5iE,MACjB,OAAOA,GAAS,UAAY,EAAQA,IAAUtC,EAAOkB,KAAKoB,EAAO,WAAayiE,EAAYjiE,QAAQR,EAAM6iE,SAAS7vC,MAAK,SAAUhzB,GAC9H0iE,EAAO,OAAQ1iE,EAAOQ,EAASC,MAC9B,SAAUE,GACX+hE,EAAO,QAAS/hE,EAAKH,EAASC,MAC3BgiE,EAAYjiE,QAAQR,GAAOgzB,MAAK,SAAU8vC,GAC7CF,EAAO5iE,MAAQ8iE,EAAWtiE,EAAQoiE,MACjC,SAAU/9D,GACX,OAAO69D,EAAO,QAAS79D,EAAOrE,EAASC,MAG3CA,EAAOkiE,EAAO1kE,KAEhB,IAAI8kE,EACJ3+D,EAAejE,KAAM,UAAW,CAC9BH,MAAO,SAAesiE,EAAQrkE,GAC5B,SAAS+kE,IACP,OAAO,IAAIP,GAAY,SAAUjiE,EAASC,GACxCiiE,EAAOJ,EAAQrkE,EAAKuC,EAASC,MAGjC,OAAOsiE,EAAkBA,EAAkBA,EAAgB/vC,KAAKgwC,EAA4BA,GAA8BA,OAIhI,SAASpB,EAAiBR,EAASE,EAAMt8D,GACvC,IAAI5B,EAAQ,iBACZ,OAAO,SAAUk/D,EAAQrkE,GACvB,GAAI,cAAgBmF,EAAO,MAAM,IAAIT,MAAM,gCAC3C,GAAI,cAAgBS,EAAO,CACzB,GAAI,UAAYk/D,EAAQ,MAAMrkE,EAC9B,OAAOglE,IAET,IAAKj+D,EAAQs9D,OAASA,EAAQt9D,EAAQ/G,IAAMA,IAAO,CACjD,IAAIilE,EAAWl+D,EAAQk+D,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAUl+D,GACnD,GAAIm+D,EAAgB,CAClB,GAAIA,IAAmBrB,EAAkB,SACzC,OAAOqB,GAGX,GAAI,SAAWn+D,EAAQs9D,OAAQt9D,EAAQq+D,KAAOr+D,EAAQs+D,MAAQt+D,EAAQ/G,SAAS,GAAI,UAAY+G,EAAQs9D,OAAQ,CAC7G,GAAI,mBAAqBl/D,EAAO,MAAMA,EAAQ,YAAa4B,EAAQ/G,IACnE+G,EAAQu+D,kBAAkBv+D,EAAQ/G,SAC7B,WAAa+G,EAAQs9D,QAAUt9D,EAAQw+D,OAAO,SAAUx+D,EAAQ/G,KACvEmF,EAAQ,YACR,IAAIu/D,EAASd,EAAST,EAASE,EAAMt8D,GACrC,GAAI,WAAa29D,EAAO5gE,KAAM,CAC5B,GAAIqB,EAAQ4B,EAAQ+3B,KAAO,YAAc,iBAAkB4lC,EAAO1kE,MAAQ6jE,EAAkB,SAC5F,MAAO,CACL9hE,MAAO2iE,EAAO1kE,IACd8+B,KAAM/3B,EAAQ+3B,MAGlB,UAAY4lC,EAAO5gE,OAASqB,EAAQ,YAAa4B,EAAQs9D,OAAS,QAASt9D,EAAQ/G,IAAM0kE,EAAO1kE,OAItG,SAASmlE,EAAoBF,EAAUl+D,GACrC,IAAIy+D,EAAaz+D,EAAQs9D,OACvBA,EAASY,EAASr0D,SAAS40D,GAC7B,QAAIpiE,IAAcihE,EAAQ,OAAOt9D,EAAQk+D,SAAW,KAAM,UAAYO,GAAcP,EAASr0D,SAAiB,SAAM7J,EAAQs9D,OAAS,SAAUt9D,EAAQ/G,SAAMoD,EAAW+hE,EAAoBF,EAAUl+D,GAAU,UAAYA,EAAQs9D,SAAW,WAAamB,IAAez+D,EAAQs9D,OAAS,QAASt9D,EAAQ/G,IAAM,IAAI0D,UAAU,oCAAsC8hE,EAAa,aAAc3B,EAClY,IAAIa,EAASd,EAASS,EAAQY,EAASr0D,SAAU7J,EAAQ/G,KACzD,GAAI,UAAY0kE,EAAO5gE,KAAM,OAAOiD,EAAQs9D,OAAS,QAASt9D,EAAQ/G,IAAM0kE,EAAO1kE,IAAK+G,EAAQk+D,SAAW,KAAMpB,EACjH,IAAI/oB,EAAO4pB,EAAO1kE,IAClB,OAAO86C,EAAOA,EAAKhc,MAAQ/3B,EAAQk+D,EAASQ,YAAc3qB,EAAK/4C,MAAOgF,EAAQyzB,KAAOyqC,EAASS,QAAS,WAAa3+D,EAAQs9D,SAAWt9D,EAAQs9D,OAAS,OAAQt9D,EAAQ/G,SAAMoD,GAAY2D,EAAQk+D,SAAW,KAAMpB,GAAoB/oB,GAAQ/zC,EAAQs9D,OAAS,QAASt9D,EAAQ/G,IAAM,IAAI0D,UAAU,oCAAqCqD,EAAQk+D,SAAW,KAAMpB,GAErW,SAAS8B,EAAaC,GACpB,IAAIC,EAAQ,CACVC,OAAQF,EAAK,IAEf,KAAKA,IAASC,EAAME,SAAWH,EAAK,IAAK,KAAKA,IAASC,EAAMG,WAAaJ,EAAK,GAAIC,EAAMI,SAAWL,EAAK,IAAK1jE,KAAKgkE,WAAWhmE,KAAK2lE,GAErI,SAASM,EAAcN,GACrB,IAAInB,EAASmB,EAAMO,YAAc,GACjC1B,EAAO5gE,KAAO,gBAAiB4gE,EAAO1kE,IAAK6lE,EAAMO,WAAa1B,EAEhE,SAAShB,EAAQJ,GACfphE,KAAKgkE,WAAa,CAAC,CACjBJ,OAAQ,SACNxC,EAAY30D,QAAQg3D,EAAczjE,MAAOA,KAAKmkE,OAAM,GAE1D,SAAS1gB,EAAO2gB,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAAS3D,GAC9B,GAAI4D,EAAgB,OAAOA,EAAe5lE,KAAK2lE,GAC/C,GAAI,mBAAqBA,EAAS9rC,KAAM,OAAO8rC,EAC/C,IAAKxkE,MAAMwkE,EAASvmE,QAAS,CAC3B,IAAIF,GAAK,EACP26B,EAAO,SAASA,IACd,OAAS36B,EAAIymE,EAASvmE,QAAS,GAAIN,EAAOkB,KAAK2lE,EAAUzmE,GAAI,OAAO26B,EAAKz4B,MAAQukE,EAASzmE,GAAI26B,EAAKsE,MAAO,EAAItE,EAC9G,OAAOA,EAAKz4B,WAAQqB,EAAWo3B,EAAKsE,MAAO,EAAItE,GAEnD,OAAOA,EAAKA,KAAOA,GAGvB,MAAO,CACLA,KAAMwqC,GAGV,SAASA,IACP,MAAO,CACLjjE,WAAOqB,EACP07B,MAAM,GAGV,OAAOglC,EAAkBrjE,UAAYsjE,EAA4B59D,EAAeg+D,EAAI,cAAe,CACjGpiE,MAAOgiE,EACPpxD,cAAc,IACZxM,EAAe49D,EAA4B,cAAe,CAC5DhiE,MAAO+hE,EACPnxD,cAAc,IACZmxD,EAAkBt7D,YAAcw6D,EAAOe,EAA4BjB,EAAmB,qBAAsBhiE,EAAQ0lE,oBAAsB,SAAUC,GACtJ,IAAIC,EAAO,mBAAqBD,GAAUA,EAAO/zD,YACjD,QAASg0D,IAASA,IAAS5C,GAAqB,uBAAyB4C,EAAKl+D,aAAek+D,EAAKrkE,QACjGvB,EAAQ6lE,KAAO,SAAUF,GAC1B,OAAOjmE,OAAOomE,eAAiBpmE,OAAOomE,eAAeH,EAAQ1C,IAA+B0C,EAAO3e,UAAYic,EAA4Bf,EAAOyD,EAAQ3D,EAAmB,sBAAuB2D,EAAOhmE,UAAYD,OAAO4D,OAAO+/D,GAAKsC,GACzO3lE,EAAQ+lE,MAAQ,SAAU7mE,GAC3B,MAAO,CACL4kE,QAAS5kE,IAEVokE,EAAsBG,EAAc9jE,WAAYuiE,EAAOuB,EAAc9jE,UAAWmiE,GAAqB,WACtG,OAAO1gE,QACLpB,EAAQyjE,cAAgBA,EAAezjE,EAAQgmE,MAAQ,SAAU3D,EAASC,EAASC,EAAMC,EAAakB,QACxG,IAAWA,IAAgBA,EAAcliE,SACzC,IAAIykE,EAAO,IAAIxC,EAAcrB,EAAKC,EAASC,EAASC,EAAMC,GAAckB,GACxE,OAAO1jE,EAAQ0lE,oBAAoBpD,GAAW2D,EAAOA,EAAKvsC,OAAOzF,MAAK,SAAU4vC,GAC9E,OAAOA,EAAO7lC,KAAO6lC,EAAO5iE,MAAQglE,EAAKvsC,WAE1C4pC,EAAsBD,GAAKnB,EAAOmB,EAAIrB,EAAmB,aAAcE,EAAOmB,EAAIxB,GAAgB,WACnG,OAAOzgE,QACL8gE,EAAOmB,EAAI,YAAY,WACzB,MAAO,wBACLrjE,EAAQgH,KAAO,SAAUi0C,GAC3B,IAAItwC,EAASjL,OAAOu7C,GAClBj0C,EAAO,GACT,IAAK,IAAIpH,KAAO+K,EAAQ3D,EAAK5H,KAAKQ,GAClC,OAAOoH,EAAK61C,UAAW,SAASnjB,IAC9B,KAAO1yB,EAAK/H,QAAS,CACnB,IAAIW,EAAMoH,EAAKJ,MACf,GAAIhH,KAAO+K,EAAQ,OAAO+uB,EAAKz4B,MAAQrB,EAAK85B,EAAKsE,MAAO,EAAItE,EAE9D,OAAOA,EAAKsE,MAAO,EAAItE,IAExB15B,EAAQ6kD,OAASA,EAAQ+d,EAAQjjE,UAAY,CAC9CiS,YAAagxD,EACb2C,MAAO,SAAeW,GACpB,GAAI9kE,KAAKi3C,KAAO,EAAGj3C,KAAKs4B,KAAO,EAAGt4B,KAAKkjE,KAAOljE,KAAKmjE,WAAQjiE,EAAWlB,KAAK48B,MAAO,EAAI58B,KAAK+iE,SAAW,KAAM/iE,KAAKmiE,OAAS,OAAQniE,KAAKlC,SAAMoD,EAAWlB,KAAKgkE,WAAWv3D,QAAQw3D,IAAiBa,EAAe,IAAK,IAAI3kE,KAAQH,KAAM,MAAQG,EAAK4W,OAAO,IAAMxZ,EAAOkB,KAAKuB,KAAMG,KAAUP,OAAOO,EAAKQ,MAAM,MAAQX,KAAKG,QAAQe,IAEtU6jE,KAAM,WACJ/kE,KAAK48B,MAAO,EACZ,IAAIooC,EAAahlE,KAAKgkE,WAAW,GAAGE,WACpC,GAAI,UAAYc,EAAWpjE,KAAM,MAAMojE,EAAWlnE,IAClD,OAAOkC,KAAKilE,MAEd7B,kBAAmB,SAA2B8B,GAC5C,GAAIllE,KAAK48B,KAAM,MAAMsoC,EACrB,IAAIrgE,EAAU7E,KACd,SAASmlE,EAAOC,EAAKC,GACnB,OAAO7C,EAAO5gE,KAAO,QAAS4gE,EAAO1kE,IAAMonE,EAAWrgE,EAAQyzB,KAAO8sC,EAAKC,IAAWxgE,EAAQs9D,OAAS,OAAQt9D,EAAQ/G,SAAMoD,KAAcmkE,EAE5I,IAAK,IAAI1nE,EAAIqC,KAAKgkE,WAAWnmE,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAIgmE,EAAQ3jE,KAAKgkE,WAAWrmE,GAC1B6kE,EAASmB,EAAMO,WACjB,GAAI,SAAWP,EAAMC,OAAQ,OAAOuB,EAAO,OAC3C,GAAIxB,EAAMC,QAAU5jE,KAAKi3C,KAAM,CAC7B,IAAIquB,EAAW/nE,EAAOkB,KAAKklE,EAAO,YAChC4B,EAAahoE,EAAOkB,KAAKklE,EAAO,cAClC,GAAI2B,GAAYC,EAAY,CAC1B,GAAIvlE,KAAKi3C,KAAO0sB,EAAME,SAAU,OAAOsB,EAAOxB,EAAME,UAAU,GAC9D,GAAI7jE,KAAKi3C,KAAO0sB,EAAMG,WAAY,OAAOqB,EAAOxB,EAAMG,iBACjD,GAAIwB,GACT,GAAItlE,KAAKi3C,KAAO0sB,EAAME,SAAU,OAAOsB,EAAOxB,EAAME,UAAU,OACzD,CACL,IAAK0B,EAAY,MAAM,IAAI/iE,MAAM,0CACjC,GAAIxC,KAAKi3C,KAAO0sB,EAAMG,WAAY,OAAOqB,EAAOxB,EAAMG,gBAK9DT,OAAQ,SAAgBzhE,EAAM9D,GAC5B,IAAK,IAAIH,EAAIqC,KAAKgkE,WAAWnmE,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAIgmE,EAAQ3jE,KAAKgkE,WAAWrmE,GAC5B,GAAIgmE,EAAMC,QAAU5jE,KAAKi3C,MAAQ15C,EAAOkB,KAAKklE,EAAO,eAAiB3jE,KAAKi3C,KAAO0sB,EAAMG,WAAY,CACjG,IAAI0B,EAAe7B,EACnB,OAGJ6B,IAAiB,UAAY5jE,GAAQ,aAAeA,IAAS4jE,EAAa5B,QAAU9lE,GAAOA,GAAO0nE,EAAa1B,aAAe0B,EAAe,MAC7I,IAAIhD,EAASgD,EAAeA,EAAatB,WAAa,GACtD,OAAO1B,EAAO5gE,KAAOA,EAAM4gE,EAAO1kE,IAAMA,EAAK0nE,GAAgBxlE,KAAKmiE,OAAS,OAAQniE,KAAKs4B,KAAOktC,EAAa1B,WAAYnC,GAAoB3hE,KAAKylE,SAASjD,IAE5JiD,SAAU,SAAkBjD,EAAQuB,GAClC,GAAI,UAAYvB,EAAO5gE,KAAM,MAAM4gE,EAAO1kE,IAC1C,MAAO,UAAY0kE,EAAO5gE,MAAQ,aAAe4gE,EAAO5gE,KAAO5B,KAAKs4B,KAAOkqC,EAAO1kE,IAAM,WAAa0kE,EAAO5gE,MAAQ5B,KAAKilE,KAAOjlE,KAAKlC,IAAM0kE,EAAO1kE,IAAKkC,KAAKmiE,OAAS,SAAUniE,KAAKs4B,KAAO,OAAS,WAAakqC,EAAO5gE,MAAQmiE,IAAa/jE,KAAKs4B,KAAOyrC,GAAWpC,GAEtQ+D,OAAQ,SAAgB5B,GACtB,IAAK,IAAInmE,EAAIqC,KAAKgkE,WAAWnmE,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAIgmE,EAAQ3jE,KAAKgkE,WAAWrmE,GAC5B,GAAIgmE,EAAMG,aAAeA,EAAY,OAAO9jE,KAAKylE,SAAS9B,EAAMO,WAAYP,EAAMI,UAAWE,EAAcN,GAAQhC,IAGvH,MAAS,SAAgBiC,GACvB,IAAK,IAAIjmE,EAAIqC,KAAKgkE,WAAWnmE,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACpD,IAAIgmE,EAAQ3jE,KAAKgkE,WAAWrmE,GAC5B,GAAIgmE,EAAMC,SAAWA,EAAQ,CAC3B,IAAIpB,EAASmB,EAAMO,WACnB,GAAI,UAAY1B,EAAO5gE,KAAM,CAC3B,IAAI+jE,EAASnD,EAAO1kE,IACpBmmE,EAAcN,GAEhB,OAAOgC,GAGX,MAAM,IAAInjE,MAAM,0BAElBojE,cAAe,SAAuBxB,EAAUb,EAAYC,GAC1D,OAAOxjE,KAAK+iE,SAAW,CACrBr0D,SAAU+0C,EAAO2gB,GACjBb,WAAYA,EACZC,QAASA,GACR,SAAWxjE,KAAKmiE,SAAWniE,KAAKlC,SAAMoD,GAAYygE,IAEtD/iE,EC7SL,SAASgkJ,GAAmBC,EAAKxiJ,EAASC,EAAQwiJ,EAAOC,EAAQvkJ,EAAKV,GACpE,IACE,IAAI86C,EAAOiqG,EAAIrkJ,GAAKV,GAChB+B,EAAQ+4C,EAAK/4C,MACjB,MAAO6E,GAEP,YADApE,EAAOoE,GAGLk0C,EAAKhc,KACPv8B,EAAQR,GAERO,QAAQC,QAAQR,GAAOgzB,KAAKiwH,EAAOC,GAGxB,SAAS,GAAkBxqG,GACxC,OAAO,WACL,IAAI4oB,EAAOnhE,KACTZ,EAAOxB,UACT,OAAO,IAAIwC,SAAQ,SAAUC,EAASC,GACpC,IAAIuiJ,EAAMtqG,EAAGn6C,MAAM+iE,EAAM/hE,GACzB,SAAS0jJ,EAAMjjJ,GACb+iJ,GAAmBC,EAAKxiJ,EAASC,EAAQwiJ,EAAOC,EAAQ,OAAQljJ,GAElE,SAASkjJ,EAAOviJ,GACdoiJ,GAAmBC,EAAKxiJ,EAASC,EAAQwiJ,EAAOC,EAAQ,QAASviJ,GAEnEsiJ,OAAM5hJ,OCnBZ,IA+NA,GA/Ne,YAEXkhC,EAAAA,EAAAA,YAAU,WACN92B,SAASi1C,MAAQ,wBAHJ,mCAIbyiG,KACF,IAEF,SAA8BrgH,EAAAA,EAAAA,UAAS,IAAvC,GAAOsgH,EAAP,KACA,GADA,KACA,GAAwBtgH,EAAAA,EAAAA,UAAS,IAAjC,IAAOugH,EAAP,KACQtyH,GADR,KACcowH,KAANpwH,GACR,KAAoC+R,EAAAA,EAAAA,WAAS,GAA7C,GAAOwgH,EAAP,KAAmBC,EAAnB,KACA,KAA8BzgH,EAAAA,EAAAA,UAAS,IAAvC,GAAgB0gH,GAAhB,WACA,KAA4B1gH,EAAAA,EAAAA,UAAS,IAArC,GAAO2gH,EAAP,KAAeC,EAAf,KACA,KAAwB5gH,EAAAA,EAAAA,UAAS,IAAjC,GAAOxiC,EAAP,KAAaqjJ,EAAb,KACA,KAAwB7gH,EAAAA,EAAAA,UAAS,IAAjC,GAAO8gH,EAAP,KAAaC,EAAb,KACA,KAA4B/gH,EAAAA,EAAAA,UAAS,IAArC,GAAOqkD,EAAP,KAAe28D,EAAf,KACA,KAA0BhhH,EAAAA,EAAAA,UAAS,IAAnC,GAAOihH,EAAP,KAAcC,EAAd,KACA,KAAkClhH,EAAAA,EAAAA,UAAS,IAA3C,GAAOmhH,EAAP,KAAkBC,EAAlB,KACA,KAAsCphH,EAAAA,EAAAA,UAAS,IAA/C,GAAOqhH,EAAP,KAAoBC,EAApB,KACA,KAAgCthH,EAAAA,EAAAA,UAAS,IAAzC,GAAOuhH,EAAP,KAAiBC,EAAjB,KACA,KAAgCxhH,EAAAA,EAAAA,UAAS,IAAzC,GAAOyhH,EAAP,KAAiBC,EAAjB,KACA,KAAoC1hH,EAAAA,EAAAA,UAAS,IAA7C,GAAO2hH,EAAP,KAAmBC,EAAnB,KACA,KAAwB5hH,EAAAA,EAAAA,UAAS,GAAjC,GAAO0uB,EAAP,KAAamzF,EAAb,KACA,KAAsC7hH,EAAAA,EAAAA,UAAS,GAA/C,GAAO8hH,EAAP,KAAoBC,EAApB,KACA,KAAwB/hH,EAAAA,EAAAA,UAAS,IAAjC,GAAOtd,EAAP,KAAas/H,EAAb,KACQ9G,EAASmD,KAATnD,KA4DF+G,EAAe,SAACC,GAClB,MAAe,SAAXA,GACO,eAAGhuG,UAAU,sBAAsBjgC,MAAO,CAAEg8G,SAAU,OAAQvpG,MAAO,aAC5D,SAAVw7H,GACC,eAAGhuG,UAAU,sBAAsBjgC,MAAO,CAAEg8G,SAAU,OAAQvpG,MAAO,cAEzE,eAAGwtB,UAAU,yBAAyBjgC,MAAO,CAAEg8G,SAAU,OAAQvpG,MAAO,cA3FlE,oCA8FjB,8FACI+5H,GAAc,GACSv4I,mBAAmBo4I,GAAoB,GAC1Cp4I,mBAAmBq4I,GAAc,GAHzD,SAI2B4B,MAAM,wBAJjC,cAIUC,EAJV,gBAKyBA,EAASC,OALlC,OAKUviF,EALV,OAMIkiF,EAAQliF,GACJxkE,MAAMC,QAAQukE,IAAWA,EAAO5kE,QAChCwlJ,EAAW5gF,EAAO,GAAGwiF,aACrB1B,EAAU9gF,EAAO,GAAG6gF,QACpBE,EAAQ/gF,EAAO,GAAGtiE,MAClBujJ,EAAQjhF,EAAO,GAAGghF,MAClBE,EAAUlhF,EAAO,GAAGukB,QACpB68D,EAASphF,EAAO,GAAGluB,SACnBwvG,EAAathF,EAAO,GAAG79D,SACvBq/I,EAAexhF,EAAO,GAAGyiF,WACzBX,EAAc9hF,EAAO,GAAG6hF,YACxBD,EAAY5hF,EAAO,GAAG2hF,UACtBD,EAAY1hF,EAAO,GAAGyhF,UACtBM,EAAQ/hF,EAAO5kE,QACf6mJ,EAAe,KAGfrB,EAAW,WACXE,EAAU,WACVC,EAAQ,WACRE,EAAQ,WACRC,EAAU,WACVE,EAAS,WACTE,EAAa,WACbE,EAAe,WACfM,EAAc,WACdF,EAAY,WACZF,EAAY,WAEZK,EAAQ,GACRE,EAAe,IAEnBtB,GAAc,GAtClB,6CA9FiB,sBAwIjB,OACI,0BAoBSD,GACG,6BACI,iBAAKtsG,UAAU,kBAAf,UACI,kBAAKA,UAAU,yBAAf,WACI,iBAAK5L,IAAI,+DAA+Dk6G,IAAI,eAAej+H,MAAM,KAAKC,OAAO,QAC7G,mBAAO0vB,UAAU,iBAAjB,0BACA,iBAAK5L,IAAI,+DAA+Dk6G,IAAI,eAAej+H,MAAM,KAAKC,OAAO,aAIrH,iBAAK8jB,IAAI,+DAA+Dk6G,IAAI,eAAej+H,MAAM,UACjG,oBAAO2vB,UAAU,YAAYjgC,MAAO,CAAEsQ,MAAO,QAA7C,WAKI,4BACI,yBAAK0J,EAAE,oBACP,yBAAK0yH,QAET,4BACI,2BAAK1yH,EAAE,eAAP,QACA,yBAAKzwB,QAET,4BACI,2BAAKywB,EAAE,eAAP,QACA,2BAAK6yH,EAAL,WAEJ,4BACI,2BAAK7yH,EAAE,iBAAP,QACA,yBAAKo2D,QAET,4BACI,2BAAKp2D,EAAE,oBAAP,QACA,yBApKN,WAClB,IACIqlE,GAD4B,OAAlB4nD,EAAKuH,SAAoBtB,EAAYE,GAC/Bx3I,MAAM,OAE1B,OACI,0BACKypF,EAAM98C,KAAI,SAAC48C,EAAMxwF,GAAP,OACP,0BAAkBwwF,GAARxwF,QA6JO8/I,SAET,4BACI,2BAAKz0H,EAAE,qBAAP,QACA,2BAAK,qBAAL,IAA4Bg0H,EAAaV,IAAU,mBAAnD,IAA8D,gBAA9D,KAA+E,mBAAU,gBAAzF,KAA4GU,EAAaR,IAAU,mBAAnI,IAA8I,gBAA9I,WAEJ,4BACI,2BAAKxzH,EAAE,kBAAP,QACA,yBAAKgzH,QAET,4BACI,2BAAKhzH,EAAE,iBAAP,QACA,yBAAK0zH,WAGb,kBAAKztG,UAAU,WAAf,WACI,oBAAQA,UAAU,oBAAoBxkC,SAA0B,IAAhBoyI,GAAqC,IAAhBA,EAAmBz8G,QA5IrF,SAAC3d,GAExB,GADAA,EAAMpI,iBACa,GAAfwiI,EAAkB,CAClB,IAAMa,EAAab,EAAa,EAChCC,EAAeY,GACfjC,EAAWh+H,EAAKigI,EAAa,GAAGL,aAChC1B,EAAUl+H,EAAKigI,EAAa,GAAGhC,QAC/BE,EAAQn+H,EAAKigI,EAAa,GAAGnlJ,MAC7BujJ,EAAQr+H,EAAKigI,EAAa,GAAG7B,MAC7BE,EAAUt+H,EAAKigI,EAAa,GAAGt+D,QAC/B68D,EAASx+H,EAAKigI,EAAa,GAAG/wG,SAC9BwvG,EAAa1+H,EAAKigI,EAAa,GAAG1gJ,SAClCq/I,EAAe5+H,EAAKigI,EAAa,GAAGC,WACpChB,EAAcl/H,EAAKigI,EAAa,GAAGhB,YACnCH,EAAY9+H,EAAKigI,EAAa,GAAGpB,UACjCG,EAAYh/H,EAAKigI,EAAa,GAAGlB,YA6HjB,gBACA,mBAAOvtG,UAAU,WAAjB,SAzKD,WACnB,IAAMvtB,EAAO,IAAIzG,KAAKyhI,GAEtB,OADeh7H,EAAKk8H,eAAe,UAAW,CAAE/7H,MAAO,UAAa,IAAMH,EAAKm8H,cAuK9BC,MAC7B,oBAAQ7uG,UAAU,oBAAoBxkC,SAAUoyI,IAAgBpzF,EAAMrpB,QAhKvE,SAAC3d,GAEpB,GADAA,EAAMpI,iBACFwiI,GAAepzF,EAAM,CACrB,IAAMi0F,EAAab,EAAc,EACjCC,EAAeY,GACfjC,EAAWh+H,EAAKigI,EAAY,GAAGL,aAC/B1B,EAAUl+H,EAAKigI,EAAa,GAAGhC,QAC/BE,EAAQn+H,EAAKigI,EAAa,GAAGnlJ,MAC7BujJ,EAAQr+H,EAAKigI,EAAa,GAAG7B,MAC7BE,EAAUt+H,EAAKigI,EAAa,GAAGt+D,QAC/B68D,EAASx+H,EAAKigI,EAAa,GAAG/wG,SAC9BwvG,EAAa1+H,EAAKigI,EAAa,GAAG1gJ,SAClCq/I,EAAe5+H,EAAKigI,EAAa,GAAGC,WACpChB,EAAcl/H,EAAKigI,EAAa,GAAGhB,YACnCH,EAAY9+H,EAAKigI,EAAa,GAAGpB,UACjCG,EAAYh/H,EAAKigI,EAAa,GAAGlB,YAiJjB,qBAGN,QCvCtB,GAhL2B,WAEvB,SAAkCzhH,EAAAA,EAAAA,UAAS,IAA3C,GACA,GADA,UACA,GAAkCA,EAAAA,EAAAA,WAAS,GAA3C,IAAOgjH,EAAP,KAAkBC,EAAlB,KACA,KAAkDjjH,EAAAA,EAAAA,UAAS,IAA3D,GAAOkjH,EAAP,KAA0BC,EAA1B,KACA,KAAsDnjH,EAAAA,EAAAA,UAAS,IAA/D,GAAOojH,EAAP,KAA4BC,EAA5B,KACQp1H,EAAMowH,KAANpwH,EANqB,oCAa7B,0GACIg1H,GAAa,GADjB,SAE2Bd,MAAM,0BAFjC,cAEUC,EAFV,gBAGuBA,EAASC,OAHhC,OAGU3/H,EAHV,OAKU4gI,EAAa,CACf38H,KAAMjE,EAAK6gI,QACXC,cAAa,UAAE9gI,EAAK+gI,uBAAP,QAA0B,EACvCC,cAAa,UAAEhhI,EAAKihI,eAAP,QAAkB,EAC/BC,eAAgBlhI,EAAKihI,QAAUjhI,EAAK+gI,iBAAiBI,QAAQ,GAC7DC,WAAYphI,EAAKqhI,eACjBC,OAAQ,KACRC,eAAgB,KAChBC,cAAexhI,EAAKyhI,MACpBC,SAAU,KACVC,eAAgB3hI,EAAK4hI,MAGnBC,EAAe,CACjB59H,KAAM69H,EAAqB9hI,EAAK6gI,SAChCC,cAAa,UAAE9gI,EAAK+hI,oBAAP,QAAuB,EACpCf,cAAa,UAAEhhI,EAAKihI,eAAP,QAAkB,EAC/BC,eAAgBlhI,EAAKihI,QAAUjhI,EAAK+hI,cAAcZ,QAAQ,GAC1DC,WAAYphI,EAAKgiI,YACjBV,OAAQthI,EAAKiiI,YACbV,eAAgBvhI,EAAKkiI,UACrBV,cAAexhI,EAAKyhI,MACpBC,SAAU1hI,EAAKmiI,iBACfR,eAAgB,MAEpBlB,EAAqBG,GACrBD,EAAuBkB,GACvBtB,GAAa,GAhCjB,6CAb6B,sBAiD7B,SAASuB,EAAqBM,GAG1B,IAAIn+H,EAAOm+H,EAAiB,IAAI5kI,KAAK4kI,GAAkB,IAAI5kI,KAGvD6kI,EAAYp+H,EAAKq+H,SAGH,IAAdD,IAAiBA,EAAY,GAGjC,IAAIE,EAAiB,IAAI/kI,KAAKyG,GAC9Bs+H,EAAeC,QAAQv+H,EAAKw+H,UAAYJ,EAAY,GAGpD,IAAIK,EAAiB,IAAIllI,KAAK+kI,GAC9BG,EAAeF,QAAQD,EAAeE,UAAY,GAGlD,IAAI51I,EAAU,CAAEknI,KAAM,UAAW3vH,MAAO,UAAWyvH,IAAK,WAIxD,OAHwB0O,EAAeI,mBAAmB,QAAS91I,GAGxC,QAFH61I,EAAeC,mBAAmB,QAAS91I,IA/DvEkwB,EAAAA,EAAAA,YAAU,YARmB,mCASzB6lH,KACD,IAmEH,IAAM5tC,EAAiB,SAACh1F,GACpB,OACI1lB,OAAO0lB,EAAK8gI,eAAiB,GAC7BxmJ,OAAO0lB,EAAKshI,QAAU,GACtBhnJ,OAAO0lB,EAAKuhI,gBAAkB,GAC9BjnJ,OAAO0lB,EAAKwhI,eAAiB,GAC7BlnJ,OAAO0lB,EAAK2hI,gBAAkB,GAC9BrnJ,OAAOuoJ,EAAgB7iI,IAAS,IAClCmhI,QAAQ,IAIR0B,EAAkB,SAAC7iI,GAErB,GAAIA,EAAKohI,YAAc,GACnB,OAAO,EAGX,IAAI0B,GAAc9iI,EAAKkhI,eAAiB,EALzB,GAKwClhI,EAAKohI,aAAaD,QAAQ,GAEjF,OAAO1lE,WAAWqnE,IAItB,OACI,iBAAKtxG,UAAU,oBAAf,SACG8uG,GAkEC,iBAAK16G,IAAI,gEAAgEk6G,IAAI,UAAUvuI,MAAO,CAAElB,QAAS,MAAOu6E,QAAS,wBAjE7H,kBAAKp5C,UAAU,2BAAf,WACI,iBAAKA,UAAW,4BAGhB,oBAAOA,UAAU,uBAAjB,WACI,6BACI,4BACI,yBAAKkvG,EAAoBz8H,QACzB,gDAAqB,oBAAS,kBAAKutB,UAAU,kBAAf,eAAkC,kBAAMjgC,MAAO,CAAEg8G,SAAU,UAAWw1B,MAAO,QAA3C,iBAAgE/tC,EAAe0rC,UAC/I,wDAA6B,oBAAS,kBAAKlvG,UAAU,sBAAf,WAAqC,kBAAMjgC,MAAO,CAAEg8G,SAAU,UAAWw1B,MAAO,QAA3C,iBAAgE/tC,EAAewrC,eAGlK,+BACI,4BACI,yBAAKj1H,EAAE,oBACP,iCAAQm1H,EAAoBI,kBAC5B,iCAAQN,EAAkBM,qBAE9B,4BACI,yBAAKv1H,EAAE,oBACP,iCAAQm1H,EAAoBM,kBAC5B,iCAAQR,EAAkBQ,qBAE9B,4BACI,yBAAKz1H,EAAE,gBACP,iCAAQm1H,EAAoBQ,kBAC5B,iCAAQV,EAAkBU,qBAE9B,4BACI,yBAAK31H,EAAE,iBACP,2BAAKm1H,EAAoBU,WAAzB,QACA,2BAAKZ,EAAkBY,WAAvB,WAEJ,0BACI,gBAAI5vG,UAAY,eAAe2G,QAAQ,IAAvC,sBAEJ,4BACY,4DACA,iCAAQuoG,EAAoBgB,aACpC,0BAAK,eAAGlwG,UAAU,qBAAqBjgC,MAAO,CAAEyS,MAAO,eAE3D,4BACI,mEACA,yBAAK08H,EAAoBY,OAApB,aAAmCZ,EAAoBY,SAAW,eAAG9vG,UAAU,qBAAqBjgC,MAAO,CAAEyS,MAAO,YACzH,yBAAKw8H,EAAkBc,OAAlB,aAAiCd,EAAkBc,SAAW,eAAG9vG,UAAU,qBAAqBjgC,MAAO,CAAEyS,MAAO,eAEzH,4BACI,uDACA,yBAAK08H,EAAoBa,eAApB,aAA2Cb,EAAoBa,iBAAmB,eAAG/vG,UAAU,qBAAqBjgC,MAAO,CAAEyS,MAAO,YACzI,yBAAKw8H,EAAkBe,eAAlB,aAAyCf,EAAkBe,iBAAmB,eAAG/vG,UAAU,qBAAqBjgC,MAAO,CAAEyS,MAAO,eAEzI,4BACI,qDACA,yBAAK08H,EAAoBc,cAApB,aAA0Cd,EAAoBc,gBAAkB,eAAGhwG,UAAU,qBAAqBjgC,MAAO,CAAEyS,MAAO,YACvI,yBAAKw8H,EAAkBgB,cAAlB,aAAwChB,EAAkBgB,gBAAkB,eAAGhwG,UAAU,qBAAqBjgC,MAAO,CAAEyS,MAAO,eAEvI,4BACI,gDACA,yBAAK08H,EAAoBiB,eAApB,aAA2CjB,EAAoBiB,iBAAmB,eAAGnwG,UAAU,qBAAqBjgC,MAAO,CAAEyS,MAAO,YACzI,yBAAKw8H,EAAkBmB,eAAlB,aAAyCnB,EAAkBmB,iBAAmB,eAAGnwG,UAAU,qBAAqBjgC,MAAO,CAAEyS,MAAO,0BCnH7J,GAhDsB,SAAC5gB,GACnB,IAAQmoB,EAAMowH,KAANpwH,EACR,KAAwC+R,EAAAA,EAAAA,WAAS,GAAjD,GAAO0lH,EAAP,KAAqBC,EAArB,KAF6B,oCAQ7B,wGAE+BxD,MAAM,2BAFrC,cAGqBx5G,GACTg9G,GAAgB,IAEhBA,GAAgB,GAChB3lJ,QAAQ+B,MAAM,iCAP1B,gDAUQ4jJ,GAAgB,GAChB3lJ,QAAQ+B,MAAM,0BAAd,MAXR,0DAR6B,0DAuB7B,gHAE+BogJ,MAAM,uBAFrC,YAEcC,EAFd,QAGqBz5G,GAHrB,iCAI8By5G,EAASj7H,OAJvC,OAIkBE,EAJlB,OAKY3e,OAAOzC,SAAS0jB,KAAOtC,EALnC,wBAOYrnB,QAAQ+B,MAAM,gCAP1B,0DAUQ/B,QAAQ+B,MAAM,0BAAd,MAVR,0DAvB6B,wBAqC7B,OAjCA09B,EAAAA,EAAAA,YAAU,YAJmB,mCAKzBmmH,KACD,KAgCC,0BACKF,IACG,qBAAQrgH,QAxCS,2CAwCe6O,UAAU,iCAA1C,UACKjmB,EAAE,uBAAsB,kBAAMimB,UAAU,oBAAhB,SAAqCjmB,EAAE,uBADpE,KACiG,eAAGimB,UAAU,oCC8J9H,GAhMyB,SAACpuC,GACtB,IAAQmoB,EAAMowH,KAANpwH,EACFrc,EAAU6hC,EAAAA,SACZ,iBAAM,CAAC,CAAEoD,OAAQ,aAAcD,SAAU,mBAAsB,CAAEC,OAAQ,SAAUD,SAAU,UAAY,CAAEC,OAAQ,SAAUD,SAAU,gBAAkB,CAAEC,OAAQ,uBAAwBD,SAAU,yBACrM,CAAC3oB,IAGL,KAAkC+R,EAAAA,EAAAA,UAAS,IAA3C,GAAO6lH,EAAP,KAAkBC,EAAlB,KACA,KAAkC9lH,EAAAA,EAAAA,WAAS,GAA3C,GAAOgjH,EAAP,KAAkBC,EAAlB,MAEAxjH,EAAAA,EAAAA,YAAU,YAVsB,mCAW5BsmH,KACD,CAACjgJ,EAAMkgJ,sBAEV,IAAMtjI,EAAO+wB,EAAAA,SAAc,kBAAMoyG,IAAW,CAACA,IAdb,oCAgBhC,8FACI5C,GAAa,GADjB,SAE2Bd,MAAM,wBAFjC,cAEUC,EAFV,gBAGuBA,EAASC,OAHhC,OAGU3/H,EAHV,OAIIojI,EAAapjI,GACbugI,GAAa,GALjB,2CAhBgC,wBAwChC,OAeIgD,EAAAA,GAAAA,UACA,CACIr0I,QAAAA,EACA8Q,KAAAA,EACAs7B,aAAc,CAAEwQ,UAAW,EAAGD,SAAU,KAE5CD,GAAAA,eApBAjS,EADJ,EACIA,cACAC,EAFJ,EAEIA,kBACAnE,EAHJ,EAGIA,aACAuW,EAJJ,EAIIA,KACAtS,EALJ,EAKIA,WACAkT,EANJ,EAMIA,gBACAC,EAPJ,EAOIA,YACAL,EARJ,EAQIA,YAGAO,GAXJ,EASIhB,UATJ,EAUIL,SAVJ,EAWIqB,UACAD,EAZJ,EAYIA,aAZJ,KAaInB,YAbJ,EAcI/tD,OAASkuD,EAdb,EAcaA,UAWP03F,GAzBN,EAcwB33F,UAWJ,mCAChB,0BAAOra,UAAU,aAAgBmI,KAAjC,eACI,4BACKlE,EAAa3B,KAAI,SAAA+B,GAAW,OACzB,wBAAQA,EAAYgE,uBAApB,aACKhE,EAAYC,QAAQhC,KAAI,SAAAT,GAAM,OAC3B,wBAAQA,EAAO0G,kBAAf,aAAkC1G,EAAOnxC,OAAO,yBAKhE,2BAAW03C,KAAX,aACKoS,EAAKlY,KAAI,SAAAO,GAEN,OADAqF,EAAWrF,IAEP,wBAAQA,EAAI4F,eAAZ,aACK5F,EAAI8J,MAAMrK,KAAI,SAAA4E,GACX,OAAO,wBAAQA,EAAKwB,gBAAb,aAA8BxB,EAAKx2C,OAAO,4BAOzE,kBAAKsvC,UAAU,aAAf,WAII,oBAAQA,UAAU,WAAlB,UACI,eAAGA,UAAU,mBAAmB7O,QAAS,kBAAMmqB,KAAgB9/C,UAAW4/C,OAG9E,oCACS,KACL,+BACKd,EAAY,EADjB,OACwBU,EAAYh0D,UAC1B,QAEd,oBAAQg5C,UAAU,WAAlB,UACI,eAAGA,UAAU,oBAAoB7O,QAAS,kBAAMoqB,KAAY//C,UAAW6/C,aAMnF,OACI,6BACI,mBAAOrb,UAAU,mBAAjB,SAAsC,cACtC,UAAC,GAAD,KACA,UAAC,GAAD,KACA,kBAAKA,UAAW,oBAAhB,WACI,mBAAOA,UAAU,mBAAjB,SAAsC,YACrC2xG,EAAU3qJ,OAAS,GAChB,oBAAOg5C,UAAU,aAAjB,WAUI,iBAAIA,UAAU,WAAd,WACI,gBAAIA,UAAU,cAAd,uBACA,gBAAIA,UAAU,YAAd,SAE+B,SAAvB2xG,EAAU,GAAGM,OACT,eAAGjyG,UAAU,sBAAsBjgC,MAAO,CAAEyS,MAAO,cACnD,eAAGwtB,UAAU,qBAAqBjgC,MAAO,CAAEyS,MAAO,eAIlE,iBAAIwtB,UAAU,WAAd,WACI,gBAAIA,UAAU,cAAd,+BACA,iBAAIA,UAAU,YAAd,UAA2B2xG,EAAU,GAAGO,YAAY,EAAI,EAAI,EAA5D,cAEJ,iBAAIlyG,UAAU,WAAd,WACI,gBAAIA,UAAU,cAAd,oBACA,gBAAIA,UAAU,YAAd,SACmC,KAA9B2xG,EAAU,GAAGQ,eACV,eAAGnyG,UAAU,qBAAqBjgC,MAAO,CAAEyS,MAAO,UAElD,eAAGwtB,UAAU,sBAAsBjgC,MAAO,CAAEyS,MAAO,mBAK/D,iBAAIwtB,UAAU,WAAd,WACI,gBAAIA,UAAU,cAAd,0BACA,gBAAIA,UAAU,YAAd,SACK2xG,EAAU,GAAGS,aAItB,iBAAIpyG,UAAU,YAAd,WACI,gBAAIA,UAAU,cAAd,oCACA,gBAAIA,UAAU,YAAd,UAEQ,kCACK2xG,EAAU,GAAGU,SACd,kBAAKtyI,MAAO,CAAEg8G,SAAU,OAAQvpG,MAAO,QAAvC,2BACuBm/H,EAAU,GAAGW,+BAQpD,iBAAKl+G,IAAI,gEAAgEk6G,IAAI,UAAUvuI,MAAO,CAAElB,QAAS,MAAMu6E,QAAS,2BAGpI,kBAAKp5C,UAAU,oBAAf,WACI,mBAAOA,UAAU,mBAAjB,SAAsC,kBACtC,mBACC2xG,EAAU3qJ,OAAS,IAAM8nJ,GACtB,UAAC,WAAD,UAAiBkD,KAEb,iBAAK59G,IAAI,gEAAgEk6G,IAAI,UAAUvuI,MAAO,CAAElB,QAAS,MAAOu6E,QAAS,8BCzIjJ,GAnDkB,WAEd,SAAwBttD,EAAAA,EAAAA,UAAS,IAAjC,GAAOugH,EAAP,KAAakG,EAAb,KACA,KAA8BzmH,EAAAA,EAAAA,UAAS,IAAvC,GAAOsgH,EAAP,KAAgBoG,EAAhB,KACA,KAAsD1mH,EAAAA,EAAAA,WAAS,GAA/D,GAAOgmH,EAAP,KAA4BW,EAA5B,KACQ14H,EAAMowH,KAANpwH,GASRwR,EAAAA,EAAAA,YAAU,WACN92B,SAASi1C,MAAQ,sBAClB,IAOkB3vB,EAAE,kBAIFA,EAAE,eAWvB,OACI,2BAII,2BACI,UAAC,GAAD,CAAkB24H,KAAMrG,EAAMD,QAASA,EAAS0F,oBAAqBA,SCjBrF,GAhCqB,WACjB,IAAM/xI,EAAQ,CACV0pF,UAAW,CACP31D,QAAS,OACT6+G,eAAgB,SAChBC,WAAY,SACZC,cAAe,SACfviI,OAAQ,QACR4lE,gBAAiB,WAErBxsC,MAAO,CACHqyE,SAAU,OACVvpG,MAAO,QAEXS,KAAM,CACF8oG,SAAU,SACVvpG,MAAO,OACPsgI,UAAW,OACX/yD,UAAW,WAInB,OACI,kBAAKhgF,MAAOA,EAAM0pF,UAAlB,WACI,gBAAI1pF,MAAOA,EAAM2pC,MAAjB,mCACA,eAAG3pC,MAAOA,EAAMkT,KAAhB,4HCIZ,OA5BA,WAMI,OACI,2BACI,kBAAK8/H,MAAM,mBAAX,WACI,oEAEA,iOACA,4BACI,4KAAiJ,+CAAjJ,gPACA,kWAAuU,sDAAvU,uEACA,8LAAmK,mDAAnK,2YACA,gTACA,6KAAkJ,uDAAlJ,+JAAmV,kDAAnV,0GACA,+pBACA,yNACA,wGAA6E,oFAA7E,0IAAkR,eAAGt9H,KAAK,uEAAuEptB,OAAO,SAAS0qJ,MAAM,aAArG,8BAAlR,0ECvBL,SAAS,GAA8B7xI,EAAQ8xI,GAC5D,GAAc,MAAV9xI,EAAgB,MAAO,GAC3B,IAEIvZ,EAAKb,EAFLuB,EAAS,GACT4qJ,EAAaxrJ,OAAOsH,KAAKmS,GAE7B,IAAKpa,EAAI,EAAGA,EAAImsJ,EAAWjsJ,OAAQF,IACjCa,EAAMsrJ,EAAWnsJ,GACbksJ,EAAShzI,QAAQrY,IAAQ,IAC7BU,EAAOV,GAAOuZ,EAAOvZ,IAEvB,OAAOU,ECTM,SAAS,GAAyB6Y,EAAQ8xI,GACvD,GAAc,MAAV9xI,EAAgB,MAAO,GAC3B,IACIvZ,EAAKb,EADLuB,EAAS,GAA6B6Y,EAAQ8xI,GAElD,GAAIvrJ,OAAOiB,sBAAuB,CAChC,IAAIwqJ,EAAmBzrJ,OAAOiB,sBAAsBwY,GACpD,IAAKpa,EAAI,EAAGA,EAAIosJ,EAAiBlsJ,OAAQF,IACvCa,EAAMurJ,EAAiBpsJ,GACnBksJ,EAAShzI,QAAQrY,IAAQ,GACxBF,OAAOC,UAAUyrJ,qBAAqBvrJ,KAAKsZ,EAAQvZ,KACxDU,EAAOV,GAAOuZ,EAAOvZ,IAGzB,OAAOU,ECTT,IAAI+qJ,GAAY,CAAC,oBAAqB,oBAAqB,eAAgB,aAAc,aAAc,WAAY,gBAAiB,cAAe,aAAc,SCgDjK,IAAIC,GAA0B,WAE5B,SAASA,EAAWh4I,GAClB,IAAI2uI,EAAQ7gJ,KAEZA,KAAKmqJ,WAAa,SAAUv6I,GAC1B,IAAIooC,EAIAA,EAFsB,IAAtB6oG,EAAMuJ,KAAKvsJ,OACTgjJ,EAAMwJ,eACCxJ,EAAMwJ,eAAet+H,YACrB80H,EAAMh/I,QACNg/I,EAAMvgD,UAAUltF,WAEhBytI,EAAM7oG,OAGR6oG,EAAMuJ,KAAKvJ,EAAMuJ,KAAKvsJ,OAAS,GAAGkuB,YAG7C80H,EAAMvgD,UAAU52D,aAAa95B,EAAKooC,GAElC6oG,EAAMuJ,KAAKpsJ,KAAK4R,IAGlB5P,KAAKsqJ,cAA8BppJ,IAAnBgR,EAAQq4I,QAA+Dr4I,EAAQq4I,OAC/FvqJ,KAAKoqJ,KAAO,GACZpqJ,KAAKwqJ,IAAM,EACXxqJ,KAAKyqJ,MAAQv4I,EAAQu4I,MAErBzqJ,KAAKxB,IAAM0T,EAAQ1T,IACnBwB,KAAKsgG,UAAYpuF,EAAQouF,UACzBtgG,KAAK6B,QAAUqQ,EAAQrQ,QACvB7B,KAAKqqJ,eAAiBn4I,EAAQm4I,eAC9BrqJ,KAAKg4C,OAAS,KAGhB,IAAI0yG,EAASR,EAAW3rJ,UA4DxB,OA1DAmsJ,EAAOr3G,QAAU,SAAiBs3G,GAChCA,EAAMl+I,QAAQzM,KAAKmqJ,aAGrBO,EAAOE,OAAS,SAAgBC,GAI1B7qJ,KAAKwqJ,KAAOxqJ,KAAKsqJ,SAAW,KAAQ,KAAO,GAC7CtqJ,KAAKmqJ,WA7DX,SAA4Bj4I,GAC1B,IAAItC,EAAMtE,SAASC,cAAc,SASjC,OARAqE,EAAIxC,aAAa,eAAgB8E,EAAQ1T,UAEnB0C,IAAlBgR,EAAQu4I,OACV76I,EAAIxC,aAAa,QAAS8E,EAAQu4I,OAGpC76I,EAAI0D,YAAYhI,SAAS+8B,eAAe,KACxCz4B,EAAIxC,aAAa,SAAU,IACpBwC,EAmDak7I,CAAmB9qJ,OAGrC,IAAI4P,EAAM5P,KAAKoqJ,KAAKpqJ,KAAKoqJ,KAAKvsJ,OAAS,GAcvC,GAAImC,KAAKsqJ,SAAU,CACjB,IAAIS,EAhGV,SAAqBn7I,GACnB,GAAIA,EAAIm7I,MAEN,OAAOn7I,EAAIm7I,MAMb,IAAK,IAAIptJ,EAAI,EAAGA,EAAI2N,SAAS0/I,YAAYntJ,OAAQF,IAC/C,GAAI2N,SAAS0/I,YAAYrtJ,GAAGstJ,YAAcr7I,EAExC,OAAOtE,SAAS0/I,YAAYrtJ,GAoFhButJ,CAAYt7I,GAExB,IAGEm7I,EAAMI,WAAWN,EAAME,EAAMK,SAASvtJ,QACtC,MAAOsK,GACHkjJ,QAKNz7I,EAAI0D,YAAYhI,SAAS+8B,eAAewiH,IAG1C7qJ,KAAKwqJ,OAGPE,EAAOY,MAAQ,WAEbtrJ,KAAKoqJ,KAAK39I,SAAQ,SAAUmD,GAC1B,OAAOA,EAAI6I,YAAc7I,EAAI6I,WAAWpF,YAAYzD,MAEtD5P,KAAKoqJ,KAAO,GACZpqJ,KAAKwqJ,IAAM,GAONN,EAjGqB,GCjDnB1mE,GAAMhnE,KAAKgnE,IAMXz6B,GAAOtmD,OAAOkkB,aAMd7X,GAASxQ,OAAOwQ,OAepB,SAASG,GAAMpP,GACrB,OAAOA,EAAMoP,OAkBP,SAAS3B,GAASzN,EAAOmsE,EAASu/E,GACxC,OAAO1rJ,EAAMyN,QAAQ0+D,EAASu/E,GAQxB,SAASC,GAAS3rJ,EAAO+pB,GAC/B,OAAO/pB,EAAMgX,QAAQ+S,GAQf,SAAS6hI,GAAQ5rJ,EAAO0F,GAC9B,OAAiC,EAA1B1F,EAAM6rJ,WAAWnmJ,GASlB,SAASomJ,GAAQ9rJ,EAAO+rJ,EAAO9+H,GACrC,OAAOjtB,EAAMc,MAAMirJ,EAAO9+H,GAOpB,SAAS++H,GAAQhsJ,GACvB,OAAOA,EAAMhC,OAOP,SAASiuJ,GAAQjsJ,GACvB,OAAOA,EAAMhC,OAQP,SAASkuJ,GAAQlsJ,EAAOqJ,GAC9B,OAAOA,EAAMlL,KAAK6B,GAAQA,ECtGpB,IAAIk2F,GAAO,EACPr9C,GAAS,EACT76C,GAAS,EACTuH,GAAW,EACX4mJ,GAAY,EACZC,GAAa,GAWjB,SAASliJ,GAAMlK,EAAO6sF,EAAMzzC,EAAQr3C,EAAM6G,EAAO+J,EAAU3U,GACjE,MAAO,CAACgC,MAAOA,EAAO6sF,KAAMA,EAAMzzC,OAAQA,EAAQr3C,KAAMA,EAAM6G,MAAOA,EAAO+J,SAAUA,EAAUujF,KAAMA,GAAMr9C,OAAQA,GAAQ76C,OAAQA,EAAQuc,OAAQ,IAQ9I,SAASvW,GAAM6oF,EAAMjkF,GAC3B,OAAOqG,GAAO/E,GAAK,GAAI,KAAM,KAAM,GAAI,KAAM,KAAM,GAAI2iF,EAAM,CAAC7uF,QAAS6uF,EAAK7uF,QAAS4K,GAa/E,SAASwuC,KAMf,OALA+0G,GAAY5mJ,GAAW,EAAIqmJ,GAAOQ,KAAc7mJ,IAAY,EAExDszC,KAAwB,KAAdszG,KACbtzG,GAAS,EAAGq9C,MAENi2D,GAMD,SAAS1zH,KAMf,OALA0zH,GAAY5mJ,GAAWvH,GAAS4tJ,GAAOQ,GAAY7mJ,MAAc,EAE7DszC,KAAwB,KAAdszG,KACbtzG,GAAS,EAAGq9C,MAENi2D,GAMD,SAASE,KACf,OAAOT,GAAOQ,GAAY7mJ,IAMpB,SAASonI,KACf,OAAOpnI,GAQD,SAASzE,GAAOirJ,EAAO9+H,GAC7B,OAAO6+H,GAAOM,GAAYL,EAAO9+H,GAO3B,SAASq/H,GAAOvqJ,GACtB,OAAQA,GAEP,KAAK,EAAG,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GACtC,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,IAE3D,KAAK,GAAI,KAAK,IAAK,KAAK,IACvB,OAAO,EAER,KAAK,GACJ,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAC/B,OAAO,EAER,KAAK,GAAI,KAAK,GACb,OAAO,EAGT,OAAO,EAOD,SAASwqJ,GAAOvsJ,GACtB,OAAOk2F,GAAOr9C,GAAS,EAAG76C,GAASguJ,GAAOI,GAAapsJ,GAAQuF,GAAW,EAAG,GAOvE,SAASinJ,GAASxsJ,GACxB,OAAOosJ,GAAa,GAAIpsJ,EAOlB,SAASysJ,GAAS1qJ,GACxB,OAAOqN,GAAKtO,GAAMyE,GAAW,EAAGmnJ,GAAmB,KAAT3qJ,EAAcA,EAAO,EAAa,KAATA,EAAcA,EAAO,EAAIA,KAetF,SAAS4qJ,GAAY5qJ,GAC3B,MAAOoqJ,GAAYE,OACdF,GAAY,IACf1zH,KAIF,OAAO6zH,GAAMvqJ,GAAQ,GAAKuqJ,GAAMH,IAAa,EAAI,GAAK,IAyBhD,SAASS,GAAUlnJ,EAAO7C,GAChC,OAASA,GAAS41B,QAEb0zH,GAAY,IAAMA,GAAY,KAAQA,GAAY,IAAMA,GAAY,IAAQA,GAAY,IAAMA,GAAY,MAG/G,OAAOrrJ,GAAM4E,EAAOinI,MAAW9pI,EAAQ,GAAe,IAAVwpJ,MAA0B,IAAV5zH,OAOtD,SAASi0H,GAAW3qJ,GAC1B,KAAO02B,MACN,OAAQ0zH,IAEP,KAAKpqJ,EACJ,OAAOwD,GAER,KAAK,GAAI,KAAK,GACA,KAATxD,GAAwB,KAATA,GAClB2qJ,GAAUP,IACX,MAED,KAAK,GACS,KAATpqJ,GACH2qJ,GAAU3qJ,GACX,MAED,KAAK,GACJ02B,KAIH,OAAOlzB,GAQD,SAASsnJ,GAAW9qJ,EAAM2D,GAChC,KAAO+yB,MAEF12B,EAAOoqJ,KAAc,KAGhBpqJ,EAAOoqJ,KAAc,IAAsB,KAAXE,QAG1C,MAAO,KAAOvrJ,GAAM4E,EAAOH,GAAW,GAAK,IAAM2jD,GAAc,KAATnnD,EAAcA,EAAO02B,MAOrE,SAASq0H,GAAYpnJ,GAC3B,MAAQ4mJ,GAAMD,OACb5zH,KAED,OAAO33B,GAAM4E,EAAOH,ICpPd,IAAIwnJ,GAAK,OACLC,GAAM,QACNC,GAAS,WAETC,GAAU,OACVC,GAAU,OACVC,GAAc,OAUdC,GAAY,aCRhB,SAASC,GAAW36I,EAAUknB,GAIpC,IAHA,IAAI0zH,EAAS,GACTvvJ,EAASiuJ,GAAOt5I,GAEX7U,EAAI,EAAGA,EAAIE,EAAQF,IAC3ByvJ,GAAU1zH,EAASlnB,EAAS7U,GAAIA,EAAG6U,EAAUknB,IAAa,GAE3D,OAAO0zH,EAUD,SAASt8G,GAAWlnC,EAASrE,EAAOiN,EAAUknB,GACpD,OAAQ9vB,EAAQhI,MACf,IDjBkB,UCiBL,KAAKqrJ,GAAa,OAAOrjJ,EAAQwQ,OAASxQ,EAAQwQ,QAAUxQ,EAAQ/J,MACjF,KAAKktJ,GAAS,MAAO,GACrB,KAAKG,GAAW,OAAOtjJ,EAAQwQ,OAASxQ,EAAQ/J,MAAQ,IAAMstJ,GAAUvjJ,EAAQ4I,SAAUknB,GAAY,IACtG,KAAKszH,GAASpjJ,EAAQ/J,MAAQ+J,EAAQnB,MAAM/J,KAAK,KAGlD,OAAOmtJ,GAAOr5I,EAAW26I,GAAUvjJ,EAAQ4I,SAAUknB,IAAa9vB,EAAQwQ,OAASxQ,EAAQ/J,MAAQ,IAAM2S,EAAW,IAAM,GCNpH,SAAS66I,GAAW3zH,GAC1B,OAAO,SAAU9vB,GACXA,EAAQ8iF,OACR9iF,EAAUA,EAAQwQ,SACrBsf,EAAS9vB,ICvBN,SAAS0jJ,GAASztJ,GACxB,OAAOwsJ,GAAQ79E,GAAM,GAAI,KAAM,KAAM,KAAM,CAAC,IAAK3uE,EAAQusJ,GAAMvsJ,GAAQ,EAAG,CAAC,GAAIA,IAezE,SAAS2uE,GAAO3uE,EAAO6sF,EAAMzzC,EAAQ4xG,EAAM0C,EAAOC,EAAUC,EAAQzmE,EAAQ0mE,GAiBlF,IAhBA,IAAInoJ,EAAQ,EACRumB,EAAS,EACTjuB,EAAS4vJ,EACTE,EAAS,EACT76E,EAAW,EACXuiB,EAAW,EACXu4D,EAAW,EACXC,EAAW,EACXC,EAAY,EACZ9B,EAAY,EACZpqJ,EAAO,GACP6G,EAAQ8kJ,EACR/6I,EAAWg7I,EACXO,EAAYlD,EACZoB,EAAarqJ,EAEVisJ,GACN,OAAQx4D,EAAW22D,EAAWA,EAAY1zH,MAEzC,KAAK,GACJ,GAAgB,KAAZ+8D,GAAqD,IAAlCo2D,GAAOQ,EAAYpuJ,EAAS,GAAU,EACkB,GAA1E2tJ,GAAQS,GAAc3+I,GAAQg/I,GAAQN,GAAY,IAAK,OAAQ,SAClE8B,GAAa,GACd,MAGF,KAAK,GAAI,KAAK,GAAI,KAAK,GACtB7B,GAAcK,GAAQN,GACtB,MAED,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GAC9BC,GAAcO,GAAWn3D,GACzB,MAED,KAAK,GACJ42D,GAAcQ,GAASjgB,KAAU,EAAG,GACpC,SAED,KAAK,GACJ,OAAQ0f,MACP,KAAK,GAAI,KAAK,GACbH,GAAOiC,GAAQtB,GAAUp0H,KAAQk0G,MAAU9/C,EAAMzzC,GAASy0G,GAC1D,MACD,QACCzB,GAAc,IAEhB,MAED,KAAK,IAAM2B,EACV5mE,EAAOzhF,KAAWsmJ,GAAOI,GAAc6B,EAExC,KAAK,IAAMF,EAAU,KAAK,GAAI,KAAK,EAClC,OAAQ5B,GAEP,KAAK,EAAG,KAAK,IAAK6B,EAAW,EAE7B,KAAK,GAAK/hI,EACLgnD,EAAW,GAAM+4E,GAAOI,GAAcpuJ,GACzCkuJ,GAAOj5E,EAAW,GAAKm7E,GAAYhC,EAAa,IAAKpB,EAAM5xG,EAAQp7C,EAAS,GAAKowJ,GAAY3gJ,GAAQ2+I,EAAY,IAAK,IAAM,IAAKpB,EAAM5xG,EAAQp7C,EAAS,GAAI6vJ,GAC7J,MAED,KAAK,GAAIzB,GAAc,IAEvB,QAGC,GAFAF,GAAOgC,EAAYG,GAAQjC,EAAYv/D,EAAMzzC,EAAQ1zC,EAAOumB,EAAQyhI,EAAOvmE,EAAQplF,EAAM6G,EAAQ,GAAI+J,EAAW,GAAI3U,GAAS2vJ,GAE3G,MAAdxB,EACH,GAAe,IAAXlgI,EACH0iD,GAAMy9E,EAAYv/D,EAAMqhE,EAAWA,EAAWtlJ,EAAO+kJ,EAAU3vJ,EAAQmpF,EAAQx0E,QAE/E,OAAmB,KAAXm7I,GAA2C,MAA1BlC,GAAOQ,EAAY,GAAa,IAAM0B,GAE9D,KAAK,IAAK,KAAK,IAAK,KAAK,IACxBn/E,GAAM3uE,EAAOkuJ,EAAWA,EAAWlD,GAAQkB,GAAOmC,GAAQruJ,EAAOkuJ,EAAWA,EAAW,EAAG,EAAGR,EAAOvmE,EAAQplF,EAAM2rJ,EAAO9kJ,EAAQ,GAAI5K,GAAS2U,GAAW+6I,EAAO/6I,EAAU3U,EAAQmpF,EAAQ6jE,EAAOpiJ,EAAQ+J,GACzM,MACD,QACCg8D,GAAMy9E,EAAY8B,EAAWA,EAAWA,EAAW,CAAC,IAAKv7I,EAAU,EAAGw0E,EAAQx0E,IAIpFjN,EAAQumB,EAASgnD,EAAW,EAAG86E,EAAWE,EAAY,EAAGlsJ,EAAOqqJ,EAAa,GAAIpuJ,EAAS4vJ,EAC1F,MAED,KAAK,GACJ5vJ,EAAS,EAAIguJ,GAAOI,GAAan5E,EAAWuiB,EAC7C,QACC,GAAIu4D,EAAW,EACd,GAAiB,KAAb5B,IACD4B,OACE,GAAiB,KAAb5B,GAAkC,GAAd4B,KAA6B,KAAV32G,KAC/C,SAEF,OAAQg1G,GAAcljG,GAAKijG,GAAYA,EAAY4B,GAElD,KAAK,GACJE,EAAYhiI,EAAS,EAAI,GAAKmgI,GAAc,MAAO,GACnD,MAED,KAAK,GACJjlE,EAAOzhF,MAAYsmJ,GAAOI,GAAc,GAAK6B,EAAWA,EAAY,EACpE,MAED,KAAK,GAEW,KAAX5B,OACHD,GAAcK,GAAQh0H,OAEvBq1H,EAASzB,KAAQpgI,EAASjuB,EAASguJ,GAAOjqJ,EAAOqqJ,GAAcU,GAAWngB,OAAWwf,IACrF,MAED,KAAK,GACa,KAAb32D,GAAyC,GAAtBw2D,GAAOI,KAC7B2B,EAAW,IAIjB,OAAOJ,EAiBD,SAASU,GAASruJ,EAAO6sF,EAAMzzC,EAAQ1zC,EAAOumB,EAAQyhI,EAAOvmE,EAAQplF,EAAM6G,EAAO+J,EAAU3U,GAKlG,IAJA,IAAIswJ,EAAOriI,EAAS,EAChB++H,EAAkB,IAAX/+H,EAAeyhI,EAAQ,CAAC,IAC/BrlH,EAAO4jH,GAAOjB,GAETltJ,EAAI,EAAGgqE,EAAI,EAAGl4D,EAAI,EAAG9R,EAAI4H,IAAS5H,EAC1C,IAAK,IAAImzB,EAAI,EAAGoJ,EAAIyxH,GAAO9rJ,EAAOsuJ,EAAO,EAAGA,EAAO3qE,GAAI7b,EAAIqf,EAAOrpF,KAAM4O,EAAI1M,EAAOixB,EAAIoX,IAAQpX,GAC1FvkB,EAAI0C,GAAK04D,EAAI,EAAIkjF,EAAK/5H,GAAK,IAAMoJ,EAAI5sB,GAAQ4sB,EAAG,OAAQ2wH,EAAK/5H,QAChEroB,EAAMgH,KAAOlD,GAEhB,OAAOxC,GAAKlK,EAAO6sF,EAAMzzC,EAAmB,IAAXntB,EAAekhI,GAAUprJ,EAAM6G,EAAO+J,EAAU3U,GAS3E,SAASmwJ,GAASnuJ,EAAO6sF,EAAMzzC,GACrC,OAAOlvC,GAAKlK,EAAO6sF,EAAMzzC,EAAQ8zG,GAAShkG,GJ/InCijG,II+IiDL,GAAO9rJ,EAAO,GAAI,GAAI,GAUxE,SAASouJ,GAAapuJ,EAAO6sF,EAAMzzC,EAAQp7C,GACjD,OAAOkM,GAAKlK,EAAO6sF,EAAMzzC,EAAQg0G,GAAatB,GAAO9rJ,EAAO,EAAGhC,GAAS8tJ,GAAO9rJ,EAAOhC,EAAS,GAAI,GAAIA,GCxLxG,IAAIuwJ,GAA8B,SAAqCxC,EAAO5kE,EAAQzhF,GAIpF,IAHA,IAAI8vF,EAAW,EACX22D,EAAY,EAGd32D,EAAW22D,EACXA,EAAYE,KAEK,KAAb72D,GAAiC,KAAd22D,IACrBhlE,EAAOzhF,GAAS,IAGd4mJ,GAAMH,IAIV1zH,KAGF,OAAO33B,GAAMirJ,EAAOxmJ,KA8ClBipJ,GAAW,SAAkBxuJ,EAAOmnF,GACtC,OAAOqlE,GA5CK,SAAiBxwD,EAAQ7U,GAErC,IAAIzhF,GAAS,EACTymJ,EAAY,GAEhB,GACE,OAAQG,GAAMH,IACZ,KAAK,EAEe,KAAdA,GAA+B,KAAXE,OAKtBllE,EAAOzhF,GAAS,GAGlBs2F,EAAOt2F,IAAU6oJ,GAA4BhpJ,GAAW,EAAG4hF,EAAQzhF,GACnE,MAEF,KAAK,EACHs2F,EAAOt2F,IAAU+mJ,GAAQN,GACzB,MAEF,KAAK,EAEH,GAAkB,KAAdA,EAAkB,CAEpBnwD,IAASt2F,GAAoB,KAAX2mJ,KAAgB,MAAQ,GAC1CllE,EAAOzhF,GAASs2F,EAAOt2F,GAAO1H,OAC9B,MAKJ,QACEg+F,EAAOt2F,IAAUwjD,GAAKijG,UAEnBA,EAAY1zH,MAErB,OAAOujE,EAIQyyD,CAAQlC,GAAMvsJ,GAAQmnF,KAInCunE,GAA+B,IAAI9qH,QACnC+qH,GAAS,SAAgB5kJ,GAC3B,GAAqB,SAAjBA,EAAQhI,MAAoBgI,EAAQqvC,UAExCrvC,EAAQ/L,OAAS,GAFjB,CAUA,IAJA,IAAIgC,EAAQ+J,EAAQ/J,MAChBo5C,EAASrvC,EAAQqvC,OACjBw1G,EAAiB7kJ,EAAQ8uC,SAAWO,EAAOP,QAAU9uC,EAAQmsF,OAAS98C,EAAO88C,KAE1D,SAAhB98C,EAAOr3C,MAEZ,KADAq3C,EAASA,EAAOA,QACH,OAIf,IAA6B,IAAzBrvC,EAAQnB,MAAM5K,QAAwC,KAAxBgC,EAAM6rJ,WAAW,IAE/C6C,GAAcpqJ,IAAI80C,MAMlBw1G,EAAJ,CAIAF,GAAcnqJ,IAAIwF,GAAS,GAK3B,IAJA,IAAIo9E,EAAS,GACTumE,EAAQc,GAASxuJ,EAAOmnF,GACxB0nE,EAAcz1G,EAAOxwC,MAEhB9K,EAAI,EAAG8R,EAAI,EAAG9R,EAAI4vJ,EAAM1vJ,OAAQF,IACvC,IAAK,IAAIgqE,EAAI,EAAGA,EAAI+mF,EAAY7wJ,OAAQ8pE,IAAKl4D,IAC3C7F,EAAQnB,MAAMgH,GAAKu3E,EAAOrpF,GAAK4vJ,EAAM5vJ,GAAG2P,QAAQ,OAAQohJ,EAAY/mF,IAAM+mF,EAAY/mF,GAAK,IAAM4lF,EAAM5vJ,MAIzGgxJ,GAAc,SAAqB/kJ,GACrC,GAAqB,SAAjBA,EAAQhI,KAAiB,CAC3B,IAAI/B,EAAQ+J,EAAQ/J,MAGI,MAAxBA,EAAM6rJ,WAAW,IACO,KAAxB7rJ,EAAM6rJ,WAAW,KAEf9hJ,EAAO,OAAa,GACpBA,EAAQ/J,MAAQ,MAmHtB,SAASm7F,GAAOn7F,EAAOhC,GACrB,ON1NK,SAAegC,EAAOhC,GAC5B,OAA0B,GAAnB4tJ,GAAO5rJ,EAAO,MAAiBhC,GAAU,EAAK4tJ,GAAO5rJ,EAAO,KAAO,EAAK4rJ,GAAO5rJ,EAAO,KAAO,EAAK4rJ,GAAO5rJ,EAAO,KAAO,EAAK4rJ,GAAO5rJ,EAAO,GAAK,EMyN7IwtE,CAAKxtE,EAAOhC,IAElB,KAAK,KACH,MAAOivJ,iBAAoBjtJ,EAAQA,EAGrC,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACH,OAAOitJ,GAASjtJ,EAAQA,EAG1B,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACH,OAAOitJ,GAASjtJ,EAAQgtJ,GAAMhtJ,EAAQ+sJ,GAAK/sJ,EAAQA,EAGrD,KAAK,KACL,KAAK,KACH,OAAOitJ,GAASjtJ,EAAQ+sJ,GAAK/sJ,EAAQA,EAGvC,KAAK,KACH,OAAOitJ,GAASjtJ,EAAQ+sJ,GAAK,QAAU/sJ,EAAQA,EAGjD,KAAK,KACH,OAAOitJ,GAASjtJ,EAAQyN,GAAQzN,EAAO,iBAAkBitJ,iCAA0CjtJ,EAGrG,KAAK,KACH,OAAOitJ,GAASjtJ,EAAQ+sJ,GAAK,aAAet/I,GAAQzN,EAAO,cAAe,IAAMA,EAGlF,KAAK,KACH,OAAOitJ,GAASjtJ,EAAQ+sJ,GAAK,iBAAmBt/I,GAAQzN,EAAO,4BAA6B,IAAMA,EAGpG,KAAK,KACH,OAAOitJ,GAASjtJ,EAAQ+sJ,GAAKt/I,GAAQzN,EAAO,SAAU,YAAcA,EAGtE,KAAK,KACH,OAAOitJ,GAASjtJ,EAAQ+sJ,GAAKt/I,GAAQzN,EAAO,QAAS,kBAAoBA,EAG3E,KAAK,KACH,MAAOitJ,eAAkBx/I,GAAQzN,EAAO,QAAS,IAAMitJ,GAASjtJ,EAAQ+sJ,GAAKt/I,GAAQzN,EAAO,OAAQ,YAAcA,EAGpH,KAAK,KACH,OAAOitJ,GAASx/I,GAAQzN,EAAO,qBAAsB,gBAAwBA,EAG/E,KAAK,KACH,OAAOyN,GAAQA,GAAQA,GAAQzN,EAAO,eAAgBitJ,cAAgB,cAAeA,cAAgBjtJ,EAAO,IAAMA,EAGpH,KAAK,KACL,KAAK,KACH,OAAOyN,GAAQzN,EAAO,oBAAqBitJ,kBAG7C,KAAK,KACH,OAAOx/I,GAAQA,GAAQzN,EAAO,oBAAqBitJ,uCAA+C,aAAc,WAAaA,GAASjtJ,EAAQA,EAGhJ,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACH,OAAOyN,GAAQzN,EAAO,kBAAmBitJ,gBAAmBjtJ,EAG9D,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEH,GAAIgsJ,GAAOhsJ,GAAS,EAAIhC,EAAS,EAAG,OAAQ4tJ,GAAO5rJ,EAAOhC,EAAS,IAEjE,KAAK,IAEH,GAAkC,KAA9B4tJ,GAAO5rJ,EAAOhC,EAAS,GAAW,MAGxC,KAAK,IACH,OAAOyP,GAAQzN,EAAO,mBAAoB,0BAAqE,KAA7B4rJ,GAAO5rJ,EAAOhC,EAAS,GAAY,KAAO,UAAYgC,EAG1I,KAAK,IACH,OAAQ2rJ,GAAQ3rJ,EAAO,WAAam7F,GAAO1tF,GAAQzN,EAAO,UAAW,kBAAmBhC,GAAUgC,EAAQA,EAE9G,MAGF,KAAK,KAEH,GAAkC,MAA9B4rJ,GAAO5rJ,EAAOhC,EAAS,GAAY,MAGzC,KAAK,KACH,OAAQ4tJ,GAAO5rJ,EAAOgsJ,GAAOhsJ,GAAS,IAAM2rJ,GAAQ3rJ,EAAO,eAAiB,MAE1E,KAAK,IACH,OAAOyN,GAAQzN,EAAO,IAAK,aAAgBA,EAG7C,KAAK,IACH,OAAOyN,GAAQzN,EAAO,wBAAyB,cAAuC,KAAtB4rJ,GAAO5rJ,EAAO,IAAa,UAAY,IAAxD,0CAA0HA,EAG7K,MAGF,KAAK,KACH,OAAQ4rJ,GAAO5rJ,EAAOhC,EAAS,KAE7B,KAAK,IACH,OAAOivJ,GAASjtJ,EAAQ+sJ,GAAKt/I,GAAQzN,EAAO,qBAAsB,MAAQA,EAG5E,KAAK,IACH,OAAOitJ,GAASjtJ,EAAQ+sJ,GAAKt/I,GAAQzN,EAAO,qBAAsB,SAAWA,EAG/E,KAAK,GACH,OAAOitJ,GAASjtJ,EAAQ+sJ,GAAKt/I,GAAQzN,EAAO,qBAAsB,MAAQA,EAG9E,OAAOitJ,GAASjtJ,EAAQ+sJ,GAAK/sJ,EAAQA,EAGzC,OAAOA,EAGT,IAqCI+uJ,GAAuB,CArCZ,SAAkBhlJ,EAASrE,EAAOiN,EAAUknB,GACzD,GAAI9vB,EAAQ/L,QAAU,IAAQ+L,EAAO,OAAY,OAAQA,EAAQhI,MAC/D,KAAKqrJ,GACHrjJ,EAAO,OAAaoxF,GAAOpxF,EAAQ/J,MAAO+J,EAAQ/L,QAClD,MAEF,KAAKqvJ,GACH,OAAOC,GAAU,CAACtpJ,GAAK+F,EAAS,CAC9B/J,MAAOyN,GAAQ1D,EAAQ/J,MAAO,IAAK,gBAChC65B,GAEP,KAAKszH,GACH,GAAIpjJ,EAAQ/L,OAAQ,ONzTnB,SAAkBqL,EAAOwwB,GAC/B,OAAOxwB,EAAMiwC,IAAIzf,GAAUh7B,KAAK,IMwTAmwJ,CAAQjlJ,EAAQnB,OAAO,SAAU5I,GAC1D,ONlYD,SAAgBA,EAAOmsE,GAC7B,OAAQnsE,EAAQmsE,EAAQ+I,KAAKl1E,IAAUA,EAAM,GAAKA,EMiYnCqP,CAAMrP,EAAO,0BAEnB,IAAK,aACL,IAAK,cACH,OAAOstJ,GAAU,CAACtpJ,GAAK+F,EAAS,CAC9BnB,MAAO,CAAC6E,GAAQzN,EAAO,cAAe,gBACnC65B,GAGP,IAAK,gBACH,OAAOyzH,GAAU,CAACtpJ,GAAK+F,EAAS,CAC9BnB,MAAO,CAAC6E,GAAQzN,EAAO,aAAc,wBACnCgE,GAAK+F,EAAS,CAChBnB,MAAO,CAAC6E,GAAQzN,EAAO,aAAc,eACnCgE,GAAK+F,EAAS,CAChBnB,MAAO,CAAC6E,GAAQzN,EAAO,aAAc+sJ,oBAClClzH,GAGT,MAAO,SAyIf,GAlIkB,SAAqBxnB,GACrC,IAAI1T,EAAM0T,EAAQ1T,IAMlB,GAAa,QAARA,EAAe,CAClB,IAAIswJ,EAAYxjJ,SAASslC,iBAAiB,qCAK1C3yC,MAAMM,UAAUkO,QAAQhO,KAAKqwJ,GAAW,SAAU/kJ,IASL,IAFhBA,EAAKm9D,aAAa,gBAEpBrwD,QAAQ,OAGjCvL,SAASm8D,KAAKn0D,YAAYvJ,GAC1BA,EAAKqD,aAAa,SAAU,QAIhC,IAAI2hJ,EAAgB78I,EAAQ68I,eAAiBH,GAS7C,IACItuD,EAkBA0uD,EAnBAC,EAAW,GAEXC,EAAiB,GAGnB5uD,EAAYpuF,EAAQouF,WAAah1F,SAASm8D,KAC1CxpE,MAAMM,UAAUkO,QAAQhO,KAExB6M,SAASslC,iBAAiB,wBAA2BpyC,EAAM,QAAS,SAAUuL,GAG5E,IAFA,IAAIolJ,EAASplJ,EAAKm9D,aAAa,gBAAgB16D,MAAM,KAE5C7O,EAAI,EAAGA,EAAIwxJ,EAAOtxJ,OAAQF,IACjCsxJ,EAASE,EAAOxxJ,KAAM,EAGxBuxJ,EAAelxJ,KAAK+L,MAMxB,IAAIqlJ,EAAqB,CAACZ,GAAQG,IAYhC,IAAIU,EACAC,EAAoB,CAACx+G,GAUrBu8G,IAAU,SAAUxC,GACtBwE,EAAazE,OAAOC,OAElB0E,EFhhBD,SAAqBC,GAC3B,IAAI3xJ,EAASiuJ,GAAO0D,GAEpB,OAAO,SAAU5lJ,EAASrE,EAAOiN,EAAUknB,GAG1C,IAFA,IAAI0zH,EAAS,GAEJzvJ,EAAI,EAAGA,EAAIE,EAAQF,IAC3ByvJ,GAAUoC,EAAW7xJ,GAAGiM,EAASrE,EAAOiN,EAAUknB,IAAa,GAEhE,OAAO0zH,GEugBYqC,CAAWL,EAAmB3vJ,OAAOsvJ,EAAeO,IAMrEN,EAAU,SAAgBU,EAAUC,EAAY5E,EAAO6E,GACrDP,EAAetE,EAJRoC,GAAUG,GAcVoC,EAAWA,EAAW,IAAMC,EAAW1wD,OAAS,IAAM0wD,EAAW1wD,QAdtCswD,GAgB9BK,IACFxgH,EAAM6/G,SAASU,EAAWxvJ,OAAQ,IAKxC,IAAIivC,EAAQ,CACV5wC,IAAKA,EACLusJ,MAAO,IAAIb,GAAW,CACpB1rJ,IAAKA,EACL8hG,UAAWA,EACXmqD,MAAOv4I,EAAQu4I,MACfF,OAAQr4I,EAAQq4I,OAChB1oJ,QAASqQ,EAAQrQ,QACjBwoJ,eAAgBn4I,EAAQm4I,iBAE1BI,MAAOv4I,EAAQu4I,MACfwE,SAAUA,EACVY,WAAY,GACZjF,OAAQoE,GAGV,OADA5/G,EAAM27G,MAAM13G,QAAQ67G,GACb9/G,GCvjBT,IAAI0gH,GAAiB,SAAwB1gH,EAAOugH,EAAYI,GAC9D,IAAIl5G,EAAYzH,EAAM5wC,IAAM,IAAMmxJ,EAAWxvJ,MAO5B,IAAhB4vJ,QAIwD7uJ,IAAhCkuC,EAAMygH,WAAWh5G,KACxCzH,EAAMygH,WAAWh5G,GAAa84G,EAAW1wD,SC6B7C,OAnDA,SAAiBnqB,GAYf,IANA,IAEIrlE,EAFAD,EAAI,EAGJ7R,EAAI,EACJmH,EAAMgwE,EAAIj3E,OAEPiH,GAAO,IAAKnH,EAAGmH,GAAO,EAE3B2K,EAEe,YAAV,OAHLA,EAAwB,IAApBqlE,EAAI42E,WAAW/tJ,IAAmC,IAAtBm3E,EAAI42E,aAAa/tJ,KAAc,GAA2B,IAAtBm3E,EAAI42E,aAAa/tJ,KAAc,IAA4B,IAAtBm3E,EAAI42E,aAAa/tJ,KAAc,MAG9F,OAAZ8R,IAAM,KAAgB,IAIpDD,EAEe,YAAV,OALLC,GAEAA,IAAM,MAGoC,OAAZA,IAAM,KAAgB,IAErC,YAAV,MAAJD,IAAyC,OAAZA,IAAM,KAAgB,IAItD,OAAQ1K,GACN,KAAK,EACH0K,IAA8B,IAAxBslE,EAAI42E,WAAW/tJ,EAAI,KAAc,GAEzC,KAAK,EACH6R,IAA8B,IAAxBslE,EAAI42E,WAAW/tJ,EAAI,KAAc,EAEzC,KAAK,EAEH6R,EAEe,YAAV,OAHLA,GAAyB,IAApBslE,EAAI42E,WAAW/tJ,MAGsB,OAAZ6R,IAAM,KAAgB,IASxD,SAHAA,EAEe,YAAV,OAHLA,GAAKA,IAAM,MAG+B,OAAZA,IAAM,KAAgB,KACvCA,IAAM,MAAQ,GAAGnR,SAAS,KCFzC,GAjDmB,CACjByV,wBAAyB,EACzBE,kBAAmB,EACnBC,iBAAkB,EAClBC,iBAAkB,EAClBC,QAAS,EACTC,aAAc,EACdC,gBAAiB,EACjBC,YAAa,EACbC,QAAS,EACTC,KAAM,EACNC,SAAU,EACVC,aAAc,EACdC,WAAY,EACZC,aAAc,EACdC,UAAW,EACXE,QAAS,EACTC,WAAY,EACZC,YAAa,EACbC,aAAc,EACdC,WAAY,EACZC,cAAe,EACfC,eAAgB,EAChBC,gBAAiB,EACjB06I,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,iBAAkB,EAClB56I,WAAY,EACZE,WAAY,EACZC,QAAS,EACTC,MAAO,EACPC,QAAS,EACTC,QAAS,EACTC,OAAQ,EACRC,OAAQ,EACRC,KAAM,EACNo6I,gBAAiB,EAEjBn6I,YAAa,EACbC,aAAc,EACdC,YAAa,EACbC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,cAAe,EACfC,YAAa,GCtCf,ICFI65I,GAAiB,aACjBC,GAAiB,8BAEjBC,GAAmB,SAA0Bz9E,GAC/C,OAAkC,KAA3BA,EAAS44E,WAAW,IAGzB8E,GAAqB,SAA4B3wJ,GACnD,OAAgB,MAATA,GAAkC,mBAAVA,GAG7B4wJ,GDjBJ,SAAiBl4G,GACf,IAAInJ,EAAQ9wC,OAAO4D,OAAO,MAC1B,OAAO,SAAUpE,GAEf,YADmBoD,IAAfkuC,EAAMtxC,KAAoBsxC,EAAMtxC,GAAOy6C,EAAGz6C,IACvCsxC,EAAMtxC,ICaqB4yJ,EAAQ,SAAUC,GACtD,OAAOJ,GAAiBI,GAAaA,EAAYA,EAAUrjJ,QAAQ+iJ,GAAgB,OAAO3jJ,iBAGxFkkJ,GAAoB,SAA2BpyJ,EAAKqB,GACtD,OAAQrB,GACN,IAAK,YACL,IAAK,gBAED,GAAqB,kBAAVqB,EACT,OAAOA,EAAMyN,QAAQgjJ,IAAgB,SAAUphJ,EAAO8lE,EAAIC,GAMxD,OALA56B,GAAS,CACPl6C,KAAM60E,EACNiqB,OAAQhqB,EACR38C,KAAM+hB,IAED26B,KAMjB,OAAsB,IAAlB67E,GAASryJ,IAAe+xJ,GAAiB/xJ,IAAyB,kBAAVqB,GAAgC,IAAVA,EAI3EA,EAHEA,EAAQ,MAoCnB,SAASixJ,GAAoBC,EAAalB,EAAYmB,GACpD,GAAqB,MAAjBA,EACF,MAAO,GAGT,QAAuC9vJ,IAAnC8vJ,EAAcC,iBAKhB,OAAOD,EAGT,cAAeA,GACb,IAAK,UAED,MAAO,GAGX,IAAK,SAED,GAA2B,IAAvBA,EAAcroD,KAMhB,OALAtuD,GAAS,CACPl6C,KAAM6wJ,EAAc7wJ,KACpB8+F,OAAQ+xD,EAAc/xD,OACtB3mE,KAAM+hB,IAED22G,EAAc7wJ,KAGvB,QAA6Be,IAAzB8vJ,EAAc/xD,OAAsB,CACtC,IAAI3mE,EAAO04H,EAAc14H,KAEzB,QAAap3B,IAATo3B,EAGF,UAAgBp3B,IAATo3B,GACL+hB,GAAS,CACPl6C,KAAMm4B,EAAKn4B,KACX8+F,OAAQ3mE,EAAK2mE,OACb3mE,KAAM+hB,IAER/hB,EAAOA,EAAKA,KAUhB,OANa04H,EAAc/xD,OAAS,IAStC,OA2CR,SAAgC8xD,EAAalB,EAAYz3G,GACvD,IAAI5uC,EAAS,GAEb,GAAIvL,MAAMC,QAAQk6C,GAChB,IAAK,IAAIz6C,EAAI,EAAGA,EAAIy6C,EAAIv6C,OAAQF,IAC9B6L,GAAUsnJ,GAAoBC,EAAalB,EAAYz3G,EAAIz6C,IAAM,SAGnE,IAAK,IAAI4/I,KAAQnlG,EAAK,CACpB,IAAIv4C,EAAQu4C,EAAImlG,GAEhB,GAAqB,kBAAV19I,EACS,MAAdgwJ,QAA4C3uJ,IAAtB2uJ,EAAWhwJ,GACnC2J,GAAU+zI,EAAO,IAAMsS,EAAWhwJ,GAAS,IAClC2wJ,GAAmB3wJ,KAC5B2J,GAAUinJ,GAAiBlT,GAAQ,IAAMqT,GAAkBrT,EAAM19I,GAAS,UAO5E,IAAI5B,MAAMC,QAAQ2B,IAA8B,kBAAbA,EAAM,IAAkC,MAAdgwJ,QAA+C3uJ,IAAzB2uJ,EAAWhwJ,EAAM,IAM7F,CACL,IAAIglI,EAAeisB,GAAoBC,EAAalB,EAAYhwJ,GAEhE,OAAQ09I,GACN,IAAK,YACL,IAAK,gBAED/zI,GAAUinJ,GAAiBlT,GAAQ,IAAM1Y,EAAe,IACxD,MAGJ,QAMIr7H,GAAU+zI,EAAO,IAAM1Y,EAAe,UAtB5C,IAAK,IAAIj8D,EAAK,EAAGA,EAAK/oE,EAAMhC,OAAQ+qE,IAC9B4nF,GAAmB3wJ,EAAM+oE,MAC3Bp/D,GAAUinJ,GAAiBlT,GAAQ,IAAMqT,GAAkBrT,EAAM19I,EAAM+oE,IAAO,KA4B1F,OAAOp/D,EAhGM0nJ,CAAuBH,EAAalB,EAAYmB,GAG3D,IAAK,WAED,QAAoB9vJ,IAAhB6vJ,EAA2B,CAC7B,IAAII,EAAiB92G,GACjBooB,EAASuuF,EAAcD,GAE3B,OADA12G,GAAS82G,EACFL,GAAoBC,EAAalB,EAAYptF,IA0B5D,GAAkB,MAAdotF,EACF,OAAOmB,EAGT,IAAI7lD,EAAS0kD,EAAWmB,GACxB,YAAkB9vJ,IAAXiqG,EAAuBA,EAAS6lD,EA2DzC,IASI32G,GATA+2G,GAAe,iCAUnB,IAAIC,GAAkB,SAAyBjyJ,EAAMywJ,EAAYkB,GAC/D,GAAoB,IAAhB3xJ,EAAKvB,QAAmC,kBAAZuB,EAAK,IAA+B,OAAZA,EAAK,SAAkC8B,IAAnB9B,EAAK,GAAG6/F,OAClF,OAAO7/F,EAAK,GAGd,IAAIkyJ,GAAa,EACbryD,EAAS,GACb5kD,QAASn5C,EACT,IAAIqwJ,EAAUnyJ,EAAK,GAEJ,MAAXmyJ,QAAmCrwJ,IAAhBqwJ,EAAQ5gD,KAC7B2gD,GAAa,EACbryD,GAAU6xD,GAAoBC,EAAalB,EAAY0B,IAMvDtyD,GAAUsyD,EAAQ,GAIpB,IAAK,IAAI5zJ,EAAI,EAAGA,EAAIyB,EAAKvB,OAAQF,IAC/BshG,GAAU6xD,GAAoBC,EAAalB,EAAYzwJ,EAAKzB,IAExD2zJ,IAKFryD,GAAUsyD,EAAQ5zJ,IActByzJ,GAAaI,UAAY,EAIzB,IAHA,IACItiJ,EADAuiJ,EAAiB,GAG0B,QAAvCviJ,EAAQkiJ,GAAar8E,KAAKkqB,KAChCwyD,GAAkB,IAClBviJ,EAAM,GAkBR,MAAO,CACL/O,KAhBSuxJ,GAAWzyD,GAAUwyD,EAiB9BxyD,OAAQA,EACR3mE,KAAM+hB,KChTN/X,KAAqB8T,EAAK,oBAA8BA,EAAK,mBAC7Du7G,GAA4CrvH,IAL7B,SAAsBpgC,GACvC,OAAOA,KCKL1E,IDAuC8kC,IAAsBC,EAAAA,gBCA5C,GAAG/kC,gBAEpBo0J,IAAqC9zF,EAAAA,EAAAA,eAMlB,qBAAhB+zF,YAA6CC,GAAY,CAC9DtzJ,IAAK,QACF,MAMeozJ,GAAoB3zF,SAAxC,IAKI8zF,GAAmB,SAA0B1oJ,GAE/C,OAAoBk1D,EAAAA,EAAAA,aAAW,SAAU91D,EAAOuzB,GAE9C,IAAIoT,GAAQjN,EAAAA,EAAAA,YAAWyvH,IACvB,OAAOvoJ,EAAKZ,EAAO2mC,EAAOpT,OAI1Bg2H,IAA8Bl0F,EAAAA,EAAAA,eAAc,IA6DhD,IA2CIm0F,GAAe,qCAEfC,GAAqB,SAA4BtwJ,EAAM6G,GAMzD,IAAI0pJ,EAAW,GAEf,IAAK,IAAI3zJ,KAAOiK,EACVjL,GAAeiB,KAAKgK,EAAOjK,KAC7B2zJ,EAAS3zJ,GAAOiK,EAAMjK,IAY1B,OARA2zJ,EAASF,IAAgBrwJ,EAQlBuwJ,GAGLC,GAAY,SAAmBlR,GACjC,IAAI9xG,EAAQ8xG,EAAK9xG,MACbugH,EAAazO,EAAKyO,WAClBI,EAAc7O,EAAK6O,YACvBD,GAAe1gH,EAAOugH,EAAYI,GACtB4B,IAAyC,WACnD,ONpJe,SAAsBviH,EAAOugH,EAAYI,GAC1DD,GAAe1gH,EAAOugH,EAAYI,GAClC,IAAIl5G,EAAYzH,EAAM5wC,IAAM,IAAMmxJ,EAAWxvJ,KAE7C,QAAwCe,IAApCkuC,EAAM6/G,SAASU,EAAWxvJ,MAAqB,CACjD,IAAIya,EAAU+0I,EAEd,GACoBvgH,EAAMw7G,OAAO+E,IAAe/0I,EAAU,IAAMi8B,EAAY,GAAIj8B,EAASw0B,EAAM27G,OAAO,GAEpGnwI,EAAUA,EAAQ0d,gBACCp3B,IAAZ0Z,IMyIFy3I,CAAajjH,EAAOugH,EAAYI,MAGzC,OAAO,MAGLuC,GAAyBP,IAAiB,SAAUtpJ,EAAO2mC,EAAOpT,GACpE,IAAIu2H,EAAU9pJ,EAAM+pJ,IAIG,kBAAZD,QAAsDrxJ,IAA9BkuC,EAAMygH,WAAW0C,KAClDA,EAAUnjH,EAAMygH,WAAW0C,IAG7B,IAAIE,EAAmBhqJ,EAAMwpJ,IACzBS,EAAmB,CAACH,GACpB17G,EAAY,GAEe,kBAApBpuC,EAAMouC,UACfA,ENnMJ,SAA6Bg5G,EAAY6C,EAAkBj1J,GACzD,IAAIk1J,EAAe,GAQnB,OAPAl1J,EAAW+O,MAAM,KAAKC,SAAQ,SAAUoqC,QACR31C,IAA1B2uJ,EAAWh5G,GACb67G,EAAiB10J,KAAK6xJ,EAAWh5G,GAAa,KAE9C87G,GAAgB97G,EAAY,OAGzB87G,EM0LOC,CAAoBxjH,EAAMygH,WAAY6C,EAAkBjqJ,EAAMouC,WAC9C,MAAnBpuC,EAAMouC,YACfA,EAAYpuC,EAAMouC,UAAY,KAGhC,IAAI84G,EAAa0B,GAAgBqB,OAAkBxxJ,GAAWihC,EAAAA,EAAAA,YAAW6vH,KAUzEn7G,GAAazH,EAAM5wC,IAAM,IAAMmxJ,EAAWxvJ,KAC1C,IAAIgyJ,EAAW,GAEf,IAAK,IAAI3zJ,KAAOiK,EACVjL,GAAeiB,KAAKgK,EAAOjK,IAAgB,QAARA,GAAiBA,IAAQyzJ,KAC9DE,EAAS3zJ,GAAOiK,EAAMjK,IAM1B,OAFA2zJ,EAASn2H,IAAMA,EACfm2H,EAASt7G,UAAYA,GACDtrC,EAAAA,EAAAA,eAAcspC,EAAAA,SAAU,MAAmBtpC,EAAAA,EAAAA,eAAc6mJ,GAAW,CACtFhjH,MAAOA,EACPugH,WAAYA,EACZI,YAAyC,kBAArB0C,KACLlnJ,EAAAA,EAAAA,eAAcknJ,EAAkBN,kBC3F/Ch1F,GAAM,SAAav7D,EAAM6G,GAC3B,IAAIrJ,EAAOxB,UAEX,GAAa,MAAT6K,IAAkBjL,GAAAA,KAAoBiL,EAAO,OAE/C,OAAO8C,EAAAA,cAAAA,WAAoBrK,EAAW9B,GAGxC,IAAIyzJ,EAAazzJ,EAAKvB,OAClBi1J,EAAwB,IAAI70J,MAAM40J,GACtCC,EAAsB,GAAKR,GAC3BQ,EAAsB,GAAKZ,GAAmBtwJ,EAAM6G,GAEpD,IAAK,IAAI9K,EAAI,EAAGA,EAAIk1J,EAAYl1J,IAC9Bm1J,EAAsBn1J,GAAKyB,EAAKzB,GAIlC,OAAO4N,EAAAA,cAAAA,MAAoB,KAAMunJ,IAqFnC,SAASN,KACP,IAAK,IAAIlV,EAAO1/I,UAAUC,OAAQuB,EAAO,IAAInB,MAAMq/I,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/En+I,EAAKm+I,GAAQ3/I,UAAU2/I,GAGzB,OAAO8T,GAAgBjyJ,GCnPokFod,KAAKyQ,IAAMzQ,KAAKqmC,IAA0nC,IAAM/xB,GAAE,CAAC,MAAM,QAAQ,SAAS,QAAUA,GAAE8lB,QAAQ,SAAChmB,EAAEzoB,GAAH,OAAOyoB,EAAEnxB,OAAO0I,EAAEA,EAAE,SAASA,EAAE,UAAS,IAA0uG,ICAlrN8xB,GAAjM,SAASr2B,GAAEgtB,GAAG,IAAIzoB,EAAE,OAAO,OAAOA,EAAEyoB,EAAE7e,oBAAe,EAAO5J,EAAE+kB,cAAc7hB,OAAO,SAASi7D,GAAE11C,GAAG,OAAOhtB,GAAEgtB,GAAGkuE,iBAAiBluE,GAAG,SAASjzB,GAAEizB,GAAG,OAAO9kB,GAAE8kB,IAAIA,EAAEvgB,UAAU,IAAI3D,cAAc,GAAS,SAAS6C,KAAI,GAAG0qB,GAAE,OAAOA,GAAE,IAAMrJ,EAAEuuC,UAAU4zF,cAAc,OAAOniI,GAAG3yB,MAAMC,QAAQ0yB,EAAEoiI,QAAS/4H,GAAErJ,EAAEoiI,OAAO75G,KAAK,SAAAvoB,GAAC,OAAEA,EAAEqiI,MAAM,IAAIriI,EAAE0gB,WAAU5yC,KAAK,KAAQygE,UAAU+zF,UAAU,SAAStoJ,GAAEgmB,GAAG,OAAOA,aAAahtB,GAAEgtB,GAAGihI,YAAY,SAASttG,GAAE3zB,GAAG,OAAOA,aAAahtB,GAAEgtB,GAAGmjB,QAAQ,SAASjoC,GAAE8kB,GAAG,OAAOA,aAAahtB,GAAEgtB,GAAGuiI,KAAK,SAASpiI,GAAEH,GAAG,MAAG,oBAAoBwiI,aAA2BxiI,aAAahtB,GAAEgtB,GAAGwiI,YAAYxiI,aAAawiI,YAAW,SAAS1oJ,GAAEkmB,GAAG,MAAoD01C,GAAE11C,GAAvCzoB,EAAf,EAAMquB,SAAqB5yB,EAA3B,EAAiByvJ,UAAsB11J,EAAvC,EAA6B21J,UAAoBr5H,EAAjD,EAAyC0Q,QAAgB,MAAM,6BAA6B19B,KAAK9E,EAAExK,EAAEiG,KAAK,CAAC,SAAS,YAAY8L,SAASuqB,GAA8b,SAASluB,KAAI,OAAO,iCAAiCkB,KAAKsC,MAAK,SAASzN,GAAE8uB,GAAG,MAAM,CAAC,OAAO,OAAO,aAAalhB,SAAS/R,GAAEizB,IAAYpU,KAAKyQ,IAAMzQ,KAAKqmC,IAAxB,IAA4BtgD,GAAEia,KAAKk8C,MAAM5nC,GAAE,CAACA,EAAE,EAAEoJ,EAAE,GAAG,SAAStuB,GAAEglB,GAAG,IAAMzoB,GAAGo8C,GAAE3zB,IAAIA,EAAE2iI,eAAe3iI,EAAE2iI,eAAehvG,GAAE3zB,GAAGA,EAAE,KAAK,IAAIzoB,EAAE,OAAO2oB,GAAE,IAAMltB,EAAEuE,EAAE03F,wBAAwBliG,EAAE2oE,GAAEn+D,GAAG,GAAG,eAAexK,EAAEm9D,UAAU,OAAOlwD,GAAEzC,GAAG,CAAC2oB,EAAE3oB,EAAE2zD,YAAY,GAAGv5D,GAAEqB,EAAEsjB,OAAO/e,EAAE2zD,aAAa,EAAE5hC,EAAE/xB,EAAEqrJ,aAAa,GAAGjxJ,GAAEqB,EAAEujB,QAAQhf,EAAEqrJ,cAAc,GAAG1iI,GAAE,IAAImJ,EAAEr2B,EAAEsjB,MAAM45D,WAAWnjF,EAAEupB,OAAO3X,EAAE3L,EAAEujB,OAAO25D,WAAWnjF,EAAEwpB,QAAQ,OAAO8S,GAAGt6B,OAAO8gF,SAASxmD,KAAKA,EAAE,GAAG1qB,GAAG5P,OAAO8gF,SAASlxE,KAAKA,EAAE,GAAG,CAACuhB,EAAEmJ,EAAEC,EAAE3qB,GAAG,SAAS5E,GAAEimB,EAAEzoB,EAAEm+D,EAAE3oE,GAAG,IAAIs8B,EAAE1qB,EAAE3E,EAAEkB,OAAE,IAAS3D,IAAIA,GAAE,QAAI,IAASm+D,IAAIA,GAAE,GAAI,IAAMv1C,EAAEH,EAAEivE,wBAA4Bn1F,EAAEomB,GAAE3oB,IAAIxK,EAAE4mD,GAAE5mD,KAAK+M,EAAEkB,GAAEjO,IAAI+M,EAAEkB,GAAEglB,IAAI,IAAMphB,EAAE+0C,GAAE3zB,GAAGhtB,GAAEgtB,GAAGvlB,OAAOQ,GAAGE,MAAKu6D,EAAExkE,GAAGivB,EAAEhD,MAAMliB,GAAG,OAAOouB,EAAE,OAAO1qB,EAAEC,EAAEikJ,qBAAgB,EAAOlkJ,EAAE8+G,YAAYp0F,EAAE,IAAIvvB,EAAEomB,EAAErmB,GAAGsmB,EAAE9C,KAAKpiB,GAAG,OAAOjB,EAAE,OAAOkB,EAAE0D,EAAEikJ,qBAAgB,EAAO3nJ,EAAE4nJ,WAAW9oJ,EAAE,IAAIF,EAAEwvB,EAAEA,EAAEnJ,EAAE7J,MAAMxc,EAAEomB,EAAEvuB,EAAEwuB,EAAE5J,OAAOzc,EAAEwvB,EAAE,MAAM,CAAChT,MAAMgT,EAAE/S,OAAO5kB,EAAE0rB,IAAIxjB,EAAEylF,MAAMpuF,EAAEo4B,EAAEi2D,OAAO1lF,EAAElI,EAAEwrB,KAAKjsB,EAAEgvB,EAAEhvB,EAAEo4B,EAAEzvB,GAAG,SAASowB,GAAEjK,GAAG,QAAQ9kB,GAAE8kB,GAAGA,EAAE7e,cAAc6e,EAAEtlB,WAAWD,OAAOC,UAAUshB,gBAAmhB,SAASoc,GAAEpY,GAAG,GAAG,SAASjzB,GAAEizB,GAAG,OAAOA,EAAE,IAAMzoB,EAAEyoB,EAAE+iI,cAAc/iI,EAAEnY,aAAasY,GAAEH,GAAGA,EAAE6tE,KAAK,OAAO5jE,GAAEjK,GAAG,OAAOG,GAAE5oB,GAAGA,EAAEs2F,KAAKt2F,EAAkU,SAAS+nB,GAAEU,GAAG,IAAMzoB,EAAE6gC,GAAEpY,GAAG,OAAO9uB,GAAEqG,GAAGyoB,EAAE7e,cAAcb,KAAKtG,GAAEzC,IAAIuC,GAAEvC,GAAGA,EAAE+nB,GAAE/nB,GAAG,SAAS6oB,GAAEJ,EAAEzoB,GAAG,IAAIm+D,OAAE,IAASn+D,IAAIA,EAAE,IAAI,IAAMxK,EAAEuyB,GAAEU,GAAGqJ,EAAEt8B,KAAK,OAAO2oE,EAAE11C,EAAE7e,oBAAe,EAAOu0D,EAAEp1D,MAAM3B,EAAE3L,GAAEjG,GAAG,OAAOs8B,EAAE9xB,EAAE1I,OAAO8P,EAAEA,EAAEkkJ,gBAAgB,GAAG/oJ,GAAE/M,GAAGA,EAAE,IAAIwK,EAAE1I,OAAO9B,EAAEqzB,GAAErzB,IAAovG,62JCA31N4zJ,GAAS5gD,kwCHsPxC,WACd,IAAIijD,EAAapB,GAAIp0J,WAAM,EAAQR,WAC/BuC,EAAO,aAAeyzJ,EAAWzzJ,KAErC,MAAO,CACLA,KAAMA,EACN8+F,OAAQ,cAAgB9+F,EAAO,IAAMyzJ,EAAW30D,OAAS,IACzD0J,KAAM,EACNtqG,SAAU,WACR,MAAO,QAAU2B,KAAKG,KAAO,IAAMH,KAAKi/F,OAAS,gBG/PRsyD,kEACxC5gD,KACHA,GAAM4gD,GAAQ5wJ,MAAM,OAEfrC,OAAO4yG,OAAO5yG,OAAOs0E,iBAAiB2+E,GAAS,CACpD5gD,IAAK,CACH9wG,MAAOvB,OAAO4yG,OAAOP,i2HDNklM,SAAW//E,EAAEzoB,EAAEvE,EAAE0iE,QAAG,IAASA,IAAIA,EAAE,IAAI,MAAsFA,EAAtF,IAAMutF,eAAel2J,OAArB,aAA0Bm2J,eAAe75H,OAAzC,aAA8C85H,cAAcxkJ,OAA5D,aAAiEykJ,eAAeppJ,OAAhF,SAAwFkB,EAAEnO,IAAIiN,EAAEmmB,EAAEjlB,GAAGmuB,EAAH,aAASsqB,GAAE3zB,GAAGI,GAAEJ,GAAGA,EAAE2iI,eAAeviI,GAAEJ,EAAE2iI,gBAAgB,IAAxD,GAA8DviI,GAAE7oB,KAAI,GAAG4oB,EAAEtkB,SAAS,SAAAmkB,GAAI9kB,GAAG8kB,EAAE9sB,iBAAiB,SAASF,EAAE,CAAC+sB,SAAQ,IAAKsJ,GAAGrJ,EAAE9sB,iBAAiB,SAASF,MAAM,IAAI8G,EAAE8E,EAAE,KAAK,GAAGD,EAAE,CAAC,IAAI+2D,GAAE,EAAG92D,EAAE,IAAIg2G,gBAAgB,WAAKl/C,GAAG1iE,IAAI0iE,GAAE,KAAM/hB,GAAE3zB,KAAKhmB,GAAG4E,EAAEu1G,QAAQn0F,GAAG2zB,GAAE3zB,KAAKA,EAAE2iI,gBAAgB3oJ,GAAG4E,EAAEu1G,QAAQn0F,EAAE2iI,gBAAgB/jJ,EAAEu1G,QAAQ58G,GAAG,IAAI0D,EAAEjB,EAAED,GAAEimB,GAAG,KAAK,OAAOhmB,GAAG,SAASzC,IAAI,IAAMm+D,EAAE37D,GAAEimB,IAAI/kB,GAAGy6D,EAAEx1C,IAAIjlB,EAAEilB,GAAGw1C,EAAEpsC,IAAIruB,EAAEquB,GAAGosC,EAAEp/C,QAAQrb,EAAEqb,OAAOo/C,EAAEn/C,SAAStb,EAAEsb,QAAQvjB,IAAIiI,EAAEy6D,EAAE57D,EAAEsuD,sBAAsB7wD,GAA5H,GAAkIvE,IAAI,WAAK,IAAIgtB,EAAEG,EAAEtkB,SAAS,SAAAmkB,GAAI9kB,GAAG8kB,EAAE5sB,oBAAoB,SAASJ,GAAGq2B,GAAGrJ,EAAE5sB,oBAAoB,SAASJ,MAAM,OAAOgtB,EAAEphB,IAAIohB,EAAEg1F,aAAap2G,EAAE,KAAK5E,GAAGguD,qBAAqBluD,ugEEAl4NupJ,GAAYt0J,OAAOC,OACnB,SAAkBC,GACd,MAAwB,kBAAVA,GAAsBA,IAAUA,GAWtD,SAASq0J,GAAeC,EAAWC,GAC/B,GAAID,EAAUt2J,SAAWu2J,EAAWv2J,OAChC,OAAO,EAEX,IAAK,IAAIF,EAAI,EAAGA,EAAIw2J,EAAUt2J,OAAQF,IAClC,GAdSiqH,EAcIusC,EAAUx2J,GAdPo7I,EAcWqb,EAAWz2J,KAbtCiqH,IAAUmxB,GAGVkb,GAAUrsC,IAAUqsC,GAAUlb,IAW1B,OAAO,EAfnB,IAAiBnxB,EAAOmxB,EAkBpB,OAAO,+4UAGX,SAAoBsb,EAAUC,QACV,IAAZA,IAAsBA,EAAUJ,IACpC,IAAI9kH,EAAQ,KACZ,SAASmlH,IAEL,IADA,IAAIC,EAAU,GACL5rF,EAAK,EAAGA,EAAKhrE,UAAUC,OAAQ+qE,IACpC4rF,EAAQ5rF,GAAMhrE,UAAUgrE,GAE5B,GAAIx5B,GAASA,EAAMqlH,WAAaz0J,MAAQs0J,EAAQE,EAASplH,EAAMslH,UAC3D,OAAOtlH,EAAMulH,WAEjB,IAAIA,EAAaN,EAASj2J,MAAM4B,KAAMw0J,GAMtC,OALAplH,EAAQ,CACJulH,WAAYA,EACZD,SAAUF,EACVC,SAAUz0J,MAEP20J,EAKX,OAHAJ,EAAS78B,MAAQ,WACbtoF,EAAQ,MAELmlH,gnkCCrBX,IAAIK,IAAkCr2F,EAAAA,EAAAA,aAAW,SAAU91D,EAAOuzB,GAChE,IAAI64H,ErBrBN,SAAyB3T,GACvB,IAAI4T,EAAwB5T,EAAK6T,kBAC/BA,OAA8C,IAA1BD,EAAmC,GAAKA,EAC5DE,EAAwB9T,EAAK+T,kBAC7BA,OAA8C,IAA1BD,GAA2CA,EAC/DE,EAAoBhU,EAAK7vI,aACzBA,OAAqC,IAAtB6jJ,EAA+B,KAAOA,EACrDC,EAAkBjU,EAAKkU,WACvBC,EAAkBnU,EAAKoU,WACvBC,EAAgBrU,EAAK9gG,SACrBo1G,EAAqBtU,EAAKuU,cAC1BC,EAAmBxU,EAAKyU,YACxBC,EAAkB1U,EAAK2U,WACvBC,EAAa5U,EAAKrhJ,MAClBk2J,EAAkBC,GAAyB9U,EAAM+I,IAEjD9H,EAAaC,GADCz/G,EAAAA,EAAAA,eAA6BzhC,IAApBi0J,EAAgCA,EAAkBJ,GAClC,GACvCkB,EAAkB9T,EAAW,GAC7B+T,EAAqB/T,EAAW,GAEhCgU,EAAa/T,GADEz/G,EAAAA,EAAAA,eAA6BzhC,IAApBm0J,EAAgCA,EAAkBJ,GAClC,GACxCmB,EAAkBD,EAAW,GAC7BE,EAAqBF,EAAW,GAEhCG,EAAalU,GADEz/G,EAAAA,EAAAA,eAAwBzhC,IAAf40J,EAA2BA,EAAazkJ,GACxB,GACxCklJ,EAAaD,EAAW,GACxBE,EAAgBF,EAAW,GACzBl2G,GAAWle,EAAAA,EAAAA,cAAY,SAAUriC,EAAO42J,GACb,oBAAlBlB,GACTA,EAAc11J,EAAO42J,GAEvBD,EAAc32J,KACb,CAAC01J,IACAE,GAAgBvzH,EAAAA,EAAAA,cAAY,SAAUriC,EAAO42J,GAC/C,IAAIC,EAC8B,oBAAvBlB,IACTkB,EAAWlB,EAAmB31J,EAAO42J,IAEvCP,OAAgCh1J,IAAbw1J,EAAyBA,EAAW72J,KACtD,CAAC21J,IACAK,GAAa3zH,EAAAA,EAAAA,cAAY,WACI,oBAApB0zH,GACTA,IAEFS,GAAmB,KAClB,CAACT,IACAD,GAAczzH,EAAAA,EAAAA,cAAY,WACI,oBAArBwzH,GACTA,IAEFW,GAAmB,KAClB,CAACX,IACAN,OAAiCl0J,IAApBi0J,EAAgCA,EAAkBc,EAC/DX,OAAiCp0J,IAApBm0J,EAAgCA,EAAkBe,EAC/Dv2J,OAAuBqB,IAAf40J,EAA2BA,EAAaS,EACpD,OAAOhX,GAAcA,GAAc,GAAIwW,GAAkB,GAAI,CAC3DX,WAAYA,EACZE,WAAYA,EACZl1G,SAAUA,EACVq1G,cAAeA,EACfE,YAAaA,EACbE,WAAYA,EACZh2J,MAAOA,IqBzCa82J,CAAgBluJ,GACtC,OAAoB2tC,EAAAA,cAAoBwgH,GAAQC,EAAS,CACvD76H,IAAKA,GACJ64H,OAkBL,wBC/CWiC,GAA8B1gH,EAAAA,gBAC9B2gH,GAAoC3gH,EAAAA,gBACxC,SAAS4gH,GAAQ9V,GACtB,IAAI1uI,EAAW0uI,EAAK1uI,SAEhBykJ,EAAkB7gH,EAAAA,SAAe,MACjC8gH,EAAgBD,EAAgB,GAChCE,EAAmBF,EAAgB,GAEnCG,EAAehhH,EAAAA,QAAa,GAChCA,EAAAA,WAAgB,WACd,OAAO,WACLghH,EAAax8I,SAAU,KAExB,IACH,IAAIy8I,EAAyBjhH,EAAAA,aAAkB,SAAUrsC,GAClDqtJ,EAAax8I,SAChBu8I,EAAiBptJ,KAElB,IACH,OAAoBqsC,EAAAA,cAAoB0gH,GAA4B74F,SAAU,CAC5Ep+D,MAAOq3J,GACO9gH,EAAAA,cAAoB2gH,GAAkC94F,SAAU,CAC9Ep+D,MAAOw3J,GACN7kJ,ICnBE,IAAI8kJ,GAAc,SAAqBx5J,GAC5C,OAAOG,MAAMC,QAAQJ,GAAOA,EAAI,GAAKA,GAO5By5J,GAAa,SAAoBh/G,GAC1C,GAAkB,oBAAPA,EAAmB,CAC5B,IAAK,IAAI+kG,EAAO1/I,UAAUC,OAAQuB,EAAO,IAAInB,MAAMq/I,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAClGn+I,EAAKm+I,EAAO,GAAK3/I,UAAU2/I,GAG7B,OAAOhlG,EAAGn6C,WAAM,EAAQgB,KAOjBo4J,GAAS,SAAgBx7H,EAAKjyB,GAEvC,GAAmB,oBAARiyB,EACT,OAAOu7H,GAAWv7H,EAAKjyB,GAET,MAAPiyB,IACLA,EAAIphB,QAAU7Q,IAOT0tJ,GAAc,SAAqBljH,GAC5C,OAAOA,EAAQqC,QAAO,SAAU4kB,EAAK0lF,GACnC,IAAI1iJ,EAAM0iJ,EAAK,GACXrhJ,EAAQqhJ,EAAK,GAEjB,OADA1lF,EAAIh9D,GAAOqB,EACJ27D,IACN,KAMMk8F,GAA8C,qBAAXrsJ,QAA0BA,OAAOC,UAAYD,OAAOC,SAASC,cAAgB6qC,EAAAA,gBAAwBA,EAAAA,UCpDpI,SAASuhH,GAAU5tJ,GAChC,GAAY,MAARA,EACF,OAAOsB,OAGT,GAAwB,oBAApBtB,EAAK1L,WAAkC,CACzC,IAAI0T,EAAgBhI,EAAKgI,cACzB,OAAOA,GAAgBA,EAAcmb,aAAwB7hB,OAG/D,OAAOtB,ECRT,SAASwrC,GAAUxrC,GAEjB,OAAOA,aADU4tJ,GAAU5tJ,GAAMgqC,SACIhqC,aAAgBgqC,QAGvD,SAAS6jH,GAAc7tJ,GAErB,OAAOA,aADU4tJ,GAAU5tJ,GAAM8nJ,aACI9nJ,aAAgB8nJ,YAGvD,SAASgG,GAAa9tJ,GAEpB,MAA0B,qBAAfqpJ,aAKJrpJ,aADU4tJ,GAAU5tJ,GAAMqpJ,YACIrpJ,aAAgBqpJ,YCnBhD,IAAIvwG,GAAMrmC,KAAKqmC,IACX51B,GAAMzQ,KAAKyQ,IACXyrC,GAAQl8C,KAAKk8C,MCAT,SAASmnC,GAAsBj2F,EAASkuJ,QAChC,IAAjBA,IACFA,GAAe,GAGjB,IAAInjE,EAAO/qF,EAAQi2F,wBACfk4D,EAAS,EACTC,EAAS,EAEb,GAAIJ,GAAchuJ,IAAYkuJ,EAAc,CAC1C,IAAItE,EAAe5pJ,EAAQ4pJ,aACvB13F,EAAclyD,EAAQkyD,YAGtBA,EAAc,IAChBi8F,EAASr/F,GAAMi8B,EAAKztE,OAAS40C,GAAe,GAG1C03F,EAAe,IACjBwE,EAASt/F,GAAMi8B,EAAKxtE,QAAUqsI,GAAgB,GAIlD,MAAO,CACLtsI,MAAOytE,EAAKztE,MAAQ6wI,EACpB5wI,OAAQwtE,EAAKxtE,OAAS6wI,EACtB/pI,IAAK0mE,EAAK1mE,IAAM+pI,EAChB9nE,MAAOyE,EAAKzE,MAAQ6nE,EACpB5nE,OAAQwE,EAAKxE,OAAS6nE,EACtBjqI,KAAM4mE,EAAK5mE,KAAOgqI,EAClBjnI,EAAG6jE,EAAK5mE,KAAOgqI,EACf79H,EAAGy6D,EAAK1mE,IAAM+pI,GChCH,SAASC,GAAgBluJ,GACtC,IAAImuJ,EAAMP,GAAU5tJ,GAGpB,MAAO,CACLikB,WAHekqI,EAAIC,YAInBjqI,UAHcgqI,EAAIE,aCJP,SAASC,GAAYzuJ,GAClC,OAAOA,GAAWA,EAAQyG,UAAY,IAAI3D,cAAgB,KCA7C,SAAS4rJ,GAAmB1uJ,GAEzC,QAAS2rC,GAAU3rC,GAAWA,EAAQmI,cACtCnI,EAAQ0B,WAAaD,OAAOC,UAAUshB,gBCDzB,SAAS2rI,GAAoB3uJ,GAQ1C,OAAOi2F,GAAsBy4D,GAAmB1uJ,IAAUmkB,KAAOkqI,GAAgBruJ,GAASokB,WCV7E,SAAS8wE,GAAiBl1F,GACvC,OAAO+tJ,GAAU/tJ,GAASk1F,iBAAiBl1F,GCD9B,SAAS4uJ,GAAe5uJ,GAErC,IAAI6uJ,EAAoB35D,GAAiBl1F,GACrC4sB,EAAWiiI,EAAkBjiI,SAC7B68H,EAAYoF,EAAkBpF,UAC9BC,EAAYmF,EAAkBnF,UAElC,MAAO,6BAA6BrmJ,KAAKupB,EAAW88H,EAAYD,GCUnD,SAASqF,GAAiBC,EAAyBC,EAAcC,QAC9D,IAAZA,IACFA,GAAU,GAGZ,IAAIC,EAA0BlB,GAAcgB,GACxCG,EAAuBnB,GAAcgB,IAf3C,SAAyBhvJ,GACvB,IAAI+qF,EAAO/qF,EAAQi2F,wBACfk4D,EAASr/F,GAAMi8B,EAAKztE,OAAStd,EAAQkyD,aAAe,EACpDk8F,EAASt/F,GAAMi8B,EAAKxtE,QAAUvd,EAAQ4pJ,cAAgB,EAC1D,OAAkB,IAAXuE,GAA2B,IAAXC,EAWmCgB,CAAgBJ,GACtEhsI,EAAkB0rI,GAAmBM,GACrCjkE,EAAOkL,GAAsB84D,EAAyBI,GACtDE,EAAS,CACXjrI,WAAY,EACZE,UAAW,GAET+tH,EAAU,CACZnrH,EAAG,EACHoJ,EAAG,GAkBL,OAfI4+H,IAA4BA,IAA4BD,MACxB,SAA9BR,GAAYO,IAChBJ,GAAe5rI,MACbqsI,ECnCS,SAAuBlvJ,GACpC,OAAIA,IAAS4tJ,GAAU5tJ,IAAU6tJ,GAAc7tJ,GCJxC,CACLikB,YAFyCpkB,EDQbG,GCNRikB,WACpBE,UAAWtkB,EAAQskB,WDGZ+pI,GAAgBluJ,GCNZ,IAA8BH,EFuC9BsvJ,CAAcN,IAGrBhB,GAAcgB,KAChB3c,EAAUp8C,GAAsB+4D,GAAc,IACtC9nI,GAAK8nI,EAAaO,WAC1Bld,EAAQ/hH,GAAK0+H,EAAaQ,WACjBxsI,IACTqvH,EAAQnrH,EAAIynI,GAAoB3rI,KAI7B,CACLkE,EAAG6jE,EAAK5mE,KAAOkrI,EAAOjrI,WAAaiuH,EAAQnrH,EAC3CoJ,EAAGy6D,EAAK1mE,IAAMgrI,EAAO/qI,UAAY+tH,EAAQ/hH,EACzChT,MAAOytE,EAAKztE,MACZC,OAAQwtE,EAAKxtE,QGpDF,SAASkyI,GAAczvJ,GACpC,IAAI0vJ,EAAaz5D,GAAsBj2F,GAGnCsd,EAAQtd,EAAQkyD,YAChB30C,EAASvd,EAAQ4pJ,aAUrB,OARIh3I,KAAKgnE,IAAI81E,EAAWpyI,MAAQA,IAAU,IACxCA,EAAQoyI,EAAWpyI,OAGjB1K,KAAKgnE,IAAI81E,EAAWnyI,OAASA,IAAW,IAC1CA,EAASmyI,EAAWnyI,QAGf,CACL2J,EAAGlnB,EAAQykH,WACXn0F,EAAGtwB,EAAQ8pJ,UACXxsI,MAAOA,EACPC,OAAQA,GCnBG,SAASoyI,GAAc3vJ,GACpC,MAA6B,SAAzByuJ,GAAYzuJ,GACPA,EAMPA,EAAQ+pJ,cACR/pJ,EAAQ6O,aACRo/I,GAAajuJ,GAAWA,EAAQ60F,KAAO,OAEvC65D,GAAmB1uJ,GCXR,SAAS4vJ,GAAgBzvJ,GACtC,MAAI,CAAC,OAAQ,OAAQ,aAAa8M,QAAQwhJ,GAAYtuJ,KAAU,EAEvDA,EAAKgI,cAAcb,KAGxB0mJ,GAAc7tJ,IAASyuJ,GAAezuJ,GACjCA,EAGFyvJ,GAAgBD,GAAcxvJ,ICHxB,SAAS0vJ,GAAkB7vJ,EAASzE,GACjD,IAAIu0J,OAES,IAATv0J,IACFA,EAAO,IAGT,IAAIw0J,EAAeH,GAAgB5vJ,GAC/BgwJ,EAASD,KAAqE,OAAlDD,EAAwB9vJ,EAAQmI,oBAAyB,EAAS2nJ,EAAsBxoJ,MACpHgnJ,EAAMP,GAAUgC,GAChBz6J,EAAS06J,EAAS,CAAC1B,GAAKz4J,OAAOy4J,EAAIzE,gBAAkB,GAAI+E,GAAemB,GAAgBA,EAAe,IAAMA,EAC7GE,EAAc10J,EAAK1F,OAAOP,GAC9B,OAAO06J,EAASC,EAChBA,EAAYp6J,OAAOg6J,GAAkBF,GAAcr6J,KCvBtC,SAAS46J,GAAelwJ,GACrC,MAAO,CAAC,QAAS,KAAM,MAAMiN,QAAQwhJ,GAAYzuJ,KAAa,ECKhE,SAASmwJ,GAAoBnwJ,GAC3B,OAAKguJ,GAAchuJ,IACoB,UAAvCk1F,GAAiBl1F,GAASxE,SAInBwE,EAAQgvJ,aAHN,KA4CI,SAASoB,GAAgBpwJ,GAItC,IAHA,IAAIyB,EAASssJ,GAAU/tJ,GACnBgvJ,EAAemB,GAAoBnwJ,GAEhCgvJ,GAAgBkB,GAAelB,IAA6D,WAA5C95D,GAAiB85D,GAAcxzJ,UACpFwzJ,EAAemB,GAAoBnB,GAGrC,OAAIA,IAA+C,SAA9BP,GAAYO,IAA0D,SAA9BP,GAAYO,IAAwE,WAA5C95D,GAAiB85D,GAAcxzJ,UAC3HiG,EAGFutJ,GAhDT,SAA4BhvJ,GAC1B,IAAIqwJ,GAAsE,IAA1D96F,UAAU+zF,UAAUxmJ,cAAcmK,QAAQ,WAG1D,IAFuD,IAA5CsoD,UAAU+zF,UAAUr8I,QAAQ,YAE3B+gJ,GAAchuJ,IAII,UAFXk1F,GAAiBl1F,GAEnBxE,SACb,OAAO,KAIX,IAAI80J,EAAcX,GAAc3vJ,GAMhC,IAJIiuJ,GAAaqC,KACfA,EAAcA,EAAYz7D,MAGrBm5D,GAAcsC,IAAgB,CAAC,OAAQ,QAAQrjJ,QAAQwhJ,GAAY6B,IAAgB,GAAG,CAC3F,IAAI1H,EAAM1zD,GAAiBo7D,GAI3B,GAAsB,SAAlB1H,EAAI2H,WAA4C,SAApB3H,EAAI4H,aAA0C,UAAhB5H,EAAI6H,UAAiF,IAA1D,CAAC,YAAa,eAAexjJ,QAAQ27I,EAAI8H,aAAsBL,GAAgC,WAAnBzH,EAAI8H,YAA2BL,GAAazH,EAAI31G,QAAyB,SAAf21G,EAAI31G,OACjO,OAAOq9G,EAEPA,EAAcA,EAAYzhJ,WAI9B,OAAO,KAiBgB8hJ,CAAmB3wJ,IAAYyB,EClEjD,IAAI4iB,GAAM,MACNkiE,GAAS,SACTD,GAAQ,QACRniE,GAAO,OACPysI,GAAO,OACPC,GAAiB,CAACxsI,GAAKkiE,GAAQD,GAAOniE,IACtClB,GAAQ,QACRC,GAAM,MAEN4tI,GAAW,WACXC,GAAS,SAETC,GAAmCH,GAAe7jH,QAAO,SAAU4kB,EAAKq/F,GACjF,OAAOr/F,EAAI/7D,OAAO,CAACo7J,EAAY,IAAMhuI,GAAOguI,EAAY,IAAM/tI,OAC7D,IACQguI,GAA0B,GAAGr7J,OAAOg7J,GAAgB,CAACD,KAAO5jH,QAAO,SAAU4kB,EAAKq/F,GAC3F,OAAOr/F,EAAI/7D,OAAO,CAACo7J,EAAWA,EAAY,IAAMhuI,GAAOguI,EAAY,IAAM/tI,OACxE,IAaQiuI,GAAiB,CAXJ,aACN,OACK,YAEC,aACN,OACK,YAEE,cACN,QACK,cC3BxB,SAASplJ,GAAMqlJ,GACb,IAAI7hH,EAAM,IAAIx6B,IACVs8I,EAAU,IAAIlwJ,IACd03D,EAAS,GAKb,SAAS5Z,EAAKqyG,GACZD,EAAQ9vJ,IAAI+vJ,EAAS/6J,MACN,GAAGV,OAAOy7J,EAASC,UAAY,GAAID,EAASE,kBAAoB,IACtE3uJ,SAAQ,SAAU4uJ,GACzB,IAAKJ,EAAQ7qI,IAAIirI,GAAM,CACrB,IAAIC,EAAcniH,EAAIh1C,IAAIk3J,GAEtBC,GACFzyG,EAAKyyG,OAIX74F,EAAOzkE,KAAKk9J,GASd,OAzBAF,EAAUvuJ,SAAQ,SAAUyuJ,GAC1B/hH,EAAI/0C,IAAI82J,EAAS/6J,KAAM+6J,MAkBzBF,EAAUvuJ,SAAQ,SAAUyuJ,GACrBD,EAAQ7qI,IAAI8qI,EAAS/6J,OAExB0oD,EAAKqyG,MAGFz4F,EC/BM,SAAS63D,GAAS/hF,GAC/B,IAAIpf,EACJ,OAAO,WAUL,OATKA,IACHA,EAAU,IAAI/4B,SAAQ,SAAUC,GAC9BD,QAAQC,UAAUwyB,MAAK,WACrBsG,OAAUj4B,EACVb,EAAQk4C,YAKPpf,GCEX,IAEIoiI,GAAkB,CACpBV,UAAW,SACXG,UAAW,GACXQ,SAAU,YAGZ,SAASC,KACP,IAAK,IAAIne,EAAO1/I,UAAUC,OAAQuB,EAAO,IAAInB,MAAMq/I,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/En+I,EAAKm+I,GAAQ3/I,UAAU2/I,GAGzB,OAAQn+I,EAAKk8C,MAAK,SAAU1xC,GAC1B,QAASA,GAAoD,oBAAlCA,EAAQi2F,0BAIhC,SAAS67D,GAAgBC,QACL,IAArBA,IACFA,EAAmB,IAGrB,IAAIC,EAAoBD,EACpBE,EAAwBD,EAAkBE,iBAC1CA,OAA6C,IAA1BD,EAAmC,GAAKA,EAC3DE,EAAyBH,EAAkBnc,eAC3CA,OAA4C,IAA3Bsc,EAAoCR,GAAkBQ,EAC3E,OAAO,SAAsBhO,EAAW4M,EAAQzoJ,QAC9B,IAAZA,IACFA,EAAUutI,GAGZ,IAAIx8I,EAAQ,CACV43J,UAAW,SACXmB,iBAAkB,GAClB9pJ,QAAS5T,OAAOwQ,OAAO,GAAIysJ,GAAiB9b,GAC5Cwc,cAAe,GACf5uE,SAAU,CACR0gE,UAAWA,EACX4M,OAAQA,GAEVuB,WAAY,GACZj9D,OAAQ,IAENk9D,EAAmB,GACnBC,GAAc,EACdnsI,EAAW,CACbhtB,MAAOA,EACPo5J,WAAY,SAAoBC,GAC9B,IAAIpqJ,EAAsC,oBAArBoqJ,EAAkCA,EAAiBr5J,EAAMiP,SAAWoqJ,EACzFC,IACAt5J,EAAMiP,QAAU5T,OAAOwQ,OAAO,GAAI2wI,EAAgBx8I,EAAMiP,QAASA,GACjEjP,EAAMu5J,cAAgB,CACpBzO,UAAWx4G,GAAUw4G,GAAa0L,GAAkB1L,GAAaA,EAAUwF,eAAiBkG,GAAkB1L,EAAUwF,gBAAkB,GAC1IoH,OAAQlB,GAAkBkB,IAI5B,IAAIqB,EFvCG,SAAwBhB,GAErC,IAAIgB,EAAmBrmJ,GAAMqlJ,GAE7B,OAAOD,GAAenkH,QAAO,SAAU4kB,EAAKihG,GAC1C,OAAOjhG,EAAI/7D,OAAOu8J,EAAiBn/G,QAAO,SAAUq+G,GAClD,OAAOA,EAASuB,QAAUA,QAE3B,IE+B0BC,CCzEhB,SAAqB1B,GAClC,IAAI2B,EAAS3B,EAAUpkH,QAAO,SAAU+lH,EAAQ/hJ,GAC9C,IAAI5Y,EAAW26J,EAAO/hJ,EAAQza,MAK9B,OAJAw8J,EAAO/hJ,EAAQza,MAAQ6B,EAAW1D,OAAOwQ,OAAO,GAAI9M,EAAU4Y,EAAS,CACrE1I,QAAS5T,OAAOwQ,OAAO,GAAI9M,EAASkQ,QAAS0I,EAAQ1I,SACrDmT,KAAM/mB,OAAOwQ,OAAO,GAAI9M,EAASqjB,KAAMzK,EAAQyK,QAC5CzK,EACE+hJ,IACN,IAEH,OAAOr+J,OAAOsH,KAAK+2J,GAAQxjH,KAAI,SAAU36C,GACvC,OAAOm+J,EAAOn+J,MD8D4Bo+J,CAAY,GAAGn9J,OAAOq8J,EAAkB74J,EAAMiP,QAAQ8oJ,aAyC5F,OAvCA/3J,EAAM+4J,iBAAmBA,EAAiBn/G,QAAO,SAAU/6C,GACzD,OAAOA,EAAE2lH,WAqJbxkH,EAAM+4J,iBAAiBvvJ,SAAQ,SAAUwiE,GACvC,IAAI9uE,EAAO8uE,EAAM9uE,KACb08J,EAAgB5tF,EAAM/8D,QACtBA,OAA4B,IAAlB2qJ,EAA2B,GAAKA,EAC1CC,EAAS7tF,EAAM6tF,OAEnB,GAAsB,oBAAXA,EAAuB,CAChC,IAAIC,EAAYD,EAAO,CACrB75J,MAAOA,EACP9C,KAAMA,EACN8vB,SAAUA,EACV/d,QAASA,IAGP8qJ,EAAS,aAEbb,EAAiBn+J,KAAK++J,GAAaC,OA/H9B/sI,EAASw3E,UAOlBpqC,YAAa,WACX,IAAI++F,EAAJ,CAIA,IAAIa,EAAkBh6J,EAAMoqF,SACxB0gE,EAAYkP,EAAgBlP,UAC5B4M,EAASsC,EAAgBtC,OAG7B,GAAKc,GAAiB1N,EAAW4M,GAAjC,CASA13J,EAAM80G,MAAQ,CACZg2C,UAAW2K,GAAiB3K,EAAWiM,GAAgBW,GAAoC,UAA3B13J,EAAMiP,QAAQspJ,UAC9Eb,OAAQtB,GAAcsB,IAOxB13J,EAAMkhE,OAAQ,EACdlhE,EAAM43J,UAAY53J,EAAMiP,QAAQ2oJ,UAKhC53J,EAAM+4J,iBAAiBvvJ,SAAQ,SAAUyuJ,GACvC,OAAOj4J,EAAMg5J,cAAcf,EAAS/6J,MAAQ7B,OAAOwQ,OAAO,GAAIosJ,EAAS71I,SAIzE,IAFA,IAES9f,EAAQ,EAAGA,EAAQtC,EAAM+4J,iBAAiBn+J,OAAQ0H,IAUzD,IAAoB,IAAhBtC,EAAMkhE,MAAV,CAMA,IAAI+4F,EAAwBj6J,EAAM+4J,iBAAiBz2J,GAC/CgzC,EAAK2kH,EAAsB3kH,GAC3B4kH,EAAyBD,EAAsBhrJ,QAC/C0nH,OAAsC,IAA3BujC,EAAoC,GAAKA,EACpDh9J,EAAO+8J,EAAsB/8J,KAEf,oBAAPo4C,IACTt1C,EAAQs1C,EAAG,CACTt1C,MAAOA,EACPiP,QAAS0nH,EACTz5H,KAAMA,EACN8vB,SAAUA,KACNhtB,QAjBNA,EAAMkhE,OAAQ,EACd5+D,GAAS,KAsBfkiG,OAAQ6yB,IAAS,WACf,OAAO,IAAIl6H,SAAQ,SAAUC,GAC3B4vB,EAASotC,cACTh9D,EAAQ4C,SAGZ49B,QAAS,WACP07H,IACAH,GAAc,IAIlB,IAAKX,GAAiB1N,EAAW4M,GAK/B,OAAO1qI,EAmCT,SAASssI,IACPJ,EAAiB1vJ,SAAQ,SAAU8rC,GACjC,OAAOA,OAET4jH,EAAmB,GAGrB,OAvCAlsI,EAASosI,WAAWnqJ,GAAS2gB,MAAK,SAAU5vB,IACrCm5J,GAAelqJ,EAAQkrJ,eAC1BlrJ,EAAQkrJ,cAAcn6J,MAqCnBgtB,GAGJ,IE9PHU,GAAU,CACZA,SAAS,GAsCX,QACExwB,KAAM,iBACNsnH,SAAS,EACTg1C,MAAO,QACPlkH,GAAI,aACJukH,OAxCF,SAAgB5b,GACd,IAAIj+I,EAAQi+I,EAAKj+I,MACbgtB,EAAWixH,EAAKjxH,SAChB/d,EAAUgvI,EAAKhvI,QACfmrJ,EAAkBnrJ,EAAQ+mJ,OAC1BA,OAA6B,IAApBoE,GAAoCA,EAC7CC,EAAkBprJ,EAAQy9E,OAC1BA,OAA6B,IAApB2tE,GAAoCA,EAC7CjyJ,EAASssJ,GAAU10J,EAAMoqF,SAASstE,QAClC6B,EAAgB,GAAG/8J,OAAOwD,EAAMu5J,cAAczO,UAAW9qJ,EAAMu5J,cAAc7B,QAYjF,OAVI1B,GACFuD,EAAc/vJ,SAAQ,SAAUktJ,GAC9BA,EAAa71J,iBAAiB,SAAUmsB,EAASw3E,OAAQ92E,OAIzDg/D,GACFtkF,EAAOvH,iBAAiB,SAAUmsB,EAASw3E,OAAQ92E,IAG9C,WACDsoI,GACFuD,EAAc/vJ,SAAQ,SAAUktJ,GAC9BA,EAAa31J,oBAAoB,SAAUisB,EAASw3E,OAAQ92E,OAI5Dg/D,GACFtkF,EAAOrH,oBAAoB,SAAUisB,EAASw3E,OAAQ92E,MAY1DtL,KAAM,IC9CO,SAASk4I,GAAiB1C,GACvC,OAAOA,EAAUruJ,MAAM,KAAK,GCFf,SAASgxJ,GAAa3C,GACnC,OAAOA,EAAUruJ,MAAM,KAAK,GCDf,SAASixJ,GAAyB5C,GAC/C,MAAO,CAAC,MAAO,UAAUhkJ,QAAQgkJ,IAAc,EAAI,IAAM,ICG5C,SAAS6C,GAAexc,GACrC,IAOIjF,EAPA8R,EAAY7M,EAAK6M,UACjBnkJ,EAAUs3I,EAAKt3I,QACfixJ,EAAY3Z,EAAK2Z,UACjB8C,EAAgB9C,EAAY0C,GAAiB1C,GAAa,KAC1D+C,EAAY/C,EAAY2C,GAAa3C,GAAa,KAClDgD,EAAU9P,EAAUj9H,EAAIi9H,EAAU7mI,MAAQ,EAAItd,EAAQsd,MAAQ,EAC9D42I,EAAU/P,EAAU7zH,EAAI6zH,EAAU5mI,OAAS,EAAIvd,EAAQud,OAAS,EAGpE,OAAQw2I,GACN,KAAK1vI,GACHguH,EAAU,CACRnrH,EAAG+sI,EACH3jI,EAAG6zH,EAAU7zH,EAAItwB,EAAQud,QAE3B,MAEF,KAAKgpE,GACH8rD,EAAU,CACRnrH,EAAG+sI,EACH3jI,EAAG6zH,EAAU7zH,EAAI6zH,EAAU5mI,QAE7B,MAEF,KAAK+oE,GACH+rD,EAAU,CACRnrH,EAAGi9H,EAAUj9H,EAAIi9H,EAAU7mI,MAC3BgT,EAAG4jI,GAEL,MAEF,KAAK/vI,GACHkuH,EAAU,CACRnrH,EAAGi9H,EAAUj9H,EAAIlnB,EAAQsd,MACzBgT,EAAG4jI,GAEL,MAEF,QACE7hB,EAAU,CACRnrH,EAAGi9H,EAAUj9H,EACboJ,EAAG6zH,EAAU7zH,GAInB,IAAI6jI,EAAWJ,EAAgBF,GAAyBE,GAAiB,KAEzE,GAAgB,MAAZI,EAAkB,CACpB,IAAIj5J,EAAmB,MAAbi5J,EAAmB,SAAW,QAExC,OAAQH,GACN,KAAK/wI,GACHovH,EAAQ8hB,GAAY9hB,EAAQ8hB,IAAahQ,EAAUjpJ,GAAO,EAAI8E,EAAQ9E,GAAO,GAC7E,MAEF,KAAKgoB,GACHmvH,EAAQ8hB,GAAY9hB,EAAQ8hB,IAAahQ,EAAUjpJ,GAAO,EAAI8E,EAAQ9E,GAAO,IAOnF,OAAOm3I,EClDT,QACE97I,KAAM,gBACNsnH,SAAS,EACTg1C,MAAO,OACPlkH,GApBF,SAAuB2oG,GACrB,IAAIj+I,EAAQi+I,EAAKj+I,MACb9C,EAAO+gJ,EAAK/gJ,KAKhB8C,EAAMg5J,cAAc97J,GAAQu9J,GAAe,CACzC3P,UAAW9qJ,EAAM80G,MAAMg2C,UACvBnkJ,QAAS3G,EAAM80G,MAAM4iD,OACrBa,SAAU,WACVX,UAAW53J,EAAM43J,aAUnBx1I,KAAM,ICdJ24I,GAAa,CACf/vI,IAAK,OACLiiE,MAAO,OACPC,OAAQ,OACRpiE,KAAM,QAgBD,SAASkwI,GAAYC,GAC1B,IAAIC,EAEAxD,EAASuD,EAAMvD,OACfyD,EAAaF,EAAME,WACnBvD,EAAYqD,EAAMrD,UAClB+C,EAAYM,EAAMN,UAClB3hB,EAAUiiB,EAAMjiB,QAChB72I,EAAW84J,EAAM94J,SACjBi5J,EAAkBH,EAAMG,gBACxBC,EAAWJ,EAAMI,SACjBC,EAAeL,EAAMK,aACrB1F,EAAUqF,EAAMrF,QAChB2F,EAAaviB,EAAQnrH,EACrBA,OAAmB,IAAf0tI,EAAwB,EAAIA,EAChCC,EAAaxiB,EAAQ/hH,EACrBA,OAAmB,IAAfukI,EAAwB,EAAIA,EAEhCxvF,EAAgC,oBAAjBsvF,EAA8BA,EAAa,CAC5DztI,EAAGA,EACHoJ,EAAGA,IACA,CACHpJ,EAAGA,EACHoJ,EAAGA,GAGLpJ,EAAIm+C,EAAMn+C,EACVoJ,EAAI+0C,EAAM/0C,EACV,IAAIwkI,EAAOziB,EAAQz+I,eAAe,KAC9BmhK,EAAO1iB,EAAQz+I,eAAe,KAC9BohK,EAAQ7wI,GACR8wI,EAAQ5wI,GACRiqI,EAAM7sJ,OAEV,GAAIizJ,EAAU,CACZ,IAAI1F,EAAeoB,GAAgBW,GAC/BmE,EAAa,eACbC,EAAY,cAchB,GAZInG,IAAiBjB,GAAUgD,IAGmB,WAA5C77D,GAFJ85D,EAAeN,GAAmBqC,IAECv1J,UAAsC,aAAbA,IAC1D05J,EAAa,eACbC,EAAY,eAOZlE,IAAc5sI,KAAQ4sI,IAAc9sI,IAAQ8sI,IAAc3qE,KAAU0tE,IAAc9wI,GACpF+xI,EAAQ1uE,GAGRj2D,IAFc2+H,GAAWD,IAAiBV,GAAOA,EAAIzE,eAAiByE,EAAIzE,eAAetsI,OACzFyxI,EAAakG,IACEV,EAAWj3I,OAC1B+S,GAAKmkI,EAAkB,GAAK,EAG9B,GAAIxD,IAAc9sI,KAAS8sI,IAAc5sI,IAAO4sI,IAAc1qE,KAAWytE,IAAc9wI,GACrF8xI,EAAQ1uE,GAGRp/D,IAFc+nI,GAAWD,IAAiBV,GAAOA,EAAIzE,eAAiByE,EAAIzE,eAAevsI,MACzF0xI,EAAamG,IACEX,EAAWl3I,MAC1B4J,GAAKutI,EAAkB,GAAK,EAIhC,IAgBMW,EAhBFC,EAAe3gK,OAAOwQ,OAAO,CAC/B1J,SAAUA,GACTk5J,GAAYN,IAEXruF,GAAyB,IAAjB4uF,EAnFd,SAA2Brd,GACzB,IAAIpwH,EAAIowH,EAAKpwH,EACToJ,EAAIgnH,EAAKhnH,EAETorF,EADMj6G,OACI6hF,kBAAoB,EAClC,MAAO,CACLp8D,EAAG4nC,GAAM5nC,EAAIw0F,GAAOA,GAAO,EAC3BprF,EAAGw+B,GAAMx+B,EAAIorF,GAAOA,GAAO,GA4EO45C,CAAkB,CACpDpuI,EAAGA,EACHoJ,EAAGA,IACA,CACHpJ,EAAGA,EACHoJ,EAAGA,GAML,OAHApJ,EAAI6+C,EAAM7+C,EACVoJ,EAAIy1C,EAAMz1C,EAENmkI,EAGK//J,OAAOwQ,OAAO,GAAImwJ,IAAeD,EAAiB,IAAmBH,GAASF,EAAO,IAAM,GAAIK,EAAeJ,GAASF,EAAO,IAAM,GAAIM,EAAe7E,WAAajC,EAAIhrE,kBAAoB,IAAM,EAAI,aAAep8D,EAAI,OAASoJ,EAAI,MAAQ,eAAiBpJ,EAAI,OAASoJ,EAAI,SAAU8kI,IAG5R1gK,OAAOwQ,OAAO,GAAImwJ,IAAed,EAAkB,IAAoBU,GAASF,EAAOzkI,EAAI,KAAO,GAAIikI,EAAgBS,GAASF,EAAO5tI,EAAI,KAAO,GAAIqtI,EAAgBhE,UAAY,GAAIgE,IAwD9L,QACEh+J,KAAM,gBACNsnH,SAAS,EACTg1C,MAAO,cACPlkH,GAzDF,SAAuB4mH,GACrB,IAAIl8J,EAAQk8J,EAAMl8J,MACdiP,EAAUitJ,EAAMjtJ,QAChBktJ,EAAwBltJ,EAAQmsJ,gBAChCA,OAA4C,IAA1Be,GAA0CA,EAC5DC,EAAoBntJ,EAAQosJ,SAC5BA,OAAiC,IAAtBe,GAAsCA,EACjDC,EAAwBptJ,EAAQqsJ,aAChCA,OAAyC,IAA1Be,GAA0CA,EAYzDL,EAAe,CACjBpE,UAAW0C,GAAiBt6J,EAAM43J,WAClC+C,UAAWJ,GAAav6J,EAAM43J,WAC9BF,OAAQ13J,EAAMoqF,SAASstE,OACvByD,WAAYn7J,EAAM80G,MAAM4iD,OACxB0D,gBAAiBA,EACjBxF,QAAoC,UAA3B51J,EAAMiP,QAAQspJ,UAGgB,MAArCv4J,EAAMg5J,cAAcsD,gBACtBt8J,EAAMg8F,OAAO07D,OAASr8J,OAAOwQ,OAAO,GAAI7L,EAAMg8F,OAAO07D,OAAQsD,GAAY3/J,OAAOwQ,OAAO,GAAImwJ,EAAc,CACvGhjB,QAASh5I,EAAMg5J,cAAcsD,cAC7Bn6J,SAAUnC,EAAMiP,QAAQspJ,SACxB8C,SAAUA,EACVC,aAAcA,OAIe,MAA7Bt7J,EAAMg5J,cAAcuD,QACtBv8J,EAAMg8F,OAAOugE,MAAQlhK,OAAOwQ,OAAO,GAAI7L,EAAMg8F,OAAOugE,MAAOvB,GAAY3/J,OAAOwQ,OAAO,GAAImwJ,EAAc,CACrGhjB,QAASh5I,EAAMg5J,cAAcuD,MAC7Bp6J,SAAU,WACVk5J,UAAU,EACVC,aAAcA,OAIlBt7J,EAAMi5J,WAAWvB,OAASr8J,OAAOwQ,OAAO,GAAI7L,EAAMi5J,WAAWvB,OAAQ,CACnE,wBAAyB13J,EAAM43J,aAUjCx1I,KAAM,ICvGR,QACEllB,KAAM,cACNsnH,SAAS,EACTg1C,MAAO,QACPlkH,GA5EF,SAAqB2oG,GACnB,IAAIj+I,EAAQi+I,EAAKj+I,MACjB3E,OAAOsH,KAAK3C,EAAMoqF,UAAU5gF,SAAQ,SAAUtM,GAC5C,IAAIyW,EAAQ3T,EAAMg8F,OAAO9+F,IAAS,GAC9B+7J,EAAaj5J,EAAMi5J,WAAW/7J,IAAS,GACvCyJ,EAAU3G,EAAMoqF,SAASltF,GAExBy3J,GAAchuJ,IAAayuJ,GAAYzuJ,KAO5CtL,OAAOwQ,OAAOlF,EAAQgN,MAAOA,GAC7BtY,OAAOsH,KAAKs2J,GAAYzvJ,SAAQ,SAAUtM,GACxC,IAAIN,EAAQq8J,EAAW/7J,IAET,IAAVN,EACF+J,EAAQuD,gBAAgBhN,GAExByJ,EAAQwD,aAAajN,GAAgB,IAAVN,EAAiB,GAAKA,WAwDvDi9J,OAlDF,SAAgBoB,GACd,IAAIj7J,EAAQi7J,EAAMj7J,MACdw8J,EAAgB,CAClB9E,OAAQ,CACNv1J,SAAUnC,EAAMiP,QAAQspJ,SACxBztI,KAAM,IACNE,IAAK,IACL+mE,OAAQ,KAEVwqE,MAAO,CACLp6J,SAAU,YAEZ2oJ,UAAW,IASb,OAPAzvJ,OAAOwQ,OAAO7L,EAAMoqF,SAASstE,OAAO/jJ,MAAO6oJ,EAAc9E,QACzD13J,EAAMg8F,OAASwgE,EAEXx8J,EAAMoqF,SAASmyE,OACjBlhK,OAAOwQ,OAAO7L,EAAMoqF,SAASmyE,MAAM5oJ,MAAO6oJ,EAAcD,OAGnD,WACLlhK,OAAOsH,KAAK3C,EAAMoqF,UAAU5gF,SAAQ,SAAUtM,GAC5C,IAAIyJ,EAAU3G,EAAMoqF,SAASltF,GACzB+7J,EAAaj5J,EAAMi5J,WAAW/7J,IAAS,GAGvCyW,EAFkBtY,OAAOsH,KAAK3C,EAAMg8F,OAAOzhG,eAAe2C,GAAQ8C,EAAMg8F,OAAO9+F,GAAQs/J,EAAct/J,IAE7Ey2C,QAAO,SAAUhgC,EAAOk8D,GAElD,OADAl8D,EAAMk8D,GAAY,GACXl8D,IACN,IAEEghJ,GAAchuJ,IAAayuJ,GAAYzuJ,KAI5CtL,OAAOwQ,OAAOlF,EAAQgN,MAAOA,GAC7BtY,OAAOsH,KAAKs2J,GAAYzvJ,SAAQ,SAAUizJ,GACxC91J,EAAQuD,gBAAgBuyJ,YAa9BvE,SAAU,CAAC,kBCnCb,QACEh7J,KAAM,SACNsnH,SAAS,EACTg1C,MAAO,OACPtB,SAAU,CAAC,iBACX5iH,GA5BF,SAAgB2lH,GACd,IAAIj7J,EAAQi7J,EAAMj7J,MACdiP,EAAUgsJ,EAAMhsJ,QAChB/R,EAAO+9J,EAAM/9J,KACbw/J,EAAkBztJ,EAAQ4Z,OAC1BA,OAA6B,IAApB6zI,EAA6B,CAAC,EAAG,GAAKA,EAC/Ct6I,EAAOy1I,GAAAA,QAAkB,SAAUt/F,EAAKq/F,GAE1C,OADAr/F,EAAIq/F,GA5BD,SAAiCA,EAAW9iD,EAAOjsF,GACxD,IAAI6xI,EAAgBJ,GAAiB1C,GACjC+E,EAAiB,CAAC7xI,GAAME,IAAKpX,QAAQ8mJ,IAAkB,GAAK,EAAI,EAEhEzc,EAAyB,oBAAXp1H,EAAwBA,EAAOxtB,OAAOwQ,OAAO,GAAIipG,EAAO,CACxE8iD,UAAWA,KACP/uI,EACF+zI,EAAW3e,EAAK,GAChBp8D,EAAWo8D,EAAK,GAIpB,OAFA2e,EAAWA,GAAY,EACvB/6E,GAAYA,GAAY,GAAK86E,EACtB,CAAC7xI,GAAMmiE,IAAOr5E,QAAQ8mJ,IAAkB,EAAI,CACjD7sI,EAAGg0D,EACH5qD,EAAG2lI,GACD,CACF/uI,EAAG+uI,EACH3lI,EAAG4qD,GAWcg7E,CAAwBjF,EAAW53J,EAAM80G,MAAOjsF,GAC1D0vC,IACN,IACCukG,EAAwB16I,EAAKpiB,EAAM43J,WACnC/pI,EAAIivI,EAAsBjvI,EAC1BoJ,EAAI6lI,EAAsB7lI,EAEW,MAArCj3B,EAAMg5J,cAAcsD,gBACtBt8J,EAAMg5J,cAAcsD,cAAczuI,GAAKA,EACvC7tB,EAAMg5J,cAAcsD,cAAcrlI,GAAKA,GAGzCj3B,EAAMg5J,cAAc97J,GAAQklB,IC3C1BgoD,GAAO,CACTt/C,KAAM,QACNmiE,MAAO,OACPC,OAAQ,MACRliE,IAAK,UAEQ,SAAS+xI,GAAqBnF,GAC3C,OAAOA,EAAUvtJ,QAAQ,0BAA0B,SAAU2yJ,GAC3D,OAAO5yF,GAAK4yF,MCRhB,IAAI5yF,GAAO,CACTxgD,MAAO,MACPC,IAAK,SAEQ,SAASozI,GAA8BrF,GACpD,OAAOA,EAAUvtJ,QAAQ,cAAc,SAAU2yJ,GAC/C,OAAO5yF,GAAK4yF,MCLD,SAASh0I,GAASgtB,EAAQv+B,GACvC,IAAIylJ,EAAWzlJ,EAAM0lJ,aAAe1lJ,EAAM0lJ,cAE1C,GAAInnH,EAAOhtB,SAASvR,GAClB,OAAO,EAEJ,GAAIylJ,GAAYtI,GAAasI,GAAW,CACzC,IAAI7nI,EAAO5d,EAEX,EAAG,CACD,GAAI4d,GAAQ2gB,EAAOonH,WAAW/nI,GAC5B,OAAO,EAITA,EAAOA,EAAK7f,YAAc6f,EAAKmmE,WACxBnmE,GAIb,OAAO,ECrBM,SAASgoI,GAAiB3rE,GACvC,OAAOr2F,OAAOwQ,OAAO,GAAI6lF,EAAM,CAC7B5mE,KAAM4mE,EAAK7jE,EACX7C,IAAK0mE,EAAKz6D,EACVg2D,MAAOyE,EAAK7jE,EAAI6jE,EAAKztE,MACrBipE,OAAQwE,EAAKz6D,EAAIy6D,EAAKxtE,SCuB1B,SAASo5I,GAA2B32J,EAAS42J,GAC3C,OAAOA,IAAmB9F,GAAW4F,GC1BxB,SAAyB12J,GACtC,IAAIsuJ,EAAMP,GAAU/tJ,GAChB62J,EAAOnI,GAAmB1uJ,GAC1B6pJ,EAAiByE,EAAIzE,eACrBvsI,EAAQu5I,EAAK//D,YACbv5E,EAASs5I,EAAK9/D,aACd7vE,EAAI,EACJoJ,EAAI,EAuBR,OAjBIu5H,IACFvsI,EAAQusI,EAAevsI,MACvBC,EAASssI,EAAetsI,OASnB,iCAAiCla,KAAKkyD,UAAU+zF,aACnDpiI,EAAI2iI,EAAeplC,WACnBn0F,EAAIu5H,EAAeC,YAIhB,CACLxsI,MAAOA,EACPC,OAAQA,EACR2J,EAAGA,EAAIynI,GAAoB3uJ,GAC3BswB,EAAGA,GDRiDwmI,CAAgB92J,IAAY2rC,GAAUirH,GAd9F,SAAoC52J,GAClC,IAAI+qF,EAAOkL,GAAsBj2F,GASjC,OARA+qF,EAAK1mE,IAAM0mE,EAAK1mE,IAAMrkB,EAAQwvJ,UAC9BzkE,EAAK5mE,KAAO4mE,EAAK5mE,KAAOnkB,EAAQuvJ,WAChCxkE,EAAKxE,OAASwE,EAAK1mE,IAAMrkB,EAAQ+2F,aACjChM,EAAKzE,MAAQyE,EAAK5mE,KAAOnkB,EAAQ82F,YACjC/L,EAAKztE,MAAQtd,EAAQ82F,YACrB/L,EAAKxtE,OAASvd,EAAQ+2F,aACtBhM,EAAK7jE,EAAI6jE,EAAK5mE,KACd4mE,EAAKz6D,EAAIy6D,EAAK1mE,IACP0mE,EAIuGgsE,CAA2BH,GAAkBF,GEtB9I,SAAyB12J,GACtC,IAAI8vJ,EAEA+G,EAAOnI,GAAmB1uJ,GAC1Bg3J,EAAY3I,GAAgBruJ,GAC5BsH,EAA0D,OAAlDwoJ,EAAwB9vJ,EAAQmI,oBAAyB,EAAS2nJ,EAAsBxoJ,KAChGgW,EAAQ27B,GAAI49G,EAAKI,YAAaJ,EAAK//D,YAAaxvF,EAAOA,EAAK2vJ,YAAc,EAAG3vJ,EAAOA,EAAKwvF,YAAc,GACvGv5E,EAAS07B,GAAI49G,EAAKK,aAAcL,EAAK9/D,aAAczvF,EAAOA,EAAK4vJ,aAAe,EAAG5vJ,EAAOA,EAAKyvF,aAAe,GAC5G7vE,GAAK8vI,EAAU5yI,WAAauqI,GAAoB3uJ,GAChDswB,GAAK0mI,EAAU1yI,UAMnB,MAJiD,QAA7C4wE,GAAiB5tF,GAAQuvJ,GAAMl+D,YACjCzxE,GAAK+xB,GAAI49G,EAAK//D,YAAaxvF,EAAOA,EAAKwvF,YAAc,GAAKx5E,GAGrD,CACLA,MAAOA,EACPC,OAAQA,EACR2J,EAAGA,EACHoJ,EAAGA,GFGuK6mI,CAAgBzI,GAAmB1uJ,KAuBlM,SAASo3J,GAAgBp3J,EAASq3J,EAAUC,GACzD,IAAIC,EAAmC,oBAAbF,EAlB5B,SAA4Br3J,GAC1B,IAAIw3J,EAAkB3H,GAAkBF,GAAc3vJ,IAElDy3J,EADoB,CAAC,WAAY,SAASxqJ,QAAQioF,GAAiBl1F,GAASxE,WAAa,GACnDwyJ,GAAchuJ,GAAWowJ,GAAgBpwJ,GAAWA,EAE9F,OAAK2rC,GAAU8rH,GAKRD,EAAgBvkH,QAAO,SAAU2jH,GACtC,OAAOjrH,GAAUirH,IAAmBv0I,GAASu0I,EAAgBa,IAAmD,SAAhChJ,GAAYmI,MALrF,GAYkDc,CAAmB13J,GAAW,GAAGnK,OAAOwhK,GAC/FG,EAAkB,GAAG3hK,OAAO0hK,EAAqB,CAACD,IAClDK,EAAsBH,EAAgB,GACtCI,EAAeJ,EAAgBxqH,QAAO,SAAU6qH,EAASjB,GAC3D,IAAI7rE,EAAO4rE,GAA2B32J,EAAS42J,GAK/C,OAJAiB,EAAQxzI,IAAM40B,GAAI8xC,EAAK1mE,IAAKwzI,EAAQxzI,KACpCwzI,EAAQvxE,MAAQjjE,GAAI0nE,EAAKzE,MAAOuxE,EAAQvxE,OACxCuxE,EAAQtxE,OAASljE,GAAI0nE,EAAKxE,OAAQsxE,EAAQtxE,QAC1CsxE,EAAQ1zI,KAAO80B,GAAI8xC,EAAK5mE,KAAM0zI,EAAQ1zI,MAC/B0zI,IACNlB,GAA2B32J,EAAS23J,IAKvC,OAJAC,EAAat6I,MAAQs6I,EAAatxE,MAAQsxE,EAAazzI,KACvDyzI,EAAar6I,OAASq6I,EAAarxE,OAASqxE,EAAavzI,IACzDuzI,EAAa1wI,EAAI0wI,EAAazzI,KAC9ByzI,EAAatnI,EAAIsnI,EAAavzI,IACvBuzI,EGnEM,SAASE,GAAmBC,GACzC,OAAOrjK,OAAOwQ,OAAO,GCDd,CACLmf,IAAK,EACLiiE,MAAO,EACPC,OAAQ,EACRpiE,KAAM,GDHuC4zI,GEFlC,SAASC,GAAgB/hK,EAAO+F,GAC7C,OAAOA,EAAKgxC,QAAO,SAAUirH,EAASrjK,GAEpC,OADAqjK,EAAQrjK,GAAOqB,EACRgiK,IACN,ICMU,SAASC,GAAe7+J,EAAOiP,QAC5B,IAAZA,IACFA,EAAU,IAGZ,IAAI0nH,EAAW1nH,EACX6vJ,EAAqBnoC,EAASihC,UAC9BA,OAAmC,IAAvBkH,EAAgC9+J,EAAM43J,UAAYkH,EAC9DC,EAAoBpoC,EAASqnC,SAC7BA,OAAiC,IAAtBe,ExBXY,kBwBWqCA,EAC5DC,EAAwBroC,EAASsnC,aACjCA,OAAyC,IAA1Be,EAAmCvH,GAAWuH,EAC7DC,EAAwBtoC,EAASuoC,eACjCA,OAA2C,IAA1BD,EAAmCvH,GAASuH,EAC7DE,EAAuBxoC,EAASyoC,YAChCA,OAAuC,IAAzBD,GAA0CA,EACxDE,EAAmB1oC,EAAS3pC,QAC5BA,OAA+B,IAArBqyE,EAA8B,EAAIA,EAC5CX,EAAgBD,GAAsC,kBAAZzxE,EAAuBA,EAAU2xE,GAAgB3xE,EAASwqE,KACpG8H,EAAaJ,IAAmBxH,GxBlBf,YwBkBoCA,GACrDyD,EAAan7J,EAAM80G,MAAM4iD,OACzB/wJ,EAAU3G,EAAMoqF,SAASg1E,EAAcE,EAAaJ,GACpDK,EAAqBxB,GAAgBzrH,GAAU3rC,GAAWA,EAAUA,EAAQ2pJ,gBAAkB+E,GAAmBr1J,EAAMoqF,SAASstE,QAASsG,EAAUC,GACnJuB,EAAsB5iE,GAAsB58F,EAAMoqF,SAAS0gE,WAC3DwR,EAAgB7B,GAAe,CACjC3P,UAAW0U,EACX74J,QAASw0J,EACT5C,SAAU,WACVX,UAAWA,IAET6H,EAAmBpC,GAAiBhiK,OAAOwQ,OAAO,GAAIsvJ,EAAYmB,IAClEoD,EAAoBR,IAAmBxH,GAAS+H,EAAmBD,EAGnEG,EAAkB,CACpB30I,IAAKu0I,EAAmBv0I,IAAM00I,EAAkB10I,IAAM0zI,EAAc1zI,IACpEkiE,OAAQwyE,EAAkBxyE,OAASqyE,EAAmBryE,OAASwxE,EAAcxxE,OAC7EpiE,KAAMy0I,EAAmBz0I,KAAO40I,EAAkB50I,KAAO4zI,EAAc5zI,KACvEmiE,MAAOyyE,EAAkBzyE,MAAQsyE,EAAmBtyE,MAAQyxE,EAAczxE,OAExE2yE,EAAa5/J,EAAMg5J,cAAcnwI,OAErC,GAAIq2I,IAAmBxH,IAAUkI,EAAY,CAC3C,IAAI/2I,EAAS+2I,EAAWhI,GACxBv8J,OAAOsH,KAAKg9J,GAAiBn2J,SAAQ,SAAUjO,GAC7C,IAAIskK,EAAW,CAAC5yE,GAAOC,IAAQt5E,QAAQrY,IAAQ,EAAI,GAAK,EACpD8oF,EAAO,CAACr5D,GAAKkiE,IAAQt5E,QAAQrY,IAAQ,EAAI,IAAM,IACnDokK,EAAgBpkK,IAAQstB,EAAOw7D,GAAQw7E,KAI3C,OAAOF,EC4ET,QACEziK,KAAM,OACNsnH,SAAS,EACTg1C,MAAO,OACPlkH,GA5HF,SAAc2oG,GACZ,IAAIj+I,EAAQi+I,EAAKj+I,MACbiP,EAAUgvI,EAAKhvI,QACf/R,EAAO+gJ,EAAK/gJ,KAEhB,IAAI8C,EAAMg5J,cAAc97J,GAAM2vG,MAA9B,CAoCA,IAhCA,IAAIizD,EAAoB7wJ,EAAQ6rJ,SAC5BiF,OAAsC,IAAtBD,GAAsCA,EACtDE,EAAmB/wJ,EAAQgxJ,QAC3BC,OAAoC,IAArBF,GAAqCA,EACpDG,EAA8BlxJ,EAAQmxJ,mBACtCpzE,EAAU/9E,EAAQ+9E,QAClBgxE,EAAW/uJ,EAAQ+uJ,SACnBC,EAAehvJ,EAAQgvJ,aACvBmB,EAAcnwJ,EAAQmwJ,YACtBiB,EAAwBpxJ,EAAQqxJ,eAChCA,OAA2C,IAA1BD,GAA0CA,EAC3DE,EAAwBtxJ,EAAQsxJ,sBAChCC,EAAqBxgK,EAAMiP,QAAQ2oJ,UACnC8C,EAAgBJ,GAAiBkG,GAEjCJ,EAAqBD,IADHzF,IAAkB8F,IACqCF,EAAiB,CAACvD,GAAqByD,IAjCtH,SAAuC5I,GACrC,GAAI0C,GAAiB1C,KAAeL,GAClC,MAAO,GAGT,IAAIkJ,EAAoB1D,GAAqBnF,GAC7C,MAAO,CAACqF,GAA8BrF,GAAY6I,EAAmBxD,GAA8BwD,IA2BwCC,CAA8BF,IACrK3I,EAAa,CAAC2I,GAAoBhkK,OAAO4jK,GAAoBzsH,QAAO,SAAU4kB,EAAKq/F,GACrF,OAAOr/F,EAAI/7D,OAAO89J,GAAiB1C,KAAeL,GCvCvC,SAA8Bv3J,EAAOiP,QAClC,IAAZA,IACFA,EAAU,IAGZ,IAAI0nH,EAAW1nH,EACX2oJ,EAAYjhC,EAASihC,UACrBoG,EAAWrnC,EAASqnC,SACpBC,EAAetnC,EAASsnC,aACxBjxE,EAAU2pC,EAAS3pC,QACnBszE,EAAiB3pC,EAAS2pC,eAC1BK,EAAwBhqC,EAAS4pC,sBACjCA,OAAkD,IAA1BI,EAAmCC,GAAgBD,EAC3EhG,EAAYJ,GAAa3C,GACzBC,EAAa8C,EAAY2F,EAAiB3I,GAAsBA,GAAoB/9G,QAAO,SAAUg+G,GACvG,OAAO2C,GAAa3C,KAAe+C,KAChCnD,GACDqJ,EAAoBhJ,EAAWj+G,QAAO,SAAUg+G,GAClD,OAAO2I,EAAsB3sJ,QAAQgkJ,IAAc,KAGpB,IAA7BiJ,EAAkBjmK,SACpBimK,EAAoBhJ,GAQtB,IAAIiJ,EAAYD,EAAkBltH,QAAO,SAAU4kB,EAAKq/F,GAOtD,OANAr/F,EAAIq/F,GAAaiH,GAAe7+J,EAAO,CACrC43J,UAAWA,EACXoG,SAAUA,EACVC,aAAcA,EACdjxE,QAASA,IACRstE,GAAiB1C,IACbr/F,IACN,IACH,OAAOl9D,OAAOsH,KAAKm+J,GAAWl7G,MAAK,SAAUn+C,EAAGC,GAC9C,OAAOo5J,EAAUr5J,GAAKq5J,EAAUp5J,MDDyBq5J,CAAqB/gK,EAAO,CACnF43J,UAAWA,EACXoG,SAAUA,EACVC,aAAcA,EACdjxE,QAASA,EACTszE,eAAgBA,EAChBC,sBAAuBA,IACpB3I,KACJ,IACCoJ,EAAgBhhK,EAAM80G,MAAMg2C,UAC5BqQ,EAAan7J,EAAM80G,MAAM4iD,OACzBuJ,EAAY,IAAIvlJ,IAChBwlJ,GAAqB,EACrBC,EAAwBtJ,EAAW,GAE9Bn9J,EAAI,EAAGA,EAAIm9J,EAAWj9J,OAAQF,IAAK,CAC1C,IAAIk9J,EAAYC,EAAWn9J,GAEvB0mK,EAAiB9G,GAAiB1C,GAElCyJ,EAAmB9G,GAAa3C,KAAehuI,GAC/C03I,EAAa,CAACt2I,GAAKkiE,IAAQt5E,QAAQwtJ,IAAmB,EACtDv/J,EAAMy/J,EAAa,QAAU,SAC7B/tI,EAAWsrI,GAAe7+J,EAAO,CACnC43J,UAAWA,EACXoG,SAAUA,EACVC,aAAcA,EACdmB,YAAaA,EACbpyE,QAASA,IAEPu0E,EAAoBD,EAAaD,EAAmBp0E,GAAQniE,GAAOu2I,EAAmBn0E,GAASliE,GAE/Fg2I,EAAcn/J,GAAOs5J,EAAWt5J,KAClC0/J,EAAoBxE,GAAqBwE,IAG3C,IAAIC,EAAmBzE,GAAqBwE,GACxCE,EAAS,GAUb,GARI1B,GACF0B,EAAO1mK,KAAKw4B,EAAS6tI,IAAmB,GAGtClB,GACFuB,EAAO1mK,KAAKw4B,EAASguI,IAAsB,EAAGhuI,EAASiuI,IAAqB,GAG1EC,EAAOp/G,OAAM,SAAUq/G,GACzB,OAAOA,KACL,CACFP,EAAwBvJ,EACxBsJ,GAAqB,EACrB,MAGFD,EAAU9/J,IAAIy2J,EAAW6J,GAG3B,GAAIP,EAqBF,IAnBA,IAEIh9D,EAAQ,SAAev+B,GACzB,IAAIg8F,EAAmB9J,EAAW50G,MAAK,SAAU20G,GAC/C,IAAI6J,EAASR,EAAU//J,IAAI02J,GAE3B,GAAI6J,EACF,OAAOA,EAAO/jK,MAAM,EAAGioE,GAAItjB,OAAM,SAAUq/G,GACzC,OAAOA,QAKb,GAAIC,EAEF,OADAR,EAAwBQ,EACjB,SAIFh8F,EAnBY26F,EAAiB,EAAI,EAmBZ36F,EAAK,EAAGA,IAAM,CAG1C,GAAa,UAFFu+B,EAAMv+B,GAEK,MAItB3lE,EAAM43J,YAAcuJ,IACtBnhK,EAAMg5J,cAAc97J,GAAM2vG,OAAQ,EAClC7sG,EAAM43J,UAAYuJ,EAClBnhK,EAAMkhE,OAAQ,KAUhBi3F,iBAAkB,CAAC,UACnB/1I,KAAM,CACJyqF,OAAO,IE/IJ,SAAS+0D,GAAO53I,EAAKptB,EAAOgjD,GACjC,OAAOiiH,GAAQ73I,EAAK83I,GAAQllK,EAAOgjD,ICqIrC,QACE1iD,KAAM,kBACNsnH,SAAS,EACTg1C,MAAO,OACPlkH,GA/HF,SAAyB2oG,GACvB,IAAIj+I,EAAQi+I,EAAKj+I,MACbiP,EAAUgvI,EAAKhvI,QACf/R,EAAO+gJ,EAAK/gJ,KACZ4iK,EAAoB7wJ,EAAQ6rJ,SAC5BiF,OAAsC,IAAtBD,GAAsCA,EACtDE,EAAmB/wJ,EAAQgxJ,QAC3BC,OAAoC,IAArBF,GAAsCA,EACrDhC,EAAW/uJ,EAAQ+uJ,SACnBC,EAAehvJ,EAAQgvJ,aACvBmB,EAAcnwJ,EAAQmwJ,YACtBpyE,EAAU/9E,EAAQ+9E,QAClB+0E,EAAkB9yJ,EAAQ+yJ,OAC1BA,OAA6B,IAApBD,GAAoCA,EAC7CE,EAAwBhzJ,EAAQizJ,aAChCA,OAAyC,IAA1BD,EAAmC,EAAIA,EACtD1uI,EAAWsrI,GAAe7+J,EAAO,CACnCg+J,SAAUA,EACVC,aAAcA,EACdjxE,QAASA,EACToyE,YAAaA,IAEX1E,EAAgBJ,GAAiBt6J,EAAM43J,WACvC+C,EAAYJ,GAAav6J,EAAM43J,WAC/BuK,GAAmBxH,EACnBG,EAAWN,GAAyBE,GACpCuF,ECrCY,MDqCSnF,ECrCH,IAAM,IDsCxBwB,EAAgBt8J,EAAMg5J,cAAcsD,cACpC0E,EAAgBhhK,EAAM80G,MAAMg2C,UAC5BqQ,EAAan7J,EAAM80G,MAAM4iD,OACzB0K,EAA4C,oBAAjBF,EAA8BA,EAAa7mK,OAAOwQ,OAAO,GAAI7L,EAAM80G,MAAO,CACvG8iD,UAAW53J,EAAM43J,aACbsK,EACFG,EAA2D,kBAAtBD,EAAiC,CACxEtH,SAAUsH,EACVnC,QAASmC,GACP/mK,OAAOwQ,OAAO,CAChBivJ,SAAU,EACVmF,QAAS,GACRmC,GACCE,EAAsBtiK,EAAMg5J,cAAcnwI,OAAS7oB,EAAMg5J,cAAcnwI,OAAO7oB,EAAM43J,WAAa,KACjGx1I,EAAO,CACTyL,EAAG,EACHoJ,EAAG,GAGL,GAAKqlI,EAAL,CAIA,GAAIyD,EAAe,CACjB,IAAIwC,EAEAC,EAAwB,MAAb1H,EAAmB9vI,GAAMF,GACpC23I,EAAuB,MAAb3H,EAAmB5tE,GAASD,GACtCprF,EAAmB,MAAbi5J,EAAmB,SAAW,QACpCjyI,EAASyzI,EAAcxB,GACvB9wI,EAAMnB,EAAS0K,EAASivI,GACxB5iH,EAAM/2B,EAAS0K,EAASkvI,GACxBC,EAAWV,GAAU7G,EAAWt5J,GAAO,EAAI,EAC3C4jE,EAASk1F,IAAc/wI,GAAQo3I,EAAcn/J,GAAOs5J,EAAWt5J,GAC/D8gK,EAAShI,IAAc/wI,IAASuxI,EAAWt5J,IAAQm/J,EAAcn/J,GAGjE+gK,EAAe5iK,EAAMoqF,SAASmyE,MAC9BsG,EAAYb,GAAUY,EAAexM,GAAcwM,GAAgB,CACrE3+I,MAAO,EACPC,OAAQ,GAEN4+I,EAAqB9iK,EAAMg5J,cAAc,oBAAsBh5J,EAAMg5J,cAAc,oBAAoBhsE,QNhFtG,CACLhiE,IAAK,EACLiiE,MAAO,EACPC,OAAQ,EACRpiE,KAAM,GM6EFi4I,EAAkBD,EAAmBN,GACrCQ,EAAkBF,EAAmBL,GAMrCQ,EAAWrB,GAAO,EAAGZ,EAAcn/J,GAAMghK,EAAUhhK,IACnDqhK,EAAYf,EAAkBnB,EAAcn/J,GAAO,EAAI6gK,EAAWO,EAAWF,EAAkBV,EAA4BvH,SAAWr1F,EAASw9F,EAAWF,EAAkBV,EAA4BvH,SACxMqI,EAAYhB,GAAmBnB,EAAcn/J,GAAO,EAAI6gK,EAAWO,EAAWD,EAAkBX,EAA4BvH,SAAW6H,EAASM,EAAWD,EAAkBX,EAA4BvH,SACzMsI,EAAoBpjK,EAAMoqF,SAASmyE,OAASxF,GAAgB/2J,EAAMoqF,SAASmyE,OAC3E8G,EAAeD,EAAiC,MAAbtI,EAAmBsI,EAAkBjN,WAAa,EAAIiN,EAAkBlN,YAAc,EAAI,EAC7HoN,EAAwH,OAAjGf,EAA+C,MAAvBD,OAA8B,EAASA,EAAoBxH,IAAqByH,EAAwB,EAEvJgB,EAAY16I,EAASs6I,EAAYG,EACjCE,EAAkB5B,GAAOI,EAASF,GAAQ93I,EAF9BnB,EAASq6I,EAAYI,EAAsBD,GAEKr5I,EAAKnB,EAAQm5I,EAASH,GAAQjiH,EAAK2jH,GAAa3jH,GAChH08G,EAAcxB,GAAY0I,EAC1BphJ,EAAK04I,GAAY0I,EAAkB36I,EAGrC,GAAIq3I,EAAc,CAChB,IAAIuD,EAEAC,EAAyB,MAAb5I,EAAmB9vI,GAAMF,GAErC64I,GAAwB,MAAb7I,EAAmB5tE,GAASD,GAEvC22E,GAAUtH,EAAc2D,GAExB5lB,GAAmB,MAAZ4lB,EAAkB,SAAW,QAEpC4D,GAAOD,GAAUrwI,EAASmwI,GAE1BI,GAAOF,GAAUrwI,EAASowI,IAE1BI,IAAuD,IAAxC,CAAC/4I,GAAKF,IAAMlX,QAAQ8mJ,GAEnCsJ,GAAyH,OAAjGP,EAAgD,MAAvBnB,OAA8B,EAASA,EAAoBrC,IAAoBwD,EAAyB,EAEzJQ,GAAaF,GAAeF,GAAOD,GAAU5C,EAAc3mB,IAAQ8gB,EAAW9gB,IAAQ2pB,GAAuB3B,EAA4BpC,QAEzIiE,GAAaH,GAAeH,GAAU5C,EAAc3mB,IAAQ8gB,EAAW9gB,IAAQ2pB,GAAuB3B,EAA4BpC,QAAU6D,GAE5IK,GAAmBnC,GAAU+B,GDzH9B,SAAwB/5I,EAAKptB,EAAOgjD,GACzC,IAAIj3C,EAAIi5J,GAAO53I,EAAKptB,EAAOgjD,GAC3B,OAAOj3C,EAAIi3C,EAAMA,EAAMj3C,ECuH2By7J,CAAeH,GAAYL,GAASM,IAActC,GAAOI,EAASiC,GAAaJ,GAAMD,GAAS5B,EAASkC,GAAaJ,IAEpKxH,EAAc2D,GAAWkE,GACzB/hJ,EAAK69I,GAAWkE,GAAmBP,GAGrC5jK,EAAMg5J,cAAc97J,GAAQklB,IAS5B+1I,iBAAkB,CAAC,WEhDrB,QACEj7J,KAAM,QACNsnH,SAAS,EACTg1C,MAAO,OACPlkH,GA9EF,SAAe2oG,GACb,IAAIomB,EAEArkK,EAAQi+I,EAAKj+I,MACb9C,EAAO+gJ,EAAK/gJ,KACZ+R,EAAUgvI,EAAKhvI,QACf2zJ,EAAe5iK,EAAMoqF,SAASmyE,MAC9BD,EAAgBt8J,EAAMg5J,cAAcsD,cACpC5B,EAAgBJ,GAAiBt6J,EAAM43J,WACvCvzE,EAAOm2E,GAAyBE,GAEhC74J,EADa,CAACipB,GAAMmiE,IAAOr5E,QAAQ8mJ,IAAkB,EAClC,SAAW,QAElC,GAAKkI,GAAiBtG,EAAtB,CAIA,IAAIoC,EAxBgB,SAAyB1xE,EAAShtF,GAItD,OAAOy+J,GAAsC,kBAH7CzxE,EAA6B,oBAAZA,EAAyBA,EAAQ3xF,OAAOwQ,OAAO,GAAI7L,EAAM80G,MAAO,CAC/E8iD,UAAW53J,EAAM43J,aACb5qE,GACkDA,EAAU2xE,GAAgB3xE,EAASwqE,KAoBvE8M,CAAgBr1J,EAAQ+9E,QAAShtF,GACjD6iK,EAAYzM,GAAcwM,GAC1B2B,EAAmB,MAATlgF,EAAer5D,GAAMF,GAC/B05I,EAAmB,MAATngF,EAAe6I,GAASD,GAClCw3E,EAAUzkK,EAAM80G,MAAMg2C,UAAUjpJ,GAAO7B,EAAM80G,MAAMg2C,UAAUzmE,GAAQi4E,EAAcj4E,GAAQrkF,EAAM80G,MAAM4iD,OAAO71J,GAC9G6iK,EAAYpI,EAAcj4E,GAAQrkF,EAAM80G,MAAMg2C,UAAUzmE,GACxD++E,EAAoBrM,GAAgB6L,GACpC+B,EAAavB,EAA6B,MAAT/+E,EAAe++E,EAAkB1lE,cAAgB,EAAI0lE,EAAkB3lE,aAAe,EAAI,EAC3HmnE,EAAoBH,EAAU,EAAIC,EAAY,EAG9C16I,EAAM00I,EAAc6F,GACpB3kH,EAAM+kH,EAAa9B,EAAUhhK,GAAO68J,EAAc8F,GAClD1xD,EAAS6xD,EAAa,EAAI9B,EAAUhhK,GAAO,EAAI+iK,EAC/C/7I,EAAS+4I,GAAO53I,EAAK8oF,EAAQlzD,GAE7BilH,EAAWxgF,EACfrkF,EAAMg5J,cAAc97J,KAASmnK,EAAwB,IAA0BQ,GAAYh8I,EAAQw7I,EAAsBS,aAAej8I,EAASiqF,EAAQuxD,KA6CzJxK,OA1CF,SAAgBoB,GACd,IAAIj7J,EAAQi7J,EAAMj7J,MAEd+kK,EADU9J,EAAMhsJ,QACWtI,QAC3Bi8J,OAAoC,IAArBmC,EAA8B,sBAAwBA,EAErD,MAAhBnC,IAKwB,kBAAjBA,IACTA,EAAe5iK,EAAMoqF,SAASstE,OAAOsN,cAAcpC,MAahD55I,GAAShpB,EAAMoqF,SAASstE,OAAQkL,KAQrC5iK,EAAMoqF,SAASmyE,MAAQqG,IAUvB1K,SAAU,CAAC,iBACXC,iBAAkB,CAAC,oBChGrB,SAAS8M,GAAe1xI,EAAUm+D,EAAMwzE,GAQtC,YAPyB,IAArBA,IACFA,EAAmB,CACjBr3I,EAAG,EACHoJ,EAAG,IAIA,CACLjM,IAAKuI,EAASvI,IAAM0mE,EAAKxtE,OAASghJ,EAAiBjuI,EACnDg2D,MAAO15D,EAAS05D,MAAQyE,EAAKztE,MAAQihJ,EAAiBr3I,EACtDq/D,OAAQ35D,EAAS25D,OAASwE,EAAKxtE,OAASghJ,EAAiBjuI,EACzDnM,KAAMyI,EAASzI,KAAO4mE,EAAKztE,MAAQihJ,EAAiBr3I,GAIxD,SAASs3I,GAAsB5xI,GAC7B,MAAO,CAACvI,GAAKiiE,GAAOC,GAAQpiE,IAAMutB,MAAK,SAAU+sH,GAC/C,OAAO7xI,EAAS6xI,IAAS,KAiC7B,QACEloK,KAAM,OACNsnH,SAAS,EACTg1C,MAAO,OACPrB,iBAAkB,CAAC,mBACnB7iH,GAlCF,SAAc2oG,GACZ,IAAIj+I,EAAQi+I,EAAKj+I,MACb9C,EAAO+gJ,EAAK/gJ,KACZ8jK,EAAgBhhK,EAAM80G,MAAMg2C,UAC5BqQ,EAAan7J,EAAM80G,MAAM4iD,OACzBwN,EAAmBllK,EAAMg5J,cAAcqM,gBACvCC,EAAoBzG,GAAe7+J,EAAO,CAC5Ck/J,eAAgB,cAEdqG,EAAoB1G,GAAe7+J,EAAO,CAC5Co/J,aAAa,IAEXoG,EAA2BP,GAAeK,EAAmBtE,GAC7DyE,EAAsBR,GAAeM,EAAmBpK,EAAY+J,GACpEQ,EAAoBP,GAAsBK,GAC1CG,EAAmBR,GAAsBM,GAC7CzlK,EAAMg5J,cAAc97J,GAAQ,CAC1BsoK,yBAA0BA,EAC1BC,oBAAqBA,EACrBC,kBAAmBA,EACnBC,iBAAkBA,GAEpB3lK,EAAMi5J,WAAWvB,OAASr8J,OAAOwQ,OAAO,GAAI7L,EAAMi5J,WAAWvB,OAAQ,CACnE,+BAAgCgO,EAChC,sBAAuBC,MCtCvBC,GAA4BnN,GAAgB,CAC9CI,iBAFqB,CAACgN,GAAgBvJ,GAAewJ,GAAeC,GAAal9I,GAAQwpE,GAAMgzE,GAAiB9I,GAAOzvE,0BCLrHk5E,GAAkB,GCAlBC,GAAO,aAIPC,GAAe,WACjB,OAAO/oK,QAAQC,QAAQ,OAGrB4oK,GAAkB,GACf,SAASG,GAAOloB,GACrB,IAAImoB,EAAiBnoB,EAAK2Z,UACtBA,OAA+B,IAAnBwO,EAA4B,SAAWA,EACnDC,EAAgBpoB,EAAKsa,SACrBA,OAA6B,IAAlB8N,EAA2B,WAAaA,EACnDC,EAAiBroB,EAAK8Z,UACtBA,OAA+B,IAAnBuO,EAA4BN,GAAkBM,EAC1DC,EAAmBtoB,EAAKsoB,iBACxBpM,EAAgBlc,EAAKkc,cACrBqM,EAAWvoB,EAAKuoB,SAChBj3J,EAAW0uI,EAAK1uI,SAChB0kJ,EAAgB9gH,EAAAA,WAAiB0gH,IAEjCG,EAAkB7gH,EAAAA,SAAe,MACjCszH,EAAgBzS,EAAgB,GAChC0S,EAAmB1S,EAAgB,GAEnC2S,EAAmBxzH,EAAAA,SAAe,MAClCyvH,EAAe+D,EAAiB,GAChCC,EAAkBD,EAAiB,GAEvCxzH,EAAAA,WAAgB,WACdohH,GAAOiS,EAAUC,KAChB,CAACD,EAAUC,IACd,IAAIx3J,EAAUkkC,EAAAA,SAAc,WAC1B,MAAO,CACLykH,UAAWA,EACXW,SAAUA,EACV4B,cAAeA,EACfpC,UAAW,GAAGv7J,OAAOu7J,EAAW,CAAC,CAC/B76J,KAAM,QACNsnH,QAAyB,MAAhBo+C,EACT3zJ,QAAS,CACPtI,QAASi8J,SAId,CAAChL,EAAWW,EAAU4B,EAAepC,EAAW6K,IAE/CiE,ED/CiB,SAAmBN,EAAkBE,EAAex3J,QACzD,IAAZA,IACFA,EAAU,IAGZ,IAAI63J,EAAc3zH,EAAAA,OAAa,MAC3B4zH,EAAsB,CACxB5M,cAAelrJ,EAAQkrJ,cACvBvC,UAAW3oJ,EAAQ2oJ,WAAa,SAChCW,SAAUtpJ,EAAQspJ,UAAY,WAC9BR,UAAW9oJ,EAAQ8oJ,WAAaiO,IAG9BhS,EAAkB7gH,EAAAA,SAAe,CACnC6oD,OAAQ,CACN07D,OAAQ,CACNv1J,SAAU4kK,EAAoBxO,SAC9BztI,KAAM,IACNE,IAAK,KAEPuxI,MAAO,CACLp6J,SAAU,aAGd82J,WAAY,KAEVj5J,EAAQg0J,EAAgB,GACxB//F,EAAW+/F,EAAgB,GAE3BgT,EAAsB7zH,EAAAA,SAAc,WACtC,MAAO,CACLj2C,KAAM,cACNsnH,SAAS,EACTg1C,MAAO,QACPlkH,GAAI,SAAY2oG,GACd,IAAIj+I,EAAQi+I,EAAKj+I,MACboqF,EAAW/uF,OAAOsH,KAAK3C,EAAMoqF,UACjC68E,GAAAA,WAAmB,WACjBhzG,EAAS,CACP+nC,OAAQw4D,GAAYpqE,EAASl0C,KAAI,SAAUvvC,GACzC,MAAO,CAACA,EAAS3G,EAAMg8F,OAAOr1F,IAAY,QAE5CsyJ,WAAYzE,GAAYpqE,EAASl0C,KAAI,SAAUvvC,GAC7C,MAAO,CAACA,EAAS3G,EAAMi5J,WAAWtyJ,cAK1CuxJ,SAAU,CAAC,oBAEZ,IACCgP,EAAgB/zH,EAAAA,SAAc,WAChC,IAAIkyD,EAAa,CACf80D,cAAe4M,EAAoB5M,cACnCvC,UAAWmP,EAAoBnP,UAC/BW,SAAUwO,EAAoBxO,SAC9BR,UAAW,GAAGv7J,OAAOuqK,EAAoBhP,UAAW,CAACiP,EAAqB,CACxE9pK,KAAM,cACNsnH,SAAS,MAIb,OAAI6sC,KAAQyV,EAAYnvJ,QAAS0tF,GACxByhE,EAAYnvJ,SAAW0tF,GAE9ByhE,EAAYnvJ,QAAU0tF,EACfA,KAER,CAAC0hE,EAAoB5M,cAAe4M,EAAoBnP,UAAWmP,EAAoBxO,SAAUwO,EAAoBhP,UAAWiP,IAC/HG,EAAoBh0H,EAAAA,SAmBxB,OAlBAshH,IAA0B,WACpB0S,EAAkBxvJ,SACpBwvJ,EAAkBxvJ,QAAQyhJ,WAAW8N,KAEtC,CAACA,IACJzS,IAA0B,WACxB,GAAwB,MAApB8R,GAA6C,MAAjBE,EAAhC,CAIA,IACIW,GADen4J,EAAQ22J,cAAgByB,IACTd,EAAkBE,EAAeS,GAEnE,OADAC,EAAkBxvJ,QAAUyvJ,EACrB,WACLA,EAAexpI,UACfupI,EAAkBxvJ,QAAU,SAE7B,CAAC4uJ,EAAkBE,EAAex3J,EAAQ22J,eACtC,CACL5lK,MAAOmnK,EAAkBxvJ,QAAUwvJ,EAAkBxvJ,QAAQ3X,MAAQ,KACrEg8F,OAAQh8F,EAAMg8F,OACdi9D,WAAYj5J,EAAMi5J,WAClBz0D,OAAQ2iE,EAAkBxvJ,QAAUwvJ,EAAkBxvJ,QAAQ6sF,OAAS,KACvEpqC,YAAa+sG,EAAkBxvJ,QAAUwvJ,EAAkBxvJ,QAAQyiD,YAAc,MC9ClEktG,CAAUf,GAAoBtS,EAAewS,EAAex3J,GACzEjP,EAAQ6mK,EAAW7mK,MACnBg8F,EAAS6qE,EAAW7qE,OACpB5hC,EAAcysG,EAAWzsG,YACzBoqC,EAASqiE,EAAWriE,OAEpB+iE,EAAgBp0H,EAAAA,SAAc,WAChC,MAAO,CACLpa,IAAK2tI,EACL/yJ,MAAOqoF,EAAO07D,OACdE,UAAW53J,EAAQA,EAAM43J,UAAYA,EACrC+N,iBAAkB3lK,GAASA,EAAMg5J,cAAclsE,KAAO9sF,EAAMg5J,cAAclsE,KAAK64E,iBAAmB,KAClGD,kBAAmB1lK,GAASA,EAAMg5J,cAAclsE,KAAO9sF,EAAMg5J,cAAclsE,KAAK44E,kBAAoB,KACpG8B,WAAY,CACV7zJ,MAAOqoF,EAAOugE,MACdxjI,IAAK6tI,GAEPxsG,YAAaA,GAAe6rG,GAC5BzhE,OAAQA,GAAU0hE,MAEnB,CAACQ,EAAkBE,EAAiBhP,EAAW53J,EAAOg8F,EAAQwI,EAAQpqC,IACzE,OAAOi6F,GAAY9kJ,EAAZ8kJ,CAAsBkT,4BCtExB,SAASE,GAAUxpB,GACxB,IAAI1uI,EAAW0uI,EAAK1uI,SAChBi3J,EAAWvoB,EAAKuoB,SAChBtS,EAAmB/gH,EAAAA,WAAiB2gH,IACpC4T,EAAav0H,EAAAA,aAAkB,SAAUrsC,GAC3CytJ,GAAOiS,EAAU1/J,GACjBwtJ,GAAWJ,EAAkBptJ,KAC5B,CAAC0/J,EAAUtS,IAWd,OARA/gH,EAAAA,WAAgB,WACd,OAAO,WACL,OAAOohH,GAAOiS,EAAU,SAEzB,IACHrzH,EAAAA,WAAgB,WACdn0C,KAAQ0iD,QAAQwyG,GAAmB,sEAClC,CAACA,IACGG,GAAY9kJ,EAAZ8kJ,CAAsB,CAC3Bt7H,IAAK2uI,ICvBT,QACY,ECAZ,GAAev0H,EAAAA,cAAoB,MCOxBw0H,GAAY,YACZC,GAAS,SACTC,GAAW,WACXC,GAAU,UACVC,GAAU,UA6FjBC,GAA0B,SAAUC,GCxGzB,IAAwBv5F,EAAUC,ED2G/C,SAASq5F,EAAWxiK,EAAO5D,GACzB,IAAIg8I,EAEJA,EAAQqqB,EAAiBzsK,KAAKuB,KAAMyI,EAAO5D,IAAY7E,KACvD,IAGImrK,EADAC,EAFcvmK,MAEuBwmK,WAAa5iK,EAAM6iK,MAAQ7iK,EAAM2iK,OAuB1E,OArBAvqB,EAAM0qB,aAAe,KAEjB9iK,EAAM+iK,GACJJ,GACFD,EAAgBN,GAChBhqB,EAAM0qB,aAAeT,IAErBK,EAAgBJ,GAIhBI,EADE1iK,EAAMgjK,eAAiBhjK,EAAMijK,aACfd,GAEAC,GAIpBhqB,EAAM59I,MAAQ,CACZ0oK,OAAQR,GAEVtqB,EAAM+qB,aAAe,KACd/qB,ECxIsCjvE,EDyGpBs5F,GCzGUv5F,EDyGtBs5F,GCxGN1sK,UAAYD,OAAO4D,OAAO0vE,EAAWrzE,WAC9CozE,EAASpzE,UAAUiS,YAAcmhE,EACjC,GAAeA,EAAUC,GDwIzBq5F,EAAWxkK,yBAA2B,SAAkCy6I,EAAMz/F,GAG5E,OAFay/F,EAAKsqB,IAEJ/pH,EAAUkqH,SAAWf,GAC1B,CACLe,OAAQd,IAIL,MAmBT,IAAIngB,EAASugB,EAAW1sK,UA0OxB,OAxOAmsJ,EAAO5uH,kBAAoB,WACzB97B,KAAK6rK,cAAa,EAAM7rK,KAAKurK,eAG/B7gB,EAAOhlH,mBAAqB,SAA4ByR,GACtD,IAAI20H,EAAa,KAEjB,GAAI30H,IAAcn3C,KAAKyI,MAAO,CAC5B,IAAIkjK,EAAS3rK,KAAKiD,MAAM0oK,OAEpB3rK,KAAKyI,MAAM+iK,GACTG,IAAWb,IAAYa,IAAWZ,KACpCe,EAAahB,IAGXa,IAAWb,IAAYa,IAAWZ,KACpCe,EAAad,IAKnBhrK,KAAK6rK,cAAa,EAAOC,IAG3BphB,EAAOxgH,qBAAuB,WAC5BlqC,KAAK+rK,sBAGPrhB,EAAOshB,YAAc,WACnB,IACIC,EAAMX,EAAOF,EADb/uG,EAAUr8D,KAAKyI,MAAM4zD,QAWzB,OATA4vG,EAAOX,EAAQF,EAAS/uG,EAET,MAAXA,GAAsC,kBAAZA,IAC5B4vG,EAAO5vG,EAAQ4vG,KACfX,EAAQjvG,EAAQivG,MAEhBF,OAA4BlqK,IAAnBm7D,EAAQ+uG,OAAuB/uG,EAAQ+uG,OAASE,GAGpD,CACLW,KAAMA,EACNX,MAAOA,EACPF,OAAQA,IAIZ1gB,EAAOmhB,aAAe,SAAsBK,EAAUJ,QACnC,IAAbI,IACFA,GAAW,GAGM,OAAfJ,GAEF9rK,KAAK+rK,qBAEDD,IAAehB,GACjB9qK,KAAKmsK,aAAaD,GAElBlsK,KAAKosK,eAEEpsK,KAAKyI,MAAMgjK,eAAiBzrK,KAAKiD,MAAM0oK,SAAWd,IAC3D7qK,KAAKk3D,SAAS,CACZy0G,OAAQf,MAKdlgB,EAAOyhB,aAAe,SAAsBD,GAC1C,IAAIG,EAASrsK,KAETsrK,EAAQtrK,KAAKyI,MAAM6iK,MACnBgB,EAAYtsK,KAAK6E,QAAU7E,KAAK6E,QAAQwmK,WAAaa,EAErDhO,EAAQl+J,KAAKyI,MAAM8jK,QAAU,CAACD,GAAa,CAACpC,GAAAA,YAAqBlqK,MAAOssK,GACxEE,EAAYtO,EAAM,GAClBuO,EAAiBvO,EAAM,GAEvBwO,EAAW1sK,KAAKgsK,cAChBW,EAAeL,EAAYI,EAAStB,OAASsB,EAASpB,OAGrDY,IAAaZ,GAASvjE,GACzB/nG,KAAK4sK,aAAa,CAChBjB,OAAQZ,KACP,WACDsB,EAAO5jK,MAAMokK,UAAUL,OAK3BxsK,KAAKyI,MAAMqkK,QAAQN,EAAWC,GAC9BzsK,KAAK4sK,aAAa,CAChBjB,OAAQb,KACP,WACDuB,EAAO5jK,MAAMskK,WAAWP,EAAWC,GAEnCJ,EAAOW,gBAAgBL,GAAc,WACnCN,EAAOO,aAAa,CAClBjB,OAAQZ,KACP,WACDsB,EAAO5jK,MAAMokK,UAAUL,EAAWC,cAM1C/hB,EAAO0hB,YAAc,WACnB,IAAIa,EAASjtK,KAETisK,EAAOjsK,KAAKyI,MAAMwjK,KAClBS,EAAW1sK,KAAKgsK,cAChBQ,EAAYxsK,KAAKyI,MAAM8jK,aAAUrrK,EAAYgpK,GAAAA,YAAqBlqK,MAEjEisK,IAAQlkE,IASb/nG,KAAKyI,MAAMykK,OAAOV,GAClBxsK,KAAK4sK,aAAa,CAChBjB,OAAQX,KACP,WACDiC,EAAOxkK,MAAM0kK,UAAUX,GAEvBS,EAAOD,gBAAgBN,EAAST,MAAM,WACpCgB,EAAOL,aAAa,CAClBjB,OAAQd,KACP,WACDoC,EAAOxkK,MAAM2kK,SAASZ,aAlB1BxsK,KAAK4sK,aAAa,CAChBjB,OAAQd,KACP,WACDoC,EAAOxkK,MAAM2kK,SAASZ,OAqB5B9hB,EAAOqhB,mBAAqB,WACA,OAAtB/rK,KAAK4rK,eACP5rK,KAAK4rK,aAAaxlE,SAClBpmG,KAAK4rK,aAAe,OAIxBlhB,EAAOkiB,aAAe,SAAsBS,EAAW3zI,GAIrDA,EAAW15B,KAAKstK,gBAAgB5zI,GAChC15B,KAAKk3D,SAASm2G,EAAW3zI,IAG3BgxH,EAAO4iB,gBAAkB,SAAyB5zI,GAChD,IAAI6zI,EAASvtK,KAET0vF,GAAS,EAcb,OAZA1vF,KAAK4rK,aAAe,SAAUvhJ,GACxBqlE,IACFA,GAAS,EACT69E,EAAO3B,aAAe,KACtBlyI,EAASrP,KAIbrqB,KAAK4rK,aAAaxlE,OAAS,WACzB1W,GAAS,GAGJ1vF,KAAK4rK,cAGdlhB,EAAOsiB,gBAAkB,SAAyB3wG,EAASx7D,GACzDb,KAAKstK,gBAAgBzsK,GACrB,IAAIkJ,EAAO/J,KAAKyI,MAAM8jK,QAAUvsK,KAAKyI,MAAM8jK,QAAQ3xJ,QAAUsvJ,GAAAA,YAAqBlqK,MAC9EwtK,EAA0C,MAAXnxG,IAAoBr8D,KAAKyI,MAAMglK,eAElE,GAAK1jK,IAAQyjK,EAAb,CAKA,GAAIxtK,KAAKyI,MAAMglK,eAAgB,CAC7B,IAAIx+F,EAAQjvE,KAAKyI,MAAM8jK,QAAU,CAACvsK,KAAK4rK,cAAgB,CAAC7hK,EAAM/J,KAAK4rK,cAC/DY,EAAYv9F,EAAM,GAClBy+F,EAAoBz+F,EAAM,GAE9BjvE,KAAKyI,MAAMglK,eAAejB,EAAWkB,GAGxB,MAAXrxG,GACF9pC,WAAWvyB,KAAK4rK,aAAcvvG,QAb9B9pC,WAAWvyB,KAAK4rK,aAAc,IAiBlClhB,EAAOnjJ,OAAS,WACd,IAAIokK,EAAS3rK,KAAKiD,MAAM0oK,OAExB,GAAIA,IAAWf,GACb,OAAO,KAGT,IAAI+C,EAAc3tK,KAAKyI,MACnB+J,EAAWm7J,EAAYn7J,SAgBvBo7J,GAfMD,EAAYnC,GACFmC,EAAYjC,aACXiC,EAAYlC,cACnBkC,EAAYvC,OACbuC,EAAYrC,MACbqC,EAAY1B,KACT0B,EAAYtxG,QACLsxG,EAAYF,eACnBE,EAAYb,QACTa,EAAYZ,WACbY,EAAYd,UACfc,EAAYT,OACTS,EAAYR,UACbQ,EAAYP,SACbO,EAAYpB,QACVsB,GAA8BF,EAAa,CAAC,WAAY,KAAM,eAAgB,gBAAiB,SAAU,QAAS,OAAQ,UAAW,iBAAkB,UAAW,aAAc,YAAa,SAAU,YAAa,WAAY,aAEjP,OAGEv3H,EAAAA,cAAoB03H,GAAuB7vG,SAAU,CACnDp+D,MAAO,MACc,oBAAb2S,EAA0BA,EAASm5J,EAAQiC,GAAcx3H,EAAAA,aAAmBA,EAAAA,SAAAA,KAAoB5jC,GAAWo7J,KAIlH3C,EAzSqB,CA0S5B70H,EAAAA,WA+LF,SAASiqC,MA7LT4qF,GAAW9kK,YAAc2nK,GACzB7C,GAAWtkK,UA0LP,GAIJskK,GAAW5kK,aAAe,CACxBmlK,IAAI,EACJE,cAAc,EACdD,eAAe,EACfL,QAAQ,EACRE,OAAO,EACPW,MAAM,EACNa,QAASzsF,GACT0sF,WAAY1sF,GACZwsF,UAAWxsF,GACX6sF,OAAQ7sF,GACR8sF,UAAW9sF,GACX+sF,SAAU/sF,IAEZ4qF,GAAWL,UAAYA,GACvBK,GAAWJ,OAASA,GACpBI,GAAWH,SAAWA,GACtBG,GAAWF,QAAUA,GACrBE,GAAWD,QAAUA,GACrB,OEzjBI+C,GFyjBJ,2wCEpmBO,SAASC,KACd,IAAIC,EAAY3iK,SAASC,cAAc,OAEvC0iK,EAAUr3J,MAAMxR,SAAW,WAC3B6oK,EAAUr3J,MAAMqX,IAAM,UACtBggJ,EAAUr3J,MAAMsQ,MAAQ,OACxB+mJ,EAAUr3J,MAAMuQ,OAAS,OACzB8mJ,EAAUr3J,MAAM4f,SAAW,SAC3BlrB,SAAS4F,KAAKoC,YAAY26J,GAC1B,IAAMC,EAAiBD,EAAUnyG,YAAcmyG,EAAUvtE,YAEzD,OADAp1F,SAAS4F,KAAKmC,YAAY46J,GACnBC,EAGF,SAASC,GAAkBl+E,GAChC3kF,SAAS4F,KAAK0F,MAAM8yG,aAAez5B,EAAU,EAAVA,GAAAA,OAAiBA,EAAjBA,MAA+B,KAG7D,SAASm+E,KACd,OAAO9iK,SAAS4F,KAAKwvF,YAAcr1F,OAAOgjK,WAGrC,SAASC,KACd,IAAM13J,EAAQvL,OAAOyzF,iBAAiBxzF,SAAS4F,KAAM,MAErD,OAAOk8C,SAAUx2C,GAASA,EAAM0qF,iBAAiB,kBAAqB,EAAG,IAGpE,SAASitE,KACd,IAAML,EAAiBF,KAEjBQ,EAAeljK,SAASslC,iBAC5B,qDACA,GACI69H,EAAcD,EAChBphH,SAASohH,EAAa53J,MAAM8yG,cAAgB,EAAG,IAC/C,EAEA0kD,MACFD,GAAkBM,EAAcP,GAU7B,SAASQ,KAA6D,IAA7C73H,EAA6C,uDAAjC,GAAI83H,EAA6B,uDAAjBZ,GAC1D,OAAKY,EACE93H,EACJrqC,MAAM,KACN2sC,KAAIvuC,SAAAA,GAAC,OAAI+jK,EAAU/jK,IAAMA,KACzBlM,KAAK,KAJem4C,EAUlB,SAAS+3H,GAAKx2H,EAAKy2H,GACxB,IAAMpsG,EAAS,GAMf,OALAnkE,OAAOsH,KAAKwyC,GAAK3rC,SAAQjO,SAAAA,IACQ,IAA3BqwK,EAASh4J,QAAQrY,KACnBikE,EAAOjkE,GAAO45C,EAAI55C,OAGfikE,EAMF,SAASqsG,GAAK12H,EAAKxyC,GAMxB,IALA,IAEIpH,EAFEuwK,EAAW9wK,MAAMC,QAAQ0H,GAAQA,EAAO,CAACA,GAC3C/H,EAASkxK,EAASlxK,OAEhB4kE,EAAS,GAER5kE,EAAS,GAGd4kE,EADAjkE,EAAMuwK,EADNlxK,GAAU,IAEIu6C,EAAI55C,GAEpB,OAAOikE,EAGT,IAAIngE,GAAS,GAEN,SAASm7I,GAAS74I,GAClBtC,GAAOsC,KAEa,qBAAZjC,SACTA,QAAQ+B,MAAME,GAEhBtC,GAAOsC,IAAW,GAIf,SAASoqK,GAAWC,EAAUC,GACnC,OAAO,SAAkBzmK,EAAOC,EAAUC,GAChB,OAApBF,EAAMC,IAAiD,qBAApBD,EAAMC,IAC3C+0I,GAAS,IAAD,OACF/0I,EADE,0BACwBC,EADxB,mCACgEumK,IAHV,2BAANv+F,EAAM,iCAANA,EAAM,kBAOhE,OAAOs+F,EAAQ,WAARA,EAAAA,CAASxmK,EAAOC,EAAUC,GAA1BsmK,OAA4Ct+F,KAKvD,IAAM58B,GAA6B,kBAAX1oC,QAAuBA,OAAO0oC,SAAY,aAE3D,SAASo7H,GAAW1mK,EAAOC,EAAUC,GAC1C,KAAMF,EAAMC,aAAqBqrC,IAC/B,OAAO,IAAIvxC,MACT,iBACEkG,EACA,kBACAC,EACA,qEAKD,IAAMymK,GAAiB9kK,GAAAA,UAAoB,CAChDA,GAAAA,OACAA,GAAAA,KACA6kK,GACA7kK,GAAAA,MAAgB,CAAEsQ,QAAStQ,GAAAA,QAGhB+kK,GAAc/kK,GAAAA,UAAoB,CAC7CA,GAAAA,KACAA,GAAAA,OACAA,GAAAA,MAAgB,CAAEwF,SAAUxF,GAAAA,OAAkB/C,OAAQ+C,GAAAA,OACtDA,GAAAA,QAAkBA,GAAAA,UAAoB,CACpCA,GAAAA,KACAA,GAAAA,OACAA,GAAAA,MAAgB,CAAEwF,SAAUxF,GAAAA,OAAkB/C,OAAQ+C,GAAAA,YAO7CglK,GAAqB,CAChCC,KAAW,IACXC,SAAW,IACXC,MAAW,IACXC,SAAW,IACXC,UAAW,KAMAC,GAAyB,CACpC,KACA,eACA,gBACA,SACA,QACA,OACA,UACA,UACA,aACA,YACA,SACA,YACA,YAGWC,GAAqB,CAChC/E,SAAU,WACVC,QAAU,UACVC,QAAU,UACVH,OAAU,UAGCiF,GAAW,CACtBC,IAAO,GACPC,MAAO,GACP1E,MAAO,GACP2E,IAAO,EACPC,GAAO,GACPC,KAAO,GACPC,KAAO,GACPtjJ,IAAO,GACPlpB,EAAO,GACP6G,EAAO,IAGI4lK,GAAmB,CAC9B,aACA,OACA,WACA,YACA,MACA,UACA,cACA,QACA,YACA,aACA,SACA,eACA,WACA,OACA,cAGWC,KACO,qBAAXjlK,SACPA,OAAOC,WACPD,OAAOC,SAASC,eAGX,SAASglK,GAAcrxK,GAC5B,SAAIA,GAA4B,kBAAXA,IACZ,YAAaA,EAKxB,SAASsxK,GAAO3wK,GACd,OAAa,MAATA,OACmBqB,IAAVrB,EAAsB,qBAAuB,gBAEjDvB,OAAOC,UAAUF,SAASI,KAAKoB,GAGnC,SAAS4wK,GAAS5wK,GACvB,IAAM+B,SAAc/B,EAEpB,GAAa,WAAT+B,EACF,OAAO/B,EAET,GAAa,WAAT+B,GAA+B,WAATA,GAAuC,oBAAlB4uK,GAAO3wK,GACpD,OALU,IAOZ,GAAI0gF,GAAS1gF,GAAQ,CACnB,IAAM4hH,EAAiC,oBAAlB5hH,EAAMsT,QAAyBtT,EAAMsT,UAAYtT,EACtEA,EAAQ0gF,GAASkhC,GAATlhC,GAAAA,OAAqBkhC,GAAUA,EAEzC,GAAa,WAAT7/G,EACF,OAAiB,IAAV/B,EAAcA,GAASA,EAEhCA,EAAQA,EAAMyN,QAAQ,aAAc,IACpC,IAAMojK,EAAW,aAAazjK,KAAKpN,GACnC,OAAQ6wK,GAAY,cAAczjK,KAAKpN,GACnCutD,SAASvtD,EAAMc,MAAM,GAAI+vK,EAAW,EAAI,GACvC,qBAAqBzjK,KAAKpN,GAlBnB,KAkBmCA,EAG1C,SAAS0gF,GAAS1gF,GACvB,IAAM+B,SAAc/B,EACpB,OAAgB,MAATA,IAA2B,WAAT+B,GAA8B,aAATA,GAGzC,SAASi6C,GAAWh8C,GACzB,IAAK0gF,GAAS1gF,GACZ,OAAO,EAGT,IAAM+P,EAAM4gK,GAAO3wK,GACnB,MAAe,sBAAR+P,GAAuC,2BAARA,GAC5B,+BAARA,GAAgD,mBAARA,EAGrC,SAAS+gK,GAAgBzxK,GAC9B,GAAIqxK,GAAcrxK,GAChB,OAAOA,EAAO0b,QAEhB,GAAIihC,GAAW38C,GACb,OAAOA,IAET,GAAsB,kBAAXA,GAAuBoxK,GAAW,CAC3C,IAAIM,EAAYtlK,SAASslC,iBAAiB1xC,GAI1C,GAHK0xK,EAAU/yK,SACb+yK,EAAYtlK,SAASslC,iBAATtlC,IAAAA,OAA8BpM,MAEvC0xK,EAAU/yK,OACb,MAAM,IAAI2E,MAAJ,sBACWtD,EADX,8DAIR,OAAO0xK,EAET,OAAO1xK,EAGF,SAAS2xK,GAAkBC,GAChC,OAAY,OAARA,IAGG7yK,MAAMC,QAAQ4yK,IAASR,IAAmC,kBAAfQ,EAAIjzK,QAGjD,SAASo7F,GAAU/5F,EAAQ6xK,GAChC,IAAMD,EAAMH,GAAgBzxK,GAC5B,OAAI6xK,EACEF,GAAkBC,GACbA,EAEG,OAARA,EACK,GAEF,CAACA,GAEJD,GAAkBC,GACbA,EAAI,GAENA,EAIJ,IAAME,GAAsB,CAAC,aAAc,SAE3C,SAASC,GAA0BC,EAAMrwK,EAASI,EAASkwK,GAChE,IAAIL,EAAMI,EACLL,GAAkBC,KACrBA,EAAM,CAACA,IAGT,IAAI/uK,EAASd,EAKb,GAJsB,kBAAXc,IACTA,EAASA,EAAOyK,MAAM,SAIrBqkK,GAAkBC,IACA,oBAAZjwK,IACN5C,MAAMC,QAAQ6D,GAEf,MAAM,IAAIS,MAAJ,iOAYR,OALAvE,MAAMM,UAAUkO,QAAQhO,KAAKsD,GAAQsoB,SAAAA,GACnCpsB,MAAMM,UAAUkO,QAAQhO,KAAKqyK,GAAKvhI,SAAAA,GAChCA,EAAGzrC,iBAAiBumB,EAAOxpB,EAASswK,SAGjC,WACLlzK,MAAMM,UAAUkO,QAAQhO,KAAKsD,GAAQsoB,SAAAA,GACnCpsB,MAAMM,UAAUkO,QAAQhO,KAAKqyK,GAAKvhI,SAAAA,GAChCA,EAAGvrC,oBAAoBqmB,EAAOxpB,EAASswK,UAMxC,IAAMC,GAAoB,CAC/B,UACA,aACA,2CACA,yBACA,2BACA,yBACA,SACA,QACA,yBACA,kBACA,kBACA,+FC9WIzqK,GAAY,CAChBiJ,IAAKy/J,GACLgC,MAAO/mK,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,SAC5CusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPgnK,GAAa7oK,SAAAA,GACjB,IACEouC,EAKEpuC,EALFouC,UACA83H,EAIElmK,EAJFkmK,UACA0C,EAGE5oK,EAHF4oK,MACKE,EAEH9oK,EAFFmH,IACGssJ,EALL,GAMIzzJ,EANJ,IAQI+oK,EAAiB,aACP,IAAVH,EACFG,EAAiB,kBAEVH,IACPG,EAAiB,aAAH,OAAgBH,IAGhC,IAAM3zK,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA26H,GACC7C,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpC4zK,GAAU3qK,UAAYA,GACtB2qK,GAAUjrK,aAhCW,CACnBuJ,IAAK,OAiCP,OAAe0hK,2DCxCTG,GAAkBnnK,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,SAEzD3D,GAAY,CAChBiJ,IAAKy/J,GACLqC,UAAW1C,GAAW1kK,GAAAA,KAAgB,oGACtCusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXqnK,GAAIF,GACJG,GAAIH,GACJvwJ,GAAIuwJ,GACJt8I,GAAIs8I,GACJI,GAAIJ,GACJK,IAAKL,IAGDprK,GAAe,CACnBuJ,IAAK,MACLi/G,OAlBmB,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,QAqB9CkjD,GAAOtpK,SAAAA,GACX,IACEouC,EAMEpuC,EANFouC,UACA83H,EAKElmK,EALFkmK,UACA+C,EAIEjpK,EAJFipK,UACKH,EAGH9oK,EAHFmH,IACAi/G,EAEEpmH,EAFFomH,OACGqtC,EANL,GAOIzzJ,EAPJ,IASMupK,EAAa,GAEnBnjD,EAAOpiH,SAAQ,SAACwlK,EAAUt0K,GACxB,IAAIu0K,EAAUzpK,EAAMwpK,GAIpB,UAFO/V,EAAW+V,GAEbC,EAAL,CAIA,IAAMC,GAAQx0K,EACdq0K,EAAWh0K,KAAKm0K,EAAO,YAAH,OAAeD,GAAf,mBAAuCD,EAAvC,YAAmDC,QAGzE,IAAMx0K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA66H,EAAY,OAAS,KACrB,MACAM,GACCrD,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCq0K,GAAIprK,UAAYA,GAChBorK,GAAI1rK,aAAeA,GAEnB,OAAe0rK,+CC7DTK,GAAY,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,OAC3CC,GAAqB/nK,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,SAE5DgoK,GAAchoK,GAAAA,UAAoB,CACtCA,GAAAA,KACAA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,MAAgB,CACd49B,KAAM59B,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,OAAkBA,GAAAA,SAC7DqL,MAAO08J,GACPvmJ,OAAQumJ,OAIN1rK,GAAY,CAChBiJ,IAAKy/J,GACLsC,GAAIW,GACJV,GAAIU,GACJpxJ,GAAIoxJ,GACJn9I,GAAIm9I,GACJT,GAAIS,GACJR,IAAKQ,GACLz7H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXukH,OAAQvkH,GAAAA,OAGJjE,GAAe,CACnBuJ,IAAK,MACLi/G,OAAQujD,IAGJG,GAAqB,SAACJ,EAAMF,EAAUC,GAC1C,OAAgB,IAAZA,GAAgC,KAAZA,EACfC,EAAO,MAAH,cAAkBF,GACR,SAAZC,EACFC,EAAO,WAAH,cAAuBF,EAAvB,SAGNE,EAAO,OAAH,OAAUD,GAAV,cAA6BD,EAA7B,YAAyCC,IAIzCM,GAAmB,SAACtW,EAAYyS,GAAgC,IAArB9/C,EAAqB,uDAAdujD,GACvDJ,EAAa,GA4BnB,OA1BAnjD,EAAOpiH,SAAQ,SAACwlK,EAAUt0K,GACxB,IAAI80K,EAAavW,EAAW+V,GAI5B,UAFO/V,EAAW+V,GAEbQ,GAA6B,KAAfA,EAAnB,CAIA,IAAMN,GAAQx0K,EAEd,GAAI4iF,GAASkyF,GAAa,OAClBC,EAAkBP,EAAO,IAAH,WAAaF,EAAb,KACtBU,EAAWJ,GAAmBJ,EAAMF,EAAUQ,EAAWvqI,MAE/D8pI,EAAWh0K,KAAK0wK,GAAgBjxK,IAAU,QACvCk1K,EAAWF,EAAWvqI,MAA4B,KAApBuqI,EAAWvqI,MADF,oBAE/BwqI,GAF+B,OAEbD,EAAW98J,OAAU88J,EAAW98J,OAA8B,IAArB88J,EAAW98J,OAFvC,qBAG9B+8J,GAH8B,OAGZD,EAAW3mJ,QAAW2mJ,EAAW3mJ,QAAgC,IAAtB2mJ,EAAW3mJ,QAH1C,IAItC6iJ,QACC,CACL,IAAMgE,EAAWJ,GAAmBJ,EAAMF,EAAUQ,GACpDT,EAAWh0K,KAAK20K,QAIb,CACLX,WAAAA,EACA9V,WAAAA,IAKE0W,GAAOnqK,SAAAA,GACX,IACEouC,EAKEpuC,EALFouC,UACA83H,EAIElmK,EAJFkmK,UACA9/C,EAGEpmH,EAHFomH,OACK0iD,EAEH9oK,EAFFmH,IACGssJ,EALL,GAMIzzJ,EANJ,IAQA,EAAsD+pK,GAAiBtW,EAAYyS,EAAW9/C,GAA3EgkD,EAAnB,EAAM3W,WAAiC8V,EAAvC,EAAuCA,WAElCA,EAAWn0K,QACdm0K,EAAWh0K,KAAK,OAGlB,IAAMN,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACAm7H,GACCrD,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASsB,EAAT,CAA6Bh8H,UAAWn5C,MAI5Ck1K,GAAIjsK,UAAYA,GAChBisK,GAAIvsK,aAAeA,GAEnB,OAAeusK,8GC3GTjsK,GAAY,CAChBmsK,MAAOxoK,GAAAA,KACPyoK,KAAMzoK,GAAAA,KACN0oK,KAAM1oK,GAAAA,KACN2oK,MAAO3oK,GAAAA,OACP4oK,OAAQ5oK,GAAAA,OACR+e,MAAO/e,GAAAA,OACP+yC,KAAM/yC,GAAAA,OACNsF,IAAKy/J,GACL/uE,UAAWh2F,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,SAChDusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACX6oK,OAAQ7oK,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,SAC7CkI,SAAUlI,GAAAA,MAmBN8oK,GAAU3qK,SAAAA,GAAU,MAEtB0qK,EAYE1qK,EAZF0qK,OACAt8H,EAWEpuC,EAXFouC,UACA83H,EAUElmK,EAVFkmK,UACAmE,EASErqK,EATFqqK,MACAC,EAQEtqK,EARFsqK,KACAE,EAOExqK,EAPFwqK,MACAC,EAMEzqK,EANFyqK,OACA7pJ,EAKE5gB,EALF4gB,MACAi3E,EAIE73F,EAJF63F,UACKixE,EAGH9oK,EAHFmH,IACA4C,EAEE/J,EAFF+J,SACG0pJ,EAZL,GAaIzzJ,EAbJ,IAeM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,SA5BoBs8H,SAAAA,GACtB,OAAe,IAAXA,KAEkB,IAAXA,GAA8B,OAAXA,EACrB,gBAGF,iBAAP,OAAwBA,IAsBtBE,CAAeF,IAHyB,MAKtC,eAAgBL,EAChB,cAAeC,GANuB,aAO/B1pJ,GAAUA,GAPqB,qBAQ5B4pJ,GAAUA,GARkB,sBAS3BC,GAAWA,GATgB,IAWvCvE,GAEG6C,EAAiBlxE,IAA4B,IAAdA,EAAsB,YAApCA,aAAAA,OAA+DA,GAEtF,OACElqD,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,IAC5B4iG,EACAlqD,EAAAA,cAAAA,MAAAA,CAAKS,UAAW26H,GACbh/J,GAEHA,IAMR4gK,GAAOzsK,UAAYA,GACnBysK,GAAO/sK,aA5Dc,CACnBuJ,IAAK,MACLujK,QAAQ,EACR7yE,UAAW,SA2Db,OAAe8yE,sCC9ETzsK,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPgpK,GAAe7qK,SAAAA,GACnB,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAOM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,gBACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpC41K,GAAY3sK,UAAYA,GACxB2sK,GAAYjtK,aAvBS,CACnBuJ,IAAK,KAwBP,OAAe0jK,+CC/BT3sK,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPipK,GAAc9qK,SAAAA,GAClB,IACEouC,EAKEpuC,EALFouC,UACA83H,EAIElmK,EAJFkmK,UAEK4C,GAEH9oK,EAHFinF,OAGEjnF,EAFFmH,KACGssJ,EALL,GAMIzzJ,EANJ,IAQM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,eACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpC61K,GAAW5sK,UAAYA,GACvB4sK,GAAWltK,aAxBU,CACnBuJ,IAAK,QAyBP,kDChCMjJ,GAAY,CAChBiJ,IAAKy/J,GACLztK,KAAM0I,GAAAA,OACNusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXkI,SAAUlI,GAAAA,MAQNkpK,GAAiB/qK,SAAAA,GACrB,IACEouC,EAKEpuC,EALFouC,UACA83H,EAIElmK,EAJFkmK,UACAn8J,EAGE/J,EAHF+J,SACK++J,EAEH9oK,EAFFmH,IACGssJ,EALL,GAMIzzJ,EANJ,IAQM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,kBACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,IAAK,aAAW,qBAAwBrV,EAAxC,CAAoDrlH,UAAWn5C,IAC5D8U,GAAY4jC,EAAAA,cAAAA,OAAAA,CAAMS,UAAW63H,GAAgB,sBAAuBC,OAK3E6E,GAAc7sK,UAAYA,GAC1B6sK,GAAcntK,aA3BO,CACnBuJ,IAAK,SACLhO,KAAM,UA2BR,OAAe4xK,gHCrCT7sK,GAAY,CAChB8sK,KAAMnpK,GAAAA,KACNopK,MAAOppK,GAAAA,KACPs4G,SAAUt4G,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,SAC/CoqG,WAAYpqG,GAAAA,OACZqpK,UAAWrpK,GAAAA,KACXwnD,KAAMxnD,GAAAA,KACNspK,OAAQtpK,GAAAA,KACRupK,KAAMvpK,GAAAA,KACNsF,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAkBPwpK,GAAOrrK,SAAAA,GACX,IACEouC,EAYEpuC,EAZFouC,UACA83H,EAWElmK,EAXFkmK,UACA8E,EAUEhrK,EAVFgrK,KACAC,EASEjrK,EATFirK,MACA9wD,EAQEn6G,EARFm6G,SACAlO,EAOEjsG,EAPFisG,WACAi/D,EAMElrK,EANFkrK,UACA7hH,EAKErpD,EALFqpD,KACA8hH,EAIEnrK,EAJFmrK,OACAC,EAGEprK,EAHForK,KACKtC,EAEH9oK,EAFFmH,IACGssJ,EAZL,GAaIzzJ,EAbJ,IAeM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA+8H,EAAS,aAAe,QACxBl/D,GAAa,mBAAH,OAAsBA,GA7BVkO,SAAAA,GACxB,OAAiB,IAAbA,KAEoB,IAAbA,GAAkC,OAAbA,EACvB,cAGF,QAAP,OAAeA,EAAf,YAuBEmxD,CAAiBnxD,GACjB,CACE,WAAY6wD,EACZ,mBAAoBI,GAAQJ,EAC5B,YAAaC,EACb,oBAAqBG,GAAQH,EAC7B,gBAAiBC,EACjB,WAAY7hH,IAEb68G,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCo2K,GAAIntK,UAAYA,GAChBmtK,GAAIztK,aApDiB,CACnBuJ,IAAK,KACLgzG,UAAU,GAoDZ,gDCpEMj8G,GAAY,CAChBiJ,IAAKy/J,GACL3/E,OAAQplF,GAAAA,KACRusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOP0pK,GAAWvrK,SAAAA,GACf,IACEouC,EAKEpuC,EALFouC,UACA83H,EAIElmK,EAJFkmK,UACAj/E,EAGEjnF,EAHFinF,OACK6hF,EAEH9oK,EAFFmH,IACGssJ,EALL,GAMIzzJ,EANJ,IAQM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,aACA64C,GAAS,UACRi/E,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCs2K,GAAQrtK,UAAYA,GACpBqtK,GAAQ3tK,aAzBa,CACnBuJ,IAAK,MA0BP,OAAeokK,0DClCTrtK,GAAY,CAChBiJ,IAAKy/J,GACL5F,SAAUn/J,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,KAAgBA,GAAAA,SACjE+H,SAAU/H,GAAAA,KACVolF,OAAQplF,GAAAA,KACRusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACX09B,QAAS19B,GAAAA,KACTgiB,KAAMhiB,GAAAA,KAOF2pK,GAAAA,SAAAA,uBACJzjK,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAEDu/B,QAAU,EAAKA,QAAQ7kC,KAAb,OAHE,oCAMnB6kC,SAAQ7/B,GACFnI,KAAKyI,MAAM4J,SACblK,EAAE8Z,kBAIoB,MAApBjiB,KAAKyI,MAAM6jB,MACbnkB,EAAE8Z,iBAGAjiB,KAAKyI,MAAMu/B,SACbhoC,KAAKyI,MAAMu/B,QAAQ7/B,0BAIvBZ,WACE,MAOIvH,KAAKyI,MANPouC,EADF,EACEA,UACA83H,EAFF,EAEEA,UACAj/E,EAHF,EAGEA,OACK6hF,EAJP,EAIE3hK,IACA65J,EALF,EAKEA,SACGvN,EANL,SASMx+J,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,WACA,CACExkC,SAAU6pJ,EAAW7pJ,SACrBq9E,OAAQA,IAETi/E,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBlgI,IAAKytI,EAAUzhI,QAAShoC,KAAKgoC,QAAS6O,UAAWn5C,WA1CtEu2K,CAAgB79H,EAAAA,WA+CtB69H,GAAQttK,UAAYA,GACpBstK,GAAQ5tK,aApDa,CACnBuJ,IAAK,KAqDP,OAAeqkK,wFCjETttK,GAAY,CAChBiJ,IAAKy/J,GACL6E,QAAS7E,GACTx4H,UAAWvsC,GAAAA,OACX6pK,cAAe7pK,GAAAA,OACfqkK,UAAWrkK,GAAAA,OACXkI,SAAUlI,GAAAA,KACV,aAAcA,GAAAA,QASV8pK,GAAc3rK,SAAAA,GAClB,IACEouC,EAQEpuC,EARFouC,UACAs9H,EAOE1rK,EAPF0rK,cACAxF,EAMElmK,EANFkmK,UACAn8J,EAKE/J,EALF+J,SACK++J,EAIH9oK,EAJFmH,IACSykK,EAGP5rK,EAHFyrK,QACchkE,EAEZznG,EAFF,cACGyzJ,EARL,GASIzzJ,EATJ,IAWM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,GACC83H,GAEG2F,EAAc5F,GAAgBjxK,GAClC,aACA02K,GACCxF,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,EAAS,aAAYwyG,IACnD95D,EAAAA,cAACi+H,EAAD,CAASx9H,UAAWy9H,GACjB9hK,KAMT4hK,GAAWztK,UAAYA,GACvBytK,GAAW/tK,aArCU,CACnBuJ,IAAK,MACLskK,QAAS,KACT,aAAc,cAoChB,gDCjDMvtK,GAAY,CAChBiJ,IAAKy/J,GACL3/E,OAAQplF,GAAAA,KACRusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPiqK,GAAkB9rK,SAAAA,GACtB,IACEouC,EAKEpuC,EALFouC,UACA83H,EAIElmK,EAJFkmK,UACAj/E,EAGEjnF,EAHFinF,OACK6hF,EAEH9oK,EAFFmH,IACGssJ,EALL,GAMIzzJ,EANJ,IAOM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,IACA64C,GAAS,SACT,mBACCi/E,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,EAAS,eAAcgyF,EAAS,YAASxuF,MAI7EqzK,GAAe5tK,UAAYA,GAC3B4tK,GAAeluK,aAxBM,CACnBuJ,IAAK,MAyBP,sDCjCMjJ,GAAY,CAChB+oF,OAAQplF,GAAAA,KACR,aAAcA,GAAAA,OACd09B,QAAS19B,GAAAA,KACTkqK,QAASlqK,GAAAA,MAAgB,CAAC,WAOtBmqK,GAAehsK,SAAAA,GACnB,IACEouC,EAKEpuC,EALFouC,UAEA29H,GAGE/rK,EAJFkmK,UAIElmK,EAHF+rK,SACA/K,EAEEhhK,EAFFghK,SACGvN,EALL,GAMIzzJ,EANJ,IAQM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,YACA29H,GAAW,aAAJ,OAAiBA,KAG1B,OACEp+H,EAAAA,cAAAA,SAAAA,GAAAA,CACEpa,IAAKytI,EACL7nK,KAAK,SACLi1C,UAAWn5C,GACPw+J,KAIVuY,GAAY9tK,UAAYA,GACxB8tK,GAAYpuK,aA7BS,CACnB,aAAc,SA8BhB,OAAeouK,gHCrCT9tK,GAAY,CAChB+oF,OAAQplF,GAAAA,KACR,aAAcA,GAAAA,OACdoqK,MAAOpqK,GAAAA,KACP+e,MAAO/e,GAAAA,OACP+H,SAAU/H,GAAAA,KACVqqK,QAASrqK,GAAAA,KACTsF,IAAKy/J,GACL5F,SAAUn/J,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,KAAgBA,GAAAA,SACjE09B,QAAS19B,GAAAA,KACT49B,KAAM59B,GAAAA,OACNkI,SAAUlI,GAAAA,KACVusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXsqK,MAAOtqK,GAAAA,MAST,SAASuqK,GAAOpsK,GACd,IAAMu/B,GAAU9F,EAAAA,EAAAA,cAAa/5B,SAAAA,GAC3B,IAAIM,EAAM4J,SAKV,OAAI5J,EAAMu/B,QACDv/B,EAAMu/B,QAAQ7/B,QADvB,EAJEA,EAAE8Z,mBAOH,CAACxZ,EAAMu/B,QAASv/B,EAAM4J,WAIvBq9E,EAYEjnF,EAZFinF,OACcolF,EAWZrsK,EAXF,cACAisK,EAUEjsK,EAVFisK,MACA79H,EASEpuC,EATFouC,UACA+9H,EAQEnsK,EARFmsK,MACAjG,EAOElmK,EAPFkmK,UACAtlJ,EAME5gB,EANF4gB,MACAsrJ,EAKElsK,EALFksK,QACAzsI,EAIEz/B,EAJFy/B,KACKqpI,EAGH9oK,EAHFmH,IACA65J,EAEEhhK,EAFFghK,SACGvN,EAZL,GAaIzzJ,EAbJ,IAeA,GAAImsK,EACF,OACEx+H,EAAAA,cAACq+H,GACKvY,GAKV,IAAM6Y,EAAkB,MAAH,OAASJ,EAAU,WAAa,GAAhC,YAAsCtrJ,GAErD3rB,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,MACAk+H,IACA7sI,GAAO,OAAH,OAAUA,KACdwsI,GAAQ,gBACR,CAAEhlF,OAAAA,EAAQr9E,SAAU5J,EAAM4J,WACzBs8J,GAMH,OAJIzS,EAAW5vI,MAAgB,WAARilJ,IACrBA,EAAM,KAINn7H,EAAAA,cAACm7H,EAAD,IACE3vK,KAAe,WAAR2vK,GAAoBrV,EAAWl0H,QAAW,cAAW9mC,GACxDg7J,EAFN,CAGErlH,UAAWn5C,EACXs+B,IAAKytI,EACLzhI,QAASA,EACT,aAAY8sI,KAKlBD,GAAOluK,UAAYA,GACnBkuK,GAAOxuK,aAtEc,CACnBgjB,MAAO,YACPzZ,IAAK,+BCnBDjJ,GAAY,CAChBqhC,QAAS19B,GAAAA,KACT0qK,OAAQ1qK,GAAAA,KACR2qK,QAAS3qK,GAAAA,KACT+G,aAAc/G,GAAAA,MAOV4qK,GAAAA,SAAAA,uBACJ1kK,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAEDxF,MAAQ,CACXkyK,QAAS1sK,EAAM4I,aACf8c,OAAO,GAGT,EAAK6mJ,OAAS,EAAKA,OAAO7xK,KAAZ,OACd,EAAK8xK,QAAU,EAAKA,QAAQ9xK,KAAb,OACf,EAAK6kC,QAAU,EAAKA,QAAQ7kC,KAAb,OAVE,mCAanB6xK,SAAO7sK,GACFnI,KAAKyI,MAAMusK,QACZh1K,KAAKyI,MAAMusK,OAAO7sK,GAGpBnI,KAAKk3D,SAAS,CACZ/oC,OAAO,2BAIX8mJ,SAAQ9sK,GACHnI,KAAKyI,MAAMwsK,SACZj1K,KAAKyI,MAAMwsK,QAAQ9sK,GAGrBnI,KAAKk3D,SAAS,CACZ/oC,OAAO,2BAIX6Z,SAAQ7/B,GACHnI,KAAKyI,MAAMu/B,SACZhoC,KAAKyI,MAAMu/B,QAAQ7/B,GAGrBnI,KAAKk3D,UAAS,kBAAkB,CAC9Bi+G,SADY,EAAGA,kCAKnB5tK,WACE,MAGIvH,KAAKyI,MAFPouC,EADF,EACEA,UACGqlH,EAFL,SAKMx+J,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,CACE1oB,MAAOnuB,KAAKiD,MAAMkrB,QAEjBnuB,KAAKyI,MAAMkmK,WAEhB,OAAOv4H,EAAAA,cAACy+H,GAAD,IACLnlF,OAAQ1vF,KAAKiD,MAAMkyK,QACnBH,OAAQh1K,KAAKg1K,OACbC,QAASj1K,KAAKi1K,QACdjtI,QAAShoC,KAAKgoC,QACd6O,UAAWn5C,GACPw+J,UA/DJgZ,CAAqB9+H,EAAAA,WAoE3B8+H,GAAavuK,UAAYA,GACzBuuK,GAAa7uK,aAzEQ,CACnBgL,cAAc,GA0EhB,IC5Ea+jK,GAAkBh/H,EAAAA,cAAoB,0HCF7CzvC,GAAY,CAChB0uK,KAAM/qK,GAAAA,KACN+H,SAAU/H,GAAAA,KACVi4F,UAAWj4F,GAAAA,MAAgB,CAAC,KAAM,OAAQ,QAAS,MAAO,OAAQ,UAClEgrK,MAAOhrK,GAAAA,KACPirK,OAAQjrK,GAAAA,KACRkrK,IAAKlrK,GAAAA,KACLolF,OAAQplF,GAAAA,KACR49B,KAAM59B,GAAAA,OACNsF,IAAKy/J,GACLoG,OAAQnrK,GAAAA,KACRkI,SAAUlI,GAAAA,KACVusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXorK,SAAUprK,GAAAA,KACVqrK,mBAAoBrrK,GAAAA,KACpBsrK,SAAUtrK,GAAAA,MAAgB,CAAC,UAAW,UAalCurK,GAAqB,CACzB/F,GAASE,MACTF,GAASxE,MACTwE,GAASI,GACTJ,GAASK,KACTL,GAAShjJ,IACTgjJ,GAASM,MAGL0F,GAAAA,SAAAA,uBACJtlK,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAEDstK,UAAY,EAAKA,UAAU5yK,KAAf,OACjB,EAAK6yK,oBAAsB,EAAKA,oBAAoB7yK,KAAzB,OAC3B,EAAK8yK,cAAgB,EAAKA,cAAc9yK,KAAnB,OACrB,EAAK+yK,aAAe,EAAKA,aAAa/yK,KAAlB,OACpB,EAAKsyK,OAAS,EAAKA,OAAOtyK,KAAZ,OACd,EAAKgzK,cAAgB,EAAKA,cAAchzK,KAAnB,OAErB,EAAKizK,aAAehgI,EAAAA,YACpB,EAAKigI,QAAUjgI,EAAAA,YAXE,0CAcnB+/H,SAAcE,GACZr2K,KAAKq2K,QAAQz7J,QAAUy7J,iCAGzBC,WACE,MAAO,CACLb,OAAQz1K,KAAKy1K,OACbF,OAAQv1K,KAAKyI,MAAM8sK,OACnBhzE,UAAqC,SAAzBviG,KAAKyI,MAAM85F,WAAwBviG,KAAKyI,MAAM8tK,OAAU,KAAOv2K,KAAKyI,MAAM85F,UACtFmzE,SAAU11K,KAAKyI,MAAMitK,SACrBrjK,SAAUrS,KAAKyI,MAAM4J,SAGrBmkK,UAAWx2K,KAAKm2K,cAChBP,SAAU51K,KAAKyI,MAAMmtK,2CAIzB95I,WACE97B,KAAKy2K,gDAGP/wI,SAAmByR,GACbn3C,KAAKyI,MAAM8sK,SAAWp+H,EAAUo+H,QAClCv1K,KAAKy2K,kDAITvsI,WACElqC,KAAKk2K,2CAGPQ,WACE,OAAO12K,KAAKo2K,aAAax7J,+BAG3B+7J,WACE,OAAO32K,KAAKq2K,QAAQz7J,mCAGtBg8J,WACE,OAAI52K,KAAK62K,aACT72K,KAAK62K,WAAa72K,KAAK02K,eAAezO,cAAc,oBADxBjoK,KAAK62K,sCAKnCC,WACE,MAA6B,YAA1B92K,KAAK6E,QAAQ+wK,SACP,SAEF,uCAGTmB,WAIE,IAAMC,EAAgBh3K,KAAK22K,WAAa32K,KAAK02K,eAC7C,MAAO,GAAG/1K,MAAMlC,KAAKu4K,EAAcpmI,iBAAdomI,UAAAA,OAAyCh3K,KAAK82K,cAA9CE,iCAGvBjB,WAAY,WACV,CAAC,QAAS,aAAc,SAAStpK,SAAQ4d,SAAAA,GAAK,OAC5C/e,SAASxH,iBAAiBumB,EAAO,EAAK2rJ,qBAAqB,kCAI/DE,WAAe,WACb,CAAC,QAAS,aAAc,SAASzpK,SAAQ4d,SAAAA,GAAK,OAC5C/e,SAAStH,oBAAoBqmB,EAAO,EAAK2rJ,qBAAqB,yCAIlEA,SAAoB7tK,GAClB,IAAIA,GAAkB,IAAZA,EAAE4e,QAA2B,UAAX5e,EAAEvG,MAAoBuG,EAAE4e,QAAU+oJ,GAASG,KAAvE,CACA,IAAM3vE,EAAYtgG,KAAK02K,eACjBO,EAAOj3K,KAAK22K,UACZO,EAAqB52E,EAAUr0E,SAAS9jB,EAAEjJ,SAAWohG,IAAcn4F,EAAEjJ,OACrEi4K,EAAiB72E,EAAU82E,UAAUnrJ,SAAS,gBAAkBq0E,EAAU82E,UAAUnrJ,SAAS,aAAoC,UAArB9jB,EAAEjJ,OAAOm+B,QACrHg6I,EAAgBJ,GAAQA,EAAKhrJ,SAAS9jB,EAAEjJ,SAAW+3K,IAAS9uK,EAAEjJ,UAC9Dg4K,IAAuBC,GAAmBE,IAA8B,UAAXlvK,EAAEvG,MAAoBuG,EAAE4e,QAAU+oJ,GAASG,MAI9GjwK,KAAKy1K,OAAOttK,iCAGd8tK,SAAc9tK,GAAG,WACTmvK,EAAqD,aAAlCnvK,EAAEjJ,OAAOgoE,aAAa,SAA4D,WAAlC/+D,EAAEjJ,OAAOgoE,aAAa,QACzFqwG,EAAmBv3K,KAAK42K,gBAAkBzuK,EAAEjJ,OAC5Cs4K,EAAQ1H,GAASG,MAAQ9nK,EAAE4e,MAEjC,KACE,kBAAkB9Z,KAAK9E,EAAEjJ,OAAOm+B,UAC5Bm6I,IAAUx3K,KAAKyI,MAAM4sK,MACrBmC,IAAWF,IAAoBC,OAKQ,IAAzC1B,GAAmBh/J,QAAQ1O,EAAE4e,QAAmB5e,EAAE4e,OAAS,IAAQ5e,EAAE4e,OAAS,KAChF5e,EAAE8Z,kBAGAjiB,KAAKyI,MAAM4J,WAEXklK,IACE,CAACzH,GAASE,MAAOF,GAASxE,MAAOwE,GAASI,GAAIJ,GAASK,MAAMt5J,QAAQ1O,EAAE4e,QAAU,GAE9E/mB,KAAKyI,MAAM8sK,QACdv1K,KAAKy1K,OAAOttK,GAEdoqB,YAAW,kBAAM,EAAKwkJ,eAAe,GAAG5oJ,YAC/BnuB,KAAKyI,MAAM8sK,QAAUiC,GAI9BrvK,EAAE8Z,iBACFjiB,KAAK+2K,eAAe,GAAG5oJ,SACdnuB,KAAKyI,MAAM8sK,QAAUptK,EAAE4e,QAAU+oJ,GAASC,KACnD/vK,KAAKy1K,OAAOttK,IAIZnI,KAAKyI,MAAM8sK,QAAU+B,IACvB,GAAI,CAACxH,GAASG,IAAKH,GAASC,KAAKl5J,QAAQ1O,EAAE4e,QAAU,EACnD/mB,KAAKy1K,OAAOttK,GACZnI,KAAK42K,cAAczoJ,aACd,GAAI,CAAC2hJ,GAASE,MAAOF,GAASxE,OAAOz0J,QAAQ1O,EAAE4e,QAAU,EAC9D5e,EAAEjJ,OAAOu4K,QACTz3K,KAAK42K,cAAczoJ,aACd,GACL,CAAC2hJ,GAASK,KAAML,GAASI,IAAIr5J,QAAQ1O,EAAE4e,QAAU,GAC7C,CAAC+oJ,GAASlsK,EAAGksK,GAASrlK,GAAGoM,QAAQ1O,EAAE4e,QAAU,GAAK5e,EAAEyb,QACxD,CACA,IAAM8zJ,EAAa13K,KAAK+2K,eACpBxxK,EAAQmyK,EAAW7gK,QAAQ1O,EAAEjJ,QAC7B4wK,GAASI,KAAO/nK,EAAE4e,OAAU+oJ,GAASrlK,IAAMtC,EAAE4e,OAAS5e,EAAEyb,QAC1Dre,EAAkB,IAAVA,EAAcA,EAAQ,EAAImyK,EAAW75K,OAAS,GAC7CiyK,GAASK,OAAShoK,EAAE4e,OAAU+oJ,GAASlsK,IAAMuE,EAAE4e,OAAS5e,EAAEyb,WACnEre,EAAQA,IAAUmyK,EAAW75K,OAAS,EAAI,EAAI0H,EAAQ,GAExDmyK,EAAWnyK,GAAO4oB,aACb,GAAI2hJ,GAAShjJ,MAAQ3kB,EAAE4e,MAAO,CACnC,IAAM2wJ,EAAa13K,KAAK+2K,eACxBW,EAAWA,EAAW75K,OAAS,GAAGswB,aAC7B,GAAI2hJ,GAASM,OAASjoK,EAAE4e,MAAO,CACjB/mB,KAAK+2K,eACb,GAAG5oJ,aACT,GAAKhmB,EAAE4e,OAAS,IAAQ5e,EAAE4e,OAAS,GAGxC,IAFA,IAAM2wJ,EAAa13K,KAAK+2K,eAClBY,EAAcl1K,OAAOkkB,aAAaxe,EAAE4e,OAAOra,cACxC/O,EAAI,EAAGA,EAAI+5K,EAAW75K,OAAQF,GAAK,EAAG,CAE7C,IADoB+5K,EAAW/5K,GAAGiV,aAAe8kK,EAAW/5K,GAAGiV,YAAY,GAAGlG,iBAC1DirK,EAAa,CAC/BD,EAAW/5K,GAAGwwB,QACd,mCAOVsoJ,WACMz2K,KAAKyI,MAAM8sK,OACbv1K,KAAK+1K,YAEL/1K,KAAKk2K,qCAITT,SAAOttK,GACL,OAAInI,KAAKyI,MAAM4J,SACNlK,GAAKA,EAAE8Z,iBAGTjiB,KAAKyI,MAAMgtK,OAAOttK,yBAG3BZ,WAAS,QACP,EAaIqnK,GAAK5uK,KAAKyI,MAAO,CAAC,SAAU,WAAY,WAAY,SAZtDouC,EADF,EACEA,UACA83H,EAFF,EAEEA,UACApsE,EAHF,EAGEA,UACAgzE,EAJF,EAIEA,OACAD,EALF,EAKEA,MACAptI,EANF,EAMEA,KACAstI,EAPF,EAOEA,IACAG,EARF,EAQEA,mBACAjmF,EATF,EASEA,OACA9/E,EAVF,EAUEA,IAEGgoK,GAZL,EAWEhC,SAXF,UAeMrE,EAAM3hK,IAAQ4lK,EAAM,KAAO,OAE7BqC,GAAkB,EAClBlC,GACFv/H,EAAAA,SAAAA,IAAmBp2C,KAAKyI,MAAM+J,SAAS,GAAG/J,MAAM+J,UAC7CslK,SAAAA,GACKA,GAAgBA,EAAarvK,MAAMinF,SAAQmoF,GAAkB,MAKvE,IAAMn6K,EAAUgxK,GAAgBjxK,GAC9Bo5C,KACA2+H,IAAO9lF,IAAS,YAChBimF,IAAsBkC,IAAkB,UAHA,MAKtC,YAAavC,GALyB,oBAMxBptI,KAAWA,GANa,iBAO3BotI,GAP2B,cAQhB,OAAd/yE,GAR8B,iBASb,UAAdA,GAAuC,SAAdA,GATE,eAUf,QAAdA,GAAqC,UAAdA,GAVM,YAWhCgzE,GAXgC,KAYtC,WAAYC,GAZ0B,IAcvC7G,GAEH,OACEv4H,EAAAA,cAACg/H,GAAgBn3G,SAAjB,CAA0Bp+D,MAAOG,KAAKs2K,mBACpClgI,EAAAA,cAAC4gH,GAAD,KACE5gH,EAAAA,cAACm7H,EAAD,MACMqG,GADN,QAEwB,kBAARrG,EAAmB,MAAQ,WAAavxK,KAAKo2K,cAF7D,iBAGap2K,KAAKi2K,eAHlB,iBAIav4K,GAJb,aAhPJo4K,CAAiB1/H,EAAAA,WA4PvB0/H,GAASnvK,UAAYA,GACrBmvK,GAASzvK,aAhRY,CACnBgvK,MAAM,EACNE,QAAQ,EACRhzE,UAAW,OACXizE,KAAK,EACL9lF,QAAQ,EACRgmF,UAAU,EACVC,oBAAoB,GA2QtB,OAAeG,GC3STnvK,GAAY,CAChB6L,SAAUlI,GAAAA,MAGNytK,GAAkBtvK,SAAAA,GACtB,OACE2tC,EAAAA,cAAC0/H,GAAD,IAAUR,OAAK,GAAK7sK,KAIxBsvK,GAAepxK,UAAYA,GAE3B,OAAeoxK,wDCXTpxK,GAAY,CAChBiJ,IAAKy/J,GACL,aAAc/kK,GAAAA,OACdusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACX+yC,KAAM/yC,GAAAA,OACN49B,KAAM59B,GAAAA,OACNs4G,SAAUt4G,GAAAA,MAQN0tK,GAAevvK,SAAAA,GACnB,IACEouC,EAMEpuC,EANFouC,UACA83H,EAKElmK,EALFkmK,UACAzmI,EAIEz/B,EAJFy/B,KACA06E,EAGEn6G,EAHFm6G,SACK2uD,EAEH9oK,EAFFmH,IACGssJ,EANL,GAOIzzJ,EAPJ,IASM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,IACA3O,GAAO,aAAeA,EACtB06E,EAAW,qBAAuB,aACjC+rD,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCs6K,GAAYrxK,UAAYA,GACxBqxK,GAAY3xK,aA3BS,CACnBuJ,IAAK,MACLytC,KAAM,SA2BR,uCCvCM12C,GAAY,CAChBiJ,IAAKy/J,GACL,aAAc/kK,GAAAA,OACdusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACX+yC,KAAM/yC,GAAAA,QAQF2tK,GAAiBxvK,SAAAA,GACrB,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAOM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,eACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCu6K,GAActxK,UAAYA,GAC1BsxK,GAAc5xK,aAxBO,CACnBuJ,IAAK,MACLytC,KAAM,WAwBR,0ECjCM12C,GAAY,CAChB6L,SAAUlI,GAAAA,KACVolF,OAAQplF,GAAAA,KACR+H,SAAU/H,GAAAA,KACV4tK,QAAS5tK,GAAAA,KACTsF,IAAKy/J,GACL/sH,OAAQh4C,GAAAA,KACR09B,QAAS19B,GAAAA,KACTusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXmrK,OAAQnrK,GAAAA,KACRwf,KAAMxf,GAAAA,MAQF6tK,GAAAA,SAAAA,uBACJ3nK,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAEDu/B,QAAU,EAAKA,QAAQ7kC,KAAb,OACf,EAAKi1K,YAAc,EAAKA,YAAYj1K,KAAjB,OAJF,oCAOnBk1K,WACE,MAA6B,YAA1Br4K,KAAK6E,QAAQ+wK,SACP,SAEF,kCAGT5tI,SAAQ7/B,GACN,MAA4CnI,KAAKyI,MAAzC4J,EAAR,EAAQA,SAAUiwC,EAAlB,EAAkBA,OAAQ41H,EAA1B,EAA0BA,QAASpuJ,EAAnC,EAAmCA,KAC/BzX,GAAYiwC,GAAU41H,GAAWpuJ,EACnC3hB,EAAE8Z,kBAIAjiB,KAAKyI,MAAMu/B,SACbhoC,KAAKyI,MAAMu/B,QAAQ7/B,GAGjBnI,KAAKyI,MAAMgtK,QACbz1K,KAAK6E,QAAQ4wK,OAAOttK,+BAIxBiwK,WACE,MAA4Cp4K,KAAKyI,MAAzC4J,EAAR,EAAQA,SAAUiwC,EAAlB,EAAkBA,OAAQ41H,EAA1B,EAA0BA,QAASpuJ,EAAnC,EAAmCA,KACnC,OAAIzX,GAAYiwC,GAAU41H,GAAWpuJ,EAC5B,KAGF,0BAGTviB,WACE,IAAM+wK,EAAWt4K,KAAKo4K,cAChB/6H,EAAOi7H,GAAY,EAAIt4K,KAAKq4K,eAAYn3K,EAC9C,EAQe0tK,GAAK5uK,KAAKyI,MAAO,CAAC,WAP/BouC,EADF,EACEA,UACA83H,EAFF,EAEEA,UACAuJ,EAHF,EAGEA,QACK3G,EAJP,EAIE3hK,IACA0yC,EALF,EAKEA,OACAotC,EANF,EAMEA,OACA5lE,EAPF,EAOEA,KACGrhB,EARL,SAUM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,CACExkC,SAAU5J,EAAM4J,SAChB,iBAAkB6lK,IAAY51H,IAAWx4B,EACzC4lE,OAAQA,EACR,kBAAmBptC,EACnB,mBAAoB41H,EACpB,qBAAsBpuJ,IAEvB6kJ,GAcH,MAZY,WAAR4C,IACEjvH,EACFivH,EAAM,KACG2G,EACT3G,EAAM,MACG9oK,EAAM6jB,KACfilJ,EAAM,IACGznJ,IACTynJ,EAAM,SAKRn7H,EAAAA,cAACm7H,EAAD,IACE3vK,KAAe,WAAR2vK,IAAqB9oK,EAAMu/B,SAAWhoC,KAAKyI,MAAMgtK,QAAW,cAAWv0K,GAC1EuH,EAFN,CAGE6vK,SAAUA,EACVj7H,KAAMA,EACNxG,UAAWn5C,EACXsqC,QAAShoC,KAAKgoC,iBApFhBmwI,CAAqB/hI,EAAAA,WA0F3B+hI,GAAaxxK,UAAYA,GACzBwxK,GAAa9xK,aAhGQ,CACnBuJ,IAAK,SACL6lK,QAAQ,GA+FV0C,GAAahyK,YAAcivK,GAE3B,OAAe+C,gIC/GTxxK,GAAY,CAChBiJ,IAAKy/J,GACL78J,SAAUlI,GAAAA,KAAAA,WACVyoK,KAAMzoK,GAAAA,KACNwiB,IAAKxiB,GAAAA,KACLgrF,KAAMhrF,GAAAA,KACN0wJ,UAAW1wJ,GAAAA,MACXusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACX6X,QAAS7X,GAAAA,KACTkxJ,SAAUlxJ,GAAAA,OACVg2F,UAAW8uE,GAEXmJ,eAAgBjuK,GAAAA,KAChB4lF,MAAO8+E,GAAW1kK,GAAAA,KAAgB,8BAS9BkuK,GAAuB,CAC3BtI,GAAI,MACJniJ,KAAM,OACNmiE,MAAO,QACPrjE,MAAO,OACPC,IAAK,QACLqjJ,KAAM,UAGFsI,GAAAA,SAAAA,+GAEJJ,WACE,MAA6B,YAA1Br4K,KAAK6E,QAAQ+wK,SACP,UAEF,6BAGTruK,WAAS,WACP,EAcIvH,KAAKyI,MAbPouC,EADF,EACEA,UACA83H,EAFF,EAEEA,UACAoE,EAHF,EAGEA,KACAjmJ,EAJF,EAIEA,IACAojE,EALF,EAKEA,MACAtgF,EANF,EAMEA,IACA0lF,EAPF,EAOEA,KACA0lE,EARF,EAQEA,UACA74I,EATF,EASEA,QACAq5I,EAVF,EAUEA,SACAl7D,EAXF,EAWEA,UACAi4E,EAZF,EAYEA,eACGX,EAbL,SAgBMl6K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,gBACA,CACE,qBAAsBk8H,EACtB,oBAAqBjmJ,GAAOojE,EAC5BN,KAAM5vF,KAAK6E,QAAQ0wK,SAEpB5G,GAEG4C,EAAM3hK,EAEZ,GAAIuS,GAAYniB,KAAK6E,QAAQ0wK,SAAWv1K,KAAK6E,QAAQ6wK,SAAW,CAE9D,IAAMgD,EAAYF,GAAqBx4K,KAAK6E,QAAQ09F,YAAc,SAC5Do2E,EAAa7rJ,GAAOojE,EAAS,MAAQ,QACrC0oF,EAAiB,GAAH,OAAMF,EAAN,YAAmBC,GACjCE,EAAiB,GAAH,UACf7d,GADe,CAElB,CACE76J,KAAM,OACNsnH,UAAWnyB,KAITqlE,EACJvkH,EAAAA,cAACgzH,GAAD,CACEvO,UAAW+d,EACX5d,UAAW6d,EACXrd,SAAUA,IAET,YAAuC,IAApCx/H,EAAoC,EAApCA,IAAKplB,EAA+B,EAA/BA,MAAOikJ,EAAwB,EAAxBA,UAAWpzD,EAAa,EAAbA,OACrBqxE,EAAgB,GAAH,MAAQ,EAAKrwK,MAAMmO,OAAUA,GAW9C,OACEw/B,EAAAA,cAACm7H,EAAD,IACE+G,SAAS,KACTj7H,KAAM,EAAKg7H,UACXr8I,IAbe+8I,SAAAA,GAEjB/8I,EAAI+8I,GAGJ,IAAQvC,EAAc,EAAK3xK,QAAnB2xK,UACJA,GAAWA,EAAUuC,KAQnBnB,EAJN,CAKEhhK,MAAOkiK,EACP,eAAc,EAAKj0K,QAAQ0wK,OAC3B1+H,UAAWn5C,EACX,wBAAuBm9J,EACvB7yH,QAAS,kBAAMuwI,GAAkB9wE,WAO3C,OAAInH,EACK4pE,GAAAA,aAAsBvP,EAAQ1hE,GAAUqH,IAExCq6D,EAIX,OACEvkH,EAAAA,cAACm7H,EAAD,IACE+G,SAAS,KACTj7H,KAAMr9C,KAAKq4K,WACPT,EAHN,CAIE,eAAc53K,KAAK6E,QAAQ0wK,OAC3B1+H,UAAWn5C,EACX,wBAAuBk6K,EAAM/c,mBApG/B4d,CAAqBriI,EAAAA,WA0G3BqiI,GAAa9xK,UAAYA,GACzB8xK,GAAapyK,aA1HQ,CACnBuJ,IAAK,MACL0lF,MAAM,EACN0lE,UAAW,IAwHbyd,GAAatyK,YAAcivK,GAE3B,OAAeqD,+EC9IT9xK,GAAY,CAChB6lI,MAAOliI,GAAAA,KACP+e,MAAO/e,GAAAA,OACPkI,SAAUlI,GAAAA,KACVusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACX+H,SAAU/H,GAAAA,KACV09B,QAAS19B,GAAAA,KACT,gBAAiBA,GAAAA,KACjBkC,MAAOlC,GAAAA,KACPsF,IAAKy/J,GACLmG,IAAKlrK,GAAAA,MAQD0uK,GAAAA,SAAAA,uBACJxoK,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAEDu/B,QAAU,EAAKA,QAAQ7kC,KAAb,OAHE,oCAMnB6kC,SAAQ7/B,GACFnI,KAAKyI,MAAM4J,UAAYrS,KAAK6E,QAAQwN,SACtClK,EAAE8Z,kBAIAjiB,KAAKyI,MAAM+sK,MAAQx1K,KAAKyI,MAAMmH,KAChCzH,EAAE8Z,iBAGAjiB,KAAKyI,MAAMu/B,SACbhoC,KAAKyI,MAAMu/B,QAAQ7/B,GAGrBnI,KAAK6E,QAAQ4wK,OAAOttK,2BAGtBkwK,WACE,OAAOr4K,KAAK6E,QAAQ+wK,UAAY51K,KAAKyI,MAAM,uCAG7ClB,WAAS,IAkBHgqK,EAlBG,OACP,EAAoFvxK,KAAKyI,MAAjFouC,EAAR,EAAQA,UAAWxtB,EAAnB,EAAmBA,MAAOslJ,EAA1B,EAA0BA,UAAWniC,EAArC,EAAqCA,MAAOhgI,EAA5C,EAA4CA,MAAOgpK,EAAnD,EAAmDA,IAAK5lK,EAAxD,EAAwDA,IAAK65J,EAA7D,EAA6DA,SAAahhK,EAA1E,SACMqsK,EAAYrsK,EAAM,eAAiB,kBACnC/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,CACE,kBAAmB21F,GAAShgI,EAC5B,wBAAyBA,EACzB,WAAYgpK,IAEb7G,GACGn8J,EACsB,qBAAnB/J,EAAM+J,SACX/J,EAAM+J,SAEN4jC,EAAAA,cAAAA,OAAAA,CAAMS,UAAU,mBAAmBi+H,GAgBvC,OAXIU,IAAQ5lK,GACV2hK,EAAM,IACN9oK,EAAM6jB,KAAO,KACH1c,EAKV2hK,EAAM3hK,GAJN2hK,EAAMsD,GACNpsK,EAAM4gB,MAAQA,EACd5gB,EAAMkmK,UAAYA,GAKhB3uK,KAAK6E,QAAQ6wK,SAEbt/H,EAAAA,cAACm7H,EAAD,MACM9oK,EADN,CAEEouC,UAAWn5C,EACXsqC,QAAShoC,KAAKgoC,QACd,gBAAehoC,KAAK6E,QAAQ0wK,OAC5B,gBAAev1K,KAAKq4K,UACpB7lK,SAAUA,KAMd4jC,EAAAA,cAACs0H,GAAD,CAAWjB,SAAUA,IAClB,kBAAGztI,EAAH,EAAGA,IAAH,OACCoa,EAAAA,cAACm7H,EAAD,MACM9oK,GADN,QAEwB,kBAAR8oK,EAAmB,MAAQ,WAAav1I,GAFxD,iBAIat+B,GAJb,eAKW,EAAKsqC,SALhB,KAME,gBAAe,EAAKnjC,QAAQ0wK,QAN9B,KAOE,gBAAe,EAAK8C,WAPtB,gBAQY7lK,GARZ,cA3EJwmK,CAAuB5iI,EAAAA,WA2F7B4iI,GAAeryK,UAAYA,GAC3BqyK,GAAe3yK,aAjGM,CACnBgjB,MAAO,YACP,iBAAiB,GAgGnB2vJ,GAAe7yK,YAAcivK,GAE7B,OAAe4D,0FCpHTryK,GAAY,GAAH,MACVskK,GAAAA,WADU,IAEbz4J,SAAUlI,GAAAA,UAAoB,CAC5BA,GAAAA,QAAkBA,GAAAA,MAClBA,GAAAA,OAEFsF,IAAKy/J,GACL4J,UAAW3uK,GAAAA,OACX4uK,gBAAiB5uK,GAAAA,OACjBusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXm/J,SAAUn/J,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,SAIEjE,GAAe,GAAH,MACb4kK,GAAAA,cADa,IAEhBr7J,IAAK,MACLqpK,UAAW,OACXC,gBAAiB,OACjB78G,QAASizG,GAAmBC,KAC5BnE,QAAQ,EACRE,OAAO,EACPW,MAAM,EACNT,IAAI,IAGN,SAAS+D,GAAK9mK,GACZ,IACO8oK,EAQH9oK,EARFmH,IACAqpK,EAOExwK,EAPFwwK,UACAC,EAMEzwK,EANFywK,gBACAriI,EAKEpuC,EALFouC,UACA83H,EAIElmK,EAJFkmK,UACAn8J,EAGE/J,EAHF+J,SACAi3J,EAEEhhK,EAFFghK,SACG0P,EARL,GASI1wK,EATJ,IAWM2wK,EAAkBtK,GAAKqK,EAAYvJ,IACnChC,EAAagB,GAAKuK,EAAYvJ,IAEpC,OACEx5H,EAAAA,cAAC60H,GAAemO,GACZzN,SAAAA,GACA,IACMjuK,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACAoiI,EAH0B,YAAXtN,GAIHuN,GACXvK,GACH,OACEv4H,EAAAA,cAACm7H,EAAD,IAAK16H,UAAWn5C,GAAakwK,EAA7B,CAAyC5xI,IAAKytI,IAC3Cj3J,MAQb+8J,GAAK5oK,UAAYA,GACjB4oK,GAAKlpK,aAAeA,OC9DPgzK,GAAmBjjI,EAAAA,cAAoB,0ECH9CzvC,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXm/J,SAAUn/J,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,OAEFkI,SAAUlI,GAAAA,KACVghJ,MAAOhhJ,GAAAA,KACPgvK,KAAMhvK,GAAAA,UAAoB,CAACA,GAAAA,MAAiBA,GAAAA,SAAmBtB,WAC/DysK,OAAQnrK,GAAAA,KAAAA,YAOJivK,GAAa9wK,SAAAA,GACjB,IACE6iJ,EAQE7iJ,EARF6iJ,MACAguB,EAOE7wK,EAPF6wK,KACA7D,EAMEhtK,EANFgtK,OACA5+H,EAKEpuC,EALFouC,UACA83H,EAIElmK,EAJFkmK,UACK4C,EAGH9oK,EAHFmH,IACA65J,EAEEhhK,EAFFghK,SACGvN,EARL,GASIzzJ,EATJ,IAUM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,YACA,CACE,kBAAmBy0G,IAEpBqjB,GAEG6K,GAAmBh3I,EAAAA,EAAAA,UAAQ,iBAAO,CACtC82I,KAAAA,EACA7D,OAAAA,MAGF,OACEr/H,EAAAA,cAACijI,GAAiBp7G,SAAlB,CAA2Bp+D,MAAO25K,GAChCpjI,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,EAASs+B,IAAKytI,OAKpD8P,GAAU5yK,UAAYA,GACtB4yK,GAAUlzK,aApCW,CACnBuJ,IAAK,OAqCP,OAAe2pK,iCCtDT5yK,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXm/J,SAAUn/J,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,OAEFkI,SAAUlI,GAAAA,KACVmvK,YAAanvK,GAAAA,UAAoB,CAACA,GAAAA,MAAiBA,GAAAA,SACnDovK,SAAUpvK,GAAAA,MAONqvK,GAAwB,SAAC,GAAwC,IAAtCF,EAAsC,EAAtCA,YAAaC,EAAyB,EAAzBA,SAAajxK,EAAY,SACrE,KAAwBk6B,EAAAA,EAAAA,UAAS82I,IAAgBC,EAAW,QAAKx4K,IAAjE,GAAOo4K,EAAP,KAAaM,EAAb,KASA,OAAOxjI,EAAAA,cAACmjI,GAAD,MAAe9wK,EAAf,CAAsB6wK,KAAMA,EAAM7D,OARzB70J,SAAAA,GACV84J,EACFJ,EAAK5pK,SAASkR,GAAMg5J,EAAQN,EAAKz8H,QAAOg9H,SAAAA,GAAW,OAAIA,IAAgBj5J,MAAOg5J,EAAQ,GAAD,UAAKN,GAAL,CAAW14J,KAElFg5J,EAAdN,IAAS14J,OAAa1f,EAAqB0f,QAOjD+4J,GAAsBhzK,UAAYA,GAClCgzK,GAAsBtzK,aAlBD,CACnBuJ,IAAK,OAmBP,wECjCMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXm/J,SAAUn/J,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,OAEFkI,SAAUlI,GAAAA,KACVwvK,SAAUxvK,GAAAA,OAAAA,YAONyvK,GAAmBtxK,SAAAA,GACvB,IACEouC,EAOEpuC,EAPFouC,UACA83H,EAMElmK,EANFkmK,UACK4C,EAKH9oK,EALFmH,IACA65J,EAIEhhK,EAJFghK,SACAj3J,EAGE/J,EAHF+J,SACAsnK,EAEErxK,EAFFqxK,SACG5d,EAPL,GAQIzzJ,EARJ,IASA,GAAyB05B,EAAAA,EAAAA,YAAWk3I,IAA5BC,EAAR,EAAQA,KAAM7D,EAAd,EAAcA,OAER/3K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,oBACC83H,GAEGqL,EAAgBtL,GAAgBjxK,GACpC,mBACA,CACEw8K,YAAah8K,MAAMC,QAAQo7K,GAAQA,EAAK5pK,SAASoqK,GAAYR,IAASQ,KAEvEnL,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,EAASs+B,IAAKytI,IAC5CrzH,EAAAA,cAAAA,SAAAA,CAAQx0C,KAAK,SAASi1C,UAAWmjI,EAAehyI,QAAS,kBAAMytI,EAAOqE,KACnEtnK,KAMTunK,GAAgBpzK,UAAYA,GAC5BozK,GAAgB1zK,aAtCK,CACnBuJ,IAAK,MAuCP,kDCtDMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXm/J,SAAUn/J,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,OAEFkI,SAAUlI,GAAAA,MAON4vK,GAAiBzxK,SAAAA,GACrB,IACEouC,EAKEpuC,EALFouC,UACA83H,EAIElmK,EAJFkmK,UACK4C,EAGH9oK,EAHFmH,IACA65J,EAEEhhK,EAFFghK,SACGvN,EALL,GAMIzzJ,EANJ,IAOM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,kBACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,EAASs+B,IAAKytI,MAIlDyQ,GAAcvzK,UAAYA,GAC1BuzK,GAAc7zK,aAvBO,CACnBuJ,IAAK,OAwBP,4FCpCMjJ,GAAY,GAAH,MACVskK,GAAAA,WADU,IAEbv2D,WAAYpqG,GAAAA,KACZirK,OAAQjrK,GAAAA,KACRkI,SAAUlI,GAAAA,UAAoB,CAC5BA,GAAAA,QAAkBA,GAAAA,MAClBA,GAAAA,OAEFsF,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,KACXspK,OAAQtpK,GAAAA,KACRqkK,UAAWrkK,GAAAA,OACXm/J,SAAUn/J,GAAAA,UAAoB,CAC5BA,GAAAA,KACAA,GAAAA,OACAA,GAAAA,WAIEjE,GAAe,GAAH,MACb4kK,GAAAA,cADa,IAEhBv2D,YAAY,EACZ6gE,QAAQ,EACRnK,QAAQ,EACRE,OAAO,EACPW,MAAM,EACNr8J,IAAK,MACLysD,QAASizG,GAAmBE,WAGxB2K,IAA2B,SAC9BtK,GAAmB/E,SAAW,cADA,MAE9B+E,GAAmB9E,QAAU,iBAFC,MAG9B8E,GAAmB7E,QAAU,cAHC,MAI9B6E,GAAmBhF,OAAS,YAJE,QAW3B2E,GAAAA,SAAAA,uBACJh/J,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAEDxF,MAAQ,CACX49E,UAAW,MAGb,CAAC,aAAc,YAAa,SAAU,YAAa,YAAYp0E,SAAStM,SAAAA,GACtE,EAAKA,GAAQ,EAAKA,GAAMgD,KAAX,UARE,yCAYnBi3K,SAAarwK,GACX,OAAO/J,KAAKyI,MAAMisG,WAAa3qG,EAAK82J,YAAc92J,EAAK+2J,uCAGzDiM,SAAWhjK,EAAMswK,GACfr6K,KAAKk3D,SAAS,CAAE2pB,UAAW7gF,KAAKo6K,aAAarwK,KAC7C/J,KAAKyI,MAAMskK,WAAWhjK,EAAMswK,4BAG9BxN,SAAU9iK,EAAMswK,GACdr6K,KAAKk3D,SAAS,CAAE2pB,UAAW,OAC3B7gF,KAAKyI,MAAMokK,UAAU9iK,EAAMswK,yBAG7BnN,SAAOnjK,GACL/J,KAAKk3D,SAAS,CAAE2pB,UAAW7gF,KAAKo6K,aAAarwK,KAC7C/J,KAAKyI,MAAMykK,OAAOnjK,4BAGpBojK,SAAUpjK,GAEQ/J,KAAKo6K,aAAarwK,GAClC/J,KAAKk3D,SAAS,CAAE2pB,UAAW,IAC3B7gF,KAAKyI,MAAM0kK,UAAUpjK,2BAGvBqjK,SAASrjK,GACP/J,KAAKk3D,SAAS,CAAE2pB,UAAW,OAC3B7gF,KAAKyI,MAAM2kK,SAASrjK,yBAGtBxC,WAAS,WACP,EAUIvH,KAAKyI,MATF8oK,EADP,EACE3hK,IACA8kG,EAFF,EAEEA,WACA6gE,EAHF,EAGEA,OACA1+H,EAJF,EAIEA,UACA+8H,EALF,EAKEA,OACAjF,EANF,EAMEA,UACAn8J,EAPF,EAOEA,SAEG2mK,GATL,EAQE1P,SARF,UAYQ5oF,EAAc7gF,KAAKiD,MAAnB49E,UAEFu4F,EAAkBtK,GAAKqK,EAAYvJ,IACnChC,EAAagB,GAAKuK,EAAYvJ,IACpC,OACEx5H,EAAAA,cAAC60H,GAAD,MACMmO,EADN,CAEE5N,GAAI+J,EACJxI,WAAY/sK,KAAK+sK,WACjBF,UAAW7sK,KAAK6sK,UAChBK,OAAQltK,KAAKktK,OACbC,UAAWntK,KAAKmtK,UAChBC,SAAUptK,KAAKotK,YAEbzB,SAAAA,GACA,IAAI2O,EA5Ed,SAA4B3O,GAC1B,OAAOwO,GAA4BxO,IAAW,WA2ElB4O,CAAmB5O,GACjCjuK,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA69D,GAAc,sBACd4lE,EACA1G,GAAU,mBACTjF,GACG/3J,EAAsB,OAAdiqE,EAAqB,KAArBA,GAAAA,GAA+B6zB,EAAa,QAAU,SAAW7zB,GAC/E,OACEzqC,EAAAA,cAACm7H,EAAD,MACM3D,EADN,CAEEh3J,MAAK,SAAOg3J,EAAWh3J,OAAUA,GACjCigC,UAAWn5C,EACXs+B,IAAK,EAAKvzB,MAAMghK,WAEfj3J,YAvFTg9J,CAAiBl1I,EAAAA,WAgGvBk1I,GAAS7oK,UAAYA,GACrB6oK,GAASnpK,aAAeA,GACxB,OAAempK,0EC1IT7oK,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXm/J,SAAUn/J,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,OAEFkI,SAAUlI,GAAAA,KACVuvK,YAAavvK,GAAAA,OAAAA,YAOTkwK,GAAiB/xK,SAAAA,GACrB,IACEouC,EAOEpuC,EAPFouC,UACA83H,EAMElmK,EANFkmK,UACK4C,EAKH9oK,EALFmH,IACA65J,EAIEhhK,EAJFghK,SACAj3J,EAGE/J,EAHF+J,SACAqnK,EAEEpxK,EAFFoxK,YACG3d,EAPL,GAQIzzJ,EARJ,IAUQ6wK,GAASn3I,EAAAA,EAAAA,YAAWk3I,IAApBC,KAEF57K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,sBACC83H,GAEH,OACEv4H,EAAAA,cAACo5H,GAAD,MACMtT,EADN,CAEErlH,UAAWn5C,EACXs+B,IAAKytI,EAAU8L,OAAQt3K,MAAMC,QAAQo7K,GAAQA,EAAK5pK,SAASmqK,GAAeP,IAASO,IACnFzjI,EAAAA,cAACm7H,EAAD,CAAK16H,UAAU,kBAAkBrkC,KAKvCgoK,GAAc7zK,UAAYA,GAC1B6zK,GAAcn0K,aAjCO,CACnBuJ,IAAK,OAkCP,iEClDMjJ,GAAY,CAChB0iB,MAAO/e,GAAAA,OACPmwK,KAAMnwK,GAAAA,KACNsF,IAAKy/J,GACL5F,SAAUn/J,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,KAAgBA,GAAAA,SACjEkI,SAAUlI,GAAAA,KACVusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QASPowK,GAASjyK,SAAAA,GACb,IACEouC,EAOEpuC,EAPFouC,UACA83H,EAMElmK,EANFkmK,UACAtlJ,EAKE5gB,EALF4gB,MACAogJ,EAIEhhK,EAJFghK,SACAgR,EAGEhyK,EAHFgyK,KACKlJ,EAEH9oK,EAFFmH,IACGssJ,EAPL,GAQIzzJ,EARJ,IAUM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,QACA,MAAQxtB,IACRoxJ,GAAO,gBACN9L,GAMH,OAJIzS,EAAW5vI,MAAgB,SAARilJ,IACrBA,EAAM,KAINn7H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,EAASs+B,IAAKytI,MAIlDiR,GAAM/zK,UAAYA,GAClB+zK,GAAMr0K,aAlCe,CACnBgjB,MAAO,YACPoxJ,MAAM,EACN7qK,IAAK,QAiCP,qFC9CMjJ,GAAY,CAChBiJ,IAAKy/J,GACLsL,QAASrwK,GAAAA,KACT+e,MAAO/e,GAAAA,OACP4G,KAAM5G,GAAAA,KACNqqK,QAASrqK,GAAAA,KACTusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXm/J,SAAUn/J,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,QAQEswK,GAAQnyK,SAAAA,GACZ,IACEouC,EASEpuC,EATFouC,UACA83H,EAQElmK,EARFkmK,UACAtlJ,EAOE5gB,EAPF4gB,MACAnY,EAMEzI,EANFyI,KACAypK,EAKElyK,EALFkyK,QACAhG,EAIElsK,EAJFksK,QACKpD,EAGH9oK,EAHFmH,IACA65J,EAEEhhK,EAFFghK,SACGvN,EATL,GAUIzzJ,EAVJ,IAWM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,SACA8jI,GAAU,eACVzpK,GAAO,cACPmY,GAAQ,GAAH,OAAMsrJ,EAAU,SAAW,KAA3B,YAAmCtrJ,IACvCslJ,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,EAASs+B,IAAKytI,MAIlDmR,GAAKj0K,UAAYA,GACjBi0K,GAAKv0K,aA9BgB,CACnBuJ,IAAK,OA+BP,OAAegrK,sCC/CTj0K,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPuwK,GAAapyK,SAAAA,GACjB,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAMM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,cACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCm9K,GAAUl0K,UAAYA,GACtBk0K,GAAUx0K,aAtBW,CACnBuJ,IAAK,OAuBP,uCC9BMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPwwK,GAAYryK,SAAAA,GAChB,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAMM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,aACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCo9K,GAASn0K,UAAYA,GACrBm0K,GAASz0K,aAtBY,CACnBuJ,IAAK,OAuBP,uCC9BMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPywK,GAAetyK,SAAAA,GACnB,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAMM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,gBACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCq9K,GAAYp0K,UAAYA,GACxBo0K,GAAY10K,aAtBS,CACnBuJ,IAAK,OAuBP,kDC9BMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXm/J,SAAUn/J,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,QAQE0wK,GAAYvyK,SAAAA,GAChB,IACEouC,EAKEpuC,EALFouC,UACA83H,EAIElmK,EAJFkmK,UACAlF,EAGEhhK,EAHFghK,SACK8H,EAEH9oK,EAFFmH,IACGssJ,EALL,GAMIzzJ,EANJ,IAOM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,aACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,EAASs+B,IAAKytI,MAIlDuR,GAASr0K,UAAYA,GACrBq0K,GAAS30K,aAvBY,CACnBuJ,IAAK,OAwBP,kDCpCMjJ,GAAY,CAChBiJ,IAAKy/J,GACL5F,SAAUn/J,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,KAAgBA,GAAAA,SACjEusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOP2wK,GAAYxyK,SAAAA,GAChB,IACEouC,EAKEpuC,EALFouC,UACA83H,EAIElmK,EAJFkmK,UACK4C,EAGH9oK,EAHFmH,IACA65J,EAEEhhK,EAFFghK,SACGvN,EALL,GAMIzzJ,EANJ,IAOM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,aACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBlgI,IAAKytI,EAAU5yH,UAAWn5C,MAInDu9K,GAASt0K,UAAYA,GACrBs0K,GAAS50K,aAvBY,CACnBuJ,IAAK,KAwBP,uCChCMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOP4wK,GAAczyK,SAAAA,GAClB,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAMM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,eACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCw9K,GAAWv0K,UAAYA,GACvBu0K,GAAW70K,aAtBU,CACnBuJ,IAAK,OAuBP,uCC9BMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOP6wK,GAAc1yK,SAAAA,GAClB,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAMM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,eACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCy9K,GAAWx0K,UAAYA,GACvBw0K,GAAW90K,aAtBU,CACnBuJ,IAAK,OAuBP,sDC9BMjJ,GAAY,CAChBiJ,IAAKy/J,GACLphJ,IAAK3jB,GAAAA,KACL6lF,OAAQ7lF,GAAAA,KACRusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOP8wK,GAAW3yK,SAAAA,GACf,IACEouC,EAMEpuC,EANFouC,UACA83H,EAKElmK,EALFkmK,UACA1gJ,EAIExlB,EAJFwlB,IACAkiE,EAGE1nF,EAHF0nF,OACKohF,EAEH9oK,EAFFmH,IACGssJ,EANL,GAOIzzJ,EAPJ,IASI4yK,EAAmB,WACnBptJ,IACFotJ,EAAmB,gBAEjBlrF,IACFkrF,EAAmB,mBAGrB,IAAM39K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACAwkI,GACC1M,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpC09K,GAAQz0K,UAAYA,GACpBy0K,GAAQ/0K,aAjCa,CACnBuJ,IAAK,OAkCP,uCC3CMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPgxK,GAAkB7yK,SAAAA,GACtB,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAMM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,oBACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpC49K,GAAe30K,UAAYA,GAC3B20K,GAAej1K,aAtBM,CACnBuJ,IAAK,OAuBP,+DC7BM2rK,GAAAA,SAAAA,uBACJ/qK,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAEDxF,MAAQ,CACXu4K,gBAAgB,GAGlB,EAAK1O,QAAU,EAAKA,QAAQ3pK,KAAb,OACf,EAAK4pK,WAAa,EAAKA,WAAW5pK,KAAhB,OAClB,EAAK+pK,OAAS,EAAKA,OAAO/pK,KAAZ,OACd,EAAKgqK,UAAY,EAAKA,UAAUhqK,KAAf,OACjB,EAAKiqK,SAAW,EAAKA,SAASjqK,KAAd,OAXC,oCAcnB2pK,SAAQ/iK,EAAMswK,GACZr6K,KAAKk3D,SAAS,CAAEskH,gBAAgB,IAChCx7K,KAAKyI,MAAMqkK,QAAQ/iK,EAAMswK,6BAG3BtN,SAAWhjK,EAAMswK,GAEf,IAAM7mB,EAAezpJ,EAAKypJ,aAG1B,OAFAxzJ,KAAKk3D,SAAS,CAAEskH,gBAAgB,IAChCx7K,KAAKyI,MAAMskK,WAAWhjK,EAAMswK,GACrB7mB,wBAGT0Z,SAAOnjK,GACL/J,KAAKk3D,SAAS,CAAEskH,gBAAgB,IAChCx7K,KAAKyI,MAAMykK,OAAOnjK,4BAGpBojK,SAAUpjK,GACR/J,KAAKk3D,SAAS,CAAEskH,gBAAgB,IAChCzxK,EAAKgW,cAAc,IAAI07J,YAAY,sBACnCz7K,KAAKyI,MAAM0kK,UAAUpjK,2BAGvBqjK,SAASrjK,GACPA,EAAKgW,cAAc,IAAI07J,YAAY,qBACnCz7K,KAAKyI,MAAM2kK,SAASrjK,yBAGtBxC,WAAS,WACP,EAA0FvH,KAAKyI,MAAnFizK,EAAZ,EAAQlQ,GAAUh5J,EAAlB,EAAkBA,SAAUm8J,EAA5B,EAA4BA,UAAWgN,EAAvC,EAAuCA,MAAYpK,EAAnD,EAA8C3hK,IAAUinC,EAAxD,EAAwDA,UAAcuiI,EAAtE,SAEA,OACEhjI,EAAAA,cAAC60H,GAAD,MACMmO,EADN,CAEE9N,MAAOqQ,EACP1P,KAAM0P,EACNnQ,GAAIkQ,EACJ5O,QAAS9sK,KAAK8sK,QACdC,WAAY/sK,KAAK+sK,WACjBG,OAAQltK,KAAKktK,OACbC,UAAWntK,KAAKmtK,UAChBC,SAAUptK,KAAKotK,YAEbzB,SAAAA,GACA,IAAQppE,EAAc,EAAK19F,QAAnB09F,UACFq5E,EAAYjQ,IAAWkE,GAAmB9E,SAAaY,IAAWkE,GAAmB7E,QACrF6Q,GAAsBlQ,IAAWkE,GAAmB/E,UAAYa,IAAWkE,GAAmB7E,UAClG,EAAK/nK,MAAMu4K,iBACI,QAAdj5E,EAAsB,sBAAwB,qBAG3Cu5E,EAAcpN,GAAgBjxK,GAClCo5C,EACA,gBACA+kI,GAAY,SACZC,EANsBlQ,IAAWkE,GAAmB/E,WACrC,QAAdvoE,EAAsB,qBAAuB,uBAO7CosE,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,CAAK16H,UAAWilI,GACbtpK,YA7ET+oK,CAAqBnlI,EAAAA,WAsF3BmlI,GAAa50K,UAAb40K,GAAAA,GAAAA,GACKtQ,GAAAA,WADL,IAEEr7J,IAAKy/J,GACL7D,GAAIlhK,GAAAA,KACJqkK,UAAWrkK,GAAAA,OACXkI,SAAUlI,GAAAA,KACVqxK,MAAOrxK,GAAAA,KACPusC,UAAWvsC,GAAAA,SAGbixK,GAAal1K,aAAbk1K,GAAAA,GAAAA,GACKtQ,GAAAA,cADL,IAEEr7J,IAAK,MACLysD,QAASizG,GAAmBI,SAC5BiM,OAAO,IAGTJ,GAAan1K,aAAe,CAC1Bm8F,UAAWj4F,GAAAA,QAGb,OAAeixK,GCzGFQ,GAAkB3lI,EAAAA,cAAoB,ICC7Cs5H,GAAAA,SAAAA,uBACJl/J,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IACDuzK,eAAiB,EAAKA,eAAe74K,KAApB,OACtB,EAAK84K,YAAc,EAAKA,YAAY94K,KAAjB,OACnB,EAAK+4K,WAAa,EAAKA,WAAW/4K,KAAhB,OAClB,EAAKg5K,SAAW,EAAKA,SAASh5K,KAAd,OAChB,EAAKi5K,iBAAmB,EAAKA,iBAAiBj5K,KAAtB,OACxB,EAAKk5K,eAAiB,EAAKA,eAAel5K,KAApB,OACtB,EAAKm5K,YAAc,EACnB,EAAKC,YAAc,EACnB,EAAKt5K,MAAQ,CACXu5K,YAAa,EAAK/zK,MAAM+zK,YACxBj6E,UAAW,MACXk6E,kBAAkB,GAbH,4CAiBnBnG,WACE,MAAO,CAAE/zE,UAAWviG,KAAKiD,MAAMs/F,4CAGjCzmE,WAE0B,aAApB97B,KAAKyI,MAAMi0K,MACb18K,KAAK28K,cAIPrxK,SAASxH,iBAAiB,QAAS9D,KAAKg8K,kDA6B1Ct2I,SAAmByR,EAAWsK,GACxBA,EAAU+6H,cAAgBx8K,KAAKiD,MAAMu5K,aACzCx8K,KAAK28K,YAAY38K,KAAKyI,2CAGxByhC,WACElqC,KAAK48K,gBACLtxK,SAAStH,oBAAoB,QAAShE,KAAKg8K,yJAG7CW,WAAgC,IAApBl0K,EAAoB,uDAAZzI,KAAKyI,MAEvBzI,KAAK48K,gBACDn0K,EAAMsxI,WACR/5I,KAAK68K,cAAgBF,aAAY,WAC/Bl0K,EAAM6vB,SACL80B,SAAS3kD,EAAMsxI,SAAU,mJAIhC6iC,WACEA,cAAc58K,KAAK68K,2CAGrBX,WAI6B,OAHF,UAArBl8K,KAAKyI,MAAMq0K,OACb98K,KAAK48K,gBAEH58K,KAAKyI,MAAMs0K,cACb,EAAA/8K,KAAKyI,OAAMs0K,WAAX,2CAIJZ,WAI6B,OAHF,UAArBn8K,KAAKyI,MAAMq0K,OACb98K,KAAK28K,cAEH38K,KAAKyI,MAAMu0K,cACb,EAAAh9K,KAAKyI,OAAMu0K,WAAX,iDAIJhB,SAAeiB,GACTj9K,KAAKyI,MAAMy0K,WACO,KAAhBD,EAAI57J,QACNrhB,KAAKyI,MAAM4sF,WACc,KAAhB4nF,EAAI57J,SACbrhB,KAAKyI,MAAM6vB,wCAKjB8jJ,SAAiBj0K,GACXnI,KAAKyI,MAAM00K,cAGfn9K,KAAKs8K,YAAcn0K,EAAE2f,eAAe,GAAGxE,QACvCtjB,KAAKu8K,YAAcp0K,EAAE2f,eAAe,GAAGvE,uCAGzC84J,SAAel0K,GACb,GAAInI,KAAKyI,MAAM00K,YAAf,CAIA,IAAMC,EAAWj1K,EAAE2f,eAAe,GAAGxE,QAC/B+5J,EAAWl1K,EAAE2f,eAAe,GAAGvE,QAC/B+5J,EAAQ9gK,KAAKgnE,IAAIxjF,KAAKs8K,YAAcc,GAIvCE,EAHW9gK,KAAKgnE,IAAIxjF,KAAKu8K,YAAcc,IAOvCC,EAvIiB,KA2IjBF,EAAWp9K,KAAKs8K,YACjBt8K,KAAKyI,MAAM6vB,OAEXt4B,KAAKyI,MAAM4sF,wCAIf4mF,SAAYsB,EAAe1mI,GAAW,WAC5B8kI,EAAU37K,KAAKyI,MAAfkzK,MACR,OACEvlI,EAAAA,cAAAA,MAAAA,CAAKS,UAAWA,GACb0mI,EAAcpkI,KAAI,SAACupC,EAAMn9E,GACxB,IAAMm2K,EAAQn2K,IAAU,EAAKtC,MAAMu5K,YACnC,OAAOpmI,EAAAA,aAAmBssC,EAAM,CAC9B8oF,GAAIkQ,EACJC,MAAOA,8BAOjBp0K,WAAS,WACP,EAAoDvH,KAAKyI,MAAjDkmK,EAAR,EAAQA,UAAWgN,EAAnB,EAAmBA,MAAO9kI,EAA1B,EAA0BA,UAAWk8H,EAArC,EAAqCA,KAAMyK,EAA3C,EAA2CA,KACrCC,EAAe/O,GAAgBjxK,GACnCo5C,EACA,WACmB2mI,EACnB7B,GAAS,QACT5I,GAAQ,iBACPpE,GAEG+O,EAAehP,GAAgBjxK,GACnC,kBACCkxK,GAGGn8J,EAAWxS,KAAKyI,MAAM+J,SAASqqC,QAAOniC,SAAAA,GAAK,OAAc,OAAVA,QAA4BxZ,IAAVwZ,GAAwC,mBAAVA,KAKrG,GAHmBlI,EAAS8yC,OAAM5qC,SAAAA,GAAK,OAAIA,EAAM9Y,OAAS25K,MAIxD,OACEnlI,EAAAA,cAAAA,MAAAA,CAAKS,UAAW4mI,EAAcE,aAAc39K,KAAKk8K,WAAY0B,aAAc59K,KAAKm8K,UAC9E/lI,EAAAA,cAAC2lI,GAAgB99G,SAAjB,CAA0Bp+D,MAAOG,KAAKs2K,mBACnCt2K,KAAKi8K,YAAYzpK,EAAUkrK,KAOpC,GAAIlrK,EAAS,aAAcvU,MAAO,CAChC,IAAMs/K,EAAgB/qK,EAAS,GACzBqrK,EAAcrrK,EAAS,GACvBsrK,EAAetrK,EAAS,GAE9B,OACE4jC,EAAAA,cAAAA,MAAAA,CAAKS,UAAW4mI,EAAcE,aAAc39K,KAAKk8K,WAAY0B,aAAc59K,KAAKm8K,UAC9E/lI,EAAAA,cAAC2lI,GAAgB99G,SAAjB,CAA0Bp+D,MAAOG,KAAKs2K,mBACnCt2K,KAAKi8K,YAAYsB,EAAeG,GAChCG,EACAC,IAOT,IAAMC,EAAavrK,EAAS,GAMtBwrK,EAAoB5nI,EAAAA,aAAmB2nI,EAAY,CAAEE,eALnC91K,SAAAA,GACyB,oBAApC41K,EAAWt1K,MAAMw1K,gBAC1B,EAAK/mH,SAAS,CAAEulH,kBAAkB,IAAQ,kBAAMsB,EAAWt1K,MAAMw1K,eAAe91K,SAI9Eo1K,EAAgB/qK,EAAS,GACzBqrK,EAAcrrK,EAAS,GACvBsrK,EAAetrK,EAAS,GAE9B,OACE4jC,EAAAA,cAAAA,MAAAA,CAAKS,UAAW4mI,EAAcE,aAAc39K,KAAKk8K,WAAY0B,aAAc59K,KAAKm8K,SAC9EviH,aAAc55D,KAAKo8K,iBAAkB8B,WAAYl+K,KAAKq8K,gBACtDjmI,EAAAA,cAAC2lI,GAAgB99G,SAAjB,CAA0Bp+D,MAAOG,KAAKs2K,mBACnC0H,EACAh+K,KAAKi8K,YAAYsB,EAAeG,GAChCG,EACAC,8CAjMsB,SAACK,EAAW18H,GACzC,IAAI28H,EAAW,KACT5B,EAA6C/6H,EAA7C+6H,YAAaj6E,EAAgC9gD,EAAhC8gD,UAAWk6E,EAAqBh7H,EAArBg7H,iBAqB9B,OAnBI0B,EAAU3B,cAAgBA,IAExB2B,EAAU3B,cAAgBA,EAAc,EAC1Cj6E,EAAY,MACH47E,EAAU3B,cAAgBA,EAAa,EAChDj6E,EAAY,QACH47E,EAAU3B,YAAcA,EACjCj6E,EAAYk6E,EAAmB,QAAU,MAChC0B,EAAU3B,cAAgBA,IACnCj6E,EAAYk6E,EAAmB,MAAQ,SAGzC2B,EAAW,CACT5B,YAAa2B,EAAU3B,YACvBj6E,UAAAA,EACAk6E,kBAAkB,IAIf2B,QAvDL1O,CAAiBt5H,EAAAA,WAwOvBs5H,GAAS/oK,UAAY,CAEnB61K,YAAalyK,GAAAA,OAEbguB,KAAMhuB,GAAAA,KAAAA,WAEN+qF,SAAU/qF,GAAAA,KAAAA,WAEV4yK,SAAU5yK,GAAAA,KAIVwyK,MAAOxyK,GAAAA,MAAgB,CAAC,SAAS,IAGjCoyK,KAAMpyK,GAAAA,MAAgB,CAAC,aAGvByvI,SAAUzvI,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,OAEFkI,SAAUlI,GAAAA,MAEVyyK,WAAYzyK,GAAAA,KAEZ0yK,WAAY1yK,GAAAA,KAEZqxK,MAAOrxK,GAAAA,KAEPyoK,KAAMzoK,GAAAA,KACNqkK,UAAWrkK,GAAAA,OACXusC,UAAWvsC,GAAAA,OACX6yK,YAAa7yK,GAAAA,MAGfolK,GAASrpK,aAAe,CACtB0zI,SAAU,IACV+iC,MAAO,QACPI,UAAU,EACVvB,OAAO,EACPwB,aAAa,EACbK,MAAM,GAGR9N,GAASxpK,kBAAoB,CAC3Bq8F,UAAWj4F,GAAAA,QAGb,OAAeolK,GC9RT2O,GAAmB51K,SAAAA,GACvB,IAAQ85F,EAAmE95F,EAAnE85F,UAAW07E,EAAwDx1K,EAAxDw1K,eAAgBtP,EAAwClmK,EAAxCkmK,UAAW2P,EAA6B71K,EAA7B61K,cAAeznI,EAAcpuC,EAAdouC,UAEvD0nI,EAAgB7P,GAAgBjxK,GACpCo5C,EAD8C,2BAE1B0rD,IACnBosE,GAEG6P,EAAc9P,GAAgBjxK,GAAW,oBAAD,OACxB8kG,EADwB,UAE3CosE,GAEG8P,EAAsB/P,GAAgBjxK,GAC1C,mBACCkxK,GAGH,OAKEv4H,EAAAA,cAAAA,IAAAA,CACES,UAAW0nI,EACX3nK,MAAO,CAACyjC,OAAQ,WAChBgD,KAAK,SACLi7H,SAAS,IACTtwI,QAAU7/B,SAAAA,GACRA,EAAE8Z,iBACFg8J,MAGF7nI,EAAAA,cAAAA,OAAAA,CAAMS,UAAW2nI,EAAa,cAAY,SAC1CpoI,EAAAA,cAAAA,OAAAA,CAAMS,UAAW4nI,GAAsBH,GAAiB/7E,KAK9D87E,GAAgB13K,UAAY,CAC1B47F,UAAWj4F,GAAAA,MAAgB,CAAC,OAAQ,SAAStB,WAC7Ci1K,eAAgB3zK,GAAAA,KAAAA,WAChBqkK,UAAWrkK,GAAAA,OACXg0K,cAAeh0K,GAAAA,OACfusC,UAAWvsC,GAAAA,QAGb,OAAe+zK,GC9CTK,GAAsBj2K,SAAAA,GAC1B,IAAQ89E,EAA6D99E,EAA7D89E,MAAOi2F,EAAsD/zK,EAAtD+zK,YAAa7N,EAAyClmK,EAAzCkmK,UAAWsP,EAA8Bx1K,EAA9Bw1K,eAAgBpnI,EAAcpuC,EAAdouC,UAEjDy9H,EAAc5F,GAAgBjxK,GAAWo5C,EAAW,uBAAwB83H,GAC5EoP,EAAax3F,EAAMptC,KAAI,SAACupC,EAAMysC,GAClC,IAAMwvD,EAAmBjQ,GAAgBjxK,GACvC,CAAEiyF,OAAQ8sF,IAAgBrtD,IACzBw/C,GACH,OACEv4H,EAAAA,cAAAA,SAAAA,CACE,aAAYssC,EAAKk8F,QACjB,oBACApgL,IAAG,UAAKkkF,EAAKlkF,KAAOF,OAAOmlD,OAAOi/B,GAAMhkF,KAAK,KAC7CspC,QAAU7/B,SAAAA,GACRA,EAAE8Z,iBACFg8J,EAAe9uD,IAEjBt4E,UAAW8nI,OAIjB,OACEvoI,EAAAA,cAAAA,MAAAA,CAAKS,UAAWy9H,GACbyJ,IAKPW,GAAmB/3K,UAAY,CAC7B4/E,MAAOj8E,GAAAA,MAAAA,WACPkyK,YAAalyK,GAAAA,OAAAA,WACbqkK,UAAWrkK,GAAAA,OACX2zK,eAAgB3zK,GAAAA,KAAAA,WAChBusC,UAAWvsC,GAAAA,QAGb,OAAeo0K,GCpCTG,GAAmBp2K,SAAAA,GACvB,IAAQq2K,EAAqDr2K,EAArDq2K,cAAeC,EAAsCt2K,EAAtCs2K,YAAapQ,EAAyBlmK,EAAzBkmK,UAAW93H,EAAcpuC,EAAdouC,UACzCn5C,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,mBACA,SACA,cACC83H,GAEH,OACEv4H,EAAAA,cAAAA,MAAAA,CAAKS,UAAWn5C,GACd04C,EAAAA,cAAAA,KAAAA,KAAK0oI,GACL1oI,EAAAA,cAAAA,IAAAA,KAAI2oI,KAKVF,GAAgBl4K,UAAY,CAC1Bm4K,cAAex0K,GAAAA,KACfy0K,YAAaz0K,GAAAA,KAAAA,WACbqkK,UAAWrkK,GAAAA,OACXusC,UAAWvsC,GAAAA,QAGb,OAAeu0K,oFCrBTl4K,GAAY,CAChB4/E,MAAOj8E,GAAAA,MAAAA,WACPyzK,WAAYzzK,GAAAA,KACZ00K,SAAU10K,GAAAA,KACV20K,SAAU30K,GAAAA,KACV40K,mBAAoB50K,GAAAA,OACpBkyK,YAAalyK,GAAAA,OACbguB,KAAMhuB,GAAAA,KACN+qF,SAAU/qF,GAAAA,KACV60K,UAAW70K,GAAAA,MAGP80K,GAAAA,SAAAA,uBACJ5uK,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IACD42K,WAAY,EACjB,EAAKp8K,MAAQ,CAAEu5K,YAAa/zK,EAAMy2K,oBAAsB,GACxD,EAAK5mJ,KAAO,EAAKA,KAAKn1B,KAAV,OACZ,EAAKkyF,SAAW,EAAKA,SAASlyF,KAAd,OAChB,EAAKg8K,UAAY,EAAKA,UAAUh8K,KAAf,OACjB,EAAKgqK,UAAY,EAAKA,UAAUhqK,KAAf,OACjB,EAAKiqK,SAAW,EAAKA,SAASjqK,KAAd,OARC,sCAWnBgqK,WACEntK,KAAKq/K,WAAY,0BAGnBjS,WACEptK,KAAKq/K,WAAY,sBAGnB/mJ,WACE,IAAIt4B,KAAKq/K,UAAT,CACA,IAAMC,EAAYt/K,KAAKiD,MAAMu5K,cAAgBx8K,KAAKyI,MAAM89E,MAAM1oF,OAAS,EAAI,EAAImC,KAAKiD,MAAMu5K,YAAc,EACxGx8K,KAAKk3D,SAAS,CAAEslH,YAAa8C,6BAG/BjqF,WACE,IAAIr1F,KAAKq/K,UAAT,CACA,IAAMC,EAAuC,IAA3Bt/K,KAAKiD,MAAMu5K,YAAoBx8K,KAAKyI,MAAM89E,MAAM1oF,OAAS,EAAImC,KAAKiD,MAAMu5K,YAAc,EACxGx8K,KAAKk3D,SAAS,CAAEslH,YAAa8C,8BAG/BH,SAAUI,GACJv/K,KAAKq/K,WACTr/K,KAAKk3D,SAAS,CAAEslH,YAAa+C,0BAG/Bh4K,WAAS,WACP,EAA2FvH,KAAKyI,MAApEw2K,GAA5B,EAAQC,mBAAR,EAA4BD,UAAUlB,EAAtC,EAAsCA,WAAYiB,EAAlD,EAAkDA,SAAUz4F,EAA5D,EAA4DA,MAAO44F,EAAnE,EAAmEA,UAAc12K,EAAjF,SACQ+zK,EAAgBx8K,KAAKiD,MAArBu5K,YAEFgD,EAASj5F,EAAMptC,KAAKupC,SAAAA,GACxB,IAAMlkF,EAAMkkF,EAAKlkF,KAAOkkF,EAAKz3C,IAC7B,OACEmL,EAAAA,cAACmlI,GAAD,CACEpO,UAAW,EAAKA,UAChBC,SAAU,EAAKA,SACf5uK,IAAKA,GAEL43C,EAAAA,cAAAA,MAAAA,CAAKS,UAAU,gBAAgB5L,IAAKy3C,EAAKz3C,IAAKk6G,IAAKziE,EAAK+8F,UACxDrpI,EAAAA,cAACyoI,GAAD,CAAiBE,YAAar8F,EAAKk8F,QAASE,cAAep8F,EAAKpgC,QAAUogC,EAAKk8F,cAKrF,OACExoI,EAAAA,cAACs5H,GAAD,IACE8M,YAAaA,EACblkJ,KAAMt4B,KAAKs4B,KACX+8D,SAAUr1F,KAAKq1F,SACfqnF,KAAMuC,EAAW,gBAAa/9K,GAC1BuH,GAEHs1K,GAAc3nI,EAAAA,cAACsoI,GAAD,CACbn4F,MAAOA,EACPi2F,YAAa/zK,EAAM+zK,aAAeA,EAClCyB,eAAgBkB,GAAan/K,KAAKm/K,YAEnCK,EACAR,GAAY5oI,EAAAA,cAACioI,GAAD,CACX97E,UAAU,OACV+7E,cAAc,WACdL,eAAgBx1K,EAAM4sF,UAAYr1F,KAAKq1F,WAExC2pF,GAAY5oI,EAAAA,cAACioI,GAAD,CACX97E,UAAU,OACV+7E,cAAc,OACdL,eAAgBx1K,EAAM6vB,MAAQt4B,KAAKs4B,cA7EvC8mJ,CAA6B9kJ,EAAAA,WAoFnC8kJ,GAAqBz4K,UAAYA,GACjCy4K,GAAqB/4K,aAAe,CAClC24K,UAAU,EACVjB,YAAY,EACZkB,UAAU,GAGZ,uCC1GMt4K,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPo1K,GAAgBj3K,SAAAA,GACpB,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAMM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,iBACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCgiL,GAAa/4K,UAAYA,GACzB+4K,GAAar5K,aAtBQ,CACnBuJ,IAAK,OAuBP,uCC9BMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPq1K,GAAYl3K,SAAAA,GAChB,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAMM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,aACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCiiL,GAASh5K,UAAYA,GACrBg5K,GAASt5K,aAtBY,CACnBuJ,IAAK,KAuBP,OAAe+vK,sCC9BTh5K,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPs1K,GAAan3K,SAAAA,GACjB,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAMM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,cACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCkiL,GAAUj5K,UAAYA,GACtBi5K,GAAUv5K,aAtBW,CACnBuJ,IAAK,OAuBP,OAAegwK,+PCzBf,IAAMj5K,GAAY,CAChB6L,SAAUlI,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,OAAiBtB,WAChE62K,gBAAiBv1K,GAAAA,OACjBuwJ,UAAWvwJ,GAAAA,OACXw1K,gBAAiBx1K,GAAAA,OACjBy1K,eAAgBz1K,GAAAA,OAChB01K,UAAW11K,GAAAA,KACXsF,IAAKy/J,GACLkG,OAAQjrK,GAAAA,KAAAA,WACRqkK,UAAWrkK,GAAAA,OACXwhB,OAAQxhB,GAAAA,QAAkBA,GAAAA,QAC1B+4J,mBAAoB/4J,GAAAA,MACpBgrF,KAAMhrF,GAAAA,KACNg2F,UAAW8uE,GACXlwK,OAAQkwK,GAAepmK,WACvBgyJ,UAAW1wJ,GAAAA,MACXkxJ,SAAUlxJ,GAAAA,OACV21K,kBAAmB31K,GAAAA,UAAoB,CAACA,GAAAA,OAAkB6kK,KAC1D+Q,SAAU51K,GAAAA,KACVkzK,KAAMlzK,GAAAA,KACNkW,WAAYlW,GAAAA,MAAgBilK,GAAK5oK,YAG7BN,GAAe,CACnB45K,kBAAmB,eACnBplB,UAAW,OACXmlB,WAAW,EACXzK,QAAQ,EACRzpJ,OAAQ,CAAC,EAAG,GACZwpE,MAAM,EACNgL,UAAW,OACX06D,UAAW,GACXklB,SAlCF,aAmCE1C,MAAM,EACNh9J,WAAY,GAAF,GACH+uJ,GAAKlpK,eAIR85K,GAAAA,SAAAA,uBACJ3vK,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAED23K,cAAgB,EAAKA,cAAcj9K,KAAnB,OACrB,EAAKk9K,cAAgB,EAAKA,cAAcl9K,KAAnB,OACrB,EAAKm9K,OAAS,EAAKA,OAAOn9K,KAAZ,OACd,EAAK+8K,SAAW,EAAKA,SAAS/8K,KAAd,OAChB,EAAKF,MAAQ,CAAEsyK,OAAQ9sK,EAAM8sK,QAPZ,+CAiBnB7vI,WACM1lC,KAAKiqI,UAAYjqI,KAAKiqI,SAASs2C,YAAcvgL,KAAKiqI,SAASs2C,WAAW,IAAMvgL,KAAKiqI,SAASs2C,WAAW,GAAGpyJ,OAC1GnuB,KAAKiqI,SAASs2C,WAAW,GAAGpyJ,qCAIhCiyJ,SAAcr2K,GACZ/J,KAAKwgL,WAA6B,kBAATz2K,EAAoBkvF,GAAUlvF,GAAQA,+BAGjEs2K,WACE,OAAOrgL,KAAKwgL,2CAGdC,WACE,OAAOxnF,GAAUj5F,KAAKyI,MAAM63F,iCAG9BggF,SAAOtkJ,GACLh8B,KAAKiqI,SAAWjuG,0BAGlBkkJ,WACElgL,KAAKyI,MAAMy3K,WACXlgL,KAAKk3D,SAAS,CAAEq+G,QAAQ,kCAG1BmL,WACE,MAsBI1gL,KAAKyI,MArBPkmK,EADF,EACEA,UACAn8J,EAFF,EAEEA,SACA+iK,EAHF,EAGEA,OACAjgF,EAJF,EAIEA,KAEAxpE,GANF,EAKE5sB,OALF,EAME4sB,QACAu3I,EAPF,EAOEA,mBACAyc,EARF,EAQEA,gBACgBa,EATlB,EASEZ,eACAC,EAVF,EAUEA,UACiBY,EAXnB,EAWEf,gBACAjwK,EAZF,EAYEA,IAEAorJ,GAdF,EAaE16D,UAbF,EAcE06D,WACAQ,EAfF,EAeEA,SACAykB,EAhBF,EAgBEA,kBAEAzC,GAlBF,EAiBE0C,SAjBF,EAkBE1C,MACAh9J,EAnBF,EAmBEA,WACAq6I,EApBF,EAoBEA,UACG+c,EArBL,SAuBMmI,EAAiBrR,GAAgBjxK,GACrC,QACAkjL,GACChS,GACGkR,EAAkBnR,GAAgBjxK,GACtCmjL,EACAd,EAAkB,GAAH,OAAMA,EAAN,SAA+B,IAC7C9/K,KAAKyI,MAAMkmK,WAERkS,EAAgB7lB,EAAU7hH,KAAIr3C,SAAAA,GAAC,OAAIA,EAAE3B,QACrC2gL,EAAgB,CACpB,CACE3gL,KAAM,SACN+R,QAAS,CACP4Z,OAAAA,IAGJ,CACE3rB,KAAM,OACNsnH,QAASnyB,EACTpjF,QAAS,CACPmxJ,mBAAAA,IAGJ,CACEljK,KAAM,kBACN+R,QAAS,CACP+uJ,SAAUgf,KAGdpjI,QAAO/6C,SAAAA,GAAC,OAAK++K,EAAcnxK,SAAS5N,EAAE3B,SAClC4gL,EAAoB,GAAH,UAAQD,GAAR,GAA0B9lB,IAE3CgmB,EAAmB,GAAH,SACjBzR,GAAKlpK,cACLma,GAFiB,IAGpBy4J,UAAWuE,EAAOh9J,EAAWy4J,UAAY,GACzC58G,QAASmhH,EAAOh9J,EAAW67C,QAAU,IAGvC,OACEjmB,EAAAA,cAACm5H,GAAD,MACMyR,EACApJ,EAFN,CAGEpM,GAAI+J,EACJnI,SAAUptK,KAAKkgL,SACftwK,IAAKA,IAELwmC,EAAAA,cAAC6qI,GAAD,CACEzX,iBAAkBxpK,KAAKwgL,WACvBxlB,UAAW+lB,EACXlmB,UAAWA,EACXW,SAAUA,IAET,gBAAGx/H,EAAH,EAAGA,IAAKplB,EAAR,EAAQA,MAAkBsqK,EAA1B,EAAermB,UAA4B8N,EAA3C,EAA2CA,kBAAmB8B,EAA9D,EAA8DA,WAAYhjE,EAA1E,EAA0EA,OAA1E,OACCrxD,EAAAA,cAAAA,MAAAA,CAAKpa,IAAKA,EAAKplB,MAAOA,EAAOigC,UAAWgpI,EAAiB,wBAAuBqB,EAAiB,+BAA8BvY,EAAoB,YAASznK,GACrI,oBAAbsR,EAA0BA,EAAS,CAAEi1F,OAAAA,IAAYj1F,GACvDwtK,GAAa5pI,EAAAA,cAAAA,OAAAA,CAAMpa,IAAKyuI,EAAWzuI,IAAK6a,UAAWkpI,EAAgBnpK,MAAO6zJ,EAAW7zJ,mCAQnGrP,WAGE,OAFAvH,KAAKogL,cAAcpgL,KAAKyI,MAAMvJ,QAE1Bc,KAAKiD,MAAMsyK,OACmB,WAAzBv1K,KAAKyI,MAAM63F,UAChBtgG,KAAK0gL,iBACLxW,GAAAA,aAAuB9zH,EAAAA,cAAAA,MAAAA,CAAKpa,IAAKh8B,KAAKsgL,QAAStgL,KAAK0gL,kBAA0B1gL,KAAKygL,oBAGhF,+CApIsB,SAACh4K,EAAOxF,GACrC,OAAIwF,EAAM8sK,SAAWtyK,EAAMsyK,OAClB,CAAEA,OAAQ9sK,EAAM8sK,QAEb,WAfV4K,CAAsB/pI,EAAAA,WAmJ5B+pI,GAAcx5K,UAAYA,GAC1Bw5K,GAAc95K,aAAeA,GAE7B,OAAe85K,GCpMTgB,GAAqB,SAAC14K,EAAO5D,GAEjC,OADAA,EAAQu8K,cAAchB,cAAcnnF,GAAUxwF,EAAMvJ,SAC7C,MAGTiiL,GAAmB/6K,aAAe,CAChCg7K,cAAe92K,GAAAA,OAAAA,YAGjB62K,GAAmBx6K,UAAY,CAC7BzH,OAAQkwK,GAAepmK,YAGzB,ICJarC,GAAY,CACvB6L,SAAUlI,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,OAC/CuwJ,UAAWvwJ,GAAAA,MAAgB+lK,IAC3BnxK,OAAQkwK,GAAepmK,WACvBs3F,UAAW8uE,GACXmG,OAAQjrK,GAAAA,KACR+H,SAAU/H,GAAAA,KACV01K,UAAW11K,GAAAA,KACX21K,kBAAmB31K,GAAAA,UAAoB,CAACA,GAAAA,OAAkB6kK,KAC1Dt4H,UAAWvsC,GAAAA,OACX+2K,eAAgB/2K,GAAAA,OAChBy1K,eAAgBz1K,GAAAA,OAChBu1K,gBAAiBv1K,GAAAA,OACjBqkK,UAAWrkK,GAAAA,OACXmrK,OAAQnrK,GAAAA,KACRg3K,SAAUh3K,GAAAA,KACVw1K,gBAAiBx1K,GAAAA,OACjB41D,MAAO51D,GAAAA,UAAoB,CACzBA,GAAAA,MAAgB,CAAEslF,KAAMtlF,GAAAA,OAAkBylF,KAAMzlF,GAAAA,SAChDA,GAAAA,SAEF0wJ,UAAW1wJ,GAAAA,MACXkxJ,SAAUlxJ,GAAAA,OACVwhB,OAAQxhB,GAAAA,QAAkBA,GAAAA,QAC1Bm/J,SAAUn/J,GAAAA,UAAoB,CAC5BA,GAAAA,KACAA,GAAAA,OACAA,GAAAA,SAEFs6G,QAASt6G,GAAAA,OACTkzK,KAAMlzK,GAAAA,KACNgrF,KAAMhrF,GAAAA,MAGFi3K,GAAiB,CACrB3xF,KAAM,EACNG,KAAM,IAGF1pF,GAAe,CACnBkvK,QAAQ,EACRyK,WAAW,EACXsB,UAAU,EACVphH,MAAOqhH,GACP9L,OAAQ,aACR7wD,QAAS,QACT44D,MAAM,GAGR,SAASgE,GAAe53K,EAAS63K,GAC/B,OAAOA,IAAgB73K,IAAY63K,GAAeA,EAAYx1J,SAASriB,IAGzE,SAAS83K,GAAgB93K,GAA4B,IAAnB+3K,EAAmB,uDAAJ,GAC/C,OAAOA,GAAgBA,EAAa9jL,QAAU8jL,EAAa9kI,QAAO+kI,SAAAA,GAAW,OAAGJ,GAAe53K,EAASg4K,MAAc,OAGlHC,GAAAA,SAAAA,uBACJrxK,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAEDq5K,SAAW,GAChB,EAAKC,qBAAuB,KAC5B,EAAKC,gBAAkB,EAAKA,gBAAgB7+K,KAArB,OACvB,EAAK6yK,oBAAsB,EAAKA,oBAAoB7yK,KAAzB,OAC3B,EAAK8+K,mBAAqB,EAAKA,mBAAmB9+K,KAAxB,OAC1B,EAAKsyK,OAAS,EAAKA,OAAOtyK,KAAZ,OACd,EAAK++K,cAAgB,EAAKA,cAAc/+K,KAAnB,OACrB,EAAKg/K,cAAgB,EAAKA,cAAch/K,KAAnB,OACrB,EAAKi/K,0BAA4B,EAAKA,0BAA0Bj/K,KAA/B,OACjC,EAAKk/K,2BAA6B,EAAKA,2BAA2Bl/K,KAAhC,OAGlC,EAAKysF,KAAO,EAAKA,KAAKzsF,KAAV,OACZ,EAAK4sF,KAAO,EAAKA,KAAK5sF,KAAV,OACZ,EAAKm/K,aAAe,EAAKA,aAAan/K,KAAlB,OACpB,EAAKm9K,OAAS,EAAKA,OAAOn9K,KAAZ,OACd,EAAKF,MAAQ,CAAEsyK,OAAQ9sK,EAAM8sK,QAC7B,EAAKgN,YAAa,EApBD,8CAuBnBzmJ,WACE97B,KAAKuiL,YAAa,EAClBviL,KAAKwiL,mDAGPt4I,WACElqC,KAAKuiL,YAAa,EAClBviL,KAAKiiL,qBACLjiL,KAAK8hL,SAAW,KAChB9hL,KAAKyiL,mBACLziL,KAAK0iL,4DAUPN,WACMpiL,KAAKyI,MAAMm8G,QAAQ/tG,QAAQ,UAAY,IAAM7W,KAAKyI,MAAM64K,WACtDthL,KAAK2iL,cACP3iL,KAAK0iL,mBAEH1iL,KAAKiD,MAAMsyK,SAAWv1K,KAAKyI,MAAM8sK,QACnCv1K,KAAKy1K,oDAKX4M,SAA2Bl6K,GACrBnI,KAAKyI,MAAMm8G,QAAQ/tG,QAAQ,UAAY,IAAM7W,KAAKyI,MAAM64K,WACtDthL,KAAK4iL,cACP5iL,KAAKyiL,mBAEPt6K,EAAEga,UACFniB,KAAK2iL,aAAepwJ,WAClBvyB,KAAK+vF,KAAK5sF,KAAKnD,KAAMmI,GACrBnI,KAAK6iL,SAAS,sCAKpBP,SAAan6K,GACG,WAAVA,EAAE3J,KACJwB,KAAK+vF,KAAK5nF,yBAIdm4K,SAAOtkJ,GACL,IAAQytI,EAAazpK,KAAKyI,MAAlBghK,SACJA,IACsB,oBAAbA,EACTA,EAASztI,GACoB,kBAAbytI,IAChBA,EAAS7uJ,QAAUohB,IAGvBh8B,KAAK8iL,SAAW9mJ,0BAGlB6mJ,SAASrkL,GACP,IAAQ0hE,EAAUlgE,KAAKyI,MAAfy3D,MACR,MAAqB,kBAAVA,EACFtgE,MAAMsgE,EAAM1hE,IAAQ+iL,GAAe/iL,GAAO0hE,EAAM1hE,GAElD0hE,kCAGT6iH,SAAiB7jL,GACf,IAAKA,EACH,OAAO,KACT,IAAMqG,EAAQvF,KAAK8hL,SAASjrK,QAAQ3X,GACpC,OAAIqG,GAAS,EACJvF,KAAK8hL,SAASv8K,GAChBvF,KAAK+iL,iBAAiB7jL,EAAO8jL,mCAGtCpzF,SAAKznF,GACH,IAAKnI,KAAKyI,MAAM8sK,OAAQ,CAGtB,GAFAv1K,KAAKyiL,mBACLziL,KAAK+hL,qBAAuB55K,EAAIA,EAAEyZ,eAAiB5hB,KAAK+iL,iBAAiB56K,EAAEjJ,QAAU,KACjFiJ,GAAKA,EAAE86K,cAA0C,oBAAnB96K,EAAE86K,aAA6B,CAC/D,IAAMtpI,EAAOxxC,EAAE86K,eACfjjL,KAAK+hL,qBAAwBpoI,GAAQA,EAAK,IAAO35C,KAAK+hL,qBAExD/hL,KAAKy1K,OAAOttK,iCAIhB+5K,SAAc/5K,GACRnI,KAAK2iL,cACP3iL,KAAK0iL,mBAEP1iL,KAAK4iL,aAAerwJ,WAClBvyB,KAAK4vF,KAAKzsF,KAAKnD,KAAMmI,GACrBnI,KAAK6iL,SAAS,6BAGlB9yF,SAAK5nF,GACCnI,KAAKyI,MAAM8sK,SACbv1K,KAAK0iL,mBACL1iL,KAAK+hL,qBAAuB,KAC5B/hL,KAAKy1K,OAAOttK,iCAIhBg6K,SAAch6K,GACRnI,KAAK4iL,cACP5iL,KAAKyiL,mBAEPziL,KAAK2iL,aAAepwJ,WAClBvyB,KAAK+vF,KAAK5sF,KAAKnD,KAAMmI,GACrBnI,KAAK6iL,SAAS,yCAKlBJ,WACEhwJ,aAAazyB,KAAK4iL,cAClB5iL,KAAK4iL,kBAAe1hL,kCAGtBwhL,WACEjwJ,aAAazyB,KAAK2iL,cAClB3iL,KAAK2iL,kBAAezhL,qCAGtB80K,SAAoB7tK,GAClB,IAAM+6K,EAAWljL,KAAKyI,MAAMm8G,QAAQp4G,MAAM,KAEtC02K,EAASrsK,QAAQ,WAAa,IAAM7W,KAAKyI,MAAM8sK,QAAUmM,GAAgBv5K,EAAEjJ,OAAQc,KAAK8hL,YACtF9hL,KAAK2iL,cACP3iL,KAAK0iL,mBAEH1iL,KAAKyI,MAAM8sK,SAAWiM,GAAer5K,EAAEjJ,OAAQc,KAAK8iL,UACtD9iL,KAAKmiL,cAAch6K,GACTnI,KAAKyI,MAAM8sK,QACrBv1K,KAAKkiL,cAAc/5K,IAEZ+6K,EAASrsK,QAAQ,UAAY,GAAK6qK,GAAgBv5K,EAAEjJ,OAAQc,KAAK8hL,YACtE9hL,KAAK2iL,cACP3iL,KAAK0iL,mBAGF1iL,KAAKyI,MAAM8sK,OAGdv1K,KAAKmiL,cAAch6K,GAFnBnI,KAAKkiL,cAAc/5K,qCAOzBg7K,SAAkBvhL,EAAMf,EAASuiL,GAC/BpjL,KAAK8hL,SAASr1K,SAAQvN,SAAAA,GACpBA,EAAO4E,iBAAiBlC,EAAMf,EAASuiL,0CAI3CC,SAAqBzhL,EAAMf,EAASuiL,GAClCpjL,KAAK8hL,SAASr1K,SAAQvN,SAAAA,GACpBA,EAAO8E,oBAAoBpC,EAAMf,EAASuiL,qCAI9CpB,WACE,GAAIhiL,KAAKyI,MAAMm8G,QAAS,CACtB,IAAIs+D,EAAWljL,KAAKyI,MAAMm8G,QAAQp4G,MAAM,MACJ,IAAhC02K,EAASrsK,QAAQ,aACfqsK,EAASrsK,QAAQ,UAAY,GAAKqsK,EAASrsK,QAAQ,WAAa,IAClEvL,SAASxH,iBAAiB,QAAS9D,KAAKg2K,qBAAqB,GAG3Dh2K,KAAK8hL,UAAY9hL,KAAK8hL,SAASjkL,SAC7BqlL,EAASrsK,QAAQ,UAAY,IAC/B7W,KAAKmjL,kBACH,YACAnjL,KAAKkiL,eACL,GAEFliL,KAAKmjL,kBACH,WACAnjL,KAAKmiL,eACL,IAGAe,EAASrsK,QAAQ,UAAY,IAC/B7W,KAAKmjL,kBAAkB,UAAWnjL,KAAK4vF,MAAM,GAC7C5vF,KAAKmjL,kBAAkB,WAAYnjL,KAAK+vF,MAAM,IAEhD/vF,KAAKmjL,kBAAkB,UAAWnjL,KAAKsiL,cAAc,wCAM7DL,WACMjiL,KAAK8hL,WACP9hL,KAAKqjL,qBACH,YACArjL,KAAKkiL,eACL,GAEFliL,KAAKqjL,qBACH,WACArjL,KAAKmiL,eACL,GAEFniL,KAAKqjL,qBAAqB,UAAWrjL,KAAKsiL,cAAc,GACxDtiL,KAAKqjL,qBAAqB,UAAWrjL,KAAK4vF,MAAM,GAChD5vF,KAAKqjL,qBAAqB,WAAYrjL,KAAK+vF,MAAM,IAGnDzkF,SAAStH,oBAAoB,QAAShE,KAAKg2K,qBAAqB,+BAGlEwM,WACE,IAAMc,EAAYrqF,GAAUj5F,KAAKyI,MAAMvJ,QAAQ,GAC3CokL,IAActjL,KAAK8hL,WACrB9hL,KAAKiiL,qBACLjiL,KAAK8hL,SAAWwB,EAAYrlL,MAAM8qD,KAAKu6H,GAAa,GACpDtjL,KAAK+hL,qBAAuB/hL,KAAK+hL,sBAAwB/hL,KAAK8hL,SAAS,GACvE9hL,KAAKgiL,yCAITvM,SAAOttK,GACL,OAAInI,KAAKyI,MAAM4J,WAAarS,KAAKuiL,WACxBp6K,GAAKA,EAAE8Z,iBAGTjiB,KAAKyI,MAAMgtK,OAAOttK,yBAG3BZ,WAAS,WACHvH,KAAKyI,MAAM8sK,QACbv1K,KAAKwiL,eAGP,IAAMtjL,EAASc,KAAK+hL,sBAAwB/hL,KAAK8hL,SAAS,GAC1D,IAAK5iL,EACH,OAAO,KAGT,MAkBIc,KAAKyI,MAjBPouC,EADF,EACEA,UACA83H,EAFF,EAEEA,UACA0S,EAHF,EAGEA,eACA9L,EAJF,EAIEA,OACAyK,EALF,EAKEA,UACAC,EANF,EAMEA,kBACAplB,EAPF,EAOEA,UACAilB,EARF,EAQEA,gBACAC,EATF,EASEA,eACAF,EAVF,EAUEA,gBACAv/E,EAXF,EAWEA,UACA06D,EAZF,EAYEA,UACAQ,EAbF,EAaEA,SACA1vI,EAdF,EAcEA,OACA0xJ,EAfF,EAeEA,KACAloF,EAhBF,EAgBEA,KACA9iF,EAjBF,EAiBEA,SAGI0pJ,EAAa0S,GAAK5uK,KAAKyI,MAAOnK,OAAOsH,KAAKe,KAE1C48K,EAAgB7U,GAAgBmR,EAAiBlR,GAEjDjxK,EAAUgxK,GAAgB2S,EAAgB1S,GAEhD,OACEv4H,EAAAA,cAAC+pI,GAAD,CACEtpI,UAAWA,EACX33C,OAAQA,EACRq2K,OAAQA,EACRyK,UAAWA,EACXC,kBAAmBA,EACnBplB,UAAWA,EACXilB,gBAAiBA,EACjBC,eAAgBA,EAChBF,gBAAiB0D,EACjBjjF,UAAWA,EACX06D,UAAWA,EACXQ,SAAUA,EACV1vI,OAAQA,EACR6iJ,UAAWA,EACX6O,KAAMA,EACNloF,KAAMA,IAEL,gBAAGmS,EAAH,EAAGA,OAAH,OACCrxD,EAAAA,cAAAA,MAAAA,GAAAA,GACM8lH,EADN,CAEElgI,IAAK,EAAKskJ,OACVzpI,UAAWn5C,EACX2/C,KAAK,UACLmmI,YAAa,EAAKpB,0BAClBxE,aAAc,EAAKyE,2BACnBoB,UAAW,EAAKnB,eAEK,oBAAb9vK,EAA0BA,EAAS,CAAEi1F,OAAAA,IAAYj1F,gDA/RpC,SAAC/J,EAAOxF,GACrC,OAAIwF,EAAM8sK,SAAWtyK,EAAMsyK,OAClB,CAAEA,OAAQ9sK,EAAM8sK,QAEb,WAzCVsM,CAA8BzrI,EAAAA,WA6UpCyrI,GAAsBl7K,UAAYA,GAClCk7K,GAAsBx7K,aAAeA,GAErC,OAAew7K,GC1YT6B,GAAWj7K,SAAAA,GACf,IAAM86K,EAAgB9lL,GACpB,UACA,OACAgL,EAAMo3K,iBAGFniL,EAAUD,GACd,gBACAgL,EAAM44K,gBAIR,OACEjrI,EAAAA,cAACyrI,GAAD,MACMp5K,EADN,CAEEs3K,eAAe,gBACfF,gBAAiB0D,EACjBlC,eAAgB3jL,MAKtBgmL,GAAQ/8K,UAAYA,GACpB+8K,GAAQr9K,aA/Ba,CACnBw0J,UAAW,QACXilB,gBAAiB,aACjBl7D,QAAS,QACT94F,OAAQ,CAAC,EAAG,IA8Bd,OAAe43J,GCjCT7U,GAAW,CAAC,gBAEG8U,SAAAA,uBACnBnzK,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAEDxF,MAAQ,CAAEsyK,OAAQ9sK,EAAMgxK,cAAe,GAC5C,EAAKhE,OAAS,EAAKA,OAAOtyK,KAAZ,OAJG,mCAOnBsyK,WACEz1K,KAAKk3D,SAAS,CAAEq+G,QAASv1K,KAAKiD,MAAMsyK,+BAGtChuK,WACE,OAAO6uC,EAAAA,cAACstI,GAAD,IAASnO,OAAQv1K,KAAKiD,MAAMsyK,OAAQE,OAAQz1K,KAAKy1K,QAAY7G,GAAK5uK,KAAKyI,MAAOomK,YAbpE8U,CAA4BrpJ,EAAAA,YAiB7B3zB,UAApBg9K,GAAAA,CACElK,YAAanvK,GAAAA,MACVo5K,GAAQ/8K,kDCrBPA,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPs5K,GAAiBn7K,SAAAA,GACrB,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAOM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,kBACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCkmL,GAAcj9K,UAAYA,GAC1Bi9K,GAAcv9K,aAvBO,CACnBuJ,IAAK,MAwBP,uCC/BMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPu5K,GAAep7K,SAAAA,GACnB,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAOM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,gBACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCmmL,GAAYl9K,UAAYA,GACxBk9K,GAAYx9K,aAvBS,CACnBuJ,IAAK,OAwBP,0LC/BMjJ,GAAY,CAChB6L,SAAUlI,GAAAA,KACVg7H,IAAKh7H,GAAAA,KACLokD,MAAOpkD,GAAAA,KACPsF,IAAKy/J,GACLxvK,MAAOyK,GAAAA,UAAoB,CACzBA,GAAAA,OACAA,GAAAA,SAEF2iB,IAAK3iB,GAAAA,UAAoB,CACvBA,GAAAA,OACAA,GAAAA,SAEFu4C,IAAKv4C,GAAAA,UAAoB,CACvBA,GAAAA,OACAA,GAAAA,SAEFqxG,SAAUrxG,GAAAA,KACVw5K,QAASx5K,GAAAA,KACT+e,MAAO/e,GAAAA,OACPusC,UAAWvsC,GAAAA,OACXy5K,aAAcz5K,GAAAA,OACdqkK,UAAWrkK,GAAAA,OACXsM,MAAOtM,GAAAA,OACP05K,SAAU15K,GAAAA,OACV25K,iBAAkB35K,GAAAA,OAClB45K,kBAAmB55K,GAAAA,QAYf65K,GAAY17K,SAAAA,GAChB,IACE+J,EAkBE/J,EAlBF+J,SACAqkC,EAiBEpuC,EAjBFouC,UACAktI,EAgBEt7K,EAhBFs7K,aACApV,EAeElmK,EAfFkmK,UACA9uK,EAcE4I,EAdF5I,MACAotB,EAaExkB,EAbFwkB,IACA41B,EAYEp6C,EAZFo6C,IACA84D,EAWElzG,EAXFkzG,SACAmoE,EAUEr7K,EAVFq7K,QACAz6J,EASE5gB,EATF4gB,MACAi8G,EAQE78H,EARF68H,IACA52E,EAOEjmD,EAPFimD,MACK6iH,EAMH9oK,EANFmH,IACAgH,EAKEnO,EALFmO,MACAotK,EAIEv7K,EAJFu7K,SACAC,EAGEx7K,EAHFw7K,iBACAC,EAEEz7K,EAFFy7K,kBACGhoB,EAlBL,GAmBIzzJ,EAnBJ,IAqBMgvG,EAAYg5D,GAAS5wK,GAAS4wK,GAAS5tH,GAAQ,IAE/CuhI,EAAkB1V,GAAgBjxK,GACtCo5C,EACA,YACC83H,GAUG0V,EAAmB,CACvBxtI,UATyB63H,GAAgBjxK,GACzC,eACA6nI,GAAMzuF,GAA4BktI,EAClCpoE,EAAW,wBAA0B,KACrCtyF,EAAQ,MAAH,OAASA,GAAU,KACxBy6J,GAAWnoE,EAAW,uBAAyB,MAC9CgzD,GAID/3J,MAAO,GAAF,SACC0uH,EAAM1uH,EAAQ,IACfotK,GAFA,IAGH98J,MAAO,GAAF,OAAKuwF,EAAL,OAEPp6D,KAAM,cACN,gBAAiBx9C,EACjB,gBAAiBotB,EACjB,gBAAiB41B,EACjB,iBAAkBohI,EAClB,kBAAmBC,EACnB1xK,SAAUA,GAGZ,OAAI8yH,EAEAlvF,EAAAA,cAACm7H,EAAD,MACMrV,EACAmoB,IAMRjuI,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBtlJ,MAAOA,EAAOigC,UAAWutI,IAC3C11H,EAAQl8C,EAAW4jC,EAAAA,cAAAA,MAASiuI,KAKnCF,GAASx9K,UAAYA,GACrBw9K,GAAS99K,aA/EY,CACnBuJ,IAAK,MACL/P,MAAO,EACPotB,IAAK,EACL41B,IAAK,IACLjsC,MAAO,GACPotK,SAAU,IA2EZ,IC9GMr9K,GAAY,CAChB6L,SAAUlI,GAAAA,KAAAA,WACVP,KAAMO,GAAAA,KAGFyqC,GAAAA,SAAAA,4HACJ7K,WACMlqC,KAAKskL,aACPh5K,SAAS4F,KAAKmC,YAAYrT,KAAKskL,aAEjCtkL,KAAKskL,YAAc,2BAGrB/8K,WACE,OAAK+oK,IAIAtwK,KAAKyI,MAAMsB,MAAS/J,KAAKskL,cAC5BtkL,KAAKskL,YAAch5K,SAASC,cAAc,OAC1CD,SAAS4F,KAAKoC,YAAYtT,KAAKskL,cAG1Bpa,GAAAA,aACLlqK,KAAKyI,MAAM+J,SACXxS,KAAKyI,MAAMsB,MAAQ/J,KAAKskL,cAVjB,WAVPvvI,CAAeqB,EAAAA,WAyBrBrB,GAAOpuC,UAAYA,GAEnB,OAAeouC,GCnBf,SAASsrC,MAET,IAAMkkG,GAAgBj6K,GAAAA,MAAgBilK,GAAK5oK,WAErCA,GAAY,CAChB4uK,OAAQjrK,GAAAA,KACR89B,UAAW99B,GAAAA,KACXk6K,SAAUl6K,GAAAA,KACVm6K,WAAYn6K,GAAAA,UAAoB,CAC9BA,GAAAA,KACAA,GAAAA,MAAgB,CAAC,KAAM,KAAM,KAAM,SAErCo6K,WAAYp6K,GAAAA,KACZ49B,KAAM59B,GAAAA,OACNmrK,OAAQnrK,GAAAA,KACR4yK,SAAU5yK,GAAAA,KACV+yC,KAAM/yC,GAAAA,OACNq6K,WAAYr6K,GAAAA,OACZ8rF,SAAU9rF,GAAAA,UAAoB,CAC5BA,GAAAA,KACAA,GAAAA,MAAgB,CAAC,aAEnBwiK,QAASxiK,GAAAA,KACT4iK,OAAQ5iK,GAAAA,KACRs6K,SAAUt6K,GAAAA,KACV41K,SAAU51K,GAAAA,KACVkI,SAAUlI,GAAAA,KACVusC,UAAWvsC,GAAAA,OACXu6K,cAAev6K,GAAAA,OACfw6K,eAAgBx6K,GAAAA,OAChBy6K,kBAAmBz6K,GAAAA,OACnB06K,iBAAkB16K,GAAAA,OAClBqlI,SAAUrlI,GAAAA,KACVkzK,KAAMlzK,GAAAA,KACNqkK,UAAWrkK,GAAAA,OACXyL,OAAQzL,GAAAA,UAAoB,CAC1BA,GAAAA,OACAA,GAAAA,SAEF26K,mBAAoBV,GACpBW,gBAAiBX,GACjB9a,SAAUn/J,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,OAEF66K,eAAgB76K,GAAAA,KAChB86K,sBAAuB96K,GAAAA,KACvBg2F,UAAW8uE,GACXiW,UAAW/6K,GAAAA,MAGPg7K,GAAchnL,OAAOsH,KAAKe,IAE1BN,GAAe,CACnBkvK,QAAQ,EACRntI,WAAW,EACXo8I,UAAU,EACVE,YAAY,EACZrnI,KAAM,SACN+4C,UAAU,EACV8mF,UAAU,EACVnnK,OAAQ,KACRynK,MAAM,EACNoH,SAAUvkG,GACV6/F,SAAU7/F,GACV6kG,gBAAiB,CACf7oH,QAASizG,GAAmBG,OAE9BwV,mBAAoB,CAClBvZ,cAAc,EACdrvG,QAASizG,GAAmBC,MAE9B4V,gBAAgB,EAChBC,uBAAuB,EACvB9kF,UAAW,OACX+kF,WAAW,GAGP5V,GAAAA,SAAAA,uBACJj/J,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAEDwhI,SAAW,KAChB,EAAKs7C,qBAAuB,KAC5B,EAAKC,sBAAwB,KAC7B,EAAKC,qBAAuB,EAAKA,qBAAqBtiL,KAA1B,OAC5B,EAAKuiL,oBAAsB,EAAKA,oBAAoBviL,KAAzB,OAC3B,EAAKwiL,wBAA0B,EAAKA,wBAAwBxiL,KAA7B,OAC/B,EAAKyiL,aAAe,EAAKA,aAAaziL,KAAlB,OACpB,EAAK0iL,8BAAgC,EAAKA,8BAA8B1iL,KAAnC,OACrC,EAAK2iL,UAAY,EAAKA,UAAU3iL,KAAf,OACjB,EAAKyhL,SAAW,EAAKA,SAASzhL,KAAd,OAChB,EAAK+8K,SAAW,EAAKA,SAAS/8K,KAAd,OAChB,EAAK4iL,sBAAwB,EAAKA,sBAAsB5iL,KAA3B,OAC7B,EAAK6iL,8BAAgC,EAAKA,8BAA8B7iL,KAAnC,OACrC,EAAKkiL,UAAY,EAAKA,UAAUliL,KAAf,OAEjB,EAAKF,MAAQ,CACXsyK,QAAQ,EACR0Q,6BAA6B,GApBd,8CAwBnBnqJ,WACE,MAAuC97B,KAAKyI,MAApC8sK,EAAR,EAAQA,OAAQntI,EAAhB,EAAgBA,UAAW0kI,EAA3B,EAA2BA,QAEvByI,IACFv1K,KAAKD,OACLC,KAAKk3D,SAAS,CAAEq+G,QAAQ,IACpBntI,GACFpoC,KAAKkmL,YAILpZ,GACFA,IAIFxhK,SAASxH,iBAAiB,QAAS9D,KAAKqlL,WAAW,GAEnDrlL,KAAKuiL,YAAa,oCAGpB78I,SAAmByR,EAAWsK,GAC5B,GAAIzhD,KAAKyI,MAAM8sK,SAAWp+H,EAAUo+H,OAIlC,OAHAv1K,KAAKD,YACLC,KAAKk3D,SAAS,CAAEq+G,QAAQ,IAMtBv1K,KAAKyI,MAAM2/B,WAAapoC,KAAKiD,MAAMsyK,SAAW9zH,EAAU8zH,QAC1Dv1K,KAAKkmL,WAGHlmL,KAAKiqI,UAAY9yF,EAAUphC,SAAW/V,KAAKyI,MAAMsN,SACnD/V,KAAKiqI,SAASrzH,MAAMb,OAAS/V,KAAKyI,MAAMsN,4CAI5Cm0B,WACElqC,KAAKgmL,gCAEDhmL,KAAKyI,MAAMykK,QACbltK,KAAKyI,MAAMykK,SAGTltK,KAAKiqI,WACPjqI,KAAK6gC,WACD7gC,KAAKyI,MAAM8sK,QAAUv1K,KAAKiD,MAAMsyK,SAClCv1K,KAAK40K,SAITtpK,SAAStH,oBAAoB,QAAShE,KAAKqlL,WAAW,GACtDrlL,KAAKuiL,YAAa,2BAGpB8C,SAAWc,GACT,GAAKnmL,KAAKyI,MAAM48K,WAIXrlL,KAAKiqI,YAGNjqI,KAAKomL,SAAWpmL,KAAKomL,QAAQ3tK,aAAe0tK,EAAGjnL,WAG/Cc,KAAKqmL,WAAc5W,EAAM6W,UAAY,GAAzC,CAKA,IAFA,IAAM9zK,EAAWxS,KAAKylL,uBAEb9nL,EAAI,EAAGA,EAAI6U,EAAS3U,OAAQF,IACnC,GAAI6U,EAAS7U,KAAOwoL,EAAGjnL,OACrB,OAGAsT,EAAS3U,OAAS,IACpBsoL,EAAGlkK,iBACHkkK,EAAGrlK,kBACHtO,EAAS,GAAG2b,kCAIhBy2J,SAAS76K,EAAMswK,GACbr6K,KAAKyI,MAAMm8K,YACV5kL,KAAKyI,MAAMy8K,gBAAgBrY,WAAaxsF,IAAMt2E,EAAMswK,2BAGvD6F,SAASn2K,GACP,IAAQo7K,EAAmBnlL,KAAKyI,MAAxB08K,eAERnlL,KAAKyI,MAAMy3K,YACVlgL,KAAKyI,MAAMy8K,gBAAgB9X,UAAY/sF,IAAMt2E,GAE1Co7K,GACFnlL,KAAK6gC,UAEP7gC,KAAK40K,QAED50K,KAAKuiL,YACPviL,KAAKk3D,SAAS,CAAEq+G,QAAQ,4BAI5B2Q,WACMlmL,KAAKomL,SAAWpmL,KAAKomL,QAAQ3tK,YAAuD,oBAAlCzY,KAAKomL,QAAQ3tK,WAAW0V,OAC5EnuB,KAAKomL,QAAQ3tK,WAAW0V,4CAI5Bs3J,WACE,OAAOzlL,KAAKiqI,SAASr5F,iBAAiBwgI,GAAkB1yK,KAAK,sCAG/D6nL,WACE,IAAIC,EACEC,EAAoBzmL,KAAKylL,uBAE/B,IACEe,EAAel7K,SAAS2F,cACxB,MAAOzQ,GACPgmL,EAAeC,EAAkB,GAEnC,OAAOD,qCAITd,SAAoBv9K,GAClB,GAAIA,EAAEjJ,SAAWc,KAAK0mL,kBAAmB,CACvCv+K,EAAE2Y,kBAEF,IAAMs1E,EAAWp2F,KAAKomL,QAAUpmL,KAAKomL,QAAQ3tK,WAAa,KAM1D,GAJI29E,GAAYjuF,EAAEjJ,SAAWk3F,GAAoC,WAAxBp2F,KAAKyI,MAAM2tF,UAClDp2F,KAAK6lL,iCAGF7lL,KAAKyI,MAAM8sK,SAAkC,IAAxBv1K,KAAKyI,MAAM2tF,SAAmB,OAEpDA,GAAYjuF,EAAEjJ,SAAWk3F,GAAYp2F,KAAKyI,MAAMgtK,QAClDz1K,KAAKyI,MAAMgtK,OAAOttK,6BAKxB29K,SAAU39K,GACR,GAAgB,IAAZA,EAAE4e,SACF/mB,KAAKqmL,WAAc5W,EAAM6W,UAAY,GAAzC,CAEA,IAAMG,EAAoBzmL,KAAKylL,uBACzBkB,EAAiBF,EAAkB5oL,OACzC,GAAuB,IAAnB8oL,EAAJ,CAKA,IAJA,IAAMH,EAAexmL,KAAKumL,kBAEtBK,EAAe,EAEVjpL,EAAI,EAAGA,EAAIgpL,EAAgBhpL,GAAK,EACvC,GAAI8oL,EAAkB9oL,KAAO6oL,EAAc,CACzCI,EAAejpL,EACf,MAIAwK,EAAE0b,UAA6B,IAAjB+iK,GAChBz+K,EAAE8Z,iBACFwkK,EAAkBE,EAAiB,GAAGx4J,SAC5BhmB,EAAE0b,UAAY+iK,IAAiBD,EAAiB,IAC1Dx+K,EAAE8Z,iBACFwkK,EAAkB,GAAGt4J,kDAIzBw3J,SAAwBx9K,GACtBnI,KAAK0mL,kBAAoBv+K,EAAEjJ,mCAG7B0mL,SAAaz9K,GACPnI,KAAKyI,MAAM8sK,QAAUptK,EAAEkZ,UAAYyuJ,GAASC,KAAO/vK,KAAKyI,MAAMgtK,SAC5Dz1K,KAAKyI,MAAMy0K,UACb/0K,EAAE8Z,iBACF9Z,EAAE2Y,kBAEF9gB,KAAKyI,MAAMgtK,OAAOttK,IAEa,WAAxBnI,KAAKyI,MAAM2tF,WAClBjuF,EAAE8Z,iBACF9Z,EAAE2Y,kBAEF9gB,KAAK6lL,+EAKXA,WAAgC,WAC9B7lL,KAAKgmL,gCACLhmL,KAAKk3D,SAAS,CAAE+uH,6BAA6B,IAC7CjmL,KAAK6mL,0BAA4Bt0J,YAAW,WAC1C,EAAK2kC,SAAS,CAAE+uH,6BAA6B,MAC5C,yBAGLlmL,WACE,IACEC,KAAK8mL,mBAAqBx7K,SAAS2F,cACnC,MAAOzQ,GACPR,KAAK8mL,mBAAqB,KAGvB9mL,KAAKiqI,WACRjqI,KAAKiqI,SAAW3+H,SAASC,cAAc,OACvCvL,KAAKiqI,SAAS78H,aAAa,WAAY,MACvCpN,KAAKiqI,SAASrzH,MAAMxR,SAAW,WAC/BpF,KAAKiqI,SAASrzH,MAAMb,OAAS/V,KAAKyI,MAAMsN,OACxC/V,KAAK+mL,gBAAkB9tF,GAAUj5F,KAAKyI,MAAM63F,WAC5CtgG,KAAK+mL,gBAAgBzzK,YAAYtT,KAAKiqI,WAGxCjqI,KAAKulL,qBAAuBjX,KAC5BtuK,KAAKwlL,sBAAwBn6K,OAAOyzF,iBAAiBxzF,SAAS4F,MAAMslB,SACpE+3I,KAEwB,IAApBkB,EAAM6W,YACRh7K,SAAS4F,KAAK2lC,UAAYp5C,GACxB6N,SAAS4F,KAAK2lC,UACd63H,GAAgB,aAAc1uK,KAAKyI,MAAMkmK,YAE3CrjK,SAAS4F,KAAK0F,MAAM4f,SAAW,UAGjCx2B,KAAKqmL,WAAa5W,EAAM6W,UACxB7W,EAAM6W,WAAa,yBAGrBzlJ,WACM7gC,KAAKiqI,WACPjqI,KAAK+mL,gBAAgB1zK,YAAYrT,KAAKiqI,UACtCjqI,KAAKiqI,SAAW,MAGlBjqI,KAAK+lL,6DAGPA,WACE,GAAI/lL,KAAK8mL,mBAAoB,CAC3B,IAAQ1B,EAA0BplL,KAAKyI,MAA/B28K,sBACJplL,KAAK8mL,mBAAmB34J,OAASi3J,GAAuBplL,KAAK8mL,mBAAmB34J,QACpFnuB,KAAK8mL,mBAAqB,2BAI9BlS,WACE,GAAInF,EAAM6W,WAAa,EAAG,CACxB,IAAMU,EAAqBtY,GAAgB,aAAc1uK,KAAKyI,MAAMkmK,WAE9DsY,EAA0B,IAAIzyI,OAAJ,eAAmBwyI,EAAnB,UAChC17K,SAAS4F,KAAK2lC,UAAYvrC,SAAS4F,KAAK2lC,UAAUvpC,QAAQ25K,EAAyB,KAAKh4K,OACxF3D,SAAS4F,KAAK0F,MAAM4f,SAAWx2B,KAAKwlL,sBAEtCxlL,KAAK+lL,wBACLtW,EAAM6W,UAAY9pK,KAAKqmC,IAAI,EAAG4sH,EAAM6W,UAAY,GAEhDnY,GAAkBnuK,KAAKulL,uDAGzB2B,WAAoB,aACZhrB,EAAa0S,GAAK5uK,KAAKyI,MAAO68K,IAC9B6B,EAAkB,eAExB,OACE/wI,EAAAA,cAAAA,MAAAA,GAAAA,GACM8lH,EADN,CAEErlH,UAAW63H,GAAgBjxK,GAAW0pL,EAAiBnnL,KAAKyI,MAAMouC,WAA7B,0BACzB72C,KAAKyI,MAAMy/B,MAASloC,KAAKyI,MAAMy/B,MADN,eAE/Bi/I,EAF+B,aAEFnnL,KAAKyI,MAAM+7K,UAFT,eAG/B2C,EAH+B,eAGAnnL,KAAKyI,MAAMi8K,YAHX,KAInC,oBAA8C,IAA1B1kL,KAAKyI,MAAMg8K,YAJI,gCAKdzkL,KAAKyI,MAAMg8K,WALG,SAKoD,kBAA3BzkL,KAAKyI,MAAMg8K,YALpC,IAMjCzkL,KAAKyI,MAAMkmK,WACftxH,KAAK,WACLrhB,IAAMpxB,SAAAA,GACJ,EAAKw7K,QAAUx7K,KAGjBwrC,EAAAA,cAAAA,MAAAA,CACES,UAAW63H,GACTjxK,GAAW,gBAAiBuC,KAAKyI,MAAMu8K,kBACvChlL,KAAKyI,MAAMkmK,YAGZ3uK,KAAKyI,MAAM+J,iCAMpBjL,WACE,IACE49K,EACEnlL,KAAKyI,MADP08K,eAGF,GAAMnlL,KAAKiqI,WAAajqI,KAAKiD,MAAMsyK,SAAW4P,GAAiB,CAC7D,IAAMiC,IAAkBpnL,KAAKiqI,WAAajqI,KAAKiD,MAAMsyK,SAAW4P,EAChEnlL,KAAKiqI,SAASrzH,MAAM+zB,QAAUy8I,EAAgB,OAAS,QAEvD,MAWIpnL,KAAKyI,MAVPo8K,EADF,EACEA,cACAC,EAFF,EAEEA,eACAC,EAHF,EAGEA,kBACApW,EAJF,EAIEA,UACA4G,EALF,EAKEA,OACAn/E,EANF,EAMEA,SACA/4C,EAPF,EAOEA,KACAsnI,EARF,EAQEA,WACAh1C,EATF,EASEA,SACA85B,EAVF,EAUEA,SAGI4d,EAAkB,CACtBr/I,QAAShoC,KAAK0lL,oBACd/rH,YAAa35D,KAAK2lL,wBAClB2B,QAAStnL,KAAK4lL,aACdnC,UAAWzjL,KAAK8lL,UAChBlvK,MAAO,CAAE+zB,QAAS,SAClB,kBAAmBg6I,EACnBtnI,KAAAA,EACAi7H,SAAU,MAGNiP,EAAgBvnL,KAAKyI,MAAM+0K,KAC3B0H,EAAkB,GAAH,SAChB3V,GAAKlpK,cACLrG,KAAKyI,MAAMy8K,iBAFK,IAGnBjM,UAAWsO,EAAgBvnL,KAAKyI,MAAMy8K,gBAAgBjM,UAAY,GAClE58G,QAASkrH,EAAgBvnL,KAAKyI,MAAMy8K,gBAAgB7oH,QAAU,IAE1D4oH,EAAqB,GAAH,SACnB1V,GAAKlpK,cACLrG,KAAKyI,MAAMw8K,oBAFQ,IAGtBhM,UAAWsO,EAAgBvnL,KAAKyI,MAAMw8K,mBAAmBhM,UAAY,GACrE58G,QAASkrH,EAAgBvnL,KAAKyI,MAAMw8K,mBAAmB5oH,QAAU,IAG7DmrH,EAAWpxF,IACfmxF,EACGnxI,EAAAA,cAACm5H,GAAD,MACK0V,EADL,CAECzZ,GAAI+J,KAAYn/E,EAChBu4E,UAAWA,EACX93H,UAAW63H,GAAgBjxK,GAAW,iBAAkBsnL,GAAoBpW,MAE5Ev4H,EAAAA,cAAAA,MAAAA,CAAKS,UAAW63H,GAAgBjxK,GAAW,iBAAkB,OAAQsnL,GAAoBpW,MAG/F,OACEv4H,EAAAA,cAACrB,GAAD,CAAQhrC,KAAM/J,KAAKiqI,UACjB7zF,EAAAA,cAAAA,MAAAA,CAAKS,UAAW63H,GAAgBmW,IAC9BzuI,EAAAA,cAACm5H,GAAD,MACM8X,EACAnC,EAFN,CAGE1Z,GAAI+J,EACJ1I,UAAW7sK,KAAK4kL,SAChBxX,SAAUptK,KAAKkgL,SACfvR,UAAWA,EACX93H,UAAW63H,GAAgBjxK,GAAW,QAASqnL,EAAgB9kL,KAAKiD,MAAMgjL,6BAA+B,gBAAiBtX,GAC1HlF,SAAUA,IAET95B,EACA3vI,KAAKknL,qBAEPM,IAKT,OAAO,kDAGTxB,WACMhmL,KAAK6mL,4BACPp0J,aAAazyB,KAAK6mL,2BAClB7mL,KAAK6mL,+BAA4B3lL,SAvZjCuuK,CAAcr5H,EAAAA,WA4ZpBq5H,GAAM9oK,UAAYA,GAClB8oK,GAAMppK,aAAeA,GACrBopK,GAAM6W,UAAY,EAElB,8FC5fM3/K,GAAY,CAChBiJ,IAAKy/J,GACLoY,QAASpY,GACToG,OAAQnrK,GAAAA,KACRusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXkI,SAAUlI,GAAAA,KACVo9K,eAAgBp9K,GAAAA,OAChBsqK,MAAOtqK,GAAAA,QASHq9K,GAAel/K,SAAAA,GACnB,IAAIm/K,EAEF/wI,EAQkBpuC,EARlBouC,UACA83H,EAOkBlmK,EAPlBkmK,UACAn8J,EAMkB/J,EANlB+J,SACAijK,EAKkBhtK,EALlBgtK,OACKlE,EAIa9oK,EAJlBmH,IACSi4K,EAGSp/K,EAHlBg/K,QACAC,EAEkBj/K,EAFlBi/K,eACA9S,EACkBnsK,EADlBmsK,MACG1Y,EATL,GASoBzzJ,EATpB,IAWM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,gBACC83H,GAQH,OANKiG,GAASa,IACZmS,EACExxI,EAAAA,cAAAA,SAAAA,CAAQx0C,KAAK,SAASomC,QAASytI,EAAQ5+H,UAAW63H,GAAgB,YAAaC,GAAY,aAAY+Y,KAKzGtxI,EAAAA,cAACyxI,EAAD,MAAa3rB,EAAb,CAAyBrlH,UAAWn5C,IAClC04C,EAAAA,cAACm7H,EAAD,CAAK16H,UAAW63H,GAAgB,cAAeC,IAC5Cn8J,GAEFoiK,GAASgT,IAKhBD,GAAYhhL,UAAYA,GACxBghL,GAAYthL,aAzCS,CACnBuJ,IAAK,KACL63K,QAAS,MACTC,eAAgB,SAwClB,uCCtDM/gL,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPw9K,GAAar/K,SAAAA,GACjB,IACEouC,EAGkBpuC,EAHlBouC,UACA83H,EAEkBlmK,EAFlBkmK,UACK4C,EACa9oK,EADlBmH,IACGssJ,EAJL,GAIoBzzJ,EAJpB,IAKM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,cACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCoqL,GAAUnhL,UAAYA,GACtBmhL,GAAUzhL,aArBW,CACnBuJ,IAAK,OAsBP,uCC7BMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPy9K,GAAet/K,SAAAA,GACnB,IACEouC,EAGkBpuC,EAHlBouC,UACA83H,EAEkBlmK,EAFlBkmK,UACK4C,EACa9oK,EADlBmH,IACGssJ,EAJL,GAIoBzzJ,EAJpB,IAKM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,gBACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCqqL,GAAYphL,UAAYA,GACxBohL,GAAY1hL,aArBS,CACnBuJ,IAAK,OAsBP,ICvBMy+H,GAAW5lI,SAAAA,GACf,IAAM86K,EAAgB9lL,GACpB,UACA,OACAgL,EAAMo3K,iBAGFniL,EAAUD,GACd,gBACAgL,EAAM44K,gBAIR,OACEjrI,EAAAA,cAACyrI,GAAD,MACMp5K,EADN,CAEEs3K,eAAe,gBACfF,gBAAiB0D,EACjBlC,eAAgB3jL,MAKtB2wI,GAAQ1nI,UAAYA,GACpB0nI,GAAQhoI,aA/Ba,CACnBw0J,UAAW,MACXymB,UAAU,EACVxB,gBAAiB,aACjBl7D,QAAS,eA8BX,OAAeypB,sICjCT1nI,GAAY,CAChBkwC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACX49B,KAAM59B,GAAAA,OACN09K,SAAU19K,GAAAA,KACV29K,WAAY39K,GAAAA,KACZw5K,QAASx5K,GAAAA,KACTyoK,KAAMzoK,GAAAA,KACNkjF,MAAOljF,GAAAA,KACP8jF,WAAY9jF,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,SACjDsF,IAAKy/J,GACL6Y,cAAe7Y,GACf5F,SAAUn/J,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,OAAkBA,GAAAA,UAQ7D69K,GAAS1/K,SAAAA,GACb,IACEouC,EAaEpuC,EAbFouC,UACA83H,EAYElmK,EAZFkmK,UACAzmI,EAWEz/B,EAXFy/B,KACA8/I,EAUEv/K,EAVFu/K,SACAC,EASEx/K,EATFw/K,WACAnE,EAQEr7K,EARFq7K,QACA/Q,EAOEtqK,EAPFsqK,KACAvlF,EAME/kF,EANF+kF,MACAY,EAKE3lF,EALF2lF,WACKmjF,EAIH9oK,EAJFmH,IACew4K,EAGb3/K,EAHFy/K,cACAze,EAEEhhK,EAFFghK,SACGvN,EAbL,GAcIzzJ,EAdJ,IAgBM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,UACA3O,GAAO,SAAWA,IAClB8/I,GAAW,mBACXC,GAAa,qBACbnE,GAAU,kBACV/Q,GAAO,eACPvlF,GAAQ,eACPmhF,GAEG9oF,EAAQzvC,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBlgI,IAAKytI,EAAU5yH,UAAWn5C,KAE7D,GAAI0wF,EAAY,CACd,IAAMi6F,EAAsB3Z,IAA+B,IAAftgF,EAAsB,mBAAtBA,oBAAAA,OAA+DA,GAAcugF,GAEzH,OACEv4H,EAAAA,cAACgyI,EAAD,CAAevxI,UAAWwxI,GAAsBxiG,GAIpD,OAAOA,GAGTsiG,GAAMxhL,UAAYA,GAClBwhL,GAAM9hL,aA/Ce,CACnBuJ,IAAK,QACLs4K,cAAe,OA+CjB,uEChEMvhL,GAAY,CAChBiJ,IAAKy/J,GACL/jB,MAAOhhJ,GAAAA,KACPusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXoqG,WAAYpqG,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,SACjDg+K,SAAUh+K,GAAAA,MAkBNi+K,GAAa9/K,SAAAA,GACjB,IACEouC,EAOEpuC,EAPFouC,UACA83H,EAMElmK,EANFkmK,UACK4C,EAKH9oK,EALFmH,IACA07I,EAIE7iJ,EAJF6iJ,MACA52C,EAGEjsG,EAHFisG,WACA4zE,EAEE7/K,EAFF6/K,SACGpsB,EAPL,GAQIzzJ,EARJ,IASM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,aAGAy0G,EAAQ,mBAxBe52C,SAAAA,GACzB,OAAmB,IAAfA,KAEsB,IAAfA,GAAsC,OAAfA,EACzB,wBAEF,yBAAP,OAAgCA,IAkBD8zE,CAAmB9zE,GAChD,CACE,sBAAuB4zE,IAExB3Z,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpC6qL,GAAU5hL,UAAYA,GACtB4hL,GAAUliL,aA1CW,CACnBuJ,IAAK,KACL8kG,YAAY,EACZ4zE,UAAU,GAyCZ,2DCrDM3hL,GAAY,CAChB6L,SAAUlI,GAAAA,KACVm+K,OAAQn+K,GAAAA,KACRsF,IAAKy/J,GACL5F,SAAUn/J,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,KAAgBA,GAAAA,SACjEusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAMPo+K,GAAAA,SAAAA,uBACJl4K,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IACD63K,OAAS,EAAKA,OAAOn9K,KAAZ,OACd,EAAKwlL,OAAS,EAAKA,OAAOxlL,KAAZ,OAHG,mCAMnBm9K,SAAOtkJ,GACDh8B,KAAKyI,MAAMghK,UACbzpK,KAAKyI,MAAMghK,SAASztI,GAEtBh8B,KAAKg8B,IAAMA,wBAGb2sJ,WACM3oL,KAAKg8B,KACPh8B,KAAKg8B,IAAI2sJ,+BAIbphL,WACE,MAOIvH,KAAKyI,MANPouC,EADF,EACEA,UACA83H,EAFF,EAEEA,UACA8Z,EAHF,EAGEA,OACKlX,EAJP,EAIE3hK,IACA65J,EALF,EAKEA,SACGvN,EANL,SASMx+J,EAAUgxK,GAAgBjxK,GAC9Bo5C,IACA4xI,GAAS,eACR9Z,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBlgI,IAAKytI,EAAU5yH,UAAWn5C,WApC/CgrL,CAAapuJ,EAAAA,WAyCnBouJ,GAAK/hL,UAAYA,GACjB+hL,GAAKriL,aA7CgB,CACnBuJ,IAAK,QA8CP,yDCxDMjJ,GAAY,CAChB6L,SAAUlI,GAAAA,KACVsF,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXq8F,MAAOr8F,GAAAA,KACP0gI,QAAS1gI,GAAAA,MAGLjE,GAAe,CACnBuJ,IAAK,MACL+2F,WAAOzlG,GAGH0nL,GAAgBngL,SAAAA,GACpB,IACEouC,EAMEpuC,EANFouC,UACA83H,EAKElmK,EALFkmK,UACAhoE,EAIEl+F,EAJFk+F,MACAqkC,EAGEviI,EAHFuiI,QACKumC,EAEH9oK,EAFFmH,IACGssJ,EANL,GAOIzzJ,EAPJ,IASMogL,EAAY79C,EAAU,UAAY,WAElCttI,EAAUgxK,GACdjxK,GACEo5C,EACA8vD,EAAQ,SAAH,OAAYkiF,GAAZ,kBAAqCA,IAE5Cla,GAGF,OAAOv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAGzCkrL,GAAajiL,UAAYA,GACzBiiL,GAAaviL,aAAeA,GAE5B,6FCxCMM,GAAY,CAChB6L,SAAUlI,GAAAA,KACVovC,IAAKpvC,GAAAA,KACLq6J,MAAOr6J,GAAAA,KACPw+K,OAAQx+K,GAAAA,KACRm+K,OAAQn+K,GAAAA,KACRysG,SAAUzsG,GAAAA,KACV+H,SAAU/H,GAAAA,KACVsF,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPy+K,GAAatgL,SAAAA,GACjB,IACEouC,EAUEpuC,EAVFouC,UACA83H,EASElmK,EATFkmK,UACAj1H,EAQEjxC,EARFixC,IACArnC,EAOE5J,EAPF4J,SACAsyJ,EAMEl8J,EANFk8J,MACA8jB,EAKEhgL,EALFggL,OACA1xE,EAIEtuG,EAJFsuG,SACKw6D,EAGH9oK,EAHFmH,IACQo5K,EAENvgL,EAFFqgL,OACG5sB,EAVL,GAWIzzJ,EAXJ,IAaMwgL,EAAYtkB,GAASqkB,EAErBtrL,EAAUgxK,GAAgBjxK,GAC9Bo5C,IACA6C,GAAM,MACNuvI,EAAY,aAAe,SAC3BD,GAAa,iBACbC,IAAaR,IAAS,uBACtBQ,IAAa52K,IAAW,WACxB0kG,GAAY,iBACX43D,GAMH,MAJY,aAAR4C,IACFrV,EAAW7pJ,SAAWA,GAItB+jC,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCqrL,GAAUpiL,UAAYA,GACtBoiL,GAAU1iL,aAxCW,CACnBuJ,IAAK,OAyCP,wDCvDMjJ,GAAY,CAChB6L,SAAUlI,GAAAA,KACVm+K,OAAQn+K,GAAAA,KACRsF,IAAKy/J,GACLhmJ,MAAO/e,GAAAA,OACPusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAQP4+K,GAAYzgL,SAAAA,GAChB,IACEouC,EAMEpuC,EANFouC,UACA83H,EAKElmK,EALFkmK,UACA8Z,EAIEhgL,EAJFggL,OACAp/J,EAGE5gB,EAHF4gB,MACKkoJ,EAEH9oK,EAFFmH,IACGssJ,EANL,GAOIzzJ,EAPJ,IASM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,GACC4xI,GAAS,cACVp/J,GAAQ,QAAH,OAAWA,IACfslJ,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCwrL,GAASviL,UAAYA,GACrBuiL,GAAS7iL,aA3BY,CACnBuJ,IAAK,QACLyZ,MAAO,SA2BT,wGCpCM1iB,GAAY,CAChB6L,SAAUlI,GAAAA,KACV1I,KAAM0I,GAAAA,OACN49B,KAAM59B,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,SAC7C6+K,OAAQ7+K,GAAAA,OACRq8F,MAAOr8F,GAAAA,KACP8+K,QAAS9+K,GAAAA,KACTsF,IAAKy/J,GACL5F,SAAUn/J,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,KACAA,GAAAA,SAEF++K,UAAW/+K,GAAAA,KACXg/K,MAAOh/K,GAAAA,KACPusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPi/K,GAAAA,SAAAA,uBACJ/4K,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IACD63K,OAAS,EAAKA,OAAOn9K,KAAZ,OACd,EAAKgrB,MAAQ,EAAKA,MAAMhrB,KAAX,OAHI,mCAMnBm9K,SAAOtkJ,GACDh8B,KAAKyI,MAAMghK,UACbzpK,KAAKyI,MAAMghK,SAASztI,GAEtBh8B,KAAKg8B,IAAMA,uBAGb7N,WACMnuB,KAAKg8B,KACPh8B,KAAKg8B,IAAI7N,8BAIb5mB,WACE,MAYIvH,KAAKyI,MAXPouC,EADF,EACEA,UACA83H,EAFF,EAEEA,UACA/sK,EAHF,EAGEA,KACAunL,EAJF,EAIEA,OACAxiF,EALF,EAKEA,MACAyiF,EANF,EAMEA,QACAx5K,EAPF,EAOEA,IACA05K,EARF,EAQEA,MACAD,EATF,EASEA,UACA5f,EAVF,EAUEA,SACGvN,EAXL,SAcMstB,EAAa,CAAC,SAAU,QAAS,YAAY3yK,QAAQjV,IAAS,EAC9D6nL,EAAe,IAAIj1I,OAAO,MAAO,KAGjCk1I,EAAuB,WAAT9nL,EACd+nL,EAAsB,UAAT/nL,EACf2vK,EAAM3hK,IAAQ85K,GAHa,aAAT9nL,EAG2BA,EAAO,SAEpDgoL,EAAmB,eAEnBP,GACFO,EAAmB,GAAH,OAAMA,EAAN,cAChBrY,EAAM3hK,GAAO,SACJ+5K,EACTC,EAAmB,aACVF,EACTE,EAAmB,cACVJ,IAEPI,EADEN,EACiB,KAEA,oBAInBptB,EAAWh0H,MAAQuhJ,EAAax8K,KAAKivJ,EAAWh0H,QAClDu1G,GACE,oFAEF0rC,EAASjtB,EAAWh0H,YACbg0H,EAAWh0H,MAGpB,IAAMxqC,EAAUgxK,GACdjxK,GACEo5C,EACAuyI,GAAW,aACXziF,GAAS,aACTwiF,IACIO,EAAW,sBACMP,GADN,uBAEOA,IAEtBS,GAEFjb,GAsBF,OAnBY,UAAR4C,GAAoB3hK,GAAsB,oBAARA,KACpCssJ,EAAWt6J,KAAgB,WAATA,EAAoB,WAAaA,GAInDs6J,EAAW1pJ,WAET62K,GACS,WAATznL,GACe,kBAAR2vK,GACC,WAARA,IAGF9zB,GAAS,yBAAD,OACmB77I,EADnB,8EAGDs6J,EAAW1pJ,UAGb4jC,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBlgI,IAAKytI,EAAU5yH,UAAWn5C,EAAS,eAAc0rL,WAtG3EG,CAAcnzI,EAAAA,WA0GpBmzI,GAAM5iL,UAAYA,GAClB4iL,GAAMljL,aA/Ge,CACnBzE,KAAM,QAgHR,qDCrIM+E,GAAY,CAChBiJ,IAAKy/J,GACLztK,KAAM0I,GAAAA,KACN49B,KAAM59B,GAAAA,OACNusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPu/K,GAAcphL,SAAAA,GAClB,IACEouC,EAMEpuC,EANFouC,UACA83H,EAKElmK,EALFkmK,UACK4C,EAIH9oK,EAJFmH,IAEAs4B,GAEEz/B,EAHF7G,KAGE6G,EAFFy/B,MACGg0H,EANL,GAOIzzJ,EAPJ,IAQM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,cACA3O,EAAO,eAAH,OAAkBA,GAAS,MAC9BymI,GAEH,MAAmB,aAAflmK,EAAM7G,KACDw0C,EAAAA,cAAC0/H,GAAD,MAAc5Z,EAAd,CAA0BrlH,UAAWn5C,KAI5C04C,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCmsL,GAAWljL,UAAYA,GACvBkjL,GAAWxjL,aA7BU,CACnBuJ,IAAK,OA8BP,uCCxCMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPw/K,GAAkBrhL,SAAAA,GACtB,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAOM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,oBACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCosL,GAAenjL,UAAYA,GAC3BmjL,GAAezjL,aAvBM,CACnBuJ,IAAK,QAwBP,8EC7BMyiK,GAAqB/nK,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,SAE5DgoK,GAAchoK,GAAAA,UAAoB,CACtCA,GAAAA,KACAA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,MAAgB,CACd49B,KAAMmqI,GACN18J,MAAO08J,GACPvmJ,OAAQumJ,OAIN1rK,GAAY,CAChB6L,SAAUlI,GAAAA,KACVmlG,OAAQnlG,GAAAA,KACRq6J,MAAOr6J,GAAAA,KACP49B,KAAM59B,GAAAA,OACNsD,IAAKtD,GAAAA,OACLsF,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXqnK,GAAIW,GACJV,GAAIU,GACJpxJ,GAAIoxJ,GACJn9I,GAAIm9I,GACJT,GAAIS,GACJR,IAAKQ,GACLzjD,OAAQvkH,GAAAA,OAGJjE,GAAe,CACnBuJ,IAAK,QACLi/G,OAnCgB,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,QAsC3C0jD,GAAqB,SAACJ,EAAMF,EAAUC,GAC1C,OAAgB,IAAZA,GAAgC,KAAZA,EACfC,EAAO,MAAH,cAAkBF,GACR,SAAZC,EACFC,EAAO,WAAH,cAAuBF,EAAvB,SAGNE,EAAO,OAAH,OAAUD,GAAV,cAA6BD,EAA7B,YAAyCC,IAGhD6X,GAASthL,SAAAA,GACb,IACEouC,EASEpuC,EATFouC,UACA83H,EAQElmK,EARFkmK,UACAl/D,EAOEhnG,EAPFgnG,OACAof,EAMEpmH,EANFomH,OACK0iD,EAKH9oK,EALFmH,IACA+0J,EAIEl8J,EAJFk8J,MACAz8H,EAGEz/B,EAHFy/B,KACK8hJ,EAEHvhL,EAFFmF,IACGsuJ,EATL,GAUIzzJ,EAVJ,IAYMupK,EAAa,GAEnBnjD,EAAOpiH,SAAQ,SAACwlK,EAAUt0K,GACxB,IAAI80K,EAAahqK,EAAMwpK,GAIvB,UAFO/V,EAAW+V,GAEbQ,GAA6B,KAAfA,EAAnB,CAIA,IACIE,EADER,GAAQx0K,EAGd,GAAI4iF,GAASkyF,GAAa,OAClBC,EAAkBP,EAAO,IAAH,WAAaF,EAAb,KAC5BU,EAAWJ,GAAmBJ,EAAMF,EAAUQ,EAAWvqI,MAEzD8pI,EAAWh0K,KAAK0wK,GAAgBjxK,IAAU,QACvCk1K,EAAWF,EAAWvqI,MAA4B,KAApBuqI,EAAWvqI,MADF,oBAE/BwqI,GAF+B,OAEbD,EAAW98J,OAAU88J,EAAW98J,OAA8B,IAArB88J,EAAW98J,OAFvC,qBAG9B+8J,GAH8B,OAGZD,EAAW3mJ,QAAW2mJ,EAAW3mJ,QAAgC,IAAtB2mJ,EAAW3mJ,QAH1C,KAIrC6iJ,QAELgE,EAAWJ,GAAmBJ,EAAMF,EAAUQ,GAC9CT,EAAWh0K,KAAK20K,OAIpB,IAAMsX,EAAe/hJ,GAAQ8pI,EAAWn0K,OAClCqsL,IAAcvlB,GAASslB,GAEvBvsL,EAAUgxK,GAAgBjxK,GAC9Bo5C,IACA44D,GAAS,oBACTk1D,GAAQ,qBACRz8H,GAAO,kBAAH,OAAqBA,GACzB8pI,IACAiY,GAAe,mBACfC,GAAY,cACXvb,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,IAAKyY,QAASA,GAAa9tB,EAA3B,CAAuCrlH,UAAWn5C,MAItDqsL,GAAMpjL,UAAYA,GAClBojL,GAAM1jL,aAAeA,GAErB,+GC/GMM,GAAY,CAChBuK,KAAM5G,GAAAA,KACN6lF,OAAQ7lF,GAAAA,KACRkI,SAAUlI,GAAAA,KACVusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACX6/K,QAAS7/K,GAAAA,KACTyjB,KAAMzjB,GAAAA,KACNnF,KAAMmF,GAAAA,KACN8/K,OAAQ9/K,GAAAA,KACRf,OAAQe,GAAAA,KACR4lF,MAAO5lF,GAAAA,KACPsF,IAAKy/J,GACLphJ,IAAK3jB,GAAAA,MAGD+/K,GAAS5hL,SAAAA,GACb,IAgBI6hL,EAfFp5K,EAaEzI,EAbFyI,KACAi/E,EAYE1nF,EAZF0nF,OACAt5C,EAWEpuC,EAXFouC,UACA83H,EAUElmK,EAVFkmK,UACAwb,EASE1hL,EATF0hL,QACAp8J,EAQEtlB,EARFslB,KACA5oB,EAOEsD,EAPFtD,KACAilL,EAME3hL,EANF2hL,OACA7gL,EAKEd,EALFc,OACA2mF,EAIEznF,EAJFynF,MACAtgF,EAGEnH,EAHFmH,IACAqe,EAEExlB,EAFFwlB,IACGiuI,EAbL,GAcIzzJ,EAdJ,IAkBE6hL,EADEH,EACW,KACJjuB,EAAW5vI,KACP,IACJ4vI,EAAWjxH,KAAO1hC,EACd,MACJpE,EACI,KAEA,MAEf,IAAMosK,EAAM3hK,GAAO06K,EAEb5sL,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,CACE,aAAc3lC,EACd,gBAAiBi5K,EACjB,aAAcp8J,EACd,cAAemiE,EACf,YAAajiE,EACb,eAAgBkiE,EAChB,eAAgBi6F,EAChB,eAAgB7gL,EAChB,aAAcpE,EACdolL,OAAQr5K,IAASi5K,IAAYp8J,IAASmiE,IAAUjiE,IAAQkiE,IAAWi6F,IAAW7gL,IAAWpE,IAE1FwpK,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpC2sL,GAAM1jL,UAAYA,GCvDlB,SAAS05E,MAET,IAAMkkG,GAAgBj6K,GAAAA,MAAgBilK,GAAK5oK,WAErCA,GAAY,CAChByhC,UAAW99B,GAAAA,KACX8rF,SAAU9rF,GAAAA,KACVy6K,kBAAmBz6K,GAAAA,OACnB26K,mBAAoBV,GACpB/xK,SAAUlI,GAAAA,KACVusC,UAAWvsC,GAAAA,OACXg2F,UAAW8uE,GACXT,UAAWrkK,GAAAA,OACXi4F,UAAWj4F,GAAAA,MAAgB,CAAC,QAAS,MAAO,SAAU,QACtDkzK,KAAMlzK,GAAAA,KACNm/J,SAAUn/J,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,OAAkBA,GAAAA,OACnEirK,OAAQjrK,GAAAA,KACR4yK,SAAU5yK,GAAAA,KACVq6K,WAAYr6K,GAAAA,OACZkgL,oBAAqBjG,GACrBrE,SAAU51K,GAAAA,KACVwiK,QAASxiK,GAAAA,KACT4iK,OAAQ5iK,GAAAA,KACRs6K,SAAUt6K,GAAAA,KACV86K,sBAAuB96K,GAAAA,KACvB+yC,KAAM/yC,GAAAA,OACNo6K,WAAYp6K,GAAAA,KACZmrK,OAAQnrK,GAAAA,KACR+6K,UAAW/6K,GAAAA,KACX66K,eAAgB76K,GAAAA,KAChByL,OAAQzL,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,UAG3Cg7K,GAAchnL,OAAOsH,KAAKe,IAE1BN,GAAe,CACnBkvK,QAAQ,EACRntI,WAAW,EACXm6D,UAAW,QACXmiF,YAAY,EACZrnI,KAAM,SACN+4C,UAAU,EACV8mF,UAAU,EACVnnK,OAAQ,KACRynK,MAAM,EACNoH,SAAUvkG,GACV6/F,SAAU7/F,GACVmqG,oBAAqB,CACnBnuH,QAASizG,GAAmBK,WAE9BsV,mBAAoB,CAClBvZ,cAAc,EACdrvG,QAASizG,GAAmBC,MAE9B4V,gBAAgB,EAChBC,uBAAuB,EACvB9kF,UAAW,OACX+kF,WAAW,GAGP1V,GAAAA,SAAAA,uBACJn/J,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAEDwhI,SAAW,KAChB,EAAKs7C,qBAAuB,KAC5B,EAAKE,qBAAuB,EAAKA,qBAAqBtiL,KAA1B,OAC5B,EAAKuiL,oBAAsB,EAAKA,oBAAoBviL,KAAzB,OAC3B,EAAKwiL,wBAA0B,EAAKA,wBAAwBxiL,KAA7B,OAC/B,EAAKyiL,aAAe,EAAKA,aAAaziL,KAAlB,OACpB,EAAK2iL,UAAY,EAAKA,UAAU3iL,KAAf,OACjB,EAAKyhL,SAAW,EAAKA,SAASzhL,KAAd,OAChB,EAAK+8K,SAAW,EAAKA,SAAS/8K,KAAd,OAChB,EAAK4iL,sBAAwB,EAAKA,sBAAsB5iL,KAA3B,OAC7B,EAAK6iL,8BAAgC,EAAKA,8BAA8B7iL,KAAnC,OACrC,EAAKkiL,UAAY,EAAKA,UAAUliL,KAAf,OAEjB,EAAKF,MAAQ,CACXsyK,QAAQ,GAjBO,8CAqBnBz5I,WACE,MAAuC97B,KAAKyI,MAApC8sK,EAAR,EAAQA,OAAQntI,EAAhB,EAAgBA,UAAW0kI,EAA3B,EAA2BA,QAEvByI,IACFv1K,KAAKD,OACLC,KAAKk3D,SAAS,CAAEq+G,QAAQ,IACpBntI,GACFpoC,KAAKkmL,YAILpZ,GACFA,IAIFxhK,SAASxH,iBAAiB,QAAS9D,KAAKqlL,WAAW,GAEnDrlL,KAAKuiL,YAAa,oCAGpB78I,SAAmByR,EAAWsK,GAC5B,GAAIzhD,KAAKyI,MAAM8sK,SAAWp+H,EAAUo+H,OAIlC,OAHAv1K,KAAKD,YACLC,KAAKk3D,SAAS,CAAEq+G,QAAQ,IAMtBv1K,KAAKyI,MAAM2/B,WAAapoC,KAAKiD,MAAMsyK,SAAW9zH,EAAU8zH,QAC1Dv1K,KAAKkmL,WAGHlmL,KAAKiqI,UAAY9yF,EAAUphC,SAAW/V,KAAKyI,MAAMsN,SACnD/V,KAAKiqI,SAASrzH,MAAMb,OAAS/V,KAAKyI,MAAMsN,4CAI5Cm0B,WACElqC,KAAKgmL,gCAEDhmL,KAAKyI,MAAMykK,QACbltK,KAAKyI,MAAMykK,SAGTltK,KAAKiqI,WACPjqI,KAAK6gC,WACD7gC,KAAKyI,MAAM8sK,QAAUv1K,KAAKiD,MAAMsyK,SAClCv1K,KAAK40K,SAITtpK,SAAStH,oBAAoB,QAAShE,KAAKqlL,WAAW,GACtDrlL,KAAKuiL,YAAa,2BAGpB8C,SAAWc,GACT,GAAKnmL,KAAKyI,MAAM48K,WAIXrlL,KAAKiqI,UAGNjqI,KAAKomL,UAAYD,EAAGjnL,UAGpBc,KAAKyqL,eAAkB9a,EAAU2W,UAAY,GAAjD,CAKA,IAFA,IAAM9zK,EAAWxS,KAAKylL,uBAEb9nL,EAAI,EAAGA,EAAI6U,EAAS3U,OAAQF,IACnC,GAAI6U,EAAS7U,KAAOwoL,EAAGjnL,OACrB,OAGAsT,EAAS3U,OAAS,IACpBsoL,EAAGlkK,iBACHkkK,EAAGrlK,kBACHtO,EAAS,GAAG2b,kCAIhBy2J,SAAS76K,EAAMswK,GACbr6K,KAAKyI,MAAMm8K,YACV5kL,KAAKyI,MAAM+hL,oBAAoB3d,WAAaxsF,IAAMt2E,EAAMswK,2BAG3D6F,SAASn2K,GACP,IAAQo7K,EAAmBnlL,KAAKyI,MAAxB08K,eAERnlL,KAAKyI,MAAMy3K,YACVlgL,KAAKyI,MAAM+hL,oBAAoBpd,UAAY/sF,IAAMt2E,GAE9Co7K,GACFnlL,KAAK6gC,UAEP7gC,KAAK40K,QAED50K,KAAKuiL,YACPviL,KAAKk3D,SAAS,CAAEq+G,QAAQ,4BAI5B2Q,WACMlmL,KAAKomL,SAAyC,oBAAvBpmL,KAAKomL,QAAQj4J,OACtCnuB,KAAKomL,QAAQj4J,4CAIjBs3J,WACE,OAAOzlL,KAAKiqI,SAASr5F,iBAAiBwgI,GAAkB1yK,KAAK,sCAG/D6nL,WACE,IAAIC,EACEC,EAAoBzmL,KAAKylL,uBAE/B,IACEe,EAAel7K,SAAS2F,cACxB,MAAOzQ,GACPgmL,EAAeC,EAAkB,GAEnC,OAAOD,qCAITd,SAAoBv9K,GAClB,GAAIA,EAAEjJ,SAAWc,KAAK0mL,kBAAmB,CACvCv+K,EAAE2Y,kBACF,IAAMs1E,EAAWp2F,KAAK0qL,UAEtB,IAAK1qL,KAAKyI,MAAM8sK,SAAkC,IAAxBv1K,KAAKyI,MAAM2tF,SAAmB,OAEpDA,GAAYjuF,EAAEjJ,SAAWk3F,GAAYp2F,KAAKyI,MAAMgtK,QAClDz1K,KAAKyI,MAAMgtK,OAAOttK,6BAKxB29K,SAAU39K,GACR,GAAgB,IAAZA,EAAE4e,SACF/mB,KAAKyqL,eAAkB9a,EAAU2W,UAAY,GAAjD,CAEA,IAAMG,EAAoBzmL,KAAKylL,uBACzBkB,EAAiBF,EAAkB5oL,OACzC,GAAuB,IAAnB8oL,EAAJ,CAKA,IAJA,IAAMH,EAAexmL,KAAKumL,kBAEtBK,EAAe,EAEVjpL,EAAI,EAAGA,EAAIgpL,EAAgBhpL,GAAK,EACvC,GAAI8oL,EAAkB9oL,KAAO6oL,EAAc,CACzCI,EAAejpL,EACf,MAIAwK,EAAE0b,UAA6B,IAAjB+iK,GAChBz+K,EAAE8Z,iBACFwkK,EAAkBE,EAAiB,GAAGx4J,SAC5BhmB,EAAE0b,UAAY+iK,IAAiBD,EAAiB,IAC1Dx+K,EAAE8Z,iBACFwkK,EAAkB,GAAGt4J,kDAIzBw3J,SAAwBx9K,GACtBnI,KAAK0mL,kBAAoBv+K,EAAEjJ,mCAG7B0mL,SAAaz9K,GACPnI,KAAKyI,MAAM8sK,QAAUptK,EAAEkZ,UAAYyuJ,GAASC,KAAO/vK,KAAKyI,MAAMgtK,QAC5Dz1K,KAAKyI,MAAMy0K,WACb/0K,EAAE8Z,iBACF9Z,EAAE2Y,kBAEF9gB,KAAKyI,MAAMgtK,OAAOttK,wBAKxBpI,WACE,IACEC,KAAK8mL,mBAAqBx7K,SAAS2F,cACnC,MAAOzQ,GACPR,KAAK8mL,mBAAqB,KAGvB9mL,KAAKiqI,WACRjqI,KAAKiqI,SAAW3+H,SAASC,cAAc,OACvCvL,KAAKiqI,SAAS78H,aAAa,WAAY,MACvCpN,KAAKiqI,SAASrzH,MAAMxR,SAAW,WAC/BpF,KAAKiqI,SAASrzH,MAAMb,OAAS/V,KAAKyI,MAAMsN,OACxC/V,KAAK+mL,gBAAkB9tF,GAAUj5F,KAAKyI,MAAM63F,WAC5CtgG,KAAK+mL,gBAAgBzzK,YAAYtT,KAAKiqI,WAGxCjqI,KAAKulL,qBAAuBjX,KAC5BC,KAE4B,IAAxBoB,EAAU2W,WAAoBtmL,KAAKyI,MAAM2tF,WAAap2F,KAAKyI,MAAMi8K,aACnEp5K,SAAS4F,KAAK0F,MAAM4f,SAAW,UAGjCx2B,KAAKyqL,eAAiB9a,EAAU2W,UAChC3W,EAAU2W,WAAa,yBAGzBzlJ,WACM7gC,KAAKiqI,WACPjqI,KAAK+mL,gBAAgB1zK,YAAYrT,KAAKiqI,UACtCjqI,KAAKiqI,SAAW,MAGlBjqI,KAAK+lL,6DAGPA,WACE,GAAI/lL,KAAK8mL,mBAAoB,CAC3B,IAAQ1B,EAA0BplL,KAAKyI,MAA/B28K,sBACJplL,KAAK8mL,mBAAmB34J,OAASi3J,GAAuBplL,KAAK8mL,mBAAmB34J,QACpFnuB,KAAK8mL,mBAAqB,2BAI9BlS,WACE50K,KAAK+lL,wBACLpW,EAAU2W,UAAY9pK,KAAKqmC,IAAI,EAAG8sH,EAAU2W,UAAY,GAExDh7K,SAAS4F,KAAK0F,MAAM4f,SAAW,KAC/B23I,GAAkBnuK,KAAKulL,4CAGzBh+K,WAAS,WACP,EAGIvH,KAAKyI,MAFP85F,EADF,EACEA,UACA4iF,EAFF,EAEEA,eAGF,GAAMnlL,KAAKiqI,WAAajqI,KAAKiD,MAAMsyK,SAAW4P,GAAiB,CAC7D,IAAMwF,IAAsB3qL,KAAKiqI,WAAajqI,KAAKiD,MAAMsyK,SAAW4P,EACpEnlL,KAAKiqI,SAASrzH,MAAM+zB,QAAUggJ,EAAoB,OAAS,QAE3D,MASI3qL,KAAKyI,MARPouC,EADF,EACEA,UACAkuI,EAFF,EAEEA,kBACApW,EAHF,EAGEA,UACA4G,EAJF,EAIEA,OACAn/E,EALF,EAKEA,SACA/4C,EANF,EAMEA,KACAsnI,EAPF,EAOEA,WACA/tK,EARF,EAQEA,MAGIg0K,EAAsB,CAC1BtD,QAAStnL,KAAK4lL,aACdnC,UAAWzjL,KAAK8lL,UAChB,kBAAmBnB,EACnBtnI,KAAAA,EACAi7H,SAAU,MAGNiP,EAAgBvnL,KAAKyI,MAAM+0K,KAC3BgN,EAAsB,GAAH,SACpBjb,GAAKlpK,cACLrG,KAAKyI,MAAM+hL,qBAFS,IAGvBvR,UAAWsO,EAAgBvnL,KAAKyI,MAAM+hL,oBAAoBvR,UAAY,GACtE58G,QAASkrH,EAAgBvnL,KAAKyI,MAAM+hL,oBAAoBnuH,QAAU,IAE9D4oH,EAAqB,GAAH,SACnB1V,GAAKlpK,cACLrG,KAAKyI,MAAMw8K,oBAFQ,IAGtBhM,UAAWsO,EAAgBvnL,KAAKyI,MAAMw8K,mBAAmBhM,UAAY,GACrE58G,QAASkrH,EAAgBvnL,KAAKyI,MAAMw8K,mBAAmB5oH,QAAU,IAG7DmrH,EAAWpxF,IACfmxF,EACGnxI,EAAAA,cAACm5H,GAAD,MACK0V,EADL,CAECzZ,GAAI+J,KAAYn/E,EAChBqzE,SAAW7+J,SAAAA,GACT,EAAK8/K,UAAY9/K,GAEnB+jK,UAAWA,EACX93H,UAAW63H,GAAgBjxK,GAAW,qBAAsBsnL,GAAoBpW,GAChF3mI,QAAShoC,KAAK0lL,oBACd/rH,YAAa35D,KAAK2lL,2BAElBvvI,EAAAA,cAAAA,MAAAA,CACES,UAAW63H,GAAgBjxK,GAAW,qBAAsB,OAAQsnL,GAAoBpW,GACxF3mI,QAAShoC,KAAK0lL,oBACd/rH,YAAa35D,KAAK2lL,2BAIpBzpB,EAAa0S,GAAK5uK,KAAKyI,MAAO68K,IAEpC,OACElvI,EAAAA,cAACrB,GAAD,CAAQhrC,KAAM/J,KAAKiqI,UACjB7zF,EAAAA,cAACm5H,GAAD,MACMrT,EACA0uB,EACAJ,EAHN,CAIEhf,GAAI+J,EACJ1I,UAAW7sK,KAAK4kL,SAChBxX,SAAUptK,KAAKkgL,SACfvR,UAAWA,EACX93H,UAAW63H,GAAgBjxK,GAAW,YAAao5C,EAAd,oBACtB0rD,IACZosE,GACHlF,SAAW7+J,SAAAA,GACT,EAAKw7K,QAAUx7K,GAEjBgM,MAAK,SACAA,GADA,IAEHi0K,WAAYtV,EAAS,UAAY,aAGlCv1K,KAAKyI,MAAM+J,UAEbg1K,GAIP,OAAO,kDAGTxB,WACMhmL,KAAK6mL,4BACPp0J,aAAazyB,KAAK6mL,2BAClB7mL,KAAK6mL,+BAA4B3lL,SApWjCyuK,CAAkBv5H,EAAAA,WAyWxBu5H,GAAUhpK,UAAYA,GACtBgpK,GAAUtpK,aAAeA,GACzBspK,GAAU2W,UAAY,EAEtB,uCCtbM3/K,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPwgL,GAAiBriL,SAAAA,GACrB,IACEouC,EAGkBpuC,EAHlBouC,UACA83H,EAEkBlmK,EAFlBkmK,UACK4C,EACa9oK,EADlBmH,IACGssJ,EAJL,GAIoBzzJ,EAJpB,IAKM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,kBACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCotL,GAAcnkL,UAAYA,GAC1BmkL,GAAczkL,aArBO,CACnBuJ,IAAK,OAsBP,8FC7BMjJ,GAAY,CAChB6L,SAAUlI,GAAAA,KACVusC,UAAWvsC,GAAAA,OACXsqK,MAAOtqK,GAAAA,OACPo9K,eAAgBp9K,GAAAA,OAChBqkK,UAAWrkK,GAAAA,OACXsF,IAAKy/J,GACLoG,OAAQnrK,GAAAA,KACRm9K,QAASpY,IASL0b,GAAmBtiL,SAAAA,GACvB,IAAIm/K,EAEFp1K,EAQkB/J,EARlB+J,SACAqkC,EAOkBpuC,EAPlBouC,UACA+9H,EAMkBnsK,EANlBmsK,MACA8S,EAKkBj/K,EALlBi/K,eACA/Y,EAIkBlmK,EAJlBkmK,UACK4C,EAGa9oK,EAHlBmH,IACA6lK,EAEkBhtK,EAFlBgtK,OACSoS,EACSp/K,EADlBg/K,QACGvrB,EATL,GASoBzzJ,EATpB,IAWM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,oBACC83H,GAQH,OANKiG,GAASa,IACZmS,EACExxI,EAAAA,cAAAA,SAAAA,CAAQx0C,KAAK,SAASomC,QAASytI,EAAQ5+H,UAAW63H,GAAgB,YAAaC,GAAY,aAAY+Y,KAKzGtxI,EAAAA,cAACyxI,EAAD,MAAa3rB,EAAb,CAAyBrlH,UAAWn5C,IAClC04C,EAAAA,cAACm7H,EAAD,CAAK16H,UAAW63H,GAAgB,kBAAmBC,IAChDn8J,GAEFoiK,GAASgT,IAKhBmD,GAAgBpkL,UAAYA,GAC5BokL,GAAgB1kL,aAzCK,CACnBqhL,eAAgB,QAChB93K,IAAK,KACL63K,QAAS,OAwCX,qFCtDM9gL,GAAY,CAChB6L,SAAUlI,GAAAA,KACVusC,UAAWvsC,GAAAA,OACX6pK,cAAe7pK,GAAAA,OACfqkK,UAAWrkK,GAAAA,OACX49B,KAAM59B,GAAAA,OACNsF,IAAKy/J,GACL6E,QAAS7E,GACT,aAAc/kK,GAAAA,QASV0gL,GAAcviL,SAAAA,GAClB,IACEouC,EAQEpuC,EARFouC,UACAs9H,EAOE1rK,EAPF0rK,cACAxF,EAMElmK,EANFkmK,UACAzmI,EAKEz/B,EALFy/B,KACKqpI,EAIH9oK,EAJFmH,IACSykK,EAGP5rK,EAHFyrK,QACchkE,EAEZznG,EAFF,cACGyzJ,EARL,GASIzzJ,EATJ,IAWM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,GACC83H,GAEG2F,EAAc5F,GAAgBjxK,GAClC02K,EACA,aAF4C,2BAI3BjsI,KAAWA,IAE3BymI,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,CAAK16H,UAAWn5C,EAAS,aAAYwyG,GACnC95D,EAAAA,cAACi+H,EAAD,MAAanY,EAAb,CAAyBrlH,UAAWy9H,OAK1C0W,GAAWrkL,UAAYA,GACvBqkL,GAAW3kL,aAtCU,CACnBuJ,IAAK,MACLskK,QAAS,KACT,aAAc,cAqChB,2DCnDMvtK,GAAY,CAChB+oF,OAAQplF,GAAAA,KACRkI,SAAUlI,GAAAA,KACVusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACX+H,SAAU/H,GAAAA,KACVsF,IAAKy/J,IAOD4b,GAAkBxiL,SAAAA,GACtB,IACEinF,EAMEjnF,EANFinF,OACA74C,EAKEpuC,EALFouC,UACA83H,EAIElmK,EAJFkmK,UACAt8J,EAGE5J,EAHF4J,SACKk/J,EAEH9oK,EAFFmH,IACGssJ,EANL,GAOIzzJ,EAPJ,IASM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,YACA,CACE64C,OAAAA,EACAr9E,SAAAA,IAEDs8J,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCutL,GAAetkL,UAAYA,GAC3BskL,GAAe5kL,aA7BM,CACnBuJ,IAAK,MA8BP,wECxCMjJ,GAAY,CAChB,aAAc2D,GAAAA,OACdkI,SAAUlI,GAAAA,KACVusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXguB,KAAMhuB,GAAAA,KACN+qF,SAAU/qF,GAAAA,KACVs9G,MAAOt9G,GAAAA,KACP+8B,KAAM/8B,GAAAA,KACNsF,IAAKy/J,IAOD6b,GAAkBziL,SAAAA,GACtB,IAgBI0iL,EAfFt0I,EAQEpuC,EARFouC,UACA83H,EAOElmK,EAPFkmK,UACAr2I,EAME7vB,EANF6vB,KACA+8D,EAKE5sF,EALF4sF,SACAuyB,EAIEn/G,EAJFm/G,MACAvgF,EAGE5+B,EAHF4+B,KACKkqI,EAEH9oK,EAFFmH,IACGssJ,EARL,GASIzzJ,EATJ,IAWM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,aACC83H,GAGCt5E,EACF81F,EAAmB,WACV7yJ,EACT6yJ,EAAmB,OACVvjE,EACTujE,EAAmB,QACV9jJ,IACT8jJ,EAAmB,QAGrB,IAEIC,EAFEtW,EAAYrsK,EAAM,eAAiB0iL,EAGrC91F,EACF+1F,EAAe,SACN9yJ,EACT8yJ,EAAe,SACNxjE,EACTwjE,EAAe,OACN/jJ,IACT+jJ,EAAe,QAGjB,IAAI54K,EAAW/J,EAAM+J,SA0BrB,OAzBIA,GAAYvU,MAAMC,QAAQsU,IAAiC,IAApBA,EAAS3U,SAClD2U,EAAW,MAGR0pJ,EAAW5vI,MAAgB,MAARilJ,IACtBA,EAAM,WAGJl8E,GAAY/8D,GAAQsvF,GAASvgF,KAC/B70B,EAAW,CACT4jC,EAAAA,cAAAA,OAAAA,CACE,cAAY,OACZ53C,IAAI,SAEHgU,GAAY44K,GAEfh1I,EAAAA,cAAAA,OAAAA,CACES,UAAU,kBACVr4C,IAAI,aAEHs2K,KAML1+H,EAAAA,cAACm7H,EAAD,MACMrV,EADN,CAEErlH,UAAWn5C,EACX,aAAYo3K,IAEXtiK,IAKP04K,GAAevkL,UAAYA,GAC3BukL,GAAe7kL,aAnFM,CACnBuJ,IAAK,KAoFP,IC9Fay7K,GAAaj1I,EAAAA,cAAoB,ICDxCzvC,GAAY,CAChBiJ,IAAKy/J,GACLic,UAAWhhL,GAAAA,IACXusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAQPihL,GAAAA,SAAAA,uBASJ/6K,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IACDxF,MAAQ,CACXqoL,UAAW,EAAK7iL,MAAM6iL,WAHP,mCAOnB/jL,WACE,MAIIvH,KAAKyI,MAHPouC,EADF,EACEA,UACA83H,EAFF,EAEEA,UACK4C,EAHP,EAGE3hK,IAGIssJ,EAAa0S,GAAK5uK,KAAKyI,MAAOnK,OAAOsH,KAAKe,KAE1CjJ,EAAUgxK,GAAgBjxK,GAAW,cAAeo5C,GAAY83H,GAEtE,OACEv4H,EAAAA,cAACi1I,GAAWptH,SAAZ,CAAqBp+D,MAAO,CAAC2rL,YAAaxrL,KAAKiD,MAAMqoL,YACnDl1I,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,gDA5BP,SAACygL,EAAW18H,GACzC,OAAIA,EAAU6pI,YAAcnN,EAAUmN,UAC7B,CACLA,UAAWnN,EAAUmN,WAGlB,WAPLC,CAAmBjxJ,EAAAA,WAqCzBixJ,GAAW5kL,UAAYA,GACvB4kL,GAAWllL,aA3CU,CACnBuJ,IAAK,sDCTDjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXmhL,MAAOnhL,GAAAA,KAOM,SAASohL,GAAQjjL,GAC9B,IACEouC,EAKEpuC,EALFouC,UACA83H,EAIElmK,EAJFkmK,UACA8c,EAGEhjL,EAHFgjL,MACKla,EAEH9oK,EAFFmH,IACGssJ,EALL,GAMIzzJ,EANJ,IAOMkjL,EAAcH,SAAAA,GAAD,OAAiB9c,GAAgBjxK,GAAW,WAAYo5C,EAAW,CAAE64C,OAAQ+7F,IAAUD,IAAgB7c,IAC1H,OACEv4H,EAAAA,cAACi1I,GAAWntH,SAAZ,MACG,gBAAEstH,EAAF,EAAEA,YAAF,OAAmBp1I,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAW80I,EAAWH,SAIrEE,GAAQ/kL,UAAYA,GACpB+kL,GAAQrlL,aApBa,CACnBuJ,IAAK,oJCRDjJ,GAAY,CAChB6L,SAAUlI,GAAAA,KACVusC,UAAWvsC,GAAAA,OACXshL,eAAgBthL,GAAAA,OAChBo9K,eAAgBp9K,GAAAA,OAChBqkK,UAAWrkK,GAAAA,OACX+e,MAAO/e,GAAAA,OACPkzK,KAAMlzK,GAAAA,KACNirK,OAAQjrK,GAAAA,KACRmrK,OAAQnrK,GAAAA,KACRsF,IAAKy/J,GACL7uJ,WAAYlW,GAAAA,MAAgBilK,GAAK5oK,WACjC8iK,SAAUn/J,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,QAIEjE,GAAe,CACnBgjB,MAAO,UACPksJ,QAAQ,EACR3lK,IAAK,MACL83K,eAAgB,QAChBlK,MAAM,EACNh9J,WAAY,GAAF,MACL+uJ,GAAKlpK,cADA,IAERolK,eAAe,KAInB,SAASogB,GAAMpjL,GACb,IACEouC,EAaEpuC,EAbFouC,UACA+0I,EAYEnjL,EAZFmjL,eACAlE,EAWEj/K,EAXFi/K,eACA/Y,EAUElmK,EAVFkmK,UACK4C,EASH9oK,EATFmH,IACAyZ,EAQE5gB,EARF4gB,MACAksJ,EAOE9sK,EAPF8sK,OACAE,EAMEhtK,EANFgtK,OACAjjK,EAKE/J,EALF+J,SACAgO,EAIE/X,EAJF+X,WACAg9J,EAGE/0K,EAHF+0K,KACA/T,EAEEhhK,EAFFghK,SACGvN,EAbL,GAcIzzJ,EAdJ,IAgBM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,QAFwC,gBAG/BxtB,GACT,CAAE,oBAAqBosJ,IACtB9G,GAEGmd,EAAepd,GAAgBjxK,GAAW,YAAamuL,GAAiBjd,GAExEod,EAAkB,GAAH,SAChBxc,GAAKlpK,cACLma,GAFgB,IAGnBy4J,UAAWuE,EAAOh9J,EAAWy4J,UAAY,GACzC58G,QAASmhH,EAAOh9J,EAAW67C,QAAU,IAGvC,OACEjmB,EAAAA,cAACm5H,GAAD,MAAUrT,EAAgB6vB,EAA1B,CAA2Cn8K,IAAK2hK,EAAK16H,UAAWn5C,EAAS8tK,GAAI+J,EAAQl4H,KAAK,QAAQosH,SAAUA,IACzGgM,EACCr/H,EAAAA,cAAAA,SAAAA,CAAQx0C,KAAK,SAASi1C,UAAWi1I,EAAc,aAAYpE,EAAgB1/I,QAASytI,IAClF,KACHjjK,GAKPq5K,GAAMllL,UAAYA,GAClBklL,GAAMxlL,aAAeA,6FC3EfM,GAAY,CAChB6L,SAAUlI,GAAAA,KACVusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXkzK,KAAMlzK,GAAAA,KACNirK,OAAQjrK,GAAAA,KACRsF,IAAKy/J,GACL7uJ,WAAYlW,GAAAA,MAAgBilK,GAAK5oK,WACjC8iK,SAAUn/J,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,QAIEjE,GAAe,CACnBkvK,QAAQ,EACR3lK,IAAK,MACL4tK,MAAM,EACNh9J,WAAY,GAAF,MACL+uJ,GAAKlpK,cADA,IAERolK,eAAe,KAInB,SAASugB,GAAMvjL,GACb,IACEouC,EASEpuC,EATFouC,UACA83H,EAQElmK,EARFkmK,UACK4C,EAOH9oK,EAPFmH,IACA2lK,EAME9sK,EANF8sK,OACA/iK,EAKE/J,EALF+J,SACAgO,EAIE/X,EAJF+X,WACAg9J,EAGE/0K,EAHF+0K,KACA/T,EAEEhhK,EAFFghK,SACGvN,EATL,GAUIzzJ,EAVJ,IAYM/K,EAAUgxK,GAAgBjxK,GAAWo5C,EAAW,SAAU83H,GAE1Dsd,EAAkB,GAAH,SAChB1c,GAAKlpK,cACLma,GAFgB,IAGnBy4J,UAAWuE,EAAOh9J,EAAWy4J,UAAY,GACzC58G,QAASmhH,EAAOh9J,EAAW67C,QAAU,IAGvC,OACEjmB,EAAAA,cAACm5H,GAAD,MAAUrT,EAAgB+vB,EAA1B,CAA2Cr8K,IAAK2hK,EAAK16H,UAAWn5C,EAAS8tK,GAAI+J,EAAQl4H,KAAK,QAAQosH,SAAUA,IACzGj3J,GAKPw5K,GAAMrlL,UAAYA,GAClBqlL,GAAM3lL,aAAeA,qDCxDfM,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXm/J,SAAUn/J,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,QAQE4hL,GAAazjL,SAAAA,GACjB,IACEouC,EAKEpuC,EALFouC,UACA83H,EAIElmK,EAJFkmK,UACAlF,EAGEhhK,EAHFghK,SACK8H,EAEH9oK,EAFFmH,IACGssJ,EALL,GAMIzzJ,EANJ,IAOM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,cACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,EAASs+B,IAAKytI,MAIlDyiB,GAAUvlL,UAAYA,GACtBulL,GAAU7lL,aAvBW,CACnBuJ,IAAK,OAwBP,oHCpCMjJ,GAAY,CAChBiJ,IAAKy/J,GACL8c,KAAM7hL,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,OAC7Cm9K,QAASpY,GACToG,OAAQnrK,GAAAA,KACRusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXkI,SAAUlI,GAAAA,KACVo9K,eAAgBp9K,GAAAA,OAChBgX,SAAUhX,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,SACjDsqK,MAAOtqK,GAAAA,QAUH8hL,GAAe3jL,SAAAA,GACnB,IAAIm/K,EACAuE,EAEFt1I,EAUkBpuC,EAVlBouC,UACA83H,EASkBlmK,EATlBkmK,UACAn8J,EAQkB/J,EARlB+J,SACAijK,EAOkBhtK,EAPlBgtK,OACKlE,EAMa9oK,EANlBmH,IACSi4K,EAKSp/K,EALlBg/K,QACAC,EAIkBj/K,EAJlBi/K,eACA9S,EAGkBnsK,EAHlBmsK,MACAyX,EAEkB5jL,EAFlB4jL,aACMC,EACY7jL,EADlB0jL,KACGjwB,EAXL,GAWoBzzJ,EAXpB,IAaM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,gBACC83H,GA0BH,OAxBKiG,GAASa,IACZmS,EACExxI,EAAAA,cAAAA,SAAAA,CAAQx0C,KAAK,SAASomC,QAASytI,EAAQ5+H,UAAW63H,GAAgB,YAAaC,GAAY,aAAY+Y,KAInF,kBAAb4E,EACTH,EACE/1I,EAAAA,cAAAA,MAAAA,CACES,UAAW63H,GAAgB,gBAAD,OAAiB4d,IAC3CplK,MAAM,KACNC,OAAO,KACPolK,MAAM,6BACNC,oBAAoB,iBACpBC,UAAU,QACVpvI,KAAK,OAELjH,EAAAA,cAAAA,OAAAA,CAAM0b,KAAK,eAAe5qC,MAAM,OAAOC,OAAO,UAGzCmlK,IACTH,EAAOG,GAIPl2I,EAAAA,cAACyxI,EAAD,MAAa3rB,EAAb,CAAyBrlH,UAAWn5C,IACjCyuL,EACD/1I,EAAAA,cAACm7H,EAAD,CAAK16H,UAAW63H,GAAgBjxK,GAAW4uL,EAAc,CAAE,OAAgB,MAARF,IAAiBxd,IACjFn8J,GAEFoiK,GAASgT,IAKhBwE,GAAYzlL,UAAYA,GACxBylL,GAAY/lL,aAhES,CACnBuJ,IAAK,SACL63K,QAAS,MACT4E,aAAc,UACd3E,eAAgB,SA8DlB,4EC/EM/gL,GAAY,CAChBiJ,IAAKy/J,GACL3/E,OAAQplF,GAAAA,KACR+H,SAAU/H,GAAAA,KACV+e,MAAO/e,GAAAA,OACPm1B,OAAQn1B,GAAAA,KACRusC,UAAWvsC,GAAAA,IACXqkK,UAAWrkK,GAAAA,QAOPoiL,GAAyBvkL,SAAAA,GAC7BA,EAAE8Z,kBAGE0qK,GAAiBlkL,SAAAA,GACrB,IACEouC,EAQEpuC,EARFouC,UACA83H,EAOElmK,EAPFkmK,UACK4C,EAMH9oK,EANFmH,IACA8/E,EAKEjnF,EALFinF,OACAr9E,EAIE5J,EAJF4J,SACAotB,EAGEh3B,EAHFg3B,OACApW,EAEE5gB,EAFF4gB,MACG6yI,EARL,GASIzzJ,EATJ,IAUM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,IACA64C,GAAS,WACTr9E,GAAW,aACXotB,GAAS,2BACTpW,GAAQ,mBAAH,OAAsBA,GAC3B,mBACCslJ,GAMH,OAHIt8J,IACF6pJ,EAAWl0H,QAAU0kJ,IAGrBt2I,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCivL,GAAchmL,UAAYA,GAC1BgmL,GAActmL,aAtCO,CACnBuJ,IAAK,MAuCP,uCClDMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,IACXqkK,UAAWrkK,GAAAA,QAOPsiL,GAAwBnkL,SAAAA,GAC5B,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAMM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,2BACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCkvL,GAAqBjmL,UAAYA,GACjCimL,GAAqBvmL,aAtBA,CACnBuJ,IAAK,MAuBP,uCC9BMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,IACXqkK,UAAWrkK,GAAAA,QAOPuiL,GAAqBpkL,SAAAA,GACzB,IACEouC,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAMM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,wBACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,MAIpCmvL,GAAkBlmL,UAAYA,GAC9BkmL,GAAkBxmL,aAtBG,CACnBuJ,IAAK,KAuBP,8CC9BMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACX1I,KAAM0I,GAAAA,QAOFwiL,IAAOvuH,EAAAA,EAAAA,aAAW,SAAC91D,EAAOuzB,GAC9B,IACE6a,EAKEpuC,EALFouC,UACA83H,EAIElmK,EAJFkmK,UACK4C,EAGH9oK,EAHFmH,IACAhO,EAEE6G,EAFF7G,KACGs6J,EALL,GAMIzzJ,EANJ,IAOM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,IACAj1C,GAAO,QAAH,OAAWA,IACd+sK,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,EAASs+B,IAAKA,QAIlD8wJ,GAAK3sL,KAAO,OACZ2sL,GAAKnmL,UAAYA,GACjBmmL,GAAKzmL,aAxBe,CAClBuJ,IAAK,MAyBP,uCCjCMjJ,GAAY,CAChBiJ,IAAKy/J,GACLx4H,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,QAOPyiL,IAAiBxuH,EAAAA,EAAAA,aAAW,SAAC91D,EAAOuzB,GACxC,IACE6a,EAIEpuC,EAJFouC,UACA83H,EAGElmK,EAHFkmK,UACK4C,EAEH9oK,EAFFmH,IACGssJ,EAJL,GAKIzzJ,EALJ,IAMM/K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACA,oBACC83H,GAEH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASrV,EAAT,CAAqBrlH,UAAWn5C,EAASs+B,IAAKA,QAIlD+wJ,GAAe5sL,KAAO,iBACtB4sL,GAAepmL,UAAYA,GAC3BomL,GAAe1mL,aAvBK,CAClBuJ,IAAK,MCTyB0qB,EAAAA,UDiChC,IE/BMu0I,GAAW,CAAC,gBAEGme,SAAAA,uBACnBx8K,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAEDxF,MAAQ,CAAEsyK,OAAQ9sK,EAAMgxK,cAAe,GAC5C,EAAKhE,OAAS,EAAKA,OAAOtyK,KAAZ,OAJG,mCAOnBsyK,WACEz1K,KAAKk3D,SAAS,CAAEq+G,QAASv1K,KAAKiD,MAAMsyK,+BAGtChuK,WACE,OAAO6uC,EAAAA,cAAC2hI,GAAD,IAAgBxC,OAAQv1K,KAAKiD,MAAMsyK,OAAQE,OAAQz1K,KAAKy1K,QAAY7G,GAAK5uK,KAAKyI,MAAOomK,YAb3Eme,CAAmC1yJ,EAAAA,YAiB7B3zB,UAA3BqmL,GAAAA,CACEvT,YAAanvK,GAAAA,MACVytK,GAAepxK,WCrBpB,IAAMkoK,GAAW,CAAC,eAAgB,eAE5BloK,GAAY,CAChB8yK,YAAanvK,GAAAA,KACb2iL,QAAS3iL,GAAAA,OAAAA,WACT4iL,aAAc5iL,GAAAA,QAAkBA,GAAAA,SAG5BjE,GAAe,CACnB6mL,aAAclc,IAGVmc,GAAAA,SAAAA,uBACJ38K,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAED2kL,SAAW,KAChB,EAAKC,qBAAuB,KAC5B,EAAK5X,OAAS,EAAKA,OAAOtyK,KAAZ,OAEd,EAAKF,MAAQ,CAAEsyK,OAAQ9sK,EAAMgxK,cAAe,GAP3B,8CAUnB39I,WACE97B,KAAKotL,SAAWzc,GAAgB3wK,KAAKyI,MAAMwkL,SACvCjtL,KAAKotL,SAASvvL,SAChBmC,KAAKqtL,qBAAuBpc,GAC1BjxK,KAAKotL,SACLptL,KAAKy1K,OACLz1K,KAAKyI,MAAMykL,mDAKjBhjJ,WACMlqC,KAAKotL,SAASvvL,QAAUmC,KAAKqtL,sBAC/BrtL,KAAKqtL,6CAIT5X,SAAOttK,GACLnI,KAAKk3D,UAAS,kBAAiB,CAAEq+G,QAAnB,EAAGA,WACjBptK,EAAE8Z,uCAGJ1a,WACE,OAAO6uC,EAAAA,cAACo5H,GAAD,IAAU+F,OAAQv1K,KAAKiD,MAAMsyK,QAAY3G,GAAK5uK,KAAKyI,MAAOomK,YAlC/Dse,CAA6B7yJ,EAAAA,WAsCnC6yJ,GAAqBxmL,UAAYA,GACjCwmL,GAAqB9mL,aAAeA,GAEpC,ICrDMwoK,GAAW,CAAC,gBAEGye,SAAAA,uBACnB98K,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAEDxF,MAAQ,CAAEsyK,OAAQ9sK,EAAMgxK,cAAe,GAC5C,EAAKhE,OAAS,EAAKA,OAAOtyK,KAAZ,OAJG,mCAOnBsyK,SAAOttK,GAAG,WACFotK,GAAUv1K,KAAKiD,MAAMsyK,OAC3Bv1K,KAAKk3D,SAAS,CAAEq+G,OAAAA,IAAU,WACpB,EAAK9sK,MAAM8kL,UACb,EAAK9kL,MAAM8kL,SAASplL,EAAGotK,4BAK7BhuK,WACE,OAAO6uC,EAAAA,cAAC0/H,GAAD,IAAUP,OAAQv1K,KAAKiD,MAAMsyK,OAAQE,OAAQz1K,KAAKy1K,QAAY7G,GAAK5uK,KAAKyI,MAAOomK,YAlBrEye,CAA6BhzJ,EAAAA,YAsB7B3zB,UAArB2mL,GAAAA,CACE7T,YAAanvK,GAAAA,KACbijL,SAAUjjL,GAAAA,MACPwrK,GAASnvK,WC3Bd,IAAMkoK,GAAW,CAAC,gBAEG2e,SAAAA,uBACnBh9K,SAAAA,EAAY/H,GAAO,wBACjB,cAAMA,IAEDxF,MAAQ,CAAEsyK,OAAQ9sK,EAAMgxK,cAAe,GAC5C,EAAKhE,OAAS,EAAKA,OAAOtyK,KAAZ,OAJG,mCAOnBsyK,WACEz1K,KAAKk3D,SAAS,CAAEq+G,QAASv1K,KAAKiD,MAAMsyK,+BAGtChuK,WACE,OAAO6uC,EAAAA,cAACi4F,GAAD,IAASknC,OAAQv1K,KAAKiD,MAAMsyK,OAAQE,OAAQz1K,KAAKy1K,QAAY7G,GAAK5uK,KAAKyI,MAAOomK,YAbpE2e,CAA4BlzJ,EAAAA,YAiB7B3zB,UAApB6mL,GAAAA,CACE/T,YAAanvK,GAAAA,MACV+jI,GAAQ1nI,mFCrBPA,GAAY,CAChBiJ,IAAKy/J,GACLztK,KAAM0I,GAAAA,OACN49B,KAAM59B,GAAAA,OACN+e,MAAO/e,GAAAA,OACPusC,UAAWvsC,GAAAA,OACXqkK,UAAWrkK,GAAAA,OACXkI,SAAUlI,GAAAA,QASNmjL,GAAUhlL,SAAAA,GACd,IACEouC,EAQEpuC,EARFouC,UACA83H,EAOElmK,EAPFkmK,UACA/sK,EAME6G,EANF7G,KACAsmC,EAKEz/B,EALFy/B,KACA7e,EAIE5gB,EAJF4gB,MACA7W,EAGE/J,EAHF+J,SACK++J,EAEH9oK,EAFFmH,IACGssJ,EARL,GASIzzJ,EATJ,IAWM/K,EAAUgxK,GACdjxK,GACEo5C,IACA3O,GAAO,WAAH,OAActmC,EAAd,YAAsBsmC,GAFlB,kBAGGtmC,KACXynB,GAAQ,QAAH,OAAWA,IAElBslJ,GAGF,OACEv4H,EAAAA,cAACm7H,EAAD,IAAKl0H,KAAK,UAAa6+G,EAAvB,CAAmCrlH,UAAWn5C,IAC3C8U,GACC4jC,EAAAA,cAAAA,OAAAA,CAAMS,UAAW63H,GAAgB,kBAAmBC,IACjDn8J,KAOXi7K,GAAQ9mL,UAAYA,GACpB8mL,GAAQpnL,aAxCa,CACnBuJ,IAAK,MACLhO,KAAM,SACN4Q,SAAU,cAuCZ,sFCnDM7L,GAAY,GAAH,MACVisK,GAAIjsK,WADM,IAEb0iB,MAAO/e,GAAAA,OACPsF,IAAKy/J,GACLlgJ,UAAW7kB,GAAAA,MAAgB,CAAC,OAAQ,SACpCm/J,SAAUn/J,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,KAAgBA,GAAAA,SACjE49B,KAAM59B,GAAAA,MAAgB,CAAC,KAAM,KAAM,SAO/BojL,GAAejlL,SAAAA,GACnB,IACEouC,EASEpuC,EATFouC,UACA83H,EAQElmK,EARFkmK,UACAtlJ,EAOE5gB,EAPF4gB,MACAogJ,EAMEhhK,EANFghK,SACK8H,EAKH9oK,EALFmH,IACAuf,EAIE1mB,EAJF0mB,UACA+Y,EAGEz/B,EAHFy/B,KACA2mF,EAEEpmH,EAFFomH,OACGqtC,EATL,GAUIzzJ,EAVJ,IAYA,EAAqD+pK,GAAiBtW,EAAYyS,EAAW9/C,GAA3EgkD,EAAlB,EAAM3W,WAAgC8V,EAAtC,EAAsCA,WAEhCt0K,EAAUgxK,GAAgBjxK,GAC9Bo5C,EACAm7H,EACA,eAAiB7iJ,EAAY,IAAIA,EAAY,MAC7C+Y,GAAO,eAAgBA,IACvB7e,GAAQ,MAAMA,GACbslJ,GAIH,OACEv4H,EAAAA,cAACm7H,EAAD,MAASsB,EAAT,CAA6Bh8H,UAAWn5C,EAASs+B,IAAKytI,MAI1DikB,GAAY/mL,UAAYA,GACxB+mL,GAAYrnL,aAnCS,CACnBuJ,IAAK,QAoCP,uCC7CMjJ,GAAY,CAChBuhC,KAAM59B,GAAAA,OACN+e,MAAO/e,GAAAA,OACPqqK,QAASrqK,GAAAA,KACTusC,UAAWvsC,GAAAA,OACXsF,IAAKy/J,IAGDhpK,GAAe,CACnBgjB,MAAO,UACPzZ,IAAKilK,IAGD8Y,GAAqBllL,SAAAA,GACzB,IACEkmK,EAIElmK,EAJFkmK,UACA93H,EAGEpuC,EAHFouC,UAEGqlH,GACDzzJ,EAFFmH,IAHF,GAKInH,EALJ,KAOA,EAAqD+pK,GAAiBtW,EAAYyS,GAAhEkE,EAAlB,EAAM3W,WAAgC8V,EAAtC,EAAsCA,WAEhCt0K,EAAUgxK,GAAgBjxK,GAC9B,cACAo5C,EACAm7H,GACCrD,GAEH,OACEv4H,EAAAA,cAACy+H,GAAD,MAAYhC,EAAZ,CAAgCh8H,UAAWn5C,EAAS2U,UAAU,MAIlEs7K,GAAkBhnL,UAAYA,GAC9BgnL,GAAkBtnL,aAAeA,IC1CjC,WACE,GAAuB,kBAAXgF,QAAqD,oBAAvBA,OAAOowK,YAAjD,CASApwK,OAAOowK,YAPc,SAAEpxJ,EAAOwhD,GAC5BA,EAASA,GAAU,CAAEnpD,SAAS,EAAOC,YAAY,EAAOQ,OAAQ,MAChE,IAAI85J,EAAM3xK,SAASsiL,YAAa,eAEhC,OADA3Q,EAAI4Q,gBAAiBxjK,EAAOwhD,EAAOnpD,QAASmpD,EAAOlpD,WAAYkpD,EAAO1oD,QAC/D85J,IAPX,GAaA,WACE,GAA8B,oBAAlB3+K,OAAOmlD,OAAnB,CAIAnlD,OAAOmlD,OAFWrlB,SAAAA,GAAD,OAAO9/B,OAAOsH,KAAKw4B,GAAG+a,KAAK36C,SAAAA,GAAD,OAAS4/B,EAAE5/B,QAHxD,OCPMsvL,GAAiB,CACnB,CAAEjuL,MAAO,KAAMqwG,MAAO,MAAO69E,KAAM,MACnC,CAAEluL,MAAO,KAAMqwG,MAAO,MAAO69E,KAAM,OAuQvC,GAnQkB,WACd,SAAsCprJ,EAAAA,EAAAA,UAAS,IAA/C,GAAOqrJ,EAAP,KAAoBC,EAApB,KACA,KAA8CtrJ,EAAAA,EAAAA,UAASmrJ,GAAe,IAAtE,GAAOI,EAAP,KAAwBC,EAAxB,KACA,KAAkCxrJ,EAAAA,EAAAA,UAAS,IAA3C,GAAOyrJ,EAAP,KAAkBC,EAAlB,KACA,KAAkC1rJ,EAAAA,EAAAA,WAAS,GAA3C,GAAO2rJ,EAAP,KAAkBC,EAAlB,KACA,KAAsB5rJ,EAAAA,EAAAA,UAAS,IAAI1kC,MAAM,GAAG6zD,KAAK,KAAjD,GAAO08H,EAAP,KAAYC,EAAZ,KACA,KAAkC9rJ,EAAAA,EAAAA,UAAS,IAA3C,GAAO+rJ,EAAP,KAAkBC,EAAlB,KACA,KAAgDhsJ,EAAAA,EAAAA,WAAS,GAAzD,GAAOisJ,EAAP,KAAyBC,EAAzB,KACA,KAAoClsJ,EAAAA,EAAAA,UAAS,IAA7C,GAAOmsJ,EAAP,KAAmBC,EAAnB,KACA,KAAgCpsJ,EAAAA,EAAAA,UAAS,IAAzC,GAAOqsJ,EAAP,KAAiBC,EAAjB,KACA,KAAsCtsJ,EAAAA,EAAAA,UAAS,GAA/C,GAAOusJ,EAAP,KAAoBC,EAApB,KACA,EAAoBnuC,KAAZpwH,EAAR,EAAQA,EAAR,EAAWitH,MAEXz7G,EAAAA,EAAAA,YAAU,WACN,IAAIgtJ,EAYJ,OAXIV,EAAY,GACZG,GAAoB,GAEpBO,EAAQzS,aAAY,WAChBgS,GAAa,SAAC13I,GAAD,OAAUA,EAAO,OAC/B,MAEH43I,GAAoB,GAIjB,kBAAMjS,cAAcwS,MAC5B,CAACV,IAEJ,IAAMW,EAAgB,+BAAG,+GAEjBJ,EAAY,IAFK,SAGMnqC,MAAM,gCAAD,OAAiCopC,EAAgBruL,OAAjD,OAAyDmuL,IAHpE,YAGXjpC,EAHW,QAKJz5G,GALI,iCAMMy5G,EAASC,OANf,OAMP3/H,EANO,QAQPiqK,EARO,OAQIjqK,QARJ,IAQIA,GARJ,UAQIA,EAAMA,YARV,aAQI,EAAYuB,OAGzBynK,EAAaiB,GACbX,EAAa,IACbJ,GAAa,GACbY,EAAe,KAGfJ,EAAc,uCACdpsL,QAAQ+B,MAAM,0CAlBL,yCAqBMqgJ,EArBN,eAqBP1/H,EArBO,iBAuBeA,EAAKyE,OAvBpB,QAwBuD,aAD9DylK,EAvBO,OAuB4BlxL,YACxBmO,MAAM,KAAK,GAAGE,cAAcF,MAAM,KAAK9N,KAAK,IACzDqwL,EAAc,wBAEdA,EAAcQ,GAGlB5sL,QAAQ+B,MAAM,iCA9BD,0DAkCjBqqL,EAAc,qDACdpsL,QAAQ+B,MAAM,qDAnCG,0DAAH,qDAwChB8qL,EAAc,+BAAG,+EACnBH,IACAV,EAAa,IACbF,EAAO,IAAIxwL,MAAM,GAAG6zD,KAAK,KAHN,2CAAH,qDAMd29H,EAAS,+BAAG,mGAEVR,EAAY,MAERC,EAAc,GAJR,uBAKND,EAAY,mFALN,iCAQJx1J,EAAU,CACZi2J,SAAUtB,EACVuB,IAAKnB,EAAI9vL,KAAK,KAVR,6BAcaomJ,MAdb,oBAc6B,CACnC3iF,OAAQ,OACRhnB,QAAS,CACL,eAAgB,oBAEpBjqC,KAAM2/B,KAAKC,UAAUrX,KAnBf,OAcJsrH,EAdI,OAsBVoqC,GAAe,SAAAl4I,GAAI,OAAIA,EAAO,KAE1B8tG,EAASz5G,IACT3oC,QAAQia,IAAI,UACqB,WAA7BvR,OAAOzC,SAASmhE,SAEhB1+D,OAAOzC,SAAS0jB,KAAO,IAGvBjhB,OAAOzC,SAAS0jB,KAAOjhB,OAAOzC,SAAS0jB,OAG3C2iK,EAAY,2BAAD,OAA4BC,EAA5B,qDACXvsL,QAAQ+B,MAAM,iCAAkCqgJ,EAAS4mB,SAnCnD,kDAsCVsjB,EAAY,0CAAD,MACXtsL,QAAQ+B,MAAM,0CAAd,MAvCU,0DAAH,qDAyDTkrL,EAAiB,SAACznL,GACpBA,EAAE8Z,iBACF,IAAM4tK,EAAQ1nL,EAAE+c,cAAc4qK,QAAQ,QAGtC,GAAI,UAAU7iL,KAAK4iL,GAAQ,CACvB,IAAME,EAASF,EAAMrjL,MAAM,IAC3BiiL,EAAOsB,GAGPzkL,SAASslC,iBAAiB,cAAc,GAAGziB,UAmC7C6hK,EAAqBhC,EAAYnwL,QAAU,EAEjD,OACI,iBAAKg5C,UAAU,kBAAf,SACMy3I,GAoCE,mCACQ,yBAAM19J,EAAE,sBACR,0BAAIA,EAAE,uBAAN,KAAgCs9J,EAAgBruL,MAAQmuL,EAAxD,KAAuEp9J,EAAE,uBAAzE,QACA,iBAAKimB,UAAU,gBAAf,SACK23I,EAAIr1I,KAAI,SAAC9zB,EAAM9f,GAAP,OACL,mBAEI3D,KAAK,MACLoqE,QAAQ,SACRikH,UAAU,IACVp5I,UAAU,YACVh3C,MAAOwlB,EACP+6B,SAAU,SAAAj4C,GAAC,OA/GnB,SAACyB,EAASrE,GAE9B,IAAI3F,MAAMgK,EAAQ/J,OAAlB,CAGA,IAAMkwL,EAAM,GAAOvB,GACnBuB,EAAOxqL,GAASqE,EAAQ/J,MACxB4uL,EAAOsB,GAGHnmL,EAAQmiB,aAAeniB,EAAQ/J,OAC/B+J,EAAQmiB,YAAYoC,SAoGmB+hK,CAAgB/nL,EAAEjJ,OAAQqG,IACzCk+K,UAAW,SAAAt7K,GAAC,OApFtB,SAACA,EAAG5C,GAER,cAAV4C,EAAE3J,KAAsC,KAAfgwL,EAAIjpL,IACzB4C,EAAEjJ,OAAOi0B,iBACThrB,EAAEjJ,OAAOi0B,gBAAgBhF,QAgFW8nJ,CAAc9tK,EAAG5C,IACjC4qL,YAAY,SACZC,QAASR,GATJrqL,QAchBypL,IACG,iBAAKplC,MAAM,0BAA0BvsG,KAAK,QAA1C,SACK2xI,KAGL,oBAAQn4I,UAAU,eAAexkC,SAAyB,IAAfm8K,EAAI3wL,OAAcmqC,QAASynJ,EAAtE,SACC7+J,EAAE,uBAEP,oBAAQimB,UAAU,eAAe7O,QAASwnJ,EAAgBn9K,SAAUu8K,EAApE,SACKA,EAAgB,wBAAoBF,EAApB,QAAsC,gBAE3D,iBAAK93K,MAAO,CAAEy5K,UAAW,iBAAkBr7F,OAAQ,WACnD,kBAAKn+C,UAAU,mBAAf,WACI,wBAAKjmB,EAAE,8BACP,UAACikJ,GAAD,CAAQxrJ,MAAM,YAAY2e,QAAS,kBAAM38B,OAAOzC,SAASkG,OAAO,+BAAhE,SAAiG8hB,EAAE,8BApE/G,mCACI,kBAAMimB,UAAU,eAAhB,SAAgCjmB,EAAE,oBAClC,kBAAMimB,UAAU,eAAhB,SAAgCjmB,EAAE,wBAClC,yBAAMA,EAAE,mBACR,wBAAIA,EAAE,2BACN,kBAAKimB,UAAU,cAAf,WACI,UAAC,GAAD,CACIA,UAAU,iBACVh3C,MAAOquL,EACP9tI,SAnBI,SAACkwI,GACzBnC,EAAmBmC,IAmBCp+K,QAAS47K,GACTyC,cAAc,EACdC,kBAhCE,SAACpoF,GACvB,OACI,kBAAKvxD,UAAU,yBAAf,WACI,kBAAMA,UAAS,iBAAYuxD,EAAO2lF,KAAnB,mBACf,kBAAMl3I,UAAU,YAAhB,SAA6BuxD,EAAO8H,eA8B5B,mBACItuG,KAAK,MACLoqE,QAAQ,SACRmkH,YAAY,WACZF,UAAU,KACVpwL,MAAOmuL,EACP5tI,SAjDQ,SAACj4C,GAC7B,IAAItI,EAAQsI,EAAEjJ,OAAOW,OACrBA,EAAQA,EAAMyN,QAAQ,UAAW,KACvB09D,WAAW,OACjBnrE,EAAQA,EAAMc,MAAM,IAExBstL,EAAepuL,IA4CKg3C,UAAU,mBAGjBi4I,IAAc,eAAGl4K,MAAO,CAAEyS,MAAO,WAAnB,SAAiCylK,KAChD,qBAAQj4I,UAAU,eAAexkC,UAAW29K,EAAoBhoJ,QAASqnJ,EAAzE,WACI,eAAGx4I,UAAU,sBADjB,IAC4CjmB,EAAE,wBAE9C,qBAAQimB,UAAU,eAAexkC,UAAU,EAA3C,WACI,eAAGwkC,UAAU,sBADjB,IAC2CjmB,EAAE,iCCxIjE,GArFoB,WAChB,SAAwB+R,EAAAA,EAAAA,UAAS,MAAjC,GAAO8tJ,EAAP,KAAaC,EAAb,KACA,KAAkC/tJ,EAAAA,EAAAA,WAAS,GAA3C,GAAOgjH,EAAP,KAAkBC,EAAlB,MACAxjH,EAAAA,EAAAA,YAAU,WACNuuJ,MACD,IAEH,IAAMC,EAAY,+BAAG,8GAEU9rC,MAAM,wBAAyB,CAClD3iF,OAAQ,OACR0uH,YAAa,cACb11I,QAAS,CAAE,eAAgB,sBALlB,QAEP4pG,EAFO,QAQAz5G,KAETjgC,OAAOzC,SAAS0jB,KAAO,SACvB3pB,QAAQia,IAAI,mBAEhBja,QAAQ+B,MAAM,yBAA0BqgJ,EAAS4mB,QAbpC,gDAebhpK,QAAQ+B,MAAM,+BAAd,MAfa,yDAAH,qDAkBZisL,EAAW,+BAAG,uGAEZ/qC,GAAa,GAFD,SAGWd,MAAM,eAHjB,YAGNC,EAHM,QAICz5G,GAJD,iCAKWy5G,EAASC,OALpB,OAKF3/H,EALE,OAMRqrK,EAAQrrK,EAAKyrK,YACblrC,GAAa,GAPL,0DAWZjjJ,QAAQ+B,MAAR,0CAXY,0DAAH,qDAejB,OAAIihJ,GACO,iBAAK9uG,UAAW,cAAhB,UAA8B,iBAAK5L,IAAI,gEAAgEk6G,IAAI,UAAUvuI,MAAO,CAAElB,QAAS,MAAOu6E,QAAS,0BAG9J,UAAC,GAAD,CAAWp5C,UAAU,OAArB,UACI,UAAC,GAAD,CAAKA,UAAU,yBAAf,UAEI,UAAC,GAAD,CAAK31B,GAAG,IAAI21B,UAAU,mBAAtB,UACI,UAAC,GAAD,CAAMA,UAAU,WAAhB,UACI,UAAC,GAAD,CAAKA,UAAU,4CAAf,UACI,WAAC,GAAD,CAAK31B,GAAG,IAAI21B,UAAU,eAAtB,WACI,iBAAKjgC,MAAO,CAAE+zB,QAAS,OAAQ6+G,eAAgB,SAAUunC,aAAc,QAAvE,UACI,iBACI9lJ,IAAI,mBACJk6G,IAAI,UACJvuI,MAAO,CACHsQ,MAAO,QACPC,OAAQ,QACRs4G,aAAc,MACduxD,UAAW,QACXjgG,OAAQ,uBAIpB,UAAC,GAAD,CAAWnhF,IAAI,KAAf,SAAqB6gL,EAAKQ,cAC1B,WAAC,GAAD,qBAAkBR,EAAKS,gBACvB,WAAC,GAAD,sBAAmBT,EAAKU,gBACxB,WAAC,GAAD,4BAAyBV,EAAKW,aAC9B,WAAC,GAAD,yBAC6B,MAAzBX,EAAKY,iBACD,eAAGx6I,UAAU,sBAAsBjgC,MAAO,CAAEyS,MAAO,cACnD,eAAGwtB,UAAU,qBAAqBjgC,MAAO,CAAEyS,MAAO,aAE1D,iBAAKwtB,UAAU,OAAf,UACI,UAACg+H,GAAD,CAAQxrJ,MAAM,YAAY2e,QAAS4oJ,EAAnC,qCCkFpC,GAvJoB,YAEhBxuJ,EAAAA,EAAAA,YAAU,WACN92B,SAASi1C,MAAQ,0BACjB,IAEM+wI,EAAc,+BAAG,gHAEQxsC,MAJX,qBAEG,cAETC,EAFS,gBAGIA,EAASC,OAHb,OAGT3/H,EAHS,OAIfksK,EAAalsK,GAJE,kDAMf1iB,QAAQ+B,MAAM,4BAAd,MANe,0DAAH,qDAUpB4sL,IACAE,MAED,IAGH,IAAMA,EAAmB,+BAAG,8FACxBC,GAAgB,GADQ,SAIH,0BAJG,SAMG3sC,MAFN,0BAEsB,CACnC3iF,OAAQ,QAPQ,UASI,OAHlB4iF,EANc,QASP4mB,OATO,iBAUhB8lB,GAAgB,GAChBC,EAAgB,IAXA,yCAaG3sC,EAASC,OAbZ,QAaV3/H,EAbU,OAchBqsK,EAAgBrsK,EAAK0E,MACrB0nK,GAAgB,GAfA,0DAmBpBA,GAAgB,GAChBC,EAAgB,IApBI,0DAAH,qDAwBzB,KAAwC/uJ,EAAAA,EAAAA,WAAS,GAAjD,GAAOgvJ,EAAP,KAAqBF,EAArB,KACA,KAA0C9uJ,EAAAA,EAAAA,WAAS,GAAnD,GAAOivJ,EAAP,KAAsBC,EAAtB,KACA,KAAwClvJ,EAAAA,EAAAA,UAAS,IAAjD,GAAOmvJ,EAAP,KAAqBJ,EAArB,KACA,KAAkC/uJ,EAAAA,EAAAA,UAAS,IAA3C,GAAOovJ,EAAP,KAAkBR,EAAlB,KACiBvwC,KAATnD,KAqCR,OACI,8BACI,kBAAK+L,MAAM,aAAX,WACI,6EACJ,wEACA,iSACA,oEACA,4BACI,kFACA,yFAEJ,yBAAG,yHACH,gBAAIA,MAAM,OAAV,gCACA,4BACI,2GACA,+CAAoB,qCAApB,iEACA,yEACA,4BAAI,4DAAJ,wDAEJ,kBAAKA,MAAM,QAAX,WACI,6CACA,2BAAG,yDAAH,KAA4C,mBAA5C,oHAKH,+EAED,mBAAMooC,SA3DO,SAAC3nK,GAGlB,GAFAA,EAAMpI,iBACN4vK,GAAiB,IACZC,EAGD,OAFAG,MAAM,oDACNJ,GAAiB,GAMrB,IAAMK,EAAc,uCAAmCrnL,mBAAmBinL,IAE1EhtC,MAAMotC,EAAgB,CAClB/vH,OAAQ,OACRhnB,QAAS,CACL,eAAgB,sBAGnBtoB,MAAK,SAACkyH,GAGC,OADJ8sC,GAAiB,GACN9sC,EAASj7H,OAAO+I,MAAK,SAAC/I,GACzBmoK,MAAMnoK,UAoClB,WACA,kBAAK8/H,MAAM,WAAX,WACI,mBAAO/yG,UAAU,mBAAjB,uBACI,qBACI12C,KAAK,WACLygB,GAAG,WACH/gB,MAAOiyL,EACP1xI,SAtEK,SAAC/1B,GACtBqnK,EAAgBrnK,EAAMnrB,OAAOW,QAsEbwS,SAAUs/K,EALd,WAOI,oBAAQ9xL,MAAM,GAAGwS,UAAQ,EAAzB,2BACC0/K,EAAU54I,KAAI,SAACg5I,GAAD,OACX,oBAA4BtyL,MAAOsyL,EAAKC,SAAxC,SACKD,EAAKhyL,MADGgyL,EAAKC,oBAO5BT,IACE,oBAAQ/vL,KAAK,SAASi1C,UAAU,gBAAgBxkC,SAAUu/K,EAA1D,4BAIHD,IACG,oBAAQ96I,UAAU,gBAAgBxkC,UAAU,EAA5C,+BCWpB,GAvJqB,YAEjB+vB,EAAAA,EAAAA,YAAU,WACN92B,SAASi1C,MAAQ,0BACjB,IAEM+wI,EAAc,+BAAG,gHAEQxsC,MAJX,sBAEG,cAETC,EAFS,gBAGIA,EAASC,OAHb,OAGT3/H,EAHS,OAIfksK,EAAalsK,GAJE,kDAMf1iB,QAAQ+B,MAAM,4BAAd,MANe,0DAAH,qDAUpB4sL,IACAE,MAED,IAGH,IAAMA,EAAmB,+BAAG,8FACxBC,GAAgB,GADQ,SAIH,2BAJG,SAMG3sC,MAFN,2BAEsB,CACnC3iF,OAAQ,QAPQ,UASI,OAHlB4iF,EANc,QASP4mB,OATO,iBAUhB8lB,GAAgB,GAChBC,EAAgB,IAXA,yCAaG3sC,EAASC,OAbZ,QAaV3/H,EAbU,OAchBqsK,EAAgBrsK,EAAK0E,MACrB0nK,GAAgB,GAfA,0DAmBpBA,GAAgB,GAChBC,EAAgB,IApBI,0DAAH,qDAwBzB,KAAwC/uJ,EAAAA,EAAAA,WAAS,GAAjD,GAAOgvJ,EAAP,KAAqBF,EAArB,KACA,KAA0C9uJ,EAAAA,EAAAA,WAAS,GAAnD,GAAOivJ,EAAP,KAAsBC,EAAtB,KACA,KAAwClvJ,EAAAA,EAAAA,UAAS,IAAjD,GAAOmvJ,EAAP,KAAqBJ,EAArB,KACA,KAAkC/uJ,EAAAA,EAAAA,UAAS,IAA3C,GAAOovJ,EAAP,KAAkBR,EAAlB,KACiBvwC,KAATnD,KAqCR,OACI,8BACI,kBAAK+L,MAAM,aAAX,WACI,6EACJ,wEACA,iSACA,oEACA,4BACI,kFACA,yFAEJ,yBAAG,yHACH,gBAAIA,MAAM,OAAV,gCACA,4BACI,2GACA,+CAAoB,qCAApB,iEACA,yEACA,4BAAI,4DAAJ,wDAEJ,kBAAKA,MAAM,QAAX,WACI,6CACA,2BAAG,yDAAH,KAA4C,mBAA5C,oHAKH,+EAED,mBAAMooC,SA3DO,SAAC3nK,GAGlB,GAFAA,EAAMpI,iBACN4vK,GAAiB,IACZC,EAGD,OAFAG,MAAM,oDACNJ,GAAiB,GAMrB,IAAMK,EAAc,wCAAoCrnL,mBAAmBinL,IAE3EhtC,MAAMotC,EAAgB,CAClB/vH,OAAQ,OACRhnB,QAAS,CACL,eAAgB,sBAGnBtoB,MAAK,SAACkyH,GAGC,OADJ8sC,GAAiB,GACN9sC,EAASj7H,OAAO+I,MAAK,SAAC/I,GACzBmoK,MAAMnoK,UAoClB,WACA,kBAAK8/H,MAAM,WAAX,WACI,mBAAO/yG,UAAU,mBAAjB,uBACI,qBACI12C,KAAK,WACLygB,GAAG,WACH/gB,MAAOiyL,EACP1xI,SAtEK,SAAC/1B,GACtBqnK,EAAgBrnK,EAAMnrB,OAAOW,QAsEbwS,SAAUs/K,EALd,WAOI,oBAAQ9xL,MAAM,GAAGwS,UAAQ,EAAzB,2BACC0/K,EAAU54I,KAAI,SAACg5I,GAAD,OACX,oBAA4BtyL,MAAOsyL,EAAKC,SAAxC,SACKD,EAAKhyL,MADGgyL,EAAKC,oBAO5BT,IACE,oBAAQ/vL,KAAK,SAASi1C,UAAU,gBAAgBxkC,SAAUu/K,EAA1D,4BAIHD,IACG,oBAAQ96I,UAAU,gBAAgBxkC,UAAU,EAA5C,+BCzCS/T,OAAO4D,OAgB7B,SAASmwL,GAAS/rH,GACrB,IAAI/hB,EAAsB,oBAAX52C,QAAyBA,OAAOe,SAAU5M,EAAIyiD,GAAK+hB,EAAE/hB,GAAI5mD,EAAI,EAC5E,GAAImE,EAAG,OAAOA,EAAErD,KAAK6nE,GACrB,GAAIA,GAAyB,kBAAbA,EAAEzoE,OAAqB,MAAO,CAC1Cy6B,KAAM,WAEF,OADIguC,GAAK3oE,GAAK2oE,EAAEzoE,SAAQyoE,OAAI,GACrB,CAAEzmE,MAAOymE,GAAKA,EAAE3oE,KAAMi/B,MAAO0pC,KAG5C,MAAM,IAAI9kE,UAAU+iD,EAAI,0BAA4B,mCA8CjD,SAASme,GAAQ92D,GACpB,OAAO5L,gBAAgB0iE,IAAW1iE,KAAK4L,EAAIA,EAAG5L,MAAQ,IAAI0iE,GAAQ92D,GAG/D,SAAS0mL,GAAiBvxG,EAASwxG,EAAYhxH,GAClD,IAAK5zD,OAAOgzD,cAAe,MAAM,IAAIn/D,UAAU,wCAC/C,IAAoD7D,EAAhDoO,EAAIw1D,EAAUnjE,MAAM2iF,EAASwxG,GAAc,IAAQv4J,EAAI,GAC3D,OAAOr8B,EAAI,GAAI60L,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW70L,EAAEgQ,OAAOgzD,eAAiB,WAAc,OAAO3gE,MAASrC,EACpH,SAAS60L,EAAK5uL,GAASmI,EAAEnI,KAAIjG,EAAEiG,GAAK,SAAUgI,GAAK,OAAO,IAAIxL,SAAQ,SAAUsK,EAAGC,GAAKqvB,EAAEh8B,KAAK,CAAC4F,EAAGgI,EAAGlB,EAAGC,IAAM,GAAK8nL,EAAO7uL,EAAGgI,QAC9H,SAAS6mL,EAAO7uL,EAAGgI,GAAK,KACxB,SAAcquB,GAAKA,EAAEp6B,iBAAiB6iE,GAAUtiE,QAAQC,QAAQ45B,EAAEp6B,MAAM+L,GAAGinB,KAAK6/J,EAASpyL,GAAUqyL,EAAO34J,EAAE,GAAG,GAAIC,GADrFk5C,CAAKpnE,EAAEnI,GAAGgI,IAAO,MAAOzD,GAAKwqL,EAAO34J,EAAE,GAAG,GAAI7xB,IAE3E,SAASuqL,EAAQ7yL,GAAS4yL,EAAO,OAAQ5yL,GACzC,SAASS,EAAOT,GAAS4yL,EAAO,QAAS5yL,GACzC,SAAS8yL,EAAO7mL,EAAGF,GAASE,EAAEF,GAAIouB,EAAE10B,QAAS00B,EAAEn8B,QAAQ40L,EAAOz4J,EAAE,GAAG,GAAIA,EAAE,GAAG,KAGzE,SAAS44J,GAAiBtsH,GAC7B,IAAI3oE,EAAG8M,EACP,OAAO9M,EAAI,GAAI60L,EAAK,QAASA,EAAK,SAAS,SAAUrqL,GAAK,MAAMA,KAAOqqL,EAAK,UAAW70L,EAAEgQ,OAAOe,UAAY,WAAc,OAAO1O,MAASrC,EAC1I,SAAS60L,EAAK5uL,EAAGkI,GAAKnO,EAAEiG,GAAK0iE,EAAE1iE,GAAK,SAAUgI,GAAK,OAAQnB,GAAKA,GAAK,CAAE5K,MAAO6iE,GAAQ4D,EAAE1iE,GAAGgI,IAAKgxB,KAAY,WAANh5B,GAAmBkI,EAAIA,EAAEF,GAAKA,GAAOE,GAGxI,SAAS+mL,GAAcvsH,GAC1B,IAAK34D,OAAOgzD,cAAe,MAAM,IAAIn/D,UAAU,wCAC/C,IAAiC7D,EAA7BmE,EAAIwkE,EAAE34D,OAAOgzD,eACjB,OAAO7+D,EAAIA,EAAErD,KAAK6nE,IAAMA,EAAqC+rH,GAAS/rH,GAA2B3oE,EAAI,GAAI60L,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW70L,EAAEgQ,OAAOgzD,eAAiB,WAAc,OAAO3gE,MAASrC,GAC9M,SAAS60L,EAAK5uL,GAAKjG,EAAEiG,GAAK0iE,EAAE1iE,IAAM,SAAUgI,GAAK,OAAO,IAAIxL,SAAQ,SAAUC,EAASC,IACvF,SAAgBD,EAASC,EAAQuL,EAAGD,GAAKxL,QAAQC,QAAQuL,GAAGinB,MAAK,SAASjnB,GAAKvL,EAAQ,CAAER,MAAO+L,EAAGgxB,KAAM/wB,MAASvL,IADJqyL,CAAOtyL,EAASC,GAA7BsL,EAAI06D,EAAE1iE,GAAGgI,IAA8BgxB,KAAMhxB,EAAE/L,YAS3HvB,OAAO4D,OC/MzB,ICHH4wL,GDGSC,GAAc,IAIdC,GAAc,ICNvBC,GAAQ,IAAIC,WAAW,IACZ,SAASC,KAEtB,IAAKL,MAGHA,GAAoC,qBAAXM,QAA0BA,OAAON,iBAAmBM,OAAON,gBAAgB3vL,KAAKiwL,SAA+B,qBAAbC,UAAgE,oBAA7BA,SAASP,iBAAkCO,SAASP,gBAAgB3vL,KAAKkwL,WAGrO,MAAM,IAAI7wL,MAAM,4GAIpB,OAAOswL,GAAgBG,ICjBzB,6HCQA,ICFA,OAJA,SAAkBj2H,GAChB,MAAuB,kBAATA,GAAqBs2H,GAAAA,KAAWt2H,IDG5Cu2H,GAAY,GAEP51L,GAAI,EAAGA,GAAI,MAAOA,GACzB41L,GAAUv1L,MAAML,GAAI,KAAOU,SAAS,IAAIstJ,OAAO,IAoBjD,OAjBA,SAAmBpoJ,GACjB,IAAIuoB,EAASluB,UAAUC,OAAS,QAAsBqD,IAAjBtD,UAAU,GAAmBA,UAAU,GAAK,EAG7Eo/D,GAAQu2H,GAAUhwL,EAAIuoB,EAAS,IAAMynK,GAAUhwL,EAAIuoB,EAAS,IAAMynK,GAAUhwL,EAAIuoB,EAAS,IAAMynK,GAAUhwL,EAAIuoB,EAAS,IAAM,IAAMynK,GAAUhwL,EAAIuoB,EAAS,IAAMynK,GAAUhwL,EAAIuoB,EAAS,IAAM,IAAMynK,GAAUhwL,EAAIuoB,EAAS,IAAMynK,GAAUhwL,EAAIuoB,EAAS,IAAM,IAAMynK,GAAUhwL,EAAIuoB,EAAS,IAAMynK,GAAUhwL,EAAIuoB,EAAS,IAAM,IAAMynK,GAAUhwL,EAAIuoB,EAAS,KAAOynK,GAAUhwL,EAAIuoB,EAAS,KAAOynK,GAAUhwL,EAAIuoB,EAAS,KAAOynK,GAAUhwL,EAAIuoB,EAAS,KAAOynK,GAAUhwL,EAAIuoB,EAAS,KAAOynK,GAAUhwL,EAAIuoB,EAAS,MAAMpf,cAMzf,IAAK8mL,GAASx2H,GACZ,MAAMx7D,UAAU,+BAGlB,OAAOw7D,GEHT,OApBA,SAAY9qD,EAASuhL,EAAK3nK,GAExB,IAAI4nK,GADJxhL,EAAUA,GAAW,IACFse,SAAWte,EAAQihL,KAAOA,MAK7C,GAHAO,EAAK,GAAe,GAAVA,EAAK,GAAY,GAC3BA,EAAK,GAAe,GAAVA,EAAK,GAAY,IAEvBD,EAAK,CACP3nK,EAASA,GAAU,EAEnB,IAAK,IAAInuB,EAAI,EAAGA,EAAI,KAAMA,EACxB81L,EAAI3nK,EAASnuB,GAAK+1L,EAAK/1L,GAGzB,OAAO81L,EAGT,OAAO3iJ,GAAU4iJ,ICVbC,GACJ,iFAKWC,GACQ,qBAAZvoC,WACLA,QAAQ/5G,WACR+5G,QAAQwoC,YACRxoC,QAAQwoC,SAAS9pL,KAwEf,SAAU+pL,KACd,OAAOC,KA4HT,IAAMC,GACJ,sKAkBI,SAAUC,GACdp0L,EACAq0L,EACAC,GAEA,OAAQt0L,GAAUq0L,EAAsBr0L,EAAM2M,MAAM0nL,GAAax1L,KAAKy1L,GAAgB,IAAtDt0L,EChK5B,SAAUu0L,GAAkBC,GAMhC,IAAMC,EAAiBD,EAIvB,OACEC,GACmC,oBAA5BA,EAAeC,gBACUrzL,IAA/BozL,EAAeE,aAA6BF,EAAeC,SAAS12L,OAAS,GCjFlF,IAAM42L,GAA6B,IAAIjyL,MAAM,uDAMvC,SAAUkyL,GAAYC,GAC1B,MAAO,CACLzyL,OAAQ,SAAC0yL,EAA4Bh7D,GACnC,MAAM66D,KAKL,ICCMI,GACW,kBAAfnuH,WACHA,WACgB,kBAATvF,KACPA,KACkB,kBAAX91D,OACPA,OACkB,kBAAXypL,EAAAA,EACPA,EAAAA,EACC,GCpBMC,GAAU,QCCjBvqK,GAAK,gCAyHJ,IAAMwqK,GAvGP,SACJC,GAEA,IAAMC,EAAmB,IAAInqL,IAAY,CAACkqL,IACpCE,EAAmB,IAAIpqL,IAEvBqqL,EAAiBH,EAAW/lL,MAAMsb,IACxC,IAAK4qK,EAEH,OAAO,WAAM,UAGf,IAAMC,GACID,EAAe,GADnBC,GAEID,EAAe,GAFnBC,GAGID,EAAe,GAKzB,GAAmC,MAJrBA,EAAe,GAK3B,OAAO,SAAsBE,GAC3B,OAAOA,IAAkBL,GAI7B,SAASM,EAAQ3pL,GAEf,OADAupL,EAAiBhqL,IAAIS,IACd,EAGT,SAAS4pL,EAAQ5pL,GAEf,OADAspL,EAAiB/pL,IAAIS,IACd,EAGT,OAAO,SAAsB0pL,GAC3B,GAAIJ,EAAiB9kK,IAAIklK,GACvB,OAAO,EAGT,GAAIH,EAAiB/kK,IAAIklK,GACvB,OAAO,EAGT,IAAMG,EAAqBH,EAAcpmL,MAAMsb,IAC/C,IAAKirK,EAGH,OAAOF,EAAQD,GAGjB,IAAMI,GACID,EAAmB,GADvBC,GAEID,EAAmB,GAFvBC,GAGID,EAAmB,GAK7B,OAAsC,MAJxBA,EAAmB,IAS7BJ,IAA2BK,EAJtBH,EAAQD,GAQc,IAA3BD,EAEAA,IAA2BK,GAC3BL,GAA0BK,EAEnBF,EAAQF,GAGVC,EAAQD,GAGbD,GAA0BK,EACrBF,EAAQF,GAGVC,EAAQD,IAmBSK,CAAwBZ,IClH9CnjG,GAAQmjG,GAAQvoL,MAAM,KAAK,GAC3BopL,GAA+BjoL,OAAOC,IAC1C,wBAAwBgkF,IAGpBikG,GAAUhB,GAEV,SAAUiB,GACdl0L,EACAquB,EACA8lK,EACAC,cAAA,IAAAA,IAAAA,GAAgB,GAEhB,IAAMC,EAAOJ,GAAQD,IAEpB,QAFoD,EAAAC,GACnDD,WACDM,IAAAA,EAAAA,EAAI,CACH5kJ,QAASyjJ,IAGX,IAAKiB,GAAiBC,EAAIr0L,GAAO,CAE/B,IAAMpB,EAAM,IAAIgC,MACd,gEAAgEZ,GAGlE,OADAm0L,EAAKrxL,MAAMlE,EAAIwO,OAASxO,EAAIoE,UACrB,EAGT,GAAIqxL,EAAI3kJ,UAAYyjJ,GAAS,CAErBv0L,EAAM,IAAIgC,MACd,gEAGF,OADAuzL,EAAKrxL,MAAMlE,EAAIwO,OAASxO,EAAIoE,UACrB,EAQT,OALAqxL,EAAIr0L,GAAQquB,EACZ8lK,EAAKI,MACH,+CAA+Cv0L,EAAI,KAAnD,WAGK,EAGH,SAAUw0L,GACdx0L,WAEM0zL,EAAqD,QAArC,EAAAO,GAAQD,WAA6BM,IAAAA,OAAA,EAAAA,EAAE5kJ,QAC7D,GAAKgkJ,GAAkBN,GAAaM,GAGpC,OAA4C,QAArC,EAAAO,GAAQD,WAA6BS,IAAAA,OAAA,EAAAA,EAAGz0L,GAG3C,SAAU00L,GAAiB10L,EAA2Bm0L,GAC1DA,EAAKI,MACH,kDAAkDv0L,EAAI,KAAtD,UAEF,IAAMq0L,EAAMJ,GAAQD,IAEhBK,UACKA,EAAIr0L,GC1Df,ICqCY20L,GDrCZ,GAQE,WAAY39F,GAEV,IAAMz3B,EAAOnhE,KAEbmhE,EAAKq1H,gBAAkB59F,EAAgB,IAAIj6E,IAAIi6E,GAAiB,IAAIj6E,IAEpEwiD,EAAKzwD,SAAW,SAAClS,GAAgB,OAAA2iE,EAAKq1H,gBAAgBryL,IAAI3F,IAE1D2iE,EAAKxwD,SAAW,SAACnS,EAAaqB,GAC5B,IAAMgF,EAAU,IAAI4xL,EAAYt1H,EAAKq1H,iBAErC,OADA3xL,EAAQ2xL,gBAAgBpyL,IAAI5F,EAAKqB,GAC1BgF,GAGTs8D,EAAKu1H,YAAc,SAACl4L,GAClB,IAAMqG,EAAU,IAAI4xL,EAAYt1H,EAAKq1H,iBAErC,OADA3xL,EAAQ2xL,gBAAgBx3K,OAAOxgB,GACxBqG,IA8BA8xL,GAAwB,IAAIF,keEjEzC,4BAyBA,OAxBEG,EAAAA,UAAAA,OAAAA,WACE,OAAOD,IAGTC,EAAAA,UAAAA,KAAAA,SACE7mL,EACAwoC,EACAwoC,OACA,oCAAA3hF,EAAAA,EAAAA,GAAAA,UAAAA,GAEA,OAAOm5C,EAAG95C,KAAIL,MAAPm6C,EAAEs+I,GAAAA,CAAM91G,GAAO+1G,GAAK13L,IAAI,KAGjCw3L,EAAAA,UAAAA,KAAAA,SAAQ7mL,EAAyB7Q,GAC/B,OAAOA,GAGT03L,EAAAA,UAAAA,OAAAA,WACE,OAAO52L,MAGT42L,EAAAA,UAAAA,QAAAA,WACE,OAAO52L,MAEX,EAzBA,keCSA,cAGE,WAAYyI,GACVzI,KAAK+2L,WAAatuL,EAAMuuL,WAAa,sBAsBzC,OAnBSC,EAAAA,UAAAA,MAAP,eAAa,oCAAA73L,EAAAA,GAAAA,UAAAA,GACX,OAAO83L,GAAS,QAASl3L,KAAK+2L,WAAY33L,IAGrC63L,EAAAA,UAAAA,MAAP,eAAa,oCAAA73L,EAAAA,GAAAA,UAAAA,GACX,OAAO83L,GAAS,QAASl3L,KAAK+2L,WAAY33L,IAGrC63L,EAAAA,UAAAA,KAAP,eAAY,oCAAA73L,EAAAA,GAAAA,UAAAA,GACV,OAAO83L,GAAS,OAAQl3L,KAAK+2L,WAAY33L,IAGpC63L,EAAAA,UAAAA,KAAP,eAAY,oCAAA73L,EAAAA,GAAAA,UAAAA,GACV,OAAO83L,GAAS,OAAQl3L,KAAK+2L,WAAY33L,IAGpC63L,EAAAA,UAAAA,QAAP,eAAe,oCAAA73L,EAAAA,GAAAA,UAAAA,GACb,OAAO83L,GAAS,UAAWl3L,KAAK+2L,WAAY33L,IAEhD,EA1BA,GA4BA,SAAS83L,GACPC,EACAH,EACA53L,GAEA,IAAMg4L,EAAShB,GAAU,QAEzB,GAAKgB,EAKL,OADAh4L,EAAKiD,QAAQ20L,GACNI,EAAOD,GAAS/4L,MAAhBg5L,EAAMP,GAAAA,GAAAA,GAAez3L,IAAoC,KFFlE,SAAYm3L,GAEVA,EAAAA,EAAAA,KAAAA,GAAAA,OAGAA,EAAAA,EAAAA,MAAAA,IAAAA,QAGAA,EAAAA,EAAAA,KAAAA,IAAAA,OAGAA,EAAAA,EAAAA,KAAAA,IAAAA,OAGAA,EAAAA,EAAAA,MAAAA,IAAAA,QAMAA,EAAAA,EAAAA,QAAAA,IAAAA,UAGAA,EAAAA,EAAAA,IAAAA,MAAAA,MAvBF,CAAYA,KAAAA,GAAY,SGnDZc,keCsBZ,cAgBE,aACE,SAASC,EAAUH,GACjB,OAAO,eAAU,oCAAA/3L,EAAAA,GAAAA,UAAAA,GACf,IAAMg4L,EAAShB,GAAU,QAEzB,GAAKgB,EACL,OAAOA,EAAOD,GAAS/4L,MAAhBg5L,EAAMP,GAAAA,GAAAA,GAAcz3L,IAAI,KAKnC,IAAM+hE,EAAOnhE,KA0CbmhE,EAAKo2H,UAtCyC,SAC5CH,EACAI,aAEA,QAFA,IAAAA,IAAAA,EAAoB,CAAEC,SAAUlB,GAAamB,OAEzCN,IAAWj2H,EAAM,CAInB,IAAM3gE,EAAM,IAAIgC,MACd,sIAGF,OADA2+D,EAAKz8D,MAAe,QAAT,EAAAlE,EAAIwO,aAAKknL,IAAAA,EAAAA,EAAI11L,EAAIoE,UACrB,EAGwB,kBAAtB4yL,IACTA,EAAoB,CAClBC,SAAUD,IAId,IAAMG,EAAYvB,GAAU,QACtBwB,ECxEN,SACJC,EACAT,GAWA,SAASU,EACPX,EACAY,GAEA,IAAMC,EAAUZ,EAAOD,GAEvB,MAAuB,oBAAZa,GAA0BH,GAAYE,EACxCC,EAAQ70L,KAAKi0L,GAEf,aAGT,OArBIS,EAAWtB,GAAa0B,KAC1BJ,EAAWtB,GAAa0B,KACfJ,EAAWtB,GAAa2B,MACjCL,EAAWtB,GAAa2B,KAI1Bd,EAASA,GAAU,GAcZ,CACL1yL,MAAOozL,EAAY,QAASvB,GAAa4B,OACzCv1L,KAAMk1L,EAAY,OAAQvB,GAAa6B,MACvCx/I,KAAMk/I,EAAY,OAAQvB,GAAamB,MACvCvB,MAAO2B,EAAY,QAASvB,GAAa8B,OACzCC,QAASR,EAAY,UAAWvB,GAAagC,UD0CzBC,CACU,QAA1B,EAAAhB,EAAkBC,gBAAQpB,IAAAA,EAAAA,EAAIE,GAAamB,KAC3CN,GAGF,GAAIO,IAAcH,EAAkBiB,wBAAyB,CAC3D,IAAMzpL,EAAyB,QAAjB,OAAIxM,OAAQwM,aAAK0pL,IAAAA,EAAAA,EAAI,kCACnCf,EAAU/0L,KAAK,2CAA2CoM,GAC1D4oL,EAAUh1L,KACR,6DAA6DoM,GAIjE,OAAO8mL,GAAe,OAAQ8B,EAAWz2H,GAAM,IAKjDA,EAAKw3H,QAAU,WACbrC,GA9EW,OA8EgBn1H,IAG7BA,EAAKy3H,sBAAwB,SAAC1mL,GAC5B,OAAO,IAAI+kL,GAAoB/kL,IAGjCivD,EAAKm3H,QAAUhB,EAAU,WACzBn2H,EAAKg1H,MAAQmB,EAAU,SACvBn2H,EAAKvoB,KAAO0+I,EAAU,QACtBn2H,EAAKv+D,KAAO00L,EAAU,QACtBn2H,EAAKz8D,MAAQ4yL,EAAU,SAsB3B,OArGgBuB,EAAAA,SAAd,WAKE,OAJK74L,KAAK84L,YACR94L,KAAK84L,UAAY,IAAID,GAGhB74L,KAAK84L,WAgGhB,EAzGA,keEZMC,GAAW,UACXC,GAAuB,IAAIpC,GAKjC,cAIE,cA+DF,OA5DgBqC,EAAAA,YAAd,WAKE,OAJKj5L,KAAK84L,YACR94L,KAAK84L,UAAY,IAAIG,GAGhBj5L,KAAK84L,WAQPG,EAAAA,UAAAA,wBAAP,SAA+BC,GAC7B,OAAOpD,GAAeiD,GAAUG,EAAgBL,GAAQ5oK,aAMnDgpK,EAAAA,UAAAA,OAAP,WACE,OAAOj5L,KAAKm5L,qBAAqBzpG,UAW5BupG,EAAAA,UAAAA,KAAP,SACEp0L,EACA0zC,EACAwoC,aACA,gCAAA3hF,EAAAA,EAAAA,GAAAA,UAAAA,GAEA,OAAO,EAAAY,KAAKm5L,sBAAqBC,KAAIh7L,MAAA83L,EAAAW,GAAC,CAAAhyL,EAAS0zC,EAAIwoC,GAAO+1G,GAAK13L,IAAI,KAS9D65L,EAAAA,UAAAA,KAAP,SAAep0L,EAAkB3F,GAC/B,OAAOc,KAAKm5L,qBAAqBh2L,KAAK0B,EAAS3F,IAGzC+5L,EAAAA,UAAAA,mBAAR,WACE,OAAO7C,GAAU2C,KAAaC,IAIzBC,EAAAA,UAAAA,QAAP,WACEj5L,KAAKm5L,qBAAqBR,UAC1BrC,GAAiByC,GAAUF,GAAQ5oK,aAEvC,EAnEA,IHhBA,SAAYonK,GAEVA,EAAAA,EAAAA,KAAAA,GAAAA,OAEAA,EAAAA,EAAAA,QAAAA,GAAAA,UAJF,CAAYA,KAAAA,GAAU,KIIf,IRA0Bt+I,GQApBsgJ,GAAiB,mBACjBC,GAAkB,mCAClBC,GAAoC,CAC/CC,QAASF,GACTG,OAAQJ,GACRK,WAAYrC,GAAWY,MCKzB,cACE,WACmB0B,QAAA,IAAAA,IAAAA,EAAAA,IAAA,KAAAA,aAAAA,EA2CrB,OAvCEC,EAAAA,UAAAA,YAAAA,WACE,OAAO55L,KAAK25L,cAIdC,EAAAA,UAAAA,aAAAA,SAAar8C,EAAcs8C,GACzB,OAAO75L,MAIT45L,EAAAA,UAAAA,cAAAA,SAAcE,GACZ,OAAO95L,MAIT45L,EAAAA,UAAAA,SAAAA,SAASG,EAAeD,GACtB,OAAO95L,MAIT45L,EAAAA,UAAAA,UAAAA,SAAUr8H,GACR,OAAOv9D,MAIT45L,EAAAA,UAAAA,WAAAA,SAAWG,GACT,OAAO/5L,MAIT45L,EAAAA,UAAAA,IAAAA,SAAII,KAGJJ,EAAAA,UAAAA,YAAAA,WACE,OAAO,GAITA,EAAAA,UAAAA,gBAAAA,SAAgBK,EAAuBC,KACzC,EA7CA,GCHMC,IVP2BphJ,GUOC,iCVAzBprC,OAAOC,IAAImrC,KUOd,SAAUqhJ,GAAQv1L,GACtB,OAAQA,EAAQ6L,SAASypL,UAAsBj5L,EAM3C,SAAUm5L,KACd,OAAOD,GAAQnB,GAAW73I,cAAcsuC,UASpC,SAAU4qG,GAAQz1L,EAAkBi4I,GACxC,OAAOj4I,EAAQ8L,SAASwpL,GAAUr9C,GAQ9B,SAAUy9C,GAAW11L,GACzB,OAAOA,EAAQ6xL,YAAYyD,IAUvB,SAAUK,GACd31L,EACA41L,GAEA,OAAOH,GAAQz1L,EAAS,IAAI+0L,GAAiBa,IAQzC,SAAUC,GAAe71L,SAC7B,OAAuB,QAAhB,EAAAu1L,GAAQv1L,UAAQqxL,IAAAA,OAAA,EAAAA,EAAEuE,cC/D3B,IAAME,GAAsB,oBACtBC,GAAqB,kBAcrB,SAAUC,GAAmBJ,GACjC,OAb6BjB,EAcZiB,EAAYjB,QAbtBmB,GAAoB1tL,KAAKusL,IAAYA,IAAYF,KAG5BG,EAU2BgB,EAAYhB,OAT5DmB,GAAmB3tL,KAAKwsL,IAAWA,IAAWJ,IADjD,IAAwBI,EAJCD,EAwBzB,SAAUsB,GAAgBL,GAC9B,OAAO,IAAIb,GAAiBa,GCtB9B,IAAMM,GAAa9B,GAAW73I,cAK9B,4BAoEA,OAlEE45I,EAAAA,UAAAA,UAAAA,SACE76L,EACA+R,EACArN,GAGA,QAHA,IAAAA,IAAAA,EAAUk2L,GAAWrrG,UAER/qC,QAAe,OAAPzyC,QAAO,IAAPA,OAAO,EAAPA,EAASw6E,MAE5B,OAAO,IAAIktG,GAGb,IA0DmBa,EA1DbQ,EAAoBp2L,GAAW61L,GAAe71L,GAEpD,MA0DuB,kBAFJ41L,EAvDHQ,IA0DiB,kBAA1BR,EAAW,QACgB,kBAA3BA,EAAW,SACmB,kBAA9BA,EAAW,YA3DhBI,GAAmBI,GAEZ,IAAIrB,GAAiBqB,GAErB,IAAIrB,IAmBfoB,EAAAA,UAAAA,gBAAAA,SACE76L,EACAiyG,EACA8oF,EACAC,GAEA,IAAInlG,EACAtI,EACAn1C,EAEJ,KAAI36C,UAAUC,OAAS,GAAvB,CAEgC,IAArBD,UAAUC,OACnB06C,EAAK65D,EACyB,IAArBx0G,UAAUC,QACnBm4F,EAAOoc,EACP75D,EAAK2iJ,IAELllG,EAAOoc,EACP1kB,EAAMwtG,EACN3iJ,EAAK4iJ,GAGP,IAAMviG,EAAmB,OAAHlL,QAAG,IAAHA,EAAAA,EAAOqtG,GAAWrrG,SAClCotD,EAAO98I,KAAKo7L,UAAUj7L,EAAM61F,EAAM4C,GAClCyiG,EAAqBf,GAAQ1hG,EAAekkD,GAElD,OAAOi+C,GAAW3B,KAAKiC,EAAoB9iJ,OAAIr3C,EAAW47I,KAE9D,EApEA,GCRA,ICmEYw+C,GDnENC,GAAc,IAAIP,GAKxB,cAIE,WACUQ,EACQr7L,EACAmxC,EACAp/B,GAHR,KAAAspL,UAAAA,EACQ,KAAAr7L,KAAAA,EACA,KAAAmxC,QAAAA,EACA,KAAAp/B,QAAAA,EAuCpB,OApCEupL,EAAAA,UAAAA,UAAAA,SAAUt7L,EAAc+R,EAAuBrN,GAC7C,OAAO7E,KAAK07L,aAAaN,UAAUj7L,EAAM+R,EAASrN,IAGpD42L,EAAAA,UAAAA,gBAAAA,SACE1B,EACAngE,EACA7pH,EACAi3F,GAEA,IAAM20F,EAAS37L,KAAK07L,aACpB,OAAO18L,QAAQZ,MAAMu9L,EAAOC,gBAAiBD,EAAQ/9L,YAO/C69L,EAAAA,UAAAA,WAAR,WACE,GAAIz7L,KAAK67L,UACP,OAAO77L,KAAK67L,UAGd,IAAMF,EAAS37L,KAAKw7L,UAAUM,kBAC5B97L,KAAKG,KACLH,KAAKsxC,QACLtxC,KAAKkS,SAGP,OAAKypL,GAIL37L,KAAK67L,UAAYF,EACV37L,KAAK67L,WAJHN,IAMb,EA/CA,GENMQ,GAAuB,ICK7B,yBAQA,OAPEC,EAAAA,UAAAA,UAAAA,SACEjC,EACAkC,EACAriE,GAEA,OAAO,IAAIohE,IAEf,EARA,IDKA,4BA+BA,OAzBEkB,EAAAA,UAAAA,UAAAA,SAAU/7L,EAAcmxC,EAAkBp/B,SACxC,OACgD,QAA9C,EAAAlS,KAAK87L,kBAAkB37L,EAAMmxC,EAASp/B,UAAQgkL,IAAAA,EAAAA,EAC9C,IAAIuF,GAAYz7L,KAAMG,EAAMmxC,EAASp/B,IAIzCgqL,EAAAA,UAAAA,YAAAA,iBACE,OAAqB,QAAd,EAAAl8L,KAAK67L,iBAAS3F,IAAAA,EAAAA,EAAI6F,IAM3BG,EAAAA,UAAAA,YAAAA,SAAYn5H,GACV/iE,KAAK67L,UAAY94H,GAGnBm5H,EAAAA,UAAAA,kBAAAA,SACE/7L,EACAmxC,EACAp/B,SAEA,OAAqB,QAAd,EAAAlS,KAAK67L,iBAAS3F,IAAAA,OAAA,EAAAA,EAAEiG,UAAUh8L,EAAMmxC,EAASp/B,IAEpD,EA/BA,GEMM6mL,GAAW,QAKjB,cAME,aAHQ,KAAAqD,qBAAuB,IAAIF,GAmD5B,KAAApB,gBAAkBA,GAElB,KAAAD,mBAAqBA,GAErB,KAAAN,WAAaA,GAEb,KAAAH,QAAUA,GAEV,KAAAC,cAAgBA,GAEhB,KAAAK,eAAiBA,GAEjB,KAAAJ,QAAUA,GAEV,KAAAE,eAAiBA,GAC1B,OA5DgB6B,EAAAA,YAAd,WAKE,OAJKr8L,KAAK84L,YACR94L,KAAK84L,UAAY,IAAIuD,GAGhBr8L,KAAK84L,WAQPuD,EAAAA,UAAAA,wBAAP,SAA+BC,GAC7B,IAAMC,EAAUzG,GACdiD,GACA/4L,KAAKo8L,qBACLvD,GAAQ5oK,YAKV,OAHIssK,GACFv8L,KAAKo8L,qBAAqBI,YAAYF,GAEjCC,GAMFF,EAAAA,UAAAA,kBAAP,WACE,OAAOjG,GAAU2C,KAAa/4L,KAAKo8L,sBAM9BC,EAAAA,UAAAA,UAAP,SAAiBl8L,EAAcmxC,GAC7B,OAAOtxC,KAAKy8L,oBAAoBN,UAAUh8L,EAAMmxC,IAI3C+qJ,EAAAA,UAAAA,QAAP,WACE/F,GAAiByC,GAAUF,GAAQ5oK,YACnCjwB,KAAKo8L,qBAAuB,IAAIF,IAkBpC,EArEA,GCvBaQ,GAAQL,GAASj7I,cCAjBv8C,GAAUo0L,GAAW73I,cLmK5B,SAAUk5I,GAAQz1L,EAAkBi4I,GACxC,OAAO6/C,GAAAA,QAAgB93L,EAASi4I,IA9FlC,SAAYw+C,GAEVA,EAAAA,EAAAA,SAAAA,GAAAA,WAKAA,EAAAA,EAAAA,OAAAA,GAAAA,SAKAA,EAAAA,EAAAA,OAAAA,GAAAA,SAMAA,EAAAA,EAAAA,SAAAA,GAAAA,WAMAA,EAAAA,EAAAA,SAAAA,GAAAA,WAxBF,CAAYA,KAAAA,GAAQ,KAwJb,IAGKsB,GAHC/3L,GAAsBg4L,GMrL7B,SAAUC,GACd9mG,GAEA,IAAQ+mG,EAAyD/mG,EAAzD+mG,eAAgBC,EAAyChnG,EAAzCgnG,eAAmBC,ElCtBtC,SAAgB14I,EAAGp8C,GACtB,IAAIyoB,EAAI,GACR,IAAK,IAAInmB,KAAK85C,EAAOjmD,OAAOC,UAAUf,eAAeiB,KAAK8lD,EAAG95C,IAAMtC,EAAE0O,QAAQpM,GAAK,IAC9EmmB,EAAEnmB,GAAK85C,EAAE95C,IACb,GAAS,MAAL85C,GAAqD,oBAAjCjmD,OAAOiB,sBACtB,KAAI5B,EAAI,EAAb,IAAgB8M,EAAInM,OAAOiB,sBAAsBglD,GAAI5mD,EAAI8M,EAAE5M,OAAQF,IAC3DwK,EAAE0O,QAAQpM,EAAE9M,IAAM,GAAKW,OAAOC,UAAUyrJ,qBAAqBvrJ,KAAK8lD,EAAG95C,EAAE9M,MACvEizB,EAAEnmB,EAAE9M,IAAM4mD,EAAE95C,EAAE9M,KAE1B,OAAOizB,EkCamDssK,CAAKlnG,EAA3D,qCAEFvzB,EAA6Bw6H,EAYjC,OAVIF,IACFt6H,EAAS,OAAH,wBAAQA,GAAWs6H,IAGvBC,IACFv6H,EAAO06H,eAAiBH,EAAeG,eAEvC16H,EAAO26H,YAAqC,OAAtBJ,QAAc,IAAdA,OAAc,EAAdA,EAAwBI,aAGzC36H,EC/DH,SAAU46H,GAAgBx9L,GAE9B,IADA,IAAIi1E,EAAM,GACDn3E,EAAI,EAAGA,EAAIkC,EAAMhC,OAAQF,IAChCm3E,GAAOryE,OAAOkkB,aAAa9mB,EAAMlC,IAEnC,OAAO2/L,KAAKxoH,GAOR,SAAUyoH,GAAa19L,GAG3B,IAFA,IAAM29L,EAAaC,KAAK59L,GAClB0D,EAAM,IAAI2vL,WAAWsK,EAAW3/L,QAC7BF,EAAI,EAAGA,EAAI6/L,EAAW3/L,OAAQF,IACrC4F,EAAI5F,GAAK6/L,EAAW9xC,WAAW/tJ,GAEjC,OAAO4F,GPoNT,SAAYq5L,GAIVA,EAAAA,EAAAA,MAAAA,GAAAA,QAKAA,EAAAA,EAAAA,GAAAA,GAAAA,KAIAA,EAAAA,EAAAA,MAAAA,GAAAA,QAbF,CAAYA,KAAAA,GAAc,KQtOnB,IAAMc,GAAb,WACE,aAQiC,IAJfC,EAIe,uDAJwB,GAIvCC,EAAe,iDAJf,KAAAD,aAAAA,EAIA,KAAAC,MAAAA,EATpB,8CAmBE,SAAoBC,EAAgBh+L,EAAgBi+L,GAClD,IAAMC,EAAiB,SACrBC,EACAC,GAEA,MAAM,IAAIz7L,MAAJ,WACAs7L,EADA,yBAC2Bj+L,EAD3B,4CACoEm+L,EADpE,cACwFC,EADxF,OAIR,GAAIJ,EAAOK,kBAAwBh9L,GAATrB,EAAoB,CAC5C,IAAMs+L,EAAgBt+L,EACtB,EAYIg+L,EAAOK,YAXTE,EADF,EACEA,iBACAC,EAFF,EAEEA,iBACAC,EAHF,EAGEA,iBACAC,EAJF,EAIEA,iBACAC,EALF,EAKEA,SACAC,EANF,EAMEA,UACAC,EAPF,EAOEA,SACAC,EARF,EAQEA,UACAC,EATF,EASEA,WACAC,EAVF,EAUEA,QACAC,EAXF,EAWEA,iBAEsB59L,GAApBk9L,GAAiCD,GAAiBC,GACpDL,EAAe,mBAAoBK,QAEbl9L,GAApBm9L,GAAiCF,GAAiBE,GACpDN,EAAe,mBAAoBM,QAEbn9L,GAApBo9L,GAAiCH,EAAgBG,GACnDP,EAAe,mBAAoBO,QAEbp9L,GAApBq9L,GAAiCJ,EAAgBI,GACnDR,EAAe,mBAAoBQ,GAErC,IAAMQ,EAAel/L,EAgBrB,QAfgBqB,GAAZs9L,GAAyBO,EAAalhM,OAAS2gM,GACjDT,EAAe,WAAYS,QAEZt9L,GAAbu9L,GAA0BM,EAAalhM,OAAS4gM,GAClDV,EAAe,YAAaU,QAEdv9L,GAAZw9L,GAAyBK,EAAalhM,OAAS6gM,GACjDX,EAAe,WAAYW,QAEZx9L,GAAby9L,GAA0BI,EAAalhM,OAAS8gM,GAClDZ,EAAe,YAAaY,QAEZz9L,GAAd09L,GAA2BT,EAAgBS,IAAe,GAC5Db,EAAe,aAAca,GAE3BC,EAAS,CACX,IAAM7yH,EAAqC,kBAAZ6yH,EAAuB,IAAIrqJ,OAAOqqJ,GAAWA,EACvD,kBAAVh/L,GAA+C,OAAzBA,EAAMqP,MAAM88D,IAC3C+xH,EAAe,UAAWc,GAI5BC,GACAC,EAAazjJ,MAAK,SAAConC,EAAW/kF,EAAWqhM,GAAvB,OAA0CA,EAAGnoL,QAAQ6rE,KAAU/kF,MAEjFogM,EAAe,cAAee,MAjFtC,uBA+FE,SACEjB,EACAt0L,EACAu0L,GAC+B,UAA/B5rL,EAA+B,uDAAF,GAEvB+sL,EAA8C,CAClDC,SAA0B,QAAhB,EAAAhtL,EAAQgtL,gBAAQhJ,IAAAA,EAAAA,EAAI,GAC9BiJ,YAAgC,QAAnB,EAAAjtL,EAAQitL,mBAAW9I,IAAAA,GAAAA,EAChC+I,WAA8B,QAAlB,EAAAltL,EAAQktL,kBAAU1G,IAAAA,EAAAA,EAAI1F,IAEhCv5J,EAAe,GACb4lK,EAAaxB,EAAOj8L,KAAKzB,KAC1B29L,IACHA,EAAaD,EAAOyB,gBAEkB,OAApCD,EAAWnwL,MAAM,iBACnBuqB,EAAU,IAGRokK,EAAO0B,aACTh2L,EAASs0L,EAAOxsL,cAalB,IAAQmuL,EAAuB3B,EAAvB2B,SAAUC,EAAa5B,EAAb4B,SAElB,GAAID,GAAYC,QAAuBv+L,IAAXqI,EAC1B,MAAM,IAAI/G,MAAJ,UAAas7L,EAAb,0BAER,GAAI0B,IAAaC,QAAsBv+L,GAAVqI,EAC3B,MAAM,IAAI/G,MAAJ,UAAas7L,EAAb,kCAER,IAAK0B,IAAyB,IAAbC,GAAiC,OAAXl2L,EACrC,MAAM,IAAI/G,MAAJ,UAAas7L,EAAb,qBAGR,QAAc58L,GAAVqI,EACFkwB,EAAUlwB,OAEV,GAAmC,OAA/B81L,EAAWnwL,MAAM,UACnBuqB,EAAUlwB,OACL,GAA0E,OAAtE81L,EAAWnwL,MAAM,iDAC1BuqB,EAAUimK,GAAoBL,EAAYvB,EAAYv0L,QACjD,GAAoC,OAAhC81L,EAAWnwL,MAAM,WAAqB,CAC/C,IAAMywL,EAAyB9B,EAC/BpkK,EAAUmmK,GAAkB9B,EAAY6B,EAAW/9L,KAAKi+L,cAAet2L,QAEM,OAA7E81L,EAAWnwL,MAAM,wDAEjBuqB,EAAUqmK,GAAmBT,EAAY91L,EAAQu0L,GACH,OAArCuB,EAAWnwL,MAAM,gBAC1BuqB,EAAUsmK,GAAuBjC,EAAYv0L,GACC,OAArC81L,EAAWnwL,MAAM,gBAC1BuqB,EAAUumK,GAAuBlC,EAAYv0L,GACA,OAApC81L,EAAWnwL,MAAM,eAC1BuqB,EAAUwmK,GACRjgM,KACA69L,EACAt0L,EACAu0L,EACAn5I,QAAQ3kD,KAAK49L,OACbqB,GAE6C,OAAtCI,EAAWnwL,MAAM,iBAC1BuqB,EAAUymK,GACRlgM,KACA69L,EACAt0L,EACAu0L,EACAn5I,QAAQ3kD,KAAK49L,OACbqB,GAE4C,OAArCI,EAAWnwL,MAAM,kBAC1BuqB,EAAU0mK,GACRngM,KACA69L,EACAt0L,EACAu0L,EACAn5I,QAAQ3kD,KAAK49L,OACbqB,IAIN,OAAOxlK,IA5LX,yBAwME,SACEokK,EACAuC,EACAtC,GAC+B,UAqB3BrkK,EArBJvnB,EAA+B,uDAAF,GAEvB+sL,EAA8C,CAClDC,SAA0B,QAAhB,EAAAhtL,EAAQgtL,gBAAQhJ,IAAAA,EAAAA,EAAI,GAC9BiJ,YAAgC,QAAnB,EAAAjtL,EAAQitL,mBAAW9I,IAAAA,GAAAA,EAChC+I,WAA8B,QAAlB,EAAAltL,EAAQktL,kBAAU1G,IAAAA,EAAAA,EAAI1F,IAEpC,QAAoB9xL,GAAhBk/L,EAWF,OAVIpgM,KAAK49L,OAA8B,aAArBC,EAAOj8L,KAAKzB,OAAwB09L,EAAOwC,eAI3DD,EAAe,SAGWl/L,IAAxB28L,EAAOxsL,eACT+uL,EAAevC,EAAOxsL,cAEjB+uL,EAIT,IAAMf,EAAaxB,EAAOj8L,KAAKzB,KAK/B,GAJK29L,IACHA,EAAaD,EAAOyB,gBAGmB,OAArCD,EAAWnwL,MAAM,gBACnBuqB,EAAU6mK,GACRtgM,KACA69L,EACAuC,EACAtC,EACAmB,OAEG,CACL,GAAIj/L,KAAK49L,MAAO,CACd,IAAMwB,EAAaH,EAAeG,WAC5BmB,EAAmBH,OAOUl/L,GAAjCq/L,EAAiBxN,UACe7xL,GAAhCq/L,EAAiBnB,KAEjBgB,EAAeG,EAAiBnB,IAIE,OAAlCC,EAAWnwL,MAAM,cACnBuqB,EAAUqnD,WAAWs/G,GACjBxgM,MAAM65B,KACRA,EAAU2mK,IAEgC,OAAnCf,EAAWnwL,MAAM,cAExBuqB,EADmB,SAAjB2mK,GAEwB,UAAjBA,GAGCA,EAEsE,OAAzEf,EAAWnwL,MAAM,oDAC1BuqB,EAAU2mK,EAC0D,OAA3Df,EAAWnwL,MAAM,sCAC1BuqB,EAAU,IAAI5W,KAAKu9K,GAC0B,OAApCf,EAAWnwL,MAAM,eAC1BuqB,EAAU+mK,GAAeJ,GACqB,OAArCf,EAAWnwL,MAAM,gBAC1BuqB,EAAUgnK,GAAoBL,GACgB,OAArCf,EAAWnwL,MAAM,gBAC1BuqB,EAAUinK,GAAqBN,GACc,OAApCf,EAAWnwL,MAAM,eAC1BuqB,EAAUknK,GACR3gM,KACA69L,EACAuC,EACAtC,EACAmB,GAE6C,OAAtCI,EAAWnwL,MAAM,mBAC1BuqB,EAAUmnK,GACR5gM,KACA69L,EACAuC,EACAtC,EACAmB,IASN,OAJIpB,EAAO0B,aACT9lK,EAAUokK,EAAOxsL,cAGZooB,MA9SX,KAuUA,SAASinK,GAAqB5rH,GAC5B,GAAKA,EAAL,CAGA,GAAIA,GAAgC,kBAAlBA,EAAI3hE,UACpB,MAAM,IAAI3Q,MAAM,uEAKlB,OAAOi+L,GAFP3rH,EAAMA,EAAIxnE,QAAQ,KAAM,KAAKA,QAAQ,KAAM,OAK7C,SAASuzL,GAAmBl6H,GAC1B,IAAMjpE,EAAoB,GACtBojM,EAAe,GACnB,GAAIn6H,EAAM,CACR,IADQ,OACSA,EAAKn6D,MAAM,MADpB,IAGR,IAAK,EAAL,qBAA6B,KAAlBk2E,EAAkB,QACU,OAAjCA,EAAK3rE,OAAO2rE,EAAK7kF,OAAS,GAC5BijM,GAAgBp+G,EAAKipE,OAAO,EAAGjpE,EAAK7kF,OAAS,GAAK,KAElDijM,GAAgBp+G,EAChBhlF,EAAQM,KAAK8iM,GACbA,EAAe,KATX,+BAcV,OAAOpjM,EAcT,SAAS8iM,GAAe58L,GACtB,GAAKA,EAGL,OAAO,IAAIif,KAAS,IAAJjf,GAGlB,SAAS87L,GAAoBqB,EAAkBjD,EAAoBj+L,GACjE,GAAc,OAAVA,QAA4BqB,IAAVrB,EACpB,GAAoC,OAAhCkhM,EAAS7xL,MAAM,cACjB,GAAqB,kBAAVrP,EACT,MAAM,IAAI2C,MAAJ,UAAas7L,EAAb,uBAAsCj+L,EAAtC,kCAEH,GAAoC,OAAhCkhM,EAAS7xL,MAAM,cACxB,GAA+B,kBAApBrP,EAAMsT,UACf,MAAM,IAAI3Q,MAAJ,UAAas7L,EAAb,wBAAuCj+L,EAAvC,mCAEH,GAAkC,OAA9BkhM,EAAS7xL,MAAM,YACxB,GAAiC,kBAApBrP,EAAMsT,Y7BjUnB,SAAsB6pD,GAC1B,OAAO22H,GAAe1mL,KAAK+vD,G6BgUsBgkI,CAAkBnhM,GAC7D,MAAM,IAAI2C,MAAJ,UACDs7L,EADC,wBACyBj+L,EADzB,oDAIH,GAAqC,OAAjCkhM,EAAS7xL,MAAM,eACxB,GAAqB,mBAAVrP,EACT,MAAM,IAAI2C,MAAJ,UAAas7L,EAAb,uBAAsCj+L,EAAtC,mCAEH,GAAoC,OAAhCkhM,EAAS7xL,MAAM,aAAuB,CAC/C,IAAM+xL,SAAoBphM,EAC1B,GACiB,WAAfohM,GACe,aAAfA,KACEphM,aAAiBs0C,eAClBA,YAAYC,OAAOv0C,KACD,oBAATqhM,MAAuC,kBAATA,QAAsBrhM,aAAiBqhM,OAE/E,MAAM,IAAI1+L,MAAJ,UACDs7L,EADC,0GAOZ,OAAOj+L,EAGT,SAAS+/L,GAAkB9B,EAAoB+B,EAA2BhgM,GACxE,IAAKggM,EACH,MAAM,IAAIr9L,MAAJ,4DACiDs7L,EADjD,sBAUR,IANkB+B,EAAcvkJ,MAAK,SAAConC,GACpC,MAA8B,kBAAnBA,EAAKvvE,UACPuvE,EAAKh2E,gBAAkB7M,EAAM6M,cAE/Bg2E,IAAS7iF,KAGhB,MAAM,IAAI2C,MAAJ,UACD3C,EADC,qCACiCi+L,EADjC,mCACsEjtJ,KAAKC,UAC7E+uJ,GAFE,MAMR,OAAOhgM,EAGT,SAASkgM,GAAuBjC,EAAoBj+L,GAClD,IAAIkiB,EAAsB,GAC1B,QAAa7gB,GAATrB,EAAoB,CACtB,KAAMA,aAAiBqzL,YACrB,MAAM,IAAI1wL,MAAJ,UAAas7L,EAAb,iCAER/7K,EAAc0+K,GAAuB5gM,GAEvC,OAAOkiB,EAGT,SAASi+K,GAAuBlC,EAAoBj+L,GAClD,IAAIkiB,EAAsB,GAC1B,QAAa7gB,GAATrB,EAAoB,CACtB,KAAMA,aAAiBqzL,YACrB,MAAM,IAAI1wL,MAAJ,UAAas7L,EAAb,iCAER/7K,EA9IJ,SAA2Bo/K,GACzB,GAAKA,EAAL,CAGA,KAAMA,aAAkBjO,YACtB,MAAM,IAAI1wL,MAAJ,2EAKR,OAlBF,SAAiBsyE,EAAax7C,GAE5B,IADA,IAAIx0B,EAAMgwE,EAAIj3E,OACPiH,EAAM,GAAK,GAAKgwE,EAAIhwE,EAAM,KAAOw0B,KACpCx0B,EAEJ,OAAOgwE,EAAI62E,OAAO,EAAG7mJ,GAads8L,CAFKX,GAAuBU,GAEf,KAAK7zL,QAAQ,MAAO,KAAKA,QAAQ,MAAO,MAoI5C+zL,CAAkBxhM,IAAU,GAE5C,OAAOkiB,EAGT,SAAS+9K,GAAmBiB,EAAkBlhM,EAAYi+L,GACxD,QAAa58L,GAATrB,EACF,GAAkC,OAA9BkhM,EAAS7xL,MAAM,WAAqB,CACtC,KAEIrP,aAAiBgjB,MACW,kBAApBhjB,EAAMsT,YAA2BvT,MAAMijB,KAAK2rD,MAAM3uE,KAG5D,MAAM,IAAI2C,MAAJ,UAAas7L,EAAb,+DAERj+L,EACEA,aAAiBgjB,KACbhjB,EAAMyhM,cAActqL,UAAU,EAAG,IACjC,IAAI6L,KAAKhjB,GAAOyhM,cAActqL,UAAU,EAAG,SAC5C,GAAsC,OAAlC+pL,EAAS7xL,MAAM,eAAyB,CACjD,KAEIrP,aAAiBgjB,MACW,kBAApBhjB,EAAMsT,YAA2BvT,MAAMijB,KAAK2rD,MAAM3uE,KAG5D,MAAM,IAAI2C,MAAJ,UAAas7L,EAAb,+DAERj+L,EAAQA,aAAiBgjB,KAAOhjB,EAAMyhM,cAAgB,IAAIz+K,KAAKhjB,GAAOyhM,mBACjE,GAA6C,OAAzCP,EAAS7xL,MAAM,sBAAgC,CACxD,KAEIrP,aAAiBgjB,MACW,kBAApBhjB,EAAMsT,YAA2BvT,MAAMijB,KAAK2rD,MAAM3uE,KAG5D,MAAM,IAAI2C,MAAJ,UAAas7L,EAAb,gEAERj+L,EAAQA,aAAiBgjB,KAAOhjB,EAAM0hM,cAAgB,IAAI1+K,KAAKhjB,GAAO0hM,mBACjE,GAAsC,OAAlCR,EAAS7xL,MAAM,eAAyB,CACjD,KAEIrP,aAAiBgjB,MACW,kBAApBhjB,EAAMsT,YAA2BvT,MAAMijB,KAAK2rD,MAAM3uE,KAG5D,MAAM,IAAI2C,MACR,UAAGs7L,EAAH,4HAIJj+L,EApJN,SAAwBgM,GACtB,GAAKA,EAOL,MAH2B,kBAAhBA,EAAEsH,YACXtH,EAAI,IAAIgX,KAAKhX,IAER2Q,KAAKmsC,MAAO98C,EAAW0hD,UAAY,KA4I9Bi0I,CAAe3hM,QAClB,GAAsC,OAAlCkhM,EAAS7xL,MAAM,iB7B3SxB,SAAqBrP,GACzB,OAAOm0L,GAAoB/mL,KAAKpN,G6B2SvBmhM,CAAiBnhM,GACpB,MAAM,IAAI2C,MAAJ,UACDs7L,EADC,8DAC+Dj+L,EAD/D,OAMZ,OAAOA,EAGT,SAASogM,GACP1wC,EACAsuC,EACAt0L,EACAu0L,EACA2D,EACAvvL,GAEA,IAAKjU,MAAMC,QAAQqL,GACjB,MAAM,IAAI/G,MAAJ,UAAas7L,EAAb,4BAER,IAAMj0L,EAAcg0L,EAAOj8L,KAAKgI,QAChC,IAAKC,GAAsC,kBAAhBA,EACzB,MAAM,IAAIrH,MACR,0GAC4Cs7L,EAD5C,MAKJ,IADA,IAAM4D,EAAY,GACT/jM,EAAI,EAAGA,EAAI4L,EAAO1L,OAAQF,IAAK,CACtC,IAAMgkM,EAAkBpyC,EAAWpC,UAAUtjJ,EAAaN,EAAO5L,GAAImgM,EAAY5rL,GAEjF,GAAIuvL,GAAS53L,EAAY+3L,aAAc,CACrC,IAAMC,EAAWh4L,EAAYi4L,mBAAZ,gBACJj4L,EAAYi4L,oBACrB,QAC0B,cAA1Bj4L,EAAYjI,KAAKzB,MACnBuhM,EAAU/jM,GAAEW,OAAAA,OAAAA,GAAQqjM,GACpBD,EAAU/jM,GAAGo1L,IAAb,MAA+B8O,EAAWh4L,EAAY+3L,gBAEtDF,EAAU/jM,GAAK,GACf+jM,EAAU/jM,GAAGuU,EAAQktL,YAAcuC,EACnCD,EAAU/jM,GAAGo1L,IAAb,MAA+B8O,EAAWh4L,EAAY+3L,oBAGxDF,EAAU/jM,GAAKgkM,EAGnB,OAAOD,EAGT,SAASxB,GACP3wC,EACAsuC,EACAt0L,EACAu0L,EACA2D,EACAvvL,GAEA,GAAsB,kBAAX3I,EACT,MAAM,IAAI/G,MAAJ,UAAas7L,EAAb,6BAER,IAAMiE,EAAYlE,EAAOj8L,KAAK/B,MAC9B,IAAKkiM,GAAkC,kBAAdA,EACvB,MAAM,IAAIv/L,MACR,6GAC4Cs7L,EAD5C,MAKJ,IADA,IAAMkE,EAAyC,GAC/C,MAAkB1jM,OAAOsH,KAAK2D,GAA9B,eAAuC,CAAlC,IAAM/K,EAAG,KACNmjM,EAAkBpyC,EAAWpC,UAAU40C,EAAWx4L,EAAO/K,GAAMs/L,EAAY5rL,GAEjF8vL,EAAexjM,GAAOyjM,GAAkBF,EAAWJ,EAAiBF,EAAOvvL,GAI7E,GAAIuvL,GAAS5D,EAAO+D,aAAc,CAChC,IAAMC,EAAWhE,EAAOiE,mBAAP,gBAAqCjE,EAAOiE,oBAAuB,QAE9Er/H,EAASu/H,EAEf,OADAv/H,EAAOswH,IAAP,MAAyB8O,EAAWhE,EAAO+D,cACpCn/H,EAGT,OAAOu/H,EA8BT,SAASE,GACP3yC,EACAsuC,EACAC,GAEA,IAAMjnJ,EAAYgnJ,EAAOj8L,KAAKi1C,UAC9B,IAAKA,EACH,MAAM,IAAIr0C,MAAJ,gCACqBs7L,EADrB,4CACmEjtJ,KAAKC,UAC1E+sJ,OACA38L,EACA,GAJE,OASR,OAAOquJ,EAAWouC,aAAa9mJ,GAQjC,SAASsrJ,GACP5yC,EACAsuC,EACAC,GAEA,IAAIsE,EAAavE,EAAOj8L,KAAKygM,gBAC7B,IAAKD,EAAY,CACf,IAAME,EAAcJ,GAAwB3yC,EAAYsuC,EAAQC,GAChE,IAAKwE,EACH,MAAM,IAAI9/L,MAAJ,0DAA6Dq7L,EAAOj8L,KAAKi1C,UAAzE,OAGR,KADAurJ,EAAwB,OAAXE,QAAW,IAAXA,OAAW,EAAXA,EAAa1gM,KAAKygM,iBAE7B,MAAM,IAAI7/L,MACR,wEACaquC,KAAKC,UAAUwxJ,GAD5B,sBAEIzE,EAAOj8L,KAAKi1C,UAFhB,yBAGmBinJ,EAHnB,OAQN,OAAOsE,EAGT,SAASjC,GACP5wC,EACAsuC,EACAt0L,EACAu0L,EACA2D,EACAvvL,GAMA,GAJIqwL,GAAuChzC,EAAYsuC,KACrDA,EAAS2E,GAAqBjzC,EAAYsuC,EAAQt0L,EAAQ,oBAG9CrI,GAAVqI,EAAqB,CAGvB,IAFA,IAAMkwB,EAAe,GACf2oK,EAAaD,GAAuB5yC,EAAYsuC,EAAQC,GAC9D,MAAkBx/L,OAAOsH,KAAKw8L,GAA9B,eAA2C,CAAtC,IAAM5jM,EAAG,KACNikM,EAAiBL,EAAW5jM,GAClC,IAAIikM,EAAeC,SAAnB,CAIA,IAAIh6L,OAA4B,EAC5Bi6L,EAAoBlpK,EACxB,GAAI81H,EAAWquC,MAEXl1L,EADE+5L,EAAepC,aACNoC,EAAeG,QAEfH,EAAeI,gBAAkBJ,EAAeG,YAExD,CACL,IAAMj1H,EAAQkzH,GAAmB4B,EAAenD,gBAChD52L,EAAWilE,EAAMnoE,MAFZ,WAIkBmoE,GAJlB,IAIL,IAAK,EAAL,qBAA8B,KAAnBm1H,EAAmB,aAGX5hM,GAFGyhM,EAAaG,SAGf5hM,GAAfqI,EAAO/K,SAAqD0C,IAAhCuhM,EAAepxL,eAE5CsxL,EAAaG,GAAY,IAE3BH,EAAeA,EAAaG,IAZzB,+BAgBP,QAAoB5hM,GAAhByhM,EAA2B,CAC7B,GAAIlB,GAAS5D,EAAO+D,aAAc,CAChC,IAAMC,EAAWhE,EAAOiE,mBAAP,gBACJjE,EAAOiE,oBAChB,QACJa,EAAa5P,IAAYz0L,OAAAA,OAAAA,OAAAA,OAAAA,GACpBqkM,EAAa5P,KADO,MAEtB8O,EAAWhE,EAAO+D,eAGvB,IAAMmB,EAC8B,KAAlCN,EAAenD,eACXxB,EAAa,IAAM2E,EAAenD,eAClCxB,EAEFkF,EAAcz5L,EAAO/K,GACnBykM,EAA2BV,GAAuChzC,EAAYsuC,GAElFoF,GACAA,EAAyBC,aAAe1kM,QACzB0C,GAAf8hM,IAEAA,EAAcnF,EAAOyB,gBAGvB,IAAMqC,EAAkBpyC,EAAWpC,UACjCs1C,EACAO,EACAD,EACA7wL,GAGF,QAAwBhR,IAApBygM,QAA6CzgM,GAAZwH,EAAuB,CAC1D,IAAM7I,EAAQoiM,GAAkBQ,EAAgBd,EAAiBF,EAAOvvL,GACpEuvL,GAASgB,EAAeU,gBAI1BR,EAAa5P,IAAe4P,EAAa5P,KAAgB,GACzD4P,EAAa5P,IAAarqL,GAAYi5L,GAC7BF,GAASgB,EAAepC,aACjCsC,EAAaj6L,GAAb,MAA4B+5L,EAAeI,eAAkBhjM,GAE7D8iM,EAAaj6L,GAAY7I,KAMjC,IAAMujM,EApKV,SACE7zC,EACAsuC,EACAC,GAEA,IAAMuF,EAAuBxF,EAAOj8L,KAAKyhM,qBAEzC,IAAKA,GAAwBxF,EAAOj8L,KAAKi1C,UAAW,CAClD,IAAMyrJ,EAAcJ,GAAwB3yC,EAAYsuC,EAAQC,GAChE,OAAkB,OAAXwE,QAAW,IAAXA,OAAW,EAAXA,EAAa1gM,KAAKyhM,qBAG3B,OAAOA,EAwJ8BC,CAA4B/zC,EAAYsuC,EAAQC,GACnF,GAAIsF,EAA4B,CAC9B,IAAMG,EAAYjlM,OAAOsH,KAAKw8L,GADA,WAEnBoB,GACoBD,EAAUj+I,OAAM,SAACm+I,GAAD,OAAQA,IAAOD,OAE1D/pK,EAAQ+pK,GAAkBj0C,EAAWpC,UACnCi2C,EACA75L,EAAOi6L,GACP1F,EAAa,KAAO0F,EAAiB,KACrCtxL,KAPN,IAAK,IAAMsxL,KAAkBj6L,EAAQ,EAA1Bi6L,GAab,OAAO/pK,EAET,OAAOlwB,EAGT,SAAS04L,GACPQ,EACAd,EACAF,EACAvvL,GAEA,IAAKuvL,IAAUgB,EAAeb,aAC5B,OAAOD,EAGT,IAGMC,EAAe,MAHJa,EAAeX,mBAAf,gBACJW,EAAeX,oBACxB,QAC+BW,EAAeb,cAElD,GAAI,CAAC,aAAalyL,SAAS+yL,EAAe7gM,KAAKzB,MAAO,CACpD,GAAIwhM,EAAgB5O,IAClB,OAAO4O,EAEP,IAAMl/H,EAAM,iBAAak/H,GAEzB,OADAl/H,EAAOswH,IAAe6O,EACfn/H,EAGX,IAAMA,EAAc,GAGpB,OAFAA,EAAOvwD,EAAQktL,YAAcuC,EAC7Bl/H,EAAOswH,IAAe6O,EACfn/H,EAGT,SAASihI,GAAqBt3L,EAAsB8F,GAClD,MAAO,CAAC6gL,GAAa7gL,EAAQktL,YAAY1vL,SAAStD,GAGpD,SAASk0L,GACP/wC,EACAsuC,EACAuC,EACAtC,EACA5rL,WAEMktL,EAA+B,QAAlB,EAAAltL,EAAQktL,kBAAUlJ,IAAAA,EAAAA,EAAIlD,GACrCuP,GAAuChzC,EAAYsuC,KACrDA,EAAS2E,GAAqBjzC,EAAYsuC,EAAQuC,EAAc,mBAOlE,IAJA,IAAMgC,EAAaD,GAAuB5yC,EAAYsuC,EAAQC,GAC1D7tK,EAAmC,GACjC0zK,EAAiC,GAEvC,MAAkBrlM,OAAOsH,KAAKw8L,GAA9B,eAA2C,CAAtC,IAAM5jM,EAAG,KACNikM,EAAiBL,EAAW5jM,GAC5BmvE,EAAQkzH,GAAmBuB,EAAW5jM,GAAK8gM,gBACjDqE,EAAqB3lM,KAAK2vE,EAAM,IAChC,IAAQ2xH,EAA4CmD,EAA5CnD,eAAgBsD,EAA4BH,EAA5BG,QAASC,EAAmBJ,EAAnBI,eAC7BE,EAAqBjF,EACF,KAAnBwB,QAA4Cp+L,IAAnBo+L,IAC3ByD,EAAqBjF,EAAa,IAAMwB,GAG1C,IAAMsE,EAA0BnB,EAAoCmB,uBACpE,GAAIA,EAAwB,CAE1B,IADA,IAAMC,EAAkB,GACxB,MAAwBvlM,OAAOsH,KAAKw6L,GAApC,eAAmD,CAA9C,IAAM0D,EAAS,KACdA,EAAU94H,WAAW44H,KACvBC,EAAWC,EAAU9sL,UAAU4sL,EAAuB/lM,SAAW0xJ,EAAWw0C,YACzEtB,EAAoC7gM,KAAK/B,MAC1CugM,EAAa0D,GACbf,EACA7wL,IAIJyxL,EAAqB3lM,KAAK8lM,GAE5B7zK,EAASzxB,GAAOqlM,OACX,GAAIt0C,EAAWquC,MACpB,GAAI6E,EAAeU,gBAAkB/C,EAAarN,IAChD9iK,EAASzxB,GAAO+wJ,EAAWw0C,YACzBtB,EACArC,EAAarN,IAAa6P,GAC1BG,EACA7wL,QAEG,GAAIuwL,EAAeuB,iBACS9iM,IAA7Bk/L,EAAahB,GACfnvK,EAASzxB,GAAO4hM,EAAahB,GACI,kBAAjBgB,IAGhBnwK,EAASzxB,GAAO4hM,OAEb,CACL,IAAMh0L,EAAey2L,GAAkBD,GAAWtD,EAClD,GAAImD,EAAepC,aAAc,CAe/B,IAAMn9L,EAAUk9L,EAAawC,GACvBqB,EAAwC,QAA1B,EAAO,OAAP/gM,QAAO,IAAPA,OAAO,EAAPA,EAAU2/L,UAAgBxM,IAAAA,EAAAA,EAAI,GAClDpmK,EAASzxB,GAAO+wJ,EAAWw0C,YACzBtB,EACAwB,EACAlB,EACA7wL,OAEG,CACL,IAAM4gE,EAAWstH,EAAah0L,GAC9B6jB,EAASzxB,GAAO+wJ,EAAWw0C,YACzBtB,EACA3vH,EACAiwH,EACA7wL,QAID,CAEL,IAFK,EAEDgyL,OAAgB,EAChB5yH,EAAM8uH,EAHL,KAKczyH,GALd,IAKL,IAAK,EAAL,qBAA0B,KAAf+U,EAAe,QACxB,IAAKpR,EAAK,MACVA,EAAMA,EAAIoR,IAPP,8BASLwhH,EAAmB5yH,EACnB,IAAM2xH,EAA2BpF,EAAOj8L,KAAKqhM,yBAW3CA,GACAzkM,IAAQykM,EAAyBC,iBACbhiM,GAApBgjM,IAEAA,EAAmBrG,EAAOyB,gBAG5B,IAAIqC,OAAe,EAEnB,GAAI1jM,MAAMC,QAAQkiM,EAAa5hM,KAA4C,KAAnC4jM,EAAW5jM,GAAK8gM,eAAuB,CAC7E4E,EAAmB9D,EAAa5hM,GAShC,IARA,IAAM2lM,EAAgB50C,EAAWw0C,YAC/BtB,EACAyB,EACAnB,EACA7wL,GAIF,MAAqB5T,OAAOi2C,QAAQtkB,GAApC,eAA+C,CAA1C,gBAAOxgB,EAAP,KAAU7D,EAAV,KACEtN,OAAOC,UAAUf,eAAeiB,KAAK0lM,EAAe10L,KACvD00L,EAAc10L,GAAK7D,GAGvBqkB,EAAWk0K,YACmBjjM,IAArBgjM,QAAkEhjM,IAAhCuhM,EAAepxL,eAC1DswL,EAAkBpyC,EAAWw0C,YAC3BtB,EACAyB,EACAnB,EACA7wL,GAEF+d,EAASzxB,GAAOmjM,IAKtB,IAAMyB,EAA6BvF,EAAOj8L,KAAKyhM,qBAC/C,GAAID,EAA4B,CAC9B,IAAMgB,EAAuB,SAACC,GAC5B,IAAK,IAAMb,KAAkBpB,EAAY,CAEvC,GADcvB,GAAmBuB,EAAWoB,GAAgBlE,gBAClD,KAAO+E,EACf,OAAO,EAGX,OAAO,GAGT,IAAK,IAAMA,KAAoBjE,EACzBgE,EAAqBC,KACvBp0K,EAASo0K,GAAoB90C,EAAWw0C,YACtCX,EACAhD,EAAaiE,GACbvG,EAAa,KAAOuG,EAAmB,KACvCnyL,SAID,GAAIkuL,EACT,IAAK,IAAL,MAAkB9hM,OAAOsH,KAAKw6L,GAA9B,eAA6C,CAAxC,IAAM5hM,EAAG,UAEQ0C,IAAlB+uB,EAASzxB,IACRmlM,EAAqBj0L,SAASlR,IAC9BklM,GAAqBllM,EAAK0T,KAE3B+d,EAASzxB,GAAO4hM,EAAa5hM,IAKnC,OAAOyxB,EAGT,SAAS2wK,GACPrxC,EACAsuC,EACAuC,EACAtC,EACA5rL,GAEA,IAAMrS,EAAQg+L,EAAOj8L,KAAK/B,MAC1B,IAAKA,GAA0B,kBAAVA,EACnB,MAAM,IAAI2C,MACR,6GAC4Cs7L,IAGhD,GAAIsC,EAAc,CAEhB,IADA,IAAM4B,EAAyC,GAC/C,MAAkB1jM,OAAOsH,KAAKw6L,GAA9B,eAA6C,CAAxC,IAAM5hM,EAAG,KACZwjM,EAAexjM,GAAO+wJ,EAAWw0C,YAAYlkM,EAAOugM,EAAa5hM,GAAMs/L,EAAY5rL,GAErF,OAAO8vL,EAET,OAAO5B,EAGT,SAASO,GACPpxC,EACAsuC,EACAuC,EACAtC,EACA5rL,GAEA,IAAMtI,EAAUi0L,EAAOj8L,KAAKgI,QAC5B,IAAKA,GAA8B,kBAAZA,EACrB,MAAM,IAAIpH,MACR,0GAC4Cs7L,IAGhD,GAAIsC,EAAc,CACXniM,MAAMC,QAAQkiM,KAEjBA,EAAe,CAACA,IAIlB,IADA,IAAMsB,EAAY,GACT/jM,EAAI,EAAGA,EAAIyiM,EAAaviM,OAAQF,IACvC+jM,EAAU/jM,GAAK4xJ,EAAWw0C,YACxBn6L,EACAw2L,EAAaziM,GAFA,UAGVmgM,EAHU,YAGIngM,EAHJ,KAIbuU,GAGJ,OAAOwvL,EAET,OAAOtB,EAGT,SAASoC,GACPjzC,EACAsuC,EACAt0L,EACA+6L,GAEA,IAAMrB,EAA2BV,GAAuChzC,EAAYsuC,GACpF,GAAIoF,EAA0B,CAC5B,IAAMsB,EAAoBtB,EAAyBqB,GACnD,QAAyBpjM,GAArBqjM,EAAgC,CAClC,IAAMC,EAAqBj7L,EAAOg7L,GAClC,QAA0BrjM,GAAtBsjM,EAAiC,CACnC,IAAMzD,EAAWlD,EAAOj8L,KAAK6iM,YAAc5G,EAAOj8L,KAAKi1C,UACjD6tJ,EACJF,IAAuBzD,EACnByD,EACAzD,EAAW,IAAMyD,EACjBG,EAAoBp1C,EAAWouC,aAAaiH,eAAeF,GAC7DC,IACF9G,EAAS8G,KAKjB,OAAO9G,EAGT,SAAS0E,GACPhzC,EACAsuC,GAEA,OACEA,EAAOj8L,KAAKqhM,0BACZ4B,GAAkCt1C,EAAYsuC,EAAOj8L,KAAK6iM,aAC1DI,GAAkCt1C,EAAYsuC,EAAOj8L,KAAKi1C,WAI9D,SAASguJ,GAAkCt1C,EAAwBwxC,GACjE,OACEA,GACAxxC,EAAWouC,aAAaoD,IACxBxxC,EAAWouC,aAAaoD,GAAUn/L,KAAKqhM,yBAyWpC,ICz8CK6B,GDy8CCC,GAZb,SAAmCz+H,GACjC,IAD4C,EACtC7D,EAAc,GADwB,KAE1B6D,GAF0B,IAE5C,IAAK,EAAL,qBAAqB,KAAV9nE,EAAU,QACnBikE,EAAOjkE,GAAOA,GAH4B,8BAK5C,OAAOikE,EAOiBuiI,CAAQ,CAChC,YACA,UACA,YACA,YACA,OACA,WACA,kBACA,aACA,OACA,SACA,SACA,WACA,SACA,SACA,WACA,aEr9CWC,GAAkD,CAC7D3F,eAAgB,wBAChBsD,QAAS,2BACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,wBACXwrJ,gBAAiB,CACf6C,qBAAsB,CACpB5F,eAAgB,UAChBsD,QAAS,UACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,YAGfsuJ,YAAa,CACX7F,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,YAGfuuJ,cAAe,CACb9F,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,YAGfwuJ,KAAM,CACJ/F,eAAgB,OAChBsD,QAAS,OACTvC,cAAc,EACdwC,eAAgB,WAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,YACN02C,UAAW,eAKnByuJ,sBAAuB,CACrBhG,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVolM,sBAAuB,CACrBjG,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,oBAGf2uJ,cAAe,CACblG,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,qBAOR4uJ,GAAoC,CAC/CnG,eAAgB,UAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,UACXwrJ,gBAAiB,CACf/wJ,QAAS,CACPguJ,eAAgB,UAChBE,UAAU,EACVoD,QAAS,UACThhM,KAAM,CACJzB,KAAM,WAGVg5F,eAAgB,CACdmmG,eAAgB,SAChBE,UAAU,EACVoD,QAAS,SACThhM,KAAM,CACJzB,KAAM,YAGVi4F,KAAM,CACJknG,eAAgB,OAChBE,UAAU,EACVoD,QAAS,OACThhM,KAAM,CACJzB,KAAM,YAGVulM,MAAO,CACLpG,eAAgB,QAChBE,UAAU,EACVoD,QAAS,QACThhM,KAAM,CACJzB,KAAM,YAGVwlM,gBAAiB,CACfrG,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,uBAOR+uJ,GAA4C,CACvDtG,eAAgB,kBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,kBACXwrJ,gBAAiB,CACf56E,QAAS,CACP63E,eAAgB,UAChBE,UAAU,EACVoD,QAAS,UACThhM,KAAM,CACJzB,KAAM,YAGV0lM,KAAM,CACJ3H,YAAa,CACXK,iBAAkB,GAEpBe,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,cAOH2lM,GAAoC,CAC/CxG,eAAgB,UAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,UACXwrJ,gBAAiB,CACf/wJ,QAAS,CACPguJ,eAAgB,UAChBsD,QAAS,UACThhM,KAAM,CACJzB,KAAM,WAGVsnH,QAAS,CACP63E,eAAgB,UAChBE,UAAU,EACVoD,QAAS,UACThhM,KAAM,CACJzB,KAAM,YAGV4lM,YAAa,CACXzG,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,YAGVwlM,gBAAiB,CACfrG,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,uBAORmvJ,GAAqC,CAChD1G,eAAgB,WAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,WACXwrJ,gBAAiB,CACf4D,eAAgB,CACd3G,eAAgB,iBAChBE,UAAU,EACVoD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,WAGV+lM,eAAgB,CACd5G,eAAgB,iBAChBE,UAAU,EACVoD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,WAGVgmM,eAAgB,CACd7G,eAAgB,iBAChBE,UAAU,EACVoD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,WAGVimM,eAAgB,CACd9G,eAAgB,iBAChBE,UAAU,EACVoD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,WAGVkmM,gBAAiB,CACfnI,YAAa,CACXK,iBAAkB,GAEpBe,eAAgB,kBAChBE,UAAU,EACVoD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHmmM,GAA0C,CACrDhH,eAAgB,gBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,gBACXwrJ,gBAAiB,CACf56E,QAAS,CACP63E,eAAgB,UAChBE,UAAU,EACVoD,QAAS,UACThhM,KAAM,CACJzB,KAAM,YAGVomM,cAAe,CACbjH,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGVqmM,qBAAsB,CACpBlH,eAAgB,uBAChBsD,QAAS,uBACThhM,KAAM,CACJzB,KAAM,WAGVsmM,yBAA0B,CACxBnH,eAAgB,2BAChBsD,QAAS,2BACThhM,KAAM,CACJzB,KAAM,cAOHumM,GAAyC,CACpDpH,eAAgB,eAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,eACXwrJ,gBAAiB,CACfz9L,QAAS,CACP06L,eAAgB,UAChBsD,QAAS,UACThhM,KAAM,CACJzB,KAAM,WAGVymB,KAAM,CACJ04K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,cAOHwmM,GAAkD,CAC7DrH,eAAgB,wBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,wBACXwrJ,gBAAiB,CACfuE,eAAgB,CACdtH,eAAgB,iBAChBsD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,sBAORgwJ,GAA2C,CACtDvH,eAAgB,iBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,iBACXwrJ,gBAAiB,CACf12B,OAAQ,CACN2zB,eAAgB,SAChBE,UAAU,EACVoD,QAAS,SACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,OAAQ,YAAa,iBAGzCiH,WAAY,CACVxH,eAAgB,eAChBE,UAAU,EACVoD,QAAS,eACThhM,KAAM,CACJzB,KAAM,uBAOH4mM,GAA0D,CACrEzH,eAAgB,gCAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,gCACXwrJ,gBAAiB,CACf2E,gBAAiB,CACf1H,eAAgB,kBAChBE,UAAU,EACVoD,QAAS,kBACTO,gBAAgB,EAChBvhM,KAAM,CACJzB,KAAM,WAGV66F,OAAQ,CACNskG,eAAgB,SAChBsD,QAAS,SACThhM,KAAM,CACJzB,KAAM,WAGV8mM,OAAQ,CACN3H,eAAgB,SAChBsD,QAAS,SACThhM,KAAM,CACJzB,KAAM,WAGV+mM,YAAa,CACX5H,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,WAGVgnM,eAAgB,CACd7H,eAAgB,iBAChBE,UAAU,EACVoD,QAAS,aACTvC,cAAc,EACdwC,eAAgB,YAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,YACN02C,UAAW,oBAKnBuwJ,kBAAmB,CACjB9H,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,cAOHknM,GAA0C,CACrD/H,eAAgB,gBAChBsD,QAAS,YACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,gBACXwrJ,gBAAiB,CACfliM,KAAM,CACJm/L,eAAgB,OAChBE,UAAU,EACVoD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVmnM,QAAS,CACPhI,eAAgB,UAChBsD,QAAS,UACThhM,KAAM,CACJzB,KAAM,YAGVmxC,QAAS,CACPguJ,eAAgB,UAChBsD,QAAS,UACThhM,KAAM,CACJzB,KAAM,WAGVsvF,WAAY,CACV6vG,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,wBAGf0wJ,SAAU,CACRjI,eAAgB,WAChBsD,QAAS,WACThhM,KAAM,CACJzB,KAAM,aACNN,MAAO,CAAE+B,KAAM,CAAEzB,KAAM,gBAOpBqnM,GAAgD,CAC3DlI,eAAgB,sBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,sBACXwrJ,gBAAiB,CACfoF,aAAc,CACZnI,eAAgB,gBAChBE,UAAU,EACVoD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGVunM,KAAM,CACJpI,eAAgB,OAChBE,UAAU,EACVoD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVwnM,YAAa,CACXrI,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,SAAU,cAG9B+H,WAAY,CACVtI,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,YACA,SACA,UACA,WACA,YAINgI,cAAe,CACbvI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,WAAY,WAGhCiI,aAAc,CACZxI,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,YAAa,UAGjCkI,sBAAuB,CACrBzI,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,YAGV6nM,aAAc,CACZ1I,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,YAGV8nM,uBAAwB,CACtB3I,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+nM,+BAAgC,CAC9B5I,eAAgB,8BAChBsD,QAAS,8BACThhM,KAAM,CACJzB,KAAM,YAGVgoM,UAAW,CACT7I,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,oBAGVioM,uBAAwB,CACtB9I,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGVkoM,wCAAyC,CACvC/I,eAAgB,wCAChBsD,QAAS,wCACThhM,KAAM,CACJzB,KAAM,eAOHmoM,GAAoC,CAC/ChJ,eAAgB,UAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,UACXwrJ,gBAAiB,CACfkG,SAAU,CACRjJ,eAAgB,QAChBE,UAAU,EACVoD,QAAS,QACThhM,KAAM,CACJzB,KAAM,WAGVqoM,UAAW,CACTlJ,eAAgB,SAChBE,UAAU,EACVoD,QAAS,SACThhM,KAAM,CACJzB,KAAM,cAOHsoM,GAA8C,CACzDnJ,eAAgB,oBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,oBACXwrJ,gBAAiB,CACfqG,eAAgB,CACdpJ,eAAgB,YAChBE,UAAU,EACVoD,QAAS,YACThhM,KAAM,CACJzB,KAAM,WAGVwoM,eAAgB,CACdrJ,eAAgB,YAChBE,UAAU,EACVoD,QAAS,YACThhM,KAAM,CACJzB,KAAM,WAGVyoM,eAAgB,CACdtJ,eAAgB,cAChBE,UAAU,EACVoD,QAAS,cACThhM,KAAM,CACJzB,KAAM,WAGV0oM,gBAAiB,CACfvJ,eAAgB,eAChBE,UAAU,EACVoD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV2oM,cAAe,CACbxJ,eAAgB,gBAChBE,UAAU,EACVoD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGV4oM,cAAe,CACbzJ,eAAgB,gBAChBE,UAAU,EACVoD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGVN,MAAO,CACLy/L,eAAgB,QAChBE,UAAU,EACVoD,QAAS,QACThhM,KAAM,CACJzB,KAAM,cAOH6oM,GAA8C,CACzD1J,eAAgB,oBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,oBACXwrJ,gBAAiB,CACf2E,gBAAiB,CACf1H,eAAgB,kBAChBE,UAAU,EACVoD,QAAS,kBACTO,gBAAgB,EAChBvhM,KAAM,CACJzB,KAAM,WAGV8oM,MAAO,CACL3J,eAAgB,QAChBE,UAAU,EACVoD,QAAS,QACThhM,KAAM,CACJzB,KAAM,WAGV+oM,MAAO,CACL5J,eAAgB,QAChBE,UAAU,EACVoD,QAAS,QACTvC,cAAc,EACdwC,eAAgB,OAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,YACN02C,UAAW,qBAKnBuwJ,kBAAmB,CACjB9H,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,cAOHgpM,GAA2C,CACtD7J,eAAgB,iBAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,iBACXwrJ,gBAAiB,CACfliM,KAAM,CACJm/L,eAAgB,OAChBE,UAAU,EACVoD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVipM,cAAe,CACb9J,eAAgB,gBAChBE,UAAU,EACVoD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGViqJ,KAAM,CACJk1C,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,gBAORwyJ,GAAqC,CAChD/J,eAAgB,WAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,WACXwrJ,gBAAiB,CACfiH,WAAY,CACVhK,eAAgB,aAChBE,UAAU,EACVoD,QAAS,SACTvC,cAAc,EACdwC,eAAgB,MAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,YACN02C,UAAW,iBASZ0yJ,GAAoC,CAC/CjK,eAAgB,UAChBsD,QAAS,MACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,UACXwrJ,gBAAiB,CACf7jM,IAAK,CACH8gM,eAAgB,MAChBE,UAAU,EACVoD,QAAS,MACThhM,KAAM,CACJzB,KAAM,WAGVN,MAAO,CACLy/L,eAAgB,QAChBE,UAAU,EACVoD,QAAS,QACThhM,KAAM,CACJzB,KAAM,cAOHqpM,GAA6C,CACxDlK,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,mBACXwrJ,gBAAiB,CACfzhL,GAAI,CACF0+K,eAAgB,KAChBE,UAAU,EACVoD,QAAS,KACThhM,KAAM,CACJzB,KAAM,WAGVspM,aAAc,CACZnK,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,oBAOR6yJ,GAAyC,CACpDpK,eAAgB,eAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,eACXwrJ,gBAAiB,CACfkG,SAAU,CACRjJ,eAAgB,QAChBsD,QAAS,QACThhM,KAAM,CACJzB,KAAM,WAGVqoM,UAAW,CACTlJ,eAAgB,SAChBsD,QAAS,SACThhM,KAAM,CACJzB,KAAM,WAGVwpM,YAAa,CACXrK,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,cAOHypM,GAAyD,CACpEtK,eAAgB,+BAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,+BACXwrJ,gBAAiB,CACf2E,gBAAiB,CACf1H,eAAgB,kBAChBE,UAAU,EACVoD,QAAS,kBACTO,gBAAgB,EAChBvhM,KAAM,CACJzB,KAAM,WAGVipM,cAAe,CACb9J,eAAgB,gBAChBE,UAAU,EACVoD,QAAS,gBACTO,gBAAgB,EAChBvhM,KAAM,CACJzB,KAAM,WAGV66F,OAAQ,CACNskG,eAAgB,SAChBsD,QAAS,SACThhM,KAAM,CACJzB,KAAM,WAGV8mM,OAAQ,CACN3H,eAAgB,SAChBsD,QAAS,SACThhM,KAAM,CACJzB,KAAM,WAGV+mM,YAAa,CACX5H,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,WAGVorE,QAAS,CACP+zH,eAAgB,UAChBsD,QAAS,QACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,wBAGfuwJ,kBAAmB,CACjB9H,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,cAOH0pM,GAAgD,CAC3DvK,eAAgB,sBAChBsD,QAAS,QACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,sBACXwrJ,gBAAiB,CACfyH,UAAW,CACTxK,eAAgB,YAChBE,UAAU,EACVoD,QAAS,YACTC,eAAgB,OAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,YACN02C,UAAW,0BASZkzJ,GAA6C,CACxDzK,eAAgB,mBAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,mBACXwrJ,gBAAiB,CACfliM,KAAM,CACJm/L,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,aAGfywJ,QAAS,CACPhI,eAAgB,UAChBE,UAAU,EACVoD,QAAS,UACThhM,KAAM,CACJzB,KAAM,YAGV6pM,SAAU,CACR1K,eAAgB,WAChBE,UAAU,EACVoD,QAAS,WACThhM,KAAM,CACJzB,KAAM,WAGV8pM,UAAW,CACT3K,eAAgB,YAChBsD,QAAS,YACThhM,KAAM,CACJzB,KAAM,WAGV+pM,iBAAkB,CAChB5K,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,YAGVsvF,WAAY,CACV6vG,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,2BAGf0wJ,SAAU,CACRjI,eAAgB,WAChBsD,QAAS,WACThhM,KAAM,CACJzB,KAAM,aACNN,MAAO,CAAE+B,KAAM,CAAEzB,KAAM,aAG3BgqM,SAAU,CACR7K,eAAgB,WAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,aAGfuzJ,0BAA2B,CACzB9K,eAAgB,4BAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,aACNN,MAAO,CAAE+B,KAAM,CAAEzB,KAAM,aAG3BkqM,gBAAiB,CACf/K,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,eAOHmqM,GAAqC,CAChDhL,eAAgB,WAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,WACXwrJ,gBAAiB,CACfkI,QAAS,CACPjL,eAAgB,UAChBsD,QAAS,UACTO,gBAAgB,EAChBvhM,KAAM,CACJzB,KAAM,YAGVqqM,QAAS,CACPlL,eAAgB,UAChBsD,QAAS,UACThhM,KAAM,CACJzB,KAAM,cAOHsqM,GAAmD,CAC9DnL,eAAgB,yBAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,yBACXwrJ,gBAAiB,CACfqI,UAAW,CACTpL,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGVsnM,aAAc,CACZnI,eAAgB,gBAChBE,UAAU,EACVoD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGVunM,KAAM,CACJpI,eAAgB,OAChBE,UAAU,EACVoD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVwqM,cAAe,CACbrL,eAAgB,iBAChBsD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,WAGVyqM,YAAa,CACXtL,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV0qM,gBAAiB,CACfvL,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,WAGV2qM,gBAAiB,CACfxL,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,WAGV4qM,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV6qM,mBAAoB,CAClB1L,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,WAGV8qM,aAAc,CACZ3L,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGV+qM,mBAAoB,CAClB5L,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,WAGVgrM,SAAU,CACR7L,eAAgB,WAChBsD,QAAS,WACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,YAAa,WAAY,gBAG7C8H,YAAa,CACXrI,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,SAAU,cAG9B+H,WAAY,CACVtI,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,YACA,SACA,UACA,WACA,YAINgI,cAAe,CACbvI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,WAAY,WAGhCuL,OAAQ,CACN9L,eAAgB,SAChBsD,QAAS,SACThhM,KAAM,CACJzB,KAAM,WAGVkrM,WAAY,CACV/L,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,UAAW,UAAW,UAAW,YAGrDyL,WAAY,CACVhM,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,WAGVorM,aAAc,CACZjM,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVqrM,gBAAiB,CACflM,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,oBAGVsrM,sBAAuB,CACrBnM,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVurM,gBAAiB,CACfpM,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,YAGVwrM,gBAAiB,CACfrM,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,YAGVyrM,oBAAqB,CACnBtM,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,WAGVgoM,UAAW,CACT7I,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,oBAGVioM,uBAAwB,CACtB9I,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV0rM,WAAY,CACVvM,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,aAINiM,mBAAoB,CAClBxM,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,YAGV4rM,cAAe,CACbzM,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,2BACA,+BAINmM,0BAA2B,CACzB1M,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGV+rM,oBAAqB,CACnB5M,eAAgB,uBAChBsD,QAAS,uBACThhM,KAAM,CACJzB,KAAM,oBAGVgsM,SAAU,CACR7M,eAAgB,WAChBsD,QAAS,WACThhM,KAAM,CACJzB,KAAM,WAGVqoM,UAAW,CACTlJ,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,oBAGVisM,SAAU,CACR9M,eAAgB,SAChBsD,QAAS,SACThhM,KAAM,CACJzB,KAAM,YAGVksM,kBAAmB,CACjB/M,eAAgB,oBAChBsD,QAAS,oBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,OAAQ,cAG5ByM,eAAgB,CACdhN,eAAgB,iBAChBsD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,oBAGVosM,4BAA6B,CAC3BjN,eAAgB,8BAChBsD,QAAS,8BACThhM,KAAM,CACJzB,KAAM,oBAGVqsM,uBAAwB,CACtBlN,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,UAAW,WAAY,YAG3C4M,UAAW,CACTnN,eAAgB,YAChBsD,QAAS,YACThhM,KAAM,CACJzB,KAAM,eAOHusM,GAA8D,CACzEpN,eAAgB,oCAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,oCACXwrJ,gBAAiB,CACf2E,gBAAiB,CACf1H,eAAgB,kBAChBE,UAAU,EACVoD,QAAS,kBACTO,gBAAgB,EAChBvhM,KAAM,CACJzB,KAAM,WAGVipM,cAAe,CACb9J,eAAgB,gBAChBE,UAAU,EACVoD,QAAS,gBACTO,gBAAgB,EAChBvhM,KAAM,CACJzB,KAAM,WAGV66F,OAAQ,CACNskG,eAAgB,SAChBsD,QAAS,SACThhM,KAAM,CACJzB,KAAM,WAGV8mM,OAAQ,CACN3H,eAAgB,SAChBsD,QAAS,SACThhM,KAAM,CACJzB,KAAM,WAGV+mM,YAAa,CACX5H,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,WAGVosJ,UAAW,CACT+yC,eAAgB,YAChBsD,QAAS,YACThhM,KAAM,CACJzB,KAAM,WAGVorE,QAAS,CACP+zH,eAAgB,UAChBsD,QAAS,QACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,6BAGfuwJ,kBAAmB,CACjB9H,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,cAOHwsM,GAAqD,CAChErN,eAAgB,2BAChBsD,QAAS,QACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,2BACXwrJ,gBAAiB,CACfuK,aAAc,CACZtN,eAAgB,eAChBsD,QAAS,eACTC,eAAgB,aAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,YACN02C,UAAW,iBAKnBizJ,UAAW,CACTxK,eAAgB,YAChBE,UAAU,EACVoD,QAAS,YACTC,eAAgB,OAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,YACN02C,UAAW,0BASZg2J,GAAuC,CAClDvN,eAAgB,aAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,aACXwrJ,gBAAiB,CACfliM,KAAM,CACJm/L,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,gBAORi2J,GAA4C,CACvDxN,eAAgB,kBAChBsD,QAAS,YACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,kBACXwrJ,gBAAiB,CACf0K,UAAW,CACTzN,eAAgB,YAChBsD,QAAS,YACTC,eAAgB,YAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,aAKd6sM,YAAa,CACX1N,eAAgB,cAChBsD,QAAS,cACTC,eAAgB,cAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,aAKd8sM,OAAQ,CACN3N,eAAgB,SAChBsD,QAAS,SACTC,eAAgB,SAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,gBASP+sM,GAAsC,CACjD5N,eAAgB,YAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,YACXwrJ,gBAAiB,CACf8K,gBAAiB,CACf7N,eAAgB,kBAChBsD,QAAS,kBACTvC,cAAc,EACdwC,eAAgB,QAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,YACN02C,UAAW,YAKnBu2J,kBAAmB,CACjB9N,eAAgB,oBAChBsD,QAAS,oBACTvC,cAAc,EACdwC,eAAgB,QAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,YACN02C,UAAW,eASZw2J,GAAkC,CAC7C/N,eAAgB,QAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,QACXwrJ,gBAAiB,CACfliM,KAAM,CACJm/L,eAAgB,OAChBE,UAAU,EACVoD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGV+nC,KAAM,CACJo3J,eAAgB,OAChBE,UAAU,EACVoD,QAAS,OACThhM,KAAM,CACJzB,KAAM,cAOHmtM,GAAqC,CAChDhO,eAAgB,WAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,WACXwrJ,gBAAiB,CACfkL,UAAW,CACTjO,eAAgB,YAChBsD,QAAS,YACTC,eAAgB,YAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,YACN02C,UAAW,gBAKnB22J,WAAY,CACVlO,eAAgB,aAChBsD,QAAS,aACTC,eAAgB,aAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,YACN02C,UAAW,iBAKnBuwJ,kBAAmB,CACjB9H,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,cAOHstM,GAAsC,CACjDnO,eAAgB,YAChBsD,QAAS,YACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,YACXwrJ,gBAAiB,CACfx1K,MAAO,CACLyyK,eAAgB,QAChBE,UAAU,EACVoD,QAAS,QACThhM,KAAM,CACJzB,KAAM,WAGV2sB,IAAK,CACHwyK,eAAgB,MAChBE,UAAU,EACVoD,QAAS,MACThhM,KAAM,CACJzB,KAAM,cAOHutM,GAAuC,CAClDpO,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,aACXwrJ,gBAAiB,CACfx1K,MAAO,CACLyyK,eAAgB,QAChBE,UAAU,EACVoD,QAAS,QACThhM,KAAM,CACJzB,KAAM,WAGV2sB,IAAK,CACHwyK,eAAgB,MAChBE,UAAU,EACVoD,QAAS,MACThhM,KAAM,CACJzB,KAAM,cAOHwtM,GAAyC,CACpDrO,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,eACXwrJ,gBAAiB,CACfuL,UAAW,CACTtO,eAAgB,YAChBE,UAAU,EACVoD,QAAS,YACThhM,KAAM,CACJzB,KAAM,WAGV0tM,WAAY,CACVvO,eAAgB,aAChBE,UAAU,EACVoD,QAAS,aACThhM,KAAM,CACJzB,KAAM,WAGV2tM,mBAAoB,CAClBxO,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,uBAGfk3J,oBAAqB,CACnBzO,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,0BAORm3J,GAA+C,CAC1D1O,eAAgB,qBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,qBACXwrJ,gBAAiB,CACf/2G,OAAQ,CACNg0G,eAAgB,SAChBsD,QAAS,SACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,mBAORo3J,GAAwC,CACnD3O,eAAgB,cAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,cACXwrJ,gBAAiB,CACfzgM,KAAM,CACJ09L,eAAgB,OAChBE,UAAU,EACVoD,QAAS,OACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,YAAa,OAAQ,QAAS,aAGlDqO,2BAA4B,CAC1B5O,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,+BAGfs3J,sBAAuB,CACrB7O,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,0BAGfu3J,mBAAoB,CAClB9O,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,uBAGfw3J,yBAA0B,CACxB/O,eAAgB,2BAChBsD,QAAS,2BACThhM,KAAM,CACJzB,KAAM,WAOHmuM,GAAuD,CAClEhP,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,6BACXwrJ,gBAAiB,CACfkM,gBAAiB,CACfjP,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVquM,WAAY,CACVlP,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,WAGVsuM,gBAAiB,CACfnP,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVuuM,WAAY,CACVpP,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,WAGVwuM,eAAgB,CACdrP,eAAgB,iBAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,eAOHyuM,GAAkD,CAC7DtP,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,wBACXwrJ,gBAAiB,CACfoM,gBAAiB,CACfnP,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH0uM,GAA+C,CAC1DvP,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,qBACXwrJ,gBAAiB,CACfyM,OAAQ,CACNxP,eAAgB,SAChBE,UAAU,EACVoD,QAAS,SACTvC,cAAc,EACdwC,eAAgB,QAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,YACN02C,UAAW,oBASZk4J,GAAuC,CAClDzP,eAAgB,aAChBsD,QAAS,QACThhM,KAAM,CACJzB,KAAM,YACN02C,UAAW,aACXwrJ,gBAAiB,CACfzgM,KAAM,CACJ09L,eAAgB,OAChBE,UAAU,EACVoD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVA,KAAM,CACJm/L,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVkzI,UAAW,CACTisD,eAAgB,YAChBsD,QAAS,YACThhM,KAAM,CACJzB,KAAM,WAGVkuF,MAAO,CACLixG,eAAgB,QAChBsD,QAAS,QACThhM,KAAM,CACJzB,KAAM,cAOH6uM,GAAwD,CACnE1P,eAAgB,+BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,8BACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHivM,GAAiE,CAC5E9P,eAAgB,wCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,uCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHkvM,GAAwD,CACnE/P,eAAgB,+BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,8BACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHmvM,GAAiE,CAC5EhQ,eAAgB,wCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,uCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHovM,GAAwD,CACnEjQ,eAAgB,+BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,8BACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHqvM,GAAiE,CAC5ElQ,eAAgB,wCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,uCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHsvM,GAAgE,CAC3EnQ,eAAgB,uCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,sCACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHuvM,GAAyE,CACpFpQ,eAAgB,gDAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,+CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHwvM,GAA+D,CAC1ErQ,eAAgB,sCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,qCACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHyvM,GAAwE,CACnFtQ,eAAgB,+CAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,8CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH0vM,GAAyD,CACpEvQ,eAAgB,gCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,+BACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGV2vM,QAAS,CACPxQ,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,eACA,eACA,iBACA,eACA,iBAINkQ,YAAa,CACXzQ,eAAgB,oBAChBsD,QAAS,oBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,UACA,cACA,YACA,cACA,sBAINmQ,+BAAgC,CAC9B1Q,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,YAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH8vM,GAAkE,CAC7E3Q,eAAgB,yCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,wCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH+vM,GAAsD,CACjE5Q,eAAgB,6BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,4BACXwrJ,gBAAiB,CACfuI,YAAa,CACXtL,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHgwM,GAA+D,CAC1E7Q,eAAgB,sCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,qCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHiwM,GAAsD,CACjE9Q,eAAgB,6BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,4BACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHkwM,GAA+D,CAC1E/Q,eAAgB,sCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,qCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHmwM,GAAmD,CAC9DhR,eAAgB,0BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,yBACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHowM,GAA4D,CACvEjR,eAAgB,mCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,kCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHqwM,GAA0D,CACrElR,eAAgB,iCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,gCACXwrJ,gBAAiB,CACfkF,SAAU,CACRjI,eAAgB,YAChBsD,QAAS,YACThhM,KAAM,CACJzB,KAAM,aACNN,MAAO,CAAE+B,KAAM,CAAEzB,KAAM,YAEzByjM,uBAAwB,cAE1B8D,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV0nM,cAAe,CACbvI,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,WAAY,WAGhC+H,WAAY,CACVtI,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,YACA,SACA,UACA,WACA,YAIN8H,YAAa,CACXrI,eAAgB,oBAChBsD,QAAS,oBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,SAAU,cAG9BoP,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVswM,iBAAkB,CAChBnR,eAAgB,0BAChBsD,QAAS,0BACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,YAAa,UAGjCkI,sBAAuB,CACrBzI,eAAgB,+BAChBsD,QAAS,+BACThhM,KAAM,CACJzB,KAAM,YAGV6nM,aAAc,CACZ1I,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,YAGV8nM,uBAAwB,CACtB3I,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,WAGVuwM,4BAA6B,CAC3BpR,eAAgB,sCAChBsD,QAAS,sCACThhM,KAAM,CACJzB,KAAM,YAGVkoM,wCAAyC,CACvC/I,eAAgB,iDAChBsD,QAAS,iDACThhM,KAAM,CACJzB,KAAM,YAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHwwM,GAAmE,CAC9ErR,eAAgB,0CAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,yCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHywM,GAAmD,CAC9DtR,eAAgB,0BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,yBACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH0wM,GAA4D,CACvEvR,eAAgB,mCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,kCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH2wM,GAAwD,CACnExR,eAAgB,+BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,8BACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH4wM,GAAiE,CAC5EzR,eAAgB,wCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,uCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH6wM,GAA4D,CACvE1R,eAAgB,mCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,kCACXwrJ,gBAAiB,CACfoO,iBAAkB,CAChBnR,eAAgB,0BAChBsD,QAAS,0BACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,YAAa,UAGjC6H,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH8wM,GAAqE,CAChF3R,eAAgB,4CAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,2CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH+wM,GAA4D,CACvE5R,eAAgB,mCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,kCACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHgxM,GAAqE,CAChF7R,eAAgB,4CAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,2CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHixM,GAAoD,CAC/D9R,eAAgB,2BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,0BACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHkxM,GAA6D,CACxE/R,eAAgB,oCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,mCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHmxM,GAAmD,CAC9DhS,eAAgB,0BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,yBACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHoxM,GAA4D,CACvEjS,eAAgB,mCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,kCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHqxM,GAAwD,CACnElS,eAAgB,+BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,8BACXwrJ,gBAAiB,CACfuI,YAAa,CACXtL,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,cAOHsxM,GAAiE,CAC5EnS,eAAgB,wCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,uCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHuxM,GAAwD,CACnEpS,eAAgB,+BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,8BACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,uBAOHwxM,GAAiE,CAC5ErS,eAAgB,wCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,uCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHyxM,GAAyD,CACpEtS,eAAgB,gCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,+BACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV0xM,QAAS,CACPvS,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,uBAOH2xM,GAAkE,CAC7ExS,eAAgB,yCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,wCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH4xM,GAAyD,CACpEzS,eAAgB,gCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,+BACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,uBAOH6xM,GAAkE,CAC7E1S,eAAgB,yCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,wCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH8xM,GAAuD,CAClE3S,eAAgB,8BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,6BACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV0xM,QAAS,CACPvS,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,uBAOH+xM,GAAgE,CAC3E5S,eAAgB,uCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,sCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHgyM,GAAuD,CAClE7S,eAAgB,8BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,6BACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGViyM,UAAW,CACT9S,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,uBAOHkyM,GAAgE,CAC3E/S,eAAgB,uCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,sCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHmyM,GAAwD,CACnEhT,eAAgB,+BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,8BACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV0xM,QAAS,CACPvS,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,uBAOHoyM,GAAiE,CAC5EjT,eAAgB,wCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,uCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHqyM,GAAgE,CAC3ElT,eAAgB,uCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,sCACXwrJ,gBAAiB,CACfuI,YAAa,CACXtL,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHsyM,GAAyE,CACpFnT,eAAgB,gDAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,+CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHuyM,GAAqE,CAChFpT,eAAgB,4CAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,2CACXwrJ,gBAAiB,CACfuI,YAAa,CACXtL,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHwyM,GAA8E,CACzFrT,eAAgB,qDAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,oDACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHyyM,GAA2D,CACtEtT,eAAgB,kCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,iCACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGV2vM,QAAS,CACPxQ,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,eACA,eACA,iBACA,eACA,iBAINkQ,YAAa,CACXzQ,eAAgB,oBAChBsD,QAAS,oBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,UACA,cACA,YACA,cACA,yBAQCgT,GAAoE,CAC/EvT,eAAgB,2CAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,0CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH2yM,GAAgD,CAC3DxT,eAAgB,uBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,sBACXwrJ,gBAAiB,CACfoF,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGVonM,SAAU,CACRjI,eAAgB,YAChBsD,QAAS,YACThhM,KAAM,CACJzB,KAAM,aACNN,MAAO,CAAE+B,KAAM,CAAEzB,KAAM,YAEzByjM,uBAAwB,cAE1BmP,0BAA2B,CACzBzT,eAAgB,oBAChBsD,QAAS,oBACThhM,KAAM,CACJzB,KAAM,WAGV6yM,uBAAwB,CACtB1T,eAAgB,UAChBsD,QAAS,UACThhM,KAAM,CACJzB,KAAM,aACNN,MAAO,CAAE+B,KAAM,CAAEzB,KAAM,YAEzByjM,uBAAwB,YAE1B+G,cAAe,CACbrL,eAAgB,iBAChBsD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,WAGVyqM,YAAa,CACXtL,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV8yM,aAAc,CACZ3T,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGVunM,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGV4qM,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV0qM,gBAAiB,CACfvL,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,WAGV8qM,aAAc,CACZ3L,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGV6qM,mBAAoB,CAClB1L,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,WAGV2qM,gBAAiB,CACfxL,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,WAGV+qM,mBAAoB,CAClB5L,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,WAGVgrM,SAAU,CACR7L,eAAgB,iBAChBsD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,YAAa,WAAY,gBAG7C2L,gBAAiB,CACflM,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,oBAGVsrM,sBAAuB,CACrBnM,eAAgB,+BAChBsD,QAAS,+BACThhM,KAAM,CACJzB,KAAM,WAGVirM,OAAQ,CACN9L,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVorM,aAAc,CACZjM,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,WAGVmrM,WAAY,CACVhM,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,WAGVkrM,WAAY,CACV/L,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,UAAW,UAAW,UAAW,YAGrDgI,cAAe,CACbvI,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,WAAY,WAGhC+H,WAAY,CACVtI,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,YACA,SACA,UACA,WACA,YAIN8H,YAAa,CACXrI,eAAgB,oBAChBsD,QAAS,oBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,SAAU,cAG9BoP,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV8pM,UAAW,CACT3K,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGV+pM,iBAAkB,CAChB5K,eAAgB,0BAChBsD,QAAS,0BACThhM,KAAM,CACJzB,KAAM,YAGV+yM,aAAc,CACZ5T,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgzM,wBAAyB,CACvB7T,eAAgB,kCAChBsD,QAAS,kCACThhM,KAAM,CACJzB,KAAM,WAGVizM,kBAAmB,CACjB9T,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,YAGVkzM,oBAAqB,CACnB/T,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVmzM,eAAgB,CACdhU,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,cAGVgsM,SAAU,CACR7M,eAAgB,iBAChBsD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,WAGVisM,SAAU,CACR9M,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,YAGVozM,aAAc,CACZjU,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,oBAGVosM,4BAA6B,CAC3BjN,eAAgB,sCAChBsD,QAAS,sCACThhM,KAAM,CACJzB,KAAM,oBAGVqsM,uBAAwB,CACtBlN,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,UAAW,WAAY,YAG3C4M,UAAW,CACTnN,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,YAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVqzM,aAAc,CACZlU,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,iBAOHszM,GAAyD,CACpEnU,eAAgB,gCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,+BACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHuzM,GAAqD,CAChEpU,eAAgB,4BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,2BACXwrJ,gBAAiB,CACfoF,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGVuqM,UAAW,CACTpL,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,oBAGVonM,SAAU,CACRjI,eAAgB,YAChBsD,QAAS,YACThhM,KAAM,CACJzB,KAAM,aACNN,MAAO,CAAE+B,KAAM,CAAEzB,KAAM,YAEzByjM,uBAAwB,cAE1BmP,0BAA2B,CACzBzT,eAAgB,oBAChBsD,QAAS,oBACThhM,KAAM,CACJzB,KAAM,WAGV6yM,uBAAwB,CACtB1T,eAAgB,UAChBsD,QAAS,UACThhM,KAAM,CACJzB,KAAM,aACNN,MAAO,CAAE+B,KAAM,CAAEzB,KAAM,YAEzByjM,uBAAwB,YAE1BuH,SAAU,CACR7L,eAAgB,iBAChBsD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,YAAa,WAAY,gBAG7C2L,gBAAiB,CACflM,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,oBAGVsrM,sBAAuB,CACrBnM,eAAgB,+BAChBsD,QAAS,+BACThhM,KAAM,CACJzB,KAAM,WAGVirM,OAAQ,CACN9L,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVorM,aAAc,CACZjM,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,WAGVmrM,WAAY,CACVhM,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,WAGVkrM,WAAY,CACV/L,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,UAAW,UAAW,UAAW,YAGrD8T,kBAAmB,CACjBrU,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,YAGVyrM,oBAAqB,CACnBtM,eAAgB,iCAChBsD,QAAS,iCACThhM,KAAM,CACJzB,KAAM,WAGV0nM,cAAe,CACbvI,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,WAAY,WAGhC+H,WAAY,CACVtI,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,YACA,SACA,UACA,WACA,YAIN8H,YAAa,CACXrI,eAAgB,oBAChBsD,QAAS,oBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,SAAU,cAG9B8K,cAAe,CACbrL,eAAgB,iBAChBsD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,WAGVyqM,YAAa,CACXtL,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVunM,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGV4qM,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV0qM,gBAAiB,CACfvL,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,WAGV6qM,mBAAoB,CAClB1L,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,WAGV2qM,gBAAiB,CACfxL,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,WAGV8qM,aAAc,CACZ3L,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGV+qM,mBAAoB,CAClB5L,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGV+yM,aAAc,CACZ5T,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGVgzM,wBAAyB,CACvB7T,eAAgB,kCAChBsD,QAAS,kCACThhM,KAAM,CACJzB,KAAM,WAGVizM,kBAAmB,CACjB9T,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,YAGVkzM,oBAAqB,CACnB/T,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGV0rM,WAAY,CACVvM,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,WAGV2rM,mBAAoB,CAClBxM,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,YAGV4rM,cAAe,CACbzM,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,WAGV+rM,oBAAqB,CACnB5M,eAAgB,+BAChBsD,QAAS,+BACThhM,KAAM,CACJzB,KAAM,oBAGV8pM,UAAW,CACT3K,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGV+pM,iBAAkB,CAChB5K,eAAgB,0BAChBsD,QAAS,0BACThhM,KAAM,CACJzB,KAAM,YAGVgsM,SAAU,CACR7M,eAAgB,iBAChBsD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,WAGVqoM,UAAW,CACTlJ,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,oBAGVisM,SAAU,CACR9M,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,YAGVksM,kBAAmB,CACjB/M,eAAgB,0BAChBsD,QAAS,0BACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,OAAQ,cAG5B0T,aAAc,CACZjU,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,oBAGVosM,4BAA6B,CAC3BjN,eAAgB,sCAChBsD,QAAS,sCACThhM,KAAM,CACJzB,KAAM,oBAGVqsM,uBAAwB,CACtBlN,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,UAAW,WAAY,YAG3C4M,UAAW,CACTnN,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,YAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHyzM,GAA8D,CACzEtU,eAAgB,qCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,oCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH0zM,GAA8C,CACzDvU,eAAgB,qBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,oBACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH2zM,GAAuD,CAClExU,eAAgB,8BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,6BACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH4zM,GAAgD,CAC3DzU,eAAgB,uBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,sBACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH6zM,GAAyD,CACpE1U,eAAgB,gCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,+BACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH8zM,GAAiD,CAC5D3U,eAAgB,wBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,uBACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,uBAOH+zM,GAA0D,CACrE5U,eAAgB,iCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,gCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHg0M,GAAsD,CACjE7U,eAAgB,6BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,4BACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV+qM,mBAAoB,CAClB5L,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHi0M,GAA+D,CAC1E9U,eAAgB,sCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,qCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHk0M,GAA6D,CACxE/U,eAAgB,oCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,mCACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVm0M,yBAA0B,CACxBhV,eAAgB,sCAChBsD,QAAS,sCACThhM,KAAM,CACJzB,KAAM,oBAGVqsM,uBAAwB,CACtBlN,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,UAAW,WAAY,eAOpC0U,GAAsE,CACjFjV,eAAgB,6CAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,4CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHq0M,GAAgE,CAC3ElV,eAAgB,uCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,sCACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,uBAOHs0M,GAAyE,CACpFnV,eAAgB,gDAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,+CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHu0M,GAAoD,CAC/DpV,eAAgB,2BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,0BACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVssM,UAAW,CACTnN,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,eAOHw0M,GAA6D,CACxErV,eAAgB,oCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,mCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHy0M,GAAmD,CAC9DtV,eAAgB,0BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,yBACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV8pM,UAAW,CACT3K,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVizM,kBAAmB,CACjB9T,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAGVkzM,oBAAqB,CACnB/T,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH00M,GAA4D,CACvEvV,eAAgB,mCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,kCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH20M,GAAoD,CAC/DxV,eAAgB,2BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,0BACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV0xM,QAAS,CACPvS,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,uBAOH40M,GAA6D,CACxEzV,eAAgB,oCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,mCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH60M,GAAoD,CAC/D1V,eAAgB,2BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,0BACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,uBAOH80M,GAA6D,CACxE3V,eAAgB,oCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,mCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH+0M,GAAkD,CAC7D5V,eAAgB,yBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,wBACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV0xM,QAAS,CACPvS,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,uBAOHg1M,GAA2D,CACtE7V,eAAgB,kCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,iCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHi1M,GAAmD,CAC9D9V,eAAgB,0BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,yBACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGV0xM,QAAS,CACPvS,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,uBAOHk1M,GAA4D,CACvE/V,eAAgB,mCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,kCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHm1M,GAAkD,CAC7DhW,eAAgB,yBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,wBACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGViyM,UAAW,CACT9S,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,uBAOHo1M,GAA2D,CACtEjW,eAAgB,kCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,iCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHq1M,GAAsD,CACjElW,eAAgB,6BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,4BACXwrJ,gBAAiB,CACf2H,SAAU,CACR1K,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGVunM,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV8pM,UAAW,CACT3K,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVizM,kBAAmB,CACjB9T,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHs1M,GAA+D,CAC1EnW,eAAgB,sCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,qCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHu1M,GAAwD,CACnEpW,eAAgB,+BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,8BACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV8pM,UAAW,CACT3K,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVirM,OAAQ,CACN9L,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVkrM,WAAY,CACV/L,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,UAAW,UAAW,UAAW,YAGrDsP,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHw1M,GAAiE,CAC5ErW,eAAgB,wCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,uCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHy1M,GAAmD,CAC9DtW,eAAgB,0BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,yBACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV8pM,UAAW,CACT3K,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVirM,OAAQ,CACN9L,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVkrM,WAAY,CACVh6L,aAAc,UACdkuL,YAAY,EACZD,eAAgB,mBAChB19L,KAAM,CACJzB,KAAM,WAGV4qM,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV01M,gBAAiB,CACfvW,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,cAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH21M,GAA4D,CACvExW,eAAgB,mCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,kCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH41M,GAAwD,CACnEzW,eAAgB,+BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,8BACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH61M,GAAiE,CAC5E1W,eAAgB,wCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,uCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH81M,GAA+C,CAC1D3W,eAAgB,sBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,qBACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH+1M,GAAwD,CACnE5W,eAAgB,+BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,8BACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHg2M,GAAsD,CACjE7W,eAAgB,6BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,4BACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGV2vM,QAAS,CACPxQ,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,eACA,eACA,iBACA,eACA,iBAINkQ,YAAa,CACXzQ,eAAgB,oBAChBsD,QAAS,oBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,UACA,cACA,YACA,cACA,yBAQCuW,GAA+D,CAC1E9W,eAAgB,sCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,qCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHk2M,GAA6C,CACxD/W,eAAgB,oBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,mBACXwrJ,gBAAiB,CACfoF,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGVonM,SAAU,CACRjI,eAAgB,YAChBsD,QAAS,YACThhM,KAAM,CACJzB,KAAM,aACNN,MAAO,CAAE+B,KAAM,CAAEzB,KAAM,aAG3BwqM,cAAe,CACbrL,eAAgB,iBAChBsD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,WAGVyqM,YAAa,CACXtL,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV8yM,aAAc,CACZ3T,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGVunM,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGV4qM,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV0qM,gBAAiB,CACfvL,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,WAGV8qM,aAAc,CACZ3L,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGV6qM,mBAAoB,CAClB1L,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,WAGV2qM,gBAAiB,CACfxL,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,WAGV+qM,mBAAoB,CAClB5L,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,WAGVgrM,SAAU,CACR7L,eAAgB,iBAChBsD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,YAAa,WAAY,gBAG7CyW,mBAAoB,CAClBhX,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,oBAGVsrM,sBAAuB,CACrBnM,eAAgB,+BAChBsD,QAAS,+BACThhM,KAAM,CACJzB,KAAM,WAGVirM,OAAQ,CACN9L,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVorM,aAAc,CACZjM,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,WAGVmrM,WAAY,CACVhM,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,WAGVkrM,WAAY,CACV/L,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,UAAW,UAAW,UAAW,YAGrDgI,cAAe,CACbvI,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,WAAY,WAGhC+H,WAAY,CACVtI,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,YACA,SACA,UACA,WACA,YAIN8H,YAAa,CACXrI,eAAgB,oBAChBsD,QAAS,oBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,SAAU,cAG9BoP,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV+yM,aAAc,CACZ5T,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgzM,wBAAyB,CACvB7T,eAAgB,kCAChBsD,QAAS,kCACThhM,KAAM,CACJzB,KAAM,WAGVizM,kBAAmB,CACjB9T,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,YAGVkzM,oBAAqB,CACnB/T,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVmzM,eAAgB,CACdhU,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,cAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVqzM,aAAc,CACZlU,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,iBAOHo2M,GAAsD,CACjEjX,eAAgB,6BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,4BACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHq2M,GAA+C,CAC1DlX,eAAgB,sBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,qBACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHs2M,GAAwD,CACnEnX,eAAgB,+BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,8BACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHu2M,GAA+C,CAC1DpX,eAAgB,sBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,qBACXwrJ,gBAAiB,CACf4M,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHw2M,GAAwD,CACnErX,eAAgB,+BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,8BACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHy2M,GAAkD,CAC7DtX,eAAgB,yBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,wBACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV4qM,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV8pM,UAAW,CACT3K,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVizM,kBAAmB,CACjB9T,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAGVkzM,oBAAqB,CACnB/T,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH02M,GAA2D,CACtEvX,eAAgB,kCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,iCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH22M,GAAuD,CAClExX,eAAgB,8BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,6BACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV4qM,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV01M,gBAAiB,CACfvW,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,cAGV+qM,mBAAoB,CAClB5L,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVizM,kBAAmB,CACjB9T,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAGVkzM,oBAAqB,CACnB/T,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH42M,GAAgE,CAC3EzX,eAAgB,uCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,sCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH62M,GAAsD,CACjE1X,eAAgB,6BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,4BACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV4qM,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV01M,gBAAiB,CACfvW,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,cAGV+qM,mBAAoB,CAClB5L,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH82M,GAA+D,CAC1E3X,eAAgB,sCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,qCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH+2M,GAA8D,CACzE5X,eAAgB,qCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,oCACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV4qM,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV01M,gBAAiB,CACfvW,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,cAGV+qM,mBAAoB,CAClB5L,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVizM,kBAAmB,CACjB9T,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAGVkzM,oBAAqB,CACnB/T,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHg3M,GAAuE,CAClF7X,eAAgB,8CAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,6CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHi3M,GAAyD,CACpE9X,eAAgB,gCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,+BACXwrJ,gBAAiB,CACfoF,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGVunM,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVk3M,kBAAmB,CACjB/X,eAAgB,2BAChBsD,QAAS,2BACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHm3M,GAAkE,CAC7EhY,eAAgB,yCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,wCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHo3M,GAA6D,CACxEjY,eAAgB,oCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,mCACXwrJ,gBAAiB,CACfoF,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGVunM,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVk3M,kBAAmB,CACjB/X,eAAgB,2BAChBsD,QAAS,2BACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHq3M,GAAsE,CACjFlY,eAAgB,6CAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,4CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHs3M,GAAkD,CAC7DnY,eAAgB,yBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,wBACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV+qM,mBAAoB,CAClB5L,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHu3M,GAA2D,CACtEpY,eAAgB,kCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,iCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHw3M,GAAgE,CAC3ErY,eAAgB,uCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,sCACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV+qM,mBAAoB,CAClB5L,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHy3M,GAAyE,CACpFtY,eAAgB,gDAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,+CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH03M,GAA2D,CACtEvY,eAAgB,kCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,iCACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVirM,OAAQ,CACN9L,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVkrM,WAAY,CACV/L,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,UAAW,UAAW,UAAW,YAGrDsP,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH23M,GAAoE,CAC/ExY,eAAgB,2CAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,0CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH43M,GAAoD,CAC/DzY,eAAgB,2BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,0BACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV4qM,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV8pM,UAAW,CACT3K,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVizM,kBAAmB,CACjB9T,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAGVkzM,oBAAqB,CACnB/T,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH63M,GAA6D,CACxE1Y,eAAgB,oCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,mCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH83M,GAAyD,CACpE3Y,eAAgB,gCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,+BACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV4qM,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV01M,gBAAiB,CACfvW,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,cAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGV+3M,iBAAkB,CAChB5Y,eAAgB,0BAChBsD,QAAS,0BACThhM,KAAM,CACJzB,KAAM,WAGVgzM,wBAAyB,CACvB7T,eAAgB,kCAChBsD,QAAS,kCACThhM,KAAM,CACJzB,KAAM,WAGVizM,kBAAmB,CACjB9T,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAGVkzM,oBAAqB,CACnB/T,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHg4M,GAAkE,CAC7E7Y,eAAgB,yCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,wCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHi4M,GAAgE,CAC3E9Y,eAAgB,uCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,sCACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV4qM,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV01M,gBAAiB,CACfvW,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,cAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGV+3M,iBAAkB,CAChB5Y,eAAgB,0BAChBsD,QAAS,0BACThhM,KAAM,CACJzB,KAAM,WAGVgzM,wBAAyB,CACvB7T,eAAgB,kCAChBsD,QAAS,kCACThhM,KAAM,CACJzB,KAAM,WAGVkzM,oBAAqB,CACnB/T,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVizM,kBAAmB,CACjB9T,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHk4M,GAAyE,CACpF/Y,eAAgB,gDAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,+CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHm4M,GAAkD,CAC7DhZ,eAAgB,yBAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,wBACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVisM,SAAU,CACR9M,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,eAOHo4M,GAA2D,CACtEjZ,eAAgB,kCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,iCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHq4M,GAAmD,CAC9DlZ,eAAgB,0BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,yBACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV4qM,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV8pM,UAAW,CACT3K,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVizM,kBAAmB,CACjB9T,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAGVkzM,oBAAqB,CACnB/T,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHs4M,GAA4D,CACvEnZ,eAAgB,mCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,kCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHu4M,GAA2D,CACtEpZ,eAAgB,kCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,iCACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV4qM,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV8pM,UAAW,CACT3K,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVizM,kBAAmB,CACjB9T,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAGVkzM,oBAAqB,CACnB/T,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHw4M,GAAoE,CAC/ErZ,eAAgB,2CAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,0CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHy4M,GAAuD,CAClEtZ,eAAgB,8BAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,6BACXwrJ,gBAAiB,CACf0I,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGV01M,gBAAiB,CACfvW,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,cAGVizM,kBAAmB,CACjB9T,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAGVkzM,oBAAqB,CACnB/T,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH04M,GAAgE,CAC3EvZ,eAAgB,uCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,sCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH24M,GAA8D,CACzExZ,eAAgB,qCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,oCACXwrJ,gBAAiB,CACf0I,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV01M,gBAAiB,CACfvW,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,cAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVizM,kBAAmB,CACjB9T,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAGVkzM,oBAAqB,CACnB/T,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH44M,GAAuE,CAClFzZ,eAAgB,8CAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,6CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH64M,GAA4D,CACvE1Z,eAAgB,mCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,kCACXwrJ,gBAAiB,CACfqF,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVsnM,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGV4qM,WAAY,CACVzL,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,cAGV01M,gBAAiB,CACfvW,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,cAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGV8pM,UAAW,CACT3K,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVizM,kBAAmB,CACjB9T,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAGVkzM,oBAAqB,CACnB/T,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,WAGV8rM,gBAAiB,CACf3M,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,WAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH84M,GAAqE,CAChF3Z,eAAgB,4CAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,2CACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOH+4M,GAAyD,CACpE5Z,eAAgB,gCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,+BACXwrJ,gBAAiB,CACfoF,aAAc,CACZnI,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,oBAGVunM,KAAM,CACJpI,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,WAGVyqM,YAAa,CACXtL,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVk3M,kBAAmB,CACjB/X,eAAgB,2BAChBsD,QAAS,2BACThhM,KAAM,CACJzB,KAAM,WAGV8uM,gBAAiB,CACf3P,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,WAGV+uM,UAAW,CACT5P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,WAGVmxC,QAAS,CACPguJ,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,WAGVmpB,KAAM,CACJg2K,eAAgB,OAChBsD,QAAS,OACThhM,KAAM,CACJzB,KAAM,oBAGVgvM,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cAOHg5M,GAAkE,CAC7E7Z,eAAgB,yCAChB19L,KAAM,CACJzB,KAAM,YACN02C,UAAW,wCACXwrJ,gBAAiB,CACf8M,UAAW,CACT7P,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,eDxqQhB,SAAY2kM,GAIVA,EAAAA,IAAAA,IAIAA,EAAAA,IAAAA,IAIAA,EAAAA,IAAAA,KAIAA,EAAAA,MAAAA,IAIAA,EAAAA,MAAAA,QApBF,CAAYA,KAAAA,GAAqB,KEgB1B,IChBKsU,GDgBCxO,GAAkC,CAC7CyO,cAAe,CAAC,UAAW,eAC3Bxb,OAAQ,CACNxsL,aAAc,kBACdkuL,YAAY,EACZD,eAAgB,eAChB19L,KAAM,CACJzB,KAAM,YAKCm5M,GAA4C,CACvDD,cAAe,wBACfxb,OAAQ0b,IAGGC,GAA6B,CACxCH,cAAe,SACfxb,OAAQ,CACNxsL,aAAc,kBACdkuL,YAAY,EACZD,eAAgB,SAChB19L,KAAM,CACJzB,KAAM,YAKC6pB,GAA6B,CACxCqvL,cAAe,MACfxb,OAAQ,CACNyB,eAAgB,MAChBE,UAAU,EACVoD,QAAS,MACThhM,KAAM,CACJzB,KAAM,WAGVs5M,cAAc,GAGHC,GAAmC,CAC9CL,cAAe,UACfxb,OAAQ,CACNxsL,aAAc,UACdkuL,YAAY,EACZD,eAAgB,UAChB19L,KAAM,CACJzB,KAAM,YAKCw5M,GAAgC,CAC3CN,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,aACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YAKCy5M,GAA4C,CACvDP,cAAe,CAAC,UAAW,oBAC3Bxb,OAAQ,CACNK,YAAa,CACXK,iBAAkB,GAEpBe,eAAgB,UAChBsD,QAAS,UACThhM,KAAM,CACJzB,KAAM,YAKCmxC,GAA8B,CACzC+nK,cAAe,UACfxb,OAAQ,CACNxsL,aAAc,aACdkuL,YAAY,EACZD,eAAgB,eAChB19L,KAAM,CACJzB,KAAM,YAKC+uM,GAAgC,CAC3CmK,cAAe,CAAC,UAAW,aAC3Bxb,OAAQ,CACNyB,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,YAKC05M,GAA8B,CACzCR,cAAe,SACfxb,OAAQ,CACNxsL,aAAc,kBACdkuL,YAAY,EACZD,eAAgB,SAChB19L,KAAM,CACJzB,KAAM,YAiBC25M,GAAiC,CAC5CT,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,OACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YAKC66F,GAAkC,CAC7Cq+G,cAAe,CAAC,UAAW,UAC3Bxb,OAAQ,CACNyB,eAAgB,SAChBsD,QAAS,SACThhM,KAAM,CACJzB,KAAM,YAKC8mM,GAAkC,CAC7CoS,cAAe,CAAC,UAAW,UAC3Bxb,OAAQ,CACNyB,eAAgB,SAChBsD,QAAS,SACThhM,KAAM,CACJzB,KAAM,YAKC+mM,GAAuC,CAClDmS,cAAe,CAAC,UAAW,eAC3Bxb,OAAQ,CACNK,YAAa,CACXK,iBAAkB,GAEpBe,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,YAKC45M,GAAmC,CAC9CV,cAAe,CAAC,UAAW,WAC3Bxb,OAAQ,CACNyB,eAAgB,UAChBsD,QAAS,UACTC,eAAgB,4BAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,WAAY,UAAW,cAK/Cma,iBAAkBlV,GAAsBmV,KAG7BC,GAA8B,CACzCb,cAAe,UACfxb,OAAQsc,IAeGC,GAAoC,CAC/Cf,cAAe,UACfxb,OAAQ,CACNxsL,aAAc,UACdkuL,YAAY,EACZD,eAAgB,UAChB19L,KAAM,CACJzB,KAAM,YAKC+Q,GAA2B,CACtCmoM,cAAe,OACfxb,OAAQ,CACNyB,eAAgB,OAChBE,UAAU,EACVoD,QAAS,OACThhM,KAAM,CACJzB,KAAM,YAKCk6M,GAAiC,CAC5ChB,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,QACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YAKCwqM,GAAoC,CAC/C0O,cAAe,gBACfxb,OAAQ,CACNyB,eAAgB,iBAChBE,UAAU,EACVoD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,YAKCm6M,GAA2C,CACtDjB,cAAe,uBACfxb,OAAQ,CACNyB,eAAgB,eAChBE,UAAU,EACVoD,QAAS,eACThhM,KAAM,CACJzB,KAAM,YAKCo6M,GAAiC,CAC5ClB,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,QACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YAKC8oM,GAAiC,CAC5CoQ,cAAe,CAAC,UAAW,SAC3Bxb,OAAQ,CACNyB,eAAgB,QAChBsD,QAAS,QACThhM,KAAM,CACJzB,KAAM,YAKCq6M,GAAoC,CAC/CnB,cAAe,UACfxb,OAAQ,CACNxsL,aAAc,YACdkuL,YAAY,EACZD,eAAgB,UAChB19L,KAAM,CACJzB,KAAM,YAKConM,GAA+B,CAC1C8R,cAAe,CAAC,UAAW,YAC3Bxb,OAAQ,CACNyB,eAAgB,YAChBsD,QAAS,YACThhM,KAAM,CACJzB,KAAM,aACNN,MAAO,CAAE+B,KAAM,CAAEzB,KAAM,YAEzByjM,uBAAwB,eAIf6W,GAA6B,CACxCpB,cAAe,CAAC,UAAW,UAC3Bxb,OAAQ,CACNyB,eAAgB,0BAChBsD,QAAS,0BACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,YAAa,WAmCtBgS,GAA8B,CACzCwH,cAAe,CAAC,UAAW,wBAAyB,WACpDxb,OAAQ,CACNyB,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,YAKCu6M,GAAsC,CACjDrB,cAAe,CAAC,UAAW,2BAA4B,mBACvDxb,OAAQ,CACNyB,eAAgB,oBAChBsD,QAAS,oBACThhM,KAAM,CACJzB,KAAM,qBAKCw6M,GAAwC,CACnDtB,cAAe,CAAC,UAAW,2BAA4B,qBACvDxb,OAAQ,CACNyB,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,qBAKCy6M,GAAiC,CAC5CvB,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,WACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YAKC06M,GAAiC,CAC5CxB,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,MACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YAwBC26M,GAAiC,CAC5CzB,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,WACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YA8DC46M,GAAkC,CAC7C1B,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,QACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YAKCs/B,GAA6B,CACxC45K,cAAe,SACfxb,OAAQ,CACNxsL,aAAc,UACdkuL,YAAY,EACZD,eAAgB,oBAChB19L,KAAM,CACJzB,KAAM,YAKCmvF,GAA+B,CAC1C+pH,cAAe,CAAC,UAAW,YAC3Bxb,OAAQ,CACNyB,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,YAKC66M,GAAsC,CACjD3B,cAAe,CAAC,UAAW,mBAC3Bxb,OAAQ,CACNyB,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,YAKC86M,GAA8B,CACzC5B,cAAe,SACfxb,OAAQ,CACNxsL,aAAc,UACdkuL,YAAY,EACZD,eAAgB,oBAChB19L,KAAM,CACJzB,KAAM,YAKC+6M,GAA+B,CAC1C7B,cAAe,UACfxb,OAAQ,CACNyB,eAAgB,gBAChBE,UAAU,EACVoD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,YAKCg7M,GAA8B,CACzC9B,cAAe,SACfxb,OAAQ,CACNxsL,aAAc,QACdkuL,YAAY,EACZD,eAAgB,oBAChB19L,KAAM,CACJzB,KAAM,YAKCi7M,GAA8B,CACzC/B,cAAe,SACfxb,OAAQ,CACNxsL,aAAc,QACdkuL,YAAY,EACZD,eAAgB,oBAChB19L,KAAM,CACJzB,KAAM,YAKCk7M,GAAkC,CAC7ChC,cAAe,CAAC,UAAW,eAC3Bxb,OAAQ,CACNyB,eAAgB,0BAChBsD,QAAS,0BACThhM,KAAM,CACJzB,KAAM,YAKCm7M,GAA8B,CACzCjC,cAAe,SACfxb,OAAQ,CACNxsL,aAAc,SACdkuL,YAAY,EACZD,eAAgB,oBAChB19L,KAAM,CACJzB,KAAM,YAKCo7M,GAAuC,CAClDlC,cAAe,kBACfxb,OAAQ,CACNyB,eAAgB,yBAChBE,UAAU,EACVoD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,YAKCq7M,GAAoC,CAC/CnC,cAAe,CAAC,UAAW,WAC3Bxb,OAAQ,CACNyB,eAAgB,UAChBsD,QAAS,UACTC,eAAgB,uBAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,OACA,UACA,WACA,YACA,mBACA,WACA,OACA,qBACA,YACA,2BAMVma,iBAAkBlV,GAAsBmV,KAe7BjQ,GAAoC,CAC/CqP,cAAe,CAAC,UAAW,YAC3Bxb,OAAQ,CACNyB,eAAgB,WAChBsD,QAAS,WACThhM,KAAM,CACJzB,KAAM,YAKC8pM,GAAqC,CAChDoP,cAAe,CAAC,UAAW,aAC3Bxb,OAAQ,CACNyB,eAAgB,YAChBsD,QAAS,YACThhM,KAAM,CACJzB,KAAM,YAKCwpB,GAA4B,CACvC0vL,cAAe,CAAC,UAAW,SAC3Bxb,OAAQ,CACNyB,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,YA2BCs7M,GAAoC,CAC/CpC,cAAe,CAAC,UAAW,UAAW,iBACtCxb,OAAQ,CACNyB,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,YAKCkzM,GAA0C,CACrDgG,cAAe,CAAC,UAAW,UAAW,uBACtCxb,OAAQ,CACNyB,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,YAKCu7M,GAA0C,CACrDrC,cAAe,CAAC,UAAW,UAAW,uBACtCxb,OAAQ,CACNyB,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,YAKCw7M,GAA8B,CACzCtC,cAAe,CAAC,UAAW,2BAA4B,WACvDxb,OAAQ,CACNyB,eAAgB,WAChBsD,QAAS,WACThhM,KAAM,CACJzB,KAAM,YAKCy7M,GAAkC,CAC7CvC,cAAe,CAAC,UAAW,2BAA4B,eACvDxb,OAAQ,CACNyB,eAAgB,gBAChBsD,QAAS,gBACThhM,KAAM,CACJzB,KAAM,YAKC07M,GAA6B,CACxCxC,cAAe,CAAC,UAAW,2BAA4B,UACvDxb,OAAQ,CACNyB,eAAgB,eAChBsD,QAAS,eACThhM,KAAM,CACJzB,KAAM,YA+DC27M,GAAuC,CAClDzC,cAAe,CAAC,UAAW,kBAAmB,oBAC9Cxb,OAAQ,CACNyB,eAAgB,0BAChBsD,QAAS,0BACThhM,KAAM,CACJzB,KAAM,YAKC47M,GAAsC,CACjD1C,cAAe,CAAC,UAAW,kBAAmB,mBAC9Cxb,OAAQ,CACNyB,eAAgB,yBAChBsD,QAAS,yBACThhM,KAAM,CACJzB,KAAM,YAKCmzM,GAAqC,CAChD+F,cAAe,CAAC,UAAW,kBAAmB,kBAC9Cxb,OAAQ,CACNyB,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,eAKC67M,GAA0C,CACrD3C,cAAe,CAAC,UAAW,kBAAmB,uBAC9Cxb,OAAQ,CACNyB,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,YAKC87M,GAA0C,CACrD5C,cAAe,CAAC,UAAW,kBAAmB,uBAC9Cxb,OAAQ,CACNyB,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,YAKC+7M,GAA6C,CACxD7C,cAAe,CAAC,UAAW,kBAAmB,0BAC9Cxb,OAAQ,CACNyB,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAKCg8M,GAAkC,CAC7C9C,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,uBACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YAKCm0M,GAA+C,CAC1D+E,cAAe,CAAC,UAAW,4BAC3Bxb,OAAQ,CACNyB,eAAgB,sCAChBsD,QAAS,sCACThhM,KAAM,CACJzB,KAAM,qBAKCqsM,GAA6C,CACxD6M,cAAe,CAAC,UAAW,0BAC3Bxb,OAAQ,CACNyB,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,UAAW,WAAY,aA6BhCoM,GAAsC,CACjDoN,cAAe,CAAC,UAAW,mBAC3Bxb,OAAQ,CACNyB,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,YAiBCi8M,GAA2B,CACtC/C,cAAe,CAAC,UAAW,QAC3Bxb,OAAQ,CACNyB,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,cAMKwM,GAAwC,CACnDgN,cAAe,CAAC,UAAW,qBAC3Bxb,OAAQ,CACNyB,eAAgB,0BAChBsD,QAAS,0BACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,OAAQ,eAKjBwc,GAA4C,CACvDhD,cAAe,CACb,UACA,iCACA,yBAEFxb,OAAQ,CACNyB,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,qBAKCm8M,GAA8C,CACzDjD,cAAe,CACb,UACA,iCACA,2BAEFxb,OAAQ,CACNyB,eAAgB,kCAChBsD,QAAS,kCACThhM,KAAM,CACJzB,KAAM,qBAKCo8M,GAAoC,CAC/ClD,cAAe,CAAC,UAAW,iCAAkC,iBAC7Dxb,OAAQ,CACNyB,eAAgB,uBAChBsD,QAAS,uBACThhM,KAAM,CACJzB,KAAM,YAKCq8M,GAAwC,CACnDnD,cAAe,CACb,UACA,iCACA,qBAEFxb,OAAQ,CACNyB,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,YAKCs8M,GAAmC,CAC9CpD,cAAe,CAAC,UAAW,iCAAkC,gBAC7Dxb,OAAQ,CACNyB,eAAgB,sBAChBsD,QAAS,sBACThhM,KAAM,CACJzB,KAAM,YAKCmrM,GAAiC,CAC5C+N,cAAe,aACfxb,OAAQ,CACNyB,eAAgB,mBAChBE,UAAU,EACVoD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,YAKCu8M,GAAqC,CAChDrD,cAAe,CAAC,UAAW,kBAC3Bxb,OAAQ,CACNyB,eAAgB,YAChBsD,QAAS,YACThhM,KAAM,CACJzB,KAAM,YAgBCw8M,GAAiC,CAC5CtD,cAAe,CAAC,UAAW,aAC3Bxb,OAAQ,CACNyB,eAAgB,kBAChBsD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,aAiBCy8M,GAAuC,CAClDvD,cAAe,CAAC,UAAW,oBAC3Bxb,OAAQ,CACNyB,eAAgB,0BAChBsD,QAAS,0BACThhM,KAAM,CACJzB,KAAM,eAKC08M,GAA8C,CACzDxD,cAAe,CAAC,UAAW,2BAC3Bxb,OAAQ,CACNyB,eAAgB,iCAChBsD,QAAS,iCACThhM,KAAM,CACJzB,KAAM,YAKC28M,GAAqC,CAChDzD,cAAe,CAAC,UAAW,kBAC3Bxb,OAAQ,CACNyB,eAAgB,8BAChBsD,QAAS,8BACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,UAAW,WAiFpBkd,GAAmC,CAC9C1D,cAAe,CAAC,UAAW,gBAC3Bxb,OAAQmf,IAeGC,GAAkC,CAC7C5D,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,OACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YAKCiqJ,GAA2B,CACtCivD,cAAe,CAAC,UAAW,QAC3Bxb,OAAQqf,IAGGC,GAA8C,CACzD9D,cAAe,CAAC,UAAW,2BAC3Bxb,OAAQ,CACNyB,eAAgB,cAChBsD,QAAS,cACThhM,KAAM,CACJzB,KAAM,eAKCi9M,GAAgD,CAC3D/D,cAAe,CAAC,UAAW,6BAC3Bxb,OAAQ,CACNyB,eAAgB,qBAChBsD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,eAiBCk3M,GAAwC,CACnDgC,cAAe,oBACfxb,OAAQ,CACNyB,eAAgB,2BAChBE,UAAU,EACVoD,QAAS,2BACThhM,KAAM,CACJzB,KAAM,YAKC+qM,GAAyC,CACpDmO,cAAe,CAAC,UAAW,sBAC3Bxb,OAAQ,CACNyB,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,YAKCk9M,GAAmC,CAC9ChE,cAAe,CAAC,UAAW,eAC3Bxb,OAAQ,CACNxsL,aAAc,2BACdkuL,YAAY,EACZD,eAAgB,eAChB19L,KAAM,CACJzB,KAAM,YAKCm9M,GAA4B,CACvCjE,cAAe,OACfxb,OAAQ,CACNyB,eAAgB,OAChBE,UAAU,EACVoD,QAAS,OACThhM,KAAM,CACJzB,KAAM,YAKCo9M,GAA8B,CACzClE,cAAe,SACfxb,OAAQ,CACNxsL,aAAc,kBACdkuL,YAAY,EACZD,eAAgB,SAChB19L,KAAM,CACJzB,KAAM,YAKCq9M,GAAkC,CAC7CnE,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,OACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YAKCs9M,GAAgC,CAC3CpE,cAAe,YACfxb,OAAQ,CACNxsL,aAAc,SACdkuL,YAAY,EACZD,eAAgB,kBAChB19L,KAAM,CACJzB,KAAM,YAKCu9M,GAAwD,CACnErE,cAAe,CACb,UACA,iCACA,qCAEFxb,OAAQ,CACNyB,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,YAKCw9M,GAA+C,CAC1DtE,cAAe,CACb,UACA,iCACA,4BAEFxb,OAAQ,CACNyB,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,YAKCy9M,GAA8C,CACzDvE,cAAe,CACb,UACA,iCACA,2BAEFxb,OAAQ,CACNyB,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,YAiBC09M,GAAgC,CAC3CxE,cAAe,YACfxb,OAAQ,CACNyB,eAAgB,mBAChBE,UAAU,EACVoD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,YAiBC29M,GAAyC,CACpDzE,cAAe,CAAC,UAAW,sBAC3Bxb,OAAQ,CACNyB,eAAgB,4BAChBsD,QAAS,4BACThhM,KAAM,CACJzB,KAAM,eAiBC49M,GAAkC,CAC7C1E,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,WACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YAgEC69M,GAAkC,CAC7C3E,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,cACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YAKC44G,GAA8B,CACzCsgG,cAAe,CAAC,UAAW,iCAAkC,WAC7Dxb,OAAQ,CACNyB,eAAgB,8BAChBsD,QAAS,8BACThhM,KAAM,CACJzB,KAAM,YAKC89M,GAAqC,CAChD5E,cAAe,CACb,UACA,iCACA,kBAEFxb,OAAQ,CACNyB,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAKC+9M,GAAmC,CAC9C7E,cAAe,CAAC,UAAW,eAC3Bxb,OAAQ,CACNyB,eAAgB,oBAChBsD,QAAS,oBACThhM,KAAM,CACJzB,KAAM,YAiBCg+M,GAAgC,CAC3C9E,cAAe,WACfxb,OAAQ,CACNxsL,aAAc,YACdkuL,YAAY,EACZD,eAAgB,iBAChB19L,KAAM,CACJzB,KAAM,YAgBCi+M,GAAkC,CAC7C/E,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,QACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YAKCk+M,GAAmC,CAC9ChF,cAAe,UACfxb,OAAQ,CACNyB,eAAgB,UAChBE,UAAU,EACVoD,QAAS,UACThhM,KAAM,CACJzB,KAAM,YAKCm+M,GAA6B,CACxCjF,cAAe,SACfxb,OAAQ0gB,IAGGC,GAAkC,CAC7CnF,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,YACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YEhrDCs+M,GAAb,WAOE,WAAYC,GAA4B,UACtC1+M,KAAK0+M,OAASA,EARlB,wCAiBE,SACEpF,EACApnM,GAEA,IAAMysM,EAAkD,CACtDrF,sBAAAA,EACApnM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAG,MA3BN,2BAoCE,SACE5sM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAI,MA5CN,2BAsDE,SACE7sM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAK,MA9DN,mCAsEE,SACE9sM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAM,MA9EN,kCAwFE,SACE/E,EACAhoM,GAEA,IAAMysM,EAAkD,CACtDzE,QAAAA,EACAhoM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAO,MAlGN,4BA0GE,SACEhtM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAQ,MAlHN,yBA8HE,SACExU,EACA2P,EACAppM,EACAgB,GAEA,IAAMysM,EAAkD,CACtDhU,cAAAA,EACA2P,qBAAAA,EACAppM,KAAAA,EACAgB,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAS,MA5IN,yBAsJE,SACEltM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAU,QA9JN,KAmKMC,GAAgB,IAAIV,GAAoBW,GAAqB,GAE7DT,GAAqD,CACzDnlK,KAAM,IACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBK,YAAaC,GACbC,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPgN,YAAa,iCACbqV,UAAW,MACX1wD,WAAY+vD,IAERP,GAAqD,CACzDplK,KAAM,IACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHE,WAAYJ,GACZG,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERN,GAAqD,CACzDrlK,KAAM,IACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHE,WAAYJ,GACZG,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GFrI0C,CAC5CxG,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,QACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,aEiIV4/M,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERL,GAA6D,CACjEtlK,KAAM,IACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHE,WAAYJ,GACZG,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERJ,GAA4D,CAChEvlK,KAAM,IACN6lK,WAAY,OACZC,UAAW,CACT,IAAK,CACHE,WAAYJ,GACZG,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBK,YAAaC,GACbC,gBAAiB,CACfD,GACAA,GF3G0C,CAC5CxG,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,oBACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,aEuGV4/M,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPgN,YAAa,iCACbqV,UAAW,MACX1wD,WAAY+vD,IAERH,GAAsD,CAC1DxlK,KAAM,IACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAAiBA,IACnCE,cAAe,CAACF,IAChBG,iBAAkB,CAACH,GAAoBA,IACvCjiB,OAAO,EACPruC,WAAY+vD,IAERF,GAAmD,CACvDzlK,KAAM,IACN6lK,WAAY,OACZC,UAAW,CACT,IAAK,CACHE,WAAY,CACV/9M,KAAM,CAAEzB,KAAM,UACdm/L,eAAgB,kBAElBogB,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBK,YAAaC,GACbC,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPgN,YAAa,iCACbqV,UAAW,MACX1wD,WAAY+vD,IAERD,GAAmD,CACvD1lK,KAAM,IACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHE,WAAYJ,GACZG,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,ICjXDhuC,GAAb,WAOE,WAAYotC,GAA4B,UACtC1+M,KAAK0+M,OAASA,EARlB,iCAgBE,SACExsM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAuB,MAxBN,2BAiCE,SACEhuM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAI,MAzCN,oBAkDE,SACE7sM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAwB,MA1DN,yBAkEE,SACEjuM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAyB,MA1EN,6BAmFE,SACEluM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA0B,MA3FN,6BAoGE,SACEnuM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA2B,MA5GN,qBAoHE,SACEpuM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA4B,MA5HN,oBAqIE,SACEC,EACAtuM,GAEA,IAAMysM,EAAkD,CACtD6B,oBAAAA,EACAtuM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA8B,MA/IN,yBA2JE,SACE9V,EACA2P,EACAppM,EACAgB,GAEA,IAAMysM,EAAkD,CACtDhU,cAAAA,EACA2P,qBAAAA,EACAppM,KAAAA,EACAgB,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAS,MAzKN,yBAkLE,SACEltM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAU,MA1LN,0BAmME,SACEntM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA+B,MA3MN,0BAqNE,SACE7O,EACA3/L,GAEA,IAAMysM,EAAkD,CACtD9M,QAAAA,EACA3/L,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAgC,MA/NN,wBAyOE,SACE9O,EACA3/L,GAEA,IAAMysM,EAAkD,CACtD9M,QAAAA,EACA3/L,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAiC,MAnPN,wBA4PE,SACE1uM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAkC,MApQN,yBAiRE,SACEhP,EACAmJ,EACA9oM,GAEA,IAAMysM,EAAkD,CACtD9M,QAAAA,EACAmJ,gBAAAA,EACA9oM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAmC,MA7RN,iCAqSE,SACE5uM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAoC,MA7SN,sCAyTE,SACEx0D,EACAr6I,GAEA,IAAMysM,EAAkD,CACtDpyD,UAAAA,EACAr6I,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAqC,MAnUN,4BA2UE,SACE9uM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAQ,QAnVN,KAwVMG,GAAgB,IAAIV,GAAoBW,GAAqB,GAE7DW,GAA8C,CAClDvmK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GH/DsD,CACxDxG,cAAe,CACb,UACA,2BACA,0BAEFxb,OAAQ,CACNyB,eAAgB,gCAChBsD,QAAS,gCACThhM,KAAM,CACJzB,KAAM,YAKsD,CAChEk5M,cAAe,CACb,UACA,2BACA,kCAEFxb,OAAQ,CACNyB,eAAgB,sCAChBsD,QAAS,sCACThhM,KAAM,CACJzB,KAAM,cG0CVy9L,OAAO,EACPruC,WAAY+vD,IAERP,GAAqD,CACzDplK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERa,GAA8C,CAClDxmK,KAAM,mBACN6lK,WAAY,SACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERc,GAAmD,CACvDzmK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERe,GAAuD,CAC3D1mK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHE,WAAY,CACV/9M,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CAAEzB,KAAM,YAAa02C,UAAW,sBAG1CyoJ,eAAgB,oBAChBsD,QAAS,oBACTvC,cAAc,EACdwC,eAAgB,oBAElB6c,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERgB,GAAuD,CAC3D3mK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBK,YH/G8C,CAC9CvG,cAAe,CAAC,UAAW,gBAC3Bxb,OAAQ,CACNyB,eAAgB,eAChBsD,QAAS,oBACTvC,cAAc,EACdwC,eAAgB,mBAChBjhM,KAAM,CACJzB,KAAM,WACNyJ,QAAS,CACPhI,KAAM,CACJzB,KAAM,YACN02C,UAAW,wBGoGnBipK,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPgN,YAAa,iCACbqV,UAAW,MACX1wD,WAAY+vD,IAERiB,GAA+C,CACnD5mK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GH3HoD,CACtDxG,cAAe,CAAC,UAAW,wBAC3Bxb,OAAQ,CACNyB,eAAgB,8BAChBsD,QAAS,8BACThhM,KAAM,CACJzB,KAAM,YAK+C,CACzDk5M,cAAe,CAAC,UAAW,2BAC3Bxb,OAAQ,CACNyB,eAAgB,iCAChBsD,QAAS,iCACThhM,KAAM,CACJzB,KAAM,aG8GVy9L,OAAO,EACPruC,WAAY+vD,IAERmB,GAA8C,CAClD9mK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GH1H0C,CAC5CxG,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,SACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,aGsHV4/M,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GHrHmD,CACrDxG,cAAe,sBACfxb,OAAQ,CACNyB,eAAgB,6BAChBE,UAAU,EACVoD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,YAKqC,CAC/Ck5M,cAAe,CAAC,UAAW,iBAC3Bxb,OAAQ,CACNyB,eAAgB,uBAChBsD,QAAS,uBACThhM,KAAM,CACJzB,KAAM,aGuGVy9L,OAAO,EACPruC,WAAY+vD,IAERF,GAAmD,CACvDzlK,KAAM,mBACN6lK,WAAY,OACZC,UAAW,CACT,IAAK,CACHE,WAAY,CACV/9M,KAAM,CAAEzB,KAAM,UACdm/L,eAAgB,kBAElBogB,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBK,YAAaC,GACbC,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPgN,YAAa,iCACbqV,UAAW,MACX1wD,WAAY+vD,IAERD,GAAmD,CACvD1lK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHE,WAAYJ,GACZG,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERoB,GAAoD,CACxD/mK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERqB,GAAoD,CACxDhnK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERsB,GAAkD,CACtDjnK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERuB,GAAkD,CACtDlnK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERwB,GAAmD,CACvDnnK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERyB,GAA2D,CAC/DpnK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHE,WAAYJ,GACZG,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAER0B,GAAgE,CACpErnK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHE,WAAYJ,GACZG,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GHnN8C,CAChDxG,cAAe,YACfxb,OAAQ,CACNyB,eAAgB,YAChBE,UAAU,EACVoD,QAAS,YACThhM,KAAM,CACJzB,KAAM,aG+MV4/M,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERH,GAAsD,CAC1DxlK,KAAM,mBACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAAiBA,IACnCE,cAAe,CAACF,IAChBG,iBAAkB,CAACH,GAAoBA,IACvCjiB,OAAO,EACPruC,WAAY+vD,KFx5Bd,SAAYlG,GAIVA,EAAAA,EAAAA,IAAAA,GAAAA,MAKAA,EAAAA,EAAAA,MAAAA,GAAAA,QAKAA,EAAAA,EAAAA,QAAAA,GAAAA,UAKAA,EAAAA,EAAAA,KAAAA,GAAAA,OAnBF,CAAYA,KAAAA,GAAoB,KGuBzB,IAAe6H,GAAtB,WAIE,WAIWrsB,EAIAh7D,GAAkC,UAJlC,KAAAg7D,YAAAA,EAIA,KAAAh7D,SAAAA,EAZb,oCA0BS,SAAU69D,GACf,OAAOz3L,KAAK45H,SAASsnF,UAAUzpB,KA3BnC,iBAoCS,SAAIA,EAAgC7yL,GACzC5E,KAAK45H,SAASh9G,IAAI66K,EAAU7yL,OArChC,KAgEau8M,GAAb,WACE,WAAoBC,GAA4B,UAA5B,KAAAA,QAAAA,EADtB,oCAQS,SAAU3pB,GACf,QACIz3L,KAAKohN,SACP3pB,IAAa2hB,GAAqBiI,KAClC5pB,GAAYz3L,KAAKohN,QAAQE,kBAZ/B,iBAsBS,SAAI7pB,EAAgC7yL,GACrC5E,KAAKohN,SAAWphN,KAAKkhN,UAAUzpB,IACjCz3L,KAAKohN,QAAQxkM,IAAI66K,EAAU7yL,OAxBjC,KCzBM,SAAU28M,GAAmBniN,GACjC,OAAO,SACLoiN,EACAC,GAEA,IASI3kE,EATE6+C,EhBoKJ,SAAoBx7L,EAAemxC,GACvC,OAAOqrJ,GAAAA,UAAkBx8L,GAAQ,qBAAsBmxC,GgBrKtC6qJ,GACTa,GAAiC,OAAhBykB,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBzkB,iBAAkB,GACrDI,EAAW,eACfskB,KAAMpmB,GAASqmB,UACZ3kB,EAAeI,aAGdwkB,EAAWxiN,EAAKyiN,cAAL,UAAwBziN,EAAKyiN,cAA7B,YAA8CL,GAAkBA,EAM/E1kE,EAnDA,iBACJ,GAAuB,qBAAZuO,QAET,OAAO,EAGT,IAAMy2D,EAA8D,QAAlC,wTAAYC,8BAAsB7rB,IAAAA,OAAA,EAAAA,EAAExpL,cAEtE,MAAkC,UAA9Bo1M,GAAuE,MAA9BA,GAItCn9J,QAAQm9J,GAoCTE,GACKtlB,GAAM5B,gBAAgBvB,IAEtBoC,EAAOP,UAAUwmB,EAAUxkB,EAAaJ,EAAeG,gBAG5D/9L,EAAK43L,WACPl6C,EAAK1vI,aAAa,eAAgBhO,EAAK43L,WAGzC,IAAIirB,EAAiBjlB,EAAeI,aAAe,GAE/CtgD,EAAKolE,eAAiB9iN,EAAK43L,YAC7BirB,EAAiB,OAAH,wBACTjlB,EAAeI,aAAW,CAC7BlhC,WAAY,OAAF,wBACLkhC,EAAYlhC,YAAU,CACzB,eAAgB98J,EAAK43L,eAK3B,IAAMmrB,EAAiB,+BAClBnlB,GAAc,CACjBI,YAAa6kB,EACb9kB,eAAgB7C,GAAQ0C,EAAeG,gBAAkBN,GAAAA,SAAoB//C,KAQ/E,MAAO,CACLA,KAAAA,EACAmiD,eAP0B3gM,OAAAA,OAAAA,OAAAA,OAAAA,GACvBmjN,GAAgB,CACnBzkB,eAAgBmlB,MC9CtB,IAGIC,GAHEC,GACgB,qBAAZh3D,SAA2BA,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,0BAAAA,mKAAeA,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,0BAAAA,kKAAYgtC,YAAUn3L,EAGtEohN,GAA8B,GAC9BC,GAA8B,GAC5BC,GAAwB,GAE1BH,IACFI,GAAOJ,IAGT,IAAMK,GAAkBpkN,OAAOwQ,QAC7B,SAACkoL,GACC,OAAO2rB,GAAe3rB,KAExB,CACEyrB,OAAAA,GACAh7F,QAAAA,GACAkxE,QAyCJ,WACE,IAAMl2H,EAAS2/I,IAAiB,GAEhC,OADAK,GAAO,IACAhgJ,GA3CL7lD,ICpFE,WACJ,GAAI,UAAK/e,OAAS,EAAG,CACnB,IACiC,EAD3B+kN,EAAWngN,OAAO,UAAD,+BACvB,GAAImgN,EAASlzM,SAAS,WACpB,EAAA/M,SAAQ+B,MAAR,wBACK,GAAIk+M,EAASlzM,SAAS,YAAa,QACxC,EAAA/M,SAAQC,KAAR,wBACK,GAAIggN,EAASlzM,SAAS,SAAU,QACrC,EAAA/M,SAAQi2C,KAAR,wBACK,GAAIgqK,EAASlzM,SAAS,YAAa,QACxC,EAAA/M,SAAQwzL,MAAR,uBACK,QACL,EAAAxzL,SAAQwzL,MAAR,wBD4EN,SAASssB,GAAO7hE,GACdwhE,GAAgBxhE,EAChB0hE,GAAoB,GACpBC,GAAoB,GACpB,IAJgC,EAI1BM,EAAW,MACXC,EAAgBliE,EAAWp0I,MAAM,KAAK2sC,KAAI,SAACitB,GAAD,OAAQA,EAAGn3D,OAAO3B,QAAQu1M,EAAU,UALpD,KAMfC,GANe,IAMhC,IAAK,EAAL,qBAAgC,KAArB18I,EAAqB,QAC1BA,EAAG4E,WAAW,KAChBu3I,GAAkBvkN,KAAK,IAAIw2C,OAAJ,WAAe4xB,EAAGulF,OAAO,GAAzB,OAEvB22D,GAAkBtkN,KAAK,IAAIw2C,OAAJ,WAAe4xB,EAAf,QAVK,yCAaTo8I,IAbS,IAahC,IAAK,EAAL,qBAAkC,KAAvBvyL,EAAuB,QAChCA,EAASw3F,QAAUA,GAAQx3F,EAAS+mK,YAdN,+BAkBlC,SAASvvE,GAAQuvE,GACf,GAAIA,EAAU3qH,SAAS,KACrB,OAAO,EAFuB,WAKVk2I,IALU,IAKhC,IAAK,EAAL,qBAAyC,CACvC,GADuC,QAC3Bt1M,KAAK+pL,GACf,OAAO,GAPqB,yCAUDsrB,IAVC,IAUhC,IAAK,EAAL,qBAAkD,CAChD,GADgD,QAC3Br1M,KAAK+pL,GACxB,OAAO,GAZqB,8BAehC,OAAO,EAST,SAAS2rB,GAAe3rB,GACtB,IAAM+rB,EAAwBzkN,OAAOwQ,QAQrC,WACE,IAAKi0M,EAAYt7F,QACf,OAFyB,2BAAXroH,EAAW,yBAAXA,EAAW,gBAIvBA,EAAKvB,OAAS,IAChBuB,EAAK,GAAL,UAAa43L,EAAb,YAA0B53L,EAAK,KAEjC2jN,EAAYnmM,IAAZ,MAAAmmM,EAAmB3jN,KAf8B,CACjDqoH,QAASA,GAAQuvE,GACjBn2J,QAAAA,GACAjkB,IAAK8lM,GAAS9lM,IACdo6K,UAAAA,EACA5pK,OAAAA,KAeF,OAFAo1L,GAAUxkN,KAAK+kN,GAERA,EAGT,SAASliL,KACP,IAAMt7B,EAAQi9M,GAAU3rM,QAAQ7W,MAChC,OAAIuF,GAAS,IACXi9M,GAAU7xK,OAAOprC,EAAO,IACjB,GAKX,SAAS6nB,GAAuB4pK,GAC9B,IAAM+rB,EAAcJ,GAAe,GAAD,OAAI3iN,KAAKg3L,UAAT,YAAsBA,IAExD,OADA+rB,EAAYnmM,IAAM5c,KAAK4c,IAChBmmM,EAGT,IElKIC,GFkKJ,MEtKMC,GAAoB,IAAIl4M,IACxBm4M,GACgB,qBAAZ73D,SAA2BA,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,0BAAAA,mKAAeA,CAAAA,SAAAA,aAAAA,WAAAA,GAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,EAAAA,0BAAAA,kKAAY83D,sBAAoBjiN,EASvEkiN,GAAiCjtB,GAAM,SACpDitB,GAAYxmM,IAAM,WAChBu5K,GAAMv5K,IAANu5K,MAAAA,GAAK,YAYP,IAAMktB,GAAmB,CAAC,UAAW,OAAQ,UAAW,SASpDH,KAEEI,GAAgBJ,IAoBhB,SAAsBK,GAC1B,GAAIA,IAAUD,GAAgBC,GAC5B,MAAM,IAAI/gN,MAAJ,6BACkB+gN,EADlB,iCACgDF,GAAiB3kN,KAAK,OAG9EskN,GAAgBO,EAEhB,IAR+C,EAQzCjB,EAAoB,GARqB,KAS1BW,IAT0B,IAS/C,IAAK,EAAL,qBAAwC,KAA7B7rB,EAA6B,QAClCosB,GAAapsB,IACfkrB,EAAkBtkN,KAAKo5L,EAAOJ,YAXa,8BAe/Cb,GAAMssB,OAAOH,EAAkB5jN,KAAK,MAlClC+kN,CAAYP,IAEZvgN,QAAQ+B,MAAR,oDAC+Cw+M,GAD/C,yDAC+GG,GAAiB3kN,KAC5H,MAFJ,OA0CJ,IAAMglN,GAAW,CACfprB,QAAS,IACT1/I,KAAM,IACN32C,QAAS,IACTyC,MAAO,KAoCH,SAAUi/M,GAAmB3sB,GACjC,IAAM4sB,EAAsCR,GAAYh2L,OAAO4pK,GAE/D,OADA6sB,GAAeT,GAAaQ,GACrB,CACLl/M,MAAOo/M,GAAaF,EAAkB,SACtC3hN,QAAS6hN,GAAaF,EAAkB,WACxChrK,KAAMkrK,GAAaF,EAAkB,QACrCtrB,QAASwrB,GAAaF,EAAkB,YAI5C,SAASC,GAAe5qK,EAA2Bv+B,GACjDA,EAAMkC,IAAM,WACVq8B,EAAOr8B,IAAP,MAAAq8B,EAAM,YAIV,SAAS6qK,GAAa7qK,EAA2BsqK,GAC/C,IAAMnsB,EAAwB94L,OAAOwQ,OAAOmqC,EAAO7rB,OAAOm2L,GAAQ,CAChEA,MAAAA,IAKF,GAFAM,GAAe5qK,EAAQm+I,GAEnBosB,GAAapsB,GAAS,CACxB,IAAMkrB,EAAoBnsB,GAAMwC,UAChCxC,GAAMssB,OAAOH,EAAoB,IAAMlrB,EAAOJ,WAKhD,OAFAisB,GAAkB93M,IAAIisL,GAEfA,EAGT,SAASosB,GAAapsB,GACpB,SAAI4rB,IAAiBU,GAAStsB,EAAOmsB,QAAUG,GAASV,KAO1D,SAASM,GAAgB7rB,GACvB,OAAO4rB,GAAiB3zM,SAAS+nL,GCvK5B,IAAML,GAASusB,GAAmB,aCkBnCI,GAAaxC,GAAmB,CACpCM,cAAe,GACf7qB,UAAW,KAkBP,SAAUgtB,KAAuD,IAAzChnB,EAAyC,uDAAF,GACnE,MAAO,CACL96L,OADK,SACE+hN,EAA2B/xM,GAChC,OAAO,IAAIgyM,GAAcD,EAAY/xM,EAAS8qL,KAQ7C,IAAMknB,GAAb,gCAGE,WACED,EACA/xM,EACA8qL,GAAoC,wBAEpC,cAAMinB,EAAY/xM,IACbghJ,UAAY8pC,EAAe9pC,UAHI,EANxC,qEAYS,WAAkBnrF,GAAlB,6EACAA,EAAQo1H,eADR,yCAEIn9L,KAAK40L,YAAYuvB,YAAYp8I,IAFjC,UAKC+0E,EAAO98I,KAAKokN,cAAcr8I,GAL3B,yCAQI/nE,KAAK40L,YAAYuvB,YAAYp8I,IARjC,gCAYoB/nE,KAAK40L,YAAYuvB,YAAYp8I,GAZjD,cAYGg9E,EAZH,OAaH/kJ,KAAKqkN,mBAAmBvnE,EAAMiI,GAb3B,kBAcIA,GAdJ,wCAgBH/kJ,KAAKskN,gBAAgBxnE,EAArB,MAhBG,+DAZT,kFAiCE,SAAc/0E,SACZ,IAGE,IAAQ+0E,EAASinE,GAAW,QAAD,OAASh8I,EAAQ5F,QAAU,CACpD66H,eAAgB,CACdI,YAAa,OAAF,wBACLr1H,EAAgBq1H,aAAW,CAC/BskB,KAAMpmB,GAASipB,SAEjBpnB,eAAgBp1H,EAAQo1H,kBANpBrgD,KAWR,IAAKA,EAAKolE,cAER,YADAplE,EAAKhwH,MAIP,IAAM03L,EAA6C,QAAtB,EAAAz8I,EAAQo1H,sBAAcjH,IAAAA,OAAA,EAAAA,EAAExlL,SAAS/C,OAAOC,IAAI,iBAErC,kBAAzB42M,GACT1nE,EAAK1vI,aAAa,eAAgBo3M,GAGpC1nE,EAAK2nE,cAAc,CACjB,cAAe18I,EAAQ5F,OACvB,WAAY4F,EAAQ/9C,IACpBklL,UAAWnnI,EAAQmnI,YAGjBlvM,KAAKkzJ,WACPpW,EAAK1vI,aAAa,kBAAmBpN,KAAKkzJ,WAI5C,IAAMunC,EAAc39C,EAAK29C,cACnBiqB,EChFN,SAA+BjqB,GACnC,IAAMkqB,EAA0B,GAQhC,GAPKlqB,EAAYjB,SACfmrB,EAAc3mN,KAAK,WAEhBy8L,EAAYhB,QACfkrB,EAAc3mN,KAAK,WAGjB2mN,EAAc9mN,OAAlB,CAIA,IACM+mN,GADQnqB,EAAYf,YAAU,GACbr7L,SAAS,IAC1Bq7L,EAAiC,IAApBkrB,EAAS/mN,OAAT,WAA4B+mN,GAAaA,EAG5D,MAAO,GAAP,OAxDc,KAwDd,YAAqBnqB,EAAYjB,QAAjC,YAA4CiB,EAAYhB,OAAxD,YAAkEC,ID8DpCmrB,CAAqBpqB,GAC/C,GAAIiqB,GrBqGJ,SAA6B7/M,GACjC,OAAO83L,GAAAA,mBAA2B93L,GqBtGLg2L,CAAmBJ,GAAc,CACxD1yH,EAAQ5sB,QAAQ/2C,IAAI,cAAesgN,GACnC,IAAMI,EAAarqB,EAAYqqB,YAAcrqB,EAAYqqB,WAAW33D,YAEhE23D,GACF/8I,EAAQ5sB,QAAQ/2C,IAAI,aAAc0gN,GAGtC,OAAOhoE,EACP,MAAOp4I,GAEP,YADA0yL,GAAAA,QAAA,4DAAoE1yL,EAAME,aAlFhF,6BAuFU,SAAgBk4I,EAAYt8I,GAClC,IACEs8I,EAAKioE,UAAU,CACbn+L,KAAMg2K,GAAezE,MACrBvzL,QAASpE,EAAIoE,UAGXpE,EAAIwkN,YACNloE,EAAK1vI,aAAa,mBAAoB5M,EAAIwkN,YAE5CloE,EAAKhwH,MACL,MAAOpoB,GACP0yL,GAAAA,QAAA,4DAAoE1yL,EAAME,aAnGhF,gCAuGU,SAAmBk4I,EAAYiI,GACrC,IACEjI,EAAK1vI,aAAa,mBAAoB23I,EAAS4mB,QAC/C,IAAMs5C,EAAmBlgE,EAAS5pG,QAAQh3C,IAAI,mBAC1C8gN,GACFnoE,EAAK1vI,aAAa,mBAAoB63M,GAExCnoE,EAAKioE,UAAU,CACbn+L,KAAMg2K,GAAesoB,KAEvBpoE,EAAKhwH,MACL,MAAOpoB,GACP0yL,GAAAA,QAAA,4DAAoE1yL,EAAME,eAnHhF,GAAmCq8M,IEzBtBkE,GAA4C,CACvD1C,QAAQ,GAQJ,SAAU2C,GAAgBC,GAC9B,MAAO,CACLnjN,OAAQ,SAAC+hN,EAA2B/xM,GAClC,OAAO,IAAIozM,GAAgBrB,EAAY/xM,EAASmzM,GAAoBF,MAQnE,IAAMG,GAAb,gCAQE,WACErB,EACA/xM,EACiBmzM,GAAkC,wBAEnD,cAAMpB,EAAY/xM,IAFDmzM,iBAAAA,EAAkC,EAXvD,qEAsBS,WAAkBt9I,GAAlB,yEACLA,EAAQw9I,UAAYvlN,KAAKqlN,iBAAiB5C,OADrC,kBAEEziN,KAAK40L,YAAYuvB,YAAYp8I,IAF/B,gDAtBT,4DAAqCk5I,IC/B/B,SAAUuE,KACgC,IAA9CC,EAA8C,uDAAxB,yBAEtB,MAAO,CACLvjN,OAAQ,SAAC+hN,EAA2B/xM,GAClC,OAAO,IAAIwzM,GAA8BzB,EAAY/xM,EAASuzM,KAK7D,IAAMC,GAAb,gCACE,WACEzB,EACA/xM,EACQyzM,GAA4B,wBAEpC,cAAM1B,EAAY/xM,IAFVyzM,qBAAAA,EAA4B,EAJxC,sCASS,SAAY59I,GAIjB,OAHKA,EAAQ5sB,QAAQlvB,SAASjsB,KAAK2lN,uBACjC59I,EAAQ5sB,QAAQ/2C,IAAIpE,KAAK2lN,qBAAsB59I,EAAQmnI,WAElDlvM,KAAK40L,YAAYuvB,YAAYp8I,OAbxC,GAAmDk5I,ICxBpC,SAAS2E,GAAWC,EAAQzmN,EAAM0mN,GAa/C,OAXEF,GADE,KACW5mN,QAAQsQ,UAAUnM,OAElB,SAAoB0iN,EAAQzmN,EAAM0mN,GAC7C,IAAIp7M,EAAI,CAAC,MACTA,EAAE1M,KAAKI,MAAMsM,EAAGtL,GAChB,IACI6wB,EAAW,IADG5wB,SAAS8D,KAAK/E,MAAMynN,EAAQn7M,IAG9C,OADIo7M,GAAO,GAAe71L,EAAU61L,EAAMvnN,WACnC0xB,GAGJ21L,GAAWxnN,MAAM,KAAMR,WCXjB,SAASmoN,GAAiBD,GACvC,IAAIxyG,EAAwB,oBAAR30F,IAAqB,IAAIA,SAAQzd,EAuBrD,OAtBA6kN,GAAmB,SAA0BD,GAC3C,GAAc,OAAVA,ICPkCvtK,EDOEutK,GCNsB,IAAzDzmN,SAAShB,SAASI,KAAK85C,GAAI1hC,QAAQ,kBDMQ,OAAOivM,ECP5C,IAA2BvtK,EDQtC,GAAqB,oBAAVutK,EACT,MAAM,IAAItkN,UAAU,sDAEtB,GAAsB,qBAAX8xG,EAAwB,CACjC,GAAIA,EAAOljF,IAAI01L,GAAQ,OAAOxyG,EAAOnvG,IAAI2hN,GACzCxyG,EAAOlvG,IAAI0hN,EAAOE,GAEpB,SAASA,IACP,OAAO,GAAUF,EAAOloN,UAAW,GAAeoC,MAAMwQ,aAU1D,OARAw1M,EAAQznN,UAAYD,OAAO4D,OAAO4jN,EAAMvnN,UAAW,CACjDiS,YAAa,CACX3Q,MAAOmmN,EACP9hN,YAAY,EACZ68D,UAAU,EACVtwD,cAAc,KAGX,GAAeu1M,EAASF,IAE1BC,GAAiBD,GElBnB,IAAMG,GAAb,kCACmB,KAAAC,UAAiE,GADpF,8BAMS,WACL,OAAO5nN,OAAOsH,KAAK5F,KAAKkmN,WAAWroN,OAAS,IAPhD,kBAaS,WACL,OAAOS,OAAOsH,KAAK5F,KAAKkmN,aAd5B,iBAsBS,SAAIC,EAAuBC,GAChC,IAAMC,EAAqBD,EAG3B,GAAID,EACF,QAA2BjlN,IAAvBmlN,GAA2D,OAAvBA,EAA6B,CACnE,IAAM3vD,EAAWz4J,MAAMC,QAAQmoN,GAC3BA,EACAA,EAAmBhoN,WACvB2B,KAAKkmN,UAAUC,GAAiBzvD,cAEzB12J,KAAKkmN,UAAUC,KAjC9B,iBA0CS,SAAIA,GACT,OAAOA,EAAgBnmN,KAAKkmN,UAAUC,QAAiBjlN,IA3C3D,sBAiDS,WACL,IAAIuhE,EAAS,GACb,IAAK,IAAM0jJ,KAAiBnmN,KAAKkmN,UAAW,CACtCzjJ,IACFA,GAAU,KAEZ,IAAM2jJ,EAAiBpmN,KAAKkmN,UAAUC,GACtC,GAAIloN,MAAMC,QAAQkoN,GAAiB,CACjC,IADiC,EAC3BE,EAAmB,GADQ,KAEGF,GAFH,IAEjC,IAAK,EAAL,qBAAoD,KAAzCG,EAAyC,QAClDD,EAAiBtoN,KAAjB,UAAyBmoN,EAAzB,YAA0CI,KAHX,8BAKjC9jJ,GAAU6jJ,EAAiB5nN,KAAK,UAEhC+jE,GAAU,GAAJ,OAAO0jJ,EAAP,YAAwBC,GAGlC,OAAO3jJ,KAlEX,oBAwES,SAAa34C,GAClB,IAAM24C,EAAS,IAAIwjJ,EAEnB,GAAIn8L,EAAM,CACJA,EAAKkhD,WAAW,OAClBlhD,EAAOA,EAAK9S,UAAU,IAOxB,IAJA,IAAIwvM,EAAmC,gBAEnCL,EAAgB,GAChBC,EAAiB,GACZzoN,EAAI,EAAGA,EAAImsB,EAAKjsB,SAAUF,EAAG,CACpC,IAAM8oN,EAA2B38L,EAAKnsB,GACtC,OAAQ6oN,GACN,IAAK,gBACH,OAAQC,GACN,IAAK,IACHD,EAAe,iBACf,MAEF,IAAK,IACHL,EAAgB,GAChBC,EAAiB,GACjB,MAEF,QACED,GAAiBM,EAGrB,MAEF,IAAK,iBACH,GACO,MADCA,EAEJhkJ,EAAOr+D,IAAI+hN,EAAeC,GAC1BD,EAAgB,GAChBC,EAAiB,GACjBI,EAAe,qBAIfJ,GAAkBK,EAGtB,MAEF,QACE,MAAM,IAAIjkN,MAAM,sCAAwCgkN,IAGzC,mBAAjBA,GACF/jJ,EAAOr+D,IAAI+hN,EAAeC,GAI9B,OAAO3jJ,MAhIX,KAuIaikJ,GAAb,sEAWS,SAAUC,GACVA,EAGH3mN,KAAKoE,IAAIuiN,EAAQ,UAFjB3mN,KAAK4mN,aAAU1lN,IAbrB,uBAsBS,WACL,OAAOlB,KAAK4mN,UAvBhB,qBA8BS,SAAQnoH,GACRA,EAGHz+F,KAAKoE,IAAIq6F,EAAM,kBAFfz+F,KAAK6mN,WAAQ3lN,IAhCnB,qBAyCS,WACL,OAAOlB,KAAK6mN,QA1ChB,qBAiDS,SAAQC,QACA5lN,IAAT4lN,GAA+B,OAATA,GAA0B,KAATA,EACzC9mN,KAAK+mN,WAAQ7lN,EAEblB,KAAKoE,IAAI0iN,EAAKzoN,WAAY,UArDhC,qBA4DS,WACL,OAAO2B,KAAK+mN,QA7DhB,qBAoES,SAAQptK,GACb,GAAKA,EAEE,CACL,IAAMqtK,EAAcrtK,EAAK9iC,QAAQ,OACjC,IAAqB,IAAjBmwM,EAAoB,CACtB,IAAMC,EAActtK,EAAK64F,YAAY,IAAKw0E,GAG1ChnN,KAAKoE,KAAqB,IAAjB6iN,EAAqBttK,EAAOA,EAAKgyG,OAAOs7D,EAAc,GAAI,eAEnEjnN,KAAKoE,IAAIu1C,EAAM,aATjB35C,KAAKgkI,WAAQ9iI,IAtEnB,wBAwFS,SAAWy4C,GAChB,GAAIA,EAAM,CACR,IAAIutK,EAAkClnN,KAAKmnN,UACvCD,IACGA,EAAY76I,SAAS,OACxB66I,GAAe,KAGbvtK,EAAKqxB,WAAW,OAClBrxB,EAAOA,EAAK3iC,UAAU,IAGxB2iC,EAAOutK,EAAcvtK,GAEvB35C,KAAKoE,IAAIu1C,EAAM,WAtGrB,qBA6GS,WACL,OAAO35C,KAAKgkI,QA9GhB,sBAoHS,SAASojF,GAIZpnN,KAAKqnN,OAHFD,EAGWnB,GAASz3I,MAAM44I,QAFflmN,IAtHpB,+BAiIS,SAAkBomN,EAA4BC,GAC/CD,IACGtnN,KAAKqnN,SACRrnN,KAAKqnN,OAAS,IAAIpB,IAEpBjmN,KAAKqnN,OAAOjjN,IAAIkjN,EAAoBC,MAtI1C,oCA8IS,SAAuBD,GAC5B,OAAOtnN,KAAKqnN,OAASrnN,KAAKqnN,OAAOljN,IAAImjN,QAAsBpmN,IA/I/D,sBAqJS,WACL,OAAOlB,KAAKqnN,OAASrnN,KAAKqnN,OAAOhpN,gBAAa6C,IAtJlD,iBA4JU,SAAI4oB,EAAc09L,GAGxB,IAFA,IAAMC,EAAY,IAAIC,GAAa59L,EAAM09L,GAElCC,EAAUnvL,QAAQ,CACvB,IAAM6zH,EAA8Bs7D,EAAU7sM,UAC1C+sM,OAA6B,EACjC,GAAIx7D,EACF,OAAQA,EAAMvqJ,MACZ,IAAK,SACH5B,KAAK4mN,QAAUz6D,EAAMriI,WAAQ5oB,EAC7B,MAEF,IAAK,OACHlB,KAAK6mN,MAAQ16D,EAAMriI,WAAQ5oB,EAC3B,MAEF,IAAK,OACHlB,KAAK+mN,MAAQ56D,EAAMriI,WAAQ5oB,EAC3B,MAEF,IAAK,OACHymN,EAAYx7D,EAAMriI,WAAQ5oB,EACrBlB,KAAKgkI,OAAwB,MAAfhkI,KAAKgkI,OAA+B,MAAd2jF,IACvC3nN,KAAKgkI,MAAQ2jF,GAEf,MAEF,IAAK,QACH3nN,KAAKqnN,OAASpB,GAASz3I,MAAM29E,EAAMriI,MACnC,MAEF,QACE,MAAM,IAAItnB,MAAJ,qCAAwC2pJ,EAAMvqJ,WA5LhE,sBAsMS,WACL,IAAI6gE,EAAS,GAyBb,OAvBIziE,KAAK4mN,UACPnkJ,GAAU,GAAJ,OAAOziE,KAAK4mN,QAAZ,QAGJ5mN,KAAK6mN,QACPpkJ,GAAUziE,KAAK6mN,OAGb7mN,KAAK+mN,QACPtkJ,GAAU,IAAJ,OAAQziE,KAAK+mN,QAGjB/mN,KAAKgkI,QACFhkI,KAAKgkI,MAAMh5D,WAAW,OACzBvI,GAAU,KAEZA,GAAUziE,KAAKgkI,OAGbhkI,KAAKqnN,QAAUrnN,KAAKqnN,OAAO39M,QAC7B+4D,GAAU,IAAJ,OAAQziE,KAAKqnN,OAAOhpN,aAGrBokE,IAhOX,wBAuOS,SAAWyxH,EAAqBC,GACjCD,IACFl0L,KAAK4nN,UAAU3zB,GAAWj0L,KAAK6nN,YAAa3zB,EAAaC,IACzDn0L,KAAK8nN,QAAQ7zB,GAAWj0L,KAAK+nN,UAAW7zB,EAAaC,IACrDn0L,KAAKgoN,QAAQ/zB,GAAWj0L,KAAKioN,UAAW/zB,EAAaC,IACrDn0L,KAAKkoN,QAAQj0B,GAAWj0L,KAAKmnN,UAAWjzB,EAAaC,IACrDn0L,KAAKmoN,SAASl0B,GAAWj0L,KAAKooN,WAAYl0B,EAAaC,QA7O7D,oBAoPS,SAAarqK,GAClB,IAAM24C,EAAS,IAAIikJ,EAEnB,OADAjkJ,EAAOr+D,IAAI0lB,EAAM,kBACV24C,MAvPX,KA+Pa4lJ,GAAb,WACE,WAAmCv+L,EAA8BloB,GAAkB,UAAhD,KAAAkoB,KAAAA,EAA8B,KAAAloB,KAAAA,EADnE,sCAGS,SAAckoB,GACnB,OAAO,IAAIu+L,EAASv+L,EAAM,YAJ9B,kBAOS,SAAYA,GACjB,OAAO,IAAIu+L,EAASv+L,EAAM,UAR9B,kBAWS,SAAYA,GACjB,OAAO,IAAIu+L,EAASv+L,EAAM,UAZ9B,kBAeS,SAAYA,GACjB,OAAO,IAAIu+L,EAASv+L,EAAM,UAhB9B,mBAmBS,SAAaA,GAClB,OAAO,IAAIu+L,EAASv+L,EAAM,aApB9B,KAwCO,IAAM49L,GAAb,WAME,WAA4BY,EAAerlN,GAAyB,UAAxC,KAAAqlN,MAAAA,EAC1BtoN,KAAKuoN,YAAcD,EAAQA,EAAMzqN,OAAS,EAC1CmC,KAAKwoN,mBAA0BtnN,IAAV+B,GAAiC,OAAVA,EAAiBA,EAAQ,iBACrEjD,KAAKyoN,cAAgB,EATzB,kCAgBS,WACL,OAAOzoN,KAAK0oN,gBAjBhB,kBAuBS,WACL,GAAKC,GAAoB3oN,MAGvB,OAAQA,KAAKwoN,eACX,IAAK,UA0Hb,SAAoBf,GAClB,IAAMd,EAhBR,SAAgCc,GAC9B,OAAOmB,GAAUnB,GAAW,SAACz7D,GAAD,OApJxB,SAAkCA,GACtC,IAAM68D,EAAwB78D,EAAUN,WAAW,GACnD,OACG,IAAgBm9D,GAAiBA,GAAiB,IAClD,IAAgBA,GAAiBA,GAAiB,IAClD,IAAgBA,GAAiBA,GAAiB,IA+IFC,CAAwB98D,MAepD+8D,CAAuBtB,GAC9CA,EAAUiB,cAAgBL,GAAS1B,OAAOA,GACrCgC,GAAoBlB,GAGvBA,EAAUe,cAAgB,OAF1Bf,EAAUe,cAAgB,OA7HpBQ,CAAWhpN,MACX,MAEF,IAAK,kBAgIb,SAA0BynN,GACxB,IAAMwB,EAAuBC,GAAmBzB,EAAW,IAAK,IAAK,KAChEkB,GAAoBlB,GAGqB,MAAnC0B,GAAoB1B,GACQ,QAAjC2B,GAAe3B,EAAW,IAC5BA,EAAUiB,cAAgBL,GAAS1B,OAAOsC,GAC1CxB,EAAUe,cAAgB,SAE1Bf,EAAUiB,cAAgBL,GAAS5pH,KAAKwqH,GACxCxB,EAAUe,cAAgB,SAG5Bf,EAAUiB,cAAgBL,GAAS5pH,KAAKwqH,GACD,MAAnCE,GAAoB1B,GACtBA,EAAUe,cAAgB,OAE1Bf,EAAUe,cAAgB,UAf5Bf,EAAUiB,cAAgBL,GAAS5pH,KAAKwqH,GACxCxB,EAAUe,cAAgB,QAnIpBa,CAAiBrpN,MACjB,MAEF,IAAK,QAmJb,SAAkBynN,GACqB,QAAjC2B,GAAe3B,EAAW,IAC5B6B,GAAc7B,EAAW,GAG3B,IAAMhpH,EAAeyqH,GAAmBzB,EAAW,IAAK,IAAK,KAC7DA,EAAUiB,cAAgBL,GAAS5pH,KAAKA,GAEnCkqH,GAAoBlB,GAEqB,MAAnC0B,GAAoB1B,GAC7BA,EAAUe,cAAgB,OACkB,MAAnCW,GAAoB1B,GAC7BA,EAAUe,cAAgB,OAE1Bf,EAAUe,cAAgB,QAN1Bf,EAAUe,cAAgB,OA3JpBe,CAASvpN,MACT,MAEF,IAAK,QAkKb,SAAkBynN,GACuB,MAAnC0B,GAAoB1B,IACtB6B,GAAc7B,GAGhB,IAAMX,EAAeoC,GAAmBzB,EAAW,IAAK,KACxDA,EAAUiB,cAAgBL,GAASvB,KAAKA,GAEnC6B,GAAoBlB,GAEqB,MAAnC0B,GAAoB1B,GAC7BA,EAAUe,cAAgB,OAE1Bf,EAAUe,cAAgB,QAJ1Bf,EAAUe,cAAgB,OA1KpBgB,CAASxpN,MACT,MAEF,IAAK,QA+Kb,SAAkBynN,GAChB,IAAM9tK,EAAeuvK,GAAmBzB,EAAW,KACnDA,EAAUiB,cAAgBL,GAAS1uK,KAAKA,GAEnCgvK,GAAoBlB,GAGvBA,EAAUe,cAAgB,QAF1Bf,EAAUe,cAAgB,OAnLpBiB,CAASzpN,MACT,MAEF,IAAK,SAsLb,SAAmBynN,GACsB,MAAnC0B,GAAoB1B,IACtB6B,GAAc7B,GAGhB,IAAML,EA5KR,SAAuBK,GACrB,IAAIhlJ,EAAS,GACTglJ,EAAUgB,cAAgBhB,EAAUc,cACtC9lJ,EAASglJ,EAAUa,MAAMtxM,UAAUywM,EAAUgB,eAC7ChB,EAAUgB,cAAgBhB,EAAUc,aAEtC,OAAO9lJ,EAsKeinJ,CAAcjC,GACpCA,EAAUiB,cAAgBL,GAASjB,MAAMA,GACzCK,EAAUe,cAAgB,OA5LlBmB,CAAU3pN,MACV,MAEF,QACE,MAAM,IAAIwC,MAAJ,0CAA6CxC,KAAKwoN,qBA5B5DxoN,KAAK0oN,mBAAgBxnN,EA+BvB,QAASlB,KAAK0oN,kBAxDlB,KA2EA,SAASC,GAAoBlB,GAC3B,OAAOA,EAAUgB,cAAgBhB,EAAUc,YAM7C,SAASY,GAAoB1B,GAC3B,OAAOA,EAAUa,MAAMb,EAAUgB,eAOnC,SAASa,GAAc7B,EAAyBt0I,GAC1Cw1I,GAAoBlB,KACjBt0I,IACHA,EAAO,GAETs0I,EAAUgB,eAAiBt1I,GAQ/B,SAASi2I,GAAe3B,EAAyBmC,GAC/C,IAAIC,EAAmBpC,EAAUgB,cAAgBmB,EAIjD,OAHInC,EAAUc,YAAcsB,IAC1BA,EAAWpC,EAAUc,aAEhBd,EAAUa,MAAMtxM,UAAUywM,EAAUgB,cAAeoB,GAO5D,SAASjB,GAAUnB,EAAyBqC,GAG1C,IAFA,IAAIrnJ,EAAS,GAENkmJ,GAAoBlB,IAAY,CACrC,IAAMhB,EAA2B0C,GAAoB1B,GACrD,IAAKqC,EAAUrD,GACb,MAEAhkJ,GAAUgkJ,EACV6C,GAAc7B,GAIlB,OAAOhlJ,EAeT,SAASymJ,GAAmBzB,GAA2D,2BAA/BsC,EAA+B,iCAA/BA,EAA+B,kBACrF,OAAOnB,GACLnB,GACA,SAACz7D,GAAD,OAAqE,IAA9C+9D,EAAsBlzM,QAAQm1I,MCpjBzD,ICXIg+D,GAQAC,GAQAC,GAcAC,GAiCAC,GDpDEC,GAAiB,WAEjBC,GAA4B,CAChC,yBACA,gCACA,iBACA,8BACA,kBACA,oBACA,QACA,2BACA,cAEA,mCACA,+BACA,+BACA,8BACA,gCACA,yBACA,iCACA,gCACA,SAEA,SACA,kBACA,gBACA,aACA,iBACA,eACA,OACA,OACA,UACA,WACA,oBACA,gBACA,sBACA,gBACA,SACA,aACA,cACA,SACA,oBACA,aACA,oBAGIC,GAA0C,CAAC,eAEpCC,GAAb,WAIE,aAA2F,6DAAF,GAAE,IAA7EC,mBAAAA,OAA6E,MAAxD,GAAwD,MAApDC,uBAAAA,OAAoD,MAA3B,GAA2B,YACzFD,EAAqBxsN,MAAMC,QAAQusN,GAC/BH,GAA0B7qN,OAAOgrN,GACjCH,GAEJI,EAAyBzsN,MAAMC,QAAQwsN,GACnCH,GAA8B9qN,OAAOirN,GACrCH,GAEJvqN,KAAKyqN,mBAAqB,IAAI1/M,IAAI0/M,EAAmBtxK,KAAI,SAACv1C,GAAD,OAAOA,EAAE8I,kBAClE1M,KAAK0qN,uBAAyB,IAAI3/M,IAAI2/M,EAAuBvxK,KAAI,SAAC1uC,GAAD,OAAOA,EAAEiC,kBAd9E,mCAiBS,SAAS0rC,GAAY,WACpBuyK,EAAO,IAAI5/M,IACjB,OAAO8lC,KAAKC,UACVsH,GACA,SAAC55C,EAAaqB,GAEZ,GAAIA,aAAiB2C,MACnB,OAAO,OAAP,wBACK3C,GAAK,CACRM,KAAMN,EAAMM,KACZyE,QAAS/E,EAAM+E,UAInB,GAAY,gBAARpG,EACF,OAAO,EAAKosN,gBAAgB/qN,GACvB,GAAY,QAARrB,EACT,OAAO,EAAKqsN,YAAYhrN,GACnB,GAAY,UAARrB,EACT,OAAO,EAAKssN,cAAcjrN,GACrB,GAAY,SAARrB,GAGQ,aAARA,GAGQ,kBAARA,EAAJ,CAIA,GAAIP,MAAMC,QAAQ2B,IlD6JZ,kBAFI6X,EkD3J2B7X,IlD8JtC,OAAV6X,IACCzZ,MAAMC,QAAQwZ,MACbA,aAAiB88B,WACjB98B,aAAiBmL,MkDjKqC,CAClD,GAAI8nM,EAAKv6L,IAAIvwB,GACX,MAAO,aAET8qN,EAAKx/M,IAAItL,GlDuJb,IAAmB6X,EkDpJjB,OAAO7X,KAET,KAxDN,6BA4DU,SAAgBA,GACtB,OAAOG,KAAK+qN,eAAelrN,EAAOG,KAAKyqN,oBAAoB,SAAC7+M,EAAG6D,GAAJ,OAAU7D,EAAE6D,GAAG5P,WA7D9E,2BAgEU,SAAcA,GACpB,OAAOG,KAAK+qN,eAAelrN,EAAOG,KAAK0qN,wBAAwB,SAAC9+M,EAAG6D,GAAJ,OAAU7D,EAAE6D,QAjE/E,4BAoEU,SACN5P,EACAmrN,EACAzxK,GAEA,GAAqB,kBAAV15C,GAAgC,OAAVA,EAC/B,OAAOA,EAKT,IAFA,IAAMorN,EAA2B,GAEjC,MAAgB3sN,OAAOsH,KAAK/F,GAA5B,eAAoC,CAA/B,IAAM4P,EAAC,KACNu7M,EAAY56L,IAAI3gB,EAAE/C,eACpBu+M,EAAUx7M,GAAK8pC,EAAS15C,EAAO4P,GAE/Bw7M,EAAUx7M,GAAK46M,GAInB,OAAOY,IAvFX,yBA0FU,SAAYprN,GAClB,GAAqB,kBAAVA,GAAgC,OAAVA,EAC/B,OAAOA,EAGT,IAAMqrN,EAAaxE,GAAAA,MAAiB7mN,GAC9BsrN,EAAcD,EAAW9C,WAE/B,IAAK+C,EACH,OAAOtrN,EAGT,IAZ+B,EAYzBunN,EAAQnB,GAASz3I,MAAM28I,GAZE,KAaf/D,EAAMxhN,QAbS,IAa/B,IAAK,EAAL,qBAA8B,KAAnB6J,EAAmB,QACvBzP,KAAK0qN,uBAAuBt6L,IAAI3gB,EAAE/C,gBACrC06M,EAAMhjN,IAAIqL,EAAG46M,KAfc,8BAoB/B,OADAa,EAAW/C,SAASf,EAAM/oN,YACnB6sN,EAAW7sN,eA9GtB,KEnEai2G,GAAS,GCKhB82G,GAAiB,IAAIZ,GAKda,GAAb,gCA8BE,WACEzmN,EACAgiB,EACAo+L,EACAj9I,EACAg9E,GAAgC,wBAEhC,cAAMngJ,IACDzE,KAAO,YACZ,EAAKymB,KAAOA,EACZ,EAAKo+L,WAAaA,EAClB,EAAKj9I,QAAUA,EACf,EAAKg9E,SAAWA,EAEhBzmJ,OAAOomE,eAAP,MAA4B2mJ,EAAU9sN,WATN,EAnCpC,kBAkDG+1G,GAlDH,MAkDE,WACE,MAAO,cAAP,OAAqBt0G,KAAK4E,QAA1B,eAAwCwmN,GAAeE,SAAStrN,WAnDpE,MAA+BwC,QFR/B,GEYkB6oN,GAAAA,mBAA6B,qBAI7BA,GAAAA,YAAsB,eFhBnClqJ,KAAK71D,WAAa61D,KAAKoqJ,YAAcpqJ,KAAKgyF,OAAShyF,KAAKqqJ,cAC3D,MAAM,IAAIhpN,MAAJ,sUAMR,SAASipN,KAIP,OAHKzB,KACHA,GAAY1+M,SAASmxB,eAAeivL,eAAe,KAAM,KAAM,OAE1D1B,GAIT,SAAS2B,KAIP,OAHK1B,KACHA,GAAe,IAAIsB,WAEdtB,GAIT,SAAS2B,KAIP,OAHK1B,KACHA,GAAmB,IAAIsB,eAElBtB,GA2DT,SAAS2B,GAAaC,GACpB,IAAMC,EAAeD,EAAI7kJ,qBAAqB,eAC9C,GAAI8kJ,EAAaluN,OAAS,GAjB5B,mBACE,QAAgBqD,IAAZkpN,GACF,IACE,IAAM4B,EAA6C,QAA/B,EAAQ,OAAR7B,SAAQ,IAARA,QAAQ,EAARA,GAAU8B,WAAW,kBAAU/1B,IAAAA,EAAAA,EAAI,UACvDk0B,GAEkB,QADhB,EAAAuB,KAAYO,gBAAgBF,EAAY,YAAY/kJ,qBAAqB,eAAe,GACrFh0D,oBAAaojL,IAAAA,EAAAA,EAAI,GACtB,MAAO81B,GAEP/B,GAAU,GAGd,OAAOA,GAKwBgC,GAC7B,IAAK,IAAIzuN,EAAI,EAAGA,EAAIouN,EAAaluN,OAAQF,IACvC,GAAIouN,EAAapuN,GAAGsV,eAAiBm3M,GACnC,MAAM,IAAI5nN,MAAMupN,EAAapuN,GAAGuV,WAkBxC,SAASm5M,GAAYtiN,EAAYmI,GAC/B,IAAIuwD,EAAc,GAEZ6pJ,EAAyBviN,EAAKw2K,WAAW1iL,OAEzC0uN,EAAuBxiN,EAAKw2K,WAAW,GACvCisC,EACHD,GACoB,IAAnBD,GACAC,EAAe54M,WAAaw/I,KAAKs5D,WACjCF,EAAe34M,gBACjB1S,EAEIwrN,EAjBR,SAAiC3iN,GAC/B,OATF,SAAmBA,GACjB,QAAUA,EAAiBmyJ,WAQpB3mH,CAAUxrC,IAASA,EAAK4iN,gBAAkB5iN,OAAO7I,EAgBL0rN,CAAwB7iN,GAC3E,GAAI2iN,EAAuB,CACzBjqJ,EAAOswH,IAAe,GAEtB,IAAK,IAAIp1L,EAAI,EAAGA,EAAI+uN,EAAsBxwD,WAAWr+J,OAAQF,IAAK,CAChE,IAAMkvN,EAAOH,EAAsBxwD,WAAWv+J,GAC9C8kE,EAAOswH,IAAa85B,EAAKx8M,UAAYw8M,EAAKj5M,UAGxC44M,IACF/pJ,EAAOvwD,EAAQktL,YAAcotB,QAEH,IAAnBF,EACT7pJ,EAAS,GACA+pJ,IACT/pJ,EAAS+pJ,GAGX,IAAKA,EACH,IAAK,IAAI7uN,EAAI,EAAGA,EAAI2uN,EAAgB3uN,IAAK,CACvC,IAAM+c,EAAQ3Q,EAAKw2K,WAAW5iL,GAE9B,GAAI+c,EAAM/G,WAAaw/I,KAAKs5D,UAAW,CACrC,IAAMK,EAAmBT,GAAY3xM,EAAOxI,GACvCuwD,EAAO/nD,EAAMrK,UAEPpS,MAAMC,QAAQukE,EAAO/nD,EAAMrK,WACpCoyD,EAAO/nD,EAAMrK,UAAUrS,KAAK8uN,GAE5BrqJ,EAAO/nD,EAAMrK,UAAY,CAACoyD,EAAO/nD,EAAMrK,UAAWy8M,GAJlDrqJ,EAAO/nD,EAAMrK,UAAYy8M,GAUjC,OAAOrqJ,EAGH,SAAUsqJ,GAAaviB,GAA8C,UAA5Bx0G,EAA4B,uDAAF,GACjEipG,EAA8C,CAClDC,SAAuB,QAAb,EAAAlpG,EAAKkpG,gBAAQhJ,IAAAA,EAAAA,EAAI,OAC3BiJ,YAA6B,QAAhB,EAAAnpG,EAAKmpG,mBAAW9I,IAAAA,GAAAA,EAC7B+I,WAA2B,QAAf,EAAAppG,EAAKopG,kBAAU1G,IAAAA,EAAAA,EAAI1F,IAE3B84B,EAAMkB,GAAUxiB,EAASvL,EAAeC,SAAUD,GAAgB,GACxE,MACE,0DACA2sB,KAAgBqB,kBAAkBnB,GAItC,SAASoB,GAAgBt1C,GAEvB,IADA,IAAMn1G,EAAS,GACf,MAAkBnkE,OAAOsH,KAAKgyK,GAA9B,eAAsC,CAAjC,IAAMp5K,EAAG,KACNquN,EAAOpB,KAAS0B,gBAAgB3uN,GACtCquN,EAAKhtN,MAAQ+3K,EAAMp5K,GAAKH,WACxBokE,EAAOzkE,KAAK6uN,GAEd,OAAOpqJ,EAGT,SAASuqJ,GAAU50K,EAAUg1K,EAAqBl7M,GAChD,QACUhR,IAARk3C,GACQ,OAARA,GACe,kBAARA,GACQ,kBAARA,GACQ,mBAARA,EACP,CACA,IAAMi1K,EAAO5B,KAASlgN,cAAc6hN,GAEpC,OADAC,EAAKz6M,iBAAsB1R,IAARk3C,GAA6B,OAARA,EAAe,GAAKA,EAAI/5C,WACzD,CAACgvN,GACH,GAAIpvN,MAAMC,QAAQk6C,GAAM,CAC7B,IAD6B,EACvBqqB,EAAS,GADc,KAELrqB,GAFK,IAE7B,IAAK,EAAL,qBAA6B,YACP40K,GADO,QACcI,EAAal7M,IAD3B,IAC3B,IAAK,EAAL,qBAAgE,KAArDwI,EAAqD,QAC9D+nD,EAAOzkE,KAAK0c,IAFa,gCAFA,8BAO7B,OAAO+nD,EACF,GAAmB,kBAARrqB,EAAkB,CAElC,IADA,IAAMi1K,EAAO5B,KAASlgN,cAAc6hN,GACpC,MAAkB9uN,OAAOsH,KAAKwyC,GAA9B,eAAoC,CAA/B,IAAM55C,EAAG,KACZ,GAAIA,IAAQu0L,GAAa,YACJm6B,GAAgB90K,EAAI55C,KADhB,IACvB,IAAK,EAAL,qBAA8C,KAAnCquN,EAAmC,QAC5CQ,EAAKnxD,WAAWoxD,aAAaT,IAFR,oCAIlB,GAAIruN,IAAQ0T,EAAQktL,WACzBiuB,EAAKz6M,YAAcwlC,EAAI55C,GAAKH,eACvB,YACe2uN,GAAU50K,EAAI55C,GAAMA,EAAK0T,IADxC,IACL,IAAK,EAAL,qBAAuD,KAA5CwI,EAA4C,QACrD2yM,EAAK/5M,YAAYoH,IAFd,gCAMT,MAAO,CAAC2yM,GAER,MAAM,IAAI7qN,MAAJ,+CAAkD41C,IG7KtD,SAAUm1K,GACdC,EACAC,GAEA,MAAO,CACLvrN,OAAQ,SAAC+hN,EAA2B/xM,GAClC,OAAO,IAAIw7M,GACTzJ,EACA/xM,EACAs7M,EACAC,KHnByB,qBAAtBtsJ,KAAKwsJ,eACdxD,GAAWhpJ,KAAKwsJ,aAAaC,aAAa,+BAAgC,CACxE3B,WAAY,SAAC1nK,GAAD,OAAOA,MGuBhB,IAAMspK,GAA0B,CAAC,mBAAoB,aAC/CC,GAAyB,CAAC,kBAAmB,wBAa7CJ,GAAb,gCAKE,WACEzJ,EACA8J,EACAP,GACsC,QAAtCC,EAAsC,uDAAF,GAAE,kBAEtC,cAAMxJ,EAAY8J,IAEbC,iBACFR,GAA+BA,EAA4BxoE,MAAS6oE,GACvE,EAAKI,gBACFT,GAA+BA,EAA4BU,KAAQJ,GACtE,EAAK1uB,WAAsC,QAAzB,EAAAquB,EAAeruB,kBAAUlJ,IAAAA,EAAAA,EAAIlD,GART,EAT1C,qEAoBS,WAAkBjrH,GAAlB,sGACE/nE,KAAK40L,YAAYuvB,YAAYp8I,GAASl1C,MAAK,SAACkyH,GAAD,OAChDopE,GAAwB,EAAKH,iBAAkB,EAAKC,gBAAiBlpE,EAAU,CAC7Eq6C,WAAY,EAAKA,iBAHhB,gDApBT,4DAA2C6hB,IA6B3C,SAASmN,GACPC,GAEA,IAAI5rJ,EACEsF,EAA2BsmJ,EAAetmJ,QAC1CumJ,EAA2CvmJ,EAAQumJ,cACzD,GAAIA,EAAe,CACjB,IAAMC,EAKoCxmJ,EAAQwmJ,wBAIhD9rJ,EAHG8rJ,EAGMA,EAAwBD,EAAeD,GAFvCC,EAAc7O,UAAU4O,EAAe1iD,QAKpD,OAAOlpG,EAGT,SAAS+rJ,GAA0BH,GACjC,IAAMI,EACJJ,EAAetmJ,QAAQ0mJ,kBASzB,YAP0BvtN,IAAtButN,IAEoC,mBAAtBA,EACPA,EAEAA,EAAkBJ,IAazB,SAAUF,GACdH,EACAC,EACAlpE,GAC+B,UAA/B7yI,EAA+B,uDAAF,GAEvB+sL,EAA8C,CAClDC,SAA0B,QAAhB,EAAAhtL,EAAQgtL,gBAAQhJ,IAAAA,EAAAA,EAAI,GAC9BiJ,YAAgC,QAAnB,EAAAjtL,EAAQitL,mBAAW9I,IAAAA,GAAAA,EAChC+I,WAA8B,QAAlB,EAAAltL,EAAQktL,kBAAU1G,IAAAA,EAAAA,EAAI1F,IAEpC,OAAOxkH,GAAMw/I,EAAkBC,EAAiBlpE,EAAUk6C,GAAgBpsK,MACxE,SAACw7L,GACC,IAAKG,GAA0BH,GAC7B,OAAOA,EAGT,IAAMC,EAAgBD,EAAetmJ,QAAQumJ,cAC7C,IAAKA,IAAkBA,EAAc7O,UACnC,OAAO4O,EAGT,IAAMK,EAAeN,GAAqBC,GAE1C,EAAwCM,GACtCN,EACAC,EACAI,GAHMhqN,EAAR,EAAQA,MAAOkqN,EAAf,EAAeA,qBAKf,GAAIlqN,EACF,MAAMA,EACD,GAAIkqN,EACT,OAAOP,EAKT,GAAIK,EAAc,CAChB,GAAIA,EAAa/O,WAAY,CAC3B,IAAIkP,EAA0BR,EAAeS,WACzCR,EAAc1wB,OAAS8wB,EAAa/O,WAAW/9M,KAAKzB,OAAS4kM,GAAWgqB,WAC1EF,EACgC,kBAAvBA,EACHA,EAAmBH,EAAa/O,WAAW9c,gBAC3C,IAER,IACEwrB,EAAeS,WAAaR,EAAc/+D,WAAWw0C,YACnD2qB,EAAa/O,WACbkP,EACA,0BACA38M,GAEF,MAAO88M,GAQP,MAPkB,IAAI3D,GAAJ,gBACP2D,EADO,yDACoDX,EAAeY,iBACnF/tN,EACAmtN,EAAe1iD,OACf0iD,EAAetmJ,QACfsmJ,QAIkC,SAA7BC,EAAc9O,aAEvB6O,EAAeS,WAAa/pE,EAAS4mB,QAAU,KAAO5mB,EAAS4mB,OAAS,KAGtE+iD,EAAahP,gBACf2O,EAAea,cAAgBZ,EAAc/+D,WAAWw0C,YACtD2qB,EAAahP,cACb2O,EAAelzK,QAAQg0K,SACvB,6BACAj9M,IAKN,OAAOm8M,KAab,SAASM,GACPN,EACAC,EACAI,SAEMU,EAAoB,KAAOf,EAAe1iD,QAAU0iD,EAAe1iD,OAAS,IAC5E0jD,EAdR,SAA8Bf,GAC5B,IAAMgB,EAAsBhxN,OAAOsH,KAAK0oN,EAAc7O,WACtD,OACiC,IAA/B6P,EAAoBzxN,QACY,IAA/ByxN,EAAoBzxN,QAA2C,YAA3ByxN,EAAoB,GAUrBC,CAAqBjB,GACvDc,IACEV,EAEN,GAAIW,EAAsB,CACxB,IAAIX,EAKF,MAAO,CAAEhqN,MAAO,KAAMkqN,sBAAsB,GAJ5C,IAAKF,EAAac,QAChB,MAAO,CAAE9qN,MAAO,KAAMkqN,sBAAsB,GAOlD,IAAMa,EAAgC,OAAZf,QAAY,IAAZA,EAAAA,EAAgBJ,EAAc7O,UAAU5gN,QAI5D6wN,GAF4C,QAAhD,EAAArB,EAAetmJ,QAAQ4nJ,iCAAyBz5B,IAAAA,OAAA,EAAAA,EAAE9lK,IAAIi+L,EAAe1iD,UACrE0iD,EAAetmJ,QAAQ6nJ,mBACY,kCACNvB,EAAe1iD,QACzC0iD,EAAeY,WAEdvqN,EAAQ,IAAI2mN,GAChBqE,OACAxuN,EACAmtN,EAAe1iD,OACf0iD,EAAetmJ,QACfsmJ,GAKF,IAAKoB,EACH,MAAM/qN,EAGR,IAAMmrN,EAAoBJ,EAAkB9P,WACtCmQ,EAAuBL,EAAkB/P,cAE/C,IAGE,GAAI2O,EAAeS,WAAY,CAC7B,IACIiB,EADEjB,EAAaT,EAAeS,WAElC,GAAIe,EAAmB,CACrB,IAAIhB,EAA0BC,EAC1BR,EAAc1wB,OAASiyB,EAAkBjuN,KAAKzB,OAAS4kM,GAAWgqB,WACpEF,EACwB,kBAAfC,EAA0BA,EAAWe,EAAkBhtB,gBAAmB,IAErFktB,EAAczB,EAAc/+D,WAAWw0C,YACrC8rB,EACAhB,EACA,6BAIJ,IAAMmB,EAAqBlB,EAAWpqN,OAASqrN,GAAejB,EAC9DpqN,EAAMkiB,KAAOopM,EAAcppM,KACvBopM,EAAcprN,UAChBF,EAAME,QAAUorN,EAAcprN,SAG5BirN,IACFnrN,EAAMqgJ,SAAU+pE,WAAaiB,GAK7B1B,EAAelzK,SAAW20K,IAC5BprN,EAAMqgJ,SAAUmqE,cAAgBZ,EAAc/+D,WAAWw0C,YACvD+rB,EACAzB,EAAelzK,QAAQg0K,SACvB,+BAGJ,MAAOc,GACPvrN,EAAME,QAAN,iBAA0BqrN,EAAarrN,QAAvC,2DAAiGypN,EAAeY,WAAhH,+BAGF,MAAO,CAAEvqN,MAAAA,EAAOkqN,sBAAsB,GAGxC,SAASpgJ,GACPw/I,EACAC,EACAiC,EACAl6H,SAEMm6H,EAAe,SAAC3vN,GACpB,IAAM4vN,EAAM,UAAH,OAAa5vN,EAAb,wDAAgE0vN,EAAkBjB,WAAlF,KACHoB,EAAU7vN,EAAIomB,MAAQykM,GAAUiF,YAChCnoN,EAAI,IAAIkjN,GACZ+E,EACAC,EACAH,EAAkBvkD,OAClBukD,EAAkBnoJ,QAClBmoJ,GAEF,OAAO9vN,QAAQE,OAAO6H,IAMxB,MAFqD,QAAnD,EAAA+nN,EAAkBnoJ,QAAQ4nJ,iCAAyBz5B,IAAAA,OAAA,EAAAA,EAAE9lK,IAAI8/L,EAAkBvkD,UAC3EukD,EAAkBnoJ,QAAQ6nJ,qBACVM,EAAkBjB,WAAY,CAC9C,IAAMnlM,EAAOomM,EAAkBjB,WACzBrkB,EAAsBslB,EAAkB/0K,QAAQh3C,IAAI,iBAAmB,GACvEosN,EAA+B3lB,EAEjCA,EAAYp+L,MAAM,KAAK2sC,KAAI,SAAC/xC,GAAD,OAAeA,EAAUsF,iBADpD,GAEJ,GAC+B,IAA7B6jN,EAAkB1yN,QAClB0yN,EAAkBj1K,MAAK,SAACl0C,GAAD,OAAwD,IAAzC4mN,EAAiBn3M,QAAQzP,MAE/D,OAAO,IAAIhH,SAA+B,SAACC,GACzC6vN,EAAkBpB,WAAaj+K,KAAK29B,MAAM1kD,GAC1CzpB,EAAQ6vN,MACPp9L,MAAMq9L,GACJ,GAAII,EAAkBj1K,MAAK,SAACl0C,GAAD,OAAuD,IAAxC6mN,EAAgBp3M,QAAQzP,MACvE,OHpUA,SAAmB0tE,GAAyC,YAA5BkhB,EAA4B,uDAAF,GAC9D,IACE,IAWI59C,EAXE6mJ,EAA8C,CAClDC,SAAuB,QAAb,EAAAlpG,EAAKkpG,gBAAQhJ,IAAAA,EAAAA,EAAI,GAC3BiJ,YAA6B,QAAhB,EAAAnpG,EAAKmpG,mBAAW9I,IAAAA,GAAAA,EAC7B+I,WAA2B,QAAf,EAAAppG,EAAKopG,kBAAU1G,IAAAA,EAAAA,EAAI1F,IAE3B84B,EAAMH,KAAYO,gBACI,QAAzB,EAAQ,OAAR/B,SAAQ,IAARA,QAAQ,EAARA,GAAU8B,WAAWn3I,UAAI3L,IAAAA,EAAAA,EAAI2L,EAC9B,mBAWF,OATA+2I,GAAaC,GAIX1zK,EADE6mJ,EAAeE,YACXktB,GAAYP,EAAK7sB,GAEjBotB,GAAYP,EAAIvrC,WAAW,GAAI0e,GAGhC7+L,QAAQC,QAAQ+3C,GACvB,MAAO53C,GACP,OAAOJ,QAAQE,OAAOE,IG8SbgwN,CAAS1mM,EAAMksE,GACnBnjE,MAAK,SAAC3hB,GAEL,OADAg/M,EAAkBpB,WAAa59M,EACxBg/M,KAERp9L,MAAMq9L,GAIb,OAAO/vN,QAAQC,QAAQ6vN,GC1UnB,SAAUO,KAA+C,IAArCC,EAAqC,uDAAF,GAC3D,MAAO,CACLxuN,OAAQ,SAAC+hN,EAA2B/xM,GAClC,OAAO,IAAIy+M,GAAU1M,EAAY/xM,EAASw+M,KAQzC,IAAMC,GAAb,gCA4CE,WACE1M,EACA/xM,GAKwB,+DAAF,GAAE,IAHtBklL,OAAAA,OAGsB,MAHbw5B,GAAAA,KAGa,MAFtBnG,mBAAAA,OAEsB,MAFD,GAEC,MADtBC,uBAAAA,OACsB,MADG,GACH,oBAExB,cAAMzG,EAAY/xM,IACbklL,OAASA,EACd,EAAKy5B,UAAY,IAAIrG,GAAU,CAAEC,mBAAAA,EAAoBC,uBAAAA,IAJ7B,EAnD5B,2CAWE,WACE,OAAO1qN,KAAK6wN,UAAUpG,oBAZ1B,IAsBE,SAA8BA,GAC5BzqN,KAAK6wN,UAAUpG,mBAAqBA,IAvBxC,kCA+BE,WACE,OAAOzqN,KAAK6wN,UAAUnG,wBAhC1B,IAwCE,SAAkCA,GAChC1qN,KAAK6wN,UAAUnG,uBAAyBA,IAzC5C,yBA0DS,SAAY3iJ,GAAwB,WACzC,OAAK/nE,KAAKo3L,OAAO3vE,SAEjBznH,KAAK8wN,WAAW/oJ,GACT/nE,KAAK40L,YAAYuvB,YAAYp8I,GAASl1C,MAAK,SAACkyH,GAAD,OAAc,EAAKgsE,YAAYhsE,OAHhD/kJ,KAAK40L,YAAYuvB,YAAYp8I,KA3DlE,wBAiEU,SAAWA,GACjB/nE,KAAKo3L,OAAL,mBAAwBp3L,KAAK6wN,UAAUvF,SAASvjJ,OAlEpD,yBAqEU,SAAYg9E,GAGlB,OAFA/kJ,KAAKo3L,OAAL,gCAAqCryC,EAAS4mB,SAC9C3rK,KAAKo3L,OAAL,mBAAwBp3L,KAAK6wN,UAAUvF,SAASvmE,EAAS5pG,WAClD4pG,MAxEX,GAA+Bk8D,IC/CzB+P,GAAmD,IAAIxuN,MAC3D,8EAOI,SAAUyuN,KACd,MAAO,CACL/uN,OAAQ,SAAC0yL,EAA4Bh7D,GACnC,MAAMo3F,KAKL,ICvBM55B,GAASusB,GAAmB,gBCJ5BuN,GAA0B,aAE1BC,GAA2C,UAC3CC,GAA2C,UAC3CC,GAAgC,IAChCC,GAA0C,QAC1CC,GAA4C,QAO5CC,GAAwC,qCAExCC,GACC,CACVC,uBAAwB,IACxBC,UAAW,MACXC,SAAU,WACVC,UAAW,YACXC,QAAS,WAIAC,GACI,IAOJC,GAIC,aAJDA,GAMK,iBANLA,GAQgB,4BARhBA,GASG,eATHA,GAUH,SAVGA,GAkBC,aAlBDA,GAsBM,kBAtBNA,GAuBG,eAGHC,GAAW,GACXC,GAAU,IAKVC,GAAmB,OACnBC,GAAmB,WAMnBC,GAAuC,CAClD,8BACA,gBACA,iBACA,eACA,OACA,aACA,cACA,oBACA,aACA,yBACA,YACA,kBACA,kBACA,gCACA,eACA,gBACA,sBACA,mBACA,mBACA,cACA,gBACA,OACA,gBACA,SACA,OACA,qBACA,mBACA,4BACA,eACA,qBACA,mBACA,+BACA,sBACA,mBACA,oBACA,aACA,gCACA,wBACA,gBACA,oBACA,WACA,oBACA,gBACA,sBACA,mBACA,+BACA,4BACA,oBACA,sBACA,0BACA,0BACA,kCACA,gCACA,8BACA,gCACA,6BACA,6BACA,2BACA,wBACA,yBACA,0BACA,4BACA,iBACA,iCACA,qBACA,gCACA,wBACA,6BACA,sCACA,4BACA,6BACA,6BACA,6BACA,wBACA,oBACA,0BACA,sBACA,gBACA,kBACA,kBACA,yBACA,6BACA,0BACA,8BACA,gBACA,0BACA,uBACA,gCACA,4BACA,kCACA,iBACA,6BACA,eACA,uBAGWC,GAA2C,CACtD,OACA,aACA,OACA,OACA,OACA,OACA,OACA,KACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,KACA,KACA,UACA,SACA,SACA,SACA,UACA,UACA,gBACA,YACA,eACA,MACA,QACA,MACA,MACA,QACA,MACA,YAGWC,GAAyC,sCACzCC,GACX,4CAIWC,GAAiB,CAC5B,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,sBC28BeC,IA1kCX,SAAUC,GAAc3oM,GAC5B,IAAM4oM,EAAYlM,GAAAA,MAAiB18L,GAE/B2vB,EAAOi5K,EAAUzL,UAMrB,OALAxtK,EAAOA,GAAQ,IAEfA,EA2IO9uC,mBA3IO8uC,GA4IXrsC,QAAQ,OAAQ,KAChBA,QAAQ,KAAM,OACdA,QAAQ,MAAO,OACfA,QAAQ,OAAQ,KA9InBslN,EAAU1K,QAAQvuK,GAEXi5K,EAAUv0N,WA4Bb,SAAUw0N,GACdC,EACAC,GAQA,IAF2B,OAEVD,EAAiBtmN,MAAM,MAFb,IAG3B,IAAK,EAAL,qBAAgC,KAArB5C,EAAqB,QAC9B,GAAIA,EAAQqF,OAAO+7D,WAAW+nJ,GAC5B,OAAOnpN,EAAQqF,OAAOC,MAAM6jN,EAAW,SAAU,IAL1B,8BAQ3B,MAAO,GASH,SAAUC,GAA6BF,GAC3C,IAAIG,EAAW,GAEXH,EAAiB9nJ,WAAW,gCAE9BioJ,EA9CJ,SAAsCH,GAGpC,IAAIG,EAAW,GACf,IAAgE,IAA5DH,EAAiBlpM,OAAO,+BAAuC,CAEjE,IAFiE,OAExCkpM,EAAiBtmN,MAAM,MAFiB,IAGjE,IAAK,EAAL,qBAAwC,KAA7B5C,EAA6B,QAClCA,EAAQqF,OAAO+7D,WAAW,iCAC5BioJ,EAAWrpN,EAAQqF,OAAOC,MAAM,mCAAoC,KALP,+BASnE,OAAO+jN,EAiCMC,CAA6BJ,GACxCA,EDtGuC,wNC0GzC,IAAIK,EAAeN,GAAqBC,EAAkB,gBAK1D,GAFAK,EAAeA,EAAa9mJ,SAAS,KAAO8mJ,EAAaxyN,MAAM,GAAI,GAAKwyN,GAGZ,IAA1DL,EAAiBlpM,OAAO,+BACoB,IAA5CkpM,EAAiBlpM,OAAO,eACxB,CAGA,IACIwpM,EADAC,EAA2B,GAE3BC,EAAaC,OAAOxqK,KAAK,aAAc,UACvCyqK,EAAiB,GAMrB,GAHAJ,EAAcP,GAAqBC,EAAkB,eACrDQ,EAAaC,OAAOxqK,KAAK8pK,GAAqBC,EAAkB,cAAe,WAE1EK,EAAc,CAKjB,IAAMM,GADNJ,EAA2BR,GAAqBC,EAAkB,6BACvBpmN,cAC3C,GAAiB,UAAb+mN,GAAqC,SAAbA,EAC1B,MAAM,IAAIjxN,MACR,mGAKJ,KADAgxN,EAAiBX,GAAqBC,EAAkB,mBAEtD,MAAM,IAAItwN,MAAM,4DAElB2wN,EAAe,GAAH,OAAME,EAAN,cAAoCD,EAApC,iBAAwDI,GAGtE,IAAKJ,EACH,MAAM,IAAI5wN,MAAM,yDACX,GAA0B,IAAtB8wN,EAAWz1N,OACpB,MAAM,IAAI2E,MAAM,wDAGlB,MAAO,CACLk/M,KAAM,oBACN13L,IAAKmpM,EACLC,YAAAA,EACAE,WAAAA,EACAL,SAAAA,GAKF,IAAMS,EAAab,GAAqBC,EAAkB,yBACpDM,EAAcO,GAAsBR,GAC1C,IAAKA,EACH,MAAM,IAAI3wN,MAAM,8DACX,IAAKkxN,EACV,MAAM,IAAIlxN,MAAM,uEAGlB,MAAO,CAAEk/M,KAAM,gBAAiB13L,IAAKmpM,EAAcC,YAAAA,EAAaM,WAAAA,GAyB9D,SAAUE,GAAgB5pM,EAAa7pB,GAC3C,IAAMyyN,EAAYlM,GAAAA,MAAiB18L,GAE/B2vB,EAAOi5K,EAAUzL,UAIrB,OAHAxtK,EAAOA,EAAQA,EAAK0yB,SAAS,KAAd,UAAwB1yB,GAAxB,OAA+Bx5C,GAA/B,UAA2Cw5C,EAA3C,YAAmDx5C,GAAUA,EAC5EyyN,EAAU1K,QAAQvuK,GAEXi5K,EAAUv0N,WAYb,SAAUw1N,GAAgB7pM,EAAa7pB,EAAcN,GACzD,IAAM+yN,EAAYlM,GAAAA,MAAiB18L,GAEnC,OADA4oM,EAAUkB,kBAAkB3zN,EAAMN,GAC3B+yN,EAAUv0N,WASb,SAAU01N,GAAgB/pM,EAAa7pB,GAE3C,OADkBumN,GAAAA,MAAiB18L,GAClBgqM,uBAAuB7zN,GAUpC,SAAU8zN,GAAWjqM,EAAay0E,GACtC,IAAMm0H,EAAYlM,GAAAA,MAAiB18L,GAEnC,OADA4oM,EAAU9K,QAAQrpH,GACXm0H,EAAUv0N,WAQb,SAAU61N,GAAWlqM,GAEzB,OADkB08L,GAAAA,MAAiB18L,GAClBm9L,UAkBb,SAAUgN,GAAmBnqM,GACjC,IAAM4oM,EAAYlM,GAAAA,MAAiB18L,GAC7BoqM,EAAaxB,EAAUzL,UAC7B,IAAKiN,EACH,MAAM,IAAI/vN,WAAW,mCAGvB,IAAI8mN,EAAcyH,EAAUxK,YAAc,GAM1C,MAJoB,MADpB+C,EAAcA,EAAYl8M,UAExBk8M,EAAcA,EAAYngJ,WAAW,KAAOmgJ,EAA9B,WAAgDA,IAGzD,GAAP,OAAUiJ,GAAV,OAAuBjJ,GA4CnB,SAAUkJ,GAAiBrqM,EAAasqM,GAC5C,IAAM1B,EAAYlM,GAAAA,MAAiB18L,GAE/Bo9L,EAAQwL,EAAUxK,WAQtB,OAPIhB,EACFA,GAAS,IAAMkN,EAEflN,EAAQkN,EAGV1B,EAAUzK,SAASf,GACZwL,EAAUv0N,WAWb,SAAUk2N,GAAqBjrM,GAA4C,IAAhCkrM,IAAgC,yDAEzEC,EAAanrM,EAAKg4K,cAExB,OAAOkzB,EACHC,EAAWz9M,UAAU,EAAGy9M,EAAW52N,OAAS,GAA5C42N,QACAA,EAAWz9M,UAAU,EAAGy9M,EAAW52N,OAAS,GAAK,IA0BjD,SAAU62N,GAAgBC,EAAuBC,GASjDD,EAAc92N,OAFoBg3N,KAGpCF,EAAgBA,EAAch0N,MAAM,EAHAk0N,KAKtC,IA9B2BrqB,EA8BrBl5H,EACJqjJ,EAkDE,SACJG,EACAC,GACuB,IAAvBC,EAAuB,uDAAH,IAGpB,GAAIvyN,OAAOlE,UAAU02N,SACnB,OAAOH,EAAcG,SAASF,EAAcC,GAI9C,OADAA,EAAYA,GAAa,IACrBF,EAAcj3N,OAASk3N,EAClBD,IAEPC,GAA8BD,EAAcj3N,QACzBm3N,EAAUn3N,SAC3Bm3N,GAAaA,EAAUnuM,OAAOkuM,EAAeC,EAAUn3N,SAElDm3N,EAAUr0N,MAAM,EAAGo0N,GAAgBD,GAnE1CG,CAASL,EAAWv2N,WAZQ,GAY4Bs2N,EAAc92N,OAAQ,KAChF,OAjC2B2sM,EAiCPl5H,EAhCZsiH,GAAyB2/B,OAAOxqK,KAAKyhJ,GAASnsM,SAAS,UAA9Ci/L,KAAKkN,GA0CjB,SAAetqI,GAAtB,6EAAO,WACLg1J,EACAC,EACAC,GAHK,2FAKE,IAAIh1N,SAAc,SAACC,EAASC,GAEjC,IAAI+7D,EAEEg5J,EAAe,gBACHn0N,IAAZm7D,GACF5pC,aAAa4pC,GAEf/7D,EAAO80N,IAUT/4J,EAAU9pC,YAPa,gBACLrxB,IAAZi0N,GACFA,EAAQnxN,oBAAoB,QAASqxN,GAEvCh1N,MAGmC60N,QAErBh0N,IAAZi0N,GACFA,EAAQrxN,iBAAiB,QAASuxN,OA1BjC,oEAyFD,SAAUC,GAAOC,EAAcC,GACnC,OAAOD,EAAKE,sBAAwBD,EAAKC,oBAQrC,SAAU9B,GAAsB3pM,GACpC,IAAM0rM,EAAwBhP,GAAAA,MAAiB18L,GAE/C,IAaE,MAZ2C,SAAvC0rM,EAAU3N,UAAWv7M,MAAM,KAAK,GAEpBkpN,EAAU3N,UAAWv7M,MAAM,KAAK,GACrCmpN,GAAkBD,GAIbA,EAAUvO,UAAW36M,MAAM,KAAK,GAGhC,GAGhB,MAAO9H,GACP,MAAM,IAAIlC,MAAM,6DAId,SAAUmzN,GAAkBD,GAChC,QAA4Bx0N,IAAxBw0N,EAAU3N,UACZ,OAAO,EAGT,IAAMtpH,EACJi3H,EAAU3N,gBAAsC7mN,IAAxBw0N,EAAUzN,UAA0B,GAAK,IAAMyN,EAAUzN,WAMnF,MACE,6HAA6Hh7M,KAC3HwxF,SAEuBv9F,IAAxBw0N,EAAUzN,WAA2BwK,GAAe/iN,SAASgmN,EAAUzN,WAStE,SAAU2N,GAAiBxrE,GAC/B,QAAalpJ,IAATkpJ,EAAJ,CAIA,IAAMyrE,EAAW,GACjB,IAAK,IAAMr3N,KAAO4rJ,EAChB,GAAI9rJ,OAAOC,UAAUf,eAAeiB,KAAK2rJ,EAAM5rJ,GAAM,CACnD,IAAMqB,EAAQuqJ,EAAK5rJ,GACnBq3N,EAAS73N,KAAT,UAAiB6M,mBAAmBrM,GAApC,YAA4CqM,mBAAmBhL,KAInE,OAAOg2N,EAASn3N,KAAK,MAQjB,SAAUo3N,GAAW1rE,GACzB,QAAalpJ,IAATkpJ,EAAJ,CAIA,IAAM94E,EAAgB,CACpBg4H,WAAY,IAGd,IAAK,IAAM9qM,KAAO4rJ,EAChB,GAAI9rJ,OAAOC,UAAUf,eAAeiB,KAAK2rJ,EAAM5rJ,GAAM,CACnD,IAAMqB,EAAQuqJ,EAAK5rJ,GACnB8yE,EAAIg4H,WAAWtrM,KAAK,CAClBQ,IAAAA,EACAqB,MAAAA,IAIN,OAAOyxE,GAQH,SAAUykJ,GAAO3rE,GACrB,QAAalpJ,IAATkpJ,EAAJ,CAIA,IALoC,EAK9B94E,EAAY,GALkB,KAMd84E,EAAKk/C,YANS,IAMpC,IAAK,EAAL,qBAAuC,KAA5B0sB,EAA4B,QACrC1kJ,EAAI0kJ,EAAQx3N,KAAOw3N,EAAQn2N,OAPO,8BASpC,OAAOyxE,GAQH,SAAU2kJ,GACdC,GAMA,QAA0Bh1N,IAAtBg1N,EAIJ,OAAQA,EAAkBxU,MACxB,IAAK,MACH,MAAO,CACLp2H,OAAQ,CACN1pF,KAAM,YACNssM,2BAA4B,CAC1BK,gBAAiB2nB,EAAkB3nB,iBAAmB,IACtDC,WAAY0nB,EAAkB1nB,YAAc,GAC5CC,gBAAiBynB,EAAkBznB,gBACnCC,WAAYwnB,EAAkBC,iBAAmB,GACjDxnB,eAAgBunB,EAAkBE,aAAc,KAIxD,IAAK,OACH,MAAO,CACL9qI,OAAQ,CACN1pF,KAAM,OACNusM,sBAAuB,CACrBM,gBAAiBynB,EAAkBznB,mBAI3C,IAAK,QACH,MAAO,CACLnjH,OAAQ,CACN1pF,KAAM,QACNwsM,mBAAoB,CAClBU,OAAQonB,EAAkBpnB,UAIlC,IAAK,UACH,MAAO,CACLxjH,OAAQ,CACN1pF,KAAM,YAIZ,QACE,MAAMY,MAAM,wCAIZ,SAAU6zN,GACdC,GAEA,GAAKA,KAID,cAAeA,GAAnB,CAMA,IAAMC,EAA0C,GAZA,WAarC/3N,GACT,IAAMwmD,EAAMxmD,EAAIgO,MAAM,KAElBw4C,EAAI,GAAGgmB,WADU,SAEnBhmB,EAAI,GAAKA,EAAI,GAAGhuC,UAFG,MAEoBnZ,SAEzC,IAAMgtJ,EAA8B,CAClC2rE,OAAQxxK,EAAI,GACZyxK,kBAAmBH,EAAwB93N,IAEvCk4N,EAAcH,EAAaz+K,WAAU,SAAC6+K,GAAD,OAAYA,EAAOC,WAAa5xK,EAAI,MAC3E0xK,GAAe,EACjBH,EAAaG,GAAanpE,MAAMvvJ,KAAK6sJ,GAErC0rE,EAAav4N,KAAK,CAChB44N,SAAU5xK,EAAI,GACduoG,MAAO,CAAC1C,MAhBd,IAAK,IAAMrsJ,KAAO83N,EAAyB,EAAhC93N,GAoBX,OAAO+3N,GASH,SAAUM,GAAoBnkI,EAAU2hG,GAE5C,OADC3hG,EAAc2hG,WAAaA,EACrB3hG,EAGH,SAAUokI,GACdC,GAEA,OAAOA,EAAoBA,EAAkBpQ,OAAS,IAAMoQ,EAAkBl3N,WAAQqB,EAGlF,SAAU81N,GAAiB72N,GAC/B,OAAIA,EAAKoqM,QACA79H,mBAAmBvsE,EAAKqqM,SAExBrqM,EAAKqqM,QAIV,SAAUysB,GACdC,GAEA,OAAO,OAAP,wBACKA,GAAgB,CACnB3rJ,QAAS,CACPu+H,UAAWotB,EAAiB3rJ,QAAQu+H,UAAU3wJ,KAAI,SAACg+K,GAKjD,OAJc,+BACTA,GAAe,CAClBh3N,KAAM62N,GAAiBG,EAAgBh3N,cAQ3C,SAAUi3N,GACdF,SAEA,OAAO,OAAP,wBACKA,GAAgB,CACnB3rJ,QAAS,CACPqhI,aAAmD,QAArC,EAAAsqB,EAAiB3rJ,QAAQqhI,oBAAY1W,IAAAA,OAAA,EAAAA,EAAE/8I,KAAI,SAACk+K,GAIxD,MAHoC,CAClCl3N,KAAM62N,GAAiBK,EAAmBl3N,UAI9C2pM,UAAWotB,EAAiB3rJ,QAAQu+H,UAAU3wJ,KAAI,SAACg+K,GAKjD,OAJc,+BACTA,GAAe,CAClBh3N,KAAM62N,GAAiBG,EAAgBh3N,cAqBjD,SAASm3N,GAAa9sB,GACpB,QAAgBtpM,IAAZspM,EACJ,MAAgB,SAAZA,GACY,UAAZA,QAAJ,EAIF,SAAS+sB,GAAcC,GACrB,YAA2Bt2N,IAAvBs2N,EAAa,QAA8Ct2N,IAAvBs2N,EAAc,KAC7C,CACLjtB,QAAS+sB,GAAaE,EAAa,EAAb,SACtBhtB,QAASgtB,EAAc,MAGlB,CACLjtB,SAAS,EACTC,QAASgtB,GAKf,SAASC,GAAoBC,GAC3B,IAAMC,EAAiBD,EAuNvB,OAtNIA,EAAoB,mBACtBC,EAAejtB,UAAY,IAAI7nL,KAAK60M,EAAoB,yBACjDC,EAAe,kBAGpBD,EAAoB,mBACtBC,EAAelwB,aAAe,IAAI5kL,KAAK60M,EAAoB,yBACpDC,EAAe,kBAGpBD,EAAmB,OACrBC,EAAejwB,KAAOgwB,EAAmB,YAClCC,EAAc,MAGnBD,EAAoB,oBACtBC,EAAehtB,cAAgB7pH,WAAW42I,EAAoB,0BACvDC,EAAe,mBAGpBD,EAAoB,kBACtBC,EAAe/sB,YAAc8sB,EAAoB,uBAC1CC,EAAe,iBAGpBD,EAAoB,sBACtBC,EAAe9sB,gBAAkB6sB,EAAoB,2BAC9CC,EAAe,qBAGpBD,EAAoB,sBACtBC,EAAe7sB,gBAAkB4sB,EAAoB,2BAC9CC,EAAe,qBAGpBD,EAAoB,iBACtBC,EAAe5sB,WAxEnB,SAA4BlrM,GAC1B,GAAI+zL,GACF,OAAO2/B,OAAOxqK,KAAKlpD,EAAO,UAI1B,IAFA,IAAM29L,EAAaC,KAAK59L,GAClB0D,EAAM,IAAI2vL,WAAWsK,EAAW3/L,QAC7BF,EAAI,EAAGA,EAAI6/L,EAAW3/L,OAAQF,IACrC4F,EAAI5F,GAAK6/L,EAAW9xC,WAAW/tJ,GAEjC,OAAO4F,EA+DqBq0N,CAAmBF,EAAoB,uBAC5DC,EAAe,gBAGpBD,EAAoB,yBACtBC,EAAe3sB,mBAAqB0sB,EAAoB,8BACjDC,EAAe,wBAGpBD,EAAoB,mBACtBC,EAAe1sB,aAAeysB,EAAoB,wBAC3CC,EAAe,kBAGpBD,EAAoB,+BACtBC,EAAezsB,mBAAqBpqH,WAClC42I,EAAoB,qCAEfC,EAAe,8BAGpBD,EAAmB,WACrBC,EAAexsB,SAAWusB,EAAmB,gBACtCC,EAAc,UAGnBD,EAAmB,cACrBC,EAAehwB,YAAc+vB,EAAmB,mBACzCC,EAAc,aAGnBD,EAAmB,aACrBC,EAAe/vB,WAAa8vB,EAAmB,kBACxCC,EAAc,YAGnBD,EAAmB,gBACrBC,EAAe9vB,cAAgB6vB,EAAmB,qBAC3CC,EAAc,eAGnBD,EAAmB,SACrBC,EAAevsB,OAASssB,EAAmB,cACpCC,EAAc,QAGnBD,EAAmB,aACrBC,EAAetsB,WAAaqsB,EAAmB,kBACxCC,EAAc,YAGnBD,EAAmB,aACrBC,EAAersB,WAAaosB,EAAmB,kBACxCC,EAAc,YAGnBD,EAAmB,eACrBC,EAAepsB,aAAemsB,EAAmB,oBAC1CC,EAAc,cAGnBD,EAAmB,qBACrBC,EAAensB,gBAAkB,IAAI3oL,KAAK60M,EAAmB,2BACtDC,EAAc,oBAGnBD,EAAmB,wBACrBC,EAAelsB,sBAAwBisB,EAAmB,6BACnDC,EAAc,uBAGnBD,EAAmB,kBACrBC,EAAejsB,gBAAkB4rB,GAAaI,EAAmB,wBAC1DC,EAAc,iBAGnBD,EAAmB,kBACrBC,EAAehsB,gBAAkB2rB,GAAaI,EAAmB,wBAC1DC,EAAc,iBAGnBD,EAAmB,sBACrBC,EAAe/rB,oBAAsB8rB,EAAmB,2BACjDC,EAAc,qBAGnBD,EAAmB,cACrBC,EAAexvB,UAAY,IAAItlL,KAAK60M,EAAmB,oBAChDC,EAAc,aAGnBD,EAAmB,yBACrBC,EAAevvB,uBAAyBtnH,WACtC42I,EAAmB,+BAEdC,EAAc,wBAGnBD,EAAmB,aACrBC,EAAe9rB,WAAa6rB,EAAmB,kBACxCC,EAAc,YAGnBD,EAAmB,qBACrBC,EAAe7rB,mBAAqBwrB,GAAaI,EAAmB,2BAC7DC,EAAc,oBAGnBD,EAAmB,gBACrBC,EAAe5rB,cAAgB2rB,EAAmB,qBAC3CC,EAAc,eAGnBD,EAAmB,4BACrBC,EAAe3rB,0BAA4B0rB,EAAmB,iCAGvDC,EAAc,2BAGnBD,EAAmB,kBACrBC,EAAe1rB,gBAAkByrB,EAAmB,uBAC7CC,EAAc,iBAGnBD,EAAmB,uBACrBC,EAAezrB,oBAAsB,IAAIrpL,KACvC60M,EAAmB,6BAEdC,EAAc,sBAGnBD,EAAmB,WACrBC,EAAexrB,SAAWrrH,WAAW42I,EAAmB,iBACjDC,EAAc,UAGnBD,EAAoB,iBACtBC,EAAenvB,UAAY,IAAI3lL,KAAK60M,EAAoB,uBACjDC,EAAe,gBAGpBD,EAAmB,SACrBC,EAAevrB,SAAWkrB,GAAaI,EAAmB,eACnDC,EAAc,QAGnBD,EAAmB,oBACrBC,EAAetrB,kBAAoBqrB,EAAmB,yBAG/CC,EAAc,mBAGnBD,EAAmB,iBACrBC,EAAerrB,eAAiB,IAAIzpL,KAAK60M,EAAmB,uBACrDC,EAAc,gBAGnBD,EAAmB,8BACrBC,EAAeprB,4BAA8B,IAAI1pL,KAC/C60M,EAAmB,oCAEdC,EAAc,6BAGnBD,EAAmB,yBACrBC,EAAenrB,uBAAyBkrB,EAAmB,8BAGpDC,EAAc,wBAGnBD,EAAmB,YACrBC,EAAelrB,UAAY6qB,GAAaI,EAAmB,kBACpDC,EAAc,WAGhBA,EAGT,SAASE,GAAcC,GACrB,IAAMC,EAAWD,EA2CjB,OA1CAC,EAAStoI,WAAagoI,GAAoBK,EAAS,mBAC5CC,EAAQ,WAEfA,EAAS53N,KAAOo3N,GAAcO,EAAS,aAChCC,EAAQ,KACfA,EAASzwB,QAAUgwB,GAAaQ,EAAS,gBAClCC,EAAQ,QAEXD,EAAS,WACXC,EAAS/tB,SAAW8tB,EAAS,gBACtBC,EAAQ,UAGbD,EAAS,YACXC,EAAS9tB,UAAY6tB,EAAS,iBACvBC,EAAQ,WAGbD,EAAS,mBACXC,EAAS7tB,iBAAmBotB,GAAaQ,EAAS,yBAC3CC,EAAQ,kBAGbD,EAAS,WACXC,EAASxwB,SAAWuwB,EAAS,gBACtBC,EAAQ,UAGbD,EAAS,OACXC,EAAS5tB,SA6Bb,SAAuB6tB,GACrB,QACoB92N,IAAlB82N,QAC4B92N,IAA5B82N,EAAa,aACsB92N,IAAnC82N,EAAa,OAAb,IAEA,OAGF,IAAM1uB,EAAa,GACf0uB,EAAa,OAAb,eAA0C/5N,MAC5C+5N,EAAa,OAAb,IAA+BvrN,SAAQ,SAACwrN,GACtC3uB,EAAWtrM,KAAKk6N,GAAaD,OAG/B3uB,EAAWtrM,KAAKk6N,GAAaF,EAAa,OAAb,MAG/B,MAAO,CAAE1uB,WAAYA,GA/CC6uB,CAAcL,EAAS,aACpCC,EAAQ,MAGbD,EAAS,aACXC,EAAS3tB,0BAA4B0tB,EAAS,kBACvCC,EAAQ,YAGbD,EAAS,kBACXC,EAAS1tB,gBAAkBitB,GAAaQ,EAAS,wBAC1CC,EAAQ,iBAEVA,EAGT,SAASK,GAAgBC,GACvB,MAAO,CACLl4N,KAAMo3N,GAAcc,EAAe,OAIvC,SAASH,GAAaD,GACpB,MAAO,CACLz5N,IAAKy5N,EAAY,IACjBp4N,MAAOo4N,EAAY,OAyBjB,SAAUK,GAAiBC,GAC/B,IAAMzuB,EAAY,GAUlB,OARIyuB,aAA0Bt6N,MAC5Bs6N,EAAe9rN,SAAQ,SAACqrN,GACtBhuB,EAAU9rM,KAAK65N,GAAcC,OAG/BhuB,EAAU9rM,KAAK65N,GAAcU,IAGxBzuB,EAGH,SAAU0uB,GAAoBC,GAClC,IAAM7rB,EAAe,GAUrB,OARI6rB,aAA6Bx6N,MAC/Bw6N,EAAkBhsN,SAAQ,SAAC4rN,GACzBzrB,EAAa5uM,KAAKo6N,GAAgBC,OAGpCzrB,EAAa5uM,KAAKo6N,GAAgBK,IAG7B7rB,EAGH,SAAW8lB,GACfgG,GADI,8EAGAnrB,EAAyB,GACzBC,EAA2B,GAE3BkrB,EAAqBnrB,YAAWA,EAAYmrB,EAAqBnrB,WACjEmrB,EAAqBlrB,aAAYA,EAAakrB,EAAqBlrB,YAEnEmrB,EAAiB,EACjBC,EAAkB,EAVlB,YAYGD,EAAiBprB,EAAU1vM,QAAU+6N,EAAkBprB,EAAW3vM,QAZrE,sBAaE0vM,EAAUorB,GAAgB9rM,MAAQ2gL,EAAWorB,GAAiB/rM,OAbhE,iBAcA,OAdA,UAcM,CACJA,MAAO0gL,EAAUorB,GAAgB9rM,MACjCC,IAAKygL,EAAUorB,GAAgB7rM,IAC/B+rM,SAAS,GAjBX,UAmBEF,EAnBF,wBAqBA,OArBA,UAqBM,CACJ9rM,MAAO2gL,EAAWorB,GAAiB/rM,MACnCC,IAAK0gL,EAAWorB,GAAiB9rM,IACjC+rM,SAAS,GAxBX,UA0BED,EA1BF,oCA8BGD,EAAiBprB,EAAU1vM,QA9B9B,iBA+BF,OA/BE,UA+BI,CACJgvB,MAAO0gL,EAAUorB,GAAgB9rM,MACjCC,IAAKygL,EAAUorB,GAAgB7rM,IAC/B+rM,SAAS,GAlCT,UA8BwCF,EA9BxC,6BAsCGC,EAAkBprB,EAAW3vM,QAtChC,iBAuCF,OAvCE,UAuCI,CACJgvB,MAAO2gL,EAAWorB,GAAiB/rM,MACnCC,IAAK0gL,EAAWorB,GAAiB9rM,IACjC+rM,SAAS,GA1CT,UAsC0CD,EAtC1C,yDAkDA,SAAUE,GAAWC,GAEzB,IADA,IAAMvsN,EAAQusN,EAASvsN,MAAM,KACpB7O,EAAI,EAAGA,EAAI6O,EAAM3O,OAAQF,IAChC6O,EAAM7O,GAAKkN,mBAAmB2B,EAAM7O,IAEtC,OAAO6O,EAAM9N,KAAK,KCntCb,ICWKs6N,GDXCC,GAAb,gCAQE,WAAYhV,EAA2B/xM,GAA6B,6BAC5D+xM,EAAY/xM,GATtB,qEAiBS,WAAkB61D,GAAlB,sEACD6rH,GADC,yCAEI5zL,KAAK40L,YAAYuvB,YAAYp8I,IAFjC,aAKgC,QAAjCA,EAAQ5F,OAAOt1D,eAA4D,SAAjCk7D,EAAQ5F,OAAOt1D,gBAC3Dk7D,EAAQ/9C,IAAM6pM,GACZ9rJ,EAAQ/9C,IACRynM,GAAAA,wBACA,IAAI5uM,MAAO0qC,UAAUlvD,aAIzB0pE,EAAQ5sB,QAAQkrD,OAAO2rH,IAGvBjqJ,EAAQ5sB,QAAQkrD,OAAO2rH,IAhBlB,kBAkBEhyN,KAAK40L,YAAYuvB,YAAYp8I,IAlB/B,gDAjBT,4DAA0Ck5I,IEhB7BiY,GAAb,mEAOS,SAAOjV,EAA2B/xM,GACvC,OAAO,IAAI+mN,GAAqBhV,EAAY/xM,OARhD,KCaainN,GAAb,gCACE,WAAYv0N,GAAgB,wBAC1B,cAAMA,IACDzE,KAAO,aAFc,EAD9B,iBAAgCqC,SFchC,SAAYw2N,GAIVA,EAAAA,EAAAA,YAAAA,GAAAA,cAIAA,EAAAA,EAAAA,MAAAA,GAAAA,QARF,CAAYA,KAAAA,GAAsB,KAYlC,IAAMI,GAA6C,CACjDC,kBAAmB,KACnBC,SAAU,EACVC,eAAgB,IAChBC,gBAAiBR,GAAuBS,YACxCC,cAAe,GACfC,oBAAgBz4N,GAGZ04N,GAAoB,IAAIT,GAAW,8BAK5BU,GAAb,gCAaE,WACE5V,EACA/xM,GACyD,MAAzD4nN,EAAyD,uDAArBV,GAAqB,kBAEzD,cAAMnV,EAAY/xM,IAGb4nN,aAAe,CAClBN,gBAAiBM,EAAaN,gBAC1BM,EAAaN,gBACbJ,GAAsBI,gBAE1BF,SACEQ,EAAaR,UAAYQ,EAAaR,UAAY,EAC9C98M,KAAKmsC,MAAMmxK,EAAaR,UACxBF,GAAsBE,SAE5BK,eACEG,EAAaH,gBAAkBG,EAAaH,gBAAkB,EAC1DG,EAAaH,eACbP,GAAsBO,eAE5BJ,eACEO,EAAaP,gBAAkBO,EAAaP,gBAAkB,EAC1D/8M,KAAKyQ,IACH6sM,EAAaP,eACbO,EAAaT,kBACTS,EAAaT,kBACbD,GAAsBC,mBAE5BD,GAAsBG,eAE5BF,kBACES,EAAaT,mBAAqBS,EAAaT,mBAAqB,EAChES,EAAaT,kBACbD,GAAsBC,kBAE5BK,cAAeI,EAAaJ,cACxBI,EAAaJ,cACbN,GAAsBM,eArC6B,EAhB7D,qEA8DS,WAAkB3xJ,GAAlB,2FACE/nE,KAAK+5N,mBAAmBhyJ,GAAS,EAAO,IAD1C,gDA9DT,sHA4EY,WACRA,EACAiyJ,EACAC,GAHQ,mFAKFC,EAA0BnyJ,EAAQkX,SAElCk7I,EACJH,IACCh6N,KAAK85N,aAAaJ,iBACE,QAAnB3xJ,EAAQ5F,QAAuC,SAAnB4F,EAAQ5F,QAAwC,YAAnB4F,EAAQ5F,SACnE83J,EAAU,IAAM,KAGhBC,EAAWlwM,IAAMiqM,GAAWiG,EAAWlwM,IAAKhqB,KAAK85N,aAAaJ,gBAI5D15N,KAAK85N,aAAaH,iBACpBO,EAAWlwM,IAAM6pM,GACfqG,EAAWlwM,IACXynM,GAAAA,QACAj1M,KAAKmsC,MAAM3oD,KAAK85N,aAAaH,eAAkB,KAAMt7N,aAtBjD,SA4BN+4L,GAAOx+I,KAAP,kCAAuCqhL,EAAvC,YAAkDE,EAAiB,UAAY,cA5BzE,SA6BWn6N,KAAK40L,YAAYuvB,YAAY+V,GA7BxC,UA6BNn1E,EA7BM,OA8BD/kJ,KAAKo6N,YAAYD,EAAgBF,EAASl1E,GA9BzC,0CA+BGA,GA/BH,QAkCNi1E,EAAkBA,IAAqBG,GAAsC,MAApBp1E,EAAS4mB,OAlC5D,qDAoCNyrB,GAAO1yL,MAAP,8CAAoD,KAAIE,QAAxD,mBAA0E,KAAIgiB,OACzE5mB,KAAKo6N,YAAYD,EAAgBF,EAASl1E,EAA1C,MArCC,qDA0CF/kJ,KAAKkgE,MAAMi6J,EAAgBF,EAASlyJ,EAAQsyJ,aA1C1C,iCA2CDr6N,KAAK+5N,mBAAmBhyJ,EAASiyJ,IAAmBC,IA3CnD,0DA5EZ,oFAkIY,SACRE,EACAF,EACAl1E,EACAvkJ,GAEA,GAAIy5N,GAAWj6N,KAAK85N,aAAaR,SAK/B,OAJAliC,GAAOx+I,KAAP,kCAC6BqhL,EAD7B,wBACoDj6N,KAAK85N,aACpDR,SAFL,uBAIO,EAgBT,GAAI94N,EAAK,YAXe,CACtB,YACA,kBACA,eACA,aACA,SACA,YACA,UACA,QACA,uBAEO,IACP,IAAK,EAAL,qBAA8C,KAAnC85N,EAAmC,QAC5C,GACE95N,EAAIL,KAAK0M,cAAc6C,SAAS4qN,IAChC95N,EAAIoE,QAAQiI,cAAc6C,SAAS4qN,IAClC95N,EAAIomB,MAAQpmB,EAAIomB,KAAKvoB,WAAWwO,gBAAkBytN,EAGnD,OADAljC,GAAOx+I,KAAP,qCAA0C0hL,EAA1C,yBACO,GARJ,+BAgBT,GAAIv1E,GAAYvkJ,EAAK,CACnB,IAAMwkN,EAAajgE,EAAWA,EAAS4mB,OAASnrK,EAAMA,EAAIwkN,WAAa,EACvE,IAAKmV,GAAiC,MAAfnV,EAErB,OADA5tB,GAAOx+I,KAAP,wDACO,EAIT,GAAmB,MAAfosK,GAAqC,MAAfA,EAExB,OADA5tB,GAAOx+I,KAAP,kDAAuDosK,EAAvD,OACO,EAIX,QAAkB,iBAAX,OAAHxkN,QAAG,IAAHA,OAAG,EAAHA,EAAKomB,SAA6B,OAAHpmB,QAAG,IAAHA,OAAG,EAAHA,EAAKoE,QAAQomE,WAAb,uCACjCosH,GAAOx+I,KACL,oFAEK,KA/Lb,kDA4MU,WAAYuhL,EAAyBF,EAAiBI,GAAtD,2EACFE,EAAwB,GAExBJ,EAHE,sBAIIn6N,KAAK85N,aAAaN,gBAJtB,cAKGR,GAAuBS,YAL1B,SAWGT,GAAuBwB,MAX1B,wBAMAD,EAAgB/9M,KAAKyQ,KAClBzQ,KAAKqiE,IAAI,EAAGo7I,EAAU,GAAK,GAAKj6N,KAAK85N,aAAaP,eACnDv5N,KAAK85N,aAAaT,mBARpB,kCAYAkB,EAAgBv6N,KAAK85N,aAAaP,eAZlC,mDAgBJgB,EAAgC,IAAhB/9M,KAAKgU,SAhBjB,eAmBN4mK,GAAOx+I,KAAP,iCAAsC2hL,EAAtC,OAnBM,kBAoBCr6J,GAAMq6J,EAAeF,EAAaT,KApBnC,iDA5MV,gEAAwC3Y,IGH3BwZ,GAAb,WAOE,WAAYX,GAAkC,UAC5C95N,KAAK85N,aAAeA,EARxB,iCAiBS,SAAO7V,EAA2B/xM,GACvC,OAAO,IAAI2nN,GAAmB5V,EAAY/xM,EAASlS,KAAK85N,kBAlB5D,KCnDsBY,GAAtB,4HAMS,SAAY3yJ,GACjB,OAAO/nE,KAAK40L,YAAYuvB,YAAYnkN,KAAKw0L,YAAYzsH,MAPzD,yBAgBY,SAAYA,GAGpB,OAAOA,MAnBX,GAA+Ck5I,ICElC0Z,GAAb,gCAQE,WAAY1W,EAA2B/xM,GAA6B,6BAC5D+xM,EAAY/xM,GATtB,cAA+CwoN,ICGlCE,GAAb,uHAOS,SACL3W,EACA/xM,GAEA,OAAO,IAAIyoN,GAA0B1W,EAAY/xM,OAXrD,GCJA,mEAOS,SAAO0iL,EAA4Bh7D,GACxC,MAAM,IAAIp3H,MAAM,yDARpB,gBCJA,SAASq4N,GAAaC,GACpB,OAAOA,EAAWpuN,cA6Ed,SAAUquN,GAAkBxxN,GAChC,GAAIA,GAA4B,kBAAXA,EAAqB,CACxC,IAAMyxN,EAAazxN,EAYnB,GACmC,oBAA1ByxN,EAAWC,YACU,oBAArBD,EAAW/7I,OACQ,oBAAnB+7I,EAAW72N,KACQ,oBAAnB62N,EAAW52N,KACa,oBAAxB42N,EAAW/uM,UACW,oBAAtB+uM,EAAW30H,QACiB,oBAA5B20H,EAAWE,cACiB,oBAA5BF,EAAWG,cACgB,oBAA3BH,EAAWI,aACW,oBAAtBJ,EAAW7L,OAElB,OAAO,EAIX,OAAO,EAMF,IAAMkM,GAAb,WAGE,WAAYJ,GAEV,GAFqC,UACrCj7N,KAAKs7N,YAAc,GACfL,EACF,IAAK,IAAMH,KAAcG,EACvBj7N,KAAKoE,IAAI02N,EAAYG,EAAWH,IAPxC,8BAkBS,SAAIA,EAAoBS,GAC7Bv7N,KAAKs7N,YAAYT,GAAaC,IAAe,CAC3C36N,KAAM26N,EACNj7N,MAAO07N,EAAYl9N,cArBzB,iBA8BS,SAAIy8N,GACT,IAAMx4K,EAAqBtiD,KAAKs7N,YAAYT,GAAaC,IACzD,OAAQx4K,EAAqBA,EAAOziD,WAAnBqB,IAhCrB,sBAsCS,SAAS45N,GACd,QAAS96N,KAAKs7N,YAAYT,GAAaC,MAvC3C,oBA+CS,SAAOA,GACZ,IAAMr4J,EAAkBziE,KAAKisB,SAAS6uM,GAEtC,cADO96N,KAAKs7N,YAAYT,GAAaC,IAC9Br4J,IAlDX,wBAwDS,WACL,OAAOziE,KAAKmvN,OAAO,CAAEqM,cAAc,MAzDvC,0BA+DS,WACL,IAAMrgL,EAAwB,GAC9B,IAAK,IAAM2oJ,KAAa9jM,KAAKs7N,YAC3BngL,EAAQn9C,KAAKgC,KAAKs7N,YAAYx3B,IAEhC,OAAO3oJ,IApEX,yBA0ES,WAGL,IAFA,IAAMigL,EAAwB,GACxBjgL,EAAwBn7C,KAAKk7N,eAC1Bv9N,EAAI,EAAGA,EAAIw9C,EAAQt9C,SAAUF,EACpCy9N,EAAYp9N,KAAKm9C,EAAQx9C,GAAGwC,MAE9B,OAAOi7N,IAhFX,0BAsFS,WAGL,IAFA,IAAMD,EAAyB,GACzBhgL,EAAwBn7C,KAAKk7N,eAC1Bv9N,EAAI,EAAGA,EAAIw9C,EAAQt9C,SAAUF,EACpCw9N,EAAan9N,KAAKm9C,EAAQx9C,GAAGkC,OAE/B,OAAOs7N,IA5FX,oBAkGS,WAA+C,IAAxCjpN,EAAwC,uDAAF,GAC5CuwD,EAAyB,GAC/B,GAAIvwD,EAAQspN,aACV,IAAK,IAAM13B,KAAa9jM,KAAKs7N,YAAa,CACxC,IAAMh5K,EAAqBtiD,KAAKs7N,YAAYx3B,GAC5CrhI,EAAOngB,EAAOniD,MAAQmiD,EAAOziD,WAG/B,IAAK,IAAMikM,KAAa9jM,KAAKs7N,YAAa,CACxC,IAAMh5K,EAAqBtiD,KAAKs7N,YAAYx3B,GAC5CrhI,EAAOo4J,GAAav4K,EAAOniD,OAASmiD,EAAOziD,MAG/C,OAAO4iE,IA/GX,sBAqHS,WACL,OAAO5xB,KAAKC,UAAU9wC,KAAKmvN,OAAO,CAAEqM,cAAc,OAtHtD,mBA4HS,WACL,IAAMC,EAAyC,GAC/C,IAAK,IAAM33B,KAAa9jM,KAAKs7N,YAAa,CACxC,IAAMh5K,EAAqBtiD,KAAKs7N,YAAYx3B,GAC5C23B,EAAuBn5K,EAAOniD,MAAQmiD,EAAOziD,MAE/C,OAAO,IAAIw7N,EAAYI,OAlI3B,KCtGaC,GAAb,gCAYE,WAAYzX,EAA2B/xM,EAA+BypN,GAAiB,wBACrF,cAAM1X,EAAY/xM,IACbypN,UAAYA,EAFoE,EAZzF,qEAsBS,WAAkB5zJ,GAAlB,yEACD6rH,KACG7rH,EAAQ5sB,UACX4sB,EAAQ5sB,QAAU,IAAIkgL,IAEnBtzJ,EAAQ5sB,QAAQh3C,IAAI6tN,KACvBjqJ,EAAQ5sB,QAAQ/2C,IAAI4tN,GAA4BhyN,KAAK27N,YANpD,kBAUE37N,KAAK40L,YAAYuvB,YAAYp8I,IAV/B,gDAtBT,4DAAqCk5I,ICAxB2a,GAAb,WAUE,WAAYD,GAA4B,UACtC,IAAME,EAA0B,GAEhC,GAAIjoC,GAAQ,CACV,GAAI+nC,EAAW,CACb,IAAMG,EAAkBH,EAAUI,iBAAmB,GACjDD,EAAgBj+N,OAAS,IAAiD,IAA5Cg+N,EAAchlN,QAAQilN,IACtDD,EAAc79N,KAAK89N,GAKvB,IAAME,EAAU,wBAAH,ObrCgB,YasCW,IAApCH,EAAchlN,QAAQmlN,IACxBH,EAAc79N,KAAKg+N,GAIrB,IAAIC,EAAc,iBAAH,OAAoB5wE,QAAQ/5G,QAA5B,KACX4qL,KACFD,EAAc,iBAAH,OAAoB5wE,QAAQ/5G,QAA5B,aAAwC4qL,GAAAA,OAAxC,YAAqDA,GAAAA,UAArD,OAE+B,IAAxCL,EAAchlN,QAAQolN,IACxBJ,EAAc79N,KAAKi+N,GAIvBj8N,KAAK87N,gBAAkBD,EAAcn9N,KAAK,KArC9C,iCA8CS,SAAOulN,EAA2B/xM,GACvC,OAAO,IAAIwpN,GAAgBzX,EAAY/xM,EAASlS,KAAK87N,qBA/CzD,KCLaK,GAAb,wEACS,SAAYp0J,SACXq0J,EAAM,IAAIC,eAEhB,GAAIt0J,EAAQu0J,cACV,MAAM,IAAI95N,MAAM,sDAGlB,IAAM63N,EAActyJ,EAAQsyJ,YAC5B,GAAIA,EAAa,CACf,GAAIA,EAAYkC,QACd,OAAOn8N,QAAQE,OAAO,IAAI64N,GAAW,+BAGvC,IAAM53N,EAAW,WACf66N,EAAII,SAENnC,EAAYv2N,iBAAiB,QAASvC,GACtC66N,EAAIt4N,iBAAiB,oBAAoB,WACnCs4N,EAAIK,aAAeJ,eAAeK,MACpCrC,EAAYr2N,oBAAoB,QAASzC,MAQ/C,GAHAo7N,GAAoBP,EAAIQ,OAAQ70J,EAAQ80J,kBACxCF,GAAoBP,EAAKr0J,EAAQ+0J,oBAE7B/0J,EAAQg1J,SAAU,CAcpB,IAbA,IAAMA,EAAWh1J,EAAQg1J,SACnBC,EAAc,IAAIC,SAClBC,EAAkB,SAAC1+N,EAAaqB,GAElCA,GACAvB,OAAOC,UAAUf,eAAeiB,KAAKoB,EAAO,UAC5CvB,OAAOC,UAAUf,eAAeiB,KAAKoB,EAAO,WAE5Cm9N,EAAYjxE,OAAOvtJ,EAAKqB,EAAMA,MAAOA,EAAMqS,SAE3C8qN,EAAYjxE,OAAOvtJ,EAAKqB,IAG5B,MAAsBvB,OAAOsH,KAAKm3N,GAAlC,eAA6C,CAAxC,IAAMI,EAAO,KACVC,EAAYL,EAASI,GAC3B,GAAIl/N,MAAMC,QAAQk/N,GAChB,IAAK,IAAIz1J,EAAI,EAAGA,EAAIy1J,EAAUv/N,OAAQ8pE,IACpCu1J,EAAgBC,EAASC,EAAUz1J,SAGrCu1J,EAAgBC,EAASC,GAI7Br1J,EAAQ72D,KAAO8rN,EACfj1J,EAAQg1J,cAAW77N,EACnB,IAAM0pM,EAAc7iI,EAAQ5sB,QAAQh3C,IAAI,gBACpCymM,IAA+D,IAAhDA,EAAY/zL,QAAQ,wBAErCkxD,EAAQ5sB,QAAQkrD,OAAO,gBAI3B+1H,EAAI9iD,KAAKvxG,EAAQ5F,OAAQ4F,EAAQ/9C,KACjCoyM,EAAI//J,QAAU0L,EAAQ1L,QACtB+/J,EAAIiB,gBAAkBt1J,EAAQs1J,gBA/DW,WAgEpBt1J,EAAQ5sB,QAAQ+/K,gBAhEI,IAgEzC,IAAK,EAAL,qBAAqD,KAA1C54K,EAA0C,QACnD85K,EAAIkB,iBAAiBh7K,EAAOniD,KAAMmiD,EAAOziD,QAjEF,8BA0EzC,OANAu8N,EAAImB,cAC+B,QAAjC,EAAAx1J,EAAQ4nJ,iCAAyBz5B,IAAAA,OAAA,EAAAA,EAAEhuJ,OAAQ6/B,EAAQ6nJ,mBAAqB,OAAS,OAGnFwM,EAAIoB,UAAsBt8N,IAAjB6mE,EAAQ72D,KAAqB,KAAO62D,EAAQ72D,MAE5B,SAArBkrN,EAAImB,aACC,IAAIn9N,SAAQ,SAACC,EAASC,IAoBnC,SACE87N,EACAr0J,EACAuJ,EACAs2B,GAEAw0H,EAAIt4N,iBAAiB,oBAAoB,iBAEvC,GAAIs4N,EAAIK,aAAeJ,eAAeoB,iBACpC,GAAI11J,EAAQ6nJ,qBAAuD,QAAjC,EAAA7nJ,EAAQ4nJ,iCAAyBz5B,IAAAA,OAAA,EAAAA,EAAE9lK,IAAIgsM,EAAIzwD,SAAS,CACpF,IAAM+xD,EAAW,IAAIt9N,SAAc,SAACC,EAASC,GAC3C87N,EAAIt4N,iBAAiB,QAAQ,WAC3BzD,EAAQ+7N,EAAIr3E,aAEd44E,GAAsB51J,EAASq0J,EAAK97N,MAEtCgxE,EAAI,CACFvJ,QAAAA,EACA4jG,OAAQywD,EAAIzwD,OACZxwH,QAASyiL,GAAaxB,GACtBsB,SAAAA,SAGFtB,EAAIt4N,iBAAiB,QAAQ,WAI3B,GAAIs4N,EAAIr3E,SAAU,CAEhB,IAAM84E,EAAS,IAAIC,WACnBD,EAAOt2J,OAAS,SAAUp/D,SAClB2hB,EAAe,QAAR,EAAA3hB,EAAEjJ,cAAMg3L,IAAAA,OAAA,EAAAA,EAAEzzH,OACvB6O,EAAI,CACFvJ,QAAAA,EACA4jG,OAAQywD,EAAIzwD,OACZxwH,QAASyiL,GAAaxB,GACtBnN,WAAYnlM,KAGhB+zM,EAAOv2J,QAAU,SAAUwB,GACzB8+B,EAAIi2H,EAAOn5N,QAEbm5N,EAAOE,WAAW3B,EAAIr3E,SAAU,cAEhCzzE,EAAI,CACFvJ,QAAAA,EACA4jG,OAAQywD,EAAIzwD,OACZxwH,QAASyiL,GAAaxB,WAlE5B4B,CAAmB5B,EAAKr0J,EAAS1nE,EAASC,GAC1Cq9N,GAAsB51J,EAASq0J,EAAK97N,MAG/B,IAAIF,SAAQ,SAAUC,EAASC,GACpC87N,EAAIt4N,iBAAiB,QAAQ,kBAC3BzD,EAAQ,CACN0nE,QAAAA,EACA4jG,OAAQywD,EAAIzwD,OACZxwH,QAASyiL,GAAaxB,GACtBnN,WAAYmN,EAAI6B,kBAGpBN,GAAsB51J,EAASq0J,EAAK97N,UA1F5C,KAwJA,SAASq8N,GACPP,EACA76N,GAEIA,GACF66N,EAAIt4N,iBAAiB,YAAY,SAACo6N,GAAD,OAC/B38N,EAAS,CACP48N,YAAaD,EAASE,YAOxB,SAAUR,GAAaxB,GAC3B,IAD8C,EACxCiC,EAAkB,IAAIhD,GADkB,KAE1Be,EACjBkC,wBACArvN,OACAzC,MAAM,YALqC,IAM9C,IAAK,EAAL,qBAAgC,KAArBupF,EAAqB,QACxBxwF,EAAQwwF,EAAKl/E,QAAQ,KACrBikN,EAAa/kI,EAAKp1F,MAAM,EAAG4E,GAC3Bg2N,EAAcxlI,EAAKp1F,MAAM4E,EAAQ,GACvC84N,EAAgBj6N,IAAI02N,EAAYS,IAVY,8BAY9C,OAAO8C,EAGT,SAASV,GACP51J,EACAq0J,EACA97N,GAEA87N,EAAIt4N,iBAAiB,SAAS,kBAC5BxD,EACE,IAAI+qN,GAAJ,oCAC+BtjJ,EAAQ/9C,KACrCqhM,GAAUkT,wBACVr9N,EACA6mE,OAIN,IAAMqtJ,EAAa,IAAI+D,GAAW,8BAClCiD,EAAIt4N,iBAAiB,SAAS,kBAAMxD,EAAO80N,MAC3CgH,EAAIt4N,iBAAiB,WAAW,kBAAMxD,EAAO80N,MC7M/C,IAAMoJ,GAAqB,IAAIC,GAEzB,SAAUC,KACd,OAAOF,GCFH,SAAUG,GAAajsI,GAC3B,MAAwB,qBAAVA,GAAmC,OAAVA,ECoBnC,SAAUxyB,GAAMg1J,EAAkBhjN,GACtC,OAAO,IAAI9R,SAAQ,SAACC,EAASC,GAC3B,IAAI8uL,OAAmDluL,EACnD09N,OAAsC19N,EAEpC29N,EAAgB,iBACpB,OAAOv+N,EAAO,IAAI64N,GAAiC,QAAtB,EAAO,OAAPjnN,QAAO,IAAPA,OAAO,EAAPA,EAAS4sN,qBAAa5oC,IAAAA,EAAAA,EA5B5B,gCA+BnB6oC,EAAkB,YACX,OAAP7sN,QAAO,IAAPA,OAAO,EAAPA,EAASmoN,cAAeuE,GAC1B1sN,EAAQmoN,YAAYr2N,oBAAoB,QAAS46N,IAYrD,GARAA,EAAY,WAKV,OAJID,GAAUvvC,IACZ38J,aAAa28J,GAEf2vC,IACOF,MAGE,OAAP3sN,QAAO,IAAPA,OAAO,EAAPA,EAASmoN,cAAenoN,EAAQmoN,YAAYkC,QAC9C,OAAOsC,IAGTzvC,EAAQ78J,YAAW,WACjBwsM,IACA1+N,MACC60N,IAEQ,OAAPhjN,QAAO,IAAPA,OAAO,EAAPA,EAASmoN,cACXnoN,EAAQmoN,YAAYv2N,iBAAiB,QAAS86N,MC5CpD,IAAMI,GACU,YADVA,GAKa,CAIfC,cAAe,iBAoCbC,GAA6C,CACjDC,wBAAyB,IACzBC,kBAAmB,IACnBC,kBAAmB,4CAgBrB,WACEC,EACAF,EACAG,GAHF,IAOiBC,EAPjB,iHAOE,0FACM38M,KAAKC,MAAQy8M,GADnB,0CAGmBD,IAHnB,iGAKa,MALb,iDAQ6BA,IAR7B,WAWuB,QAHbG,EARV,+BAYY,IAAIj9N,MAAM,mCAZtB,iCAeWi9N,GAfX,0DAPF,uBAOiBD,EAPjB,oDA0BwCA,IA1BxC,OA0BMrzE,EA1BN,iBA4BmB,OAAVA,EA5BT,iCA6BUjsF,GAAMk/J,GA7BhB,wBA+BkBI,IA/BlB,QA+BIrzE,EA/BJ,uDAkCSA,GAlCT,qEAoDA,SAASuzE,GACPrrC,EACAv7F,EACA6mI,GAEA,IAAIC,EAA6C,KAC7CzzE,EAA4B,KAE1Bj6I,EAAU,OAAH,wBACRgtN,IACAS,GAOCE,EAAS,CAITC,mBACF,OAAyB,OAAlBF,GAMLG,0BACF,OACGF,EAAOC,eACkB,QAAzB,EAAK,OAAL3zE,QAAK,IAALA,OAAK,EAALA,EAAO6zE,0BAAkB9pC,IAAAA,EAAAA,EAAI,GAAKhkL,EAAQmtN,kBAAoBx8M,KAAKC,OAOpEm9M,kBACF,OACY,OAAV9zE,GAAkBA,EAAM6zE,mBAAqB9tN,EAAQitN,wBAA0Bt8M,KAAKC,QAS1F,SAASo9M,EAAQC,SACf,IAAKN,EAAOC,aAAc,CAOxBF,WA7GsB,EAAbQ,EAAAA,mCA6GOA,EALU,kBACxB/rC,EAAWE,SAASz7F,EAAQqnI,KAM5BjuN,EAAQktN,kBAEiB,QAAzB,EAAK,OAALjzE,QAAK,IAALA,OAAK,EAALA,EAAO6zE,0BAAkB9pC,IAAAA,EAAAA,EAAIrzK,KAAKC,OAEjC+P,MAAK,SAACwtM,GAGL,OAFAT,EAAgB,KAChBzzE,EAAQk0E,KAGTvtM,OAAM,SAACwtM,GAMN,MAFAV,EAAgB,KAChBzzE,EAAQ,KACFm0E,KAIZ,OAAOV,EAGT,sCAAO,WAAOW,GAAP,sEAWDV,EAAOI,YAXN,yCAW0BC,EAAQK,IAXlC,cAaDV,EAAOE,eACTG,EAAQK,GAdL,kBAiBEp0E,GAjBF,2CAAP,OAAO,SAAP,UAAO,EAAP,0BAwBF,SAASq0E,GAAaz7E,GACpB,IAAM07E,EAAY17E,EAAS5pG,QAAQh3C,IAAI,oBACvC,GAAwB,MAApB4gJ,EAAS4mB,QAAkB80D,EAC7B,OAAOA,EAmBX,SAASC,GAAeD,GACtB,IAAME,EAAkBF,EAAU9/N,MAAM,UAAU9C,QAC5C+iO,EAAiB,UAAGD,EAAgB1xN,OAAnB,KAA6BzC,MAAM,KAAKqwC,QAAO,SAAC/rB,GAAD,OAAOA,KACvE+vM,EAAgBD,EAAeznL,KAAI,SAAC2nL,GAAD,OACtC,kDAAsCA,EAAS7xN,OAAOzC,MAAM,SAG/D,OAAOq0N,EAAcjqL,QAAO,SAAClsC,EAAGC,GAAJ,OAAUrM,OAAAA,OAAAA,OAAAA,OAAAA,GAAMoM,GAAMC,KAAM,IAapD,SAAUo2N,GACd1sC,EACAv7F,GAGA,IAAIy7F,EAAWmrC,GAAkBrrC,EAAYv7F,GAEvCkoI,EALmB,gCAMvB,WAAmB/c,EAA2B/xM,GAA6B,6BACnE+xM,EAAY/xM,GAPG,qEAUhB,WAAkB+uN,GAAlB,+FACAA,EAAYj3M,IAAItd,cAAcs+D,WAAW,YADzC,sBAEG,IAAIxoE,MACR,wFAHC,cAOC0+N,EAAmB3sC,EAPpB,SASG2sC,EAAiB,CACrB7G,YAAa4G,EAAY5G,YACzBr9B,eAAgB,CACdG,eAAgB8jC,EAAY9jC,kBAZ7B,cAQChxC,EARD,OAeHA,MACF80E,EAAY9lL,QAAQ/2C,IAAI46N,GAA0BC,cAAlD,iBAA2E9yE,IAhBtE,SAkBkBnsJ,KAAK40L,YAAYuvB,YAAY8c,GAlB/C,UAoBoB,OAAb,QAFNl8E,EAlBD,cAoBO,IAARA,OAAQ,EAARA,EAAU4mB,QApBT,sBAqBG80D,EAAYD,GAAaz7E,IArB5B,wBAuBKo8E,EAA2BT,GAAeD,GAC1CW,EAAkBD,EAAcE,YAAcrC,GAC9CsC,EAAgB5a,GAAAA,MAAiBya,EAAcI,mBAC/CC,EAAeF,EAAcna,UAAW36M,MAAM,KAC9Ci1N,EAAWD,EAAa,GACxBE,EAAuBhC,GAAkBrrC,EAAY+sC,GA5B1D,UA+BOM,EAAqB,CACzBrH,YAAa4G,EAAY5G,YACzBr9B,eAAgB,CACdG,eAAgB8jC,EAAY9jC,gBAE9BskC,SAAUA,IApCb,eA8BKE,EA9BL,OAsCCx1E,MAEFooC,EAAWmtC,EACXT,EAAY9lL,QAAQ/2C,IAClB46N,GAA0BC,cAD5B,iBAEY0C,IA3CX,kBA6CM3hO,KAAK40L,YAAYuvB,YAAY8c,IA7CnC,iCAiDEl8E,GAjDF,iDAVgB,4DAKqCk8D,IA0D9D,MAAO,CACL/+M,OAAQ,SAAC+hN,EAA2B/xM,GAClC,OAAO,IAAI8uN,EAAgD/c,EAAY/xM,KCtPvE,SAAU0vN,GAAeC,GAC7B,IAAKA,GAAgC,kBAAbA,EACtB,OAAO,EAGT,IAAMC,EAAeD,EAErB,OACE5jO,MAAMC,QAAQ4jO,EAAaC,YACK,kBAAzBD,EAAa5vN,SAC2B,oBAAxC4vN,EAAaE,uBAYjB,IAAMC,GAAb,WAgBE,WAAYF,GAAgE,IAA7B7vN,EAA6B,uDAAF,GAAE,UAC1ElS,KAAK+hO,UAAYA,EAGjB/hO,KAAKkS,QAAO5T,OAAAA,OAAAA,OAAAA,OAAAA,GACP4T,GAAO,CACVgwN,WAAYhwN,EAAQgwN,YAAcxD,OAtBxC,iDAgCS,WACL,MAAO,CACLwD,WAAYliO,KAAKkS,QAAQgwN,WACzBC,uBAAwBniO,KAAK+hO,eAnCnC,KA6EM,SAAUK,GACd/tC,GAC4C,MAA5CguC,EAA4C,uDAAF,QAEvBnhO,IAAfmzL,IACFA,EAAa,IAAIumC,IAOnB,IAAM0H,EAAkB,IAAI1G,GAAuByG,EAAgBE,kBAC7DR,EAAoC,CACxC/d,GAAc,CAAE9wD,UAAWovE,EAAgBxG,kBAC3C1W,GAAgBid,EAAgBhd,kBAChCid,EACA9c,KACA,IAAI0T,GACJ,IAAIuB,GAA0B4H,EAAgBvI,cAI9CvM,QAAsBrsN,EAAW,CAAEk+L,WAAY,MAC/CqxB,GAAU,CACRr5B,OAAQA,GAAOx+I,KACf6xK,mBAAoB4H,GACpB3H,uBAAwB4H,MAqB5B,OAjBI1+B,KAEFmuC,EAAU/jO,KAAK02L,GAAY2tC,EAAgBG,eAC3CT,EAAU/jO,KAAKizN,OAEjB8Q,EAAU/jO,KACRo2L,GAAkBC,GACdwiC,GACEkK,GACE1sC,EACwB,QAAxB,EAAAguC,EAAgBI,gBAAQvsC,IAAAA,EAAAA,EAAIs7B,IAE9Bn9B,GAEFA,GAGC,IAAI4tC,GAASF,EAAWM,GCrP1B,IAAMK,GAAb,8BCWM,SAAUC,KACd,MAAO,iBCVF,IAAM3D,GAIM,QAJNA,GAoCI,CAIb4D,UAAW,CACTC,IAAK,MACLC,IAAK,MACLC,OAAQ,SACRC,KAAM,OACNC,MAAO,QACPC,KAAM,OACNC,MAAO,SAGTC,YAAa,CACXC,gBAAiB,IACjBC,mBAAoB,MApDbtE,GA2DM,CAIfC,cAAe,gBAEfsE,qBAAsB,SAOtBC,YAAa,cAKbC,WAAY,cC7BT,IAAMC,GAAgCf,GAMvC,SAAUgB,KACd,IAAM1H,EAvBC,CALe,CACpBz9N,IAAK,YACLqB,MAAOm/N,KA2BH4E,EF3CF,WACJ,IAAMzkK,EAAYgC,KAAKhC,UAMvB,MAAO,CALQ,CACb3gE,IAAK,KACLqB,OAAQs/D,EAAU0kK,OAAS1kK,EAAUguB,UAAU7/E,QAAQ,IAAK,MEuCjCw2N,GACvB5wE,EAtBR,SACE6wE,GAEoB,IADpBC,EACoB,uDADL,IACfC,EAAoB,uDAAH,IAEjB,OAAOF,EACJ5qL,KAAI,SAACP,GACJ,IAAM/4C,EAAQ+4C,EAAK/4C,MAAL,UAAgBokO,GAAhB,OAAiCrrL,EAAK/4C,OAAU,GAC9D,MAAO,GAAP,OAAU+4C,EAAKp6C,KAAf,OAAqBqB,MAEtBnB,KAAKslO,GAYUE,CAAmBjI,EAAYx8N,OAAOmkO,IACxD,OAAO1wE,EA4BF,IAAMixE,GAAb,gCACE,WACWvvC,EACAh7D,EACCkqE,EACAy3B,GAAmB,wBAE7B,cAAM3mC,EAAah7D,IALVg7D,YAAAA,EACA,EAAAh7D,SAAAA,EACC,EAAAkqE,UAAAA,EACA,EAAAy3B,YAAAA,EAAmB,EALjC,sCAUE,SAAYxzJ,GAEV,OADA/nE,KAAKokO,mBAAmBr8J,GACjB/nE,KAAK40L,YAAYuvB,YAAYp8I,KAZxC,gCAkBE,SAAmBA,GACZA,EAAQ5sB,UACX4sB,EAAQ5sB,QAAU,IAAIkgL,KAGnBtzJ,EAAQ5sB,QAAQh3C,IAAInE,KAAK8jM,YAAc9jM,KAAKu7N,aAC/CxzJ,EAAQ5sB,QAAQ/2C,IAAIpE,KAAK8jM,UAAW9jM,KAAKu7N,iBAxB/C,GAAqCta,IC3E/BojB,GAAkB,CAAC,MAAO,QAuCzB,IAAMC,GAAb,gCACE,WAAYrgB,EAA2B/xM,GAAuD,MAAfqyN,EAAe,uDAAF,GAAE,kBAC5F,cAAMtgB,EAAY/xM,IAD2DqyN,WAAAA,EAAe,EADhG,sCAKS,SAAYx8J,GAAwB,WACzC,OAAO/nE,KAAK40L,YACTuvB,YAAYp8I,GACZl1C,MAAK,SAACkyH,GAAD,OAAcy/E,GAAe,EAAMz/E,EAAU,UARzD,GAAoCk8D,IAYpC,SAASujB,GACP7N,EACA5xE,EACA0/E,GAEA,IAAQ18J,EAAoBg9E,EAApBh9E,QAAS4jG,EAAW5mB,EAAX4mB,OACX+4D,EAAiB3/E,EAAS5pG,QAAQh3C,IAAI,YAC5C,GACEugO,IACY,MAAX/4D,GACa,MAAXA,GAAkB04D,GAAgB30N,SAASq4D,EAAQ5F,SACxC,MAAXwpG,GAAkB04D,GAAgB30N,SAASq4D,EAAQ5F,SACxC,MAAXwpG,GAAqC,SAAnB5jG,EAAQ5F,QAChB,MAAXwpG,MACAgrD,EAAO4N,YAAcE,EAAiB9N,EAAO4N,YAC/C,CACA,IAAMI,EAAUje,GAAAA,MAAiB3+I,EAAQ/9C,KAWzC,OAVA26M,EAAQzc,QAAQwc,GAChB38J,EAAQ/9C,IAAM26M,EAAQtmO,WAIP,MAAXstK,IACF5jG,EAAQ5F,OAAS,aACV4F,EAAQ72D,MAGVylN,EAAO/hC,YACXuvB,YAAYp8I,GACZl1C,MAAK,SAACy+C,GAAD,OAASkzJ,GAAe7N,EAAQrlJ,EAAKmzJ,EAAiB,MAGhE,OAAOrkO,QAAQC,QAAQ0kJ,GC9FlB,ICgDK6/E,GD9CCC,GAAgC,IAChCC,GAAoC,IAG3C,SAAUjhJ,GAASjgF,GACvB,MAAoB,kBAANA,EAuBV,SAAUw2N,GACd2K,EACAC,EACAC,EACAlgF,EACArgJ,GAEA,QAAKsgO,EAAUjgF,EAAUrgJ,IAIlBugO,EAAUC,WAAaH,EAW1B,SAAUI,GACdrL,GAEgB,IADhBmL,EACgB,uDADO,CAAEC,WAAY,EAAGE,cAAe,GACvD5kO,EAAgB,uCAEZA,IACEykO,EAAUvgO,QACZlE,EAAIwuN,WAAaiW,EAAUvgO,OAG7BugO,EAAUvgO,MAAQlE,GAIpBykO,EAAUC,aAGV,IAAIG,EAAiB7oN,KAAKqiE,IAAI,EAAGomJ,EAAUC,WAAa,GAAK,EACvDI,EACyB,GAA7BxL,EAAasL,cACb5oN,KAAKmsC,MAAMnsC,KAAKgU,UAAyC,GAA7BspM,EAAasL,gBAQ3C,OAPAC,GAAkBC,EAElBL,EAAUG,cAAgB5oN,KAAKyQ,IAC7B6sM,EAAayL,iBAAmBF,EAChCvL,EAAa0L,kBAGRP,GChCT,SAAYL,GAKVA,EAAAA,EAAAA,YAAAA,GAAAA,cALF,CAAYA,KAAAA,GAAS,KAoCd,IASMa,GAAb,gCAsBE,WACExhB,EACA/xM,EACAgzN,EACAE,EACAI,GAAyB,wBAEzB,cAAMvhB,EAAY/xM,IACbgzN,WAAarhJ,GAASqhJ,GAAcA,ED3HH,EC4HtC,EAAKE,cAAgBvhJ,GAASuhJ,GAAiBA,EAAgBP,GAC/D,EAAKW,iBAAmB3hJ,GAAS2hJ,GAC7BA,EACAV,GAPqB,EA3B7B,sCAqCS,SAAY/8J,GAAwB,WACzC,OAAO/nE,KAAK40L,YACTuvB,YAAYp8I,EAAQkX,SACpBpsD,MAAK,SAACkyH,GAAD,OAAc2gF,GAAM,EAAM39J,EAASg9E,MACxCjyH,OAAM,SAACpuB,GAAD,OAAWghO,GAAM,EAAM39J,EAASrjE,EAAMqgJ,cAAU7jJ,EAAWwD,UAzCxE,GAA4Cu8M,aA6C7BykB,GAAM,EAANA,EAAAA,EAAAA,EAAAA,yEAAf,WACE/O,EACA5uJ,EACAg9E,EACAkgF,EACAU,GALF,IAOWC,EAPX,yEAOWA,EAPX,SAO6BC,GACzB,IAAM7gB,EAA0B,OAAb6gB,QAAa,IAAbA,OAAa,EAAbA,EAAel6D,OAClC,OAAmB,MAAfq5C,KAA8B,OAARjgE,QAAQ,IAARA,OAAQ,EAARA,EAAU5pG,QAAQh3C,IAAI66N,GAAAA,uBAK/B99N,IAAf8jN,GACCA,EAAa,KAAsB,MAAfA,GACN,MAAfA,GACe,MAAfA,IAOJigB,EAAYE,GACV,CACEC,cAAezO,EAAOyO,cACtBG,iBAAkB,EAClBC,iBAAkB7O,EAAO6O,kBAE3BP,EACAU,IAGIG,EAAiC/9J,EAAQsyJ,aAAetyJ,EAAQsyJ,YAAYkC,WAChEnC,GAAYzD,EAAOuO,WAAYU,EAAmBX,EAAWlgF,GAnCjF,wBAoCIqyC,GAAAA,KAAA,8BAAmC6tC,EAAUG,gBApCjD,kBAsCYllK,GAAM+kK,EAAUG,eAtC5B,wBAuCwBzO,EAAO/hC,YAAYuvB,YAAYp8I,EAAQkX,SAvC/D,eAuCY3N,EAvCZ,yBAwCao0J,GAAM/O,EAAQ5uJ,EAASuJ,EAAK2zJ,IAxCzC,2DA0CaS,GAAM/O,EAAQ5uJ,EAASg9E,EAAUkgF,EAA5B,OA1ClB,oCA4Caa,IAAaH,GAAiB5gF,EA5C3C,uBA+CMkgF,EAAUvgO,OACV,IAAI2mN,GACF,8BACAA,GAAUkT,mBACVx5E,GAAYA,EAAS4mB,OACrB5mB,GAAYA,EAASh9E,QACrBg9E,GArDR,iCAyDWA,GAzDX,iFCpFM,SAAUghF,GAA2BC,GACzC,OAAOC,GAA+BD,EAAU3sB,cAAe2sB,EAAUnoC,QAGrE,SAAUooC,GACd5sB,EACAxb,GAUA,MAP6B,kBAAlBwb,EACAA,EACAp7M,MAAMC,QAAQm7M,GACdA,EAAc36M,KAAK,KAEnBm/L,EAAOyB,eC4Bd,SAAU4mC,GAA6B5X,GAC3C,IAAM7rJ,EAAS,IAAI13D,IACnB,IAAK,IAAMi6M,KAAcsJ,EAAc7O,UAAW,CAChD,IAAMyQ,EAAoB5B,EAAc7O,UAAUuF,GAEhDkL,EAAkBvQ,YAClBuQ,EAAkBvQ,WAAW/9M,KAAKzB,OAAS4kM,GAAWohC,QAEtD1jK,EAAOt3D,IAAIxL,OAAOqlN,IAGtB,OAAOviJ,ECkFF,IC5LH2jK,GD4LSC,GAAb,WAsGE,WACEr8M,EACAm4C,EACAjxD,EACAk2M,EACAjsK,EACAy0K,EACAyN,EACAhD,EACAh+J,EACAwgK,EACAC,EACAR,EACA/W,EACA+gB,EACA3W,GAAuC,UAEvC3vN,KAAK4vN,mBAAqBA,EAC1B5vN,KAAK2vN,0BAA4BA,EACjC3vN,KAAKgqB,IAAMA,GAAO,GAClBhqB,KAAKmiE,OAASA,GAAU,MACxBniE,KAAKm7C,QAAU4/K,GAAkB5/K,GAAWA,EAAU,IAAIkgL,GAAYlgL,GACtEn7C,KAAKkR,KAAOA,EACZlR,KAAKonN,MAAQA,EACbpnN,KAAK+8N,cAAW77N,EAChBlB,KAAKq9N,gBAAkBA,IAAmB,EAC1Cr9N,KAAKq6N,YAAcA,EACnBr6N,KAAKq8D,QAAUA,GAAW,EAC1Br8D,KAAK68N,iBAAmBA,EACxB78N,KAAK88N,mBAAqBA,EAC1B98N,KAAKs8N,cAAgBA,EACrBt8N,KAAKulN,UAAYA,EACjBvlN,KAAKsmO,mBAAqBA,EAC1BtmO,KAAKkvM,UAAYlvM,KAAKm7C,QAAQh3C,IAAI,2BAA6B2vL,KAvInE,oDA+IE,WACE,IAAK9zL,KAAKmiE,OACR,MAAM,IAAI3/D,MAAM,mCAElB,IAAKxC,KAAKgqB,IACR,MAAM,IAAIxnB,MAAM,kCApJtB,qBA6JE,SAAQ0P,GACN,IAAKA,EACH,MAAM,IAAI1P,MAAM,8BAGlB,QACqBtB,IAAnBgR,EAAQiwD,QACW,OAAnBjwD,EAAQiwD,QAC4B,kBAA7BjwD,EAAQiwD,OAAOhvD,UAEtB,MAAM,IAAI3Q,MAAM,oCAGlB,GAAI0P,EAAQ8X,KAAO9X,EAAQq0N,aACzB,MAAM,IAAI/jO,MACR,oGAIJ,SAC4BtB,IAAzBgR,EAAQq0N,cACkB,OAAzBr0N,EAAQq0N,cACkC,kBAAnCr0N,EAAQq0N,aAAapzN,kBACbjS,IAAhBgR,EAAQ8X,KACS,OAAhB9X,EAAQ8X,KACyB,kBAA1B9X,EAAQ8X,IAAI7W,WAErB,MAAM,IAAI3Q,MAAM,sEAIlB,GAAI0P,EAAQ8X,IAAK,CACf,GAA2B,kBAAhB9X,EAAQ8X,IACjB,MAAM,IAAIxnB,MAAM,yCAElBxC,KAAKgqB,IAAM9X,EAAQ8X,IAIrB,GAAI9X,EAAQiwD,OAAQ,CAClB,IAAMqkK,EAAe,CAAC,MAAO,MAAO,OAAQ,SAAU,UAAW,OAAQ,QAAS,SAClF,IAA4D,IAAxDA,EAAa3vN,QAAQ3E,EAAQiwD,OAAOt1D,eACtC,MAAM,IAAIrK,MACR,wBACE0P,EAAQiwD,OACR,6CACAtxB,KAAKC,UAAU01L,IAOvB,GAHAxmO,KAAKmiE,OAASjwD,EAAQiwD,OAAOt1D,cAGzBqF,EAAQq0N,aAAc,CACxB,IAAQA,EAAiCr0N,EAAjCq0N,aAAcE,EAAmBv0N,EAAnBu0N,eACtB,GAA4B,kBAAjBF,EACT,MAAM,IAAI/jO,MAAM,kDAEb0P,EAAQw0N,UACXx0N,EAAQw0N,QAAU,gCAEpB,IAAMA,EAAUx0N,EAAQw0N,QACpB18M,EACF08M,GACCA,EAAQr6J,SAAS,KAAO,GAAK,MAC7Bk6J,EAAav7J,WAAW,KAAOu7J,EAAa5lO,MAAM,GAAK4lO,GACpDl7J,EAAWrhD,EAAI9a,MAAM,yBAC3B,GAAIm8D,GAAYA,EAASxtE,OAAQ,CAC/B,IAAK4oO,EACH,MAAM,IAAIjkO,MAAJ,wBACa+jO,EADb,6EAIRl7J,EAAS5+D,SAAQ,SAAUi2E,GACzB,IAAMikJ,EAAgBjkJ,EAAK/hF,MAAM,GAAI,GAC/BimO,EAAaH,EAA0CE,GAC7D,GACgB,OAAdC,QACc1lO,IAAd0lO,GACuB,kBAAdA,GAA+C,kBAAdA,EAC1C,CACA,IAAMC,EAA4Bh2L,KAAKC,UAAU21L,OAAgBvlO,EAAW,GAC5E,MAAM,IAAIsB,MACR,wBAAiB+jO,EAAjB,wCAA6DI,GAA7D,qDACgDE,EADhD,sFAE4EF,EAF5E,8EAG0CA,EAH1C,gEAWJ,GAJmC,kBAAxBC,EAAUzzN,YACnB6W,EAAMA,EAAI1c,QAAQo1E,EAAM73E,mBAAmB+7N,KAGV,kBAAxBA,EAAUzzN,UAAwB,CAC3C,IAAKyzN,EAAU/mO,MACb,MAAM,IAAI2C,MAAJ,iCACsBmkO,EADtB,sEAKN38M,EADE48M,EAAUE,gBACN98M,EAAI1c,QAAQo1E,EAAMkkJ,EAAU/mO,OAE5BmqB,EAAI1c,QAAQo1E,EAAM73E,mBAAmB+7N,EAAU/mO,YAK7DG,KAAKgqB,IAAMA,EAIb,GAAI9X,EAAQ4tM,gBAAiB,CAC3B,IAAMA,EAAkB5tM,EAAQ4tM,gBAChC,GAA+B,kBAApBA,EACT,MAAM,IAAIt9M,MACR,2SAMAxC,KAAKgqB,MAAkC,IAA3BhqB,KAAKgqB,IAAInT,QAAQ,OAC/B7W,KAAKgqB,KAAO,KAGd,IAAM+8M,EAAc,GAGpB,IAAK,IAAMC,KADXhnO,KAAKonN,MAAQ,GACgBtH,EAAiB,CAC5C,IAAMmnB,EAAkBnnB,EAAgBknB,GACxC,GAAIC,EACF,GAA0B,kBAAfA,EACTF,EAAY/oO,KAAKgpO,EAAiB,IAAMn8N,mBAAmBo8N,IAC3DjnO,KAAKonN,MAAM4f,GAAkBn8N,mBAAmBo8N,QAC3C,GAA0B,kBAAfA,EAAyB,CACzC,IAAKA,EAAWpnO,MACd,MAAM,IAAI2C,MAAJ,kCACuBwkO,EADvB,sEAIJC,EAAWH,iBACbC,EAAY/oO,KAAKgpO,EAAiB,IAAMC,EAAWpnO,OACnDG,KAAKonN,MAAM4f,GAAkBC,EAAWpnO,QAExCknO,EAAY/oO,KAAKgpO,EAAiB,IAAMn8N,mBAAmBo8N,EAAWpnO,QACtEG,KAAKonN,MAAM4f,GAAkBn8N,mBAAmBo8N,EAAWpnO,SAMnEG,KAAKgqB,KAAO+8M,EAAYroO,KAAK,KAI/B,GAAIwT,EAAQipC,QAEV,IADA,IAAMA,EAAUjpC,EAAQipC,QACxB,MAAyB78C,OAAOsH,KAAKsM,EAAQipC,SAA7C,eAAuD,CAAlD,IAAM2/K,EAAU,KACnB96N,KAAKm7C,QAAQ/2C,IAAI02N,EAAY3/K,EAAQ2/K,IAsDzC,OAlDK96N,KAAKm7C,QAAQh3C,IAAI,oBACpBnE,KAAKm7C,QAAQ/2C,IAAI,kBAAmB,SAGjCpE,KAAKm7C,QAAQh3C,IAAI,2BAA8B+N,EAAQg1N,wBAC1DlnO,KAAKm7C,QAAQ/2C,IAAI,yBAA0BpE,KAAKkvM,WAI7ClvM,KAAKm7C,QAAQh3C,IAAI,iBACpBnE,KAAKm7C,QAAQ/2C,IAAI,eAAgB,mCAInCpE,KAAKkR,KAAOgB,EAAQhB,UACChQ,IAAjBgR,EAAQhB,MAAuC,OAAjBgB,EAAQhB,OAEpCgB,EAAQi1N,cACLnnO,KAAKm7C,QAAQh3C,IAAI,sBACpBnE,KAAKm7C,QAAQ/2C,IAAI,oBAAqB,WAEC,6BAArCpE,KAAKm7C,QAAQh3C,IAAI,iBACnBnE,KAAKm7C,QAAQ/2C,IAAI,eAAgB,8BAG/B8N,EAAQk1N,sBACVpnO,KAAKkR,KAAO,IAAIwsL,GAAWxrL,EAAQm1N,SAASl6E,UAC1Cj7I,EAAQk1N,oBACRl1N,EAAQhB,KACR,gBAGCgB,EAAQo1N,6BACXtnO,KAAKkR,KAAO2/B,KAAKC,UAAU5+B,EAAQhB,SAKrCgB,EAAQkrL,cACVp9L,KAAKo9L,YAAclrL,EAAQkrL,aAGzBlrL,EAAQirL,iBACVn9L,KAAKm9L,eAAiBjrL,EAAQirL,gBAGhCn9L,KAAKq6N,YAAcnoN,EAAQmoN,YAC3Br6N,KAAK88N,mBAAqB5qN,EAAQ4qN,mBAClC98N,KAAK68N,iBAAmB3qN,EAAQ2qN,iBAEzB78N,OAlXX,mBAyXE,WACE,IAAMyiE,EAAS,IAAI4jK,EACjBrmO,KAAKgqB,IACLhqB,KAAKmiE,OACLniE,KAAKkR,KACLlR,KAAKonN,MACLpnN,KAAKm7C,SAAWn7C,KAAKm7C,QAAQ8jC,QAC7Bj/E,KAAK4vN,mBACL5vN,KAAKq9N,gBACLr9N,KAAKq6N,YACLr6N,KAAKq8D,QACLr8D,KAAK68N,iBACL78N,KAAK88N,mBACL98N,KAAKs8N,cACLt8N,KAAKulN,UACLvlN,KAAKsmO,mBACLtmO,KAAK2vN,2BAmBP,OAhBI3vN,KAAK+8N,WACPt6J,EAAOs6J,SAAW/8N,KAAK+8N,UAGrB/8N,KAAKsuN,gBACP7rJ,EAAO6rJ,cAAgBtuN,KAAKsuN,eAG1BtuN,KAAKyuN,oBACPhsJ,EAAOgsJ,kBAAoBzuN,KAAKyuN,mBAG9BzuN,KAAKuuN,0BACP9rJ,EAAO8rJ,wBAA0BvuN,KAAKuuN,yBAGjC9rJ,MA5ZX,KEnJay8J,GAA6C,CACxDC,wBAAyB,IACzBC,kBAAmB,IACnBC,kBAAmB,4CAgBrB,WACEC,EACAF,EACAG,GAHF,IAOiBC,EAPjB,iHAOE,0FACM38M,KAAKC,MAAQy8M,GADnB,0CAGmBD,IAHnB,iGAKa,MALb,iDAQ6BA,IAR7B,WAWuB,QAHbG,EARV,+BAYY,IAAIj9N,MAAM,mCAZtB,iCAeWi9N,GAfX,0DAPF,uBAOiBD,EAPjB,oDA0BwCA,IA1BxC,OA0BMrzE,EA1BN,iBA4BmB,OAAVA,EA5BT,iCA6BUjsF,GAAMk/J,GA7BhB,wBA+BkBI,IA/BlB,QA+BIrzE,EA/BJ,uDAkCSA,GAlCT,qEAoDA,SAASuzE,GACPrrC,EACAv7F,EACA6mI,GAEA,IAAIC,EAA6C,KAC7CzzE,EAA4B,KAE1Bj6I,EAAU,OAAH,wBACRgtN,IACAS,GAOCE,EAAS,CAITC,mBACF,OAAyB,OAAlBF,GAMLG,0BACF,OACGF,EAAOC,eACkB,QAAzB,EAAK,OAAL3zE,QAAK,IAALA,OAAK,EAALA,EAAO6zE,0BAAkB9pC,IAAAA,EAAAA,EAAI,GAAKhkL,EAAQmtN,kBAAoBx8M,KAAKC,OAOpEm9M,kBACF,OACY,OAAV9zE,GAAkBA,EAAM6zE,mBAAqB9tN,EAAQitN,wBAA0Bt8M,KAAKC,QAS1F,SAASo9M,EAAQC,SACf,IAAKN,EAAOC,aAAc,CAOxBF,WA7GSQ,EAAAA,EAAAA,mCA6GOA,EALU,kBACxB/rC,EAAWE,SAASz7F,EAAQqnI,KAM5BjuN,EAAQktN,kBAEiB,QAAzB,EAAK,OAALjzE,QAAK,IAALA,OAAK,EAALA,EAAO6zE,0BAAkB9pC,IAAAA,EAAAA,EAAIrzK,KAAKC,OAEjC+P,MAAK,SAACwtM,GAGL,OAFAT,EAAgB,KAChBzzE,EAAQk0E,KAGTvtM,OAAM,SAACwtM,GAMN,MAFAV,EAAgB,KAChBzzE,EAAQ,KACFm0E,KAIZ,OAAOV,EAGT,sCAAO,WAAOW,GAAP,sEAWDV,EAAOI,YAXN,yCAW0BC,EAAQK,IAXlC,cAaDV,EAAOE,eACTG,EAAQK,GAdL,kBAiBEp0E,GAjBF,2CAAP,OAAO,SAAP,UAAO,EAAP,0BA8BI,SAAUo7E,GACdlzC,EACAv7F,GAGA,IAAMy7F,EAAWmrC,GAAkBrrC,EAAYv7F,GAEzC0uI,EALmB,gCAMvB,WAAmBvjB,EAA2B/xM,GAA6B,6BACnE+xM,EAAY/xM,GAPG,qEAUhB,WAAkB+uN,GAAlB,6EACAA,EAAYj3M,IAAItd,cAAcs+D,WAAW,YADzC,sBAEG,IAAIxoE,MACR,wFAHC,uBAOmB+xL,EAAS,CAC/B8lC,YAAa4G,EAAY5G,YACzBr9B,eAAgB,CACdG,eAAgB8jC,EAAY9jC,kBAV3B,uBAOGhxC,EAPH,EAOGA,MAMR80E,EAAY9lL,QAAQ/2C,IAAI46N,GAAAA,cAAxB,iBAA2E7yE,IAbtE,kBAcEnsJ,KAAK40L,YAAYuvB,YAAY8c,IAd/B,gDAVgB,4DAKqBhgB,IAuB9C,MAAO,CACL/+M,OAAQ,SAAC+hN,EAA2B/xM,GAClC,OAAO,IAAIs1N,EAAgCvjB,EAAY/xM,KC/OtD,IAAMu1N,GAAb,gCACE,WACExjB,EACA/xM,GAC2B,MAAlBw1N,EAAkB,uDAAF,GAAE,kBAE3B,cAAMzjB,EAAY/xM,IAFTw1N,cAAAA,EAAkB,EAJ/B,sCASS,SAAY3/J,GAAwB,WACzC,OAAO/nE,KAAK40L,YACTuvB,YAAYp8I,EAAQkX,SACpBpsD,MAAK,SAACkyH,GAAD,OAIZ,SACE4xE,EACA5uJ,EACAg9E,GAEA,GAAwB,MAApBA,EAAS4mB,OAAgB,CAC3B,IAAMg8D,EAwDV,SAAmCz2N,GACjC,IAAIuxD,EAAQ29H,EACZ,GAAIlvL,EAAM,CACR,IACEkvL,EAAevvJ,KAAK29B,MAAMt9D,GAC1B,MAAO1Q,IAGT,GACE4/L,GACAA,EAAa17L,OACb07L,EAAa17L,MAAME,SACnBw7L,EAAa17L,MAAMkiB,MACS,oCAA5Bw5K,EAAa17L,MAAMkiB,KACnB,CACA,IAAMghN,EAAWxnC,EAAa17L,MAAME,QAAQsK,MAAM,aAC9C04N,IACFnlK,EAASmlK,EAASpiO,QAIxB,OAAOi9D,EA7EUolK,CAA0B9iF,EAASkqE,YAClD,GAAI0Y,EAAQ,CACV,IAAMG,EAoFZ,SAAgC99M,GAC9B,IAAIy4C,EACEmlK,EAAW59M,EAAI9a,MAAM,qCAC3B,IAAI04N,IAAYA,EAAS,GAGvB,MAAM,IAAIplO,MAAJ,gEAAmEwnB,EAAnE,MAFNy4C,EAASmlK,EAAS,GAIpB,OAAOnlK,EA5FeslK,CAAuBhgK,EAAQ/9C,KACjD,gBAsGoB,EAAXg+M,EAAAA,EAAAA,mCArGPA,CAAWrR,EAAQmR,EAAWH,EAAQ5/J,GAInCj1C,OAAM,kBAAM,KACZD,MAAK,SAACo1M,GACL,OAAIA,GAGFlgK,EAAQ5sB,QAAQ/2C,IAAI,yBAA0B48L,MACvC21B,EAAO/hC,YAAYuvB,YAAYp8I,EAAQkX,UAEzC8lE,MAMjB,OAAO3kJ,QAAQC,QAAQ0kJ,GAhCCmjF,CAAiB,EAAMngK,EAASg9E,UAZ1D,GAA0Ck8D,IAqD1C,SAASknB,GACPC,GACmB,IAAnBC,EAAmB,wDAEbC,EAA8BF,EAAgBnpJ,QAYpD,OAXIopJ,IACFC,EAAWt+M,IAAMo+M,EAAgBp+M,KAKnCs+M,EAAWntL,QAAQ/2C,IAAI,yBAA0B48L,MAGjDsnC,EAAWntL,QAAQ/2C,IAAI,eAAgB,mCAEhCkkO,wCA0DT,WACE3R,EACAmR,EACAxrC,EACA8rC,GAJF,mFAMQG,EANR,UAMqBT,EANrB,qBAM2CxrC,EAN3C,oCAOQksC,EAPR,UAOoBV,EAPpB,qBAO0CxrC,EAP1C,4BAQQgsC,EAAaH,GAAqBC,IAC7BjmK,OAAS,OACpBmmK,EAAWt+M,IAAMu+M,EAVnB,SAYyB5R,EAAO/hC,YAAYuvB,YAAYmkB,GAZxD,UAa0B,MAb1B,OAae38D,OAbf,uBAcU,IAAInpK,MAAJ,8BAAiC85L,EAAjC,8CAdV,iCAgBSmsC,GAAsB9R,EAAQ6R,EAAQJ,IAhB/C,4EA4BeK,GAAsB,EAAtBA,EAAAA,yEAAf,WACE9R,EACA3sM,EACAo+M,GAHF,mFAKQE,EAAkBH,GAAqBC,IAClCp+M,IAAMA,EACjBs+M,EAAWnmK,OAAS,MAPtB,SASoBw0J,EAAO/hC,YAAYuvB,YAAYmkB,GATnD,UASQh3J,EATR,OAUQl5B,EAAMk5B,EAAIw9I,YACZx9I,EAAIw9I,aAAc12K,EAAIswL,mBAA+C,eAA1BtwL,EAAIswL,kBAXrD,2CAYW,GAZX,yBAcUxoK,GAA6B,IAAvBy2J,EAAO+Q,eAdvB,iCAeWe,GAAsB9R,EAAQ3sM,EAAKo+M,IAf9C,qEClJO,IAAMO,GAAb,gCACE,WACE1kB,EACA/xM,EACO02N,GAAgD,wBAEvD,cAAM3kB,EAAY/xM,IAFX02N,uBAAAA,EAAgD,EAJ3D,sCASE,SAAY7gK,GACV,OAAO/nE,KAAK4oO,uBAAuBp0C,YAAYzsH,KAVnD,yBAaS,SAAYA,GAAwB,WACzC,OAAO/nE,KAAKw0L,YAAYzsH,GAASl1C,MAAK,SAACg2M,GAAD,OACpC,EAAKj0C,YAAYuvB,YAAY0kB,UAfnC,GAAmC5nB,IC4B5B,IAAM6nB,GAAb,gCAME,WACE7kB,EACA/xM,EACAgzN,EACAE,EACAG,EACAC,GAAyB,wBAEzB,cAAMvhB,EAAY/xM,IACbgzN,WAAarhJ,GAASqhJ,GAAcA,ETrEH,ESsEtC,EAAKE,cAAgBvhJ,GAASuhJ,GAAiBA,EAAgBP,GAC/D,EAAKU,iBAAmB1hJ,GAAS0hJ,GAC7BA,ETpEyC,ISsE7C,EAAKC,iBAAmB3hJ,GAAS2hJ,GAC7BA,EACAV,GAVqB,EAZ7B,sCAyBS,SAAY/8J,GAAwB,WACzC,OAAO/nE,KAAK40L,YACTuvB,YAAYp8I,EAAQkX,SACpBnsD,OAAM,SAACpuB,GAAD,OAAWghO,GAAM,EAAM39J,EAASrjE,EAAMqgJ,SAAUrgJ,UA5B7D,GAA4Cu8M,aAgC7BykB,GAAAA,EAAAA,EAAAA,EAAAA,EAAAA,yEAAf,WACE/O,EACA5uJ,EACAmoJ,EACA1vN,EACAykO,GALF,IASWW,EATX,qEASWA,EATX,SAS6BmD,EAAmCrkO,GAC5D,SACEA,IACAA,EAAMkiB,MACU,cAAfliB,EAAMkiB,MACU,oBAAfliB,EAAMkiB,MACS,iBAAfliB,EAAMkiB,MACS,eAAfliB,EAAMkiB,MACS,WAAfliB,EAAMkiB,OAVZq+M,EAAYE,GAAgBxO,EAAQsO,EAAWzkO,IAiB3C45N,GAAYzD,EAAOuO,WAAYU,EAAmBX,EAAW/U,EAAmB1vN,GAxBtF,0CA2BY0/D,GAAM+kK,EAAUG,eA3B5B,gCA4BazO,EAAO/hC,YAAYuvB,YAAYp8I,EAAQkX,UA5BpD,yDA8BaymJ,GAAM/O,EAAQ5uJ,EAASmoJ,EAAlB,KAAgD+U,IA9BlE,oCAiCQzkO,EAjCR,0CAmCaJ,QAAQE,OAAO2kO,EAAUvgO,QAnCtC,iCAqCWwrN,GArCX,gFCrFO,ICcDkT,GAAcpE,GAAAA,YAoBpB,IAAMgK,GAAuB,6BAWhBC,GAAb,gCAIE,WACEhlB,EACA/xM,EACAg3N,GAAiC,wBAEjC,cAAMjlB,EAAY/xM,IAPZi3N,gBAAkB,EAQxB,EAAKD,gBAAkBA,GAAmB,EAAKE,wBAHd,EAPrC,qEAaS,WAAkBC,GAAlB,wFACkBrpO,KAAK40L,YAAYuvB,YAAYklB,EAAYpqJ,SAD3D,WACC8lE,EADD,QAGM4mB,SAAWy3D,GAAYC,iBAChCt+E,EAAS4mB,SAAWy3D,GAAYE,mBAJ7B,yCAMIv+E,GANJ,gCAQI/kJ,KAAKkpO,gBAAgBG,EAAatkF,IARtC,gDAbT,2HAyBU,WACNskF,EACAC,GAFM,iFAIAC,EAAuCD,EAAanuL,QAAQh3C,IAChE66N,GAAAA,cALI,sBASEwK,EACJP,EAAsBQ,sBAAsBF,IAV1C,wBAYFvpO,KAAKmpO,iBAAmB,EAZtB,SAcIjpK,GAAMspK,EAAW,CACrBnP,YAAagP,EAAYhP,YACzByE,cAAekK,KAhBf,YAmByB,QAAvB,EAAAK,EAAYhP,mBAAWnkC,IAAAA,OAAA,EAAAA,EAAEqmC,SAnB3B,sBAoBM,IAAIpD,GAAW6P,IApBrB,YAuBEhpO,KAAKmpO,gBD7F6B,GCsEpC,0CAwBOnpO,KAAKmkN,YAAYklB,IAxBxB,iCA0BOrpO,KAAK40L,YAAYuvB,YAAYklB,IA1BpC,iCA+BCC,GA/BD,iDAzBV,8FA2DS,SAA6B/N,GAClC,IAAMmO,EAAsB/pO,OAAO47N,GACnC,OAAI57N,OAAOC,MAAM8pO,GACRT,EAAsBU,0BAA0BpO,GAE1B,IAAtBmO,IAhEb,uCAoES,SAAiCnO,GACtC,IACE,IAAMz4M,EAAcD,KAAKC,MAEnBg7F,EADej7F,KAAK2rD,MAAM+sJ,GACZz4M,EAEpB,OAAOnjB,OAAOC,MAAMk+G,QAAQ58G,EAAY48G,EACxC,MAAOp5G,GACP,YA5EN,GAA2Cu8M,ICiH9B2oB,GAAb,WA2BE,WACE/4C,EAEA3+K,GAA8B,IAU1BiwN,EJzLNyG,EI+KgC,OAW9B,GAX8B,UAEzB12N,IACHA,EAAU,IAGZlS,KAAK6pO,iBAAmB33N,EAAQmrN,kBAAmB,EACnDr9N,KAAK8pO,YAAc53N,EAAQgwN,aPhMxBkE,KACHA,GAAmB,IAAI3H,IAGlB2H,IO6LLpmO,KAAK+pO,sBAAwB,IAAI5oB,GAAqBjvM,EAAQ83N,oBAG1D/rO,MAAMC,QAAQgU,EAAQiwN,wBACxB/qC,GAAAA,KAAY,gDACZ+qC,EAAyBjwN,EAAQiwN,2BAC5B,CACL,IAAI8H,OAAsD/oO,EAC1D,GAAIkzL,GAAkBvD,GAAc,CAClCuG,GAAAA,KACE,wFAsCF6yC,EA9ByD,WACvD,IAAIC,OAA6DhpO,EAE3DipO,EAAgB,EAChBC,EAAuBl4N,EAC7B,MAAO,CACLhQ,OADK,SACE+hN,EAA2BomB,GAChC,IAAMC,EAm0BpB,SACEp4N,EACAq4N,GAEA,GAAW,OAAPr4N,QAAO,IAAPA,OAAO,EAAPA,EAASo4N,iBAAkB,CAC7B,IAAMxxI,EAAS5mF,EAAQo4N,iBACvB,OAAOrsO,MAAMC,QAAQ46F,GACjBA,EAAO3/C,KAAI,SAACwzC,GAAD,OAAW,IAAI69I,IAAI79I,GAAOtuF,cACrC,IAAImsO,IAAI1xI,GAAQz6F,WAGtB,GAAIksO,EACF,MAAO,GAAP,OAAUA,EAAV,aAEF,OAj1BqCE,CACvBL,EACAD,EAAcI,SAGhB,IAAKD,EACH,MAAM,IAAI9nO,MAAJ,qKAYR,YAPiCtB,IAA7BgpO,GAAuE,OAA7BA,IAC5CA,EAA2B3C,GACzB12C,EACAy5C,IAIGJ,EAAyBhoO,OAAO+hN,EAAYomB,KAKrCK,QACf,GAAI75C,GAAkD,oBAA5BA,EAAY2D,YAC3C4C,GAAAA,KAAY,oEJzOlBwxC,EI0OwC/3C,EAAlCo5C,EJxOC,CACL/nO,OAAQ,SAAC+hN,EAA2B/xM,GAClC,OAAO,IAAIy2N,GAAc1kB,EAAY/xM,EAAS02N,UIuOvC,QAAoB1nO,IAAhB2vL,GAA6C,OAAhBA,EACtC,MAAM,IAAIruL,MAAM,yEAKlB,GAFA40L,GAAAA,KAAY,iDACZ+qC,EA2bN,SACE8H,EACA/3N,GAEA,IAAM6vN,EAAoC,GAEtC7vN,EAAQy4N,+BACV5I,EAAU/jO,KAAKwnN,GAA8BtzM,EAAQ04N,4BAGnDX,GACFlI,EAAU/jO,KAAKisO,GAGjB,IAAMY,EAA8BC,GAClC54N,EAAQ24N,oBACRnH,IAEIqH,EAA+BD,GACnC54N,EAAQghJ,UACRywE,IAEEkH,GAAuBE,GACzBhJ,EAAU/jO,Kd9oBR,SAA0B+0J,GAC9B,IAAMv0J,EACHu0J,QAAuC7xJ,IAAtB6xJ,EAAcv0J,KAA2C,OAAtBu0J,EAAcv0J,IAE/Du0J,EAAcv0J,IF5Db,iBE6DDqB,EACHkzJ,QAAyC7xJ,IAAxB6xJ,EAAclzJ,OAA+C,OAAxBkzJ,EAAclzJ,MAEjEkzJ,EAAclzJ,MADd8jO,KAGN,MAAO,CACLzhO,OAAQ,SAAC+hN,EAA2B/xM,GAClC,OAAO,IAAIiyN,GAAgBlgB,EAAY/xM,EAAS1T,EAAKqB,KckoBxCmrO,CAAgB,CAAExsO,IAAKqsO,EAAqBhrO,MAAOkrO,KAEpEhJ,EAAU/jO,Kb3qBN,WAA4C,IAAnBitO,EAAmB,uDAAF,GAC9C,MAAO,CACL/oO,OAAQ,SAAC+hN,EAA2B/xM,GAClC,OAAO,IAAIoyN,GAAergB,EAAY/xM,EAAS+4N,KawqBpCC,IACfnJ,EAAU/jO,KL1sBN,WAAgD,IAAjBmtO,EAAiB,uDAAF,GAClD,MAAO,CACLjpO,OAAQ,SAAC+hN,EAA2B/xM,GAClC,OAAO,IAAIu1N,GAAqBxjB,EAAY/xM,EAASi5N,KKusB1CC,CAAqBl5N,EAAQm5N,6BAEvCn5N,EAAQo5N,gBACXvJ,EAAU/jO,KXtrBL,CACLkE,OAAQ,SAAC+hN,EAA2B/xM,GAClC,OAAO,IAAIuzN,GACTxhB,EACA/xM,EACAgzN,EACAE,EACAI,MWgrBJzD,EAAU/jO,KH5rBR,SACJknO,EACAE,EACAG,EACAC,GAEA,MAAO,CACLtjO,OAAQ,SAAC+hN,EAA2B/xM,GAClC,OAAO,IAAI42N,GACT7kB,EACA/xM,EACAgzN,EACAE,EACAG,EACAC,KG8qBW+F,IACfxJ,EAAU/jO,KD5rBL,CACLkE,OAAQ,SAAC+hN,EAA2B/xM,GAClC,OAAO,IAAI+2N,GAAsBhlB,EAAY/xM,OVH7C,IACJgzN,EACAE,EACAI,EW6rBAzD,EAAU/jO,KAAKuvN,GAAsBr7M,EAAQs7M,8BAEzC55B,IACFmuC,EAAU/jO,KAAK02L,GAAYxiL,EAAQoqN,gBAKrC,OAFAyF,EAAU/jO,KAAKyyN,GAAU,CAAEr5B,OAAQA,GAAAA,QAE5B2qC,EAresByJ,CAAoCvB,EAAmB/3N,GAC5EA,EAAQiwN,uBAAwB,CAGlC,IAAMsJ,EACJv5N,EAAQiwN,uBAAuBA,GAC7BsJ,IACFtJ,EAAyBsJ,IAI/BzrO,KAAK0rO,wBAA0BvJ,EA1GnC,sCAgHE,SAAYjwN,GACV,GAAgB,OAAZA,QAAgChR,IAAZgR,GAA4C,kBAAZA,EACtD,MAAM,IAAI1P,MAAM,sEAGlB,IAAI6mO,EACJ,KRvHE,SAA4B9/N,GAChC,GAAIA,GAA4B,kBAAXA,EAAqB,CACxC,IAAMyxN,EAAazxN,EAQnB,GAC4B,kBAAnByxN,EAAWhxM,KACW,kBAAtBgxM,EAAW74J,QACY,kBAAvB64J,EAAW7/K,SAClB4/K,GAAkBC,EAAW7/K,UACmB,oBAAzC6/K,EAAW2Q,2BACY,oBAAvB3Q,EAAW4Q,SACU,oBAArB5Q,EAAW/7I,MAElB,OAAO,EAGX,OAAO,EQkGC4sJ,CAAkB35N,GAKpBm3N,GADAA,EAAc,IAAIhD,IACQuF,QAAQ15N,IAJlCA,EAAQy5N,4BACRtC,EAAcn3N,GAKhB,MAAOxN,GACP,OAAOtE,QAAQE,OAAOoE,GAGxB,IAAIonO,EAA8B9rO,KAAK8pO,YACvC,GAAI9pO,KAAK0rO,yBAA2B1rO,KAAK0rO,wBAAwB7tO,OAAS,EACxE,IAAK,IAAIF,EAAIqC,KAAK0rO,wBAAwB7tO,OAAS,EAAGF,GAAK,IAAKA,EAC9DmuO,EAAe9rO,KAAK0rO,wBAAwB/tO,GAAGuE,OAC7C4pO,EACA9rO,KAAK+pO,uBAIX,OAAO+B,EAAa3nB,YAAYklB,KA3IpC,iEAoJE,WACE1qB,EACA2P,EACA50L,GAHF,uIAK4C,oBAA/BilL,EAAmBzsM,UAC5BwnB,EAAWilL,EAAmBzsM,QAC9BysM,EAAmBzsM,aAAUhR,GAGzB6qO,EAA8C,QAA1B,EAAAptB,EAAmBzsM,eAAOgkL,IAAAA,OAAA,EAAAA,EAAE61C,kBAChD1C,EAA+B,IAAIhD,GAX3C,SAeUkE,EAA8Bjc,EAAcoY,SAAW1mO,KAAKuqO,QAftE,sBAiBY,IAAI/nO,MACR,4IAlBR,OA6BI,GAPA6mO,EAAYlnK,OAASmsJ,EAAc9O,WACnC6pB,EAAY/a,cAAgBA,EAEtB0d,EAAyBtlB,GAAAA,MAAiB6jB,GAC5Cjc,EAAc30K,MAChBqyL,EAAWC,WAAW3d,EAAc30K,MAElC20K,EAAcvO,eAAiBuO,EAAcvO,cAAcliN,OAAS,EAAG,MAC9CywN,EAAcvO,eADgC,IACzE,IAAK,EAAL,qBAAWmsB,EAA6C,QAClDC,EAA4BC,GAC9BpsO,KACA2+M,EACAutB,EACA5d,EAAc/+D,YAEhB48E,EAAoB7d,EAAc/+D,WAAWpC,UAC3C++E,EAAaruC,OACbsuC,EACApG,GAA2BmG,GAC3BH,GAEGG,EAAazyB,eAChB0yB,EAAoBthO,mBAAmBshO,IAEzCH,EAAW/3C,WAAX,WACMi4C,EAAaruC,OAAOyB,gBAAkBymC,GAA2BmG,GADvE,KAEEC,GAnBqE,+BA7B/E,KAoDQ7d,EAAcxO,iBAAmBwO,EAAcxO,gBAAgBjiN,OAAS,GApDhF,sBAqDmCywN,EAAcxO,iBArDjD,8DAqDiBusB,EArDjB,aA4DoCnrO,KANxBqmN,EAA2B6kB,GAC7BpsO,KACA2+M,EACA0tB,EACA/d,EAAc/+D,cAEiD,OAAxBg4D,EA5DjD,oBA6DUA,EAAsB+G,EAAc/+D,WAAWpC,UAC7Ck/E,EAAexuC,OACf0pB,EACAwe,GAA2BsG,GAC3BN,QAGoC7qO,IAApCmrO,EAAeryB,kBACqB,OAApCqyB,EAAeryB,iBArE3B,oBAuEgBqyB,EAAeryB,mBAAqBlV,GAAsBwnC,MAvE1E,oBAwEiD,IAA/B/kB,EAAoB1pN,OAxEtC,wDA4EgB,IAAW0H,KAASgiN,EACZ7kI,EAAO6kI,EAAoBhiN,GACjCgiN,EAAoBhiN,QACTrE,IAATwhF,GAA+B,OAATA,EAAgB,GAAKA,EAAKrkF,WA/EpE,gCAmFcguO,EAAeryB,mBAAqBlV,GAAsBynC,KAC1DF,EAAeryB,mBAAqBlV,GAAsB0nC,MAE1DjlB,EAAsBA,EAAoB7oN,KAAK2tO,EAAeryB,mBAtF5E,QAyFU,IAAKqyB,EAAe5yB,aAClB,GAAIx7M,MAAMC,QAAQqpN,GAChB,IAAWhiN,KAASgiN,OAEermN,IAA/BqmN,EAAoBhiN,IACW,OAA/BgiN,EAAoBhiN,KAEpBgiN,EAAoBhiN,GAASsF,mBAAmB08M,EAAoBhiN,UAIxEgiN,EAAsB18M,mBAAmB08M,QAIPrmN,IAApCmrO,EAAeryB,kBACqB,OAApCqyB,EAAeryB,kBACfqyB,EAAeryB,mBAAqBlV,GAAsBwnC,OAC1DD,EAAeryB,mBAAqBlV,GAAsBynC,KAC1DF,EAAeryB,mBAAqBlV,GAAsB0nC,MAE1DjlB,EAAsBA,EAAoB7oN,KAAK2tO,EAAeryB,mBAEhEgyB,EAAWlY,kBACTuY,EAAexuC,OAAOyB,gBAAkBymC,GAA2BsG,GACnE9kB,GAlHZ,iJA8HI,GAPA8hB,EAAYr/M,IAAMgiN,EAAW3tO,YAEvBusM,EAAc0jB,EAAc1jB,aAAe5qM,KAAKysO,qBACnCne,EAAc1O,aAC/BypB,EAAYluL,QAAQ/2C,IAAI,eAAgBwmM,GAGtC0jB,EAActO,iBAAkB,MACJsO,EAActO,kBADV,IAClC,IAAK,EAAL,qBAOE,GAPS0sB,EAAmD,aAOxCxrO,KANhBq6N,EAAmB6Q,GACrBpsO,KACA2+M,EACA+tB,EACApe,EAAc/+D,cAEiC,OAAhBgsE,EAS/B,GARAA,EAAcjN,EAAc/+D,WAAWpC,UACrCu/E,EAAgB7uC,OAChB09B,EACAwK,GAA2B2G,GAC3BX,GAEInoC,EAA0B8oC,EAAgB7uC,OAC7C+F,uBAED,IAAK,EAAL,IAAkBtlM,OAAOsH,KAAK21N,GAA9B,eAAW/8N,EAAiC,KAC1C6qO,EAAYluL,QAAQ/2C,IAAIw/L,EAAyBplM,EAAK+8N,EAAY/8N,SAGpE6qO,EAAYluL,QAAQ/2C,IAClBsoO,EAAgB7uC,OAAOyB,gBACrBymC,GAA2B2G,GAC7BnR,GAzB0B,+BAiCpC,GADMrpN,EAA0CysM,EAAmBzsM,QACtD,CACX,GAAIA,EAAQy6N,cACV,IAAWC,KAAoB16N,EAAQy6N,cACrCtD,EAAYluL,QAAQ/2C,IAAIwoO,EAAkB16N,EAAQy6N,cAAcC,IAIhE16N,EAAQmoN,cACVgP,EAAYhP,YAAcnoN,EAAQmoN,aAGhCnoN,EAAQmqD,UACVgtK,EAAYhtK,QAAUnqD,EAAQmqD,SAG5BnqD,EAAQ2qN,mBACVwM,EAAYxM,iBAAmB3qN,EAAQ2qN,kBAGrC3qN,EAAQ4qN,qBACVuM,EAAYvM,mBAAqB5qN,EAAQ4qN,oBAGvC5qN,EAAQkrL,cAETisC,EAAoBjsC,YAAclrL,EAAQkrL,aAGzClrL,EAAQirL,iBACVksC,EAAYlsC,eAAiBjrL,EAAQirL,qBAGLj8L,IAA9BgR,EAAQu8M,mBAAiE,OAA9Bv8M,EAAQu8M,oBACrD4a,EAAY5a,kBAAoBv8M,EAAQu8M,mBAhMhD,OAoMI4a,EAAYhM,gBAAkBr9N,KAAK6pO,iBAEnCgD,GAAqB7sO,KAAMqpO,EAAa1qB,EAAoB2P,QAEdptN,IAA1CmoO,EAAY1Z,4BACd0Z,EAAY1Z,0BAA4BuW,GAA6B5X,IAzM3E,oBA+M0BtuN,KAAKmkN,YAAYklB,GA/M3C,QA+MMyD,EA/MN,0DAiNMC,EAAmB,EAAH,GAjNtB,QAmNQA,GACEA,EAAiBhoF,WACnBgoF,EAAiBC,QAAUC,GACzBF,EAAiBhoF,SACjBupE,EAAc7O,UAAUstB,EAAiB/nB,aACvCsJ,EAAc7O,UAAd,UAGNh9I,EAASriE,QAAQE,OAAOysO,IAExBtqK,EAASriE,QAAQC,QACf4sO,GAAgBH,EAAcxe,EAAc7O,UAAUqtB,EAAanhE,UA9N3E,kDAkOIlpG,EAASriE,QAAQE,OAAR,MAlOb,eAqOQuR,EAAK6nB,IAET+oC,EACG5vC,MAAK,SAACy+C,GAAD,OAASz/D,EAAG,KAAMy/D,EAAIy3J,UAAUja,WAAYx9I,EAAIy3J,UAAUhhK,QAASuJ,EAAIy3J,cAC5Ej2M,OAAM,SAACtyB,GAAD,OAASqR,EAAGrR,MAzOzB,kBA4OSiiE,GA5OT,gFApJF,kEAoYM,SAAUoqK,GACd1C,EACAd,EACA1qB,EACA2P,mBAEMyd,EAAiE,QAA7C,EAA0B,QAA1B,EAAAptB,EAAmBzsM,eAAOgkL,IAAAA,OAAA,EAAAA,EAAE61C,yBAAiB11C,IAAAA,EAAAA,EAAI,GACrE4I,EAA8C,CAClDC,SAAoC,QAA1B,EAAA6sC,EAAkB7sC,gBAAQxG,IAAAA,EAAAA,EAAI,GACxCyG,YAA0C,QAA7B,EAAA4sC,EAAkB5sC,mBAAWh2H,IAAAA,GAAAA,EAC1Ci2H,WAAwC,QAA5B,EAAA2sC,EAAkB3sC,kBAAUt2H,IAAAA,EAAAA,EAAIkqH,IAGxCoM,EAAa2sC,EAAkB3sC,WACrC,GAAIkvB,EAAc1O,aAAe0O,EAAc1O,YAAY/hB,OAAQ,CACjEwrC,EAAYn4N,KAAOk7N,GACjBjC,EACAxrB,EACA2P,EAAc1O,YACd0O,EAAc/+D,YAGhB,IAAMowD,EAAa2O,EAAc1O,YAAY/hB,OACrC2B,EACNmgB,EADMngB,SAAUoD,EAChB+c,EADgB/c,QAASC,EACzB8c,EADyB9c,eAAgBvD,EACzCqgB,EADyCrgB,eAAgBsC,EACzD+d,EADyD/d,aAAcE,EACvE6d,EADuE7d,mBAEnEf,EAAW4e,EAAW/9M,KAAKzB,KAEjC,IACE,QAA0Be,IAArBmoO,EAAYn4N,MAA2C,OAArBm4N,EAAYn4N,MAAkBsuL,EAAU,CAC7E,IAAM0tC,EAAyCnH,GAC7CzX,EAAc1O,aAEhBypB,EAAYn4N,KAAOo9M,EAAc/+D,WAAWpC,UAC1CwyD,EACA0pB,EAAYn4N,KACZg8N,EACAjuC,GAGF,IAAMkuC,EAAWpsC,IAAagE,GAAWohC,OAEzC,GAAI7X,EAAc1wB,MAAO,CACvB,IAAMiE,EAAWC,EAAqB,SAAH,OAAYA,GAAuB,QAChEjiM,EAwEhB,SACE+hM,EACAC,EACAd,EACAY,EACAzvL,GAIA,GAAI0vL,IAAiB,CAAC,YAAa,WAAY,cAAclyL,SAASqxL,GAAW,CAC/E,IAAMt+H,EAAc,GAGpB,OAFAA,EAAOvwD,EAAQktL,YAAcuC,EAC7Bl/H,EAAOswH,IAAP,MAAyB8O,EAAWD,GAC7Bn/H,EAGT,OAAOk/H,EAxFeyrC,CACZxrC,EACAC,EACAd,EACAsoC,EAAYn4N,KACZ+tL,GAEE8B,IAAagE,GAAWgqB,SAC1Bsa,EAAYn4N,KAAO67M,G/FrazB,SACJ30K,EACAg1K,EACAigB,EACAzrC,GAMA,GAJK3jM,MAAMC,QAAQk6C,KACjBA,EAAM,CAACA,KAGJi1L,IAAoBzrC,EACvB,OAAO,MAAGwrB,EAAch1K,GAG1B,IAAMqqB,EAAS,MAAG2qJ,EAAch1K,GAEhC,OADAqqB,EAAOswH,IAAP,MAAyBs6C,EAAkBzrC,GACpCn/H,E+FsZKu+H,CACEnhM,EACAgjM,GAAkBD,GAAWtD,EAC7BuC,EACAD,GAEF,CACE1C,SAAU0D,GAAWtD,EACrBF,WAAAA,IAGM+tC,IACV9D,EAAYn4N,KAAO67M,GAAaltN,EAAO,CACrCq/L,SAAU0D,GAAWtD,EACrBF,WAAAA,SAGC,IACL2B,IAAagE,GAAWtiM,UACE,QAAzB,EAAA6rN,EAAc1jB,mBAAW0iC,IAAAA,OAAA,EAAAA,EAAEp+N,MAAM,gBAA6C,SAA5Bo/M,EAAcrO,WAIjE,OACUktB,IACV9D,EAAYn4N,KAAO2/B,KAAKC,UAAUu4L,EAAYn4N,SAGlD,MAAOxM,GACP,MAAM,IAAIlC,MAAJ,iBACMkC,EAAME,QADZ,mDAC8DisC,KAAKC,UACrEwuJ,OACAp+L,EACA,MAJE,YAQH,GAAIotN,EAAcif,oBAAsBjf,EAAcif,mBAAmB1vO,OAAS,EAAG,CAC1FwrO,EAAYtM,SAAW,GADmE,WAE1DzO,EAAcif,oBAF4C,IAE1F,IAAK,EAAL,qBAAkE,KAAvDC,EAAuD,QAC1DC,EAA8BrB,GAClCjC,EACAxrB,EACA6uB,EACAlf,EAAc/+D,YAEhB,QAA+BruJ,IAA3BusO,GAAmE,OAA3BA,EAAiC,CAC3E,IAAMC,EACJF,EAAkB3vC,OAAOyB,gBAAkBymC,GAA2ByH,GACxEnE,EAAYtM,SAAS2Q,GAAiCpf,EAAc/+D,WAAWpC,UAC7EqgF,EAAkB3vC,OAClB4vC,EACA1H,GAA2ByH,GAC3BvuC,KAhBoF,gCA6C9F,SAAS6rC,GACPjrO,EACA8tO,GAEA,IAAIlrK,EASJ,MARqB,kBAAV5iE,EACT4iE,EAAS5iE,GAET4iE,EAASkrK,IACY,oBAAV9tO,IACT4iE,EAAS5iE,EAAM4iE,KAGZA,EAkKT,SAAS2pK,GACPjC,EACAxrB,EACAqnB,EACAz2E,GAEA,OAAOq+E,GACLzD,EACAxrB,EACAqnB,EAAU3sB,cACV2sB,EAAUnoC,OACVtuC,GAIE,SAAUq+E,GACdzD,EACAxrB,EACAtF,EACAw0B,EACAt+E,SAEI1vJ,EACyB,kBAAlBw5M,IACTA,EAAgB,CAACA,IAEnB,IAAM0yB,EAA8C,QAA1B,EAAAptB,EAAmBzsM,eAAOgkL,IAAAA,OAAA,EAAAA,EAAE61C,kBACtD,GAAI9tO,MAAMC,QAAQm7M,IAChB,GAAIA,EAAcx7M,OAAS,EAAG,CAC5B,GAAIgwO,EAAgBtuC,WAClB1/L,EAAQguO,EAAgBx8N,iBACnB,CACL,IAAIy8N,EAA6CC,GAC/CpvB,EACAtF,GAEGy0B,EAAqBE,gBACxBF,EAAuBC,GAA6B5D,EAAe9wB,IAGrE,IAAI40B,GAAkB,EACjBH,EAAqBE,gBACxBC,EACEJ,EAAgBruC,UACM,YAArB6Z,EAAc,IAA6C,IAAzBA,EAAcx7M,QAErDgC,EAAQouO,EAAkBJ,EAAgBx8N,aAAey8N,EAAqBI,cAIhF,IAAMC,EAA8BlI,GAClC5sB,EACAw0B,GAEFt+E,EAAWpC,UAAU0gF,EAAiBhuO,EAAOsuO,EAAqBpC,SAOpE,IAAK,IAAM3/N,KAJPyhO,EAAgBruC,WAClB3/L,EAAQ,IAGiBw5M,EAAe,CACxC,IAAM5W,EAA0BorC,EAAoCjsO,KAAKygM,gBACvEj2L,GAEIgiO,EAA8B/0B,EAAcjtM,GAC5C8hO,EAAqBN,GACzBzD,EACAxrB,EACAyvB,EACA3rC,EACAlzC,GAGI8+E,EAA6BpI,GACjCmI,EACA3rC,GAEFlzC,EAAWpC,UAAUs1C,EAAgByrC,EAAeG,EAAoBtC,QAClD7qO,IAAlBgtO,GAAiD,OAAlBA,IAC5BruO,IACHA,EAAQ,IAEVA,EAAMuM,GAAgB8hO,GAI5B,OAAOruO,EAQT,SAASkuO,GACP90L,EACAogK,GAIA,IAFA,IAAM52I,EAA+B,CAAEurK,eAAe,GAClDrwO,EAAI,EACDA,EAAI07M,EAAcx7M,SAAUF,EAAG,CACpC,IAAM2wO,EAA4Bj1B,EAAc17M,GAEhD,QAAeuD,IAAX+3C,GAAmC,OAAXA,KAAmBq1L,KAAqBr1L,GAGlE,MAFAA,EAASA,EAAOq1L,GASpB,OAJI3wO,IAAM07M,EAAcx7M,SACtB4kE,EAAOyrK,cAAgBj1L,EACvBwpB,EAAOurK,eAAgB,GAElBvrK,EASH,SAAUwqK,GACdlE,EACAra,GAEA,I/FluB8B7uN,E+FkuBxBqvN,EAAgB6Z,EAAU7Z,cAC1BvP,EAAa+O,GAAgBA,EAAa/O,WAE1C4uB,EAAuB,SAC3Bn2L,GAIA,OAAO95C,OAAO2F,eAAem0C,EAAK,YAAa,CAC7Cv4C,MAAOkpO,KAMX,GAAIppB,EAAY,CACd,IAAM5e,EAAW4e,EAAW/9M,KAAKzB,KACjC,GAAiB,WAAb4gM,EACF,OAAOwtC,EAAqB,OAAD,wBACtBrf,GAAa,CAChBwO,SAAUqL,EAAUrL,SACpB8Q,mBAAoBzF,EAAUyF,sBAIlC,IAAMnsC,EACU,cAAbtB,GAA6B4e,EAA+B/9M,KAAKygM,iBAAoB,GAClFosC,EAAqBnwO,OAAOsH,KAAKy8L,GAAiB/mJ,MACtD,SAAC7rC,GAAD,MAA6C,KAAtC4yL,EAAgB5yL,GAAG6vL,kBAE5B,GAAiB,aAAbyB,GAA2B0tC,EAAoB,CAGjD,IAFA,IAAMC,EAAgB,GAAK3F,EAAUja,YAAc,IAEnD,MAAkBxwN,OAAOsH,KAAKy8L,GAA9B,eAAgD,CAA3C,IAAM7jM,EAAG,KACR6jM,EAAgB7jM,GAAK8gM,iBACvBovC,EAAclwO,GAAOuqO,EAAUja,WAAWtwN,IAI9C,GAAI0wN,EACF,IAAK,IAAL,MAAkB5wN,OAAOsH,KAAKspN,GAA9B,eAA8C,CAAzC,IAAM1wN,EAAG,KACZkwO,EAAclwO,GAAO0wN,EAAc1wN,GAIvC,OADA+vO,EAAqBG,GACdA,EAGT,GAAiB,cAAb3tC,GAAyC,eAAbA,EAC9B,OAAOwtC,EAAqB,OAAD,wBACtBrf,GACA6Z,EAAUja,aAKnB,OACEnP,GAC6B,SAA7BopB,EAAUhhK,QAAQ5F,S/F3xBK,kBADKtiE,E+F6xBNkpO,EAAUja,a/F5xBoB,oBAAVjvN,GAAmC,OAAVA,G+F+xB5D0uO,EAAqB,OAAD,wBACtBrf,GAAa,CAChBh+M,KAAM63N,EAAUja,cAIbyf,EAAqB,OAAD,wBACtBrf,GACA6Z,EAAUja,aCvhCjB,IAGa6f,GAAb,gCAUE,WAAY3kN,EAAa9X,GAAqC,MAC5D,GAD4D,eAChDhR,IAAR8oB,EACF,MAAM,IAAIxnB,MAAM,wBAQlB,GAJK0P,IACHA,EAAU,KAGPA,EAAQghJ,UAAW,CACtB,IAAM07E,EAAmBhwB,KACzB1sM,EAAQghJ,UAAR,UAzBc,qBAyBd,YAxBiB,UAwBjB,YAAwD07E,GAZE,OAe5D,mBAAM1tO,EAAWgR,IAEZu6N,mBAAqB,kCAE1B,EAAKlC,QAAUr4N,EAAQ28N,UAAY,QAGnC,EAAK7kN,IAAMA,EAGX,EAAKsnB,QAAUp/B,EAAQo/B,SAAW,aAzB0B,EAVhE,cAA0CstK,ICWpBkwB,GAAtB,IA8BE,WAAsB9kN,EAAa63M,GAAsB,UAEvD7hO,KAAKgqB,IAAM2oM,GAAc3oM,GACzBhqB,KAAKozN,YAAcO,GAAsB3pM,GACzChqB,KAAK6hO,SAAWA,EAChB7hO,KAAK+uO,qBAAuB,IAAIJ,GAC9B3uO,KAAKgqB,IACL63M,EAASG,0BAGXhiO,KAAKgvO,QAAU1Z,GtC2Qb,SAAuBtrM,GAE3B,OADkB08L,GAAAA,MAAiB18L,GAClB69L,YsC7QOonB,CAAajvO,KAAKgqB,MAAQ,GAAI,SAEpDhqB,KAAKq0L,WAAa,IAAIumC,GAZiC,WAajC56N,KAAK6hO,SAASE,WAbmB,IAavD,IAAK,EAAL,qBAA+C,KAApCmN,EAAoC,QAE1Ct7C,IAAUs7C,aAAmBxM,IAC9BwM,aAAmBtU,GAEnB56N,KAAKq0L,WAAa66C,EACT96C,GAAmB86C,EAAgB76C,cAG5Cr0L,KAAKq0L,WAAc66C,EAAgB76C,aAtBgB,8BA2B1Br0L,KAAK+uO,qBACbtC,wBAAqBvrO,KCzEjC6iN,GAAaxC,GAAmB,CAC3CM,cAAe,qBACf7qB,UAAW,sBAUP,SAAUm4C,GACdj9N,WAEA,MAAO,CAELkrL,YAA6C,QAA/B,EAAO,OAAPlrL,QAAO,IAAPA,OAAO,EAAPA,EAAS8qL,sBAAsB9G,IAAAA,OAAA,EAAAA,EAAEkH,YAC/CD,eAAuC,QAAvB,EAAO,OAAPjrL,QAAO,IAAPA,OAAO,EAAPA,EAAS8qL,sBAAc3G,IAAAA,OAAA,EAAAA,EAAE8G,gBChBtC,ICFKiyC,GDECC,GAAb,kCAoGS,KAAAj3I,MAAgB,EAKhB,KAAAjtF,KAAe,EAKf,KAAAjJ,QAAkB,EAKlB,KAAAwjM,OAAiB,EAKjB,KAAA1mL,QAAkB,EAKlB,KAAAswN,eAAyB,EAKzB,KAAA1/N,KAAe,EAKf,KAAA6iG,MAAgB,EAKhB,KAAA88H,SAAmB,EAKnB,KAAAC,uBAAiC,EAKjC,KAAAC,iBAA2B,EAtJpC,mCA8JS,WACL,IAAM9lC,EAAwB,GAkC9B,OAjCI3pM,KAAKo4F,MACPuxG,EAAY3rM,KAAK,KAEfgC,KAAKmL,KACPw+L,EAAY3rM,KAAK,KAEfgC,KAAKkC,QACPynM,EAAY3rM,KAAK,KAEfgC,KAAK0lM,OACPiE,EAAY3rM,KAAK,KAEfgC,KAAKgf,QACP2qL,EAAY3rM,KAAK,KAEfgC,KAAKsvO,eACP3lC,EAAY3rM,KAAK,KAEfgC,KAAK4P,KACP+5L,EAAY3rM,KAAK,KAEfgC,KAAKyyG,MACPk3F,EAAY3rM,KAAK,KAEfgC,KAAKuvO,SACP5lC,EAAY3rM,KAAK,KAEfgC,KAAKwvO,uBACP7lC,EAAY3rM,KAAK,KAEfgC,KAAKyvO,iBACP9lC,EAAY3rM,KAAK,KAEZ2rM,EAAYjrM,KAAK,OAjM5B,oBAOS,SAAairM,GAClB,IADqC,EAC/B+lC,EAAqB,IAAIL,EADM,KAGlB1lC,GAHkB,IAGrC,IAAK,EAAL,qBAAgC,KAArBh4K,EAAqB,QAC9B,OAAQA,GACN,IAAK,IACH+9M,EAAmBt3I,MAAO,EAC1B,MACF,IAAK,IACHs3I,EAAmBvkO,KAAM,EACzB,MACF,IAAK,IACHukO,EAAmBxtO,QAAS,EAC5B,MACF,IAAK,IACHwtO,EAAmBhqC,OAAQ,EAC3B,MACF,IAAK,IACHgqC,EAAmB1wN,QAAS,EAC5B,MACF,IAAK,IACH0wN,EAAmBJ,eAAgB,EACnC,MACF,IAAK,IACHI,EAAmB9/N,KAAM,EACzB,MACF,IAAK,IACH8/N,EAAmBj9H,MAAO,EAC1B,MACF,IAAK,IACHi9H,EAAmBH,SAAU,EAC7B,MACF,IAAK,IACHG,EAAmBF,uBAAwB,EAC3C,MACF,IAAK,IACHE,EAAmBD,iBAAkB,EACrC,MACF,QACE,MAAM,IAAIprO,WAAJ,8BAAsCstB,MAvCb,8BA2CrC,OAAO+9M,IAlDX,kBA2DS,SAAYC,GACjB,IAAMD,EAAqB,IAAIL,EAkC/B,OAjCIM,EAAev3I,OACjBs3I,EAAmBt3I,MAAO,GAExBu3I,EAAexkO,MACjBukO,EAAmBvkO,KAAM,GAEvBwkO,EAAeztO,SACjBwtO,EAAmBxtO,QAAS,GAE1BytO,EAAejqC,QACjBgqC,EAAmBhqC,OAAQ,GAEzBiqC,EAAe3wN,SACjB0wN,EAAmB1wN,QAAS,GAE1B2wN,EAAeL,gBACjBI,EAAmBJ,eAAgB,GAEjCK,EAAe//N,MACjB8/N,EAAmB9/N,KAAM,GAEvB+/N,EAAel9H,OACjBi9H,EAAmBj9H,MAAO,GAExBk9H,EAAeJ,UACjBG,EAAmBH,SAAU,GAE3BI,EAAeH,wBACjBE,EAAmBF,uBAAwB,GAEzCG,EAAeF,kBACjBC,EAAmBD,iBAAkB,GAEhCC,MA9FX,KEFaE,GAAb,kCAgHS,KAAAx3I,MAAgB,EAKhB,KAAAjtF,KAAe,EAKf,KAAAjJ,QAAkB,EAKlB,KAAAwjM,OAAiB,EAKjB,KAAA1mL,QAAkB,EAKlB,KAAAswN,eAAyB,EAKzB,KAAAnqO,MAAgB,EAKhB,KAAAyK,KAAe,EAKf,KAAA6iG,MAAgB,EAKhB,KAAA88H,SAAmB,EAKnB,KAAAC,uBAAiC,EAKjC,KAAAC,iBAA2B,EAK3B,KAAAI,cAAwB,EA5KjC,mCAsLS,WACL,IAAMlmC,EAAwB,GAwC9B,OAvCI3pM,KAAKo4F,MACPuxG,EAAY3rM,KAAK,KAEfgC,KAAKmL,KACPw+L,EAAY3rM,KAAK,KAEfgC,KAAKkC,QACPynM,EAAY3rM,KAAK,KAEfgC,KAAK0lM,OACPiE,EAAY3rM,KAAK,KAEfgC,KAAKgf,QACP2qL,EAAY3rM,KAAK,KAEfgC,KAAKsvO,eACP3lC,EAAY3rM,KAAK,KAEfgC,KAAKmF,MACPwkM,EAAY3rM,KAAK,KAEfgC,KAAK4P,KACP+5L,EAAY3rM,KAAK,KAEfgC,KAAKyyG,MACPk3F,EAAY3rM,KAAK,KAEfgC,KAAKuvO,SACP5lC,EAAY3rM,KAAK,KAEfgC,KAAKwvO,uBACP7lC,EAAY3rM,KAAK,KAEfgC,KAAKyvO,iBACP9lC,EAAY3rM,KAAK,KAEfgC,KAAK6vO,cACPlmC,EAAY3rM,KAAK,KAEZ2rM,EAAYjrM,KAAK,OA/N5B,oBAOS,SAAairM,GAClB,IADqC,EAC/BmmC,EAA0B,IAAIF,EADC,KAGlBjmC,GAHkB,IAGrC,IAAK,EAAL,qBAAgC,KAArBh4K,EAAqB,QAC9B,OAAQA,GACN,IAAK,IACHm+M,EAAwB13I,MAAO,EAC/B,MACF,IAAK,IACH03I,EAAwB3kO,KAAM,EAC9B,MACF,IAAK,IACH2kO,EAAwB5tO,QAAS,EACjC,MACF,IAAK,IACH4tO,EAAwBpqC,OAAQ,EAChC,MACF,IAAK,IACHoqC,EAAwB9wN,QAAS,EACjC,MACF,IAAK,IACH8wN,EAAwB3qO,MAAO,EAC/B,MACF,IAAK,IACH2qO,EAAwBlgO,KAAM,EAC9B,MACF,IAAK,IACHkgO,EAAwBR,eAAgB,EACxC,MACF,IAAK,IACHQ,EAAwBr9H,MAAO,EAC/B,MACF,IAAK,IACHq9H,EAAwBP,SAAU,EAClC,MACF,IAAK,IACHO,EAAwBN,uBAAwB,EAChD,MACF,IAAK,IACHM,EAAwBL,iBAAkB,EAC1C,MACF,IAAK,IACHK,EAAwBD,cAAe,EACvC,MACF,QACE,MAAM,IAAIxrO,WAAJ,6BAAqCstB,MA7CZ,8BAiDrC,OAAOm+M,IAxDX,kBAiES,SAAYH,GACjB,IAAMG,EAA0B,IAAIF,EAwCpC,OAvCID,EAAev3I,OACjB03I,EAAwB13I,MAAO,GAE7Bu3I,EAAexkO,MACjB2kO,EAAwB3kO,KAAM,GAE5BwkO,EAAeztO,SACjB4tO,EAAwB5tO,QAAS,GAE/BytO,EAAejqC,QACjBoqC,EAAwBpqC,OAAQ,GAE9BiqC,EAAe3wN,SACjB8wN,EAAwB9wN,QAAS,GAE/B2wN,EAAexqO,OACjB2qO,EAAwB3qO,MAAO,GAE7BwqO,EAAeL,gBACjBQ,EAAwBR,eAAgB,GAEtCK,EAAe//N,MACjBkgO,EAAwBlgO,KAAM,GAE5B+/N,EAAel9H,OACjBq9H,EAAwBr9H,MAAO,GAE7Bk9H,EAAeJ,UACjBO,EAAwBP,SAAU,GAEhCI,EAAeH,wBACjBM,EAAwBN,uBAAwB,GAE9CG,EAAeF,kBACjBK,EAAwBL,iBAAkB,GAExCE,EAAeE,eACjBC,EAAwBD,cAAe,GAElCC,MA1GX,KCPaC,GAAb,8BCuBM,SAAUC,GAAgBC,GAC9B,OAAOA,EAAQnjN,IAAR,UAAiBmjN,EAAQpjN,MAAzB,YAAkCojN,EAAQnjN,KAAQmjN,EAAQpjN,OHjBnE,SAAYuiN,GAIVA,EAAAA,MAAAA,QAKAA,EAAAA,aAAAA,aATF,CAAYA,KAAAA,GAAW,KA+GhB,IAAMc,GAAb,WAsNE,WACE5+L,EACA6+L,EACAC,EACA7xF,EACA8xF,EACA5c,EACAlrB,EACAC,EACAynC,EACAtjF,EACA2jF,EACArlC,EACAD,EACAH,EACAC,EACAF,EACA2lC,EACAC,EACAC,EACAxkC,GAAwB,UAExBjsM,KAAKsxC,QAAUA,EACftxC,KAAKmwO,UAAYA,OAEYjvO,IAAzBkvO,GAAsE,kBAAzBA,GAE/CpwO,KAAK2pM,YAAcymC,EAAqBzmC,YACxC3pM,KAAKu+I,SAAW6xF,EAAqB7xF,SACrCv+I,KAAKqwO,cAAgBD,EAAqBC,cAC1CrwO,KAAKyzN,SAAW2c,EAAqB3c,SACrCzzN,KAAKuoM,SAAW6nC,EAAqB7nC,SACrCvoM,KAAKwoM,UAAY4nC,EAAqB5nC,UACtCxoM,KAAK0wO,aAAeN,EAAqBH,QACzCjwO,KAAK2sJ,WAAayjF,EAAqBzjF,WACvC3sJ,KAAKisM,gBAAkBmkC,EAAqBnkC,gBAC5CjsM,KAAKswO,SAAWF,EAAqBE,SACrCtwO,KAAKirM,aAAemlC,EAAqBnlC,aACzCjrM,KAAKgrM,mBAAqBolC,EAAqBplC,mBAC/ChrM,KAAK6qM,gBAAkBulC,EAAqBvlC,gBAC5C7qM,KAAK8qM,gBAAkBslC,EAAqBtlC,gBAC5C9qM,KAAK4qM,YAAcwlC,EAAqBxlC,YAEpCwlC,EAAqBG,oBACvBvwO,KAAK2wO,UAAYP,EAAqBG,kBAAkB7nC,eACxD1oM,KAAK2oM,eAAiBynC,EAAqBG,kBAAkB5nC,eAC7D3oM,KAAK4oM,eAAiBwnC,EAAqBG,kBAAkB3nC,eAC7D5oM,KAAK6oM,gBAAkBunC,EAAqBG,kBAAkB1nC,gBAC9D7oM,KAAK8oM,cAAgBsnC,EAAqBG,kBAAkBznC,cAC5D9oM,KAAK+oM,cAAgBqnC,EAAqBG,kBAAkBxnC,cAE5D/oM,KAAKwwO,2BAA6BJ,EAAqBI,2BACvDxwO,KAAKywO,cAAgBL,EAAqBK,iBAG5CzwO,KAAKu+I,SAAWA,EAChBv+I,KAAKqwO,cAAgBA,EACrBrwO,KAAKwoM,UAAYA,EACjBxoM,KAAK2pM,YAAcymC,EACnBpwO,KAAKyzN,SAAWA,EAChBzzN,KAAKuoM,SAAWA,EAChBvoM,KAAK0wO,aAAeT,EACpBjwO,KAAKisM,gBAAkBA,EACvBjsM,KAAK2sJ,WAAaA,EAClB3sJ,KAAKswO,SAAWA,EAChBtwO,KAAKirM,aAAeA,EACpBjrM,KAAKgrM,mBAAqBA,EAC1BhrM,KAAK6qM,gBAAkBA,EACvB7qM,KAAK8qM,gBAAkBA,EACvB9qM,KAAK4qM,YAAcA,EAEf2lC,IACFvwO,KAAK2wO,UAAYJ,EAAkB7nC,eACnC1oM,KAAK2oM,eAAiB4nC,EAAkB5nC,eACxC3oM,KAAK4oM,eAAiB2nC,EAAkB3nC,eACxC5oM,KAAK6oM,gBAAkB0nC,EAAkB1nC,gBACzC7oM,KAAK8oM,cAAgBynC,EAAkBznC,cACvC9oM,KAAK+oM,cAAgBwnC,EAAkBxnC,cAEvC/oM,KAAKwwO,2BAA6BA,EAClCxwO,KAAKywO,cAAgBA,IAtS7B,gCAoJE,WACE,GAAIzwO,KAAK0wO,aACP,MAAO,CACL5jN,IAAK9sB,KAAK0wO,aAAa5jN,IACvBD,MAAO7sB,KAAK0wO,aAAa7jN,SAxJjC,sBA+SS,WA8BL,IA7BA,IA2BM+jN,EAAoB,GAE1B,MA7ByB,CACvB,KACA,KACA,MACA,MACA,KACA,KACA,MACA,KACA,MACA,QACA,QACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,OACA,OACA,OACA,OACA,OACA,QACA,QAIF,eAA4B,CAAvB,IAAM94N,EAAK,KACd,OAAQA,GACN,IAAK,KACH9X,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAKsxC,SAClD,MACF,IAAK,KACHtxC,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAKu+I,UAClD,MACF,IAAK,MACHv+I,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAKqwO,eAClD,MACF,IAAK,MACHrwO,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAKyzN,UAClD,MACF,IAAK,KACHzzN,KAAK6wO,wBACHD,EACA94N,EACA9X,KAAKuoM,SAAWgsB,GAAqBv0N,KAAKuoM,UAAU,QAASrnM,GAE/D,MACF,IAAK,KACHlB,KAAK6wO,wBACHD,EACA94N,EACA9X,KAAKwoM,UAAY+rB,GAAqBv0N,KAAKwoM,WAAW,QAAStnM,GAEjE,MACF,IAAK,MACHlB,KAAK6wO,wBACHD,EACA94N,EACA9X,KAAKiwO,QAAUD,GAAgBhwO,KAAKiwO,cAAW/uO,GAEjD,MACF,IAAK,KACHlB,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAK2sJ,YAClD,MACF,IAAK,MACH3sJ,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAKisM,iBAClD,MACF,IAAK,QACHjsM,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAK2wO,WAClD,MACF,IAAK,QACH3wO,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAK2oM,gBAClD,MACF,IAAK,MACH3oM,KAAK6wO,wBACHD,EACA94N,EACA9X,KAAK4oM,eAAiB2rB,GAAqBv0N,KAAK4oM,gBAAgB,QAAS1nM,GAE3E,MACF,IAAK,MACHlB,KAAK6wO,wBACHD,EACA94N,EACA9X,KAAK6oM,gBAAkB0rB,GAAqBv0N,KAAK6oM,iBAAiB,QAAS3nM,GAE7E,MACF,IAAK,MACHlB,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAK8oM,eAClD,MACF,IAAK,MACH9oM,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAK+oM,eAClD,MACF,IAAK,KACH/oM,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAKswO,UAClD,MACF,IAAK,KACHtwO,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAK2pM,aAClD,MACF,IAAK,MACH3pM,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAKmwO,WAClD,MACF,IAAK,OACHnwO,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAKirM,cAClD,MACF,IAAK,OACHjrM,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAKgrM,oBAClD,MACF,IAAK,OACHhrM,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAK6qM,iBAClD,MACF,IAAK,OACH7qM,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAK8qM,iBAClD,MACF,IAAK,OACH9qM,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAK4qM,aAClD,MACF,IAAK,QACH5qM,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAKwwO,4BAClD,MACF,IAAK,OACHxwO,KAAK6wO,wBAAwBD,EAAS94N,EAAO9X,KAAKywO,gBAIxD,OAAOG,EAAQlyO,KAAK,OAhbxB,qCA0bU,SAAwBkyO,EAAmBpyO,EAAaqB,GACzDA,IAILrB,EAAMqM,mBAAmBrM,GACzBqB,EAAQgL,mBAAmBhL,GACvBrB,EAAIX,OAAS,GAAKgC,EAAMhC,OAAS,GACnC+yO,EAAQ5yO,KAAR,UAAgBQ,EAAhB,YAAuBqB,SAlc7B,KI6HM,SAAUixO,GACdC,EACAC,EACA5d,GAEA,IAMI6d,EANE3/L,EAAUy/L,EAAuBz/L,QAAUy/L,EAAuBz/L,QAAU4/K,GAE5EggB,EACJF,aAAkDtO,GAC9CsO,OACA9vO,EAUN,QAP4BA,IAAxBgwO,QAAqDhwO,IAAhBkyN,IACvC6d,EAA8B,IAAIlB,GAChC3c,EACA4d,SAIwB9vO,IAAxBgwO,QAAqEhwO,IAAhC+vO,EACvC,MAAMzvO,UAAU,kEAIlB,GAAI8vC,GAAW,aACb,YAA4BpwC,IAAxBgwO,EAwQR,SACEH,EACAG,GAIA,KAFAH,EAAyBI,GAAyCJ,IAGxCpkF,cACtBokF,EAAuBpnC,aAAeonC,EAAuBvoC,WAE/D,MAAM,IAAInkM,WACR,yGAIJ,IAaI+sO,EAbAd,EAAmB,IACnBe,EAAYN,EAAuBO,aACnCP,EAAuBhY,WACzBuX,EAAW,IACPS,EAAuBO,aACzBhB,EAAW,KACFS,EAAuB9mC,YAChCqmC,EAAW,KACXe,EAAYN,EAAuB9mC,YAMnC8mC,EAAuBpnC,cAEvBynC,EADEL,EAAuBhY,SACHsW,GAAmB7gK,MACvCuiK,EAAuBpnC,YAAYtrM,YACnCA,WAEoBuxO,GAAwBphK,MAC5CuiK,EAAuBpnC,YAAYtrM,YACnCA,YAKN,IAAMkzO,EAAe,CACnBH,GAA4C,GAC5CL,EAAuBxoC,SACnBgsB,GAAqBwc,EAAuBxoC,UAAU,GACtD,GACJwoC,EAAuBvoC,UACnB+rB,GAAqBwc,EAAuBvoC,WAAW,GACvD,GACJgpC,GACEN,EAAoB9d,YACpB2d,EAAuB3nC,cACvB2nC,EAAuBhY,UAEzBgY,EAAuBpkF,WACvBokF,EAAuBd,QAAUD,GAAgBe,EAAuBd,SAAW,GACnFc,EAAuBtd,SAAWsd,EAAuBtd,SAAW,GACpEsd,EAAuBz/L,QACvBg/L,EACAe,EACAN,EAAuB9kC,gBACvB8kC,EAAuB9lC,aAAe8lC,EAAuB9lC,aAAe,GAC5E8lC,EAAuB/lC,mBAAqB+lC,EAAuB/lC,mBAAqB,GACxF+lC,EAAuBlmC,gBAAkBkmC,EAAuBlmC,gBAAkB,GAClFkmC,EAAuBjmC,gBAAkBimC,EAAuBjmC,gBAAkB,GAClFimC,EAAuBnmC,YAAcmmC,EAAuBnmC,YAAc,IAC1ElsM,KAAK,MAEDyxO,EAAYe,EAAoBO,kBAAkBF,GAExD,OAAO,IAAIrB,GACTa,EAAuBz/L,QACvB6+L,EACAiB,OACAlwO,OACAA,EACA6vO,EAAuBtd,SACvBsd,EAAuBxoC,SACvBwoC,EAAuBvoC,UACvBuoC,EAAuBd,QACvBc,EAAuBpkF,WACvB2jF,EACAS,EAAuB9lC,aACvB8lC,EAAuB/lC,mBACvB+lC,EAAuBlmC,gBACvBkmC,EAAuBjmC,gBACvBimC,EAAuBnmC,iBACvB1pM,OACAA,OACAA,EACA6vO,EAAuB9kC,iBAlWdylC,CAAuCX,EAAwBG,GAulB5E,SACEH,EACAE,GAKA,KAHAF,EAAyBI,GAAyCJ,IAGtCpnC,cAAgBonC,EAAuBvoC,UACjE,MAAM,IAAInkM,WACR,2GAIJ,IAaI+sO,EAbAd,EAAmB,IACnBe,EAAYN,EAAuBO,aACnCP,EAAuBhY,WACzBuX,EAAW,IACPS,EAAuBO,aACzBhB,EAAW,KACFS,EAAuB9mC,YAChCqmC,EAAW,KACXe,EAAYN,EAAuB9mC,YAMnC8mC,EAAuBpnC,cAEvBynC,EADEL,EAAuBhY,SACHsW,GAAmB7gK,MACvCuiK,EAAuBpnC,YAAYtrM,YACnCA,WAEoBuxO,GAAwBphK,MAC5CuiK,EAAuBpnC,YAAYtrM,YACnCA,YAKN,IAAMkzO,EAAe,CACnBH,GAA4C,GAC5CL,EAAuBxoC,SACnBgsB,GAAqBwc,EAAuBxoC,UAAU,GACtD,GACJwoC,EAAuBvoC,UACnB+rB,GAAqBwc,EAAuBvoC,WAAW,GACvD,GACJgpC,GACEP,EAA4B7d,YAC5B2d,EAAuB3nC,cACvB2nC,EAAuBhY,UAEzBkY,EAA4BV,kBAAkB7nC,eAC9CuoC,EAA4BV,kBAAkB5nC,eAC9CsoC,EAA4BV,kBAAkB3nC,eAC1C2rB,GAAqB0c,EAA4BV,kBAAkB3nC,gBAAgB,GACnF,GACJqoC,EAA4BV,kBAAkB1nC,gBAC1C0rB,GAAqB0c,EAA4BV,kBAAkB1nC,iBAAiB,GACpF,GACJooC,EAA4BV,kBAAkBznC,cAC9CmoC,EAA4BV,kBAAkBxnC,cAC9CgoC,EAAuBP,gCACvBtvO,EACA6vO,EAAuBN,cACvBM,EAAuBd,QAAUD,GAAgBe,EAAuBd,SAAW,GACnFc,EAAuBtd,SAAWsd,EAAuBtd,SAAW,GACpEsd,EAAuBz/L,QACvBg/L,EACAe,EACAN,EAAuB9kC,gBACvB8kC,EAAuB9lC,aACvB8lC,EAAuB/lC,mBACvB+lC,EAAuBlmC,gBACvBkmC,EAAuBjmC,gBACvBimC,EAAuBnmC,aACvBlsM,KAAK,MAEDyxO,EAAYc,EAA4BQ,kBAAkBF,GAChE,OAAO,IAAIrB,GACTa,EAAuBz/L,QACvB6+L,EACAiB,OACAlwO,OACAA,EACA6vO,EAAuBtd,SACvBsd,EAAuBxoC,SACvBwoC,EAAuBvoC,UACvBuoC,EAAuBd,QACvBc,EAAuBpkF,WACvB2jF,EACAS,EAAuB9lC,aACvB8lC,EAAuB/lC,mBACvB+lC,EAAuBlmC,gBACvBkmC,EAAuBjmC,gBACvBimC,EAAuBnmC,YACvBqmC,EAA4BV,kBAC5BQ,EAAuBP,2BACvBO,EAAuBN,cACvBM,EAAuB9kC,iBAzrBd0lC,CACLZ,EACAE,GAQN,GAAI3/L,GAAW,aACb,YAA4BpwC,IAAxBgwO,EAgJR,SACEH,EACAG,GAIA,KAFAH,EAAyBI,GAAyCJ,IAGxCpkF,cACtBokF,EAAuBpnC,aAAeonC,EAAuBvoC,WAE/D,MAAM,IAAInkM,WACR,yGAIJ,IAaI+sO,EAbAd,EAAmB,IACnBe,EAAYN,EAAuBO,aACnCP,EAAuBhY,WACzBuX,EAAW,IACPS,EAAuBO,aACzBhB,EAAW,KACFS,EAAuB9mC,YAChCqmC,EAAW,KACXe,EAAYN,EAAuB9mC,YAMnC8mC,EAAuBpnC,cAEvBynC,EADEL,EAAuBhY,SACHsW,GAAmB7gK,MACvCuiK,EAAuBpnC,YAAYtrM,YACnCA,WAEoBuxO,GAAwBphK,MAC5CuiK,EAAuBpnC,YAAYtrM,YACnCA,YAKN,IAAMkzO,EAAe,CACnBH,GAA4C,GAC5CL,EAAuBxoC,SACnBgsB,GAAqBwc,EAAuBxoC,UAAU,GACtD,GACJwoC,EAAuBvoC,UACnB+rB,GAAqBwc,EAAuBvoC,WAAW,GACvD,GACJgpC,GACEN,EAAoB9d,YACpB2d,EAAuB3nC,cACvB2nC,EAAuBhY,UAEzBgY,EAAuBpkF,WACvBokF,EAAuBd,QAAUD,GAAgBe,EAAuBd,SAAW,GACnFc,EAAuBtd,SAAWsd,EAAuBtd,SAAW,GACpEsd,EAAuBz/L,QACvBg/L,EACAe,EACAN,EAAuB9lC,aAAe8lC,EAAuB9lC,aAAe,GAC5E8lC,EAAuB/lC,mBAAqB+lC,EAAuB/lC,mBAAqB,GACxF+lC,EAAuBlmC,gBAAkBkmC,EAAuBlmC,gBAAkB,GAClFkmC,EAAuBjmC,gBAAkBimC,EAAuBjmC,gBAAkB,GAClFimC,EAAuBnmC,YAAcmmC,EAAuBnmC,YAAc,IAC1ElsM,KAAK,MAEDyxO,EAAYe,EAAoBO,kBAAkBF,GAExD,OAAO,IAAIrB,GACTa,EAAuBz/L,QACvB6+L,EACAiB,OACAlwO,OACAA,EACA6vO,EAAuBtd,SACvBsd,EAAuBxoC,SACvBwoC,EAAuBvoC,UACvBuoC,EAAuBd,QACvBc,EAAuBpkF,WACvB2jF,EACAS,EAAuB9lC,aACvB8lC,EAAuB/lC,mBACvB+lC,EAAuBlmC,gBACvBkmC,EAAuBjmC,gBACvBimC,EAAuBnmC,aArOdgnC,CAAuCb,EAAwBG,GAGlE5/L,GAAW,aAkdrB,SACEy/L,EACAE,GAKA,KAHAF,EAAyBI,GAAyCJ,IAGtCpnC,cAAgBonC,EAAuBvoC,UACjE,MAAM,IAAInkM,WACR,2GAIJ,IAaI+sO,EAbAd,EAAmB,IACnBe,EAAYN,EAAuBO,aACnCP,EAAuBhY,WACzBuX,EAAW,IACPS,EAAuBO,aACzBhB,EAAW,KACFS,EAAuB9mC,YAChCqmC,EAAW,KACXe,EAAYN,EAAuB9mC,YAMnC8mC,EAAuBpnC,cAEvBynC,EADEL,EAAuBhY,SACHsW,GAAmB7gK,MACvCuiK,EAAuBpnC,YAAYtrM,YACnCA,WAEoBuxO,GAAwBphK,MAC5CuiK,EAAuBpnC,YAAYtrM,YACnCA,YAKN,IAAMkzO,EAAe,CACnBH,GAA4C,GAC5CL,EAAuBxoC,SACnBgsB,GAAqBwc,EAAuBxoC,UAAU,GACtD,GACJwoC,EAAuBvoC,UACnB+rB,GAAqBwc,EAAuBvoC,WAAW,GACvD,GACJgpC,GACEP,EAA4B7d,YAC5B2d,EAAuB3nC,cACvB2nC,EAAuBhY,UAEzBkY,EAA4BV,kBAAkB7nC,eAC9CuoC,EAA4BV,kBAAkB5nC,eAC9CsoC,EAA4BV,kBAAkB3nC,eAC1C2rB,GAAqB0c,EAA4BV,kBAAkB3nC,gBAAgB,GACnF,GACJqoC,EAA4BV,kBAAkB1nC,gBAC1C0rB,GAAqB0c,EAA4BV,kBAAkB1nC,iBAAiB,GACpF,GACJooC,EAA4BV,kBAAkBznC,cAC9CmoC,EAA4BV,kBAAkBxnC,cAC9CgoC,EAAuBP,gCACvBtvO,EACA6vO,EAAuBN,cACvBM,EAAuBd,QAAUD,GAAgBe,EAAuBd,SAAW,GACnFc,EAAuBtd,SAAWsd,EAAuBtd,SAAW,GACpEsd,EAAuBz/L,QACvBg/L,EACAe,EACAN,EAAuB9lC,aACvB8lC,EAAuB/lC,mBACvB+lC,EAAuBlmC,gBACvBkmC,EAAuBjmC,gBACvBimC,EAAuBnmC,aACvBlsM,KAAK,MAEDyxO,EAAYc,EAA4BQ,kBAAkBF,GAChE,OAAO,IAAIrB,GACTa,EAAuBz/L,QACvB6+L,EACAiB,OACAlwO,OACAA,EACA6vO,EAAuBtd,SACvBsd,EAAuBxoC,SACvBwoC,EAAuBvoC,UACvBuoC,EAAuBd,QACvBc,EAAuBpkF,WACvB2jF,EACAS,EAAuB9lC,aACvB8lC,EAAuB/lC,mBACvB+lC,EAAuBlmC,gBACvBkmC,EAAuBjmC,gBACvBimC,EAAuBnmC,YACvBqmC,EAA4BV,kBAC5BQ,EAAuBP,2BACvBO,EAAuBN,eAnjBZoB,CACLd,EACAE,GAgWV,SACEF,EACAE,GAKA,KAHAF,EAAyBI,GAAyCJ,IAGtCpnC,cAAgBonC,EAAuBvoC,UACjE,MAAM,IAAInkM,WACR,2GAIJ,IAaI+sO,EAbAd,EAAmB,IACnBe,EAAYN,EAAuBO,aACnCP,EAAuBhY,WACzBuX,EAAW,IACPS,EAAuBO,aACzBhB,EAAW,KACFS,EAAuB9mC,YAChCqmC,EAAW,KACXe,EAAYN,EAAuB9mC,YAMnC8mC,EAAuBpnC,cAEvBynC,EADEL,EAAuBhY,SACHsW,GAAmB7gK,MACvCuiK,EAAuBpnC,YAAYtrM,YACnCA,WAEoBuxO,GAAwBphK,MAC5CuiK,EAAuBpnC,YAAYtrM,YACnCA,YAKN,IAAMkzO,EAAe,CACnBH,GAA4C,GAC5CL,EAAuBxoC,SACnBgsB,GAAqBwc,EAAuBxoC,UAAU,GACtD,GACJwoC,EAAuBvoC,UACnB+rB,GAAqBwc,EAAuBvoC,WAAW,GACvD,GACJgpC,GACEP,EAA4B7d,YAC5B2d,EAAuB3nC,cACvB2nC,EAAuBhY,UAEzBkY,EAA4BV,kBAAkB7nC,eAC9CuoC,EAA4BV,kBAAkB5nC,eAC9CsoC,EAA4BV,kBAAkB3nC,eAC1C2rB,GAAqB0c,EAA4BV,kBAAkB3nC,gBAAgB,GACnF,GACJqoC,EAA4BV,kBAAkB1nC,gBAC1C0rB,GAAqB0c,EAA4BV,kBAAkB1nC,iBAAiB,GACpF,GACJooC,EAA4BV,kBAAkBznC,cAC9CmoC,EAA4BV,kBAAkBxnC,cAC9CgoC,EAAuBd,QAAUD,GAAgBe,EAAuBd,SAAW,GACnFc,EAAuBtd,SAAWsd,EAAuBtd,SAAW,GACpEsd,EAAuBz/L,QACvBg/L,EACAe,EACAN,EAAuB9lC,aACvB8lC,EAAuB/lC,mBACvB+lC,EAAuBlmC,gBACvBkmC,EAAuBjmC,gBACvBimC,EAAuBnmC,aACvBlsM,KAAK,MAEDyxO,EAAYc,EAA4BQ,kBAAkBF,GAChE,OAAO,IAAIrB,GACTa,EAAuBz/L,QACvB6+L,EACAiB,OACAlwO,OACAA,EACA6vO,EAAuBtd,SACvBsd,EAAuBxoC,SACvBwoC,EAAuBvoC,UACvBuoC,EAAuBd,QACvBc,EAAuBpkF,WACvB2jF,EACAS,EAAuB9lC,aACvB8lC,EAAuB/lC,mBACvB+lC,EAAuBlmC,gBACvBkmC,EAAuBjmC,gBACvBimC,EAAuBnmC,YACvBqmC,EAA4BV,mBA1bjBuB,CACLf,EACAE,GAMR,GAAI3/L,GAAW,aAAc,CAC3B,QAA4BpwC,IAAxBgwO,EACF,OA2BN,SACEH,EACAG,GAIA,KAFAH,EAAyBI,GAAyCJ,IAGxCpkF,cACtBokF,EAAuBpnC,aAAeonC,EAAuBvoC,WAE/D,MAAM,IAAInkM,WACR,yGAIJ,IAMI+sO,EANAd,EAAmB,IACnBS,EAAuBhY,WACzBuX,EAAW,KAKTS,EAAuBpnC,cAEvBynC,EADEL,EAAuBhY,SACHsW,GAAmB7gK,MACvCuiK,EAAuBpnC,YAAYtrM,YACnCA,WAEoBuxO,GAAwBphK,MAC5CuiK,EAAuBpnC,YAAYtrM,YACnCA,YAKN,IAAMkzO,EAAe,CACnBH,GAA4C,GAC5CL,EAAuBxoC,SACnBgsB,GAAqBwc,EAAuBxoC,UAAU,GACtD,GACJwoC,EAAuBvoC,UACnB+rB,GAAqBwc,EAAuBvoC,WAAW,GACvD,GACJgpC,GACEN,EAAoB9d,YACpB2d,EAAuB3nC,cACvB2nC,EAAuBhY,UAEzBgY,EAAuBpkF,WACvBokF,EAAuBd,QAAUD,GAAgBe,EAAuBd,SAAW,GACnFc,EAAuBtd,SAAWsd,EAAuBtd,SAAW,GACpEsd,EAAuBz/L,QACvBy/L,EAAuB9lC,aAAe8lC,EAAuB9lC,aAAe,GAC5E8lC,EAAuB/lC,mBAAqB+lC,EAAuB/lC,mBAAqB,GACxF+lC,EAAuBlmC,gBAAkBkmC,EAAuBlmC,gBAAkB,GAClFkmC,EAAuBjmC,gBAAkBimC,EAAuBjmC,gBAAkB,GAClFimC,EAAuBnmC,YAAcmmC,EAAuBnmC,YAAc,IAC1ElsM,KAAK,MAEDyxO,EAAYe,EAAoBO,kBAAkBF,GAExD,OAAO,IAAIrB,GACTa,EAAuBz/L,QACvB6+L,EACAiB,OACAlwO,OACAA,EACA6vO,EAAuBtd,SACvBsd,EAAuBxoC,SACvBwoC,EAAuBvoC,UACvBuoC,EAAuBd,QACvBc,EAAuBpkF,WACvB2jF,EACAS,EAAuB9lC,aACvB8lC,EAAuB/lC,mBACvB+lC,EAAuBlmC,gBACvBkmC,EAAuBjmC,gBACvBimC,EAAuBnmC,aAxGdmnC,CAAuChB,EAAwBG,GAEtE,MAAM,IAAI7sO,WACR,oGAKN,MAAM,IAAIA,WAAW,sCAspBvB,SAASmtO,GAAiBpe,EAAqBhqB,EAAuB2vB,GAGpE,IAAM1rI,EAAqB,CAAC,SAAD,OAAU+lI,EAAV,YAAyBhqB,IAIpD,OAHI2vB,GACF1rI,EAASrvF,KAAT,WAAkB+6N,IAEb1rI,EAAS3uF,KAAK,IAGvB,SAASyyO,GACPJ,GAEA,IAAMz/L,EAAUy/L,EAAuBz/L,QAAUy/L,EAAuBz/L,QAAU4/K,GAClF,GAAI6f,EAAuBO,cAAgBhgM,EAAU,aACnD,MAAMjtC,WAAW,oEAEnB,QAAwCnD,IAApC6vO,EAAuBhY,UAA0BgY,EAAuBO,aAC1E,MAAMjtO,WAAW,0DAGnB,GAAI0sO,EAAuB9mC,WAAa34J,EAAU,aAChD,MAAMjtC,WAAW,iEAEnB,QAAwCnD,IAApC6vO,EAAuBhY,UAA0BgY,EAAuB9mC,UAC1E,MAAM5lM,WAAW,uDAGnB,GACE0sO,EAAuBpnC,aACvBonC,EAAuBpnC,YAAY6lC,uBACnCl+L,EAAU,aAEV,MAAMjtC,WAAW,mEAGnB,GACE0sO,EAAuBpnC,aACvBonC,EAAuBpnC,YAAY2lC,eACnCh+L,EAAU,aAEV,MAAMjtC,WAAW,oEAGnB,GACE0sO,EAAuBpnC,aACvBonC,EAAuBpnC,YAAY8lC,iBACnCn+L,EAAU,aAEV,MAAMjtC,WAAW,oEAGnB,GACE0sO,EAAuBpnC,aACvBonC,EAAuBpnC,YAAY/5L,KACnC0hC,EAAU,aAEV,MAAMjtC,WAAW,oEAGnB,GACEitC,EAAU,cACVy/L,EAAuBpnC,cACtBonC,EAAuBpnC,YAAYl3F,MAAQs+H,EAAuBpnC,YAAY4lC,SAE/E,MAAMlrO,WAAW,+EAGnB,GACEitC,EAAU,cACVy/L,EAAuBpnC,aACtBonC,EAAuBpnC,YAAwCkmC,aAEhE,MAAMxrO,WAAW,wEAGnB,GACEitC,EAAU,eACTy/L,EAAuBP,4BAA8BO,EAAuBN,eAE7E,MAAMpsO,WACJ,qGAIJ,GAAI0sO,EAAuB9kC,iBAAmB36J,EAAU,aACtD,MAAMjtC,WAAW,6EAInB,OADA0sO,EAAuBz/L,QAAUA,EAC1By/L,ECz+BF,IC0CKiB,GAqBAC,GA+LAC,GD9PChxC,GAAb,WAOE,WAAYwd,GAA4B,UACtC1+M,KAAK0+M,OAASA,EARlB,mCAgBE,SACExsM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAwzB,MAxBN,2BAiCE,SACEjgO,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAI,MAzCN,oBA4DE,SAAO7sM,GACL,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAwB,MAlEN,sBA0EE,SACEjuM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAyzB,MAlFN,uBA2FE,SACEC,EACAngO,GAEA,IAAMysM,EAAkD,CACtD0zB,cAAAA,EACAngO,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA2zB,MArGN,4BA6GE,SACEpgO,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA4zB,MArHN,mCA6HE,SACErgO,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA6zB,MArIN,sCA6IE,SACEtgO,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA8zB,MArJN,0BA8JE,SACEhmC,EACAv6L,GAEA,IAAMysM,EAAkD,CACtDlS,UAAAA,EACAv6L,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA+zB,MAxKN,yBAiLE,SACExgO,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAyB,MAzLN,0BAkME,SACEluM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA+B,MA1MN,0BAoNE,SACE7O,EACA3/L,GAEA,IAAMysM,EAAkD,CACtD9M,QAAAA,EACA3/L,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAgC,MA9NN,wBAwOE,SACE9O,EACA3/L,GAEA,IAAMysM,EAAkD,CACtD9M,QAAAA,EACA3/L,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAiC,MAlPN,yBA+PE,SACE/O,EACAmJ,EACA9oM,GAEA,IAAMysM,EAAkD,CACtD9M,QAAAA,EACAmJ,gBAAAA,EACA9oM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAmC,MA3QN,wBAoRE,SACE5uM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAkC,MA5RN,4BAoSE,SACE3uM,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAg0B,MA5SN,8BAwTE,SACErnC,EACAp5L,GAEA,IAAMysM,EAAkD,CACtDrT,WAAAA,EACAp5L,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAi0B,MAlUN,yBA+UE,SACEtnC,EACAp5L,GAEA,IAAMysM,EAAkD,CACtDrT,WAAAA,EACAp5L,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAk0B,MAzVN,8BAoWE,SACEznC,EACAl5L,GAEA,IAAMysM,EAAkD,CACtDvT,OAAAA,EACAl5L,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAm0B,MA9WN,qBA2XE,SACE12B,EACAlqM,GAEA,IAAMysM,EAAkD,CACtDvC,KAAAA,EACAlqM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAo0B,MArYN,4BA6YE,SACE7gO,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAQ,MArZN,mBA8ZE,SAAMjtM,GACJ,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAq0B,MApaN,qBA4aE,SAAQ9gO,GACN,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAs0B,MAlbN,qBA0bE,SAAQ/gO,GACN,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAu0B,QAhcN,KAqcM5zB,GAAgB,IAAIV,GAAoBW,GAAqB,GAE7D4yB,GAAgD,CACpDx4L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHE,WAAY,CACV/9M,KAAM,CAAEzB,KAAM,UACdm/L,eAAgB,kBAElBogB,cAAeH,IAEjB,IAAK,CACHI,WAAY,CACV/9M,KAAM,CAAEzB,KAAM,UACdm/L,eAAgB,kBAElBogB,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GzEgLkD,CACpDxG,cAAe,CAAC,UAAW,sBAC3Bxb,OAAQ,CACNyB,eAAgB,6BAChBsD,QAAS,6BACThhM,KAAM,CACJzB,KAAM,aAK4C,CACtDk5M,cAAe,CAAC,UAAW,wBAC3Bxb,OAAQ,CACNyB,eAAgB,+BAChBsD,QAAS,+BACThhM,KAAM,CACJzB,KAAM,ayE9LR0/M,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERP,GAAqD,CACzDplK,KAAM,0BACN6lK,WAAY,OACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERa,GAA8C,CAClDxmK,KAAM,0BACN6lK,WAAY,SACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,GzEqNmD,CACrDxG,cAAe,CAAC,UAAW,kBAC3Bxb,OAAQ,CACNyB,eAAgB,aAChBsD,QAAS,aACThhM,KAAM,CACJzB,KAAM,ayExNV4/M,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GzE4L+C,CACjDxG,cAAe,CAAC,UAAW,mBAC3Bxb,OAAQ,CACNyB,eAAgB,wBAChBsD,QAAS,wBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CAAC,UAAW,YyEhM/BjC,OAAO,EACPruC,WAAY+vD,IAER8yB,GAAgD,CACpDz4L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERgzB,GAAiD,CACrD34L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GzE2K2B,CAC7CxG,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,SACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,ayEjLV4/M,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GzEkL6C,CAC/CxG,cAAe,gBACfxb,OAAQ,CACNyB,eAAgB,qBAChBE,UAAU,EACVoD,QAAS,qBACThhM,KAAM,CACJzB,KAAM,YAKiC,CAC3Ck5M,cAAe,CAAC,UAAW,aAC3Bxb,OAAQ,CACNyB,eAAgB,mBAChBsD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,ayEhMVy9L,OAAO,EACPruC,WAAY+vD,IAERizB,GAAsD,CAC1D54L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAAiBA,IACnCE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERkzB,GAA6D,CACjE74L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERmzB,GAAgE,CACpE94L,KAAM,0BACN6lK,WAAY,SACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERozB,GAAoD,CACxD/4L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GzE0M2B,CAC7CxG,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,YACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,ayEhNV4/M,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GzEiNyC,CAC3CxG,cAAe,YACfxb,OAAQ,CACNyB,eAAgB,kBAChBE,UAAU,EACVoD,QAAS,kBACThhM,KAAM,CACJzB,KAAM,cyErNVy9L,OAAO,EACPruC,WAAY+vD,IAERc,GAAmD,CACvDzmK,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERoB,GAAoD,CACxD/mK,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERqB,GAAoD,CACxDhnK,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERsB,GAAkD,CACtDjnK,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERwB,GAAmD,CACvDnnK,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERuB,GAAkD,CACtDlnK,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERqzB,GAAsD,CAC1Dh5L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GzEkC2B,CAC7CxG,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,WACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,ayExCV4/M,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERszB,GAAwD,CAC5Dj5L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,IAClBE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GzEuHwC,CAC1CxG,cAAe,CAAC,UAAW,YAC3Bxb,OAAQ,CACNyB,eAAgB,iBAChBsD,QAAS,iBACThhM,KAAM,CACJzB,KAAM,ayE3HR0/M,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERuzB,GAAmD,CACvDl5L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,IAClBE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GzEmG+C,CACjDxG,cAAe,kBACfxb,OAAQ,CACNxsL,aAAc,OACdkuL,YAAY,EACZD,eAAgB,qBAChB19L,KAAM,CACJzB,KAAM,YyExGR0/M,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERwzB,GAAwD,CAC5Dn5L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GzE2H2C,CAC7CxG,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,OACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,YAiBmC,CAC7Ck5M,cAAe,SACfxb,OAAQ,CACNyB,eAAgB,SAChBE,UAAU,EACVoD,QAAS,SACThhM,KAAM,CACJzB,KAAM,ayEtJV4/M,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GzE8HuD,CACzDxG,cAAe,0BACfxb,OAAQ,CACNxsL,aAAc,QACdkuL,YAAY,EACZD,eAAgB,mBAChB19L,KAAM,CACJzB,KAAM,ayElIVy9L,OAAO,EACPruC,WAAY+vD,IAERyzB,GAA+C,CACnDp5L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB,IAAK,CACHG,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,GzE8H2C,CAC7CxG,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,OACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,ayElIV4/M,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GzEgIqC,CACvCxG,cAAe,OACfxb,OAAQ,CACNyB,eAAgB,mBAChBE,UAAU,EACVoD,QAAS,mBACThhM,KAAM,CACJzB,KAAM,OACN0/L,cAAe,CACb,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,eyEnJNjC,OAAO,EACPruC,WAAY+vD,IAERH,GAAsD,CAC1DxlK,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAAiBA,IACnCE,cAAe,CAACF,IAChBG,iBAAkB,CAACH,GAAoBA,IACvCjiB,OAAO,EACPruC,WAAY+vD,IAER0zB,GAA6C,CACjDr5L,KAAM,0BACN6lK,WAAY,OACZC,UAAW,CACT,IAAK,CACHE,WAAY,CACV/9M,KAAM,CAAEzB,KAAM,UACdm/L,eAAgB,kBAElBogB,cAAeH,IAEjB,IAAK,CACHI,WAAY,CACV/9M,KAAM,CAAEzB,KAAM,UACdm/L,eAAgB,kBAElBogB,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBK,YAAaC,GACbC,gBAAiB,CACfD,GACAA,GzE+G2C,CAC7CxG,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,QACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,ayEnHV4/M,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPgN,YAAa,iCACbqV,UAAW,MACX1wD,WAAY+vD,IAER2zB,GAA+C,CACnDt5L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHE,WAAYJ,GACZG,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAER4zB,GAA+C,CACnDv5L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBK,YAAaC,GACbC,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPgN,YAAa,iCACbqV,UAAW,MACX1wD,WAAY+vD,IE5pCD6zB,GAAb,WA6BE,WAAYz0B,EAAsC7M,GAAgB,UAChE,IAAMuhC,EAAgB,IAAIzE,GACxBjwB,EAAO10L,IACN00L,EAAemjB,SAASG,0BAE3BhiO,KAAKqzO,KAAO30B,EAAO10L,SAEiB9oB,IAA/Bw9M,EAAsBv+M,MACzBH,KAAKszO,cAAe,EACpBtzO,KAAKuzO,0BAA4B,IAAIjiE,GAAU8hE,KAE/CpzO,KAAKszO,cAAe,EACpBtzO,KAAKuzO,0BAA4B,IAAIC,GAAYJ,IAG9CvhC,IACHA,EAAU/d,MAEZ9zL,KAAKyzO,SAAW5hC,EA/CpB,gCAWE,WACE,OAAO7xM,KAAKyzO,WAZhB,eAoBE,WACE,OAAOzzO,KAAKqzO,OArBhB,yDA8DS,WACL/jJ,GADK,yGAELp9E,EAFK,+BAE4B,GAF5B,EAI4B6xM,GAAW,+BAAgC7xM,GAApE4qI,EAJH,EAIGA,KAAMmiD,EAJT,EAISA,gBAGZj/L,KAAKszO,iBACe,QAAlB,EAAAphO,EAAQwhO,kBAAUx9C,IAAAA,OAAA,EAAAA,EAAEylB,WAA6B,QAAlB,EAAAzpM,EAAQwhO,kBAAUr9C,IAAAA,OAAA,EAAAA,EAAEslB,WAAYsW,KAC5C,QAAlB,EAAA//M,EAAQwhO,kBAAUh7C,IAAAA,OAAA,EAAAA,EAAEkjB,eAAiC,QAAlB,EAAA1pM,EAAQwhO,kBAAUvqK,IAAAA,OAAA,EAAAA,EAAEyyI,eAAgBqW,KACtD,QAAlB,EAAA//M,EAAQwhO,kBAAU5qK,IAAAA,OAAA,EAAAA,EAAE6qK,gBAVnB,sBAYG,IAAItvO,WACR,2JAbC,gCAkBUrE,KAAKuzO,0BAA0BK,aAAYt1O,OAAAA,OAAAA,CACtD+7N,YAAanoN,EAAQmoN,YACrB/qI,SAAAA,EACAukJ,yBAA0B,OAAF,wBACnB3hO,EAAQwhO,YAAU,CACrB73B,OAA0B,QAAlB,EAAA3pM,EAAQwhO,kBAAUpG,IAAAA,OAAA,EAAAA,EAAEqG,gBAE9B34B,gBAAiBh7M,KAAKyzO,UACnBtE,GAAmClwC,KA1BrC,gFA6BHniD,EAAKioE,UAAU,CACbn+L,KAAMg2K,GAAezE,MACrBvzL,QAAS,KAAEA,UA/BV,8BAmCHk4I,EAAKhwH,MAnCF,6EA9DT,+GA+GS,WACLkuL,GADK,2GAEL9oM,EAFK,+BAE4B,GAF5B,EAI4B6xM,GAAW,8BAA+B7xM,GAAnE4qI,EAJH,EAIGA,KAAMmiD,EAJT,EAISA,gBAGZj/L,KAAKszO,iBACe,QAAlB,EAAAphO,EAAQwhO,kBAAUx9C,IAAAA,OAAA,EAAAA,EAAEylB,WAA6B,QAAlB,EAAAzpM,EAAQwhO,kBAAUr9C,IAAAA,OAAA,EAAAA,EAAEslB,WAAYsW,KAC5C,QAAlB,EAAA//M,EAAQwhO,kBAAUh7C,IAAAA,OAAA,EAAAA,EAAEkjB,eAAiC,QAAlB,EAAA1pM,EAAQwhO,kBAAUvqK,IAAAA,OAAA,EAAAA,EAAEyyI,eAAgBqW,KACtD,QAAlB,EAAA//M,EAAQwhO,kBAAU5qK,IAAAA,OAAA,EAAAA,EAAE6qK,gBAVnB,sBAYG,IAAItvO,WACR,2JAbC,gCAkBoBrE,KAAKuzO,0BAA0BO,YACpD9zO,KAAKyzO,SACLz4B,EAAe18M,OAAAA,OAAAA,CAEb+7N,YAAanoN,EAAQmoN,YACrBwZ,yBAA0B,OAAF,wBACnB3hO,EAAQwhO,YAAU,CACrB73B,OAA0B,QAAlB,EAAA3pM,EAAQwhO,kBAAUpG,IAAAA,OAAA,EAAAA,EAAEqG,iBAE3BxE,GAAmClwC,KA3BvC,cAkBGl6C,EAlBH,OA8BH/kJ,KAAKyzO,SAAWz4B,EA9Bb,kBA+BIj2D,GA/BJ,wCAiCHjI,EAAKioE,UAAU,CACbn+L,KAAMg2K,GAAezE,MACrBvzL,QAAS,KAAEA,UAnCV,8BAuCHk4I,EAAKhwH,MAvCF,6EA/GT,gHAoKS,sHAAmB5a,EAAnB,+BAAoD,GAApD,EAC4B6xM,GAAW,+BAAgC7xM,GAApE4qI,EADH,EACGA,KAAMmiD,EADT,EACSA,gBAGZj/L,KAAKszO,iBACe,QAAlB,EAAAphO,EAAQwhO,kBAAUx9C,IAAAA,OAAA,EAAAA,EAAEylB,WAA6B,QAAlB,EAAAzpM,EAAQwhO,kBAAUr9C,IAAAA,OAAA,EAAAA,EAAEslB,WAAYsW,KAC5C,QAAlB,EAAA//M,EAAQwhO,kBAAUh7C,IAAAA,OAAA,EAAAA,EAAEkjB,eAAiC,QAAlB,EAAA1pM,EAAQwhO,kBAAUvqK,IAAAA,OAAA,EAAAA,EAAEyyI,eAAgBqW,KACtD,QAAlB,EAAA//M,EAAQwhO,kBAAU5qK,IAAAA,OAAA,EAAAA,EAAE6qK,gBAPnB,sBASG,IAAItvO,WACR,2JAVC,gCAeUrE,KAAKuzO,0BAA0BQ,aAAa/zO,KAAKyzO,SAAQn1O,OAAAA,OAAAA,CACpE+7N,YAAanoN,EAAQmoN,YACrBwZ,yBAA0B,OAAF,wBACnB3hO,EAAQwhO,YAAU,CACrB73B,OAA0B,QAAlB,EAAA3pM,EAAQwhO,kBAAUpG,IAAAA,OAAA,EAAAA,EAAEqG,iBAE3BxE,GAAmClwC,KArBrC,gFAwBHniD,EAAKioE,UAAU,CACbn+L,KAAMg2K,GAAezE,MACrBvzL,QAAS,KAAEA,UA1BV,8BA8BHk4I,EAAKhwH,MA9BF,6EApKT,6GA+MS,sHAAiB5a,EAAjB,+BAAkD,GAAlD,EAC4B6xM,GAAW,6BAA8B7xM,GAAlE4qI,EADH,EACGA,KAAMmiD,EADT,EACSA,gBAGZj/L,KAAKszO,iBACe,QAAlB,EAAAphO,EAAQwhO,kBAAUx9C,IAAAA,OAAA,EAAAA,EAAEylB,WAA6B,QAAlB,EAAAzpM,EAAQwhO,kBAAUr9C,IAAAA,OAAA,EAAAA,EAAEslB,WAAYsW,KAC5C,QAAlB,EAAA//M,EAAQwhO,kBAAUh7C,IAAAA,OAAA,EAAAA,EAAEkjB,eAAiC,QAAlB,EAAA1pM,EAAQwhO,kBAAUvqK,IAAAA,OAAA,EAAAA,EAAEyyI,eAAgBqW,KACtD,QAAlB,EAAA//M,EAAQwhO,kBAAU5qK,IAAAA,OAAA,EAAAA,EAAE6qK,gBAPnB,sBASG,IAAItvO,WACR,2JAVC,gCAeUrE,KAAKuzO,0BAA0BS,WAAWh0O,KAAKyzO,SAAQn1O,OAAAA,OAAAA,CAClE+7N,YAAanoN,EAAQmoN,YACrBwZ,yBAA0B,OAAF,wBACnB3hO,EAAQwhO,YAAU,CACrB73B,OAA0B,QAAlB,EAAA3pM,EAAQwhO,kBAAUpG,IAAAA,OAAA,EAAAA,EAAEqG,iBAE3BxE,GAAmClwC,KArBrC,gFAwBHniD,EAAKioE,UAAU,CACbn+L,KAAMg2K,GAAezE,MACrBvzL,QAAS,KAAEA,UA1BV,8BA8BHk4I,EAAKhwH,MA9BF,6EA/MT,6GA4PS,WACLuuL,GADK,2GAELnpM,EAFK,+BAE4B,GAF5B,EAI4B6xM,GAAW,6BAA8B7xM,GAAlE4qI,EAJH,EAIGA,KAAMmiD,EAJT,EAISA,gBAGZj/L,KAAKszO,iBACe,QAAlB,EAAAphO,EAAQwhO,kBAAUx9C,IAAAA,OAAA,EAAAA,EAAEylB,WAA6B,QAAlB,EAAAzpM,EAAQwhO,kBAAUr9C,IAAAA,OAAA,EAAAA,EAAEslB,WAAYsW,KAC5C,QAAlB,EAAA//M,EAAQwhO,kBAAUh7C,IAAAA,OAAA,EAAAA,EAAEkjB,eAAiC,QAAlB,EAAA1pM,EAAQwhO,kBAAUvqK,IAAAA,OAAA,EAAAA,EAAEyyI,eAAgBqW,KACtD,QAAlB,EAAA//M,EAAQwhO,kBAAU5qK,IAAAA,OAAA,EAAAA,EAAE6qK,gBAVnB,sBAYG,IAAItvO,WACR,2JAbC,uBAkBGo9M,EAAgBnjN,OAAAA,OAAAA,CACpB+7N,YAAanoN,EAAQmoN,YACrBhf,YAAAA,EACAw4B,yBAA0B,OAAF,wBACnB3hO,EAAQwhO,YAAU,CACrB73B,OAA0B,QAAlB,EAAA3pM,EAAQwhO,kBAAUpG,IAAAA,OAAA,EAAAA,EAAEqG,iBAE3BxE,GAAmClwC,IAzBrC,SA2BUj/L,KAAKuzO,0BAA0BU,WAAWxyB,GA3BpD,gFA6BH3kE,EAAKioE,UAAU,CACbn+L,KAAMg2K,GAAezE,MACrBvzL,QAAS,KAAEA,UA/BV,8BAmCHk4I,EAAKhwH,MAnCF,6EA5PT,8DC3EaonN,GAAb,WAqYE,WACEC,GAC0C,UAE1Cn0O,KAAKm0O,iBAAmBA,EAzY5B,qCAOE,WACE,OAAOn0O,KAAKm0O,iBAAiBjhC,eARjC,wBAiBE,WACE,OAAOlzM,KAAKm0O,iBAAiBlpC,eAlBjC,8BA4BE,WACE,OAAOjrM,KAAKm0O,iBAAiBnpC,qBA7BjC,2BAsCE,WACE,OAAOhrM,KAAKm0O,iBAAiBtpC,kBAvCjC,2BAgDE,WACE,OAAO7qM,KAAKm0O,iBAAiBrpC,kBAjDjC,8BA0DE,WACE,OAAO9qM,KAAKm0O,iBAAiBjpC,qBA3DjC,oBAoEE,WACE,OAAOlrM,KAAKm0O,iBAAiBhpC,WArEjC,yBA8EE,WACE,OAAOnrM,KAAKm0O,iBAAiBxpC,gBA/EjC,sBA8FE,WACE,OAAO3qM,KAAKm0O,iBAAiBppC,aA/FjC,wBAyGE,WACE,OAAO/qM,KAAKm0O,iBAAiBlhC,eA1GjC,uBAmHE,WACE,OAAOjzM,KAAKm0O,iBAAiBvpC,cApHjC,2BA8HE,cA9HF,kBAwIE,WACE,OAAO5qM,KAAKm0O,iBAAiB/oC,SAzIjC,wBAoJE,WACE,OAAOprM,KAAKm0O,iBAAiB5oC,eArJjC,sBA+JE,WACE,OAAOvrM,KAAKm0O,iBAAiB7oC,aAhKjC,sBA0KE,WACE,OAAOtrM,KAAKm0O,iBAAiB9oC,aA3KjC,iCAqLE,WACE,OAAOrrM,KAAKm0O,iBAAiB1oC,wBAtLjC,yBAgME,WACE,OAAOzrM,KAAKm0O,iBAAiBtsC,gBAjMjC,sBA0ME,WACE,OAAO7nM,KAAKm0O,iBAAiBvsC,aA3MjC,uBAoNE,WACE,OAAO5nM,KAAKm0O,iBAAiBxsC,cArNjC,gBA8NE,WACE,OAAO3nM,KAAKm0O,iBAAiB7qN,OA/NjC,mCAwOE,WACE,OAAOtpB,KAAKm0O,iBAAiBhhC,0BAzOjC,gBAkPE,WACE,OAAOnzM,KAAKm0O,iBAAiBzsC,OAnPjC,qBA2PE,WACE,OAAO1nM,KAAKm0O,iBAAiBhlC,YA5PjC,6BAwQE,WACE,OAAOnvM,KAAKm0O,iBAAiB/gC,oBAzQjC,0BAqRE,WACE,OAAOpzM,KAAKm0O,iBAAiB7gC,iBAtRjC,wBAgSE,WACE,OAAOtzM,KAAKm0O,iBAAiB1sC,eAjSjC,oBA0SE,WACE,OAAOznM,KAAKm0O,iBAAiB5sC,WA3SjC,qBAoTE,WACE,OAAOvnM,KAAKm0O,iBAAiBjlC,YArTjC,2BA8TE,WACE,OAAOlvM,KAAKm0O,iBAAiBllC,kBA/TjC,mBAwUE,WACE,OAAOjvM,KAAKm0O,iBAAiB7iM,UAzUjC,+BAkVE,WACE,OAAOtxC,KAAKm0O,iBAAiB9gC,sBAnVjC,wBA4VE,WACE,OAAOrzM,KAAKm0O,iBAAiB3gC,eA7VjC,oBAsWE,WACE,MAAMhxM,MAAM,kDAvWhB,8BAgXE,cAhXF,qBAuXE,WAGE,OAAOxC,KAAKm0O,iBAAiBpL,cA1XjC,KCAaqL,GAAb,WAOE,WAAY11B,GAA4B,UACtC1+M,KAAK0+M,OAASA,EARlB,iCAgBE,SACE/T,EACAz4L,GAEA,IAAMysM,EAAkD,CACtDhU,cAAAA,EACAz4L,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAuB,MA1BN,yBAsCE,SACEvV,EACAz5L,EACAgB,GAEA,IAAMysM,EAAkD,CACtDhU,cAAAA,EACAz5L,KAAAA,EACAgB,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA01B,MAlDN,gCA+DE,SACEx2B,EACAlT,EACAz4L,GAEA,IAAMysM,EAAkD,CACtDd,UAAAA,EACAlT,cAAAA,EACAz4L,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA21B,MA3EN,kBAoFE,SACEpiO,GAEA,IAAMysM,EAAkD,CACtDzsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA41B,QA5FN,KAiGMj1B,GAAgB,IAAIV,GAAoBW,GAAqB,GAC7DhwD,GAAa,IAAIqvD,GAAoBW,GAAqB,GAE1DW,GAA8C,CAClDvmK,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,IAClBE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,G7E06CyC,CAC3CxG,cAAe,WACfxb,OAAQ,CACNxsL,aAAc,aACdkuL,YAAY,EACZD,eAAgB,iBAChB19L,KAAM,CACJzB,KAAM,a6E96CVy9L,OAAO,EACPruC,WAAY+vD,IAER+0B,GAAmD,CACvD16L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBK,YAAaC,GACbC,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFI,UAAW,SACX1wD,WAAAA,IAEI+kF,GAA0D,CAC9D36L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERi1B,GAA4C,CAChD56L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,G7Ei4C2B,CAC7CxG,cAAe,OACfxb,OAAQ,CACNxsL,aAAc,OACdkuL,YAAY,EACZD,eAAgB,OAChB19L,KAAM,CACJzB,KAAM,a6Ev4CV4/M,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,ICzPDk1B,GAAb,WAOE,WAAY91B,GAA4B,UACtC1+M,KAAK0+M,OAASA,EARlB,iCAoBE,SACE/T,EACAz5L,EACAgB,GAEA,IAAMysM,EAAkD,CACtDhU,cAAAA,EACAz5L,KAAAA,EACAgB,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA81B,MAhCN,4BAiDE,SACE9pC,EACAW,EACAp5L,GAEA,IAAMysM,EAAkD,CACtDhU,cAAAA,EACAW,WAAAA,EACAp5L,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACA+1B,MA7DN,wBA0EE,SACEr2B,EACA1T,EACAz5L,EACAgB,GAEA,IAAMysM,EAAkD,CACtDN,QAAAA,EACA1T,cAAAA,EACAz5L,KAAAA,EACAgB,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAg2B,MAxFN,+BAsGE,SACEt2B,EACA1T,EACAkT,EACA3rM,GAEA,IAAMysM,EAAkD,CACtDN,QAAAA,EACA1T,cAAAA,EACAkT,UAAAA,EACA3rM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAi2B,MApHN,6BAmIE,SACEt2B,EACApsM,GAEA,IAAMysM,EAAkD,CACtDL,OAAAA,EACApsM,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAk2B,MA7IN,0BAwJE,SACEC,EACA5iO,GAEA,IAAMysM,EAAkD,CACtDm2B,SAAAA,EACA5iO,QAAS0sM,GAA8C1sM,GAAW,KAEpE,OAAOlS,KAAK0+M,OAAOG,qBACjBF,EACAo2B,QAlKN,KAuKMz1B,GAAgB,IAAIV,GAAoBW,GAAqB,GAC7DhwD,GAAa,IAAIqvD,GAAoBW,GAAqB,GAE1Dk1B,GAA8C,CAClD96L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBK,YAAaC,GACbC,gBAAiB,CAACD,IAClBE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFI,UAAW,SACX1wD,WAAAA,IAEImlF,GAAsD,CAC1D/6L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,IAClBE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,G9Ey3CwD,CAC1DxG,cAAe,CAAC,UAAW,4BAC3Bxb,OAAQ,CACNyB,eAAgB,mCAChBsD,QAAS,mCACThhM,KAAM,CACJzB,KAAM,c8E53CVy9L,OAAO,EACPruC,WAAY+vD,IAERq1B,GAAkD,CACtDh7L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBK,YAAaC,GACbC,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFI,UAAW,SACX1wD,WAAAA,IAEIqlF,GAAyD,CAC7Dj7L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CACfD,GACAA,GACAA,IAEFE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAERu1B,GAAuD,CAC3Dl7L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBK,YAAaC,GACbC,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA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B,iBAChB19L,KAAM,CACJzB,KAAM,Y+EljCR0/M,GACAA,IAEFjiB,OAAO,EACPruC,WAAY+vD,IAER21B,GAAmD,CACvDt7L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBK,YAAaC,GACbC,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,IAEFI,UAAW,SACX1wD,WAAAA,IAEI2lF,GAAkD,CACtDv7L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,G/EumC0C,CAC5CxG,cAAe,YACfxb,OAAQ,CACNxsL,aAAc,QACdkuL,YAAY,EACZD,eAAgB,kBAChB19L,KAAM,CACJzB,KAAM,a+E3mCVy9L,OAAO,EACPruC,WAAY+vD,IAER81B,GAA0D,CAC9Dz7L,KAAM,0BACN6lK,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,cAAeH,IAEjB1gN,QAAS,CACP8gN,WAAYJ,GACZG,cAAeH,KAGnBO,gBAAiB,CAACD,GAA6BA,IAC/CE,cAAe,CAACF,IAChBG,iBAAkB,CAChBH,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,G/EklC2C,CAC7CxG,cAAe,cACfxb,OAAQ,CACNyB,e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","sources":["../node_modules/classnames/index.js","../node_modules/events/events.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-fast-compare/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-table/src/publicUtils.js","../node_modules/react-table/src/utils.js","../node_modules/react-table/src/makeDefaultPluginHooks.js","../node_modules/react-table/src/hooks/useColumnVisibility.js","../node_modules/react-table/src/hooks/useTable.js","../node_modules/react-table/src/plugin-hooks/useExpanded.js","../node_modules/react-table/src/filterTypes.js","../node_modules/react-table/src/plugin-hooks/useFilters.js","../node_modules/react-table/src/plugin-hooks/useGlobalFilter.js","../node_modules/react-table/src/aggregations.js","../node_modules/react-table/src/plugin-hooks/useGroupBy.js","../node_modules/react-table/src/sortTypes.js","../node_modules/react-table/src/plugin-hooks/useSortBy.js","../node_modules/react-table/src/plugin-hooks/usePagination.js","../node_modules/react-table/src/plugin-hooks/_UNSTABLE_usePivotColumns.js","../node_modules/react-table/src/plugin-hooks/useRowSelect.js","../node_modules/react-table/src/plugin-hooks/useRowState.js","../node_modules/react-table/src/plugin-hooks/useColumnOrder.js","../node_modules/react-table/src/plugin-hooks/useResizeColumns.js","../node_modules/react-table/src/plugin-hooks/useAbsoluteLayout.js","../node_modules/react-table/src/plugin-hooks/useBlockLayout.js","../node_modules/react-table/src/plugin-hooks/useFlexLayout.js","../node_modules/react-table/src/plugin-hooks/useGridLayout.js","../node_modules/react-table/index.js","../node_modules/react-uuid/uuid.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/void-elements/index.js","../node_modules/warning/warning.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/typeof.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../../packages/react-router/lib/context.ts","../../packages/react-router/lib/router.ts","../../packages/react-router/lib/hooks.tsx","../../packages/react-router/lib/components.tsx","../../packages/react-router-dom/index.tsx","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@kurkle/color/dist/color.esm.js","../node_modules/chart.js/src/helpers/helpers.core.ts","../node_modules/chart.js/src/helpers/helpers.math.ts","../node_modules/chart.js/src/helpers/helpers.collection.ts","../node_modules/chart.js/src/helpers/helpers.extras.ts","../node_modules/chart.js/src/helpers/helpers.easing.ts","../node_modules/chart.js/src/helpers/helpers.color.ts","../node_modules/chart.js/src/core/core.animations.defaults.js","../node_modules/chart.js/src/helpers/helpers.intl.ts","../node_modules/chart.js/src/core/core.ticks.js","../node_modules/chart.js/src/core/core.defaults.js","../node_modules/chart.js/src/core/core.layouts.defaults.js","../node_modules/chart.js/src/core/core.scale.defaults.js","../node_modules/chart.js/src/helpers/helpers.canvas.js","../node_modules/chart.js/src/helpers/helpers.options.ts","../node_modules/chart.js/src/helpers/helpers.config.js","../node_modules/chart.js/src/helpers/helpers.curve.ts","../node_modules/chart.js/src/helpers/helpers.dom.ts","../node_modules/chart.js/src/helpers/helpers.interpolation.ts","../node_modules/chart.js/src/helpers/helpers.rtl.ts","../node_modules/chart.js/src/helpers/helpers.segment.js","../node_modules/chart.js/src/core/core.animator.js","../node_modules/chart.js/src/core/core.animation.js","../node_modules/chart.js/src/core/core.animations.js","../node_modules/chart.js/src/core/core.datasetController.js","../node_modules/chart.js/src/controllers/controller.bar.js","../node_modules/chart.js/src/controllers/controller.bubble.js","../node_modules/chart.js/src/controllers/controller.doughnut.js","../node_modules/chart.js/src/controllers/controller.line.js","../node_modules/chart.js/src/controllers/controller.polarArea.js","../node_modules/chart.js/src/controllers/controller.pie.js","../node_modules/chart.js/src/controllers/controller.radar.js","../node_modules/chart.js/src/controllers/controller.scatter.js","../node_modules/chart.js/src/core/core.adapters.ts","../node_modules/chart.js/src/core/core.interaction.js","../node_modules/chart.js/src/core/core.layouts.js","../node_modules/chart.js/src/platform/platform.base.js","../node_modules/chart.js/src/platform/platform.basic.js","../node_modules/chart.js/src/platform/platform.dom.js","../node_modules/chart.js/src/core/core.element.ts","../node_modules/chart.js/src/core/core.scale.autoskip.js","../node_modules/chart.js/src/core/core.scale.js","../node_modules/chart.js/src/core/core.typedRegistry.js","../node_modules/chart.js/src/core/core.registry.js","../node_modules/chart.js/src/core/core.plugins.js","../node_modules/chart.js/src/core/core.config.js","../node_modules/chart.js/src/core/core.controller.js","../node_modules/chart.js/src/platform/index.js","../node_modules/chart.js/src/elements/element.arc.ts","../node_modules/chart.js/src/elements/element.line.js","../node_modules/chart.js/src/elements/element.point.ts","../node_modules/chart.js/src/elements/element.bar.js","../node_modules/chart.js/src/plugins/plugin.filler/index.js","../node_modules/chart.js/src/plugins/plugin.legend.js","../node_modules/chart.js/src/plugins/plugin.subtitle.js","../node_modules/chart.js/src/plugins/plugin.title.js","../node_modules/chart.js/src/plugins/plugin.tooltip.js","../node_modules/chart.js/src/scales/scale.category.js","../node_modules/chart.js/src/scales/scale.linearbase.js","../node_modules/chart.js/src/scales/scale.linear.js","../node_modules/chart.js/src/scales/scale.logarithmic.js","../node_modules/chart.js/src/scales/scale.radialLinear.js","../node_modules/chart.js/src/scales/scale.time.js","../node_modules/chart.js/src/scales/scale.timeseries.js","../node_modules/html-parse-stringify/src/parse.js","../node_modules/react-i18next/dist/es/utils.js","../node_modules/react-i18next/dist/es/unescape.js","../node_modules/react-i18next/dist/es/defaults.js","../node_modules/react-i18next/dist/es/TransWithoutContext.js","../node_modules/react-i18next/dist/es/i18nInstance.js","../node_modules/react-i18next/dist/es/initReactI18next.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/react-i18next/dist/es/useTranslation.js","../node_modules/react-i18next/dist/es/index.js","components/DonutSubmission.js","components/BarRanking.js","../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","pages/League.js","components/TableEagleEarnings.js","components/EagleRedirect.js","components/TableEagleStatus.js","pages/EagleSubmission.js","pages/NotFoundPage.js","pages/TNCEagle.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/react-select/dist/useStateManager-7e1e8489.esm.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Middleware.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-6a883da9.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-select/dist/react-select.esm.js","../node_modules/react-popper/lib/esm/Manager.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/react-popper/lib/esm/usePopper.js","../node_modules/react-popper/lib/esm/Popper.js","../node_modules/react-popper/lib/esm/Reference.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/reactstrap/src/utils.js","../node_modules/reactstrap/src/Container.js","../node_modules/reactstrap/src/Row.js","../node_modules/reactstrap/src/Col.js","../node_modules/reactstrap/src/Navbar.js","../node_modules/reactstrap/src/NavbarBrand.js","../node_modules/reactstrap/src/NavbarText.js","../node_modules/reactstrap/src/NavbarToggler.js","../node_modules/reactstrap/src/Nav.js","../node_modules/reactstrap/src/NavItem.js","../node_modules/reactstrap/src/NavLink.js","../node_modules/reactstrap/src/Breadcrumb.js","../node_modules/reactstrap/src/BreadcrumbItem.js","../node_modules/reactstrap/src/CloseButton.js","../node_modules/reactstrap/src/Button.js","../node_modules/reactstrap/src/ButtonToggle.js","../node_modules/reactstrap/src/DropdownContext.js","../node_modules/reactstrap/src/Dropdown.js","../node_modules/reactstrap/src/ButtonDropdown.js","../node_modules/reactstrap/src/ButtonGroup.js","../node_modules/reactstrap/src/ButtonToolbar.js","../node_modules/reactstrap/src/DropdownItem.js","../node_modules/reactstrap/src/DropdownMenu.js","../node_modules/reactstrap/src/DropdownToggle.js","../node_modules/reactstrap/src/Fade.js","../node_modules/reactstrap/src/AccordionContext.js","../node_modules/reactstrap/src/Accordion.js","../node_modules/reactstrap/src/UncontrolledAccordion.js","../node_modules/reactstrap/src/AccordionHeader.js","../node_modules/reactstrap/src/AccordionItem.js","../node_modules/reactstrap/src/Collapse.js","../node_modules/reactstrap/src/AccordionBody.js","../node_modules/reactstrap/src/Badge.js","../node_modules/reactstrap/src/Card.js","../node_modules/reactstrap/src/CardGroup.js","../node_modules/reactstrap/src/CardDeck.js","../node_modules/reactstrap/src/CardColumns.js","../node_modules/reactstrap/src/CardBody.js","../node_modules/reactstrap/src/CardLink.js","../node_modules/reactstrap/src/CardFooter.js","../node_modules/reactstrap/src/CardHeader.js","../node_modules/reactstrap/src/CardImg.js","../node_modules/reactstrap/src/CardImgOverlay.js","../node_modules/reactstrap/src/CarouselItem.js","../node_modules/reactstrap/src/CarouselContext.js","../node_modules/reactstrap/src/Carousel.js","../node_modules/reactstrap/src/CarouselControl.js","../node_modules/reactstrap/src/CarouselIndicators.js","../node_modules/reactstrap/src/CarouselCaption.js","../node_modules/reactstrap/src/UncontrolledCarousel.js","../node_modules/reactstrap/src/CardSubtitle.js","../node_modules/reactstrap/src/CardText.js","../node_modules/reactstrap/src/CardTitle.js","../node_modules/reactstrap/src/PopperContent.js","../node_modules/reactstrap/src/PopperTargetHelper.js","../node_modules/reactstrap/src/TooltipPopoverWrapper.js","../node_modules/reactstrap/src/Popover.js","../node_modules/reactstrap/src/UncontrolledPopover.js","../node_modules/reactstrap/src/PopoverHeader.js","../node_modules/reactstrap/src/PopoverBody.js","../node_modules/reactstrap/src/Progress.js","../node_modules/reactstrap/src/Portal.js","../node_modules/reactstrap/src/Modal.js","../node_modules/reactstrap/src/ModalHeader.js","../node_modules/reactstrap/src/ModalBody.js","../node_modules/reactstrap/src/ModalFooter.js","../node_modules/reactstrap/src/Tooltip.js","../node_modules/reactstrap/src/Table.js","../node_modules/reactstrap/src/ListGroup.js","../node_modules/reactstrap/src/Form.js","../node_modules/reactstrap/src/FormFeedback.js","../node_modules/reactstrap/src/FormGroup.js","../node_modules/reactstrap/src/FormText.js","../node_modules/reactstrap/src/Input.js","../node_modules/reactstrap/src/InputGroup.js","../node_modules/reactstrap/src/InputGroupText.js","../node_modules/reactstrap/src/Label.js","../node_modules/reactstrap/src/Media.js","../node_modules/reactstrap/src/Offcanvas.js","../node_modules/reactstrap/src/OffcanvasBody.js","../node_modules/reactstrap/src/OffcanvasHeader.js","../node_modules/reactstrap/src/Pagination.js","../node_modules/reactstrap/src/PaginationItem.js","../node_modules/reactstrap/src/PaginationLink.js","../node_modules/reactstrap/src/TabContext.js","../node_modules/reactstrap/src/TabContent.js","../node_modules/reactstrap/src/TabPane.js","../node_modules/reactstrap/src/Alert.js","../node_modules/reactstrap/src/Toast.js","../node_modules/reactstrap/src/ToastBody.js","../node_modules/reactstrap/src/ToastHeader.js","../node_modules/reactstrap/src/ListGroupItem.js","../node_modules/reactstrap/src/ListGroupItemHeading.js","../node_modules/reactstrap/src/ListGroupItemText.js","../node_modules/reactstrap/src/List.js","../node_modules/reactstrap/src/ListInlineItem.js","../node_modules/reactstrap/src/UncontrolledAlert.js","../node_modules/reactstrap/src/UncontrolledButtonDropdown.js","../node_modules/reactstrap/src/UncontrolledCollapse.js","../node_modules/reactstrap/src/UncontrolledDropdown.js","../node_modules/reactstrap/src/UncontrolledTooltip.js","../node_modules/reactstrap/src/Spinner.js","../node_modules/reactstrap/src/Placeholder.js","../node_modules/reactstrap/src/PlaceholderButton.js","../node_modules/reactstrap/src/polyfill.js","pages/LoginPage.js","pages/Profile.js","pages/TrainingHVR.js","pages/TrainingPHVR.js","../node_modules/tslib/tslib.es6.js","../node_modules/@azure/core-http/src/util/serializer.common.ts","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/regex.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/validate.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/@azure/core-http/src/util/utils.ts","../node_modules/@azure/core-auth/src/tokenCredential.ts","../node_modules/@azure/core-http/src/policies/proxyPolicy.browser.ts","../node_modules/@opentelemetry/api/src/platform/browser/globalThis.ts","../node_modules/@opentelemetry/api/src/version.ts","../node_modules/@opentelemetry/api/src/internal/semver.ts","../node_modules/@opentelemetry/api/src/internal/global-utils.ts","../node_modules/@opentelemetry/api/src/context/context.ts","../node_modules/@opentelemetry/api/src/diag/types.ts","../node_modules/@opentelemetry/api/src/context/NoopContextManager.ts","../node_modules/@opentelemetry/api/src/diag/ComponentLogger.ts","../node_modules/@opentelemetry/api/src/trace/trace_flags.ts","../node_modules/@opentelemetry/api/src/api/diag.ts","../node_modules/@opentelemetry/api/src/diag/internal/logLevelLogger.ts","../node_modules/@opentelemetry/api/src/api/context.ts","../node_modules/@opentelemetry/api/src/trace/invalid-span-constants.ts","../node_modules/@opentelemetry/api/src/trace/NonRecordingSpan.ts","../node_modules/@opentelemetry/api/src/trace/context-utils.ts","../node_modules/@opentelemetry/api/src/trace/spancontext-utils.ts","../node_modules/@opentelemetry/api/src/trace/NoopTracer.ts","../node_modules/@opentelemetry/api/src/trace/ProxyTracer.ts","../node_modules/@azure/core-tracing/src/interfaces.ts","../node_modules/@opentelemetry/api/src/trace/ProxyTracerProvider.ts","../node_modules/@opentelemetry/api/src/trace/NoopTracerProvider.ts","../node_modules/@opentelemetry/api/src/api/trace.ts","../node_modules/@opentelemetry/api/src/trace-api.ts","../node_modules/@opentelemetry/api/src/context-api.ts","../node_modules/@azure/core-http/src/operationOptions.ts","../node_modules/@azure/core-http/src/util/base64.browser.ts","../node_modules/@azure/core-http/src/serializer.ts","../node_modules/@azure/core-http/src/queryCollectionFormat.ts","../node_modules/@azure/storage-blob/src/generated/src/models/mappers.ts","../node_modules/@azure/storage-blob/src/generated/src/models/parameters.ts","../node_modules/@azure/core-http/src/httpPipelineLogLevel.ts","../node_modules/@azure/storage-blob/src/generated/src/operations/service.ts","../node_modules/@azure/storage-blob/src/generated/src/operations/container.ts","../node_modules/@azure/core-http/src/policies/requestPolicy.ts","../node_modules/@azure/core-tracing/src/createSpan.ts","../node_modules/@azure/logger/src/debug.ts","../node_modules/@azure/logger/src/log.browser.ts","../node_modules/@azure/logger/src/index.ts","../node_modules/@azure/core-http/src/log.ts","../node_modules/@azure/core-http/src/policies/tracingPolicy.ts","../node_modules/@azure/core-tracing/src/utils/traceParentHeader.ts","../node_modules/@azure/core-http/src/policies/keepAlivePolicy.ts","../node_modules/@azure/core-http/src/policies/generateClientRequestIdPolicy.ts","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@azure/core-http/src/url.ts","../node_modules/@azure/core-http/src/util/sanitizer.ts","../node_modules/@azure/core-http/src/util/xml.browser.ts","../node_modules/@azure/core-http/src/util/inspect.browser.ts","../node_modules/@azure/core-http/src/restError.ts","../node_modules/@azure/core-http/src/policies/deserializationPolicy.ts","../node_modules/@azure/core-http/src/policies/logPolicy.ts","../node_modules/@azure/core-http/src/policies/disableResponseDecompressionPolicy.browser.ts","../node_modules/@azure/storage-blob/src/log.ts","../node_modules/@azure/storage-blob/src/utils/constants.ts","../node_modules/@azure/storage-blob/src/utils/utils.common.ts","../node_modules/@azure/storage-blob/src/policies/StorageBrowserPolicy.ts","../node_modules/@azure/storage-blob/src/policies/StorageRetryPolicy.ts","../node_modules/@azure/storage-blob/src/StorageBrowserPolicyFactory.ts","../node_modules/@azure/abort-controller/src/AbortController.ts","../node_modules/@azure/storage-blob/src/StorageRetryPolicyFactory.ts","../node_modules/@azure/storage-blob/src/policies/CredentialPolicy.ts","../node_modules/@azure/storage-blob/src/policies/AnonymousCredentialPolicy.ts","../node_modules/@azure/storage-blob/src/credentials/AnonymousCredential.ts","../node_modules/@azure/storage-blob/src/credentials/Credential.ts","../node_modules/@azure/core-http/src/httpHeaders.ts","../node_modules/@azure/storage-blob/src/policies/TelemetryPolicy.ts","../node_modules/@azure/storage-blob/src/TelemetryPolicyFactory.ts","../node_modules/@azure/core-http/src/xhrHttpClient.ts","../node_modules/@azure/storage-blob/src/utils/cache.ts","../node_modules/@azure/core-util/src/typeGuards.ts","../node_modules/@azure/core-util/src/delay.ts","../node_modules/@azure/storage-blob/src/policies/StorageBearerTokenChallengeAuthenticationPolicy.ts","../node_modules/@azure/storage-blob/src/Pipeline.ts","../node_modules/@azure/storage-blob/src/credentials/StorageSharedKeyCredential.browser.ts","../node_modules/@azure/core-http/src/policies/msRestUserAgentPolicy.browser.ts","../node_modules/@azure/core-http/src/util/constants.ts","../node_modules/@azure/core-http/src/policies/userAgentPolicy.ts","../node_modules/@azure/core-http/src/policies/redirectPolicy.ts","../node_modules/@azure/core-http/src/util/exponentialBackoffStrategy.ts","../node_modules/@azure/core-http/src/policies/exponentialRetryPolicy.ts","../node_modules/@azure/core-http/src/operationParameter.ts","../node_modules/@azure/core-http/src/operationSpec.ts","../node_modules/@azure/core-http/src/webResource.ts","../node_modules/@azure/core-http/src/httpClientCache.ts","../node_modules/@azure/core-http/src/policies/bearerTokenAuthenticationPolicy.ts","../node_modules/@azure/core-http/src/policies/rpRegistrationPolicy.ts","../node_modules/@azure/core-http/src/policies/signingPolicy.ts","../node_modules/@azure/core-http/src/policies/systemErrorRetryPolicy.ts","../node_modules/@azure/core-http/src/util/throttlingRetryStrategy.ts","../node_modules/@azure/core-http/src/policies/throttlingRetryPolicy.ts","../node_modules/@azure/core-http/src/serviceClient.ts","../node_modules/@azure/storage-blob/src/generated/src/storageClientContext.ts","../node_modules/@azure/storage-blob/src/StorageClient.ts","../node_modules/@azure/storage-blob/src/utils/tracing.ts","../node_modules/@azure/storage-blob/src/sas/BlobSASPermissions.ts","../node_modules/@azure/storage-blob/src/sas/SASQueryParameters.ts","../node_modules/@azure/storage-blob/src/sas/ContainerSASPermissions.ts","../node_modules/@azure/storage-blob/src/credentials/UserDelegationKeyCredential.browser.ts","../node_modules/@azure/storage-blob/src/sas/SasIPRange.ts","../node_modules/@azure/storage-blob/src/sas/BlobSASSignatureValues.ts","../node_modules/@azure/storage-blob/src/generated/src/operations/blob.ts","../node_modules/@azure/storage-blob/src/models.ts","../node_modules/@azure/storage-blob/src/BlobLeaseClient.ts","../node_modules/@azure/storage-blob/src/BlobQueryResponse.browser.ts","../node_modules/@azure/storage-blob/src/generated/src/operations/appendBlob.ts","../node_modules/@azure/storage-blob/src/generated/src/operations/blockBlob.ts","../node_modules/@azure/storage-blob/src/generated/src/operations/pageBlob.ts","../node_modules/@azure/storage-blob/src/PageBlobRangeResponse.ts","../node_modules/@azure/core-lro/src/legacy/poller.ts","../node_modules/@azure/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.ts","../node_modules/@azure/storage-blob/src/Range.ts","../node_modules/@azure/storage-blob/src/utils/Batch.ts","../node_modules/@azure/storage-common/src/BufferScheduler.browser.ts","../node_modules/@azure/storage-blob/src/utils/utils.browser.ts","../node_modules/@azure/storage-blob/src/Clients.ts","../node_modules/@azure/storage-blob/src/BlobDownloadResponse.browser.ts","../node_modules/@azure/storage-blob/src/BatchUtils.browser.ts","../node_modules/@azure/storage-blob/src/BatchResponseParser.ts","../node_modules/@azure/storage-blob/src/utils/Mutex.ts","../node_modules/@azure/storage-blob/src/BlobBatch.ts","../node_modules/@azure/storage-blob/src/BlobBatchClient.ts","../node_modules/@azure/storage-blob/src/ContainerClient.ts","../node_modules/@azure/storage-blob/src/sas/AccountSASPermissions.ts","../node_modules/@azure/storage-blob/src/sas/AccountSASResourceTypes.ts","../node_modules/@azure/storage-blob/src/sas/AccountSASServices.ts","../node_modules/@azure/storage-blob/src/sas/AccountSASSignatureValues.ts","../node_modules/@azure/storage-blob/src/BlobServiceClient.ts","components/VideoCollector.js","pages/EagleFeedback.js","AppRoutes.js","components/AuthContext.js","components/NavMenu.js","components/Footer.js","version.js","components/Layout.js","components/PrivateRoute.js","components/PublicRoute.js","App.js","serviceWorkerRegistration.js","reportWebVitals.js","../node_modules/i18next/dist/esm/i18next.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","i18n.js","index.js"],"sourcesContent":["/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3 &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import React from 'react'\n\nlet renderErr = 'Renderer Error ☝️'\n\nexport const actions = {\n init: 'init',\n}\n\nexport const defaultRenderer = ({ value = '' }) => value;\nexport const emptyRenderer = () => <> ;\n\nexport const defaultColumn = {\n Cell: defaultRenderer,\n width: 150,\n minWidth: 0,\n maxWidth: Number.MAX_SAFE_INTEGER,\n}\n\nfunction mergeProps(...propList) {\n return propList.reduce((props, next) => {\n const { style, className, ...rest } = next\n\n props = {\n ...props,\n ...rest,\n }\n\n if (style) {\n props.style = props.style\n ? { ...(props.style || {}), ...(style || {}) }\n : style\n }\n\n if (className) {\n props.className = props.className\n ? props.className + ' ' + className\n : className\n }\n\n if (props.className === '') {\n delete props.className\n }\n\n return props\n }, {})\n}\n\nfunction handlePropGetter(prevProps, userProps, meta) {\n // Handle a lambda, pass it the previous props\n if (typeof userProps === 'function') {\n return handlePropGetter({}, userProps(prevProps, meta))\n }\n\n // Handle an array, merge each item as separate props\n if (Array.isArray(userProps)) {\n return mergeProps(prevProps, ...userProps)\n }\n\n // Handle an object by default, merge the two objects\n return mergeProps(prevProps, userProps)\n}\n\nexport const makePropGetter = (hooks, meta = {}) => {\n return (userProps = {}) =>\n [...hooks, userProps].reduce(\n (prev, next) =>\n handlePropGetter(prev, next, {\n ...meta,\n userProps,\n }),\n {}\n )\n}\n\nexport const reduceHooks = (hooks, initial, meta = {}, allowUndefined) =>\n hooks.reduce((prev, next) => {\n const nextValue = next(prev, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (!allowUndefined && typeof nextValue === 'undefined') {\n console.info(next)\n throw new Error(\n 'React Table: A reducer hook ☝️ just returned undefined! This is not allowed.'\n )\n }\n }\n return nextValue\n }, initial)\n\nexport const loopHooks = (hooks, context, meta = {}) =>\n hooks.forEach(hook => {\n const nextValue = hook(context, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (typeof nextValue !== 'undefined') {\n console.info(hook, nextValue)\n throw new Error(\n 'React Table: A loop-type hook ☝️ just returned a value! This is not allowed.'\n )\n }\n }\n })\n\nexport function ensurePluginOrder(plugins, befores, pluginName, afters) {\n if (process.env.NODE_ENV !== 'production' && afters) {\n throw new Error(\n `Defining plugins in the \"after\" section of ensurePluginOrder is no longer supported (see plugin ${pluginName})`\n )\n }\n const pluginIndex = plugins.findIndex(\n plugin => plugin.pluginName === pluginName\n )\n\n if (pluginIndex === -1) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`The plugin \"${pluginName}\" was not found in the plugin list!\nThis usually means you need to need to name your plugin hook by setting the 'pluginName' property of the hook function, eg:\n\n ${pluginName}.pluginName = '${pluginName}'\n`)\n }\n }\n\n befores.forEach(before => {\n const beforeIndex = plugins.findIndex(\n plugin => plugin.pluginName === before\n )\n if (beforeIndex > -1 && beforeIndex > pluginIndex) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `React Table: The ${pluginName} plugin hook must be placed after the ${before} plugin hook!`\n )\n }\n }\n })\n}\n\nexport function functionalUpdate(updater, old) {\n return typeof updater === 'function' ? updater(old) : updater\n}\n\nexport function useGetLatest(obj) {\n const ref = React.useRef()\n ref.current = obj\n\n return React.useCallback(() => ref.current, [])\n}\n\n// SSR has issues with useLayoutEffect still, so use useEffect during SSR\nexport const safeUseLayoutEffect =\n typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\nexport function useMountedLayoutEffect(fn, deps) {\n const mountedRef = React.useRef(false)\n\n safeUseLayoutEffect(() => {\n if (mountedRef.current) {\n fn()\n }\n mountedRef.current = true\n // eslint-disable-next-line\n }, deps)\n}\n\nexport function useAsyncDebounce(defaultFn, defaultWait = 0) {\n const debounceRef = React.useRef({})\n\n const getDefaultFn = useGetLatest(defaultFn)\n const getDefaultWait = useGetLatest(defaultWait)\n\n return React.useCallback(\n async (...args) => {\n if (!debounceRef.current.promise) {\n debounceRef.current.promise = new Promise((resolve, reject) => {\n debounceRef.current.resolve = resolve\n debounceRef.current.reject = reject\n })\n }\n\n if (debounceRef.current.timeout) {\n clearTimeout(debounceRef.current.timeout)\n }\n\n debounceRef.current.timeout = setTimeout(async () => {\n delete debounceRef.current.timeout\n try {\n debounceRef.current.resolve(await getDefaultFn()(...args))\n } catch (err) {\n debounceRef.current.reject(err)\n } finally {\n delete debounceRef.current.promise\n }\n }, getDefaultWait())\n\n return debounceRef.current.promise\n },\n [getDefaultFn, getDefaultWait]\n )\n}\n\nexport function makeRenderer(instance, column, meta = {}) {\n return (type, userProps = {}) => {\n const Comp = typeof type === 'string' ? column[type] : type\n\n if (typeof Comp === 'undefined') {\n console.info(column)\n throw new Error(renderErr)\n }\n\n return flexRender(Comp, { ...instance, column, ...meta, ...userProps })\n }\n}\n\nexport function flexRender(Comp, props) {\n return isReactComponent(Comp) ? : Comp\n}\n\nfunction isReactComponent(component) {\n return (\n isClassComponent(component) ||\n typeof component === 'function' ||\n isExoticComponent(component)\n )\n}\n\nfunction isClassComponent(component) {\n return (\n typeof component === 'function' &&\n (() => {\n const proto = Object.getPrototypeOf(component)\n return proto.prototype && proto.prototype.isReactComponent\n })()\n )\n}\n\nfunction isExoticComponent(component) {\n return (\n typeof component === 'object' &&\n typeof component.$$typeof === 'symbol' &&\n ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description)\n )\n}\n","import { defaultColumn, emptyRenderer } from './publicUtils'\n\n// Find the depth of the columns\nexport function findMaxDepth(columns, depth = 0) {\n return columns.reduce((prev, curr) => {\n if (curr.columns) {\n return Math.max(prev, findMaxDepth(curr.columns, depth + 1))\n }\n return depth\n }, 0)\n}\n\n// Build the visible columns, headers and flat column list\nexport function linkColumnStructure(columns, parent, depth = 0) {\n return columns.map(column => {\n column = {\n ...column,\n parent,\n depth,\n }\n\n assignColumnAccessor(column)\n\n if (column.columns) {\n column.columns = linkColumnStructure(column.columns, column, depth + 1)\n }\n return column\n })\n}\n\nexport function flattenColumns(columns) {\n return flattenBy(columns, 'columns')\n}\n\nexport function assignColumnAccessor(column) {\n // First check for string accessor\n let { id, accessor, Header } = column\n\n if (typeof accessor === 'string') {\n id = id || accessor\n const accessorPath = accessor.split('.')\n accessor = row => getBy(row, accessorPath)\n }\n\n if (!id && typeof Header === 'string' && Header) {\n id = Header\n }\n\n if (!id && column.columns) {\n console.error(column)\n throw new Error('A column ID (or unique \"Header\" value) is required!')\n }\n\n if (!id) {\n console.error(column)\n throw new Error('A column ID (or string accessor) is required!')\n }\n\n Object.assign(column, {\n id,\n accessor,\n })\n\n return column\n}\n\nexport function decorateColumn(column, userDefaultColumn) {\n if (!userDefaultColumn) {\n throw new Error()\n }\n Object.assign(column, {\n // Make sure there is a fallback header, just in case\n Header: emptyRenderer,\n Footer: emptyRenderer,\n ...defaultColumn,\n ...userDefaultColumn,\n ...column,\n })\n\n Object.assign(column, {\n originalWidth: column.width,\n })\n\n return column\n}\n\n// Build the header groups from the bottom up\nexport function makeHeaderGroups(\n allColumns,\n defaultColumn,\n additionalHeaderProperties = () => ({})\n) {\n const headerGroups = []\n\n let scanColumns = allColumns\n\n let uid = 0\n const getUID = () => uid++\n\n while (scanColumns.length) {\n // The header group we are creating\n const headerGroup = {\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const parentColumns = []\n\n const hasParents = scanColumns.some(d => d.parent)\n\n // Scan each column for parents\n scanColumns.forEach(column => {\n // What is the latest (last) parent column?\n let latestParentColumn = [...parentColumns].reverse()[0]\n\n let newParent\n\n if (hasParents) {\n // If the column has a parent, add it if necessary\n if (column.parent) {\n newParent = {\n ...column.parent,\n originalId: column.parent.id,\n id: `${column.parent.id}_${getUID()}`,\n headers: [column],\n ...additionalHeaderProperties(column),\n }\n } else {\n // If other columns have parents, we'll need to add a place holder if necessary\n const originalId = `${column.id}_placeholder`\n newParent = decorateColumn(\n {\n originalId,\n id: `${column.id}_placeholder_${getUID()}`,\n placeholderOf: column,\n headers: [column],\n ...additionalHeaderProperties(column),\n },\n defaultColumn\n )\n }\n\n // If the resulting parent columns are the same, just add\n // the column and increment the header span\n if (\n latestParentColumn &&\n latestParentColumn.originalId === newParent.originalId\n ) {\n latestParentColumn.headers.push(column)\n } else {\n parentColumns.push(newParent)\n }\n }\n\n headerGroup.headers.push(column)\n })\n\n headerGroups.push(headerGroup)\n\n // Start scanning the parent columns\n scanColumns = parentColumns\n }\n\n return headerGroups.reverse()\n}\n\nconst pathObjCache = new Map()\n\nexport function getBy(obj, path, def) {\n if (!path) {\n return obj\n }\n const cacheKey = typeof path === 'function' ? path : JSON.stringify(path)\n\n const pathObj =\n pathObjCache.get(cacheKey) ||\n (() => {\n const pathObj = makePathArray(path)\n pathObjCache.set(cacheKey, pathObj)\n return pathObj\n })()\n\n let val\n\n try {\n val = pathObj.reduce((cursor, pathPart) => cursor[pathPart], obj)\n } catch (e) {\n // continue regardless of error\n }\n return typeof val !== 'undefined' ? val : def\n}\n\nexport function getFirstDefined(...args) {\n for (let i = 0; i < args.length; i += 1) {\n if (typeof args[i] !== 'undefined') {\n return args[i]\n }\n }\n}\n\nexport function getElementDimensions(element) {\n const rect = element.getBoundingClientRect()\n const style = window.getComputedStyle(element)\n const margins = {\n left: parseInt(style.marginLeft),\n right: parseInt(style.marginRight),\n }\n const padding = {\n left: parseInt(style.paddingLeft),\n right: parseInt(style.paddingRight),\n }\n return {\n left: Math.ceil(rect.left),\n width: Math.ceil(rect.width),\n outerWidth: Math.ceil(\n rect.width + margins.left + margins.right + padding.left + padding.right\n ),\n marginLeft: margins.left,\n marginRight: margins.right,\n paddingLeft: padding.left,\n paddingRight: padding.right,\n scrollWidth: element.scrollWidth,\n }\n}\n\nexport function isFunction(a) {\n if (typeof a === 'function') {\n return a\n }\n}\n\nexport function flattenBy(arr, key) {\n const flat = []\n\n const recurse = arr => {\n arr.forEach(d => {\n if (!d[key]) {\n flat.push(d)\n } else {\n recurse(d[key])\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n\nexport function expandRows(\n rows,\n { manualExpandedKey, expanded, expandSubRows = true }\n) {\n const expandedRows = []\n\n const handleRow = (row, addToExpandedRows = true) => {\n row.isExpanded =\n (row.original && row.original[manualExpandedKey]) || expanded[row.id]\n\n row.canExpand = row.subRows && !!row.subRows.length\n\n if (addToExpandedRows) {\n expandedRows.push(row)\n }\n\n if (row.subRows && row.subRows.length && row.isExpanded) {\n row.subRows.forEach(row => handleRow(row, expandSubRows))\n }\n }\n\n rows.forEach(row => handleRow(row))\n\n return expandedRows\n}\n\nexport function getFilterMethod(filter, userFilterTypes, filterTypes) {\n return (\n isFunction(filter) ||\n userFilterTypes[filter] ||\n filterTypes[filter] ||\n filterTypes.text\n )\n}\n\nexport function shouldAutoRemoveFilter(autoRemove, value, column) {\n return autoRemove ? autoRemove(value, column) : typeof value === 'undefined'\n}\n\nexport function unpreparedAccessWarning() {\n throw new Error(\n 'React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.'\n )\n}\n\nlet passiveSupported = null\nexport function passiveEventSupported() {\n // memoize support to avoid adding multiple test events\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n window.addEventListener('test', null, options)\n window.removeEventListener('test', null, options)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\n//\n\nconst reOpenBracket = /\\[/g\nconst reCloseBracket = /\\]/g\n\nfunction makePathArray(obj) {\n return (\n flattenDeep(obj)\n // remove all periods in parts\n .map(d => String(d).replace('.', '_'))\n // join parts using period\n .join('.')\n // replace brackets with periods\n .replace(reOpenBracket, '.')\n .replace(reCloseBracket, '')\n // split it back out on periods\n .split('.')\n )\n}\n\nfunction flattenDeep(arr, newArr = []) {\n if (!Array.isArray(arr)) {\n newArr.push(arr)\n } else {\n for (let i = 0; i < arr.length; i += 1) {\n flattenDeep(arr[i], newArr)\n }\n }\n return newArr\n}\n","const defaultGetTableProps = props => ({\n role: 'table',\n ...props,\n})\n\nconst defaultGetTableBodyProps = props => ({\n role: 'rowgroup',\n ...props,\n})\n\nconst defaultGetHeaderProps = (props, { column }) => ({\n key: `header_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n role: 'columnheader',\n ...props,\n})\n\nconst defaultGetFooterProps = (props, { column }) => ({\n key: `footer_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n ...props,\n})\n\nconst defaultGetHeaderGroupProps = (props, { index }) => ({\n key: `headerGroup_${index}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetFooterGroupProps = (props, { index }) => ({\n key: `footerGroup_${index}`,\n ...props,\n})\n\nconst defaultGetRowProps = (props, { row }) => ({\n key: `row_${row.id}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetCellProps = (props, { cell }) => ({\n key: `cell_${cell.row.id}_${cell.column.id}`,\n role: 'cell',\n ...props,\n})\n\nexport default function makeDefaultPluginHooks() {\n return {\n useOptions: [],\n stateReducers: [],\n useControlledState: [],\n columns: [],\n columnsDeps: [],\n allColumns: [],\n allColumnsDeps: [],\n accessValue: [],\n materializedColumns: [],\n materializedColumnsDeps: [],\n useInstanceAfterData: [],\n visibleColumns: [],\n visibleColumnsDeps: [],\n headerGroups: [],\n headerGroupsDeps: [],\n useInstanceBeforeDimensions: [],\n useInstance: [],\n prepareRow: [],\n getTableProps: [defaultGetTableProps],\n getTableBodyProps: [defaultGetTableBodyProps],\n getHeaderGroupProps: [defaultGetHeaderGroupProps],\n getFooterGroupProps: [defaultGetFooterGroupProps],\n getHeaderProps: [defaultGetHeaderProps],\n getFooterProps: [defaultGetFooterProps],\n getRowProps: [defaultGetRowProps],\n getCellProps: [defaultGetCellProps],\n useFinalInstance: [],\n }\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useGetLatest,\n makePropGetter,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nactions.resetHiddenColumns = 'resetHiddenColumns'\nactions.toggleHideColumn = 'toggleHideColumn'\nactions.setHiddenColumns = 'setHiddenColumns'\nactions.toggleHideAllColumns = 'toggleHideAllColumns'\n\nexport const useColumnVisibility = hooks => {\n hooks.getToggleHiddenProps = [defaultGetToggleHiddenProps]\n hooks.getToggleHideAllColumnsProps = [defaultGetToggleHideAllColumnsProps]\n\n hooks.stateReducers.push(reducer)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n hooks.headerGroupsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.hiddenColumns,\n ])\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnVisibility.pluginName = 'useColumnVisibility'\n\nconst defaultGetToggleHiddenProps = (props, { column }) => [\n props,\n {\n onChange: e => {\n column.toggleHidden(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: column.isVisible,\n title: 'Toggle Column Visible',\n },\n]\n\nconst defaultGetToggleHideAllColumnsProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleHideAllColumns(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: !instance.allColumnsHidden && !instance.state.hiddenColumns.length,\n title: 'Toggle All Columns Hidden',\n indeterminate:\n !instance.allColumnsHidden && instance.state.hiddenColumns.length,\n },\n]\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n hiddenColumns: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetHiddenColumns) {\n return {\n ...state,\n hiddenColumns: instance.initialState.hiddenColumns || [],\n }\n }\n\n if (action.type === actions.toggleHideColumn) {\n const should =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.includes(action.columnId)\n\n const hiddenColumns = should\n ? [...state.hiddenColumns, action.columnId]\n : state.hiddenColumns.filter(d => d !== action.columnId)\n\n return {\n ...state,\n hiddenColumns,\n }\n }\n\n if (action.type === actions.setHiddenColumns) {\n return {\n ...state,\n hiddenColumns: functionalUpdate(action.value, state.hiddenColumns),\n }\n }\n\n if (action.type === actions.toggleHideAllColumns) {\n const shouldAll =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.length\n\n return {\n ...state,\n hiddenColumns: shouldAll ? instance.allColumns.map(d => d.id) : [],\n }\n }\n}\n\nfunction useInstanceBeforeDimensions(instance) {\n const {\n headers,\n state: { hiddenColumns },\n } = instance\n\n const isMountedRef = React.useRef(false)\n\n if (!isMountedRef.current) {\n }\n\n const handleColumn = (column, parentVisible) => {\n column.isVisible = parentVisible && !hiddenColumns.includes(column.id)\n\n let totalVisibleHeaderCount = 0\n\n if (column.headers && column.headers.length) {\n column.headers.forEach(\n subColumn =>\n (totalVisibleHeaderCount += handleColumn(subColumn, column.isVisible))\n )\n } else {\n totalVisibleHeaderCount = column.isVisible ? 1 : 0\n }\n\n column.totalVisibleHeaderCount = totalVisibleHeaderCount\n\n return totalVisibleHeaderCount\n }\n\n let totalVisibleHeaderCount = 0\n\n headers.forEach(\n subHeader => (totalVisibleHeaderCount += handleColumn(subHeader, true))\n )\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n flatHeaders,\n dispatch,\n allColumns,\n getHooks,\n state: { hiddenColumns },\n autoResetHiddenColumns = true,\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n const allColumnsHidden = allColumns.length === hiddenColumns.length\n\n const toggleHideColumn = React.useCallback(\n (columnId, value) =>\n dispatch({ type: actions.toggleHideColumn, columnId, value }),\n [dispatch]\n )\n\n const setHiddenColumns = React.useCallback(\n value => dispatch({ type: actions.setHiddenColumns, value }),\n [dispatch]\n )\n\n const toggleHideAllColumns = React.useCallback(\n value => dispatch({ type: actions.toggleHideAllColumns, value }),\n [dispatch]\n )\n\n const getToggleHideAllColumnsProps = makePropGetter(\n getHooks().getToggleHideAllColumnsProps,\n { instance: getInstance() }\n )\n\n flatHeaders.forEach(column => {\n column.toggleHidden = value => {\n dispatch({\n type: actions.toggleHideColumn,\n columnId: column.id,\n value,\n })\n }\n\n column.getToggleHiddenProps = makePropGetter(\n getHooks().getToggleHiddenProps,\n {\n instance: getInstance(),\n column,\n }\n )\n })\n\n const getAutoResetHiddenColumns = useGetLatest(autoResetHiddenColumns)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetHiddenColumns()) {\n dispatch({ type: actions.resetHiddenColumns })\n }\n }, [dispatch, columns])\n\n Object.assign(instance, {\n allColumnsHidden,\n toggleHideColumn,\n setHiddenColumns,\n toggleHideAllColumns,\n getToggleHideAllColumnsProps,\n })\n}\n","import React from 'react'\n\n//\n\nimport {\n linkColumnStructure,\n flattenColumns,\n assignColumnAccessor,\n unpreparedAccessWarning,\n makeHeaderGroups,\n decorateColumn,\n} from '../utils'\n\nimport {\n useGetLatest,\n reduceHooks,\n actions,\n loopHooks,\n makePropGetter,\n makeRenderer,\n} from '../publicUtils'\n\nimport makeDefaultPluginHooks from '../makeDefaultPluginHooks'\n\nimport { useColumnVisibility } from './useColumnVisibility'\n\nconst defaultInitialState = {}\nconst defaultColumnInstance = {}\nconst defaultReducer = (state, action, prevState) => state\nconst defaultGetSubRows = (row, index) => row.subRows || []\nconst defaultGetRowId = (row, index, parent) =>\n `${parent ? [parent.id, index].join('.') : index}`\nconst defaultUseControlledState = d => d\n\nfunction applyDefaults(props) {\n const {\n initialState = defaultInitialState,\n defaultColumn = defaultColumnInstance,\n getSubRows = defaultGetSubRows,\n getRowId = defaultGetRowId,\n stateReducer = defaultReducer,\n useControlledState = defaultUseControlledState,\n ...rest\n } = props\n\n return {\n ...rest,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n }\n}\n\nexport const useTable = (props, ...plugins) => {\n // Apply default props\n props = applyDefaults(props)\n\n // Add core plugins\n plugins = [useColumnVisibility, ...plugins]\n\n // Create the table instance\n let instanceRef = React.useRef({})\n\n // Create a getter for the instance (helps avoid a lot of potential memory leaks)\n const getInstance = useGetLatest(instanceRef.current)\n\n // Assign the props, plugins and hooks to the instance\n Object.assign(getInstance(), {\n ...props,\n plugins,\n hooks: makeDefaultPluginHooks(),\n })\n\n // Allow plugins to register hooks as early as possible\n plugins.filter(Boolean).forEach(plugin => {\n plugin(getInstance().hooks)\n })\n\n // Consume all hooks and make a getter for them\n const getHooks = useGetLatest(getInstance().hooks)\n getInstance().getHooks = getHooks\n delete getInstance().hooks\n\n // Allow useOptions hooks to modify the options coming into the table\n Object.assign(\n getInstance(),\n reduceHooks(getHooks().useOptions, applyDefaults(props))\n )\n\n const {\n data,\n columns: userColumns,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n } = getInstance()\n\n // Setup user reducer ref\n const getStateReducer = useGetLatest(stateReducer)\n\n // Build the reducer\n const reducer = React.useCallback(\n (state, action) => {\n // Detect invalid actions\n if (!action.type) {\n console.info({ action })\n throw new Error('Unknown Action 👆')\n }\n\n // Reduce the state from all plugin reducers\n return [\n ...getHooks().stateReducers,\n // Allow the user to add their own state reducer(s)\n ...(Array.isArray(getStateReducer())\n ? getStateReducer()\n : [getStateReducer()]),\n ].reduce(\n (s, handler) => handler(s, action, state, getInstance()) || s,\n state\n )\n },\n [getHooks, getStateReducer, getInstance]\n )\n\n // Start the reducer\n const [reducerState, dispatch] = React.useReducer(reducer, undefined, () =>\n reducer(initialState, { type: actions.init })\n )\n\n // Allow the user to control the final state with hooks\n const state = reduceHooks(\n [...getHooks().useControlledState, useControlledState],\n reducerState,\n { instance: getInstance() }\n )\n\n Object.assign(getInstance(), {\n state,\n dispatch,\n })\n\n // Decorate All the columns\n const columns = React.useMemo(\n () =>\n linkColumnStructure(\n reduceHooks(getHooks().columns, userColumns, {\n instance: getInstance(),\n })\n ),\n [\n getHooks,\n getInstance,\n userColumns,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().columnsDeps, [], { instance: getInstance() }),\n ]\n )\n getInstance().columns = columns\n\n // Get the flat list of all columns and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let allColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().allColumns, flattenColumns(columns), {\n instance: getInstance(),\n }).map(assignColumnAccessor),\n [\n columns,\n getHooks,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().allColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().allColumns = allColumns\n\n // Access the row model using initial columns\n const [rows, flatRows, rowsById] = React.useMemo(() => {\n let rows = []\n let flatRows = []\n const rowsById = {}\n\n const allColumnsQueue = [...allColumns]\n\n while (allColumnsQueue.length) {\n const column = allColumnsQueue.shift()\n accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks: getHooks().accessValue,\n getInstance,\n })\n }\n\n return [rows, flatRows, rowsById]\n }, [allColumns, data, getRowId, getSubRows, getHooks, getInstance])\n\n Object.assign(getInstance(), {\n rows,\n initialRows: [...rows],\n flatRows,\n rowsById,\n // materializedColumns,\n })\n\n loopHooks(getHooks().useInstanceAfterData, getInstance())\n\n // Get the flat list of all columns AFTER the rows\n // have been access, and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let visibleColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().visibleColumns, allColumns, {\n instance: getInstance(),\n }).map(d => decorateColumn(d, defaultColumn)),\n [\n getHooks,\n allColumns,\n getInstance,\n defaultColumn,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().visibleColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n\n // Combine new visible columns with all columns\n allColumns = React.useMemo(() => {\n const columns = [...visibleColumns]\n\n allColumns.forEach(column => {\n if (!columns.find(d => d.id === column.id)) {\n columns.push(column)\n }\n })\n\n return columns\n }, [allColumns, visibleColumns])\n getInstance().allColumns = allColumns\n\n if (process.env.NODE_ENV !== 'production') {\n const duplicateColumns = allColumns.filter((column, i) => {\n return allColumns.findIndex(d => d.id === column.id) !== i\n })\n\n if (duplicateColumns.length) {\n console.info(allColumns)\n throw new Error(\n `Duplicate columns were found with ids: \"${duplicateColumns\n .map(d => d.id)\n .join(', ')}\" in the columns array above`\n )\n }\n }\n\n // Make the headerGroups\n const headerGroups = React.useMemo(\n () =>\n reduceHooks(\n getHooks().headerGroups,\n makeHeaderGroups(visibleColumns, defaultColumn),\n getInstance()\n ),\n [\n getHooks,\n visibleColumns,\n defaultColumn,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().headerGroupsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().headerGroups = headerGroups\n\n // Get the first level of headers\n const headers = React.useMemo(\n () => (headerGroups.length ? headerGroups[0].headers : []),\n [headerGroups]\n )\n getInstance().headers = headers\n\n // Provide a flat header list for utilities\n getInstance().flatHeaders = headerGroups.reduce(\n (all, headerGroup) => [...all, ...headerGroup.headers],\n []\n )\n\n loopHooks(getHooks().useInstanceBeforeDimensions, getInstance())\n\n // Filter columns down to visible ones\n const visibleColumnsDep = visibleColumns\n .filter(d => d.isVisible)\n .map(d => d.id)\n .sort()\n .join('_')\n\n visibleColumns = React.useMemo(\n () => visibleColumns.filter(d => d.isVisible),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [visibleColumns, visibleColumnsDep]\n )\n getInstance().visibleColumns = visibleColumns\n\n // Header Visibility is needed by this point\n const [\n totalColumnsMinWidth,\n totalColumnsWidth,\n totalColumnsMaxWidth,\n ] = calculateHeaderWidths(headers)\n\n getInstance().totalColumnsMinWidth = totalColumnsMinWidth\n getInstance().totalColumnsWidth = totalColumnsWidth\n getInstance().totalColumnsMaxWidth = totalColumnsMaxWidth\n\n loopHooks(getHooks().useInstance, getInstance())\n\n // Each materialized header needs to be assigned a render function and other\n // prop getter properties here.\n ;[...getInstance().flatHeaders, ...getInstance().allColumns].forEach(\n column => {\n // Give columns/headers rendering power\n column.render = makeRenderer(getInstance(), column)\n\n // Give columns/headers a default getHeaderProps\n column.getHeaderProps = makePropGetter(getHooks().getHeaderProps, {\n instance: getInstance(),\n column,\n })\n\n // Give columns/headers a default getFooterProps\n column.getFooterProps = makePropGetter(getHooks().getFooterProps, {\n instance: getInstance(),\n column,\n })\n }\n )\n\n getInstance().headerGroups = React.useMemo(\n () =>\n headerGroups.filter((headerGroup, i) => {\n // Filter out any headers and headerGroups that don't have visible columns\n headerGroup.headers = headerGroup.headers.filter(column => {\n const recurse = headers =>\n headers.filter(column => {\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n }).length\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n })\n\n // Give headerGroups getRowProps\n if (headerGroup.headers.length) {\n headerGroup.getHeaderGroupProps = makePropGetter(\n getHooks().getHeaderGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n headerGroup.getFooterGroupProps = makePropGetter(\n getHooks().getFooterGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n return true\n }\n\n return false\n }),\n [headerGroups, getInstance, getHooks]\n )\n\n getInstance().footerGroups = [...getInstance().headerGroups].reverse()\n\n // The prepareRow function is absolutely necessary and MUST be called on\n // any rows the user wishes to be displayed.\n\n getInstance().prepareRow = React.useCallback(\n row => {\n row.getRowProps = makePropGetter(getHooks().getRowProps, {\n instance: getInstance(),\n row,\n })\n\n // Build the visible cells for each row\n row.allCells = allColumns.map(column => {\n const value = row.values[column.id]\n\n const cell = {\n column,\n row,\n value,\n }\n\n // Give each cell a getCellProps base\n cell.getCellProps = makePropGetter(getHooks().getCellProps, {\n instance: getInstance(),\n cell,\n })\n\n // Give each cell a renderer function (supports multiple renderers)\n cell.render = makeRenderer(getInstance(), column, {\n row,\n cell,\n value,\n })\n\n return cell\n })\n\n row.cells = visibleColumns.map(column =>\n row.allCells.find(cell => cell.column.id === column.id)\n )\n\n // need to apply any row specific hooks (useExpanded requires this)\n loopHooks(getHooks().prepareRow, row, { instance: getInstance() })\n },\n [getHooks, getInstance, allColumns, visibleColumns]\n )\n\n getInstance().getTableProps = makePropGetter(getHooks().getTableProps, {\n instance: getInstance(),\n })\n\n getInstance().getTableBodyProps = makePropGetter(\n getHooks().getTableBodyProps,\n {\n instance: getInstance(),\n }\n )\n\n loopHooks(getHooks().useFinalInstance, getInstance())\n\n return getInstance()\n}\n\nfunction calculateHeaderWidths(headers, left = 0) {\n let sumTotalMinWidth = 0\n let sumTotalWidth = 0\n let sumTotalMaxWidth = 0\n let sumTotalFlexWidth = 0\n\n headers.forEach(header => {\n let { headers: subHeaders } = header\n\n header.totalLeft = left\n\n if (subHeaders && subHeaders.length) {\n const [\n totalMinWidth,\n totalWidth,\n totalMaxWidth,\n totalFlexWidth,\n ] = calculateHeaderWidths(subHeaders, left)\n header.totalMinWidth = totalMinWidth\n header.totalWidth = totalWidth\n header.totalMaxWidth = totalMaxWidth\n header.totalFlexWidth = totalFlexWidth\n } else {\n header.totalMinWidth = header.minWidth\n header.totalWidth = Math.min(\n Math.max(header.minWidth, header.width),\n header.maxWidth\n )\n header.totalMaxWidth = header.maxWidth\n header.totalFlexWidth = header.canResize ? header.totalWidth : 0\n }\n if (header.isVisible) {\n left += header.totalWidth\n sumTotalMinWidth += header.totalMinWidth\n sumTotalWidth += header.totalWidth\n sumTotalMaxWidth += header.totalMaxWidth\n sumTotalFlexWidth += header.totalFlexWidth\n }\n })\n\n return [sumTotalMinWidth, sumTotalWidth, sumTotalMaxWidth, sumTotalFlexWidth]\n}\n\nfunction accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks,\n getInstance,\n}) {\n // Access the row's data column-by-column\n // We do it this way so we can incrementally add materialized\n // columns after the first pass and avoid excessive looping\n const accessRow = (originalRow, rowIndex, depth = 0, parent, parentRows) => {\n // Keep the original reference around\n const original = originalRow\n\n const id = getRowId(originalRow, rowIndex, parent)\n\n let row = rowsById[id]\n\n // If the row hasn't been created, let's make it\n if (!row) {\n row = {\n id,\n original,\n index: rowIndex,\n depth,\n cells: [{}], // This is a dummy cell\n }\n\n // Override common array functions (and the dummy cell's getCellProps function)\n // to show an error if it is accessed without calling prepareRow\n row.cells.map = unpreparedAccessWarning\n row.cells.filter = unpreparedAccessWarning\n row.cells.forEach = unpreparedAccessWarning\n row.cells[0].getCellProps = unpreparedAccessWarning\n\n // Create the cells and values\n row.values = {}\n\n // Push this row into the parentRows array\n parentRows.push(row)\n // Keep track of every row in a flat array\n flatRows.push(row)\n // Also keep track of every row by its ID\n rowsById[id] = row\n\n // Get the original subrows\n row.originalSubRows = getSubRows(originalRow, rowIndex)\n\n // Then recursively access them\n if (row.originalSubRows) {\n const subRows = []\n row.originalSubRows.forEach((d, i) =>\n accessRow(d, i, depth + 1, row, subRows)\n )\n // Keep the new subRows array on the row\n row.subRows = subRows\n }\n } else if (row.subRows) {\n // If the row exists, then it's already been accessed\n // Keep recursing, but don't worry about passing the\n // accumlator array (those rows already exist)\n row.originalSubRows.forEach((d, i) => accessRow(d, i, depth + 1, row))\n }\n\n // If the column has an accessor, use it to get a value\n if (column.accessor) {\n row.values[column.id] = column.accessor(\n originalRow,\n rowIndex,\n row,\n parentRows,\n data\n )\n }\n\n // Allow plugins to manipulate the column value\n row.values[column.id] = reduceHooks(\n accessValueHooks,\n row.values[column.id],\n {\n row,\n column,\n instance: getInstance(),\n },\n true\n )\n }\n\n data.forEach((originalRow, rowIndex) =>\n accessRow(originalRow, rowIndex, 0, undefined, rows)\n )\n}\n","import React from 'react'\n\nimport { expandRows } from '../utils'\n\nimport {\n useGetLatest,\n actions,\n useMountedLayoutEffect,\n makePropGetter,\n ensurePluginOrder,\n} from '../publicUtils'\n\n// Actions\nactions.resetExpanded = 'resetExpanded'\nactions.toggleRowExpanded = 'toggleRowExpanded'\nactions.toggleAllRowsExpanded = 'toggleAllRowsExpanded'\n\nexport const useExpanded = hooks => {\n hooks.getToggleAllRowsExpandedProps = [defaultGetToggleAllRowsExpandedProps]\n hooks.getToggleRowExpandedProps = [defaultGetToggleRowExpandedProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseExpanded.pluginName = 'useExpanded'\n\nconst defaultGetToggleAllRowsExpandedProps = (props, { instance }) => [\n props,\n {\n onClick: e => {\n instance.toggleAllRowsExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle All Rows Expanded',\n },\n]\n\nconst defaultGetToggleRowExpandedProps = (props, { row }) => [\n props,\n {\n onClick: () => {\n row.toggleRowExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle Row Expanded',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n expanded: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetExpanded) {\n return {\n ...state,\n expanded: instance.initialState.expanded || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsExpanded) {\n const { value } = action\n const { rowsById } = instance\n\n const isAllRowsExpanded =\n Object.keys(rowsById).length === Object.keys(state.expanded).length\n\n const expandAll = typeof value !== 'undefined' ? value : !isAllRowsExpanded\n\n if (expandAll) {\n const expanded = {}\n\n Object.keys(rowsById).forEach(rowId => {\n expanded[rowId] = true\n })\n\n return {\n ...state,\n expanded,\n }\n }\n\n return {\n ...state,\n expanded: {},\n }\n }\n\n if (action.type === actions.toggleRowExpanded) {\n const { id, value: setExpanded } = action\n const exists = state.expanded[id]\n\n const shouldExist =\n typeof setExpanded !== 'undefined' ? setExpanded : !exists\n\n if (!exists && shouldExist) {\n return {\n ...state,\n expanded: {\n ...state.expanded,\n [id]: true,\n },\n }\n } else if (exists && !shouldExist) {\n const { [id]: _, ...rest } = state.expanded\n return {\n ...state,\n expanded: rest,\n }\n } else {\n return state\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n rowsById,\n manualExpandedKey = 'expanded',\n paginateExpandedRows = true,\n expandSubRows = true,\n autoResetExpanded = true,\n getHooks,\n plugins,\n state: { expanded },\n dispatch,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useSortBy', 'useGroupBy', 'usePivotColumns', 'useGlobalFilter'],\n 'useExpanded'\n )\n\n const getAutoResetExpanded = useGetLatest(autoResetExpanded)\n\n let isAllRowsExpanded = Boolean(\n Object.keys(rowsById).length && Object.keys(expanded).length\n )\n\n if (isAllRowsExpanded) {\n if (Object.keys(rowsById).some(id => !expanded[id])) {\n isAllRowsExpanded = false\n }\n }\n\n // Bypass any effects from firing when this changes\n useMountedLayoutEffect(() => {\n if (getAutoResetExpanded()) {\n dispatch({ type: actions.resetExpanded })\n }\n }, [dispatch, data])\n\n const toggleRowExpanded = React.useCallback(\n (id, value) => {\n dispatch({ type: actions.toggleRowExpanded, id, value })\n },\n [dispatch]\n )\n\n const toggleAllRowsExpanded = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsExpanded, value }),\n [dispatch]\n )\n\n const expandedRows = React.useMemo(() => {\n if (paginateExpandedRows) {\n return expandRows(rows, { manualExpandedKey, expanded, expandSubRows })\n }\n\n return rows\n }, [paginateExpandedRows, rows, manualExpandedKey, expanded, expandSubRows])\n\n const expandedDepth = React.useMemo(() => findExpandedDepth(expanded), [\n expanded,\n ])\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsExpandedProps = makePropGetter(\n getHooks().getToggleAllRowsExpandedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n preExpandedRows: rows,\n expandedRows,\n rows: expandedRows,\n expandedDepth,\n isAllRowsExpanded,\n toggleRowExpanded,\n toggleAllRowsExpanded,\n getToggleAllRowsExpandedProps,\n })\n}\n\nfunction prepareRow(row, { instance: { getHooks }, instance }) {\n row.toggleRowExpanded = set => instance.toggleRowExpanded(row.id, set)\n\n row.getToggleRowExpandedProps = makePropGetter(\n getHooks().getToggleRowExpandedProps,\n {\n instance,\n row,\n }\n )\n}\n\nfunction findExpandedDepth(expanded) {\n let maxDepth = 0\n\n Object.keys(expanded).forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n}\n","export const text = (rows, ids, filterValue) => {\n rows = rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return String(rowValue)\n .toLowerCase()\n .includes(String(filterValue).toLowerCase())\n })\n })\n return rows\n}\n\ntext.autoRemove = val => !val\n\nexport const exactText = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase()\n : true\n })\n })\n}\n\nexactText.autoRemove = val => !val\n\nexport const exactTextCase = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue) === String(filterValue)\n : true\n })\n })\n}\n\nexactTextCase.autoRemove = val => !val\n\nexport const includes = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue.includes(filterValue)\n })\n })\n}\n\nincludes.autoRemove = val => !val || !val.length\n\nexport const includesAll = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.every(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesAll.autoRemove = val => !val || !val.length\n\nexport const includesSome = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.some(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesSome.autoRemove = val => !val || !val.length\n\nexport const includesValue = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return filterValue.includes(rowValue)\n })\n })\n}\n\nincludesValue.autoRemove = val => !val || !val.length\n\nexport const exact = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue === filterValue\n })\n })\n}\n\nexact.autoRemove = val => typeof val === 'undefined'\n\nexport const equals = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n // eslint-disable-next-line eqeqeq\n return rowValue == filterValue\n })\n })\n}\n\nequals.autoRemove = val => val == null\n\nexport const between = (rows, ids, filterValue) => {\n let [min, max] = filterValue || []\n\n min = typeof min === 'number' ? min : -Infinity\n max = typeof max === 'number' ? max : Infinity\n\n if (min > max) {\n const temp = min\n min = max\n max = temp\n }\n\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue >= min && rowValue <= max\n })\n })\n}\n\nbetween.autoRemove = val =>\n !val || (typeof val[0] !== 'number' && typeof val[1] !== 'number')\n","import React from 'react'\n\nimport {\n getFirstDefined,\n getFilterMethod,\n shouldAutoRemoveFilter,\n} from '../utils'\n\nimport {\n actions,\n useGetLatest,\n functionalUpdate,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetFilters = 'resetFilters'\nactions.setFilter = 'setFilter'\nactions.setAllFilters = 'setAllFilters'\n\nexport const useFilters = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseFilters.pluginName = 'useFilters'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n filters: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetFilters) {\n return {\n ...state,\n filters: instance.initialState.filters || [],\n }\n }\n\n if (action.type === actions.setFilter) {\n const { columnId, filterValue } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${columnId}`\n )\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n const previousfilter = state.filters.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n filterValue,\n previousfilter && previousfilter.value\n )\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter, column)) {\n return {\n ...state,\n filters: state.filters.filter(d => d.id !== columnId),\n }\n }\n\n if (previousfilter) {\n return {\n ...state,\n filters: state.filters.map(d => {\n if (d.id === columnId) {\n return { id: columnId, value: newFilter }\n }\n return d\n }),\n }\n }\n\n return {\n ...state,\n filters: [...state.filters, { id: columnId, value: newFilter }],\n }\n }\n\n if (action.type === actions.setAllFilters) {\n const { filters } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n return {\n ...state,\n // Filter out undefined values\n filters: functionalUpdate(filters, state.filters).filter(filter => {\n const column = allColumns.find(d => d.id === filter.id)\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (\n shouldAutoRemoveFilter(filterMethod.autoRemove, filter.value, column)\n ) {\n return false\n }\n return true\n }),\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n manualFilters,\n defaultCanFilter = false,\n disableFilters,\n state: { filters },\n dispatch,\n autoResetFilters = true,\n } = instance\n\n const setFilter = React.useCallback(\n (columnId, filterValue) => {\n dispatch({ type: actions.setFilter, columnId, filterValue })\n },\n [dispatch]\n )\n\n const setAllFilters = React.useCallback(\n filters => {\n dispatch({\n type: actions.setAllFilters,\n filters,\n })\n },\n [dispatch]\n )\n\n allColumns.forEach(column => {\n const {\n id,\n accessor,\n defaultCanFilter: columnDefaultCanFilter,\n disableFilters: columnDisableFilters,\n } = column\n\n // Determine if a column is filterable\n column.canFilter = accessor\n ? getFirstDefined(\n columnDisableFilters === true ? false : undefined,\n disableFilters === true ? false : undefined,\n true\n )\n : getFirstDefined(columnDefaultCanFilter, defaultCanFilter, false)\n\n // Provide the column a way of updating the filter value\n column.setFilter = val => setFilter(column.id, val)\n\n // Provide the current filter value to the column for\n // convenience\n const found = filters.find(d => d.id === id)\n column.filterValue = found && found.value\n })\n\n const [\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n ] = React.useMemo(() => {\n if (manualFilters || !filters.length) {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n // Filters top level and nested rows\n const filterRows = (rows, depth = 0) => {\n let filteredRows = rows\n\n filteredRows = filters.reduce(\n (filteredSoFar, { id: columnId, value: filterValue }) => {\n // Find the filters column\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n return filteredSoFar\n }\n\n if (depth === 0) {\n column.preFilteredRows = filteredSoFar\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(\n `Could not find a valid 'column.filter' for column with the ID: ${column.id}.`\n )\n return filteredSoFar\n }\n\n // Pass the rows, id, filterValue and column to the filterMethod\n // to get the filtered rows back\n column.filteredRows = filterMethod(\n filteredSoFar,\n [columnId],\n filterValue\n )\n\n return column.filteredRows\n },\n rows\n )\n\n // Apply the filter to any subRows\n // We technically could do this recursively in the above loop,\n // but that would severely hinder the API for the user, since they\n // would be required to do that recursion in some scenarios\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n if (!row.subRows) {\n return\n }\n\n row.subRows =\n row.subRows && row.subRows.length > 0\n ? filterRows(row.subRows, depth + 1)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualFilters,\n filters,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userFilterTypes,\n ])\n\n React.useMemo(() => {\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = allColumns.filter(\n column => !filters.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n nonFilteredColumns.forEach(column => {\n column.preFilteredRows = filteredRows\n column.filteredRows = filteredRows\n })\n }, [filteredRows, filters, allColumns])\n\n const getAutoResetFilters = useGetLatest(autoResetFilters)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetFilters()) {\n dispatch({ type: actions.resetFilters })\n }\n }, [dispatch, manualFilters ? null : data])\n\n Object.assign(instance, {\n preFilteredRows: rows,\n preFilteredFlatRows: flatRows,\n preFilteredRowsById: rowsById,\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n rows: filteredRows,\n flatRows: filteredFlatRows,\n rowsById: filteredRowsById,\n setFilter,\n setAllFilters,\n })\n}\n","import React from 'react'\n\nimport {\n getFilterMethod,\n shouldAutoRemoveFilter,\n getFirstDefined,\n} from '../utils'\n\nimport {\n actions,\n useMountedLayoutEffect,\n functionalUpdate,\n useGetLatest,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetGlobalFilter = 'resetGlobalFilter'\nactions.setGlobalFilter = 'setGlobalFilter'\n\nexport const useGlobalFilter = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseGlobalFilter.pluginName = 'useGlobalFilter'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.resetGlobalFilter) {\n return {\n ...state,\n globalFilter: instance.initialState.globalFilter || undefined,\n }\n }\n\n if (action.type === actions.setGlobalFilter) {\n const { filterValue } = action\n const { userFilterTypes } = instance\n\n const filterMethod = getFilterMethod(\n instance.globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n const newFilter = functionalUpdate(filterValue, state.globalFilter)\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter)) {\n const { globalFilter, ...stateWithoutGlobalFilter } = state\n return stateWithoutGlobalFilter\n }\n\n return {\n ...state,\n globalFilter: newFilter,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n globalFilter,\n manualGlobalFilter,\n state: { globalFilter: globalFilterValue },\n dispatch,\n autoResetGlobalFilter = true,\n disableGlobalFilter,\n } = instance\n\n const setGlobalFilter = React.useCallback(\n filterValue => {\n dispatch({ type: actions.setGlobalFilter, filterValue })\n },\n [dispatch]\n )\n\n // TODO: Create a filter cache for incremental high speed multi-filtering\n // This gets pretty complicated pretty fast, since you have to maintain a\n // cache for each row group (top-level rows, and each row's recursive subrows)\n // This would make multi-filtering a lot faster though. Too far?\n\n const [\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n ] = React.useMemo(() => {\n if (manualGlobalFilter || typeof globalFilterValue === 'undefined') {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n const filterMethod = getFilterMethod(\n globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(`Could not find a valid 'globalFilter' option.`)\n return rows\n }\n\n allColumns.forEach(column => {\n const { disableGlobalFilter: columnDisableGlobalFilter } = column\n\n column.canFilter = getFirstDefined(\n columnDisableGlobalFilter === true ? false : undefined,\n disableGlobalFilter === true ? false : undefined,\n true\n )\n })\n\n const filterableColumns = allColumns.filter(c => c.canFilter === true)\n\n // Filters top level and nested rows\n const filterRows = filteredRows => {\n filteredRows = filterMethod(\n filteredRows,\n filterableColumns.map(d => d.id),\n globalFilterValue\n )\n\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n\n row.subRows =\n row.subRows && row.subRows.length\n ? filterRows(row.subRows)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualGlobalFilter,\n globalFilterValue,\n globalFilter,\n userFilterTypes,\n allColumns,\n rows,\n flatRows,\n rowsById,\n disableGlobalFilter,\n ])\n\n const getAutoResetGlobalFilter = useGetLatest(autoResetGlobalFilter)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGlobalFilter()) {\n dispatch({ type: actions.resetGlobalFilter })\n }\n }, [dispatch, manualGlobalFilter ? null : data])\n\n Object.assign(instance, {\n preGlobalFilteredRows: rows,\n preGlobalFilteredFlatRows: flatRows,\n preGlobalFilteredRowsById: rowsById,\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n rows: globalFilteredRows,\n flatRows: globalFilteredFlatRows,\n rowsById: globalFilteredRowsById,\n setGlobalFilter,\n disableGlobalFilter,\n })\n}\n","export function sum(values, aggregatedValues) {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return aggregatedValues.reduce(\n (sum, next) => sum + (typeof next === 'number' ? next : 0),\n 0\n )\n}\n\nexport function min(values) {\n let min = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n }\n })\n\n return min\n}\n\nexport function max(values) {\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n max = Math.max(max, value)\n }\n })\n\n return max\n}\n\nexport function minMax(values) {\n let min = values[0] || 0\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n max = Math.max(max, value)\n }\n })\n\n return `${min}..${max}`\n}\n\nexport function average(values) {\n return sum(null, values) / values.length\n}\n\nexport function median(values) {\n if (!values.length) {\n return null\n }\n\n const mid = Math.floor(values.length / 2)\n const nums = [...values].sort((a, b) => a - b)\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2\n}\n\nexport function unique(values) {\n return Array.from(new Set(values).values())\n}\n\nexport function uniqueCount(values) {\n return new Set(values).size\n}\n\nexport function count(values) {\n return values.length\n}\n","import React from 'react'\n\nimport * as aggregations from '../aggregations'\n\nimport { getFirstDefined, flattenBy } from '../utils'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst emptyArray = []\nconst emptyObject = {}\n\n// Actions\nactions.resetGroupBy = 'resetGroupBy'\nactions.setGroupBy = 'setGroupBy'\nactions.toggleGroupBy = 'toggleGroupBy'\n\nexport const useGroupBy = hooks => {\n hooks.getGroupByToggleProps = [defaultGetGroupByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.groupBy,\n ])\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseGroupBy.pluginName = 'useGroupBy'\n\nconst defaultGetGroupByToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canGroupBy\n ? e => {\n e.persist()\n header.toggleGroupBy()\n }\n : undefined,\n style: {\n cursor: header.canGroupBy ? 'pointer' : undefined,\n },\n title: 'Toggle GroupBy',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n groupBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetGroupBy) {\n return {\n ...state,\n groupBy: instance.initialState.groupBy || [],\n }\n }\n\n if (action.type === actions.setGroupBy) {\n const { value } = action\n return {\n ...state,\n groupBy: value,\n }\n }\n\n if (action.type === actions.toggleGroupBy) {\n const { columnId, value: setGroupBy } = action\n\n const resolvedGroupBy =\n typeof setGroupBy !== 'undefined'\n ? setGroupBy\n : !state.groupBy.includes(columnId)\n\n if (resolvedGroupBy) {\n return {\n ...state,\n groupBy: [...state.groupBy, columnId],\n }\n }\n\n return {\n ...state,\n groupBy: state.groupBy.filter(d => d !== columnId),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { groupBy },\n },\n }\n) {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n\n const groupByColumns = groupBy\n .map(g => columns.find(col => col.id === g))\n .filter(Boolean)\n\n const nonGroupByColumns = columns.filter(col => !groupBy.includes(col.id))\n\n columns = [...groupByColumns, ...nonGroupByColumns]\n\n columns.forEach(column => {\n column.isGrouped = groupBy.includes(column.id)\n column.groupedIndex = groupBy.indexOf(column.id)\n })\n\n return columns\n}\n\nconst defaultUserAggregations = {}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n flatHeaders,\n groupByFn = defaultGroupByFn,\n manualGroupBy,\n aggregations: userAggregations = defaultUserAggregations,\n plugins,\n state: { groupBy },\n dispatch,\n autoResetGroupBy = true,\n disableGroupBy,\n defaultCanGroupBy,\n getHooks,\n } = instance\n\n ensurePluginOrder(plugins, ['useColumnOrder', 'useFilters'], 'useGroupBy')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultGroupBy: defaultColumnGroupBy,\n disableGroupBy: columnDisableGroupBy,\n } = column\n\n column.canGroupBy = accessor\n ? getFirstDefined(\n column.canGroupBy,\n columnDisableGroupBy === true ? false : undefined,\n disableGroupBy === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canGroupBy,\n defaultColumnGroupBy,\n defaultCanGroupBy,\n false\n )\n\n if (column.canGroupBy) {\n column.toggleGroupBy = () => instance.toggleGroupBy(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const toggleGroupBy = React.useCallback(\n (columnId, value) => {\n dispatch({ type: actions.toggleGroupBy, columnId, value })\n },\n [dispatch]\n )\n\n const setGroupBy = React.useCallback(\n value => {\n dispatch({ type: actions.setGroupBy, value })\n },\n [dispatch]\n )\n\n flatHeaders.forEach(header => {\n header.getGroupByToggleProps = makePropGetter(\n getHooks().getGroupByToggleProps,\n { instance: getInstance(), header }\n )\n })\n\n const [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ] = React.useMemo(() => {\n if (manualGroupBy || !groupBy.length) {\n return [\n rows,\n flatRows,\n rowsById,\n emptyArray,\n emptyObject,\n flatRows,\n rowsById,\n ]\n }\n\n // Ensure that the list of filtered columns exist\n const existingGroupBy = groupBy.filter(g =>\n allColumns.find(col => col.id === g)\n )\n\n // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n const aggregateRowsToValues = (leafRows, groupedRows, depth) => {\n const values = {}\n\n allColumns.forEach(column => {\n // Don't aggregate columns that are in the groupBy\n if (existingGroupBy.includes(column.id)) {\n values[column.id] = groupedRows[0]\n ? groupedRows[0].values[column.id]\n : null\n return\n }\n\n // Aggregate the values\n let aggregateFn =\n typeof column.aggregate === 'function'\n ? column.aggregate\n : userAggregations[column.aggregate] ||\n aggregations[column.aggregate]\n\n if (aggregateFn) {\n // Get the columnValues to aggregate\n const groupedValues = groupedRows.map(row => row.values[column.id])\n\n // Get the columnValues to aggregate\n const leafValues = leafRows.map(row => {\n let columnValue = row.values[column.id]\n\n if (!depth && column.aggregateValue) {\n const aggregateValueFn =\n typeof column.aggregateValue === 'function'\n ? column.aggregateValue\n : userAggregations[column.aggregateValue] ||\n aggregations[column.aggregateValue]\n\n if (!aggregateValueFn) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregateValue option for column listed above`\n )\n }\n\n columnValue = aggregateValueFn(columnValue, row, column)\n }\n return columnValue\n })\n\n values[column.id] = aggregateFn(leafValues, groupedValues)\n } else if (column.aggregate) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregate option for column listed above`\n )\n } else {\n values[column.id] = null\n }\n })\n\n return values\n }\n\n let groupedFlatRows = []\n const groupedRowsById = {}\n const onlyGroupedFlatRows = []\n const onlyGroupedRowsById = {}\n const nonGroupedFlatRows = []\n const nonGroupedRowsById = {}\n\n // Recursively group the data\n const groupUpRecursively = (rows, depth = 0, parentId) => {\n // This is the last level, just return the rows\n if (depth === existingGroupBy.length) {\n return rows.map((row) => ({ ...row, depth }))\n }\n\n const columnId = existingGroupBy[depth]\n\n // Group the rows together for this level\n let rowGroupsMap = groupByFn(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Object.entries(rowGroupsMap).map(\n ([groupByVal, groupedRows], index) => {\n let id = `${columnId}:${groupByVal}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, 'leafRows')\n : groupedRows\n\n const values = aggregateRowsToValues(leafRows, groupedRows, depth)\n\n const row = {\n id,\n isGrouped: true,\n groupByID: columnId,\n groupByVal,\n values,\n subRows,\n leafRows,\n depth,\n index,\n }\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rows)\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n // Assign the new data\n return [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ]\n }, [\n manualGroupBy,\n groupBy,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userAggregations,\n groupByFn,\n ])\n\n const getAutoResetGroupBy = useGetLatest(autoResetGroupBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGroupBy()) {\n dispatch({ type: actions.resetGroupBy })\n }\n }, [dispatch, manualGroupBy ? null : data])\n\n Object.assign(instance, {\n preGroupedRows: rows,\n preGroupedFlatRow: flatRows,\n preGroupedRowsById: rowsById,\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n toggleGroupBy,\n setGroupBy,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the groupBy and the pivot cell for the row\n cell.isGrouped = cell.column.isGrouped && cell.column.id === row.groupByID\n // Placeholder cells are any columns in the groupBy that are not grouped\n cell.isPlaceholder = !cell.isGrouped && cell.column.isGrouped\n // Aggregated cells are not grouped, not repeated, but still have subRows\n cell.isAggregated =\n !cell.isGrouped && !cell.isPlaceholder && row.subRows?.length\n })\n}\n\nexport function defaultGroupByFn(rows, columnId) {\n return rows.reduce((prev, row, i) => {\n // TODO: Might want to implement a key serializer here so\n // irregular column values can still be grouped if needed?\n const resKey = `${row.values[columnId]}`\n prev[resKey] = Array.isArray(prev[resKey]) ? prev[resKey] : []\n prev[resKey].push(row)\n return prev\n }, {})\n}\n","const reSplitAlphaNumeric = /([0-9]+)/gm\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nexport const alphanumeric = (rowA, rowB, columnId) => {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n // Force to strings (or \"\" for unsupported types)\n a = toString(a)\n b = toString(b)\n\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n a = a.split(reSplitAlphaNumeric).filter(Boolean)\n b = b.split(reSplitAlphaNumeric).filter(Boolean)\n\n // While\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n const an = parseInt(aa, 10)\n const bn = parseInt(bb, 10)\n\n const combo = [an, bn].sort()\n\n // Both are string\n if (isNaN(combo[0])) {\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1])) {\n return isNaN(an) ? -1 : 1\n }\n\n // Both are numbers\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n }\n\n return a.length - b.length\n}\nexport function datetime(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.getTime()\n b = b.getTime()\n\n return compareBasic(a, b)\n}\n\nexport function basic(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n return compareBasic(a, b)\n}\n\nexport function string(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.split('').filter(Boolean)\n b = b.split('').filter(Boolean)\n\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n let alower = aa.toLowerCase()\n let blower = bb.toLowerCase()\n\n // Case insensitive comparison until characters match\n if (alower > blower) {\n return 1\n }\n if (blower > alower) {\n return -1\n }\n // If lowercase characters are identical\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n return a.length - b.length\n}\n\nexport function number(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n const replaceNonNumeric = /[^0-9.]/gi\n\n a = Number(String(a).replace(replaceNonNumeric, ''))\n b = Number(String(b).replace(replaceNonNumeric, ''))\n\n return compareBasic(a, b)\n}\n\n// Utils\n\nfunction compareBasic(a, b) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction getRowValuesByColumnID(row1, row2, columnId) {\n return [row1.values[columnId], row2.values[columnId]]\n}\n\nfunction toString(a) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n","import React from 'react'\n\nimport {\n actions,\n ensurePluginOrder,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, isFunction } from '../utils'\n\nimport * as sortTypes from '../sortTypes'\n\n// Actions\nactions.resetSortBy = 'resetSortBy'\nactions.setSortBy = 'setSortBy'\nactions.toggleSortBy = 'toggleSortBy'\nactions.clearSortBy = 'clearSortBy'\n\ndefaultColumn.sortType = 'alphanumeric'\ndefaultColumn.sortDescFirst = false\n\nexport const useSortBy = hooks => {\n hooks.getSortByToggleProps = [defaultGetSortByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseSortBy.pluginName = 'useSortBy'\n\nconst defaultGetSortByToggleProps = (props, { instance, column }) => {\n const { isMultiSortEvent = e => e.shiftKey } = instance\n\n return [\n props,\n {\n onClick: column.canSort\n ? e => {\n e.persist()\n column.toggleSortBy(\n undefined,\n !instance.disableMultiSort && isMultiSortEvent(e)\n )\n }\n : undefined,\n style: {\n cursor: column.canSort ? 'pointer' : undefined,\n },\n title: column.canSort ? 'Toggle SortBy' : undefined,\n },\n ]\n}\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n sortBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetSortBy) {\n return {\n ...state,\n sortBy: instance.initialState.sortBy || [],\n }\n }\n\n if (action.type === actions.clearSortBy) {\n const { sortBy } = state\n const newSortBy = sortBy.filter(d => d.id !== action.columnId)\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n\n if (action.type === actions.setSortBy) {\n const { sortBy } = action\n return {\n ...state,\n sortBy,\n }\n }\n\n if (action.type === actions.toggleSortBy) {\n const { columnId, desc, multi } = action\n\n const {\n allColumns,\n disableMultiSort,\n disableSortRemove,\n disableMultiRemove,\n maxMultiSortColCount = Number.MAX_SAFE_INTEGER,\n } = instance\n\n const { sortBy } = state\n\n // Find the column for this columnId\n const column = allColumns.find(d => d.id === columnId)\n const { sortDescFirst } = column\n\n // Find any existing sortBy for this column\n const existingSortBy = sortBy.find(d => d.id === columnId)\n const existingIndex = sortBy.findIndex(d => d.id === columnId)\n const hasDescDefined = typeof desc !== 'undefined' && desc !== null\n\n let newSortBy = []\n\n // What should we do with this sort action?\n let sortAction\n\n if (!disableMultiSort && multi) {\n if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'add'\n }\n } else {\n // Normal mode\n if (existingIndex !== sortBy.length - 1 || sortBy.length !== 1) {\n sortAction = 'replace'\n } else if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'replace'\n }\n }\n\n // Handle toggle states that will remove the sortBy\n if (\n sortAction === 'toggle' && // Must be toggling\n !disableSortRemove && // If disableSortRemove, disable in general\n !hasDescDefined && // Must not be setting desc\n (multi ? !disableMultiRemove : true) && // If multi, don't allow if disableMultiRemove\n ((existingSortBy && // Finally, detect if it should indeed be removed\n existingSortBy.desc &&\n !sortDescFirst) ||\n (!existingSortBy.desc && sortDescFirst))\n ) {\n sortAction = 'remove'\n }\n\n if (sortAction === 'replace') {\n newSortBy = [\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n } else if (sortAction === 'add') {\n newSortBy = [\n ...sortBy,\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n // Take latest n columns\n newSortBy.splice(0, newSortBy.length - maxMultiSortColCount)\n } else if (sortAction === 'toggle') {\n // This flips (or sets) the\n newSortBy = sortBy.map(d => {\n if (d.id === columnId) {\n return {\n ...d,\n desc: hasDescDefined ? desc : !existingSortBy.desc,\n }\n }\n return d\n })\n } else if (sortAction === 'remove') {\n newSortBy = sortBy.filter(d => d.id !== columnId)\n }\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n allColumns,\n orderByFn = defaultOrderByFn,\n sortTypes: userSortTypes,\n manualSortBy,\n defaultCanSort,\n disableSortBy,\n flatHeaders,\n state: { sortBy },\n dispatch,\n plugins,\n getHooks,\n autoResetSortBy = true,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGlobalFilter', 'useGroupBy', 'usePivotColumns'],\n 'useSortBy'\n )\n\n const setSortBy = React.useCallback(\n sortBy => {\n dispatch({ type: actions.setSortBy, sortBy })\n },\n [dispatch]\n )\n\n // Updates sorting based on a columnId, desc flag and multi flag\n const toggleSortBy = React.useCallback(\n (columnId, desc, multi) => {\n dispatch({ type: actions.toggleSortBy, columnId, desc, multi })\n },\n [dispatch]\n )\n\n // use reference to avoid memory leak in #1608\n const getInstance = useGetLatest(instance)\n\n // Add the getSortByToggleProps method to columns and headers\n flatHeaders.forEach(column => {\n const {\n accessor,\n canSort: defaultColumnCanSort,\n disableSortBy: columnDisableSortBy,\n id,\n } = column\n\n const canSort = accessor\n ? getFirstDefined(\n columnDisableSortBy === true ? false : undefined,\n disableSortBy === true ? false : undefined,\n true\n )\n : getFirstDefined(defaultCanSort, defaultColumnCanSort, false)\n\n column.canSort = canSort\n\n if (column.canSort) {\n column.toggleSortBy = (desc, multi) =>\n toggleSortBy(column.id, desc, multi)\n\n column.clearSortBy = () => {\n dispatch({ type: actions.clearSortBy, columnId: column.id })\n }\n }\n\n column.getSortByToggleProps = makePropGetter(\n getHooks().getSortByToggleProps,\n {\n instance: getInstance(),\n column,\n }\n )\n\n const columnSort = sortBy.find(d => d.id === id)\n column.isSorted = !!columnSort\n column.sortedIndex = sortBy.findIndex(d => d.id === id)\n column.isSortedDesc = column.isSorted ? columnSort.desc : undefined\n })\n\n const [sortedRows, sortedFlatRows] = React.useMemo(() => {\n if (manualSortBy || !sortBy.length) {\n return [rows, flatRows]\n }\n\n const sortedFlatRows = []\n\n // Filter out sortBys that correspond to non existing columns\n const availableSortBy = sortBy.filter(sort =>\n allColumns.find(col => col.id === sort.id)\n )\n\n const sortData = rows => {\n // Use the orderByFn to compose multiple sortBy's together.\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = orderByFn(\n rows,\n availableSortBy.map(sort => {\n // Support custom sorting methods for each column\n const column = allColumns.find(d => d.id === sort.id)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${sort.id} while sorting`\n )\n }\n\n const { sortType } = column\n\n // Look up sortBy functions in this order:\n // column function\n // column string lookup on user sortType\n // column string lookup on built-in sortType\n // default function\n // default string lookup on user sortType\n // default string lookup on built-in sortType\n const sortMethod =\n isFunction(sortType) ||\n (userSortTypes || {})[sortType] ||\n sortTypes[sortType]\n\n if (!sortMethod) {\n throw new Error(\n `React-Table: Could not find a valid sortType of '${sortType}' for column '${sort.id}'.`\n )\n }\n\n // Return the correct sortFn.\n // This function should always return in ascending order\n return (a, b) => sortMethod(a, b, sort.id, sort.desc)\n }),\n // Map the directions\n availableSortBy.map(sort => {\n // Detect and use the sortInverted option\n const column = allColumns.find(d => d.id === sort.id)\n\n if (column && column.sortInverted) {\n return sort.desc\n }\n\n return !sort.desc\n })\n )\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (!row.subRows || row.subRows.length === 0) {\n return\n }\n row.subRows = sortData(row.subRows)\n })\n\n return sortedData\n }\n\n return [sortData(rows), sortedFlatRows]\n }, [\n manualSortBy,\n sortBy,\n rows,\n flatRows,\n allColumns,\n orderByFn,\n userSortTypes,\n ])\n\n const getAutoResetSortBy = useGetLatest(autoResetSortBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSortBy()) {\n dispatch({ type: actions.resetSortBy })\n }\n }, [manualSortBy ? null : data])\n\n Object.assign(instance, {\n preSortedRows: rows,\n preSortedFlatRows: flatRows,\n sortedRows,\n sortedFlatRows,\n rows: sortedRows,\n flatRows: sortedFlatRows,\n setSortBy,\n toggleSortBy,\n })\n}\n\nexport function defaultOrderByFn(arr, funcs, dirs) {\n return [...arr].sort((rowA, rowB) => {\n for (let i = 0; i < funcs.length; i += 1) {\n const sortFn = funcs[i]\n const desc = dirs[i] === false || dirs[i] === 'desc'\n const sortInt = sortFn(rowA, rowB)\n if (sortInt !== 0) {\n return desc ? -sortInt : sortInt\n }\n }\n return dirs[0] ? rowA.index - rowB.index : rowB.index - rowA.index\n })\n}\n","import React from 'react'\n\n//\n\nimport {\n actions,\n ensurePluginOrder,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { expandRows } from '../utils'\n\nconst pluginName = 'usePagination'\n\n// Actions\nactions.resetPage = 'resetPage'\nactions.gotoPage = 'gotoPage'\nactions.setPageSize = 'setPageSize'\n\nexport const usePagination = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nusePagination.pluginName = pluginName\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pageSize: 10,\n pageIndex: 0,\n ...state,\n }\n }\n\n if (action.type === actions.resetPage) {\n return {\n ...state,\n pageIndex: instance.initialState.pageIndex || 0,\n }\n }\n\n if (action.type === actions.gotoPage) {\n const { pageCount, page } = instance\n const newPageIndex = functionalUpdate(action.pageIndex, state.pageIndex)\n let canNavigate = false\n\n if (newPageIndex > state.pageIndex) {\n // next page\n canNavigate =\n pageCount === -1\n ? page.length >= state.pageSize\n : newPageIndex < pageCount\n } else if (newPageIndex < state.pageIndex) {\n // prev page\n canNavigate = newPageIndex > -1\n }\n\n if (!canNavigate) {\n return state\n }\n\n return {\n ...state,\n pageIndex: newPageIndex,\n }\n }\n\n if (action.type === actions.setPageSize) {\n const { pageSize } = action\n const topRowIndex = state.pageSize * state.pageIndex\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...state,\n pageIndex,\n pageSize,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n rows,\n autoResetPage = true,\n manualExpandedKey = 'expanded',\n plugins,\n pageCount: userPageCount,\n paginateExpandedRows = true,\n expandSubRows = true,\n state: {\n pageSize,\n pageIndex,\n expanded,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n },\n dispatch,\n data,\n manualPagination,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useGlobalFilter', 'useFilters', 'useGroupBy', 'useSortBy', 'useExpanded'],\n 'usePagination'\n )\n\n const getAutoResetPage = useGetLatest(autoResetPage)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPage()) {\n dispatch({ type: actions.resetPage })\n }\n }, [\n dispatch,\n manualPagination ? null : data,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n ])\n\n const pageCount = manualPagination\n ? userPageCount\n : Math.ceil(rows.length / pageSize)\n\n const pageOptions = React.useMemo(\n () =>\n pageCount > 0\n ? [...new Array(pageCount)].fill(null).map((d, i) => i)\n : [],\n [pageCount]\n )\n\n const page = React.useMemo(() => {\n let page\n\n if (manualPagination) {\n page = rows\n } else {\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n page = rows.slice(pageStart, pageEnd)\n }\n\n if (paginateExpandedRows) {\n return page\n }\n\n return expandRows(page, { manualExpandedKey, expanded, expandSubRows })\n }, [\n expandSubRows,\n expanded,\n manualExpandedKey,\n manualPagination,\n pageIndex,\n pageSize,\n paginateExpandedRows,\n rows,\n ])\n\n const canPreviousPage = pageIndex > 0\n const canNextPage =\n pageCount === -1 ? page.length >= pageSize : pageIndex < pageCount - 1\n\n const gotoPage = React.useCallback(\n pageIndex => {\n dispatch({ type: actions.gotoPage, pageIndex })\n },\n [dispatch]\n )\n\n const previousPage = React.useCallback(() => {\n return gotoPage(old => old - 1)\n }, [gotoPage])\n\n const nextPage = React.useCallback(() => {\n return gotoPage(old => old + 1)\n }, [gotoPage])\n\n const setPageSize = React.useCallback(\n pageSize => {\n dispatch({ type: actions.setPageSize, pageSize })\n },\n [dispatch]\n )\n\n Object.assign(instance, {\n pageOptions,\n pageCount,\n page,\n canPreviousPage,\n canNextPage,\n gotoPage,\n previousPage,\n nextPage,\n setPageSize,\n })\n}\n","/* istanbul ignore file */\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { flattenColumns, getFirstDefined } from '../utils'\n\n// Actions\nactions.resetPivot = 'resetPivot'\nactions.togglePivot = 'togglePivot'\n\nexport const _UNSTABLE_usePivotColumns = hooks => {\n hooks.getPivotToggleProps = [defaultGetPivotToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstanceAfterData.push(useInstanceAfterData)\n hooks.allColumns.push(allColumns)\n hooks.accessValue.push(accessValue)\n hooks.materializedColumns.push(materializedColumns)\n hooks.materializedColumnsDeps.push(materializedColumnsDeps)\n hooks.visibleColumns.push(visibleColumns)\n hooks.visibleColumnsDeps.push(visibleColumnsDeps)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\n_UNSTABLE_usePivotColumns.pluginName = 'usePivotColumns'\n\nconst defaultPivotColumns = []\n\nconst defaultGetPivotToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canPivot\n ? e => {\n e.persist()\n header.togglePivot()\n }\n : undefined,\n style: {\n cursor: header.canPivot ? 'pointer' : undefined,\n },\n title: 'Toggle Pivot',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pivotColumns: defaultPivotColumns,\n ...state,\n }\n }\n\n if (action.type === actions.resetPivot) {\n return {\n ...state,\n pivotColumns: instance.initialState.pivotColumns || defaultPivotColumns,\n }\n }\n\n if (action.type === actions.togglePivot) {\n const { columnId, value: setPivot } = action\n\n const resolvedPivot =\n typeof setPivot !== 'undefined'\n ? setPivot\n : !state.pivotColumns.includes(columnId)\n\n if (resolvedPivot) {\n return {\n ...state,\n pivotColumns: [...state.pivotColumns, columnId],\n }\n }\n\n return {\n ...state,\n pivotColumns: state.pivotColumns.filter(d => d !== columnId),\n }\n }\n}\n\nfunction useInstanceAfterData(instance) {\n instance.allColumns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n })\n}\n\nfunction allColumns(columns, { instance }) {\n columns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n column.uniqueValues = new Set()\n })\n return columns\n}\n\nfunction accessValue(value, { column }) {\n if (column.uniqueValues && typeof value !== 'undefined') {\n column.uniqueValues.add(value)\n }\n return value\n}\n\nfunction materializedColumns(materialized, { instance }) {\n const { allColumns, state } = instance\n\n if (!state.pivotColumns.length || !state.groupBy || !state.groupBy.length) {\n return materialized\n }\n\n const pivotColumns = state.pivotColumns\n .map(id => allColumns.find(d => d.id === id))\n .filter(Boolean)\n\n const sourceColumns = allColumns.filter(\n d =>\n !d.isPivotSource &&\n !state.groupBy.includes(d.id) &&\n !state.pivotColumns.includes(d.id)\n )\n\n const buildPivotColumns = (depth = 0, parent, pivotFilters = []) => {\n const pivotColumn = pivotColumns[depth]\n\n if (!pivotColumn) {\n return sourceColumns.map(sourceColumn => {\n // TODO: We could offer support here for renesting pivoted\n // columns inside copies of their header groups. For now,\n // that seems like it would be (1) overkill on nesting, considering\n // you already get nesting for every pivot level and (2)\n // really hard. :)\n\n return {\n ...sourceColumn,\n canPivot: false,\n isPivoted: true,\n parent,\n depth: depth,\n id: `${parent ? `${parent.id}.${sourceColumn.id}` : sourceColumn.id}`,\n accessor: (originalRow, i, row) => {\n if (pivotFilters.every(filter => filter(row))) {\n return row.values[sourceColumn.id]\n }\n },\n }\n })\n }\n\n const uniqueValues = Array.from(pivotColumn.uniqueValues).sort()\n\n return uniqueValues.map(uniqueValue => {\n const columnGroup = {\n ...pivotColumn,\n Header:\n pivotColumn.PivotHeader || typeof pivotColumn.header === 'string'\n ? `${pivotColumn.Header}: ${uniqueValue}`\n : uniqueValue,\n isPivotGroup: true,\n parent,\n depth,\n id: parent\n ? `${parent.id}.${pivotColumn.id}.${uniqueValue}`\n : `${pivotColumn.id}.${uniqueValue}`,\n pivotValue: uniqueValue,\n }\n\n columnGroup.columns = buildPivotColumns(depth + 1, columnGroup, [\n ...pivotFilters,\n row => row.values[pivotColumn.id] === uniqueValue,\n ])\n\n return columnGroup\n })\n }\n\n const newMaterialized = flattenColumns(buildPivotColumns())\n\n return [...materialized, ...newMaterialized]\n}\n\nfunction materializedColumnsDeps(\n deps,\n {\n instance: {\n state: { pivotColumns, groupBy },\n },\n }\n) {\n return [...deps, pivotColumns, groupBy]\n}\n\nfunction visibleColumns(visibleColumns, { instance: { state } }) {\n visibleColumns = visibleColumns.filter(d => !d.isPivotSource)\n\n if (state.pivotColumns.length && state.groupBy && state.groupBy.length) {\n visibleColumns = visibleColumns.filter(\n column => column.isGrouped || column.isPivoted\n )\n }\n\n return visibleColumns\n}\n\nfunction visibleColumnsDeps(deps, { instance }) {\n return [...deps, instance.state.pivotColumns, instance.state.groupBy]\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n allColumns,\n flatHeaders,\n // pivotFn = defaultPivotFn,\n // manualPivot,\n getHooks,\n plugins,\n dispatch,\n autoResetPivot = true,\n manaulPivot,\n disablePivot,\n defaultCanPivot,\n } = instance\n\n ensurePluginOrder(plugins, ['useGroupBy'], 'usePivotColumns')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultPivot: defaultColumnPivot,\n disablePivot: columnDisablePivot,\n } = column\n\n column.canPivot = accessor\n ? getFirstDefined(\n column.canPivot,\n columnDisablePivot === true ? false : undefined,\n disablePivot === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canPivot,\n defaultColumnPivot,\n defaultCanPivot,\n false\n )\n\n if (column.canPivot) {\n column.togglePivot = () => instance.togglePivot(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const togglePivot = (columnId, value) => {\n dispatch({ type: actions.togglePivot, columnId, value })\n }\n\n flatHeaders.forEach(header => {\n header.getPivotToggleProps = makePropGetter(\n getHooks().getPivotToggleProps,\n {\n instance: getInstance(),\n header,\n }\n )\n })\n\n const getAutoResetPivot = useGetLatest(autoResetPivot)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPivot()) {\n dispatch({ type: actions.resetPivot })\n }\n }, [dispatch, manaulPivot ? null : columns])\n\n Object.assign(instance, {\n togglePivot,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the pivotColumns and the pivot cell for the row\n cell.isPivoted = cell.column.isPivoted\n })\n}\n","import React from 'react'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nconst pluginName = 'useRowSelect'\n\n// Actions\nactions.resetSelectedRows = 'resetSelectedRows'\nactions.toggleAllRowsSelected = 'toggleAllRowsSelected'\nactions.toggleRowSelected = 'toggleRowSelected'\nactions.toggleAllPageRowsSelected = 'toggleAllPageRowsSelected'\n\nexport const useRowSelect = hooks => {\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps]\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps]\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowSelect.pluginName = pluginName\n\nconst defaultGetToggleRowSelectedProps = (props, { instance, row }) => {\n const { manualRowSelectedKey = 'isSelected' } = instance\n let checked = false\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true\n } else {\n checked = row.isSelected\n }\n\n return [\n props,\n {\n onChange: e => {\n row.toggleRowSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked,\n title: 'Toggle Row Selected',\n indeterminate: row.isSomeSelected,\n },\n ]\n}\n\nconst defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleAllRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllRowsSelected,\n title: 'Toggle All Rows Selected',\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n]\n\nconst defaultGetToggleAllPageRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllPageRowsSelected,\n title: 'Toggle All Current Page Rows Selected',\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n]\n\n// eslint-disable-next-line max-params\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action\n const {\n isAllRowsSelected,\n rowsById,\n nonGroupedRowsById = rowsById,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllRowsSelected\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = Object.assign({}, state.selectedRowIds)\n\n if (selectAll) {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n selectedRowIds[rowId] = true\n })\n } else {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n delete selectedRowIds[rowId]\n })\n }\n\n return {\n ...state,\n selectedRowIds,\n }\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action\n const { rowsById, selectSubRows = true, getSubRows } = instance\n const isSelected = state.selectedRowIds[id]\n const shouldExist =\n typeof setSelected !== 'undefined' ? setSelected : !isSelected\n\n if (isSelected === shouldExist) {\n return state\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (row) {\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n }\n\n handleRowById(id)\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllPageRowsSelected\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (!row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n\n page.forEach(row => handleRowById(row.id))\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n return state\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n state: { selectedRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGroupBy', 'useSortBy', 'useExpanded', 'usePagination'],\n 'useRowSelect'\n )\n\n const selectedFlatRows = React.useMemo(() => {\n const selectedFlatRows = []\n\n rows.forEach(row => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id]\n row.isSelected = !!isSelected\n row.isSomeSelected = isSelected === null\n\n if (isSelected) {\n selectedFlatRows.push(row)\n }\n })\n\n return selectedFlatRows\n }, [rows, selectSubRows, selectedRowIds, getSubRows])\n\n let isAllRowsSelected = Boolean(\n Object.keys(nonGroupedRowsById).length && Object.keys(selectedRowIds).length\n )\n\n let isAllPageRowsSelected = isAllRowsSelected\n\n if (isAllRowsSelected) {\n if (Object.keys(nonGroupedRowsById).some(id => !selectedRowIds[id])) {\n isAllRowsSelected = false\n }\n }\n\n if (!isAllRowsSelected) {\n if (page && page.length && page.some(({ id }) => !selectedRowIds[id])) {\n isAllPageRowsSelected = false\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows })\n }\n }, [dispatch, data])\n\n const toggleAllRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n )\n\n const toggleAllPageRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n )\n\n const toggleRowSelected = React.useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n )\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n { instance: getInstance() }\n )\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n selectedFlatRows,\n isAllRowsSelected,\n isAllPageRowsSelected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n row.toggleRowSelected = set => instance.toggleRowSelected(row.id, set)\n\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n { instance: instance, row }\n )\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true\n }\n\n const subRows = getSubRows(row)\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true\n let someSelected = false\n\n subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n })\n return allChildrenSelected ? true : someSelected ? null : false\n }\n\n return false\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst defaultInitialRowStateAccessor = row => ({})\nconst defaultInitialCellStateAccessor = cell => ({})\n\n// Actions\nactions.setRowState = 'setRowState'\nactions.setCellState = 'setCellState'\nactions.resetRowState = 'resetRowState'\n\nexport const useRowState = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowState.pluginName = 'useRowState'\n\nfunction reducer(state, action, previousState, instance) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n rowsById,\n } = instance\n\n if (action.type === actions.init) {\n return {\n rowState: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetRowState) {\n return {\n ...state,\n rowState: instance.initialState.rowState || {},\n }\n }\n\n if (action.type === actions.setRowState) {\n const { rowId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: functionalUpdate(value, oldRowState),\n },\n }\n }\n\n if (action.type === actions.setCellState) {\n const { rowId, columnId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n const oldCellState =\n typeof oldRowState?.cellState?.[columnId] !== 'undefined'\n ? oldRowState.cellState[columnId]\n : initialCellStateAccessor(\n rowsById[rowId]?.cells?.find(cell => cell.column.id === columnId)\n )\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: {\n ...oldRowState,\n cellState: {\n ...(oldRowState.cellState || {}),\n [columnId]: functionalUpdate(value, oldCellState),\n },\n },\n },\n }\n }\n}\n\nfunction useInstance(instance) {\n const { autoResetRowState = true, data, dispatch } = instance\n\n const setRowState = React.useCallback(\n (rowId, value) =>\n dispatch({\n type: actions.setRowState,\n rowId,\n value,\n }),\n [dispatch]\n )\n\n const setCellState = React.useCallback(\n (rowId, columnId, value) =>\n dispatch({\n type: actions.setCellState,\n rowId,\n columnId,\n value,\n }),\n [dispatch]\n )\n\n const getAutoResetRowState = useGetLatest(autoResetRowState)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetRowState()) {\n dispatch({ type: actions.resetRowState })\n }\n }, [data])\n\n Object.assign(instance, {\n setRowState,\n setCellState,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n state: { rowState },\n } = instance\n\n if (row) {\n row.state =\n typeof rowState[row.id] !== 'undefined'\n ? rowState[row.id]\n : initialRowStateAccessor(row)\n\n row.setState = updater => {\n return instance.setRowState(row.id, updater)\n }\n\n row.cells.forEach(cell => {\n if (!row.state.cellState) {\n row.state.cellState = {}\n }\n\n cell.state =\n typeof row.state.cellState[cell.column.id] !== 'undefined'\n ? row.state.cellState[cell.column.id]\n : initialCellStateAccessor(cell)\n\n cell.setState = updater => {\n return instance.setCellState(row.id, cell.column.id, updater)\n }\n })\n }\n}\n","import React from 'react'\n\nimport { functionalUpdate, actions } from '../publicUtils'\n\n// Actions\nactions.resetColumnOrder = 'resetColumnOrder'\nactions.setColumnOrder = 'setColumnOrder'\n\nexport const useColumnOrder = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => {\n return [...deps, instance.state.columnOrder]\n })\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnOrder.pluginName = 'useColumnOrder'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n columnOrder: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetColumnOrder) {\n return {\n ...state,\n columnOrder: instance.initialState.columnOrder || [],\n }\n }\n\n if (action.type === actions.setColumnOrder) {\n return {\n ...state,\n columnOrder: functionalUpdate(action.columnOrder, state.columnOrder),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { columnOrder },\n },\n }\n) {\n // If there is no order, return the normal columns\n if (!columnOrder || !columnOrder.length) {\n return columns\n }\n\n const columnOrderCopy = [...columnOrder]\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns]\n\n // And make a new ordered array of the columns\n const columnsInOrder = []\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift()\n const foundIndex = columnsCopy.findIndex(d => d.id === targetColumnId)\n if (foundIndex > -1) {\n columnsInOrder.push(columnsCopy.splice(foundIndex, 1)[0])\n }\n }\n\n // If there are any columns left, add them to the end\n return [...columnsInOrder, ...columnsCopy]\n}\n\nfunction useInstance(instance) {\n const { dispatch } = instance\n\n instance.setColumnOrder = React.useCallback(\n columnOrder => {\n return dispatch({ type: actions.setColumnOrder, columnOrder })\n },\n [dispatch]\n )\n}\n","import React from 'react'\n\nimport {\n actions,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n ensurePluginOrder,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, passiveEventSupported } from '../utils'\n\n// Default Column\ndefaultColumn.canResize = true\n\n// Actions\nactions.columnStartResizing = 'columnStartResizing'\nactions.columnResizing = 'columnResizing'\nactions.columnDoneResizing = 'columnDoneResizing'\nactions.resetResize = 'resetResize'\n\nexport const useResizeColumns = hooks => {\n hooks.getResizerProps = [defaultGetResizerProps]\n hooks.getHeaderProps.push({\n style: {\n position: 'relative',\n },\n })\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n}\n\nconst defaultGetResizerProps = (props, { instance, header }) => {\n const { dispatch } = instance\n\n const onResizeStart = (e, header) => {\n let isTouchEvent = false\n if (e.type === 'touchstart') {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n isTouchEvent = true\n }\n const headersToResize = getLeafHeaders(header)\n const headerIdWidths = headersToResize.map(d => [d.id, d.totalWidth])\n\n const clientX = isTouchEvent ? Math.round(e.touches[0].clientX) : e.clientX\n\n let raf\n let mostRecentClientX\n\n const dispatchEnd = () => {\n window.cancelAnimationFrame(raf)\n raf = null\n dispatch({ type: actions.columnDoneResizing })\n }\n const dispatchMove = () => {\n window.cancelAnimationFrame(raf)\n raf = null\n dispatch({ type: actions.columnResizing, clientX: mostRecentClientX })\n }\n\n const scheduleDispatchMoveOnNextAnimationFrame = clientXPos => {\n mostRecentClientX = clientXPos\n if (!raf) {\n raf = window.requestAnimationFrame(dispatchMove)\n }\n }\n\n const handlersAndEvents = {\n mouse: {\n moveEvent: 'mousemove',\n moveHandler: e => scheduleDispatchMoveOnNextAnimationFrame(e.clientX),\n upEvent: 'mouseup',\n upHandler: e => {\n document.removeEventListener(\n 'mousemove',\n handlersAndEvents.mouse.moveHandler\n )\n document.removeEventListener(\n 'mouseup',\n handlersAndEvents.mouse.upHandler\n )\n dispatchEnd()\n },\n },\n touch: {\n moveEvent: 'touchmove',\n moveHandler: e => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n scheduleDispatchMoveOnNextAnimationFrame(e.touches[0].clientX)\n return false\n },\n upEvent: 'touchend',\n upHandler: e => {\n document.removeEventListener(\n handlersAndEvents.touch.moveEvent,\n handlersAndEvents.touch.moveHandler\n )\n document.removeEventListener(\n handlersAndEvents.touch.upEvent,\n handlersAndEvents.touch.moveHandler\n )\n dispatchEnd()\n },\n },\n }\n\n const events = isTouchEvent\n ? handlersAndEvents.touch\n : handlersAndEvents.mouse\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n document.addEventListener(\n events.moveEvent,\n events.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n events.upEvent,\n events.upHandler,\n passiveIfSupported\n )\n\n dispatch({\n type: actions.columnStartResizing,\n columnId: header.id,\n columnWidth: header.totalWidth,\n headerIdWidths,\n clientX,\n })\n }\n\n return [\n props,\n {\n onMouseDown: e => e.persist() || onResizeStart(e, header),\n onTouchStart: e => e.persist() || onResizeStart(e, header),\n style: {\n cursor: 'col-resize',\n },\n draggable: false,\n role: 'separator',\n },\n ]\n}\n\nuseResizeColumns.pluginName = 'useResizeColumns'\n\nfunction reducer(state, action) {\n if (action.type === actions.init) {\n return {\n columnResizing: {\n columnWidths: {},\n },\n ...state,\n }\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...state,\n columnResizing: {\n columnWidths: {},\n },\n }\n }\n\n if (action.type === actions.columnStartResizing) {\n const { clientX, columnId, columnWidth, headerIdWidths } = action\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: clientX,\n headerIdWidths,\n columnWidth,\n isResizingColumn: columnId,\n },\n }\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action\n const { startX, columnWidth, headerIdWidths = [] } = state.columnResizing\n\n const deltaX = clientX - startX\n const percentageDeltaX = deltaX / columnWidth\n\n const newColumnWidths = {}\n\n headerIdWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.max(\n headerWidth + headerWidth * percentageDeltaX,\n 0\n )\n })\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n columnWidths: {\n ...state.columnResizing.columnWidths,\n ...newColumnWidths,\n },\n },\n }\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: null,\n isResizingColumn: null,\n },\n }\n }\n}\n\nconst useInstanceBeforeDimensions = instance => {\n const {\n flatHeaders,\n disableResizing,\n getHooks,\n state: { columnResizing },\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n flatHeaders.forEach(header => {\n const canResize = getFirstDefined(\n header.disableResizing === true ? false : undefined,\n disableResizing === true ? false : undefined,\n true\n )\n\n header.canResize = canResize\n header.width =\n columnResizing.columnWidths[header.id] ||\n header.originalWidth ||\n header.width\n header.isResizing = columnResizing.isResizingColumn === header.id\n\n if (canResize) {\n header.getResizerProps = makePropGetter(getHooks().getResizerProps, {\n instance: getInstance(),\n header,\n })\n }\n })\n}\n\nfunction useInstance(instance) {\n const { plugins, dispatch, autoResetResize = true, columns } = instance\n\n ensurePluginOrder(plugins, ['useAbsoluteLayout'], 'useResizeColumns')\n\n const getAutoResetResize = useGetLatest(autoResetResize)\n useMountedLayoutEffect(() => {\n if (getAutoResetResize()) {\n dispatch({ type: actions.resetResize })\n }\n }, [columns])\n\n const resetResizing = React.useCallback(\n () => dispatch({ type: actions.resetResize }),\n [dispatch]\n )\n\n Object.assign(instance, {\n resetResizing,\n })\n}\n\nfunction getLeafHeaders(header) {\n const leafHeaders = []\n const recurseHeader = header => {\n if (header.columns && header.columns.length) {\n header.columns.map(recurseHeader)\n }\n leafHeaders.push(header)\n }\n recurseHeader(header)\n return leafHeaders\n}\n","const cellStyles = {\n position: 'absolute',\n top: 0,\n}\n\nexport const useAbsoluteLayout = hooks => {\n hooks.getTableBodyProps.push(getRowStyles)\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n\n hooks.getHeaderProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${column.totalLeft}px`,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getCellProps.push((props, { cell }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${cell.column.totalLeft}px`,\n width: `${cell.column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getFooterProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${column.totalLeft}px`,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n}\n\nuseAbsoluteLayout.pluginName = 'useAbsoluteLayout'\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n position: 'relative',\n width: `${instance.totalColumnsWidth}px`,\n },\n },\n]\n","const cellStyles = {\n display: 'inline-block',\n boxSizing: 'border-box',\n}\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n display: 'flex',\n width: `${instance.totalColumnsWidth}px`,\n },\n },\n]\n\nexport const useBlockLayout = hooks => {\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n\n hooks.getHeaderProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getCellProps.push((props, { cell }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${cell.column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getFooterProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n}\n\nuseBlockLayout.pluginName = 'useBlockLayout'\n","export function useFlexLayout(hooks) {\n hooks.getTableProps.push(getTableProps)\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n hooks.getHeaderProps.push(getHeaderProps)\n hooks.getCellProps.push(getCellProps)\n hooks.getFooterProps.push(getFooterProps)\n}\n\nuseFlexLayout.pluginName = 'useFlexLayout'\n\nconst getTableProps = (props, { instance }) => [\n props,\n {\n style: {\n minWidth: `${instance.totalColumnsMinWidth}px`,\n },\n },\n]\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n display: 'flex',\n flex: '1 0 auto',\n minWidth: `${instance.totalColumnsMinWidth}px`,\n },\n },\n]\n\nconst getHeaderProps = (props, { column }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth\n ? `${column.totalFlexWidth} 0 auto`\n : undefined,\n minWidth: `${column.totalMinWidth}px`,\n width: `${column.totalWidth}px`,\n },\n },\n]\n\nconst getCellProps = (props, { cell }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: `${cell.column.totalFlexWidth} 0 auto`,\n minWidth: `${cell.column.totalMinWidth}px`,\n width: `${cell.column.totalWidth}px`,\n },\n },\n]\n\nconst getFooterProps = (props, { column }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth\n ? `${column.totalFlexWidth} 0 auto`\n : undefined,\n minWidth: `${column.totalMinWidth}px`,\n width: `${column.totalWidth}px`,\n },\n },\n]\n","import { actions } from '../publicUtils'\n\n// Actions\nactions.columnStartResizing = 'columnStartResizing'\nactions.columnResizing = 'columnResizing'\nactions.columnDoneResizing = 'columnDoneResizing'\nactions.resetResize = 'resetResize'\n\nexport function useGridLayout(hooks) {\n hooks.stateReducers.push(reducer)\n hooks.getTableProps.push(getTableProps)\n hooks.getHeaderProps.push(getHeaderProps)\n hooks.getRowProps.push(getRowProps)\n}\n\nuseGridLayout.pluginName = 'useGridLayout'\n\nconst getTableProps = (props, { instance }) => {\n const gridTemplateColumns = instance.visibleColumns.map(column => {\n if (instance.state.gridLayout.columnWidths[column.id])\n return `${instance.state.gridLayout.columnWidths[column.id]}px`\n // When resizing, lock the width of all unset columns\n // instead of using user-provided width or defaultColumn width,\n // which could potentially be 'auto' or 'fr' units that don't scale linearly\n if (instance.state.columnResizing?.isResizingColumn)\n return `${instance.state.gridLayout.startWidths[column.id]}px`\n if (typeof column.width === 'number') return `${column.width}px`\n return column.width\n })\n return [\n props,\n {\n style: {\n display: `grid`,\n gridTemplateColumns: gridTemplateColumns.join(` `),\n },\n },\n ]\n}\n\nconst getHeaderProps = (props, { column }) => [\n props,\n {\n id: `header-cell-${column.id}`,\n style: {\n position: `sticky`, //enables a scroll wrapper to be placed around the table and have sticky headers\n gridColumn: `span ${column.totalVisibleHeaderCount}`,\n },\n },\n]\n\nconst getRowProps = (props, { row }) => {\n if (row.isExpanded) {\n return [\n props,\n {\n style: {\n gridColumn: `1 / ${row.cells.length + 1}`,\n },\n },\n ]\n }\n return [props, {}]\n}\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n gridLayout: {\n columnWidths: {},\n },\n ...state,\n }\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...state,\n gridLayout: {\n columnWidths: {},\n },\n }\n }\n\n if (action.type === actions.columnStartResizing) {\n const { columnId, headerIdWidths } = action\n const columnWidth = getElementWidth(columnId)\n\n if (columnWidth !== undefined) {\n const startWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: getElementWidth(column.id),\n }),\n {}\n )\n const minWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: column.minWidth,\n }),\n {}\n )\n const maxWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: column.maxWidth,\n }),\n {}\n )\n\n const headerIdGridWidths = headerIdWidths.map(([headerId]) => [\n headerId,\n getElementWidth(headerId),\n ])\n\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n startWidths,\n minWidths,\n maxWidths,\n headerIdGridWidths,\n columnWidth,\n },\n }\n } else {\n return state\n }\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action\n const { startX } = state.columnResizing\n const {\n columnWidth,\n minWidths,\n maxWidths,\n headerIdGridWidths = [],\n } = state.gridLayout\n\n const deltaX = clientX - startX\n const percentageDeltaX = deltaX / columnWidth\n\n const newColumnWidths = {}\n\n headerIdGridWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.min(\n Math.max(\n minWidths[headerId],\n headerWidth + headerWidth * percentageDeltaX\n ),\n maxWidths[headerId]\n )\n })\n\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n columnWidths: {\n ...state.gridLayout.columnWidths,\n ...newColumnWidths,\n },\n },\n }\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n startWidths: {},\n minWidths: {},\n maxWidths: {},\n },\n }\n }\n}\n\nfunction getElementWidth(columnId) {\n const width = document.getElementById(`header-cell-${columnId}`)?.offsetWidth\n\n if (width !== undefined) {\n return width\n }\n}\n","if (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/react-table.production.min.js')\n} else {\n module.exports = require('./dist/react-table.development.js')\n}\n","/**\nA function that returns a universally unique identifier (uuid). \nexample: 1b83fd69-abe7-468c-bea1-306a8aa1c81d\n@returns `string` : 32 character uuid (see example)\n*/\nfunction uuid() {\n\tconst hashTable = [\n\t\t\"a\",\n\t\t\"b\",\n\t\t\"c\",\n\t\t\"d\",\n\t\t\"e\",\n\t\t\"f\",\n\t\t\"0\",\n\t\t\"1\",\n\t\t\"2\",\n\t\t\"3\",\n\t\t\"4\",\n\t\t\"5\",\n\t\t\"6\",\n\t\t\"7\",\n\t\t\"8\",\n\t\t\"9\",\n\t];\n\tlet uuid = [];\n\tfor (let i = 0; i < 36; i++) {\n\t\tif (i === 8 || i === 13 || i === 18 || i === 23) {\n\t\t\tuuid[i] = \"-\";\n\t\t} else {\n\t\t\tuuid[i] = hashTable[Math.ceil(Math.random() * hashTable.length - 1)];\n\t\t}\n\t}\n\treturn uuid.join(\"\");\n}\n\nmodule.exports = uuid;\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + \"87e9551f\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"odin:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkodin\"] = self[\"webpackChunkodin\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import * as React from \"react\";\nimport type { History, Location } from \"history\";\nimport { Action as NavigationType } from \"history\";\n\nimport type { RouteMatch } from \"./router\";\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport type Navigator = Pick;\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nexport const NavigationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\ninterface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nexport const RouteContext = React.createContext({\n outlet: null,\n matches: [],\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n","import type { Location, Path, To } from \"history\";\nimport { parsePath } from \"history\";\n\nexport function invariant(cond: any, message: string): asserts cond {\n if (!cond) throw new Error(message);\n}\n\nexport function warning(cond: any, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nconst alreadyWarned: Record = {};\nexport function warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\ntype ParamParseFailed = { failed: true };\n\ntype ParamParseSegment =\n // Check here if there exists a forward slash in the string.\n Segment extends `${infer LeftSegment}/${infer RightSegment}`\n ? // If there is a forward slash, then attempt to parse each side of the\n // forward slash.\n ParamParseSegment extends infer LeftResult\n ? ParamParseSegment extends infer RightResult\n ? LeftResult extends string\n ? // If the left side is successfully parsed as a param, then check if\n // the right side can be successfully parsed as well. If both sides\n // can be parsed, then the result is a union of the two sides\n // (read: \"foo\" | \"bar\").\n RightResult extends string\n ? LeftResult | RightResult\n : LeftResult\n : // If the left side is not successfully parsed as a param, then check\n // if only the right side can be successfully parse as a param. If it\n // can, then the result is just right, else it's a failure.\n RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If the left side didn't parse into a param, then just check the right\n // side.\n ParamParseSegment extends infer RightResult\n ? RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If there's no forward slash, then check if this segment starts with a\n // colon. If it does, then this is a dynamic segment, so the result is\n // just the remainder of the string. Otherwise, it's a failure.\n Segment extends `:${infer Remaining}`\n ? Remaining\n : ParamParseFailed;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey =\n ParamParseSegment extends string\n ? ParamParseSegment\n : string;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport interface RouteObject {\n caseSensitive?: boolean;\n children?: RouteObject[];\n element?: React.ReactNode;\n index?: boolean;\n path?: string;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nexport function generatePath(path: string, params: Params = {}): string {\n return path\n .replace(/:(\\w+)/g, (_, key) => {\n invariant(params[key] != null, `Missing \":${key}\" param`);\n return params[key]!;\n })\n .replace(/\\/*\\*$/, (_) =>\n params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\")\n );\n}\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface RouteMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObject;\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nexport function matchRoutes(\n routes: RouteObject[],\n locationArg: Partial | string,\n basename = \"/\"\n): RouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\ninterface RouteMeta {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObject;\n}\n\ninterface RouteBranch {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes(\n routes: RouteObject[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n routes.forEach((route, index) => {\n let meta: RouteMeta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({ path, score: computeScore(path, route.index), routesMeta });\n });\n\n return branches;\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch(\n branch: RouteBranch,\n pathname: string\n): RouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: RouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end\n ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n // Additionally, allow paths starting with `.`, `-`, `~`, and url-encoded entities,\n // but do not consume the character in the matched path so they can match against\n // nested paths.\n \"(?:(?=[.~-]|%[0-9A-F]{2})|\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string\n): Path {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname;\n\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n let from: string;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original to value had one.\n if (\n toPathname &&\n toPathname !== \"/\" &&\n toPathname.endsWith(\"/\") &&\n !path.pathname.endsWith(\"/\")\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\n\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\nconst normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n","import * as React from \"react\";\nimport type { Location, Path, To } from \"history\";\nimport { Action as NavigationType, parsePath } from \"history\";\n\nimport { LocationContext, NavigationContext, RouteContext } from \"./context\";\nimport type {\n ParamParseKey,\n Params,\n PathMatch,\n PathPattern,\n RouteMatch,\n RouteObject,\n} from \"./router\";\nimport {\n getToPathname,\n invariant,\n joinPaths,\n matchPath,\n matchRoutes,\n resolveTo,\n warning,\n warningOnce,\n} from \"./router\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\nexport function useHref(to: To): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to);\n\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n let toPathname = getToPathname(to);\n let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n joinedPathname =\n pathname === \"/\"\n ? basename + (endsWithSlash ? \"/\" : \"\")\n : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname\n );\n\n if (basename !== \"/\") {\n path.pathname = joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\nexport function useResolvedPath(to: To): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname),\n [to, routePathnamesJson, locationPathname]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n return _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase]),\n })\n ),\n parentMatches\n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = []\n): React.ReactElement | null {\n if (matches == null) return null;\n\n return matches.reduceRight((outlet, match, index) => {\n return (\n \n );\n }, null as React.ReactElement | null);\n}\n","import * as React from \"react\";\nimport type { InitialEntry, Location, MemoryHistory, To } from \"history\";\nimport {\n Action as NavigationType,\n createMemoryHistory,\n parsePath,\n} from \"history\";\n\nimport { LocationContext, NavigationContext, Navigator } from \"./context\";\nimport {\n useInRouterContext,\n useNavigate,\n useOutlet,\n useRoutes,\n _renderMatches,\n} from \"./hooks\";\nimport type { RouteMatch, RouteObject } from \"./router\";\nimport { invariant, normalizePathname, stripBasename, warning } from \"./router\";\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex,\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({ initialEntries, initialIndex });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nexport function Navigate({ to, replace, state }: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n ` may be used only in the context of a component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n ` must not be used on the initial render in a . ` +\n `This is a no-op, but you should modify your code so the is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let navigate = useNavigate();\n React.useEffect(() => {\n navigate(to, { replace, state });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface RouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: boolean;\n path?: string;\n}\n\nexport interface PathRouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: false;\n path: string;\n}\n\nexport interface LayoutRouteProps {\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n}\n\nexport interface IndexRouteProps {\n element?: React.ReactNode | null;\n index: true;\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nexport function Route(\n _props: PathRouteProps | LayoutRouteProps | IndexRouteProps\n): React.ReactElement | null {\n invariant(\n false,\n `A is only ever to be used as the child of element, ` +\n `never rendered directly. Please wrap your in a .`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false,\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a inside another .` +\n ` You should never have more than one in your app.`\n );\n\n let basename = normalizePathname(basenameProp);\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\",\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key,\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n ` is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n \n \n \n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial | string;\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nexport function Routes({\n children,\n location,\n}: RoutesProps): React.ReactElement | null {\n return useRoutes(createRoutesFromChildren(children), location);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, (element) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a component. All component children of must be a or `\n );\n\n let route: RouteObject = {\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path,\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children);\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n","/**\n * NOTE: If you refactor this to split up the modules into separate files,\n * you'll need to update the rollup config for react-router-dom-v5-compat.\n */\nimport * as React from \"react\";\nimport type { BrowserHistory, HashHistory, History } from \"history\";\nimport { createBrowserHistory, createHashHistory } from \"history\";\nimport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n} from \"react-router\";\nimport type { To } from \"react-router\";\n\nfunction warning(cond: boolean, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n\n// Note: Keep in sync with react-router exports!\nexport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n renderMatches,\n resolvePath,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n};\n\nexport { NavigationType } from \"react-router\";\nexport type {\n Hash,\n Location,\n Path,\n To,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigator,\n OutletProps,\n Params,\n PathMatch,\n RouteMatch,\n RouteObject,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n Pathname,\n Search,\n RoutesProps,\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext,\n} from \"react-router\";\n\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window,\n}: BrowserRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nfunction isModifiedEvent(event: React.MouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport interface LinkProps\n extends Omit, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n to: To;\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nexport const Link = React.forwardRef(\n function LinkWithRef(\n { onClick, reloadDocument, replace = false, state, target, to, ...rest },\n ref\n ) {\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, { replace, state, target });\n function handleClick(\n event: React.MouseEvent\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n \n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit {\n children?:\n | React.ReactNode\n | ((props: { isActive: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?: string | ((props: { isActive: boolean }) => string | undefined);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: { isActive: boolean }) => React.CSSProperties);\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let location = useLocation();\n let path = useResolvedPath(to);\n\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string | undefined;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\" ? styleProp({ isActive }) : styleProp;\n\n return (\n \n {typeof children === \"function\" ? children({ isActive }) : children}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `` components. This is useful if\n * you need to create custom `` components with the same click behavior we\n * use in our exported ``.\n */\nexport function useLinkClickHandler(\n to: To,\n {\n target,\n replace: replaceProp,\n state,\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n } = {}\n): (event: React.MouseEvent) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n\n return React.useCallback(\n (event: React.MouseEvent) => {\n if (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular will do a replace instead of\n // a push, so do the same here.\n let replace =\n !!replaceProp || createPath(location) === createPath(path);\n\n navigate(to, { replace, state });\n }\n },\n [location, navigate, path, replaceProp, state, target, to]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(defaultInit?: URLSearchParamsInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback(\n (\n nextInit: URLSearchParamsInit,\n navigateOptions?: { replace?: boolean; state?: any }\n ) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n },\n [navigate]\n );\n\n return [searchParams, setSearchParams] as const;\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","/*!\n * @kurkle/color v0.3.2\n * https://github.com/kurkle/color#readme\n * (c) 2023 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction b2p(v) {\n return lim(round(v / 2.55), 0, 100);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\n\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\n\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\n\nconst map = {\n x: 'dark',\n Z: 'light',\n Y: 're',\n X: 'blu',\n W: 'gr',\n V: 'medium',\n U: 'slate',\n A: 'ee',\n T: 'ol',\n S: 'or',\n B: 'ra',\n C: 'lateg',\n D: 'ights',\n R: 'in',\n Q: 'turquois',\n E: 'hi',\n P: 'ro',\n O: 'al',\n N: 'le',\n M: 'de',\n L: 'yello',\n F: 'en',\n K: 'ch',\n G: 'arks',\n H: 'ea',\n I: 'ightg',\n J: 'wh'\n};\nconst names$1 = {\n OiceXe: 'f0f8ff',\n antiquewEte: 'faebd7',\n aqua: 'ffff',\n aquamarRe: '7fffd4',\n azuY: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '0',\n blanKedOmond: 'ffebcd',\n Xe: 'ff',\n XeviTet: '8a2be2',\n bPwn: 'a52a2a',\n burlywood: 'deb887',\n caMtXe: '5f9ea0',\n KartYuse: '7fff00',\n KocTate: 'd2691e',\n cSO: 'ff7f50',\n cSnflowerXe: '6495ed',\n cSnsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: 'ffff',\n xXe: '8b',\n xcyan: '8b8b',\n xgTMnPd: 'b8860b',\n xWay: 'a9a9a9',\n xgYF: '6400',\n xgYy: 'a9a9a9',\n xkhaki: 'bdb76b',\n xmagFta: '8b008b',\n xTivegYF: '556b2f',\n xSange: 'ff8c00',\n xScEd: '9932cc',\n xYd: '8b0000',\n xsOmon: 'e9967a',\n xsHgYF: '8fbc8f',\n xUXe: '483d8b',\n xUWay: '2f4f4f',\n xUgYy: '2f4f4f',\n xQe: 'ced1',\n xviTet: '9400d3',\n dAppRk: 'ff1493',\n dApskyXe: 'bfff',\n dimWay: '696969',\n dimgYy: '696969',\n dodgerXe: '1e90ff',\n fiYbrick: 'b22222',\n flSOwEte: 'fffaf0',\n foYstWAn: '228b22',\n fuKsia: 'ff00ff',\n gaRsbSo: 'dcdcdc',\n ghostwEte: 'f8f8ff',\n gTd: 'ffd700',\n gTMnPd: 'daa520',\n Way: '808080',\n gYF: '8000',\n gYFLw: 'adff2f',\n gYy: '808080',\n honeyMw: 'f0fff0',\n hotpRk: 'ff69b4',\n RdianYd: 'cd5c5c',\n Rdigo: '4b0082',\n ivSy: 'fffff0',\n khaki: 'f0e68c',\n lavFMr: 'e6e6fa',\n lavFMrXsh: 'fff0f5',\n lawngYF: '7cfc00',\n NmoncEffon: 'fffacd',\n ZXe: 'add8e6',\n ZcSO: 'f08080',\n Zcyan: 'e0ffff',\n ZgTMnPdLw: 'fafad2',\n ZWay: 'd3d3d3',\n ZgYF: '90ee90',\n ZgYy: 'd3d3d3',\n ZpRk: 'ffb6c1',\n ZsOmon: 'ffa07a',\n ZsHgYF: '20b2aa',\n ZskyXe: '87cefa',\n ZUWay: '778899',\n ZUgYy: '778899',\n ZstAlXe: 'b0c4de',\n ZLw: 'ffffe0',\n lime: 'ff00',\n limegYF: '32cd32',\n lRF: 'faf0e6',\n magFta: 'ff00ff',\n maPon: '800000',\n VaquamarRe: '66cdaa',\n VXe: 'cd',\n VScEd: 'ba55d3',\n VpurpN: '9370db',\n VsHgYF: '3cb371',\n VUXe: '7b68ee',\n VsprRggYF: 'fa9a',\n VQe: '48d1cc',\n VviTetYd: 'c71585',\n midnightXe: '191970',\n mRtcYam: 'f5fffa',\n mistyPse: 'ffe4e1',\n moccasR: 'ffe4b5',\n navajowEte: 'ffdead',\n navy: '80',\n Tdlace: 'fdf5e6',\n Tive: '808000',\n TivedBb: '6b8e23',\n Sange: 'ffa500',\n SangeYd: 'ff4500',\n ScEd: 'da70d6',\n pOegTMnPd: 'eee8aa',\n pOegYF: '98fb98',\n pOeQe: 'afeeee',\n pOeviTetYd: 'db7093',\n papayawEp: 'ffefd5',\n pHKpuff: 'ffdab9',\n peru: 'cd853f',\n pRk: 'ffc0cb',\n plum: 'dda0dd',\n powMrXe: 'b0e0e6',\n purpN: '800080',\n YbeccapurpN: '663399',\n Yd: 'ff0000',\n Psybrown: 'bc8f8f',\n PyOXe: '4169e1',\n saddNbPwn: '8b4513',\n sOmon: 'fa8072',\n sandybPwn: 'f4a460',\n sHgYF: '2e8b57',\n sHshell: 'fff5ee',\n siFna: 'a0522d',\n silver: 'c0c0c0',\n skyXe: '87ceeb',\n UXe: '6a5acd',\n UWay: '708090',\n UgYy: '708090',\n snow: 'fffafa',\n sprRggYF: 'ff7f',\n stAlXe: '4682b4',\n tan: 'd2b48c',\n teO: '8080',\n tEstN: 'd8bfd8',\n tomato: 'ff6347',\n Qe: '40e0d0',\n viTet: 'ee82ee',\n JHt: 'f5deb3',\n wEte: 'ffffff',\n wEtesmoke: 'f5f5f5',\n Lw: 'ffff00',\n LwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\n\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\n\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\n\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\n\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\n\nfunction index_esm(input) {\n return new Color(input);\n}\n\nexport { Color, b2n, b2p, index_esm as default, hexParse, hexString, hsl2rgb, hslString, hsv2rgb, hueParse, hwb2rgb, lim, n2b, n2p, nameParse, p2b, rgb2hsl, rgbParse, rgbString, rotate, round };\n","/**\n * @namespace Chart.helpers\n */\n\nimport type {AnyObject} from '../types/basic.js';\nimport type {ActiveDataPoint, ChartEvent} from '../types/index.js';\n\n/**\n * An empty function that can be used, for example, for optional callback.\n */\nexport function noop() {\n /* noop */\n}\n\n/**\n * Returns a unique id, sequentially generated from a global variable.\n */\nexport const uid = (() => {\n let id = 0;\n return () => id++;\n})();\n\n/**\n * Returns true if `value` is neither null nor undefined, else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */\nexport function isNullOrUndef(value: unknown): value is null | undefined {\n return value === null || typeof value === 'undefined';\n}\n\n/**\n * Returns true if `value` is an array (including typed arrays), else returns false.\n * @param value - The value to test.\n * @function\n */\nexport function isArray(value: unknown): value is T[] {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\n\n/**\n * Returns true if `value` is an object (excluding null), else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */\nexport function isObject(value: unknown): value is AnyObject {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\n\n/**\n * Returns true if `value` is a finite number, else returns false\n * @param value - The value to test.\n */\nfunction isNumberFinite(value: unknown): value is number {\n return (typeof value === 'number' || value instanceof Number) && isFinite(+value);\n}\nexport {\n isNumberFinite as isFinite,\n};\n\n/**\n * Returns `value` if finite, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is not finite.\n */\nexport function finiteOrDefault(value: unknown, defaultValue: number) {\n return isNumberFinite(value) ? value : defaultValue;\n}\n\n/**\n * Returns `value` if defined, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is undefined.\n */\nexport function valueOrDefault(value: T | undefined, defaultValue: T) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\n\nexport const toPercentage = (value: number | string, dimension: number) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100\n : +value / dimension;\n\nexport const toDimension = (value: number | string, dimension: number) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100 * dimension\n : +value;\n\n/**\n * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\n * value returned by `fn`. If `fn` is not a function, this method returns undefined.\n * @param fn - The function to call.\n * @param args - The arguments with which `fn` should be called.\n * @param [thisArg] - The value of `this` provided for the call to `fn`.\n */\nexport function callback R, TA, R>(\n fn: T | undefined,\n args: unknown[],\n thisArg?: TA\n): R | undefined {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\n\n/**\n * Note(SB) for performance sake, this method should only be used when loopable type\n * is unknown or in none intensive code (not called often and small loopable). Else\n * it's preferable to use a regular for() loop and save extra function calls.\n * @param loopable - The object or array to be iterated.\n * @param fn - The function to call for each item.\n * @param [thisArg] - The value of `this` provided for the call to `fn`.\n * @param [reverse] - If true, iterates backward on the loopable.\n */\nexport function each(\n loopable: Record,\n fn: (this: TA, v: T, i: string) => void,\n thisArg?: TA,\n reverse?: boolean\n): void;\nexport function each(\n loopable: T[],\n fn: (this: TA, v: T, i: number) => void,\n thisArg?: TA,\n reverse?: boolean\n): void;\nexport function each(\n loopable: T[] | Record,\n fn: (this: TA, v: T, i: any) => void,\n thisArg?: TA,\n reverse?: boolean\n) {\n let i: number, len: number, keys: string[];\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\n\n/**\n * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\n * @param a0 - The array to compare\n * @param a1 - The array to compare\n * @private\n */\nexport function _elementsEqual(a0: ActiveDataPoint[], a1: ActiveDataPoint[]) {\n let i: number, ilen: number, v0: ActiveDataPoint, v1: ActiveDataPoint;\n\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Returns a deep copy of `source` without keeping references on objects and arrays.\n * @param source - The value to clone.\n */\nexport function clone(source: T): T {\n if (isArray(source)) {\n return source.map(clone) as unknown as T;\n }\n\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n\n for (; k < klen; ++k) {\n target[keys[k]] = clone(source[keys[k]]);\n }\n\n return target;\n }\n\n return source;\n}\n\nfunction isValidKey(key: string) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\n\n/**\n * The default merger when Chart.helpers.merge is called without merger option.\n * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\n * @private\n */\nexport function _merger(key: string, target: AnyObject, source: AnyObject, options: AnyObject) {\n if (!isValidKey(key)) {\n return;\n }\n\n const tval = target[key];\n const sval = source[key];\n\n if (isObject(tval) && isObject(sval)) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n merge(tval, sval, options);\n } else {\n target[key] = clone(sval);\n }\n}\n\nexport interface MergeOptions {\n merger?: (key: string, target: AnyObject, source: AnyObject, options?: AnyObject) => void;\n}\n\n/**\n * Recursively deep copies `source` properties into `target` with the given `options`.\n * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\n * @param target - The target object in which all sources are merged into.\n * @param source - Object(s) to merge into `target`.\n * @param [options] - Merging options:\n * @param [options.merger] - The merge method (key, target, source, options)\n * @returns The `target` object.\n */\nexport function merge(target: T, source: [], options?: MergeOptions): T;\nexport function merge(target: T, source: S1, options?: MergeOptions): T & S1;\nexport function merge(target: T, source: [S1], options?: MergeOptions): T & S1;\nexport function merge(target: T, source: [S1, S2], options?: MergeOptions): T & S1 & S2;\nexport function merge(target: T, source: [S1, S2, S3], options?: MergeOptions): T & S1 & S2 & S3;\nexport function merge(\n target: T,\n source: [S1, S2, S3, S4],\n options?: MergeOptions\n): T & S1 & S2 & S3 & S4;\nexport function merge(target: T, source: AnyObject[], options?: MergeOptions): AnyObject;\nexport function merge(target: T, source: AnyObject[], options?: MergeOptions): AnyObject {\n const sources = isArray(source) ? source : [source];\n const ilen = sources.length;\n\n if (!isObject(target)) {\n return target as AnyObject;\n }\n\n options = options || {};\n const merger = options.merger || _merger;\n let current: AnyObject;\n\n for (let i = 0; i < ilen; ++i) {\n current = sources[i];\n if (!isObject(current)) {\n continue;\n }\n\n const keys = Object.keys(current);\n for (let k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, current, options as AnyObject);\n }\n }\n\n return target;\n}\n\n/**\n * Recursively deep copies `source` properties into `target` *only* if not defined in target.\n * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\n * @param target - The target object in which all sources are merged into.\n * @param source - Object(s) to merge into `target`.\n * @returns The `target` object.\n */\nexport function mergeIf(target: T, source: []): T;\nexport function mergeIf(target: T, source: S1): T & S1;\nexport function mergeIf(target: T, source: [S1]): T & S1;\nexport function mergeIf(target: T, source: [S1, S2]): T & S1 & S2;\nexport function mergeIf(target: T, source: [S1, S2, S3]): T & S1 & S2 & S3;\nexport function mergeIf(target: T, source: [S1, S2, S3, S4]): T & S1 & S2 & S3 & S4;\nexport function mergeIf(target: T, source: AnyObject[]): AnyObject;\nexport function mergeIf(target: T, source: AnyObject[]): AnyObject {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return merge(target, source, {merger: _mergerIf});\n}\n\n/**\n * Merges source[key] in target[key] only if target[key] is undefined.\n * @private\n */\nexport function _mergerIf(key: string, target: AnyObject, source: AnyObject) {\n if (!isValidKey(key)) {\n return;\n }\n\n const tval = target[key];\n const sval = source[key];\n\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone(sval);\n }\n}\n\n/**\n * @private\n */\nexport function _deprecated(scope: string, value: unknown, previous: string, current: string) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous +\n '\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\n\n// resolveObjectKey resolver cache\nconst keyResolvers = {\n // Chart.helpers.core resolveObjectKey should resolve empty key to root object\n '': v => v,\n // default resolvers\n x: o => o.x,\n y: o => o.y\n};\n\n/**\n * @private\n */\nexport function _splitKey(key: string) {\n const parts = key.split('.');\n const keys: string[] = [];\n let tmp = '';\n for (const part of parts) {\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\n\nfunction _getKeyResolver(key: string) {\n const keys = _splitKey(key);\n return obj => {\n for (const k of keys) {\n if (k === '') {\n // For backward compatibility:\n // Chart.helpers.core resolveObjectKey should break at empty key\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\n\nexport function resolveObjectKey(obj: AnyObject, key: string): AnyObject {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\n\n/**\n * @private\n */\nexport function _capitalize(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\n\nexport const defined = (value: unknown) => typeof value !== 'undefined';\n\nexport const isFunction = (value: unknown): value is (...args: any[]) => any => typeof value === 'function';\n\n// Adapted from https://stackoverflow.com/questions/31128855/comparing-ecma6-sets-for-equality#31129384\nexport const setsEqual = (a: Set, b: Set) => {\n if (a.size !== b.size) {\n return false;\n }\n\n for (const item of a) {\n if (!b.has(item)) {\n return false;\n }\n }\n\n return true;\n};\n\n/**\n * @param e - The event\n * @private\n */\nexport function _isClickEvent(e: ChartEvent) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n","import type {Point} from '../types/geometric.js';\nimport {isFinite as isFiniteNumber} from './helpers.core.js';\n\n/**\n * @alias Chart.helpers.math\n * @namespace\n */\n\nexport const PI = Math.PI;\nexport const TAU = 2 * PI;\nexport const PITAU = TAU + PI;\nexport const INFINITY = Number.POSITIVE_INFINITY;\nexport const RAD_PER_DEG = PI / 180;\nexport const HALF_PI = PI / 2;\nexport const QUARTER_PI = PI / 4;\nexport const TWO_THIRDS_PI = PI * 2 / 3;\n\nexport const log10 = Math.log10;\nexport const sign = Math.sign;\n\nexport function almostEquals(x: number, y: number, epsilon: number) {\n return Math.abs(x - y) < epsilon;\n}\n\n/**\n * Implementation of the nice number algorithm used in determining where axis labels will go\n */\nexport function niceNum(range: number) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\n\n/**\n * Returns an array of factors sorted from 1 to sqrt(value)\n * @private\n */\nexport function _factorize(value: number) {\n const result: number[] = [];\n const sqrt = Math.sqrt(value);\n let i: number;\n\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) { // if value is a square number\n result.push(sqrt);\n }\n\n result.sort((a, b) => a - b).pop();\n return result;\n}\n\nexport function isNumber(n: unknown): n is number {\n return !isNaN(parseFloat(n as string)) && isFinite(n as number);\n}\n\nexport function almostWhole(x: number, epsilon: number) {\n const rounded = Math.round(x);\n return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\n\n/**\n * @private\n */\nexport function _setMinAndMaxByKey(\n array: Record[],\n target: { min: number, max: number },\n property: string\n) {\n let i: number, ilen: number, value: number;\n\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\n\nexport function toRadians(degrees: number) {\n return degrees * (PI / 180);\n}\n\nexport function toDegrees(radians: number) {\n return radians * (180 / PI);\n}\n\n/**\n * Returns the number of decimal places\n * i.e. the number of digits after the decimal point, of the value of this Number.\n * @param x - A number.\n * @returns The number of decimal places.\n * @private\n */\nexport function _decimalPlaces(x: number) {\n if (!isFiniteNumber(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n return p;\n}\n\n// Gets the angle from vertical upright to the point about a centre.\nexport function getAngleFromPoint(\n centrePoint: Point,\n anglePoint: Point\n) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n\n if (angle < (-0.5 * PI)) {\n angle += TAU; // make sure the returned angle is in the range of (-PI/2, 3PI/2]\n }\n\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\n\nexport function distanceBetweenPoints(pt1: Point, pt2: Point) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\n\n/**\n * Shortest distance between angles, in either direction.\n * @private\n */\nexport function _angleDiff(a: number, b: number) {\n return (a - b + PITAU) % TAU - PI;\n}\n\n/**\n * Normalize angle to be between 0 and 2*PI\n * @private\n */\nexport function _normalizeAngle(a: number) {\n return (a % TAU + TAU) % TAU;\n}\n\n/**\n * @private\n */\nexport function _angleBetween(angle: number, start: number, end: number, sameAngleIsFullCircle?: boolean) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || (sameAngleIsFullCircle && s === e)\n || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\n\n/**\n * Limit `value` between `min` and `max`\n * @param value\n * @param min\n * @param max\n * @private\n */\nexport function _limitValue(value: number, min: number, max: number) {\n return Math.max(min, Math.min(max, value));\n}\n\n/**\n * @param {number} value\n * @private\n */\nexport function _int16Range(value: number) {\n return _limitValue(value, -32768, 32767);\n}\n\n/**\n * @param value\n * @param start\n * @param end\n * @param [epsilon]\n * @private\n */\nexport function _isBetween(value: number, start: number, end: number, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n","import {_capitalize} from './helpers.core.js';\n\n/**\n * Binary search\n * @param table - the table search. must be sorted!\n * @param value - value to find\n * @param cmp\n * @private\n */\nexport function _lookup(\n table: number[],\n value: number,\n cmp?: (value: number) => boolean\n): {lo: number, hi: number};\nexport function _lookup(\n table: T[],\n value: number,\n cmp: (value: number) => boolean\n): {lo: number, hi: number};\nexport function _lookup(\n table: unknown[],\n value: number,\n cmp?: (value: number) => boolean\n) {\n cmp = cmp || ((index) => table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid: number;\n\n while (hi - lo > 1) {\n mid = (lo + hi) >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n\n return {lo, hi};\n}\n\n/**\n * Binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @param last - lookup last index\n * @private\n */\nexport const _lookupByKey = (\n table: Record[],\n key: string,\n value: number,\n last?: boolean\n) =>\n _lookup(table, value, last\n ? index => {\n const ti = table[index][key];\n return ti < value || ti === value && table[index + 1][key] === value;\n }\n : index => table[index][key] < value);\n\n/**\n * Reverse binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @private\n */\nexport const _rlookupByKey = (\n table: Record[],\n key: string,\n value: number\n) =>\n _lookup(table, value, index => table[index][key] >= value);\n\n/**\n * Return subset of `values` between `min` and `max` inclusive.\n * Values are assumed to be in sorted order.\n * @param values - sorted array of values\n * @param min - min value\n * @param max - max value\n */\nexport function _filterBetween(values: number[], min: number, max: number) {\n let start = 0;\n let end = values.length;\n\n while (start < end && values[start] < min) {\n start++;\n }\n while (end > start && values[end - 1] > max) {\n end--;\n }\n\n return start > 0 || end < values.length\n ? values.slice(start, end)\n : values;\n}\n\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'] as const;\n\nexport interface ArrayListener {\n _onDataPush?(...item: T[]): void;\n _onDataPop?(): void;\n _onDataShift?(): void;\n _onDataSplice?(index: number, deleteCount: number, ...items: T[]): void;\n _onDataUnshift?(...item: T[]): void;\n}\n\n/**\n * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\n * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\n * called on the '_onData*' callbacks (e.g. _onDataPush, etc.) with same arguments.\n */\nexport function listenArrayEvents(array: T[], listener: ArrayListener): void;\nexport function listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n\n arrayEvents.forEach((key) => {\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value(...args) {\n const res = base.apply(this, args);\n\n array._chartjs.listeners.forEach((object) => {\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n\n return res;\n }\n });\n });\n}\n\n\n/**\n * Removes the given array event listener and cleanup extra attached properties (such as\n * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\n */\nexport function unlistenArrayEvents(array: T[], listener: ArrayListener): void;\nexport function unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n\n if (listeners.length > 0) {\n return;\n }\n\n arrayEvents.forEach((key) => {\n delete array[key];\n });\n\n delete array._chartjs;\n}\n\n/**\n * @param items\n */\nexport function _arrayUnique(items: T[]) {\n const set = new Set();\n let i: number, ilen: number;\n\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n set.add(items[i]);\n }\n\n if (set.size === ilen) {\n return items;\n }\n\n return Array.from(set);\n}\n","import type {ChartMeta, PointElement} from '../types/index.js';\n\nimport {_limitValue} from './helpers.math.js';\nimport {_lookupByKey} from './helpers.collection.js';\n\nexport function fontString(pixelSize: number, fontStyle: string, fontFamily: string) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\n\n/**\n* Request animation polyfill\n*/\nexport const requestAnimFrame = (function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}());\n\n/**\n * Throttles calling `fn` once per animation frame\n * Latest arguments are used on the actual call\n */\nexport function throttled>(\n fn: (...args: TArgs) => void,\n thisArg: any,\n) {\n let argsToUse = [] as TArgs;\n let ticking = false;\n\n return function(...args: TArgs) {\n // Save the args for use later\n argsToUse = args;\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, () => {\n ticking = false;\n fn.apply(thisArg, argsToUse);\n });\n }\n };\n}\n\n/**\n * Debounces calling `fn` for `delay` ms\n */\nexport function debounce>(fn: (...args: TArgs) => void, delay: number) {\n let timeout;\n return function(...args: TArgs) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\n\n/**\n * Converts 'start' to 'left', 'end' to 'right' and others to 'center'\n * @private\n */\nexport const _toLeftRightCenter = (align: 'start' | 'end' | 'center') => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\n\n/**\n * Returns `start`, `end` or `(start + end) / 2` depending on `align`. Defaults to `center`\n * @private\n */\nexport const _alignStartEnd = (align: 'start' | 'end' | 'center', start: number, end: number) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\n\n/**\n * Returns `left`, `right` or `(left + right) / 2` depending on `align`. Defaults to `left`\n * @private\n */\nexport const _textX = (align: 'left' | 'right' | 'center', left: number, right: number, rtl: boolean) => {\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\n\n/**\n * Return start and count of visible points.\n * @private\n */\nexport function _getStartAndCountOfVisiblePoints(meta: ChartMeta<'line' | 'scatter'>, points: PointElement[], animationsDisabled: boolean) {\n const pointCount = points.length;\n\n let start = 0;\n let count = pointCount;\n\n if (meta._sorted) {\n const {iScale, _parsed} = meta;\n const axis = iScale.axis;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n\n if (minDefined) {\n start = _limitValue(Math.min(\n // @ts-expect-error Need to type _parsed\n _lookupByKey(_parsed, iScale.axis, min).lo,\n // @ts-expect-error Need to fix types on _lookupByKey\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo),\n 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(\n // @ts-expect-error Need to type _parsed\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1,\n // @ts-expect-error Need to fix types on _lookupByKey\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1),\n start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n\n return {start, count};\n}\n\n/**\n * Checks if the scale ranges have changed.\n * @param {object} meta - dataset meta.\n * @returns {boolean}\n * @private\n */\nexport function _scaleRangesChanged(meta) {\n const {xScale, yScale, _scaleRanges} = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n","import {PI, TAU, HALF_PI} from './helpers.math.js';\n\nconst atEdge = (t: number) => t === 0 || t === 1;\nconst elasticIn = (t: number, s: number, p: number) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t: number, s: number, p: number) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\n\n/**\n * Easing functions adapted from Robert Penner's easing equations.\n * @namespace Chart.helpers.easing.effects\n * @see http://www.robertpenner.com/easing/\n */\nconst effects = {\n linear: (t: number) => t,\n\n easeInQuad: (t: number) => t * t,\n\n easeOutQuad: (t: number) => -t * (t - 2),\n\n easeInOutQuad: (t: number) => ((t /= 0.5) < 1)\n ? 0.5 * t * t\n : -0.5 * ((--t) * (t - 2) - 1),\n\n easeInCubic: (t: number) => t * t * t,\n\n easeOutCubic: (t: number) => (t -= 1) * t * t + 1,\n\n easeInOutCubic: (t: number) => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t\n : 0.5 * ((t -= 2) * t * t + 2),\n\n easeInQuart: (t: number) => t * t * t * t,\n\n easeOutQuart: (t: number) => -((t -= 1) * t * t * t - 1),\n\n easeInOutQuart: (t: number) => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t\n : -0.5 * ((t -= 2) * t * t * t - 2),\n\n easeInQuint: (t: number) => t * t * t * t * t,\n\n easeOutQuint: (t: number) => (t -= 1) * t * t * t * t + 1,\n\n easeInOutQuint: (t: number) => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t * t\n : 0.5 * ((t -= 2) * t * t * t * t + 2),\n\n easeInSine: (t: number) => -Math.cos(t * HALF_PI) + 1,\n\n easeOutSine: (t: number) => Math.sin(t * HALF_PI),\n\n easeInOutSine: (t: number) => -0.5 * (Math.cos(PI * t) - 1),\n\n easeInExpo: (t: number) => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n\n easeOutExpo: (t: number) => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n\n easeInOutExpo: (t: number) => atEdge(t) ? t : t < 0.5\n ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n\n easeInCirc: (t: number) => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n\n easeOutCirc: (t: number) => Math.sqrt(1 - (t -= 1) * t),\n\n easeInOutCirc: (t: number) => ((t /= 0.5) < 1)\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n\n easeInElastic: (t: number) => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n\n easeOutElastic: (t: number) => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n\n easeInOutElastic(t: number) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t :\n t < 0.5\n ? 0.5 * elasticIn(t * 2, s, p)\n : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n\n easeInBack(t: number) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n\n easeOutBack(t: number) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n\n easeInOutBack(t: number) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n },\n\n easeInBounce: (t: number) => 1 - effects.easeOutBounce(1 - t),\n\n easeOutBounce(t: number) {\n const m = 7.5625;\n const d = 2.75;\n if (t < (1 / d)) {\n return m * t * t;\n }\n if (t < (2 / d)) {\n return m * (t -= (1.5 / d)) * t + 0.75;\n }\n if (t < (2.5 / d)) {\n return m * (t -= (2.25 / d)) * t + 0.9375;\n }\n return m * (t -= (2.625 / d)) * t + 0.984375;\n },\n\n easeInOutBounce: (t: number) => (t < 0.5)\n ? effects.easeInBounce(t * 2) * 0.5\n : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n} as const;\n\nexport type EasingFunction = keyof typeof effects\n\nexport default effects;\n","import {Color} from '@kurkle/color';\n\nexport function isPatternOrGradient(value: unknown): value is CanvasPattern | CanvasGradient {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n\n return false;\n}\n\nexport function color(value: CanvasGradient): CanvasGradient;\nexport function color(value: CanvasPattern): CanvasPattern;\nexport function color(\n value:\n | string\n | { r: number; g: number; b: number; a: number }\n | [number, number, number]\n | [number, number, number, number]\n): Color;\nexport function color(value) {\n return isPatternOrGradient(value) ? value : new Color(value);\n}\n\nexport function getHoverColor(value: CanvasGradient): CanvasGradient;\nexport function getHoverColor(value: CanvasPattern): CanvasPattern;\nexport function getHoverColor(value: string): string;\nexport function getHoverColor(value) {\n return isPatternOrGradient(value)\n ? value\n : new Color(value).saturate(0.5).darken(0.1).hexString();\n}\n","const numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\n\nexport function applyAnimationsDefaults(defaults) {\n defaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined,\n });\n\n defaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n });\n\n defaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n },\n });\n\n defaults.describe('animations', {\n _fallback: 'animation',\n });\n\n defaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0 // show immediately\n },\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: v => v | 0 // for keeping the dataset visible all the way through the animation\n },\n }\n }\n });\n}\n","\nconst intlCache = new Map();\n\nfunction getNumberFormat(locale: string, options?: Intl.NumberFormatOptions) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\n\nexport function formatNumber(num: number, locale: string, options?: Intl.NumberFormatOptions) {\n return getNumberFormat(locale, options).format(num);\n}\n","import {isArray} from '../helpers/helpers.core.js';\nimport {formatNumber} from '../helpers/helpers.intl.js';\nimport {log10} from '../helpers/helpers.math.js';\n\n/**\n * Namespace to hold formatters for different types of ticks\n * @namespace Chart.Ticks.formatters\n */\nconst formatters = {\n /**\n * Formatter for value labels\n * @method Chart.Ticks.formatters.values\n * @param value the value to display\n * @return {string|string[]} the label to display\n */\n values(value) {\n return isArray(value) ? /** @type {string[]} */ (value) : '' + value;\n },\n\n /**\n * Formatter for numeric ticks\n * @method Chart.Ticks.formatters.numeric\n * @param tickValue {number} the value to be formatted\n * @param index {number} the position of the tickValue parameter in the ticks array\n * @param ticks {object[]} the list of ticks being converted\n * @return {string} string representation of the tickValue parameter\n */\n numeric(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0'; // never show decimal places for 0\n }\n\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue; // This is used when there are less than 2 ticks as the tick interval.\n\n if (ticks.length > 1) {\n // all ticks are small or there huge numbers; use scientific notation\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n\n delta = calculateDelta(tickValue, ticks);\n }\n\n const logDelta = log10(Math.abs(delta));\n const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0); // toFixed has a max of 20 decimal places\n\n const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n Object.assign(options, this.options.ticks.format);\n\n return formatNumber(tickValue, locale, options);\n },\n\n\n /**\n * Formatter for logarithmic ticks\n * @method Chart.Ticks.formatters.logarithmic\n * @param tickValue {number} the value to be formatted\n * @param index {number} the position of the tickValue parameter in the ticks array\n * @param ticks {object[]} the list of ticks being converted\n * @return {string} string representation of the tickValue parameter\n */\n logarithmic(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = ticks[index].significand || (tickValue / (Math.pow(10, Math.floor(log10(tickValue)))));\n if ([1, 2, 3, 5, 10, 15].includes(remain) || index > 0.8 * ticks.length) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n\n};\n\n\nfunction calculateDelta(tickValue, ticks) {\n // Figure out how many digits to show\n // The space between the first two ticks might be smaller than normal spacing\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n\n // If we have a number like 2.5 as the delta, figure out how many decimal places we need\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n // not an integer\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\n\n/**\n * Namespace to hold static tick generation functions\n * @namespace Chart.Ticks\n */\nexport default {formatters};\n","import {getHoverColor} from '../helpers/helpers.color.js';\nimport {isObject, merge, valueOrDefault} from '../helpers/helpers.core.js';\nimport {applyAnimationsDefaults} from './core.animations.defaults.js';\nimport {applyLayoutsDefaults} from './core.layouts.defaults.js';\nimport {applyScaleDefaults} from './core.scale.defaults.js';\n\nexport const overrides = Object.create(null);\nexport const descriptors = Object.create(null);\n\n/**\n * @param {object} node\n * @param {string} key\n * @return {object}\n */\nfunction getScope(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for (let i = 0, n = keys.length; i < n; ++i) {\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\n\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope(root, scope), values);\n }\n return merge(getScope(root, ''), scope);\n}\n\n/**\n * Please use the module's default export which provides a singleton instance\n * Note: class is exported for typedoc\n */\nexport class Defaults {\n constructor(_descriptors, _appliers) {\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options) => getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n\n this.describe(_descriptors);\n this.apply(_appliers);\n }\n\n /**\n\t * @param {string|object} scope\n\t * @param {object} [values]\n\t */\n set(scope, values) {\n return set(this, scope, values);\n }\n\n /**\n\t * @param {string} scope\n\t */\n get(scope) {\n return getScope(this, scope);\n }\n\n /**\n\t * @param {string|object} scope\n\t * @param {object} [values]\n\t */\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n\n override(scope, values) {\n return set(overrides, scope, values);\n }\n\n /**\n\t * Routes the named defaults to fallback to another scope/name.\n\t * This routing is useful when those target values, like defaults.color, are changed runtime.\n\t * If the values would be copied, the runtime change would not take effect. By routing, the\n\t * fallback is evaluated at each access, so its always up to date.\n\t *\n\t * Example:\n\t *\n\t * \tdefaults.route('elements.arc', 'backgroundColor', '', 'color')\n\t * - reads the backgroundColor from defaults.color when undefined locally\n\t *\n\t * @param {string} scope Scope this route applies to.\n\t * @param {string} name Property name that should be routed to different namespace when not defined here.\n\t * @param {string} targetScope The namespace where those properties should be routed to.\n\t * Empty string ('') is the root of defaults.\n\t * @param {string} targetName The target name in the target scope the property should be routed to.\n\t */\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope(this, scope);\n const targetScopeObject = getScope(this, targetScope);\n const privateName = '_' + name;\n\n Object.defineProperties(scopeObject, {\n // A private property is defined to hold the actual value, when this property is set in its scope (set in the setter)\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n // The actual property is defined as getter/setter so we can do the routing when value is not locally set.\n [name]: {\n enumerable: true,\n get() {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set(value) {\n this[privateName] = value;\n }\n }\n });\n }\n\n apply(appliers) {\n appliers.forEach((apply) => apply(this));\n }\n}\n\n// singleton instance\nexport default /* #__PURE__ */ new Defaults({\n _scriptable: (name) => !name.startsWith('on'),\n _indexable: (name) => name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false,\n }\n}, [applyAnimationsDefaults, applyLayoutsDefaults, applyScaleDefaults]);\n","export function applyLayoutsDefaults(defaults) {\n defaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n });\n}\n","import Ticks from './core.ticks.js';\n\nexport function applyScaleDefaults(defaults) {\n defaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n\n /**\n * Scale boundary strategy (bypassed by min/max time options)\n * - `data`: make sure data are fully visible, ticks outside are removed\n * - `ticks`: make sure ticks are fully visible, data outside are truncated\n * @see https://github.com/chartjs/Chart.js/pull/4556\n * @since 3.0.0\n */\n bounds: 'ticks',\n\n /**\n * Addition grace added to max and reduced from min data value.\n * @since 3.0.0\n */\n grace: 0,\n\n // grid line settings\n grid: {\n display: true,\n lineWidth: 1,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options) => options.lineWidth,\n tickColor: (_ctx, options) => options.color,\n offset: false,\n },\n\n border: {\n display: true,\n dash: [],\n dashOffset: 0.0,\n width: 1\n },\n\n // scale title\n title: {\n // display property\n display: false,\n\n // actual label\n text: '',\n\n // top/bottom padding\n padding: {\n top: 4,\n bottom: 4\n }\n },\n\n // label settings\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n // We pass through arrays to be rendered as multiline labels, we convert Others to strings here.\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2,\n }\n });\n\n defaults.route('scale.ticks', 'color', '', 'color');\n defaults.route('scale.grid', 'color', '', 'borderColor');\n defaults.route('scale.border', 'color', '', 'borderColor');\n defaults.route('scale.title', 'color', '', 'color');\n\n defaults.describe('scale', {\n _fallback: false,\n _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash' && name !== 'dash',\n });\n\n defaults.describe('scales', {\n _fallback: 'scale',\n });\n\n defaults.describe('scale.ticks', {\n _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name) => name !== 'backdropPadding',\n });\n}\n","import {isArray, isNullOrUndef} from './helpers.core.js';\nimport {PI, TAU, HALF_PI, QUARTER_PI, TWO_THIRDS_PI, RAD_PER_DEG} from './helpers.math.js';\n\n/**\n * Note: typedefs are auto-exported, so use a made-up `canvas` namespace where\n * necessary to avoid duplicates with `export * from './helpers`; see\n * https://github.com/microsoft/TypeScript/issues/46011\n * @typedef { import('../core/core.controller.js').default } canvas.Chart\n * @typedef { import('../types/index.js').Point } Point\n */\n\n/**\n * @namespace Chart.helpers.canvas\n */\n\n/**\n * Converts the given font object into a CSS font string.\n * @param {object} font - A font object.\n * @return {string|null} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\n * @private\n */\nexport function toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n\n return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\n\n/**\n * @private\n */\nexport function _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\n\n/**\n * @private\n */\nexport function _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n\n ctx.save();\n\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n\n // Undefined strings and arrays should not be measured\n if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n // if it is an array lets measure each element\n // to do maybe simplify this function a bit so we can do this more recursively?\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n // Undefined strings and arrays should not be measured\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n\n ctx.restore();\n\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\n\n/**\n * Returns the aligned pixel value to avoid anti-aliasing blur\n * @param {canvas.Chart} chart - The chart instance.\n * @param {number} pixel - A pixel value.\n * @param {number} width - The width of the element.\n * @returns {number} The aligned pixel value.\n * @private\n */\nexport function _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\n\n/**\n * Clears the entire canvas.\n * @param {HTMLCanvasElement} canvas\n * @param {CanvasRenderingContext2D} [ctx]\n */\nexport function clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n\n ctx.save();\n // canvas.width and canvas.height do not consider the canvas transform,\n // while clearRect does\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\n\nexport function drawPoint(ctx, options, x, y) {\n drawPointLegend(ctx, options, x, y, null);\n}\n\nexport function drawPointLegend(ctx, options, x, y, w) {\n let type, xOffset, yOffset, size, cornerRadius, width, xOffsetW, yOffsetW;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n\n ctx.beginPath();\n\n switch (style) {\n // Default includes circle\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n width = w ? w / 2 : radius;\n ctx.moveTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n // NOTE: the rounded rect implementation changed to use `arc` instead of\n // `quadraticCurveTo` since it generates better results when rect is\n // almost a circle. 0.516 (instead of 0.5) produces results with visually\n // closer proportion to the previous impl and it is inscribed in the\n // circle with `radius`. For more details, see the following PRs:\n // https://github.com/chartjs/Chart.js/issues/5597\n // https://github.com/chartjs/Chart.js/issues/5858\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n xOffsetW = Math.cos(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n yOffsetW = Math.sin(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n ctx.arc(x - xOffsetW, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffsetW, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffsetW, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffsetW, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n /* falls through */\n case 'rectRot':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n /* falls through */\n case 'cross':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n break;\n case 'star':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n rad += QUARTER_PI;\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * (w ? w / 2 : radius), y + Math.sin(rad) * radius);\n break;\n case false:\n ctx.closePath();\n break;\n }\n\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\n\n/**\n * Returns true if the point is inside the rectangle\n * @param {Point} point - The point to test\n * @param {object} area - The rectangle\n * @param {number} [margin] - allowed margin\n * @returns {boolean}\n * @private\n */\nexport function _isPointInArea(point, area, margin) {\n margin = margin || 0.5; // margin - default is to match rounded decimals\n\n return !area || (point && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin);\n}\n\nexport function clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\n\nexport function unclipArea(ctx) {\n ctx.restore();\n}\n\n/**\n * @private\n */\nexport function _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\n\n/**\n * @private\n */\nexport function _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(\n flip ? previous.cp1x : previous.cp2x,\n flip ? previous.cp1y : previous.cp2y,\n flip ? target.cp2x : target.cp1x,\n flip ? target.cp2y : target.cp1y,\n target.x,\n target.y);\n}\n\n/**\n * Render text onto the canvas\n */\nexport function renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [text];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n\n if (opts.backdrop) {\n drawBackdrop(ctx, opts.backdrop);\n }\n\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n\n y += font.lineHeight;\n }\n\n ctx.restore();\n}\n\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\n\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n /**\n * Now that IE11 support has been dropped, we can use more\n * of the TextMetrics object. The actual bounding boxes\n * are unflagged in Chrome, Firefox, Edge, and Safari so they\n * can be safely used.\n * See https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics#Browser_compatibility\n */\n const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\n\nfunction drawBackdrop(ctx, opts) {\n const oldColor = ctx.fillStyle;\n\n ctx.fillStyle = opts.color;\n ctx.fillRect(opts.left, opts.top, opts.width, opts.height);\n ctx.fillStyle = oldColor;\n}\n\n/**\n * Add a path of a rectangle with rounded corners to the current sub-path\n * @param {CanvasRenderingContext2D} ctx Context\n * @param {*} rect Bounding rect\n */\nexport function addRoundedRectPath(ctx, rect) {\n const {x, y, w, h, radius} = rect;\n\n // top left arc\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n\n // line from top left to bottom left\n ctx.lineTo(x, y + h - radius.bottomLeft);\n\n // bottom left arc\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n\n // line from bottom left to bottom right\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n\n // bottom right arc\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n\n // line from bottom right to top right\n ctx.lineTo(x + w, y + radius.topRight);\n\n // top right arc\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n\n // line from top right to top left\n ctx.lineTo(x + radius.topLeft, y);\n}\n","import defaults from '../core/core.defaults.js';\nimport {isArray, isObject, toDimension, valueOrDefault} from './helpers.core.js';\nimport {Point, toFontString} from './helpers.canvas.js';\nimport type {ChartArea, FontSpec} from '../types/index.js';\nimport type {TRBL, TRBLCorners} from '../types/geometric.js';\n\nconst LINE_HEIGHT = /^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/;\nconst FONT_STYLE = /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;\n\n/**\n * @alias Chart.helpers.options\n * @namespace\n */\n/**\n * Converts the given line height `value` in pixels for a specific font `size`.\n * @param value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\n * @param size - The font size (in pixels) used to resolve relative `value`.\n * @returns The effective line height in pixels (size * 1.2 if value is invalid).\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\n * @since 2.7.0\n */\nexport function toLineHeight(value: number | string, size: number): number {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n\n value = +matches[2];\n\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n default:\n break;\n }\n\n return size * value;\n}\n\nconst numberOrZero = (v: unknown) => +v || 0;\n\n/**\n * @param value\n * @param props\n */\nexport function _readValueToProps(value: number | Record, props: K[]): Record;\nexport function _readValueToProps(value: number | Record, props: Record): Record;\nexport function _readValueToProps(value: number | Record, props: string[] | Record) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value)\n ? objProps\n ? prop => valueOrDefault(value[prop], value[props[prop]])\n : prop => value[prop]\n : () => value;\n\n for (const prop of keys) {\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\n\n/**\n * Converts the given value into a TRBL object.\n * @param value - If a number, set the value to all TRBL component,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left)\n * @since 3.0.0\n */\nexport function toTRBL(value: number | TRBL | Point) {\n return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\n\n/**\n * Converts the given value into a TRBL corners object (similar with css border-radius).\n * @param value - If a number, set the value to all TRBL corner components,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * @returns The TRBL corner values (topLeft, topRight, bottomLeft, bottomRight)\n * @since 3.0.0\n */\nexport function toTRBLCorners(value: number | TRBLCorners) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\n\n/**\n * Converts the given value into a padding object with pre-computed width/height.\n * @param value - If a number, set the value to all TRBL component,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left, width, height)\n * @since 2.7.0\n */\nexport function toPadding(value?: number | TRBL): ChartArea {\n const obj = toTRBL(value) as ChartArea;\n\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n\n return obj;\n}\n\nexport interface CanvasFontSpec extends FontSpec {\n string: string;\n}\n\n/**\n * Parses font options and returns the font object.\n * @param options - A object that contains font options to be parsed.\n * @param fallback - A object that contains fallback font options.\n * @return The font object.\n * @private\n */\n\nexport function toFont(options: Partial, fallback?: Partial) {\n options = options || {};\n fallback = fallback || defaults.font as FontSpec;\n\n let size = valueOrDefault(options.size, fallback.size);\n\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = undefined;\n }\n\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n\n font.string = toFontString(font);\n return font;\n}\n\n/**\n * Evaluates the given `inputs` sequentially and returns the first defined value.\n * @param inputs - An array of values, falling back to the last value.\n * @param context - If defined and the current value is a function, the value\n * is called with `context` as first argument and the result becomes the new input.\n * @param index - If defined and the current value is an array, the value\n * at `index` become the new input.\n * @param info - object to return information about resolution in\n * @param info.cacheable - Will be set to `false` if option is not cacheable.\n * @since 2.7.0\n */\nexport function resolve(inputs: Array, context?: object, index?: number, info?: { cacheable: boolean }) {\n let cacheable = true;\n let i: number, ilen: number, value: unknown;\n\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\n\n/**\n * @param minmax\n * @param grace\n * @param beginAtZero\n * @private\n */\nexport function _addGrace(minmax: { min: number; max: number; }, grace: number | string, beginAtZero: boolean) {\n const {min, max} = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value: number, add: number) => beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\n\n/**\n * Create a context inheriting parentContext\n * @param parentContext\n * @param context\n * @returns\n */\nexport function createContext(parentContext: null, context: T): T;\nexport function createContext(parentContext: P, context: T): P & T;\nexport function createContext(parentContext: object, context: object) {\n return Object.assign(Object.create(parentContext), context);\n}\n","import {defined, isArray, isFunction, isObject, resolveObjectKey, _capitalize} from './helpers.core.js';\n\n/**\n * Creates a Proxy for resolving raw values for options.\n * @param {object[]} scopes - The option scopes to look for values, in resolution order\n * @param {string[]} [prefixes] - The prefixes for values, in resolution order.\n * @param {object[]} [rootScopes] - The root option scopes\n * @param {string|boolean} [fallback] - Parent scopes fallback\n * @param {function} [getTarget] - callback for getting the target for changed values\n * @returns Proxy\n * @private\n */\nexport function _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n if (!defined(fallback)) {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: rootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n };\n return new Proxy(cache, {\n /**\n * A trap for the delete operator.\n */\n deleteProperty(target, prop) {\n delete target[prop]; // remove from cache\n delete target._keys; // remove cached keys\n delete scopes[0][prop]; // remove from top level scope\n return true;\n },\n\n /**\n * A trap for getting property values.\n */\n get(target, prop) {\n return _cached(target, prop,\n () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n\n /**\n * A trap for Object.getOwnPropertyDescriptor.\n * Also used by Object.hasOwnProperty.\n */\n getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n\n /**\n * A trap for Object.getPrototypeOf.\n */\n getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n\n /**\n * A trap for the in operator.\n */\n has(target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n\n /**\n * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n */\n ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n\n /**\n * A trap for setting property values.\n */\n set(target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value; // set to top level scope + cache\n delete target._keys; // remove cached keys\n return true;\n }\n });\n}\n\n/**\n * Returns an Proxy for resolving option values with context.\n * @param {object} proxy - The Proxy returned by `_createResolver`\n * @param {object} context - Context object for scriptable/indexable options\n * @param {object} [subProxy] - The proxy provided for scriptable options\n * @param {{scriptable: boolean, indexable: boolean, allKeys?: boolean}} [descriptorDefaults] - Defaults for descriptors\n * @private\n */\nexport function _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n /**\n * A trap for the delete operator.\n */\n deleteProperty(target, prop) {\n delete target[prop]; // remove from cache\n delete proxy[prop]; // remove from proxy\n return true;\n },\n\n /**\n * A trap for getting property values.\n */\n get(target, prop, receiver) {\n return _cached(target, prop,\n () => _resolveWithContext(target, prop, receiver));\n },\n\n /**\n * A trap for Object.getOwnPropertyDescriptor.\n * Also used by Object.hasOwnProperty.\n */\n getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys\n ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n\n /**\n * A trap for Object.getPrototypeOf.\n */\n getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n\n /**\n * A trap for the in operator.\n */\n has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n\n /**\n * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n */\n ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n\n /**\n * A trap for setting property values.\n */\n set(target, prop, value) {\n proxy[prop] = value; // set to proxy\n delete target[prop]; // remove from cache\n return true;\n }\n });\n}\n\n/**\n * @private\n */\nexport function _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n };\n}\n\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' &&\n (Object.getPrototypeOf(value) === null || value.constructor === Object);\n\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop)) {\n return target[prop];\n }\n\n const value = resolve();\n // cache the resolved value\n target[prop] = value;\n return value;\n}\n\nfunction _resolveWithContext(target, prop, receiver) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n let value = _proxy[prop]; // resolve from proxy\n\n // resolve with context\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n // if the resolved value is an object, create a sub resolver for it\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\n\nfunction _resolveScriptable(prop, value, target, receiver) {\n const {_proxy, _context, _subProxy, _stack} = target;\n if (_stack.has(prop)) {\n // @ts-ignore\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n value = value(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n // When scriptable option returns an object, create a resolver on that.\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\n\nfunction _resolveArray(prop, value, target, isIndexable) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n\n if (defined(_context.index) && isIndexable(prop)) {\n value = value[_context.index % value.length];\n } else if (isObject(value[0])) {\n // Array of objects, return array or resolvers\n const arr = value;\n const scopes = _proxy._scopes.filter(s => s !== arr);\n value = [];\n for (const item of arr) {\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\n\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\n\nconst getScope = (key, parent) => key === true ? parent\n : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\n\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes) {\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n // When we reach the descriptor that defines a new _fallback, return that.\n // The fallback will resume to that new scope.\n return fallback;\n }\n } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n // Fallback to `false` results to `false`, when falling back to different key.\n // For example `interaction` from `hover` or `plugins.tooltip` and `animation` from `animations`\n return null;\n }\n }\n return false;\n}\n\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [...parentScopes, ...rootScopes];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (defined(fallback) && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [''], rootScopes, fallback,\n () => subGetTarget(resolver, prop, value));\n}\n\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\n\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n // For array of objects, the object is used to store updated values\n return value;\n }\n return target || {};\n}\n\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes) {\n value = _resolve(readKey(prefix, prop), scopes);\n if (defined(value)) {\n return needsSubResolver(prop, value)\n ? createSubResolver(scopes, proxy, prop, value)\n : value;\n }\n }\n}\n\nfunction _resolve(key, scopes) {\n for (const scope of scopes) {\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (defined(value)) {\n return value;\n }\n }\n}\n\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\n\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes) {\n for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n set.add(key);\n }\n }\n return Array.from(set);\n}\n\nexport function _parseObjectDataRadialScale(meta, data, start, count) {\n const {iScale} = meta;\n const {key = 'r'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n","import {almostEquals, distanceBetweenPoints, sign} from './helpers.math.js';\nimport {_isPointInArea} from './helpers.canvas.js';\nimport type {ChartArea} from '../types/index.js';\n\nexport interface SplinePoint {\n x: number;\n y: number;\n skip?: boolean;\n\n // Both Bezier and monotone interpolations have these fields\n // but they are added in different spots\n cp1x?: number;\n cp1y?: number;\n cp2x?: number;\n cp2y?: number;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\n\ntype OptionalSplinePoint = SplinePoint | false\nconst getPoint = (points: SplinePoint[], i: number): OptionalSplinePoint => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis: 'x' | 'y') => indexAxis === 'x' ? 'y' : 'x';\n\nexport function splineCurve(\n firstPoint: SplinePoint,\n middlePoint: SplinePoint,\n afterPoint: SplinePoint,\n t: number\n): {\n previous: SplinePoint\n next: SplinePoint\n } {\n // Props to Rob Spencer at scaled innovation for his post on splining between points\n // http://scaledinnovation.com/analytics/splines/aboutSplines.html\n\n // This function must also respect \"skipped\" points\n\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n\n // If all points are the same, s01 & s02 will be inf\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n\n const fa = t * s01; // scaling factor for triangle Ta\n const fb = t * s12;\n\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\n\n/**\n * Adjust tangents to ensure monotonic properties\n */\nfunction monotoneAdjust(points: SplinePoint[], deltaK: number[], mK: number[]) {\n const pointsLen = points.length;\n\n let alphaK: number, betaK: number, tauK: number, squaredMagnitude: number, pointCurrent: OptionalSplinePoint;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\n\nfunction monotoneCompute(points: SplinePoint[], mK: number[], indexAxis: 'x' | 'y' = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta: number, pointBefore: OptionalSplinePoint, pointCurrent: OptionalSplinePoint;\n let pointAfter = getPoint(points, 0);\n\n for (let i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\n\n/**\n * This function calculates Bézier control points in a similar way than |splineCurve|,\n * but preserves monotonicity of the provided data and ensures no local extremums are added\n * between the dataset discrete points due to the interpolation.\n * See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation\n */\nexport function splineCurveMonotone(points: SplinePoint[], indexAxis: 'x' | 'y' = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK: number[] = Array(pointsLen).fill(0);\n const mK: number[] = Array(pointsLen);\n\n // Calculate slopes (deltaK) and initialize tangents (mK)\n let i, pointBefore: OptionalSplinePoint, pointCurrent: OptionalSplinePoint;\n let pointAfter = getPoint(points, 0);\n\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n\n // In the case of two points that appear at the same x pixel, slopeDeltaX is 0\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i]\n : !pointAfter ? deltaK[i - 1]\n : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n\n monotoneAdjust(points, deltaK, mK);\n\n monotoneCompute(points, mK, indexAxis);\n}\n\nfunction capControlPoint(pt: number, min: number, max: number) {\n return Math.max(Math.min(pt, max), min);\n}\n\nfunction capBezierPoints(points: SplinePoint[], area: ChartArea) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\n\n/**\n * @private\n */\nexport function _updateBezierControlPoints(\n points: SplinePoint[],\n options,\n area: ChartArea,\n loop: boolean,\n indexAxis: 'x' | 'y'\n) {\n let i: number, ilen: number, point: SplinePoint, controlPoints: ReturnType;\n\n // Only consider points that are drawn in case the spanGaps option is used\n if (options.spanGaps) {\n points = points.filter((pt) => !pt.skip);\n }\n\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(\n prev,\n point,\n points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n options.tension\n );\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n","import type {ChartArea, Scale} from '../types/index.js';\nimport type Chart from '../core/core.controller.js';\nimport type {ChartEvent} from '../types.js';\nimport {INFINITY} from './helpers.math.js';\n\n/**\n * Note: typedefs are auto-exported, so use a made-up `dom` namespace where\n * necessary to avoid duplicates with `export * from './helpers`; see\n * https://github.com/microsoft/TypeScript/issues/46011\n * @typedef { import('../core/core.controller.js').default } dom.Chart\n * @typedef { import('../../types').ChartEvent } ChartEvent\n */\n\n/**\n * @private\n */\nexport function _isDomSupported(): boolean {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n\n/**\n * @private\n */\nexport function _getParentNode(domNode: HTMLCanvasElement): HTMLCanvasElement {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = (parent as ShadowRoot).host;\n }\n return parent as HTMLCanvasElement;\n}\n\n/**\n * convert max-width/max-height values that may be percentages into a number\n * @private\n */\n\nfunction parseMaxStyle(styleValue: string | number, node: HTMLElement, parentProperty: string) {\n let valueInPixels: number;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n\n if (styleValue.indexOf('%') !== -1) {\n // percentage * size in dimension\n valueInPixels = (valueInPixels / 100) * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n\n return valueInPixels;\n}\n\nconst getComputedStyle = (element: HTMLElement): CSSStyleDeclaration =>\n element.ownerDocument.defaultView.getComputedStyle(element, null);\n\nexport function getStyle(el: HTMLElement, property: string): string {\n return getComputedStyle(el).getPropertyValue(property);\n}\n\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles: CSSStyleDeclaration, style: string, suffix?: string): ChartArea {\n const result = {} as ChartArea;\n suffix = suffix ? '-' + suffix : '';\n for (let i = 0; i < 4; i++) {\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\n\nconst useOffsetPos = (x: number, y: number, target: HTMLElement | EventTarget) =>\n (x > 0 || y > 0) && (!target || !(target as HTMLElement).shadowRoot);\n\n/**\n * @param e\n * @param canvas\n * @returns Canvas position\n */\nfunction getCanvasPosition(\n e: Event | TouchEvent | MouseEvent,\n canvas: HTMLCanvasElement\n): {\n x: number;\n y: number;\n box: boolean;\n } {\n const touches = (e as TouchEvent).touches;\n const source = (touches && touches.length ? touches[0] : e) as MouseEvent;\n const {offsetX, offsetY} = source as MouseEvent;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {x, y, box};\n}\n\n/**\n * Gets an event's x, y coordinates, relative to the chart area\n * @param event\n * @param chart\n * @returns x and y coordinates of the event\n */\n\nexport function getRelativePosition(\n event: Event | ChartEvent | TouchEvent | MouseEvent,\n chart: Chart\n): { x: number; y: number } {\n if ('native' in event) {\n return event;\n }\n\n const {canvas, currentDevicePixelRatio} = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const {x, y, box} = getCanvasPosition(event, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n\n let {width, height} = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\n\nfunction getContainerSize(canvas: HTMLCanvasElement, width: number, height: number): Partial {\n let maxWidth: number, maxHeight: number;\n\n if (width === undefined || height === undefined) {\n const container = _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect(); // this is the border box of the container\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\n\nconst round1 = (v: number) => Math.round(v * 10) / 10;\n\n// eslint-disable-next-line complexity\nexport function getMaximumSize(\n canvas: HTMLCanvasElement,\n bbWidth?: number,\n bbHeight?: number,\n aspectRatio?: number\n): { width: number; height: number } {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let {width, height} = containerSize;\n\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? width / aspectRatio : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n // https://github.com/chartjs/Chart.js/issues/4659\n // If the canvas has width, but no height, default to aspectRatio of 2 (canvas default)\n height = round1(width / 2);\n }\n\n const maintainHeight = bbWidth !== undefined || bbHeight !== undefined;\n\n if (maintainHeight && aspectRatio && containerSize.height && height > containerSize.height) {\n height = containerSize.height;\n width = round1(Math.floor(height * aspectRatio));\n }\n\n return {width, height};\n}\n\n/**\n * @param chart\n * @param forceRatio\n * @param forceStyle\n * @returns True if the canvas context size or transformation has changed.\n */\nexport function retinaScale(\n chart: Chart,\n forceRatio: number,\n forceStyle?: boolean\n): boolean | void {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n\n chart.height = Math.floor(chart.height);\n chart.width = Math.floor(chart.width);\n\n const canvas = chart.canvas;\n\n // If no style has been set on the canvas, the render size is used as display size,\n // making the chart visually bigger, so let's enforce it to the \"correct\" values.\n // See https://github.com/chartjs/Chart.js/issues/3575\n if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n\n if (chart.currentDevicePixelRatio !== pixelRatio\n || canvas.height !== deviceHeight\n || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\n\n/**\n * Detects support for options object argument in addEventListener.\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n * @private\n */\nexport const supportsEventListenerOptions = (function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive() { // This function will be called when the browser attempts to access the passive property.\n passiveSupported = true;\n return false;\n }\n } as EventListenerOptions;\n\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {\n // continue regardless of error\n }\n return passiveSupported;\n}());\n\n/**\n * The \"used\" size is the final value of a dimension property after all calculations have\n * been performed. This method uses the computed style of `element` but returns undefined\n * if the computed style is not expressed in pixels. That can happen in some cases where\n * `element` has a size relative to its parent and this last one is not yet displayed,\n * for example because of `display: none` on a parent node.\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\n * @returns Size in pixels or undefined if unknown.\n */\n\nexport function readUsedSize(\n element: HTMLElement,\n property: 'width' | 'height'\n): number | undefined {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n","import type {Point} from '../types/geometric.js';\nimport type {SplinePoint} from './helpers.curve.js';\n\n/**\n * @private\n */\nexport function _pointInLine(p1: Point, p2: Point, t: number, mode?) { // eslint-disable-line @typescript-eslint/no-unused-vars\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\n\n/**\n * @private\n */\nexport function _steppedInterpolation(\n p1: Point,\n p2: Point,\n t: number, mode: 'middle' | 'after' | unknown\n) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n : mode === 'after' ? t < 1 ? p1.y : p2.y\n : t > 0 ? p2.y : p1.y\n };\n}\n\n/**\n * @private\n */\nexport function _bezierInterpolation(p1: SplinePoint, p2: SplinePoint, t: number, mode?) { // eslint-disable-line @typescript-eslint/no-unused-vars\n const cp1 = {x: p1.cp2x, y: p1.cp2y};\n const cp2 = {x: p2.cp1x, y: p2.cp1y};\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n","export interface RTLAdapter {\n x(x: number): number;\n setWidth(w: number): void;\n textAlign(align: 'center' | 'left' | 'right'): 'center' | 'left' | 'right';\n xPlus(x: number, value: number): number;\n leftForLtr(x: number, itemWidth: number): number;\n}\n\nconst getRightToLeftAdapter = function(rectX: number, width: number): RTLAdapter {\n return {\n x(x) {\n return rectX + rectX + width - x;\n },\n setWidth(w) {\n width = w;\n },\n textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus(x, value) {\n return x - value;\n },\n leftForLtr(x, itemWidth) {\n return x - itemWidth;\n },\n };\n};\n\nconst getLeftToRightAdapter = function(): RTLAdapter {\n return {\n x(x) {\n return x;\n },\n setWidth(w) { // eslint-disable-line no-unused-vars\n },\n textAlign(align) {\n return align;\n },\n xPlus(x, value) {\n return x + value;\n },\n leftForLtr(x, _itemWidth) { // eslint-disable-line @typescript-eslint/no-unused-vars\n return x;\n },\n };\n};\n\nexport function getRtlAdapter(rtl: boolean, rectX: number, width: number) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\n\nexport function overrideTextDirection(ctx: CanvasRenderingContext2D, direction: 'ltr' | 'rtl') {\n let style: CSSStyleDeclaration, original: [string, string];\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction'),\n ];\n\n style.setProperty('direction', direction, 'important');\n (ctx as { prevTextDirection?: [string, string] }).prevTextDirection = original;\n }\n}\n\nexport function restoreTextDirection(ctx: CanvasRenderingContext2D, original?: [string, string]) {\n if (original !== undefined) {\n delete (ctx as { prevTextDirection?: [string, string] }).prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n","import {_angleBetween, _angleDiff, _isBetween, _normalizeAngle} from './helpers.math.js';\nimport {createContext} from './helpers.options.js';\n\n/**\n * @typedef { import('../elements/element.line.js').default } LineElement\n * @typedef { import('../elements/element.point.js').default } PointElement\n * @typedef {{start: number, end: number, loop: boolean, style?: any}} Segment\n */\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle,\n };\n }\n return {\n between: _isBetween,\n compare: (a, b) => a - b,\n normalize: x => x\n };\n}\n\nfunction normalizeSegment({start, end, count, loop, style}) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\n\nfunction getSegment(segment, points, bounds) {\n const {property, start: startBound, end: endBound} = bounds;\n const {between, normalize} = propertyFn(property);\n const count = points.length;\n // eslint-disable-next-line prefer-const\n let {start, end, loop} = segment;\n let i, ilen;\n\n if (loop) {\n start += count;\n end += count;\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n\n if (end < start) {\n end += count;\n }\n return {start, end, loop, style: segment.style};\n}\n\n/**\n * Returns the sub-segment(s) of a line segment that fall in the given bounds\n * @param {object} segment\n * @param {number} segment.start - start index of the segment, referring the points array\n * @param {number} segment.end - end index of the segment, referring the points array\n * @param {boolean} segment.loop - indicates that the segment is a loop\n * @param {object} [segment.style] - segment style\n * @param {PointElement[]} points - the points that this segment refers to\n * @param {object} [bounds]\n * @param {string} bounds.property - the property of a `PointElement` we are bounding. `x`, `y` or `angle`.\n * @param {number} bounds.start - start value of the property\n * @param {number} bounds.end - end value of the property\n * @private\n **/\nexport function _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n\n const {property, start: startBound, end: endBound} = bounds;\n const count = points.length;\n const {compare, between, normalize} = propertyFn(property);\n const {start, end, loop, style} = getSegment(segment, points, bounds);\n\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n\n const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = () => inside || startIsBefore();\n const shouldStop = () => !inside || endIsBefore();\n\n for (let i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n\n if (point.skip) {\n continue;\n }\n\n value = normalize(point[property]);\n\n if (value === prevValue) {\n continue;\n }\n\n inside = between(value, startBound, endBound);\n\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n\n if (subStart !== null) {\n result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n }\n\n return result;\n}\n\n\n/**\n * Returns the segments of the line that are inside given bounds\n * @param {LineElement} line\n * @param {object} [bounds]\n * @param {string} bounds.property - the property we are bounding with. `x`, `y` or `angle`.\n * @param {number} bounds.start - start value of the `property`\n * @param {number} bounds.end - end value of the `property`\n * @private\n */\nexport function _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n\n for (let i = 0; i < segments.length; i++) {\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\n\n/**\n * Find start and end index of a line.\n */\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n\n if (loop && !spanGaps) {\n // loop and not spanning gaps, first find a gap to start from\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n\n // find first non skipped point (after the first gap possibly)\n while (start < count && points[start].skip) {\n start++;\n }\n\n // if we looped to count, start needs to be 0\n start %= count;\n\n if (loop) {\n // loop will go past count, if start > 0\n end += start;\n }\n\n while (end > start && points[end % count].skip) {\n end--;\n }\n\n // end could be more than count, normalize\n end %= count;\n\n return {start, end};\n}\n\n/**\n * Compute solid segments from Points, when spanGaps === false\n * @param {PointElement[]} points - the points\n * @param {number} start - start index\n * @param {number} max - max index (can go past count on a loop)\n * @param {boolean} loop - boolean indicating that this would be a loop if no gaps are found\n */\nfunction solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n\n for (end = start + 1; end <= max; ++end) {\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({start: start % count, end: (end - 1) % count, loop});\n // @ts-ignore\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n\n if (last !== null) {\n result.push({start: start % count, end: last % count, loop});\n }\n\n return result;\n}\n\n/**\n * Compute the continuous segments that define the whole line\n * There can be skipped points within a segment, if spanGaps is true.\n * @param {LineElement} line\n * @param {object} [segmentOptions]\n * @return {Segment[]}\n * @private\n */\nexport function _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n\n if (!count) {\n return [];\n }\n\n const loop = !!line._loop;\n const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n\n if (spanGaps === true) {\n return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n }\n\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\n\n/**\n * @param {Segment[]} segments\n * @param {PointElement[]} points\n * @param {object} [segmentOptions]\n * @return {Segment[]}\n */\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\n\n/**\n * @param {LineElement} line\n * @param {Segment[]} segments\n * @param {PointElement[]} points\n * @param {object} [segmentOptions]\n * @return {Segment[]}\n */\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const {_datasetIndex: datasetIndex, options: {spanGaps}} = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n // Style can not start/end on a skipped point, adjust indices accordingly\n s += count;\n while (points[s % count].skip) {\n s -= dir;\n }\n while (points[e % count].skip) {\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({start: s % count, end: e % count, loop: l, style: st});\n prevStyle = st;\n start = e % count;\n }\n }\n\n for (const segment of segments) {\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for (i = start + 1; i <= segment.end; i++) {\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n\n return result;\n}\n\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\n\nfunction styleChanged(style, prevStyle) {\n return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n","import {requestAnimFrame} from '../helpers/helpers.extras.js';\n\n/**\n * @typedef { import('./core.animation.js').default } Animation\n * @typedef { import('./core.controller.js').default } Chart\n */\n\n/**\n * Please use the module's default export which provides a singleton instance\n * Note: class is export for typedoc\n */\nexport class Animator {\n constructor() {\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n\n /**\n\t * @private\n\t */\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n\n callbacks.forEach(fn => fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n\n /**\n\t * @private\n\t */\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n\n this._request = requestAnimFrame.call(window, () => {\n this._update();\n this._request = null;\n\n if (this._running) {\n this._refresh();\n }\n });\n }\n\n /**\n\t * @private\n\t */\n _update(date = Date.now()) {\n let remaining = 0;\n\n this._charts.forEach((anims, chart) => {\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n\n for (; i >= 0; --i) {\n item = items[i];\n\n if (item._active) {\n if (item._total > anims.duration) {\n // if the animation has been updated and its duration prolonged,\n // update to total duration of current animations run (for progress event)\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n // Remove the item by replacing it with last item and removing the last\n // A lot faster than splice.\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n\n remaining += items.length;\n });\n\n this._lastDate = date;\n\n if (remaining === 0) {\n this._running = false;\n }\n }\n\n /**\n\t * @private\n\t */\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n\n /**\n\t * @param {Chart} chart\n\t * @param {string} event - event name\n\t * @param {Function} cb - callback\n\t */\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n\n /**\n\t * Add animations\n\t * @param {Chart} chart\n\t * @param {Animation[]} items - animations\n\t */\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n\n /**\n\t * Counts number of active animations for the chart\n\t * @param {Chart} chart\n\t */\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n\n /**\n\t * Start animating (all charts)\n\t * @param {Chart} chart\n\t */\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n\n /**\n\t * Stop all animations for the chart\n\t * @param {Chart} chart\n\t */\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n\n for (; i >= 0; --i) {\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n\n /**\n\t * Remove chart from Animator\n\t * @param {Chart} chart\n\t */\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\n\n// singleton instance\nexport default /* #__PURE__ */ new Animator();\n","import effects from '../helpers/helpers.easing.js';\nimport {resolve} from '../helpers/helpers.options.js';\nimport {color as helpersColor} from '../helpers/helpers.color.js';\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean(from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n /**\n * @param {string} from\n * @param {string} to\n * @param {number} factor\n */\n color(from, to, factor) {\n const c0 = helpersColor(from || transparent);\n const c1 = c0.valid && helpersColor(to || transparent);\n return c1 && c1.valid\n ? c1.mix(c0, factor).hexString()\n : to;\n },\n number(from, to, factor) {\n return from + (to - from) * factor;\n }\n};\n\nexport default class Animation {\n constructor(cfg, target, prop, to) {\n const currentValue = target[prop];\n\n to = resolve([cfg.to, to, currentValue, cfg.from]);\n const from = resolve([cfg.from, currentValue, to]);\n\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n\n active() {\n return this._active;\n }\n\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([cfg.to, to, currentValue, cfg.from]);\n this._from = resolve([cfg.from, currentValue, to]);\n }\n }\n\n cancel() {\n if (this._active) {\n // update current evaluated value, for smoother animations\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n\n this._active = from !== to && (loop || (elapsed < duration));\n\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n\n factor = (elapsed / duration) % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n\n this._target[prop] = this._fn(from, to, factor);\n }\n\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej) => {\n promises.push({res, rej});\n });\n }\n\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for (let i = 0; i < promises.length; i++) {\n promises[i][method]();\n }\n }\n}\n","import animator from './core.animator.js';\nimport Animation from './core.animation.js';\nimport defaults from './core.defaults.js';\nimport {isArray, isObject} from '../helpers/helpers.core.js';\n\nexport default class Animations {\n constructor(chart, config) {\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n\n const animationOptions = Object.keys(defaults.animation);\n const animatedProps = this._properties;\n\n Object.getOwnPropertyNames(config).forEach(key => {\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions) {\n resolved[option] = cfg[option];\n }\n\n (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n\n /**\n\t * Utility to handle animation of `options`.\n\t * @private\n\t */\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n // Going to shared options:\n // After all animations are done, assign the shared options object to the element\n // So any new updates to the shared options are observed\n awaitAll(target.options.$animations, newOptions).then(() => {\n target.options = newOptions;\n }, () => {\n // rejected, noop\n });\n }\n\n return animations;\n }\n\n /**\n\t * @private\n\t */\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n\n for (i = props.length - 1; i >= 0; --i) {\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n\n if (animation) {\n if (cfg && animation.active()) {\n // There is an existing active animation, let's update that\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n // not animated, set directly to new value\n target[prop] = value;\n continue;\n }\n\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n\n\n /**\n\t * Update `target` properties to new values, using configured animations\n\t * @param {object} target - object to update\n\t * @param {object} values - new target properties\n\t * @returns {boolean|undefined} - `true` if animations were started\n\t **/\n update(target, values) {\n if (this._properties.size === 0) {\n // Nothing is animated, just apply the new values.\n Object.assign(target, values);\n return;\n }\n\n const animations = this._createAnimations(target, values);\n\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\n\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for (let i = 0; i < keys.length; i++) {\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n // @ts-ignore\n return Promise.all(running);\n}\n\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n // Going from shared options to distinct one:\n // Create new options object containing the old shared values and start updating that.\n target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n }\n return options;\n}\n","import Animations from './core.animations.js';\nimport defaults from './core.defaults.js';\nimport {isArray, isFinite, isObject, valueOrDefault, resolveObjectKey, defined} from '../helpers/helpers.core.js';\nimport {listenArrayEvents, unlistenArrayEvents} from '../helpers/helpers.collection.js';\nimport {createContext, sign} from '../helpers/index.js';\n\n/**\n * @typedef { import('./core.controller.js').default } Chart\n * @typedef { import('./core.scale.js').default } Scale\n */\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\n\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\n\nfunction toClip(value) {\n let t, r, b, l;\n\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\n\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n keys.push(metasets[i].index);\n }\n return keys;\n}\n\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n\n if (value === null) {\n return;\n }\n\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) {\n value += otherValue;\n }\n }\n return value;\n}\n\nfunction convertObjectDataToArray(data) {\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n adata[i] = {\n x: key,\n y: data[key]\n };\n }\n return adata;\n}\n\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || (stacked === undefined && meta.stack !== undefined);\n}\n\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\n\nfunction getUserBounds(scale) {\n const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\n\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\n\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) {\n const value = stack[meta.index];\n if ((positive && value > 0) || (!positive && value < 0)) {\n return meta.index;\n }\n }\n\n return null;\n}\n\nfunction updateStacks(controller, parsed) {\n const {chart, _cachedMeta: meta} = controller;\n const stacks = chart._stacks || (chart._stacks = {}); // map structure is {stackKey: {datasetIndex: value}}\n const {iScale, vScale, index: datasetIndex} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n\n for (let i = 0; i < ilen; ++i) {\n const item = parsed[i];\n const {[iAxis]: index, [vAxis]: value} = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n\n const visualValues = stack._visualValues || (stack._visualValues = {});\n visualValues[datasetIndex] = value;\n }\n}\n\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\n\nfunction createDatasetContext(parent, index) {\n return createContext(parent,\n {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n }\n );\n}\n\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\n\nfunction clearStacks(meta, items) {\n // Not using meta.index here, because it might be already updated if the dataset changed location\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n\n items = items || meta._parsed;\n for (const parsed of items) {\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n if (stacks[axis]._visualValues !== undefined && stacks[axis]._visualValues[datasetIndex] !== undefined) {\n delete stacks[axis]._visualValues[datasetIndex];\n }\n }\n}\n\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked\n && {keys: getSortedDatasetIndices(chart, true), values: null};\n\nexport default class DatasetController {\n\n /**\n * @type {any}\n */\n static defaults = {};\n\n /**\n * Element type used to generate a meta dataset (e.g. Chart.element.LineElement).\n */\n static datasetElementType = null;\n\n /**\n * Element type used to generate a meta data (e.g. Chart.element.PointElement).\n */\n static dataElementType = null;\n\n /**\n\t * @param {Chart} chart\n\t * @param {number} datasetIndex\n\t */\n constructor(chart, datasetIndex) {\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n /** @type {boolean | object} */\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.datasetElementType = new.target.datasetElementType;\n this.dataElementType = new.target.dataElementType;\n\n this.initialize();\n }\n\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n\n if (this.options.fill && !this.chart.isPluginEnabled('filler')) {\n console.warn(\"Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options\");\n }\n }\n\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n\n const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n\n /**\n\t * @param {string} scaleID\n\t * @return {Scale}\n\t */\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n\n /**\n\t * @private\n\t */\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale\n ? meta.vScale\n : meta.iScale;\n }\n\n reset() {\n this._update('reset');\n }\n\n /**\n\t * @private\n\t */\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n\n /**\n\t * @private\n\t */\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n\n // In order to correctly handle data addition/deletion animation (an thus simulate\n // real-time charts), we need to monitor these data modifications and synchronize\n // the internal meta data accordingly.\n\n if (isObject(data)) {\n this._data = convertObjectDataToArray(data);\n } else if (_data !== data) {\n if (_data) {\n // This case happens when the user replaced the data array instance.\n unlistenArrayEvents(_data, this);\n // Discard old parsed data and stacks\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n\n addElements() {\n const meta = this._cachedMeta;\n\n this._dataCheck();\n\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n\n this._dataCheck();\n\n // make sure cached _stacked status is current\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n\n // detect change in stack option\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n // remove values from old stack\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n\n // Re-sync meta data in case the user replaced the data array or if we missed\n // any updates and so make sure that we handle number of datapoints changing.\n this._resyncElements(resetNewElements);\n\n // if stack changed, update stack values for the whole dataset\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n }\n }\n\n /**\n\t * Merges user-supplied and default dataset-level options\n\t * @private\n\t */\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n\n /**\n\t * @param {number} start\n\t * @param {number} count\n\t */\n parse(start, count) {\n const {_cachedMeta: meta, _data: data} = this;\n const {iScale, _stacked} = meta;\n const iAxis = iScale.axis;\n\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n\n const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n for (i = 0; i < count; ++i) {\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n\n /**\n\t * Parse array of primitive values\n\t * @param {object} meta - dataset meta\n\t * @param {array} data - data array. Example [1,3,4]\n\t * @param {number} start - start index\n\t * @param {number} count - number of items to parse\n\t * @returns {object} parsed item - item containing index and a parsed value\n\t * for each scale id.\n\t * Example: {xScale0: 0, yScale0: 1}\n\t * @protected\n\t */\n parsePrimitiveData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n\n /**\n\t * Parse array of arrays\n\t * @param {object} meta - dataset meta\n\t * @param {array} data - data array. Example [[1,2],[3,4]]\n\t * @param {number} start - start index\n\t * @param {number} count - number of items to parse\n\t * @returns {object} parsed item - item containing index and a parsed value\n\t * for each scale id.\n\t * Example: {x: 0, y: 1}\n\t * @protected\n\t */\n parseArrayData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n\n /**\n\t * Parse array of objects\n\t * @param {object} meta - dataset meta\n\t * @param {array} data - data array. Example [{x:1, y:5}, {x:2, y:10}]\n\t * @param {number} start - start index\n\t * @param {number} count - number of items to parse\n\t * @returns {object} parsed item - item containing index and a parsed value\n\t * for each scale id. _custom is optional\n\t * Example: {xScale0: 0, yScale0: 1, _custom: {r: 10, foo: 'bar'}}\n\t * @protected\n\t */\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n\n /**\n\t * @protected\n\t */\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n\n /**\n\t * @protected\n\t */\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n\n /**\n\t * @protected\n\t */\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]._visualValues\n };\n return applyStack(stack, value, meta.index, {mode});\n }\n\n /**\n\t * @protected\n\t */\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n\n /**\n\t * @protected\n\t */\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n let i, parsed;\n\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n\n for (i = 0; i < ilen; ++i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n // if the data is sorted, we don't need to check further from this end of array\n break;\n }\n }\n if (sorted) {\n // in the sorted case, find first non-skipped value from other end of array\n for (i = ilen - 1; i >= 0; --i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n\n for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n value = parsed[i][scale.axis];\n if (isFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n\n /**\n\t * @return {number|boolean}\n\t * @protected\n\t */\n getMaxOverflow() {\n return false;\n }\n\n /**\n\t * @protected\n\t */\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n\n /**\n\t * @private\n\t */\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n\n /**\n\t * @param {string} mode\n\t */\n update(mode) {} // eslint-disable-line no-unused-vars\n\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || (elements.length - start);\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n\n for (i = start; i < start + count; ++i) {\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n\n for (i = 0; i < active.length; ++i) {\n active[i].draw(ctx, area);\n }\n }\n\n /**\n\t * Returns a set of predefined style properties that should be used to represent the dataset\n\t * or the data if the index is specified\n\t * @param {number} index - data index\n\t * @param {boolean} [active] - true if hover\n\t * @return {object} style object\n\t */\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset\n ? this.resolveDatasetElementOptions(mode)\n : this.resolveDataElementOptions(index || 0, mode);\n }\n\n /**\n\t * @protected\n\t */\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context ||\n (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context ||\n (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n\n /**\n\t * @param {string} [mode]\n\t * @protected\n\t */\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n\n /**\n\t * @param {number} index\n\t * @param {string} [mode]\n\t * @protected\n\t */\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n\n /**\n\t * @private\n\t */\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n // context is provided as a function, and is called only if needed,\n // so we don't create a context for each element if not needed.\n const context = () => this.getContext(index, active, mode);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n\n if (values.$shared) {\n // `$shared` indicates this set of options can be shared between multiple elements.\n // Sharing is used to reduce number of properties to change during animation.\n values.$shared = sharing;\n\n // We cache options by `mode`, which can be 'active' for example. This enables us\n // to have the 'active' element options and 'default' options to switch between\n // when interacting.\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n\n return values;\n }\n\n\n /**\n\t * @private\n\t */\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n\n /**\n\t * Utility for getting the options object shared between elements\n\t * @protected\n\t */\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n\n /**\n\t * Utility for determining if `options` should be included in the updated properties\n\t * @protected\n\t */\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n\n /**\n * @todo v4, rename to getSharedOptions and remove excess functions\n */\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions);\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {sharedOptions, includeOptions};\n }\n\n /**\n\t * Utility for updating an element with new properties, using animations when appropriate.\n\t * @protected\n\t */\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n\n /**\n\t * Utility to animate the shared options, that are potentially affecting multiple elements.\n\t * @protected\n\t */\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n\n /**\n\t * @private\n\t */\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n // When going from active to inactive, we need to update to the shared options.\n // This way the once hovered element will end up with the same original shared options instance, after animation.\n options: (!active && this.getSharedOptions(options)) || options\n });\n }\n\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n\n /**\n\t * @private\n\t */\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n\n /**\n\t * @private\n\t */\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n\n /**\n\t * @private\n\t */\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n\n // Apply changes detected through array listeners\n for (const [method, arg1, arg2] of this._syncList) {\n this[method](arg1, arg2);\n }\n this._syncList = [];\n\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n\n if (count) {\n // TODO: It is not optimal to always parse the old data\n // This is done because we are not detecting direct assignments:\n // chart.data.datasets[0].data[5] = 10;\n // chart.data.datasets[0].data[5].y = 10;\n this.parse(0, count);\n }\n\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n\n /**\n\t * @private\n\t */\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n\n const move = (arr) => {\n arr.length += count;\n for (i = arr.length - 1; i >= end; i--) {\n arr[i] = arr[i - count];\n }\n };\n move(data);\n\n for (i = start; i < end; ++i) {\n data[i] = new this.dataElementType();\n }\n\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n\n updateElements(element, start, count, mode) {} // eslint-disable-line no-unused-vars\n\n /**\n\t * @private\n\t */\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n\n /**\n\t * @private\n */\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([this.index, ...args]);\n }\n\n _onDataPush() {\n const count = arguments.length;\n this._sync(['_insertElements', this.getDataset().data.length - count, count]);\n }\n\n _onDataPop() {\n this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n }\n\n _onDataShift() {\n this._sync(['_removeElements', 0, 1]);\n }\n\n _onDataSplice(start, count) {\n if (count) {\n this._sync(['_removeElements', start, count]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync(['_insertElements', start, newCount]);\n }\n }\n\n _onDataUnshift() {\n this._sync(['_insertElements', 0, arguments.length]);\n }\n}\n","import DatasetController from '../core/core.datasetController.js';\nimport {\n _arrayUnique, isArray, isNullOrUndef,\n valueOrDefault, resolveObjectKey, sign, defined\n} from '../helpers/index.js';\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n\n for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) {\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b));\n }\n return scale._cache.$bar;\n}\n\n/**\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\n * @private\n */\nfunction computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = () => {\n if (curr === 32767 || curr === -32768) {\n // Ignore truncated pixels\n return;\n }\n if (defined(prev)) {\n // curr - prev === 0 is ignored\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n\n for (i = 0, ilen = values.length; i < ilen; ++i) {\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n\n prev = undefined;\n for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n\n return min;\n}\n\n/**\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\n * @private\n */\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n // When bar thickness is enforced, category and bar percentages are ignored.\n // Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\n // and deprecate barPercentage since this value is ignored when thickness is absolute.\n size = thickness * stackCount;\n ratio = 1;\n }\n\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - (size / 2)\n };\n}\n\n/**\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\n * percentage options are 1), based on the previous and following categories. This mode\n * generates bars with different widths when data are not evenly spaced.\n * @private\n */\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n\n if (prev === null) {\n // first data: its size is double based on the next point or,\n // if it's also the last data, we use the scale size.\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n\n if (next === null) {\n // last data: its size is also double based on the previous point.\n next = curr + curr - prev;\n }\n\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\n\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n\n // Store `barEnd` (furthest away from origin) as parsed value,\n // to make stacking straight forward\n item[vScale.axis] = barEnd;\n\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\n\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\n\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n\n for (i = start, ilen = start + count; i < ilen; ++i) {\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\n\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\n\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\n\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {start, end, reverse, top, bottom};\n}\n\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n\n if (edge === true) {\n properties.borderSkipped = {top: true, right: true, bottom: true, left: true};\n return;\n }\n\n const {start, end, reverse, top, bottom} = borderProps(properties);\n\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\n\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\n\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\n\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\n\nfunction setInflateAmount(properties, {inflateAmount}, ratio) {\n properties.inflateAmount = inflateAmount === 'auto'\n ? ratio === 1 ? 0.33 : 0\n : inflateAmount;\n}\n\nexport default class BarController extends DatasetController {\n\n static id = 'bar';\n\n /**\n * @type {any}\n */\n static defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'base', 'width', 'height']\n }\n }\n };\n\n /**\n * @type {any}\n */\n static overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true,\n }\n }\n };\n\n\n /**\n\t * Overriding primitive data parsing since we support mixed primitive/array\n\t * data for float bars\n\t * @protected\n\t */\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n\n /**\n\t * Overriding array data parsing since we support mixed primitive/array\n\t * data for float bars\n\t * @protected\n\t */\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n\n /**\n\t * Overriding object data parsing since we support mixed primitive/array\n\t * value-scale data for float bars\n\t * @protected\n\t */\n parseObjectData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n\n /**\n\t * @protected\n\t */\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n // float bar: only one end of the bar is considered by `super`\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n\n /**\n\t * @return {number|boolean}\n\t * @protected\n\t */\n getMaxOverflow() {\n return 0;\n }\n\n /**\n\t * @protected\n\t */\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {iScale, vScale} = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom)\n ? '[' + custom.start + ', ' + custom.end + ']'\n : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n\n initialize() {\n this.enableOptionSharing = true;\n\n super.initialize();\n\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const {index, _cachedMeta: {vScale}} = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n\n for (let i = start; i < start + count; i++) {\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n\n /**\n\t * Returns the stacks based on groups and bar visibility.\n\t * @param {number} [last] - The dataset index\n\t * @param {number} [dataIndex] - The data index of the ruler\n\t * @returns {string[]} The list of stack IDs\n\t * @private\n\t */\n _getStacks(last, dataIndex) {\n const {iScale} = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type)\n .filter(meta => meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n\n const skipNull = (meta) => {\n const parsed = meta.controller.getParsed(dataIndex);\n const val = parsed && parsed[meta.vScale.axis];\n\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n\n for (const meta of metasets) {\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n\n // stacked | meta.stack\n // | found | not found | undefined\n // false | x | x | x\n // true | | x |\n // undefined | | x | x\n if (stacked === false || stacks.indexOf(meta.stack) === -1 ||\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n\n // No stacks? that means there is no visible data. Let's still initialize an `undefined`\n // stack where possible invisible bars will be located.\n // https://github.com/chartjs/Chart.js/issues/6368\n if (!stacks.length) {\n stacks.push(undefined);\n }\n\n return stacks;\n }\n\n /**\n\t * Returns the effective number of stacks based on groups and bar visibility.\n\t * @private\n\t */\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n\n /**\n\t * Returns the stack index for the given dataset based on groups and bar visibility.\n\t * @param {number} [datasetIndex] - The dataset index\n\t * @param {string} [name] - The stack name to find\n * @param {number} [dataIndex]\n\t * @returns {number} The stack index\n\t * @private\n\t */\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = (name !== undefined)\n ? stacks.indexOf(name)\n : -1; // indexOf returns -1 if element is not present\n\n return (index === -1)\n ? stacks.length - 1\n : index;\n }\n\n /**\n\t * @private\n\t */\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n\n for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n // bar thickness ratio used for non-grouped bars\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n\n /**\n\t * Note: pixel values are not clamped to the scale area.\n\t * @private\n\t */\n _calculateBarValuePixels(index) {\n const {_cachedMeta: {vScale, _stacked, index: datasetIndex}, options: {base: baseValue, minBarLength}} = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n\n if (length !== value) {\n start = length - value;\n length = value;\n }\n\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n // bars crossing origin are not stacked\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n // When not visible, no height\n head = base;\n }\n\n size = head - base;\n\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n\n if (_stacked && !floating) {\n // visual data coordinates after applying minBarLength\n parsed._stacks[vScale.axis]._visualValues[datasetIndex] = vScale.getValueForPixel(head) - vScale.getValueForPixel(base);\n }\n }\n\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n\n /**\n\t * @private\n\t */\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex'\n ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n : computeFitCategoryTraits(index, ruler, options, stackCount);\n\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n // For non-grouped bar charts, exact pixel values are used\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n\n for (; i < ilen; ++i) {\n if (this.getParsed(i)[vScale.axis] !== null) {\n rects[i].draw(this._ctx);\n }\n }\n }\n\n}\n","import DatasetController from '../core/core.datasetController.js';\nimport {valueOrDefault} from '../helpers/helpers.core.js';\n\nexport default class BubbleController extends DatasetController {\n\n static id = 'bubble';\n\n /**\n * @type {any}\n */\n static defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'borderWidth', 'radius']\n }\n }\n };\n\n /**\n * @type {any}\n */\n static overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n };\n\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n\n /**\n\t * Parse array of primitive values\n\t * @protected\n\t */\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n\n /**\n\t * Parse array of arrays\n\t * @protected\n\t */\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n\n /**\n\t * Parse array of objects\n\t * @protected\n\t */\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n\n /**\n\t * @protected\n\t */\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n\n /**\n\t * @protected\n\t */\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const labels = this.chart.data.labels || [];\n const {xScale, yScale} = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n\n return {\n label: labels[index] || '',\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n\n update(mode) {\n const points = this._cachedMeta.data;\n\n // Update Points\n this.updateElements(points, 0, points.length, mode);\n }\n\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n\n if (reset) {\n properties.options.radius = 0;\n }\n }\n\n this.updateElement(point, i, properties, mode);\n }\n }\n\n /**\n\t * @param {number} index\n\t * @param {string} [mode]\n\t * @protected\n\t */\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n\n // In case values were cached (and thus frozen), we need to clone the values\n if (values.$shared) {\n values = Object.assign({}, values, {$shared: false});\n }\n\n // Custom radius resolution\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n\n return values;\n }\n}\n","import DatasetController from '../core/core.datasetController.js';\nimport {isObject, resolveObjectKey, toPercentage, toDimension, valueOrDefault} from '../helpers/helpers.core.js';\nimport {formatNumber} from '../helpers/helpers.intl.js';\nimport {toRadians, PI, TAU, HALF_PI, _angleBetween} from '../helpers/helpers.math.js';\n\n/**\n * @typedef { import('../core/core.controller.js').default } Chart\n */\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n // If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {ratioX, ratioY, offsetX, offsetY};\n}\n\nexport default class DoughnutController extends DatasetController {\n\n static id = 'doughnut';\n\n /**\n * @type {any}\n */\n static defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n // Boolean - Whether we animate the rotation of the Doughnut\n animateRotate: true,\n // Boolean - Whether we animate scaling the Doughnut from the centre\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n },\n },\n // The percentage of the chart that we cut out of the middle.\n cutout: '50%',\n\n // The rotation of the chart, where the first data arc begins.\n rotation: 0,\n\n // The total circumference of the chart.\n circumference: 360,\n\n // The outr radius of the chart\n radius: '100%',\n\n // Spacing between arcs\n spacing: 0,\n\n indexAxis: 'r',\n };\n\n static descriptors = {\n _scriptable: (name) => name !== 'spacing',\n _indexable: (name) => name !== 'spacing',\n };\n\n /**\n * @type {any}\n */\n static overrides = {\n aspectRatio: 1,\n\n // Need to override these to give a nice default\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle, color}} = chart.legend.options;\n\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n fontColor: color,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n\n // Extra data used for toggling the correct item\n index: i\n };\n });\n }\n return [];\n }\n },\n\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n }\n }\n };\n\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n\n linkScales() {}\n\n /**\n\t * Override data parsing, since we are not using scales\n\t */\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i) => +data[i];\n\n if (isObject(data[start])) {\n const {key = 'value'} = this._parsing;\n getter = (i) => +resolveObjectKey(data[i], key);\n }\n\n let i, ilen;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n meta._parsed[i] = getter(i);\n }\n }\n }\n\n /**\n\t * @private\n\t */\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n\n /**\n\t * @private\n\t */\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n\n /**\n\t * Get the maximal rotation & circumference extents\n\t * across all visible datasets.\n\t */\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n\n for (let i = 0; i < this.chart.data.datasets.length; ++i) {\n if (this.chart.isDatasetVisible(i) && this.chart.getDatasetMeta(i).type === this._type) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n\n return {\n rotation: min,\n circumference: max - min,\n };\n }\n\n /**\n\t * @param {string} mode\n\t */\n update(mode) {\n const chart = this.chart;\n const {chartArea} = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n\n // Compute the maximal rotation & circumference limits.\n // If we only consider our dataset, this can cause problems when two datasets\n // are both less than a circle with different rotations (starting angles)\n const {circumference, rotation} = this._getRotationExtents();\n const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n\n meta.total = this.calculateTotal();\n\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n\n /**\n * @private\n */\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n\n for (i = 0; i < start; ++i) {\n startAngle += this._circumference(i, reset);\n }\n\n for (i = start; i < start + count; ++i) {\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n\n this.updateElement(arc, i, properties, mode);\n }\n }\n\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n\n for (i = 0; i < metaData.length; i++) {\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n\n return total;\n }\n\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n\n return {\n label: labels[index] || '',\n value,\n };\n }\n\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n\n if (!arcs) {\n // Find the outmost visible dataset\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n\n if (!arcs) {\n return 0;\n }\n\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n\n getMaxOffset(arcs) {\n let max = 0;\n\n for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n\n /**\n\t * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly\n\t * @private\n\t */\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n\n for (let i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n\n return ringWeightOffset;\n }\n\n /**\n\t * @private\n\t */\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n\n /**\n\t * Returns the sum of all visible data set weights.\n\t * @private\n\t */\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\n","import DatasetController from '../core/core.datasetController.js';\nimport {isNullOrUndef} from '../helpers/index.js';\nimport {isNumber} from '../helpers/helpers.math.js';\nimport {_getStartAndCountOfVisiblePoints, _scaleRangesChanged} from '../helpers/helpers.extras.js';\n\nexport default class LineController extends DatasetController {\n\n static id = 'line';\n\n /**\n * @type {any}\n */\n static defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n\n showLine: true,\n spanGaps: false,\n };\n\n /**\n * @type {any}\n */\n static overrides = {\n scales: {\n _index_: {\n type: 'category',\n },\n _value_: {\n type: 'linear',\n },\n }\n };\n\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n\n update(mode) {\n const meta = this._cachedMeta;\n const {dataset: line, data: points = [], _dataset} = meta;\n // @ts-ignore\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n\n this._drawStart = start;\n this._drawCount = count;\n\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n\n // Update Line\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n\n // Update Points\n this.updateElements(points, start, count, mode);\n }\n\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n const end = start + count;\n const pointsCount = points.length;\n let prevParsed = start > 0 && this.getParsed(start - 1);\n\n for (let i = 0; i < pointsCount; ++i) {\n const point = points[i];\n const properties = directUpdate ? point : {};\n\n if (i < start || i >= end) {\n properties.skip = true;\n continue;\n }\n\n const parsed = this.getParsed(i);\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n\n prevParsed = parsed;\n }\n }\n\n /**\n\t * @protected\n\t */\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\n","import DatasetController from '../core/core.datasetController.js';\nimport {toRadians, PI, formatNumber, _parseObjectDataRadialScale} from '../helpers/index.js';\n\nexport default class PolarAreaController extends DatasetController {\n\n static id = 'polarArea';\n\n /**\n * @type {any}\n */\n static defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n },\n },\n indexAxis: 'r',\n startAngle: 0,\n };\n\n /**\n * @type {any}\n */\n static overrides = {\n aspectRatio: 1,\n\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle, color}} = chart.legend.options;\n\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n fontColor: color,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n\n // Extra data used for toggling the correct item\n index: i\n };\n });\n }\n return [];\n }\n },\n\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n }\n },\n\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n };\n\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n\n return {\n label: labels[index] || '',\n value,\n };\n }\n\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n\n update(mode) {\n const arcs = this._cachedMeta.data;\n\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n\n /**\n * @protected\n */\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n\n meta.data.forEach((element, index) => {\n const parsed = this.getParsed(index).r;\n\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n\n return range;\n }\n\n /**\n\t * @private\n\t */\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n\n this.outerRadius = outerRadius - (radiusLength * this.index);\n this.innerRadius = this.outerRadius - radiusLength;\n }\n\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n\n const defaultAngle = 360 / this.countVisibleElements();\n\n for (i = 0; i < start; ++i) {\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for (i = start; i < start + count; i++) {\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n\n this.updateElement(arc, i, properties, mode);\n }\n }\n\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n\n meta.data.forEach((element, index) => {\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n\n return count;\n }\n\n /**\n\t * @private\n\t */\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index)\n ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n : 0;\n }\n}\n","import DoughnutController from './controller.doughnut.js';\n\n// Pie charts are Doughnut chart with different defaults\nexport default class PieController extends DoughnutController {\n\n static id = 'pie';\n\n /**\n * @type {any}\n */\n static defaults = {\n // The percentage of the chart that we cut out of the middle.\n cutout: 0,\n\n // The rotation of the chart, where the first data arc begins.\n rotation: 0,\n\n // The total circumference of the chart.\n circumference: 360,\n\n // The outr radius of the chart\n radius: '100%'\n };\n}\n","import DatasetController from '../core/core.datasetController.js';\nimport {_parseObjectDataRadialScale} from '../helpers/index.js';\n\nexport default class RadarController extends DatasetController {\n\n static id = 'radar';\n\n /**\n * @type {any}\n */\n static defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n },\n };\n\n /**\n * @type {any}\n */\n static overrides = {\n aspectRatio: 1,\n\n scales: {\n r: {\n type: 'radialLinear',\n }\n }\n };\n\n /**\n\t * @protected\n\t */\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n\n // Update Line\n line.points = points;\n // In resize mode only point locations change, so no need to set the points or options.\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n\n this.updateElement(line, undefined, properties, mode);\n }\n\n // Update Points\n this.updateElements(points, 0, points.length, mode);\n }\n\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n\n this.updateElement(point, i, properties, mode);\n }\n }\n}\n","import DatasetController from '../core/core.datasetController.js';\nimport {isNullOrUndef} from '../helpers/index.js';\nimport {isNumber} from '../helpers/helpers.math.js';\nimport {_getStartAndCountOfVisiblePoints, _scaleRangesChanged} from '../helpers/helpers.extras.js';\n\nexport default class ScatterController extends DatasetController {\n\n static id = 'scatter';\n\n /**\n * @type {any}\n */\n static defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n };\n\n /**\n * @type {any}\n */\n static overrides = {\n\n interaction: {\n mode: 'point'\n },\n\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n };\n\n /**\n\t * @protected\n\t */\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const labels = this.chart.data.labels || [];\n const {xScale, yScale} = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n\n return {\n label: labels[index] || '',\n value: '(' + x + ', ' + y + ')'\n };\n }\n\n update(mode) {\n const meta = this._cachedMeta;\n const {data: points = []} = meta;\n // @ts-ignore\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n\n this._drawStart = start;\n this._drawCount = count;\n\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n\n if (this.options.showLine) {\n\n const {dataset: line, _dataset} = meta;\n\n // Update Line\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n }\n\n // Update Points\n this.updateElements(points, start, count, mode);\n }\n\n addElements() {\n const {showLine} = this.options;\n\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = this.chart.registry.getElement('line');\n }\n\n super.addElements();\n }\n\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n\n prevParsed = parsed;\n }\n\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n\n /**\n\t * @protected\n\t */\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n\n if (!this.options.showLine) {\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n\n if (!data.length) {\n return border;\n }\n\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\n","/**\n * @namespace Chart._adapters\n * @since 2.8.0\n * @private\n */\n\nimport type {AnyObject} from '../types/basic.js';\nimport type {ChartOptions} from '../types/index.js';\n\nexport type TimeUnit = 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year';\n\nexport interface DateAdapter {\n readonly options: T;\n /**\n * Will called with chart options after adapter creation.\n */\n init(this: DateAdapter, chartOptions: ChartOptions): void;\n /**\n * Returns a map of time formats for the supported formatting units defined\n * in Unit as well as 'datetime' representing a detailed date/time string.\n */\n formats(this: DateAdapter): Record;\n /**\n * Parses the given `value` and return the associated timestamp.\n * @param value - the value to parse (usually comes from the data)\n * @param [format] - the expected data format\n */\n parse(this: DateAdapter, value: unknown, format?: TimeUnit): number | null;\n /**\n * Returns the formatted date in the specified `format` for a given `timestamp`.\n * @param timestamp - the timestamp to format\n * @param format - the date/time token\n */\n format(this: DateAdapter, timestamp: number, format: TimeUnit): string;\n /**\n * Adds the specified `amount` of `unit` to the given `timestamp`.\n * @param timestamp - the input timestamp\n * @param amount - the amount to add\n * @param unit - the unit as string\n */\n add(this: DateAdapter, timestamp: number, amount: number, unit: TimeUnit): number;\n /**\n * Returns the number of `unit` between the given timestamps.\n * @param a - the input timestamp (reference)\n * @param b - the timestamp to subtract\n * @param unit - the unit as string\n */\n diff(this: DateAdapter, a: number, b: number, unit: TimeUnit): number;\n /**\n * Returns start of `unit` for the given `timestamp`.\n * @param timestamp - the input timestamp\n * @param unit - the unit as string\n * @param [weekday] - the ISO day of the week with 1 being Monday\n * and 7 being Sunday (only needed if param *unit* is `isoWeek`).\n */\n startOf(this: DateAdapter, timestamp: number, unit: TimeUnit | 'isoWeek', weekday?: number): number;\n /**\n * Returns end of `unit` for the given `timestamp`.\n * @param timestamp - the input timestamp\n * @param unit - the unit as string\n */\n endOf(this: DateAdapter, timestamp: number, unit: TimeUnit | 'isoWeek'): number;\n}\n\nfunction abstract(): T {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\n\n/**\n * Date adapter (current used by the time scale)\n * @namespace Chart._adapters._date\n * @memberof Chart._adapters\n * @private\n */\nclass DateAdapterBase implements DateAdapter {\n\n /**\n * Override default date adapter methods.\n * Accepts type parameter to define options type.\n * @example\n * Chart._adapters._date.override<{myAdapterOption: string}>({\n * init() {\n * console.log(this.options.myAdapterOption);\n * }\n * })\n */\n static override(\n members: Partial, 'options'>>\n ) {\n Object.assign(DateAdapterBase.prototype, members);\n }\n\n readonly options: AnyObject;\n\n constructor(options: AnyObject) {\n this.options = options || {};\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n init() {}\n\n formats(): Record {\n return abstract();\n }\n\n parse(): number | null {\n return abstract();\n }\n\n format(): string {\n return abstract();\n }\n\n add(): number {\n return abstract();\n }\n\n diff(): number {\n return abstract();\n }\n\n startOf(): number {\n return abstract();\n }\n\n endOf(): number {\n return abstract();\n }\n}\n\nexport default {\n _date: DateAdapterBase\n};\n","import {_lookupByKey, _rlookupByKey} from '../helpers/helpers.collection.js';\nimport {getRelativePosition} from '../helpers/helpers.dom.js';\nimport {_angleBetween, getAngleFromPoint} from '../helpers/helpers.math.js';\nimport {_isPointInArea} from '../helpers/index.js';\n\n/**\n * @typedef { import('./core.controller.js').default } Chart\n * @typedef { import('../types/index.js').ChartEvent } ChartEvent\n * @typedef {{axis?: string, intersect?: boolean, includeInvisible?: boolean}} InteractionOptions\n * @typedef {{datasetIndex: number, index: number, element: import('./core.element.js').default}} InteractionItem\n * @typedef { import('../types/index.js').Point } Point\n */\n\n/**\n * Helper function to do binary search when possible\n * @param {object} metaset - the dataset meta\n * @param {string} axis - the axis mode. x|y|xy|r\n * @param {number} value - the value to find\n * @param {boolean} [intersect] - should the element intersect\n * @returns {{lo:number, hi:number}} indices to search data array between\n */\nfunction binarySearch(metaset, axis, value, intersect) {\n const {controller, data, _sorted} = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n // _sharedOptions indicates that each element has equal options -> equal proportions\n // So we can do a ranged binary search based on the range of first element and\n // be confident to get the full range of indices that can intersect with the value.\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {lo: start.lo, hi: end.hi};\n }\n }\n }\n // Default to all elements, when binary search can not be used.\n return {lo: 0, hi: data.length - 1};\n}\n\n/**\n * Helper function to select candidate elements for interaction\n * @param {Chart} chart - the chart\n * @param {string} axis - the axis mode. x|y|xy|r\n * @param {Point} position - the point to be nearest to, in relative coordinates\n * @param {function} handler - the callback to execute for each visible item\n * @param {boolean} [intersect] - consider intersecting items\n */\nfunction evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n const {index, data} = metasets[i];\n const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n for (let j = lo; j <= hi; ++j) {\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\n\n/**\n * Get a distance metric function for two points based on the\n * axis mode setting\n * @param {string} axis - the axis mode. x|y|xy|r\n */\nfunction getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\n\n/**\n * Helper function to get the items that intersect the event position\n * @param {Chart} chart - the chart\n * @param {Point} position - the point to be nearest to, in relative coordinates\n * @param {string} axis - the axis mode. x|y|xy|r\n * @param {boolean} [useFinalPosition] - use the element's animation target instead of current position\n * @param {boolean} [includeInvisible] - include invisible points that are outside of the chart area\n * @return {InteractionItem[]} the nearest items\n */\nfunction getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n };\n\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\n\n/**\n * Helper function to get the items nearest to the event position for a radial chart\n * @param {Chart} chart - the chart to look at elements from\n * @param {Point} position - the point to be nearest to, in relative coordinates\n * @param {string} axis - the axes along which to measure distance\n * @param {boolean} [useFinalPosition] - use the element's animation target instead of current position\n * @return {InteractionItem[]} the nearest items\n */\nfunction getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n\n function evaluationFunc(element, datasetIndex, index) {\n const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition);\n const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y});\n\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({element, datasetIndex, index});\n }\n }\n\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\n\n/**\n * Helper function to get the items nearest to the event position for a cartesian chart\n * @param {Chart} chart - the chart to look at elements from\n * @param {Point} position - the point to be nearest to, in relative coordinates\n * @param {string} axis - the axes along which to measure distance\n * @param {boolean} [intersect] - if true, only consider items that intersect the position\n * @param {boolean} [useFinalPosition] - use the element's animation target instead of current position\n * @param {boolean} [includeInvisible] - include invisible points that are outside of the chart area\n * @return {InteractionItem[]} the nearest items\n */\nfunction getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [{element, datasetIndex, index}];\n minDistance = distance;\n } else if (distance === minDistance) {\n // Can have multiple items at the same distance in which case we sort by size\n items.push({element, datasetIndex, index});\n }\n }\n\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\n\n/**\n * Helper function to get the items nearest to the event position considering all visible items in the chart\n * @param {Chart} chart - the chart to look at elements from\n * @param {Point} position - the point to be nearest to, in relative coordinates\n * @param {string} axis - the axes along which to measure distance\n * @param {boolean} [intersect] - if true, only consider items that intersect the position\n * @param {boolean} [useFinalPosition] - use the element's animation target instead of current position\n * @param {boolean} [includeInvisible] - include invisible points that are outside of the chart area\n * @return {InteractionItem[]} the nearest items\n */\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n\n return axis === 'r' && !intersect\n ? getNearestRadialItems(chart, position, axis, useFinalPosition)\n : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\n\n/**\n * Helper function to get the items matching along the given X or Y axis\n * @param {Chart} chart - the chart to look at elements from\n * @param {Point} position - the point to be nearest to, in relative coordinates\n * @param {string} axis - the axis to match\n * @param {boolean} [intersect] - if true, only consider items that intersect the position\n * @param {boolean} [useFinalPosition] - use the element's animation target instead of current position\n * @return {InteractionItem[]} the nearest items\n */\nfunction getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => {\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({element, datasetIndex, index});\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n\n // If we want to trigger on an intersect and we don't have any items\n // that intersect the position, return nothing\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\n\n/**\n * Contains interaction related functions\n * @namespace Chart.Interaction\n */\nexport default {\n // Part of the public API to facilitate developers creating their own modes\n evaluateInteractionItems,\n\n // Helper function for different modes\n modes: {\n /**\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\n\t\t * @function Chart.Interaction.modes.index\n\t\t * @since v2.4.0\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {InteractionOptions} options - options to use\n\t\t * @param {boolean} [useFinalPosition] - use final element position (animation target)\n\t\t * @return {InteractionItem[]} - items that are found\n\t\t */\n index(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n // Default axis for index mode is 'x' to match old behaviour\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible)\n : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n\n if (!items.length) {\n return [];\n }\n\n chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n const index = items[0].index;\n const element = meta.data[index];\n\n // don't count items that are skipped (null data)\n if (element && !element.skip) {\n elements.push({element, datasetIndex: meta.index, index});\n }\n });\n\n return elements;\n },\n\n /**\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\n\t\t * @function Chart.Interaction.modes.dataset\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {InteractionOptions} options - options to use\n\t\t * @param {boolean} [useFinalPosition] - use final element position (animation target)\n\t\t * @return {InteractionItem[]} - items that are found\n\t\t */\n dataset(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) :\n getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for (let i = 0; i < data.length; ++i) {\n items.push({element: data[i], datasetIndex, index: i});\n }\n }\n\n return items;\n },\n\n /**\n\t\t * Point mode returns all elements that hit test based on the event position\n\t\t * of the event\n\t\t * @function Chart.Interaction.modes.intersect\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {InteractionOptions} options - options to use\n\t\t * @param {boolean} [useFinalPosition] - use final element position (animation target)\n\t\t * @return {InteractionItem[]} - items that are found\n\t\t */\n point(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n\n /**\n\t\t * nearest mode returns the element closest to the point\n\t\t * @function Chart.Interaction.modes.intersect\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {InteractionOptions} options - options to use\n\t\t * @param {boolean} [useFinalPosition] - use final element position (animation target)\n\t\t * @return {InteractionItem[]} - items that are found\n\t\t */\n nearest(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n\n /**\n\t\t * x mode returns the elements that hit-test at the current x coordinate\n\t\t * @function Chart.Interaction.modes.x\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {InteractionOptions} options - options to use\n\t\t * @param {boolean} [useFinalPosition] - use final element position (animation target)\n\t\t * @return {InteractionItem[]} - items that are found\n\t\t */\n x(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n\n /**\n\t\t * y mode returns the elements that hit-test at the current y coordinate\n\t\t * @function Chart.Interaction.modes.y\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {InteractionOptions} options - options to use\n\t\t * @param {boolean} [useFinalPosition] - use final element position (animation target)\n\t\t * @return {InteractionItem[]} - items that are found\n\t\t */\n y(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n","import {defined, each, isObject} from '../helpers/helpers.core.js';\nimport {toPadding} from '../helpers/helpers.options.js';\n\n/**\n * @typedef { import('./core.controller.js').default } Chart\n */\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\n\nfunction filterByPosition(array, position) {\n return array.filter(v => v.pos === position);\n}\n\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\n\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b) => {\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ?\n v0.index - v1.index :\n v0.weight - v1.weight;\n });\n}\n\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n ({position: pos, options: {stack, stackWeight = 1}} = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && (pos + stack),\n stackWeight\n });\n }\n return layoutBoxes;\n}\n\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts) {\n const {stack, pos, stackWeight} = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\n\n/**\n * store dimensions used instead of available chartArea in fitBoxes\n **/\nfunction setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const {vBoxMaxWidth, hBoxMaxHeight} = params;\n let i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n const {fullSize} = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\n\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\n\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\n\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\n\nfunction updateDims(chartArea, params, layout, stacks) {\n const {pos, box} = layout;\n const maxPadding = chartArea.maxPadding;\n\n // dynamically placed boxes size is not considered\n if (!isObject(pos)) {\n if (layout.size) {\n // this layout was already counted for, lets first reduce old size\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {size: 0, count: 1};\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n\n // return booleans on the changes per direction\n return layout.horizontal\n ? {same: widthChanged, other: heightChanged}\n : {same: heightChanged, other: widthChanged};\n}\n\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\n\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n\n function marginForPositions(positions) {\n const margin = {left: 0, top: 0, right: 0, bottom: 0};\n positions.forEach((pos) => {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n\n return horizontal\n ? marginForPositions(['left', 'right'])\n : marginForPositions(['top', 'bottom']);\n}\n\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n\n for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n\n box.update(\n layout.width || chartArea.w,\n layout.height || chartArea.h,\n getMargins(layout.horizontal, chartArea)\n );\n const {same, other} = updateDims(chartArea, params, layout, stacks);\n\n // Dimensions changed and there were non full width boxes before this\n // -> we have to refit those\n refit |= same && refitBoxes.length;\n\n // Chart area changed in the opposite direction\n changed = changed || other;\n\n if (!box.fullSize) { // fullSize boxes don't need to be re-fitted in any case\n refitBoxes.push(layout);\n }\n }\n\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\n\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\n\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let {x, y} = chartArea;\n\n for (const layout of boxes) {\n const box = layout.box;\n const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n const weight = (layout.stackWeight / stack.weight) || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n\n chartArea.x = x;\n chartArea.y = y;\n}\n\n/**\n * @interface LayoutItem\n * @typedef {object} LayoutItem\n * @prop {string} position - The position of the item in the chart layout. Possible values are\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\n * @prop {number} weight - The weight used to sort the item. Higher weights are further away from the chart area\n * @prop {boolean} fullSize - if true, and the item is horizontal, then push vertical boxes down\n * @prop {function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\n * @prop {function} update - Takes two parameters: width and height. Returns size of item\n * @prop {function} draw - Draws the element\n * @prop {function} [getPadding] - Returns an object with padding on the edges\n * @prop {number} width - Width of item. Must be valid after update()\n * @prop {number} height - Height of item. Must be valid after update()\n * @prop {number} left - Left edge of the item. Set by layout system and cannot be used in update\n * @prop {number} top - Top edge of the item. Set by layout system and cannot be used in update\n * @prop {number} right - Right edge of the item. Set by layout system and cannot be used in update\n * @prop {number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\n */\n\n// The layout service is very self explanatory. It's responsible for the layout within a chart.\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\n// It is this service's responsibility of carrying out that layout.\nexport default {\n\n /**\n\t * Register a box to a chart.\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\n\t * @param {Chart} chart - the chart to use\n\t * @param {LayoutItem} item - the item to add to be laid out\n\t */\n addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n\n // initialize item with default values\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n // @ts-ignore\n item._layers = item._layers || function() {\n return [{\n z: 0,\n draw(chartArea) {\n item.draw(chartArea);\n }\n }];\n };\n\n chart.boxes.push(item);\n },\n\n /**\n\t * Remove a layoutItem from a chart\n\t * @param {Chart} chart - the chart to remove the box from\n\t * @param {LayoutItem} layoutItem - the item to remove from the layout\n\t */\n removeBox(chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n\n /**\n\t * Sets (or updates) options on the given `item`.\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\n\t * @param {LayoutItem} item - the item to configure with the given options\n\t * @param {object} options - the new item options.\n\t */\n configure(chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n\n /**\n\t * Fits boxes of the given chart into the given size by having each box measure itself\n\t * then running a fitting algorithm\n\t * @param {Chart} chart - the chart\n\t * @param {number} width - the width to fit into\n\t * @param {number} height - the height to fit into\n * @param {number} minPadding - minimum padding required for each side of chart area\n\t */\n update(chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n\n // Before any changes are made, notify boxes that an update is about to being\n // This is used to clear any cached data (e.g. scale limits)\n each(chart.boxes, box => {\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n\n // Essentially we now have any number of boxes on each of the 4 sides.\n // Our canvas looks like the following.\n // The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\n // B1 is the bottom axis\n // There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\n // These locations are single-box locations only, when trying to register a chartArea location that is already taken,\n // an error will be thrown.\n //\n // |----------------------------------------------------|\n // | T1 (Full Width) |\n // |----------------------------------------------------|\n // | | | T2 | |\n // | |----|-------------------------------------|----|\n // | | | C1 | | C2 | |\n // | | |----| |----| |\n // | | | | |\n // | L1 | L2 | ChartArea (C0) | R1 |\n // | | | | |\n // | | |----| |----| |\n // | | | C3 | | C4 | |\n // | |----|-------------------------------------|----|\n // | | | B1 | |\n // |----------------------------------------------------|\n // | B2 (Full Width) |\n // |----------------------------------------------------|\n //\n\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n\n // First fit the fullSize boxes, to reduce probability of re-fitting.\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n\n // Then fit vertical boxes\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n\n // Then fit horizontal boxes\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n // if the area changed, re-fit vertical boxes\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n\n handleMaxPadding(chartArea);\n\n // Finally place the boxes to correct coordinates\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n\n // Move to opposite side of chart\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w,\n };\n\n // Finally update boxes in chartArea (radial scale for example)\n each(boxes.chartArea, (layout) => {\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0});\n });\n }\n};\n","\n/**\n * @typedef { import('../core/core.controller.js').default } Chart\n */\n\n/**\n * Abstract class that allows abstracting platform dependencies away from the chart.\n */\nexport default class BasePlatform {\n /**\n\t * Called at chart construction time, returns a context2d instance implementing\n\t * the [W3C Canvas 2D Context API standard]{@link https://www.w3.org/TR/2dcontext/}.\n\t * @param {HTMLCanvasElement} canvas - The canvas from which to acquire context (platform specific)\n\t * @param {number} [aspectRatio] - The chart options\n\t */\n acquireContext(canvas, aspectRatio) {} // eslint-disable-line no-unused-vars\n\n /**\n\t * Called at chart destruction time, releases any resources associated to the context\n\t * previously returned by the acquireContext() method.\n\t * @param {CanvasRenderingContext2D} context - The context2d instance\n\t * @returns {boolean} true if the method succeeded, else false\n\t */\n releaseContext(context) { // eslint-disable-line no-unused-vars\n return false;\n }\n\n /**\n\t * Registers the specified listener on the given chart.\n\t * @param {Chart} chart - Chart from which to listen for event\n\t * @param {string} type - The ({@link ChartEvent}) type to listen for\n\t * @param {function} listener - Receives a notification (an object that implements\n\t * the {@link ChartEvent} interface) when an event of the specified type occurs.\n\t */\n addEventListener(chart, type, listener) {} // eslint-disable-line no-unused-vars\n\n /**\n\t * Removes the specified listener previously registered with addEventListener.\n\t * @param {Chart} chart - Chart from which to remove the listener\n\t * @param {string} type - The ({@link ChartEvent}) type to remove\n\t * @param {function} listener - The listener function to remove from the event target.\n\t */\n removeEventListener(chart, type, listener) {} // eslint-disable-line no-unused-vars\n\n /**\n\t * @returns {number} the current devicePixelRatio of the device this platform is connected to.\n\t */\n getDevicePixelRatio() {\n return 1;\n }\n\n /**\n\t * Returns the maximum size in pixels of given canvas element.\n\t * @param {HTMLCanvasElement} element\n\t * @param {number} [width] - content width of parent element\n\t * @param {number} [height] - content height of parent element\n\t * @param {number} [aspectRatio] - aspect ratio to maintain\n\t */\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n\n /**\n\t * @param {HTMLCanvasElement} canvas\n\t * @returns {boolean} true if the canvas is attached to the platform, false if not.\n\t */\n isAttached(canvas) { // eslint-disable-line no-unused-vars\n return true;\n }\n\n /**\n * Updates config with platform specific requirements\n * @param {import('../core/core.config.js').default} config\n */\n updateConfig(config) { // eslint-disable-line no-unused-vars\n // no-op\n }\n}\n","/**\n * Platform fallback implementation (minimal).\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\n */\n\nimport BasePlatform from './platform.base.js';\n\n/**\n * Platform class for charts without access to the DOM or to many element properties\n * This platform is used by default for any chart passed an OffscreenCanvas.\n * @extends BasePlatform\n */\nexport default class BasicPlatform extends BasePlatform {\n acquireContext(item) {\n // To prevent canvas fingerprinting, some add-ons undefine the getContext\n // method, for example: https://github.com/kkapsner/CanvasBlocker\n // https://github.com/chartjs/Chart.js/issues/2807\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n","/**\n * Chart.Platform implementation for targeting a web browser\n */\n\nimport BasePlatform from './platform.base.js';\nimport {_getParentNode, getRelativePosition, supportsEventListenerOptions, readUsedSize, getMaximumSize} from '../helpers/helpers.dom.js';\nimport {throttled} from '../helpers/helpers.extras.js';\nimport {isNullOrUndef} from '../helpers/helpers.core.js';\n\n/**\n * @typedef { import('../core/core.controller.js').default } Chart\n */\n\nconst EXPANDO_KEY = '$chartjs';\n\n/**\n * DOM event types -> Chart.js event types.\n * Note: only events with different types are mapped.\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\n */\nconst EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\n\nconst isNullOrEmpty = value => value === null || value === '';\n/**\n * Initializes the canvas style and render size without modifying the canvas display size,\n * since responsiveness is handled by the controller.resize() method. The config is used\n * to determine the aspect ratio to apply in case no explicit height has been specified.\n * @param {HTMLCanvasElement} canvas\n * @param {number} [aspectRatio]\n */\nfunction initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n\n // NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\n // returns null or '' if no explicit value has been set to the canvas attribute.\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n\n // Chart.js modifies some canvas values that we want to restore on destroy\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n\n // Force canvas to display as block to avoid extra space caused by inline\n // elements, which would interfere with the responsive resize process.\n // https://github.com/chartjs/Chart.js/issues/2538\n style.display = style.display || 'block';\n // Include possible borders in the size\n style.boxSizing = style.boxSizing || 'border-box';\n\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n // If no explicit render height and style height, let's apply the aspect ratio,\n // which one can be specified by the user but also by charts as default option\n // (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n\n return canvas;\n}\n\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\n// https://github.com/chartjs/Chart.js/issues/4287\nconst eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\n\nfunction addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n}\n\nfunction removeListener(chart, type, listener) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\n\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const {x, y} = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null,\n };\n}\n\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList) {\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\n\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\n\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\n\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\n\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart) => {\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\n\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\n\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\n\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height) => {\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n // If the container size shrank during chart resize, let's assume\n // scrollbar appeared. So we resize again with the scrollbar visible -\n // effectively making chart smaller and the scrollbar hidden again.\n // Because we are inside `throttled`, and currently `ticking`, scroll\n // events are ignored during this whole 2 resize process.\n // If we assumed wrong and something else happened, we are resizing\n // twice in a frame (potential performance issue)\n listener();\n }\n }, window);\n\n // @ts-ignore until https://github.com/microsoft/TypeScript/issues/37861 implemented\n const observer = new ResizeObserver(entries => {\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n // When its container's display is set to 'none' the callback will be called with a\n // size of (0, 0), which will cause the chart to lose its original height, so skip\n // resizing in such case.\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n\n return observer;\n}\n\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\n\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event) => {\n // This case can occur if the chart is destroyed while waiting\n // for the throttled function to occur. We prevent crashes by checking\n // for a destroyed chart\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart);\n\n addListener(canvas, type, proxy);\n\n return proxy;\n}\n\n/**\n * Platform class for charts that can access the DOM and global window/document properties\n * @extends BasePlatform\n */\nexport default class DomPlatform extends BasePlatform {\n\n /**\n\t * @param {HTMLCanvasElement} canvas\n\t * @param {number} [aspectRatio]\n\t * @return {CanvasRenderingContext2D|null}\n\t */\n acquireContext(canvas, aspectRatio) {\n // To prevent canvas fingerprinting, some add-ons undefine the getContext\n // method, for example: https://github.com/kkapsner/CanvasBlocker\n // https://github.com/chartjs/Chart.js/issues/2807\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n\n // `instanceof HTMLCanvasElement/CanvasRenderingContext2D` fails when the canvas is\n // inside an iframe or when running in a protected environment. We could guess the\n // types from their toString() value but let's keep things flexible and assume it's\n // a sufficient condition if the canvas has a context2D which has canvas as `canvas`.\n // https://github.com/chartjs/Chart.js/issues/3887\n // https://github.com/chartjs/Chart.js/issues/4102\n // https://github.com/chartjs/Chart.js/issues/4152\n if (context && context.canvas === canvas) {\n // Load platform resources on first chart creation, to make it possible to\n // import the library before setting platform options.\n initCanvas(canvas, aspectRatio);\n return context;\n }\n\n return null;\n }\n\n /**\n\t * @param {CanvasRenderingContext2D} context\n\t */\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n\n const initial = canvas[EXPANDO_KEY].initial;\n ['height', 'width'].forEach((prop) => {\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n\n const style = initial.style || {};\n Object.keys(style).forEach((key) => {\n canvas.style[key] = style[key];\n });\n\n // The canvas render size might have been changed (and thus the state stack discarded),\n // we can't use save() and restore() to restore the initial state. So make sure that at\n // least the canvas context is reset to the default state by setting the canvas width.\n // https://www.w3.org/TR/2011/WD-html5-20110525/the-canvas-element.html\n // eslint-disable-next-line no-self-assign\n canvas.width = canvas.width;\n\n delete canvas[EXPANDO_KEY];\n return true;\n }\n\n /**\n\t *\n\t * @param {Chart} chart\n\t * @param {string} type\n\t * @param {function} listener\n\t */\n addEventListener(chart, type, listener) {\n // Can have only one listener per type, so make sure previous is removed\n this.removeEventListener(chart, type);\n\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n\n\n /**\n\t * @param {Chart} chart\n\t * @param {string} type\n\t */\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n\n if (!proxy) {\n return;\n }\n\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n\n /**\n\t * @param {HTMLCanvasElement} canvas\n\t * @param {number} [width] - content width of parent element\n\t * @param {number} [height] - content height of parent element\n\t * @param {number} [aspectRatio] - aspect ratio to maintain\n\t */\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n\n /**\n\t * @param {HTMLCanvasElement} canvas\n\t */\n isAttached(canvas) {\n const container = _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n","import type {AnyObject} from '../types/basic.js';\nimport type {Point} from '../types/geometric.js';\nimport type {Animation} from '../types/animation.js';\nimport {isNumber} from '../helpers/helpers.math.js';\n\nexport default class Element {\n\n static defaults = {};\n static defaultRoutes = undefined;\n\n x: number;\n y: number;\n active = false;\n options: O;\n $animations: Record;\n\n tooltipPosition(useFinalPosition: boolean): Point {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y} as Point;\n }\n\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n\n /**\n * Gets the current or final value of each prop. Can return extra properties (whole object).\n * @param props - properties to get\n * @param [final] - get the final value (animation target)\n */\n getProps

(props: P, final?: boolean): Pick;\n getProps

(props: P[], final?: boolean): Partial>;\n getProps(props: string[], final?: boolean): Partial> {\n const anims = this.$animations;\n if (!final || !anims) {\n // let's not create an object, if not needed\n return this as Record;\n }\n const ret: Record = {};\n props.forEach((prop) => {\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop as string];\n });\n return ret;\n }\n}\n","import {isNullOrUndef, valueOrDefault} from '../helpers/helpers.core.js';\nimport {_factorize} from '../helpers/helpers.math.js';\n\n\n/**\n * @typedef { import('./core.controller.js').default } Chart\n * @typedef {{value:number | string, label?:string, major?:boolean, $context?:any}} Tick\n */\n\n/**\n * Returns a subset of ticks to be plotted to avoid overlapping labels.\n * @param {import('./core.scale.js').default} scale\n * @param {Tick[]} ticks\n * @return {Tick[]}\n * @private\n */\nexport function autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const determinedMaxTicks = determineMaxTicks(scale);\n const ticksLimit = Math.min(tickOpts.maxTicksLimit || determinedMaxTicks, determinedMaxTicks);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n\n // If there are too many major ticks to display them all\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\n\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\n\n/**\n * @param {number[]} majorIndices\n * @param {Tick[]} ticks\n * @param {number} ticksLimit\n */\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n\n // If the major ticks are evenly spaced apart, place the minor ticks\n // so that they divide the major ticks into even chunks\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n\n const factors = _factorize(evenMajorSpacing);\n for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\n\n/**\n * @param {Tick[]} ticks\n */\nfunction getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\n\n/**\n * @param {Tick[]} ticks\n * @param {Tick[]} newTicks\n * @param {number[]} majorIndices\n * @param {number} spacing\n */\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n\n spacing = Math.ceil(spacing);\n for (i = 0; i < ticks.length; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\n\n/**\n * @param {Tick[]} ticks\n * @param {Tick[]} newTicks\n * @param {number} spacing\n * @param {number} [majorStart]\n * @param {number} [majorEnd]\n */\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n\n next = start;\n\n while (next < 0) {\n count++;\n next = Math.round(start + count * spacing);\n }\n\n for (i = Math.max(start, 0); i < end; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\n\n\n/**\n * @param {number[]} arr\n */\nfunction getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n\n if (len < 2) {\n return false;\n }\n\n for (diff = arr[0], i = 1; i < len; ++i) {\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n","import Element from './core.element.js';\nimport {_alignPixel, _measureText, renderText, clipArea, unclipArea} from '../helpers/helpers.canvas.js';\nimport {callback as call, each, finiteOrDefault, isArray, isFinite, isNullOrUndef, isObject, valueOrDefault} from '../helpers/helpers.core.js';\nimport {toDegrees, toRadians, _int16Range, _limitValue, HALF_PI} from '../helpers/helpers.math.js';\nimport {_alignStartEnd, _toLeftRightCenter} from '../helpers/helpers.extras.js';\nimport {createContext, toFont, toPadding, _addGrace} from '../helpers/helpers.options.js';\nimport {autoSkip} from './core.scale.autoskip.js';\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nconst getTicksLimit = (ticksLength, maxTicksLimit) => Math.min(maxTicksLimit || ticksLength, ticksLength);\n\n/**\n * @typedef { import('./core.controller.js').default } Chart\n * @typedef {{value:number | string, label?:string, major?:boolean, $context?:any}} Tick\n */\n\n/**\n * Returns a new array containing numItems from arr\n * @param {any[]} arr\n * @param {number} numItems\n */\nfunction sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n\n for (; i < len; i += increment) {\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\n\n/**\n * @param {Scale} scale\n * @param {number} index\n * @param {boolean} offsetGridLines\n */\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n\n // Return undefined if the pixel is out of the range\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\n\n/**\n * @param {object} caches\n * @param {number} length\n */\nfunction garbageCollect(caches, length) {\n each(caches, (cache) => {\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for (i = 0; i < gcLen; ++i) {\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\n\n/**\n * @param {object} options\n */\nfunction getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\n\n/**\n * @param {object} options\n */\nfunction getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n\n return (lines * font.lineHeight) + padding.height;\n}\n\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\n\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\n\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n ret = reverseAlign(ret);\n }\n return ret;\n}\n\nfunction titleArgs(scale, offset, position, align) {\n const {top, left, bottom, right, chart} = scale;\n const {chartArea, scales} = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {titleX, titleY, maxWidth, rotation};\n}\n\nexport default class Scale extends Element {\n\n // eslint-disable-next-line max-statements\n constructor(cfg) {\n super();\n\n /** @type {string} */\n this.id = cfg.id;\n /** @type {string} */\n this.type = cfg.type;\n /** @type {any} */\n this.options = undefined;\n /** @type {CanvasRenderingContext2D} */\n this.ctx = cfg.ctx;\n /** @type {Chart} */\n this.chart = cfg.chart;\n\n // implements box\n /** @type {number} */\n this.top = undefined;\n /** @type {number} */\n this.bottom = undefined;\n /** @type {number} */\n this.left = undefined;\n /** @type {number} */\n this.right = undefined;\n /** @type {number} */\n this.width = undefined;\n /** @type {number} */\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n /** @type {number} */\n this.maxWidth = undefined;\n /** @type {number} */\n this.maxHeight = undefined;\n /** @type {number} */\n this.paddingTop = undefined;\n /** @type {number} */\n this.paddingBottom = undefined;\n /** @type {number} */\n this.paddingLeft = undefined;\n /** @type {number} */\n this.paddingRight = undefined;\n\n // scale-specific properties\n /** @type {string=} */\n this.axis = undefined;\n /** @type {number=} */\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n /** @type {Tick[]} */\n this.ticks = [];\n /** @type {object[]|null} */\n this._gridLineItems = null;\n /** @type {object[]|null} */\n this._labelItems = null;\n /** @type {object|null} */\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n /** @type {number} */\n this._startPixel = undefined;\n /** @type {number} */\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n\n /**\n\t * @param {any} options\n\t * @since 3.0\n\t */\n init(options) {\n this.options = options.setContext(this.getContext());\n\n this.axis = options.axis;\n\n // parse min/max value, so we can properly determine min/max for other scales\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n\n /**\n\t * Parse a supported input value to internal representation.\n\t * @param {*} raw\n\t * @param {number} [index]\n\t * @since 3.0\n\t */\n parse(raw, index) { // eslint-disable-line no-unused-vars\n return raw;\n }\n\n /**\n\t * @return {{min: number, max: number, minDefined: boolean, maxDefined: boolean}}\n\t * @protected\n\t * @since 3.0\n\t */\n getUserBounds() {\n let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isFinite(_userMin),\n maxDefined: isFinite(_userMax)\n };\n }\n\n /**\n\t * @param {boolean} canStack\n\t * @return {{min: number, max: number}}\n\t * @protected\n\t * @since 3.0\n\t */\n getMinMax(canStack) {\n // eslint-disable-next-line prefer-const\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n let range;\n\n if (minDefined && maxDefined) {\n return {min, max};\n }\n\n const metas = this.getMatchingVisibleMetas();\n for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n\n // Make sure min <= max when only min or max is defined by user and the data is outside that range\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n\n /**\n\t * Get the padding needed for the scale\n\t * @return {{top: number, left: number, bottom: number, right: number}} the necessary padding\n\t * @private\n\t */\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n\n /**\n\t * Returns the scale tick objects\n\t * @return {Tick[]}\n\t * @since 2.7\n\t */\n getTicks() {\n return this.ticks;\n }\n\n /**\n\t * @return {string[]}\n\t */\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n\n /**\n * @return {import('../types.js').LabelItem[]}\n */\n getLabelItems(chartArea = this.chart.chartArea) {\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n return items;\n }\n\n // When a new layout is created, reset the data limits cache\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n\n // These methods are ordered by lifecycle. Utilities then follow.\n // Any function defined here is inherited by all scale types.\n // Any function can be extended by the scale type\n\n beforeUpdate() {\n call(this.options.beforeUpdate, [this]);\n }\n\n /**\n\t * @param {number} maxWidth - the max width in pixels\n\t * @param {number} maxHeight - the max height in pixels\n\t * @param {{top: number, left: number, bottom: number, right: number}} margins - the space between the edge of the other scales and edge of the chart\n\t * This space comes from two sources:\n\t * - padding - space that's required to show the labels at the edges of the scale\n\t * - thickness of scales or legends in another orientation\n\t */\n update(maxWidth, maxHeight, margins) {\n const {beginAtZero, grace, ticks: tickOpts} = this.options;\n const sampleSize = tickOpts.sampleSize;\n\n // Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\n this.beforeUpdate();\n\n // Absorb the master measurements\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n\n // Dimensions\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n\n this._maxLength = this.isHorizontal()\n ? this.width + margins.left + margins.right\n : this.height + margins.top + margins.bottom;\n\n // Data min/max\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n\n this.beforeBuildTicks();\n\n this.ticks = this.buildTicks() || [];\n\n // Allow modification of ticks in callback.\n this.afterBuildTicks();\n\n // Compute tick rotation and fit using a sampled subset of labels\n // We generally don't need to compute the size of every single label for determining scale size\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n\n // configure is called twice, once here, once from core.controller.updateLayout.\n // Here we haven't been positioned yet, but dimensions are correct.\n // Variables set in configure are needed for calculateLabelRotation, and\n // it's ok that coordinates are not correct there, only dimensions matter.\n this.configure();\n\n // Tick Rotation\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation(); // Preconditions: number of ticks and sizes of largest labels must be calculated beforehand\n this.afterCalculateLabelRotation();\n\n // Auto-skip\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n\n if (samplingEnabled) {\n // Generate labels using all non-skipped ticks\n this._convertTicksToLabels(this.ticks);\n }\n\n this.beforeFit();\n this.fit(); // Preconditions: label rotation and label sizes must be calculated beforehand\n this.afterFit();\n\n // IMPORTANT: after this point, we consider that `this.ticks` will NEVER change!\n\n this.afterUpdate();\n }\n\n /**\n\t * @protected\n\t */\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n // by default vertical scales are from bottom to top, so pixels are reversed\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n\n afterUpdate() {\n call(this.options.afterUpdate, [this]);\n }\n\n //\n\n beforeSetDimensions() {\n call(this.options.beforeSetDimensions, [this]);\n }\n setDimensions() {\n // Set the unconstrained dimension before label rotation\n if (this.isHorizontal()) {\n // Reset position before calculating rotation\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n\n // Reset position before calculating rotation\n this.top = 0;\n this.bottom = this.height;\n }\n\n // Reset padding\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n call(this.options.afterSetDimensions, [this]);\n }\n\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n call(this.options[name], [this]);\n }\n\n // Data limits\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n\n //\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n /**\n\t * @return {object[]} the ticks\n\t */\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n\n beforeTickToLabelConversion() {\n call(this.options.beforeTickToLabelConversion, [this]);\n }\n /**\n\t * Convert ticks to label strings\n\t * @param {Tick[]} ticks\n\t */\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n tick = ticks[i];\n tick.label = call(tickOpts.callback, [tick.value, i, ticks], this);\n }\n }\n afterTickToLabelConversion() {\n call(this.options.afterTickToLabelConversion, [this]);\n }\n\n //\n\n beforeCalculateLabelRotation() {\n call(this.options.beforeCalculateLabelRotation, [this]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = getTicksLimit(this.ticks.length, options.ticks.maxTicksLimit);\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n\n // Estimate the width of each grid based on the canvas width, the maximum\n // label width and the number of tick intervals\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n\n // Allow 3 pixels x2 padding either side for label readability\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(\n Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))\n ));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n call(this.options.afterCalculateLabelRotation, [this]);\n }\n afterAutoSkip() {}\n\n //\n\n beforeFit() {\n call(this.options.beforeFit, [this]);\n }\n fit() {\n // Reset\n const minSize = {\n width: 0,\n height: 0\n };\n\n const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight; // fill all the height\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n\n // Don't bother fitting the ticks if we are not showing the labels\n if (tickOpts.display && this.ticks.length) {\n const {first, last, widest, highest} = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n\n if (isHorizontal) {\n // A horizontal axis is more constrained by the height.\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n // A vertical axis is more constrained by the width. Labels are the\n // dominant factor here, so get that length first and account for padding\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n\n this._handleMargins();\n\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n\n _calculatePadding(first, last, sin, cos) {\n const {ticks: {align, padding}, position} = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n\n // Ensure that our ticks are always inside the canvas. When rotated, ticks are right aligned\n // which means that the right padding is dominated by the font height\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n\n // Adjust padding taking into account changes in offsets\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n\n /**\n\t * Handle margins and padding interactions\n\t * @private\n\t */\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n\n afterFit() {\n call(this.options.afterFit, [this]);\n }\n\n // Shared Methods\n /**\n\t * @return {boolean}\n\t */\n isHorizontal() {\n const {axis, position} = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n /**\n\t * @return {boolean}\n\t */\n isFullSize() {\n return this.options.fullSize;\n }\n\n /**\n\t * @param {Tick[]} ticks\n\t * @private\n\t */\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n\n this.generateTickLabels(ticks);\n\n // Ticks should be skipped when callback returns null or undef, so lets remove those.\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n\n this.afterTickToLabelConversion();\n }\n\n /**\n\t * @return {{ first: object, last: object, widest: object, highest: object, widths: Array, heights: array }}\n\t * @private\n\t */\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length, this.options.ticks.maxTicksLimit);\n }\n\n return labelSizes;\n }\n\n /**\n\t * Returns {width, height, offset} objects for the first, last, widest, highest tick\n\t * labels where offset indicates the anchor point offset from the top in pixels.\n\t * @return {{ first: object, last: object, widest: object, highest: object, widths: Array, heights: array }}\n\t * @private\n\t */\n _computeLabelSizes(ticks, length, maxTicksLimit) {\n const {ctx, _longestTextCache: caches} = this;\n const widths = [];\n const heights = [];\n const increment = Math.floor(length / getTicksLimit(length, maxTicksLimit));\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n\n for (i = 0; i < length; i += increment) {\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n // Undefined labels and arrays should not be measured\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n // if it is an array let's measure each element\n for (j = 0, jlen = label.length; j < jlen; ++j) {\n nestedLabel = label[j];\n // Undefined labels and arrays should not be measured\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n\n const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights,\n };\n }\n\n /**\n\t * Used to get the label to display in the tooltip for the given value\n\t * @param {*} value\n\t * @return {string}\n\t */\n getLabelForValue(value) {\n return value;\n }\n\n /**\n\t * Returns the location of the given data point. Value can either be an index or a numerical value\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t * @param {*} value\n\t * @param {number} [index]\n\t * @return {number}\n\t */\n getPixelForValue(value, index) { // eslint-disable-line no-unused-vars\n return NaN;\n }\n\n /**\n\t * Used to get the data value from a given pixel. This is the inverse of getPixelForValue\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t * @param {number} pixel\n\t * @return {*}\n\t */\n getValueForPixel(pixel) {} // eslint-disable-line no-unused-vars\n\n /**\n\t * Returns the location of the tick at the given index\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t * @param {number} index\n\t * @return {number}\n\t */\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n\n /**\n\t * Utility for getting the pixel location of a percentage of scale\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t * @param {number} decimal\n\t * @return {number}\n\t */\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n\n /**\n\t * @param {number} pixel\n\t * @return {number}\n\t */\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n\n /**\n\t * Returns the pixel for the minimum chart value\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t * @return {number}\n\t */\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n\n /**\n\t * @return {number}\n\t */\n getBaseValue() {\n const {min, max} = this;\n\n return min < 0 && max < 0 ? max :\n min > 0 && max > 0 ? min :\n 0;\n }\n\n /**\n\t * @protected\n\t */\n getContext(index) {\n const ticks = this.ticks || [];\n\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context ||\n\t\t\t(this.$context = createScaleContext(this.chart.getContext(), this));\n }\n\n /**\n\t * @return {number}\n\t * @private\n\t */\n _tickSize() {\n const optionTicks = this.options.ticks;\n\n // Calculate space needed by label in axis direction.\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n\n // Calculate space needed for 1 tick in axis direction.\n return this.isHorizontal()\n ? h * cos > w * sin ? w / cos : h / sin\n : h * sin < w * cos ? h / cos : w / sin;\n }\n\n /**\n\t * @return {boolean}\n\t * @private\n\t */\n _isVisible() {\n const display = this.options.display;\n\n if (display !== 'auto') {\n return !!display;\n }\n\n return this.getMatchingVisibleMetas().length > 0;\n }\n\n /**\n\t * @private\n\t */\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const {grid, position, border} = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n\n const borderOpts = border.setContext(this.getContext());\n const axisWidth = borderOpts.display ? borderOpts.width : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for (i = 0; i < ticksLength; i += step) {\n const context = this.getContext(i);\n const optsAtIndex = grid.setContext(context);\n const optsAtIndexBorder = border.setContext(context);\n\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndexBorder.dash || [];\n const borderDashOffset = optsAtIndexBorder.dashOffset;\n\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n\n lineValue = getPixelForGridLine(this, i, offset);\n\n // Skip if the pixel is out of the range\n if (lineValue === undefined) {\n continue;\n }\n\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset,\n });\n }\n\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n\n return items;\n }\n\n /**\n\t * @private\n\t */\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const {position, ticks: optionTicks} = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const {align, crossAlign, padding, mirror} = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n\n const labelSizes = this._getLabelSizes();\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n label = tick.label;\n\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n\n if (isHorizontal) {\n x = pixel;\n\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n // eslint-disable-next-line no-lonely-if\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n if (rotation !== 0 && !optsAtIndex.showLabelBackdrop) {\n x += (lineHeight / 2) * Math.sin(rotation);\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n\n let backdrop;\n\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n\n let top = textOffset - labelPadding.top;\n let left = 0 - labelPadding.left;\n\n switch (textBaseline) {\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n default:\n break;\n }\n\n switch (textAlign) {\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n default:\n break;\n }\n\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n\n color: optsAtIndex.backdropColor,\n };\n }\n\n items.push({\n label,\n font,\n textOffset,\n options: {\n rotation,\n color,\n strokeColor,\n strokeWidth,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [x, y],\n backdrop,\n }\n });\n }\n\n return items;\n }\n\n _getXAxisLabelAlignment() {\n const {position, ticks} = this.options;\n const rotation = -toRadians(this.labelRotation);\n\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n\n let align = 'center';\n\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n\n return align;\n }\n\n _getYAxisLabelAlignment(tl) {\n const {position, ticks: {crossAlign, mirror, padding}} = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n\n let textAlign;\n let x;\n\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += (widest / 2);\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n\n return {textAlign, x};\n }\n\n /**\n\t * @private\n\t */\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n\n const chart = this.chart;\n const position = this.options.position;\n\n if (position === 'left' || position === 'right') {\n return {top: 0, left: this.left, bottom: chart.height, right: this.right};\n } if (position === 'top' || position === 'bottom') {\n return {top: this.top, left: 0, bottom: this.bottom, right: chart.width};\n }\n }\n\n /**\n * @protected\n */\n drawBackground() {\n const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex(t => t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n\n /**\n\t * @protected\n\t */\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n\n const drawLine = (p1, p2, style) => {\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n\n if (grid.display) {\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n\n if (grid.drawOnChartArea) {\n drawLine(\n {x: item.x1, y: item.y1},\n {x: item.x2, y: item.y2},\n item\n );\n }\n\n if (grid.drawTicks) {\n drawLine(\n {x: item.tx1, y: item.ty1},\n {x: item.tx2, y: item.ty2},\n {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n }\n );\n }\n }\n }\n }\n\n /**\n\t * @protected\n\t */\n drawBorder() {\n const {chart, ctx, options: {border, grid}} = this;\n const borderOpts = border.setContext(this.getContext());\n const axisWidth = border.display ? borderOpts.width : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.width;\n ctx.strokeStyle = borderOpts.color;\n\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n\n ctx.restore();\n }\n\n /**\n\t * @protected\n\t */\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n\n if (!optionTicks.display) {\n return;\n }\n\n const ctx = this.ctx;\n\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n\n const items = this.getLabelItems(chartArea);\n for (const item of items) {\n const renderTextOptions = item.options;\n const tickFont = item.font;\n const label = item.label;\n const y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, renderTextOptions);\n }\n\n if (area) {\n unclipArea(ctx);\n }\n }\n\n /**\n\t * @protected\n\t */\n drawTitle() {\n const {ctx, options: {position, title, reverse}} = this;\n\n if (!title.display) {\n return;\n }\n\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n\n const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n\n /**\n\t * @return {object[]}\n\t * @private\n\t */\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n const bz = valueOrDefault(opts.border && opts.border.z, 0);\n\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n // backward compatibility: draw has been overridden by custom scale\n return [{\n z: tz,\n draw: (chartArea) => {\n this.draw(chartArea);\n }\n }];\n }\n\n return [{\n z: gz,\n draw: (chartArea) => {\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n }, {\n z: bz,\n draw: () => {\n this.drawBorder();\n }\n }, {\n z: tz,\n draw: (chartArea) => {\n this.drawLabels(chartArea);\n }\n }];\n }\n\n /**\n\t * Returns visible dataset metas that are attached to this scale\n\t * @param {string} [type] - if specified, also filter by dataset type\n\t * @return {object[]}\n\t */\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n\n /**\n\t * @param {number} index\n\t * @return {object}\n\t * @protected\n \t */\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n\n /**\n * @protected\n */\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n","import {merge} from '../helpers/index.js';\nimport defaults, {overrides} from './core.defaults.js';\n\n/**\n * @typedef {{id: string, defaults: any, overrides?: any, defaultRoutes: any}} IChartComponent\n */\n\nexport default class TypedRegistry {\n constructor(type, scope, override) {\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n\n /**\n\t * @param {IChartComponent} item\n\t * @returns {string} The scope where items defaults were registered to.\n\t */\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n\n if (isIChartComponent(proto)) {\n // Make sure the parent is registered and note the scope where its defaults are.\n parentScope = this.register(proto);\n }\n\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n\n if (id in items) {\n // already registered\n return scope;\n }\n\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n\n return scope;\n }\n\n /**\n\t * @param {string} id\n\t * @returns {object?}\n\t */\n get(id) {\n return this.items[id];\n }\n\n /**\n\t * @param {IChartComponent} item\n\t */\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n\n if (id in items) {\n delete items[id];\n }\n\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\n\nfunction registerDefaults(item, scope, parentScope) {\n // Inherit the parent's defaults and keep existing defaults\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n\n defaults.set(scope, itemDefaults);\n\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\n\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach(property => {\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [scope].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\n\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n","import DatasetController from './core.datasetController.js';\nimport Element from './core.element.js';\nimport Scale from './core.scale.js';\nimport TypedRegistry from './core.typedRegistry.js';\nimport {each, callback as call, _capitalize} from '../helpers/helpers.core.js';\n\n/**\n * Please use the module's default export which provides a singleton instance\n * Note: class is exported for typedoc\n */\nexport class Registry {\n constructor() {\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n // Order is important, Scale has Element in prototype chain,\n // so Scales must be before Elements. Plugins are a fallback, so not listed here.\n this._typedRegistries = [this.controllers, this.scales, this.elements];\n }\n\n /**\n\t * @param {...any} args\n\t */\n add(...args) {\n this._each('register', args);\n }\n\n remove(...args) {\n this._each('unregister', args);\n }\n\n /**\n\t * @param {...typeof DatasetController} args\n\t */\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n\n /**\n\t * @param {...typeof Element} args\n\t */\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n\n /**\n\t * @param {...any} args\n\t */\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n\n /**\n\t * @param {...typeof Scale} args\n\t */\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n\n /**\n\t * @param {string} id\n\t * @returns {typeof DatasetController}\n\t */\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n\n /**\n\t * @param {string} id\n\t * @returns {typeof Element}\n\t */\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n\n /**\n\t * @param {string} id\n\t * @returns {object}\n\t */\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n\n /**\n\t * @param {string} id\n\t * @returns {typeof Scale}\n\t */\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n\n /**\n\t * @param {...typeof DatasetController} args\n\t */\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n\n /**\n\t * @param {...typeof Element} args\n\t */\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n\n /**\n\t * @param {...any} args\n\t */\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n\n /**\n\t * @param {...typeof Scale} args\n\t */\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n\n /**\n\t * @private\n\t */\n _each(method, args, typedRegistry) {\n [...args].forEach(arg => {\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) {\n this._exec(method, reg, arg);\n } else {\n // Handle loopable args\n // Use case:\n // import * as plugins from './plugins.js';\n // Chart.register(plugins);\n each(arg, item => {\n // If there are mixed types in the loopable, make sure those are\n // registered in correct registry\n // Use case: (treemap exporting controller, elements etc)\n // import * as treemap from 'chartjs-chart-treemap.js';\n // Chart.register(treemap);\n\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n\n /**\n\t * @private\n\t */\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n call(component['before' + camelMethod], [], component); // beforeRegister / beforeUnregister\n registry[method](component);\n call(component['after' + camelMethod], [], component); // afterRegister / afterUnregister\n }\n\n /**\n\t * @private\n\t */\n _getRegistryForType(type) {\n for (let i = 0; i < this._typedRegistries.length; i++) {\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n // plugins is the fallback registry\n return this.plugins;\n }\n\n /**\n\t * @private\n\t */\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n\n}\n\n// singleton instance\nexport default /* #__PURE__ */ new Registry();\n","import registry from './core.registry.js';\nimport {callback as callCallback, isNullOrUndef, valueOrDefault} from '../helpers/helpers.core.js';\n\n/**\n * @typedef { import('./core.controller.js').default } Chart\n * @typedef { import('../types/index.js').ChartEvent } ChartEvent\n * @typedef { import('../plugins/plugin.tooltip.js').default } Tooltip\n */\n\n/**\n * @callback filterCallback\n * @param {{plugin: object, options: object}} value\n * @param {number} [index]\n * @param {array} [array]\n * @param {object} [thisArg]\n * @return {boolean}\n */\n\n\nexport default class PluginService {\n constructor() {\n this._init = [];\n }\n\n /**\n\t * Calls enabled plugins for `chart` on the specified hook and with the given args.\n\t * This method immediately returns as soon as a plugin explicitly returns false. The\n\t * returned value can be used, for instance, to interrupt the current action.\n\t * @param {Chart} chart - The chart instance for which plugins should be called.\n\t * @param {string} hook - The name of the plugin method to call (e.g. 'beforeUpdate').\n\t * @param {object} [args] - Extra arguments to apply to the hook call.\n * @param {filterCallback} [filter] - Filtering function for limiting which plugins are notified\n\t * @returns {boolean} false if any of the plugins return false, else returns true.\n\t */\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n\n /**\n\t * @private\n\t */\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors) {\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [chart, args, descriptor.options];\n if (callCallback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n\n return true;\n }\n\n invalidate() {\n // When plugins are registered, there is the possibility of a double\n // invalidate situation. In this case, we only want to invalidate once.\n // If we invalidate multiple times, the `_oldCache` is lost and all of the\n // plugins are restarted without being correctly stopped.\n // See https://github.com/chartjs/Chart.js/issues/8147\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n\n /**\n\t * @param {Chart} chart\n\t * @private\n\t */\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n\n const descriptors = this._cache = this._createDescriptors(chart);\n\n this._notifyStateChanges(chart);\n\n return descriptors;\n }\n\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n // options === false => all plugins are disabled\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n\n /**\n\t * @param {Chart} chart\n\t * @private\n\t */\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\n\n/**\n * @param {import('./core.config.js').default} config\n */\nfunction allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for (let i = 0; i < keys.length; i++) {\n plugins.push(registry.getPlugin(keys[i]));\n }\n\n const local = config.plugins || [];\n for (let i = 0; i < local.length; i++) {\n const plugin = local[i];\n\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n\n return {plugins, localIds};\n}\n\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\n\nfunction createDescriptors(chart, {plugins, localIds}, options, all) {\n const result = [];\n const context = chart.getContext();\n\n for (const plugin of plugins) {\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context)\n });\n }\n\n return result;\n}\n\nfunction pluginOpts(config, {plugin, local}, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n // make sure plugin defaults are in scopes for local (not registered) plugins\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [''], {\n // These are just defaults that plugins can override\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n","import defaults, {overrides, descriptors} from './core.defaults.js';\nimport {mergeIf, resolveObjectKey, isArray, isFunction, valueOrDefault, isObject} from '../helpers/helpers.core.js';\nimport {_attachContext, _createResolver, _descriptors} from '../helpers/helpers.config.js';\n\nexport function getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\n\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\n\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\n\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\n\nexport function determineAxis(id, scaleOptions) {\n if (id === 'x' || id === 'y' || id === 'r') {\n return id;\n }\n\n id = scaleOptions.axis\n || axisFromPosition(scaleOptions.position)\n || id.length > 1 && determineAxis(id[0].toLowerCase(), scaleOptions);\n\n if (id) {\n return id;\n }\n\n throw new Error(`Cannot determine type of '${name}' axis. Please provide 'axis' or 'position' option.`);\n}\n\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {scales: {}};\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const scales = Object.create(null);\n\n // First figure out first scale id's per axis.\n Object.keys(configScales).forEach(id => {\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n });\n\n // Then merge dataset defaults to scale configs\n config.data.datasets.forEach(dataset => {\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach(defaultID => {\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n });\n });\n\n // apply scale defaults, if not overridden by dataset defaults\n Object.keys(scales).forEach(key => {\n const scale = scales[key];\n mergeIf(scale, [defaults.scales[scale.type], defaults.scale]);\n });\n\n return scales;\n}\n\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\n\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\n\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n\n initOptions(config);\n\n return config;\n}\n\nconst keyCache = new Map();\nconst keysCached = new Set();\n\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\n\nconst addIfFound = (set, obj, key) => {\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\n\nexport default class Config {\n constructor(config) {\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n\n get platform() {\n return this._config.platform;\n }\n\n get type() {\n return this._config.type;\n }\n\n set type(type) {\n this._config.type = type;\n }\n\n get data() {\n return this._config.data;\n }\n\n set data(data) {\n this._config.data = initData(data);\n }\n\n get options() {\n return this._config.options;\n }\n\n set options(options) {\n this._config.options = options;\n }\n\n get plugins() {\n return this._config.plugins;\n }\n\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n\n /**\n * Returns the option scope keys for resolving dataset options.\n * These keys do not include the dataset itself, because it is not under options.\n * @param {string} datasetType\n * @return {string[][]}\n */\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType,\n () => [[\n `datasets.${datasetType}`,\n ''\n ]]);\n }\n\n /**\n * Returns the option scope keys for resolving dataset animation options.\n * These keys do not include the dataset itself, because it is not under options.\n * @param {string} datasetType\n * @param {string} transition\n * @return {string[][]}\n */\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`,\n () => [\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`,\n ],\n // The following are used for looking up the `animations` and `animation` keys\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n\n /**\n * Returns the options scope keys for resolving element options that belong\n * to an dataset. These keys do not include the dataset itself, because it\n * is not under options.\n * @param {string} datasetType\n * @param {string} elementType\n * @return {string[][]}\n */\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`,\n () => [[\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]]);\n }\n\n /**\n * Returns the options scope keys for resolving plugin options.\n * @param {{id: string, additionalOptionScopes?: string[]}} plugin\n * @return {string[][]}\n */\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`,\n () => [[\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || [],\n ]]);\n }\n\n /**\n * @private\n */\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n\n /**\n * Resolves the objects from options and defaults for option value resolution.\n * @param {object} mainScope - The main scope object for options\n * @param {string[][]} keyLists - The arrays of keys in resolution order\n * @param {boolean} [resetCache] - reset the cache for this mainScope\n */\n getOptionScopes(mainScope, keyLists, resetCache) {\n const {options, type} = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n\n const scopes = new Set();\n\n keyLists.forEach(keys => {\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach(key => addIfFound(scopes, mainScope, key));\n }\n keys.forEach(key => addIfFound(scopes, options, key));\n keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach(key => addIfFound(scopes, defaults, key));\n keys.forEach(key => addIfFound(scopes, descriptors, key));\n });\n\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n\n /**\n * Returns the option scopes for resolving chart options\n * @return {object[]}\n */\n chartOptionScopes() {\n const {options, type} = this;\n\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {}, // https://github.com/chartjs/Chart.js/issues/8531\n {type},\n defaults,\n descriptors\n ];\n }\n\n /**\n * @param {object[]} scopes\n * @param {string[]} names\n * @param {function|object} context\n * @param {string[]} [prefixes]\n * @return {object}\n */\n resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n const result = {$shared: true};\n const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n // subResolver is passed to scriptable options. It should not resolve to hover options.\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n\n for (const prop of names) {\n result[prop] = options[prop];\n }\n return result;\n }\n\n /**\n * @param {object[]} scopes\n * @param {object} [context]\n * @param {string[]} [prefixes]\n * @param {{scriptable: boolean, indexable: boolean, allKeys?: boolean}} [descriptorDefaults]\n */\n createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context)\n ? _attachContext(resolver, context, undefined, descriptorDefaults)\n : resolver;\n }\n}\n\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\n\nconst hasFunction = value => isObject(value)\n && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false);\n\nfunction needContext(proxy, names) {\n const {isScriptable, isIndexable} = _descriptors(proxy);\n\n for (const prop of names) {\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if ((scriptable && (isFunction(value) || hasFunction(value)))\n || (indexable && isArray(value))) {\n return true;\n }\n }\n return false;\n}\n","import animator from './core.animator.js';\nimport defaults, {overrides} from './core.defaults.js';\nimport Interaction from './core.interaction.js';\nimport layouts from './core.layouts.js';\nimport {_detectPlatform} from '../platform/index.js';\nimport PluginService from './core.plugins.js';\nimport registry from './core.registry.js';\nimport Config, {determineAxis, getIndexAxis} from './core.config.js';\nimport {retinaScale, _isDomSupported} from '../helpers/helpers.dom.js';\nimport {each, callback as callCallback, uid, valueOrDefault, _elementsEqual, isNullOrUndef, setsEqual, defined, isFunction, _isClickEvent} from '../helpers/helpers.core.js';\nimport {clearCanvas, clipArea, createContext, unclipArea, _isPointInArea} from '../helpers/index.js';\n// @ts-ignore\nimport {version} from '../../package.json';\nimport {debounce} from '../helpers/helpers.extras.js';\n\n/**\n * @typedef { import('../types/index.js').ChartEvent } ChartEvent\n * @typedef { import('../types/index.js').Point } Point\n */\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\n\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1]\n ? a[l2] - b[l2]\n : a[l1] - b[l1];\n };\n}\n\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n\n chart.notifyPlugins('afterRender');\n callCallback(animationOptions && animationOptions.onComplete, [context], chart);\n}\n\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callCallback(animationOptions && animationOptions.onProgress, [context], chart);\n}\n\n/**\n * Chart.js can take a string id of a canvas element, a 2d context, or a canvas element itself.\n * Attempt to unwrap the item passed into the chart constructor so that it is a canvas element (if possible).\n */\nfunction getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n // Support for array based queries (such as jQuery)\n item = item[0];\n }\n\n if (item && item.canvas) {\n // Support for any object associated to a canvas (including a context2d)\n item = item.canvas;\n }\n return item;\n}\n\nconst instances = {};\nconst getChart = (key) => {\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\n\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys) {\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\n\n/**\n * @param {ChartEvent} e\n * @param {ChartEvent|null} lastEvent\n * @param {boolean} inChartArea\n * @param {boolean} isClick\n * @returns {ChartEvent|null}\n */\nfunction determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\n\nfunction getDatasetArea(meta) {\n const {xScale, yScale} = meta;\n if (xScale && yScale) {\n return {\n left: xScale.left,\n right: xScale.right,\n top: yScale.top,\n bottom: yScale.bottom\n };\n }\n}\n\nclass Chart {\n\n static defaults = defaults;\n static instances = instances;\n static overrides = overrides;\n static registry = registry;\n static version = version;\n static getChart = getChart;\n\n static register(...items) {\n registry.add(...items);\n invalidatePlugins();\n }\n\n static unregister(...items) {\n registry.remove(...items);\n invalidatePlugins();\n }\n\n // eslint-disable-next-line max-statements\n constructor(item, userConfig) {\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error(\n 'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.'\n );\n }\n\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n // Store the previously used aspect ratio to determine if a resize\n // is needed during updates. Do this after _options is set since\n // aspectRatio uses a getter\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n /** @type {?{attach?: function, detach?: function, resize?: function}} */\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n\n // Add the chart instance to the global namespace\n instances[this.id] = this;\n\n if (!context || !canvas) {\n // The given item is not a compatible context2d element, let's return before finalizing\n // the chart initialization but after setting basic chart / controller properties that\n // can help to figure out that the chart is not valid (e.g chart.canvas !== null);\n // https://github.com/chartjs/Chart.js/issues/2807\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n\n get aspectRatio() {\n const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n if (!isNullOrUndef(aspectRatio)) {\n // If aspectRatio is defined in options, use that.\n return aspectRatio;\n }\n\n if (maintainAspectRatio && _aspectRatio) {\n // If maintainAspectRatio is truthly and we had previously determined _aspectRatio, use that\n return _aspectRatio;\n }\n\n // Calculate\n return height ? width / height : null;\n }\n\n get data() {\n return this.config.data;\n }\n\n set data(data) {\n this.config.data = data;\n }\n\n get options() {\n return this._options;\n }\n\n set options(options) {\n this.config.options = options;\n }\n\n get registry() {\n return registry;\n }\n\n /**\n\t * @private\n\t */\n _initialize() {\n // Before init plugin notification\n this.notifyPlugins('beforeInit');\n\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n\n this.bindEvents();\n\n // After init plugin notification\n this.notifyPlugins('afterInit');\n\n return this;\n }\n\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n\n stop() {\n animator.stop(this);\n return this;\n }\n\n /**\n\t * Resize the chart to its container or to explicit dimensions.\n\t * @param {number} [width]\n\t * @param {number} [height]\n\t */\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {width, height};\n }\n }\n\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n\n this.notifyPlugins('resize', {size: newSize});\n\n callCallback(options.onResize, [this, newSize], this);\n\n if (this.attached) {\n if (this._doResize(mode)) {\n // The resize update is delayed, only draw without updating.\n this.render();\n }\n }\n }\n\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n\n each(scalesOptions, (axisOptions, axisID) => {\n axisOptions.id = axisID;\n });\n }\n\n /**\n\t * Builds a map of scale ID to scale object for future lookup.\n\t */\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id) => {\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n\n if (scaleOpts) {\n items = items.concat(\n Object.keys(scaleOpts).map((id) => {\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n })\n );\n }\n\n each(items, (item) => {\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n\n scale.init(scaleOptions, options);\n });\n // clear up discarded scales\n each(updated, (hasUpdated, id) => {\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n\n each(scales, (scale) => {\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n\n /**\n\t * @private\n\t */\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n\n metasets.sort((a, b) => a.index - b.index);\n if (numMeta > numData) {\n for (let i = numData; i < numMeta; ++i) {\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n\n /**\n\t * @private\n\t */\n _removeUnreferencedMetasets() {\n const {_metasets: metasets, data: {datasets}} = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index) => {\n if (datasets.filter(x => x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n\n this._removeUnreferencedMetasets();\n\n for (i = 0, ilen = datasets.length; i < ilen; i++) {\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const {datasetElementType, dataElementType} = defaults.datasets[type];\n Object.assign(ControllerClass, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n\n this._updateMetasets();\n return newControllers;\n }\n\n /**\n\t * Reset the elements of all datasets\n\t * @private\n\t */\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex) => {\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n\n /**\n\t* Resets the chart back to its state before the initial animation\n\t*/\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n\n update(mode) {\n const config = this.config;\n\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n\n // plugins options references might have change, let's invalidate the cache\n // https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167\n this._plugins.invalidate();\n\n if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n\n // Make sure dataset controllers are updated and new controllers are reset\n const newControllers = this.buildOrUpdateControllers();\n\n this.notifyPlugins('beforeElementsUpdate');\n\n // Make sure all dataset controllers have correct meta data counts\n let minPadding = 0;\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) {\n const {controller} = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n // New controllers will be reset after the layout pass, so we only want to modify\n // elements added to new datasets\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n\n // Only reset the controllers if we have animations\n if (!animsDisabled) {\n // Can only reset the new controllers after the scales have been updated\n // Reset is done to get the starting point for the initial animation\n each(newControllers, (controller) => {\n controller.reset();\n });\n }\n\n this._updateDatasets(mode);\n\n // Do this before render so that any plugins that need final scale updates can use it\n this.notifyPlugins('afterUpdate', {mode});\n\n this._layers.sort(compare2Level('z', '_idx'));\n\n // Replay last event from before update, or set hover styles on active elements\n const {_active, _lastEvent} = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n\n this.render();\n }\n\n /**\n * @private\n */\n _updateScales() {\n each(this.scales, (scale) => {\n layouts.removeBox(this, scale);\n });\n\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n\n /**\n * @private\n */\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n // The configured events have changed. Rebind.\n this.unbindEvents();\n this.bindEvents();\n }\n }\n\n /**\n * @private\n */\n _updateHiddenIndices() {\n const {_hiddenIndices} = this;\n const changes = this._getUniformDataChanges() || [];\n for (const {method, start, count} of changes) {\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n\n /**\n * @private\n */\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx) => new Set(\n _dataChanges\n .filter(c => c[0] === idx)\n .map((c, i) => i + ',' + c.splice(1).join(','))\n );\n\n const changeSet = makeSet(0);\n for (let i = 1; i < datasetCount; i++) {\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet)\n .map(c => c.split(','))\n .map(a => ({method: a[1], start: +a[2], count: +a[3]}));\n }\n\n /**\n\t * Updates the chart layout unless a plugin returns `false` to the `beforeLayout`\n\t * hook, in which case, plugins will not be called on `afterLayout`.\n\t * @private\n\t */\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n return;\n }\n\n layouts.update(this, this.width, this.height, minPadding);\n\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n\n this._layers = [];\n each(this.boxes, (box) => {\n if (noArea && box.position === 'chartArea') {\n // Skip drawing and configuring chartArea boxes when chartArea is zero or negative\n return;\n }\n\n // configure is called twice, once in core.scale.update and once here.\n // Here the boxes are fully updated and at their final positions.\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n\n this._layers.forEach((item, index) => {\n item._idx = index;\n });\n\n this.notifyPlugins('afterLayout');\n }\n\n /**\n\t * Updates all datasets unless a plugin returns `false` to the `beforeDatasetsUpdate`\n\t * hook, in which case, plugins will not be called on `afterDatasetsUpdate`.\n\t * @private\n\t */\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this.getDatasetMeta(i).controller.configure();\n }\n\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode);\n }\n\n this.notifyPlugins('afterDatasetsUpdate', {mode});\n }\n\n /**\n\t * Updates dataset at index unless a plugin returns `false` to the `beforeDatasetUpdate`\n\t * hook, in which case, plugins will not be called on `afterDatasetUpdate`.\n\t * @private\n\t */\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {meta, index, mode, cancelable: true};\n\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n\n meta.controller._update(mode);\n\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n\n render() {\n if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n return;\n }\n\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({chart: this});\n }\n }\n\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const {width, height} = this._resizeBeforeDraw;\n this._resize(width, height);\n this._resizeBeforeDraw = null;\n }\n this.clear();\n\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n\n if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n return;\n }\n\n // Because of plugin hooks (before/afterDatasetsDraw), datasets can't\n // currently be part of layers. Instead, we draw\n // layers <= 0 before(default, backward compat), and the rest after\n const layers = this._layers;\n for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n layers[i].draw(this.chartArea);\n }\n\n this._drawDatasets();\n\n // Rest of layers\n for (; i < layers.length; ++i) {\n layers[i].draw(this.chartArea);\n }\n\n this.notifyPlugins('afterDraw');\n }\n\n /**\n\t * @private\n\t */\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n\n return result;\n }\n\n /**\n\t * Gets the visible dataset metas in drawing order\n\t * @return {object[]}\n\t */\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n\n /**\n\t * Draws all datasets unless a plugin returns `false` to the `beforeDatasetsDraw`\n\t * hook, in which case, plugins will not be called on `afterDatasetsDraw`.\n\t * @private\n\t */\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n return;\n }\n\n const metasets = this.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n this._drawDataset(metasets[i]);\n }\n\n this.notifyPlugins('afterDatasetsDraw');\n }\n\n /**\n\t * Draws dataset at index unless a plugin returns `false` to the `beforeDatasetDraw`\n\t * hook, in which case, plugins will not be called on `afterDatasetDraw`.\n\t * @private\n\t */\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = getDatasetArea(meta) || this.chartArea;\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n\n meta.controller.draw();\n\n if (useClip) {\n unclipArea(ctx);\n }\n\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n\n /**\n * Checks whether the given point is in the chart area.\n * @param {Point} point - in relative coordinates (see, e.g., getRelativePosition)\n * @returns {boolean}\n */\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n\n return [];\n }\n\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\t\t\t// See isDatasetVisible() comment\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n\n return meta;\n }\n\n getContext() {\n return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'}));\n }\n\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n\n const meta = this.getDatasetMeta(datasetIndex);\n\n // meta.hidden is a per chart dataset hidden flag override with 3 states: if true or false,\n // the dataset.hidden value is ignored, else if null, the dataset hidden state is returned.\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n\n /**\n\t * @private\n\t */\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n // Animate visible state, so hide animation can be seen. This could be handled better if update / updateDataset returned a Promise.\n anims.update(meta, {visible});\n this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n\n /**\n\t * @private\n\t */\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n\n for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._destroyDatasetMeta(i);\n }\n }\n\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const {canvas, ctx} = this;\n\n this._stop();\n this.config.clearCache();\n\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n\n delete instances[this.id];\n\n this.notifyPlugins('afterDestroy');\n }\n\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n\n /**\n\t * @private\n\t */\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n\n /**\n * @private\n */\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n\n const listener = (e, x, y) => {\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n\n each(this.options.events, (type) => _add(type, listener));\n }\n\n /**\n * @private\n */\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener) => {\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n\n const listener = (width, height) => {\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n\n let detached; // eslint-disable-line prefer-const\n const attached = () => {\n _remove('attach', attached);\n\n this.attached = true;\n this.resize();\n\n _add('resize', listener);\n _add('detach', detached);\n };\n\n detached = () => {\n this.attached = false;\n\n _remove('resize', listener);\n\n // Stop animating and remove metasets, so when re-attached, the animations start from beginning.\n this._stop();\n this._resize(0, 0);\n\n _add('attach', attached);\n };\n\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n\n /**\n\t * @private\n\t */\n unbindEvents() {\n each(this._listeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n\n each(this._responsiveListeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n\n /**\n\t * Get active (hovered) elements\n\t * @returns array\n\t */\n getActiveElements() {\n return this._active || [];\n }\n\n /**\n\t * Set active (hovered) elements\n\t * @param {array} activeElements New active data points\n\t */\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n\n if (changed) {\n this._active = active;\n // Make sure we don't use the previous mouse event to override the active elements in update.\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n\n /**\n\t * Calls enabled plugins on the specified hook and with the given args.\n\t * This method immediately returns as soon as a plugin explicitly returns false. The\n\t * returned value can be used, for instance, to interrupt the current action.\n\t * @param {string} hook - The name of the plugin method to call (e.g. 'beforeUpdate').\n\t * @param {Object} [args] - Extra arguments to apply to the hook call.\n * @param {import('./core.plugins.js').filterCallback} [filter] - Filtering function for limiting which plugins are notified\n\t * @returns {boolean} false if any of the plugins return false, else returns true.\n\t */\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n\n /**\n * Check if a plugin with the specific ID is registered and enabled\n * @param {string} pluginId - The ID of the plugin of which to check if it is enabled\n * @returns {boolean}\n */\n isPluginEnabled(pluginId) {\n return this._plugins._cache.filter(p => p.plugin.id === pluginId).length === 1;\n }\n\n /**\n\t * @private\n\t */\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n\n /**\n\t * @private\n\t */\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type);\n\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n\n const changed = this._handleEvent(e, replay, args.inChartArea);\n\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n\n if (changed || args.changed) {\n this.render();\n }\n\n return this;\n }\n\n /**\n\t * Handle an event\n\t * @param {ChartEvent} e the event to handle\n\t * @param {boolean} [replay] - true if the event was replayed by `update`\n * @param {boolean} [inChartArea] - true if the event is inside chartArea\n\t * @return {boolean} true if the chart needs to re-render\n\t * @private\n\t */\n _handleEvent(e, replay, inChartArea) {\n const {_active: lastActive = [], options} = this;\n\n // If the event is replayed from `update`, we should evaluate with the final positions.\n //\n // The `replay`:\n // It's the last event (excluding click) that has occurred before `update`.\n // So mouse has not moved. It's also over the chart, because there is a `replay`.\n //\n // The why:\n // If animations are active, the elements haven't moved yet compared to state before update.\n // But if they will, we are activating the elements that would be active, if this check\n // was done after the animations have completed. => \"final positions\".\n // If there is no animations, the \"final\" and \"current\" positions are equal.\n // This is done so we do not have to evaluate the active elements each animation frame\n // - it would be expensive.\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n\n if (inChartArea) {\n // Set _lastEvent to null while we are processing the event handlers.\n // This prevents recursion if the handler calls chart.update()\n this._lastEvent = null;\n\n // Invoke onHover hook\n callCallback(options.onHover, [e, active, this], this);\n\n if (isClick) {\n callCallback(options.onClick, [e, active, this], this);\n }\n }\n\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n\n this._lastEvent = lastEvent;\n\n return changed;\n }\n\n /**\n * @param {ChartEvent} e - The event\n * @param {import('../types/index.js').ActiveElement[]} lastActive - Previously active elements\n * @param {boolean} inChartArea - Is the envent inside chartArea\n * @param {boolean} useFinalPosition - Should the evaluation be done with current or final (after animation) element positions\n * @returns {import('../types/index.js').ActiveElement[]} - The active elements\n * @pravate\n */\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n\n if (!inChartArea) {\n // Let user control the active elements outside chartArea. Eg. using Legend.\n return lastActive;\n }\n\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\n\n// @ts-ignore\nfunction invalidatePlugins() {\n return each(Chart.instances, (chart) => chart._plugins.invalidate());\n}\n\nexport default Chart;\n","import {_isDomSupported} from '../helpers/index.js';\nimport BasePlatform from './platform.base.js';\nimport BasicPlatform from './platform.basic.js';\nimport DomPlatform from './platform.dom.js';\n\nexport function _detectPlatform(canvas) {\n if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nexport {BasePlatform, BasicPlatform, DomPlatform};\n","import Element from '../core/core.element.js';\nimport {_angleBetween, getAngleFromPoint, TAU, HALF_PI, valueOrDefault} from '../helpers/index.js';\nimport {PI, _isBetween, _limitValue} from '../helpers/helpers.math.js';\nimport {_readValueToProps} from '../helpers/helpers.options.js';\nimport type {ArcOptions, Point} from '../types/index.js';\n\n\nfunction clipArc(ctx: CanvasRenderingContext2D, element: ArcElement, endAngle: number) {\n const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n let angleMargin = pixelMargin / outerRadius;\n\n // Draw an inner border by clipping the arc and drawing a double-width border\n // Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\n\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\n\n/**\n * Parse border radius from the provided options\n */\nfunction parseBorderRadius(arc: ArcElement, innerRadius: number, outerRadius: number, angleDelta: number) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n\n // Outer limits are complicated. We want to compute the available angular distance at\n // a radius of outerRadius - borderRadius because for small angular distances, this term limits.\n // We compute at r = outerRadius - borderRadius because this circle defines the center of the border corners.\n //\n // If the borderRadius is large, that value can become negative.\n // This causes the outer borders to lose their radius entirely, which is rather unexpected. To solve that, if borderRadius > outerRadius\n // we know that the thickness term will dominate and compute the limits at that point\n const computeOuterLimit = (val) => {\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit),\n };\n}\n\n/**\n * Convert (r, 𝜃) to (x, y)\n */\nfunction rThetaToXY(r: number, theta: number, x: number, y: number) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta),\n };\n}\n\n\n/**\n * Path the arc, respecting border radius by separating into left and right halves.\n *\n * Start End\n *\n * 1--->a--->2 Outer\n * / \\\n * 8 3\n * | |\n * | |\n * 7 4\n * \\ /\n * 6<---b<---5 Inner\n */\nfunction pathArc(\n ctx: CanvasRenderingContext2D,\n element: ArcElement,\n offset: number,\n spacing: number,\n end: number,\n circular: boolean,\n) {\n const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n\n let spacingOffset = 0;\n const alpha = end - start;\n\n if (spacing) {\n // When spacing is present, it is the same for all items\n // So we adjust the start and end angle of the arc such that\n // the distance is the same as it would be without the spacing\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius(element, innerRadius, outerRadius, endAngle - startAngle);\n\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n\n ctx.beginPath();\n\n if (circular) {\n // The first arc segments from point 1 to point a to point 2\n const outerMidAdjustedAngle = (outerStartAdjustedAngle + outerEndAdjustedAngle) / 2;\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerMidAdjustedAngle);\n ctx.arc(x, y, outerRadius, outerMidAdjustedAngle, outerEndAdjustedAngle);\n\n // The corner segment from point 2 to point 3\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n\n // The line from point 3 to point 4\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n\n // The corner segment from point 4 to point 5\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n\n // The inner arc from point 5 to point b to point 6\n const innerMidAdjustedAngle = ((endAngle - (innerEnd / innerRadius)) + (startAngle + (innerStart / innerRadius))) / 2;\n ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), innerMidAdjustedAngle, true);\n ctx.arc(x, y, innerRadius, innerMidAdjustedAngle, startAngle + (innerStart / innerRadius), true);\n\n // The corner segment from point 6 to point 7\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n\n // The line from point 7 to point 8\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n\n // The corner segment from point 8 to point 1\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n\n ctx.closePath();\n}\n\nfunction drawArc(\n ctx: CanvasRenderingContext2D,\n element: ArcElement,\n offset: number,\n spacing: number,\n circular: boolean,\n) {\n const {fullCircles, startAngle, circumference} = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + (circumference % TAU || TAU);\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\n\nfunction drawBorder(\n ctx: CanvasRenderingContext2D,\n element: ArcElement,\n offset: number,\n spacing: number,\n circular: boolean,\n) {\n const {fullCircles, startAngle, circumference, options} = element;\n const {borderWidth, borderJoinStyle} = options;\n const inner = options.borderAlign === 'inner';\n\n if (!borderWidth) {\n return;\n }\n\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + (circumference % TAU || TAU);\n }\n }\n\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n\n if (!fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n }\n}\n\nexport interface ArcProps extends Point {\n startAngle: number;\n endAngle: number;\n innerRadius: number;\n outerRadius: number;\n circumference: number;\n}\n\nexport default class ArcElement extends Element {\n\n static id = 'arc';\n\n static defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true,\n };\n\n static defaultRoutes = {\n backgroundColor: 'backgroundColor'\n };\n\n circumference: number;\n endAngle: number;\n fullCircles: number;\n innerRadius: number;\n outerRadius: number;\n pixelMargin: number;\n startAngle: number;\n\n constructor(cfg) {\n super();\n\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n\n inRange(chartX: number, chartY: number, useFinalPosition: boolean) {\n const point = this.getProps(['x', 'y'], useFinalPosition);\n const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY});\n const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = this.options.spacing / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n\n return (betweenAngles && withinRadius);\n }\n\n getCenterPoint(useFinalPosition: boolean) {\n const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius'\n ], useFinalPosition);\n const {offset, spacing} = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n\n tooltipPosition(useFinalPosition: boolean) {\n return this.getCenterPoint(useFinalPosition);\n }\n\n draw(ctx: CanvasRenderingContext2D) {\n const {options, circumference} = this;\n const offset = (options.offset || 0) / 4;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n\n ctx.save();\n\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * offset, Math.sin(halfAngle) * offset);\n const fix = 1 - Math.sin(Math.min(PI, circumference || 0));\n const radiusOffset = offset * fix;\n\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n\n drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, circular);\n\n ctx.restore();\n }\n}\n","import Element from '../core/core.element.js';\nimport {_bezierInterpolation, _pointInLine, _steppedInterpolation} from '../helpers/helpers.interpolation.js';\nimport {_computeSegments, _boundSegments} from '../helpers/helpers.segment.js';\nimport {_steppedLineTo, _bezierCurveTo} from '../helpers/helpers.canvas.js';\nimport {_updateBezierControlPoints} from '../helpers/helpers.curve.js';\nimport {valueOrDefault} from '../helpers/index.js';\n\n/**\n * @typedef { import('./element.point.js').default } PointElement\n */\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\n\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\n\nfunction getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n\n return lineTo;\n}\n\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n const {start: segmentStart, end: segmentEnd} = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\n\n/**\n * Create path from points, grouping by truncated x-coordinate\n * Points need to be in order by x-coordinate for this to work efficiently\n * @param {CanvasRenderingContext2D|Path2D} ctx - Context\n * @param {LineElement} line\n * @param {object} segment\n * @param {number} segment.start - start index of the segment, referring the points array\n * @param {number} segment.end - end index of the segment, referring the points array\n * @param {boolean} segment.loop - indicates that the segment is a loop\n * @param {object} params\n * @param {boolean} params.move - move to starting point (vs line to it)\n * @param {boolean} params.reverse - path the segment from end to start\n * @param {number} params.start - limit segment to points starting from `start` index\n * @param {number} params.end - limit segment to points ending at `start` + `count` index\n */\nfunction pathSegment(ctx, line, segment, params) {\n const {points, options} = line;\n const {count, start, loop, ilen} = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n // eslint-disable-next-line prefer-const\n let {move = true, reverse} = params || {};\n let i, point, prev;\n\n for (i = 0; i <= ilen; ++i) {\n point = points[(start + (reverse ? ilen - i : i)) % count];\n\n if (point.skip) {\n // If there is a skipped point inside a segment, spanGaps must be true\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n\n prev = point;\n }\n\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n\n return !!loop;\n}\n\n/**\n * Create path from points, grouping by truncated x-coordinate\n * Points need to be in order by x-coordinate for this to work efficiently\n * @param {CanvasRenderingContext2D|Path2D} ctx - Context\n * @param {LineElement} line\n * @param {object} segment\n * @param {number} segment.start - start index of the segment, referring the points array\n * @param {number} segment.end - end index of the segment, referring the points array\n * @param {boolean} segment.loop - indicates that the segment is a loop\n * @param {object} params\n * @param {boolean} params.move - move to starting point (vs line to it)\n * @param {boolean} params.reverse - path the segment from end to start\n * @param {number} params.start - limit segment to points starting from `start` index\n * @param {number} params.end - limit segment to points ending at `start` + `count` index\n */\nfunction fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const {count, start, ilen} = pathVars(points, segment, params);\n const {move = true, reverse} = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n\n const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n const drawX = () => {\n if (minY !== maxY) {\n // Draw line to maxY and minY, using the average x-coordinate\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n // Line to y-value of last point in group. So the line continues\n // from correct position. Not using move, to have solid path.\n ctx.lineTo(avgX, lastY);\n }\n };\n\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n\n for (i = 0; i <= ilen; ++i) {\n point = points[pointIndex(i)];\n\n if (point.skip) {\n // If there is a skipped point inside a segment, spanGaps must be true\n continue;\n }\n\n const x = point.x;\n const y = point.y;\n const truncX = x | 0; // truncated x-coordinate\n\n if (truncX === prevX) {\n // Determine `minY` / `maxY` and `avgX` while we stay within same x-position\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n // For first point in group, countX is `0`, so average will be `x` / 1.\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n // Draw line to next x-position, using the first (or only)\n // y-value in that group\n ctx.lineTo(x, y);\n\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n // Keep track of the last y-value in group\n lastY = y;\n }\n drawX();\n}\n\n/**\n * @param {LineElement} line - the line\n * @returns {function}\n * @private\n */\nfunction _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\n\n/**\n * @private\n */\nfunction _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n\n return _pointInLine;\n}\n\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\n\nfunction strokePathDirect(ctx, line, start, count) {\n const {segments, options} = line;\n const segmentMethod = _getSegmentMethod(line);\n\n for (const segment of segments) {\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\n\nconst usePath2D = typeof Path2D === 'function';\n\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\n\nexport default class LineElement extends Element {\n\n static id = 'line';\n\n /**\n * @type {any}\n */\n static defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0,\n };\n\n /**\n * @type {any}\n */\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n\n\n static descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n };\n\n\n constructor(cfg) {\n super();\n\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n\n get points() {\n return this._points;\n }\n\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n\n /**\n\t * First non-skipped point on this line\n\t * @returns {PointElement|undefined}\n\t */\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n\n /**\n\t * Last non-skipped point on this line\n\t * @returns {PointElement|undefined}\n\t */\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n\n /**\n\t * Interpolate a point in this line at the same value on `property` as\n\t * the reference `point` provided\n\t * @param {PointElement} point - the reference point\n\t * @param {string} property - the property to match on\n\t * @returns {PointElement|undefined}\n\t */\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {property, start: value, end: value});\n\n if (!segments.length) {\n return;\n }\n\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for (i = 0, ilen = segments.length; i < ilen; ++i) {\n const {start, end} = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n\n /**\n\t * Append a segment of this line to current path.\n\t * @param {CanvasRenderingContext2D} ctx\n\t * @param {object} segment\n\t * @param {number} segment.start - start index of the segment, referring the points array\n \t * @param {number} segment.end - end index of the segment, referring the points array\n \t * @param {boolean} segment.loop - indicates that the segment is a loop\n\t * @param {object} params\n\t * @param {boolean} params.move - move to starting point (vs line to it)\n\t * @param {boolean} params.reverse - path the segment from end to start\n\t * @param {number} params.start - limit segment to points starting from `start` index\n\t * @param {number} params.end - limit segment to points ending at `start` + `count` index\n\t * @returns {undefined|boolean} - true if the segment is a full loop (path should be closed)\n\t */\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n\n /**\n\t * Append all segments of this line to current path.\n\t * @param {CanvasRenderingContext2D|Path2D} ctx\n\t * @param {number} [start]\n\t * @param {number} [count]\n\t * @returns {undefined|boolean} - true if line is a full loop (path should be closed)\n\t */\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n\n start = start || 0;\n count = count || (this.points.length - start);\n\n for (const segment of segments) {\n loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1});\n }\n return !!loop;\n }\n\n /**\n\t * Draw\n\t * @param {CanvasRenderingContext2D} ctx\n\t * @param {object} chartArea\n\t * @param {number} [start]\n\t * @param {number} [count]\n\t */\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n\n if (points.length && options.borderWidth) {\n ctx.save();\n\n draw(ctx, this, start, count);\n\n ctx.restore();\n }\n\n if (this.animated) {\n // When line is animated, the control points and path are not cached.\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\n","import Element from '../core/core.element.js';\nimport {drawPoint, _isPointInArea} from '../helpers/helpers.canvas.js';\nimport type {\n CartesianParsedData,\n ChartArea,\n Point,\n PointHoverOptions,\n PointOptions,\n} from '../types/index.js';\n\nfunction inRange(el: PointElement, pos: number, axis: 'x' | 'y', useFinalPosition?: boolean) {\n const options = el.options;\n const {[axis]: value} = el.getProps([axis], useFinalPosition);\n\n return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\n\nexport type PointProps = Point\n\nexport default class PointElement extends Element {\n\n static id = 'point';\n\n parsed: CartesianParsedData;\n skip?: boolean;\n stop?: boolean;\n\n /**\n * @type {any}\n */\n static defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n };\n\n /**\n * @type {any}\n */\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n\n constructor(cfg) {\n super();\n\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n\n inRange(mouseX: number, mouseY: number, useFinalPosition?: boolean) {\n const options = this.options;\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n }\n\n inXRange(mouseX: number, useFinalPosition?: boolean) {\n return inRange(this, mouseX, 'x', useFinalPosition);\n }\n\n inYRange(mouseY: number, useFinalPosition?: boolean) {\n return inRange(this, mouseY, 'y', useFinalPosition);\n }\n\n getCenterPoint(useFinalPosition?: boolean) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n\n size(options?: Partial) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n\n draw(ctx: CanvasRenderingContext2D, area: ChartArea) {\n const options = this.options;\n\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n\n getRange() {\n const options = this.options || {};\n // @ts-expect-error Fallbacks should never be hit in practice\n return options.radius + options.hitRadius;\n }\n}\n","import Element from '../core/core.element.js';\nimport {isObject, _isBetween, _limitValue} from '../helpers/index.js';\nimport {addRoundedRectPath} from '../helpers/helpers.canvas.js';\nimport {toTRBL, toTRBLCorners} from '../helpers/helpers.options.js';\n\n/** @typedef {{ x: number, y: number, base: number, horizontal: boolean, width: number, height: number }} BarProps */\n\n/**\n * Helper function to get the bounds of the bar regardless of the orientation\n * @param {BarElement} bar the bar\n * @param {boolean} [useFinalPosition]\n * @return {object} bounds of the bar\n * @private\n */\nfunction getBarBounds(bar, useFinalPosition) {\n const {x, y, base, width, height} = /** @type {BarProps} */ (bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition));\n\n let left, right, top, bottom, half;\n\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n\n return {left, top, right, bottom};\n}\n\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\n\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\n\nfunction parseBorderRadius(bar, maxW, maxH) {\n const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n\n // If the value is an object, assume the user knows what they are doing\n // and apply as directed.\n const enableBorder = enableBorderRadius || isObject(value);\n\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\n\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n }\n }\n };\n}\n\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n\n return bounds\n\t\t&& (skipX || _isBetween(x, bounds.left, bounds.right))\n\t\t&& (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\n\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\n\n/**\n * Add a path of a rectangle to the current sub-path\n * @param {CanvasRenderingContext2D} ctx Context\n * @param {*} rect Bounding rect\n */\nfunction addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\n\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\n\nexport default class BarElement extends Element {\n\n static id = 'bar';\n\n /**\n * @type {any}\n */\n static defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n };\n\n /**\n * @type {any}\n */\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n\n constructor(cfg) {\n super();\n\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n\n draw(ctx) {\n const {inflateAmount, options: {borderColor, backgroundColor}} = this;\n const {inner, outer} = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n\n ctx.save();\n\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n\n ctx.restore();\n }\n\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n\n getCenterPoint(useFinalPosition) {\n const {x, y, base, horizontal} = /** @type {BarProps} */ (this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition));\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\n","/**\n * Plugin based on discussion from the following Chart.js issues:\n * @see https://github.com/chartjs/Chart.js/issues/2380#issuecomment-279961569\n * @see https://github.com/chartjs/Chart.js/issues/2440#issuecomment-256461897\n */\n\nimport LineElement from '../../elements/element.line.js';\nimport {_drawfill} from './filler.drawing.js';\nimport {_shouldApplyFill} from './filler.helper.js';\nimport {_decodeFill, _resolveTarget} from './filler.options.js';\n\nexport default {\n id: 'filler',\n\n afterDatasetsUpdate(chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n\n for (i = 0; i < count; ++i) {\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line,\n };\n }\n\n meta.$filler = source;\n sources.push(source);\n }\n\n for (i = 0; i < count; ++i) {\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n\n beforeDraw(chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n\n beforeDatasetsDraw(chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n\n const metasets = chart.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n\n beforeDatasetDraw(chart, args, options) {\n const source = args.meta.$filler;\n\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n","import defaults from '../core/core.defaults.js';\nimport Element from '../core/core.element.js';\nimport layouts from '../core/core.layouts.js';\nimport {addRoundedRectPath, drawPointLegend, renderText} from '../helpers/helpers.canvas.js';\nimport {\n _isBetween,\n callback as call,\n clipArea,\n getRtlAdapter,\n overrideTextDirection,\n restoreTextDirection,\n toFont,\n toPadding,\n unclipArea,\n valueOrDefault,\n} from '../helpers/index.js';\nimport {_alignStartEnd, _textX, _toLeftRightCenter} from '../helpers/helpers.extras.js';\nimport {toTRBLCorners} from '../helpers/helpers.options.js';\n\n/**\n * @typedef { import('../types/index.js').ChartEvent } ChartEvent\n */\n\nconst getBoxSize = (labelOpts, fontSize) => {\n let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\n\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\n\nexport class Legend extends Element {\n\n /**\n\t * @param {{ ctx: any; options: any; chart: any; }} config\n\t */\n constructor(config) {\n super();\n\n this._added = false;\n\n // Contains hit boxes for each dataset (in dataset order)\n this.legendHitBoxes = [];\n\n /**\n \t\t * @private\n \t\t */\n this._hoveredItem = null;\n\n // Are we in doughnut mode which has a different data type\n this.doughnutMode = false;\n\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = call(labelOpts.generateLabels, [this.chart], this) || [];\n\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data));\n }\n\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data));\n }\n\n if (this.options.reverse) {\n legendItems.reverse();\n }\n\n this.legendItems = legendItems;\n }\n\n fit() {\n const {options, ctx} = this;\n\n // The legend may not be displayed for a variety of reasons including\n // the fact that the defaults got set to `false`.\n // When the legend is not displayed, there are no guarantees that the options\n // are correctly formatted so we need to bail out as early as possible.\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n\n let width, height;\n\n ctx.font = labelFont.string;\n\n if (this.isHorizontal()) {\n width = this.maxWidth; // fill all the width\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight; // fill all the height\n width = this._fitCols(titleHeight, labelFont, boxWidth, itemHeight) + 10;\n }\n\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n\n /**\n\t * @private\n\t */\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxWidth, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n // Width of each line of legend boxes. Labels wrap onto multiple lines when there are too many to fit on one\n const lineWidths = this.lineWidths = [0];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n\n hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n\n return totalHeight;\n }\n\n _fitCols(titleHeight, labelFont, boxWidth, _itemHeight) {\n const {ctx, maxHeight, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n\n let left = 0;\n let col = 0;\n\n this.legendItems.forEach((legendItem, i) => {\n const {itemWidth, itemHeight} = calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight);\n\n // If too tall, go to new column\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({width: currentColWidth, height: currentColHeight}); // previous column size\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n\n // Store the hitbox width and height here. Final position will be updated in `draw`\n hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n\n // Get max width\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n\n totalWidth += currentColWidth;\n columnSizes.push({width: currentColWidth, height: currentColHeight}); // previous column size\n\n return totalWidth;\n }\n\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes) {\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes) {\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n\n this._draw();\n\n unclipArea(ctx);\n }\n }\n\n /**\n\t * @private\n\t */\n _draw() {\n const {options: opts, columnSizes, lineWidths, ctx} = this;\n const {align, labels: labelOpts} = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const {padding} = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n\n this.drawTitle();\n\n // Canvas setup\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n\n const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n\n // current position\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n\n // Set the ctx for the box\n ctx.save();\n\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n\n if (labelOpts.usePointStyle) {\n // Recalculate x and y for drawPoint() because its expecting\n // x and y to be center of figure (instead of top left)\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n\n // Draw pointStyle as legend symbol\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n // Draw box as legend symbol\n // Adjust position when boxHeight < fontSize (want it centered)\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n\n ctx.beginPath();\n\n if (Object.values(borderRadius).some(v => v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n\n ctx.restore();\n };\n\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n\n // Horizontal\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n\n overrideTextDirection(this.ctx, opts.textDirection);\n\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i) => {\n ctx.strokeStyle = legendItem.fontColor; // for strikethrough effect\n ctx.fillStyle = legendItem.fontColor; // render in correct colour\n\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n\n rtlHelper.setWidth(this.width);\n\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n\n const realX = rtlHelper.x(x);\n\n drawLegendBox(realX, y, legendItem);\n\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n\n // Fill the actual label\n fillText(rtlHelper.x(x), y, legendItem);\n\n if (isHorizontal) {\n cursor.x += width + padding;\n } else if (typeof legendItem.text !== 'string') {\n const fontLineHeight = labelFont.lineHeight;\n cursor.y += calculateLegendItemHeight(legendItem, fontLineHeight);\n } else {\n cursor.y += lineHeight;\n }\n });\n\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n\n /**\n\t * @protected\n\t */\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n\n if (!titleOpts.display) {\n return;\n }\n\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n\n // These defaults are used when the legend is vertical.\n // When horizontal, they are computed below.\n let left = this.left;\n let maxWidth = this.width;\n\n if (this.isHorizontal()) {\n // Move left / right so that the title is above the legend lines\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n // Move down so that the title is above the legend stack in every alignment\n const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n\n // Now that we know the left edge of the inner legend box, compute the correct\n // X coordinate from the title alignment\n const x = _alignStartEnd(position, left, left + maxWidth);\n\n // Canvas setup\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n\n /**\n\t * @private\n\t */\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n\n /**\n\t * @private\n\t */\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n\n if (_isBetween(x, this.left, this.right)\n && _isBetween(y, this.top, this.bottom)) {\n // See if we are touching one of the dataset boxes\n lh = this.legendHitBoxes;\n for (i = 0; i < lh.length; ++i) {\n hitBox = lh[i];\n\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width)\n && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n // Touching an element\n return this.legendItems[i];\n }\n }\n }\n\n return null;\n }\n\n /**\n\t * Handle an event\n\t * @param {ChartEvent} e - The event to handle\n\t */\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n\n // Chart event already has relative position in it\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n call(opts.onLeave, [e, previous, this], this);\n }\n\n this._hoveredItem = hoveredItem;\n\n if (hoveredItem && !sameItem) {\n call(opts.onHover, [e, hoveredItem, this], this);\n }\n } else if (hoveredItem) {\n call(opts.onClick, [e, hoveredItem, this], this);\n }\n }\n}\n\nfunction calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight) {\n const itemWidth = calculateItemWidth(legendItem, boxWidth, labelFont, ctx);\n const itemHeight = calculateItemHeight(_itemHeight, legendItem, labelFont.lineHeight);\n return {itemWidth, itemHeight};\n}\n\nfunction calculateItemWidth(legendItem, boxWidth, labelFont, ctx) {\n let legendItemText = legendItem.text;\n if (legendItemText && typeof legendItemText !== 'string') {\n legendItemText = legendItemText.reduce((a, b) => a.length > b.length ? a : b);\n }\n return boxWidth + (labelFont.size / 2) + ctx.measureText(legendItemText).width;\n}\n\nfunction calculateItemHeight(_itemHeight, legendItem, fontLineHeight) {\n let itemHeight = _itemHeight;\n if (typeof legendItem.text !== 'string') {\n itemHeight = calculateLegendItemHeight(legendItem, fontLineHeight);\n }\n return itemHeight;\n}\n\nfunction calculateLegendItemHeight(legendItem, fontLineHeight) {\n const labelHeight = legendItem.text ? legendItem.text.length + 0.5 : 0;\n return fontLineHeight * labelHeight;\n}\n\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\n\nexport default {\n id: 'legend',\n\n /**\n\t * For tests\n\t * @private\n\t */\n _element: Legend,\n\n start(chart, _args, options) {\n const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n\n stop(chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n\n // During the beforeUpdate step, the layout configuration needs to run\n // This ensures that if the legend position changes (via an option update)\n // the layout system respects the change. See https://github.com/chartjs/Chart.js/issues/7527\n beforeUpdate(chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n\n // The labels need to be built after datasets are updated to ensure that colors\n // and other styling are correct. See https://github.com/chartjs/Chart.js/issues/6968\n afterUpdate(chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n\n\n afterEvent(chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n\n // a callback that will handle\n onClick(e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n\n onHover: null,\n onLeave: null,\n\n labels: {\n color: (ctx) => ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n // Generates labels shown in the legend\n // Valid properties to return:\n // text : text to display\n // fillStyle : fill of coloured box\n // strokeStyle: stroke of coloured box\n // hidden : if this legend item refers to a hidden item\n // lineCap : cap style for line\n // lineDash\n // lineDashOffset :\n // lineJoin :\n // lineWidth :\n generateLabels(chart) {\n const datasets = chart.data.datasets;\n const {labels: {usePointStyle, pointStyle, textAlign, color, useBorderRadius, borderRadius}} = chart.legend.options;\n\n return chart._getSortedDatasetMetas().map((meta) => {\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: useBorderRadius && (borderRadius || style.borderRadius),\n\n // Below is extra data used for toggling the datasets\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n\n title: {\n color: (ctx) => ctx.chart.options.color,\n display: false,\n position: 'center',\n text: '',\n }\n },\n\n descriptors: {\n _scriptable: (name) => !name.startsWith('on'),\n labels: {\n _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n }\n },\n};\n","import {Title} from './plugin.title.js';\nimport layouts from '../core/core.layouts.js';\n\nconst map = new WeakMap();\n\nexport default {\n id: 'subtitle',\n\n start(chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n\n stop(chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n\n beforeUpdate(chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal',\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500 // by default greater than legend (1000) and smaller than title (2000)\n },\n\n defaultRoutes: {\n color: 'color'\n },\n\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n","import Element from '../core/core.element.js';\nimport layouts from '../core/core.layouts.js';\nimport {PI, isArray, toPadding, toFont} from '../helpers/index.js';\nimport {_toLeftRightCenter, _alignStartEnd} from '../helpers/helpers.extras.js';\nimport {renderText} from '../helpers/helpers.canvas.js';\n\nexport class Title extends Element {\n /**\n\t * @param {{ ctx: any; options: any; chart: any; }} config\n\t */\n constructor(config) {\n super();\n\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n\n update(maxWidth, maxHeight) {\n const opts = this.options;\n\n this.left = 0;\n this.top = 0;\n\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n\n _drawArgs(offset) {\n const {top, left, bottom, right, options} = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {titleX, titleY, maxWidth, rotation};\n }\n\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n\n if (!opts.display) {\n return;\n }\n\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset);\n\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n}\n\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\n\nexport default {\n id: 'title',\n\n /**\n\t * For tests\n\t * @private\n\t */\n _element: Title,\n\n start(chart, _args, options) {\n createTitle(chart, options);\n },\n\n stop(chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n\n beforeUpdate(chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold',\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000 // by default greater than legend (1000) to be above\n },\n\n defaultRoutes: {\n color: 'color'\n },\n\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n","import Animations from '../core/core.animations.js';\nimport Element from '../core/core.element.js';\nimport {addRoundedRectPath} from '../helpers/helpers.canvas.js';\nimport {each, noop, isNullOrUndef, isArray, _elementsEqual, isObject} from '../helpers/helpers.core.js';\nimport {toFont, toPadding, toTRBLCorners} from '../helpers/helpers.options.js';\nimport {getRtlAdapter, overrideTextDirection, restoreTextDirection} from '../helpers/helpers.rtl.js';\nimport {distanceBetweenPoints, _limitValue} from '../helpers/helpers.math.js';\nimport {createContext, drawPoint} from '../helpers/index.js';\n\n/**\n * @typedef { import('../platform/platform.base.js').Chart } Chart\n * @typedef { import('../types/index.js').ChartEvent } ChartEvent\n * @typedef { import('../types/index.js').ActiveElement } ActiveElement\n * @typedef { import('../core/core.interaction.js').InteractionItem } InteractionItem\n */\n\nconst positioners = {\n /**\n\t * Average mode places the tooltip at the average position of the elements shown\n\t */\n average(items) {\n if (!items.length) {\n return false;\n }\n\n let i, len;\n let x = 0;\n let y = 0;\n let count = 0;\n\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n x += pos.x;\n y += pos.y;\n ++count;\n }\n }\n\n return {\n x: x / count,\n y: y / count\n };\n },\n\n /**\n\t * Gets the tooltip position nearest of the item nearest to the event position\n\t */\n nearest(items, eventPosition) {\n if (!items.length) {\n return false;\n }\n\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n\n return {\n x,\n y\n };\n }\n};\n\n// Helper to push or concat based on if the 2nd parameter is an array or not\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n // base = base.concat(toPush);\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n\n return base;\n}\n\n/**\n * Returns array of strings split by newline\n * @param {*} str - The value to split by newline.\n * @returns {string|string[]} value if newline present - Returned from String split() method\n * @function\n */\nfunction splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\n\n\n/**\n * Private helper to create a tooltip item model\n * @param {Chart} chart\n * @param {ActiveElement} item - {element, index, datasetIndex} to create the tooltip item for\n * @return new tooltip item\n */\nfunction createTooltipItem(chart, item) {\n const {element, datasetIndex, index} = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const {label, value} = controller.getLabelAndValue(index);\n\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\n\n/**\n * Get the size of the tooltip\n */\nfunction getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const {body, footer, title} = tooltip;\n const {boxWidth, boxHeight} = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n\n // Count of all lines in the body\n let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n // Body lines may include some extra height depending on boxHeight\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n }\n\n // Title width\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n\n ctx.save();\n\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n\n // Body width\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n\n // Body lines may include some extra width due to the color box\n widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0;\n each(body, (bodyItem) => {\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n\n // Reset back to 0\n widthPadding = 0;\n\n // Footer width\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n\n ctx.restore();\n\n // Add padding\n width += padding.width;\n\n return {width, height};\n}\n\nfunction determineYAlign(chart, size) {\n const {y, height} = size;\n\n if (y < height / 2) {\n return 'top';\n } else if (y > (chart.height - height / 2)) {\n return 'bottom';\n }\n return 'center';\n}\n\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const {x, width} = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\n\nfunction determineXAlign(chart, options, size, yAlign) {\n const {x, width} = size;\n const {width: chartWidth, chartArea: {left, right}} = chart;\n let xAlign = 'center';\n\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n\n return xAlign;\n}\n\n/**\n * Helper to get the alignment of a tooltip given the size\n */\nfunction determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\n\nfunction alignX(size, xAlign) {\n let {x, width} = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= (width / 2);\n }\n return x;\n}\n\nfunction alignY(size, yAlign, paddingAndSize) {\n // eslint-disable-next-line prefer-const\n let {y, height} = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= (height / 2);\n }\n return y;\n}\n\n/**\n * Helper to get the location a tooltip needs to be placed at given the initial position (via the vm) and the size and alignment\n */\nfunction getBackgroundPoint(options, size, alignment, chart) {\n const {caretSize, caretPadding, cornerRadius} = options;\n const {xAlign, yAlign} = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\n\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n\n return align === 'center'\n ? tooltip.x + tooltip.width / 2\n : align === 'right'\n ? tooltip.x + tooltip.width - padding.right\n : tooltip.x + padding.left;\n}\n\n/**\n * Helper to build before and after body lines\n */\nfunction getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\n\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\n\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\n\nconst defaultCallbacks = {\n // Args are: (tooltipItems, data)\n beforeTitle: noop,\n title(tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n\n return '';\n },\n afterTitle: noop,\n\n // Args are: (tooltipItems, data)\n beforeBody: noop,\n\n // Args are: (tooltipItem, data)\n beforeLabel: noop,\n label(tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n\n let label = tooltipItem.dataset.label || '';\n\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0,\n };\n },\n labelTextColor() {\n return this.options.bodyColor;\n },\n labelPointStyle(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n };\n },\n afterLabel: noop,\n\n // Args are: (tooltipItems, data)\n afterBody: noop,\n\n // Args are: (tooltipItems, data)\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n};\n\n/**\n * Invoke callback from object with context and arguments.\n * If callback returns `undefined`, then will be invoked default callback.\n * @param {Record} callbacks\n * @param {keyof typeof defaultCallbacks} name\n * @param {*} ctx\n * @param {*} arg\n * @returns {any}\n */\nfunction invokeCallbackWithFallback(callbacks, name, ctx, arg) {\n const result = callbacks[name].call(ctx, arg);\n\n if (typeof result === 'undefined') {\n return defaultCallbacks[name].call(ctx, arg);\n }\n\n return result;\n}\n\nexport class Tooltip extends Element {\n\n /**\n * @namespace Chart.Tooltip.positioners\n */\n static positioners = positioners;\n\n constructor(config) {\n super();\n\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n // TODO: V4, make this private, rename to `_labelStyles`, and combine with `labelPointStyles`\n // and `labelTextColors` to create a single variable\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n\n /**\n\t * @private\n\t */\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n\n if (cached) {\n return cached;\n }\n\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n\n return animations;\n }\n\n /**\n\t * @protected\n\t */\n getContext() {\n return this.$context ||\n\t\t\t(this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n\n getTitle(context, options) {\n const {callbacks} = options;\n\n const beforeTitle = invokeCallbackWithFallback(callbacks, 'beforeTitle', this, context);\n const title = invokeCallbackWithFallback(callbacks, 'title', this, context);\n const afterTitle = invokeCallbackWithFallback(callbacks, 'afterTitle', this, context);\n\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n\n return lines;\n }\n\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(\n invokeCallbackWithFallback(options.callbacks, 'beforeBody', this, tooltipItems)\n );\n }\n\n getBody(tooltipItems, options) {\n const {callbacks} = options;\n const bodyItems = [];\n\n each(tooltipItems, (context) => {\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(invokeCallbackWithFallback(scoped, 'beforeLabel', this, context)));\n pushOrConcat(bodyItem.lines, invokeCallbackWithFallback(scoped, 'label', this, context));\n pushOrConcat(bodyItem.after, splitNewlines(invokeCallbackWithFallback(scoped, 'afterLabel', this, context)));\n\n bodyItems.push(bodyItem);\n });\n\n return bodyItems;\n }\n\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(\n invokeCallbackWithFallback(options.callbacks, 'afterBody', this, tooltipItems)\n );\n }\n\n // Get the footer and beforeFooter and afterFooter lines\n getFooter(tooltipItems, options) {\n const {callbacks} = options;\n\n const beforeFooter = invokeCallbackWithFallback(callbacks, 'beforeFooter', this, tooltipItems);\n const footer = invokeCallbackWithFallback(callbacks, 'footer', this, tooltipItems);\n const afterFooter = invokeCallbackWithFallback(callbacks, 'afterFooter', this, tooltipItems);\n\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n\n return lines;\n }\n\n /**\n\t * @private\n\t */\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n\n for (i = 0, len = active.length; i < len; ++i) {\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n\n // If the user provided a filter function, use it to modify the tooltip items\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n }\n\n // If the user provided a sorting function, use it to modify the tooltip items\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n }\n\n // Determine colors for boxes\n each(tooltipItems, (context) => {\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(invokeCallbackWithFallback(scoped, 'labelColor', this, context));\n labelPointStyles.push(invokeCallbackWithFallback(scoped, 'labelPointStyle', this, context));\n labelTextColors.push(invokeCallbackWithFallback(scoped, 'labelTextColor', this, context));\n });\n\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n\n if (changed && options.external) {\n options.external.call(this, {chart: this.chart, tooltip: this, replay});\n }\n }\n\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n\n getCaretPosition(tooltipPoint, size, options) {\n const {xAlign, yAlign} = this;\n const {caretSize, cornerRadius} = options;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n const {x: ptX, y: ptY} = tooltipPoint;\n const {width, height} = size;\n let x1, x2, x3, y1, y2, y3;\n\n if (yAlign === 'center') {\n y2 = ptY + (height / 2);\n\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n\n // Left draws bottom -> top, this y1 is on the bottom\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n\n // Right draws top -> bottom, thus y1 is on the top\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize);\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n\n // Top draws left -> right, thus x1 is on the left\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n\n // Bottom draws right -> left, thus x1 is on the right\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {x1, x2, x3, y1, y2, y3};\n }\n\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n\n pt.x = getAlignedX(this, options.titleAlign, options);\n\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n\n for (i = 0; i < length; ++i) {\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing; // Line Height and spacing\n\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing; // If Last, add margin, remove spacing\n }\n }\n }\n }\n\n /**\n\t * @private\n\t */\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColors = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const {boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2, // fit the circle in the box\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n // Recalculate x and y for drawPoint() because its expecting\n // x and y to be center of figure (instead of top left)\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n\n // Fill the point with white so that colours merge nicely if the opacity is < 1\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n\n // Draw the point\n ctx.strokeStyle = labelColors.borderColor;\n ctx.fillStyle = labelColors.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n // Border\n ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : (labelColors.borderWidth || 1); // TODO, v4 remove fallback\n ctx.strokeStyle = labelColors.borderColor;\n ctx.setLineDash(labelColors.borderDash || []);\n ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n\n // Fill a white rect so that colours merge nicely if the opacity is < 1\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2);\n const borderRadius = toTRBLCorners(labelColors.borderRadius);\n\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n ctx.fill();\n ctx.stroke();\n\n // Inner square\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n // Normal rect\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n // Inner square\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n\n // restore fillStyle\n ctx.fillStyle = this.labelTextColors[i];\n }\n\n drawBody(pt, ctx, options) {\n const {body} = this;\n const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n\n // Before body lines\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding)\n : 0;\n\n // Draw body lines now\n for (i = 0, ilen = body.length; i < ilen; ++i) {\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n\n lines = bodyItem.lines;\n // Draw Legend-like boxes if needed\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n\n for (j = 0, jlen = lines.length; j < jlen; ++j) {\n fillLineOfText(lines[j]);\n // Reset for any lines that don't include colorbox\n bodyLineHeight = bodyFont.lineHeight;\n }\n\n each(bodyItem.after, fillLineOfText);\n }\n\n // Reset back to 0 for after body\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n\n // After body lines\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing; // Remove last body spacing\n }\n\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n\n footerFont = toFont(options.footerFont);\n\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n\n for (i = 0; i < length; ++i) {\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n\n drawBackground(pt, ctx, tooltipSize, options) {\n const {xAlign, yAlign} = this;\n const {x, y} = pt;\n const {width, height} = tooltipSize;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius);\n\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n\n ctx.fill();\n\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n\n /**\n\t * Update x/y animation targets when _active elements are animating too\n\t * @private\n\t */\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n\n /**\n * Determine if the tooltip will draw anything\n * @returns {boolean} True if the tooltip will render\n */\n _willRender() {\n return !!this.opacity;\n }\n\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n\n if (!opacity) {\n return;\n }\n\n this._updateAnimationTarget(options);\n\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n\n // IE11/Edge does not like very small opacities, so snap to 0\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n\n const padding = toPadding(options.padding);\n\n // Truthy/falsey value for empty tooltip\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n\n // Draw Background\n this.drawBackground(pt, ctx, tooltipSize, options);\n\n overrideTextDirection(ctx, options.textDirection);\n\n pt.y += padding.top;\n\n // Titles\n this.drawTitle(pt, ctx, options);\n\n // Body\n this.drawBody(pt, ctx, options);\n\n // Footer\n this.drawFooter(pt, ctx, options);\n\n restoreTextDirection(ctx, options.textDirection);\n\n ctx.restore();\n }\n }\n\n /**\n\t * Get active elements in the tooltip\n\t * @returns {Array} Array of elements that are active in the tooltip\n\t */\n getActiveElements() {\n return this._active || [];\n }\n\n /**\n\t * Set active elements in the tooltip\n\t * @param {array} activeElements Array of active datasetIndex/index pairs.\n\t * @param {object} eventPosition Synthetic event position used in positioning\n\t */\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.chart.getDatasetMeta(datasetIndex);\n\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n\n /**\n\t * Handle an event\n\t * @param {ChartEvent} e - The event to handle\n\t * @param {boolean} [replay] - This is a replayed event (from update)\n\t * @param {boolean} [inChartArea] - The event is inside chartArea\n\t * @returns {boolean} true if the tooltip changed\n\t */\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n\n // When there are multiple items shown, but the tooltip position is nearest mode\n // an update may need to be made because our position may have changed even though\n // the items are the same as before.\n const positionChanged = this._positionChanged(active, e);\n\n // Remember Last Actives\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n\n // Only handle target event on tooltip change\n if (changed) {\n this._active = active;\n\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n\n this.update(true, replay);\n }\n }\n\n return changed;\n }\n\n /**\n\t * Helper for determining the active elements for event\n\t * @param {ChartEvent} e - The event to handle\n\t * @param {InteractionItem[]} lastActive - Previously active elements\n\t * @param {boolean} [replay] - This is a replayed event (from update)\n\t * @param {boolean} [inChartArea] - The event is inside chartArea\n\t * @returns {InteractionItem[]} - Active elements\n\t * @private\n\t */\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n\n if (e.type === 'mouseout') {\n return [];\n }\n\n if (!inChartArea) {\n // Let user control the active elements outside chartArea. Eg. using Legend.\n return lastActive;\n }\n\n // Find Active Elements for tooltips\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n\n if (options.reverse) {\n active.reverse();\n }\n\n return active;\n }\n\n /**\n\t * Determine if the active elements + event combination changes the\n\t * tooltip position\n\t * @param {array} active - Active elements\n\t * @param {ChartEvent} e - Event that triggered the position change\n\t * @returns {boolean} True if the position has changed\n\t */\n _positionChanged(active, e) {\n const {caretX, caretY, options} = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\n\nexport default {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n\n afterInit(chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({chart, options});\n }\n },\n\n beforeUpdate(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n\n reset(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n\n afterDraw(chart) {\n const tooltip = chart.tooltip;\n\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n\n if (chart.notifyPlugins('beforeTooltipDraw', {...args, cancelable: true}) === false) {\n return;\n }\n\n tooltip.draw(chart.ctx);\n\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n\n afterEvent(chart, args) {\n if (chart.tooltip) {\n // If the event is replayed from `update`, we should evaluate with the final positions.\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n // notify chart about the change, so it will render\n args.changed = true;\n }\n }\n },\n\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold',\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {\n },\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold',\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts) => opts.bodyFont.size,\n boxWidth: (ctx, opts) => opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart',\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: defaultCallbacks\n },\n\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n\n descriptors: {\n _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false,\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n\n // Resolve additionally from `interaction` options and defaults.\n additionalOptionScopes: ['interaction']\n};\n","import Scale from '../core/core.scale.js';\nimport {isNullOrUndef, valueOrDefault, _limitValue} from '../helpers/index.js';\n\nconst addIfString = (labels, raw, index, addedLabels) => {\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({index, label: raw});\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\n\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\n\nconst validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max);\n\nfunction _getLabelForValue(value) {\n const labels = this.getLabels();\n\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n}\n\nexport default class CategoryScale extends Scale {\n\n static id = 'category';\n\n /**\n * @type {any}\n */\n static defaults = {\n ticks: {\n callback: _getLabelForValue\n }\n };\n\n constructor(cfg) {\n super(cfg);\n\n /** @type {number} */\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const {index, label} of added) {\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index\n : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n\n determineDataLimits() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this.getMinMax(true);\n\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n\n this.min = min;\n this.max = max;\n }\n\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n\n // If we are viewing some subset of labels, slice the original array\n labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n\n for (let value = min; value <= max; value++) {\n ticks.push({value});\n }\n return ticks;\n }\n\n getLabelForValue(value) {\n return _getLabelForValue.call(this, value);\n }\n\n /**\n\t * @protected\n\t */\n configure() {\n super.configure();\n\n if (!this.isHorizontal()) {\n // For backward compatibility, vertical category scale reverse is inverted.\n this._reversePixels = !this._reversePixels;\n }\n }\n\n // Used to get data value locations. Value can either be an index or a numerical value\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n\n // Must override base implementation because it calls getPixelForValue\n // and category scale can have duplicate values\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n\n getBasePixel() {\n return this.bottom;\n }\n}\n","import {isNullOrUndef} from '../helpers/helpers.core.js';\nimport {almostEquals, almostWhole, niceNum, _decimalPlaces, _setMinAndMaxByKey, sign, toRadians} from '../helpers/helpers.math.js';\nimport Scale from '../core/core.scale.js';\nimport {formatNumber} from '../helpers/helpers.intl.js';\n\n/**\n * Generate a set of linear ticks for an axis\n * 1. If generationOptions.min, generationOptions.max, and generationOptions.step are defined:\n * if (max - min) / step is an integer, ticks are generated as [min, min + step, ..., max]\n * Note that the generationOptions.maxCount setting is respected in this scenario\n *\n * 2. If generationOptions.min, generationOptions.max, and generationOptions.count is defined\n * spacing = (max - min) / count\n * Ticks are generated as [min, min + spacing, ..., max]\n *\n * 3. If generationOptions.count is defined\n * spacing = (niceMax - niceMin) / count\n *\n * 4. Compute optimal spacing of ticks using niceNum algorithm\n *\n * @param generationOptions the options used to generate the ticks\n * @param dataRange the range of the data\n * @returns {object[]} array of tick objects\n */\nfunction generateTicks(generationOptions, dataRange) {\n const ticks = [];\n // To get a \"nice\" value for the tick spacing, we will use the appropriately named\n // \"nice number\" algorithm. See https://stackoverflow.com/questions/8506881/nice-label-algorithm-for-charts-with-minimum-ticks\n // for details.\n\n const MIN_SPACING = 1e-14;\n const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const {min: rmin, max: rmax} = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n\n // Beyond MIN_SPACING floating point numbers being to lose precision\n // such that we can't do the math necessary to generate ticks\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [{value: rmin}, {value: rmax}];\n }\n\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n // If the calculated num of spaces exceeds maxNumSpaces, recalculate it\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n\n if (!isNullOrUndef(precision)) {\n // If the user specified a precision, round to that number of decimal places\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n // Case 1: If min, max and stepSize are set and they make an evenly spaced scale use it.\n // spacing = step;\n // numSpaces = (max - min) / spacing;\n // Note that we round here to handle the case where almostWhole translated an FP error\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n // Cases 2 & 3, we have a count specified. Handle optional user defined edges to the range.\n // Sometimes these are no-ops, but it makes the code a lot clearer\n // and when a user defined range is specified, we want the correct ticks\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n // Case 4\n numSpaces = (niceMax - niceMin) / spacing;\n\n // If very close to our rounded value, use it.\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n\n // The spacing will have changed in cases 1, 2, and 3 so the factor cannot be computed\n // until this point\n const decimalPlaces = Math.max(\n _decimalPlaces(spacing),\n _decimalPlaces(niceMin)\n );\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({value: min});\n\n if (niceMin < min) {\n j++; // Skip niceMin\n }\n // If the next nice tick is close to min, skip it\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n\n for (; j < numSpaces; ++j) {\n ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n }\n\n if (maxDefined && includeBounds && niceMax !== max) {\n // If the previous tick is too close to max, replace it with max, else add max\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({value: max});\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({value: niceMax});\n }\n\n return ticks;\n}\n\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\n\nexport default class LinearScaleBase extends Scale {\n\n constructor(cfg) {\n super(cfg);\n\n /** @type {number} */\n this.start = undefined;\n /** @type {number} */\n this.end = undefined;\n /** @type {number} */\n this._startValue = undefined;\n /** @type {number} */\n this._endValue = undefined;\n this._valueRange = 0;\n }\n\n parse(raw, index) { // eslint-disable-line no-unused-vars\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n\n return +raw;\n }\n\n handleTickRangeOptions() {\n const {beginAtZero} = this.options;\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this;\n\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n\n if (min === max) {\n let offset = max === 0 ? 1 : Math.abs(max * 0.05);\n\n setMax(max + offset);\n\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n\n getTickLimit() {\n const tickOpts = this.options.ticks;\n // eslint-disable-next-line prefer-const\n let {maxTicksLimit, stepSize} = tickOpts;\n let maxTicks;\n\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n\n return maxTicks;\n }\n\n /**\n\t * @protected\n\t */\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n\n // Figure out what the max number of ticks we can support it is based on the size of\n // the axis area. For now, we say that the minimum tick spacing in pixels must be 40\n // We also limit the maximum number of ticks to 11 which gives a nice 10 squares on\n // the graph. Make sure we always have at least 2 ticks\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks(numericGeneratorOptions, dataRange);\n\n // At this point, we need to update our max and min given the tick values,\n // since we probably have expanded the range of the scale\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n\n if (opts.reverse) {\n ticks.reverse();\n\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n\n return ticks;\n }\n\n /**\n\t * @protected\n\t */\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n\n super.configure();\n\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n","import {isFinite} from '../helpers/helpers.core.js';\nimport LinearScaleBase from './scale.linearbase.js';\nimport Ticks from '../core/core.ticks.js';\nimport {toRadians} from '../helpers/index.js';\n\nexport default class LinearScale extends LinearScaleBase {\n\n static id = 'linear';\n\n /**\n * @type {any}\n */\n static defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n };\n\n\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n\n this.min = isFinite(min) ? min : 0;\n this.max = isFinite(max) ? max : 1;\n\n // Common base implementation to handle min, max, beginAtZero\n this.handleTickRangeOptions();\n }\n\n /**\n\t * Returns the maximum number of ticks based on the scale dimension\n\t * @protected\n \t */\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n\n // Utils\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\n","import {finiteOrDefault, isFinite} from '../helpers/helpers.core.js';\nimport {formatNumber} from '../helpers/helpers.intl.js';\nimport {_setMinAndMaxByKey, log10} from '../helpers/helpers.math.js';\nimport Scale from '../core/core.scale.js';\nimport LinearScaleBase from './scale.linearbase.js';\nimport Ticks from '../core/core.ticks.js';\n\nconst log10Floor = v => Math.floor(log10(v));\nconst changeExponent = (v, m) => Math.pow(10, log10Floor(v) + m);\n\nfunction isMajor(tickVal) {\n const remain = tickVal / (Math.pow(10, log10Floor(tickVal)));\n return remain === 1;\n}\n\nfunction steps(min, max, rangeExp) {\n const rangeStep = Math.pow(10, rangeExp);\n const start = Math.floor(min / rangeStep);\n const end = Math.ceil(max / rangeStep);\n return end - start;\n}\n\nfunction startExp(min, max) {\n const range = max - min;\n let rangeExp = log10Floor(range);\n while (steps(min, max, rangeExp) > 10) {\n rangeExp++;\n }\n while (steps(min, max, rangeExp) < 10) {\n rangeExp--;\n }\n return Math.min(rangeExp, log10Floor(min));\n}\n\n\n/**\n * Generate a set of logarithmic ticks\n * @param generationOptions the options used to generate the ticks\n * @param dataRange the range of the data\n * @returns {object[]} array of tick objects\n */\nfunction generateTicks(generationOptions, {min, max}) {\n min = finiteOrDefault(generationOptions.min, min);\n const ticks = [];\n const minExp = log10Floor(min);\n let exp = startExp(min, max);\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n const stepSize = Math.pow(10, exp);\n const base = minExp > exp ? Math.pow(10, minExp) : 0;\n const start = Math.round((min - base) * precision) / precision;\n const offset = Math.floor((min - base) / stepSize / 10) * stepSize * 10;\n let significand = Math.floor((start - offset) / Math.pow(10, exp));\n let value = finiteOrDefault(generationOptions.min, Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision);\n while (value < max) {\n ticks.push({value, major: isMajor(value), significand});\n if (significand >= 10) {\n significand = significand < 15 ? 15 : 20;\n } else {\n significand++;\n }\n if (significand >= 20) {\n exp++;\n significand = 2;\n precision = exp >= 0 ? 1 : precision;\n }\n value = Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision;\n }\n const lastTick = finiteOrDefault(generationOptions.max, value);\n ticks.push({value: lastTick, major: isMajor(lastTick), significand});\n\n return ticks;\n}\n\nexport default class LogarithmicScale extends Scale {\n\n static id = 'logarithmic';\n\n /**\n * @type {any}\n */\n static defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n };\n\n\n constructor(cfg) {\n super(cfg);\n\n /** @type {number} */\n this.start = undefined;\n /** @type {number} */\n this.end = undefined;\n /** @type {number} */\n this._startValue = undefined;\n this._valueRange = 0;\n }\n\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isFinite(value) && value > 0 ? value : null;\n }\n\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n\n this.min = isFinite(min) ? Math.max(0, min) : null;\n this.max = isFinite(max) ? Math.max(0, max) : null;\n\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n\n // if data has `0` in it or `beginAtZero` is true, min (non zero) value is at bottom\n // of scale, and it does not equal suggestedMin, lower the min bound by one exp.\n if (this._zero && this.min !== this._suggestedMin && !isFinite(this._userMin)) {\n this.min = min === changeExponent(this.min, 0) ? changeExponent(this.min, -1) : changeExponent(this.min, 0);\n }\n\n this.handleTickRangeOptions();\n }\n\n handleTickRangeOptions() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n\n if (min === max) {\n if (min <= 0) { // includes null\n setMin(1);\n setMax(10);\n } else {\n setMin(changeExponent(min, -1));\n setMax(changeExponent(max, +1));\n }\n }\n if (min <= 0) {\n setMin(changeExponent(max, -1));\n }\n if (max <= 0) {\n\n setMax(changeExponent(min, +1));\n }\n\n this.min = min;\n this.max = max;\n }\n\n buildTicks() {\n const opts = this.options;\n\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n\n // At this point, we need to update our max and min given the tick values,\n // since we probably have expanded the range of the scale\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n\n if (opts.reverse) {\n ticks.reverse();\n\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n\n return ticks;\n }\n\n /**\n\t * @param {number} value\n\t * @return {string}\n\t */\n getLabelForValue(value) {\n return value === undefined\n ? '0'\n : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n\n /**\n\t * @protected\n\t */\n configure() {\n const start = this.min;\n\n super.configure();\n\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min\n ? 0\n : (log10(value) - this._startValue) / this._valueRange);\n }\n\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\n","import defaults from '../core/core.defaults.js';\nimport {_longestText, addRoundedRectPath, renderText} from '../helpers/helpers.canvas.js';\nimport {HALF_PI, TAU, toDegrees, toRadians, _normalizeAngle, PI} from '../helpers/helpers.math.js';\nimport LinearScaleBase from './scale.linearbase.js';\nimport Ticks from '../core/core.ticks.js';\nimport {valueOrDefault, isArray, isFinite, callback as callCallback, isNullOrUndef} from '../helpers/helpers.core.js';\nimport {createContext, toFont, toPadding, toTRBLCorners} from '../helpers/helpers.options.js';\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\n\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [label];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\n\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - (size / 2),\n end: pos + (size / 2)\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n\n return {\n start: pos,\n end: pos + size\n };\n}\n\n/**\n * Helper function to fit a radial linear scale with point labels\n */\nfunction fitWithPointLabels(scale) {\n\n // Right, this is really confusing and there is a lot of maths going on here\n // The gist of the problem is here: https://gist.github.com/nnnick/696cc9c55f4b0beb8fe9\n //\n // Reaction: https://dl.dropboxusercontent.com/u/34601363/toomuchscience.gif\n //\n // Solution:\n //\n // We assume the radius of the polygon is half the size of the canvas at first\n // at each index we check if the text overlaps.\n //\n // Where it does, we store that angle and that index.\n //\n // After finding the largest index and angle we calculate how much we need to remove\n // from the shape radius to move the point inwards by that x.\n //\n // We average the left and right distances to get the maximum shape radius that can fit in the box\n // along with labels.\n //\n // Once we have that, we can find the centre point for the chart, by taking the x text protrusion\n // on each side, removing that from the size, halving it and adding the left x protrusion width.\n //\n // This will mean we have a shape fitted to the canvas, as large as it can be with the labels\n // and position it in the most space efficient manner\n //\n // https://dl.dropboxusercontent.com/u/34601363/yeahscience.gif\n\n // Get maximum radius of the polygon. Either half the height (minus the text width) or half the width.\n // Use this to calculate the offset + change. - Make sure L/R protrusion is at least 0 to stop issues with centre points\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n\n for (let i = 0; i < valueCount; i++) {\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n\n scale.setCenterPoint(\n orig.l - limits.l,\n limits.r - orig.r,\n orig.t - limits.t,\n limits.b - orig.b\n );\n\n // Now that text size is determined, compute the full positions\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\n\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\n\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const extra = getTickBackdropHeight(opts) / 2;\n const outerDistance = scale.drawingArea;\n const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0;\n\n for (let i = 0; i < valueCount; i++) {\n const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const size = labelSizes[i];\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n\n items.push({\n // Text position\n x: pointLabelPosition.x,\n y,\n\n // Text rendering data\n textAlign,\n\n // Bounding box\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n });\n }\n return items;\n}\n\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n\n return 'right';\n}\n\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= (w / 2);\n }\n return x;\n}\n\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= (h / 2);\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\n\nfunction drawPointLabels(scale, labelCount) {\n const {ctx, options: {pointLabels}} = scale;\n\n for (let i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n const plFont = toFont(optsAtIndex.font);\n const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n const {backdropColor} = optsAtIndex;\n\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(optsAtIndex.borderRadius);\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillStyle = backdropColor;\n\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n\n renderText(\n ctx,\n scale._pointLabels[i],\n x,\n y + (plFont.lineHeight / 2),\n plFont,\n {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n }\n );\n }\n}\n\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const {ctx} = scale;\n if (circular) {\n // Draw circular arcs between the points\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n // Draw straight lines connecting each index\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n\n for (let i = 1; i < labelCount; i++) {\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\n\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount, borderOpts) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n\n const {color, lineWidth} = gridLineOpts;\n\n if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n return;\n }\n\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(borderOpts.dash);\n ctx.lineDashOffset = borderOpts.dashOffset;\n\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\n\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\n\nexport default class RadialLinearScale extends LinearScaleBase {\n\n static id = 'radialLinear';\n\n /**\n * @type {any}\n */\n static defaults = {\n display: true,\n\n // Boolean - Whether to animate scaling the chart from the centre\n animate: true,\n position: 'chartArea',\n\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n\n grid: {\n circular: false\n },\n\n startAngle: 0,\n\n // label settings\n ticks: {\n // Boolean - Show a backdrop to the scale label\n showLabelBackdrop: true,\n\n callback: Ticks.formatters.numeric\n },\n\n pointLabels: {\n backdropColor: undefined,\n\n // Number - The backdrop padding above & below the label in pixels\n backdropPadding: 2,\n\n // Boolean - if true, show point labels\n display: true,\n\n // Number - Point label font size in pixels\n font: {\n size: 10\n },\n\n // Function - Used to convert point labels\n callback(label) {\n return label;\n },\n\n // Number - Additionl padding between scale and pointLabel\n padding: 5,\n\n // Boolean - if true, center point labels to slices in polar chart\n centerPointLabels: false\n }\n };\n\n static defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n };\n\n static descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n };\n\n constructor(cfg) {\n super(cfg);\n\n /** @type {number} */\n this.xCenter = undefined;\n /** @type {number} */\n this.yCenter = undefined;\n /** @type {number} */\n this.drawingArea = undefined;\n /** @type {string[]} */\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n\n setDimensions() {\n // Set the unconstrained dimension before label rotation\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n\n determineDataLimits() {\n const {min, max} = this.getMinMax(false);\n\n this.min = isFinite(min) && !isNaN(min) ? min : 0;\n this.max = isFinite(max) && !isNaN(max) ? max : 0;\n\n // Common base implementation to handle min, max, beginAtZero\n this.handleTickRangeOptions();\n }\n\n /**\n\t * Returns the maximum number of ticks based on the scale dimension\n\t * @protected\n\t */\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n\n // Point labels\n this._pointLabels = this.getLabels()\n .map((value, index) => {\n const label = callCallback(this.options.pointLabels.callback, [value, index], this);\n return label || label === 0 ? label : '';\n })\n .filter((v, i) => this.chart.getDataVisibility(i));\n }\n\n fit() {\n const opts = this.options;\n\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n\n // Take into account half font size + the yPadding of the top value\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n\n getPointLabelPosition(index) {\n const {left, top, right, bottom} = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom,\n };\n }\n\n /**\n\t * @protected\n\t */\n drawBackground() {\n const {backgroundColor, grid: {circular}} = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n\n /**\n\t * @protected\n\t */\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const {angleLines, grid, border} = opts;\n const labelCount = this._pointLabels.length;\n\n let i, offset, position;\n\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n\n if (grid.display) {\n this.ticks.forEach((tick, index) => {\n if (index !== 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const context = this.getContext(index);\n const optsAtIndex = grid.setContext(context);\n const optsAtIndexBorder = border.setContext(context);\n\n drawRadiusLine(this, optsAtIndex, offset, labelCount, optsAtIndexBorder);\n }\n });\n }\n\n if (angleLines.display) {\n ctx.save();\n\n for (i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const {color, lineWidth} = optsAtIndex;\n\n if (!lineWidth || !color) {\n continue;\n }\n\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n\n offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n\n ctx.restore();\n }\n }\n\n /**\n\t * @protected\n\t */\n drawBorder() {}\n\n /**\n\t * @protected\n\t */\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n\n if (!tickOpts.display) {\n return;\n }\n\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n\n this.ticks.forEach((tick, index) => {\n if (index === 0 && !opts.reverse) {\n return;\n }\n\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(\n -width / 2 - padding.left,\n -offset - tickFont.size / 2 - padding.top,\n width + padding.width,\n tickFont.size + padding.height\n );\n }\n\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n });\n });\n\n ctx.restore();\n }\n\n /**\n\t * @protected\n\t */\n drawTitle() {}\n}\n","import adapters from '../core/core.adapters.js';\nimport {callback as call, isFinite, isNullOrUndef, mergeIf, valueOrDefault} from '../helpers/helpers.core.js';\nimport {toRadians, isNumber, _limitValue} from '../helpers/helpers.math.js';\nimport Scale from '../core/core.scale.js';\nimport {_arrayUnique, _filterBetween, _lookup} from '../helpers/helpers.collection.js';\n\n/**\n * @typedef { import('../core/core.adapters.js').TimeUnit } Unit\n * @typedef {{common: boolean, size: number, steps?: number}} Interval\n * @typedef { import('../core/core.adapters.js').DateAdapter } DateAdapter\n */\n\n/**\n * @type {Object}\n */\nconst INTERVALS = {\n millisecond: {common: true, size: 1, steps: 1000},\n second: {common: true, size: 1000, steps: 60},\n minute: {common: true, size: 60000, steps: 60},\n hour: {common: true, size: 3600000, steps: 24},\n day: {common: true, size: 86400000, steps: 30},\n week: {common: false, size: 604800000, steps: 4},\n month: {common: true, size: 2.628e9, steps: 12},\n quarter: {common: false, size: 7.884e9, steps: 4},\n year: {common: true, size: 3.154e10}\n};\n\n/**\n * @type {Unit[]}\n */\nconst UNITS = /** @type Unit[] */ /* #__PURE__ */ (Object.keys(INTERVALS));\n\n/**\n * @param {number} a\n * @param {number} b\n */\nfunction sorter(a, b) {\n return a - b;\n}\n\n/**\n * @param {TimeScale} scale\n * @param {*} input\n * @return {number}\n */\nfunction parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n\n const adapter = scale._adapter;\n const {parser, round, isoWeekday} = scale._parseOpts;\n let value = input;\n\n if (typeof parser === 'function') {\n value = parser(value);\n }\n\n // Only parse if its not a timestamp already\n if (!isFinite(value)) {\n value = typeof parser === 'string'\n ? adapter.parse(value, /** @type {Unit} */ (parser))\n : adapter.parse(value);\n }\n\n if (value === null) {\n return null;\n }\n\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true)\n ? adapter.startOf(value, 'isoWeek', isoWeekday)\n : adapter.startOf(value, round);\n }\n\n return +value;\n}\n\n/**\n * Figures out what unit results in an appropriate number of auto-generated ticks\n * @param {Unit} minUnit\n * @param {number} min\n * @param {number} max\n * @param {number} capacity\n * @return {object}\n */\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n\n for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n\n return UNITS[ilen - 1];\n}\n\n/**\n * Figures out what unit to format a set of ticks with\n * @param {TimeScale} scale\n * @param {number} numTicks\n * @param {Unit} minUnit\n * @param {number} min\n * @param {number} max\n * @return {Unit}\n */\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\n\n/**\n * @param {Unit} unit\n * @return {object}\n */\nfunction determineMajorUnit(unit) {\n for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\n\n/**\n * @param {object} ticks\n * @param {number} time\n * @param {number[]} [timestamps] - if defined, snap to these timestamps\n */\nfunction addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const {lo, hi} = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\n\n/**\n * @param {TimeScale} scale\n * @param {object[]} ticks\n * @param {object} map\n * @param {Unit} majorUnit\n * @return {object[]}\n */\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n\n for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\n\n/**\n * @param {TimeScale} scale\n * @param {number[]} values\n * @param {Unit|undefined} [majorUnit]\n * @return {object[]}\n */\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n /** @type {Object} */\n const map = {};\n const ilen = values.length;\n let i, value;\n\n for (i = 0; i < ilen; ++i) {\n value = values[i];\n map[value] = i;\n\n ticks.push({\n value,\n major: false\n });\n }\n\n // We set the major ticks separately from the above loop because calling startOf for every tick\n // is expensive when there is a large number of ticks\n return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\n\nexport default class TimeScale extends Scale {\n\n static id = 'time';\n\n /**\n * @type {any}\n */\n static defaults = {\n /**\n * Scale boundary strategy (bypassed by min/max time options)\n * - `data`: make sure data are fully visible, ticks outside are removed\n * - `ticks`: make sure ticks are fully visible, data outside are truncated\n * @see https://github.com/chartjs/Chart.js/pull/4556\n * @since 2.7.0\n */\n bounds: 'data',\n\n adapters: {},\n time: {\n parser: false, // false == a pattern string from or a custom callback that converts its argument to a timestamp\n unit: false, // false == automatic or override with week, month, year, etc.\n round: false, // none, or override with week, month, year, etc.\n isoWeekday: false, // override week start day\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n /**\n * Ticks generation input values:\n * - 'auto': generates \"optimal\" ticks based on scale size and time options.\n * - 'data': generates ticks from data (including labels from data {t|x|y} objects).\n * - 'labels': generates ticks from user given `data.labels` values ONLY.\n * @see https://github.com/chartjs/Chart.js/pull/4507\n * @since 2.7.0\n */\n source: 'auto',\n\n callback: false,\n\n major: {\n enabled: false\n }\n }\n };\n\n /**\n\t * @param {object} props\n\t */\n constructor(props) {\n super(props);\n\n /** @type {{data: number[], labels: number[], all: number[]}} */\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n\n /** @type {Unit} */\n this._unit = 'day';\n /** @type {Unit=} */\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n\n init(scaleOpts, opts = {}) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n /** @type {DateAdapter} */\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n\n adapter.init(opts);\n\n // Backward compatibility: before introducing adapter, `displayFormats` was\n // supposed to contain *all* unit/string pairs but this can't be resolved\n // when loading the scale (adapters are loaded afterward), so let's populate\n // missing formats on update\n mergeIf(time.displayFormats, adapter.formats());\n\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n\n super.init(scaleOpts);\n\n this._normalized = opts.normalized;\n }\n\n /**\n\t * @param {*} raw\n\t * @param {number?} [index]\n\t * @return {number}\n\t */\n parse(raw, index) { // eslint-disable-line no-unused-vars\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n // eslint-disable-next-line prefer-const\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n\n /**\n\t\t * @param {object} bounds\n\t\t */\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n\n // If we have user provided `min` and `max` labels / data bounds can be ignored\n if (!minDefined || !maxDefined) {\n // Labels are always considered, when user did not force bounds\n _applyBounds(this._getLabelBounds());\n\n // If `bounds` is `'ticks'` and `ticks.source` is `'labels'`,\n // data bounds are ignored (and don't need to be determined)\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n\n min = isFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n\n // Make sure that max is strictly higher than min (required by the timeseries lookup table)\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n\n /**\n\t * @private\n\t */\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {min, max};\n }\n\n /**\n\t * @return {object[]}\n\t */\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n\n const min = this.min;\n const max = this.max;\n\n const ticks = _filterBetween(timestamps, min, max);\n\n // PRIVATE\n // determineUnitForFormatting relies on the number of ticks so we don't use it when\n // autoSkip is enabled because we don't yet know what the final number of ticks will be\n this._unit = timeOpts.unit || (tickOpts.autoSkip\n ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min))\n : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined\n : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n\n if (options.reverse) {\n ticks.reverse();\n }\n\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n\n afterAutoSkip() {\n // Offsets for bar charts need to be handled with the auto skipped\n // ticks. Once ticks have been skipped, we re-compute the offsets.\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map(tick => +tick.value));\n }\n }\n\n /**\n\t * Returns the start and end offsets from edges in the form of {start, end}\n\t * where each value is a relative width to the scale and ranges between 0 and 1.\n\t * They add extra margins on the both sides by scaling down the original scale.\n\t * Offsets are added when the `offset` option is true.\n\t * @param {number[]} timestamps\n\t * @protected\n\t */\n initOffsets(timestamps = []) {\n let start = 0;\n let end = 0;\n let first, last;\n\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n\n this._offsets = {start, end, factor: 1 / (start + 1 + end)};\n }\n\n /**\n\t * Generates a maximum of `capacity` timestamps between min and max, rounded to the\n\t * `minor` unit using the given scale time `options`.\n\t * Important: this method can return ticks outside the min and max range, it's the\n\t * responsibility of the calling code to clamp values if needed.\n\t * @private\n\t */\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n // @ts-ignore\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(options.ticks.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n\n // For 'week' unit, handle the first day of week option\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n\n // Align first ticks on unit\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n\n // Prevent browser from freezing in case user options request millions of milliseconds\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n addTick(ticks, time, timestamps);\n }\n\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n\n // @ts-ignore\n return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n }\n\n /**\n\t * @param {number} value\n\t * @return {string}\n\t */\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n\n /**\n\t * @param {number} value\n\t * @param {string|undefined} format\n\t * @return {string}\n\t */\n format(value, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const fmt = format || formats[unit];\n return this._adapter.format(value, fmt);\n }\n\n /**\n\t * Function to format an individual tick mark\n\t * @param {number} time\n\t * @param {number} index\n\t * @param {object[]} ticks\n\t * @param {string|undefined} [format]\n\t * @return {string}\n\t * @private\n\t */\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formatter = options.ticks.callback;\n\n if (formatter) {\n return call(formatter, [time, index, ticks], this);\n }\n\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n\n return this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n }\n\n /**\n\t * @param {object[]} ticks\n\t */\n generateTickLabels(ticks) {\n let i, ilen, tick;\n\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n\n /**\n\t * @param {number} value - Milliseconds since epoch (1 January 1970 00:00:00 UTC)\n\t * @return {number}\n\t */\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n\n /**\n\t * @param {number} value - Milliseconds since epoch (1 January 1970 00:00:00 UTC)\n\t * @return {number}\n\t */\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n\n /**\n\t * @param {number} pixel\n\t * @return {number}\n\t */\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n\n /**\n\t * @param {string} label\n\t * @return {{w:number, h:number}}\n\t * @private\n\t */\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n\n return {\n w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n };\n }\n\n /**\n\t * @param {number} exampleTime\n\t * @return {number}\n\t * @private\n\t */\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n\n // pick the longest format (milliseconds) for guestimation\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n // subtract 1 - if offset then there's one less label than tick\n // if not offset then one half label padding is added to each end leaving room for one less label\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n\n /**\n\t * @protected\n\t */\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n\n if (timestamps.length) {\n return timestamps;\n }\n\n const metas = this.getMatchingVisibleMetas();\n\n if (this._normalized && metas.length) {\n return (this._cache.data = metas[0].controller.getAllParsedValues(this));\n }\n\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n\n return (this._cache.data = this.normalize(timestamps));\n }\n\n /**\n\t * @protected\n\t */\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n\n if (timestamps.length) {\n return timestamps;\n }\n\n const labels = this.getLabels();\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n timestamps.push(parse(this, labels[i]));\n }\n\n return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps));\n }\n\n /**\n\t * @param {number[]} values\n\t * @protected\n\t */\n normalize(values) {\n // It seems to be somewhat faster to do sorting first\n return _arrayUnique(values.sort(sorter));\n }\n}\n","import TimeScale from './scale.time.js';\nimport {_lookupByKey} from '../helpers/helpers.collection.js';\n\n/**\n * Linearly interpolates the given source `val` using the table. If value is out of bounds, values\n * at edges are used for the interpolation.\n * @param {object} table\n * @param {number} val\n * @param {boolean} [reverse] lookup time based on position instead of vice versa\n * @return {object}\n */\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({lo, hi} = _lookupByKey(table, 'pos', val));\n }\n ({pos: prevSource, time: prevTarget} = table[lo]);\n ({pos: nextSource, time: nextTarget} = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({lo, hi} = _lookupByKey(table, 'time', val));\n }\n ({time: prevSource, pos: prevTarget} = table[lo]);\n ({time: nextSource, pos: nextTarget} = table[hi]);\n }\n\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\n\nclass TimeSeriesScale extends TimeScale {\n\n static id = 'timeseries';\n\n /**\n * @type {any}\n */\n static defaults = TimeScale.defaults;\n\n /**\n\t * @param {object} props\n\t */\n constructor(props) {\n super(props);\n\n /** @type {object[]} */\n this._table = [];\n /** @type {number} */\n this._minPos = undefined;\n /** @type {number} */\n this._tableRange = undefined;\n }\n\n /**\n\t * @protected\n\t */\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n\n /**\n\t * Returns an array of {time, pos} objects used to interpolate a specific `time` or position\n\t * (`pos`) on the scale, by searching entries before and after the requested value. `pos` is\n\t * a decimal between 0 and 1: 0 being the start of the scale (left or top) and 1 the other\n\t * extremity (left + width or top + height). Note that it would be more optimized to directly\n\t * store pre-computed pixels, but the scale dimensions are not guaranteed at the time we need\n\t * to create the lookup table. The table ALWAYS contains at least two items: min and max.\n\t * @param {number[]} timestamps\n\t * @return {object[]}\n\t * @protected\n\t */\n buildLookupTable(timestamps) {\n const {min, max} = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n\n for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n\n if (items.length < 2) {\n // In case there is less that 2 timestamps between min and max, the scale is defined by min and max\n return [\n {time: min, pos: 0},\n {time: max, pos: 1}\n ];\n }\n\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n\n // only add points that breaks the scale linearity\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({time: curr, pos: i / (ilen - 1)});\n }\n }\n return table;\n }\n\n /**\n\t * Returns all timestamps\n\t * @return {number[]}\n\t * @private\n\t */\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n\n if (timestamps.length) {\n return timestamps;\n }\n\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n // If combining labels and data (data might not contain all labels),\n // we need to recheck uniqueness and sort\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n\n return timestamps;\n }\n\n /**\n\t * @param {number} value - Milliseconds since epoch (1 January 1970 00:00:00 UTC)\n\t * @return {number}\n\t */\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n\n /**\n\t * @param {number} pixel\n\t * @return {number}\n\t */\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\n\nexport default TimeSeriesScale;\n","import parseTag from './parse-tag'\n\nconst tagRE = /<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g\nconst whitespaceRE = /^\\s*$/\n\n// re-used obj for quick lookups of components\nconst empty = Object.create(null)\n\nexport default function parse(html, options) {\n options || (options = {})\n options.components || (options.components = empty)\n const result = []\n const arr = []\n let current\n let level = -1\n let inComponent = false\n\n // handle text at top level\n if (html.indexOf('<') !== 0) {\n var end = html.indexOf('<')\n result.push({\n type: 'text',\n content: end === -1 ? html : html.substring(0, end),\n })\n }\n\n html.replace(tagRE, function (tag, index) {\n if (inComponent) {\n if (tag !== '') {\n return\n } else {\n inComponent = false\n }\n }\n const isOpen = tag.charAt(1) !== '/'\n const isComment = tag.startsWith('