{"version":3,"file":"app.js","mappings":";sQAYA,IAAIA,EAA4B,gCAAXC,OAAM,YAAAC,EAAND,UAAuBA,OAAOA,SAAWA,OAC1DA,OAAyB,gCAATE,KAAI,YAAAD,EAAJC,QAAqBA,KAAKA,OAASA,KACnDA,KAAyB,qBAAXC,EAAAA,EAAM,YAAAF,EAANE,EAAAA,KAAuBA,EAAAA,EAAOA,SAAWA,EAAAA,EACvDA,EAAAA,EACAC,KAiBJ,SAASC,EAAUC,EAAKC,EAAMC,GAC5B,IAAIC,EAAM,IAAIC,eACdD,EAAIE,KAAK,MAAOL,GAChBG,EAAIG,aAAe,OACnBH,EAAII,OAAS,WACXC,EAAOL,EAAIM,SAAUR,EAAMC,EAC7B,EACAC,EAAIO,QAAU,WACZC,QAAQC,MAAM,0BAChB,EACAT,EAAIU,MACN,CAEA,SAASC,EAAad,GACpB,IAAIG,EAAM,IAAIC,eAEdD,EAAIE,KAAK,OAAQL,GAAK,GACtB,IACEG,EAAIU,MACN,CAAE,MAAOE,GAAI,CACb,OAAOZ,EAAIa,QAAU,KAAOb,EAAIa,QAAU,GAC5C,CAGA,SAASC,EAAOC,GACd,IACEA,EAAKC,cAAc,IAAIC,WAAW,SACpC,CAAE,MAAOL,GACP,IAAIM,EAAMC,SAASC,YAAY,eAC/BF,EAAIG,eAAe,SAAS,GAAM,EAAM9B,OAAQ,EAAG,EAAG,EAAG,GACnC,IAAI,GAAO,GAAO,GAAO,EAAO,EAAG,MACzDwB,EAAKC,cAAcE,EACrB,CACF,CAKA,IAAII,EAAiBhC,EAAQiC,WAAa,YAAYC,KAAKD,UAAUE,YAAc,cAAcD,KAAKD,UAAUE,aAAe,SAASD,KAAKD,UAAUE,WAEnJpB,EAASf,EAAQe,SAEA,YAAL,oBAANd,OAAM,YAAAC,EAAND,UAAuBA,SAAWD,EACtC,WAA+B,EAGhC,aAAcoC,kBAAkBC,YAAcL,EAC/C,SAAiBM,EAAM9B,EAAMC,GAC7B,IAAI8B,EAAMvC,EAAQuC,KAAOvC,EAAQwC,UAE7BC,EAAIZ,SAASa,gBAAgB,+BAAgC,KACjElC,EAAOA,GAAQ8B,EAAK9B,MAAQ,WAE5BiC,EAAEnC,SAAWE,EACbiC,EAAEE,IAAM,WAKY,iBAATL,GAETG,EAAEG,KAAON,EACLG,EAAEI,SAAWC,SAASD,OACxBxB,EAAYoB,EAAEG,MACVtC,EAASgC,EAAM9B,EAAMC,GACrBe,EAAMiB,EAAGA,EAAEM,OAAS,UAExBvB,EAAMiB,KAIRA,EAAEG,KAAOL,EAAIS,gBAAgBV,GAC7BW,YAAW,WAAcV,EAAIW,gBAAgBT,EAAEG,KAAM,GAAG,KACxDK,YAAW,WAAczB,EAAMiB,EAAG,GAAG,GAEzC,EAGE,qBAAsBR,UACtB,SAAiBK,EAAM9B,EAAMC,GAG7B,GAFAD,EAAOA,GAAQ8B,EAAK9B,MAAQ,WAER,iBAAT8B,EACT,GAAIjB,EAAYiB,GACdhC,EAASgC,EAAM9B,EAAMC,OAChB,CACL,IAAIgC,EAAIZ,SAASsB,cAAc,KAC/BV,EAAEG,KAAON,EACTG,EAAEM,OAAS,SACXE,YAAW,WAAczB,EAAMiB,EAAG,GACpC,MAEAR,UAAUmB,iBA3GhB,SAAcd,EAAM7B,GASlB,YARoB,IAATA,EAAsBA,EAAO,CAAE4C,SAAS,GAC1B,WAAhBnD,EAAOO,KACdS,QAAQoC,KAAK,sDACb7C,EAAO,CAAE4C,SAAU5C,IAKjBA,EAAK4C,SAAW,6EAA6EnB,KAAKI,EAAKiB,MAClG,IAAIC,KAAK,CAACC,OAAOC,aAAa,OAASpB,GAAO,CAAEiB,KAAMjB,EAAKiB,OAE7DjB,CACT,CA8FiCqB,CAAIrB,EAAM7B,GAAOD,EAEhD,EAGE,SAAiB8B,EAAM9B,EAAMC,EAAMmD,GASnC,IANAA,EAAQA,GAAShD,KAAK,GAAI,aAExBgD,EAAM/B,SAASgC,MACfD,EAAM/B,SAASiC,KAAKC,UAAY,kBAGd,iBAATzB,EAAmB,OAAOhC,EAASgC,EAAM9B,EAAMC,GAE1D,IAAIuD,EAAsB,6BAAd1B,EAAKiB,KACbU,EAAW,eAAe/B,KAAKlC,EAAQkE,cAAgBlE,EAAQmE,OAC/DC,EAAc,eAAelC,KAAKD,UAAUE,WAEhD,IAAKiC,GAAgBJ,GAASC,GAAajC,IAAyC,oBAAfqC,WAA4B,CAE/F,IAAIC,EAAS,IAAID,WACjBC,EAAOC,UAAY,WACjB,IAAIhE,EAAM+D,EAAOE,OACjBjE,EAAM6D,EAAc7D,EAAMA,EAAIkE,QAAQ,eAAgB,yBAClDb,EAAOA,EAAMd,SAASF,KAAOrC,EAC5BuC,SAAWvC,EAChBqD,EAAQ,IACV,EACAU,EAAOI,cAAcpC,EACvB,KAAO,CACL,IAAIC,EAAMvC,EAAQuC,KAAOvC,EAAQwC,UAC7BjC,EAAMgC,EAAIS,gBAAgBV,GAC1BsB,EAAOA,EAAMd,SAAWvC,EACvBuC,SAASF,KAAOrC,EACrBqD,EAAQ,KACRX,YAAW,WAAcV,EAAIW,gBAAgB3C,EAAK,GAAG,IACvD,CACF,GAGFP,EAAQe,OAASA,EAAOA,OAASA,EAG/B4D,EAAOC,QAAU7D,4BCtKnB6D,EAAQ,EAAU,CAACC,EAAKC,KACpB,MAAM/B,EAAS8B,EAAIE,WAAaF,EAChC,IAAK,MAAOG,EAAKC,KAAQH,EACrB/B,EAAOiC,GAAOC,EAElB,OAAOlC,CAAM,ICRbmC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaT,QAGrB,IAAID,EAASO,EAAyBE,GAAY,CAGjDR,QAAS,CAAC,GAOX,OAHAW,EAAoBH,GAAUI,KAAKb,EAAOC,QAASD,EAAQA,EAAOC,QAASO,GAGpER,EAAOC,OACf,CCrBAO,EAAoBM,EAAI,CAACb,EAASc,KACjC,IAAI,IAAIV,KAAOU,EACXP,EAAoBQ,EAAED,EAAYV,KAASG,EAAoBQ,EAAEf,EAASI,IAC5EY,OAAOC,eAAejB,EAASI,EAAK,CAAEc,YAAY,EAAMC,IAAKL,EAAWV,IAE1E,ECNDG,EAAoBa,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAO5F,MAAQ,IAAI6F,SAAS,cAAb,EAChB,CAAE,MAAO5E,GACR,GAAsB,iBAAXrB,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBkF,EAAoBQ,EAAI,CAACQ,EAAKC,IAAUR,OAAOvD,UAAUgE,eAAeb,KAAKW,EAAKC,GCClFjB,EAAoBmB,EAAK1B,IACH,oBAAX2B,QAA0BA,OAAOC,aAC1CZ,OAAOC,eAAejB,EAAS2B,OAAOC,YAAa,CAAEC,MAAO,WAE7Db,OAAOC,eAAejB,EAAS,aAAc,CAAE6B,OAAO,GAAO,8BCL9D,SAAS,EAAQC,EAAKC,GACpB,MAAMC,EAAsBhB,OAAOiB,OAAO,MACpCC,EAAOJ,EAAIK,MAAM,KACvB,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAKG,OAAQD,IAC/BJ,EAAIE,EAAKE,KAAM,EAEjB,OAAOL,EAAoB1B,KAAU2B,EAAI3B,EAAIiC,eAAkBjC,KAAU2B,EAAI3B,EAC/E,qgGAEA,MAAMkC,EAA4E,CAAC,EAC7EC,EAA4E,GAC5E,EAAO,OAEP,EAAK,KAAM,EACXC,EAAO,YACPC,EAAQtC,GAAQqC,EAAKnF,KAAK8C,GAC1BuC,EAAmBvC,GAAQA,EAAIwC,WAAW,aAC1C,EAAS5B,OAAO6B,OAChBC,EAAS,CAACC,EAAKC,KACnB,MAAMZ,EAAIW,EAAIE,QAAQD,GAClBZ,GAAK,GACPW,EAAIG,OAAOd,EAAG,EAChB,EAEI,EAAiBpB,OAAOvD,UAAUgE,eAClC,EAAS,CAACpB,EAAKD,IAAQ,EAAeQ,KAAKP,EAAKD,GAChD,EAAU+C,MAAMC,QAChBC,EAAShD,GAA8B,iBAAtBiD,EAAajD,GAC9BkD,EAASlD,GAA8B,iBAAtBiD,EAAajD,GAC9BmD,EAAUnD,GAA8B,kBAAtBiD,EAAajD,GAE/B,EAAcA,GAAuB,mBAARA,EAC7B,EAAYA,GAAuB,iBAARA,EAC3BoD,EAAYpD,GAAuB,iBAARA,EAC3B,EAAYA,GAAgB,OAARA,GAA+B,iBAARA,EAC3CqD,EAAarD,IACT,EAASA,IAAQ,EAAWA,KAAS,EAAWA,EAAIsD,OAAS,EAAWtD,EAAIuD,OAEhFC,EAAiB7C,OAAOvD,UAAUqG,SAClCR,EAAgBzB,GAAUgC,EAAejD,KAAKiB,GAC9C,EAAaA,GACVyB,EAAazB,GAAOkC,MAAM,GAAI,GAEjCC,EAAiB3D,GAA8B,oBAAtBiD,EAAajD,GACtC4D,EAAgB7D,GAAQ,EAASA,IAAgB,QAARA,GAA4B,MAAXA,EAAI,IAAc,GAAK8D,SAAS9D,EAAK,MAAQA,EACvG+D,EAAiC,EAErC,uIAEI,EAAqC,EACzC,6EAEIC,EAAuBC,IAC3B,MAAMC,EAAwBtD,OAAOiB,OAAO,MAC5C,OAAQH,GACMwC,EAAMxC,KACHwC,EAAMxC,GAAOuC,EAAGvC,GAChC,EAEGyC,EAAa,SACbC,EAAWJ,GAAqBtC,GAC7BA,EAAIjC,QAAQ0E,GAAY,CAACE,EAAGC,IAAMA,EAAIA,EAAEC,cAAgB,OAE3DC,EAAc,aACd,EAAYR,GACftC,GAAQA,EAAIjC,QAAQ+E,EAAa,OAAOtC,gBAErC,EAAa8B,GAAqBtC,GAC/BA,EAAI+C,OAAO,GAAGF,cAAgB7C,EAAIiC,MAAM,KAE3Ce,EAAeV,GAAqBtC,GAC9BA,EAAM,KAAK,EAAWA,KAAS,KAGrCiD,EAAa,CAAClD,EAAOmD,KAAchE,OAAOiE,GAAGpD,EAAOmD,GACpDE,EAAiB,CAACC,EAAKC,KAC3B,IAAK,IAAIhD,EAAI,EAAGA,EAAI+C,EAAI9C,OAAQD,IAC9B+C,EAAI/C,GAAGgD,EACT,EAEIC,EAAM,CAAC9D,EAAKnB,EAAKyB,KACrBb,OAAOC,eAAeM,EAAKnB,EAAK,CAC9BkF,cAAc,EACdpE,YAAY,EACZW,SACA,EAEE0D,EAAiBlF,IACrB,MAAMmF,EAAIC,WAAWpF,GACrB,OAAOqF,MAAMF,GAAKnF,EAAMmF,CAAC,EAErBG,EAAYtF,IAChB,MAAMmF,EAAI,EAASnF,GAAOuF,OAAOvF,GAAOwF,IACxC,OAAOH,MAAMF,GAAKnF,EAAMmF,CAAC,EAE3B,IAAIM,EACJ,MAAMC,EAAgB,IACbD,IAAgBA,EAAoC,oBAAfzE,WAA6BA,WAA6B,oBAAT9F,KAAuBA,KAAyB,oBAAXF,OAAyBA,YAA2B,IAAX,EAAA+F,EAAyB,EAAAA,EAAS,CAAC,GA+B1M4E,EAAoC,EADlB,4MA4CxB,SAASC,EAAepE,GACtB,GAAI,EAAQA,GAAQ,CAClB,MAAMqE,EAAM,CAAC,EACb,IAAK,IAAI9D,EAAI,EAAGA,EAAIP,EAAMQ,OAAQD,IAAK,CACrC,MAAM+D,EAAOtE,EAAMO,GACbgE,EAAa,EAASD,GAAQE,EAAiBF,GAAQF,EAAeE,GAC5E,GAAIC,EACF,IAAK,MAAMhG,KAAOgG,EAChBF,EAAI9F,GAAOgG,EAAWhG,EAG5B,CACA,OAAO8F,CACT,CAAO,GAAI,EAASrE,IAAU,EAASA,GACrC,OAAOA,CAEX,CACA,MAAMyE,EAAkB,gBAClBC,EAAsB,UACtBC,EAAiB,iBACvB,SAASH,EAAiBI,GACxB,MAAMC,EAAM,CAAC,EAOb,OANAD,EAAQ5G,QAAQ2G,EAAgB,IAAIrE,MAAMmE,GAAiBK,SAASR,IAClE,GAAIA,EAAM,CACR,MAAMS,EAAMT,EAAKhE,MAAMoE,GACvBK,EAAIvE,OAAS,IAAMqE,EAAIE,EAAI,GAAGC,QAAUD,EAAI,GAAGC,OACjD,KAEKH,CACT,CAeA,SAASI,EAAejF,GACtB,IAAIqE,EAAM,GACV,GAAI,EAASrE,GACXqE,EAAMrE,OACD,GAAI,EAAQA,GACjB,IAAK,IAAIO,EAAI,EAAGA,EAAIP,EAAMQ,OAAQD,IAAK,CACrC,MAAMgE,EAAaU,EAAejF,EAAMO,IACpCgE,IACFF,GAAOE,EAAa,IAExB,MACK,GAAI,EAASvE,GAClB,IAAK,MAAMjG,KAAQiG,EACbA,EAAMjG,KACRsK,GAAOtK,EAAO,KAIpB,OAAOsK,EAAIW,MACb,CACA,SAASE,EAAe7G,GACtB,IAAKA,EACH,OAAO,KACT,IAAM8G,MAAOC,EAAK,MAAEC,GAAUhH,EAO9B,OANI+G,IAAU,EAASA,KACrB/G,EAAM8G,MAAQF,EAAeG,IAE3BC,IACFhH,EAAMgH,MAAQjB,EAAeiB,IAExBhH,CACT,CAEA,MAGM,EAA4B,EAHhB,klBAIZ,EAA2B,EAHhB,qpBAIXiH,GAA4B,EAHhB,wEAMZC,GAAuC,EADjB,+EAK5B,SAASC,GAAmBxF,GAC1B,QAASA,GAAmB,KAAVA,CACpB,CA+EA,SAASyF,GAAWzJ,EAAG0J,GACrB,GAAI1J,IAAM0J,EACR,OAAO,EACT,IAAIC,EAAahE,EAAO3F,GACpB4J,EAAajE,EAAO+D,GACxB,GAAIC,GAAcC,EAChB,SAAOD,IAAcC,IAAa5J,EAAE6J,YAAcH,EAAEG,UAItD,GAFAF,EAAa/D,EAAS5F,GACtB4J,EAAahE,EAAS8D,GAClBC,GAAcC,EAChB,OAAO5J,IAAM0J,EAIf,GAFAC,EAAa,EAAQ3J,GACrB4J,EAAa,EAAQF,GACjBC,GAAcC,EAChB,SAAOD,IAAcC,IAzBzB,SAA4B5J,EAAG0J,GAC7B,GAAI1J,EAAEwE,SAAWkF,EAAElF,OACjB,OAAO,EACT,IAAIsF,GAAQ,EACZ,IAAK,IAAIvF,EAAI,EAAGuF,GAASvF,EAAIvE,EAAEwE,OAAQD,IACrCuF,EAAQL,GAAWzJ,EAAEuE,GAAImF,EAAEnF,IAE7B,OAAOuF,CACT,CAiBsCC,CAAmB/J,EAAG0J,GAI1D,GAFAC,EAAa,EAAS3J,GACtB4J,EAAa,EAASF,GAClBC,GAAcC,EAAY,CAC5B,IAAKD,IAAeC,EAClB,OAAO,EAIT,GAFmBzG,OAAO6G,KAAKhK,GAAGwE,SACfrB,OAAO6G,KAAKN,GAAGlF,OAEhC,OAAO,EAET,IAAK,MAAMjC,KAAOvC,EAAG,CACnB,MAAMiK,EAAUjK,EAAE4D,eAAerB,GAC3B2H,EAAUR,EAAE9F,eAAerB,GACjC,GAAI0H,IAAYC,IAAYD,GAAWC,IAAYT,GAAWzJ,EAAEuC,GAAMmH,EAAEnH,IACtE,OAAO,CAEX,CACF,CACA,OAAOvB,OAAOhB,KAAOgB,OAAO0I,EAC9B,CACA,SAASS,GAAajF,EAAK1C,GACzB,OAAO0C,EAAIkF,WAAW9B,GAASmB,GAAWnB,EAAM9F,IAClD,CAEA,MAAM6H,GAAmB7H,GAChB,EAASA,GAAOA,EAAa,MAAPA,EAAc,GAAK,EAAQA,IAAQ,EAASA,KAASA,EAAIyD,WAAaD,IAAmB,EAAWxD,EAAIyD,WAAaqE,KAAKC,UAAU/H,EAAKgI,GAAU,GAAKxJ,OAAOwB,GAExLgI,GAAW,CAACC,EAAMjI,IAClBA,GAAOA,EAAIkI,UACNF,GAASC,EAAMjI,EAAIwB,OACjBwB,EAAMhD,GACR,CACL,CAAC,OAAOA,EAAImI,SAAU,IAAInI,EAAIoI,WAAWC,QAAO,CAACD,GAAUrI,EAAKuI,MAC9DF,EAAQ,GAAGrI,QAAYuI,EAChBF,IACN,CAAC,IAEGlF,EAAMlD,GACR,CACL,CAAC,OAAOA,EAAImI,SAAU,IAAInI,EAAIuI,YAEvB,EAASvI,IAAS,EAAQA,IAAS2D,EAAc3D,GAGrDA,EAFExB,OAAOwB,GC5YlB,IAAIwI,GACJ,MAAMC,GACJ,WAAAC,CAAYC,GAAW,GACrBvN,KAAKuN,SAAWA,EAIhBvN,KAAKwN,SAAU,EAIfxN,KAAKyN,QAAU,GAIfzN,KAAK0N,SAAW,GAChB1N,KAAK2N,OAASP,IACTG,GAAYH,KACfpN,KAAK4N,OAASR,GAAkBS,SAAWT,GAAkBS,OAAS,KAAKC,KACzE9N,MACE,EAER,CACA,UAAI+N,GACF,OAAO/N,KAAKwN,OACd,CACA,GAAAQ,CAAIpF,GACF,GAAI5I,KAAKwN,QAAS,CAChB,MAAMS,EAAqBb,GAC3B,IAEE,OADAA,GAAoBpN,KACb4I,GACT,CAAE,QACAwE,GAAoBa,CACtB,CACF,CAGF,CAKA,EAAAC,GACEd,GAAoBpN,IACtB,CAKA,GAAAmO,GACEf,GAAoBpN,KAAK2N,MAC3B,CACA,IAAAS,CAAKC,GACH,GAAIrO,KAAKwN,QAAS,CAChB,IAAI7G,EAAG2H,EACP,IAAK3H,EAAI,EAAG2H,EAAItO,KAAKyN,QAAQ7G,OAAQD,EAAI2H,EAAG3H,IAC1C3G,KAAKyN,QAAQ9G,GAAGyH,OAElB,IAAKzH,EAAI,EAAG2H,EAAItO,KAAK0N,SAAS9G,OAAQD,EAAI2H,EAAG3H,IAC3C3G,KAAK0N,SAAS/G,KAEhB,GAAI3G,KAAK6N,OACP,IAAKlH,EAAI,EAAG2H,EAAItO,KAAK6N,OAAOjH,OAAQD,EAAI2H,EAAG3H,IACzC3G,KAAK6N,OAAOlH,GAAGyH,MAAK,GAGxB,IAAKpO,KAAKuN,UAAYvN,KAAK2N,SAAWU,EAAY,CAChD,MAAME,EAAOvO,KAAK2N,OAAOE,OAAOW,MAC5BD,GAAQA,IAASvO,OACnBA,KAAK2N,OAAOE,OAAO7N,KAAK4N,OAASW,EACjCA,EAAKX,MAAQ5N,KAAK4N,MAEtB,CACA5N,KAAK2N,YAAS,EACd3N,KAAKwN,SAAU,CACjB,CACF,EAEF,SAASiB,GAAYlB,GACnB,OAAO,IAAIF,GAAYE,EACzB,CACA,SAASmB,GAAkBC,EAAQC,EAAQxB,IACrCwB,GAASA,EAAMb,QACjBa,EAAMnB,QAAQK,KAAKa,EAEvB,CACA,SAASE,KACP,OAAOzB,EACT,CACA,SAAS0B,GAAelG,GAClBwE,IACFA,GAAkBM,SAASI,KAAKlF,EAMpC,CAEA,MAAMmG,GAAatB,IACjB,MAAMuB,EAAM,IAAIC,IAAIxB,GAGpB,OAFAuB,EAAIE,EAAI,EACRF,EAAIjF,EAAI,EACDiF,CAAG,EAENG,GAAcH,IAASA,EAAIE,EAAIE,IAAc,EAC7CC,GAAcL,IAASA,EAAIjF,EAAIqF,IAAc,EA0B7CE,GAA4B,IAAIC,QACtC,IAAIC,GAAmB,EACnBJ,GAAa,EACjB,MAAMK,GAAgB,GACtB,IAAIC,GACJ,MAAMC,GAAczJ,OAA+D,IAC7E0J,GAAsB1J,OAAuE,IACnG,MAAM2J,GACJ,WAAAvC,CAAY1E,EAAIkH,EAAY,KAAMlB,GAChC5O,KAAK4I,GAAKA,EACV5I,KAAK8P,UAAYA,EACjB9P,KAAK+N,QAAS,EACd/N,KAAK+P,KAAO,GACZ/P,KAAK2N,YAAS,EACde,GAAkB1O,KAAM4O,EAC1B,CACA,GAAAZ,GACE,IAAKhO,KAAK+N,OACR,OAAO/N,KAAK4I,KAEd,IAAI+E,EAAS+B,GACTM,EAAkBC,GACtB,KAAOtC,GAAQ,CACb,GAAIA,IAAW3N,KACb,OAEF2N,EAASA,EAAOA,MAClB,CACA,IAUE,OATA3N,KAAK2N,OAAS+B,GACdA,GAAe1P,KACfiQ,IAAc,EACdb,GAAa,KAAOI,GAChBA,IAAoBC,GA1DP,GAAGM,WACxB,GAAIA,EAAKnJ,OACP,IAAK,IAAID,EAAI,EAAGA,EAAIoJ,EAAKnJ,OAAQD,IAC/BoJ,EAAKpJ,GAAGuI,GAAKE,EAEjB,EAsDMc,CAAelQ,MAEfmQ,GAAcnQ,MAETA,KAAK4I,IACd,CAAE,QACI4G,IAAoBC,IA1DH,CAACd,IAC1B,MAAM,KAAEoB,GAASpB,EACjB,GAAIoB,EAAKnJ,OAAQ,CACf,IAAIwJ,EAAM,EACV,IAAK,IAAIzJ,EAAI,EAAGA,EAAIoJ,EAAKnJ,OAAQD,IAAK,CACpC,MAAMqI,EAAMe,EAAKpJ,GACbwI,GAAWH,KAASK,GAAWL,GACjCA,EAAIqB,OAAO1B,GAEXoB,EAAKK,KAASpB,EAEhBA,EAAIE,IAAME,GACVJ,EAAIjF,IAAMqF,EACZ,CACAW,EAAKnJ,OAASwJ,CAChB,GA4CME,CAAmBtQ,MAErBoP,GAAa,KAAOI,GACpBE,GAAe1P,KAAK2N,OACpBsC,GAAcD,EACdhQ,KAAK2N,YAAS,EACV3N,KAAKuQ,WACPvQ,KAAKoO,MAET,CACF,CACA,IAAAA,GACMsB,KAAiB1P,KACnBA,KAAKuQ,WAAY,EACRvQ,KAAK+N,SACdoC,GAAcnQ,MACVA,KAAKwQ,QACPxQ,KAAKwQ,SAEPxQ,KAAK+N,QAAS,EAElB,EAEF,SAASoC,GAAcM,GACrB,MAAM,KAAEV,GAASU,EACjB,GAAIV,EAAKnJ,OAAQ,CACf,IAAK,IAAID,EAAI,EAAGA,EAAIoJ,EAAKnJ,OAAQD,IAC/BoJ,EAAKpJ,GAAG0J,OAAOI,GAEjBV,EAAKnJ,OAAS,CAChB,CACF,CACA,SAAS+H,GAAO/F,EAAI8H,GACd9H,EAAG+F,kBAAkBkB,KACvBjH,EAAKA,EAAG+F,OAAO/F,IAEjB,MAAM+H,EAAU,IAAId,GAAejH,GAC/B8H,IACF,EAAOC,EAASD,GACZA,EAAQ9B,OACVF,GAAkBiC,EAASD,EAAQ9B,QAElC8B,GAAYA,EAAQE,MACvBD,EAAQ3C,MAEV,MAAM6C,EAASF,EAAQ3C,IAAI8C,KAAKH,GAEhC,OADAE,EAAOlC,OAASgC,EACTE,CACT,CACA,SAASzC,GAAKyC,GACZA,EAAOlC,OAAOP,MAChB,CACA,IAAI6B,IAAc,EAClB,MAAMc,GAAa,GACnB,SAASC,KACPD,GAAWjD,KAAKmC,IAChBA,IAAc,CAChB,CAKA,SAASgB,KACP,MAAM1C,EAAOwC,GAAWvC,MACxByB,QAAuB,IAAT1B,GAAyBA,CACzC,CACA,SAAS,GAAM7L,EAAQQ,EAAMyB,GAC3B,GAAIsL,IAAeP,GAAc,CAC/B,IAAIwB,EAAU5B,GAAU5J,IAAIhD,GACvBwO,GACH5B,GAAU6B,IAAIzO,EAAQwO,EAA0B,IAAIE,KAEtD,IAAIpC,EAAMkC,EAAQxL,IAAIf,GACjBqK,GACHkC,EAAQC,IAAIxM,EAAKqK,EAAMD,MAGzBsC,GAAarC,EACf,CACF,CACA,SAASqC,GAAarC,EAAKsC,GACzB,IAAIC,GAAe,EACf/B,IAAoBC,GACjBJ,GAAWL,KACdA,EAAIjF,GAAKqF,GACTmC,GAAgBpC,GAAWH,IAG7BuC,GAAgBvC,EAAIwC,IAAI9B,IAEtB6B,IACFvC,EAAIyC,IAAI/B,IACRA,GAAaK,KAAKjC,KAAKkB,GAY3B,CACA,SAAS0C,GAAQhP,EAAQQ,EAAMyB,EAAKgN,EAAUpI,EAAUqI,GACtD,MAAMV,EAAU5B,GAAU5J,IAAIhD,GAC9B,IAAKwO,EACH,OAEF,IAAInB,EAAO,GACX,GAAa,UAAT7M,EACF6M,EAAO,IAAImB,EAAQ/D,eACd,GAAY,WAARxI,GAAoB,EAAQjC,GAAS,CAC9C,MAAMmP,EAAY1H,OAAOwH,GACzBT,EAAQhG,SAAQ,CAAC8D,EAAK8C,MACP,WAATA,IAAsB9J,EAAS8J,IAASA,GAAQD,IAClD9B,EAAKjC,KAAKkB,EACZ,GAEJ,MAIE,YAHY,IAARrK,GACFoL,EAAKjC,KAAKoD,EAAQxL,IAAIf,IAEhBzB,GACN,IAAK,MACE,EAAQR,GAKF8F,EAAa7D,IACtBoL,EAAKjC,KAAKoD,EAAQxL,IAAI,YALtBqK,EAAKjC,KAAKoD,EAAQxL,IAAIiK,KAClB/H,EAAMlF,IACRqN,EAAKjC,KAAKoD,EAAQxL,IAAIkK,MAK1B,MACF,IAAK,SACE,EAAQlN,KACXqN,EAAKjC,KAAKoD,EAAQxL,IAAIiK,KAClB/H,EAAMlF,IACRqN,EAAKjC,KAAKoD,EAAQxL,IAAIkK,MAG1B,MACF,IAAK,MACChI,EAAMlF,IACRqN,EAAKjC,KAAKoD,EAAQxL,IAAIiK,KAM9B,GAAoB,IAAhBI,EAAKnJ,OACHmJ,EAAK,IAILgC,GAAehC,EAAK,QAGnB,CACL,MAAMtC,EAAU,GAChB,IAAK,MAAMuB,KAAOe,EACZf,GACFvB,EAAQK,QAAQkB,GAMlB+C,GAAehD,GAAUtB,GAE7B,CACF,CACA,SAASsE,GAAe/C,EAAKsC,GAC3B,MAAM7D,EAAU,EAAQuB,GAAOA,EAAM,IAAIA,GACzC,IAAK,MAAMyB,KAAWhD,EAChBgD,EAAQuB,UACVC,GAAcxB,GAGlB,IAAK,MAAMA,KAAWhD,EACfgD,EAAQuB,UACXC,GAAcxB,EAGpB,CACA,SAASwB,GAAcxB,EAASa,IAC1Bb,IAAYf,IAAgBe,EAAQyB,gBAIlCzB,EAAQX,UACVW,EAAQX,YAERW,EAAQzC,MAGd,CAMA,MAAMmE,GAAqC,EAAQ,+BAC7CC,GAAiB,IAAInD,IACT1J,OAAO8M,oBAAoBnM,QAAQoM,QAAQ3N,GAAgB,cAARA,GAA+B,WAARA,IAAkB4B,KAAK5B,GAAQuB,OAAOvB,KAAM2N,OAAOtK,IAEzIuK,GAAwCC,KAC9C,SAASA,KACP,MAAMC,EAAmB,CAAC,EAuB1B,MAtBA,CAAC,WAAY,UAAW,eAAevH,SAASvG,IAC9C8N,EAAiB9N,GAAO,YAAY+N,GAClC,MAAMpL,EAAM,GAAMtH,MAClB,IAAK,IAAI2G,EAAI,EAAG2H,EAAItO,KAAK4G,OAAQD,EAAI2H,EAAG3H,IACtC,GAAMW,EAAK,EAAOX,EAAI,IAExB,MAAM8D,EAAMnD,EAAI3C,MAAQ+N,GACxB,OAAa,IAATjI,IAAsB,IAARA,EACTnD,EAAI3C,MAAQ+N,EAAKnM,IAAI,KAErBkE,CAEX,CAAC,IAEH,CAAC,OAAQ,MAAO,QAAS,UAAW,UAAUS,SAASvG,IACrD8N,EAAiB9N,GAAO,YAAY+N,GAClC1B,KACA,MAAMvG,EAAM,GAAMzK,MAAM2E,GAAKgO,MAAM3S,KAAM0S,GAEzC,OADAzB,KACOxG,CACT,CAAC,IAEIgI,CACT,CACA,SAAS,GAAe9N,GACtB,MAAMmB,EAAM,GAAM9F,MAElB,OADA,GAAM8F,EAAK,EAAOnB,GACXmB,EAAIE,eAAerB,EAC5B,CACA,MAAMiO,GACJ,WAAAtF,CAAYuF,GAAc,EAAOC,GAAW,GAC1C9S,KAAK6S,YAAcA,EACnB7S,KAAK8S,SAAWA,CAClB,CACA,GAAApN,CAAIhD,EAAQiC,EAAKoO,GACf,MAAMC,EAAchT,KAAK6S,YAAaI,EAAUjT,KAAK8S,SACrD,GAAY,mBAARnO,EACF,OAAQqO,EACH,GAAY,mBAARrO,EACT,OAAOqO,EACF,GAAY,kBAARrO,EACT,OAAOsO,EACF,GAAY,YAARtO,GAAqBoO,KAAcC,EAAcC,EAAUC,GAAqBC,GAAcF,EAAUG,GAAqBC,IAAa3N,IAAIhD,GACvJ,OAAOA,EAET,MAAM4Q,EAAgB,EAAQ5Q,GAC9B,IAAKsQ,EAAa,CAChB,GAAIM,GAAiB,EAAOf,GAAuB5N,GACjD,OAAO4O,QAAQ7N,IAAI6M,GAAuB5N,EAAKoO,GAEjD,GAAY,mBAARpO,EACF,OAAO,EAEX,CACA,MAAM8F,EAAM8I,QAAQ7N,IAAIhD,EAAQiC,EAAKoO,GACrC,OAAI/K,EAASrD,GAAOyN,GAAeZ,IAAI7M,GAAOwN,GAAmBxN,IACxD8F,GAEJuI,GACH,GAAMtQ,EAAQ,EAAOiC,GAEnBsO,EACKxI,EAEL,GAAMA,GACD6I,GAAiB9K,EAAa7D,GAAO8F,EAAMA,EAAIrE,MAEpD,EAASqE,GACJuI,EAAcQ,GAAS/I,GAAO,GAASA,GAEzCA,EACT,EAEF,MAAMgJ,WAA+Bb,GACnC,WAAAtF,CAAY2F,GAAU,GACpBS,OAAM,EAAOT,EACf,CACA,GAAA9B,CAAIzO,EAAQiC,EAAKyB,EAAO2M,GACtB,IAAIxJ,EAAW7G,EAAOiC,GACtB,GAAIgP,GAAWpK,IAAa,GAAMA,KAAc,GAAMnD,GACpD,OAAO,EAET,IAAKpG,KAAK8S,WACHc,GAAUxN,IAAWuN,GAAWvN,KACnCmD,EAAW,GAAMA,GACjBnD,EAAQ,GAAMA,KAEX,EAAQ1D,IAAW,GAAM6G,KAAc,GAAMnD,IAEhD,OADAmD,EAASnD,MAAQA,GACV,EAGX,MAAMyN,EAAS,EAAQnR,IAAW8F,EAAa7D,GAAOwF,OAAOxF,GAAOjC,EAAOkE,OAAS,EAAOlE,EAAQiC,GAC7FR,EAASoP,QAAQpC,IAAIzO,EAAQiC,EAAKyB,EAAO2M,GAQ/C,OAPIrQ,IAAW,GAAMqQ,KACdc,EAEMvK,EAAWlD,EAAOmD,IAC3BmI,GAAQhP,EAAQ,MAAOiC,EAAKyB,GAF5BsL,GAAQhP,EAAQ,MAAOiC,EAAKyB,IAKzBjC,CACT,CACA,cAAA2P,CAAepR,EAAQiC,GACrB,MAAMkP,EAAS,EAAOnR,EAAQiC,GAExBR,GADWzB,EAAOiC,GACT4O,QAAQO,eAAepR,EAAQiC,IAI9C,OAHIR,GAAU0P,GACZnC,GAAQhP,EAAQ,SAAUiC,OAAK,GAE1BR,CACT,CACA,GAAAqN,CAAI9O,EAAQiC,GACV,MAAMR,EAASoP,QAAQ/B,IAAI9O,EAAQiC,GAInC,OAHKqD,EAASrD,IAASyN,GAAeZ,IAAI7M,IACxC,GAAMjC,EAAQ,EAAOiC,GAEhBR,CACT,CACA,OAAA4P,CAAQrR,GAMN,OALA,GACEA,EACA,EACA,EAAQA,GAAU,SAAWiN,IAExB4D,QAAQQ,QAAQrR,EACzB,EAEF,MAAMsR,WAAgCpB,GACpC,WAAAtF,CAAY2F,GAAU,GACpBS,OAAM,EAAMT,EACd,CACA,GAAA9B,CAAIzO,EAAQiC,GAOV,OAAO,CACT,CACA,cAAAmP,CAAepR,EAAQiC,GAOrB,OAAO,CACT,EAEF,MAAMsP,GAAkC,IAAIR,GACtCS,GAAmC,IAAIF,GACvCG,GAA0C,IAAIV,IAClD,GAEIW,GAA0C,IAAIJ,IAAwB,GAEtEK,GAAajO,GAAUA,EACvBkO,GAAYC,GAAMhB,QAAQiB,eAAeD,GAC/C,SAAS7O,GAAIhD,EAAQiC,EAAKgP,GAAa,EAAOC,GAAY,GAExD,MAAMa,EAAY,GADlB/R,EAASA,EAAgB,SAEnBgS,EAAS,GAAM/P,GAChBgP,IACCrK,EAAW3E,EAAK+P,IAClB,GAAMD,EAAW,EAAO9P,GAE1B,GAAM8P,EAAW,EAAOC,IAE1B,MAAQlD,IAAKmD,GAASL,GAASG,GACzBG,EAAOhB,EAAYS,GAAYV,EAAakB,GAAaC,GAC/D,OAAIH,EAAKxP,KAAKsP,EAAW9P,GAChBiQ,EAAKlS,EAAOgD,IAAIf,IACdgQ,EAAKxP,KAAKsP,EAAWC,GACvBE,EAAKlS,EAAOgD,IAAIgP,SACdhS,IAAW+R,GACpB/R,EAAOgD,IAAIf,GAEf,CACA,SAAS6M,GAAI7M,EAAKgP,GAAa,GAC7B,MAAMjR,EAAS1C,KAAc,QACvByU,EAAY,GAAM/R,GAClBgS,EAAS,GAAM/P,GAOrB,OANKgP,IACCrK,EAAW3E,EAAK+P,IAClB,GAAMD,EAAW,EAAO9P,GAE1B,GAAM8P,EAAW,EAAOC,IAEnB/P,IAAQ+P,EAAShS,EAAO8O,IAAI7M,GAAOjC,EAAO8O,IAAI7M,IAAQjC,EAAO8O,IAAIkD,EAC1E,CACA,SAAS3H,GAAKrK,EAAQiR,GAAa,GAGjC,OAFAjR,EAASA,EAAgB,SACxBiR,GAAc,GAAM,GAAMjR,GAAS,EAAWiN,IACxC4D,QAAQ7N,IAAIhD,EAAQ,OAAQA,EACrC,CACA,SAAS+O,GAAIrL,GACXA,EAAQ,GAAMA,GACd,MAAM1D,EAAS,GAAM1C,MAOrB,OANcsU,GAAS5R,GACF8O,IAAIrM,KAAKzC,EAAQ0D,KAEpC1D,EAAO+O,IAAIrL,GACXsL,GAAQhP,EAAQ,MAAO0D,EAAOA,IAEzBpG,IACT,CACA,SAASmR,GAAIxM,EAAKyB,GAChBA,EAAQ,GAAMA,GACd,MAAM1D,EAAS,GAAM1C,OACbwR,IAAKmD,EAAMjP,IAAKqP,GAAST,GAAS5R,GAC1C,IAAImR,EAASc,EAAKxP,KAAKzC,EAAQiC,GAC1BkP,IACHlP,EAAM,GAAMA,GACZkP,EAASc,EAAKxP,KAAKzC,EAAQiC,IAI7B,MAAM4E,EAAWwL,EAAK5P,KAAKzC,EAAQiC,GAOnC,OANAjC,EAAOyO,IAAIxM,EAAKyB,GACXyN,EAEMvK,EAAWlD,EAAOmD,IAC3BmI,GAAQhP,EAAQ,MAAOiC,EAAKyB,GAF5BsL,GAAQhP,EAAQ,MAAOiC,EAAKyB,GAIvBpG,IACT,CACA,SAASgV,GAAYrQ,GACnB,MAAMjC,EAAS,GAAM1C,OACbwR,IAAKmD,EAAMjP,IAAKqP,GAAST,GAAS5R,GAC1C,IAAImR,EAASc,EAAKxP,KAAKzC,EAAQiC,GAC1BkP,IACHlP,EAAM,GAAMA,GACZkP,EAASc,EAAKxP,KAAKzC,EAAQiC,IAIZoQ,GAAOA,EAAK5P,KAAKzC,EAAQiC,GAA1C,MACMR,EAASzB,EAAO2N,OAAO1L,GAI7B,OAHIkP,GACFnC,GAAQhP,EAAQ,SAAUiC,OAAK,GAE1BR,CACT,CACA,SAAS8Q,KACP,MAAMvS,EAAS,GAAM1C,MACfkV,EAA2B,IAAhBxS,EAAOqK,KAElB5I,EAASzB,EAAOuS,QAItB,OAHIC,GACFxD,GAAQhP,EAAQ,aAAS,OAAQ,GAE5ByB,CACT,CACA,SAASgR,GAAcxB,EAAYC,GACjC,OAAO,SAAiBwB,EAAUC,GAChC,MAAMC,EAAWtV,KACX0C,EAAS4S,EAAkB,QAC3Bb,EAAY,GAAM/R,GAClBkS,EAAOhB,EAAYS,GAAYV,EAAakB,GAAaC,GAE/D,OADCnB,GAAc,GAAMc,EAAW,EAAW9E,IACpCjN,EAAOwI,SAAQ,CAAC9E,EAAOzB,IACrByQ,EAASjQ,KAAKkQ,EAAST,EAAKxO,GAAQwO,EAAKjQ,GAAM2Q,IAE1D,CACF,CACA,SAASC,GAAqBC,EAAQ7B,EAAYC,GAChD,OAAO,YAAYlB,GACjB,MAAMhQ,EAAS1C,KAAc,QACvByU,EAAY,GAAM/R,GAClB+S,EAAc7N,EAAM6M,GACpBiB,EAAoB,YAAXF,GAAwBA,IAAWtP,OAAOyP,UAAYF,EAC/DG,EAAuB,SAAXJ,GAAqBC,EACjCI,EAAgBnT,EAAO8S,MAAW9C,GAClCkC,EAAOhB,EAAYS,GAAYV,EAAakB,GAAaC,GAM/D,OALCnB,GAAc,GACbc,EACA,EACAmB,EAAYhG,GAAsBD,IAE7B,CAEL,IAAAmG,GACE,MAAM,MAAE1P,EAAK,KAAE2P,GAASF,EAAcC,OACtC,OAAOC,EAAO,CAAE3P,QAAO2P,QAAS,CAC9B3P,MAAOsP,EAAS,CAACd,EAAKxO,EAAM,IAAKwO,EAAKxO,EAAM,KAAOwO,EAAKxO,GACxD2P,OAEJ,EAEA,CAAC7P,OAAOyP,YACN,OAAO3V,IACT,EAEJ,CACF,CACA,SAASgW,GAAqB9S,GAC5B,OAAO,YAAYwP,GAQjB,MAAgB,WAATxP,GAA4BlD,IACrC,CACF,CACA,SAASiW,KACP,MAAMC,EAA2B,CAC/B,GAAAxQ,CAAIf,GACF,OAAOe,GAAI1F,KAAM2E,EACnB,EACA,QAAIoI,GACF,OAAOA,GAAK/M,KACd,EACAwR,OACAC,OACAN,OACAd,OAAQ2E,GACRC,SACA/J,QAASiK,IAAc,GAAO,IAE1BgB,EAA2B,CAC/B,GAAAzQ,CAAIf,GACF,OAAOe,GAAI1F,KAAM2E,GAAK,GAAO,EAC/B,EACA,QAAIoI,GACF,OAAOA,GAAK/M,KACd,EACAwR,OACAC,OACAN,OACAd,OAAQ2E,GACRC,SACA/J,QAASiK,IAAc,GAAO,IAE1BiB,EAA4B,CAChC,GAAA1Q,CAAIf,GACF,OAAOe,GAAI1F,KAAM2E,GAAK,EACxB,EACA,QAAIoI,GACF,OAAOA,GAAK/M,MAAM,EACpB,EACA,GAAAwR,CAAI7M,GACF,OAAO6M,GAAIrM,KAAKnF,KAAM2E,GAAK,EAC7B,EACA8M,IAAKuE,GAAqB,OAC1B7E,IAAK6E,GAAqB,OAC1B3F,OAAQ2F,GAAqB,UAC7Bf,MAAOe,GAAqB,SAC5B9K,QAASiK,IAAc,GAAM,IAEzBkB,EAAmC,CACvC,GAAA3Q,CAAIf,GACF,OAAOe,GAAI1F,KAAM2E,GAAK,GAAM,EAC9B,EACA,QAAIoI,GACF,OAAOA,GAAK/M,MAAM,EACpB,EACA,GAAAwR,CAAI7M,GACF,OAAO6M,GAAIrM,KAAKnF,KAAM2E,GAAK,EAC7B,EACA8M,IAAKuE,GAAqB,OAC1B7E,IAAK6E,GAAqB,OAC1B3F,OAAQ2F,GAAqB,UAC7Bf,MAAOe,GAAqB,SAC5B9K,QAASiK,IAAc,GAAM,IAyB/B,MAvBwB,CAAC,OAAQ,SAAU,UAAWjP,OAAOyP,UAC7CzK,SAASsK,IACvBU,EAAyBV,GAAUD,GACjCC,GACA,GACA,GAEFY,EAA0BZ,GAAUD,GAClCC,GACA,GACA,GAEFW,EAAyBX,GAAUD,GACjCC,GACA,GACA,GAEFa,EAAiCb,GAAUD,GACzCC,GACA,GACA,EACD,IAEI,CACLU,EACAE,EACAD,EACAE,EAEJ,CACA,MACEC,GACAC,GACAC,GACAC,IACkBR,KACpB,SAASS,GAA4B/C,EAAYV,GAC/C,MAAMR,EAAmBQ,EAAUU,EAAa8C,GAAkCD,GAA0B7C,EAAa4C,GAA2BD,GACpJ,MAAO,CAAC5T,EAAQiC,EAAKoO,IACP,mBAARpO,GACMgP,EACS,mBAARhP,EACFgP,EACU,YAARhP,EACFjC,EAEF6Q,QAAQ7N,IACb,EAAO+M,EAAkB9N,IAAQA,KAAOjC,EAAS+P,EAAmB/P,EACpEiC,EACAoO,EAGN,CACA,MAAM4D,GAA4B,CAChCjR,IAAqBgR,IAA4B,GAAO,IAEpDE,GAA4B,CAChClR,IAAqBgR,IAA4B,GAAO,IAEpDG,GAA6B,CACjCnR,IAAqBgR,IAA4B,GAAM,IAEnDI,GAAoC,CACxCpR,IAAqBgR,IAA4B,GAAM,IAYnDrD,GAA8B,IAAI9D,QAClC6D,GAAqC,IAAI7D,QACzC4D,GAA8B,IAAI5D,QAClC2D,GAAqC,IAAI3D,QAkB/C,SAAS,GAAS7M,GAChB,OAAIiR,GAAWjR,GACNA,EAEFqU,GACLrU,GACA,EACAuR,GACA0C,GACAtD,GAEJ,CACA,SAAS2D,GAAgBtU,GACvB,OAAOqU,GACLrU,GACA,EACAyR,GACAyC,GACAxD,GAEJ,CACA,SAASI,GAAS9Q,GAChB,OAAOqU,GACLrU,GACA,EACAwR,GACA2C,GACA1D,GAEJ,CACA,SAAS8D,GAAgBvU,GACvB,OAAOqU,GACLrU,GACA,EACA0R,GACA0C,GACA5D,GAEJ,CACA,SAAS6D,GAAqBrU,EAAQsQ,EAAakE,EAAcC,EAAoBC,GACnF,IAAK,EAAS1U,GAIZ,OAAOA,EAET,GAAIA,EAAgB,WAAOsQ,IAAetQ,EAAuB,gBAC/D,OAAOA,EAET,MAAM2U,EAAgBD,EAAS1R,IAAIhD,GACnC,GAAI2U,EACF,OAAOA,EAET,MAAMC,GAxDelR,EAwDY1D,GAvDV,WAAM6C,OAAOgS,aAAanR,GAAS,EAf5D,SAAuBoR,GACrB,OAAQA,GACN,IAAK,SACL,IAAK,QACH,OAAO,EACT,IAAK,MACL,IAAK,MACL,IAAK,UACL,IAAK,UACH,OAAO,EACT,QACE,OAAO,EAEb,CAE8EC,CAAc,EAAUrR,IADtG,IAAuBA,EAyDrB,GAAmB,IAAfkR,EACF,OAAO5U,EAET,MAAMgV,EAAQ,IAAIC,MAChBjV,EACe,IAAf4U,EAAoCH,EAAqBD,GAG3D,OADAE,EAASjG,IAAIzO,EAAQgV,GACdA,CACT,CACA,SAASE,GAAWxR,GAClB,OAAIuN,GAAWvN,GACNwR,GAAWxR,EAAe,YAEzBA,IAASA,EAAsB,eAC3C,CACA,SAASuN,GAAWvN,GAClB,SAAUA,IAASA,EAAsB,eAC3C,CACA,SAASwN,GAAUxN,GACjB,SAAUA,IAASA,EAAqB,cAC1C,CACA,SAASyR,GAAQzR,GACf,OAAOwR,GAAWxR,IAAUuN,GAAWvN,EACzC,CACA,SAAS,GAAMkP,GACb,MAAMwC,EAAMxC,GAAYA,EAAkB,QAC1C,OAAOwC,EAAM,GAAMA,GAAOxC,CAC5B,CACA,SAASyC,GAAQ3R,GAEf,OADAwD,EAAIxD,EAAO,YAAY,GAChBA,CACT,CACA,MAAM0O,GAAc1O,GAAU,EAASA,GAAS,GAASA,GAASA,EAC5DyO,GAAczO,GAAU,EAASA,GAASoN,GAASpN,GAASA,EAElE,SAAS4R,GAAcC,GACjBhI,IAAeP,IASf2B,IARF4G,EAAO,GAAMA,IAQOjJ,MAAQiJ,EAAKjJ,IAAMD,MAG3C,CACA,SAASmJ,GAAgBD,EAAME,GAE7B,MAAMnJ,GADNiJ,EAAO,GAAMA,IACIjJ,IACbA,GASA+C,GAAe/C,EAGrB,CACA,SAAS,GAAM/I,GACb,SAAUA,IAAqB,IAAhBA,EAAE6G,UACnB,CACA,SAASsL,GAAIhS,GACX,OAAOiS,GAAUjS,GAAO,EAC1B,CACA,SAASkS,GAAWlS,GAClB,OAAOiS,GAAUjS,GAAO,EAC1B,CACA,SAASiS,GAAUE,EAAUtF,GAC3B,OAAI,GAAMsF,GACDA,EAEF,IAAIC,GAAQD,EAAUtF,EAC/B,CACA,MAAMuF,GACJ,WAAAlL,CAAYlH,EAAOqS,GACjBzY,KAAKyY,cAAgBA,EACrBzY,KAAKgP,SAAM,EACXhP,KAAK8M,WAAY,EACjB9M,KAAK0Y,UAAYD,EAAgBrS,EAAQ,GAAMA,GAC/CpG,KAAK2Y,OAASF,EAAgBrS,EAAQ0O,GAAW1O,EACnD,CACA,SAAIA,GAEF,OADA4R,GAAchY,MACPA,KAAK2Y,MACd,CACA,SAAIvS,CAAM+R,GACR,MAAMS,EAAiB5Y,KAAKyY,eAAiB7E,GAAUuE,IAAWxE,GAAWwE,GAC7EA,EAASS,EAAiBT,EAAS,GAAMA,GACrC7O,EAAW6O,EAAQnY,KAAK0Y,aAC1B1Y,KAAK0Y,UAAYP,EACjBnY,KAAK2Y,OAASC,EAAiBT,EAASrD,GAAWqD,GACnDD,GAAgBlY,MAEpB,EAEF,SAAS6Y,GAAWZ,GAClBC,GAAgBD,EAClB,CACA,SAASa,GAAMb,GACb,OAAO,GAAMA,GAAQA,EAAK7R,MAAQ6R,CACpC,CACA,SAASc,GAAQC,GACf,OAAO,EAAWA,GAAUA,IAAWF,GAAME,EAC/C,CACA,MAAMC,GAAwB,CAC5BvT,IAAK,CAAChD,EAAQiC,EAAKoO,IAAa+F,GAAMvF,QAAQ7N,IAAIhD,EAAQiC,EAAKoO,IAC/D5B,IAAK,CAACzO,EAAQiC,EAAKyB,EAAO2M,KACxB,MAAMxJ,EAAW7G,EAAOiC,GACxB,OAAI,GAAM4E,KAAc,GAAMnD,IAC5BmD,EAASnD,MAAQA,GACV,GAEAmN,QAAQpC,IAAIzO,EAAQiC,EAAKyB,EAAO2M,EACzC,GAGJ,SAASmG,GAAUC,GACjB,OAAOvB,GAAWuB,GAAkBA,EAAiB,IAAIxB,MAAMwB,EAAgBF,GACjF,CACA,MAAMG,GACJ,WAAA9L,CAAY+L,GACVrZ,KAAKgP,SAAM,EACXhP,KAAK8M,WAAY,EACjB,MAAM,IAAEpH,EAAG,IAAEyL,GAAQkI,GACnB,IAAMrB,GAAchY,QACpB,IAAMkY,GAAgBlY,QAExBA,KAAKsZ,KAAO5T,EACZ1F,KAAKuZ,KAAOpI,CACd,CACA,SAAI/K,GACF,OAAOpG,KAAKsZ,MACd,CACA,SAAIlT,CAAM+R,GACRnY,KAAKuZ,KAAKpB,EACZ,EAEF,SAASqB,GAAUH,GACjB,OAAO,IAAID,GAAcC,EAC3B,CACA,SAASI,GAAOC,GAId,MAAMzO,EAAM,EAAQyO,GAAU,IAAIhS,MAAMgS,EAAO9S,QAAU,CAAC,EAC1D,IAAK,MAAMjC,KAAO+U,EAChBzO,EAAItG,GAAOgV,GAAcD,EAAQ/U,GAEnC,OAAOsG,CACT,CACA,MAAM2O,GACJ,WAAAtM,CAAYuM,EAAShN,EAAMiN,GACzB9Z,KAAK6Z,QAAUA,EACf7Z,KAAK6M,KAAOA,EACZ7M,KAAK8Z,cAAgBA,EACrB9Z,KAAK8M,WAAY,CACnB,CACA,SAAI1G,GACF,MAAMxB,EAAM5E,KAAK6Z,QAAQ7Z,KAAK6M,MAC9B,YAAe,IAARjI,EAAiB5E,KAAK8Z,cAAgBlV,CAC/C,CACA,SAAIwB,CAAM+R,GACRnY,KAAK6Z,QAAQ7Z,KAAK6M,MAAQsL,CAC5B,CACA,OAAInJ,GACF,OAjsBwB0K,EAisBE,GAAM1Z,KAAK6Z,SAjsBLlV,EAisBe3E,KAAK6M,KA/rBf,OAA/BkN,EAAKzK,GAAU5J,IAAIgU,SAAmB,EAASK,EAAGrU,IAAIf,GAFhE,IAA4B+U,EAAQ/U,EAC9BoV,CAisBJ,EAEF,MAAMC,GACJ,WAAA1M,CAAY2M,GACVja,KAAKia,QAAUA,EACfja,KAAK8M,WAAY,EACjB9M,KAAKka,gBAAiB,CACxB,CACA,SAAI9T,GACF,OAAOpG,KAAKia,SACd,EAEF,SAASE,GAAMnB,EAAQrU,EAAKyV,GAC1B,OAAI,GAAMpB,GACDA,EACE,EAAWA,GACb,IAAIgB,GAAchB,GAChB,EAASA,IAAWqB,UAAUzT,OAAS,EACzC+S,GAAcX,EAAQrU,EAAKyV,GAE3BhC,GAAIY,EAEf,CACA,SAASW,GAAcX,EAAQrU,EAAKyV,GAClC,MAAMxV,EAAMoU,EAAOrU,GACnB,OAAO,GAAMC,GAAOA,EAAM,IAAIgV,GAAcZ,EAAQrU,EAAKyV,EAC3D,CAEA,MAAME,GACJ,WAAAhN,CAAYiN,EAAQC,EAAS7G,EAAY8G,GACvCza,KAAKwa,QAAUA,EACfxa,KAAKgP,SAAM,EACXhP,KAAK8M,WAAY,EACjB9M,KAAqB,gBAAI,EACzBA,KAAK0a,QAAS,EACd1a,KAAK2O,OAAS,IAAIkB,GAAe0K,GAAQ,KAClCva,KAAK0a,SACR1a,KAAK0a,QAAS,EACdxC,GAAgBlY,MAClB,IAEFA,KAAK2O,OAAOqD,SAAWhS,KACvBA,KAAK2O,OAAOZ,OAAS/N,KAAK2a,YAAcF,EACxCza,KAAqB,eAAI2T,CAC3B,CACA,SAAIvN,GACF,MAAMtG,EAAO,GAAME,MAMnB,OALAgY,GAAclY,IACVA,EAAK4a,QAAW5a,EAAK6a,aACvB7a,EAAK4a,QAAS,EACd5a,EAAK6Y,OAAS7Y,EAAK6O,OAAOX,OAErBlO,EAAK6Y,MACd,CACA,SAAIvS,CAAMuL,GACR3R,KAAKwa,QAAQ7I,EACf,ECxmCF,SAAS,GAAKiJ,KAAQlI,GA+BtB,CAoEA,SAASmI,GAAajW,EAAK1B,GAU3B,CAiCA,SAAS4X,GAAsBlS,EAAImS,EAAU7X,EAAMwP,GACjD,IAAIjI,EACJ,IACEA,EAAMiI,EAAO9J,KAAM8J,GAAQ9J,GAC7B,CAAE,MAAOoS,GACPC,GAAYD,EAAKD,EAAU7X,EAC7B,CACA,OAAOuH,CACT,CACA,SAASyQ,GAA2BtS,EAAImS,EAAU7X,EAAMwP,GACtD,GAAI,EAAW9J,GAAK,CAClB,MAAM6B,EAAMqQ,GAAsBlS,EAAImS,EAAU7X,EAAMwP,GAMtD,OALIjI,GAAOxC,EAAUwC,IACnBA,EAAItC,OAAO6S,IACTC,GAAYD,EAAKD,EAAU7X,EAAK,IAG7BuH,CACT,CACA,MAAM0C,EAAS,GACf,IAAK,IAAIxG,EAAI,EAAGA,EAAIiC,EAAGhC,OAAQD,IAC7BwG,EAAOW,KAAKoN,GAA2BtS,EAAGjC,GAAIoU,EAAU7X,EAAMwP,IAEhE,OAAOvF,CACT,CACA,SAAS8N,GAAYD,EAAKD,EAAU7X,EAAMiY,GAAa,GAErD,GADqBJ,GAAWA,EAASK,MACrCL,EAAU,CACZ,IAAIM,EAAMN,EAASpN,OACnB,MAAM2N,EAAkBP,EAASrD,MAC3B6D,EAAiFrY,EACvF,KAAOmY,GAAK,CACV,MAAMG,EAAqBH,EAAII,GAC/B,GAAID,EACF,IAAK,IAAI7U,EAAI,EAAGA,EAAI6U,EAAmB5U,OAAQD,IAC7C,IAA+D,IAA3D6U,EAAmB7U,GAAGqU,EAAKM,EAAiBC,GAC9C,OAINF,EAAMA,EAAI1N,MACZ,CACA,MAAM+N,EAAkBX,EAASY,WAAWC,OAAOC,aACnD,GAAIH,EAOF,YANAZ,GACEY,EACA,KACA,GACA,CAACV,EAAKM,EAAiBC,GAI7B,EAGF,SAAkBP,GAgBdna,QAAQC,MAAMka,EAElB,CApBEc,CAASd,EACX,CAqBA,IAAIe,IAAa,EACbC,IAAiB,EACrB,MAAM,GAAQ,GACd,IAAIC,GAAa,EACjB,MAAMC,GAAsB,GAC5B,IAAIC,GAAqB,KACrBC,GAAiB,EACrB,MAAMC,GAAkCC,QAAQC,UAChD,IAAIC,GAAsB,KAE1B,SAASC,GAAS7T,GAChB,MAAM8T,EAAIF,IAAuBH,GACjC,OAAOzT,EAAK8T,EAAExU,KAAKlI,KAAO4I,EAAGkI,KAAK9Q,MAAQ4I,GAAM8T,CAClD,CAgBA,SAASC,GAASC,GACX,GAAMhW,QAAW,GAAMiW,SAC1BD,EACAb,IAAca,EAAI1K,aAAe+J,GAAa,EAAIA,MAEpC,MAAVW,EAAIE,GACN,GAAMhP,KAAK8O,GAEX,GAAMnV,OAvBZ,SAA4BqV,GAC1B,IAAIC,EAAQd,GAAa,EACrBe,EAAM,GAAMpW,OAChB,KAAOmW,EAAQC,GAAK,CAClB,MAAMC,EAASF,EAAQC,IAAQ,EACzBE,EAAY,GAAMD,GAClBE,EAAcC,GAAMF,GACtBC,EAAcL,GAAMK,IAAgBL,GAAMI,EAAUG,IACtDN,EAAQE,EAAS,EAEjBD,EAAMC,CAEV,CACA,OAAOF,CACT,CASmBO,CAAmBV,EAAIE,IAAK,EAAGF,GAE9CW,KAEJ,CACA,SAASA,KACFxB,IAAeC,KAClBA,IAAiB,EACjBQ,GAAsBH,GAAgBnU,KAAKsV,IAE/C,CAOA,SAASC,GAAiBC,GACnB,EAAQA,GAQXxB,GAAoBpO,QAAQ4P,GAPvBvB,IAAuBA,GAAmBU,SAC7Ca,EACAA,EAAGxL,aAAekK,GAAiB,EAAIA,KAEvCF,GAAoBpO,KAAK4P,GAK7BH,IACF,CACA,SAASI,GAAiBC,EAAMjX,GAAIoV,GAAaE,GAAa,EAAI,IAIhE,KAAOtV,EAAI,GAAMC,OAAQD,IAAK,CAC5B,MAAM+W,EAAK,GAAM/W,GACb+W,GAAMA,EAAGL,MAIX,GAAM5V,OAAOd,EAAG,GAChBA,IACA+W,IAEJ,CACF,CACA,SAASG,GAAkBD,GACzB,GAAI1B,GAAoBtV,OAAQ,CAC9B,MAAMkX,EAAU,IAAI,IAAI7O,IAAIiN,KAE5B,GADAA,GAAoBtV,OAAS,EACzBuV,GAEF,YADAA,GAAmBrO,QAAQgQ,GAQ7B,IALA3B,GAAqB2B,EAIrB3B,GAAmB4B,MAAK,CAAC3b,EAAG0J,IAAMsR,GAAMhb,GAAKgb,GAAMtR,KAC9CsQ,GAAiB,EAAGA,GAAiBD,GAAmBvV,OAAQwV,KAInED,GAAmBC,MAErBD,GAAqB,KACrBC,GAAiB,CACnB,CACF,CACA,MAAMgB,GAASR,GAAkB,MAAVA,EAAIE,GAAakB,IAAWpB,EAAIE,GACjDmB,GAAa,CAAC7b,EAAG0J,KACrB,MAAMoS,EAAOd,GAAMhb,GAAKgb,GAAMtR,GAC9B,GAAa,IAAToS,EAAY,CACd,GAAI9b,EAAEib,MAAQvR,EAAEuR,IACd,OAAQ,EACV,GAAIvR,EAAEuR,MAAQjb,EAAEib,IACd,OAAO,CACX,CACA,OAAOa,CAAI,EAEb,SAASV,GAAUI,GACjB5B,IAAiB,EACjBD,IAAa,EAIb,GAAMgC,KAAKE,IAEX,IACE,IAAKhC,GAAa,EAAGA,GAAa,GAAMrV,OAAQqV,KAAc,CAC5D,MAAMW,EAAM,GAAMX,IACdW,IAAsB,IAAfA,EAAI7O,QAIb+M,GAAsB8B,EAAK,KAAM,GAErC,CACF,CAAE,QACAX,GAAa,EACb,GAAMrV,OAAS,EACfiX,KACA9B,IAAa,EACbS,GAAsB,MAClB,GAAM5V,QAAUsV,GAAoBtV,SACtC4W,GAAUI,EAEd,CACF,CAsIA,IAAIO,GACAC,GAAS,GACTC,IAAuB,EAC3B,SAASC,GAAOC,KAAU7L,GACpByL,GACFA,GAASK,KAAKD,KAAU7L,GACd2L,IACVD,GAAOtQ,KAAK,CAAEyQ,QAAO7L,QAEzB,CACA,SAAS+L,GAAgBC,EAAMhc,GAC7B,IAAIqX,EAAI4E,EACRR,GAAWO,EACPP,IACFA,GAASS,SAAU,EACnBR,GAAOlT,SAAQ,EAAGqT,QAAO7L,UAAWyL,GAASK,KAAKD,KAAU7L,KAC5D0L,GAAS,IAKS,oBAAXxe,QACPA,OAAOiE,eAC6D,OAAjE8a,EAAgC,OAA1B5E,EAAKna,OAAOgC,gBAAqB,EAASmY,EAAGjY,gBAAqB,EAAS6c,EAAG9B,SAAS,YAEjFna,EAAOmc,6BAA+Bnc,EAAOmc,8BAAgC,IACrF/Q,MAAMgR,IACXL,GAAgBK,EAASpc,EAAO,IAElCE,YAAW,KACJub,KACHzb,EAAOmc,6BAA+B,KACtCR,IAAuB,EACvBD,GAAS,GACX,GACC,OAEHC,IAAuB,EACvBD,GAAS,GAEb,CAYA,MAAMW,GAAyCC,GAC7C,mBAEIC,GAA2CD,GAA4B,qBACvEE,GAA4CF,GAChD,qBAEIG,GAA4BC,IAC5BjB,IAA8C,mBAA3BA,GAASkB,gBAC/BlB,GAASkB,cAAcD,IACtBF,GAA0BE,EAC5B,EAEF,SAASJ,GAA4BN,GACnC,OAAQU,IACNd,GACEI,EACAU,EAAUzD,WAAW2D,IACrBF,EAAUG,IACVH,EAAUzR,OAASyR,EAAUzR,OAAO4R,SAAM,EAC1CH,EACD,CAEL,CAsBA,SAASZ,GAAKzD,EAAUwD,KAAUiB,GAChC,GAAIzE,EAAS0E,YACX,OACF,MAAMhb,EAAQsW,EAASK,MAAM3W,OAASqC,EA0BtC,IAAI4L,EAAO8M,EACX,MAAMtY,EAAkBqX,EAAMpX,WAAW,WACnCuY,EAAWxY,GAAmBqX,EAAMjW,MAAM,GAChD,GAAIoX,GAAYA,KAAYjb,EAAO,CACjC,MAAMkb,EAAe,GAAgB,eAAbD,EAA4B,QAAUA,cACxD,OAAEE,EAAM,KAAExU,GAAS3G,EAAMkb,IAAiB7Y,EAC5CsE,IACFsH,EAAO8M,EAAQjZ,KAAKnE,GAAM,EAASA,GAAKA,EAAEgJ,OAAShJ,KAEjDwd,IACFlN,EAAO8M,EAAQjZ,IAAIuD,GAEvB,CAeA,IAAI+V,GAlEN,SAA+BT,EAAWb,EAAOuB,GAC/CxB,GACE,iBACAc,EAAUzD,WAAW2D,IACrBF,EACAb,EACAuB,EAEJ,CA6CIC,CAAsBhF,EAAUwD,EAAO7L,GAczC,IAAIsN,EAAUvb,EAAMob,EAAcxW,EAAakV,KAC/C9Z,EAAMob,EAAcxW,EAAaN,EAASwV,MACrCyB,GAAW9Y,IACd8Y,EAAUvb,EAAMob,EAAcxW,EAAa,EAAUkV,MAEnDyB,GACF9E,GACE8E,EACAjF,EACA,EACArI,GAGJ,MAAMuN,EAAcxb,EAAMob,EAAc,QACxC,GAAII,EAAa,CACf,GAAKlF,EAASmF,SAEP,GAAInF,EAASmF,QAAQL,GAC1B,YAFA9E,EAASmF,QAAU,CAAC,EAItBnF,EAASmF,QAAQL,IAAe,EAChC3E,GACE+E,EACAlF,EACA,EACArI,EAEJ,CACF,CACA,SAASyN,GAAsBC,EAAMzE,EAAY0E,GAAU,GACzD,MAAMxX,EAAQ8S,EAAW2E,WACnBC,EAAS1X,EAAMnD,IAAI0a,GACzB,QAAe,IAAXG,EACF,OAAOA,EAET,MAAMzI,EAAMsI,EAAKI,MACjB,IAAI7V,EAAa,CAAC,EAoBlB,OAAKmN,GAMD,EAAQA,GACVA,EAAI5M,SAASvG,GAAQgG,EAAWhG,GAAO,OAEvC,EAAOgG,EAAYmN,GAEjB,EAASsI,IACXvX,EAAMsI,IAAIiP,EAAMzV,GAEXA,IAbD,EAASyV,IACXvX,EAAMsI,IAAIiP,EAAM,MAEX,KAWX,CACA,SAASK,GAAe/P,EAAS/L,GAC/B,SAAK+L,IAAYzJ,EAAKtC,MAGtBA,EAAMA,EAAI2D,MAAM,GAAGlE,QAAQ,QAAS,IAC7B,EAAOsM,EAAS/L,EAAI,GAAGkC,cAAgBlC,EAAI2D,MAAM,KAAO,EAAOoI,EAAS,EAAU/L,KAAS,EAAO+L,EAAS/L,GACpH,CAEA,IAAI+b,GAA2B,KAC3BC,GAAiB,KACrB,SAASC,GAA4B7F,GACnC,MAAM8F,EAAOH,GAGb,OAFAA,GAA2B3F,EAC3B4F,GAAiB5F,GAAYA,EAAS7X,KAAK4d,WAAa,KACjDD,CACT,CACA,SAASE,GAAYjE,GACnB6D,GAAiB7D,CACnB,CACA,SAASkE,KACPL,GAAiB,IACnB,CACA,MAAMM,GAAeC,GAAQC,GAC7B,SAASA,GAAQvY,EAAIwY,EAAMV,GAA0BW,GACnD,IAAKD,EACH,OAAOxY,EACT,GAAIA,EAAG0Y,GACL,OAAO1Y,EAET,MAAM2Y,EAAsB,IAAI7O,KAC1B6O,EAAoBC,IACtBC,IAAkB,GAEpB,MAAMC,EAAed,GAA4BQ,GACjD,IAAI3W,EACJ,IACEA,EAAM7B,KAAM8J,EACd,CAAE,QACAkO,GAA4Bc,GACxBH,EAAoBC,IACtBC,GAAiB,EAErB,CAIA,OAFExC,GAAyBmC,GAEpB3W,CAAG,EAKZ,OAHA8W,EAAoBD,IAAK,EACzBC,EAAoBI,IAAK,EACzBJ,EAAoBC,IAAK,EAClBD,CACT,CAMA,SAASK,GAAoB7G,GAC3B,MACE7X,KAAM2e,EAAS,MACfzG,EAAK,MACL1D,EAAK,UACLoK,EAAS,MACTrd,EACAsd,cAAeA,GAAa,MAC5BC,EAAK,MACLC,EAAK,KACLzD,EAAI,OACJ0D,EAAM,YACNC,EAAW,KACXC,EAAI,WACJC,EAAU,IACVjB,EAAG,aACHkB,GACEvH,EACJ,IAAI5W,EACAoe,EACJ,MAAM1B,EAAOD,GAA4B7F,GAIzC,IACE,GAAsB,EAAlBK,EAAMoH,UAAe,CACvB,MAAMC,EAAaX,GAAapK,EAChCvT,EAASue,GACPR,EAAO/c,KACLsd,EACAA,EACAN,EACA1d,EACA4d,EACAD,EACAhB,IAGJmB,EAAmBN,CACrB,KAAO,CACL,MAAMU,EAAUd,EAIhB1d,EAASue,GACPC,EAAQ/b,OAAS,EAAI+b,EACnBle,EAQI,CAAEwd,QAAOD,QAAOxD,SAClBmE,EACFle,EACA,OAIJ8d,EAAmBV,EAAUpd,MAAQwd,EAAQW,GAAyBX,EACxE,CACF,CAAE,MAAOjH,GACP6H,GAAWjc,OAAS,EACpBqU,GAAYD,EAAKD,EAAU,GAC3B5W,EAAS2e,GAAYC,GACvB,CACA,IAAIC,EAAO7e,EAKX,GAAIoe,IAAqC,IAAjBD,EAAwB,CAC9C,MAAMlW,EAAO7G,OAAO6G,KAAKmW,IACnB,UAAEC,GAAcQ,EAClB5W,EAAKxF,QACS,EAAZ4b,IACET,GAAgB3V,EAAK6W,KAAK/b,KAC5Bqb,EAAmBW,GACjBX,EACAR,IAGJiB,EAAOG,GAAWH,EAAMT,GA2B9B,CAwBA,OAvBInH,EAAMgI,OAMRJ,EAAOG,GAAWH,GAClBA,EAAKI,KAAOJ,EAAKI,KAAOJ,EAAKI,KAAKC,OAAOjI,EAAMgI,MAAQhI,EAAMgI,MAE3DhI,EAAMkI,aAMRN,EAAKM,WAAalI,EAAMkI,YAKxBnf,EAAS6e,EAEXpC,GAA4BC,GACrB1c,CACT,CAwCA,MAAMye,GAA4BX,IAChC,IAAIxX,EACJ,IAAK,MAAM9F,KAAOsd,GACJ,UAARtd,GAA2B,UAARA,GAAmBsC,EAAKtC,OAC5C8F,IAAQA,EAAM,CAAC,IAAI9F,GAAOsd,EAAMtd,IAGrC,OAAO8F,CAAG,EAENyY,GAAuB,CAACjB,EAAOxd,KACnC,MAAMgG,EAAM,CAAC,EACb,IAAK,MAAM9F,KAAOsd,EACX/a,EAAgBvC,IAAUA,EAAI2D,MAAM,KAAM7D,IAC7CgG,EAAI9F,GAAOsd,EAAMtd,IAGrB,OAAO8F,CAAG,EAoDZ,SAAS8Y,GAAgBC,EAAWC,EAAWC,GAC7C,MAAMC,EAAWpe,OAAO6G,KAAKqX,GAC7B,GAAIE,EAAS/c,SAAWrB,OAAO6G,KAAKoX,GAAW5c,OAC7C,OAAO,EAET,IAAK,IAAID,EAAI,EAAGA,EAAIgd,EAAS/c,OAAQD,IAAK,CACxC,MAAMhC,EAAMgf,EAAShd,GACrB,GAAI8c,EAAU9e,KAAS6e,EAAU7e,KAAS8b,GAAeiD,EAAc/e,GACrE,OAAO,CAEX,CACA,OAAO,CACT,CACA,SAASif,IAAgB,MAAExI,EAAK,OAAEzN,GAAUpG,GAC1C,KAAOoG,GAAUA,EAAOkW,UAAYzI,IACjCA,EAAQzN,EAAOyN,OAAO7T,GAAKA,EAC5BoG,EAASA,EAAOA,MAEpB,CAEA,MAAMmW,GAAa,aACbC,GAAa,aACnB,SAASC,GAAiB7jB,EAAM8jB,GAC9B,OAAOC,GAAaJ,GAAY3jB,GAAM,EAAM8jB,IAAuB9jB,CACrE,CACA,MAAMgkB,GAAyBje,OAAOke,IAAI,SAC1C,SAASC,GAAwBjF,GAC/B,OAAI,EAASA,GACJ8E,GAAaJ,GAAY1E,GAAW,IAAUA,EAE9CA,GAAa+E,EAExB,CACA,SAASG,GAAiBnkB,GACxB,OAAO+jB,GAAaH,GAAY5jB,EAClC,CACA,SAAS+jB,GAAahhB,EAAM/C,EAAMokB,GAAc,EAAMN,GAAqB,GACzE,MAAMlJ,EAAW2F,IAA4B8D,GAC7C,GAAIzJ,EAAU,CACZ,MAAM8G,EAAY9G,EAAS7X,KAC3B,GAAIA,IAAS4gB,GAAY,CACvB,MAAMW,EAAWC,GACf7C,GACA,GAGF,GAAI4C,IAAaA,IAAatkB,GAAQskB,IAAa1b,EAAS5I,IAASskB,IAAa,EAAW1b,EAAS5I,KACpG,OAAO0hB,CAEX,CACA,MAAMpX,EAGJ8R,GAAQxB,EAAS7X,IAAS2e,EAAU3e,GAAO/C,IAC3Coc,GAAQxB,EAASY,WAAWzY,GAAO/C,GAErC,OAAKsK,GAAOwZ,EACHpC,EAOFpX,CACT,CAKF,CACA,SAAS8R,GAAQoI,EAAUxkB,GACzB,OAAOwkB,IAAaA,EAASxkB,IAASwkB,EAAS5b,EAAS5I,KAAUwkB,EAAS,EAAW5b,EAAS5I,KACjG,CAEA,MAAMykB,GAAc1hB,GAASA,EAAK2hB,aAuC5BC,GAtCe,CACnB3kB,KAAM,WAKN0kB,cAAc,EACd,OAAAE,CAAQC,EAAIC,EAAIC,EAAWC,EAAQC,EAAiBC,EAAgBC,EAAOC,EAAcC,EAAWC,GACxF,MAANT,EAqCR,SAAuB5J,EAAO8J,EAAWC,EAAQC,EAAiBC,EAAgBC,EAAOC,EAAcC,EAAWC,GAChH,MACE/I,EAAGgJ,EACHpgB,GAAG,cAAExC,IACH2iB,EACEE,EAAkB7iB,EAAc,OAChC8iB,EAAWxK,EAAMwK,SAAWC,GAChCzK,EACAiK,EACAD,EACAF,EACAS,EACAR,EACAG,EACAC,EACAC,EACAC,GAEFC,EACE,KACAE,EAASE,cAAgB1K,EAAM2K,UAC/BJ,EACA,KACAP,EACAQ,EACAN,EACAC,GAEEK,EAAS7V,KAAO,GAClBiW,GAAa5K,EAAO,aACpB4K,GAAa5K,EAAO,cACpBsK,EACE,KACAtK,EAAM6K,WACNf,EACAC,EACAC,EACA,KAEAE,EACAC,GAEFW,GAAgBN,EAAUxK,EAAM6K,aAEhCL,EAASrJ,SAAQ,GAAO,EAE5B,CAlFM4J,CACElB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GA0ER,SAAuBT,EAAIC,EAAIC,EAAWC,EAAQC,EAAiBE,EAAOC,EAAcC,GAAa9I,EAAGgJ,EAAOU,GAAIC,EAAS/gB,GAAG,cAAExC,KAC/H,MAAM8iB,EAAWX,EAAGW,SAAWZ,EAAGY,SAClCA,EAASxK,MAAQ6J,EACjBA,EAAG1d,GAAKyd,EAAGzd,GACX,MAAM+e,EAAYrB,EAAGc,UACfQ,EAActB,EAAGgB,YACjB,aAAEO,EAAY,cAAEV,EAAa,aAAEW,EAAY,YAAEC,GAAgBd,EACnE,GAAIE,EACFF,EAASE,cAAgBQ,EACrBK,GAAgBL,EAAWR,IAC7BJ,EACEI,EACAQ,EACAV,EAASD,gBACT,KACAP,EACAQ,EACAN,EACAC,EACAC,GAEEI,EAAS7V,MAAQ,EACnB6V,EAASrJ,UACAkK,IACTf,EACEc,EACAD,EACArB,EACAC,EACAC,EACA,KAEAE,EACAC,EACAC,GAEFU,GAAgBN,EAAUW,MAG5BX,EAASgB,YACLF,GACFd,EAASc,aAAc,EACvBd,EAASY,aAAeV,GAExBO,EAAQP,EAAeV,EAAiBQ,GAE1CA,EAAS7V,KAAO,EAChB6V,EAASnY,QAAQ7G,OAAS,EAC1Bgf,EAASD,gBAAkB7iB,EAAc,OACrC2jB,GACFf,EACE,KACAY,EACAV,EAASD,gBACT,KACAP,EACAQ,EACAN,EACAC,EACAC,GAEEI,EAAS7V,MAAQ,EACnB6V,EAASrJ,WAETmJ,EACEc,EACAD,EACArB,EACAC,EACAC,EACA,KAEAE,EACAC,EACAC,GAEFU,GAAgBN,EAAUW,KAEnBC,GAAgBG,GAAgBL,EAAWE,IACpDd,EACEc,EACAF,EACApB,EACAC,EACAC,EACAQ,EACAN,EACAC,EACAC,GAEFI,EAASrJ,SAAQ,KAEjBmJ,EACE,KACAY,EACAV,EAASD,gBACT,KACAP,EACAQ,EACAN,EACAC,EACAC,GAEEI,EAAS7V,MAAQ,GACnB6V,EAASrJ,iBAKf,GAAIiK,GAAgBG,GAAgBL,EAAWE,GAC7Cd,EACEc,EACAF,EACApB,EACAC,EACAC,EACAQ,EACAN,EACAC,EACAC,GAEFU,GAAgBN,EAAUU,QAgB1B,GAdAN,GAAaf,EAAI,aACjBW,EAASE,cAAgBQ,EACzBV,EAASgB,YACTlB,EACE,KACAY,EACAV,EAASD,gBACT,KACAP,EACAQ,EACAN,EACAC,EACAC,GAEEI,EAAS7V,MAAQ,EACnB6V,EAASrJ,cACJ,CACL,MAAM,QAAEsK,EAAO,UAAED,GAAchB,EAC3BiB,EAAU,EACZjkB,YAAW,KACLgjB,EAASgB,YAAcA,GACzBhB,EAASkB,SAASP,EACpB,GACCM,GACkB,IAAZA,GACTjB,EAASkB,SAASP,EAEtB,CAGN,CAhOMQ,CACE/B,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,EACAC,EACAC,EAGN,EACAuB,QA8bF,SAAyB5lB,EAAMga,EAAOgK,EAAiBC,EAAgBC,EAAOC,EAAcC,EAAWC,EAAmBwB,GACxH,MAAMrB,EAAWxK,EAAMwK,SAAWC,GAChCzK,EACAiK,EACAD,EACAhkB,EAAK8lB,WACL1lB,SAASsB,cAAc,OACvB,KACAwiB,EACAC,EACAC,EACAC,GACA,GAGIthB,EAAS8iB,EACb7lB,EACAwkB,EAASE,cAAgB1K,EAAM2K,UAC/BX,EACAQ,EACAL,EACAC,GAKF,OAHsB,IAAlBI,EAAS7V,MACX6V,EAASrJ,SAAQ,GAAO,GAEnBpY,CACT,EAxdEqC,OAAQqf,GACRsB,UAwdF,SAAmC/L,GACjC,MAAM,UAAEoH,EAAS,SAAE4E,GAAahM,EAC1BiM,EAA6B,GAAZ7E,EACvBpH,EAAM2K,UAAYuB,GAChBD,EAAiBD,EAASG,QAAUH,GAEtChM,EAAM6K,WAAaoB,EAAiBC,GAAsBF,EAASN,UAAYhE,GAAYC,GAC7F,GA5dA,SAASiD,GAAa5K,EAAOjb,GAC3B,MAAMqnB,EAAgBpM,EAAM3W,OAAS2W,EAAM3W,MAAMtE,GAC7C,EAAWqnB,IACbA,GAEJ,CA2MA,SAAS3B,GAAuBzK,EAAOiK,EAAgBD,EAAiBF,EAAWS,EAAiBR,EAAQG,EAAOC,EAAcC,EAAWC,EAAmBiB,GAAc,GAO3K,MACEhK,EACA+K,EAAGC,EACHtB,GAAIC,EACJtc,EAAG+L,EACHxQ,GAAG,WAAE4hB,EAAU,OAAE7f,IACfoe,EACJ,IAAIkC,EACJ,MAAMC,EA8SR,SAA4BxM,GAC1B,IAAIrB,EACJ,OAAiE,OAAnC,OAArBA,EAAKqB,EAAM3W,YAAiB,EAASsV,EAAG8N,eAAoD,IAA5BzM,EAAM3W,MAAMojB,WACvF,CAjTwBC,CAAmB1M,GACrCwM,IACoB,MAAlBvC,OAAyB,EAASA,EAAeS,iBACnD6B,EAAmBtC,EAAeuB,UAClCvB,EAAetV,QAGnB,MAAM8W,EAAUzL,EAAM3W,MAAQyF,EAASkR,EAAM3W,MAAMoiB,cAAW,EAIxDjB,EAAW,CACfxK,QACAzN,OAAQ0X,EACRD,kBACAE,QACAJ,YACAS,kBACAR,SACApV,KAAM,EACN6W,UAAW,EACXC,QAA4B,iBAAZA,EAAuBA,GAAW,EAClDL,aAAc,KACdV,cAAe,KACfW,cAAc,EACdC,cACAjH,aAAa,EACbhS,QAAS,GACT,OAAA8O,CAAQwL,GAAS,EAAOC,GAAO,GAa7B,MACE5M,MAAO6M,EAAM,aACbzB,EAAY,cACZV,EAAa,UACbc,EAAS,QACTnZ,EACA2X,gBAAiB8C,EACjBhD,UAAWiD,GACTvC,EACJ,IAAIwC,GAAa,EACjB,GAAIxC,EAASc,YACXd,EAASc,aAAc,OAClB,IAAKqB,EAAQ,CAClBK,EAAa5B,GAAgBV,EAAcxC,YAAgD,WAAlCwC,EAAcxC,WAAW+E,KAC9ED,IACF5B,EAAalD,WAAWgF,WAAa,KAC/B1B,IAAchB,EAASgB,YACzBc,EAAK5B,EAAeqC,EAAYI,EAAS,GACzC9K,GAAiBhQ,GACnB,GAGJ,IAAM0X,OAAQoD,GAAY3C,EACtBY,IACF+B,EAAUzS,EAAK0Q,GACfH,EAAQG,EAAc0B,EAAkBtC,GAAU,IAE/CwC,GACHV,EAAK5B,EAAeqC,EAAYI,EAAS,EAE7C,CACArC,GAAgBN,EAAUE,GAC1BF,EAASE,cAAgB,KACzBF,EAASa,cAAe,EACxB,IAAI9Y,EAASiY,EAASjY,OAClB6a,GAAwB,EAC5B,KAAO7a,GAAQ,CACb,GAAIA,EAAOmY,cAAe,CACxBnY,EAAOF,QAAQK,QAAQL,GACvB+a,GAAwB,EACxB,KACF,CACA7a,EAASA,EAAOA,MAClB,CACK6a,GAA0BJ,GAC7B3K,GAAiBhQ,GAEnBmY,EAASnY,QAAU,GACfma,GACEvC,GAAkBA,EAAeS,eAAiB6B,IAAqBtC,EAAeuB,YACxFvB,EAAetV,OACa,IAAxBsV,EAAetV,MAAeiY,GAChC3C,EAAe9I,WAIrByJ,GAAaiC,EAAQ,YACvB,EACA,QAAAnB,CAAS2B,GACP,IAAK7C,EAASE,cACZ,OAEF,MAAQ1K,MAAO6M,EAAM,aAAEzB,EAAcpB,gBAAiB8C,EAAkBhD,UAAWiD,EAAY7C,MAAOoD,GAAW9C,EACjHI,GAAaiC,EAAQ,cACrB,MAAMM,EAAUzS,EAAK0Q,GACfmC,EAAgB,KACf/C,EAASa,eAGdf,EACE,KACA+C,EACAN,EACAI,EACAL,EACA,KAEAQ,EACAnD,EACAC,GAEFU,GAAgBN,EAAU6C,GAAc,EAEpCL,EAAaK,EAAcnF,YAAgD,WAAlCmF,EAAcnF,WAAW+E,KACpED,IACF5B,EAAalD,WAAWgF,WAAaK,GAEvC/C,EAASa,cAAe,EACxBJ,EACEG,EACA0B,EACA,MAEA,GAGGE,GACHO,GAEJ,EACA,IAAAjB,CAAKS,EAAYI,EAASrlB,GACxB0iB,EAASY,cAAgBkB,EAAK9B,EAASY,aAAc2B,EAAYI,EAASrlB,GAC1E0iB,EAASV,UAAYiD,CACvB,EACArS,KAAI,IACK8P,EAASY,cAAgB1Q,EAAK8P,EAASY,cAEhD,WAAAoC,CAAY7N,EAAU8N,GACpB,MAAMC,IAAwBlD,EAASE,cACnCgD,GACFlD,EAAS7V,OAEX,MAAMgZ,EAAahO,EAASK,MAAM7T,GAClCwT,EAASiO,SAAS7gB,OAAO6S,IACvBC,GAAYD,EAAKD,EAAU,EAAE,IAC5B7S,MAAM+gB,IACP,GAAIlO,EAAS0E,aAAemG,EAASnG,aAAemG,EAASgB,YAAc7L,EAASmO,WAClF,OAEFnO,EAASoO,eAAgB,EACzB,MAAQ/N,MAAO6M,GAAWlN,EAI1BqO,GAAkBrO,EAAUkO,GAAkB,GAC1CF,IACFd,EAAO1gB,GAAKwhB,GAEd,MAAMM,GAAeN,GAAchO,EAAS8I,QAAQtc,GACpDshB,EACE9N,EACAkN,EAIAf,EAAW6B,GAAchO,EAAS8I,QAAQtc,IAG1CwhB,EAAa,KAAOjT,EAAKiF,EAAS8I,SAClC+B,EACAN,EACAE,GAEE6D,GACFhiB,EAAOgiB,GAETzF,GAAgB7I,EAAUkN,EAAO1gB,IAI7BuhB,GAA2C,KAAlBlD,EAAS7V,MACpC6V,EAASrJ,SACX,GAEJ,EACA,OAAA8J,CAAQiD,EAAiBC,GACvB3D,EAASnG,aAAc,EACnBmG,EAASY,cACXH,EACET,EAASY,aACTpB,EACAkE,EACAC,GAGA3D,EAASE,eACXO,EACET,EAASE,cACTV,EACAkE,EACAC,EAGN,GAEF,OAAO3D,CACT,CAqCA,SAAS0B,GAAsBkC,GAC7B,IAAIC,EACJ,GAAI,EAAWD,GAAI,CACjB,MAAME,EAAaC,IAAsBH,EAAE7H,GACvC+H,IACFF,EAAEhI,IAAK,EACPoI,MAEFJ,EAAIA,IACAE,IACFF,EAAEhI,IAAK,EACPiI,EAAQI,GACRC,KAEJ,CACA,GAAI,EAAQN,GAAI,CACd,MAAMO,EAtrBV,SAA0B3C,GACxB,IAAI4C,EACJ,IAAK,IAAIrjB,EAAI,EAAGA,EAAIygB,EAASxgB,OAAQD,IAAK,CACxC,MAAMsjB,EAAQ7C,EAASzgB,GACvB,IAAIujB,GAAQD,GASV,OARA,GAAIA,EAAM/mB,OAAS6f,IAA8B,SAAnBkH,EAAM7C,SAAqB,CACvD,GAAI4C,EACF,OAEAA,EAAaC,CAEjB,CAIJ,CACA,OAAOD,CACT,CAqqBwBG,CAAiBX,GAIrCA,EAAIO,CACN,CAKA,OAJAP,EAAI9G,GAAe8G,GACfC,IAAUD,EAAEY,kBACdZ,EAAEY,gBAAkBX,EAAMnX,QAAQrJ,GAAMA,IAAMugB,KAEzCA,CACT,CACA,SAASa,GAAwBzhB,EAAIgd,GAC/BA,GAAYA,EAASE,cACnB,EAAQld,GACVgd,EAASnY,QAAQK,QAAQlF,GAEzBgd,EAASnY,QAAQK,KAAKlF,GAGxB6U,GAAiB7U,EAErB,CACA,SAASsd,GAAgBN,EAAU0E,GACjC1E,EAASY,aAAe8D,EACxB,MAAM,MAAElP,EAAK,gBAAEgK,GAAoBQ,EAC7Bre,EAAK6T,EAAM7T,GAAK+iB,EAAO/iB,GACzB6d,GAAmBA,EAAgBvB,UAAYzI,IACjDgK,EAAgBhK,MAAM7T,GAAKA,EAC3Bqc,GAAgBwB,EAAiB7d,GAErC,CAMA,SAASgjB,GAAY5b,EAAQ+B,GAC3B,OAAO8Z,GAAQ7b,EAAQ,KAAM+B,EAC/B,CACA,SAAS+Z,GAAgB9b,EAAQ+B,GAC/B,OAAO8Z,GACL7b,EACA,KACqF,CAAE+b,MAAO,QAElG,CACA,SAASC,GAAgBhc,EAAQ+B,GAC/B,OAAO8Z,GACL7b,EACA,KACqF,CAAE+b,MAAO,QAElG,CACA,MAAME,GAAwB,CAAC,EAC/B,SAASC,GAAM7R,EAAQ0E,EAAIhN,GAMzB,OAAO8Z,GAAQxR,EAAQ0E,EAAIhN,EAC7B,CACA,SAAS8Z,GAAQxR,EAAQ0E,GAAI,UAAEoN,EAAS,KAAEC,EAAI,MAAEL,EAAK,QAAEM,EAAO,UAAEC,GAAcnkB,GAC5E,IAAIiT,EAaJ,MAOMgB,EAAWlM,QAAiD,OAAzBkL,EAAKyK,SAA2B,EAASzK,EAAGnL,OAAS4V,GAAkB,KAChH,IAAIjK,EAkDA2Q,EAjDAC,GAAe,EACfC,GAAgB,EA4CpB,GA3CI,GAAMpS,IACRuB,EAAS,IAAMvB,EAAO5S,MACtB+kB,EAAevX,GAAYoF,IAClBpB,GAAWoB,IACpBuB,EAAS,IAAMvB,EACf+R,GAAO,GACE,EAAQ/R,IACjBoS,GAAgB,EAChBD,EAAenS,EAAOiK,MAAMuG,GAAM5R,GAAW4R,IAAM5V,GAAY4V,KAC/DjP,EAAS,IAAMvB,EAAOzS,KAAKijB,GACrB,GAAMA,GACDA,EAAEpjB,MACAwR,GAAW4R,GACb6B,GAAS7B,GACP,EAAWA,GACb1O,GAAsB0O,EAAGzO,EAAU,QADrC,KAQPR,EAFO,EAAWvB,GAChB0E,EACO,IAAM5C,GAAsB9B,EAAQ+B,EAAU,GAE9C,KACP,IAAIA,IAAYA,EAAS0E,YAMzB,OAHIyL,GACFA,IAEKhQ,GACLlC,EACA+B,EACA,EACA,CAACuQ,GACF,EAII,EAGP5N,GAAMqN,EAAM,CACd,MAAMQ,EAAahR,EACnBA,EAAS,IAAM8Q,GAASE,IAC1B,CAEA,IAKIC,EALAF,EAAa1iB,IACfsiB,EAAUvc,EAAO6B,OAAS,KACxBsK,GAAsBlS,EAAImS,EAAU,EAAE,CACvC,EAGH,GAAI0Q,GAAuB,CAWzB,GAVAH,EAAY,EACP5N,EAEMoN,GACT5P,GAA2BwC,EAAI3C,EAAU,EAAG,CAC1CR,IACA6Q,EAAgB,QAAK,EACrBE,IALF/Q,IAQY,SAAVmQ,EAIF,OAAO,EAJa,CACpB,MAAMtJ,EAAMsK,KACZF,EAAapK,EAAIuK,mBAAqBvK,EAAIuK,iBAAmB,GAC/D,CAGF,CACA,IAAIpiB,EAAW6hB,EAAgB,IAAI1jB,MAAMsR,EAAOpS,QAAQglB,KAAKhB,IAAyBA,GACtF,MAAMhO,EAAM,KACV,GAAKjO,EAAOZ,OAGZ,GAAI2P,EAAI,CACN,MAAM/L,EAAWhD,EAAOX,OACpB+c,GAAQI,IAAiBC,EAAgBzZ,EAASsR,MAAK,CAAC1O,EAAG5N,IAAM2C,EAAWiL,EAAGhL,EAAS5C,MAAO2C,EAAWqI,EAAUpI,OAClH2hB,GACFA,IAEFhQ,GAA2BwC,EAAI3C,EAAU,EAAG,CAC1CpJ,EAEApI,IAAaqhB,QAAwB,EAASQ,GAAiB7hB,EAAS,KAAOqhB,GAAwB,GAAKrhB,EAC5G+hB,IAEF/hB,EAAWoI,EAEf,MACEhD,EAAOX,KACT,EAGF,IAAI8B,EADJ8M,EAAI1K,eAAiBwL,EAEP,SAAVgN,EACF5a,EAAY8M,EACO,SAAV8N,EACT5a,EAAY,IAAM+b,GAAsBjP,EAAK7B,GAAYA,EAAS6K,WAElEhJ,EAAIS,KAAM,EACNtC,IACF6B,EAAIE,GAAK/B,EAASwE,KACpBzP,EAAY,IAAM6M,GAASC,IAE7B,MAAMjO,EAAS,IAAIkB,GAAe0K,EAAQzK,GAKtC4N,EACEoN,EACFlO,IAEArT,EAAWoF,EAAOX,MAED,SAAV0c,EACTmB,GACEld,EAAOX,IAAI8C,KAAKnC,GAChBoM,GAAYA,EAAS6K,UAGvBjX,EAAOX,MAET,MAAM8d,EAAU,KACdnd,EAAOP,OACH2M,GAAYA,EAASnM,OACvBvH,EAAO0T,EAASnM,MAAMnB,QAASkB,EACjC,EAIF,OAFI6c,GACFA,EAAW1d,KAAKge,GACXA,CACT,CA+BA,SAAST,GAASjlB,EAAOwX,GACvB,IAAK,EAASxX,IAAUA,EAAgB,SACtC,OAAOA,EAGT,IADAwX,EAAOA,GAAwB,IAAI3O,KAC1BuC,IAAIpL,GACX,OAAOA,EAGT,GADAwX,EAAKnM,IAAIrL,GACL,GAAMA,GACRilB,GAASjlB,EAAMA,MAAOwX,QACjB,GAAI,EAAQxX,GACjB,IAAK,IAAIO,EAAI,EAAGA,EAAIP,EAAMQ,OAAQD,IAChC0kB,GAASjlB,EAAMO,GAAIiX,QAEhB,GAAI9V,EAAM1B,IAAUwB,EAAMxB,GAC/BA,EAAM8E,SAASqJ,IACb8W,GAAS9W,EAAGqJ,EAAK,SAEd,GAAIrV,EAAcnC,GACvB,IAAK,MAAMzB,KAAOyB,EAChBilB,GAASjlB,EAAMzB,GAAMiZ,GAGzB,OAAOxX,CACT,CAOA,SAAS2lB,GAAe3Q,EAAO4Q,GAC7B,MAAMC,EAAmBvL,GACzB,GAAyB,OAArBuL,EAEF,OAAO7Q,EAET,MAAML,EAAWmR,GAAeD,IAAqBA,EAAiBvU,MAChEyU,EAAW/Q,EAAMgI,OAAShI,EAAMgI,KAAO,IAC7C,IAAK,IAAIzc,EAAI,EAAGA,EAAIqlB,EAAWplB,OAAQD,IAAK,CAC1C,IAAKylB,EAAKhmB,EAAOuD,EAAK0iB,EAAYvlB,GAAaklB,EAAWrlB,GACtDylB,IACE,EAAWA,KACbA,EAAM,CACJE,QAASF,EACTG,QAASH,IAGTA,EAAIrB,MACNM,GAASjlB,GAEX+lB,EAASre,KAAK,CACZse,MACArR,WACA3U,QACAmD,cAAU,EACVI,MACA0iB,cAGN,CACA,OAAOjR,CACT,CACA,SAASoR,GAAoBpR,EAAOqR,EAAW1R,EAAU5a,GACvD,MAAMgsB,EAAW/Q,EAAMgI,KACjBsJ,EAAcD,GAAaA,EAAUrJ,KAC3C,IAAK,IAAIzc,EAAI,EAAGA,EAAIwlB,EAASvlB,OAAQD,IAAK,CACxC,MAAMgmB,EAAUR,EAASxlB,GACrB+lB,IACFC,EAAQpjB,SAAWmjB,EAAY/lB,GAAGP,OAEpC,IAAIsY,EAAOiO,EAAQP,IAAIjsB,GACnBue,IACF1N,KACAkK,GAA2BwD,EAAM3D,EAAU,EAAG,CAC5CK,EAAM7T,GACNolB,EACAvR,EACAqR,IAEFxb,KAEJ,CACF,CAEA,MAAM2b,GAAa1mB,OAAO,YACpB2mB,GAAa3mB,OAAO,YAC1B,SAAS4mB,KACP,MAAMC,EAAQ,CACZC,WAAW,EACXC,WAAW,EACXC,cAAc,EACdC,cAA+B,IAAI/b,KAQrC,OANAgc,IAAU,KACRL,EAAMC,WAAY,CAAI,IAExBK,IAAgB,KACdN,EAAMG,cAAe,CAAI,IAEpBH,CACT,CACA,MAAMO,GAA0B,CAACznB,SAAU6B,OACrC6lB,GAAgC,CACpClF,KAAMjlB,OACNoqB,OAAQC,QACRC,UAAWD,QAEXE,cAAeL,GACfM,QAASN,GACTO,aAAcP,GACdQ,iBAAkBR,GAElBS,cAAeT,GACfU,QAASV,GACTW,aAAcX,GACdY,iBAAkBZ,GAElBa,eAAgBb,GAChBc,SAAUd,GACVe,cAAef,GACfgB,kBAAmBhB,IAqGfiB,GAnGqB,CACzBpuB,KAAM,iBACNsE,MAAO8oB,GACP,KAAAiB,CAAM/pB,GAAO,MAAEud,IACb,MAAMjH,EAAW0T,KACX1B,EAAQD,KACd,IAAI4B,EACJ,MAAO,KACL,MAAMtH,EAAWpF,EAAMuF,SAAWoH,GAAyB3M,EAAMuF,WAAW,GAC5E,IAAKH,IAAaA,EAASxgB,OACzB,OAEF,IAAIqjB,EAAQ7C,EAAS,GACrB,GAAIA,EAASxgB,OAAS,EAAG,CACvB,IAAIgoB,GAAW,EACf,IAAK,MAAM3lB,KAAKme,EACd,GAAIne,EAAE/F,OAAS6f,GAAS,CAOtBkH,EAAQhhB,EACR2lB,GAAW,EAET,KACJ,CAEJ,CACA,MAAMC,EAAW,GAAMpqB,IACjB,KAAE4jB,GAASwG,EAIjB,GAAI9B,EAAME,UACR,OAAO6B,GAAiB7E,GAE1B,MAAM8E,EAAaC,GAAkB/E,GACrC,IAAK8E,EACH,OAAOD,GAAiB7E,GAE1B,MAAMgF,EAAaC,GACjBH,EACAF,EACA9B,EACAhS,GAEFoU,GAAmBJ,EAAYE,GAC/B,MAAMG,EAAWrU,EAAS8I,QACpBwL,EAAgBD,GAAYJ,GAAkBI,GACpD,IAAIE,GAAuB,EAC3B,MAAM,iBAAEC,GAAqBR,EAAW7rB,KACxC,GAAIqsB,EAAkB,CACpB,MAAM5qB,EAAM4qB,SACc,IAAtBb,EACFA,EAAoB/pB,EACXA,IAAQ+pB,IACjBA,EAAoB/pB,EACpB2qB,GAAuB,EAE3B,CACA,GAAID,GAAiBA,EAAcnsB,OAAS6f,MAAa4D,GAAgBoI,EAAYM,IAAkBC,GAAuB,CAC5H,MAAME,EAAeN,GACnBG,EACAR,EACA9B,EACAhS,GAGF,GADAoU,GAAmBE,EAAeG,GACrB,WAATnH,EAQF,OAPA0E,EAAME,WAAY,EAClBuC,EAAalH,WAAa,KACxByE,EAAME,WAAY,GACa,IAA3BlS,EAAS0U,OAAO1hB,QAClBgN,EAAS0U,QACX,EAEKX,GAAiB7E,GACN,WAAT5B,GAAqB0G,EAAW7rB,OAAS6f,KAClDyM,EAAaE,WAAa,CAACnoB,EAAIooB,EAAaC,KACfC,GACzB9C,EACAsC,GAEiBjsB,OAAOisB,EAAc1qB,MAAQ0qB,EAChD9nB,EAAGqlB,IAAc,KACf+C,IACApoB,EAAGqlB,SAAc,SACVqC,EAAWW,YAAY,EAEhCX,EAAWW,aAAeA,CAAY,EAG5C,CACA,OAAO3F,CAAK,CAEhB,GAGF,SAAS4F,GAAuB9C,EAAO3R,GACrC,MAAM,cAAE+R,GAAkBJ,EAC1B,IAAI+C,EAAqB3C,EAAcznB,IAAI0V,EAAMlY,MAKjD,OAJK4sB,IACHA,EAAqCvqB,OAAOiB,OAAO,MACnD2mB,EAAchc,IAAIiK,EAAMlY,KAAM4sB,IAEzBA,CACT,CACA,SAASZ,GAAuB9T,EAAO3W,EAAOsoB,EAAOhS,GACnD,MAAM,OACJyS,EAAM,KACNnF,EAAI,UACJqF,GAAY,EAAK,cACjBC,EAAa,QACbC,EAAO,aACPC,EAAY,iBACZC,EAAgB,cAChBC,EAAa,QACbC,EAAO,aACPC,EAAY,iBACZC,EAAgB,eAChBC,EAAc,SACdC,EAAQ,cACRC,EAAa,kBACbC,GACE7pB,EACEE,EAAMvB,OAAOgY,EAAMzW,KACnBmrB,EAAqBD,GAAuB9C,EAAO3R,GACnD2U,EAAW,CAACrR,EAAMhM,KACtBgM,GAAQxD,GACNwD,EACA3D,EACA,EACArI,EACD,EAEGsd,EAAgB,CAACtR,EAAMhM,KAC3B,MAAMqD,EAAOrD,EAAK,GAClBqd,EAASrR,EAAMhM,GACX,EAAQgM,GACNA,EAAKuR,OAAOC,GAAUA,EAAMtpB,QAAU,KACxCmP,IACO2I,EAAK9X,QAAU,GACxBmP,GACF,EAEIoa,EAAQ,CACZ9H,OACAqF,YACA,WAAA0C,CAAY7oB,GACV,IAAImX,EAAOiP,EACX,IAAKZ,EAAMC,UAAW,CACpB,IAAIQ,EAGF,OAFA9O,EAAOyP,GAAkBR,CAI7B,CACIpmB,EAAGqlB,KACLrlB,EAAGqlB,KACD,GAIJ,MAAMyD,EAAeP,EAAmBnrB,GACpC0rB,GAAgB1J,GAAgBvL,EAAOiV,IAAiBA,EAAa9oB,GAAGqlB,KAC1EyD,EAAa9oB,GAAGqlB,MAElBmD,EAASrR,EAAM,CAACnX,GAClB,EACA,KAAA+oB,CAAM/oB,GACJ,IAAImX,EAAOkP,EACP2C,EAAY1C,EACZ2C,EAAa1C,EACjB,IAAKf,EAAMC,UAAW,CACpB,IAAIQ,EAKF,OAJA9O,EAAO0P,GAAYR,EACnB2C,EAAYlC,GAAiBR,EAC7B2C,EAAalC,GAAqBR,CAItC,CACA,IAAI2C,GAAS,EACb,MAAM1a,EAAOxO,EAAGslB,IAAe6D,IACzBD,IAEJA,GAAS,EAEPV,EADEW,EACOF,EAEAD,EAFY,CAAChpB,IAIpB4oB,EAAMP,cACRO,EAAMP,eAERroB,EAAGslB,SAAc,EAAM,EAErBnO,EACFsR,EAActR,EAAM,CAACnX,EAAIwO,IAEzBA,GAEJ,EACA,KAAA4a,CAAMppB,EAAIF,GACR,MAAMyK,EAAO1O,OAAOgY,EAAMzW,KAO1B,GANI4C,EAAGslB,KACLtlB,EAAGslB,KACD,GAIAE,EAAMG,aACR,OAAO7lB,IAET0oB,EAAShC,EAAe,CAACxmB,IACzB,IAAIkpB,GAAS,EACb,MAAM1a,EAAOxO,EAAGqlB,IAAe8D,IACzBD,IAEJA,GAAS,EACTppB,IAEE0oB,EADEW,EACOxC,EAEAD,EAFkB,CAAC1mB,IAI9BA,EAAGqlB,SAAc,EACbkD,EAAmBhe,KAAUsJ,UACxB0U,EAAmBhe,GAC5B,EAEFge,EAAmBhe,GAAQsJ,EACvB4S,EACFgC,EAAchC,EAAS,CAACzmB,EAAIwO,IAE5BA,GAEJ,EACA6a,MAAM3I,GACGiH,GAAuBjH,EAAQxjB,EAAOsoB,EAAOhS,IAGxD,OAAOoV,CACT,CACA,SAASrB,GAAiB1T,GACxB,GAAIyV,GAAYzV,GAGd,OAFAA,EAAQ+H,GAAW/H,IACbgM,SAAW,KACVhM,CAEX,CACA,SAAS4T,GAAkB5T,GACzB,OAAOyV,GAAYzV,GAASA,EAAMgM,SAAWhM,EAAMgM,SAAS,QAAK,EAAShM,CAC5E,CACA,SAAS+T,GAAmB/T,EAAO+U,GACX,EAAlB/U,EAAMoH,WAAiBpH,EAAMgE,UAC/B+P,GAAmB/T,EAAMgE,UAAUyE,QAASsM,GACjB,IAAlB/U,EAAMoH,WACfpH,EAAM2K,UAAUzC,WAAa6M,EAAMS,MAAMxV,EAAM2K,WAC/C3K,EAAM6K,WAAW3C,WAAa6M,EAAMS,MAAMxV,EAAM6K,aAEhD7K,EAAMkI,WAAa6M,CAEvB,CACA,SAASxB,GAAyBvH,EAAU0J,GAAc,EAAOC,GAC/D,IAAI9lB,EAAM,GACN+lB,EAAqB,EACzB,IAAK,IAAIrqB,EAAI,EAAGA,EAAIygB,EAASxgB,OAAQD,IAAK,CACxC,IAAIsjB,EAAQ7C,EAASzgB,GACrB,MAAMhC,EAAmB,MAAbosB,EAAoB9G,EAAMtlB,IAAMvB,OAAO2tB,GAAa3tB,OAAoB,MAAb6mB,EAAMtlB,IAAcslB,EAAMtlB,IAAMgC,GACnGsjB,EAAM/mB,OAAS+tB,IACK,IAAlBhH,EAAMiH,WACRF,IACF/lB,EAAMA,EAAIoY,OACRsL,GAAyB1E,EAAM7C,SAAU0J,EAAansB,MAE/CmsB,GAAe7G,EAAM/mB,OAAS6f,KACvC9X,EAAI6C,KAAY,MAAPnJ,EAAcwe,GAAW8G,EAAO,CAAEtlB,QAASslB,EAExD,CACA,GAAI+G,EAAqB,EACvB,IAAK,IAAIrqB,EAAI,EAAGA,EAAIsE,EAAIrE,OAAQD,IAC9BsE,EAAItE,GAAGuqB,WAAa,EAGxB,OAAOjmB,CACT,CAIA,SAASkmB,GAAgBzgB,EAAS0gB,GAChC,OAAO,EAAW1gB,GAGA,KAAO,EAAO,CAAEvQ,KAAMuQ,EAAQvQ,MAAQixB,EAAc,CAAE5C,MAAO9d,IAHlD,GAIzBA,CACN,CAEA,MAAM2gB,GAAkB1qB,KAAQA,EAAEzD,KAAKouB,cAGvC,SAASC,GAAqBvY,GACxB,EAAWA,KACbA,EAAS,CAAEwY,OAAQxY,IAErB,MAAM,OACJwY,EAAM,iBACNC,EAAgB,eAChBC,EAAc,MACdC,EAAQ,IAAG,QACX9K,EAAO,YAEPgB,GAAc,EACd+J,QAASC,GACP7Y,EACJ,IACI8Y,EADAC,EAAiB,KAEjBC,EAAU,EACd,MAKMC,EAAO,KACX,IAAIC,EACJ,OAAOH,IAAmBG,EAAcH,EAAiBP,IAASrpB,OAAO6S,IAEvE,GADAA,EAAMA,aAAemX,MAAQnX,EAAM,IAAImX,MAAM/uB,OAAO4X,IAChD6W,EACF,OAAO,IAAIvV,SAAQ,CAACC,EAAS6V,KAG3BP,EAAY7W,GAFM,IAAMuB,GAV9ByV,IACAD,EAAiB,KACVE,QASgB,IAAMG,EAAOpX,IACQgX,EAAU,EAAE,IAGpD,MAAMhX,CACR,IACC9S,MAAMkY,GACH8R,IAAgBH,GAAkBA,EAC7BA,GAOL3R,IAASA,EAAKiS,YAA2C,WAA7BjS,EAAKla,OAAOC,gBAC1Cia,EAAOA,EAAKmH,SAKduK,EAAe1R,EACRA,KACN,EAEL,OAAO+Q,GAAgB,CACrBhxB,KAAM,wBACNmxB,cAAeW,EACf,mBAAIK,GACF,OAAOR,CACT,EACA,KAAAtD,GACE,MAAMzT,EAAWyJ,GACjB,GAAIsN,EACF,MAAO,IAAMS,GAAgBT,EAAc/W,GAE7C,MAAM6W,EAAW5W,IACf+W,EAAiB,KACjB9W,GACED,EACAD,EACA,IACC2W,EAEF,EAEH,GAAI7J,GAAe9M,EAAS6K,UAAY6F,GACtC,OAAOwG,IAAO/pB,MAAMkY,GACX,IAAMmS,GAAgBnS,EAAMrF,KAClC5S,OAAO6S,IACR4W,EAAQ5W,GACD,IAAM0W,EAAiB5O,GAAY4O,EAAgB,CACxD5wB,MAAOka,IACJ,QAGT,MAAMwX,EAASpa,IAAI,GACbtX,EAAQsX,KACRqa,EAAUra,KAAMuZ,GA0BtB,OAzBIA,GACF/uB,YAAW,KACT6vB,EAAQrsB,OAAQ,CAAK,GACpBurB,GAEU,MAAX9K,GACFjkB,YAAW,KACT,IAAK4vB,EAAOpsB,QAAUtF,EAAMsF,MAAO,CACjC,MAAM4U,EAAM,IAAImX,MACd,mCAAmCtL,QAErC+K,EAAQ5W,GACRla,EAAMsF,MAAQ4U,CAChB,IACC6L,GAELoL,IAAO/pB,MAAK,KACVsqB,EAAOpsB,OAAQ,EACX2U,EAASpN,QAAUkjB,GAAY9V,EAASpN,OAAOyN,QACjDuB,GAAS5B,EAASpN,OAAO8hB,OAC3B,IACCtnB,OAAO6S,IACR4W,EAAQ5W,GACRla,EAAMsF,MAAQ4U,CAAG,IAEZ,IACDwX,EAAOpsB,OAAS0rB,EACXS,GAAgBT,EAAc/W,GAC5Bja,EAAMsF,OAASsrB,EACjB5O,GAAY4O,EAAgB,CACjC5wB,MAAOA,EAAMsF,QAENqrB,IAAqBgB,EAAQrsB,MAC/B0c,GAAY2O,QADd,CAIX,GAEJ,CACA,SAASc,GAAgBnS,EAAMzS,GAC7B,MAAQyK,IAAKH,EAAI,MAAExT,EAAK,SAAE2iB,EAAQ,GAAEsL,GAAO/kB,EAAOyN,MAC5CA,EAAQ0H,GAAY1C,EAAM3b,EAAO2iB,GAIvC,OAHAhM,EAAMhD,IAAMH,EACZmD,EAAMsX,GAAKA,SACJ/kB,EAAOyN,MAAMsX,GACbtX,CACT,CAEA,MAAMyV,GAAezV,GAAUA,EAAMlY,KAAKyvB,cA+LpCC,GA9LgB,CACpBzyB,KAAM,YAINwyB,eAAe,EACfluB,MAAO,CACLouB,QAAS,CAACzvB,OAAQ0vB,OAAQprB,OAC1BqrB,QAAS,CAAC3vB,OAAQ0vB,OAAQprB,OAC1BsrB,IAAK,CAAC5vB,OAAQ+G,SAEhB,KAAAqkB,CAAM/pB,GAAO,MAAEud,IACb,MAAMjH,EAAW0T,KACXwE,EAAgBlY,EAASqG,IAC/B,IAAK6R,EAAcC,SACjB,MAAO,KACL,MAAM9L,EAAWpF,EAAMuF,SAAWvF,EAAMuF,UACxC,OAAOH,GAAgC,IAApBA,EAASxgB,OAAewgB,EAAS,GAAKA,CAAQ,EAGrE,MAAMve,EAAwB,IAAIuI,IAC5BhF,EAAuB,IAAI6C,IACjC,IAAIkkB,EAAU,KAEZpY,EAASqY,UAAYvqB,EAEvB,MAAMwc,EAAiBtK,EAAS6K,UAE9BsN,UACExW,EAAGgJ,EACH+B,EAAGC,EACHtB,GAAIiN,EACJ/tB,GAAG,cAAExC,KAELmwB,EACEK,EAAmBxwB,EAAc,OA8CvC,SAASujB,EAAQjL,GACfmY,GAAenY,GACfiY,EAASjY,EAAOL,EAAUsK,GAAgB,EAC5C,CACA,SAASmO,EAAWlhB,GAClBzJ,EAAMqC,SAAQ,CAACkQ,EAAOzW,KACpB,MAAMxE,EAAOukB,GAAiBtJ,EAAMlY,OAChC/C,GAAUmS,GAAWA,EAAOnS,IAC9BszB,EAAgB9uB,EAClB,GAEJ,CACA,SAAS8uB,EAAgB9uB,GACvB,MAAM4b,EAAS1X,EAAMnD,IAAIf,GACpBwuB,GAAYxM,GAAgBpG,EAAQ4S,GAE9BA,GACTI,GAAeJ,GAFf9M,EAAQ9F,GAIV1X,EAAMwH,OAAO1L,GACbyH,EAAKiE,OAAO1L,EACd,CAlEAsuB,EAAcS,SAAW,CAACtY,EAAO8J,EAAWC,EAAQG,EAAOE,KACzD,MAAMmO,EAAYvY,EAAMgE,UACxBsI,EAAKtM,EAAO8J,EAAWC,EAAQ,EAAGE,GAClCK,EACEiO,EAAUvY,MACVA,EACA8J,EACAC,EACAwO,EACAtO,EACAC,EACAlK,EAAMmK,aACNC,GAEFqG,IAAsB,KACpB8H,EAAUC,eAAgB,EACtBD,EAAUvxB,GACZqH,EAAekqB,EAAUvxB,GAE3B,MAAMyxB,EAAYzY,EAAM3W,OAAS2W,EAAM3W,MAAMqvB,eACzCD,GACFE,GAAgBF,EAAWF,EAAUhmB,OAAQyN,EAC/C,GACCiK,GAEDtG,GAAuB4U,EACzB,EAEFV,EAAce,WAAc5Y,IAC1B,MAAMuY,EAAYvY,EAAMgE,UACxBsI,EAAKtM,EAAOkY,EAAkB,KAAM,EAAGjO,GACvCwG,IAAsB,KAChB8H,EAAUM,IACZxqB,EAAekqB,EAAUM,IAE3B,MAAMJ,EAAYzY,EAAM3W,OAAS2W,EAAM3W,MAAMyvB,iBACzCL,GACFE,GAAgBF,EAAWF,EAAUhmB,OAAQyN,GAE/CuY,EAAUC,eAAgB,CAAI,GAC7BvO,GAEDtG,GAAuB4U,EACzB,EAwBF9I,IACE,IAAM,CAACpmB,EAAMouB,QAASpuB,EAAMsuB,WAC5B,EAAEF,EAASE,MACTF,GAAWW,GAAYrzB,GAASg0B,GAAQtB,EAAS1yB,KACjD4yB,GAAWS,GAAYrzB,IAAUg0B,GAAQpB,EAAS5yB,IAAM,GAG1D,CAAEuqB,MAAO,OAAQK,MAAM,IAEzB,IAAIqJ,EAAkB,KACtB,MAAMC,EAAe,KACI,MAAnBD,GACFvrB,EAAMsI,IAAIijB,EAAiBE,GAAcvZ,EAAS8I,SACpD,EAiBF,OAfAuJ,GAAUiH,GACVE,GAAUF,GACVhH,IAAgB,KACdxkB,EAAMqC,SAASqV,IACb,MAAM,QAAEsD,EAAO,SAAE+B,GAAa7K,EACxBK,EAAQkZ,GAAczQ,GAC5B,GAAItD,EAAOrd,OAASkY,EAAMlY,MAAQqd,EAAO5b,MAAQyW,EAAMzW,IAMvD0hB,EAAQ9F,OANR,CACEgT,GAAenY,GACf,MAAM6Y,EAAK7Y,EAAMgE,UAAU6U,GAC3BA,GAAMpI,GAAsBoI,EAAIrO,EAElC,CACe,GACf,IAEG,KAEL,GADAwO,EAAkB,MACbpS,EAAMuF,QACT,OAAO,KAET,MAAMH,EAAWpF,EAAMuF,UACjBiN,EAAWpN,EAAS,GAC1B,GAAIA,EAASxgB,OAAS,EAKpB,OADAusB,EAAU,KACH/L,EACF,IAAK8C,GAAQsK,MAAoC,EAArBA,EAAShS,WAAyC,IAArBgS,EAAShS,WAEvE,OADA2Q,EAAU,KACHqB,EAET,IAAIpZ,EAAQkZ,GAAcE,GAC1B,MAAMpU,EAAOhF,EAAMlY,KACb/C,EAAOukB,GACX2M,GAAejW,GAASA,EAAMlY,KAAKovB,iBAAmB,CAAC,EAAIlS,IAEvD,QAAEyS,EAAO,QAAEE,EAAO,IAAEC,GAAQvuB,EAClC,GAAIouB,KAAa1yB,IAASg0B,GAAQtB,EAAS1yB,KAAU4yB,GAAW5yB,GAAQg0B,GAAQpB,EAAS5yB,GAEvF,OADAgzB,EAAU/X,EACHoZ,EAET,MAAM7vB,EAAmB,MAAbyW,EAAMzW,IAAcyb,EAAOhF,EAAMzW,IACvC8vB,EAAc5rB,EAAMnD,IAAIf,GAyB9B,OAxBIyW,EAAM7T,KACR6T,EAAQ+H,GAAW/H,GACM,IAArBoZ,EAAShS,YACXgS,EAASzO,UAAY3K,IAGzBgZ,EAAkBzvB,EACd8vB,GACFrZ,EAAM7T,GAAKktB,EAAYltB,GACvB6T,EAAMgE,UAAYqV,EAAYrV,UAC1BhE,EAAMkI,YACR6L,GAAmB/T,EAAOA,EAAMkI,YAElClI,EAAMoH,WAAa,IACnBpW,EAAKiE,OAAO1L,GACZyH,EAAKqF,IAAI9M,KAETyH,EAAKqF,IAAI9M,GACLquB,GAAO5mB,EAAKW,KAAOtE,SAASuqB,EAAK,KACnCS,EAAgBrnB,EAAKe,SAAS2I,OAAO1P,QAGzCgV,EAAMoH,WAAa,IACnB2Q,EAAU/X,EACHwJ,GAAW4P,EAAStxB,MAAQsxB,EAAWpZ,CAAK,CAEvD,GAGF,SAAS+Y,GAAQO,EAASv0B,GACxB,OAAI,EAAQu0B,GACHA,EAAQzR,MAAMvG,GAAMyX,GAAQzX,EAAGvc,KAC7B,EAASu0B,GACXA,EAAQhuB,MAAM,KAAKmW,SAAS1c,GFnkFS,oBAAtB0H,EEokFJ6sB,IACXA,EAAQ7yB,KAAK1B,EAGxB,CACA,SAASw0B,GAAYjW,EAAMhc,GACzBkyB,GAAsBlW,EAAM,IAAKhc,EACnC,CACA,SAASmyB,GAAcnW,EAAMhc,GAC3BkyB,GAAsBlW,EAAM,KAAMhc,EACpC,CACA,SAASkyB,GAAsBlW,EAAMxb,EAAMR,EAAS8hB,IAClD,MAAMsQ,EAAcpW,EAAKqW,QAAUrW,EAAKqW,MAAQ,KAC9C,IAAI5B,EAAUzwB,EACd,KAAOywB,GAAS,CACd,GAAIA,EAAQS,cACV,OAEFT,EAAUA,EAAQxlB,MACpB,CACA,OAAO+Q,GAAM,GAGf,GADAsW,GAAW9xB,EAAM4xB,EAAapyB,GAC1BA,EAAQ,CACV,IAAIywB,EAAUzwB,EAAOiL,OACrB,KAAOwlB,GAAWA,EAAQxlB,QACpBkjB,GAAYsC,EAAQxlB,OAAOyN,QAC7B6Z,GAAsBH,EAAa5xB,EAAMR,EAAQywB,GAEnDA,EAAUA,EAAQxlB,MAEtB,CACF,CACA,SAASsnB,GAAsBvW,EAAMxb,EAAMR,EAAQwyB,GACjD,MAAMC,EAAWH,GACf9xB,EACAwb,EACAwW,GACA,GAGFE,IAAY,KACV/tB,EAAO6tB,EAAchyB,GAAOiyB,EAAS,GACpCzyB,EACL,CACA,SAAS6wB,GAAenY,GACtBA,EAAMoH,YAAa,IACnBpH,EAAMoH,YAAa,GACrB,CACA,SAAS8R,GAAclZ,GACrB,OAAyB,IAAlBA,EAAMoH,UAAkBpH,EAAM2K,UAAY3K,CACnD,CAEA,SAAS4Z,GAAW9xB,EAAMwb,EAAMhc,EAAS8hB,GAAiB6Q,GAAU,GAClE,GAAI3yB,EAAQ,CACV,MAAMytB,EAAQztB,EAAOQ,KAAUR,EAAOQ,GAAQ,IACxC4xB,EAAcpW,EAAK4W,QAAU5W,EAAK4W,MAAQ,IAAI5iB,KAClD,GAAIhQ,EAAO+c,YACT,OAEFzO,KACAukB,GAAmB7yB,GACnB,MAAM+H,EAAMyQ,GAA2BwD,EAAMhc,EAAQQ,EAAMwP,GAG3D,OAFA8iB,KACAvkB,KACOxG,CAAG,GAOZ,OALI4qB,EACFlF,EAAMsF,QAAQX,GAEd3E,EAAMriB,KAAKgnB,GAENA,CACT,CAMF,CACA,MAAMY,GAAcC,GAAc,CAACjX,EAAMhc,EAAS8hB,OAE9CiH,IAAuC,OAAdkK,IAAuBX,GAAWW,GAAW,IAAIjjB,IAASgM,KAAQhM,IAAOhQ,GAEhGkzB,GAAgBF,GAAW,MAC3BtI,GAAYsI,GAAW,KACvBG,GAAiBH,GAAW,MAC5BnB,GAAYmB,GAAW,KACvBrI,GAAkBqI,GAAW,OAC7BN,GAAcM,GAAW,MACzBI,GAAmBJ,GAAW,MAC9BK,GAAoBL,GACxB,OAEIM,GAAkBN,GACtB,OAEF,SAASO,GAAgBvX,EAAMhc,EAAS8hB,IACtCwQ,GAAW,KAAMtW,EAAMhc,EACzB,CAEA,SAASwzB,GAAWld,EAAQmd,EAAYttB,EAAO+E,GAC7C,IAAI3C,EACJ,MAAMsV,EAAS1X,GAASA,EAAM+E,GAC9B,GAAI,EAAQoL,IAAW,EAASA,GAAS,CACvC/N,EAAM,IAAIvD,MAAMsR,EAAOpS,QACvB,IAAK,IAAID,EAAI,EAAG2H,EAAI0K,EAAOpS,OAAQD,EAAI2H,EAAG3H,IACxCsE,EAAItE,GAAKwvB,EAAWnd,EAAOrS,GAAIA,OAAG,EAAQ4Z,GAAUA,EAAO5Z,GAE/D,MAAO,GAAsB,iBAAXqS,EAAqB,CAIrC/N,EAAM,IAAIvD,MAAMsR,GAChB,IAAK,IAAIrS,EAAI,EAAGA,EAAIqS,EAAQrS,IAC1BsE,EAAItE,GAAKwvB,EAAWxvB,EAAI,EAAGA,OAAG,EAAQ4Z,GAAUA,EAAO5Z,GAE3D,MAAO,GAAI,EAASqS,GAClB,GAAIA,EAAO9S,OAAOyP,UAChB1K,EAAMvD,MAAM0uB,KACVpd,GACA,CAACtO,EAAM/D,IAAMwvB,EAAWzrB,EAAM/D,OAAG,EAAQ4Z,GAAUA,EAAO5Z,UAEvD,CACL,MAAMyF,EAAO7G,OAAO6G,KAAK4M,GACzB/N,EAAM,IAAIvD,MAAM0E,EAAKxF,QACrB,IAAK,IAAID,EAAI,EAAG2H,EAAIlC,EAAKxF,OAAQD,EAAI2H,EAAG3H,IAAK,CAC3C,MAAMhC,EAAMyH,EAAKzF,GACjBsE,EAAItE,GAAKwvB,EAAWnd,EAAOrU,GAAMA,EAAKgC,EAAG4Z,GAAUA,EAAO5Z,GAC5D,CACF,MAEAsE,EAAM,GAKR,OAHIpC,IACFA,EAAM+E,GAAS3C,GAEVA,CACT,CAEA,SAASorB,GAAYrU,EAAOsU,GAC1B,IAAK,IAAI3vB,EAAI,EAAGA,EAAI2vB,EAAa1vB,OAAQD,IAAK,CAC5C,MAAM4vB,EAAOD,EAAa3vB,GAC1B,GAAI,EAAQ4vB,GACV,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAK3vB,OAAQ4vB,IAC/BxU,EAAMuU,EAAKC,GAAGr2B,MAAQo2B,EAAKC,GAAG5tB,QAEvB2tB,IACTvU,EAAMuU,EAAKp2B,MAAQo2B,EAAK5xB,IAAM,IAAI+N,KAChC,MAAMjI,EAAM8rB,EAAK3tB,MAAM8J,GAGvB,OAFIjI,IACFA,EAAI9F,IAAM4xB,EAAK5xB,KACV8F,CAAG,EACR8rB,EAAK3tB,GAEb,CACA,OAAOoZ,CACT,CAEA,SAASyU,GAAWzU,EAAO7hB,EAAMsE,EAAQ,CAAC,EAAGqiB,EAAU4P,GACrD,GAAIhW,GAAyBiW,MAAQjW,GAAyB/S,QAAU0jB,GAAe3Q,GAAyB/S,SAAW+S,GAAyB/S,OAAOgpB,KAGzJ,MAFa,YAATx2B,IACFsE,EAAMtE,KAAOA,GACR2iB,GAAY,OAAQre,EAAOqiB,GAAYA,KAEhD,IAAIyP,EAAOvU,EAAM7hB,GAObo2B,GAAQA,EAAK5U,KACf4U,EAAK/U,IAAK,GAEZoI,KACA,MAAMgN,EAAmBL,GAAQM,GAAiBN,EAAK9xB,IACjDqyB,EAAWC,GACf9F,GACA,CACEtsB,IAAKF,EAAME,KAEXiyB,GAAoBA,EAAiBjyB,KAAO,IAAIxE,KAElDy2B,IAAqB9P,EAAWA,IAAa,IAC7C8P,GAAgC,IAAZ5U,EAAMhZ,EAAU,IAAM,GAQ5C,OANK0tB,GAAaI,EAASE,UACzBF,EAASvR,aAAe,CAACuR,EAASE,QAAU,OAE1CT,GAAQA,EAAK5U,KACf4U,EAAK/U,IAAK,GAELsV,CACT,CACA,SAASD,GAAiBI,GACxB,OAAOA,EAAOhU,MAAMgH,IACbC,GAAQD,IAETA,EAAM/mB,OAAS6f,MAEfkH,EAAM/mB,OAAS+tB,KAAa4F,GAAiB5M,EAAM7C,aAGpD6P,EAAS,IAChB,CAEA,SAASC,GAAWpxB,EAAKqxB,GACvB,MAAMlsB,EAAM,CAAC,EAKb,IAAK,MAAMtG,KAAOmB,EAChBmF,EAAIksB,GAA2B,QAAQt1B,KAAK8C,GAAO,MAAMA,IAAQ0E,EAAa1E,IAAQmB,EAAInB,GAE5F,OAAOsG,CACT,CAEA,MAAMmsB,GAAqBzwB,GACpBA,EAED0wB,GAAoB1wB,GACfulB,GAAevlB,IAAMA,EAAE+Q,MACzB0f,GAAkBzwB,EAAEgH,QAHlB,KAKL2pB,GAGY,EAAuB/xB,OAAOiB,OAAO,MAAO,CAC1D+wB,EAAI5wB,GAAMA,EACV6wB,IAAM7wB,GAAMA,EAAEyU,MAAM7T,GACpBkwB,MAAQ9wB,GAAMA,EAAEyb,KAChBsV,OAAS/wB,GAA6EA,EAAElC,MACxFkzB,OAAShxB,GAA6EA,EAAEsb,MACxF2V,OAASjxB,GAA6EA,EAAEqb,MACxF6V,MAAQlxB,GAA4EA,EAAEmxB,KACtFC,QAAUpxB,GAAMywB,GAAkBzwB,EAAEgH,QACpCqqB,MAAQrxB,GAAMywB,GAAkBzwB,EAAEqc,MAClCiV,MAAQtxB,GAAMA,EAAE6X,KAChB0Z,SAAWvxB,GAAsDA,EAAEzD,KACnEi1B,aAAexxB,GAAMA,EAAEyxB,IAAMzxB,EAAEyxB,EAAI,IAAMzb,GAAShW,EAAE8oB,SACpD4I,UAAY1xB,GAAMA,EAAEoD,IAAMpD,EAAEoD,EAAI0S,GAAS3L,KAAKnK,EAAE+Q,QAChD4gB,OAAS3xB,GAAoD,IAI3D4xB,GAAkB,CAACxL,EAAOpoB,IAAQooB,IAAUjmB,IAAcimB,EAAMyL,iBAAmB,EAAOzL,EAAOpoB,GACjG8zB,GAA8B,CAClC,GAAA/yB,EAAMsD,EAAG+R,GAAYpW,GACnB,MAAM,IAAEyc,EAAG,WAAEiB,EAAU,KAAED,EAAI,MAAE3d,EAAK,YAAEi0B,EAAW,KAAEx1B,EAAI,WAAEyY,GAAeZ,EAIxE,IAAI4d,EACJ,GAAe,MAAXh0B,EAAI,GAAY,CAClB,MAAMoF,EAAI2uB,EAAY/zB,GACtB,QAAU,IAANoF,EACF,OAAQA,GACN,KAAK,EACH,OAAOsY,EAAW1d,GACpB,KAAK,EACH,OAAOyd,EAAKzd,GACd,KAAK,EACH,OAAOyc,EAAIzc,GACb,KAAK,EACH,OAAOF,EAAME,OAEZ,IAAI4zB,GAAgBlW,EAAY1d,GAErC,OADA+zB,EAAY/zB,GAAO,EACZ0d,EAAW1d,GACb,GAAIyd,IAAStb,GAAa,EAAOsb,EAAMzd,GAE5C,OADA+zB,EAAY/zB,GAAO,EACZyd,EAAKzd,GACP,IAGJg0B,EAAkB5d,EAASgH,aAAa,KAAO,EAAO4W,EAAiBh0B,GAGxE,OADA+zB,EAAY/zB,GAAO,EACZF,EAAME,GACR,GAAIyc,IAAQta,GAAa,EAAOsa,EAAKzc,GAE1C,OADA+zB,EAAY/zB,GAAO,EACZyc,EAAIzc,GAEX+zB,EAAY/zB,GAAO,CACrB,CACF,CACA,MAAMi0B,EAAetB,GAAoB3yB,GACzC,IAAIk0B,EAAWC,EACf,OAAIF,GACU,WAARj0B,GACF,GAAMoW,EAAU,EAAOpW,GAKlBi0B,EAAa7d,KAGnB8d,EAAY31B,EAAK61B,gBAAkBF,EAAYA,EAAUl0B,IAEnDk0B,EACEzX,IAAQta,GAAa,EAAOsa,EAAKzc,IAC1C+zB,EAAY/zB,GAAO,EACZyc,EAAIzc,KAGXm0B,EAAmBnd,EAAWC,OAAOkd,iBAAkB,EAAOA,EAAkBn0B,GAGvEm0B,EAAiBn0B,QALrB,EAsBT,EACA,GAAAwM,EAAMnI,EAAG+R,GAAYpW,EAAKyB,GACxB,MAAM,KAAEgc,EAAI,WAAEC,EAAU,IAAEjB,GAAQrG,EAClC,OAAIwd,GAAgBlW,EAAY1d,IAC9B0d,EAAW1d,GAAOyB,GACX,GAIEgc,IAAStb,GAAa,EAAOsb,EAAMzd,IAC5Cyd,EAAKzd,GAAOyB,GACL,KACE,EAAO2U,EAAStW,MAAOE,IAInB,MAAXA,EAAI,IAAcA,EAAI2D,MAAM,KAAMyS,IAalCqG,EAAIzc,GAAOyB,EAGR,GACT,EACA,GAAAoL,EACExI,GAAG,KAAEoZ,EAAI,WAAEC,EAAU,YAAEqW,EAAW,IAAEtX,EAAG,WAAEzF,EAAU,aAAEoG,IACpDpd,GACD,IAAIg0B,EACJ,QAASD,EAAY/zB,IAAQyd,IAAStb,GAAa,EAAOsb,EAAMzd,IAAQ4zB,GAAgBlW,EAAY1d,KAASg0B,EAAkB5W,EAAa,KAAO,EAAO4W,EAAiBh0B,IAAQ,EAAOyc,EAAKzc,IAAQ,EAAO2yB,GAAqB3yB,IAAQ,EAAOgX,EAAWC,OAAOkd,iBAAkBn0B,EACxR,EACA,cAAAa,CAAe9C,EAAQiC,EAAKq0B,GAM1B,OALsB,MAAlBA,EAAWtzB,IACbhD,EAAOsG,EAAE0vB,YAAY/zB,GAAO,EACnB,EAAOq0B,EAAY,UAC5Bh5B,KAAKmR,IAAIzO,EAAQiC,EAAKq0B,EAAW5yB,MAAO,MAEnCmN,QAAQ/N,eAAe9C,EAAQiC,EAAKq0B,EAC7C,GAUIC,GAA6D,EACjE,CAAC,EACDR,GACA,CACE,GAAA/yB,CAAIhD,EAAQiC,GACV,GAAIA,IAAQuB,OAAOgzB,YAGnB,OAAOT,GAA4B/yB,IAAIhD,EAAQiC,EAAKjC,EACtD,EACA8O,IAAG,CAACxI,EAAGrE,IACkB,MAAXA,EAAI,KAAe4F,EAAkB5F,KAwEvD,SAASw0B,KAIP,OAAO,IACT,CACA,SAASC,KAIP,OAAO,IACT,CACA,SAASC,GAAaC,GAItB,CACA,SAASC,GAAc7oB,GAIvB,CACA,SAAS8oB,KAIP,OAAO,IACT,CACA,SAASC,KAIT,CACA,SAASC,GAAaj1B,EAAOk1B,GAI3B,OAAO,IACT,CACA,SAASC,KACP,OAAOC,KAAa7X,KACtB,CACA,SAAS8X,KACP,OAAOD,KAAa5X,KACtB,CACA,SAAS8X,GAASt1B,EAAOtE,EAAMuQ,GAC7B,MAAM/J,EAAI8nB,KASV,GAAI/d,GAAWA,EAAQspB,MAAO,CAC5B,MAAMtiB,EAAQU,GAAI3T,EAAMtE,IAUxB,OATA0qB,IACE,IAAMpmB,EAAMtE,KACXoU,GAAMmD,EAAMtR,MAAQmO,IAEvBsW,GAAMnT,GAAQtR,IACRA,IAAU3B,EAAMtE,IAClBwG,EAAE6X,KAAK,UAAUre,IAAQiG,EAC3B,IAEKsR,CACT,CACE,MAAO,CACL5K,WAAW,EACX,SAAI1G,GACF,OAAO3B,EAAMtE,EACf,EACA,SAAIiG,CAAMA,GACRO,EAAE6X,KAAK,UAAUre,IAAQiG,EAC3B,EAGN,CACA,SAASyzB,KACP,MAAMlzB,EAAI8nB,KAIV,OAAO9nB,EAAEszB,eAAiBtzB,EAAEszB,aAAeC,GAAmBvzB,GAChE,CACA,SAASwzB,GAAsB11B,GAC7B,OAAO,EAAQA,GAASA,EAAMwI,QAC5B,CAACtC,EAAY+R,KAAO/R,EAAW+R,GAAK,KAAM/R,IAC1C,CAAC,GACClG,CACN,CACA,SAAS21B,GAActiB,EAAK6hB,GAC1B,MAAMl1B,EAAQ01B,GAAsBriB,GACpC,IAAK,MAAMnT,KAAOg1B,EAAU,CAC1B,GAAIh1B,EAAIwC,WAAW,UACjB,SACF,IAAIkzB,EAAM51B,EAAME,GACZ01B,EACE,EAAQA,IAAQ,EAAWA,GAC7BA,EAAM51B,EAAME,GAAO,CAAEzB,KAAMm3B,EAAK9S,QAASoS,EAASh1B,IAElD01B,EAAI9S,QAAUoS,EAASh1B,GAER,OAAR01B,IACTA,EAAM51B,EAAME,GAAO,CAAE4iB,QAASoS,EAASh1B,KAIrC01B,GAAOV,EAAS,UAAUh1B,OAC5B01B,EAAIC,aAAc,EAEtB,CACA,OAAO71B,CACT,CACA,SAAS81B,GAAYn4B,EAAG0J,GACtB,OAAK1J,GAAM0J,EAEP,EAAQ1J,IAAM,EAAQ0J,GACjB1J,EAAEihB,OAAOvX,GACX,EAAO,CAAC,EAAGquB,GAAsB/3B,GAAI+3B,GAAsBruB,IAHzD1J,GAAK0J,CAIhB,CACA,SAAS0uB,GAAqB/1B,EAAOg2B,GACnC,MAAMxvB,EAAM,CAAC,EACb,IAAK,MAAMtG,KAAOF,EACXg2B,EAAa5d,SAASlY,IACzBY,OAAOC,eAAeyF,EAAKtG,EAAK,CAC9Bc,YAAY,EACZC,IAAK,IAAMjB,EAAME,KAIvB,OAAOsG,CACT,CACA,SAASyvB,GAAiBC,GACxB,MAAMvZ,EAAMqN,KAMZ,IAAImM,EAAYD,IAQhB,OAPAnF,KACIvtB,EAAU2yB,KACZA,EAAYA,EAAUzyB,OAAOlH,IAE3B,MADAs0B,GAAmBnU,GACbngB,CAAC,KAGJ,CAAC25B,EAAW,IAAMrF,GAAmBnU,GAC9C,CAiTA,SAASyZ,GAAaC,EAAI1E,EAAM2E,EAAQ1a,GAAU,GAChD,MAAM,OAAE2a,EAAQC,QAASC,GAAmB9E,EACxC8E,GACFL,GAAaC,EAAII,EAAgBH,GAAQ,GAEvCC,GACFA,EAAO9vB,SACJuc,GAAMoT,GAAaC,EAAIrT,EAAGsT,GAAQ,KAGvC,IAAK,MAAMp2B,KAAOyxB,EAChB,GAAI/V,GAAmB,WAAR1b,OAIR,CACL,MAAMw2B,EAAQC,GAA0Bz2B,IAAQo2B,GAAUA,EAAOp2B,GACjEm2B,EAAGn2B,GAAOw2B,EAAQA,EAAML,EAAGn2B,GAAMyxB,EAAKzxB,IAAQyxB,EAAKzxB,EACrD,CAEF,OAAOm2B,CACT,CACA,MAAMM,GAA4B,CAChChZ,KAAMiZ,GACN52B,MAAO62B,GACP9a,MAAO8a,GAEPC,QAASC,GACTxpB,SAAUwpB,GAEVC,aAAcC,GACdC,QAASD,GACTE,YAAaF,GACbpP,QAASoP,GACTG,aAAcH,GACdnP,QAASmP,GACTI,cAAeJ,GACfK,cAAeL,GACfM,UAAWN,GACXO,UAAWP,GACXQ,UAAWR,GACXS,YAAaT,GACbU,cAAeV,GACfW,eAAgBX,GAEhBY,WAAYd,GACZxP,WAAYwP,GAEZ3Q,MAoDF,SAA2BiQ,EAAI1E,GAC7B,IAAK0E,EACH,OAAO1E,EACT,IAAKA,EACH,OAAO0E,EACT,MAAMyB,EAAS,EAAuBh3B,OAAOiB,OAAO,MAAOs0B,GAC3D,IAAK,MAAMn2B,KAAOyxB,EAChBmG,EAAO53B,GAAO+2B,GAAaZ,EAAGn2B,GAAMyxB,EAAKzxB,IAE3C,OAAO43B,CACT,EA5DEC,QAASnB,GACToB,OAgBF,SAAqB3B,EAAI1E,GACvB,OAAOoF,GAAmBkB,GAAgB5B,GAAK4B,GAAgBtG,GACjE,GAhBA,SAASiF,GAAYP,EAAI1E,GACvB,OAAKA,EAGA0E,EAGE,WACL,OAAO,EACL,EAAWA,GAAMA,EAAG31B,KAAKnF,KAAMA,MAAQ86B,EACvC,EAAW1E,GAAQA,EAAKjxB,KAAKnF,KAAMA,MAAQo2B,EAE/C,EAPSA,EAHA0E,CAWX,CAIA,SAAS4B,GAAgB5kB,GACvB,GAAI,EAAQA,GAAM,CAChB,MAAMrN,EAAM,CAAC,EACb,IAAK,IAAI9D,EAAI,EAAGA,EAAImR,EAAIlR,OAAQD,IAC9B8D,EAAIqN,EAAInR,IAAMmR,EAAInR,GAEpB,OAAO8D,CACT,CACA,OAAOqN,CACT,CACA,SAAS4jB,GAAaZ,EAAI1E,GACxB,OAAO0E,EAAK,IAAI,IAAI7rB,IAAI,GAAGoU,OAAOyX,EAAI1E,KAAUA,CAClD,CACA,SAASoF,GAAmBV,EAAI1E,GAC9B,OAAO0E,EAAK,EAAuBv1B,OAAOiB,OAAO,MAAOs0B,EAAI1E,GAAQA,CACtE,CACA,SAASkF,GAAyBR,EAAI1E,GACpC,OAAI0E,EACE,EAAQA,IAAO,EAAQ1E,GAClB,IAAoB,IAAInnB,IAAI,IAAI6rB,KAAO1E,KAEzC,EACW7wB,OAAOiB,OAAO,MAC9B2zB,GAAsBW,GACtBX,GAA8B,MAAR/D,EAAeA,EAAO,CAAC,IAGxCA,CAEX,CAaA,SAASuG,KACP,MAAO,CACLrd,IAAK,KACL1D,OAAQ,CACNghB,YAAa,EACbC,aAAa,EACb/D,iBAAkB,CAAC,EACnBgE,sBAAuB,CAAC,EACxBjhB,kBAAc,EACdkhB,iBAAa,EACbC,gBAAiB,CAAC,GAEpBhC,OAAQ,GACRsB,WAAY,CAAC,EACbtQ,WAAY,CAAC,EACbiR,SAA0B13B,OAAOiB,OAAO,MACxC02B,aAA8B,IAAI3tB,QAClC4tB,WAA4B,IAAI5tB,QAChC+Q,WAA4B,IAAI/Q,QAEpC,CACA,IAAI6tB,GAAQ,EACZ,SAASC,GAAanb,EAAQ8E,GAC5B,OAAO,SAAmBsW,EAAeC,EAAY,MAC9C,EAAWD,KACdA,EAAgB,EAAO,CAAC,EAAGA,IAEZ,MAAbC,GAAsB,EAASA,KAEjCA,EAAY,MAEd,MAAMC,EAAUb,KAaVc,EAAmC,IAAIC,QAC7C,IAAI1Q,GAAY,EAChB,MAAM1N,EAAMke,EAAQle,IAAM,CACxBqe,KAAMP,KACNQ,WAAYN,EACZO,OAAQN,EACRO,WAAY,KACZC,SAAUP,EACVQ,UAAW,KACXC,WACA,UAAIriB,GACF,OAAO4hB,EAAQ5hB,MACjB,EACA,UAAIA,CAAOrH,GAMX,EACA2pB,IAAG,CAACC,KAAWztB,KACT+sB,EAAiBjsB,IAAI2sB,KAEdA,GAAU,EAAWA,EAAOC,UACrCX,EAAiBhsB,IAAI0sB,GACrBA,EAAOC,QAAQ9e,KAAQ5O,IACd,EAAWytB,KACpBV,EAAiBhsB,IAAI0sB,GACrBA,EAAO7e,KAAQ5O,KAMV4O,GAET+e,MAAMA,GAYG/e,EAETF,UAAS,CAACjf,EAAMif,IAITA,GAMLoe,EAAQlB,WAAWn8B,GAAQif,EACpBE,GANEke,EAAQlB,WAAWn8B,GAQ9Bm+B,UAAS,CAACn+B,EAAMm+B,IAITA,GAMLd,EAAQxR,WAAW7rB,GAAQm+B,EACpBhf,GANEke,EAAQxR,WAAW7rB,GAQ9B,KAAAo+B,CAAMC,EAAeC,EAAWnZ,GAC9B,IAAK0H,EAAW,CAOd,MAAM5R,EAAQ0H,GAAYwa,EAAeC,GAmBzC,OAlBAniB,EAAMO,WAAa6hB,EAMfiB,GAAazX,EACfA,EAAQ5L,EAAOojB,GAEftc,EAAO9G,EAAOojB,EAAelZ,GAE/B0H,GAAY,EACZ1N,EAAIwe,WAAaU,EACjBA,EAAcE,YAAcpf,EAE1BA,EAAI0e,UAAY5iB,EAAMgE,UAxtGlC,SAAyBE,EAAK2e,GAC5B3f,GAAO,WAA2BgB,EAAK2e,EAAS,CAC9ChN,YACA0N,QACA5b,WACA6b,WAEJ,CAktGYC,CAAgBvf,EAAK2e,IAEhB/R,GAAe9Q,EAAMgE,YAAchE,EAAMgE,UAAU1H,KAC5D,CAMF,EACA,OAAA2O,GACM2G,IACF9K,EAAO,KAAM5C,EAAIwe,YAEfxe,EAAI0e,UAAY,KA/tG5B,SAA4B1e,GAC1BhB,GAAO,cAAiCgB,EAC1C,CA8tGYwf,CAAmBxf,UAEdA,EAAIwe,WAAWY,YAI1B,EACAlC,QAAO,CAAC73B,EAAKyB,KAMXo3B,EAAQP,SAASt4B,GAAOyB,EACjBkZ,GAET,cAAAyf,CAAen2B,GACbo2B,GAAa1f,EACb,IACE,OAAO1W,GACT,CAAE,QACAo2B,GAAa,IACf,CACF,GAEF,OAAO1f,CACT,CACF,CACA,IAAI0f,GAAa,KAEjB,SAASxC,GAAQ73B,EAAKyB,GACpB,GAAKoe,GAIE,CACL,IAAIyY,EAAWzY,GAAgByY,SAC/B,MAAMgC,EAAiBza,GAAgB7W,QAAU6W,GAAgB7W,OAAOsvB,SACpEgC,IAAmBhC,IACrBA,EAAWzY,GAAgByY,SAAW13B,OAAOiB,OAAOy4B,IAEtDhC,EAASt4B,GAAOyB,CAClB,CACF,CACA,SAASq2B,GAAO93B,EAAKyV,EAAc8kB,GAAwB,GACzD,MAAMnkB,EAAWyJ,IAAmB9D,GACpC,GAAI3F,GAAYikB,GAAY,CAC1B,MAAM/B,EAAWliB,EAA8B,MAAnBA,EAASpN,OAAiBoN,EAASK,MAAMO,YAAcZ,EAASK,MAAMO,WAAWshB,SAAWliB,EAASpN,OAAOsvB,SAAW+B,GAAWjB,SAASd,SACvK,GAAIA,GAAYt4B,KAAOs4B,EACrB,OAAOA,EAASt4B,GACX,GAAI0V,UAAUzT,OAAS,EAC5B,OAAOs4B,GAAyB,EAAW9kB,GAAgBA,EAAajV,KAAK4V,GAAYA,EAASrD,OAAS0C,CAI/G,CAGF,CACA,SAAS+kB,KACP,SAAU3a,IAAmB9D,IAA4Bse,GAC3D,CAgIA,SAASI,GAAarkB,EAAU8T,EAAUpqB,EAAOwd,GAC/C,MAAOvR,EAAS2uB,GAAgBtkB,EAASgH,aACzC,IACIud,EADAC,GAAkB,EAEtB,GAAI1Q,EACF,IAAK,IAAIlqB,KAAOkqB,EAAU,CACxB,GAAInmB,EAAe/D,GACjB,SAEF,MAAMyB,EAAQyoB,EAASlqB,GACvB,IAAI66B,EACA9uB,GAAW,EAAOA,EAAS8uB,EAAWz2B,EAASpE,IAC5C06B,GAAiBA,EAAaxiB,SAAS2iB,IAGzCF,IAAkBA,EAAgB,CAAC,IAAIE,GAAYp5B,EAFpD3B,EAAM+6B,GAAYp5B,EAIVqa,GAAe1F,EAAS2I,aAAc/e,IAC1CA,KAAOsd,GAAU7b,IAAU6b,EAAMtd,KACrCsd,EAAMtd,GAAOyB,EACbm5B,GAAkB,EAGxB,CAEF,GAAIF,EAAc,CAChB,MAAMI,EAAkB,GAAMh7B,GACxBi7B,EAAaJ,GAAiBx4B,EACpC,IAAK,IAAIH,EAAI,EAAGA,EAAI04B,EAAaz4B,OAAQD,IAAK,CAC5C,MAAMhC,EAAM06B,EAAa14B,GACzBlC,EAAME,GAAOg7B,GACXjvB,EACA+uB,EACA96B,EACA+6B,EAAW/6B,GACXoW,GACC,EAAO2kB,EAAY/6B,GAExB,CACF,CACA,OAAO46B,CACT,CACA,SAASI,GAAiBjvB,EAASjM,EAAOE,EAAKyB,EAAO2U,EAAU6kB,GAC9D,MAAMvF,EAAM3pB,EAAQ/L,GACpB,GAAW,MAAP01B,EAAa,CACf,MAAMwF,EAAa,EAAOxF,EAAK,WAC/B,GAAIwF,QAAwB,IAAVz5B,EAAkB,CAClC,MAAMgU,EAAeigB,EAAI9S,QACzB,GAAI8S,EAAIn3B,OAAS2C,WAAaw0B,EAAIC,aAAe,EAAWlgB,GAAe,CACzE,MAAM,cAAE0lB,GAAkB/kB,EACtBpW,KAAOm7B,EACT15B,EAAQ05B,EAAcn7B,IAEtB4wB,GAAmBxa,GACnB3U,EAAQ05B,EAAcn7B,GAAOyV,EAAajV,KACxC,KACAV,GAEF+wB,KAEJ,MACEpvB,EAAQgU,CAEZ,CACIigB,EAAI,KACFuF,IAAaC,EACfz5B,GAAQ,GACCi0B,EAAI,IAAsC,KAAVj0B,GAAgBA,IAAU,EAAUzB,KAC7EyB,GAAQ,GAGd,CACA,OAAOA,CACT,CACA,SAAS25B,GAAsB3f,EAAMzE,EAAY0E,GAAU,GACzD,MAAMxX,EAAQ8S,EAAWwhB,WACnB5c,EAAS1X,EAAMnD,IAAI0a,GACzB,GAAIG,EACF,OAAOA,EAET,MAAMzI,EAAMsI,EAAK3b,MACXkG,EAAa,CAAC,EACd00B,EAAe,GAoBrB,IAAKvnB,EAIH,OAHI,EAASsI,IACXvX,EAAMsI,IAAIiP,EAAMrZ,GAEXA,EAET,GAAI,EAAQ+Q,GACV,IAAK,IAAInR,EAAI,EAAGA,EAAImR,EAAIlR,OAAQD,IAAK,CAInC,MAAMq5B,EAAgBj3B,EAAS+O,EAAInR,IAC/Bs5B,GAAiBD,KACnBr1B,EAAWq1B,GAAiBl5B,EAEhC,MACK,GAAIgR,EAIT,IAAK,MAAMnT,KAAOmT,EAAK,CACrB,MAAMkoB,EAAgBj3B,EAASpE,GAC/B,GAAIs7B,GAAiBD,GAAgB,CACnC,MAAM3F,EAAMviB,EAAInT,GACVoB,EAAO4E,EAAWq1B,GAAiB,EAAQ3F,IAAQ,EAAWA,GAAO,CAAEn3B,KAAMm3B,GAAQ,EAAO,CAAC,EAAGA,GACtG,GAAIt0B,EAAM,CACR,MAAMm6B,EAAeC,GAAa1S,QAAS1nB,EAAK7C,MAC1Ck9B,EAAcD,GAAa/8B,OAAQ2C,EAAK7C,MAC9C6C,EAAK,GAAsBm6B,GAAgB,EAC3Cn6B,EAAK,GAA0Bq6B,EAAc,GAAKF,EAAeE,GAC7DF,GAAgB,GAAK,EAAOn6B,EAAM,aACpCs5B,EAAavxB,KAAKkyB,EAEtB,CACF,CACF,CAEF,MAAMv1B,EAAM,CAACE,EAAY00B,GAIzB,OAHI,EAASjf,IACXvX,EAAMsI,IAAIiP,EAAM3V,GAEXA,CACT,CACA,SAASw1B,GAAiBt7B,GACxB,MAAe,MAAXA,EAAI,EAMV,CACA,SAAS07B,GAAQC,GACf,MAAMC,EAAQD,GAAQA,EAAKj4B,WAAWk4B,MAAM,8BAC5C,OAAOA,EAAQA,EAAM,GAAc,OAATD,EAAgB,OAAS,EACrD,CACA,SAASE,GAAWp+B,EAAG0J,GACrB,OAAOu0B,GAAQj+B,KAAOi+B,GAAQv0B,EAChC,CACA,SAASq0B,GAAaj9B,EAAMu9B,GAC1B,OAAI,EAAQA,GACHA,EAAcj0B,WAAWk0B,GAAMF,GAAWE,EAAGx9B,KAC3C,EAAWu9B,IACbD,GAAWC,EAAev9B,GAAQ,GAEnC,CACV,CAqGA,MAAMy9B,GAAiBh8B,GAAmB,MAAXA,EAAI,IAAsB,YAARA,EAC3Ci8B,GAAsBx6B,GAAU,EAAQA,GAASA,EAAMG,IAAImc,IAAkB,CAACA,GAAetc,IAC7Fy6B,GAAgB,CAACl8B,EAAKm8B,EAAS1f,KACnC,GAAI0f,EAAQxf,GACV,OAAOwf,EAET,MAAMn2B,EAAawW,IAAQ,IAAIzO,IAMtBkuB,GAAmBE,KAAWpuB,KACpC0O,GAEH,OADAzW,EAAWgX,IAAK,EACThX,CAAU,EAEbo2B,GAAuB,CAACC,EAAUhf,EAAOjH,KAC7C,MAAMqG,EAAM4f,EAASC,KACrB,IAAK,MAAMt8B,KAAOq8B,EAAU,CAC1B,GAAIL,GAAch8B,GAChB,SACF,MAAMyB,EAAQ46B,EAASr8B,GACvB,GAAI,EAAWyB,GACb4b,EAAMrd,GAAOk8B,GAAcl8B,EAAKyB,EAAOgb,QAClC,GAAa,MAAThb,EAAe,CAMxB,MAAMuE,EAAai2B,GAAmBx6B,GACtC4b,EAAMrd,GAAO,IAAMgG,CACrB,CACF,GAEIu2B,GAAsB,CAACnmB,EAAUqM,KAMrC,MAAMzc,EAAai2B,GAAmBxZ,GACtCrM,EAASiH,MAAMuF,QAAU,IAAM5c,CAAU,EAErCw2B,GAAY,CAACpmB,EAAUqM,KAC3B,GAA+B,GAA3BrM,EAASK,MAAMoH,UAAgB,CACjC,MAAMtf,EAAOkkB,EAASpe,EAClB9F,GACF6X,EAASiH,MAAQ,GAAMoF,GACvBxd,EAAIwd,EAAU,IAAKlkB,IAEnB69B,GACE3Z,EACArM,EAASiH,MAAQ,CAAC,EAExB,MACEjH,EAASiH,MAAQ,CAAC,EACdoF,GACF8Z,GAAoBnmB,EAAUqM,GAGlCxd,EAAImR,EAASiH,MAAOof,GAAmB,EAAE,EAErCC,GAAc,CAACtmB,EAAUqM,EAAU5B,KACvC,MAAM,MAAEpK,EAAK,MAAE4G,GAAUjH,EACzB,IAAIumB,GAAoB,EACpBC,EAA2Bz6B,EAC/B,GAAsB,GAAlBsU,EAAMoH,UAAgB,CACxB,MAAMtf,EAAOkkB,EAASpe,EAClB9F,EAISsiB,GAAsB,IAATtiB,EACtBo+B,GAAoB,GAEpB,EAAOtf,EAAOoF,GACT5B,GAAsB,IAATtiB,UACT8e,EAAMhZ,IAIjBs4B,GAAqBla,EAASoa,QAC9BT,GAAqB3Z,EAAUpF,IAEjCuf,EAA2Bna,CAC7B,MAAWA,IACT8Z,GAAoBnmB,EAAUqM,GAC9Bma,EAA2B,CAAEha,QAAS,IAExC,GAAI+Z,EACF,IAAK,MAAM38B,KAAOqd,EACX2e,GAAch8B,IAAyC,MAAjC48B,EAAyB58B,WAC3Cqd,EAAMrd,EAGnB,EAGF,SAAS88B,GAAOC,EAAQC,EAAWtc,EAAgBjK,EAAOwmB,GAAY,GACpE,GAAI,EAAQF,GAUV,YATAA,EAAOx2B,SACL,CAACjF,EAAGU,IAAM86B,GACRx7B,EACA07B,IAAc,EAAQA,GAAaA,EAAUh7B,GAAKg7B,GAClDtc,EACAjK,EACAwmB,KAKN,GAAIvQ,GAAejW,KAAWwmB,EAC5B,OAEF,MAAMC,EAA6B,EAAlBzmB,EAAMoH,UAAgB0J,GAAe9Q,EAAMgE,YAAchE,EAAMgE,UAAU1H,MAAQ0D,EAAM7T,GAClGnB,EAAQw7B,EAAY,KAAOC,GACzBl7B,EAAGm7B,EAAO77B,EAAGmS,GAAQspB,EAOvBK,EAASJ,GAAaA,EAAU17B,EAChC6xB,EAAOgK,EAAMhK,OAAShxB,EAAYg7B,EAAMhK,KAAO,CAAC,EAAIgK,EAAMhK,KAC1DzV,EAAayf,EAAMzf,WAWzB,GAVc,MAAV0f,GAAkBA,IAAW3pB,IAC3B,EAAS2pB,IACXjK,EAAKiK,GAAU,KACX,EAAO1f,EAAY0f,KACrB1f,EAAW0f,GAAU,OAEd,GAAMA,KACfA,EAAO37B,MAAQ,OAGf,EAAWgS,GACb0C,GAAsB1C,EAAK0pB,EAAO,GAAI,CAAC17B,EAAO0xB,QACzC,CACL,MAAMkK,EAAY,EAAS5pB,GACrB6pB,EAAS,GAAM7pB,GACrB,GAAI4pB,GAAaC,EAAQ,CACvB,MAAMC,EAAQ,KACZ,GAAIR,EAAOtJ,EAAG,CACZ,MAAM+J,EAAWH,EAAY,EAAO3f,EAAYjK,GAAOiK,EAAWjK,GAAO0f,EAAK1f,GAAOA,EAAIhS,MACrFw7B,EACF,EAAQO,IAAa96B,EAAO86B,EAAUN,GAEjC,EAAQM,GAWDA,EAAStlB,SAASglB,IAC5BM,EAASr0B,KAAK+zB,GAXVG,GACFlK,EAAK1f,GAAO,CAACypB,GACT,EAAOxf,EAAYjK,KACrBiK,EAAWjK,GAAO0f,EAAK1f,MAGzBA,EAAIhS,MAAQ,CAACy7B,GACTH,EAAOU,IACTtK,EAAK4J,EAAOU,GAAKhqB,EAAIhS,OAM/B,MAAW47B,GACTlK,EAAK1f,GAAOhS,EACR,EAAOic,EAAYjK,KACrBiK,EAAWjK,GAAOhS,IAEX67B,IACT7pB,EAAIhS,MAAQA,EACRs7B,EAAOU,IACTtK,EAAK4J,EAAOU,GAAKh8B,GACkC,EAIrDA,GACF87B,EAAMplB,IAAM,EACZ+O,GAAsBqW,EAAO7c,IAE7B6c,GAEJ,CAGF,CACF,CAEA,IAAIG,IAAc,EAClB,MAAMC,GAAkBpd,GAAc,MAAMrjB,KAAKqjB,EAAUqd,eAAuC,kBAAtBrd,EAAUsd,QAChFC,GAAarhC,GAA2B,IAAlBA,EAAKshC,SACjC,SAASC,GAAyBld,GAChC,MACEmd,GAAIC,EACJnmB,EAAGgJ,EACHpgB,GAAG,UACDw9B,EAAS,WACTC,EAAU,YACVC,EAAW,WACX9b,EAAU,OACV7f,EAAM,OACN47B,EAAM,cACNC,IAEAzd,EAmBEwB,EAAc,CAAC7lB,EAAMga,EAAOgK,EAAiBC,EAAgBE,EAAcC,GAAY,KAC3F,MAAM2d,EAAkBV,GAAUrhC,IAAuB,MAAdA,EAAKghB,KAC1CghB,EAAa,IAAMC,EACvBjiC,EACAga,EACAgK,EACAC,EACAE,EACA4d,IAEI,KAAEjgC,EAAI,IAAEkV,EAAG,UAAEoK,EAAS,UAAE0O,GAAc9V,EAC5C,IAAIkoB,EAAUliC,EAAKshC,SACnBtnB,EAAM7T,GAAKnG,GACQ,IAAf8vB,IACF1L,GAAY,EACZpK,EAAMgP,gBAAkB,MAE1B,IAAImZ,EAAW,KACf,OAAQrgC,GACN,KAAKy7B,GACa,IAAZ2E,EACqB,KAAnBloB,EAAMgM,UACR6b,EAAO7nB,EAAM7T,GAAKw7B,EAAW,IAAK7b,EAAW9lB,GAAOA,GACpDmiC,EAAWniC,GAEXmiC,EAAWH,KAGThiC,EAAKghB,OAAShH,EAAMgM,WACtBib,IAAc,EAQdjhC,EAAKghB,KAAOhH,EAAMgM,UAEpBmc,EAAWP,EAAY5hC,IAEzB,MACF,KAAK2hB,GACCygB,EAAepiC,IACjBmiC,EAAWP,EAAY5hC,GACvBqiC,EACEroB,EAAM7T,GAAKnG,EAAKsiC,QAAQC,WACxBviC,EACAgkB,IAGFme,EADqB,IAAZD,GAA+BH,EAC7BC,IAEAJ,EAAY5hC,GAEzB,MACF,KAAKw9B,GAKH,GAJIuE,IAEFG,GADAliC,EAAO4hC,EAAY5hC,IACJshC,UAED,IAAZY,GAA2C,IAAZA,EAA0B,CAC3DC,EAAWniC,EACX,MAAMwiC,GAAsBxoB,EAAMgM,SAASxgB,OAC3C,IAAK,IAAID,EAAI,EAAGA,EAAIyU,EAAMyoB,YAAal9B,IACjCi9B,IACFxoB,EAAMgM,UAAkC,IAAtBmc,EAASb,SAA+Ba,EAASO,UAAYP,EAASnhB,MACtFzb,IAAMyU,EAAMyoB,YAAc,IAC5BzoB,EAAM+J,OAASoe,GAEjBA,EAAWP,EAAYO,GAEzB,OAAOJ,EAAkBH,EAAYO,GAAYA,CACnD,CACEH,IAEF,MACF,KAAKnS,GAIDsS,EAHGJ,EAGQY,EACT3iC,EACAga,EACAgK,EACAC,EACAE,EACAC,GARS4d,IAWb,MACF,QACE,GAAgB,EAAZ5gB,EAIA+gB,EAHe,IAAZD,GAA+BloB,EAAMlY,KAAK2D,gBAAkBzF,EAAKohC,QAAQ37B,eAAmB28B,EAAepiC,GAGnG4iC,EACT5iC,EACAga,EACAgK,EACAC,EACAE,EACAC,GARS4d,SAWR,GAAgB,EAAZ5gB,EAAe,CACxBpH,EAAMmK,aAAeA,EACrB,MAAML,EAAYgC,EAAW9lB,GAiB7B,GAfEmiC,EADEJ,EACSc,EAAoB7iC,GACtBqhC,GAAUrhC,IAAuB,mBAAdA,EAAKghB,KACtB6hB,EAAoB7iC,EAAMA,EAAKghB,KAAM,gBAErC4gB,EAAY5hC,GAEzByhC,EACEznB,EACA8J,EACA,KACAE,EACAC,EACAid,GAAepd,GACfM,GAEE6L,GAAejW,GAAQ,CACzB,IAAIyI,EACAsf,GACFtf,EAAUf,GAAYmO,IACtBpN,EAAQsB,OAASoe,EAAWA,EAASW,gBAAkBhf,EAAUif,WAEjEtgB,EAA4B,IAAlBziB,EAAKshC,SAAiB0B,GAAgB,IAAMthB,GAAY,OAEpEe,EAAQtc,GAAKnG,EACbga,EAAMgE,UAAUyE,QAAUA,CAC5B,CACF,MAAuB,GAAZrB,EAEP+gB,EADc,IAAZD,EACSF,IAEAhoB,EAAMlY,KAAK8jB,QACpB5lB,EACAga,EACAgK,EACAC,EACAE,EACAC,EACAC,EACA4e,GAGiB,IAAZ7hB,IACT+gB,EAAWnoB,EAAMlY,KAAK8jB,QACpB5lB,EACAga,EACAgK,EACAC,EACAid,GAAepb,EAAW9lB,IAC1BmkB,EACAC,EACAC,EACAwB,IASR,OAHW,MAAP7O,GACFqpB,GAAOrpB,EAAK,KAAMiN,EAAgBjK,GAE7BmoB,CAAQ,EAEXS,EAAiB,CAACz8B,EAAI6T,EAAOgK,EAAiBC,EAAgBE,EAAcC,KAChFA,EAAYA,KAAepK,EAAMgP,gBACjC,MAAM,KAAElnB,EAAI,MAAEuB,EAAK,UAAEysB,EAAS,UAAE1O,EAAS,KAAEY,EAAI,WAAEE,GAAelI,EAC1DkpB,EAA2B,UAATphC,GAAoBkgB,GAAiB,WAATlgB,EACpD,GAAiDohC,IAAkC,IAAfpT,EAAkB,CAIpF,GAHI9N,GACFoJ,GAAoBpR,EAAO,KAAMgK,EAAiB,WAEhD3gB,EACF,GAAI6/B,IAAoB9e,GAAyB,GAAZ0L,EACnC,IAAK,MAAMvsB,KAAOF,GACZ6/B,GAAmB3/B,EAAI4/B,SAAS,UAAYt9B,EAAKtC,KAAS+D,EAAe/D,KAC3Em+B,EACEv7B,EACA5C,EACA,KACAF,EAAME,IACN,OACA,EACAygB,QAIG3gB,EAAM+/B,SACf1B,EACEv7B,EACA,UACA,KACA9C,EAAM+/B,SACN,OACA,EACApf,GAIN,IAAIqf,GACAA,EAAahgC,GAASA,EAAMigC,qBAC9B3Q,GAAgB0Q,EAAYrf,EAAiBhK,GAE/C,IAAIupB,GAA0B,EAC9B,GAAInB,EAAej8B,GAAK,CACtBo9B,EAA0BC,GAAevf,EAAgB/B,IAAe8B,GAAmBA,EAAgBhK,MAAM3W,OAAS2gB,EAAgBhK,MAAM3W,MAAM+oB,OACtJ,MAAMkW,EAAUn8B,EAAGm8B,QAAQC,WACvBgB,GACFrhB,EAAW8M,YAAYsT,GAEzBD,EAAYC,EAASn8B,EAAI6d,GACzBhK,EAAM7T,GAAKA,EAAKm8B,CAClB,CAWA,GAVItgB,GACFoJ,GAAoBpR,EAAO,KAAMgK,EAAiB,iBAE/Cqf,EAAahgC,GAASA,EAAMqvB,iBAAmB1Q,GAAQuhB,IAC1Dta,IAAwB,KACtBoa,GAAc1Q,GAAgB0Q,EAAYrf,EAAiBhK,GAC3DupB,GAA2BrhB,EAAWgN,MAAM/oB,GAC5C6b,GAAQoJ,GAAoBpR,EAAO,KAAMgK,EAAiB,UAAU,GACnEC,GAEW,GAAZ7C,KACF/d,IAAUA,EAAMogC,YAAapgC,EAAMqgC,aAAe,CAClD,IAAIhvB,EAAOuuB,EACT98B,EAAGo8B,WACHvoB,EACA7T,EACA6d,EACAC,EACAE,EACAC,GAGF,KAAO1P,GAAM,CACXusB,IAAc,EAOd,MAAMhnB,EAAMvF,EACZA,EAAOA,EAAKktB,YACZ37B,EAAOgU,EACT,CACF,MAAuB,EAAZmH,GACLjb,EAAGu9B,cAAgB1pB,EAAMgM,WAC3Bib,IAAc,EAMd96B,EAAGu9B,YAAc1pB,EAAMgM,SAG7B,CACA,OAAO7f,EAAGy7B,WAAW,EAEjBqB,EAAkB,CAACjjC,EAAM2jC,EAAa7f,EAAWE,EAAiBC,EAAgBE,EAAcC,KACpGA,EAAYA,KAAeuf,EAAY3a,gBACvC,MAAMhD,EAAW2d,EAAY3d,SACvB9Y,EAAI8Y,EAASxgB,OAEnB,IAAK,IAAID,EAAI,EAAGA,EAAI2H,EAAG3H,IAAK,CAC1B,MAAMyU,EAAQoK,EAAY4B,EAASzgB,GAAKygB,EAASzgB,GAAK+b,GAAe0E,EAASzgB,IAC9E,GAAIvF,EACFA,EAAO6lB,EACL7lB,EACAga,EACAgK,EACAC,EACAE,EACAC,OAEG,IAAIpK,EAAMlY,OAASy7B,KAASvjB,EAAMgM,SACvC,SAEAib,IAAc,EAOd3c,EACE,KACAtK,EACA8J,EACA,KACAE,EACAC,EACAid,GAAepd,GACfK,EAEJ,CACF,CACA,OAAOnkB,CAAI,EAEP2iC,EAAkB,CAAC3iC,EAAMga,EAAOgK,EAAiBC,EAAgBE,EAAcC,KACnF,MAAQD,aAAcyf,GAAyB5pB,EAC3C4pB,IACFzf,EAAeA,EAAeA,EAAalC,OAAO2hB,GAAwBA,GAE5E,MAAM9f,EAAYgC,EAAW9lB,GACvB0U,EAAOuuB,EACXrB,EAAY5hC,GACZga,EACA8J,EACAE,EACAC,EACAE,EACAC,GAEF,OAAI1P,GAAQ2sB,GAAU3sB,IAAuB,MAAdA,EAAKsM,KAC3B4gB,EAAY5nB,EAAM+J,OAASrP,IAElCusB,IAAc,EACdY,EAAO7nB,EAAM+J,OAAS+d,EAAc,KAAMhe,EAAWpP,GAC9CA,EACT,EAEIutB,EAAiB,CAACjiC,EAAMga,EAAOgK,EAAiBC,EAAgBE,EAAc0f,KAYlF,GAXA5C,IAAc,EAUdjnB,EAAM7T,GAAK,KACP09B,EAAY,CACd,MAAMjoB,EAAMinB,EAAoB7iC,GAChC,OAAa,CACX,MAAM8jC,EAAQlC,EAAY5hC,GAC1B,IAAI8jC,GAASA,IAAUloB,EAGrB,MAFA3V,EAAO69B,EAIX,CACF,CACA,MAAMpvB,EAAOktB,EAAY5hC,GACnB8jB,EAAYgC,EAAW9lB,GAY7B,OAXAiG,EAAOjG,GACPskB,EACE,KACAtK,EACA8J,EACApP,EACAsP,EACAC,EACAid,GAAepd,GACfK,GAEKzP,CAAI,EAEPmuB,EAAsB,CAAC7iC,EAAMb,EAAO,IAAK4kC,EAAQ,OACrD,IAAI5E,EAAQ,EACZ,KAAOn/B,GAEL,IADAA,EAAO4hC,EAAY5hC,KACPqhC,GAAUrhC,KAChBA,EAAKghB,OAAS7hB,GAChBggC,IACEn/B,EAAKghB,OAAS+iB,GAAO,CACvB,GAAc,IAAV5E,EACF,OAAOyC,EAAY5hC,GAEnBm/B,GAEJ,CAGJ,OAAOn/B,CAAI,EAEPqiC,EAAc,CAAC2B,EAASC,EAASjgB,KACrC,MAAMkgB,EAAcD,EAAQne,WACxBoe,GACFA,EAAYC,aAAaH,EAASC,GAEpC,IAAI13B,EAASyX,EACb,KAAOzX,GACDA,EAAOyN,MAAM7T,KAAO89B,IACtB13B,EAAOyN,MAAM7T,GAAKoG,EAAOkW,QAAQtc,GAAK69B,GAExCz3B,EAASA,EAAOA,MAClB,EAEI61B,EAAkBpiC,GACG,IAAlBA,EAAKshC,UAA+D,aAA/BthC,EAAKohC,QAAQ37B,cAE3D,MAAO,CAraS,CAACuU,EAAO8J,KACtB,IAAKA,EAAUsgB,gBAOb,OAHA9f,EAAM,KAAMtK,EAAO8J,GACnBrH,UACAqH,EAAUugB,OAASrqB,GAGrBinB,IAAc,EACdpb,EAAY/B,EAAUye,WAAYvoB,EAAO,KAAM,KAAM,MACrDyC,KACAqH,EAAUugB,OAASrqB,EACfinB,IACFxhC,QAAQC,MAAM,+CAChB,EAqZemmB,EACnB,CA8DA,MAAM4E,GAAwBxB,GAC9B,SAASqb,GAAeh1B,GACtB,OAAOi1B,GAAmBj1B,EAC5B,CACA,SAASk1B,GAAwBl1B,GAC/B,OAAOi1B,GAAmBj1B,EAASiyB,GACrC,CACA,SAASgD,GAAmBj1B,EAASm1B,GAInC,MAAMnjC,EAAS4H,IACf5H,EAAOojC,SAAU,EAEfrnB,GAAgB/b,EAAOqjC,6BAA8BrjC,GAEvD,MACEugC,OAAQ+C,EACR3+B,OAAQ4+B,EACRnD,UAAWoD,EACXpjC,cAAeqjC,EACfpD,WAAYqD,EACZlD,cAAemD,EACfC,QAASC,EACTC,eAAgBC,EAChBvf,WAAYwf,EACZ1D,YAAa2D,EACbC,WAAYC,EAAiB,EAC7BC,oBAAqBC,GACnBr2B,EACEgV,EAAQ,CAACV,EAAIC,EAAIC,EAAWC,EAAS,KAAMC,EAAkB,KAAMC,EAAiB,KAAMC,GAAQ,EAAOC,EAAe,KAAMC,IAAmFP,EAAGmF,mBACxN,GAAIpF,IAAOC,EACT,OAEED,IAAO2B,GAAgB3B,EAAIC,KAC7BE,EAAS6hB,EAAgBhiB,GACzBqB,EAAQrB,EAAII,EAAiBC,GAAgB,GAC7CL,EAAK,OAEe,IAAlBC,EAAGiM,YACL1L,GAAY,EACZP,EAAGmF,gBAAkB,MAEvB,MAAM,KAAElnB,EAAI,IAAEkV,EAAG,UAAEoK,GAAcyC,EACjC,OAAQ/hB,GACN,KAAKy7B,GACHsI,EAAYjiB,EAAIC,EAAIC,EAAWC,GAC/B,MACF,KAAKpC,GACHmkB,EAAmBliB,EAAIC,EAAIC,EAAWC,GACtC,MACF,KAAKyZ,GACO,MAAN5Z,GACFmiB,EAAgBliB,EAAIC,EAAWC,EAAQG,GAIzC,MACF,KAAK2L,GACHmW,EACEpiB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEF,MACF,QACkB,EAAZhD,EACF6kB,EACEriB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEmB,EAAZhD,EACT8kB,EACEtiB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,IAEmB,GAAZhD,GAaY,IAAZA,IAZTtf,EAAK6hB,QACHC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACA+hB,GAmBG,MAAPnvB,GAAegN,GACjBqc,GAAOrpB,EAAK4M,GAAMA,EAAG5M,IAAKiN,EAAgBJ,GAAMD,GAAKC,EACvD,EAEIgiB,EAAc,CAACjiB,EAAIC,EAAIC,EAAWC,KACtC,GAAU,MAANH,EACFghB,EACE/gB,EAAG1d,GAAK6+B,EAAenhB,EAAGmC,UAC1BlC,EACAC,OAEG,CACL,MAAM5d,EAAK0d,EAAG1d,GAAKyd,EAAGzd,GAClB0d,EAAGmC,WAAapC,EAAGoC,UACrBmf,EAAYh/B,EAAI0d,EAAGmC,SAEvB,GAEI8f,EAAqB,CAACliB,EAAIC,EAAIC,EAAWC,KACnC,MAANH,EACFghB,EACE/gB,EAAG1d,GAAK8+B,EAAkBphB,EAAGmC,UAAY,IACzClC,EACAC,GAGFF,EAAG1d,GAAKyd,EAAGzd,EACb,EAEI4/B,EAAkB,CAACliB,EAAIC,EAAWC,EAAQG,MAC7CL,EAAG1d,GAAI0d,EAAGE,QAAU4hB,EACnB9hB,EAAGmC,SACHlC,EACAC,EACAG,EACAL,EAAG1d,GACH0d,EAAGE,OACJ,EAmCGkiB,EAAiB,CAACriB,EAAIC,EAAIC,EAAWC,EAAQC,EAAiBC,EAAgBC,EAAOC,EAAcC,KACvGF,EAAQA,GAAqB,QAAZL,EAAG/hB,KACV,MAAN8hB,EACFwiB,EACEviB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAGFiiB,EACEziB,EACAC,EACAG,EACAC,EACAC,EACAC,EACAC,EAEJ,EAEIgiB,EAAe,CAACpsB,EAAO8J,EAAWC,EAAQC,EAAiBC,EAAgBC,EAAOC,EAAcC,KACpG,IAAIje,EACAssB,EACJ,MAAM,KAAE3wB,EAAI,MAAEuB,EAAK,UAAE+d,EAAS,WAAEc,EAAU,KAAEF,GAAShI,EAyBrD,GAxBA7T,EAAK6T,EAAM7T,GAAK4+B,EACd/qB,EAAMlY,KACNoiB,EACA7gB,GAASA,EAAM+E,GACf/E,GAEc,EAAZ+d,EACFikB,EAAmBl/B,EAAI6T,EAAMgM,UACR,GAAZ5E,GACTklB,EACEtsB,EAAMgM,SACN7f,EACA,KACA6d,EACAC,EACAC,GAAkB,kBAATpiB,EACTqiB,EACAC,GAGApC,GACFoJ,GAAoBpR,EAAO,KAAMgK,EAAiB,WAEpDwhB,EAAWr/B,EAAI6T,EAAOA,EAAM4b,QAASzR,EAAcH,GAC/C3gB,EAAO,CACT,IAAK,MAAME,KAAOF,EACJ,UAARE,GAAoB+D,EAAe/D,IACrCuhC,EACE3+B,EACA5C,EACA,KACAF,EAAME,GACN2gB,EACAlK,EAAMgM,SACNhC,EACAC,EACAsiB,GAIF,UAAWljC,GACbyhC,EAAc3+B,EAAI,QAAS,KAAM9C,EAAM2B,QAErCytB,EAAYpvB,EAAMigC,qBACpB3Q,GAAgBF,EAAWzO,EAAiBhK,EAEhD,CAEE7V,OAAOC,eAAe+B,EAAI,UAAW,CACnCnB,MAAOgV,EACP3V,YAAY,IAEdF,OAAOC,eAAe+B,EAAI,uBAAwB,CAChDnB,MAAOgf,EACP3f,YAAY,IAGZ2d,GACFoJ,GAAoBpR,EAAO,KAAMgK,EAAiB,eAEpD,MAAMuf,EAA0BC,GAAevf,EAAgB/B,GAC3DqhB,GACFrhB,EAAW8M,YAAY7oB,GAEzBy+B,EAAWz+B,EAAI2d,EAAWC,KACrB0O,EAAYpvB,GAASA,EAAMqvB,iBAAmB6Q,GAA2BvhB,IAC5EyI,IAAsB,KACpBgI,GAAaE,GAAgBF,EAAWzO,EAAiBhK,GACzDupB,GAA2BrhB,EAAWgN,MAAM/oB,GAC5C6b,GAAQoJ,GAAoBpR,EAAO,KAAMgK,EAAiB,UAAU,GACnEC,EACL,EAEIuhB,EAAa,CAACr/B,EAAI6T,EAAO4b,EAASzR,EAAcH,KAIpD,GAHI4R,GACF6P,EAAet/B,EAAIyvB,GAEjBzR,EACF,IAAK,IAAI5e,EAAI,EAAGA,EAAI4e,EAAa3e,OAAQD,IACvCkgC,EAAet/B,EAAIge,EAAa5e,IAGpC,GAAIye,GAKEhK,IAJUgK,EAAgBvB,QAIP,CACrB,MAAMkhB,EAAc3f,EAAgBhK,MACpCwrB,EACEr/B,EACAw9B,EACAA,EAAY/N,QACZ+N,EAAYxf,aACZH,EAAgBzX,OAEpB,CACF,EAEI+5B,EAAgB,CAACtgB,EAAUlC,EAAWC,EAAQC,EAAiBC,EAAgBC,EAAOC,EAAcC,EAAWzI,EAAQ,KAC3H,IAAK,IAAIpW,EAAIoW,EAAOpW,EAAIygB,EAASxgB,OAAQD,IAAK,CAC5C,MAAMsjB,EAAQ7C,EAASzgB,GAAK6e,EAAYoiB,GAAexgB,EAASzgB,IAAM+b,GAAe0E,EAASzgB,IAC9F+e,EACE,KACAuE,EACA/E,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,GAEIiiB,EAAe,CAACziB,EAAIC,EAAIG,EAAiBC,EAAgBC,EAAOC,EAAcC,KAClF,MAAMje,EAAK0d,EAAG1d,GAAKyd,EAAGzd,GACtB,IAAI,UAAE2pB,EAAS,gBAAE9G,EAAe,KAAEhH,GAAS6B,EAC3CiM,GAA4B,GAAflM,EAAGkM,UAChB,MAAM2W,EAAW7iB,EAAGvgB,OAASqC,EACvBghC,EAAW7iB,EAAGxgB,OAASqC,EAC7B,IAAI+sB,EACJzO,GAAmB2iB,GAAc3iB,GAAiB,IAC9CyO,EAAYiU,EAASE,sBACvBjU,GAAgBF,EAAWzO,EAAiBH,EAAID,GAE9C5B,GACFoJ,GAAoBvH,EAAID,EAAII,EAAiB,gBAE/CA,GAAmB2iB,GAAc3iB,GAAiB,GAMlD,MAAM6iB,EAAiB3iB,GAAqB,kBAAZL,EAAG/hB,KA2BnC,GA1BIknB,EACF8d,EACEljB,EAAGoF,gBACHA,EACA7iB,EACA6d,EACAC,EACA4iB,EACA1iB,GAKQC,GACV2iB,EACEnjB,EACAC,EACA1d,EACA,KACA6d,EACAC,EACA4iB,EACA1iB,GACA,GAGA2L,EAAY,EAAG,CACjB,GAAgB,GAAZA,EACFkX,EACE7gC,EACA0d,EACA4iB,EACAC,EACA1iB,EACAC,EACAC,QAWF,GARgB,EAAZ4L,GACE2W,EAASt8B,QAAUu8B,EAASv8B,OAC9B26B,EAAc3+B,EAAI,QAAS,KAAMugC,EAASv8B,MAAO+Z,GAGrC,EAAZ4L,GACFgV,EAAc3+B,EAAI,QAASsgC,EAASp8B,MAAOq8B,EAASr8B,MAAO6Z,GAE7C,EAAZ4L,EAAe,CACjB,MAAMmX,EAAgBpjB,EAAGqjB,aACzB,IAAK,IAAI3hC,EAAI,EAAGA,EAAI0hC,EAAczhC,OAAQD,IAAK,CAC7C,MAAMhC,EAAM0jC,EAAc1hC,GACpBka,EAAOgnB,EAASljC,GAChBmR,EAAOgyB,EAASnjC,GAClBmR,IAAS+K,GAAgB,UAARlc,GACnBuhC,EACE3+B,EACA5C,EACAkc,EACA/K,EACAwP,EACAN,EAAGoC,SACHhC,EACAC,EACAsiB,EAGN,CACF,CAEc,EAAZzW,GACElM,EAAGoC,WAAanC,EAAGmC,UACrBqf,EAAmBl/B,EAAI0d,EAAGmC,SAGhC,MAAY5B,GAAgC,MAAnB4E,GACvBge,EACE7gC,EACA0d,EACA4iB,EACAC,EACA1iB,EACAC,EACAC,KAGCuO,EAAYiU,EAASS,iBAAmBnlB,IAC3CyI,IAAsB,KACpBgI,GAAaE,GAAgBF,EAAWzO,EAAiBH,EAAID,GAC7D5B,GAAQoJ,GAAoBvH,EAAID,EAAII,EAAiB,UAAU,GAC9DC,EACL,EAEI6iB,EAAqB,CAACM,EAAaC,EAAaC,EAAmBtjB,EAAiBC,EAAgBC,EAAOC,KAC/G,IAAK,IAAI5e,EAAI,EAAGA,EAAI8hC,EAAY7hC,OAAQD,IAAK,CAC3C,MAAMgiC,EAAWH,EAAY7hC,GACvBiiC,EAAWH,EAAY9hC,GACvBue,EAGJyjB,EAASphC,KAERohC,EAASzlC,OAAS+tB,KAElBtK,GAAgBgiB,EAAUC,IACN,GAArBD,EAASnmB,WAAwBkkB,EAAeiC,EAASphC,IAAM,EAMjEme,EACEijB,EACAC,EACA1jB,EACA,KACAE,EACAC,EACAC,EACAC,GACA,EAEJ,GAEI6iB,EAAa,CAAC7gC,EAAI6T,EAAOysB,EAAUC,EAAU1iB,EAAiBC,EAAgBC,KAClF,GAAIuiB,IAAaC,EAAU,CACzB,GAAID,IAAa/gC,EACf,IAAK,MAAMnC,KAAOkjC,EACXn/B,EAAe/D,IAAUA,KAAOmjC,GACnC5B,EACE3+B,EACA5C,EACAkjC,EAASljC,GACT,KACA2gB,EACAlK,EAAMgM,SACNhC,EACAC,EACAsiB,GAKR,IAAK,MAAMhjC,KAAOmjC,EAAU,CAC1B,GAAIp/B,EAAe/D,GACjB,SACF,MAAMmR,EAAOgyB,EAASnjC,GAChBkc,EAAOgnB,EAASljC,GAClBmR,IAAS+K,GAAgB,UAARlc,GACnBuhC,EACE3+B,EACA5C,EACAkc,EACA/K,EACAwP,EACAlK,EAAMgM,SACNhC,EACAC,EACAsiB,EAGN,CACI,UAAWG,GACb5B,EAAc3+B,EAAI,QAASsgC,EAASzhC,MAAO0hC,EAAS1hC,MAExD,GAEIghC,EAAkB,CAACpiB,EAAIC,EAAIC,EAAWC,EAAQC,EAAiBC,EAAgBC,EAAOC,EAAcC,KACxG,MAAMqjB,EAAsB5jB,EAAG1d,GAAKyd,EAAKA,EAAGzd,GAAK6+B,EAAe,IAC1D0C,EAAoB7jB,EAAGE,OAASH,EAAKA,EAAGG,OAASihB,EAAe,IACtE,IAAI,UAAElV,EAAS,gBAAE9G,EAAiB7E,aAAcyf,GAAyB/f,EAOrE+f,IACFzf,EAAeA,EAAeA,EAAalC,OAAO2hB,GAAwBA,GAElE,MAANhgB,GACFghB,EAAW6C,EAAqB3jB,EAAWC,GAC3C6gB,EAAW8C,EAAmB5jB,EAAWC,GACzCuiB,EACEziB,EAAGmC,SACHlC,EACA4jB,EACA1jB,EACAC,EACAC,EACAC,EACAC,IAGE0L,EAAY,GAAiB,GAAZA,GAAkB9G,GAEvCpF,EAAGoF,iBACD8d,EACEljB,EAAGoF,gBACHA,EACAlF,EACAE,EACAC,EACAC,EACAC,IASU,MAAVN,EAAGtgB,KAAeygB,GAAmBH,IAAOG,EAAgBvB,UAE5DklB,GACE/jB,EACAC,GACA,IAKJkjB,EACEnjB,EACAC,EACAC,EACA4jB,EACA1jB,EACAC,EACAC,EACAC,EACAC,EAGN,EAEI8hB,EAAmB,CAACtiB,EAAIC,EAAIC,EAAWC,EAAQC,EAAiBC,EAAgBC,EAAOC,EAAcC,KACzGP,EAAGM,aAAeA,EACR,MAANP,EACiB,IAAfC,EAAGzC,UACL4C,EAAgBhE,IAAIsS,SAClBzO,EACAC,EACAC,EACAG,EACAE,GAGFqd,EACE5d,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,GAIJwjB,EAAgBhkB,EAAIC,EAAIO,EAC1B,EAEIqd,EAAiB,CAACoG,EAAc/jB,EAAWC,EAAQC,EAAiBC,EAAgBC,EAAOE,KAC/F,MAAMzK,EAAYkuB,EAAa7pB,UAAY8pB,GACzCD,EACA7jB,EACAC,GAqBF,GAZIwL,GAAYoY,KACdluB,EAASqG,IAAI8R,SAAWqU,GAMxB4B,GAAepuB,GAKbA,EAASiO,UAEX,GADA3D,GAAkBA,EAAeuD,YAAY7N,EAAU8N,IAClDogB,EAAa1hC,GAAI,CACpB,MAAM8hB,EAActO,EAAS8I,QAAUf,GAAYC,IACnDmkB,EAAmB,KAAM7d,EAAanE,EAAWC,EACnD,OAGF0D,EACE9N,EACAkuB,EACA/jB,EACAC,EACAE,EACAC,EACAE,EAE8C,EAK5CwjB,EAAkB,CAAChkB,EAAIC,EAAIO,KAC/B,MAAMzK,EAAWkK,EAAG7F,UAAY4F,EAAG5F,UACnC,GA7kJJ,SAA+BqN,EAAW2c,EAAW5jB,GACnD,MAAQ/gB,MAAO+e,EAAW4D,SAAUiiB,EAAY,UAAEjqB,GAAcqN,GACxDhoB,MAAOgf,EAAW2D,SAAUkiB,EAAY,UAAEpY,GAAckY,EAC1D5oB,EAAQpB,EAAUsE,aAIxB,GAAI0lB,EAAUhmB,MAAQgmB,EAAU9lB,WAC9B,OAAO,EAET,KAAIkC,GAAa0L,GAAa,GAmB5B,SAAImY,IAAgBC,GACbA,GAAiBA,EAAa9H,UAIjChe,IAAcC,IAGbD,GAGAC,GAGEF,GAAgBC,EAAWC,EAAWjD,KALlCiD,GA3BX,GAAgB,KAAZyN,EACF,OAAO,EAET,GAAgB,GAAZA,EACF,OAAK1N,EAGED,GAAgBC,EAAWC,EAAWjD,KAFlCiD,EAGN,GAAgB,EAAZyN,EAAe,CACxB,MAAMoX,EAAec,EAAUd,aAC/B,IAAK,IAAI3hC,EAAI,EAAGA,EAAI2hC,EAAa1hC,OAAQD,IAAK,CAC5C,MAAMhC,EAAM2jC,EAAa3hC,GACzB,GAAI8c,EAAU9e,KAAS6e,EAAU7e,KAAS8b,GAAeD,EAAO7b,GAC9D,OAAO,CAEX,CACF,CAkBF,OAAO,CACT,CA+hJQ4kC,CAAsBvkB,EAAIC,EAAIO,GAAY,CAC5C,GAAIzK,EAASiO,WAAajO,EAASoO,cAQjC,YAJAqgB,EAAyBzuB,EAAUkK,EAAIO,GAMvCzK,EAASjF,KAAOmP,EAhyKxB,SAAuBrI,GACrB,MAAMjW,EAAI,GAAMa,QAAQoV,GACpBjW,EAAIsV,IACN,GAAMxU,OAAOd,EAAG,EAEpB,CA4xKQ8iC,CAAc1uB,EAAS0U,QACvB1U,EAAS0U,QAEb,MACExK,EAAG1d,GAAKyd,EAAGzd,GACXwT,EAASK,MAAQ6J,CACnB,EAEI4D,EAAoB,CAAC9N,EAAUkuB,EAAc/jB,EAAWC,EAAQE,EAAgBC,EAAOE,KAC3F,MA+JM7W,EAASoM,EAASpM,OAAS,IAAIkB,IA/JX,KACxB,GAAKkL,EAASiS,UA0FP,CACL,IAEI6G,GAFA,KAAE/d,EAAI,GAAE4zB,EAAE,EAAEC,EAAC,OAAEh8B,EAAM,MAAEyN,GAAUL,EACjC6uB,EAAa9zB,EAKjBiyB,GAAchtB,GAAU,GACpBjF,GACFA,EAAKvO,GAAK6T,EAAM7T,GAChBiiC,EAAyBzuB,EAAUjF,EAAM0P,IAEzC1P,EAAOsF,EAELsuB,GACFjgC,EAAeigC,IAEb7V,EAAY/d,EAAKrR,OAASqR,EAAKrR,MAAMujC,sBACvCjU,GAAgBF,EAAWlmB,EAAQmI,EAAMsF,GAE3C2sB,GAAchtB,GAAU,GAIxB,MAAM8uB,EAAWjoB,GAAoB7G,GAI/B+uB,EAAW/uB,EAAS8I,QAC1B9I,EAAS8I,QAAUgmB,EAInBnkB,EACEokB,EACAD,EAEAnD,EAAeoD,EAASviC,IAExBy/B,EAAgB8C,GAChB/uB,EACAsK,EACAC,GAKFxP,EAAKvO,GAAKsiC,EAAStiC,GACA,OAAfqiC,GACFhmB,GAAgB7I,EAAU8uB,EAAStiC,IAEjCoiC,GACF9d,GAAsB8d,EAAGtkB,IAEvBwO,EAAY/d,EAAKrR,OAASqR,EAAKrR,MAAM8jC,iBACvC1c,IACE,IAAMkI,GAAgBF,EAAWlmB,EAAQmI,EAAMsF,IAC/CiK,GAIFpG,GAAyBlE,EAK7B,KA5JyB,CACvB,IAAI8Y,EACJ,MAAM,GAAEtsB,EAAE,MAAE9C,GAAUwkC,GAChB,GAAEc,EAAE,EAAEtiB,EAAC,OAAE9Z,GAAWoN,EACpBivB,EAAsB3Y,GAAe4X,GAS3C,GARAlB,GAAchtB,GAAU,GACpBgvB,GACFtgC,EAAesgC,IAEZC,IAAwBnW,EAAYpvB,GAASA,EAAMigC,qBACtD3Q,GAAgBF,EAAWlmB,EAAQs7B,GAErClB,GAAchtB,GAAU,GACpBxT,GAAM0f,GAAa,CACrB,MAAMgjB,EAAiB,KAIrBlvB,EAAS8I,QAAUjC,GAAoB7G,GAOvCkM,GACE1f,EACAwT,EAAS8I,QACT9I,EACAsK,EACA,KAE8C,EAI9C2kB,EACFf,EAAa/lC,KAAKouB,gBAAgBppB,MAKhC,KAAO6S,EAAS0E,aAAewqB,MAGjCA,GAEJ,KAAO,CAIL,MAAMpmB,EAAU9I,EAAS8I,QAAUjC,GAAoB7G,GAOvD2K,EACE,KACA7B,EACAqB,EACAC,EACApK,EACAsK,EACAC,GAKF2jB,EAAa1hC,GAAKsc,EAAQtc,EAC5B,CAIA,GAHIkgB,GACFoE,GAAsBpE,EAAGpC,IAEtB2kB,IAAwBnW,EAAYpvB,GAASA,EAAMqvB,gBAAiB,CACvE,MAAMoW,EAAqBjB,EAC3Bpd,IACE,IAAMkI,GAAgBF,EAAWlmB,EAAQu8B,IACzC7kB,EAEJ,EAC6B,IAAzB4jB,EAAazmB,WAAmB7U,GAAU0jB,GAAe1jB,EAAOyN,QAAmC,IAAzBzN,EAAOyN,MAAMoH,YACzFzH,EAAS3Y,GAAKypB,GAAsB9Q,EAAS3Y,EAAGijB,GAElDtK,EAASiS,WAAY,EAEnBjO,GAAuBhE,GAEzBkuB,EAAe/jB,EAAYC,EAAS,IACtC,CAkEA,IAIA,IAAMxI,GAAS8S,IACf1U,EAASnM,OAGL6gB,EAAS1U,EAAS0U,OAAS,IAAM9gB,EAAOX,MAC9CyhB,EAAO3S,GAAK/B,EAASwE,IACrBwoB,GAAchtB,GAAU,GAMxB0U,GAAQ,EAEJ+Z,EAA2B,CAACzuB,EAAUquB,EAAW5jB,KACrD4jB,EAAUhqB,UAAYrE,EACtB,MAAMyI,EAAYzI,EAASK,MAAM3W,MACjCsW,EAASK,MAAQguB,EACjBruB,EAASjF,KAAO,KAt4DpB,SAAqBiF,EAAU8T,EAAUsb,EAAc3kB,GACrD,MAAM,MACJ/gB,EAAK,MACLwd,EACA7G,OAAO,UAAE8V,IACPnW,EACE0kB,EAAkB,GAAMh7B,IACvBiM,GAAWqK,EAASgH,aAC3B,IAAIwd,GAAkB,EACtB,KAI+E/Z,GAAa0L,EAAY,IAAoB,GAAZA,EAoCzG,CAIL,IAAIkZ,EAHAhL,GAAarkB,EAAU8T,EAAUpqB,EAAOwd,KAC1Csd,GAAkB,GAGpB,IAAK,MAAM56B,KAAO86B,EACX5Q,IACJ,EAAOA,EAAUlqB,KAEhBylC,EAAW,EAAUzlC,MAAUA,GAAQ,EAAOkqB,EAAUub,MACpD15B,GACEy5B,QACmB,IAAtBA,EAAaxlC,SACa,IAA3BwlC,EAAaC,KACX3lC,EAAME,GAAOg7B,GACXjvB,EACA+uB,EACA96B,OACA,EACAoW,GACA,WAKGtW,EAAME,IAInB,GAAIsd,IAAUwd,EACZ,IAAK,MAAM96B,KAAOsd,EACX4M,GAAa,EAAOA,EAAUlqB,YAC1Bsd,EAAMtd,GACb46B,GAAkB,EAI1B,MAvEE,GAAgB,EAAZrO,EAAe,CACjB,MAAMmX,EAAgBttB,EAASK,MAAMktB,aACrC,IAAK,IAAI3hC,EAAI,EAAGA,EAAI0hC,EAAczhC,OAAQD,IAAK,CAC7C,IAAIhC,EAAM0jC,EAAc1hC,GACxB,GAAI8Z,GAAe1F,EAAS2I,aAAc/e,GACxC,SAEF,MAAMyB,EAAQyoB,EAASlqB,GACvB,GAAI+L,EACF,GAAI,EAAOuR,EAAOtd,GACZyB,IAAU6b,EAAMtd,KAClBsd,EAAMtd,GAAOyB,EACbm5B,GAAkB,OAEf,CACL,MAAM8K,EAAethC,EAASpE,GAC9BF,EAAM4lC,GAAgB1K,GACpBjvB,EACA+uB,EACA4K,EACAjkC,EACA2U,GACA,EAGJ,MAEI3U,IAAU6b,EAAMtd,KAClBsd,EAAMtd,GAAOyB,EACbm5B,GAAkB,EAGxB,CACF,CAuCEA,GACF7tB,GAAQqJ,EAAU,MAAO,SAK7B,CA0yDIuvB,CAAYvvB,EAAUquB,EAAU3kC,MAAO+e,EAAWgC,GAClD6b,GAAYtmB,EAAUquB,EAAUhiB,SAAU5B,GAC1CxU,KACA2M,KACA1M,IAAe,EAEXk3B,EAAgB,CAACnjB,EAAIC,EAAIC,EAAWC,EAAQC,EAAiBC,EAAgBC,EAAOC,EAAcC,GAAY,KAClH,MAAM+kB,EAAKvlB,GAAMA,EAAGoC,SACdojB,EAAgBxlB,EAAKA,EAAGxC,UAAY,EACpCioB,EAAKxlB,EAAGmC,UACR,UAAE8J,EAAS,UAAE1O,GAAcyC,EACjC,GAAIiM,EAAY,EAAG,CACjB,GAAgB,IAAZA,EAYF,YAXAwZ,EACEH,EACAE,EACAvlB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAGG,GAAgB,IAAZ0L,EAYT,YAXAyZ,EACEJ,EACAE,EACAvlB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAIN,CACgB,EAAZhD,GACkB,GAAhBgoB,GACF7C,EAAgB4C,EAAInlB,EAAiBC,GAEnColB,IAAOF,GACT9D,EAAmBvhB,EAAWulB,IAGZ,GAAhBD,EACc,GAAZhoB,EACFkoB,EACEH,EACAE,EACAvlB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAGFmiB,EAAgB4C,EAAInlB,EAAiBC,GAAgB,IAGnC,EAAhBmlB,GACF/D,EAAmBvhB,EAAW,IAEhB,GAAZ1C,GACFklB,EACE+C,EACAvlB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAIR,EAEImlB,EAAuB,CAACJ,EAAIE,EAAIvlB,EAAWC,EAAQC,EAAiBC,EAAgBC,EAAOC,EAAcC,KAE7GilB,EAAKA,GAAM1jC,EACX,MAAM6jC,GAFNL,EAAKA,GAAMxjC,GAEUH,OACfiL,EAAY44B,EAAG7jC,OACfikC,EAAeC,KAAKC,IAAIH,EAAW/4B,GACzC,IAAIlL,EACJ,IAAKA,EAAI,EAAGA,EAAIkkC,EAAclkC,IAAK,CACjC,MAAMqkC,EAAYP,EAAG9jC,GAAK6e,EAAYoiB,GAAe6C,EAAG9jC,IAAM+b,GAAe+nB,EAAG9jC,IAChF+e,EACE6kB,EAAG5jC,GACHqkC,EACA9lB,EACA,KACAE,EACAC,EACAC,EACAC,EACAC,EAEJ,CACIolB,EAAY/4B,EACd81B,EACE4C,EACAnlB,EACAC,GACA,GACA,EACAwlB,GAGFnD,EACE+C,EACAvlB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAqlB,EAEJ,EAEIH,EAAqB,CAACH,EAAIE,EAAIvlB,EAAW+lB,EAAc7lB,EAAiBC,EAAgBC,EAAOC,EAAcC,KACjH,IAAI7e,EAAI,EACR,MAAMukC,EAAKT,EAAG7jC,OACd,IAAIukC,EAAKZ,EAAG3jC,OAAS,EACjBwkC,EAAKF,EAAK,EACd,KAAOvkC,GAAKwkC,GAAMxkC,GAAKykC,GAAI,CACzB,MAAMpmB,EAAKulB,EAAG5jC,GACRse,EAAKwlB,EAAG9jC,GAAK6e,EAAYoiB,GAAe6C,EAAG9jC,IAAM+b,GAAe+nB,EAAG9jC,IACzE,IAAIggB,GAAgB3B,EAAIC,GAatB,MAZAS,EACEV,EACAC,EACAC,EACA,KACAE,EACAC,EACAC,EACAC,EACAC,GAKJ7e,GACF,CACA,KAAOA,GAAKwkC,GAAMxkC,GAAKykC,GAAI,CACzB,MAAMpmB,EAAKulB,EAAGY,GACRlmB,EAAKwlB,EAAGW,GAAM5lB,EAAYoiB,GAAe6C,EAAGW,IAAO1oB,GAAe+nB,EAAGW,IAC3E,IAAIzkB,GAAgB3B,EAAIC,GAatB,MAZAS,EACEV,EACAC,EACAC,EACA,KACAE,EACAC,EACAC,EACAC,EACAC,GAKJ2lB,IACAC,GACF,CACA,GAAIzkC,EAAIwkC,GACN,GAAIxkC,GAAKykC,EAAI,CACX,MAAMC,EAAUD,EAAK,EACfjmB,EAASkmB,EAAUH,EAAKT,EAAGY,GAAS9jC,GAAK0jC,EAC/C,KAAOtkC,GAAKykC,GACV1lB,EACE,KACA+kB,EAAG9jC,GAAK6e,EAAYoiB,GAAe6C,EAAG9jC,IAAM+b,GAAe+nB,EAAG9jC,IAC9Due,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEF7e,GAEJ,OACK,GAAIA,EAAIykC,EACb,KAAOzkC,GAAKwkC,GACV9kB,EAAQkkB,EAAG5jC,GAAIye,EAAiBC,GAAgB,GAChD1e,QAEG,CACL,MAAM2kC,EAAK3kC,EACL4kC,EAAK5kC,EACL6kC,EAAmC,IAAIp6B,IAC7C,IAAKzK,EAAI4kC,EAAI5kC,GAAKykC,EAAIzkC,IAAK,CACzB,MAAMqkC,EAAYP,EAAG9jC,GAAK6e,EAAYoiB,GAAe6C,EAAG9jC,IAAM+b,GAAe+nB,EAAG9jC,IAC3D,MAAjBqkC,EAAUrmC,KAQZ6mC,EAAiBr6B,IAAI65B,EAAUrmC,IAAKgC,EAExC,CACA,IAAI6vB,EACAiV,EAAU,EACd,MAAMC,EAAcN,EAAKG,EAAK,EAC9B,IAAII,GAAQ,EACRC,EAAmB,EACvB,MAAMC,EAAwB,IAAInkC,MAAMgkC,GACxC,IAAK/kC,EAAI,EAAGA,EAAI+kC,EAAa/kC,IAC3BklC,EAAsBllC,GAAK,EAC7B,IAAKA,EAAI2kC,EAAI3kC,GAAKwkC,EAAIxkC,IAAK,CACzB,MAAMmlC,EAAYvB,EAAG5jC,GACrB,GAAI8kC,GAAWC,EAAa,CAC1BrlB,EAAQylB,EAAW1mB,EAAiBC,GAAgB,GACpD,QACF,CACA,IAAI0mB,EACJ,GAAqB,MAAjBD,EAAUnnC,IACZonC,EAAWP,EAAiB9lC,IAAIomC,EAAUnnC,UAE1C,IAAK6xB,EAAI+U,EAAI/U,GAAK4U,EAAI5U,IACpB,GAAsC,IAAlCqV,EAAsBrV,EAAI+U,IAAa5kB,GAAgBmlB,EAAWrB,EAAGjU,IAAK,CAC5EuV,EAAWvV,EACX,KACF,MAGa,IAAbuV,EACF1lB,EAAQylB,EAAW1mB,EAAiBC,GAAgB,IAEpDwmB,EAAsBE,EAAWR,GAAM5kC,EAAI,EACvColC,GAAYH,EACdA,EAAmBG,EAEnBJ,GAAQ,EAEVjmB,EACEomB,EACArB,EAAGsB,GACH7mB,EACA,KACAE,EACAC,EACAC,EACAC,EACAC,GAEFimB,IAEJ,CACA,MAAMO,EAA6BL,EA8SzC,SAAqBrkC,GACnB,MAAMoV,EAAIpV,EAAIgB,QACRnE,EAAS,CAAC,GAChB,IAAIwC,EAAG6vB,EAAGmT,EAAGp1B,EAAGtL,EAChB,MAAMgjC,EAAM3kC,EAAIV,OAChB,IAAKD,EAAI,EAAGA,EAAIslC,EAAKtlC,IAAK,CACxB,MAAMulC,EAAO5kC,EAAIX,GACjB,GAAa,IAATulC,EAAY,CAEd,GADA1V,EAAIryB,EAAOA,EAAOyC,OAAS,GACvBU,EAAIkvB,GAAK0V,EAAM,CACjBxvB,EAAE/V,GAAK6vB,EACPryB,EAAO2J,KAAKnH,GACZ,QACF,CAGA,IAFAgjC,EAAI,EACJp1B,EAAIpQ,EAAOyC,OAAS,EACb+iC,EAAIp1B,GACTtL,EAAI0gC,EAAIp1B,GAAK,EACTjN,EAAInD,EAAO8E,IAAMijC,EACnBvC,EAAI1gC,EAAI,EAERsL,EAAItL,EAGJijC,EAAO5kC,EAAInD,EAAOwlC,MAChBA,EAAI,IACNjtB,EAAE/V,GAAKxC,EAAOwlC,EAAI,IAEpBxlC,EAAOwlC,GAAKhjC,EAEhB,CACF,CAGA,IAFAgjC,EAAIxlC,EAAOyC,OACX2N,EAAIpQ,EAAOwlC,EAAI,GACRA,KAAM,GACXxlC,EAAOwlC,GAAKp1B,EACZA,EAAImI,EAAEnI,GAER,OAAOpQ,CACT,CArViDgoC,CAAYN,GAAyB9kC,EAEhF,IADAyvB,EAAIwV,EAA2BplC,OAAS,EACnCD,EAAI+kC,EAAc,EAAG/kC,GAAK,EAAGA,IAAK,CACrC,MAAMylC,EAAYb,EAAK5kC,EACjBqkC,EAAYP,EAAG2B,GACfjnB,EAASinB,EAAY,EAAIlB,EAAKT,EAAG2B,EAAY,GAAG7kC,GAAK0jC,EAC1B,IAA7BY,EAAsBllC,GACxB+e,EACE,KACAslB,EACA9lB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEOmmB,IACLnV,EAAI,GAAK7vB,IAAMqlC,EAA2BxV,GAC5C9O,EAAKsjB,EAAW9lB,EAAWC,EAAQ,GAEnCqR,IAGN,CACF,GAEI9O,EAAO,CAACtM,EAAO8J,EAAWC,EAAQknB,EAAUhnB,EAAiB,QACjE,MAAM,GAAE9d,EAAE,KAAErE,EAAI,WAAEogB,EAAU,SAAE8D,EAAQ,UAAE5E,GAAcpH,EACtD,GAAgB,EAAZoH,EACFkF,EAAKtM,EAAMgE,UAAUyE,QAASqB,EAAWC,EAAQknB,QAGnD,GAAgB,IAAZ7pB,EACFpH,EAAMwK,SAAS8B,KAAKxC,EAAWC,EAAQknB,QAGzC,GAAgB,GAAZ7pB,EACFtf,EAAKwkB,KAAKtM,EAAO8J,EAAWC,EAAQoiB,QAGtC,GAAIrkC,IAAS+tB,GAQb,GAAI/tB,IAAS07B,GAKb,GADqC,IAAbyN,GAA8B,EAAZ7pB,GAAiBc,EAEzD,GAAiB,IAAb+oB,EACF/oB,EAAW8M,YAAY7oB,GACvBy+B,EAAWz+B,EAAI2d,EAAWC,GAC1B0G,IAAsB,IAAMvI,EAAWgN,MAAM/oB,IAAK8d,OAC7C,CACL,MAAM,MAAEsL,EAAK,WAAEjB,EAAU,WAAEpH,GAAehF,EACpCgpB,EAAU,IAAMtG,EAAWz+B,EAAI2d,EAAWC,GAC1ConB,EAAe,KACnB5b,EAAMppB,GAAI,KACR+kC,IACAhkB,GAAcA,GAAY,GAC1B,EAEAoH,EACFA,EAAWnoB,EAAI+kC,EAASC,GAExBA,GAEJ,MAEAvG,EAAWz+B,EAAI2d,EAAWC,OAxgCP,GAAG5d,KAAI4d,UAAUD,EAAW8d,KACjD,IAAIltB,EACJ,KAAOvO,GAAMA,IAAO4d,GAClBrP,EAAO6wB,EAAgBp/B,GACvBy+B,EAAWz+B,EAAI2d,EAAW8d,GAC1Bz7B,EAAKuO,EAEPkwB,EAAW7gB,EAAQD,EAAW8d,EAAY,EAw+BxCwJ,CAAepxB,EAAO8J,EAAWC,OATnC,CACE6gB,EAAWz+B,EAAI2d,EAAWC,GAC1B,IAAK,IAAIxe,EAAI,EAAGA,EAAIygB,EAASxgB,OAAQD,IACnC+gB,EAAKN,EAASzgB,GAAIue,EAAWC,EAAQknB,GAEvCrG,EAAW5qB,EAAM+J,OAAQD,EAAWC,EAEtC,CA4BA,EAEIkB,EAAU,CAACjL,EAAOgK,EAAiBC,EAAgBkE,GAAW,EAAO/D,GAAY,KACrF,MAAM,KACJtiB,EAAI,MACJuB,EAAK,IACL2T,EAAG,SACHgP,EAAQ,gBACRgD,EAAe,UACf5H,EAAS,UACT0O,EAAS,KACT9N,GACEhI,EAIJ,GAHW,MAAPhD,GACFqpB,GAAOrpB,EAAK,KAAMiN,EAAgBjK,GAAO,GAE3B,IAAZoH,EAEF,YADA4C,EAAgBhE,IAAI4S,WAAW5Y,GAGjC,MAAMqxB,EAA+B,EAAZjqB,GAAiBY,EACpCspB,GAAyBrb,GAAejW,GAC9C,IAAIyY,EAIJ,GAHI6Y,IAA0B7Y,EAAYpvB,GAASA,EAAMkoC,uBACvD5Y,GAAgBF,EAAWzO,EAAiBhK,GAE9B,EAAZoH,EACFoqB,EAAiBxxB,EAAMgE,UAAWiG,EAAgBkE,OAC7C,CACL,GAAgB,IAAZ/G,EAEF,YADApH,EAAMwK,SAASS,QAAQhB,EAAgBkE,GAGrCkjB,GACFjgB,GAAoBpR,EAAO,KAAMgK,EAAiB,iBAEpC,GAAZ5C,EACFpH,EAAMlY,KAAKmE,OACT+T,EACAgK,EACAC,EACAG,EACA+hB,EACAhe,GAEOa,IACVlnB,IAAS+tB,IAAYC,EAAY,GAAiB,GAAZA,GACrCyW,EACEvd,EACAhF,EACAC,GACA,GACA,IAEOniB,IAAS+tB,IAAwB,IAAZC,IAA4B1L,GAAyB,GAAZhD,IACvEmlB,EAAgBvgB,EAAUhC,EAAiBC,GAEzCkE,GACFliB,EAAO+T,EAEX,EACIsxB,IAA0B7Y,EAAYpvB,GAASA,EAAMyvB,mBAAqBuY,IAC5E5gB,IAAsB,KACpBgI,GAAaE,GAAgBF,EAAWzO,EAAiBhK,GACzDqxB,GAAoBjgB,GAAoBpR,EAAO,KAAMgK,EAAiB,YAAY,GACjFC,EACL,EAEIhe,EAAU+T,IACd,MAAM,KAAElY,EAAI,GAAEqE,EAAE,OAAE4d,EAAM,WAAE7B,GAAelI,EACzC,GAAIlY,IAAS+tB,GAYX,YAFE4b,EAAetlC,EAAI4d,GAIvB,GAAIjiB,IAAS07B,GAEX,WAtlCqB,GAAGr3B,KAAI4d,aAC9B,IAAIrP,EACJ,KAAOvO,GAAMA,IAAO4d,GAClBrP,EAAO6wB,EAAgBp/B,GACvB0+B,EAAW1+B,GACXA,EAAKuO,EAEPmwB,EAAW9gB,EAAO,EA8kChB2nB,CAAiB1xB,GAGnB,MAAM2xB,EAAgB,KACpB9G,EAAW1+B,GACP+b,IAAeA,EAAWoK,WAAapK,EAAWgF,YACpDhF,EAAWgF,YACb,EAEF,GAAsB,EAAlBlN,EAAMoH,WAAiBc,IAAeA,EAAWoK,UAAW,CAC9D,MAAM,MAAEiD,EAAK,WAAEjB,GAAepM,EACxBipB,EAAe,IAAM5b,EAAMppB,EAAIwlC,GACjCrd,EACFA,EAAWtU,EAAM7T,GAAIwlC,EAAeR,GAEpCA,GAEJ,MACEQ,GACF,EAEIF,EAAiB,CAACxxB,EAAK2B,KAC3B,IAAIlH,EACJ,KAAOuF,IAAQ2B,GACblH,EAAO6wB,EAAgBtrB,GACvB4qB,EAAW5qB,GACXA,EAAMvF,EAERmwB,EAAWjpB,EAAI,EAEX4vB,EAAmB,CAAC7xB,EAAUsK,EAAgBkE,KAIlD,MAAM,IAAEyjB,EAAG,MAAEp+B,EAAK,OAAE6gB,EAAM,QAAE5L,EAAO,GAAEuC,GAAOrL,EACxCiyB,GACFvjC,EAAeujC,GAEjBp+B,EAAMR,OACFqhB,IACFA,EAAO1hB,QAAS,EAChBsY,EAAQxC,EAAS9I,EAAUsK,EAAgBkE,IAEzCnD,GACFyF,GAAsBzF,EAAIf,GAE5BwG,IAAsB,KACpB9Q,EAAS0E,aAAc,CAAI,GAC1B4F,GACCA,GAAkBA,EAAeS,gBAAkBT,EAAe5F,aAAe1E,EAASiO,WAAajO,EAASoO,eAAiBpO,EAASmO,aAAe7D,EAAeuB,YAC1KvB,EAAetV,OACa,IAAxBsV,EAAetV,MACjBsV,EAAe9I,WAIjB4C,GAAyBpE,EAC3B,EAEI4sB,EAAkB,CAACvgB,EAAUhC,EAAiBC,EAAgBkE,GAAW,EAAO/D,GAAY,EAAOzI,EAAQ,KAC/G,IAAK,IAAIpW,EAAIoW,EAAOpW,EAAIygB,EAASxgB,OAAQD,IACvC0f,EAAQe,EAASzgB,GAAIye,EAAiBC,EAAgBkE,EAAU/D,EAClE,EAEIwhB,EAAmB5rB,GACD,EAAlBA,EAAMoH,UACDwkB,EAAgB5rB,EAAMgE,UAAUyE,SAEnB,IAAlBzI,EAAMoH,UACDpH,EAAMwK,SAAS9P,OAEjB6wB,EAAgBvrB,EAAM+J,QAAU/J,EAAM7T,IAEzC2a,EAAS,CAAC9G,EAAO8J,EAAWI,KACnB,MAATlK,EACE8J,EAAUugB,QACZpf,EAAQnB,EAAUugB,OAAQ,KAAM,MAAM,GAGxC/f,EAAMR,EAAUugB,QAAU,KAAMrqB,EAAO8J,EAAW,KAAM,KAAM,KAAMI,GAEtE3H,KACAE,KACAqH,EAAUugB,OAASrqB,CAAK,EAEpBmsB,EAAY,CAChB7qB,EAAGgJ,EACHU,GAAIC,EACJoB,EAAGC,EACHzhB,EAAGoB,EACHu7B,GAAIC,EACJoK,GAAIvF,EACJwF,GAAI/E,EACJgF,IAAKjF,EACLn+B,EAAGi9B,EACH1hC,EAAGoL,GAEL,IAAIsW,EACAC,GAMJ,OALI4e,KACD7e,EAASC,IAAe4e,EACvB0B,IAGG,CACLrlB,SACA8E,UACAomB,UAAW/P,GAAanb,EAAQ8E,GAEpC,CACA,SAAS+gB,IAAc,OAAEp5B,EAAM,OAAE8gB,GAAU4d,GACzC1+B,EAAOuD,aAAeud,EAAOvd,aAAem7B,CAC9C,CACA,SAASzI,GAAevf,EAAgB/B,GACtC,QAAS+B,GAAkBA,IAAmBA,EAAeS,gBAAkBxC,IAAeA,EAAWoK,SAC3G,CACA,SAASqb,GAAuB/jB,EAAIC,EAAIhS,GAAU,GAChD,MAAMq6B,EAAMtoB,EAAGoC,SACTmmB,EAAMtoB,EAAGmC,SACf,GAAI,EAAQkmB,IAAQ,EAAQC,GAC1B,IAAK,IAAI5mC,EAAI,EAAGA,EAAI2mC,EAAI1mC,OAAQD,IAAK,CACnC,MAAM4jC,EAAK+C,EAAI3mC,GACf,IAAI8jC,EAAK8C,EAAI5mC,GACM,EAAf8jC,EAAGjoB,YAAkBioB,EAAGrgB,mBACtBqgB,EAAGvZ,WAAa,GAAsB,KAAjBuZ,EAAGvZ,aAC1BuZ,EAAK8C,EAAI5mC,GAAKihC,GAAe2F,EAAI5mC,IACjC8jC,EAAGljC,GAAKgjC,EAAGhjC,IAER0L,GACH81B,GAAuBwB,EAAIE,IAE3BA,EAAGvnC,OAASy7B,KACd8L,EAAGljC,GAAKgjC,EAAGhjC,GAKf,CAEJ,CA0CA,MACMimC,GAAsB/oC,GAAUA,IAAUA,EAAMgpC,UAA+B,KAAnBhpC,EAAMgpC,UAClEC,GAAehrC,GAAiC,oBAAfirC,YAA8BjrC,aAAkBirC,WACjFC,GAAgB,CAACnpC,EAAOopC,KAC5B,MAAMC,EAAiBrpC,GAASA,EAAMq2B,GACtC,GAAI,EAASgT,GAAiB,CAC5B,GAAKD,EAKE,CAOL,OANeA,EAAOC,EAOxB,CATE,OAAO,IAUX,CAIE,OAAOA,CACT,EAyJF,SAASC,GAAa3yB,EAAO8J,EAAW+lB,GAAgB3lC,GAAG,OAAE29B,GAAUxb,EAAGC,GAAQ2kB,EAAW,GAC1E,IAAbA,GACFpJ,EAAO7nB,EAAM4yB,aAAc9oB,EAAW+lB,GAExC,MAAM,GAAE1jC,EAAE,OAAE4d,EAAM,UAAE3C,EAAS,SAAE4E,EAAQ,MAAE3iB,GAAU2W,EAC7C6yB,EAAyB,IAAb5B,EAIlB,GAHI4B,GACFhL,EAAO17B,EAAI2d,EAAW+lB,KAEnBgD,GAAaT,GAAmB/oC,KACnB,GAAZ+d,EACF,IAAK,IAAI7b,EAAI,EAAGA,EAAIygB,EAASxgB,OAAQD,IACnC+gB,EACEN,EAASzgB,GACTue,EACA+lB,EACA,GAKJgD,GACFhL,EAAO9d,EAAQD,EAAW+lB,EAE9B,CAgDA,MAAMiD,GA/Ne,CACnBC,cAAc,EACd,OAAAppB,CAAQC,EAAIC,EAAIC,EAAWC,EAAQC,EAAiBC,EAAgBC,EAAOC,EAAcC,EAAW+hB,GAClG,MACE0F,GAAIvF,EACJwF,GAAI/E,EACJgF,IAAKjF,EACL5iC,GAAG,OAAE29B,EAAM,cAAEmL,EAAa,WAAErL,EAAU,cAAEG,IACtCqE,EACEkG,EAAWD,GAAmBvoB,EAAGxgB,OACvC,IAAI,UAAE+d,EAAS,SAAE4E,EAAQ,gBAAEgD,GAAoBnF,EAK/C,GAAU,MAAND,EAAY,CACd,MAAMqE,EAAcpE,EAAG1d,GAAmFw7B,EAAW,IAC/GsL,EAAappB,EAAGE,OAAqF4d,EAAW,IACtHE,EAAO5Z,EAAanE,EAAWC,GAC/B8d,EAAOoL,EAAYnpB,EAAWC,GAC9B,MAAMziB,EAASuiB,EAAGviB,OAASkrC,GAAc3oB,EAAGxgB,MAAO2pC,GAC7CJ,EAAe/oB,EAAG+oB,aAAejL,EAAW,IAC9CrgC,IACFugC,EAAO+K,EAActrC,GACrB4iB,EAAQA,GAASooB,GAAYhrC,IAI/B,MAAM67B,EAAQ,CAACpW,EAAYI,KACT,GAAZ/F,GACFklB,EACEtgB,EACAe,EACAI,EACAnD,EACAC,EACAC,EACAC,EACAC,EAEJ,EAEEioB,EACFlP,EAAMrZ,EAAWmpB,GACR3rC,GACT67B,EAAM77B,EAAQsrC,EAElB,KAAO,CACL/oB,EAAG1d,GAAKyd,EAAGzd,GACX,MAAM8mC,EAAappB,EAAGE,OAASH,EAAGG,OAC5BziB,EAASuiB,EAAGviB,OAASsiB,EAAGtiB,OACxBsrC,EAAe/oB,EAAG+oB,aAAehpB,EAAGgpB,aACpCM,EAAcd,GAAmBxoB,EAAGvgB,OACpC8pC,EAAmBD,EAAcppB,EAAYxiB,EAC7C8rC,EAAgBF,EAAcD,EAAaL,EA0BjD,GAzBA1oB,EAAQA,GAASooB,GAAYhrC,GACzB0nB,GACF8d,EACEljB,EAAGoF,gBACHA,EACAmkB,EACAnpB,EACAC,EACAC,EACAC,GAEFwjB,GAAuB/jB,EAAIC,GAAI,IACrBO,GACV2iB,EACEnjB,EACAC,EACAspB,EACAC,EACAppB,EACAC,EACAC,EACAC,GACA,GAGAkoB,EACGa,EASCrpB,EAAGxgB,OAASugB,EAAGvgB,OAASwgB,EAAGxgB,MAAMq2B,KAAO9V,EAAGvgB,MAAMq2B,KACnD7V,EAAGxgB,MAAMq2B,GAAK9V,EAAGvgB,MAAMq2B,IATzBiT,GACE9oB,EACAC,EACAmpB,EACA9G,EACA,QAQJ,IAAKtiB,EAAGxgB,OAASwgB,EAAGxgB,MAAMq2B,OAAS9V,EAAGvgB,OAASugB,EAAGvgB,MAAMq2B,IAAK,CAC3D,MAAM2T,EAAaxpB,EAAGviB,OAASkrC,GAC7B3oB,EAAGxgB,MACH2pC,GAEEK,GACFV,GACE9oB,EACAwpB,EACA,KACAlH,EACA,EASN,MAAW+G,GACTP,GACE9oB,EACAviB,EACAsrC,EACAzG,EACA,EAIR,CACAmH,GAAczpB,EAChB,EACA,MAAA5d,CAAO+T,EAAOgK,EAAiBC,EAAgBG,GAAaY,GAAIC,EAAS/gB,GAAK+B,OAAQ4+B,IAAgB1c,GACpG,MAAM,UAAE/G,EAAS,SAAE4E,EAAQ,OAAEjC,EAAM,aAAE6oB,EAAY,OAAEtrC,EAAM,MAAE+B,GAAU2W,EAKrE,GAJI1Y,GACFujC,EAAW+H,GAEbzkB,GAAY0c,EAAW9gB,GACP,GAAZ3C,EAAgB,CAClB,MAAMmsB,EAAeplB,IAAaikB,GAAmB/oC,GACrD,IAAK,IAAIkC,EAAI,EAAGA,EAAIygB,EAASxgB,OAAQD,IAAK,CACxC,MAAMsjB,EAAQ7C,EAASzgB,GACvB0f,EACE4D,EACA7E,EACAC,EACAspB,IACE1kB,EAAMG,gBAEZ,CACF,CACF,EACA1C,KAAMqmB,GACN/mB,QA2BF,SAAyB5lB,EAAMga,EAAOgK,EAAiBC,EAAgBE,EAAcC,GACnFlgB,GAAG,YAAE09B,EAAW,WAAE9b,EAAU,cAAEknB,IAC7B/J,GACD,MAAM3hC,EAAS0Y,EAAM1Y,OAASkrC,GAC5BxyB,EAAM3W,MACN2pC,GAEF,GAAI1rC,EAAQ,CACV,MAAMksC,EAAalsC,EAAOmsC,MAAQnsC,EAAOihC,WACzC,GAAsB,GAAlBvoB,EAAMoH,UACR,GAAIgrB,GAAmBpyB,EAAM3W,OAC3B2W,EAAM+J,OAASkf,EACbrB,EAAY5hC,GACZga,EACA8L,EAAW9lB,GACXgkB,EACAC,EACAE,EACAC,GAEFpK,EAAM4yB,aAAeY,MAChB,CACLxzB,EAAM+J,OAAS6d,EAAY5hC,GAC3B,IAAI4sC,EAAeY,EACnB,KAAOZ,GAEL,GADAA,EAAehL,EAAYgL,GACvBA,GAA0C,IAA1BA,EAAatL,UAAwC,oBAAtBsL,EAAa5rB,KAA4B,CAC1FhH,EAAM4yB,aAAeA,EACrBtrC,EAAOmsC,KAAOzzB,EAAM4yB,cAAgBhL,EAAY5nB,EAAM4yB,cACtD,KACF,CAEF3J,EACEuK,EACAxzB,EACA1Y,EACA0iB,EACAC,EACAE,EACAC,EAEJ,CAEFkpB,GAActzB,EAChB,CACA,OAAOA,EAAM+J,QAAU6d,EAAY5nB,EAAM+J,OAC3C,GAEA,SAASupB,GAActzB,GACrB,MAAMgG,EAAMhG,EAAMgG,IAClB,GAAIA,GAAOA,EAAI0tB,GAAI,CACjB,IAAI1tC,EAAOga,EAAMgM,SAAS,GAAG7f,GAC7B,KAAOnG,GAAQA,IAASga,EAAM4yB,cACN,IAAlB5sC,EAAKshC,UACPthC,EAAK2tC,aAAa,eAAgB3tB,EAAI7B,KACxCne,EAAOA,EAAK4hC,YAEd5hB,EAAI0tB,IACN,CACF,CAEA,MAAM7d,GAAW/qB,OAAOke,IAAI,SACtBua,GAAOz4B,OAAOke,IAAI,SAClBrB,GAAU7c,OAAOke,IAAI,SACrBwa,GAAS14B,OAAOke,IAAI,SACpBvB,GAAa,GACnB,IAAIgH,GAAe,KACnB,SAASD,GAAUolB,GAAkB,GACnCnsB,GAAW/U,KAAK+b,GAAemlB,EAAkB,KAAO,GAC1D,CACA,SAASllB,KACPjH,GAAWrU,MACXqb,GAAehH,GAAWA,GAAWjc,OAAS,IAAM,IACtD,CACA,IAkDIqoC,GAlDAtlB,GAAqB,EACzB,SAASlI,GAAiBrb,GACxBujB,IAAsBvjB,CACxB,CACA,SAAS8oC,GAAW9zB,GAMlB,OALAA,EAAMgP,gBAAkBT,GAAqB,EAAIE,IAAgB9iB,EAAY,KAC7E+iB,KACIH,GAAqB,GAAKE,IAC5BA,GAAa/b,KAAKsN,GAEbA,CACT,CACA,SAAS+zB,GAAmBjsC,EAAMuB,EAAO2iB,EAAU8J,EAAWoX,EAAc9lB,GAC1E,OAAO0sB,GACLE,GACElsC,EACAuB,EACA2iB,EACA8J,EACAoX,EACA9lB,GACA,GAIN,CACA,SAASuU,GAAY7zB,EAAMuB,EAAO2iB,EAAU8J,EAAWoX,GACrD,OAAO4G,GACLpsB,GACE5f,EACAuB,EACA2iB,EACA8J,EACAoX,GACA,GAIN,CACA,SAASpe,GAAQ9jB,GACf,QAAOA,IAA8B,IAAtBA,EAAMipC,WACvB,CACA,SAAS1oB,GAAgB3B,EAAIC,GAM3B,OAAOD,EAAG9hB,OAAS+hB,EAAG/hB,MAAQ8hB,EAAGrgB,MAAQsgB,EAAGtgB,GAC9C,CAEA,SAAS2qC,GAAmBC,GAC1BN,GAAuBM,CACzB,CACA,MAKMnO,GAAoB,cACpBoO,GAAe,EAAG7qC,SAAiB,MAAPA,EAAcA,EAAM,KAChD8qC,GAAe,EACnBr3B,MACAs3B,UACAC,cAEmB,iBAARv3B,IACTA,EAAM,GAAKA,GAEC,MAAPA,EAAc,EAASA,IAAQ,GAAMA,IAAQ,EAAWA,GAAO,CAAEzR,EAAG+Z,GAA0Bza,EAAGmS,EAAKgqB,EAAGsN,EAAStX,IAAKuX,GAAYv3B,EAAM,MAElJ,SAASg3B,GAAgBlsC,EAAMuB,EAAQ,KAAM2iB,EAAW,KAAM8J,EAAY,EAAGoX,EAAe,KAAM9lB,GAAYtf,IAAS+tB,GAAW,EAAI,GAAG2e,GAAc,EAAOC,GAAgC,GAC5L,MAAMz0B,EAAQ,CACZi0B,aAAa,EACbS,UAAU,EACV5sC,OACAuB,QACAE,IAAKF,GAAS+qC,GAAa/qC,GAC3B2T,IAAK3T,GAASgrC,GAAahrC,GAC3BuyB,QAASrW,GACT4E,aAAc,KACd6B,WACAhI,UAAW,KACXwG,SAAU,KACVG,UAAW,KACXE,WAAY,KACZ7C,KAAM,KACNE,WAAY,KACZ/b,GAAI,KACJ4d,OAAQ,KACRziB,OAAQ,KACRsrC,aAAc,KACdnK,YAAa,EACbrhB,YACA0O,YACAoX,eACAle,gBAAiB,KACjBzO,WAAY,KACZyF,IAAKV,IAwBP,OAtBImvB,GACFE,GAAkB30B,EAAOgM,GACT,IAAZ5E,GACFtf,EAAKikB,UAAU/L,IAERgM,IACThM,EAAMoH,WAAa,EAAS4E,GAAY,EAAI,IAK1CuC,GAAqB,IACxBimB,GACD/lB,KAICzO,EAAM8V,UAAY,GAAiB,EAAZ1O,IAEJ,KAApBpH,EAAM8V,WACJrH,GAAa/b,KAAKsN,GAEbA,CACT,CACA,MAAM0H,GACN,SAAsB5f,EAAMuB,EAAQ,KAAM2iB,EAAW,KAAM8J,EAAY,EAAGoX,EAAe,KAAMsH,GAAc,GAO3G,GANK1sC,GAAQA,IAASihB,KAIpBjhB,EAAO6f,IAELmH,GAAQhnB,GAAO,CACjB,MAAM8sC,EAAS7sB,GACbjgB,EACAuB,GACA,GAcF,OAXI2iB,GACF2oB,GAAkBC,EAAQ5oB,GAExBuC,GAAqB,IAAMimB,GAAe/lB,KACrB,EAAnBmmB,EAAOxtB,UACTqH,GAAaA,GAAariB,QAAQtE,IAAS8sC,EAE3CnmB,GAAa/b,KAAKkiC,IAGtBA,EAAO9e,YAAc,EACd8e,CACT,CAIA,GA+mBwB5pC,EAlnBHlD,EAmnBd,EAAWkD,IAAU,cAAeA,IAlnBzClD,EAAOA,EAAKwB,WAEVD,EAAO,CACTA,EAAQwrC,GAAmBxrC,GAC3B,IAAM8G,MAAOC,EAAK,MAAEC,GAAUhH,EAC1B+G,IAAU,EAASA,KACrB/G,EAAM8G,MAAQF,EAAeG,IAE3B,EAASC,KACPoM,GAAQpM,KAAW,EAAQA,KAC7BA,EAAQ,EAAO,CAAC,EAAGA,IAErBhH,EAAMgH,MAAQjB,EAAeiB,GAEjC,CAmmBF,IAA0BrF,EAxlBxB,OAAOgpC,GACLlsC,EACAuB,EACA2iB,EACA8J,EACAoX,EAfgB,EAASplC,GAAQ,EAAI0hB,GAAW1hB,GAAQ,IA7bzC,CAACA,GAASA,EAAKirC,aA6bgC+B,CAAWhtC,GAAQ,GAAK,EAASA,GAAQ,EAAI,EAAWA,GAAQ,EAAI,EAiBlI0sC,GACA,EAEJ,EACA,SAASK,GAAmBxrC,GAC1B,OAAKA,EAEEoT,GAAQpT,IAAU28B,MAAqB38B,EAAQ,EAAO,CAAC,EAAGA,GAASA,EADjE,IAEX,CACA,SAAS0e,GAAW/H,EAAO+0B,EAAYC,GAAW,GAChD,MAAM,MAAE3rC,EAAK,IAAE2T,EAAG,UAAE8Y,EAAS,SAAE9J,GAAahM,EACtCi1B,EAAcF,EAAaG,GAAW7rC,GAAS,CAAC,EAAG0rC,GAAc1rC,EA2CvE,MA1Ce,CACb4qC,aAAa,EACbS,UAAU,EACV5sC,KAAMkY,EAAMlY,KACZuB,MAAO4rC,EACP1rC,IAAK0rC,GAAeb,GAAaa,GACjCj4B,IAAK+3B,GAAcA,EAAW/3B,IAI5Bg4B,GAAYh4B,EAAM,EAAQA,GAAOA,EAAIiL,OAAOosB,GAAaU,IAAe,CAAC/3B,EAAKq3B,GAAaU,IAAeV,GAAaU,GACrH/3B,EACJ4e,QAAS5b,EAAM4b,QACfzR,aAAcnK,EAAMmK,aACpB6B,SAA8HA,EAC9H1kB,OAAQ0Y,EAAM1Y,OACdsrC,aAAc5yB,EAAM4yB,aACpBnK,YAAazoB,EAAMyoB,YACnBrhB,UAAWpH,EAAMoH,UAKjB0O,UAAWif,GAAc/0B,EAAMlY,OAAS+tB,IAA0B,IAAfC,EAAmB,GAAiB,GAAZA,EAAiBA,EAC5FoX,aAAcltB,EAAMktB,aACpBle,gBAAiBhP,EAAMgP,gBACvBzO,WAAYP,EAAMO,WAClByH,KAAMhI,EAAMgI,KACZE,WAAYlI,EAAMkI,WAKlBlE,UAAWhE,EAAMgE,UACjBwG,SAAUxK,EAAMwK,SAChBG,UAAW3K,EAAM2K,WAAa5C,GAAW/H,EAAM2K,WAC/CE,WAAY7K,EAAM6K,YAAc9C,GAAW/H,EAAM6K,YACjD1e,GAAI6T,EAAM7T,GACV4d,OAAQ/J,EAAM+J,OACd/D,IAAKhG,EAAMgG,IACXsR,GAAItX,EAAMsX,GAGd,CAQA,SAAS0R,GAAgBmM,EAAO,IAAKC,EAAO,GAC1C,OAAO1tB,GAAY6b,GAAM,KAAM4R,EAAMC,EACvC,CACA,SAASC,GAAkB/M,EAASgN,GAClC,MAAMt1B,EAAQ0H,GAAY8b,GAAQ,KAAM8E,GAExC,OADAtoB,EAAMyoB,YAAc6M,EACbt1B,CACT,CACA,SAASu1B,GAAmBJ,EAAO,GAAIK,GAAU,GAC/C,OAAOA,GAAWhnB,KAAamN,GAAYhU,GAAS,KAAMwtB,IAASztB,GAAYC,GAAS,KAAMwtB,EAChG,CACA,SAAS7tB,GAAeuH,GACtB,OAAa,MAATA,GAAkC,kBAAVA,EACnBnH,GAAYC,IACV,EAAQkH,GACVnH,GACLmO,GACA,KAEAhH,EAAM3hB,SAEkB,iBAAV2hB,EACT2d,GAAe3d,GAEfnH,GAAY6b,GAAM,KAAMv7B,OAAO6mB,GAE1C,CACA,SAAS2d,GAAe3d,GACtB,OAAoB,OAAbA,EAAM1iB,KAAoC,IAArB0iB,EAAMiH,WAAoBjH,EAAM4mB,KAAO5mB,EAAQ9G,GAAW8G,EACxF,CACA,SAAS8lB,GAAkB30B,EAAOgM,GAChC,IAAIlkB,EAAO,EACX,MAAM,UAAEsf,GAAcpH,EACtB,GAAgB,MAAZgM,EACFA,EAAW,UACN,GAAI,EAAQA,GACjBlkB,EAAO,QACF,GAAwB,iBAAbkkB,EAAuB,CACvC,GAAgB,GAAZ5E,EAAsB,CACxB,MAAM+T,EAAOnP,EAASG,QAMtB,YALIgP,IACFA,EAAK5U,KAAO4U,EAAK/U,IAAK,GACtBuuB,GAAkB30B,EAAOmb,KACzBA,EAAK5U,KAAO4U,EAAK/U,IAAK,IAG1B,CAAO,CACLte,EAAO,GACP,MAAM4tC,EAAW1pB,EAASpe,EACrB8nC,GAAc1P,MAAqBha,EAEhB,IAAb0pB,GAAkBpwB,KACc,IAArCA,GAAyBsB,MAAMhZ,EACjCoe,EAASpe,EAAI,GAEboe,EAASpe,EAAI,EACboS,EAAM8V,WAAa,OANrB9J,EAAS6Z,KAAOvgB,EASpB,CACF,MAAW,EAAW0G,IACpBA,EAAW,CAAEG,QAASH,EAAU6Z,KAAMvgB,IACtCxd,EAAO,KAEPkkB,EAAWhkB,OAAOgkB,GACF,GAAZ5E,GACFtf,EAAO,GACPkkB,EAAW,CAACgd,GAAgBhd,KAE5BlkB,EAAO,GAGXkY,EAAMgM,SAAWA,EACjBhM,EAAMoH,WAAatf,CACrB,CACA,SAASotC,MAAc59B,GACrB,MAAMzH,EAAM,CAAC,EACb,IAAK,IAAItE,EAAI,EAAGA,EAAI+L,EAAK9L,OAAQD,IAAK,CACpC,MAAMoqC,EAAUr+B,EAAK/L,GACrB,IAAK,MAAMhC,KAAOosC,EAChB,GAAY,UAARpsC,EACEsG,EAAIM,QAAUwlC,EAAQxlC,QACxBN,EAAIM,MAAQF,EAAe,CAACJ,EAAIM,MAAOwlC,EAAQxlC,cAE5C,GAAY,UAAR5G,EACTsG,EAAIQ,MAAQjB,EAAe,CAACS,EAAIQ,MAAOslC,EAAQtlC,aAC1C,GAAIxE,EAAKtC,GAAM,CACpB,MAAMw9B,EAAWl3B,EAAItG,GACfqsC,EAAWD,EAAQpsC,IACrBqsC,GAAY7O,IAAa6O,GAAc,EAAQ7O,IAAaA,EAAStlB,SAASm0B,KAChF/lC,EAAItG,GAAOw9B,EAAW,GAAG9e,OAAO8e,EAAU6O,GAAYA,EAE1D,KAAmB,KAARrsC,IACTsG,EAAItG,GAAOosC,EAAQpsC,GAGzB,CACA,OAAOsG,CACT,CACA,SAAS8oB,GAAgBrV,EAAM3D,EAAUK,EAAOqR,EAAY,MAC1DvR,GAA2BwD,EAAM3D,EAAU,EAAG,CAC5CK,EACAqR,GAEJ,CAEA,MAAMwkB,GAAkBtU,KACxB,IAAIpd,GAAM,EACV,SAAS2pB,GAAwB9tB,EAAOzN,EAAQiY,GAC9C,MAAM1iB,EAAOkY,EAAMlY,KACbyY,GAAchO,EAASA,EAAOgO,WAAaP,EAAMO,aAAes1B,GAChEl2B,EAAW,CACfwE,IAAKA,KACLnE,QACAlY,OACAyK,SACAgO,aACAqH,KAAM,KAENlN,KAAM,KACN+N,QAAS,KAETlV,OAAQ,KACR8gB,OAAQ,KAER7gB,MAAO,IAAIvB,IACT,GAGF6U,OAAQ,KACRxK,MAAO,KACP4hB,QAAS,KACT4X,YAAa,KACbpvB,UAAW,KACXmb,SAAUtvB,EAASA,EAAOsvB,SAAW13B,OAAOiB,OAAOmV,EAAWshB,UAC9DvE,YAAa,KACbvW,YAAa,GAEbma,WAAY,KACZtQ,WAAY,KAEZjK,aAAcge,GAAsB78B,EAAMyY,GAC1C+H,aAAcvD,GAAsBjd,EAAMyY,GAE1C6C,KAAM,KAEN0B,QAAS,KAET4f,cAAeh5B,EAEfwb,aAAcpf,EAAKof,aAEnBlB,IAAKta,EACLsb,KAAMtb,EACNrC,MAAOqC,EACPmb,MAAOnb,EACPkb,MAAOlb,EACPgxB,KAAMhxB,EACNub,WAAYvb,EACZmzB,aAAc,KACdkX,WAAY,KACZC,WAAY,KAEZxrB,WACAsD,WAAYtD,EAAWA,EAASgB,UAAY,EAC5CoC,SAAU,KACVG,eAAe,EAGf6D,WAAW,EACXvN,aAAa,EACbmU,eAAe,EACfyd,GAAI,KACJpoC,EAAG,KACH8gC,GAAI,KACJtiB,EAAG,KACHiiB,GAAI,KACJC,EAAG,KACHvjB,GAAI,KACJ4mB,IAAK,KACL/Y,GAAI,KACJ7xB,EAAG,KACHkvC,IAAK,KACLC,IAAK,KACL91B,GAAI,KACJ+1B,GAAI,MAYN,OAPEz2B,EAASqG,IAAM,CAAEpY,EAAG+R,GAEtBA,EAASiI,KAAOrV,EAASA,EAAOqV,KAAOjI,EACvCA,EAASyD,KAAOA,GAAK1N,KAAK,KAAMiK,GAC5BK,EAAMsX,IACRtX,EAAMsX,GAAG3X,GAEJA,CACT,CACA,IAAIyJ,GAAkB,KACtB,MAAMiK,GAAqB,IAAMjK,IAAmB9D,GACpD,IAAI+wB,GACAC,GACAC,GAAa,4BAETD,GAA+BpnC,IAAgBqnC,OACnDD,GAA+BpnC,IAAgBqnC,IAAc,IAE/DD,GAA6B5jC,MAAMnH,GAAM6d,GAAkB7d,IAC3D8qC,GAA8B12B,IACxB22B,GAA6B9qC,OAAS,EACxC8qC,GAA6BxmC,SAASse,GAAMA,EAAEzO,KAE9C22B,GAA6B,GAAG32B,EAClC,EAGJ,MAAMwa,GAAsBxa,IAC1B02B,GAA2B12B,GAC3BA,EAASnM,MAAMV,IAAI,EAEfsnB,GAAuB,KAC3BhR,IAAmBA,GAAgB5V,MAAMT,MACzCsjC,GAA2B,KAAK,EAWlC,SAASpa,GAAoBtc,GAC3B,OAAkC,EAA3BA,EAASK,MAAMoH,SACxB,CACA,IAyGIovB,GACAC,GA1GApmB,IAAwB,EAC5B,SAAS0d,GAAepuB,EAAUN,GAAQ,GACxCgR,GAAwBhR,EACxB,MAAM,MAAEhW,EAAK,SAAE2iB,GAAarM,EAASK,MAC/B02B,EAAaza,GAAoBtc,IAlwGzC,SAAmBA,EAAU8T,EAAUijB,EAAYr3B,GAAQ,GACzD,MAAMhW,EAAQ,CAAC,EACTwd,EAAQ,CAAC,EACfrY,EAAIqY,EAAOmf,GAAmB,GAC9BrmB,EAAS+kB,cAAgCv6B,OAAOiB,OAAO,MACvD44B,GAAarkB,EAAU8T,EAAUpqB,EAAOwd,GACxC,IAAK,MAAMtd,KAAOoW,EAASgH,aAAa,GAChCpd,KAAOF,IACXA,EAAME,QAAO,GAMbmtC,EACF/2B,EAAStW,MAAQgW,EAAQhW,EAAQuS,GAAgBvS,GAE5CsW,EAAS7X,KAAKuB,MAGjBsW,EAAStW,MAAQA,EAFjBsW,EAAStW,MAAQwd,EAKrBlH,EAASkH,MAAQA,CACnB,CA2uGE8vB,CAAUh3B,EAAUtW,EAAOqtC,EAAYr3B,GACvC0mB,GAAUpmB,EAAUqM,GACpB,MAAM4qB,EAAcF,EAItB,SAAgC/2B,EAAUN,GAExC,MAAMoH,EAAY9G,EAAS7X,KAuB3B6X,EAAS2d,YAA8BnzB,OAAOiB,OAAO,MACrDuU,EAASrD,MAAQK,GAAQ,IAAIJ,MAAMoD,EAASqG,IAAKqX,KAIjD,MAAM,MAAEjK,GAAU3M,EAClB,GAAI2M,EAAO,CACT,MAAMyL,EAAelf,EAASkf,aAAezL,EAAM5nB,OAAS,EAAIszB,GAAmBnf,GAAY,KAC/Fwa,GAAmBxa,GACnB/J,KACA,MAAMghC,EAAcl3B,GAClB0T,EACAzT,EACA,EACA,CAA+EA,EAAStW,MAAOw1B,IAIjG,GAFAhpB,KACAukB,KACIvtB,EAAU+pC,GAAc,CAE1B,GADAA,EAAY9pC,KAAKstB,GAAsBA,IACnC/a,EACF,OAAOu3B,EAAY9pC,MAAM+pC,IACvB7oB,GAAkBrO,EAAUk3B,EAAgBx3B,EAAM,IACjDtS,OAAOlH,IACRga,GAAYha,EAAG8Z,EAAU,EAAE,IAG7BA,EAASiO,SAAWgpB,CAQxB,MACE5oB,GAAkBrO,EAAUi3B,EAAav3B,EAE7C,MACEy3B,GAAqBn3B,EAAUN,EAEnC,CAtEmC03B,CAAuBp3B,EAAUN,QAAS,EAE3E,OADAgR,IAAwB,EACjBumB,CACT,CAoEA,SAAS5oB,GAAkBrO,EAAUi3B,EAAav3B,GAC5C,EAAWu3B,GACTj3B,EAAS7X,KAAKkvC,kBAChBr3B,EAASs3B,UAAYL,EAErBj3B,EAASmH,OAAS8vB,EAEX,EAASA,KAOhBj3B,EAASu3B,sBAAwBN,EAEnCj3B,EAASsH,WAAanJ,GAAU84B,IASlCE,GAAqBn3B,EAAUN,EACjC,CAGA,SAAS83B,GAAwBC,GAC/BZ,GAAUY,EACVX,GAAoBlrC,IACdA,EAAEub,OAAOuwB,MACX9rC,EAAEmb,UAAY,IAAInK,MAAMhR,EAAEya,IAAK6X,IACjC,CAEJ,CACA,MAAM,GAAgB,KAAO2Y,GAC7B,SAASM,GAAqBn3B,EAAUN,EAAOi4B,GAC7C,MAAM7wB,EAAY9G,EAAS7X,KAC3B,IAAK6X,EAASmH,OAAQ,CACpB,IAAKzH,GAASm3B,KAAY/vB,EAAUK,OAAQ,CAC1C,MAAMywB,EAAW9wB,EAAU8wB,UAnuHjC,SAA8B53B,GAC5B,MAAM63B,EAAO73B,EAAS7X,MAChB,OAAE83B,EAAQC,QAASC,GAAmB0X,GAE1C5X,OAAQ6X,EACR3V,aAAcr0B,EACd+S,QAAQ,sBAAEkhB,IACR/hB,EAASY,WACP4E,EAAS1X,EAAMnD,IAAIktC,GACzB,IAAIE,EAmBJ,OAlBIvyB,EACFuyB,EAAWvyB,EACDsyB,EAAajsC,QAAWo0B,GAAWE,GAK7C4X,EAAW,CAAC,EACRD,EAAajsC,QACfisC,EAAa3nC,SACVuc,GAAMoT,GAAaiY,EAAUrrB,EAAGqV,GAAuB,KAG5DjC,GAAaiY,EAAUF,EAAM9V,IAT3BgW,EAAWF,EAWX,EAASA,IACX/pC,EAAMsI,IAAIyhC,EAAME,GAEXA,CACT,CAssH6CC,CAAqBh4B,GAAU43B,SACtE,GAAIA,EAAU,CAIZ,MAAM,gBAAEK,EAAe,gBAAEhW,GAAoBjiB,EAASY,WAAWC,QAC3D,WAAEq3B,EAAYjW,gBAAiBkW,GAA6BrxB,EAC5DsxB,EAAuB,EAC3B,EACE,CACEH,kBACAC,cAEFjW,GAEFkW,GAEFrxB,EAAUK,OAAS0vB,GAAQe,EAAUQ,EAIvC,CACF,CACAp4B,EAASmH,OAASL,EAAUK,QAAU,EAClC2vB,IACFA,GAAiB92B,EAErB,CAqBF,CAkCA,SAASmf,GAAmBnf,GAsCxB,MAAO,CACL,SAAIkH,GACF,OAzER,SAAuBlH,GACrB,OAAOA,EAASo2B,aAAep2B,EAASo2B,WAAa,IAAIx5B,MACvDoD,EAASkH,MAeL,CACFvc,IAAG,CAAChD,EAAQiC,KACV,GAAMoW,EAAU,EAAO,UAChBrY,EAAOiC,MAItB,CAiDeyuC,CAAcr4B,EACvB,EACAiH,MAAOjH,EAASiH,MAChBxD,KAAMzD,EAASyD,KACf60B,OA3CY/Z,IAqBdve,EAASue,QAAUA,GAAW,CAAC,CAAC,EAyBpC,CACA,SAASpN,GAAenR,GACtB,GAAIA,EAASue,QACX,OAAOve,EAASm2B,cAAgBn2B,EAASm2B,YAAc,IAAIv5B,MAAMuB,GAAUnB,GAAQgD,EAASue,UAAW,CACrG5zB,IAAG,CAAChD,EAAQiC,IACNA,KAAOjC,EACFA,EAAOiC,GACLA,KAAO2yB,GACTA,GAAoB3yB,GAAKoW,QAD3B,EAITvJ,IAAG,CAAC9O,EAAQiC,IACHA,KAAOjC,GAAUiC,KAAO2yB,KAIvC,CAGA,SAAS5S,GAAiB7C,EAAWyxB,GAAkB,GACrD,OAAO,EAAWzxB,GAAaA,EAAU0xB,aAAe1xB,EAAU1hB,KAAO0hB,EAAU1hB,MAAQmzC,GAAmBzxB,EAAU2xB,MAC1H,CA2BA,MAAM,GAAW,CAACC,EAAiBC,ID7vMnC,SAAkBD,EAAiBC,EAAcj5B,GAAQ,GACvD,IAAIF,EACAo5B,EACJ,MAAMC,EAAa,EAAWH,GAe9B,OAdIG,GACFr5B,EAASk5B,EACTE,EAEI,IAEJp5B,EAASk5B,EAAgB/tC,IACzBiuC,EAASF,EAAgBtiC,KAEd,IAAImJ,GAAgBC,EAAQo5B,EAAQC,IAAeD,EAAQl5B,EAM1E,CC2uMSzI,CAAWyhC,EAAiBC,EAAcjoB,IAGnD,SAASooB,GAAE3wC,EAAM4wC,EAAiB1sB,GAChC,MAAM9Y,EAAI+L,UAAUzT,OACpB,OAAU,IAAN0H,EACE,EAASwlC,KAAqB,EAAQA,GACpC5pB,GAAQ4pB,GACHhxB,GAAY5f,EAAM,KAAM,CAAC4wC,IAE3BhxB,GAAY5f,EAAM4wC,GAElBhxB,GAAY5f,EAAM,KAAM4wC,IAG7BxlC,EAAI,EACN8Y,EAAW1f,MAAM1F,UAAUsG,MAAMnD,KAAKkV,UAAW,GAClC,IAAN/L,GAAW4b,GAAQ9C,KAC5BA,EAAW,CAACA,IAEPtE,GAAY5f,EAAM4wC,EAAiB1sB,GAE9C,CAEA,MAAM2sB,GAAgB7tC,OAAOke,IAAI,SAC3BsH,GAAgB,IAEN+Q,GAAOsX,IAcvB,SAAS,KA8KT,CAEA,SAASC,GAASnD,EAAM3uB,EAAQrZ,EAAO+E,GACrC,MAAM2S,EAAS1X,EAAM+E,GACrB,GAAI2S,GAAU0zB,GAAW1zB,EAAQswB,GAC/B,OAAOtwB,EAET,MAAMtV,EAAMiX,IAEZ,OADAjX,EAAI4lC,KAAOA,EAAKvoC,QACTO,EAAM+E,GAAS3C,CACxB,CACA,SAASgpC,GAAW1zB,EAAQswB,GAC1B,MAAMhwB,EAAON,EAAOswB,KACpB,GAAIhwB,EAAKja,QAAUiqC,EAAKjqC,OACtB,OAAO,EAET,IAAK,IAAID,EAAI,EAAGA,EAAIka,EAAKja,OAAQD,IAC/B,GAAI2C,EAAWuX,EAAKla,GAAIkqC,EAAKlqC,IAC3B,OAAO,EAMX,OAHIgjB,GAAqB,GAAKE,IAC5BA,GAAa/b,KAAKyS,IAEb,CACT,CAEA,MAAM0d,GAAU,QASViW,GARY,CAChBhL,2BACAC,kBACAvnB,uBACAhB,+BACAsJ,QAASA,GACTxH,mBAGIyxB,GAAgB,KAChBC,GAAc,KC5mPdC,GAA0B,oBAAb7yC,SAA2BA,SAAW,KACnD8yC,GAAoBD,IAAuBA,GAAIvxC,cAAc,YAC7DyxC,GAAU,CACdtR,OAAQ,CAAChZ,EAAOtc,EAAQwX,KACtBxX,EAAO6mC,aAAavqB,EAAO9E,GAAU,KAAK,EAE5C9d,OAAS4iB,IACP,MAAMtc,EAASsc,EAAM/C,WACjBvZ,GACFA,EAAO8mC,YAAYxqB,EACrB,EAEFnnB,cAAe,CAAC4xC,EAAKpvB,EAAO9b,EAAI/E,KAC9B,MAAM8C,EAAK+d,EAAQ+uB,GAAIhyC,gBAdb,6BAcoCqyC,GAAOL,GAAIvxC,cAAc4xC,EAAKlrC,EAAK,CAAEA,WAAO,GAI1F,MAHY,WAARkrC,GAAoBjwC,GAA2B,MAAlBA,EAAMkwC,UACrCptC,EAAGwnC,aAAa,WAAYtqC,EAAMkwC,UAE7BptC,CAAE,EAEXw7B,WAAawN,GAAS8D,GAAIO,eAAerE,GACzCrN,cAAgBqN,GAAS8D,GAAInR,cAAcqN,GAC3CjK,QAAS,CAACllC,EAAMmvC,KACdnvC,EAAKyzC,UAAYtE,CAAI,EAEvB/J,eAAgB,CAACj/B,EAAIgpC,KACnBhpC,EAAGu9B,YAAcyL,CAAI,EAEvBrpB,WAAa9lB,GAASA,EAAK8lB,WAC3B8b,YAAc5hC,GAASA,EAAK4hC,YAC5BoL,cAAgB0G,GAAaT,GAAIjG,cAAc0G,GAC/C,UAAAlO,CAAWr/B,EAAIuV,GACbvV,EAAGwnC,aAAajyB,EAAI,GACtB,EAKA,mBAAAgqB,CAAoBpD,EAAS/1B,EAAQwX,EAAQG,EAAOvI,EAAOC,GACzD,MAAM+3B,EAAS5vB,EAASA,EAAO+e,gBAAkBv2B,EAAOw2B,UACxD,GAAIpnB,IAAUA,IAAUC,GAAOD,EAAMimB,aACnC,KACEr1B,EAAO6mC,aAAaz3B,EAAMi4B,WAAU,GAAO7vB,GACvCpI,IAAUC,IAASD,EAAQA,EAAMimB,mBAGlC,CACLsR,GAAkBzP,UAAYvf,EAAQ,QAAQoe,UAAkBA,EAChE,MAAMiP,EAAW2B,GAAkB5Q,QACnC,GAAIpe,EAAO,CACT,MAAM2vB,EAAUtC,EAAShP,WACzB,KAAOsR,EAAQtR,YACbgP,EAASuC,YAAYD,EAAQtR,YAE/BgP,EAAS8B,YAAYQ,EACvB,CACAtnC,EAAO6mC,aAAa7B,EAAUxtB,EAChC,CACA,MAAO,CAEL4vB,EAASA,EAAO/R,YAAcr1B,EAAOg2B,WAErCxe,EAASA,EAAO+e,gBAAkBv2B,EAAOw2B,UAE7C,GAGIgR,GAAa,aACbC,GAAY,YACZC,GAASnvC,OAAO,QAChBovC,GAAa,CAAC7wC,GAASud,WAAY6xB,GAAEtlB,GAAgBgnB,GAAuB9wC,GAAQud,GAC1FszB,GAAW/B,YAAc,aACzB,MAAMiC,GAA+B,CACnCr1C,KAAMiD,OACNF,KAAME,OACNqyC,IAAK,CACHvyC,KAAMuqB,QACNlG,SAAS,GAEXmuB,SAAU,CAACtyC,OAAQ+G,OAAQ5E,QAC3BowC,eAAgBvyC,OAChBwyC,iBAAkBxyC,OAClByyC,aAAczyC,OACd0yC,gBAAiB1yC,OACjB2yC,kBAAmB3yC,OACnB4yC,cAAe5yC,OACf6yC,eAAgB7yC,OAChB8yC,iBAAkB9yC,OAClB+yC,aAAc/yC,QAEVgzC,GAA4Bd,GAAW7wC,MAAwB,EACnE,CAAC,EACD8oB,GACAioB,IAEI,GAAW,CAAC92B,EAAMhM,EAAO,MACzB,EAAQgM,GACVA,EAAKxT,SAASmrC,GAAOA,KAAM3jC,KAClBgM,GACTA,KAAQhM,EACV,EAEI4jC,GAAuB53B,KACpBA,IAAO,EAAQA,GAAQA,EAAKuE,MAAMozB,GAAOA,EAAGzvC,OAAS,IAAK8X,EAAK9X,OAAS,GAEjF,SAAS2uC,GAAuB1mB,GAC9B,MAAM0nB,EAAY,CAAC,EACnB,IAAK,MAAM5xC,KAAOkqB,EACVlqB,KAAO6wC,KACXe,EAAU5xC,GAAOkqB,EAASlqB,IAG9B,IAAqB,IAAjBkqB,EAAS4mB,IACX,OAAOc,EAET,MAAM,KACJp2C,EAAO,IAAG,KACV+C,EAAI,SACJwyC,EAAQ,eACRC,EAAiB,GAAGx1C,eAAiB,iBACrCy1C,EAAmB,GAAGz1C,iBAAmB,aACzC01C,EAAe,GAAG11C,aAAe,gBACjC21C,EAAkBH,EAAc,kBAChCI,EAAoBH,EAAgB,cACpCI,EAAgBH,EAAY,eAC5BI,EAAiB,GAAG91C,eAAiB,iBACrC+1C,EAAmB,GAAG/1C,iBAAmB,aACzCg2C,EAAe,GAAGh2C,cAChB0uB,EACE2nB,EAoFR,SAA2Bd,GACzB,GAAgB,MAAZA,EACF,OAAO,KACF,GAAI,EAASA,GAClB,MAAO,CAACe,GAASf,EAASplB,OAAQmmB,GAASf,EAAS/kB,QAC/C,CACL,MAAM5mB,EAAI0sC,GAASf,GACnB,MAAO,CAAC3rC,EAAGA,EACb,CACF,CA7FoB2sC,CAAkBhB,GAC9BiB,EAAgBH,GAAaA,EAAU,GACvCI,EAAgBJ,GAAaA,EAAU,IACvC,cACJ7oB,EAAa,QACbC,EAAO,iBACPE,EAAgB,QAChBE,EAAO,iBACPE,EAAgB,eAChBC,EAAiBR,EAAa,SAC9BS,EAAWR,EAAO,kBAClBU,EAAoBR,GAClByoB,EACEM,EAAc,CAACtvC,EAAIuvC,EAAU/gC,KACjCghC,GAAsBxvC,EAAIuvC,EAAWd,EAAgBH,GACrDkB,GAAsBxvC,EAAIuvC,EAAWf,EAAoBH,GACzD7/B,GAAQA,GAAM,EAEVihC,EAAc,CAACzvC,EAAIwO,KACvBxO,EAAG0vC,YAAa,EAChBF,GAAsBxvC,EAAI0uC,GAC1Bc,GAAsBxvC,EAAI4uC,GAC1BY,GAAsBxvC,EAAI2uC,GAC1BngC,GAAQA,GAAM,EAEVmhC,EAAiBJ,GACd,CAACvvC,EAAIwO,KACV,MAAM2I,EAAOo4B,EAAW1oB,EAAWR,EAC7BrR,EAAU,IAAMs6B,EAAYtvC,EAAIuvC,EAAU/gC,GAChD,GAAS2I,EAAM,CAACnX,EAAIgV,IACpB46B,IAAU,KACRJ,GAAsBxvC,EAAIuvC,EAAWhB,EAAkBH,GACvDyB,GAAmB7vC,EAAIuvC,EAAWd,EAAgBH,GAC7CS,GAAoB53B,IACvB24B,GAAmB9vC,EAAIrE,EAAMyzC,EAAep6B,EAC9C,GACA,EAGN,OAAO,EAAOg6B,EAAW,CACvB,aAAA5oB,CAAcpmB,GACZ,GAASomB,EAAe,CAACpmB,IACzB6vC,GAAmB7vC,EAAIouC,GACvByB,GAAmB7vC,EAAIquC,EACzB,EACA,cAAAznB,CAAe5mB,GACb,GAAS4mB,EAAgB,CAAC5mB,IAC1B6vC,GAAmB7vC,EAAIuuC,GACvBsB,GAAmB7vC,EAAIwuC,EACzB,EACAnoB,QAASspB,GAAc,GACvB9oB,SAAU8oB,GAAc,GACxB,OAAAlpB,CAAQzmB,EAAIwO,GACVxO,EAAG0vC,YAAa,EAChB,MAAM16B,EAAU,IAAMy6B,EAAYzvC,EAAIwO,GACtCqhC,GAAmB7vC,EAAI0uC,GACvBqB,KACAF,GAAmB7vC,EAAI2uC,GACvBiB,IAAU,KACH5vC,EAAG0vC,aAGRF,GAAsBxvC,EAAI0uC,GAC1BmB,GAAmB7vC,EAAI4uC,GAClBG,GAAoBtoB,IACvBqpB,GAAmB9vC,EAAIrE,EAAM0zC,EAAer6B,GAC9C,IAEF,GAASyR,EAAS,CAACzmB,EAAIgV,GACzB,EACA,gBAAAuR,CAAiBvmB,GACfsvC,EAAYtvC,GAAI,GAChB,GAASumB,EAAkB,CAACvmB,GAC9B,EACA,iBAAA+mB,CAAkB/mB,GAChBsvC,EAAYtvC,GAAI,GAChB,GAAS+mB,EAAmB,CAAC/mB,GAC/B,EACA,gBAAA2mB,CAAiB3mB,GACfyvC,EAAYzvC,GACZ,GAAS2mB,EAAkB,CAAC3mB,GAC9B,GAEJ,CAWA,SAASkvC,GAAS7xC,GAKhB,OAJYsF,EAAStF,EAKvB,CACA,SAASwyC,GAAmB7vC,EAAIgwC,GAC9BA,EAAI7wC,MAAM,OAAOwE,SAASjC,GAAMA,GAAK1B,EAAGiwC,UAAU/lC,IAAIxI,MACrD1B,EAAG8tC,MAAY9tC,EAAG8tC,IAA0B,IAAIpmC,MAAQwC,IAAI8lC,EAC/D,CACA,SAASR,GAAsBxvC,EAAIgwC,GACjCA,EAAI7wC,MAAM,OAAOwE,SAASjC,GAAMA,GAAK1B,EAAGiwC,UAAUnwC,OAAO4B,KACzD,MAAMwuC,EAAOlwC,EAAG8tC,IACZoC,IACFA,EAAKpnC,OAAOknC,GACPE,EAAK1qC,OACRxF,EAAG8tC,SAAU,GAGnB,CACA,SAAS8B,GAAUz5B,GACjBg6B,uBAAsB,KACpBA,sBAAsBh6B,EAAG,GAE7B,CACA,IAAIi6B,GAAQ,EACZ,SAASN,GAAmB9vC,EAAIqwC,EAAcC,EAAiBt7B,GAC7D,MAAMO,EAAKvV,EAAGuwC,SAAWH,GACnBI,EAAoB,KACpBj7B,IAAOvV,EAAGuwC,QACZv7B,GACF,EAEF,GAAIs7B,EACF,OAAOj1C,WAAWm1C,EAAmBF,GAEvC,MAAM,KAAE30C,EAAI,QAAE2jB,EAAO,UAAEmxB,GAAcC,GAAkB1wC,EAAIqwC,GAC3D,IAAK10C,EACH,OAAOqZ,IAET,MAAM27B,EAAWh1C,EAAO,MACxB,IAAIi1C,EAAQ,EACZ,MAAMn7B,EAAM,KACVzV,EAAG6wC,oBAAoBF,EAAUG,GACjCN,GAAmB,EAEfM,EAASp3C,IACTA,EAAEyB,SAAW6E,KAAQ4wC,GAASH,GAChCh7B,GACF,EAEFpa,YAAW,KACLu1C,EAAQH,GACVh7B,GACF,GACC6J,EAAU,GACbtf,EAAG+wC,iBAAiBJ,EAAUG,EAChC,CACA,SAASJ,GAAkB1wC,EAAIqwC,GAC7B,MAAMW,EAAS34C,OAAO44C,iBAAiBjxC,GACjCkxC,EAAsB9zC,IAAS4zC,EAAO5zC,IAAQ,IAAI+B,MAAM,MACxDgyC,EAAmBD,EAAmB,GAAGtD,WACzCwD,EAAsBF,EAAmB,GAAGtD,cAC5CyD,EAAoBC,GAAWH,EAAkBC,GACjDG,EAAkBL,EAAmB,GAAGrD,WACxC2D,EAAqBN,EAAmB,GAAGrD,cAC3C4D,EAAmBH,GAAWC,EAAiBC,GACrD,IAAI71C,EAAO,KACP2jB,EAAU,EACVmxB,EAAY,EAqBhB,OApBIJ,IAAiBzC,GACfyD,EAAoB,IACtB11C,EAAOiyC,GACPtuB,EAAU+xB,EACVZ,EAAYW,EAAoB/xC,QAEzBgxC,IAAiBxC,GACtB4D,EAAmB,IACrB91C,EAAOkyC,GACPvuB,EAAUmyB,EACVhB,EAAYe,EAAmBnyC,SAGjCigB,EAAUikB,KAAK9X,IAAI4lB,EAAmBI,GACtC91C,EAAO2jB,EAAU,EAAI+xB,EAAoBI,EAAmB7D,GAAaC,GAAY,KACrF4C,EAAY90C,EAAOA,IAASiyC,GAAawD,EAAoB/xC,OAASmyC,EAAmBnyC,OAAS,GAK7F,CACL1D,OACA2jB,UACAmxB,YACAiB,aAPmB/1C,IAASiyC,IAAc,yBAAyBtzC,KACnE42C,EAAmB,GAAGtD,cAAsB9sC,YAQhD,CACA,SAASwwC,GAAWK,EAAQ1C,GAC1B,KAAO0C,EAAOtyC,OAAS4vC,EAAU5vC,QAC/BsyC,EAASA,EAAO71B,OAAO61B,GAEzB,OAAOpO,KAAK9X,OAAOwjB,EAAUjwC,KAAI,CAACnB,EAAGuB,IAAMwyC,GAAK/zC,GAAK+zC,GAAKD,EAAOvyC,MACnE,CACA,SAASwyC,GAAK3vB,GACZ,MAAU,SAANA,EACK,EACyC,IAA3Crf,OAAOqf,EAAElhB,MAAM,GAAI,GAAGlE,QAAQ,IAAK,KAC5C,CACA,SAASkzC,KACP,OAAO91C,SAASiC,KAAK21C,YACvB,CAgBA,MAAMC,GAAcnzC,OAAO,QACrBozC,GAAQ,CACZ,WAAA1d,CAAYr0B,GAAI,MAAEnB,IAAS,WAAEkd,IAC3B/b,EAAG8xC,IAAoC,SAArB9xC,EAAGkE,MAAM8tC,QAAqB,GAAKhyC,EAAGkE,MAAM8tC,QAC1Dj2B,GAAcld,EAChBkd,EAAW8M,YAAY7oB,GAEvBiyC,GAAWjyC,EAAInB,EAEnB,EACA,OAAAkmB,CAAQ/kB,GAAI,MAAEnB,IAAS,WAAEkd,IACnBA,GAAcld,GAChBkd,EAAWgN,MAAM/oB,EAErB,EACA,OAAAglB,CAAQhlB,GAAI,MAAEnB,EAAK,SAAEmD,IAAY,WAAE+Z,KAC5Bld,IAAWmD,IAEZ+Z,EACEld,GACFkd,EAAW8M,YAAY7oB,GACvBiyC,GAAWjyC,GAAI,GACf+b,EAAWgN,MAAM/oB,IAEjB+b,EAAWqN,MAAMppB,GAAI,KACnBiyC,GAAWjyC,GAAI,EAAM,IAIzBiyC,GAAWjyC,EAAInB,GAEnB,EACA,aAAA21B,CAAcx0B,GAAI,MAAEnB,IAClBozC,GAAWjyC,EAAInB,EACjB,GAEF,SAASozC,GAAWjyC,EAAInB,GACtBmB,EAAGkE,MAAM8tC,QAAUnzC,EAAQmB,EAAG8xC,IAAe,MAC/C,CAqCA,MACMI,GAAc,iBACpB,SAASC,GAASjuC,EAAOtL,EAAMyE,GAC7B,GAAI,EAAQA,GACVA,EAAIsG,SAASqJ,GAAMmlC,GAASjuC,EAAOtL,EAAMoU,UAWzC,GATW,MAAP3P,IACFA,EAAM,IAQJzE,EAAKgH,WAAW,MAClBsE,EAAMkuC,YAAYx5C,EAAMyE,OACnB,CACL,MAAMg1C,EAeZ,SAAoBnuC,EAAOouC,GACzB,MAAMt5B,EAASu5B,GAAYD,GAC3B,GAAIt5B,EACF,OAAOA,EAET,IAAIpgB,EAAO4I,EAAS8wC,GACpB,GAAa,WAAT15C,GAAqBA,KAAQsL,EAC/B,OAAOquC,GAAYD,GAAW15C,EAEhCA,EAAO,EAAWA,GAClB,IAAK,IAAIwG,EAAI,EAAGA,EAAIozC,GAASnzC,OAAQD,IAAK,CACxC,MAAMizC,EAAWG,GAASpzC,GAAKxG,EAC/B,GAAIy5C,KAAYnuC,EACd,OAAOquC,GAAYD,GAAWD,CAElC,CACA,OAAOC,CACT,CAhCuBG,CAAWvuC,EAAOtL,GAC/Bs5C,GAAY53C,KAAK+C,GACnB6G,EAAMkuC,YACJ,EAAUC,GACVh1C,EAAIR,QAAQq1C,GAAa,IACzB,aAGFhuC,EAAMmuC,GAAYh1C,CAEtB,CAEJ,CACA,MAAMm1C,GAAW,CAAC,SAAU,MAAO,MAC7BD,GAAc,CAAC,EAoBfG,GAAU,+BAkEhB,SAAS3B,GAAiB/wC,EAAIgX,EAAOyB,EAAStP,GAC5CnJ,EAAG+wC,iBAAiB/5B,EAAOyB,EAAStP,EACtC,CAIA,MAAMwpC,GAASh0C,OAAO,QAiBtB,MAAMi0C,GAAoB,4BAc1B,IAAIC,GAAY,EAChB,MAAM19B,GAAoBJ,QAAQC,UAC5B89B,GAAS,IAAMD,KAAc19B,GAAExU,MAAK,IAAMkyC,GAAY,IAAIA,GAAYE,KAAKC,OAgC3EC,GAAa,WA2DnB,SAASC,GAAoB/pC,EAASgqC,GACpC,MAAMC,EAAOxpB,GAAgBzgB,GAC7B,MAAMkqC,UAAyBC,GAC7B,WAAAvtC,CAAYwtC,GACVpnC,MAAMinC,EAAMG,EAAcJ,EAC5B,EAGF,OADAE,EAAiBhxC,IAAM+wC,EAChBC,CACT,CAEA,MAAMG,GAAqDrqC,GAClC+pC,GAAoB/pC,EAASsW,IAEhDg0B,GAAmC,oBAAhBn3C,YAA8BA,YAAc,QAErE,MAAMg3C,WAAmBG,GACvB,WAAA1tC,CAAY2tC,EAAMpd,EAAS,CAAC,EAAG6c,GAC7BhnC,QACA1T,KAAKi7C,KAAOA,EACZj7C,KAAK69B,OAASA,EAId79B,KAAKg+B,UAAY,KACjBh+B,KAAKk7C,YAAa,EAClBl7C,KAAKm7C,WAAY,EACjBn7C,KAAKo7C,aAAe,KACpBp7C,KAAKq7C,IAAM,KACPr7C,KAAKs7C,YAAcZ,EACrBA,EAAS16C,KAAKu7C,eAAgBv7C,KAAKs7C,aAOnCt7C,KAAKw7C,aAAa,CAAEnzB,KAAM,SACrBroB,KAAKi7C,KAAK3pB,eACbtxB,KAAKy7C,cAAcz7C,KAAKi7C,MAG9B,CACA,iBAAAS,GACE17C,KAAKk7C,YAAa,EACbl7C,KAAKg+B,YACJh+B,KAAKm7C,UACPn7C,KAAK27C,UAEL37C,KAAK47C,cAGX,CACA,oBAAAC,GACE77C,KAAKk7C,YAAa,EACdl7C,KAAKq7C,MACPr7C,KAAKq7C,IAAIS,aACT97C,KAAKq7C,IAAM,MAEb5+B,IAAS,KACFzc,KAAKk7C,aACRh5B,GAAO,KAAMliB,KAAKs7C,YAClBt7C,KAAKg+B,UAAY,KACnB,GAEJ,CAIA,WAAA4d,GACE57C,KAAKm7C,WAAY,EACjB,IAAK,IAAIx0C,EAAI,EAAGA,EAAI3G,KAAK+7C,WAAWn1C,OAAQD,IAC1C3G,KAAKg8C,SAASh8C,KAAK+7C,WAAWp1C,GAAGxG,MAEnCH,KAAKq7C,IAAM,IAAIY,kBAAkBC,IAC/B,IAAK,MAAMz0B,KAAKy0B,EACdl8C,KAAKg8C,SAASv0B,EAAE00B,cAClB,IAEFn8C,KAAKq7C,IAAIe,QAAQp8C,KAAM,CAAE+7C,YAAY,IACrC,MAAMx/B,EAAU,CAAC3S,EAAKyyC,GAAU,KAC9B,MAAM,MAAE53C,EAAK,OAAE8zC,GAAW3uC,EAC1B,IAAI0yC,EACJ,GAAI73C,IAAU,EAAQA,GACpB,IAAK,MAAME,KAAOF,EAAO,CACvB,MAAM41B,EAAM51B,EAAME,IACd01B,IAAQlwB,QAAUkwB,GAAOA,EAAIn3B,OAASiH,UACpCxF,KAAO3E,KAAK69B,SACd79B,KAAK69B,OAAOl5B,GAAOuF,EAASlK,KAAK69B,OAAOl5B,MAEzC23C,IAAgBA,EAA8B/2C,OAAOiB,OAAO,QAAQuC,EAAWpE,KAAQ,EAE5F,CAEF3E,KAAKo7C,aAAekB,EAChBD,GACFr8C,KAAKy7C,cAAc7xC,GAErB5J,KAAKu8C,aAAahE,GAClBv4C,KAAK27C,SAAS,EAEVa,EAAWx8C,KAAKi7C,KAAK3pB,cACvBkrB,EACFA,IAAWt0C,MAAM0B,GAAQ2S,EAAQ3S,GAAK,KAEtC2S,EAAQvc,KAAKi7C,KAEjB,CACA,aAAAQ,CAAc7xC,GACZ,MAAM,MAAEnF,GAAUmF,EACZ6yC,EAAmB,EAAQh4C,GAASA,EAAQc,OAAO6G,KAAK3H,GAAS,CAAC,GACxE,IAAK,MAAME,KAAOY,OAAO6G,KAAKpM,MACb,MAAX2E,EAAI,IAAc83C,EAAiB5/B,SAASlY,IAC9C3E,KAAK08C,SAAS/3C,EAAK3E,KAAK2E,IAAM,GAAM,GAGxC,IAAK,MAAMA,KAAO83C,EAAiBl2C,IAAIwC,GACrCxD,OAAOC,eAAexF,KAAM2E,EAAK,CAC/B,GAAAe,GACE,OAAO1F,KAAK28C,SAASh4C,EACvB,EACA,GAAAwM,CAAIvM,GACF5E,KAAK08C,SAAS/3C,EAAKC,EACrB,GAGN,CACA,QAAAo3C,CAASr3C,GACP,IAAIyB,EAAQpG,KAAK48C,aAAaj4C,GAC9B,MAAM66B,EAAWz2B,EAAWpE,GACxB3E,KAAKo7C,cAAgBp7C,KAAKo7C,aAAa5b,KACzCp5B,EAAQ8D,EAAS9D,IAEnBpG,KAAK08C,SAASld,EAAUp5B,GAAO,EACjC,CAIA,QAAAu2C,CAASh4C,GACP,OAAO3E,KAAK69B,OAAOl5B,EACrB,CAIA,QAAA+3C,CAAS/3C,EAAKC,EAAKi4C,GAAgB,EAAMC,GAAe,GAClDl4C,IAAQ5E,KAAK69B,OAAOl5B,KACtB3E,KAAK69B,OAAOl5B,GAAOC,EACfk4C,GAAgB98C,KAAKg+B,WACvBh+B,KAAK27C,UAEHkB,KACU,IAARj4C,EACF5E,KAAK+uC,aAAa,EAAUpqC,GAAM,IACV,iBAARC,GAAmC,iBAARA,EAC3C5E,KAAK+uC,aAAa,EAAUpqC,GAAMC,EAAM,IAC9BA,GACV5E,KAAK+8C,gBAAgB,EAAUp4C,KAIvC,CACA,OAAAg3C,GACEz5B,GAAOliB,KAAKu7C,eAAgBv7C,KAAKs7C,WACnC,CACA,YAAAC,GACE,MAAMngC,EAAQ0H,GAAY9iB,KAAKi7C,KAAM,EAAO,CAAC,EAAGj7C,KAAK69B,SAuCrD,OAtCK79B,KAAKg+B,YACR5iB,EAAMsX,GAAM3X,IACV/a,KAAKg+B,UAAYjjB,EACjBA,EAAS4b,MAAO,EAYhB,MAAMqmB,EAAW,CAACz+B,EAAO7L,KACvB1S,KAAKqB,cACH,IAAI47C,YAAY1+B,EAAO,CACrB2+B,OAAQxqC,IAEX,EAEHqI,EAASyD,KAAO,CAACD,KAAU7L,KACzBsqC,EAASz+B,EAAO7L,GACZ,EAAU6L,KAAWA,GACvBy+B,EAAS,EAAUz+B,GAAQ7L,EAC7B,EAEF,IAAI/E,EAAS3N,KACb,KAAO2N,EAASA,IAAWA,EAAOuZ,YAAcvZ,EAAOwvC,OACrD,GAAIxvC,aAAkBktC,GAAY,CAChC9/B,EAASpN,OAASA,EAAOqwB,UACzBjjB,EAASkiB,SAAWtvB,EAAOqwB,UAAUf,SACrC,KACF,CACF,GAGG7hB,CACT,CACA,YAAAmhC,CAAahE,GACPA,GACFA,EAAOrtC,SAASuqC,IACd,MAAMjsB,EAAIhoB,SAASsB,cAAc,SACjC0mB,EAAEsb,YAAc2Q,EAChBz1C,KAAKs7C,WAAWpG,YAAY1rB,EACoB,GAKtD,EAGF,SAAS4zB,GAAaj9C,EAAO,UAC3B,CACE,MAAM4a,EAAW0T,KACjB,IAAK1T,EAEH,OAAOjU,EAET,MAAMu2C,EAAUtiC,EAAS7X,KAAK61B,aAC9B,IAAKskB,EAEH,OAAOv2C,EAGT,OADYu2C,EAAQl9C,IAGX2G,CAGX,CACF,CAEA,SAASw2C,GAAW/iC,GAClB,MAAMQ,EAAW0T,KACjB,IAAK1T,EAEH,OAEF,MAAMwiC,EAAkBxiC,EAAS+zB,GAAK,CAAC0O,EAAOjjC,EAAOQ,EAASrD,UAC5DhQ,MAAM0uB,KACJ50B,SAASi8C,iBAAiB,kBAAkB1iC,EAASwE,UACrDrU,SAAS9J,GAASs8C,GAAct8C,EAAMo8C,IAAM,EAE1CG,EAAU,KACd,MAAMH,EAAOjjC,EAAOQ,EAASrD,OAC7BkmC,GAAe7iC,EAAS8I,QAAS25B,GACjCD,EAAgBC,EAAK,EAEvB/yB,GAAgBkzB,GAChBvwB,IAAU,KACR,MAAMywB,EAAK,IAAI5B,iBAAiB0B,GAChCE,EAAGzB,QAAQrhC,EAAS8I,QAAQtc,GAAG2f,WAAY,CAAE42B,WAAW,IACxD1oB,IAAY,IAAMyoB,EAAG/B,cAAa,GAEtC,CACA,SAAS8B,GAAexiC,EAAOoiC,GAC7B,GAAsB,IAAlBpiC,EAAMoH,UAAiB,CACzB,MAAMoD,EAAWxK,EAAMwK,SACvBxK,EAAQwK,EAASY,aACbZ,EAASE,gBAAkBF,EAASc,aACtCd,EAASnY,QAAQK,MAAK,KACpB8vC,GAAeh4B,EAASY,aAAcg3B,EAAK,GAGjD,CACA,KAAOpiC,EAAMgE,WACXhE,EAAQA,EAAMgE,UAAUyE,QAE1B,GAAsB,EAAlBzI,EAAMoH,WAAiBpH,EAAM7T,GAC/Bm2C,GAActiC,EAAM7T,GAAIi2C,QACnB,GAAIpiC,EAAMlY,OAAS+tB,GACxB7V,EAAMgM,SAASlc,SAASjC,GAAM20C,GAAe30C,EAAGu0C,UAC3C,GAAIpiC,EAAMlY,OAAS07B,GAAQ,CAChC,IAAI,GAAEr3B,EAAE,OAAE4d,GAAW/J,EACrB,KAAO7T,IACLm2C,GAAcn2C,EAAIi2C,GACdj2C,IAAO4d,IAEX5d,EAAKA,EAAGy7B,WAEZ,CACF,CACA,SAAS0a,GAAcn2C,EAAIi2C,GACzB,GAAoB,IAAhBj2C,EAAGm7B,SAAgB,CACrB,MAAMj3B,EAAQlE,EAAGkE,MACjB,IAAK,MAAM9G,KAAO64C,EAChB/xC,EAAMkuC,YAAY,KAAKh1C,IAAO64C,EAAK74C,GAEvC,CACF,CAEA,MAAMo5C,GAA8B,IAAIxuC,QAClCyuC,GAAiC,IAAIzuC,QACrC0uC,GAAY/3C,OAAO,WACnB,GAAaA,OAAO,YA+EpBg4C,GA9EsB,CAC1B/9C,KAAM,kBACNsE,MAAuB,EAAO,CAAC,EAAG2xC,GAA2B,CAC3D1B,IAAKtxC,OACL+6C,UAAW/6C,SAEb,KAAAorB,CAAM/pB,GAAO,MAAEud,IACb,MAAMjH,EAAW0T,KACX1B,EAAQD,KACd,IAAIuc,EACAjiB,EAmCJ,OAlCAmN,IAAU,KACR,IAAK8U,EAAaziC,OAChB,OAEF,MAAMu3C,EAAY15C,EAAM05C,WAAa,GAAG15C,EAAMtE,MAAQ,WACtD,IAuFN,SAAyBoH,EAAIyb,EAAMm7B,GACjC,MAAMvtB,EAAQrpB,EAAGytC,YACXyC,EAAOlwC,EAAG8tC,IACZoC,GACFA,EAAKvsC,SAASqsC,IACZA,EAAI7wC,MAAM,OAAOwE,SAASjC,GAAMA,GAAK2nB,EAAM4mB,UAAUnwC,OAAO4B,IAAG,IAGnEk1C,EAAUz3C,MAAM,OAAOwE,SAASjC,GAAMA,GAAK2nB,EAAM4mB,UAAU/lC,IAAIxI,KAC/D2nB,EAAMnlB,MAAM8tC,QAAU,OACtB,MAAMr0B,EAA8B,IAAlBlC,EAAK0f,SAAiB1f,EAAOA,EAAKkE,WACpDhC,EAAUgwB,YAAYtkB,GACtB,MAAM,aAAEqoB,GAAiBhB,GAAkBrnB,GAE3C,OADA1L,EAAUuvB,YAAY7jB,GACfqoB,CACT,CAtGWmF,CACH/U,EAAa,GAAG9hC,GAChBwT,EAASK,MAAM7T,GACf42C,GAEA,OAEF9U,EAAan+B,QAAQmzC,IACrBhV,EAAan+B,QAAQozC,IACrB,MAAMC,EAAgBlV,EAAa/2B,OAAOksC,IAC1ClH,KACAiH,EAAcrzC,SAASjC,IACrB,MAAM1B,EAAK0B,EAAE1B,GACPkE,EAAQlE,EAAGkE,MACjB2rC,GAAmB7vC,EAAI42C,GACvB1yC,EAAMgzC,UAAYhzC,EAAMizC,gBAAkBjzC,EAAMkzC,mBAAqB,GACrE,MAAMjhC,EAAKnW,EAAG02C,IAAch9C,IACtBA,GAAKA,EAAEyB,SAAW6E,GAGjBtG,IAAK,aAAaY,KAAKZ,EAAE29C,gBAC5Br3C,EAAG6wC,oBAAoB,gBAAiB16B,GACxCnW,EAAG02C,IAAa,KAChBlH,GAAsBxvC,EAAI42C,GAC5B,EAEF52C,EAAG+wC,iBAAiB,gBAAiB56B,EAAG,GACxC,IAEG,KACL,MAAMmR,EAAW,GAAMpqB,GACjBo6C,EAAqBtJ,GAAuB1mB,GAClD,IAAI6lB,EAAM7lB,EAAS6lB,KAAOzjB,GAC1BoY,EAAejiB,EACfA,EAAWpF,EAAMuF,QAAUoH,GAAyB3M,EAAMuF,WAAa,GACvE,IAAK,IAAI5gB,EAAI,EAAGA,EAAIygB,EAASxgB,OAAQD,IAAK,CACxC,MAAMsjB,EAAQ7C,EAASzgB,GACN,MAAbsjB,EAAMtlB,KACRwqB,GACElF,EACAiF,GAAuBjF,EAAO40B,EAAoB9xB,EAAOhS,GAK/D,CACA,GAAIsuB,EACF,IAAK,IAAI1iC,EAAI,EAAGA,EAAI0iC,EAAaziC,OAAQD,IAAK,CAC5C,MAAMsjB,EAAQof,EAAa1iC,GAC3BwoB,GACElF,EACAiF,GAAuBjF,EAAO40B,EAAoB9xB,EAAOhS,IAE3DgjC,GAAY5sC,IAAI8Y,EAAOA,EAAM1iB,GAAGu3C,wBAClC,CAEF,OAAOh8B,GAAY4xB,EAAK,KAAMttB,EAAS,CAE3C,GAKF,SAASi3B,GAAep1C,GACtB,MAAM1B,EAAK0B,EAAE1B,GACTA,EAAG02C,KACL12C,EAAG02C,MAED12C,EAAG,KACLA,EAAG,KAEP,CACA,SAAS+2C,GAAer1C,GACtB+0C,GAAe7sC,IAAIlI,EAAGA,EAAE1B,GAAGu3C,wBAC7B,CACA,SAASN,GAAiBv1C,GACxB,MAAM81C,EAAShB,GAAYr4C,IAAIuD,GACzB+1C,EAAShB,GAAet4C,IAAIuD,GAC5Bg2C,EAAKF,EAAOG,KAAOF,EAAOE,KAC1BC,EAAKJ,EAAOK,IAAMJ,EAAOI,IAC/B,GAAIH,GAAME,EAAI,CACZ,MAAM31B,EAAIvgB,EAAE1B,GAAGkE,MAGf,OAFA+d,EAAEi1B,UAAYj1B,EAAEk1B,gBAAkB,aAAaO,OAAQE,OACvD31B,EAAEm1B,mBAAqB,KAChB11C,CACT,CACF,CAkBA,MAAMo2C,GAAoBjkC,IACxB,MAAMxS,EAAKwS,EAAM3W,MAAM,yBAA0B,EACjD,OAAO,EAAQmE,GAAOxC,GAAUqD,EAAeb,EAAIxC,GAASwC,CAAE,EAEhE,SAAS02C,GAAmBr+C,GAC1BA,EAAEyB,OAAO68C,WAAY,CACvB,CACA,SAASC,GAAiBv+C,GACxB,MAAMyB,EAASzB,EAAEyB,OACbA,EAAO68C,YACT78C,EAAO68C,WAAY,EACnB78C,EAAOrB,cAAc,IAAIo+C,MAAM,UAEnC,CACA,MAAMC,GAAYx5C,OAAO,WACnBy5C,GAAa,CACjB,OAAAhkB,CAAQp0B,GAAM8kB,WAAW,KAAEzb,EAAI,KAAExF,EAAI,OAAEwU,IAAYxE,GACjD7T,EAAGm4C,IAAaL,GAAiBjkC,GACjC,MAAMwkC,EAAehgC,GAAUxE,EAAM3W,OAA8B,WAArB2W,EAAM3W,MAAMvB,KAC1Do1C,GAAiB/wC,EAAIqJ,EAAO,SAAW,SAAU3P,IAC/C,GAAIA,EAAEyB,OAAO68C,UACX,OACF,IAAIM,EAAWt4C,EAAGnB,MACdgF,IACFy0C,EAAWA,EAASz0C,QAElBw0C,IACFC,EAAW/1C,EAAc+1C,IAE3Bt4C,EAAGm4C,IAAWG,EAAS,IAErBz0C,GACFktC,GAAiB/wC,EAAI,UAAU,KAC7BA,EAAGnB,MAAQmB,EAAGnB,MAAMgF,MAAM,IAGzBwF,IACH0nC,GAAiB/wC,EAAI,mBAAoB+3C,IACzChH,GAAiB/wC,EAAI,iBAAkBi4C,IACvClH,GAAiB/wC,EAAI,SAAUi4C,IAEnC,EAEA,OAAAlzB,CAAQ/kB,GAAI,MAAEnB,IACZmB,EAAGnB,MAAiB,MAATA,EAAgB,GAAKA,CAClC,EACA,YAAAy1B,CAAat0B,GAAI,MAAEnB,EAAOimB,WAAW,KAAEzb,EAAI,KAAExF,EAAI,OAAEwU,IAAYxE,GAE7D,GADA7T,EAAGm4C,IAAaL,GAAiBjkC,GAC7B7T,EAAGg4C,UACL,OACF,GAAI/9C,SAASs+C,gBAAkBv4C,GAAkB,UAAZA,EAAGrE,KAAkB,CACxD,GAAI0N,EACF,OAEF,GAAIxF,GAAQ7D,EAAGnB,MAAMgF,SAAWhF,EAC9B,OAEF,IAAKwZ,GAAsB,WAAZrY,EAAGrE,OAAsB4G,EAAcvC,EAAGnB,SAAWA,EAClE,MAEJ,CACA,MAAMuL,EAAoB,MAATvL,EAAgB,GAAKA,EAClCmB,EAAGnB,QAAUuL,IACfpK,EAAGnB,MAAQuL,EAEf,GAEIouC,GAAiB,CAErBh1B,MAAM,EACN,OAAA4Q,CAAQp0B,EAAIyB,EAAGoS,GACb7T,EAAGm4C,IAAaL,GAAiBjkC,GACjCk9B,GAAiB/wC,EAAI,UAAU,KAC7B,MAAMy4C,EAAaz4C,EAAG04C,YAChBC,EAAeC,GAAS54C,GACxB64C,EAAU74C,EAAG64C,QACbh5C,EAASG,EAAGm4C,IAClB,GAAI,EAAQM,GAAa,CACvB,MAAMpyC,EAAQrB,GAAayzC,EAAYE,GACjCG,GAAmB,IAAXzyC,EACd,GAAIwyC,IAAYC,EACdj5C,EAAO44C,EAAW38B,OAAO68B,SACpB,IAAKE,GAAWC,EAAO,CAC5B,MAAMC,EAAW,IAAIN,GACrBM,EAAS74C,OAAOmG,EAAO,GACvBxG,EAAOk5C,EACT,CACF,MAAO,GAAIx4C,EAAMk4C,GAAa,CAC5B,MAAMhQ,EAAS,IAAI/gC,IAAI+wC,GACnBI,EACFpQ,EAAOv+B,IAAIyuC,GAEXlQ,EAAO3/B,OAAO6vC,GAEhB94C,EAAO4oC,EACT,MACE5oC,EAAOm5C,GAAiBh5C,EAAI64C,GAC9B,GAEJ,EAEA9zB,QAASk0B,GACT,YAAA3kB,CAAat0B,EAAIolB,EAASvR,GACxB7T,EAAGm4C,IAAaL,GAAiBjkC,GACjColC,GAAWj5C,EAAIolB,EAASvR,EAC1B,GAEF,SAASolC,GAAWj5C,GAAI,MAAEnB,EAAK,SAAEmD,GAAY6R,GAC3C7T,EAAG04C,YAAc75C,EACb,EAAQA,GACVmB,EAAG64C,QAAU7zC,GAAanG,EAAOgV,EAAM3W,MAAM2B,QAAU,EAC9C0B,EAAM1B,GACfmB,EAAG64C,QAAUh6C,EAAMoL,IAAI4J,EAAM3W,MAAM2B,OAC1BA,IAAUmD,IACnBhC,EAAG64C,QAAUv0C,GAAWzF,EAAOm6C,GAAiBh5C,GAAI,IAExD,CACA,MAAMk5C,GAAc,CAClB,OAAA9kB,CAAQp0B,GAAI,MAAEnB,GAASgV,GACrB7T,EAAG64C,QAAUv0C,GAAWzF,EAAOgV,EAAM3W,MAAM2B,OAC3CmB,EAAGm4C,IAAaL,GAAiBjkC,GACjCk9B,GAAiB/wC,EAAI,UAAU,KAC7BA,EAAGm4C,IAAWS,GAAS54C,GAAI,GAE/B,EACA,YAAAs0B,CAAat0B,GAAI,MAAEnB,EAAK,SAAEmD,GAAY6R,GACpC7T,EAAGm4C,IAAaL,GAAiBjkC,GAC7BhV,IAAUmD,IACZhC,EAAG64C,QAAUv0C,GAAWzF,EAAOgV,EAAM3W,MAAM2B,OAE/C,GAEIs6C,GAAe,CAEnB31B,MAAM,EACN,OAAA4Q,CAAQp0B,GAAI,MAAEnB,EAAOimB,WAAW,OAAEzM,IAAYxE,GAC5C,MAAMulC,EAAa74C,EAAM1B,GACzBkyC,GAAiB/wC,EAAI,UAAU,KAC7B,MAAMq5C,EAAcl5C,MAAM1F,UAAUsQ,OAAOnN,KAAKoC,EAAGmJ,SAAUpL,GAAMA,EAAEu7C,WAAUt6C,KAC5EjB,GAAMsa,EAAS9V,EAAcq2C,GAAS76C,IAAM66C,GAAS76C,KAExDiC,EAAGm4C,IACDn4C,EAAGotC,SAAWgM,EAAa,IAAI1xC,IAAI2xC,GAAeA,EAAcA,EAAY,GAC7E,IAEHr5C,EAAGm4C,IAAaL,GAAiBjkC,EACnC,EAGA,OAAAkR,CAAQ/kB,GAAI,MAAEnB,IACZ06C,GAAYv5C,EAAInB,EAClB,EACA,YAAAy1B,CAAat0B,EAAIw5C,EAAU3lC,GACzB7T,EAAGm4C,IAAaL,GAAiBjkC,EACnC,EACA,OAAAmR,CAAQhlB,GAAI,MAAEnB,IACZ06C,GAAYv5C,EAAInB,EAClB,GAEF,SAAS06C,GAAYv5C,EAAInB,GACvB,MAAM46C,EAAaz5C,EAAGotC,SACtB,IAAIqM,GAAe,EAAQ56C,IAAW0B,EAAM1B,GAA5C,CAMA,IAAK,IAAIO,EAAI,EAAG2H,EAAI/G,EAAGmJ,QAAQ9J,OAAQD,EAAI2H,EAAG3H,IAAK,CACjD,MAAMs6C,EAAS15C,EAAGmJ,QAAQ/J,GACpBu6C,EAAcf,GAASc,GAC7B,GAAID,EACE,EAAQ56C,GACV66C,EAAOJ,SAAWt0C,GAAanG,EAAO86C,IAAgB,EAEtDD,EAAOJ,SAAWz6C,EAAMoL,IAAI0vC,QAG9B,GAAIr1C,GAAWs0C,GAASc,GAAS76C,GAG/B,YAFImB,EAAG45C,gBAAkBx6C,IACvBY,EAAG45C,cAAgBx6C,GAI3B,CACKq6C,IAAoC,IAAtBz5C,EAAG45C,gBACpB55C,EAAG45C,eAAiB,EAnBtB,CAqBF,CACA,SAAShB,GAAS54C,GAChB,MAAO,WAAYA,EAAKA,EAAGoR,OAASpR,EAAGnB,KACzC,CACA,SAASm6C,GAAiBh5C,EAAI64C,GAC5B,MAAMz7C,EAAMy7C,EAAU,aAAe,cACrC,OAAOz7C,KAAO4C,EAAKA,EAAG5C,GAAOy7C,CAC/B,CACA,MAAMgB,GAAgB,CACpB,OAAAzlB,CAAQp0B,EAAIolB,EAASvR,GACnBimC,GAAc95C,EAAIolB,EAASvR,EAAO,KAAM,UAC1C,EACA,OAAAkR,CAAQ/kB,EAAIolB,EAASvR,GACnBimC,GAAc95C,EAAIolB,EAASvR,EAAO,KAAM,UAC1C,EACA,YAAAygB,CAAat0B,EAAIolB,EAASvR,EAAOqR,GAC/B40B,GAAc95C,EAAIolB,EAASvR,EAAOqR,EAAW,eAC/C,EACA,OAAAF,CAAQhlB,EAAIolB,EAASvR,EAAOqR,GAC1B40B,GAAc95C,EAAIolB,EAASvR,EAAOqR,EAAW,UAC/C,GAEF,SAAS60B,GAAoB9e,EAASt/B,GACpC,OAAQs/B,GACN,IAAK,SACH,OAAOke,GACT,IAAK,WACH,OAAOf,GACT,QACE,OAAQz8C,GACN,IAAK,WACH,OAAO68C,GACT,IAAK,QACH,OAAOU,GACT,QACE,OAAOd,IAGjB,CACA,SAAS0B,GAAc95C,EAAIolB,EAASvR,EAAOqR,EAAW/N,GACpD,MAIM9V,EAJa04C,GACjB/5C,EAAGi7B,QACHpnB,EAAM3W,OAAS2W,EAAM3W,MAAMvB,MAEPwb,GACtB9V,GAAMA,EAAGrB,EAAIolB,EAASvR,EAAOqR,EAC/B,CAoCA,MAAM80B,GAAkB,CAAC,OAAQ,QAAS,MAAO,QAC3CC,GAAiB,CACrBpzC,KAAOnN,GAAMA,EAAEwgD,kBACfC,QAAUzgD,GAAMA,EAAE0gD,iBAClB7hD,KAAOmB,GAAMA,EAAEyB,SAAWzB,EAAE2gD,cAC5BC,KAAO5gD,IAAOA,EAAE6gD,QAChBC,MAAQ9gD,IAAOA,EAAE+gD,SACjBC,IAAMhhD,IAAOA,EAAEihD,OACfC,KAAOlhD,IAAOA,EAAEmhD,QAChBlD,KAAOj+C,GAAM,WAAYA,GAAkB,IAAbA,EAAEohD,OAChCplC,OAAShc,GAAM,WAAYA,GAAkB,IAAbA,EAAEohD,OAClCC,MAAQrhD,GAAM,WAAYA,GAAkB,IAAbA,EAAEohD,OACjCE,MAAO,CAACthD,EAAGorB,IAAck1B,GAAgBt+B,MAAMwE,GAAMxmB,EAAE,GAAGwmB,UAAY4E,EAAUxP,SAAS4K,MAErF+6B,GAAgB,CAAC55C,EAAIyjB,IAClB,CAAC9N,KAAU7L,KAChB,IAAK,IAAI/L,EAAI,EAAGA,EAAI0lB,EAAUzlB,OAAQD,IAAK,CACzC,MAAM87C,EAAQjB,GAAen1B,EAAU1lB,IACvC,GAAI87C,GAASA,EAAMlkC,EAAO8N,GACxB,MACJ,CACA,OAAOzjB,EAAG2V,KAAU7L,EAAK,EAGvBgwC,GAAW,CACfC,IAAK,SACLC,MAAO,IACPC,GAAI,WACJ3D,KAAM,aACNoD,MAAO,cACPQ,KAAM,aACNzyC,OAAQ,aAEJ0yC,GAAW,CAACn6C,EAAIyjB,IACZ9N,IACN,KAAM,QAASA,GACb,OAEF,MAAMykC,EAAW,EAAUzkC,EAAM5Z,KACjC,OAAI0nB,EAAUpJ,MAAMmf,GAAMA,IAAM4gB,GAAYN,GAAStgB,KAAO4gB,IACnDp6C,EAAG2V,QADZ,CAEA,EAIE0kC,GAAkC,EAAO,CAAEngB,UA5xB/B,CAACv7B,EAAI5C,EAAKu+C,EAAWC,EAAW79B,GAAQ,EAAO+jB,EAAcjkB,EAAiBC,EAAgBsiB,KAClG,UAARhjC,EAxRN,SAAoB4C,EAAInB,EAAOkf,GAC7B,MAAM89B,EAAoB77C,EAAG8tC,IACzB+N,IACFh9C,GAASA,EAAQ,CAACA,KAAUg9C,GAAqB,IAAIA,IAAoBC,KAAK,MAEnE,MAATj9C,EACFmB,EAAGw1C,gBAAgB,SACVz3B,EACT/d,EAAGwnC,aAAa,QAAS3oC,GAEzBmB,EAAG+7C,UAAYl9C,CAEnB,CA6QIm9C,CAAWh8C,EAAI47C,EAAW79B,GACT,UAAR3gB,EA7Nb,SAAoB4C,EAAIsZ,EAAM/K,GAC5B,MAAMrK,EAAQlE,EAAGkE,MACX+3C,EAAc,EAAS1tC,GAC7B,GAAIA,IAAS0tC,EAAa,CACxB,GAAI3iC,IAAS,EAASA,GACpB,IAAK,MAAMlc,KAAOkc,EACC,MAAb/K,EAAKnR,IACP+0C,GAASjuC,EAAO9G,EAAK,IAI3B,IAAK,MAAMA,KAAOmR,EAChB4jC,GAASjuC,EAAO9G,EAAKmR,EAAKnR,GAE9B,KAAO,CACL,MAAM8+C,EAAiBh4C,EAAM8tC,QACzBiK,EACE3iC,IAAS/K,IACXrK,EAAMT,QAAU8K,GAET+K,GACTtZ,EAAGw1C,gBAAgB,SAEjB1D,MAAe9xC,IACjBkE,EAAM8tC,QAAUkK,EAEpB,CACF,CAmMIC,CAAWn8C,EAAI27C,EAAWC,GACjBl8C,EAAKtC,GACTuC,EAAgBvC,IAvEzB,SAAoB4C,EAAIsyC,EAASqJ,EAAWC,EAAWpoC,EAAW,MAChE,MAAM4oC,EAAWp8C,EAAG2yC,MAAY3yC,EAAG2yC,IAAU,CAAC,GACxC0J,EAAkBD,EAAS9J,GACjC,GAAIsJ,GAAaS,EACfA,EAAgBx9C,MAAQ+8C,MACnB,CACL,MAAOhjD,EAAMuQ,GAWjB,SAAmBvQ,GACjB,IAAIuQ,EACJ,GAAIypC,GAAkBt4C,KAAK1B,GAAO,CAEhC,IAAIsnB,EACJ,IAFA/W,EAAU,CAAC,EAEJ+W,EAAItnB,EAAKogC,MAAM4Z,KACpBh6C,EAAOA,EAAKmI,MAAM,EAAGnI,EAAKyG,OAAS6gB,EAAE,GAAG7gB,QACxC8J,EAAQ+W,EAAE,GAAG5gB,gBAAiB,CAElC,CAEA,MAAO,CADmB,MAAZ1G,EAAK,GAAaA,EAAKmI,MAAM,GAAK,EAAUnI,EAAKmI,MAAM,IACtDoI,EACjB,CAvB4BmzC,CAAUhK,GAClC,GAAIsJ,EAAW,CACb,MAAMW,EAAUH,EAAS9J,GAyB/B,SAAuBkK,EAAchpC,GACnC,MAAM+oC,EAAW7iD,IACf,GAAKA,EAAE+iD,MAEA,GAAI/iD,EAAE+iD,MAAQF,EAAQG,SAC3B,YAFAhjD,EAAE+iD,KAAO1J,KAAKC,MAIhBr/B,GAWJ,SAAuCja,EAAGmF,GACxC,GAAI,EAAQA,GAAQ,CAClB,MAAM89C,EAAejjD,EAAEkjD,yBAKvB,OAJAljD,EAAEkjD,yBAA2B,KAC3BD,EAAa/+C,KAAKlE,GAClBA,EAAEmjD,UAAW,CAAI,EAEZh+C,EAAMG,KAAKqC,GAAQwiC,IAAQA,EAAGgZ,UAAYx7C,GAAMA,EAAGwiC,IAC5D,CACE,OAAOhlC,CAEX,CArBMi+C,CAA8BpjD,EAAG6iD,EAAQ19C,OACzC2U,EACA,EACA,CAAC9Z,GACF,EAIH,OAFA6iD,EAAQ19C,MAAQ29C,EAChBD,EAAQG,SAAW5J,KACZyJ,CACT,CA1C0CQ,CAAcnB,EAAWpoC,GAC7Du9B,GAAiB/wC,EAAIpH,EAAM2jD,EAASpzC,EACtC,MAAWkzC,IAdf,SAA6Br8C,EAAIgX,EAAOyB,EAAStP,GAC/CnJ,EAAG6wC,oBAAoB75B,EAAOyB,EAAStP,EACzC,CAaM0nC,CAAoB7wC,EAAIpH,EAAMyjD,EAAiBlzC,GAC/CizC,EAAS9J,QAAW,EAExB,CACF,CAyDM0K,CAAWh9C,EAAI5C,EAAKu+C,EAAWC,EAAW/9B,IAExB,MAAXzgB,EAAI,IAAcA,EAAMA,EAAI2D,MAAM,GAAI,GAAmB,MAAX3D,EAAI,IAAcA,EAAMA,EAAI2D,MAAM,GAAI,GAmBjG,SAAyBf,EAAI5C,EAAKyB,EAAOkf,GACvC,OAAIA,EACU,cAAR3gB,GAA+B,gBAARA,MAGvBA,KAAO4C,GAAMizC,GAAW34C,KAAK8C,IAAQ,EAAWyB,IAK1C,eAARzB,GAAgC,cAARA,GAA+B,cAARA,IAGvC,SAARA,KAGQ,SAARA,GAAiC,UAAf4C,EAAGi7B,YAGb,SAAR79B,GAAiC,aAAf4C,EAAGi7B,aAGrBgY,GAAW34C,KAAK8C,KAAQ,EAASyB,KAG9BzB,KAAO4C,KAChB,CA7C0Gi9C,CAAgBj9C,EAAI5C,EAAKw+C,EAAW79B,IAjI9I,SAAsB/d,EAAI5C,EAAKyB,EAAOijC,EAAcjkB,EAAiBC,EAAgBsiB,GACnF,GAAY,cAARhjC,GAA+B,gBAARA,EAKzB,OAJI0kC,GACF1B,EAAgB0B,EAAcjkB,EAAiBC,QAEjD9d,EAAG5C,GAAgB,MAATyB,EAAgB,GAAKA,GAGjC,MAAMsuC,EAAMntC,EAAGi7B,QACf,GAAY,UAAR79B,GAA2B,aAAR+vC,IACtBA,EAAI73B,SAAS,KAAM,CAClBtV,EAAGoR,OAASvS,EACZ,MACMuL,EAAoB,MAATvL,EAAgB,GAAKA,EAOtC,OARyB,WAARsuC,EAAmBntC,EAAGq1C,aAAa,SAAWr1C,EAAGnB,SAEjDuL,IACfpK,EAAGnB,MAAQuL,QAEA,MAATvL,GACFmB,EAAGw1C,gBAAgBp4C,GAGvB,CACA,IAAI8/C,GAAa,EACjB,GAAc,KAAVr+C,GAAyB,MAATA,EAAe,CACjC,MAAMlD,SAAcqE,EAAG5C,GACV,YAATzB,EACFkD,EAAQwF,GAAmBxF,GACT,MAATA,GAA0B,WAATlD,GAC1BkD,EAAQ,GACRq+C,GAAa,GACK,WAATvhD,IACTkD,EAAQ,EACRq+C,GAAa,EAEjB,CACA,IACEl9C,EAAG5C,GAAOyB,CACZ,CAAE,MAAOnF,GAOT,CACAwjD,GAAcl9C,EAAGw1C,gBAAgBp4C,EACnC,CAoFI+/C,CACEn9C,EACA5C,EACAw+C,EACA9Z,EACAjkB,EACAC,EACAsiB,IAGU,eAARhjC,EACF4C,EAAGo9C,WAAaxB,EACC,gBAARx+C,IACT4C,EAAGq9C,YAAczB,GAhKvB,SAAmB57C,EAAI5C,EAAKyB,EAAOkf,GACjC,GAAIA,GAAS3gB,EAAIwC,WAAW,UACb,MAATf,EACFmB,EAAGs9C,kBAAkB5K,GAASt1C,EAAI2D,MAAM,EAAG3D,EAAIiC,SAE/CW,EAAGu9C,eAAe7K,GAASt1C,EAAKyB,OAE7B,CACL,MAAM2+C,EAAYp5C,GAAqBhH,GAC1B,MAATyB,GAAiB2+C,IAAcn5C,GAAmBxF,GACpDmB,EAAGw1C,gBAAgBp4C,GAEnB4C,EAAGwnC,aAAapqC,EAAKogD,EAAY,GAAK3+C,EAE1C,CACF,CAmJI4+C,CAAUz9C,EAAI5C,EAAKw+C,EAAW79B,GAChC,GAkwB4DivB,IAC9D,IAAIrhB,GACA+xB,IAAmB,EACvB,SAASC,KACP,OAAOhyB,KAAaA,GAAWwS,GAAeud,IAChD,CACA,SAASkC,KAGP,OAFAjyB,GAAW+xB,GAAmB/xB,GAAW0S,GAAwBqd,IACjEgC,IAAmB,EACZ/xB,EACT,CACA,MAAMhR,GAAS,IAAIxP,KACjBwyC,KAAiBhjC,UAAUxP,EAAK,EAE5BsU,GAAU,IAAItU,KAClByyC,KAA0Bn+B,WAAWtU,EAAK,EAEtC06B,GAAY,IAAI16B,KACpB,MAAM4M,EAAM4lC,KAAiB9X,aAAa16B,IAKpC,MAAE6rB,GAAUjf,EAiBlB,OAhBAA,EAAIif,MAAS6mB,IACX,MAAMlgC,EAAYmgC,GAAmBD,GACrC,IAAKlgC,EACH,OACF,MAAM9F,EAAYE,EAAIse,WACjB,EAAWxe,IAAeA,EAAU8C,QAAW9C,EAAUuzB,WAC5DvzB,EAAUuzB,SAAWztB,EAAU2f,WAEjC3f,EAAU2f,UAAY,GACtB,MAAMntB,EAAQ6mB,EAAMrZ,GAAW,EAAOA,aAAqByoB,YAK3D,OAJIzoB,aAAqBogC,UACvBpgC,EAAU63B,gBAAgB,WAC1B73B,EAAU6pB,aAAa,aAAc,KAEhCr3B,CAAK,EAEP4H,CAAG,EAENimC,GAAe,IAAI7yC,KACvB,MAAM4M,EAAM6lC,KAA0B/X,aAAa16B,IAK7C,MAAE6rB,GAAUjf,EAOlB,OANAA,EAAIif,MAAS6mB,IACX,MAAMlgC,EAAYmgC,GAAmBD,GACrC,GAAIlgC,EACF,OAAOqZ,EAAMrZ,GAAW,EAAMA,aAAqByoB,WACrD,EAEKruB,CAAG,EAqCZ,SAAS+lC,GAAmBngC,GAC1B,OAAI,EAASA,GACC1jB,SAAS4sC,cAAclpB,GAa9BA,CACT,CACA,IAAIsgC,IAA0B,EAC9B,MAAMC,GAAuB,KACtBD,KACHA,IAA0B,EA/L5B7F,GAAW+F,YAAc,EAAGt/C,YAAY,CAAGA,UAC3Cq6C,GAAYiF,YAAc,EAAGt/C,SAASgV,KACpC,GAAIA,EAAM3W,OAASoH,GAAWuP,EAAM3W,MAAM2B,MAAOA,GAC/C,MAAO,CAAEg6C,SAAS,EACpB,EAEFL,GAAe2F,YAAc,EAAGt/C,SAASgV,KACvC,GAAI,EAAQhV,IACV,GAAIgV,EAAM3W,OAAS8H,GAAanG,EAAOgV,EAAM3W,MAAM2B,QAAU,EAC3D,MAAO,CAAEg6C,SAAS,QAEf,GAAIt4C,EAAM1B,IACf,GAAIgV,EAAM3W,OAAS2B,EAAMoL,IAAI4J,EAAM3W,MAAM2B,OACvC,MAAO,CAAEg6C,SAAS,QAEf,GAAIh6C,EACT,MAAO,CAAEg6C,SAAS,EACpB,EAEFgB,GAAcsE,YAAc,CAAC/4B,EAASvR,KACpC,GAA0B,iBAAfA,EAAMlY,KACf,OAEF,MAAMyiD,EAAarE,GAEjBlmC,EAAMlY,KAAKgG,cACXkS,EAAM3W,OAAS2W,EAAM3W,MAAMvB,MAE7B,OAAIyiD,EAAWD,YACNC,EAAWD,YAAY/4B,EAASvR,QADzC,CAEA,EA58BFk+B,GAAMoM,YAAc,EAAGt/C,YACrB,IAAKA,EACH,MAAO,CAAEqF,MAAO,CAAE8tC,QAAS,QAC7B,EA6mCF,ECv/CF,SAASqM,GAAe9kD,GACtB,MAAMA,CACR,CACA,SAAS+kD,GAAcjrC,GAEvB,CACA,SAASkrC,GAAoBC,EAAMC,EAAKC,EAAUC,GAChD,MACMplD,EAAQ,IAAIqlD,YAAY/iD,OADmG2iD,IAIjI,OAFAjlD,EAAMilD,KAAOA,EACbjlD,EAAMklD,IAAMA,EACLllD,CACT,CACA,MAgEMslD,GAAWlgD,OAAgE,IAC3EmgD,GAAWngD,OAAgE,IAC3EogD,GAAWpgD,OAAgE,IAC3EqgD,GAAargD,OAAiE,IAC9EsgD,GAAkBtgD,OAAsE,IACxFugD,GAAavgD,OAAiE,IAC9EwgD,GAAexgD,OAAmE,IAClFygD,GAAuBzgD,OAA0E,IACjG0gD,GAAe1gD,OAAmE,IAClF2gD,GAAuB3gD,OAA0E,IACjG4gD,GAAiB5gD,OAA0E,IAC3F6gD,GAAc7gD,OAAuE,IACrF8gD,GAAgB9gD,OAAyE,IACzF+gD,GAAoB/gD,OAAwE,IAC5FghD,GAA4BhhD,OACwC,IAEpEihD,GAAoBjhD,OAAwE,IAC5FkhD,GAAiBlhD,OAAqE,IACtFmhD,GAAkBnhD,OAAsE,IACxFohD,GAAcphD,OAAkE,IAChFqhD,GAAcrhD,OAAkE,IAChFshD,GAAethD,OAAmE,IAClFuhD,GAAoBvhD,OAAuE,IAC3FwhD,GAAcxhD,OAAkE,IAChFyhD,GAAkBzhD,OAAsE,IACxF0hD,GAAkB1hD,OAAsE,IACxF2hD,GAAkB3hD,OAAsE,IACxF4hD,GAAuB5hD,OAA0E,IACjG6hD,GAAc7hD,OAAkE,IAChF8hD,GAAW9hD,OAAgE,IAC3E+hD,GAAa/hD,OAAkE,IAC/EgiD,GAAiBhiD,OAAoE,IACrFiiD,GAAqBjiD,OAAwE,IAC7FkiD,GAAgBliD,OAAmE,IACnFmiD,GAAeniD,OAAkE,IACjFoiD,GAAWpiD,OAA+D,IAC1EqiD,GAAQriD,OAA6D,IACrEsiD,GAAStiD,OAA6D,IACtEuiD,GAAYviD,OAAgE,IAC5EwiD,GAAexiD,OAAkE,IACjFyiD,GAAgB,CACpB,CAACvC,IAAW,WACZ,CAACC,IAAW,WACZ,CAACC,IAAW,WACZ,CAACC,IAAa,YACd,CAACC,IAAkB,iBACnB,CAACC,IAAa,YACd,CAACC,IAAe,cAChB,CAACC,IAAuB,qBACxB,CAACC,IAAe,cAChB,CAACC,IAAuB,qBACxB,CAACC,IAAiB,qBAClB,CAACC,IAAc,kBACf,CAACC,IAAgB,oBACjB,CAACC,IAAoB,mBACrB,CAACC,IAA4B,0BAC7B,CAACC,IAAoB,mBACrB,CAACC,IAAiB,gBAClB,CAACC,IAAkB,iBACnB,CAACC,IAAc,aACf,CAACC,IAAc,aACf,CAACC,IAAe,cAChB,CAACC,IAAoB,kBACrB,CAACC,IAAc,aACf,CAACC,IAAkB,iBACnB,CAACC,IAAkB,iBACnB,CAACC,IAAkB,iBACnB,CAACC,IAAuB,qBACxB,CAACC,IAAc,aACf,CAACC,IAAW,WACZ,CAACC,IAAa,aACd,CAACC,IAAiB,eAClB,CAACC,IAAqB,mBACtB,CAACC,IAAgB,cACjB,CAACC,IAAe,aAChB,CAACC,IAAW,UACZ,CAACC,IAAQ,QACT,CAACC,IAAS,QACV,CAACC,IAAY,WACb,CAACC,IAAe,cAQZE,GAAU,CACd5vC,OAAQ,GACR+D,MAAO,CAAE8rC,KAAM,EAAGC,OAAQ,EAAGC,OAAQ,GACrC/rC,IAAK,CAAE6rC,KAAM,EAAGC,OAAQ,EAAGC,OAAQ,IAiBrC,SAASC,GAAgBxrB,EAASkX,EAAKjwC,EAAO2iB,EAAU8J,EAAWoX,EAActc,EAAYi9B,GAAU,EAAOja,GAAkB,EAAOka,GAAc,EAAOlD,EAAM4C,IAYhK,OAXIprB,IACEyrB,GACFzrB,EAAQ2rB,OAAO1C,IACfjpB,EAAQ2rB,OAAOC,GAAoB5rB,EAAQ6rB,MAAOH,KAElD1rB,EAAQ2rB,OAAOG,GAAe9rB,EAAQ6rB,MAAOH,IAE3Cl9B,GACFwR,EAAQ2rB,OAAO9B,KAGZ,CACLnkD,KAAM,GACNwxC,MACAjwC,QACA2iB,WACA8J,YACAoX,eACAtc,aACAi9B,UACAja,kBACAka,cACAlD,MAEJ,CACA,SAASuD,GAAsBC,EAAUxD,EAAM4C,IAC7C,MAAO,CACL1lD,KAAM,GACN8iD,MACAwD,WAEJ,CACA,SAASC,GAAuBC,EAAY1D,EAAM4C,IAChD,MAAO,CACL1lD,KAAM,GACN8iD,MACA0D,aAEJ,CACA,SAASC,GAAqBhlD,EAAKyB,GACjC,MAAO,CACLlD,KAAM,GACN8iD,IAAK4C,GACLjkD,IAAK,EAASA,GAAOilD,GAAuBjlD,GAAK,GAAQA,EACzDyB,QAEJ,CACA,SAASwjD,GAAuBlmB,EAASmmB,GAAW,EAAO7D,EAAM4C,GAASkB,EAAY,GACpF,MAAO,CACL5mD,KAAM,EACN8iD,MACAtiB,UACAmmB,WACAC,UAAWD,EAAW,EAAIC,EAE9B,CAQA,SAASC,GAAyB3iC,EAAU4+B,EAAM4C,IAChD,MAAO,CACL1lD,KAAM,EACN8iD,MACA5+B,WAEJ,CACA,SAAS4iC,GAAqBC,EAAQv3C,EAAO,GAAIszC,EAAM4C,IACrD,MAAO,CACL1lD,KAAM,GACN8iD,MACAiE,SACA5vC,UAAW3H,EAEf,CACA,SAASw3C,GAAyBpqC,EAAQqqC,OAAU,EAAQC,GAAU,EAAOC,GAAS,EAAOrE,EAAM4C,IACjG,MAAO,CACL1lD,KAAM,GACN4c,SACAqqC,UACAC,UACAC,SACArE,MAEJ,CACA,SAASsE,GAA4BzoD,EAAM0oD,EAAYC,EAAWJ,GAAU,GAC1E,MAAO,CACLlnD,KAAM,GACNrB,OACA0oD,aACAC,YACAJ,UACApE,IAAK4C,GAET,CAuDA,SAASU,GAAemB,EAAKvB,GAC3B,OAAOuB,GAAOvB,EAActC,GAAeC,EAC7C,CACA,SAASuC,GAAoBqB,EAAKvB,GAChC,OAAOuB,GAAOvB,EAAcxC,GAAeC,EAC7C,CACA,SAAS+D,GAAetpD,GAAM,OAAE+nD,EAAM,aAAEwB,EAAY,MAAEtB,IAC/CjoD,EAAK6nD,UACR7nD,EAAK6nD,SAAU,EACf0B,EAAarB,GAAeD,EAAOjoD,EAAK8nD,cACxCC,EAAO1C,IACP0C,EAAOC,GAAoBC,EAAOjoD,EAAK8nD,cAE3C,CAEA,MAAM0B,GAAeluC,GAAiB,IAAXA,EAAExZ,MAAcwZ,EAAEmtC,SACvCgB,GAAgB,CAACnW,EAAKoW,IAAapW,IAAQoW,GAAYpW,IAAQ,EAAUoW,GAC/E,SAASC,GAAgBrW,GACvB,OAAImW,GAAcnW,EAAK,YACd2R,GACEwE,GAAcnW,EAAK,YACrB4R,GACEuE,GAAcnW,EAAK,aACrB6R,GACEsE,GAAcnW,EAAK,kBACrB8R,QADF,CAGT,CACA,MAAMwE,GAAkB,cAClBC,GAAsB9qD,IAAU6qD,GAAgBnpD,KAAK1B,GACrD+qD,GAAwB,wBACxBC,GAAmB,uBACnBC,GAAe,yBAgEfC,GA/D6BC,IACjCA,EAAOA,EAAKlgD,OAAOhH,QAAQgnD,IAAe5hC,GAAMA,EAAEpe,SAClD,IAAI2hB,EAAQ,EACRw+B,EAAa,GACbC,EAA0B,EAC1BC,EAAyB,EACzBC,EAAoB,KACxB,IAAK,IAAI/kD,EAAI,EAAGA,EAAI2kD,EAAK1kD,OAAQD,IAAK,CACpC,MAAMglD,EAAOL,EAAKliD,OAAOzC,GACzB,OAAQomB,GACN,KAAK,EACH,GAAa,MAAT4+B,EACFJ,EAAWz9C,KAAKif,GAChBA,EAAQ,EACRy+B,SACK,GAAa,MAATG,EACTJ,EAAWz9C,KAAKif,GAChBA,EAAQ,EACR0+B,SACK,KAAY,IAAN9kD,EAAUukD,GAAwBC,IAAkBtpD,KAAK8pD,GACpE,OAAO,EAET,MACF,KAAK,EACU,MAATA,GAAyB,MAATA,GAAyB,MAATA,GAClCJ,EAAWz9C,KAAKif,GAChBA,EAAQ,EACR2+B,EAAoBC,GACF,MAATA,EACTH,IACkB,MAATG,MACFH,IACLz+B,EAAQw+B,EAAW/8C,QAGvB,MACF,KAAK,EACH,GAAa,MAATm9C,GAAyB,MAATA,GAAyB,MAATA,EAClCJ,EAAWz9C,KAAKif,GAChBA,EAAQ,EACR2+B,EAAoBC,OACf,GAAa,MAATA,EACTF,SACK,GAAa,MAATE,EAAc,CACvB,GAAIhlD,IAAM2kD,EAAK1kD,OAAS,EACtB,OAAO,IAEF6kD,IACL1+B,EAAQw+B,EAAW/8C,MAEvB,CACA,MACF,KAAK,EACCm9C,IAASD,IACX3+B,EAAQw+B,EAAW/8C,MACnBk9C,EAAoB,MAI5B,CACA,OAAQF,IAA4BC,CAAsB,EAI5D,SAASG,GAAc5F,EAAK+C,EAAQniD,GAClC,MACMilD,EAAS,CACb7yC,OAFagtC,EAAIhtC,OAAO1Q,MAAMygD,EAAQA,EAASniD,GAG/CmW,MAAO+uC,GAAyB9F,EAAIjpC,MAAOipC,EAAIhtC,OAAQ+vC,GACvD/rC,IAAKgpC,EAAIhpC,KASX,OAPc,MAAVpW,IACFilD,EAAO7uC,IAAM8uC,GACX9F,EAAIjpC,MACJipC,EAAIhtC,OACJ+vC,EAASniD,IAGNilD,CACT,CACA,SAASC,GAAyBC,EAAK/yC,EAAQgzC,EAAqBhzC,EAAOpS,QACzE,OAAOqlD,GACL,EAAO,CAAC,EAAGF,GACX/yC,EACAgzC,EAEJ,CACA,SAASC,GAA4BF,EAAK/yC,EAAQgzC,EAAqBhzC,EAAOpS,QAC5E,IAAIslD,EAAa,EACbC,GAAkB,EACtB,IAAK,IAAIxlD,EAAI,EAAGA,EAAIqlD,EAAoBrlD,IACT,KAAzBqS,EAAOozC,WAAWzlD,KACpBulD,IACAC,EAAiBxlD,GAMrB,OAHAolD,EAAIhD,QAAUiD,EACdD,EAAIlD,MAAQqD,EACZH,EAAIjD,QAA6B,IAApBqD,EAAwBJ,EAAIjD,OAASkD,EAAqBA,EAAqBG,EACrFJ,CACT,CAMA,SAASM,GAAQjrD,EAAMjB,EAAMmsD,GAAa,GACxC,IAAK,IAAI3lD,EAAI,EAAGA,EAAIvF,EAAKqD,MAAMmC,OAAQD,IAAK,CAC1C,MAAM+V,EAAItb,EAAKqD,MAAMkC,GACrB,GAAe,IAAX+V,EAAExZ,OAAeopD,GAAc5vC,EAAE6vC,OAAS,EAASpsD,GAAQuc,EAAEvc,OAASA,EAAOA,EAAK0B,KAAK6a,EAAEvc,OAC3F,OAAOuc,CAEX,CACF,CACA,SAAS8vC,GAASprD,EAAMjB,EAAMssD,GAAc,EAAOH,GAAa,GAC9D,IAAK,IAAI3lD,EAAI,EAAGA,EAAIvF,EAAKqD,MAAMmC,OAAQD,IAAK,CAC1C,MAAM+V,EAAItb,EAAKqD,MAAMkC,GACrB,GAAe,IAAX+V,EAAExZ,KAAY,CAChB,GAAIupD,EACF,SACF,GAAI/vC,EAAEvc,OAASA,IAASuc,EAAEtW,OAASkmD,GACjC,OAAO5vC,CAEX,MAAO,GAAe,SAAXA,EAAEvc,OAAoBuc,EAAE6vC,KAAOD,IAAeI,GAAchwC,EAAE/S,IAAKxJ,GAC5E,OAAOuc,CAEX,CACF,CACA,SAASgwC,GAAc/iD,EAAKxJ,GAC1B,SAAUwJ,IAAOihD,GAAYjhD,IAAQA,EAAI+5B,UAAYvjC,EACvD,CASA,SAASwsD,GAASvrD,GAChB,OAAqB,IAAdA,EAAK8B,MAA4B,IAAd9B,EAAK8B,IACjC,CACA,SAAS0pD,GAAQlwC,GACf,OAAkB,IAAXA,EAAExZ,MAAyB,SAAXwZ,EAAEvc,IAC3B,CACA,SAASqjC,GAAepiC,GACtB,OAAqB,IAAdA,EAAK8B,MAA+B,IAAjB9B,EAAKyrD,OACjC,CACA,SAASC,GAAa1rD,GACpB,OAAqB,IAAdA,EAAK8B,MAA+B,IAAjB9B,EAAKyrD,OACjC,CACA,MAAME,GAAiC,IAAI99C,IAAI,CAAC44C,GAAiBC,KACjE,SAASkF,GAAqBvoD,EAAOwoD,EAAW,IAC9C,GAAIxoD,IAAU,EAASA,IAAyB,KAAfA,EAAMvB,KAAa,CAClD,MAAM+mD,EAASxlD,EAAMwlD,OACrB,IAAK,EAASA,IAAW8C,GAAev7C,IAAIy4C,GAC1C,OAAO+C,GACLvoD,EAAM4V,UAAU,GAChB4yC,EAAS5pC,OAAO5e,GAGtB,CACA,MAAO,CAACA,EAAOwoD,EACjB,CACA,SAASC,GAAW9rD,EAAM2E,EAAMy3B,GAC9B,IAAI2vB,EAGAC,EAFA3oD,EAAsB,KAAdrD,EAAK8B,KAAc9B,EAAKqD,MAAQrD,EAAKiZ,UAAU,GACvD4yC,EAAW,GAEf,GAAIxoD,IAAU,EAASA,IAAyB,KAAfA,EAAMvB,KAAa,CAClD,MAAM+H,EAAM+hD,GAAqBvoD,GACjCA,EAAQwG,EAAI,GACZgiD,EAAWhiD,EAAI,GACfmiD,EAAaH,EAASA,EAASrmD,OAAS,EAC1C,CACA,GAAa,MAATnC,GAAiB,EAASA,GAC5B0oD,EAAqB1D,GAAuB,CAAC1jD,SACxC,GAAmB,KAAftB,EAAMvB,KAAa,CAC5B,MAAMmqD,EAAQ5oD,EAAM4V,UAAU,GACzB,EAASgzC,IAAyB,KAAfA,EAAMnqD,KAKxBuB,EAAMwlD,SAAWlC,GACnBoF,EAAqBnD,GAAqBxsB,EAAQ2rB,OAAOzB,IAAc,CACrE+B,GAAuB,CAAC1jD,IACxBtB,IAGFA,EAAM4V,UAAUob,QAAQg0B,GAAuB,CAAC1jD,KAV7CunD,GAAQvnD,EAAMsnD,IACjBA,EAAM3D,WAAWj0B,QAAQ1vB,IAY5BonD,IAAuBA,EAAqB1oD,EAC/C,MAA0B,KAAfA,EAAMvB,MACVoqD,GAAQvnD,EAAMtB,IACjBA,EAAMilD,WAAWj0B,QAAQ1vB,GAE3BonD,EAAqB1oD,IAErB0oD,EAAqBnD,GAAqBxsB,EAAQ2rB,OAAOzB,IAAc,CACrE+B,GAAuB,CAAC1jD,IACxBtB,IAEE2oD,GAAcA,EAAWnD,SAAWnC,KACtCsF,EAAaH,EAASA,EAASrmD,OAAS,KAG1B,KAAdxF,EAAK8B,KACHkqD,EACFA,EAAW/yC,UAAU,GAAK8yC,EAE1B/rD,EAAKqD,MAAQ0oD,EAGXC,EACFA,EAAW/yC,UAAU,GAAK8yC,EAE1B/rD,EAAKiZ,UAAU,GAAK8yC,CAG1B,CACA,SAASG,GAAQvnD,EAAMtB,GACrB,IAAIN,GAAS,EACb,GAAsB,IAAlB4B,EAAKpB,IAAIzB,KAAY,CACvB,MAAMqqD,EAAcxnD,EAAKpB,IAAI++B,QAC7Bv/B,EAASM,EAAMilD,WAAWzmC,MACvBvG,GAAqB,IAAfA,EAAE/X,IAAIzB,MAAcwZ,EAAE/X,IAAI++B,UAAY6pB,GAEjD,CACA,OAAOppD,CACT,CACA,SAASqpD,GAAertD,EAAM+C,GAC5B,MAAO,IAAIA,KAAQ/C,EAAKiE,QAAQ,UAAU,CAACqpD,EAAaC,IAC/B,MAAhBD,EAAsB,IAAMttD,EAAKisD,WAAWsB,GAAcrlD,cAErE,CAqFA,SAASslD,GAAehpD,EAAK64B,GAC3B,MAAM5hB,EAAS4hB,EAAQ9sB,QAAU8sB,EAAQ9sB,QAAQk9C,aAAepwB,EAAQowB,aAClExnD,EAAQwV,GAAUA,EAAOjX,GAC/B,MAAY,SAARA,EACKyB,GAAS,EAETA,CAEX,CACA,SAASynD,GAAgBlpD,EAAK64B,GAC5B,MAAMnV,EAAOslC,GAAe,OAAQnwB,GAC9Bp3B,EAAQunD,GAAehpD,EAAK64B,GAClC,OAAgB,IAATnV,GAAuB,IAAVjiB,GAA2B,IAAVA,CACvC,CACA,SAAS0nD,GAAmBnpD,EAAK64B,EAASwoB,KAAQtzC,GAKhD,OAJgBm7C,GAAgBlpD,EAAK64B,EAKvC,CAgBA,MAAMuwB,GAAW,2BACXC,GAAY,CAChBC,GAAI,IACJC,GAAI,IACJC,IAAK,IACLC,KAAM,IACNC,KAAM,KAEFC,GAAuB,CAC3Brb,WAAY,CAAC,KAAM,MACnBsb,aAAc,IAAM,EACpBC,YAAa,IAAM,EACnB9iD,UAAW,EACX+iD,SAAU,EACVzb,gBAAiB,EACjB0b,eAAiBC,GAAYA,EAAQvqD,QAAQ2pD,IAAU,CAAC/kD,EAAG4lD,IAAOZ,GAAUY,KAC5Eh9B,QAASg0B,GACTiJ,OAAQhJ,GACRiJ,UAAU,GA4BZ,SAASC,GAAcvxB,EAASnV,EAAM2mC,GACpC,MAAMrhD,EAASY,GAAKygD,GACdC,EAAKthD,EAASA,EAAOshD,GAAK,EAC1BC,EAAQ,GACd,MAAQC,GAAM3xB,EAASnV,EAAM2mC,IAAY,CACvC,MAAMxlC,EAAIgU,EAAQxkB,OAClB,IAAI5X,EACJ,GAAa,IAATinB,GAAuB,IAATA,EAChB,IAAKmV,EAAQ4xB,QAAUjoD,GAAWqiB,EAAGgU,EAAQ9sB,QAAQuiC,WAAW,IAC9D7xC,EAAOiuD,GAAmB7xB,EAASnV,QAC9B,GAAa,IAATA,GAAuB,MAATmB,EAAE,GACzB,GAAiB,IAAbA,EAAE5iB,OACJ0oD,GAAU9xB,EAAS,EAAG,QACjB,GAAa,MAAThU,EAAE,GACPriB,GAAWqiB,EAAG,WAChBpoB,EAAOmuD,GAAa/xB,GACXr2B,GAAWqiB,EAAG,aACvBpoB,EAAOouD,GAAkBhyB,GAChBr2B,GAAWqiB,EAAG,aACZ,IAAPylC,EACF7tD,EAAOquD,GAAWjyB,EAASwxB,IAE3BM,GAAU9xB,EAAS,GACnBp8B,EAAOouD,GAAkBhyB,KAG3B8xB,GAAU9xB,EAAS,IACnBp8B,EAAOouD,GAAkBhyB,SAEtB,GAAa,MAAThU,EAAE,GACX,GAAiB,IAAbA,EAAE5iB,OACJ0oD,GAAU9xB,EAAS,EAAG,OACjB,IAAa,MAAThU,EAAE,GAAY,CACvB8lC,GAAU9xB,EAAS,GAAI,GACvBkyB,GAAUlyB,EAAS,GACnB,QACF,CAAO,GAAI,SAAS37B,KAAK2nB,EAAE,IAAK,CAC9B8lC,GAAU9xB,EAAS,IACnBmyB,GAASnyB,EAAS,EAAa7vB,GAC/B,QACF,CACE2hD,GACE9xB,EACA,GACA,GAEFp8B,EAAOouD,GAAkBhyB,EAC3B,KACS,SAAS37B,KAAK2nB,EAAE,KACzBpoB,EAAOwuD,GAAapyB,EAASwxB,GACzBnB,GACF,2BACArwB,IACGp8B,GAAqB,aAAbA,EAAKszC,MAAuBtzC,EAAKqD,MAAMwe,MACjDvG,GAAiB,IAAXA,EAAExZ,MAAc2sD,GAA2BnzC,EAAEvc,UAOpDiB,EAAOA,EAAKgmB,WAEI,MAAToC,EAAE,IACX8lC,GACE9xB,EACA,GACA,GAEFp8B,EAAOouD,GAAkBhyB,IAEzB8xB,GAAU9xB,EAAS,GAAI,GAO7B,GAHKp8B,IACHA,EAAO0uD,GAAUtyB,EAASnV,IAExB,EAAQjnB,GACV,IAAK,IAAIuF,EAAI,EAAGA,EAAIvF,EAAKwF,OAAQD,IAC/BopD,GAASb,EAAO9tD,EAAKuF,SAGvBopD,GAASb,EAAO9tD,EAEpB,CACA,IAAI4uD,GAAoB,EACxB,GAAa,IAAT3nC,GAAuB,IAATA,EAAY,CAC5B,MAAM4nC,EAAgD,aAA/BzyB,EAAQ9sB,QAAQw/C,WACvC,IAAK,IAAIvpD,EAAI,EAAGA,EAAIuoD,EAAMtoD,OAAQD,IAAK,CACrC,MAAMvF,EAAO8tD,EAAMvoD,GACnB,GAAkB,IAAdvF,EAAK8B,KACP,GAAKs6B,EAAQ2yB,MAcX/uD,EAAKsiC,QAAUtiC,EAAKsiC,QAAQt/B,QAAQ,QAAS,WAb7C,GAAK,eAAevC,KAAKT,EAAKsiC,SASnBusB,IACT7uD,EAAKsiC,QAAUtiC,EAAKsiC,QAAQt/B,QAAQ,gBAAiB,UAVf,CACtC,MAAMyc,EAAOquC,EAAMvoD,EAAI,GACjBmP,EAAOo5C,EAAMvoD,EAAI,IAClBka,IAAS/K,GAAQm6C,IAAiC,IAAdpvC,EAAK3d,MAA4B,IAAd4S,EAAK5S,MAA4B,IAAd2d,EAAK3d,MAA4B,IAAd4S,EAAK5S,MAA4B,IAAd2d,EAAK3d,MAA4B,IAAd4S,EAAK5S,MAA4B,IAAd2d,EAAK3d,MAA4B,IAAd4S,EAAK5S,MAAc,SAASrB,KAAKT,EAAKsiC,WAClNssB,GAAoB,EACpBd,EAAMvoD,GAAK,MAEXvF,EAAKsiC,QAAU,GAEnB,MAMqB,IAAdtiC,EAAK8B,MAAes6B,EAAQ9sB,QAAQo+C,WAC7CkB,GAAoB,EACpBd,EAAMvoD,GAAK,KAEf,CACA,GAAI62B,EAAQ2yB,OAASxiD,GAAU6vB,EAAQ9sB,QAAQ+9C,SAAS9gD,EAAO+mC,KAAM,CACnE,MAAM2Y,EAAQ6B,EAAM,GAChB7B,GAAwB,IAAfA,EAAMnqD,OACjBmqD,EAAM3pB,QAAU2pB,EAAM3pB,QAAQt/B,QAAQ,SAAU,IAEpD,CACF,CACA,OAAO4rD,EAAoBd,EAAM58C,OAAOmb,SAAWyhC,CACrD,CACA,SAASa,GAASb,EAAO9tD,GACvB,GAAkB,IAAdA,EAAK8B,KAAY,CACnB,MAAM2d,EAAOtS,GAAK2gD,GAClB,GAAIruC,GAAsB,IAAdA,EAAK3d,MAAc2d,EAAKmlC,IAAIhpC,IAAI+rC,SAAW3nD,EAAK4kD,IAAIjpC,MAAMgsC,OAIpE,OAHAloC,EAAK6iB,SAAWtiC,EAAKsiC,QACrB7iB,EAAKmlC,IAAIhpC,IAAM5b,EAAK4kD,IAAIhpC,SACxB6D,EAAKmlC,IAAIhtC,QAAU5X,EAAK4kD,IAAIhtC,OAGhC,CACAk2C,EAAMphD,KAAK1M,EACb,CACA,SAASquD,GAAWjyB,EAASwxB,GAC3BU,GAAUlyB,EAAS,GACnB,MAAM0xB,EAAQH,GAAcvxB,EAAS,EAAGwxB,GAMxC,OAL8B,IAA1BxxB,EAAQxkB,OAAOpS,OACjB0oD,GAAU9xB,EAAS,GAEnBkyB,GAAUlyB,EAAS,GAEd0xB,CACT,CACA,SAASK,GAAa/xB,GACpB,MAAMzgB,EAAQqzC,GAAU5yB,GACxB,IAAIkG,EACJ,MAAMnD,EAAQ,WAAW8vB,KAAK7yB,EAAQxkB,QACtC,GAAKunB,EAIE,CACDA,EAAM3yB,OAAS,GACjB0hD,GAAU9xB,EAAS,GAEjB+C,EAAM,IACR+uB,GAAU9xB,EAAS,IAErBkG,EAAUlG,EAAQxkB,OAAO1Q,MAAM,EAAGi4B,EAAM3yB,OACxC,MAAM4b,EAAIgU,EAAQxkB,OAAO1Q,MAAM,EAAGi4B,EAAM3yB,OACxC,IAAI0iD,EAAY,EAAGC,EAAc,EACjC,MAAyD,KAAjDA,EAAc/mC,EAAEhiB,QAAQ,UAAQ8oD,KACtCZ,GAAUlyB,EAAS+yB,EAAcD,EAAY,GACzCC,EAAc,EAAI/mC,EAAE5iB,QACtB0oD,GAAU9xB,EAAS,IAErB8yB,EAAYC,EAAc,EAE5Bb,GAAUlyB,EAAS+C,EAAM3yB,MAAQ2yB,EAAM,GAAG35B,OAAS0pD,EAAY,EACjE,MArBE5sB,EAAUlG,EAAQxkB,OAAO1Q,MAAM,GAC/BonD,GAAUlyB,EAASA,EAAQxkB,OAAOpS,QAClC0oD,GAAU9xB,EAAS,GAoBrB,MAAO,CACLt6B,KAAM,EACNwgC,UACAsiB,IAAKwK,GAAahzB,EAASzgB,GAE/B,CACA,SAASyyC,GAAkBhyB,GACzB,MAAMzgB,EAAQqzC,GAAU5yB,GAClBizB,EAAqC,MAAtBjzB,EAAQxkB,OAAO,GAAa,EAAI,EACrD,IAAI0qB,EACJ,MAAMgtB,EAAalzB,EAAQxkB,OAAOxR,QAAQ,KAQ1C,OAPoB,IAAhBkpD,GACFhtB,EAAUlG,EAAQxkB,OAAO1Q,MAAMmoD,GAC/Bf,GAAUlyB,EAASA,EAAQxkB,OAAOpS,UAElC88B,EAAUlG,EAAQxkB,OAAO1Q,MAAMmoD,EAAcC,GAC7ChB,GAAUlyB,EAASkzB,EAAa,IAE3B,CACLxtD,KAAM,EACNwgC,UACAsiB,IAAKwK,GAAahzB,EAASzgB,GAE/B,CACA,SAAS6yC,GAAapyB,EAASwxB,GAC7B,MAAM2B,EAAWnzB,EAAQ2yB,MACnBS,EAAYpzB,EAAQ4xB,OACpBzhD,EAASY,GAAKygD,GACd6B,EAAUlB,GAASnyB,EAAS,EAAe7vB,GAC3CmjD,EAAgBtzB,EAAQ2yB,QAAUQ,EAClCI,EAAiBvzB,EAAQ4xB,SAAWwB,EAC1C,GAAIC,EAAQG,eAAiBxzB,EAAQ9sB,QAAQhF,UAAUmlD,EAAQnc,KAO7D,OANIoc,IACFtzB,EAAQ2yB,OAAQ,GAEdY,IACFvzB,EAAQ4xB,QAAS,GAEZyB,EAET7B,EAAUlhD,KAAK+iD,GACf,MAAMxoC,EAAOmV,EAAQ9sB,QAAQ89C,YAAYqC,EAASljD,GAC5CyZ,EAAW2nC,GAAcvxB,EAASnV,EAAM2mC,GAC9CA,EAAUxgD,MACV,CACE,MAAMyiD,EAAqBJ,EAAQpsD,MAAMysD,MACtCx0C,GAAiB,IAAXA,EAAExZ,MAAyB,oBAAXwZ,EAAEvc,OAE3B,GAAI8wD,GAAsBnD,GACxB,2BACAtwB,EACAyzB,EAAmBjL,KAClB,CACD,MAAMA,EAAMwK,GAAahzB,EAASqzB,EAAQ7K,IAAIhpC,KAC9Ci0C,EAAmB7qD,MAAQ,CACzBlD,KAAM,EACNwgC,QAASsiB,EAAIhtC,OACbgtC,MAEJ,CACF,CAEA,GADA6K,EAAQzpC,SAAWA,EACf+pC,GAAqB3zB,EAAQxkB,OAAQ63C,EAAQnc,KAC/Cib,GAASnyB,EAAS,EAAa7vB,QAG/B,GADA2hD,GAAU9xB,EAAS,GAAI,EAAGqzB,EAAQ7K,IAAIjpC,OACR,IAA1BygB,EAAQxkB,OAAOpS,QAA8C,WAA9BiqD,EAAQnc,IAAI7tC,cAA4B,CACzE,MAAMwmD,EAAQjmC,EAAS,GACnBimC,GAASlmD,GAAWkmD,EAAMrH,IAAIhtC,OAAQ,YACxCs2C,GAAU9xB,EAAS,EAEvB,CASF,OAPAqzB,EAAQ7K,IAAMwK,GAAahzB,EAASqzB,EAAQ7K,IAAIjpC,OAC5C+zC,IACFtzB,EAAQ2yB,OAAQ,GAEdY,IACFvzB,EAAQ4xB,QAAS,GAEZyB,CACT,CACA,MAAMhB,GAA6C,EACjD,4BAEF,SAASF,GAASnyB,EAASt6B,EAAMyK,GAC/B,MAAMoP,EAAQqzC,GAAU5yB,GAClB+C,EAAQ,+BAA+B8vB,KAAK7yB,EAAQxkB,QACpD07B,EAAMnU,EAAM,GACZ0uB,EAAKzxB,EAAQ9sB,QAAQ69C,aAAa7Z,EAAK/mC,GAC7C+hD,GAAUlyB,EAAS+C,EAAM,GAAG35B,QAC5BwqD,GAAc5zB,GACd,MAAM6zB,EAASjB,GAAU5yB,GACnB8zB,EAAgB9zB,EAAQxkB,OAC1BwkB,EAAQ9sB,QAAQ+9C,SAAS/Z,KAC3BlX,EAAQ2yB,OAAQ,GAElB,IAAI1rD,EAAQ8sD,GAAgB/zB,EAASt6B,GACxB,IAATA,IAA2Bs6B,EAAQ4xB,QAAU3qD,EAAMwe,MAAMvG,GAAiB,IAAXA,EAAExZ,MAAyB,QAAXwZ,EAAEvc,SACnFq9B,EAAQ4xB,QAAS,EACjB,EAAO5xB,EAAS6zB,GAChB7zB,EAAQxkB,OAASs4C,EACjB7sD,EAAQ8sD,GAAgB/zB,EAASt6B,GAAMoP,QAAQoK,GAAiB,UAAXA,EAAEvc,QAEzD,IAAI6wD,GAAgB,EAUpB,GAT8B,IAA1BxzB,EAAQxkB,OAAOpS,OACjB0oD,GAAU9xB,EAAS,IAEnBwzB,EAAgB7pD,GAAWq2B,EAAQxkB,OAAQ,MAC9B,IAAT9V,GAAwB8tD,GAC1B1B,GAAU9xB,EAAS,GAErBkyB,GAAUlyB,EAASwzB,EAAgB,EAAI,IAE5B,IAAT9tD,EACF,OA2BF,IAAI2pD,EAAU,EAcd,OAbKrvB,EAAQ4xB,SACC,SAAR1a,EACFmY,EAAU,EACO,aAARnY,EACLjwC,EAAMwe,MACPvG,GAAiB,IAAXA,EAAExZ,MAAc2sD,GAA2BnzC,EAAEvc,UAEpD0sD,EAAU,GAmBlB,SAAqBnY,EAAKjwC,EAAO+4B,GAC/B,MAAM9sB,EAAU8sB,EAAQ9sB,QACxB,GAAIA,EAAQsiC,gBAAgB0B,GAC1B,OAAO,EAET,GAAY,cAARA,GAAuB,SAAS7yC,KAAK6yC,IAAQqW,GAAgBrW,IAAQhkC,EAAQ8gD,oBAAsB9gD,EAAQ8gD,mBAAmB9c,IAAQhkC,EAAQksB,cAAgBlsB,EAAQksB,YAAY8X,GACpL,OAAO,EAET,IAAK,IAAI/tC,EAAI,EAAGA,EAAIlC,EAAMmC,OAAQD,IAAK,CACrC,MAAM+V,EAAIjY,EAAMkC,GAChB,GAAe,IAAX+V,EAAExZ,MACJ,GAAe,OAAXwZ,EAAEvc,MAAiBuc,EAAEtW,MAAO,CAC9B,GAAIsW,EAAEtW,MAAMs9B,QAAQv8B,WAAW,QAC7B,OAAO,EACF,GAAI2mD,GACT,yBACAtwB,EACA9gB,EAAEspC,KAEF,OAAO,CAEX,MACK,CACL,GAAe,OAAXtpC,EAAEvc,KACJ,OAAO,EACF,GAEM,SAAXuc,EAAEvc,MAAmBusD,GAAchwC,EAAE/S,IAAK,OAAiBmkD,GACzD,yBACAtwB,EACA9gB,EAAEspC,KAGJ,OAAO,CAEX,CACF,CACF,CAtDekD,CAAYxU,EAAKjwC,EAAO+4B,KACjCqvB,EAAU,IAGP,CACL3pD,KAAM,EACN+rD,KACAva,MACAmY,UACApoD,QACAusD,gBACA5pC,SAAU,GACV4+B,IAAKwK,GAAahzB,EAASzgB,GAC3B00C,iBAAa,EAGjB,CAuCA,SAASF,GAAgB/zB,EAASt6B,GAChC,MAAMuB,EAAQ,GACRitD,EAAiC,IAAIziD,IAC3C,KAAOuuB,EAAQxkB,OAAOpS,OAAS,IAAMO,GAAWq2B,EAAQxkB,OAAQ,OAAS7R,GAAWq2B,EAAQxkB,OAAQ,OAAO,CACzG,GAAI7R,GAAWq2B,EAAQxkB,OAAQ,KAAM,CACnCs2C,GAAU9xB,EAAS,IACnBkyB,GAAUlyB,EAAS,GACnB4zB,GAAc5zB,GACd,QACF,CACa,IAATt6B,GACFosD,GAAU9xB,EAAS,GAErB,MAAMm0B,EAAOC,GAAep0B,EAASk0B,GACnB,IAAdC,EAAKzuD,MAAcyuD,EAAKvrD,OAAuB,UAAdurD,EAAKxxD,OACxCwxD,EAAKvrD,MAAMs9B,QAAUiuB,EAAKvrD,MAAMs9B,QAAQt/B,QAAQ,OAAQ,KAAKgH,QAElD,IAATlI,GACFuB,EAAMqJ,KAAK6jD,GAET,kBAAkB9vD,KAAK27B,EAAQxkB,SACjCs2C,GAAU9xB,EAAS,IAErB4zB,GAAc5zB,EAChB,CACA,OAAO/4B,CACT,CACA,SAASmtD,GAAep0B,EAASq0B,GAC/B,IAAI93C,EACJ,MAAMgD,EAAQqzC,GAAU5yB,GAElBr9B,EADQ,kCAAkCkwD,KAAK7yB,EAAQxkB,QAC1C,GACf64C,EAAQrgD,IAAIrR,IACdmvD,GAAU9xB,EAAS,GAErBq0B,EAAQpgD,IAAItR,GACI,MAAZA,EAAK,IACPmvD,GAAU9xB,EAAS,IAErB,CACE,MAAM9I,EAAU,SAChB,IAAIjN,EACJ,KAAOA,EAAIiN,EAAQ27B,KAAKlwD,IACtBmvD,GACE9xB,EACA,GACA/V,EAAE7Z,MAGR,CAEA,IAAIxH,EADJspD,GAAUlyB,EAASr9B,EAAKyG,QAEpB,iBAAiB/E,KAAK27B,EAAQxkB,UAChCo4C,GAAc5zB,GACdkyB,GAAUlyB,EAAS,GACnB4zB,GAAc5zB,GACdp3B,EA+GJ,SAA6Bo3B,GAC3B,MAAMzgB,EAAQqzC,GAAU5yB,GACxB,IAAIkG,EACJ,MAAMouB,EAAQt0B,EAAQxkB,OAAO,GACvB+4C,EAAqB,MAAVD,GAA2B,MAAVA,EAClC,GAAIC,EAAU,CACZrC,GAAUlyB,EAAS,GACnB,MAAMw0B,EAAWx0B,EAAQxkB,OAAOxR,QAAQsqD,IACtB,IAAdE,EACFtuB,EAAUuuB,GACRz0B,EACAA,EAAQxkB,OAAOpS,OACf,IAGF88B,EAAUuuB,GAAcz0B,EAASw0B,EAAU,GAC3CtC,GAAUlyB,EAAS,GAEvB,KAAO,CACL,MAAM+C,EAAQ,kBAAkB8vB,KAAK7yB,EAAQxkB,QAC7C,IAAKunB,EACH,OAEF,MAAM2xB,EAAkB,WACxB,IAAIzqC,EACJ,KAAOA,EAAIyqC,EAAgB7B,KAAK9vB,EAAM,KACpC+uB,GACE9xB,EACA,GACA/V,EAAE7Z,OAGN81B,EAAUuuB,GAAcz0B,EAAS+C,EAAM,GAAG35B,OAAQ,EACpD,CACA,MAAO,CAAE88B,UAASquB,WAAU/L,IAAKwK,GAAahzB,EAASzgB,GACzD,CAlJYo1C,CAAoB30B,GACvBp3B,GACHkpD,GAAU9xB,EAAS,KAGvB,MAAMwoB,EAAMwK,GAAahzB,EAASzgB,GAClC,IAAKygB,EAAQ4xB,QAAU,6BAA6BvtD,KAAK1B,GAAO,CAC9D,MAAMiyD,EAAS,qEAAqE/B,KAClFlwD,GAEF,IAEIwJ,EAFA0oD,EAAkBlrD,GAAWhH,EAAM,KACnCmyD,EAAUF,EAAO,KAAOC,GAAmBlrD,GAAWhH,EAAM,KAAO,OAASgH,GAAWhH,EAAM,KAAO,KAAO,QAE/G,GAAIiyD,EAAO,GAAI,CACb,MAAM/H,EAAqB,SAAZiI,EACTC,EAAcpyD,EAAKqyD,YACvBJ,EAAO,GACPjyD,EAAKyG,SAA+B,OAAnBmT,EAAKq4C,EAAO,SAAc,EAASr4C,EAAGnT,SAAW,IAE9D6rD,EAAOjC,GACXhzB,EACAk1B,GAAel1B,EAASzgB,EAAOw1C,GAC/BG,GACEl1B,EACAzgB,EACAw1C,EAAcH,EAAO,GAAGxrD,QAAUyjD,GAAU+H,EAAO,IAAM,IAAIxrD,SAGjE,IAAI88B,EAAU0uB,EAAO,GACjBvI,GAAW,EACXnmB,EAAQv8B,WAAW,MACrB0iD,GAAW,EACNnmB,EAAQa,SAAS,KAOpBb,EAAUA,EAAQp7B,MAAM,EAAGo7B,EAAQ98B,OAAS,IAN5C0oD,GACE9xB,EACA,IAEFkG,EAAUA,EAAQp7B,MAAM,KAIjB+hD,IACT3mB,GAAW0uB,EAAO,IAAM,IAE1BzoD,EAAM,CACJzG,KAAM,EACNwgC,UACAmmB,WACAC,UAAWD,EAAW,EAAI,EAC1B7D,IAAKyM,EAET,CACA,GAAIrsD,GAASA,EAAM2rD,SAAU,CAC3B,MAAMY,EAAWvsD,EAAM4/C,IACvB2M,EAAS51C,MAAMgsC,SACf4J,EAAS51C,MAAM+rC,SACf6J,EAAS31C,IAAM8uC,GAAyB6G,EAAS51C,MAAO3W,EAAMs9B,SAC9DivB,EAAS35C,OAAS25C,EAAS35C,OAAO1Q,MAAM,GAAI,EAC9C,CACA,MAAM+jB,EAAY+lC,EAAO,GAAKA,EAAO,GAAG9pD,MAAM,GAAG5B,MAAM,KAAO,GAqB9D,OApBI2rD,GACFhmC,EAAUve,KAAK,QACD,SAAZwkD,GAAsB3oD,GACpB0iB,EAAUxP,SAAS,SAAWixC,GAChC,uBACAtwB,EACAwoB,EACAr8C,EAAIq8C,IAAIhtC,UAERs5C,EAAU,QACVjmC,EAAU5kB,OAAO4kB,EAAU7kB,QAAQ,QAAS,IAUzC,CACLtE,KAAM,EACN/C,KAAMmyD,EACN/F,IAAKnmD,GAAS,CACZlD,KAAM,EACNwgC,QAASt9B,EAAMs9B,QACfmmB,UAAU,EAGVC,UAAW,EACX9D,IAAK5/C,EAAM4/C,KAEbr8C,MACA0iB,YACA25B,MAEJ,CAIA,OAHKxoB,EAAQ4xB,QAAUjoD,GAAWhH,EAAM,OACtCmvD,GAAU9xB,EAAS,IAEd,CACLt6B,KAAM,EACN/C,OACAiG,MAAOA,GAAS,CACdlD,KAAM,EACNwgC,QAASt9B,EAAMs9B,QACfsiB,IAAK5/C,EAAM4/C,KAEbA,MAEJ,CAqCA,SAASqJ,GAAmB7xB,EAASnV,GACnC,MAAO9nB,EAAM4kC,GAAS3H,EAAQ9sB,QAAQuiC,WAChCyd,EAAalzB,EAAQxkB,OAAOxR,QAAQ29B,EAAO5kC,EAAKqG,QACtD,IAAoB,IAAhB8pD,EAEF,YADApB,GAAU9xB,EAAS,IAGrB,MAAMzgB,EAAQqzC,GAAU5yB,GACxBkyB,GAAUlyB,EAASj9B,EAAKqG,QACxB,MAAMgsD,EAAaxC,GAAU5yB,GACvBq1B,EAAWzC,GAAU5yB,GACrBs1B,EAAmBpC,EAAanwD,EAAKqG,OACrCmsD,EAAav1B,EAAQxkB,OAAO1Q,MAAM,EAAGwqD,GACrCE,EAAiBf,GAAcz0B,EAASs1B,EAAkBzqC,GAC1Dqb,EAAUsvB,EAAe5nD,OACzBmnD,EAAcS,EAAexrD,QAAQk8B,GAO3C,OANI6uB,EAAc,GAChBtG,GAA4B2G,EAAYG,EAAYR,GAGtDtG,GAA4B4G,EAAUE,EADpBD,GAAoBE,EAAepsD,OAAS88B,EAAQ98B,OAAS2rD,IAE/E7C,GAAUlyB,EAAS2H,EAAMv+B,QAClB,CACL1D,KAAM,EACNwgC,QAAS,CACPxgC,KAAM,EACN2mD,UAAU,EAEVC,UAAW,EACXpmB,UACAsiB,IAAKwK,GAAahzB,EAASo1B,EAAYC,IAEzC7M,IAAKwK,GAAahzB,EAASzgB,GAE/B,CACA,SAAS+yC,GAAUtyB,EAASnV,GAC1B,MAAM4qC,EAAqB,IAAT5qC,EAAa,CAAC,OAAS,CAAC,IAAKmV,EAAQ9sB,QAAQuiC,WAAW,IAC1E,IAAI+e,EAAWx0B,EAAQxkB,OAAOpS,OAC9B,IAAK,IAAID,EAAI,EAAGA,EAAIssD,EAAUrsD,OAAQD,IAAK,CACzC,MAAMiH,EAAQ4vB,EAAQxkB,OAAOxR,QAAQyrD,EAAUtsD,GAAI,IACpC,IAAXiH,GAAgBokD,EAAWpkD,IAC7BokD,EAAWpkD,EAEf,CACA,MAAMmP,EAAQqzC,GAAU5yB,GAExB,MAAO,CACLt6B,KAAM,EACNwgC,QAHcuuB,GAAcz0B,EAASw0B,EAAU3pC,GAI/C29B,IAAKwK,GAAahzB,EAASzgB,GAE/B,CACA,SAASk1C,GAAcz0B,EAAS52B,EAAQyhB,GACtC,MAAMsmC,EAAUnxB,EAAQxkB,OAAO1Q,MAAM,EAAG1B,GAExC,OADA8oD,GAAUlyB,EAAS52B,GACN,IAATyhB,GAAuB,IAATA,GAAesmC,EAAQ9xC,SAAS,KAGzC2gB,EAAQ9sB,QAAQg+C,eACrBC,EACS,IAATtmC,GAJKsmC,CAOX,CACA,SAASyB,GAAU5yB,GACjB,MAAM,OAAEsrB,EAAM,KAAED,EAAI,OAAEE,GAAWvrB,EACjC,MAAO,CAAEsrB,SAAQD,OAAME,SACzB,CACA,SAASyH,GAAahzB,EAASzgB,EAAOC,GAEpC,MAAO,CACLD,QACAC,IAHFA,EAAMA,GAAOozC,GAAU5yB,GAIrBxkB,OAAQwkB,EAAQ01B,eAAe5qD,MAAMyU,EAAMgsC,OAAQ/rC,EAAI+rC,QAE3D,CACA,SAASx6C,GAAK4kD,GACZ,OAAOA,EAAGA,EAAGvsD,OAAS,EACxB,CACA,SAASO,GAAW6R,EAAQo6C,GAC1B,OAAOp6C,EAAO7R,WAAWisD,EAC3B,CACA,SAAS1D,GAAUlyB,EAASwuB,GAC1B,MAAM,OAAEhzC,GAAWwkB,EACnByuB,GAA4BzuB,EAASxkB,EAAQgzC,GAC7CxuB,EAAQxkB,OAASA,EAAO1Q,MAAM0jD,EAChC,CACA,SAASoF,GAAc5zB,GACrB,MAAM+C,EAAQ,gBAAgB8vB,KAAK7yB,EAAQxkB,QACvCunB,GACFmvB,GAAUlyB,EAAS+C,EAAM,GAAG35B,OAEhC,CACA,SAAS8rD,GAAel1B,EAASzgB,EAAOivC,GACtC,OAAOF,GACL/uC,EACAygB,EAAQ01B,eAAe5qD,MAAMyU,EAAMgsC,OAAQiD,GAC3CA,EAEJ,CACA,SAASsD,GAAU9xB,EAASuoB,EAAMgD,EAAQ/C,EAAMoK,GAAU5yB,IACpDurB,IACF/C,EAAI+C,QAAUA,EACd/C,EAAI8C,QAAUC,GAEhBvrB,EAAQ9sB,QAAQkhB,QACdk0B,GAAoBC,EAAM,CACxBhpC,MAAOipC,EACPhpC,IAAKgpC,EACLhtC,OAAQ,KAGd,CACA,SAASm2C,GAAM3xB,EAASnV,EAAM2mC,GAC5B,MAAMxlC,EAAIgU,EAAQxkB,OAClB,OAAQqP,GACN,KAAK,EACH,GAAIlhB,GAAWqiB,EAAG,MAChB,IAAK,IAAI7iB,EAAIqoD,EAAUpoD,OAAS,EAAGD,GAAK,IAAKA,EAC3C,GAAIwqD,GAAqB3nC,EAAGwlC,EAAUroD,GAAG+tC,KACvC,OAAO,EAIb,MACF,KAAK,EACL,KAAK,EAAG,CACN,MAAM/mC,EAASY,GAAKygD,GACpB,GAAIrhD,GAAUwjD,GAAqB3nC,EAAG7b,EAAO+mC,KAC3C,OAAO,EAET,KACF,CACA,KAAK,EACH,GAAIvtC,GAAWqiB,EAAG,OAChB,OAAO,EAIb,OAAQA,CACV,CACA,SAAS2nC,GAAqBn4C,EAAQ07B,GACpC,OAAOvtC,GAAW6R,EAAQ,OAASA,EAAO1Q,MAAM,EAAG,EAAIosC,EAAI9tC,QAAQC,gBAAkB6tC,EAAI7tC,eAAiB,gBAAgBhF,KAAKmX,EAAO,EAAI07B,EAAI9tC,SAAW,IAC3J,CAEA,SAASysD,GAAYrwC,EAAMwa,GACzB81B,GACEtwC,EACAwa,EAGA+1B,GAAoBvwC,EAAMA,EAAKoE,SAAS,IAE5C,CACA,SAASmsC,GAAoBvwC,EAAMiH,GACjC,MAAM,SAAE7C,GAAapE,EACrB,OAA2B,IAApBoE,EAASxgB,QAA+B,IAAfqjB,EAAM/mB,OAAe4pD,GAAa7iC,EACpE,CACA,SAASqpC,GAAKlyD,EAAMo8B,EAASg2B,GAAiB,GAC5C,MAAM,SAAEpsC,GAAahmB,EACfqyD,EAAgBrsC,EAASxgB,OAC/B,IAAI8sD,EAAe,EACnB,IAAK,IAAI/sD,EAAI,EAAGA,EAAIygB,EAASxgB,OAAQD,IAAK,CACxC,MAAMsjB,EAAQ7C,EAASzgB,GACvB,GAAmB,IAAfsjB,EAAM/mB,MAAgC,IAAlB+mB,EAAM4iC,QAAe,CAC3C,MAAM8G,EAAeH,EAAiB,EAAII,GAAgB3pC,EAAOuT,GACjE,GAAIm2B,EAAe,GACjB,GAAIA,GAAgB,EAAG,CACrB1pC,EAAMwnC,YAAYvgC,UAAY,KAC9BjH,EAAMwnC,YAAcj0B,EAAQq2B,MAAM5pC,EAAMwnC,aACxCiC,IACA,QACF,MACK,CACL,MAAMjC,EAAcxnC,EAAMwnC,YAC1B,GAAyB,KAArBA,EAAYvuD,KAAa,CAC3B,MAAMstC,EAAOsjB,GAAarC,GAC1B,KAAMjhB,GAAiB,MAATA,GAAyB,IAATA,IAAeujB,GAA8B9pC,EAAOuT,IAAY,EAAG,CAC/F,MAAM/4B,EAAQuvD,GAAa/pC,GACvBxlB,IACFgtD,EAAYhtD,MAAQ+4B,EAAQq2B,MAAMpvD,GAEtC,CACIgtD,EAAYnpB,eACdmpB,EAAYnpB,aAAe9K,EAAQq2B,MAAMpC,EAAYnpB,cAEzD,CACF,CACF,CACA,GAAmB,IAAfre,EAAM/mB,KAAY,CACpB,MAAMgmD,EAAgC,IAAlBj/B,EAAM4iC,QACtB3D,GACF1rB,EAAQ3vB,OAAOomD,QAEjBX,GAAKrpC,EAAOuT,GACR0rB,GACF1rB,EAAQ3vB,OAAOomD,OAEnB,MAAO,GAAmB,KAAfhqC,EAAM/mB,KACfowD,GAAKrpC,EAAOuT,EAAmC,IAA1BvT,EAAM7C,SAASxgB,aAC/B,GAAmB,IAAfqjB,EAAM/mB,KACf,IAAK,IAAIgxD,EAAK,EAAGA,EAAKjqC,EAAMkqC,SAASvtD,OAAQstD,IAC3CZ,GACErpC,EAAMkqC,SAASD,GACf12B,EACuC,IAAvCvT,EAAMkqC,SAASD,GAAI9sC,SAASxgB,OAIpC,CAIA,GAHI8sD,GAAgBl2B,EAAQ42B,gBAC1B52B,EAAQ42B,eAAehtC,EAAUoW,EAASp8B,GAExCsyD,GAAgBA,IAAiBD,GAA+B,IAAdryD,EAAK8B,MAA+B,IAAjB9B,EAAKyrD,SAAiBzrD,EAAKqwD,aAAyC,KAA1BrwD,EAAKqwD,YAAYvuD,MAAe,EAAQ9B,EAAKqwD,YAAYrqC,UAAW,CACrL,MAAMitC,EAAU72B,EAAQq2B,MACtBtK,GAAsBnoD,EAAKqwD,YAAYrqC,WAErCoW,EAAQ82B,MACVD,EAAQ3wB,QAAU,OAAO2wB,EAAQ3wB,YAEnCtiC,EAAKqwD,YAAYrqC,SAAWitC,CAC9B,CACF,CACA,SAAST,GAAgBxyD,EAAMo8B,GAC7B,MAAM,cAAE+2B,GAAkB/2B,EAC1B,OAAQp8B,EAAK8B,MACX,KAAK,EACH,GAAqB,IAAjB9B,EAAKyrD,QACP,OAAO,EAET,MAAMtsC,EAASg0C,EAAc7uD,IAAItE,GACjC,QAAe,IAAXmf,EACF,OAAOA,EAET,MAAMkxC,EAAcrwD,EAAKqwD,YACzB,GAAyB,KAArBA,EAAYvuD,KACd,OAAO,EAET,GAAIuuD,EAAYxI,SAAwB,QAAb7nD,EAAKszC,KAA8B,kBAAbtzC,EAAKszC,IACpD,OAAO,EAGT,GADaof,GAAarC,GAuDxB,OADA8C,EAAcpjD,IAAI/P,EAAM,GACjB,EAtDE,CACT,IAAIozD,EAAc,EAClB,MAAMC,EAAqBV,GAA8B3yD,EAAMo8B,GAC/D,GAA2B,IAAvBi3B,EAEF,OADAF,EAAcpjD,IAAI/P,EAAM,GACjB,EAELqzD,EAAqBD,IACvBA,EAAcC,GAEhB,IAAK,IAAI9tD,EAAI,EAAGA,EAAIvF,EAAKgmB,SAASxgB,OAAQD,IAAK,CAC7C,MAAM+tD,EAAYd,GAAgBxyD,EAAKgmB,SAASzgB,GAAI62B,GACpD,GAAkB,IAAdk3B,EAEF,OADAH,EAAcpjD,IAAI/P,EAAM,GACjB,EAELszD,EAAYF,IACdA,EAAcE,EAElB,CACA,GAAIF,EAAc,EAChB,IAAK,IAAI7tD,EAAI,EAAGA,EAAIvF,EAAKqD,MAAMmC,OAAQD,IAAK,CAC1C,MAAM+V,EAAItb,EAAKqD,MAAMkC,GACrB,GAAe,IAAX+V,EAAExZ,MAAyB,SAAXwZ,EAAEvc,MAAmBuc,EAAE6vC,IAAK,CAC9C,MAAMoI,EAAUf,GAAgBl3C,EAAE6vC,IAAK/uB,GACvC,GAAgB,IAAZm3B,EAEF,OADAJ,EAAcpjD,IAAI/P,EAAM,GACjB,EAELuzD,EAAUH,IACZA,EAAcG,EAElB,CACF,CAEF,GAAIlD,EAAYxI,QAAS,CACvB,IAAK,IAAItiD,EAAI,EAAGA,EAAIvF,EAAKqD,MAAMmC,OAAQD,IAErC,GAAe,IADLvF,EAAKqD,MAAMkC,GACfzD,KAEJ,OADAqxD,EAAcpjD,IAAI/P,EAAM,GACjB,EAGXo8B,EAAQmtB,aAAalE,IACrBjpB,EAAQmtB,aACNvB,GAAoB5rB,EAAQ6rB,MAAOoI,EAAYvI,cAEjDuI,EAAYxI,SAAU,EACtBzrB,EAAQ2rB,OAAOG,GAAe9rB,EAAQ6rB,MAAOoI,EAAYvI,aAC3D,CAEA,OADAqL,EAAcpjD,IAAI/P,EAAMozD,GACjBA,CACT,CAIF,KAAK,EACL,KAAK,EACH,OAAO,EACT,KAAK,EACL,KAAK,GACL,KAAK,GAsBL,QAEE,OAAO,EAtBT,KAAK,EACL,KAAK,GACH,OAAOZ,GAAgBxyD,EAAKsiC,QAASlG,GACvC,KAAK,EACH,OAAOp8B,EAAK0oD,UACd,KAAK,EACH,IAAI8K,EAAa,EACjB,IAAK,IAAIjuD,EAAI,EAAGA,EAAIvF,EAAKgmB,SAASxgB,OAAQD,IAAK,CAC7C,MAAMsjB,EAAQ7oB,EAAKgmB,SAASzgB,GAC5B,GAAI,EAASsjB,IAAUjiB,EAASiiB,GAC9B,SAEF,MAAMyqC,EAAYd,GAAgB3pC,EAAOuT,GACzC,GAAkB,IAAdk3B,EACF,OAAO,EACEA,EAAYE,IACrBA,EAAaF,EAEjB,CACA,OAAOE,EAKb,CACA,MAAMC,GAAwC,IAAI5lD,IAAI,CACpD04C,GACAC,GACAC,GACAC,KAEF,SAASgN,GAA4B1uD,EAAOo3B,GAC1C,GAAmB,KAAfp3B,EAAMlD,OAAgB,EAASkD,EAAM6jD,SAAW4K,GAAsBrjD,IAAIpL,EAAM6jD,QAAS,CAC3F,MAAMtgD,EAAMvD,EAAMiU,UAAU,GAC5B,GAAiB,IAAb1Q,EAAIzG,KACN,OAAO0wD,GAAgBjqD,EAAK6zB,GACvB,GAAiB,KAAb7zB,EAAIzG,KACb,OAAO4xD,GAA4BnrD,EAAK6zB,EAE5C,CACA,OAAO,CACT,CACA,SAASu2B,GAA8B3yD,EAAMo8B,GAC3C,IAAIo3B,EAAa,EACjB,MAAMnwD,EAAQuvD,GAAa5yD,GAC3B,GAAIqD,GAAwB,KAAfA,EAAMvB,KAAa,CAC9B,MAAM,WAAEwmD,GAAejlD,EACvB,IAAK,IAAIkC,EAAI,EAAGA,EAAI+iD,EAAW9iD,OAAQD,IAAK,CAC1C,MAAM,IAAEhC,EAAG,MAAEyB,GAAUsjD,EAAW/iD,GAC5BouD,EAAUnB,GAAgBjvD,EAAK64B,GACrC,GAAgB,IAAZu3B,EACF,OAAOA,EAKT,IAAIC,EAQJ,GAXID,EAAUH,IACZA,EAAaG,GAIbC,EADiB,IAAf5uD,EAAMlD,KACI0wD,GAAgBxtD,EAAOo3B,GACX,KAAfp3B,EAAMlD,KACH4xD,GAA4B1uD,EAAOo3B,GAEnC,EAEI,IAAdw3B,EACF,OAAOA,EAELA,EAAYJ,IACdA,EAAaI,EAEjB,CACF,CACA,OAAOJ,CACT,CACA,SAASZ,GAAa5yD,GACpB,MAAMqwD,EAAcrwD,EAAKqwD,YACzB,GAAyB,KAArBA,EAAYvuD,KACd,OAAOuuD,EAAYhtD,KAEvB,CACA,SAASqvD,GAAa1yD,GACpB,MAAMovC,EAAOpvC,EAAK8vB,UAClB,OAAOsf,EAAO/nC,SAAS+nC,EAAM,SAAM,CACrC,CAuJA,SAASiO,GAAUz7B,EAAMtS,GACvB,MAAM8sB,EAtJR,SAAgCxa,GAAM,SACpCiyC,EAAW,GAAE,kBACbC,GAAoB,EACpB7B,YAAa8B,GAAe,EAAK,IACjCb,GAAM,EAAK,cACXc,GAAgB,EAAK,eACrBC,EAAiB,GAAE,oBACnBC,EAAsB,CAAC,EAAC,eACxBlB,EAAiB,KAAI,mBACrB5C,EAAqB,EAAI,gBACzBxe,EAAkB,EAAI,kBACtBuiB,EAAoB,GAAE,QACtBv+B,EAAU,KAAI,QACdw+B,GAAU,EAAI,IACd/K,GAAM,EAAK,MACXpB,GAAQ,EAAK,WACboM,EAAa,GAAE,gBACfC,EAAkB5uD,EAAS,OAC3B6uD,GAAS,EAAK,KACdC,GAAO,EAAK,QACZhkC,EAAUg0B,GAAc,OACxBiJ,EAAShJ,GAAa,aACtB+H,IAEA,MAAMiI,EAAYZ,EAAS7wD,QAAQ,QAAS,IAAIm8B,MAAM,mBAChD/C,EAAU,CAEd/Y,SAAUoxC,GAAa,EAAW9sD,EAAS8sD,EAAU,KACrDX,oBACA7B,YAAa8B,EACbb,MACAc,gBACAC,iBACAC,sBACAlB,iBACA5C,qBACAxe,kBACAuiB,oBACAv+B,UACAw+B,UACA/K,MACApB,QACAoM,aACAC,kBACAC,SACAC,OACAhkC,UACAi9B,SACAjB,eAEA5qC,OACA8yC,QAAyB,IAAI1kD,IAC7BkrB,WAA4B,IAAIrtB,IAChC+c,WAA4B,IAAI/c,IAChC8mD,OAAQ,GACRC,QAAS,GACTzB,cAA+B,IAAIhlD,QACnC0mD,MAAO,EACP11C,OAAQ,EACR21C,YAA6B3wD,OAAOiB,OAAO,MAC3CqH,OAAQ,CACNsoD,KAAM,EACNlC,MAAO,EACPmC,KAAM,EACNC,MAAO,GAET1oD,OAAQ,KACR2oD,YAAatzC,EACbuzC,WAAY,EACZC,SAAS,EAET,MAAArN,CAAOhpD,GACL,MAAMs2D,EAAQj5B,EAAQs4B,QAAQpwD,IAAIvF,IAAS,EAE3C,OADAq9B,EAAQs4B,QAAQ3kD,IAAIhR,EAAMs2D,EAAQ,GAC3Bt2D,CACT,EACA,YAAAwqD,CAAaxqD,GACX,MAAMs2D,EAAQj5B,EAAQs4B,QAAQpwD,IAAIvF,GAClC,GAAIs2D,EAAO,CACT,MAAMC,EAAeD,EAAQ,EACxBC,EAGHl5B,EAAQs4B,QAAQ3kD,IAAIhR,EAAMu2D,GAF1Bl5B,EAAQs4B,QAAQzlD,OAAOlQ,EAI3B,CACF,EACAw2D,aAAax2D,GACJ,IAAIwoD,GAAcnrB,EAAQ2rB,OAAOhpD,MAE1C,WAAAsjC,CAAYriC,GASVo8B,EAAQ7vB,OAAOyZ,SAASoW,EAAQ+4B,YAAc/4B,EAAQ84B,YAAcl1D,CACtE,EACA,UAAAw1D,CAAWx1D,GAIT,MAAMqF,EAAO+2B,EAAQ7vB,OAAOyZ,SACtByvC,EAAez1D,EAAOqF,EAAKe,QAAQpG,GAAQo8B,EAAQ84B,YAAc94B,EAAQ+4B,YAAc,EAIxFn1D,GAAQA,IAASo8B,EAAQ84B,YAIxB94B,EAAQ+4B,WAAaM,IACvBr5B,EAAQ+4B,aACR/4B,EAAQs5B,kBALVt5B,EAAQ84B,YAAc,KACtB94B,EAAQs5B,iBAOVt5B,EAAQ7vB,OAAOyZ,SAAS3f,OAAOovD,EAAc,EAC/C,EACAC,cAAe,OAEf,cAAAC,CAAexK,GACf,EACA,iBAAAyK,CAAkBzK,GAClB,EACA,KAAAsH,CAAMtH,GACA,EAASA,KACXA,EAAM3C,GAAuB2C,IAC/B/uB,EAAQu4B,OAAOjoD,KAAKy+C,GACpB,MAAM0K,EAAarN,GACjB,YAAYpsB,EAAQu4B,OAAOnvD,UAC3B,EACA2lD,EAAIvG,IACJ,GAGF,OADAiR,EAAW5C,QAAU9H,EACd0K,CACT,EACApuD,MAAK,CAAC0jD,EAAKriC,GAAU,IAjkDzB,SAA+Btc,EAAOxH,EAAO8jB,GAAU,GACrD,MAAO,CACLhnB,KAAM,GACN0K,QACAxH,QACA8jB,UACA87B,IAAK4C,GAET,CA0jDasO,CAAsB15B,EAAQjd,SAAUgsC,EAAKriC,IAMxD,OAFEsT,EAAQ25B,QAA0B,IAAIloD,IAEjCuuB,CACT,CAEkB45B,CAAuBp0C,EAAMtS,GAC7C2mD,GAAar0C,EAAMwa,GACf9sB,EAAQ2iD,aACVA,GAAYrwC,EAAMwa,GAEf9sB,EAAQ+5C,KAcf,SAA2BznC,EAAMwa,GAC/B,MAAM,OAAE2rB,GAAW3rB,GACb,SAAEpW,GAAapE,EACrB,GAAwB,IAApBoE,EAASxgB,OAAc,CACzB,MAAMqjB,EAAQ7C,EAAS,GACvB,GAAImsC,GAAoBvwC,EAAMiH,IAAUA,EAAMwnC,YAAa,CACzD,MAAMA,EAAcxnC,EAAMwnC,YACD,KAArBA,EAAYvuD,MACdwnD,GAAe+G,EAAaj0B,GAE9Bxa,EAAKyuC,YAAcA,CACrB,MACEzuC,EAAKyuC,YAAcxnC,CAEvB,MAAO,GAAI7C,EAASxgB,OAAS,EAAG,CAC9B,IAAIsqB,EAAY,GAMhBlO,EAAKyuC,YAAczI,GACjBxrB,EACA2rB,EAAO/C,SACP,EACApjC,EAAKoE,SACL8J,EAAqF,QACrF,OACA,GACA,OACA,GACA,EAGJ,CACF,CAhDIomC,CAAkBt0C,EAAMwa,GAE1Bxa,EAAK8yC,QAA0B,IAAI7mD,IAAI,IAAIuuB,EAAQs4B,QAAQ1pD,SAC3D4W,EAAKsZ,WAAa,IAAIkB,EAAQlB,YAC9BtZ,EAAKgJ,WAAa,IAAIwR,EAAQxR,YAC9BhJ,EAAKgzC,QAAUx4B,EAAQw4B,QACvBhzC,EAAK+yC,OAASv4B,EAAQu4B,OACtB/yC,EAAKizC,MAAQz4B,EAAQy4B,MACrBjzC,EAAKzC,OAASid,EAAQjd,OAEpByC,EAAKm0C,QAAU,IAAI35B,EAAQ25B,QAE/B,CAoDA,SAASE,GAAaj2D,EAAMo8B,GAC1BA,EAAQ84B,YAAcl1D,EACtB,MAAM,eAAEi0D,GAAmB73B,EACrB+5B,EAAU,GAChB,IAAK,IAAIrD,EAAK,EAAGA,EAAKmB,EAAezuD,OAAQstD,IAAM,CACjD,MAAMsD,EAASnC,EAAenB,GAAI9yD,EAAMo8B,GAQxC,GAPIg6B,IACE,EAAQA,GACVD,EAAQzpD,QAAQ0pD,GAEhBD,EAAQzpD,KAAK0pD,KAGZh6B,EAAQ84B,YACX,OAEAl1D,EAAOo8B,EAAQ84B,WAEnB,CACA,OAAQl1D,EAAK8B,MACX,KAAK,EACEs6B,EAAQitB,KACXjtB,EAAQ2rB,OAAOrC,IAEjB,MACF,KAAK,EACEtpB,EAAQitB,KACXjtB,EAAQ2rB,OAAO1B,IAEjB,MACF,KAAK,EACH,IAAK,IAAIyM,EAAK,EAAGA,EAAK9yD,EAAK+yD,SAASvtD,OAAQstD,IAC1CmD,GAAaj2D,EAAK+yD,SAASD,GAAK12B,GAElC,MACF,KAAK,GACL,KAAK,GACL,KAAK,EACL,KAAK,GArDT,SAA0B7vB,EAAQ6vB,GAChC,IAAI72B,EAAI,EACR,MAAM8wD,EAAc,KAClB9wD,GAAG,EAEL,KAAOA,EAAIgH,EAAOyZ,SAASxgB,OAAQD,IAAK,CACtC,MAAMsjB,EAAQtc,EAAOyZ,SAASzgB,GAC1B,EAASsjB,KAEbuT,EAAQ7vB,OAASA,EACjB6vB,EAAQ+4B,WAAa5vD,EACrB62B,EAAQs5B,cAAgBW,EACxBJ,GAAaptC,EAAOuT,GACtB,CACF,CAwCMk6B,CAAiBt2D,EAAMo8B,GAG3BA,EAAQ84B,YAAcl1D,EACtB,IAAIuF,EAAI4wD,EAAQ3wD,OAChB,KAAOD,KACL4wD,EAAQ5wD,IAEZ,CACA,SAASgxD,GAAmCx3D,EAAMyI,GAChD,MAAMurB,EAAU,EAASh0B,GAAS4J,GAAMA,IAAM5J,EAAQ4J,GAAM5J,EAAK0B,KAAKkI,GACtE,MAAO,CAAC3I,EAAMo8B,KACZ,GAAkB,IAAdp8B,EAAK8B,KAAY,CACnB,MAAM,MAAEuB,GAAUrD,EAClB,GAAqB,IAAjBA,EAAKyrD,SAAiBpoD,EAAMwe,KAAK2pC,IACnC,OAEF,MAAM2K,EAAU,GAChB,IAAK,IAAI5wD,EAAI,EAAGA,EAAIlC,EAAMmC,OAAQD,IAAK,CACrC,MAAMZ,EAAOtB,EAAMkC,GACnB,GAAkB,IAAdZ,EAAK7C,MAAcixB,EAAQpuB,EAAK5F,MAAO,CACzCsE,EAAMgD,OAAOd,EAAG,GAChBA,IACA,MAAM6wD,EAAS5uD,EAAGxH,EAAM2E,EAAMy3B,GAC1Bg6B,GACFD,EAAQzpD,KAAK0pD,EACjB,CACF,CACA,OAAOD,CACT,EAEJ,CAEA,MAAMK,GAAkB,gBAClBC,GAAeruC,GAAM,GAAGm/B,GAAcn/B,QAAQm/B,GAAcn/B,KA6DlE,SAASsuC,GAASC,EAAKrnD,EAAU,CAAC,GAChC,MAAM8sB,EA7DR,SAA8Bu6B,GAAK,KACjC1vC,EAAO,WAAU,kBACjB6sC,EAA6B,WAAT7sC,EAAiB,UACrC2vC,GAAY,EAAK,SACjB/C,EAAW,oBAAmB,QAC9Bj+B,EAAU,KAAI,gBACdihC,GAAkB,EAAK,kBACvBC,EAAoB,MAAK,kBACzBC,EAAoB,MAAK,qBACzBC,EAAuB,sBAAqB,IAC5C3N,GAAM,EAAK,KACXmL,GAAO,EAAK,MACZvM,GAAQ,IAER,MAAM7rB,EAAU,CACdnV,OACA6sC,oBACA8C,YACA/C,WACAj+B,UACAihC,kBACAC,oBACAC,oBACAC,uBACA3N,MACAmL,OACAvM,QACArwC,OAAQ++C,EAAI/R,IAAIhtC,OAChB+sC,KAAM,GACN+C,OAAQ,EACRD,KAAM,EACNE,OAAQ,EACRsP,YAAa,EACbC,MAAM,EACN/xD,SAAK,EACL4iD,OAAOxkD,GACE,IAAIgkD,GAAchkD,KAE3B,IAAAmJ,CAAKi4C,EAAM3kD,GACTo8B,EAAQuoB,MAAQA,CAClB,EACA,MAAAwS,GACEnO,IAAU5sB,EAAQ66B,YACpB,EACA,QAAAG,CAASC,GAAiB,GACpBA,IACAj7B,EAAQ66B,YAEVjO,IAAU5sB,EAAQ66B,YAEtB,EACA,OAAAjO,GACEA,EAAQ5sB,EAAQ66B,YAClB,GAEF,SAASjO,EAAQrgD,GACfyzB,EAAQ1vB,KAAK,KAAO,KAAK4qD,OAAO3uD,GAClC,CACA,OAAOyzB,CACT,CAEkBm7B,CAAqBZ,EAAKrnD,GACtCA,EAAQkoD,kBACVloD,EAAQkoD,iBAAiBp7B,GAC3B,MAAM,KACJnV,EAAI,KACJva,EAAI,kBACJonD,EAAiB,OACjBqD,EAAM,SACNC,EAAQ,QACRpO,EAAO,QACPpzB,EAAO,IACPyzB,GACEjtB,EACEs4B,EAAUpuD,MAAM0uB,KAAK2hC,EAAIjC,SACzB+C,EAAa/C,EAAQlvD,OAAS,EAC9BkyD,GAAgB5D,GAA8B,WAAT7sC,EAwC3C,GAiCF,SAA6B0vC,EAAKv6B,GAChC,MAAM,IACJitB,EAAG,kBACHyK,EAAiB,KACjBpnD,EAAI,QACJs8C,EAAO,kBACP+N,EAAiB,kBACjBD,EAAiB,qBACjBE,GACE56B,EACEu7B,EAAab,EACbpC,EAAUpuD,MAAM0uB,KAAK2hC,EAAIjC,SAC3BA,EAAQlvD,OAAS,IAEjBkH,EAAK,gBAAgBirD,OAEjBhB,EAAIhC,OAAOnvD,SAQbkH,EAAK,WAPiB,CACpB84C,GACAC,GACAC,GACAC,GACAC,IACA10C,QAAQ62C,GAAW2M,EAAQj5C,SAASssC,KAAS5iD,IAAIsxD,IAAaxU,KAAK,oBA4B7E,SAAmB0S,EAAQv4B,GACzB,IAAKu4B,EAAOnvD,OACV,OAEF42B,EAAQ86B,MAAO,EACf,MAAM,KAAExqD,EAAI,QAAEs8C,EAAO,OAAEjB,EAAM,QAAEnyB,EAAO,KAAE3O,GAASmV,EACjD4sB,IACA,IAAK,IAAIzjD,EAAI,EAAGA,EAAIovD,EAAOnvD,OAAQD,IAAK,CACtC,MAAM4lD,EAAMwJ,EAAOpvD,GACf4lD,IACFz+C,EACE,kBAAkBnH,EAAI,QAExBqyD,GAAQzM,EAAK/uB,GACb4sB,IAEJ,CACA5sB,EAAQ86B,MAAO,CACjB,CAxCEW,CAAUlB,EAAIhC,OAAQv4B,GACtB4sB,IACAt8C,EAAK,UACP,CArGIorD,CAAoBnB,EAFwDv6B,GAQ5E1vB,EAAK,YAJc28C,EAAM,YAAc,aAC5BA,EAAM,CAAC,OAAQ,QAAS,UAAW,UAAY,CAAC,OAAQ,WAC9CpH,KAAK,YAI5BkV,IACIO,IACFhrD,EAAK,iBACLyqD,IACIM,IACF/qD,EAAK,WAAWgoD,EAAQvvD,IAAIsxD,IAAaxU,KAAK,kBAC9Cv1C,EAAK,MAELs8C,MAGA2N,EAAIz7B,WAAW11B,SACjBuyD,GAAUpB,EAAIz7B,WAAY,YAAakB,IACnCu6B,EAAI/rC,WAAWplB,QAAUmxD,EAAI9B,MAAQ,IACvC7L,KAGA2N,EAAI/rC,WAAWplB,SACjBuyD,GAAUpB,EAAI/rC,WAAY,YAAawR,GACnCu6B,EAAI9B,MAAQ,GACd7L,KAGA2N,EAAIZ,SAAWY,EAAIZ,QAAQvwD,SAC7BwjD,IACA+O,GAAUpB,EAAIZ,QAAS,SAAU35B,GACjC4sB,KAEE2N,EAAI9B,MAAQ,EAAG,CACjBnoD,EAAK,QACL,IAAK,IAAInH,EAAI,EAAGA,EAAIoxD,EAAI9B,MAAOtvD,IAC7BmH,EAAK,GAAGnH,EAAI,EAAI,KAAO,UAAUA,IAErC,CAoBA,OAnBIoxD,EAAIz7B,WAAW11B,QAAUmxD,EAAI/rC,WAAWplB,QAAUmxD,EAAI9B,SACxDnoD,EAAK,MAELs8C,KAEGK,GACH38C,EAAK,WAEHiqD,EAAItG,YACNuH,GAAQjB,EAAItG,YAAaj0B,GAEzB1vB,EAAK,QAEHgrD,IACFN,IACA1qD,EAAK,MAEP0qD,IACA1qD,EAAK,KACE,CACLiqD,MACAhS,KAAMvoB,EAAQuoB,KACdqT,SAAkD,GAElD7yD,IAAKi3B,EAAQj3B,IAAMi3B,EAAQj3B,IAAI8yD,cAAW,EAE9C,CAkCA,SAASF,GAAUG,EAAQp2D,GAAM,OAAEimD,EAAM,KAAEr7C,EAAI,QAAEs8C,EAAO,KAAEwL,IACxD,MAAM2D,EAAWpQ,EACN,WAATjmD,EAAoBkkD,GAA0B,cAATlkD,EAAuB+jD,GAAoBE,IAElF,IAAK,IAAIxgD,EAAI,EAAGA,EAAI2yD,EAAO1yD,OAAQD,IAAK,CACtC,IAAImW,EAAKw8C,EAAO3yD,GAChB,MAAMsd,EAAqBnH,EAAGynB,SAAS,UACnCtgB,IACFnH,EAAKA,EAAGxU,MAAM,GAAI,IAEpBwF,EACE,SAAS0/C,GAAe1wC,EAAI5Z,QAAWq2D,KAAY7sD,KAAKC,UAAUmQ,KAAMmH,EAAqB,SAAW,MAAM2xC,EAAO,IAAM,MAEzHjvD,EAAI2yD,EAAO1yD,OAAS,GACtBwjD,GAEJ,CACF,CAuBA,SAASoP,GAAmBtK,EAAO1xB,GACjC,MAAMi8B,EAAavK,EAAMtoD,OAAS,IAAK,EACvC42B,EAAQ1vB,KAAK,KACb2rD,GAAcj8B,EAAQ+6B,SACtBmB,GAAYxK,EAAO1xB,EAASi8B,GAC5BA,GAAcj8B,EAAQg7B,WACtBh7B,EAAQ1vB,KAAK,IACf,CACA,SAAS4rD,GAAYxK,EAAO1xB,EAASi8B,GAAa,EAAOE,GAAQ,GAC/D,MAAM,KAAE7rD,EAAI,QAAEs8C,GAAY5sB,EAC1B,IAAK,IAAI72B,EAAI,EAAGA,EAAIuoD,EAAMtoD,OAAQD,IAAK,CACrC,MAAMvF,EAAO8tD,EAAMvoD,GACf,EAASvF,GACX0M,EAAK1M,GACI,EAAQA,GACjBo4D,GAAmBp4D,EAAMo8B,GAEzBw7B,GAAQ53D,EAAMo8B,GAEZ72B,EAAIuoD,EAAMtoD,OAAS,IACjB6yD,GACFE,GAAS7rD,EAAK,KACds8C,KAEAuP,GAAS7rD,EAAK,MAGpB,CACF,CACA,SAASkrD,GAAQ53D,EAAMo8B,GACrB,GAAI,EAASp8B,GACXo8B,EAAQ1vB,KAAK1M,QAGf,GAAI4G,EAAS5G,GACXo8B,EAAQ1vB,KAAK0vB,EAAQ2rB,OAAO/nD,SAG9B,OAAQA,EAAK8B,MACX,KAAK,EACL,KAAK,EACL,KAAK,GAgBL,KAAK,GACH81D,GAAQ53D,EAAKqwD,YAAaj0B,GAC1B,MAXF,KAAK,GA8DT,SAAiBp8B,EAAMo8B,GACrBA,EAAQ1vB,KAAKpB,KAAKC,UAAUvL,EAAKsiC,SAAUtiC,EAC7C,CA/DMw4D,CAAQx4D,EAAMo8B,GACd,MACF,KAAK,EACHq8B,GAAcz4D,EAAMo8B,GACpB,MACF,KAAK,GA+DT,SAA0Bp8B,EAAMo8B,GAC9B,MAAM,KAAE1vB,EAAI,OAAEq7C,EAAM,KAAEmP,GAAS96B,EAC3B86B,GACFxqD,EAAK8pD,IACP9pD,EAAK,GAAGq7C,EAAO1B,QACfuR,GAAQ53D,EAAKsiC,QAASlG,GACtB1vB,EAAK,IACP,CArEMgsD,CAAiB14D,EAAMo8B,GACvB,MAIF,KAAK,EACHu8B,GAAsB34D,EAAMo8B,GAC5B,MACF,KAAK,GAqFT,SAAoBp8B,EAAMo8B,GACxB,MAAM,KAAE1vB,EAAI,OAAEq7C,EAAM,KAAEmP,GAAS96B,EAC3B86B,GACFxqD,EAAK8pD,IAEP9pD,EAAK,GAAGq7C,EAAOrC,OAAmBp6C,KAAKC,UAAUvL,EAAKsiC,YAAatiC,EACrE,CA1FM44D,CAAW54D,EAAMo8B,GACjB,MACF,KAAK,IAyFT,SAAsBp8B,EAAMo8B,GAC1B,MAAM,KAAE1vB,EAAI,OAAEq7C,EAAM,KAAEmP,GAAS96B,GACzB,IACJkX,EAAG,MACHjwC,EAAK,SACL2iB,EAAQ,UACR8J,EAAS,aACToX,EAAY,WACZtc,EAAU,QACVi9B,EAAO,gBACPja,EAAe,YACfka,GACE9nD,EACA4qB,GACFle,EAAKq7C,EAAO9B,IAAmB,KAE7B4B,GACFn7C,EAAK,IAAIq7C,EAAO1C,OAAezX,EAAkB,OAAS,SAExDspB,GACFxqD,EAAK8pD,IAGP9pD,EAAKq7C,EADcF,EAAUG,GAAoB5rB,EAAQ6rB,MAAOH,GAAeI,GAAe9rB,EAAQ6rB,MAAOH,IACnF,IAAK9nD,GAC/Bs4D,GAcF,SAAyBhnD,GACvB,IAAI/L,EAAI+L,EAAK9L,OACb,KAAOD,KACU,MAAX+L,EAAK/L,KAGX,OAAO+L,EAAKpK,MAAM,EAAG3B,EAAI,GAAGJ,KAAKoD,GAAQA,GAAO,QAClD,CApBIswD,CAAgB,CAACvlB,EAAKjwC,EAAO2iB,EAAU8J,EAAWoX,IAClD9K,GAEF1vB,EAAK,KACDm7C,GACFn7C,EAAK,KAEHke,IACFle,EAAK,MACLkrD,GAAQhtC,EAAYwR,GACpB1vB,EAAK,KAET,CA7HMosD,CAAa94D,EAAMo8B,GACnB,MACF,KAAK,IAoIT,SAA2Bp8B,EAAMo8B,GAC/B,MAAM,KAAE1vB,EAAI,OAAEq7C,EAAM,KAAEmP,GAAS96B,EACzBysB,EAAS,EAAS7oD,EAAK6oD,QAAU7oD,EAAK6oD,OAASd,EAAO/nD,EAAK6oD,QAC7DqO,GACFxqD,EAAK8pD,IAEP9pD,EAAKm8C,EAAS,IAAK7oD,GACnBs4D,GAAYt4D,EAAKiZ,UAAWmjB,GAC5B1vB,EAAK,IACP,CA5IMqsD,CAAkB/4D,EAAMo8B,GACxB,MACF,KAAK,IA2IT,SAA6Bp8B,EAAMo8B,GACjC,MAAM,KAAE1vB,EAAI,OAAEyqD,EAAM,SAAEC,EAAQ,QAAEpO,GAAY5sB,GACtC,WAAEksB,GAAetoD,EACvB,IAAKsoD,EAAW9iD,OAEd,YADAkH,EAAK,KAAM1M,GAGb,MAAMq4D,EAAa/P,EAAW9iD,OAAS,IAAK,EAC5CkH,EAAK2rD,EAAa,IAAM,MACxBA,GAAclB,IACd,IAAK,IAAI5xD,EAAI,EAAGA,EAAI+iD,EAAW9iD,OAAQD,IAAK,CAC1C,MAAM,IAAEhC,EAAG,MAAEyB,GAAUsjD,EAAW/iD,GAClCyzD,GAA2Bz1D,EAAK64B,GAChC1vB,EAAK,MACLkrD,GAAQ5yD,EAAOo3B,GACX72B,EAAI+iD,EAAW9iD,OAAS,IAC1BkH,EAAK,KACLs8C,IAEJ,CACAqP,GAAcjB,IACd1qD,EAAK2rD,EAAa,IAAM,KAC1B,CAhKMY,CAAoBj5D,EAAMo8B,GAC1B,MACF,KAAK,IA+JT,SAA4Bp8B,EAAMo8B,GAChCg8B,GAAmBp4D,EAAKooD,SAAUhsB,EACpC,CAhKM88B,CAAmBl5D,EAAMo8B,GACzB,MACF,KAAK,IA+JT,SAA+Bp8B,EAAMo8B,GACnC,MAAM,KAAE1vB,EAAI,OAAEyqD,EAAM,SAAEC,GAAah7B,GAC7B,OAAE1d,EAAM,QAAEqqC,EAAO,KAAE1mD,EAAI,QAAE2mD,EAAO,OAAEC,GAAWjpD,EAC/CipD,GACFv8C,EAAK,IAAI66C,GAAcL,QAEzBx6C,EAAK,IAAK1M,GACN,EAAQ0e,GACV45C,GAAY55C,EAAQ0d,GACX1d,GACTk5C,GAAQl5C,EAAQ0d,GAElB1vB,EAAK,UACDs8C,GAAW3mD,KACbqK,EAAK,KACLyqD,KAEEpO,GACEC,GACFt8C,EAAK,WAEH,EAAQq8C,GACVqP,GAAmBrP,EAAS3sB,GAE5Bw7B,GAAQ7O,EAAS3sB,IAEV/5B,GACTu1D,GAAQv1D,EAAM+5B,IAEZ4sB,GAAW3mD,KACb+0D,IACA1qD,EAAK,MAEHu8C,IACEjpD,EAAKigB,iBACPvT,EAAK,qBAEPA,EAAK,KAET,CArMMysD,CAAsBn5D,EAAMo8B,GAC5B,MACF,KAAK,IAoMT,SAAkCp8B,EAAMo8B,GACtC,MAAM,KAAE37B,EAAI,WAAE0oD,EAAU,UAAEC,EAAWJ,QAASoQ,GAAgBp5D,GACxD,KAAE0M,EAAI,OAAEyqD,EAAM,SAAEC,EAAQ,QAAEpO,GAAY5sB,EAC5C,GAAkB,IAAd37B,EAAKqB,KAAY,CACnB,MAAMu3D,GAAexP,GAAmBppD,EAAK6hC,SAC7C+2B,GAAe3sD,EAAK,KACpB+rD,GAAch4D,EAAM27B,GACpBi9B,GAAe3sD,EAAK,IACtB,MACEA,EAAK,KACLkrD,GAAQn3D,EAAM27B,GACd1vB,EAAK,KAEP0sD,GAAejC,IACf/6B,EAAQ66B,cACRmC,GAAe1sD,EAAK,KACpBA,EAAK,MACLkrD,GAAQzO,EAAY/sB,GACpBA,EAAQ66B,cACRmC,GAAepQ,IACfoQ,GAAe1sD,EAAK,KACpBA,EAAK,MACL,MAAM4sD,EAA8B,KAAnBlQ,EAAUtnD,KACtBw3D,GACHl9B,EAAQ66B,cAEVW,GAAQxO,EAAWhtB,GACdk9B,GACHl9B,EAAQ66B,cAEVmC,GAAehC,GACb,EAGJ,CArOMmC,CAAyBv5D,EAAMo8B,GAC/B,MACF,KAAK,IAoOT,SAA4Bp8B,EAAMo8B,GAChC,MAAM,KAAE1vB,EAAI,OAAEq7C,EAAM,OAAEoP,EAAM,SAAEC,EAAQ,QAAEpO,GAAY5sB,EACpD1vB,EAAK,UAAU1M,EAAKwM,eAChBxM,EAAK8oB,UACPquC,IACAzqD,EAAK,GAAGq7C,EAAOhB,YACfiC,KAEFt8C,EAAK,UAAU1M,EAAKwM,aACpBorD,GAAQ53D,EAAKgF,MAAOo3B,GAChBp8B,EAAK8oB,UACPpc,EAAK,KACLs8C,IACAt8C,EAAK,GAAGq7C,EAAOhB,WACfiC,IACAt8C,EAAK,UAAU1M,EAAKwM,UACpB4qD,KAEF1qD,EAAK,IACP,CAtPM8sD,CAAmBx5D,EAAMo8B,GACzB,MACF,KAAK,GACHk8B,GAAYt4D,EAAKqC,KAAM+5B,GAAS,GAAM,GAqB5C,CAIA,SAASq8B,GAAcz4D,EAAMo8B,GAC3B,MAAM,QAAEkG,EAAO,SAAEmmB,GAAazoD,EAC9Bo8B,EAAQ1vB,KAAK+7C,EAAWn9C,KAAKC,UAAU+2B,GAAWA,EAAStiC,EAC7D,CASA,SAAS24D,GAAsB34D,EAAMo8B,GACnC,IAAK,IAAI72B,EAAI,EAAGA,EAAIvF,EAAKgmB,SAASxgB,OAAQD,IAAK,CAC7C,MAAMsjB,EAAQ7oB,EAAKgmB,SAASzgB,GACxB,EAASsjB,GACXuT,EAAQ1vB,KAAKmc,GAEb+uC,GAAQ/uC,EAAOuT,EAEnB,CACF,CACA,SAAS48B,GAA2Bh5D,EAAMo8B,GACxC,MAAM,KAAE1vB,GAAS0vB,EACC,IAAdp8B,EAAK8B,MACP4K,EAAK,KACLisD,GAAsB34D,EAAMo8B,GAC5B1vB,EAAK,MACI1M,EAAKyoD,SAEd/7C,EADam9C,GAAmB7pD,EAAKsiC,SAAWtiC,EAAKsiC,QAAUh3B,KAAKC,UAAUvL,EAAKsiC,SACxEtiC,GAEX0M,EAAK,IAAI1M,EAAKsiC,WAAYtiC,EAE9B,CAgS4B,IAAI0xB,OAC9B,MAAQ,sMAAsMpsB,MAAM,KAAK28C,KAAK,WAAa,OA0E7O,MAAMwX,GAAclD,GAClB,uBACA,CAACv2D,EAAMgrB,EAAKoR,IA8Bd,SAAmBp8B,EAAMgrB,EAAKoR,EAASs9B,GACrC,KAAiB,SAAb1uC,EAAIjsB,MAAqBisB,EAAImgC,KAAQngC,EAAImgC,IAAI7oB,QAAQt4B,QAAS,CAChE,MAAM46C,EAAM55B,EAAImgC,IAAMngC,EAAImgC,IAAIvG,IAAM5kD,EAAK4kD,IACzCxoB,EAAQ5L,QACNk0B,GAAoB,GAAI15B,EAAI45B,MAE9B55B,EAAImgC,IAAM3C,GAAuB,QAAQ,EAAO5D,EAClD,CAIA,GAAiB,OAAb55B,EAAIjsB,KAAe,CACrB,MAAMmqB,EAASywC,GAAe35D,EAAMgrB,GAC9B4uC,EAAS,CACb93D,KAAM,EACN8iD,IAAK5kD,EAAK4kD,IACVmO,SAAU,CAAC7pC,IAGb,GADAkT,EAAQiG,YAAYu3B,GAChBF,EACF,OAAOA,EAAeE,EAAQ1wC,GAAQ,EAE1C,KAAO,CACL,MAAM2wC,EAAWz9B,EAAQ7vB,OAAOyZ,SAEhC,IAAIzgB,EAAIs0D,EAASzzD,QAAQpG,GACzB,KAAOuF,OAAQ,GAAG,CAChB,MAAMu0D,EAAUD,EAASt0D,GACzB,GAAIu0D,GAA4B,IAAjBA,EAAQh4D,KACrBs6B,EAAQo5B,WAAWsE,OADrB,CAKA,IAAIA,GAA4B,IAAjBA,EAAQh4D,MAAeg4D,EAAQx3B,QAAQt4B,OAAOxE,OAA7D,CAIA,GAAIs0D,GAA4B,IAAjBA,EAAQh4D,KAAY,CAChB,YAAbkpB,EAAIjsB,WAAkF,IAA5D+6D,EAAQ/G,SAAS+G,EAAQ/G,SAASvtD,OAAS,GAAGu0D,WAC1E39B,EAAQ5L,QACNk0B,GAAoB,GAAI1kD,EAAK4kD,MAGjCxoB,EAAQo5B,aACR,MAAMtsC,EAASywC,GAAe35D,EAAMgrB,GAoBpC8uC,EAAQ/G,SAASrmD,KAAKwc,GACtB,MAAMktC,EAASsD,GAAkBA,EAAeI,EAAS5wC,GAAQ,GACjE+sC,GAAa/sC,EAAQkT,GACjBg6B,GACFA,IACFh6B,EAAQ84B,YAAc,IACxB,MACE94B,EAAQ5L,QACNk0B,GAAoB,GAAI1kD,EAAK4kD,MAGjC,KAvCA,CAFExoB,EAAQo5B,WAAWsE,EAFrB,CA4CF,CACF,CACF,CA3GWE,CAAUh6D,EAAMgrB,EAAKoR,GAAS,CAACw9B,EAAQ1wC,EAAQ+wC,KACpD,MAAMJ,EAAWz9B,EAAQ7vB,OAAOyZ,SAChC,IAAIzgB,EAAIs0D,EAASzzD,QAAQwzD,GACrBr2D,EAAM,EACV,KAAOgC,MAAO,GAAG,CACf,MAAMu0D,EAAUD,EAASt0D,GACrBu0D,GAA4B,IAAjBA,EAAQh4D,OACrByB,GAAOu2D,EAAQ/G,SAASvtD,OAE5B,CACA,MAAO,KACL,GAAIy0D,EACFL,EAAOvJ,YAAc6J,GACnBhxC,EACA3lB,EACA64B,OAEG,CACL,MAAM+9B,EA2LhB,SAA4Bn6D,GAC1B,OACE,GAAkB,KAAdA,EAAK8B,KAAa,CACpB,GAA4B,KAAxB9B,EAAKopD,UAAUtnD,KAGjB,OAAO9B,EAFPA,EAAOA,EAAKopD,SAIhB,MAAyB,KAAdppD,EAAK8B,OACd9B,EAAOA,EAAKgF,MAGlB,CAvMkCo1D,CAAmBR,EAAOvJ,aAClD8J,EAAgB/Q,UAAY8Q,GAC1BhxC,EACA3lB,EAAMq2D,EAAO7G,SAASvtD,OAAS,EAC/B42B,EAEJ,EACD,MAmFP,SAASu9B,GAAe35D,EAAMgrB,GAC5B,MAAMqvC,EAAgC,IAAjBr6D,EAAKyrD,QAC1B,MAAO,CACL3pD,KAAM,GACN8iD,IAAK5kD,EAAK4kD,IACVmV,UAAwB,SAAb/uC,EAAIjsB,UAAkB,EAASisB,EAAImgC,IAC9CnlC,SAAUq0C,IAAiBpP,GAAQjrD,EAAM,OAASA,EAAKgmB,SAAW,CAAChmB,GACnEs6D,QAASlP,GAASprD,EAAM,OACxBq6D,eAEJ,CACA,SAASH,GAA2BhxC,EAAQqxC,EAAUn+B,GACpD,OAAIlT,EAAO6wC,UACF7Q,GACLhgC,EAAO6wC,UACPS,GAA0BtxC,EAAQqxC,EAAUn+B,GAG5CwsB,GAAqBxsB,EAAQ2rB,OAAOrC,IAAiB,CACI,KACvD,UAIG8U,GAA0BtxC,EAAQqxC,EAAUn+B,EAEvD,CACA,SAASo+B,GAA0BtxC,EAAQqxC,EAAUn+B,GACnD,MAAM,OAAE2rB,GAAW3rB,EACbq+B,EAAclS,GAClB,MACAC,GACE,GAAG+R,KACH,EACA/S,GACA,KAGE,SAAExhC,GAAakD,EACfqZ,EAAavc,EAAS,GAE5B,GADgD,IAApBA,EAASxgB,QAAoC,IAApB+8B,EAAWzgC,KACvC,CACvB,GAAwB,IAApBkkB,EAASxgB,QAAoC,KAApB+8B,EAAWzgC,KAAa,CACnD,MAAM44D,EAAYn4B,EAAW8tB,YAE7B,OADAvE,GAAW4O,EAAWD,EAAar+B,GAC5Bs+B,CACT,CAAO,CACL,IAAI5qC,EAAY,GAMhB,OAAO83B,GACLxrB,EACA2rB,EAAO/C,IACPqD,GAAuB,CAACoS,IACxBz0C,EACA8J,EAAqF,QACrF,OACA,GACA,GACA,GACA,EACA5G,EAAO07B,IAEX,CACF,CAAO,CACL,MAAM/6C,EAAM04B,EAAW8tB,YACjBqK,EA9vEU,MADQ16D,EA+vEa6J,GA9vE9B/H,MAAe9B,EAAK6oD,SAAWxB,GAC/BrnD,EAAKiZ,UAAU,GAAG8vC,QAElB/oD,EAgwEP,OAJuB,KAAnB06D,EAAU54D,MACZwnD,GAAeoR,EAAWt+B,GAE5B0vB,GAAW4O,EAAWD,EAAar+B,GAC5BvyB,CACT,CArwEF,IAA4B7J,CAswE5B,CAmCA,MAAM26D,GAAepE,GACnB,OACA,CAACv2D,EAAMgrB,EAAKoR,KACV,MAAM,OAAE2rB,EAAM,aAAEwB,GAAiBntB,EACjC,OA+HJ,SAAoBp8B,EAAMgrB,EAAKoR,EAASs9B,GACtC,IAAK1uC,EAAImgC,IAIP,YAHA/uB,EAAQ5L,QACNk0B,GAAoB,GAAI15B,EAAI45B,MAIhC,MAAMgW,EAAcC,GAGlB7vC,EAAImgC,KAGN,IAAKyP,EAIH,YAHAx+B,EAAQ5L,QACNk0B,GAAoB,GAAI15B,EAAI45B,MAIhC,MAAM,eAAE+Q,EAAc,kBAAEC,EAAiB,OAAEnpD,GAAW2vB,GAChD,OAAExkB,EAAM,MAAE5S,EAAK,IAAEzB,EAAG,MAAEiJ,GAAUouD,EAChCE,EAAU,CACdh5D,KAAM,GACN8iD,IAAK55B,EAAI45B,IACThtC,SACAmjD,WAAY/1D,EACZg2D,SAAUz3D,EACV03D,iBAAkBzuD,EAClBouD,cACA50C,SAAUoc,GAAepiC,GAAQA,EAAKgmB,SAAW,CAAChmB,IAEpDo8B,EAAQiG,YAAYy4B,GACpBruD,EAAOsoD,OACP,MAAMqB,EAASsD,GAAkBA,EAAeoB,GAChD,MAAO,KACLruD,EAAOsoD,OACHqB,GACFA,GAAQ,CAEd,CAtKW8E,CAAWl7D,EAAMgrB,EAAKoR,GAAU0+B,IACrC,MAAMK,EAAYvS,GAAqBb,EAAO7B,IAAc,CAC1D4U,EAAQljD,SAEJwjD,EAAah5B,GAAepiC,GAC5ByvC,EAAOwb,GAAQjrD,EAAM,QACrBq7D,EAAUjQ,GAASprD,EAAM,OACzBs7D,EAASD,IAA6B,IAAjBA,EAAQv5D,KAAa0mD,GAAuB6S,EAAQr2D,MAAMs9B,SAAS,GAAQ+4B,EAAQlQ,KACxGsP,EAAcY,EAAU9S,GAAqB,MAAO+S,GAAU,KAC9DC,EAA2C,IAAxBT,EAAQljD,OAAO9V,MAAcg5D,EAAQljD,OAAO8wC,UAAY,EAC3E8S,EAAeD,EAAmB,GAAKF,EAAU,IAAM,IAc7D,OAbAP,EAAQzK,YAAczI,GACpBxrB,EACA2rB,EAAO/C,SACP,EACAmW,EACAK,EAAuG,QACvG,OACA,GACA,GACCD,GACD,EACAv7D,EAAK4kD,KAEA,KACL,IAAI6W,EACJ,MAAM,SAAEz1C,GAAa80C,EAiBfY,EAA0C,IAApB11C,EAASxgB,QAAqC,IAArBwgB,EAAS,GAAGlkB,KAC3D65D,EAAajQ,GAAa1rD,GAAQA,EAAOo7D,GAAuC,IAAzBp7D,EAAKgmB,SAASxgB,QAAgBkmD,GAAa1rD,EAAKgmB,SAAS,IAAMhmB,EAAKgmB,SAAS,GAAK,KA6C/I,GA5CI21C,GACFF,EAAaE,EAAWtL,YACpB+K,GAAcX,GAChB3O,GAAW2P,EAAYhB,EAAar+B,IAE7Bs/B,EACTD,EAAa7T,GACXxrB,EACA2rB,EAAO/C,IACPyV,EAAcpS,GAAuB,CAACoS,SAAgB,EACtDz6D,EAAKgmB,SACL,UACA,OACA,GACA,OACA,GACA,IAIFy1C,EAAaz1C,EAAS,GAAGqqC,YACrB+K,GAAcX,GAChB3O,GAAW2P,EAAYhB,EAAar+B,GAElCq/B,EAAW5T,WAAa0T,IACtBE,EAAW5T,SACb0B,EAAalE,IACbkE,EACEvB,GAAoB5rB,EAAQ6rB,MAAOwT,EAAW3T,eAGhDyB,EACErB,GAAe9rB,EAAQ6rB,MAAOwT,EAAW3T,eAI/C2T,EAAW5T,SAAW0T,EAClBE,EAAW5T,SACbE,EAAO1C,IACP0C,EAAOC,GAAoB5rB,EAAQ6rB,MAAOwT,EAAW3T,eAErDC,EAAOG,GAAe9rB,EAAQ6rB,MAAOwT,EAAW3T,eAGhDrY,EAAM,CACR,MAAMmsB,EAAO9S,GACX+S,GAAoBf,EAAQF,YAAa,CACvCpS,GAAuB,cAG3BoT,EAAKv5D,KA9uFN,CACLP,KAAM,GACNO,KA4uFuC,CAC/BsmD,GAAyB,CAAC,kBAAmBlZ,EAAK0b,IAAK,MACvDxC,GAAyB,CACvB,iBACG2S,EAAS,CAAC,uBAAwBA,GAAU,GAC/C,OAAOl/B,EAAQm5B,aACbjO,wCAGJqB,GAAyB,CAAC,iBAAkB8S,IAC5CjT,GAAuB,sBACvBA,GAAuB,iBAtvF/B5D,IAAK4C,IAwvFC2T,EAAUliD,UAAUvM,KAClBkvD,EACApT,GAAuB,UACvBA,GAAuBxmD,OAAOo6B,EAAQjd,WAE1C,MACEg8C,EAAUliD,UAAUvM,KAClBo8C,GACE+S,GAAoBf,EAAQF,aAC5Ba,GACA,GAIN,CACD,GACD,IA2CAK,GAAa,qCACbC,GAAgB,iCAChBC,GAAgB,WACtB,SAASnB,GAAmBoB,EAAO7/B,GACjC,MAAMwoB,EAAMqX,EAAMrX,IACZuG,EAAM8Q,EAAM35B,QACZ45B,EAAU/Q,EAAIhsB,MAAM28B,IAC1B,IAAKI,EACH,OACF,MAAO,CAAEC,EAAKC,GAAOF,EACfn5D,EAAS,CACb6U,OAAQykD,GACNzX,EACAwX,EAAIpyD,OACJmhD,EAAI/kD,QAAQg2D,EAAKD,EAAI32D,SAEvBR,WAAO,EACPzB,SAAK,EACLiJ,WAAO,GAKT,IAAI8vD,EAAeH,EAAInyD,OAAOhH,QAAQg5D,GAAe,IAAIhyD,OACzD,MAAMuyD,EAAgBJ,EAAI/1D,QAAQk2D,GAC5BE,EAAgBF,EAAan9B,MAAM48B,IACzC,GAAIS,EAAe,CACjBF,EAAeA,EAAat5D,QAAQ+4D,GAAe,IAAI/xD,OACvD,MAAMyyD,EAAaD,EAAc,GAAGxyD,OACpC,IAAI0yD,EAYJ,GAXID,IACFC,EAAYvR,EAAI/kD,QAAQq2D,EAAYF,EAAgBD,EAAa92D,QACjEzC,EAAOQ,IAAM84D,GAAsBzX,EAAK6X,EAAYC,IASlDF,EAAc,GAAI,CACpB,MAAMG,EAAeH,EAAc,GAAGxyD,OAClC2yD,IACF55D,EAAOyJ,MAAQ6vD,GACbzX,EACA+X,EACAxR,EAAI/kD,QACFu2D,EACA55D,EAAOQ,IAAMm5D,EAAYD,EAAWj3D,OAAS+2D,EAAgBD,EAAa92D,SAWlF,CACF,CAWA,OAVI82D,IACFv5D,EAAOiC,MAAQq3D,GAAsBzX,EAAK0X,EAAcC,IASnDx5D,CACT,CACA,SAASs5D,GAAsBO,EAAOt6B,EAASqlB,GAC7C,OAAOa,GACLlmB,GACA,EACAkoB,GAAcoS,EAAOjV,EAAQrlB,EAAQ98B,QAEzC,CACA,SAASq2D,IAAoB,MAAE72D,EAAK,IAAEzB,EAAG,MAAEiJ,GAASqwD,EAAW,IAC7D,OAEF,SAA0BvrD,GACxB,IAAI/L,EAAI+L,EAAK9L,OACb,KAAOD,MACD+L,EAAK/L,KAGX,OAAO+L,EAAKpK,MAAM,EAAG3B,EAAI,GAAGJ,KAAI,CAACoD,EAAKuqD,IAAOvqD,GAAOigD,GAAuB,IAAI8O,OAAOxE,EAAK,IAAI,IACjG,CATSgK,CAAiB,CAAC93D,EAAOzB,EAAKiJ,KAAUqwD,GACjD,CAUA,MAAME,GAAkBvU,GAAuB,aAAa,GACtDwU,GAAkB,CAACh9D,EAAMo8B,KAC7B,GAAkB,IAAdp8B,EAAK8B,OAAgC,IAAjB9B,EAAKyrD,SAAkC,IAAjBzrD,EAAKyrD,SAAgB,CACjE,MAAMoH,EAAQ5H,GAAQjrD,EAAM,QAC5B,GAAI6yD,EAGF,OAFAA,EAAM1H,IACN/uB,EAAQ3vB,OAAOomD,QACR,KACLz2B,EAAQ3vB,OAAOomD,OAAO,CAG5B,GAuBIoK,GAAoB,CAAC55D,EAAO65D,EAAUl3C,EAAU4+B,IAAQkE,GAC5DzlD,EACA2iB,GACA,GACA,EACAA,EAASxgB,OAASwgB,EAAS,GAAG4+B,IAAMA,GAEtC,SAASuY,GAAWn9D,EAAMo8B,EAASghC,EAAcH,IAC/C7gC,EAAQ2rB,OAAOb,IACf,MAAM,SAAElhC,EAAQ,IAAE4+B,GAAQ5kD,EACpBq9D,EAAkB,GAClBnoC,EAAe,GACrB,IAAIooC,EAAkBlhC,EAAQ3vB,OAAOomD,MAAQ,GAAKz2B,EAAQ3vB,OAAOsoD,KAAO,EACxE,MAAMwI,EAAkBtS,GAAQjrD,EAAM,QAAQ,GAC9C,GAAIu9D,EAAiB,CACnB,MAAM,IAAEh1D,EAAG,IAAE4iD,GAAQoS,EACjBh1D,IAAQihD,GAAYjhD,KACtB+0D,GAAkB,GAEpBD,EAAgB3wD,KACd67C,GACEhgD,GAAOigD,GAAuB,WAAW,GACzC4U,EAAYjS,OAAK,EAAQnlC,EAAU4+B,IAGzC,CACA,IAAI4Y,GAAmB,EACnBC,GAAsB,EAC1B,MAAMC,EAA0B,GAC1BC,EAAgC,IAAI9vD,IAC1C,IAAI+vD,EAAyB,EAC7B,IAAK,IAAIr4D,EAAI,EAAGA,EAAIygB,EAASxgB,OAAQD,IAAK,CACxC,MAAMs4D,EAAc73C,EAASzgB,GAC7B,IAAIu4D,EACJ,IAAK17B,GAAey7B,MAAkBC,EAAU7S,GAAQ4S,EAAa,QAAQ,IAAQ,CAC1D,IAArBA,EAAY/7D,MACd47D,EAAwBhxD,KAAKmxD,GAE/B,QACF,CACA,GAAIN,EAAiB,CACnBnhC,EAAQ5L,QACNk0B,GAAoB,GAAIoZ,EAAQlZ,MAElC,KACF,CACA4Y,GAAmB,EACnB,MAAQx3C,SAAU+3C,EAAcnZ,IAAKoZ,GAAYH,GAE/Ct1D,IAAK01D,EAAWzV,GAAuB,WAAW,GAClD2C,IAAK+S,EACLtZ,IAAKuZ,GACHL,EACJ,IAAIM,EACA5U,GAAYyU,GACdG,EAAiBH,EAAWA,EAAS37B,QAAU,UAE/Cg7B,GAAkB,EAEpB,MAAMvI,EAAO9J,GAAQ4S,EAAa,OAC5BQ,EAAejB,EACnBc,EACQ,MAARnJ,OAAe,EAASA,EAAK5J,IAC7B4S,EACAC,GAEF,IAAIM,EACAC,EACJ,GAAID,EAAMrT,GAAQ4S,EAAa,MAC7BP,GAAkB,EAClBpoC,EAAaxoB,KACXw8C,GACEoV,EAAInT,IACJqT,GAAiBP,EAAUI,EAAcT,KACzCb,UAGC,GAAIwB,EAAQtT,GACjB4S,EACA,gBACA,GAEC,CACD,IACIp+C,EADA2V,EAAI7vB,EAER,KAAO6vB,MACL3V,EAAOuG,EAASoP,GACE,IAAd3V,EAAK3d,QAIX,GAAI2d,GAAQ2iB,GAAe3iB,IAASwrC,GAAQxrC,EAAM,MAAO,CACvDuG,EAAS3f,OAAOd,EAAG,GACnBA,IACA,IAAIk5D,EAAcvpC,EAAaA,EAAa1vB,OAAS,GACrD,KAAsC,KAA/Bi5D,EAAYrV,UAAUtnD,MAC3B28D,EAAcA,EAAYrV,UAE5BqV,EAAYrV,UAAYmV,EAAMpT,IAAMjC,GAClCqV,EAAMpT,IACNqT,GACEP,EACAI,EACAT,KAEFb,IACEyB,GAAiBP,EAAUI,EAAcT,IAC/C,MACExhC,EAAQ5L,QACNk0B,GAAoB,GAAI6Z,EAAM3Z,KAGpC,MAAO,GAAImQ,EAAM,CACfuI,GAAkB,EAClB,MAAM1C,EAAc7F,EAAK6F,aAAeC,GAAmB9F,EAAK5J,KAC5DyP,EACF1lC,EAAaxoB,KACXk8C,GAAqBxsB,EAAQ2rB,OAAO7B,IAAc,CAChD0U,EAAYhjD,OACZkxC,GACE+S,GAAoBjB,GACpB4D,GAAiBP,EAAUI,IAC3B,MAMNjiC,EAAQ5L,QACNk0B,GAAoB,GAAIqQ,EAAKnQ,KAGnC,KAAO,CACL,GAAIwZ,EAAgB,CAClB,GAAIT,EAAcvtD,IAAIguD,GAAiB,CACrChiC,EAAQ5L,QACNk0B,GACE,GACAyZ,IAGJ,QACF,CACAR,EAActtD,IAAI+tD,GACK,YAAnBA,IACFX,GAAsB,EAE1B,CACAJ,EAAgB3wD,KAAK67C,GAAqB0V,EAAUI,GACtD,CACF,CACA,IAAKd,EAAiB,CACpB,MAAMmB,EAA2B,CAACr7D,EAAOs7D,KACvC,MAAMn3D,EAAK41D,EAAY/5D,OAAO,EAAQs7D,EAAW/Z,GAIjD,OAHIxoB,EAAQowB,eACVhlD,EAAGyY,iBAAkB,GAEhBsoC,GAAqB,UAAW/gD,EAAG,EAEvCg2D,EAEME,EAAwBl4D,QAGnCk4D,EAAwB77C,MAAM+8C,GAAUC,GAAuBD,OACzDnB,EACFrhC,EAAQ5L,QACNk0B,GACE,GACAgZ,EAAwB,GAAG9Y,MAI/ByY,EAAgB3wD,KACdgyD,OAAyB,EAAQhB,KAdrCL,EAAgB3wD,KAAKgyD,OAAyB,EAAQ14C,GAkB1D,CACA,MAAM0pB,EAAW4tB,EAAkB,EAAIwB,GAAkB9+D,EAAKgmB,UAAY,EAAI,EAC9E,IAAIpF,EAAQynC,GACVgV,EAAgBp7C,OACdsmC,GACE,IAGAC,GACE9Y,EAA8F,IAC9F,KAINkV,GAQF,OANI1vB,EAAa1vB,SACfob,EAAQgoC,GAAqBxsB,EAAQ2rB,OAAO3B,IAAe,CACzDxlC,EACAunC,GAAsBjzB,MAGnB,CACLtU,QACA08C,kBAEJ,CACA,SAASkB,GAAiBz/D,EAAMyI,EAAIgF,GAClC,MAAMnJ,EAAQ,CACZklD,GAAqB,OAAQxpD,GAC7BwpD,GAAqB,KAAM/gD,IAO7B,OALa,MAATgF,GACFnJ,EAAMqJ,KACJ67C,GAAqB,MAAOC,GAAuBxmD,OAAOwK,IAAQ,KAG/D67C,GAAuBhlD,EAChC,CACA,SAASy7D,GAAkB94C,GACzB,IAAK,IAAIzgB,EAAI,EAAGA,EAAIygB,EAASxgB,OAAQD,IAAK,CACxC,MAAMsjB,EAAQ7C,EAASzgB,GACvB,OAAQsjB,EAAM/mB,MACZ,KAAK,EACH,GAAsB,IAAlB+mB,EAAM4iC,SAAiBqT,GAAkBj2C,EAAM7C,UACjD,OAAO,EAET,MACF,KAAK,EACH,GAAI84C,GAAkBj2C,EAAMkqC,UAC1B,OAAO,EACT,MACF,KAAK,GACL,KAAK,GACH,GAAI+L,GAAkBj2C,EAAM7C,UAC1B,OAAO,EAGf,CACA,OAAO,CACT,CACA,SAAS64C,GAAuB7+D,GAC9B,OAAkB,IAAdA,EAAK8B,MAA4B,KAAd9B,EAAK8B,OAEP,IAAd9B,EAAK8B,OAAe9B,EAAKsiC,QAAQt4B,OAAS60D,GAAuB7+D,EAAKsiC,SAC/E,CAEA,MAAMy8B,GAAqC,IAAI5wD,QACzC6wD,GAAmB,CAACh/D,EAAMo8B,IACvB,WAEL,GAAoB,KADpBp8B,EAAOo8B,EAAQ84B,aACJpzD,MAAgC,IAAjB9B,EAAKyrD,SAAkC,IAAjBzrD,EAAKyrD,QACnD,OAEF,MAAM,IAAEnY,EAAG,MAAEjwC,GAAUrD,EACjB8nD,EAA+B,IAAjB9nD,EAAKyrD,QACzB,IAAIwT,EAAWnX,EAyGnB,SAA8B9nD,EAAMo8B,EAASitB,GAAM,GACjD,IAAI,IAAE/V,GAAQtzC,EACd,MAAMk/D,EAAoBC,GAAe7rB,GACnC8rB,EAAShU,GAASprD,EAAM,MAC9B,GAAIo/D,EACF,GAAIF,GAAqBzS,GACvB,yBACArwB,GACC,CACD,MAAM+uB,EAAsB,IAAhBiU,EAAOt9D,KAAas9D,EAAOp6D,OAASwjD,GAAuB4W,EAAOp6D,MAAMs9B,SAAS,GAAQ88B,EAAOjU,IAC5G,GAAIA,EACF,OAAOvC,GAAqBxsB,EAAQ2rB,OAAOjC,IAA4B,CACrEqF,GAGN,MAA2B,IAAhBiU,EAAOt9D,MAAcs9D,EAAOp6D,MAAMs9B,QAAQv8B,WAAW,UAC9DutC,EAAM8rB,EAAOp6D,MAAMs9B,QAAQp7B,MAAM,IAGrC,MAAMm4D,GAASH,GAAqBjU,GAAQjrD,EAAM,MAClD,GAAIq/D,GAASA,EAAMlU,IAMjB,OAAOvC,GAAqBxsB,EAAQ2rB,OAAOjC,IAA4B,CACrEuZ,EAAMlU,MAGV,MAAMmU,EAAU3V,GAAgBrW,IAAQlX,EAAQg0B,mBAAmB9c,GACnE,OAAIgsB,GACGjW,GACHjtB,EAAQ2rB,OAAOuX,GACVA,IAETljC,EAAQ2rB,OAAOlC,IACfzpB,EAAQlB,WAAW7qB,IAAIijC,GAChB8Y,GAAe9Y,EAAK,aAC7B,CAhJiCisB,CAAqBv/D,EAAMo8B,GAAW,IAAIkX,KACvE,MAAMksB,EAAqB,EAASP,IAAaA,EAASpW,SAAW/C,GACrE,IAAI2Z,EACAC,EACAC,EAEAC,EACAC,EACAC,EAHAhwC,EAAY,EAIZiwC,EAEFP,GAAsBP,IAAaha,IAAYga,IAAa/Z,KAAa4C,IAIhE,QAARxU,GAAyB,kBAARA,GAEpB,GAAIjwC,EAAMmC,OAAS,EAAG,CACpB,MAAMw6D,EAAmBC,GACvBjgE,EACAo8B,OACA,EACA0rB,EACA0X,GAEFC,EAAaO,EAAiB38D,MAC9BysB,EAAYkwC,EAAiBlwC,UAC7B+vC,EAAmBG,EAAiBH,iBACpC,MAAMj1C,EAAao1C,EAAiBp1C,WACpCk1C,EAAkBl1C,GAAcA,EAAWplB,OAAS2iD,GAClDv9B,EAAWzlB,KAAK6lB,GA6cxB,SAA4BA,EAAKoR,GAC/B,MAAM8jC,EAAU,GACVC,EAAUpB,GAAmBz6D,IAAI0mB,GACnCm1C,EACFD,EAAQxzD,KAAK0vB,EAAQm5B,aAAa4K,KAGhC/jC,EAAQ2rB,OAAOhC,IACf3pB,EAAQxR,WAAWva,IAAI2a,EAAIjsB,MAC3BmhE,EAAQxzD,KAAK0/C,GAAephC,EAAIjsB,KAAM,eAG1C,MAAM,IAAE6lD,GAAQ55B,EAShB,GARIA,EAAImgC,KACN+U,EAAQxzD,KAAKse,EAAImgC,KACfngC,EAAIziB,MACDyiB,EAAImgC,KACP+U,EAAQxzD,KAAK,UAEfwzD,EAAQxzD,KAAKse,EAAIziB,MAEfpE,OAAO6G,KAAKggB,EAAIC,WAAWzlB,OAAQ,CAChCwlB,EAAIziB,MACFyiB,EAAImgC,KACP+U,EAAQxzD,KAAK,UAEfwzD,EAAQxzD,KAAK,WAEf,MAAM0zD,EAAiB5X,GAAuB,QAAQ,EAAO5D,GAC7Dsb,EAAQxzD,KACN27C,GACEr9B,EAAIC,UAAU9lB,KACXk7D,GAAa9X,GAAqB8X,EAAUD,KAE/Cxb,GAGN,CACA,OAAOuD,GAAsB+X,EAASl1C,EAAI45B,IAC5C,CApfgC0b,CAAmBt1C,EAAKoR,WAC9C,EACA4jC,EAAiBD,iBACnBA,GAAiB,EAErB,CACA,GAAI//D,EAAKgmB,SAASxgB,OAAS,EAiBzB,GAhBIy5D,IAAa9Z,KACf4a,GAAiB,EACjBjwC,GAAa,MAWYg4B,GAC3BmX,IAAaha,IACbga,IAAa9Z,GACW,CACtB,MAAM,MAAEvkC,EAAK,gBAAE08C,GAAoBH,GAAWn9D,EAAMo8B,GACpDsjC,EAAgB9+C,EACZ08C,IACFxtC,GAAa,KAEjB,MAAO,GAA6B,IAAzB9vB,EAAKgmB,SAASxgB,QAAgBy5D,IAAaha,GAAU,CAC9D,MAAMp8B,EAAQ7oB,EAAKgmB,SAAS,GACtBlkB,EAAO+mB,EAAM/mB,KACby+D,EAA+B,IAATz+D,GAAuB,IAATA,EACtCy+D,GAA2D,IAApC/N,GAAgB3pC,EAAOuT,KAChDtM,GAAa,GAGb4vC,EADEa,GAAgC,IAATz+D,EACT+mB,EAEA7oB,EAAKgmB,QAEzB,MACE05C,EAAgB1/D,EAAKgmB,SAGP,IAAd8J,IASA6vC,EAAiB39D,OAAO8tB,GAEtB+vC,GAAoBA,EAAiBr6D,SACvCo6D,EA4bR,SAAmCv8D,GACjC,IAAIm9D,EAAmB,IACvB,IAAK,IAAIj7D,EAAI,EAAG2H,EAAI7J,EAAMmC,OAAQD,EAAI2H,EAAG3H,IACvCi7D,GAAoBl1D,KAAKC,UAAUlI,EAAMkC,IACrCA,EAAI2H,EAAI,IACVszD,GAAoB,MAExB,OAAOA,EAAmB,GAC5B,CApc4BC,CAA0BZ,KAGlD7/D,EAAKqwD,YAAczI,GACjBxrB,EACA6iC,EACAQ,EACAC,EACAC,EACAC,EACAE,IACEC,GACF,EACAjY,EACA9nD,EAAK4kD,IAET,EA0CF,SAASqb,GAAWjgE,EAAMo8B,EAAS/4B,EAAQrD,EAAKqD,MAAOykD,EAAa0X,EAAoBnW,GAAM,GAC5F,MAAM,IAAE/V,EAAKsR,IAAK8b,EAAU,SAAE16C,GAAahmB,EAC3C,IAAIsoD,EAAa,GACjB,MAAMqY,EAAY,GACZC,EAAoB,GACpBC,EAAc76C,EAASxgB,OAAS,EACtC,IAAIu6D,GAAiB,EACjBjwC,EAAY,EACZgxC,GAAS,EACTC,GAAkB,EAClBC,GAAkB,EAClBC,GAA2B,EAC3BC,GAAiB,EACjBC,GAAe,EACnB,MAAMtB,EAAmB,GACnBuB,EAAgB74D,IAChB+/C,EAAW9iD,SACbm7D,EAAUj0D,KACR27C,GAAuBgZ,GAAiB/Y,GAAaoY,IAEvDpY,EAAa,IAEX//C,GACFo4D,EAAUj0D,KAAKnE,EAAI,EAEjB+4D,EAAmB,EAAG/9D,MAAKyB,YAC/B,GAAIwkD,GAAYjmD,GAAM,CACpB,MAAMxE,EAAOwE,EAAI++B,QACXi/B,EAAiB17D,EAAK9G,GAW5B,IAVIwiE,GAAoBzZ,IAAe0X,GAEhB,YAAvBzgE,EAAK0G,eACI,wBAAT1G,GACCuI,EAAevI,KACdkiE,GAA2B,GAEzBM,GAAkBj6D,EAAevI,KACnCoiE,GAAe,GAEE,KAAfn8D,EAAMlD,OAA+B,IAAfkD,EAAMlD,MAA6B,IAAfkD,EAAMlD,OAAe0wD,GAAgBxtD,EAAOo3B,GAAW,EACnG,OAEW,QAATr9B,EACF+hE,GAAS,EACS,UAAT/hE,EACTgiE,GAAkB,EACA,UAAThiE,EACTiiE,GAAkB,EACA,QAATjiE,GAAmB8gE,EAAiBpkD,SAAS1c,IACtD8gE,EAAiBnzD,KAAK3N,IAEpB+oD,GAAyB,UAAT/oD,GAA6B,UAATA,GAAsB8gE,EAAiBpkD,SAAS1c,IACtF8gE,EAAiBnzD,KAAK3N,EAE1B,MACEmiE,GAAiB,CACnB,EAEF,IAAK,IAAI37D,EAAI,EAAGA,EAAIlC,EAAMmC,OAAQD,IAAK,CACrC,MAAMZ,EAAOtB,EAAMkC,GACnB,GAAkB,IAAdZ,EAAK7C,KAAY,CACnB,MAAM,IAAE8iD,EAAG,KAAE7lD,EAAI,MAAEiG,GAAUL,EAC7B,IAAI8jD,GAAW,EAYf,GAXa,QAAT1pD,IACF+hE,GAAS,EACL1kC,EAAQ3vB,OAAOsoD,KAAO,GACxBzM,EAAW57C,KACT67C,GACEC,GAAuB,WAAW,GAClCA,GAAuB,WAKlB,OAATzpD,IAAkBogE,GAAe7rB,IAAQtuC,GAASA,EAAMs9B,QAAQv8B,WAAW,SAAW0mD,GACxF,yBACArwB,IAEA,SAEFksB,EAAW57C,KACT67C,GACEC,GACEzpD,GACA,EACAyrD,GAAc5F,EAAK,EAAG7lD,EAAKyG,SAE7BgjD,GACExjD,EAAQA,EAAMs9B,QAAU,GACxBmmB,EACAzjD,EAAQA,EAAM4/C,IAAMA,IAI5B,KAAO,CACL,MAAM,KAAE7lD,EAAI,IAAEwJ,EAAG,IAAE4iD,EAAG,IAAEvG,GAAQjgD,EAC1B68D,EAAmB,SAATziE,EACV0iE,EAAiB,OAAT1iE,EACd,GAAa,SAATA,EAAiB,CACd+oD,GACH1rB,EAAQ5L,QACNk0B,GAAoB,GAAIE,IAG5B,QACF,CACA,GAAa,SAAT7lD,GAA4B,SAATA,EACrB,SAEF,GAAa,OAATA,GAAiByiE,GAAWlW,GAAc/iD,EAAK,QAAU42D,GAAe7rB,IAAQmZ,GAClF,yBACArwB,IAEA,SAEF,GAAIqlC,GAASpY,EACX,SAkBF,IAdEmY,GAAWlW,GAAc/iD,EAAK,QAE9Bk5D,GAASZ,GAAevV,GAAc/iD,EAAK,wBAE3Cw3D,GAAiB,GAEfyB,GAAWlW,GAAc/iD,EAAK,QAAU6zB,EAAQ3vB,OAAOsoD,KAAO,GAChEzM,EAAW57C,KACT67C,GACEC,GAAuB,WAAW,GAClCA,GAAuB,WAIxBjgD,IAAQi5D,GAAWC,GAAQ,CAE9B,GADAP,GAAiB,EACb/V,EACF,GAAIqW,EAAS,CAwBT,GAvBFJ,IAuBM3U,GACF,+BACArwB,GACC,CACDukC,EAAUtsC,QAAQ82B,GAClB,QACF,CAEFwV,EAAUj0D,KAAKy+C,EACjB,MACEiW,EAAa,CACXt/D,KAAM,GACN8iD,MACAiE,OAAQzsB,EAAQ2rB,OAAOpB,IACvB1tC,UAAW6uC,EAAc,CAACqD,GAAO,CAACA,EAAK,eAI3C/uB,EAAQ5L,QACNk0B,GACE8c,EAAU,GAAK,GACf5c,IAIN,QACF,CACA,MAAM8c,EAAqBtlC,EAAQ83B,oBAAoBn1D,GACvD,GAAI2iE,EAAoB,CACtB,MAAQr+D,MAAOs+D,EAAM,YAAEC,GAAgBF,EAAmB/8D,EAAM3E,EAAMo8B,IACrEitB,GAAOsY,EAAO73D,QAAQw3D,GACnBG,GAASl5D,IAAQihD,GAAYjhD,GAC/B64D,EAAa/Y,GAAuBsZ,EAAQjB,IAE5CpY,EAAW57C,QAAQi1D,GAEjBC,IACFhB,EAAkBl0D,KAAK/H,GACnBiC,EAASg7D,IACX7C,GAAmBhvD,IAAIpL,EAAMi9D,GAGnC,MAAY,EAAmB7iE,KAC7B6hE,EAAkBl0D,KAAK/H,GACnBk8D,IACFd,GAAiB,GAGvB,CACF,CACA,IAAI8B,EAqCJ,GApCIlB,EAAUn7D,QACZ47D,IAEES,EADElB,EAAUn7D,OAAS,EACHojD,GAChBxsB,EAAQ2rB,OAAOzB,IACfqa,EACAD,GAGgBC,EAAU,IAErBrY,EAAW9iD,SACpBq8D,EAAkBxZ,GAChBgZ,GAAiB/Y,GACjBoY,IAGAQ,EACFpxC,GAAa,IAETixC,IAAoBjZ,IACtBh4B,GAAa,GAEXkxC,IAAoBlZ,IACtBh4B,GAAa,GAEX+vC,EAAiBr6D,SACnBsqB,GAAa,GAEXmxC,IACFnxC,GAAa,KAGZiwC,GAAiC,IAAdjwC,GAAiC,KAAdA,KAAsBgxC,GAAUK,GAAgBP,EAAkBp7D,OAAS,KACpHsqB,GAAa,MAEVsM,EAAQ6rB,OAAS4Z,EACpB,OAAQA,EAAgB//D,MACtB,KAAK,GACH,IAAIggE,GAAiB,EACjBC,GAAiB,EACjBC,GAAgB,EACpB,IAAK,IAAIz8D,EAAI,EAAGA,EAAIs8D,EAAgBvZ,WAAW9iD,OAAQD,IAAK,CAC1D,MAAMhC,EAAMs+D,EAAgBvZ,WAAW/iD,GAAGhC,IACtCimD,GAAYjmD,GACM,UAAhBA,EAAI++B,QACNw/B,EAAgBv8D,EACS,UAAhBhC,EAAI++B,UACby/B,EAAgBx8D,GAERhC,EAAI0+D,eACdD,GAAgB,EAEpB,CACA,MAAME,EAAYL,EAAgBvZ,WAAWwZ,GACvCK,EAAYN,EAAgBvZ,WAAWyZ,GACxCC,EAkBHH,EAAkBjZ,GAChBxsB,EAAQ2rB,OAAOtB,IACf,CAACob,KAnBCK,IAAc1Y,GAAY0Y,EAAUl9D,SACtCk9D,EAAUl9D,MAAQ4jD,GAChBxsB,EAAQ2rB,OAAOxB,IACf,CAAC2b,EAAUl9D,SAGXm9D,IAEHnB,GAA4C,IAAzBmB,EAAUn9D,MAAMlD,MAAoD,MAAtCqgE,EAAUn9D,MAAMs9B,QAAQt4B,OAAO,IAExD,KAAzBm4D,EAAUn9D,MAAMlD,QACdqgE,EAAUn9D,MAAQ4jD,GAChBxsB,EAAQ2rB,OAAOvB,IACf,CAAC2b,EAAUn9D,UASjB,MACF,KAAK,GACH,MACF,QACE68D,EAAkBjZ,GAChBxsB,EAAQ2rB,OAAOtB,IACf,CACEmC,GAAqBxsB,EAAQ2rB,OAAOrB,IAAuB,CACzDmb,MAOZ,MAAO,CACLx+D,MAAOw+D,EACPj3C,WAAYg2C,EACZ9wC,YACA+vC,mBACAE,iBAEJ,CACA,SAASsB,GAAiB/Y,GACxB,MAAM8Z,EAA6B,IAAIpyD,IACjC0M,EAAU,GAChB,IAAK,IAAInX,EAAI,EAAGA,EAAI+iD,EAAW9iD,OAAQD,IAAK,CAC1C,MAAMZ,EAAO2jD,EAAW/iD,GACxB,GAAsB,IAAlBZ,EAAKpB,IAAIzB,OAAe6C,EAAKpB,IAAIklD,SAAU,CAC7C/rC,EAAQhQ,KAAK/H,GACb,QACF,CACA,MAAM5F,EAAO4F,EAAKpB,IAAI++B,QAChBvB,EAAWqhC,EAAW99D,IAAIvF,GAC5BgiC,GACW,UAAThiC,GAA6B,UAATA,GAAoB8G,EAAK9G,KAC/C,GAAagiC,EAAUp8B,IAGzBy9D,EAAWryD,IAAIhR,EAAM4F,GACrB+X,EAAQhQ,KAAK/H,GAEjB,CACA,OAAO+X,CACT,CACA,SAAS,GAAaqkB,EAAU6O,GACF,KAAxB7O,EAAS/7B,MAAMlD,KACjBi/B,EAAS/7B,MAAMojD,SAAS17C,KAAKkjC,EAAS5qC,OAEtC+7B,EAAS/7B,MAAQmjD,GACf,CAACpnB,EAAS/7B,MAAO4qC,EAAS5qC,OAC1B+7B,EAAS6jB,IAGf,CAkDA,SAASua,GAAe7rB,GACtB,MAAe,cAARA,GAA+B,cAARA,CAChC,CAEA,MAAM+uB,GAAsB,CAACriE,EAAMo8B,KACjC,GAAIsvB,GAAa1rD,GAAO,CACtB,MAAM,SAAEgmB,EAAQ,IAAE4+B,GAAQ5kD,GACpB,SAAEi+D,EAAQ,UAAEC,GA4BtB,SAA2Bl+D,EAAMo8B,GAC/B,IACI8hC,EADAD,EAAW,YAEf,MAAMqE,EAAe,GACrB,IAAK,IAAI/8D,EAAI,EAAGA,EAAIvF,EAAKqD,MAAMmC,OAAQD,IAAK,CAC1C,MAAM+V,EAAItb,EAAKqD,MAAMkC,GACN,IAAX+V,EAAExZ,KACAwZ,EAAEtW,QACW,SAAXsW,EAAEvc,KACJk/D,EAAW3yD,KAAKC,UAAU+P,EAAEtW,MAAMs9B,UAElChnB,EAAEvc,KAAO4I,EAAS2T,EAAEvc,MACpBujE,EAAa51D,KAAK4O,KAIP,SAAXA,EAAEvc,MAAmBusD,GAAchwC,EAAE/S,IAAK,QACxC+S,EAAE6vC,MACJ8S,EAAW3iD,EAAE6vC,MAEA,SAAX7vC,EAAEvc,MAAmBuc,EAAE/S,KAAOihD,GAAYluC,EAAE/S,OAC9C+S,EAAE/S,IAAI+5B,QAAU36B,EAAS2T,EAAE/S,IAAI+5B,UAEjCggC,EAAa51D,KAAK4O,GAGxB,CACA,GAAIgnD,EAAa98D,OAAS,EAAG,CAC3B,MAAM,MAAEnC,EAAK,WAAEunB,GAAeq1C,GAC5BjgE,EACAo8B,EACAkmC,GACA,GACA,GAEFpE,EAAY76D,EACRunB,EAAWplB,QACb42B,EAAQ5L,QACNk0B,GACE,GACA95B,EAAW,GAAGg6B,KAItB,CACA,MAAO,CACLqZ,WACAC,YAEJ,CA7EoCqE,CAAkBviE,EAAMo8B,GAClDomC,EAAW,CACfpmC,EAAQ03B,kBAAoB,cAAgB,SAC5CmK,EACA,KACA,YACA,QAEF,IAAIwE,EAAc,EACdvE,IACFsE,EAAS,GAAKtE,EACduE,EAAc,GAEZz8C,EAASxgB,SACXg9D,EAAS,GAAK1Z,GAAyB,GAAI9iC,GAAU,GAAO,EAAO4+B,GACnE6d,EAAc,GAEZrmC,EAAQxG,UAAYwG,EAAQg4B,UAC9BqO,EAAc,GAEhBD,EAASn8D,OAAOo8D,GAChBziE,EAAKqwD,YAAczH,GACjBxsB,EAAQ2rB,OAAO5B,IACfqc,EACA5d,EAEJ,GAqDI8d,GAAU,+FACVC,GAAc,CAAC33C,EAAKhrB,EAAMo8B,EAASwmC,KACvC,MAAM,IAAEhe,EAAG,UAAE35B,EAAS,IAAE1iB,GAAQyiB,EAIhC,IAAI63C,EACJ,GAJK73C,EAAImgC,KAAQlgC,EAAUzlB,QACzB42B,EAAQ5L,QAAQk0B,GAAoB,GAAIE,IAGzB,IAAbr8C,EAAIzG,KACN,GAAIyG,EAAIkgD,SAAU,CAChB,IAAIhQ,EAAUlwC,EAAI+5B,QAMdmW,EAAQ1yC,WAAW,UACrB0yC,EAAU,SAASA,EAAQvxC,MAAM,MAWnC27D,EAAYra,GATyB,IAAjBxoD,EAAKyrD,SAAiBhT,EAAQ1yC,WAAW,WAAa,QAAQtF,KAAKg4C,GAGrFxwC,EAAaN,EAAS8wC,IACpB,MAGIA,KAEwC,EAAMlwC,EAAIq8C,IAC5D,MACEie,EAAYla,GAAyB,CACnC,GAAGvsB,EAAQm5B,aAAazO,OACxBv+C,EACA,WAIJs6D,EAAYt6D,EACZs6D,EAAU78C,SAASqO,QAAQ,GAAG+H,EAAQm5B,aAAazO,QACnD+b,EAAU78C,SAAStZ,KAAK,KAE1B,IAAIy+C,EAAMngC,EAAImgC,IACVA,IAAQA,EAAI7oB,QAAQt4B,SACtBmhD,OAAM,GAER,IAAI2X,EAAc1mC,EAAQ43B,gBAAkB7I,IAAQ/uB,EAAQg5B,QAC5D,GAAIjK,EAAK,CACP,MAAM4X,EAAc9Y,GAAmBkB,EAAI7oB,SACrC0gC,IAAsBD,GAAeL,GAAQjiE,KAAK0qD,EAAI7oB,UACtD2gC,EAAwB9X,EAAI7oB,QAAQ7mB,SAAS,MAS/CunD,GAAqBF,GAAeC,KACtC5X,EAAMxC,GAAyB,CAC7B,GAAGqa,EAAoB,SAAW,kBAAuBC,EAAwB,IAAM,MACvF9X,EACA8X,EAAwB,IAAM,MAGpC,CACA,IAAIp5D,EAAM,CACRxG,MAAO,CACLklD,GACEsa,EACA1X,GAAO3C,GAAuB,YAAY,EAAO5D,MAWvD,OAPIge,IACF/4D,EAAM+4D,EAAU/4D,IAEdi5D,IACFj5D,EAAIxG,MAAM,GAAG2B,MAAQo3B,EAAQ30B,MAAMoC,EAAIxG,MAAM,GAAG2B,QAElD6E,EAAIxG,MAAMyG,SAASwR,GAAMA,EAAE/X,IAAI0+D,cAAe,IACvCp4D,CAAG,EAGNq5D,GAAgB,CAACl4C,EAAKm4C,EAAO/mC,KACjC,MAAM,IAAE+uB,EAAG,UAAElgC,EAAS,IAAE25B,GAAQ55B,EAC1BziB,EAAMyiB,EAAIziB,IA2BhB,OA1BiB,IAAbA,EAAIzG,MACNyG,EAAIyd,SAASqO,QAAQ,KACrB9rB,EAAIyd,SAAStZ,KAAK,YACRnE,EAAIkgD,WACdlgD,EAAI+5B,QAAU,GAAG/5B,EAAI+5B,iBAEnBrX,EAAUxP,SAAS,WACJ,IAAblT,EAAIzG,KACFyG,EAAIkgD,SACNlgD,EAAI+5B,QAAU36B,EAASY,EAAI+5B,SAE3B/5B,EAAI+5B,QAAU,GAAGlG,EAAQm5B,aAAa3O,OAAar+C,EAAI+5B,YAGzD/5B,EAAIyd,SAASqO,QAAQ,GAAG+H,EAAQm5B,aAAa3O,QAC7Cr+C,EAAIyd,SAAStZ,KAAK,OAGjB0vB,EAAQ6rB,QACPh9B,EAAUxP,SAAS,SACrB2nD,GAAa76D,EAAK,KAEhB0iB,EAAUxP,SAAS,SACrB2nD,GAAa76D,EAAK,OAGjB4iD,GAAoB,IAAbA,EAAIrpD,OAAeqpD,EAAI7oB,QAAQt4B,QACzCoyB,EAAQ5L,QAAQk0B,GAAoB,GAAIE,IACjC,CACLvhD,MAAO,CAACklD,GAAqBhgD,EAAKigD,GAAuB,IAAI,EAAM5D,OAGhE,CACLvhD,MAAO,CAACklD,GAAqBhgD,EAAK4iD,IACnC,EAEGiY,GAAe,CAAC76D,EAAK86D,KACR,IAAb96D,EAAIzG,KACFyG,EAAIkgD,SACNlgD,EAAI+5B,QAAU+gC,EAAS96D,EAAI+5B,QAE3B/5B,EAAI+5B,QAAU,KAAK+gC,OAAY96D,EAAI+5B,cAGrC/5B,EAAIyd,SAASqO,QAAQ,IAAIgvC,UACzB96D,EAAIyd,SAAStZ,KAAK,KACpB,EAGI42D,GAAgB,CAACtjE,EAAMo8B,KAC3B,GAAkB,IAAdp8B,EAAK8B,MAA4B,IAAd9B,EAAK8B,MAA4B,KAAd9B,EAAK8B,MAA6B,KAAd9B,EAAK8B,KACjE,MAAO,KACL,MAAMkkB,EAAWhmB,EAAKgmB,SACtB,IAAImnB,EACAo2B,GAAU,EACd,IAAK,IAAIh+D,EAAI,EAAGA,EAAIygB,EAASxgB,OAAQD,IAAK,CACxC,MAAMsjB,EAAQ7C,EAASzgB,GACvB,GAAIgmD,GAAS1iC,GAAQ,CACnB06C,GAAU,EACV,IAAK,IAAInuC,EAAI7vB,EAAI,EAAG6vB,EAAIpP,EAASxgB,OAAQ4vB,IAAK,CAC5C,MAAM1gB,EAAOsR,EAASoP,GACtB,IAAIm2B,GAAS72C,GAUN,CACLy4B,OAAmB,EACnB,KACF,CAZOA,IACHA,EAAmBnnB,EAASzgB,GAAKojD,GAC/B,CAAC9/B,GACDA,EAAM+7B,MAGVzX,EAAiBnnB,SAAStZ,KAAK,MAAOgI,GACtCsR,EAAS3f,OAAO+uB,EAAG,GACnBA,GAKJ,CACF,CACF,CACA,GAAKmuC,IAIe,IAApBv9C,EAASxgB,QAA+B,IAAdxF,EAAK8B,OAA4B,IAAd9B,EAAK8B,MAA+B,IAAjB9B,EAAKyrD,SAKpEzrD,EAAKqD,MAAMysD,MACTx0C,GAAiB,IAAXA,EAAExZ,OAAes6B,EAAQ83B,oBAAoB54C,EAAEvc,SAIzC,aAAbiB,EAAKszC,MAGP,IAAK,IAAI/tC,EAAI,EAAGA,EAAIygB,EAASxgB,OAAQD,IAAK,CACxC,MAAMsjB,EAAQ7C,EAASzgB,GACvB,GAAIgmD,GAAS1iC,IAAyB,IAAfA,EAAM/mB,KAAY,CACvC,MAAM0hE,EAAW,GACE,IAAf36C,EAAM/mB,MAAgC,MAAlB+mB,EAAMyZ,SAC5BkhC,EAAS92D,KAAKmc,GAEXuT,EAAQitB,KAA2C,IAApCmJ,GAAgB3pC,EAAOuT,IACzConC,EAAS92D,KACP,KAGJsZ,EAASzgB,GAAK,CACZzD,KAAM,GACNwgC,QAASzZ,EACT+7B,IAAK/7B,EAAM+7B,IACXyL,YAAazH,GACXxsB,EAAQ2rB,OAAOpC,IACf6d,GAGN,CACF,EAEJ,EAGIC,GAAyB,IAAInnC,QAC7BonC,GAAgB,CAAC1jE,EAAMo8B,KAC3B,GAAkB,IAAdp8B,EAAK8B,MAAcmpD,GAAQjrD,EAAM,QAAQ,GAAO,CAClD,GAAIyjE,GAAOrzD,IAAIpQ,IAASo8B,EAAQg5B,SAAWh5B,EAAQ6rB,MACjD,OAKF,OAHAwb,GAAOpzD,IAAIrQ,GACXo8B,EAAQg5B,SAAU,EAClBh5B,EAAQ2rB,OAAOhB,IACR,KACL3qB,EAAQg5B,SAAU,EAClB,MAAMn7C,EAAMmiB,EAAQ84B,YAChBj7C,EAAIo2C,cACNp2C,EAAIo2C,YAAcj0B,EAAQ30B,MACxBwS,EAAIo2C,aACJ,GAGJ,CAEJ,GAGIsT,GAAiB,CAAC34C,EAAKhrB,EAAMo8B,KACjC,MAAM,IAAE+uB,EAAG,IAAE5iD,GAAQyiB,EACrB,IAAKmgC,EAIH,OAHA/uB,EAAQ5L,QACNk0B,GAAoB,GAAI15B,EAAI45B,MAEvBgf,KAET,MAAMC,EAAS1Y,EAAIvG,IAAIhtC,OACjBksD,EAAyB,IAAb3Y,EAAIrpD,KAAaqpD,EAAI7oB,QAAUuhC,EAC3CE,EAAc3nC,EAAQk4B,gBAAgBuP,GAC5C,GAAoB,UAAhBE,GAA2C,kBAAhBA,EAE7B,OADA3nC,EAAQ5L,QAAQk0B,GAAoB,GAAIyG,EAAIvG,MACrCgf,KAGT,IAAKE,EAAU95D,SAAWigD,GAAmB6Z,GAI3C,OAHA1nC,EAAQ5L,QACNk0B,GAAoB,GAAIyG,EAAIvG,MAEvBgf,KAET,MAAMI,EAAWz7D,GAAYigD,GAAuB,cAAc,GAC5Dqa,EAAYt6D,EAAMihD,GAAYjhD,GAAO,YAAYZ,EAASY,EAAI+5B,WAAaqmB,GAAyB,CAAC,iBAAkBpgD,IAAQ,sBACrI,IAAI07D,EAGFA,EAAgBtb,GAAyB,EAF1BvsB,EAAQo4B,KAAO,gBAAkB,UAG9C,SACArJ,EACA,gBAGJ,MAAM9nD,EAAQ,CAEZklD,GAAqByb,EAAUh5C,EAAImgC,KAEnC5C,GAAqBsa,EAAWoB,IAElC,GAAIj5C,EAAIC,UAAUzlB,QAA2B,IAAjBxF,EAAKyrD,QAAe,CAC9C,MAAMxgC,EAAYD,EAAIC,UAAU9lB,KAAKkhB,IAAOwjC,GAAmBxjC,GAAKA,EAAI/a,KAAKC,UAAU8a,IAAM,WAAU47B,KAAK,MACtG1jC,EAAehW,EAAMihD,GAAYjhD,GAAO,GAAGA,EAAI+5B,mBAAqBqmB,GAAyB,CAACpgD,EAAK,mBAAqB,iBAC9HlF,EAAMqJ,KACJ67C,GACEhqC,EACAiqC,GACE,KAAKv9B,OACL,EACAD,EAAI45B,IACJ,IAIR,CACA,OAAOgf,GAAqBvgE,EAAM,EAEpC,SAASugE,GAAqBvgE,EAAQ,IACpC,MAAO,CAAEA,QACX,CAEA,MAAM6gE,GAAsB,gBACtBC,GAAkB,CAACnkE,EAAMo8B,KACxBqwB,GAAgB,kBAAmBrwB,KAGtB,IAAdp8B,EAAK8B,MACPsiE,GAAcpkE,EAAKsiC,QAASlG,GAEZ,IAAdp8B,EAAK8B,MACP9B,EAAKqD,MAAMyG,SAASnF,IACA,IAAdA,EAAK7C,MAA4B,QAAd6C,EAAK5F,MAAkB4F,EAAKwmD,KACjDiZ,GAAcz/D,EAAKwmD,IAAK/uB,EAC1B,IAEJ,EAEF,SAASgoC,GAAcpkE,EAAMo8B,GAC3B,GAAkB,IAAdp8B,EAAK8B,KACPuiE,GAAYrkE,EAAMo8B,QAElB,IAAK,IAAI72B,EAAI,EAAGA,EAAIvF,EAAKgmB,SAASxgB,OAAQD,IAAK,CAC7C,MAAMsjB,EAAQ7oB,EAAKgmB,SAASzgB,GACP,iBAAVsjB,IAEQ,IAAfA,EAAM/mB,KACRuiE,GAAYx7C,EAAOuT,GACK,IAAfvT,EAAM/mB,KACfsiE,GAAcpkE,EAAMo8B,GACI,IAAfvT,EAAM/mB,MACfsiE,GAAcv7C,EAAMyZ,QAASlG,GAEjC,CAEJ,CACA,SAASioC,GAAYrkE,EAAMo8B,GACzB,MAAM+uB,EAAMnrD,EAAKsiC,QACjB,IAQIz6B,EAAG4X,EAAMla,EAAG++D,EARZC,GAAW,EACXC,GAAW,EACXC,GAAmB,EACnBC,GAAU,EACVC,EAAQ,EACRC,EAAS,EACTC,EAAQ,EACRC,EAAkB,EACM/O,EAAU,GACtC,IAAKxwD,EAAI,EAAGA,EAAI4lD,EAAI3lD,OAAQD,IAG1B,GAFAka,EAAO5X,EACPA,EAAIsjD,EAAIH,WAAWzlD,GACfg/D,EACQ,KAAN18D,GAAqB,KAAT4X,IACd8kD,GAAW,QACR,GAAIC,EACC,KAAN38D,GAAqB,KAAT4X,IACd+kD,GAAW,QACR,GAAIC,EACC,KAAN58D,GAAqB,KAAT4X,IACdglD,GAAmB,QAChB,GAAIC,EACC,KAAN78D,GAAqB,KAAT4X,IACdilD,GAAU,QACP,GAAU,MAAN78D,GACe,MAA1BsjD,EAAIH,WAAWzlD,EAAI,IAAwC,MAA1B4lD,EAAIH,WAAWzlD,EAAI,IAAeo/D,GAAUC,GAAWC,EAOjF,CACL,OAAQh9D,GACN,KAAK,GACH28D,GAAW,EACX,MACF,KAAK,GACHD,GAAW,EACX,MACF,KAAK,GACHE,GAAmB,EACnB,MACF,KAAK,GACHI,IACA,MACF,KAAK,GACHA,IACA,MACF,KAAK,GACHD,IACA,MACF,KAAK,GACHA,IACA,MACF,KAAK,IACHD,IACA,MACF,KAAK,IACHA,IAGJ,GAAU,KAAN98D,EAAU,CACZ,IACIyT,EADA8Z,EAAI7vB,EAAI,EAEZ,KAAO6vB,GAAK,IACV9Z,EAAI6vC,EAAInjD,OAAOotB,GACL,MAAN9Z,GAFS8Z,KAKV9Z,GAAM4oD,GAAoBzjE,KAAK6a,KAClCopD,GAAU,EAEd,CACF,WAhDqB,IAAfJ,GACFQ,EAAkBv/D,EAAI,EACtB++D,EAAanZ,EAAIjkD,MAAM,EAAG3B,GAAGyE,QAE7B+6D,IAmDN,SAASA,IACPhP,EAAQrpD,KAAKy+C,EAAIjkD,MAAM49D,EAAiBv/D,GAAGyE,QAC3C86D,EAAkBv/D,EAAI,CACxB,CACA,QATmB,IAAf++D,EACFA,EAAanZ,EAAIjkD,MAAM,EAAG3B,GAAGyE,OACA,IAApB86D,GACTC,IAMEhP,EAAQvwD,OAAQ,CAMlB,IAAKD,EAAI,EAAGA,EAAIwwD,EAAQvwD,OAAQD,IAC9B++D,EAAaU,GAAWV,EAAYvO,EAAQxwD,GAAI62B,GAElDp8B,EAAKsiC,QAAUgiC,CACjB,CACF,CACA,SAASU,GAAW7Z,EAAKj6C,EAAQkrB,GAC/BA,EAAQ2rB,OAAO/B,IACf,MAAMzgD,EAAI2L,EAAO9K,QAAQ,KACzB,GAAIb,EAAI,EAEN,OADA62B,EAAQ25B,QAAQ1lD,IAAIa,GACb,GAAGk7C,GAAel7C,EAAQ,aAAai6C,KACzC,CACL,MAAMpsD,EAAOmS,EAAOhK,MAAM,EAAG3B,GACvB+L,EAAOJ,EAAOhK,MAAM3B,EAAI,GAE9B,OADA62B,EAAQ25B,QAAQ1lD,IAAItR,GACb,GAAGqtD,GAAertD,EAAM,aAAaosD,IAAe,MAAT75C,EAAe,IAAMA,EAAOA,GAChF,CACF,CAEA,MAAMkL,GAAuB,IAAI8f,QAC3B2oC,GAAgB,CAACjlE,EAAMo8B,KAC3B,GAAkB,IAAdp8B,EAAK8B,KAAY,CACnB,MAAMkpB,EAAMigC,GAAQjrD,EAAM,QAC1B,IAAKgrB,GAAOxO,GAAKpM,IAAIpQ,GACnB,OAGF,OADAwc,GAAKnM,IAAIrQ,GACF,KACL,MAAMqwD,EAAcrwD,EAAKqwD,aAAej0B,EAAQ84B,YAAY7E,YACxDA,GAAoC,KAArBA,EAAYvuD,OACR,IAAjB9B,EAAKyrD,SACPnC,GAAe+G,EAAaj0B,GAE9Bp8B,EAAKqwD,YAAczH,GAAqBxsB,EAAQ2rB,OAAOV,IAAY,CACjEr8B,EAAImgC,IACJrC,QAAyB,EAAQuH,GACjC,SACAruD,OAAOo6B,EAAQjd,YAEnB,CAEJ,GAwBF,SAAS+lD,GAAY3zB,EAAUjiC,EAAU,CAAC,GACxC,MAAMkhB,EAAUlhB,EAAQkhB,SAAWg0B,GAC7B2gB,EAAgC,WAAjB71D,EAAQ2X,MAEO,IAA9B3X,EAAQwkD,kBACVtjC,EAAQk0B,GAAoB,KACnBygB,GACT30C,EAAQk0B,GAAoB,KAGhC,MAAMoP,GAAoB,EACtBxkD,EAAQ0kD,eACVxjC,EAAQk0B,GAAoB,KAE1Bp1C,EAAQsmB,UAAYuvC,GACtB30C,EAAQk0B,GAAoB,KAE9B,MAAMiS,EAAM,EAASplB,GAp1HvB,SAAmBjP,EAAShzB,EAAU,CAAC,GACrC,MAAM8sB,EAOR,SAA6BkG,EAAS8iC,GACpC,MAAM91D,EAAU,EAAO,CAAC,EAAG49C,IAC3B,IAAI3pD,EACJ,IAAKA,KAAO6hE,EACV91D,EAAQ/L,QAA2B,IAApB6hE,EAAW7hE,GAAkB2pD,GAAqB3pD,GAAO6hE,EAAW7hE,GAErF,MAAO,CACL+L,UACAo4C,OAAQ,EACRD,KAAM,EACNE,OAAQ,EACRmK,eAAgBxvB,EAChB1qB,OAAQ0qB,EACRysB,OAAO,EACPf,QAAQ,EACRP,OAAQn+C,EAAQm+C,OAEpB,CAxBkB4X,CAAoB/iC,EAAShzB,GACvCqM,EAAQqzC,GAAU5yB,GACxB,OArkBF,SAAoBpW,EAAU4+B,EAAM4C,IAClC,MAAO,CACL1lD,KAAM,EACNkkB,WACA0uC,QAAyB,IAAI7mD,IAC7BqtB,WAAY,GACZtQ,WAAY,GACZ+pC,OAAQ,GACRC,QAAS,GACTz1C,OAAQ,EACR01C,MAAO,EACPxE,iBAAa,EACbzL,MAEJ,CAujBS0gB,CACL3X,GAAcvxB,EAAS,EAAG,IAC1BgzB,GAAahzB,EAASzgB,GAE1B,CA60HmC,CAAU41B,EAAUjiC,GAAWiiC,GACzD0iB,EAAgBC,GAtChB,CACL,CACEwP,GACAjK,GACAwL,GACAtK,GACIwJ,GAEJ9B,GACArD,GACAhC,GACAsG,IAEF,CACEx2D,GAAI61D,GACJjzD,KAAMwzD,GACNqC,MAAO5B,KAwCX,OAjBAtmB,GACEsZ,EACA,EAAO,CAAC,EAAGrnD,EAAS,CAClBwkD,oBACAG,eAAgB,IACXA,KACA3kD,EAAQ2kD,gBAAkB,IAG/BC,oBAAqB,EACnB,CAAC,EACDA,EACA5kD,EAAQ4kD,qBAAuB,CAAC,MAK/BwC,GACLC,EACA,EAAO,CAAC,EAAGrnD,EAAS,CAClBwkD,sBAGN,CAEA,MC1lJM0R,GAAgB1gE,OAAmE,IACnF2gE,GAAmB3gE,OAAsE,IACzF4gE,GAAe5gE,OAAkE,IACjF6gE,GAAiB7gE,OAAoE,IACrF8gE,GAAkB9gE,OAAqE,IACvF+gE,GAAsB/gE,OAAyE,IAC/FghE,GAAiBhhE,OAAoE,IACrFihE,GAASjhE,OAA6D,IACtE,GAAaA,OAAkE,IAC/EkhE,GAAmBlhE,OAAuE,IDqJhG,IAAgC4vD,GCvIhC,IAAIuR,GDuI4BvR,GCpJT,CACrB,CAAC8Q,IAAgB,cACjB,CAACC,IAAmB,iBACpB,CAACC,IAAe,aAChB,CAACC,IAAiB,eAClB,CAACC,IAAkB,gBACnB,CAACC,IAAsB,gBACvB,CAACC,IAAiB,WAClB,CAACC,IAAS,QACV,CAAC,IAAa,aACd,CAACC,IAAmB,mBD2IpB7hE,OAAO+hE,sBAAsBxR,IAAS5qD,SAASse,IAC7Cm/B,GAAcn/B,GAAKssC,GAAQtsC,EAAE,IC3HjC,MAAM+9C,GAAqC,EACzC,gCACA,GAEIC,GAAgB,CACpB97D,UAAS,GACTkxB,YAAc8X,GAAQ,EAAUA,IAAQ,EAASA,GACjD+Z,SAAW/Z,GAAgB,QAARA,EACnBga,eArBF,SAA2B52C,EAAK2vD,GAAS,GAIvC,OAHKJ,KACHA,GAAU7lE,SAASsB,cAAc,QAE/B2kE,GACFJ,GAAQxiC,UAAY,aAAa/sB,EAAI1T,QAAQ,KAAM,cAC5CijE,GAAQjgD,SAAS,GAAGw1B,aAAa,SAExCyqB,GAAQxiC,UAAY/sB,EACbuvD,GAAQviC,YAEnB,EAWE0sB,mBAAqB9c,GACfmW,GAAcnW,EAAK,cACd,GACEmW,GAAcnW,EAAK,mBACrB0yB,QADF,EAKT,YAAA7Y,CAAa7Z,EAAK/mC,GAChB,IAAIshD,EAAKthD,EAASA,EAAOshD,GAAK,EAC9B,GAAIthD,GAAiB,IAAPshD,EACZ,GAAmB,mBAAfthD,EAAO+mC,IAA0B,CACnC,GAAY,QAARA,EACF,OAAO,EAEL/mC,EAAOlJ,MAAMwe,MACd7gB,GAAiB,IAAXA,EAAEc,MAAyB,aAAXd,EAAEjC,MAAkC,MAAXiC,EAAEgE,QAAsC,cAApBhE,EAAEgE,MAAMs9B,SAA+C,0BAApBthC,EAAEgE,MAAMs9B,aAE/GurB,EAAK,EAET,KAAW,qBAAqBptD,KAAK8L,EAAO+mC,MAAgB,WAARA,GAA4B,eAARA,IACtEua,EAAK,QAEEthD,GAAiB,IAAPshD,IACA,kBAAfthD,EAAO+mC,KAA0C,SAAf/mC,EAAO+mC,KAAiC,UAAf/mC,EAAO+mC,MACpEua,EAAK,IAGT,GAAW,IAAPA,EAAU,CACZ,GAAY,QAARva,EACF,OAAO,EAET,GAAY,SAARA,EACF,OAAO,CAEX,CACA,OAAOua,CACT,EAEA,WAAAT,EAAY,IAAE9Z,EAAG,GAAEua,IACjB,GAAW,IAAPA,EAAU,CACZ,GAAY,aAARva,GAA8B,UAARA,EACxB,OAAO,EAET,GAAI6yB,GAAmB7yB,GACrB,OAAO,CAEX,CACA,OAAO,CACT,GAmBIgzB,GAAiB,CAAC18D,EAASg7C,KAC/B,MAAMr7C,EAAaC,EAAiBI,GACpC,OAAO4+C,GACLl9C,KAAKC,UAAUhC,IACf,EACAq7C,EACA,EACD,EAGH,SAAS2hB,GAAuB5hB,EAAMC,GACpC,OAAOF,GACLC,EACAC,EAGJ,CACA,MAmJM4hB,GAAwC,EAAQ,wBAChDC,GAAmC,EAEvC,sDAEIC,GAAmC,EAAQ,cAC3CC,GAAkC,EACtC,gCACA,GA2CIC,GAAiB,CAACrjE,EAAK4Z,IACLqsC,GAAYjmD,IAAsC,YAA9BA,EAAI++B,QAAQ78B,cAC/B+iD,GAAuBrrC,GAAO,GAAqB,IAAb5Z,EAAIzB,KAAa6mD,GAAyB,CACrG,IACAplD,EACA,sBAAsB4Z,SACtB5Z,EACA,MACGA,EAgGDsjE,GAAuB,CAAC7mE,EAAMo8B,KAChB,IAAdp8B,EAAK8B,MAA+B,IAAjB9B,EAAKyrD,SAA+B,WAAbzrD,EAAKszC,KAAiC,UAAbtzC,EAAKszC,KAO1ElX,EAAQo5B,YACV,EAGIsR,GAAoB,CA3VF9mE,IACJ,IAAdA,EAAK8B,MACP9B,EAAKqD,MAAMyG,SAAQ,CAACwR,EAAG/V,KACN,IAAX+V,EAAExZ,MAAyB,UAAXwZ,EAAEvc,MAAoBuc,EAAEtW,QAC1ChF,EAAKqD,MAAMkC,GAAK,CACdzD,KAAM,EACN/C,KAAM,OACNwJ,IAAKigD,GAAuB,SAAS,EAAMltC,EAAEspC,KAC7CuG,IAAKmb,GAAehrD,EAAEtW,MAAMs9B,QAAShnB,EAAEspC,KACvC35B,UAAW,GACX25B,IAAKtpC,EAAEspC,KAEX,GAEJ,GAiVImiB,GAAyB,CAC7BC,MDwpI6B,KAAM,CAAG3jE,MAAO,KCvpI7C4jE,KAlTqB,CAACj8C,EAAKhrB,EAAMo8B,KACjC,MAAM,IAAE+uB,EAAG,IAAEvG,GAAQ55B,EAYrB,OAXKmgC,GACH/uB,EAAQ5L,QACN+1C,GAAuB,GAAI3hB,IAG3B5kD,EAAKgmB,SAASxgB,SAChB42B,EAAQ5L,QACN+1C,GAAuB,GAAI3hB,IAE7B5kD,EAAKgmB,SAASxgB,OAAS,GAElB,CACLnC,MAAO,CACLklD,GACEC,GAAuB,aAAa,EAAM5D,GAC1CuG,GAAO3C,GAAuB,IAAI,KAGvC,EA+RDrZ,KA5RqB,CAACnkB,EAAKhrB,EAAMo8B,KACjC,MAAM,IAAE+uB,EAAG,IAAEvG,GAAQ55B,EAYrB,OAXKmgC,GACH/uB,EAAQ5L,QACN+1C,GAAuB,GAAI3hB,IAG3B5kD,EAAKgmB,SAASxgB,SAChB42B,EAAQ5L,QACN+1C,GAAuB,GAAI3hB,IAE7B5kD,EAAKgmB,SAASxgB,OAAS,GAElB,CACLnC,MAAO,CACLklD,GACEC,GAAuB,eAAe,GACtC2C,EAAMqH,GAAgBrH,EAAK/uB,GAAW,EAAI+uB,EAAMvC,GAC9CxsB,EAAQm5B,aAAalP,IACrB,CAAC8E,GACDvG,GACE4D,GAAuB,IAAI,KAGpC,EAqQD+c,MAlQqB,CAACv6C,EAAKhrB,EAAMo8B,KACjC,MAAM8qC,EAAavD,GAAiB34C,EAAKhrB,EAAMo8B,GAC/C,IAAK8qC,EAAW7jE,MAAMmC,QAA2B,IAAjBxF,EAAKyrD,QACnC,OAAOyb,EAELl8C,EAAIziB,KACN6zB,EAAQ5L,QACN+1C,GACE,GACAv7C,EAAIziB,IAAIq8C,MAed,MAAM,IAAEtR,GAAQtzC,EACV4xC,EAAkBxV,EAAQwV,gBAAgB0B,GAChD,GAAY,UAARA,GAA2B,aAARA,GAA8B,WAARA,GAAoB1B,EAAiB,CAChF,IAAIu1B,EAAiBzB,GACjB0B,GAAgB,EACpB,GAAY,UAAR9zB,GAAmB1B,EAAiB,CACtC,MAAM9vC,EAAOspD,GAASprD,EAAM,QAC5B,GAAI8B,GACF,GAAkB,IAAdA,EAAKA,KACPqlE,EAAiBvB,QACZ,GAAI9jE,EAAKkD,MACd,OAAQlD,EAAKkD,MAAMs9B,SACjB,IAAK,QACH6kC,EAAiB3B,GACjB,MACF,IAAK,WACH2B,EAAiB1B,GACjB,MACF,IAAK,OACH2B,GAAgB,EAChBhrC,EAAQ5L,QACN+1C,GACE,GACAv7C,EAAI45B,YDmQtB,SAA4B5kD,GAC1B,OAAOA,EAAKqD,MAAMwe,MACfvG,KAAiB,IAAXA,EAAExZ,MAAyB,SAAXwZ,EAAEvc,MAAqBuc,EAAE/S,KACjC,IAAf+S,EAAE/S,IAAIzG,MACLwZ,EAAE/S,IAAIkgD,WAGX,ECjQiB4e,CAAmBrnE,KAC5BmnE,EAAiBvB,GAIrB,KAAmB,WAARtyB,IACT6zB,EAAiBxB,IAIdyB,IACHF,EAAWtF,YAAcxlC,EAAQ2rB,OAAOof,GAE5C,MACE/qC,EAAQ5L,QACN+1C,GACE,GACAv7C,EAAI45B,MAOV,OAHAsiB,EAAW7jE,MAAQ6jE,EAAW7jE,MAAM6N,QACjCoK,KAAuB,IAAfA,EAAE/X,IAAIzB,MAAgC,eAAlBwZ,EAAE/X,IAAI++B,WAE9B4kC,CAAU,EAoLjBp6D,GApHkB,CAACke,EAAKhrB,EAAMo8B,IACvBumC,GAAc33C,EAAKhrB,EAAMo8B,GAAU8qC,IACxC,MAAM,UAAEj8C,GAAcD,EACtB,IAAKC,EAAUzlB,OACb,OAAO0hE,EACT,IAAI,IAAE3jE,EAAKyB,MAAOsiE,GAAeJ,EAAW7jE,MAAM,GAClD,MAAM,aAAEkkE,EAAY,gBAAEC,EAAe,qBAAEC,GAzDlB,EAAClkE,EAAK0nB,EAAWmR,KACxC,MAAMmrC,EAAe,GACfC,EAAkB,GAClBC,EAAuB,GAC7B,IAAK,IAAIliE,EAAI,EAAGA,EAAI0lB,EAAUzlB,OAAQD,IAAK,CACzC,MAAM86D,EAAWp1C,EAAU1lB,GACV,WAAb86D,GAAyB3T,GAC3B,uBACAtwB,IAISoqC,GAAsBnG,GAD/BoH,EAAqB/6D,KAAK2zD,GAItBqG,GAAiBrG,GACf7W,GAAYjmD,GACVojE,GAAgBpjE,EAAI++B,SACtBilC,EAAa76D,KAAK2zD,GAElBmH,EAAgB96D,KAAK2zD,IAGvBkH,EAAa76D,KAAK2zD,GAClBmH,EAAgB96D,KAAK2zD,IAGnBoG,GAAiBpG,GACnBmH,EAAgB96D,KAAK2zD,GAErBkH,EAAa76D,KAAK2zD,EAI1B,CACA,MAAO,CACLkH,eACAC,kBACAC,uBACD,EAkBiEC,CAAiBnkE,EAAK0nB,EAAWmR,EAASpR,EAAI45B,KAoB9G,GAnBI4iB,EAAgB/rD,SAAS,WAC3BlY,EAAMqjE,GAAerjE,EAAK,kBAExBikE,EAAgB/rD,SAAS,YAC3BlY,EAAMqjE,GAAerjE,EAAK,cAExBikE,EAAgBhiE,SAClB8hE,EAAa1e,GAAqBxsB,EAAQ2rB,OAAO8d,IAAsB,CACrEyB,EACAh8D,KAAKC,UAAUi8D,OAGfD,EAAa/hE,QACfgkD,GAAYjmD,KAAQojE,GAAgBpjE,EAAI++B,WACxCglC,EAAa1e,GAAqBxsB,EAAQ2rB,OAAO+d,IAAiB,CAChEwB,EACAh8D,KAAKC,UAAUg8D,MAGfE,EAAqBjiE,OAAQ,CAC/B,MAAMmiE,EAAkBF,EAAqBtiE,IAAI,GAAY88C,KAAK,IAClE1+C,EAAMimD,GAAYjmD,GAAOilD,GAAuB,GAAGjlD,EAAI++B,UAAUqlC,KAAmB,GAAQhf,GAAyB,CAAC,IAAKplD,EAAK,QAAQokE,MAC1I,CACA,MAAO,CACLtkE,MAAO,CAACklD,GAAqBhlD,EAAK+jE,IACnC,IAsFHM,KAlFoB,CAAC58C,EAAKhrB,EAAMo8B,KAChC,MAAM,IAAE+uB,EAAG,IAAEvG,GAAQ55B,EAMrB,OALKmgC,GACH/uB,EAAQ5L,QACN+1C,GAAuB,GAAI3hB,IAGxB,CACLvhD,MAAO,GACPu+D,YAAaxlC,EAAQ2rB,OAAOge,IAC7B,GCtXG8B,GAA+B1jE,OAAOiB,OAAO,MAgDnD+rC,IA/CA,SAA2BI,EAAUjiC,GACnC,IAAK,EAASiiC,GAAW,CACvB,IAAIA,EAASjQ,SAIX,OAAO,EAHPiQ,EAAWA,EAAS9N,SAKxB,CACA,MAAMlgC,EAAMguC,EACNpyB,EAAS0oD,GAAatkE,GAC5B,GAAI4b,EACF,OAAOA,EAET,GAAoB,MAAhBoyB,EAAS,GAAY,CACvB,MAAMprC,EAAK/F,SAAS4sC,cAAcuE,GAIlCA,EAAWprC,EAAKA,EAAGs9B,UAAY,EACjC,CACA,MAAMzkC,EAAO,EACX,CACEizD,aAAa,EACbzhC,aAA+D,EAC/Di9B,OAA8E,GAEhFn+C,GAEGtQ,EAAK4yC,iBAA6C,oBAAnBk2B,iBAClC9oE,EAAK4yC,gBAAmB0B,KAAUw0B,eAAexjE,IAAIgvC,IAEvD,MAAM,KAAEqR,GD+ZV,SAAiBpT,EAAUjiC,EAAU,CAAC,GACpC,OAAO41D,GACL3zB,EACA,EAAO,CAAC,EAAG60B,GAAe92D,EAAS,CACjC2kD,eAAgB,CAId4S,MACGC,MACAx3D,EAAQ2kD,gBAAkB,IAE/BC,oBAAqB,EACnB,CAAC,EACD6S,GACAz3D,EAAQ4kD,qBAAuB,CAAC,GAElClB,eAAgB,OAGtB,CCnbmB,CAAQzhB,EAAUvyC,GAW7B8hB,EAAS,IAAIrc,SAAS,MAAOkgD,EAApB,CAA0B,GAEzC,OADA7jC,EAAOuwB,KAAM,EACNw2B,GAAatkE,GAAOud,CAC7B,cCxDa3W,MAAM,4BACNA,MAAM,oCACHA,MAAM,2CAaTA,MAAM,qCACEA,MAAM,gCACNA,MAAM,qDAGUA,MAAM,kCACNA,MAAM,gFAQNA,MAAM,wCACFA,MAAM,8CACFA,MAAM,oDACDA,MAAM,yDACNA,MAAM,0DAEVA,MAAM,yDAGXA,MAAM,iDACHA,MAAM,8DAUzBA,MAAM,mICnCdA,MAAM,8CAA8C,YAAU,cAY/D49D,GAAiD,QAA3C59D,MAAM,+BAA6B,oBAGvCA,MAAM,4EAcKA,MAAM,gCACFA,MAAM,6DACFA,MAAM,4GAYP49D,GAGM,OAHD59D,MAAM,kDAAgD,CACvD49D,GAAyE,OAApE59D,MAAM,0DACX49D,GAAyE,OAApE59D,MAAM,4DAAuD,cC/D1G,UACIpL,KAAM,sBACNsE,MAAO,CACH2kE,YAAa,CACTlmE,KAAMwE,MACN2hE,UAAU,GAEd7lE,MAAO,CACHN,KAAME,OACNimE,UAAU,GAEdC,iBAAkB,CACdpmE,KAAME,OACNimE,UAAU,GAEdE,iBAAkB,CACdrmE,KAAM2C,SACNwjE,UAAU,GAEdG,UAAW,CACPtmE,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,IAGjBiH,MAAK,SAAC/pB,GACF,IAAMiM,EAAU0H,GAAI3T,EAAM2kE,aACpBK,EAAYrxD,IAAI,GAChBsxD,EAAUtxD,GAAI3T,EAAMjB,MAAQiB,EAAMjB,MAAMY,QAAQ,KAAM,KAAO,+BAC7DulE,EAAoBvxD,GAAI,MACxBwxD,EAAkBxxD,GAAI,MAkBtByxD,EAAiB73D,IAAS,WAC5B,IAAIvH,EAAM,GAUV,OATAiG,EAAQtK,MAAM8E,SAAQ,SAAC+1C,GACfA,EAAOJ,WAEHp2C,GADQ,KAARA,EACOw2C,EAAO9gD,KAEP,KAAO8gD,EAAO9gD,KAGjC,IACOsK,CACX,IAEMq/D,EAAoB93D,IAAS,WAI/B,OAH6BtB,EAAQtK,MAAMkM,QAAO,SAAC2uC,GAC/C,OAAOA,EAAOJ,QAClB,IAAGj6C,OAC2B,CAClC,IA6BMmjE,EAAoB,WAAM,IAAAC,EAC5B,OAA4B,QAA5BA,EAAOJ,EAAgBxjE,aAAK,IAAA4jE,OAAA,EAArBA,EAAuBvsB,iBAAiB,QACnD,EAUMwsB,EAAsB,SAACC,GACzB,IAAIC,EAAmB,EAMvB,OALAD,EAAOh/D,SAAQ,SAACmyD,EAAOzvD,GACfpM,SAASs+C,gBAAkBud,IAC3B8M,EAAmBv8D,EAE3B,IACOu8D,CACX,EAEMC,EAAqB,WACvB,IAAMF,EAASH,IACf,GAAKG,EAAL,CAEA,IAAMC,EAAmBF,EAAoBC,GAEpB,IAArBC,EACAD,EAAOA,EAAOtjE,OAAS,GAAGyjE,QAE1BH,EAAOC,EAAmB,GAAGE,OAPd,CASvB,EAEMC,EAAsB,WACxB,IAAMJ,EAASH,IACf,GAAKG,EAAL,CAEA,IAAMC,EAAmBF,EAAoBC,GAEzCC,IAAqBD,EAAOtjE,OAAS,EACrCsjE,EAAO,GAAGG,QAEVH,EAAOC,EAAmB,GAAGE,OAPd,CASvB,EAoCA,MAAO,CACHE,aAnCiB,SAACtpE,GAAM,IAAAupE,EACxB,OAAQvpE,EAAE0D,KACN,IAAK,MACG1D,EAAE+gD,UACF/gD,EAAE0gD,iBACFyoB,MAEAnpE,EAAE0gD,iBACF2oB,KAEJ,MACJ,IAAK,YACL,IAAK,aACDrpE,EAAE0gD,iBACF2oB,IACA,MACJ,IAAK,UACL,IAAK,YACDrpE,EAAE0gD,iBACFyoB,IACA,MACJ,IAAK,SACDnpE,EAAE0gD,iBACF8nB,EAAUrjE,OAAQ,EACK,QAAvBokE,EAAAb,EAAkBvjE,aAAK,IAAAokE,GAAvBA,EAAyBH,QACzB,MACJ,IAAK,QACDppE,EAAEyB,OAAOvB,QAKrB,EAIIwoE,kBAAAA,EACAC,gBAAAA,EACAF,QAAAA,EACAe,iBAvJqB,SAACxpE,GACtB,IAAMuoD,EAAWvoD,EAAE2gD,cAAc4H,SACjC94C,EAAQtK,MAAQ,GAChBsB,MAAM0uB,KAAKozB,GAAUt+C,SAAQ,SAAC2lD,GAC1BngD,EAAQtK,MAAM0H,KAAK,CACf1H,MAAOyqD,EAAQzqD,MACfjG,KAAM0wD,EAAQ6Z,QAAQvqE,KACtB0gD,SAAUgQ,EAAQzQ,SAE1B,IAEI37C,EAAM8kE,kBACN9kE,EAAM8kE,iBAAiB74D,EAAQtK,MAEvC,EA0IIukE,eAnHmB,WACnBlB,EAAUrjE,OAASqjE,EAAUrjE,MAEzBqjE,EAAUrjE,OACVxD,YAAW,WA2Bc,IACvBsnE,KAASH,MAEDG,EAAOtjE,OAAS,GAC1BsjE,EAAO,GAAGG,OA7BV,GAAG,IAGP7oE,SAAS82C,iBAAiB,SAAS,SAASsyB,EAAc3pE,GACrBA,EAAEyB,OAAOmoE,QAAQ,oCAE9CpB,EAAUrjE,OAAQ,EAClB5E,SAAS42C,oBAAoB,QAASwyB,GAE9C,GACJ,EAoGIf,eAAAA,EACAn5D,QAAAA,EACA+4D,UAAAA,EACAqB,qBArGyB,WACzBp6D,EAAQtK,MAAM8E,SAAQ,SAAC+1C,GACnBA,EAAOJ,UAAW,CACtB,IACIp8C,EAAM8kE,kBACN9kE,EAAM8kE,iBAAiB74D,EAAQtK,MAEvC,EA+FI0jE,kBAAAA,EAER,GD/LJ,oBEGA,MAEA,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFCvDiB,GAqEU,WApENx/D,MAAKy/D,EAAA,CAAC,0DAAyD,yCACZ/pC,EAAAwoC,eACnDN,GA2BS,UA1BL/wD,IAAI,oBACCosB,QAAKymC,EAAA,KAAAA,EAAA,qBAAEhqC,EAAA0pC,gBAAA1pC,EAAA0pC,eAAAh4D,MAAAsuB,EAAA5mB,UAAc,GAC1B6wD,KAAK,WACL3/D,MAAM,oCACLuR,GAAE,GAAAuG,OAAK4d,EAAAyoC,QAAO,UACd,gBAAa,GAAArmD,OAAK4d,EAAAyoC,QAAO,YAC1B,gBAAc,UACb,gBAAezoC,EAAAwoC,UACf,kBAAiBxoC,EAAAyoC,UAClBP,GAAwK,OAAnK59D,MAAKy/D,EAAA,CAAC,2CAA0C,oDAA+D/pC,EAAA6oC,qBAAsBhtD,GAAImkB,EAAAyoC,YAAYzoC,EAAAz9B,OAAK,GAAA2nE,IAC/JhC,GAEM,MAFNiC,GAEMC,GADCpqC,EAAA4oC,gBAAc,GAIV5oC,EAAAuoC,gBAUXuB,GAAqE,OAArEO,MAVoB,KADpBP,GASM,aAPFG,KAAK,SACL3/D,MAAKy/D,EAAA,CAAC,2CAA0C,kDACiC/pC,EAAA6oC,qBAG5EtlC,QAAKymC,EAAA,KAAAA,EAAA,GAAAM,IAAA,kBAAOtqC,EAAA6pC,sBAAA7pC,EAAA6pC,qBAAAn4D,MAAAsuB,EAAA5mB,UAAoB,uBAI4B,MAGzE8uD,GAoCM,OAnCF59D,MAAM,mCACN6M,IAAI,kBACJ8yD,KAAK,UACJpuD,GAAE,GAAAuG,OAAK4d,EAAAyoC,QAAO,YACd,kBAAiBzoC,EAAAyoC,QAClB,uBAAqB,OACrB8B,SAAS,OACTrC,GA2BO,QA3BD59D,MAAM,yCAA8CkgE,SAAMR,EAAA,KAAAA,EAAA,qBAAEhqC,EAAAwpC,kBAAAxpC,EAAAwpC,iBAAA93D,MAAAsuB,EAAA5mB,UAAgB,aAC9E0wD,GAyBWW,GAAA,KAAAC,GAzByB1qC,EAAAvwB,SAAO,SAAzBuwC,EAAQrzC,eACtBm9D,GAuBM,WAxByCn9D,EAC1CrC,MAAM,uFACP49D,GAqBM,MArBNyC,GAqBM,CApBFzC,GAmBM,MAnBN0C,GAmBM,CAlBF1C,GAgBM,MAhBN2C,GAgBM,CAfF3C,GAUuC,SATnC59D,MAAM,gDACLuR,GAAImkC,EAAO76C,MACX,YAAW66C,EAAO9gD,KACnB+C,KAAK,WACJkD,MAAO66C,EAAO76C,MACdg6C,QAASa,EAAOJ,SAChB1gD,KAAM8gC,EAAAz9B,MACFuoE,UAAOd,EAAA,KAAAA,EAAA,qBAAEhqC,EAAAspC,cAAAtpC,EAAAspC,aAAA53D,MAAAsuB,EAAA5mB,UAAY,GAC1B6wD,KAAK,SACJ,gBAAejqB,EAAOJ,sBAC3BmrB,KAKJ7C,GAAkG,SAA3F59D,MAAM,wCAAyC6Y,IAAK68B,EAAO76C,UAAU66C,EAAO9gD,MAAI,EAAA8rE,uCDlEnH,GICJ,CACI9rE,KAAM,kBACNm8B,WAAY,CACR4vC,oBAAmB,IAEvBznE,MAAO,CACH0nE,OAAQ,CACJjpE,KAAME,OACNimE,UAAU,GAEd7lE,MAAO,CACHN,KAAME,OACNimE,UAAU,GAEd+C,kBAAmB,CACflpE,KAAME,OACNimE,UAAU,GAEdgD,UAAW,CACPnpE,KAAMiH,OACNk/D,UAAU,GAEdiD,SAAU,CACNppE,KAAMwE,MACN2hE,UAAU,GAEdkD,MAAO,CACHrpE,KAAMwE,MACN2hE,UAAU,GAEdmD,aAAc,CACVtpE,KAAMwE,MACN2hE,UAAU,IAGlB,KAAA76C,CAAM/pB,GACF,MAAMgoE,EAAcr0D,GAAI,IAClBs0D,EAAiBt0D,GAAI,IACrBu0D,EAAUv0D,GAAI,IACdw0D,EAAcx0D,GAAI,GAClBy0D,EAAOz0D,GAAI3T,EAAM4nE,WACjBS,EAAoB10D,GAAI,GACxB20D,EAAgB30D,GAAI,IACpB40D,EAAmB50D,GAAI,IACvB60D,EAAW70D,IAAI,GAErBwd,IAAc,KACNnxB,EAAM8nE,OACNW,IAEAzoE,EAAM6nE,UACNa,IAEA1oE,EAAM0nE,QACNiB,GACJ,IAGJ,MAAMC,EAAW,IAAS,IACfP,EAAkB1mE,MAAQumE,EAAQvmE,MAAMQ,SAG7CsmE,EAAc,KAChBzoE,EAAM8nE,MAAMrhE,SAAShI,IACjBupE,EAAYrmE,MAAM0H,KAAK,CACnB3N,KAAM+C,EAAK/C,KACXiG,MAAOlD,EAAK6iD,KACZlF,UAAU,GACb,IAELksB,EAAc3mE,MAAQqmE,EAAYrmE,OAGhC+mE,EAAiB,KACnB1oE,EAAM6nE,SAASphE,SAASoiE,IACpBZ,EAAetmE,MAAM0H,KAAK,CACtB3N,KAAMmtE,EAAQntE,KACdiG,MAAOknE,EAAQvnB,KACflF,UAAU,GACb,GACJ,EA8CCusB,EAAgB,KAClB,IAAIltE,EAAMuE,EAAM0nE,OAChBjsE,GAAO,SAAS2sE,EAAKzmE,MAAQwmE,EAAYxmE,MAAQymE,EAAKzmE,cAAcymE,EAAKzmE,QAEzE,IAAImnE,EAAY,aAChBR,EAAc3mE,MAAM8E,SAAQ,CAAChI,EAAM0K,IAAW2/D,GAAa,GAAG3/D,EAAQ,EAAI,IAAM,KAAK1K,EAAKkD,UAC1FlG,GAAOqtE,EAEP,IAAIC,EAAe,gBACnBR,EAAiB5mE,MAAM8E,SAAQ,CAACoiE,EAAS1/D,IAAW4/D,GAAgB,GAAG5/D,EAAQ,EAAI,IAAM,KAAK0/D,EAAQlnE,UACtGlG,GAAOstE,EAEH/oE,EAAM+nE,cAAc5lE,OAAS,IAE7B1G,GADoB,qBAAuBuE,EAAM+nE,aAAanpB,QAIlE4pB,EAAS7mE,OAAQ,EAEjBqnE,MAAMvtE,GACDgI,MAAMvH,GAAaA,EAAS+sE,SAC5BxlE,MAAMka,IAhEO,CAACA,IACnB0qD,EAAkB1mE,MAAQgc,EAAK0qD,kBAEL,IAAtBF,EAAYxmE,QACZumE,EAAQvmE,MAAQ,IAGpBgc,EAAKurD,iBAAiBziE,SAAS0iE,IAC3BjB,EAAQvmE,MAAM0H,KAAK,CACftK,MAAOoqE,EAAQpqE,MACfkxC,IAAKk5B,EAAQC,OACbC,SAAUF,EAAQG,oBAClBC,cAAeJ,EAAQI,cACvB9tE,IAAK0tE,EAAQ1tE,IACb+tE,aAAcL,EAAQK,aACtBC,mBAAoBN,EAAQM,mBAC5BC,mBAAoBP,EAAQO,oBAC/B,GACJ,EA+COC,CAAchsD,GACd6qD,EAAS7mE,OAAQ,KAEpB+B,OAAOrH,IACJD,QAAQC,MAAM,SAAUA,EAAK,GAChC,EAGT,MAAO,CACH2rE,cACAC,iBACAC,UACAU,WACAJ,WACAoB,eAzCmB,KACnBzB,EAAYxmE,OAAS,EACrBgnE,GAAc,EAwCdkB,uBA3D4B7jE,IAC5B,MAAMo2C,EAAWp2C,EAAI6H,QAAQg7D,IAAiC,IAArBA,EAAQzsB,WACjDmsB,EAAiB5mE,MAAQy6C,EACzB+rB,EAAYxmE,MAAQ,EACpBgnE,GAAc,EAwDdmB,oBArDyB9jE,IACzB,IAAIo2C,EAAWp2C,EAAI6H,QAAQpP,IAA2B,IAAlBA,EAAK29C,WACjB,IAApBA,EAASj6C,SACTi6C,EAAW4rB,EAAYrmE,OAE3B2mE,EAAc3mE,MAAQy6C,EACtB+rB,EAAYxmE,MAAQ,EACpBgnE,GAAc,EAgDtB,GClKJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,6ELCvD,GAyDU,UAzDV,GAyDU,CAxDN,GAYM,MAZN,GAYM,CAXF,GAAgE,KAAhE,GAAgE,GAAb,EAAA5pE,OAAK,GACxD,GAIyC,GAJpBA,MAAM,QACN8lE,iBAAiB,kBAChBF,YAAa,EAAAsD,eACbnD,iBAAkB,EAAA+E,uBAClB9E,WAAW,8CACjC,GAIyC,GAJpBhmE,MAAM,QACN8lE,iBAAiB,kBAChBF,YAAa,EAAAqD,YACblD,iBAAkB,EAAAgF,oBAClB/E,WAAW,gDAGrC,GAyCM,MAzCN,GAyCM,CAxCF,GAuCU,UAvCV,GAuCU,CAtCN,GA8BM,MA9BN,GA8BM,SA7BF,GA4BW,WA5ByB,EAAAmD,SAAO,CAAzBxoE,EAAQyJ,UACtB,GA0BI,SA3B2CA,EAC3CrL,KAAM4B,EAAOjE,IAAKqL,MAAM,sBACxB,GAwBU,UAxBV,GAwBU,CAvBN,GAMM,MANN,GAMM,CALF,GAIU,gBAHN,GAAyE,UAAhEijE,OAAQrqE,EAAO+pE,mBAAoBO,MAAM,iCAClD,GAAyE,UAAhED,OAAQrqE,EAAOgqE,mBAAoBM,MAAM,iCAClD,GAA4G,OAAvGljE,MAAM,yCAA0CmjE,IAAKvqE,EAAO8pE,aAAchsB,IAAI,GAAGipB,KAAK,+BAInG,GAcM,MAdN,GAcM,CAbF,GAMM,MANN,GAMM,CALF,GAGM,MAHN,GAGM,CAFF,GAAuF,OAAvF,GAAuF,GAApB/mE,EAAOuwC,KAAG,GAC7E,GAA6F,OAA7F,GAA6F,GAAzBvwC,EAAO2pE,UAAQ,KAEvF,GAAiG,OAAjG,GAAiG,GAA9B3pE,EAAO6pE,eAAa,KAG3F,GAIM,MAJN,GAIM,CAHF,GAEK,KAFL,GAEK,GADE7pE,EAAOX,OAAK,2BAQ3B,EAAQ,eACpB,GAIM,MAJN,GAIM,CAHF,GAES,UAFAiqC,SAAU,EAAAw/B,SAAe,QAAK,oBAAE,EAAAoB,gBAAA,EAAAA,kBAAA,IAAgB9iE,MAAM,6CACxD,EAAA6gE,mBAAiB,iCMvDhD,IACIjsE,KAAM,gBACNsE,MAAO,CACHkqE,SAAU,CACNzrE,KAAME,OACNimE,UAAU,IAGlB,KAAA76C,CAAM/pB,GACF,MAAMmqE,EAAex2D,IAAI,GACnBy2D,EAAe,SAiBfC,EAAc,KAfF,IAACC,EAgBfH,EAAaxoE,OAhBE2oE,EAgBgBtqE,EAAMkqE,SAf9BntE,SAASwtE,OACftoE,MAAM,MACNwqD,MAAM+d,GAAQA,EAAI9nE,WAAW,GAAG4nE,SAC/BroE,MAAM,KAAK,KAYsCmoE,IAYvD,OATAzhD,IAAU,KACN0hD,GAAY,IAQT,CACHI,aANiB,KAhBH,EAAC/uE,EAAMiG,KACrB,MAAM+oE,EAAO,IAAI70B,KACjB60B,EAAKC,QAAQD,EAAKljE,UAAY,QAC9B,IAAIojE,EAAU,WAAYF,EAAKG,cAE/B9tE,SAASwtE,OAAS7uE,EAAO,IAAMiG,EAAQ,IAAMipE,EAAU,SAAS,EAYhEE,CAAU9qE,EAAMkqE,SAAUE,GAC1BC,GAAY,EAKZF,eAER,OCxCOx2D,IAAI,oBAAoB7M,MAAM,8CAKzBA,MAAM,uDAMiBA,MAAM,wGCVhCA,MAAM,oDAE8BA,MAAM,2CAC/BA,MAAM,0GAcM,GAmBO,QAnBDA,MAAM,6CAA2C,CACnD,GAQM,OAPF2/D,KAAK,eACLsE,MAAM,IACNC,OAAO,IACPC,QAAQ,UACR9jD,KAAK,OACL+jD,MAAM,+BACN,GAA6C,UAArCC,GAAG,IAAIC,GAAG,IAAI5pE,EAAE,IAAI2lB,KAAK,cAErC,GAQM,OAPFs/C,KAAK,eACLsE,MAAM,IACNC,OAAO,IACPC,QAAQ,UACR9jD,KAAK,OACL+jD,MAAM,+BACN,GAA6E,QAAvEvqE,EAAE,SAAS0qE,OAAO,UAAU,eAAa,IAAI,iBAAe,uBAQvFvkE,MAAM,oCAAoC,YAAU,0CAgB3CwkE,QAAQ,6BAMJ,GAiBM,OAhBF7E,KAAK,eACLsE,MAAM,KACNC,OAAO,KACPC,QAAQ,YACR9jD,KAAK,OACL+jD,MAAM,+BACN,GAIqB,QAHjB,YAAU,UACV,YAAU,UACVvqE,EAAE,oFACFwmB,KAAK,YACT,GAIqB,QAHjB,YAAU,UACV,YAAU,UACVxmB,EAAE,oFACFwmB,KAAK,+DAsBhCrgB,MAAM,4CACDA,MAAM,wCACZ,GAEO,QAFDA,MAAM,4CAA0C,CAClD,GAAma,OAA9Z2/D,KAAK,eAAesE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAY9jD,KAAK,OAAO+jD,MAAM,+BAA6B,GAAqJ,QAA/I,YAAU,UAAU,YAAU,UAAUvqE,EAAE,oFAAoFwmB,KAAK,YAAY,GAAqJ,QAA/I,YAAU,UAAU,YAAU,UAAUxmB,EAAE,oFAAoFwmB,KAAK,uBAGnZrgB,MAAM,sEAILA,MAAM,mCACFA,MAAM,sDCrHtB,SAASykE,KAEZ,MAA6B,oBAAdpuE,WAA+C,oBAAXhC,OAC7CA,YACkB,IAAX,EAAA+F,EACH,EAAAA,EACA,CAAC,CACf,CACO,MAAMsqE,GAAoC,mBAAVt4D,MCXvC,IAAI,GACA,GCCG,MAAMu4D,GACT,WAAA5iE,CAAY6wB,EAAQzf,GAChB1e,KAAK0C,OAAS,KACd1C,KAAKmwE,YAAc,GACnBnwE,KAAKowE,QAAU,GACfpwE,KAAKm+B,OAASA,EACdn+B,KAAK0e,KAAOA,EACZ,MAAM2xD,EAAkB,CAAC,EACzB,GAAIlyC,EAAOmyC,SACP,IAAK,MAAMxzD,KAAMqhB,EAAOmyC,SAAU,CAC9B,MAAM5lE,EAAOyzB,EAAOmyC,SAASxzD,GAC7BuzD,EAAgBvzD,GAAMpS,EAAK0P,YAC/B,CAEJ,MAAMm2D,EAAsB,mCAAmCpyC,EAAOrhB,KACtE,IAAI0zD,EAAkBjrE,OAAO6B,OAAO,CAAC,EAAGipE,GACxC,IACI,MAAMv4D,EAAM24D,aAAaC,QAAQH,GAC3BnuD,EAAO1V,KAAKikE,MAAM74D,GACxBvS,OAAO6B,OAAOopE,EAAiBpuD,EACnC,CACA,MAAOnhB,GAEP,CACAjB,KAAK4wE,UAAY,CACbC,YAAW,IACAL,EAEX,WAAAM,CAAY1qE,GACR,IACIqqE,aAAaM,QAAQR,EAAqB7jE,KAAKC,UAAUvG,GAC7D,CACA,MAAOnF,GAEP,CACAuvE,EAAkBpqE,CACtB,EACAm0C,IAAG,KACC,YDpCMt1C,IAAd,KAGkB,oBAAXrF,QAA0BA,OAAOi9B,aACxC,IAAY,EACZ,GAAOj9B,OAAOi9B,kBAES,IAAX,EAAAl3B,IAAwD,QAA5BoU,EAAK,EAAApU,EAAOqrE,kBAA+B,IAAPj3D,OAAgB,EAASA,EAAG8iB,cACxG,IAAY,EACZ,GAAO,EAAAl3B,EAAOqrE,WAAWn0C,aAGzB,IAAY,GAXL,GAgBuB,GAAK0d,MAAQD,KAAKC,MADjD,IAjBCxgC,CCsCI,GAEA2E,GACAA,EAAKxQ,GC3CuB,uBD2CM,CAAC+iE,EAAU7qE,KACrC6qE,IAAajxE,KAAKm+B,OAAOrhB,IACzB9c,KAAK4wE,UAAUE,YAAY1qE,EAC/B,IAGRpG,KAAKkxE,UAAY,IAAIv5D,MAAM,CAAC,EAAG,CAC3BjS,IAAK,CAACyrE,EAASprE,IACP/F,KAAK0C,OACE1C,KAAK0C,OAAOwL,GAAGnI,GAGf,IAAI2M,KACP1S,KAAKowE,QAAQtiE,KAAK,CACd0H,OAAQzP,EACR2M,QACF,IAKlB1S,KAAKoxE,cAAgB,IAAIz5D,MAAM,CAAC,EAAG,CAC/BjS,IAAK,CAACyrE,EAASprE,IACP/F,KAAK0C,OACE1C,KAAK0C,OAAOqD,GAEL,OAATA,EACE/F,KAAKkxE,UAEP3rE,OAAO6G,KAAKpM,KAAK4wE,WAAW/zD,SAAS9W,GACnC,IAAI2M,KACP1S,KAAKmwE,YAAYriE,KAAK,CAClB0H,OAAQzP,EACR2M,OACA6J,QAAS,SAENvc,KAAK4wE,UAAU7qE,MAAS2M,IAI5B,IAAIA,IACA,IAAI4J,SAAQC,IACfvc,KAAKmwE,YAAYriE,KAAK,CAClB0H,OAAQzP,EACR2M,OACA6J,WACF,KAM1B,CACA,mBAAM80D,CAAc3uE,GAChB1C,KAAK0C,OAASA,EACd,IAAK,MAAMgI,KAAQ1K,KAAKowE,QACpBpwE,KAAK0C,OAAOwL,GAAGxD,EAAK8K,WAAW9K,EAAKgI,MAExC,IAAK,MAAMhI,KAAQ1K,KAAKmwE,YACpBzlE,EAAK6R,cAAcvc,KAAK0C,OAAOgI,EAAK8K,WAAW9K,EAAKgI,MAE5D,EEjGJ,IAAI4+D,GAAW,QAEf,SAASC,GAAU5sE,GAGjB,YAFa,IAARA,IAAiBA,EAAM,MAErB83B,GAAe,OAAR93B,EAAeA,EAAM2sE,GACrC,CAuDA,SAASE,GAAc1rE,EAAK8C,GAC1BrD,OAAO6G,KAAKtG,GAAKoF,SAAQ,SAAUvG,GAAO,OAAOiE,EAAG9C,EAAInB,GAAMA,EAAM,GACtE,CAEA,SAAS,GAAUmB,GACjB,OAAe,OAARA,GAA+B,iBAARA,CAChC,CAgBA,SAAS2rE,GAAkB7oE,EAAI8oE,EAAMhhE,GAMnC,OALIghE,EAAKlqE,QAAQoB,GAAM,IACrB8H,GAAWA,EAAQ2kB,QACfq8C,EAAKj8C,QAAQ7sB,GACb8oE,EAAK5jE,KAAKlF,IAET,WACL,IAAIjC,EAAI+qE,EAAKlqE,QAAQoB,GACjBjC,GAAK,GACP+qE,EAAKjqE,OAAOd,EAAG,EAEnB,CACF,CAEA,SAASgrE,GAAYC,EAAOC,GAC1BD,EAAME,SAAWvsE,OAAOiB,OAAO,MAC/BorE,EAAMG,WAAaxsE,OAAOiB,OAAO,MACjCorE,EAAMI,gBAAkBzsE,OAAOiB,OAAO,MACtCorE,EAAMK,qBAAuB1sE,OAAOiB,OAAO,MAC3C,IAAIumB,EAAQ6kD,EAAM7kD,MAElBmlD,GAAcN,EAAO7kD,EAAO,GAAI6kD,EAAMO,SAASnvD,MAAM,GAErDovD,GAAgBR,EAAO7kD,EAAO8kD,EAChC,CAEA,SAASO,GAAiBR,EAAO7kD,EAAO8kD,GACtC,IAAIQ,EAAWT,EAAMU,OACjBC,EAAWX,EAAMY,OAGrBZ,EAAMa,QAAU,CAAC,EAEjBb,EAAMc,uBAAyBntE,OAAOiB,OAAO,MAC7C,IAAImsE,EAAiBf,EAAMI,gBACvBY,EAAc,CAAC,EACfC,EAAgB,CAAC,EAIjBjkE,EAAQH,IAAY,GAExBG,EAAMZ,KAAI,WACRwjE,GAAamB,GAAgB,SAAU/pE,EAAIjE,GAIzCiuE,EAAYjuE,GArDlB,SAAkBiE,EAAIe,GACpB,OAAO,WACL,OAAOf,EAAGe,EACZ,CACF,CAiDyBmpE,CAAQlqE,EAAIgpE,GAC/BiB,EAAcluE,GAAO,IAAS,WAAc,OAAOiuE,EAAYjuE,IAAQ,IACvEY,OAAOC,eAAeosE,EAAMa,QAAS9tE,EAAK,CACxCe,IAAK,WAAc,OAAOmtE,EAAcluE,GAAKyB,KAAO,EACpDX,YAAY,GAEhB,GACF,IAEAmsE,EAAMU,OAAS,GAAS,CACtBlwD,KAAM2K,IAKR6kD,EAAMY,OAAS5jE,EAGXgjE,EAAMmB,QA4MZ,SAA2BnB,GACzB/mD,IAAM,WAAc,OAAO+mD,EAAMU,OAAOlwD,IAAM,IAAG,WAIjD,GAAG,CAAE2I,MAAM,EAAML,MAAO,QAC1B,CAjNIsoD,CAAiBpB,GAGfS,GACER,GAGFD,EAAMqB,aAAY,WAChBZ,EAASjwD,KAAO,IAClB,IAKAmwD,GACFA,EAASnkE,MAEb,CAEA,SAAS8jE,GAAeN,EAAOsB,EAAW5nB,EAAMhnD,EAAQutE,GACtD,IAAIxW,GAAU/P,EAAK1kD,OACfusE,EAAYvB,EAAMO,SAAS5jB,aAAajD,GAW5C,GARIhnD,EAAO8uE,aACLxB,EAAMK,qBAAqBkB,GAG/BvB,EAAMK,qBAAqBkB,GAAa7uE,IAIrC+2D,IAAWwW,EAAK,CACnB,IAAIwB,EAAcC,GAAeJ,EAAW5nB,EAAKhjD,MAAM,GAAI,IACvDirE,EAAajoB,EAAKA,EAAK1kD,OAAS,GACpCgrE,EAAMqB,aAAY,WAQhBI,EAAYE,GAAcjvE,EAAOyoB,KACnC,GACF,CAEA,IAAIiN,EAAQ11B,EAAOk5B,QA2BrB,SAA2Bo0C,EAAOuB,EAAW7nB,GAC3C,IAAIkoB,EAA4B,KAAdL,EAEdn5C,EAAQ,CACVgjB,SAAUw2B,EAAc5B,EAAM50B,SAAW,SAAUy2B,EAAOC,EAAUC,GAClE,IAAIjhE,EAAOkhE,GAAiBH,EAAOC,EAAUC,GACzCE,EAAUnhE,EAAKmhE,QACfnjE,EAAUgC,EAAKhC,QACfxN,EAAOwP,EAAKxP,KAUhB,OARKwN,GAAYA,EAAQsS,OACvB9f,EAAOiwE,EAAYjwE,GAOd0uE,EAAM50B,SAAS95C,EAAM2wE,EAC9B,EAEAC,OAAQN,EAAc5B,EAAMkC,OAAS,SAAUL,EAAOC,EAAUC,GAC9D,IAAIjhE,EAAOkhE,GAAiBH,EAAOC,EAAUC,GACzCE,EAAUnhE,EAAKmhE,QACfnjE,EAAUgC,EAAKhC,QACfxN,EAAOwP,EAAKxP,KAEXwN,GAAYA,EAAQsS,OACvB9f,EAAOiwE,EAAYjwE,GAOrB0uE,EAAMkC,OAAO5wE,EAAM2wE,EAASnjE,EAC9B,GAgBF,OAXAnL,OAAOwuE,iBAAiB/5C,EAAO,CAC7By4C,QAAS,CACP/sE,IAAK8tE,EACD,WAAc,OAAO5B,EAAMa,OAAS,EACpC,WAAc,OAAOuB,GAAiBpC,EAAOuB,EAAY,GAE/DpmD,MAAO,CACLrnB,IAAK,WAAc,OAAO4tE,GAAe1B,EAAM7kD,MAAOu+B,EAAO,KAI1DtxB,CACT,CAhF+Bi6C,CAAiBrC,EAAOuB,EAAW7nB,GAEhEhnD,EAAO4vE,iBAAgB,SAAUC,EAAUxvE,IAyG7C,SAA2BitE,EAAO1uE,EAAM8c,EAASga,IACnC43C,EAAMG,WAAW7uE,KAAU0uE,EAAMG,WAAW7uE,GAAQ,KAC1D4K,MAAK,SAAiC+lE,GAC1C7zD,EAAQ7a,KAAKysE,EAAO53C,EAAMjN,MAAO8mD,EACnC,GACF,CA5GIO,CAAiBxC,EADIuB,EAAYxuE,EACOwvE,EAAUn6C,EACpD,IAEA11B,EAAO+vE,eAAc,SAAUC,EAAQ3vE,GACrC,IAAIzB,EAAOoxE,EAAOtxD,KAAOre,EAAMwuE,EAAYxuE,EACvCqb,EAAUs0D,EAAOt0D,SAAWs0D,GAyGpC,SAAyB1C,EAAO1uE,EAAM8c,EAASga,IACjC43C,EAAME,SAAS5uE,KAAU0uE,EAAME,SAAS5uE,GAAQ,KACtD4K,MAAK,SAA+B+lE,GACxC,IApPgBjvE,EAoPZ6F,EAAMuV,EAAQ7a,KAAKysE,EAAO,CAC5B50B,SAAUhjB,EAAMgjB,SAChB82B,OAAQ95C,EAAM85C,OACdrB,QAASz4C,EAAMy4C,QACf1lD,MAAOiN,EAAMjN,MACbwnD,YAAa3C,EAAMa,QACnBS,UAAWtB,EAAM7kD,OAChB8mD,GAIH,OA/PgBjvE,EA4PD6F,IA3PiB,mBAAb7F,EAAIsD,OA4PrBuC,EAAM6R,QAAQC,QAAQ9R,IAEpBmnE,EAAM4C,aACD/pE,EAAItC,OAAM,SAAU6S,GAEzB,MADA42D,EAAM4C,aAAah2D,KAAK,aAAcxD,GAChCA,CACR,IAEOvQ,CAEX,GACF,CA/HIgqE,CAAe7C,EAAO1uE,EAAM8c,EAASga,EACvC,IAEA11B,EAAOowE,eAAc,SAAUn6D,EAAQ5V,IA8HzC,SAAyBitE,EAAO1uE,EAAMyxE,EAAW36C,GAC3C43C,EAAMI,gBAAgB9uE,KAM1B0uE,EAAMI,gBAAgB9uE,GAAQ,SAAwB0uE,GACpD,OAAO+C,EACL36C,EAAMjN,MACNiN,EAAMy4C,QACNb,EAAM7kD,MACN6kD,EAAMa,QAEV,EACF,CA3IImC,CAAehD,EADMuB,EAAYxuE,EACK4V,EAAQyf,EAChD,IAEA11B,EAAOuwE,cAAa,SAAU5qD,EAAOtlB,GACnCutE,GAAcN,EAAOsB,EAAW5nB,EAAKjoC,OAAO1e,GAAMslB,EAAO4nD,EAC3D,GACF,CA6DA,SAASmC,GAAkBpC,EAAOuB,GAChC,IAAKvB,EAAMc,uBAAuBS,GAAY,CAC5C,IAAI2B,EAAe,CAAC,EAChBC,EAAW5B,EAAUvsE,OACzBrB,OAAO6G,KAAKwlE,EAAMa,SAASvnE,SAAQ,SAAUhI,GAE3C,GAAIA,EAAKoF,MAAM,EAAGysE,KAAc5B,EAAhC,CAGA,IAAI6B,EAAY9xE,EAAKoF,MAAMysE,GAK3BxvE,OAAOC,eAAesvE,EAAcE,EAAW,CAC7CtvE,IAAK,WAAc,OAAOksE,EAAMa,QAAQvvE,EAAO,EAC/CuC,YAAY,GAVsC,CAYtD,IACAmsE,EAAMc,uBAAuBS,GAAa2B,CAC5C,CAEA,OAAOlD,EAAMc,uBAAuBS,EACtC,CA2DA,SAASG,GAAgBvmD,EAAOu+B,GAC9B,OAAOA,EAAKr+C,QAAO,SAAU8f,EAAOpoB,GAAO,OAAOooB,EAAMpoB,EAAM,GAAGooB,EACnE,CAEA,SAAS6mD,GAAkB1wE,EAAM2wE,EAASnjE,GAWxC,OAVI,GAASxN,IAASA,EAAKA,OACzBwN,EAAUmjE,EACVA,EAAU3wE,EACVA,EAAOA,EAAKA,MAOP,CAAEA,KAAMA,EAAM2wE,QAASA,EAASnjE,QAASA,EAClD,CAEA,IACIukE,GAAqB,iBACrBC,GAAmB,eACnBC,GAAe,OAEfC,GAAW,EAEf,SAASC,GAAa/1D,EAAKsyD,ICnYpB,SAA6B0D,EAAkBC,GAClD,MAAMv8C,EAAas8C,EACb5yE,EAASstE,KACTtxD,ELRCsxD,KAAYjqC,6BKSbyvC,EAAcvF,IAAoBj3C,EAAWy8C,iBACnD,IAAI/2D,IAAShc,EAAOgzE,uCAA0CF,EAGzD,CACD,MAAM99D,EAAQ89D,EAAc,IAAItF,GAASl3C,EAAYta,GAAQ,MAChDhc,EAAOizE,yBAA2BjzE,EAAOizE,0BAA4B,IAC7E7nE,KAAK,CACNwnE,iBAAkBt8C,EAClBu8C,UACA79D,UAEAA,GACA69D,EAAQ79D,EAAM05D,cACtB,MAZI1yD,EAAKF,KFZa,wBEYI82D,EAAkBC,EAahD,CDiXEK,CACE,CACE94D,GAAI,iBACJwC,IAAKA,EACLu2D,MAAO,OACPC,SAAU,+BACVC,KAAM,mDACNC,YAAa,OACbC,oBAAqB,CAhBD,mBAkBtB,SAAUC,GACRA,EAAIC,iBAAiB,CACnBr5D,GAAIm4D,GACJY,MAAO,iBACPO,MAAOC,KAGTH,EAAIC,iBAAiB,CACnBr5D,GAAIo4D,GACJW,MAAO,eACPO,MAAOC,KAGTH,EAAII,aAAa,CACfx5D,GAAIq4D,GACJU,MAAO,OACPU,KAAM,UACNC,sBAAuB,qBAGzBN,EAAIhoE,GAAGuoE,kBAAiB,SAAU5C,GAChC,GAAIA,EAAQv0D,MAAQA,GAAOu0D,EAAQ6C,cAAgBvB,GACjD,GAAItB,EAAQvhE,OAAQ,CAClB,IAAI48C,EAAQ,GACZynB,GAA6BznB,EAAO0iB,EAAMO,SAASnvD,KAAM6wD,EAAQvhE,OAAQ,IACzEuhE,EAAQ+C,UAAY1nB,CACtB,MACE2kB,EAAQ+C,UAAY,CAClBC,GAA4BjF,EAAMO,SAASnvD,KAAM,IAIzD,IAEAkzD,EAAIhoE,GAAG4oE,mBAAkB,SAAUjD,GACjC,GAAIA,EAAQv0D,MAAQA,GAAOu0D,EAAQ6C,cAAgBvB,GAAc,CAC/D,IAAI4B,EAAalD,EAAQmD,OACzBhD,GAAiBpC,EAAOmF,GACxBlD,EAAQ9mD,MA8JlB,SAAuCzoB,EAAQmuE,EAASnnB,GACtDmnB,EAAmB,SAATnnB,EAAkBmnB,EAAUA,EAAQnnB,GAC9C,IAAI2rB,EAAc1xE,OAAO6G,KAAKqmE,GAC1ByE,EAAa,CACfnqD,MAAOxnB,OAAO6G,KAAK9H,EAAOyoB,OAAOxmB,KAAI,SAAU5B,GAAO,MAAO,CAC3DA,IAAKA,EACLwyE,UAAU,EACV/wE,MAAO9B,EAAOyoB,MAAMpoB,GAClB,KAGN,GAAIsyE,EAAYrwE,OAAQ,CACtB,IAAIwwE,EAWR,SAAqC3E,GACnC,IAAItuE,EAAS,CAAC,EAwBd,OAvBAoB,OAAO6G,KAAKqmE,GAASvnE,SAAQ,SAAUvG,GACrC,IAAI2mD,EAAO3mD,EAAI+B,MAAM,KACrB,GAAI4kD,EAAK1kD,OAAS,EAAG,CACnB,IAAIlE,EAASyB,EACTkzE,EAAU/rB,EAAK98C,MACnB88C,EAAKpgD,SAAQ,SAAUwR,GAChBha,EAAOga,KACVha,EAAOga,GAAK,CACV46D,QAAS,CACPlxE,MAAO,CAAC,EACRmzC,QAAS78B,EACT66D,QAAS,SACTC,UAAU,KAIhB90E,EAASA,EAAOga,GAAG46D,QAAQlxE,KAC7B,IACA1D,EAAO20E,GAAWI,IAAS,WAAc,OAAOhF,EAAQ9tE,EAAM,GAChE,MACER,EAAOQ,GAAO8yE,IAAS,WAAc,OAAOhF,EAAQ9tE,EAAM,GAE9D,IACOR,CACT,CArCeuzE,CAA2BjF,GACtCyE,EAAWzE,QAAUltE,OAAO6G,KAAKgrE,GAAM7wE,KAAI,SAAU5B,GAAO,MAAO,CACjEA,IAAKA,EAAI4/B,SAAS,KAAOozC,GAAoBhzE,GAAOA,EACpDwyE,UAAU,EACV/wE,MAAOqxE,IAAS,WAAc,OAAOL,EAAKzyE,EAAM,IAC9C,GACN,CAEA,OAAOuyE,CACT,CAnL0BU,EAiNDC,EAhNEjG,EAAMO,UAiN3B2F,GAD8BxsB,EAhNOyrB,GAiNxBrwE,MAAM,KAAK4L,QAAO,SAAUvI,GAAK,OAAOA,CAAG,KAC/CkD,QACX,SAAU3I,EAAQivE,EAAY5sE,GAC5B,IAAIsjB,EAAQ3lB,EAAOivE,GACnB,IAAKtpD,EACH,MAAM,IAAIkI,MAAO,mBAAsBohD,EAAa,eAAmBjoB,EAAO,MAEhF,OAAO3kD,IAAMmxE,EAAMlxE,OAAS,EAAIqjB,EAAQA,EAAM8tD,SAChD,GACS,SAATzsB,EAAkBusB,EAAYA,EAAU70D,KAAK+0D,YAzNtB,SAAfhB,EAAwBnF,EAAMa,QAAUb,EAAMc,uBAC9CqE,EAEJ,CA4MR,IAAyBc,EAAWvsB,EAC9BwsB,CA5MA,IAEA5B,EAAIhoE,GAAG8pE,oBAAmB,SAAUnE,GAClC,GAAIA,EAAQv0D,MAAQA,GAAOu0D,EAAQ6C,cAAgBvB,GAAc,CAC/D,IAAI4B,EAAalD,EAAQmD,OACrB1rB,EAAOuoB,EAAQvoB,KACA,SAAfyrB,IACFzrB,EAAOyrB,EAAWrwE,MAAM,KAAK4L,OAAOmb,SAASpK,OAAQioC,IAEvDsmB,EAAMqB,aAAY,WAChBY,EAAQ1iE,IAAIygE,EAAMU,OAAOlwD,KAAMkpC,EAAMuoB,EAAQ9mD,MAAM3mB,MACrD,GACF,CACF,IAEAwrE,EAAMqG,WAAU,SAAU9D,EAAUpnD,GAClC,IAAI3K,EAAO,CAAC,EAER+xD,EAASN,UACXzxD,EAAKyxD,QAAUM,EAASN,SAG1BzxD,EAAK2K,MAAQA,EAEbmpD,EAAIgC,wBACJhC,EAAIiC,kBAAkBhD,IACtBe,EAAIkC,mBAAmBjD,IAEvBe,EAAImC,iBAAiB,CACnBC,QAASrD,GACT12D,MAAO,CACLg6D,KAAMj+B,KAAKC,MACX/2C,MAAO2wE,EAASjxE,KAChBkf,KAAMA,IAGZ,IAEAwvD,EAAM4G,gBAAgB,CACpBzjC,OAAQ,SAAUu/B,EAAQvnD,GACxB,IAAI3K,EAAO,CAAC,EACRkyD,EAAOT,UACTzxD,EAAKyxD,QAAUS,EAAOT,SAExBS,EAAOpzD,IAAMk0D,KACbd,EAAOmE,MAAQn+B,KAAKC,MACpBn4B,EAAK2K,MAAQA,EAEbmpD,EAAImC,iBAAiB,CACnBC,QAASpD,GACT32D,MAAO,CACLg6D,KAAMjE,EAAOmE,MACbj1E,MAAO8wE,EAAOpxE,KACdw1E,QAASpE,EAAOpzD,IAChBy3D,SAAU,QACVv2D,KAAMA,IAGZ,EACAw2D,MAAO,SAAUtE,EAAQvnD,GACvB,IAAI3K,EAAO,CAAC,EACRszB,EAAW4E,KAAKC,MAAQ+5B,EAAOmE,MACnCr2D,EAAKszB,SAAW,CACd4hC,QAAS,CACPp0E,KAAM,WACNq2C,QAAU7D,EAAW,KACrB6hC,QAAS,kBACTnxE,MAAOsvC,IAGP4+B,EAAOT,UACTzxD,EAAKyxD,QAAUS,EAAOT,SAExBzxD,EAAK2K,MAAQA,EAEbmpD,EAAImC,iBAAiB,CACnBC,QAASpD,GACT32D,MAAO,CACLg6D,KAAMj+B,KAAKC,MACX/2C,MAAO8wE,EAAOpxE,KACdw1E,QAASpE,EAAOpzD,IAChBy3D,SAAU,MACVv2D,KAAMA,IAGZ,GAEJ,GAEJ,CAGA,IAAIi0D,GAAiB,QAIjBwC,GAAiB,CACnBhD,MAAO,aACPiD,UAJgB,SAKhBC,gBANe,SAYjB,SAASpB,GAAqBrsB,GAC5B,OAAOA,GAAiB,SAATA,EAAkBA,EAAK5kD,MAAM,KAAK4B,OAAO,GAAI,GAAG,GAAK,MACtE,CAMA,SAASuuE,GAA6BvyE,EAAQgnD,GAC5C,MAAO,CACLxuC,GAAIwuC,GAAQ,OAIZuqB,MAAO8B,GAAoBrsB,GAC3B0tB,KAAM10E,EAAO8uE,WAAa,CAACyF,IAAkB,GAC7CzxD,SAAU7hB,OAAO6G,KAAK9H,EAAOyzE,WAAWxxE,KAAI,SAAUgtE,GAAc,OAAOsD,GACvEvyE,EAAOyzE,UAAUxE,GACjBjoB,EAAOioB,EAAa,IACnB,IAGT,CAQA,SAASoD,GAA8BxyE,EAAQG,EAAQgO,EAAQg5C,GACzDA,EAAKzuC,SAASvK,IAChBnO,EAAO2J,KAAK,CACVgP,GAAIwuC,GAAQ,OACZuqB,MAAOvqB,EAAK/mB,SAAS,KAAO+mB,EAAKhjD,MAAM,EAAGgjD,EAAK1kD,OAAS,GAAK0kD,GAAQ,OACrE0tB,KAAM10E,EAAO8uE,WAAa,CAACyF,IAAkB,KAGjDtzE,OAAO6G,KAAK9H,EAAOyzE,WAAW7sE,SAAQ,SAAUqoE,GAC9CoD,GAA6BxyE,EAAQG,EAAOyzE,UAAUxE,GAAajhE,EAAQg5C,EAAOioB,EAAa,IACjG,GACF,CAuEA,SAASkE,GAAU/5D,GACjB,IACE,OAAOA,GACT,CAAE,MAAOzc,GACP,OAAOA,CACT,CACF,CAGA,IAAIg4E,GAAS,SAAiBC,EAAW3X,GACvCvhE,KAAKuhE,QAAUA,EAEfvhE,KAAK+3E,UAAYxyE,OAAOiB,OAAO,MAE/BxG,KAAKm5E,WAAaD,EAClB,IAAIE,EAAWF,EAAUnsD,MAGzB/sB,KAAK+sB,OAA6B,mBAAbqsD,EAA0BA,IAAaA,IAAa,CAAC,CAC5E,EAEIC,GAAuB,CAAEjG,WAAY,CAAEvpE,cAAc,IAEzDwvE,GAAqBjG,WAAW1tE,IAAM,WACpC,QAAS1F,KAAKm5E,WAAW/F,UAC3B,EAEA6F,GAAOj3E,UAAUs3E,SAAW,SAAmB30E,EAAKL,GAClDtE,KAAK+3E,UAAUpzE,GAAOL,CACxB,EAEA20E,GAAOj3E,UAAUyyC,YAAc,SAAsB9vC,UAC5C3E,KAAK+3E,UAAUpzE,EACxB,EAEAs0E,GAAOj3E,UAAUu3E,SAAW,SAAmB50E,GAC7C,OAAO3E,KAAK+3E,UAAUpzE,EACxB,EAEAs0E,GAAOj3E,UAAUw3E,SAAW,SAAmB70E,GAC7C,OAAOA,KAAO3E,KAAK+3E,SACrB,EAEAkB,GAAOj3E,UAAUytB,OAAS,SAAiBypD,GACzCl5E,KAAKm5E,WAAW/F,WAAa8F,EAAU9F,WACnC8F,EAAUO,UACZz5E,KAAKm5E,WAAWM,QAAUP,EAAUO,SAElCP,EAAUh9B,YACZl8C,KAAKm5E,WAAWj9B,UAAYg9B,EAAUh9B,WAEpCg9B,EAAUzG,UACZzyE,KAAKm5E,WAAW1G,QAAUyG,EAAUzG,QAExC,EAEAwG,GAAOj3E,UAAU6yE,aAAe,SAAuBjsE,GACrD4oE,GAAaxxE,KAAK+3E,UAAWnvE,EAC/B,EAEAqwE,GAAOj3E,UAAU0yE,cAAgB,SAAwB9rE,GACnD5I,KAAKm5E,WAAW1G,SAClBjB,GAAaxxE,KAAKm5E,WAAW1G,QAAS7pE,EAE1C,EAEAqwE,GAAOj3E,UAAUqyE,cAAgB,SAAwBzrE,GACnD5I,KAAKm5E,WAAWM,SAClBjI,GAAaxxE,KAAKm5E,WAAWM,QAAS7wE,EAE1C,EAEAqwE,GAAOj3E,UAAUkyE,gBAAkB,SAA0BtrE,GACvD5I,KAAKm5E,WAAWj9B,WAClBs1B,GAAaxxE,KAAKm5E,WAAWj9B,UAAWtzC,EAE5C,EAEArD,OAAOwuE,iBAAkBkF,GAAOj3E,UAAWq3E,IAE3C,IAAIK,GAAmB,SAA2BC,GAEhD35E,KAAK45E,SAAS,GAAID,GAAe,EACnC,EA6EA,SAASlqD,GAAQ67B,EAAMuuB,EAAcC,GASnC,GAHAD,EAAapqD,OAAOqqD,GAGhBA,EAAUz8B,QACZ,IAAK,IAAI14C,KAAOm1E,EAAUz8B,QAAS,CACjC,IAAKw8B,EAAaN,SAAS50E,GAOzB,OAEF8qB,GACE67B,EAAKjoC,OAAO1e,GACZk1E,EAAaN,SAAS50E,GACtBm1E,EAAUz8B,QAAQ14C,GAEtB,CAEJ,CAtGA+0E,GAAiB13E,UAAU0D,IAAM,SAAc4lD,GAC7C,OAAOA,EAAKr+C,QAAO,SAAU3I,EAAQK,GACnC,OAAOL,EAAOi1E,SAAS50E,EACzB,GAAG3E,KAAKgjB,KACV,EAEA02D,GAAiB13E,UAAUusD,aAAe,SAAuBjD,GAC/D,IAAIhnD,EAAStE,KAAKgjB,KAClB,OAAOsoC,EAAKr+C,QAAO,SAAUkmE,EAAWxuE,GAEtC,OAAOwuE,IADP7uE,EAASA,EAAOi1E,SAAS50E,IACEyuE,WAAazuE,EAAM,IAAM,GACtD,GAAG,GACL,EAEA+0E,GAAiB13E,UAAUytB,OAAS,SAAmBkqD,GACrDlqD,GAAO,GAAIzvB,KAAKgjB,KAAM22D,EACxB,EAEAD,GAAiB13E,UAAU43E,SAAW,SAAmBtuB,EAAM4tB,EAAW3X,GACtE,IAAIwY,EAAW/5E,UACE,IAAZuhE,IAAqBA,GAAU,GAMtC,IAAIuY,EAAY,IAAIb,GAAOC,EAAW3X,GAClB,IAAhBjW,EAAK1kD,OACP5G,KAAKgjB,KAAO82D,EAEC95E,KAAK0F,IAAI4lD,EAAKhjD,MAAM,GAAI,IAC9BgxE,SAAShuB,EAAKA,EAAK1kD,OAAS,GAAIkzE,GAIrCZ,EAAU77B,SACZm0B,GAAa0H,EAAU77B,SAAS,SAAU28B,EAAgBr1E,GACxDo1E,EAASH,SAAStuB,EAAKjoC,OAAO1e,GAAMq1E,EAAgBzY,EACtD,GAEJ,EAEAmY,GAAiB13E,UAAUi4E,WAAa,SAAqB3uB,GAC3D,IAAI39C,EAAS3N,KAAK0F,IAAI4lD,EAAKhjD,MAAM,GAAI,IACjC3D,EAAM2mD,EAAKA,EAAK1kD,OAAS,GACzBqjB,EAAQtc,EAAO4rE,SAAS50E,GAEvBslB,GAUAA,EAAMs3C,SAIX5zD,EAAO8mC,YAAY9vC,EACrB,EAEA+0E,GAAiB13E,UAAUk4E,aAAe,SAAuB5uB,GAC/D,IAAI39C,EAAS3N,KAAK0F,IAAI4lD,EAAKhjD,MAAM,GAAI,IACjC3D,EAAM2mD,EAAKA,EAAK1kD,OAAS,GAE7B,QAAI+G,GACKA,EAAO6rE,SAAS70E,EAI3B,EA4EA,IAAIw1E,GAAQ,SAAgBzpE,GAC1B,IAAIqpE,EAAW/5E,UACE,IAAZ0Q,IAAqBA,EAAU,CAAC,GAOrC,IAAI0pE,EAAU1pE,EAAQ0pE,aAA0B,IAAZA,IAAqBA,EAAU,IACnE,IAAIrH,EAASriE,EAAQqiE,YAAwB,IAAXA,IAAoBA,GAAS,GAC/D,IAAI50D,EAAWzN,EAAQyN,SAGvBne,KAAKq6E,aAAc,EACnBr6E,KAAK8xE,SAAWvsE,OAAOiB,OAAO,MAC9BxG,KAAKs6E,mBAAqB,GAC1Bt6E,KAAK+xE,WAAaxsE,OAAOiB,OAAO,MAChCxG,KAAKgyE,gBAAkBzsE,OAAOiB,OAAO,MACrCxG,KAAKmyE,SAAW,IAAIuH,GAAiBhpE,GACrC1Q,KAAKiyE,qBAAuB1sE,OAAOiB,OAAO,MAC1CxG,KAAKu6E,aAAe,GACpBv6E,KAAK0yE,uBAAyBntE,OAAOiB,OAAO,MAK5CxG,KAAKwyE,OAAS,KAEdxyE,KAAKw6E,UAAYr8D,EAGjB,IAAIyzD,EAAQ5xE,KAERg9C,EADMh9C,KACSg9C,SACf82B,EAFM9zE,KAEO8zE,OACjB9zE,KAAKg9C,SAAW,SAAwB95C,EAAM2wE,GAC5C,OAAO72B,EAAS73C,KAAKysE,EAAO1uE,EAAM2wE,EACpC,EACA7zE,KAAK8zE,OAAS,SAAsB5wE,EAAM2wE,EAASnjE,GACjD,OAAOojE,EAAO3uE,KAAKysE,EAAO1uE,EAAM2wE,EAASnjE,EAC3C,EAGA1Q,KAAK+yE,OAASA,EAEd,IAAIhmD,EAAQ/sB,KAAKmyE,SAASnvD,KAAK+J,MAK/BmlD,GAAclyE,KAAM+sB,EAAO,GAAI/sB,KAAKmyE,SAASnvD,MAI7CovD,GAAgBpyE,KAAM+sB,GAGtBqtD,EAAQlvE,SAAQ,SAAUizB,GAAU,OAAOA,EAAO47C,EAAW,GAC/D,EAEIU,GAAqB,CAAE1tD,MAAO,CAAEljB,cAAc,IAgXlD,SAAS6wE,GAAcn0E,GACrB,OAaF,SAAqBA,GACnB,OAAOmB,MAAMC,QAAQpB,IAAQ,GAASA,EACxC,CAfOo0E,CAAWp0E,GAGTmB,MAAMC,QAAQpB,GACjBA,EAAIA,KAAI,SAAU5B,GAAO,MAAO,CAAGA,IAAKA,EAAKC,IAAKD,EAAQ,IAC1DY,OAAO6G,KAAK7F,GAAKA,KAAI,SAAU5B,GAAO,MAAO,CAAGA,IAAKA,EAAKC,IAAK2B,EAAI5B,GAAS,IAJvE,EAKX,CAgBA,SAASi2E,GAAoBhyE,GAC3B,OAAO,SAAUuqE,EAAW5sE,GAO1B,MANyB,iBAAd4sE,GACT5sE,EAAM4sE,EACNA,EAAY,IACwC,MAA3CA,EAAU/pE,OAAO+pE,EAAUvsE,OAAS,KAC7CusE,GAAa,KAERvqE,EAAGuqE,EAAW5sE,EACvB,CACF,CASA,SAASs0E,GAAsBjJ,EAAOzoB,EAAQgqB,GAK5C,OAJavB,EAAMK,qBAAqBkB,EAK1C,CA9ZAgH,GAAMn4E,UAAUo8B,QAAU,SAAkB9e,EAAKw7D,GAC/Cx7D,EAAIkd,QAAQs+C,GAAaxJ,GAAUtxE,MACnCsf,EAAI1D,OAAOkd,iBAAiBiiD,OAAS/6E,WAEAiF,IAAnBjF,KAAKw6E,WACnBx6E,KAAKw6E,YAIPnF,GAAY/1D,EAAKtf,KAErB,EAEAy6E,GAAmB1tD,MAAMrnB,IAAM,WAC7B,OAAO1F,KAAKsyE,OAAOlwD,IACrB,EAEAq4D,GAAmB1tD,MAAM5b,IAAM,SAAUoD,GAIzC,EAEA4lE,GAAMn4E,UAAU8xE,OAAS,SAAiBL,EAAOC,EAAUC,GACvD,IAAIoG,EAAW/5E,KAGboY,EAAMw7D,GAAiBH,EAAOC,EAAUC,GACtCzwE,EAAOkV,EAAIlV,KACX2wE,EAAUz7D,EAAIy7D,QAGhBM,GAFY/7D,EAAI1H,QAEL,CAAExN,KAAMA,EAAM2wE,QAASA,IAClCmH,EAAQh7E,KAAK+xE,WAAW7uE,GACvB83E,IAMLh7E,KAAKizE,aAAY,WACf+H,EAAM9vE,SAAQ,SAAyB8U,GACrCA,EAAQ6zD,EACV,GACF,IAEA7zE,KAAKu6E,aACFjyE,QACA4C,SAAQ,SAAU+vE,GAAO,OAAOA,EAAI9G,EAAU4F,EAAShtD,MAAQ,IAWpE,EAEAotD,GAAMn4E,UAAUg7C,SAAW,SAAmBy2B,EAAOC,GACjD,IAAIqG,EAAW/5E,KAGboY,EAAMw7D,GAAiBH,EAAOC,GAC5BxwE,EAAOkV,EAAIlV,KACX2wE,EAAUz7D,EAAIy7D,QAEhBS,EAAS,CAAEpxE,KAAMA,EAAM2wE,QAASA,GAChCmH,EAAQh7E,KAAK8xE,SAAS5uE,GAC1B,GAAK83E,EAAL,CAOA,IACEh7E,KAAKs6E,mBACFhyE,QACAgK,QAAO,SAAU2oE,GAAO,OAAOA,EAAIlmC,MAAQ,IAC3C7pC,SAAQ,SAAU+vE,GAAO,OAAOA,EAAIlmC,OAAOu/B,EAAQyF,EAAShtD,MAAQ,GACzE,CAAE,MAAO9rB,GAKT,CAEA,IAAIkD,EAAS62E,EAAMp0E,OAAS,EACxB0V,QAAQ4+D,IAAIF,EAAMz0E,KAAI,SAAUyZ,GAAW,OAAOA,EAAQ6zD,EAAU,KACpEmH,EAAM,GAAGnH,GAEb,OAAO,IAAIv3D,SAAQ,SAAUC,EAAS6V,GACpCjuB,EAAO+D,MAAK,SAAUuC,GACpB,IACEsvE,EAASO,mBACNhoE,QAAO,SAAU2oE,GAAO,OAAOA,EAAIrC,KAAO,IAC1C1tE,SAAQ,SAAU+vE,GAAO,OAAOA,EAAIrC,MAAMtE,EAAQyF,EAAShtD,MAAQ,GACxE,CAAE,MAAO9rB,GAKT,CACAsb,EAAQ9R,EACV,IAAG,SAAU3J,GACX,IACEi5E,EAASO,mBACNhoE,QAAO,SAAU2oE,GAAO,OAAOA,EAAIn6E,KAAO,IAC1CoK,SAAQ,SAAU+vE,GAAO,OAAOA,EAAIn6E,MAAMwzE,EAAQyF,EAAShtD,MAAOjsB,EAAQ,GAC/E,CAAE,MAAOG,GAKT,CACAmxB,EAAOtxB,EACT,GACF,GA5CA,CA6CF,EAEAq5E,GAAMn4E,UAAUi2E,UAAY,SAAoBrvE,EAAI8H,GAClD,OAAO+gE,GAAiB7oE,EAAI5I,KAAKu6E,aAAc7pE,EACjD,EAEAypE,GAAMn4E,UAAUw2E,gBAAkB,SAA0B5vE,EAAI8H,GAE9D,OAAO+gE,GADkB,mBAAP7oE,EAAoB,CAAEmsC,OAAQnsC,GAAOA,EACzB5I,KAAKs6E,mBAAoB5pE,EACzD,EAEAypE,GAAMn4E,UAAU6oB,MAAQ,SAAkBtQ,EAAQmD,EAAIhN,GAClD,IAAIqpE,EAAW/5E,KAKjB,OAAO6qB,IAAM,WAAc,OAAOtQ,EAAOw/D,EAAShtD,MAAOgtD,EAAStH,QAAU,GAAG/0D,EAAInY,OAAO6B,OAAO,CAAC,EAAGsJ,GACvG,EAEAypE,GAAMn4E,UAAUm5E,aAAe,SAAuBpuD,GAClD,IAAIgtD,EAAW/5E,KAEjBA,KAAKizE,aAAY,WACf8G,EAASzH,OAAOlwD,KAAO2K,CACzB,GACF,EAEAotD,GAAMn4E,UAAUo5E,eAAiB,SAAyB9vB,EAAM4tB,EAAWxoE,QACtD,IAAZA,IAAqBA,EAAU,CAAC,GAEnB,iBAAT46C,IAAqBA,EAAO,CAACA,IAOxCtrD,KAAKmyE,SAASyH,SAAStuB,EAAM4tB,GAC7BhH,GAAclyE,KAAMA,KAAK+sB,MAAOu+B,EAAMtrD,KAAKmyE,SAASzsE,IAAI4lD,GAAO56C,EAAQ2qE,eAEvEjJ,GAAgBpyE,KAAMA,KAAK+sB,MAC7B,EAEAotD,GAAMn4E,UAAUs5E,iBAAmB,SAA2BhwB,GAC1D,IAAIyuB,EAAW/5E,KAEG,iBAATsrD,IAAqBA,EAAO,CAACA,IAMxCtrD,KAAKmyE,SAAS8H,WAAW3uB,GACzBtrD,KAAKizE,aAAY,kBACGK,GAAeyG,EAAShtD,MAAOu+B,EAAKhjD,MAAM,GAAI,IAC7CgjD,EAAKA,EAAK1kD,OAAS,GACxC,IACA+qE,GAAW3xE,KACb,EAEAm6E,GAAMn4E,UAAUu5E,UAAY,SAAoBjwB,GAO9C,MANoB,iBAATA,IAAqBA,EAAO,CAACA,IAMjCtrD,KAAKmyE,SAAS+H,aAAa5uB,EACpC,EAEA6uB,GAAMn4E,UAAUw5E,UAAY,SAAoBC,GAC9Cz7E,KAAKmyE,SAAS1iD,OAAOgsD,GACrB9J,GAAW3xE,MAAM,EACnB,EAEAm6E,GAAMn4E,UAAUixE,YAAc,SAAsBrqE,GAClD,IAAI8yE,EAAa17E,KAAKq6E,YACtBr6E,KAAKq6E,aAAc,EACnBzxE,IACA5I,KAAKq6E,YAAcqB,CACrB,EAEAn2E,OAAOwuE,iBAAkBoG,GAAMn4E,UAAWy4E,IAQ3BG,IAAmB,SAAUzH,EAAWwI,GACrD,IAAIlxE,EAAM,CAAC,EA0BX,OAtBAiwE,GAAaiB,GAAQzwE,SAAQ,SAAUkN,GACrC,IAAIzT,EAAMyT,EAAIzT,IACVC,EAAMwT,EAAIxT,IAEd6F,EAAI9F,GAAO,WACT,IAAIooB,EAAQ/sB,KAAK+6E,OAAOhuD,MACpB0lD,EAAUzyE,KAAK+6E,OAAOtI,QAC1B,GAAIU,EAAW,CACb,IAAI7uE,EAASu2E,GAAqB76E,KAAK+6E,OAAQ,EAAY5H,GAC3D,IAAK7uE,EACH,OAEFyoB,EAAQzoB,EAAOk5B,QAAQzQ,MACvB0lD,EAAUnuE,EAAOk5B,QAAQi1C,OAC3B,CACA,MAAsB,mBAAR7tE,EACVA,EAAIO,KAAKnF,KAAM+sB,EAAO0lD,GACtB1lD,EAAMnoB,EACZ,EAEA6F,EAAI9F,GAAKi3E,MAAO,CAClB,IACOnxE,CACT,IAQmBmwE,IAAmB,SAAUzH,EAAWj3B,GACzD,IAAIzxC,EAAM,CAAC,EA0BX,OAtBAiwE,GAAax+B,GAAWhxC,SAAQ,SAAUkN,GACxC,IAAIzT,EAAMyT,EAAIzT,IACVC,EAAMwT,EAAIxT,IAEd6F,EAAI9F,GAAO,WAET,IADA,IAAI+N,EAAO,GAAIu5B,EAAM5xB,UAAUzT,OACvBqlC,KAAQv5B,EAAMu5B,GAAQ5xB,UAAW4xB,GAGzC,IAAI6nC,EAAS9zE,KAAK+6E,OAAOjH,OACzB,GAAIX,EAAW,CACb,IAAI7uE,EAASu2E,GAAqB76E,KAAK+6E,OAAQ,EAAgB5H,GAC/D,IAAK7uE,EACH,OAEFwvE,EAASxvE,EAAOk5B,QAAQs2C,MAC1B,CACA,MAAsB,mBAARlvE,EACVA,EAAI+N,MAAM3S,KAAM,CAAC8zE,GAAQzwD,OAAO3Q,IAChCohE,EAAOnhE,MAAM3S,KAAK+6E,OAAQ,CAACn2E,GAAKye,OAAO3Q,GAC7C,CACF,IACOjI,CACT,IAQiBmwE,IAAmB,SAAUzH,EAAWV,GACvD,IAAIhoE,EAAM,CAAC,EAuBX,OAnBAiwE,GAAajI,GAASvnE,SAAQ,SAAUkN,GACtC,IAAIzT,EAAMyT,EAAIzT,IACVC,EAAMwT,EAAIxT,IAGdA,EAAMuuE,EAAYvuE,EAClB6F,EAAI9F,GAAO,WACT,IAAIwuE,GAAc0H,GAAqB76E,KAAK+6E,OAAQ,EAAc5H,GAOlE,OAAOnzE,KAAK+6E,OAAOtI,QAAQ7tE,EAC7B,EAEA6F,EAAI9F,GAAKi3E,MAAO,CAClB,IACOnxE,CACT,IAQiBmwE,IAAmB,SAAUzH,EAAWsG,GACvD,IAAIhvE,EAAM,CAAC,EA0BX,OAtBAiwE,GAAajB,GAASvuE,SAAQ,SAAUkN,GACtC,IAAIzT,EAAMyT,EAAIzT,IACVC,EAAMwT,EAAIxT,IAEd6F,EAAI9F,GAAO,WAET,IADA,IAAI+N,EAAO,GAAIu5B,EAAM5xB,UAAUzT,OACvBqlC,KAAQv5B,EAAMu5B,GAAQ5xB,UAAW4xB,GAGzC,IAAI+Q,EAAWh9C,KAAK+6E,OAAO/9B,SAC3B,GAAIm2B,EAAW,CACb,IAAI7uE,EAASu2E,GAAqB76E,KAAK+6E,OAAQ,EAAc5H,GAC7D,IAAK7uE,EACH,OAEF04C,EAAW14C,EAAOk5B,QAAQwf,QAC5B,CACA,MAAsB,mBAARp4C,EACVA,EAAI+N,MAAM3S,KAAM,CAACg9C,GAAU35B,OAAO3Q,IAClCsqC,EAASrqC,MAAM3S,KAAK+6E,OAAQ,CAACn2E,GAAKye,OAAO3Q,GAC/C,CACF,IACOjI,CACT,IAgLA,MLz8CA,GOCA,CACItK,KAAM,kBACNsE,MAAO,CACHo3E,OAAQ,CACJ34E,KAAMqC,OACN8jE,UAAU,GAEdyS,QAAS,CACL54E,KAAMwE,MACN2hE,UAAU,EACV9hD,QAAS,IAEbw0D,KAAM,CACF74E,KAAMwE,MACN2hE,UAAU,EACV9hD,QAAS,IAEbgwD,QAAS,CACLr0E,KAAME,OACNimE,UAAU,GAEd2S,SAAU,CACN94E,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEb/jB,MAAO,CACHN,KAAME,OACNimE,UAAU,IAGlB,KAAA76C,CAAM/pB,GACF,MAAMmtE,EAAQL,KACR0K,EAAoB7jE,GAAI,MACxB8jE,EAAiB9jE,IAAI,GACrB+jE,EAAyB/jE,IAAI,GAC7BgkE,EAAgBhkE,GAAI0yB,KAAKuxC,SAASh0E,SAAS,IAAIi0E,OAAO,EAAG,IAEzDC,EAAmB,IAAS,MAC1B93E,EAAMs3E,KAAK7qB,MAAM+d,GAAQA,EAAIuN,SAwB/BC,EAAuB,IAAS,IAAMN,EAAuB/1E,MAAQ,yCAA2C,KAKtH,MAAO,CACH61E,oBACAC,iBACAK,mBACAJ,yBACAO,YA3BgB,WAChBR,EAAe91E,OAAS81E,EAAe91E,KAC3C,EA0BIu2E,iBAxBqB,WACrBR,EAAuB/1E,OAAS+1E,EAAuB/1E,KAC3D,EAuBIw2E,YArBgB,SAAUp5E,GAC1BouE,EAAM50B,SAAS,wBAAyB,CACpC6/B,WAAYr5E,EACZiI,MAAO,CAAC,QAAS,SACjBqxE,YAAar4E,EAAM8yE,UAEvB3F,EAAM50B,SAAS,gBAAiB,CAAEz8C,MAAM,GAC5C,EAeIk8E,uBACAM,mBAbwBryE,GAASA,EAAK6tC,OAAS,iDAAmD7tC,EAAK6tC,OAAS,GAchHykC,0BAb8B,IAAMv4E,EAAMs3E,KAAK,IAAI9M,IAAI,IAAI9uE,KAc3D88E,2BAb+B,IAAMx4E,EAAMs3E,KAAK,IAAI9M,IAAI,IAAI9uE,KAc5Di8E,gBAER,GC9EJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,sCRCvC,EAAAJ,eA4FhB,GAsCM,aArCFzwE,MAAK,GAAC,gEACE,EAAA2wE,eAAiB,+BAAiC,OAE1D,GAcS,UAbL3wE,MAAM,+BACD,QAAK,oBAAE,EAAAmxE,aAAA,EAAAA,eAAA,IACX,iBAAgB,EAAAR,eAChB,gBAAe,EAAAE,cACft/D,GAAE,GAAK,EAAAs/D,yBAER,GAKM,MALN,GAKM,CAJF,GAAwF,OAAxF,GAAwF,GAArC,EAAAY,6BAAyB,GAC5E,KAIJ,GAA0F,OAA1F,GAA0F,GAAtC,EAAAC,8BAA0B,UAGzC,EAAAf,mCAAzC,GAiBM,aAjBD3wE,MAAM,uBAA+CuR,GAAI,EAAAs/D,cAAelR,KAAK,SAAU,kBAAe,GAAK,EAAAkR,yBAC5G,GAeQ,QAfR,GAeQ,CAdJ,GAaQ,QAbR,GAaQ,SAZJ,GAWW,WAXyB,EAAAL,MAAI,CAAtB9M,EAAKiO,qBAAyBA,GAAQ,CAC1CA,EAAW,QAArB,GASK,YARD3xE,MAAK,GAAC,yCACK0jE,EAAIuN,OAAS,EAAAL,uBAAyB,+CAAiD,eAElG,GAIW,WAJ2BlN,EAAIA,KAAG,CAA3BvkE,EAAMyyE,UACpB,GAEK,UAH4CA,EAC7C5xE,MAAK,GAAC,+CAAuD,EAAAwxE,mBAAmBryE,OAChF,GAA8B,OAAzB,UAAQA,EAAKvK,sFA1HlD,GA0FU,iBA1FgBiY,IAAI,oBAAoB7M,MAAK,GAAC,iCAAyC,EAAAkxE,yBAC7F,GAwFM,MAxFN,GAwFM,CAvFF,GAsFQ,SAtFDlxE,MAAM,8BAA+B,aAAY,EAAA/H,QACvC,EAAAs4E,QAAQl1E,OAAS,QAA9B,GAuCQ,QAvCR,GAuCQ,CAtCJ,GAqCK,KArCL,GAqCK,SApCD,GAmCW,WAnCuB,EAAAk1E,SAAO,CAAvBpxE,EAAMkD,UACpB,GAiCK,UAlCwCA,EAEzCrC,MAAK,GAAC,iDACKb,EAAK6tC,OAAS,mDAAqD7tC,EAAK6tC,OAAS,KAC3F3pC,MAAOlE,EAAKkE,QACb,GAA8B,OAAzB,UAAQlE,EAAKvK,iBAGR,EAAO,cAFjB,GA2BS,gBA1BA,QAAK,GAAE,EAAAy8E,YAAYlyE,EAAK0yE,cAE7B7xE,MAAM,qCACN,gBAAc,OACb,aAAY,EAAAswE,OAAOwB,mBACpB7R,SAAS,iEA0B7B,GA4CQ,QA5CR,GA4CQ,SA3CJ,GAWW,WAXyB,EAAAuQ,MAAI,CAAtB9M,EAAKiO,UACnB,GASK,UAVuCA,EAExC3xE,MAAK,GAAC,yCACK0jE,EAAIuN,OAAS,EAAAL,uBAAyB,+CAAiD,eAElG,GAIW,WAJ2BlN,EAAIA,KAAG,CAA3BvkE,EAAMyyE,UACpB,GAEK,UAH4CA,EAC7C5xE,MAAK,GAAC,+CAAuD,EAAAwxE,mBAAmBryE,OAChF,GAA8B,OAAzB,UAAQA,EAAKvK,2CAMlB,EAAgB,uBAC5B,GA2BK,SA1BD,GAyBK,KAzBL,GAyBK,CAxBD,GAuBS,UAtBA,QAAK,oBAAE,EAAAw8E,kBAAA,EAAAA,oBAAA,IACZpxE,MAAM,8DACL,gBAAe,EAAA4wE,yBAChB,GAAyF,eAAhF,EAAAA,uBAAyB,EAAAN,OAAOyB,eAAiB,EAAAzB,OAAO0B,gBAAc,GAC/E,iDSvEvBC,GAAmBp7D,IAC5B,MAAMq7D,EAAS,GAEf,OAAIr7D,EAAKhc,QAELgc,EAAKm1D,QAELkG,EAAO3vE,KAAK,CACR3N,KAAM,OAAOiiB,EAAK5e,aAClBoL,MAAO,MACP2oE,QAASn1D,EAAKm1D,QACd6F,aAAch7D,EAAK5e,MACnB+0C,OAAQ,YAGZklC,EAAO3vE,KAAK,CAAE3N,KAAM,OAAOiiB,EAAK5e,aAAcoL,MAAO,SAZlC6uE,CAehBA,EAGEC,GAAgBt7D,IACzB,MAAM25D,EAAO,GAqBb,OAnBI35D,EAAKhc,OACL21E,EAAKjuE,KAAK,CACNmhE,IAAK,CAAC,CAAE9uE,KAAMiiB,EAAK5e,OAAS,CAAErD,KAAMiiB,EAAKhc,MAAOmyC,OAAQ,iBAIhEn2B,EAAKjV,OAAOjC,SAASR,IACjBqxE,EAAKjuE,KAAK,CACN0uE,KAAM9xE,EAAK8xE,KACXvN,IAAK,CACD,CAAE9uE,KAAMuK,EAAK/F,KACb,CACIxE,KAAMuK,EAAKtE,MACXmyC,OAAQ,gBAGnB,IAGEwjC,GVzCT,GWGF,CACI57E,KAAM,yBACNm8B,WAAY,CACRqhD,gBAAe,IAEnBl5E,MAAO,CACHm5E,OAAQ,CACJ16E,KAAMwE,MACN2hE,UAAU,GAEdwS,OAAQ,CACJ34E,KAAMqC,OACN8jE,UAAU,IAGlB,KAAA76C,CAAM/pB,GACF,MAAMo5E,EAAczlE,GAAI,IA6ElB0lE,EAAY,KA3EG,MAEjB,MAAMC,EAAQ,GAsBd,OArBAt5E,EAAMm5E,OAAO1yE,SAAQ,CAAC8yE,EAAYC,KAC9B,IAAIC,EAAe,EAEnBF,EAAW9yE,SAASizE,IAChBA,EAAMP,OAAO1yE,SAAQ,CAACkzE,EAAOC,KACzBN,EAAMjwE,KAAK,CACPtK,MAAO26E,EAAM36E,MACb86E,UAA0B,IAAfD,EACXH,aAAcA,EACdE,MAAO,CACHtC,QAAS0B,GAAgBY,GACzB7G,QAAS6G,EAAM7G,QACfwE,KAAM2B,GAAaU,GACnBpC,WAAUoC,EAAMh4E,MAChB0iD,OAAQm1B,KAGhBC,GAAY,GACf,GACJ,IAEEH,GAoDOQ,GA/CRrzE,SAASszE,SACwCv5E,IAA/C44E,EAAYz3E,MAAMo4E,EAAWN,cAC7BL,EAAYz3E,MAAMo4E,EAAWN,cAAgB,CAACA,aAAcM,EAAWN,aAAcI,UAAWE,EAAWF,UAAWG,OAAQ,CAACD,EAAWh7E,OAAQo6E,OAAQ,CAACY,EAAWJ,SAEtKP,EAAYz3E,MAAMo4E,EAAWN,cAAcN,OAAO9vE,KAAK0wE,EAAWJ,OAClEP,EAAYz3E,MAAMo4E,EAAWN,cAAcO,OAAO3wE,KAAK0wE,EAAWh7E,OACtE,IAoBJq6E,EAAYz3E,MAAM8E,SAASszE,IACvBA,EAAWZ,OAAO1yE,SAAQ,CAACkzE,EAAOC,KAjBhB,EAACG,EAAYJ,EAAOC,KAC1C,MAAMK,EAAaF,EAAWZ,OAAsB,IAAfS,EAAmB,EAAI,GACxDK,GAEAN,EAAMrC,KAAK7wE,SAAQ,CAAC+jE,EAAK0P,KACrB,MAAMC,EAAU3P,EAAIA,IAAI,GAAG9uE,KACrB0+E,EAAWH,GAAY3C,MAAM7qB,MAAM4tB,GAAaA,EAAS7P,IAAI,GAAG9uE,OAASy+E,IAE1EC,GACDH,GAAY3C,MAAMt0E,OAAOk3E,EAAU,EAAG,CAAC1P,IAAK,CAAC,CAAC9uE,KAAMy+E,GAAU,CAACz+E,KAAM,IAAKo4C,OAAQ,gBACtF,GAER,EAMQwmC,CAAkBP,EAAYJ,EAAOC,EAAU,GAClD,IAqBLR,EAAYz3E,MAAM2X,MAAK,CAAC3b,EAAG0J,IAAM1J,EAAE87E,aAAepyE,EAAEoyE,cAAY,EAapE,OAVArzD,IAAM,IAAMpmB,EAAMm5E,SAAQ,CAACzlE,EAAQ6mE,KAC/BnB,EAAYz3E,MAAQ,GACpB03E,GAAU,GACX,CAAE/yD,MAAM,IAEXqC,IAAU,KACN0wD,GAAU,IAIP,CACHD,cACAoB,2BAhC+B,CAACd,EAAOe,KACvC,GAA4B,IAAxBf,EAAMP,OAAOh3E,OACb,OAAQu3E,EAAMP,OAAO,GAAG90B,QACpB,KAAK,EACD,OAAOo2B,EAAY,UACvB,KAAK,EACD,OAAOA,EAAY,SACvB,QACI,MAAO,GAEnB,EAwBR,GChHJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,yEZCzD,GAwBU,UAxBV,GAwBU,SAtBN,GAoBW,WApB2B,EAAArB,aAAW,CAAhCM,EAAOgB,qBAAiCA,GAAU,CACtDhB,EAAe,gBAA1B,GAIM,aAJsB5yE,MAAK,GAAC,sCAA8C,EAAA0zE,2BAA2Bd,EAAO,mDAChH,GAEM,WAF2BA,EAAMM,QAAM,CAAjCj7E,EAAO47E,UAAnB,GAEM,YADJ,GAAsE,KAAtE,GAAsE,GAAb57E,GAAK,iCAIlE,GAYM,OAZD+H,MAAK,GAAC,sCAA8C,EAAA0zE,2BAA2Bd,EAAO,mDACzF,GAUM,WAV2BA,EAAMP,QAAM,CAAjCQ,EAAOC,UAAnB,GAUM,OAV0C15E,IAAK05E,GAAU,CACnDF,EAAe,gBAAzB,GAAuK,KAAvK,GAAuK,GAAhCA,EAAMM,OAAOJ,IAAU,kBAC9J,GAOE,GANCvC,QAASsC,EAAMtC,QACfvE,QAAS6G,EAAM7G,QACfyE,SAAUoC,EAAMpC,SAChBD,KAAMqC,EAAMrC,KACZF,OAAQ,EAAAA,OACRr4E,MAAO26E,EAAMM,OAAOJ,gHalBtB9yE,MAAM,+BACPA,MAAM,6DAGPA,MAAM,uCACCA,MAAM,2CACZ,GAMM,OANDA,MAAM,wCAAsC,CAC7C,GAIM,OAJDA,MAAM,oBAAkB,CACzB,GAEM,OAFD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5E,GAAiH,QAA3G9jD,KAAK,UAAUxmB,EAAE,8FAb/C,GCFA,CACIjF,KAAM,oBACNsE,MAAO,CACH2d,KAAM,CACFlf,KAAMqC,OACN8jE,UAAU,IAGlB,KAAA76C,CAAM/pB,GAAQ,GCDlB,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFCvD,GAcU,UAdV,GAcU,CAbN,GAAgE,KAAhE,GAAgE,GAAlB,EAAA2d,KAAK5e,OAAK,GACxD,GAAkF,OAA7E+H,MAAM,uCAAuC,UAAQ,EAAA6W,KAAKi9D,wBAEd,EAAAj9D,KAAS,WAA1D,GASI,IATJ,GASI,CARA,GAA8E,OAA9E,GAA8E,GAAxB,EAAAA,KAAKk9D,KAAK/uC,MAAI,GACpE,0BGVZ,GCCA,CACIpwC,KAAM,wBACNsE,MAAO,CACH86E,UAAW,CACPr8E,KAAMqC,OACN8jE,UAAU,IAGlB,KAAA76C,CAAM/pB,GACF,MAAMmtE,EAAQL,KAGdnkD,IAAU,KACNwkD,EAAM50B,SAAS,sBAAuB,CAClClgC,GAAIrY,EAAM86E,UAAUC,SACpB9lE,OAAQjV,EAAM86E,YAGL3/E,OAAO6C,SAASg9E,KAAKr7E,QAAQ,IAAK,MAClCK,EAAM86E,UAAUC,UACzB58E,YAAW,KACPgvE,EAAM50B,SAAS,wBAAyB,CACpC6/B,WAAYp4E,EAAM86E,UAAU/7E,MAC5Bs5E,YAAar4E,EAAM86E,UAAUF,YAC7B5zE,MAAO,CAAC,aAAc,WAE1BmmE,EAAM50B,SAAS,gBAAiB,CAAEz8C,MAAM,GAAM,GAC/C,GACP,GAER,GC1BJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,+CCJ5C,SAAS,GAAC6e,EAAWsgE,GAChC,IAAMj7E,EAAQ,CAAC,EAEf,GAAK2a,EAAU3a,MAcf,OAbAc,OAAO6G,KAAKgT,EAAU3a,OAAOyG,SAAQ,SAAUy0E,GAC3C,IAAMz8E,EAAOkc,EAAU3a,MAAMk7E,GAAcz8E,KAAK/C,KAG1CiiB,EAAOs9D,EAAahV,QAC1BnlE,OAAO6G,KAAKgW,GAAMlX,SAAQ,SAAU00E,GAC5BD,IAAiBC,IAEjBn7E,EAAMk7E,GAAgBE,GAAiB38E,EAAMkf,EAAKw9D,IAE1D,GACJ,IAEOn7E,CACX,CAEA,IASMo7E,GAAmB,SAAU38E,EAAMkf,GACrC,OAAQlf,GACJ,IAAK,SACD,OAAOkf,EAAO1V,KAAKikE,MAAMvuD,GAAQ,CAAC,EACtC,IAAK,QACD,OAAOA,EAAO1V,KAAKikE,MAAMvuD,GAAQ,GACrC,IAAK,UACD,MAAgB,SAATA,EACX,IAAK,SACD,OAAOpY,WAAWoY,GACtB,QACI,OAAOA,EAEnB,YCpCa7W,MAAM,oCACFA,MAAM,2CACHA,MAAM,0CACPA,MAAM,sDAQIA,MAAM,qCAClBA,MAAM,mDACF2/D,KAAK,eAAewE,QAAQ,YAAYnkE,MAAM,uJA8B9CA,MAAM,wCAECA,MAAM,8CACNA,MAAM,8CACNA,MAAM,8CACNA,MAAM,+DAOlBA,MAAM,2CACDA,MAAM,iDACHA,MAAM,iDACNA,MAAM,iDAEAA,MAAM,wDAGfA,MAAM,iDACHA,MAAM,iDACNA,MAAM,uDAEAA,MAAM,oDC1ErB,SAAS,GAACnF,GACrB,OAAIA,QAA8C,IAGrC,KADbA,GADAA,EAAQA,EAAMiC,YACAjE,QAAQ,UAAW,OAE7BgC,EAAQ+D,OAAO/D,GAAOiC,YAE1BjC,EAAQA,EAAMhC,QAAQ,wBAAyB,KAEnD,CCNA,MFDA,GECA,CACIjE,KAAM,oBACNsE,MAAO,CACH2d,KAAM,CACFlf,KAAMqC,OACN8jE,UAAU,GAEdwS,OAAQ,CACJ34E,KAAMqC,OACN8jE,UAAU,GAEdyW,SAAU,CACN58E,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEbw4D,WAAY,CACR78E,KAAM2C,SACNwjE,UAAU,EACV9hD,QAAS,QAEby4D,gBAAiB,CACb98E,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,IAGjB,KAAAiH,CAAM/pB,GACF,MAAMw7E,EAAuB,IAAS,KAClC,MAAMC,EAAQz7E,EAAM2d,KAAK+9D,cAAgB17E,EAAM2d,KAAKg+D,kBAEpD,OADiB37E,EAAM2d,KAAKg+D,kBAAoBF,EAAS,KAC1CG,QAAQ,EAAC,IAGtBC,EAAiC,IAAS,KAC5C,MAAMJ,EAAQz7E,EAAM2d,KAAK+9D,cAAgB17E,EAAM2d,KAAKg+D,kBAAoB37E,EAAM2d,KAAKm+D,4BAEnF,OADiB97E,EAAM2d,KAAKm+D,4BAA8BL,EAAS,KACpDG,QAAQ,EAAC,IAGtBG,EAAgB,KAClBh/E,SAASi8C,iBAAiB,wCAAwCvyC,SAASqsE,GAAYA,EAAQlwE,WAC/F7F,SAAS42C,oBAAoB,QAASooC,GAAe,GACrDh/E,SAAS42C,oBAAoB,aAAcqoC,GAAyB,GACpEj/E,SAAS42C,oBAAoB,YAAasoC,GAAsB,EAAI,EAGlED,EAA0B,KAC5Bj/E,SAASi8C,iBAAiB,wCAAwCvyC,SAASqsE,GAAYA,EAAQlwE,WAC/F7F,SAAS42C,oBAAoB,aAAcqoC,GAAyB,GACpEj/E,SAAS42C,oBAAoB,YAAasoC,GAAsB,EAAI,EAGlEC,EAAgB1/E,IAClB,MAAMm8E,EAAen8E,EAAEyB,OAAOgoE,QAAQ0S,aAChChH,EAAQn1E,EAAEyB,OAAOk6C,aAAa,UAE9BgkC,EACC3/E,EAAE4/E,QADHD,EAEC3/E,EAAE6/E,QAIHvJ,EAAU/1E,SAASsB,cAAc,OAEvCy0E,EAAQ//B,UAAU/lC,IAAI,uCACtB8lE,EAAQ9rE,MAAMstE,gBAAkB3C,EAChCmB,EAAQ9rE,MAAM2zC,IAASx/C,OAAOmhF,QAAUH,EAAa,EAAjC,KACpBrJ,EAAQ9rE,MAAMyzC,KAAO,GAAG0hC,MAExBrJ,EAAQ1yC,UAAYu4C,EAGpB57E,SAASiC,KAAKyxC,YAAYqiC,EAAO,EAS/BmJ,EAAwBz/E,IAC1Bw/E,EAAwBx/E,GACxB0/E,EAAa1/E,GACbO,SAAS82C,iBAAiB,aAAcmoC,GAAyB,GACjEj/E,SAAS82C,iBAAiB,YAAaooC,GAAsB,EAAI,EAGrE,MAAO,CACHT,uBACAK,iCACAU,uBAAsB,GACtBpE,YAjBiB37E,IACjBu/E,EAAcv/E,GACd0/E,EAAa1/E,GACbO,SAAS82C,iBAAiB,QAASkoC,GAAe,EAAI,EAetDE,uBACAF,gBAER,GC7FJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CHCvD,GAyEU,WAzEDj1E,MAAK,GAAC,yBAAwB,mCAA8C,EAAAu0E,cACjF,GASM,MATN,GASM,CARF,GAOM,MAPN,GAOM,CANF,GAAoE,KAApE,GAAoE,GAAlB,EAAA19D,KAAK5e,OAAK,GAC5D,GAA8E,IAA9E,GAA8E,GAAvB,EAAA4e,KAAKi9D,aAAW,GAEZ,EAAe,sBAA1E,GAES,gBAFI,QAAK,oBAAE,EAAAU,YAAA,EAAAA,cAAA,IAAY,gBAAc,OAA8Bx0E,MAAM,6CAC3E,EAAA6W,KAAK6+D,aAAW,sBAKpB,EAAQ,eAAnB,GAyCM,MAzCN,GAyCM,CAxCF,GAuCM,MAvCN,GAuCM,OAtCF,GA4BM,MA5BN,GA4BM,CA3BF,GAQwF,QAP/E,QAAK,oBAAE,EAAArE,aAAA,EAAAA,eAAA,IACP,aAAU,oBAAE,EAAA8D,sBAAA,EAAAA,wBAAA,IAChB,qBAAoB,EAAAt+D,KAAK8+D,cAC1B31E,MAAM,qCACN,eAAa,MACbukE,OAAO,UACP,mBAAiB,WACjB1qE,EAAE,6FACN,GAQwF,QAP/E,QAAK,oBAAE,EAAAw3E,aAAA,EAAAA,eAAA,IACP,aAAU,oBAAE,EAAA8D,sBAAA,EAAAA,wBAAA,IAChB,qBAAoB,EAAAt+D,KAAK++D,kBAC1B51E,MAAM,qCACN,eAAa,MACbukE,OAAO,UACN,mBAAgB,GAAK,EAAAmQ,4BACtB76E,EAAE,6FACN,GAQwF,QAP/E,QAAK,oBAAE,EAAAw3E,aAAA,EAAAA,eAAA,IACP,aAAU,oBAAE,EAAA8D,sBAAA,EAAAA,wBAAA,IAChB,qBAAoB,EAAAt+D,KAAKg/D,4BAC1B71E,MAAM,qCACN,eAAa,MACbukE,OAAO,UACN,mBAAgB,GAAK,EAAAwQ,sCACtBl7E,EAAE,gGAGV,GAOM,MAPN,GAOM,CANF,GAKK,WAJD,GAA+F,KAA/F,GAA+F,GAAzC,EAAAgd,KAAKi/D,8BAA4B,GACvF,GAAoG,KAApG,GAAoG,GAA9C,EAAAj/D,KAAKk/D,mCAAiC,GAC5F,GAA8F,KAA9F,GAA8F,GAAxC,EAAAl/D,KAAKm/D,6BAA2B,GACtF,GAAyG,KAAzG,GAAyG,GAA7C,EAAAn/D,KAAKo/D,kCAAgC,kBAMjH,GAiBM,UAhBF,GAeK,KAfL,GAeK,CAdD,GAMM,MANN,GAMM,CALF,GAAkG,KAAlG,GAAkG,GAAzC,EAAAp/D,KAAKi/D,8BAA4B,GAC1F,GAGK,KAHL,GAGK,OAFE,EAAAj/D,KAAKk/D,mCAAoC,IAC5C,MAAiG,OAAjG,GAAiG,GAA/B,EAAAzF,OAAO4F,gBAAc,OAG/F,GAMM,MANN,GAMM,CALF,GAAiG,KAAjG,GAAiG,GAAxC,EAAAr/D,KAAKm/D,6BAA2B,GACzF,GAGK,KAHL,GAGK,OAFE,EAAAn/D,KAAKo/D,kCAAmC,IAC3C,MAAiG,OAAjG,GAAiG,GAA/B,EAAA3F,OAAO4F,gBAAc,wBIjElGl2E,MAAM,sJAeFA,MAAM,mDAOP,GAAiD,QAA3CA,MAAM,+BAA6B,aAE7C,GAEM,OAFDA,MAAM,iCAA+B,CACtC,GAAsD,QAAhDA,MAAM,8CAGfA,MAAM,yBAAyB,YAAU,cACxCA,MAAM,0BAA0B,YAAU,UCtCzC,SAAS,GAACm2E,EAAUC,EAASC,EAAYrY,GACpD,OAAOmY,EACDA,EAAS5wE,KAAKrM,MAAMo9E,UAAWD,EAAWx7E,MAAOu7E,EAAQv7E,OACzDmjE,CACV,CCUe,SAAS,GAACuY,EAAeC,GACpC,MAAO,CACH5hF,KAAM2hF,EACNr9E,MAAO,CACHggE,OAAQ,CACJvhE,KAAME,OACNimE,UAAU,GAEd2Y,aAAc,CACV9+E,KAAME,OACNmkB,QAAS,OAEby4B,WAAY,CACR98C,KAAM,CAACE,OAAQ+G,OAAQsjB,SACvB47C,UAAU,GAEdwY,UAAW,CACP3+E,KAAME,OACNimE,UAAU,GAEd4Y,OAAQ,CACJ/+E,KAAME,OACNimE,UAAU,GAEd6Y,WAAY,CACRh/E,KAAMuqB,QACN47C,UAAU,GAEdwM,MAAO,CACH3yE,KAAME,OACNimE,UAAU,GAEdhgD,YAAa,CACTnmB,KAAME,OACNimE,UAAU,GAEd8Y,kBAAmB,CAGfj/E,KAAMuqB,QACN47C,UAAU,EACV9hD,QAAS,MAEbo6D,QAAS,CAGLz+E,KAAMuqB,QACN47C,UAAU,EACV9hD,QAAS,MAEb66D,kBAAmB,CACfl/E,KAAME,OACNimE,UAAU,GAEdgZ,iBAAkB,CACdn/E,KAAME,OACNimE,UAAU,GAEdnmE,KAAM,CACFA,KAAME,OACNimE,UAAU,EACV9hD,QAAS,QAEb+6D,UAAW,CACPp/E,KAAMiH,OACNk/D,UAAU,GAEdE,iBAAkB,CACdrmE,KAAM2C,SACNwjE,UAAU,EACV9hD,QAAS,WAAO,GAEpBm6D,SAAU,CACNx+E,KAAM2C,SACNwjE,UAAU,EACV9hD,QAAS,MAEbg7D,kBAAmB,CACfr/E,KAAM2C,SACNwjE,UAAU,EACV9hD,QAAS,MAEbi7D,aAAc,CACVt/E,KAAMqC,OACN8jE,UAAU,GAEdoZ,WAAY,CACRv/E,KAAMwE,MACN2hE,UAAU,GAEdqZ,cAAe,CACXx/E,KAAMqC,OACN8jE,UAAU,GAEd57B,SAAU,CACNvqC,KAAMuqB,QACN47C,UAAU,GAEdsZ,eAAgB,CACZz/E,KAAME,OACNimE,UAAU,EACV9hD,QAAS,UAGjBiH,MAAK,SAAC/pB,EAAKm+E,GAAY,IAAAC,EAAAC,EAARtkE,EAAIokE,EAAJpkE,KACLukE,EAAW3qE,GAAI,MACfwpE,EAAaxpE,GAAmD,QAAhDyqE,EAAiB,QAAjBC,EAACr+E,EAAMu7C,kBAAU,IAAA8iC,EAAAA,EA9GtB,SAAUr+E,GACnC,OAAOA,EAAM+9E,aAAej9E,OAAO4H,OAAO1I,EAAM+9E,cAAc,GAAGp8E,MAAQ,IAC7E,CA4GuD48E,CAAqBv+E,UAAM,IAAAo+E,EAAAA,EAAI,IAIpEI,EAA2BjxE,IAAS,kBAMV,OAA5BvN,EAAM09E,kBACA19E,EAAM09E,kBACN19E,EAAM89E,kBACN99E,EAAM89E,kBAAkBX,EAAWx7E,OACO,mBAAnC27E,EAAaQ,mBACpBR,EAAaQ,kBAAkBX,EAAWx7E,MACtC,IAUd,MAAO,CACHs7E,SARawB,GAAoBz+E,EAAMi9E,SAAUuB,EAA0BrB,EAAYn9E,EAAM8kE,kBAS7F0Z,yBAAAA,EACArB,WAAAA,EACAmB,SAAAA,EACAI,WAVe,WACf3kE,EAAK,oBAAqB,IAC1B5b,YAAW,kBAAMmgF,EAAS38E,MAAMikE,OAAO,GAAE,IAC7C,EASJ,EAER,CCzJA,MHAA,GGAgB+Y,GAAuB,mBAAoB,CACvDb,kBAAkBllB,MACJA,EAAMz2D,OAAS,KCGjC,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CJCvD,GAiCM,OAhCF2E,MAAK,GAAC,+CAA8C,GACzC,EAAA42E,kBAAoB,kBAAoB,KAAK,EAAA1d,OAAS,oBAAsB,SACvF,GA2BM,MA3BN,GA2BM,CA1BF,GAYkC,SAX9BrsD,IAAI,WACHhS,MAAO,EAAA45C,WACP,QAAK,eAAE,EAAA/nB,MAAM,oBAAqBorD,EAAO3gF,OAAO0D,QAChDlD,KAAM,EAAAA,KACPqI,MAAM,2BACLy2E,aAAc,EAAAA,aACdllE,GAAI,EAAA+kE,UACJ1hF,KAAM,EAAA0hF,UACN,mBAAgB,GAAK,EAAAA,kBACrB,eAAc,EAAAM,kBACd9Y,SAAU,EAAA6Y,WACV,gBAAe,EAAAA,wBACpB,GAA4E,SAArE32E,MAAM,2BAA4B6Y,IAAK,EAAAy9D,cAAc,EAAAhM,OAAK,MACpB,EAAM,aAAnD,GAAuE,MAAvE,GAAuE,GAAf,EAAApR,QAAM,kBAC9D,GAOS,UANLvhE,KAAK,SACJ,QAAK,oBAAE,EAAAigF,YAAA,EAAAA,cAAA,IACP,aAAU,oBAAE,EAAAA,YAAA,EAAAA,cAAA,IACb53E,MAAM,mDACL,aAAY,EAAAo3E,0BAGjB,KAIJ,GAAmF,MAAnF,GAAmF,GAAzB,EAAAN,kBAAgB,GAC1E,GAAuF,OAAvF,GAAuF,GAA3B,EAAAD,mBAAiB,eKhCvE72E,MAAM,kEACJA,MAAM,yBAAyBuR,GAAG,wBACrCvR,MAAM,2BAA2B2/D,KAAK,aAAa,kBAAgB,wBAIvD3/D,MAAM,8GAWP,GAGM,OAHDA,MAAM,kDAAgD,CACvD,GAAyE,OAApEA,MAAM,0DACX,GAAyE,OAApEA,MAAM,oFAQzBA,MAAM,gCAAwD,YAAU,oBACxEA,MAAM,iCAAsF,YAAU,UAhCpH,GCAgB63E,GAAuB,sBAAuB,CAC1Db,kBAAkBllB,GACPA,ICGf,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFCvD,GA+BW,WA/BX,GA+BW,CA9BP,GAAiF,SAAjF,GAAiF,GAAjB,EAAAwY,OAAK,GACrE,GAuBM,MAvBN,GAuBM,CAtBF,qBACA,GAoBW,WApByB,EAAA2M,cAAY,CAA9BvhC,EAAQrzC,UACtB,GAkBM,WAnB8CA,EAC/CrC,MAAM,0DACP,GAeM,MAfN,GAeM,IAdF,GASoC,SARhCA,MAAM,gDACNrI,KAAK,QACJkD,MAAO66C,EAAO76C,2CACN,EAAU,cAClBjG,KAAM,EAAA0hF,UACN,eAAc5gC,EAAOb,QACrBA,QAASa,EAAOb,QAChB4hC,aAAc,EAAAA,aACdllE,GAAE,GAAK,EAAA+kE,aAAaj0E,qBALZ,EAAAg0E,cAMb,KAKJ,GAA8G,SAAvGr2E,MAAM,wCAAyC6Y,IAAG,GAAK,EAAAy9D,aAAaj0E,QAAYqzC,EAAO40B,OAAK,mBAK7D,EAAgB,uBAAlE,GAAoH,OAApH,GAAoH,GAA1B,EAAAwM,kBAAgB,kBACvD,EAAAY,0BAA4B,EAAAd,wBAA/E,GAES,OAFT,GAES,GADL,EAAAC,mBAAiB,4BG5BhB72E,MAAM,0BACFA,MAAM,uBACFA,MAAM,+BACHuR,GAAG,eAAevR,MAAM,oCAExBA,MAAM,sEAQN,GAWM,OAXD2/D,KAAK,eAAesE,MAAM,KAAKC,OAAO,KAAKC,QAAQ,YAAY9jD,KAAK,OAAO+jD,MAAM,+BAClF,GAIqB,QAHjB,YAAU,UACV,YAAU,UACVvqE,EAAE,mFACFwmB,KAAK,YACT,GAIqB,QAHjB,YAAU,UACV,YAAU,UACVxmB,EAAE,mFACFwmB,KAAK,4BAKKrgB,MAAM,uDAOdA,MAAM,kBACxB,GAEM,OAFDA,MAAM,uBAAqB,CAC5B,GAA+C,OAA1CA,MAAM,sCCS/B,MAAM+3E,GAAyB,CAAC,IAAK,UAAW,SAAU,QAAS,SAAU,gBC/ChE/3E,MAAM,oCACPA,MAAM,0CAEEA,MAAM,2DAEsCA,MAAM,oDAMnDA,MAAM,2DACLA,MAAM,kFAcN,GAOM,OAPDA,MAAM,wGAAsG,CAC7G,GAKM,OALDA,MAAM,oBAAkB,CACzB,GAGM,OAHD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5E,GACkG,QAD5F9jD,KAAK,UACLxmB,EAAE,8FAlCpC,GCAJ,CACIjF,KAAM,wBACNsE,MAAO,CACH8+E,mBAAoB,CAChBrgF,KAAMwE,MACN2hE,UAAU,EACV9hD,QAAS,IAEbs0D,OAAQ,CACJ34E,KAAMqC,OACN8jE,UAAU,GAEdma,iBAAkB,CACdtgF,KAAME,OACNimE,UAAU,EACV9hD,QAAS,IAEb3Z,MAAO,CACH1K,KAAMiH,OACNk/D,UAAU,EACV9hD,QAAS,GAEbw4D,WAAY,CACR78E,KAAM2C,SACNwjE,UAAU,EACV9hD,QAAS,SAGjBiH,MAAM/pB,IAOK,CACHg/E,eAPoBC,IAChBj/E,EAAMs7E,YACNt7E,EAAMs7E,WAAW2D,EAAUj/E,EAAMmJ,MACrC,KC3BZ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFCvD,GAqCU,UArCV,GAqCU,CApCN,GAmCK,KAnCL,GAmCK,SAlCD,GAiCK,WAjCuE,EAAA21E,oBAAkB,CAAlCI,EAAM/1E,UAAlE,GAiCK,MAjCDrC,MAAM,0CAAuF5G,IAAKiJ,IAClG,GAOK,KAPL,GAOK,OANE+1E,EAAKngF,OAAQ,IAChB,GAAYmgF,EAAKzgF,OAAS,EAAAsgF,uBAA1B,GAIO,OAJP,GAIO,GAFH,EAAA3H,OAAO+H,uBAAqB,oBAIpC,GAAyF,IAAzF,GAAyF,GAAvBD,EAAKtE,aAAW,GAClF,GAOK,KAPL,GAOK,SAND,GAKK,WAJgCsE,EAAKE,SAAO,CAArCC,EAAQC,UADpB,GAKK,MALDx4E,MAAM,uDAEL5G,IAAKo/E,IACN,GAA6B,eAApBD,EAAOn/E,KAAG,GACnB,GAA+B,eAAtBm/E,EAAO19E,OAAK,gBAIfu9E,EAAKzgF,OAAS,EAAAsgF,uBAA5B,GAaS,gBAZI,QAAK,GAAE,EAAAC,eAAeE,EAAKzgF,MAChCqI,MAAM,iDACL,aAAU,GAAK,EAAAswE,OAAOmI,wBAAwBL,EAAKngF,gBACrD,EAAAq4E,OAAOmI,qBAAsB,IAChC,mDG1BPz4E,MAAM,8BACX,GAAW,wBACNA,MAAM,uCASFA,MAAM,qDACGA,MAAM,6CACJA,MAAM,yDAEgCA,MAAM,sBACzC6Y,IAAI,uBAAuB7Y,MAAM,8CAavCA,MAAM,sBACA6Y,IAAI,2BAA2B7Y,MAAM,oDAa1CA,MAAM,6CACJA,MAAM,mDACTA,MAAM,sBACA6Y,IAAI,uBAAuB7Y,MAAM,8CAcnDA,MAAM,uCC5DNA,MAAM,8BCNJ,SAAS,GAACnF,GACrB,OAAOA,EAAMiC,WAAW47E,WAAW,IAAK,GAC5C,CCIA,MFJA,GEIA,CACI9jF,KAAM,uBACNm8B,WAAY,CACR4nD,oBAAmB,GACnBC,iBAAgB,IAEpB1/E,MAAO,CACHo3E,OAAQ,CACJ34E,KAAMqC,OACN8jE,UAAU,GAEd+a,aAAc,CACVlhF,KAAMwE,MACN2hE,UAAU,GAEdgb,SAAU,CACNnhF,KAAMqC,OACN8jE,UAAU,GAEdE,iBAAkB,CACdrmE,KAAM2C,SACNwjE,UAAU,GAEdib,cAAe,CACXphF,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEbg9D,iBAAkB,CACdrhF,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,IAGjB,KAAAiH,CAAM/pB,GACF,MAAM+/E,EAAapsE,GAAI3T,EAAM4/E,UAAUG,WAAa,EAAI//E,EAAM4/E,UAAUG,WAAa,IAC/EC,EAAgBrsE,GAAI3T,EAAM4/E,UAAUG,YAAc,IAClDE,EAAatsE,GAAI3T,EAAM4/E,UAAUK,WAAa,EAAIjgF,EAAM4/E,UAAUK,WAAa,IAC/EC,EAAgBvsE,GAAI3T,EAAM4/E,UAAUK,YAAc,IAClDE,EAAcxsE,GAAI3T,EAAM4/E,UAAUO,aAAe,IACjDpC,EAAepqE,GAAI,IAGnBysE,EAA0B,IAAS,KACrC,MAAMC,EAAwC,KAAxBL,EAAcr+E,MAAe4D,WAAWy6E,EAAcr+E,OAAS,EAC/E2+E,EAAwC,KAAxBJ,EAAcv+E,MAAe4D,WAAW26E,EAAcv+E,OAAS,EAC/E4+E,EAAYF,EAAgBC,EAElC,OAAKC,EAAYC,EAAc7+E,OAAS0+E,EAAgBC,GAAoC,IAAlBD,EAC/DI,EAAuB9+E,MAG9B4+E,EAAYG,EAAc/+E,MACnBg/E,EAAuBh/E,MAG3B,MAGLi/E,EAAgC,IAAS,KAC3C,MAAMP,EAAwC,KAAxBL,EAAcr+E,MAAe4D,WAAWy6E,EAAcr+E,OAAS,EAC/E2+E,EAAwC,KAAxBJ,EAAcv+E,MAAe4D,WAAW26E,EAAcv+E,OAAS,EAErF,OAAK2+E,GAAiBD,EAAkBC,EAAgB,EAC7CO,EAA6Bl/E,MAGpC2+E,EAAgBQ,EAAoBn/E,MAC7Bo/E,EAAuBp/E,MAAMhC,QAAQ,mBAAoBmhF,EAAoBn/E,OAGjF,MAuBXgnB,IAAU,KApBc,MACpB,MAAMq4D,EAAkBhhF,EAAM4/E,UAAUO,YAExCngF,EAAM2/E,aAAal5E,SAASR,IACxB,MAAMg7E,KAAaD,GAAmBA,IAAoB/6E,EAAKi7E,UAAiBj7E,EAAKm2C,SAEjF6kC,IACAd,EAAYx+E,MAAQsE,EAAKi7E,SAG7BnD,EAAap8E,MAAM0H,KAAK,CACpB+nE,MAAOnrE,EAAKmrE,MACZ/4D,GAAIpS,EAAKi7E,QACTv/E,MAAOsE,EAAKi7E,QACZvlC,QAASslC,GACZ,GACJ,EAKDE,GACApB,EAAWp+E,MAAQy/E,EAAYrB,EAAWp+E,OAC1Cs+E,EAAWt+E,MAAQy/E,EAAYnB,EAAWt+E,MAAK,IAInDmuB,IAAU,KACNiuD,EAAap8E,MAAM8qD,MAAMxmD,IACjBA,EAAKtE,QAAUw+E,EAAYx+E,MAC3BsE,EAAK01C,SAAU,EAEf11C,EAAK01C,SAAU,CACnB,IAGA37C,EAAM8kE,kBACN9kE,EAAM8kE,iBAAiB,CACnBib,WAAYC,EAAcr+E,MAC1Bs+E,WAAYC,EAAcv+E,MAC1Bw+E,YAAaA,EAAYx+E,MACzB0/E,4BAA6BA,EAA4B1/E,MACzD2/E,gCAAiCA,EAAgC3/E,MACjE4/E,sCAAuCA,EAAsC5/E,MAC7E6/E,UAAWC,KAA0BC,KAE7C,IAIJ,MAAMN,EAAez/E,GAAU46E,GAAuBoF,GAA+BhgF,IAG/EigF,EAA4B,IAC1BzB,EAAYx+E,MACL3B,EAAM2/E,aAAalzB,MAAMo1B,GAAMA,EAAEX,UAAYf,EAAYx+E,QAEzD3B,EAAM2/E,aAAalzB,MAAMo1B,GAAMA,EAAEzlC,WAK1C0lC,EAAqB,IAAS,IAAMF,KAA6BE,qBACjEtB,EAAgB,IAAS,IAAMoB,KAA6BpB,gBAC5DE,EAAgB,IAAS,IAAMkB,KAA6BlB,gBAC5DI,EAAsB,IAAS,KAAOd,EAAcr+E,OAASmgF,EAAmBngF,MAAQ,MAAMi6E,QAAQ,KACtG+E,EAAyB,IAAS,IAAMiB,KAA6BjB,wBAA0B,KAC/FF,EAAyB,IAAS,IAAMmB,KAA6BnB,wBAA0B,KAC/FI,EAA+B,IAAS,IAAMe,KAA6Bf,8BAAgC,KAC3GE,EAAyB,IAAS,IAAMa,KAA6Bb,wBAA0B,KAC/FM,EAA8B,IAAS,IAAMO,KAA6BP,6BAA+B,IACzGC,EAAkC,IAAS,IAAMM,KAA6BN,iCAAmC,IACjHC,EAAwC,IAC1C,IAAMK,KAA6BL,uCAAyC,IAI1EQ,EAAyBpgF,IAC3B,IAAIqE,EAAMrE,EAIV,MAHK,QAAQvE,KAAKuE,KACdqE,EAAMrE,EAAMhC,QAAQ,MAAO,KAExBqG,GAGXogB,GAAM25D,GAAap+E,IACD,KAAVA,IACAq+E,EAAcr+E,MAAQggF,GAA+BhgF,GACrDo+E,EAAWp+E,MAAQy/E,EAAYz/E,GACnC,IAGJykB,GAAM65D,GAAat+E,IACD,KAAVA,IACAu+E,EAAcv+E,MAAQggF,GAA+BhgF,GACrDs+E,EAAWt+E,MAAQy/E,EAAYz/E,GACnC,IAGJ,MA0CM+/E,EAAuB,KACzB,MAAMnB,EAAYh7E,WAAWy6E,EAAcr+E,OAAS4D,WAAW26E,EAAcv+E,OAC7E,OAAI4+E,GAAaC,EAAc7+E,OAAS4+E,GAAaG,EAAc/+E,KAG5D,EAGL8/E,EAAuB,KACzB,MAAMlB,EAAYh7E,WAAWy6E,EAAcr+E,OAAS4D,WAAW26E,EAAcv+E,OAC7E,OACI4+E,EAAYG,EAAc/+E,OAC1B4D,WAAW26E,EAAcv+E,QAAUm/E,EAAoBn/E,OACvD4+E,GAAaC,EAAc7+E,KAIxB,EAGX,MAAO,CACHo+E,aACAE,aACAE,cACApC,eACA6C,gCACAR,0BACAqB,uBACAC,uBACAM,cAjDmBxlF,IACnB,MAAMylF,EAAiBzlF,EAAEyB,OAAOikF,eAC1BC,EAAc3lF,EAAEyB,OAAO0D,MAAMQ,OAEnC,IAAIR,EAAQnF,EAAEyB,QAAQ0D,OAAS,EAC/BA,EAAQogF,EAAsBpgF,GAC9Bu+E,EAAcv+E,MAAQggF,GAA+BhgF,GACrDs+E,EAAWt+E,MAAQy/E,EAAYz/E,GAG/BxD,YAAW,KACP,MAAMikF,EAAiBnC,EAAWt+E,MAAMiC,WAAWzB,OAC7CkgF,EAAoBJ,GAAkBG,EAAiBD,GAC7D3lF,EAAEyB,OAAOqkF,kBAAkBD,EAAmBA,EAAiB,GAChE,GAAE,EAoCLE,cAxEmB/lF,IACnB,MAAMylF,EAAiBzlF,EAAEyB,OAAOikF,eAC1BC,EAAc3lF,EAAEyB,OAAO0D,MAAMQ,OAEnC,IAAIR,EAAQnF,EAAEyB,QAAQ0D,OAAS,EAC/BA,EAAQogF,EAAsBpgF,GAC9Bq+E,EAAcr+E,MAAQggF,GAA+BhgF,GACrDo+E,EAAWp+E,MAAQy/E,EAAYz/E,GAG/B,MAAM6gF,EAAgBj9E,WAAWu7E,EAAoBn/E,OACrDu+E,EAAcv+E,MAAQggF,GAA+Ba,EAAc5G,QAAQ,IAC3EqE,EAAWt+E,MAAQy/E,EAAYoB,EAAc5G,QAAQ,IAGrDz9E,YAAW,KACP,MAAMikF,EAAiBrC,EAAWp+E,MAAMiC,WAAWzB,OAC7CkgF,EAAoBJ,GAAkBG,EAAiBD,GAC7D3lF,EAAEyB,OAAOqkF,kBAAkBD,EAAmBA,EAAiB,GAChE,GAAE,EAsDLI,gBAlCqBjmF,GAAO2jF,EAAYx+E,MAAQnF,EAAEyB,OAAO0D,MAoCjE,GCvPJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,sGHCvD,GA0CU,UA1CV,GA0CU,CAxCI,EAAgB,uBAD1B,GAQoC,SAN/ByvE,MAAO,EAAAgG,OAAOsL,4BACN,EAAAvC,iDAAA,EAAW,eACpB/C,UAAU,eACTW,aAAc,EAAAA,aACd4E,YAAa,EAAAvL,OAAOwL,uBACrBC,aAAa,GACR,SAAQ,EAAAJ,uGAEjB,GAciC,GAb7BhkF,KAAK,OACL2+E,UAAU,wBACD,EAAA2C,gDAAA,EAAU,cAElBtC,YAAY,EACZC,kBAAmB,EAAAmC,gBAAkB,EAAA6B,uBACrCxE,QAAS,EAAAwE,uBACTtQ,MAAO,EAAAgG,OAAO0L,gBACdlF,iBAAkB,EAAAxG,OAAO2L,sBACzBpF,kBAAmB,EAAAyC,wBACpB4C,UAAU,UACT9E,eAAgB,EAAA9G,OAAO6L,oBACvBjjB,OAAQ,EAAAoX,OAAO4F,eACX,QAAO,EAAAuF,uJAEhB,GAciC,GAb7B9jF,KAAK,OACL2+E,UAAU,wBACD,EAAA6C,gDAAA,EAAU,cAElB7O,MAAO,EAAAgG,OAAO8L,gBACdzF,YAAY,EACZC,kBAAmB,EAAAmC,gBAAkB,EAAA4B,uBACrCvE,QAAS,EAAAuE,uBACT7D,iBAAkB,EAAAxG,OAAO+L,kBACzBxF,kBAAmB,EAAAiD,8BACnB1C,eAAgB,EAAA9G,OAAO6L,oBACvBjjB,OAAQ,EAAAoX,OAAO4F,eAChBgG,UAAU,UACL,QAAO,EAAAhB,6JI/CjB,SAASoB,GAAqB/hF,GAEjClG,OAAOkoF,eAAyC,IAApBloF,OAAOkoF,WAA4BloF,OAAOkoF,qBAAqBpgF,MAAU9H,OAAOkoF,UAAY,GACxHloF,OAAOkoF,UAAUh6E,KAAKhI,EAC1B,CCAA,MNFA,GMEA,CACI3F,KAAM,oBACNm8B,WAAY,CACRyrD,wBAAuB,IAE3BtjF,MAAO,CACHo3E,OAAQ,CACJ34E,KAAMqC,OACN8jE,UAAU,GAEd+a,aAAc,CACVlhF,KAAMwE,MACN2hE,UAAU,GAEdgb,SAAU,CACNnhF,KAAMqC,OACN8jE,UAAU,GAEdz7D,MAAO,CACH1K,KAAMiH,OACNk/D,UAAU,EACV9hD,QAAS,GAEbw4D,WAAY,CACR78E,KAAM2C,SACNwjE,UAAU,EACV9hD,QAAS,QAEbg9D,iBAAkB,CACdrhF,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,IAGjB,KAAAiH,CAAM/pB,GACF,MAAM+/E,EAAapsE,GAAI,IACjBssE,EAAatsE,GAAI,IACjBwsE,EAAcxsE,GAAI3T,EAAM4/E,SAASO,aAAe,IAChDoD,EAAuB5vE,GAAI3T,EAAM4/E,SAAS2D,sBAAwB,IAClEC,EAA2B7vE,GAAI3T,EAAM4/E,SAAS4D,0BAA4B,IAC1EC,EAAiC9vE,GAAI3T,EAAM4/E,SAAS6D,gCAAkC,IACtFjC,EAAY7tE,IAAI,GAChBksE,EAAgBlsE,IAAI,GAEpBsrE,EAAW,IAAS,KACtB,MAAMyE,EAAc1jF,EAAM2/E,aAAalzB,MAAMxmD,GAASA,EAAKi7E,UAAYf,EAAYx+E,QAEnF,OADwB+hF,EAAYC,UAAUl3B,MAAMxmD,GAASA,EAAKxH,OAASuB,EAAM4/E,SAASX,YAE/EyE,EAAYC,UAAU,EAE1BC,IAyDX,MAAO,CACHL,uBACAC,2BACAC,iCACAxE,WACAY,gBACA/a,iBA5DqB,SAAUnnD,GAC/BoiE,EAAWp+E,MAAQgc,EAAKoiE,WACxBE,EAAWt+E,MAAQgc,EAAKsiE,WACxBE,EAAYx+E,MAAQgc,EAAKwiE,YACzBqB,EAAU7/E,MAAQgc,EAAK6jE,SAC3B,EAwDIqC,OAtDW,WACXhE,EAAcl+E,OAAQ,EAElB6/E,EAAU7/E,QACVk+E,EAAcl+E,OAAQ,EAGtByhF,GAAqB,CACjBtpE,MAAO,cACPgqE,YAAa,gCACbC,cAAe,YACfC,WAAY,SACZC,qBAAqB,EACrBC,WAAY,IACZC,oBAAqBlE,EAAWt+E,MAAMiC,WACtCwgF,cAAerE,EAAWp+E,MAAMiC,WAChCygF,aAAclE,EAAYx+E,MAC1B2iF,SAAU,WAGdlB,GAAqB,CACjBtpE,MAAO,0BACPgqE,YAAa,OACbC,cAAe,SACfC,WAAY,4CACZC,qBAAqB,EACrBC,WAAY,IACZK,aAAc,SAGdvkF,EAAMs7E,YACNt7E,EAAMs7E,WACF,CACI2D,SAAUA,EAASt9E,MAAMlD,KACzBshF,WAAYA,EAAWp+E,MACvBs+E,WAAYA,EAAWt+E,MACvBw+E,YAAaA,EAAYx+E,MACzB8hF,+BAAgCA,EAA+B9hF,MAC/D6hF,yBAA0BA,EAAyB7hF,MACnD4hF,qBAAsBA,EAAqB5hF,OAE/C3B,EAAMmJ,OAItB,EAWJ,GCjHJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,iFPCvD,GA+DU,UA/DV,GA+DU,CA9DN,GACA,GAyDM,MAzDN,GAyDM,CAxDF,GAM2C,GALtCiuE,OAAQ,EAAAA,OACRuI,aAAc,EAAAA,aACdC,SAAU,EAAAA,SACVC,cAAe,EAAAA,cACf/a,iBAAkB,EAAAA,iBAClBgb,iBAAkB,EAAAA,qHAEvB,GA+CM,MA/CN,GA+CM,CA9C4D,EAAAb,UAAUuF,sBAAxE,GA6BW,WA7BX,GA6BW,CA5BP,GAAqH,SAArH,GAAqH,GAAtD,EAAApN,OAAOqN,qCAAmC,GAE9F,EAAAxF,UAAUyF,8BAArB,GAYM,MAZN,GAYM,CAXF,GAGQ,QAHR,GAGQ,OAFD,EAAAtN,OAAOuN,yBAA0B,IACpC,MAA4E,eAAnE,EAAAlB,gCAAiC,IAAC,GAAG,EAAArM,OAAOwN,eAAa,QAEtE,GAM6D,SALzDvsE,GAAG,uBACHvR,MAAM,6DACG,EAA8B,kCACvCrI,KAAK,QACJ6nC,IAAK,EAAA24C,SAAS4F,uCACdt2D,IAAK,EAAA0wD,SAAS6F,wDAHN,EAAArB,mDAMjB,GAWM,MAXN,GAWM,CAVF,GAEQ,QAFR,GAEQ,OADD,EAAArM,OAAO2N,eAAgB,IAAC,MAAsE,eAA7D,EAAAvB,0BAA2B,IAAC,GAAG,EAAApM,OAAOwN,eAAa,QAE3F,GAMuD,SALnDvsE,GAAG,2BACHvR,MAAM,6DACG,EAAwB,4BACjCrI,KAAK,QACJ6nC,IAAK,EAAA24C,SAAS+F,iCACdz2D,IAAK,EAAA0wD,SAASgG,kDAHN,EAAAzB,+CAOyC,EAAAvE,UAAUiG,kBAAxE,GAcW,WAdX,GAcW,CAbP,GAA+G,SAA/G,GAA+G,GAAhD,EAAA9N,OAAO+N,+BAA6B,GACnG,GAWM,MAXN,GAWM,CAVF,GAEQ,QAFR,GAEQ,OADD,EAAA/N,OAAO2N,eAAgB,IAAC,MAAkE,eAAzD,EAAAxB,sBAAuB,IAAC,GAAG,EAAAnM,OAAOwN,eAAa,QAEvF,GAMmD,SAL/CvsE,GAAG,uBACHvR,MAAM,6DACG,EAAoB,wBAC7BrI,KAAK,QACJ6nC,IAAK,EAAA24C,SAASmG,6BACd72D,IAAK,EAAA0wD,SAASoG,8CAHN,EAAA9B,+CAQ7B,GAEM,MAFN,GAEM,CADF,GAA0H,UAAlHz8E,MAAM,wCAA6C,QAAK,oBAAE,EAAA+8E,QAAA,EAAAA,UAAA,QAAW,EAAAzM,OAAOkO,4BAA0B,WQ7D1H,IACI5pF,KAAM,QACNm8B,WAAY,CACR0tD,sBAAqB,GACrBC,kBAAiB,IAErB,KAAAz7D,GACI,MAAMojD,EAAQL,KACR2Y,EAAkB9xE,GAAI,MAEtBykE,EAAa,IAAS,IAAMjL,EAAM7kD,MAAMo9D,MAAMtN,aAC9CuN,EAAgB,IAAS,IAAMxY,EAAM7kD,MAAMo9D,MAAMC,gBACjDC,EAAgB,IAAS,IAAMzY,EAAM7kD,MAAMo9D,MAAME,gBACjDC,EAAiB,IAAS,IAAM1Y,EAAM7kD,MAAMo9D,MAAMG,iBAClDC,EAAY,IAAS,IAAM3Y,EAAM7kD,MAAMo9D,MAAM5pF,OAC7Cu8E,EAAc,IAAS,IAAMlL,EAAM7kD,MAAMo9D,MAAMrN,cAC/C0N,EAAc,IAAS,IAAM5Y,EAAM7kD,MAAMo9D,MAAM1+E,QAC/Cg/E,EAAY,IAAS,IAAM7Y,EAAM7kD,MAAMo9D,MAAMM,YAGnD5/D,GAAM0/D,GAAYnkF,IACd,GAAIA,EAAO,CACP,MAAMskF,EAAY9qF,OAAOmhF,QAEzBmJ,EAAgB9jF,MAAMukF,YAEtB/nF,YAAW,KACPhD,OAAOgrF,SAAS,EAAGF,EAAS,GAC7B,IACHlpF,SAAS4sC,cAAc,QAAQoJ,UAAU/lC,IAAI,YACjD,MACIy4E,EAAgB9jF,MAAM++B,QACtB3jC,SAAS4sC,cAAc,QAAQoJ,UAAUnwC,OAAO,YACpD,IAGJ,MAAMwjF,EAAiB,IAAS,KAC5B,IAAItyC,EAAS,GAWb,OATIiyC,EAAYpkF,OACZokF,EAAYpkF,MAAM8E,SAASO,IACvB8sC,GAAU,cAAc9sC,IAAK,IAGjC2+E,EAAchkF,QACdmyC,GAAU,wBAGPA,KAILuyC,EAAa,IAAMlZ,EAAM50B,SAAS,gBAAiB,CAAEz8C,MAAM,IAoBjE,OAlBA6sB,IAAU,KACN5rB,SAAS82C,iBAAiB,WAAYr3C,GZ7DnC,SAAUsd,EAAOwsE,GAC5B,MAAMC,EAiCV,SAA8B9lE,GAC1B,MAAM8lE,EAAoB,GAe1B,OAbA,SAAS3/D,EAASwlC,IAdtB,SAA4BtpD,GACxB,MAAM0jF,EAAc3H,GAAuBzmE,SAAStV,EAAGi7B,QAAQ37B,eAGzDqkF,EAAY3jF,EAAG4jF,YAAc,GAAK5jF,EAAG6xC,aAAe,GAAK7xC,EAAG6jF,kBAC5DC,GAAiB9jF,EAAGkmC,SAE1B,OAAOw9C,GAAeC,GAAaG,CACvC,EAOYC,CAAmBz6B,IACnBm6B,EAAkBl9E,KAAK+iD,GAI3B,IAAK,IAAI5mC,KAAS4mC,EAAQzpC,SACtBiE,EAASpB,EAEjB,CAGAoB,CAASnG,GACF8lE,CACX,CAlD8BO,CAAqBR,GACzCS,EAAeR,EAAkB,GACjCS,EAAcT,EAAkBA,EAAkBpkF,OAAS,GAE/C,QAAd2X,EAAM5Z,MACF4Z,EAAMyjC,SAEFxgD,SAASs+C,gBAAkB0rC,IAC3BjtE,EAAMojC,iBACN8pC,EAAYphB,SAIZ7oE,SAASs+C,gBAAkB2rC,IAC3BltE,EAAMojC,iBACN6pC,EAAanhB,SAI7B,CYyCwDqhB,CAAezqF,EAAGipF,EAAgB9jF,SAG9E8jF,EAAgB9jF,MAAMkyC,iBAAiB,SAAU/5B,IACZ,KAA7BA,EAAM7b,OAAOipF,aACbb,GACJ,IAIJZ,EAAgB9jF,MAAMkyC,iBAAiB,SAAU/5B,IACzCA,EAAM7b,SAAWwnF,EAAgB9jF,OACjC8jF,EAAgB9jF,MAAM++B,OAC1B,GACH,IAGE,CACH03C,aACAuN,gBACAC,gBACAC,iBACAxN,cACAoN,kBACAO,YACAK,aACAD,iBAER,GbvFJ,McKA,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CdCvD,GA0CS,UA1CDt/E,MAAK,GAAC,YAAoB,EAAAs/E,iBAAgBzyE,IAAI,kBAAkB,kBAAgB,iBACpF,GAwCM,MAxCN,GAwCM,CAvCF,GAgCM,MAhCN,GAgCM,CA/BF,GAwBM,MAxBN,GAwBM,CAvBF,GAA2E,KAA3E,GAA2E,GAAlB,EAAAykE,YAAU,GAEvB,EAAa,oBAAzD,GAAmF,KAAnF,GAAmF,GAArB,EAAAuN,eAAa,kBAE3E,GAkBS,UAjBJ,QAAK,oBAAE,EAAAU,YAAA,EAAAA,cAAA,IACRc,UAAA,GACArgF,MAAM,yBACL,mBAAgB,GAAK,EAAAsxE,mBACrB,aAAY,EAAAyN,gBAAgBzO,QAAQgQ,qBAAuB,wBAgBzD,EAAa,oBAAxB,GAEM,MAFN,GAEM,OADF,GAAmE,GAAnD,EAAAxB,eAAa,KAAU,EAAAC,iBAAc,2BAG9C,EAAAxN,cAAgB,EAAAuN,oBAA3B,GAAsG,aAA5D9+E,MAAM,2BAA2B,UAAQ,EAAAuxE,yCAG5E,EAAS,gBAApB,GAIM,MAJN,GAIM,iCexCLvxE,MAAM,2CAC+CA,MAAM,6CACnDA,MAAM,0BACNA,MAAM,mCACFA,MAAM,yCACJA,MAAM,sDAQpBA,MAAM,sDACFA,MAAM,8CACHA,MAAM,oDASLA,MAAM,iEAIH,GAMM,OANDA,MAAM,oBAAkB,CACzB,GAIM,OAJD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5E,GAEgG,QAD5F9jD,KAAK,UACLxmB,EAAE,sGAQRmG,MAAM,kBACxB,GAEM,OAFDA,MAAM,uBAAqB,CAC5B,GAA+C,OAA1CA,MAAM,sCChDZ,SAAS,IAAC,WACrBi5E,EAAU,WACVE,EAAU,YACVE,EAAW,+BACXsD,EAA8B,yBAC9BD,EAAwB,qBACxBD,EAAoB,YACpB8D,IAUA,MAAO,OARuBtH,QACJE,QACGE,YACHkH,WACuB5D,SACRD,SACJD,GAGzC,CCbA,MFHA,GEGA,CACI7nF,KAAM,yBACNm8B,WAAY,CACRyrD,wBAAuB,GACvBgE,MAAK,IAETtnF,MAAO,CACHo3E,OAAQ,CACJ34E,KAAMqC,OACN8jE,UAAU,GAEd+a,aAAc,CACVlhF,KAAMwE,MACN2hE,UAAU,GAEdgb,SAAU,CACNnhF,KAAMqC,OACN8jE,UAAU,GAEdkW,UAAW,CACPr8E,KAAMqC,OACN8jE,UAAU,GAEd2iB,mBAAoB,CAChB9oF,KAAME,OACNimE,UAAU,IAGlB,KAAA76C,CAAM/pB,GACF,MAAM+/E,EAAapsE,GAAI,IACjBssE,EAAatsE,GAAI,IACjBwsE,EAAcxsE,GAAI,IAClB0tE,EAA8B1tE,GAAI3T,EAAM4/E,SAAS6D,gCAAkC,GACnFnC,EAAkC3tE,GAAI3T,EAAM4/E,SAAS4D,0BAA4B,GACjFjC,EAAwC5tE,GAAI3T,EAAM4/E,SAAS2D,sBAAwB,GACnF/B,EAAY7tE,IAAI,GAChBksE,EAAgBlsE,KAAI3T,EAAMunF,oBAC1BvB,EAAYryE,IAAI,GAChB6zE,EAAyB7zE,IAAI,GAY7B8zE,EAAiB,KACnB,MAAMC,EAAY1nF,EAAM2/E,aAAalzB,MAAMo1B,GAAMA,EAAEX,UAAYf,EAAYx+E,QAC3E,OAAO+lF,GAAWL,aAAe,IA4BrC,MAAO,CACHxH,gBACA/a,iBA1CqB,SAAUnnD,GAC/BoiE,EAAWp+E,MAAQgc,EAAKoiE,WACxBE,EAAWt+E,MAAQgc,EAAKsiE,WACxBE,EAAYx+E,MAAQgc,EAAKwiE,YACzBqB,EAAU7/E,MAAQgc,EAAK6jE,UACvBH,EAA4B1/E,MAAQgc,EAAK0jE,4BACzCC,EAAgC3/E,MAAQgc,EAAK2jE,gCAC7CC,EAAsC5/E,MAAQgc,EAAK4jE,qCACvD,EAmCIsC,OA5BW,WACXhE,EAAcl+E,OAAQ,EAElB6/E,EAAU7/E,QACaxD,YAAW,KAC9B6nF,EAAUrkF,OAAQ,IACnB,KACHk+E,EAAcl+E,OAAQ,EAEtBxG,OAAO6C,SAASF,KAAO6pF,GAAoB,CACvC5H,WAAYA,EAAWp+E,MACvBs+E,WAAYA,EAAWt+E,MACvBw+E,YAAaA,EAAYx+E,MACzB8hF,+BAAgClC,EAAsC5/E,MACtE6hF,yBAA0BlC,EAAgC3/E,MAC1D4hF,qBAAsBlC,EAA4B1/E,MAClD0lF,YAAaI,MAGzB,EAUIzB,YACA4B,6BATiC,KACjCJ,EAAuB7lF,OAAQ,GAS/B6lF,yBAER,GCtFJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2GHCvD,GA6CU,UA7CV,GA6CU,CA5CK,EAAAD,qBAAuB,EAAAC,6BAAlC,GAWM,MAXN,GAWM,CAVF,GASU,UATV,GASU,CARN,GAMM,MANN,GAMM,CALF,GAIM,MAJN,GAIM,CAHF,GAEI,IAFJ,GAEI,GADG,EAAAD,oBAAkB,OAIjC,GAA4F,UAApFzgF,MAAM,2BAAgC,QAAK,oBAAE,EAAA8gF,8BAAA,EAAAA,gCAAA,yBAG7D,GAyBM,MAzBN,GAyBM,CAxBF,GAuBM,MAvBN,GAuBM,CAtBF,GAAgF,KAAhF,GAAgF,GAApB,EAAAxQ,OAAOr4E,OAAK,GAExE,GAK2C,GAJtCq4E,OAAQ,EAAAA,OACRuI,aAAc,EAAAA,aACdC,SAAU,EAAAA,SACVC,cAAe,EAAAA,cACf/a,iBAAkB,EAAAA,kGAEvB,GAYM,MAZN,GAYM,CAXF,GAA2G,UAAnGh+D,MAAM,wCAA6C,QAAK,oBAAE,EAAA+8E,QAAA,EAAAA,UAAA,QAAW,EAAAzM,OAAOoF,aAAW,GAC/F,GASI,KATA1+E,KAAI,IAAM,EAAAg9E,UAAUC,WAAYj0E,MAAM,sCACnC,EAAAg0E,UAAU/7E,OAAQ,IACrB,mBAYL,EAAS,gBAApB,GAIM,MAJN,GAIM,qBAGV,GAAS,sBIX2B+H,MAAM,kBACtC,GAEM,OAFDA,MAAM,uBAAqB,CAC5B,GAA+C,OAA1CA,MAAM,sCC5CV+gF,GAA0B,CAAC1a,EAAOntE,EAAOjB,KAClDouE,EAAM50B,SAAS,wBAAyB,CACpC6/B,WAAYr5E,EACZ4mF,mBAAenlF,EACfolF,cAAe,wBACfC,eAAgB7lF,EAChBgH,MAAO,CAAC,SAGZmmE,EAAM50B,SAAS,gBAAiB,CAAEz8C,MAAM,GAAM,EAGrCgsF,GAAsB,CAAC3a,EAAOntE,EAAOjB,EAAOm1E,KACrD/G,EAAM50B,SAAS,wBAAyB,CACpC6/B,WAAYr5E,EACZ4mF,cAAezR,GAAY,GAC3B0R,cAAe,oBACfC,eAAgB7lF,EAChBgH,MAAO,CAAC,MAAO,WAGnBmmE,EAAM50B,SAAS,gBAAiB,CAAEz8C,MAAM,GAAM,ECnBnCisF,eAAe,GAACpqE,EAAMkpC,EAAMxuC,GACvC,MAAMgD,EAASssE,GAAoB,CAC/B5H,WAAYpiE,EAAKoiE,WACjBE,WAAYtiE,EAAKsiE,WACjBE,YAAaxiE,EAAKwiE,YAClBsD,+BAAgC9lE,EAAK8lE,+BACrCD,yBAA0B7lE,EAAK6lE,yBAC/BD,qBAAsB5lE,EAAK4lE,qBAC3B8D,YAAa1pE,EAAKshE,WAGhBxjF,EAAM,GAAGsB,SAASiB,SAASD,UAAU8oD,EAAOxrC,EAAS,OAAShD,IAGpE,aAFuB2wD,MAAMvtE,IAEbwtE,MACpB,WCXaniE,MAAM,6CAEP,GAMM,OANDA,MAAM,oDAAkD,CACzD,GAIM,OAJDA,MAAM,oBAAkB,CACzB,GAEM,OAFD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5E,GAA6G,QAAvG9jD,KAAK,UAAUxmB,EAAE,mGAI7BmG,MAAM,+DAGZA,MAAM,wCAAwC,YAAU,cAiB/CA,MAAM,uHAyCdA,MAAM,iDAYNA,MAAM,gEAISA,MAAM,iEC5FlC,IACIswE,OAAQ,CACJ34E,KAAMqC,OACN8jE,UAAU,GAEdojB,QAAS,CACLvpF,KAAMwE,MACN2hE,UAAU,GAEdqjB,UAAW,CACPxpF,KAAMwE,MACN2hE,UAAU,GAEduU,OAAQ,CACJ16E,KAAMwE,MACN2hE,UAAU,GAEdsjB,gBAAiB,CACbzpF,KAAMqC,OACN8jE,UAAU,GAEdujB,oBAAqB,CACjB1pF,KAAMuqB,QACN47C,UAAU,GAEdwjB,uBAAwB,CACpB3pF,KAAM2C,SACNwjE,UAAU,GAEdyjB,eAAgB,CACZ5pF,KAAM2C,SACNwjE,UAAU,GAEd0jB,2BAA4B,CACxB7pF,KAAM2C,SACNwjE,UAAU,GAEd2jB,0BAA2B,CACvB9pF,KAAM2C,SACNwjE,UAAU,GAEd4jB,qBAAsB,CAClB/pF,KAAM2C,SACNwjE,UAAU,GAEd6jB,WAAY,CACRhqF,KAAM2C,SACNwjE,UAAU,GAEd8jB,uBAAwB,CACpBjqF,KAAM2C,SACNwjE,UAAU,GAEd+jB,gBAAiB,CACblqF,KAAM2C,SACNwjE,UAAU,GAEdgkB,0BAA2B,CACvBnqF,KAAM2C,SACNwjE,UAAU,IChDlB,GANiB,SAAUikB,GAGvB,QAF4C,iBAApBA,KACMA,EAAgB1mF,OAAS,GAE3D,ECHe,SAAS,GAAC2mF,GACrB,IAAMD,EAAkBC,EAClBC,IAAcF,GAAkBA,EAAgB/sD,MAAM,yBACtDktD,KAAsBD,IAAeA,EAAY5mF,QAEvD,OAAO8mF,GAASJ,IAAoBG,CACxC,wPCXAE,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,CADe,YAAfE,EAAAC,GAAA,OAAAnO,GAAAjwE,MAAA,KAAA0H,UAAA,CA6BC,SAAAuoE,KA5BD,IAAAh6E,EA4BC,OA5BDA,EA4BC+kF,KAAAoC,MA7Bc,SAAAiB,EAAgBvtF,EAAMvD,GAAG,IAAAgB,EAAAP,EAAA,OAAAgtF,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,OACrB,OAAb5U,EAAS,KAAI68B,EAAAjoB,KAAA,EACM23D,MAAMvtE,EAAK,CAChCsV,OAAQ,OACR/R,KAAMiJ,KAAKC,UAAUlJ,GACrBq4E,QAAS,CACP,eAAgB,sBAGjB5zE,MAAK,SAACuC,GAEL,GADAvJ,EAASuJ,EAAIvJ,OACTuJ,EAAIwmF,GACN,OAAOxmF,EAAI8lC,OAEX,MAAM,IAAIpe,MAAM,iCAEpB,IACCjqB,MAAK,SAACwlE,GACL,OAAOA,CACT,IAAE,OACK,SAAC1yD,GAEN,OADAna,QAAQC,MAAMka,GACPA,CACT,IAAE,OArBU,OAARra,EAAQo9B,EAAA+wD,KAAA/wD,EAAAkxD,OAAA,SAuBP,CACL7sE,KAAMzhB,EACNO,OAAQA,IACT,wBAAA68B,EAAA3vB,OAAA,GAAA4iF,EAAA,IACFpO,GA5BD,eAAA9iF,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,KA4BC29E,GAAAjwE,MAAA,KAAA0H,UAAA,wPC5BDszE,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,CADe,YAAfE,EAAAC,GAAA,OAAAnO,GAAAjwE,MAAA,KAAA0H,UAAA,CA6BC,SAAAuoE,KA5BD,IAAAh6E,EA4BC,OA5BDA,EA4BC+kF,KAAAoC,MA7Bc,SAAAiB,EAAgBvtF,EAAMvD,GAAG,IAAAS,EAAA,OAAAgtF,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,cAAAioB,EAAAjoB,KAAA,EACf23D,MAAMvtE,EAAK,CAChCsV,OAAQ,OACR/R,KAAMiJ,KAAKC,UAAUlJ,GACrBq4E,QAAS,CACP,eAAgB,sBAGf5zE,MAAK,SAACuC,GACL,GAAIA,EAAIwmF,GAAI,CACR,IAAMC,EAAczmF,EAAIqxE,QAAQp2E,IAAI,gBACpC,OAAIwrF,GAAeA,EAAYr0E,SAAS,oBAC7BpS,EAAIijE,OAEJjjE,EAAI8lC,MAErB,CACE,MAAM,IAAIpe,MAAM,uCAEpB,IACCjqB,MAAK,SAACwlE,GACH,OAAOA,CACX,IAAE,OACK,SAAC1yD,GAEN,OADAna,QAAQC,MAAMka,GACPA,CACT,IAAE,OAzBU,OAARra,EAAQo9B,EAAA+wD,KAAA/wD,EAAAkxD,OAAA,SA2BPtuF,GAAQ,wBAAAo9B,EAAA3vB,OAAA,GAAA4iF,EAAA,IAChBpO,GA5BD,eAAA9iF,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,KA4BC29E,GAAAjwE,MAAA,KAAA0H,UAAA,wPC5BDszE,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,CACe,YAAfE,EAAAC,GAAA,OAAAnO,GAAAjwE,MAAA,KAAA0H,UAAA,CA4CC,SAAAuoE,KA7CD,IAAAh6E,EA6CC,OA7CDA,EA6CC+kF,KAAAoC,MA5Cc,SAAAiB,EAAgBvtF,EAAMvD,GAAG,IAAAS,EAAA,OAAAgtF,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,cAAAioB,EAAAjoB,KAAA,EACf23D,MAAMvtE,EAAK,CAChCsV,OAAQ,OACR/R,KAAMiJ,KAAKC,UAAUlJ,GACrBq4E,QAAS,CACP,eAAgB,sBAGjB5zE,MAAK,SAACuC,GAEL,GADAvJ,OAASuJ,EAAIvJ,OACTuJ,EAAIwmF,GACN,OAAOxmF,EAAIijE,OAEX,MAAM,IAAIv7C,MAAM,iCAEpB,IACCjqB,MAAK,SAACwlE,GACL,OAAOA,CACT,IAAE,OACK,SAAC1yD,GAEN,OADAna,QAAQC,MAAMka,GACPA,CACT,IAAE,OAiBH,OAtCKra,EAAQo9B,EAAA+wD,OAuBEnuF,EAASR,MAAQQ,EAASwwF,OAASxwF,EAAS8+E,MAAQ9+E,EAASywF,oBAczEvJ,GAbgB,CACZ,MAAS,yBACT,mBAAsB,GAAFxkE,OAAK1iB,EAASywF,mBAAkB,KAAA/tE,OAAI1iB,EAAS8+E,MACjE,QAAW,CACP,eAAkB9+E,EAASR,KAC3B,cAAiBQ,EAAS0wF,SAC1B,WAAc1wF,EAASwwF,MACvB,WAAcxwF,EAAS2wF,YACvB,4BAA+B3wF,EAAS8+E,KACxC,uCAA0C,UAKrD1hD,EAAAkxD,OAAA,SACM,CACH7sE,KAAMzhB,EACNO,SACH,wBAAA68B,EAAA3vB,OAAA,GAAA4iF,EAAA,IACFpO,GA7CD,eAAA9iF,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,KA6CC29E,GAAAjwE,MAAA,KAAA0H,UAAA,CC9Cc,SAAS,GAACgjD,GACvB,MAAwB,kBAAVA,CAChB,0OCCe,SAAS,GAACk0B,EAAWC,GAAkC,IAAb3V,EAAMxhE,UAAAzT,OAAA,QAAA3B,IAAAoV,UAAA,GAAAA,UAAA,GAAG,CAAC,EACzDo3E,EAAgBD,EAAoBE,aAAavxF,KAEjDwxF,EAAyB3/E,IAAS,WACpC,OAAOu/E,EAAUtkF,QAAO,SAAC2kF,EAAYC,GACjC,OAAOtsF,OAAO6B,OAAOwqF,KAAU,KAC1BC,EAAMA,QAAQA,EAAMzrF,uZAE7B,GAAG,CAAC,EACR,IAcM0rF,EAAkB9/E,IAAS,WAC7B,OAAO+/E,EAAiB3rF,MAAQqrF,EAAgBD,EAAoBtgC,MAAK,SAAC8gC,GAAQ,OAAMA,EAASC,SAAS,IAAE9xF,IAChH,IAEM+xF,EAAoBlgF,IAAS,WAC/B,OAAO+/E,EAAiB3rF,MAAQqrF,EAAgBD,EAAoBtgC,MAAK,SAAC8gC,GAAQ,OAAMA,EAASC,SAAS,IAAEE,IAChH,IAEMC,EAAmBpgF,IAAS,WAC9B,OAAO+/E,EAAiB3rF,MAAQqrF,EAAgBD,EAAoBtgC,MAAK,SAAC8gC,GAAQ,OAAMA,EAASC,SAAS,IAAEI,KAChH,IAEMC,EAAkBtgF,IAAS,WAC7B,OAAOkgF,EAAkB9rF,MAAQ,CACrC,IAEM2rF,EAAmB//E,IAAS,WAC9B,QAAmF,IAAzEw/E,EAAoBl/E,QAAO,SAAC0/E,GAAQ,OAAMA,EAASC,SAAS,IAAErrF,OAC5E,IAEM2rF,EAAiBf,EAAoBl/E,QAAO,SAACg0E,GAAC,OAAKA,EAAEkM,eAAe,IAAE5rF,OAgC5E,MAAO,CACH+qF,uBAAAA,EACAc,gBAlEoB,WACpBjB,EAAoBtmF,SAAQ,SAACinF,GAAI,OAAMA,EAAKF,WAAY,CAAK,IAC7DV,EAAUrmF,SAAQ,SAAC2mF,GACX9sC,GAAU8sC,EAAMzrF,OAChByrF,EAAMzrF,OAAQ,EAEdyrF,EAAMzrF,MAAQ,GAElByrF,EAAMlQ,SAAU,CACpB,GACJ,EAyDImQ,gBAAAA,EACAM,iBAAAA,EACAE,gBAAAA,EACAI,gBApCoB1gF,IAAS,WAC7B,IAAM6jE,EAAQgG,EAAO8W,UACrB,OAAI9c,EACOA,EACFzxE,QAAQ,kBAAmB8tF,EAAkB9rF,OAC7ChC,QAAQ,iBAAkBmuF,EAAensF,OAASorF,EAAoB5qF,QAEpE,GAAPyc,OAAU6uE,EAAkB9rF,MAAK,QAAAid,OAAOkvE,EAAensF,OAASorF,EAAoB5qF,OAE5F,IA4BIgsF,0BA1B8B5gF,IAAS,WACvC,IAAM6gF,EAAkBhX,EAAOiX,oBAC/B,OAAKD,EAKM,oBAAPxvE,OAA2B6uE,EAAkB9rF,MAAK,QAAAid,OAAOkvE,EAAensF,OAASorF,EAAoB5qF,QAJ9FisF,EACFzuF,QAAQ,kBAAmB8tF,EAAkB9rF,OAC7ChC,QAAQ,iBAAkBmuF,EAAensF,OAASorF,EAAoB5qF,OAInF,IAkBImsF,sBAhB0B,SAAUC,GACpC,OAAQzB,EAAUrgC,MAAK,SAAC2gC,GAAK,OAAKA,EAAMA,QAAUmB,CAAS,IAAErR,OACjE,EAeIsR,qBAbyB,WACzBzB,EAAoBl/E,QAAO,SAAC6/E,GAAI,OAAKA,EAAKF,SAAS,IAAEP,aAAa,GAAGO,WAAY,CACrF,EAYIC,kBAAAA,EAER,CC1Fe,SAAS,GAACgB,EAAW3B,EAAWC,EAAqBM,EAAiB18E,GAAkC,IACjH+9E,GAAoB,EAEhBC,EAAoB,WACtB5B,EAAoBtgC,MAAK,SAAC8gC,GAAQ,OAAKA,EAAS7xF,OAAS2xF,CAAe,IAAEG,WAAY,EACtFkB,GAAoB,EACS5B,EAAUthE,OAAM,SAACojE,GAAS,OAAKA,EAAU1R,OAAO,KAGxD6P,EAAoBA,EAAoB5qF,OAAS,GAAGzG,OACpD2xF,GACb18E,EAASm8E,EAGrB,EAEA,OAhByGl3E,UAAAzT,OAAA,QAAA3B,IAAAoV,UAAA,IAAAA,UAAA,IAiBrG+4E,KACO,IAGbF,EAAUhoF,SAAQ,SAACmyD,GACjB,IAAMi2B,EAAiB/B,EAAUrgC,MAAK,SAAC2gC,GAAK,OAAKA,EAAMA,QAAUx0B,EAAMw0B,KAAK,IAC5EyB,EAAe3R,QAAU2R,EAAeC,UAAUl2B,EAAMj3D,OAGpDktF,EAAe3R,QACjB2R,EAAeltF,MAAQi3D,EAAMj3D,MAE7B+sF,GAAoB,CAExB,IAE0B5B,EACvBj/E,QAAO,SAACkhF,GACP,OAAON,EAAUjwE,MAAK,SAACwwE,GAAU,OAAKA,EAAW5B,QAAU2B,EAAU3B,KAAK,GAC5E,IACC5hE,OAAM,SAACojE,GAAS,OAAKA,EAAU1R,OAAO,KAGvCyR,IAEKD,EACT,WCrCa5nF,MAAM,uBAGHA,MAAM,wIACDA,MAAM,uFACHA,MAAM,8BAGVA,MAAM,gIACDA,MAAM,oDAMH,GAAiD,QAA3CA,MAAM,+BAA6B,cAMpDA,MAAM,gCACJA,MAAM,kCC5BzB,IACE6mF,iBAAkB,CAChBlvF,KAAMqC,OACN8jE,UAAU,GAEZqqB,iBAAkB,CAChBxwF,KAAM2C,SACNwjE,UAAU,GAEZsqB,qBAAsB,CACpBzwF,KAAM2C,SACNwjE,UAAU,GAEZ0pB,sBAAuB,CACrB7vF,KAAM2C,SACNwjE,UAAU,GAEZuqB,cAAe,CACb1wF,KAAM2C,SACNwjE,UAAU,GAEZsoB,uBAAwB,CACtBzuF,KAAMqC,OACN8jE,UAAU,GAEZwqB,gBAAiB,CACf3wF,KAAMwE,MACN2hE,UAAU,GAEZopB,gBAAiB,CACfvvF,KAAM2C,SACNwjE,UAAU,GAEZyqB,YAAa,CACX5wF,KAAME,OACNimE,UAAU,GAEZ0qB,aAAc,CACZ7wF,KAAME,OACNimE,UAAU,GAGZqpB,gBAAiB,CACfxvF,KAAME,OACNimE,UAAU,GAEZwS,OAAQ,CACN34E,KAAMqC,OACN8jE,UAAU,GAEZipB,gBAAiB,CACfpvF,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEX4rE,kBAAmB,CACjBjwF,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEXysE,YAAa,CACX9wF,KAAMiH,OACNk/D,UAAU,ID5Dd,GECA,CACElpE,KAAM,oBACNsE,MAAOwvF,GACP,KAAAzlE,GACE,MAAM0lE,EAAoB97E,GAAI,uCAGxB+7E,EAAwB/7E,GAAI,MAQlC,OANAgV,IAAU,KACRxqB,YAAW,KACTsxF,EAAkB9tF,MAAQ,KACzB,KAAI,IAGF,CACL+tF,wBACAD,oBAEJ,GCfF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CHCvD,GA2BU,UA3BV,GA2BU,CA1BN,GAyBM,OAzBD3oF,MAAK,GAAC,2BAAmC,EAAA2oF,sBAC1C,GAiBM,MAjBN,GAiBM,CAfF,GAEM,MAFN,GAEM,CADF,GAAoE,KAApE,GAAoE,GAA9B,EAAA9B,iBAAiB5uF,OAAK,KAEhE,GAWM,MAXN,GAWM,CATF,GAQM,MARN,GAQM,CAPF,GAMS,UALL4U,IAAI,wBACC,QAAK,oBAAE,EAAAq6E,iBAAA,EAAAA,mBAAA,IACX,aAAY,EAAAL,iBAAiBgC,kBAC9B7oF,MAAM,iDAOtB,GAIM,MAJN,GAIM,CAHF,GAEI,IAFJ,GAEI,GADG,EAAA6mF,iBAAiBiC,SAAO,uBIvBpC9oF,MAAM,8CACRA,MAAM,uCACJA,MAAM,2FAWNA,MAAM,6CACJA,MAAM,qDACLA,MAAM,4DAKPA,MAAM,uEAMNA,MAAM,qDACJA,MAAM,2DACHA,MAAM,mFAOR49D,GAAmN,OAA9M+B,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAAYvG,GAAiH,QAA3Gv9C,KAAK,UAAUxmB,EAAE,2FCtCnI,MDDA,GCCA,CACEjF,KAAM,mBACNsE,MAAOwvF,GACPzlE,MAAK,SAAC/pB,GAEJ,IAAM6vF,EAA8B,WAC/B7vF,GAA+B,IAAtBA,EAAMuvF,aAChBvvF,EAAMivF,iBAAiB,GAE3B,EAEAtmE,IAAW,WACT5rB,SAAS82C,iBAAiB,oBAAqBg8C,EAA4B,CAAEC,MAAM,GACrF,IAEAlnE,IAAiB,WACf7rB,SAAS42C,oBAAoB,oBAAqBk8C,EACpD,GACF,GCdF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,iDFCzDvpB,GA0CU,UA1CVypB,GA0CU,CAzCRrrB,GAwCM,MAxCNgC,GAwCM,CAvCJhC,GAUM,MAVNiC,GAUM,CATJjC,GAQU,gBAPRsrB,GAAA,6EACAtrB,GAA2D,UAAlDqF,OAAQvtC,EAAA6yD,YAAarlB,MAAM,iCACpCtF,GAA2D,UAAlDqF,OAAQvtC,EAAA6yD,YAAarlB,MAAM,iCACpCtF,GAG8C,OAF5C59D,MAAM,8CACLmjE,IAAKztC,EAAA6yD,YACL7xC,IAAiB,QAAdyyC,EAAEzzD,EAAA8yD,oBAAY,IAAAW,EAAAA,EAAA,mCAGxBvrB,GA2BM,MA3BNwrB,GA2BM,CA1BJxrB,GAIM,MAJNyC,GAIM,CAHJzC,GAEK,KAFL0C,GAEKR,GADApqC,EAAAmxD,iBAAiB5uF,OAAK,KAI7B2lE,GAIM,MAJN2C,GAIM,CAHJ3C,GAEI,KAFD59D,MAAM,8DACPs5B,UAAQ5D,EAAAmxD,iBAAiBiC,sBAI7BlrB,GAaM,MAbN6C,GAaM,CAZJ7C,GAWM,MAXN8C,GAWM,CAVJ9C,GAES,OAFTyrB,GAESvpB,GADPpqC,EAAAmxD,iBAAiBt8E,MAAI,GAEvBqzD,GAMS,UALF3kC,QAAKymC,EAAA,KAAAA,EAAA,YAAAoY,GAAA,OAAEpiD,EAAAyyD,iBAAiB,GAAD,GAC5BnoF,MAAM,+GACN49D,GAEM,OAFD59D,MAAM,mBAAoB,aAAY01B,EAAAmxD,iBAAiBt8E,uCGlC7DvK,MAAM,kFAGEA,MAAM,sGACFA,MAAM,+BACHA,MAAM,gDAMV49D,GAAiD,QAA3C59D,MAAM,+BAA6B,cAG5CA,MAAM,mDACFA,MAAM,wGAEHA,MAAM,wJAQHA,MAAM,mCAAmC,YAAU,cAOtDA,MAAM,uJAQHA,MAAM,mCAAmC,YAAU,cAOtDA,MAAM,oJAQHA,MAAM,mCAAmC,YAAU,oBAU7DA,MAAM,wGACFA,MAAM,+BACHA,MAAM,8BAGTA,MAAM,wGAEHA,MAAM,wJAQHA,MAAM,mCAAmC,YAAU,cAOtDA,MAAM,uJAQHA,MAAM,mCAAmC,YAAU,cAOtDA,MAAM,oJAQHA,MAAM,mCAAmC,YAAU,cAUjEA,MAAM,8GAMNA,MAAM,0ECpIvB,UACI6mF,iBAAkB,CACdlvF,KAAMqC,OACN8jE,UAAU,GAEdqqB,iBAAkB,CACdxwF,KAAM2C,SACNwjE,UAAU,GAEdsqB,qBAAsB,CAClBzwF,KAAM2C,SACNwjE,UAAU,GAEd0pB,sBAAuB,CACnB7vF,KAAM2C,SACNwjE,UAAU,GAEdsoB,uBAAwB,CACpBzuF,KAAMqC,OACN8jE,UAAU,GAEdwqB,gBAAiB,CACb3wF,KAAMwE,MACN2hE,UAAU,GAEdwrB,mBAAoB,CAChB3xF,KAAME,OACNimE,UAAU,EACV9hD,QAAS,UAEbkrE,gBAAiB,CACbvvF,KAAM2C,SACNwjE,UAAU,GAEdyqB,YAAa,CACT5wF,KAAME,OACNimE,UAAU,GAEd0qB,aAAc,CACV7wF,KAAME,OACNimE,UAAU,GAGdqpB,gBAAiB,CACbxvF,KAAME,OACNimE,UAAU,GAEdwS,OAAQ,CACJ34E,KAAMqC,OACN8jE,UAAU,GAEdipB,gBAAiB,CACbpvF,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEb4rE,kBAAmB,CACfjwF,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEbutE,aAAc,CACV5xF,KAAMqC,OACN8jE,UAAU,GAEd0rB,gBAAiB,CACb7xF,KAAM2C,SACNwjE,UAAU,OC3DV,GACI,KADD99D,MAAM,gCAA8B,aAInC,GAAyD,KAAtDA,MAAM,yCAAwC,QAAI,GACrD,GAQM,OARDA,MAAM,0FAAwF,CAC/F,GAMM,OANDA,MAAM,oBAAkB,CACzB,GAIM,OAJD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5E,GAEgG,QAD5F9jD,KAAK,UACLxmB,EAAE,+FAhB9B,GCAA,CACEjF,KAAM,6BACNsE,MAAO,CACLkvF,qBAAsB,CACpBzwF,KAAM2C,SACNwjE,UAAU,GAEZqqB,iBAAkB,CAChBxwF,KAAM2C,SACNwjE,UAAU,GAEZwrB,mBAAoB,CAClB3xF,KAAME,OACNimE,UAAU,GAEZqpB,gBAAiB,CACfxvF,KAAME,OACNimE,UAAU,GAEZipB,gBAAiB,CACfpvF,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEXytE,SAAU,CACR9xF,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,IAGb,KAAAiH,GAAS,GCzBX,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFEvD,GAgBM,OAhBAjjB,MAAK,6BAA6B,EAAAypF,SAAW,GAAK,8EACpD,GAGA,GAWS,UAXI,QAAK,oBAAE,EAAAtB,kBAAA,EAAAA,oBAAA,IAAkBnoF,MAAM,oFFTpD,GKEA,CACEpL,KAAM,6BACJsE,MAAOwwF,GACT34D,WAAY,CACR44D,2BAAAA,IAEJ1mE,MAAK,SAAC/pB,GACJ,IAAM0wF,EAAiB/8E,GAAI3T,EAAMktF,uBAAuByD,WAClDC,EAAgBj9E,GAAI3T,EAAMktF,uBAAuBN,UACjD9D,EAAan1E,GAAI3T,EAAMktF,uBAAuBR,OAC9C+C,EAAoB97E,GAAI,uCAS9B,OAPAgV,IAAU,WACRxqB,YAAW,WACTsxF,EAAkB9tF,MAAQ,EAC5B,GAAG,KACL,IAGO,CACL+uF,eAAAA,EACAE,cAAAA,EACA9H,WAAAA,EACA2G,kBAAAA,EAEJ,GCtBF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,sHNCvDnpB,GA8IU,UA9IVypB,GA8IU,CA7INrrB,GA4IM,OA5ID,YAAU,SAAS59D,MAAKy/D,EAAA,CAAC,2BAAmC/pC,EAAAizD,sBAC7CjzD,EAAA8zD,iBAAe,KAA/BhqB,GA6DWW,GAAA,CAAA/mE,IAAA,IA5DPwkE,GAUM,MAVNgC,GAUM,CATFhC,GAEM,MAFNiC,GAEM,CADFjC,GAAoE,KAApEmsB,GAAoEjqB,GAA9BpqC,EAAAmxD,iBAAiB5uF,OAAK,KAEhE2lE,GAKS,UAJJ,aAAYloC,EAAA46C,OAAO0Z,qBACf/wD,QAAKymC,EAAA,KAAAA,EAAA,qBAAEhqC,EAAA8zD,iBAAA9zD,EAAA8zD,gBAAApiF,MAAAsuB,EAAA5mB,UAAe,GAC3B9O,MAAM,4EAId49D,GAgDM,MAhDNyC,GAgDM,CA/CFzC,GA8CM,MA9CN0C,GA8CM,CA7CF1C,GAcM,MAdN2C,GAcM,IAZF3C,GAK2F,SAJvF59D,MAAM,yBACL8d,YAA6B,QAAlBmsE,EAAEv0D,EAAA46C,OAAO4Z,iBAAS,IAAAD,EAAAA,EAAA,UAC7B,aAA4B,QAAlBE,EAAEz0D,EAAA46C,OAAO4Z,iBAAS,IAAAC,EAAAA,EAAA,+DACpBz0D,EAAAk0D,eAAc9R,CAAA,GAClBsS,QAAK1qB,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,YAAAzrF,MAA+B66B,EAAAk0D,iBAAc,iCADtEl0D,EAAAk0D,kBAGbhsB,GAII,IAJJ6C,GAII,CAHgB/qC,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,cAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADwB,QACxB,EADJs8B,EAAA46C,OAAOga,6BAAqB,IAAAC,EAAAA,EAAA,0DAI3C3sB,GAcM,MAdN8C,GAcM,IAZF9C,GAKyF,SAJrF59D,MAAM,yBACL8d,YAA4B,QAAjB0sE,EAAE90D,EAAA46C,OAAOma,gBAAQ,IAAAD,EAAAA,EAAA,YAC5B,aAA2B,QAAjBE,EAAEh1D,EAAA46C,OAAOma,gBAAQ,IAAAC,EAAAA,EAAA,iEACnBh1D,EAAAo0D,cAAahS,CAAA,GACjBsS,QAAK1qB,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,WAAAzrF,MAA8B66B,EAAAo0D,gBAAa,iCADpEp0D,EAAAo0D,iBAGblsB,GAII,IAJJ+sB,GAII,CAHgBj1D,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,aAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADuB,QACvB,EADJs8B,EAAA46C,OAAOsa,4BAAoB,IAAAC,EAAAA,EAAA,4DAI1CjtB,GAcM,MAdNktB,GAcM,IAZFltB,GAKmF,SAJ/E59D,MAAM,yBACL8d,YAAyB,QAAditE,EAAEr1D,EAAA46C,OAAOsV,aAAK,IAAAmF,EAAAA,EAAA,SACzB,aAAwB,QAAdC,EAAEt1D,EAAA46C,OAAOsV,aAAK,IAAAoF,EAAAA,EAAA,8DAChBt1D,EAAAssD,WAAUlK,CAAA,GACdsS,QAAK1qB,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,QAAAzrF,MAA2B66B,EAAAssD,aAAU,iCAD9DtsD,EAAAssD,cAGbpkB,GAII,IAJJqtB,GAII,CAHgBv1D,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,UAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADoB,QACpB,EADJs8B,EAAA46C,OAAO4a,yBAAiB,IAAAC,EAAAA,EAAA,gFAQ/C3rB,GAoDM,MApDN4rB,GAoDM,CAnDFxtB,GAEM,MAFNytB,GAEM,CADFztB,GAAoE,KAApE0tB,GAAoExrB,GAA9BpqC,EAAAmxD,iBAAiB5uF,OAAK,KAGhE2lE,GA8CM,MA9CN2tB,GA8CM,CA7CF3tB,GAcM,MAdN4tB,GAcM,IAZF5tB,GAK2F,SAJvF59D,MAAM,yBACL8d,YAA6B,QAAlB2tE,EAAE/1D,EAAA46C,OAAO4Z,iBAAS,IAAAuB,EAAAA,EAAA,UAC7B,aAA4B,QAAlBC,EAAEh2D,EAAA46C,OAAO4Z,iBAAS,IAAAwB,EAAAA,EAAA,+DACpBh2D,EAAAk0D,eAAc9R,CAAA,GAClBsS,QAAK1qB,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,YAAAzrF,MAA+B66B,EAAAk0D,iBAAc,iCADtEl0D,EAAAk0D,kBAGbhsB,GAII,IAJJ+tB,GAII,CAHgBj2D,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,cAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADwB,QACxB,EADJs8B,EAAA46C,OAAOga,6BAAqB,IAAAsB,EAAAA,EAAA,0DAI3ChuB,GAcM,MAdNiuB,GAcM,IAZFjuB,GAKyF,SAJrF59D,MAAM,yBACL8d,YAA4B,QAAjBguE,EAAEp2D,EAAA46C,OAAOma,gBAAQ,IAAAqB,EAAAA,EAAA,YAC5B,aAA2B,QAAjBC,EAAEr2D,EAAA46C,OAAOma,gBAAQ,IAAAsB,EAAAA,EAAA,iEACnBr2D,EAAAo0D,cAAahS,CAAA,GACjBsS,QAAK1qB,EAAA,MAAAA,EAAA,IAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,WAAAzrF,MAA8B66B,EAAAo0D,gBAAa,iCADpEp0D,EAAAo0D,iBAGblsB,GAII,IAJJouB,GAII,CAHgBt2D,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,aAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADuB,QACvB,EADJs8B,EAAA46C,OAAOsa,4BAAoB,IAAAqB,EAAAA,EAAA,4DAI1CruB,GAcM,MAdNsuB,GAcM,IAZFtuB,GAKmF,SAJ/E59D,MAAM,yBACL8d,YAAyB,QAAdquE,EAAEz2D,EAAA46C,OAAOsV,aAAK,IAAAuG,EAAAA,EAAA,SACzB,aAAwB,QAAdC,EAAE12D,EAAA46C,OAAOsV,aAAK,IAAAwG,EAAAA,EAAA,gEAChB12D,EAAAssD,WAAUlK,CAAA,GACdsS,QAAK1qB,EAAA,MAAAA,EAAA,IAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,QAAAzrF,MAA2B66B,EAAAssD,aAAU,iCAD9DtsD,EAAAssD,cAGbpkB,GAII,IAJJyuB,GAII,CAHgB32D,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,UAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADoB,QACpB,EADJs8B,EAAA46C,OAAO4a,yBAAiB,IAAAoB,EAAAA,EAAA,qEAQnD1uB,GAEM,MAFN2uB,GAEM,CADF3uB,GAA6C,OAAxCtkC,UAAQ5D,EAAAmxD,iBAAiBiC,sBAGlClrB,GAA+G,OAA1G59D,MAAM,4DAA4Ds5B,UAAQ5D,EAAAmxD,iBAAiBiC,oBAEhGlrB,GAcM,MAdN4uB,GAcM,CAbFx8C,GAYyCy8C,EAAA,CAXpCrE,qBAAsB1yD,EAAA0yD,qBACtBD,iBAAgB,kBAA+DzyD,EAAAyyD,iBAAgB,0BAAiEzyD,EAAAk0D,gBAAc,wBAAiEl0D,EAAAo0D,eAAa,qBAA8Dp0D,EAAAssD,eAQ1TsH,mBAAoB5zD,EAAA4zD,mBACpBnC,gBAAiBzxD,EAAAyxD,gBACjBJ,gBAAiBrxD,EAAAqxD,kJO1IzB/mF,MAAM,qCACFA,MAAM,2CACJA,MAAM,wDACGA,MAAM,qEAIkBA,MAAM,oEAKrCA,MAAM,gEASNA,MAAM,qFAkBP49D,GAAiD,QAA3C59D,MAAM,+BAA6B,UC1C7D,MDFI,GCEJ,CACIpL,KAAM,0BACNsE,MAAOwwF,GACT34D,WAAY,CACR44D,2BAAAA,IAEJ1mE,MAAK,SAAC/pB,GACJ,IAAMyvF,EAAoB97E,GAAI,uCAqB9B,OAnBAgV,IAAU,WACRxqB,YAAW,WACTsxF,EAAkB9tF,MAAQ,EAC5B,GAAG,KACL,IAeO,CACL8tF,kBAAAA,EACA+D,iBAdyB,WAAM,IAAAC,EACzB1Y,EAAuB,QAAf0Y,EAAGzzF,EAAMo3E,cAAM,IAAAqc,OAAA,EAAZA,EAAc1Y,SAE/B,GAAKA,EAAL,CAEA,IAAM2Y,EAAgB32F,SAAS42F,eAAe5Y,GAE1C2Y,GAAiBzwF,MAAM0uB,KAAK+hE,EAAc3gD,WAAWv0B,MAAK,SAAAs0B,GAAG,OAAIA,EAAIpwC,WAAW,mBAAmB,KACrG3F,SAASH,cAAc,IAAI47C,YAAY,oBAAqB,CAAEo7C,SAAS,IALpD,CAOvB,EAMF,GC7BF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2DFCvDttB,GA4CU,WA5CDx/D,MAAKy/D,EAAA,CAAC,uBAAsB,uCAAkD/pC,EAAA6zD,eAAsB,QAAVwD,EAAIr3D,EAAA46C,cAAM,IAAAyc,OAAA,EAANA,EAAQ9Y,YAAkB,QAAV+Y,EAAIt3D,EAAA46C,cAAM,IAAA0c,OAAA,EAANA,EAAQC,kBAC/HrvB,GA0CM,MA1CNqrB,GA0CM,CAzCFrrB,GASM,MATNgC,GASM,CARFhC,GAII,IAJJiC,GAII,CAHAjC,GAES,SAFTmsB,GAESjqB,GADFpqC,EAAAmxD,iBAAiBqG,gBAAc,KAGjCx3D,EAAAmxD,iBAAiBsG,UAAQ,KAAlC3tB,GAEI,IAFJ4tB,GAEIttB,GADGpqC,EAAAmxD,iBAAiBsG,UAAQ,oBAGd,QAANE,EAAA33D,EAAA46C,cAAM,IAAA+c,GAANA,EAAQpZ,UAAkB,QAAVqZ,EAAI53D,EAAA46C,cAAM,IAAAgd,GAANA,EAAQL,aAAW,KACnDztB,GAKM,MALNO,GAKM,CAJFnC,GAES,UAFI3kC,QAAKymC,EAAA,KAAAA,EAAA,YAAAoY,GAAA,OAAEpiD,EAAAyyD,iBAAiB,GAAD,GAAMnoF,MAAM,6CACzC01B,EAAAmxD,iBAAiB0G,YAAU,GAElC3vB,GAAuI,KAAnI5mE,KAAI,IAAA8gB,OAAY,QAAZ01E,EAAM93D,EAAA46C,cAAM,IAAAkd,OAAA,EAANA,EAAQvZ,UAAYj0E,MAAM,wCAAyCi5B,QAAKymC,EAAA,KAAAA,EAAA,qBAAEhqC,EAAAg3D,kBAAAh3D,EAAAg3D,iBAAAtlF,MAAAsuB,EAAA5mB,UAAgB,OAAW,UAAN4mB,EAAA46C,cAAM,IAAAmd,OAAA,EAANA,EAAQR,aAAW,EAAA7D,OAInH1zD,EAAA6zD,cAAgB7zD,EAAA6zD,aAAa50F,KAAO+gC,EAAA6zD,aAAavkD,MAAI,KACtEw6B,GAKM,MALNa,GAKM,CAJFzC,GAES,UAFI3kC,QAAKymC,EAAA,KAAAA,EAAA,YAAAoY,GAAA,OAAEpiD,EAAAyyD,iBAAiB,GAAD,GAAMnoF,MAAM,6CACzC01B,EAAAmxD,iBAAiB0G,YAAU,GAElC3vB,GAAmI,KAA/H5mE,KAAM0+B,EAAA6zD,aAAa50F,IAAKqL,MAAM,wCAAyC7I,OAAQu+B,EAAA6zD,aAAapyF,WAAWu+B,EAAA6zD,aAAavkD,MAAI,EAAAs7B,QAAA,KAIpId,GAYWW,GAAA,CAAA/mE,IAAA,IAXPwkE,GAGS,UAHI3kC,QAAKymC,EAAA,KAAAA,EAAA,YAAAoY,GAAA,OAAEpiD,EAAAyyD,iBAAiB,GAAD,GAC5BnoF,MAAM,qFACP01B,EAAAmxD,iBAAiB0G,YAAU,GAGlC3vB,GAKS,UAJJ,aAAYloC,EAAA46C,OAAO0Z,qBACf/wD,QAAKymC,EAAA,KAAAA,EAAA,qBAAEhqC,EAAA8zD,iBAAA9zD,EAAA8zD,gBAAApiF,MAAAsuB,EAAA5mB,UAAe,GAC3B9O,MAAM,kGGvCfA,MAAM,iDAGTA,MAAM,wGACDA,MAAM,+BACLA,MAAM,8BACPA,MAAM,oCAIRA,MAAM,8EAEPA,MAAM,0JCVDA,MAAM,yEAIJA,MAAM,uCAKH,GAMM,OANDA,MAAM,oBAAkB,CACzB,GAIM,OAJD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5E,GAEgG,QAD5F9jD,KAAK,UACLxmB,EAAE,iGAOfmG,MAAM,4CACT,GAQM,OARDA,MAAM,0FAAwF,CAC/F,GAMM,OANDA,MAAM,oBAAkB,CACzB,GAIM,OAJD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5E,GAEgG,QAD5F9jD,KAAK,UACLxmB,EAAE,kGAUnBmG,MAAM,oCAKFA,MAAM,4CACT,GAQM,OARDA,MAAM,0FAAwF,CAC/F,GAMM,OANDA,MAAM,oBAAkB,CACzB,GAIM,OAJD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5E,GAEgG,QAD5F9jD,KAAK,UACLxmB,EAAE,8FArDlC,GCAA,CACEjF,KAAM,oBACNsE,MAAO,CACLkvF,qBAAsB,CACpBzwF,KAAM2C,SACNwjE,UAAU,GAEZqqB,iBAAkB,CAChBxwF,KAAM2C,SACNwjE,UAAU,GAEZwrB,mBAAoB,CAClB3xF,KAAME,OACNimE,UAAU,GAEZqpB,gBAAiB,CACfxvF,KAAME,OACNimE,UAAU,GAEZipB,gBAAiB,CACfpvF,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEXytE,SAAU,CACR9xF,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,IAGb,KAAAiH,GAAS,GCzBX,IAFiC,QAAgB,GAAQ,CAAC,CAAC,sCFCvC,EAAe,sBAC3B,GAgCM,aAhCAjjB,MAAK,8BAA6B,EAAAypF,SAAW,GAAK,4CACpD,GAEI,IAFJ,GAEI,GADG,EAAAtC,iBAAe,GAGtB,GAaM,MAbN,GAaM,CAZF,GAWS,UAVA,QAAK,oBAAE,EAAAiB,sBAAA,EAAAA,wBAAA,IACZ,aAAW,UACXpoF,MAAM,+FAWd,GAWS,UAXI,QAAK,oBAAE,EAAAmoF,kBAAA,EAAAA,oBAAA,IAAkBnoF,MAAM,yEACxC,GAA6E,IAA7E,GAA6E,GAAzB,EAAAspF,oBAAkB,GACtE,gBAcR,GAiBM,aAjBAtpF,MAAK,6BAA6B,EAAAypF,SAAW,GAAK,8EACpD,GAEI,IAFJ,GAEI,GADG,EAAAtC,iBAAe,GAGtB,GAWS,UAXI,QAAK,oBAAE,EAAAgB,kBAAA,EAAAA,oBAAA,IAAkBnoF,MAAM,yEACxC,GAA6E,IAA7E,GAA6E,GAAzB,EAAAspF,oBAAkB,GACtE,cDhDhB,GIEA,CACE10F,KAAM,sBACNm8B,WAAY,CACV28D,kBAAAA,IAEFx0F,MAAOwvF,GACPzlE,MAAK,SAAC/pB,GACJ,IAAMy0F,EAAgB9gF,GAAI3T,EAAMktF,uBAAuBwH,SACjDjF,EAAoB97E,GAAI,uCAO9B,OALAgV,IAAU,WACRxqB,YAAW,WACTsxF,EAAkB9tF,MAAQ,EAC5B,GAAG,KACL,IACO,CACL8yF,cAAAA,EACAhF,kBAAAA,EAEJ,GChBF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2ELCzDnpB,GA4BU,UA5BVypB,GA4BU,CA3BRrrB,GA0BM,OA1BD59D,MAAKy/D,EAAA,CAAC,2BAAmC/pC,EAAAizD,sBAC5C/qB,GAMM,MANNgC,GAMM,CAJJhC,GAGM,MAHNiC,GAGM,CAFJjC,GAAoE,KAApEmsB,GAAoEjqB,GAA9BpqC,EAAAmxD,iBAAiB5uF,OAAK,GAC5D2lE,GAAsE,IAAtEwvB,GAAwC,QAAKttB,GAAGpqC,EAAAyxD,iBAAe,OAInEvpB,GAgBM,MAhBNmC,GAgBM,CAfJnC,GAOM,MAPNwrB,GAOM,IALJxrB,GAIsF,SAHpF59D,MAAM,yBACL8d,YAAsC,QAA3B+vE,EAAEn4D,EAAA46C,OAAOwd,0BAAkB,IAAAD,EAAAA,EAAA,sEAC9Bn4D,EAAAi4D,cAAa7V,CAAA,GACjBsS,QAAK1qB,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,UAAAzrF,MAA6B66B,EAAAi4D,gBAAa,iCADnEj4D,EAAAi4D,mBAIb39C,GAKuC+9C,EAAA,CAJpC3F,qBAAsB1yD,EAAA0yD,qBACtBD,iBAAgB,kBAAQzyD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,UAAAzrF,MAA6B66B,EAAAi4D,gBAAa,EAClFrE,mBAAoB5zD,EAAAmxD,iBAAiBt8E,KACrC48E,gBAAiBzxD,EAAAyxD,gBACjBJ,gBAAiBrxD,EAAAqxD,iYM9B5B3E,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAA8S,GAAA9S,EAAAgF,GAAA,IAAAy6B,EAAAn7B,OAAA6G,KAAAnL,GAAA,GAAAsE,OAAA+hE,sBAAA,KAAAhiE,EAAAC,OAAA+hE,sBAAArmE,GAAAgF,IAAAX,EAAAA,EAAAgN,QAAA,SAAArM,GAAA,OAAAV,OAAAg0F,yBAAAt4F,EAAAgF,GAAAR,UAAA,KAAAi7B,EAAA5yB,KAAA6E,MAAA+tB,EAAAp7B,EAAA,QAAAo7B,CAAA,UAAA84D,GAAAv4F,GAAA,QAAAgF,EAAA,EAAAA,EAAAoU,UAAAzT,OAAAX,IAAA,KAAAy6B,EAAA,MAAArmB,UAAApU,GAAAoU,UAAApU,GAAA,GAAAA,EAAA,EAAA8N,GAAAxO,OAAAm7B,IAAA,GAAAx1B,SAAA,SAAAjF,GAAA,IAAAH,EAAAnB,EAAAyB,EAAAN,EAAA7E,EAAA0D,EAAAsB,EAAAG,EAAAs6B,EAAAz6B,IAAAtB,EAAA,SAAAgF,GAAA,IAAAhF,EAAA,SAAA04D,GAAA,cAAAx9D,GAAAw9D,IAAA,OAAAA,EAAA,OAAAA,EAAA,IAAAo8B,EAAAp8B,EAAAn3D,OAAAwzF,aAAA,QAAAz0F,IAAAw0F,EAAA,KAAAhvF,EAAAgvF,EAAAt0F,KAAAk4D,EAAAs8B,UAAA,cAAA95F,GAAA4K,GAAA,OAAAA,EAAA,UAAAykF,UAAA,uDAAA9rF,OAAAi6D,EAAA,CAAAu8B,CAAAjwF,GAAA,iBAAA9J,GAAA8E,GAAAA,EAAAvB,OAAAuB,EAAA,CAAAk1F,CAAAl1F,MAAAmB,EAAAP,OAAAC,eAAAM,EAAAnB,EAAA,CAAAyB,MAAAA,EAAAX,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAhoF,EAAAnB,GAAAyB,CAAA,IAAAb,OAAAu0F,0BAAAv0F,OAAAwuE,iBAAA9yE,EAAAsE,OAAAu0F,0BAAAp5D,IAAA3sB,GAAAxO,OAAAm7B,IAAAx1B,SAAA,SAAAjF,GAAAV,OAAAC,eAAAvE,EAAAgF,EAAAV,OAAAg0F,yBAAA74D,EAAAz6B,GAAA,WAAAhF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,CAeA,UACIzwF,KAAM,kBACNm8B,WAAY,CACRy9D,iBAAAA,GACAC,wBAAAA,GACAC,2BAAAA,GACAC,oBAAAA,GACAC,kBAAAA,IAEJ11F,MAAO,CACHo3E,OAAQ,CACJ34E,KAAMqC,OACN8jE,UAAU,GAEd+wB,mBAAoB,CAChBl3F,KAAME,OACNimE,UAAU,GAEdgxB,sBAAuB,CACnBn3F,KAAME,OACNimE,UAAU,GAEdixB,sBAAuB,CACnBp3F,KAAME,OACNimE,UAAU,GAEdkxB,eAAgB,CACZr3F,KAAME,OACNimE,UAAU,GAEd0P,gBAAiB,CACb71E,KAAME,OACNimE,UAAU,EACV9hD,QAAS,SAEbizE,cAAe,CACXt3F,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEbutE,aAAc,CACV5xF,KAAMqC,OACN8jE,UAAU,GAEd0rB,gBAAiB,CACb7xF,KAAM2C,SACNwjE,UAAU,GAEdoxB,gBAAiB,CACbv3F,KAAM2C,SACNwjE,UAAU,IAGlB76C,MAAK,SAAC/pB,GAAO,IAAAi2F,EACHC,EAAmB3oF,IAAS,WAC9B,MAAO,yBAAPqR,OAAgC5e,EAAMs0E,gBAC1C,IAEM6hB,EAA4B5oF,IAAS,WACvC,MAAO,GAAPqR,OAAUs3E,EAAiBv0F,MAC/B,IAGMmrF,EAAYn5E,GAAI,CAClB,CACIy5E,MAAO,YACPzrF,MAAO,GACPmtF,UAAWsH,GACXlZ,SAAS,GAEb,CACIkQ,MAAO,WACPzrF,MAAO,GACPmtF,UAAWsH,GACXlZ,SAAS,GAEb,CACIkQ,MAAO,QACPzrF,MAAO,GACPmtF,UAAWuH,GACXnZ,SAAS,KAIbiL,EAAsBx0E,IAAI,GAI1Bo5E,EAAsBp5E,GAAI,CAC1B,CACI+5E,KAAM,EACNhyF,KAAM,0BACN8xF,WAAW,EACXO,iBAAiB,EACjBH,MAAO,CACHoG,eAAgBh0F,EAAMo3E,OAAO4c,eAC7BC,SAAUj0F,EAAMo3E,OAAO6c,SACvBI,WAAYr0F,EAAMo3E,OAAOid,aAGjC,CACI3G,KAAM,EACNhyF,KAAM,6BACN8xF,WAAW,EACXO,iBAAiB,EACjBH,MAAO,CACH7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpB6wF,QAAS5vF,EAAMo3E,OAAOkf,UAG9B,CACI5I,KAAM,EACNhyF,KAAM,oBACN8xF,WAAW,EACXO,iBAAiB,EACjBH,MAAO,CACH7uF,MAAOiB,EAAMo3E,OAAOmf,aACpB3G,QAAS5vF,EAAMo3E,OAAOof,QACtB7G,kBAAiD,QAAhCsG,EAAEj2F,EAAMo3E,OAAOuY,yBAAiB,IAAAsG,EAAAA,EAAI,OAKjEttE,IAAU,WACF3oB,EAAM+1F,gBACNhJ,EAAoBprF,MAAM,GAAG6rF,WAAY,EAEjD,IAEA,IAAMkB,EAAoB/6E,IAAI,GAE9B8iF,EASIC,GAAyB5J,EAAUnrF,MAAOorF,EAAoBprF,MAAO3B,EAAMo3E,QAR3E8V,EAAsBuJ,EAAtBvJ,uBACAc,EAAeyI,EAAfzI,gBACAX,EAAeoJ,EAAfpJ,gBACAM,EAAgB8I,EAAhB9I,iBACAE,EAAe4I,EAAf5I,gBACAI,EAAewI,EAAfxI,gBACAK,EAAqBmI,EAArBnI,sBACAE,EAAoBiI,EAApBjI,qBAeEmI,EAAU,eAzKxBxyF,EAyKwBg6E,GAzKxBh6E,EAyKwB+kF,KAAAoC,MAAG,SAAAiB,EAAgBkC,GAAS,IAAAzvF,EAAA9C,EAAA06F,EAAA,OAAA1N,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,OAgBJ,OAf9BrS,EAAO,CACTgyF,UAAWvC,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,cAAhBA,EAAMA,KAAqB,IAAEzrF,MAClE4vF,SAAU9C,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,aAAhBA,EAAMA,KAAoB,IAAEzrF,MAChE+qF,MAAO+B,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,UAAhBA,EAAMA,KAAiB,IAAEzrF,OAY9DyhF,GATqB,CACjBtpE,MAAO,eAAF8E,OAAiB5e,EAAM81F,eAAc,kBAC1C/R,cAAe,gBACfD,YAAa9jF,EAAM81F,eACnB9R,WAAY,SACZE,WAAY,IACZI,SAAU,WAGsBhrD,EAAAjoB,KAAA,EAE9BwlF,GAAmB73F,EAAMgB,EAAM61F,uBAAsB,cAAAv8D,EAAAjoB,KAAA,EAEpCylF,GAAgB93F,EAAMgB,EAAM21F,oBAAmB,OAO9B,OAPlCz5F,EAAQo9B,EAAA+wD,KAERuM,EAAmB7B,GAAAA,GAAA,CACrBrI,MAAO+B,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,UAAhBA,EAAMA,KAAiB,IAAEzrF,MAC1DqvF,UAAWvC,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,cAAhBA,EAAMA,KAAqB,IAAEzrF,MAClE4vF,SAAU9C,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,aAAhBA,EAAMA,KAAoB,IAAEzrF,OACnC,iBAAlBzF,EAASyhB,MAAqB,CAAEo5E,aAAc76F,EAASyhB,OAAM,IACxEm4E,eAAgB91F,EAAM81F,iBAAcx8D,EAAAjoB,KAAA,GAGlC2lF,GAAsBJ,EAAqB52F,EAAM41F,uBAAsB,yBAAAt8D,EAAA3vB,OAAA,GAAA4iF,EAAA,IAvMzF,eAAAlxF,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,MAwMS,gBA/Be6rF,GAAA,OAAAlO,EAAAjwE,MAAA,KAAA0H,UAAA,KAgDhB,MAAO,CACH+3E,iBAAAA,EACAe,kBAAAA,EACArB,gBAAAA,EACAH,uBAAAA,EACA+J,wBAjE4B,SAAUxI,GACtC,IAAMyI,EAAeC,GACjB1I,EACA3B,EAAUnrF,MACVorF,EAAoBprF,MACpB0rF,EAAgB1rF,MAChBg1F,GAGJjI,EAAkB/sF,MAAQu1F,CAC9B,EAwDIjJ,gBAAAA,EACAO,qBAAAA,EACAF,sBAAAA,EACAT,gBAAAA,EACAG,gBAAAA,EACAmI,0BAAAA,EACAiB,QA3BY,WACRp3F,EAAMg2F,kBACNhI,IACAhuF,EAAMg2F,mBAEV7N,EAAoBxmF,OAAQ,CAChC,EAsBIwmF,oBAAAA,EACAkP,QArBY,WACRr3F,EAAMswF,iBACNtwF,EAAMswF,kBAEVnI,EAAoBxmF,OAAQ,CAChC,EAkBJ,GCxOJ,MCKA,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CDCvD2kE,GAgBU,WAhBDx/D,MAAKy/D,EAAA,CAAC,mBAA2B/pC,EAAA25D,8BAE5B35D,EAAA2rD,qBAAmB,KAD7BmP,GAcuBC,GAZd/6D,EAAA6wD,iBAAe,OACnB4B,iBAAkBzyD,EAAAy6D,wBAClB/H,qBAAsB1yD,EAAAgyD,qBACtBE,kBAAmBlyD,EAAAkyD,kBACnBf,iBAAkBnxD,EAAAmxD,iBAClBE,gBAAiBrxD,EAAAqxD,gBACjBG,gBAAiBxxD,EAAA66D,QACjBnK,uBAAwB1wD,EAAA0wD,uBACxBoB,sBAAuB9xD,EAAA8xD,sBACvBL,gBAAiBzxD,EAAAyxD,gBACjBoC,aAAc7zD,EAAA6zD,aACdC,gBAAiB9zD,EAAA66D,QACjBjgB,OAAQ56C,EAAA46C,4QlCnBrB,GoCMA,CACI17E,KAAM,iCACNm8B,WAAY,CACRqhD,gBAAe,GACfse,uBAAsB,GACtBC,kBAAiB,GACjBC,kBAAiB,GACjBC,gBAAe,IAEnB33F,MAAO43F,GACP7tE,MAAK,KACM,CACHgvD,gBAAe,GACfE,aAAY,MCdxB,IAFiC,QAAgB,GAAQ,CAAC,CAAC,oLrCCvD,GAqHU,UArHV,GAqHU,CApHQ,EAAAgP,UAAU9lF,OAAS,QAAjC,GASS,gBATgC,QAAK,oBAAE,EAAAwmF,iBAAA,EAAAA,mBAAA,IAAiB7hF,MAAM,gDACnE,GAOA,GAAmG,OAAnG,GAAmG,GAAhC,EAAAswE,OAAOygB,iBAAe,oBAGlB,EAAAzgB,OAAO0gB,aAAe,EAAA1gB,OAAO2gB,mBAAxG,GAEK,KAFL,GAEK,GADE,EAAA9P,UAAU9lF,OAAS,EAAI,EAAAi1E,OAAO2gB,aAAe,EAAA3gB,OAAO0gB,aAAW,kBAGtE,GAoDM,OAnDFhxF,MAAK,GAAC,iDAAgD,4DACgB,EAAAmhF,UAAU9lF,OAAS,OACpD,IAArB,EAAA8lF,UAAU9lF,eAA1B,GA6BW,cA7BqE,EAAA8lF,WAAS,CAAzC2H,EAASoI,qBAAwCA,GAAkB,CAErGpI,QADV,GAKyE,SAHpEjyE,KAAMiyE,EACNxY,OAAQ,EAAAA,OACRmE,gBAAiB,EAAA6M,uBAAuB4P,GAAoB71F,OAAS,EACrEm5E,WAAU,IAAQ,EAAAgN,2BAA2B0P,4EAEzB,EAAAhQ,QAAQgQ,SAAjC,GAA4F,SAArCr6E,KAAM,EAAAqqE,QAAQgQ,oCAErE,GAkBM,MAlBN,GAkBM,CAjBF,GAOS,UANJlxF,MAAK,gBAA8C,sBAAmB,2GAGtE,gBAAe,EAAAqhF,oBACX,QAAK,oBAAE,EAAAI,2BAAA,EAAAA,6BAAA,QACT,EAAAnR,OAAO6gB,4BAA0B,OAExC,GAES,UAFDnxF,MAAM,yCAA8C,QAAK,oBAAE,EAAA0hF,sBAAA,EAAAA,wBAAA,QAC5D,EAAApR,OAAO8gB,wBAAsB,GAEpC,GAKS,UAJLpxF,MAAM,yCACN,gBAAc,OACT,QAAK,IAAQ,EAAA4hF,uBAAuBsP,OACtC,EAAA5gB,OAAO+gB,uBAAqB,8BAK3C,GAiBW,cAjBkD,EAAAlQ,WAAS,CAA7C2H,EAASwI,UAC9B,GAeM,WAhBoEA,EACrEtxF,MAAM,2DAEG8oF,QADV,GAMwB,SAJnBjyE,KAAMiyE,EACNxY,OAAQ,EAAAA,OACRkE,WAAU,IAAQ,EAAA+M,eAAe+P,GACjC7c,gBAAiB,EAAA6M,uBAAuBgQ,GAAwBj2F,OAAS,EACzEk5E,UAAU,2EAEf,GAKS,UAJLv0E,MAAM,yCACN,gBAAc,OACT,QAAK,IAAQ,EAAA2hF,WAAW2P,OAC1B,EAAAhhB,OAAO+gB,uBAAqB,qBAMc,EAAAjQ,iBAAmB,EAAAC,0BAAhF,GAUM,MAVN,GAUM,CATF,GAQmD,GAP9C/Q,OAAQ,EAAA8Q,gBAAgB9Q,OACxBue,mBAAoB,EAAAzN,gBAAgByN,mBACpCC,sBAAuB,EAAA1N,gBAAgB0N,sBACvCC,sBAAuB,EAAA3N,gBAAgB2N,sBACvCC,eAAgB,EAAA5N,gBAAgB4N,eAChCxhB,gBAAiB,EAAA4T,gBAAgB5T,gBACjCyhB,eAAe,EACfzF,gBAAiB,EAAA1H,yLAG1B,GAuBM,MAvBN,GAuBM,CAtBgC,IAAlB,EAAAzP,OAAOh3E,eAAvB,GAeW,cAfwD,EAAAg3E,QAAM,CAA5BQ,EAAOC,UAChD,GAaU,eAdmEA,EACpE9yE,MAAM,0DAA2DuR,GAAE,SAAWuhE,cACnF,GAWW,WAX6BD,GAAK,CAA3BD,EAAOgB,qBAA4BA,GAAU,CAC3D,GAAgG,KAAhG,GAAgG,GAAnBhB,EAAM36E,OAAK,WAExF,GAOW,WAP6B26E,EAAMP,QAAM,CAAlCQ,EAAOC,UACrB,GAKuB,OANiCA,EAEnDvC,QAAS,EAAA0B,gBAAgBY,GACzB7G,QAAS6G,EAAM7G,QACfyE,WAAUoC,EAAMh4E,MAChB21E,KAAM,EAAA2B,aAAaU,GACnBvC,OAAQ,EAAAA,sHAOnB,EAAA+B,OAAOh3E,OAAS,QAD1B,GAIE,SAFGg3E,OAAQ,EAAAA,OACR/B,OAAQ,EAAAA,qDAKP,EAAA8Q,iBAAwC,IAArB,EAAAD,UAAU9lF,aADvC,GASiC,SAP5Bi1E,OAAQ,EAAA8Q,gBAAgB9Q,OACxBue,mBAAoB,EAAAzN,gBAAgByN,mBACpCC,sBAAuB,EAAA1N,gBAAgB0N,sBACvCC,sBAAuB,EAAA3N,gBAAgB2N,sBACvCC,eAAgB,EAAA5N,gBAAgB4N,eAChCxhB,gBAAiB,EAAA4T,gBAAgB5T,gBACjC+b,aAAc,EAAAnI,gBAAgBmI,aAC9B2F,gBAAiB,2KsCpHjBlvF,MAAM,4CAEP,GAMM,OANDA,MAAM,oDAAkD,CACzD,GAIM,OAJDA,MAAM,oBAAkB,CACzB,GAEM,OAFD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5E,GAA6G,QAAvG9jD,KAAK,UAAUxmB,EAAE,mGAI7BmG,MAAM,+DAGZA,MAAM,wCAAwC,YAAU,cAe/CA,MAAM,iHAsDdA,MAAM,gEAISA,MAAM,iEAzFlC,GCMA,CACIpL,KAAM,gCACNm8B,WAAY,CACRqhD,gBAAe,GACfse,uBAAsB,GACtBC,kBAAiB,GACjBC,kBAAiB,GACjBC,gBAAe,IAEnB33F,MAAO43F,GACP7tE,MAAK,KACM,CACHgvD,gBAAe,GACfE,aAAY,MCdxB,IAFiC,QAAgB,GAAQ,CAAC,CAAC,oLFCvD,GAyGU,UAzGV,GAyGU,CAxGQ,EAAAgP,UAAU9lF,OAAS,QAAjC,GASS,gBATgC,QAAK,oBAAE,EAAAwmF,iBAAA,EAAAA,mBAAA,IAAiB7hF,MAAM,gDACnE,GAOA,GAAmG,OAAnG,GAAmG,GAAhC,EAAAswE,OAAOygB,iBAAe,oBAGlB,EAAAzgB,OAAO0gB,aAAe,EAAA1gB,OAAO2gB,mBAAxG,GAEK,KAFL,GAEK,GADE,EAAA9P,UAAU9lF,OAAS,EAAI,EAAAi1E,OAAO2gB,aAAe,EAAA3gB,OAAO0gB,aAAW,kBAGtE,GAoDM,OAnDFhxF,MAAK,GAAC,iDAAgD,4DACgB,EAAAmhF,UAAU9lF,OAAS,OACpD,IAArB,EAAA8lF,UAAU9lF,eAA1B,GA6BW,cA7BqE,EAAA8lF,WAAS,CAAzC2H,EAASoI,qBAAwCA,GAAkB,CAErGpI,QADV,GAKyE,SAHpEjyE,KAAMiyE,EACNxY,OAAQ,EAAAA,OACRmE,gBAAiB,EAAA6M,uBAAuB4P,GAAoB71F,OAAS,EACrEm5E,WAAU,IAAQ,EAAAgN,2BAA2B0P,4EAElD,GAkBM,MAlBN,GAkBM,CAjBF,GAOS,UANJlxF,MAAK,gBAA8C,sBAAmB,2GAGtE,gBAAe,EAAAqhF,oBACX,QAAK,oBAAE,EAAAI,2BAAA,EAAAA,6BAAA,QACT,EAAAnR,OAAO6gB,4BAA0B,OAExC,GAES,UAFDnxF,MAAM,yCAA8C,QAAK,oBAAE,EAAA0hF,sBAAA,EAAAA,wBAAA,QAC5D,EAAApR,OAAO8gB,wBAAsB,GAEpC,GAKS,UAJLpxF,MAAM,yCACN,gBAAc,OACT,QAAK,IAAQ,EAAA4hF,uBAAuBsP,OACtC,EAAA5gB,OAAO+gB,uBAAqB,QAId,EAAAnQ,QAAQgQ,SAAjC,GAA4F,SAArCr6E,KAAM,EAAAqqE,QAAQgQ,0DAGzE,GAiBW,cAjBkD,EAAA/P,WAAS,CAA7C2H,EAASwI,UAC9B,GAeM,WAhBoEA,EACrEtxF,MAAM,2DAEG8oF,QADV,GAMwB,SAJnBjyE,KAAMiyE,EACNxY,OAAQ,EAAAA,OACRkE,WAAU,IAAQ,EAAA+M,eAAe+P,GACjC7c,gBAAiB,EAAA6M,uBAAuBgQ,GAAwBj2F,OAAS,EACzEk5E,UAAU,2EAEf,GAKS,UAJLv0E,MAAM,yCACN,gBAAc,OACT,QAAK,IAAQ,EAAA2hF,WAAW2P,OAC1B,EAAAhhB,OAAO+gB,uBAAqB,qBAOrC,EAAAjQ,iBAAwC,IAArB,EAAAD,UAAU9lF,aADvC,GASkC,SAP7Bi1E,OAAQ,EAAA8Q,gBAAgB9Q,OACxBue,mBAAoB,EAAAzN,gBAAgByN,mBACpCC,sBAAuB,EAAA1N,gBAAgB0N,sBACvCC,sBAAuB,EAAA3N,gBAAgB2N,sBACvCC,eAAgB,EAAA5N,gBAAgB4N,eAChCxhB,gBAAiB,EAAA4T,gBAAgB5T,gBACjC+b,aAAc,EAAAnI,gBAAgBmI,aAC9B2F,gBAAiB,iKAEtB,GAuBM,MAvBN,GAuBM,CAtBgC,IAAlB,EAAA7c,OAAOh3E,eAAvB,GAeW,cAfwD,EAAAg3E,QAAM,CAA5BQ,EAAOC,UAChD,GAaU,eAdmEA,EACpE9yE,MAAM,0DAA2DuR,GAAE,SAAWuhE,cACnF,GAWW,WAX6BD,GAAK,CAA3BD,EAAOgB,qBAA4BA,GAAU,CAC3D,GAAgG,KAAhG,GAAgG,GAAnBhB,EAAM36E,OAAK,WAExF,GAOW,WAP6B26E,EAAMP,QAAM,CAAlCQ,EAAOC,UACrB,GAKuB,OANiCA,EAEnDvC,QAAS,EAAA0B,gBAAgBY,GACzB7G,QAAS6G,EAAM7G,QACfyE,WAAUoC,EAAMh4E,MAChB21E,KAAM,EAAA2B,aAAaU,GACnBvC,OAAQ,EAAAA,sHAOnB,EAAA+B,OAAOh3E,OAAS,QAD1B,GAIE,SAFGg3E,OAAQ,EAAAA,OACR/B,OAAQ,EAAAA,2DzC1GzB,G4CSA,CACI17E,KAAM,0BACNm8B,WAAY,CACRwgE,+BAA8B,GAC9BC,8BAA6B,GAC7BhR,MAAK,IAETtnF,MAAO,CACHo3E,OAAQ,CACJ34E,KAAMqC,OACN8jE,UAAU,GAEd8C,OAAQ,CACJjpE,KAAME,OACNimE,UAAU,GAEd2zB,QAAS,CACL95F,KAAME,OACNimE,UAAU,GAEd4zB,YAAa,CACT/5F,KAAMwE,MACN2hE,UAAU,EACV9hD,QAAS,IAEb68D,aAAc,CACVlhF,KAAMwE,MACN2hE,UAAU,EACV9hD,QAAS,IAEb88D,SAAU,CACNnhF,KAAMqC,OACN8jE,UAAU,GAEdgrB,QAAS,CACLnxF,KAAMqC,OACN8jE,UAAU,GAEdujB,oBAAqB,CACjB1pF,KAAMuqB,QACNlG,SAAS,GAEbklE,QAAS,CACLvpF,KAAMqC,OACN8jE,UAAU,GAEdsjB,gBAAiB,CACbzpF,KAAMqC,OACN8jE,UAAU,IAGlB,KAAA76C,CAAM/pB,GACF,MAAMmtE,EAAQL,KAGRkb,EAAUr0E,GAAI,CAAC,IAAK3T,EAAMgoF,WAC1BC,EAAYt0E,GAAI,CAAC,IAAK3T,EAAM4vF,WAC5BzW,EAASxlE,GAAI,CAAC,IAAK3T,EAAMw4F,eACzBC,EAAkB9kF,GAAI,CAAC,IAAK3T,EAAM4/E,YAClCuI,EAAsBx0E,IAAI,GAC1BqyE,EAAYryE,IAAI,GAEhBmyE,EAAY,IAAS,IAAM3Y,EAAM7kD,MAAMo9D,MAAM5pF,OAE7CssF,EAA0Bj/E,IAC5B,MAAMu6E,EAAc1jF,EAAM2/E,aAAalzB,MAAMxmD,GAASA,EAAKi7E,UAAYuX,EAAgB92F,MAAMwH,GAAOg3E,cACpG,OAAOuD,GAAaC,WAAa,EAAC,EAWtCh7D,IAAU,KARV,IAEQ+vE,EACA9tB,EADA8tB,EAAcv9F,OAAO6C,SAASF,KAC9B8sE,EAAU,aAAe,IAAI/0B,KAAKA,KAAKC,MAAQ,OAAqB+0B,cAExE9tE,SAASwtE,OAASD,sBAAmBouB,EAAc9tB,EAAU,wBAItC,IAG3BxkD,GAAM4/D,GAAYrkF,IACdwrE,EAAM50B,SAAS,qBAAsB,CAAEytC,UAAWrkF,GAAO,IAI7D,MAAMg3F,EAAqB,CAACh7E,EAAMxU,KAC1BwU,EAAKshE,WAAUwZ,EAAgB92F,MAAMwH,GAAO81E,SAAWthE,EAAKshE,UAC5DthE,EAAKoiE,aAAY0Y,EAAgB92F,MAAMwH,GAAO42E,WAAax6E,WAAWoY,EAAKoiE,aAC3EpiE,EAAKsiE,aAAYwY,EAAgB92F,MAAMwH,GAAO82E,WAAa16E,WAAWoY,EAAKsiE,aAC3EtiE,EAAKwiE,cAAasY,EAAgB92F,MAAMwH,GAAOg3E,YAAcxiE,EAAKwiE,aAClExiE,EAAK8lE,iCACLgV,EAAgB92F,MAAMwH,GAAOs6E,+BAAiCl+E,WAAWoY,EAAK8lE,iCAC9E9lE,EAAK6lE,2BACLiV,EAAgB92F,MAAMwH,GAAOq6E,yBAA2Bj+E,WAAWoY,EAAK6lE,2BACxE7lE,EAAK4lE,uBAAsBkV,EAAgB92F,MAAMwH,GAAOo6E,qBAAuBh+E,WAAWoY,EAAK4lE,sBAAoB,EAGrHqV,EAAkB,CAAC18F,EAAUiN,KACjB,OAAVA,GACA8+E,EAAUtmF,MAAMwH,GAAS,IAAKjN,EAAS0zF,SACvCzW,EAAOx3E,MAAMwH,GAAS,IAAKjN,EAASs8F,aACpCC,EAAgB92F,MAAMwH,GAAS,IAAKjN,EAAS0jF,UAC7CoI,EAAQrmF,MAAMwH,GAAS,IAAKjN,EAAS8rF,WAErCC,EAAUtmF,MAAM0H,KAAK,IAAKnN,EAAS0zF,UACnCzW,EAAOx3E,MAAM0H,KAAK,IAAKnN,EAASs8F,cAChCC,EAAgB92F,MAAM0H,KAAK,IAAKnN,EAAS0jF,WACzCoI,EAAQrmF,MAAM0H,KAAK,IAAKnN,EAAS8rF,UACrC,EAGE6Q,EAAW,KACb,MAAMC,EAAW39F,OAAO6C,SAASF,KAAK6B,QAAQxE,OAAO6C,SAAS+6F,OAAQ,IAChE19E,EAASssE,GAAoB,CAC/B5H,WAAY0Y,EAAgB92F,MAAM,GAAGo+E,WACrCE,WAAYwY,EAAgB92F,MAAM,GAAGs+E,WACrCE,YAAasY,EAAgB92F,MAAM,GAAGw+E,YACtCsD,+BAAgCgV,EAAgB92F,MAAM,GAAG8hF,+BACzDD,yBAA0BiV,EAAgB92F,MAAM,GAAG6hF,yBACnDD,qBAAsBkV,EAAgB92F,MAAM,GAAG4hF,qBAC/C8D,YAAaoR,EAAgB92F,MAAM,GAAGs9E,WAE1C9jF,OAAO6C,SAASF,KAAOg7F,EAAWz9E,GAKhC29E,EAAsB,CAAC7vF,EAAOwH,KAAa,CAC7CmuE,mBAAoBsJ,EAAuBj/E,GAC3CiuE,OAAQp3E,EAAMo3E,OACdjuE,MAAOA,EACP41E,iBAAkB0Z,EAAgB92F,MAAMwH,GAAO81E,SAC/C3D,WAAY3qE,IAqCVsoF,EAAkB,CAAC9vF,EAAOwH,KAC5B,MAAMuoF,EAAoB,IAAKl5F,EAAM2/E,cAGrC,OAFAuZ,EAAkBzyF,SAASR,GAASA,EAAKm2C,UAAW,IAE7C,CACHg7B,OAAQp3E,EAAMo3E,OACduI,aAAcuZ,EACdpZ,iBAAmD,IAAjC2Y,EAAgB92F,MAAMQ,OACxCgH,MAAOA,EACPy2E,SAAU6Y,EAAgB92F,MAAMwH,GAChCmyE,WAAY3qE,EAChB,EAsGJ,MAAO,CACHq3E,UACAC,YACA9O,SACAgP,sBACAnC,YACAF,YACAsC,yBACArP,gBAAe,GACfE,aAAY,GACZoP,eA7JmB,SAAUl/E,GAiB7B0+E,GAAwB1a,EAAO6rB,EAAoB7vF,GAhB5B4+E,eAAgB9I,EAAUka,GAC7CR,EAAmB,CAAE1Z,YAAYka,GAEjC,MAAMC,EAAiBj7F,YAAW,KAC9B6nF,EAAUrkF,OAAQ,IACnB,KAEGzF,QAAiBm9F,GAAqBZ,EAAgB92F,MAAMw3F,GAAen5F,EAAM0nE,OAAQ1nE,EAAMu4F,SACrGK,EAAgB18F,EAAUi9F,GAE1BhsB,EAAM50B,SAAS,gBAAiB,CAAEz8C,MAAM,IAExCw9F,aAAaF,GACbpT,EAAUrkF,OAAQ,CACtB,IAE2E3B,EAAMo3E,OAAOmiB,eAC5F,EA4IIjR,2BA1I+B,SAAUn/E,GAUzC0+E,GAAwB1a,EAAO6rB,EAAoB7vF,GAT5B,SAAU81E,EAAUka,GACvCR,EAAmB,CAAE1Z,YAAYka,GAEVh7F,YAAW,KAC9B6nF,EAAUrkF,OAAQ,IACnB,KACHxD,YAAW,IAAM06F,KAAY,GACjC,IAE2E74F,EAAMo3E,OAAOmiB,eAC5F,EAgIIhR,0BAzB8B,WAC9BJ,EAAoBxmF,OAASwmF,EAAoBxmF,MAE7CwmF,EAAoBxmF,OACpBxD,YAAW,IAAMpB,SAAS4sC,cAAc,oCAAoCi8B,SAAS,IAE7F,EAoBI4iB,qBAzEyBT,eAAgBvrF,GACzCA,EAAEyB,OAAO+qC,UAAW,EAEpB,MAAM7c,EAAQ,IAAKssE,EAAgB92F,MAAM,IACnC+lF,EAAY1nF,EAAM2/E,aAAalzB,MAAMxmD,GAASA,EAAKi7E,UAAY/0D,EAAMg0D,cACrElB,EAAWyI,GAAW/D,UAAUl3B,MAAMxmD,GAASA,EAAKxH,OAAS0tB,EAAM8yD,WAEzE9yD,EAAM8yD,SAAW9yD,EAAM8yD,SAAWA,GAAUua,wBAA0Bx5F,EAAM4/E,UAAU4Z,uBACtFrtE,EAAMs3D,+BAAiCiE,GAAWnG,uCAAyC,EAC3Fp1D,EAAMq3D,yBAA2BkE,GAAWpG,iCAAmC,EAC/En1D,EAAMo3D,qBAAuBmE,GAAWrG,6BAA+B,EAEvE,MAAM+X,EAAiBj7F,YAAW,KAC9B6nF,EAAUrkF,OAAQ,IACnB,KAEGzF,QAAiBm9F,GAAqBltE,EAAOnsB,EAAM0nE,OAAQ1nE,EAAMu4F,SACvEK,EAAgB18F,EAAU,MAE1Bo9F,aAAaF,GACbpT,EAAUrkF,OAAQ,EAElBxD,YAAW,KACP3B,EAAEyB,OAAO+qC,UAAW,IACrB,KAGHm/C,EAAoBxmF,OAAQ,EAE5BxG,OAAOgrF,SAAS,EAAG,GAGnB/C,GAAqB,CACjBtpE,MAAO,mCACPgqE,YAAa,QACbC,cAAe,WACfC,WAAY,kBACZO,aAAc,QAEtB,EAmCIkE,WAjHe,SAAUt/E,GAkBzB2+E,GAAoB3a,EAChB8rB,EAAgB9vF,GAlBG4+E,eAAgBpqE,EAAMw7E,GACzCR,EAAmBh7E,EAAMw7E,GAEzB,MAAMC,EAAiBj7F,YAAW,KAC9B6nF,EAAUrkF,OAAQ,IACnB,KAEGzF,QAAiBm9F,GAAqBZ,EAAgB92F,MAAMw3F,GAAen5F,EAAM0nE,OAAQ1nE,EAAMu4F,SAErGK,EAAgB18F,EAAUi9F,GAE1BhsB,EAAM50B,SAAS,gBAAiB,CAAEz8C,MAAM,IAExCw9F,aAAaF,GACbpT,EAAUrkF,OAAQ,CACtB,IAII3B,EAAMo3E,OAAOqiB,qBACbxR,EAAUtmF,MAAMwH,GAAOpK,MAC/B,EA4FI2pF,uBA1F2B,SAAUv/E,GASrC2+E,GAAoB3a,EAChB8rB,EAAgB9vF,GATG,SAAUwU,GAC7Bg7E,EAAmBh7E,EAAM,GACFxf,YAAW,KAC9B6nF,EAAUrkF,OAAQ,IACnB,KACHxD,YAAW,IAAM06F,KAAY,GACjC,IAII74F,EAAMo3E,OAAOqiB,qBACbxR,EAAUtmF,MAAMwH,GAAOpK,MAC/B,EA8EI4pF,gBAnCoB,WACpBV,EAAUtmF,MAAMoI,MAChBovE,EAAOx3E,MAAMoI,MACb0uF,EAAgB92F,MAAMoI,KAC1B,EAgCI6+E,0BAtB8B,KAC9BT,EAAoBxmF,OAAQ,EAC5B5E,SAAS4sC,cAAc,uBAAuBi8B,OAAM,EAsB5D,GClTJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,wJ7CCvD,GAkCU,WAlCD9+D,MAAK,GAAC,iCAAgC,2CAAsD,EAAAqyE,OAAOh3E,OAAS,OACjH,GAe6D,GAdxDi1E,OAAQ,EAAAA,OACR4Q,QAAS,EAAAA,QACTC,UAAW,EAAAA,UACX9O,OAAQ,EAAAA,OACR+O,gBAAiB,EAAAA,gBACjBC,oBAAqB,EAAAA,oBACrBC,uBAAwB,EAAAA,uBACxBC,eAAgB,EAAAA,eAChBC,2BAA4B,EAAAA,2BAC5BC,0BAA2B,EAAAA,0BAC3BC,qBAAsB,EAAAA,qBACtBC,WAAY,EAAAA,WACZC,uBAAwB,EAAAA,uBACxBC,gBAAiB,EAAAA,gBACjBC,0BAA2B,EAAAA,mUAEhC,GAe6D,GAdxDxR,OAAQ,EAAAA,OACR4Q,QAAS,EAAAA,QACTC,UAAW,EAAAA,UACX9O,OAAQ,EAAAA,OACR+O,gBAAiB,EAAAA,gBACjBC,oBAAqB,EAAAA,oBACrBC,uBAAwB,EAAAA,uBACxBC,eAAgB,EAAAA,eAChBC,2BAA4B,EAAAA,2BAC5BC,0BAA2B,EAAAA,0BAC3BC,qBAAsB,EAAAA,qBACtBC,WAAY,EAAAA,WACZC,uBAAwB,EAAAA,uBACxBC,gBAAiB,EAAAA,gBACjBC,0BAA2B,EAAAA,uUAGzB,EAAA5C,YAAc,EAAAF,gBAAzB,GAIM,MAJN,GAIM,mBAEN,GAAS,gB8C1CNh/E,MAAM,uCACJ6M,IAAI,mBAAmB,YAAU,YAAY,cAAY,OAAO7M,MAAM,2BCDlEA,MAAM,uBACNA,MAAM,gCAEHA,MAAM,4IACDA,MAAM,+BACHA,MAAM,8BACPA,MAAM,6DASbA,MAAM,iKAEF,YAAU,SACVA,MAAM,sHAEFA,MAAM,6CACN6Y,IAAI,uDAWL7Y,MAAM,uCAGD,GAA+D,QAAzDA,MAAM,6CAA2C,0BAvCnF,GCEA,CACEpL,KAAM,kBACNsE,MAAOwvF,GACP33D,WAAY,CACV28D,kBAAiB,IAEnB,KAAAzqE,CAAM/pB,GACJ,MAAM8oF,EAAan1E,GAAI3T,EAAMktF,uBAAuBR,OAC9CgN,EAAmB,CAAC,GAAI,GAAI,IAC5BC,EAAkB,CAAC,GAAI,GAAI,IACjC,IAAIC,EAAiB,KAGrB,MAAMC,EAAoBlmF,GAAI,MAE9BgV,IAAU,KACLkxE,EAAkBl4F,QACnBi4F,EAAiB,IAAIE,gBAAe,KAClCC,GAAe,IAGjBH,EAAejiD,QAAQkiD,EAAkBl4F,OAC3C,IAGFykB,GAAM0iE,GAAakR,IACbh6F,EAAMmvF,eACRnvF,EAAMmvF,cAAc6K,EAAe,QACrC,IAGFlqE,IAAU,KACRiqE,GAAe,IAGjBppE,IAAY,KACNipE,GAAkBC,EAAkBl4F,OACtCi4F,EAAeK,UAAUJ,EAAkBl4F,MAC7C,IAGF,MAAMo4F,EAAiB,KACrB,GAAIF,EAAkBl4F,MAAO,CAC3B,MAAMu4F,EAAaL,EAAkBl4F,MAAM+kF,YAErCyT,EADeh/F,OAAOi/F,WAAW,sBAAsB1qE,QAC5BiqE,EAAkBD,EAC7CW,EAAgBh0D,KAAKC,IAAiB,GAAb4zD,EAAkB,IAEjD,IAAK,IAAIh4F,EAAI,EAAGA,EAAIi4F,EAAUh4F,OAAQD,IAAK,CACzC,MAAMo4F,EAAWH,EAAUj4F,GAAK,KAC1Bq4F,EAAO,GAAGD,KAAYn/F,OAAO44C,iBAAiB8lD,EAAkBl4F,OAAO64F,aAG7E,GAFgBC,EAAmB3R,EAAWnnF,MAAO44F,IAEpCL,EAAaG,EAAe,CAC3CR,EAAkBl4F,MAAMqF,MAAMszF,SAAWA,EACzC,KACF,CACF,CACF,GAGIG,EAAqB,CAAC3uD,EAAMyuD,KAChC,MACMxhE,EADSh8B,SAASsB,cAAc,UACf+2B,WAAW,MAElC,OADA2D,EAAQwhE,KAAOA,EACRxhE,EAAQ2hE,YAAY5uD,GAAMi/B,OAGnC,MAAO,CACL+d,aACA+Q,oBAEJ,GCrEF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2EFCvD,GAkDU,UAlDV,GAkDU,CAjDN,GAgDM,MAhDN,GAgDM,CA/CF,GAMM,MANN,GAMM,CAJF,GAGM,MAHN,GAGM,CAFF,GAAoE,KAApE,GAAoE,GAA9B,EAAAlM,iBAAiB5uF,OAAK,GAC5D,GAAyE,IAAzE,GAAyE,GAAtB,EAAAkvF,iBAAe,OAI1E,GAE4C,OADxCnnF,MAAM,wHACN,UAAQ,EAAA6mF,iBAAiBiC,oBAE7B,GAkCM,MAlCN,GAkCM,CAhCF,GAsBM,MAtBN,GAsBM,CAnBF,GAG8C,QAH9C,GAG8C,GAAtC,EAAAjC,iBAAiBgN,YAAU,MACnC,GAQ2F,SAPvFtiF,GAAG,+BACHvR,MAAM,yBACL8d,YAAa,EAAA+oE,iBAAiBgN,WAC/Bl8F,KAAK,QACL8+E,aAAa,QACb5pE,IAAI,yDACK,EAAU,cACd,UAAO,oBAAc,EAAAs7E,iBAAiB,CAAC,CAAE7B,MAAO,QAASzrF,MAAO,EAAAmnF,eAAU,8BADtE,EAAAA,cAEb,GAKI,IALJ,GAKI,CAJgB,EAAiB,wBAAjC,GAGW,kBAFJ,EAAA6E,iBAAiBqE,mBAAqB,qCAAsC,IAC/E,8BAKZ,GAA+G,OAA1GlrF,MAAM,4DAA4D,UAAQ,EAAA6mF,iBAAiBiC,oBAEhG,GAKyC,GAJpCV,qBAAsB,EAAAA,qBACtBD,iBAAgB,IAAQ,EAAAA,iBAAiB,CAAC,CAAE7B,MAAO,QAASzrF,MAAO,EAAAmnF,cACnEsH,mBAAoB,EAAAzC,iBAAiBt8E,KACrC48E,gBAAiB,EAAAA,gBACjBJ,gBAAiB,EAAAA,4IG/CzB/mF,MAAM,uBACNA,MAAM,gCAEHA,MAAM,4IACDA,MAAM,iFACHA,MAAM,8BAGPA,MAAM,4CAGTA,MAAM,mMAUE,GAA0D,QAApDA,MAAM,wCAAsC,wBAS9D,YAAU,SACVA,MAAM,oNAIGA,MAAM,iDACP,GAEC,QAFKA,MAAM,mDACP,8DAA0D,GAE/D,GAWM,OAXDA,MAAM,mDAAiD,CACxD,GASM,OATD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5E,GAII,KAJD,YAAU,WAAS,CAClB,GAE+R,QAD3R9jD,KAAK,UACLxmB,EAAE,2RAEV,GAEO,aADH,GAAyE,YAA/D0X,GAAG,KAAG,CAAC,GAA6C,QAAvC8O,KAAK,OAAOxmB,EAAE,mDC/ChEmG,MAAM,yBAAyB,YAAU,sCAcjCA,MAAM,cAAc,kBAAa6M,IAAI,iBACjC7M,MAAM,wBAAwB6M,IAAI,0BCnBvD,MDAA,GCAA,CACIjY,KAAM,UACNsE,MAAO,CACH8yE,QAAS,CACLr0E,KAAME,OACNimE,UAAU,GAEdg2B,YAAa,CACTn8F,KAAME,OACNimE,UAAU,EACV9hD,QAAS,KAGjBiH,MAAK,SAAC/pB,GACF,IAAM80C,EAAUnhC,IAAI,GAYdknF,EAAclnF,GAAI,MAClBmnF,EAAYnnF,GAAI,MAChBonF,EAAQpnF,GAAI,MAEZqnF,EAAsB,SAAUx+F,GAClC,GAAIs+F,EAAUn5F,MAAMs5F,SAASz+F,EAAEyB,QAAS,OAAO,EAC/CzB,EAAE0gD,iBACFg+C,GACJ,EA4BMA,EAAc,WAChBn+F,SAASiC,KAAK20C,oBAAoB,QAASqnD,GAC3ClmD,EAAQnzC,OAAQ,CACpB,EAEA,MAAO,CACHo5F,MAAAA,EACAG,YAAAA,EACApmD,QAAAA,EACA+lD,YAAAA,EACAM,WA7Be,WApBfp+F,SAASiC,KAAK60C,iBAAiB,WANf,SAAVt4B,EAAWzB,GACK,WAAdA,EAAM5Z,MACNg7F,IACAn+F,SAASiC,KAAK20C,oBAAoB,UAAWp4B,GAErD,IAwBKu5B,EAAQnzC,QACTmzC,EAAQnzC,OAAQ,EAEhBxD,YAAW,WACP,IAAMi9F,EAAgBN,EAAUn5F,MAAM04C,wBAElC+gD,EAAcv9C,MAAQ,GAAK1iD,OAAOkgG,aAClCP,EAAUn5F,MAAMqF,MAAMs0F,WAAa,IAAH18E,OAAOw8E,EAAcv9C,MAAQ,GAAK1iD,OAAOkgG,WAAU,MACnFN,EAAMp5F,MAAMqF,MAAMyzC,KAAO,cAAH77B,OAAiBw8E,EAAcv9C,MAAQ,GAAK1iD,OAAOkgG,WAAU,QAGvFt+F,SAASiC,KAAK60C,iBAAiB,QAASmnD,EAC5C,GAAG,IAEX,EAaIO,QArCY,SAAC/+F,GACbA,EAAE0gD,iBACF1gD,EAAEwgD,kBACFk+C,IACAL,EAAYl5F,MAAMikE,OACtB,EAiCIk1B,UAAAA,EAER,GCvEJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,sCFCMt+D,EAAAs2C,SAAO,KAApExM,GAmBM,MAnBNypB,GAmBM,CAlBFrrB,GAUS,UATJ3kC,QAAKymC,EAAA,KAAAA,EAAA,qBAAEhqC,EAAA2+D,YAAA3+D,EAAA2+D,WAAAjtF,MAAAsuB,EAAA5mB,UAAU,GACjB0xD,UAAOd,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,kBAAQ30D,EAAA2+D,YAAA3+D,EAAA2+D,WAAAjtF,MAAAsuB,EAAA5mB,UAAU,eAC1B,gBAAc,OACb,aAAY4mB,EAAAo+D,YACb7zB,SAAS,IACTjgE,MAAKy/D,EAAA,CAAC,8BAA6B,uCACc/pC,EAAAsY,WACjDnhC,IAAI,eAAc,MAEtB,GAAA+yD,IAEgBlqC,EAAAsY,SAAO,KACnBwxB,GAGM,MAHNK,GAGM,CAFFjC,GAAqD,MAArDmsB,GAAqD,UACrDnsB,GAAwD,KAArD59D,MAAM,0BAA0Bs5B,UAAQ5D,EAAAs2C,8DDpB3D,GIGA,CACEp3E,KAAM,8BACNsE,MAAOwvF,GACP33D,WAAY,CACV28D,kBAAiB,GACjBgH,QAAO,IAET,KAAAzxE,CAAM/pB,GACJ,MAAMy7F,EAAmB9nF,GAAI,IACvB+nF,EAAe/nF,IAAI,GAkCzB,OAhCAgV,IAAU,KACR3oB,EAAMovF,gBAAgB3oF,SAASk1F,IAC7BF,EAAiB95F,MAAM0H,KAAK,CACxB+jF,MAAOuO,EAAWC,YAClBC,kBAAmBF,EAAWjgG,KAChCiG,MAAO3B,EAAMktF,uBAAuByO,EAAWjgG,MAC/Co3E,QAAS6oB,EAAW7oB,QACpBgpB,aAAcH,EAAWG,cAC1B,GACF,IAuBI,CACLL,mBACAM,eAtBqB,KAGrB,GAFoBN,EAAiB95F,MAAM6c,MAAM4uE,GAAUA,EAAMzrF,QAEhD,CACf,MAAM23E,EAAQ,GAEdmiB,EAAiB95F,MAAM8E,SAAS2mF,IAC9B9T,EAAMjwE,KAAK,CACP+jF,MAAOA,EAAMyO,kBACbngG,KAAM0xF,EAAMA,MACdzrF,MAAOyrF,EAAMzrF,OACd,IAGH3B,EAAMivF,iBAAiB3V,EACzB,MACEoiB,EAAa/5F,OAAQ,CACvB,EAMA+5F,eAEJ,GC9CF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2FLCvD,GA+DU,UA/DV,GA+DU,CA9DN,GA6DM,MA7DN,GA6DM,CA5DF,GAyBM,MAzBN,GAyBM,CAvBF,GAKM,MALN,GAKM,CAJF,GAEK,KAFL,GAEK,GADE,EAAA/N,iBAAiB5uF,OAAK,GAE7B,GAAyE,IAAzE,GAAyE,GAAtB,EAAAkvF,iBAAe,KAEtE,GAgBM,MAhBN,GAgBM,SAdF,GAaW,WAbwB,EAAAwN,kBAAgB,CAAjCrO,EAAOjkF,UACrB,GAWM,WAZiDA,EAClDrC,MAAM,iCACP,GAM4B,SALxBrI,KAAK,WACL/C,KAAK,aACJ2c,GAAE,cAAgBlP,IACnBrC,MAAM,mCACL60C,QAASyxC,EAAMzrF,+BACPyrF,EAAW,yBAAXA,EAAMzrF,SACnB,GACA,GAAsG,SAA/FmF,MAAM,mCAAoC6Y,IAAG,cAAgBxW,QAAYikF,EAAMA,OAAK,MAC3F,GAAsE,GAA5Dta,QAASsa,EAAMta,QAAU8nB,YAAaxN,EAAM0O,+DAMtE,GAwBM,MAxBN,GAwBM,CArBF,GAAqH,OAAhHh1F,MAAM,kEAAkE,UAAQ,EAAA6mF,iBAAiBiC,oBAEtF,EAAY,mBACxB,GAgBM,MAhBN,GAgBM,qBAId,GAMyC,GALpCW,UAAU,EACVrB,qBAAsB,EAAAA,qBACtBD,iBAAkB,EAAA8M,eAClB3L,mBAAoB,EAAAzC,iBAAiBt8E,KACrC48E,gBAAiB,EAAAA,gBACjBJ,gBAAiB,EAAAA,0IM7DrB/mF,MAAM,gDACNA,MAAM,gCACFA,MAAM,uFACHA,MAAM,8BACPA,MAAM,6DAGRA,MAAM,gHACF,YAAU,SAASA,MAAM,+BACrBA,MAAM,sCACAA,MAAM,sBAAsB6Y,IAAI,2DAepC7Y,MAAM,uCAGD,GACH,QADSA,MAAM,6CAA2C,aAK9DA,MAAM,sCACAA,MAAM,sBAAsB6Y,IAAI,0DAcpC7Y,MAAM,uCAGD,GAA+D,QAAzDA,MAAM,6CAA2C,SAvDvF,GCEA,CACEpL,KAAM,kBACNsE,MAAOwvF,GACP33D,WAAY,CACV28D,kBAAiB,IAEnB,KAAAzqE,CAAM/pB,GACJ,MAAMg8F,EAAiBroF,GAAI3T,EAAMktF,uBAAuByD,WAClDsL,EAAgBtoF,GAAI3T,EAAMktF,uBAAuBN,UAGjDsP,EAAoBvoF,GAAI,MAc9B,OAZAyS,GAAM41E,GAAiBG,IACjBn8F,EAAMmvF,eACRnvF,EAAMmvF,cAAcgN,EAAmB,YACzC,IAGF/1E,GAAM61E,GAAgBG,IAChBp8F,EAAMmvF,eACRnvF,EAAMmvF,cAAciN,EAAkB,WACxC,IAGK,CACLF,oBACAF,iBACAC,gBAEJ,GC3BF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2EFCvD,GAsEU,UAtEV,GAsEU,CArEN,GAoEM,MApEN,GAoEM,CAnEF,GAIM,MAJN,GAIM,CAHF,GAAoE,KAApE,GAAoE,GAA9B,EAAAtO,iBAAiB5uF,OAAK,GAC5D,GAAyE,IAAzE,GAAyE,GAAtB,EAAAkvF,iBAAe,GAClE,GAA8E,OAAzEnnF,MAAM,2BAA2B,UAAQ,EAAA6mF,iBAAiBiC,sBAEnE,GA6DM,MA7DN,GA6DM,CA5DF,GA+CM,MA/CN,GA+CM,CA9CF,GAsBM,MAtBN,GAsBM,CArBF,GAAuH,QAAvH,GAAuH,GAA1C,EAAAjC,iBAAiB0O,gBAAc,MAC5G,GAYQ,SAXJhkF,GAAG,mCACH1E,IAAI,oBACJ7M,MAAM,yBACL8d,YAAa,EAAA+oE,iBAAiB0O,oDACtB,EAAc,kBACvB9e,aAAa,aACR,UAAO,mBAA0C,mBAAgB,0BAAqE,0CAAmF,kDAFrN,EAAAye,kBASb,GAKI,IALJ,GAKI,CAJgB,EAAAtN,mBAAqB,EAAAJ,sBAAsB,mBAA3D,GAGY,kBAFL,EAAAX,iBAAiByD,uBAAyB,+BAAgC,IAC7E,8BAKZ,GAqBM,MArBN,GAqBM,CApBF,GAAmH,QAAnH,GAAmH,GAAxC,EAAAzD,iBAAiB2O,eAAa,MACzG,GAWQ,SAVJjkF,GAAG,kCACHvR,MAAM,yBACL8d,YAAa,EAAA+oE,iBAAiB2O,cAC/B/e,aAAa,mDACJ,EAAa,iBACjB,UAAO,mBAA0C,mBAAgB,0BAAqE,0CAAmF,kDADrN,EAAA0e,iBAQb,GAKI,IALJ,GAKI,CAJgB,EAAAvN,mBAAqB,EAAAJ,sBAAsB,kBAA3D,GAGW,kBAFJ,EAAAX,iBAAiB+D,sBAAwB,iCAAkC,IAC9E,gCAKhB,GAWyC,GAVpCxC,qBAAsB,EAAAA,qBACtBD,qBAA+E,mBAAgB,0BAAiE,0CAA+E,mBAO/OmB,mBAAoB,EAAAzC,iBAAiB4O,SACrCtO,gBAAiB,EAAAA,gBACjBJ,gBAAiB,EAAAA,+XGxEtC3E,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,CACe,YAAfE,EAAAC,GAAA,OAAAnO,GAAAjwE,MAAA,KAAA0H,UAAA,CAwDC,SAAAuoE,KAzDD,IAAAh6E,EAyDC,OAzDDA,EAyDC+kF,KAAAoC,MAxDc,SAAAiB,EAAgBvtF,EAAMvD,GAAG,IAAAg2E,EAAAv1E,EAAA,OAAAgtF,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,OACQ,OAAxCogE,EAAMt2E,OAAO6C,SAASD,OAAS,IAAMtC,EAAG69B,EAAAjoB,KAAA,EACvB23D,MAAMyI,EAAK,CAChC1gE,OAAQ,OACR/R,KAAMiJ,KAAKC,UAAUlJ,GACrBq4E,QAAS,CACP,eAAgB,sBAGf5zE,MAAK,SAACuC,GACL,GAAIA,EAAIwmF,GAAI,CASRpJ,GARgB,CACZ,MAAS,gCACT,aAAgB,SAChB,cAAiB,aACjB,YAAe,SACf,WAAcpkF,EAAKw9F,cAKvB,IAAM/P,EAAczmF,EAAIqxE,QAAQp2E,IAAI,gBACpC,OAAIwrF,GAAeA,EAAYr0E,SAAS,oBAC7BpS,EAAIijE,OAEJjjE,EAAI8lC,MAErB,CACE,MAAM,IAAIpe,MAAM,0EAEpB,IACCjqB,MAAK,SAACwlE,GACH,OAAOA,CACX,IAAE,OACK,SAAC1yD,GAEN,OADAna,QAAQC,MAAMka,GACPA,CACT,IAAE,OAiBH,OApDKra,EAAQo9B,EAAA+wD,OAqCEnuF,EAASR,MAAQQ,EAASwwF,OAASxwF,EAAS8+E,MAAQ9+E,EAASywF,oBAczEvJ,GAbgB,CACZ,MAAS,yBACT,mBAAsB,GAAFxkE,OAAK1iB,EAASywF,mBAAkB,KAAA/tE,OAAI1iB,EAAS8+E,MACjE,QAAW,CACP,eAAkB9+E,EAASR,KAC3B,cAAiBQ,EAAS0wF,SAC1B,WAAc1wF,EAASwwF,MACvB,WAAcxwF,EAAS2wF,YACvB,4BAA+B3wF,EAAS8+E,KACxC,uCAA0C,UAKrD1hD,EAAAkxD,OAAA,SACMtuF,GAAQ,wBAAAo9B,EAAA3vB,OAAA,GAAA4iF,EAAA,IAChBpO,GAzDD,eAAA9iF,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,KAyDC29E,GAAAjwE,MAAA,KAAA0H,UAAA,CC1DM,MAAM6mF,GACM,kBADNA,GAES,qBAFTA,GAGQ,oBdDrB,GeUA,CACE/gG,KAAM,4BACNm8B,WAAY,CACV6kE,4BAA2B,GAC3BC,gBAAe,GACfC,mBAAkB,GAClBlH,kBAAiB,IAEnB11F,MAAO,CACLo3E,OAAQ,CACN34E,KAAMqC,OACN8jE,UAAU,GAEZ8C,OAAQ,CACNjpE,KAAME,OACNimE,UAAU,GAEZ43B,YAAa,CACX/9F,KAAMwE,MACN2hE,UAAU,GAEZi4B,sBAAuB,CACrBp+F,KAAMwE,MACN2hE,UAAU,GAEZk4B,gBAAiB,CACbr+F,KAAMuqB,QACNlG,SAAS,EACT8hD,UAAU,IAGhB,KAAA76C,CAAM/pB,GAKJ,MAAM+sF,EAAsBp5E,GAAI,CAC9B,CACE+5E,KAAM,EACNhyF,KAAM,8BACN8xF,WAAW,EACXI,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpB6wF,QAAS5vF,EAAMo3E,OAAOwY,QACtBv+E,KAAMrR,EAAMo3E,OAAO2lB,iBAGvB,CACErP,KAAM,EACNhyF,KAAO+gG,GACPjP,WAAW,EACXI,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpB6wF,QAAS5vF,EAAMo3E,OAAOwY,QACtB+K,WAAY36F,EAAMo3E,OAAOujB,WACzB3I,kBAAmBhyF,EAAMo3E,OAAO4a,kBAChC3gF,KAAMrR,EAAMo3E,OAAO2lB,iBAGvB,CACErP,KAAM,EACNhyF,KAAM+gG,GACNjP,WAAW,EACXI,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpBs9F,eAAgBr8F,EAAMo3E,OAAOilB,eAC7BjL,sBAAuBpxF,EAAMo3E,OAAOga,sBACpCkL,cAAet8F,EAAMo3E,OAAOklB,cAC5B5K,qBAAuB1xF,EAAMo3E,OAAOsa,qBACpC6K,SAAUv8F,EAAMo3E,OAAO4lB,qBAG3B,CACEtP,KAAM,EACNhyF,KAAM+gG,GACNjP,WAAW,EACXI,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpB6wF,QAAS5vF,EAAMo3E,OAAO6lB,kBACtBtN,kBAAmB3vF,EAAMo3E,OAAOuY,sBAKhC7C,EAAYn5E,GAAI,IACjB3T,EAAM68F,sBACT,CACEzP,MAAO,QACPzrF,MAAO,GACP+rF,KAAM+O,GACN3N,UAAWuH,GACXnZ,SAAS,GAEX,CACEkQ,MAAO,YACPzrF,MAAO,GACP+rF,KAAM+O,GACN3N,UAAWsH,GACXlZ,SAAS,GAEX,CACEkQ,MAAO,WACPzrF,MAAO,GACP+rF,KAAM+O,GACN3N,UAAWsH,GACXlZ,SAAS,MAIP,uBACJgQ,EAAsB,gBACtBc,EAAe,gBACfX,EAAe,iBACfM,EAAgB,gBAChBE,EAAe,gBACfI,EAAe,0BACfE,EAAyB,sBACzBG,EAAqB,qBACrBE,GACEkI,GAAyB5J,EAAUnrF,MAAOorF,EAAoBprF,MAAO3B,EAAMo3E,QAWzE8lB,EAA+BvpF,GAAI,MACnCwpF,EAAmBxpF,GAAI,MACvB+6E,EAAoB/6E,IAAI,GAcxBgjF,EAAa5O,eAAgB0G,GACjC,MAAM+N,EAAc,GAEpBx8F,EAAMw8F,YAAY3uF,QAAQ8tF,KAEM,IADNlN,EAAUhiC,MAAM2gC,GAAUA,EAAMA,QAAUuO,EAAWjgG,OACzDiG,OAClB66F,EAAYnzF,KAAKsyF,EAAWjgG,KAC9B,IAGF,MAAMsD,EAAO,CACX0tF,MAAO+B,EAAUhiC,MAAM2gC,GAA0B,UAAhBA,EAAMA,QAAmBzrF,MAC1DqvF,UAAWvC,EAAUhiC,MAAM2gC,GAA0B,cAAhBA,EAAMA,QAAuBzrF,MAClE4vF,SAAU9C,EAAUhiC,MAAM2gC,GAA0B,aAAhBA,EAAMA,QAAsBzrF,MAChE66F,YAAaA,EACbjoF,OAAQpZ,OAAO6C,SAASF,KACxBg/F,gBAA2C,SAA1B98F,EAAM88F,uBAGnBM,GAAwBp+F,EAAMgB,EAAM0nE,OAC5C,EA2BA,OARAthD,IACE,IAAMinE,EAAgB1rF,QACtB,KAlBmBomF,WACnBoV,EAAiBx7F,MAAM0+B,YAAc8tD,EAA0BxsF,KAAK,EAkBlE07F,GAfoBtV,OAAOuV,UACvBtlF,KACFslF,IAAab,GACfS,EAA6Bv7F,MAAMk4F,kBAAkBj0B,QAC5C03B,IAAab,GACtBS,EAA6Bv7F,MAAMu6F,kBAAkBt2B,QAC5C03B,IAAab,IACtBS,EAA6Bv7F,MAAM+tF,sBAAsB9pB,OAEhD,EAOT23B,CAAgBlQ,EAAgB1rF,MAAM,IAInC,CACLwtF,cAzEoB,CAACV,EAAWF,KAChC,MAAMiP,EAAsB1Q,EAAUnrF,MAAMoG,WACzCqlF,GAAUA,EAAMA,QAAUmB,IAEvBkP,EAAiB3Q,EAAUnrF,MAAM67F,GACvCC,EAAevgB,QAAUugB,EAAe3O,UAAUL,GAClDgP,EAAe97F,MAAQ8sF,CAAS,EAoEhCd,mBACAuP,+BACAxO,oBACArB,kBACAH,yBACA+J,wBAlE8B,SAAUxI,GACxC,MAAMyI,EAAeC,GACnB1I,EACA3B,EAAUnrF,MACVorF,EAAoBprF,MACpB0rF,EAAgB1rF,MAChBg1F,GAGFjI,EAAkB/sF,MAAQu1F,CAC5B,EAyDEjJ,kBACAkP,mBACAtP,kBACAW,uBACAF,wBACAN,kBAEJ,GCrNF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2ChBCzD,GAgBM,MAhBN,GAgBM,CAfJ,GAAuG,MAAvG,GAAuG,gBACvG,GAauC,GAXhC,EAAAX,iBAAe,CADpB15E,IAAI,+BAEHs7E,iBAAkB,EAAAgI,wBAClB/H,qBAAsB,EAAAV,qBACtBE,kBAAmB,EAAAA,kBACnBf,iBAAkB,EAAAA,iBAClBT,uBAAwB,EAAAA,uBACxBkC,gBAAiB,EAAAoN,YACjB3O,gBAAiB,EAAAA,gBACjBS,sBAAuB,EAAAA,sBACvBN,gBAAiB,EAAAA,gBACjBmB,cAAe,EAAAA,cACflB,gBAAiB,EAAAA,gQiBZft6E,IAAI,mBAAmB,YAAU,YAAY,cAAY,OAAO7M,MAAM,uBAP/E,GCSA,CACEpL,KAAM,yBACNm8B,WAAY,CACV8kE,gBAAe,GACfC,mBAAkB,GAClBlH,kBAAiB,IAEnB11F,MAAO,CACLo3E,OAAQ,CACN34E,KAAMqC,OACN8jE,UAAU,GAEZ8C,OAAQ,CACNjpE,KAAME,OACNimE,UAAU,GAEZ43B,YAAa,CACX/9F,KAAMwE,MACN2hE,UAAU,GAEZk4B,gBAAiB,CACfr+F,KAAMuqB,QACNlG,SAAS,EACT8hD,UAAU,IAGd,KAAA76C,CAAM/pB,GAEJ,MAAM8sF,EAAYn5E,GAAI,CACpB,CACEy5E,MAAO,QACPzrF,MAAO,GACP+rF,KAAM+O,GACN3N,UAAWuH,GACXnZ,SAAS,GAEX,CACEkQ,MAAO,YACPzrF,MAAO,GACP+rF,KAAM+O,GACN3N,UAAWsH,GACXlZ,SAAS,GAEX,CACEkQ,MAAO,WACPzrF,MAAO,GACP+rF,KAAM+O,GACN3N,UAAWsH,GACXlZ,SAAS,KAMb,IAAI6P,EAAsBp5E,GAAI,CAC5B,CACE+5E,KAAM,EACNhyF,KAAM+gG,GACNjP,WAAW,EACXI,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpB6wF,QAAS5vF,EAAMo3E,OAAOwY,QACtB+K,WAAY36F,EAAMo3E,OAAOujB,WACzB3I,kBAAmBhyF,EAAMo3E,OAAO4a,kBAChC3gF,KAAMrR,EAAMo3E,OAAO2lB,iBAGvB,CACErP,KAAM,EACNhyF,KAAM+gG,GACNjP,WAAW,EACXI,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpBs9F,eAAgBr8F,EAAMo3E,OAAOilB,eAC7BjL,sBAAuBpxF,EAAMo3E,OAAOga,sBACpCkL,cAAet8F,EAAMo3E,OAAOklB,cAC5B5K,qBAAsB1xF,EAAMo3E,OAAOsa,qBACnC6K,SAAUv8F,EAAMo3E,OAAO4lB,qBAG3B,CACEtP,KAAM,EACNhyF,KAAM+gG,GACNjP,WAAW,EACXI,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpB6wF,QAAS5vF,EAAMo3E,OAAO6lB,kBACtBtN,kBAAmB3vF,EAAMo3E,OAAOuY,sBAKtC,MAAMuN,EAA+BvpF,GAAI,MACnCwpF,EAAmBxpF,GAAI,MACvB+6E,EAAoB/6E,IAAI,GACxB+pF,EAAqB19F,EAAMw8F,YAAY,IAAI9gG,KAC9CiE,QAAQ,IAAK,KACbyC,eAEG,uBACJ8qF,EAAsB,gBACtBc,EAAe,gBACfX,EAAe,iBACfM,EAAgB,gBAChBE,EAAe,gBACfI,EAAe,0BACfE,EAAyB,sBACzBG,EAAqB,qBACrBE,GACEkI,GAAyB5J,EAAUnrF,MAAOorF,EAAoBprF,MAAO3B,EAAMo3E,QAqBzEuf,EAAa5O,eAAgB0G,GACjC,MAAMzvF,EAAO,CACX0tF,MAAO+B,EAAUhiC,MAAM2gC,GAA0B,UAAhBA,EAAMA,QAAmBzrF,MAC1DqvF,UAAWvC,EAAUhiC,MAAM2gC,GAA0B,cAAhBA,EAAMA,QAAuBzrF,MAClE4vF,SAAU9C,EAAUhiC,MAAM2gC,GAA0B,aAAhBA,EAAMA,QAAsBzrF,MAChE66F,YAAa,CAACx8F,EAAMw8F,YAAY,GAAG9gG,MACnC6Y,OAAQpZ,OAAO6C,SAASF,KACxBg/F,gBAA2C,SAA1B98F,EAAM88F,uBAEnBM,GAAwBp+F,EAAMgB,EAAM0nE,OAC5C,EA2BA,OARAthD,IACE,IAAMinE,EAAgB1rF,QACtB,KAnBmBomF,WACnBoV,EAAiBx7F,MAAM0+B,YAAc8tD,EAA0BxsF,KAAK,EAmBlE07F,GAhBoBtV,OAAOuV,UACvBtlF,KAEFslF,IAAab,GACfS,EAA6Bv7F,MAAMk4F,kBAAkBj0B,QAC5C03B,IAAab,GACtBS,EAA6Bv7F,MAAMu6F,kBAAkBt2B,QAC5C03B,IAAab,IACtBS,EAA6Bv7F,MAAM+tF,sBAAsB9pB,OAEhD,EAOT23B,CAAgBlQ,EAAgB1rF,MAAM,IAInC,CACLu7F,+BACA7P,kBACAM,mBACAe,oBACAS,cA7DoB,CAACV,EAAWF,KAChC,MAAMiP,EAAsB1Q,EAAUnrF,MAAMoG,WACzCqlF,GAAUA,EAAMA,QAAUmB,IAEvBkP,EAAiB3Q,EAAUnrF,MAAM67F,GACvCC,EAAevgB,QAAUugB,EAAe3O,UAAUL,GAClDgP,EAAe97F,MAAQ8sF,CAAS,EAwDhCvB,yBACAW,kBACA6P,qBACA1P,kBACAQ,uBACAF,wBACA6O,mBACAlP,kBACAgJ,wBA7D8B,WAC9B,MAAMC,ECpIG,SAAUpK,EAAWC,EAAqBM,EAAiB18E,GACtE,IAAI+9E,GAAoB,EAGlBiP,EADY7Q,EAAUj/E,QAAO,SAAC0/E,GAAQ,OAAKA,EAASG,OAASL,CAAe,IAC9C7hE,OAAM,SAAC+hE,GAAQ,OAAKA,EAASrQ,OAAO,IAClE0gB,EAAuB9Q,EAAUthE,OAAM,SAACotC,GAAK,OAAKA,EAAMskB,OAAO,IAgBrE,OAPIygB,GANF5Q,EAAoBtgC,MAAK,SAAC8gC,GAAQ,OAAKA,EAAS7xF,OAAS2xF,CAAe,IAAEG,WAAY,EACtFkB,GAAoB,EAChBkP,GACFjtF,EAASm8E,IAOX4B,GAAoB,EAGfA,CACT,CD8GyBmP,CACnB/Q,EAAUnrF,MACVorF,EAAoBprF,MACpB0rF,EAAgB1rF,MAChBg1F,GAEFjI,EAAkB/sF,MAAQu1F,CAC5B,EAuDF,GE3LF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CHCzD,GAiBU,WAhBRpwF,MAAK,GAAC,+BAA8B,iCACK,EAAA42F,yBACzC,GAAuG,MAAvG,GAAuG,gBACvG,GAYuC,GAVhC,EAAArQ,iBAAe,CADpB15E,IAAI,+BAEHs7E,iBAAkB,EAAAgI,wBAClB/H,qBAAsB,EAAAV,qBACtBE,kBAAmB,EAAAA,kBACnBf,iBAAkB,EAAAA,iBAClBE,gBAAiB,EAAAA,gBACjBG,gBAAiB,EAAAA,gBACjBmB,cAAe,EAAAA,cACfjC,uBAAwB,EAAAA,uBACxBoB,sBAAuB,EAAAA,sBACvBL,gBAAiB,EAAAA,4OIpBT,MAAM6P,GACjBC,OAAS,KAETC,SAAW,KACXC,QAAU,KACVC,QAAU,KAEV,WAAAr1F,CAAYs1F,EAAQC,GAChB7iG,KAAKwiG,OAASI,EACd5iG,KAAK8iG,qBAAuB,CACxB,GAAI,EACJ,IAAK,EACL,IAAK,EACL,IAAK,EACL,KAAM,GAEV9iG,KAAK2iG,QAAUE,EACf7iG,KAAK+iG,mBAAqB,GAG1B/iG,KAAKwiG,OAAOlqD,iBAAiB,iBAAkBvrB,IAC3C/sB,KAAKgjG,oBAAoBj2E,EAAM,GAEvC,CAEA,mBAAAi2E,CAAoBj2E,GAChB/sB,KAAK+iG,mBAAqBh2E,EAAMrqB,OAAOugG,YAAcjjG,KAAK+iG,mBACtDh2E,EAAM3K,OAAS8gF,GAAGC,YAAYC,SAC9BC,cAAcrjG,KAAKyiG,UACnBziG,KAAKsjG,sBAELtjG,KAAKyiG,SAAWc,YAAYvjG,KAAKsjG,oBAAqB,MAC/Cv2E,EAAM3K,OAAS8gF,GAAGC,YAAYK,OACrCH,cAAcrjG,KAAKyiG,UACnBziG,KAAKyjG,cAAc,MACZ12E,EAAM3K,OAAS8gF,GAAGC,YAAYO,QACrCL,cAAcrjG,KAAKyiG,SAE3B,CAEAa,oBAAsB,KASlB,GAAyC,mBAA5BtjG,KAAKwiG,OAAOmB,aAAuE,mBAA/B3jG,KAAKwiG,OAAOoB,eAAgC,OAE7G,IAAIluD,EAAW11C,KAAKwiG,OAAOmB,cACvBE,EAAS7jG,KAAKwiG,OAAOoB,iBAOzB,GAAgB,GAAZluD,EAAe,OAEnB,IAAIouD,EAAiBD,EAASnuD,EAG1BquD,EAAoB,EACpBC,EAAez+F,OAAO6G,KAAKpM,KAAK8iG,sBAAsB3S,UAAU79E,QAAQrR,IAAO,GAAGA,GAAsB,IAAjB6iG,EAAsB,OAAO7iG,CAAC,IACtH+iG,EAAap9F,OAAS,IACrBm9F,EAAoBC,EAAa,IAErChkG,KAAKyjG,cAAcM,EAAkB,EAGzC,aAAAN,CAAcM,GAEV,GAAI/jG,KAAK8iG,qBAAqBiB,GAAoB,OAElD/jG,KAAK8iG,qBAAqBiB,IAAqB,EAE/C,IAAIxb,EAAmC,GAArBwb,EAAyB,QAAU,GAAGA,KACpDpB,EAAU3iG,KAAK2iG,QAQfla,EAAazoF,KAAKwiG,OAAOS,YAAcjjG,KAAK+iG,mBAOhD,GAA0C,mBAA9B/iG,KAAKwiG,OAAOyB,aAA8B,CAClD,IAAIC,EAAYlkG,KAAKwiG,OAAOyB,eAC5Bxb,EAAayb,GAAW1gG,OAASilF,GAAczoF,KAAK+iG,kBACxD,CAYAlb,GAVgB,CACZ,cAAiB,QACjB,YAAeU,EACf,WAAcE,EACd,WAAc,EACd,qBAAuB,EACvB,QAAWka,EACX,MAAS,eAIjB,EC7GJ,UACExiG,KAAM,aACN,KAAAquB,GACE,MAAM21E,EAAiB/rF,IAAI,GACrBgsF,EAAWhsF,IAAI,GACfyO,EAAUzO,GAAI,MACdisF,EAAejsF,IAAI,GACnBksF,EAAgBlsF,GAAI,MACpBmsF,EAAwBnsF,IAAI,GAC5BosF,EAAyBpsF,GAAI,MAC7BqsF,EAAyBrsF,GAAI,MAC7BssF,EAAuBtsF,GAAI,MASjCgV,IAAU,KACR+2E,EAAe/9F,MAAwDu+F,kBAAkBC,mBACrF,wBACD,IAGLxvE,IAAY,KACVx1B,OAAOw4C,oBAAoB,gCAAiCysD,oBAAoB,IAIlFh6E,GAAMs5E,GAAgB,CAACW,EAAmBC,KACpCD,GAAqBA,IAAsBC,IAlB1CR,EAAsBn+F,OACzB4+F,IAEFC,IAiBA,IAGFrlG,OAAOslG,qBAAuBtlG,OAAOslG,sBAAwB,GAE7D,MAaMC,EAAkB,IAAS,KACvBd,EAAaj+F,QAGjB6+F,EAAc,KACZrlG,OAAOwlG,sBACTC,KAGAzlG,OAAOslG,qBAAqBp3F,KAAKu3F,GAEjCzlG,OAAO0lG,wBAA0B,IAAMA,IACzC,EAGEN,EAAmB,KACvB,MAAMO,EAAc/jG,SAASsB,cAAc,UAC3CyiG,EAAY72B,IAAM,qCAElB,MAAM82B,EAAgBhkG,SAASikG,qBAAqB,UAAU,GAC9DD,EAAct+E,WAAWstB,aAAa+wD,EAAaC,GACnDjB,EAAsBn+F,OAAQ,CAAI,EAG9Bk/F,EAA0B,KAC9Bf,EAAsBn+F,OAAQ,EAC9BxG,OAAOslG,qBAAqBh6F,SAASw6F,GAASA,KAAO,EASvD,SAASC,IACHrB,EAAcl+F,OAAOw/F,YACRtB,EAAcl+F,MAAMy/F,YAC5BC,cAAcz7B,QACrBi6B,EAAcl+F,MAAMw/F,YAExB,CAEA,MAiBMP,EAAY,KAChB,MAAMU,EAA2BtB,EAAuBr+F,MAAMskE,QAAQs7B,WAChEC,EAAYxB,EAAuBr+F,MAAMskE,QAAQu7B,UAEvD3B,EAAcl+F,MAAQ,IAAI88F,GAAGV,OAAOuD,EAA0B,CAC5Dt2B,OAAQ,MACRD,MAAO,MACPryB,KAAM,mCACNwlD,QAASsD,EACTC,WAAY,CACVC,SAAU,EACV7jG,IAAK,EACL8jG,GAAI,SAENC,OAAQ,CACNC,QAAS,KA7CTlC,EAASh+F,OACXu/F,GA4CgC,EAC9BY,cAAgBx5E,GAjCM,CAACA,IAEvBA,EAAM3K,MAAQxiB,OAAOsjG,GAAGC,YAAYC,UACtCiB,EAAaj+F,OAAQ,GAGnB2mB,EAAM3K,MAAQxiB,OAAOsjG,GAAGC,YAAYqD,WACtCzI,aAAal3E,EAAQzgB,OAKnB2mB,EAAM3K,MAAQxiB,OAAOsjG,GAAGC,YAAYK,QACtCa,EAAaj+F,OAAQ,EACvB,EAmB8BqgG,CAAoB15E,MAI5B,IAAIw1E,GAAgB+B,EAAcl+F,MAAO2/F,EAAyB,EAGpFW,EAAuBtuF,GAAI,MASjC,MAAO,CACLutF,mBACAtB,eACAc,kBACAT,uBACAgC,uBACAvC,iBACAwC,oBAhH0B,KAC1BC,cAAcC,QACdjnG,OAAO04C,iBACL,iCACA,SAAU/5B,GACR4lF,EAAe/9F,MAAQu+F,kBAAkBC,mBACvC,wBAEJ,IACA,EACD,EAuGDkC,eAfqBta,UACnB6X,EAAaj+F,OAAQ,QACfqW,KACNiqF,EAAqBtgG,MAAMikE,QAC3Bq8B,EAAqBtgG,MAAM2gG,MAAK,EAYlCvC,yBACAC,yBAEJ,OCzJWl5F,MAAM,uCACNA,MAAM,gDACFA,MAAM,0DACFA,MAAM,kEACFA,MAAM,6BACFA,MAAM,wBAUuB,GAAsF,SAA/EA,MAAM,2BAA2B6Y,IAAI,gBAAe,uBAAmB,OAKxG,GAAiD,QAA3C7Y,MAAM,+BAA6B,cAMpDA,MAAM,yGACFA,MAAM,gCAMH,GAAqC,UAA7BnF,MAAM,IAAG,eAAW,8BAKhC,GAAiF,SAA1EmF,MAAM,mCAAmC6Y,IAAI,gBAAe,UAAM,MACzE,GAEM,OAFD7Y,MAAM,yCAAuC,CAC9C,GAAsD,QAAhDA,MAAM,8CAMvBA,MAAM,2DACEA,MAAM,8BACNA,MAAM,qFAGUA,MAAM,uBACNA,MAAM,gCACFA,MAAM,4DAUNA,MAAM,sCACFA,MAAM,8CACHA,MAAM,qDAGNA,MAAM,yDAMbA,MAAM,wCACFA,MAAM,6DAEH,GAAsF,QAAhFA,MAAM,yDAAwD,eAAW,GAC/E,GAUM,OAVDA,MAAM,0GAAwG,CAC/G,GAQM,OARDA,MAAM,oBAAkB,CACzB,GAMM,OAND2/D,KAAK,eACLyE,MAAM,6BACN/jD,KAAK,OACL8jD,QAAQ,cACT,GACkG,QAD5F9jD,KAAK,UACLxmB,EAAE,yGAYJmG,MAAM,mCClG3D,YAAS6J,EAAU4xF,EAAMl8E,GAEpC,IAAIjE,EAEJ,OAAO,WAEL,IAAM2W,EAAUx9B,KAEhB+9F,aAAal3E,GACbA,EAAUjnB,OAAOgD,YAAW,WACpBikB,OAAU5hB,EACL6lB,GAAW1V,EAASzC,MAAM6qB,EACvC,GAAGwpE,GACCl8E,IAAcjE,GAASzR,EAASzC,MAAM6qB,EAE5C,CACF,CCrBa,SAASypE,GAAkB/mG,GACxC,IAAIukE,EAAS,IAIb,OAHIvkE,EAAI2c,SAAS,OACf4nD,EAAS,KAEJA,CACT,CCAA,UACItkE,KAAM,2BACNm8B,WAAY,CACR4vC,oBAAmB,IAEvBznE,MAAO,CACH0nE,OAAQ,CACJjpE,KAAME,OACNimE,UAAU,GAEd69B,kBAAmB,CACfhkG,KAAMwE,MACN2hE,UAAU,GAEd89B,aAAc,CACVjkG,KAAME,OACNimE,UAAU,GAEd+9B,WAAY,CACRlkG,KAAME,OACNimE,UAAU,IAGlB,KAAA76C,CAAM/pB,GACF,MAAMiM,EAAU0H,GAAI,IACdivF,EAAYjvF,GAAI,IAChBkvF,EAAelvF,GAAI,MACnBmvF,EAAenvF,GAAI,MACnBovF,EAAqBpvF,GAAI,GACzBqvF,EAAiBrvF,GAAI,GAE3Bwd,IAAc42D,UACV/nF,EAAMyiG,kBAAkBh8F,SAASw8F,IAC7Bh3F,EAAQtK,MAAM0H,KAAK,CAAE1H,MAAOshG,EAAOC,SAAUxnG,KAAMunG,EAAOvnG,KAAM0gD,UAAU,GAAO,IAErF+mD,GAAe,IAGnB,MAWMA,EAAiB,KACnBJ,EAAmBphG,MAAQ,EAE3B,IAAIlG,EAAMuE,EAAM0nE,OAEZm7B,EAAalhG,OAAsC,KAA7BkhG,EAAalhG,MAAMA,QAEzClG,GAAO,GADQ+mG,GAAkB/mG,WACRonG,EAAalhG,MAAMA,SAG5CmhG,EAAanhG,OAAsC,KAA7BmhG,EAAanhG,MAAMA,QAEzClG,GAAO,GADQ+mG,GAAkB/mG,cACLqnG,EAAanhG,MAAMA,SAGnD,MAAMyhG,EAAU,IAAIC,QAAQ5nG,GAE5ButE,MAAMo6B,GACD3/F,MAAMuC,IACH,GAAIA,EAAIwmF,GACJ,OAAOxmF,EAAIijE,OAEX,MAAM,IAAIv7C,MAAM,gCACpB,IAEHjqB,MAAMwlE,IApCM,CAACtrD,IAClB,GAAIA,EAAK2lF,0BAA2B,CAChCN,EAAerhG,MAAQgc,EAAK2lF,0BAA0BnhG,OACtD,MAAMohG,EAAgBC,gBAAgB7lF,EAAK2lF,2BAC3CC,EAAc98F,SAASg9F,IACnBA,EAAShoG,IAAM,GAAGuE,EAAM2iG,wBAAwBc,EAASC,WAAS,IAEtEd,EAAUjhG,MAAQ4hG,CACtB,GA6BQI,CAAa16B,EAAI,IAEpBvlE,OAAO6S,IACJna,QAAQC,MAAMka,EAAG,GACpB,EASHqtF,EAAqBC,IAAS,KAChCV,GAAe,GAChB,KAcH,MAAO,CACHl3F,UACA22F,YACAC,eACAC,eACAC,qBACAC,iBACAc,kBA7BsB,KACtBjB,EAAalhG,MAAMA,MAAQ,GAC3BkhG,EAAalhG,MAAMikE,QACnBu9B,GAAe,EA2BfS,qBACAG,mBArBuB,KACvBZ,GAAe,EAqBfa,uBAlB2B,KAC3BjB,EAAmBphG,MAAQ,KAkB3BsiG,iBAfqB,IACd,+BAA+BjkG,EAAM0iG,2CAgBpD,GHzHA,MIKJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CJCvD,GAuGU,UAvGV,GAuGU,CAtGN,GAqGM,MArGN,GAqGM,CApGF,GA0CM,MA1CN,GA0CM,CAzCF,GAqBM,MArBN,GAqBM,CApBF,GAmBM,MAnBN,GAmBM,CAlBF,GAiBM,MAjBN,GAiBM,CAhBF,GAS8B,SATvB/uF,IAAI,eACC,QAAK,oBAAE,EAAAiwF,oBAAA,EAAAA,sBAAA,IACZ98F,MAAM,2BACNrI,KAAK,OACLo/E,UAAU,QACVN,aAAa,MACbllE,GAAG,eACH3c,KAAK,eACLkpB,YAAY,sBACZ,gBAAc,kBAAS,GAE9B,GAIS,UAJA,QAAK,oBAAE,EAAAk/E,mBAAA,EAAAA,qBAAA,IACRh9F,MAAM,mDACN,aAAW,8BAO/B,GAiBM,MAjBN,GAiBM,CAhBF,GAeM,MAfN,GAeM,CAdF,GASS,UATDA,MAAM,oCACNpL,KAAK,eACL2c,GAAG,eACH1E,IAAI,eACC,SAAM,oBAAE,EAAAowF,oBAAA,EAAAA,sBAAA,MACjB,WACA,GAEW,WAFyB,EAAA93F,SAAO,CAAzBuwC,EAAQrzC,UACtB,GAAoF,UAA3ExH,MAAO66C,EAAO76C,MAAQy6C,SAAUI,EAAOJ,aAAaI,EAAO9gD,MAAI,qBAGhF,GACA,SAOZ,GAuDM,MAvDN,GAuDM,CAtDF,GAqDU,UArDV,GAqDU,CApDN,GAgDM,MAhDN,GAgDM,SA/CF,GA8CW,WA9CyB,EAAAknG,WAAS,CAA3BsB,EAAQ/6F,qBAA2BA,GAAK,CACtCA,EAAQ,EAAA45F,yBACpB,GA0CU,UA1CV,GA0CU,CAzCN,GAwCM,MAxCN,GAwCM,CAvCF,GAQM,MARN,GAQM,CAPF,GAMU,gBALN,GAIc,OAJTj8F,MAAM,uCACLmjE,IAAKi6B,EAAOC,WACZhoG,QAAS,EAAA8nG,mBACVx9B,KAAK,eACLjpB,IAAI,mBAIjB,GASM,MATN,GASM,CARF,GAOM,MAPN,GAOM,CANF,GAEK,KAFL,GAEK,GADE0mD,EAAOxoG,MAAI,GAElB,GAEK,KAFL,GAEK,GADEwoG,EAAOnlG,OAAK,OAK3B,GAiBM,MAjBN,GAiBM,CAhBF,GAeM,MAfN,GAeM,CAdF,GAaI,KAbAjB,KAAMomG,EAAOzoG,IAAKqL,MAAM,mGAqB7C,EAAAk8F,eAAiB,EAAAD,yBAA5B,GAEM,MAFN,GAEM,CADF,GAA6G,UAAhG,QAAK,oBAAE,EAAAiB,wBAAA,EAAAA,0BAAA,IAAwBl9F,MAAM,0CAAyC,8CKlGtGA,MAAM,yCACNA,MAAM,kDAINA,MAAM,uDCLVA,MAAM,0BAGGA,MAAM,wBAAwB6M,IAAI,uDAQ3B7M,MAAM,oCACDA,MAAM,gDAQAA,MAAM,2BACzBA,MAAM,8CACFA,MAAM,4DC1B3B,MDAA,GCAA,CACIpL,KAAM,aACNsE,MAAO,CACHokG,cAAe,CACX3lG,KAAME,OACNimE,UAAU,GAEdy/B,KAAM,CACF5lG,KAAMwE,MACN2hE,UAAU,GAEdj0D,SAAU,CACNlS,KAAM2C,SACNwjE,UAAU,GAEd0/B,gBAAiB,CACb7lG,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEbyhF,cAAe,CACX9lG,KAAME,OACNimE,UAAU,IAIlB76C,MAAK,SAAC/pB,GACF,IAAMwkG,EAAe7wF,GAAI,MACnB8wF,EAAc9wF,GAAI,MAClB+wF,EAAY/wF,GAAI3T,EAAMokG,eAE5Bz7E,IAAU,WACNg8E,IACA,IAAMC,EAAmB5kG,EAAMqkG,KAAKt8F,WAAU,SAAC88F,GAAG,OAAKA,EAAIxsF,KAAOrY,EAAMokG,aAAa,IACrFI,EAAa7iG,MAAMq3C,iBAAiB,UAAU4rD,GAAkBt6D,aAAa,iBAAiB,EAClG,IAEA,IAUMw6D,EAAmB,SAAUC,GAC/BA,EAAct+F,SAAQ,SAACipE,GAXC,IAACs1B,EACnBC,EAGAC,EAQoB,eAAlBx1B,EAASjxE,MAA2E,SAAlDixE,EAASzxE,OAAOk6C,aAAa,mBAZ9C6sD,EAaGt1B,EAASzxE,OAZ/BgnG,EAAmBT,EAAa7iG,MAAM04C,wBAAwBI,KAG9DyqD,EADgBF,EAAU3qD,wBAAwBI,KACpBwqD,EAAmBT,EAAa7iG,MAAMwjG,WAE1EV,EAAY9iG,MAAMqF,MAAMyzC,KAAO,GAAH77B,OAAMsmF,EAAW,MAC7CT,EAAY9iG,MAAMqF,MAAM+jE,MAAQ,GAAHnsD,OAAMomF,EAAUI,YAAW,MAQxD,GACJ,EAEMT,EAA2B,WAGZ,IAAIntD,iBAAiBstD,GAC7BntD,QAAQ6sD,EAAa7iG,MAHf,CAAE21C,YAAY,EAAM+B,WAAW,EAAMgsD,SAAS,GAIjE,EASA,MAAO,CACHC,UARc,SAACC,GACfb,EAAU/iG,MAAQ4jG,EACdvlG,EAAM2Q,UACN3Q,EAAM2Q,SAAS40F,EAEvB,EAIIf,aAAAA,EACAC,YAAAA,EACAC,UAAAA,EAER,GCtEJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFCvDp+B,GA6BM,MA7BNypB,GA6BM,CA3BFrrB,GAgBM,OAhBD59D,MAAKy/D,EAAA,CAAC,kBAAiB,kCAA8C/pC,EAAA8nE,mBAAmB79B,KAAK,UAAU9yD,IAAI,iBAC5G+wD,GAA6D,OAA7DgC,GAA6D,kBAC7DJ,GAaWW,GAAA,KAAAC,GAbsB1qC,EAAA6nE,MAAI,SAAnBQ,EAAK17F,eACnBm9D,GAWS,cAZgCn9D,EAEpC,gBAAe07F,EAAIxsF,KAAOmkB,EAAAkoE,UAC3Bj+B,KAAK,MACJpuD,GAAIwsF,EAAIxsF,GACJ0nB,QAAK,SAAA6+C,GAAA,OAAEpiD,EAAA8oE,UAAUT,EAAIxsF,GAAE,EAC5BvR,MAAM,yBACN49D,GAIM,MAJNmsB,GAIM,CAHFnsB,GAEO,OAFPwvB,GAEOttB,GADAi+B,EAAI9lG,OAAK,yBAOrBy9B,EAAA8nE,iBAAe,KAA1Bh+B,GAQM,MARNO,GAQM,CAPFnC,GAMM,MANNwrB,GAMM,CALFxrB,GAIM,MAJNyC,GAIM,IAHFzC,GAES,UAFA,aAAYloC,EAAA+nE,cAAez9F,MAAM,yFAA6C01B,EAAAkoE,UAAS9lB,CAAA,GAAG5X,SAAMR,EAAA,KAAAA,EAAA,YAAAoY,GAAA,OAAEpiD,EAAA8oE,UAAU1mB,EAAO3gF,OAAO0D,MAAK,aACpI2kE,GAA0FW,GAAA,KAAAC,GAA3D1qC,EAAA6nE,MAAI,SAAnBQ,EAAK17F,eAArBm9D,GAA0F,UAApDpmE,IAAKiJ,EAAQxH,MAAOkjG,EAAIxsF,OAAOwsF,EAAI9lG,OAAK,EAAAsoE,0BADK7qC,EAAAkoE,oBAAS,wBGtB3G59F,MAAM,0CACJA,MAAM,gCACJA,MAAM,wCACJA,MAAM,6BACJA,MAAM,yBAEP6M,IAAI,0BACJ7M,MAAM,2BACNrI,KAAK,OACLo/E,UAAU,QACVN,aAAa,MACbllE,GAAG,qBACH3c,KAAK,qBACL,gBAAc,YAEPikB,IAAI,qBAAqB7Y,MAAM,gCAMtB,GAAiD,QAA3CA,MAAM,+BAA6B,cAMpDA,MAAM,wDASVA,MAAM,0CACFA,MAAM,+CAKH,GAEM,OAFD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5E,GAAkG,QAA5F9jD,KAAK,OAAOxmB,EAAE,sFASxB,GAEM,OAFD8lE,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5E,GAAkG,QAA5F9jD,KAAK,OAAOxmB,EAAE,uFAM/BmG,MAAM,6BAA6B,YAAU,cAE7CA,MAAM,mCAICA,MAAM,4DAGMA,MAAM,wEAEGA,MAAM,wEACFA,MAAM,gFACHA,MAAM,uFAINA,MAAM,yFAINA,MAAM,4FAUlB,GAMM,OANDA,MAAM,+DAA6D,CACpE,GAIM,OAJD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5E,GAE2F,QADvF9jD,KAAK,UACLxmB,EAAE,sGAW9BmG,MAAM,gCC1GvBA,MAAM,oCACT49D,GAAgF,OAA3E19D,MAAA,iDAAmDqR,GAAG,0BCP3DmtF,GAAY,oCAAsCC,mBAAmB,2oDAYzE,UACIC,kBAAiB,WACb,MAAO,CACHC,cAAe,CACXlqG,IAAK+pG,GACL9kF,OAAQ,IAAIvlB,OAAOyqG,OAAOC,KAAKC,MAAM,GAAI,IACzCC,WAAY,IAAI5qG,OAAOyqG,OAAOC,KAAKG,KAAK,GAAI,KAEhDC,gBAAiB,CACbxqG,IAAK+pG,GACL9kF,OAAQ,IAAIvlB,OAAOyqG,OAAOC,KAAKC,MAAM,GAAI,IACzCC,WAAY,IAAI5qG,OAAOyqG,OAAOC,KAAKG,KAAK,GAAI,KAEhDE,aAAc,CACVzqG,IAAK+pG,GACL9kF,OAAQ,IAAIvlB,OAAOyqG,OAAOC,KAAKC,MAAM,GAAI,IACzCC,WAAY,IAAI5qG,OAAOyqG,OAAOC,KAAKG,KAAK,GAAI,KAEhDG,sBAAuB,CACnB1qG,IAAK+pG,GACL9kF,OAAQ,IAAIvlB,OAAOyqG,OAAOC,KAAKC,MAAM,GAAI,IACzCC,WAAY,IAAI5qG,OAAOyqG,OAAOC,KAAKG,KAAK,GAAI,KAEhDI,UAAW,CACP3qG,IAAK+pG,GACL9kF,OAAQ,IAAIvlB,OAAOyqG,OAAOC,KAAKC,MAAM,GAAI,IACzCC,WAAY,IAAI5qG,OAAOyqG,OAAOC,KAAKG,KAAK,GAAI,KAEhDK,mBAAoB,CAChB5qG,IAAK+pG,GACL9kF,OAAQ,IAAIvlB,OAAOyqG,OAAOC,KAAKC,MAAM,GAAI,IACzCC,WAAY,IAAI5qG,OAAOyqG,OAAOC,KAAKG,KAAK,GAAI,KAEhDM,cAAe,CACXC,UAAWprG,OAAOyqG,OAAOC,KAAKW,UAAUC,MAE5CC,WAAY,CACR5yD,OAAQ,CACJ,CACI,YAAe,WACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,mBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,qBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,6BACf,YAAe,mBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,MACf,YAAe,WACf,QAAW,CACP,CACI,WAAc,SAI1B,CACI,YAAe,MACf,YAAe,SACf,QAAW,CACP,CACI,WAAc,SAI1B,CACI,YAAe,OACf,YAAe,WACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,gBACf,YAAe,mBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,eACf,YAAe,WACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,eACf,YAAe,mBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,aACf,YAAe,mBACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,eACf,YAAe,WACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,kBACf,YAAe,WACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,QACf,YAAe,WACf,QAAW,CACP,CACI,MAAS,aAIrB,CACI,YAAe,QACf,YAAe,mBACf,QAAW,CACP,CACI,MAAS,eAOrC,2cCzLJ,IAAM6yD,GAAe,SACjB3oG,EACA4oG,EACAC,EACAC,EACAC,EACAC,EACAC,EACAnlG,GAEA,IAAIolG,EAAS,CAAEC,IAAKnpG,EAASopG,SAAUC,IAAKrpG,EAASspG,WACjDzM,EAAcoM,GAAqBjpG,EACnCupG,EAAgBvpG,EAASupG,cACzBC,EAAaxpG,EAASwpG,WAEtBC,EAAS,IAAItsG,OAAOyqG,OAAOC,KAAK6B,yvBAAM3S,CAAC,CACvC4S,SAAUT,EACVplG,IAAKA,EAAIH,MACT5C,MAAOf,EAAStC,KAChBo2E,KAAM80B,EAAqB/L,EAAa0M,EAAeC,IACpDX,EAAgBllG,MAAM2kG,gBAe7B,OAZAmB,EAAOG,YAAY,aAAa,WAC5Bd,EAAmB9oG,EACvB,IAEAypG,EAAOG,YAAY,YAAY,WAC3Bb,GACJ,IAEAU,EAAOG,YAAY,SAAS,WACxBZ,EAAchpG,EAClB,IAEOypG,CACX,EAqDA,SAnDmB,SACfznG,EACA6nG,EACAC,EACAlB,EACAC,EACAI,EACAnlG,EACAimG,GACF,IAAAC,EAAAC,EAAAC,EACQpB,EACsB,QADJkB,EACpBhoG,EAAM8mG,0BAAkB,IAAAkB,EAAAA,EACxB,SAAUhqG,GACNipG,EAAkBtlG,MAAQ3D,EACP,OAAf8pG,EAAKnmG,OACLomG,GAER,EACEhB,EACsB,QADJkB,EACpBjoG,EAAM+mG,0BAAkB,IAAAkB,EAAAA,EACxB,WACIhB,EAAkBtlG,WAAQnB,EACP,OAAfsnG,EAAKnmG,OACLomG,GAER,EACEf,EACiB,QADJkB,EACfloG,EAAMgnG,qBAAa,IAAAkB,EAAAA,EACnB,SAAUlqG,GACN7C,OAAO6C,SAASF,KAAOE,EAASmqG,aACpC,EAkBJ,OAhBAN,EAAalmG,MAAM8E,SAAQ,SAACzI,GACxB8pG,EAAKnmG,MAAM0H,KAAK,CACZo+F,OAAQd,GACJ3oG,EACA4oG,EACAC,EACAC,EACAC,EACAC,EACAC,EACAnlG,GAEJ9D,SAAAA,GAER,IAEO8pG,EAAKnmG,KAChB,ECnFA,GAJgB,SAAUymG,EAAcC,GACpC,OAAO,IAAIltG,OAAOyqG,OAAOC,KAAKl5F,IAAIy7F,EAAazmG,MAAO0mG,EAAkB1mG,MAC5E,0cCKA,UACIjG,KAAM,wBACNsE,MAAO,CAEHgnG,cAAe,CACXvoG,KAAM2C,UAGVknG,YAAa,CACT7pG,KAAMwE,MACN6f,QAAS,IAGbmkF,kBAAmB,CACfxoG,KAAMqC,OACNgiB,QAAS,MAGbgkF,mBAAoB,CAChBroG,KAAM2C,SACN0hB,QAAS,MAGbikF,mBAAoB,CAChBtoG,KAAM2C,UAGVmnG,UAAW,CACP9pG,KAAMwE,MACN6f,QAAS,IAGb0lF,OAAQ,CACJ/pG,KAAME,OACNimE,UAAU,GAGd59D,MAAO,CACHvI,KAAME,QAGV8pG,MAAO,CACHhqG,KAAME,OACNimE,UAAU,IAGlB76C,MAAK,SAAC/pB,EAAKm+E,GAAY,IAARpkE,EAAIokE,EAAJpkE,KACL2uF,EAAgB,+CAAH9pF,OAAkD5e,EAAMwoG,OAAM,8CAC3E1mG,EAAM6R,GAAI,MACVm0F,EAAOn0F,GAAI,IACXy0F,EAAe76F,IAAS,kBAAMxQ,SAAS4sC,cAAc,gBAAgB,IAErEg/D,EAAgBp7F,IAAS,kBAAOpS,OAAOyqG,OAAS,IAAIzqG,OAAOyqG,OAAOC,KAAK+C,OAAO,SAAU,WAAQpoG,CAAS,IACzGqmG,EAAkBlzF,GAAI,CAAC,GACvBk0F,EAAet6F,IAAS,eAAAs7F,EAAA,OAAqB,QAArBA,EAAM7oG,EAAMuoG,iBAAS,IAAAM,EAAAA,EAAI,EAAE,IACnDC,EAAyBn1F,GAAI,MAC7BszF,EAAoB15F,GAAS,CAC/BtM,IAAG,WAAG,IAAA8nG,EACF,OAA8B,QAA9BA,EAAO/oG,EAAMinG,yBAAiB,IAAA8B,EAAAA,EAAID,EAAuBnnG,KAC7D,EACA+K,IAAG,SAAC1O,GACA8qG,EAAuBnnG,MAAQ3D,CACnC,IAGEgrG,EAAmB,SAAnBA,IACF,IAAMC,EAAab,EAAazmG,MAAMq3C,iBAAiB,0BAClDiwD,EAAW9mG,OAIhB8mG,EAAWxiG,SAAQ,SAACyiG,GAChB,IACMC,EADSD,EAAIzmF,WACI01B,aAAa,SACpC+wD,EAAI5+D,aAAa,MAAO6+D,EAC5B,IAPIhrG,WAAW6qG,EAAkB,GAQrC,EAEArgF,IAAU,WACN5O,EAAK,eA5BW,GA6BhB,IAAMqvF,EAAgBrsG,SAASsB,cAAc,UAC7C+qG,EAAc3qG,KAAO,kBACrB2qG,EAAcn/B,IAAMy+B,EACpBU,EAAcptG,OAAS,WACfosG,EAAazmG,OAASxG,OAAOyqG,SAC7BiB,EAAgBllG,MAAQ0nG,GAAUrpG,EAAMyoG,SACxC3mG,EAAIH,MAAQ2nG,GAAQlB,EAAcC,GAClCP,EAAKnmG,MAAQ4nG,GACTvpG,EACA6nG,EACAC,EACAlB,EACAC,EACAI,EACAnlG,EACAimG,GAGJ5pG,WAAW6qG,EAAkB,IAC7BlnG,EAAIH,MAAMimG,YAAY,gBAAgB,WAClC7tF,EAAK,eAAgBjY,EAAIH,MAAM6nG,UACnC,IAER,EAEAzsG,SAASiC,KAAKyxC,YAAY24D,EAC9B,IAEAt5E,IAAU,WACFhuB,EAAIH,QACJG,EAAIH,MAAQ2nG,GAAQlB,EAAcC,IAEtCoB,EAAiBzpG,EAAO8nG,EAC5B,IAEA,IAAMO,EAAoB96F,IAAS,WAC/B,yvBAAAwnF,CAAA,CACI2U,KAlEY,EAmEZzG,OAAQ,CACJkE,IAAKwB,EAAchnG,MAAMwlG,MACzBE,IAAKsB,EAAchnG,MAAM0lG,OAE7BsC,aAAa,EACbC,mBAAmB,EACnBC,mBAAmB,EACnBC,UAAW,UACXC,sBAAuB,CACnBC,WAAY,CAAC,UAAW,aACxBrC,SAAUxsG,OAAOyqG,OAAOC,KAAKoE,gBAAgBC,WAEjDC,mBAAoB,CAChBxC,SAAUxsG,OAAOyqG,OAAOC,KAAKoE,gBAAgBC,WAEjDE,gBAAgB,EAChBC,gBAAiB,eACdxD,EAAgBllG,MAAM+kG,WAEjC,IAEMqB,EAAwB,WAC1BD,EAAKnmG,MAAM8E,SAAQ,SAAC6jG,GACZA,EAAI7C,QAAU6C,EAAItsG,WACEipG,EAAkBtlG,MAAS2oG,EAAItsG,SAC7BssG,EAAItsG,SAASusG,cAChBD,EAAItsG,SAASwsG,WAGxC,GACJ,EAEM5D,EAAuB,SAAU/L,EAAa0M,EAAeC,GAC/D,OAAIA,EACO3M,EAAcgM,EAAgBllG,MAAM0kG,mBAAqBQ,EAAgBllG,MAAMykG,UAC/EmB,EACA1M,EAAcgM,EAAgBllG,MAAMwkG,sBAAwBU,EAAgBllG,MAAMukG,aAElFrL,EAAcgM,EAAgBllG,MAAMskG,gBAAkBY,EAAgBllG,MAAMgkG,aAE3F,EAEM8D,EAAmB,SAAUzpG,EAAO8nG,GACpB,OAAdhmG,EAAIH,QACJmmG,EAAKnmG,MAAQ4nG,GACTvpG,EACA6nG,EACAC,EACAlB,EACAC,EACAI,EACAnlG,EACAimG,IAIW,OAAfD,EAAKnmG,OAAgC,OAAdG,EAAIH,QCrLtB,SAAU3B,EAAO8B,EAAK+lG,EAAc4C,GAErD,GAA2B,OAAvB5C,EAAalmG,MAAjB,CAIA,IAEM+oG,EAAS,IAAIvvG,OAAOyqG,OAAOC,KAAK8E,aAClC3qG,EAAMsoG,YAAYnmG,OAAS,GAC3BnC,EAAMsoG,YAAY7hG,SAAQ,SAACmkG,GACvB,IAAMC,EAAQ,IAAI1vG,OAAOyqG,OAAOC,KAAK+C,OAAOgC,EAAWE,SAAUF,EAAWG,WAC5EL,EAAOM,OAAOH,EAClB,IACA/oG,EAAIH,MAAMspG,UAAUP,GACpB5oG,EAAIH,MAAMupG,QAAQ7kE,KAAKC,IAAIxkC,EAAIH,MAAM6nG,UATzB,OAaZ1nG,EAAIH,MAAMspG,UAAUP,GACpB5oG,EAAIH,MAAMupG,QAAQT,GAhBtB,CAkBJ,CDgKgBU,CAAanrG,EAAO8B,EAAK+lG,EA5Hb,GA6HZE,IAER,CACJ,GJxLF,MMKF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CNCzDzhC,GAEM,MAFNypB,GAEMppB,QOsBR,GA9BkC,SAASykC,EAAenI,GACtD,MAAMoI,EAAOD,EAAcE,SAASttG,SAASmpG,MACvCoE,EAAOH,EAAcE,SAASttG,SAASqpG,MACvCmE,EAAOvI,EAAOmE,SACdqE,EAAOxI,EAAOqE,UAMdoE,EAAWC,GAAQA,GAAOtlE,KAAKulE,GAAG,KAGlCC,EAAOH,EAAQF,EAAOH,GACtBS,EAAOJ,EAAQD,EAAOF,GAGtB5tG,EAAI0oC,KAAK0lE,IAAIF,EAAO,GAAKxlE,KAAK0lE,IAAIF,EAAO,GACpCxlE,KAAK2lE,IAAIN,EAAQL,IAAShlE,KAAK2lE,IAAIN,EAAQF,IAC3CnlE,KAAK0lE,IAAID,EAAO,GAAKzlE,KAAK0lE,IAAID,EAAO,GAQhD,OALU,EAAIzlE,KAAK4lE,MAAM5lE,KAAK6lE,KAAKvuG,GAAI0oC,KAAK6lE,KAAK,EAAIvuG,IAf7B,IAqB5B,ECtBA,GANuB,SAAUwuG,GAC/B,OAAOA,EAAgBrqG,KAAKmhG,IACnB,CAAE6H,SAAU7H,EAAOmE,SAAU2D,UAAW9H,EAAOqE,aAE1D,ECUA,GAdA,SAAS8E,EAA6Bpd,EAAYr+E,GAEhD,IAAKxV,OAAOyqG,OAGV,OADAznG,WAAWiuG,EAA6B//F,KAAK9Q,KAAMyzF,EAAYr+E,GAAW,MACnE,EAGT,MAAM07F,EAAS,IAAIlxG,OAAOyqG,OAAOC,KAAKwG,OAAOC,aAAatd,GAG1D,OAFA7zF,OAAOyqG,OAAOC,KAAK/rF,MAAM8tF,YAAYyE,EAAQ,gBAAiB17F,EAAStE,KAAK,KAAMggG,KAE3E,CACT,EVVA,GWQA,CACE3wG,KAAM,YACNsE,MAAO,CACLusG,WAAY,CACV9tG,KAAMwE,OAERm0E,OAAQ,CACN34E,KAAMwE,OAERulG,OAAQ,CACN/pG,KAAME,OACNimE,UAAU,GAEZ69B,kBAAmB,CACjBhkG,KAAMwE,MACN2hE,UAAU,IAGd,KAAA76C,CAAM/pB,GACJ,MAAMwsG,EAA4B74F,GAAI3T,EAAMyiG,mBACtCgK,EAA4B94F,GAAI3T,EAAMyiG,mBACtCiK,EAA0B/4F,GAAI,MAC9By3F,EAAgBz3F,GAAI,MACpB20F,EAAc30F,GAAI,IAClBg5F,EAAmBh5F,GAAI,IACvBi5F,EAAiBj5F,IAAI,GACrBk5F,EAAsBl5F,GAAI,GAC1Bm5F,EAAcn5F,GAAI,GAElBo5F,EAAiCp5F,IAAI,GACrCq5F,EAA+Br5F,GAAI,MAEnCs5F,EAA+Bt5F,GAAsC3T,EAAMusG,WCzC/DzqG,KAAIunE,IACX,CACH1nE,MAAO0nE,EAAS6jC,GAChBxxG,KAAM2tE,EAAS8jC,KACf/wD,UAAU,OD2DZgxD,EAAW,IAAI51D,kBAnB6ButD,IAC9C,IAAK,MAAMr1B,KAAYq1B,EACG,eAAlBr1B,EAASjxE,OACTsuG,EAA+BprG,MAA6D,SAArDqrG,EAA6BrrG,MAAMqF,MAAM8tC,QAEjD,UAA3B46B,EAASh4B,eAA6Bg4B,EAASzxE,OAAO80C,UAAUpxC,MAAMyW,SAAS,sBAC/Es3D,EAASzxE,OAAOqsC,aAAa,gBAAiB,SAIhC,cAAlBolC,EAASjxE,MACTixE,EAAS29B,WAAW5mG,SAASR,IACzBA,EAAKqkC,aAAa,gBAAiB,SACnC8iE,EAASz1D,QAAQ1xC,EAAM,CAAEqxC,YAAY,GAAM,GAGvD,IAKEg2D,EAAuC,KACzC,MAAMC,EAAgBxwG,SAAS4sC,cAAc,kBACxC4jE,GAILP,EAA6BrrG,MAAQ4rG,EACrCP,EAA6BrrG,MAAM2oC,aAAa,OAAQ,WACxD0iE,EAA6BrrG,MAAM2oC,aAAa,KAAM,6BACtD8iE,EAASz1D,QAAQq1D,EAA6BrrG,MAAO,CAAE21C,YAAY,EAAM+B,WAAW,KANhFl7C,WAAWmvG,EAAsC,IAMqC,EAG9F3kF,IAAUo/D,UACR,GAA6B2kB,EAAwB/qG,MAAO6rG,GAC5DF,GAAqC,IAGvC,MAAMG,EAAsB,IAAS,KACnC,IAAIlpC,GAAO,EAIX,OAHIkoC,EAA0B9qG,OAAoD,IAA3C8qG,EAA0B9qG,MAAMQ,SACrEoiE,GAAO,GAEFA,KAKHipC,EAAuB,SAAUnB,GACrCQ,EAAoBlrG,MAAQ,EACJ0qG,EAAOqB,WAAWpC,UAExCF,EAAczpG,MAAQ0qG,EAAOqB,WAC7BjB,EAA0B9qG,MEhGT,SAAUypG,EAAe3I,GAKhD,GAH2B2I,EAAczpG,OACDypG,EAAczpG,MAAM2pG,SAG1D,OAAO7I,EACJnpF,MAAK,CAACq0F,EAASC,IAEZ,GAA0BxC,EAAczpG,MAAOgsG,GAC/C,GAA0BvC,EAAczpG,MAAOisG,KAGlD/pG,MAAM,EAZyB,EActC,CFiF0C,CAAiBunG,EAAeoB,EAA0B7qG,OAC5F2mG,EAAY3mG,MAAQ,GAAe8qG,EAA0B9qG,QAE7DypG,EAAczpG,MAAQ,IAE1B,EAEMksG,EAAoB,WACxBnB,EAAwB/qG,MAAMA,MAAQ,GACtC8qG,EAA0B9qG,MAAQ6qG,EAA0B7qG,MAC5D2mG,EAAY3mG,MAAQ,GAAe8qG,EAA0B9qG,OAC7DkrG,EAAoBlrG,MAAQ,CAC9B,EAyCA,MAAO,CACL8qG,4BACAqB,iBAvCuB,SAAUC,GACjClB,EAAoBlrG,MAAQ,EAC5B,MAAMqsG,EAAsBD,EAAclgG,QAAQ2uC,GAAWA,EAAOJ,WAAUt6C,KAAK06C,GAAWx4C,SAASw4C,EAAO76C,SAE9G8qG,EAA0B9qG,MAAQ6qG,EAA0B7qG,MAAMkM,QAAQo1F,GACjEA,EAAOsJ,WAAW/tF,MAAM6qD,GAAa2kC,EAAoB51F,SAASixD,OAGvEojC,EAA0B9qG,MAAMQ,OAClCmmG,EAAY3mG,MAAQ,GAAe8qG,EAA0B9qG,OAE7DksG,GAEJ,EA2BEvF,cACAoE,0BACAO,+BACAN,mBACAc,sBACAI,oBACAI,YA/BmB7hB,IACnB,GAAKgf,EAAczpG,MAEnB,MAAO,GADU,GAA0BypG,EAAczpG,MAAOyqF,GAC7CxQ,QAAQ,OAAE,EA6B7BgxB,iBACAsB,oBA3B0B,KAC1BtB,EAAejrG,OAAQ,GA2BvBwsG,4BAxBkC,KAClCvB,EAAejrG,OAAQ,GAwBvBkrG,sBACAuB,wBAtB8B,KAC9BvB,EAAoBlrG,MAAQ,KAsB5BorG,iCACAsB,kBApByB3E,IACzBoD,EAAYnrG,MAAQ+nG,GAoBpBoD,cAEJ,EACAj1E,WAAY,CACVy2E,sBAAqB,GACrB7mC,oBAAmB,KGtKvB,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2GdCzD,GAuHY,WAvHH3gE,MAAK,GAAC,iBAAgB,kCAA6C,EAAA8lG,oBAC1E,GAqHU,MArHV,GAqHU,CApHR,GAiCY,MAjCZ,GAiCY,CAhCV,GAuBc,MAvBd,GAuBc,CAtBZ,GAqBgB,MArBhB,GAqBgB,CApBd,GAmBkB,MAnBlB,GAmBkB,CAlBhB,GAQyB,QARzB,GAQyB,UAEvB,GAA0G,QAA1G,GAA0G,GAAvC,EAAAx1B,OAAOm3B,wBAAsB,GAEpF,GAKS,UAJJ,QAAK,oBAAE,EAAAV,mBAAA,EAAAA,qBAAA,IACR/mG,MAAM,mDACN,aAAW,8BAO3B,GAMM,MANN,GAMM,CALF,GAIiC,GAH5B69D,YAAa,EAAAsoC,6BACbnoC,iBAAkB,EAAAgpC,iBAClBjpC,iBAAkB,EAAAuS,OAAOo3B,0BACzBzvG,MAAO,EAAAq4E,OAAOq3B,sFAI3B,GAqBM,MArBN,GAqBM,CApBF,GAmBM,MAnBN,GAmBM,CAlBF,GAQS,UAPA,QAAK,oBAAE,EAAAP,qBAAA,EAAAA,uBAAA,IACZpnG,MAAK,GAAC,iDAAgD,0DACc,EAAA8lG,oBACpE,MAEM,cAGV,GAQS,UAPA,QAAK,oBAAE,EAAAuB,6BAAA,EAAAA,+BAAA,IACZrnG,MAAK,GAAC,iDAAgD,2DACe,EAAA8lG,uBAAkB,WAEvF,WAOZ,GAA8F,MAA9F,GAA2D,eAAY,GAAG,EAAAE,aAAW,GAErF,GAuDM,MAvDN,GAuDM,CAtDF,GA8CM,OA7CFhmG,MAAK,GAAC,2CAA0C,mDACa,EAAA2mG,yBAC7D,GAoCK,KApCL,GAoCK,SAnCD,GAkCW,WAlCuB,EAAAhB,2BAAyB,CAAzCrgB,EAAMjjF,qBAA2CA,GAAK,CACpDA,EAAQ,EAAA0jG,0BACpB,GA8BK,KA9BL,GA8BK,CA7BD,GA4BI,KA5BD/lG,MAAM,6DAA8DhJ,KAAMsuF,EAAK+b,gBAC9E,GAkBM,MAlBN,GAkBM,CAjBF,GAYM,MAZN,GAYM,CAXF,GAEK,KAFL,GAEK,GADE/b,EAAK1wF,MAAI,GAEhB,GAGI,IAHJ,GAGI,GADG0wF,EAAKsiB,SAAO,GAEnB,GAGI,IAHJ,GAGI,GADGtiB,EAAKuiB,QAAM,KAGtB,mRAMJ,2CAcV,EAAAlC,2BAA6B,EAAAA,0BAA0BtqG,OAAS,EAAA0qG,0BAD1E,GAIM,MAJN,GAIM,CADF,GAA8G,UAAjG,QAAK,oBAAE,EAAAuB,yBAAA,EAAAA,2BAAA,IAAyBtnG,MAAM,0CAAyC,kCAIpG,GAKuB,GAJlBwhG,YAAa,EAAAA,YACbC,UAAW,EAAAkE,0BACX,cAAc,EAAA4B,kBACf5F,MAAM,oBACLD,OAAQ,EAAAA,iFJxH7B,GmBKA,CACE9sG,KAAM,4BACNm8B,WAAY,CACV+2E,WAAU,GACVC,UAAS,GACTC,yBAAwB,IAE1B9uG,MAAO,CACLwoG,OAAQ,CACN/pG,KAAME,OACNimE,UAAU,GAEZ2nC,WAAY,CACV9tG,KAAMwE,MACN2hE,UAAU,GAEZwS,OAAQ,CACN34E,KAAMwE,MACN2hE,UAAU,GAEZmqC,cAAe,CACbtwG,KAAME,OACNimE,UAAU,GAEZoqC,qBAAsB,CACpBvwG,KAAME,OACNimE,UAAU,GAEZqqC,sBAAuB,CACrBxwG,KAAME,OACNimE,UAAU,GAEZ+9B,WAAY,CACVlkG,KAAME,OACNimE,UAAU,IAGd,KAAA76C,CAAM/pB,GACJ,MAAMyiG,EAAoB9uF,GAAI,IAE9Bwd,IAAc42D,UC/CY,IAASmnB,EDgDjCzM,EAAkB9gG,YChDeutG,EDgDoBlvG,EAAM+uG,cC9C7C,IAAI1L,QAAQ6L,GAErBlmC,MAAMkmC,GACZzrG,MAAMuC,IACH,IAAIA,EAAIwmF,GAAI,MAAM,IAAI9+D,MAAM1nB,EAAIvJ,QAC5B,OAAOuJ,EAAIijE,MAAK,IAEvBxlE,MAAMwlE,GACIA,EAAKkmC,wBAEfzrG,OAAO6S,GAAMna,QAAQgzG,IAAI,6CAA6CF,IAA2B34F,KDoCxB,IAG1E,MAAM84F,EAAkBvuG,OAAOwuG,OAAO,CACpCC,KAAM,aACNC,UAAW,cAGPC,EAAiB,IAAS,IACvB/K,EAAU/iG,QAAU0tG,EAAgBE,OAGvC7K,EAAY/wF,GAAI07F,EAAgBE,MAUtC,MAAO,CACLlL,KAVW,CACX,CAAEhsF,GAAIg3F,EAAgBE,KAAMxwG,MAAO,eACnC,CAAEsZ,GAAIg3F,EAAgBG,UAAWzwG,MAAO,qBASxC0wG,iBACAC,wBAP+B/tG,IAC/B+iG,EAAU/iG,MAAQA,GAOlB8gG,oBAEJ,GErEF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,uHrBCvD,GAmCU,UAnCV,GAmCU,CAlCN,GAEM,MAFN,GAEM,CADF,GAAyK,GAA5J,qBAAmB,EAAM,iBAAe,oCAAoC,kBAAgB,aAAc4B,KAAM,EAAAA,KAAO1zF,SAAU,EAAA++F,uDAGlJ,GA6BM,MA7BN,GA6BM,CA5BF,GAaM,OAZF,kBAAgB,aACf5oG,MAAK,mEAA0F,qBAGhF,EAAA27F,kBAAkBtgG,OAAS,QACvC,GAK6C,SAJxCoqG,WAAY,EAAAA,WACZn1B,OAAQ,EAAAA,OACRoxB,OAAQ,EAAAA,OACR9gC,OAAQ,EAAAqnC,cACRtM,kBAAmB,EAAAA,4GAIhC,GAYM,OAXF,kBAAgB,YACf37F,MAAK,kEAAyF,qBAG/E,EAAA27F,kBAAkBtgG,OAAS,QACvC,GAI+B,SAH1BugG,aAAc,EAAAuM,sBACdvnC,OAAQ,EAAAsnC,qBACRvM,kBAAmB,EAAAA,kBACnBE,WAAY,EAAAA,oHsB9B5B77F,MAAM,kBACT,GAEM,OAFDA,MAAM,uBAAqB,CAC9B,GAA+C,OAA1CA,MAAM,gDAMVA,MAAM,4BACDA,MAAM,qCACVA,MAAM,oEAGLA,MAAM,iEAOT,GAMM,OANDA,MAAM,oBAAkB,CAC3B,GAIM,OAJD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC9E,GAEyF,QADvF9jD,KAAK,UACLxmB,EAAE,gGAQPmG,MAAM,4BACDA,MAAM,qCACVA,MAAM,mCACLA,MAAM,sDAKRA,MAAM,2BACJA,MAAM,oCACA6M,IAAI,yBAKJ7M,MAAM,uBACJA,MAAM,4BACJA,MAAM,wBAAwB6M,IAAI,wBAChC7M,MAAM,4CAWF6Y,IAAI,YAAY7Y,MAAM,gCAQ3B,GAAiD,QAA3CA,MAAM,+BAA6B,aAE3C,GAEM,OAFDA,MAAM,iCAA+B,CACxC,GAAsD,QAAhDA,MAAM,6CAGhB,GAA4C,QAAtCA,MAAM,0BAAwB,aAC9BA,MAAM,+BAKTA,MAAM,wBAAwB6M,IAAI,uBAChC7M,MAAM,4CAWF6Y,IAAI,WAAW7Y,MAAM,gCAQ1B,GAAiD,QAA3CA,MAAM,+BAA6B,aAE3C,GAEM,OAFDA,MAAM,iCAA+B,CACxC,GAAsD,QAAhDA,MAAM,6CAGhB,GAA4C,QAAtCA,MAAM,0BAAwB,aAC9BA,MAAM,+BAMXA,MAAM,wBAAwB6M,IAAI,sBAChC7M,MAAM,4CAUF6Y,IAAI,UAAU7Y,MAAM,gCAQzB,GAAiD,QAA3CA,MAAM,+BAA6B,aAE3C,GAEM,OAFDA,MAAM,iCAA+B,CACxC,GAAsD,QAAhDA,MAAM,6CAGhB,GAA4C,QAAtCA,MAAM,0BAAwB,aAC9BA,MAAM,+BAGTA,MAAM,4BACJA,MAAM,wBAAwB6M,IAAI,yBAChC7M,MAAM,4CAWF6Y,IAAI,aAAa7Y,MAAM,gCAQ5B,GAAiD,QAA3CA,MAAM,+BAA6B,aAE3C,GAEM,OAFDA,MAAM,iCAA+B,CACxC,GAAsD,QAAhDA,MAAM,6CAGhB,GAA4C,QAAtCA,MAAM,0BAAwB,aAC9BA,MAAM,+BAGTA,MAAM,wBAAwB6M,IAAI,mBAChC7M,MAAM,4CAWF6Y,IAAI,OAAO7Y,MAAM,gCAQtB,GAAiD,QAA3CA,MAAM,+BAA6B,aAE3C,GAEM,OAFDA,MAAM,iCAA+B,CACxC,GAAsD,QAAhDA,MAAM,6CAGhB,GAA4C,QAAtCA,MAAM,0BAAwB,aAC9BA,MAAM,+BAIXA,MAAM,4BACJA,MAAM,wBAAwB6M,IAAI,oBAChC7M,MAAM,4CAWF6Y,IAAI,QAAQ7Y,MAAM,gCAQvB,GAAiD,QAA3CA,MAAM,+BAA6B,aAE3C,GAEM,OAFDA,MAAM,iCAA+B,CACxC,GAAsD,QAAhDA,MAAM,6CAGhB,GAA4C,QAAtCA,MAAM,0BAAwB,aAMjCA,MAAM,wBAAwB6M,IAAI,oBAChC7M,MAAM,4CAWF6Y,IAAI,QAAQ7Y,MAAM,gCAQvB,GAAiD,QAA3CA,MAAM,+BAA6B,aAE3C,GAEM,OAFDA,MAAM,iCAA+B,CACxC,GAAsD,QAAhDA,MAAM,6CAGhB,GAA4C,QAAtCA,MAAM,0BAAwB,aAC9BA,MAAM,+BAUTA,MAAM,8BACNA,MAAM,gCAGAA,MAAM,+DAOT,GAGM,OAHDA,MAAM,kDAAgD,CACzD,GAAyE,OAApEA,MAAM,0DACX,GAAyE,OAApEA,MAAM,6EAUrB,GAAmD,QAA7CA,MAAM,iCAA+B,aACrCA,MAAM,+BAGTA,MAAM,yCACT,GAAyD,MAArDA,MAAM,0BAAyB,qBAAiB,OAC/CA,MAAM,2BAGRA,MAAM,uBACJA,MAAM,yCAAyC6M,IAAI,qBAC/C7M,MAAM,mCASX,GAUM,OAVDA,MAAM,wBAAsB,CAC/B,GAQM,OARD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC9E,GAMI,KANDI,OAAO,UAAU,oBAAkB,KAAK,eAAa,MACtD,GAEoI,QADlI,iBAAe,SACf1qE,EAAE,gIACJ,GAAuB,QAAjBA,EAAE,eACR,GAAoE,QAA9D,iBAAe,SAASA,EAAE,iDAIjCmG,MAAM,6BAWVA,MAAM,wBAAwB6M,IAAI,+BAC9B7M,MAAM,mCASX,GAUM,OAVDA,MAAM,wBAAsB,CAC/B,GAQM,OARD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC9E,GAMI,KANDI,OAAO,UAAU,oBAAkB,KAAK,eAAa,MACtD,GAEoI,QADlI,iBAAe,SACf1qE,EAAE,gIACJ,GAAuB,QAAjBA,EAAE,eACR,GAAoE,QAA9D,iBAAe,SAASA,EAAE,iDAIjCmG,MAAM,6BAGPA,MAAM,0BAA0B6M,IAAI,oCAGvC7M,MAAM,wBAAwB6M,IAAI,wBAC9B7M,MAAM,mCAUX,GAUM,OAVDA,MAAM,wBAAsB,CAC/B,GAQM,OARD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC9E,GAMI,KANDI,OAAO,UAAU,oBAAkB,KAAK,eAAa,MACtD,GAEoI,QADlI,iBAAe,SACf1qE,EAAE,gIACJ,GAAuB,QAAjBA,EAAE,eACR,GAAoE,QAA9D,iBAAe,SAASA,EAAE,iDAIjCmG,MAAM,6BAGPA,MAAM,0BAA0B6M,IAAI,6BAGzCA,IAAI,2BACF7M,MAAM,0BAA0B6M,IAAI,0CAS3C,GAMM,OAND7M,MAAM,oBAAkB,CAC3B,GAIM,OAJD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC9E,GAEyF,QADvF9jD,KAAK,UACLxmB,EAAE,sGAORmG,MAAM,wEAEN,GAAsD,QAAhDA,MAAM,oCAAkC,SCza5D,IAAI6oG,GAAgB,GAEPC,GAAkB,SAACpzG,GAC9B,IAAMqzG,EAAwBrzG,EAAE2gD,cAAcipB,QAAQ,iBAChD0pC,EAAeD,aAAqB,EAArBA,EAAuBlmE,cAAc,SAC1DmmE,EAAanuG,MAAQ,GACrBmuG,EAAalqC,OACf,EAEamqC,GAAgB,SAACvzG,GAC5B,IAAMo8D,EAAQp8D,EAAEyB,OAChB26D,EAAMj3D,MAAQi3D,EAAMj3D,MAAMhC,QAAQ,UAAW,IAEzCi5D,EAAMj3D,MAAMyW,SAAS,MAA+B,IAAvBwgD,EAAMj3D,MAAMQ,SAC3Cy2D,EAAMj3D,MAAQi3D,EAAMj3D,MAAM69E,WAAW,IAAK,KAGxB,KAAhB5mB,EAAMj3D,OAAiBi3D,EAAMj3D,MAAMyW,SAAS,OAC9CwgD,EAAMj3D,MAAQi3D,EAAMj3D,MAAMm6B,MAAM,WAAW8iB,KAAK,KAEpD,EAEaoxD,GAAe,SAACxzG,GAC3B,IAAQyzG,EAAUzzG,EAAEyB,OAAZgyG,MACFC,EAAkB1zG,EAAEyB,OAAOkyG,aAAa,YACxCjnG,EAAS1M,EAAEyB,OAAOmoE,QAAQ,iBAC1BgqC,EAAgBlnG,aAAM,EAANA,EAAQygC,cAAc,kBAExCumE,EACFG,GAAsBJ,EAAOzzG,GAE7B8zG,GAAoBL,EAAOG,EAE/B,EAEMC,GAAwB,SAACJ,EAAOzzG,GACpC,IAAM+zG,EAAU/zG,EAAEyB,OAAOoa,GACzBpV,MAAM0uB,KAAKs+E,GAAOnuG,KAAI,SAAC0uG,GACPC,GAAsBD,EAAMD,IAExCZ,GAActmG,KAAK,CAAEmnG,KAAMA,EAAMn4F,GAAIk4F,GAEzC,IAEAG,GAAoBl0G,EACtB,EAEM8zG,GAAsB,SAACL,EAAOxvF,GAClCA,EAAU2f,UAAY,GACtBn9B,MAAM0uB,KAAKs+E,GAAOnuG,KAAI,SAAC0uG,GACrB,IAAMvqG,EAAO0qG,GAAuBH,GACpC/vF,EAAUgwB,YAAYxqC,GAEtB,IAAM23C,EAAS33C,EAAK0jC,cAAc,wBAClCiU,SAAAA,EAAQ/J,iBAAiB,SAAS,SAAC/2C,GACjC,IAAMoM,EAASpM,EAAImB,OAAOmoE,QAAQ,iBAC5BxN,EAAQ1vD,aAAM,EAANA,EAAQygC,cAAc,SAClB7sC,EAAImB,OAAOmoE,QAAQ,kBAE3BhmC,UAAY,GACtBw4B,EAAMj3D,MAAQ,EAChB,GACF,GACF,EAEM8uG,GAAwB,SAACD,EAAMD,GACnC,IAAIvqG,GAAM,EAOV,OAN6B4qG,GAA2BjB,GAAeY,GAClD9jD,MAAK,SAACxmD,GACrBA,EAAKuqG,KAAK90G,OAAS80G,EAAK90G,MAAQuK,EAAKoS,KAAOk4F,IAC9CvqG,GAAM,EAEV,IACOA,CACT,EAEM4qG,GAA6B,SAAUjB,EAAeY,GAC1D,OAAOttG,MAAM0uB,KAAKg+E,GAAe9hG,QAAO,SAAC5H,GAAI,OAAKA,EAAKoS,KAAOk4F,CAAO,GACvE,EAEMI,GAAyB,SAACH,GAC9B,IAAMK,EAAK9zG,SAASsB,cAAc,MAClCwyG,EAAG99D,UAAU/lC,IAAI,yBAEjB,IAAM8jG,EAAe/zG,SAASsB,cAAc,UAC5CyyG,EAAa/9D,UAAU/lC,IAAI,iCAC3B8jG,EAAa/9D,UAAU/lC,IAAI,uBAE3B8jG,EAAaxmE,aAAa,iBAAkBkmE,EAAK90G,MAEjD,IAAMq1G,EAAYh0G,SAASsB,cAAc,QACzC0yG,EAAUh+D,UAAU/lC,IAAI,YACxB+jG,EAAUh+D,UAAU/lC,IAAI,sBAExB8jG,EAAargE,YAAYsgE,GAEzB,IAAMC,EAAOj0G,SAASsB,cAAc,QAOpC,OANA2yG,EAAKj+D,UAAU/lC,IAAI,+BACnBgkG,EAAK/xG,UAAYuxG,EAAK90G,KAEtBm1G,EAAGpgE,YAAYqgE,GACfD,EAAGpgE,YAAYugE,GAERH,CACT,EAEMH,GAAsB,SAACl0G,GAC3B,IAAM+zG,EAAU/zG,EAAEyB,OAAOoa,GACnB44F,EAAuBL,GAA2BjB,GAAeY,GAEvEW,GAAiCD,EAAsBz0G,GACvD20G,GAAwBF,EAAsBz0G,EAChD,EAcM20G,GAA0B,SAAClB,EAAOzzG,GACtC,IAAM40G,EAAK,IAAIC,aACfpB,EAAMnuG,KAAI,SAAC0uG,GAAI,OAAKY,EAAGE,MAAMtkG,IAAIwjG,EAAKA,KAAK,IAC3Ch0G,EAAEyB,OAAOgyG,MAAQmB,EAAGnB,KACtB,EAEMiB,GAAmC,SAACjB,EAAOzzG,GAC/C,IAAM+zG,EAAU/zG,EAAEyB,OAAOoa,GACnBnP,EAAS1M,EAAEyB,OAAOmoE,QAAQ,iBAC1BgqC,EAAgBlnG,aAAM,EAANA,EAAQygC,cAAc,kBAExCymE,IACFA,EAAchwE,UAAY,GAE1B6vE,EAAMnuG,KAAI,SAACmE,GACT,GAAIA,EAAKoS,KAAOk4F,EAAS,CACvB,IAAMgB,EAAWZ,GAAuB1qG,EAAKuqG,MAC7CJ,EAAc3/D,YAAY8gE,GAC1BC,GAA6BD,EAAU/0G,EACzC,CACF,IAEJ,EAEMg1G,GAA+B,SAACvrG,EAAMzJ,GAC1C,IAAMohD,EAAS33C,EAAK0jC,cAAc,wBAClCiU,SAAAA,EAAQ/J,iBAAiB,SAAS,SAAC/2C,GAtClB,IAAC20G,EAAiBC,EAC7Br5F,EACA43F,EAFYwB,EAuCQ30G,EAAIqgD,cAAc8oB,QAAQ0rC,SAtC9Ct5F,GAD6Bq5F,EAwCLl1G,GAvCRyB,OAAOoa,GACvB43F,EAAQhtG,MAAM0uB,KAAKg+E,IAAe9hG,QAAO,SAAC5H,GAC9C,GAAIA,EAAKoS,KAAOA,GAAOo5F,IAAoBxrG,EAAKuqG,KAAK90G,MAAQuK,EAAKoS,KAAOA,EACvE,OAAOpS,CAEX,IAEA0pG,GAAgBM,EAChBS,GAAoBgB,EAgCpB,GACF,EC5Je,SAAS,GAAC94C,GAEvB,QAASA,EAAM98B,MADD,oBAEhB,CCGA,MHJA,GGIA,CACEpgC,KAAM,iBACNm8B,WAAY,CAAC,EACb73B,MAAO,CACL0nE,OAAQ,CACNjpE,KAAME,OACNimE,UAAU,GAEZgtC,aAAc,CACZnzG,KAAME,OACNimE,UAAU,GAEZitC,WAAY,CACVpzG,KAAMqC,OACN8jE,UAAU,GAEZktC,WAAY,CACVrzG,KAAMqC,OACN8jE,UAAU,GAEZ7lE,MAAO,CACLN,KAAME,OACNimE,UAAU,GAEZgW,YAAa,CACXn8E,KAAME,OACNimE,UAAU,GAEZiE,QAAS,CACPpqE,KAAME,OACNimE,UAAU,GAEZmtC,cAAe,CACbtzG,KAAMqC,OACN8jE,UAAU,IAGd,KAAA76C,CAAM/pB,GACJ,MAAMo3E,EAASzjE,GAAI3T,EAAM8xG,YACnBE,EAAyBr+F,GAAI,IAE7Bs+F,EAAoBt+F,GAAI,MACxBu+F,EAAUv+F,GAAI,MAEdw+F,EAAiBx+F,GAAI,IACrBy+F,EAAgBz+F,GAAI,IACpB0+F,EAAe1+F,GAAI,IACnB2+F,EAAkB3+F,GAAI,IACtB4+F,EAAY5+F,GAAI,IAChB6+F,EAAa7+F,GAAI,IACjB8+F,EAAa9+F,GAAI,IAEjB++F,EAAmB/+F,GAAI,MACvBg/F,EAAkBh/F,GAAI,MACtBi/F,EAAiBj/F,GAAI,MACrBk/F,EAAoBl/F,GAAI,MACxBm/F,EAAcn/F,GAAI,MAClBo/F,EAAep/F,GAAI,MACnBq/F,EAAer/F,GAAI,MACnBs/F,EAAgBt/F,GAAI,MACpBu/F,EAAgBv/F,GAAI,MAEpBw/F,EAAmBx/F,GAAI,MACvBy/F,EAA0Bz/F,GAAI,MAE9B0/F,EAAsB1/F,GAAI,MAC1B2/F,EAAsB3/F,GAAI,MAE1B4/F,EAAU5/F,IAAI,GAEd6/F,EAAa7/F,GAAI,CACrBq9E,WAAW,EACXO,UAAU,EACVmd,SAAS,EACT+E,YAAY,EACZC,MAAM,EACNhnB,OAAO,EACPinB,OAAO,EACPC,QAAQ,EACRC,IAAI,EACJC,sBAAsB,EACtBC,mBAAmB,EACnBC,sBAAsB,EACtBC,2BAA2B,EAC3BC,UAAU,IAGNC,EAAcxgG,GAAI,MAClBygG,EAAuBzgG,GAAI,MAC3B0gG,EAAiB1gG,GAAI,MAErB2gG,EAAkB3gG,GAAI,MAEtBq+E,EAAoBr+E,GAAI,MACxB4gG,EAAsB5gG,GAAI,MAC1B6gG,EAAwB7gG,GAAI,MAC5B8gG,EAA+B9gG,GAAI,MAGnC+gG,EAAoB,OAEpBC,EAAqB,IACrBC,EAAgC,KAChCC,EAAkBlhG,IAAI,GACtBmhG,EAAgBnhG,IAAI,GAE1Bmc,IAAU,KACHglF,EAAcnzG,QACjBqwF,EAAkBrwF,MAAM0+B,YACD,KAArBmyE,EAAW7wG,MACPy1E,EAAOz1E,MAAMozG,uBACb39B,EAAOz1E,MAAMqzG,kCAEnBxB,EAAW7xG,MAAMqvF,UAAqC,KAAzBmhB,EAAexwG,MAC5C6xG,EAAW7xG,MAAM4vF,SAAmC,KAAxB6gB,EAAczwG,MAC1C6xG,EAAW7xG,MAAM+sG,QAAiC,KAAvB2D,EAAa1wG,MACxC6xG,EAAW7xG,MAAM8xG,WAAuC,KAA1BnB,EAAgB3wG,MAC9C6xG,EAAW7xG,MAAM+xG,KAA2B,KAApBnB,EAAU5wG,MAClC6xG,EAAW7xG,MAAM+qF,MAAQ2J,GAAemc,EAAW7wG,OAEnD6xG,EAAW7xG,MAAMgyG,MAAQsB,GAAexC,EAAW9wG,OAE/CkzG,EAAgBlzG,OAClBuzG,IAEJ,IAGF,MAAMA,EAAqB,KACzBxC,EAAiB/wG,MAAMoxC,UAAUoiE,OAAO,mBAAoB3B,EAAW7xG,MAAMqvF,WAC7E2hB,EAAgBhxG,MAAMoxC,UAAUoiE,OAAO,mBAAoB3B,EAAW7xG,MAAM4vF,UAC5EqhB,EAAejxG,MAAMoxC,UAAUoiE,OAAO,mBAAoB3B,EAAW7xG,MAAM+sG,SAC3EmE,EAAkBlxG,MAAMoxC,UAAUoiE,OAAO,mBAAoB3B,EAAW7xG,MAAM8xG,YAC9EX,EAAYnxG,MAAMoxC,UAAUoiE,OAAO,mBAAoB3B,EAAW7xG,MAAM+xG,MACxEX,EAAapxG,MAAMoxC,UAAUoiE,OAAO,mBAAoB3B,EAAW7xG,MAAM+qF,OACzEsmB,EAAarxG,MAAMoxC,UAAUoiE,OAAO,mBAAoB3B,EAAW7xG,MAAMgyG,OACzEV,EAActxG,MAAMoxC,UAAUoiE,OAAO,mBAAoB3B,EAAW7xG,MAAMiyG,QAC1EV,EAAcvxG,MAAMoxC,UAAUoiE,OAAO,mBAAoB3B,EAAW7xG,MAAMkyG,IAE1EuB,GAAc,EAsEVC,EAAaC,IACCA,EAAQ,KAAO,MAChB15B,QAAQ,GA2GrBw5B,EAAgB,KACpB,MAAMG,EAAUtyG,MAAM0uB,KAAKwiF,EAAYxyG,MAAMsuG,OACvCuF,EAAmBvyG,MAAM0uB,KAAKyiF,EAAqBzyG,MAAMsuG,OACzDwF,EAAYxyG,MAAM0uB,KAAK0iF,EAAe1yG,MAAMsuG,OAE5CyF,EAAwB,CAC5B,CAAEzF,MAAOsF,EAASI,oBAAqBpB,EAAqBqB,eAAgB1C,GAC5E,CAAEjD,MAAOuF,EAAkBG,oBAAqBlB,EAA8BmB,eAAgBxC,GAC9F,CAAEnD,MAAOwF,EAAWE,oBAAqBnB,EAAuBoB,eAAgBzC,IAIlFK,EAAW7xG,MAAMmyG,qBAxDsB,CAAC4B,IAExC,IAAIG,EAAiB,EACrBH,EAAsBjvG,SAAQqvG,IAE5BD,GAAkBC,EAAU7F,MAAMznG,QAChC,CAACutG,EAAaC,IAAiBD,EAAcC,EAAa1tG,MALzC,EAOnB,IAGF,MAAM2tG,EAAgBJ,EAAiBjB,EAEjC/xB,EAAe,GAAGzL,EAAO8+B,yBAC7B,mGAC8Bb,EAAUT,SAS1C,OAPAc,EAAsBjvG,SAAQqvG,IACzBA,EAAU7F,MAAM9tG,OAAS,IAC1B2zG,EAAUH,oBAAoBh0G,MAAM0+B,YAAcwiD,EAClDizB,EAAUF,eAAej0G,MAAMoxC,UAAUoiE,OAAO,mBAAoBc,GACtE,IAGKA,GAgCiCE,CAAiCT,GAGzElC,EAAW7xG,MAAMuyG,SAhGM,CAACwB,IAOxB,IAAIU,GAAiB,EAuBrB,OArBAV,EAAsBjvG,SAAQqvG,IAC5B,MAAMO,EAAmB,IAAI7rG,IAE7B,GAA6B,GAA1BsrG,EAAU7F,MAAM9tG,OAEjB,OADA2zG,EAAUF,eAAej0G,MAAMoxC,UAAUnwC,OAAO,oBACzC,EAGTkzG,EAAU7F,MAAMxpG,SAAQ+pG,IACtB,IAjBoB,CAACA,IACvB,IAAKA,GAAuC,IAA/BA,EAAK/xG,KAAKmF,WAAW+C,OAAc,OAAO,EACvD,MAAM2vG,EAAW9F,EAAK/xG,KACtB,MA7IsB,kBA6IG2Z,SAASk+F,EAAS,EAcpCC,CAAgB/F,GAAO,CAC1BgD,EAAW7xG,MAAMuyG,UAAW,EAC5BkC,GAAiB,EACjBC,EAAiBrpG,IAAIwjG,EAAK90G,KAAKuG,MAAM,KAAK8H,OAE1C,MAAMysG,EAAgBH,EAAiB/tG,KAAO,EAC9CwtG,EAAUH,oBAAoBh0G,MAAM0+B,YAAc,GAAGm2E,EAAgB,aAAe,eAAevzG,MAAM0uB,KAAK0kF,GAAkBz3D,KAAK,iDAAiD81D,EAAkB9wG,eACxMkyG,EAAUF,eAAej0G,MAAMoxC,UAAU/lC,IAAI,kBAC/C,IACA,KAGAopG,CAIG,EA8DqBK,CAAiBf,GAG7ClC,EAAW7xG,MAAMsyG,0BAnCuB,CAACyB,IACzC,IAAIgB,EAAkB,EAMtB,OAJAhB,EAAsBjvG,SAAQqvG,IAC5BY,GAAmBZ,EAAU7F,MAAM9tG,MAAM,IAGxCu0G,EAlNiB,GAmNlBrD,EAAoB1xG,MAAM0+B,YAAc,oGACxCizE,EAAoB3xG,MAAMoxC,UAAU/lC,IAAI,oBACjC,IAGTsmG,EAAoB3xG,MAAMoxC,UAAUnwC,OAAO,oBACpC,IAqBsC+zG,CAAkCjB,EAAqB,EAwDtG,MAAO,CACLt+B,SACA66B,oBACAC,UACAC,iBACAC,gBACAC,eACAC,kBACAC,YACAC,aACAC,aACAC,mBACAC,kBACAC,iBACAC,oBACAC,cACAC,eACAC,eACAC,gBACAC,gBACAC,mBACAC,0BACAC,sBACAC,sBACAgB,kBACAD,iBACAF,cACAC,uBACApiB,oBACAuiB,sBACAC,wBACAC,+BACAC,oBACA1C,yBACA8C,gBACAvB,UACA3D,gBAAe,GACfgH,0BA/QiCp6G,IACjCwzG,GAAaxzG,GAEbyG,MAAM0uB,KAAKn1B,EAAE2gD,cAAc8yD,OAAOxpG,SAAS+pG,IACrCA,EAAKloG,KAAOqsG,IACdH,EAAsB7yG,MAAM0+B,YAAc,GACxC+2C,EAAOy/B,6BAA+B,8CACdxB,EAAUV,SACpCxB,EAAiBxxG,MAAMoxC,UAAU/lC,IAAI,mBACrCwmG,EAAW7xG,MAAMoyG,mBAAoB,GAEvCP,EAAW7xG,MAAMoyG,kBAAoBvD,EAAKloG,KAAOqsG,KAG/Cn4G,EAAE2gD,cAAc8yD,MAAM9tG,OA1EN,IA2ElBqxG,EAAW7xG,MAAMqyG,sBAAuB,GAGtCa,EAAgBlzG,OAClBuzG,IAGFE,GAAc,EA0Pd0B,uBAvP8Bt6G,IAC9BwzG,GAAaxzG,GACb,MAAM,MAAEyzG,GAAUzzG,EAAE2gD,cAEpB,GAAoB,GAAhB8yD,EAAM9tG,OAER,YADAizG,IAIF,MAAM5E,EAAOP,EAAM,GAInB,GA/CmB,MACnB,MAAM8G,EACJ5C,EAAYxyG,MAAMsuG,MAAM9tG,OAAS,GAAKgyG,EAAYxyG,MAAMsuG,MAAM,IAAI3nG,KAAOqsG,EAC3EnB,EAAW7xG,MAAMkyG,GAAKkD,EAClBlC,EAAgBlzG,OAClBuzG,GACF,EAuCA8B,GAEIxG,EAAKloG,KAAOqsG,EAAoB,CAClC,MAAMnkE,EAAUh0C,EAAE2gD,cAAcipB,QAAQ,iBACN51B,EAAQ7G,cAAc,4BAC9BtJ,YAAc,GACtC+2C,EAAOy/B,6BAA+B,8CACdxB,EAAUV,SACpCnkE,GAASuC,UAAU/lC,IAAI,kBACzB,CACAwmG,EAAW7xG,MAAMoyG,kBAAoBvD,EAAKloG,KAAOqsG,EAEjDS,GAAc,EAiOd6B,2BArEiClvB,MAAOvrF,IAIxC,GAHAq4G,EAAgBlzG,OAAQ,EACxBuzG,IAzBkB,MAClB,IAAIh5G,GAAW,EAmBf,OAjBGs3G,EAAW7xG,MAAMqvF,WACjBwiB,EAAW7xG,MAAM4vF,UACjBiiB,EAAW7xG,MAAM+sG,SACjB8E,EAAW7xG,MAAM8xG,YACjBD,EAAW7xG,MAAM+xG,MACjBF,EAAW7xG,MAAM+qF,OACjB8mB,EAAW7xG,MAAMgyG,OACjBH,EAAW7xG,MAAMiyG,QACjBJ,EAAW7xG,MAAMkyG,IACjBL,EAAW7xG,MAAMmyG,sBACjBN,EAAW7xG,MAAMqyG,sBACjBR,EAAW7xG,MAAMsyG,4BAClBT,EAAW7xG,MAAMoyG,mBAChBP,EAAW7xG,MAAMuyG,WAElBh4G,GAAW,GAENA,GAOHg7G,GAAe,CACjB3D,EAAQ5xG,OAAQ,EAChB,MAAMzF,OCtXsB6rF,OAAOovB,EAAMC,EAAO1vC,KACtD,MAAM2vC,EAAW,IAAIC,SACfvyD,EAAWoyD,EAAKpyD,SAEhBwyD,EAAiBt0G,MAAM0uB,KAAKozB,EAAS6uD,QAAQnnD,MAAMmnD,IAA8B,IAAnBA,EAAOj4D,UA+B3E,OA7BA07D,EAASG,OAAO,YAAazyD,EAAS4rC,UAAUhvF,OAChD01G,EAASG,OAAO,WAAYzyD,EAAS6nC,SAASjrF,OAC9C01G,EAASG,OAAO,UAAWzyD,EAAS2pD,QAAQ/sG,OAC5C01G,EAASG,OAAO,UAAWzyD,EAAS0yD,WAAW91G,OAC/C01G,EAASG,OAAO,OAAQzyD,EAAS2uD,KAAK/xG,OACtC01G,EAASG,OAAO,QAASzyD,EAAS2nC,MAAM/qF,OACxC01G,EAASG,OAAO,QAASzyD,EAAS4uD,MAAMhyG,OACxC01G,EAASG,OAAO,eAAgBJ,GAChCC,EAASG,OAAO,SAAUD,EAAe51G,OAErCojD,EAAS2yD,OAAOzH,MAAM9tG,OAAS,GACjCc,MAAM0uB,KAAKozB,EAAS2yD,OAAOzH,OAAOxpG,SAAS+pG,IACzC6G,EAASG,OAAO,UAAWhH,EAAI,IAI/BzrD,EAAS4yD,gBAAgB1H,MAAM9tG,OAAS,GAC1Cc,MAAM0uB,KAAKozB,EAAS4yD,gBAAgB1H,OAAOxpG,SAAS+pG,IAClD6G,EAASG,OAAO,mBAAoBhH,EAAI,IAIxCzrD,EAAS6yD,UAAU3H,MAAM9tG,OAAS,GACpCc,MAAM0uB,KAAKozB,EAAS6yD,UAAU3H,OAAOxpG,SAAS+pG,IAC5C6G,EAASG,OAAO,YAAahH,EAAI,UAQvCzoB,eAAwBtsF,EAAKkiB,GAE3B,aAAaqrD,MAAMvtE,EAAK,CACtBsV,OAAQ,OACR/R,KAAM2e,IAELla,MAAMuC,IACL,GAAIA,EAAIwmF,GACN,OAAOxmF,EAAIijE,OAET,MAAM,IAAIv7C,MAAM,uCACpB,IAEDjqB,MAAMwlE,GACEA,IAERvlE,OAAO6S,IACNna,QAAQC,MAAMka,GACPA,IAEb,CAxByBshG,CAASnwC,EAAQ2vC,EACjCn7G,EDmVsB47G,CACrBt7G,EAAE2gD,cACFn9C,EAAM4xG,aACN5xG,EAAM0nE,QAKRvpE,YAAW,KACTo1G,EAAQ5xG,OAAQ,EACS,YAArBzF,GAAUO,QACZq4G,EAAcnzG,OAAQ,EACtBxD,YAAW,KACThD,OAAOgrF,SAAS,EAAE,EAAC,GAClB,OAEH2uB,EAAcnzG,OAAQ,EACtBqwG,EAAuBrwG,MACrBzF,GAAU67G,SAAW,uCACzB,GACC,IACL,GA2CAC,cAlSoB,KACpBxE,EAAW7xG,MAAMiyG,QAAS,EACtBiB,EAAgBlzG,OAClBuzG,GACF,EA+RA+C,YA3NmBz7G,IACnB,MAAMmmB,EAAWnmB,EAAE2gD,cAAcx6B,SAC3Bu1F,EAAe17G,EAAE2gD,cAAcipB,QAAQ,qBACvC51B,EAAUh0C,EAAE2gD,cAAcipB,QAAQ,iBAEhB,IAApBzjD,EAASxgB,QACXquC,EAAQuC,UAAUnwC,OAAO,mBAGH,IAApB+f,EAASxgB,QAAgB+1G,IAC3B1E,EAAW7xG,MAAMkyG,IAAK,EACtBU,EAAoB5yG,MAAM0+B,YAAc+2C,EAAOz1E,MAAMw2G,oBACrD3nE,EAAQuC,UAAUnwC,OAAO,mBAErBiyG,EAAgBlzG,OAClBuzG,KAIJE,GAAc,EA0MlB,GElbF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,uDLCzC,EAAO,cACrB,GAIM,MAJN,GAIM,mBAGQ,EAAa,oBAC3B,GAoBM,MApBN,GAoBM,CAnBJ,GAAoE,SAApE,GAAoE,GAAnB,EAAAvsC,SAAO,GACxD,GAEK,KAFL,GAEK,GADA,EAAAkpC,cAAchzG,OAAK,GAExB,GAEM,MAFN,GAEM,CADJ,GAAsC,YAAhC,EAAAgzG,cAAcn3B,aAAW,KAEjC,GAWI,KAVD98E,KAAM,EAAAi0G,cAAcl3B,KAAKp/E,IAC1BqL,MAAM,8FACH,EAAAirG,cAAcl3B,KAAK/uC,MAAO,IAC7B,sBAWN,GAyYW,YAxYT,GAMM,MANN,GAMM,CALJ,GAAoE,SAApE,GAAoE,GAAnB,EAAA+8B,SAAO,GACxD,GAAwD,KAAxD,GAAwD,GAAb,EAAA9pE,OAAK,GAChD,GAEM,MAFN,GAEM,CADJ,GAAwB,YAAlB,EAAA67E,aAAW,OAIrB,GA+XM,MA/XN,GA+XM,CA9XJ,GA6XM,MA7XN,GA6XM,CA5XJ,GA2XU,UA3XV,GA2XU,CA1XR,GAyXO,QAxXL9zE,MAAM,qCACD,SAAM,0BAAU,EAAAmwG,4BAAA,EAAAA,8BAAA,IAA0B,cAC/CtjG,IAAI,YACJ,GA+VM,MA/VN,GA+VM,CA9VJ,GAgEM,MAhEN,GAgEM,CA/DJ,GA8BM,MA9BN,GA8BM,CA7BJ,GAwBM,MAxBN,GAwBM,IAvBJ,GAS8C,SAR5C7M,MAAM,2BACNrI,KAAK,aACLo/E,UAAU,QACVN,aAAa,aACbllE,GAAG,YACH3c,KAAK,YACL,gBAAc,4CACL,EAAc,kBACtBkpB,YAAa,EAAAwyD,OAAOghC,qCADZ,EAAAjG,kBAEX,GAEU,QAFV,GAEU,GADR,EAAA/6B,OAAOghC,qBAAmB,GAE5B,GAMS,UALF,QAAK,oBAAE,EAAAxI,iBAAA,EAAAA,mBAAA,IACZnxG,KAAK,SACLqI,MAAM,mDACN,aAAW,yBAGb,KAIF,GACA,GAES,OAFT,GAES,GADP,EAAAswE,OAAOihC,4BAA0B,SAIrC,GA8BM,MA9BN,GA8BM,CA7BJ,GAwBM,MAxBN,GAwBM,IAvBJ,GAS6C,SAR3CvxG,MAAM,2BACNrI,KAAK,OACLo/E,UAAU,QACVN,aAAa,cACbllE,GAAG,WACH3c,KAAK,WACL,gBAAc,4CACL,EAAa,iBACrBkpB,YAAa,EAAAwyD,OAAOkhC,oCADZ,EAAAlG,iBAEX,GAEU,QAFV,GAEU,GADR,EAAAh7B,OAAOkhC,oBAAkB,GAE3B,GAMS,UALF,QAAK,oBAAE,EAAA1I,iBAAA,EAAAA,mBAAA,IACZnxG,KAAK,SACLqI,MAAM,mDACN,aAAW,yBAGb,KAIF,GACA,GAES,OAFT,GAES,GADP,EAAAswE,OAAOmhC,2BAAyB,WAKtC,GA2BM,MA3BN,GA2BM,CA1BJ,GAuBM,MAvBN,GAuBM,IAtBJ,GAQ4C,SAP1CzxG,MAAM,2BACNrI,KAAK,OACL4Z,GAAG,UACH3c,KAAK,UACL6hF,aAAa,iBACb,gBAAc,4CACL,EAAY,gBACpB34D,YAAa,EAAAwyD,OAAOohC,mCADZ,EAAAnG,gBAEX,GAEU,QAFV,GAEU,GADR,EAAAj7B,OAAOohC,mBAAiB,GAE1B,GAMS,UALF,QAAK,oBAAE,EAAA5I,iBAAA,EAAAA,mBAAA,IACZnxG,KAAK,SACLqI,MAAM,mDACN,aAAW,yBAGb,KAIF,GACA,GAAkF,OAAlF,GAAkF,GAAzC,EAAAswE,OAAOqhC,0BAAwB,SAG1E,GA4DM,MA5DN,GA4DM,CA3DJ,GA4BM,MA5BN,GA4BM,CA3BJ,GAwBM,MAxBN,GAwBM,IAvBJ,GAS4C,SAR1C3xG,MAAM,2BACNrI,KAAK,SACLo/E,UAAU,IACVN,aAAa,cACbllE,GAAG,aACH3c,KAAK,aACL,gBAAc,4CACL,EAAe,mBACvBkpB,YAAa,EAAAwyD,OAAOshC,mCADZ,EAAApG,mBAEX,GAEU,QAFV,GAEU,GADR,EAAAl7B,OAAOshC,mBAAiB,GAE1B,GAMS,UALF,QAAK,oBAAE,EAAA9I,iBAAA,EAAAA,mBAAA,IACZnxG,KAAK,SACLqI,MAAM,mDACN,aAAW,yBAGb,KAIF,GACA,GAAkF,OAAlF,GAAkF,GAAzC,EAAAswE,OAAOuhC,0BAAwB,SAG1E,GA4BM,MA5BN,GA4BM,CA3BJ,GAwBM,MAxBN,GAwBM,IAvBJ,GASyC,SARvC7xG,MAAM,2BACNrI,KAAK,OACLo/E,UAAU,QACVN,aAAa,MACbllE,GAAG,OACH3c,KAAK,OACL,gBAAc,4CACL,EAAS,aACjBkpB,YAAa,EAAAwyD,OAAOwhC,gCADZ,EAAArG,aAEX,GAEU,QAFV,GAEU,GADR,EAAAn7B,OAAOwhC,gBAAc,GAEvB,GAMS,UALF,QAAK,oBAAE,EAAAhJ,iBAAA,EAAAA,mBAAA,IACZnxG,KAAK,SACLqI,MAAM,mDACN,aAAW,yBAGb,KAIF,GACA,GAA+E,OAA/E,GAA+E,GAAtC,EAAAswE,OAAOyhC,uBAAqB,WAIzE,GAgEM,MAhEN,GAgEM,CA/DJ,GA8BM,MA9BN,GA8BM,CA7BJ,GAwBM,MAxBN,GAwBM,IAvBJ,GAS0C,SARxC/xG,MAAM,2BACNrI,KAAK,QACLo/E,UAAU,QACVN,aAAa,QACbllE,GAAG,QACH3c,KAAK,QACL,gBAAc,8CACL,EAAU,cAClBkpB,YAAa,EAAAwyD,OAAO0hC,iCADZ,EAAAtG,cAEX,GAEU,QAFV,GAEU,GADR,EAAAp7B,OAAO0hC,iBAAe,GAExB,GAMS,UALF,QAAK,sBAAE,EAAAlJ,iBAAA,EAAAA,mBAAA,IACZnxG,KAAK,SACLqI,MAAM,mDACN,aAAW,yBAGb,KAIF,GACA,GAES,QAFHA,MAAM,0BAA0B6M,IAAI,wBACxC,EAAAyjE,OAAO29B,wBAAsB,WAIjC,GA8BM,MA9BN,GA8BM,CA7BJ,GAwBM,MAxBN,GAwBM,IAvBJ,GAS8C,SAR5CjuG,MAAM,2BACNrI,KAAK,MACLo/E,UAAU,KACVN,aAAa,MACbllE,GAAG,QACH3c,KAAK,QACL,gBAAc,8CACL,EAAU,cAClBkpB,YAAa,EAAAwyD,OAAO2hC,qCADZ,EAAAtG,cAEX,GAEU,QAFV,GAEU,GADR,EAAAr7B,OAAO2hC,qBAAmB,GAE5B,GAMS,UALF,QAAK,sBAAE,EAAAnJ,iBAAA,EAAAA,mBAAA,IACZnxG,KAAK,SACLqI,MAAM,mDACN,aAAW,yBAGb,KAIF,GACA,GAES,OAFT,GAES,GADP,EAAAswE,OAAO4hC,4BAA0B,WAKvC,GA6BM,OA5BJlyG,MAAM,0EACN6M,IAAI,gBACC,SAAM,sBAAE,EAAAqkG,eAAA,EAAAA,iBAAA,MACb,GAAuE,MAAvE,GAAuE,GAAhC,EAAA5gC,OAAO6hC,kBAAgB,GAC9D,GAoBM,MApBN,GAoBM,SAnBJ,GAkBW,WAlBuB,EAAApH,YAAU,CAA1B5rG,EAAMkD,UACtB,GAgBM,WAjB4CA,EAC7CrC,MAAM,0DACT,GAWM,MAXN,GAWM,CAVJ,GAKkB,SAJhBA,MAAM,gDACLuR,GAAIpS,EAAKq7C,KACV7iD,KAAK,QACJkD,MAAOsE,EAAKq7C,KACb5lD,KAAK,qBACP,KAKF,GAEU,SAFHoL,MAAM,wCAAyC6Y,IAAK1Z,EAAKq7C,SAC9Dr7C,EAAKvK,MAAI,mBAMjB,GACA,GAAiF,OAAjF,GAAiF,GAAxC,EAAA07E,OAAO8hC,yBAAuB,SAGzE,GAGM,MAHN,GAGM,CAFJ,GACA,GAAmE,MAAnE,GAAmE,GAA/B,EAAA9hC,OAAO+hC,iBAAe,KAG5D,GAuFM,MAvFN,GAuFM,CAtFJ,GA8BM,MA9BN,GA8BM,CA7BJ,GAqBQ,QArBR,GAqBQ,CApBN,GAOyC,SANvCryG,MAAM,wBACNpL,KAAK,SACL2c,GAAG,SACH5Z,KAAK,OACLkV,IAAI,cACHylG,OAAQ,EAAA1E,kBACJ,SAAM,sBAAE,EAAAoC,wBAAA,EAAAA,0BAAA,iBACf,GAWA,GAAkE,MAAlE,GAAkE,GAA5B,EAAA1/B,OAAOiiC,cAAY,KAE3D,GAG6B,MAF3BvyG,MAAM,gCACD,QAAK,sBAAE,EAAAmxG,aAAA,EAAAA,eAAA,IACZtkG,IAAI,6BACN,GAES,QAFH7M,MAAM,0BAA0B6M,IAAI,0BACxC,EAAAyjE,OAAO+gC,qBAAmB,WAI9B,GAyBM,MAzBN,GAyBM,CAxBJ,GAqBQ,QArBR,GAqBQ,CApBN,GAOyC,SANvCrxG,MAAM,wBACNpL,KAAK,kBACL2c,GAAG,kBACH5Z,KAAK,OACLkV,IAAI,uBACHylG,OAAQ,EAAA1E,kBACJ,SAAM,sBAAE,EAAAoC,wBAAA,EAAAA,0BAAA,iBACf,GAWA,GAA2E,MAA3E,GAA2E,GAArC,EAAA1/B,OAAOkiC,uBAAqB,KAEpE,GAAwE,MAApExyG,MAAM,gCAAqC,QAAK,sBAAE,EAAAmxG,aAAA,EAAAA,eAAA,MACtD,GAAgF,OAAhF,GAAgF,gBAGlF,GA0BM,MA1BN,GA0BM,CAzBJ,GAsBQ,QAtBR,GAsBQ,CArBN,GAQ4C,SAP1CnxG,MAAM,wBACNpL,KAAK,YACL2c,GAAG,YACH5Z,KAAK,OACLyxC,SAAA,GACAv8B,IAAI,iBACHylG,OAAQ,EAAA1E,kBACJ,SAAM,sBAAE,EAAAkC,2BAAA,EAAAA,6BAAA,iBACf,GAWA,GAAuE,MAAvE,GAAuE,GAAjC,EAAAx/B,OAAOmiC,mBAAiB,KAEhE,GAAwE,MAApEzyG,MAAM,gCAAqC,QAAK,sBAAE,EAAAmxG,aAAA,EAAAA,eAAA,MACtD,GAAyE,OAAzE,GAAyE,kBAG7E,GAEM,MAFN,GAEM,CADJ,GAAqE,MAArE,GAAqE,kBAIzE,GAYS,UAXPx5G,KAAK,SACJuqC,SAAU,EAAAuqE,QACXzsG,MAAM,4GACH,EAAAswE,OAAOoiC,2BAA4B,IACtC,aAUiC,KAA3B,EAAAxH,6BADR,GAKM,MALN,GAKM,CAFJ,GAAyC,eAAhC,EAAAA,wBAAsB,GAC/B,mDMvad,IACIt2G,KAAM,gBACNsE,MAAO,CACHy5G,UAAW,CACPh7G,KAAME,OACNimE,UAAU,IAGlB,KAAA76C,CAAM/pB,GAEF,MAAM05G,EAAc/lG,GAAI,IAMxB,MAAO,CACHgmG,iBALqB,KACrBx+G,OAAO6C,SAASF,KAAOkC,EAAMy5G,UAAY,MAAMC,EAAY/3G,OAAK,EAKhE+3G,cAER,WChBS5yG,MAAM,0BACNA,MAAM,kCAKH49D,GAEM,OAFD+B,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5EvG,GAA8G,QAAxGv9C,KAAK,UAAUxmB,EAAE,gGAI/B+jE,GAQS,UARD59D,MAAM,mCAAmCigE,SAAS,OACtDrC,GAMM,OAND+B,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5EvG,GAI0B,QAHtBv9C,KAAK,UACL,YAAU,UACVxmB,EAAE,gLACF,YAAU,yCA6BlB+jE,GAAiD,QAA3C59D,MAAM,+BAA6B,oBAKxCA,MAAM,wEACFA,MAAM,8FACHA,MAAM,kDAEEA,MAAM,mEAYF49D,GAMM,OAND59D,MAAM,oBAAkB,CACzB49D,GAIM,OAJD+B,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5EvG,GAE2F,QADvFv9C,KAAK,UACLxmB,EAAE,sGAYjCmG,MAAM,mCACFA,MAAM,4CACHA,MAAM,mDAINA,MAAM,kDAEEA,MAAM,4EAaF49D,GAMM,OAND59D,MAAM,oBAAkB,CACzB49D,GAIM,OAJD+B,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5EvG,GAE2F,QADvFv9C,KAAK,UACLxmB,EAAE,gGAS7BmG,MAAM,0CACEA,MAAM,gDACPA,MAAM,wEAKLA,MAAM,oEAWEA,MAAM,mEAIX49D,GASM,OARF59D,MAAM,iHAA+G,CACrH49D,GAMM,OAND59D,MAAM,oBAAkB,CACzB49D,GAIM,OAJD+B,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5EvG,GAE2F,QADvFv9C,KAAK,UACLxmB,EAAE,kGAS1BmG,MAAM,6JAWEA,MAAM,kEAGV49D,GASM,OARF59D,MAAM,+GAA6G,CACnH49D,GAMM,OAND59D,MAAM,oBAAkB,CACzB49D,GAIM,OAJD+B,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5EvG,GAE2F,QADvFv9C,KAAK,UACLxmB,EAAE,m1BCnLvC,IAAMi5G,GAAqB,SAACC,GAC/B,IACMvI,EADOv0G,SAAS4sC,cAAc,iBACjBqP,iBAAiB,IAADp6B,OAAKi7F,IAExC,OADsB52G,MAAM0uB,KAAK2/E,GAAOzjG,QAAO,SAAC5H,GAAI,OAAKA,EAAK0gF,iBAAiB,GAEnF,EAGMmzB,GAAiB,SAAjBA,EAAkB3wG,EAAOnH,EAAM+3G,GAC7BA,EACI/3G,EAAKG,OAAS,EAAIgH,GAClBnH,EAAKmH,EAAQ,GAAGy8D,QACZ5jE,EAAKmH,EAAQ,KAAOpM,SAASs+C,eAC7By+D,EAAe3wG,EAAQ,EAAGnH,GAAM,KAGpCA,EAAK,GAAG4jE,QACJ5jE,EAAK,KAAOjF,SAASs+C,eACrBy+D,EAAe,EAAG93G,GAAM,IAI5BmH,EAAQ,GACRnH,EAAKmH,EAAQ,GAAGy8D,QACZ5jE,EAAKmH,EAAQ,KAAOpM,SAASs+C,eAC7By+D,EAAe3wG,EAAQ,EAAGnH,GAAM,IAGpC83G,EAAe93G,EAAKG,OAAQH,GAAM,EAG9C,EAEag4G,GAAqB,SAACC,EAAYj4G,EAAM2O,GACjD,GAAoB,IAAhB3O,EAAKG,OAAT,CACA,IAAIg3F,EAAe,EACnBn3F,EAAKyqD,MAAK,SAACxmD,EAAMkD,GACTlD,IAASg0G,IAAY9gB,EAAehwF,EAC5C,IAEIgwF,EAAe,EAAIn3F,EAAKG,OAAS,GACjCH,EAAK,GAAG4jE,QACJ5jE,EAAK,KAAOjF,SAASs+C,gBACjB1qC,EACAA,IAEAmpG,GAAe,EAAG93G,GAAM,MAIhCA,EAAKm3F,EAAe,GAAGvzB,QACnB5jE,EAAKm3F,EAAe,KAAOp8F,SAASs+C,eACpCy+D,GAAe3gB,EAAe,EAAGn3F,GAAM,GAlBlB,CAqBjC,EAEak4G,GAAqB,SAACD,EAAYj4G,EAAM2O,GACjD,GAAoB,IAAhB3O,EAAKG,OAAT,CACA,IAAIg3F,EAAe,EACnBn3F,EAAKyqD,MAAK,SAACxmD,EAAMkD,GACTlD,IAASg0G,IAAY9gB,EAAehwF,EAC5C,IAEqB,IAAjBgwF,GACAn3F,EAAKA,EAAKG,OAAS,GAAGyjE,QAClB5jE,EAAKA,EAAKG,OAAS,KAAOpF,SAASs+C,eACnCy+D,GAAe93G,EAAKG,OAAS,EAAGH,GAAM,KAG1CA,EAAKm3F,EAAe,GAAGvzB,QACnB5jE,EAAKm3F,EAAe,KAAOp8F,SAASs+C,gBAChC1qC,EACAA,IAEAmpG,GAAe3gB,EAAe,EAAGn3F,GAAM,IAjBtB,CAqBjC,EAGMm4G,GAAqB,SAACn4G,EAAMmH,EAAO4wG,GACjC/3G,EAAKmH,KAAWpM,SAASs+C,eACzBy+D,GAAe3wG,EAAOnH,EAAM+3G,EAEpC,EAGaK,GAAiB,SAAC59G,EAAGu9G,GAC9B,IAAMrrF,EAAUlyB,EAAEyB,OACZo8G,EAAQ3rF,EAAQu3C,QAAQo0C,MACxBC,EAAW5rF,EAAQ03C,QAAQ,MAC3Bm0C,EAAc7rF,EAAQ03C,QAAQ,MAEpC,GAAI2zC,GAAqB,SAAVM,EAAkB,CAC7B,IAAMG,EAAaD,EAAY5wE,cAAc,IAAD/qB,OAAK8P,EAAQqkB,UAAU,GAAE,yBACrEynE,SAAAA,EAAY50C,OAChB,MAAO,GAAKm0C,GAAqB,UAAVM,EAGhB,CACH,IAAMxJ,EAAKkJ,EAAUO,aAAQ,EAARA,EAAUG,mBAAqBH,aAAQ,EAARA,EAAUI,uBACxDC,EAAiB9J,aAAE,EAAFA,EAAIlnE,cAAc,KACzC,GAAIgxE,EACAA,SAAAA,EAAgB/0C,YACb,CACH,IAAMg1C,EAAmB/J,aAAE,EAAFA,EAAIlnE,cAAc,UAC3CixE,SAAAA,EAAkBh1C,OACtB,CACJ,KAZ0C,CACtC,IAAM40C,EAAaD,EAAY5wE,cAAc,IAAD/qB,OAAK8P,EAAQqkB,UAAU,GAAE,wBACrEynE,SAAAA,EAAY50C,OAChB,CAUJ,EAEai1C,GAA8B,SAACr+G,GACxC,IAAMs+G,EAAmB/9G,SAAS4sC,cAAc,uBAC1CoxE,EAAenB,GAAkB,wBACjCoB,EAAoB,CAACF,GAAgBl8F,OAAAq8F,GAAKF,IAgBhDb,GAAmB19G,EAAEyB,OAAQ+8G,GAfZ,WACb,IAAI7hB,EAAe,EACnB6hB,EAAkBvuD,MAAK,SAACxmD,EAAMkD,GACtBlD,IAASlJ,SAASs+C,gBAClB89C,EAAehwF,EAEvB,IAEA6xG,EAAkB7hB,EAAe,GAAGvzB,QAEhCo1C,EAAkB7hB,EAAe,KAAOp8F,SAASs+C,eACjDy+D,GAAe3gB,EAAe,EAAG6hB,GAAmB,EAE5D,GAGJ,EAEaE,GAAiC,SAAC1+G,GAC3C,IAAMs+G,EAAmB/9G,SAAS4sC,cAAc,uBAC1CoxE,EAAenB,GAAkB,wBACjCoB,EAAoB,CAACF,GAAgBl8F,OAAAq8F,GAAKF,IAQhDf,GAAmBx9G,EAAEyB,OAAQ+8G,GAPZ,WACbA,EAAkB,GAAGp1C,QACjBo1C,EAAkB,KAAOj+G,SAASs+C,eAClC2+D,GAAmBgB,EAAkB,GAAIpB,GAAkB,wBAEnE,GAGJ,EA6CauB,GAA0B,SAAC3+G,EAAGu9G,GACvC,IAAMe,EAAmB/9G,SAAS4sC,cAAc,uBAC1CoxE,EAAenB,GAAkB,+BACjCwB,EAA0B,CAACN,GAAgBl8F,OAAAq8F,GAAKF,IACtDK,EAAwB30G,SAAQ,SAACR,EAAMkD,GAC/BlD,IAASzJ,EAAEyB,SAEP87G,GAAWqB,EAAwBj5G,OAAS,EAAIgH,GAChDiyG,EAAwBjyG,EAAQ,GAAGy8D,QACnCu0C,GAAmBiB,EAAyBjyG,EAAQ,EAAG4wG,KAC/CA,GAAW5wG,EAAQ,GAC3BiyG,EAAwBjyG,EAAQ,GAAGy8D,QACnCu0C,GAAmBiB,EAAyBjyG,EAAQ,EAAG4wG,IAChDA,GACPqB,EAAwB,GAAGx1C,QAC3Bu0C,GAAmBiB,EAAyB,EAAGrB,KAE/CqB,EAAwBA,EAAwBj5G,OAAS,GAAGyjE,QAC5Du0C,GAAmBiB,EAAyBA,EAAwBj5G,OAAS,EAAG43G,IAG5F,GACJ,EClNA,MFHA,GEGA,CACIr+G,KAAM,gBACNsE,MAAO,CACHy5G,UAAW,CACPh7G,KAAME,OACNimE,UAAU,GAEdy2C,cAAe,CACX58G,KAAME,OACNimE,UAAU,GAEd02C,kBAAmB,CACf78G,KAAME,OACNimE,UAAU,GAEd22C,kBAAmB,CACf98G,KAAME,OACNimE,UAAU,EACV9hD,QAAS,OAEb04F,sBAAuB,CACnB/8G,KAAME,OACNimE,UAAU,GAEd62C,YAAa,CACTh9G,KAAME,OACNimE,UAAU,GAEd82C,eAAgB,CACZj9G,KAAME,OACNimE,UAAU,IAGlB76C,MAAK,SAAC/pB,GACF,IAAMmtE,EAAQL,KACR4sC,EAAc/lG,GAAI,IAClBgoG,EAAgBhoG,GAAI,MACpBioG,EAAiBjoG,IAAI,GAE3BgV,IAAU,WACNgzF,EAAch6G,MAAQ5E,SAAS4sC,cAAc,sBAMjD,IAEA,IAAM4jE,EAAgBhgG,IAAS,WAC3B,OAAO4/D,EAAM7kD,MAAMywE,OAAO8iB,WAC9B,IAEMC,EAAkBvuG,IAAS,WAI7B,MAH0B,KAAtBmsG,EAAY/3G,OACZwrE,EAAM50B,SAAS,2BAEU,KAAtBmhE,EAAY/3G,KACvB,IA0BMo6G,GAxBUxuG,IAAS,WACrB,MAAiC,iBAAtBvN,EAAMy7G,YACNxzG,KAAKikE,MAAMlsE,EAAMy7G,aAEjBz7G,EAAMy7G,WAErB,IAEmBluG,IAAS,WACxB,MAAoC,iBAAzBvN,EAAM07G,eACNzzG,KAAKikE,MAAMlsE,EAAM07G,gBAEjB17G,EAAM07G,cAErB,IAE0BnuG,IAAS,WAC/B,MAA2C,iBAAhCvN,EAAMw7G,sBACNvzG,KAAKikE,MAAMlsE,EAAMw7G,uBAEjBx7G,EAAMw7G,qBAErB,IAE0B,WACtB9B,EAAY/3G,MAAQ,GACpBwrE,EAAM50B,SAAS,uCAAwC,CAAEyjE,UAAU,GACvE,GASA51F,GAAMszF,GAAa,SAACxsG,EAAUpI,GACtBoI,IAAapI,GACbm3G,GAER,IAEA,IAAMA,EAAYpY,IAAS,WACnB6V,EAAY/3G,OACZwrE,EAAM50B,SAAS,kCAAmC,CAAEmvB,OAAQ1nE,EAAMq7G,cAAea,MAAOxC,EAAY/3G,OAE5G,GAAG,KA4CH,MAAO,CACH+3G,YAAAA,EACAyC,WA/De,WACfzC,EAAY/3G,MAAQ,GACpB,IAAMi3D,EAAQ+iD,EAAch6G,MAAMgoC,cAAc,iCAChDivB,SAAAA,EAAOgN,QACPuH,EAAM50B,SAAS,0BACnB,EA2DIwjE,kBAAAA,EACAD,gBAAAA,EACAnC,iBA/CqB,WAClB35G,SAAAA,EAAOy5G,WAAaC,EAAY/3G,QAC/BxG,OAAO6C,SAASF,KAAOkC,EAAMy5G,UAAY,MAAH76F,OAAS86F,EAAY/3G,OAEnE,EA4CI4rG,cAAAA,EACAqO,eAAAA,EACAQ,gBA5CoB,WACpBR,EAAej6G,OAAQ,CAC3B,EA2CI06G,mBAzCuB,WACvBT,EAAej6G,OAAQ,CAC3B,EAwCIs6G,UAAAA,EACAK,sBAtC0B,SAAC9/G,GAC3Bw9G,GAAmBx9G,EAAEyB,OAAQ27G,GAAkB,uBACnD,EAqCI2C,mBAnCuB,SAAC//G,GACxB09G,GAAmB19G,EAAEyB,OAAQ27G,GAAkB,uBACnD,EAkCI4C,aAhCiB,WAGjB,GAF+Bz/G,SAAS4sC,cAAc,+BAE3Bg9C,kBAAmB,CAC1Co1B,IACA,IAAMU,EAAa1/G,SAAS4sC,cAAc,6CAC1CxrC,YAAW,WACPs+G,SAAAA,EAAY72C,OAChB,GAAG,GACP,KAAO,CACH,IAAM62C,EAAa1/G,SAAS4sC,cAAc,+BAC1C8yE,SAAAA,EAAY72C,QAEZuH,EAAM50B,SAAS,4BAA6B,CAAEmkE,KAAM,KACpDvvC,EAAM50B,SAAS,0BAA2B,CAAEz8C,MAAM,IAClDqxE,EAAM50B,SAAS,mBAAoB,CAAEz8C,MAAM,GAC/C,CACJ,EAgBI0/G,sBAC2C,iBAAhCx7G,EAAMw7G,sBAAqCvzG,KAAKikE,MAAMlsE,EAAMw7G,uBAAyBx7G,EAAMw7G,sBACtGC,YAA0C,iBAAtBz7G,EAAMy7G,YAA2BxzG,KAAKikE,MAAMlsE,EAAMy7G,aAAez7G,EAAMy7G,YAC3FC,eAAgD,iBAAzB17G,EAAM07G,eAA8BzzG,KAAKikE,MAAMlsE,EAAM07G,gBAAkB17G,EAAM07G,eAE5G,GCtKJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CHCvDp1C,GAuLU,UAvLVypB,GAuLU,CAtLNrrB,GA+CM,MA/CNgC,GA+CM,CA9CFhC,GAOS,UANA3kC,QAAKymC,EAAA,KAAAA,EAAA,GAAAM,IAAA,kBAAUtqC,EAAAu/E,mBAAAv/E,EAAAu/E,kBAAA7tG,MAAAsuB,EAAA5mB,UAAiB,iBACrCmxD,SAAS,KACTjgE,MAAM,4GAMVotF,GAQS,GAETxvB,GAkBkB,8DAjBLloC,EAAAk9E,YAAW96B,CAAA,GACftX,UAAO,sCAAgB9qC,EAAAm9E,kBAAAn9E,EAAAm9E,iBAAAzrG,MAAAsuB,EAAA5mB,UAAgB,iEAGlB4mB,EAAA8/E,uBAAA9/E,EAAA8/E,sBAAApuG,MAAAsuB,EAAA5mB,UAAqB,+DACpB4mB,EAAA8/E,uBAAA9/E,EAAA8/E,sBAAApuG,MAAAsuB,EAAA5mB,UAAqB,gEACpB4mB,EAAA8/E,uBAAA9/E,EAAA8/E,sBAAApuG,MAAAsuB,EAAA5mB,UAAqB,iEACjB4mB,EAAA+/E,oBAAA//E,EAAA+/E,mBAAAruG,MAAAsuB,EAAA5mB,UAAkB,uEACzB4mB,EAAA+/E,oBAAA//E,EAAA+/E,mBAAAruG,MAAAsuB,EAAA5mB,UAAkB,gEAChB4mB,EAAA+/E,oBAAA//E,EAAA+/E,mBAAAruG,MAAAsuB,EAAA5mB,UAAkB,kEACnB4mB,EAAAggF,cAAAhgF,EAAAggF,aAAAtuG,MAAAsuB,EAAA5mB,UAAY,2BARjC+mG,QAAKn2C,EAAA,KAAAA,EAAA,qBAAEhqC,EAAA4/E,iBAAA5/E,EAAA4/E,gBAAAluG,MAAAsuB,EAAA5mB,UAAe,GACtBgnG,OAAIp2C,EAAA,KAAAA,EAAA,qBAAEhqC,EAAA6/E,oBAAA7/E,EAAA6/E,mBAAAnuG,MAAAsuB,EAAA5mB,UAAkB,GAQ5B,aAAY4mB,EAAA++E,kBACbh+B,aAAa,MACbz2E,MAAM,qFACNuR,GAAG,qBACH3c,KAAK,qBACLmhH,aAAa,SACbp+G,KAAK,yBAjBI+9B,EAAAk9E,eAmBbh1C,GAMS,UALA3kC,QAAKymC,EAAA,MAAAA,EAAA,sBAAEhqC,EAAA2/E,YAAA3/E,EAAA2/E,WAAAjuG,MAAAsuB,EAAA5mB,UAAU,GACtB9O,MAAKy/D,EAAA,CAAC,wDAAuD,2CACR/pC,EAAAs/E,mBACrD,aAAW,6BAKHt/E,EAAAs/E,iBAAe,KAC3Bx1C,GA4BM,MA5BNc,GA4BM,CA3BF1C,GA0BM,MA1BN2C,GA0BM,CAzBF3C,GAwBK,KAxBLo4C,GAwBK,SAvBDx2C,GAsBWW,GAAA,KAAAC,GAtByB1qC,EAAA+wE,eAAa,SAA/B7tG,EAAQyJ,eACtBm9D,GAoBK,KApBLiB,GAoBK,CAnBD7C,GAkBI,KAjBK4C,UAAO,wCAAc9qC,EAAA8/E,uBAAA9/E,EAAA8/E,sBAAApuG,MAAAsuB,EAAA5mB,UAAqB,iEACpB4mB,EAAA8/E,uBAAA9/E,EAAA8/E,sBAAApuG,MAAAsuB,EAAA5mB,UAAqB,kEACpB4mB,EAAA8/E,uBAAA9/E,EAAA8/E,sBAAApuG,MAAAsuB,EAAA5mB,UAAqB,mEACjB4mB,EAAA+/E,oBAAA//E,EAAA+/E,mBAAAruG,MAAAsuB,EAAA5mB,UAAkB,yEACzB4mB,EAAA+/E,oBAAA//E,EAAA+/E,mBAAAruG,MAAAsuB,EAAA5mB,UAAkB,gEAChB4mB,EAAA+/E,oBAAA//E,EAAA+/E,mBAAAruG,MAAAsuB,EAAA5mB,UAAkB,kEACnB4mB,EAAAggF,cAAAhgF,EAAAggF,aAAAtuG,MAAAsuB,EAAA5mB,UAAY,2BACrC9X,KAAM4B,EAAO5B,KACdgJ,MAAM,sHACHpH,EAAOX,OAAQ,IAClB,GAAAoxF,IAMM,+BAU9B7pB,GAkGM,MAlGNmrB,GAkGM,CAjGF/sB,GA+BM,MA/BNktB,GA+BM,CA9BFltB,GAEK,KAFLq4C,GAEKn2C,GADEpqC,EAAA8+E,mBAAiB,GAGxB52C,GAyBK,KAzBLqtB,GAyBK,SAxBDzrB,GAuBWW,GAAA,KAAAC,GAvB0B1qC,EAAAg/E,uBAAqB,SAAxCwB,EAAS7zG,eACvBm9D,GAqBK,KArBL4rB,GAqBK,CApBDxtB,GAmBI,KAlBK4C,UAAO,wCAAc9qC,EAAA8/E,uBAAA9/E,EAAA8/E,sBAAApuG,MAAAsuB,EAAA5mB,UAAqB,iEACpB4mB,EAAA8/E,uBAAA9/E,EAAA8/E,sBAAApuG,MAAAsuB,EAAA5mB,UAAqB,kEACpB4mB,EAAA8/E,uBAAA9/E,EAAA8/E,sBAAApuG,MAAAsuB,EAAA5mB,UAAqB,mEACjB4mB,EAAA+/E,oBAAA//E,EAAA+/E,mBAAAruG,MAAAsuB,EAAA5mB,UAAkB,yEACzB4mB,EAAA+/E,oBAAA//E,EAAA+/E,mBAAAruG,MAAAsuB,EAAA5mB,UAAkB,gEAChB4mB,EAAA+/E,oBAAA//E,EAAA+/E,mBAAAruG,MAAAsuB,EAAA5mB,UAAkB,kEACnB4mB,EAAAggF,cAAAhgF,EAAAggF,aAAAtuG,MAAAsuB,EAAA5mB,UAAY,2BACrC9X,KAAMk/G,EAAQvhH,IACdwC,OAAQ++G,EAAQ/+G,OACjB6I,MAAM,sHACHk2G,EAAQthH,MAAO,IAClB,GAAA02F,IAMM,sBAO1B1tB,GA+DM,MA/DN2tB,GA+DM,CA9DF3tB,GAiCU,UAjCV4tB,GAiCU,CAhCN5tB,GAEK,KAFLu4C,GAEKr2C,GADEpqC,EAAAi/E,YAAY18G,OAAK,GAExB2lE,GAA0G,OAArG59D,MAAM,wDAAwDs5B,UAAQ5D,EAAAi/E,YAAY7gC,wBAEvFlW,GA0BM,MA1BNiuB,GA0BM,CAzBFjuB,GAwBI,KAvBK4C,UAAO,wCAAc9qC,EAAA8/E,uBAAA9/E,EAAA8/E,sBAAApuG,MAAAsuB,EAAA5mB,UAAqB,iEACpB4mB,EAAA8/E,uBAAA9/E,EAAA8/E,sBAAApuG,MAAAsuB,EAAA5mB,UAAqB,kEACpB4mB,EAAA8/E,uBAAA9/E,EAAA8/E,sBAAApuG,MAAAsuB,EAAA5mB,UAAqB,mEACjB4mB,EAAA+/E,oBAAA//E,EAAA+/E,mBAAAruG,MAAAsuB,EAAA5mB,UAAkB,yEACzB4mB,EAAA+/E,oBAAA//E,EAAA+/E,mBAAAruG,MAAAsuB,EAAA5mB,UAAkB,gEAChB4mB,EAAA+/E,oBAAA//E,EAAA+/E,mBAAAruG,MAAAsuB,EAAA5mB,UAAkB,kEACnB4mB,EAAAggF,cAAAhgF,EAAAggF,aAAAtuG,MAAAsuB,EAAA5mB,UAAY,2BACrC9X,KAAM0+B,EAAAi/E,YAAYyB,UACnBp2G,MAAM,+EACN49D,GAEM,MAFNouB,GAEMlsB,GADCpqC,EAAAi/E,YAAY0B,YAAU,GAG7BnqB,IASM,WAKlBtuB,GA0BU,UA1BV04C,GA0BU,CAxBN14C,GAuBI,KAtBK4C,UAAO,wCAAc9qC,EAAA8/E,uBAAA9/E,EAAA8/E,sBAAApuG,MAAAsuB,EAAA5mB,UAAqB,iEACpB4mB,EAAA8/E,uBAAA9/E,EAAA8/E,sBAAApuG,MAAAsuB,EAAA5mB,UAAqB,kEACpB4mB,EAAA8/E,uBAAA9/E,EAAA8/E,sBAAApuG,MAAAsuB,EAAA5mB,UAAqB,mEACjB4mB,EAAA+/E,oBAAA//E,EAAA+/E,mBAAAruG,MAAAsuB,EAAA5mB,UAAkB,yEACzB4mB,EAAA+/E,oBAAA//E,EAAA+/E,mBAAAruG,MAAAsuB,EAAA5mB,UAAkB,gEAChB4mB,EAAA+/E,oBAAA//E,EAAA+/E,mBAAAruG,MAAAsuB,EAAA5mB,UAAkB,kEACnB4mB,EAAAggF,cAAAhgF,EAAAggF,aAAAtuG,MAAAsuB,EAAA5mB,UAAY,2BACrC9X,KAAM0+B,EAAAk/E,eAAewB,UACtBp2G,MAAM,6EACN49D,GAEK,KAFL2uB,GAEKzsB,GADEpqC,EAAAk/E,eAAe38G,OAAK,GAE3Bs+G,IASM,oBInLnB,YAAS1sG,GAEpB,IAAM2sG,EAAer6G,MAAMC,QAAQ/H,OAAOoiH,qBAAuBpiH,OAAOoiH,oBAAsB,GAE9FD,EAAaj0G,KAAKsH,GAClBxV,OAAOoiH,oBAAsBD,EAE7BniH,OAAOqiH,SAAW,WACdF,EAAa72G,SAAQ,SAAAkK,GAAQ,OAAIA,GAAU,GAC/C,CAEJ,CCCA,UACIjV,KAAM,OACNm8B,WAAY,CACR4lF,cAAa,IAEjBz9G,MAAO,CACH09G,UAAW,CACPj/G,KAAME,OACNimE,UAAU,GAEd60C,UAAW,CACPh7G,KAAME,OACNimE,UAAU,IAGlB,KAAA76C,CAAM/pB,GACF,MAAMmtE,EAAQL,KACR6wC,EAAsB78G,OAAOwuG,OAAO,CACtCsO,UAAW,GACXC,KAAM,mEACNC,MAAO,sEAGLC,EAAkBpqG,GAAIgqG,EAAoBC,WAC1ClE,EAAc/lG,GAAI,IAClB+oG,EAAO/oG,GAAI5W,SAAS4sC,cAAc,cAClCq0E,EAAcrqG,GAAI,IAClBsqG,EAAatqG,IAAI,GACjBuqG,EAAgBvqG,IAAI,GAE1B,IAAIwqG,GAAe,EACfC,EAA6BjjH,OAAOmhF,QAEpCrwE,EAAU,CACVsS,KAAMxhB,SAAS4sC,cAAc,eAC7B00E,WAAY,MACZC,UAAW,GAGf,MAAMC,EAA2B,CAACh2G,EAAS6kG,KACvC7kG,EAAQ9B,SAAS8vE,IACRA,EAAMioC,iBACPN,EAAcv8G,OAAQ,EAC1B,GACH,EAGC88G,EAAwB,CAACl2G,EAAS6kG,KACpC7kG,EAAQ9B,SAAS8vE,IACTA,EAAMioC,gBACNL,EAAe5nC,EAAMioC,eACrBN,EAAcv8G,OAAQ,EACtBs8G,EAAWt8G,OAAQ,GAEnBw8G,EAAe5nC,EAAMioC,cACzB,GACH,EAGL71F,IAAU,KACN+zF,EAAK/6G,MAAQ5E,SAAS4sC,cAAc,aAEpC,MAAM+0E,EAAahC,EAAK/6G,MAAMgoC,cAAc,+BACtCg1E,EAAUjC,EAAK/6G,MAAMgoC,cAAc,uBACzC,IAAIi1E,EAAqB,IAAIC,qBAAqBN,EAA0BtyG,GACxE6yG,EAAkB,IAAID,qBAAqBJ,EAAuB,CAClElgG,KAAMxhB,SAAS4sC,cAAc,eAC7B00E,WAAY,QACZC,UAAW,IAEfM,EAAmBjnE,QAAQ+mE,GAC3BI,EAAgBnnE,QAAQgnE,GAExBI,IAAkB,KACd,IAAIC,EAAgBZ,EAA6BjjH,OAAOmhF,QACtC8hC,EAA6BjjH,OAAOmhF,UAElC6hC,IAChBD,EAAcv8G,OAAQ,EACtBs8G,EAAWt8G,OAAQ,GAEnBq9G,IACAf,EAAWt8G,OAAQ,GAIvBy8G,EAA6BjjH,OAAOmhF,UACvC,IAGL,MAAM2iC,EAAyB,IAAS,IAC5BlB,EAAgBp8G,QACfg8G,EAAoBC,UACjBsB,EAAYv9G,OACZo8G,EAAgBp8G,MAAQg8G,EAAoBE,KACrCF,EAAoBE,OAE3BE,EAAgBp8G,MAAQg8G,EAAoBC,UACrCD,EAAoBC,WAG3BsB,EAAYv9G,OACZo8G,EAAgBp8G,MAAQg8G,EAAoBE,KACrCF,EAAoBE,OAE3BE,EAAgBp8G,MAAQg8G,EAAoBG,MACrCH,EAAoBG,SAMrCqB,EAA0B,IAAS,IAC9BhyC,EAAM7kD,MAAMo0F,KAAKyC,0BAGtBC,EAAwB,IAAS,IAC5BjyC,EAAM7kD,MAAMo0F,KAAK0C,wBAGtBC,EAA6B,IAAS,IACjClyC,EAAM7kD,MAAMo0F,KAAK2C,6BAGtBH,EAAc,IAAS,KACzB,MAAMI,EAAUviH,SAAS42F,eAAe3zF,EAAM09G,WAK9C,OAJI4B,GACAA,EAAQvsE,UAAUoiE,OAAO,qBAAsBhoC,EAAM7kD,MAAMo0F,KAAKwC,aAEpEniH,SAAS4sC,cAAc,QAAQoJ,UAAUoiE,OAAO,mBAAoBhoC,EAAM7kD,MAAMo0F,KAAKwC,aAC9E/xC,EAAM7kD,MAAMo0F,KAAKwC,eAGtBK,EAAuB,IAAS,KAClC,MAAMC,EAAaryC,EAAM7kD,MAAMo0F,KAAK6C,qBAIpC,MAHmB,KAAfC,GACAC,IAEGD,KA0BLE,EAAqB,IAAS,IACzBvyC,EAAM7kD,MAAMo0F,KAAKgD,qBAGtBC,EAAkC,IAAS,IACtCxyC,EAAM7kD,MAAMo0F,KAAKiD,kCAGtBC,EAAiB,IAAS,KAC5B,MAAMC,EAAmBX,EAAYv9G,MAAQ,yBAA2B,GAClEm+G,EAAkB7B,EAAWt8G,MAAQ,uBAAyB,GAC9Do+G,EAAqB7B,EAAcv8G,MAAQ,sBAAwB,GAEzE,OAAQq8G,EAAYr8G,MAAQ,GAAGk+G,KAAoBC,KAAmBC,GAAoB,IAG9F35F,GAAM63F,GAAY,KACdlhH,SAAS4sC,cAAc,QAAQoJ,UAAUoiE,OAAO,qBAAsB8I,EAAWt8G,MAAK,IAG1FykB,GAAM83F,GAAe,KACjBnhH,SAAS4sC,cAAc,QAAQoJ,UAAUoiE,OAAO,uBAAwB+I,EAAcv8G,MAAK,IAG/FykB,GAAMu5F,GAAkC3D,IAChCA,IACA7uC,EAAM50B,SAAS,0BAA2B,CAAEz8C,MAAM,IAClDqxE,EAAM50B,SAAS,uCAAwC,CAAEyjE,UAAU,IACvE,IAGJ,MAAMyD,EAAuB,KACzB,MAAMO,EAAYtD,EAAK/6G,OAAOq3C,iBAAiB,kEAC/CgnE,GAAWv5G,SAASR,GAASA,EAAK8sC,UAAUnwC,OAAO,0EAAwE,EAGzHq9G,EAA2B,KAC7B9yC,EAAM50B,SAAS,+BAAgC,CAAEz8C,MAAOqjH,EAAwBx9G,QAC5Ew9G,EAAwBx9G,OACxBxD,YAAW,KACPpB,SAAS82C,iBAAiB,QAASqsE,EAA+B,GACnE,IACP,EAGEA,EAAkC,KACpC/yC,EAAM50B,SAAS,+BAAgC,CAAEz8C,MAAM,IACvDiB,SAAS42C,oBAAoB,QAASusE,EAA+B,EAGnEC,EAA0B,KAC5BhzC,EAAM50B,SAAS,6BAA8B,CAAEz8C,MAAOsjH,EAAsBz9G,QACxEy9G,EAAsBz9G,OACtBxD,YAAW,KACPpB,SAAS82C,iBAAiB,QAASusE,EAA8B,GAClE,IACP,EAGEA,EAAiC,KACnCjzC,EAAM50B,SAAS,6BAA8B,CAAEz8C,MAAM,IACrDiB,SAAS42C,oBAAoB,QAASysE,EAA8B,EAOlEC,EAAgB,KAClBlzC,EAAM50B,SAAS,0BAA2B,CAAEz8C,KAAM4jH,EAAmB/9G,QACrEwrE,EAAM50B,SAAS,mBAAoB,CAAEz8C,MAAOojH,EAAYv9G,QAEnDu9G,EAAYv9G,QACbwrE,EAAM50B,SAAS,4BAA6B,CAAEmkE,KAAM,KACpDvvC,EAAM50B,SAAS,0BAA2B,CAAEz8C,MAAM,KAGtD,MAAM0jH,EAAaryC,EAAM7kD,MAAMo0F,KAAK6C,qBAEhCL,EAAYv9G,OAAwB,KAAf69G,GACrBc,GACJ,EAIEA,EAAiC,KACnC,MAAM7D,EAAaC,EAAK/6G,MAAMgoC,cAAc,0EAC5C,GAAI8yE,EAAY,CACZ,MAAM8D,EAAS9D,EAAWx2C,QAAQs6C,OAClCpzC,EAAM50B,SAAS,4BAA6B,CAAEmkE,KAAM6D,IACpD7D,EAAK/6G,MACAgoC,cAAc,0CAA0C42E,QACvDxtE,UAAU/lC,IAAI,2CACxB,GAcEwzG,EAA8B,KAChCC,IACAC,GAAwB,EAAK,EAG3BD,EAAwB,KACG/D,EAAK/6G,MAAMq3C,iBACpC,0EAEiBvyC,SAASR,GAC1BA,EAAK8sC,UAAUnwC,OAAO,0EAC1B,EAGE89G,EAA2Bn8C,IAC7Bm4C,EAAK/6G,MACAgoC,cAAc,mDACdoJ,UAAUoiE,OAAO,uDAAwD5wC,GAC9Em4C,EAAK/6G,MACAgoC,cAAc,uDACdoJ,UAAUoiE,OAAO,2DAA4D5wC,EAAI,EAkEpFo8C,EAAoB,KAClBzB,EAAYv9G,MACZ66G,KAIJ6D,IACAG,IAEAriH,YAAW,KACP,MAAM68G,EAAoBpB,GAAkB,wBAExCoB,EAAkB,IAAI50C,QAAQ,4BAC9B40C,EAAkB,GAAGp1C,QACjBo1C,EAAkB,KAAOj+G,SAASs+C,eAClC2+D,GAAmBgB,EAAkB,GAAIA,KAG7CA,EAAkB,GAAGp1C,QACjBo1C,EAAkB,KAAOj+G,SAASs+C,eAClC2+D,GAAmBgB,EAAkB,GAAIA,GAEjD,GACD,KAAG,EAGJwB,EAAe,KACjB,MAAMoE,EAAkBhH,GAAkB,qBACpC6C,EAAamE,EAAgBn0D,MAAMxmD,GAAgD,SAAvCA,EAAKkyC,aAAa,mBAEhEskE,EACAA,EAAW72C,QAEXg7C,EAAgBA,EAAgBz+G,OAAS,GAAGyjE,QAGhDy6C,GAAc,EAGZQ,EAAyBrkH,IAC3Bq+G,GAA4Br+G,EAAC,EAG3BskH,EAA4BtkH,IAC9B0+G,GAA+B1+G,EAAC,EAe9BukH,EAA+BvkH,IACjC2+G,GAAwB3+G,GAAG,EAAK,EAyE9BwkH,EAAuB,KAhBE,MACVtE,EAAK/6G,MAAMq3C,iBAAiB,4BACpCvyC,SAASR,GAASA,EAAK8sC,UAAUnwC,OAAO,8CAEjD,MAAMq+G,EAAgBvE,EAAK/6G,MAAMgoC,cAAc,0CAA0C41E,EAAqB59G,WAC9Gs/G,GAAeluE,UAAU/lC,IAAI,2CAA0C,EAYvEk0G,GATyB,MACPxE,EAAK/6G,MAAMq3C,iBAAiB,oCACpCvyC,SAASR,GAASA,EAAK8sC,UAAUnwC,OAAO,2EAElD,MAAM48G,EAAa9C,EAAK/6G,MAAMgoC,cAAc,oCAAoC41E,EAAqB59G,WACrG69G,GAAYzsE,UAAU/lC,IAAI,wEAAuE,EAKjGm0G,EAAqB,EAGnBC,EAAY,IAAS,IAChBjmH,OAAOkgG,WAAa,MA0B/B,MAAO,CACH8jB,0BACAC,wBACAC,6BACAH,cACAe,2BACAoB,oBAnYJ,SAA6B7kH,GASzB,OARI0iH,EAAYv9G,OAASy/G,GACrBN,EAAyBtkH,GACzBA,EAAE0gD,kBAEGgiE,EAAYv9G,QACjBo/G,EAA4BvkH,GAC5BA,EAAE0gD,mBAEC,CACX,EA0XIokE,yBAxXJ,SAAkC9kH,GAC1B0iH,EAAYv9G,OAASy/G,GACrBP,EAAsBrkH,GACtBA,EAAE0gD,kBAEGgiE,EAAYv9G,QACjBo/G,EAA4BvkH,GAC5BA,EAAE0gD,iBAEV,EAgXIkkE,YACAf,gBACAtC,kBACAkB,yBACAsC,kCAlTsC,KACtCp0C,EAAM50B,SAAS,kCAAmC,CAAEz8C,MAAOujH,EAA2B19G,OAAO,EAkT7F6/G,0BAnR+BvjH,IAC/BwiH,IACA,MAAMgB,EAAsB/E,EAAK/6G,MAAMgoC,cAAc,2BAA2B1rC,OAChFwjH,EAAoB1uE,UAAU/lC,IAAI,yEAETy0G,EAAoBzoE,iBAAiB,4CAC7C,GAAG4sB,QAEpB86C,GAAwB,EAAI,EA4Q5BF,8BACA9G,cACA6C,mBA/OwB//G,IACxB09G,GAAmB19G,EAAEyB,OAAQ27G,GAAkB,qBAAoB,EA+OnE0C,sBApP2B9/G,IAC3Bw9G,GAAmBx9G,EAAEyB,OAAQ27G,GAAkB,qBAAoB,EAoPnE8H,mBA7OuB,KACvBzB,IAEA9hH,YAAW,KACP,MAAMwjH,EAAgBjF,EAAK/6G,MAAMq3C,iBAAiB,mCAClD2oE,GAAel7G,SAASo0E,IACO,UAAvBA,EAAK5U,QAAQo0C,OACbx/B,EAAKjV,OACT,GACH,GACF,GAAE,EAoOLg8C,eApNoBplH,IACpB49G,GAAe59G,GAAG,EAAI,EAoNtBqlH,aAjNkBrlH,IAClB49G,GAAe59G,GAAG,EAAK,EAiNvBslH,wBA9M4B,KAC5B7B,IACA,MAAM8B,EAAWrF,EAAK/6G,MAAMgoC,cAAc,qCAC1Co4E,GAAUn8C,OAAM,EA4MhB+6C,oBACAnE,eACAqE,wBACAC,2BACAkB,4BA5IiCxlH,KJ7PI,SAACA,GAC9C,IAAMylH,EAAqBrI,GAAkB,wBACvCW,EAAc/9G,EAAEyB,OAAOmoE,QAAQ,yBAEjCm0C,EACA0H,EAAmBx7G,SAAQ,SAACzE,EAAMmH,GAC9B,GAAInH,IAASu4G,EACT,GAAI0H,EAAmB9/G,OAAS,GAAKgH,EAAQ,EAC3B84G,EAAmB94G,EAAQ,GAAG6vC,iBAAiB,yBACvD,GAAG4sB,YACN,CACH,IAAMs8C,EAAqBtI,GAAkB,wBAC7CsI,EAAmBA,EAAmB//G,OAAS,GAAGyjE,OACtD,CAER,IAEAs1C,GAA+B1+G,EAEvC,CI2OY2lH,CAAkC3lH,EAAC,EA4InC4lH,gCAjJqC5lH,KJ9QI,SAACA,GAClD,IAAMw+G,EAAoBpB,GAAkB,wBACtCW,EAAc/9G,EAAEyB,OAAOmoE,QAAQ,yBAEjCm0C,EACAS,EAAkBv0G,SAAQ,SAACzE,EAAMmH,GAC7B,GAAInH,IAASu4G,EACT,GAAc,IAAVpxG,EAAa,CACb,IAAM+4G,EAAqBtI,GAAkB,wBAC7CsI,EAAmBA,EAAmB//G,OAAS,GAAGyjE,OACtD,MACkBo1C,EAAkB7xG,EAAQ,GAAG6vC,iBAAiB,yBACtD,GAAG4sB,OAGrB,IAEAi1C,GAA4Br+G,EAEpC,CI4PY6lH,CAAsC7lH,EAAC,EAiJvC8lH,+BA1IoC9lH,IACpC2+G,GAAwB3+G,GAAG,EAAI,EA0I/BukH,8BACAwB,gCApIoC,KACpCp1C,EAAM50B,SAAS,kCAAmC,CAAEz8C,MAAM,IAE1DqC,YAAW,KAC4Bu+G,EAAK/6G,MAAMq3C,iBAAiB,kCACpC,GAAG4sB,OAAM,GACrC,GAAE,EA+HL48C,iCA5HsChmH,IACtC2wE,EAAM50B,SAAS,kCAAmC,CAAEz8C,MAAM,IAE1D,MACMu0C,EADS7zC,EAAEyB,OAAOmoE,QAAQ,4BACRz8B,cAAc,gCACtC0G,GAAUu1B,OAAM,EAwHhB68C,mCArHwCjmH,IACxCgkH,IAEAriH,YAAW,KACMu+G,EAAK/6G,MAAMgoC,cAAc,oCACnBqP,iBAAiB,gCAC9B,GAAG4sB,OAAM,GAChB,GAAE,EA+GL85C,qBACAgD,kBAxGsB,KALmC,MACzD,MAAMC,EAAYjG,EAAK/6G,MAAMgoC,cAAc,oCAC3Cg5E,GAAW/8C,OAAM,EAIjBg9C,GAEK1D,EAAYv9G,OACbwrE,EAAM50B,SAAS,mBAAoB,CAAEz8C,MAAM,IAG3CojH,EAAYv9G,OAAS+9G,EAAmB/9G,OACxCwrE,EAAM50B,SAAS,mBAAoB,CAAEz8C,MAAM,IAE/CqxE,EAAM50B,SAAS,0BAA2B,CAAEz8C,MAAO4jH,EAAmB/9G,QACtEwrE,EAAM50B,SAAS,4BAA6B,CAAEmkE,KAAM,KAEpDv+G,YAAW,KACP,MAAM0kH,EAAqBnG,EAAK/6G,MAAMgoC,cAAc,iCAChDk5E,IACAA,EAAmBlhH,MAAQ,GAC3BkhH,EAAmBj9C,QACvB,GACD,GAAE,EAsFLk9C,mBA1DwBtmH,IACxB,MAAM+jH,EAAS/jH,EAAEyB,OAAOgoE,QAAQs6C,OAE3BrB,EAAYv9G,OAAS49G,EAAqB59G,QAAU4+G,GACrDF,IAGJlzC,EAAM50B,SAAS,0BAA2B,CAAEz8C,MAAM,IAClDqxE,EAAM50B,SAAS,4BAA6B,CAAEmkE,KAAM6D,IACpDS,GAAqB,EAkDrBzB,uBACAwD,yBAhD8BvmH,IAC9B,MAAM+jH,EAAS/jH,EAAEyB,OAAOgoE,QAAQs6C,OAE3BrB,EAAYv9G,OAAS49G,EAAqB59G,QAAU4+G,GACrDI,IAGJxzC,EAAM50B,SAAS,4BAA6B,CAAEmkE,KAAM6D,IACpDS,GAAqB,EAyCrBpB,iBACAO,0BACA6C,wBAtP4B,KAC5B7C,IAEAhiH,YAAW,KACP,MAAMwjH,EAAgBjF,EAAK/6G,MAAMq3C,iBAAiB,wCAClD2oE,GAAel7G,SAASo0E,IACO,UAAvBA,EAAK5U,QAAQo0C,OACbx/B,EAAKjV,OACT,GACH,GACF,GAAE,EA6OLq9C,sBA5N2BzmH,IAC3B,MAAM0M,EAAS1M,EAAEyB,OAAOmoE,QAAQ,wDAC1B27C,EAAW74G,GAAQygC,cAAc,0CAIvC,GAFAw2E,IAEI4B,EACAA,GAAUn8C,YACP,CACH,MAAMs9C,EAAkBxG,EAAK/6G,MAAMgoC,cAAc,0CACjDu5E,GAAiBt9C,OACrB,GAmNR,OC/jBQ9+D,MAAM,6BACTA,MAAM,sCACDA,MAAM,+BAA+BuR,GAAG,yBAIrCvR,MAAM,+DAOT,GAGM,OAHDA,MAAM,kDAAgD,CACzD,GAAyE,OAApEA,MAAM,0DACX,GAAyE,OAApEA,MAAM,0ECnB3B,IACEpL,KAAM,kBACNsE,MAAO,CACLjB,MAAO,CACLN,KAAME,OACNimE,UAAU,GAEZoQ,QAAS,CACPv2E,KAAME,OACNimE,UAAU,GAEZj0D,SAAU,CACRlS,KAAM2C,SACNwjE,UAAU,IAGd,KAAA76C,CAAM/pB,GACJ,MAAMiM,EAAU0H,GAAI,IAcpB,OAZAgV,IAAU,KACJ3oB,EAAMg1E,UACR/oE,EAAQtK,MAAQsG,KAAKikE,MAAMlsE,EAAMg1E,SACnC,IASK,CACLmuC,cAPqB3mH,IACjBwD,EAAM2Q,UACR3Q,EAAM2Q,SAASnU,EAAEyB,OAAO0D,MAC1B,EAKAsK,UAEJ,GDnCF,MEKA,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFCzD,GAuBW,WAvBX,GAuBW,CAtBT,GAqBM,MArBN,GAqBM,CApBJ,GAAwF,SAAxF,GAAwF,GAAjB,EAAAlN,OAAK,GAC5E,GAkBM,OAlBD+H,MAAM,iCAAiC2/D,KAAK,aAAa,kBAAgB,oBAAyB,SAAM,oBAAE,EAAA08C,eAAA,EAAAA,iBAAA,cAC7G,GAgBW,WAhByB,EAAAl3G,SAAO,CAAzBuwC,EAAQrzC,UACxB,GAcM,WAf2CA,EAC5CrC,MAAM,0DACT,GAWM,MAXN,GAWM,CAVJ,GAKmB,SAJjBA,MAAM,gDACLuR,GAAE,WAAamkC,EAAO76C,QACvBlD,KAAK,QACJkD,MAAO66C,EAAO76C,MACfjG,KAAK,sBACP,KAKF,GAA8G,SAAvGoL,MAAM,wCAAyC6Y,IAAG,WAAa68B,EAAO76C,YAAY66C,EAAOt8C,KAAG,kCGlBlG4G,MAAM,6BACNA,MAAM,kCACHA,MAAM,yCACLA,MAAM,+CAGVA,MAAM,qCACFA,MAAM,mEASNA,MAAM,8CACFA,MAAM,sDACDA,MAAM,4DAIR,GAMM,OANDA,MAAM,oBAAkB,CACzB,GAIM,OAJD2/D,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC5E,GAEgG,QAD5F9jD,KAAK,UACLxmB,EAAE,6FA9BtC,GCAA,CACEjF,KAAM,kBACNsE,MAAO,CACLjB,MAAO,CACLN,KAAME,OACNimE,UAAU,GAEZgW,YAAa,CACXn8E,KAAME,OACNimE,UAAU,GAEZhgD,YAAa,CACXnmB,KAAME,OACNimE,UAAU,GAEZj0D,SAAU,CACRlS,KAAM2C,SACNwjE,UAAU,GAEZyvB,WAAY,CACV51F,KAAME,OACNimE,UAAU,IAGd,KAAA76C,CAAM/pB,GACJ,MAAMojH,EAAezvG,GAAI,IAYzB,MAAO,CACLyvG,eACAC,eAZqB,KACjBrjH,EAAM2Q,UACR3Q,EAAM2Q,SAASyyG,EAAazhH,MAC9B,EAUA2hH,oBAP2B9mH,IAC3B4mH,EAAazhH,MAAQnF,EAAEyB,OAAOgB,WAQlC,GCrCF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFCvD,GAiCU,UAjCV,GAiCU,CAhCN,GAGM,MAHN,GAGM,CAFF,GAA8D,KAA9D,GAA8D,GAAb,EAAAF,OAAK,GACtD,GAA4E,MAA5E,GAA4E,GAApB,EAAA67E,aAAW,KAGvE,GA0BM,MA1BN,GA0BM,CAzBF,GAOM,MAPN,GAOM,CANF,GAK0C,OAJtCnU,KAAK,UACL88C,gBAAA,GACK,QAAK,oBAAE,EAAAD,qBAAA,EAAAA,uBAAA,IACZx8G,MAAM,8CACL,mBAAkB,EAAA8d,2BAG3B,GAeM,MAfN,GAeM,CAdF,GAaM,MAbN,GAaM,CAZF,GAA0F,OAA1F,GAA0F,GAApB,EAAAyvE,YAAU,GAChF,GAUS,UATA,QAAK,oBAAE,EAAAgvB,gBAAA,EAAAA,kBAAA,IACZv8G,MAAM,6HGrBnBA,MAAM,+BACRA,MAAM,sCAEP,GAAiD,QAA3CA,MAAM,+BAA6B,cAIzCA,MAAM,oCAXd,GCFA,CACEpL,KAAM,oBACNsE,MAAO,CACL+3G,QAAS,CACPt5G,KAAME,OACNimE,UAAU,GAEZj0D,SAAU,CACRlS,KAAM2C,SACNwjE,UAAU,IAGd76C,MAAM/pB,IAOG,CACLwjH,YAPkB,KACdxjH,EAAM2Q,UACR3Q,EAAM2Q,UACR,KCTN,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFCzD,GAQU,UARV,GAQU,CAPR,GAIM,MAJN,GAIM,CAHJ,GAES,UAFI,QAAK,oBAAE,EAAA6yG,aAAA,EAAAA,eAAA,IAAa,aAAW,kBAAkB18G,MAAM,8CAKtE,GAA+D,KAA/D,GAA+D,GAAf,EAAAixG,SAAO,SGR3D,IACEr8G,KAAM,gBACNm8B,WAAY,CACV4rF,gBAAe,GACfC,gBAAe,GACfC,kBAAiB,IAEnB3jH,MAAO,CACL4jH,cAAe,CACbnlH,KAAME,OACNimE,UAAU,GAEZi/C,cAAe,CACbplH,KAAME,OACNimE,UAAU,GAEZpS,WAAY,CACV/zD,KAAME,OACNimE,UAAU,IAGd,KAAA76C,CAAM/pB,GACJ,MAAM8jH,EAAgBhjH,OAAOwuG,OAAO,CAClCyU,IAAK,EACLC,IAAK,EACLC,MAAO,IAGH10B,EAAc57E,GAAImwG,EAAcC,KAChCG,EAASvwG,GAAI,IACbokG,EAAUpkG,GAAI,IAEdwwG,EAAgBp8B,MAAOpmF,IAC3BuiH,EAAOviH,MAAQA,QACWyiH,IAExB70B,EAAY5tF,MAAQmiH,EAAcE,IAElC5nH,QAAQC,MAAM,4BAChB,EAiBI+nH,EAAgBr8B,UACpB,MAAMtsF,EAAMuE,EAAM4jH,cAEZ5kH,EAAO,CACXklH,OAAQA,EAAOviH,MACf6wD,WAAYxyD,EAAMwyD,WAClB/2D,IAAKuC,SAASF,MAShB,OANAslF,EAAqB,CACnBtpE,MAAO,sBACPre,IAAKuC,SAASF,KACdomH,OAAQA,EAAOviH,QAGV0iH,EAAU5oH,EAAKuD,EAAI,EAuBtBqlH,EAAYt8B,MAAOtsF,EAAKuD,WACLgqE,MAAMvtE,EAAK,CAChCsV,OAAQ,OACRsmE,QAAS,CACP,eAAgB,oBAElBr4E,KAAMiJ,KAAKC,UAAUlJ,MAE4CwtF,GAIrE,SAASpJ,EAAqB/hF,GAE5BlG,OAAOkoF,eACsB,IAApBloF,OAAOkoF,WAA4BloF,OAAOkoF,qBAAqBpgF,MAAQ9H,OAAOkoF,UAAY,GACnGloF,OAAOkoF,UAAUh6E,KAAKhI,EACxB,CAEA,MAAO,CACL8iH,gBACA50B,cACAu0B,gBACAK,gBACAG,cA5EoBv8B,MAAOpmF,IAC3Bo2G,EAAQp2G,MAAQA,OA+BIomF,WACpB,MAAMtsF,EAAMuE,EAAM6jH,cAEZ7kH,EAAO,CACXklH,OAAQA,EAAOviH,MACfo2G,QAASA,EAAQp2G,MACjB6wD,WAAYxyD,EAAMwyD,WAClB/2D,IAAKuC,SAASF,MAUhB,OAPAslF,EAAqB,CACnBtpE,MAAO,uBACPre,IAAKuC,SAASF,KACdomH,OAAQA,EAAOviH,MACfo2G,QAASA,EAAQp2G,QAGZ0iH,EAAU5oH,EAAKuD,EAAI,EA/CAulH,GAExBh1B,EAAY5tF,MAAQmiH,EAAcG,MAElC7nH,QAAQC,MAAM,4BAChB,EAsEAmoH,gBAnEsB,KACtBj1B,EAAY5tF,MAAQmiH,EAAcC,KAoEtC,GCpHF,IACIroH,KAAM,kBACNsE,MAAO,CACH09G,UAAW,CACPj/G,KAAME,OACNimE,UAAU,IAGlB,KAAA76C,CAAM/pB,GACF,MAAMmtE,EAAQL,KACR6wC,EAAsB78G,OAAOwuG,OAAO,CACtCsO,UAAW,GACXC,KAAM,gFACNC,MAAO,mFAGLC,EAAkBpqG,GAAIgqG,EAAoBC,WAC1ClB,EAAO/oG,GAAI5W,SAAS4sC,cAAc,cAClCq0E,EAAcrqG,GAAI,IAClBsqG,EAAatqG,IAAI,GACjBuqG,EAAgBvqG,IAAI,GAE1B,IAAIwqG,GAAe,EACfC,EAA6BjjH,OAAOmhF,QAEpCrwE,EAAU,CACVsS,KAAMxhB,SAAS4sC,cAAc,eAC7B00E,WAAY,MACZC,UAAW,GAGf,MAAMC,EAA2B,CAACh2G,EAAS6kG,KACvC7kG,EAAQ9B,SAAS8vE,IACRA,EAAMioC,iBACPN,EAAcv8G,OAAQ,EAC1B,GACH,EAGC88G,EAAwB,CAACl2G,EAAS6kG,KACpC7kG,EAAQ9B,SAAS8vE,IACTA,EAAMioC,gBACNL,EAAe5nC,EAAMioC,eACrBN,EAAcv8G,OAAQ,EACtBs8G,EAAWt8G,OAAQ,GAGnBw8G,EAAe5nC,EAAMioC,cACzB,GACH,EAGL71F,IAAU,KACN+zF,EAAK/6G,MAAQ5E,SAAS4sC,cAAc,0BAEpC,MAAM+0E,EAAahC,EAAK/6G,MAAMgoC,cAAc,4CACtCg1E,EAAUjC,EAAK/6G,MAAMgoC,cAAc,yCACzC,IAAIi1E,EAAqB,IAAIC,qBAAqBN,EAA0BtyG,GACxE6yG,EAAkB,IAAID,qBAAqBJ,EAAuBxyG,GACtE2yG,EAAmBjnE,QAAQ+mE,GAC3BI,EAAgBnnE,QAAQgnE,GAExBI,IAAkB,KACd,IAAIC,EAAgBZ,EAA6BjjH,OAAOmhF,QACtC8hC,EAA6BjjH,OAAOmhF,UAElC6hC,IAChBD,EAAcv8G,OAAQ,EACtBs8G,EAAWt8G,OAAQ,GAEnBq9G,IACAf,EAAWt8G,OAAQ,GAIvBy8G,EAA6BjjH,OAAOmhF,UACvC,IAGL,MAAM2iC,EAAyB,IAAS,IAC5BlB,EAAgBp8G,QACfg8G,EAAoBC,UACjBsB,EAAYv9G,OACZo8G,EAAgBp8G,MAAQg8G,EAAoBE,KACrCF,EAAoBE,OAE3BE,EAAgBp8G,MAAQg8G,EAAoBC,UACrCD,EAAoBC,WAG3BsB,EAAYv9G,OACZo8G,EAAgBp8G,MAAQg8G,EAAoBE,KACrCF,EAAoBE,OAE3BE,EAAgBp8G,MAAQg8G,EAAoBG,MACrCH,EAAoBG,SAKrCoB,EAAc,IAAS,KACzB,MAAMI,EAAUviH,SAAS42F,eAAe3zF,EAAM09G,WAI9C,OAHI4B,GACAA,EAAQvsE,UAAUoiE,OAAO,qBAAsBhoC,EAAM7kD,MAAMo0F,KAAKwC,aAE7D/xC,EAAM7kD,MAAMo0F,KAAKwC,eAGtBU,EAAiB,IAAS,KAC5B,MAAMC,EAAmBX,EAAYv9G,MAAQ,sCAAwC,GAC/Em+G,EAAkB7B,EAAWt8G,MAAQ,oCAAsC,GAC3Eo+G,EAAqB7B,EAAcv8G,MAAQ,mCAAqC,GAEtF,OAAOq8G,EAAYr8G,MAAQ,GAAGk+G,KAAoBC,KAAmBC,GAAkB,IAG3F35F,GAAM63F,GAAY,KACdlhH,SAAS4sC,cAAc,QAAQoJ,UAAUoiE,OAAO,qBAAsB8I,EAAWt8G,MAAK,IAG1FykB,GAAM83F,GAAe,KACjBnhH,SAAS4sC,cAAc,QAAQoJ,UAAUoiE,OAAO,uBAAwB+I,EAAcv8G,MAAK,IAG/F,MAAM0+G,EAAgB,KAClBlzC,EAAM50B,SAAS,0BAA2B,CAAEz8C,MAAM,IAClDqxE,EAAM50B,SAAS,mBAAoB,CAAEz8C,MAAOojH,EAAYv9G,OAAO,EA6B7D66G,EAAe,KACjB6D,IACA,MAAMO,EAAkBhH,GAAkB,qBAC1CgH,EAAgBA,EAAgBz+G,OAAS,GAAGyjE,OAAM,EAWtD,MAAO,CACHm4C,kBACAkB,yBACAW,iBACAV,cACAmB,gBACA/D,sBA7C2B9/G,IAC3Bw9G,GAAmBx9G,EAAEyB,OAAQ27G,GAAkB,qBAAoB,EA6CnE2C,mBA1CwB//G,IACxB09G,GAAmB19G,EAAEyB,OAAQ27G,GAAkB,qBAAoB,EA0CnE+G,kBAvCsB,KAClBzB,EAAYv9G,MACZ66G,KAIJ6D,IAEAliH,YAAW,KACP,MAAM68G,EAAoBpB,GAAkB,+BAC5CoB,EAAkB,GAAGp1C,QACjBo1C,EAAkB,KAAOj+G,SAASs+C,eAClC2+D,GAAmBgB,EAAkB,GAAIA,EAC7C,GACD,KAAG,EA0BNsH,+BAjBoC9lH,IACpC2+G,GAAwB3+G,GAAG,EAAI,EAiB/BukH,4BAdiCvkH,IACjC2+G,GAAwB3+G,GAAG,EAAK,EAchCggH,eAER,GC9LJ,IACI9gH,KAAM,aACN,KAAAquB,GACI,MAAM06F,EAA4B9wG,IAAI,GAChC+wG,EAAU/wG,GAAI,MAYpB,MAAO,CACH+wG,UACAD,4BACAE,qBAbyB,KACrBD,EAAQ/iH,OACRxD,YAAW,KACP,MAAMymH,EAAgBF,EAAQ/iH,MAAM84G,mBACpCmK,GAAej7E,cAAc,MAAMi8B,OAAM,GAC1C,IAEC6+C,EAA0B9iH,OAAS8iH,EAA0B9iH,OAQ7E,WCjBSmF,MAAM,gCACNA,MAAM,wCACHA,MAAM,+CAGPA,MAAM,4ECLRA,MAAM,mCACNA,MAAM,4BACAA,MAAM,mCACFA,MAAM,2CACLA,MAAM,8EAYPA,MAAM,kFAmBoB49D,GAQK,OARA+B,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC7EvG,GAMI,KAND2G,OAAO,UAAU,oBAAkB,KAAK,eAAa,MACpD3G,GAEsI,QADlI,iBAAe,SACf/jE,EAAE,gIACN+jE,GAAuB,QAAjB/jE,EAAE,eACR+jE,GAAoE,QAA9D,iBAAe,SAAS/jE,EAAE,sDAMtC8lE,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,iBAC7EvG,GAMI,KAND2G,OAAO,UAAU,oBAAkB,KAAK,eAAa,MACpD3G,GAEsI,QADlI,iBAAe,SACf/jE,EAAE,gIACN+jE,GAAuB,QAAjB/jE,EAAE,eACR+jE,GAAoE,QAA9D,iBAAe,SAAS/jE,EAAE,0CCzDpF,MDAA,GCAA,CACIjF,KAAM,eACNm8B,WAAY,CACR2jE,QAAAA,IAEJx7F,MAAO,CACHq3E,QAAS,CACL54E,KAAMqC,OACN8jE,UAAU,GAEd0S,KAAM,CACF74E,KAAMqC,OACN8jE,UAAU,IAGlB76C,MAAK,SAAC/pB,GACF,MAAO,CAAC,CACZ,GCZJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFCvDsmE,GAiEU,UAjEVypB,GAiEU,CAhENrrB,GA+DM,MA/DNgC,GA+DM,CA9DFhC,GA6DQ,QA7DRiC,GA6DQ,CA5DJjC,GAWQ,QAXRmsB,GAWQ,CAVJnsB,GASK,KATLwvB,GASK,SARD5tB,GAOWW,GAAA,KAAAC,GAPuB1qC,EAAA66C,SAAO,SAAvBpxE,EAAMkD,eACpBm9D,GAKK,UANwCn9D,EAEzCrC,MAAKy/D,EAAA,CAAC,iDAAgD,GAAA3nD,OAC3C3Y,EAAK6tC,OAAS,mDAAqD7tC,EAAK6tC,OAAS,MAC3F3pC,MAAOlE,EAAKkE,QACbu6D,GAA8B,OAAzBtkC,UAAQn6B,EAAKvK,sCAMlCgpE,GA8CQ,QA9CRyC,GA8CQ,SA7CJb,GA4CWW,GAAA,KAAAC,GA5CyB1qC,EAAA86C,MAAI,SAAtB9M,EAAKiO,eACnBnS,GA0CK,UA3CuCmS,EACxC3xE,MAAM,mDACNw/D,GAwCWW,GAAA,KAAAC,GAxC2BsD,GAAG,SAAvBvkE,EAAMyyE,eACpBpS,GAsCK,UAvCwCoS,EAEzC5xE,MAAKy/D,EAAA,CAAC,+CAA8C,GAAA3nD,OACzC3Y,EAAK6tC,OAAS,iDAAmD7tC,EAAK6tC,OAAS,QAC1E7tC,EAAKnI,MAAI,KACrBwoE,GAEI,WAFAxoE,KAAMmI,EAAKnI,SACRmI,EAAKvK,MAAI,EAAA0rE,MAAA,KAIhBd,GAA8B,aAAzBlmC,UAAQn6B,EAAKvK,kBAGNuK,EAAK4+G,cAAY,KAAjCv+C,GAyBWW,GAAA,CAAA/mE,IAAA,IAxBS+F,EAAKnI,MAAI,KACrBwoE,GAUI,WAVAxoE,KAAMmI,EAAKnI,sBAadwoE,GAQK,MARL6pB,GAQKyB,MAAA,uDD3DlD,GIEA,CACIl2F,KAAM,qBACNm8B,WAAY,CACRitF,aAAAA,GACAlW,WAAAA,IAEJ5uG,MAAO,CACH+kH,OAAQ,CACJtmH,KAAMwE,MACN2hE,UAAU,GAEdogD,QAAS,CACLvmH,KAAMwE,MACN2hE,UAAU,GAEd7lE,MAAO,CACHN,KAAME,OACNimE,UAAU,GAEdsP,SAAU,CACNz1E,KAAME,OACNimE,UAAU,IAGlB76C,MAAK,SAAC/pB,GAAO,IAAAilH,EACHC,EAAavxG,GAAmB,QAAhBsxG,EAACjlH,EAAM+kH,OAAO,UAAE,IAAAE,EAAAA,EAAI,MACpC5gB,EAAO1wF,GAAI,IACXwlE,EAASxlE,GAAI,IAgEnB,OA1BAgV,IAAU,WACN,IAAMw8F,EArCe,WACrB,IAAMA,EAAgB,GAWtB,OATAnlH,EAAMglH,QAAQljH,KAAI,SAACsjH,GACc,IAAzBD,EAAchjH,aAA4F3B,IAA5E2kH,EAAc14D,MAAK,SAACxmD,GAAI,OAAKA,EAAKo/G,eAAiBD,EAAOC,YAAY,KACpGF,EAAc97G,KAAK,CACfg8G,aAAcD,EAAOC,aACrBC,yBAA0BF,EAAOE,0BAG7C,IAEOH,CACX,CAwB0BI,GAEtBvlH,EAAM+kH,OAAOjjH,KAAI,SAAC43E,GACd2qB,EAAK1iG,MAAM0H,KAAK,CACZtK,MAAO26E,EAAM91E,WACbyU,GAAIqhE,EAAM91E,aAGduhH,EAAc1+G,SAAQ,SAACR,GACnB,IAAMqxE,EA/BM,SAACoC,EAAO2rC,GAC5B,IAAI/tC,EAAO,GAiBX,OAfwBt3E,EAAMglH,QAAQn3G,QAAO,SAACu3G,GAAM,OAAKA,EAAOI,OAAS9rC,CAAK,IAGzE7rE,QAAO,SAACu3G,GAAM,OAAKA,EAAOC,eAAiBA,CAAY,IACvD5+G,SAAQ,SAAC2+G,GACN9tC,EAAKjuE,KAAK,CACN,CAAE3N,KAAM0pH,EAAOrmH,MAAOjB,KAAMsnH,EAAOK,cACnC,CACI/pH,KAAM,GACNoC,KAAMsnH,EAAOK,aACbZ,cAAc,EACd/wE,OAAQ,eAGpB,IACGwjC,CACX,CAYyBouC,CAAgBhsC,EAAOzzE,EAAKo/G,cACrC/tC,EAAKn1E,OAAS,GACdg3E,EAAOx3E,MAAM0H,KAAK,CACdm8G,KAAM9rC,EACNrC,QAAS,CAAC,CAAE37E,KAAMuK,EAAKq/G,yBAA0Bn7G,MAAO,QACxDmtE,KAAMA,GAGlB,GACJ,GACJ,IAMO,CACH4tC,WAAAA,EACAS,aANiB,SAACH,GAClBN,EAAWvjH,MAAQqC,SAASwhH,EAChC,EAKInhB,KAAAA,EACAlrB,OAAAA,EAER,GC9FJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,uFLCvD7S,GAwBU,UAxBVypB,GAwBU,CAvBNrrB,GAOM,MAPNgC,GAOM,CANFhC,GAEK,KAFLiC,GAEKC,GADEpqC,EAAAz9B,OAAK,GAEZ2lE,GAEI,IAFJmsB,GAEIjqB,GADGpqC,EAAA03C,UAAQ,KAIH13C,EAAA6nE,KAAKliG,OAAS,GAAH,KACvBm1F,GAAgFsuB,EAAA,OAAnExhB,cAAe5nE,EAAA6nE,KAAK,GAAGhsF,GAAKgsF,KAAM7nE,EAAA6nE,KAAO1zF,SAAU6rB,EAAAmpF,yEAGpDnpF,EAAA28C,OAAOh3E,OAAS,GAAH,OACzBmkE,GAOWW,GAAA,CAAA/mE,IAAA,GAAAgnE,GAPwB1qC,EAAA28C,QAAM,SAAvBQ,EAAOxwE,eACrBm9D,GAKM,WANuCn9D,EAExC,kBAAiBwwE,EAAM6rC,KACxB1+G,MAAKy/D,EAAA,CAAC,0CACEoT,EAAM6rC,OAAShpF,EAAA0oF,WAAa,kDAAoD,OACxFpuE,GAA4D+uE,EAAA,CAA7CxuC,QAASsC,EAAMtC,QAAUC,KAAMqC,EAAMrC,8EMpB/DxwE,MAAM,gEASUA,MAAM,oFAcH49D,GAWM,OAXD59D,MAAM,oBAAkB,CACzB49D,GASM,OATD+B,KAAK,eAAe,cAAY,OAAOwE,QAAQ,YAAY9jD,KAAK,OACjE+jD,MAAM,+BACNxG,GAC8B,QADxB/jE,EAAE,oBAAoB0qE,OAAO,UAAU,iBAAe,QACxD,kBAAgB,UACpB3G,GAC8B,QADxB/jE,EAAE,oBAAoB0qE,OAAO,UAAU,iBAAe,QACxD,kBAAgB,UACpB3G,GAEsE,QADlE/jE,EAAE,sQACF0qE,OAAO,UAAU,iBAAe,QAAQ,kBAAgB,iBCnChG,MDDA,GCCA,CACI3vE,KAAM,cACNsE,MAAO,CACH+3G,QAAS,CACLt5G,KAAMqC,OACN8jE,UAAU,GAEdkhD,OAAQ,CACJrnH,KAAMuqB,QACN47C,UAAU,IAGlB76C,MAAK,SAAC/pB,GACF,IAAM+lH,EAAmBx4G,IAAS,WAC9B,IAAMy4G,EAAkBhmH,EAAM8lH,OAAS,kCAAoC,iCACrEG,EAA8C,kBAAvBjmH,EAAM+3G,QAAQt5G,KAA2B,4CAC3C,SAAvBuB,EAAM+3G,QAAQt5G,KAAkB,kCACT,SAAvBuB,EAAM+3G,QAAQt5G,KAAkB,kCACT,UAAvBuB,EAAM+3G,QAAQt5G,KAAmB,mCAAqC,GAC1E,MAAO,GAAPmgB,OAAUonG,EAAe,KAAApnG,OAAIqnG,EACjC,IACM94C,EAAQL,KAiBd,MAAO,CACHo5C,sBAL0B34G,IAAS,WACnC,OAAO4/D,EAAMa,QAAQ,kCACzB,IAIIm4C,cAZJ,SAAuBvkH,GACnB,OAAOA,EAAIjC,QAAQ,qBAAqB,SAACm8B,EAAOsqF,GAC9C,OAAOznH,OAAOC,aAAaoF,SAASoiH,EAAK,IAC3C,GACJ,EASIC,aAlBJ,SAAsBxrC,GACbA,GAASA,EAAKxiE,IACnB80D,EAAM50B,SAAS,yBAA0B,CAACo4B,SAAUkK,EAAKxiE,IAC7D,EAgBI0tG,iBAAAA,EAER,GCxCJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFCvDz/C,GAwCM,MAxCNypB,GAwCM,CAvCFrrB,GAsCM,OAtCD59D,MAAKy/D,EAAA,CAAC,4BAAoC/pC,EAAAupF,qBACV,kBAAjBvpF,EAAAu7E,QAAQt5G,MAAI,KACpB6nE,GAAuF,WAApFx/D,MAAM,mCAAmCs5B,UAAQ5D,EAAAu7E,QAAQ3oC,QAAQk3C,yCAE3C,SAAjB9pF,EAAAu7E,QAAQt5G,MAAI,KACpB6nE,GAA+F,aAA1Fx/D,MAAM,iCAAiCs5B,UAAQ5D,EAAA2pF,cAAc3pF,EAAAu7E,QAAQ3oC,QAAQxL,mBAEpD,SAAjBpnC,EAAAu7E,QAAQt5G,MAAI,KACzB6nE,GAEM,MAFNuqB,GAEM,CADFnsB,GAAiC,SAAAkC,GAA3BpqC,EAAAu7E,QAAQ3oC,QAAQtjC,MAAI,oBAGL,UAAjBtP,EAAAu7E,QAAQt5G,MAAI,OACxB6nE,GAuBWW,GAAA,CAAA/mE,IAAA,GAAAgnE,GAvBc1qC,EAAAu7E,QAAQ3oC,QAAQm3C,OAAK,SAA7B1rC,2BACiB,gBAAdA,EAAKp8E,MAAI,KACjB6nE,GAES,gBAFAvmC,QAAK,SAAA6+C,GAAA,OAAEpiD,EAAA6pF,aAAaxrC,EAAI,EAAI7xC,SAAUxM,EAAA0pF,sBAAuBp/G,MAAM,2EACjE+zE,EAAK/uC,MAAI,EAAAooD,KAGO,kBAAdrZ,EAAKp8E,MAAI,KAC1B6nE,GAcI,WAdDx/D,MAAM,0FAA2FhJ,KAAM+8E,EAAKp/E,IAAMwC,OAAQ48E,EAAK2rC,mBAC3H3rC,EAAK/uC,MAAO,IACf,GAAAokD,IAWM,mEGlCzBppF,MAAM,uBACFA,MAAM,yDAIC49D,GAIM,OAJD59D,MAAM,mBAAmBokE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,YAAYxE,KAAK,eAAe,cAAY,SAC7H/B,GAE0B,QAFpBv9C,KAAK,UAAU,YAAU,UAC3BxmB,EAAE,qEACF,YAAU,gDAOlB+jE,GAGM,OAHD59D,MAAM,mBAAmBokE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,WAAWxE,KAAK,eAAe,cAAY,SAC5H/B,GAC2B,QADrB2G,OAAO,UAAU,iBAAe,QAAQ,kBAAgB,QAAQ,eAAa,MAC/E1qE,EAAE,+BAIbmG,MAAM,qFAGH49D,GAIM,OAJD59D,MAAM,mBAAmBokE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,WAAWxE,KAAK,eAAe,cAAY,SAC5H/B,GAE0B,QAFpBv9C,KAAK,UAAU,YAAU,UAC3BxmB,EAAE,qEACF,YAAU,6DAKlB+jE,GAKM,OALD59D,MAAM,mBAAmBokE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,YAAYxE,KAAK,eAAe,cAAY,SAC7H/B,GACwF,QADlFv9C,KAAK,UAAU,YAAU,UAC3BxmB,EAAE,4DAA4D,YAAU,YAC5E+jE,GACqF,QAD/Ev9C,KAAK,UAAU,YAAU,UAC3BxmB,EAAE,yDAAyD,YAAU,sBAOhFmG,MAAM,+CACFA,MAAM,qCAAqC6M,IAAI,yCC5C3D7M,MAAM,qBACFA,MAAM,gCACDA,MAAM,8BACPA,MAAM,0CAEH49D,GAAsf,OAAjfwG,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,YAAYxE,KAAK,eAAe,cAAY,SAAO/B,GAAiY,QAA3X2G,OAAO,UAAU,iBAAe,QAAQ,kBAAgB,QAAQ1qE,EAAE,kVAIvL+jE,GAAqd,OAAhdwG,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,YAAYxE,KAAK,eAAe,cAAY,SAAO/B,GAA+Q,QAAzQ2G,OAAO,UAAU,iBAAe,SAAS,oBAAkB,KAAK1qE,EAAE,wMAAuM+jE,GAAiF,QAA3E2G,OAAO,UAAU,oBAAkB,KAAK1qE,EAAE,sDAI9a+jE,GAA4X,OAAvXwG,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,YAAYxE,KAAK,eAAe,cAAY,SAAO/B,GAAuQ,QAAjQ2G,OAAO,UAAU,iBAAe,SAAS,oBAAkB,KAAK1qE,EAAE,qMCjB3M,MDAA,GCAA,CACIjF,KAAM,WACNm8B,WAAY,CACZ,EACA73B,MAAO,CACP,EACA+pB,MAAK,WACD,IAAMojD,EAAQL,KAuBd,MAAO,CACH25C,cAvBkBzuF,GAAO,iBAwBzB0uF,qBAhBJ,WACIv5C,EAAM50B,SAAS,iCACnB,EAeIouE,oBAdwBp5G,IAAS,WAAM,IAAAq5G,EACvC,OAAyC,QAAzCA,EAAOz5C,EAAM7kD,MAAMu+F,UAAUC,oBAAY,IAAAF,OAAA,EAAlCA,EAAoCvuG,EAC/C,IAaI0uG,iBAPqBx5G,IAAS,WAAM,IAAAy5G,EACpC,OAAyC,QAAzCA,EAAO75C,EAAM7kD,MAAMu+F,UAAUC,oBAAY,IAAAE,GAAO,QAAPA,EAAlCA,EAAoC1+F,aAAK,IAAA0+F,OAAA,EAAzCA,EAA2CD,gBACtD,IAMIE,SAbJ,SAAkB71C,GACd,IAAM81C,EAAc/5C,EAAM7kD,MAAMu+F,UAAUzvC,OAAOhG,GAEjD,OADK81C,GAAa9qH,QAAQC,MAAM,uBAAwB+0E,GACjD81C,GAA4B,IAAHtoG,OAAOwyD,EAAK,IAChD,EAUI+1C,eA3BJ,WACIh6C,EAAM50B,SAAS,kCAEf,IAAM3L,EAAK,IAAIw6E,iBAAiB,4BAChCx6E,EAAGy6E,YAAY,0BACfz6E,EAAGlM,OACP,EAuBJ,GCjCJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFCvD4lC,GAkBM,MAlBNypB,GAkBM,CAjBFrrB,GAgBM,MAhBNgC,GAgBM,CAfFhC,GAAyE,OAAzEiC,GAAyEC,GAAjCpqC,EAAAyqF,SAAS,gBAAD,GAChDviD,GAaM,MAbNmsB,GAaM,CAZFnsB,GAGS,UAHD59D,MAAM,2BAA4Bi5B,QAAKymC,EAAA,KAAAA,EAAA,qBAAEhqC,EAAAkqF,sBAAAlqF,EAAAkqF,qBAAAx4G,MAAAsuB,EAAA5mB,UAAoB,GAAGozB,UAAWxM,EAAAmqF,sBAC/E9/C,GACAnC,GAA6D,YAAAkC,GAApDpqC,EAAAyqF,SAAS,mCAAD,UAErBviD,GAGS,UAHD59D,MAAM,2BAA4Bi5B,QAAKymC,EAAA,KAAAA,EAAA,qBAAEhqC,EAAA2qF,gBAAA3qF,EAAA2qF,eAAAj5G,MAAAsuB,EAAA5mB,UAAc,GAAGozB,UAAWxM,EAAAmqF,sBACzEx/C,GACAzC,GAA2D,YAAAkC,GAAlDpqC,EAAAyqF,SAAS,iCAAD,UAErBviD,GAGI,KAHD59D,MAAM,2BAA4BhJ,KAAM0+B,EAAAuqF,iBAAuBz/C,UAAOd,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,kBAAM30D,EAAAiqF,eAAAjqF,EAAAiqF,cAAAv4G,MAAAsuB,EAAA5mB,UAAa,aAAE,aAAW,SACrGyxD,GACA3C,GAAsD,YAAAkC,GAA7CpqC,EAAAyqF,SAAS,4BAAD,6BGd5BngH,MAAM,yBCANA,MAAM,+BACDA,MAAM,wCACPA,MAAM,4FAISokE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,YAAYxE,KAAK,eAAe,cAAY,YAC3G/B,GACqU,QAD/Tv9C,KAAK,UACPxmB,EAAE,uXAKEsqE,QAAQ,YAAY9jD,KAAK,OAAO+jD,MAAM,6BAA6BzE,KAAK,eAAe,cAAY,YAC3G/B,GAEqB,QADjB/jE,EAAE,6KACFwmB,KAAK,oBACTu9C,GAEqB,QADjB/jE,EAAE,iwBACFwmB,KAAK,yBClBrBu9C,GAEM,OAFD59D,MAAM,uBAAqB,CAChC49D,GAA+C,OAA1C59D,MAAM,kCAA6B,ICNhD,MDAA,GCAA,CACEpL,KAAM,SACNm8B,WAAY,CAAC,EACb73B,MAAO,CACLsnH,WAAY,CACV7oH,KAAME,OACNmkB,QAAS,KAGbiH,MAAK,WACL,GCLF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFCvDu8C,GAIM,OAJDx/D,MAAKy/D,EAAA,CAAC,aAAqB/pC,EAAA8qF,+QGLpCp+B,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,UAAAo7B,GAAApjH,GAAA,sBAAA9I,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,KAEA,MJDA,GICA,CACE9E,KAAM,oBACNm8B,WAAY,CACV2vF,OAAAA,IAEFxnH,MAAO,CACLynH,eAAgB,CACdhpH,KAAM2C,SACNwjE,UAAU,IAGd76C,MAAK,SAAC/pB,GACJ,IAAMmtE,EAAQL,KACR46C,EAAoB/zG,QAAInT,GACxBmnH,EAAYh0G,IAAI,GAOiB,SAAAi0G,IA2BtC,OA3BsCA,EAAAL,GAAAr+B,KAAAoC,MAAvC,SAAAiB,EAAwCnd,GAAO,IAAAy4C,EAAA,OAAA3+B,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,OAC7B,GACC,cADTw2G,EAAaz4C,EAAby4C,UACmB,CAAAvuF,EAAAjoB,KAAA,SAEc,OAFdioB,EAAAld,KAAA,EAEvBsrG,EAAkB/lH,MAAQ,WAAW23B,EAAAjoB,KAAA,EAC/B87D,EAAM50B,SAAS,qCAAsC,CACzDsvE,SAAU,CACRA,SAAUA,KAEZ,OAGwC,OAHxCvuF,EAAAld,KAAA,EAEFsrG,EAAkB/lH,WAAQnB,EAC1BR,EAAMynH,eAAe,sBAAqBnuF,EAAAwyD,OAAA,WAAAxyD,EAAAjoB,KAAA,oBAEtB,aAAbw2G,EAAuB,CAAAvuF,EAAAjoB,KAAA,SAEO,OAFPioB,EAAAld,KAAA,GAE9BsrG,EAAkB/lH,MAAQ,WAAW23B,EAAAjoB,KAAA,GAC/B87D,EAAM50B,SAAS,qCAAsC,CACzDsvE,SAAU,CACRA,SAAUA,KAEZ,QAG6C,OAH7CvuF,EAAAld,KAAA,GAEFsrG,EAAkB/lH,WAAQnB,EAC1BR,EAAMynH,eAAe,2BAA0BnuF,EAAAwyD,OAAA,6BAAAxyD,EAAA3vB,OAAA,GAAA4iF,EAAA,mCAGpDr+E,MAAA,KAAA0H,UAAA,CAE2B,SAAAkyG,IAI3B,OAJ2BA,EAAAP,GAAAr+B,KAAAoC,MAA5B,SAAAy8B,IAAA,OAAA7+B,KAAA/4E,MAAA,SAAA63G,GAAA,cAAAA,EAAA5rG,KAAA4rG,EAAA32G,MAAA,OACwB,OAAtBs2G,EAAUhmH,OAAQ,EAAIqmH,EAAA32G,KAAA,EAChB87D,EAAM50B,SAAS,6BAA4B,OACjDovE,EAAUhmH,OAAQ,EAAK,wBAAAqmH,EAAAr+G,OAAA,GAAAo+G,EAAA,MACxB75G,MAAA,KAAA0H,UAAA,CAED,MAAO,CACL8xG,kBAAAA,EACAC,UAAAA,EACAM,cAXD,WAE2B,OAAAH,EAAA55G,MAAC,KAAD0H,UAAA,EAU1BsyG,yBAzCD,SAEsC77B,GAAA,OAAAu7B,EAAA15G,MAAC,KAAD0H,UAAA,EAwCrCqxG,SA9CF,SAAkB71C,GAChB,IAAM81C,EAAc/5C,EAAM7kD,MAAMu+F,UAAUzvC,OAAOhG,GAEjD,OADK81C,GAAa9qH,QAAQC,MAAM,uBAAwB+0E,GACjD81C,GAA4B,IAAHtoG,OAAOwyD,EAAK,IAC9C,EA4CF,GC3DF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,8DLCvD9K,GAuBM,MAvBNypB,GAuBM,CAtBFrrB,GAAyF,OAAzFgC,GAAyFE,GAAvCpqC,EAAAyqF,SAAS,sBAAD,GAC1DviD,GAoBM,MApBNiC,GAoBM,CAlBFjC,GAMS,UAND59D,MAAM,kCAAmCkiC,SAAUxM,EAAAkrF,kBAAoB3nF,QAAKymC,EAAA,KAAAA,EAAA,YAAAoY,GAAA,OAAEpiD,EAAA0rF,yBAAyB,CAADL,SAAA,eAA2B9oH,MAAOy9B,EAAAyqF,SAAS,qCAAuC,aAAYzqF,EAAAyqF,SAAS,uCAC7K,aAAtBzqF,EAAAkrF,mBAAiB,KAA/BpwB,GAAiH6wB,EAAA,OAAjEb,WAAW,6DAC3DhhD,GAGM,MAHN4tB,GAGMhE,MAAA,MAEVxrB,GAUS,UAVD59D,MAAM,kCAAmCkiC,SAAUxM,EAAAkrF,kBAAoB3nF,QAAKymC,EAAA,KAAAA,EAAA,YAAAoY,GAAA,OAAEpiD,EAAA0rF,yBAAyB,CAADL,SAAA,eAA2B9oH,MAAOy9B,EAAAyqF,SAAS,qCAAuC,aAAYzqF,EAAAyqF,SAAS,uCAC7K,aAAtBzqF,EAAAkrF,mBAAiB,KAA/BpwB,GAAiH6wB,EAAA,OAAjEb,WAAW,6DAC3DhhD,GAOM,MAPNc,GAOMG,MAAA,sBMpBbzgE,MAAM,sCACDA,MAAM,gEAEPA,MAAM,qEAU0DA,MAAM,uEAI/D49D,GAOM,OAPD59D,MAAM,kDAAgD,CACvD49D,GAKM,OALD59D,MAAM,oBAAkB,CACzB49D,GAGM,OAHDwG,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,YAAYxE,KAAK,eAAe,cAAY,SACpG/B,GACgG,QAD1Fv9C,KAAK,UACPxmB,EAAE,qVC1BtCuoF,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,CAIA,UACEzwF,KAAM,0BACNm8B,WAAY,CACV2vF,OAAAA,IAEFxnH,MAAO,CACLynH,eAAgB,CACdhpH,KAAM2C,SACNwjE,UAAU,IAGd76C,MAAK,SAAC/pB,GACJ,IAAMmtE,EAAQL,KACRwR,EAAW3qE,GAAI,MACfy0G,EAAcz0G,QAAInT,GAClB6nH,EAA6B10G,IAAI,GACjCqyE,EAAYryE,IAAI,GAChBg0G,EAAYh0G,IAAI,GAChB8yG,EAAgBzuF,GAAO,iBAOvBswF,EAAmB/6G,IAAS,WAChC,OAAO66G,EAAYzmH,OAASszG,GAAemT,EAAYzmH,MACzD,IAEM4mH,EAAqBh7G,IAAS,WAClC,OAAO4/D,EAAMa,QAAQ,kCACvB,IAAE,SAEak6C,IAAwB,OAAAN,EAAA15G,MAAC,KAAD0H,UAAA,UAAAgyG,IArC3C,IAAAzjH,EAmDK,OAnDLA,EAqC2C+kF,KAAAoC,MAAvC,SAAAiB,IAAA,OAAArD,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,UACOi3G,EAAiB3mH,MAAO,CAAF23B,EAAAjoB,KAAA,QACc,OAAvCg3G,EAA2B1mH,OAAQ,EAAI23B,EAAAkxD,OAAA,iBAIjB,OAJiBlxD,EAAAld,KAAA,EAIvC4pE,EAAUrkF,OAAQ,EAAI23B,EAAAjoB,KAAA,EAChB87D,EAAM50B,SAAS,wBAAyB6vE,EAAYzmH,OAAM,OAChE3B,EAAMynH,eAAe,sBAAqBnuF,EAAAjoB,KAAA,uBAAAioB,EAAAld,KAAA,GAAAkd,EAAAkvF,GAAAlvF,EAAA,SAEpC,IAAI5L,MAAK4L,EAAAkvF,IAAO,QAEC,OAFDlvF,EAAAld,KAAA,GAEtB4pE,EAAUrkF,OAAQ,EAAK23B,EAAAwyD,OAAA,6BAAAxyD,EAAA3vB,OAAA,GAAA4iF,EAAA,wBAZYq7B,EArC3C,eAAAvsH,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,KAmDKonH,EAAA15G,MAAA,KAAA0H,UAAA,CAQD,MAAO,CACL6yG,mBAPyB,SAAC3uG,GACR,UAAdA,EAAM5Z,KACRgoH,GAEJ,EAIEzB,cAAAA,EACAzgC,UAAAA,EACA2hC,UAAAA,EACArpC,SAAAA,EACAiqC,mBAAAA,EACAD,iBAAAA,EACAD,2BAAAA,EACAD,YAAAA,EACAF,yBAAAA,EACAjB,SA/CF,SAAkB71C,GAChB,IAAM81C,EAAc/5C,EAAM7kD,MAAMu+F,UAAUzvC,OAAOhG,GAEjD,OADK81C,GAAa9qH,QAAQC,MAAM,uBAAwB+0E,GACjD81C,GAA4B,IAAHtoG,OAAOwyD,EAAK,IAC9C,EA6CF,GDvEF,cEIStqE,MAAM,iDAEFA,MAAM,gDACDA,MAAM,6SCRxBoiF,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,UAAAo7B,GAAApjH,GAAA,sBAAA9I,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,KAGA,MDFA,GCEA,CACE9E,KAAM,qBACNm8B,WAAY,CACV2vF,OAAAA,IAEFxnH,MAAO,CAAC,EACR+pB,MAAK,WACH,IAAMojD,EAAQL,KACR66C,EAAYh0G,IAAI,GAWhB+0G,EAA2Bn7G,IAAS,WACxC,MAAiD,aAA1C4/D,EAAM7kD,MAAMu+F,UAAU8B,eAC/B,IAE4B,SAAAb,IAQ3B,OAR2BA,EAAAP,GAAAr+B,KAAAoC,MAA5B,SAAAy8B,IAAA,OAAA7+B,KAAA/4E,MAAA,SAAA63G,GAAA,cAAAA,EAAA5rG,KAAA4rG,EAAA32G,MAAA,OACwB,OAAtBs2G,EAAUhmH,OAAQ,EAAIqmH,EAAA5rG,KAAA,EAAA4rG,EAAA32G,KAAA,EAEd87D,EAAM50B,SAAS,uBAAsB,OAGpB,OAHoByvE,EAAA5rG,KAAA,EAG3CurG,EAAUhmH,OAAQ,EAAKqmH,EAAAl8B,OAAA,2BAAAk8B,EAAAr+G,OAAA,GAAAo+G,EAAA,sBAE1B75G,MAAA,KAAA0H,UAAA,CAWD,OATA+S,GAAS4+F,GAAAr+B,KAAAoC,MAAC,SAAAiB,IAAA,OAAArD,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,OAGP,OAFG87D,EAAMa,QAAQ,oCAChBb,EAAM50B,SAAS,6BAChBjf,EAAAjoB,KAAA,EACK2G,KAAU,OACIjb,SAAS4sC,cAAc,yCAC/Bi8B,QAAQ,wBAAAtsC,EAAA3vB,OAAA,GAAA4iF,EAAA,MAGf,CACLm8B,wBAAAA,EACAf,UAAAA,EACAM,cAxBA,WAE0B,OAAAH,EAAA55G,MAAC,KAAD0H,UAAA,EAuB1B2yG,mBA/BF,WACE,OAAOp7C,EAAMa,QAAQ,kCACvB,EA8BEi5C,SAtCF,SAAkB71C,GAChB,IAAM81C,EAAc/5C,EAAM7kD,MAAMu+F,UAAUzvC,OAAOhG,GAEjD,OADK81C,GAAa9qH,QAAQC,MAAM,uBAAwB+0E,GACjD81C,GAA4B,IAAHtoG,OAAOwyD,EAAK,IAC9C,EAoCF,0PCpDF8X,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,CAIA,UACEzwF,KAAM,eACNm8B,WAAY,CACV+wF,kBAAAA,GACAC,yBCJ6B,QAAgB,GAAQ,CAAC,CAAC,8DLCvDviD,GA6BM,MA7BNypB,GA6BM,CA5BFrrB,GAAoG,OAApGgC,GAAoGE,GAA3CpqC,EAAAyqF,SAAS,0BAAD,GACjEviD,GAA2F,OAAtF59D,MAAM,8CAA8Cs5B,UAAQ5D,EAAA+rF,+BACjE7jD,GAyBM,MAzBNmsB,GAyBM,IAxBFnsB,GAQ0C,SAPtC/wD,IAAI,WACJ7M,MAAM,6FACG01B,EAAA4rF,YAAWxpC,CAAA,GACpBngF,KAAK,MACLo/E,UAAU,IACV5tD,QAAQ,SACPrL,YAAa4X,EAAAyqF,SAAS,+BACtB3/C,UAAOd,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,kBAAQ30D,EAAAisF,oBAAAjsF,EAAAisF,mBAAAv6G,MAAAsuB,EAAA5mB,UAAkB,iCALzB4mB,EAAA4rF,eAMG5rF,EAAA6rF,6BAA+B7rF,EAAA8rF,kBAAgB,KAA3DhiD,GAAwK,OAAxKO,GAAwKD,GAAjDpqC,EAAAyqF,SAAS,iCAAD,kBACnIviD,GAAwH,OAAnH59D,MAAM,6CAA6Cs5B,UAAQ5D,EAAAyqF,SAAS,oDACzEviD,GAYS,UAZD59D,MAAM,8CAA+Ci5B,QAAKymC,EAAA,KAAAA,EAAA,YAAAoY,GAAA,OAAEpiD,EAAA0rF,yBAAyB,CAADE,YAAE5rF,EAAA4rF,aAAW,GAAK9gD,UAAOd,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,kBAAM30D,EAAAiqF,eAAAjqF,EAAAiqF,cAAAv4G,MAAAsuB,EAAA5mB,UAAa,aAAE,aAAW,SACjJ8uD,GASO,QATD59D,MAAKy/D,EAAA,CAAC,mDAAkD,yBAAmC/pC,EAAAwpD,qBAAexpD,EAAAyqF,SAAS,qBAAsB,IAC3I,GAAA9/C,IAOM,GAEI3qC,EAAAwpD,WAAS,KAAvBsR,GAAiH6wB,EAAA,OAAxFb,WAAW,yGItBhDwB,oBEL6B,QAAgB,GAAQ,CAAC,CAAC,2CJCvDxiD,GAMM,MANNypB,GAMM,CALUvzD,EAAA+rF,sBAAkB,KAA9BjiD,GAAuH,cAArFx/D,MAAM,0CAA0Cs5B,UAAQ5D,EAAA+rF,gDAC1F7jD,GAGM,MAHNiC,GAGM,CAFFjC,GAAkG,OAAlGmsB,GAAkGjqB,GAA/CpqC,EAAAyqF,SAAS,8BAAD,GACqDzqF,EAAAksF,yBAAuB,KAAvIpiD,GAAgJ,cAA1Ix/D,MAAM,wCAAwCs5B,UAAQ5D,EAAAyqF,SAAS,wEEE/EjnH,MAAO,CAAC,EACR+pB,MAAK,WACH,IAAMojD,EAAQL,KAER4gB,EAAOngF,IAAS,WACpB,OAAO4/D,EAAM7kD,MAAMu+F,UAAUkC,YAC/B,IAQuC,SAAAnB,IAzB3C,IAAAzjH,EA0CK,OA1CLA,EAyB2C+kF,KAAAoC,MAAvC,SAAAiB,EAAwCnd,GAAO,IAAAy4C,EAAA,OAAA3+B,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,OAC7B,GACC,cADTw2G,EAAaz4C,EAAby4C,UACmB,CAAAvuF,EAAAjoB,KAAA,gBAAAioB,EAAAld,KAAA,EAAAkd,EAAAjoB,KAAA,EAEjB87D,EAAM50B,SAAS,qCAAsC,CACzDsvE,SAAU,CACRA,SAAUA,KAEZ,OAAAvuF,EAAAjoB,KAAA,sBAAAioB,EAAAld,KAAA,EAAAkd,EAAAkvF,GAAAlvF,EAAA,SAEI,IAAI5L,MAAK4L,EAAAkvF,IAAO,eAAAlvF,EAAAld,KAAA,GAAAkd,EAAAjoB,KAAA,GAEhB87D,EAAM50B,SAAS,uBAAsB,eAAAjf,EAAAwyD,OAAA,YAAAxyD,EAAAjoB,KAAA,iBAEvB,aAAbw2G,IACTn6B,EAAK/rF,MAAQ,2BACd,yBAAA23B,EAAA3vB,OAAA,GAAA4iF,EAAA,uBAhBoCq7B,EAzB3C,eAAAvsH,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,KA0CKonH,EAAA15G,MAAA,KAAA0H,UAAA,CAMD,MAAO,CACL6xG,eALF,SAAwBuB,GACtB77C,EAAMkC,OAAO,8BAA+B25C,EAC9C,EAIEt7B,KAAAA,EACAw6B,yBA5BD,SAEsC77B,GAAA,OAAAu7B,EAAA15G,MAAC,KAAD0H,UAAA,EA2BrCqxG,SAjCF,SAAkB71C,GAChB,IAAM81C,EAAc/5C,EAAM7kD,MAAMu+F,UAAUzvC,OAAOhG,GAEjD,OADK81C,GAAa9qH,QAAQC,MAAM,uBAAwB+0E,GACjD81C,GAA4B,IAAHtoG,OAAOwyD,EAAK,IAC9C,EA+BF,GXrDF,McKA,IAFiC,QAAgB,GAAQ,CAAC,CAAC,oIdCvD9K,GAIM,MAJNypB,GAIM,CAHiE,sBAATvzD,EAAAkxD,MAAI,KAA9D4J,GAAyF2xB,EAAA,OAArExB,eAAgBjrF,EAAAirF,0DACqC,4BAATjrF,EAAAkxD,MAAI,KAApE4J,GAAsG4xB,EAAA,OAA5EzB,eAAgBjrF,EAAAirF,0DACP,uBAATjrF,EAAAkxD,MAAI,KAA9B4J,GAA0D6xB,EAAA,CAAAjpH,IAAA,iCeHzD4G,MAAM,siCCNf,MDEA,GCFA,CACIpL,KAAM,sBACNm8B,WAAY,CACZ,EACA73B,MAAO,CACP,EACA+pB,MAAK,WAEL,GCDJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFCvDu8C,GAKM,MALNypB,GAKMppB,mHGJV,IAAIyiD,IAAmB,EACvB,GAAsB,oBAAXjuH,OAAwB,CACjC,IAAMkuH,GAAqB,CACzB,WAAIC,GACFF,IAAmB,CAErB,GAEFjuH,OAAO04C,iBAAiB,cAAe,KAAMw1E,IAC7CluH,OAAOw4C,oBAAoB,cAAe,KAAM01E,GAClD,CAEA,IAMIE,GACAC,GACAC,GAREC,GAAgC,oBAAXvuH,QAA0BA,OAAOgC,WAAahC,OAAOgC,UAAUwsH,WAAa,iBAAiBvsH,KAAKjC,OAAOgC,UAAUwsH,WAA2C,aAA9BxuH,OAAOgC,UAAUwsH,UAA2BxuH,OAAOgC,UAAUysH,eAAiB,GAGrOC,GAAQ,GACRC,IAAwB,EACxBC,IAAkB,EAMhBC,GAAiB,SAAAlnH,GAAE,OAAI+mH,GAAMrrG,MAAK,SAAAyrG,GACtC,SAAIA,EAAKh+G,QAAQ+9G,iBAAkBC,EAAKh+G,QAAQ+9G,eAAelnH,GAKjE,GAAE,EAEIo6C,GAAiB,SAAAgtE,GACrB,IAAM1tH,EAAI0tH,GAAY/uH,OAAO2e,MAM7B,QAAIkwG,GAAextH,EAAEyB,SAKjBzB,EAAE2tH,QAAQhoH,OAAS,IAEnB3F,EAAE0gD,gBAAgB1gD,EAAE0gD,kBAEjB,EACT,EA4GaktE,GAAoB,SAAC12B,EAAeznF,GAE/C,GAAKynF,GAOL,IAAIm2B,GAAMrrG,MAAK,SAAAyrG,GAAI,OAAIA,EAAKv2B,gBAAkBA,CAAa,IAA3D,CAIA,IAAMu2B,EAAO,CACXv2B,cAAAA,EACAznF,QAASA,GAAW,CAAC,GAGvB49G,GAAQ,GAAHjrG,uDAAOirG,ukBAAK,CAAEI,IAEfP,GAxFyBvuH,OAAO83C,uBAAsB,WAE1D,QAA6BzyC,IAAzBgpH,GAAoC,CACtCA,GAAuB,CACrB7hB,SAAU5qG,SAASiC,KAAKgI,MAAM2gG,SAC9BhtD,IAAK59C,SAASiC,KAAKgI,MAAM2zC,IACzBF,KAAM19C,SAASiC,KAAKgI,MAAMyzC,MAI5B,IAAA4vE,EAA0ClvH,OAAlCmhF,EAAO+tC,EAAP/tC,QAASguC,EAAOD,EAAPC,QAASC,EAAWF,EAAXE,YAC1BxtH,SAASiC,KAAKgI,MAAM2gG,SAAW,QAC/B5qG,SAASiC,KAAKgI,MAAM2zC,IAAM,GAAH/7B,QAAO09D,EAAO,MACrCv/E,SAASiC,KAAKgI,MAAMyzC,KAAO,GAAH77B,QAAO0rG,EAAO,MAEtCnsH,YAAW,kBAAMhD,OAAO83C,uBAAsB,WAE5C,IAAMu3E,EAAkBD,EAAcpvH,OAAOovH,YACzCC,GAAmBluC,GAAWiuC,IAEhCxtH,SAASiC,KAAKgI,MAAM2zC,MAAQ2hC,EAAUkuC,GAE1C,GAAE,GAAE,IACN,CACF,IA9D0B,SAAAv+G,GAExB,QAAiCzL,IAA7BipH,GAAwC,CAC1C,IAAMgB,IAAwBx+G,IAA2C,IAAhCA,EAAQw+G,oBAC3CC,EAAevvH,OAAOkgG,WAAat+F,SAAS4tH,gBAAgBvlB,YAElE,GAAIqlB,GAAuBC,EAAe,EAAG,CAC3C,IAAME,EAA2B5mH,SAAS7I,OAAO44C,iBAAiBh3C,SAASiC,MAAM6rH,iBAAiB,iBAAkB,IACpHpB,GAA2B1sH,SAASiC,KAAKgI,MAAM8jH,aAC/C/tH,SAASiC,KAAKgI,MAAM8jH,aAAe,GAAHlsG,OAAMgsG,EAA2BF,EAAY,KAC/E,CACF,MAGoClqH,IAAhC+oH,KACFA,GAA8BxsH,SAASiC,KAAKgI,MAAM+jH,SAClDhuH,SAASiC,KAAKgI,MAAM+jH,SAAW,SAEnC,CA+GIC,CAAkB/+G,GAGhBy9G,KACFh2B,EAAcu3B,aAAe,SAAAnxG,GACQ,IAA/BA,EAAMoxG,cAAc/oH,SAEtB4nH,GAAiBjwG,EAAMoxG,cAAc,GAAG7uC,QAE5C,EACAqX,EAAcy3B,YAAc,SAAArxG,GACS,IAA/BA,EAAMoxG,cAAc/oH,QAvDT,SAAC2X,EAAO45E,GAC3B,IAAMrX,EAAUviE,EAAMoxG,cAAc,GAAG7uC,QAAU0tC,IAE7CC,GAAelwG,EAAM7b,UAIrBy1F,GAA6C,IAA5BA,EAAc03B,WAAmB/uC,EAAU,GAT3B,SAAAqX,GAAa,QAAIA,GAAgBA,EAAc23B,aAAe33B,EAAc03B,WAAa13B,EAAc43B,YAAoB,CAc5JC,CAA+B73B,IAAkBrX,EAAU,EAHtDn/B,GAAepjC,GAQxBA,EAAMkjC,kBAER,CAsCQwuE,CAAa1xG,EAAO45E,EAExB,EAEKo2B,KACH/sH,SAAS82C,iBAAiB,YAAaqJ,GAAgBksE,GAAmB,CAAEE,SAAS,QAAU9oH,GAC/FspH,IAAwB,GA/B5B,OAPE1tH,QAAQC,MAAM,uHAyClB,EA4BaovH,GAAmB,SAAA/3B,GACzBA,GAMLm2B,GAAQA,GAAMh8G,QAAO,SAAAo8G,GAAI,OAAIA,EAAKv2B,gBAAkBA,CAAa,IAE7Dg2B,KACFh2B,EAAcu3B,aAAe,KAC7Bv3B,EAAcy3B,YAAc,KAExBrB,IAA0C,IAAjBD,GAAM1nH,SACjCpF,SAAS42C,oBAAoB,YAAauJ,GAAgBksE,GAAmB,CAAEE,SAAS,QAAU9oH,GAClGspH,IAAwB,IAIxBJ,GAtIyB,WAC7B,QAA6BlpH,IAAzBgpH,GAAoC,CAEtC,IAAM9/B,GAAK1lF,SAASjH,SAASiC,KAAKgI,MAAM2zC,IAAK,IACvCknC,GAAK79E,SAASjH,SAASiC,KAAKgI,MAAMyzC,KAAM,IAG9C19C,SAASiC,KAAKgI,MAAM2gG,SAAW6hB,GAAqB7hB,SACpD5qG,SAASiC,KAAKgI,MAAM2zC,IAAM6uE,GAAqB7uE,IAC/C59C,SAASiC,KAAKgI,MAAMyzC,KAAO+uE,GAAqB/uE,KAGhDt/C,OAAOgrF,SAAStE,EAAG6H,GAEnB8/B,QAAuBhpH,CACzB,CACF,CAuHIkrH,SAlL+BlrH,IAA7BipH,KACF1sH,SAASiC,KAAKgI,MAAM8jH,aAAerB,GAInCA,QAA2BjpH,QAGOA,IAAhC+oH,KACFxsH,SAASiC,KAAKgI,MAAM+jH,SAAWxB,GAI/BA,QAA8B/oH,KAoJ9BpE,QAAQC,MAAM,+GAqBlB,yPCnQA6sF,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,CAKA,UACEzwF,KAAM,aACNm8B,WAAY,CACV8zF,SAAAA,GACAC,aAAAA,GACAC,oBAAAA,IAEF7rH,MAAO,CACL8rH,eAAgB,CACdrtH,KAAME,OACNmkB,QAAS,KAGbiH,MAAK,WACH,IAAMojD,EAAQL,KACRi/C,EAAap4G,IAAI,GACjBq4G,EAAmBr4G,QAAInT,GACvByrH,EAAct4G,QAAInT,GAClB0rH,EAAev4G,QAAInT,GACnB2rH,EAAoBx4G,QAAInT,GACxBimH,EAAgBzuF,GAAO,iBAyCvBo0F,EAAe7+G,IAAS,WAC5B,OAAO4/D,EAAM7kD,MAAMu+F,UAAUuF,YAC/B,IAEMC,EAAsB9+G,IAAS,WACnC,OAAO4/D,EAAM7kD,MAAMu+F,UAAUyF,kBAAoBP,EAAWpqH,KAC9D,IAAE,SAEa4qH,IAAmB,OAAAC,EAAAt+G,MAAC,KAAD0H,UAAA,UAAA42G,IA1EtC,IAAAroH,EAoFK,OApFLA,EA0EsC+kF,KAAAoC,MAAlC,SAAAiB,IAAA,IAAAkgC,EAAA,OAAAvjC,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,cAAAioB,EAAAjoB,KAAA,EACQ2G,KAAU,WACZg0G,EAAiBrqH,MAAO,CAAF23B,EAAAjoB,KAAA,QACmC,GAArDo7G,EAAcT,EAAiBrqH,MAAM+qH,iBACzB,CAAFpzF,EAAAjoB,KAAA,eAAAioB,EAAAkxD,OAAA,iBAChB2hC,EAAkBxqH,MAAMwkF,SAAS,CAC/BxrC,IAAK8xE,EAAYE,UACjBC,SAAU,WACT,wBAAAtzF,EAAA3vB,OAAA,GAAA4iF,EAAA,IAR2BigC,EA1EtC,eAAAnxH,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,KAoFKgsH,EAAAt+G,MAAA,KAAA0H,UAAA,CAED,IAAMi3G,EAAqBt/G,IAAS,WAClC,OAAO4/D,EAAM7kD,MAAMu+F,UAAUgG,kBAC/B,IAEMC,EAAcv/G,IAAS,WAC3B,OAAQw+G,EAAWpqH,QAAUyqH,EAAazqH,QAAW0qH,EAAoB1qH,KAC3E,IAQA,SAASorH,IACgB5/C,EAAM7kD,MAAMu+F,UAAUmG,gBACtBf,EAAYtqH,MAAQ,MAAQuqH,EAAavqH,MAAQ,KAASsqH,EAAYtqH,MAAQ,IACnGyoH,GAAkB+B,EAAkBxqH,OAGpC8pH,GAAiBU,EAAkBxqH,MAEvC,CAdAykB,IAAM,iBAAM,CAAC+mD,EAAM7kD,MAAMu+F,UAAUrlE,SAAUqrE,EAAmBlrH,MAAOmrH,EAAYnrH,MAAM,IAAE,WACrFmrH,EAAYnrH,OACd4qH,GAEJ,IAYAnmG,IAAM,iBAAM,CAAC6lG,EAAYtqH,MAAOuqH,EAAavqH,MAAM,IAAE,WACnDorH,GACF,IAEA3mG,IAAM,kBAAM+mD,EAAM7kD,MAAMu+F,UAAUmG,cAAc,IAAE,WAC9CD,GACJ,IAEA,IAAME,EAAe,WACnBhB,EAAYtqH,MAAQxG,OAAOkgG,WAC3B6wB,EAAavqH,MAAQxG,OAAOovH,WAC9B,EAkBM2C,EAAmB3/G,IAAS,WAChC,OAAQ6+G,EAAazqH,QAAU0qH,EAAoB1qH,QAAUoqH,EAAWpqH,KAC1E,IAEMwrH,EAAiB5/G,IAAS,WAC9B,OAAQw+G,EAAWpqH,QAAUyqH,EAAazqH,KAC5C,IAEMyrH,EAAiB7/G,IAAS,WAC9B,IAAMw7G,EAAe57C,EAAM7kD,MAAMu+F,UAAUkC,aAC3C,MAAqB,4BAAjBA,GAA+D,uBAAjBA,CAIpD,IAEMx5B,EAAchiF,IAAS,WAC3B,OAAO4/D,EAAM7kD,MAAMu+F,UAAUkC,YAC/B,IAYA,OAVApgG,IAAU,WAnCRxtB,OAAO04C,iBAAiB,SAAUo5E,GAClCA,IAGF,WAAqC,IAAArG,EAEnC,IAD4CyG,eAAephD,QAAQ,yBAGjE,OADAkB,EAAM50B,SAAS,gCACR,EAEmC,QAAnCquE,EAACz5C,EAAM7kD,MAAMu+F,UAAUC,oBAAY,IAAAF,GAAlCA,EAAoCvuG,IAC5C80D,EAAM50B,SAAS,+BAEnB,CAwBE+0E,GACAf,GACF,IAEA3jG,IAAgB,WACd6iG,GAAiBU,EAAkBxqH,MACrC,IAEO,CACL4tF,YAAAA,EACAk3B,cAAAA,EACAqG,YAAAA,EACAI,iBAAAA,EACAf,kBAAAA,EACAgB,eAAAA,EACAC,eAAAA,EACAG,SAhIF,WACExB,EAAWpqH,OAAQ,CACrB,EA+HE0qH,oBAAAA,EACAmB,aA1HF,WACMzB,EAAWpqH,MACboqH,EAAWpqH,OAAQ,EAEZwrE,EAAM7kD,MAAMu+F,UAAUuF,cAC7Bj/C,EAAM50B,SAAS,0BAA0B,EAE7C,EAoHEk1E,UA/HF,WACE1B,EAAWpqH,OAAQ,CACrB,EA8HEslH,SA3JF,SAAkB71C,GAChB,IAAM81C,EAAc/5C,EAAM7kD,MAAMu+F,UAAUzvC,OAAOhG,GAEjD,OADK81C,GAAa9qH,QAAQC,MAAM,uBAAwB+0E,GACjD81C,GAA4B,IAAHtoG,OAAOwyD,EAAK,IAC9C,EAwJEg7C,aAAAA,EACAJ,iBAAAA,EACAD,WAAAA,EACA2B,gBAzJF,WACE3B,EAAWpqH,OAAQ,EACfwrE,EAAMa,QAAQ,qCAAuCb,EAAM7kD,MAAMu+F,UAAUuF,aAC7Ej/C,EAAM50B,SAAS,0BAA0B,GAElC40B,EAAMa,QAAQ,mCACrBb,EAAM50B,SAAS,uBAGf40B,EAAMkC,OAAO,oCAEjB,EA+IEs+C,mBA7IF,WACExgD,EAAMkC,OAAO,kCAAkC,EACjD,EA6IF,GvB3LF,6PwBDA6Z,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,CAU6B,SAEdyhC,GAAQvhC,EAAAC,EAAAuhC,GAAA,OAAAC,GAAA5/G,MAAC,KAAD0H,UAAA,UAAAk4G,KAZvB,IAAA3pH,EAwBC,OAxBDA,EAYuB+kF,KAAAoC,MAAvB,SAAAiB,EAAwBwhC,EAAangC,EAAOogC,GAAO,IAAA9rH,EAAA+rH,EAAA,OAAA/kC,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,cAAAioB,EAAAjoB,KAAA,EACzC2G,KAAU,OACP9V,EAAI,EAAC,YAAEA,EAAI6rH,EAAY5rH,QAAM,CAAAm3B,EAAAjoB,KAAA,YAC7B08G,EAAY7rH,GAAGP,MAAO,CAAF23B,EAAAjoB,KAAA,eAAAioB,EAAAkxD,OAAA,qBAErBwjC,EAAQ9rH,GAAGwsB,QAAUk/D,EAAM1rF,GAAGC,SAC9B4rH,EAAY7rH,GAAGP,MAAM0+B,aAAeutD,EAAM1rF,GAAGyC,OAAOqpH,EAAQ9rH,GAAGwsB,SAC/Ds/F,EAAQ9rH,GAAGwsB,UACLu/F,EAAWD,EAAQ9rH,GAAGwsB,QAAUk/D,EAAM1rF,GAAGC,OAC/ChE,YAAW,kBAAMyvH,GAASG,EAAangC,EAAOogC,EAAQ,GAAEE,GAAaD,KACxE,OARmC/rH,IAAGo3B,EAAAjoB,KAAA,iCAAAioB,EAAA3vB,OAAA,GAAA4iF,EAAA,IAFxBuhC,GAZvB,eAAAzyH,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,KAwBCstH,GAAA5/G,MAAA,KAAA0H,UAAA,CAEc,SAASu4G,GAAqBJ,EAAangC,GACtD,IAAMogC,EAAUpgC,EAAM9rF,KAAI,iBAAO,CAAE4sB,QAAS,EAAG,IAC/Ck/F,GAASG,EAAangC,EAAOogC,EACjC,CAEA,SAASE,GAAaD,GAGlB,OAFiB,GAEC,GAAwB5nF,KAAK+nF,IAAI,EAAIH,EAAU,EACrE,wPCnCA/kC,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,UAAAo7B,GAAApjH,GAAA,sBAAA9I,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,KAcA,UACE9E,KAAM,YACNm8B,WAAY,CACVw2F,YCb6B,QAAgB,GAAQ,CAAC,CAAC,iH1BCvD/nD,GAyDM,MAzDNypB,GAyDM,CAxDFrrB,GAuCM,MAvCNgC,GAuCM,CAtCclqC,EAAA2wF,gBAAc,KAC1B7mD,GAOS,gBAPAvmC,QAAKymC,EAAA,KAAAA,EAAA,qBAAEhqC,EAAA+wF,UAAA/wF,EAAA+wF,SAAAr/G,MAAAsuB,EAAA5mB,UAAQ,GAAO0xD,UAAOd,EAAA,KAAAA,EAAA,GAAA2qB,GAAArqB,IAAA,kBAAYtqC,EAAAiqF,eAAAjqF,EAAAiqF,cAAAv4G,MAAAsuB,EAAA5mB,UAAa,wBAAE,aAAW,QAAS,aAAY4mB,EAAAyqF,SAAS,oBAAsBloH,MAAOy9B,EAAAyqF,SAAS,oBAC5IngH,MAAM,8FAQdw/D,GAQWW,GAAA,CAAA/mE,IAAA,IAPuFs8B,EAAA4wF,gBAAc,KAA5G9mD,GAMS,gBANIgB,UAAOd,EAAA,KAAAA,EAAA,GAAA2qB,GAAArqB,IAAA,kBAAYtqC,EAAAiqF,eAAAjqF,EAAAiqF,cAAAv4G,MAAAsuB,EAAA5mB,UAAa,wBAAE,aAAW,QAASmqB,QAAKymC,EAAA,KAAAA,EAAA,qBAAEhqC,EAAAgxF,cAAAhxF,EAAAgxF,aAAAt/G,MAAAsuB,EAAA5mB,UAAY,GAClF9O,MAAM,0EAA4E,aAAY01B,EAAAyqF,SAAS,8BAAgCloH,MAAOy9B,EAAAyqF,SAAS,8DAO/JviD,GAkBM,MAlBN0C,GAkBM,CAjBF1C,GAOS,UAPA3kC,QAAKymC,EAAA,KAAAA,EAAA,qBAAEhqC,EAAAmxF,oBAAAnxF,EAAAmxF,mBAAAz/G,MAAAsuB,EAAA5mB,UAAkB,GAAO0xD,UAAOd,EAAA,KAAAA,EAAA,GAAA2qB,GAAArqB,IAAA,kBAAYtqC,EAAAiqF,eAAAjqF,EAAAiqF,cAAAv4G,MAAAsuB,EAAA5mB,UAAa,wBAAG,cAAY4mB,EAAA+yD,YAAoE,SACxJzoF,MAAM,2EAA4E,aAAY01B,EAAAyqF,SAAS,wBAA0BloH,MAAOy9B,EAAAyqF,SAAS,mCAOrJviD,GAQS,UARA3kC,QAAKymC,EAAA,KAAAA,EAAA,qBAAEhqC,EAAAkxF,iBAAAlxF,EAAAkxF,gBAAAx/G,MAAAsuB,EAAA5mB,UAAe,GAAO0xD,UAAOd,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,kBAAM30D,EAAAiqF,eAAAjqF,EAAAiqF,cAAAv4G,MAAAsuB,EAAA5mB,UAAa,aAAG,aAA4B,uBAAhB4mB,EAAA+yD,YAAuC,OAA5B,KACtFzoF,MAAM,gGAAiG,aAAY01B,EAAAyqF,SAAS,qBAAuBloH,MAAOy9B,EAAAyqF,SAAS,oCAU/KviD,GAcM,OAdD59D,MAAKy/D,EAAA,CAAC,2BAA0B,yCAAoD/pC,EAAAswF,eACrFn5G,IAAI,sBACJ+wD,GAWM,MAXNktB,GAWM,CAV2Ep1D,EAAAswF,aAAW,KAAxFxmD,GAIM,MAJNy2C,GAIM,CAHSvgF,EAAAsvF,gBAAc,KAAzBxlD,GAAkG,aAAvEx/D,MAAM,mCAAmCs5B,UAAQ5D,EAAAsvF,0CAC5EwC,GAA6B9xF,EAAArJ,OAAA,YAC7Bm7F,GAAqC9xF,EAAArJ,OAAA,yCAErBqJ,EAAA4vF,cAAY,KAAhC90B,GAAiDi3B,EAAA,CAAAruH,IAAA,mBACtBs8B,EAAA6vF,qBAAmB,KAA9C/0B,GAAsEk3B,EAAA,CAAAtuH,IAAA,mBACtE42C,GAEa23E,GAAA,CAFD/yH,KAAK,aAAaqtB,OAAA,iBAC1B,iBAAuC,CAAvByT,EAAAuvF,YAAU,KAA1Bz0B,GAAuCo3B,EAAA,CAAAxuH,IAAA,mCAIlBs8B,EAAAswF,YAAjCwB,GAAqD9xF,EAAArJ,OAAA,iBAAAjzB,IAAA,wByB3CzDyuH,YAAAA,IAEF3uH,MAAO,CAAC,EACR+pB,MAAK,WACH,IAAMojD,EAAQL,KACRirC,EAAUpkG,QAAInT,GACdouH,EAAiBj7G,QAAInT,GACrBquH,EAAiBl7G,QAAInT,GACrBsuH,EAAen7G,GAAI,MACnBo7G,EAAqBp7G,QAAInT,GACzBwuH,EAAgBr7G,GAAI,MACpBs7G,EAAmBt7G,IAAI,GACvBu7G,EAAiBv7G,IAAI,GACrBw7G,EAAqCx7G,IAAI,GACzCy7G,EAAsBz7G,QAAInT,GAEhC,SAASymH,EAAS71C,GAChB,IAAM81C,EAAc/5C,EAAM7kD,MAAMu+F,UAAUzvC,OAAOhG,GAEjD,OADK81C,GAAa9qH,QAAQC,MAAM,uBAAwB+0E,GACjD81C,GAA4B,IAAHtoG,OAAOwyD,EAAK,IAC9C,CAEA,SAASi+C,IACPliD,EAAMkC,OAAO,kCAAkC,EACjD,CAEA,IAAMigD,EAAgB/hH,IAAS,WAAM,IAAAq5G,EAAAI,EACnC,OAAwD,QAAxDJ,EAAyC,QAAzCI,EAAO75C,EAAM7kD,MAAMu+F,UAAUC,oBAAY,IAAAE,OAAA,EAAlCA,EAAoCuI,qBAAa,IAAA3I,EAAAA,EAAI,GAC9D,IACMoG,EAAiBz/G,IAAS,WAC9B,OAAO4/D,EAAM7kD,MAAMu+F,UAAUmG,cAC/B,IAEMxrE,EAAWj0C,IAAS,WAExB,OADiB4/D,EAAM7kD,MAAMu+F,UAAUrlE,UACV,EAC/B,IAEMqrE,EAAqBt/G,IAAS,WAClC,OAAO4/D,EAAM7kD,MAAMu+F,UAAUgG,kBAC/B,IAAG,SAEY2C,IAAW,OAAAC,EAAAvhH,MAAC,KAAD0H,UAAA,UAAA65G,IAUzB,OAVyBA,EAAAlI,GAAAr+B,KAAAoC,MAA1B,SAAAy8B,IAAA,IAAA2H,EAAA,OAAAxmC,KAAA/4E,MAAA,SAAA63G,GAAA,cAAAA,EAAA5rG,KAAA4rG,EAAA32G,MAAA,WACMs+G,EAAoBhuH,MAAO,CAAFqmH,EAAA32G,KAAA,eAAA22G,EAAAx9B,OAAA,UAAS,GAAK,OAIX,OAJWw9B,EAAA5rG,KAAA,EAEnCszG,EAAa3X,EAAQp2G,MAC3Bo2G,EAAQp2G,MAAQ,GAChBstH,EAAiBttH,OAAQ,EAAKqmH,EAAA32G,KAAA,EACxB87D,EAAM50B,SAAS,wBAAyBm3E,GAAW,OAE1B,OAF0B1H,EAAA5rG,KAAA,EAEzD6yG,EAAiBttH,OAAQ,EAAMqmH,EAAAl8B,OAAA,4BAAAk8B,EAAAr+G,OAAA,GAAAo+G,EAAA,uBAElC75G,MAAA,KAAA0H,UAAA,CAeD,SAASg6G,EAAuBC,EAAax3G,GAC3C,IAAMy3G,EAAkB3iD,EAAM7kD,MAAMu+F,UAAUiJ,gBAAgBrjE,MAC5D,SAACsrD,GAAO,OAAK1/F,IAAO0/F,EAAQ1/F,EAAE,IAEhC,YAAwB7X,IAApBsvH,EAAsC,GACnCA,EAAgBnuH,QAAUkuH,CACnC,CAEA,IAAME,EAAwBxiH,IAAS,WACrC,OAAO4/D,EAAM7kD,MAAMu+F,UAAUgG,kBAC/B,IAEMmD,EAAmBziH,IAAS,WAChC,OACE4/D,EAAM7kD,MAAMo0F,KAAKgD,oBACjBvyC,EAAM7kD,MAAMo0F,KAAKwC,aACjB/xC,EAAM7kD,MAAMo0F,KAAKyC,yBACjBhyC,EAAM7kD,MAAMo0F,KAAK0C,uBACjBjyC,EAAM7kD,MAAMo0F,KAAK2C,0BAErB,IAEM4Q,EAAgB1iH,IAAS,WAC7B,OACE4/D,EAAM7kD,MAAMu+F,UAAUyF,iBACtBn/C,EAAMa,QAAQ,kCAElB,IAEM2hD,EAAsBpiH,IAAS,WACnC,OACEwiH,EAAsBpuH,QACrBo2G,EAAQp2G,OACgB,IAAzBo2G,EAAQp2G,MAAMQ,MAElB,IASA,SAAS+tH,IACPhB,EAAevtH,MAAQxG,OAAOmhF,QAAU,CAC1C,CAEA,IAAM6zC,EAA0B5iH,IAAS,WACvC,QAAI4hH,EAAmCxtH,OAChCutH,EAAevtH,KACxB,IAoBMyuH,EAAc7iH,IAAS,WAAM,IAAA8iH,EACjC,OAAyC,QAAzCA,EAAOljD,EAAM7kD,MAAMu+F,UAAUC,oBAAY,IAAAuJ,GAAO,QAAPA,EAAlCA,EAAoC/nG,aAAK,IAAA+nG,OAAA,EAAzCA,EAA2CC,OACpD,IA0BAlqG,GAAM4mG,EAAc,eAAA7uC,EAAAopC,GAAAr+B,KAAAoC,MAAE,SAAAiB,EAAOgkC,GAAM,OAAArnC,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,WAC7Bk/G,EAAQ,CAAFj3F,EAAAjoB,KAAA,eAAAioB,EAAAjoB,KAAA,EACF2G,KAAU,OAChB82G,EAAantH,MAAMikE,QAAQ,wBAAAtsC,EAAA3vB,OAAA,GAAA4iF,EAAA,KAE9B,gBAAAF,GAAA,OAAAlO,EAAAjwE,MAAA,KAAA0H,UAAA,EALmB,IAQpB,IAAMwkG,EAAiB,SAAC59G,EAAGu9G,GACzB,IAAMnxD,EAAQomE,EAAcrtH,MAAMoxB,IAAI4W,cACpC,wBAEI7/B,EAAOklH,EAAcrtH,MAAMoxB,IAAI4W,cAAc,uBAC/CowE,GACFv9G,EAAE0gD,iBACF0L,SAAAA,EAAOgd,SACGm0C,IACVv9G,EAAE0gD,iBACFpzC,SAAAA,EAAM87D,QAEV,EAEM6gD,EAAgB,SAACjqH,GACrB,IACM69G,EADU79G,EAAEyB,OACIgoE,QAAQo0C,MAC9B,GAAc,QAAV79G,EAAE0D,IACJ,GAAc,SAAVm6G,EAAkB,CACpB,GAAI79G,EAAE+gD,SACJ,OAAO,EAEP68D,EAAe59G,GAAG,EAEtB,MAAO,GAAc,UAAV69G,EAAmB,CAC5B,IAAI79G,EAAE+gD,SAGJ,OAAO,EAFP68D,EAAe59G,GAAG,EAItB,CAEY,UAAVA,EAAE0D,KACJsvH,GAEJ,EAiFA,OA/EAz3F,GAAQ,gBAAiB0uF,GAEzB99F,IAAU,WAUV,IACQikB,EAkDA4jF,EACAC,EA/HNt1H,OAAO04C,iBACL,SACAgwD,IAAS,WACPqsB,GACF,GAAG,KAELA,KAsEMtjF,EAAK,IAAIw6E,iBAAiB,6BAC7BsJ,UAAY,SAACl0H,GACd,GAAe,gCAAXA,EAAEmhB,KAAwC,CAE5C,IAAMgzG,EAAwBtD,eAAephD,QAC3C,yBAIE0kD,GACF/jF,EAAGy6E,YAAY,CAAEsJ,sBAAAA,GAErB,MAAO,GAAe,2BAAXn0H,EAAEmhB,KAEX0vG,eAAeuD,WAAW,yBAC1BzjD,EAAM50B,SAAS,4BACV,GAAI/7C,EAAEmhB,KAAKgzG,sBAAuB,CACvC,IAGME,GAkBuBC,EArBG7oH,KAAKikE,MACnC1vE,EAAEmhB,KAAKgzG,uBAqBPI,EAAiB1D,eAAephD,QAAQ,yBACxC+kD,EAA8BD,EAChC9oH,KAAKikE,MAAM6kD,GACX,CAAC,EAELD,EAAwBG,WACgB,QADNC,EAChCF,EAA4BC,kBAAU,IAAAC,GAAAA,EACjCJ,GAvBGK,EAAclpH,KAAKC,UAAU2oH,GAGnCxD,eAAe/gD,QAAQ,wBAAyB6kD,GAE5CN,EAA2BI,YAC7B5B,GAEJ,CAOJ,IAAmCyB,EAAyBI,EACpDH,EACAC,CARN,EAGApkF,EAAGy6E,YAAY,+BAeTmJ,EAAkBvJ,EAAS,wBAC3BwJ,EAAkBxJ,EAAS,wBACjC7gG,GACEwoG,GACA,SAACl7G,GACKA,GACFy6G,GACE,CAACS,EAAgBC,GACjB,CAAC2B,EAAiBC,GAGxB,GACA,CAAEpqG,WAAW,GArEjB,IAEAsK,IAAY,WA7DVx1B,OAAOw4C,oBACL,SACAkwD,IAAS,WACPqsB,GACF,GAAG,IA2DP,IAqEO,CACLzJ,cAAAA,EACAuJ,iBAAAA,EACAZ,oBAAAA,EACAa,cAAAA,EACAE,wBAAAA,EACAiB,wBAhLF,WACEjC,EAAmCxtH,OAAQ,CAC7C,EA+KEiuH,uBAAAA,EACAd,aAAAA,EACAF,eAAAA,EACAC,eAAAA,EACAwC,eAjLF,SAAwB5yH,EAAM4Z,GAC5B,IAAIi5G,EACS,aAAT7yH,EACF6yH,EAAgB1B,EAAuB,WAAYv3G,GAC/C,kBACA,WACc,aAAT5Z,IACT6yH,EAAgB1B,EAAuB,WAAYv3G,GAC/C,kBACA,YA7BR,SAA6B1W,EAAO0W,GAClC80D,EAAM50B,SAAS,gCAAiC,CAC9ClgC,GAAIA,EACJwvG,SAAUlmH,GAEd,CA0BE4vH,CAAoBD,EAAej5G,EACrC,EAsKE20G,eAAAA,EACAH,mBAAAA,EACA2E,oBAlKF,SAA6BzZ,GAC3B,QAAIqY,IAAgBrY,IAAYA,EAAQxjG,SACd,WAAnBwjG,EAAQxjG,QAA0C,WAAnBwjG,EAAQxjG,MAChD,EAgKEk9G,oBA5PF,SAA6B1Z,GAC3B,SAAKA,IAAYA,EAAQxjG,SACC,WAAnBwjG,EAAQxjG,MACjB,EA0PE+6G,cAAAA,EACAD,eAAAA,EACAG,YAAAA,EACAP,iBAAAA,EACAyC,sBA5PF,SAA+B3Z,GAC7B,OAAKA,GAAYA,EAAQxjG,OACC,QAAnBwjG,EAAQxjG,QAAoBwjG,EAAQ4Z,aACvCxkD,EAAM7kD,MAAMu+F,UAAUzvC,OAAmC,2BACtC,QAAnB2gC,EAAQxjG,OACR44D,EAAM7kD,MAAMu+F,UAAUzvC,OAA+B,uBACrD,GALoC,EAM1C,EAsPE23C,mBAAAA,EACAgB,sBAAAA,EACAJ,oBAAAA,EACA5X,QAAAA,EACAiX,cAAAA,EACAxtE,SAAAA,EAEJ,GE7UF,IACI9lD,KAAM,2BACNsE,MAAO,CACH4xH,kBAAmB,CACfnzH,KAAME,OACNimE,UAAU,GAEditD,oBAAqB,CACjBpzH,KAAMqC,OACN8jE,UAAU,IAGlB76C,MAAK,SAAC/pB,GACF,IAAMmtE,EAAQL,KACR8hD,EAAiBj7G,QAAInT,GACrBquH,EAAiBl7G,QAAInT,GACrBsxH,EAAoBn+G,GAAI,MACxBo+G,EAAoBp+G,IAAI,GAKxBq+G,EAAqB,SAACzpH,GACxBA,EAAQ9B,SAAQ,SAAA8vE,GAyBpB,IACUi6C,EACAC,EA1BAl6C,EAAMioC,iBAAmBuT,EAAkBpwH,QAC7CowH,EAAkBpwH,OAAQ,EAwBxB6uH,EAAkBxwH,EAAM6xH,oBAAoBI,MAC5CxB,EAAkBzwH,EAAM6xH,oBAAoBK,MAClD9rG,GACAwoG,GACA,SAACl7G,GACOA,GACJy6G,GACI,CAACS,EAAgBC,GACjB,CAAC2B,EAAiBC,GAG1B,GACA,CAAEpqG,WAAW,IAjCb,GACF,EAoCF,OAlCAsC,IAAU,WACN,IAAMykF,EAAW,IAAIyR,qBAAqBmT,EAAoB,CAC5D1T,UAAW,KAGTwT,EAAkBnwH,OACpByrG,EAASz1D,QAAQm6E,EAAkBnwH,MAGzC,IAEAgvB,IAAY,WACNmhG,EAAkBnwH,OACpByrG,SAASnT,UAAU63B,EAAkBnwH,MAEzC,IAmBO,CACHmwH,kBAAAA,EACAlD,eAAAA,EACAC,eAAAA,EACAsD,aAnDJ,WACIhlD,EAAM50B,SAAS,sCAAuCv4C,EAAM4xH,kBAChE,EAmDJ,iBC3EW,SAAS,GAACh5D,GACvB,IAAMj3D,EAAQi3D,EAAMj5D,QAAQ,IAAK,IAEjC,OADkB,IAAI0uB,OAAO,qDACZjxB,KAAKuE,EACxB,wPCHAunF,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,CAAe,YAAfE,EAAAC,GAAA,OAAAnO,GAAAjwE,MAAA,KAAA0H,UAAA,CA6CC,SAAAuoE,KA7CD,IAAAh6E,EA6CC,OA7CDA,EA6CC+kF,KAAAoC,MA7Cc,SAAAiB,EAAgBvtF,EAAMvD,GAAG,IAAAgB,EAAAP,EAAA,OAAAgtF,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,OACrB,OAAb5U,EAAS,KAAI68B,EAAAjoB,KAAA,EACM23D,MAAMvtE,EAAK,CAChCsV,OAAQ,OACR/R,KAAMiJ,KAAKC,UAAUlJ,GACrBq4E,QAAS,CACP,eAAgB,sBAGjB5zE,MAAK,SAACuC,GAEL,GADAvJ,EAASuJ,EAAIvJ,OACTuJ,EAAIwmF,GACN,OAAOxmF,EAAIijE,OAEX,MAAM,IAAIv7C,MAAM,sCAEpB,IACCjqB,MAAK,SAACuC,GACL,OAAOA,CACT,IAAE,OACK,SAACuQ,GAEN,OADAna,QAAQC,MAAMka,GACPA,CACT,IAAE,OAiBH,OAtCKra,EAAQo9B,EAAA+wD,OAuBInuF,EAASR,MAAQQ,EAASwwF,OAASxwF,EAAS8+E,MAAQ9+E,EAASywF,oBAc3EvJ,GAbgB,CACZ,MAAS,yBACT,mBAAsB,GAAFxkE,OAAK1iB,EAASywF,mBAAkB,KAAA/tE,OAAI1iB,EAAS8+E,MACjE,QAAW,CACP,eAAkB9+E,EAASR,KAC3B,cAAiBQ,EAAS0wF,SAC1B,WAAc1wF,EAASwwF,MACvB,WAAcxwF,EAAS2wF,YACvB,4BAA+B3wF,EAAS8+E,KACxC,uCAA0C,UAKrD1hD,EAAAkxD,OAAA,SACM,CACLtuF,SAAUA,EACVO,OAAQA,IACT,wBAAA68B,EAAA3vB,OAAA,GAAA4iF,EAAA,IACFpO,GA7CD,eAAA9iF,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,KA6CC29E,GAAAjwE,MAAA,KAAA0H,UAAA,SCxCY9O,MAAM,gDAEFA,MAAM,wGACFA,MAAM,+BACHA,MAAM,8BACPA,MAAM,oCAGRA,MAAM,6CACFA,MAAM,sDACJA,MAAM,gEAGJA,MAAM,8DACFA,MAAM,4CAQP49D,GAAuD,QAAjD59D,MAAM,qCAAmC,YAC/C49D,GAA4E,SAArE59D,MAAM,gCAAgC6Y,IAAI,kBAAiB,MAAE,OAEnE7Y,MAAM,4CAQP49D,GAAuD,QAAjD59D,MAAM,qCAAmC,YAC/C49D,GAA4E,SAArE59D,MAAM,gCAAgC6Y,IAAI,iBAAgB,OAAG,OAI7E7Y,MAAM,yDAWbA,MAAM,oJAEFA,MAAM,2IAOHA,MAAM,wCAOTA,MAAM,0IAOHA,MAAM,wCAMRA,MAAM,uIAQJA,MAAM,wCAMRA,MAAM,uIAOJA,MAAM,8CASRA,MAAM,wGACFA,MAAM,qIASJA,MAAM,yDAWhBA,MAAM,0EClIvB,MDHA,GCGA,CACEpL,KAAM,qBACNsE,MAAOwvF,GACP33D,WAAY,CACV28D,kBAAAA,IAEFzqE,MAAK,SAAC/pB,GAAO,IAAAoyH,EACL1hC,EAAiB/8E,GAAI3T,EAAMktF,uBAAuByD,WAClDC,EAAgBj9E,GAAI3T,EAAMktF,uBAAuBN,UACjD9D,EAAan1E,GAAI3T,EAAMktF,uBAAuBR,OAC9C2lC,EAAa1+G,GAAI3T,EAAMktF,uBAAuBymB,OAC9C2e,EAAkB3+G,GAAI3T,EAAMktF,uBAAuBqlC,YACnDC,EAAU7+G,GAA2C,QAAxCy+G,EAACpyH,EAAMktF,uBAAuBqlC,kBAAU,IAAAH,GAAAA,GACrDK,EAAW9+G,GAAI3T,EAAMktF,uBAAuBwlC,KAC5CjjC,EAAoB97E,GAAI,uCAa9B,OAXAgV,IAAU,WACRxqB,YAAW,WACTsxF,EAAkB9tF,MAAQ,EAC5B,GAAG,KACL,IAOO,CACL+uF,eAAAA,EACAE,cAAAA,EACA9H,WAAAA,EACAupC,WAAAA,EACAC,gBAAAA,EACAK,sBAX4B,SAACC,GAC7BN,EAAgB3wH,MAAQixH,EACxBJ,EAAQ7wH,MAAQixH,CAClB,EASEJ,QAAAA,EACAC,SAAAA,EACA1iB,cAAAA,GACAtgB,kBAAAA,EAEJ,GCrCF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,+FFCvDnpB,GAoJU,UApJVypB,GAoJU,CAnJNrrB,GAkJM,OAlJD,YAAU,SAAS59D,MAAKy/D,EAAA,CAAC,2BAAmC/pC,EAAAizD,sBAC7D/qB,GA0CM,MA1CNgC,GA0CM,CAzCFhC,GAGM,MAHNiC,GAGM,CAFFjC,GAAoE,KAApEmsB,GAAoEjqB,GAA9BpqC,EAAAmxD,iBAAiB5uF,OAAK,GAC5D2lE,GAAsE,IAAtEwvB,GAAwC,QAAKttB,GAAGpqC,EAAAyxD,iBAAe,KAGnEvpB,GAmCM,MAnCNmC,GAmCM,CAlCFnC,GA4BM,MA5BNwrB,GA4BM,CA3BFxrB,GAEI,IAFJyC,GAEIP,GADGpqC,EAAA46C,OAAOy7C,iBAAe,GAE7BnuD,GAuBM,MAvBN0C,GAuBM,CAtBF1C,GAUM,MAVN2C,GAUM,CATF3C,GAMsD,SALlDjmE,KAAK,QACL/C,KAAK,aACL2c,GAAG,iBACHvR,MAAM,gCACL60C,SAA6B,IAApBnf,EAAA81F,gBACLtrD,SAAMR,EAAA,KAAAA,EAAA,qBAAQhqC,EAAAm2F,uBAAsB,EAAD,gBAC5CprD,GACAC,KAEJ9C,GAUM,MAVNyrB,GAUM,CATFzrB,GAMuD,SALnDjmE,KAAK,QACL/C,KAAK,aACL2c,GAAG,gBACHvR,MAAM,gCACL60C,SAA6B,IAApBnf,EAAA81F,gBACLtrD,SAAMR,EAAA,KAAAA,EAAA,qBAAQhqC,EAAAm2F,uBAAsB,EAAD,gBAC5C/gC,GACAmrB,SAIZr4C,GAII,IAJJqtB,GAII,CAHgBv1D,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,eAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UAD8B,QAC9B,EADJs8B,EAAA46C,OAAO07C,mCAA2B,IAAAC,EAAAA,EAAA,0EAMrDruD,GAA0H,OAArH59D,MAAM,uEAAuEs5B,UAAQ5D,EAAAmxD,iBAAiBiC,oBAE3GlrB,GAyDM,MAzDNytB,GAyDM,CAvDFztB,GAaM,MAbN0tB,GAaM,IAXF1tB,GAI2F,SAHvF59D,MAAM,yBACL8d,YAA6B,QAAlBmsE,EAAEv0D,EAAA46C,OAAO4Z,iBAAS,IAAAD,EAAAA,EAAA,+DACrBv0D,EAAAk0D,eAAc9R,CAAA,GAClBsS,QAAK1qB,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,YAAAzrF,MAA+B66B,EAAAk0D,iBAAc,iCADtEl0D,EAAAk0D,kBAGbhsB,GAII,IAJJ4tB,GAII,CAHgB91D,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,cAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADwB,QACxB,EADJs8B,EAAA46C,OAAO47C,6BAAqB,IAAAC,EAAAA,EAAA,0DAI3CvuD,GAaM,MAbNu4C,GAaM,IAXFv4C,GAIyF,SAHrF59D,MAAM,yBACL8d,YAA4B,QAAjB0sE,EAAE90D,EAAA46C,OAAOma,gBAAQ,IAAAD,EAAAA,EAAA,iEACpB90D,EAAAo0D,cAAahS,CAAA,GACjBsS,QAAK1qB,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,WAAAzrF,MAA8B66B,EAAAo0D,gBAAa,iCADpEp0D,EAAAo0D,iBAGblsB,GAII,IAJJiuB,GAII,CAHgBn2D,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,aAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADuB,QACvB,EADJs8B,EAAA46C,OAAO87C,4BAAoB,IAAAC,EAAAA,EAAA,4DAI1CzuD,GAaM,MAbN0uD,GAaM,IAZF1uD,GAKmF,SAJ/E59D,MAAM,yBACN+2E,UAAU,KACTj5D,YAAyB,QAAdyuG,EAAE72F,EAAA46C,OAAOu8B,aAAK,IAAA0f,EAAAA,EAAA,+DACjB72F,EAAA61F,WAAUzzC,CAAA,GACdsS,QAAK1qB,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,QAAAzrF,MAA2B66B,EAAA61F,aAAU,iCAD9D71F,EAAA61F,cAGb3tD,GAII,IAJJsuB,GAII,CAHgBx2D,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,UAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADoB,QACpB,EADJs8B,EAAA46C,OAAOk8C,yBAAiB,IAAAC,EAAAA,EAAA,gEAIvC7uD,GAYM,MAZN04C,GAYM,IAXF14C,GAImF,SAH/E59D,MAAM,yBACL8d,YAAyB,QAAditE,EAAEr1D,EAAA46C,OAAOsV,aAAK,IAAAmF,EAAAA,EAAA,8DACjBr1D,EAAAssD,WAAUlK,CAAA,GACdsS,QAAK1qB,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,QAAAzrF,MAA2B66B,EAAAssD,aAAU,iCAD9DtsD,EAAAssD,cAGbpkB,GAII,IAJJ2uB,GAII,CAHgB72D,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,UAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADoB,QACpB,EADJs8B,EAAA46C,OAAO4a,yBAAiB,IAAAC,EAAAA,EAAA,kEAM3Bz1D,EAAAg2F,SAAO,KACnBlsD,GAgBM,MAhBN+2C,GAgBM,CAfF34C,GAcM,MAdN8uD,GAcM,IAbF9uD,GAM+E,SAL3E59D,MAAM,yBACN+2E,UAAU,KACTj5D,YAAuB,QAAZ6uG,EAAEj3F,EAAA46C,OAAOs7C,WAAG,IAAAe,EAAAA,EAAA,oEACfj3F,EAAAi2F,SAAQ7zC,CAAA,GACZ80C,QAAKltD,EAAA,MAAAA,EAAA,sBAAEhqC,EAAAuzE,eAAAvzE,EAAAuzE,cAAA7hG,MAAAsuB,EAAA5mB,UAAa,GACpBs7E,QAAK1qB,EAAA,MAAAA,EAAA,IAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,MAAAzrF,MAAyB66B,EAAAi2F,WAAQ,iCAF1Dj2F,EAAAi2F,YAIb/tD,GAII,IAJJivD,GAII,CAHgBn3F,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,QAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADkB,QAClB,EADJs8B,EAAA46C,OAAOw8C,uBAAe,IAAAC,EAAAA,EAAA,8EAO7CnvD,GAA+G,OAA1G59D,MAAM,4DAA4Ds5B,UAAQ5D,EAAAmxD,iBAAiBiC,oBAEhGlrB,GAiBM,MAjBNovD,GAiBM,CAhBFh9E,GAeyC+9C,EAAA,CAdpC3F,qBAAsB1yD,EAAA0yD,qBACtBD,iBAAgB,kBAA+DzyD,EAAAyyD,iBAAgB,0BAAiEzyD,EAAAk0D,gBAAc,wBAAiEl0D,EAAAo0D,eAAa,qBAA8Dp0D,EAAAssD,YAAU,qBAA8DtsD,EAAA61F,YAAU,0BAAmE71F,EAAA81F,iBAAe,mBAA4D91F,EAAAi2F,aAW1hBriC,mBAAoB5zD,EAAAmxD,iBAAiBt8E,KACrC48E,gBAAiBzxD,EAAAyxD,gBACjBJ,gBAAiBrxD,EAAAqxD,iYGtJtC3E,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,CAcA,UACEzwF,KAAM,cACNm8B,WAAY,CACVy9D,iBAAAA,GACAy+B,mBAAAA,GACAt+B,oBAAAA,GACAC,kBAAAA,IAEF11F,MAAO,CACLo3E,OAAQ,CACN34E,KAAMqC,OACN8jE,UAAU,GAEZovD,OAAQ,CACNv1H,KAAME,OACNimE,UAAU,GAEZ8C,OAAQ,CACNjpE,KAAME,OACNimE,UAAU,GAEZqvD,iBAAkB,CAChBx1H,KAAME,OACNimE,UAAU,GAEZ43B,YAAa,CACX/9F,KAAMwE,MACN2hE,UAAU,EACV9hD,QAAS,iBAAM,EAAE,GAEnBoxG,qBAAsB,CACpBz1H,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEXqxG,cAAe,CACb11H,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEXusE,YAAa,CACX5wF,KAAME,OACNimE,UAAU,GAEZ0qB,aAAc,CACZ7wF,KAAME,OACNimE,UAAU,GAEZ0P,gBAAiB,CACf71E,KAAME,OACNimE,UAAU,EACV9hD,QAAS,MAEXsxG,SAAU,CACR31H,KAAME,OACNimE,UAAU,GAEZk4B,gBAAiB,CACbr+F,KAAMuqB,QACNlG,SAAS,EACT8hD,UAAU,GAEdmW,SAAU,CACRt8E,KAAME,OACNimE,UAAU,IAGd76C,MAAK,SAAC/pB,GACJ,IAAMk2F,EAAmB3oF,IAAS,WAChC,OAAOvN,EAAMs0E,gBAAkB,qBAAH11D,OAAwB5e,EAAMs0E,iBAAoB,EAChF,IAEM+/C,EAAoB9mH,IAAS,WACjC,OAAOvN,EAAMk0H,qBAAuB,gCAAkC,EACxE,IAEMI,EAAwB/mH,IAAS,WACrC,MAAO,GAAPqR,OAAUs3E,EAAiBv0F,MAAK,KAAAid,OAAIy1G,EAAkB1yH,MACxD,IAeMmrF,EAAYn5E,GAAI,CACpB,CACEy5E,MAAO,YACPzrF,MAAO,GACPmtF,UAAWsH,GACXlZ,SAAS,GAEX,CACEkQ,MAAO,WACPzrF,MAAO,GACPmtF,UAAWsH,GACXlZ,SAAS,GAEX,CACEkQ,MAAO,QACPzrF,MAAO,GACPmtF,UAAWuH,GACXnZ,SAAS,GAEX,CACEkQ,MAAO,QACPzrF,MAAO,GACPmtF,UAAWmmB,GACX/3B,SAAS,GAEX,CACEkQ,MAAO,MACPzrF,MAAO,GACPmtF,UArCmB,SAACl2B,GACtB,OAAIk0B,EAAUnrF,MAAM8qD,MAAK,SAAC2gC,GAAK,MAAqB,eAAhBA,EAAMA,KAAsB,IAAEzrF,OACzD4yH,GAAa37D,EAIxB,EAgCIskB,SAAS,GAEX,CACEkQ,MAAO,aACPzrF,MAAO,KACPmtF,UAAWxuC,GACX48B,SAAS,GAEX,CACEkQ,MAAO,UACPzrF,MAAO,GACPmtF,UArDqB,SAACl2B,GACxB,OAAO,CACT,EAoDIskB,SAAS,KAMT6P,EAAsBp5E,GAAI,CAC5B,CACE+5E,KAAM,EACNhyF,KAAM,mBACN8xF,UAAWxtF,EAAMm0H,cACjBpmC,iBAAiB,EACjBH,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpB6wF,QAAS5vF,EAAMo3E,OAAOo9C,aACtBnjH,KAAMrR,EAAMo3E,OAAO2lB,iBAGvB,CACErP,KAAM,EACNhyF,KAAM,qBACN8xF,WAAW,EACXO,iBAAiB,EACjBH,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpB6wF,QAAS5vF,EAAMo3E,OAAOwY,QACtBv+E,KAAMrR,EAAMo3E,OAAO2lB,iBAGvB,CACErP,KAAM,EACNhyF,KAAM,sBACN8xF,WAAW,EACXO,iBAAiB,EACjBH,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpBsS,KAAMrR,EAAMo3E,OAAO2lB,iBAGvB,CACErP,KAAM,EACNhyF,KAAM,oBACN8xF,WAAW,EACXO,iBAAiB,EACjBH,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOmf,aACpB3G,QAAS5vF,EAAMo3E,OAAO6lB,sBAKtBvO,EAAoB/6E,IAAI,GAC9B8iF,EAUIC,GAAyB5J,EAAUnrF,MAAOorF,EAAoBprF,MAAO3B,EAAMo3E,QAT7E8V,EAAsBuJ,EAAtBvJ,uBACAc,EAAeyI,EAAfzI,gBACAX,EAAeoJ,EAAfpJ,gBACAM,EAAgB8I,EAAhB9I,iBACAE,EAAe4I,EAAf5I,gBACAI,EAAewI,EAAfxI,gBACAK,EAAqBmI,EAArBnI,sBACAE,EAAoBiI,EAApBjI,qBACAf,EAAiBgJ,EAAjBhJ,kBAGI8B,EAAc9B,aAAiB,EAAjBA,EAAmB9rF,MAcjCg1F,EAAU,eAlOpBxyF,EAkOoBg6E,GAlOpBh6E,EAkOoB+kF,KAAAoC,MAAG,SAAAiB,EAAgBkC,GAAS,IAAAzvF,EAAA,OAAAkqF,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,OAezC,OAdKrS,EAAO,CACXy1H,eAAgBz0H,EAAMg0H,OACtBhjC,UAAWvC,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,cAAhBA,EAAMA,KAAqB,IAAEzrF,MAClE4vF,SAAU9C,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,aAAhBA,EAAMA,KAAoB,IAAEzrF,MAChE+qF,MAAO+B,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,UAAhBA,EAAMA,KAAiB,IAAEzrF,MAC1DgyG,MAAOllB,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,UAAhBA,EAAMA,KAAiB,IAAEzrF,MAC1D+yF,QAASjG,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,YAAhBA,EAAMA,KAAmB,IAAEzrF,MAC9D4wH,WAAY9jC,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,eAAhBA,EAAMA,KAAsB,IAAEzrF,MACpEyyH,SAAUp0H,EAAMo0H,SAChBt3B,gBAA2C,SAA1B98F,EAAM88F,iBAGrBrO,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,eAAhBA,EAAMA,KAAsB,IAAEzrF,QAC1D3C,EAAK01H,IAAMjmC,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,QAAhBA,EAAMA,KAAe,IAAEzrF,OAC7D23B,EAAAjoB,KAAA,EAEsBsjH,GAAmB31H,EAAMgB,EAAM0nE,QAAO,OAA/CpuC,EAAA+wD,KAAA,wBAAA/wD,EAAA3vB,OAAA,GAAA4iF,EAAA,IAnPpB,eAAAlxF,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,MAoPK,gBAlBe6rF,GAAA,OAAAlO,EAAAjwE,MAAA,KAAA0H,UAAA,KAoBhB,MAAO,CACL+3E,iBAAAA,EACAe,kBAAAA,EACArB,gBAAAA,EACAH,uBAAAA,EACA+J,wBArC8B,SAAUxI,GACxC,IAAMyI,EAAeC,GACnB1I,EACA3B,EAAUnrF,MACVorF,EAAoBprF,MACpB0rF,EAAgB1rF,MAChBg1F,GAGFjI,EAAkB/sF,MAAQu1F,CAC5B,EA4BEjJ,gBAAAA,EACAO,qBAAAA,EACAF,sBAAAA,EACAT,gBAAAA,EACAG,gBAAAA,EACAsmC,sBAAAA,EACA/kC,YAAAA,EAEJ,GCnQF,MCKA,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CDCzDjpB,GAgBU,WAhBDx/D,MAAKy/D,EAAA,CAAC,mBAA0C/pC,EAAA83F,wBAAtBj8G,GAAImkB,EAAAu+C,iBACrCuc,GAc8BC,GAbvB/6D,EAAA6wD,iBAAe,CACnB4B,iBAAkBzyD,EAAAy6D,wBAClB/H,qBAAsB1yD,EAAAgyD,qBACtBE,kBAAmBlyD,EAAAkyD,kBACnBf,iBAAkBnxD,EAAAmxD,iBAClBE,gBAAiBrxD,EAAAqxD,gBACjBG,gBAAiBxxD,EAAAwxD,gBACjBd,uBAAwB1wD,EAAA0wD,uBACxBoB,sBAAuB9xD,EAAA8xD,sBACvBL,gBAAiBzxD,EAAAyxD,gBACjBoB,YAAa7yD,EAAA6yD,YACbC,aAAc9yD,EAAA8yD,aACdlY,OAAQ56C,EAAA46C,OACRmY,YAAa/yD,EAAA+yD,wREfPzoF,MAAM,2DAEFA,MAAM,wGACFA,MAAM,+BACHA,MAAM,8BACPA,MAAM,qDAObA,MAAM,oJAEFA,MAAM,2IAOHA,MAAM,wCAOTA,MAAM,0IAOHA,MAAM,wCAMRA,MAAM,uIAQJA,MAAM,wCAMRA,MAAM,uIAOJA,MAAM,wCAQZA,MAAM,wGACFA,MAAM,qIASJA,MAAM,wCASbA,MAAM,qJACDA,MAAM,mDACJA,MAAM,6DAGJA,MAAM,2DACFA,MAAM,6BAOP49D,GAAuD,QAAjD59D,MAAM,qCAAmC,YAC/C49D,GAA2E,SAApE59D,MAAM,gCAAgC6Y,IAAI,iBAAgB,MAAE,OAElE7Y,MAAM,6BAOP49D,GAAuD,QAAjD59D,MAAM,qCAAmC,YAC/C49D,GAA2E,SAApE59D,MAAM,gCAAgC6Y,IAAI,gBAAe,OAAG,OAK5E7Y,MAAM,sFAOJA,MAAM,mDACFA,MAAM,oEACJA,MAAM,6DAMRA,MAAM,2DACFA,MAAM,6BAOP49D,GAAuD,QAAjD59D,MAAM,qCAAmC,YAC/C49D,GAA+E,SAAxE59D,MAAM,gCAAgC6Y,IAAI,qBAAoB,MAAE,OAEtE7Y,MAAM,6BAOP49D,GAAuD,QAAjD59D,MAAM,qCAAmC,YAC/C49D,GAA+E,SAAxE59D,MAAM,gCAAgC6Y,IAAI,oBAAmB,OAAG,OAKhF7Y,MAAM,uGASRA,MAAM,0ECtKvB,UACEpL,KAAM,+BACNsE,MAAOwvF,GACP33D,WAAY,CACV28D,kBAAAA,GACAgH,QAAAA,IAEFzxE,MAAK,SAAC/pB,GACJ,IAAM0wF,EAAiB/8E,GAAI3T,EAAMktF,uBAAuByD,WAClDC,EAAgBj9E,GAAI3T,EAAMktF,uBAAuBN,UACjD9D,EAAan1E,GAAI3T,EAAMktF,uBAAuBR,OAC9C2lC,EAAa1+G,GAAI3T,EAAMktF,uBAAuBymB,OAC9CihB,EAAiBjhH,GAAI3T,EAAMktF,uBAAuB2nC,WAClDC,EAAqBnhH,GAAI3T,EAAMktF,uBAAuB6nC,eACtDtlC,EAAoB97E,GAAI,uCACxB8+G,EAAW9+G,GAAI3T,EAAMktF,uBAAuBwlC,KAgBlD,OAdA/pG,IAAU,WACRxqB,YAAW,WACTsxF,EAAkB9tF,MAAQ,EAC5B,GAAG,KACL,IAUO,CACL+uF,eAAAA,EACAE,cAAAA,EACA9H,WAAAA,EACAupC,WAAAA,EACAuC,eAAAA,EACAnC,SAAAA,EACA1iB,cAAAA,GACA+kB,mBAAAA,EACAE,qBAjB2B,SAACpC,GAC5BgC,EAAejzH,MAAQixH,CACzB,EAgBEqC,yBAd+B,SAACrC,GAChCkC,EAAmBnzH,MAAQixH,CAC7B,EAaEnjC,kBAAAA,EAEJ,GDhDF,6PEDAvG,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,CAcA,UACEzwF,KAAM,wBACNm8B,WAAY,CACVy9D,iBAAAA,GACA4/B,8BCd6B,QAAgB,GAAQ,CAAC,CAAC,iHHCvD5uD,GA0LU,UA1LVypB,GA0LU,CAzLNrrB,GAwLM,OAxLD,YAAU,SAAS59D,MAAKy/D,EAAA,CAAC,2BAAmC/pC,EAAAizD,sBAC7D/qB,GAKM,MALNgC,GAKM,CAJFhC,GAGM,MAHNiC,GAGM,CAFFjC,GAAoE,KAApEmsB,GAAoEjqB,GAA9BpqC,EAAAmxD,iBAAiB5uF,OAAK,GAC5D2lE,GAAsE,IAAtEwvB,GAAwC,QAAKttB,GAAGpqC,EAAAyxD,iBAAe,OAIvEvpB,GAA0H,OAArH59D,MAAM,uEAAuEs5B,UAAQ5D,EAAAmxD,iBAAiBiC,oBAE3GlrB,GAyDM,MAzDNwrB,GAyDM,CAvDFxrB,GAaM,MAbNyC,GAaM,IAXFzC,GAI2F,SAHvF59D,MAAM,yBACL8d,YAA6B,QAAlBmsE,EAAEv0D,EAAA46C,OAAO4Z,iBAAS,IAAAD,EAAAA,EAAA,+DACrBv0D,EAAAk0D,eAAc9R,CAAA,GAClBsS,QAAK1qB,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,YAAAzrF,MAA+B66B,EAAAk0D,iBAAc,iCADtEl0D,EAAAk0D,kBAGbhsB,GAII,IAJJ2C,GAII,CAHgB7qC,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,cAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADwB,QACxB,EADJs8B,EAAA46C,OAAOga,6BAAqB,IAAAH,EAAAA,EAAA,0DAI3CvsB,GAaM,MAbNo4C,GAaM,IAXFp4C,GAIyF,SAHrF59D,MAAM,yBACL8d,YAA4B,QAAjB0sE,EAAE90D,EAAA46C,OAAOma,gBAAQ,IAAAD,EAAAA,EAAA,iEACpB90D,EAAAo0D,cAAahS,CAAA,GACjBsS,QAAK1qB,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,WAAAzrF,MAA8B66B,EAAAo0D,gBAAa,iCADpEp0D,EAAAo0D,iBAGblsB,GAII,IAJJ8C,GAII,CAHgBhrC,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,aAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADuB,QACvB,EADJs8B,EAAA46C,OAAO87C,4BAAoB,IAAAC,EAAAA,EAAA,4DAI1CzuD,GAaM,MAbNyrB,GAaM,IAZFzrB,GAKmF,SAJ/E59D,MAAM,yBACN+2E,UAAU,KACTj5D,YAAyB,QAAdyuG,EAAE72F,EAAA46C,OAAOu8B,aAAK,IAAA0f,EAAAA,EAAA,+DACjB72F,EAAA61F,WAAUzzC,CAAA,GACdsS,QAAK1qB,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,QAAAzrF,MAA2B66B,EAAA61F,aAAU,iCAD9D71F,EAAA61F,cAGb3tD,GAII,IAJJktB,GAII,CAHgBp1D,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,UAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADoB,QACpB,EADJs8B,EAAA46C,OAAOk8C,yBAAiB,IAAAC,EAAAA,EAAA,gEAIvC7uD,GAYM,MAZNq4C,GAYM,IAXFr4C,GAImF,SAH/E59D,MAAM,yBACL8d,YAAyB,QAAditE,EAAEr1D,EAAA46C,OAAOsV,aAAK,IAAAmF,EAAAA,EAAA,8DACjBr1D,EAAAssD,WAAUlK,CAAA,GACdsS,QAAK1qB,EAAA,KAAAA,EAAA,GAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,QAAAzrF,MAA2B66B,EAAAssD,aAAU,iCAD9DtsD,EAAAssD,cAGbpkB,GAII,IAJJwtB,GAII,CAHgB11D,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,UAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADoB,QACpB,EADJs8B,EAAA46C,OAAO4a,yBAAiB,IAAAC,EAAAA,EAAA,0DAM3CvtB,GAgBM,MAhBNytB,GAgBM,CAfFztB,GAcM,MAdN0tB,GAcM,IAbF1tB,GAM+E,SAL3E59D,MAAM,yBACN+2E,UAAU,KACTj5D,YAAuB,QAAZ6uG,EAAEj3F,EAAA46C,OAAOs7C,WAAG,IAAAe,EAAAA,EAAA,kEACfj3F,EAAAi2F,SAAQ7zC,CAAA,GACZ80C,QAAKltD,EAAA,KAAAA,EAAA,qBAAEhqC,EAAAuzE,eAAAvzE,EAAAuzE,cAAA7hG,MAAAsuB,EAAA5mB,UAAa,GACpBs7E,QAAK1qB,EAAA,MAAAA,EAAA,IAAA2qB,IAAA,SAAAvS,GAAA,OAAQpiD,EAAAyyD,iBAAiB,CAAC,CAAF7B,MAAA,MAAAzrF,MAAyB66B,EAAAi2F,WAAQ,iCAF1Dj2F,EAAAi2F,YAIb/tD,GAII,IAJJ4tB,GAII,CAHgB91D,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,QAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UADkB,QAClB,EADJs8B,EAAA46C,OAAOw8C,uBAAe,IAAAC,EAAAA,EAAA,+DAMzCnvD,GA0EM,MA1ENu4C,GA0EM,CAxEFv4C,GA0BM,MA1BN+tB,GA0BM,CAzBF/tB,GAEI,IAFJiuB,GAEI/rB,GADGpqC,EAAA46C,OAAO+9C,mBAAiB,GAE/BzwD,GAqBM,MArBN0uD,GAqBM,CApBF1uD,GASM,MATNouB,GASM,CARFpuB,GAKqD,SAJjDjmE,KAAK,QACL/C,KAAK,YACL2c,GAAG,gBACHvR,MAAM,gCACDkgE,SAAMR,EAAA,MAAAA,EAAA,sBAAQhqC,EAAAw4F,sBAAqB,EAAD,aAC3ChiC,GACAoqB,KAEJ14C,GASM,MATNyuB,GASM,CARFzuB,GAKsD,SAJlDjmE,KAAK,QACL/C,KAAK,YACL2c,GAAG,eACHvR,MAAM,gCACDkgE,SAAMR,EAAA,MAAAA,EAAA,sBAAQhqC,EAAAw4F,sBAAqB,EAAD,aAC3C3hC,GACAgqB,SAKZ34C,GAKI,IALJ8uD,GAKI,CAJgBh3F,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,cAAD,KAA1DhoB,GAGCW,GAAA,CAAA/mE,IAAA,UAFkC,QAElC,EAFMs8B,EAAA46C,OAAOg+C,6BAAqB,IAAAC,EAAAA,EAAA,kEAKvC3wD,GA8BM,MA9BN4uB,GA8BM,CA7BF5uB,GAKM,MALNivD,GAKM,CAJFjvD,GAEI,IAFJ4wD,GAEI1uD,GADGpqC,EAAA46C,OAAOm+C,uBAAqB,GAEnCz+E,GAAqE0+E,EAAA,CAA3D1iD,QAASt2C,EAAA46C,OAAOq+C,yBAA0B76B,YAAY,0BAGpEl2B,GAqBM,MArBNovD,GAqBM,CApBFpvD,GASM,MATNgxD,GASM,CARFhxD,GAKyD,SAJrDjmE,KAAK,QACL/C,KAAK,gBACL2c,GAAG,oBACHvR,MAAM,gCACDkgE,SAAMR,EAAA,MAAAA,EAAA,sBAAQhqC,EAAAy4F,0BAAyB,EAAD,aAC/CU,GACAC,KAEJlxD,GASM,MATNmxD,GASM,CARFnxD,GAK0D,SAJtDjmE,KAAK,QACL/C,KAAK,gBACL2c,GAAG,mBACHvR,MAAM,gCACDkgE,SAAMR,EAAA,MAAAA,EAAA,sBAAQhqC,EAAAy4F,0BAAyB,EAAD,aAC/Ca,GACAC,SAKZrxD,GAII,IAJJsxD,GAII,CAHgBx5F,EAAAkyD,mBAAqBlyD,EAAA8xD,sBAAsB,kBAAD,KAA1DhoB,GAEWW,GAAA,CAAA/mE,IAAA,UAD4B,QAC5B,EADJs8B,EAAA46C,OAAO6+C,iCAAyB,IAAAC,EAAAA,EAAA,oEAK/CxxD,GAA+G,OAA1G59D,MAAM,4DAA4Ds5B,UAAQ5D,EAAAmxD,iBAAiBiC,oBAEhGlrB,GAkBM,MAlBNyxD,GAkBM,CAjBFr/E,GAgByC+9C,EAAA,CAfpC3F,qBAAsB1yD,EAAA0yD,qBACtBD,iBAAgB,kBAA+DzyD,EAAAyyD,iBAAgB,0BAAiEzyD,EAAAk0D,gBAAc,wBAAiEl0D,EAAAo0D,eAAa,qBAA8Dp0D,EAAAssD,YAAU,qBAA8DtsD,EAAA61F,YAAU,yBAAkE71F,EAAAo4F,gBAAc,6BAAsEp4F,EAAAs4F,oBAAkB,mBAA4Dt4F,EAAAi2F,aAYhnBriC,mBAAoB5zD,EAAAmxD,iBAAiBt8E,KACrC48E,gBAAiBzxD,EAAAyxD,gBACjBJ,gBAAiBrxD,EAAAqxD,0IEzKlC4H,oBAAAA,GACAC,kBAAAA,IAEF11F,MAAO,CACLo3E,OAAQ,CACN34E,KAAMqC,OACN8jE,UAAU,GAEZovD,OAAQ,CACNv1H,KAAME,OACNimE,UAAU,GAEZ8C,OAAQ,CACNjpE,KAAME,OACNimE,UAAU,GAEZqvD,iBAAkB,CAChBx1H,KAAME,OACNimE,UAAU,GAEZ43B,YAAa,CACX/9F,KAAMwE,MACN2hE,UAAU,EACV9hD,QAAS,iBAAM,EAAE,GAEnBoxG,qBAAsB,CACpBz1H,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEXqxG,cAAe,CACb11H,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEXusE,YAAa,CACX5wF,KAAME,OACNimE,UAAU,GAEZ0qB,aAAc,CACZ7wF,KAAME,OACNimE,UAAU,GAEZ0P,gBAAiB,CACf71E,KAAME,OACNimE,UAAU,EACV9hD,QAAS,MAEXsxG,SAAU,CACN31H,KAAME,OACNimE,UAAU,GAEdk4B,gBAAiB,CACbr+F,KAAMuqB,QACNlG,SAAS,EACT8hD,UAAU,IAGhB76C,MAAK,SAAC/pB,GACJ,IAAMk2F,EAAmB3oF,IAAS,WAChC,OAAOvN,EAAMs0E,gBAAkB,qBAAH11D,OAAwB5e,EAAMs0E,iBAAoB,EAChF,IAEM+/C,EAAoB9mH,IAAS,WACjC,OAAOvN,EAAMk0H,qBAAuB,gCAAkC,EACxE,IAEMI,EAAwB/mH,IAAS,WACrC,MAAO,GAAPqR,OAAUs3E,EAAiBv0F,MAAK,KAAAid,OAAIy1G,EAAkB1yH,MACxD,IAOMmrF,EAAYn5E,GAAI,CACpB,CACEy5E,MAAO,YACPzrF,MAAO,GACPmtF,UAAWsH,GACXlZ,SAAS,GAEX,CACEkQ,MAAO,WACPzrF,MAAO,GACPmtF,UAAWsH,GACXlZ,SAAS,GAEX,CACEkQ,MAAO,QACPzrF,MAAO,GACPmtF,UAAWuH,GACXnZ,SAAS,GAEX,CACEkQ,MAAO,QACPzrF,MAAO,GACPmtF,UAAWmmB,GACX/3B,SAAS,GAEX,CACEkQ,MAAO,YACPzrF,MAAO,KACPmtF,UAAWxuC,GACX48B,SAAS,GAEX,CACEkQ,MAAO,gBACPzrF,MAAO,KACPmtF,UAAWxuC,GACX48B,SAAS,GAEX,CACEkQ,MAAO,UACPzrF,MAAO,GACPmtF,UA7CqB,SAACl2B,GACxB,OAAO,CACT,EA4CIskB,SAAS,GAEX,CACEkQ,MAAO,MACPzrF,MAAO,GACPmtF,UAAWylC,GACXr3C,SAAS,KAMT6P,EAAsBp5E,GAAI,CAC5B,CACE+5E,KAAM,EACNhyF,KAAM,mBACN8xF,UAAWxtF,EAAMm0H,cACjBpmC,iBAAiB,EACjBH,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpB6wF,QAAS5vF,EAAMo3E,OAAOo9C,aACtBnjH,KAAMrR,EAAMo3E,OAAO2lB,iBAGvB,CACErP,KAAM,EACNhyF,KAAM,+BACN8xF,WAAW,EACXO,iBAAiB,EACjBH,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpB6wF,QAAS5vF,EAAMo3E,OAAOwY,QACtBv+E,KAAMrR,EAAMo3E,OAAO2lB,iBAGvB,CACErP,KAAM,EACNhyF,KAAM,sBACN8xF,WAAW,EACXO,iBAAiB,EACjBH,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpBsS,KAAMrR,EAAMo3E,OAAO2lB,iBAGvB,CACErP,KAAM,EACNhyF,KAAM,oBACN8xF,WAAW,EACXO,iBAAiB,EACjBH,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOmf,aACpB3G,QAAS5vF,EAAMo3E,OAAOof,YAKtB9H,EAAoB/6E,IAAI,GAE9B8iF,EASIC,GAAyB5J,EAAUnrF,MAAOorF,EAAoBprF,OARhEurF,EAAsBuJ,EAAtBvJ,uBACAc,EAAeyI,EAAfzI,gBACAX,EAAeoJ,EAAfpJ,gBACAM,EAAgB8I,EAAhB9I,iBACAE,EAAe4I,EAAf5I,gBACAI,EAAewI,EAAfxI,gBACAK,EAAqBmI,EAArBnI,sBACAE,EAAoBiI,EAApBjI,qBAeImI,EAAU,eA1NpBxyF,EA0NoBg6E,GA1NpBh6E,EA0NoB+kF,KAAAoC,MAAG,SAAAiB,EAAgBkC,GAAS,IAAAzvF,EAAA,OAAAkqF,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,OAazC,OAZKrS,EAAO,CACXy1H,eAAgBz0H,EAAMg0H,OACtBhjC,UAAWvC,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,cAAhBA,EAAMA,KAAqB,IAAEzrF,MAClE4vF,SAAU9C,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,aAAhBA,EAAMA,KAAoB,IAAEzrF,MAChE+qF,MAAO+B,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,UAAhBA,EAAMA,KAAiB,IAAEzrF,MAC1DgyG,MAAOllB,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,UAAhBA,EAAMA,KAAiB,IAAEzrF,MAC1D+yF,QAASjG,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,YAAhBA,EAAMA,KAAmB,IAAEzrF,MAC9DkzH,UAAWpmC,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,cAAhBA,EAAMA,KAAqB,IAAEzrF,MAClEy0H,uBAAwB3nC,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,kBAAhBA,EAAMA,KAAyB,IAAEzrF,MACnF+wH,IAAKjkC,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,QAAhBA,EAAMA,KAAe,IAAEzrF,MACtDyyH,SAAUp0H,EAAMo0H,SAChBt3B,gBAAiB98F,EAAM88F,iBACxBxjE,EAAAjoB,KAAA,EAEsBsjH,GAAmB31H,EAAMgB,EAAM0nE,QAAO,OAA/CpuC,EAAA+wD,KAAA,wBAAA/wD,EAAA3vB,OAAA,GAAA4iF,EAAA,IAzOpB,eAAAlxF,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,MA0OK,gBAhBe6rF,GAAA,OAAAlO,EAAAjwE,MAAA,KAAA0H,UAAA,KAkBhB,MAAO,CACL+3E,iBAAAA,EACAe,kBAAAA,EACArB,gBAAAA,EACAH,uBAAAA,EACA+J,wBAnC8B,SAAUxI,GACxC,IAAMyI,EAAeC,GACnB1I,EACA3B,EAAUnrF,MACVorF,EAAoBprF,MACpB0rF,EAAgB1rF,MAChBg1F,GAGFjI,EAAkB/sF,MAAQu1F,CAC5B,EA0BEjJ,gBAAAA,EACAO,qBAAAA,EACAF,sBAAAA,EACAT,gBAAAA,EACAG,gBAAAA,EACAsmC,sBAAAA,EAEJ,GExPF,MCKA,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CDCzDhuD,GAeU,WAfDx/D,MAAKy/D,EAAA,CAAC,+CAAuD/pC,EAAA83F,gCACpEh9B,GAaqBC,GAZd/6D,EAAA6wD,iBAAe,CACnB4B,iBAAkBzyD,EAAAy6D,wBAClB/H,qBAAsB1yD,EAAAgyD,qBACtBE,kBAAmBlyD,EAAAkyD,kBACnBf,iBAAkBnxD,EAAAmxD,iBAClBE,gBAAiBrxD,EAAAqxD,gBACjBG,gBAAiBxxD,EAAAwxD,gBACjBd,uBAAwB1wD,EAAA0wD,uBACxBoB,sBAAuB9xD,EAAA8xD,sBACvBL,gBAAiBzxD,EAAAyxD,gBACjBoB,YAAa7yD,EAAA6yD,YACbC,aAAc9yD,EAAA8yD,aACdlY,OAAQ56C,EAAA46C,iQEdJtwE,MAAM,oDAGTA,MAAM,wGACDA,MAAM,+BACLA,MAAM,8BACPA,MAAM,oCAITA,MAAM,oJASF49D,GAA0D,QAApD59D,MAAM,wCAAsC,wBAWxDA,MAAM,+HAKCA,MAAM,iDACT49D,GAEC,QAFK59D,MAAM,mDACT,8DAA0D,GAE7D49D,GAWM,OAXD59D,MAAM,mDAAiD,CAC1D49D,GASM,OATD+B,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAC9EvG,GAII,KAJD,YAAU,WAAS,CACpBA,GAE6R,QAD3Rv9C,KAAK,UACLxmB,EAAE,2RAEN+jE,GAEO,aADLA,GAAyE,YAA/DrsD,GAAG,KAAG,CAACqsD,GAA6C,QAAvCv9C,KAAK,OAAOxmB,EAAE,yCAQ5CmG,MAAM,0ECxDjB,MDHA,GCGA,CACEpL,KAAM,yBACNm8B,WAAY,CACV28D,kBAAAA,GACAgH,QAAAA,IAEFx7F,MAAOwvF,GACPzlE,MAAK,SAAC/pB,GACJ,IAAMy7F,EAAmB9nF,GAAI,IACvB+nF,EAAe/nF,IAAI,GACnB87E,EAAoB97E,GAAI,uCAqC9B,OAnCAgV,IAAU,WACR3oB,EAAMovF,gBAAgB3oF,SAAQ,SAACk1F,GAC7BF,EAAiB95F,MAAM0H,KAAK,CACxB+jF,MAAOuO,EAAWC,YAClBC,kBAAmBF,EAAWjgG,KAChCiG,MAAO3B,EAAMktF,uBAAuByO,EAAWjgG,MAC/Co3E,QAAS6oB,EAAW7oB,SAExB,IAEA30E,YAAW,WACTsxF,EAAkB9tF,MAAQ,EAC5B,GAAG,KACL,IAsBO,CACL85F,iBAAAA,EACAM,eAtBqB,WAGrB,GAFoBN,EAAiB95F,MAAM6c,MAAK,SAAC4uE,GAAK,OAAKA,EAAMzrF,KAAK,IAErD,CACb,IAAM23E,EAAQ,GAEdmiB,EAAiB95F,MAAM8E,SAAQ,SAAC2mF,GAC5B9T,EAAMjwE,KAAK,CACP+jF,MAAOA,EAAMyO,kBACbngG,KAAM0xF,EAAMA,MACZzrF,MAAOyrF,EAAMzrF,OAErB,IAEA3B,EAAMivF,iBAAiB3V,EAC3B,MACIt5E,EAAMivF,iBAAiB,CAAEonC,gBAAgB,GAE/C,EAKE36B,aAAAA,EACAjM,kBAAAA,EAEJ,GCnDF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,yFFCzDnpB,GAgEU,UAhEVypB,GAgEU,CA/DRrrB,GA8DM,OA9DD59D,MAAKy/D,EAAA,CAAC,2BAAmC/pC,EAAAizD,sBAC5C/qB,GAyBM,MAzBNgC,GAyBM,CAvBJhC,GAGM,MAHNiC,GAGM,CAFJjC,GAAoE,KAApEmsB,GAAoEjqB,GAA9BpqC,EAAAmxD,iBAAiB5uF,OAAK,GAC5D2lE,GAAsE,IAAtEwvB,GAAwC,QAAKttB,GAAGpqC,EAAAyxD,iBAAe,KAGjEvpB,GAiBM,MAjBNmC,GAiBM,SAfJP,GAcWW,GAAA,KAAAC,GAdwB1qC,EAAAi/D,kBAAgB,SAAjCrO,EAAOjkF,eACvBm9D,GAYM,WAbmDn9D,EACpDrC,MAAM,iCACT49D,GAK0B,SAJxBjmE,KAAK,WACL/C,KAAK,aACJ2c,GAAE,cAAAuG,OAAgBzV,GACnBrC,MAAM,4EACGsmF,EAAMzrF,MAAKi9E,CAAA,mBAAXwO,EAAMzrF,SACjBwlE,GACAzC,GAEU,SAFH59D,MAAM,mCAAoC6Y,IAAA,cAAAf,OAAmBzV,OAClEikF,EAAMA,OAAK,EAAAhmB,IAEbtwB,GAAmD0+E,EAAA,CAAzC1iD,QAASsa,EAAMta,QAAS8nB,YAAY,uCAMtDl2B,GAwBM,MAxBN2C,GAwBM,CAtBJ3C,GAE0C,OADxC59D,MAAM,kEACNs5B,UAAQ5D,EAAAmxD,iBAAiBiC,oBACXpzD,EAAAk/D,cAAY,KAC1Bp1B,GAgBM,MAhBNiB,GAgBMkqB,KAAA,gBAIV/sB,GAOM,MAPNktB,GAOM,CANJ96C,GAKuC+9C,EAAA,CAJpC3F,qBAAsB1yD,EAAA0yD,qBACtBD,iBAAkBzyD,EAAAu/D,eAClB3L,mBAAoB5zD,EAAAmxD,iBAAiBt8E,KACrC48E,gBAAiBzxD,EAAAyxD,gBACjBJ,gBAAiBrxD,EAAAqxD,iYGlE5B3E,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,UAAAmqC,GAAAzzH,EAAA2kC,IAAA,MAAAA,GAAAA,EAAA3kC,EAAAV,UAAAqlC,EAAA3kC,EAAAV,QAAA,QAAAD,EAAA,EAAAq0H,EAAA,IAAAtzH,MAAAukC,GAAAtlC,EAAAslC,EAAAtlC,IAAAq0H,EAAAr0H,GAAAW,EAAAX,GAAA,OAAAq0H,CAAA,CAgBA,UACE76H,KAAM,wBACNm8B,WAAY,CACVy9D,iBAAAA,GACAy+B,mBAAAA,GACAt+B,oBAAAA,GACA+gC,uBAAAA,GACA9gC,kBAAAA,IAEF11F,MAAO,CACLo3E,OAAQ,CACN34E,KAAMqC,OACN8jE,UAAU,GAEZovD,OAAQ,CACNv1H,KAAME,OACNimE,UAAU,GAEZ8C,OAAQ,CACNjpE,KAAME,OACNimE,UAAU,GAEZqvD,iBAAkB,CAChBx1H,KAAME,OACNimE,UAAU,GAEZ43B,YAAa,CACX/9F,KAAMwE,MACN2hE,UAAU,EACV9hD,QAAS,iBAAM,EAAE,GAEnB+5E,sBAAuB,CACrBp+F,KAAMwE,MACN2hE,UAAU,GAEZsvD,qBAAsB,CACpBz1H,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEXqxG,cAAe,CACb11H,KAAMuqB,QACN47C,UAAU,EACV9hD,SAAS,GAEXusE,YAAa,CACX5wF,KAAME,OACNimE,UAAU,GAEZ0qB,aAAc,CACZ7wF,KAAME,OACNimE,UAAU,GAEZ0P,gBAAiB,CACf71E,KAAME,OACNimE,UAAU,EACV9hD,QAAS,MAEXsxG,SAAU,CACN31H,KAAME,OACNimE,UAAU,GAEdk4B,gBAAiB,CACbr+F,KAAMuqB,QACNlG,SAAS,EACT8hD,UAAU,IAGhB76C,MAAK,SAAC/pB,GACJ,IArFJ6C,EAqFUqzF,EAAmB3oF,IAAS,WAChC,OAAOvN,EAAMs0E,gBAAkB,qBAAH11D,OAAwB5e,EAAMs0E,iBAAoB,EAChF,IAEM+/C,EAAoB9mH,IAAS,WACjC,OAAOvN,EAAMk0H,qBAAuB,gCAAkC,EACxE,IAEMI,EAAwB/mH,IAAS,WACrC,MAAO,GAAPqR,OAAUs3E,EAAiBv0F,MAAK,KAAAid,OAAIy1G,EAAkB1yH,MACxD,IAeMmrF,EAAYn5E,GAAI,GAADiL,OA9GzB,SAAA/b,GAAA,GAAAI,MAAAC,QAAAL,GAAA,OAAAyzH,GAAAzzH,EAAA,CAAA4zH,CAAA5zH,EA+GS7C,EAAM68F,wBA/Gf,SAAA65B,GAAA,uBAAAj1H,QAAA,MAAAi1H,EAAAj1H,OAAAyP,WAAA,MAAAwlH,EAAA,qBAAAzzH,MAAA0uB,KAAA+kG,EAAA,CAAAC,CAAA9zH,IAAA,SAAAhC,EAAA+1H,GAAA,GAAA/1H,EAAA,qBAAAA,EAAA,OAAAy1H,GAAAz1H,EAAA+1H,GAAA,IAAAtxH,EAAAxE,OAAAvD,UAAAqG,SAAAlD,KAAAG,GAAAgD,MAAA,uBAAAyB,GAAAzE,EAAAgI,cAAAvD,EAAAzE,EAAAgI,YAAAnN,MAAA,QAAA4J,GAAA,QAAAA,EAAArC,MAAA0uB,KAAA9wB,GAAA,cAAAyE,GAAA,2CAAAlI,KAAAkI,GAAAgxH,GAAAz1H,EAAA+1H,QAAA,GAAAC,CAAAh0H,IAAA,qBAAA4nF,UAAA,wIAAAqsC,GA+GoC,CAC9B,CACE1pC,MAAO,YACPzrF,MAAO,GACPmtF,UAAWsH,GACXlZ,SAAS,GAEX,CACEkQ,MAAO,WACPzrF,MAAO,GACPmtF,UAAWsH,GACXlZ,SAAS,GAEX,CACEkQ,MAAO,QACPzrF,MAAO,GACPmtF,UAAWuH,GACXnZ,SAAS,GAEX,CACEkQ,MAAO,QACPzrF,MAAO,GACPmtF,UAAWmmB,GACX/3B,SAAS,GAEX,CACEkQ,MAAO,MACPzrF,MAAO,GACPmtF,UAtCmB,SAACl2B,GACtB,OAAIk0B,EAAUnrF,MAAM8qD,MAAK,SAAC2gC,GAAK,MAAqB,eAAhBA,EAAMA,KAAsB,IAAEzrF,OACzD4yH,GAAa37D,EAIxB,EAiCIskB,SAAS,GAEX,CACEkQ,MAAO,aACPzrF,MAAO,KACPmtF,UAAWxuC,GACX48B,SAAS,GAEX,CACEkQ,MAAO,UACPzrF,MAAO,GACPmtF,UAtDqB,SAACl2B,GACxB,OAAO,CACT,EAqDIskB,SAAS,MAMT6P,EAAsBp5E,GAAI,CAC5B,CACE+5E,KAAM,EACNhyF,KAAM,mBACN8xF,UAAWxtF,EAAMm0H,cACjBpmC,iBAAiB,EACjBH,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpB6wF,QAAS5vF,EAAMo3E,OAAOo9C,aACtBnjH,KAAMrR,EAAMo3E,OAAO2lB,iBAGvB,CACErP,KAAM,EACNhyF,KAAM,qBACN8xF,WAAW,EACXO,iBAAiB,EACjBH,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpB6wF,QAAS5vF,EAAMo3E,OAAOwY,QACtBv+E,KAAMrR,EAAMo3E,OAAO2lB,iBAGvB,CACErP,KAAM,EACNhyF,KAAM,sBACN8xF,WAAW,EACXO,iBAAiB,EACjBH,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpBsS,KAAMrR,EAAMo3E,OAAO2lB,iBAGvB,CACErP,KAAM,EACNhyF,KAAM,yBACN8xF,WAAW,EACXO,iBAAiB,EACjBH,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOr4E,MACpB6wF,QAAS5vF,EAAMo3E,OAAO2/C,mBACtB1lH,KAAMrR,EAAMo3E,OAAO2lB,iBAGvB,CACErP,KAAM,EACNhyF,KAAM,oBACN8xF,WAAW,EACXO,iBAAiB,EACjBH,MAAO,CACL7uF,MAAOiB,EAAMo3E,OAAOmf,aACpB3G,QAAS5vF,EAAMo3E,OAAOof,YAKtB9H,EAAoB/6E,IAAI,GAE9B8iF,EASIC,GAAyB5J,EAAUnrF,MAAOorF,EAAoBprF,OARhEurF,EAAsBuJ,EAAtBvJ,uBACAc,EAAeyI,EAAfzI,gBACAX,EAAeoJ,EAAfpJ,gBACAM,EAAgB8I,EAAhB9I,iBACAE,EAAe4I,EAAf5I,gBACAI,EAAewI,EAAfxI,gBACAK,EAAqBmI,EAArBnI,sBACAE,EAAoBiI,EAApBjI,qBAgBImI,EAAU,eAhPpBxyF,EAgPoBg6E,GAhPpBh6E,EAgPoB+kF,KAAAoC,MAAG,SAAAiB,EAAgBkC,GAAS,IAAAzvF,EAAAw9F,EAAAw6B,EAAA,OAAA9tC,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,OAYzC,OAXKrS,EAAO,CACXy1H,eAAgBz0H,EAAMg0H,OACtBhjC,UAAWvC,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,cAAhBA,EAAMA,KAAqB,IAAEzrF,MAClE4vF,SAAU9C,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,aAAhBA,EAAMA,KAAoB,IAAEzrF,MAChE+qF,MAAO+B,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,UAAhBA,EAAMA,KAAiB,IAAEzrF,MAC1DgyG,MAAOllB,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,UAAhBA,EAAMA,KAAiB,IAAEzrF,MAC1D+yF,QAASjG,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,YAAhBA,EAAMA,KAAmB,IAAEzrF,MAC9D4wH,WAAY9jC,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,eAAhBA,EAAMA,KAAsB,IAAEzrF,MACpE+wH,IAAKjkC,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,QAAhBA,EAAMA,KAAe,IAAEzrF,MACtDyyH,SAAUp0H,EAAMo0H,SAChBt3B,gBAA2C,SAA1B98F,EAAM88F,iBACxBxjE,EAAAjoB,KAAA,EAEsBsjH,GAAmB31H,EAAMgB,EAAM0nE,QAAO,OAS3D,GATYpuC,EAAA+wD,KAERmS,EAAc,GAEpBx8F,EAAMw8F,YAAY3uF,QAAO,SAAC8tF,GACxB,IAAMs7B,EAAkBxoC,EAAUhiC,MAAK,SAAC2gC,GAAK,OAAKA,EAAMA,QAAUuO,EAAWjgG,IAAI,KAClD,KAA3Bu7H,aAAe,EAAfA,EAAiBt1H,QACnB66F,EAAYnzF,KAAKsyF,EAAWjgG,KAEhC,MAEI8gG,EAAYr6F,OAAS,GAAC,CAAAm3B,EAAAjoB,KAAA,SAQrB,OAPK2lH,EAAiB,CACnBtqC,MAAO+B,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,UAAhBA,EAAMA,KAAiB,IAAEzrF,MAC1DqvF,UAAWvC,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,cAAhBA,EAAMA,KAAqB,IAAEzrF,MAClE4vF,SAAU9C,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,aAAhBA,EAAMA,KAAoB,IAAEzrF,MAChEgyG,MAAOllB,EAAUhiC,MAAK,SAAC2gC,GAAK,MAAqB,UAAhBA,EAAMA,KAAiB,IAAEzrF,MAC1D66F,YAAaA,EACbjoF,OAAQpZ,OAAO6C,SAASF,MAC3Bw7B,EAAAjoB,KAAA,GAEK+rF,GAAwB45B,EAAgBh3H,EAAMi0H,kBAAiB,yBAAA36F,EAAA3vB,OAAA,GAAA4iF,EAAA,IAnR/E,eAAAlxF,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,MAqRK,gBArCe6rF,GAAA,OAAAlO,EAAAjwE,MAAA,KAAA0H,UAAA,KAuChB,MAAO,CACL+3E,iBAAAA,EACAe,kBAAAA,EACArB,gBAAAA,EACAH,uBAAAA,EACA+J,wBAzD8B,SAAUxI,GACxC,IAAMyI,EAAeC,GACnB1I,EACA3B,EAAUnrF,MACVorF,EAAoBprF,MACpB0rF,EAAgB1rF,MAChBg1F,EACAlI,EAAU4nC,gBAGZ3nC,EAAkB/sF,MAAQu1F,CAC5B,EA+CEjJ,gBAAAA,EACAO,qBAAAA,EACAF,sBAAAA,EACAT,gBAAAA,EACAG,gBAAAA,EACAsmC,sBAAAA,EAEJ,GCnSF,MCKA,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CDCzDhuD,GAgBU,WAhBDx/D,MAAKy/D,EAAA,CAAC,mBAA2B/pC,EAAA83F,gCACxCh9B,GAcmCC,GAb5B/6D,EAAA6wD,iBAAe,CACnB4B,iBAAkBzyD,EAAAy6D,wBAClB/H,qBAAsB1yD,EAAAgyD,qBACtBE,kBAAmBlyD,EAAAkyD,kBACnBf,iBAAkBnxD,EAAAmxD,iBAClBE,gBAAiBrxD,EAAAqxD,gBACjBG,gBAAiBxxD,EAAAwxD,gBACjBd,uBAAwB1wD,EAAA0wD,uBACxBoB,sBAAuB9xD,EAAA8xD,sBACvBL,gBAAiBzxD,EAAAyxD,gBACjBoB,YAAa7yD,EAAA6yD,YACbC,aAAc9yD,EAAA8yD,aACdlY,OAAQ56C,EAAA46C,OACRgY,gBAAiB5yD,EAAAggE,wREfb11F,MAAM,kCACRA,MAAM,oCACLA,MAAM,2CACPA,MAAM,iDAGNA,MAAM,qCASJA,MAAM,6CACJA,MAAM,qEAEP49D,GAIwB,QAHtBv9C,KAAK,UACL,YAAU,UACVxmB,EAAE,gLACF,YAAU,4CAgBd+jE,GAAiD,QAA3C59D,MAAM,+BAA6B,cAK1C2/D,KAAK,SAAS3/D,MAAM,qCAIpBA,MAAM,4BC/CJA,MAAM,yDACoBA,MAAM,uCACpBA,MAAM,8CAIDA,MAAM,8CAOrBA,MAAM,yCACJA,MAAM,iDACDA,MAAM,8DAOdA,MAAM,2DAOEA,MAAM,yGAaNA,MAAM,iEAEJA,MAAM,uEAINA,MAAM,uEAKRA,MAAM,uFAKJ49D,GAWI,KAVF2G,OAAO,UACP,oBAAkB,KAClB,eAAa,MACb3G,GAEoI,QADlI,iBAAe,SACf/jE,EAAE,gIACJ+jE,GAAuB,QAAjB/jE,EAAE,eACR+jE,GAEwC,QADtC,iBAAe,SACf/jE,EAAE,0CC1E5B,MDEA,GCFA,CACEjF,KAAM,sBACNsE,MAAO,CACLjB,MAAO,CACLN,KAAME,OACNimE,UAAU,GAEZgW,YAAa,CACXn8E,KAAME,OACNimE,UAAU,GAEZsyD,cAAe,CACbz4H,KAAMqC,OACN8jE,UAAU,IAGd76C,MAAK,SAAC/pB,GAAQ,GCThB,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFCzDsmE,GAgFU,UAhFVypB,GAgFU,CA/EGvzD,EAAAz9B,OAASy9B,EAAAo+C,aAAW,KAA/BtU,GAQM,MARNI,GAQM,CAPMlqC,EAAAz9B,OAAK,KAAfunE,GAEK,KAFLK,GAEKC,GADApqC,EAAAz9B,OAAK,kBAGDy9B,EAAAo+C,aAAW,KAApBtU,GAEI,IAFJuqB,GAEIjqB,GADCpqC,EAAAo+C,aAAW,2CAIlBtU,GAoEWW,GAAA,KAAAC,GApEuB1qC,EAAA06F,eAAa,SAA7Bl1H,EAAMmH,eACtBm9D,GAkEM,WAnE+Cn9D,EAChDrC,MAAM,+BACT49D,GAgEM,MAhENwvB,GAgEM,CA/DJxvB,GAIM,MAJNmC,GAIM,CAHJnC,GAES,SAFTwrB,GAEStpB,GADJ5kE,EAAKjD,OAAK,KAKTiD,EAAKsvG,MAAMnvG,OAAS,GAAH,KADzBmkE,GAwDK,KAxDLa,GAwDK,SArDHb,GAoDWW,GAAA,KAAAC,GApDuBllE,EAAKsvG,OAAK,SAA1BrrG,EAAMkD,eACtBm9D,GAkDK,UAnD6Cn9D,EAC9CrC,MAAM,kDACR49D,GAgDI,KA/CD5mE,KAAMmI,EAAKnI,KACZgJ,MAAM,wDACN49D,GAYM,MAZN2C,GAYM,OATJf,GAOM,OAPA,aAAYrgE,aAAI,EAAJA,EAAMkxH,cACtBjsD,MAAM,6BACN/jD,KAAK,OACL8jD,QAAQ,YACP,eAAc,EACd,oBAAmB,KACpBvG,GAAwC,OAAlC,aAAU,GAAA9lD,OAAK3Y,EAAK6rE,4BAI9BpN,GAUM,MAVN8C,GAUM,CARJ9C,GAGC,QAHDyrB,GAGCvpB,GADK3gE,EAAKykE,MAAI,GAEfhG,GAGI,IAHJ+sB,GAGI7qB,GADC3gE,EAAKlH,OAAK,KAGjB2lE,GAoBM,MApBNktB,GAoBM,OAlBJtrB,GAgBM,OAhBA,aAAYrgE,aAAI,EAAJA,EAAMmxH,kBACtBlsD,MAAM,6BACN/jD,KAAK,OACL8jD,QAAQ,sUG9D9Bie,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,UAAA0qC,GAAAh2H,EAAA+1H,GAAA,GAAA/1H,EAAA,qBAAAA,EAAA,OAAAy1H,GAAAz1H,EAAA+1H,GAAA,IAAAtxH,EAAAxE,OAAAvD,UAAAqG,SAAAlD,KAAAG,GAAAgD,MAAA,uBAAAyB,GAAAzE,EAAAgI,cAAAvD,EAAAzE,EAAAgI,YAAAnN,MAAA,QAAA4J,GAAA,QAAAA,EAAArC,MAAA0uB,KAAA9wB,GAAA,cAAAyE,GAAA,2CAAAlI,KAAAkI,GAAAgxH,GAAAz1H,EAAA+1H,QAAA,YAAAN,GAAAzzH,EAAA2kC,IAAA,MAAAA,GAAAA,EAAA3kC,EAAAV,UAAAqlC,EAAA3kC,EAAAV,QAAA,QAAAD,EAAA,EAAAq0H,EAAA,IAAAtzH,MAAAukC,GAAAtlC,EAAAslC,EAAAtlC,IAAAq0H,EAAAr0H,GAAAW,EAAAX,GAAA,OAAAq0H,CAAA,CAMA,UACE76H,KAAM,kBACNm8B,WAAY,CACVw/F,oBAAAA,GACA5vD,oBAAAA,IAEFznE,MAAO,CACLkiE,MAAO,CACLzjE,KAAMqC,OACN8jE,UAAU,GAEZ8C,OAAQ,CACNjpE,KAAME,OACNimE,UAAU,GAEZ7lE,MAAO,CACLN,KAAME,OACNimE,UAAU,GAEZoU,OAAQ,CACNv6E,KAAME,OACNimE,UAAU,GAEZgW,YAAa,CACXn8E,KAAME,OACNimE,UAAU,GAEZ0yD,aAAc,CACZ74H,KAAME,OACNimE,UAAU,GAEZ2yD,gBAAiB,CACf94H,KAAME,OACNimE,UAAU,GAEZ22C,kBAAmB,CACjB98G,KAAME,OACNimE,UAAU,EACV9hD,QAAS,6BAEX00G,SAAU,CACR/4H,KAAMiH,OACNk/D,UAAU,EACV9hD,QAAS,KAGbiH,MAAK,SAAC/pB,GACJ,IAAMk3H,EAAgBvjH,GAAI,IACpB++C,EAAU/+C,GAAI,IACd8jH,EAAgB9jH,GAAI,IACpB6jH,EAAW7jH,GAAI3T,EAAMw3H,UACrBrvD,EAAcx0D,GAAI,GAClB+jH,EAAmB/jH,GAAI,IACvBgkH,EAAoBhkH,GAAI,GACxBikH,EAAoBjkH,GAAI,GAE9BgV,IAAU,WACRkvG,IAEI73H,EAAMkiE,OACR41D,IAGFC,GACF,IAEA,IAAMF,EAA4B,WAChC,IAC2CG,EA1EjDn1H,EAAAX,EAyEYmZ,EAAS,IAAI48G,gBAAgB98H,OAAO6C,SAAS+6F,QAAOm/B,EAzEhE,SAAAr3H,GAAA,IAAAs3H,EAAA,oBAAA12H,QAAAZ,EAAAY,OAAAyP,WAAArQ,EAAA,kBAAAs3H,EAAA,IAAAl1H,MAAAC,QAAArC,KAAAs3H,EAAAtB,GAAAh2H,IAAA,CAAAs3H,IAAAt3H,EAAAs3H,GAAA,IAAAj2H,EAAA,EAAAk2H,EAAA,oBAAArzG,EAAAqzG,EAAA9yH,EAAA,kBAAApD,GAAArB,EAAAsB,OAAA,CAAAmP,MAAA,IAAAA,MAAA,EAAA3P,MAAAd,EAAAqB,KAAA,EAAA1F,EAAA,SAAA67H,GAAA,MAAAA,CAAA,EAAA1kG,EAAAykG,EAAA,WAAA3tC,UAAA,6IAAAl0E,EAAA+hH,GAAA,EAAAC,GAAA,SAAAxzG,EAAA,WAAAozG,EAAAA,EAAAz3H,KAAAG,EAAA,EAAAyE,EAAA,eAAAooF,EAAAyqC,EAAA9mH,OAAA,OAAAinH,EAAA5qC,EAAAp8E,KAAAo8E,CAAA,EAAAlxF,EAAA,SAAAg8H,GAAAD,GAAA,EAAAhiH,EAAAiiH,CAAA,EAAA7kG,EAAA,eAAA2kG,GAAA,MAAAH,EAAA,QAAAA,EAAA,oBAAAI,EAAA,MAAAhiH,CAAA,IAyEgEkiH,CAC/Bp9G,EAAO9S,WAAS,IAA3C,IAAA2vH,EAAAnzG,MAAAizG,EAAAE,EAAA5yH,KAAAgM,MAA6C,KAAAonH,GA1EnD71H,EA0EmDm1H,EAAAr2H,MA1EnDO,EA0EmD,EA1EnD,SAAAW,GAAA,GAAAI,MAAAC,QAAAL,GAAA,OAAAA,CAAA,CAAA81H,CAAA91H,IAAA,SAAArB,EAAAqI,GAAA,IAAAoyB,EAAA,MAAAz6B,EAAA,yBAAAC,QAAAD,EAAAC,OAAAyP,WAAA1P,EAAA,uBAAAy6B,EAAA,KAAAz/B,EAAA8I,EAAApD,EAAAgjC,EAAAvnC,EAAA,GAAAg2B,GAAA,EAAA9yB,GAAA,SAAAqB,GAAA+5B,EAAAA,EAAAv7B,KAAAc,IAAA6P,KAAA,IAAAxH,EAAA,IAAA/I,OAAAm7B,KAAAA,EAAA,OAAAtI,GAAA,cAAAA,GAAAn3B,EAAA0F,EAAAxB,KAAAu7B,IAAA3qB,QAAA3T,EAAA0L,KAAA7M,EAAAmF,OAAAhE,EAAAwE,SAAA0H,GAAA8pB,GAAA,UAAAnyB,GAAAX,GAAA,EAAAyE,EAAA9D,CAAA,iBAAAmyB,GAAA,MAAAsI,EAAA,SAAAiJ,EAAAjJ,EAAA,SAAAn7B,OAAAokC,KAAAA,GAAA,kBAAArkC,EAAA,MAAAyE,CAAA,SAAA3H,CAAA,EAAAi7H,CAAA/1H,EAAAX,IAAA20H,GAAAh0H,EAAAX,IAAA,qBAAAuoF,UAAA,6IAAAouC,IA0EkB34H,EAAGw4H,EAAA,GAAE/2H,EAAK+2H,EAAA,GACR,eAARx4H,GACFu3H,EAAc91H,MAAM0H,KAAK,CACvB5K,KAAMyB,EACNmb,OAAQ1Z,EAAMM,MAAM,MAG1B,CAAC,OAAAsU,GAAA2hH,EAAA17H,EAAA+Z,EAAA,SAAA2hH,EAAAvkG,GAAA,CAED,IAAMmlG,EAAaz9G,EAAOpa,IAAI,eAAiB,GAC/Cy2H,EAAiB/1H,MAAQm3H,CAC3B,EAEMC,EAAexrH,IAAS,WAC5B,MAAO,SAAPqR,OAAgBg5G,EAAkBj2H,MAAK,QAAAid,OAAO+4G,EAAkBh2H,MAAK,cACvE,IAEMq3H,EAAWzrH,IAAS,WACxB,OAAOoqH,EAAkBh2H,MAAQi2H,EAAkBj2H,KACrD,IAEMm6G,EAAkBvuG,IAAS,WAC/B,MAAkC,KAA3BmqH,EAAiB/1H,KAC1B,IAEMm2H,EAAa,WACjB93H,EAAMkiE,MAAMxP,QAAQjsD,SAAQ,SAACoH,GAC3B,IAAMorH,EAAexB,EAAc91H,MAAM8qD,MAAK,SAAA94B,GAAC,OAAIA,EAAEl1B,OAASoP,EAAOnS,IAAI,IACzEg3D,EAAQ/wD,MAAM0H,KAAK,CACjBtK,MAAO8O,EAAOmrE,OACdnU,iBAAkB,cAClB54D,QAASitH,EAAWrrH,EAAOsrH,kBAAmBF,GAC9CtoH,SAAU,SAAC3K,GAAG,OAAKozH,EAAoBvrH,EAAOnS,KAAMsK,EAAI,GAE5D,GACF,EAEMkzH,EAAa,SAACjtH,EAASgtH,GAC3B,IAAM3/C,EAAQ,GAQd,OAPArtE,EAAQxF,SAAQ,SAAC+1C,GACf88B,EAAMjwE,KAAK,CACT1H,MAAO66C,EAAOnkC,GACd3c,KAAM8gD,EAAO9gD,KACb0gD,WAAU68E,GAAeA,EAAa59G,OAAOjD,SAASokC,EAAOnkC,KAEjE,IACOihE,CACT,EAEM+/C,EAAmB,SAAC17G,GACxB,IAAM27D,EAAQ,GAEY,IAAtBnR,EAAYxmE,QACdu1H,EAAcv1H,MAAQ,IAGxB,IAkBO23H,EApJbz2H,EAkIY02H,EAA0D,KAlItE12H,EAkIsCq0H,EAAcv1H,MAlIpD,SAAAkB,GAAA,GAAAI,MAAAC,QAAAL,GAAA,OAAAyzH,GAAAzzH,EAAA,CAAA4zH,CAAA5zH,IAAA,SAAA6zH,GAAA,uBAAAj1H,QAAA,MAAAi1H,EAAAj1H,OAAAyP,WAAA,MAAAwlH,EAAA,qBAAAzzH,MAAA0uB,KAAA+kG,EAAA,CAAAC,CAAA9zH,IAAAg0H,GAAAh0H,IAAA,qBAAA4nF,UAAA,wIAAAqsC,IAkI2D30H,OAErDwb,EAAKuqD,QAAQzhE,SAAQ,SAACR,GACpBqzE,EAAMjwE,KAAK,CACTtK,MAAOkH,EAAKlH,MACZ2rE,KAAMzkE,EAAKuzH,YACX17H,KAAMmI,EAAKxK,IACXq2E,KAAM7rE,EAAK6rE,KACXslD,kBAAmBnxH,EAAKmxH,kBACxBD,cAAelxH,EAAKkxH,eAExB,IAEIoC,EACFrC,EAAcv1H,MAAM0H,KAAK,CACvBtK,MAAOiB,EAAMjB,MACbuyG,MAAOh4B,KAGTggD,EAAApC,EAAcv1H,MAAM,GAAG2vG,OAAMjoG,KAAI6E,MAAAorH,EAAIhgD,GAGvCs+C,EAAkBj2H,MAAQu1H,EAAcv1H,MAAM,GAAG2vG,MAAMnvG,MACzD,EAEMs3H,EAAoB,SAACv5H,EAAKyB,GAC9B,IAAM0Z,EAAS,IAAI48G,gBAAgB98H,OAAO6C,SAAS+6F,QAErC,KAAVp3F,EACF0Z,EAAM,OAAQnb,GAEdmb,EAAO3O,IAAIxM,EAAKyB,GAGlB,IAAM+3H,EAAa,GAAH96G,OAAMzjB,OAAO6C,SAAS27H,SAAQ,KAAA/6G,OAAIvD,EAAOzX,YACzDzI,OAAOy+H,QAAQljD,aAAa,CAAC,EAAG,GAAIgjD,EACtC,EASMG,EAAeh2B,IAAS,WAC5B17B,EAAYxmE,MAAQ,EACpB83H,EAAkB,aAAc/B,EAAiB/1H,OACjDo2H,GACF,GAAG,KAOGqB,EAAsB,SAAC36H,EAAMkf,GACjC,IAAM27D,EAAQ,GACd37D,EAAKlX,SAAQ,SAACR,GACRA,EAAKm2C,UACPk9B,EAAMjwE,KAAKpD,EAAKtE,MAEpB,IAEoB81H,EAAc91H,MAAM8qD,MAAK,SAACxmD,GAAI,OAAKA,EAAKxH,OAASA,CAAI,IAEvEg5H,EAAc91H,MAAM8qD,MAAK,SAACxmD,GACpBA,EAAKxH,OAASA,IAChBwH,EAAKoV,OAASi+D,EAElB,IAEAm+C,EAAc91H,MAAM0H,KAAK,CACvB5K,KAAMA,EACN4c,OAAQi+D,IAnCZm+C,EAAc91H,MAAM8E,SAAQ,SAAAoH,GAC1B,IAAMisH,EAAcjsH,EAAOwN,OAAOujC,KAAK,KACvC66E,EAAkB5rH,EAAOpP,KAAMq7H,EACjC,IAoCA3xD,EAAYxmE,MAAQ,EACpBo2H,GACF,EAOMA,EAAiB,eAzN3B5zH,EAyN2Bg6E,GAzN3Bh6E,EAyN2B+kF,KAAAoC,MAAG,SAAAiB,IAAA,IAAA9wF,EAAA2nG,EAAA,OAAAla,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,OAClB5V,EAAMs+H,IACN32B,EAAU,IAAIC,QAAQ5nG,GAE5ButE,MAAMo6B,GACH3/F,MAAK,SAACuC,GACL,GAAIA,EAAIwmF,GACN,OAAOxmF,EAAIijE,OAEX,MAAM,IAAIv7C,MAAM,cAEpB,IACCjqB,MAAK,SAACwlE,GACLowD,EAAiBpwD,GACjB0uD,EAAkBh2H,MAAQsnE,EAAK+wD,YACjC,IAAE,OACK,SAACzjH,GACNna,QAAQC,MAAMka,EAChB,IAAE,wBAAA+iB,EAAA3vB,OAAA,GAAA4iF,EAAA,IA3OV,eAAAlxF,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,MA4OK,kBAnBsB,OAAA29E,EAAAjwE,MAAA,KAAA0H,UAAA,KAqBjBmkH,EAAe,WAAM,IAAAE,EACrB5+G,EAAS,GACbo8G,EAAc91H,MAAM8E,SAAQ,SAACR,GAE3BoV,GAAU,GAAJuD,OADkB,KAAXvD,EAAgB,IAAM,KAChBuD,OAAG3Y,EAAKxH,KAAI,KAAAmgB,OAAI3Y,EAAKoV,OAAOujC,KAAK,KACtD,IAGAvjC,GAAU,GAAJuD,OADkB,KAAXvD,EAAgB,IAAM,IAChB,eAAAuD,OAAoC,QAApCq7G,EAAcvC,EAAiB/1H,aAAK,IAAAs4H,EAAAA,EAAI,IAC3D,IAAM7xD,EAAOovD,EAAS71H,MAAQwmE,EAAYxmE,MAG1C,OAFA0Z,GAAU,SAAJuD,OAAawpD,EAAOovD,EAAS71H,MAAK,UAAAid,OAASwpD,GAE1CpoE,EAAM0nE,OAASrsD,CACxB,EAEA,MAAO,CACL67G,cAAAA,EACAxkE,QAAAA,EACAglE,iBAAAA,EACAmC,aAAAA,EACA/d,gBAAAA,EACAK,WA9EiB,WACjBub,EAAiB/1H,MAAQ,GACzBo2H,GACF,EA4EEJ,kBAAAA,EACAC,kBAAAA,EACAmB,aAAAA,EACAC,SAAAA,EACApvD,eApDqB,WACrBzB,EAAYxmE,MAAQwmE,EAAYxmE,MAAQ,EACxCo2H,GACF,EAmDF,GJzQF,MKKA,IAFiC,QAAgB,GAAQ,CAAC,CAAC,uGLCzDzxD,GAuDU,UAvDVypB,GAuDU,CAtDwCvzD,EAAAw8C,QAAUx8C,EAAAo+C,aAAW,KAArEtU,GAGM,MAHNI,GAGM,CAFJhC,GAAiE,KAAjEiC,GAAiEC,GAAdpqC,EAAAw8C,QAAM,GACzDtU,GAA0E,IAA1EmsB,GAA0EjqB,GAAlBpqC,EAAAo+C,aAAW,oBAGrElW,GAmCM,MAnCNwvB,GAmCM,SAlCJ5tB,GAMWW,GAAA,KAAAC,GANyB1qC,EAAAk2B,SAAO,SAAzB7kD,EAAQ1E,eACxBmuF,GAIwC4iC,EAAA,CAHrCv1D,YAAa92D,EAAO5B,QACpBlN,MAAO8O,EAAO9O,MACd8lE,iBAAkBh3D,EAAOg3D,iBACzBC,iBAAkBj3D,EAAO8C,yFAG9B+zD,GAyBM,MAzBNmC,GAyBM,CAxBJnC,GAQM,MARNwrB,GAQM,OAPJ5pB,GAMM,OANA,aAAY9pC,EAAA+6F,gBAAiBrsD,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,4BAQ5FvG,GAKqC,SAJnCjmE,KAAK,OACLqI,MAAM,oGACG01B,EAAAk7F,iBAAgB94C,CAAA,GACpBsS,QAAK1qB,EAAA,KAAAA,EAAA,qBAAEhqC,EAAAq9F,cAAAr9F,EAAAq9F,aAAA3rH,MAAAsuB,EAAA5mB,UAAY,GACvBgP,YAAa4X,EAAA++E,oCAFL/+E,EAAAk7F,oBAIXhzD,GAOS,UANF3kC,QAAKymC,EAAA,KAAAA,EAAA,qBAAEhqC,EAAA2/E,YAAA3/E,EAAA2/E,WAAAjuG,MAAAsuB,EAAA5mB,UAAU,GACtB9O,MAAKy/D,EAAA,CAAC,+CAA8C,sDACyB/pC,EAAAs/E,8BAQnFp3C,GAAiF,MAAjFyrB,GAAiFvpB,GAArBpqC,EAAAu8F,cAAY,GAExEjiF,GAAsDqjF,EAAA,CAAhCjD,cAAe16F,EAAA06F,eAAa,0BAElDxyD,GAOM,MAPN+sB,GAOM,CAHIj1D,EAAAw8F,UAAQ,KAHhB1yD,GAKS,gBAJPx/D,MAAM,yCACDi5B,QAAKymC,EAAA,KAAAA,EAAA,qBAAEhqC,EAAAotC,gBAAAptC,EAAAotC,eAAA17D,MAAAsuB,EAAA5mB,UAAc,OAEvB4mB,EAAA86F,cAAY,kCMpDZxwH,MAAM,iCCANA,MAAM,8BACLA,MAAM,sDAEV49D,GAIwB,QAHtBv9C,KAAK,UACL,YAAU,UACVxmB,EAAE,gLACF,YAAU,yFCVpB,MDDA,GCCA,CACEjF,KAAM,mBACNsE,MAAO,CACLu3H,gBAAiB,CACf94H,KAAME,OACNimE,UAAU,GAEZw1D,eAAgB,CACd37H,KAAME,OACNimE,UAAU,GAEZhgD,YAAa,CACXnmB,KAAME,OACNimE,UAAU,GAEZy1D,UAAW,CACT57H,KAAME,OACNimE,UAAU,GAEZ01D,gBAAiB,CACf77H,KAAME,OACNimE,UAAU,GAEZE,iBAAkB,CAChBrmE,KAAM2C,SACNwjE,UAAU,GAEZ21D,gBAAiB,CACf97H,KAAM2C,SACNwjE,UAAU,GAEZ41D,YAAa,CACX/7H,KAAME,OACNimE,UAAU,IAGd76C,MAAK,SAAC/pB,GAAO,IAAAy6H,EACL/C,EAAmB/jH,GAAyB,QAAtB8mH,EAACz6H,EAAMs6H,uBAAe,IAAAG,EAAAA,EAAI,IAChD/gB,EAAc/lG,GAAI,IAElBkmH,EAAeh2B,IAAS,WACxB7jG,EAAM8kE,kBACR9kE,EAAM8kE,iBAAiB4yD,EAAiB/1H,MAE5C,GAAG,KAEGm6G,EAAkBvuG,IAAS,WAC/B,MAAkC,KAA3BmqH,EAAiB/1H,KAC1B,IAmBA,MAAO,CACL+1H,iBAAAA,EACAhe,YAAAA,EACAyC,WApBiB,WACjBub,EAAiB/1H,MAAQ,GACzB+3G,EAAY/3G,MAAMikE,QAEd5lE,EAAM8kE,kBACR9kE,EAAM8kE,iBAAiB4yD,EAAiB/1H,MAE5C,EAcE+4H,cAZoB,WAChB16H,EAAMw6H,YACRr/H,OAAO6C,SAASF,KAAO,GAAH8gB,OAAM5e,EAAMw6H,YAAW,OAAA57G,OAAM84G,EAAiB/1H,OACzD3B,EAAMu6H,iBACfv6H,EAAMu6H,gBAAgB7C,EAAiB/1H,MAE3C,EAOEm6G,gBAAAA,EACA+d,aAAAA,EAEJ,GCvEF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,mDFCzDvzD,GA8BU,UA9BVypB,GA8BU,CA7BRrrB,GAQS,SARTgC,GAQS,OAPPJ,GAMM,OANA,aAAY9pC,EAAA+6F,gBAAiBrsD,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,4BAS5FvG,GAQ0C,SAPxC/wD,IAAI,mEACK6oB,EAAAk7F,iBAAgB94C,CAAA,GACpBsS,QAAK,mCAAQ10D,EAAAk+F,eAAAl+F,EAAAk+F,cAAAxsH,MAAAsuB,EAAA5mB,UAAa,6CACnB4mB,EAAAq9F,cAAAr9F,EAAAq9F,aAAA3rH,MAAAsuB,EAAA5mB,UAAY,IACvBgP,YAAa4X,EAAA5X,YACb,aAAY4X,EAAA69F,UACb98C,aAAa,MACbz2E,MAAM,kDANG01B,EAAAk7F,oBAQXhzD,GAQS,UAPN,aAAwC,QAA9Bi2D,EAAY,QAAZC,EAAEp+F,EAAAq+F,kBAAU,IAAAD,OAAA,EAAVA,EAAYE,wBAAgB,IAAAH,EAAAA,EAAA,eACpC56F,QAAKymC,EAAA,KAAAA,EAAA,qBAAEhqC,EAAA2/E,YAAA3/E,EAAA2/E,WAAAjuG,MAAAsuB,EAAA5mB,UAAU,GACtB9O,MAAKy/D,EAAA,CAAC,gCAA+B,uCACqB/pC,EAAAs/E,qBAG1Dp3C,GAA8E,QAAvE,aAAYloC,EAAA49F,eAAgBtzH,MAAM,+SGjC/CoiF,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,CAIA,UACIzwF,KAAM,sBACNm8B,WAAY,CACR+2E,WAAAA,GACAmsB,iBAAAA,GACAjW,aAAAA,IAEJ9kH,MAAO,CACH0nE,OAAQ,CACJjpE,KAAME,OACNimE,UAAU,GAEd1C,MAAO,CACHzjE,KAAMqC,OACN8jE,UAAU,IAGlB76C,MAAK,SAAC/pB,GACF,IAAMg7H,EAAel6H,OAAOwuG,OAAO,CAC/B2rB,SAAU,WACVC,SAAU,aAGRxhB,EAAc/lG,GAAI,IAClBslH,EAAetlH,GAAIqnH,EAAaC,UAChC52B,EAAO1wF,GAAI,IACXwnH,EAAexnH,GAAI,IACnBynH,EAAYznH,GAAI,IAsCtBgV,IAAU,WACF3oB,EAAMkiE,QApCVmiC,EAAK1iG,MAAM0H,KAAK,CACZtK,MAAOiB,EAAMkiE,MAAMm5D,gCACnBhjH,GAAI2iH,EAAaC,WAErB52B,EAAK1iG,MAAM0H,KAAK,CACZtK,MAAOiB,EAAMkiE,MAAMo5D,gCACnBjjH,GAAI2iH,EAAaE,WAKrBC,EAAax5H,MAAM0H,KACf,CAAE3N,KAAMsE,EAAMkiE,MAAMq5D,UAAWpxH,MAAO,OACtC,CAAEzO,KAAMsE,EAAMkiE,MAAMs5D,oBAAqBrxH,MAAO,OAChD,CACIzO,KAAMsE,EAAMkiE,MAAMu5D,SAClB3nF,OAAQ,aACR3pC,MAAO,QAsBXuxH,IAER,IAEA,IAAMA,EAAoB,eA7ElCv3H,EA6EkCg6E,GA7ElCh6E,EA6EkC+kF,KAAAoC,MAAG,SAAAiB,IAAA,IAAA9wF,EAAA2nG,EAAA,OAAAla,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,OAEnB5V,EAAM,GAAHmjB,OAAM5e,EAAM0nE,OAAM,gBAAA9oD,OAAe5e,EAAMkiE,MAAMy5D,WAAU,sBAAA/8G,OAC5Dq6G,EAAat3H,QAAUq5H,EAAaC,SAAQ,sBAAAr8G,OAC3Bq6G,EAAat3H,QAAUq5H,EAAaE,SAAQ,gBAAAt8G,OAAe86F,EAAY/3G,OAUtFyhG,EAAU,IAAIC,QAAQ5nG,GAE5ButE,MAAMo6B,GACD3/F,MAAK,SAACuC,GACH,GAAIA,EAAIwmF,GACJ,OAAOxmF,EAAIijE,OAEX,MAAM,IAAIv7C,MAAM,cAExB,IACCjqB,MAAK,SAACwlE,GACHmyD,EAAUz5H,MAAQ,GACLsnE,EA9ChBnnE,KAAI,SAAC0oE,GACN4wD,EAAUz5H,MAAM0H,KAAK,CACjB,CAAE3N,KAAM8uE,EAAIoxD,MACZ,CAAElgI,KAAM8uE,EAAIqxD,gBACZ,CACIngI,KAAM8uE,EAAIsxD,IACVhoF,OAAQ,eAGpB,GAsCI,IAAE,OACK,SAACv9B,GACJna,QAAQC,MAAMka,EAClB,IAAE,wBAAA+iB,EAAA3vB,OAAA,GAAA4iF,EAAA,IA3GlB,eAAAlxF,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,MA4GS,kBA/ByB,OAAA29E,EAAAjwE,MAAA,KAAA0H,UAAA,KAkD1B,MAAO,CACH8jG,YAAAA,EACAqiB,WAnBe,SAACp6H,GAChB+3G,EAAY/3G,MAAQA,EACpB+5H,GACJ,EAiBIM,aAfiB,SAACr6H,GAClB+3G,EAAY/3G,MAAQA,EACN,KAAVA,GACA+5H,GAER,EAWIO,cATkB,SAACt6H,GACnBs3H,EAAat3H,MAAQA,EACrB+5H,GACJ,EAOIzC,aAAAA,EACA50B,KAAAA,EACA82B,aAAAA,EACAC,UAAAA,EAER,GJxIJ,MKKA,IAFiC,QAAgB,GAAQ,CAAC,CAAC,oHLCzD90D,GAmBU,UAnBVypB,GAmBU,CAlBRj5C,GAQIolF,EAAA,CAPD5B,gBAAiB99F,EAAAk9E,YACjB6gB,gBAAiB/9F,EAAAu/F,WACjBj3D,iBAAkBtoC,EAAAw/F,aAClBp3G,YAAa4X,EAAA0lC,MAAMqsC,uBACnB8rB,UAAW79F,EAAA0lC,MAAMqsC,uBACjBgpB,gBAAsB,QAAP4E,EAAE3/F,EAAA0lC,aAAK,IAAAi6D,OAAA,EAALA,EAAO5E,gBACxB6C,eAAqB,QAAPgC,EAAE5/F,EAAA0lC,aAAK,IAAAk6D,OAAA,EAALA,EAAOhC,8IAGV59F,EAAA6nE,KAAKliG,OAAS,GAAH,KACzBm1F,GAG8BsuB,EAAA,OAF3BvhB,KAAM7nE,EAAA6nE,KACND,cAAe5nE,EAAAy8F,aACftoH,SAAU6rB,EAAAy/F,0EAGfnlF,GAA0D+uE,EAAA,CAA3CxuC,QAAS76C,EAAA2+F,aAAe7jD,KAAM96C,EAAA4+F,oDMlBtCt0H,MAAM,8BAERA,MAAM,sCAKEA,MAAM,gCAEL49D,GAA8B,UAAtB/iE,MAAM,IAAG,QAAI,mBAOvB+iE,GAAgE,SAAzD59D,MAAM,oCAAmC,YAAQ,MACxD49D,GAEM,OAFD59D,MAAM,yCAAuC,CAC9C49D,GAAsD,QAAhD59D,MAAM,uCAAkC,GCpBlE,MDFE,GCEF,CACIpL,KAAM,mBACNm8B,WAAY,CACRitF,aAAAA,IAEJ9kH,MAAO,CACHq8H,gBAAiB,CACb59H,KAAMiH,OACNk/D,UAAU,GAEd8C,OAAQ,CACJjpE,KAAME,OACNimE,UAAU,IAGlB76C,MAAK,SAAC/pB,GACF,IAAMmtE,EAAQL,KAyCd,MAAO,CACHuK,QAxCY9pE,IAAS,WACrB,IAAM+uH,EAAenvD,EAAM7kD,MAAMi0G,KAAKllD,QAItC,OAHAilD,EAAa71H,SAAQ,SAACuyE,GAClBA,EAAO7uE,MAAQ,KACnB,IACOmyH,CACX,IAmCIhlD,KAjCS/pE,IAAS,WAClB,IAAM+rE,EAAQ,GACRkjD,EAAYrvD,EAAM7kD,MAAMi0G,KAAKjlD,KAC7BkjD,EAAcrtD,EAAM7kD,MAAMi0G,KAAK/B,YAcrC,OAZAgC,EAAU16H,KAAI,SAAC0oE,GACX,IAAMiyD,EAAa,GACnBjyD,EAAI1oE,KAAI,SAAC46H,GAAS,IAAAC,EACdF,EAAWpzH,KAAK,CACZ3N,KAAMghI,EAAKhhI,KACXoC,KAAM4+H,EAAKE,UAAY,GAAHh+G,OAAM47G,EAAW,WAAA57G,OAAU89G,EAAKE,WAAc,GAClE9oF,OAAmB,QAAb6oF,EAAED,EAAK5oF,cAAM,IAAA6oF,EAAAA,EAAI,IAE/B,IACArjD,EAAMjwE,KAAKozH,EACf,IAEOnjD,CACX,IAgBI5mB,QAdYnlD,IAAS,WACrB,OAAO4/D,EAAM7kD,MAAMi0G,KAAK7pE,OAC5B,IAaIupE,cAXkB,SAACz/H,GACnB2wE,EAAM50B,SAAS,oBAAqB,CAChCk5B,IAAKzxE,EAAM0nE,OACX75D,OAAQrR,EAAEyB,OAAO0D,OAEzB,EAQJ,GC5DJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,oEFCzD2kE,GAgCU,UAhCVypB,GAgCU,CA9BRrrB,GAuBM,MAvBNgC,GAuBM,CAtBYlqC,EAAAk2B,QAAQvwD,QAAM,OAC5BmkE,GAmBWW,GAAA,CAAA/mE,IAAA,GAAAgnE,GAnB6B1qC,EAAAk2B,SAAO,SAA9B7kD,EAAQgvH,eAEvBv2D,GAeM,WAjB+Cu2D,EAEhD/1H,MAAM,2CACT49D,GAaM,MAbNiC,GAaM,CAZFjC,GAOS,UAPIsC,SAAMR,EAAA,KAAAA,EAAA,qBAAEhqC,EAAAy/F,eAAAz/F,EAAAy/F,cAAA/tH,MAAAsuB,EAAA5mB,UAAa,GAAE9O,MAAM,oCAAoCpL,KAAK,WAAW2c,GAAG,aAC/Fw4E,IAA8B,OAE9BvqB,GAEWW,GAAA,KAAAC,GAF6Br5D,GAAM,SAA7B2uC,EAAQsgF,eACvBx2D,GAAwD,cADJw2D,EAC3Cn7H,MAAO66C,EAAO76C,UAAU66C,EAAO9gD,MAAI,EAAAw4F,kBAIhDrtB,GACAqpB,gCAUZp5C,GAGEimF,EAAA,CAFC1lD,QAAS76C,EAAA66C,QACTC,KAAM96C,EAAA86C,uCGnCN,IAAM0lD,GAAuB,SAACr/G,GACjC,MAAO,CACH,CAAEjiB,KAAMiiB,EAAKs/G,eACb,CACIvhI,KAAMiiB,EAAKu/G,UACXppF,OAAQ,cAGpB,EAEaqpF,GAAqB,SAACx/G,GAC/B,IAAM27D,EAAQ,GAWd,OAVAr2E,MAAM0uB,KAAKhU,GAAM7b,KAAI,SAACmE,GAClBqzE,EAAMjwE,KAAK,CACP,CAAE3N,KAAMuK,EAAKlH,MAAOjB,KAAM,GAAI8+H,UAAW32H,EAAK22H,WAC9C,CACIlhI,KAAMuK,EAAKytG,KACX5/D,OAAQ,eAGpB,IAEOwlC,CACX,EAEa8jD,GAAwB,SAACz/G,GAClC,IAAM27D,EAAQ,CAAC,IAMf,OAJAr2E,MAAM0uB,KAAKhU,EAAK0/G,SAAS1/G,MAAM7b,KAAI,SAAC+L,GAChCyrE,EAAM,GAAGjwE,KAAK,CAAE3N,KAAMmS,EAAOujE,MAAOzvE,MAAOkM,EAAOyzC,MACtD,IAEOg4B,CACX,MCxBaxyE,MAAM,0BACNA,MAAM,mCACFA,MAAM,iDAEiBA,MAAM,wDAInBA,MAAM,kDAKZA,MAAM,kDACDA,MAAM,0DACNA,MAAM,wDAIfA,MAAM,+CAIEA,MAAM,+BAKVA,MAAM,6CAA6C,YAAU,oBAYzDA,MAAM,iDC1CzBA,MAAM,6CAEDA,MAAM,6CACHA,MAAM,wDAEJA,MAAM,mGAGZA,MAAM,8CACPA,MAAM,mDAET49D,GAEM,OAFD59D,MAAM,0CAAwC,CACjD49D,GAA6M,OAAxM+B,KAAK,eAAeyE,MAAM,6BAA6B/jD,KAAK,OAAO8jD,QAAQ,cAAYvG,GAA2G,QAArGv9C,KAAK,UAAUxmB,EAAE,4FCjB3H,MDAE,GCAF,CACIjF,KAAM,sBACNsE,MAAO,CACHiwC,IAAK,CACDxxC,KAAME,OACNimE,UAAU,GAEd7lE,MAAO,CACHN,KAAME,OACNimE,UAAU,GAEdgW,YAAa,CACTn8E,KAAME,OACNimE,UAAU,GAEd9mE,KAAM,CACFW,KAAME,OACNimE,UAAU,GAEdpU,SAAU,CACN/xD,KAAME,OACNimE,UAAU,IAGlB76C,MAAK,SAAC/pB,GAQF,MAAO,CACHs9H,iBAPqB/vH,IAAS,WAAM,IAAAgwH,EAC9BC,EAAgBx9H,EAAMwwD,SAASvuD,MAAM,KAC3C,OAAuB,QAAvBs7H,EAAOC,EAAc,UAAE,IAAAD,EAAAA,EAAEC,EAAc,EAC3C,IAMJ,GC9BJ,IAFiC,QAAgB,GAAQ,CAAC,CAAC,2CFEzDl3D,GAeK,KAfLypB,GAeK,CAdHrrB,GAaI,KAbA5mE,KAAM0+B,EAAA1+B,KAAMgJ,MAAM,oCACpB49D,GAKM,MALNiC,GAKM,CAJJjC,GAAyE,OAAzEmsB,GAAyEjqB,GAAbpqC,EAAAyT,KAAG,GAC/CzT,EAAAg0B,UAAQ,KACtB8V,GAAuI,OAAvI4tB,GAAuIttB,GAA1BpqC,EAAA8gG,kBAAgB,oBAGjI54D,GAAmE,KAAnEmC,GAAmED,GAAbpqC,EAAAz9B,OAAK,GAC3D2lE,GAA6E,IAA7EwrB,GAA6EtpB,GAAlBpqC,EAAAo+C,aAAW,GAEtEzT,IAEM,YDjBZ,GIGA,CACEzrE,KAAM,gBACNm8B,WAAY,CACV4lG,oBAAAA,GACA1C,iBAAAA,GACAnsB,WAAAA,IAEF5uG,MAAO,CACLy5G,UAAW,CACTh7G,KAAME,OACNimE,UAAU,GAEZ84D,KAAM,CACJj/H,KAAME,OACNimE,UAAU,EACV9hD,QAAS,MAEXs0D,OAAQ,CACN34E,KAAMqC,OACN8jE,UAAU,GAEZ+4D,aAAc,CACZl/H,KAAMuqB,QACN47C,UAAU,IAGd76C,MAAK,SAAC/pB,GACJ,IAAMmtE,EAAQL,KACR4sC,EAAc/lG,GAAI,IAClBiqH,EAAyBjqH,GAAI,MAE7BknH,EAAa,CACjBgD,WAAY79H,EAAMo3E,OAAOymD,WACzBC,WAAY99H,EAAMo3E,OAAO0mD,WACzBhD,iBAAkB96H,EAAMo3E,OAAO0jD,kBAGjC3pG,IAAc,WACZysG,EAAuBj8H,MAAQ5E,SAAS4sC,cACtC,uBAGF,IAAMo0F,EAAc5iI,OAAO6C,SAAS+6F,OAE9BilC,EADY,IAAI/F,gBAAgB8F,GACR98H,IAAI,KAClCy4G,EAAY/3G,MAAQq8H,EAEpBhC,EAAagC,EACf,IAEA,IAAMzwB,EAAgBhgG,IAAS,WAC7B,OAAO4/D,EAAM7kD,MAAMywE,OAAO7wB,OAC5B,IAEM+1D,EAA4B1wH,IAAS,WACzC,OAAO4/D,EAAM7kD,MAAMywE,OAAOklC,yBAC5B,IAEMC,EAAc3wH,IAAS,WAC3B,IAAM+rE,EAAQ,GACR6kD,EAAahxD,EAAM7kD,MAAMywE,OAAOqlC,MAWtC,OAVID,aAAU,EAAVA,EAAYh8H,QAAS,IACvBm3E,EAAMjwE,KAAK,CACTtK,MAAO,GAAF6f,OAAK5e,EAAMo3E,OAAOinD,YAAW,MAAAz/G,OAAKq/G,EAA0Bt8H,MAAK,KACtE0W,GAAI,KAEN8lH,EAAWr8H,KAAI,SAACw8H,GACdhlD,EAAMjwE,KAAK,CAAEtK,MAAO,GAAF6f,OAAK0/G,EAAKC,KAAI,MAAA3/G,OAAK0/G,EAAKtsE,MAAK,KAAK35C,GAAIimH,EAAKC,MAC/D,KAGKjlD,CACT,IAEM2/C,EAAe1rH,IAAS,WAC5B,OAAO4/D,EAAM7kD,MAAMywE,OAAOkgC,YAC5B,IAEM9wD,EAAc56D,IAAS,WAC3B,OAAO4/D,EAAM7kD,MAAMywE,OAAOylC,UAC5B,IAEMC,EAAgBlxH,IAAS,WAC7B,OAAO4/D,EAAM7kD,MAAMywE,OAAO0lC,aAC5B,IAEM3iB,EAAkBvuG,IAAS,WAC/B,MAA6B,KAAtBmsG,EAAY/3G,KACrB,IAEMq6H,EAAe,SAACr6H,GACpB+3G,EAAY/3G,MAAQA,EAChBA,GACFwrE,EAAM50B,SAAS,sBAAuB,CAAE1qC,OAAQ,KAChDs/D,EAAM50B,SAAS,uBAAwB,CACrC2jE,MAAOxC,EAAY/3G,MACnB+7H,KAAM19H,EAAM09H,KACZh2D,OAAQ1nE,EAAMy5G,UACdilB,KAAM,KAGRvxD,EAAM50B,SAAS,uBAEjBomF,EAAUh9H,EACZ,EAEMg9H,EAAY,SAACh9H,GACjB,IAAMlG,EAAM,IAAIgC,IAAItC,OAAO6C,UAC3BvC,EAAImjI,aAAalyH,IAAI,IAAK/K,GAC1BxG,OAAOy+H,QAAQiF,UAAU,CAAC,EAAG,GAAIpjI,EACnC,EA8BA,MAAO,CACLi+G,YAAAA,EACAnM,cAAAA,EACA2wB,YAAAA,EACAD,0BAAAA,EACAhF,aAAAA,EACAtT,aAlCmB,SAACpgB,GACpBp4B,EAAM50B,SAAS,sBAAuB,CAAE1qC,OAAQ03F,IAChDp4B,EAAM50B,SAAS,uBAAwB,CACrC2jE,MAAOxC,EAAY/3G,MACnB+lE,OAAQ1nE,EAAMy5G,UACdilB,KAAM,EACNI,cAAev5B,GAEnB,EA2BEp9B,YAAAA,EACA6zD,aAAAA,EACAyC,cAAAA,EACA70D,eA5BqB,WACrBuD,EAAM50B,SAAS,uBAAwB,CACrC2jE,MAAOxC,EAAY/3G,MACnB+lE,OAAQ1nE,EAAMy5G,UACdilB,KAAMv2D,EAAYxmE,MAAQ,IAE5BwrE,EAAM50B,SAAS,oBAAqB,CAAEmmF,KAAMv2D,EAAYxmE,MAAQ,GAClE,EAsBEw6G,WApBiB,WACjBhvC,EAAM50B,SAAS,uBACfmhE,EAAY/3G,MAAQ,GACpB,IAAMi3D,EAAQglE,EAAuBj8H,MAAMgoC,cACzC,iCAEFivB,SAAAA,EAAOgN,OACT,EAcEk2C,gBAAAA,EACA+e,WAAAA,EAEJ,GC1JF,IAFiC,QAAgB,GAAQ,CAAC,CAAC,6JLEvD/jF,GAAsCioF,EAAA,CAAzBt2B,MAAM,mBAEnB/jC,GAgDU,UAhDVqrB,GAgDU,CA/CNrrB,GA8CM,MA9CNgC,GA8CM,CA7CFhC,GAeM,MAfNiC,GAeM,CAbQnqC,EAAAmhG,cAAY,KAAtBr3D,GAEK,KAFLuqB,GAEKjqB,GADEpqC,EAAA46C,OAAO4nD,wBAAsB,UAGpC14D,GAEK,KAFL4tB,GAEKttB,GADEpqC,EAAA46C,OAAO4nD,wBAAsB,IAIpCt6D,GAGM,MAHNmC,GAGM,CAFFnC,GAAuG,OAAvGwrB,GAAuGtpB,GAAnCpqC,EAAAyhG,2BAAyB,GAC7Fv5D,GAAoG,OAApGyC,GAAoGP,GAAlCpqC,EAAA46C,OAAO6nD,mBAAiB,OAIlGv6D,GA2BM,MA3BN0C,GA2BM,CA1BFtwB,GAAsMolF,EAAA,CAAnL5B,gBAAiB99F,EAAAk9E,YAAc50C,iBAAkBtoC,EAAAw/F,aAAe5B,eAAsB,QAARvmC,EAAEr3D,EAAA46C,cAAM,IAAAyc,OAAA,EAANA,EAAQumC,eAAiBC,UAAiB,QAARvmC,EAAEt3D,EAAA46C,cAAM,IAAA0c,OAAA,EAANA,EAAQumC,UAAY9C,gBAAuB,QAARpjC,EAAE33D,EAAA46C,cAAM,IAAA+c,OAAA,EAANA,EAAQojC,+GAEpK/6F,EAAA0hG,YAAY/7H,OAAS,GAAH,KAC9BmkE,GAEM,MAFNe,GAEM,CADFvwB,GAAyF8uE,EAAA,CAA5ExhB,cAAe5nE,EAAAy8F,aAAe50B,KAAM7nE,EAAA0hG,YAAcvtH,SAAU6rB,EAAAmpF,2EAIjFjhD,GASM,MATNo4C,GASM,SARFx2C,GAOWW,GAAA,KAAAC,GAPyB1qC,EAAA+wE,eAAa,SAA/B7tG,EAAQyJ,eACtBmuF,GAKkC4nC,EAAA,CAJ7BjvF,IAAKvwC,EAAOy/H,QACZrhI,KAAM4B,EAAOjE,IACbsD,MAAOW,EAAOX,MACd67E,YAAal7E,EAAO0/H,QACpB5uE,SAAU9wD,EAAO8wD,6EAIdh0B,EAAAiiG,cAAgBjiG,EAAA2rC,aAAW,KACvC7B,GAIM,MAJNiB,GAIM,CAHF7C,GAES,UAFI3kC,QAAKymC,EAAA,KAAAA,EAAA,qBAAEhqC,EAAAotC,gBAAAptC,EAAAotC,eAAA17D,MAAAsuB,EAAA5mB,UAAc,GAAE9O,MAAM,6CACnC01B,EAAA46C,OAAOioD,oBAAkB,mCMhDxD,IACE3jI,KAAM,YACNsE,MAAO,CACLs/H,YAAa,CACX7gI,KAAME,OACNimE,UAAU,IAGd76C,MAAK,SAAC/pB,GACJ,IAAMu/H,EAAiB5rH,IAAI,GACrB6rH,EAAY7rH,GAAI,MA0BtB,OAxBAgV,IAAU,WACR,IAAM82G,EAAOD,EAAU79H,MAAM04C,wBAEvBqlF,EAAgBD,EAAK9kF,IAAM8kF,EAAKz0D,OAAS7vE,OAAOmhF,QAElDqjD,OAAmBn/H,EAEvB,GAAIR,EAAMs/H,YAAa,CACrB,IAAMM,EAAY7iI,SAAS42F,eAAe3zF,EAAMs/H,aAC1CO,EAAgBD,aAAS,EAATA,EAAWvlF,wBAC7BwlF,IACFF,EAAmBE,EAAcllF,IAAMx/C,OAAOmhF,QAAUnhF,OAAOovH,YAEnE,CAEAxL,IAAkB,WAChBwgB,EAAe59H,MAAQ+9H,EAAgBvkI,OAAOmhF,QAE1CqjD,GAAoBA,EAAmBxkI,OAAOmhF,UAChDijD,EAAe59H,OAAQ,EAE3B,GACF,IAEO,CACL69H,UAAAA,EACAD,eAAAA,EAEJ,GCxCF,IACE7jI,KAAM,WACNquB,MAAK,WACHpB,IAAU,WACe5rB,SAASi8C,iBAAiB,iBAClCvyC,SAAQ,SAACizE,GACPA,EAAM1gC,iBAAiB,SAC/BvyC,SAAQ,SAACmyD,GAAK,OAAKknE,EAAiBlnE,EAAO8gB,EAAM,IACxD,IAAMtwC,EAASswC,EAAM/vC,cAAc,UACnCm2F,EAAiB12F,EAAQswC,EAC3B,GACF,IAEA,IAAMomD,EAAmB,SAAC7hI,EAAQy7E,GAChC,GAAIz7E,GAAUA,EAAO+qC,SACnB,GAAI/qC,EAAO80C,UAAUpxC,MAAMyW,SAAS,iDAAkD,CACpF,IAAM2nH,EAAe9hI,EAAOmoE,QAAQ,2BACpC25D,SAAAA,EAAchtF,UAAU/lC,IAAI,2CAC9B,MACE0sE,EAAM3mC,UAAU/lC,IAAI,qBAG1B,EAaA,MAAO,CACL4iG,gBAAAA,GACAG,cAAAA,GACAC,aAAAA,GACAgwB,gBAfsB,SAACxjI,GACvB,IAAMyjI,EAAWzjI,EAAEyB,OACbiiI,EAAYD,EAAS9nF,aAAa,aAClCgoF,EAAgBF,EAASt+H,MAAMQ,OAE/Bi+H,EADU5jI,EAAEyB,OAAOmoE,QAAQ,iBACTz8B,cAAc,6BAClCy2F,IACFA,EAAQnhI,UAAY,GAAH2f,OAAMuhH,EAAa,KAAAvhH,OAAIshH,GAE5C,EAQF,GC5CF,IACIxkI,KAAM,cACNsE,MAAO,CACHyoG,MAAO,CACHhqG,KAAME,OACNimE,UAAU,IAGlB76C,MAAK,SAAC/pB,GAMF,MAAO,CACHqgI,YALgB,SAAC7jI,GACjBO,SAAS4sC,cAAc,QAAQoJ,UAAUoiE,OAAOn1G,EAAMyoG,MAAOjsG,EAAEyB,OAAO09C,QAC1E,EAKJ,2cCfJ,UACIgzB,YAAY,EACZrmD,MAAO,CACHuzF,YAAa,GACb3zC,QAAS,GACTk2D,MAAO,GACPkC,qBAAsB,EACtBrC,0BAA2B,EAC3BO,WAAY,EACZC,cAAe,EACfxF,aAAc,IAElBxhF,UAAW,CACP8oF,uBAAsB,SAACj4G,EAAOuzF,GAC1BvzF,EAAMuzF,YAAcA,CACxB,EACA2kB,6BAA4B,SAACl4G,GACzBA,EAAMuzF,YAAc,EACxB,EACA4kB,mBAAkB,SAACn4G,EAAO4/C,GACtB5/C,EAAM4/C,QAAUA,CACpB,EACAw4D,yBAAwB,SAACp4G,GACrBA,EAAM4/C,QAAU,EACpB,EACAy4D,0BAAyB,SAACr4G,EAAO4/C,GAC7B,IAAIoR,EAAQ,GACZr2E,MAAM0uB,KAAKrJ,EAAM4/C,SAASzhE,SAAQ,SAAC/G,GAAM,OAAK45E,EAAMjwE,uvBAAI0rF,CAAC,CAAC,EAAGr1F,GAAQ,IACrEwoE,EAAQzhE,SAAQ,SAAC/G,GAAM,OAAK45E,EAAMjwE,KAAK3J,EAAO,IAC9C4oB,EAAM4/C,QAAUoR,CACpB,EACAsnD,UAAS,SAACt4G,EAAO81G,GACb91G,EAAM81G,MAAQA,CAClB,EACAyC,gBAAe,SAACv4G,GACZA,EAAM81G,MAAQ,EAClB,EACA0C,4BAA2B,SAACx4G,EAAOg4G,GAC/Bh4G,EAAMg4G,qBAAuBA,CACjC,EACAS,iCAAgC,SAACz4G,EAAO21G,GACpC31G,EAAM21G,0BAA4BA,CACtC,EACA+C,kBAAiB,SAAC14G,EAAOza,GACrBya,EAAM2wG,aAAeprH,CACzB,EACAozH,gBAAe,SAAC34G,EAAOo2G,GACnBp2G,EAAMk2G,WAAaE,CACvB,EACAwC,oBAAmB,SAAC54G,EAAOo2G,GACvBp2G,EAAMm2G,cAAgBC,CAC1B,GAEJ1pD,QAAS,CACLmsD,yBAAwB,SAACpoG,EAAS5hB,GAC9B,IAAMisF,EAAU,IAAIC,QAAQlsF,EAAOuwD,OAAS,MAAQvwD,EAAO+kG,OAE3DlzC,MAAMo6B,GACD3/F,MAAK,SAAAuC,GACF,GAAIA,EAAIwmF,GACJ,OAAOxmF,EAAIijE,OAEX,MAAM,IAAIv7C,MAAM,cAExB,IACCjqB,MAAK,SAAAwlE,GACFlwC,EAAQs2C,OAAO,yBAA0BpG,EAAKf,QAClD,IAAE,OACK,SAAA3xD,GACHna,QAAQC,MAAMka,EAClB,GACR,EACA6qH,iBAAgB,SAACroG,GACbA,EAAQs2C,OAAO,+BACnB,EACAgyD,cAAa,SAACtoG,EAAS5hB,GACnB,IAAImqH,EAAanqH,EAAOuwD,OAAS,eAAH9oD,OAAkBzH,EAAO+kG,MAAK,cAAAt9F,OAAazH,EAAOumH,KAAI,gBAAA9+G,OAAezH,EAAOunH,MACtG3lG,EAAQzQ,MAAM2wG,eACdqI,GAAc,kBAAJ1iH,OAAsB6mF,mBAAmB1sE,EAAQzQ,MAAM2wG,gBAErE,IAAM71B,EAAU,IAAIC,QAAQi+B,GAE5Bt4D,MAAMo6B,GACD3/F,MAAK,SAAAuC,GACF,GAAIA,EAAIwmF,GACJ,OAAOxmF,EAAIijE,OAEX,MAAM,IAAIv7C,MAAM,cAExB,IACCjqB,MAAK,SAAAwlE,GAWFma,GAVgB,CACZ,MAAS,cACT,cAAiB,iBACjB,YAAe,SACf,WAAcjsE,EAAO+kG,MACrB,WAAcjzC,EAAKs4D,uBACnB,qBAAuB,EACvB,gBAAmBt4D,EAAKs4D,yBAMR,IAAhBpqH,EAAOunH,KACP3lG,EAAQs2C,OAAO,qBAAsBpG,EAAKu4D,MAE1CzoG,EAAQs2C,OAAO,4BAA6BpG,EAAKu4D,MAErDzoG,EAAQs2C,OAAO,kBAAmBl4D,EAAOunH,MACzC3lG,EAAQs2C,OAAO,sBAAuBpG,EAAKw4D,kBAC3C1oG,EAAQs2C,OAAO,8BAA+BpG,EAAKy4D,cACnD3oG,EAAQs2C,OAAO,mCAAoCpG,EAAKs4D,wBACxDxoG,EAAQs2C,OAAO,YAAapG,EAAK04D,cACrC,IAAE,OACK,SAAAprH,GACHna,QAAQC,MAAMka,EAClB,GACR,EACAqrH,aAAY,SAAC7oG,GACTA,EAAQs2C,OAAO,4BACft2C,EAAQs2C,OAAO,mBACft2C,EAAQs2C,OAAO,8BAA+B,GAC9Ct2C,EAAQs2C,OAAO,oBAAqB,IACpCt2C,EAAQs2C,OAAO,kBAAmB,GAClCt2C,EAAQs2C,OAAO,sBAAuB,GACtCt2C,EAAQs2C,OAAO,mCAAoC,EACvD,EACA+uD,MAAK,SAACrlG,EAAS5hB,GACX4hB,EAAQs2C,OAAO,YAAal4D,EAAOinH,MACvC,EACAkC,qBAAoB,SAACvnG,EAAS5hB,GAC1B4hB,EAAQs2C,OAAO,8BAA+Bl4D,EAAOgE,OACzD,EACA89G,aAAY,SAAClgG,EAAS5hB,GAClB4hB,EAAQs2C,OAAO,oBAAqBl4D,EAAOtJ,OAC/C,EACA2wH,WAAU,SAACzlG,EAAS5hB,GAChB4hB,EAAQs2C,OAAO,kBAAmBl4D,EAAOunH,KAC7C,EACAD,cAAa,SAAC1lG,EAAS5hB,GACnB4hB,EAAQs2C,OAAO,sBAAuBl4D,EAAOunH,KACjD,IC9IR,IACE/vD,YAAY,EACZrmD,MAAO,CACL+uD,QAAS,GACTC,KAAM,GACN5kB,QAAS,GACT8nE,YAAa,IAEf/iF,UAAW,CACToqF,YAAW,SAACv5G,EAAO3mB,GACjB2mB,EAAM+uD,QAAU11E,CAClB,EACAmgI,SAAQ,SAACx5G,EAAO3mB,GACd2mB,EAAMgvD,KAAO31E,CACf,EACAogI,YAAW,SAACz5G,EAAO3mB,GACjB2mB,EAAMoqC,QAAU/wD,CAClB,EACAqgI,kBAAiB,SAAC15G,EAAO3mB,GACvB2mB,EAAMgvD,KAAO31E,CACf,EACAsgI,iBAAgB,SAAC35G,EAAO3mB,GACtB2mB,EAAMkyG,YAAc74H,CACtB,GAEFqzE,QAAS,CACPqC,QAAO,SAACt+C,EAAS5hB,GACf4hB,EAAQs2C,OAAO,cAAel4D,EAAOkgE,QACvC,EACAC,KAAI,SAACv+C,EAAS5hB,GACZ4hB,EAAQs2C,OAAO,WAAYl4D,EAAOmgE,KACpC,EACA5kB,QAAO,SAAC35B,EAAS5hB,GACf4hB,EAAQs2C,OAAO,cAAel4D,EAAOu7C,QACvC,EACA8nE,YAAW,SAACzhG,EAAS5hB,GACnB4hB,EAAQs2C,OAAO,mBAAoBl4D,EAAO1b,IAC5C,EACAymI,aAAY,SAACnpG,EAAS5hB,GAGpB,IAAI1b,EAAM,GAAHmjB,OAAMzH,EAAOs6D,IAAG,UAAA7yD,OAASzH,EAAOtJ,QAEjCu1F,EAAU,IAAIC,QAAQ5nG,GAE5ButE,MAAMo6B,GACH3/F,MAAK,SAACuC,GACL,GAAIA,EAAIwmF,GACN,OAAOxmF,EAAIijE,OAEX,MAAM,IAAIv7C,MAAM,cAEpB,IACCjqB,MAAK,SAACwlE,GACL,IAAMqO,EAAO6lD,GAAmBl0D,GAChClwC,EAAQs2C,OAAO,WAAYiI,EAC7B,IAAE,OACK,SAAC/gE,GACNna,QAAQC,MAAMka,EAChB,GACJ,wQC7DJ2yE,GAAA,kBAAA1sF,CAAA,MAAAy/B,EAAAz/B,EAAA,GAAAgF,EAAAV,OAAAvD,UAAA+H,EAAA9D,EAAAD,eAAAV,EAAAC,OAAAC,gBAAA,SAAAk7B,EAAAz/B,EAAAgF,GAAAy6B,EAAAz/B,GAAAgF,EAAAG,KAAA,EAAAO,EAAA,mBAAAT,OAAAA,OAAA,GAAA9D,EAAAuE,EAAAgP,UAAA,aAAA1M,EAAAtC,EAAAinF,eAAA,kBAAAjkD,EAAAhjC,EAAAR,aAAA,yBAAA0nF,EAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAV,OAAAC,eAAAk7B,EAAAz/B,EAAA,CAAAmF,MAAAH,EAAAR,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAptD,EAAAz/B,EAAA,KAAA4sF,EAAA,aAAAntD,GAAAmtD,EAAA,SAAAntD,EAAAz/B,EAAAgF,GAAA,OAAAy6B,EAAAz/B,GAAAgF,CAAA,WAAA2O,EAAA8rB,EAAAz/B,EAAAgF,EAAA8D,GAAA,IAAApD,EAAA1F,GAAAA,EAAAe,qBAAA+rF,EAAA9sF,EAAA8sF,EAAA3rF,EAAAmD,OAAAiB,OAAAG,EAAA3E,WAAAiH,EAAA,IAAA+kF,EAAAjkF,GAAA,WAAAzE,EAAAlD,EAAA,WAAAgE,MAAA6nF,EAAAvtD,EAAAz6B,EAAAgD,KAAA7G,CAAA,UAAA8rF,EAAAxtD,EAAAz/B,EAAAgF,GAAA,WAAA/C,KAAA,SAAAyG,IAAA+2B,EAAAv7B,KAAAlE,EAAAgF,GAAA,OAAAy6B,GAAA,OAAAx9B,KAAA,QAAAyG,IAAA+2B,EAAA,EAAAz/B,EAAA2T,KAAAA,EAAA,IAAAi/B,EAAA,iBAAAvlC,EAAA,iBAAA8pB,EAAA,YAAA5O,EAAA,YAAA2kE,EAAA,YAAAJ,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAA3xE,EAAA,GAAAmxE,EAAAnxE,EAAAta,GAAA,8BAAAgD,EAAAG,OAAAiP,eAAAD,EAAAnP,GAAAA,EAAAA,EAAA+H,EAAA,MAAAoH,GAAAA,IAAAtO,GAAA8D,EAAA5E,KAAAoP,EAAAnS,KAAAsa,EAAAnI,GAAA,IAAA5O,EAAA0oF,EAAArsF,UAAA+rF,EAAA/rF,UAAAuD,OAAAiB,OAAAkW,GAAA,SAAA4xE,EAAA5tD,GAAA,0BAAAx1B,SAAA,SAAAjK,GAAA4sF,EAAAntD,EAAAz/B,GAAA,SAAAy/B,GAAA,YAAA6tD,QAAAttF,EAAAy/B,EAAA,gBAAA8tD,EAAA9tD,EAAAz/B,GAAA,SAAAwtF,EAAAxoF,EAAAX,EAAAqB,EAAAvE,GAAA,IAAA6G,EAAAilF,EAAAxtD,EAAAz6B,GAAAy6B,EAAAp7B,GAAA,aAAA2D,EAAA/F,KAAA,KAAAymC,EAAA1gC,EAAAU,IAAAkqC,EAAAlK,EAAAvjC,MAAA,OAAAytC,GAAA,UAAAh0C,GAAAg0C,IAAA9pC,EAAA5E,KAAA0uC,EAAA,WAAA5yC,EAAAsb,QAAAs3B,EAAA66C,SAAAxmF,MAAA,SAAAw4B,GAAA+tD,EAAA,OAAA/tD,EAAA/5B,EAAAvE,EAAA,aAAAs+B,GAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAnB,EAAAsb,QAAAs3B,GAAA3rC,MAAA,SAAAw4B,GAAAiJ,EAAAvjC,MAAAs6B,EAAA/5B,EAAAgjC,EAAA,aAAAjJ,GAAA,OAAA+tD,EAAA,QAAA/tD,EAAA/5B,EAAAvE,EAAA,IAAAA,EAAA6G,EAAAU,IAAA,KAAA1D,EAAAX,EAAA,gBAAAc,MAAA,SAAAs6B,EAAA32B,GAAA,SAAA4kF,IAAA,WAAA1tF,GAAA,SAAAA,EAAAgF,GAAAwoF,EAAA/tD,EAAA32B,EAAA9I,EAAAgF,EAAA,WAAAA,EAAAA,EAAAA,EAAAiC,KAAAymF,EAAAA,GAAAA,GAAA,aAAAV,EAAAhtF,EAAAgF,EAAA8D,GAAA,IAAAzE,EAAAuuC,EAAA,gBAAAltC,EAAAvE,GAAA,GAAAkD,IAAA8yB,EAAA,UAAAjG,MAAA,mCAAA7sB,IAAAkkB,EAAA,cAAA7iB,EAAA,MAAAvE,EAAA,OAAAgE,MAAAs6B,EAAA3qB,MAAA,OAAAhM,EAAAyL,OAAA7O,EAAAoD,EAAAJ,IAAAvH,IAAA,KAAA6G,EAAAc,EAAA6kF,SAAA,GAAA3lF,EAAA,KAAA0gC,EAAAklD,EAAA5lF,EAAAc,GAAA,GAAA4/B,EAAA,IAAAA,IAAAwkD,EAAA,gBAAAxkD,CAAA,cAAA5/B,EAAAyL,OAAAzL,EAAA+kF,KAAA/kF,EAAAglF,MAAAhlF,EAAAJ,SAAA,aAAAI,EAAAyL,OAAA,IAAAlQ,IAAAuuC,EAAA,MAAAvuC,EAAAkkB,EAAAzf,EAAAJ,IAAAI,EAAAilF,kBAAAjlF,EAAAJ,IAAA,gBAAAI,EAAAyL,QAAAzL,EAAAklF,OAAA,SAAAllF,EAAAJ,KAAArE,EAAA8yB,EAAA,IAAA1b,EAAAwxE,EAAAjtF,EAAAgF,EAAA8D,GAAA,cAAA2S,EAAAxZ,KAAA,IAAAoC,EAAAyE,EAAAgM,KAAAyT,EAAAlb,EAAAoO,EAAA/S,MAAAwkF,EAAA,gBAAA/nF,MAAAsW,EAAA/S,IAAAoM,KAAAhM,EAAAgM,KAAA,WAAA2G,EAAAxZ,OAAAoC,EAAAkkB,EAAAzf,EAAAyL,OAAA,QAAAzL,EAAAJ,IAAA+S,EAAA/S,IAAA,YAAAklF,EAAA5tF,EAAAgF,GAAA,IAAA8D,EAAA9D,EAAAuP,OAAAlQ,EAAArE,EAAA0U,SAAA5L,GAAA,GAAAzE,IAAAo7B,EAAA,OAAAz6B,EAAA2oF,SAAA,eAAA7kF,GAAA9I,EAAA0U,SAAA,SAAA1P,EAAAuP,OAAA,SAAAvP,EAAA0D,IAAA+2B,EAAAmuD,EAAA5tF,EAAAgF,GAAA,UAAAA,EAAAuP,SAAA,WAAAzL,IAAA9D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAnlF,EAAA,aAAAokF,EAAA,IAAAxnF,EAAAunF,EAAA5oF,EAAArE,EAAA0U,SAAA1P,EAAA0D,KAAA,aAAAhD,EAAAzD,KAAA,OAAA+C,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAAhD,EAAAgD,IAAA1D,EAAA2oF,SAAA,KAAAT,EAAA,IAAA/rF,EAAAuE,EAAAgD,IAAA,OAAAvH,EAAAA,EAAA2T,MAAA9P,EAAAhF,EAAAkuF,YAAA/sF,EAAAgE,MAAAH,EAAA6P,KAAA7U,EAAAmuF,QAAA,WAAAnpF,EAAAuP,SAAAvP,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,GAAAz6B,EAAA2oF,SAAA,KAAAT,GAAA/rF,GAAA6D,EAAAuP,OAAA,QAAAvP,EAAA0D,IAAA,IAAAulF,UAAA,oCAAAjpF,EAAA2oF,SAAA,KAAAT,EAAA,UAAAkB,EAAA3uD,GAAA,IAAAz/B,EAAA,CAAAquF,OAAA5uD,EAAA,SAAAA,IAAAz/B,EAAAsuF,SAAA7uD,EAAA,SAAAA,IAAAz/B,EAAAuuF,WAAA9uD,EAAA,GAAAz/B,EAAAwuF,SAAA/uD,EAAA,SAAAgvD,WAAA5hF,KAAA7M,EAAA,UAAA0uF,EAAAjvD,GAAA,IAAAz/B,EAAAy/B,EAAAkvD,YAAA,GAAA3uF,EAAAiC,KAAA,gBAAAjC,EAAA0I,IAAA+2B,EAAAkvD,WAAA3uF,CAAA,UAAA+sF,EAAAttD,GAAA,KAAAgvD,WAAA,EAAAJ,OAAA,SAAA5uD,EAAAx1B,QAAAmkF,EAAA,WAAAQ,OAAA,YAAA1iF,EAAAlM,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAgF,EAAAhF,EAAAmB,GAAA,GAAA6D,EAAA,OAAAA,EAAAd,KAAAlE,GAAA,sBAAAA,EAAA6U,KAAA,OAAA7U,EAAA,IAAAgJ,MAAAhJ,EAAA2F,QAAA,KAAAtB,GAAA,EAAAqB,EAAA,SAAAmP,IAAA,OAAAxQ,EAAArE,EAAA2F,QAAA,GAAAmD,EAAA5E,KAAAlE,EAAAqE,GAAA,OAAAwQ,EAAA1P,MAAAnF,EAAAqE,GAAAwQ,EAAAC,MAAA,EAAAD,EAAA,OAAAA,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,SAAAnP,EAAAmP,KAAAnP,CAAA,YAAAuoF,UAAArvF,GAAAoB,GAAA,2BAAAmtF,EAAApsF,UAAAqsF,EAAA/oF,EAAAK,EAAA,eAAAS,MAAAioF,EAAAxkF,cAAA,IAAAvE,EAAA+oF,EAAA,eAAAjoF,MAAAgoF,EAAAvkF,cAAA,IAAAukF,EAAA76C,YAAAs6C,EAAAQ,EAAA1kD,EAAA,qBAAA1oC,EAAA6uF,oBAAA,SAAApvD,GAAA,IAAAz/B,EAAA,mBAAAy/B,GAAAA,EAAApzB,YAAA,QAAArM,IAAAA,IAAAmtF,GAAA,uBAAAntF,EAAAsyC,aAAAtyC,EAAAd,MAAA,EAAAc,EAAA8uF,KAAA,SAAArvD,GAAA,OAAAn7B,OAAAyqF,eAAAzqF,OAAAyqF,eAAAtvD,EAAA2tD,IAAA3tD,EAAAuvD,UAAA5B,EAAAR,EAAAntD,EAAAiJ,EAAA,sBAAAjJ,EAAA1+B,UAAAuD,OAAAiB,OAAAb,GAAA+6B,CAAA,EAAAz/B,EAAAivF,MAAA,SAAAxvD,GAAA,OAAAguD,QAAAhuD,EAAA,EAAA4tD,EAAAE,EAAAxsF,WAAA6rF,EAAAW,EAAAxsF,UAAAiH,GAAA,0BAAAhI,EAAAutF,cAAAA,EAAAvtF,EAAAurF,MAAA,SAAA9rD,EAAAz6B,EAAA8D,EAAAzE,EAAAqB,QAAA,IAAAA,IAAAA,EAAA2V,SAAA,IAAAla,EAAA,IAAAosF,EAAA55E,EAAA8rB,EAAAz6B,EAAA8D,EAAAzE,GAAAqB,GAAA,OAAA1F,EAAA6uF,oBAAA7pF,GAAA7D,EAAAA,EAAA0T,OAAA5N,MAAA,SAAAw4B,GAAA,OAAAA,EAAA3qB,KAAA2qB,EAAAt6B,MAAAhE,EAAA0T,MAAA,KAAAw4E,EAAA3oF,GAAAkoF,EAAAloF,EAAAgkC,EAAA,aAAAkkD,EAAAloF,EAAAvD,GAAA,0BAAAyrF,EAAAloF,EAAA,qDAAA1E,EAAAmL,KAAA,SAAAs0B,GAAA,IAAAz/B,EAAAsE,OAAAm7B,GAAAz6B,EAAA,WAAA8D,KAAA9I,EAAAgF,EAAA6H,KAAA/D,GAAA,OAAA9D,EAAAkqF,UAAA,SAAAr6E,IAAA,KAAA7P,EAAAW,QAAA,KAAA85B,EAAAz6B,EAAAuI,MAAA,GAAAkyB,KAAAz/B,EAAA,OAAA6U,EAAA1P,MAAAs6B,EAAA5qB,EAAAC,MAAA,EAAAD,CAAA,QAAAA,EAAAC,MAAA,EAAAD,CAAA,GAAA7U,EAAAkM,OAAAA,EAAA6gF,EAAAhsF,UAAA,CAAAsL,YAAA0gF,EAAA6B,MAAA,SAAA5uF,GAAA,QAAA4f,KAAA,OAAA/K,KAAA,OAAAg5E,KAAA,KAAAC,MAAAruD,EAAA,KAAA3qB,MAAA,OAAA64E,SAAA,UAAAp5E,OAAA,YAAA7L,IAAA+2B,EAAA,KAAAgvD,WAAAxkF,QAAAykF,IAAA1uF,EAAA,QAAAgF,KAAA,WAAAA,EAAAmD,OAAA,IAAAW,EAAA5E,KAAA,KAAAc,KAAAgE,OAAAhE,EAAAqC,MAAA,WAAArC,GAAAy6B,EAAA,EAAAtyB,KAAA,gBAAA2H,MAAA,MAAA2qB,EAAA,KAAAgvD,WAAA,GAAAE,WAAA,aAAAlvD,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,YAAAymF,IAAA,EAAApB,kBAAA,SAAA/tF,GAAA,QAAA8U,KAAA,MAAA9U,EAAA,IAAAgF,EAAA,cAAAoqF,EAAAtmF,EAAAzE,GAAA,OAAAlD,EAAAc,KAAA,QAAAd,EAAAuH,IAAA1I,EAAAgF,EAAA6P,KAAA/L,EAAAzE,IAAAW,EAAAuP,OAAA,OAAAvP,EAAA0D,IAAA+2B,KAAAp7B,CAAA,SAAAA,EAAA,KAAAoqF,WAAA9oF,OAAA,EAAAtB,GAAA,IAAAA,EAAA,KAAAqB,EAAA,KAAA+oF,WAAApqF,GAAAlD,EAAAuE,EAAAipF,WAAA,YAAAjpF,EAAA2oF,OAAA,OAAAe,EAAA,UAAA1pF,EAAA2oF,QAAA,KAAAzuE,KAAA,KAAA5X,EAAAc,EAAA5E,KAAAwB,EAAA,YAAAgjC,EAAA5/B,EAAA5E,KAAAwB,EAAA,iBAAAsC,GAAA0gC,EAAA,SAAA9oB,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,WAAA1uE,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,SAAAvmF,GAAA,QAAA4X,KAAAla,EAAA4oF,SAAA,OAAAc,EAAA1pF,EAAA4oF,UAAA,YAAA5lD,EAAA,UAAAxX,MAAA,kDAAAtR,KAAAla,EAAA6oF,WAAA,OAAAa,EAAA1pF,EAAA6oF,WAAA,KAAAP,OAAA,SAAAvuD,EAAAz/B,GAAA,QAAAgF,EAAA,KAAAypF,WAAA9oF,OAAA,EAAAX,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAAoqF,WAAAzpF,GAAA,GAAAX,EAAAgqF,QAAA,KAAAzuE,MAAA9W,EAAA5E,KAAAG,EAAA,oBAAAub,KAAAvb,EAAAkqF,WAAA,KAAA7oF,EAAArB,EAAA,OAAAqB,IAAA,UAAA+5B,GAAA,aAAAA,IAAA/5B,EAAA2oF,QAAAruF,GAAAA,GAAA0F,EAAA6oF,aAAA7oF,EAAA,UAAAvE,EAAAuE,EAAAA,EAAAipF,WAAA,UAAAxtF,EAAAc,KAAAw9B,EAAAt+B,EAAAuH,IAAA1I,EAAA0F,GAAA,KAAA6O,OAAA,YAAAM,KAAAnP,EAAA6oF,WAAArB,GAAA,KAAAmC,SAAAluF,EAAA,EAAAkuF,SAAA,SAAA5vD,EAAAz/B,GAAA,aAAAy/B,EAAAx9B,KAAA,MAAAw9B,EAAA/2B,IAAA,gBAAA+2B,EAAAx9B,MAAA,aAAAw9B,EAAAx9B,KAAA,KAAA4S,KAAA4qB,EAAA/2B,IAAA,WAAA+2B,EAAAx9B,MAAA,KAAAktF,KAAA,KAAAzmF,IAAA+2B,EAAA/2B,IAAA,KAAA6L,OAAA,cAAAM,KAAA,kBAAA4qB,EAAAx9B,MAAAjC,IAAA,KAAA6U,KAAA7U,GAAAktF,CAAA,EAAAoC,OAAA,SAAA7vD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAupF,aAAA9uD,EAAA,YAAA4vD,SAAArqF,EAAA2pF,WAAA3pF,EAAAwpF,UAAAE,EAAA1pF,GAAAkoF,CAAA,kBAAAztD,GAAA,QAAAz/B,EAAA,KAAAyuF,WAAA9oF,OAAA,EAAA3F,GAAA,IAAAA,EAAA,KAAAgF,EAAA,KAAAypF,WAAAzuF,GAAA,GAAAgF,EAAAqpF,SAAA5uD,EAAA,KAAA32B,EAAA9D,EAAA2pF,WAAA,aAAA7lF,EAAA7G,KAAA,KAAAoC,EAAAyE,EAAAJ,IAAAgmF,EAAA1pF,EAAA,QAAAX,CAAA,YAAA6sB,MAAA,0BAAAq+D,cAAA,SAAAvvF,EAAAgF,EAAA8D,GAAA,YAAA6kF,SAAA,CAAAj5E,SAAAxI,EAAAlM,GAAAkuF,WAAAlpF,EAAAmpF,QAAArlF,GAAA,cAAAyL,SAAA,KAAA7L,IAAA+2B,GAAAytD,CAAA,GAAAltF,CAAA,UAAAwvF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAAjsF,EAAAgF,GAAA,QAAAknF,EAAAH,EAAA/rF,GAAAgF,GAAAvD,EAAAyqF,EAAAzqF,KAAA,OAAAtF,GAAA,YAAAsxB,EAAAtxB,EAAA,CAAA+vF,EAAA96E,KAAAwG,EAAAnW,GAAAkW,QAAAC,QAAAnW,GAAA8B,KAAAyoF,EAAAC,EAAA,UAAAo7B,GAAApjH,GAAA,sBAAA9I,EAAA,KAAA4S,EAAA2H,UAAA,WAAAiC,SAAA,SAAAC,EAAA6V,GAAA,IAAAs+D,EAAA9nF,EAAA+J,MAAA7S,EAAA4S,GAAA,SAAAi+E,EAAAvqF,GAAAqqF,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,OAAAxqF,EAAA,UAAAwqF,EAAA51E,GAAAy1E,GAAAC,EAAAn0E,EAAA6V,EAAAu+D,EAAAC,EAAA,QAAA51E,EAAA,CAAA21E,OAAA1rF,EAAA,cAAAy6G,GAAAp4G,GAAA,gBAAAA,GAAA,GAAAI,MAAAC,QAAAL,GAAA,OAAAyzH,GAAAzzH,EAAA,CAAA4zH,CAAA5zH,IAAA,SAAA6zH,GAAA,uBAAAj1H,QAAA,MAAAi1H,EAAAj1H,OAAAyP,WAAA,MAAAwlH,EAAA,qBAAAzzH,MAAA0uB,KAAA+kG,EAAA,CAAAC,CAAA9zH,IAAA,SAAAhC,EAAA+1H,GAAA,GAAA/1H,EAAA,qBAAAA,EAAA,OAAAy1H,GAAAz1H,EAAA+1H,GAAA,IAAAtxH,EAAAxE,OAAAvD,UAAAqG,SAAAlD,KAAAG,GAAAgD,MAAA,uBAAAyB,GAAAzE,EAAAgI,cAAAvD,EAAAzE,EAAAgI,YAAAnN,MAAA,QAAA4J,GAAA,QAAAA,EAAArC,MAAA0uB,KAAA9wB,GAAA,cAAAyE,GAAA,2CAAAlI,KAAAkI,GAAAgxH,GAAAz1H,EAAA+1H,QAAA,GAAAC,CAAAh0H,IAAA,qBAAA4nF,UAAA,wIAAAqsC,EAAA,UAAAR,GAAAzzH,EAAA2kC,IAAA,MAAAA,GAAAA,EAAA3kC,EAAAV,UAAAqlC,EAAA3kC,EAAAV,QAAA,QAAAD,EAAA,EAAAq0H,EAAA,IAAAtzH,MAAAukC,GAAAtlC,EAAAslC,EAAAtlC,IAAAq0H,EAAAr0H,GAAAW,EAAAX,GAAA,OAAAq0H,CAAA,UAAAjnH,GAAA9S,EAAAgF,GAAA,IAAAy6B,EAAAn7B,OAAA6G,KAAAnL,GAAA,GAAAsE,OAAA+hE,sBAAA,KAAAhiE,EAAAC,OAAA+hE,sBAAArmE,GAAAgF,IAAAX,EAAAA,EAAAgN,QAAA,SAAArM,GAAA,OAAAV,OAAAg0F,yBAAAt4F,EAAAgF,GAAAR,UAAA,KAAAi7B,EAAA5yB,KAAA6E,MAAA+tB,EAAAp7B,EAAA,QAAAo7B,CAAA,UAAA84D,GAAAv4F,GAAA,QAAAgF,EAAA,EAAAA,EAAAoU,UAAAzT,OAAAX,IAAA,KAAAy6B,EAAA,MAAArmB,UAAApU,GAAAoU,UAAApU,GAAA,GAAAA,EAAA,EAAA8N,GAAAxO,OAAAm7B,IAAA,GAAAx1B,SAAA,SAAAjF,GAAA,IAAAH,EAAAnB,EAAAyB,EAAAN,EAAA7E,EAAA0D,EAAAsB,EAAAG,EAAAs6B,EAAAz6B,IAAAtB,EAAA,SAAAgF,GAAA,IAAAhF,EAAA,SAAA04D,GAAA,cAAAx9D,GAAAw9D,IAAA,OAAAA,EAAA,OAAAA,EAAA,IAAAo8B,EAAAp8B,EAAAn3D,OAAAwzF,aAAA,QAAAz0F,IAAAw0F,EAAA,KAAAhvF,EAAAgvF,EAAAt0F,KAAAk4D,EAAAs8B,UAAA,cAAA95F,GAAA4K,GAAA,OAAAA,EAAA,UAAAykF,UAAA,uDAAA9rF,OAAAi6D,EAAA,CAAAu8B,CAAAjwF,GAAA,iBAAA9J,GAAA8E,GAAAA,EAAAvB,OAAAuB,EAAA,CAAAk1F,CAAAl1F,MAAAmB,EAAAP,OAAAC,eAAAM,EAAAnB,EAAA,CAAAyB,MAAAA,EAAAX,YAAA,EAAAoE,cAAA,EAAAikF,UAAA,IAAAhoF,EAAAnB,GAAAyB,CAAA,IAAAb,OAAAu0F,0BAAAv0F,OAAAwuE,iBAAA9yE,EAAAsE,OAAAu0F,0BAAAp5D,IAAA3sB,GAAAxO,OAAAm7B,IAAAx1B,SAAA,SAAAjF,GAAAV,OAAAC,eAAAvE,EAAAgF,EAAAV,OAAAg0F,yBAAA74D,EAAAz6B,GAAA,WAAAhF,CAAA,CAUA,SAAS2lI,GAAoB9hG,EAAahoB,GACxC,MAAO,CACLA,GAAIA,EACJ+pH,YAAa,KACbC,SAAU,KACV9tH,OAAQ,SACRwwC,SAAU,CACR,CACEtmD,KAAM,OACN2wE,QAAS,CACPxL,KAAM,KACN93B,KAAMzL,EACNkmF,MAAO,QAKjB,CAEA,SAAS+b,GAA0BC,GACjC,OAAAxtC,GAAAA,GAAA,GACKotC,GAAoB,GAAI,mBAAiB,IAC5C5tH,OAAQ,SACRwwC,SAAU,CACR,CACEtmD,KAAM,gBACN2wE,QAAS,CACPk3C,cAAeic,MAKzB,CAQA,UACE5zD,YAAY,EACZrmD,MAAO,CACLw+F,kBAActmH,EACdghD,SAAU,GACVwrE,gBAAgB,EAChBZ,cAAc,EACdE,iBAAiB,EACjBl1C,YAAQ52E,EACRgiI,sBAAkBhiI,EAClBsvH,gBAAiB,GACjB2S,sBAAkBjiI,EAClB8uH,mBAAe9uH,EACfqsH,oBAAoB,EACpB9D,aAAc,oBACdJ,qBAAiBnoH,EACjBkiI,qBAAqB,EACrBC,uBAAuB,EACvBC,qBAAiBpiI,GAEnBi3C,UAAW,CACTorF,yBAAwB,SAACv6G,EAAO3mB,GAC9B2mB,EAAMukG,mBAAqBlrH,CAC7B,EACAmhI,iBAAgB,SAACx6G,EAAO3mB,GACtB2mB,EAAMw+F,aAAenlH,CACvB,EACAohI,kBAAiB,SAACz6G,EAAM3mB,GACtB2mB,EAAMygG,aAAepnH,CACvB,EACAqhI,qBAAoB,SAAC16G,EAAM3mB,GACzB2mB,EAAMqgG,gBAAkBhnH,CAC1B,EACAshI,gBAAe,SAAC36G,EAAOk5B,GACrB,IAAKA,IAAaA,EAASr/C,OACzB,OAAO,EAKT,IAFA,IAAM+gI,EAAkB1hF,EAAS3zC,QAAO,SAAAkqG,GAAO,MAAuB,WAAnBA,EAAQxjG,SAAwB+T,EAAMm6G,kBAAmBz+H,SAAS+zG,EAAQ1/F,IAAMrU,SAASskB,EAAMm6G,iBAAyB,IACvKt5H,EAAQ,EACLA,EAAQ+5H,EAAgB/gI,QAAQ,CACrC,IAAM41G,EAAUmrB,EAAgB/5H,GAChC,GAAuB,WAAnB4uG,EAAQxjG,OACV,MAEF,GAAIwjG,EAAQ4Z,eAAiBrpG,EAAMq6G,sBAAuB,CACxD,IAAMjT,EAAa4S,GAA0Bh6G,EAAM8uD,OAA8B,uBACjF8rD,EAAgBlgI,OAAOmG,EAAO,EAAGumH,GACjCpnG,EAAMq6G,uBAAwB,EAC9Bx5H,GACF,CAAE,IAAK4uG,EAAQ4Z,cAAgBrpG,EAAMq6G,sBAAuB,CAC1D,IAAMjT,EAAa4S,GAA0Bh6G,EAAM8uD,OAA2B,oBAC9E8rD,EAAgBlgI,OAAOmG,EAAO,EAAGumH,GACjCpnG,EAAMq6G,uBAAwB,EAC9Bx5H,GACF,CACAA,GACF,CAEImf,EAAMk5B,UAAYl5B,EAAMk5B,SAASr/C,OAC/B+gI,EAAgB/gI,SAClBmmB,EAAMk5B,SAAW,GAAH5iC,OAAAq8F,GAAO3yF,EAAMk5B,UAAQy5D,GAAKioB,KAG1C56G,EAAMk5B,SAAQy5D,GAAOioB,EAEzB,EACAC,qBAAoB,SAAC76G,EAAO3mB,GAC1B,IAAMyhI,EAAuB/V,eAAephD,QAAQ,yBACpD,GAAIm3D,EAAsB,CACtB,IAAMC,EAAuBp7H,KAAKikE,MAAMk3D,GACxCC,EAAqBpS,WAAatvH,EAClC0rH,eAAe/gD,QAAQ,wBAAyBrkE,KAAKC,UAAUm7H,GACnE,CACA/6G,EAAM0kG,eAAiBrrH,CACzB,EACA2hI,WAAU,SAACh7G,EAAO8mD,GAChB9mD,EAAM8uD,OAAShI,CACjB,EACAm0D,uBAAsB,SAACj7G,EAAO3mB,GAC5B2mB,EAAMk6G,iBAAmB7gI,CAC3B,EACA6hI,kBAAiB,SAACl7G,EAAO3mB,GACvB2mB,EAAM8jG,aAAezqH,CACvB,EACA8hI,qBAAoB,SAACn7G,EAAO8mD,GAC1B,IAAQ/2D,EAAc+2D,EAAd/2D,GAAI1W,EAAUytE,EAAVztE,MACNwH,EAAQmf,EAAMwnG,gBAAgB/nH,WAAU,SAAC9B,GAAI,OAAKA,EAAKoS,KAAOA,CAAE,KAEvD,IAAXlP,EACFmf,EAAMwnG,gBAAgB3mH,GAAOxH,MAAQA,EAErC2mB,EAAMwnG,gBAAgBzmH,KAAK,CAAEgP,GAAAA,EAAI1W,MAAAA,GAErC,EACA+hI,qBAAoB,SAACp7G,EAAO3mB,GAC1B2mB,EAAMgkG,gBAAkB3qH,CAC1B,EACAgiI,uBAAsB,SAACr7G,EAAO3mB,GAC5B2mB,EAAMm6G,iBAAmB9gI,CAC3B,EACAiiI,mBAAkB,SAACt7G,EAAOu7G,GACxBv7G,EAAMw7G,gBAAkBD,CAC1B,EACAE,qBAAoB,SAACz7G,GACfA,EAAMw7G,kBACRllC,cAAct2E,EAAMw7G,iBACpBx7G,EAAMw7G,gBAAkB,KAE5B,EACAE,sBAAqB,SAAC17G,EAAO3mB,GAC3B2mB,EAAMo6G,oBAAsB/gI,CAC9B,EACAsiI,yBAAwB,SAAC37G,EAAO3mB,GAC9B2mB,EAAMigG,mBAAqB5mH,CAC7B,EACAuiI,+BAA8B,SAAC57G,EAAOs6G,GACpCt6G,EAAMs6G,gBAAkBA,CAC1B,EACAuB,wBAAuB,SAAC77G,GACtBA,EAAMw+F,kBAAetmH,EACrB8nB,EAAMk5B,SAAW,GACjBl5B,EAAM8jG,cAAe,EACrB9jG,EAAMgkG,iBAAkB,EACxBhkG,EAAM0kG,gBAAiB,EACvB1kG,EAAMwnG,gBAAkB,GACxBxnG,EAAMm6G,sBAAmBjiI,EACzB8nB,EAAMgnG,mBAAgB9uH,EACtB8nB,EAAMukG,oBAAqB,EAC3BvkG,EAAMigG,wBAAqB/nH,EAC3B8nB,EAAMygG,aAAe,oBACrBzgG,EAAMs6G,qBAAkBpiI,EACxB6sH,eAAeuD,WAAW,wBAC5B,GAEF57C,QAAS,CACPovD,0BAAyB,SAAAjmD,EAAuCxN,GAAU,IAA9CroD,EAAK61D,EAAL71D,MAAO+mD,EAAM8O,EAAN9O,OAAQrB,EAAOmQ,EAAPnQ,QAASz1B,EAAQ4lC,EAAR5lC,SAClD82B,EAAO,iCAAkCsB,GACpCroD,EAAM0kG,gBACT39C,EAAO,wBAAwB,GAE7BrB,EAA+B,uBAEjCz1B,EAAS,eAAgB,CAACo4B,SAAAA,EAAU0zD,mBAAmB,GAE3D,EACMC,kBAAiB,SAAAlmD,GAA8B,OAAAmpC,GAAAr+B,KAAAoC,MAAA,SAAAiB,IAAA,IAAAjkE,EAAA+mD,EAAA92B,EAAA6qD,EAAAlnG,EAAA+sE,EAAA,OAAAigB,KAAA/4E,MAAA,SAAAmpB,GAAA,cAAAA,EAAAld,KAAAkd,EAAAjoB,MAAA,OAUR,OAVnBiX,EAAK81D,EAAL91D,MAAO+mD,EAAM+O,EAAN/O,OAAQ92B,EAAQ6lC,EAAR7lC,SACjC6qD,EAAU,IAAIC,QAAQ/iF,+BAA0C,CACpEvP,OAAQ,OACRsmE,QAAS,CACP,eAAgB,oBAElBr4E,KAAMiJ,KAAKC,UAAWogB,EAAMs6G,gBAAkB,CAAEjyD,SAAUroD,EAAMs6G,iBAAoB,CAAC,KACrFtpG,EAAAld,KAAA,EAGAizD,EAAO,4BAA4B,GAAM/1C,EAAAjoB,KAAA,EAElB23D,MAAMo6B,GAAQ,OAAvB,IAARlnG,EAAQo9B,EAAA+wD,MAEAmC,GAAI,CAAFlzD,EAAAjoB,KAAA,SACuB,MAArCg+D,EAAO,wBAAwB,GACzB,IAAI3hD,MAAM,gCAA+B,QAG/C2hD,EAAO,wBAAwB,GAAO,eAAA/1C,EAAAjoB,KAAA,GAGrBnV,EAAS+sE,OAAM,QACO,OADnCA,EAAI3vC,EAAA+wD,KACV9xC,EAAS,yBAA0B0wB,GAAM3vC,EAAAkxD,OAAA,UAClC,GAAI,QAEwC,MAFxClxD,EAAAld,KAAA,GAAAkd,EAAAkvF,GAAAlvF,EAAA,SAEXl9B,QAAQC,MAAM,+BAA8Bi9B,EAAAkvF,IACtC,IAAI96F,MAAM,iCAAgC4L,EAAAkvF,IAAO,QAEb,OAFalvF,EAAAld,KAAA,GAEvDizD,EAAO,4BAA4B,GAAO/1C,EAAAwyD,OAAA,6BAAAxyD,EAAA3vB,OAAA,GAAA4iF,EAAA,wBA7BOg7B,EA+BrD,EACMgd,mBAAkB,SAAAC,GAA6B,OAAAjd,GAAAr+B,KAAAoC,MAAA,SAAAy8B,IAAA,IAAA0c,EAAAp1D,EAAA92B,EAAAmsF,EAAAC,EAAAtsH,EAAA5c,EAAA2nG,EAAAlnG,EAAA+sE,EAAA,OAAAigB,KAAA/4E,MAAA,SAAA63G,GAAA,cAAAA,EAAA5rG,KAAA4rG,EAAA32G,MAAA,OACwC,GADlEg+D,EAAMm1D,EAANn1D,OAAQ92B,EAAQisF,EAARjsF,SAAeisF,EAALl8G,MACrCo8G,EAAsCrX,eAAephD,QAAQ,yBACzB,CAAF+7C,EAAA32G,KAAA,QACK,OAA3CjV,QAAQC,MAAM,6BAA6B2rH,EAAAx9B,OAAA,UACpC,GAAK,OAc6B,OAZrCm6C,EAAmC18H,KAAKikE,MAAMw4D,GAC9CrsH,EAAKssH,SAA8C,QAAdF,EAAhCE,EAAkC7d,oBAAY,IAAA2d,OAAA,EAA9CA,EAAgDpsH,GACrD5c,EAAM,GAAHmjB,OAAM0B,gCAAyC,qBAAA1B,OAAoBvG,GAEtE+qF,EAAU,IAAIC,QAAQ5nG,EAAK,CAC/BsV,OAAQ,MACRsmE,QAAS,CACP,eAAgB,sBAElB2wC,EAAA5rG,KAAA,EAGAizD,EAAO,4BAA4B,GAAM24C,EAAA32G,KAAA,GAElB23D,MAAMo6B,GAAQ,QAAvB,IAARlnG,EAAQ8rH,EAAA39B,MAEAmC,GAAI,CAAFw7B,EAAA32G,KAAA,SACuB,MAArCg+D,EAAO,wBAAwB,GACzB,IAAI3hD,MACR,kCAAoCxxB,EAASqmI,YAC9C,QAGDlzD,EAAO,wBAAwB,GAAO,eAAA24C,EAAA32G,KAAA,GAErBnV,EAAS+sE,OAAM,QACO,OADnCA,EAAI++C,EAAA39B,KACV9xC,EAAS,yBAA0B0wB,GAAM++C,EAAAx9B,OAAA,UAClC,GAAI,QAEwC,MAFxCw9B,EAAA5rG,KAAA,GAAA4rG,EAAAQ,GAAAR,EAAA,SAEX5rH,QAAQC,MAAM,+BAA8B2rH,EAAAQ,IACtC,IAAI96F,MAAM,iCAAgCs6F,EAAAQ,IAAO,QAEb,OAFaR,EAAA5rG,KAAA,GAEvDizD,EAAO,4BAA4B,GAAO24C,EAAAl8B,OAAA,6BAAAk8B,EAAAr+G,OAAA,GAAAo+G,EAAA,wBAtCOR,EAwCrD,EACAqd,uBAAsB,SAAAC,EAAuC57D,GAAM,IAA1CoG,EAAMw1D,EAANx1D,OAAQ92B,EAAQssF,EAARtsF,SAAUy1B,EAAO62D,EAAP72D,QAAS1lD,EAAKu8G,EAALv8G,MAKlD,GAJAiwB,EAAS,uBAAwB0wB,EAAK69C,cAEtCz3C,EAAO,2BAA4BpG,EAAK/sE,UAAY+sE,EAAK67D,WAErD92D,EAA+B,wBAAM1lD,EAAMo6G,oBAAqB,CAClE,IAAMgC,EAAsCrX,eAAephD,QAAQ,yBAC/D84D,EAAyB,GAC7B,GAAIL,EAAqC,CACvC,IAAMC,EAAmC18H,KAAKikE,MAAMw4D,GACpDK,EAAyBJ,EAAiCzoI,SAAWyoI,EAAiCzoI,SAAWyoI,EAAiCG,SACpJ,CACA,IAAME,EAAiB,GAAHpmH,OAAAq8F,GAAO8pB,GAA2B,CAACzC,GAA0Bh6G,EAAM8uD,OAAiC,4BAOxH,OAFA7+B,EAAS,6BAJ2Bw8C,GAAA,CAClC+xB,aAAc79C,EAAK69C,cAChBke,EAAe7iI,OAAS,CAAE2iI,UAAWE,GAAkB,CAAC9oI,SAAU8oI,KAGvE31D,EAAO,yBAAyB,IACzB,CACT,CAEE92B,EAAS,6BAA8B0wB,GACvCokD,eAAe/gD,QAAQ,wBAAyBrkE,KAAKC,UAAU,CAAC4+G,aAAcx+F,EAAMw+F,aAAcge,UAAWx8G,EAAMk5B,SAAUyvE,WAAY3oG,EAAM0kG,iBAEnJ,EACAiY,2BAA0B,SAAAC,EAA8Bj8D,GAAM,IAAjCoG,EAAM61D,EAAN71D,OAAQ92B,EAAQ2sF,EAAR3sF,SAAUjwB,EAAK48G,EAAL58G,MACzC2gD,EAAK/sE,SACPmzE,EAAO,kBAAmB,CAACpG,EAAK/sE,WACvB+sE,EAAK67D,WAAa77D,EAAK67D,UAAU3iI,QAC1CktE,EAAO,kBAAmBpG,EAAK67D,WAEjC,IAAMK,EA5SZ,SAA+B3jF,GAC7B,IAAK,IAAIt/C,EAAIs/C,EAASr/C,OAAS,EAAGD,GAAK,EAAGA,IACxC,GAA2B,QAAvBs/C,EAASt/C,GAAGqS,OACd,OAAOitC,EAASt/C,GAAGmW,GAGvB,OAAO,IACT,CAqSiC+sH,CAAsB98G,EAAMk5B,UAC5B,OAAvB2jF,GACF91D,EAAO,yBAA0B81D,GAE/Bl8D,EAAK69C,aAAax+F,MAAM+8G,KAC1B9sF,EAAS,gBAETA,EAAS,cAEb,EACMm1E,gBAAe,SAAA4X,GAAY,OAAA/d,GAAAr+B,KAAAoC,MAAA,SAAAi6C,IAAA,IAAAj9G,EAAA7sB,EAAA2nG,EAAA,OAAAla,KAAA/4E,MAAA,SAAAq1H,GAAA,cAAAA,EAAAppH,KAAAopH,EAAAn0H,MAAA,OAO7B,OAPoBiX,EAAKg9G,EAALh9G,MAChB7sB,EAAM,GAAHmjB,OAAM0B,6BAAsC,qBAAA1B,OAAoB0J,EAAMw+F,aAAazuG,IACtF+qF,EAAU,IAAIC,QAAQ5nG,EAAK,CAC/BsV,OAAmD,OACnDsmE,QAAS,CACP,eAAgB,sBAElBmuD,EAAAppH,KAAA,EAAAopH,EAAAn0H,KAAA,EAEuB23D,MAAMo6B,GAAQ,OAAvB,GAAAoiC,EAAAn7C,KAEAmC,GAAI,CAAFg5C,EAAAn0H,KAAA,cACR,IAAIqc,MAAM,8BAA6B,OAGI,OAAnD2/F,eAAeuD,WAAW,yBAAyB4U,EAAAh7C,OAAA,UAC5C,GAAI,cAAAg7C,EAAAppH,KAAA,GAAAopH,EAAAhd,GAAAgd,EAAA,SAEL,IAAI93G,MAAM,gCAA+B83G,EAAAhd,IAAO,yBAAAgd,EAAA77H,OAAA,GAAA47H,EAAA,kBAlBzBhe,EAoBjC,EACMlB,aAAY,SAAAof,GAA4E,IAAAC,EAAA9vH,UAAA,OAAA2xG,GAAAr+B,KAAAoC,MAAA,SAAAq6C,IAAA,IAAAt2D,EAAA/mD,EAAAiwB,EAAAqtF,EAAAj1D,EAAAk1D,EAAApqI,EAAA2nG,EAAAlnG,EAAA+sE,EAAA,OAAAigB,KAAA/4E,MAAA,SAAA21H,GAAA,cAAAA,EAAA1pH,KAAA0pH,EAAAz0H,MAAA,OAYjD,OAZxBg+D,EAAMo2D,EAANp2D,OAAQ/mD,EAAKm9G,EAALn9G,MAAOiwB,EAAQktF,EAARltF,SAAco4B,GAANi1D,EAAAF,EAAAvjI,OAAA,QAAA3B,IAAAklI,EAAA,GAAAA,EAAA,GAA8C,CAAC,GAAzC/0D,SAAQk1D,EAAAD,EAAEvB,kBAEpD5oI,EAAM,GAAHmjB,YAFkE,IAAAinH,GAAQA,EAC9CvlH,2BAAqDA,wBACnE,qBAAA1B,OAAoB0J,EAAMw+F,aAAazuG,IACxD+qF,EAAU,IAAIC,QAAQ5nG,EAAGs5F,GAAA,CAC7BhkF,OAAmD,OACnDsmE,QAAS,CACP,eAAgB,qBAE4B,CAACr4E,KAAMiJ,KAAKC,UAAU,CAAEyoE,SAAUA,OAChFm1D,EAAA1pH,KAAA,EAGAizD,EAAO,4BAA4B,GAAMy2D,EAAAz0H,KAAA,EAElB23D,MAAMo6B,GAAQ,OAAvB,IAARlnG,EAAQ4pI,EAAAz7C,MACAmC,GAAI,CAAFs5C,EAAAz0H,KAAA,eACR,IAAIqc,MAAM,8BAA6B,eAAAo4G,EAAAz0H,KAAA,GAE5BnV,EAAS+sE,OAAM,QACO,OADnCA,EAAI68D,EAAAz7C,KACV9xC,EAAS,yBAA0B0wB,GAAM68D,EAAAt7C,OAAA,UAClC,GAAI,cAAAs7C,EAAA1pH,KAAA,GAAA0pH,EAAAtd,GAAAsd,EAAA,SAEL,IAAIp4G,MAAM,+BAA8Bo4G,EAAAtd,IAAO,QAEX,OAFWsd,EAAA1pH,KAAA,GAErDizD,EAAO,4BAA4B,GAAOy2D,EAAAh6C,OAAA,6BAAAg6C,EAAAn8H,OAAA,GAAAg8H,EAAA,wBAxBgDpe,EA0B9F,EACAwe,iBAAgB,SAAAC,EAAkB52D,GAAS,IA3ThB9mD,GA6TzB+mD,EAFsB22D,EAAN32D,QAET,kBAAmB,CAAC8yD,GAAoB/yD,GA7TtB9mD,EA2TI09G,EAAL19G,OA1Tfm6G,kBACRz+H,SAASskB,EAAMm6G,kBAAoB,GAAG7+H,gBACvCpD,IA2TF,EACMgvH,YAAW,SAAAyW,EAA8B72D,GAAS,OAAAm4C,GAAAr+B,KAAAoC,MAAA,SAAA46C,IAAA,IAAA59G,EAAA+mD,EAAA92B,EAAA98C,EAAA2nG,EAAAlnG,EAAA+sE,EAAA,OAAAigB,KAAA/4E,MAAA,SAAAg2H,GAAA,cAAAA,EAAA/pH,KAAA+pH,EAAA90H,MAAA,OAWX,OAXzBiX,EAAK29G,EAAL39G,MAAO+mD,EAAM42D,EAAN52D,OAAQ92B,EAAQ0tF,EAAR1tF,SAC3B98C,EAAM,GAAHmjB,OAAM0B,sBAAkC,qBAAA1B,OAAoB0J,EAAMw+F,aAAazuG,IAClF+qF,EAAU,IAAIC,QAAQ5nG,EAAGs5F,GAAA,CAC7BhkF,OAAmD,OACnDsmE,QAAS,CACP,eAAgB,qBAE4B,CAACr4E,KAAMiJ,KAAKC,UAAU,CAAE4jC,KAAMsjC,OAC5E+2D,EAAA/pH,KAAA,EAEAm8B,EAAS,mBAAoB62B,GAC7BC,EAAO,4BAA4B,GAAM82D,EAAA90H,KAAA,EAClB23D,MAAMo6B,GAAQ,OAAvB,IAARlnG,EAAQiqI,EAAA97C,MACAmC,GAAI,CAAF25C,EAAA90H,KAAA,eACR,IAAIqc,MAAM,0BAAyB,eAAAy4G,EAAA90H,KAAA,GAExBnV,EAAS+sE,OAAM,QACO,OADnCA,EAAIk9D,EAAA97C,KACV9xC,EAAS,yBAA0B0wB,GAAMk9D,EAAA37C,OAAA,UAClC,GAAI,cAAA27C,EAAA/pH,KAAA,GAAA+pH,EAAA3d,GAAA2d,EAAA,SAEL,IAAIz4G,MAAM,2BAA0By4G,EAAA3d,IAAO,QAEP,OAFO2d,EAAA/pH,KAAA,GAEjDizD,EAAO,4BAA4B,GAAO82D,EAAAr6C,OAAA,6BAAAq6C,EAAAx8H,OAAA,GAAAu8H,EAAA,wBAtBU3e,EAwBxD,EACMgK,oBAAmB,SAAA6U,EAAoBh3D,GAAS,OAAAm4C,GAAAr+B,KAAAoC,MAAA,SAAA+6C,IAAA,IAAA/9G,EAAA+mD,EAAAw4C,EAAAxvG,EAAA5c,EAAA2nG,EAAA,OAAAla,KAAA/4E,MAAA,SAAAm2H,GAAA,cAAAA,EAAAlqH,KAAAkqH,EAAAj1H,MAAA,OASlD,OATwBiX,EAAK89G,EAAL99G,MAAO+mD,EAAM+2D,EAAN/2D,OAC1Bw4C,EAAgBz4C,EAAhBy4C,SAAUxvG,EAAM+2D,EAAN/2D,GACX5c,EAAM,GAAHmjB,OAAM0B,qCAA2C,qBAAA1B,OAAoB0J,EAAMw+F,aAAazuG,IAC3F+qF,EAAU,IAAIC,QAAQ5nG,EAAGs5F,GAAA,CAC7BhkF,OAAmD,OACnDsmE,QAAS,CACP,eAAgB,qBAE4B,CAACr4E,KAAMiJ,KAAKC,UAAU,CAAE2/G,SAAAA,EAAUxvG,GAAAA,OAChFiuH,EAAAlqH,KAAA,EAAAkqH,EAAAj1H,KAAA,EAGuB23D,MAAMo6B,GAAQ,OAAvB,GAAAkjC,EAAAj8C,KACAmC,GAAI,CAAF85C,EAAAj1H,KAAA,eACR,IAAIqc,MAAM,2BAA0B,QAKzC,OAHH2hD,EAAO,uBAAwB,CAC7Bh3D,GAAI+2D,EAAQ/2D,GACZ1W,MAAOytE,EAAQy4C,WACdye,EAAA97C,OAAA,UACI,GAAI,cAAA87C,EAAAlqH,KAAA,GAAAkqH,EAAA9d,GAAA8d,EAAA,SAEL,IAAI54G,MAAM,4BAA2B44G,EAAA9d,IAAO,yBAAA8d,EAAA38H,OAAA,GAAA08H,EAAA,kBAtBA9e,EAwBtD,EACMW,yBAAwB,SAAAqe,EAAoBn3D,GAAS,OAAAm4C,GAAAr+B,KAAAoC,MAAA,SAAAk7C,IAAA,IAAAl+G,EAAA+mD,EAAA5zE,EAAA2nG,EAAAlnG,EAAA+sE,EAAA,OAAAigB,KAAA/4E,MAAA,SAAAs2H,GAAA,cAAAA,EAAArqH,KAAAqqH,EAAAp1H,MAAA,OAQvD,OAR6BiX,EAAKi+G,EAALj+G,MAAO+mD,EAAMk3D,EAANl3D,OAChC5zE,EAAM,GAAHmjB,OAAM0B,4BAAgD,qBAAA1B,OAAoB0J,EAAMw+F,aAAazuG,IAChG+qF,EAAU,IAAIC,QAAQ5nG,EAAGs5F,GAAA,CAC7BhkF,OAAmD,OACnDsmE,QAAS,CACP,eAAgB,qBAE4B,CAACr4E,KAAMiJ,KAAKC,UAAS6sF,GAAAA,GAAC,CAAC,EAAI3lB,EAAQy4C,UAAQ,IAAE2a,iBAAkBl6G,EAAMk6G,uBACnHiE,EAAArqH,KAAA,EAAAqqH,EAAAp1H,KAAA,EAGuB23D,MAAMo6B,GAAQ,OAAvB,OAARlnG,EAAQuqI,EAAAp8C,KAAAo8C,EAAAp1H,KAAG,EACEnV,EAAS+sE,OAAM,OAEM,GAFlCA,EAAIw9D,EAAAp8C,KACVhb,EAAO,uBAAwBD,EAAQy4C,SAASA,UAChDx4C,EAAO,2BAA4BpG,GAC9B/sE,EAASswF,GAAI,CAAFi6C,EAAAp1H,KAAA,eACR,IAAIqc,MAAM,2BAA0B,eAAA+4G,EAAAj8C,OAAA,UAErC,GAAI,cAAAi8C,EAAArqH,KAAA,GAAAqqH,EAAAje,GAAAie,EAAA,SAEL,IAAI/4G,MAAM,4BAA2B+4G,EAAAje,IAAO,yBAAAie,EAAA98H,OAAA,GAAA68H,EAAA,kBApBKjf,EAsB3D,EACMmf,qBAAoB,SAAAC,GAAsB,OAAApf,GAAAr+B,KAAAoC,MAAA,SAAAs7C,IAAA,IAAAt+G,EAAAiwB,EAAA98C,EAAA2nG,EAAA,OAAAla,KAAA/4E,MAAA,SAAA02H,GAAA,cAAAA,EAAAzqH,KAAAyqH,EAAAx1H,MAAA,OAO5C,OAPyBiX,EAAKq+G,EAALr+G,MAAOiwB,EAAQouF,EAARpuF,SAC5B98C,EAAM,GAAHmjB,OAAM0B,mBAA4C,qBAAA1B,OAAoB0J,EAAMw+F,aAAazuG,IAC5F+qF,EAAU,IAAIC,QAAQ5nG,EAAK,CAC/BsV,OAAmD,OACnDsmE,QAAS,CACP,eAAgB,sBAElBwvD,EAAAzqH,KAAA,EAAAyqH,EAAAx1H,KAAA,EAGuB23D,MAAMo6B,GAAQ,OAAvB,GAAAyjC,EAAAx8C,KACAmC,GAAI,CAAFq6C,EAAAx1H,KAAA,cACR,IAAIqc,MAAM,oCAAmC,OAE/B,OAAtB6qB,EAAS,aAAasuF,EAAAr8C,OAAA,UACf,GAAI,cAAAq8C,EAAAzqH,KAAA,GAAAyqH,EAAAre,GAAAqe,EAAA,SAEL,IAAIn5G,MAAM,qCAAoCm5G,EAAAre,IAAO,yBAAAqe,EAAAl9H,OAAA,GAAAi9H,EAAA,kBAjBfrf,EAmBhD,EACMb,qBAAoB,SAAAogB,GAAsB,OAAAvf,GAAAr+B,KAAAoC,MAAA,SAAAy7C,IAAA,IAAAz+G,EAAA7sB,EAAA2nG,EAAAlnG,EAAAsB,EAAA,OAAA0rF,KAAA/4E,MAAA,SAAA62H,GAAA,cAAAA,EAAA5qH,KAAA4qH,EAAA31H,MAAA,OAO5C,OAPyBiX,EAAKw+G,EAALx+G,MAAew+G,EAARvuF,SAC5B98C,EAAM,GAAHmjB,OAAM0B,qBAA8C,qBAAA1B,OAAoB0J,EAAMw+F,aAAazuG,IAC9F+qF,EAAU,IAAIC,QAAQ5nG,EAAK,CAC/BsV,OAAQ,MACRsmE,QAAS,CACP,eAAgB,sBAElB2vD,EAAA5qH,KAAA,EAAA4qH,EAAA31H,KAAA,EAGuB23D,MAAMo6B,GAAQ,OAAvB,IAARlnG,EAAQ8qI,EAAA38C,MACAmC,GAAI,CAAFw6C,EAAA31H,KAAA,cACR,IAAIqc,MAAM,oCAAmC,OAEhC,OAFgCs5G,EAAAxe,GAEpC9pH,KAAIsoI,EAAA31H,KAAA,GAAQnV,EAASsB,OAAM,QAGX,OAHWwpI,EAAAC,GAAAD,EAAA38C,KAAA28C,EAAAE,GAAA,CAAAF,EAAAC,IAAAD,EAAAG,GAAG,CAC7C1oI,KAAM,4BADFjB,EAAO,IAAHwpI,EAAAxe,GAAAwe,EAAAE,GAAAF,EAAAG,KAGVlrI,EAAAA,GAAAA,QAAOuB,EAAM,oBAAoBwpI,EAAAx8C,OAAA,UAC1B,GAAI,cAAAw8C,EAAA5qH,KAAA,GAAA4qH,EAAAI,GAAAJ,EAAA,SAEL,IAAIt5G,MAAM,uCAAsCs5G,EAAAI,IAAS,yBAAAJ,EAAAr9H,OAAA,GAAAo9H,EAAA,kBApBnBxf,EAsBhD,EACM8f,aAAY,SAAAC,GAA8B,OAAA/f,GAAAr+B,KAAAoC,MAAA,SAAAi8C,IAAA,IAAAl4D,EAAA/mD,EAAAiwB,EAAAsrF,EAAA,OAAA36C,KAAA/4E,MAAA,SAAAq3H,GAAA,cAAAA,EAAAprH,KAAAorH,EAAAn2H,MAAA,OAA3Bg+D,EAAMi4D,EAANj4D,OAAQ/mD,EAAKg/G,EAALh/G,MAAOiwB,EAAQ+uF,EAAR/uF,SAC9BjwB,EAAMw7G,iBACRllC,cAAct2E,EAAMw7G,iBAGhBD,EAAa/kC,YAAWyoB,GAAAr+B,KAAAoC,MAAC,SAAAm8C,IAAA,IAAAhsI,EAAA2nG,EAAAlnG,EAAA,OAAAgtF,KAAA/4E,MAAA,SAAAu3H,GAAA,cAAAA,EAAAtrH,KAAAsrH,EAAAr2H,MAAA,OAQzB,OARyBq2H,EAAAtrH,KAAA,EAErB3gB,EAAM,GAAHmjB,OAAM0B,sBAA6C,qBAAA1B,OAAoB0J,EAAMw+F,aAAazuG,GAAE,wBAAAuG,OAAuB0J,EAAMm6G,kBAC5Hr/B,EAAU,IAAIC,QAAQ5nG,EAAK,CAC/BsV,OAAQ,MACRsmE,QAAS,CACP,eAAgB,sBAElBqwD,EAAAr2H,KAAA,EAEqB23D,MAAMo6B,GAAQ,OAC7B,OADFlnG,EAAQwrI,EAAAr9C,KAAAq9C,EAAAlf,GACdjwE,EAAQmvF,EAAAr2H,KAAA,EAAiCnV,EAAS+sE,OAAM,OAAAy+D,EAAAT,GAAAS,EAAAr9C,MAAA,EAAAq9C,EAAAlf,IAA/C,yBAAwBkf,EAAAT,IAE5B/qI,EAASswF,GAGZnd,EAAO,wBAAwB,GAF/BA,EAAO,wBAAwB,GAGhCq4D,EAAAr2H,KAAA,uBAAAq2H,EAAAtrH,KAAA,GAAAsrH,EAAAR,GAAAQ,EAAA,SAEK,IAAIh6G,MAAKg6G,EAAAR,IAAO,yBAAAQ,EAAA/9H,OAAA,GAAA89H,EAAA,mBAEvB,KACHp4D,EAAO,qBAAsBw0D,GAAY,wBAAA2D,EAAA79H,OAAA,GAAA49H,EAAA,IA3BKhgB,EA4BhD,EACAogB,qBAAoB,SAAAC,EAAWx4D,IAC7BC,EAD0Bu4D,EAANv4D,QACb,mBAAoBD,EAC7B,EACAy4D,YAAW,SAAAC,IACTz4D,EADkBy4D,EAANz4D,QACL,uBACT,EACAs+C,mBAAkB,SAAAoa,IAChB14D,EADyB04D,EAAN14D,QACZ,wBAAwB,EACjC,EACA+8C,aAAY,SAAA4b,EAAa54D,IACvBC,EADmB24D,EAAN34D,QACN,oBAAqBD,EAC9B,EACA64D,UAAS,SAAAC,GAAQA,EAAL5/G,MAAoC,IAA7B+mD,EAAM64D,EAAN74D,OAAQ92B,EAAQ2vF,EAAR3vF,SAAUy1B,EAAOk6D,EAAPl6D,QACnCz1B,EAAS,eACLy1B,EAA+B,uBACjCz1B,EAAS,mBAEX82B,EAAO,0BACT,GAEFrB,QAAS,CACPm6D,qBAAoB,SAAC7/G,GAAO,IAAA8/G,EAC1B,OAAyB,QAAzBA,EAAO9/G,EAAMw+F,oBAAY,IAAAshB,OAAA,EAAlBA,EAAoB/vH,EAC7B,EACAgwH,sBAAqB,SAAC//G,GAAO,IAAAggH,EAAAC,EAC3B,OAAyB,QAAlBD,EAAAhgH,EAAMw+F,oBAAY,IAAAwhB,OAAA,EAAlBA,EAAoBjwH,OAAyB,QAAnBkwH,EAACjgH,EAAMw+F,oBAAY,IAAAyhB,GAAO,QAAPA,EAAlBA,EAAoBjgH,aAAK,IAAAigH,GAAzBA,EAA2BjY,QAC/D,EACApK,sBAAqB,SAAC59F,GAAO,IAAAkgH,EAC3B,OAAyB,QAAzBA,EAAOlgH,EAAMw+F,oBAAY,IAAA0hB,GAAO,QAAPA,EAAlBA,EAAoBlgH,aAAK,IAAAkgH,OAAA,EAAzBA,EAA2BlY,OACpC,EACAmY,sBAAqB,SAACngH,GAAO,IAAAogH,EAIzBC,EAHF,OAC0B,QAAxBD,EAAApgH,EAAMigG,0BAAkB,IAAAmgB,GAAxBA,EAA0B3jF,UAC1Bz8B,EAAMigG,mBAAmBxjE,SAAS5iD,OAEH,QAA/BwmI,EAAOrgH,EAAMigG,0BAAkB,IAAAogB,OAAA,EAAxBA,EAA0B5jF,SAAS,GAAGqqB,QAAQxL,KAEhD,EACT,ICniBJ,IACI+K,YAAY,EACZrmD,MAAO,CACH8vD,WAAY,GACZuN,cAAe,GACfC,cAAe,GACfC,eAAgB,CAAC,EACjBxN,YAAa,GACbv8E,MAAM,EACNkqF,WAAW,EACXh/E,MAAO,GACP4hI,YAAa,IAEjBnxF,UAAW,CACPoxF,gBAAe,SAACvgH,EAAO3mB,GACnB2mB,EAAM8vD,WAAaz2E,CACvB,EACAmnI,oBAAmB,SAACxgH,EAAO3mB,GACvB2mB,EAAMq9D,cAAgBhkF,CAC1B,EACAonI,mBAAkB,SAACzgH,EAAO3mB,GACtB2mB,EAAMs9D,cAAgBjkF,CAC1B,EACAqnI,oBAAmB,SAAC1gH,EAAO3mB,GACvB2mB,EAAMu9D,eAAiBlkF,CAC3B,EACAsnI,iBAAgB,SAAC3gH,EAAO3mB,GACpB2mB,EAAM+vD,YAAc12E,CACxB,EACAunI,UAAS,SAAC5gH,EAAO3mB,GACb2mB,EAAMthB,MAAQrF,CAClB,EACAwnI,SAAQ,SAAC7gH,EAAO3mB,GACZ2mB,EAAMxsB,KAAO6F,CACjB,EACAynI,eAAc,SAAC9gH,EAAO3mB,GAClB2mB,EAAM09D,UAAYrkF,CACtB,EACA0nI,iBAAgB,SAAC/gH,EAAO3mB,GACpB2mB,EAAMsgH,YAActgH,EAAMsgH,YAAYhqH,OAAOjd,EACjD,GAEJqzE,QAAS,CACLs0D,gBAAe,SAACvwG,EAASq2C,GACjBA,EAAQgJ,YAAYr/C,EAAQs2C,OAAO,kBAAmBD,EAAQgJ,YAC9DhJ,EAAQuW,eAAe5sD,EAAQs2C,OAAO,sBAAuBD,EAAQuW,eACrEvW,EAAQwW,eAAe7sD,EAAQs2C,OAAO,qBAAsBD,EAAQwW,eACpExW,EAAQyW,gBAAgB9sD,EAAQs2C,OAAO,sBAAuBD,EAAQyW,gBACtEzW,EAAQiJ,aAAat/C,EAAQs2C,OAAO,mBAAoBD,EAAQiJ,aAChEjJ,EAAQpoE,OAAO+xB,EAAQs2C,OAAO,YAAaD,EAAQpoE,MAC3D,EACAuiI,QAAO,SAACxwG,EAASq2C,GACbr2C,EAAQs2C,OAAO,WAAYD,EAAQtzE,MAC9BszE,EAAQtzE,OACTi9B,EAAQs2C,OAAO,qBAAsB,IACrCt2C,EAAQs2C,OAAO,sBAAuB,CAAC,GACvCt2C,EAAQs2C,OAAO,kBAAmB,IAClCt2C,EAAQs2C,OAAO,sBAAuB,IACtCt2C,EAAQs2C,OAAO,mBAAoB,IACnCt2C,EAAQs2C,OAAO,YAAa,IAC5Bt2C,EAAQs2C,OAAO,kBAAkB,GAEjCm6D,KAER,EACAC,aAAY,SAAC1wG,EAASq2C,GAClBr2C,EAAQs2C,OAAO,iBAAkBD,EAAQ4W,UAC7C,EACA0jD,cAAa,SAAC3wG,EAASq2C,GACnBr2C,EAAQs2C,OAAO,mBAAoBD,EAAQn6D,QAG3C00H,GAAkB5wG,EACtB,IAIR,I3PkzBsB9sB,G2PlzBhB09H,GAAoB,SAAC5wG,GAevB59B,OAAO04C,iBAAiB,cAdG,SAAUr3C,GACjC,IAAMosI,EAAc7vG,EAAQzQ,MAAMsgH,YAC5B5tD,EAAO7/E,OAAO6C,SAASg9E,KAAKr7E,QAAQ,IAAK,IAEzCiqI,EAAahB,EAAYn8E,MAAK,SAACo1B,GAAC,OAAKA,EAAE9G,WAAaC,CAAI,IAE1D4uD,IACA7wG,EAAQs2C,OAAO,kBAAmBu6D,EAAW7qI,OAC7Cg6B,EAAQs2C,OAAO,mBAAoBu6D,EAAWhvD,aAC9C7hD,EAAQs2C,OAAO,YAAa,CAAC,aAAc,UAC3Ct2C,EAAQs2C,OAAO,YAAY,GAEnC,IAE0D,EAC9D,EAEMm6D,GAAoB,WAEtB,GADaruI,OAAO6C,SAASg9E,KACnB,CAEN,IAEM6uD,EAFa1uI,OAAO6C,SAASF,KAEDmE,MAAM,KAAK,GAG7C9G,OAAOy+H,QAAQljD,aAAa,CAAC,EAAG35E,SAASgC,MAAO8qI,EACpD,CACJ,GCiCe,SAASn0D,ICtIT,SAAUA,GACvB,MAAMo0D,EAAM/sI,SAASi8C,iBAHZ,oCAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAASsjI,IACX,MAAM/pI,EAAQ,CACZ0nE,OAAQqiE,EAAmB9jE,QAAQyB,OACnC3oE,MAAOgrI,EAAmB9jE,QAAQlnE,MAClC4oE,kBAAmBoiE,EAAmB9jE,QAAQ0B,kBAC9CC,UAAWmiE,EAAmB9jE,QAAQ2B,UAAY5jE,SAAS+lI,EAAmB9jE,QAAQ2B,WAAa,EACnGC,SAAUkiE,EAAmB9jE,QAAQ4B,SAAW5/D,KAAKikE,MAAM69D,EAAmB9jE,QAAQ4B,UAAY,KAClGC,MAAOiiE,EAAmB9jE,QAAQ6B,MAAQ7/D,KAAKikE,MAAM69D,EAAmB9jE,QAAQ6B,OAAS,KACzFC,aAAcgiE,EAAmB9jE,QAAQ8B,aAAe9/D,KAAKikE,MAAM69D,EAAmB9jE,QAAQ8B,cAAgB,MAE9Fp/B,GAAUqhG,GAAiBhqI,GAAOy5B,IAAIi8C,GAC9C57C,MAAMiwG,EAAkB,GAGxC,CDsHGC,CAAgBt0D,GEvIJ,SAASA,GACR34E,SAASi8C,iBAHd,kCAIHvyC,SAASwjI,IACT,MAAMjqI,EAAQ,CACVkqE,SAAU+/D,EAAiBhkE,QAAQ5tD,IAEjC61B,EAAW+7F,EAAiB5qG,UAClC,GAAQ6O,SAAWA,EACDvF,GAAU,GAAS3oC,GAAOy5B,IAAIi8C,GACtC57C,MAAMmwG,EAAgB,GAExC,CF6HGC,CAAcx0D,GGxIF,SAASA,GACpB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,4CAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAAS0jI,IACSxhG,GAAU6uD,IAAwB/9D,IAAIi8C,GAC9C57C,MAAMqwG,EAAyB,GAGrD,CHiIG3yC,CAAuB9hB,GIzIX,SAASA,GACpB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,uCAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAAS2jI,IACSzhG,GAAU+uD,IAAmBj+D,IAAIi8C,GACzC57C,MAAMswG,EAAoB,GAGhD,CJkIG1yC,CAAkBhiB,GKzIN,SAAUA,GACrB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,2CAIH8wF,EAAI3nI,QACJ2nI,EAAIrjI,SAAS4jI,IACT,MAAMrqI,EAAQsqI,GAAqBC,GAAuBF,GACxC1hG,GAAU4hG,GAAuBvqI,GAAOy5B,IAAIi8C,GACpD57C,MAAMuwG,EAAwB,GAGpD,CLiIGE,CAAsB70D,GM1IV,SAAUA,GACrB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,sCAIH8wF,EAAI3nI,QACJ2nI,EAAIrjI,SAAS+jI,IACT,MAAMxqI,EAAQsqI,GAAqB7yC,GAAmB+yC,GACpC7hG,GAAU8uD,GAAmBz3F,GAAOy5B,IAAIi8C,GAChD57C,MAAM0wG,EAAoB,GAGhD,CNkIG/yC,CAAkB/hB,GO5IN,SAASA,GACpB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,oCAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAASgkI,IACS9hG,GAAUuwC,IAAiBz/C,IAAIi8C,GACvC57C,MAAM2wG,EAAkB,GAG9C,CPqIGvxD,CAAgBxD,GQ5IJ,SAAUA,GACrB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,sCAIH8wF,EAAI3nI,QACJ2nI,EAAIrjI,SAASikI,IACT,MAAM1qI,EAAQsqI,GAAqB5qD,GAAkBgrD,GACnC/hG,GAAU+2C,GAAkB1/E,GAAOy5B,IAAIi8C,GAC/C57C,MAAM4wG,EAAmB,GAG/C,CRoIGhrD,CAAiBhK,GS7IL,SAAUA,GACrB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,oCAIH8wF,EAAI3nI,QACJ2nI,EAAIrjI,SAASkkI,IACT,MAAM3qI,EAAQsqI,GAAqB7qD,GAAqBkrD,GACtChiG,GAAU82C,GAAqBz/E,GAAOy5B,IAAIi8C,GAClD57C,MAAM6wG,EAAsB,GAGlD,CTqIGlrD,CAAoB/J,GU/IR,SAAUA,GACrB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,yBAIH8wF,EAAI3nI,QACJ2nI,EAAIrjI,SAASmkI,IACSjiG,GAAU2+C,IAAO7tD,IAAIi8C,GAC7B57C,MAAM8wG,EAAQ,GAGpC,CVwIGtjD,CAAM5R,GWhJM,SAASA,GACpB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,uCAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAASokI,IACSliG,GAAU68C,IAAmB/rD,IAAIi8C,GACzC57C,MAAM+wG,EAAoB,GAGhD,CXyIGrlD,CAAkB9P,GYjJN,SAASA,GACpB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,4CAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAASqkI,IACSniG,GAAU48C,IAAuB9rD,IAAIi8C,GAC7C57C,MAAMgxG,EAAwB,GAGpD,CZ0IGvlD,CAAsB7P,GajJV,SAAUA,GACrB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,0CAIH8wF,EAAI3nI,QACJ2nI,EAAIrjI,SAASskI,IACT,MAAM/qI,EAAQsqI,GAAqB,GAAsBS,GACvCpiG,GAAU,GAAsB3oC,GAAOy5B,IAAIi8C,GACnD57C,MAAMixG,EAAuB,GAGnD,CbyIGznD,CAAwB5N,GclJZ,SAAUA,GACrB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,6CAIH8wF,EAAI3nI,QACJ2nI,EAAIrjI,SAASukI,IACT,MAAMhrI,EAAQsqI,GAAqBW,GAAwBD,GACzCriG,GAAUsiG,GAAwBjrI,GAAOy5B,IAAIi8C,GACrD57C,MAAMkxG,EAAyB,GAGrD,Cd0IGC,CAAuBv1D,GenJX,SAAUA,GACrB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,8CAIH8wF,EAAI3nI,QACJ2nI,EAAIrjI,SAASykI,IACT,MAAMlrI,EAAQsqI,GAAqBa,GAAyBD,GAC1CviG,GAAUwiG,GAAyBnrI,GAAOy5B,IAAIi8C,GACtD57C,MAAMoxG,EAA0B,GAGtD,Cf2IGC,CAAwBz1D,GgBrJZ,SAASA,GACpB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,sDAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAAS2kI,IACSziG,GAAU0vD,IAAgC5+D,IAAIi8C,GACtD57C,MAAMsxG,EAAiC,GAG7D,ChB8IG/yC,CAA+B3iB,GiBtJnB,SAASA,GACpB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,qDAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAAS4kI,IACS1iG,GAAU2vD,IAA+B7+D,IAAIi8C,GACrD57C,MAAMuxG,EAAgC,GAG5D,CjB+IG/yC,CAA8B5iB,GkBtJlB,SAAUA,GACvB,MAAMo0D,EAAM/sI,SAASi8C,iBAHZ,+CAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAS6kI,IACX,MAAM9uC,EAAc8uC,EAA6BrlE,QAAQu2B,YACrDv0F,KAAKikE,MAAMo/D,EAA6BrlE,QAAQu2B,aAChD,GACEplB,EAASnvE,KAAKikE,MAAMo/D,EAA6BrlE,QAAQmR,QACzD1P,EAAS4jE,EAA6BrlE,QAAQyB,OAC9Co1B,IAAkBwuC,EAA6BrlE,QAAQ62B,iBAAkB70F,KAAKikE,MAAMo/D,EAA6BrlE,QAAQ62B,iBACzHD,EAAwBL,EAAY16F,KAAK65F,IACtC,CACLvO,MAAOuO,EAAWjgG,KAClBiG,OAAO,EACPmtF,UAAW,GACX5R,SAAS,MAYKv0C,GAAU4iG,GARd,CACZn0D,OAAQA,EACR1P,OAAQA,EACR80B,YAAaA,EACbK,sBAAuBA,EACvBC,gBAAiBA,IAG2CrjE,IAAIi8C,GACxD57C,MAAMwxG,EAA4B,GAGlD,ClBwHGC,CAA0B71D,GmBxJd,SAAUA,GACvB,MAAMo0D,EAAM/sI,SAASi8C,iBAHZ,4CAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAS+kI,IACX,MAAMp0D,EAASnvE,KAAKikE,MAAMs/D,EAA0BvlE,QAAQmR,QACtD1P,EAAS8jE,EAA0BvlE,QAAQyB,OAC3Co1B,IAAkB0uC,EAA0BvlE,QAAQ62B,iBAAkB70F,KAAKikE,MAAMs/D,EAA0BvlE,QAAQ62B,iBACnHN,EAAcgvC,EAA0BvlE,QAAQu2B,YAClDv0F,KAAKikE,MAAMs/D,EAA0BvlE,QAAQu2B,aAC7C,GAEc7zD,GAAU8iG,GAAwB,CAClDr0D,SACA1P,SACAo1B,kBACAN,gBACC/iE,IAAIi8C,GACG57C,MAAM0xG,EAAyB,GAG/C,CnBqIGC,CAAuB/1D,GoBzJX,SAAUA,GACvB,MAAMo0D,EAAM/sI,SAASi8C,iBAHZ,uCAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAASilI,IACX,MAAM1rI,EAAQ,CACZkvF,qBAAsBw8C,EAAqBzlE,QAAQipB,qBACnDD,iBAAkBy8C,EAAqBzlE,QAAQgpB,iBAC/CmB,mBAAoBs7C,EAAqBzlE,QAAQmqB,mBACjDnC,gBAAiBy9C,EAAqBzlE,QAAQgoB,gBAC9CJ,gBAAiB69C,EAAqBzlE,QAAQ4nB,iBAE9BllD,GAAU6rD,GAAmBx0F,GAAOy5B,IAAIi8C,GAChD57C,MAAM4xG,EAAoB,GAG1C,CpB2IGl3C,CAAkB9e,GqB1JN,SAASA,GACpB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,qCAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAASklI,IACShjG,GAAUg0D,GAAgB,CACxChP,iBAAkB,CACd5uF,MAAO4sI,EAAmB1lE,QAAQlnE,MAClC6wF,QAAS+7C,EAAmB1lE,QAAQ2pB,SAExC3B,gBAAiB09C,EAAmB1lE,QAAQ2lE,kBAC7CnyG,IAAIi8C,GACG57C,MAAM6xG,EAAkB,GAG9C,CrB6IGhvC,CAAgBjnB,GsB3JJ,SAASA,GACpB,MAAMo0D,EAAM/sI,SAASi8C,iBAHd,wCAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAASolI,IACSljG,GAAUi0D,GAAmB,CAC3CjP,iBAAkB,CACd5uF,MAAO8sI,EAAsB5lE,QAAQlnE,MACrC6wF,QAASi8C,EAAsB5lE,QAAQ2pB,SAE3C3B,gBAAiB49C,EAAsB5lE,QAAQ2lE,kBAChDnyG,IAAIi8C,GACG57C,MAAM+xG,EAAqB,GAGjD,CtB8IGjvC,CAAmBlnB,GuB5JP,SAAUA,GACvB,MAAMo0D,EAAM/sI,SAASi8C,iBAHZ,uCAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAASqlI,IACOnjG,GAAU+sD,GAAmB,CAC7C/H,iBAAkB,CAChB5uF,MAAO+sI,EAAqB7lE,QAAQlnE,MACpC6wF,QAASk8C,EAAqB7lE,QAAQ2pB,WAEvCn2D,IAAIi8C,GACG57C,MAAMgyG,EAAoB,GAG1C,CvBgJGp2C,CAAkBhgB,GwB7JN,SAAUA,GACvB,MAAMo0D,EAAM/sI,SAASi8C,iBAHZ,kDAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAASslI,IACX,MAAM/rI,EAAQ,CACZ2tF,iBAAkB,CAChB5uF,MAAO4sI,mBAAmB1lE,QAAQlnE,MAClC6wF,QAAS+7C,mBAAmB1lE,QAAQ2pB,UAGtBjnD,GAAU+zD,GAA6B18F,GAAOy5B,IAAIi8C,GAC1D57C,MAAMiyG,EAA8B,GAGpD,CxBgJGrvC,CAA4BhnB,GyB9JhB,SAAUA,GACvB,MAAMo0D,EAAM/sI,SAASi8C,iBAHZ,uCAIL8wF,EAAI3nI,QACJ2nI,EAAIrjI,SAASulI,IACb,MAAMhsI,EAAQ,CACZkvF,qBAAsB88C,EAA8B/lE,QAAQipB,qBAC5DD,iBAAkB+8C,EAA8B/lE,QAAQgpB,iBACxDmB,mBAAoB47C,EAA8B/lE,QAAQmqB,mBAC1DnC,gBAAiB+9C,EAA8B/lE,QAAQgoB,gBACvDJ,gBAAiBm+C,EAA8B/lE,QAAQ4nB,iBAEvCllD,GAAU8nD,GAA4BzwF,GAAOy5B,IAAIi8C,GACzD57C,MAAMkyG,EAA6B,GAGnD,CzBgJGv7C,CAA2B/a,G0B/Jf,SAASA,GACR34E,SAASi8C,iBAHd,+BAIHvyC,SAASwlI,IACT,MAAM/9F,EAAW+9F,EAAc5sG,UAC/B,GAAQ6O,SAAWA,EAEDvF,GAAU,IAASlP,IAAIi8C,GAC/B57C,MAAMmyG,EAAa,GAErC,C1BuJGC,CAAWx2D,G2BhKC,SAAUA,GACvB,MAAMo0D,EAAM/sI,SAASi8C,iBAHZ,+CAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAS0lI,IACX,MAAMnsI,EAAQ,CACZ0nE,OAAQykE,EAA4BlmE,QAAQyB,OAC5C+6B,kBAAmB0pC,EAA4BlmE,QAAQw8B,kBACnDx6F,KAAKikE,MAAMigE,EAA4BlmE,QAAQw8B,mBAC/C,KACJC,aAAcypC,EAA4BlmE,QAAQy8B,aAClDC,WAAYwpC,EAA4BlmE,QAAQ08B,YAAc,MAG9Ch6D,GAAUmmE,GAA0B9uG,GAAOy5B,IAAIi8C,GACvD57C,MAAMqyG,EAA2B,GAGjD,C3BgJGr9B,CAAyBp5B,G4BjKb,SAAUA,GACvB,MAAMo0D,EAAM/sI,SAASi8C,iBAHZ,iDAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAS2lI,IACX,MAAMpsI,EAAQ,CACZwoG,OAAQ4jC,EAA6BnmE,QAAQuiC,OAC7C+D,WAAYtkG,KAAKikE,MAAMkgE,EAA6BnmE,QAAQsmC,YAC5Dn1B,OAAQnvE,KAAKikE,MAAMkgE,EAA6BnmE,QAAQmR,QACxD23B,cAAeq9B,EAA6BnmE,QAAQ8oC,cACpDC,qBAAsBo9B,EAA6BnmE,QAAQ+oC,qBAC3DC,sBAAuBm9B,EAA6BnmE,QAAQgpC,sBAC5DtM,WAAYypC,EAA6BnmE,QAAQ08B,YAAc,MAE/Ch6D,GAAU0jG,GAA2BrsI,GAAOy5B,IAAIi8C,GACxD57C,MAAMsyG,EAA4B,GAGlD,C5BiJGC,CAA0B32D,G6BlKd,SAAUA,GACvB,MAAMo0D,EAAM/sI,SAASi8C,iBAHZ,8BAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAS6lI,IACX,MAAMtsI,EAAQ,CACZwoG,OAAQ8jC,EAAarmE,QAAQuiC,OAC7B+D,WAAYtkG,KAAKikE,MAAMogE,EAAarmE,QAAQsmC,YAC5Cn1B,OAAQnvE,KAAKikE,MAAMogE,EAAarmE,QAAQmR,QACxCqrB,kBAAmB6pC,EAAarmE,QAAQw8B,kBAAoBx6F,KAAKikE,MAAMogE,EAAarmE,QAAQw8B,mBAAqB,MAEjG95D,GAAUkmE,GAAW7uG,GAAOy5B,IAAIi8C,GACxC57C,MAAMwyG,EAAY,GAGlC,C7BqJGz9B,CAAUn5B,G8BnKE,SAAUA,GACvB,MAAMo0D,EAAM/sI,SAASi8C,iBAHZ,mCAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAS8lI,IACX,MAAMvsI,EAAQ,CACZ0nE,OAAQ6kE,EAAkBtmE,QAAQyB,OAClCkqC,aAAc26B,EAAkBtmE,QAAQ2rC,aACxCC,WAAY06B,EAAkBtmE,QAAQ4rC,WAClC5pG,KAAKikE,MAAMqgE,EAAkBtmE,QAAQ4rC,YACrC,KACJC,WAAYy6B,EAAkBtmE,QAAQ6rC,WAClC7pG,KAAKikE,MAAMqgE,EAAkBtmE,QAAQ6rC,YACrC,KACJ/yG,MAAOwtI,EAAkBtmE,QAAQlnE,MACjC67E,YAAa2xD,EAAkBtmE,QAAQ2U,YACvC/R,QAAS0jE,EAAkBtmE,QAAQ4C,QACnCkpC,cAAew6B,EAAkBtmE,QAAQ8rC,cACrC9pG,KAAKikE,MAAMqgE,EAAkBtmE,QAAQ8rC,eACrC,MAEYppE,GAAU6jG,GAAgBxsI,GAAOy5B,IAAIi8C,GAC7C57C,MAAMyyG,EAAiB,GAGvC,C9B4IGC,CAAe92D,G+BpKH,SAASA,GACR34E,SAASi8C,iBAHd,kCAIHvyC,SAASgmI,IACT,MAAMzsI,EAAQ,CAEVy5G,UAAWgzB,EAAiBxmE,QAAQwzC,WAGlCvrE,EAAWu+F,EAAiBptG,UAClC,GAAQ6O,SAAWA,EACDvF,GAAU,GAAS3oC,GAAOy5B,IAAIi8C,GACtC57C,MAAM2yG,EAAgB,GAExC,C/BwJGC,CAAch3D,GgCrKF,SAASA,GACR34E,SAASi8C,iBAHd,wBAIHvyC,SAASkmI,IACT,MAAM3sI,EAAQ,CACV09G,UAAWivB,EAAQ1mE,QAAQy3C,UAC3BjE,UAAWkzB,EAAQ1mE,QAAQwzC,WAGzBvrE,EAAWy+F,EAAQttG,UACzB,GAAQ6O,SAAWA,EACDvF,GAAU,GAAS3oC,GAAOy5B,IAAIi8C,GACtC57C,MAAM6yG,EAAO,GAE/B,ChCyJGC,CAAKl3D,GiCtKO,SAAUA,GACX34E,SAASi8C,iBAHZ,kCAILvyC,SAASomI,IACX,MAAM7sI,EAAQ,CACZ4jH,cAAeipB,EAAiB5mE,QAAQ29C,eAAiB,GACzDC,cAAegpB,EAAiB5mE,QAAQ49C,eAAiB,GACzDrxD,WAAYq6E,EAAiB5mE,QAAQzT,YAAc,IAE/CtkB,EAAW2+F,EAAiBxtG,UAClC,GAAQ6O,SAAWA,EACDvF,GAAU,GAAS3oC,GAAOy5B,IAAIi8C,GACtC57C,MAAM+yG,EAAgB,GAEpC,CjC0JGC,CAAcp3D,GkCvKF,SAAUA,GACvB,MAAMo0D,EAAM/sI,SAASi8C,iBAHZ,qCAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAASsmI,IACX,MAAM/sI,EAAQ,CACZjB,MAAOguI,EAAmB9mE,QAAQlnE,OAAS,GAC3Ci2E,QAAS+3D,EAAmB9mE,QAAQ+O,SAAW,MAE/BrsC,GAAU86E,GAAiBzjH,GAAOy5B,IAAIi8C,GAC9C57C,MAAMizG,EAAkB,GAGxC,ClC4JGtpB,CAAgB/tC,GmCxKJ,SAAUA,GACvB,MAAMo0D,EAAM/sI,SAASi8C,iBAHZ,uCAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAASumI,IACX,MAAMhtI,EAAQ,CACZ+3G,QAASi1B,EAAqB/mE,QAAQ8xC,SAAW,IAEjCpvE,GAAUg7E,GAAmB3jH,GAAOy5B,IAAIi8C,GAChD57C,MAAMkzG,EAAoB,GAG1C,CnC8JGrpB,CAAkBjuC,GoCzKN,SAAUA,GACvB,MAAMo0D,EAAM/sI,SAASi8C,iBAHZ,qCAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAASwmI,IACX,MAAMjtI,EAAQ,CACZjB,MAAOkuI,EAAmBhnE,QAAQlnE,OAAS,GAC3C67E,YAAaqyD,EAAmBhnE,QAAQ2U,aAAe,GACvDh2D,YAAaqoH,EAAmBhnE,QAAQinE,qBAAuB,GAC/Dv8H,SAAUs8H,EAAmBhnE,QAAQt1D,UAAY,KACjD0jF,WAAY44C,EAAmBhnE,QAAQouB,YAAc,IAErC1rD,GAAU+6E,GAAiB1jH,GAAOy5B,IAAIi8C,GAC9C57C,MAAMmzG,EAAkB,GAGxC,CpC2JGvpB,CAAgBhuC,GqC1KJ,SAASA,GACR34E,SAASi8C,iBAHd,qCAIHvyC,SAAS0mI,IACT,MAAMntI,EAAQ,CACV09G,UAAWyvB,EAAmBlnE,QAAQy3C,WAGpCxvE,EAAWi/F,EAAmB/sG,UACpC,GAAQ8N,SAAWA,EACDvF,GAAU,GAAS3oC,GAAOy5B,IAAIi8C,GACtC57C,MAAMqzG,EAAkB,GAE1C,CrCgKGC,CAAgB13D,GsC5KJ,SAAUA,GACT34E,SAASi8C,iBAHd,+BAIHvyC,SAAS4mI,IACT,MAAMn/F,EAAWm/F,EAAchuG,UAC/B,GAAQ6O,SAAWA,EACDvF,GAAU,IAASlP,IAAIi8C,GAC/B57C,MAAMuzG,EAAa,GAErC,CtCqKGC,CAAY53D,GuC7KA,SAAUA,GACvB,IAAMo0D,EAAM/sI,SAASi8C,iBAHZ,wCAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAQ,SAAC8mI,GACX,IAAMvtI,EAAQ,CACZ+kH,OAAQ98G,KAAKikE,MAAMqhE,EAAsBtnE,QAAQ8+C,QACjDC,QAAS/8G,KAAKikE,MAAMqhE,EAAsBtnE,QAAQ++C,SAClDjmH,MAAOwuI,EAAsBtnE,QAAQlnE,MACrCm1E,SAAUq5D,EAAsBtnE,QAAQiO,UAExBvrC,GAAU6kG,GAAoBxtI,GAAOy5B,IAAIi8C,GACjD57C,MAAMyzG,EAClB,GAEJ,CvCgKGC,CAAmB93D,GwC9KP,SAASA,GACR34E,SAASi8C,iBAHd,8BAIHvyC,SAAQ,SAACgnI,GACT,IAAMr2D,EAASq2D,EAAaxnE,QAAQmR,OAASnvE,KAAKikE,MAAMuhE,EAAaxnE,QAAQmR,QAAU,KACjForD,EAAmBiL,EAAaxnE,QAAQu8D,iBAC9C9sD,EAAMrG,OAAO,uBAAwB+H,GACrC1B,EAAMrG,OAAO,mCAAoCmzD,GAEjD,IAAMt0F,EAAWu/F,EAAartG,UAC9Bn0B,GAAQiiC,SAAWA,EACDvF,GAAU18B,IAASwtB,IAAIi8C,GAC/B57C,MAAM2zG,EACpB,GACJ,CxCkKGC,CAAUh4D,GyC/KE,SAAUA,GACX34E,SAASi8C,iBAHZ,+CAILvyC,SAAQ,SAACknI,GACX,IAAMz/F,EAAWy/F,EAAyBtuG,UACpCuyF,EAAoB+b,EAAyB1nE,QAAQ2rD,kBACrDC,EAAsB8b,EAAyB1nE,QAAQ4rD,oBAAsB5pH,KAAKikE,MAAMyhE,EAAyB1nE,QAAQ4rD,0BAAuBrxH,EAEtJyL,GAAQiiC,SAAWA,EACDvF,GAAU18B,GAAS,CAAE2lH,kBAAAA,EAAmBC,oBAAAA,IAAuBp4F,IAAIi8C,GAC3E57C,MAAM6zG,EAClB,GACF,CzCqKGA,CAAyBj4D,G0ChLb,SAAUA,GACrB,IAAMo0D,EAAM/sI,SAASi8C,iBAHd,gCAIH8wF,EAAI3nI,QACJ2nI,EAAIrjI,SAAQ,SAACmnI,GAAwC,IAAAC,EAC3C7tI,EAAQ,CACVo3E,OAAQnvE,KAAKikE,MAAM0hE,EAAoC3nE,QAAQmR,QAC/D48C,OAAQ4Z,EAAoC3nE,QAAQ+tD,OACpDtsD,OAAQkmE,EAAoC3nE,QAAQyB,OACpDusD,iBAAkB2Z,EAAoC3nE,QAAQguD,iBAC9Dz3B,YAAaoxC,EAAoC3nE,QAAQu2B,YACnDv0F,KAAKikE,MAAM0hE,EAAoC3nE,QAAQu2B,aACvD,GACN03B,qBAA2F,SAArE0Z,EAAoC3nE,QAAQiuD,qBAClEC,cAA6E,SAA9DyZ,EAAoC3nE,QAAQkuD,cAC3D9kC,YAAau+C,EAAoC3nE,QAAQopB,YACzD/a,gBAA4E,QAA7Du5D,EAAED,EAAoC3nE,QAAQqO,uBAAe,IAAAu5D,EAAAA,EAAI,KAChFzZ,SAAUwZ,EAAoC3nE,QAAQmuD,SACtDt3B,gBAAiB8wC,EAAoC3nE,QAAQ62B,gBAC7D/hB,SAAU6yD,EAAoC3nE,QAAQ8U,UAExCpyC,GAAUmlG,GAAkC9tI,GAAOy5B,IAAIi8C,GAC/D57C,MAAM8zG,EACpB,GAER,C1CyJGG,CAAYr4D,G2CjLA,SAAUA,GACrB,IAAMo0D,EAAM/sI,SAASi8C,iBAHd,2CAIH8wF,EAAI3nI,QACJ2nI,EAAIrjI,SAAQ,SAACunI,GAAmB,IAAAC,EACtBjuI,EAAQ,CACVo3E,OAAQnvE,KAAKikE,MAAM8hE,EAAe/nE,QAAQmR,QAC1C48C,OAAQga,EAAe/nE,QAAQ+tD,OAC/BtsD,OAAQsmE,EAAe/nE,QAAQyB,OAC/BusD,iBAAkB+Z,EAAe/nE,QAAQguD,iBACzCz3B,YAAawxC,EAAe/nE,QAAQu2B,YAAcv0F,KAAKikE,MAAM8hE,EAAe/nE,QAAQu2B,aAAe,GACnG03B,qBAAsE,SAAhD8Z,EAAe/nE,QAAQiuD,qBAC7CC,cAAwD,SAAzC6Z,EAAe/nE,QAAQkuD,cACtC9kC,YAAa2+C,EAAe/nE,QAAQopB,YACpC/a,gBAAuD,QAAxC25D,EAAED,EAAe/nE,QAAQqO,uBAAe,IAAA25D,EAAAA,EAAI,KAC3D7Z,SAAU4Z,EAAe/nE,QAAQmuD,SACjCt3B,gBAA4D,SAA3CkxC,EAAe/nE,QAAQ62B,iBAG1Bn0D,GAAUulG,GAAaluI,GAAOy5B,IAAIi8C,GAC1C57C,MAAMk0G,EACpB,GAER,C3C4JGG,CAAsBz4D,G4CjLV,SAAUA,GACvB,IAAMo0D,EAAM/sI,SAASi8C,iBAHZ,2CAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAQ,SAAC2nI,GAA6B,IAAAC,EAKlCxxC,GAJcuxC,EAAyBnoE,QAAQu2B,YACjDv0F,KAAKikE,MAAMkiE,EAAyBnoE,QAAQu2B,aAC5C,IAEsC16F,KAAI,SAAC65F,GAC7C,MAAO,CACLvO,MAAOuO,EAAWjgG,KAClBiG,OAAO,EACPmtF,UAAWxuC,GACX48B,SAAS,EAEb,IAEMl9E,EAAQ,CACZo3E,OAAQnvE,KAAKikE,MAAMkiE,EAAyBnoE,QAAQmR,QACpD48C,OAAQoa,EAAyBnoE,QAAQ+tD,OACzCtsD,OAAQ0mE,EAAyBnoE,QAAQyB,OACzCusD,iBAAkBma,EAAyBnoE,QAAQguD,iBACnDz3B,YAAa4xC,EAAyBnoE,QAAQu2B,YAC1Cv0F,KAAKikE,MAAMkiE,EAAyBnoE,QAAQu2B,aAC5C,GACJK,sBAAuBA,EACvBq3B,qBAAgF,SAA1Dka,EAAyBnoE,QAAQiuD,qBACvDC,cAAkE,SAAnDia,EAAyBnoE,QAAQkuD,cAChD9kC,YAAa++C,EAAyBnoE,QAAQopB,YAC9C/a,gBAAiE,QAAlD+5D,EAAED,EAAyBnoE,QAAQqO,uBAAe,IAAA+5D,EAAAA,EAAI,KACrEja,SAAUga,EAAyBnoE,QAAQmuD,SAC3Ct3B,gBAAiBsxC,EAAyBnoE,QAAQ62B,iBAElCn0D,GAAU2lG,GAAuBtuI,GAAOy5B,IAAIi8C,GACpD57C,MAAMs0G,EAClB,GAEJ,C5C6IGE,CAAsB54D,G6CnLV,SAASA,GACpB,IAAMo0D,EAAM/sI,SAASi8C,iBAHd,yCAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAAQ,SAAC8nI,GACS5lG,GAAU8sD,IAAqBh8D,IAAIi8C,GAC3C57C,MAAMy0G,EACpB,GAER,C7C4KG94C,CAAoB/f,G8CpLR,SAASA,GACpB,IAAMo0D,EAAM/sI,SAASi8C,iBAHd,wCAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAAQ,SAAC+nI,GACS7lG,GAAUorF,IAAoBt6F,IAAIi8C,GAC1C57C,MAAM00G,EACpB,GAER,C9C6KGza,CAAmBr+C,G+CrLP,SAASA,GACpB,IAAMo0D,EAAM/sI,SAASi8C,iBAHd,sCAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAAQ,SAACgoI,GACS9lG,GAAU2sD,IAAkB77D,IAAIi8C,GACxC57C,MAAM20G,EACpB,GAER,C/C8KGn5C,CAAiB5f,GgDtLL,SAASA,GACpB,IAAMo0D,EAAM/sI,SAASi8C,iBAHd,4CAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAAQ,SAACioI,GACS/lG,GAAU6tF,IAAwB/8F,IAAIi8C,GAC9C57C,MAAM40G,EACpB,GAER,ChD+KGlY,CAAuB9gD,GiDvLX,SAAUA,GACvB,IAAMo0D,EAAM/sI,SAASi8C,iBAHZ,mDAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAQ,SAACkoI,GACOhmG,GAAUusF,IAA8Bz7F,IAAIi8C,GACpD57C,MAAM60G,EAClB,GAEJ,CjDgLGzZ,CAA6Bx/C,GkDxLjB,SAAUA,GACvB,IAAMo0D,EAAM/sI,SAASi8C,iBAHZ,oCAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAQ,SAACmoI,GAAuB,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC5BlvI,EAAQ,CACZkiE,MAAO0sE,EAAmB3oE,QAAQ/D,MAC9Bj6D,KAAKikE,MAAM0iE,EAAmB3oE,QAAQ/D,OACtC,KACJwF,OAAyC,QAAnCmnE,EAAED,EAAmB3oE,QAAQyB,cAAM,IAAAmnE,EAAAA,EAAI,GAC7C9vI,MAAuC,QAAlC+vI,EAAEF,EAAmB3oE,QAAQlnE,aAAK,IAAA+vI,EAAAA,EAAI,GAC3C91D,OAAyC,QAAnC+1D,EAAEH,EAAmB3oE,QAAQ+S,cAAM,IAAA+1D,EAAAA,EAAI,GAC7Cn0D,YAAmD,QAAxCo0D,EAAEJ,EAAmB3oE,QAAQ2U,mBAAW,IAAAo0D,EAAAA,EAAI,GACvD1X,aAAqD,QAAzC2X,EAAEL,EAAmB3oE,QAAQqxD,oBAAY,IAAA2X,EAAAA,EAAI,GACzD1X,gBAA2D,QAA5C2X,EAAEN,EAAmB3oE,QAAQsxD,uBAAe,IAAA2X,EAAAA,EAAI,IAE/CvmG,GAAUwmG,GAAiBnvI,GAAOy5B,IAAIi8C,GAC9C57C,MAAM80G,EAClB,GAEJ,ClDsKGO,CAAgBz5D,GmDzLJ,SAAUA,GACvB,IAAMo0D,EAAM/sI,SAASi8C,iBAHZ,yCAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAQ,SAAC2oI,GACX,IAAMpvI,EAAQ,CACZjB,MAAOqwI,EAAuBnpE,QAAQlnE,MAClCqwI,EAAuBnpE,QAAQlnE,MAC/B,KACJ67E,YAAaw0D,EAAuBnpE,QAAQ2U,YACxCw0D,EAAuBnpE,QAAQ2U,YAC/B,KACJs8C,cAAekY,EAAuBnpE,QAAQixD,cAC1CjvH,KAAKikE,MAAMkjE,EAAuBnpE,QAAQixD,eAC1C,MAEYvuF,GAAU0uF,GAAqBr3H,GAAOy5B,IAAIi8C,GAClD57C,MAAMs1G,EAClB,GAEJ,CnDuKG/X,CAAoB3hD,GoD1LR,SAASA,GACpB,IAAMo0D,EAAM/sI,SAASi8C,iBAHd,iCAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAAQ,SAAC4oI,GACS1mG,GAAUm8E,IAAcrrF,IAAIi8C,GACpC57C,MAAMu1G,EACpB,GAER,CpDmLGvqB,CAAapvC,GqD3LD,SAAUA,GACrB,IAAMo0D,EAAM/sI,SAASi8C,iBAHd,+BAIH8wF,EAAI3nI,QACJ2nI,EAAIrjI,SAAQ,SAAC6oI,GACT,IAAMtvI,EAAQ,CACVokG,cAAekrC,EAAcrpE,QAAQm+B,cACrCC,KAAMp8F,KAAKikE,MAAMojE,EAAcrpE,QAAQo+B,MACvC1zF,SAAU2+H,EAAcrpE,QAAQt1D,UAElBg4B,GAAUimE,GAAY5uG,GAAOy5B,IAAIi8C,GACzC57C,MAAMw1G,EACpB,GAER,CrD+KG1gC,CAAWl5B,GsD5LC,SAASA,GACpB,IAAMo0D,EAAM/sI,SAASi8C,iBAHd,4CAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAAQ,SAAC8oI,GACT,IAAMtjI,EAAU,CACZu8F,OAAQ+mC,EAAyBtpE,QAAQuiC,OACzCD,UAAWtgG,KAAKikE,MAAMqjE,EAAyBtpE,QAAQsiC,WACvDE,MAAO8mC,EAAyBtpE,QAAQwiC,OAE1B9/D,GAAU6mG,GAAsBvjI,GAASwtB,IAAIi8C,GACrD57C,MAAMy1G,EACpB,GAER,CtDgLGC,CAAsB95D,GuD7LV,SAAUA,GACvB,IAAMo0D,EAAM/sI,SAASi8C,iBAHZ,yCAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAQ,SAACgpI,GACX,IAAMzvI,EAAQ,CACZ0nE,OAAQ+nE,EAAuBxpE,QAAQyB,OACvCxF,MAAOutE,EAAuBxpE,QAAQ/D,MAClCj6D,KAAKikE,MAAMujE,EAAuBxpE,QAAQ/D,OAC1C,CAAC,GAEWv5B,GAAU+mG,GAAqB1vI,GAAOy5B,IAAIi8C,GAClD57C,MAAM21G,EAClB,GAEJ,CvDgLGC,CAAoBh6D,GwDxLR,SAAUA,GACvB,IAAMo0D,EAAM/sI,SAASi8C,iBAHZ,sCAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAQ,SAACkpI,GACX,ItEoBwChyH,EAASiyH,EsEpB3C1tE,EAAQj6D,KAAKikE,MAAMyjE,EAAoB1pE,QAAQ/D,OAC/CliE,EAAQ,CACZq8H,gBAAiBn6D,EAAMvkD,MtEkBeA,EsEjBJukD,EAAMvkD,KtEkBV,QAAlCiyH,EAAOjyH,EAAKkyH,gBAAgB1tI,cAAM,IAAAytI,EAAAA,EAAI,GsEjB9B,EACJloE,OAAQioE,EAAoB1pE,QAAQyB,QAGlCxF,IACFwT,EAAMn9B,SAAS,mBAAoB,CAAE98C,IAAKymE,EAAMvkD,KAAKmyH,aACrDp6D,EAAMn9B,SAAS,eAAgB,CAC7B8+B,QAAS2lD,GAAqB96D,EAAMvkD,QAEtC+3D,EAAMn9B,SAAS,YAAa,CAC1B++B,KAAM6lD,GAAmBj7D,EAAMvkD,KAAKkyH,mBAEtCn6D,EAAMn9B,SAAS,eAAgB,CAC7Bma,QAAS0qE,GAAsBl7D,EAAMvkD,SAIvBgrB,GAAUonG,GAAkB/vI,GAAOy5B,IAAIi8C,GAC/C57C,MAAM61G,EAClB,GAEJ,CxD4JGI,CAAiBr6D,GyD/LL,SAAUA,GACvB,IAAMo0D,EAAM/sI,SAASi8C,iBAHZ,yCAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAQ,SAACupI,GAA2B,IAAAC,EAAAC,EAAAC,EAChCnwI,EAAQ,CACZ2kE,YAAaqrE,EAAuB/pE,QAAQtB,YACxC18D,KAAKikE,MAAM8jE,EAAuB/pE,QAAQtB,aAC1C,GACJ5lE,MAA2C,QAAtCkxI,EAAED,EAAuB/pE,QAAQlnE,aAAK,IAAAkxI,EAAAA,EAAI,GAC/CprE,iBAAiE,QAAjDqrE,EAAEF,EAAuB/pE,QAAQpB,wBAAgB,IAAAqrE,EAAAA,EAAI,GACrEprE,iBACiD,QADjCqrE,EACdH,EAAuB/pE,QAAQnB,wBAAgB,IAAAqrE,EAAAA,EAAI,MAErCxnG,GAAU8+B,GAAqBznE,GAAOy5B,IAAIi8C,GAClD57C,MAAMk2G,EAClB,GAEJ,CzD+KGvoE,CAAoBiO,G0DhMR,SAAUA,GACvB,IAAMo0D,EAAM/sI,SAASi8C,iBAHZ,sCAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAQ,SAAC2pI,GAAwB,IAAAC,EAAAC,EAAAC,EAC7BvwI,EAAQ,CACZu3H,gBAAiB6Y,EAAoBnqE,QAAQsxD,gBAC7C6C,eAAgBgW,EAAoBnqE,QAAQm0D,eAC5Cx1G,YAAawrH,EAAoBnqE,QAAQrhD,YACzCy1G,UAAW+V,EAAoBnqE,QAAQo0D,UACvCC,gBAAiB8V,EAAoBnqE,QAAQq0D,gBAC7Cx1D,iBAA8D,QAA9CurE,EAAED,EAAoBnqE,QAAQnB,wBAAgB,IAAAurE,EAAAA,EAAI,KAClE9V,gBAA4D,QAA7C+V,EAAEF,EAAoBnqE,QAAQs0D,uBAAe,IAAA+V,EAAAA,EAAI,KAChE9V,YAAoD,QAAzC+V,EAAEH,EAAoBnqE,QAAQu0D,mBAAW,IAAA+V,EAAAA,EAAI,MAExC5nG,GAAUoyF,GAAkB/6H,GAAOy5B,IAAIi8C,GAC/C57C,MAAMs2G,EAClB,GAEJ,C1D+KGrV,CAAiBrlD,G2DjML,SAAUA,GACrB,IAAMo0D,EAAM/sI,SAASi8C,iBAHd,kCAIH8wF,EAAI3nI,QACJ2nI,EAAIrjI,SAAQ,SAAC+pI,GACT,IAAMxwI,EAAQ,CACVy5G,UAAW+2B,EAAiBvqE,QAAQwzC,UACpC4B,cAAem1B,EAAiBvqE,QAAQo1C,cACxCC,kBAAmBk1B,EAAiBvqE,QAAQq1C,kBAC5CC,kBAAmBi1B,EAAiBvqE,QAAQs1C,kBAC5CC,sBAAuBg1B,EAAiBvqE,QAAQwqE,kBAC1CxoI,KAAKikE,MAAMskE,EAAiBvqE,QAAQwqE,mBACpC,GACNh1B,YAAa+0B,EAAiBvqE,QAAQyqE,QAAUzoI,KAAKikE,MAAMskE,EAAiBvqE,QAAQyqE,SAAW,CAAC,EAChGh1B,eAAgB80B,EAAiBvqE,QAAQ0qE,WAAa1oI,KAAKikE,MAAMskE,EAAiBvqE,QAAQ0qE,YAAc,CAAC,GAG3FhoG,GAAU80E,GAAez9G,GAAOy5B,IAAIi8C,GAC5C57C,MAAM02G,EACpB,GAER,C3D8KG/yB,CAAc/nC,G4DlMF,SAAUA,GACvB,IAAMo0D,EAAM/sI,SAASi8C,iBAHZ,oCAIL8wF,EAAI3nI,QACJ2nI,EAAIrjI,SAAQ,SAACmqI,GAEb,IAAM5wI,EAAQ,CACZo3E,OAAQnvE,KAAKikE,MAAM0kE,EAAmB3qE,QAAQmR,QAC9Cue,mBAAoBi7C,EAAmB3qE,QAAQ0vB,mBAC/CC,sBAAuBg7C,EAAmB3qE,QAAQ4qE,sBAClDh7C,sBAAuB+6C,EAAmB3qE,QAAQ6qE,sBAClDh7C,eAAgB86C,EAAmB3qE,QAAQ6vB,eAC3CzF,aAAcugD,EAAmB3qE,QAAQoqB,aACrCpoF,KAAKikE,MAAM0kE,EAAmB3qE,QAAQoqB,cACtC,MAEY1nD,GAAUgvD,GAAiB33F,GAAOy5B,IAAIi8C,GAC9C57C,MAAM82G,EAClB,GAEJ,C5DgLGj5C,CAAgBjiB,G6DnMJ,SAASA,GACpB,IAAMo0D,EAAM/sI,SAASi8C,iBAHd,wCAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAAQ,SAACsqI,GACSpoG,GAAU6sD,IAA4B/7D,IAAIi8C,GAClD57C,MAAMi3G,EACpB,GAER,C7D4LGv7C,CAA2B9f,G8DpMf,SAASA,GACpB,IAAMo0D,EAAM/sI,SAASi8C,iBAHd,kCAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAAQ,SAACuqI,GAET,IAAMhxI,EAAQ,CACVy5G,UAAWu3B,EAAiB/qE,QAAQwzC,UACpCikB,KAAMsT,EAAiB/qE,QAAQy3D,KAC/BtmD,OAAQ45D,EAAiB/qE,QAAQmR,OAASnvE,KAAKikE,MAAM8kE,EAAiB/qE,QAAQmR,QAAU,KACxFumD,aAAwD,SAA1CqT,EAAiB/qE,QAAQ03D,cAEzBh1F,GAAUsoG,GAAejxI,GAAOy5B,IAAIi8C,GAC5C57C,MAAMk3G,EACpB,GAER,C9DsLGC,CAAcv7D,G+DrMF,SAASA,GACpB,IAAMo0D,EAAM/sI,SAASi8C,iBAHd,yCAIJ8wF,EAAI3nI,QACH2nI,EAAIrjI,SAAQ,SAACyqI,GACT,IAAMlxI,EAAQ,CACViwC,IAAKihG,EAAuBjrE,QAAQh2B,IACpClxC,MAAOmyI,EAAuBjrE,QAAQlnE,MACtC67E,YAAas2D,EAAuBjrE,QAAQ2U,YAC5C98E,KAAMozI,EAAuBjrE,QAAQnoE,KACrC0yD,SAAU0gF,EAAuBjrE,QAAQzV,UAE3B7nB,GAAU80F,GAAqBz9H,GAAOy5B,IAAIi8C,GAClD57C,MAAMo3G,EACpB,GAER,C/DuLGzT,CAAoB/nD,GgEtMR,SAASA,GACR34E,SAASi8C,iBAHd,8BAIHvyC,SAAQ,SAAC0qI,GACT,IAAMnxI,EAAQ,CACVs/H,YAAa6R,EAAalrE,QAAQq5D,aAEhCpxF,EAAWijG,EAAa/wG,UAC9Bn0B,GAAQiiC,SAAWA,EACDvF,GAAU18B,GAASjM,GAAOy5B,IAAIi8C,GACtC57C,MAAMq3G,EACpB,GACJ,ChE4LGC,CAAU17D,GiEvME,SAASA,GACR34E,SAASi8C,iBAHd,6BAIHvyC,SAAQ,SAAC4qI,GACT,IAAMnjG,EAAWmjG,EAAYhyG,UAC7BpzB,GAAQiiC,SAAWA,EACDvF,GAAU18B,IAASwtB,IAAIi8C,GAC/B57C,MAAMu3G,EACpB,GACJ,CjEgMGC,CAAS57D,GkExMG,SAASA,GACR34E,SAASi8C,iBAHd,gCAIHvyC,SAAQ,SAAC8qI,GACT,IAAMvxI,EAAQ,CACVyoG,MAAO8oC,EAAetrE,QAAQwiC,OAE5Bv6D,EAAWqjG,EAAelyG,UAChCpzB,GAAQiiC,SAAWA,EACDvF,GAAU18B,GAASjM,GAAOy5B,IAAIi8C,GACtC57C,MAAMy3G,EACpB,GACJ,ClE8LGC,CAAY97D,GmEzMA,SAAUA,GACvB,IAAMo0D,EAAM/sI,SAASi8C,iBAHZ,2BAIL8wF,EAAI3nI,QACN2nI,EAAIrjI,SAAQ,SAACgrI,GACX,IAAMzxI,EAAQ,CACZ8yE,QAAS2+D,EAAWxrE,QAAQ6M,QAC5B8nB,YAAa62C,EAAWxrE,QAAQ20B,aAEhBjyD,GAAU6yD,GAASx7F,GAAOy5B,IAAIi8C,GACtC57C,MAAM23G,EAClB,GAEJ,CnE8LGj2C,CAAQ9lB,EACX,CoE7MAg8D,EhU43BsBzlI,GiUt3BI,CACtB2sC,QAAS,CACL+4F,KCTR,CACIhjE,YAAY,EACZrmD,MAAO,CACHlrB,MAAM,GAEVq6C,UAAW,CACPm6F,SAAQ,SAACtpH,EAAM3mB,GACX2mB,EAAMlrB,KAAOuE,CACjB,GAEJqzE,QAAS,CACL68D,WAAU,SAAC94G,EAAS5hB,GAChB4hB,EAAQs2C,OAAO,WAAYl4D,EAAO/Z,KACtC,IDHAs/G,KEVR,CACI/tC,YAAY,EACZrmD,MAAO,CACH62F,yBAAyB,EACzBC,uBAAuB,EACvBF,aAAa,EACbG,4BAA4B,EAC5BK,oBAAoB,EACpBC,iCAAiC,EACjCJ,qBAAsB,IAE1B9nE,UAAW,CACPq6F,+BAA8B,SAACxpH,EAAO3mB,GAClC2mB,EAAM62F,wBAA0Bx9G,CACpC,EACAowI,4BAA2B,SAACzpH,EAAO3mB,GAC/B2mB,EAAM82F,sBAAwBz9G,CAClC,EACAqwI,iBAAgB,SAAC1pH,EAAO3mB,GACpB2mB,EAAM42F,YAAcv9G,CACxB,EACAswI,mCAAkC,SAAC3pH,EAAO3mB,GACtC2mB,EAAM+2F,2BAA6B19G,CACvC,EACAuwI,yBAAwB,SAAC5pH,EAAO3mB,GAC5B2mB,EAAMo3F,mBAAqB/9G,CAC/B,EACAwwI,wCAAuC,SAAC7pH,EAAO3mB,GAC3C2mB,EAAMq3F,gCAAkCh+G,CAC5C,EACAywI,mBAAkB,SAAC9pH,EAAO3mB,GACtB2mB,EAAMi3F,qBAAuB59G,CACjC,GAEJqzE,QAAS,CACLmqC,wBAAuB,SAACpmF,EAAS5hB,GAC7B4hB,EAAQs2C,OAAO,iCAAkCl4D,EAAOrb,KAC5D,EACAsjH,sBAAqB,SAACrmF,EAAS5hB,GAC3B4hB,EAAQs2C,OAAO,8BAA+Bl4D,EAAOrb,KACzD,EACAojH,YAAW,SAACnmF,EAAS5hB,GACjB4hB,EAAQs2C,OAAO,mBAAoBl4D,EAAOrb,KAC9C,EACAujH,2BAA0B,SAACtmF,EAAS5hB,GAChC4hB,EAAQs2C,OAAO,qCAAsCl4D,EAAOrb,KAChE,EACA4jH,mBAAkB,SAAC3mF,EAAS5hB,GACxB4hB,EAAQs2C,OAAO,2BAA4Bl4D,EAAOrb,KACtD,EACA6jH,gCAA+B,SAAC5mF,EAAS5hB,GACrC4hB,EAAQs2C,OAAO,0CAA2Cl4D,EAAO6kG,SACrE,EACAuD,qBAAoB,SAACxmF,EAAS5hB,GAC1B4hB,EAAQs2C,OAAO,qBAAsBl4D,EAAOulG,KAChD,IF5CA3jB,OAAAA,GACAwjC,KAAAA,GACA1V,UAAAA,GACAnhC,MAAAA,KjUg3BC,IAAIhQ,GAAMzpE","sources":["webpack://komponentbibliotek/./Frontend/src/foundation/js/file-download.js","webpack://komponentbibliotek/./node_modules/vue-loader/dist/exportHelper.js","webpack://komponentbibliotek/webpack/bootstrap","webpack://komponentbibliotek/webpack/runtime/define property getters","webpack://komponentbibliotek/webpack/runtime/global","webpack://komponentbibliotek/webpack/runtime/hasOwnProperty shorthand","webpack://komponentbibliotek/webpack/runtime/make namespace object","webpack://komponentbibliotek/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://komponentbibliotek/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://komponentbibliotek/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://komponentbibliotek/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://komponentbibliotek/./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js","webpack://komponentbibliotek/./node_modules/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js","webpack://komponentbibliotek/./node_modules/vue/dist/vue.esm-bundler.js","webpack://komponentbibliotek/./Features/Blocks/ArticlesInsight/ArticlesInsight.vue","webpack://komponentbibliotek/./Frontend/src/components/MultiSelectDropdown/MultiSelectDropdown.vue","webpack://komponentbibliotek/./Frontend/src/components/MultiSelectDropdown/MultiSelectDropdown.options.js","webpack://komponentbibliotek/./Frontend/src/components/MultiSelectDropdown/MultiSelectDropdown.vue?39cc","webpack://komponentbibliotek/./Features/Blocks/ArticlesInsight/ArticlesInsight.options.js","webpack://komponentbibliotek/./Features/Blocks/ArticlesInsight/ArticlesInsight.vue?0d39","webpack://komponentbibliotek/./Features/Blocks/BreakingNews/ContextBanner/ContextBanner.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorCompareTable/CalculatorCompareTable.vue","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorTable/CalculatorTable.vue","webpack://komponentbibliotek/./node_modules/@vue/devtools-api/lib/esm/env.js","webpack://komponentbibliotek/./node_modules/@vue/devtools-api/lib/esm/time.js","webpack://komponentbibliotek/./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://komponentbibliotek/./node_modules/@vue/devtools-api/lib/esm/const.js","webpack://komponentbibliotek/./node_modules/vuex/dist/vuex.esm-bundler.js","webpack://komponentbibliotek/./node_modules/@vue/devtools-api/lib/esm/index.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorTable/CalculatorTable.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorTable/CalculatorTable.vue?983f","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/mapTableData.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorCompareTable/CalculatorCompareTable.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorCompareTable/CalculatorCompareTable.vue?b4ad","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorInfoBox/CalculatorInfoBox.vue","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorInfoBox/CalculatorInfoBox.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorInfoBox/CalculatorInfoBox.vue?94d2","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorJuraContent/CalculatorJuraContent.vue","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorJuraContent/CalculatorJuraContent.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorJuraContent/CalculatorJuraContent.vue?2900","webpack://komponentbibliotek/./Frontend/src/foundation/js/utils/handleComponentProps.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorSummary/CalculatorSummary.vue","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/js/applyThousandSeperator.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorSummary/CalculatorSummary.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorSummary/CalculatorSummary.vue?f892","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/FormGenericInput/FormGenericInput.vue","webpack://komponentbibliotek/./Frontend/src/foundation/js/utils/forms/formInputFormBinder.js","webpack://komponentbibliotek/./Frontend/src/foundation/js/utils/forms/formInputCommonOptions.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/FormGenericInput/FormGenericInput.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/FormGenericInput/FormGenericInput.vue?1ca3","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/FormRadioGroupInput/FormRadioGroupInput.vue","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/FormRadioGroupInput/FormRadioGroupInput.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/FormRadioGroupInput/FormRadioGroupInput.vue?b78c","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/Modal.vue","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/modalTrapFocus.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/ModalContent/SwitchLoanTypeContent/SwitchLoanTypeContent.vue","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/ModalContent/SwitchLoanTypeContent/SwitchLoanTypeContent.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/ModalContent/SwitchLoanTypeContent/SwitchLoanTypeContent.vue?7de2","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/ModalContent/AdjustLoanContent/AdjustLoanContent.vue","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/NewLoanCalculatorInputs/NewLoanCalculatorInputs.vue","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/js/reverseThousandCommaSeparation.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/NewLoanCalculatorInputs/NewLoanCalculatorInputs.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/NewLoanCalculatorInputs/NewLoanCalculatorInputs.vue?3aea","webpack://komponentbibliotek/./Features/Blocks/Video/gtmDataLayerService.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/ModalContent/AdjustLoanContent/AdjustLoanContent.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/ModalContent/AdjustLoanContent/AdjustLoanContent.vue?54e2","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/Modal.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/Modal.vue?068d","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorInput/NewLoanCalculatorInput.vue","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/js/mapNewLoanUrlParams.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorInput/NewLoanCalculatorInput.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorInput/NewLoanCalculatorInput.vue?c0aa","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/NewLoanCalculatorResult.vue","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/handleCalcModals.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/apiGetCalculatorData.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/NewLoanCalculatorResultDesktop/NewLoanCalculatorResultDesktop.vue","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/_layoutComponentsProps.js","webpack://komponentbibliotek/./Frontend/src/foundation/js/inputValidators/notEmptyInput.js","webpack://komponentbibliotek/./Frontend/src/foundation/js/inputValidators/emailValidator.js","webpack://komponentbibliotek/./Frontend/src/foundation/js/sendCalculation/getSalesforceId.js","webpack://komponentbibliotek/./Frontend/src/foundation/js/sendCalculation/sendCalculationSubmit.js","webpack://komponentbibliotek/./Frontend/src/foundation/js/sendCalculation/getUserInformation.js","webpack://komponentbibliotek/./Frontend/src/foundation/js/inputValidators/isBoolean.js","webpack://komponentbibliotek/./Frontend/src/foundation/js/signupFlows/getGeneralComputedValues.js","webpack://komponentbibliotek/./Frontend/src/foundation/js/signupFlows/handleValidateInputAndProceed.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepReceipt/SignupStepReceipt.vue","webpack://komponentbibliotek/./Frontend/src/foundation/js/configurations/_signupStepsCommonProps.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepReceipt/SignupStepReceipt.options.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepReceipt/SignupStepReceipt.vue?f1b8","webpack://komponentbibliotek/./Frontend/src/components/ContactStepIntro/ContactStepIntro.vue","webpack://komponentbibliotek/./Frontend/src/components/ContactStepIntro/ContactStepIntro.options.js","webpack://komponentbibliotek/./Frontend/src/components/ContactStepIntro/ContactStepIntro.vue?d01e","webpack://komponentbibliotek/./Frontend/src/components/SendCalculationStepContent/SendCalculationStepContent.vue","webpack://komponentbibliotek/./Frontend/src/foundation/js/configurations/_sendCalculationStepsCommonProps.js","webpack://komponentbibliotek/./Features/Blocks/SendCalculation/Actions/SendCalculationStepActions.vue","webpack://komponentbibliotek/./Features/Blocks/SendCalculation/Actions/SendCalculationStepActions.options.js","webpack://komponentbibliotek/./Features/Blocks/SendCalculation/Actions/SendCalculationStepActions.vue?d5c3","webpack://komponentbibliotek/./Frontend/src/components/SendCalculationStepContent/SendCalculationStepContent.options.js","webpack://komponentbibliotek/./Frontend/src/components/SendCalculationStepContent/SendCalculationStepContent.vue?7d73","webpack://komponentbibliotek/./Frontend/src/components/SendCalculationStepInfo/SendCalculationStepInfo.vue","webpack://komponentbibliotek/./Frontend/src/components/SendCalculationStepInfo/SendCalculationStepInfo.options.js","webpack://komponentbibliotek/./Frontend/src/components/SendCalculationStepInfo/SendCalculationStepInfo.vue?1659","webpack://komponentbibliotek/./Frontend/src/components/ContactStepComments/ContactStepComments.vue","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepActions/SignupStepActions.vue","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepActions/SignupStepActions.options.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepActions/SignupStepActions.vue?f7aa","webpack://komponentbibliotek/./Frontend/src/components/ContactStepComments/ContactStepComments.options.js","webpack://komponentbibliotek/./Frontend/src/components/ContactStepComments/ContactStepComments.vue?1d79","webpack://komponentbibliotek/./Frontend/src/components/SendCalculation/SendCalculation.options.js","webpack://komponentbibliotek/./Frontend/src/components/SendCalculation/SendCalculation.vue","webpack://komponentbibliotek/./Frontend/src/components/SendCalculation/SendCalculation.vue?7b61","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/NewLoanCalculatorResultDesktop/NewLoanCalculatorResultDesktop.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/NewLoanCalculatorResultDesktop/NewLoanCalculatorResultDesktop.vue?1331","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/NewLoanCalculatorResultMobile/NewLoanCalculatorResultMobile.vue","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/NewLoanCalculatorResultMobile/NewLoanCalculatorResultMobile.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/NewLoanCalculatorResultMobile/NewLoanCalculatorResultMobile.vue?3c48","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/NewLoanCalculatorResult.options.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/NewLoanCalculatorResult.vue?a5ee","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupMultipleNewsletters/SignupMultipleNewsletters.vue","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepEmail/SignupStepEmail.vue","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepEmail/SignupStepEmail.options.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepEmail/SignupStepEmail.vue?1b96","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepSelectNewsletters/SignupStepSelectNewsletters.vue","webpack://komponentbibliotek/./Frontend/src/components/Tooltip/Tooltip.vue","webpack://komponentbibliotek/./Frontend/src/components/Tooltip/Tooltip.options.js","webpack://komponentbibliotek/./Frontend/src/components/Tooltip/Tooltip.vue?b2d3","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepSelectNewsletters/SignupStepSelectNewsletters.options.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepSelectNewsletters/SignupStepSelectNewsletters.vue?3de7","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepFullname/SignupStepFullname.vue","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepFullname/SignupStepFullname.options.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepFullname/SignupStepFullname.vue?828b","webpack://komponentbibliotek/./Frontend/src/foundation/js/signupFlows/newslettersSignupSubmit.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/newsletterSignup.common.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupMultipleNewsletters/SignupMultipleNewsletters.options.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupMultipleNewsletters/SignupMultipleNewsletters.vue?411c","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupSingleNewsletter/SignupSingleNewsletter.vue","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupSingleNewsletter/SignupSingleNewsletter.options.js","webpack://komponentbibliotek/./Frontend/src/foundation/js/signupFlows/singleSignupHandleInputAndProceed.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupSingleNewsletter/SignupSingleNewsletter.vue?9fe2","webpack://komponentbibliotek/./Features/Blocks/Video/GtmVideoService.js","webpack://komponentbibliotek/./Features/Blocks/Video/VideoBlock.options.js","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindCenterContactPersons/FindCenterContactPersons.vue","webpack://komponentbibliotek/./Frontend/src/foundation/js/debounce.js","webpack://komponentbibliotek/./Frontend/src/foundation/js/getUrlParamPrefix.js","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindCenterContactPersons/FindCenterContactPersons.options.js","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindCenterContactPersons/FindCenterContactPersons.vue?336c","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindCenterMapAndEmployees/FindCenterMapAndEmployees.vue","webpack://komponentbibliotek/./Frontend/src/components/FilterTabs/FilterTabs.vue","webpack://komponentbibliotek/./Frontend/src/components/FilterTabs/FilterTabs.options.js","webpack://komponentbibliotek/./Frontend/src/components/FilterTabs/FilterTabs.vue?d45e","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindMap/CenterMap.vue","webpack://komponentbibliotek/./Frontend/src/components/GoogleMapsWithMarkers/GoogleMapsWithMarkers.vue","webpack://komponentbibliotek/./Frontend/src/components/GoogleMapsWithMarkers/methods/mapThemes.js","webpack://komponentbibliotek/./Frontend/src/components/GoogleMapsWithMarkers/methods/updatePins.js","webpack://komponentbibliotek/./Frontend/src/components/GoogleMapsWithMarkers/methods/initMap.js","webpack://komponentbibliotek/./Frontend/src/components/GoogleMapsWithMarkers/GoogleMapsWithMarkers.options.js","webpack://komponentbibliotek/./Frontend/src/components/GoogleMapsWithMarkers/methods/updateBounds.js","webpack://komponentbibliotek/./Frontend/src/components/GoogleMapsWithMarkers/GoogleMapsWithMarkers.vue?acdb","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindMap/methods/getDistanceFromLatLonInKm.js","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindMap/methods/setFocusPoints.js","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindMap/methods/initGooglePlacesAutocomplete.js","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindMap/CenterMap.options.js","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindMap/methods/mapCategoriesToMultiSelectOptions.js","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindMap/methods/zoomMapToCenters.js","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindMap/CenterMap.vue?fd13","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindCenterMapAndEmployees/FindCenterMapAndEmployees.options.js","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindMap/methods/getCenterInformation.js","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindCenterMapAndEmployees/FindCenterMapAndEmployees.vue?6141","webpack://komponentbibliotek/./Features/JobPosting/Pages/JobApplication/JobApplication.vue","webpack://komponentbibliotek/./Frontend/src/foundation/js/form-methods.js","webpack://komponentbibliotek/./Frontend/src/foundation/js/inputValidators/phoneValidator.js","webpack://komponentbibliotek/./Features/JobPosting/Pages/JobApplication/JobApplication.options.js","webpack://komponentbibliotek/./Features/JobPosting/Pages/JobApplication/JobApplication.options.form-submit.js","webpack://komponentbibliotek/./Features/JobPosting/Pages/JobApplication/JobApplication.vue?cfba","webpack://komponentbibliotek/./Features/Navigation/Blocks/FooterContact/FooterContact.options.js","webpack://komponentbibliotek/./Frontend/src/components/SearchOverlay/SearchOverlay.vue","webpack://komponentbibliotek/./Frontend/src/foundation/js/menu-key-helper.js","webpack://komponentbibliotek/./Frontend/src/components/SearchOverlay/SearchOverlay.options.js","webpack://komponentbibliotek/./Frontend/src/components/SearchOverlay/SearchOverlay.vue?7365","webpack://komponentbibliotek/./Frontend/src/foundation/js/addScrollCallback.js","webpack://komponentbibliotek/./Features/Navigation/Menu/Menu.options.js","webpack://komponentbibliotek/./Features/Ratings/FeedbackBlock/FeedbackStepOne/FeedbackStepOne.vue","webpack://komponentbibliotek/./Features/Ratings/FeedbackBlock/FeedbackStepOne/FeedbackStepOne.options.js","webpack://komponentbibliotek/./Features/Ratings/FeedbackBlock/FeedbackStepOne/FeedbackStepOne.vue?0dc4","webpack://komponentbibliotek/./Features/Ratings/FeedbackBlock/FeedbackStepTwo/FeedbackStepTwo.vue","webpack://komponentbibliotek/./Features/Ratings/FeedbackBlock/FeedbackStepTwo/FeedbackStepTwo.options.js","webpack://komponentbibliotek/./Features/Ratings/FeedbackBlock/FeedbackStepTwo/FeedbackStepTwo.vue?853d","webpack://komponentbibliotek/./Features/Ratings/FeedbackBlock/FeedbackStepThree/FeedbackStepThree.vue","webpack://komponentbibliotek/./Features/Ratings/FeedbackBlock/FeedbackStepThree/FeedbackStepThree.options.js","webpack://komponentbibliotek/./Features/Ratings/FeedbackBlock/FeedbackStepThree/FeedbackStepThree.vue?7d6e","webpack://komponentbibliotek/./Features/Ratings/FeedbackBlock/FeedbackBlock.options.js","webpack://komponentbibliotek/./Foundation/FrontendComponents/MitNykredit/MitNykreditMenu/MitNykreditMenu.options.js","webpack://komponentbibliotek/./Foundation/Navigation/Breadcrumbs/Breadcrumbs.options.js","webpack://komponentbibliotek/./Frontend/src/components/AnnualReportsTable/AnnualReportsTable.vue","webpack://komponentbibliotek/./Frontend/src/components/DynamicTable/DynamicTable.vue","webpack://komponentbibliotek/./Frontend/src/components/DynamicTable/DynamicTable.options.js","webpack://komponentbibliotek/./Frontend/src/components/DynamicTable/DynamicTable.vue?8bbc","webpack://komponentbibliotek/./Frontend/src/components/AnnualReportsTable/AnnualReportsTable.options.js","webpack://komponentbibliotek/./Frontend/src/components/AnnualReportsTable/AnnualReportsTable.vue?c041","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatMessage/ChatMessage.vue","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatMessage/ChatMessage.options.js","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatMessage/ChatMessage.vue?5213","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatWindow/ChatWindow.vue","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatMenu/ChatMenu.vue","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatMenu/ChatMenu.options.js","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatMenu/ChatMenu.vue?9822","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatFeedback/ChatFeedback.vue","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatFeedback/ChatFeedbackInput/ChatFeedbackInput.vue","webpack://komponentbibliotek/./Frontend/src/components/Loader/Loader.vue","webpack://komponentbibliotek/./Frontend/src/components/Loader/Loader.options.js","webpack://komponentbibliotek/./Frontend/src/components/Loader/Loader.vue?5cdb","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatFeedback/ChatFeedbackInput/ChatFeedbackInput.options.js","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatFeedback/ChatFeedbackInput/ChatFeedbackInput.vue?d1a0","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatFeedback/ChatFeedbackPhoneNumber/ChatFeedbackPhoneNumber.vue","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatFeedback/ChatFeedbackPhoneNumber/ChatFeedbackPhoneNumber.options.js","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatFeedback/ChatFeedbackReview/ChatFeedbackReview.vue","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatFeedback/ChatFeedbackReview/ChatFeedbackReview.options.js","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatFeedback/ChatFeedback.options.js","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatFeedback/ChatFeedbackPhoneNumber/ChatFeedbackPhoneNumber.vue?2005","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatFeedback/ChatFeedbackReview/ChatFeedbackReview.vue?65d8","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatFeedback/ChatFeedback.vue?b78a","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatConnectionError/ChatConnectionError.vue","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatConnectionError/ChatConnectionError.options.js","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatConnectionError/ChatConnectionError.vue?cb80","webpack://komponentbibliotek/./Frontend/src/foundation/js/utils/bodyScrollLock.js","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatWindow/ChatWindow.options.js","webpack://komponentbibliotek/./Frontend/src/foundation/js/typingAnimation.js","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatPanel.options.js","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatWindow/ChatWindow.vue?1c2f","webpack://komponentbibliotek/./Frontend/src/components/ChatPanelFloatingTrigger/ChatPanelFloatingTrigger.options.js","webpack://komponentbibliotek/./Frontend/src/foundation/js/inputValidators/cprValidator.js","webpack://komponentbibliotek/./Frontend/src/foundation/js/signupFlows/getContactedSubmit.js","webpack://komponentbibliotek/./Frontend/src/components/ContactStepContent/ContactStepContent.vue","webpack://komponentbibliotek/./Frontend/src/components/ContactStepContent/ContactStepContent.options.js","webpack://komponentbibliotek/./Frontend/src/components/ContactStepContent/ContactStepContent.vue?5e99","webpack://komponentbibliotek/./Frontend/src/components/ContactCard/ContactCard.options.js","webpack://komponentbibliotek/./Frontend/src/components/ContactCard/ContactCard.vue","webpack://komponentbibliotek/./Frontend/src/components/ContactCard/ContactCard.vue?49a0","webpack://komponentbibliotek/./Frontend/src/components/ContactStepOnboardingContent/ContactStepOnboardingContent.vue","webpack://komponentbibliotek/./Frontend/src/components/ContactStepOnboardingContent/ContactStepOnboardingContent.options.js","webpack://komponentbibliotek/./Frontend/src/components/ContactCardOnboarding/ContactCardOnboarding.options.js","webpack://komponentbibliotek/./Frontend/src/components/ContactStepOnboardingContent/ContactStepOnboardingContent.vue?731c","webpack://komponentbibliotek/./Frontend/src/components/ContactCardOnboarding/ContactCardOnboarding.vue","webpack://komponentbibliotek/./Frontend/src/components/ContactCardOnboarding/ContactCardOnboarding.vue?d49f","webpack://komponentbibliotek/./Frontend/src/components/ContactStepNewsletters/ContactStepNewsletters.vue","webpack://komponentbibliotek/./Frontend/src/components/ContactStepNewsletters/ContactStepNewsletters.options.js","webpack://komponentbibliotek/./Frontend/src/components/ContactStepNewsletters/ContactStepNewsletters.vue?2f73","webpack://komponentbibliotek/./Frontend/src/components/ContactCardPermission/ContactCardPermission.options.js","webpack://komponentbibliotek/./Frontend/src/components/ContactCardPermission/ContactCardPermission.vue","webpack://komponentbibliotek/./Frontend/src/components/ContactCardPermission/ContactCardPermission.vue?de21","webpack://komponentbibliotek/./Frontend/src/components/DocumentArchive/DocumentArchive.vue","webpack://komponentbibliotek/./Frontend/src/components/DynamicDocumentList/DynamicDocumentList.vue","webpack://komponentbibliotek/./Frontend/src/components/DynamicDocumentList/DynamicDocumentList.options.js","webpack://komponentbibliotek/./Frontend/src/components/DynamicDocumentList/DynamicDocumentList.vue?ab5e","webpack://komponentbibliotek/./Frontend/src/components/DocumentArchive/DocumentArchive.options.js","webpack://komponentbibliotek/./Frontend/src/components/DocumentArchive/DocumentArchive.vue?fc87","webpack://komponentbibliotek/./Frontend/src/components/InvestmentFundTable/InvestmentFundTable.vue","webpack://komponentbibliotek/./Frontend/src/components/SearchInputField/SearchInputField.vue","webpack://komponentbibliotek/./Frontend/src/components/SearchInputField/SearchInputField.options.js","webpack://komponentbibliotek/./Frontend/src/components/SearchInputField/SearchInputField.vue?c073","webpack://komponentbibliotek/./Frontend/src/components/InvestmentFundTable/InvestmentFundTable.options.js","webpack://komponentbibliotek/./Frontend/src/components/InvestmentFundTable/InvestmentFundTable.vue?1165","webpack://komponentbibliotek/./Frontend/src/components/JobPostingsTable/JobPostingsTable.vue","webpack://komponentbibliotek/./Frontend/src/components/JobPostingsTable/JobPostingsTable.options.js","webpack://komponentbibliotek/./Frontend/src/components/JobPostingsTable/JobPostingsTable.vue?3315","webpack://komponentbibliotek/./Frontend/src/components/JobPostingsTable/JobPostingsTable.options.adapter.js","webpack://komponentbibliotek/./Frontend/src/components/SiteSearching/SiteSearching.vue","webpack://komponentbibliotek/./Frontend/src/components/SiteSearchingResult/SiteSearchingResult.vue","webpack://komponentbibliotek/./Frontend/src/components/SiteSearchingResult/SiteSearchingResult.options.js","webpack://komponentbibliotek/./Frontend/src/components/SiteSearchingResult/SiteSearchingResult.vue?629c","webpack://komponentbibliotek/./Frontend/src/components/SiteSearching/SiteSearching.options.js","webpack://komponentbibliotek/./Frontend/src/components/SiteSearching/SiteSearching.vue?baf4","webpack://komponentbibliotek/./Frontend/src/components/StickyBox/StickyBox.options.js","webpack://komponentbibliotek/./Frontend/src/components/TheForms/TheForms.options.js","webpack://komponentbibliotek/./Frontend/src/components/ThemeSwitch/ThemeSwitch.options.js","webpack://komponentbibliotek/./Frontend/src/store/modules/store.search.js","webpack://komponentbibliotek/./Frontend/src/store/modules/store.jobs.js","webpack://komponentbibliotek/./Frontend/src/store/modules/store.chatPanel.js","webpack://komponentbibliotek/./Frontend/src/store/modules/store.modal.js","webpack://komponentbibliotek/./Frontend/src/component-index.generated.js","webpack://komponentbibliotek/./Features/Blocks/ArticlesInsight/ArticlesInsight.init.js","webpack://komponentbibliotek/./Features/Blocks/BreakingNews/ContextBanner/ContextBanner.init.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorCompareTable/CalculatorCompareTable.init.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorInfoBox/CalculatorInfoBox.init.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorJuraContent/CalculatorJuraContent.init.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorSummary/CalculatorSummary.init.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorTable/CalculatorTable.init.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/FormGenericInput/FormGenericInput.init.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/FormRadioGroupInput/FormRadioGroupInput.init.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/Modal.init.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/ModalContent/AdjustLoanContent/AdjustLoanContent.init.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/ModalContent/SwitchLoanTypeContent/SwitchLoanTypeContent.init.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/components/NewLoanCalculatorInputs/NewLoanCalculatorInputs.init.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorInput/NewLoanCalculatorInput.init.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/NewLoanCalculatorResult.init.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/NewLoanCalculatorResultDesktop/NewLoanCalculatorResultDesktop.init.js","webpack://komponentbibliotek/./Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/NewLoanCalculatorResultMobile/NewLoanCalculatorResultMobile.init.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupMultipleNewsletters/SignupMultipleNewsletters.init.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupSingleNewsletter/SignupSingleNewsletter.init.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepActions/SignupStepActions.init.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepEmail/SignupStepEmail.init.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepFullname/SignupStepFullname.init.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepReceipt/SignupStepReceipt.init.js","webpack://komponentbibliotek/./Features/Blocks/Newsletters/NewslettersSignup/SignupStepSelectNewsletters/SignupStepSelectNewsletters.init.js","webpack://komponentbibliotek/./Features/Blocks/SendCalculation/Actions/SendCalculationStepActions.init.js","webpack://komponentbibliotek/./Features/Blocks/Video/VideoBlock.init.js","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindCenterContactPersons/FindCenterContactPersons.init.js","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindCenterMapAndEmployees/FindCenterMapAndEmployees.init.js","webpack://komponentbibliotek/./Features/FindCenter/Blocks/FindMap/CenterMap.init.js","webpack://komponentbibliotek/./Features/JobPosting/Pages/JobApplication/JobApplication.init.js","webpack://komponentbibliotek/./Features/Navigation/Blocks/FooterContact/FooterContact.init.js","webpack://komponentbibliotek/./Features/Navigation/Menu/Menu.init.js","webpack://komponentbibliotek/./Features/Ratings/FeedbackBlock/FeedbackBlock.init.js","webpack://komponentbibliotek/./Features/Ratings/FeedbackBlock/FeedbackStepOne/FeedbackStepOne.init.js","webpack://komponentbibliotek/./Features/Ratings/FeedbackBlock/FeedbackStepThree/FeedbackStepThree.init.js","webpack://komponentbibliotek/./Features/Ratings/FeedbackBlock/FeedbackStepTwo/FeedbackStepTwo.init.js","webpack://komponentbibliotek/./Foundation/FrontendComponents/MitNykredit/MitNykreditMenu/MitNykreditMenu.init.js","webpack://komponentbibliotek/./Foundation/Navigation/Breadcrumbs/Breadcrumbs.init.js","webpack://komponentbibliotek/./Frontend/src/components/AnnualReportsTable/AnnualReportsTable.init.js","webpack://komponentbibliotek/./Frontend/src/components/ChatPanel/ChatPanel.init.js","webpack://komponentbibliotek/./Frontend/src/components/ChatPanelFloatingTrigger/ChatPanelFloatingTrigger.init.js","webpack://komponentbibliotek/./Frontend/src/components/ContactCard/ContactCard.init.js","webpack://komponentbibliotek/./Frontend/src/components/ContactCardOnboarding/ContactCardOnboarding.init.js","webpack://komponentbibliotek/./Frontend/src/components/ContactCardPermission/ContactCardPermission.init.js","webpack://komponentbibliotek/./Frontend/src/components/ContactStepComments/ContactStepComments.init.js","webpack://komponentbibliotek/./Frontend/src/components/ContactStepContent/ContactStepContent.init.js","webpack://komponentbibliotek/./Frontend/src/components/ContactStepIntro/ContactStepIntro.init.js","webpack://komponentbibliotek/./Frontend/src/components/ContactStepNewsletters/ContactStepNewsletters.init.js","webpack://komponentbibliotek/./Frontend/src/components/ContactStepOnboardingContent/ContactStepOnboardingContent.init.js","webpack://komponentbibliotek/./Frontend/src/components/DocumentArchive/DocumentArchive.init.js","webpack://komponentbibliotek/./Frontend/src/components/DynamicDocumentList/DynamicDocumentList.init.js","webpack://komponentbibliotek/./Frontend/src/components/DynamicTable/DynamicTable.init.js","webpack://komponentbibliotek/./Frontend/src/components/FilterTabs/FilterTabs.init.js","webpack://komponentbibliotek/./Frontend/src/components/GoogleMapsWithMarkers/GoogleMapsWithMarkers.init.js","webpack://komponentbibliotek/./Frontend/src/components/InvestmentFundTable/InvestmentFundTable.init.js","webpack://komponentbibliotek/./Frontend/src/components/JobPostingsTable/JobPostingsTable.init.js","webpack://komponentbibliotek/./Frontend/src/components/MultiSelectDropdown/MultiSelectDropdown.init.js","webpack://komponentbibliotek/./Frontend/src/components/SearchInputField/SearchInputField.init.js","webpack://komponentbibliotek/./Frontend/src/components/SearchOverlay/SearchOverlay.init.js","webpack://komponentbibliotek/./Frontend/src/components/SendCalculation/SendCalculation.init.js","webpack://komponentbibliotek/./Frontend/src/components/SendCalculationStepContent/SendCalculationStepContent.init.js","webpack://komponentbibliotek/./Frontend/src/components/SiteSearching/SiteSearching.init.js","webpack://komponentbibliotek/./Frontend/src/components/SiteSearchingResult/SiteSearchingResult.init.js","webpack://komponentbibliotek/./Frontend/src/components/StickyBox/StickyBox.init.js","webpack://komponentbibliotek/./Frontend/src/components/TheForms/TheForms.init.js","webpack://komponentbibliotek/./Frontend/src/components/ThemeSwitch/ThemeSwitch.init.js","webpack://komponentbibliotek/./Frontend/src/components/Tooltip/Tooltip.init.js","webpack://komponentbibliotek/./Frontend/src/index.js","webpack://komponentbibliotek/./Frontend/src/store/index.js","webpack://komponentbibliotek/./Frontend/src/store/modules/store.main.js","webpack://komponentbibliotek/./Frontend/src/store/modules/store.menu.js"],"sourcesContent":["/*\r\n* FileSaver.js\r\n* A saveAs() FileSaver implementation.\r\n*\r\n* By Eli Grey, http://eligrey.com\r\n*\r\n* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\r\n* source : http://purl.eligrey.com/github/FileSaver.js\r\n*/\r\n\r\n// The one and only way of getting global scope in all environments\r\n// https://stackoverflow.com/q/3277182/1008999\r\nvar _global = typeof window === 'object' && window.window === window\r\n ? window : typeof self === 'object' && self.self === self\r\n ? self : typeof global === 'object' && global.global === global\r\n ? global\r\n : this\r\n\r\nfunction bom (blob, opts) {\r\n if (typeof opts === 'undefined') opts = { autoBom: false }\r\n else if (typeof opts !== 'object') {\r\n console.warn('Deprecated: Expected third argument to be a object')\r\n opts = { autoBom: !opts }\r\n }\r\n\r\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\r\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\r\n if (opts.autoBom && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\r\n return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })\r\n }\r\n return blob\r\n}\r\n\r\nfunction download (url, name, opts) {\r\n var xhr = new XMLHttpRequest()\r\n xhr.open('GET', url)\r\n xhr.responseType = 'blob'\r\n xhr.onload = function () {\r\n saveAs(xhr.response, name, opts)\r\n }\r\n xhr.onerror = function () {\r\n console.error('could not download file')\r\n }\r\n xhr.send()\r\n}\r\n\r\nfunction corsEnabled (url) {\r\n var xhr = new XMLHttpRequest()\r\n // use sync to avoid popup blocker\r\n xhr.open('HEAD', url, false)\r\n try {\r\n xhr.send()\r\n } catch (e) {}\r\n return xhr.status >= 200 && xhr.status <= 299\r\n}\r\n\r\n// `a.click()` doesn't work for all browsers (#465)\r\nfunction click (node) {\r\n try {\r\n node.dispatchEvent(new MouseEvent('click'))\r\n } catch (e) {\r\n var evt = document.createEvent('MouseEvents')\r\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,\r\n 20, false, false, false, false, 0, null)\r\n node.dispatchEvent(evt)\r\n }\r\n}\r\n\r\n// Detect WebView inside a native macOS app by ruling out all browsers\r\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\r\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\r\nvar isMacOSWebView = _global.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent)\r\n\r\nvar saveAs = _global.saveAs || (\r\n // probably in some web worker\r\n (typeof window !== 'object' || window !== _global)\r\n ? function saveAs () { /* noop */ }\r\n\r\n // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView\r\n : ('download' in HTMLAnchorElement.prototype && !isMacOSWebView)\r\n ? function saveAs (blob, name, opts) {\r\n var URL = _global.URL || _global.webkitURL\r\n // Namespace is used to prevent conflict w/ Chrome Poper Blocker extension (Issue #561)\r\n var a = document.createElementNS('http://www.w3.org/1999/xhtml', 'a')\r\n name = name || blob.name || 'download'\r\n\r\n a.download = name\r\n a.rel = 'noopener' // tabnabbing\r\n\r\n // TODO: detect chrome extensions & packaged apps\r\n // a.target = '_blank'\r\n\r\n if (typeof blob === 'string') {\r\n // Support regular links\r\n a.href = blob\r\n if (a.origin !== location.origin) {\r\n corsEnabled(a.href)\r\n ? download(blob, name, opts)\r\n : click(a, a.target = '_blank')\r\n } else {\r\n click(a)\r\n }\r\n } else {\r\n // Support blobs\r\n a.href = URL.createObjectURL(blob)\r\n setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s\r\n setTimeout(function () { click(a) }, 0)\r\n }\r\n }\r\n\r\n // Use msSaveOrOpenBlob as a second approach\r\n : 'msSaveOrOpenBlob' in navigator\r\n ? function saveAs (blob, name, opts) {\r\n name = name || blob.name || 'download'\r\n\r\n if (typeof blob === 'string') {\r\n if (corsEnabled(blob)) {\r\n download(blob, name, opts)\r\n } else {\r\n var a = document.createElement('a')\r\n a.href = blob\r\n a.target = '_blank'\r\n setTimeout(function () { click(a) })\r\n }\r\n } else {\r\n navigator.msSaveOrOpenBlob(bom(blob, opts), name)\r\n }\r\n }\r\n\r\n // Fallback to using FileReader and a popup\r\n : function saveAs (blob, name, opts, popup) {\r\n // Open a popup immediately do go around popup blocker\r\n // Mostly only available on user interaction and the fileReader is async so...\r\n popup = popup || open('', '_blank')\r\n if (popup) {\r\n popup.document.title =\r\n popup.document.body.innerText = 'downloading...'\r\n }\r\n\r\n if (typeof blob === 'string') return download(blob, name, opts)\r\n\r\n var force = blob.type === 'application/octet-stream'\r\n var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari\r\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent)\r\n\r\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) && typeof FileReader !== 'undefined') {\r\n // Safari doesn't allow downloading of blob URLs\r\n var reader = new FileReader()\r\n reader.onloadend = function () {\r\n var url = reader.result\r\n url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, 'data:attachment/file;')\r\n if (popup) popup.location.href = url\r\n else location = url\r\n popup = null // reverse-tabnabbing #460\r\n }\r\n reader.readAsDataURL(blob)\r\n } else {\r\n var URL = _global.URL || _global.webkitURL\r\n var url = URL.createObjectURL(blob)\r\n if (popup) popup.location = url\r\n else location.href = url\r\n popup = null // reverse-tabnabbing #460\r\n setTimeout(function () { URL.revokeObjectURL(url) }, 4E4) // 40s\r\n }\r\n }\r\n)\r\n\r\n_global.saveAs = saveAs.saveAs = saveAs\r\n\r\nif (typeof module !== 'undefined') {\r\n module.exports = saveAs;\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// runtime helper for setting properties on components\n// in a tree-shakable way\nexports.default = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\n","// 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","// define getter functions for harmony exports\n__webpack_require__.d = (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__.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 = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (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};","function makeMap(str, expectsLowerCase) {\n const map = /* @__PURE__ */ Object.create(null);\n const list = str.split(\",\");\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val];\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst onRE = /^on[^a-z]/;\nconst isOn = (key) => onRE.test(key);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction((str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n});\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n};\nconst def = (obj, key, value) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\n\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `HYDRATE_EVENTS`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = \"\";\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === \"number\") {\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>|<!--|-->|--!>|<!-$/g;\nfunction escapeHtmlComment(src) {\n return src.replace(commentStripRE, \"\");\n}\n\nfunction looseCompareArrays(a, b) {\n if (a.length !== b.length)\n return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n return equal;\n}\nfunction looseEqual(a, b) {\n if (a === b)\n return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (val && val.__v_isRef) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => {\n entries[`${key} =>`] = val2;\n return entries;\n }, {})\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()]\n };\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, genPropsAccessExp, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownSvgAttr, isMap, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","import { extend, isArray, isSymbol, isMap, isIntegerKey, hasOwn, hasChanged, isObject, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nconst createDep = (effects) => {\n const dep = new Set(effects);\n dep.w = 0;\n dep.n = 0;\n return dep;\n};\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\nconst initDepMarkers = ({ deps }) => {\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].w |= trackOpBit;\n }\n }\n};\nconst finalizeDepMarkers = (effect) => {\n const { deps } = effect;\n if (deps.length) {\n let ptr = 0;\n for (let i = 0; i < deps.length; i++) {\n const dep = deps[i];\n if (wasTracked(dep) && !newTracked(dep)) {\n dep.delete(effect);\n } else {\n deps[ptr++] = dep;\n }\n dep.w &= ~trackOpBit;\n dep.n &= ~trackOpBit;\n }\n deps.length = ptr;\n }\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nlet effectTrackDepth = 0;\nlet trackOpBit = 1;\nconst maxMarkerBits = 30;\nlet activeEffect;\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nclass ReactiveEffect {\n constructor(fn, scheduler = null, scope) {\n this.fn = fn;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n this.parent = void 0;\n recordEffectScope(this, scope);\n }\n run() {\n if (!this.active) {\n return this.fn();\n }\n let parent = activeEffect;\n let lastShouldTrack = shouldTrack;\n while (parent) {\n if (parent === this) {\n return;\n }\n parent = parent.parent;\n }\n try {\n this.parent = activeEffect;\n activeEffect = this;\n shouldTrack = true;\n trackOpBit = 1 << ++effectTrackDepth;\n if (effectTrackDepth <= maxMarkerBits) {\n initDepMarkers(this);\n } else {\n cleanupEffect(this);\n }\n return this.fn();\n } finally {\n if (effectTrackDepth <= maxMarkerBits) {\n finalizeDepMarkers(this);\n }\n trackOpBit = 1 << --effectTrackDepth;\n activeEffect = this.parent;\n shouldTrack = lastShouldTrack;\n this.parent = void 0;\n if (this.deferStop) {\n this.stop();\n }\n }\n }\n stop() {\n if (activeEffect === this) {\n this.deferStop = true;\n } else if (this.active) {\n cleanupEffect(this);\n if (this.onStop) {\n this.onStop();\n }\n this.active = false;\n }\n }\n}\nfunction cleanupEffect(effect2) {\n const { deps } = effect2;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect2);\n }\n deps.length = 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn);\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep());\n }\n const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { effect: activeEffect, target, type, key } : void 0;\n trackEffects(dep, eventInfo);\n }\n}\nfunction trackEffects(dep, debuggerEventExtraInfo) {\n let shouldTrack2 = false;\n if (effectTrackDepth <= maxMarkerBits) {\n if (!newTracked(dep)) {\n dep.n |= trackOpBit;\n shouldTrack2 = !wasTracked(dep);\n }\n } else {\n shouldTrack2 = !dep.has(activeEffect);\n }\n if (shouldTrack2) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if (!!(process.env.NODE_ENV !== \"production\") && activeEffect.onTrack) {\n activeEffect.onTrack(\n extend(\n {\n effect: activeEffect\n },\n debuggerEventExtraInfo\n )\n );\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { target, type, key, newValue, oldValue, oldTarget } : void 0;\n if (deps.length === 1) {\n if (deps[0]) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(deps[0], eventInfo);\n } else {\n triggerEffects(deps[0]);\n }\n }\n } else {\n const effects = [];\n for (const dep of deps) {\n if (dep) {\n effects.push(...dep);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(createDep(effects), eventInfo);\n } else {\n triggerEffects(createDep(effects));\n }\n }\n}\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\n const effects = isArray(dep) ? dep : [...dep];\n for (const effect2 of effects) {\n if (effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n for (const effect2 of effects) {\n if (!effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n}\nfunction triggerEffect(effect2, debuggerEventExtraInfo) {\n if (effect2 !== activeEffect || effect2.allowRecurse) {\n if (!!(process.env.NODE_ENV !== \"production\") && effect2.onTrigger) {\n effect2.onTrigger(extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n if (effect2.scheduler) {\n effect2.scheduler();\n } else {\n effect2.run();\n }\n }\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n const res = toRaw(this)[key].apply(this, args);\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _shallow = false) {\n this._isReadonly = _isReadonly;\n this._shallow = _shallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, shallow = this._shallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return shallow;\n } else if (key === \"__v_raw\" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {\n return target;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(shallow = false) {\n super(false, shallow);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\n return false;\n }\n if (!this._shallow) {\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(shallow = false) {\n super(true, shallow);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\n true\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(\n method,\n false,\n false\n );\n readonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n false\n );\n shallowInstrumentations2[method] = createIterableMethod(\n method,\n false,\n true\n );\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n console.warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n def(value, \"__v_skip\", true);\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref2) {\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n trackEffects(ref2.dep || (ref2.dep = createDep()), {\n target: ref2,\n type: \"get\",\n key: \"value\"\n });\n } else {\n trackEffects(ref2.dep || (ref2.dep = createDep()));\n }\n }\n}\nfunction triggerRefValue(ref2, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(dep, {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n });\n } else {\n triggerEffects(dep);\n }\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this._dirty = true;\n this.effect = new ReactiveEffect(getter, () => {\n if (!this._dirty) {\n this._dirty = true;\n triggerRefValue(this);\n }\n });\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n trackRefValue(self);\n if (self._dirty || !self._cacheable) {\n self._dirty = false;\n self._value = self.effect.run();\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n console.warn(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst tick = /* @__PURE__ */ Promise.resolve();\nconst queue = [];\nlet queued = false;\nconst scheduler = (fn) => {\n queue.push(fn);\n if (!queued) {\n queued = true;\n tick.then(flush);\n }\n};\nconst flush = () => {\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n queued = false;\n};\nclass DeferredComputedRefImpl {\n constructor(getter) {\n this.dep = void 0;\n this._dirty = true;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = true;\n let compareTarget;\n let hasCompareTarget = false;\n let scheduled = false;\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\n if (this.dep) {\n if (computedTrigger) {\n compareTarget = this._value;\n hasCompareTarget = true;\n } else if (!scheduled) {\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\n scheduled = true;\n hasCompareTarget = false;\n scheduler(() => {\n if (this.effect.active && this._get() !== valueToCompare) {\n triggerRefValue(this);\n }\n scheduled = false;\n });\n }\n for (const e of this.dep) {\n if (e.computed instanceof DeferredComputedRefImpl) {\n e.scheduler(\n true\n /* computedTrigger */\n );\n }\n }\n }\n this._dirty = true;\n });\n this.effect.computed = this;\n }\n _get() {\n if (this._dirty) {\n this._dirty = false;\n return this._value = this.effect.run();\n }\n return this._value;\n }\n get value() {\n trackRefValue(this);\n return toRaw(this)._get();\n }\n}\nfunction deferredComputed(getter) {\n return new DeferredComputedRefImpl(getter);\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, capitalize, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, isBuiltInDirective, invokeArrayFns, isRegExp, isGloballyAllowed, NO, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn(msg, ...args) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings[type] : type;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)];\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n warn(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Set();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.add(oldComp);\n }\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n } else if (instance.parent) {\n queueJob(instance.parent.update);\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n }\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(\n normalizeClassComponent(instance.type)\n );\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const {\n type: Component,\n vnode,\n proxy,\n withProxy,\n props,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n result = normalizeVNode(\n render.call(\n proxyToUse,\n proxyToUse,\n renderCache,\n props,\n setupState,\n data,\n ctx\n )\n );\n fallthroughAttrs = attrs;\n } else {\n const render2 = Component;\n if (!!(process.env.NODE_ENV !== \"production\") && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(\n render2.length > 1 ? render2(\n props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n props,\n null\n /* we know it doesn't need it */\n )\n );\n fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);\n }\n } catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1);\n result = createVNode(Comment);\n }\n let root = result;\n let setRoot = void 0;\n if (!!(process.env.NODE_ENV !== \"production\") && result.patchFlag > 0 && result.patchFlag & 2048) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 | 6)) {\n if (propsOptions && keys.some(isModelListener)) {\n fallthroughAttrs = filterModelListeners(\n fallthroughAttrs,\n propsOptions\n );\n }\n root = cloneVNode(root, fallthroughAttrs);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n if (!isModelListener(key)) {\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n } else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn(\n `Extraneous non-props attributes (${extraAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`\n );\n }\n if (eventAttrs.length) {\n warn(\n `Extraneous non-emits event listeners (${eventAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`\n );\n }\n }\n }\n }\n if (vnode.dirs) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n if (vnode.transition) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn(\n `Component inside <Transition> renders non-element root node that cannot be animated.`\n );\n }\n root.transition = vnode.transition;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && setRoot) {\n setRoot(root);\n } else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren);\n if (!childRoot) {\n return [vnode, void 0];\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n } else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n if (child.type !== Comment || child.children === \"v-if\") {\n if (singleRoot) {\n return;\n } else {\n singleRoot = child;\n }\n }\n } else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === \"class\" || key === \"style\" || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n if (!!(process.env.NODE_ENV !== \"production\") && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024) {\n return true;\n }\n if (patchFlag & 16) {\n if (!prevProps) {\n return !!nextProps;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n } else if (patchFlag & 8) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n } else {\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el) {\n while (parent && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n /* do not include inferred name to avoid breaking existing code */\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nconst isSuspense = (type) => type.__isSuspense;\nconst SuspenseImpl = {\n name: \"Suspense\",\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\nconst Suspense = SuspenseImpl ;\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n const {\n p: patch,\n o: { createElement }\n } = rendererInternals;\n const hiddenContainer = createElement(\"div\");\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n container,\n hiddenContainer,\n anchor,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n patch(\n null,\n suspense.pendingBranch = vnode.ssContent,\n hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds\n );\n if (suspense.deps > 0) {\n triggerEvent(vnode, \"onPending\");\n triggerEvent(vnode, \"onFallback\");\n patch(\n null,\n vnode.ssFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = n2.suspense = n1.suspense;\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n patch(\n pendingBranch,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else {\n suspense.pendingId++;\n if (isHydrating) {\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n } else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n suspense.deps = 0;\n suspense.effects.length = 0;\n suspense.hiddenContainer = createElement(\"div\");\n if (isInFallback) {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n suspense.resolve(true);\n } else {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n } else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n } else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n `<Suspense> is an experimental feature and its API will likely change.`\n );\n }\n const {\n p: patch,\n m: move,\n um: unmount,\n n: next,\n o: { parentNode, remove }\n } = rendererInternals;\n let parentSuspenseId;\n const isSuspensible = isVNodeSuspensible(vnode);\n if (isSuspensible) {\n if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {\n parentSuspenseId = parentSuspense.pendingId;\n parentSuspense.deps++;\n }\n }\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: true,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false, sync = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(\n `suspense.resolve() is called without a pending branch.`\n );\n }\n if (suspense.isUnmounted) {\n throw new Error(\n `suspense.resolve() is called on an already unmounted suspense boundary.`\n );\n }\n }\n const {\n vnode: vnode2,\n activeBranch,\n pendingBranch,\n pendingId,\n effects,\n parentComponent: parentComponent2,\n container: container2\n } = suspense;\n let delayEnter = false;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(pendingBranch, container2, anchor2, 0);\n queuePostFlushCb(effects);\n }\n };\n }\n let { anchor: anchor2 } = suspense;\n if (activeBranch) {\n anchor2 = next(activeBranch);\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor2, 0);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n if (!hasUnresolvedAncestor && !delayEnter) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0 && !sync) {\n parentSuspense.resolve();\n }\n }\n }\n triggerEvent(vnode2, \"onResolve\");\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, isSVG: isSVG2 } = suspense;\n triggerEvent(vnode2, \"onFallback\");\n const anchor2 = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n patch(\n null,\n fallbackVNode,\n container2,\n anchor2,\n parentComponent2,\n null,\n // fallback tree will not have suspense context\n isSVG2,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n unmount(\n activeBranch,\n parentComponent2,\n null,\n // no suspense so unmount hooks fire now\n true\n // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container2, anchor2, type) {\n suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);\n suspense.container = container2;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance.asyncDep.catch((err) => {\n handleError(err, instance, 0);\n }).then((asyncSetupResult) => {\n if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {\n return;\n }\n instance.asyncResolved = true;\n const { vnode: vnode2 } = instance;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(vnode2);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n vnode2.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(\n instance,\n vnode2,\n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el),\n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree),\n suspense,\n isSVG,\n optimized\n );\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode2.el);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense2, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(\n suspense.activeBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n if (suspense.pendingBranch) {\n unmount(\n suspense.pendingBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n document.createElement(\"div\"),\n null,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n /* hydrating */\n );\n const result = hydrateNode(\n node,\n suspense.pendingBranch = vnode.ssContent,\n parentComponent,\n suspense,\n slotScopeIds,\n optimized\n );\n if (suspense.deps === 0) {\n suspense.resolve(false, true);\n }\n return result;\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32;\n vnode.ssContent = normalizeSuspenseSlot(\n isSlotChildren ? children.default : children\n );\n vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if (!!(process.env.NODE_ENV !== \"production\") && !singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {\n warn(`<Suspense> slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter((c) => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n } else {\n suspense.effects.push(fn);\n }\n } else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n const el = vnode.el = branch.el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n var _a;\n return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;\n}\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\n var _a;\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = getCurrentScope() === ((_a = currentInstance) == null ? void 0 : _a.scope) ? currentInstance : null;\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow$1(source);\n } else if (isReactive(source)) {\n getter = () => source;\n deep = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow$1(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return traverse(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (instance && instance.isUnmounted) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n };\n };\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n onCleanup = NOOP;\n if (!cb) {\n getter();\n } else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3, [\n getter(),\n isMultiSource ? [] : void 0,\n onCleanup\n ]);\n }\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, scheduler);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n const unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n remove(instance.scope.effects, effect);\n }\n };\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n } else {\n unsetCurrentInstance();\n }\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, seen) {\n if (!isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n const internalInstance = currentRenderingInstance;\n if (internalInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(internalInstance) || internalInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn(\n \"<transition> can only be used on a single element or component. Use <transition-group> for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\"))\n break;\n }\n }\n }\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn(`invalid <transition> mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === void 0) {\n prevTransitionKey = key;\n } else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\") {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (instance.update.active !== false) {\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1))\n done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n return resolveTransitionHooks(vnode2, props, state, instance);\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode) ? vnode.children ? vnode.children[0] : void 0 : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128)\n keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n /* do not throw in dev if user provided error component */\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n queueJob(instance.parent.update);\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n isSVG,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && (!filter || !filter(name))) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (!current || !isSameVNodeType(cached, current)) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n unsetCurrentInstance();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, \"\"));\n warn(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n if (isArray(source) || isString(source)) {\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res)\n res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {\n if (name !== \"default\")\n props.name = name;\n return createVNode(\"slot\", props, fallback && fallback());\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const rendered = createBlock(\n Fragment,\n {\n key: props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key || `_${name}`\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child))\n return true;\n if (child.type === Comment)\n return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => queueJob(i.update)),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance, \"get\", key);\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn(`Cannot mutate <script setup> binding \"${key}\" from Options API.`);\n return false;\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n data[key] = value;\n return true;\n } else if (hasOwn(instance.props, key)) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`Attempting to mutate prop \"${key}\". Props are readonly.`);\n return false;\n }\n if (key[0] === \"$\" && key.slice(1) in instance) {\n !!(process.env.NODE_ENV !== \"production\") && warn(\n `Attempting to mutate public property \"${key}\". Properties starting with $ are reserved and readonly.`\n );\n return false;\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && key in instance.appContext.config.globalProperties) {\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n value\n });\n } else {\n ctx[key] = value;\n }\n }\n return true;\n },\n has({\n _: { data, setupState, accessCache, ctx, appContext, propsOptions }\n }, key) {\n let normalizedProps;\n return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key);\n },\n defineProperty(target, key, descriptor) {\n if (descriptor.get != null) {\n target._.accessCache[key] = 0;\n } else if (hasOwn(descriptor, \"value\")) {\n this.set(target, key, descriptor.value, null);\n }\n return Reflect.defineProperty(target, key, descriptor);\n }\n};\nif (!!(process.env.NODE_ENV !== \"production\") && true) {\n PublicInstanceProxyHandlers.ownKeys = (target) => {\n warn(\n `Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`\n );\n return Reflect.ownKeys(target);\n };\n}\nconst RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend(\n {},\n PublicInstanceProxyHandlers,\n {\n get(target, key) {\n if (key === Symbol.unscopables) {\n return;\n }\n return PublicInstanceProxyHandlers.get(target, key, target);\n },\n has(_, key) {\n const has = key[0] !== \"_\" && !isGloballyAllowed(key);\n if (!!(process.env.NODE_ENV !== \"production\") && !has && PublicInstanceProxyHandlers.has(_, key)) {\n warn(\n `Property ${JSON.stringify(\n key\n )} should not start with _ which is a reserved prefix for Vue internals.`\n );\n }\n return has;\n }\n }\n);\nfunction createDevRenderContext(instance) {\n const target = {};\n Object.defineProperty(target, `_`, {\n configurable: true,\n enumerable: false,\n get: () => instance\n });\n Object.keys(publicPropertiesMap).forEach((key) => {\n Object.defineProperty(target, key, {\n configurable: true,\n enumerable: false,\n get: () => publicPropertiesMap[key](instance),\n // intercepted by the proxy so no need for implementation,\n // but needed to prevent set errors\n set: NOOP\n });\n });\n return target;\n}\nfunction exposePropsOnRenderContext(instance) {\n const {\n ctx,\n propsOptions: [propsOptions]\n } = instance;\n if (propsOptions) {\n Object.keys(propsOptions).forEach((key) => {\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => instance.props[key],\n set: NOOP\n });\n });\n }\n}\nfunction exposeSetupStateOnRenderContext(instance) {\n const { ctx, setupState } = instance;\n Object.keys(toRaw(setupState)).forEach((key) => {\n if (!setupState.__isScriptSetup) {\n if (isReservedPrefix(key[0])) {\n warn(\n `setup() return property ${JSON.stringify(\n key\n )} should not start with \"$\" or \"_\" which are reserved prefixes for Vue internals.`\n );\n return;\n }\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => setupState[key],\n set: NOOP\n });\n }\n });\n}\n\nconst warnRuntimeUsage = (method) => warn(\n `${method}() is a compiler-hint helper that is only usable inside <script setup> of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.`\n);\nfunction defineProps() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineProps`);\n }\n return null;\n}\nfunction defineEmits() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineEmits`);\n }\n return null;\n}\nfunction defineExpose(exposed) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineExpose`);\n }\n}\nfunction defineOptions(options) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineOptions`);\n }\n}\nfunction defineSlots() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineSlots`);\n }\n return null;\n}\nfunction defineModel() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(\"defineModel\");\n }\n}\nfunction withDefaults(props, defaults) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`withDefaults`);\n }\n return null;\n}\nfunction useSlots() {\n return getContext().slots;\n}\nfunction useAttrs() {\n return getContext().attrs;\n}\nfunction useModel(props, name, options) {\n const i = getCurrentInstance();\n if (!!(process.env.NODE_ENV !== \"production\") && !i) {\n warn(`useModel() called without active instance.`);\n return ref();\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !i.propsOptions[0][name]) {\n warn(`useModel() called with prop \"${name}\" which is not declared.`);\n return ref();\n }\n if (options && options.local) {\n const proxy = ref(props[name]);\n watch(\n () => props[name],\n (v) => proxy.value = v\n );\n watch(proxy, (value) => {\n if (value !== props[name]) {\n i.emit(`update:${name}`, value);\n }\n });\n return proxy;\n } else {\n return {\n __v_isRef: true,\n get value() {\n return props[name];\n },\n set value(value) {\n i.emit(`update:${name}`, value);\n }\n };\n }\n}\nfunction getContext() {\n const i = getCurrentInstance();\n if (!!(process.env.NODE_ENV !== \"production\") && !i) {\n warn(`useContext() called without active instance.`);\n }\n return i.setupContext || (i.setupContext = createSetupContext(i));\n}\nfunction normalizePropsOrEmits(props) {\n return isArray(props) ? props.reduce(\n (normalized, p) => (normalized[p] = null, normalized),\n {}\n ) : props;\n}\nfunction mergeDefaults(raw, defaults) {\n const props = normalizePropsOrEmits(raw);\n for (const key in defaults) {\n if (key.startsWith(\"__skip\"))\n continue;\n let opt = props[key];\n if (opt) {\n if (isArray(opt) || isFunction(opt)) {\n opt = props[key] = { type: opt, default: defaults[key] };\n } else {\n opt.default = defaults[key];\n }\n } else if (opt === null) {\n opt = props[key] = { default: defaults[key] };\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`props default key \"${key}\" has no corresponding declaration.`);\n }\n if (opt && defaults[`__skip_${key}`]) {\n opt.skipFactory = true;\n }\n }\n return props;\n}\nfunction mergeModels(a, b) {\n if (!a || !b)\n return a || b;\n if (isArray(a) && isArray(b))\n return a.concat(b);\n return extend({}, normalizePropsOrEmits(a), normalizePropsOrEmits(b));\n}\nfunction createPropsRestProxy(props, excludedKeys) {\n const ret = {};\n for (const key in props) {\n if (!excludedKeys.includes(key)) {\n Object.defineProperty(ret, key, {\n enumerable: true,\n get: () => props[key]\n });\n }\n }\n return ret;\n}\nfunction withAsyncContext(getAwaitable) {\n const ctx = getCurrentInstance();\n if (!!(process.env.NODE_ENV !== \"production\") && !ctx) {\n warn(\n `withAsyncContext called without active current instance. This is likely a bug.`\n );\n }\n let awaitable = getAwaitable();\n unsetCurrentInstance();\n if (isPromise(awaitable)) {\n awaitable = awaitable.catch((e) => {\n setCurrentInstance(ctx);\n throw e;\n });\n }\n return [awaitable, () => setCurrentInstance(ctx)];\n}\n\nfunction createDuplicateChecker() {\n const cache = /* @__PURE__ */ Object.create(null);\n return (type, key) => {\n if (cache[key]) {\n warn(`${type} property \"${key}\" is already defined in ${cache[key]}.`);\n } else {\n cache[key] = type;\n }\n };\n}\nlet shouldCacheAccess = true;\nfunction applyOptions(instance) {\n const options = resolveMergedOptions(instance);\n const publicThis = instance.proxy;\n const ctx = instance.ctx;\n shouldCacheAccess = false;\n if (options.beforeCreate) {\n callHook(options.beforeCreate, instance, \"bc\");\n }\n const {\n // state\n data: dataOptions,\n computed: computedOptions,\n methods,\n watch: watchOptions,\n provide: provideOptions,\n inject: injectOptions,\n // lifecycle\n created,\n beforeMount,\n mounted,\n beforeUpdate,\n updated,\n activated,\n deactivated,\n beforeDestroy,\n beforeUnmount,\n destroyed,\n unmounted,\n render,\n renderTracked,\n renderTriggered,\n errorCaptured,\n serverPrefetch,\n // public API\n expose,\n inheritAttrs,\n // assets\n components,\n directives,\n filters\n } = options;\n const checkDuplicateProperties = !!(process.env.NODE_ENV !== \"production\") ? createDuplicateChecker() : null;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const [propsOptions] = instance.propsOptions;\n if (propsOptions) {\n for (const key in propsOptions) {\n checkDuplicateProperties(\"Props\" /* PROPS */, key);\n }\n }\n }\n if (injectOptions) {\n resolveInjections(injectOptions, ctx, checkDuplicateProperties);\n }\n if (methods) {\n for (const key in methods) {\n const methodHandler = methods[key];\n if (isFunction(methodHandler)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n Object.defineProperty(ctx, key, {\n value: methodHandler.bind(publicThis),\n configurable: true,\n enumerable: true,\n writable: true\n });\n } else {\n ctx[key] = methodHandler.bind(publicThis);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n checkDuplicateProperties(\"Methods\" /* METHODS */, key);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Method \"${key}\" has type \"${typeof methodHandler}\" in the component definition. Did you reference the function correctly?`\n );\n }\n }\n }\n if (dataOptions) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(dataOptions)) {\n warn(\n `The data option must be a function. Plain object usage is no longer supported.`\n );\n }\n const data = dataOptions.call(publicThis, publicThis);\n if (!!(process.env.NODE_ENV !== \"production\") && isPromise(data)) {\n warn(\n `data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`\n );\n }\n if (!isObject(data)) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`data() should return an object.`);\n } else {\n instance.data = reactive(data);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (const key in data) {\n checkDuplicateProperties(\"Data\" /* DATA */, key);\n if (!isReservedPrefix(key[0])) {\n Object.defineProperty(ctx, key, {\n configurable: true,\n enumerable: true,\n get: () => data[key],\n set: NOOP\n });\n }\n }\n }\n }\n }\n shouldCacheAccess = true;\n if (computedOptions) {\n for (const key in computedOptions) {\n const opt = computedOptions[key];\n const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;\n if (!!(process.env.NODE_ENV !== \"production\") && get === NOOP) {\n warn(`Computed property \"${key}\" has no getter.`);\n }\n const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : !!(process.env.NODE_ENV !== \"production\") ? () => {\n warn(\n `Write operation failed: computed property \"${key}\" is readonly.`\n );\n } : NOOP;\n const c = computed({\n get,\n set\n });\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => c.value,\n set: (v) => c.value = v\n });\n if (!!(process.env.NODE_ENV !== \"production\")) {\n checkDuplicateProperties(\"Computed\" /* COMPUTED */, key);\n }\n }\n }\n if (watchOptions) {\n for (const key in watchOptions) {\n createWatcher(watchOptions[key], ctx, publicThis, key);\n }\n }\n if (provideOptions) {\n const provides = isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions;\n Reflect.ownKeys(provides).forEach((key) => {\n provide(key, provides[key]);\n });\n }\n if (created) {\n callHook(created, instance, \"c\");\n }\n function registerLifecycleHook(register, hook) {\n if (isArray(hook)) {\n hook.forEach((_hook) => register(_hook.bind(publicThis)));\n } else if (hook) {\n register(hook.bind(publicThis));\n }\n }\n registerLifecycleHook(onBeforeMount, beforeMount);\n registerLifecycleHook(onMounted, mounted);\n registerLifecycleHook(onBeforeUpdate, beforeUpdate);\n registerLifecycleHook(onUpdated, updated);\n registerLifecycleHook(onActivated, activated);\n registerLifecycleHook(onDeactivated, deactivated);\n registerLifecycleHook(onErrorCaptured, errorCaptured);\n registerLifecycleHook(onRenderTracked, renderTracked);\n registerLifecycleHook(onRenderTriggered, renderTriggered);\n registerLifecycleHook(onBeforeUnmount, beforeUnmount);\n registerLifecycleHook(onUnmounted, unmounted);\n registerLifecycleHook(onServerPrefetch, serverPrefetch);\n if (isArray(expose)) {\n if (expose.length) {\n const exposed = instance.exposed || (instance.exposed = {});\n expose.forEach((key) => {\n Object.defineProperty(exposed, key, {\n get: () => publicThis[key],\n set: (val) => publicThis[key] = val\n });\n });\n } else if (!instance.exposed) {\n instance.exposed = {};\n }\n }\n if (render && instance.render === NOOP) {\n instance.render = render;\n }\n if (inheritAttrs != null) {\n instance.inheritAttrs = inheritAttrs;\n }\n if (components)\n instance.components = components;\n if (directives)\n instance.directives = directives;\n}\nfunction resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) {\n if (isArray(injectOptions)) {\n injectOptions = normalizeInject(injectOptions);\n }\n for (const key in injectOptions) {\n const opt = injectOptions[key];\n let injected;\n if (isObject(opt)) {\n if (\"default\" in opt) {\n injected = inject(\n opt.from || key,\n opt.default,\n true\n /* treat default function as factory */\n );\n } else {\n injected = inject(opt.from || key);\n }\n } else {\n injected = inject(opt);\n }\n if (isRef(injected)) {\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => injected.value,\n set: (v) => injected.value = v\n });\n } else {\n ctx[key] = injected;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n checkDuplicateProperties(\"Inject\" /* INJECT */, key);\n }\n }\n}\nfunction callHook(hook, instance, type) {\n callWithAsyncErrorHandling(\n isArray(hook) ? hook.map((h) => h.bind(instance.proxy)) : hook.bind(instance.proxy),\n instance,\n type\n );\n}\nfunction createWatcher(raw, ctx, publicThis, key) {\n const getter = key.includes(\".\") ? createPathGetter(publicThis, key) : () => publicThis[key];\n if (isString(raw)) {\n const handler = ctx[raw];\n if (isFunction(handler)) {\n watch(getter, handler);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`Invalid watch handler specified by key \"${raw}\"`, handler);\n }\n } else if (isFunction(raw)) {\n watch(getter, raw.bind(publicThis));\n } else if (isObject(raw)) {\n if (isArray(raw)) {\n raw.forEach((r) => createWatcher(r, ctx, publicThis, key));\n } else {\n const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];\n if (isFunction(handler)) {\n watch(getter, handler, raw);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`Invalid watch handler specified by key \"${raw.handler}\"`, handler);\n }\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`Invalid watch option: \"${key}\"`, raw);\n }\n}\nfunction resolveMergedOptions(instance) {\n const base = instance.type;\n const { mixins, extends: extendsOptions } = base;\n const {\n mixins: globalMixins,\n optionsCache: cache,\n config: { optionMergeStrategies }\n } = instance.appContext;\n const cached = cache.get(base);\n let resolved;\n if (cached) {\n resolved = cached;\n } else if (!globalMixins.length && !mixins && !extendsOptions) {\n {\n resolved = base;\n }\n } else {\n resolved = {};\n if (globalMixins.length) {\n globalMixins.forEach(\n (m) => mergeOptions(resolved, m, optionMergeStrategies, true)\n );\n }\n mergeOptions(resolved, base, optionMergeStrategies);\n }\n if (isObject(base)) {\n cache.set(base, resolved);\n }\n return resolved;\n}\nfunction mergeOptions(to, from, strats, asMixin = false) {\n const { mixins, extends: extendsOptions } = from;\n if (extendsOptions) {\n mergeOptions(to, extendsOptions, strats, true);\n }\n if (mixins) {\n mixins.forEach(\n (m) => mergeOptions(to, m, strats, true)\n );\n }\n for (const key in from) {\n if (asMixin && key === \"expose\") {\n !!(process.env.NODE_ENV !== \"production\") && warn(\n `\"expose\" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`\n );\n } else {\n const strat = internalOptionMergeStrats[key] || strats && strats[key];\n to[key] = strat ? strat(to[key], from[key]) : from[key];\n }\n }\n return to;\n}\nconst internalOptionMergeStrats = {\n data: mergeDataFn,\n props: mergeEmitsOrPropsOptions,\n emits: mergeEmitsOrPropsOptions,\n // objects\n methods: mergeObjectOptions,\n computed: mergeObjectOptions,\n // lifecycle\n beforeCreate: mergeAsArray,\n created: mergeAsArray,\n beforeMount: mergeAsArray,\n mounted: mergeAsArray,\n beforeUpdate: mergeAsArray,\n updated: mergeAsArray,\n beforeDestroy: mergeAsArray,\n beforeUnmount: mergeAsArray,\n destroyed: mergeAsArray,\n unmounted: mergeAsArray,\n activated: mergeAsArray,\n deactivated: mergeAsArray,\n errorCaptured: mergeAsArray,\n serverPrefetch: mergeAsArray,\n // assets\n components: mergeObjectOptions,\n directives: mergeObjectOptions,\n // watch\n watch: mergeWatchOptions,\n // provide / inject\n provide: mergeDataFn,\n inject: mergeInject\n};\nfunction mergeDataFn(to, from) {\n if (!from) {\n return to;\n }\n if (!to) {\n return from;\n }\n return function mergedDataFn() {\n return (extend)(\n isFunction(to) ? to.call(this, this) : to,\n isFunction(from) ? from.call(this, this) : from\n );\n };\n}\nfunction mergeInject(to, from) {\n return mergeObjectOptions(normalizeInject(to), normalizeInject(from));\n}\nfunction normalizeInject(raw) {\n if (isArray(raw)) {\n const res = {};\n for (let i = 0; i < raw.length; i++) {\n res[raw[i]] = raw[i];\n }\n return res;\n }\n return raw;\n}\nfunction mergeAsArray(to, from) {\n return to ? [...new Set([].concat(to, from))] : from;\n}\nfunction mergeObjectOptions(to, from) {\n return to ? extend(/* @__PURE__ */ Object.create(null), to, from) : from;\n}\nfunction mergeEmitsOrPropsOptions(to, from) {\n if (to) {\n if (isArray(to) && isArray(from)) {\n return [.../* @__PURE__ */ new Set([...to, ...from])];\n }\n return extend(\n /* @__PURE__ */ Object.create(null),\n normalizePropsOrEmits(to),\n normalizePropsOrEmits(from != null ? from : {})\n );\n } else {\n return from;\n }\n}\nfunction mergeWatchOptions(to, from) {\n if (!to)\n return from;\n if (!from)\n return to;\n const merged = extend(/* @__PURE__ */ Object.create(null), to);\n for (const key in from) {\n merged[key] = mergeAsArray(to[key], from[key]);\n }\n return merged;\n}\n\nfunction createAppContext() {\n return {\n app: null,\n config: {\n isNativeTag: NO,\n performance: false,\n globalProperties: {},\n optionMergeStrategies: {},\n errorHandler: void 0,\n warnHandler: void 0,\n compilerOptions: {}\n },\n mixins: [],\n components: {},\n directives: {},\n provides: /* @__PURE__ */ Object.create(null),\n optionsCache: /* @__PURE__ */ new WeakMap(),\n propsCache: /* @__PURE__ */ new WeakMap(),\n emitsCache: /* @__PURE__ */ new WeakMap()\n };\n}\nlet uid$1 = 0;\nfunction createAppAPI(render, hydrate) {\n return function createApp(rootComponent, rootProps = null) {\n if (!isFunction(rootComponent)) {\n rootComponent = extend({}, rootComponent);\n }\n if (rootProps != null && !isObject(rootProps)) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`root props passed to app.mount() must be an object.`);\n rootProps = null;\n }\n const context = createAppContext();\n if (!!(process.env.NODE_ENV !== \"production\")) {\n Object.defineProperty(context.config, \"unwrapInjectedRef\", {\n get() {\n return true;\n },\n set() {\n warn(\n `app.config.unwrapInjectedRef has been deprecated. 3.3 now always unwraps injected refs in Options API.`\n );\n }\n });\n }\n const installedPlugins = /* @__PURE__ */ new WeakSet();\n let isMounted = false;\n const app = context.app = {\n _uid: uid$1++,\n _component: rootComponent,\n _props: rootProps,\n _container: null,\n _context: context,\n _instance: null,\n version,\n get config() {\n return context.config;\n },\n set config(v) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `app.config cannot be replaced. Modify individual options instead.`\n );\n }\n },\n use(plugin, ...options) {\n if (installedPlugins.has(plugin)) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`Plugin has already been applied to target app.`);\n } else if (plugin && isFunction(plugin.install)) {\n installedPlugins.add(plugin);\n plugin.install(app, ...options);\n } else if (isFunction(plugin)) {\n installedPlugins.add(plugin);\n plugin(app, ...options);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `A plugin must either be a function or an object with an \"install\" function.`\n );\n }\n return app;\n },\n mixin(mixin) {\n if (__VUE_OPTIONS_API__) {\n if (!context.mixins.includes(mixin)) {\n context.mixins.push(mixin);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n \"Mixin has already been applied to target app\" + (mixin.name ? `: ${mixin.name}` : \"\")\n );\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Mixins are only available in builds supporting Options API\");\n }\n return app;\n },\n component(name, component) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateComponentName(name, context.config);\n }\n if (!component) {\n return context.components[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.components[name]) {\n warn(`Component \"${name}\" has already been registered in target app.`);\n }\n context.components[name] = component;\n return app;\n },\n directive(name, directive) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateDirectiveName(name);\n }\n if (!directive) {\n return context.directives[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.directives[name]) {\n warn(`Directive \"${name}\" has already been registered in target app.`);\n }\n context.directives[name] = directive;\n return app;\n },\n mount(rootContainer, isHydrate, isSVG) {\n if (!isMounted) {\n if (!!(process.env.NODE_ENV !== \"production\") && rootContainer.__vue_app__) {\n warn(\n `There is already an app instance mounted on the host container.\n If you want to mount another app on the same host container, you need to unmount the previous app by calling \\`app.unmount()\\` first.`\n );\n }\n const vnode = createVNode(rootComponent, rootProps);\n vnode.appContext = context;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n context.reload = () => {\n render(cloneVNode(vnode), rootContainer, isSVG);\n };\n }\n if (isHydrate && hydrate) {\n hydrate(vnode, rootContainer);\n } else {\n render(vnode, rootContainer, isSVG);\n }\n isMounted = true;\n app._container = rootContainer;\n rootContainer.__vue_app__ = app;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n app._instance = vnode.component;\n devtoolsInitApp(app, version);\n }\n return getExposeProxy(vnode.component) || vnode.component.proxy;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `App has already been mounted.\nIf you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. \\`const createMyApp = () => createApp(App)\\``\n );\n }\n },\n unmount() {\n if (isMounted) {\n render(null, app._container);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n app._instance = null;\n devtoolsUnmountApp(app);\n }\n delete app._container.__vue_app__;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`Cannot unmount an app that is not mounted.`);\n }\n },\n provide(key, value) {\n if (!!(process.env.NODE_ENV !== \"production\") && key in context.provides) {\n warn(\n `App already provides property with key \"${String(key)}\". It will be overwritten with the new value.`\n );\n }\n context.provides[key] = value;\n return app;\n },\n runWithContext(fn) {\n currentApp = app;\n try {\n return fn();\n } finally {\n currentApp = null;\n }\n }\n };\n return app;\n };\n}\nlet currentApp = null;\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`provide() can only be used inside setup().`);\n }\n } else {\n let provides = currentInstance.provides;\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n provides[key] = value;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n const instance = currentInstance || currentRenderingInstance;\n if (instance || currentApp) {\n const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;\n if (provides && key in provides) {\n return provides[key];\n } else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`injection \"${String(key)}\" not found.`);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`inject() can only be used inside setup() or functional components.`);\n }\n}\nfunction hasInjectionContext() {\n return !!(currentInstance || currentRenderingInstance || currentApp);\n}\n\nfunction initProps(instance, rawProps, isStateful, isSSR = false) {\n const props = {};\n const attrs = {};\n def(attrs, InternalObjectKey, 1);\n instance.propsDefaults = /* @__PURE__ */ Object.create(null);\n setFullProps(instance, rawProps, props, attrs);\n for (const key in instance.propsOptions[0]) {\n if (!(key in props)) {\n props[key] = void 0;\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateProps(rawProps || {}, props, instance);\n }\n if (isStateful) {\n instance.props = isSSR ? props : shallowReactive(props);\n } else {\n if (!instance.type.props) {\n instance.props = attrs;\n } else {\n instance.props = props;\n }\n }\n instance.attrs = attrs;\n}\nfunction isInHmrContext(instance) {\n while (instance) {\n if (instance.type.__hmrId)\n return true;\n instance = instance.parent;\n }\n}\nfunction updateProps(instance, rawProps, rawPrevProps, optimized) {\n const {\n props,\n attrs,\n vnode: { patchFlag }\n } = instance;\n const rawCurrentProps = toRaw(props);\n const [options] = instance.propsOptions;\n let hasAttrsChanged = false;\n if (\n // always force full diff in dev\n // - #1942 if hmr is enabled with sfc component\n // - vite#872 non-sfc component used by sfc component\n !(!!(process.env.NODE_ENV !== \"production\") && isInHmrContext(instance)) && (optimized || patchFlag > 0) && !(patchFlag & 16)\n ) {\n if (patchFlag & 8) {\n const propsToUpdate = instance.vnode.dynamicProps;\n for (let i = 0; i < propsToUpdate.length; i++) {\n let key = propsToUpdate[i];\n if (isEmitListener(instance.emitsOptions, key)) {\n continue;\n }\n const value = rawProps[key];\n if (options) {\n if (hasOwn(attrs, key)) {\n if (value !== attrs[key]) {\n attrs[key] = value;\n hasAttrsChanged = true;\n }\n } else {\n const camelizedKey = camelize(key);\n props[camelizedKey] = resolvePropValue(\n options,\n rawCurrentProps,\n camelizedKey,\n value,\n instance,\n false\n /* isAbsent */\n );\n }\n } else {\n if (value !== attrs[key]) {\n attrs[key] = value;\n hasAttrsChanged = true;\n }\n }\n }\n }\n } else {\n if (setFullProps(instance, rawProps, props, attrs)) {\n hasAttrsChanged = true;\n }\n let kebabKey;\n for (const key in rawCurrentProps) {\n if (!rawProps || // for camelCase\n !hasOwn(rawProps, key) && // it's possible the original props was passed in as kebab-case\n // and converted to camelCase (#955)\n ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {\n if (options) {\n if (rawPrevProps && // for camelCase\n (rawPrevProps[key] !== void 0 || // for kebab-case\n rawPrevProps[kebabKey] !== void 0)) {\n props[key] = resolvePropValue(\n options,\n rawCurrentProps,\n key,\n void 0,\n instance,\n true\n /* isAbsent */\n );\n }\n } else {\n delete props[key];\n }\n }\n }\n if (attrs !== rawCurrentProps) {\n for (const key in attrs) {\n if (!rawProps || !hasOwn(rawProps, key) && true) {\n delete attrs[key];\n hasAttrsChanged = true;\n }\n }\n }\n }\n if (hasAttrsChanged) {\n trigger(instance, \"set\", \"$attrs\");\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateProps(rawProps || {}, props, instance);\n }\n}\nfunction setFullProps(instance, rawProps, props, attrs) {\n const [options, needCastKeys] = instance.propsOptions;\n let hasAttrsChanged = false;\n let rawCastValues;\n if (rawProps) {\n for (let key in rawProps) {\n if (isReservedProp(key)) {\n continue;\n }\n const value = rawProps[key];\n let camelKey;\n if (options && hasOwn(options, camelKey = camelize(key))) {\n if (!needCastKeys || !needCastKeys.includes(camelKey)) {\n props[camelKey] = value;\n } else {\n (rawCastValues || (rawCastValues = {}))[camelKey] = value;\n }\n } else if (!isEmitListener(instance.emitsOptions, key)) {\n if (!(key in attrs) || value !== attrs[key]) {\n attrs[key] = value;\n hasAttrsChanged = true;\n }\n }\n }\n }\n if (needCastKeys) {\n const rawCurrentProps = toRaw(props);\n const castValues = rawCastValues || EMPTY_OBJ;\n for (let i = 0; i < needCastKeys.length; i++) {\n const key = needCastKeys[i];\n props[key] = resolvePropValue(\n options,\n rawCurrentProps,\n key,\n castValues[key],\n instance,\n !hasOwn(castValues, key)\n );\n }\n }\n return hasAttrsChanged;\n}\nfunction resolvePropValue(options, props, key, value, instance, isAbsent) {\n const opt = options[key];\n if (opt != null) {\n const hasDefault = hasOwn(opt, \"default\");\n if (hasDefault && value === void 0) {\n const defaultValue = opt.default;\n if (opt.type !== Function && !opt.skipFactory && isFunction(defaultValue)) {\n const { propsDefaults } = instance;\n if (key in propsDefaults) {\n value = propsDefaults[key];\n } else {\n setCurrentInstance(instance);\n value = propsDefaults[key] = defaultValue.call(\n null,\n props\n );\n unsetCurrentInstance();\n }\n } else {\n value = defaultValue;\n }\n }\n if (opt[0 /* shouldCast */]) {\n if (isAbsent && !hasDefault) {\n value = false;\n } else if (opt[1 /* shouldCastTrue */] && (value === \"\" || value === hyphenate(key))) {\n value = true;\n }\n }\n }\n return value;\n}\nfunction normalizePropsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.propsCache;\n const cached = cache.get(comp);\n if (cached) {\n return cached;\n }\n const raw = comp.props;\n const normalized = {};\n const needCastKeys = [];\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendProps = (raw2) => {\n hasExtends = true;\n const [props, keys] = normalizePropsOptions(raw2, appContext, true);\n extend(normalized, props);\n if (keys)\n needCastKeys.push(...keys);\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendProps);\n }\n if (comp.extends) {\n extendProps(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendProps);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, EMPTY_ARR);\n }\n return EMPTY_ARR;\n }\n if (isArray(raw)) {\n for (let i = 0; i < raw.length; i++) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isString(raw[i])) {\n warn(`props must be strings when using array syntax.`, raw[i]);\n }\n const normalizedKey = camelize(raw[i]);\n if (validatePropName(normalizedKey)) {\n normalized[normalizedKey] = EMPTY_OBJ;\n }\n }\n } else if (raw) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(raw)) {\n warn(`invalid props options`, raw);\n }\n for (const key in raw) {\n const normalizedKey = camelize(key);\n if (validatePropName(normalizedKey)) {\n const opt = raw[key];\n const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? { type: opt } : extend({}, opt);\n if (prop) {\n const booleanIndex = getTypeIndex(Boolean, prop.type);\n const stringIndex = getTypeIndex(String, prop.type);\n prop[0 /* shouldCast */] = booleanIndex > -1;\n prop[1 /* shouldCastTrue */] = stringIndex < 0 || booleanIndex < stringIndex;\n if (booleanIndex > -1 || hasOwn(prop, \"default\")) {\n needCastKeys.push(normalizedKey);\n }\n }\n }\n }\n }\n const res = [normalized, needCastKeys];\n if (isObject(comp)) {\n cache.set(comp, res);\n }\n return res;\n}\nfunction validatePropName(key) {\n if (key[0] !== \"$\") {\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`Invalid prop name: \"${key}\" is a reserved property.`);\n }\n return false;\n}\nfunction getType(ctor) {\n const match = ctor && ctor.toString().match(/^\\s*(function|class) (\\w+)/);\n return match ? match[2] : ctor === null ? \"null\" : \"\";\n}\nfunction isSameType(a, b) {\n return getType(a) === getType(b);\n}\nfunction getTypeIndex(type, expectedTypes) {\n if (isArray(expectedTypes)) {\n return expectedTypes.findIndex((t) => isSameType(t, type));\n } else if (isFunction(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1;\n }\n return -1;\n}\nfunction validateProps(rawProps, props, instance) {\n const resolvedValues = toRaw(props);\n const options = instance.propsOptions[0];\n for (const key in options) {\n let opt = options[key];\n if (opt == null)\n continue;\n validateProp(\n key,\n resolvedValues[key],\n opt,\n !hasOwn(rawProps, key) && !hasOwn(rawProps, hyphenate(key))\n );\n }\n}\nfunction validateProp(name, value, prop, isAbsent) {\n const { type, required, validator, skipCheck } = prop;\n if (required && isAbsent) {\n warn('Missing required prop: \"' + name + '\"');\n return;\n }\n if (value == null && !required) {\n return;\n }\n if (type != null && type !== true && !skipCheck) {\n let isValid = false;\n const types = isArray(type) ? type : [type];\n const expectedTypes = [];\n for (let i = 0; i < types.length && !isValid; i++) {\n const { valid, expectedType } = assertType(value, types[i]);\n expectedTypes.push(expectedType || \"\");\n isValid = valid;\n }\n if (!isValid) {\n warn(getInvalidTypeMessage(name, value, expectedTypes));\n return;\n }\n }\n if (validator && !validator(value)) {\n warn('Invalid prop: custom validator check failed for prop \"' + name + '\".');\n }\n}\nconst isSimpleType = /* @__PURE__ */ makeMap(\n \"String,Number,Boolean,Function,Symbol,BigInt\"\n);\nfunction assertType(value, type) {\n let valid;\n const expectedType = getType(type);\n if (isSimpleType(expectedType)) {\n const t = typeof value;\n valid = t === expectedType.toLowerCase();\n if (!valid && t === \"object\") {\n valid = value instanceof type;\n }\n } else if (expectedType === \"Object\") {\n valid = isObject(value);\n } else if (expectedType === \"Array\") {\n valid = isArray(value);\n } else if (expectedType === \"null\") {\n valid = value === null;\n } else {\n valid = value instanceof type;\n }\n return {\n valid,\n expectedType\n };\n}\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\n let message = `Invalid prop: type check failed for prop \"${name}\". Expected ${expectedTypes.map(capitalize).join(\" | \")}`;\n const expectedType = expectedTypes[0];\n const receivedType = toRawType(value);\n const expectedValue = styleValue(value, expectedType);\n const receivedValue = styleValue(value, receivedType);\n if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {\n message += ` with value ${expectedValue}`;\n }\n message += `, got ${receivedType} `;\n if (isExplicable(receivedType)) {\n message += `with value ${receivedValue}.`;\n }\n return message;\n}\nfunction styleValue(value, type) {\n if (type === \"String\") {\n return `\"${value}\"`;\n } else if (type === \"Number\") {\n return `${Number(value)}`;\n } else {\n return `${value}`;\n }\n}\nfunction isExplicable(type) {\n const explicitTypes = [\"string\", \"number\", \"boolean\"];\n return explicitTypes.some((elem) => type.toLowerCase() === elem);\n}\nfunction isBoolean(...args) {\n return args.some((elem) => elem.toLowerCase() === \"boolean\");\n}\n\nconst isInternalKey = (key) => key[0] === \"_\" || key === \"$stable\";\nconst normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];\nconst normalizeSlot = (key, rawSlot, ctx) => {\n if (rawSlot._n) {\n return rawSlot;\n }\n const normalized = withCtx((...args) => {\n if (!!(process.env.NODE_ENV !== \"production\") && currentInstance) {\n warn(\n `Slot \"${key}\" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`\n );\n }\n return normalizeSlotValue(rawSlot(...args));\n }, ctx);\n normalized._c = false;\n return normalized;\n};\nconst normalizeObjectSlots = (rawSlots, slots, instance) => {\n const ctx = rawSlots._ctx;\n for (const key in rawSlots) {\n if (isInternalKey(key))\n continue;\n const value = rawSlots[key];\n if (isFunction(value)) {\n slots[key] = normalizeSlot(key, value, ctx);\n } else if (value != null) {\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n warn(\n `Non-function value encountered for slot \"${key}\". Prefer function slots for better performance.`\n );\n }\n const normalized = normalizeSlotValue(value);\n slots[key] = () => normalized;\n }\n }\n};\nconst normalizeVNodeSlots = (instance, children) => {\n if (!!(process.env.NODE_ENV !== \"production\") && !isKeepAlive(instance.vnode) && true) {\n warn(\n `Non-function value encountered for default slot. Prefer function slots for better performance.`\n );\n }\n const normalized = normalizeSlotValue(children);\n instance.slots.default = () => normalized;\n};\nconst initSlots = (instance, children) => {\n if (instance.vnode.shapeFlag & 32) {\n const type = children._;\n if (type) {\n instance.slots = toRaw(children);\n def(children, \"_\", type);\n } else {\n normalizeObjectSlots(\n children,\n instance.slots = {});\n }\n } else {\n instance.slots = {};\n if (children) {\n normalizeVNodeSlots(instance, children);\n }\n }\n def(instance.slots, InternalObjectKey, 1);\n};\nconst updateSlots = (instance, children, optimized) => {\n const { vnode, slots } = instance;\n let needDeletionCheck = true;\n let deletionComparisonTarget = EMPTY_OBJ;\n if (vnode.shapeFlag & 32) {\n const type = children._;\n if (type) {\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n extend(slots, children);\n trigger(instance, \"set\", \"$slots\");\n } else if (optimized && type === 1) {\n needDeletionCheck = false;\n } else {\n extend(slots, children);\n if (!optimized && type === 1) {\n delete slots._;\n }\n }\n } else {\n needDeletionCheck = !children.$stable;\n normalizeObjectSlots(children, slots);\n }\n deletionComparisonTarget = children;\n } else if (children) {\n normalizeVNodeSlots(instance, children);\n deletionComparisonTarget = { default: 1 };\n }\n if (needDeletionCheck) {\n for (const key in slots) {\n if (!isInternalKey(key) && deletionComparisonTarget[key] == null) {\n delete slots[key];\n }\n }\n }\n};\n\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getExposeProxy(vnode.component) || vnode.component.proxy : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n if (oldRef != null && oldRef !== ref) {\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (hasOwn(setupState, oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n oldRef.value = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? hasOwn(setupState, ref) ? setupState[ref] : refs[ref] : ref.value;\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (hasOwn(setupState, ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n ref.value = [refValue];\n if (rawRef.k)\n refs[rawRef.k] = ref.value;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (hasOwn(setupState, ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n ref.value = value;\n if (rawRef.k)\n refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n doSet.id = -1;\n queuePostRenderEffect(doSet, parentSuspense);\n } else {\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\n\nlet hasMismatch = false;\nconst isSVGContainer = (container) => /svg/.test(container.namespaceURI) && container.tagName !== \"foreignObject\";\nconst isComment = (node) => node.nodeType === 8 /* COMMENT */;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n !!(process.env.NODE_ENV !== \"production\") && warn(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hasMismatch = false;\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n if (hasMismatch && true) {\n console.error(`Hydration completed but contains mismatches.`);\n }\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3 /* TEXT */) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n hasMismatch = true;\n !!(process.env.NODE_ENV !== \"production\") && warn(\n `Hydration text mismatch:\n- Server rendered: ${JSON.stringify(\n node.data\n )}\n- Client rendered: ${JSON.stringify(vnode.children)}`\n );\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 /* COMMENT */ || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 /* ELEMENT */ || domType === 3 /* TEXT */) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 /* ELEMENT */ ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 /* ELEMENT */ || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n isSVGContainer(container),\n optimized\n );\n if (isAsyncWrapper(vnode)) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8 /* COMMENT */) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n isSVGContainer(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatchValue = type === \"input\" && dirs || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatchValue || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n if (props) {\n if (forcePatchValue || !optimized || patchFlag & (16 | 32)) {\n for (const key in props) {\n if (forcePatchValue && key.endsWith(\"value\") || isOn(key) && !isReservedProp(key)) {\n patchProp(\n el,\n key,\n null,\n props[key],\n false,\n void 0,\n parentComponent\n );\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n false,\n void 0,\n parentComponent\n );\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(parentSuspense, transition) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n hasMismatch = true;\n if (!!(process.env.NODE_ENV !== \"production\") && !hasWarned) {\n warn(\n `Hydration children mismatch in <${vnode.type}>: server rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n if (el.textContent !== vnode.children) {\n hasMismatch = true;\n !!(process.env.NODE_ENV !== \"production\") && warn(\n `Hydration text content mismatch in <${vnode.type}>:\n- Server rendered: ${el.textContent}\n- Client rendered: ${vnode.children}`\n );\n el.textContent = vnode.children;\n }\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n if (node) {\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (vnode.type === Text && !vnode.children) {\n continue;\n } else {\n hasMismatch = true;\n if (!!(process.env.NODE_ENV !== \"production\") && !hasWarned) {\n warn(\n `Hydration children mismatch in <${container.tagName.toLowerCase()}>: server rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n isSVGContainer(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n hasMismatch = true;\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n hasMismatch = true;\n !!(process.env.NODE_ENV !== \"production\") && warn(\n `Hydration node mismatch:\n- Client vnode:`,\n vnode.type,\n `\n- Server rendered DOM:`,\n node,\n node.nodeType === 3 /* TEXT */ ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``\n );\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n isSVGContainer(container),\n slotScopeIds\n );\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open)\n match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 /* ELEMENT */ && node.tagName.toLowerCase() === \"template\";\n };\n return [hydrate, hydrateNode];\n}\n\nlet supported;\nlet perf;\nfunction startMeasure(instance, type) {\n if (instance.appContext.config.performance && isSupported()) {\n perf.mark(`vue-${type}-${instance.uid}`);\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsPerfStart(instance, type, isSupported() ? perf.now() : Date.now());\n }\n}\nfunction endMeasure(instance, type) {\n if (instance.appContext.config.performance && isSupported()) {\n const startTag = `vue-${type}-${instance.uid}`;\n const endTag = startTag + `:end`;\n perf.mark(endTag);\n perf.measure(\n `<${formatComponentName(instance, instance.type)}> ${type}`,\n startTag,\n endTag\n );\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsPerfEnd(instance, type, isSupported() ? perf.now() : Date.now());\n }\n}\nfunction isSupported() {\n if (supported !== void 0) {\n return supported;\n }\n if (typeof window !== \"undefined\" && window.performance) {\n supported = true;\n perf = window.performance;\n } else {\n supported = false;\n }\n return supported;\n}\n\nfunction initFeatureFlags() {\n const needWarn = [];\n if (typeof __VUE_OPTIONS_API__ !== \"boolean\") {\n !!(process.env.NODE_ENV !== \"production\") && needWarn.push(`__VUE_OPTIONS_API__`);\n getGlobalThis().__VUE_OPTIONS_API__ = true;\n }\n if (typeof __VUE_PROD_DEVTOOLS__ !== \"boolean\") {\n !!(process.env.NODE_ENV !== \"production\") && needWarn.push(`__VUE_PROD_DEVTOOLS__`);\n getGlobalThis().__VUE_PROD_DEVTOOLS__ = false;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && needWarn.length) {\n const multi = needWarn.length > 1;\n console.warn(\n `Feature flag${multi ? `s` : ``} ${needWarn.join(\", \")} ${multi ? `are` : `is`} not explicitly defined. You are running the esm-bundler build of Vue, which expects these compile-time feature flags to be globally injected via the bundler config in order to get better tree-shaking in the production bundle.\n\nFor more details, see https://link.vuejs.org/feature-flags.`\n );\n }\n}\n\nconst queuePostRenderEffect = queueEffectWithSuspense ;\nfunction createRenderer(options) {\n return baseCreateRenderer(options);\n}\nfunction createHydrationRenderer(options) {\n return baseCreateRenderer(options, createHydrationFunctions);\n}\nfunction baseCreateRenderer(options, createHydrationFns) {\n {\n initFeatureFlags();\n }\n const target = getGlobalThis();\n target.__VUE__ = true;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n setDevtoolsHook(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);\n }\n const {\n insert: hostInsert,\n remove: hostRemove,\n patchProp: hostPatchProp,\n createElement: hostCreateElement,\n createText: hostCreateText,\n createComment: hostCreateComment,\n setText: hostSetText,\n setElementText: hostSetElementText,\n parentNode: hostParentNode,\n nextSibling: hostNextSibling,\n setScopeId: hostSetScopeId = NOOP,\n insertStaticContent: hostInsertStaticContent\n } = options;\n const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, slotScopeIds = null, optimized = !!(process.env.NODE_ENV !== \"production\") && isHmrUpdating ? false : !!n2.dynamicChildren) => {\n if (n1 === n2) {\n return;\n }\n if (n1 && !isSameVNodeType(n1, n2)) {\n anchor = getNextHostNode(n1);\n unmount(n1, parentComponent, parentSuspense, true);\n n1 = null;\n }\n if (n2.patchFlag === -2) {\n optimized = false;\n n2.dynamicChildren = null;\n }\n const { type, ref, shapeFlag } = n2;\n switch (type) {\n case Text:\n processText(n1, n2, container, anchor);\n break;\n case Comment:\n processCommentNode(n1, n2, container, anchor);\n break;\n case Static:\n if (n1 == null) {\n mountStaticNode(n2, container, anchor, isSVG);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n patchStaticNode(n1, n2, container, isSVG);\n }\n break;\n case Fragment:\n processFragment(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n break;\n default:\n if (shapeFlag & 1) {\n processElement(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n } else if (shapeFlag & 6) {\n processComponent(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n } else if (shapeFlag & 64) {\n type.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized,\n internals\n );\n } else if (shapeFlag & 128) {\n type.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized,\n internals\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Invalid VNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null && parentComponent) {\n setRef(ref, n1 && n1.ref, parentSuspense, n2 || n1, !n2);\n }\n };\n const processText = (n1, n2, container, anchor) => {\n if (n1 == null) {\n hostInsert(\n n2.el = hostCreateText(n2.children),\n container,\n anchor\n );\n } else {\n const el = n2.el = n1.el;\n if (n2.children !== n1.children) {\n hostSetText(el, n2.children);\n }\n }\n };\n const processCommentNode = (n1, n2, container, anchor) => {\n if (n1 == null) {\n hostInsert(\n n2.el = hostCreateComment(n2.children || \"\"),\n container,\n anchor\n );\n } else {\n n2.el = n1.el;\n }\n };\n const mountStaticNode = (n2, container, anchor, isSVG) => {\n [n2.el, n2.anchor] = hostInsertStaticContent(\n n2.children,\n container,\n anchor,\n isSVG,\n n2.el,\n n2.anchor\n );\n };\n const patchStaticNode = (n1, n2, container, isSVG) => {\n if (n2.children !== n1.children) {\n const anchor = hostNextSibling(n1.anchor);\n removeStaticNode(n1);\n [n2.el, n2.anchor] = hostInsertStaticContent(\n n2.children,\n container,\n anchor,\n isSVG\n );\n } else {\n n2.el = n1.el;\n n2.anchor = n1.anchor;\n }\n };\n const moveStaticNode = ({ el, anchor }, container, nextSibling) => {\n let next;\n while (el && el !== anchor) {\n next = hostNextSibling(el);\n hostInsert(el, container, nextSibling);\n el = next;\n }\n hostInsert(anchor, container, nextSibling);\n };\n const removeStaticNode = ({ el, anchor }) => {\n let next;\n while (el && el !== anchor) {\n next = hostNextSibling(el);\n hostRemove(el);\n el = next;\n }\n hostRemove(anchor);\n };\n const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\n isSVG = isSVG || n2.type === \"svg\";\n if (n1 == null) {\n mountElement(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n } else {\n patchElement(\n n1,\n n2,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\n let el;\n let vnodeHook;\n const { type, props, shapeFlag, transition, dirs } = vnode;\n el = vnode.el = hostCreateElement(\n vnode.type,\n isSVG,\n props && props.is,\n props\n );\n if (shapeFlag & 8) {\n hostSetElementText(el, vnode.children);\n } else if (shapeFlag & 16) {\n mountChildren(\n vnode.children,\n el,\n null,\n parentComponent,\n parentSuspense,\n isSVG && type !== \"foreignObject\",\n slotScopeIds,\n optimized\n );\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);\n if (props) {\n for (const key in props) {\n if (key !== \"value\" && !isReservedProp(key)) {\n hostPatchProp(\n el,\n key,\n null,\n props[key],\n isSVG,\n vnode.children,\n parentComponent,\n parentSuspense,\n unmountChildren\n );\n }\n }\n if (\"value\" in props) {\n hostPatchProp(el, \"value\", null, props.value);\n }\n if (vnodeHook = props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHook, parentComponent, vnode);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n Object.defineProperty(el, \"__vnode\", {\n value: vnode,\n enumerable: false\n });\n Object.defineProperty(el, \"__vueParentComponent\", {\n value: parentComponent,\n enumerable: false\n });\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n const needCallTransitionHooks = needTransition(parentSuspense, transition);\n if (needCallTransitionHooks) {\n transition.beforeEnter(el);\n }\n hostInsert(el, container, anchor);\n if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {\n queuePostRenderEffect(() => {\n vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n };\n const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => {\n if (scopeId) {\n hostSetScopeId(el, scopeId);\n }\n if (slotScopeIds) {\n for (let i = 0; i < slotScopeIds.length; i++) {\n hostSetScopeId(el, slotScopeIds[i]);\n }\n }\n if (parentComponent) {\n let subTree = parentComponent.subTree;\n if (!!(process.env.NODE_ENV !== \"production\") && subTree.patchFlag > 0 && subTree.patchFlag & 2048) {\n subTree = filterSingleRoot(subTree.children) || subTree;\n }\n if (vnode === subTree) {\n const parentVNode = parentComponent.vnode;\n setScopeId(\n el,\n parentVNode,\n parentVNode.scopeId,\n parentVNode.slotScopeIds,\n parentComponent.parent\n );\n }\n }\n };\n const mountChildren = (children, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, start = 0) => {\n for (let i = start; i < children.length; i++) {\n const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]);\n patch(\n null,\n child,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n }\n };\n const patchElement = (n1, n2, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\n const el = n2.el = n1.el;\n let { patchFlag, dynamicChildren, dirs } = n2;\n patchFlag |= n1.patchFlag & 16;\n const oldProps = n1.props || EMPTY_OBJ;\n const newProps = n2.props || EMPTY_OBJ;\n let vnodeHook;\n parentComponent && toggleRecurse(parentComponent, false);\n if (vnodeHook = newProps.onVnodeBeforeUpdate) {\n invokeVNodeHook(vnodeHook, parentComponent, n2, n1);\n }\n if (dirs) {\n invokeDirectiveHook(n2, n1, parentComponent, \"beforeUpdate\");\n }\n parentComponent && toggleRecurse(parentComponent, true);\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n patchFlag = 0;\n optimized = false;\n dynamicChildren = null;\n }\n const areChildrenSVG = isSVG && n2.type !== \"foreignObject\";\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n el,\n parentComponent,\n parentSuspense,\n areChildrenSVG,\n slotScopeIds\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n traverseStaticChildren(n1, n2);\n }\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n el,\n null,\n parentComponent,\n parentSuspense,\n areChildrenSVG,\n slotScopeIds,\n false\n );\n }\n if (patchFlag > 0) {\n if (patchFlag & 16) {\n patchProps(\n el,\n n2,\n oldProps,\n newProps,\n parentComponent,\n parentSuspense,\n isSVG\n );\n } else {\n if (patchFlag & 2) {\n if (oldProps.class !== newProps.class) {\n hostPatchProp(el, \"class\", null, newProps.class, isSVG);\n }\n }\n if (patchFlag & 4) {\n hostPatchProp(el, \"style\", oldProps.style, newProps.style, isSVG);\n }\n if (patchFlag & 8) {\n const propsToUpdate = n2.dynamicProps;\n for (let i = 0; i < propsToUpdate.length; i++) {\n const key = propsToUpdate[i];\n const prev = oldProps[key];\n const next = newProps[key];\n if (next !== prev || key === \"value\") {\n hostPatchProp(\n el,\n key,\n prev,\n next,\n isSVG,\n n1.children,\n parentComponent,\n parentSuspense,\n unmountChildren\n );\n }\n }\n }\n }\n if (patchFlag & 1) {\n if (n1.children !== n2.children) {\n hostSetElementText(el, n2.children);\n }\n }\n } else if (!optimized && dynamicChildren == null) {\n patchProps(\n el,\n n2,\n oldProps,\n newProps,\n parentComponent,\n parentSuspense,\n isSVG\n );\n }\n if ((vnodeHook = newProps.onVnodeUpdated) || dirs) {\n queuePostRenderEffect(() => {\n vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);\n dirs && invokeDirectiveHook(n2, n1, parentComponent, \"updated\");\n }, parentSuspense);\n }\n };\n const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, isSVG, slotScopeIds) => {\n for (let i = 0; i < newChildren.length; i++) {\n const oldVNode = oldChildren[i];\n const newVNode = newChildren[i];\n const container = (\n // oldVNode may be an errored async setup() component inside Suspense\n // which will not have a mounted element\n oldVNode.el && // - In the case of a Fragment, we need to provide the actual parent\n // of the Fragment itself so it can move its children.\n (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement\n // which also requires the correct parent container\n !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.\n oldVNode.shapeFlag & (6 | 64)) ? hostParentNode(oldVNode.el) : (\n // In other cases, the parent container is not actually used so we\n // just pass the block element here to avoid a DOM parentNode call.\n fallbackContainer\n )\n );\n patch(\n oldVNode,\n newVNode,\n container,\n null,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n true\n );\n }\n };\n const patchProps = (el, vnode, oldProps, newProps, parentComponent, parentSuspense, isSVG) => {\n if (oldProps !== newProps) {\n if (oldProps !== EMPTY_OBJ) {\n for (const key in oldProps) {\n if (!isReservedProp(key) && !(key in newProps)) {\n hostPatchProp(\n el,\n key,\n oldProps[key],\n null,\n isSVG,\n vnode.children,\n parentComponent,\n parentSuspense,\n unmountChildren\n );\n }\n }\n }\n for (const key in newProps) {\n if (isReservedProp(key))\n continue;\n const next = newProps[key];\n const prev = oldProps[key];\n if (next !== prev && key !== \"value\") {\n hostPatchProp(\n el,\n key,\n prev,\n next,\n isSVG,\n vnode.children,\n parentComponent,\n parentSuspense,\n unmountChildren\n );\n }\n }\n if (\"value\" in newProps) {\n hostPatchProp(el, \"value\", oldProps.value, newProps.value);\n }\n }\n };\n const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\n const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText(\"\");\n const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText(\"\");\n let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && // #5523 dev root fragment may inherit directives\n (isHmrUpdating || patchFlag & 2048)) {\n patchFlag = 0;\n optimized = false;\n dynamicChildren = null;\n }\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n if (n1 == null) {\n hostInsert(fragmentStartAnchor, container, anchor);\n hostInsert(fragmentEndAnchor, container, anchor);\n mountChildren(\n n2.children,\n container,\n fragmentEndAnchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n } else {\n if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result\n // of renderSlot() with no valid children\n n1.dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n container,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n traverseStaticChildren(n1, n2);\n } else if (\n // #2080 if the stable fragment has a key, it's a <template v-for> that may\n // get moved around. Make sure all root level vnodes inherit el.\n // #2134 or if it's a component root, it may also get moved around\n // as the component is being moved.\n n2.key != null || parentComponent && n2 === parentComponent.subTree\n ) {\n traverseStaticChildren(\n n1,\n n2,\n true\n /* shallow */\n );\n }\n } else {\n patchChildren(\n n1,\n n2,\n container,\n fragmentEndAnchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n }\n }\n };\n const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\n n2.slotScopeIds = slotScopeIds;\n if (n1 == null) {\n if (n2.shapeFlag & 512) {\n parentComponent.ctx.activate(\n n2,\n container,\n anchor,\n isSVG,\n optimized\n );\n } else {\n mountComponent(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n optimized\n );\n }\n } else {\n updateComponent(n1, n2, optimized);\n }\n };\n const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {\n const instance = (initialVNode.component = createComponentInstance(\n initialVNode,\n parentComponent,\n parentSuspense\n ));\n if (!!(process.env.NODE_ENV !== \"production\") && instance.type.__hmrId) {\n registerHMR(instance);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(initialVNode);\n startMeasure(instance, `mount`);\n }\n if (isKeepAlive(initialVNode)) {\n instance.ctx.renderer = internals;\n }\n {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `init`);\n }\n setupComponent(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `init`);\n }\n }\n if (instance.asyncDep) {\n parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect);\n if (!initialVNode.el) {\n const placeholder = instance.subTree = createVNode(Comment);\n processCommentNode(null, placeholder, container, anchor);\n }\n return;\n }\n setupRenderEffect(\n instance,\n initialVNode,\n container,\n anchor,\n parentSuspense,\n isSVG,\n optimized\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n endMeasure(instance, `mount`);\n }\n };\n const updateComponent = (n1, n2, optimized) => {\n const instance = n2.component = n1.component;\n if (shouldUpdateComponent(n1, n2, optimized)) {\n if (instance.asyncDep && !instance.asyncResolved) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(n2);\n }\n updateComponentPreRender(instance, n2, optimized);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n return;\n } else {\n instance.next = n2;\n invalidateJob(instance.update);\n instance.update();\n }\n } else {\n n2.el = n1.el;\n instance.vnode = n2;\n }\n };\n const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, isSVG, optimized) => {\n const componentUpdateFn = () => {\n if (!instance.isMounted) {\n let vnodeHook;\n const { el, props } = initialVNode;\n const { bm, m, parent } = instance;\n const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);\n toggleRecurse(instance, false);\n if (bm) {\n invokeArrayFns(bm);\n }\n if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeBeforeMount)) {\n invokeVNodeHook(vnodeHook, parent, initialVNode);\n }\n toggleRecurse(instance, true);\n if (el && hydrateNode) {\n const hydrateSubTree = () => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `render`);\n }\n instance.subTree = renderComponentRoot(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `render`);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `hydrate`);\n }\n hydrateNode(\n el,\n instance.subTree,\n instance,\n parentSuspense,\n null\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `hydrate`);\n }\n };\n if (isAsyncWrapperVNode) {\n initialVNode.type.__asyncLoader().then(\n // note: we are moving the render call into an async callback,\n // which means it won't track dependencies - but it's ok because\n // a server-rendered async wrapper is already in resolved state\n // and it will never need to change.\n () => !instance.isUnmounted && hydrateSubTree()\n );\n } else {\n hydrateSubTree();\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `render`);\n }\n const subTree = instance.subTree = renderComponentRoot(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `render`);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `patch`);\n }\n patch(\n null,\n subTree,\n container,\n anchor,\n instance,\n parentSuspense,\n isSVG\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `patch`);\n }\n initialVNode.el = subTree.el;\n }\n if (m) {\n queuePostRenderEffect(m, parentSuspense);\n }\n if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeMounted)) {\n const scopedInitialVNode = initialVNode;\n queuePostRenderEffect(\n () => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode),\n parentSuspense\n );\n }\n if (initialVNode.shapeFlag & 256 || parent && isAsyncWrapper(parent.vnode) && parent.vnode.shapeFlag & 256) {\n instance.a && queuePostRenderEffect(instance.a, parentSuspense);\n }\n instance.isMounted = true;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance);\n }\n initialVNode = container = anchor = null;\n } else {\n let { next, bu, u, parent, vnode } = instance;\n let originNext = next;\n let vnodeHook;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(next || instance.vnode);\n }\n toggleRecurse(instance, false);\n if (next) {\n next.el = vnode.el;\n updateComponentPreRender(instance, next, optimized);\n } else {\n next = vnode;\n }\n if (bu) {\n invokeArrayFns(bu);\n }\n if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) {\n invokeVNodeHook(vnodeHook, parent, next, vnode);\n }\n toggleRecurse(instance, true);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `render`);\n }\n const nextTree = renderComponentRoot(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `render`);\n }\n const prevTree = instance.subTree;\n instance.subTree = nextTree;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `patch`);\n }\n patch(\n prevTree,\n nextTree,\n // parent may have changed if it's in a teleport\n hostParentNode(prevTree.el),\n // anchor may have changed if it's in a fragment\n getNextHostNode(prevTree),\n instance,\n parentSuspense,\n isSVG\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `patch`);\n }\n next.el = nextTree.el;\n if (originNext === null) {\n updateHOCHostEl(instance, nextTree.el);\n }\n if (u) {\n queuePostRenderEffect(u, parentSuspense);\n }\n if (vnodeHook = next.props && next.props.onVnodeUpdated) {\n queuePostRenderEffect(\n () => invokeVNodeHook(vnodeHook, parent, next, vnode),\n parentSuspense\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(instance);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n }\n };\n const effect = instance.effect = new ReactiveEffect(\n componentUpdateFn,\n () => queueJob(update),\n instance.scope\n // track it in component's effect scope\n );\n const update = instance.update = () => effect.run();\n update.id = instance.uid;\n toggleRecurse(instance, true);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = instance.rtc ? (e) => invokeArrayFns(instance.rtc, e) : void 0;\n effect.onTrigger = instance.rtg ? (e) => invokeArrayFns(instance.rtg, e) : void 0;\n update.ownerInstance = instance;\n }\n update();\n };\n const updateComponentPreRender = (instance, nextVNode, optimized) => {\n nextVNode.component = instance;\n const prevProps = instance.vnode.props;\n instance.vnode = nextVNode;\n instance.next = null;\n updateProps(instance, nextVNode.props, prevProps, optimized);\n updateSlots(instance, nextVNode.children, optimized);\n pauseTracking();\n flushPreFlushCbs();\n resetTracking();\n };\n const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized = false) => {\n const c1 = n1 && n1.children;\n const prevShapeFlag = n1 ? n1.shapeFlag : 0;\n const c2 = n2.children;\n const { patchFlag, shapeFlag } = n2;\n if (patchFlag > 0) {\n if (patchFlag & 128) {\n patchKeyedChildren(\n c1,\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n return;\n } else if (patchFlag & 256) {\n patchUnkeyedChildren(\n c1,\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n return;\n }\n }\n if (shapeFlag & 8) {\n if (prevShapeFlag & 16) {\n unmountChildren(c1, parentComponent, parentSuspense);\n }\n if (c2 !== c1) {\n hostSetElementText(container, c2);\n }\n } else {\n if (prevShapeFlag & 16) {\n if (shapeFlag & 16) {\n patchKeyedChildren(\n c1,\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n } else {\n unmountChildren(c1, parentComponent, parentSuspense, true);\n }\n } else {\n if (prevShapeFlag & 8) {\n hostSetElementText(container, \"\");\n }\n if (shapeFlag & 16) {\n mountChildren(\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n }\n }\n }\n };\n const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\n c1 = c1 || EMPTY_ARR;\n c2 = c2 || EMPTY_ARR;\n const oldLength = c1.length;\n const newLength = c2.length;\n const commonLength = Math.min(oldLength, newLength);\n let i;\n for (i = 0; i < commonLength; i++) {\n const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);\n patch(\n c1[i],\n nextChild,\n container,\n null,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n }\n if (oldLength > newLength) {\n unmountChildren(\n c1,\n parentComponent,\n parentSuspense,\n true,\n false,\n commonLength\n );\n } else {\n mountChildren(\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized,\n commonLength\n );\n }\n };\n const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized) => {\n let i = 0;\n const l2 = c2.length;\n let e1 = c1.length - 1;\n let e2 = l2 - 1;\n while (i <= e1 && i <= e2) {\n const n1 = c1[i];\n const n2 = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);\n if (isSameVNodeType(n1, n2)) {\n patch(\n n1,\n n2,\n container,\n null,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n } else {\n break;\n }\n i++;\n }\n while (i <= e1 && i <= e2) {\n const n1 = c1[e1];\n const n2 = c2[e2] = optimized ? cloneIfMounted(c2[e2]) : normalizeVNode(c2[e2]);\n if (isSameVNodeType(n1, n2)) {\n patch(\n n1,\n n2,\n container,\n null,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n } else {\n break;\n }\n e1--;\n e2--;\n }\n if (i > e1) {\n if (i <= e2) {\n const nextPos = e2 + 1;\n const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor;\n while (i <= e2) {\n patch(\n null,\n c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]),\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n i++;\n }\n }\n } else if (i > e2) {\n while (i <= e1) {\n unmount(c1[i], parentComponent, parentSuspense, true);\n i++;\n }\n } else {\n const s1 = i;\n const s2 = i;\n const keyToNewIndexMap = /* @__PURE__ */ new Map();\n for (i = s2; i <= e2; i++) {\n const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);\n if (nextChild.key != null) {\n if (!!(process.env.NODE_ENV !== \"production\") && keyToNewIndexMap.has(nextChild.key)) {\n warn(\n `Duplicate keys found during update:`,\n JSON.stringify(nextChild.key),\n `Make sure keys are unique.`\n );\n }\n keyToNewIndexMap.set(nextChild.key, i);\n }\n }\n let j;\n let patched = 0;\n const toBePatched = e2 - s2 + 1;\n let moved = false;\n let maxNewIndexSoFar = 0;\n const newIndexToOldIndexMap = new Array(toBePatched);\n for (i = 0; i < toBePatched; i++)\n newIndexToOldIndexMap[i] = 0;\n for (i = s1; i <= e1; i++) {\n const prevChild = c1[i];\n if (patched >= toBePatched) {\n unmount(prevChild, parentComponent, parentSuspense, true);\n continue;\n }\n let newIndex;\n if (prevChild.key != null) {\n newIndex = keyToNewIndexMap.get(prevChild.key);\n } else {\n for (j = s2; j <= e2; j++) {\n if (newIndexToOldIndexMap[j - s2] === 0 && isSameVNodeType(prevChild, c2[j])) {\n newIndex = j;\n break;\n }\n }\n }\n if (newIndex === void 0) {\n unmount(prevChild, parentComponent, parentSuspense, true);\n } else {\n newIndexToOldIndexMap[newIndex - s2] = i + 1;\n if (newIndex >= maxNewIndexSoFar) {\n maxNewIndexSoFar = newIndex;\n } else {\n moved = true;\n }\n patch(\n prevChild,\n c2[newIndex],\n container,\n null,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n patched++;\n }\n }\n const increasingNewIndexSequence = moved ? getSequence(newIndexToOldIndexMap) : EMPTY_ARR;\n j = increasingNewIndexSequence.length - 1;\n for (i = toBePatched - 1; i >= 0; i--) {\n const nextIndex = s2 + i;\n const nextChild = c2[nextIndex];\n const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;\n if (newIndexToOldIndexMap[i] === 0) {\n patch(\n null,\n nextChild,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n } else if (moved) {\n if (j < 0 || i !== increasingNewIndexSequence[j]) {\n move(nextChild, container, anchor, 2);\n } else {\n j--;\n }\n }\n }\n }\n };\n const move = (vnode, container, anchor, moveType, parentSuspense = null) => {\n const { el, type, transition, children, shapeFlag } = vnode;\n if (shapeFlag & 6) {\n move(vnode.component.subTree, container, anchor, moveType);\n return;\n }\n if (shapeFlag & 128) {\n vnode.suspense.move(container, anchor, moveType);\n return;\n }\n if (shapeFlag & 64) {\n type.move(vnode, container, anchor, internals);\n return;\n }\n if (type === Fragment) {\n hostInsert(el, container, anchor);\n for (let i = 0; i < children.length; i++) {\n move(children[i], container, anchor, moveType);\n }\n hostInsert(vnode.anchor, container, anchor);\n return;\n }\n if (type === Static) {\n moveStaticNode(vnode, container, anchor);\n return;\n }\n const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition;\n if (needTransition2) {\n if (moveType === 0) {\n transition.beforeEnter(el);\n hostInsert(el, container, anchor);\n queuePostRenderEffect(() => transition.enter(el), parentSuspense);\n } else {\n const { leave, delayLeave, afterLeave } = transition;\n const remove2 = () => hostInsert(el, container, anchor);\n const performLeave = () => {\n leave(el, () => {\n remove2();\n afterLeave && afterLeave();\n });\n };\n if (delayLeave) {\n delayLeave(el, remove2, performLeave);\n } else {\n performLeave();\n }\n }\n } else {\n hostInsert(el, container, anchor);\n }\n };\n const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {\n const {\n type,\n props,\n ref,\n children,\n dynamicChildren,\n shapeFlag,\n patchFlag,\n dirs\n } = vnode;\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode, true);\n }\n if (shapeFlag & 256) {\n parentComponent.ctx.deactivate(vnode);\n return;\n }\n const shouldInvokeDirs = shapeFlag & 1 && dirs;\n const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);\n let vnodeHook;\n if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) {\n invokeVNodeHook(vnodeHook, parentComponent, vnode);\n }\n if (shapeFlag & 6) {\n unmountComponent(vnode.component, parentSuspense, doRemove);\n } else {\n if (shapeFlag & 128) {\n vnode.suspense.unmount(parentSuspense, doRemove);\n return;\n }\n if (shouldInvokeDirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeUnmount\");\n }\n if (shapeFlag & 64) {\n vnode.type.remove(\n vnode,\n parentComponent,\n parentSuspense,\n optimized,\n internals,\n doRemove\n );\n } else if (dynamicChildren && // #1153: fast path should not be taken for non-stable (v-for) fragments\n (type !== Fragment || patchFlag > 0 && patchFlag & 64)) {\n unmountChildren(\n dynamicChildren,\n parentComponent,\n parentSuspense,\n false,\n true\n );\n } else if (type === Fragment && patchFlag & (128 | 256) || !optimized && shapeFlag & 16) {\n unmountChildren(children, parentComponent, parentSuspense);\n }\n if (doRemove) {\n remove(vnode);\n }\n }\n if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) {\n queuePostRenderEffect(() => {\n vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);\n shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, \"unmounted\");\n }, parentSuspense);\n }\n };\n const remove = (vnode) => {\n const { type, el, anchor, transition } = vnode;\n if (type === Fragment) {\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.patchFlag > 0 && vnode.patchFlag & 2048 && transition && !transition.persisted) {\n vnode.children.forEach((child) => {\n if (child.type === Comment) {\n hostRemove(child.el);\n } else {\n remove(child);\n }\n });\n } else {\n removeFragment(el, anchor);\n }\n return;\n }\n if (type === Static) {\n removeStaticNode(vnode);\n return;\n }\n const performRemove = () => {\n hostRemove(el);\n if (transition && !transition.persisted && transition.afterLeave) {\n transition.afterLeave();\n }\n };\n if (vnode.shapeFlag & 1 && transition && !transition.persisted) {\n const { leave, delayLeave } = transition;\n const performLeave = () => leave(el, performRemove);\n if (delayLeave) {\n delayLeave(vnode.el, performRemove, performLeave);\n } else {\n performLeave();\n }\n } else {\n performRemove();\n }\n };\n const removeFragment = (cur, end) => {\n let next;\n while (cur !== end) {\n next = hostNextSibling(cur);\n hostRemove(cur);\n cur = next;\n }\n hostRemove(end);\n };\n const unmountComponent = (instance, parentSuspense, doRemove) => {\n if (!!(process.env.NODE_ENV !== \"production\") && instance.type.__hmrId) {\n unregisterHMR(instance);\n }\n const { bum, scope, update, subTree, um } = instance;\n if (bum) {\n invokeArrayFns(bum);\n }\n scope.stop();\n if (update) {\n update.active = false;\n unmount(subTree, instance, parentSuspense, doRemove);\n }\n if (um) {\n queuePostRenderEffect(um, parentSuspense);\n }\n queuePostRenderEffect(() => {\n instance.isUnmounted = true;\n }, parentSuspense);\n if (parentSuspense && parentSuspense.pendingBranch && !parentSuspense.isUnmounted && instance.asyncDep && !instance.asyncResolved && instance.suspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0) {\n parentSuspense.resolve();\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentRemoved(instance);\n }\n };\n const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => {\n for (let i = start; i < children.length; i++) {\n unmount(children[i], parentComponent, parentSuspense, doRemove, optimized);\n }\n };\n const getNextHostNode = (vnode) => {\n if (vnode.shapeFlag & 6) {\n return getNextHostNode(vnode.component.subTree);\n }\n if (vnode.shapeFlag & 128) {\n return vnode.suspense.next();\n }\n return hostNextSibling(vnode.anchor || vnode.el);\n };\n const render = (vnode, container, isSVG) => {\n if (vnode == null) {\n if (container._vnode) {\n unmount(container._vnode, null, null, true);\n }\n } else {\n patch(container._vnode || null, vnode, container, null, null, null, isSVG);\n }\n flushPreFlushCbs();\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const internals = {\n p: patch,\n um: unmount,\n m: move,\n r: remove,\n mt: mountComponent,\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n n: getNextHostNode,\n o: options\n };\n let hydrate;\n let hydrateNode;\n if (createHydrationFns) {\n [hydrate, hydrateNode] = createHydrationFns(\n internals\n );\n }\n return {\n render,\n hydrate,\n createApp: createAppAPI(render, hydrate)\n };\n}\nfunction toggleRecurse({ effect, update }, allowed) {\n effect.allowRecurse = update.allowRecurse = allowed;\n}\nfunction needTransition(parentSuspense, transition) {\n return (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted;\n}\nfunction traverseStaticChildren(n1, n2, shallow = false) {\n const ch1 = n1.children;\n const ch2 = n2.children;\n if (isArray(ch1) && isArray(ch2)) {\n for (let i = 0; i < ch1.length; i++) {\n const c1 = ch1[i];\n let c2 = ch2[i];\n if (c2.shapeFlag & 1 && !c2.dynamicChildren) {\n if (c2.patchFlag <= 0 || c2.patchFlag === 32) {\n c2 = ch2[i] = cloneIfMounted(ch2[i]);\n c2.el = c1.el;\n }\n if (!shallow)\n traverseStaticChildren(c1, c2);\n }\n if (c2.type === Text) {\n c2.el = c1.el;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && c2.type === Comment && !c2.el) {\n c2.el = c1.el;\n }\n }\n }\n}\nfunction getSequence(arr) {\n const p = arr.slice();\n const result = [0];\n let i, j, u, v, c;\n const len = arr.length;\n for (i = 0; i < len; i++) {\n const arrI = arr[i];\n if (arrI !== 0) {\n j = result[result.length - 1];\n if (arr[j] < arrI) {\n p[i] = j;\n result.push(i);\n continue;\n }\n u = 0;\n v = result.length - 1;\n while (u < v) {\n c = u + v >> 1;\n if (arr[result[c]] < arrI) {\n u = c + 1;\n } else {\n v = c;\n }\n }\n if (arrI < arr[result[u]]) {\n if (u > 0) {\n p[i] = result[u - 1];\n }\n result[u] = i;\n }\n }\n }\n u = result.length;\n v = result[u - 1];\n while (u-- > 0) {\n result[u] = v;\n v = p[v];\n }\n return result;\n}\n\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!target) {\n !!(process.env.NODE_ENV !== \"production\") && warn(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = n2.targetAnchor = createText(\"\");\n if (target) {\n insert(targetAnchor, target);\n isSVG = isSVG || isTargetSVG(target);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn(\"Invalid Teleport target on mount:\", target, `(${typeof target})`);\n }\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n } else if (target) {\n mount(target, targetAnchor);\n }\n } else {\n n2.el = n1.el;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n isSVG = isSVG || isTargetSVG(target);\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, true);\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n }\n updateCssVars(n2);\n },\n remove(vnode, parentComponent, parentSuspense, optimized, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const { shapeFlag, children, anchor, targetAnchor, target, props } = vnode;\n if (target) {\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector }\n}, hydrateChildren) {\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n if (target) {\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (isTeleportDisabled(vnode.props)) {\n vnode.anchor = hydrateChildren(\n nextSibling(node),\n vnode,\n parentNode(node),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n vnode.targetAnchor = targetNode;\n } else {\n vnode.anchor = nextSibling(node);\n let targetAnchor = targetNode;\n while (targetAnchor) {\n targetAnchor = nextSibling(targetAnchor);\n if (targetAnchor && targetAnchor.nodeType === 8 && targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n hydrateChildren(\n targetNode,\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode);\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node = vnode.children[0].el;\n while (node && node !== vnode.targetAnchor) {\n if (node.nodeType === 1)\n node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\n\nconst Fragment = Symbol.for(\"v-fgt\");\nconst Text = Symbol.for(\"v-txt\");\nconst Comment = Symbol.for(\"v-cmt\");\nconst Static = Symbol.for(\"v-stc\");\nconst blockStack = [];\nlet currentBlock = null;\nfunction openBlock(disableTracking = false) {\n blockStack.push(currentBlock = disableTracking ? null : []);\n}\nfunction closeBlock() {\n blockStack.pop();\n currentBlock = blockStack[blockStack.length - 1] || null;\n}\nlet isBlockTreeEnabled = 1;\nfunction setBlockTracking(value) {\n isBlockTreeEnabled += value;\n}\nfunction setupBlock(vnode) {\n vnode.dynamicChildren = isBlockTreeEnabled > 0 ? currentBlock || EMPTY_ARR : null;\n closeBlock();\n if (isBlockTreeEnabled > 0 && currentBlock) {\n currentBlock.push(vnode);\n }\n return vnode;\n}\nfunction createElementBlock(type, props, children, patchFlag, dynamicProps, shapeFlag) {\n return setupBlock(\n createBaseVNode(\n type,\n props,\n children,\n patchFlag,\n dynamicProps,\n shapeFlag,\n true\n /* isBlock */\n )\n );\n}\nfunction createBlock(type, props, children, patchFlag, dynamicProps) {\n return setupBlock(\n createVNode(\n type,\n props,\n children,\n patchFlag,\n dynamicProps,\n true\n /* isBlock: prevent a block from tracking itself */\n )\n );\n}\nfunction isVNode(value) {\n return value ? value.__v_isVNode === true : false;\n}\nfunction isSameVNodeType(n1, n2) {\n if (!!(process.env.NODE_ENV !== \"production\") && n2.shapeFlag & 6 && hmrDirtyComponents.has(n2.type)) {\n n1.shapeFlag &= ~256;\n n2.shapeFlag &= ~512;\n return false;\n }\n return n1.type === n2.type && n1.key === n2.key;\n}\nlet vnodeArgsTransformer;\nfunction transformVNodeArgs(transformer) {\n vnodeArgsTransformer = transformer;\n}\nconst createVNodeWithArgsTransform = (...args) => {\n return _createVNode(\n ...vnodeArgsTransformer ? vnodeArgsTransformer(args, currentRenderingInstance) : args\n );\n};\nconst InternalObjectKey = `__vInternal`;\nconst normalizeKey = ({ key }) => key != null ? key : null;\nconst normalizeRef = ({\n ref,\n ref_key,\n ref_for\n}) => {\n if (typeof ref === \"number\") {\n ref = \"\" + ref;\n }\n return ref != null ? isString(ref) || isRef(ref) || isFunction(ref) ? { i: currentRenderingInstance, r: ref, k: ref_key, f: !!ref_for } : ref : null;\n};\nfunction createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) {\n const vnode = {\n __v_isVNode: true,\n __v_skip: true,\n type,\n props,\n key: props && normalizeKey(props),\n ref: props && normalizeRef(props),\n scopeId: currentScopeId,\n slotScopeIds: null,\n children,\n component: null,\n suspense: null,\n ssContent: null,\n ssFallback: null,\n dirs: null,\n transition: null,\n el: null,\n anchor: null,\n target: null,\n targetAnchor: null,\n staticCount: 0,\n shapeFlag,\n patchFlag,\n dynamicProps,\n dynamicChildren: null,\n appContext: null,\n ctx: currentRenderingInstance\n };\n if (needFullChildrenNormalization) {\n normalizeChildren(vnode, children);\n if (shapeFlag & 128) {\n type.normalize(vnode);\n }\n } else if (children) {\n vnode.shapeFlag |= isString(children) ? 8 : 16;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.key !== vnode.key) {\n warn(`VNode created with invalid key (NaN). VNode type:`, vnode.type);\n }\n if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself\n !isBlockNode && // has current parent block\n currentBlock && // presence of a patch flag indicates this node needs patching on updates.\n // component nodes also should always be patched, because even if the\n // component doesn't need to update, it needs to persist the instance on to\n // the next vnode so that it can be properly unmounted later.\n (vnode.patchFlag > 0 || shapeFlag & 6) && // the EVENTS flag is only for hydration and if it is the only flag, the\n // vnode should not be considered dynamic due to handler caching.\n vnode.patchFlag !== 32) {\n currentBlock.push(vnode);\n }\n return vnode;\n}\nconst createVNode = !!(process.env.NODE_ENV !== \"production\") ? createVNodeWithArgsTransform : _createVNode;\nfunction _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {\n if (!type || type === NULL_DYNAMIC_COMPONENT) {\n if (!!(process.env.NODE_ENV !== \"production\") && !type) {\n warn(`Invalid vnode type when creating vnode: ${type}.`);\n }\n type = Comment;\n }\n if (isVNode(type)) {\n const cloned = cloneVNode(\n type,\n props,\n true\n /* mergeRef: true */\n );\n if (children) {\n normalizeChildren(cloned, children);\n }\n if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {\n if (cloned.shapeFlag & 6) {\n currentBlock[currentBlock.indexOf(type)] = cloned;\n } else {\n currentBlock.push(cloned);\n }\n }\n cloned.patchFlag |= -2;\n return cloned;\n }\n if (isClassComponent(type)) {\n type = type.__vccOpts;\n }\n if (props) {\n props = guardReactiveProps(props);\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (isObject(style)) {\n if (isProxy(style) && !isArray(style)) {\n style = extend({}, style);\n }\n props.style = normalizeStyle(style);\n }\n }\n const shapeFlag = isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject(type) ? 4 : isFunction(type) ? 2 : 0;\n if (!!(process.env.NODE_ENV !== \"production\") && shapeFlag & 4 && isProxy(type)) {\n type = toRaw(type);\n warn(\n `Vue received a Component which was made a reactive object. This can lead to unnecessary performance overhead, and should be avoided by marking the component with \\`markRaw\\` or using \\`shallowRef\\` instead of \\`ref\\`.`,\n `\nComponent that was made reactive: `,\n type\n );\n }\n return createBaseVNode(\n type,\n props,\n children,\n patchFlag,\n dynamicProps,\n shapeFlag,\n isBlockNode,\n true\n );\n}\nfunction guardReactiveProps(props) {\n if (!props)\n return null;\n return isProxy(props) || InternalObjectKey in props ? extend({}, props) : props;\n}\nfunction cloneVNode(vnode, extraProps, mergeRef = false) {\n const { props, ref, patchFlag, children } = vnode;\n const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;\n const cloned = {\n __v_isVNode: true,\n __v_skip: true,\n type: vnode.type,\n props: mergedProps,\n key: mergedProps && normalizeKey(mergedProps),\n ref: extraProps && extraProps.ref ? (\n // #2078 in the case of <component :is=\"vnode\" ref=\"extra\"/>\n // if the vnode itself already has a ref, cloneVNode will need to merge\n // the refs so the single vnode can be set on multiple refs\n mergeRef && ref ? isArray(ref) ? ref.concat(normalizeRef(extraProps)) : [ref, normalizeRef(extraProps)] : normalizeRef(extraProps)\n ) : ref,\n scopeId: vnode.scopeId,\n slotScopeIds: vnode.slotScopeIds,\n children: !!(process.env.NODE_ENV !== \"production\") && patchFlag === -1 && isArray(children) ? children.map(deepCloneVNode) : children,\n target: vnode.target,\n targetAnchor: vnode.targetAnchor,\n staticCount: vnode.staticCount,\n shapeFlag: vnode.shapeFlag,\n // if the vnode is cloned with extra props, we can no longer assume its\n // existing patch flag to be reliable and need to add the FULL_PROPS flag.\n // note: preserve flag for fragments since they use the flag for children\n // fast paths only.\n patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag,\n dynamicProps: vnode.dynamicProps,\n dynamicChildren: vnode.dynamicChildren,\n appContext: vnode.appContext,\n dirs: vnode.dirs,\n transition: vnode.transition,\n // These should technically only be non-null on mounted VNodes. However,\n // they *should* be copied for kept-alive vnodes. So we just always copy\n // them since them being non-null during a mount doesn't affect the logic as\n // they will simply be overwritten.\n component: vnode.component,\n suspense: vnode.suspense,\n ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),\n ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),\n el: vnode.el,\n anchor: vnode.anchor,\n ctx: vnode.ctx,\n ce: vnode.ce\n };\n return cloned;\n}\nfunction deepCloneVNode(vnode) {\n const cloned = cloneVNode(vnode);\n if (isArray(vnode.children)) {\n cloned.children = vnode.children.map(deepCloneVNode);\n }\n return cloned;\n}\nfunction createTextVNode(text = \" \", flag = 0) {\n return createVNode(Text, null, text, flag);\n}\nfunction createStaticVNode(content, numberOfNodes) {\n const vnode = createVNode(Static, null, content);\n vnode.staticCount = numberOfNodes;\n return vnode;\n}\nfunction createCommentVNode(text = \"\", asBlock = false) {\n return asBlock ? (openBlock(), createBlock(Comment, null, text)) : createVNode(Comment, null, text);\n}\nfunction normalizeVNode(child) {\n if (child == null || typeof child === \"boolean\") {\n return createVNode(Comment);\n } else if (isArray(child)) {\n return createVNode(\n Fragment,\n null,\n // #3666, avoid reference pollution when reusing vnode\n child.slice()\n );\n } else if (typeof child === \"object\") {\n return cloneIfMounted(child);\n } else {\n return createVNode(Text, null, String(child));\n }\n}\nfunction cloneIfMounted(child) {\n return child.el === null && child.patchFlag !== -1 || child.memo ? child : cloneVNode(child);\n}\nfunction normalizeChildren(vnode, children) {\n let type = 0;\n const { shapeFlag } = vnode;\n if (children == null) {\n children = null;\n } else if (isArray(children)) {\n type = 16;\n } else if (typeof children === \"object\") {\n if (shapeFlag & (1 | 64)) {\n const slot = children.default;\n if (slot) {\n slot._c && (slot._d = false);\n normalizeChildren(vnode, slot());\n slot._c && (slot._d = true);\n }\n return;\n } else {\n type = 32;\n const slotFlag = children._;\n if (!slotFlag && !(InternalObjectKey in children)) {\n children._ctx = currentRenderingInstance;\n } else if (slotFlag === 3 && currentRenderingInstance) {\n if (currentRenderingInstance.slots._ === 1) {\n children._ = 1;\n } else {\n children._ = 2;\n vnode.patchFlag |= 1024;\n }\n }\n }\n } else if (isFunction(children)) {\n children = { default: children, _ctx: currentRenderingInstance };\n type = 32;\n } else {\n children = String(children);\n if (shapeFlag & 64) {\n type = 16;\n children = [createTextVNode(children)];\n } else {\n type = 8;\n }\n }\n vnode.children = children;\n vnode.shapeFlag |= type;\n}\nfunction mergeProps(...args) {\n const ret = {};\n for (let i = 0; i < args.length; i++) {\n const toMerge = args[i];\n for (const key in toMerge) {\n if (key === \"class\") {\n if (ret.class !== toMerge.class) {\n ret.class = normalizeClass([ret.class, toMerge.class]);\n }\n } else if (key === \"style\") {\n ret.style = normalizeStyle([ret.style, toMerge.style]);\n } else if (isOn(key)) {\n const existing = ret[key];\n const incoming = toMerge[key];\n if (incoming && existing !== incoming && !(isArray(existing) && existing.includes(incoming))) {\n ret[key] = existing ? [].concat(existing, incoming) : incoming;\n }\n } else if (key !== \"\") {\n ret[key] = toMerge[key];\n }\n }\n }\n return ret;\n}\nfunction invokeVNodeHook(hook, instance, vnode, prevVNode = null) {\n callWithAsyncErrorHandling(hook, instance, 7, [\n vnode,\n prevVNode\n ]);\n}\n\nconst emptyAppContext = createAppContext();\nlet uid = 0;\nfunction createComponentInstance(vnode, parent, suspense) {\n const type = vnode.type;\n const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;\n const instance = {\n uid: uid++,\n vnode,\n type,\n parent,\n appContext,\n root: null,\n // to be immediately set\n next: null,\n subTree: null,\n // will be set synchronously right after creation\n effect: null,\n update: null,\n // will be set synchronously right after creation\n scope: new EffectScope(\n true\n /* detached */\n ),\n render: null,\n proxy: null,\n exposed: null,\n exposeProxy: null,\n withProxy: null,\n provides: parent ? parent.provides : Object.create(appContext.provides),\n accessCache: null,\n renderCache: [],\n // local resolved assets\n components: null,\n directives: null,\n // resolved props and emits options\n propsOptions: normalizePropsOptions(type, appContext),\n emitsOptions: normalizeEmitsOptions(type, appContext),\n // emit\n emit: null,\n // to be set immediately\n emitted: null,\n // props default value\n propsDefaults: EMPTY_OBJ,\n // inheritAttrs\n inheritAttrs: type.inheritAttrs,\n // state\n ctx: EMPTY_OBJ,\n data: EMPTY_OBJ,\n props: EMPTY_OBJ,\n attrs: EMPTY_OBJ,\n slots: EMPTY_OBJ,\n refs: EMPTY_OBJ,\n setupState: EMPTY_OBJ,\n setupContext: null,\n attrsProxy: null,\n slotsProxy: null,\n // suspense related\n suspense,\n suspenseId: suspense ? suspense.pendingId : 0,\n asyncDep: null,\n asyncResolved: false,\n // lifecycle hooks\n // not using enums here because it results in computed properties\n isMounted: false,\n isUnmounted: false,\n isDeactivated: false,\n bc: null,\n c: null,\n bm: null,\n m: null,\n bu: null,\n u: null,\n um: null,\n bum: null,\n da: null,\n a: null,\n rtg: null,\n rtc: null,\n ec: null,\n sp: null\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n instance.ctx = createDevRenderContext(instance);\n } else {\n instance.ctx = { _: instance };\n }\n instance.root = parent ? parent.root : instance;\n instance.emit = emit.bind(null, instance);\n if (vnode.ce) {\n vnode.ce(instance);\n }\n return instance;\n}\nlet currentInstance = null;\nconst getCurrentInstance = () => currentInstance || currentRenderingInstance;\nlet internalSetCurrentInstance;\nlet globalCurrentInstanceSetters;\nlet settersKey = \"__VUE_INSTANCE_SETTERS__\";\n{\n if (!(globalCurrentInstanceSetters = getGlobalThis()[settersKey])) {\n globalCurrentInstanceSetters = getGlobalThis()[settersKey] = [];\n }\n globalCurrentInstanceSetters.push((i) => currentInstance = i);\n internalSetCurrentInstance = (instance) => {\n if (globalCurrentInstanceSetters.length > 1) {\n globalCurrentInstanceSetters.forEach((s) => s(instance));\n } else {\n globalCurrentInstanceSetters[0](instance);\n }\n };\n}\nconst setCurrentInstance = (instance) => {\n internalSetCurrentInstance(instance);\n instance.scope.on();\n};\nconst unsetCurrentInstance = () => {\n currentInstance && currentInstance.scope.off();\n internalSetCurrentInstance(null);\n};\nconst isBuiltInTag = /* @__PURE__ */ makeMap(\"slot,component\");\nfunction validateComponentName(name, config) {\n const appIsNativeTag = config.isNativeTag || NO;\n if (isBuiltInTag(name) || appIsNativeTag(name)) {\n warn(\n \"Do not use built-in or reserved HTML elements as component id: \" + name\n );\n }\n}\nfunction isStatefulComponent(instance) {\n return instance.vnode.shapeFlag & 4;\n}\nlet isInSSRComponentSetup = false;\nfunction setupComponent(instance, isSSR = false) {\n isInSSRComponentSetup = isSSR;\n const { props, children } = instance.vnode;\n const isStateful = isStatefulComponent(instance);\n initProps(instance, props, isStateful, isSSR);\n initSlots(instance, children);\n const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;\n isInSSRComponentSetup = false;\n return setupResult;\n}\nfunction setupStatefulComponent(instance, isSSR) {\n var _a;\n const Component = instance.type;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (Component.name) {\n validateComponentName(Component.name, instance.appContext.config);\n }\n if (Component.components) {\n const names = Object.keys(Component.components);\n for (let i = 0; i < names.length; i++) {\n validateComponentName(names[i], instance.appContext.config);\n }\n }\n if (Component.directives) {\n const names = Object.keys(Component.directives);\n for (let i = 0; i < names.length; i++) {\n validateDirectiveName(names[i]);\n }\n }\n if (Component.compilerOptions && isRuntimeOnly()) {\n warn(\n `\"compilerOptions\" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.`\n );\n }\n }\n instance.accessCache = /* @__PURE__ */ Object.create(null);\n instance.proxy = markRaw(new Proxy(instance.ctx, PublicInstanceProxyHandlers));\n if (!!(process.env.NODE_ENV !== \"production\")) {\n exposePropsOnRenderContext(instance);\n }\n const { setup } = Component;\n if (setup) {\n const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null;\n setCurrentInstance(instance);\n pauseTracking();\n const setupResult = callWithErrorHandling(\n setup,\n instance,\n 0,\n [!!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(instance.props) : instance.props, setupContext]\n );\n resetTracking();\n unsetCurrentInstance();\n if (isPromise(setupResult)) {\n setupResult.then(unsetCurrentInstance, unsetCurrentInstance);\n if (isSSR) {\n return setupResult.then((resolvedResult) => {\n handleSetupResult(instance, resolvedResult, isSSR);\n }).catch((e) => {\n handleError(e, instance, 0);\n });\n } else {\n instance.asyncDep = setupResult;\n if (!!(process.env.NODE_ENV !== \"production\") && !instance.suspense) {\n const name = (_a = Component.name) != null ? _a : \"Anonymous\";\n warn(\n `Component <${name}>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered.`\n );\n }\n }\n } else {\n handleSetupResult(instance, setupResult, isSSR);\n }\n } else {\n finishComponentSetup(instance, isSSR);\n }\n}\nfunction handleSetupResult(instance, setupResult, isSSR) {\n if (isFunction(setupResult)) {\n if (instance.type.__ssrInlineRender) {\n instance.ssrRender = setupResult;\n } else {\n instance.render = setupResult;\n }\n } else if (isObject(setupResult)) {\n if (!!(process.env.NODE_ENV !== \"production\") && isVNode(setupResult)) {\n warn(\n `setup() should not return VNodes directly - return a render function instead.`\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.devtoolsRawSetupState = setupResult;\n }\n instance.setupState = proxyRefs(setupResult);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n exposeSetupStateOnRenderContext(instance);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupResult !== void 0) {\n warn(\n `setup() should return an object. Received: ${setupResult === null ? \"null\" : typeof setupResult}`\n );\n }\n finishComponentSetup(instance, isSSR);\n}\nlet compile;\nlet installWithProxy;\nfunction registerRuntimeCompiler(_compile) {\n compile = _compile;\n installWithProxy = (i) => {\n if (i.render._rc) {\n i.withProxy = new Proxy(i.ctx, RuntimeCompiledPublicInstanceProxyHandlers);\n }\n };\n}\nconst isRuntimeOnly = () => !compile;\nfunction finishComponentSetup(instance, isSSR, skipOptions) {\n const Component = instance.type;\n if (!instance.render) {\n if (!isSSR && compile && !Component.render) {\n const template = Component.template || resolveMergedOptions(instance).template;\n if (template) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `compile`);\n }\n const { isCustomElement, compilerOptions } = instance.appContext.config;\n const { delimiters, compilerOptions: componentCompilerOptions } = Component;\n const finalCompilerOptions = extend(\n extend(\n {\n isCustomElement,\n delimiters\n },\n compilerOptions\n ),\n componentCompilerOptions\n );\n Component.render = compile(template, finalCompilerOptions);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `compile`);\n }\n }\n }\n instance.render = Component.render || NOOP;\n if (installWithProxy) {\n installWithProxy(instance);\n }\n }\n if (__VUE_OPTIONS_API__ && true) {\n setCurrentInstance(instance);\n pauseTracking();\n try {\n applyOptions(instance);\n } finally {\n resetTracking();\n unsetCurrentInstance();\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !Component.render && instance.render === NOOP && !isSSR) {\n if (!compile && Component.template) {\n warn(\n `Component provided template option but runtime compilation is not supported in this build of Vue.` + (` Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".` )\n /* should not happen */\n );\n } else {\n warn(`Component is missing template or render function.`);\n }\n }\n}\nfunction getAttrsProxy(instance) {\n return instance.attrsProxy || (instance.attrsProxy = new Proxy(\n instance.attrs,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get(target, key) {\n markAttrsAccessed();\n track(instance, \"get\", \"$attrs\");\n return target[key];\n },\n set() {\n warn(`setupContext.attrs is readonly.`);\n return false;\n },\n deleteProperty() {\n warn(`setupContext.attrs is readonly.`);\n return false;\n }\n } : {\n get(target, key) {\n track(instance, \"get\", \"$attrs\");\n return target[key];\n }\n }\n ));\n}\nfunction getSlotsProxy(instance) {\n return instance.slotsProxy || (instance.slotsProxy = new Proxy(instance.slots, {\n get(target, key) {\n track(instance, \"get\", \"$slots\");\n return target[key];\n }\n }));\n}\nfunction createSetupContext(instance) {\n const expose = (exposed) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (instance.exposed) {\n warn(`expose() should be called only once per setup().`);\n }\n if (exposed != null) {\n let exposedType = typeof exposed;\n if (exposedType === \"object\") {\n if (isArray(exposed)) {\n exposedType = \"array\";\n } else if (isRef(exposed)) {\n exposedType = \"ref\";\n }\n }\n if (exposedType !== \"object\") {\n warn(\n `expose() should be passed a plain object, received ${exposedType}.`\n );\n }\n }\n }\n instance.exposed = exposed || {};\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n return Object.freeze({\n get attrs() {\n return getAttrsProxy(instance);\n },\n get slots() {\n return getSlotsProxy(instance);\n },\n get emit() {\n return (event, ...args) => instance.emit(event, ...args);\n },\n expose\n });\n } else {\n return {\n get attrs() {\n return getAttrsProxy(instance);\n },\n slots: instance.slots,\n emit: instance.emit,\n expose\n };\n }\n}\nfunction getExposeProxy(instance) {\n if (instance.exposed) {\n return instance.exposeProxy || (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), {\n get(target, key) {\n if (key in target) {\n return target[key];\n } else if (key in publicPropertiesMap) {\n return publicPropertiesMap[key](instance);\n }\n },\n has(target, key) {\n return key in target || key in publicPropertiesMap;\n }\n }));\n }\n}\nconst classifyRE = /(?:^|[-_])(\\w)/g;\nconst classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, \"\");\nfunction getComponentName(Component, includeInferred = true) {\n return isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;\n}\nfunction formatComponentName(instance, Component, isRoot = false) {\n let name = getComponentName(Component);\n if (!name && Component.__file) {\n const match = Component.__file.match(/([^/\\\\]+)\\.\\w+$/);\n if (match) {\n name = match[1];\n }\n }\n if (!name && instance && instance.parent) {\n const inferFromRegistry = (registry) => {\n for (const key in registry) {\n if (registry[key] === Component) {\n return key;\n }\n }\n };\n name = inferFromRegistry(\n instance.components || instance.parent.type.components\n ) || inferFromRegistry(instance.appContext.components);\n }\n return name ? classify(name) : isRoot ? `App` : `Anonymous`;\n}\nfunction isClassComponent(value) {\n return isFunction(value) && \"__vccOpts\" in value;\n}\n\nconst computed = (getterOrOptions, debugOptions) => {\n return computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);\n};\n\nfunction h(type, propsOrChildren, children) {\n const l = arguments.length;\n if (l === 2) {\n if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {\n if (isVNode(propsOrChildren)) {\n return createVNode(type, null, [propsOrChildren]);\n }\n return createVNode(type, propsOrChildren);\n } else {\n return createVNode(type, null, propsOrChildren);\n }\n } else {\n if (l > 3) {\n children = Array.prototype.slice.call(arguments, 2);\n } else if (l === 3 && isVNode(children)) {\n children = [children];\n }\n return createVNode(type, propsOrChildren, children);\n }\n}\n\nconst ssrContextKey = Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n !!(process.env.NODE_ENV !== \"production\") && warn(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\n\nfunction initCustomFormatter() {\n if (!!!(process.env.NODE_ENV !== \"production\") || typeof window === \"undefined\") {\n return;\n }\n const vueStyle = { style: \"color:#3ba776\" };\n const numberStyle = { style: \"color:#0b1bc9\" };\n const stringStyle = { style: \"color:#b62e24\" };\n const keywordStyle = { style: \"color:#9d288c\" };\n const formatter = {\n header(obj) {\n if (!isObject(obj)) {\n return null;\n }\n if (obj.__isVue) {\n return [\"div\", vueStyle, `VueInstance`];\n } else if (isRef(obj)) {\n return [\n \"div\",\n {},\n [\"span\", vueStyle, genRefFlag(obj)],\n \"<\",\n formatValue(obj.value),\n `>`\n ];\n } else if (isReactive(obj)) {\n return [\n \"div\",\n {},\n [\"span\", vueStyle, isShallow(obj) ? \"ShallowReactive\" : \"Reactive\"],\n \"<\",\n formatValue(obj),\n `>${isReadonly(obj) ? ` (readonly)` : ``}`\n ];\n } else if (isReadonly(obj)) {\n return [\n \"div\",\n {},\n [\"span\", vueStyle, isShallow(obj) ? \"ShallowReadonly\" : \"Readonly\"],\n \"<\",\n formatValue(obj),\n \">\"\n ];\n }\n return null;\n },\n hasBody(obj) {\n return obj && obj.__isVue;\n },\n body(obj) {\n if (obj && obj.__isVue) {\n return [\n \"div\",\n {},\n ...formatInstance(obj.$)\n ];\n }\n }\n };\n function formatInstance(instance) {\n const blocks = [];\n if (instance.type.props && instance.props) {\n blocks.push(createInstanceBlock(\"props\", toRaw(instance.props)));\n }\n if (instance.setupState !== EMPTY_OBJ) {\n blocks.push(createInstanceBlock(\"setup\", instance.setupState));\n }\n if (instance.data !== EMPTY_OBJ) {\n blocks.push(createInstanceBlock(\"data\", toRaw(instance.data)));\n }\n const computed = extractKeys(instance, \"computed\");\n if (computed) {\n blocks.push(createInstanceBlock(\"computed\", computed));\n }\n const injected = extractKeys(instance, \"inject\");\n if (injected) {\n blocks.push(createInstanceBlock(\"injected\", injected));\n }\n blocks.push([\n \"div\",\n {},\n [\n \"span\",\n {\n style: keywordStyle.style + \";opacity:0.66\"\n },\n \"$ (internal): \"\n ],\n [\"object\", { object: instance }]\n ]);\n return blocks;\n }\n function createInstanceBlock(type, target) {\n target = extend({}, target);\n if (!Object.keys(target).length) {\n return [\"span\", {}];\n }\n return [\n \"div\",\n { style: \"line-height:1.25em;margin-bottom:0.6em\" },\n [\n \"div\",\n {\n style: \"color:#476582\"\n },\n type\n ],\n [\n \"div\",\n {\n style: \"padding-left:1.25em\"\n },\n ...Object.keys(target).map((key) => {\n return [\n \"div\",\n {},\n [\"span\", keywordStyle, key + \": \"],\n formatValue(target[key], false)\n ];\n })\n ]\n ];\n }\n function formatValue(v, asRaw = true) {\n if (typeof v === \"number\") {\n return [\"span\", numberStyle, v];\n } else if (typeof v === \"string\") {\n return [\"span\", stringStyle, JSON.stringify(v)];\n } else if (typeof v === \"boolean\") {\n return [\"span\", keywordStyle, v];\n } else if (isObject(v)) {\n return [\"object\", { object: asRaw ? toRaw(v) : v }];\n } else {\n return [\"span\", stringStyle, String(v)];\n }\n }\n function extractKeys(instance, type) {\n const Comp = instance.type;\n if (isFunction(Comp)) {\n return;\n }\n const extracted = {};\n for (const key in instance.ctx) {\n if (isKeyOfType(Comp, key, type)) {\n extracted[key] = instance.ctx[key];\n }\n }\n return extracted;\n }\n function isKeyOfType(Comp, key, type) {\n const opts = Comp[type];\n if (isArray(opts) && opts.includes(key) || isObject(opts) && key in opts) {\n return true;\n }\n if (Comp.extends && isKeyOfType(Comp.extends, key, type)) {\n return true;\n }\n if (Comp.mixins && Comp.mixins.some((m) => isKeyOfType(m, key, type))) {\n return true;\n }\n }\n function genRefFlag(v) {\n if (isShallow(v)) {\n return `ShallowRef`;\n }\n if (v.effect) {\n return `ComputedRef`;\n }\n return `Ref`;\n }\n if (window.devtoolsFormatters) {\n window.devtoolsFormatters.push(formatter);\n } else {\n window.devtoolsFormatters = [formatter];\n }\n}\n\nfunction withMemo(memo, render, cache, index) {\n const cached = cache[index];\n if (cached && isMemoSame(cached, memo)) {\n return cached;\n }\n const ret = render();\n ret.memo = memo.slice();\n return cache[index] = ret;\n}\nfunction isMemoSame(cached, memo) {\n const prev = cached.memo;\n if (prev.length != memo.length) {\n return false;\n }\n for (let i = 0; i < prev.length; i++) {\n if (hasChanged(prev[i], memo[i])) {\n return false;\n }\n }\n if (isBlockTreeEnabled > 0 && currentBlock) {\n currentBlock.push(cached);\n }\n return true;\n}\n\nconst version = \"3.3.8\";\nconst _ssrUtils = {\n createComponentInstance,\n setupComponent,\n renderComponentRoot,\n setCurrentRenderingInstance,\n isVNode: isVNode,\n normalizeVNode\n};\nconst ssrUtils = _ssrUtils ;\nconst resolveFilter = null;\nconst compatUtils = null;\n\nexport { BaseTransition, BaseTransitionPropsValidators, Comment, Fragment, KeepAlive, Static, Suspense, Teleport, Text, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, cloneVNode, compatUtils, computed, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSlots, devtools, getCurrentInstance, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, initCustomFormatter, inject, isMemoSame, isRuntimeOnly, isVNode, mergeDefaults, mergeModels, mergeProps, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, pushScopeId, queuePostFlushCb, registerRuntimeCompiler, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, ssrContextKey, ssrUtils, toHandlers, transformVNodeArgs, useAttrs, useModel, useSSRContext, useSlots, useTransitionState, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withMemo, withScopeId };\n","import { h, BaseTransition, BaseTransitionPropsValidators, assertNumber, warn, camelize, callWithAsyncErrorHandling, defineComponent, nextTick, createVNode, getCurrentInstance, watchPostEffect, onMounted, onUnmounted, Fragment, Static, useTransitionState, onUpdated, toRaw, getTransitionRawChildren, setTransitionHooks, resolveTransitionHooks, isRuntimeOnly, createRenderer, createHydrationRenderer } from '@vue/runtime-core';\nexport * from '@vue/runtime-core';\nimport { extend, isObject, toNumber, isArray, isString, hyphenate, capitalize, isSpecialBooleanAttr, includeBooleanAttr, isOn, isModelListener, isFunction, camelize as camelize$1, EMPTY_OBJ, looseToNumber, looseIndexOf, isSet, looseEqual, invokeArrayFns, isHTMLTag, isSVGTag } from '@vue/shared';\n\nconst svgNS = \"http://www.w3.org/2000/svg\";\nconst doc = typeof document !== \"undefined\" ? document : null;\nconst templateContainer = doc && /* @__PURE__ */ doc.createElement(\"template\");\nconst nodeOps = {\n insert: (child, parent, anchor) => {\n parent.insertBefore(child, anchor || null);\n },\n remove: (child) => {\n const parent = child.parentNode;\n if (parent) {\n parent.removeChild(child);\n }\n },\n createElement: (tag, isSVG, is, props) => {\n const el = isSVG ? doc.createElementNS(svgNS, tag) : doc.createElement(tag, is ? { is } : void 0);\n if (tag === \"select\" && props && props.multiple != null) {\n el.setAttribute(\"multiple\", props.multiple);\n }\n return el;\n },\n createText: (text) => doc.createTextNode(text),\n createComment: (text) => doc.createComment(text),\n setText: (node, text) => {\n node.nodeValue = text;\n },\n setElementText: (el, text) => {\n el.textContent = text;\n },\n parentNode: (node) => node.parentNode,\n nextSibling: (node) => node.nextSibling,\n querySelector: (selector) => doc.querySelector(selector),\n setScopeId(el, id) {\n el.setAttribute(id, \"\");\n },\n // __UNSAFE__\n // Reason: innerHTML.\n // Static content here can only come from compiled templates.\n // As long as the user only uses trusted templates, this is safe.\n insertStaticContent(content, parent, anchor, isSVG, start, end) {\n const before = anchor ? anchor.previousSibling : parent.lastChild;\n if (start && (start === end || start.nextSibling)) {\n while (true) {\n parent.insertBefore(start.cloneNode(true), anchor);\n if (start === end || !(start = start.nextSibling))\n break;\n }\n } else {\n templateContainer.innerHTML = isSVG ? `<svg>${content}</svg>` : content;\n const template = templateContainer.content;\n if (isSVG) {\n const wrapper = template.firstChild;\n while (wrapper.firstChild) {\n template.appendChild(wrapper.firstChild);\n }\n template.removeChild(wrapper);\n }\n parent.insertBefore(template, anchor);\n }\n return [\n // first\n before ? before.nextSibling : parent.firstChild,\n // last\n anchor ? anchor.previousSibling : parent.lastChild\n ];\n }\n};\n\nconst TRANSITION = \"transition\";\nconst ANIMATION = \"animation\";\nconst vtcKey = Symbol(\"_vtc\");\nconst Transition = (props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots);\nTransition.displayName = \"Transition\";\nconst DOMTransitionPropsValidators = {\n name: String,\n type: String,\n css: {\n type: Boolean,\n default: true\n },\n duration: [String, Number, Object],\n enterFromClass: String,\n enterActiveClass: String,\n enterToClass: String,\n appearFromClass: String,\n appearActiveClass: String,\n appearToClass: String,\n leaveFromClass: String,\n leaveActiveClass: String,\n leaveToClass: String\n};\nconst TransitionPropsValidators = Transition.props = /* @__PURE__ */ extend(\n {},\n BaseTransitionPropsValidators,\n DOMTransitionPropsValidators\n);\nconst callHook = (hook, args = []) => {\n if (isArray(hook)) {\n hook.forEach((h2) => h2(...args));\n } else if (hook) {\n hook(...args);\n }\n};\nconst hasExplicitCallback = (hook) => {\n return hook ? isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;\n};\nfunction resolveTransitionProps(rawProps) {\n const baseProps = {};\n for (const key in rawProps) {\n if (!(key in DOMTransitionPropsValidators)) {\n baseProps[key] = rawProps[key];\n }\n }\n if (rawProps.css === false) {\n return baseProps;\n }\n const {\n name = \"v\",\n type,\n duration,\n enterFromClass = `${name}-enter-from`,\n enterActiveClass = `${name}-enter-active`,\n enterToClass = `${name}-enter-to`,\n appearFromClass = enterFromClass,\n appearActiveClass = enterActiveClass,\n appearToClass = enterToClass,\n leaveFromClass = `${name}-leave-from`,\n leaveActiveClass = `${name}-leave-active`,\n leaveToClass = `${name}-leave-to`\n } = rawProps;\n const durations = normalizeDuration(duration);\n const enterDuration = durations && durations[0];\n const leaveDuration = durations && durations[1];\n const {\n onBeforeEnter,\n onEnter,\n onEnterCancelled,\n onLeave,\n onLeaveCancelled,\n onBeforeAppear = onBeforeEnter,\n onAppear = onEnter,\n onAppearCancelled = onEnterCancelled\n } = baseProps;\n const finishEnter = (el, isAppear, done) => {\n removeTransitionClass(el, isAppear ? appearToClass : enterToClass);\n removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);\n done && done();\n };\n const finishLeave = (el, done) => {\n el._isLeaving = false;\n removeTransitionClass(el, leaveFromClass);\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n done && done();\n };\n const makeEnterHook = (isAppear) => {\n return (el, done) => {\n const hook = isAppear ? onAppear : onEnter;\n const resolve = () => finishEnter(el, isAppear, done);\n callHook(hook, [el, resolve]);\n nextFrame(() => {\n removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);\n addTransitionClass(el, isAppear ? appearToClass : enterToClass);\n if (!hasExplicitCallback(hook)) {\n whenTransitionEnds(el, type, enterDuration, resolve);\n }\n });\n };\n };\n return extend(baseProps, {\n onBeforeEnter(el) {\n callHook(onBeforeEnter, [el]);\n addTransitionClass(el, enterFromClass);\n addTransitionClass(el, enterActiveClass);\n },\n onBeforeAppear(el) {\n callHook(onBeforeAppear, [el]);\n addTransitionClass(el, appearFromClass);\n addTransitionClass(el, appearActiveClass);\n },\n onEnter: makeEnterHook(false),\n onAppear: makeEnterHook(true),\n onLeave(el, done) {\n el._isLeaving = true;\n const resolve = () => finishLeave(el, done);\n addTransitionClass(el, leaveFromClass);\n forceReflow();\n addTransitionClass(el, leaveActiveClass);\n nextFrame(() => {\n if (!el._isLeaving) {\n return;\n }\n removeTransitionClass(el, leaveFromClass);\n addTransitionClass(el, leaveToClass);\n if (!hasExplicitCallback(onLeave)) {\n whenTransitionEnds(el, type, leaveDuration, resolve);\n }\n });\n callHook(onLeave, [el, resolve]);\n },\n onEnterCancelled(el) {\n finishEnter(el, false);\n callHook(onEnterCancelled, [el]);\n },\n onAppearCancelled(el) {\n finishEnter(el, true);\n callHook(onAppearCancelled, [el]);\n },\n onLeaveCancelled(el) {\n finishLeave(el);\n callHook(onLeaveCancelled, [el]);\n }\n });\n}\nfunction normalizeDuration(duration) {\n if (duration == null) {\n return null;\n } else if (isObject(duration)) {\n return [NumberOf(duration.enter), NumberOf(duration.leave)];\n } else {\n const n = NumberOf(duration);\n return [n, n];\n }\n}\nfunction NumberOf(val) {\n const res = toNumber(val);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(res, \"<transition> explicit duration\");\n }\n return res;\n}\nfunction addTransitionClass(el, cls) {\n cls.split(/\\s+/).forEach((c) => c && el.classList.add(c));\n (el[vtcKey] || (el[vtcKey] = /* @__PURE__ */ new Set())).add(cls);\n}\nfunction removeTransitionClass(el, cls) {\n cls.split(/\\s+/).forEach((c) => c && el.classList.remove(c));\n const _vtc = el[vtcKey];\n if (_vtc) {\n _vtc.delete(cls);\n if (!_vtc.size) {\n el[vtcKey] = void 0;\n }\n }\n}\nfunction nextFrame(cb) {\n requestAnimationFrame(() => {\n requestAnimationFrame(cb);\n });\n}\nlet endId = 0;\nfunction whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {\n const id = el._endId = ++endId;\n const resolveIfNotStale = () => {\n if (id === el._endId) {\n resolve();\n }\n };\n if (explicitTimeout) {\n return setTimeout(resolveIfNotStale, explicitTimeout);\n }\n const { type, timeout, propCount } = getTransitionInfo(el, expectedType);\n if (!type) {\n return resolve();\n }\n const endEvent = type + \"end\";\n let ended = 0;\n const end = () => {\n el.removeEventListener(endEvent, onEnd);\n resolveIfNotStale();\n };\n const onEnd = (e) => {\n if (e.target === el && ++ended >= propCount) {\n end();\n }\n };\n setTimeout(() => {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(endEvent, onEnd);\n}\nfunction getTransitionInfo(el, expectedType) {\n const styles = window.getComputedStyle(el);\n const getStyleProperties = (key) => (styles[key] || \"\").split(\", \");\n const transitionDelays = getStyleProperties(`${TRANSITION}Delay`);\n const transitionDurations = getStyleProperties(`${TRANSITION}Duration`);\n const transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n const animationDelays = getStyleProperties(`${ANIMATION}Delay`);\n const animationDurations = getStyleProperties(`${ANIMATION}Duration`);\n const animationTimeout = getTimeout(animationDelays, animationDurations);\n let type = null;\n let timeout = 0;\n let propCount = 0;\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;\n propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;\n }\n const hasTransform = type === TRANSITION && /\\b(transform|all)(,|$)/.test(\n getStyleProperties(`${TRANSITION}Property`).toString()\n );\n return {\n type,\n timeout,\n propCount,\n hasTransform\n };\n}\nfunction getTimeout(delays, durations) {\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));\n}\nfunction toMs(s) {\n if (s === \"auto\")\n return 0;\n return Number(s.slice(0, -1).replace(\",\", \".\")) * 1e3;\n}\nfunction forceReflow() {\n return document.body.offsetHeight;\n}\n\nfunction patchClass(el, value, isSVG) {\n const transitionClasses = el[vtcKey];\n if (transitionClasses) {\n value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(\" \");\n }\n if (value == null) {\n el.removeAttribute(\"class\");\n } else if (isSVG) {\n el.setAttribute(\"class\", value);\n } else {\n el.className = value;\n }\n}\n\nconst vShowOldKey = Symbol(\"_vod\");\nconst vShow = {\n beforeMount(el, { value }, { transition }) {\n el[vShowOldKey] = el.style.display === \"none\" ? \"\" : el.style.display;\n if (transition && value) {\n transition.beforeEnter(el);\n } else {\n setDisplay(el, value);\n }\n },\n mounted(el, { value }, { transition }) {\n if (transition && value) {\n transition.enter(el);\n }\n },\n updated(el, { value, oldValue }, { transition }) {\n if (!value === !oldValue)\n return;\n if (transition) {\n if (value) {\n transition.beforeEnter(el);\n setDisplay(el, true);\n transition.enter(el);\n } else {\n transition.leave(el, () => {\n setDisplay(el, false);\n });\n }\n } else {\n setDisplay(el, value);\n }\n },\n beforeUnmount(el, { value }) {\n setDisplay(el, value);\n }\n};\nfunction setDisplay(el, value) {\n el.style.display = value ? el[vShowOldKey] : \"none\";\n}\nfunction initVShowForSSR() {\n vShow.getSSRProps = ({ value }) => {\n if (!value) {\n return { style: { display: \"none\" } };\n }\n };\n}\n\nfunction patchStyle(el, prev, next) {\n const style = el.style;\n const isCssString = isString(next);\n if (next && !isCssString) {\n if (prev && !isString(prev)) {\n for (const key in prev) {\n if (next[key] == null) {\n setStyle(style, key, \"\");\n }\n }\n }\n for (const key in next) {\n setStyle(style, key, next[key]);\n }\n } else {\n const currentDisplay = style.display;\n if (isCssString) {\n if (prev !== next) {\n style.cssText = next;\n }\n } else if (prev) {\n el.removeAttribute(\"style\");\n }\n if (vShowOldKey in el) {\n style.display = currentDisplay;\n }\n }\n}\nconst semicolonRE = /[^\\\\];\\s*$/;\nconst importantRE = /\\s*!important$/;\nfunction setStyle(style, name, val) {\n if (isArray(val)) {\n val.forEach((v) => setStyle(style, name, v));\n } else {\n if (val == null)\n val = \"\";\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (semicolonRE.test(val)) {\n warn(\n `Unexpected semicolon at the end of '${name}' style value: '${val}'`\n );\n }\n }\n if (name.startsWith(\"--\")) {\n style.setProperty(name, val);\n } else {\n const prefixed = autoPrefix(style, name);\n if (importantRE.test(val)) {\n style.setProperty(\n hyphenate(prefixed),\n val.replace(importantRE, \"\"),\n \"important\"\n );\n } else {\n style[prefixed] = val;\n }\n }\n }\n}\nconst prefixes = [\"Webkit\", \"Moz\", \"ms\"];\nconst prefixCache = {};\nfunction autoPrefix(style, rawName) {\n const cached = prefixCache[rawName];\n if (cached) {\n return cached;\n }\n let name = camelize(rawName);\n if (name !== \"filter\" && name in style) {\n return prefixCache[rawName] = name;\n }\n name = capitalize(name);\n for (let i = 0; i < prefixes.length; i++) {\n const prefixed = prefixes[i] + name;\n if (prefixed in style) {\n return prefixCache[rawName] = prefixed;\n }\n }\n return rawName;\n}\n\nconst xlinkNS = \"http://www.w3.org/1999/xlink\";\nfunction patchAttr(el, key, value, isSVG, instance) {\n if (isSVG && key.startsWith(\"xlink:\")) {\n if (value == null) {\n el.removeAttributeNS(xlinkNS, key.slice(6, key.length));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n const isBoolean = isSpecialBooleanAttr(key);\n if (value == null || isBoolean && !includeBooleanAttr(value)) {\n el.removeAttribute(key);\n } else {\n el.setAttribute(key, isBoolean ? \"\" : value);\n }\n }\n}\n\nfunction patchDOMProp(el, key, value, prevChildren, parentComponent, parentSuspense, unmountChildren) {\n if (key === \"innerHTML\" || key === \"textContent\") {\n if (prevChildren) {\n unmountChildren(prevChildren, parentComponent, parentSuspense);\n }\n el[key] = value == null ? \"\" : value;\n return;\n }\n const tag = el.tagName;\n if (key === \"value\" && tag !== \"PROGRESS\" && // custom elements may use _value internally\n !tag.includes(\"-\")) {\n el._value = value;\n const oldValue = tag === \"OPTION\" ? el.getAttribute(\"value\") : el.value;\n const newValue = value == null ? \"\" : value;\n if (oldValue !== newValue) {\n el.value = newValue;\n }\n if (value == null) {\n el.removeAttribute(key);\n }\n return;\n }\n let needRemove = false;\n if (value === \"\" || value == null) {\n const type = typeof el[key];\n if (type === \"boolean\") {\n value = includeBooleanAttr(value);\n } else if (value == null && type === \"string\") {\n value = \"\";\n needRemove = true;\n } else if (type === \"number\") {\n value = 0;\n needRemove = true;\n }\n }\n try {\n el[key] = value;\n } catch (e) {\n if (!!(process.env.NODE_ENV !== \"production\") && !needRemove) {\n warn(\n `Failed setting prop \"${key}\" on <${tag.toLowerCase()}>: value ${value} is invalid.`,\n e\n );\n }\n }\n needRemove && el.removeAttribute(key);\n}\n\nfunction addEventListener(el, event, handler, options) {\n el.addEventListener(event, handler, options);\n}\nfunction removeEventListener(el, event, handler, options) {\n el.removeEventListener(event, handler, options);\n}\nconst veiKey = Symbol(\"_vei\");\nfunction patchEvent(el, rawName, prevValue, nextValue, instance = null) {\n const invokers = el[veiKey] || (el[veiKey] = {});\n const existingInvoker = invokers[rawName];\n if (nextValue && existingInvoker) {\n existingInvoker.value = nextValue;\n } else {\n const [name, options] = parseName(rawName);\n if (nextValue) {\n const invoker = invokers[rawName] = createInvoker(nextValue, instance);\n addEventListener(el, name, invoker, options);\n } else if (existingInvoker) {\n removeEventListener(el, name, existingInvoker, options);\n invokers[rawName] = void 0;\n }\n }\n}\nconst optionsModifierRE = /(?:Once|Passive|Capture)$/;\nfunction parseName(name) {\n let options;\n if (optionsModifierRE.test(name)) {\n options = {};\n let m;\n while (m = name.match(optionsModifierRE)) {\n name = name.slice(0, name.length - m[0].length);\n options[m[0].toLowerCase()] = true;\n }\n }\n const event = name[2] === \":\" ? name.slice(3) : hyphenate(name.slice(2));\n return [event, options];\n}\nlet cachedNow = 0;\nconst p = /* @__PURE__ */ Promise.resolve();\nconst getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());\nfunction createInvoker(initialValue, instance) {\n const invoker = (e) => {\n if (!e._vts) {\n e._vts = Date.now();\n } else if (e._vts <= invoker.attached) {\n return;\n }\n callWithAsyncErrorHandling(\n patchStopImmediatePropagation(e, invoker.value),\n instance,\n 5,\n [e]\n );\n };\n invoker.value = initialValue;\n invoker.attached = getNow();\n return invoker;\n}\nfunction patchStopImmediatePropagation(e, value) {\n if (isArray(value)) {\n const originalStop = e.stopImmediatePropagation;\n e.stopImmediatePropagation = () => {\n originalStop.call(e);\n e._stopped = true;\n };\n return value.map((fn) => (e2) => !e2._stopped && fn && fn(e2));\n } else {\n return value;\n }\n}\n\nconst nativeOnRE = /^on[a-z]/;\nconst patchProp = (el, key, prevValue, nextValue, isSVG = false, prevChildren, parentComponent, parentSuspense, unmountChildren) => {\n if (key === \"class\") {\n patchClass(el, nextValue, isSVG);\n } else if (key === \"style\") {\n patchStyle(el, prevValue, nextValue);\n } else if (isOn(key)) {\n if (!isModelListener(key)) {\n patchEvent(el, key, prevValue, nextValue, parentComponent);\n }\n } else if (key[0] === \".\" ? (key = key.slice(1), true) : key[0] === \"^\" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) {\n patchDOMProp(\n el,\n key,\n nextValue,\n prevChildren,\n parentComponent,\n parentSuspense,\n unmountChildren\n );\n } else {\n if (key === \"true-value\") {\n el._trueValue = nextValue;\n } else if (key === \"false-value\") {\n el._falseValue = nextValue;\n }\n patchAttr(el, key, nextValue, isSVG);\n }\n};\nfunction shouldSetAsProp(el, key, value, isSVG) {\n if (isSVG) {\n if (key === \"innerHTML\" || key === \"textContent\") {\n return true;\n }\n if (key in el && nativeOnRE.test(key) && isFunction(value)) {\n return true;\n }\n return false;\n }\n if (key === \"spellcheck\" || key === \"draggable\" || key === \"translate\") {\n return false;\n }\n if (key === \"form\") {\n return false;\n }\n if (key === \"list\" && el.tagName === \"INPUT\") {\n return false;\n }\n if (key === \"type\" && el.tagName === \"TEXTAREA\") {\n return false;\n }\n if (nativeOnRE.test(key) && isString(value)) {\n return false;\n }\n return key in el;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineCustomElement(options, hydrate2) {\n const Comp = defineComponent(options);\n class VueCustomElement extends VueElement {\n constructor(initialProps) {\n super(Comp, initialProps, hydrate2);\n }\n }\n VueCustomElement.def = Comp;\n return VueCustomElement;\n}\n/*! #__NO_SIDE_EFFECTS__ */\nconst defineSSRCustomElement = /* @__NO_SIDE_EFFECTS__ */ (options) => {\n return /* @__PURE__ */ defineCustomElement(options, hydrate);\n};\nconst BaseClass = typeof HTMLElement !== \"undefined\" ? HTMLElement : class {\n};\nclass VueElement extends BaseClass {\n constructor(_def, _props = {}, hydrate2) {\n super();\n this._def = _def;\n this._props = _props;\n /**\n * @internal\n */\n this._instance = null;\n this._connected = false;\n this._resolved = false;\n this._numberProps = null;\n this._ob = null;\n if (this.shadowRoot && hydrate2) {\n hydrate2(this._createVNode(), this.shadowRoot);\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && this.shadowRoot) {\n warn(\n `Custom element has pre-rendered declarative shadow root but is not defined as hydratable. Use \\`defineSSRCustomElement\\`.`\n );\n }\n this.attachShadow({ mode: \"open\" });\n if (!this._def.__asyncLoader) {\n this._resolveProps(this._def);\n }\n }\n }\n connectedCallback() {\n this._connected = true;\n if (!this._instance) {\n if (this._resolved) {\n this._update();\n } else {\n this._resolveDef();\n }\n }\n }\n disconnectedCallback() {\n this._connected = false;\n if (this._ob) {\n this._ob.disconnect();\n this._ob = null;\n }\n nextTick(() => {\n if (!this._connected) {\n render(null, this.shadowRoot);\n this._instance = null;\n }\n });\n }\n /**\n * resolve inner component definition (handle possible async component)\n */\n _resolveDef() {\n this._resolved = true;\n for (let i = 0; i < this.attributes.length; i++) {\n this._setAttr(this.attributes[i].name);\n }\n this._ob = new MutationObserver((mutations) => {\n for (const m of mutations) {\n this._setAttr(m.attributeName);\n }\n });\n this._ob.observe(this, { attributes: true });\n const resolve = (def, isAsync = false) => {\n const { props, styles } = def;\n let numberProps;\n if (props && !isArray(props)) {\n for (const key in props) {\n const opt = props[key];\n if (opt === Number || opt && opt.type === Number) {\n if (key in this._props) {\n this._props[key] = toNumber(this._props[key]);\n }\n (numberProps || (numberProps = /* @__PURE__ */ Object.create(null)))[camelize$1(key)] = true;\n }\n }\n }\n this._numberProps = numberProps;\n if (isAsync) {\n this._resolveProps(def);\n }\n this._applyStyles(styles);\n this._update();\n };\n const asyncDef = this._def.__asyncLoader;\n if (asyncDef) {\n asyncDef().then((def) => resolve(def, true));\n } else {\n resolve(this._def);\n }\n }\n _resolveProps(def) {\n const { props } = def;\n const declaredPropKeys = isArray(props) ? props : Object.keys(props || {});\n for (const key of Object.keys(this)) {\n if (key[0] !== \"_\" && declaredPropKeys.includes(key)) {\n this._setProp(key, this[key], true, false);\n }\n }\n for (const key of declaredPropKeys.map(camelize$1)) {\n Object.defineProperty(this, key, {\n get() {\n return this._getProp(key);\n },\n set(val) {\n this._setProp(key, val);\n }\n });\n }\n }\n _setAttr(key) {\n let value = this.getAttribute(key);\n const camelKey = camelize$1(key);\n if (this._numberProps && this._numberProps[camelKey]) {\n value = toNumber(value);\n }\n this._setProp(camelKey, value, false);\n }\n /**\n * @internal\n */\n _getProp(key) {\n return this._props[key];\n }\n /**\n * @internal\n */\n _setProp(key, val, shouldReflect = true, shouldUpdate = true) {\n if (val !== this._props[key]) {\n this._props[key] = val;\n if (shouldUpdate && this._instance) {\n this._update();\n }\n if (shouldReflect) {\n if (val === true) {\n this.setAttribute(hyphenate(key), \"\");\n } else if (typeof val === \"string\" || typeof val === \"number\") {\n this.setAttribute(hyphenate(key), val + \"\");\n } else if (!val) {\n this.removeAttribute(hyphenate(key));\n }\n }\n }\n }\n _update() {\n render(this._createVNode(), this.shadowRoot);\n }\n _createVNode() {\n const vnode = createVNode(this._def, extend({}, this._props));\n if (!this._instance) {\n vnode.ce = (instance) => {\n this._instance = instance;\n instance.isCE = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n instance.ceReload = (newStyles) => {\n if (this._styles) {\n this._styles.forEach((s) => this.shadowRoot.removeChild(s));\n this._styles.length = 0;\n }\n this._applyStyles(newStyles);\n this._instance = null;\n this._update();\n };\n }\n const dispatch = (event, args) => {\n this.dispatchEvent(\n new CustomEvent(event, {\n detail: args\n })\n );\n };\n instance.emit = (event, ...args) => {\n dispatch(event, args);\n if (hyphenate(event) !== event) {\n dispatch(hyphenate(event), args);\n }\n };\n let parent = this;\n while (parent = parent && (parent.parentNode || parent.host)) {\n if (parent instanceof VueElement) {\n instance.parent = parent._instance;\n instance.provides = parent._instance.provides;\n break;\n }\n }\n };\n }\n return vnode;\n }\n _applyStyles(styles) {\n if (styles) {\n styles.forEach((css) => {\n const s = document.createElement(\"style\");\n s.textContent = css;\n this.shadowRoot.appendChild(s);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (this._styles || (this._styles = [])).push(s);\n }\n });\n }\n }\n}\n\nfunction useCssModule(name = \"$style\") {\n {\n const instance = getCurrentInstance();\n if (!instance) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`useCssModule must be called inside setup()`);\n return EMPTY_OBJ;\n }\n const modules = instance.type.__cssModules;\n if (!modules) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`Current instance does not have CSS modules injected.`);\n return EMPTY_OBJ;\n }\n const mod = modules[name];\n if (!mod) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`Current instance does not have CSS module named \"${name}\".`);\n return EMPTY_OBJ;\n }\n return mod;\n }\n}\n\nfunction useCssVars(getter) {\n const instance = getCurrentInstance();\n if (!instance) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`useCssVars is called without current active component instance.`);\n return;\n }\n const updateTeleports = instance.ut = (vars = getter(instance.proxy)) => {\n Array.from(\n document.querySelectorAll(`[data-v-owner=\"${instance.uid}\"]`)\n ).forEach((node) => setVarsOnNode(node, vars));\n };\n const setVars = () => {\n const vars = getter(instance.proxy);\n setVarsOnVNode(instance.subTree, vars);\n updateTeleports(vars);\n };\n watchPostEffect(setVars);\n onMounted(() => {\n const ob = new MutationObserver(setVars);\n ob.observe(instance.subTree.el.parentNode, { childList: true });\n onUnmounted(() => ob.disconnect());\n });\n}\nfunction setVarsOnVNode(vnode, vars) {\n if (vnode.shapeFlag & 128) {\n const suspense = vnode.suspense;\n vnode = suspense.activeBranch;\n if (suspense.pendingBranch && !suspense.isHydrating) {\n suspense.effects.push(() => {\n setVarsOnVNode(suspense.activeBranch, vars);\n });\n }\n }\n while (vnode.component) {\n vnode = vnode.component.subTree;\n }\n if (vnode.shapeFlag & 1 && vnode.el) {\n setVarsOnNode(vnode.el, vars);\n } else if (vnode.type === Fragment) {\n vnode.children.forEach((c) => setVarsOnVNode(c, vars));\n } else if (vnode.type === Static) {\n let { el, anchor } = vnode;\n while (el) {\n setVarsOnNode(el, vars);\n if (el === anchor)\n break;\n el = el.nextSibling;\n }\n }\n}\nfunction setVarsOnNode(el, vars) {\n if (el.nodeType === 1) {\n const style = el.style;\n for (const key in vars) {\n style.setProperty(`--${key}`, vars[key]);\n }\n }\n}\n\nconst positionMap = /* @__PURE__ */ new WeakMap();\nconst newPositionMap = /* @__PURE__ */ new WeakMap();\nconst moveCbKey = Symbol(\"_moveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nconst TransitionGroupImpl = {\n name: \"TransitionGroup\",\n props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {\n tag: String,\n moveClass: String\n }),\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevChildren;\n let children;\n onUpdated(() => {\n if (!prevChildren.length) {\n return;\n }\n const moveClass = props.moveClass || `${props.name || \"v\"}-move`;\n if (!hasCSSTransform(\n prevChildren[0].el,\n instance.vnode.el,\n moveClass\n )) {\n return;\n }\n prevChildren.forEach(callPendingCbs);\n prevChildren.forEach(recordPosition);\n const movedChildren = prevChildren.filter(applyTranslation);\n forceReflow();\n movedChildren.forEach((c) => {\n const el = c.el;\n const style = el.style;\n addTransitionClass(el, moveClass);\n style.transform = style.webkitTransform = style.transitionDuration = \"\";\n const cb = el[moveCbKey] = (e) => {\n if (e && e.target !== el) {\n return;\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(\"transitionend\", cb);\n el[moveCbKey] = null;\n removeTransitionClass(el, moveClass);\n }\n };\n el.addEventListener(\"transitionend\", cb);\n });\n });\n return () => {\n const rawProps = toRaw(props);\n const cssTransitionProps = resolveTransitionProps(rawProps);\n let tag = rawProps.tag || Fragment;\n prevChildren = children;\n children = slots.default ? getTransitionRawChildren(slots.default()) : [];\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child.key != null) {\n setTransitionHooks(\n child,\n resolveTransitionHooks(child, cssTransitionProps, state, instance)\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`<TransitionGroup> children must be keyed.`);\n }\n }\n if (prevChildren) {\n for (let i = 0; i < prevChildren.length; i++) {\n const child = prevChildren[i];\n setTransitionHooks(\n child,\n resolveTransitionHooks(child, cssTransitionProps, state, instance)\n );\n positionMap.set(child, child.el.getBoundingClientRect());\n }\n }\n return createVNode(tag, null, children);\n };\n }\n};\nconst removeMode = (props) => delete props.mode;\n/* @__PURE__ */ removeMode(TransitionGroupImpl.props);\nconst TransitionGroup = TransitionGroupImpl;\nfunction callPendingCbs(c) {\n const el = c.el;\n if (el[moveCbKey]) {\n el[moveCbKey]();\n }\n if (el[enterCbKey]) {\n el[enterCbKey]();\n }\n}\nfunction recordPosition(c) {\n newPositionMap.set(c, c.el.getBoundingClientRect());\n}\nfunction applyTranslation(c) {\n const oldPos = positionMap.get(c);\n const newPos = newPositionMap.get(c);\n const dx = oldPos.left - newPos.left;\n const dy = oldPos.top - newPos.top;\n if (dx || dy) {\n const s = c.el.style;\n s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;\n s.transitionDuration = \"0s\";\n return c;\n }\n}\nfunction hasCSSTransform(el, root, moveClass) {\n const clone = el.cloneNode();\n const _vtc = el[vtcKey];\n if (_vtc) {\n _vtc.forEach((cls) => {\n cls.split(/\\s+/).forEach((c) => c && clone.classList.remove(c));\n });\n }\n moveClass.split(/\\s+/).forEach((c) => c && clone.classList.add(c));\n clone.style.display = \"none\";\n const container = root.nodeType === 1 ? root : root.parentNode;\n container.appendChild(clone);\n const { hasTransform } = getTransitionInfo(clone);\n container.removeChild(clone);\n return hasTransform;\n}\n\nconst getModelAssigner = (vnode) => {\n const fn = vnode.props[\"onUpdate:modelValue\"] || false;\n return isArray(fn) ? (value) => invokeArrayFns(fn, value) : fn;\n};\nfunction onCompositionStart(e) {\n e.target.composing = true;\n}\nfunction onCompositionEnd(e) {\n const target = e.target;\n if (target.composing) {\n target.composing = false;\n target.dispatchEvent(new Event(\"input\"));\n }\n}\nconst assignKey = Symbol(\"_assign\");\nconst vModelText = {\n created(el, { modifiers: { lazy, trim, number } }, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n const castToNumber = number || vnode.props && vnode.props.type === \"number\";\n addEventListener(el, lazy ? \"change\" : \"input\", (e) => {\n if (e.target.composing)\n return;\n let domValue = el.value;\n if (trim) {\n domValue = domValue.trim();\n }\n if (castToNumber) {\n domValue = looseToNumber(domValue);\n }\n el[assignKey](domValue);\n });\n if (trim) {\n addEventListener(el, \"change\", () => {\n el.value = el.value.trim();\n });\n }\n if (!lazy) {\n addEventListener(el, \"compositionstart\", onCompositionStart);\n addEventListener(el, \"compositionend\", onCompositionEnd);\n addEventListener(el, \"change\", onCompositionEnd);\n }\n },\n // set value on mounted so it's after min/max for type=\"range\"\n mounted(el, { value }) {\n el.value = value == null ? \"\" : value;\n },\n beforeUpdate(el, { value, modifiers: { lazy, trim, number } }, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n if (el.composing)\n return;\n if (document.activeElement === el && el.type !== \"range\") {\n if (lazy) {\n return;\n }\n if (trim && el.value.trim() === value) {\n return;\n }\n if ((number || el.type === \"number\") && looseToNumber(el.value) === value) {\n return;\n }\n }\n const newValue = value == null ? \"\" : value;\n if (el.value !== newValue) {\n el.value = newValue;\n }\n }\n};\nconst vModelCheckbox = {\n // #4096 array checkboxes need to be deep traversed\n deep: true,\n created(el, _, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n addEventListener(el, \"change\", () => {\n const modelValue = el._modelValue;\n const elementValue = getValue(el);\n const checked = el.checked;\n const assign = el[assignKey];\n if (isArray(modelValue)) {\n const index = looseIndexOf(modelValue, elementValue);\n const found = index !== -1;\n if (checked && !found) {\n assign(modelValue.concat(elementValue));\n } else if (!checked && found) {\n const filtered = [...modelValue];\n filtered.splice(index, 1);\n assign(filtered);\n }\n } else if (isSet(modelValue)) {\n const cloned = new Set(modelValue);\n if (checked) {\n cloned.add(elementValue);\n } else {\n cloned.delete(elementValue);\n }\n assign(cloned);\n } else {\n assign(getCheckboxValue(el, checked));\n }\n });\n },\n // set initial checked on mount to wait for true-value/false-value\n mounted: setChecked,\n beforeUpdate(el, binding, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n setChecked(el, binding, vnode);\n }\n};\nfunction setChecked(el, { value, oldValue }, vnode) {\n el._modelValue = value;\n if (isArray(value)) {\n el.checked = looseIndexOf(value, vnode.props.value) > -1;\n } else if (isSet(value)) {\n el.checked = value.has(vnode.props.value);\n } else if (value !== oldValue) {\n el.checked = looseEqual(value, getCheckboxValue(el, true));\n }\n}\nconst vModelRadio = {\n created(el, { value }, vnode) {\n el.checked = looseEqual(value, vnode.props.value);\n el[assignKey] = getModelAssigner(vnode);\n addEventListener(el, \"change\", () => {\n el[assignKey](getValue(el));\n });\n },\n beforeUpdate(el, { value, oldValue }, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n if (value !== oldValue) {\n el.checked = looseEqual(value, vnode.props.value);\n }\n }\n};\nconst vModelSelect = {\n // <select multiple> value need to be deep traversed\n deep: true,\n created(el, { value, modifiers: { number } }, vnode) {\n const isSetModel = isSet(value);\n addEventListener(el, \"change\", () => {\n const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map(\n (o) => number ? looseToNumber(getValue(o)) : getValue(o)\n );\n el[assignKey](\n el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]\n );\n });\n el[assignKey] = getModelAssigner(vnode);\n },\n // set value in mounted & updated because <select> relies on its children\n // <option>s.\n mounted(el, { value }) {\n setSelected(el, value);\n },\n beforeUpdate(el, _binding, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n },\n updated(el, { value }) {\n setSelected(el, value);\n }\n};\nfunction setSelected(el, value) {\n const isMultiple = el.multiple;\n if (isMultiple && !isArray(value) && !isSet(value)) {\n !!(process.env.NODE_ENV !== \"production\") && warn(\n `<select multiple v-model> expects an Array or Set value for its binding, but got ${Object.prototype.toString.call(value).slice(8, -1)}.`\n );\n return;\n }\n for (let i = 0, l = el.options.length; i < l; i++) {\n const option = el.options[i];\n const optionValue = getValue(option);\n if (isMultiple) {\n if (isArray(value)) {\n option.selected = looseIndexOf(value, optionValue) > -1;\n } else {\n option.selected = value.has(optionValue);\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i)\n el.selectedIndex = i;\n return;\n }\n }\n }\n if (!isMultiple && el.selectedIndex !== -1) {\n el.selectedIndex = -1;\n }\n}\nfunction getValue(el) {\n return \"_value\" in el ? el._value : el.value;\n}\nfunction getCheckboxValue(el, checked) {\n const key = checked ? \"_trueValue\" : \"_falseValue\";\n return key in el ? el[key] : checked;\n}\nconst vModelDynamic = {\n created(el, binding, vnode) {\n callModelHook(el, binding, vnode, null, \"created\");\n },\n mounted(el, binding, vnode) {\n callModelHook(el, binding, vnode, null, \"mounted\");\n },\n beforeUpdate(el, binding, vnode, prevVNode) {\n callModelHook(el, binding, vnode, prevVNode, \"beforeUpdate\");\n },\n updated(el, binding, vnode, prevVNode) {\n callModelHook(el, binding, vnode, prevVNode, \"updated\");\n }\n};\nfunction resolveDynamicModel(tagName, type) {\n switch (tagName) {\n case \"SELECT\":\n return vModelSelect;\n case \"TEXTAREA\":\n return vModelText;\n default:\n switch (type) {\n case \"checkbox\":\n return vModelCheckbox;\n case \"radio\":\n return vModelRadio;\n default:\n return vModelText;\n }\n }\n}\nfunction callModelHook(el, binding, vnode, prevVNode, hook) {\n const modelToUse = resolveDynamicModel(\n el.tagName,\n vnode.props && vnode.props.type\n );\n const fn = modelToUse[hook];\n fn && fn(el, binding, vnode, prevVNode);\n}\nfunction initVModelForSSR() {\n vModelText.getSSRProps = ({ value }) => ({ value });\n vModelRadio.getSSRProps = ({ value }, vnode) => {\n if (vnode.props && looseEqual(vnode.props.value, value)) {\n return { checked: true };\n }\n };\n vModelCheckbox.getSSRProps = ({ value }, vnode) => {\n if (isArray(value)) {\n if (vnode.props && looseIndexOf(value, vnode.props.value) > -1) {\n return { checked: true };\n }\n } else if (isSet(value)) {\n if (vnode.props && value.has(vnode.props.value)) {\n return { checked: true };\n }\n } else if (value) {\n return { checked: true };\n }\n };\n vModelDynamic.getSSRProps = (binding, vnode) => {\n if (typeof vnode.type !== \"string\") {\n return;\n }\n const modelToUse = resolveDynamicModel(\n // resolveDynamicModel expects an uppercase tag name, but vnode.type is lowercase\n vnode.type.toUpperCase(),\n vnode.props && vnode.props.type\n );\n if (modelToUse.getSSRProps) {\n return modelToUse.getSSRProps(binding, vnode);\n }\n };\n}\n\nconst systemModifiers = [\"ctrl\", \"shift\", \"alt\", \"meta\"];\nconst modifierGuards = {\n stop: (e) => e.stopPropagation(),\n prevent: (e) => e.preventDefault(),\n self: (e) => e.target !== e.currentTarget,\n ctrl: (e) => !e.ctrlKey,\n shift: (e) => !e.shiftKey,\n alt: (e) => !e.altKey,\n meta: (e) => !e.metaKey,\n left: (e) => \"button\" in e && e.button !== 0,\n middle: (e) => \"button\" in e && e.button !== 1,\n right: (e) => \"button\" in e && e.button !== 2,\n exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))\n};\nconst withModifiers = (fn, modifiers) => {\n return (event, ...args) => {\n for (let i = 0; i < modifiers.length; i++) {\n const guard = modifierGuards[modifiers[i]];\n if (guard && guard(event, modifiers))\n return;\n }\n return fn(event, ...args);\n };\n};\nconst keyNames = {\n esc: \"escape\",\n space: \" \",\n up: \"arrow-up\",\n left: \"arrow-left\",\n right: \"arrow-right\",\n down: \"arrow-down\",\n delete: \"backspace\"\n};\nconst withKeys = (fn, modifiers) => {\n return (event) => {\n if (!(\"key\" in event)) {\n return;\n }\n const eventKey = hyphenate(event.key);\n if (modifiers.some((k) => k === eventKey || keyNames[k] === eventKey)) {\n return fn(event);\n }\n };\n};\n\nconst rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);\nlet renderer;\nlet enabledHydration = false;\nfunction ensureRenderer() {\n return renderer || (renderer = createRenderer(rendererOptions));\n}\nfunction ensureHydrationRenderer() {\n renderer = enabledHydration ? renderer : createHydrationRenderer(rendererOptions);\n enabledHydration = true;\n return renderer;\n}\nconst render = (...args) => {\n ensureRenderer().render(...args);\n};\nconst hydrate = (...args) => {\n ensureHydrationRenderer().hydrate(...args);\n};\nconst createApp = (...args) => {\n const app = ensureRenderer().createApp(...args);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n injectNativeTagCheck(app);\n injectCompilerOptionsCheck(app);\n }\n const { mount } = app;\n app.mount = (containerOrSelector) => {\n const container = normalizeContainer(containerOrSelector);\n if (!container)\n return;\n const component = app._component;\n if (!isFunction(component) && !component.render && !component.template) {\n component.template = container.innerHTML;\n }\n container.innerHTML = \"\";\n const proxy = mount(container, false, container instanceof SVGElement);\n if (container instanceof Element) {\n container.removeAttribute(\"v-cloak\");\n container.setAttribute(\"data-v-app\", \"\");\n }\n return proxy;\n };\n return app;\n};\nconst createSSRApp = (...args) => {\n const app = ensureHydrationRenderer().createApp(...args);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n injectNativeTagCheck(app);\n injectCompilerOptionsCheck(app);\n }\n const { mount } = app;\n app.mount = (containerOrSelector) => {\n const container = normalizeContainer(containerOrSelector);\n if (container) {\n return mount(container, true, container instanceof SVGElement);\n }\n };\n return app;\n};\nfunction injectNativeTagCheck(app) {\n Object.defineProperty(app.config, \"isNativeTag\", {\n value: (tag) => isHTMLTag(tag) || isSVGTag(tag),\n writable: false\n });\n}\nfunction injectCompilerOptionsCheck(app) {\n if (isRuntimeOnly()) {\n const isCustomElement = app.config.isCustomElement;\n Object.defineProperty(app.config, \"isCustomElement\", {\n get() {\n return isCustomElement;\n },\n set() {\n warn(\n `The \\`isCustomElement\\` config option is deprecated. Use \\`compilerOptions.isCustomElement\\` instead.`\n );\n }\n });\n const compilerOptions = app.config.compilerOptions;\n const msg = `The \\`compilerOptions\\` config option is only respected when using a build of Vue.js that includes the runtime compiler (aka \"full build\"). Since you are using the runtime-only build, \\`compilerOptions\\` must be passed to \\`@vue/compiler-dom\\` in the build setup instead.\n- For vue-loader: pass it via vue-loader's \\`compilerOptions\\` loader option.\n- For vue-cli: see https://cli.vuejs.org/guide/webpack.html#modifying-options-of-a-loader\n- For vite: pass it via @vitejs/plugin-vue options. See https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#example-for-passing-options-to-vuecompiler-sfc`;\n Object.defineProperty(app.config, \"compilerOptions\", {\n get() {\n warn(msg);\n return compilerOptions;\n },\n set() {\n warn(msg);\n }\n });\n }\n}\nfunction normalizeContainer(container) {\n if (isString(container)) {\n const res = document.querySelector(container);\n if (!!(process.env.NODE_ENV !== \"production\") && !res) {\n warn(\n `Failed to mount app: mount target selector \"${container}\" returned null.`\n );\n }\n return res;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && window.ShadowRoot && container instanceof window.ShadowRoot && container.mode === \"closed\") {\n warn(\n `mounting on a ShadowRoot with \\`{mode: \"closed\"}\\` may lead to unpredictable bugs`\n );\n }\n return container;\n}\nlet ssrDirectiveInitialized = false;\nconst initDirectivesForSSR = () => {\n if (!ssrDirectiveInitialized) {\n ssrDirectiveInitialized = true;\n initVModelForSSR();\n initVShowForSSR();\n }\n} ;\n\nexport { Transition, TransitionGroup, VueElement, createApp, createSSRApp, defineCustomElement, defineSSRCustomElement, hydrate, initDirectivesForSSR, render, useCssModule, useCssVars, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, withKeys, withModifiers };\n","import { isString, hyphenate, NOOP, extend, isObject, NO, isArray, makeMap, isSymbol, capitalize, camelize, EMPTY_OBJ, PatchFlagNames, slotFlagsText, isOn, isBuiltInDirective, isReservedProp, toHandlerKey } from '@vue/shared';\nexport { generateCodeFrame } from '@vue/shared';\n\nfunction defaultOnError(error) {\n throw error;\n}\nfunction defaultOnWarn(msg) {\n !!(process.env.NODE_ENV !== \"production\") && console.warn(`[Vue warn] ${msg.message}`);\n}\nfunction createCompilerError(code, loc, messages, additionalMessage) {\n const msg = !!(process.env.NODE_ENV !== \"production\") || false ? (messages || errorMessages)[code] + (additionalMessage || ``) : code;\n const error = new SyntaxError(String(msg));\n error.code = code;\n error.loc = loc;\n return error;\n}\nconst errorMessages = {\n // parse errors\n [0]: \"Illegal comment.\",\n [1]: \"CDATA section is allowed only in XML context.\",\n [2]: \"Duplicate attribute.\",\n [3]: \"End tag cannot have attributes.\",\n [4]: \"Illegal '/' in tags.\",\n [5]: \"Unexpected EOF in tag.\",\n [6]: \"Unexpected EOF in CDATA section.\",\n [7]: \"Unexpected EOF in comment.\",\n [8]: \"Unexpected EOF in script.\",\n [9]: \"Unexpected EOF in tag.\",\n [10]: \"Incorrectly closed comment.\",\n [11]: \"Incorrectly opened comment.\",\n [12]: \"Illegal tag name. Use '<' to print '<'.\",\n [13]: \"Attribute value was expected.\",\n [14]: \"End tag name was expected.\",\n [15]: \"Whitespace was expected.\",\n [16]: \"Unexpected '<!--' in comment.\",\n [17]: `Attribute name cannot contain U+0022 (\"), U+0027 ('), and U+003C (<).`,\n [18]: \"Unquoted attribute value cannot contain U+0022 (\\\"), U+0027 ('), U+003C (<), U+003D (=), and U+0060 (`).\",\n [19]: \"Attribute name cannot start with '='.\",\n [21]: \"'<?' is allowed only in XML context.\",\n [20]: `Unexpected null character.`,\n [22]: \"Illegal '/' in tags.\",\n // Vue-specific parse errors\n [23]: \"Invalid end tag.\",\n [24]: \"Element is missing end tag.\",\n [25]: \"Interpolation end sign was not found.\",\n [27]: \"End bracket for dynamic directive argument was not found. Note that dynamic directive argument cannot contain spaces.\",\n [26]: \"Legal directive name was expected.\",\n // transform errors\n [28]: `v-if/v-else-if is missing expression.`,\n [29]: `v-if/else branches must use unique keys.`,\n [30]: `v-else/v-else-if has no adjacent v-if or v-else-if.`,\n [31]: `v-for is missing expression.`,\n [32]: `v-for has invalid expression.`,\n [33]: `<template v-for> key should be placed on the <template> tag.`,\n [34]: `v-bind is missing expression.`,\n [35]: `v-on is missing expression.`,\n [36]: `Unexpected custom directive on <slot> outlet.`,\n [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`,\n [38]: `Duplicate slot names found. `,\n [39]: `Extraneous children found when component already has explicitly named default slot. These children will be ignored.`,\n [40]: `v-slot can only be used on components or <template> tags.`,\n [41]: `v-model is missing expression.`,\n [42]: `v-model value must be a valid JavaScript member expression.`,\n [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,\n [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.\nUse a v-bind binding combined with a v-on listener that emits update:x event instead.`,\n [45]: `Error parsing JavaScript expression: `,\n [46]: `<KeepAlive> expects exactly one child component.`,\n // generic errors\n [47]: `\"prefixIdentifiers\" option is not supported in this build of compiler.`,\n [48]: `ES module mode is not supported in this build of compiler.`,\n [49]: `\"cacheHandlers\" option is only supported when the \"prefixIdentifiers\" option is enabled.`,\n [50]: `\"scopeId\" option is only supported in module mode.`,\n // deprecations\n [51]: `@vnode-* hooks in templates are deprecated. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support will be removed in 3.4.`,\n [52]: `v-is=\"component-name\" has been deprecated. Use is=\"vue:component-name\" instead. v-is support will be removed in 3.4.`,\n // just to fulfill types\n [53]: ``\n};\n\nconst FRAGMENT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Fragment` : ``);\nconst TELEPORT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Teleport` : ``);\nconst SUSPENSE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Suspense` : ``);\nconst KEEP_ALIVE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `KeepAlive` : ``);\nconst BASE_TRANSITION = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `BaseTransition` : ``);\nconst OPEN_BLOCK = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `openBlock` : ``);\nconst CREATE_BLOCK = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createBlock` : ``);\nconst CREATE_ELEMENT_BLOCK = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createElementBlock` : ``);\nconst CREATE_VNODE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createVNode` : ``);\nconst CREATE_ELEMENT_VNODE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createElementVNode` : ``);\nconst CREATE_COMMENT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createCommentVNode` : ``);\nconst CREATE_TEXT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createTextVNode` : ``);\nconst CREATE_STATIC = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createStaticVNode` : ``);\nconst RESOLVE_COMPONENT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `resolveComponent` : ``);\nconst RESOLVE_DYNAMIC_COMPONENT = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? `resolveDynamicComponent` : ``\n);\nconst RESOLVE_DIRECTIVE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `resolveDirective` : ``);\nconst RESOLVE_FILTER = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `resolveFilter` : ``);\nconst WITH_DIRECTIVES = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `withDirectives` : ``);\nconst RENDER_LIST = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `renderList` : ``);\nconst RENDER_SLOT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `renderSlot` : ``);\nconst CREATE_SLOTS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `createSlots` : ``);\nconst TO_DISPLAY_STRING = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `toDisplayString` : ``);\nconst MERGE_PROPS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `mergeProps` : ``);\nconst NORMALIZE_CLASS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `normalizeClass` : ``);\nconst NORMALIZE_STYLE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `normalizeStyle` : ``);\nconst NORMALIZE_PROPS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `normalizeProps` : ``);\nconst GUARD_REACTIVE_PROPS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `guardReactiveProps` : ``);\nconst TO_HANDLERS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `toHandlers` : ``);\nconst CAMELIZE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `camelize` : ``);\nconst CAPITALIZE = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `capitalize` : ``);\nconst TO_HANDLER_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `toHandlerKey` : ``);\nconst SET_BLOCK_TRACKING = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `setBlockTracking` : ``);\nconst PUSH_SCOPE_ID = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `pushScopeId` : ``);\nconst POP_SCOPE_ID = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `popScopeId` : ``);\nconst WITH_CTX = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `withCtx` : ``);\nconst UNREF = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `unref` : ``);\nconst IS_REF = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `isRef` : ``);\nconst WITH_MEMO = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `withMemo` : ``);\nconst IS_MEMO_SAME = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `isMemoSame` : ``);\nconst helperNameMap = {\n [FRAGMENT]: `Fragment`,\n [TELEPORT]: `Teleport`,\n [SUSPENSE]: `Suspense`,\n [KEEP_ALIVE]: `KeepAlive`,\n [BASE_TRANSITION]: `BaseTransition`,\n [OPEN_BLOCK]: `openBlock`,\n [CREATE_BLOCK]: `createBlock`,\n [CREATE_ELEMENT_BLOCK]: `createElementBlock`,\n [CREATE_VNODE]: `createVNode`,\n [CREATE_ELEMENT_VNODE]: `createElementVNode`,\n [CREATE_COMMENT]: `createCommentVNode`,\n [CREATE_TEXT]: `createTextVNode`,\n [CREATE_STATIC]: `createStaticVNode`,\n [RESOLVE_COMPONENT]: `resolveComponent`,\n [RESOLVE_DYNAMIC_COMPONENT]: `resolveDynamicComponent`,\n [RESOLVE_DIRECTIVE]: `resolveDirective`,\n [RESOLVE_FILTER]: `resolveFilter`,\n [WITH_DIRECTIVES]: `withDirectives`,\n [RENDER_LIST]: `renderList`,\n [RENDER_SLOT]: `renderSlot`,\n [CREATE_SLOTS]: `createSlots`,\n [TO_DISPLAY_STRING]: `toDisplayString`,\n [MERGE_PROPS]: `mergeProps`,\n [NORMALIZE_CLASS]: `normalizeClass`,\n [NORMALIZE_STYLE]: `normalizeStyle`,\n [NORMALIZE_PROPS]: `normalizeProps`,\n [GUARD_REACTIVE_PROPS]: `guardReactiveProps`,\n [TO_HANDLERS]: `toHandlers`,\n [CAMELIZE]: `camelize`,\n [CAPITALIZE]: `capitalize`,\n [TO_HANDLER_KEY]: `toHandlerKey`,\n [SET_BLOCK_TRACKING]: `setBlockTracking`,\n [PUSH_SCOPE_ID]: `pushScopeId`,\n [POP_SCOPE_ID]: `popScopeId`,\n [WITH_CTX]: `withCtx`,\n [UNREF]: `unref`,\n [IS_REF]: `isRef`,\n [WITH_MEMO]: `withMemo`,\n [IS_MEMO_SAME]: `isMemoSame`\n};\nfunction registerRuntimeHelpers(helpers) {\n Object.getOwnPropertySymbols(helpers).forEach((s) => {\n helperNameMap[s] = helpers[s];\n });\n}\n\nconst locStub = {\n source: \"\",\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createRoot(children, loc = locStub) {\n return {\n type: 0,\n children,\n helpers: /* @__PURE__ */ new Set(),\n components: [],\n directives: [],\n hoists: [],\n imports: [],\n cached: 0,\n temps: 0,\n codegenNode: void 0,\n loc\n };\n}\nfunction createVNodeCall(context, tag, props, children, patchFlag, dynamicProps, directives, isBlock = false, disableTracking = false, isComponent = false, loc = locStub) {\n if (context) {\n if (isBlock) {\n context.helper(OPEN_BLOCK);\n context.helper(getVNodeBlockHelper(context.inSSR, isComponent));\n } else {\n context.helper(getVNodeHelper(context.inSSR, isComponent));\n }\n if (directives) {\n context.helper(WITH_DIRECTIVES);\n }\n }\n return {\n type: 13,\n tag,\n props,\n children,\n patchFlag,\n dynamicProps,\n directives,\n isBlock,\n disableTracking,\n isComponent,\n loc\n };\n}\nfunction createArrayExpression(elements, loc = locStub) {\n return {\n type: 17,\n loc,\n elements\n };\n}\nfunction createObjectExpression(properties, loc = locStub) {\n return {\n type: 15,\n loc,\n properties\n };\n}\nfunction createObjectProperty(key, value) {\n return {\n type: 16,\n loc: locStub,\n key: isString(key) ? createSimpleExpression(key, true) : key,\n value\n };\n}\nfunction createSimpleExpression(content, isStatic = false, loc = locStub, constType = 0) {\n return {\n type: 4,\n loc,\n content,\n isStatic,\n constType: isStatic ? 3 : constType\n };\n}\nfunction createInterpolation(content, loc) {\n return {\n type: 5,\n loc,\n content: isString(content) ? createSimpleExpression(content, false, loc) : content\n };\n}\nfunction createCompoundExpression(children, loc = locStub) {\n return {\n type: 8,\n loc,\n children\n };\n}\nfunction createCallExpression(callee, args = [], loc = locStub) {\n return {\n type: 14,\n loc,\n callee,\n arguments: args\n };\n}\nfunction createFunctionExpression(params, returns = void 0, newline = false, isSlot = false, loc = locStub) {\n return {\n type: 18,\n params,\n returns,\n newline,\n isSlot,\n loc\n };\n}\nfunction createConditionalExpression(test, consequent, alternate, newline = true) {\n return {\n type: 19,\n test,\n consequent,\n alternate,\n newline,\n loc: locStub\n };\n}\nfunction createCacheExpression(index, value, isVNode = false) {\n return {\n type: 20,\n index,\n value,\n isVNode,\n loc: locStub\n };\n}\nfunction createBlockStatement(body) {\n return {\n type: 21,\n body,\n loc: locStub\n };\n}\nfunction createTemplateLiteral(elements) {\n return {\n type: 22,\n elements,\n loc: locStub\n };\n}\nfunction createIfStatement(test, consequent, alternate) {\n return {\n type: 23,\n test,\n consequent,\n alternate,\n loc: locStub\n };\n}\nfunction createAssignmentExpression(left, right) {\n return {\n type: 24,\n left,\n right,\n loc: locStub\n };\n}\nfunction createSequenceExpression(expressions) {\n return {\n type: 25,\n expressions,\n loc: locStub\n };\n}\nfunction createReturnStatement(returns) {\n return {\n type: 26,\n returns,\n loc: locStub\n };\n}\nfunction getVNodeHelper(ssr, isComponent) {\n return ssr || isComponent ? CREATE_VNODE : CREATE_ELEMENT_VNODE;\n}\nfunction getVNodeBlockHelper(ssr, isComponent) {\n return ssr || isComponent ? CREATE_BLOCK : CREATE_ELEMENT_BLOCK;\n}\nfunction convertToBlock(node, { helper, removeHelper, inSSR }) {\n if (!node.isBlock) {\n node.isBlock = true;\n removeHelper(getVNodeHelper(inSSR, node.isComponent));\n helper(OPEN_BLOCK);\n helper(getVNodeBlockHelper(inSSR, node.isComponent));\n }\n}\n\nconst isStaticExp = (p) => p.type === 4 && p.isStatic;\nconst isBuiltInType = (tag, expected) => tag === expected || tag === hyphenate(expected);\nfunction isCoreComponent(tag) {\n if (isBuiltInType(tag, \"Teleport\")) {\n return TELEPORT;\n } else if (isBuiltInType(tag, \"Suspense\")) {\n return SUSPENSE;\n } else if (isBuiltInType(tag, \"KeepAlive\")) {\n return KEEP_ALIVE;\n } else if (isBuiltInType(tag, \"BaseTransition\")) {\n return BASE_TRANSITION;\n }\n}\nconst nonIdentifierRE = /^\\d|[^\\$\\w]/;\nconst isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);\nconst validFirstIdentCharRE = /[A-Za-z_$\\xA0-\\uFFFF]/;\nconst validIdentCharRE = /[\\.\\?\\w$\\xA0-\\uFFFF]/;\nconst whitespaceRE = /\\s+[.[]\\s*|\\s*[.[]\\s+/g;\nconst isMemberExpressionBrowser = (path) => {\n path = path.trim().replace(whitespaceRE, (s) => s.trim());\n let state = 0 /* inMemberExp */;\n let stateStack = [];\n let currentOpenBracketCount = 0;\n let currentOpenParensCount = 0;\n let currentStringType = null;\n for (let i = 0; i < path.length; i++) {\n const char = path.charAt(i);\n switch (state) {\n case 0 /* inMemberExp */:\n if (char === \"[\") {\n stateStack.push(state);\n state = 1 /* inBrackets */;\n currentOpenBracketCount++;\n } else if (char === \"(\") {\n stateStack.push(state);\n state = 2 /* inParens */;\n currentOpenParensCount++;\n } else if (!(i === 0 ? validFirstIdentCharRE : validIdentCharRE).test(char)) {\n return false;\n }\n break;\n case 1 /* inBrackets */:\n if (char === `'` || char === `\"` || char === \"`\") {\n stateStack.push(state);\n state = 3 /* inString */;\n currentStringType = char;\n } else if (char === `[`) {\n currentOpenBracketCount++;\n } else if (char === `]`) {\n if (!--currentOpenBracketCount) {\n state = stateStack.pop();\n }\n }\n break;\n case 2 /* inParens */:\n if (char === `'` || char === `\"` || char === \"`\") {\n stateStack.push(state);\n state = 3 /* inString */;\n currentStringType = char;\n } else if (char === `(`) {\n currentOpenParensCount++;\n } else if (char === `)`) {\n if (i === path.length - 1) {\n return false;\n }\n if (!--currentOpenParensCount) {\n state = stateStack.pop();\n }\n }\n break;\n case 3 /* inString */:\n if (char === currentStringType) {\n state = stateStack.pop();\n currentStringType = null;\n }\n break;\n }\n }\n return !currentOpenBracketCount && !currentOpenParensCount;\n};\nconst isMemberExpressionNode = NOOP ;\nconst isMemberExpression = isMemberExpressionBrowser ;\nfunction getInnerRange(loc, offset, length) {\n const source = loc.source.slice(offset, offset + length);\n const newLoc = {\n source,\n start: advancePositionWithClone(loc.start, loc.source, offset),\n end: loc.end\n };\n if (length != null) {\n newLoc.end = advancePositionWithClone(\n loc.start,\n loc.source,\n offset + length\n );\n }\n return newLoc;\n}\nfunction advancePositionWithClone(pos, source, numberOfCharacters = source.length) {\n return advancePositionWithMutation(\n extend({}, pos),\n source,\n numberOfCharacters\n );\n}\nfunction advancePositionWithMutation(pos, source, numberOfCharacters = source.length) {\n let linesCount = 0;\n let lastNewLinePos = -1;\n for (let i = 0; i < numberOfCharacters; i++) {\n if (source.charCodeAt(i) === 10) {\n linesCount++;\n lastNewLinePos = i;\n }\n }\n pos.offset += numberOfCharacters;\n pos.line += linesCount;\n pos.column = lastNewLinePos === -1 ? pos.column + numberOfCharacters : numberOfCharacters - lastNewLinePos;\n return pos;\n}\nfunction assert(condition, msg) {\n if (!condition) {\n throw new Error(msg || `unexpected compiler condition`);\n }\n}\nfunction findDir(node, name, allowEmpty = false) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 && (allowEmpty || p.exp) && (isString(name) ? p.name === name : name.test(p.name))) {\n return p;\n }\n }\n}\nfunction findProp(node, name, dynamicOnly = false, allowEmpty = false) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 6) {\n if (dynamicOnly)\n continue;\n if (p.name === name && (p.value || allowEmpty)) {\n return p;\n }\n } else if (p.name === \"bind\" && (p.exp || allowEmpty) && isStaticArgOf(p.arg, name)) {\n return p;\n }\n }\n}\nfunction isStaticArgOf(arg, name) {\n return !!(arg && isStaticExp(arg) && arg.content === name);\n}\nfunction hasDynamicKeyVBind(node) {\n return node.props.some(\n (p) => p.type === 7 && p.name === \"bind\" && (!p.arg || // v-bind=\"obj\"\n p.arg.type !== 4 || // v-bind:[_ctx.foo]\n !p.arg.isStatic)\n // v-bind:[foo]\n );\n}\nfunction isText$1(node) {\n return node.type === 5 || node.type === 2;\n}\nfunction isVSlot(p) {\n return p.type === 7 && p.name === \"slot\";\n}\nfunction isTemplateNode(node) {\n return node.type === 1 && node.tagType === 3;\n}\nfunction isSlotOutlet(node) {\n return node.type === 1 && node.tagType === 2;\n}\nconst propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);\nfunction getUnnormalizedProps(props, callPath = []) {\n if (props && !isString(props) && props.type === 14) {\n const callee = props.callee;\n if (!isString(callee) && propsHelperSet.has(callee)) {\n return getUnnormalizedProps(\n props.arguments[0],\n callPath.concat(props)\n );\n }\n }\n return [props, callPath];\n}\nfunction injectProp(node, prop, context) {\n let propsWithInjection;\n let props = node.type === 13 ? node.props : node.arguments[2];\n let callPath = [];\n let parentCall;\n if (props && !isString(props) && props.type === 14) {\n const ret = getUnnormalizedProps(props);\n props = ret[0];\n callPath = ret[1];\n parentCall = callPath[callPath.length - 1];\n }\n if (props == null || isString(props)) {\n propsWithInjection = createObjectExpression([prop]);\n } else if (props.type === 14) {\n const first = props.arguments[0];\n if (!isString(first) && first.type === 15) {\n if (!hasProp(prop, first)) {\n first.properties.unshift(prop);\n }\n } else {\n if (props.callee === TO_HANDLERS) {\n propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [\n createObjectExpression([prop]),\n props\n ]);\n } else {\n props.arguments.unshift(createObjectExpression([prop]));\n }\n }\n !propsWithInjection && (propsWithInjection = props);\n } else if (props.type === 15) {\n if (!hasProp(prop, props)) {\n props.properties.unshift(prop);\n }\n propsWithInjection = props;\n } else {\n propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [\n createObjectExpression([prop]),\n props\n ]);\n if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) {\n parentCall = callPath[callPath.length - 2];\n }\n }\n if (node.type === 13) {\n if (parentCall) {\n parentCall.arguments[0] = propsWithInjection;\n } else {\n node.props = propsWithInjection;\n }\n } else {\n if (parentCall) {\n parentCall.arguments[0] = propsWithInjection;\n } else {\n node.arguments[2] = propsWithInjection;\n }\n }\n}\nfunction hasProp(prop, props) {\n let result = false;\n if (prop.key.type === 4) {\n const propKeyName = prop.key.content;\n result = props.properties.some(\n (p) => p.key.type === 4 && p.key.content === propKeyName\n );\n }\n return result;\n}\nfunction toValidAssetId(name, type) {\n return `_${type}_${name.replace(/[^\\w]/g, (searchValue, replaceValue) => {\n return searchValue === \"-\" ? \"_\" : name.charCodeAt(replaceValue).toString();\n })}`;\n}\nfunction hasScopeRef(node, ids) {\n if (!node || Object.keys(ids).length === 0) {\n return false;\n }\n switch (node.type) {\n case 1:\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 && (hasScopeRef(p.arg, ids) || hasScopeRef(p.exp, ids))) {\n return true;\n }\n }\n return node.children.some((c) => hasScopeRef(c, ids));\n case 11:\n if (hasScopeRef(node.source, ids)) {\n return true;\n }\n return node.children.some((c) => hasScopeRef(c, ids));\n case 9:\n return node.branches.some((b) => hasScopeRef(b, ids));\n case 10:\n if (hasScopeRef(node.condition, ids)) {\n return true;\n }\n return node.children.some((c) => hasScopeRef(c, ids));\n case 4:\n return !node.isStatic && isSimpleIdentifier(node.content) && !!ids[node.content];\n case 8:\n return node.children.some((c) => isObject(c) && hasScopeRef(c, ids));\n case 5:\n case 12:\n return hasScopeRef(node.content, ids);\n case 2:\n case 3:\n return false;\n default:\n if (!!(process.env.NODE_ENV !== \"production\")) ;\n return false;\n }\n}\nfunction getMemoedVNodeCall(node) {\n if (node.type === 14 && node.callee === WITH_MEMO) {\n return node.arguments[1].returns;\n } else {\n return node;\n }\n}\n\nconst deprecationData = {\n [\"COMPILER_IS_ON_ELEMENT\"]: {\n message: `Platform-native elements with \"is\" prop will no longer be treated as components in Vue 3 unless the \"is\" value is explicitly prefixed with \"vue:\".`,\n link: `https://v3-migration.vuejs.org/breaking-changes/custom-elements-interop.html`\n },\n [\"COMPILER_V_BIND_SYNC\"]: {\n message: (key) => `.sync modifier for v-bind has been removed. Use v-model with argument instead. \\`v-bind:${key}.sync\\` should be changed to \\`v-model:${key}\\`.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html`\n },\n [\"COMPILER_V_BIND_PROP\"]: {\n message: `.prop modifier for v-bind has been removed and no longer necessary. Vue 3 will automatically set a binding as DOM property when appropriate.`\n },\n [\"COMPILER_V_BIND_OBJECT_ORDER\"]: {\n message: `v-bind=\"obj\" usage is now order sensitive and behaves like JavaScript object spread: it will now overwrite an existing non-mergeable attribute that appears before v-bind in the case of conflict. To retain 2.x behavior, move v-bind to make it the first attribute. You can also suppress this warning if the usage is intended.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-bind.html`\n },\n [\"COMPILER_V_ON_NATIVE\"]: {\n message: `.native modifier for v-on has been removed as is no longer necessary.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html`\n },\n [\"COMPILER_V_IF_V_FOR_PRECEDENCE\"]: {\n message: `v-if / v-for precedence when used on the same element has changed in Vue 3: v-if now takes higher precedence and will no longer have access to v-for scope variables. It is best to avoid the ambiguity with <template> tags or use a computed property that filters v-for data source.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-if-v-for.html`\n },\n [\"COMPILER_NATIVE_TEMPLATE\"]: {\n message: `<template> with no special directives will render as a native template element instead of its inner content in Vue 3.`\n },\n [\"COMPILER_INLINE_TEMPLATE\"]: {\n message: `\"inline-template\" has been removed in Vue 3.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html`\n },\n [\"COMPILER_FILTER\"]: {\n message: `filters have been removed in Vue 3. The \"|\" symbol will be treated as native JavaScript bitwise OR operator. Use method calls or computed properties instead.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`\n }\n};\nfunction getCompatValue(key, context) {\n const config = context.options ? context.options.compatConfig : context.compatConfig;\n const value = config && config[key];\n if (key === \"MODE\") {\n return value || 3;\n } else {\n return value;\n }\n}\nfunction isCompatEnabled(key, context) {\n const mode = getCompatValue(\"MODE\", context);\n const value = getCompatValue(key, context);\n return mode === 3 ? value === true : value !== false;\n}\nfunction checkCompatEnabled(key, context, loc, ...args) {\n const enabled = isCompatEnabled(key, context);\n if (!!(process.env.NODE_ENV !== \"production\") && enabled) {\n warnDeprecation(key, context, loc, ...args);\n }\n return enabled;\n}\nfunction warnDeprecation(key, context, loc, ...args) {\n const val = getCompatValue(key, context);\n if (val === \"suppress-warning\") {\n return;\n }\n const { message, link } = deprecationData[key];\n const msg = `(deprecation ${key}) ${typeof message === \"function\" ? message(...args) : message}${link ? `\n Details: ${link}` : ``}`;\n const err = new SyntaxError(msg);\n err.code = key;\n if (loc)\n err.loc = loc;\n context.onWarn(err);\n}\n\nconst decodeRE = /&(gt|lt|amp|apos|quot);/g;\nconst decodeMap = {\n gt: \">\",\n lt: \"<\",\n amp: \"&\",\n apos: \"'\",\n quot: '\"'\n};\nconst defaultParserOptions = {\n delimiters: [`{{`, `}}`],\n getNamespace: () => 0,\n getTextMode: () => 0,\n isVoidTag: NO,\n isPreTag: NO,\n isCustomElement: NO,\n decodeEntities: (rawText) => rawText.replace(decodeRE, (_, p1) => decodeMap[p1]),\n onError: defaultOnError,\n onWarn: defaultOnWarn,\n comments: !!(process.env.NODE_ENV !== \"production\")\n};\nfunction baseParse(content, options = {}) {\n const context = createParserContext(content, options);\n const start = getCursor(context);\n return createRoot(\n parseChildren(context, 0, []),\n getSelection(context, start)\n );\n}\nfunction createParserContext(content, rawOptions) {\n const options = extend({}, defaultParserOptions);\n let key;\n for (key in rawOptions) {\n options[key] = rawOptions[key] === void 0 ? defaultParserOptions[key] : rawOptions[key];\n }\n return {\n options,\n column: 1,\n line: 1,\n offset: 0,\n originalSource: content,\n source: content,\n inPre: false,\n inVPre: false,\n onWarn: options.onWarn\n };\n}\nfunction parseChildren(context, mode, ancestors) {\n const parent = last(ancestors);\n const ns = parent ? parent.ns : 0;\n const nodes = [];\n while (!isEnd(context, mode, ancestors)) {\n const s = context.source;\n let node = void 0;\n if (mode === 0 || mode === 1) {\n if (!context.inVPre && startsWith(s, context.options.delimiters[0])) {\n node = parseInterpolation(context, mode);\n } else if (mode === 0 && s[0] === \"<\") {\n if (s.length === 1) {\n emitError(context, 5, 1);\n } else if (s[1] === \"!\") {\n if (startsWith(s, \"<!--\")) {\n node = parseComment(context);\n } else if (startsWith(s, \"<!DOCTYPE\")) {\n node = parseBogusComment(context);\n } else if (startsWith(s, \"<![CDATA[\")) {\n if (ns !== 0) {\n node = parseCDATA(context, ancestors);\n } else {\n emitError(context, 1);\n node = parseBogusComment(context);\n }\n } else {\n emitError(context, 11);\n node = parseBogusComment(context);\n }\n } else if (s[1] === \"/\") {\n if (s.length === 2) {\n emitError(context, 5, 2);\n } else if (s[2] === \">\") {\n emitError(context, 14, 2);\n advanceBy(context, 3);\n continue;\n } else if (/[a-z]/i.test(s[2])) {\n emitError(context, 23);\n parseTag(context, 1 /* End */, parent);\n continue;\n } else {\n emitError(\n context,\n 12,\n 2\n );\n node = parseBogusComment(context);\n }\n } else if (/[a-z]/i.test(s[1])) {\n node = parseElement(context, ancestors);\n if (isCompatEnabled(\n \"COMPILER_NATIVE_TEMPLATE\",\n context\n ) && node && node.tag === \"template\" && !node.props.some(\n (p) => p.type === 7 && isSpecialTemplateDirective(p.name)\n )) {\n !!(process.env.NODE_ENV !== \"production\") && warnDeprecation(\n \"COMPILER_NATIVE_TEMPLATE\",\n context,\n node.loc\n );\n node = node.children;\n }\n } else if (s[1] === \"?\") {\n emitError(\n context,\n 21,\n 1\n );\n node = parseBogusComment(context);\n } else {\n emitError(context, 12, 1);\n }\n }\n }\n if (!node) {\n node = parseText(context, mode);\n }\n if (isArray(node)) {\n for (let i = 0; i < node.length; i++) {\n pushNode(nodes, node[i]);\n }\n } else {\n pushNode(nodes, node);\n }\n }\n let removedWhitespace = false;\n if (mode !== 2 && mode !== 1) {\n const shouldCondense = context.options.whitespace !== \"preserve\";\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (node.type === 2) {\n if (!context.inPre) {\n if (!/[^\\t\\r\\n\\f ]/.test(node.content)) {\n const prev = nodes[i - 1];\n const next = nodes[i + 1];\n if (!prev || !next || shouldCondense && (prev.type === 3 && next.type === 3 || prev.type === 3 && next.type === 1 || prev.type === 1 && next.type === 3 || prev.type === 1 && next.type === 1 && /[\\r\\n]/.test(node.content))) {\n removedWhitespace = true;\n nodes[i] = null;\n } else {\n node.content = \" \";\n }\n } else if (shouldCondense) {\n node.content = node.content.replace(/[\\t\\r\\n\\f ]+/g, \" \");\n }\n } else {\n node.content = node.content.replace(/\\r\\n/g, \"\\n\");\n }\n } else if (node.type === 3 && !context.options.comments) {\n removedWhitespace = true;\n nodes[i] = null;\n }\n }\n if (context.inPre && parent && context.options.isPreTag(parent.tag)) {\n const first = nodes[0];\n if (first && first.type === 2) {\n first.content = first.content.replace(/^\\r?\\n/, \"\");\n }\n }\n }\n return removedWhitespace ? nodes.filter(Boolean) : nodes;\n}\nfunction pushNode(nodes, node) {\n if (node.type === 2) {\n const prev = last(nodes);\n if (prev && prev.type === 2 && prev.loc.end.offset === node.loc.start.offset) {\n prev.content += node.content;\n prev.loc.end = node.loc.end;\n prev.loc.source += node.loc.source;\n return;\n }\n }\n nodes.push(node);\n}\nfunction parseCDATA(context, ancestors) {\n advanceBy(context, 9);\n const nodes = parseChildren(context, 3, ancestors);\n if (context.source.length === 0) {\n emitError(context, 6);\n } else {\n advanceBy(context, 3);\n }\n return nodes;\n}\nfunction parseComment(context) {\n const start = getCursor(context);\n let content;\n const match = /--(\\!)?>/.exec(context.source);\n if (!match) {\n content = context.source.slice(4);\n advanceBy(context, context.source.length);\n emitError(context, 7);\n } else {\n if (match.index <= 3) {\n emitError(context, 0);\n }\n if (match[1]) {\n emitError(context, 10);\n }\n content = context.source.slice(4, match.index);\n const s = context.source.slice(0, match.index);\n let prevIndex = 1, nestedIndex = 0;\n while ((nestedIndex = s.indexOf(\"<!--\", prevIndex)) !== -1) {\n advanceBy(context, nestedIndex - prevIndex + 1);\n if (nestedIndex + 4 < s.length) {\n emitError(context, 16);\n }\n prevIndex = nestedIndex + 1;\n }\n advanceBy(context, match.index + match[0].length - prevIndex + 1);\n }\n return {\n type: 3,\n content,\n loc: getSelection(context, start)\n };\n}\nfunction parseBogusComment(context) {\n const start = getCursor(context);\n const contentStart = context.source[1] === \"?\" ? 1 : 2;\n let content;\n const closeIndex = context.source.indexOf(\">\");\n if (closeIndex === -1) {\n content = context.source.slice(contentStart);\n advanceBy(context, context.source.length);\n } else {\n content = context.source.slice(contentStart, closeIndex);\n advanceBy(context, closeIndex + 1);\n }\n return {\n type: 3,\n content,\n loc: getSelection(context, start)\n };\n}\nfunction parseElement(context, ancestors) {\n const wasInPre = context.inPre;\n const wasInVPre = context.inVPre;\n const parent = last(ancestors);\n const element = parseTag(context, 0 /* Start */, parent);\n const isPreBoundary = context.inPre && !wasInPre;\n const isVPreBoundary = context.inVPre && !wasInVPre;\n if (element.isSelfClosing || context.options.isVoidTag(element.tag)) {\n if (isPreBoundary) {\n context.inPre = false;\n }\n if (isVPreBoundary) {\n context.inVPre = false;\n }\n return element;\n }\n ancestors.push(element);\n const mode = context.options.getTextMode(element, parent);\n const children = parseChildren(context, mode, ancestors);\n ancestors.pop();\n {\n const inlineTemplateProp = element.props.find(\n (p) => p.type === 6 && p.name === \"inline-template\"\n );\n if (inlineTemplateProp && checkCompatEnabled(\n \"COMPILER_INLINE_TEMPLATE\",\n context,\n inlineTemplateProp.loc\n )) {\n const loc = getSelection(context, element.loc.end);\n inlineTemplateProp.value = {\n type: 2,\n content: loc.source,\n loc\n };\n }\n }\n element.children = children;\n if (startsWithEndTagOpen(context.source, element.tag)) {\n parseTag(context, 1 /* End */, parent);\n } else {\n emitError(context, 24, 0, element.loc.start);\n if (context.source.length === 0 && element.tag.toLowerCase() === \"script\") {\n const first = children[0];\n if (first && startsWith(first.loc.source, \"<!--\")) {\n emitError(context, 8);\n }\n }\n }\n element.loc = getSelection(context, element.loc.start);\n if (isPreBoundary) {\n context.inPre = false;\n }\n if (isVPreBoundary) {\n context.inVPre = false;\n }\n return element;\n}\nconst isSpecialTemplateDirective = /* @__PURE__ */ makeMap(\n `if,else,else-if,for,slot`\n);\nfunction parseTag(context, type, parent) {\n const start = getCursor(context);\n const match = /^<\\/?([a-z][^\\t\\r\\n\\f />]*)/i.exec(context.source);\n const tag = match[1];\n const ns = context.options.getNamespace(tag, parent);\n advanceBy(context, match[0].length);\n advanceSpaces(context);\n const cursor = getCursor(context);\n const currentSource = context.source;\n if (context.options.isPreTag(tag)) {\n context.inPre = true;\n }\n let props = parseAttributes(context, type);\n if (type === 0 /* Start */ && !context.inVPre && props.some((p) => p.type === 7 && p.name === \"pre\")) {\n context.inVPre = true;\n extend(context, cursor);\n context.source = currentSource;\n props = parseAttributes(context, type).filter((p) => p.name !== \"v-pre\");\n }\n let isSelfClosing = false;\n if (context.source.length === 0) {\n emitError(context, 9);\n } else {\n isSelfClosing = startsWith(context.source, \"/>\");\n if (type === 1 /* End */ && isSelfClosing) {\n emitError(context, 4);\n }\n advanceBy(context, isSelfClosing ? 2 : 1);\n }\n if (type === 1 /* End */) {\n return;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && isCompatEnabled(\n \"COMPILER_V_IF_V_FOR_PRECEDENCE\",\n context\n )) {\n let hasIf = false;\n let hasFor = false;\n for (let i = 0; i < props.length; i++) {\n const p = props[i];\n if (p.type === 7) {\n if (p.name === \"if\") {\n hasIf = true;\n } else if (p.name === \"for\") {\n hasFor = true;\n }\n }\n if (hasIf && hasFor) {\n warnDeprecation(\n \"COMPILER_V_IF_V_FOR_PRECEDENCE\",\n context,\n getSelection(context, start)\n );\n break;\n }\n }\n }\n let tagType = 0;\n if (!context.inVPre) {\n if (tag === \"slot\") {\n tagType = 2;\n } else if (tag === \"template\") {\n if (props.some(\n (p) => p.type === 7 && isSpecialTemplateDirective(p.name)\n )) {\n tagType = 3;\n }\n } else if (isComponent(tag, props, context)) {\n tagType = 1;\n }\n }\n return {\n type: 1,\n ns,\n tag,\n tagType,\n props,\n isSelfClosing,\n children: [],\n loc: getSelection(context, start),\n codegenNode: void 0\n // to be created during transform phase\n };\n}\nfunction isComponent(tag, props, context) {\n const options = context.options;\n if (options.isCustomElement(tag)) {\n return false;\n }\n if (tag === \"component\" || /^[A-Z]/.test(tag) || isCoreComponent(tag) || options.isBuiltInComponent && options.isBuiltInComponent(tag) || options.isNativeTag && !options.isNativeTag(tag)) {\n return true;\n }\n for (let i = 0; i < props.length; i++) {\n const p = props[i];\n if (p.type === 6) {\n if (p.name === \"is\" && p.value) {\n if (p.value.content.startsWith(\"vue:\")) {\n return true;\n } else if (checkCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context,\n p.loc\n )) {\n return true;\n }\n }\n } else {\n if (p.name === \"is\") {\n return true;\n } else if (\n // :is on plain element - only treat as component in compat mode\n p.name === \"bind\" && isStaticArgOf(p.arg, \"is\") && true && checkCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context,\n p.loc\n )\n ) {\n return true;\n }\n }\n }\n}\nfunction parseAttributes(context, type) {\n const props = [];\n const attributeNames = /* @__PURE__ */ new Set();\n while (context.source.length > 0 && !startsWith(context.source, \">\") && !startsWith(context.source, \"/>\")) {\n if (startsWith(context.source, \"/\")) {\n emitError(context, 22);\n advanceBy(context, 1);\n advanceSpaces(context);\n continue;\n }\n if (type === 1 /* End */) {\n emitError(context, 3);\n }\n const attr = parseAttribute(context, attributeNames);\n if (attr.type === 6 && attr.value && attr.name === \"class\") {\n attr.value.content = attr.value.content.replace(/\\s+/g, \" \").trim();\n }\n if (type === 0 /* Start */) {\n props.push(attr);\n }\n if (/^[^\\t\\r\\n\\f />]/.test(context.source)) {\n emitError(context, 15);\n }\n advanceSpaces(context);\n }\n return props;\n}\nfunction parseAttribute(context, nameSet) {\n var _a;\n const start = getCursor(context);\n const match = /^[^\\t\\r\\n\\f />][^\\t\\r\\n\\f />=]*/.exec(context.source);\n const name = match[0];\n if (nameSet.has(name)) {\n emitError(context, 2);\n }\n nameSet.add(name);\n if (name[0] === \"=\") {\n emitError(context, 19);\n }\n {\n const pattern = /[\"'<]/g;\n let m;\n while (m = pattern.exec(name)) {\n emitError(\n context,\n 17,\n m.index\n );\n }\n }\n advanceBy(context, name.length);\n let value = void 0;\n if (/^[\\t\\r\\n\\f ]*=/.test(context.source)) {\n advanceSpaces(context);\n advanceBy(context, 1);\n advanceSpaces(context);\n value = parseAttributeValue(context);\n if (!value) {\n emitError(context, 13);\n }\n }\n const loc = getSelection(context, start);\n if (!context.inVPre && /^(v-[A-Za-z0-9-]|:|\\.|@|#)/.test(name)) {\n const match2 = /(?:^v-([a-z0-9-]+))?(?:(?::|^\\.|^@|^#)(\\[[^\\]]+\\]|[^\\.]+))?(.+)?$/i.exec(\n name\n );\n let isPropShorthand = startsWith(name, \".\");\n let dirName = match2[1] || (isPropShorthand || startsWith(name, \":\") ? \"bind\" : startsWith(name, \"@\") ? \"on\" : \"slot\");\n let arg;\n if (match2[2]) {\n const isSlot = dirName === \"slot\";\n const startOffset = name.lastIndexOf(\n match2[2],\n name.length - (((_a = match2[3]) == null ? void 0 : _a.length) || 0)\n );\n const loc2 = getSelection(\n context,\n getNewPosition(context, start, startOffset),\n getNewPosition(\n context,\n start,\n startOffset + match2[2].length + (isSlot && match2[3] || \"\").length\n )\n );\n let content = match2[2];\n let isStatic = true;\n if (content.startsWith(\"[\")) {\n isStatic = false;\n if (!content.endsWith(\"]\")) {\n emitError(\n context,\n 27\n );\n content = content.slice(1);\n } else {\n content = content.slice(1, content.length - 1);\n }\n } else if (isSlot) {\n content += match2[3] || \"\";\n }\n arg = {\n type: 4,\n content,\n isStatic,\n constType: isStatic ? 3 : 0,\n loc: loc2\n };\n }\n if (value && value.isQuoted) {\n const valueLoc = value.loc;\n valueLoc.start.offset++;\n valueLoc.start.column++;\n valueLoc.end = advancePositionWithClone(valueLoc.start, value.content);\n valueLoc.source = valueLoc.source.slice(1, -1);\n }\n const modifiers = match2[3] ? match2[3].slice(1).split(\".\") : [];\n if (isPropShorthand)\n modifiers.push(\"prop\");\n if (dirName === \"bind\" && arg) {\n if (modifiers.includes(\"sync\") && checkCompatEnabled(\n \"COMPILER_V_BIND_SYNC\",\n context,\n loc,\n arg.loc.source\n )) {\n dirName = \"model\";\n modifiers.splice(modifiers.indexOf(\"sync\"), 1);\n }\n if (!!(process.env.NODE_ENV !== \"production\") && modifiers.includes(\"prop\")) {\n checkCompatEnabled(\n \"COMPILER_V_BIND_PROP\",\n context,\n loc\n );\n }\n }\n return {\n type: 7,\n name: dirName,\n exp: value && {\n type: 4,\n content: value.content,\n isStatic: false,\n // Treat as non-constant by default. This can be potentially set to\n // other values by `transformExpression` to make it eligible for hoisting.\n constType: 0,\n loc: value.loc\n },\n arg,\n modifiers,\n loc\n };\n }\n if (!context.inVPre && startsWith(name, \"v-\")) {\n emitError(context, 26);\n }\n return {\n type: 6,\n name,\n value: value && {\n type: 2,\n content: value.content,\n loc: value.loc\n },\n loc\n };\n}\nfunction parseAttributeValue(context) {\n const start = getCursor(context);\n let content;\n const quote = context.source[0];\n const isQuoted = quote === `\"` || quote === `'`;\n if (isQuoted) {\n advanceBy(context, 1);\n const endIndex = context.source.indexOf(quote);\n if (endIndex === -1) {\n content = parseTextData(\n context,\n context.source.length,\n 4\n );\n } else {\n content = parseTextData(context, endIndex, 4);\n advanceBy(context, 1);\n }\n } else {\n const match = /^[^\\t\\r\\n\\f >]+/.exec(context.source);\n if (!match) {\n return void 0;\n }\n const unexpectedChars = /[\"'<=`]/g;\n let m;\n while (m = unexpectedChars.exec(match[0])) {\n emitError(\n context,\n 18,\n m.index\n );\n }\n content = parseTextData(context, match[0].length, 4);\n }\n return { content, isQuoted, loc: getSelection(context, start) };\n}\nfunction parseInterpolation(context, mode) {\n const [open, close] = context.options.delimiters;\n const closeIndex = context.source.indexOf(close, open.length);\n if (closeIndex === -1) {\n emitError(context, 25);\n return void 0;\n }\n const start = getCursor(context);\n advanceBy(context, open.length);\n const innerStart = getCursor(context);\n const innerEnd = getCursor(context);\n const rawContentLength = closeIndex - open.length;\n const rawContent = context.source.slice(0, rawContentLength);\n const preTrimContent = parseTextData(context, rawContentLength, mode);\n const content = preTrimContent.trim();\n const startOffset = preTrimContent.indexOf(content);\n if (startOffset > 0) {\n advancePositionWithMutation(innerStart, rawContent, startOffset);\n }\n const endOffset = rawContentLength - (preTrimContent.length - content.length - startOffset);\n advancePositionWithMutation(innerEnd, rawContent, endOffset);\n advanceBy(context, close.length);\n return {\n type: 5,\n content: {\n type: 4,\n isStatic: false,\n // Set `isConstant` to false by default and will decide in transformExpression\n constType: 0,\n content,\n loc: getSelection(context, innerStart, innerEnd)\n },\n loc: getSelection(context, start)\n };\n}\nfunction parseText(context, mode) {\n const endTokens = mode === 3 ? [\"]]>\"] : [\"<\", context.options.delimiters[0]];\n let endIndex = context.source.length;\n for (let i = 0; i < endTokens.length; i++) {\n const index = context.source.indexOf(endTokens[i], 1);\n if (index !== -1 && endIndex > index) {\n endIndex = index;\n }\n }\n const start = getCursor(context);\n const content = parseTextData(context, endIndex, mode);\n return {\n type: 2,\n content,\n loc: getSelection(context, start)\n };\n}\nfunction parseTextData(context, length, mode) {\n const rawText = context.source.slice(0, length);\n advanceBy(context, length);\n if (mode === 2 || mode === 3 || !rawText.includes(\"&\")) {\n return rawText;\n } else {\n return context.options.decodeEntities(\n rawText,\n mode === 4\n );\n }\n}\nfunction getCursor(context) {\n const { column, line, offset } = context;\n return { column, line, offset };\n}\nfunction getSelection(context, start, end) {\n end = end || getCursor(context);\n return {\n start,\n end,\n source: context.originalSource.slice(start.offset, end.offset)\n };\n}\nfunction last(xs) {\n return xs[xs.length - 1];\n}\nfunction startsWith(source, searchString) {\n return source.startsWith(searchString);\n}\nfunction advanceBy(context, numberOfCharacters) {\n const { source } = context;\n advancePositionWithMutation(context, source, numberOfCharacters);\n context.source = source.slice(numberOfCharacters);\n}\nfunction advanceSpaces(context) {\n const match = /^[\\t\\r\\n\\f ]+/.exec(context.source);\n if (match) {\n advanceBy(context, match[0].length);\n }\n}\nfunction getNewPosition(context, start, numberOfCharacters) {\n return advancePositionWithClone(\n start,\n context.originalSource.slice(start.offset, numberOfCharacters),\n numberOfCharacters\n );\n}\nfunction emitError(context, code, offset, loc = getCursor(context)) {\n if (offset) {\n loc.offset += offset;\n loc.column += offset;\n }\n context.options.onError(\n createCompilerError(code, {\n start: loc,\n end: loc,\n source: \"\"\n })\n );\n}\nfunction isEnd(context, mode, ancestors) {\n const s = context.source;\n switch (mode) {\n case 0:\n if (startsWith(s, \"</\")) {\n for (let i = ancestors.length - 1; i >= 0; --i) {\n if (startsWithEndTagOpen(s, ancestors[i].tag)) {\n return true;\n }\n }\n }\n break;\n case 1:\n case 2: {\n const parent = last(ancestors);\n if (parent && startsWithEndTagOpen(s, parent.tag)) {\n return true;\n }\n break;\n }\n case 3:\n if (startsWith(s, \"]]>\")) {\n return true;\n }\n break;\n }\n return !s;\n}\nfunction startsWithEndTagOpen(source, tag) {\n return startsWith(source, \"</\") && source.slice(2, 2 + tag.length).toLowerCase() === tag.toLowerCase() && /[\\t\\r\\n\\f />]/.test(source[2 + tag.length] || \">\");\n}\n\nfunction hoistStatic(root, context) {\n walk(\n root,\n context,\n // Root node is unfortunately non-hoistable due to potential parent\n // fallthrough attributes.\n isSingleElementRoot(root, root.children[0])\n );\n}\nfunction isSingleElementRoot(root, child) {\n const { children } = root;\n return children.length === 1 && child.type === 1 && !isSlotOutlet(child);\n}\nfunction walk(node, context, doNotHoistNode = false) {\n const { children } = node;\n const originalCount = children.length;\n let hoistedCount = 0;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child.type === 1 && child.tagType === 0) {\n const constantType = doNotHoistNode ? 0 : getConstantType(child, context);\n if (constantType > 0) {\n if (constantType >= 2) {\n child.codegenNode.patchFlag = -1 + (!!(process.env.NODE_ENV !== \"production\") ? ` /* HOISTED */` : ``);\n child.codegenNode = context.hoist(child.codegenNode);\n hoistedCount++;\n continue;\n }\n } else {\n const codegenNode = child.codegenNode;\n if (codegenNode.type === 13) {\n const flag = getPatchFlag(codegenNode);\n if ((!flag || flag === 512 || flag === 1) && getGeneratedPropsConstantType(child, context) >= 2) {\n const props = getNodeProps(child);\n if (props) {\n codegenNode.props = context.hoist(props);\n }\n }\n if (codegenNode.dynamicProps) {\n codegenNode.dynamicProps = context.hoist(codegenNode.dynamicProps);\n }\n }\n }\n }\n if (child.type === 1) {\n const isComponent = child.tagType === 1;\n if (isComponent) {\n context.scopes.vSlot++;\n }\n walk(child, context);\n if (isComponent) {\n context.scopes.vSlot--;\n }\n } else if (child.type === 11) {\n walk(child, context, child.children.length === 1);\n } else if (child.type === 9) {\n for (let i2 = 0; i2 < child.branches.length; i2++) {\n walk(\n child.branches[i2],\n context,\n child.branches[i2].children.length === 1\n );\n }\n }\n }\n if (hoistedCount && context.transformHoist) {\n context.transformHoist(children, context, node);\n }\n if (hoistedCount && hoistedCount === originalCount && node.type === 1 && node.tagType === 0 && node.codegenNode && node.codegenNode.type === 13 && isArray(node.codegenNode.children)) {\n const hoisted = context.hoist(\n createArrayExpression(node.codegenNode.children)\n );\n if (context.hmr) {\n hoisted.content = `[...${hoisted.content}]`;\n }\n node.codegenNode.children = hoisted;\n }\n}\nfunction getConstantType(node, context) {\n const { constantCache } = context;\n switch (node.type) {\n case 1:\n if (node.tagType !== 0) {\n return 0;\n }\n const cached = constantCache.get(node);\n if (cached !== void 0) {\n return cached;\n }\n const codegenNode = node.codegenNode;\n if (codegenNode.type !== 13) {\n return 0;\n }\n if (codegenNode.isBlock && node.tag !== \"svg\" && node.tag !== \"foreignObject\") {\n return 0;\n }\n const flag = getPatchFlag(codegenNode);\n if (!flag) {\n let returnType2 = 3;\n const generatedPropsType = getGeneratedPropsConstantType(node, context);\n if (generatedPropsType === 0) {\n constantCache.set(node, 0);\n return 0;\n }\n if (generatedPropsType < returnType2) {\n returnType2 = generatedPropsType;\n }\n for (let i = 0; i < node.children.length; i++) {\n const childType = getConstantType(node.children[i], context);\n if (childType === 0) {\n constantCache.set(node, 0);\n return 0;\n }\n if (childType < returnType2) {\n returnType2 = childType;\n }\n }\n if (returnType2 > 1) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 && p.name === \"bind\" && p.exp) {\n const expType = getConstantType(p.exp, context);\n if (expType === 0) {\n constantCache.set(node, 0);\n return 0;\n }\n if (expType < returnType2) {\n returnType2 = expType;\n }\n }\n }\n }\n if (codegenNode.isBlock) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7) {\n constantCache.set(node, 0);\n return 0;\n }\n }\n context.removeHelper(OPEN_BLOCK);\n context.removeHelper(\n getVNodeBlockHelper(context.inSSR, codegenNode.isComponent)\n );\n codegenNode.isBlock = false;\n context.helper(getVNodeHelper(context.inSSR, codegenNode.isComponent));\n }\n constantCache.set(node, returnType2);\n return returnType2;\n } else {\n constantCache.set(node, 0);\n return 0;\n }\n case 2:\n case 3:\n return 3;\n case 9:\n case 11:\n case 10:\n return 0;\n case 5:\n case 12:\n return getConstantType(node.content, context);\n case 4:\n return node.constType;\n case 8:\n let returnType = 3;\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (isString(child) || isSymbol(child)) {\n continue;\n }\n const childType = getConstantType(child, context);\n if (childType === 0) {\n return 0;\n } else if (childType < returnType) {\n returnType = childType;\n }\n }\n return returnType;\n default:\n if (!!(process.env.NODE_ENV !== \"production\")) ;\n return 0;\n }\n}\nconst allowHoistedHelperSet = /* @__PURE__ */ new Set([\n NORMALIZE_CLASS,\n NORMALIZE_STYLE,\n NORMALIZE_PROPS,\n GUARD_REACTIVE_PROPS\n]);\nfunction getConstantTypeOfHelperCall(value, context) {\n if (value.type === 14 && !isString(value.callee) && allowHoistedHelperSet.has(value.callee)) {\n const arg = value.arguments[0];\n if (arg.type === 4) {\n return getConstantType(arg, context);\n } else if (arg.type === 14) {\n return getConstantTypeOfHelperCall(arg, context);\n }\n }\n return 0;\n}\nfunction getGeneratedPropsConstantType(node, context) {\n let returnType = 3;\n const props = getNodeProps(node);\n if (props && props.type === 15) {\n const { properties } = props;\n for (let i = 0; i < properties.length; i++) {\n const { key, value } = properties[i];\n const keyType = getConstantType(key, context);\n if (keyType === 0) {\n return keyType;\n }\n if (keyType < returnType) {\n returnType = keyType;\n }\n let valueType;\n if (value.type === 4) {\n valueType = getConstantType(value, context);\n } else if (value.type === 14) {\n valueType = getConstantTypeOfHelperCall(value, context);\n } else {\n valueType = 0;\n }\n if (valueType === 0) {\n return valueType;\n }\n if (valueType < returnType) {\n returnType = valueType;\n }\n }\n }\n return returnType;\n}\nfunction getNodeProps(node) {\n const codegenNode = node.codegenNode;\n if (codegenNode.type === 13) {\n return codegenNode.props;\n }\n}\nfunction getPatchFlag(node) {\n const flag = node.patchFlag;\n return flag ? parseInt(flag, 10) : void 0;\n}\n\nfunction createTransformContext(root, {\n filename = \"\",\n prefixIdentifiers = false,\n hoistStatic: hoistStatic2 = false,\n hmr = false,\n cacheHandlers = false,\n nodeTransforms = [],\n directiveTransforms = {},\n transformHoist = null,\n isBuiltInComponent = NOOP,\n isCustomElement = NOOP,\n expressionPlugins = [],\n scopeId = null,\n slotted = true,\n ssr = false,\n inSSR = false,\n ssrCssVars = ``,\n bindingMetadata = EMPTY_OBJ,\n inline = false,\n isTS = false,\n onError = defaultOnError,\n onWarn = defaultOnWarn,\n compatConfig\n}) {\n const nameMatch = filename.replace(/\\?.*$/, \"\").match(/([^/\\\\]+)\\.\\w+$/);\n const context = {\n // options\n selfName: nameMatch && capitalize(camelize(nameMatch[1])),\n prefixIdentifiers,\n hoistStatic: hoistStatic2,\n hmr,\n cacheHandlers,\n nodeTransforms,\n directiveTransforms,\n transformHoist,\n isBuiltInComponent,\n isCustomElement,\n expressionPlugins,\n scopeId,\n slotted,\n ssr,\n inSSR,\n ssrCssVars,\n bindingMetadata,\n inline,\n isTS,\n onError,\n onWarn,\n compatConfig,\n // state\n root,\n helpers: /* @__PURE__ */ new Map(),\n components: /* @__PURE__ */ new Set(),\n directives: /* @__PURE__ */ new Set(),\n hoists: [],\n imports: [],\n constantCache: /* @__PURE__ */ new WeakMap(),\n temps: 0,\n cached: 0,\n identifiers: /* @__PURE__ */ Object.create(null),\n scopes: {\n vFor: 0,\n vSlot: 0,\n vPre: 0,\n vOnce: 0\n },\n parent: null,\n currentNode: root,\n childIndex: 0,\n inVOnce: false,\n // methods\n helper(name) {\n const count = context.helpers.get(name) || 0;\n context.helpers.set(name, count + 1);\n return name;\n },\n removeHelper(name) {\n const count = context.helpers.get(name);\n if (count) {\n const currentCount = count - 1;\n if (!currentCount) {\n context.helpers.delete(name);\n } else {\n context.helpers.set(name, currentCount);\n }\n }\n },\n helperString(name) {\n return `_${helperNameMap[context.helper(name)]}`;\n },\n replaceNode(node) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!context.currentNode) {\n throw new Error(`Node being replaced is already removed.`);\n }\n if (!context.parent) {\n throw new Error(`Cannot replace root node.`);\n }\n }\n context.parent.children[context.childIndex] = context.currentNode = node;\n },\n removeNode(node) {\n if (!!(process.env.NODE_ENV !== \"production\") && !context.parent) {\n throw new Error(`Cannot remove root node.`);\n }\n const list = context.parent.children;\n const removalIndex = node ? list.indexOf(node) : context.currentNode ? context.childIndex : -1;\n if (!!(process.env.NODE_ENV !== \"production\") && removalIndex < 0) {\n throw new Error(`node being removed is not a child of current parent`);\n }\n if (!node || node === context.currentNode) {\n context.currentNode = null;\n context.onNodeRemoved();\n } else {\n if (context.childIndex > removalIndex) {\n context.childIndex--;\n context.onNodeRemoved();\n }\n }\n context.parent.children.splice(removalIndex, 1);\n },\n onNodeRemoved: () => {\n },\n addIdentifiers(exp) {\n },\n removeIdentifiers(exp) {\n },\n hoist(exp) {\n if (isString(exp))\n exp = createSimpleExpression(exp);\n context.hoists.push(exp);\n const identifier = createSimpleExpression(\n `_hoisted_${context.hoists.length}`,\n false,\n exp.loc,\n 2\n );\n identifier.hoisted = exp;\n return identifier;\n },\n cache(exp, isVNode = false) {\n return createCacheExpression(context.cached++, exp, isVNode);\n }\n };\n {\n context.filters = /* @__PURE__ */ new Set();\n }\n return context;\n}\nfunction transform(root, options) {\n const context = createTransformContext(root, options);\n traverseNode(root, context);\n if (options.hoistStatic) {\n hoistStatic(root, context);\n }\n if (!options.ssr) {\n createRootCodegen(root, context);\n }\n root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]);\n root.components = [...context.components];\n root.directives = [...context.directives];\n root.imports = context.imports;\n root.hoists = context.hoists;\n root.temps = context.temps;\n root.cached = context.cached;\n {\n root.filters = [...context.filters];\n }\n}\nfunction createRootCodegen(root, context) {\n const { helper } = context;\n const { children } = root;\n if (children.length === 1) {\n const child = children[0];\n if (isSingleElementRoot(root, child) && child.codegenNode) {\n const codegenNode = child.codegenNode;\n if (codegenNode.type === 13) {\n convertToBlock(codegenNode, context);\n }\n root.codegenNode = codegenNode;\n } else {\n root.codegenNode = child;\n }\n } else if (children.length > 1) {\n let patchFlag = 64;\n let patchFlagText = PatchFlagNames[64];\n if (!!(process.env.NODE_ENV !== \"production\") && children.filter((c) => c.type !== 3).length === 1) {\n patchFlag |= 2048;\n patchFlagText += `, ${PatchFlagNames[2048]}`;\n }\n root.codegenNode = createVNodeCall(\n context,\n helper(FRAGMENT),\n void 0,\n root.children,\n patchFlag + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${patchFlagText} */` : ``),\n void 0,\n void 0,\n true,\n void 0,\n false\n /* isComponent */\n );\n } else ;\n}\nfunction traverseChildren(parent, context) {\n let i = 0;\n const nodeRemoved = () => {\n i--;\n };\n for (; i < parent.children.length; i++) {\n const child = parent.children[i];\n if (isString(child))\n continue;\n context.parent = parent;\n context.childIndex = i;\n context.onNodeRemoved = nodeRemoved;\n traverseNode(child, context);\n }\n}\nfunction traverseNode(node, context) {\n context.currentNode = node;\n const { nodeTransforms } = context;\n const exitFns = [];\n for (let i2 = 0; i2 < nodeTransforms.length; i2++) {\n const onExit = nodeTransforms[i2](node, context);\n if (onExit) {\n if (isArray(onExit)) {\n exitFns.push(...onExit);\n } else {\n exitFns.push(onExit);\n }\n }\n if (!context.currentNode) {\n return;\n } else {\n node = context.currentNode;\n }\n }\n switch (node.type) {\n case 3:\n if (!context.ssr) {\n context.helper(CREATE_COMMENT);\n }\n break;\n case 5:\n if (!context.ssr) {\n context.helper(TO_DISPLAY_STRING);\n }\n break;\n case 9:\n for (let i2 = 0; i2 < node.branches.length; i2++) {\n traverseNode(node.branches[i2], context);\n }\n break;\n case 10:\n case 11:\n case 1:\n case 0:\n traverseChildren(node, context);\n break;\n }\n context.currentNode = node;\n let i = exitFns.length;\n while (i--) {\n exitFns[i]();\n }\n}\nfunction createStructuralDirectiveTransform(name, fn) {\n const matches = isString(name) ? (n) => n === name : (n) => name.test(n);\n return (node, context) => {\n if (node.type === 1) {\n const { props } = node;\n if (node.tagType === 3 && props.some(isVSlot)) {\n return;\n }\n const exitFns = [];\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (prop.type === 7 && matches(prop.name)) {\n props.splice(i, 1);\n i--;\n const onExit = fn(node, prop, context);\n if (onExit)\n exitFns.push(onExit);\n }\n }\n return exitFns;\n }\n };\n}\n\nconst PURE_ANNOTATION = `/*#__PURE__*/`;\nconst aliasHelper = (s) => `${helperNameMap[s]}: _${helperNameMap[s]}`;\nfunction createCodegenContext(ast, {\n mode = \"function\",\n prefixIdentifiers = mode === \"module\",\n sourceMap = false,\n filename = `template.vue.html`,\n scopeId = null,\n optimizeImports = false,\n runtimeGlobalName = `Vue`,\n runtimeModuleName = `vue`,\n ssrRuntimeModuleName = \"vue/server-renderer\",\n ssr = false,\n isTS = false,\n inSSR = false\n}) {\n const context = {\n mode,\n prefixIdentifiers,\n sourceMap,\n filename,\n scopeId,\n optimizeImports,\n runtimeGlobalName,\n runtimeModuleName,\n ssrRuntimeModuleName,\n ssr,\n isTS,\n inSSR,\n source: ast.loc.source,\n code: ``,\n column: 1,\n line: 1,\n offset: 0,\n indentLevel: 0,\n pure: false,\n map: void 0,\n helper(key) {\n return `_${helperNameMap[key]}`;\n },\n push(code, node) {\n context.code += code;\n },\n indent() {\n newline(++context.indentLevel);\n },\n deindent(withoutNewLine = false) {\n if (withoutNewLine) {\n --context.indentLevel;\n } else {\n newline(--context.indentLevel);\n }\n },\n newline() {\n newline(context.indentLevel);\n }\n };\n function newline(n) {\n context.push(\"\\n\" + ` `.repeat(n));\n }\n return context;\n}\nfunction generate(ast, options = {}) {\n const context = createCodegenContext(ast, options);\n if (options.onContextCreated)\n options.onContextCreated(context);\n const {\n mode,\n push,\n prefixIdentifiers,\n indent,\n deindent,\n newline,\n scopeId,\n ssr\n } = context;\n const helpers = Array.from(ast.helpers);\n const hasHelpers = helpers.length > 0;\n const useWithBlock = !prefixIdentifiers && mode !== \"module\";\n const isSetupInlined = false;\n const preambleContext = isSetupInlined ? createCodegenContext(ast, options) : context;\n {\n genFunctionPreamble(ast, preambleContext);\n }\n const functionName = ssr ? `ssrRender` : `render`;\n const args = ssr ? [\"_ctx\", \"_push\", \"_parent\", \"_attrs\"] : [\"_ctx\", \"_cache\"];\n const signature = args.join(\", \");\n {\n push(`function ${functionName}(${signature}) {`);\n }\n indent();\n if (useWithBlock) {\n push(`with (_ctx) {`);\n indent();\n if (hasHelpers) {\n push(`const { ${helpers.map(aliasHelper).join(\", \")} } = _Vue`);\n push(`\n`);\n newline();\n }\n }\n if (ast.components.length) {\n genAssets(ast.components, \"component\", context);\n if (ast.directives.length || ast.temps > 0) {\n newline();\n }\n }\n if (ast.directives.length) {\n genAssets(ast.directives, \"directive\", context);\n if (ast.temps > 0) {\n newline();\n }\n }\n if (ast.filters && ast.filters.length) {\n newline();\n genAssets(ast.filters, \"filter\", context);\n newline();\n }\n if (ast.temps > 0) {\n push(`let `);\n for (let i = 0; i < ast.temps; i++) {\n push(`${i > 0 ? `, ` : ``}_temp${i}`);\n }\n }\n if (ast.components.length || ast.directives.length || ast.temps) {\n push(`\n`);\n newline();\n }\n if (!ssr) {\n push(`return `);\n }\n if (ast.codegenNode) {\n genNode(ast.codegenNode, context);\n } else {\n push(`null`);\n }\n if (useWithBlock) {\n deindent();\n push(`}`);\n }\n deindent();\n push(`}`);\n return {\n ast,\n code: context.code,\n preamble: isSetupInlined ? preambleContext.code : ``,\n // SourceMapGenerator does have toJSON() method but it's not in the types\n map: context.map ? context.map.toJSON() : void 0\n };\n}\nfunction genFunctionPreamble(ast, context) {\n const {\n ssr,\n prefixIdentifiers,\n push,\n newline,\n runtimeModuleName,\n runtimeGlobalName,\n ssrRuntimeModuleName\n } = context;\n const VueBinding = runtimeGlobalName;\n const helpers = Array.from(ast.helpers);\n if (helpers.length > 0) {\n {\n push(`const _Vue = ${VueBinding}\n`);\n if (ast.hoists.length) {\n const staticHelpers = [\n CREATE_VNODE,\n CREATE_ELEMENT_VNODE,\n CREATE_COMMENT,\n CREATE_TEXT,\n CREATE_STATIC\n ].filter((helper) => helpers.includes(helper)).map(aliasHelper).join(\", \");\n push(`const { ${staticHelpers} } = _Vue\n`);\n }\n }\n }\n genHoists(ast.hoists, context);\n newline();\n push(`return `);\n}\nfunction genAssets(assets, type, { helper, push, newline, isTS }) {\n const resolver = helper(\n type === \"filter\" ? RESOLVE_FILTER : type === \"component\" ? RESOLVE_COMPONENT : RESOLVE_DIRECTIVE\n );\n for (let i = 0; i < assets.length; i++) {\n let id = assets[i];\n const maybeSelfReference = id.endsWith(\"__self\");\n if (maybeSelfReference) {\n id = id.slice(0, -6);\n }\n push(\n `const ${toValidAssetId(id, type)} = ${resolver}(${JSON.stringify(id)}${maybeSelfReference ? `, true` : ``})${isTS ? `!` : ``}`\n );\n if (i < assets.length - 1) {\n newline();\n }\n }\n}\nfunction genHoists(hoists, context) {\n if (!hoists.length) {\n return;\n }\n context.pure = true;\n const { push, newline, helper, scopeId, mode } = context;\n newline();\n for (let i = 0; i < hoists.length; i++) {\n const exp = hoists[i];\n if (exp) {\n push(\n `const _hoisted_${i + 1} = ${``}`\n );\n genNode(exp, context);\n newline();\n }\n }\n context.pure = false;\n}\nfunction isText(n) {\n return isString(n) || n.type === 4 || n.type === 2 || n.type === 5 || n.type === 8;\n}\nfunction genNodeListAsArray(nodes, context) {\n const multilines = nodes.length > 3 || !!(process.env.NODE_ENV !== \"production\") && nodes.some((n) => isArray(n) || !isText(n));\n context.push(`[`);\n multilines && context.indent();\n genNodeList(nodes, context, multilines);\n multilines && context.deindent();\n context.push(`]`);\n}\nfunction genNodeList(nodes, context, multilines = false, comma = true) {\n const { push, newline } = context;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (isString(node)) {\n push(node);\n } else if (isArray(node)) {\n genNodeListAsArray(node, context);\n } else {\n genNode(node, context);\n }\n if (i < nodes.length - 1) {\n if (multilines) {\n comma && push(\",\");\n newline();\n } else {\n comma && push(\", \");\n }\n }\n }\n}\nfunction genNode(node, context) {\n if (isString(node)) {\n context.push(node);\n return;\n }\n if (isSymbol(node)) {\n context.push(context.helper(node));\n return;\n }\n switch (node.type) {\n case 1:\n case 9:\n case 11:\n !!(process.env.NODE_ENV !== \"production\") && assert(\n node.codegenNode != null,\n `Codegen node is missing for element/if/for node. Apply appropriate transforms first.`\n );\n genNode(node.codegenNode, context);\n break;\n case 2:\n genText(node, context);\n break;\n case 4:\n genExpression(node, context);\n break;\n case 5:\n genInterpolation(node, context);\n break;\n case 12:\n genNode(node.codegenNode, context);\n break;\n case 8:\n genCompoundExpression(node, context);\n break;\n case 3:\n genComment(node, context);\n break;\n case 13:\n genVNodeCall(node, context);\n break;\n case 14:\n genCallExpression(node, context);\n break;\n case 15:\n genObjectExpression(node, context);\n break;\n case 17:\n genArrayExpression(node, context);\n break;\n case 18:\n genFunctionExpression(node, context);\n break;\n case 19:\n genConditionalExpression(node, context);\n break;\n case 20:\n genCacheExpression(node, context);\n break;\n case 21:\n genNodeList(node.body, context, true, false);\n break;\n case 22:\n break;\n case 23:\n break;\n case 24:\n break;\n case 25:\n break;\n case 26:\n break;\n case 10:\n break;\n default:\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assert(false, `unhandled codegen node type: ${node.type}`);\n const exhaustiveCheck = node;\n return exhaustiveCheck;\n }\n }\n}\nfunction genText(node, context) {\n context.push(JSON.stringify(node.content), node);\n}\nfunction genExpression(node, context) {\n const { content, isStatic } = node;\n context.push(isStatic ? JSON.stringify(content) : content, node);\n}\nfunction genInterpolation(node, context) {\n const { push, helper, pure } = context;\n if (pure)\n push(PURE_ANNOTATION);\n push(`${helper(TO_DISPLAY_STRING)}(`);\n genNode(node.content, context);\n push(`)`);\n}\nfunction genCompoundExpression(node, context) {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (isString(child)) {\n context.push(child);\n } else {\n genNode(child, context);\n }\n }\n}\nfunction genExpressionAsPropertyKey(node, context) {\n const { push } = context;\n if (node.type === 8) {\n push(`[`);\n genCompoundExpression(node, context);\n push(`]`);\n } else if (node.isStatic) {\n const text = isSimpleIdentifier(node.content) ? node.content : JSON.stringify(node.content);\n push(text, node);\n } else {\n push(`[${node.content}]`, node);\n }\n}\nfunction genComment(node, context) {\n const { push, helper, pure } = context;\n if (pure) {\n push(PURE_ANNOTATION);\n }\n push(`${helper(CREATE_COMMENT)}(${JSON.stringify(node.content)})`, node);\n}\nfunction genVNodeCall(node, context) {\n const { push, helper, pure } = context;\n const {\n tag,\n props,\n children,\n patchFlag,\n dynamicProps,\n directives,\n isBlock,\n disableTracking,\n isComponent\n } = node;\n if (directives) {\n push(helper(WITH_DIRECTIVES) + `(`);\n }\n if (isBlock) {\n push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `);\n }\n if (pure) {\n push(PURE_ANNOTATION);\n }\n const callHelper = isBlock ? getVNodeBlockHelper(context.inSSR, isComponent) : getVNodeHelper(context.inSSR, isComponent);\n push(helper(callHelper) + `(`, node);\n genNodeList(\n genNullableArgs([tag, props, children, patchFlag, dynamicProps]),\n context\n );\n push(`)`);\n if (isBlock) {\n push(`)`);\n }\n if (directives) {\n push(`, `);\n genNode(directives, context);\n push(`)`);\n }\n}\nfunction genNullableArgs(args) {\n let i = args.length;\n while (i--) {\n if (args[i] != null)\n break;\n }\n return args.slice(0, i + 1).map((arg) => arg || `null`);\n}\nfunction genCallExpression(node, context) {\n const { push, helper, pure } = context;\n const callee = isString(node.callee) ? node.callee : helper(node.callee);\n if (pure) {\n push(PURE_ANNOTATION);\n }\n push(callee + `(`, node);\n genNodeList(node.arguments, context);\n push(`)`);\n}\nfunction genObjectExpression(node, context) {\n const { push, indent, deindent, newline } = context;\n const { properties } = node;\n if (!properties.length) {\n push(`{}`, node);\n return;\n }\n const multilines = properties.length > 1 || !!(process.env.NODE_ENV !== \"production\") && properties.some((p) => p.value.type !== 4);\n push(multilines ? `{` : `{ `);\n multilines && indent();\n for (let i = 0; i < properties.length; i++) {\n const { key, value } = properties[i];\n genExpressionAsPropertyKey(key, context);\n push(`: `);\n genNode(value, context);\n if (i < properties.length - 1) {\n push(`,`);\n newline();\n }\n }\n multilines && deindent();\n push(multilines ? `}` : ` }`);\n}\nfunction genArrayExpression(node, context) {\n genNodeListAsArray(node.elements, context);\n}\nfunction genFunctionExpression(node, context) {\n const { push, indent, deindent } = context;\n const { params, returns, body, newline, isSlot } = node;\n if (isSlot) {\n push(`_${helperNameMap[WITH_CTX]}(`);\n }\n push(`(`, node);\n if (isArray(params)) {\n genNodeList(params, context);\n } else if (params) {\n genNode(params, context);\n }\n push(`) => `);\n if (newline || body) {\n push(`{`);\n indent();\n }\n if (returns) {\n if (newline) {\n push(`return `);\n }\n if (isArray(returns)) {\n genNodeListAsArray(returns, context);\n } else {\n genNode(returns, context);\n }\n } else if (body) {\n genNode(body, context);\n }\n if (newline || body) {\n deindent();\n push(`}`);\n }\n if (isSlot) {\n if (node.isNonScopedSlot) {\n push(`, undefined, true`);\n }\n push(`)`);\n }\n}\nfunction genConditionalExpression(node, context) {\n const { test, consequent, alternate, newline: needNewline } = node;\n const { push, indent, deindent, newline } = context;\n if (test.type === 4) {\n const needsParens = !isSimpleIdentifier(test.content);\n needsParens && push(`(`);\n genExpression(test, context);\n needsParens && push(`)`);\n } else {\n push(`(`);\n genNode(test, context);\n push(`)`);\n }\n needNewline && indent();\n context.indentLevel++;\n needNewline || push(` `);\n push(`? `);\n genNode(consequent, context);\n context.indentLevel--;\n needNewline && newline();\n needNewline || push(` `);\n push(`: `);\n const isNested = alternate.type === 19;\n if (!isNested) {\n context.indentLevel++;\n }\n genNode(alternate, context);\n if (!isNested) {\n context.indentLevel--;\n }\n needNewline && deindent(\n true\n /* without newline */\n );\n}\nfunction genCacheExpression(node, context) {\n const { push, helper, indent, deindent, newline } = context;\n push(`_cache[${node.index}] || (`);\n if (node.isVNode) {\n indent();\n push(`${helper(SET_BLOCK_TRACKING)}(-1),`);\n newline();\n }\n push(`_cache[${node.index}] = `);\n genNode(node.value, context);\n if (node.isVNode) {\n push(`,`);\n newline();\n push(`${helper(SET_BLOCK_TRACKING)}(1),`);\n newline();\n push(`_cache[${node.index}]`);\n deindent();\n }\n push(`)`);\n}\n\nfunction walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) {\n {\n return;\n }\n}\nfunction isReferencedIdentifier(id, parent, parentStack) {\n {\n return false;\n }\n}\nfunction isInDestructureAssignment(parent, parentStack) {\n if (parent && (parent.type === \"ObjectProperty\" || parent.type === \"ArrayPattern\")) {\n let i = parentStack.length;\n while (i--) {\n const p = parentStack[i];\n if (p.type === \"AssignmentExpression\") {\n return true;\n } else if (p.type !== \"ObjectProperty\" && !p.type.endsWith(\"Pattern\")) {\n break;\n }\n }\n }\n return false;\n}\nfunction walkFunctionParams(node, onIdent) {\n for (const p of node.params) {\n for (const id of extractIdentifiers(p)) {\n onIdent(id);\n }\n }\n}\nfunction walkBlockDeclarations(block, onIdent) {\n for (const stmt of block.body) {\n if (stmt.type === \"VariableDeclaration\") {\n if (stmt.declare)\n continue;\n for (const decl of stmt.declarations) {\n for (const id of extractIdentifiers(decl.id)) {\n onIdent(id);\n }\n }\n } else if (stmt.type === \"FunctionDeclaration\" || stmt.type === \"ClassDeclaration\") {\n if (stmt.declare || !stmt.id)\n continue;\n onIdent(stmt.id);\n }\n }\n}\nfunction extractIdentifiers(param, nodes = []) {\n switch (param.type) {\n case \"Identifier\":\n nodes.push(param);\n break;\n case \"MemberExpression\":\n let object = param;\n while (object.type === \"MemberExpression\") {\n object = object.object;\n }\n nodes.push(object);\n break;\n case \"ObjectPattern\":\n for (const prop of param.properties) {\n if (prop.type === \"RestElement\") {\n extractIdentifiers(prop.argument, nodes);\n } else {\n extractIdentifiers(prop.value, nodes);\n }\n }\n break;\n case \"ArrayPattern\":\n param.elements.forEach((element) => {\n if (element)\n extractIdentifiers(element, nodes);\n });\n break;\n case \"RestElement\":\n extractIdentifiers(param.argument, nodes);\n break;\n case \"AssignmentPattern\":\n extractIdentifiers(param.left, nodes);\n break;\n }\n return nodes;\n}\nconst isFunctionType = (node) => {\n return /Function(?:Expression|Declaration)$|Method$/.test(node.type);\n};\nconst isStaticProperty = (node) => node && (node.type === \"ObjectProperty\" || node.type === \"ObjectMethod\") && !node.computed;\nconst isStaticPropertyKey = (node, parent) => isStaticProperty(parent) && parent.key === node;\nconst TS_NODE_TYPES = [\n \"TSAsExpression\",\n // foo as number\n \"TSTypeAssertion\",\n // (<number>foo)\n \"TSNonNullExpression\",\n // foo!\n \"TSInstantiationExpression\",\n // foo<string>\n \"TSSatisfiesExpression\"\n // foo satisfies T\n];\n\nconst prohibitedKeywordRE = new RegExp(\n \"\\\\b\" + \"arguments,await,break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,let,new,return,super,switch,throw,try,var,void,while,with,yield\".split(\",\").join(\"\\\\b|\\\\b\") + \"\\\\b\"\n);\nconst stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\nfunction validateBrowserExpression(node, context, asParams = false, asRawStatements = false) {\n const exp = node.content;\n if (!exp.trim()) {\n return;\n }\n try {\n new Function(\n asRawStatements ? ` ${exp} ` : `return ${asParams ? `(${exp}) => {}` : `(${exp})`}`\n );\n } catch (e) {\n let message = e.message;\n const keywordMatch = exp.replace(stripStringRE, \"\").match(prohibitedKeywordRE);\n if (keywordMatch) {\n message = `avoid using JavaScript keyword as property name: \"${keywordMatch[0]}\"`;\n }\n context.onError(\n createCompilerError(\n 45,\n node.loc,\n void 0,\n message\n )\n );\n }\n}\n\nconst transformExpression = (node, context) => {\n if (node.type === 5) {\n node.content = processExpression(\n node.content,\n context\n );\n } else if (node.type === 1) {\n for (let i = 0; i < node.props.length; i++) {\n const dir = node.props[i];\n if (dir.type === 7 && dir.name !== \"for\") {\n const exp = dir.exp;\n const arg = dir.arg;\n if (exp && exp.type === 4 && !(dir.name === \"on\" && arg)) {\n dir.exp = processExpression(\n exp,\n context,\n // slot args must be processed as function params\n dir.name === \"slot\"\n );\n }\n if (arg && arg.type === 4 && !arg.isStatic) {\n dir.arg = processExpression(arg, context);\n }\n }\n }\n }\n};\nfunction processExpression(node, context, asParams = false, asRawStatements = false, localVars = Object.create(context.identifiers)) {\n {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateBrowserExpression(node, context, asParams, asRawStatements);\n }\n return node;\n }\n}\nfunction stringifyExpression(exp) {\n if (isString(exp)) {\n return exp;\n } else if (exp.type === 4) {\n return exp.content;\n } else {\n return exp.children.map(stringifyExpression).join(\"\");\n }\n}\n\nconst transformIf = createStructuralDirectiveTransform(\n /^(if|else|else-if)$/,\n (node, dir, context) => {\n return processIf(node, dir, context, (ifNode, branch, isRoot) => {\n const siblings = context.parent.children;\n let i = siblings.indexOf(ifNode);\n let key = 0;\n while (i-- >= 0) {\n const sibling = siblings[i];\n if (sibling && sibling.type === 9) {\n key += sibling.branches.length;\n }\n }\n return () => {\n if (isRoot) {\n ifNode.codegenNode = createCodegenNodeForBranch(\n branch,\n key,\n context\n );\n } else {\n const parentCondition = getParentCondition(ifNode.codegenNode);\n parentCondition.alternate = createCodegenNodeForBranch(\n branch,\n key + ifNode.branches.length - 1,\n context\n );\n }\n };\n });\n }\n);\nfunction processIf(node, dir, context, processCodegen) {\n if (dir.name !== \"else\" && (!dir.exp || !dir.exp.content.trim())) {\n const loc = dir.exp ? dir.exp.loc : node.loc;\n context.onError(\n createCompilerError(28, dir.loc)\n );\n dir.exp = createSimpleExpression(`true`, false, loc);\n }\n if (!!(process.env.NODE_ENV !== \"production\") && true && dir.exp) {\n validateBrowserExpression(dir.exp, context);\n }\n if (dir.name === \"if\") {\n const branch = createIfBranch(node, dir);\n const ifNode = {\n type: 9,\n loc: node.loc,\n branches: [branch]\n };\n context.replaceNode(ifNode);\n if (processCodegen) {\n return processCodegen(ifNode, branch, true);\n }\n } else {\n const siblings = context.parent.children;\n const comments = [];\n let i = siblings.indexOf(node);\n while (i-- >= -1) {\n const sibling = siblings[i];\n if (sibling && sibling.type === 3) {\n context.removeNode(sibling);\n !!(process.env.NODE_ENV !== \"production\") && comments.unshift(sibling);\n continue;\n }\n if (sibling && sibling.type === 2 && !sibling.content.trim().length) {\n context.removeNode(sibling);\n continue;\n }\n if (sibling && sibling.type === 9) {\n if (dir.name === \"else-if\" && sibling.branches[sibling.branches.length - 1].condition === void 0) {\n context.onError(\n createCompilerError(30, node.loc)\n );\n }\n context.removeNode();\n const branch = createIfBranch(node, dir);\n if (!!(process.env.NODE_ENV !== \"production\") && comments.length && // #3619 ignore comments if the v-if is direct child of <transition>\n !(context.parent && context.parent.type === 1 && isBuiltInType(context.parent.tag, \"transition\"))) {\n branch.children = [...comments, ...branch.children];\n }\n if (!!(process.env.NODE_ENV !== \"production\") || false) {\n const key = branch.userKey;\n if (key) {\n sibling.branches.forEach(({ userKey }) => {\n if (isSameKey(userKey, key)) {\n context.onError(\n createCompilerError(\n 29,\n branch.userKey.loc\n )\n );\n }\n });\n }\n }\n sibling.branches.push(branch);\n const onExit = processCodegen && processCodegen(sibling, branch, false);\n traverseNode(branch, context);\n if (onExit)\n onExit();\n context.currentNode = null;\n } else {\n context.onError(\n createCompilerError(30, node.loc)\n );\n }\n break;\n }\n }\n}\nfunction createIfBranch(node, dir) {\n const isTemplateIf = node.tagType === 3;\n return {\n type: 10,\n loc: node.loc,\n condition: dir.name === \"else\" ? void 0 : dir.exp,\n children: isTemplateIf && !findDir(node, \"for\") ? node.children : [node],\n userKey: findProp(node, `key`),\n isTemplateIf\n };\n}\nfunction createCodegenNodeForBranch(branch, keyIndex, context) {\n if (branch.condition) {\n return createConditionalExpression(\n branch.condition,\n createChildrenCodegenNode(branch, keyIndex, context),\n // make sure to pass in asBlock: true so that the comment node call\n // closes the current block.\n createCallExpression(context.helper(CREATE_COMMENT), [\n !!(process.env.NODE_ENV !== \"production\") ? '\"v-if\"' : '\"\"',\n \"true\"\n ])\n );\n } else {\n return createChildrenCodegenNode(branch, keyIndex, context);\n }\n}\nfunction createChildrenCodegenNode(branch, keyIndex, context) {\n const { helper } = context;\n const keyProperty = createObjectProperty(\n `key`,\n createSimpleExpression(\n `${keyIndex}`,\n false,\n locStub,\n 2\n )\n );\n const { children } = branch;\n const firstChild = children[0];\n const needFragmentWrapper = children.length !== 1 || firstChild.type !== 1;\n if (needFragmentWrapper) {\n if (children.length === 1 && firstChild.type === 11) {\n const vnodeCall = firstChild.codegenNode;\n injectProp(vnodeCall, keyProperty, context);\n return vnodeCall;\n } else {\n let patchFlag = 64;\n let patchFlagText = PatchFlagNames[64];\n if (!!(process.env.NODE_ENV !== \"production\") && !branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) {\n patchFlag |= 2048;\n patchFlagText += `, ${PatchFlagNames[2048]}`;\n }\n return createVNodeCall(\n context,\n helper(FRAGMENT),\n createObjectExpression([keyProperty]),\n children,\n patchFlag + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${patchFlagText} */` : ``),\n void 0,\n void 0,\n true,\n false,\n false,\n branch.loc\n );\n }\n } else {\n const ret = firstChild.codegenNode;\n const vnodeCall = getMemoedVNodeCall(ret);\n if (vnodeCall.type === 13) {\n convertToBlock(vnodeCall, context);\n }\n injectProp(vnodeCall, keyProperty, context);\n return ret;\n }\n}\nfunction isSameKey(a, b) {\n if (!a || a.type !== b.type) {\n return false;\n }\n if (a.type === 6) {\n if (a.value.content !== b.value.content) {\n return false;\n }\n } else {\n const exp = a.exp;\n const branchExp = b.exp;\n if (exp.type !== branchExp.type) {\n return false;\n }\n if (exp.type !== 4 || exp.isStatic !== branchExp.isStatic || exp.content !== branchExp.content) {\n return false;\n }\n }\n return true;\n}\nfunction getParentCondition(node) {\n while (true) {\n if (node.type === 19) {\n if (node.alternate.type === 19) {\n node = node.alternate;\n } else {\n return node;\n }\n } else if (node.type === 20) {\n node = node.value;\n }\n }\n}\n\nconst transformFor = createStructuralDirectiveTransform(\n \"for\",\n (node, dir, context) => {\n const { helper, removeHelper } = context;\n return processFor(node, dir, context, (forNode) => {\n const renderExp = createCallExpression(helper(RENDER_LIST), [\n forNode.source\n ]);\n const isTemplate = isTemplateNode(node);\n const memo = findDir(node, \"memo\");\n const keyProp = findProp(node, `key`);\n const keyExp = keyProp && (keyProp.type === 6 ? createSimpleExpression(keyProp.value.content, true) : keyProp.exp);\n const keyProperty = keyProp ? createObjectProperty(`key`, keyExp) : null;\n const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;\n const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256;\n forNode.codegenNode = createVNodeCall(\n context,\n helper(FRAGMENT),\n void 0,\n renderExp,\n fragmentFlag + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${PatchFlagNames[fragmentFlag]} */` : ``),\n void 0,\n void 0,\n true,\n !isStableFragment,\n false,\n node.loc\n );\n return () => {\n let childBlock;\n const { children } = forNode;\n if ((!!(process.env.NODE_ENV !== \"production\") || false) && isTemplate) {\n node.children.some((c) => {\n if (c.type === 1) {\n const key = findProp(c, \"key\");\n if (key) {\n context.onError(\n createCompilerError(\n 33,\n key.loc\n )\n );\n return true;\n }\n }\n });\n }\n const needFragmentWrapper = children.length !== 1 || children[0].type !== 1;\n const slotOutlet = isSlotOutlet(node) ? node : isTemplate && node.children.length === 1 && isSlotOutlet(node.children[0]) ? node.children[0] : null;\n if (slotOutlet) {\n childBlock = slotOutlet.codegenNode;\n if (isTemplate && keyProperty) {\n injectProp(childBlock, keyProperty, context);\n }\n } else if (needFragmentWrapper) {\n childBlock = createVNodeCall(\n context,\n helper(FRAGMENT),\n keyProperty ? createObjectExpression([keyProperty]) : void 0,\n node.children,\n 64 + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${PatchFlagNames[64]} */` : ``),\n void 0,\n void 0,\n true,\n void 0,\n false\n /* isComponent */\n );\n } else {\n childBlock = children[0].codegenNode;\n if (isTemplate && keyProperty) {\n injectProp(childBlock, keyProperty, context);\n }\n if (childBlock.isBlock !== !isStableFragment) {\n if (childBlock.isBlock) {\n removeHelper(OPEN_BLOCK);\n removeHelper(\n getVNodeBlockHelper(context.inSSR, childBlock.isComponent)\n );\n } else {\n removeHelper(\n getVNodeHelper(context.inSSR, childBlock.isComponent)\n );\n }\n }\n childBlock.isBlock = !isStableFragment;\n if (childBlock.isBlock) {\n helper(OPEN_BLOCK);\n helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));\n } else {\n helper(getVNodeHelper(context.inSSR, childBlock.isComponent));\n }\n }\n if (memo) {\n const loop = createFunctionExpression(\n createForLoopParams(forNode.parseResult, [\n createSimpleExpression(`_cached`)\n ])\n );\n loop.body = createBlockStatement([\n createCompoundExpression([`const _memo = (`, memo.exp, `)`]),\n createCompoundExpression([\n `if (_cached`,\n ...keyExp ? [` && _cached.key === `, keyExp] : [],\n ` && ${context.helperString(\n IS_MEMO_SAME\n )}(_cached, _memo)) return _cached`\n ]),\n createCompoundExpression([`const _item = `, childBlock]),\n createSimpleExpression(`_item.memo = _memo`),\n createSimpleExpression(`return _item`)\n ]);\n renderExp.arguments.push(\n loop,\n createSimpleExpression(`_cache`),\n createSimpleExpression(String(context.cached++))\n );\n } else {\n renderExp.arguments.push(\n createFunctionExpression(\n createForLoopParams(forNode.parseResult),\n childBlock,\n true\n /* force newline */\n )\n );\n }\n };\n });\n }\n);\nfunction processFor(node, dir, context, processCodegen) {\n if (!dir.exp) {\n context.onError(\n createCompilerError(31, dir.loc)\n );\n return;\n }\n const parseResult = parseForExpression(\n // can only be simple expression because vFor transform is applied\n // before expression transform.\n dir.exp,\n context\n );\n if (!parseResult) {\n context.onError(\n createCompilerError(32, dir.loc)\n );\n return;\n }\n const { addIdentifiers, removeIdentifiers, scopes } = context;\n const { source, value, key, index } = parseResult;\n const forNode = {\n type: 11,\n loc: dir.loc,\n source,\n valueAlias: value,\n keyAlias: key,\n objectIndexAlias: index,\n parseResult,\n children: isTemplateNode(node) ? node.children : [node]\n };\n context.replaceNode(forNode);\n scopes.vFor++;\n const onExit = processCodegen && processCodegen(forNode);\n return () => {\n scopes.vFor--;\n if (onExit)\n onExit();\n };\n}\nconst forAliasRE = /([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/;\nconst forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nconst stripParensRE = /^\\(|\\)$/g;\nfunction parseForExpression(input, context) {\n const loc = input.loc;\n const exp = input.content;\n const inMatch = exp.match(forAliasRE);\n if (!inMatch)\n return;\n const [, LHS, RHS] = inMatch;\n const result = {\n source: createAliasExpression(\n loc,\n RHS.trim(),\n exp.indexOf(RHS, LHS.length)\n ),\n value: void 0,\n key: void 0,\n index: void 0\n };\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n validateBrowserExpression(result.source, context);\n }\n let valueContent = LHS.trim().replace(stripParensRE, \"\").trim();\n const trimmedOffset = LHS.indexOf(valueContent);\n const iteratorMatch = valueContent.match(forIteratorRE);\n if (iteratorMatch) {\n valueContent = valueContent.replace(forIteratorRE, \"\").trim();\n const keyContent = iteratorMatch[1].trim();\n let keyOffset;\n if (keyContent) {\n keyOffset = exp.indexOf(keyContent, trimmedOffset + valueContent.length);\n result.key = createAliasExpression(loc, keyContent, keyOffset);\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n validateBrowserExpression(\n result.key,\n context,\n true\n );\n }\n }\n if (iteratorMatch[2]) {\n const indexContent = iteratorMatch[2].trim();\n if (indexContent) {\n result.index = createAliasExpression(\n loc,\n indexContent,\n exp.indexOf(\n indexContent,\n result.key ? keyOffset + keyContent.length : trimmedOffset + valueContent.length\n )\n );\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n validateBrowserExpression(\n result.index,\n context,\n true\n );\n }\n }\n }\n }\n if (valueContent) {\n result.value = createAliasExpression(loc, valueContent, trimmedOffset);\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n validateBrowserExpression(\n result.value,\n context,\n true\n );\n }\n }\n return result;\n}\nfunction createAliasExpression(range, content, offset) {\n return createSimpleExpression(\n content,\n false,\n getInnerRange(range, offset, content.length)\n );\n}\nfunction createForLoopParams({ value, key, index }, memoArgs = []) {\n return createParamsList([value, key, index, ...memoArgs]);\n}\nfunction createParamsList(args) {\n let i = args.length;\n while (i--) {\n if (args[i])\n break;\n }\n return args.slice(0, i + 1).map((arg, i2) => arg || createSimpleExpression(`_`.repeat(i2 + 1), false));\n}\n\nconst defaultFallback = createSimpleExpression(`undefined`, false);\nconst trackSlotScopes = (node, context) => {\n if (node.type === 1 && (node.tagType === 1 || node.tagType === 3)) {\n const vSlot = findDir(node, \"slot\");\n if (vSlot) {\n vSlot.exp;\n context.scopes.vSlot++;\n return () => {\n context.scopes.vSlot--;\n };\n }\n }\n};\nconst trackVForSlotScopes = (node, context) => {\n let vFor;\n if (isTemplateNode(node) && node.props.some(isVSlot) && (vFor = findDir(node, \"for\"))) {\n const result = vFor.parseResult = parseForExpression(\n vFor.exp,\n context\n );\n if (result) {\n const { value, key, index } = result;\n const { addIdentifiers, removeIdentifiers } = context;\n value && addIdentifiers(value);\n key && addIdentifiers(key);\n index && addIdentifiers(index);\n return () => {\n value && removeIdentifiers(value);\n key && removeIdentifiers(key);\n index && removeIdentifiers(index);\n };\n }\n }\n};\nconst buildClientSlotFn = (props, _vForExp, children, loc) => createFunctionExpression(\n props,\n children,\n false,\n true,\n children.length ? children[0].loc : loc\n);\nfunction buildSlots(node, context, buildSlotFn = buildClientSlotFn) {\n context.helper(WITH_CTX);\n const { children, loc } = node;\n const slotsProperties = [];\n const dynamicSlots = [];\n let hasDynamicSlots = context.scopes.vSlot > 0 || context.scopes.vFor > 0;\n const onComponentSlot = findDir(node, \"slot\", true);\n if (onComponentSlot) {\n const { arg, exp } = onComponentSlot;\n if (arg && !isStaticExp(arg)) {\n hasDynamicSlots = true;\n }\n slotsProperties.push(\n createObjectProperty(\n arg || createSimpleExpression(\"default\", true),\n buildSlotFn(exp, void 0, children, loc)\n )\n );\n }\n let hasTemplateSlots = false;\n let hasNamedDefaultSlot = false;\n const implicitDefaultChildren = [];\n const seenSlotNames = /* @__PURE__ */ new Set();\n let conditionalBranchIndex = 0;\n for (let i = 0; i < children.length; i++) {\n const slotElement = children[i];\n let slotDir;\n if (!isTemplateNode(slotElement) || !(slotDir = findDir(slotElement, \"slot\", true))) {\n if (slotElement.type !== 3) {\n implicitDefaultChildren.push(slotElement);\n }\n continue;\n }\n if (onComponentSlot) {\n context.onError(\n createCompilerError(37, slotDir.loc)\n );\n break;\n }\n hasTemplateSlots = true;\n const { children: slotChildren, loc: slotLoc } = slotElement;\n const {\n arg: slotName = createSimpleExpression(`default`, true),\n exp: slotProps,\n loc: dirLoc\n } = slotDir;\n let staticSlotName;\n if (isStaticExp(slotName)) {\n staticSlotName = slotName ? slotName.content : `default`;\n } else {\n hasDynamicSlots = true;\n }\n const vFor = findDir(slotElement, \"for\");\n const slotFunction = buildSlotFn(\n slotProps,\n vFor == null ? void 0 : vFor.exp,\n slotChildren,\n slotLoc\n );\n let vIf;\n let vElse;\n if (vIf = findDir(slotElement, \"if\")) {\n hasDynamicSlots = true;\n dynamicSlots.push(\n createConditionalExpression(\n vIf.exp,\n buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++),\n defaultFallback\n )\n );\n } else if (vElse = findDir(\n slotElement,\n /^else(-if)?$/,\n true\n /* allowEmpty */\n )) {\n let j = i;\n let prev;\n while (j--) {\n prev = children[j];\n if (prev.type !== 3) {\n break;\n }\n }\n if (prev && isTemplateNode(prev) && findDir(prev, \"if\")) {\n children.splice(i, 1);\n i--;\n let conditional = dynamicSlots[dynamicSlots.length - 1];\n while (conditional.alternate.type === 19) {\n conditional = conditional.alternate;\n }\n conditional.alternate = vElse.exp ? createConditionalExpression(\n vElse.exp,\n buildDynamicSlot(\n slotName,\n slotFunction,\n conditionalBranchIndex++\n ),\n defaultFallback\n ) : buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++);\n } else {\n context.onError(\n createCompilerError(30, vElse.loc)\n );\n }\n } else if (vFor) {\n hasDynamicSlots = true;\n const parseResult = vFor.parseResult || parseForExpression(vFor.exp, context);\n if (parseResult) {\n dynamicSlots.push(\n createCallExpression(context.helper(RENDER_LIST), [\n parseResult.source,\n createFunctionExpression(\n createForLoopParams(parseResult),\n buildDynamicSlot(slotName, slotFunction),\n true\n /* force newline */\n )\n ])\n );\n } else {\n context.onError(\n createCompilerError(32, vFor.loc)\n );\n }\n } else {\n if (staticSlotName) {\n if (seenSlotNames.has(staticSlotName)) {\n context.onError(\n createCompilerError(\n 38,\n dirLoc\n )\n );\n continue;\n }\n seenSlotNames.add(staticSlotName);\n if (staticSlotName === \"default\") {\n hasNamedDefaultSlot = true;\n }\n }\n slotsProperties.push(createObjectProperty(slotName, slotFunction));\n }\n }\n if (!onComponentSlot) {\n const buildDefaultSlotProperty = (props, children2) => {\n const fn = buildSlotFn(props, void 0, children2, loc);\n if (context.compatConfig) {\n fn.isNonScopedSlot = true;\n }\n return createObjectProperty(`default`, fn);\n };\n if (!hasTemplateSlots) {\n slotsProperties.push(buildDefaultSlotProperty(void 0, children));\n } else if (implicitDefaultChildren.length && // #3766\n // with whitespace: 'preserve', whitespaces between slots will end up in\n // implicitDefaultChildren. Ignore if all implicit children are whitespaces.\n implicitDefaultChildren.some((node2) => isNonWhitespaceContent(node2))) {\n if (hasNamedDefaultSlot) {\n context.onError(\n createCompilerError(\n 39,\n implicitDefaultChildren[0].loc\n )\n );\n } else {\n slotsProperties.push(\n buildDefaultSlotProperty(void 0, implicitDefaultChildren)\n );\n }\n }\n }\n const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1;\n let slots = createObjectExpression(\n slotsProperties.concat(\n createObjectProperty(\n `_`,\n // 2 = compiled but dynamic = can skip normalization, but must run diff\n // 1 = compiled and static = can skip normalization AND diff as optimized\n createSimpleExpression(\n slotFlag + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${slotFlagsText[slotFlag]} */` : ``),\n false\n )\n )\n ),\n loc\n );\n if (dynamicSlots.length) {\n slots = createCallExpression(context.helper(CREATE_SLOTS), [\n slots,\n createArrayExpression(dynamicSlots)\n ]);\n }\n return {\n slots,\n hasDynamicSlots\n };\n}\nfunction buildDynamicSlot(name, fn, index) {\n const props = [\n createObjectProperty(`name`, name),\n createObjectProperty(`fn`, fn)\n ];\n if (index != null) {\n props.push(\n createObjectProperty(`key`, createSimpleExpression(String(index), true))\n );\n }\n return createObjectExpression(props);\n}\nfunction hasForwardedSlots(children) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n switch (child.type) {\n case 1:\n if (child.tagType === 2 || hasForwardedSlots(child.children)) {\n return true;\n }\n break;\n case 9:\n if (hasForwardedSlots(child.branches))\n return true;\n break;\n case 10:\n case 11:\n if (hasForwardedSlots(child.children))\n return true;\n break;\n }\n }\n return false;\n}\nfunction isNonWhitespaceContent(node) {\n if (node.type !== 2 && node.type !== 12)\n return true;\n return node.type === 2 ? !!node.content.trim() : isNonWhitespaceContent(node.content);\n}\n\nconst directiveImportMap = /* @__PURE__ */ new WeakMap();\nconst transformElement = (node, context) => {\n return function postTransformElement() {\n node = context.currentNode;\n if (!(node.type === 1 && (node.tagType === 0 || node.tagType === 1))) {\n return;\n }\n const { tag, props } = node;\n const isComponent = node.tagType === 1;\n let vnodeTag = isComponent ? resolveComponentType(node, context) : `\"${tag}\"`;\n const isDynamicComponent = isObject(vnodeTag) && vnodeTag.callee === RESOLVE_DYNAMIC_COMPONENT;\n let vnodeProps;\n let vnodeChildren;\n let vnodePatchFlag;\n let patchFlag = 0;\n let vnodeDynamicProps;\n let dynamicPropNames;\n let vnodeDirectives;\n let shouldUseBlock = (\n // dynamic component may resolve to plain elements\n isDynamicComponent || vnodeTag === TELEPORT || vnodeTag === SUSPENSE || !isComponent && // <svg> and <foreignObject> must be forced into blocks so that block\n // updates inside get proper isSVG flag at runtime. (#639, #643)\n // This is technically web-specific, but splitting the logic out of core\n // leads to too much unnecessary complexity.\n (tag === \"svg\" || tag === \"foreignObject\")\n );\n if (props.length > 0) {\n const propsBuildResult = buildProps(\n node,\n context,\n void 0,\n isComponent,\n isDynamicComponent\n );\n vnodeProps = propsBuildResult.props;\n patchFlag = propsBuildResult.patchFlag;\n dynamicPropNames = propsBuildResult.dynamicPropNames;\n const directives = propsBuildResult.directives;\n vnodeDirectives = directives && directives.length ? createArrayExpression(\n directives.map((dir) => buildDirectiveArgs(dir, context))\n ) : void 0;\n if (propsBuildResult.shouldUseBlock) {\n shouldUseBlock = true;\n }\n }\n if (node.children.length > 0) {\n if (vnodeTag === KEEP_ALIVE) {\n shouldUseBlock = true;\n patchFlag |= 1024;\n if (!!(process.env.NODE_ENV !== \"production\") && node.children.length > 1) {\n context.onError(\n createCompilerError(46, {\n start: node.children[0].loc.start,\n end: node.children[node.children.length - 1].loc.end,\n source: \"\"\n })\n );\n }\n }\n const shouldBuildAsSlots = isComponent && // Teleport is not a real component and has dedicated runtime handling\n vnodeTag !== TELEPORT && // explained above.\n vnodeTag !== KEEP_ALIVE;\n if (shouldBuildAsSlots) {\n const { slots, hasDynamicSlots } = buildSlots(node, context);\n vnodeChildren = slots;\n if (hasDynamicSlots) {\n patchFlag |= 1024;\n }\n } else if (node.children.length === 1 && vnodeTag !== TELEPORT) {\n const child = node.children[0];\n const type = child.type;\n const hasDynamicTextChild = type === 5 || type === 8;\n if (hasDynamicTextChild && getConstantType(child, context) === 0) {\n patchFlag |= 1;\n }\n if (hasDynamicTextChild || type === 2) {\n vnodeChildren = child;\n } else {\n vnodeChildren = node.children;\n }\n } else {\n vnodeChildren = node.children;\n }\n }\n if (patchFlag !== 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (patchFlag < 0) {\n vnodePatchFlag = patchFlag + ` /* ${PatchFlagNames[patchFlag]} */`;\n } else {\n const flagNames = Object.keys(PatchFlagNames).map(Number).filter((n) => n > 0 && patchFlag & n).map((n) => PatchFlagNames[n]).join(`, `);\n vnodePatchFlag = patchFlag + ` /* ${flagNames} */`;\n }\n } else {\n vnodePatchFlag = String(patchFlag);\n }\n if (dynamicPropNames && dynamicPropNames.length) {\n vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames);\n }\n }\n node.codegenNode = createVNodeCall(\n context,\n vnodeTag,\n vnodeProps,\n vnodeChildren,\n vnodePatchFlag,\n vnodeDynamicProps,\n vnodeDirectives,\n !!shouldUseBlock,\n false,\n isComponent,\n node.loc\n );\n };\n};\nfunction resolveComponentType(node, context, ssr = false) {\n let { tag } = node;\n const isExplicitDynamic = isComponentTag(tag);\n const isProp = findProp(node, \"is\");\n if (isProp) {\n if (isExplicitDynamic || isCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context\n )) {\n const exp = isProp.type === 6 ? isProp.value && createSimpleExpression(isProp.value.content, true) : isProp.exp;\n if (exp) {\n return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [\n exp\n ]);\n }\n } else if (isProp.type === 6 && isProp.value.content.startsWith(\"vue:\")) {\n tag = isProp.value.content.slice(4);\n }\n }\n const isDir = !isExplicitDynamic && findDir(node, \"is\");\n if (isDir && isDir.exp) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n context.onWarn(\n createCompilerError(52, isDir.loc)\n );\n }\n return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [\n isDir.exp\n ]);\n }\n const builtIn = isCoreComponent(tag) || context.isBuiltInComponent(tag);\n if (builtIn) {\n if (!ssr)\n context.helper(builtIn);\n return builtIn;\n }\n context.helper(RESOLVE_COMPONENT);\n context.components.add(tag);\n return toValidAssetId(tag, `component`);\n}\nfunction buildProps(node, context, props = node.props, isComponent, isDynamicComponent, ssr = false) {\n const { tag, loc: elementLoc, children } = node;\n let properties = [];\n const mergeArgs = [];\n const runtimeDirectives = [];\n const hasChildren = children.length > 0;\n let shouldUseBlock = false;\n let patchFlag = 0;\n let hasRef = false;\n let hasClassBinding = false;\n let hasStyleBinding = false;\n let hasHydrationEventBinding = false;\n let hasDynamicKeys = false;\n let hasVnodeHook = false;\n const dynamicPropNames = [];\n const pushMergeArg = (arg) => {\n if (properties.length) {\n mergeArgs.push(\n createObjectExpression(dedupeProperties(properties), elementLoc)\n );\n properties = [];\n }\n if (arg)\n mergeArgs.push(arg);\n };\n const analyzePatchFlag = ({ key, value }) => {\n if (isStaticExp(key)) {\n const name = key.content;\n const isEventHandler = isOn(name);\n if (isEventHandler && (!isComponent || isDynamicComponent) && // omit the flag for click handlers because hydration gives click\n // dedicated fast path.\n name.toLowerCase() !== \"onclick\" && // omit v-model handlers\n name !== \"onUpdate:modelValue\" && // omit onVnodeXXX hooks\n !isReservedProp(name)) {\n hasHydrationEventBinding = true;\n }\n if (isEventHandler && isReservedProp(name)) {\n hasVnodeHook = true;\n }\n if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) {\n return;\n }\n if (name === \"ref\") {\n hasRef = true;\n } else if (name === \"class\") {\n hasClassBinding = true;\n } else if (name === \"style\") {\n hasStyleBinding = true;\n } else if (name !== \"key\" && !dynamicPropNames.includes(name)) {\n dynamicPropNames.push(name);\n }\n if (isComponent && (name === \"class\" || name === \"style\") && !dynamicPropNames.includes(name)) {\n dynamicPropNames.push(name);\n }\n } else {\n hasDynamicKeys = true;\n }\n };\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (prop.type === 6) {\n const { loc, name, value } = prop;\n let isStatic = true;\n if (name === \"ref\") {\n hasRef = true;\n if (context.scopes.vFor > 0) {\n properties.push(\n createObjectProperty(\n createSimpleExpression(\"ref_for\", true),\n createSimpleExpression(\"true\")\n )\n );\n }\n }\n if (name === \"is\" && (isComponentTag(tag) || value && value.content.startsWith(\"vue:\") || isCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context\n ))) {\n continue;\n }\n properties.push(\n createObjectProperty(\n createSimpleExpression(\n name,\n true,\n getInnerRange(loc, 0, name.length)\n ),\n createSimpleExpression(\n value ? value.content : \"\",\n isStatic,\n value ? value.loc : loc\n )\n )\n );\n } else {\n const { name, arg, exp, loc } = prop;\n const isVBind = name === \"bind\";\n const isVOn = name === \"on\";\n if (name === \"slot\") {\n if (!isComponent) {\n context.onError(\n createCompilerError(40, loc)\n );\n }\n continue;\n }\n if (name === \"once\" || name === \"memo\") {\n continue;\n }\n if (name === \"is\" || isVBind && isStaticArgOf(arg, \"is\") && (isComponentTag(tag) || isCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context\n ))) {\n continue;\n }\n if (isVOn && ssr) {\n continue;\n }\n if (\n // #938: elements with dynamic keys should be forced into blocks\n isVBind && isStaticArgOf(arg, \"key\") || // inline before-update hooks need to force block so that it is invoked\n // before children\n isVOn && hasChildren && isStaticArgOf(arg, \"vue:before-update\")\n ) {\n shouldUseBlock = true;\n }\n if (isVBind && isStaticArgOf(arg, \"ref\") && context.scopes.vFor > 0) {\n properties.push(\n createObjectProperty(\n createSimpleExpression(\"ref_for\", true),\n createSimpleExpression(\"true\")\n )\n );\n }\n if (!arg && (isVBind || isVOn)) {\n hasDynamicKeys = true;\n if (exp) {\n if (isVBind) {\n pushMergeArg();\n {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const hasOverridableKeys = mergeArgs.some((arg2) => {\n if (arg2.type === 15) {\n return arg2.properties.some(({ key }) => {\n if (key.type !== 4 || !key.isStatic) {\n return true;\n }\n return key.content !== \"class\" && key.content !== \"style\" && !isOn(key.content);\n });\n } else {\n return true;\n }\n });\n if (hasOverridableKeys) {\n checkCompatEnabled(\n \"COMPILER_V_BIND_OBJECT_ORDER\",\n context,\n loc\n );\n }\n }\n if (isCompatEnabled(\n \"COMPILER_V_BIND_OBJECT_ORDER\",\n context\n )) {\n mergeArgs.unshift(exp);\n continue;\n }\n }\n mergeArgs.push(exp);\n } else {\n pushMergeArg({\n type: 14,\n loc,\n callee: context.helper(TO_HANDLERS),\n arguments: isComponent ? [exp] : [exp, `true`]\n });\n }\n } else {\n context.onError(\n createCompilerError(\n isVBind ? 34 : 35,\n loc\n )\n );\n }\n continue;\n }\n const directiveTransform = context.directiveTransforms[name];\n if (directiveTransform) {\n const { props: props2, needRuntime } = directiveTransform(prop, node, context);\n !ssr && props2.forEach(analyzePatchFlag);\n if (isVOn && arg && !isStaticExp(arg)) {\n pushMergeArg(createObjectExpression(props2, elementLoc));\n } else {\n properties.push(...props2);\n }\n if (needRuntime) {\n runtimeDirectives.push(prop);\n if (isSymbol(needRuntime)) {\n directiveImportMap.set(prop, needRuntime);\n }\n }\n } else if (!isBuiltInDirective(name)) {\n runtimeDirectives.push(prop);\n if (hasChildren) {\n shouldUseBlock = true;\n }\n }\n }\n }\n let propsExpression = void 0;\n if (mergeArgs.length) {\n pushMergeArg();\n if (mergeArgs.length > 1) {\n propsExpression = createCallExpression(\n context.helper(MERGE_PROPS),\n mergeArgs,\n elementLoc\n );\n } else {\n propsExpression = mergeArgs[0];\n }\n } else if (properties.length) {\n propsExpression = createObjectExpression(\n dedupeProperties(properties),\n elementLoc\n );\n }\n if (hasDynamicKeys) {\n patchFlag |= 16;\n } else {\n if (hasClassBinding && !isComponent) {\n patchFlag |= 2;\n }\n if (hasStyleBinding && !isComponent) {\n patchFlag |= 4;\n }\n if (dynamicPropNames.length) {\n patchFlag |= 8;\n }\n if (hasHydrationEventBinding) {\n patchFlag |= 32;\n }\n }\n if (!shouldUseBlock && (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0)) {\n patchFlag |= 512;\n }\n if (!context.inSSR && propsExpression) {\n switch (propsExpression.type) {\n case 15:\n let classKeyIndex = -1;\n let styleKeyIndex = -1;\n let hasDynamicKey = false;\n for (let i = 0; i < propsExpression.properties.length; i++) {\n const key = propsExpression.properties[i].key;\n if (isStaticExp(key)) {\n if (key.content === \"class\") {\n classKeyIndex = i;\n } else if (key.content === \"style\") {\n styleKeyIndex = i;\n }\n } else if (!key.isHandlerKey) {\n hasDynamicKey = true;\n }\n }\n const classProp = propsExpression.properties[classKeyIndex];\n const styleProp = propsExpression.properties[styleKeyIndex];\n if (!hasDynamicKey) {\n if (classProp && !isStaticExp(classProp.value)) {\n classProp.value = createCallExpression(\n context.helper(NORMALIZE_CLASS),\n [classProp.value]\n );\n }\n if (styleProp && // the static style is compiled into an object,\n // so use `hasStyleBinding` to ensure that it is a dynamic style binding\n (hasStyleBinding || styleProp.value.type === 4 && styleProp.value.content.trim()[0] === `[` || // v-bind:style and style both exist,\n // v-bind:style with static literal object\n styleProp.value.type === 17)) {\n styleProp.value = createCallExpression(\n context.helper(NORMALIZE_STYLE),\n [styleProp.value]\n );\n }\n } else {\n propsExpression = createCallExpression(\n context.helper(NORMALIZE_PROPS),\n [propsExpression]\n );\n }\n break;\n case 14:\n break;\n default:\n propsExpression = createCallExpression(\n context.helper(NORMALIZE_PROPS),\n [\n createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [\n propsExpression\n ])\n ]\n );\n break;\n }\n }\n return {\n props: propsExpression,\n directives: runtimeDirectives,\n patchFlag,\n dynamicPropNames,\n shouldUseBlock\n };\n}\nfunction dedupeProperties(properties) {\n const knownProps = /* @__PURE__ */ new Map();\n const deduped = [];\n for (let i = 0; i < properties.length; i++) {\n const prop = properties[i];\n if (prop.key.type === 8 || !prop.key.isStatic) {\n deduped.push(prop);\n continue;\n }\n const name = prop.key.content;\n const existing = knownProps.get(name);\n if (existing) {\n if (name === \"style\" || name === \"class\" || isOn(name)) {\n mergeAsArray(existing, prop);\n }\n } else {\n knownProps.set(name, prop);\n deduped.push(prop);\n }\n }\n return deduped;\n}\nfunction mergeAsArray(existing, incoming) {\n if (existing.value.type === 17) {\n existing.value.elements.push(incoming.value);\n } else {\n existing.value = createArrayExpression(\n [existing.value, incoming.value],\n existing.loc\n );\n }\n}\nfunction buildDirectiveArgs(dir, context) {\n const dirArgs = [];\n const runtime = directiveImportMap.get(dir);\n if (runtime) {\n dirArgs.push(context.helperString(runtime));\n } else {\n {\n context.helper(RESOLVE_DIRECTIVE);\n context.directives.add(dir.name);\n dirArgs.push(toValidAssetId(dir.name, `directive`));\n }\n }\n const { loc } = dir;\n if (dir.exp)\n dirArgs.push(dir.exp);\n if (dir.arg) {\n if (!dir.exp) {\n dirArgs.push(`void 0`);\n }\n dirArgs.push(dir.arg);\n }\n if (Object.keys(dir.modifiers).length) {\n if (!dir.arg) {\n if (!dir.exp) {\n dirArgs.push(`void 0`);\n }\n dirArgs.push(`void 0`);\n }\n const trueExpression = createSimpleExpression(`true`, false, loc);\n dirArgs.push(\n createObjectExpression(\n dir.modifiers.map(\n (modifier) => createObjectProperty(modifier, trueExpression)\n ),\n loc\n )\n );\n }\n return createArrayExpression(dirArgs, dir.loc);\n}\nfunction stringifyDynamicPropNames(props) {\n let propsNamesString = `[`;\n for (let i = 0, l = props.length; i < l; i++) {\n propsNamesString += JSON.stringify(props[i]);\n if (i < l - 1)\n propsNamesString += \", \";\n }\n return propsNamesString + `]`;\n}\nfunction isComponentTag(tag) {\n return tag === \"component\" || tag === \"Component\";\n}\n\nconst transformSlotOutlet = (node, context) => {\n if (isSlotOutlet(node)) {\n const { children, loc } = node;\n const { slotName, slotProps } = processSlotOutlet(node, context);\n const slotArgs = [\n context.prefixIdentifiers ? `_ctx.$slots` : `$slots`,\n slotName,\n \"{}\",\n \"undefined\",\n \"true\"\n ];\n let expectedLen = 2;\n if (slotProps) {\n slotArgs[2] = slotProps;\n expectedLen = 3;\n }\n if (children.length) {\n slotArgs[3] = createFunctionExpression([], children, false, false, loc);\n expectedLen = 4;\n }\n if (context.scopeId && !context.slotted) {\n expectedLen = 5;\n }\n slotArgs.splice(expectedLen);\n node.codegenNode = createCallExpression(\n context.helper(RENDER_SLOT),\n slotArgs,\n loc\n );\n }\n};\nfunction processSlotOutlet(node, context) {\n let slotName = `\"default\"`;\n let slotProps = void 0;\n const nonNameProps = [];\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 6) {\n if (p.value) {\n if (p.name === \"name\") {\n slotName = JSON.stringify(p.value.content);\n } else {\n p.name = camelize(p.name);\n nonNameProps.push(p);\n }\n }\n } else {\n if (p.name === \"bind\" && isStaticArgOf(p.arg, \"name\")) {\n if (p.exp)\n slotName = p.exp;\n } else {\n if (p.name === \"bind\" && p.arg && isStaticExp(p.arg)) {\n p.arg.content = camelize(p.arg.content);\n }\n nonNameProps.push(p);\n }\n }\n }\n if (nonNameProps.length > 0) {\n const { props, directives } = buildProps(\n node,\n context,\n nonNameProps,\n false,\n false\n );\n slotProps = props;\n if (directives.length) {\n context.onError(\n createCompilerError(\n 36,\n directives[0].loc\n )\n );\n }\n }\n return {\n slotName,\n slotProps\n };\n}\n\nconst fnExpRE = /^\\s*([\\w$_]+|(async\\s*)?\\([^)]*?\\))\\s*(:[^=]+)?=>|^\\s*(async\\s+)?function(?:\\s+[\\w$]+)?\\s*\\(/;\nconst transformOn = (dir, node, context, augmentor) => {\n const { loc, modifiers, arg } = dir;\n if (!dir.exp && !modifiers.length) {\n context.onError(createCompilerError(35, loc));\n }\n let eventName;\n if (arg.type === 4) {\n if (arg.isStatic) {\n let rawName = arg.content;\n if (!!(process.env.NODE_ENV !== \"production\") && rawName.startsWith(\"vnode\")) {\n context.onWarn(\n createCompilerError(51, arg.loc)\n );\n }\n if (rawName.startsWith(\"vue:\")) {\n rawName = `vnode-${rawName.slice(4)}`;\n }\n const eventString = node.tagType !== 0 || rawName.startsWith(\"vnode\") || !/[A-Z]/.test(rawName) ? (\n // for non-element and vnode lifecycle event listeners, auto convert\n // it to camelCase. See issue #2249\n toHandlerKey(camelize(rawName))\n ) : (\n // preserve case for plain element listeners that have uppercase\n // letters, as these may be custom elements' custom events\n `on:${rawName}`\n );\n eventName = createSimpleExpression(eventString, true, arg.loc);\n } else {\n eventName = createCompoundExpression([\n `${context.helperString(TO_HANDLER_KEY)}(`,\n arg,\n `)`\n ]);\n }\n } else {\n eventName = arg;\n eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);\n eventName.children.push(`)`);\n }\n let exp = dir.exp;\n if (exp && !exp.content.trim()) {\n exp = void 0;\n }\n let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;\n if (exp) {\n const isMemberExp = isMemberExpression(exp.content);\n const isInlineStatement = !(isMemberExp || fnExpRE.test(exp.content));\n const hasMultipleStatements = exp.content.includes(`;`);\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n validateBrowserExpression(\n exp,\n context,\n false,\n hasMultipleStatements\n );\n }\n if (isInlineStatement || shouldCache && isMemberExp) {\n exp = createCompoundExpression([\n `${isInlineStatement ? `$event` : `${``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`,\n exp,\n hasMultipleStatements ? `}` : `)`\n ]);\n }\n }\n let ret = {\n props: [\n createObjectProperty(\n eventName,\n exp || createSimpleExpression(`() => {}`, false, loc)\n )\n ]\n };\n if (augmentor) {\n ret = augmentor(ret);\n }\n if (shouldCache) {\n ret.props[0].value = context.cache(ret.props[0].value);\n }\n ret.props.forEach((p) => p.key.isHandlerKey = true);\n return ret;\n};\n\nconst transformBind = (dir, _node, context) => {\n const { exp, modifiers, loc } = dir;\n const arg = dir.arg;\n if (arg.type !== 4) {\n arg.children.unshift(`(`);\n arg.children.push(`) || \"\"`);\n } else if (!arg.isStatic) {\n arg.content = `${arg.content} || \"\"`;\n }\n if (modifiers.includes(\"camel\")) {\n if (arg.type === 4) {\n if (arg.isStatic) {\n arg.content = camelize(arg.content);\n } else {\n arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;\n }\n } else {\n arg.children.unshift(`${context.helperString(CAMELIZE)}(`);\n arg.children.push(`)`);\n }\n }\n if (!context.inSSR) {\n if (modifiers.includes(\"prop\")) {\n injectPrefix(arg, \".\");\n }\n if (modifiers.includes(\"attr\")) {\n injectPrefix(arg, \"^\");\n }\n }\n if (!exp || exp.type === 4 && !exp.content.trim()) {\n context.onError(createCompilerError(34, loc));\n return {\n props: [createObjectProperty(arg, createSimpleExpression(\"\", true, loc))]\n };\n }\n return {\n props: [createObjectProperty(arg, exp)]\n };\n};\nconst injectPrefix = (arg, prefix) => {\n if (arg.type === 4) {\n if (arg.isStatic) {\n arg.content = prefix + arg.content;\n } else {\n arg.content = `\\`${prefix}\\${${arg.content}}\\``;\n }\n } else {\n arg.children.unshift(`'${prefix}' + (`);\n arg.children.push(`)`);\n }\n};\n\nconst transformText = (node, context) => {\n if (node.type === 0 || node.type === 1 || node.type === 11 || node.type === 10) {\n return () => {\n const children = node.children;\n let currentContainer = void 0;\n let hasText = false;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isText$1(child)) {\n hasText = true;\n for (let j = i + 1; j < children.length; j++) {\n const next = children[j];\n if (isText$1(next)) {\n if (!currentContainer) {\n currentContainer = children[i] = createCompoundExpression(\n [child],\n child.loc\n );\n }\n currentContainer.children.push(` + `, next);\n children.splice(j, 1);\n j--;\n } else {\n currentContainer = void 0;\n break;\n }\n }\n }\n }\n if (!hasText || // if this is a plain element with a single text child, leave it\n // as-is since the runtime has dedicated fast path for this by directly\n // setting textContent of the element.\n // for component root it's always normalized anyway.\n children.length === 1 && (node.type === 0 || node.type === 1 && node.tagType === 0 && // #3756\n // custom directives can potentially add DOM elements arbitrarily,\n // we need to avoid setting textContent of the element at runtime\n // to avoid accidentally overwriting the DOM elements added\n // by the user through custom directives.\n !node.props.find(\n (p) => p.type === 7 && !context.directiveTransforms[p.name]\n ) && // in compat mode, <template> tags with no special directives\n // will be rendered as a fragment so its children must be\n // converted into vnodes.\n !(node.tag === \"template\"))) {\n return;\n }\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isText$1(child) || child.type === 8) {\n const callArgs = [];\n if (child.type !== 2 || child.content !== \" \") {\n callArgs.push(child);\n }\n if (!context.ssr && getConstantType(child, context) === 0) {\n callArgs.push(\n 1 + (!!(process.env.NODE_ENV !== \"production\") ? ` /* ${PatchFlagNames[1]} */` : ``)\n );\n }\n children[i] = {\n type: 12,\n content: child,\n loc: child.loc,\n codegenNode: createCallExpression(\n context.helper(CREATE_TEXT),\n callArgs\n )\n };\n }\n }\n };\n }\n};\n\nconst seen$1 = /* @__PURE__ */ new WeakSet();\nconst transformOnce = (node, context) => {\n if (node.type === 1 && findDir(node, \"once\", true)) {\n if (seen$1.has(node) || context.inVOnce || context.inSSR) {\n return;\n }\n seen$1.add(node);\n context.inVOnce = true;\n context.helper(SET_BLOCK_TRACKING);\n return () => {\n context.inVOnce = false;\n const cur = context.currentNode;\n if (cur.codegenNode) {\n cur.codegenNode = context.cache(\n cur.codegenNode,\n true\n /* isVNode */\n );\n }\n };\n }\n};\n\nconst transformModel = (dir, node, context) => {\n const { exp, arg } = dir;\n if (!exp) {\n context.onError(\n createCompilerError(41, dir.loc)\n );\n return createTransformProps();\n }\n const rawExp = exp.loc.source;\n const expString = exp.type === 4 ? exp.content : rawExp;\n const bindingType = context.bindingMetadata[rawExp];\n if (bindingType === \"props\" || bindingType === \"props-aliased\") {\n context.onError(createCompilerError(44, exp.loc));\n return createTransformProps();\n }\n const maybeRef = false;\n if (!expString.trim() || !isMemberExpression(expString) && !maybeRef) {\n context.onError(\n createCompilerError(42, exp.loc)\n );\n return createTransformProps();\n }\n const propName = arg ? arg : createSimpleExpression(\"modelValue\", true);\n const eventName = arg ? isStaticExp(arg) ? `onUpdate:${camelize(arg.content)}` : createCompoundExpression(['\"onUpdate:\" + ', arg]) : `onUpdate:modelValue`;\n let assignmentExp;\n const eventArg = context.isTS ? `($event: any)` : `$event`;\n {\n assignmentExp = createCompoundExpression([\n `${eventArg} => ((`,\n exp,\n `) = $event)`\n ]);\n }\n const props = [\n // modelValue: foo\n createObjectProperty(propName, dir.exp),\n // \"onUpdate:modelValue\": $event => (foo = $event)\n createObjectProperty(eventName, assignmentExp)\n ];\n if (dir.modifiers.length && node.tagType === 1) {\n const modifiers = dir.modifiers.map((m) => (isSimpleIdentifier(m) ? m : JSON.stringify(m)) + `: true`).join(`, `);\n const modifiersKey = arg ? isStaticExp(arg) ? `${arg.content}Modifiers` : createCompoundExpression([arg, ' + \"Modifiers\"']) : `modelModifiers`;\n props.push(\n createObjectProperty(\n modifiersKey,\n createSimpleExpression(\n `{ ${modifiers} }`,\n false,\n dir.loc,\n 2\n )\n )\n );\n }\n return createTransformProps(props);\n};\nfunction createTransformProps(props = []) {\n return { props };\n}\n\nconst validDivisionCharRE = /[\\w).+\\-_$\\]]/;\nconst transformFilter = (node, context) => {\n if (!isCompatEnabled(\"COMPILER_FILTER\", context)) {\n return;\n }\n if (node.type === 5) {\n rewriteFilter(node.content, context);\n }\n if (node.type === 1) {\n node.props.forEach((prop) => {\n if (prop.type === 7 && prop.name !== \"for\" && prop.exp) {\n rewriteFilter(prop.exp, context);\n }\n });\n }\n};\nfunction rewriteFilter(node, context) {\n if (node.type === 4) {\n parseFilter(node, context);\n } else {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (typeof child !== \"object\")\n continue;\n if (child.type === 4) {\n parseFilter(child, context);\n } else if (child.type === 8) {\n rewriteFilter(node, context);\n } else if (child.type === 5) {\n rewriteFilter(child.content, context);\n }\n }\n }\n}\nfunction parseFilter(node, context) {\n const exp = node.content;\n let inSingle = false;\n let inDouble = false;\n let inTemplateString = false;\n let inRegex = false;\n let curly = 0;\n let square = 0;\n let paren = 0;\n let lastFilterIndex = 0;\n let c, prev, i, expression, filters = [];\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 39 && prev !== 92)\n inSingle = false;\n } else if (inDouble) {\n if (c === 34 && prev !== 92)\n inDouble = false;\n } else if (inTemplateString) {\n if (c === 96 && prev !== 92)\n inTemplateString = false;\n } else if (inRegex) {\n if (c === 47 && prev !== 92)\n inRegex = false;\n } else if (c === 124 && // pipe\n exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) {\n if (expression === void 0) {\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 34:\n inDouble = true;\n break;\n case 39:\n inSingle = true;\n break;\n case 96:\n inTemplateString = true;\n break;\n case 40:\n paren++;\n break;\n case 41:\n paren--;\n break;\n case 91:\n square++;\n break;\n case 93:\n square--;\n break;\n case 123:\n curly++;\n break;\n case 125:\n curly--;\n break;\n }\n if (c === 47) {\n let j = i - 1;\n let p;\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== \" \")\n break;\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n if (expression === void 0) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n function pushFilter() {\n filters.push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n if (filters.length) {\n !!(process.env.NODE_ENV !== \"production\") && warnDeprecation(\n \"COMPILER_FILTER\",\n context,\n node.loc\n );\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i], context);\n }\n node.content = expression;\n }\n}\nfunction wrapFilter(exp, filter, context) {\n context.helper(RESOLVE_FILTER);\n const i = filter.indexOf(\"(\");\n if (i < 0) {\n context.filters.add(filter);\n return `${toValidAssetId(filter, \"filter\")}(${exp})`;\n } else {\n const name = filter.slice(0, i);\n const args = filter.slice(i + 1);\n context.filters.add(name);\n return `${toValidAssetId(name, \"filter\")}(${exp}${args !== \")\" ? \",\" + args : args}`;\n }\n}\n\nconst seen = /* @__PURE__ */ new WeakSet();\nconst transformMemo = (node, context) => {\n if (node.type === 1) {\n const dir = findDir(node, \"memo\");\n if (!dir || seen.has(node)) {\n return;\n }\n seen.add(node);\n return () => {\n const codegenNode = node.codegenNode || context.currentNode.codegenNode;\n if (codegenNode && codegenNode.type === 13) {\n if (node.tagType !== 1) {\n convertToBlock(codegenNode, context);\n }\n node.codegenNode = createCallExpression(context.helper(WITH_MEMO), [\n dir.exp,\n createFunctionExpression(void 0, codegenNode),\n `_cache`,\n String(context.cached++)\n ]);\n }\n };\n }\n};\n\nfunction getBaseTransformPreset(prefixIdentifiers) {\n return [\n [\n transformOnce,\n transformIf,\n transformMemo,\n transformFor,\n ...[transformFilter] ,\n ...!!(process.env.NODE_ENV !== \"production\") ? [transformExpression] : [],\n transformSlotOutlet,\n transformElement,\n trackSlotScopes,\n transformText\n ],\n {\n on: transformOn,\n bind: transformBind,\n model: transformModel\n }\n ];\n}\nfunction baseCompile(template, options = {}) {\n const onError = options.onError || defaultOnError;\n const isModuleMode = options.mode === \"module\";\n {\n if (options.prefixIdentifiers === true) {\n onError(createCompilerError(47));\n } else if (isModuleMode) {\n onError(createCompilerError(48));\n }\n }\n const prefixIdentifiers = false;\n if (options.cacheHandlers) {\n onError(createCompilerError(49));\n }\n if (options.scopeId && !isModuleMode) {\n onError(createCompilerError(50));\n }\n const ast = isString(template) ? baseParse(template, options) : template;\n const [nodeTransforms, directiveTransforms] = getBaseTransformPreset();\n transform(\n ast,\n extend({}, options, {\n prefixIdentifiers,\n nodeTransforms: [\n ...nodeTransforms,\n ...options.nodeTransforms || []\n // user transforms\n ],\n directiveTransforms: extend(\n {},\n directiveTransforms,\n options.directiveTransforms || {}\n // user transforms\n )\n })\n );\n return generate(\n ast,\n extend({}, options, {\n prefixIdentifiers\n })\n );\n}\n\nconst noopDirectiveTransform = () => ({ props: [] });\n\nexport { BASE_TRANSITION, CAMELIZE, CAPITALIZE, CREATE_BLOCK, CREATE_COMMENT, CREATE_ELEMENT_BLOCK, CREATE_ELEMENT_VNODE, CREATE_SLOTS, CREATE_STATIC, CREATE_TEXT, CREATE_VNODE, FRAGMENT, GUARD_REACTIVE_PROPS, IS_MEMO_SAME, IS_REF, KEEP_ALIVE, MERGE_PROPS, NORMALIZE_CLASS, NORMALIZE_PROPS, NORMALIZE_STYLE, OPEN_BLOCK, POP_SCOPE_ID, PUSH_SCOPE_ID, RENDER_LIST, RENDER_SLOT, RESOLVE_COMPONENT, RESOLVE_DIRECTIVE, RESOLVE_DYNAMIC_COMPONENT, RESOLVE_FILTER, SET_BLOCK_TRACKING, SUSPENSE, TELEPORT, TO_DISPLAY_STRING, TO_HANDLERS, TO_HANDLER_KEY, TS_NODE_TYPES, UNREF, WITH_CTX, WITH_DIRECTIVES, WITH_MEMO, advancePositionWithClone, advancePositionWithMutation, assert, baseCompile, baseParse, buildDirectiveArgs, buildProps, buildSlots, checkCompatEnabled, convertToBlock, createArrayExpression, createAssignmentExpression, createBlockStatement, createCacheExpression, createCallExpression, createCompilerError, createCompoundExpression, createConditionalExpression, createForLoopParams, createFunctionExpression, createIfStatement, createInterpolation, createObjectExpression, createObjectProperty, createReturnStatement, createRoot, createSequenceExpression, createSimpleExpression, createStructuralDirectiveTransform, createTemplateLiteral, createTransformContext, createVNodeCall, extractIdentifiers, findDir, findProp, generate, getBaseTransformPreset, getConstantType, getInnerRange, getMemoedVNodeCall, getVNodeBlockHelper, getVNodeHelper, hasDynamicKeyVBind, hasScopeRef, helperNameMap, injectProp, isBuiltInType, isCoreComponent, isFunctionType, isInDestructureAssignment, isMemberExpression, isMemberExpressionBrowser, isMemberExpressionNode, isReferencedIdentifier, isSimpleIdentifier, isSlotOutlet, isStaticArgOf, isStaticExp, isStaticProperty, isStaticPropertyKey, isTemplateNode, isText$1 as isText, isVSlot, locStub, noopDirectiveTransform, processExpression, processFor, processIf, processSlotOutlet, registerRuntimeHelpers, resolveComponentType, stringifyExpression, toValidAssetId, trackSlotScopes, trackVForSlotScopes, transform, transformBind, transformElement, transformExpression, transformModel, transformOn, traverseNode, walkBlockDeclarations, walkFunctionParams, walkIdentifiers, warnDeprecation };\n","import { registerRuntimeHelpers, isBuiltInType, createSimpleExpression, createCompilerError, createObjectProperty, getConstantType, createCallExpression, TO_DISPLAY_STRING, transformModel as transformModel$1, findProp, hasDynamicKeyVBind, transformOn as transformOn$1, isStaticExp, createCompoundExpression, checkCompatEnabled, noopDirectiveTransform, baseCompile, baseParse } from '@vue/compiler-core';\nexport * from '@vue/compiler-core';\nimport { isVoidTag, isHTMLTag, isSVGTag, makeMap, parseStringStyle, capitalize, extend } from '@vue/shared';\n\nconst V_MODEL_RADIO = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelRadio` : ``);\nconst V_MODEL_CHECKBOX = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelCheckbox` : ``);\nconst V_MODEL_TEXT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelText` : ``);\nconst V_MODEL_SELECT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelSelect` : ``);\nconst V_MODEL_DYNAMIC = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vModelDynamic` : ``);\nconst V_ON_WITH_MODIFIERS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vOnModifiersGuard` : ``);\nconst V_ON_WITH_KEYS = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vOnKeysGuard` : ``);\nconst V_SHOW = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `vShow` : ``);\nconst TRANSITION = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `Transition` : ``);\nconst TRANSITION_GROUP = Symbol(!!(process.env.NODE_ENV !== \"production\") ? `TransitionGroup` : ``);\nregisterRuntimeHelpers({\n [V_MODEL_RADIO]: `vModelRadio`,\n [V_MODEL_CHECKBOX]: `vModelCheckbox`,\n [V_MODEL_TEXT]: `vModelText`,\n [V_MODEL_SELECT]: `vModelSelect`,\n [V_MODEL_DYNAMIC]: `vModelDynamic`,\n [V_ON_WITH_MODIFIERS]: `withModifiers`,\n [V_ON_WITH_KEYS]: `withKeys`,\n [V_SHOW]: `vShow`,\n [TRANSITION]: `Transition`,\n [TRANSITION_GROUP]: `TransitionGroup`\n});\n\nlet decoder;\nfunction decodeHtmlBrowser(raw, asAttr = false) {\n if (!decoder) {\n decoder = document.createElement(\"div\");\n }\n if (asAttr) {\n decoder.innerHTML = `<div foo=\"${raw.replace(/\"/g, \""\")}\">`;\n return decoder.children[0].getAttribute(\"foo\");\n } else {\n decoder.innerHTML = raw;\n return decoder.textContent;\n }\n}\n\nconst isRawTextContainer = /* @__PURE__ */ makeMap(\n \"style,iframe,script,noscript\",\n true\n);\nconst parserOptions = {\n isVoidTag,\n isNativeTag: (tag) => isHTMLTag(tag) || isSVGTag(tag),\n isPreTag: (tag) => tag === \"pre\",\n decodeEntities: decodeHtmlBrowser ,\n isBuiltInComponent: (tag) => {\n if (isBuiltInType(tag, `Transition`)) {\n return TRANSITION;\n } else if (isBuiltInType(tag, `TransitionGroup`)) {\n return TRANSITION_GROUP;\n }\n },\n // https://html.spec.whatwg.org/multipage/parsing.html#tree-construction-dispatcher\n getNamespace(tag, parent) {\n let ns = parent ? parent.ns : 0;\n if (parent && ns === 2) {\n if (parent.tag === \"annotation-xml\") {\n if (tag === \"svg\") {\n return 1;\n }\n if (parent.props.some(\n (a) => a.type === 6 && a.name === \"encoding\" && a.value != null && (a.value.content === \"text/html\" || a.value.content === \"application/xhtml+xml\")\n )) {\n ns = 0;\n }\n } else if (/^m(?:[ions]|text)$/.test(parent.tag) && tag !== \"mglyph\" && tag !== \"malignmark\") {\n ns = 0;\n }\n } else if (parent && ns === 1) {\n if (parent.tag === \"foreignObject\" || parent.tag === \"desc\" || parent.tag === \"title\") {\n ns = 0;\n }\n }\n if (ns === 0) {\n if (tag === \"svg\") {\n return 1;\n }\n if (tag === \"math\") {\n return 2;\n }\n }\n return ns;\n },\n // https://html.spec.whatwg.org/multipage/parsing.html#parsing-html-fragments\n getTextMode({ tag, ns }) {\n if (ns === 0) {\n if (tag === \"textarea\" || tag === \"title\") {\n return 1;\n }\n if (isRawTextContainer(tag)) {\n return 2;\n }\n }\n return 0;\n }\n};\n\nconst transformStyle = (node) => {\n if (node.type === 1) {\n node.props.forEach((p, i) => {\n if (p.type === 6 && p.name === \"style\" && p.value) {\n node.props[i] = {\n type: 7,\n name: `bind`,\n arg: createSimpleExpression(`style`, true, p.loc),\n exp: parseInlineCSS(p.value.content, p.loc),\n modifiers: [],\n loc: p.loc\n };\n }\n });\n }\n};\nconst parseInlineCSS = (cssText, loc) => {\n const normalized = parseStringStyle(cssText);\n return createSimpleExpression(\n JSON.stringify(normalized),\n false,\n loc,\n 3\n );\n};\n\nfunction createDOMCompilerError(code, loc) {\n return createCompilerError(\n code,\n loc,\n !!(process.env.NODE_ENV !== \"production\") || false ? DOMErrorMessages : void 0\n );\n}\nconst DOMErrorMessages = {\n [53]: `v-html is missing expression.`,\n [54]: `v-html will override element children.`,\n [55]: `v-text is missing expression.`,\n [56]: `v-text will override element children.`,\n [57]: `v-model can only be used on <input>, <textarea> and <select> elements.`,\n [58]: `v-model argument is not supported on plain elements.`,\n [59]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,\n [60]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,\n [61]: `v-show is missing expression.`,\n [62]: `<Transition> expects exactly one child element or component.`,\n [63]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`\n};\n\nconst transformVHtml = (dir, node, context) => {\n const { exp, loc } = dir;\n if (!exp) {\n context.onError(\n createDOMCompilerError(53, loc)\n );\n }\n if (node.children.length) {\n context.onError(\n createDOMCompilerError(54, loc)\n );\n node.children.length = 0;\n }\n return {\n props: [\n createObjectProperty(\n createSimpleExpression(`innerHTML`, true, loc),\n exp || createSimpleExpression(\"\", true)\n )\n ]\n };\n};\n\nconst transformVText = (dir, node, context) => {\n const { exp, loc } = dir;\n if (!exp) {\n context.onError(\n createDOMCompilerError(55, loc)\n );\n }\n if (node.children.length) {\n context.onError(\n createDOMCompilerError(56, loc)\n );\n node.children.length = 0;\n }\n return {\n props: [\n createObjectProperty(\n createSimpleExpression(`textContent`, true),\n exp ? getConstantType(exp, context) > 0 ? exp : createCallExpression(\n context.helperString(TO_DISPLAY_STRING),\n [exp],\n loc\n ) : createSimpleExpression(\"\", true)\n )\n ]\n };\n};\n\nconst transformModel = (dir, node, context) => {\n const baseResult = transformModel$1(dir, node, context);\n if (!baseResult.props.length || node.tagType === 1) {\n return baseResult;\n }\n if (dir.arg) {\n context.onError(\n createDOMCompilerError(\n 58,\n dir.arg.loc\n )\n );\n }\n function checkDuplicatedValue() {\n const value = findProp(node, \"value\");\n if (value) {\n context.onError(\n createDOMCompilerError(\n 60,\n value.loc\n )\n );\n }\n }\n const { tag } = node;\n const isCustomElement = context.isCustomElement(tag);\n if (tag === \"input\" || tag === \"textarea\" || tag === \"select\" || isCustomElement) {\n let directiveToUse = V_MODEL_TEXT;\n let isInvalidType = false;\n if (tag === \"input\" || isCustomElement) {\n const type = findProp(node, `type`);\n if (type) {\n if (type.type === 7) {\n directiveToUse = V_MODEL_DYNAMIC;\n } else if (type.value) {\n switch (type.value.content) {\n case \"radio\":\n directiveToUse = V_MODEL_RADIO;\n break;\n case \"checkbox\":\n directiveToUse = V_MODEL_CHECKBOX;\n break;\n case \"file\":\n isInvalidType = true;\n context.onError(\n createDOMCompilerError(\n 59,\n dir.loc\n )\n );\n break;\n default:\n !!(process.env.NODE_ENV !== \"production\") && checkDuplicatedValue();\n break;\n }\n }\n } else if (hasDynamicKeyVBind(node)) {\n directiveToUse = V_MODEL_DYNAMIC;\n } else {\n !!(process.env.NODE_ENV !== \"production\") && checkDuplicatedValue();\n }\n } else if (tag === \"select\") {\n directiveToUse = V_MODEL_SELECT;\n } else {\n !!(process.env.NODE_ENV !== \"production\") && checkDuplicatedValue();\n }\n if (!isInvalidType) {\n baseResult.needRuntime = context.helper(directiveToUse);\n }\n } else {\n context.onError(\n createDOMCompilerError(\n 57,\n dir.loc\n )\n );\n }\n baseResult.props = baseResult.props.filter(\n (p) => !(p.key.type === 4 && p.key.content === \"modelValue\")\n );\n return baseResult;\n};\n\nconst isEventOptionModifier = /* @__PURE__ */ makeMap(`passive,once,capture`);\nconst isNonKeyModifier = /* @__PURE__ */ makeMap(\n // event propagation management\n `stop,prevent,self,ctrl,shift,alt,meta,exact,middle`\n);\nconst maybeKeyModifier = /* @__PURE__ */ makeMap(\"left,right\");\nconst isKeyboardEvent = /* @__PURE__ */ makeMap(\n `onkeyup,onkeydown,onkeypress`,\n true\n);\nconst resolveModifiers = (key, modifiers, context, loc) => {\n const keyModifiers = [];\n const nonKeyModifiers = [];\n const eventOptionModifiers = [];\n for (let i = 0; i < modifiers.length; i++) {\n const modifier = modifiers[i];\n if (modifier === \"native\" && checkCompatEnabled(\n \"COMPILER_V_ON_NATIVE\",\n context,\n loc\n )) {\n eventOptionModifiers.push(modifier);\n } else if (isEventOptionModifier(modifier)) {\n eventOptionModifiers.push(modifier);\n } else {\n if (maybeKeyModifier(modifier)) {\n if (isStaticExp(key)) {\n if (isKeyboardEvent(key.content)) {\n keyModifiers.push(modifier);\n } else {\n nonKeyModifiers.push(modifier);\n }\n } else {\n keyModifiers.push(modifier);\n nonKeyModifiers.push(modifier);\n }\n } else {\n if (isNonKeyModifier(modifier)) {\n nonKeyModifiers.push(modifier);\n } else {\n keyModifiers.push(modifier);\n }\n }\n }\n }\n return {\n keyModifiers,\n nonKeyModifiers,\n eventOptionModifiers\n };\n};\nconst transformClick = (key, event) => {\n const isStaticClick = isStaticExp(key) && key.content.toLowerCase() === \"onclick\";\n return isStaticClick ? createSimpleExpression(event, true) : key.type !== 4 ? createCompoundExpression([\n `(`,\n key,\n `) === \"onClick\" ? \"${event}\" : (`,\n key,\n `)`\n ]) : key;\n};\nconst transformOn = (dir, node, context) => {\n return transformOn$1(dir, node, context, (baseResult) => {\n const { modifiers } = dir;\n if (!modifiers.length)\n return baseResult;\n let { key, value: handlerExp } = baseResult.props[0];\n const { keyModifiers, nonKeyModifiers, eventOptionModifiers } = resolveModifiers(key, modifiers, context, dir.loc);\n if (nonKeyModifiers.includes(\"right\")) {\n key = transformClick(key, `onContextmenu`);\n }\n if (nonKeyModifiers.includes(\"middle\")) {\n key = transformClick(key, `onMouseup`);\n }\n if (nonKeyModifiers.length) {\n handlerExp = createCallExpression(context.helper(V_ON_WITH_MODIFIERS), [\n handlerExp,\n JSON.stringify(nonKeyModifiers)\n ]);\n }\n if (keyModifiers.length && // if event name is dynamic, always wrap with keys guard\n (!isStaticExp(key) || isKeyboardEvent(key.content))) {\n handlerExp = createCallExpression(context.helper(V_ON_WITH_KEYS), [\n handlerExp,\n JSON.stringify(keyModifiers)\n ]);\n }\n if (eventOptionModifiers.length) {\n const modifierPostfix = eventOptionModifiers.map(capitalize).join(\"\");\n key = isStaticExp(key) ? createSimpleExpression(`${key.content}${modifierPostfix}`, true) : createCompoundExpression([`(`, key, `) + \"${modifierPostfix}\"`]);\n }\n return {\n props: [createObjectProperty(key, handlerExp)]\n };\n });\n};\n\nconst transformShow = (dir, node, context) => {\n const { exp, loc } = dir;\n if (!exp) {\n context.onError(\n createDOMCompilerError(61, loc)\n );\n }\n return {\n props: [],\n needRuntime: context.helper(V_SHOW)\n };\n};\n\nconst transformTransition = (node, context) => {\n if (node.type === 1 && node.tagType === 1) {\n const component = context.isBuiltInComponent(node.tag);\n if (component === TRANSITION) {\n return () => {\n if (!node.children.length) {\n return;\n }\n if (hasMultipleChildren(node)) {\n context.onError(\n createDOMCompilerError(\n 62,\n {\n start: node.children[0].loc.start,\n end: node.children[node.children.length - 1].loc.end,\n source: \"\"\n }\n )\n );\n }\n const child = node.children[0];\n if (child.type === 1) {\n for (const p of child.props) {\n if (p.type === 7 && p.name === \"show\") {\n node.props.push({\n type: 6,\n name: \"persisted\",\n value: void 0,\n loc: node.loc\n });\n }\n }\n }\n };\n }\n }\n};\nfunction hasMultipleChildren(node) {\n const children = node.children = node.children.filter(\n (c) => c.type !== 3 && !(c.type === 2 && !c.content.trim())\n );\n const child = children[0];\n return children.length !== 1 || child.type === 11 || child.type === 9 && child.branches.some(hasMultipleChildren);\n}\n\nconst ignoreSideEffectTags = (node, context) => {\n if (node.type === 1 && node.tagType === 0 && (node.tag === \"script\" || node.tag === \"style\")) {\n !!(process.env.NODE_ENV !== \"production\") && context.onError(\n createDOMCompilerError(\n 63,\n node.loc\n )\n );\n context.removeNode();\n }\n};\n\nconst DOMNodeTransforms = [\n transformStyle,\n ...!!(process.env.NODE_ENV !== \"production\") ? [transformTransition] : []\n];\nconst DOMDirectiveTransforms = {\n cloak: noopDirectiveTransform,\n html: transformVHtml,\n text: transformVText,\n model: transformModel,\n // override compiler-core\n on: transformOn,\n // override compiler-core\n show: transformShow\n};\nfunction compile(template, options = {}) {\n return baseCompile(\n template,\n extend({}, parserOptions, options, {\n nodeTransforms: [\n // ignore <script> and <tag>\n // this is not put inside DOMNodeTransforms because that list is used\n // by compiler-ssr to generate vnode fallback branches\n ignoreSideEffectTags,\n ...DOMNodeTransforms,\n ...options.nodeTransforms || []\n ],\n directiveTransforms: extend(\n {},\n DOMDirectiveTransforms,\n options.directiveTransforms || {}\n ),\n transformHoist: null \n })\n );\n}\nfunction parse(template, options = {}) {\n return baseParse(template, extend({}, parserOptions, options));\n}\n\nexport { DOMDirectiveTransforms, DOMNodeTransforms, TRANSITION, TRANSITION_GROUP, V_MODEL_CHECKBOX, V_MODEL_DYNAMIC, V_MODEL_RADIO, V_MODEL_SELECT, V_MODEL_TEXT, V_ON_WITH_KEYS, V_ON_WITH_MODIFIERS, V_SHOW, compile, createDOMCompilerError, parse, parserOptions, transformStyle };\n","import * as runtimeDom from '@vue/runtime-dom';\nimport { initCustomFormatter, registerRuntimeCompiler, warn } from '@vue/runtime-dom';\nexport * from '@vue/runtime-dom';\nimport { compile } from '@vue/compiler-dom';\nimport { isString, NOOP, extend, generateCodeFrame } from '@vue/shared';\n\nfunction initDev() {\n {\n initCustomFormatter();\n }\n}\n\nif (!!(process.env.NODE_ENV !== \"production\")) {\n initDev();\n}\nconst compileCache = /* @__PURE__ */ Object.create(null);\nfunction compileToFunction(template, options) {\n if (!isString(template)) {\n if (template.nodeType) {\n template = template.innerHTML;\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warn(`invalid template option: `, template);\n return NOOP;\n }\n }\n const key = template;\n const cached = compileCache[key];\n if (cached) {\n return cached;\n }\n if (template[0] === \"#\") {\n const el = document.querySelector(template);\n if (!!(process.env.NODE_ENV !== \"production\") && !el) {\n warn(`Template element not found or is empty: ${template}`);\n }\n template = el ? el.innerHTML : ``;\n }\n const opts = extend(\n {\n hoistStatic: true,\n onError: !!(process.env.NODE_ENV !== \"production\") ? onError : void 0,\n onWarn: !!(process.env.NODE_ENV !== \"production\") ? (e) => onError(e, true) : NOOP\n },\n options\n );\n if (!opts.isCustomElement && typeof customElements !== \"undefined\") {\n opts.isCustomElement = (tag) => !!customElements.get(tag);\n }\n const { code } = compile(template, opts);\n function onError(err, asWarning = false) {\n const message = asWarning ? err.message : `Template compilation error: ${err.message}`;\n const codeFrame = err.loc && generateCodeFrame(\n template,\n err.loc.start.offset,\n err.loc.end.offset\n );\n warn(codeFrame ? `${message}\n${codeFrame}` : message);\n }\n const render = new Function(\"Vue\", code)(runtimeDom);\n render._rc = true;\n return compileCache[key] = render;\n}\nregisterRuntimeCompiler(compileToFunction);\n\nexport { compileToFunction as compile };\n","<script>\r\n import options from \"./ArticlesInsight.options\"\r\n export default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-articles-insight\">\r\n <div class=\"nyk-articles-insight__header\">\r\n <h2 class=\"nyk-articles-insight__header__title\">{{ title }}</h2>\r\n <MultiSelectDropdown title=\"Emner\"\r\n placeholderLabel=\"Filtrer pÃ¥ emne\"\r\n :initOptions=\"subjectOptions\"\r\n :onChangeCallback=\"handleSubjectsCallback\"\r\n :showArrow=\"true\" />\r\n <MultiSelectDropdown title=\"Typer\"\r\n placeholderLabel=\"Filtrer pÃ¥ type\"\r\n :initOptions=\"typeOptions\"\r\n :onChangeCallback=\"handleTypesCallback\"\r\n :showArrow=\"true\" />\r\n </div>\r\n\r\n <div class=\"nyk-articles-insight__content\">\r\n <section class=\"nyk-standard-card-layout\">\r\n <div class=\"nyk-standard-card-layout__content\">\r\n <template v-for=\"(result, index) in results\" :key=\"index\">\r\n <a :href=\"result.url\" class=\"nyk-standard-card\">\r\n <article class=\"nyk-standard-card__content\">\r\n <div class=\"nyk-standard-card__content__image\">\r\n <picture>\r\n <source :srcset=\"result.thumbnailUrlMobile\" media=\"(max-width: 600px)\" />\r\n <source :srcset=\"result.thumbnailUrlTablet\" media=\"(max-width: 905px)\" />\r\n <img class=\"nyk-standard-card__content__image__img\" :src=\"result.thumbnailUrl\" alt=\"\" role=\"presentation\" />\r\n </picture>\r\n </div>\r\n\r\n <div class=\"nyk-standard-card__content__body\">\r\n <div class=\"nyk-standard-card__content__body__meta\">\r\n <div class=\"nyk-standard-card__content__body__meta__info\">\r\n <span class=\"nyk-standard-card__content__body__meta__info__tag\">{{ result.tag }}</span>\r\n <span class=\"nyk-standard-card__content__body__meta__info__name\">{{ result.category }}</span>\r\n </div>\r\n <span class=\"nyk-standard-card__content__body__meta__read-time\">{{ result.datePublished }}</span>\r\n </div>\r\n\r\n <div class=\"nyk-standard-card__content__body__content\">\r\n <h3 class=\"nyk-standard-card__content__body__content__title\">\r\n {{ result.title }}\r\n </h3>\r\n </div>\r\n </div>\r\n </article>\r\n </a>\r\n </template>\r\n </div>\r\n <template v-if=\"loadMore\">\r\n <div class=\"nyk-standard-card-layout__actions\">\r\n <button :disabled=\"fetching\" v-on:click=\"getMoreResults\" class=\"nyk-button nyk-button--outline-primary\">\r\n {{ getMoreButtonText }}\r\n </button>\r\n </div>\r\n </template>\r\n </section>\r\n </div>\r\n </article>\r\n</template>","<script>\r\nimport options from './MultiSelectDropdown.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article\r\n class=\"nyk-multi-select-dropdown nyk-js--multi-select-dropdown\"\r\n :class=\"{ 'nyk-multi-select-dropdown--popup-open': popupOpen }\">\r\n <button\r\n ref=\"dropdownButtonRef\"\r\n v-on:click=\"toggleDropdown\"\r\n role=\"combobox\"\r\n class=\"nyk-multi-select-dropdown__button\"\r\n :id=\"`${labelId}-combo`\"\r\n :aria-controls=\"`${labelId}-listbox`\"\r\n aria-haspopup=\"listbox\"\r\n :aria-expanded=\"popupOpen\"\r\n :aria-labelledby=\"labelId\">\r\n <div class=\"nyk-multi-select-dropdown__button__label\" :class=\"{ 'nyk-multi-select-dropdown__button__label--empty': !optionsIsNotEmpty }\" :id=\"labelId\">{{ title }}</div>\r\n <div class=\"nyk-multi-select-dropdown__button__selected\" aria-live=\"polite\">\r\n {{ selectedValues }}\r\n </div>\r\n\r\n <div\r\n v-if=\"!showArrow\"\r\n role=\"button\"\r\n class=\"nyk-multi-select-dropdown__button__close\"\r\n :class=\"{\r\n 'nyk-multi-select-dropdown__button__close--show': optionsIsNotEmpty,\r\n }\"\r\n v-on:click.stop=\"emptySelectedResults\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </div>\r\n\r\n <span class=\"nyk-multi-select-dropdown__button__arrow\" v-else></span>\r\n </button>\r\n\r\n <div\r\n class=\"nyk-multi-select-dropdown__popup\"\r\n ref=\"dropdownListRef\"\r\n role=\"listbox\"\r\n :id=\"`${labelId}-listbox`\"\r\n :aria-labelledby=\"labelId\"\r\n aria-multiselectable=\"true\"\r\n tabindex=\"-1\">\r\n <form class=\"nyk-multi-select-dropdown__popup__form\" v-on:change=\"onChangeDropdown\">\r\n <template v-for=\"(option, index) in options\" :key=\"index\">\r\n <div class=\"nyk-form nyk-js--form nyk-form-choice nyk-multi-select-dropdown__popup__form__item\">\r\n <div class=\"nyk-form-choice__content\">\r\n <div class=\"nyk-form-choice__content__item nyk-js--choice-wrapper\">\r\n <div class=\"nyk-form-choice__content__item__choice\">\r\n <input\r\n class=\"nyk-form-choice__content__item__choice__input\"\r\n :id=\"option.value\"\r\n :data-name=\"option.name\"\r\n type=\"checkbox\"\r\n :value=\"option.value\"\r\n :checked=\"option.selected\"\r\n :name=\"title\"\r\n v-on:keydown=\"handleKeyTab\"\r\n role=\"option\"\r\n :aria-selected=\"option.selected\" />\r\n <div class=\"nyk-form-choice__content__item__choice__square\">\r\n <div class=\"nyk-form-choice__content__item__choice__square__outer\"></div>\r\n <div class=\"nyk-form-choice__content__item__choice__square__inner\"></div>\r\n </div>\r\n </div>\r\n <label class=\"nyk-form-choice__content__item__label\" :for=\"option.value\">{{ option.name }}</label>\r\n </div>\r\n </div>\r\n </div>\r\n </template>\r\n </form>\r\n </div>\r\n </article>\r\n</template>\r\n","import { computed, ref } from 'vue'\r\n\r\nexport default {\r\n name: 'MultiSelectDropdown',\r\n props: {\r\n initOptions: {\r\n type: Array,\r\n required: true,\r\n },\r\n title: {\r\n type: String,\r\n required: false,\r\n },\r\n placeholderLabel: {\r\n type: String,\r\n required: false,\r\n },\r\n onChangeCallback: {\r\n type: Function,\r\n required: false,\r\n },\r\n showArrow: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n },\r\n setup(props) {\r\n const options = ref(props.initOptions)\r\n const popupOpen = ref(false)\r\n const labelId = ref(props.title ? props.title.replace(/ /g, '-') : 'multi-select-dropdown-label')\r\n const dropdownButtonRef = ref(null)\r\n const dropdownListRef = ref(null)\r\n\r\n const onChangeDropdown = (e) => {\r\n const elements = e.currentTarget.elements\r\n options.value = []\r\n Array.from(elements).forEach((element) => {\r\n options.value.push({\r\n value: element.value,\r\n name: element.dataset.name,\r\n selected: element.checked,\r\n })\r\n })\r\n\r\n if (props.onChangeCallback) {\r\n props.onChangeCallback(options.value)\r\n }\r\n }\r\n\r\n const selectedValues = computed(() => {\r\n let res = ''\r\n options.value.forEach((option) => {\r\n if (option.selected) {\r\n if (res === '') {\r\n res += option.name\r\n } else {\r\n res += ', ' + option.name\r\n }\r\n }\r\n })\r\n return res\r\n })\r\n\r\n const optionsIsNotEmpty = computed(() => {\r\n const numOfSelectedOptions = options.value.filter((option) => {\r\n return option.selected\r\n }).length\r\n return numOfSelectedOptions > 0\r\n })\r\n\r\n const toggleDropdown = () => {\r\n popupOpen.value = !popupOpen.value\r\n\r\n if (popupOpen.value) {\r\n setTimeout(() => {\r\n setFirstFocusableElement()\r\n }, 50)\r\n }\r\n\r\n document.addEventListener('click', function closeDropdown(e) {\r\n const insideMuliSelectDropdown = e.target.closest('.nyk-js--multi-select-dropdown')\r\n if (!insideMuliSelectDropdown) {\r\n popupOpen.value = false\r\n document.removeEventListener('click', closeDropdown)\r\n }\r\n })\r\n }\r\n\r\n const emptySelectedResults = () => {\r\n options.value.forEach((option) => {\r\n option.selected = false\r\n })\r\n if (props.onChangeCallback) {\r\n props.onChangeCallback(options.value)\r\n }\r\n }\r\n\r\n const getListOfElements = () => {\r\n return dropdownListRef.value?.querySelectorAll('input')\r\n }\r\n\r\n const setFirstFocusableElement = () => {\r\n const inputs = getListOfElements()\r\n\r\n if (inputs && inputs.length > 0) {\r\n inputs[0].focus()\r\n }\r\n }\r\n\r\n const getActiveInputIndex = (inputs) => {\r\n let activeInputIndex = 0\r\n inputs.forEach((input, index) => {\r\n if (document.activeElement === input) {\r\n activeInputIndex = index\r\n }\r\n })\r\n return activeInputIndex\r\n }\r\n\r\n const navigateBackInList = () => {\r\n const inputs = getListOfElements()\r\n if (!inputs) return\r\n\r\n const activeInputIndex = getActiveInputIndex(inputs)\r\n\r\n if (activeInputIndex === 0) {\r\n inputs[inputs.length - 1].focus()\r\n } else {\r\n inputs[activeInputIndex - 1].focus()\r\n }\r\n }\r\n\r\n const navigateFrontInList = () => {\r\n const inputs = getListOfElements()\r\n if (!inputs) return\r\n\r\n const activeInputIndex = getActiveInputIndex(inputs)\r\n\r\n if (activeInputIndex === inputs.length - 1) {\r\n inputs[0].focus()\r\n } else {\r\n inputs[activeInputIndex + 1].focus()\r\n }\r\n }\r\n\r\n const handleKeyTab = (e) => {\r\n switch (e.key) {\r\n case 'Tab':\r\n if (e.shiftKey) {\r\n e.preventDefault()\r\n navigateBackInList()\r\n } else {\r\n e.preventDefault()\r\n navigateFrontInList()\r\n }\r\n break\r\n case 'ArrowDown':\r\n case 'ArrowRight':\r\n e.preventDefault()\r\n navigateFrontInList()\r\n break\r\n case 'ArrowUp':\r\n case 'ArrowLeft':\r\n e.preventDefault()\r\n navigateBackInList()\r\n break\r\n case 'Escape':\r\n e.preventDefault()\r\n popupOpen.value = false\r\n dropdownButtonRef.value?.focus()\r\n break\r\n case 'Enter':\r\n e.target.click()\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n\r\n return {\r\n handleKeyTab,\r\n dropdownButtonRef,\r\n dropdownListRef,\r\n labelId,\r\n onChangeDropdown,\r\n toggleDropdown,\r\n selectedValues,\r\n options,\r\n popupOpen,\r\n emptySelectedResults,\r\n optionsIsNotEmpty,\r\n }\r\n },\r\n}\r\n","import { render } from \"./MultiSelectDropdown.vue?vue&type=template&id=d4cde066\"\nimport script from \"./MultiSelectDropdown.vue?vue&type=script&lang=js\"\nexport * from \"./MultiSelectDropdown.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { computed, onBeforeMount, ref } from \"vue\"\r\nimport MultiSelectDropdown from \"../../../Frontend/src/components/MultiSelectDropdown/MultiSelectDropdown.vue\"\r\n\r\nexport default {\r\n name: \"ArticlesInsight\",\r\n components: {\r\n MultiSelectDropdown,\r\n },\r\n props: {\r\n apiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n getMoreButtonText: {\r\n type: String,\r\n required: true,\r\n },\r\n takeCount: {\r\n type: Number,\r\n required: true,\r\n },\r\n subjects: {\r\n type: Array,\r\n required: true,\r\n },\r\n types: {\r\n type: Array,\r\n required: true,\r\n },\r\n excludePages: {\r\n type: Array,\r\n required: true\r\n }\r\n },\r\n setup(props) {\r\n const typeOptions = ref([])\r\n const subjectOptions = ref([])\r\n const results = ref([])\r\n const currentPage = ref(1)\r\n const take = ref(props.takeCount)\r\n const totalArticleCount = ref(0)\r\n const selectedTypes = ref([])\r\n const selectedSubjects = ref([])\r\n const fetching = ref(false)\r\n\r\n onBeforeMount(() => {\r\n if (props.types) {\r\n formatTypes()\r\n }\r\n if (props.subjects) {\r\n formatSubjects()\r\n }\r\n if (props.apiUrl) {\r\n fetchArticles()\r\n }\r\n })\r\n\r\n const loadMore = computed(() => {\r\n return totalArticleCount.value > results.value.length\r\n })\r\n\r\n const formatTypes = () => {\r\n props.types.forEach((type) => {\r\n typeOptions.value.push({\r\n name: type.name,\r\n value: type.code,\r\n selected: false,\r\n })\r\n })\r\n selectedTypes.value = typeOptions.value\r\n }\r\n\r\n const formatSubjects = () => {\r\n props.subjects.forEach((subject) => {\r\n subjectOptions.value.push({\r\n name: subject.name,\r\n value: subject.code,\r\n selected: false,\r\n })\r\n })\r\n }\r\n\r\n const formatResults = (data) => {\r\n totalArticleCount.value = data.totalArticleCount\r\n\r\n if (currentPage.value === 1) {\r\n results.value = []\r\n }\r\n\r\n data.selectedArticles.forEach((article) => {\r\n results.value.push({\r\n title: article.title,\r\n tag: article.format,\r\n category: article.newsSubjectTaxonomy,\r\n datePublished: article.datePublished,\r\n url: article.url,\r\n thumbnailUrl: article.thumbnailUrl,\r\n thumbnailUrlMobile: article.thumbnailUrlMobile,\r\n thumbnailUrlTablet: article.thumbnailUrlTablet,\r\n })\r\n })\r\n }\r\n\r\n const handleSubjectsCallback = (res) => {\r\n const selected = res.filter((subject) => subject.selected === true)\r\n selectedSubjects.value = selected\r\n currentPage.value = 1\r\n fetchArticles()\r\n }\r\n\r\n const handleTypesCallback = (res) => {\r\n let selected = res.filter((type) => type.selected === true)\r\n if (selected.length === 0) {\r\n selected = typeOptions.value\r\n }\r\n selectedTypes.value = selected\r\n currentPage.value = 1\r\n fetchArticles()\r\n }\r\n\r\n const getMoreResults = () => {\r\n currentPage.value += 1\r\n fetchArticles()\r\n }\r\n\r\n const fetchArticles = () => {\r\n let url = props.apiUrl\r\n url += `?skip=${take.value * currentPage.value - take.value}&take=${take.value}`\r\n\r\n let typeCodes = \"&anyTypes=\"\r\n selectedTypes.value.forEach((type, index) => (typeCodes += `${index > 0 ? \",\" : \"\"}${type.value}`))\r\n url += typeCodes\r\n\r\n let subjectCodes = \"&anyCategory=\"\r\n selectedSubjects.value.forEach((subject, index) => (subjectCodes += `${index > 0 ? \",\" : \"\"}${subject.value}`))\r\n url += subjectCodes\r\n\r\n if (props.excludePages?.length > 0) {\r\n let exceludePages = \"&excludedArticles=\" + props.excludePages.join()\r\n url += exceludePages\r\n }\r\n\r\n fetching.value = true\r\n\r\n fetch(url)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n formatResults(data)\r\n fetching.value = false\r\n })\r\n .catch((error) => {\r\n console.error(\"Error:\", error)\r\n })\r\n }\r\n\r\n return {\r\n typeOptions,\r\n subjectOptions,\r\n results,\r\n loadMore,\r\n fetching,\r\n getMoreResults,\r\n handleSubjectsCallback,\r\n handleTypesCallback,\r\n }\r\n },\r\n}","import { render } from \"./ArticlesInsight.vue?vue&type=template&id=17d96146\"\nimport script from \"./ArticlesInsight.vue?vue&type=script&lang=js\"\nexport * from \"./ArticlesInsight.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { onMounted, ref } from \"vue\";\r\n\r\nexport default {\r\n name: \"ContextBanner\",\r\n props: {\r\n bannerId: {\r\n type: String,\r\n required: true\r\n }\r\n },\r\n setup(props) {\r\n const bannerHidden = ref(false)\r\n const COOKIE_VALUE = \"HIDDEN\"\r\n\r\n const getCookie = (cookieName) => {\r\n return document.cookie\r\n .split(\"; \")\r\n .find((row) => row.startsWith(`${cookieName}=`))\r\n ?.split(\"=\")[1];\r\n }\r\n\r\n const setCookie = (name, value, exdays) => {\r\n const date = new Date();\r\n date.setTime(date.getTime() + (exdays*24*60*60*1000));\r\n let expires = \"expires=\"+ date.toUTCString();\r\n \r\n document.cookie = name + \"=\" + value + \";\" + expires + \";path=/\";\r\n }\r\n\r\n const checkCookie = () => {\r\n bannerHidden.value = getCookie(props.bannerId) === COOKIE_VALUE \r\n }\r\n\r\n onMounted(() => {\r\n checkCookie()\r\n })\r\n\r\n const removeBanner = () => { \r\n setCookie(props.bannerId, COOKIE_VALUE, 30)\r\n checkCookie()\r\n }\r\n\r\n return {\r\n removeBanner,\r\n bannerHidden\r\n }\r\n }\r\n}","<script>\r\n import options from './CalculatorCompareTable.options'\r\n export default options\r\n</script>\r\n\r\n<template>\r\n <article ref=\"tableContainerRef\" class=\"nyk-calculator-compare-table nyk-table\">\r\n \r\n <template v-for=\"group, groupIndex in groupTables\" :key=\"groupIndex\">\r\n <div v-if=\"group.showTitle\" class=\"nyk-calculator-compare-table__group\" :class=\"markGroupsWithOnlyOneTable(group, 'nyk-calculator-compare-table__group')\">\r\n <div v-for=\"title, titleIndex in group.titles\">\r\n <h2 class=\"nyk-calculator-compare-table__group-title\">{{ title }}</h2>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-calculator-compare-table__group\" :class=\"markGroupsWithOnlyOneTable(group, 'nyk-calculator-compare-table__group')\">\r\n <div v-for=\"table, tableIndex in group.tables\" :key=\"tableIndex\">\r\n <h2 v-if=\"group.showTitle\" class=\"nyk-calculator-compare-table__group-title nyk-calculator-compare-table__group-title--show-mobile\">{{ group.titles[tableIndex] }}</h2>\r\n <CalculatorTable \r\n :headers=\"table.headers\"\r\n :tooltip=\"table.tooltip\"\r\n :collapse=\"table.collapse\"\r\n :rows=\"table.rows\"\r\n :labels=\"labels\"\r\n :title=\"group.titles[tableIndex]\"\r\n />\r\n </div>\r\n </div>\r\n </template>\r\n\r\n </article>\r\n</template>\r\n","<script>\r\nimport options from './CalculatorTable.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article v-if=\"!collapse\" ref=\"tableContainerRef\" class=\"nyk-calculator-table nyk-table\" :class=\"tableStylesHiddenRow\">\r\n <div class=\"nyk-table__container\">\r\n <table class=\"nyk-table__container__table\" :aria-label=\"title\">\r\n <thead v-if=\"headers.length > 0\" class=\"nyk-table__container__table__header\">\r\n <tr class=\"nyk-table__container__table__header__row\">\r\n <template v-for=\"(item, index) in headers\" :key=\"index\">\r\n <th\r\n class=\"nyk-table__container__table__header__row__item\"\r\n :class=\"`${item.styles ? 'nyk-table__container__table__header__row__item--' + item.styles : ''}`\"\r\n :scope=\"item.scope\">\r\n <div v-html=\"item.name\"></div>\r\n <button\r\n v-on:click=\"showTooltip(item.tooltipTitle)\"\r\n v-if=\"tooltip\"\r\n class=\"nyk-calculator-table__item-tooltip\"\r\n aria-haspopup=\"true\"\r\n :aria-label=\"labels.tooltipButtonLabel\"\r\n tabindex=\"0\">\r\n <span class=\"nyk-calculator-table__item-tooltip-symbol\">\r\n <svg\r\n role=\"presentation\"\r\n width=\"2\"\r\n height=\"2\"\r\n viewBox=\"0 0 2 2\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle cx=\"1\" cy=\"1\" r=\"1\" fill=\"#07094A\" />\r\n </svg>\r\n <svg\r\n role=\"presentation\"\r\n width=\"2\"\r\n height=\"8\"\r\n viewBox=\"0 0 2 8\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M1 1V7\" stroke=\"#07094A\" stroke-width=\"2\" stroke-linecap=\"square\" />\r\n </svg>\r\n </span>\r\n </button>\r\n </th>\r\n </template>\r\n </tr>\r\n </thead>\r\n <tbody class=\"nyk-table__container__table__body\" aria-live=\"polite\">\r\n <template v-for=\"(row, indexRow) in rows\" :key=\"indexRow\">\r\n <tr\r\n class=\"nyk-table__container__table__body__row\"\r\n :class=\"`${row.hide && !hiddensTableItemsShown ? 'nyk-table__container__table__body__row--hide' : ''}`\"\r\n >\r\n <template v-for=\"(item, indexItem) in row.row\" :key=\"indexItem\">\r\n <td class=\"nyk-table__container__table__body__row__item\" :class=\"getTableItemStyles(item)\">\r\n <div v-html=\"item.name\"></div>\r\n </td>\r\n </template>\r\n </tr>\r\n </template>\r\n\r\n <template v-if=\"hiddenTableItems\">\r\n <tr>\r\n <td colspan=\"2\">\r\n <button\r\n v-on:click=\"toggleHiddenRows\"\r\n class=\"nyk-button nyk-button--link nyk-calculator-table__load-more\"\r\n :aria-expanded=\"hiddensTableItemsShown\">\r\n <span>{{ hiddensTableItemsShown ? labels.showLessButton : labels.showMoreButton }}</span>\r\n <svg\r\n role=\"presentation\"\r\n width=\"20\"\r\n height=\"20\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M2.24005 13.4364L9.99893 5.67755L10.8828 6.56143L3.12393 14.3203L2.24005 13.4364Z\"\r\n fill=\"#07094A\" />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M16.8739 14.3203L9.11505 6.56143L9.99893 5.67755L17.7578 13.4364L16.8739 14.3203Z\"\r\n fill=\"#07094A\" />\r\n </svg>\r\n </button>\r\n </td>\r\n </tr>\r\n </template>\r\n </tbody>\r\n </table>\r\n </div>\r\n </article>\r\n\r\n <div v-else\r\n class=\"nyk-calculator-table nyk-table nyk-calculator-table--collapse\" \r\n :class=\"tableCollapsed ? 'nyk-calculator-table--hidden' : ''\"\r\n >\r\n <button\r\n class=\"nyk-calculator-table__button\"\r\n v-on:click=\"toggleTable\"\r\n :aria-expanded=\"!tableCollapsed\"\r\n :aria-controls=\"uniqueTableId\"\r\n :id=\"`${uniqueTableId}-button`\"\r\n >\r\n <div class=\"nyk-calculator-table__button-content\">\r\n <span class=\"nyk-calculator-table__button-name\">{{ getAccordionNameFromTable() }}</span> \r\n <span class=\"nyk-calculator-table__item-collapse-icon\">\r\n <svg role=\"presentation\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2.24005 13.4364L9.99893 5.67755L10.8828 6.56143L3.12393 14.3203L2.24005 13.4364Z\" fill=\"#07094A\" /><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.8739 14.3203L9.11505 6.56143L9.99893 5.67755L17.7578 13.4364L16.8739 14.3203Z\" fill=\"#07094A\" /></svg>\r\n </span>\r\n </div>\r\n <span class=\"nyk-calculator-table__button-value\">{{ getAccordionValueFromTable() }}</span>\r\n </button>\r\n\r\n <div class=\"nyk-table__container\" v-if=\"!tableCollapsed\" :id=\"uniqueTableId\" role=\"region\" :aria-labelledby=\"`${uniqueTableId}-button`\">\r\n <table class=\"nyk-table__container__table\">\r\n <tbody class=\"nyk-table__container__table__body\">\r\n <template v-for=\"(row, indexRow) in rows\" :key=\"indexRow\">\r\n <tr v-if=\"indexRow > 0\"\r\n class=\"nyk-table__container__table__body__row\"\r\n :class=\"`${row.hide && !hiddensTableItemsShown ? 'nyk-table__container__table__body__row--hide' : ''}`\"\r\n >\r\n <template v-for=\"(item, indexItem) in row.row\" :key=\"indexItem\">\r\n <td class=\"nyk-table__container__table__body__row__item\" :class=\"getTableItemStyles(item)\">\r\n <div v-html=\"item.name\"></div>\r\n </td>\r\n </template>\r\n </tr>\r\n </template>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n\r\n</template>\r\n","export function getDevtoolsGlobalHook() {\n return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nexport function getTarget() {\n // @ts-ignore\n return (typeof navigator !== 'undefined' && typeof window !== 'undefined')\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n}\nexport const isProxyAvailable = typeof Proxy === 'function';\n","let supported;\nlet perf;\nexport function isPerformanceSupported() {\n var _a;\n if (supported !== undefined) {\n return supported;\n }\n if (typeof window !== 'undefined' && window.performance) {\n supported = true;\n perf = window.performance;\n }\n else if (typeof global !== 'undefined' && ((_a = global.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {\n supported = true;\n perf = global.perf_hooks.performance;\n }\n else {\n supported = false;\n }\n return supported;\n}\nexport function now() {\n return isPerformanceSupported() ? perf.now() : Date.now();\n}\n","import { HOOK_PLUGIN_SETTINGS_SET } from './const.js';\nimport { now } from './time.js';\nexport class ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n }\n catch (e) {\n // noop\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n }\n catch (e) {\n // noop\n }\n currentSettings = value;\n },\n now() {\n return now();\n },\n };\n if (hook) {\n hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n }\n else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args,\n });\n };\n }\n },\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n }\n else if (prop === 'on') {\n return this.proxiedOn;\n }\n else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => { },\n });\n return this.fallbacks[prop](...args);\n };\n }\n else {\n return (...args) => {\n return new Promise(resolve => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve,\n });\n });\n };\n }\n },\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\n","export const HOOK_SETUP = 'devtools-plugin:setup';\nexport const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';\n","/*!\n * vuex v4.1.0\n * (c) 2022 Evan You\n * @license MIT\n */\nimport { inject, effectScope, reactive, watch, computed } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nvar storeKey = 'store';\n\nfunction useStore (key) {\n if ( key === void 0 ) key = null;\n\n return inject(key !== null ? key : storeKey)\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array<Object>} cache\n * @return {*}\n */\nfunction deepCopy (obj, cache) {\n if ( cache === void 0 ) cache = [];\n\n // just return if obj is immutable value\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n // if obj is hit, it is in circular structure\n var hit = find(cache, function (c) { return c.original === obj; });\n if (hit) {\n return hit.copy\n }\n\n var copy = Array.isArray(obj) ? [] : {};\n // put the copy into cache at first\n // because we want to refer it in recursive deepCopy\n cache.push({\n original: obj,\n copy: copy\n });\n\n Object.keys(obj).forEach(function (key) {\n copy[key] = deepCopy(obj[key], cache);\n });\n\n return copy\n}\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nfunction partial (fn, arg) {\n return function () {\n return fn(arg)\n }\n}\n\nfunction genericSubscribe (fn, subs, options) {\n if (subs.indexOf(fn) < 0) {\n options && options.prepend\n ? subs.unshift(fn)\n : subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset state\n resetStoreState(store, state, hot);\n}\n\nfunction resetStoreState (store, state, hot) {\n var oldState = store._state;\n var oldScope = store._scope;\n\n // bind store public getters\n store.getters = {};\n // reset local getters cache\n store._makeLocalGettersCache = Object.create(null);\n var wrappedGetters = store._wrappedGetters;\n var computedObj = {};\n var computedCache = {};\n\n // create a new effect scope and create computed object inside it to avoid\n // getters (computed) getting destroyed on component unmount.\n var scope = effectScope(true);\n\n scope.run(function () {\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n // direct inline function use will lead to closure preserving oldState.\n // using partial to return function with only arguments preserved in closure environment.\n computedObj[key] = partial(fn, store);\n computedCache[key] = computed(function () { return computedObj[key](); });\n Object.defineProperty(store.getters, key, {\n get: function () { return computedCache[key].value; },\n enumerable: true // for local getters\n });\n });\n });\n\n store._state = reactive({\n data: state\n });\n\n // register the newly created effect scope to the store so that we can\n // dispose the effects when this method runs again in the future.\n store._scope = scope;\n\n // enable strict mode for new state\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldState) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldState.data = null;\n });\n }\n }\n\n // dispose previously registered effect scope if there is one.\n if (oldScope) {\n oldScope.stop();\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n if (store._modulesNamespaceMap[namespace] && (process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate namespace \" + namespace + \" for the namespaced module \" + (path.join('/'))));\n }\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n if ((process.env.NODE_ENV !== 'production')) {\n if (moduleName in parentState) {\n console.warn(\n (\"[vuex] state field \\\"\" + moduleName + \"\\\" was overridden by a module with the same name at \\\"\" + (path.join('.')) + \"\\\"\")\n );\n }\n }\n parentState[moduleName] = module.state;\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by state update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n if (!store._makeLocalGettersCache[namespace]) {\n var gettersProxy = {};\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n store._makeLocalGettersCache[namespace] = gettersProxy;\n }\n\n return store._makeLocalGettersCache[namespace]\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n watch(function () { return store._state.data; }, function () {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, flush: 'sync' });\n}\n\nfunction getNestedState (state, path) {\n return path.reduce(function (state, key) { return state[key]; }, state)\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof type === 'string', (\"expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nvar LABEL_VUEX_BINDINGS = 'vuex bindings';\nvar MUTATIONS_LAYER_ID = 'vuex:mutations';\nvar ACTIONS_LAYER_ID = 'vuex:actions';\nvar INSPECTOR_ID = 'vuex';\n\nvar actionId = 0;\n\nfunction addDevtools (app, store) {\n setupDevtoolsPlugin(\n {\n id: 'org.vuejs.vuex',\n app: app,\n label: 'Vuex',\n homepage: 'https://next.vuex.vuejs.org/',\n logo: 'https://vuejs.org/images/icons/favicon-96x96.png',\n packageName: 'vuex',\n componentStateTypes: [LABEL_VUEX_BINDINGS]\n },\n function (api) {\n api.addTimelineLayer({\n id: MUTATIONS_LAYER_ID,\n label: 'Vuex Mutations',\n color: COLOR_LIME_500\n });\n\n api.addTimelineLayer({\n id: ACTIONS_LAYER_ID,\n label: 'Vuex Actions',\n color: COLOR_LIME_500\n });\n\n api.addInspector({\n id: INSPECTOR_ID,\n label: 'Vuex',\n icon: 'storage',\n treeFilterPlaceholder: 'Filter stores...'\n });\n\n api.on.getInspectorTree(function (payload) {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n if (payload.filter) {\n var nodes = [];\n flattenStoreForInspectorTree(nodes, store._modules.root, payload.filter, '');\n payload.rootNodes = nodes;\n } else {\n payload.rootNodes = [\n formatStoreForInspectorTree(store._modules.root, '')\n ];\n }\n }\n });\n\n api.on.getInspectorState(function (payload) {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n var modulePath = payload.nodeId;\n makeLocalGetters(store, modulePath);\n payload.state = formatStoreForInspectorState(\n getStoreModule(store._modules, modulePath),\n modulePath === 'root' ? store.getters : store._makeLocalGettersCache,\n modulePath\n );\n }\n });\n\n api.on.editInspectorState(function (payload) {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n var modulePath = payload.nodeId;\n var path = payload.path;\n if (modulePath !== 'root') {\n path = modulePath.split('/').filter(Boolean).concat( path);\n }\n store._withCommit(function () {\n payload.set(store._state.data, path, payload.state.value);\n });\n }\n });\n\n store.subscribe(function (mutation, state) {\n var data = {};\n\n if (mutation.payload) {\n data.payload = mutation.payload;\n }\n\n data.state = state;\n\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: Date.now(),\n title: mutation.type,\n data: data\n }\n });\n });\n\n store.subscribeAction({\n before: function (action, state) {\n var data = {};\n if (action.payload) {\n data.payload = action.payload;\n }\n action._id = actionId++;\n action._time = Date.now();\n data.state = state;\n\n api.addTimelineEvent({\n layerId: ACTIONS_LAYER_ID,\n event: {\n time: action._time,\n title: action.type,\n groupId: action._id,\n subtitle: 'start',\n data: data\n }\n });\n },\n after: function (action, state) {\n var data = {};\n var duration = Date.now() - action._time;\n data.duration = {\n _custom: {\n type: 'duration',\n display: (duration + \"ms\"),\n tooltip: 'Action duration',\n value: duration\n }\n };\n if (action.payload) {\n data.payload = action.payload;\n }\n data.state = state;\n\n api.addTimelineEvent({\n layerId: ACTIONS_LAYER_ID,\n event: {\n time: Date.now(),\n title: action.type,\n groupId: action._id,\n subtitle: 'end',\n data: data\n }\n });\n }\n });\n }\n );\n}\n\n// extracted from tailwind palette\nvar COLOR_LIME_500 = 0x84cc16;\nvar COLOR_DARK = 0x666666;\nvar COLOR_WHITE = 0xffffff;\n\nvar TAG_NAMESPACED = {\n label: 'namespaced',\n textColor: COLOR_WHITE,\n backgroundColor: COLOR_DARK\n};\n\n/**\n * @param {string} path\n */\nfunction extractNameFromPath (path) {\n return path && path !== 'root' ? path.split('/').slice(-2, -1)[0] : 'Root'\n}\n\n/**\n * @param {*} module\n * @return {import('@vue/devtools-api').CustomInspectorNode}\n */\nfunction formatStoreForInspectorTree (module, path) {\n return {\n id: path || 'root',\n // all modules end with a `/`, we want the last segment only\n // cart/ -> cart\n // nested/cart/ -> cart\n label: extractNameFromPath(path),\n tags: module.namespaced ? [TAG_NAMESPACED] : [],\n children: Object.keys(module._children).map(function (moduleName) { return formatStoreForInspectorTree(\n module._children[moduleName],\n path + moduleName + '/'\n ); }\n )\n }\n}\n\n/**\n * @param {import('@vue/devtools-api').CustomInspectorNode[]} result\n * @param {*} module\n * @param {string} filter\n * @param {string} path\n */\nfunction flattenStoreForInspectorTree (result, module, filter, path) {\n if (path.includes(filter)) {\n result.push({\n id: path || 'root',\n label: path.endsWith('/') ? path.slice(0, path.length - 1) : path || 'Root',\n tags: module.namespaced ? [TAG_NAMESPACED] : []\n });\n }\n Object.keys(module._children).forEach(function (moduleName) {\n flattenStoreForInspectorTree(result, module._children[moduleName], filter, path + moduleName + '/');\n });\n}\n\n/**\n * @param {*} module\n * @return {import('@vue/devtools-api').CustomInspectorState}\n */\nfunction formatStoreForInspectorState (module, getters, path) {\n getters = path === 'root' ? getters : getters[path];\n var gettersKeys = Object.keys(getters);\n var storeState = {\n state: Object.keys(module.state).map(function (key) { return ({\n key: key,\n editable: true,\n value: module.state[key]\n }); })\n };\n\n if (gettersKeys.length) {\n var tree = transformPathsToObjectTree(getters);\n storeState.getters = Object.keys(tree).map(function (key) { return ({\n key: key.endsWith('/') ? extractNameFromPath(key) : key,\n editable: false,\n value: canThrow(function () { return tree[key]; })\n }); });\n }\n\n return storeState\n}\n\nfunction transformPathsToObjectTree (getters) {\n var result = {};\n Object.keys(getters).forEach(function (key) {\n var path = key.split('/');\n if (path.length > 1) {\n var target = result;\n var leafKey = path.pop();\n path.forEach(function (p) {\n if (!target[p]) {\n target[p] = {\n _custom: {\n value: {},\n display: p,\n tooltip: 'Module',\n abstract: true\n }\n };\n }\n target = target[p]._custom.value;\n });\n target[leafKey] = canThrow(function () { return getters[key]; });\n } else {\n result[key] = canThrow(function () { return getters[key]; });\n }\n });\n return result\n}\n\nfunction getStoreModule (moduleMap, path) {\n var names = path.split('/').filter(function (n) { return n; });\n return names.reduce(\n function (module, moduleName, i) {\n var child = module[moduleName];\n if (!child) {\n throw new Error((\"Missing module \\\"\" + moduleName + \"\\\" for path \\\"\" + path + \"\\\".\"))\n }\n return i === names.length - 1 ? child : child._children\n },\n path === 'root' ? moduleMap : moduleMap.root._children\n )\n}\n\nfunction canThrow (cb) {\n try {\n return cb()\n } catch (e) {\n return e\n }\n}\n\n// Base data struct for store's module, package with some attribute and method\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n // Store some children item\n this._children = Object.create(null);\n // Store the origin module object which passed by programmer\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n\n // Store the origin module's state\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.hasChild = function hasChild (key) {\n return key in this._children\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n var child = parent.getChild(key);\n\n if (!child) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to unregister module '\" + key + \"', which is \" +\n \"not registered\"\n );\n }\n return\n }\n\n if (!child.runtime) {\n return\n }\n\n parent.removeChild(key);\n};\n\nModuleCollection.prototype.isRegistered = function isRegistered (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n\n if (parent) {\n return parent.hasChild(key)\n }\n\n return false\n};\n\nfunction update (path, targetModule, newModule) {\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nfunction createStore (options) {\n return new Store(options)\n}\n\nvar Store = function Store (options) {\n var this$1$1 = this;\n if ( options === void 0 ) options = {};\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n var devtools = options.devtools;\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._makeLocalGettersCache = Object.create(null);\n\n // EffectScope instance. when registering new getters, we wrap them inside\n // EffectScope so that getters (computed) would not be destroyed on\n // component unmount.\n this._scope = null;\n\n this._devtools = devtools;\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n var state = this._modules.root.state;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store state, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreState(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1$1); });\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nStore.prototype.install = function install (app, injectKey) {\n app.provide(injectKey || storeKey, this);\n app.config.globalProperties.$store = this;\n\n var useDevtools = this._devtools !== undefined\n ? this._devtools\n : (process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__;\n\n if (useDevtools) {\n addDevtools(app, this);\n }\n};\n\nprototypeAccessors.state.get = function () {\n return this._state.data\n};\n\nprototypeAccessors.state.set = function (v) {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(false, \"use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n\n this._subscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .forEach(function (sub) { return sub(mutation, this$1$1.state); });\n\n if (\n (process.env.NODE_ENV !== 'production') &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n try {\n this._actionSubscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .filter(function (sub) { return sub.before; })\n .forEach(function (sub) { return sub.before(action, this$1$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in before action subscribers: \");\n console.error(e);\n }\n }\n\n var result = entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload);\n\n return new Promise(function (resolve, reject) {\n result.then(function (res) {\n try {\n this$1$1._actionSubscribers\n .filter(function (sub) { return sub.after; })\n .forEach(function (sub) { return sub.after(action, this$1$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in after action subscribers: \");\n console.error(e);\n }\n }\n resolve(res);\n }, function (error) {\n try {\n this$1$1._actionSubscribers\n .filter(function (sub) { return sub.error; })\n .forEach(function (sub) { return sub.error(action, this$1$1.state, error); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in error action subscribers: \");\n console.error(e);\n }\n }\n reject(error);\n });\n })\n};\n\nStore.prototype.subscribe = function subscribe (fn, options) {\n return genericSubscribe(fn, this._subscribers, options)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn, options) {\n var subs = typeof fn === 'function' ? { before: fn } : fn;\n return genericSubscribe(subs, this._actionSubscribers, options)\n};\n\nStore.prototype.watch = function watch$1 (getter, cb, options) {\n var this$1$1 = this;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return watch(function () { return getter(this$1$1.state, this$1$1.getters); }, cb, Object.assign({}, options))\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1$1 = this;\n\n this._withCommit(function () {\n this$1$1._state.data = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreState(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1$1.state, path.slice(0, -1));\n delete parentState[path[path.length - 1]];\n });\n resetStore(this);\n};\n\nStore.prototype.hasModule = function hasModule (path) {\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n return this._modules.isRegistered(path)\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\n/**\n * Reduce the code which written in Vue.js for getting the state.\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.\n * @param {Object}\n */\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(states)) {\n console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for committing the mutation\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(mutations)) {\n console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // Get the commit method from store\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for getting the getters\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} getters\n * @return {Object}\n */\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(getters)) {\n console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n // The namespace has been mutated by normalizeNamespace\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if ((process.env.NODE_ENV !== 'production') && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for dispatch the action\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(actions)) {\n console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // get dispatch function from store\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object\n * @param {String} namespace\n * @return {Object}\n */\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\n/**\n * Normalize the map\n * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]\n * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]\n * @param {Array|Object} map\n * @return {Object}\n */\nfunction normalizeMap (map) {\n if (!isValidMap(map)) {\n return []\n }\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\n/**\n * Validate whether given map is valid or not\n * @param {*} map\n * @return {Boolean}\n */\nfunction isValidMap (map) {\n return Array.isArray(map) || isObject(map)\n}\n\n/**\n * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.\n * @param {Function} fn\n * @return {Function}\n */\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\n/**\n * Search a special module from store by namespace. if module not exist, print error message.\n * @param {Object} store\n * @param {String} helper\n * @param {String} namespace\n * @return {Object}\n */\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if ((process.env.NODE_ENV !== 'production') && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\n// Credits: borrowed code from fcomb/redux-logger\n\nfunction createLogger (ref) {\n if ( ref === void 0 ) ref = {};\n var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;\n var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };\n var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };\n var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };\n var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };\n var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };\n var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;\n var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;\n var logger = ref.logger; if ( logger === void 0 ) logger = console;\n\n return function (store) {\n var prevState = deepCopy(store.state);\n\n if (typeof logger === 'undefined') {\n return\n }\n\n if (logMutations) {\n store.subscribe(function (mutation, state) {\n var nextState = deepCopy(state);\n\n if (filter(mutation, prevState, nextState)) {\n var formattedTime = getFormattedTime();\n var formattedMutation = mutationTransformer(mutation);\n var message = \"mutation \" + (mutation.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));\n logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);\n logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));\n endMessage(logger);\n }\n\n prevState = nextState;\n });\n }\n\n if (logActions) {\n store.subscribeAction(function (action, state) {\n if (actionFilter(action, state)) {\n var formattedTime = getFormattedTime();\n var formattedAction = actionTransformer(action);\n var message = \"action \" + (action.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);\n endMessage(logger);\n }\n });\n }\n }\n}\n\nfunction startMessage (logger, message, collapsed) {\n var startMessage = collapsed\n ? logger.groupCollapsed\n : logger.group;\n\n // render\n try {\n startMessage.call(logger, message);\n } catch (e) {\n logger.log(message);\n }\n}\n\nfunction endMessage (logger) {\n try {\n logger.groupEnd();\n } catch (e) {\n logger.log('—— log end ——');\n }\n}\n\nfunction getFormattedTime () {\n var time = new Date();\n return (\" @ \" + (pad(time.getHours(), 2)) + \":\" + (pad(time.getMinutes(), 2)) + \":\" + (pad(time.getSeconds(), 2)) + \".\" + (pad(time.getMilliseconds(), 3)))\n}\n\nfunction repeat (str, times) {\n return (new Array(times + 1)).join(str)\n}\n\nfunction pad (num, maxLength) {\n return repeat('0', maxLength - num.toString().length) + num\n}\n\nvar index = {\n version: '4.1.0',\n Store: Store,\n storeKey: storeKey,\n createStore: createStore,\n useStore: useStore,\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers,\n createLogger: createLogger\n};\n\nexport default index;\nexport { Store, createLogger, createNamespacedHelpers, createStore, mapActions, mapGetters, mapMutations, mapState, storeKey, useStore };\n","import { getTarget, getDevtoolsGlobalHook, isProxyAvailable } from './env.js';\nimport { HOOK_SETUP } from './const.js';\nimport { ApiProxy } from './proxy.js';\nexport * from './api/index.js';\nexport * from './plugin.js';\nexport * from './time.js';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy)\n setupFn(proxy.proxiedTarget);\n }\n}\n","import { computed, onMounted, ref } from 'vue'\r\nimport { useStore } from 'vuex'\r\n\r\nexport default {\r\n name: 'CalculatorTable',\r\n props: {\r\n labels: {\r\n type: Object,\r\n required: true,\r\n },\r\n headers: {\r\n type: Array,\r\n required: false,\r\n default: [],\r\n },\r\n rows: {\r\n type: Array,\r\n required: false,\r\n default: [],\r\n },\r\n tooltip: {\r\n type: String,\r\n required: false,\r\n },\r\n collapse: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n title: {\r\n type: String,\r\n required: false,\r\n }\r\n },\r\n setup(props) {\r\n const store = useStore()\r\n const tableContainerRef = ref(null)\r\n const tableCollapsed = ref(false)\r\n const hiddensTableItemsShown = ref(false)\r\n const uniqueTableId = ref(Math.random().toString(36).substr(2, 9))\r\n\r\n const hiddenTableItems = computed(() => {\r\n if (props.rows.find((row) => row.hide)) {\r\n return true\r\n }\r\n\r\n return false\r\n })\r\n\r\n const toggleTable = function () {\r\n tableCollapsed.value = !tableCollapsed.value\r\n }\r\n\r\n const toggleHiddenRows = function () {\r\n hiddensTableItemsShown.value = !hiddensTableItemsShown.value\r\n }\r\n\r\n const showTooltip = function (title) {\r\n store.dispatch('modal/setModalContent', {\r\n modalTitle: title,\r\n style: ['small', 'white'],\r\n htmlContent: props.tooltip,\r\n })\r\n store.dispatch('modal/setOpen', { open: true })\r\n }\r\n\r\n const tableStylesHiddenRow = computed(() => hiddensTableItemsShown.value ? ' nyk-calculator-table--show-hidden-row' : '')\r\n const getTableItemStyles = (item) => item.styles ? 'nyk-table__container__table__body__row__item--' + item.styles : ''\r\n const getAccordionNameFromTable = () => props.rows[0]?.row[0]?.name\r\n const getAccordionValueFromTable = () => props.rows[0]?.row[1]?.name\r\n\r\n return {\r\n tableContainerRef,\r\n tableCollapsed,\r\n hiddenTableItems,\r\n hiddensTableItemsShown,\r\n toggleTable,\r\n toggleHiddenRows,\r\n showTooltip,\r\n tableStylesHiddenRow,\r\n getTableItemStyles,\r\n getAccordionNameFromTable,\r\n getAccordionValueFromTable,\r\n uniqueTableId\r\n }\r\n },\r\n}\r\n","import { render } from \"./CalculatorTable.vue?vue&type=template&id=fbaf4544\"\nimport script from \"./CalculatorTable.vue?vue&type=script&lang=js\"\nexport * from \"./CalculatorTable.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export const getTableHeaders = (data) => {\r\n const header = []\r\n\r\n if (data.value) return header\r\n\r\n if (data.tooltip) {\r\n // tooltip header\r\n header.push({\r\n name: `<h3>${data.title}</h3>`,\r\n scope: 'row',\r\n tooltip: data.tooltip,\r\n tooltipTitle: data.title,\r\n styles: 'tooltip',\r\n })\r\n } else {\r\n header.push({ name: `<h3>${data.title}</h3>`, scope: 'row' })\r\n }\r\n\r\n return header\r\n}\r\n\r\nexport const getTableRows = (data) => {\r\n const rows = []\r\n\r\n if (data.value) {\r\n rows.push({\r\n row: [{ name: data.title }, { name: data.value, styles: 'text-right' }],\r\n })\r\n }\r\n\r\n data.values.forEach((item) => {\r\n rows.push({\r\n hide: item.hide,\r\n row: [\r\n { name: item.key },\r\n {\r\n name: item.value,\r\n styles: 'text-right',\r\n },\r\n ],\r\n })\r\n })\r\n\r\n return rows\r\n}\r\n","import { onMounted, onUpdated, ref, watch } from \"vue\";\r\nimport CalculatorTable from \"../CalculatorTable/CalculatorTable.vue\";\r\nimport { getTableHeaders, getTableRows } from \"../../NewLoanCalculatorResult/mapTableData\";\r\n\r\n\r\nexport default {\r\n name: \"CalculatorCompareTable\",\r\n components: {\r\n CalculatorTable\r\n },\r\n props: {\r\n tables: {\r\n type: Array,\r\n required: true\r\n },\r\n labels: {\r\n type: Object,\r\n required: true\r\n }\r\n },\r\n setup(props) {\r\n const groupTables = ref([])\r\n\r\n const mapTableData = () => {\r\n // create a flat list of group with tables\r\n const array = []\r\n props.tables.forEach((grouptable, groupTableIndex) => {\r\n let compareIndex = 0\r\n \r\n grouptable.forEach((group) => {\r\n group.tables.forEach((table, tableIndex) => {\r\n array.push({\r\n title: group.title,\r\n showTitle: tableIndex === 0,\r\n compareIndex: compareIndex,\r\n table: {\r\n headers: getTableHeaders(table),\r\n tooltip: table.tooltip,\r\n rows: getTableRows(table),\r\n collapse: table.value ? true : false,\r\n column: groupTableIndex\r\n }\r\n })\r\n compareIndex++\r\n })\r\n })\r\n })\r\n return array\r\n }\r\n\r\n const filterDataBasedOnCompareIndex = (array) => {\r\n // filter each group and add to compareable tables as an array to the same group\r\n array.forEach((groupTable) => {\r\n if (groupTables.value[groupTable.compareIndex] === undefined) {\r\n groupTables.value[groupTable.compareIndex] = {compareIndex: groupTable.compareIndex, showTitle: groupTable.showTitle, titles: [groupTable.title], tables: [groupTable.table]}\r\n } else {\r\n groupTables.value[groupTable.compareIndex].tables.push(groupTable.table)\r\n groupTables.value[groupTable.compareIndex].titles.push(groupTable.title)\r\n }\r\n })\r\n }\r\n\r\n const matchTheTwoTables = (groupTable, table, tableIndex) => {\r\n const otherTable = groupTable.tables[tableIndex === 0 ? 1 : 0]\r\n if (otherTable) {\r\n\r\n table.rows.forEach((row, rowIndex) => { \r\n const rowName = row.row[0].name\r\n const rowExist = otherTable?.rows?.find((otherRow) => otherRow.row[0].name === rowName)\r\n\r\n if (!rowExist) {\r\n otherTable?.rows?.splice(rowIndex, 0, {row: [{name: rowName}, {name: '-', styles: 'text-right'}]})\r\n }\r\n })\r\n }\r\n }\r\n\r\n const tableDataAddMissingRows = () => {\r\n groupTables.value.forEach((groupTable) => {\r\n groupTable.tables.forEach((table, tableIndex) => {\r\n matchTheTwoTables(groupTable, table, tableIndex)\r\n })\r\n })\r\n }\r\n\r\n const markGroupsWithOnlyOneTable = (group, classname) => {\r\n if (group.tables.length === 1) {\r\n switch (group.tables[0].column) {\r\n case 0:\r\n return classname + '--first'\r\n case 1:\r\n return classname + '--last'\r\n default:\r\n return ''\r\n }\r\n }\r\n }\r\n\r\n const setTables = () => {\r\n const array = mapTableData()\r\n filterDataBasedOnCompareIndex(array)\r\n tableDataAddMissingRows()\r\n groupTables.value.sort((a, b) => a.compareIndex - b.compareIndex) \r\n }\r\n\r\n watch(() => props.tables, (newVal, oldVal) => {\r\n groupTables.value = []\r\n setTables()\r\n }, { deep: true })\r\n\r\n onMounted(() => {\r\n setTables()\r\n })\r\n\r\n\r\n return {\r\n groupTables,\r\n markGroupsWithOnlyOneTable\r\n }\r\n }\r\n}","import { render } from \"./CalculatorCompareTable.vue?vue&type=template&id=ed33e866\"\nimport script from \"./CalculatorCompareTable.vue?vue&type=script&lang=js\"\nexport * from \"./CalculatorCompareTable.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from './CalculatorInfoBox.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-calculator-info-box\">\r\n <h2 class=\"nyk-calculator-info-box__title\">{{ data.title }}</h2>\r\n <div class=\"nyk-calculator-info-box__description\" v-html=\"data.description\"></div>\r\n\r\n <a class=\"nyk-calculator-info-box__action\" v-if=\"data.link\">\r\n <span class=\"nyk-calculator-info-box__action-text\">{{ data.link.text }}</span>\r\n <div class=\"nyk-calculator-info-box__action-icon\">\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\">\r\n <path fill=\"#07094A\" d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </a>\r\n </article>\r\n</template>\r\n","export default {\r\n name: 'CalculatorInfoBox',\r\n props: {\r\n data: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n setup(props) {},\r\n}\r\n","import { render } from \"./CalculatorInfoBox.vue?vue&type=template&id=53aa4331\"\nimport script from \"./CalculatorInfoBox.vue?vue&type=script&lang=js\"\nexport * from \"./CalculatorInfoBox.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from './CalculatorJuraContent.options'\r\nexport default options\r\n</script>\r\n\r\n<template></template>\r\n","import { onMounted } from 'vue'\r\nimport { useStore } from 'vuex'\r\n\r\nexport default {\r\n name: 'CalculatorJuraContent',\r\n props: {\r\n juraModal: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n setup(props) {\r\n const store = useStore()\r\n\r\n // handle Jura modal\r\n onMounted(() => {\r\n store.dispatch('modal/setHashObject', {\r\n id: props.juraModal.anchorId,\r\n object: props.juraModal,\r\n })\r\n\r\n const hash = window.location.hash.replace('#', '')\r\n if (hash === props.juraModal.anchorId) {\r\n setTimeout(() => {\r\n store.dispatch('modal/setModalContent', {\r\n modalTitle: props.juraModal.title,\r\n htmlContent: props.juraModal.description,\r\n style: ['small-long', 'white'],\r\n })\r\n store.dispatch('modal/setOpen', { open: true })\r\n }, 50)\r\n }\r\n })\r\n },\r\n}\r\n","import { render } from \"./CalculatorJuraContent.vue?vue&type=template&id=b00b34da\"\nimport script from \"./CalculatorJuraContent.vue?vue&type=script&lang=js\"\nexport * from \"./CalculatorJuraContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","// should be build in the all future projects\r\nexport default function (component, componentDOM) {\r\n const props = {}\r\n\r\n if (!component.props) return\r\n Object.keys(component.props).forEach(function (componentKey) {\r\n const type = component.props[componentKey].type.name\r\n // const required = component.props[componentKey].required\r\n\r\n const data = componentDOM.dataset\r\n Object.keys(data).forEach(function (DOMComponentKey) {\r\n if (componentKey === DOMComponentKey) {\r\n // handleLabels from componentDOM\r\n props[componentKey] = getFormattedData(type, data[DOMComponentKey])\r\n }\r\n })\r\n })\r\n\r\n return props\r\n}\r\n\r\nconst getComponentLabelCollection = function (component, componentKey, data) {\r\n const formattedData = JSON.parse(data[componentKey])\r\n if (formattedData instanceof Array) {\r\n const currentCollection = formattedData.find((collection) => collection.collectionName === component.name)\r\n return currentCollection.labels\r\n }\r\n return formattedData.labels\r\n}\r\n\r\nconst getFormattedData = function (type, data) {\r\n switch (type) {\r\n case 'Object':\r\n return data ? JSON.parse(data) : {}\r\n case 'Array':\r\n return data ? JSON.parse(data) : []\r\n case 'Boolean':\r\n return data === 'true' ? true : false\r\n case 'Number':\r\n return parseFloat(data)\r\n default:\r\n return data\r\n }\r\n}\r\n","<script>\r\nimport options from './CalculatorSummary.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-calculator-summary\" :class=\"{ 'nyk-calculator-summary--simple': !hasGraph }\">\r\n <div class=\"nyk-calculator-summary__left\">\r\n <div class=\"nyk-calculator-summary__left-header\">\r\n <h2 class=\"nyk-calculator-summary__left-title\">{{ data.title }}</h2>\r\n <p class=\"nyk-calculator-summary__left-description\">{{ data.description }}</p>\r\n\r\n <button v-on:click=\"onCallback\" aria-haspopup=\"true\" v-if=\"hasHousingTypes\" class=\"nyk-button nyk-button--outline-primary\">\r\n {{ data.buttonLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div v-if=\"hasGraph\" class=\"nyk-calculator-summary__right\">\r\n <div class=\"nyk-calculator-summary__right-svg-container\">\r\n <svg role=\"presentation\" viewBox=\"0 0 36 36\" class=\"nyk-calculator-summary__svg\">\r\n <path\r\n v-on:click=\"showTooltip\"\r\n v-on:mouseenter=\"showTooltipMouseOver\"\r\n :data-tooltip-title=\"data.bankLoanLabel\"\r\n class=\"nyk-calculator-summary__svg-circle\"\r\n stroke-width=\"1.4\"\r\n stroke=\"#0F1E82\"\r\n stroke-dasharray=\"100, 100\"\r\n d=\"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831\" />\r\n <path\r\n v-on:click=\"showTooltip\"\r\n v-on:mouseenter=\"showTooltipMouseOver\"\r\n :data-tooltip-title=\"data.mortgageLoanLabel\"\r\n class=\"nyk-calculator-summary__svg-circle\"\r\n stroke-width=\"1.4\"\r\n stroke=\"#4192DC\"\r\n :stroke-dasharray=\"`${mortgageLoanProcents}, 100`\"\r\n d=\"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831\" />\r\n <path\r\n v-on:click=\"showTooltip\"\r\n v-on:mouseenter=\"showTooltipMouseOver\"\r\n :data-tooltip-title=\"data.cooperativeHousingLoanLabel\"\r\n class=\"nyk-calculator-summary__svg-circle\"\r\n stroke-width=\"1.4\"\r\n stroke=\"#4192DC\"\r\n :stroke-dasharray=\"`${cooperativeHousingLoanProcents}, 100`\"\r\n d=\"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831\" />\r\n </svg>\r\n\r\n <div class=\"nyk-calculator-summary__svg-text\">\r\n <dl>\r\n <dt class=\"nyk-calculator-summary__svg-text-label\">{{ data.totalMonthlyPaymentBeforeTax }}</dt>\r\n <dd class=\"nyk-calculator-summary__svg-text-value\">{{ data.totalMonthlyPaymentBeforeTaxValue }}</dd>\r\n <dt class=\"nyk-calculator-summary__svg-text-label\">{{ data.totalMonthlyPaymentAfterTax }}</dt>\r\n <dd class=\"nyk-calculator-summary__svg-text-value-small\">{{ data.totalMonthlyPaymentAfterTaxValue }}</dd>\r\n </dl>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div v-else>\r\n <dl class=\"nyk-calculator-summary__definiftion\">\r\n <div class=\"nyk-calculator-summary__definiftion-group\">\r\n <dt class=\"nyk-calculator-summary__definiftion-label\">{{ data.totalMonthlyPaymentBeforeTax }}</dt>\r\n <dd class=\"nyk-calculator-summary__definiftion-value\">\r\n {{ data.totalMonthlyPaymentBeforeTaxValue }}\r\n <span class=\"nyk-calculator-summary__definiftion-value-prefix\">{{ labels.currencyPrefix }}</span>\r\n </dd>\r\n </div>\r\n <div class=\"nyk-calculator-summary__definiftion-group\">\r\n <dt class=\"nyk-calculator-summary__definiftion-label\">{{ data.totalMonthlyPaymentAfterTax }}</dt>\r\n <dd class=\"nyk-calculator-summary__definiftion-value-small\">\r\n {{ data.totalMonthlyPaymentAfterTaxValue }}\r\n <span class=\"nyk-calculator-summary__definiftion-value-prefix\">{{ labels.currencyPrefix }}</span>\r\n </dd>\r\n </div>\r\n </dl>\r\n </div>\r\n </article>\r\n</template>\r\n","export default function (value) {\r\n if (value === null || value === undefined) return ''\r\n value = value.toString()\r\n value = value.replace(/[^0-9]/g, '') //remove all non-digit chars\r\n if (value != '') {\r\n value = Number(value).toString() //remove prepended zeros\r\n }\r\n value = value.replace(/\\B(?=(\\d{3})+(?!\\d))/g, '.') //insert thousand seperator.\r\n return value\r\n}\r\n","import { computed } from 'vue'\r\nimport applyThousandSeperator from '../../js/applyThousandSeperator'\r\n\r\nexport default {\r\n name: 'CalculatorSummary',\r\n props: {\r\n data: {\r\n type: Object,\r\n required: true,\r\n },\r\n labels: {\r\n type: Object,\r\n required: true,\r\n },\r\n hasGraph: {\r\n type: Boolean,\r\n required: false,\r\n default: true,\r\n },\r\n onCallback: {\r\n type: Function,\r\n required: true,\r\n default: () => {},\r\n },\r\n hasHousingTypes: {\r\n type: Boolean,\r\n required: false,\r\n default: true,\r\n },\r\n },\r\n setup(props) {\r\n const mortgageLoanProcents = computed(() => {\r\n const total = props.data.bankLoanValue + props.data.mortgageLoanValue\r\n const procent = (props.data.mortgageLoanValue / total) * 100\r\n return procent.toFixed(2)\r\n })\r\n\r\n const cooperativeHousingLoanProcents = computed(() => {\r\n const total = props.data.bankLoanValue + props.data.mortgageLoanValue + props.data.cooperativeHousingLoanValue\r\n const procent = (props.data.cooperativeHousingLoanValue / total) * 100\r\n return procent.toFixed(2)\r\n })\r\n\r\n const removeTooltip = () => {\r\n document.querySelectorAll('.nyk-calculator-summary__svg-tooltip').forEach((tooltip) => tooltip.remove())\r\n document.removeEventListener('click', removeTooltip, true)\r\n document.removeEventListener('mouseleave', removeTooltipMouseLeave, true)\r\n document.removeEventListener('mousemove', showTooltipMouseOver, true)\r\n }\r\n\r\n const removeTooltipMouseLeave = () => {\r\n document.querySelectorAll('.nyk-calculator-summary__svg-tooltip').forEach((tooltip) => tooltip.remove())\r\n document.removeEventListener('mouseleave', removeTooltipMouseLeave, true)\r\n document.removeEventListener('mousemove', showTooltipMouseOver, true)\r\n }\r\n\r\n const buildTooltip = (e) => {\r\n const tooltipTitle = e.target.dataset.tooltipTitle\r\n const color = e.target.getAttribute('stroke')\r\n\r\n const mousePos = {\r\n x: e.clientX,\r\n y: e.clientY,\r\n }\r\n\r\n // build tooltip\r\n const tooltip = document.createElement('div')\r\n // style tooltip\r\n tooltip.classList.add('nyk-calculator-summary__svg-tooltip')\r\n tooltip.style.backgroundColor = color\r\n tooltip.style.top = `${window.scrollY + mousePos.y - 6}px`\r\n tooltip.style.left = `${mousePos.x}px`\r\n\r\n tooltip.innerHTML = tooltipTitle\r\n\r\n // append tooltip to body\r\n document.body.appendChild(tooltip)\r\n }\r\n\r\n const showTooltip = (e) => {\r\n removeTooltip(e)\r\n buildTooltip(e)\r\n document.addEventListener('click', removeTooltip, true)\r\n }\r\n\r\n const showTooltipMouseOver = (e) => {\r\n removeTooltipMouseLeave(e)\r\n buildTooltip(e)\r\n document.addEventListener('mouseleave', removeTooltipMouseLeave, true)\r\n document.addEventListener('mousemove', showTooltipMouseOver, true)\r\n }\r\n\r\n return {\r\n mortgageLoanProcents,\r\n cooperativeHousingLoanProcents,\r\n applyThousandSeperator,\r\n showTooltip,\r\n showTooltipMouseOver,\r\n removeTooltip,\r\n }\r\n },\r\n}\r\n","import { render } from \"./CalculatorSummary.vue?vue&type=template&id=974a6d2c\"\nimport script from \"./CalculatorSummary.vue?vue&type=script&lang=js\"\nexport * from \"./CalculatorSummary.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from './FormGenericInput.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <div\r\n class=\"nyk-form nyk-form-generic-input nyk-js--form\"\r\n :class=\"`${isValidationError ? 'nyk-form--error' : ''}${prefix ? ' nyk-form--prefix' : ''}`\">\r\n <div class=\"nyk-form__content\">\r\n <input\r\n ref=\"inputRef\"\r\n :value=\"modelValue\"\r\n @input=\"$emit('update:modelValue', $event.target.value)\"\r\n :type=\"type\"\r\n class=\"nyk-form__content__input\"\r\n :autocomplete=\"autocomplete\"\r\n :id=\"inputName\"\r\n :name=\"inputName\"\r\n :aria-describedby=\"`${inputName}__desc`\"\r\n :aria-invalid=\"isValidationError\"\r\n :required=\"isRequired\"\r\n :aria-required=\"isRequired\" />\r\n <label class=\"nyk-form__content__label\" :for=\"inputName\">{{ label }}</label>\r\n <div class=\"nyk-form__content__prefix\" v-if=\"prefix\">{{ prefix }}</div>\r\n <button\r\n type=\"button\"\r\n @click=\"resetValue\"\r\n @touchstart=\"resetValue\"\r\n class=\"nyk-form__content__reset-icon nyk-form-js--reset\"\r\n :aria-label=\"resetAriaLabel\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n <div class=\"nyk-form__content__error-icon\">\r\n <span class=\"nyk-icon nyk-icon--ui-form-error\"></span>\r\n </div>\r\n </div>\r\n <div class=\"nyk-form__help-message\" aria-live=\"polite\">{{ helpMessageLabel }}</div>\r\n <span class=\"nyk-form__error-message\" aria-live=\"polite\">{{ errorMessageLabel }}</span>\r\n </div>\r\n</template>\r\n","export default function (formLink, isValid, localValue, onChangeCallback) {\r\n return formLink\r\n ? formLink.bind(props.inputName, localValue.value, isValid.value)\r\n : onChangeCallback\r\n}\r\n","/**\r\n * @param {string} formInputName - the component name of the form input Input\r\n * @param {Object} customConfig - custom config for form inputs\r\n * @param {Function} customConfigvalidatorFunction - custom validator function, will be used if there is no validator handed down from props\r\n */\r\n\r\nimport { ref, computed, defineEmits } from 'vue'\r\n\r\nimport formInputFormBinder from './formInputFormBinder'\r\n\r\nconst autoSelectFirstRadio = function (props) {\r\n return props.radioOptions ? Object.values(props.radioOptions)[0].value : null\r\n}\r\n\r\nexport default function (formInputName, customConfig) {\r\n return {\r\n name: formInputName,\r\n props: {\r\n prefix: {\r\n type: String,\r\n required: false,\r\n },\r\n autocomplete: {\r\n type: String,\r\n default: 'off',\r\n },\r\n modelValue: {\r\n type: [String, Number, Boolean],\r\n required: false,\r\n },\r\n inputName: {\r\n type: String,\r\n required: true,\r\n },\r\n legend: {\r\n type: String,\r\n required: false,\r\n },\r\n isRequired: {\r\n type: Boolean,\r\n required: false,\r\n },\r\n label: {\r\n type: String,\r\n required: true,\r\n },\r\n placeholder: {\r\n type: String,\r\n required: false,\r\n },\r\n isValidationError: {\r\n // this props works via\r\n // forms will use this Input to notify the Input to show its possible errors\r\n type: Boolean,\r\n required: false,\r\n default: null,\r\n },\r\n isValid: {\r\n // this props works via\r\n // forms will use this Input to notify the Input to show validated input styles\r\n type: Boolean,\r\n required: false,\r\n default: null,\r\n },\r\n errorMessageLabel: {\r\n type: String,\r\n required: false,\r\n },\r\n helpMessageLabel: {\r\n type: String,\r\n required: false,\r\n },\r\n type: {\r\n type: String,\r\n required: false,\r\n default: 'text',\r\n },\r\n maxlength: {\r\n type: Number,\r\n required: false,\r\n },\r\n onChangeCallback: {\r\n type: Function,\r\n required: false,\r\n default: () => {},\r\n },\r\n formLink: {\r\n type: Function,\r\n required: false,\r\n default: null,\r\n },\r\n validatorFunction: {\r\n type: Function,\r\n required: false,\r\n default: null,\r\n },\r\n radioOptions: {\r\n type: Object,\r\n required: false,\r\n },\r\n checkboxes: {\r\n type: Array,\r\n required: false,\r\n },\r\n selectOptions: {\r\n type: Object,\r\n required: false,\r\n },\r\n disabled: {\r\n type: Boolean,\r\n required: false,\r\n },\r\n resetAriaLabel: {\r\n type: String,\r\n required: false,\r\n default: 'Reset',\r\n },\r\n },\r\n setup(props, { emit }) {\r\n const inputRef = ref(null)\r\n const localValue = ref(props.modelValue ?? autoSelectFirstRadio(props) ?? '')\r\n // generel validation functinality\r\n // Webshop handles Input validation in the form logic, and sends results via props.isValidationErro\r\n // Other forms like SFL forms uses the props.isValidationError to signal the Input to show any errors.\r\n const inputHasValidationErrors = computed(() =>\r\n // multiple ways of getting a validation of the input\r\n // 1 - external form validates the input = result is in props.isValidationError\r\n // 2 - recieved external validatorFunction via props = validate using that function\r\n // 3 - has internal function recived in commonConfig = validate use that function\r\n // If none of the above, just validation is cut short and passes with true\r\n props.isValidationError !== null\r\n ? props.isValidationError\r\n : props.validatorFunction\r\n ? props.validatorFunction(localValue.value)\r\n : typeof customConfig.validatorFunction === 'function'\r\n ? customConfig.validatorFunction(localValue.value)\r\n : true\r\n )\r\n\r\n const formLink = formInputFormBinder(props.formLink, inputHasValidationErrors, localValue, props.onChangeCallback)\r\n\r\n const resetValue = () => {\r\n emit('update:modelValue', '')\r\n setTimeout(() => inputRef.value.focus(), 120)\r\n }\r\n\r\n return {\r\n formLink,\r\n inputHasValidationErrors,\r\n localValue,\r\n inputRef,\r\n resetValue,\r\n }\r\n },\r\n }\r\n}\r\n","import formInputCommonOptions from '../../../../../../../Frontend/src/foundation/js/utils/forms/formInputCommonOptions.js'\r\n\r\nconst options = formInputCommonOptions('FormInputGeneric', {\r\n validatorFunction(input) {\r\n return !!(input.length > 1)\r\n },\r\n})\r\n\r\nexport default options\r\n","import { render } from \"./FormGenericInput.vue?vue&type=template&id=781f7766\"\nimport script from \"./FormGenericInput.vue?vue&type=script&lang=js\"\nexport * from \"./FormGenericInput.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from './FormRadioGroupInput.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <fieldset class=\"nyk-form nyk-js--form nyk-form-choice nyk-form--calculator\">\r\n <legend class=\"nyk-form-choice__label\" id=\"calc-radio-group\">{{ label }}</legend>\r\n <div class=\"nyk-form-choice__content\" role=\"radiogroup\" aria-labelledby=\"calc-radio-group\">\r\n <!-- Loop -->\r\n <template v-for=\"(option, index) in radioOptions\" :key=\"index\">\r\n <div class=\"nyk-form-choice__content__item nyk-js--choice-wrapper\">\r\n <div class=\"nyk-form-choice__content__item__choice\">\r\n <input\r\n class=\"nyk-form-choice__content__item__choice__input\"\r\n type=\"radio\"\r\n :value=\"option.value\"\r\n v-model=\"localValue\"\r\n :name=\"inputName\"\r\n :aria-checked=\"option.checked\"\r\n :checked=\"option.checked\"\r\n :autocomplete=\"autocomplete\"\r\n :id=\"`${inputName}-${index}`\" />\r\n <div class=\"nyk-form-choice__content__item__choice__circle\">\r\n <div class=\"nyk-form-choice__content__item__choice__circle__outer\"></div>\r\n <div class=\"nyk-form-choice__content__item__choice__circle__inner\"></div>\r\n </div>\r\n </div>\r\n <label class=\"nyk-form-choice__content__item__label\" :for=\"`${inputName}-${index}`\">{{ option.label }}</label>\r\n </div>\r\n </template>\r\n </div>\r\n\r\n <span class=\"nyk-form-choice__help-message\" v-if=\"helpMessageLabel\" aria-live=\"polite\">{{ helpMessageLabel }}</span>\r\n <span class=\"nyk-form-choice__error-message\" v-if=\"inputHasValidationErrors && isValidationError\" aria-live=\"polite\">{{\r\n errorMessageLabel\r\n }}</span>\r\n </fieldset>\r\n</template>\r\n","import formInputCommonOptions from '../../../../../../../Frontend/src/foundation/js/utils/forms/formInputCommonOptions.js'\r\n\r\nconst options = formInputCommonOptions('FormRadioGroupInput', {\r\n validatorFunction(input) {\r\n return input\r\n },\r\n})\r\n\r\nexport default options\r\n","import { render } from \"./FormRadioGroupInput.vue?vue&type=template&id=3550f17a\"\nimport script from \"./FormRadioGroupInput.vue?vue&type=script&lang=js\"\nexport * from \"./FormRadioGroupInput.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from './Modal.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <dialog class=\"nyk-modal\" :class=\"getModalStyles\" ref=\"modalElementRef\" aria-labelledby=\"dialog-title\">\r\n <div class=\"nyk-modal__wrapper\">\r\n <div class=\"nyk-modal__body\">\r\n <div class=\"nyk-modal__body__header\">\r\n <h2 id=\"dialog-title\" class=\"nyk-modal__body__title\" >{{ modalTitle }}</h2>\r\n \r\n <h3 class=\"nyk-modal__body__subtitle\" v-if=\"modalSubTitle\">{{ modalSubTitle }}</h3>\r\n\r\n <button\r\n @click=\"closeModal\"\r\n autofocus\r\n class=\"nyk-modal__body__close\"\r\n :aria-describedby=\"`${modalTitle}_title`\"\r\n :aria-label=\"componentProps?.labels?.modalCloseAriaLabel ?? 'Luk Modal'\">\r\n <svg role=\"presentation\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M17.5588 7.50011L7.49816 17.5608L6.4375 16.5001L16.4982 6.43945L17.5588 7.50011Z\"\r\n fill=\"#07094A\" />\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M7.49816 6.43945L17.5588 16.5001L16.4982 17.5608L6.4375 7.50011L7.49816 6.43945Z\"\r\n fill=\"#07094A\" />\r\n </svg>\r\n </button>\r\n </div>\r\n\r\n <div v-if=\"componentName\" class=\"nyk-modal__body__content\">\r\n <component :is=\"componentName\" v-bind=\"componentProps\"></component>\r\n </div>\r\n\r\n <div v-if=\"htmlContent && !componentName\" class=\"nyk-modal__body__content\" v-html=\"htmlContent\"></div>\r\n </div>\r\n\r\n <div v-if=\"isLoading\" class=\"nyk-loader\">\r\n <div class=\"nyk-loader__content\">\r\n <div class=\"nyk-loader__content__circle\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </dialog>\r\n</template>\r\n","export default function (event, dialogElement) {\r\n const focusableElements = getFocusableElements(dialogElement)\r\n const firstElement = focusableElements[0]\r\n const lastElement = focusableElements[focusableElements.length - 1]\r\n\r\n if (event.key === 'Tab') {\r\n if (event.shiftKey) {\r\n // If Shift + Tab is pressed and focus is on the first element\r\n if (document.activeElement === firstElement) {\r\n event.preventDefault()\r\n lastElement.focus() // Focus on the last element\r\n }\r\n } else {\r\n // If Tab is pressed and focus is on the last element\r\n if (document.activeElement === lastElement) {\r\n event.preventDefault()\r\n firstElement.focus() // Focus on the first element\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Function to check if an element is visible and focusable\r\nfunction isElementFocusable(el) {\r\n const isFocusable = focusableElementsTypes.includes(el.tagName.toLowerCase())\r\n\r\n // Check if the element is focusable by size, disabled state, and visibility\r\n const isVisible = el.offsetWidth > 0 && el.offsetHeight > 0 && el.checkVisibility()\r\n const isNotDisabled = !el.disabled\r\n\r\n return isFocusable && isVisible && isNotDisabled\r\n}\r\n\r\n// Function to get focusable elements by traversing the DOM\r\nfunction getFocusableElements(container) {\r\n const focusableElements = []\r\n\r\n function traverse(element) {\r\n if (isElementFocusable(element)) {\r\n focusableElements.push(element)\r\n }\r\n\r\n // Traverse the children recursively\r\n for (let child of element.children) {\r\n traverse(child)\r\n }\r\n }\r\n\r\n // Start traversal from the container\r\n traverse(container)\r\n return focusableElements\r\n}\r\n\r\nconst focusableElementsTypes = ['a', 'summary', 'button', 'input', 'select', 'textarea']\r\n","<script>\r\n import options from './SwitchLoanTypeContent.options'\r\n export default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-switch-loan-type-content\">\r\n <ul class=\"nyk-switch-loan-type-content__list\">\r\n <li class=\"nyk-switch-loan-type-content__list-item\" v-for=\"(loan, index) in currentHousingType\" :key=\"index\">\r\n <h3 class=\"nyk-switch-loan-type-content__list-item-title\">\r\n {{ loan.title }}\r\n <span v-if=\"loan.type === selectedLoanType\" class=\"nyk-switch-loan-type-content__list-item-pill\">\r\n {{\r\n labels.selectedLoanTypeLabel\r\n }}\r\n </span>\r\n </h3>\r\n <p class=\"nyk-switch-loan-type-content__list-item-description\">{{ loan.description }}</p>\r\n <ul class=\"nyk-switch-loan-type-content__list-item-bullets\">\r\n <li class=\"nyk-switch-loan-type-content__list-item-bullets-item\"\r\n v-for=\"(bullet, bulletsIndex) in loan.bullets\"\r\n :key=\"bulletsIndex\">\r\n <span>{{ bullet.key }}</span>\r\n <span>{{ bullet.value }}</span>\r\n </li>\r\n </ul>\r\n\r\n <button v-if=\"loan.type !== selectedLoanType\"\r\n v-on:click=\"changeLoanType(loan.type)\"\r\n class=\"nyk-switch-loan-type-content__list-item-action\"\r\n :aria-label=\"`${labels.loanTypeButtonLabel}: ${loan.title}`\">\r\n {{ labels.loanTypeButtonLabel }}\r\n <div class=\"nyk-switch-loan-type-content__list-item-action-button nyk-button nyk-button--link-circle-arrow right\">\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\">\r\n <path fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </button>\r\n </li>\r\n </ul>\r\n </article>\r\n</template>","import { computed, ref } from 'vue'\r\n\r\nexport default {\r\n name: 'SwitchLoanTypeContent',\r\n props: {\r\n currentHousingType: {\r\n type: Array,\r\n required: true,\r\n default: [],\r\n },\r\n labels: {\r\n type: Object,\r\n required: true,\r\n },\r\n selectedLoanType: {\r\n type: String,\r\n required: true,\r\n default: '',\r\n },\r\n index: {\r\n type: Number,\r\n required: true,\r\n default: 0,\r\n },\r\n onCallback: {\r\n type: Function,\r\n required: true,\r\n default: () => {},\r\n },\r\n },\r\n setup(props) {\r\n const changeLoanType = (loanType) => {\r\n if (props.onCallback) {\r\n props.onCallback(loanType, props.index)\r\n }\r\n }\r\n\r\n return {\r\n changeLoanType,\r\n }\r\n },\r\n}\r\n","import { render } from \"./SwitchLoanTypeContent.vue?vue&type=template&id=230ffbb2\"\nimport script from \"./SwitchLoanTypeContent.vue?vue&type=script&lang=js\"\nexport * from \"./SwitchLoanTypeContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from './AdjustLoanContent.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-adjust-loan-content\">\r\n <div></div>\r\n <div class=\"nyk-adjust-loan-content__inputs\">\r\n <NewLoanCalculatorInputs\r\n :labels=\"labels\"\r\n :housingTypes=\"housingTypes\"\r\n :initData=\"initData\"\r\n :displayErrors=\"displayErrors\"\r\n :onChangeCallback=\"onChangeCallback\"\r\n :showHousingTypes=\"showHousingTypes\" />\r\n\r\n <div class=\"nyk-adjust-loan-content__inputs-wrapper\">\r\n <fieldset class=\"nyk-adjust-loan-content__inputs-group\" v-if=\"loanType?.hasMortgageLoan\">\r\n <legend class=\"nyk-adjust-loan-content__inputs-group-title\">{{ labels.adjustLoanAdjustRealCreditLoanLabel }}</legend>\r\n\r\n <div v-if=\"loanType?.hasMortInterestOnlyLoan\" class=\"nyk-form-range\">\r\n <label for=\"mortInterestOnlyLoan\" class=\"nyk-form-range__label\">\r\n {{ labels.interestOnlyPeriodLabel }}\r\n <span>{{ mortgageLoanInterestOnlyLength }} {{ labels.yearUnitLabel }}</span>\r\n </label>\r\n <input\r\n id=\"mortInterestOnlyLoan\"\r\n class=\"nyk-form-range__input\"\r\n v-model=\"mortgageLoanInterestOnlyLength\"\r\n type=\"range\"\r\n :min=\"loanType.mortgageLoanInterestOnlyLengthMinValue\"\r\n :max=\"loanType.mortgageLoanInterestOnlyLengthMaxValue\" />\r\n </div>\r\n\r\n <div class=\"nyk-form-range\">\r\n <label for=\"mortgageLoanTenureLength\" class=\"nyk-form-range__label\">\r\n {{ labels.durationLabel }} <span>{{ mortgageLoanTenureLength }} {{ labels.yearUnitLabel }}</span>\r\n </label>\r\n <input\r\n id=\"mortgageLoanTenureLength\"\r\n class=\"nyk-form-range__input\"\r\n v-model=\"mortgageLoanTenureLength\"\r\n type=\"range\"\r\n :min=\"loanType.mortgageLoanTenureLengthMinValue\"\r\n :max=\"loanType.mortgageLoanTenureLengthMaxValue\" />\r\n </div>\r\n </fieldset>\r\n\r\n <fieldset class=\"nyk-adjust-loan-content__inputs-group\" v-if=\"loanType?.hasBankLoan\">\r\n <legend class=\"nyk-adjust-loan-content__inputs-group-title\">{{ labels.adjustLoanAdjustBankLoanLabel }}</legend>\r\n <div class=\"nyk-form-range\">\r\n <label for=\"bankLoanTenureLength\" class=\"nyk-form-range__label\">\r\n {{ labels.durationLabel }} <span>{{ bankLoanTenureLength }} {{ labels.yearUnitLabel }}</span>\r\n </label>\r\n <input\r\n id=\"bankLoanTenureLength\"\r\n class=\"nyk-form-range__input\"\r\n v-model=\"bankLoanTenureLength\"\r\n type=\"range\"\r\n :min=\"loanType.bankLoanTenureLengthMinValue\"\r\n :max=\"loanType.bankLoanTenureLengthMaxValue\" />\r\n </div>\r\n </fieldset>\r\n </div>\r\n </div>\r\n <div class=\"nyk-adjust-loan-content__action\">\r\n <button class=\"nyk-button nyk-button--filled-primary\" v-on:click=\"submit\">{{ labels.adjustLoanModalButtonLabel }}</button>\r\n </div>\r\n </article>\r\n</template>\r\n","<script>\r\nimport options from './NewLoanCalculatorInputs.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-loan-calculator-inputs\">\r\n <FormRadioGroupInput\r\n v-if=\"showHousingTypes\"\r\n :label=\"labels.housingTypeTitle\"\r\n v-model=\"housingType\"\r\n inputName=\"housingTypes\"\r\n :radioOptions=\"radioOptions\"\r\n :helpMessage=\"labels.housingTypeHelpMessage\"\r\n errorMessage=\"\"\r\n v-on:change=\"setHousingTypes\" />\r\n\r\n <FormGenericInput\r\n type=\"text\"\r\n inputName=\"housePrice\"\r\n v-model=\"housePrice\"\r\n :modelValue=\"housePrice\"\r\n :isRequired=\"true\"\r\n :isValidationError=\"displayErrors && !housePriceValidation()\"\r\n :isValid=\"housePriceValidation()\"\r\n :label=\"labels.housePriceLabel\"\r\n :helpMessageLabel=\"labels.housePriceHelpMessage\"\r\n :errorMessageLabel=\"housePriceErrormMessage\"\r\n inputmode=\"numeric\"\r\n :resetAriaLabel=\"labels.inputResetAriaLabel\"\r\n :prefix=\"labels.currencyPrefix\"\r\n v-on:input=\"setHousePrice\" />\r\n\r\n <FormGenericInput\r\n type=\"text\"\r\n inputName=\"ownPayment\"\r\n v-model=\"ownPayment\"\r\n :modelValue=\"ownPayment\"\r\n :label=\"labels.ownPaymentLabel\"\r\n :isRequired=\"true\"\r\n :isValidationError=\"displayErrors && !ownPaymentValidation()\"\r\n :isValid=\"ownPaymentValidation()\"\r\n :helpMessageLabel=\"labels.firstNameHelpText\"\r\n :errorMessageLabel=\"dynamicOwnPaymentErrorMessage\"\r\n :resetAriaLabel=\"labels.inputResetAriaLabel\"\r\n :prefix=\"labels.currencyPrefix\"\r\n inputmode=\"numeric\"\r\n v-on:input=\"setOwnPayment\" />\r\n </article>\r\n</template>\r\n","export default function (value) {\r\n return value.toString().replaceAll('.', '')\r\n}\r\n","import FormRadioGroupInput from '../FormRadioGroupInput/FormRadioGroupInput.vue'\r\nimport FormGenericInput from '../FormGenericInput/FormGenericInput.vue'\r\nimport { computed, onMounted, onUpdated, ref, watch } from 'vue'\r\nimport reverseThousandCommaSeparation from '../../js/reverseThousandCommaSeparation'\r\nimport applyThousandSeperator from '../../js/applyThousandSeperator'\r\n\r\nexport default {\r\n name: 'LoanCalculatorInputs',\r\n components: {\r\n FormRadioGroupInput,\r\n FormGenericInput,\r\n },\r\n props: {\r\n labels: {\r\n type: Object,\r\n required: true,\r\n },\r\n housingTypes: {\r\n type: Array,\r\n required: true,\r\n },\r\n initData: {\r\n type: Object,\r\n required: false,\r\n },\r\n onChangeCallback: {\r\n type: Function,\r\n required: true,\r\n },\r\n displayErrors: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n showHousingTypes: {\r\n type: Boolean,\r\n required: false,\r\n default: true,\r\n },\r\n },\r\n setup(props) {\r\n const housePrice = ref(props.initData?.housePrice > 0 ? props.initData?.housePrice : '')\r\n const housePriceRaw = ref(props.initData?.housePrice ?? '')\r\n const ownPayment = ref(props.initData?.ownPayment > 0 ? props.initData?.ownPayment : '')\r\n const ownPaymentRaw = ref(props.initData?.ownPayment ?? '')\r\n const housingType = ref(props.initData?.housingType ?? '')\r\n const radioOptions = ref([])\r\n\r\n // error labels\r\n const housePriceErrormMessage = computed(() => {\r\n const housePriceInt = housePriceRaw.value !== '' ? parseFloat(housePriceRaw.value) : 0\r\n const ownPaymentInt = ownPaymentRaw.value !== '' ? parseFloat(ownPaymentRaw.value) : 0\r\n const priceDiff = housePriceInt - ownPaymentInt\r\n\r\n if ((priceDiff < minLoanAmount.value && housePriceInt > ownPaymentInt) || housePriceInt === 0) {\r\n return minLoanAmountErrorText.value\r\n }\r\n\r\n if (priceDiff > maxLoanAmount.value) {\r\n return maxLoanAmountErrorText.value\r\n }\r\n\r\n return ''\r\n })\r\n\r\n const dynamicOwnPaymentErrorMessage = computed(() => {\r\n const housePriceInt = housePriceRaw.value !== '' ? parseFloat(housePriceRaw.value) : 0\r\n const ownPaymentInt = ownPaymentRaw.value !== '' ? parseFloat(ownPaymentRaw.value) : 0\r\n\r\n if ((ownPaymentInt >= housePriceInt) & (ownPaymentInt > 0)) {\r\n return ownPaymentToHighErrorMessage.value\r\n }\r\n\r\n if (ownPaymentInt < minOwnPaymentAmount.value) {\r\n return ownPaymentErrorMessage.value.replace('{minDownPayment}', minOwnPaymentAmount.value)\r\n }\r\n\r\n return ''\r\n })\r\n\r\n const setRadioOptions = () => {\r\n const initHousingType = props.initData?.housingType\r\n\r\n props.housingTypes.forEach((item) => {\r\n const isSelected = initHousingType && initHousingType === item.keyName ? true : item.selected\r\n\r\n if (isSelected) {\r\n housingType.value = item.keyName\r\n }\r\n\r\n radioOptions.value.push({\r\n label: item.label,\r\n id: item.keyName,\r\n value: item.keyName,\r\n checked: isSelected,\r\n })\r\n })\r\n }\r\n\r\n // set radio options and handle init input formatting\r\n onMounted(() => {\r\n setRadioOptions()\r\n housePrice.value = formatInput(housePrice.value)\r\n ownPayment.value = formatInput(ownPayment.value)\r\n })\r\n\r\n // handle callback data\r\n onUpdated(() => {\r\n radioOptions.value.find((item) => {\r\n if (item.value === housingType.value) {\r\n item.checked = true\r\n } else {\r\n item.checked = false\r\n }\r\n })\r\n\r\n if (props.onChangeCallback) {\r\n props.onChangeCallback({\r\n housePrice: housePriceRaw.value,\r\n ownPayment: ownPaymentRaw.value,\r\n housingType: housingType.value,\r\n defaultBankLoanTenureLength: defaultBankLoanTenureLength.value,\r\n defaultMortgageLoanTenureLength: defaultMortgageLoanTenureLength.value,\r\n defaultMortgageLoanInterestOnlyLength: defaultMortgageLoanInterestOnlyLength.value,\r\n formValid: ownPaymentValidation() && housePriceValidation(),\r\n })\r\n }\r\n })\r\n\r\n // format input\r\n const formatInput = (value) => applyThousandSeperator(reverseThousandCommaSeparation(value))\r\n\r\n // get Current House Type Object\r\n const getCurrentHouseTypeObject = () => {\r\n if (housingType.value) {\r\n return props.housingTypes.find((x) => x.keyName === housingType.value)\r\n } else {\r\n return props.housingTypes.find((x) => x.selected)\r\n }\r\n }\r\n\r\n // get all selected object values\r\n const downPaymentProcent = computed(() => getCurrentHouseTypeObject()?.downPaymentProcent)\r\n const minLoanAmount = computed(() => getCurrentHouseTypeObject()?.minLoanAmount)\r\n const maxLoanAmount = computed(() => getCurrentHouseTypeObject()?.maxLoanAmount)\r\n const minOwnPaymentAmount = computed(() => (housePriceRaw.value * (downPaymentProcent.value / 100)).toFixed(0))\r\n const maxLoanAmountErrorText = computed(() => getCurrentHouseTypeObject()?.maxLoanAmountErrorText ?? '')\r\n const minLoanAmountErrorText = computed(() => getCurrentHouseTypeObject()?.minLoanAmountErrorText ?? '')\r\n const ownPaymentToHighErrorMessage = computed(() => getCurrentHouseTypeObject()?.ownPaymentToHighErrorMessage ?? '')\r\n const ownPaymentErrorMessage = computed(() => getCurrentHouseTypeObject()?.ownPaymentErrorMessage ?? '')\r\n const defaultBankLoanTenureLength = computed(() => getCurrentHouseTypeObject()?.defaultBankLoanTenureLength ?? 0)\r\n const defaultMortgageLoanTenureLength = computed(() => getCurrentHouseTypeObject()?.defaultMortgageLoanTenureLength ?? 0)\r\n const defaultMortgageLoanInterestOnlyLength = computed(\r\n () => getCurrentHouseTypeObject()?.defaultMortgageLoanInterestOnlyLength ?? 0\r\n )\r\n\r\n // handle input changes\r\n const checkAndSetInputValue = (value) => {\r\n let res = value\r\n if (!/^\\d*$/.test(value)) {\r\n res = value.replace(/\\D/g, '')\r\n }\r\n return res\r\n }\r\n\r\n watch(housePrice, (value) => {\r\n if (value === '') {\r\n housePriceRaw.value = reverseThousandCommaSeparation(value)\r\n housePrice.value = formatInput(value)\r\n }\r\n })\r\n\r\n watch(ownPayment, (value) => {\r\n if (value === '') {\r\n ownPaymentRaw.value = reverseThousandCommaSeparation(value)\r\n ownPayment.value = formatInput(value)\r\n }\r\n })\r\n\r\n const setHousePrice = (e) => {\r\n const cursorPosition = e.target.selectionStart\r\n const valueLength = e.target.value.length\r\n\r\n let value = e.target?.value ?? 0\r\n value = checkAndSetInputValue(value)\r\n housePriceRaw.value = reverseThousandCommaSeparation(value)\r\n housePrice.value = formatInput(value)\r\n\r\n // pre-fill ownPayment\r\n const newOwnPayment = parseFloat(minOwnPaymentAmount.value)\r\n ownPaymentRaw.value = reverseThousandCommaSeparation(newOwnPayment.toFixed(0))\r\n ownPayment.value = formatInput(newOwnPayment.toFixed(0))\r\n\r\n // set cursor position\r\n setTimeout(() => {\r\n const newValueLength = housePrice.value.toString().length\r\n const newCursorPosition = cursorPosition + (newValueLength - valueLength)\r\n e.target.setSelectionRange(newCursorPosition, newCursorPosition)\r\n }, 10)\r\n }\r\n\r\n const setOwnPayment = (e) => {\r\n const cursorPosition = e.target.selectionStart\r\n const valueLength = e.target.value.length\r\n\r\n let value = e.target?.value ?? 0\r\n value = checkAndSetInputValue(value)\r\n ownPaymentRaw.value = reverseThousandCommaSeparation(value)\r\n ownPayment.value = formatInput(value)\r\n\r\n // set cursor position\r\n setTimeout(() => {\r\n const newValueLength = ownPayment.value.toString().length\r\n const newCursorPosition = cursorPosition + (newValueLength - valueLength)\r\n e.target.setSelectionRange(newCursorPosition, newCursorPosition)\r\n }, 10)\r\n }\r\n\r\n const setHousingTypes = (e) => (housingType.value = e.target.value)\r\n\r\n // validation\r\n const housePriceValidation = () => {\r\n const priceDiff = parseFloat(housePriceRaw.value) - parseFloat(ownPaymentRaw.value)\r\n if (priceDiff >= minLoanAmount.value && priceDiff <= maxLoanAmount.value) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n const ownPaymentValidation = () => {\r\n const priceDiff = parseFloat(housePriceRaw.value) - parseFloat(ownPaymentRaw.value)\r\n if (\r\n priceDiff < maxLoanAmount.value &&\r\n parseFloat(ownPaymentRaw.value) >= minOwnPaymentAmount.value &&\r\n priceDiff >= minLoanAmount.value\r\n ) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n return {\r\n housePrice,\r\n ownPayment,\r\n housingType,\r\n radioOptions,\r\n dynamicOwnPaymentErrorMessage,\r\n housePriceErrormMessage,\r\n ownPaymentValidation,\r\n housePriceValidation,\r\n setOwnPayment,\r\n setHousePrice,\r\n setHousingTypes,\r\n }\r\n },\r\n}\r\n","import { render } from \"./NewLoanCalculatorInputs.vue?vue&type=template&id=c1f2450c\"\nimport script from \"./NewLoanCalculatorInputs.vue?vue&type=script&lang=js\"\nexport * from \"./NewLoanCalculatorInputs.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export function registerGtmDataLayer(obj) {\r\n // create datalayer if not exist\r\n window.dataLayer = ( typeof window.dataLayer != 'undefined' && window.dataLayer instanceof Array ) ? window.dataLayer : [];\r\n window.dataLayer.push(obj);\r\n}","import { ref, computed } from 'vue'\r\nimport NewLoanCalculatorInputs from '../../../NewLoanCalculatorInputs/NewLoanCalculatorInputs.vue'\r\nimport { registerGtmDataLayer } from '../../../../../../../Video/gtmDataLayerService'\r\n\r\nexport default {\r\n name: 'AdjustLoanContent',\r\n components: {\r\n NewLoanCalculatorInputs,\r\n },\r\n props: {\r\n labels: {\r\n type: Object,\r\n required: true,\r\n },\r\n housingTypes: {\r\n type: Array,\r\n required: true,\r\n },\r\n initData: {\r\n type: Object,\r\n required: false,\r\n },\r\n index: {\r\n type: Number,\r\n required: true,\r\n default: 0,\r\n },\r\n onCallback: {\r\n type: Function,\r\n required: true,\r\n default: () => {},\r\n },\r\n showHousingTypes: {\r\n type: Boolean,\r\n required: false,\r\n default: true,\r\n },\r\n },\r\n setup(props) {\r\n const housePrice = ref('')\r\n const ownPayment = ref('')\r\n const housingType = ref(props.initData.housingType ?? '')\r\n const bankLoanTenureLength = ref(props.initData.bankLoanTenureLength ?? '')\r\n const mortgageLoanTenureLength = ref(props.initData.mortgageLoanTenureLength ?? '')\r\n const mortgageLoanInterestOnlyLength = ref(props.initData.mortgageLoanInterestOnlyLength ?? '')\r\n const formValid = ref(false)\r\n const displayErrors = ref(false)\r\n\r\n const loanType = computed(() => {\r\n const currentType = props.housingTypes.find((item) => item.keyName === housingType.value)\r\n const currentLoanType = currentType.loanTypes.find((item) => item.type === props.initData.loanType)\r\n if (!currentLoanType) {\r\n return currentType.loanTypes[0]\r\n }\r\n return currentLoanType\r\n })\r\n\r\n const onChangeCallback = function (data) {\r\n housePrice.value = data.housePrice\r\n ownPayment.value = data.ownPayment\r\n housingType.value = data.housingType\r\n formValid.value = data.formValid\r\n }\r\n\r\n const submit = function () {\r\n displayErrors.value = true\r\n\r\n if (formValid.value) {\r\n displayErrors.value = false\r\n\r\n // Google Tag Manager\r\n registerGtmDataLayer({\r\n event: 'track-event',\r\n eventAction: 'Hvad koster lÃ¥n til ny bolig?',\r\n eventCategory: 'beregnere',\r\n eventLabel: 'submit',\r\n eventNoninteraction: true,\r\n eventValue: '0',\r\n propertyDownpayment: ownPayment.value.toString(),\r\n propertyPrice: housePrice.value.toString(),\r\n propertyType: housingType.value,\r\n userType: 'privat',\r\n })\r\n\r\n registerGtmDataLayer({\r\n event: 'track-event.beregn_alle',\r\n eventAction: 'alle',\r\n eventCategory: 'beregn',\r\n eventLabel: 'track-event.beregn_nytlaan beregn_nytlaan',\r\n eventNoninteraction: true,\r\n eventValue: '0',\r\n event_source: '-240',\r\n })\r\n\r\n if (props.onCallback) {\r\n props.onCallback(\r\n {\r\n loanType: loanType.value.type,\r\n housePrice: housePrice.value,\r\n ownPayment: ownPayment.value,\r\n housingType: housingType.value,\r\n mortgageLoanInterestOnlyLength: mortgageLoanInterestOnlyLength.value,\r\n mortgageLoanTenureLength: mortgageLoanTenureLength.value,\r\n bankLoanTenureLength: bankLoanTenureLength.value,\r\n },\r\n props.index\r\n )\r\n }\r\n }\r\n }\r\n\r\n return {\r\n bankLoanTenureLength,\r\n mortgageLoanTenureLength,\r\n mortgageLoanInterestOnlyLength,\r\n loanType,\r\n displayErrors,\r\n onChangeCallback,\r\n submit,\r\n }\r\n },\r\n}\r\n","import { render } from \"./AdjustLoanContent.vue?vue&type=template&id=fdd5dd4e\"\nimport script from \"./AdjustLoanContent.vue?vue&type=script&lang=js\"\nexport * from \"./AdjustLoanContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { ref, onMounted, computed, watch } from 'vue'\r\nimport { useStore } from 'vuex'\r\nimport modalTrapFocus from './modalTrapFocus'\r\nimport SwitchLoanTypeContent from './ModalContent/SwitchLoanTypeContent/SwitchLoanTypeContent.vue'\r\nimport AdjustLoanContent from './ModalContent/AdjustLoanContent/AdjustLoanContent.vue'\r\n\r\nexport default {\r\n name: 'Modal',\r\n components: {\r\n SwitchLoanTypeContent,\r\n AdjustLoanContent,\r\n },\r\n setup() {\r\n const store = useStore()\r\n const modalElementRef = ref(null)\r\n\r\n const modalTitle = computed(() => store.state.modal.modalTitle)\r\n const modalSubTitle = computed(() => store.state.modal.modalSubTitle)\r\n const componentName = computed(() => store.state.modal.componentName)\r\n const componentProps = computed(() => store.state.modal.componentProps)\r\n const modalOpen = computed(() => store.state.modal.open)\r\n const htmlContent = computed(() => store.state.modal.htmlContent)\r\n const modalStyles = computed(() => store.state.modal.style)\r\n const isLoading = computed(() => store.state.modal.isLoading)\r\n\r\n // Watch for changes in the modal open state when the store open value changes\r\n watch(modalOpen, (value) => {\r\n if (value) {\r\n const scrollPos = window.scrollY\r\n\r\n modalElementRef.value.showModal()\r\n // Restore the scroll position\r\n setTimeout(() => {\r\n window.scrollTo(0, scrollPos)\r\n }, 50)\r\n document.querySelector('body').classList.add('no-scroll')\r\n } else {\r\n modalElementRef.value.close()\r\n document.querySelector('body').classList.remove('no-scroll')\r\n }\r\n })\r\n\r\n const getModalStyles = computed(() => {\r\n let styles = ''\r\n\r\n if (modalStyles.value) {\r\n modalStyles.value.forEach((style) => {\r\n styles += `nyk-modal--${style} `\r\n })\r\n }\r\n if (modalSubTitle.value) {\r\n styles += 'nyk-modal--subtitle '\r\n }\r\n\r\n return styles\r\n })\r\n\r\n // Function to close the modal in store\r\n const closeModal = () => store.dispatch('modal/setOpen', { open: false })\r\n\r\n onMounted(() => {\r\n document.addEventListener('keydown', (e) => modalTrapFocus(e, modalElementRef.value)) // Start trapping focus\r\n\r\n // Event listener when the modal is closed by click or keypress\r\n modalElementRef.value.addEventListener('close', (event) => {\r\n if (event.target.returnValue === '') {\r\n closeModal()\r\n }\r\n })\r\n\r\n // Event listener to close the modal when the user clicks outside the modal\r\n modalElementRef.value.addEventListener('click', (event) => {\r\n if (event.target === modalElementRef.value) {\r\n modalElementRef.value.close()\r\n }\r\n })\r\n })\r\n\r\n return {\r\n modalTitle,\r\n modalSubTitle,\r\n componentName,\r\n componentProps,\r\n htmlContent,\r\n modalElementRef,\r\n isLoading,\r\n closeModal,\r\n getModalStyles\r\n }\r\n },\r\n}\r\n","import { render } from \"./Modal.vue?vue&type=template&id=43c7406e\"\nimport script from \"./Modal.vue?vue&type=script&lang=js\"\nexport * from \"./Modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from './NewLoanCalculatorInput.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-new-loan-calculator-input\">\r\n <div v-if=\"systemErrorMessage && !hideSystemErrorMessage\" class=\"nyk-new-loan-calculator-input__banner\">\r\n <article class=\"nyk-context-banner\">\r\n <div class=\"nyk-context-banner__content\">\r\n <div class=\"nyk-context-banner__content__info\">\r\n <p class=\"nyk-context-banner__content__info__description\">\r\n {{ systemErrorMessage }}\r\n </p>\r\n </div>\r\n </div>\r\n <button class=\"nyk-context-banner__link\" v-on:click=\"handleHideSystemErrorMessage\"></button>\r\n </article>\r\n </div>\r\n <div class=\"nyk-new-loan-calculator-input__content-wrapper\">\r\n <div class=\"nyk-new-loan-calculator-input__content\">\r\n <h2 class=\"nyk-new-loan-calculator-input__content-title\">{{ labels.title }}</h2>\r\n\r\n <NewLoanCalculatorInputs\r\n :labels=\"labels\"\r\n :housingTypes=\"housingTypes\"\r\n :initData=\"initData\"\r\n :displayErrors=\"displayErrors\"\r\n :onChangeCallback=\"onChangeCallback\" />\r\n\r\n <div class=\"nyk-new-loan-calculator-input__content-actions\">\r\n <button class=\"nyk-button nyk-button--filled-primary\" v-on:click=\"submit\">{{ labels.buttonLabel }}</button>\r\n <a :href=\"`#${juraModal.anchorId}`\" class=\"nyk-button nyk-button--link\">\r\n {{ juraModal.title }}\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\">\r\n <path\r\n fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\"></path>\r\n </svg>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div v-if=\"isLoading\" class=\"nyk-loader\">\r\n <div class=\"nyk-loader__content\">\r\n <div class=\"nyk-loader__content__circle\"></div>\r\n </div>\r\n </div>\r\n </article>\r\n\r\n <Modal />\r\n</template>\r\n","export default function ({\r\n housePrice,\r\n ownPayment,\r\n housingType,\r\n mortgageLoanInterestOnlyLength,\r\n mortgageLoanTenureLength,\r\n bankLoanTenureLength,\r\n productType,\r\n}) {\r\n const CollateralValue = `cv=${housePrice}`\r\n const DownPayment = `db=${ownPayment}`\r\n const CollateralType = `ct=${housingType}`\r\n const ProductType = `tp.${productType}`\r\n const MortgageLoanInterestOnlyLength = `~mliol.${mortgageLoanInterestOnlyLength}`\r\n const MortgageLoanTenureLength = `~mtl.${mortgageLoanTenureLength}`\r\n const BankLoanTenureLength = `~btl.${bankLoanTenureLength}`\r\n\r\n return `?${CollateralValue}&${DownPayment}&${CollateralType}&lon=${ProductType}${MortgageLoanInterestOnlyLength}${MortgageLoanTenureLength}${BankLoanTenureLength}`\r\n}\r\n","import { ref } from 'vue'\r\nimport NewLoanCalculatorInputs from '../components/NewLoanCalculatorInputs/NewLoanCalculatorInputs.vue'\r\nimport mapNewLoanUrlParams from '../js/mapNewLoanUrlParams'\r\nimport Modal from '../components/Modal/Modal.vue'\r\n\r\nexport default {\r\n name: 'NewLoanCalculatorInput',\r\n components: {\r\n NewLoanCalculatorInputs,\r\n Modal,\r\n },\r\n props: {\r\n labels: {\r\n type: Object,\r\n required: true,\r\n },\r\n housingTypes: {\r\n type: Array,\r\n required: true,\r\n },\r\n initData: {\r\n type: Object,\r\n required: false,\r\n },\r\n juraModal: {\r\n type: Object,\r\n required: true,\r\n },\r\n systemErrorMessage: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n setup(props) {\r\n const housePrice = ref('')\r\n const ownPayment = ref('')\r\n const housingType = ref('')\r\n const defaultBankLoanTenureLength = ref(props.initData.mortgageLoanInterestOnlyLength ?? 0)\r\n const defaultMortgageLoanTenureLength = ref(props.initData.mortgageLoanTenureLength ?? 0)\r\n const defaultMortgageLoanInterestOnlyLength = ref(props.initData.bankLoanTenureLength ?? 0)\r\n const formValid = ref(false)\r\n const displayErrors = ref(props.systemErrorMessage ? true : false)\r\n const isLoading = ref(false)\r\n const hideSystemErrorMessage = ref(false)\r\n\r\n const onChangeCallback = function (data) {\r\n housePrice.value = data.housePrice\r\n ownPayment.value = data.ownPayment\r\n housingType.value = data.housingType\r\n formValid.value = data.formValid\r\n defaultBankLoanTenureLength.value = data.defaultBankLoanTenureLength\r\n defaultMortgageLoanTenureLength.value = data.defaultMortgageLoanTenureLength\r\n defaultMortgageLoanInterestOnlyLength.value = data.defaultMortgageLoanInterestOnlyLength\r\n }\r\n\r\n const getProductType = () => {\r\n const houseType = props.housingTypes.find((x) => x.keyName === housingType.value)\r\n return houseType?.productType ?? ''\r\n }\r\n\r\n const submit = function () {\r\n displayErrors.value = true\r\n\r\n if (formValid.value) {\r\n const loadingTimeout = setTimeout(() => {\r\n isLoading.value = true\r\n }, 100)\r\n displayErrors.value = false\r\n\r\n window.location.href = mapNewLoanUrlParams({\r\n housePrice: housePrice.value,\r\n ownPayment: ownPayment.value,\r\n housingType: housingType.value,\r\n mortgageLoanInterestOnlyLength: defaultMortgageLoanInterestOnlyLength.value,\r\n mortgageLoanTenureLength: defaultMortgageLoanTenureLength.value,\r\n bankLoanTenureLength: defaultBankLoanTenureLength.value,\r\n productType: getProductType(),\r\n })\r\n }\r\n }\r\n\r\n const handleHideSystemErrorMessage = () => {\r\n hideSystemErrorMessage.value = true\r\n }\r\n\r\n return {\r\n displayErrors,\r\n onChangeCallback,\r\n submit,\r\n isLoading,\r\n handleHideSystemErrorMessage,\r\n hideSystemErrorMessage,\r\n }\r\n },\r\n}","import { render } from \"./NewLoanCalculatorInput.vue?vue&type=template&id=0d9a34e5\"\nimport script from \"./NewLoanCalculatorInput.vue?vue&type=script&lang=js\"\nexport * from \"./NewLoanCalculatorInput.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from './NewLoanCalculatorResult.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-new-loan-calculator-result\" :class=\"{ 'nyk-new-loan-calculator-result--compare': tables.length > 1 }\">\r\n <NewLoanCalculatorResultDesktop\r\n :labels=\"labels\"\r\n :infoBox=\"infoBox\"\r\n :summaries=\"summaries\"\r\n :tables=\"tables\"\r\n :sendCalculation=\"sendCalculation\"\r\n :showSendCalculation=\"showSendCalculation\"\r\n :getLoanTypesForSummary=\"getLoanTypesForSummary\"\r\n :switchLoanType=\"switchLoanType\"\r\n :switchLoanTypeWithRedirect=\"switchLoanTypeWithRedirect\"\r\n :openSendCalculationsModal=\"openSendCalculationsModal\"\r\n :openCompareLoanModal=\"openCompareLoanModal\"\r\n :adjustLoan=\"adjustLoan\"\r\n :adjustLoanWithRedirect=\"adjustLoanWithRedirect\"\r\n :quitCompareMode=\"quitCompareMode\"\r\n :closeSendCalculationModal=\"closeSendCalculationModal\" />\r\n\r\n <NewLoanCalculatorResultMobile\r\n :labels=\"labels\"\r\n :infoBox=\"infoBox\"\r\n :summaries=\"summaries\"\r\n :tables=\"tables\"\r\n :sendCalculation=\"sendCalculation\"\r\n :showSendCalculation=\"showSendCalculation\"\r\n :getLoanTypesForSummary=\"getLoanTypesForSummary\"\r\n :switchLoanType=\"switchLoanType\"\r\n :switchLoanTypeWithRedirect=\"switchLoanTypeWithRedirect\"\r\n :openSendCalculationsModal=\"openSendCalculationsModal\"\r\n :openCompareLoanModal=\"openCompareLoanModal\"\r\n :adjustLoan=\"adjustLoan\"\r\n :adjustLoanWithRedirect=\"adjustLoanWithRedirect\"\r\n :quitCompareMode=\"quitCompareMode\"\r\n :closeSendCalculationModal=\"closeSendCalculationModal\" />\r\n </article>\r\n\r\n <div v-if=\"isLoading && !modalOpen\" class=\"nyk-loader\">\r\n <div class=\"nyk-loader__content\">\r\n <div class=\"nyk-loader__content__circle\"></div>\r\n </div>\r\n </div>\r\n\r\n <Modal />\r\n</template>\r\n","export const openSwitchLoanTypeModal = (store, props, title) => {\r\n store.dispatch('modal/setModalContent', {\r\n modalTitle: title,\r\n modalSubTitle: undefined,\r\n componentName: 'SwitchLoanTypeContent',\r\n componentProps: props,\r\n style: ['big'],\r\n })\r\n\r\n store.dispatch('modal/setOpen', { open: true })\r\n}\r\n\r\nexport const openAdjustLoanModel = (store, props, title, subtitle) => {\r\n store.dispatch('modal/setModalContent', {\r\n modalTitle: title,\r\n modalSubTitle: subtitle ?? '',\r\n componentName: 'AdjustLoanContent',\r\n componentProps: props,\r\n style: ['big', 'white'],\r\n })\r\n\r\n store.dispatch('modal/setOpen', { open: true })\r\n}\r\n","import mapNewLoanUrlParams from '../js/mapNewLoanUrlParams'\r\n\r\nexport default async function (data, path, id) {\r\n const params = mapNewLoanUrlParams({\r\n housePrice: data.housePrice,\r\n ownPayment: data.ownPayment,\r\n housingType: data.housingType,\r\n mortgageLoanInterestOnlyLength: data.mortgageLoanInterestOnlyLength,\r\n mortgageLoanTenureLength: data.mortgageLoanTenureLength,\r\n bankLoanTenureLength: data.bankLoanTenureLength,\r\n productType: data.loanType,\r\n })\r\n\r\n const url = `${document.location.origin}/${path + params + '&id=' + id}`\r\n const response = await fetch(url)\r\n\r\n return response.json()\r\n}\r\n","<script>\r\nimport options from './NewLoanCalculatorResultDesktop.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-new-loan-calculator-result-desktop\">\r\n <button v-if=\"summaries.length > 1\" v-on:click=\"quitCompareMode\" class=\"nyk-new-loan-calculator-result__back-button\">\r\n <div class=\"nyk-new-loan-calculator-result__back-button-icon\">\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 13\">\r\n <path fill=\"#07094A\" d=\"M16 7.218V5.762H3.005L7.461.748 6.694 0 0 6.51 6.694 13l.767-.748-4.456-5.034H16Z\" />\r\n </svg>\r\n </div>\r\n </div>\r\n <span class=\"nyk-new-loan-calculator-result__back-button-label\">{{ labels.backButtonLabel }}</span>\r\n </button>\r\n\r\n <h1 class=\"nyk-new-loan-calculator-result__title\" aria-live=\"polite\" v-if=\"labels.resultTitle && labels.compareTitle\">\r\n {{ summaries.length > 1 ? labels.compareTitle : labels.resultTitle }}\r\n </h1>\r\n\r\n <div\r\n class=\"nyk-new-loan-calculator-result__info-container\"\r\n :class=\"{ 'nyk-new-loan-calculator-result__info-container--multiple': summaries.length > 1 }\">\r\n <template v-if=\"summaries.length === 1\" v-for=\"(summary, singleSummaryIndex) in summaries\" :key=\"singleSummaryIndex\">\r\n <CalculatorSummary\r\n v-if=\"summary\"\r\n :data=\"summary\"\r\n :labels=\"labels\"\r\n :hasHousingTypes=\"getLoanTypesForSummary(singleSummaryIndex).length > 1\"\r\n :onCallback=\"() => switchLoanTypeWithRedirect(singleSummaryIndex)\" />\r\n\r\n <CalculatorInfoBox v-if=\"infoBox[singleSummaryIndex]\" :data=\"infoBox[singleSummaryIndex]\" />\r\n\r\n <div class=\"nyk-new-loan-calculator-result__info-container-actions\">\r\n <button\r\n :class=\"`nyk-button ${\r\n showSendCalculation ? 'nyk-button--filled-primary-dark' : 'nyk-button--outline-primary'\r\n } nyk-button--send-calc nyk-js--send-calc`\"\r\n :aria-expanded=\"showSendCalculation\"\r\n v-on:click=\"openSendCalculationsModal\">\r\n {{ labels.sendCalculationButtonLabel }}\r\n </button>\r\n <button class=\"nyk-button nyk-button--outline-primary\" v-on:click=\"openCompareLoanModal\">\r\n {{ labels.compareLoanButtonLabel }}\r\n </button>\r\n <button\r\n class=\"nyk-button nyk-button--outline-primary\"\r\n aria-haspopup=\"true\"\r\n v-on:click=\"() => adjustLoanWithRedirect(singleSummaryIndex)\">\r\n {{ labels.adjustLoanButtonLabel }}\r\n </button>\r\n </div>\r\n </template>\r\n\r\n <template v-else v-for=\"(summary, multipleSummariesIndex) in summaries\" :key=\"multipleSummariesIndex\">\r\n <div class=\"nyk-new-loan-calculator-result__info-container-wrapper\">\r\n <CalculatorSummary\r\n v-if=\"summary\"\r\n :data=\"summary\"\r\n :labels=\"labels\"\r\n :onCallback=\"() => switchLoanType(multipleSummariesIndex)\"\r\n :hasHousingTypes=\"getLoanTypesForSummary(multipleSummariesIndex).length > 1\"\r\n :hasGraph=\"false\" />\r\n\r\n <button\r\n class=\"nyk-button nyk-button--outline-primary\"\r\n aria-haspopup=\"true\"\r\n v-on:click=\"() => adjustLoan(multipleSummariesIndex)\">\r\n {{ labels.adjustLoanButtonLabel }}\r\n </button>\r\n </div>\r\n </template>\r\n </div>\r\n\r\n <div class=\"nyk-new-loan-calculator-result__send-calc\" v-if=\"sendCalculation && showSendCalculation\">\r\n <SendCalculation\r\n :labels=\"sendCalculation.labels\"\r\n :salesforceidApiUrl=\"sendCalculation.salesforceidApiUrl\"\r\n :sendCalculationApiUrl=\"sendCalculation.sendCalculationApiUrl\"\r\n :userInformationApiUrl=\"sendCalculation.userInformationApiUrl\"\r\n :calculatorType=\"sendCalculation.calculatorType\"\r\n :backgroundColor=\"sendCalculation.backgroundColor\"\r\n :initStartFlow=\"true\"\r\n :onCloseCallback=\"closeSendCalculationModal\" />\r\n </div>\r\n\r\n <div class=\"nyk-new-loan-calculator-result__table-sections\">\r\n <template v-if=\"tables.length === 1\" v-for=\"(table, tableIndex) in tables\" :key=\"tableIndex\">\r\n <section class=\"nyk-new-loan-calculator-result__table-sections__content\" :id=\"`table_${tableIndex}`\">\r\n <template v-for=\"(group, groupIndex) in table\" :key=\"groupIndex\">\r\n <h2 class=\"nyk-new-loan-calculator-result__table-sections__content-title\">{{ group.title }}</h2>\r\n\r\n <template v-for=\"(table, tableIndex) in group.tables\" :key=\"tableIndex\">\r\n <CalculatorTable\r\n :headers=\"getTableHeaders(table)\"\r\n :tooltip=\"table.tooltip\"\r\n :collapse=\"table.value ? true : false\"\r\n :rows=\"getTableRows(table)\"\r\n :labels=\"labels\" />\r\n </template>\r\n </template>\r\n </section>\r\n </template>\r\n\r\n <CalculatorCompareTable \r\n v-if=\"tables.length > 1\" \r\n :tables=\"tables\" \r\n :labels=\"labels\" \r\n />\r\n </div>\r\n\r\n <SendCalculation\r\n v-if=\"sendCalculation && summaries.length === 1\"\r\n :labels=\"sendCalculation.labels\"\r\n :salesforceidApiUrl=\"sendCalculation.salesforceidApiUrl\"\r\n :sendCalculationApiUrl=\"sendCalculation.sendCalculationApiUrl\"\r\n :userInformationApiUrl=\"sendCalculation.userInformationApiUrl\"\r\n :calculatorType=\"sendCalculation.calculatorType\"\r\n :backgroundColor=\"sendCalculation.backgroundColor\"\r\n :redirectLink=\"sendCalculation.redirectLink\"\r\n :onResetCallback=\"() => {}\"/>\r\n </article>\r\n</template>\r\n","export default {\r\n labels: {\r\n type: Object,\r\n required: true,\r\n },\r\n infoBox: {\r\n type: Array,\r\n required: true,\r\n },\r\n summaries: {\r\n type: Array,\r\n required: true,\r\n },\r\n tables: {\r\n type: Array,\r\n required: true,\r\n },\r\n sendCalculation: {\r\n type: Object,\r\n required: true,\r\n },\r\n showSendCalculation: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n getLoanTypesForSummary: {\r\n type: Function,\r\n required: true,\r\n },\r\n switchLoanType: {\r\n type: Function,\r\n required: true,\r\n },\r\n switchLoanTypeWithRedirect: {\r\n type: Function,\r\n required: true,\r\n },\r\n openSendCalculationsModal: {\r\n type: Function,\r\n required: true,\r\n },\r\n openCompareLoanModal: {\r\n type: Function,\r\n required: true,\r\n },\r\n adjustLoan: {\r\n type: Function,\r\n required: true,\r\n },\r\n adjustLoanWithRedirect: {\r\n type: Function,\r\n required: true,\r\n },\r\n quitCompareMode: {\r\n type: Function,\r\n required: true,\r\n },\r\n closeSendCalculationModal: {\r\n type: Function,\r\n required: true,\r\n },\r\n}\r\n","/**\r\n * \r\n * @param {string} valueToValidate \r\n * @returns \r\n */\r\nconst notEmpty = function (valueToValidate) {\r\n const isString = typeof valueToValidate === 'string'\r\n const isValid = isString ? !!(valueToValidate.length > 1) : false\r\n return isValid\r\n}\r\n\r\nexport default notEmpty","import notEmpty from './notEmptyInput'\r\n/**\r\n * \r\n * @param {string} emailInput - the complete email address \r\n * @returns \r\n */\r\nexport default function (emailInput) {\r\n const valueToValidate = emailInput\r\n const regexResult = valueToValidate ? valueToValidate.match(/^\\S+@\\S+\\.[a-zA-Z]+$/g) : false\r\n const validationResult = !!(regexResult && regexResult.length)\r\n\r\n return notEmpty(valueToValidate) && validationResult\r\n}","export default async function (body, url) {\r\n let status = null\r\n const response = await fetch(url, {\r\n method: \"POST\",\r\n body: JSON.stringify(body),\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => {\r\n status = res.status\r\n if (res.ok) {\r\n return res.text()\r\n } else {\r\n throw new Error(\"Could not fetch salesforce id.\")\r\n }\r\n })\r\n .then((json) => {\r\n return json\r\n })\r\n .catch((err) => {\r\n console.error(err)\r\n return err\r\n })\r\n\r\n return {\r\n data: response,\r\n status: status,\r\n }\r\n}\r\n","export default async function (body, url) {\r\n const response = await fetch(url, {\r\n method: \"POST\",\r\n body: JSON.stringify(body),\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => {\r\n if (res.ok) {\r\n const contentType = res.headers.get(\"content-type\");\r\n if (contentType && contentType.includes(\"application/json\")) {\r\n return res.json();\r\n } else {\r\n return res.text();\r\n }\r\n } else {\r\n throw new Error(\"Didn't work sending the calculation.\")\r\n }\r\n })\r\n .then((json) => {\r\n return json\r\n })\r\n .catch((err) => {\r\n console.error(err)\r\n return err\r\n })\r\n \r\n return response\r\n}\r\n","import { registerGtmDataLayer } from '../../../../../Features/Blocks/Video/gtmDataLayerService';\r\n\r\nexport default async function (body, url) {\r\n const response = await fetch(url, {\r\n method: \"POST\",\r\n body: JSON.stringify(body),\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => {\r\n status = res.status\r\n if (res.ok) {\r\n return res.json()\r\n } else {\r\n throw new Error(\"Could not fetch salesforce id.\")\r\n }\r\n })\r\n .then((json) => {\r\n return json\r\n })\r\n .catch((err) => {\r\n console.error(err)\r\n return err\r\n })\r\n\r\n if (response && response.name && response.email && response.hash && response.tealiumEnvironment) {\r\n let dataLayer = {\r\n 'event': 'track-immeo.newsletter',\r\n 'tealium_visitor_id': `${response.tealiumEnvironment}_${response.hash}`,\r\n 'payload': {\r\n 'user_firstname': response.name,\r\n 'user_lastname': response.lastname,\r\n 'user_email': response.email,\r\n 'user_phone': response.phonenumber,\r\n 'user_hashed_email_firstname': response.hash,\r\n 'user_hashed_email_firstname_is_present': 'true'\r\n }\r\n };\r\n\r\n registerGtmDataLayer(dataLayer);\r\n }\r\n return {\r\n data: response,\r\n status: status,\r\n }\r\n}\r\n","export default function (input) {\r\n return typeof input === \"boolean\"\r\n}\r\n","import { ref, computed } from 'vue'\r\nimport isBoolean from '../inputValidators/isBoolean'\r\n\r\nexport default function (userInput, stepsConfigAndOrder, labels = {}) {\r\n const finalStepName = stepsConfigAndOrder.toReversed().name\r\n\r\n const getNamedFieldInputData = computed(() => {\r\n return userInput.reduce((dataObject, field) => {\r\n return Object.assign(dataObject, {\r\n [field.field]: field.value,\r\n })\r\n }, {})\r\n })\r\n\r\n const resetSignupForm = function () {\r\n stepsConfigAndOrder.forEach((step) => (step.completed = false))\r\n userInput.forEach((field) => {\r\n if (isBoolean(field.value)) {\r\n field.value = false\r\n } else {\r\n field.value = ''\r\n }\r\n field.isValid = false\r\n })\r\n }\r\n\r\n const currentStepName = computed(() => {\r\n return allStepsComplete.value ? finalStepName : stepsConfigAndOrder.find((stepData) => !stepData.completed).name\r\n })\r\n\r\n const currentStepNumber = computed(() => {\r\n return allStepsComplete.value ? finalStepName : stepsConfigAndOrder.find((stepData) => !stepData.completed).step\r\n })\r\n\r\n const currentStepTexts = computed(() => {\r\n return allStepsComplete.value ? finalStepName : stepsConfigAndOrder.find((stepData) => !stepData.completed).texts\r\n })\r\n\r\n const hasPreviousStep = computed(() => {\r\n return currentStepNumber.value > 1\r\n })\r\n\r\n const allStepsComplete = computed(() => {\r\n return !!(stepsConfigAndOrder.filter((stepData) => !stepData.completed).length === 0)\r\n })\r\n\r\n const countableSteps = stepsConfigAndOrder.filter((x) => x.isCountableStep).length\r\n\r\n const stepCounterText = computed(() => {\r\n const label = labels.stepLabel\r\n if (label) {\r\n return label\r\n .replace('{{currentStep}}', currentStepNumber.value)\r\n .replace('{{totalSteps}}', countableSteps.value || stepsConfigAndOrder.length)\r\n } else {\r\n return `${currentStepNumber.value} af ${countableSteps.value || stepsConfigAndOrder.length}`\r\n }\r\n })\r\n\r\n const stepCounterAccessibleText = computed(() => {\r\n const accessibleLabel = labels.accessibleStepLabel\r\n if (!accessibleLabel) {\r\n return accessibleLabel\r\n .replace('{{currentStep}}', currentStepNumber.value)\r\n .replace('{{totalSteps}}', countableSteps.value || stepsConfigAndOrder.length)\r\n } else {\r\n return `Du er nu pÃ¥ trin ${currentStepNumber.value} af ${countableSteps.value || stepsConfigAndOrder.length}`\r\n }\r\n })\r\n\r\n const showFieldErrorMessage = function (fieldName) {\r\n return !userInput.find((field) => field.field === fieldName).isValid\r\n }\r\n\r\n const returnToPreviousStep = function () {\r\n stepsConfigAndOrder.filter((step) => step.completed).toReversed()[0].completed = false\r\n }\r\n\r\n return {\r\n getNamedFieldInputData,\r\n resetSignupForm,\r\n currentStepName,\r\n currentStepTexts,\r\n hasPreviousStep,\r\n stepCounterText,\r\n stepCounterAccessibleText,\r\n showFieldErrorMessage,\r\n returnToPreviousStep,\r\n currentStepNumber,\r\n }\r\n}\r\n","export default function (inputData, userInput, stepsConfigAndOrder, currentStepName, callback, skipValidation = false) {\r\n let displayInputError = false\r\n\r\n const advanceToNextStep = function () {\r\n stepsConfigAndOrder.find((stepData) => stepData.name === currentStepName).completed = true\r\n displayInputError = false\r\n const allStepInputComplete = userInput.every((stepField) => stepField.isValid)\r\n\r\n if (allStepInputComplete) {\r\n const lastStep = stepsConfigAndOrder[stepsConfigAndOrder.length - 2].name\r\n if (lastStep === currentStepName) {\r\n callback(userInput)\r\n }\r\n }\r\n }\r\n\r\n if (skipValidation) {\r\n advanceToNextStep()\r\n return false\r\n }\r\n\r\n inputData.forEach((input) => {\r\n const inputDatafield = userInput.find((field) => field.field === input.field)\r\n inputDatafield.isValid = inputDatafield.validator(input.value)\r\n\r\n // we are validating fields one by one\r\n if (inputDatafield.isValid) {\r\n inputDatafield.value = input.value\r\n } else {\r\n displayInputError = true\r\n }\r\n })\r\n\r\n const stepInputComplete = userInput\r\n .filter((dataField) => {\r\n return inputData.some((inputfield) => inputfield.field === dataField.field)\r\n })\r\n .every((stepField) => stepField.isValid)\r\n\r\n if (stepInputComplete) {\r\n advanceToNextStep()\r\n }\r\n return displayInputError\r\n}\r\n","<script>\r\nimport options from './SignupStepReceipt.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <section class=\"nyk-signup-step\">\r\n <div class=\"nyk-signup-step__content\" :class=\"contentClassnames\">\r\n <div\r\n class=\"nyk-signup-step__content__section nyk-signup-step__content__section--full-width nyk-signup-step__content__section--space-between\">\r\n <div class=\"nyk-signup-step__content__section nyk-signup-step__content__section--half-width\">\r\n <h2 class=\"nyk-signup-step__title\">{{ currentStepTexts.title }}</h2>\r\n </div>\r\n <div\r\n class=\"nyk-signup-step__content__section nyk-signup-step__content__section--half-width nyk-signup-step__content__section--right\">\r\n <div class=\"nyk-signup-step__align-end\">\r\n <button\r\n ref=\"finishSignupButtonRef\"\r\n v-on:click=\"resetSignupForm\"\r\n :aria-label=\"currentStepTexts.finishSignupLabel\"\r\n class=\"nyk-signup-step-receipt__close\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-signup-step__receipt\">\r\n <p class=\"nyk-signup-step__receipt__text\">\r\n {{ currentStepTexts.summary }}\r\n </p>\r\n </div>\r\n </div>\r\n </section>\r\n</template>\r\n","export default {\r\n currentStepTexts: {\r\n type: Object,\r\n required: true,\r\n },\r\n nextStepCallback: {\r\n type: Function,\r\n required: true,\r\n },\r\n previousStepCallback: {\r\n type: Function,\r\n required: false,\r\n },\r\n showFieldErrorMessage: {\r\n type: Function,\r\n required: true,\r\n },\r\n inputCallback: {\r\n type: Function,\r\n required: true\r\n },\r\n getNamedFieldInputData: {\r\n type: Object,\r\n required: true,\r\n },\r\n newslettersData: {\r\n type: Array,\r\n required: false,\r\n },\r\n resetSignupForm: {\r\n type: Function,\r\n required: true,\r\n },\r\n imageSource: {\r\n type: String,\r\n required: false,\r\n },\r\n imageAltText: {\r\n type: String,\r\n required: false,\r\n },\r\n // this should be the output of a computed value in the parent\r\n stepCounterText: {\r\n type: String,\r\n required: true,\r\n },\r\n labels: {\r\n type: Object,\r\n required: false,\r\n },\r\n hasPreviousStep: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n displayInputError: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n currentStep: {\r\n type: Number,\r\n required: false,\r\n }\r\n}\r\n","import { onMounted, ref, defineExpose } from \"vue\"\r\nimport _signupStepsCommonProps from \"../../../../../Frontend/src/foundation/js/configurations/_signupStepsCommonProps\"\r\n\r\nexport default {\r\n name: \"SignupStepReceipt\",\r\n props: _signupStepsCommonProps,\r\n setup() {\r\n const contentClassnames = ref(\"nyk-signup-step__content--animation\")\r\n\r\n // finishSignupButtonRef is used in the SignupSingleNewsletter and SignupMultipleNewsletters component\r\n const finishSignupButtonRef = ref(null)\r\n\r\n onMounted(() => {\r\n setTimeout(() => {\r\n contentClassnames.value = \"\"\r\n }, 1250)\r\n })\r\n\r\n return {\r\n finishSignupButtonRef,\r\n contentClassnames,\r\n }\r\n },\r\n}\r\n","import { render } from \"./SignupStepReceipt.vue?vue&type=template&id=12517fda\"\nimport script from \"./SignupStepReceipt.vue?vue&type=script&lang=js\"\nexport * from \"./SignupStepReceipt.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./ContactStepIntro.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-signup-step nyk-contact-step-intro\">\r\n <div class=\"nyk-contact-step-intro__content\">\r\n <div class=\"nyk-contact-step-intro__content__image\">\r\n <picture>\r\n <!-- add sources if we have different size and versions for different widths -->\r\n <source :srcset=\"imageSource\" media=\"(max-width: 600px)\" />\r\n <source :srcset=\"imageSource\" media=\"(max-width: 905px)\" />\r\n <img\r\n class=\"nyk-contact-step-intro__content__image__img\"\r\n :src=\"imageSource\"\r\n :alt=\"imageAltText ?? 'Nykredit billede'\" />\r\n </picture>\r\n </div>\r\n <div class=\"nyk-contact-step-intro__content__info\">\r\n <div class=\"nyk-contact-step-intro__content__info__header\">\r\n <h2 class=\"nyk-contact-step-intro__content__info__header__title\">\r\n {{ currentStepTexts.title }}\r\n </h2>\r\n </div>\r\n\r\n <div class=\"nyk-contact-step-intro__content__info__content\">\r\n <p class=\"nyk-contact-step-intro__content__info__content__description\" \r\n v-html=\"currentStepTexts.summary\">\r\n </p>\r\n </div>\r\n\r\n <div class=\"nyk-contact-step-intro__content__info__action\">\r\n <div class=\"nyk-contact-step-intro__content__info__action__link\">\r\n <span class=\"nyk-contact-step-intro__content__info__action__link__name\">{{\r\n currentStepTexts.next\r\n }}</span>\r\n <button\r\n v-on:click=\"nextStepCallback([])\"\r\n class=\"nyk-contact-step-intro__content__info__action__link__button nyk-button nyk-button--link-circle-arrow right\">\r\n <div class=\"nyk-button__icon\" :aria-label=\"currentStepTexts.next\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\"><path fill=\"#07094A\" d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\"></path></svg>\r\n </div>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </article>\r\n</template>\r\n","import { onBeforeUnmount, onMounted } from \"vue\";\r\nimport _signupStepsCommonProps from \"../../foundation/js/configurations/_signupStepsCommonProps\"\r\n\r\nexport default {\r\n name: \"ContactStepIntro\",\r\n props: _signupStepsCommonProps,\r\n setup(props) {\r\n \r\n const handleAnchorNavigationSkip = (() => {\r\n if(props && props.currentStep === 0) {\r\n props.nextStepCallback([])\r\n }\r\n })\r\n\r\n onMounted (() => {\r\n document.addEventListener(\"triggerAnchorSkip\", handleAnchorNavigationSkip, { once: true });\r\n })\r\n\r\n onBeforeUnmount (() => {\r\n document.removeEventListener(\"triggerAnchorSkip\", handleAnchorNavigationSkip);\r\n })\r\n },\r\n}\r\n","import { render } from \"./ContactStepIntro.vue?vue&type=template&id=01bf76a2\"\nimport script from \"./ContactStepIntro.vue?vue&type=script&lang=js\"\nexport * from \"./ContactStepIntro.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from './SendCalculationStepContent.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-signup-step nyk-contact-step-content nyk-send-calculation-step-content\">\r\n <div aria-live=\"polite\" class=\"nyk-signup-step__content\" :class=\"contentClassnames\">\r\n <template v-if=\"onCloseCallback\">\r\n <div class=\"nyk-send-calculation-step-content__header nyk-signup-step__content__section--full-width-mobile\">\r\n <div class=\"nyk-signup-step__header\">\r\n <h2 class=\"nyk-signup-step__title\">{{ currentStepTexts.title }}</h2>\r\n </div>\r\n <button\r\n :aria-label=\"labels.ariaCloseButtonLabel\"\r\n v-on:click=\"onCloseCallback\"\r\n class=\"nyk-signup-step-receipt__close nyk-js--send-calc-close-button\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n </div>\r\n <div class=\"nyk-signup-step__content__section--66-width\">\r\n <div class=\"nyk-contact-step-onboarding-content__inputs nyk-signup-step__content__section--full-width-mobile\">\r\n <div\r\n class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--firstname\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"labels.firstName ?? 'Fornavn'\"\r\n :aria-label=\"labels.firstName ?? 'Fornavn'\"\r\n v-model=\"firstNameInput\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'firstname', value: firstNameInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\" aria-live=\"polite\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('firstname')\">\r\n {{ labels.firstNameErrorMessage ?? 'Indtast venligst et fornavn' }}\r\n </template>\r\n </p>\r\n </div>\r\n <div\r\n class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--lastname\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"labels.lastName ?? 'Efternavn'\"\r\n :aria-label=\"labels.lastName ?? 'Efternavn'\"\r\n v-model=\"lastNameInput\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'lastname', value: lastNameInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\" aria-live=\"polite\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('lastname')\">\r\n {{ labels.lastNameErrorMessage ?? 'Indtast venligst et efternavn' }}\r\n </template>\r\n </p>\r\n </div>\r\n <div\r\n class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--email\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"labels.email ?? 'E-mail'\"\r\n :aria-label=\"labels.email ?? 'E-mail'\"\r\n v-model=\"emailInput\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'email', value: emailInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\" aria-live=\"polite\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('email')\">\r\n {{ labels.emailErrorMessage ?? 'Indtast venligst en email adresse' }}\r\n </template>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <div class=\"nyk-signup-step__content__section--66-width nyk-signup-step__content__section--full-width-mobile\">\r\n <div class=\"nyk-signup-step__header\">\r\n <h2 class=\"nyk-signup-step__title\">{{ currentStepTexts.title }}</h2>\r\n </div>\r\n\r\n <div class=\"nyk-contact-step-onboarding-content__inputs nyk-signup-step__content__section--full-width-mobile\">\r\n <div\r\n class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--firstname\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"labels.firstName ?? 'Fornavn'\"\r\n :aria-label=\"labels.firstName ?? 'Fornavn'\"\r\n v-model=\"firstNameInput\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'firstname', value: firstNameInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\" aria-live=\"polite\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('firstname')\">\r\n {{ labels.firstNameErrorMessage ?? 'Indtast venligst et fornavn' }}\r\n </template>\r\n </p>\r\n </div>\r\n <div\r\n class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--lastname\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"labels.lastName ?? 'Efternavn'\"\r\n :aria-label=\"labels.lastName ?? 'Efternavn'\"\r\n v-model=\"lastNameInput\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'lastname', value: lastNameInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\" aria-live=\"polite\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('lastname')\">\r\n {{ labels.lastNameErrorMessage ?? 'Indtast venligst et efternavn' }}\r\n </template>\r\n </p>\r\n </div>\r\n <div\r\n class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--email\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"labels.email ?? 'E-mail'\"\r\n :aria-label=\"labels.email ?? 'E-mail'\"\r\n v-model=\"emailInput\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'email', value: emailInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\" aria-live=\"polite\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('email')\">\r\n {{ labels.emailErrorMessage ?? 'Indtast venligst en email adresse' }}\r\n </template>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </template>\r\n\r\n <div class=\"nyk-signup-step__content__section--33-width nyk-signup-step__summary\">\r\n <div v-html=\"currentStepTexts.summary\"></div>\r\n </div>\r\n\r\n <div class=\"nyk-signup-step__summary nyk-signup-step__summary--mobile\" v-html=\"currentStepTexts.summary\"></div>\r\n\r\n <div class=\"nyk-signup-step__mt-auto nyk-signup-step__content__section--full-width\">\r\n <SendCalculationStepActions\r\n :previousStepCallback=\"previousStepCallback\"\r\n :nextStepCallback=\"\r\n () =>\r\n nextStepCallback([\r\n { field: 'firstname', value: firstNameInput },\r\n { field: 'lastname', value: lastNameInput },\r\n { field: 'email', value: emailInput },\r\n ])\r\n \"\r\n :nextStepButtonText=\"nextStepButtonText\"\r\n :stepCounterText=\"stepCounterText\"\r\n :hasPreviousStep=\"hasPreviousStep\" />\r\n </div>\r\n </div>\r\n </article>\r\n</template>\r\n","export default {\r\n currentStepTexts: {\r\n type: Object,\r\n required: true,\r\n },\r\n nextStepCallback: {\r\n type: Function,\r\n required: true,\r\n },\r\n previousStepCallback: {\r\n type: Function,\r\n required: false,\r\n },\r\n showFieldErrorMessage: {\r\n type: Function,\r\n required: true,\r\n },\r\n getNamedFieldInputData: {\r\n type: Object,\r\n required: true,\r\n },\r\n newslettersData: {\r\n type: Array,\r\n required: false,\r\n },\r\n nextStepButtonText: {\r\n type: String,\r\n required: false,\r\n default: 'Videre',\r\n },\r\n resetSignupForm: {\r\n type: Function,\r\n required: true,\r\n },\r\n imageSource: {\r\n type: String,\r\n required: false,\r\n },\r\n imageAltText: {\r\n type: String,\r\n required: false,\r\n },\r\n // this should be the output of a computed value in the parent\r\n stepCounterText: {\r\n type: String,\r\n required: true,\r\n },\r\n labels: {\r\n type: Object,\r\n required: false,\r\n },\r\n hasPreviousStep: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n displayInputError: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n redirectLink: {\r\n type: Object,\r\n required: false,\r\n },\r\n onCloseCallback: {\r\n type: Function,\r\n required: false,\r\n },\r\n}\r\n","<script>\r\nimport options from \"./SendCalculationStepActions.options\"\r\nexport default options\r\n</script>\r\n\r\n\r\n<template>\r\n <div :class=\"`nyk-signup-step-actions ${spaceTop ? '' : 'nyk-signup-step-actions--no-space-top'} nyk-signup-step-actions--no-prev`\">\r\n <p class=\"nyk-signup-step__stepcounter\">\r\n </p>\r\n\r\n <button v-on:click=\"nextStepCallback\" class=\"nyk-signup-step-actions__action nyk-signup-step-actions__action--end\">\r\n <p class=\"nyk-signup-step-actions__action__text\">Send</p>\r\n <div class=\"nyk-signup-step-actions__action__button nyk-button nyk-button--link-circle-arrow right\">\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\">\r\n <path\r\n fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n</template>\r\n\r\n","import _sendCalculationStepsCommonProps from \"./../../../../Frontend/src/foundation/js/configurations/_sendCalculationStepsCommonProps\"\r\n\r\nexport default {\r\n name: \"SendCalculationStepActions\",\r\n props: {\r\n previousStepCallback: {\r\n type: Function,\r\n required: false,\r\n },\r\n nextStepCallback: {\r\n type: Function,\r\n required: true,\r\n },\r\n nextStepButtonText: {\r\n type: String,\r\n required: true,\r\n },\r\n stepCounterText: {\r\n type: String,\r\n required: true,\r\n },\r\n hasPreviousStep: {\r\n type: Boolean,\r\n required: true,\r\n default: false,\r\n },\r\n spaceTop: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n },\r\n setup() {},\r\n}\r\n","import { render } from \"./SendCalculationStepActions.vue?vue&type=template&id=0c362f48\"\nimport script from \"./SendCalculationStepActions.vue?vue&type=script&lang=js\"\nexport * from \"./SendCalculationStepActions.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { ref, onMounted } from \"vue\"\r\nimport _sendCalculationStepsCommonProps from \"../../foundation/js/configurations/_sendCalculationStepsCommonProps\"\r\nimport SendCalculationStepActions from \"../../../../Features/Blocks/SendCalculation/Actions/SendCalculationStepActions.vue\"\r\n\r\nexport default {\r\n name: \"SendCalculationStepContent\",\r\n props: _sendCalculationStepsCommonProps,\r\n components: {\r\n SendCalculationStepActions,\r\n },\r\n setup(props) {\r\n const firstNameInput = ref(props.getNamedFieldInputData.firstname)\r\n const lastNameInput = ref(props.getNamedFieldInputData.lastname)\r\n const emailInput = ref(props.getNamedFieldInputData.email)\r\n const contentClassnames = ref(\"nyk-signup-step__content--animation\")\r\n\r\n onMounted(() => {\r\n setTimeout(() => {\r\n contentClassnames.value = \"\"\r\n }, 1250)\r\n })\r\n\r\n\r\n return {\r\n firstNameInput,\r\n lastNameInput,\r\n emailInput,\r\n contentClassnames,\r\n }\r\n },\r\n}\r\n","import { render } from \"./SendCalculationStepContent.vue?vue&type=template&id=250fe053\"\nimport script from \"./SendCalculationStepContent.vue?vue&type=script&lang=js\"\nexport * from \"./SendCalculationStepContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\n import options from './SendCalculationStepInfo.options'\r\n export default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-send-calculation\" :class=\"{ 'nyk-send-calculation--multi-buttons': redirectLink || labels?.anchorId || labels?.anchorTitle }\">\r\n <div class=\"nyk-send-calculation__content\">\r\n <div class=\"nyk-send-calculation__content__info\">\r\n <p class=\"nyk-send-calculation__content__info__description\">\r\n <strong class=\"nyk-send-calculation__content__info__description__label\">\r\n {{ currentStepTexts.boldPrefixText }}\r\n </strong>\r\n </p>\r\n <p v-if=\"currentStepTexts.mainText\" class=\"nyk-send-calculation__content__info__description__text\">\r\n {{ currentStepTexts.mainText }}\r\n </p>\r\n </div>\r\n <template v-if=\"labels?.anchorId && labels?.anchorTitle\">\r\n <div class=\"nyk-send-calculation__content__actions\">\r\n <button v-on:click=\"nextStepCallback([])\" class=\"nyk-button nyk-button--outline-primary\">\r\n {{ currentStepTexts.buttonText }}\r\n </button>\r\n <a :href=\"`#${labels?.anchorId}`\" class=\"nyk-button nyk-button--filled-primary\" @click=\"navigateToAnchor\">{{ labels?.anchorTitle }}</a>\r\n </div>\r\n </template>\r\n\r\n <template v-else-if=\"redirectLink && redirectLink.url && redirectLink.text\">\r\n <div class=\"nyk-send-calculation__content__actions\">\r\n <button v-on:click=\"nextStepCallback([])\" class=\"nyk-button nyk-button--outline-primary\">\r\n {{ currentStepTexts.buttonText }}\r\n </button>\r\n <a :href=\"redirectLink.url\" class=\"nyk-button nyk-button--filled-primary\" :target=\"redirectLink.target\">{{ redirectLink.text }}</a>\r\n </div>\r\n </template>\r\n\r\n <template v-else>\r\n <button v-on:click=\"nextStepCallback([])\"\r\n class=\"nyk-send-calculation__content__link nyk-button nyk-button--filled-primary-dark\">\r\n {{ currentStepTexts.buttonText }}\r\n </button>\r\n\r\n <button\r\n :aria-label=\"labels.ariaCloseButtonLabel\"\r\n v-on:click=\"onCloseCallback\"\r\n class=\"nyk-signup-step-receipt__close nyk-js--send-calc-close-button\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n </template>\r\n </div>\r\n </article>\r\n</template>","import { ref, onMounted } from \"vue\"\r\nimport _sendCalculationStepsCommonProps from \"../../foundation/js/configurations/_sendCalculationStepsCommonProps\"\r\nimport SendCalculationStepActions from \"../../../../Features/Blocks/SendCalculation/Actions/SendCalculationStepActions.vue\"\r\n\r\nexport default {\r\n name: \"SendCalculationStepInfo\",\r\n props: _sendCalculationStepsCommonProps,\r\n components: {\r\n SendCalculationStepActions,\r\n },\r\n setup(props) {\r\n const contentClassnames = ref(\"nyk-signup-step__content--animation\")\r\n\r\n onMounted(() => {\r\n setTimeout(() => {\r\n contentClassnames.value = \"\"\r\n }, 1250)\r\n })\r\n\r\n\r\n const navigateToAnchor = ( () => {\r\n const anchorId = props.labels?.anchorId;\r\n\r\n if (!anchorId) return;\r\n\r\n const targetElement = document.getElementById(anchorId);\r\n\r\n if (targetElement && Array.from(targetElement.classList).some(cls => cls.startsWith(\"nyk-contact-card\"))) {\r\n document.dispatchEvent(new CustomEvent(\"triggerAnchorSkip\", { bubbles: true }));\r\n }\r\n })\r\n\r\n return {\r\n contentClassnames,\r\n navigateToAnchor,\r\n }\r\n }\r\n}\r\n","import { render } from \"./SendCalculationStepInfo.vue?vue&type=template&id=0a3ff879\"\nimport script from \"./SendCalculationStepInfo.vue?vue&type=script&lang=js\"\nexport * from \"./SendCalculationStepInfo.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./ContactStepComments.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-signup-step nyk-contact-step-comments\">\r\n <div class=\"nyk-signup-step__content\" :class=\"contentClassnames\">\r\n <div\r\n class=\"nyk-signup-step__content__section--66-width nyk-signup-step__content__section--full-width-mobile\">\r\n <div class=\"nyk-signup-step__header\">\r\n <h2 class=\"nyk-signup-step__title\">{{ currentStepTexts.title }}</h2>\r\n <p class=\"nyk-signup-step__stepcounter\">Step {{ stepCounterText }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-signup-step__mt-auto nyk-signup-step__content__section--full-width\">\r\n <div\r\n class=\"nyk-signup-step__mt-auto nyk-signup-step__content__section--66-width nyk-signup-step__content__section--full-width-mobile\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"labels.commentPlaceholder ?? 'Evt. kommentar'\"\r\n v-model=\"commentsInput\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'comment', value: commentsInput }])\" />\r\n </div>\r\n\r\n <SignupStepActions\r\n :previousStepCallback=\"previousStepCallback\"\r\n :nextStepCallback=\"() => nextStepCallback([{ field: 'comment', value: commentsInput }])\"\r\n :nextStepButtonText=\"currentStepTexts.next\"\r\n :stepCounterText=\"stepCounterText\"\r\n :hasPreviousStep=\"hasPreviousStep\" />\r\n </div>\r\n </div>\r\n </article>\r\n</template>\r\n","<script>\r\nimport options from './SignupStepActions.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <template v-if=\"hasPreviousStep\">\r\n <div :class=\"`nyk-signup-step-actions ${spaceTop ? '' : 'nyk-signup-step-actions--no-space-top'}`\">\r\n <p class=\"nyk-signup-step-actions__stepcounter nyk-signup-step__stepcounter\">\r\n {{ stepCounterText }}\r\n </p>\r\n\r\n <div class=\"nyk-signup-step-actions__action\">\r\n <button\r\n v-on:click=\"previousStepCallback\"\r\n aria-label=\"tilbage\"\r\n class=\"nyk-signup-step-actions__action__button nyk-button nyk-button--link-circle-arrow left\">\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\">\r\n <path\r\n fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\"></path>\r\n </svg>\r\n </div>\r\n </button>\r\n </div>\r\n\r\n <button v-on:click=\"nextStepCallback\" class=\"nyk-signup-step-actions__action nyk-signup-step-actions__action--end\">\r\n <p class=\"nyk-signup-step-actions__action__text\">{{ nextStepButtonText }}</p>\r\n <div class=\"nyk-signup-step-actions__action__button nyk-button nyk-button--link-circle-arrow right\">\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\">\r\n <path\r\n fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n </template>\r\n\r\n <template v-else>\r\n <div :class=\"`nyk-signup-step-actions ${spaceTop ? '' : 'nyk-signup-step-actions--no-space-top'} nyk-signup-step-actions--no-prev`\">\r\n <p class=\"nyk-signup-step__stepcounter\">\r\n {{ stepCounterText }}\r\n </p>\r\n\r\n <button v-on:click=\"nextStepCallback\" class=\"nyk-signup-step-actions__action nyk-signup-step-actions__action--end\">\r\n <p class=\"nyk-signup-step-actions__action__text\">{{ nextStepButtonText }}</p>\r\n <div class=\"nyk-signup-step-actions__action__button nyk-button nyk-button--link-circle-arrow right\">\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\">\r\n <path\r\n fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n </template>\r\n</template>\r\n","import _signupStepsCommonProps from \"../../../../../Frontend/src/foundation/js/configurations/_signupStepsCommonProps\"\r\n\r\nexport default {\r\n name: \"SignupStepActions\",\r\n props: {\r\n previousStepCallback: {\r\n type: Function,\r\n required: false,\r\n },\r\n nextStepCallback: {\r\n type: Function,\r\n required: true,\r\n },\r\n nextStepButtonText: {\r\n type: String,\r\n required: true,\r\n },\r\n stepCounterText: {\r\n type: String,\r\n required: true,\r\n },\r\n hasPreviousStep: {\r\n type: Boolean,\r\n required: true,\r\n default: false,\r\n },\r\n spaceTop: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n },\r\n setup() {},\r\n}\r\n","import { render } from \"./SignupStepActions.vue?vue&type=template&id=24badd9c\"\nimport script from \"./SignupStepActions.vue?vue&type=script&lang=js\"\nexport * from \"./SignupStepActions.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { onMounted, ref } from \"vue\"\r\nimport _signupStepsCommonProps from \"../../foundation/js/configurations/_signupStepsCommonProps\"\r\nimport SignupStepActions from \"../../../../Features/Blocks/Newsletters/NewslettersSignup/SignupStepActions/SignupStepActions.vue\"\r\n\r\nexport default {\r\n name: \"ContactStepComments\",\r\n components: {\r\n SignupStepActions,\r\n },\r\n props: _signupStepsCommonProps,\r\n setup(props) {\r\n const commentsInput = ref(props.getNamedFieldInputData.comment)\r\n const contentClassnames = ref(\"nyk-signup-step__content--animation\")\r\n\r\n onMounted(() => {\r\n setTimeout(() => {\r\n contentClassnames.value = \"\"\r\n }, 1250)\r\n })\r\n return {\r\n commentsInput,\r\n contentClassnames,\r\n }\r\n },\r\n}\r\n","import { render } from \"./ContactStepComments.vue?vue&type=template&id=1b760411\"\nimport script from \"./ContactStepComments.vue?vue&type=script&lang=js\"\nexport * from \"./ContactStepComments.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { computed, onMounted, ref } from 'vue'\r\nimport emailValidator from '../../foundation/js/inputValidators/emailValidator'\r\nimport notEmptyInput from '../../foundation/js/inputValidators/notEmptyInput'\r\nimport getSalesforceId from '../../foundation/js/sendCalculation/getSalesforceId'\r\nimport sendCalculationSubmit from '../../foundation/js/sendCalculation/sendCalculationSubmit'\r\nimport getUserInformation from '../../foundation/js/sendCalculation/getUserInformation'\r\nimport getGeneralComputedValues from '../../foundation/js/signupFlows/getGeneralComputedValues'\r\nimport handleValidateInputAndProceed from '../../foundation/js/signupFlows/handleValidateInputAndProceed'\r\nimport { registerGtmDataLayer } from '../../../../Features/Blocks/Video/gtmDataLayerService'\r\n\r\nimport SignupStepReceipt from '../../../../Features/Blocks/Newsletters/NewslettersSignup/SignupStepReceipt/SignupStepReceipt.vue'\r\nimport ContactStepIntro from '../ContactStepIntro/ContactStepIntro.vue'\r\nimport SendCalculationStepContent from '../SendCalculationStepContent/SendCalculationStepContent.vue'\r\nimport SendCalculationStepInfo from '../SendCalculationStepInfo/SendCalculationStepInfo.vue'\r\nimport ContactStepComments from '../ContactStepComments/ContactStepComments.vue'\r\n\r\nexport default {\r\n name: 'SendCalculation',\r\n components: {\r\n ContactStepIntro,\r\n SendCalculationStepInfo,\r\n SendCalculationStepContent,\r\n ContactStepComments,\r\n SignupStepReceipt,\r\n },\r\n props: {\r\n labels: {\r\n type: Object,\r\n required: true,\r\n },\r\n salesforceidApiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n sendCalculationApiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n userInformationApiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n calculatorType: {\r\n type: String,\r\n required: true,\r\n },\r\n backgroundColor: {\r\n type: String,\r\n required: false,\r\n default: 'gamma',\r\n },\r\n initStartFlow: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n redirectLink: {\r\n type: Object,\r\n required: false,\r\n },\r\n onCloseCallback: {\r\n type: Function,\r\n required: false,\r\n },\r\n onResetCallback: {\r\n type: Function,\r\n required: false,\r\n }\r\n },\r\n setup(props) {\r\n const bgColorClassName = computed(() => {\r\n return `nyk-send-calculation--${props.backgroundColor}`\r\n })\r\n\r\n const sendCalculationClassNames = computed(() => {\r\n return `${bgColorClassName.value}`\r\n })\r\n\r\n // this object contains the entire set of inputs available for the complete form.\r\n const userInput = ref([\r\n {\r\n field: 'firstname',\r\n value: '',\r\n validator: notEmptyInput,\r\n isValid: false,\r\n },\r\n {\r\n field: 'lastname',\r\n value: '',\r\n validator: notEmptyInput,\r\n isValid: false,\r\n },\r\n {\r\n field: 'email',\r\n value: '', // you can prefill the inputfield by adding a value here.\r\n validator: emailValidator,\r\n isValid: false,\r\n },\r\n ])\r\n\r\n let showSendCalculation = ref(true)\r\n\r\n // this object contains stepinformation.\r\n // all steps are described here\r\n let stepsConfigAndOrder = ref([\r\n {\r\n step: 1,\r\n name: 'SendCalculationStepInfo',\r\n completed: false,\r\n isCountableStep: false,\r\n texts: {\r\n boldPrefixText: props.labels.boldPrefixText,\r\n mainText: props.labels.mainText,\r\n buttonText: props.labels.buttonText,\r\n },\r\n },\r\n {\r\n step: 2,\r\n name: 'SendCalculationStepContent',\r\n completed: false,\r\n isCountableStep: false,\r\n texts: {\r\n title: props.labels.title,\r\n summary: props.labels.consent,\r\n },\r\n },\r\n {\r\n step: 3,\r\n name: 'SignupStepReceipt',\r\n completed: false,\r\n isCountableStep: false,\r\n texts: {\r\n title: props.labels.receiptTitle,\r\n summary: props.labels.receipt,\r\n finishSignupLabel: props.labels.finishSignupLabel ?? '',\r\n },\r\n },\r\n ])\r\n\r\n onMounted(() => {\r\n if (props.initStartFlow) {\r\n stepsConfigAndOrder.value[0].completed = true\r\n }\r\n })\r\n\r\n const displayInputError = ref(false)\r\n\r\n const {\r\n getNamedFieldInputData,\r\n resetSignupForm,\r\n currentStepName,\r\n currentStepTexts,\r\n hasPreviousStep,\r\n stepCounterText,\r\n showFieldErrorMessage,\r\n returnToPreviousStep,\r\n } = getGeneralComputedValues(userInput.value, stepsConfigAndOrder.value, props.labels)\r\n\r\n const validateInputAndProceed = function (inputData) {\r\n const validSuccess = handleValidateInputAndProceed(\r\n inputData,\r\n userInput.value,\r\n stepsConfigAndOrder.value,\r\n currentStepName.value,\r\n submitData\r\n )\r\n\r\n displayInputError.value = validSuccess\r\n }\r\n\r\n const submitData = async function (inputData) {\r\n const body = {\r\n firstName: inputData.find((field) => field.field === 'firstname').value,\r\n lastName: inputData.find((field) => field.field === 'lastname').value,\r\n email: inputData.find((field) => field.field === 'email').value,\r\n }\r\n\r\n let beregnTracking = {\r\n event: `track-event.${props.calculatorType}_sendberegning`,\r\n eventCategory: 'sendberegning',\r\n eventAction: props.calculatorType,\r\n eventLabel: 'submit',\r\n eventValue: '0',\r\n userType: 'privat',\r\n }\r\n\r\n registerGtmDataLayer(beregnTracking)\r\n\r\n await getUserInformation(body, props.userInformationApiUrl)\r\n // check if the user exists in salesforce\r\n const response = await getSalesforceId(body, props.salesforceidApiUrl)\r\n\r\n const sendCalculationBody = {\r\n email: inputData.find((field) => field.field === 'email').value,\r\n firstName: inputData.find((field) => field.field === 'firstname').value,\r\n lastName: inputData.find((field) => field.field === 'lastname').value,\r\n ...(typeof response.data === 'string' && { salesforceId: response.data }),\r\n calculatorType: props.calculatorType,\r\n }\r\n\r\n await sendCalculationSubmit(sendCalculationBody, props.sendCalculationApiUrl)\r\n }\r\n\r\n const onReset = () => {\r\n if (props.onResetCallback) {\r\n resetSignupForm()\r\n props.onResetCallback()\r\n }\r\n showSendCalculation.value = false\r\n }\r\n\r\n const onClose = () => {\r\n if (props.onCloseCallback) {\r\n props.onCloseCallback()\r\n }\r\n showSendCalculation.value = false\r\n }\r\n \r\n return {\r\n currentStepTexts,\r\n displayInputError,\r\n currentStepName,\r\n getNamedFieldInputData,\r\n validateInputAndProceed,\r\n stepCounterText,\r\n returnToPreviousStep,\r\n showFieldErrorMessage,\r\n hasPreviousStep,\r\n resetSignupForm,\r\n sendCalculationClassNames,\r\n onReset,\r\n showSendCalculation,\r\n onClose,\r\n }\r\n },\r\n}\r\n","<script>\r\nimport options from './SendCalculation.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-contact-card\" :class=\"sendCalculationClassNames\">\r\n <component\r\n v-if=\"showSendCalculation\"\r\n :is=\"currentStepName\"\r\n :nextStepCallback=\"validateInputAndProceed\"\r\n :previousStepCallback=\"returnToPreviousStep\"\r\n :displayInputError=\"displayInputError\"\r\n :currentStepTexts=\"currentStepTexts\"\r\n :hasPreviousStep=\"hasPreviousStep\"\r\n :resetSignupForm=\"onClose\"\r\n :getNamedFieldInputData=\"getNamedFieldInputData\"\r\n :showFieldErrorMessage=\"showFieldErrorMessage\"\r\n :stepCounterText=\"stepCounterText\"\r\n :redirectLink=\"redirectLink\"\r\n :onCloseCallback=\"onClose\"\r\n :labels=\"labels\" />\r\n </article>\r\n</template>\r\n","import { render } from \"./SendCalculation.vue?vue&type=template&id=35f0314a\"\nimport script from \"./SendCalculation.vue?vue&type=script&lang=js\"\nexport * from \"./SendCalculation.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import _layoutComponentsProps from '../_layoutComponentsProps'\r\nimport CalculatorTable from '../../components/CalculatorTable/CalculatorTable.vue'\r\nimport CalculatorCompareTable from '../../components/CalculatorCompareTable/CalculatorCompareTable.vue'\r\nimport CalculatorSummary from '../../components/CalculatorSummary/CalculatorSummary.vue'\r\nimport CalculatorInfoBox from '../../components/CalculatorInfoBox/CalculatorInfoBox.vue'\r\nimport SendCalculation from '../../../../../../../Frontend/src/components/SendCalculation/SendCalculation.vue'\r\nimport { getTableHeaders, getTableRows } from '../mapTableData'\r\n\r\nexport default {\r\n name: 'NewLoanCalculatorResultDesktop',\r\n components: {\r\n CalculatorTable,\r\n CalculatorCompareTable,\r\n CalculatorSummary,\r\n CalculatorInfoBox,\r\n SendCalculation,\r\n },\r\n props: _layoutComponentsProps,\r\n setup() {\r\n return {\r\n getTableHeaders,\r\n getTableRows,\r\n }\r\n },\r\n}\r\n","import { render } from \"./NewLoanCalculatorResultDesktop.vue?vue&type=template&id=57d6f0f2\"\nimport script from \"./NewLoanCalculatorResultDesktop.vue?vue&type=script&lang=js\"\nexport * from \"./NewLoanCalculatorResultDesktop.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from './NewLoanCalculatorResultMobile.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-new-loan-calculator-result-mobile\">\r\n <button v-if=\"summaries.length > 1\" v-on:click=\"quitCompareMode\" class=\"nyk-new-loan-calculator-result__back-button\">\r\n <div class=\"nyk-new-loan-calculator-result__back-button-icon\">\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 13\">\r\n <path fill=\"#07094A\" d=\"M16 7.218V5.762H3.005L7.461.748 6.694 0 0 6.51 6.694 13l.767-.748-4.456-5.034H16Z\" />\r\n </svg>\r\n </div>\r\n </div>\r\n <span class=\"nyk-new-loan-calculator-result__back-button-label\">{{ labels.backButtonLabel }}</span>\r\n </button>\r\n\r\n <h1 class=\"nyk-new-loan-calculator-result__title\" aria-live=\"polite\" v-if=\"labels.resultTitle && labels.compareTitle\">\r\n {{ summaries.length > 1 ? labels.compareTitle : labels.resultTitle }}\r\n </h1>\r\n\r\n <div\r\n class=\"nyk-new-loan-calculator-result__info-container\"\r\n :class=\"{ 'nyk-new-loan-calculator-result__info-container--multiple': summaries.length > 1 }\">\r\n <template v-if=\"summaries.length === 1\" v-for=\"(summary, singleSummaryIndex) in summaries\" :key=\"singleSummaryIndex\">\r\n <CalculatorSummary\r\n v-if=\"summary\"\r\n :data=\"summary\"\r\n :labels=\"labels\"\r\n :hasHousingTypes=\"getLoanTypesForSummary(singleSummaryIndex).length > 1\"\r\n :onCallback=\"() => switchLoanTypeWithRedirect(singleSummaryIndex)\" />\r\n\r\n <div class=\"nyk-new-loan-calculator-result__info-container-actions\">\r\n <button\r\n :class=\"`nyk-button ${\r\n showSendCalculation ? 'nyk-button--filled-primary-dark' : 'nyk-button--outline-primary'\r\n } nyk-button--send-calc nyk-js--send-calc`\"\r\n :aria-expanded=\"showSendCalculation\"\r\n v-on:click=\"openSendCalculationsModal\">\r\n {{ labels.sendCalculationButtonLabel }}\r\n </button>\r\n <button class=\"nyk-button nyk-button--outline-primary\" v-on:click=\"openCompareLoanModal\">\r\n {{ labels.compareLoanButtonLabel }}\r\n </button>\r\n <button\r\n class=\"nyk-button nyk-button--outline-primary\"\r\n aria-haspopup=\"true\"\r\n v-on:click=\"() => adjustLoanWithRedirect(singleSummaryIndex)\">\r\n {{ labels.adjustLoanButtonLabel }}\r\n </button>\r\n </div>\r\n\r\n <CalculatorInfoBox v-if=\"infoBox[singleSummaryIndex]\" :data=\"infoBox[singleSummaryIndex]\" />\r\n </template>\r\n\r\n <template v-else v-for=\"(summary, multipleSummariesIndex) in summaries\" :key=\"multipleSummariesIndex\">\r\n <div class=\"nyk-new-loan-calculator-result__info-container-wrapper\">\r\n <CalculatorSummary\r\n v-if=\"summary\"\r\n :data=\"summary\"\r\n :labels=\"labels\"\r\n :onCallback=\"() => switchLoanType(multipleSummariesIndex)\"\r\n :hasHousingTypes=\"getLoanTypesForSummary(multipleSummariesIndex).length > 1\"\r\n :hasGraph=\"false\" />\r\n\r\n <button\r\n class=\"nyk-button nyk-button--outline-primary\"\r\n aria-haspopup=\"true\"\r\n v-on:click=\"() => adjustLoan(multipleSummariesIndex)\">\r\n {{ labels.adjustLoanButtonLabel }}\r\n </button>\r\n </div>\r\n </template>\r\n </div>\r\n\r\n <SendCalculation\r\n v-if=\"sendCalculation && summaries.length === 1\"\r\n :labels=\"sendCalculation.labels\"\r\n :salesforceidApiUrl=\"sendCalculation.salesforceidApiUrl\"\r\n :sendCalculationApiUrl=\"sendCalculation.sendCalculationApiUrl\"\r\n :userInformationApiUrl=\"sendCalculation.userInformationApiUrl\"\r\n :calculatorType=\"sendCalculation.calculatorType\"\r\n :backgroundColor=\"sendCalculation.backgroundColor\"\r\n :redirectLink=\"sendCalculation.redirectLink\"\r\n :onResetCallback=\"() => {}\" />\r\n\r\n <div class=\"nyk-new-loan-calculator-result__table-sections\">\r\n <template v-if=\"tables.length === 1\" v-for=\"(table, tableIndex) in tables\" :key=\"tableIndex\">\r\n <section class=\"nyk-new-loan-calculator-result__table-sections__content\" :id=\"`table_${tableIndex}`\">\r\n <template v-for=\"(group, groupIndex) in table\" :key=\"groupIndex\">\r\n <h2 class=\"nyk-new-loan-calculator-result__table-sections__content-title\">{{ group.title }}</h2>\r\n\r\n <template v-for=\"(table, tableIndex) in group.tables\" :key=\"tableIndex\">\r\n <CalculatorTable\r\n :headers=\"getTableHeaders(table)\"\r\n :tooltip=\"table.tooltip\"\r\n :collapse=\"table.value ? true : false\"\r\n :rows=\"getTableRows(table)\"\r\n :labels=\"labels\" />\r\n </template>\r\n </template>\r\n </section>\r\n </template>\r\n \r\n <CalculatorCompareTable \r\n v-if=\"tables.length > 1\" \r\n :tables=\"tables\" \r\n :labels=\"labels\" \r\n />\r\n </div>\r\n </article>\r\n</template>\r\n","import _layoutComponentsProps from '../_layoutComponentsProps'\r\nimport CalculatorTable from '../../components/CalculatorTable/CalculatorTable.vue'\r\nimport CalculatorCompareTable from '../../components/CalculatorCompareTable/CalculatorCompareTable.vue'\r\nimport CalculatorSummary from '../../components/CalculatorSummary/CalculatorSummary.vue'\r\nimport CalculatorInfoBox from '../../components/CalculatorInfoBox/CalculatorInfoBox.vue'\r\nimport SendCalculation from '../../../../../../../Frontend/src/components/SendCalculation/SendCalculation.vue'\r\nimport { getTableHeaders, getTableRows } from '../mapTableData'\r\n\r\nexport default {\r\n name: 'NewLoanCalculatorResultMobile',\r\n components: {\r\n CalculatorTable,\r\n CalculatorCompareTable,\r\n CalculatorSummary,\r\n CalculatorInfoBox,\r\n SendCalculation,\r\n },\r\n props: _layoutComponentsProps,\r\n setup() {\r\n return {\r\n getTableHeaders,\r\n getTableRows,\r\n }\r\n },\r\n}\r\n","import { render } from \"./NewLoanCalculatorResultMobile.vue?vue&type=template&id=5bd685e6\"\nimport script from \"./NewLoanCalculatorResultMobile.vue?vue&type=script&lang=js\"\nexport * from \"./NewLoanCalculatorResultMobile.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { computed, ref, watch, onMounted } from 'vue'\r\nimport { useStore } from 'vuex'\r\nimport Modal from '../components/Modal/Modal.vue'\r\nimport mapNewLoanUrlParams from '../js/mapNewLoanUrlParams'\r\nimport { getTableHeaders, getTableRows } from './mapTableData'\r\nimport { openAdjustLoanModel, openSwitchLoanTypeModal } from './handleCalcModals'\r\nimport apiGetCalculatorData from './apiGetCalculatorData'\r\nimport NewLoanCalculatorResultDesktop from './NewLoanCalculatorResultDesktop/NewLoanCalculatorResultDesktop.vue'\r\nimport NewLoanCalculatorResultMobile from './NewLoanCalculatorResultMobile/NewLoanCalculatorResultMobile.vue'\r\nimport { registerGtmDataLayer } from '../../../../Video/gtmDataLayerService'\r\n\r\nexport default {\r\n name: 'NewLoanCalculatorResult',\r\n components: {\r\n NewLoanCalculatorResultDesktop,\r\n NewLoanCalculatorResultMobile,\r\n Modal,\r\n },\r\n props: {\r\n labels: {\r\n type: Object,\r\n required: true,\r\n },\r\n apiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n blockId: {\r\n type: String,\r\n required: true,\r\n },\r\n tableGroups: {\r\n type: Array,\r\n required: true,\r\n default: [],\r\n },\r\n housingTypes: {\r\n type: Array,\r\n required: true,\r\n default: [],\r\n },\r\n initData: {\r\n type: Object,\r\n required: true,\r\n },\r\n summary: {\r\n type: Object,\r\n required: true,\r\n },\r\n showSendCalculation: {\r\n type: Boolean,\r\n default: false\r\n },\r\n infoBox: {\r\n type: Object,\r\n required: true,\r\n },\r\n sendCalculation: {\r\n type: Object,\r\n required: false,\r\n },\r\n },\r\n setup(props) {\r\n const store = useStore()\r\n\r\n // DATA FOR RENDERING\r\n const infoBox = ref([{ ...props.infoBox }])\r\n const summaries = ref([{ ...props.summary }])\r\n const tables = ref([[ ...props.tableGroups ]])\r\n const calculationData = ref([{ ...props.initData }])\r\n const showSendCalculation = ref(false)\r\n const isLoading = ref(false)\r\n\r\n const modalOpen = computed(() => store.state.modal.open)\r\n\r\n const getLoanTypesForSummary = (index) => {\r\n const currentType = props.housingTypes.find((item) => item.keyName === calculationData.value[index].housingType)\r\n return currentType?.loanTypes ?? []\r\n }\r\n\r\n function AddCalculationToCookie() {\r\n var cookieName = \"newLoanCalculation\";\r\n var cookieValue = window.location.href;\r\n var expires = \"; expires=\" + new Date(Date.now() + 24 * 60 * 60 * 1000).toUTCString();\r\n\r\n document.cookie = cookieName + \"=\" + cookieValue + expires + \"; path=/; SameSite=Lax\";\r\n }\r\n\r\n onMounted(() => {\r\n AddCalculationToCookie()\r\n })\r\n\r\n watch(isLoading, (value) => {\r\n store.dispatch('modal/setIsLoading', { isLoading: value })\r\n })\r\n\r\n // SET CALCULATION DATA\r\n const setCalculationData = (data, index) => {\r\n if (data.loanType) calculationData.value[index].loanType = data.loanType\r\n if (data.housePrice) calculationData.value[index].housePrice = parseFloat(data.housePrice)\r\n if (data.ownPayment) calculationData.value[index].ownPayment = parseFloat(data.ownPayment)\r\n if (data.housingType) calculationData.value[index].housingType = data.housingType\r\n if (data.mortgageLoanInterestOnlyLength)\r\n calculationData.value[index].mortgageLoanInterestOnlyLength = parseFloat(data.mortgageLoanInterestOnlyLength)\r\n if (data.mortgageLoanTenureLength)\r\n calculationData.value[index].mortgageLoanTenureLength = parseFloat(data.mortgageLoanTenureLength)\r\n if (data.bankLoanTenureLength) calculationData.value[index].bankLoanTenureLength = parseFloat(data.bankLoanTenureLength)\r\n }\r\n\r\n const setResponseData = (response, index) => {\r\n if (index !== null) {\r\n summaries.value[index] = { ...response.summary }\r\n tables.value[index] = [ ...response.tableGroups ]\r\n calculationData.value[index] = { ...response.initData }\r\n infoBox.value[index] = { ...response.infoBox }\r\n } else {\r\n summaries.value.push({ ...response.summary })\r\n tables.value.push([ ...response.tableGroups ])\r\n calculationData.value.push({ ...response.initData })\r\n infoBox.value.push({ ...response.infoBox })\r\n }\r\n }\r\n\r\n const redirect = () => {\r\n const rootPath = window.location.href.replace(window.location.search, '')\r\n const params = mapNewLoanUrlParams({\r\n housePrice: calculationData.value[0].housePrice,\r\n ownPayment: calculationData.value[0].ownPayment,\r\n housingType: calculationData.value[0].housingType,\r\n mortgageLoanInterestOnlyLength: calculationData.value[0].mortgageLoanInterestOnlyLength,\r\n mortgageLoanTenureLength: calculationData.value[0].mortgageLoanTenureLength,\r\n bankLoanTenureLength: calculationData.value[0].bankLoanTenureLength,\r\n productType: calculationData.value[0].loanType,\r\n })\r\n window.location.href = rootPath + params\r\n }\r\n\r\n // HANDLE MODALS\r\n // SwitchLoanTypeContent\r\n const switchLoanTypeProps = (index, callback) => ({\r\n currentHousingType: getLoanTypesForSummary(index),\r\n labels: props.labels,\r\n index: index,\r\n selectedLoanType: calculationData.value[index].loanType,\r\n onCallback: callback,\r\n })\r\n\r\n const switchLoanType = function (index) {\r\n const handleCallback = async function (loanType, currentIndex) {\r\n setCalculationData({ loanType }, currentIndex)\r\n\r\n const loadingTimeout = setTimeout(() => {\r\n isLoading.value = true\r\n }, 100)\r\n\r\n const response = await apiGetCalculatorData(calculationData.value[currentIndex], props.apiUrl, props.blockId)\r\n setResponseData(response, currentIndex)\r\n\r\n store.dispatch('modal/setOpen', { open: false })\r\n\r\n clearTimeout(loadingTimeout)\r\n isLoading.value = false\r\n }\r\n\r\n openSwitchLoanTypeModal(store, switchLoanTypeProps(index, handleCallback), props.labels.loanTypesTitle)\r\n }\r\n\r\n const switchLoanTypeWithRedirect = function (index) {\r\n const handleCallback = function (loanType, currentIndex) {\r\n setCalculationData({ loanType }, currentIndex)\r\n\r\n const loadingTimeout = setTimeout(() => {\r\n isLoading.value = true\r\n }, 100)\r\n setTimeout(() => redirect(), 50)\r\n }\r\n\r\n openSwitchLoanTypeModal(store, switchLoanTypeProps(index, handleCallback), props.labels.loanTypesTitle)\r\n }\r\n\r\n // AdjustLoanContent\r\n const adjustLoanProps = (index, callback) => {\r\n const housingTypesClone = [ ...props.housingTypes ]\r\n housingTypesClone.forEach((item) => item.selected = false) // Reset selected\r\n \r\n return {\r\n labels: props.labels,\r\n housingTypes: housingTypesClone,\r\n showHousingTypes: calculationData.value.length === 1,\r\n index: index,\r\n initData: calculationData.value[index],\r\n onCallback: callback\r\n }\r\n }\r\n\r\n const adjustLoan = function (index) {\r\n const handleCallback = async function (data, currentIndex) {\r\n setCalculationData(data, currentIndex)\r\n\r\n const loadingTimeout = setTimeout(() => {\r\n isLoading.value = true\r\n }, 100)\r\n\r\n const response = await apiGetCalculatorData(calculationData.value[currentIndex], props.apiUrl, props.blockId)\r\n\r\n setResponseData(response, currentIndex)\r\n\r\n store.dispatch('modal/setOpen', { open: false })\r\n\r\n clearTimeout(loadingTimeout)\r\n isLoading.value = false\r\n }\r\n\r\n openAdjustLoanModel(store,\r\n adjustLoanProps(index, handleCallback),\r\n props.labels.adjustLoanModalTitle,\r\n summaries.value[index].title)\r\n }\r\n\r\n const adjustLoanWithRedirect = function (index) {\r\n const handleCallback = function (data) {\r\n setCalculationData(data, 0)\r\n const loadingTimeout = setTimeout(() => {\r\n isLoading.value = true\r\n }, 100)\r\n setTimeout(() => redirect(), 50)\r\n }\r\n\r\n openAdjustLoanModel(store,\r\n adjustLoanProps(index, handleCallback),\r\n props.labels.adjustLoanModalTitle,\r\n summaries.value[index].title)\r\n }\r\n\r\n const openCompareLoanModal = async function (e) {\r\n e.target.disabled = true\r\n\r\n const clone = { ...calculationData.value[0] }\r\n const houseType = props.housingTypes.find((item) => item.keyName === clone.housingType)\r\n const loanType = houseType?.loanTypes.find((item) => item.type === clone.loanType)\r\n\r\n clone.loanType = clone.loanType = loanType?.defaultCompareLoanType ?? props.initData?.defaultCompareLoanType\r\n clone.mortgageLoanInterestOnlyLength = houseType?.defaultMortgageLoanInterestOnlyLength ?? 0\r\n clone.mortgageLoanTenureLength = houseType?.defaultMortgageLoanTenureLength ?? 0\r\n clone.bankLoanTenureLength = houseType?.defaultBankLoanTenureLength ?? 0\r\n\r\n const loadingTimeout = setTimeout(() => {\r\n isLoading.value = true\r\n }, 100)\r\n\r\n const response = await apiGetCalculatorData(clone, props.apiUrl, props.blockId)\r\n setResponseData(response, null)\r\n\r\n clearTimeout(loadingTimeout)\r\n isLoading.value = false\r\n\r\n setTimeout(() => {\r\n e.target.disabled = false\r\n }, 500)\r\n\r\n // close send calculation component\r\n showSendCalculation.value = false\r\n\r\n window.scrollTo(0, 0)\r\n\r\n // Google Tag Manager\r\n registerGtmDataLayer({\r\n event: 'track-event.click_sammenlignlaan',\r\n eventAction: 'click',\r\n eventCategory: 'beregner',\r\n eventLabel: 'sammenlign_laan',\r\n event_source: '-277',\r\n })\r\n }\r\n\r\n const quitCompareMode = function () {\r\n summaries.value.pop()\r\n tables.value.pop()\r\n calculationData.value.pop()\r\n }\r\n\r\n const openSendCalculationsModal = function () {\r\n showSendCalculation.value = !showSendCalculation.value\r\n\r\n if (showSendCalculation.value) {\r\n setTimeout(() => document.querySelector('.nyk-js--send-calc-close-button')?.focus(), 300)\r\n }\r\n }\r\n\r\n const closeSendCalculationModal = () => {\r\n showSendCalculation.value = false\r\n document.querySelector('.nyk-js--send-calc')?.focus()\r\n }\r\n\r\n return {\r\n infoBox,\r\n summaries,\r\n tables,\r\n showSendCalculation,\r\n isLoading,\r\n modalOpen,\r\n getLoanTypesForSummary,\r\n getTableHeaders,\r\n getTableRows,\r\n switchLoanType,\r\n switchLoanTypeWithRedirect,\r\n openSendCalculationsModal,\r\n openCompareLoanModal,\r\n adjustLoan,\r\n adjustLoanWithRedirect,\r\n quitCompareMode,\r\n closeSendCalculationModal,\r\n }\r\n },\r\n}","import { render } from \"./NewLoanCalculatorResult.vue?vue&type=template&id=863edbd6\"\nimport script from \"./NewLoanCalculatorResult.vue?vue&type=script&lang=js\"\nexport * from \"./NewLoanCalculatorResult.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./SignupMultipleNewsletters.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <div class=\"nyk-signup-multiple-newsletters\">\r\n <div ref=\"stepAnnouncerRef\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"nyk-visually-hidden\"></div>\r\n <component\r\n ref=\"currentStepComponentFocusRef\"\r\n :is=\"currentStepName\"\r\n :nextStepCallback=\"validateInputAndProceed\"\r\n :previousStepCallback=\"returnToPreviousStep\"\r\n :displayInputError=\"displayInputError\"\r\n :currentStepTexts=\"currentStepTexts\"\r\n :getNamedFieldInputData=\"getNamedFieldInputData\"\r\n :newslettersData=\"newsletters\"\r\n :hasPreviousStep=\"hasPreviousStep\"\r\n :showFieldErrorMessage=\"showFieldErrorMessage\"\r\n :resetSignupForm=\"resetSignupForm\"\r\n :inputCallback=\"inputCallback\"\r\n :stepCounterText=\"stepCounterText\" />\r\n </div>\r\n</template>\r\n","<script>\r\nimport options from \"./SignupStepEmail.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <section class=\"nyk-signup-step\">\r\n <div class=\"nyk-signup-step__content\">\r\n <div\r\n class=\"nyk-signup-step__content__section nyk-signup-step__content__section--half-width nyk-signup-step__content__section--full-width-mobile\">\r\n <div class=\"nyk-signup-step__header\">\r\n <h2 class=\"nyk-signup-step__title\">{{ currentStepTexts.title }}</h2>\r\n <p class=\"nyk-signup-step__stepcounter--mobile\">{{ stepCounterText }}</p>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"nyk-signup-step__summary nyk-signup-step__content__section--half-width nyk-signup-step__content__section--hide-mobile\"\r\n v-html=\"currentStepTexts.summary\"></div>\r\n\r\n <div\r\n class=\"nyk-signup-step__mt-auto nyk-signup-step__content__section nyk-signup-step__content__section--full-width nyk-signup-step__content__section--space-between\">\r\n <div\r\n aria-live=\"polite\"\r\n class=\"nyk-signup-step__content__section nyk-signup-step__content__section--full-width nyk-signup-step__general-input\">\r\n <label\r\n class=\"nyk-signup-step__label nyk-visually-hidden\"\r\n for=\"nyk-signup-step__input-email\"\r\n >{{ currentStepTexts.emailLabel }}</label>\r\n <input\r\n id=\"nyk-signup-step__input-email\"\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"currentStepTexts.emailLabel\"\r\n type=\"email\"\r\n autocomplete=\"email\"\r\n ref=\"emailInputElement\"\r\n v-model=\"emailInput\"\r\n v-on:keydown.enter=\"() => nextStepCallback([{ field: 'email', value: emailInput }])\" />\r\n <p class=\"nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError\">\r\n {{ currentStepTexts.emailErrorMessage ?? 'Indtast venligst en email adresse' }}\r\n <span class=\"nyk-icon nyk-icon--ui-form-error--primary\"></span>\r\n </template>\r\n </p>\r\n </div>\r\n\r\n <div class=\"nyk-signup-step__summary nyk-signup-step__summary--mobile\" v-html=\"currentStepTexts.summary\"></div>\r\n\r\n <SignupStepActions\r\n :previousStepCallback=\"previousStepCallback\"\r\n :nextStepCallback=\"() => nextStepCallback([{ field: 'email', value: emailInput }])\"\r\n :nextStepButtonText=\"currentStepTexts.next\"\r\n :stepCounterText=\"stepCounterText\"\r\n :hasPreviousStep=\"hasPreviousStep\" />\r\n </div>\r\n </div>\r\n </section>\r\n</template>\r\n","import { onUpdated, onMounted, onUnmounted, ref, defineExpose, watch } from \"vue\"\r\nimport _signupStepsCommonProps from \"../../../../../Frontend/src/foundation/js/configurations/_signupStepsCommonProps\"\r\nimport SignupStepActions from \"../SignupStepActions/SignupStepActions.vue\"\r\n\r\nexport default {\r\n name: \"SignupStepEmail\",\r\n props: _signupStepsCommonProps,\r\n components: {\r\n SignupStepActions,\r\n },\r\n setup(props) {\r\n const emailInput = ref(props.getNamedFieldInputData.email)\r\n const fontSizesDesktop = [56, 44, 32]\r\n const fontSizesMobile = [36, 24, 18]\r\n let resizeObserver = null\r\n\r\n // emailInputElement is used in the SignupSingleNewsletter and SignupMultipleNewsletters component\r\n const emailInputElement = ref(null)\r\n\r\n onMounted(() => {\r\n if(emailInputElement.value) {\r\n resizeObserver = new ResizeObserver(() => {\r\n adjustFontSize()\r\n })\r\n\r\n resizeObserver.observe(emailInputElement.value)\r\n }\r\n })\r\n\r\n watch(emailInput, (newEmailValue) => {\r\n if (props.inputCallback) {\r\n props.inputCallback(newEmailValue, 'email')\r\n }\r\n })\r\n\r\n onUpdated(() => {\r\n adjustFontSize()\r\n })\r\n\r\n onUnmounted(() => {\r\n if (resizeObserver && emailInputElement.value) {\r\n resizeObserver.unobserve(emailInputElement.value);\r\n }\r\n })\r\n\r\n const adjustFontSize = () => {\r\n if (emailInputElement.value) {\r\n const inputWidth = emailInputElement.value.offsetWidth\r\n const isMobileView = window.matchMedia('(max-width: 905px)').matches\r\n const fontSizes = isMobileView ? fontSizesMobile : fontSizesDesktop\r\n const resizePadding = Math.min(inputWidth * 0.1, 45)\r\n\r\n for (let i = 0; i < fontSizes.length; i++) {\r\n const fontSize = fontSizes[i] + 'px'\r\n const font = `${fontSize} ${window.getComputedStyle(emailInputElement.value).fontFamily}`\r\n let textWidth = calculateTextWidth(emailInput.value, font)\r\n\r\n if (textWidth <= inputWidth - resizePadding) {\r\n emailInputElement.value.style.fontSize = fontSize\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n const calculateTextWidth = (text, font) => {\r\n const canvas = document.createElement('canvas')\r\n const context = canvas.getContext('2d')\r\n context.font = font\r\n return context.measureText(text).width\r\n }\r\n \r\n return {\r\n emailInput,\r\n emailInputElement,\r\n }\r\n },\r\n}\r\n","import { render } from \"./SignupStepEmail.vue?vue&type=template&id=286546e2\"\nimport script from \"./SignupStepEmail.vue?vue&type=script&lang=js\"\nexport * from \"./SignupStepEmail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./SignupStepSelectNewsletters.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-signup-step\">\r\n <div class=\"nyk-signup-step__content\">\r\n <div\r\n class=\"nyk-signup-step__content__section nyk-signup-step__content__section--half-width nyk-signup-step__content__section--full-width-mobile\">\r\n <div class=\"nyk-signup-step__header nyk-signup-step-select-newsletters__title-spacing\">\r\n <h2 class=\"nyk-signup-step__title\">\r\n {{ currentStepTexts.title }}\r\n </h2>\r\n <p class=\"nyk-signup-step__stepcounter--mobile\">{{ stepCounterText }}</p>\r\n </div>\r\n <div\r\n class=\"nyk-signup-step__newsletters-options nyk-signup-step__inputs nyk-signup-step__inputs--stacked nyk-signup-step__content__section--full-width-mobile\">\r\n <template v-for=\"(field, index) in newsletterFields\" :key=\"index\">\r\n <div class=\"nyk-signup-step__checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"newsletter\"\r\n :id=\"`newsletter-${index}`\"\r\n class=\"nyk-signup-step__checkbox__input\"\r\n :checked=\"field.value\"\r\n v-model=\"field.value\" />\r\n <span class=\"nyk-signup-step__checkbox__checkmark\"></span>\r\n <label class=\"nyk-signup-step__checkbox__label\" :for=\"`newsletter-${index}`\">{{ field.field }}</label>\r\n <Tooltip :tooltip=\"field.tooltip\" :tooltipName=\"field.tooltipLabel\" />\r\n </div>\r\n </template>\r\n </div>\r\n </div>\r\n\r\n <div\r\n aria-live=\"polite\"\r\n class=\"nyk-signup-step__content__section nyk-signup-step__content__section--space-between nyk-signup-step__content__section--half-width nyk-signup-step__content__section--full-width-mobile\">\r\n <div class=\"nyk-signup-step__summary nyk-signup-step__summary--show-allways\" v-html=\"currentStepTexts.summary\"></div>\r\n\r\n <template v-if=\"displayError\">\r\n <div class=\"nyk-signup-step-select-newsletters__error\">\r\n <span class=\"nyk-signup-step-select-newsletters__error__text\"\r\n >Du kan ikke klikke ‘videre’ før du har valgt et nyhedsbrev</span\r\n >\r\n <div class=\"nyk-signup-step-select-newsletters__error__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 21 21\">\r\n <g clip-path=\"url(#a)\">\r\n <path\r\n fill=\"#FFFFFF\"\r\n d=\"M10.233.454c-5.513 0-10 4.486-10 10s4.487 10 10 10c5.514 0 10-4.486 10-10s-4.486-10-10-10Zm-.932 4.063c0-.173.14-.313.312-.313h1.24c.173 0 .313.14.313.313v7.5c0 .172-.14.312-.313.312h-1.24a.313.313 0 0 1-.312-.312v-7.5Zm.932 12.187a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5Z\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"a\"><path fill=\"#fff\" d=\"M.233.454h20v20h-20z\" /></clipPath>\r\n </defs>\r\n </svg>\r\n </div>\r\n </div>\r\n </template>\r\n </div>\r\n\r\n <SignupStepActions\r\n :spaceTop=\"false\"\r\n :previousStepCallback=\"previousStepCallback\"\r\n :nextStepCallback=\"handleNextStep\"\r\n :nextStepButtonText=\"currentStepTexts.next\"\r\n :stepCounterText=\"stepCounterText\"\r\n :hasPreviousStep=\"hasPreviousStep\" />\r\n </div>\r\n </article>\r\n</template>\r\n","<script>\r\nimport options from './Tooltip.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <div class=\"nyk-tooltip__container\" aria-live=\"polite\" v-if=\"tooltip\">\r\n <button\r\n @click=\"showDialog\"\r\n @keydown.enter=\"showDialog\"\r\n aria-haspopup=\"true\"\r\n :aria-label=\"tooltipName\"\r\n tabindex=\"0\"\r\n class=\"nyk-tooltip__tooltip-button\"\r\n :class=\"{ 'nyk-tooltip__tooltip-button--active': display }\"\r\n ref=\"highlighted\">\r\n i\r\n </button>\r\n\r\n <template v-if=\"display\">\r\n <div class=\"nyk-tooltip\" aria-tooltip ref=\"wordPopup\">\r\n <div class=\"nyk-tooltip__triangle\" ref=\"arrow\"></div>\r\n <p class=\"nyk-tooltip__definition\" v-html=\"tooltip\"></p>\r\n </div>\r\n </template>\r\n </div>\r\n</template>\r\n","import { computed, ref } from 'vue'\r\n\r\nexport default {\r\n name: 'Tooltip',\r\n props: {\r\n tooltip: {\r\n type: String,\r\n required: true,\r\n },\r\n tooltipName: {\r\n type: String,\r\n required: true,\r\n default: '',\r\n },\r\n },\r\n setup(props) {\r\n const display = ref(false)\r\n\r\n const setESChandler = () => {\r\n const handler = (event) => {\r\n if (event.key === 'Escape') {\r\n closeDialog()\r\n document.body.removeEventListener('keydown', handler)\r\n }\r\n }\r\n document.body.addEventListener('keydown', handler)\r\n }\r\n\r\n const highlighted = ref(null)\r\n const wordPopup = ref(null)\r\n const arrow = ref(null)\r\n\r\n const clickOutsideHandler = function (e) {\r\n if (wordPopup.value.contains(e.target)) return false\r\n e.preventDefault()\r\n closeDialog()\r\n }\r\n\r\n const tapTrap = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n closeDialog()\r\n highlighted.value.focus()\r\n }\r\n\r\n const showDialog = () => {\r\n setESChandler()\r\n\r\n if (!display.value) {\r\n display.value = true\r\n\r\n setTimeout(() => {\r\n const wordPopupRect = wordPopup.value.getBoundingClientRect()\r\n\r\n if (wordPopupRect.right + 40 > window.innerWidth) {\r\n wordPopup.value.style.marginLeft = `-${wordPopupRect.right + 20 - window.innerWidth}px`\r\n arrow.value.style.left = `calc(50% + ${wordPopupRect.right + 20 - window.innerWidth}px)`\r\n }\r\n\r\n document.body.addEventListener('click', clickOutsideHandler)\r\n }, 10)\r\n }\r\n }\r\n\r\n const closeDialog = () => {\r\n document.body.removeEventListener('click', clickOutsideHandler)\r\n display.value = false\r\n }\r\n\r\n return {\r\n arrow,\r\n closeDialog,\r\n display,\r\n highlighted,\r\n showDialog,\r\n tapTrap,\r\n wordPopup,\r\n }\r\n },\r\n}\r\n","import { render } from \"./Tooltip.vue?vue&type=template&id=7a0eef4c\"\nimport script from \"./Tooltip.vue?vue&type=script&lang=js\"\nexport * from \"./Tooltip.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { onMounted, ref } from \"vue\"\r\nimport _signupStepsCommonProps from \"../../../../../Frontend/src/foundation/js/configurations/_signupStepsCommonProps\"\r\nimport SignupStepActions from \"../SignupStepActions/SignupStepActions.vue\"\r\nimport Tooltip from \"../../../../../Frontend/src/components/Tooltip/Tooltip.vue\"\r\n\r\nexport default {\r\n name: \"SignupStepSelectNewsletters\",\r\n props: _signupStepsCommonProps,\r\n components: {\r\n SignupStepActions,\r\n Tooltip,\r\n },\r\n setup(props) {\r\n const newsletterFields = ref([])\r\n const displayError = ref(false)\r\n\r\n onMounted(() => {\r\n props.newslettersData.forEach((newsletter) => {\r\n newsletterFields.value.push({\r\n field: newsletter.displayname,\r\n salesforceMapping: newsletter.name,\r\n value: props.getNamedFieldInputData[newsletter.name],\r\n tooltip: newsletter.tooltip,\r\n tooltipLabel: newsletter.tooltipLabel,\r\n })\r\n })\r\n })\r\n\r\n const handleNextStep = () => {\r\n const anySelected = newsletterFields.value.some((field) => field.value)\r\n\r\n if (anySelected) {\r\n const array = []\r\n\r\n newsletterFields.value.forEach((field) => {\r\n array.push({\r\n field: field.salesforceMapping,\r\n name: field.field,\r\n value: field.value,\r\n })\r\n })\r\n\r\n props.nextStepCallback(array)\r\n } else {\r\n displayError.value = true\r\n }\r\n }\r\n\r\n return {\r\n newsletterFields,\r\n handleNextStep,\r\n displayError,\r\n }\r\n },\r\n}\r\n","import { render } from \"./SignupStepSelectNewsletters.vue?vue&type=template&id=9125cb28\"\nimport script from \"./SignupStepSelectNewsletters.vue?vue&type=script&lang=js\"\nexport * from \"./SignupStepSelectNewsletters.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./SignupStepFullname.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <section class=\"nyk-signup-step nyk-signup-step-fullname\">\r\n <div class=\"nyk-signup-step__content\">\r\n <div class=\"nyk-signup-step__content__section nyk-signup-step__content__section--full-width\">\r\n <h2 class=\"nyk-signup-step__title\">{{ currentStepTexts.title }}</h2>\r\n <p class=\"nyk-signup-step__stepcounter--mobile\">{{ stepCounterText }}</p>\r\n <div class=\"nyk-signup-step__summary\" v-html=\"currentStepTexts.summary\"></div>\r\n </div>\r\n <div class=\"nyk-signup-step__mt-auto nyk-signup-step__content__section nyk-signup-step__content__section--full-width\">\r\n <div aria-live=\"polite\" class=\"nyk-signup-step__inputs\">\r\n <div class=\"nyk-signup-step__general-input\">\r\n <label class=\"nyk-visually-hidden\" for=\"nyk-signup-step__input-firstname\">{{ currentStepTexts.firstNameLabel }}</label>\r\n <input\r\n id=\"nyk-signup-step__input-firstname\"\r\n ref=\"firstnameInputRef\"\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"currentStepTexts.firstNameLabel\"\r\n v-model=\"firstnameInput\"\r\n autocomplete=\"given-name\"\r\n v-on:keydown.enter=\"\r\n nextStepCallback([\r\n { field: 'firstname', value: firstnameInput },\r\n { field: 'lastname', value: lastnameInput },\r\n ])\r\n \" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('firstname')\">\r\n {{ currentStepTexts.firstNameErrorMessage ?? 'Indtast venligst et fornavn' }}\r\n <span class=\"nyk-icon nyk-icon--ui-form-error--primary\"></span\r\n ></template>\r\n </p>\r\n </div>\r\n\r\n <div class=\"nyk-signup-step__general-input\">\r\n <label class=\"nyk-visually-hidden\" for=\"nyk-signup-step__input-lastname\">{{currentStepTexts.lastNameLabel}}</label>\r\n <input\r\n id=\"nyk-signup-step__input-lastname\"\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"currentStepTexts.lastNameLabel\"\r\n autocomplete=\"family-name\"\r\n v-model=\"lastnameInput\"\r\n v-on:keydown.enter=\"\r\n nextStepCallback([\r\n { field: 'firstname', value: firstnameInput },\r\n { field: 'lastname', value: lastnameInput },\r\n ])\r\n \" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('lastname')\">\r\n {{ currentStepTexts.lastNameErrorMessage ?? 'Indtast venligst et efternavn' }}\r\n <span class=\"nyk-icon nyk-icon--ui-form-error--primary\"></span>\r\n </template>\r\n </p>\r\n </div>\r\n </div>\r\n <SignupStepActions\r\n :previousStepCallback=\"previousStepCallback\"\r\n :nextStepCallback=\"\r\n () =>\r\n nextStepCallback([\r\n { field: 'firstname', value: firstnameInput },\r\n { field: 'lastname', value: lastnameInput },\r\n ])\r\n \"\r\n :nextStepButtonText=\"currentStepTexts.finalize\"\r\n :stepCounterText=\"stepCounterText\"\r\n :hasPreviousStep=\"hasPreviousStep\" />\r\n </div>\r\n </div>\r\n </section>\r\n</template>\r\n","import { onMounted, ref, defineExpose, watch } from \"vue\"\r\nimport _signupStepsCommonProps from \"../../../../../Frontend/src/foundation/js/configurations/_signupStepsCommonProps\"\r\nimport SignupStepActions from \"../SignupStepActions/SignupStepActions.vue\"\r\n\r\nexport default {\r\n name: \"SignupStepEmail\",\r\n props: _signupStepsCommonProps,\r\n components: {\r\n SignupStepActions,\r\n },\r\n setup(props) {\r\n const firstnameInput = ref(props.getNamedFieldInputData.firstname)\r\n const lastnameInput = ref(props.getNamedFieldInputData.lastname)\r\n\r\n // firstnameInputRef is used in the SignupSingleNewsletter and SignupMultipleNewsletters component\r\n const firstnameInputRef = ref(null)\r\n\r\n watch(firstnameInput, (newFirstnameValue) => {\r\n if (props.inputCallback) {\r\n props.inputCallback(newFirstnameValue, 'firstname')\r\n }\r\n })\r\n\r\n watch(lastnameInput, (newLastnameValue) => {\r\n if (props.inputCallback) {\r\n props.inputCallback(newLastnameValue, 'lastname')\r\n }\r\n })\r\n\r\n return {\r\n firstnameInputRef,\r\n firstnameInput,\r\n lastnameInput,\r\n }\r\n },\r\n}\r\n","import { render } from \"./SignupStepFullname.vue?vue&type=template&id=0886308e\"\nimport script from \"./SignupStepFullname.vue?vue&type=script&lang=js\"\nexport * from \"./SignupStepFullname.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { registerGtmDataLayer } from '../../../../../Features/Blocks/Video/gtmDataLayerService';\r\n\r\nexport default async function (body, url) {\r\n const api = window.location.origin + \"/\" + url\r\n const response = await fetch(api, {\r\n method: \"POST\",\r\n body: JSON.stringify(body),\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => {\r\n if (res.ok) {\r\n let dataLayer = {\r\n 'event': 'track-event.nyhedsbrev_submit',\r\n 'event_source': 'inline',\r\n 'eventCategory': 'newsletter',\r\n 'eventAction': 'submit',\r\n 'eventLabel': body.newsletters\r\n };\r\n\r\n registerGtmDataLayer(dataLayer);\r\n\r\n const contentType = res.headers.get(\"content-type\");\r\n if (contentType && contentType.includes(\"application/json\")) {\r\n return res.json();\r\n } else {\r\n return res.text();\r\n }\r\n } else {\r\n throw new Error(\"Didn't work submitting the form signing up for one or more newsletters.\")\r\n }\r\n })\r\n .then((json) => {\r\n return json\r\n })\r\n .catch((err) => {\r\n console.error(err)\r\n return err\r\n })\r\n\r\n if (response && response.name && response.email && response.hash && response.tealiumEnvironment) {\r\n let dataLayer = {\r\n 'event': 'track-immeo.newsletter',\r\n 'tealium_visitor_id': `${response.tealiumEnvironment}_${response.hash}`,\r\n 'payload': {\r\n 'user_firstname': response.name,\r\n 'user_lastname': response.lastname,\r\n 'user_email': response.email,\r\n 'user_phone': response.phonenumber,\r\n 'user_hashed_email_firstname': response.hash,\r\n 'user_hashed_email_firstname_is_present': 'true'\r\n }\r\n };\r\n\r\n registerGtmDataLayer(dataLayer);\r\n }\r\n return response\r\n}\r\n","export const stepComponentNames = {\r\n SignupStepEmail: \"SignupStepEmail\",\r\n SignupStepFullname: \"SignupStepFullname\",\r\n SignupStepReceipt: \"SignupStepReceipt\",\r\n};\r\n","import { ref, watch, nextTick } from \"vue\"\r\nimport SignupStepEmail from \"../SignupStepEmail/SignupStepEmail.vue\"\r\nimport emailValidator from \"../../../../../Frontend/src/foundation/js/inputValidators/emailValidator\"\r\nimport notEmptyInput from \"../../../../../Frontend/src/foundation/js/inputValidators/notEmptyInput\"\r\nimport SignupStepSelectNewsletters from \"../SignupStepSelectNewsletters/SignupStepSelectNewsletters.vue\"\r\nimport SignupStepFullname from \"../SignupStepFullname/SignupStepFullname.vue\"\r\nimport SignupStepReceipt from \"../SignupStepReceipt/SignupStepReceipt.vue\"\r\nimport newslettersSignupSubmit from \"../../../../../Frontend/src/foundation/js/signupFlows/newslettersSignupSubmit\"\r\nimport getGeneralComputedValues from \"../../../../../Frontend/src/foundation/js/signupFlows/getGeneralComputedValues\"\r\nimport handleValidateInputAndProceed from \"../../../../../Frontend/src/foundation/js/signupFlows/handleValidateInputAndProceed\"\r\nimport { stepComponentNames } from \"../newsletterSignup.common\";\r\n\r\nexport default {\r\n name: \"SignupMultipleNewsletters\",\r\n components: {\r\n SignupStepSelectNewsletters,\r\n SignupStepEmail,\r\n SignupStepFullname,\r\n SignupStepReceipt,\r\n },\r\n props: {\r\n labels: {\r\n type: Object,\r\n required: true,\r\n },\r\n apiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n newsletters: {\r\n type: Array,\r\n required: true,\r\n },\r\n newslettersUserInputs: {\r\n type: Array,\r\n required: true,\r\n },\r\n enableUserTrack: {\r\n type: Boolean,\r\n default: false,\r\n required: false\r\n }\r\n },\r\n setup(props) {\r\n // this object contains the entire set of inputs available for the complete form.\r\n\r\n // this object contains stepinformation.\r\n // all steps are described here\r\n const stepsConfigAndOrder = ref([\r\n {\r\n step: 1, //order - manual number. The order of the array determins the steporder\r\n name: \"SignupStepSelectNewsletters\", // stepname. Must correspond to a component declared under \"components\"\r\n completed: false, // are all fields valid?\r\n texts: {\r\n title: props.labels.title,\r\n summary: props.labels.summary,\r\n next: props.labels.nextButtonText\r\n }, // configuration of texts\r\n },\r\n {\r\n step: 2, //order - manual number. The order of the array determins the steporder\r\n name: stepComponentNames.SignupStepEmail, // stepname. Must correspond to a component declared under \"components\"\r\n completed: false, // are all fields valid?\r\n texts: {\r\n title: props.labels.title,\r\n summary: props.labels.summary,\r\n emailLabel: props.labels.emailLabel, \r\n emailErrorMessage: props.labels.emailErrorMessage,\r\n next: props.labels.nextButtonText\r\n }, // configuration of texts\r\n },\r\n {\r\n step: 3,\r\n name: stepComponentNames.SignupStepFullname,\r\n completed: false,\r\n texts: {\r\n title: props.labels.title,\r\n firstNameLabel: props.labels.firstNameLabel,\r\n firstNameErrorMessage: props.labels.firstNameErrorMessage,\r\n lastNameLabel: props.labels.lastNameLabel,\r\n lastNameErrorMessage: props.labels.lastNameErrorMessage,\r\n finalize: props.labels.finalizeButtonText\r\n },\r\n },\r\n {\r\n step: 4,\r\n name: stepComponentNames.SignupStepReceipt,\r\n completed: false,\r\n texts: {\r\n title: props.labels.title,\r\n summary: props.labels.signupStepReceipt,\r\n finishSignupLabel: props.labels.finishSignupLabel,\r\n },\r\n },\r\n ])\r\n\r\n const userInput = ref([\r\n ...props.newslettersUserInputs,\r\n {\r\n field: \"email\",\r\n value: \"\", // you can prefill the inputfield by adding a value here.\r\n step: stepComponentNames.SignupStepEmail,\r\n validator: emailValidator,\r\n isValid: false,\r\n },\r\n {\r\n field: \"firstname\",\r\n value: \"\",\r\n step: stepComponentNames.SignupStepFullname,\r\n validator: notEmptyInput,\r\n isValid: false,\r\n },\r\n {\r\n field: \"lastname\",\r\n value: \"\",\r\n step: stepComponentNames.SignupStepReceipt,\r\n validator: notEmptyInput,\r\n isValid: false,\r\n },\r\n ])\r\n\r\n const {\r\n getNamedFieldInputData,\r\n resetSignupForm,\r\n currentStepName,\r\n currentStepTexts,\r\n hasPreviousStep,\r\n stepCounterText,\r\n stepCounterAccessibleText,\r\n showFieldErrorMessage,\r\n returnToPreviousStep,\r\n } = getGeneralComputedValues(userInput.value, stepsConfigAndOrder.value, props.labels)\r\n\r\n const inputCallback = (inputData, fieldName) => {\r\n const inputDataFieldIndex = userInput.value.findIndex(\r\n (field) => field.field === fieldName\r\n );\r\n const inputDataField = userInput.value[inputDataFieldIndex];\r\n inputDataField.isValid = inputDataField.validator(inputData);\r\n inputDataField.value = inputData;\r\n };\r\n\r\n const currentStepComponentFocusRef = ref(null);\r\n const stepAnnouncerRef = ref(null);\r\n const displayInputError = ref(false)\r\n\r\n const validateInputAndProceed = function (inputData) {\r\n const validSuccess = handleValidateInputAndProceed(\r\n inputData,\r\n userInput.value,\r\n stepsConfigAndOrder.value,\r\n currentStepName.value,\r\n submitData\r\n )\r\n\r\n displayInputError.value = validSuccess\r\n }\r\n\r\n const submitData = async function (inputData) {\r\n const newsletters = []\r\n\r\n props.newsletters.filter((newsletter) => {\r\n const newsletterInput = inputData.find((field) => field.field === newsletter.name)\r\n if (newsletterInput.value === true) {\r\n newsletters.push(newsletter.name)\r\n }\r\n })\r\n\r\n const body = {\r\n email: inputData.find((field) => field.field === \"email\").value,\r\n firstName: inputData.find((field) => field.field === \"firstname\").value,\r\n lastName: inputData.find((field) => field.field === \"lastname\").value,\r\n newsletters: newsletters,\r\n source: window.location.href,\r\n enableUserTrack: props.enableUserTrack === \"true\"\r\n }\r\n\r\n await newslettersSignupSubmit(body, props.apiUrl)\r\n }\r\n\r\n \r\n const announceStep = async () => {\r\n stepAnnouncerRef.value.textContent = stepCounterAccessibleText.value;\r\n };\r\n\r\n const setFocusElement = async (stepName) => {\r\n await nextTick();\r\n if (stepName === stepComponentNames.SignupStepEmail) {\r\n currentStepComponentFocusRef.value.emailInputElement.focus();\r\n } else if (stepName === stepComponentNames.SignupStepFullname) {\r\n currentStepComponentFocusRef.value.firstnameInputRef.focus();\r\n } else if (stepName === stepComponentNames.SignupStepReceipt) {\r\n currentStepComponentFocusRef.value.finishSignupButtonRef.focus();\r\n }\r\n return true;\r\n };\r\n\r\n watch(\r\n () => currentStepName.value,\r\n () => {\r\n announceStep();\r\n setFocusElement(currentStepName.value);\r\n }\r\n );\r\n\r\n return {\r\n inputCallback,\r\n currentStepTexts,\r\n currentStepComponentFocusRef,\r\n displayInputError,\r\n currentStepName,\r\n getNamedFieldInputData,\r\n validateInputAndProceed,\r\n stepCounterText,\r\n stepAnnouncerRef,\r\n hasPreviousStep,\r\n returnToPreviousStep,\r\n showFieldErrorMessage,\r\n resetSignupForm,\r\n }\r\n },\r\n}\r\n","import { render } from \"./SignupMultipleNewsletters.vue?vue&type=template&id=1c5dd8d0\"\nimport script from \"./SignupMultipleNewsletters.vue?vue&type=script&lang=js\"\nexport * from \"./SignupMultipleNewsletters.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./SignupSingleNewsletter.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article\r\n class=\"nyk-signup-single-newsletter\"\r\n :class=\"`nyk-signup-single-newsletter--${newletterClassName}`\">\r\n <div ref=\"stepAnnouncerRef\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"nyk-visually-hidden\"></div>\r\n <component\r\n ref=\"currentStepComponentFocusRef\"\r\n :is=\"currentStepName\"\r\n :nextStepCallback=\"validateInputAndProceed\"\r\n :previousStepCallback=\"returnToPreviousStep\"\r\n :displayInputError=\"displayInputError\"\r\n :currentStepTexts=\"currentStepTexts\"\r\n :hasPreviousStep=\"hasPreviousStep\"\r\n :resetSignupForm=\"resetSignupForm\"\r\n :inputCallback=\"inputCallback\"\r\n :getNamedFieldInputData=\"getNamedFieldInputData\"\r\n :showFieldErrorMessage=\"showFieldErrorMessage\"\r\n :stepCounterText=\"stepCounterText\" />\r\n </article>\r\n</template>\r\n","import { ref, watch, nextTick } from \"vue\";\r\nimport SignupStepEmail from \"../SignupStepEmail/SignupStepEmail.vue\";\r\nimport emailValidator from \"../../../../../Frontend/src/foundation/js/inputValidators/emailValidator\";\r\nimport notEmptyInput from \"../../../../../Frontend/src/foundation/js/inputValidators/notEmptyInput\";\r\nimport SignupStepFullname from \"../SignupStepFullname/SignupStepFullname.vue\";\r\nimport SignupStepReceipt from \"../SignupStepReceipt/SignupStepReceipt.vue\";\r\nimport newslettersSignupSubmit from \"../../../../../Frontend/src/foundation/js/signupFlows/newslettersSignupSubmit\";\r\nimport getGeneralComputedValues from \"../../../../../Frontend/src/foundation/js/signupFlows/getGeneralComputedValues\";\r\nimport singleSignupHandleInputAndProceed from \"../../../../../Frontend/src/foundation/js/signupFlows/singleSignupHandleInputAndProceed\";\r\nimport { stepComponentNames } from \"../newsletterSignup.common\";\r\n\r\nexport default {\r\n name: \"SignupSingleNewsletter\",\r\n components: {\r\n SignupStepEmail,\r\n SignupStepFullname,\r\n SignupStepReceipt,\r\n },\r\n props: {\r\n labels: {\r\n type: Object,\r\n required: true,\r\n },\r\n apiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n newsletters: {\r\n type: Array,\r\n required: true,\r\n },\r\n enableUserTrack: {\r\n type: Boolean,\r\n default: false,\r\n required: false,\r\n },\r\n },\r\n setup(props) {\r\n // this object contains the entire set of inputs available for the complete form.\r\n const userInput = ref([\r\n {\r\n field: \"email\",\r\n value: \"\", // you can prefill the inputfield by adding a value here.\r\n step: stepComponentNames.SignupStepEmail,\r\n validator: emailValidator,\r\n isValid: false,\r\n },\r\n {\r\n field: \"firstname\",\r\n value: \"\",\r\n step: stepComponentNames.SignupStepFullname,\r\n validator: notEmptyInput,\r\n isValid: false,\r\n },\r\n {\r\n field: \"lastname\",\r\n value: \"\",\r\n step: stepComponentNames.SignupStepReceipt,\r\n validator: notEmptyInput,\r\n isValid: false,\r\n },\r\n ]);\r\n\r\n // this object contains stepinformation.\r\n // all steps are described here\r\n let stepsConfigAndOrder = ref([\r\n {\r\n step: 1, //order - manual number. The order of the array determins the steporder\r\n name: stepComponentNames.SignupStepEmail, // stepname. Must correspond to a component declared under \"components\"\r\n completed: false, // are all fields valid?\r\n texts: {\r\n title: props.labels.title,\r\n summary: props.labels.summary,\r\n emailLabel: props.labels.emailLabel,\r\n emailErrorMessage: props.labels.emailErrorMessage,\r\n next: props.labels.nextButtonText,\r\n }, // configuration of texts\r\n },\r\n {\r\n step: 2,\r\n name: stepComponentNames.SignupStepFullname,\r\n completed: false,\r\n texts: {\r\n title: props.labels.title,\r\n firstNameLabel: props.labels.firstNameLabel,\r\n firstNameErrorMessage: props.labels.firstNameErrorMessage,\r\n lastNameLabel: props.labels.lastNameLabel,\r\n lastNameErrorMessage: props.labels.lastNameErrorMessage,\r\n finalize: props.labels.finalizeButtonText,\r\n },\r\n },\r\n {\r\n step: 3,\r\n name: stepComponentNames.SignupStepReceipt,\r\n completed: false,\r\n texts: {\r\n title: props.labels.title,\r\n summary: props.labels.signupStepReceipt,\r\n finishSignupLabel: props.labels.finishSignupLabel,\r\n },\r\n },\r\n ]);\r\n\r\n const currentStepComponentFocusRef = ref(null);\r\n const stepAnnouncerRef = ref(null);\r\n const displayInputError = ref(false);\r\n const newletterClassName = props.newsletters[0]?.name\r\n .replace(\" \", \"-\")\r\n .toLowerCase();\r\n\r\n const {\r\n getNamedFieldInputData,\r\n resetSignupForm,\r\n currentStepName,\r\n currentStepTexts,\r\n hasPreviousStep,\r\n stepCounterText,\r\n stepCounterAccessibleText,\r\n showFieldErrorMessage,\r\n returnToPreviousStep,\r\n } = getGeneralComputedValues(userInput.value, stepsConfigAndOrder.value, props.labels);\r\n\r\n const inputCallback = (inputData, fieldName) => {\r\n const inputDataFieldIndex = userInput.value.findIndex(\r\n (field) => field.field === fieldName\r\n );\r\n const inputDataField = userInput.value[inputDataFieldIndex];\r\n inputDataField.isValid = inputDataField.validator(inputData);\r\n inputDataField.value = inputData;\r\n };\r\n\r\n const validateInputAndProceed = function () {\r\n const validSuccess = singleSignupHandleInputAndProceed(\r\n userInput.value,\r\n stepsConfigAndOrder.value,\r\n currentStepName.value,\r\n submitData\r\n );\r\n displayInputError.value = validSuccess;\r\n };\r\n\r\n const submitData = async function (inputData) {\r\n const body = {\r\n email: inputData.find((field) => field.field === \"email\").value,\r\n firstName: inputData.find((field) => field.field === \"firstname\").value,\r\n lastName: inputData.find((field) => field.field === \"lastname\").value,\r\n newsletters: [props.newsletters[0].name],\r\n source: window.location.href,\r\n enableUserTrack: props.enableUserTrack === \"true\",\r\n };\r\n await newslettersSignupSubmit(body, props.apiUrl);\r\n };\r\n\r\n const announceStep = async () => {\r\n stepAnnouncerRef.value.textContent = stepCounterAccessibleText.value;\r\n };\r\n\r\n const setFocusElement = async (stepName) => {\r\n await nextTick();\r\n\r\n if (stepName === stepComponentNames.SignupStepEmail) {\r\n currentStepComponentFocusRef.value.emailInputElement.focus();\r\n } else if (stepName === stepComponentNames.SignupStepFullname) {\r\n currentStepComponentFocusRef.value.firstnameInputRef.focus();\r\n } else if (stepName === stepComponentNames.SignupStepReceipt) {\r\n currentStepComponentFocusRef.value.finishSignupButtonRef.focus();\r\n }\r\n return true;\r\n };\r\n\r\n watch(\r\n () => currentStepName.value,\r\n () => {\r\n announceStep();\r\n setFocusElement(currentStepName.value);\r\n }\r\n );\r\n\r\n return {\r\n currentStepComponentFocusRef,\r\n currentStepName,\r\n currentStepTexts,\r\n displayInputError,\r\n inputCallback,\r\n getNamedFieldInputData,\r\n hasPreviousStep,\r\n newletterClassName,\r\n resetSignupForm,\r\n returnToPreviousStep,\r\n showFieldErrorMessage,\r\n stepAnnouncerRef,\r\n stepCounterText,\r\n validateInputAndProceed,\r\n };\r\n },\r\n};\r\n","export default function (userInput, stepsConfigAndOrder, currentStepName, callback) {\r\n let displayInputError = false\r\n \r\n const stepInput = userInput.filter((stepData) => stepData.step === currentStepName)\r\n const stepInputComplete = stepInput.every((stepData) => stepData.isValid)\r\n const allStepInputComplete = userInput.every((input) => input.isValid)\r\n \r\n const advanceToNextStep = function () {\r\n stepsConfigAndOrder.find((stepData) => stepData.name === currentStepName).completed = true\r\n displayInputError = false\r\n if (allStepInputComplete) {\r\n callback(userInput)\r\n }\r\n }\r\n if (stepInputComplete) {\r\n advanceToNextStep()\r\n }\r\n else {\r\n displayInputError = true\r\n }\r\n \r\n return displayInputError\r\n }\r\n ","import { render } from \"./SignupSingleNewsletter.vue?vue&type=template&id=10e85002\"\nimport script from \"./SignupSingleNewsletter.vue?vue&type=script&lang=js\"\nexport * from \"./SignupSingleNewsletter.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { registerGtmDataLayer } from './gtmDataLayerService';\r\n\r\nexport default class GtmVideoService {\r\n Player = null;\r\n\r\n interval = null;\r\n watched = null;\r\n videoId = null;\r\n\r\n constructor(player, vidoeId) {\r\n this.Player = player;\r\n this.registredPercentages = {\r\n 0 : false,\r\n 25 : false,\r\n 50 : false,\r\n 75 : false,\r\n 100 : false,\r\n };\r\n this.videoId = vidoeId;\r\n this.fallbackVideoTitle = \"\";\r\n\r\n // Add tracking on video player state\r\n this.Player.addEventListener(\"onStateChange\", (state) => { \r\n this.onVideoStateChanged(state); \r\n });\r\n }\r\n \r\n onVideoStateChanged(state) {\r\n this.fallbackVideoTitle = state.target.videoTitle ?? this.fallbackVideoTitle\r\n if (state.data === YT.PlayerState.PLAYING) {\r\n clearInterval(this.interval);\r\n this.trackPossibleEvents();\r\n // track possible events every second \r\n this.interval = setInterval(this.trackPossibleEvents, 1000);\r\n } else if (state.data === YT.PlayerState.ENDED) {\r\n clearInterval(this.interval);\r\n this.registerVideo(100);\r\n } else if (state.data === YT.PlayerState.PAUSED) {\r\n clearInterval(this.interval);\r\n }\r\n }\r\n\r\n trackPossibleEvents = () => {\r\n /**\r\n * The YouTube player API sets player.getCurrentTime \r\n * not in the constructor but later (possibly when the video is loaded). \r\n * Likely, this is a bug.\r\n * https://stackoverflow.com/questions/44523396/player-getduration-and-player-getcurrenttime-is-not-function-error\r\n * \r\n * We wait until these are avilable to track any progress.\r\n */\r\n if (((typeof this.Player.getDuration) != \"function\") || ((typeof this.Player.getCurrentTime) != \"function\")) return;\r\n\r\n let duration = this.Player.getDuration();\r\n let played = this.Player.getCurrentTime();\r\n \r\n /**\r\n * getDuration() will return 0 until the video's metadata is loaded, \r\n * which normally happens just after the video starts playing.\r\n * We do not record any information until we have a proper duration\r\n */\r\n if (duration == 0) return;\r\n\r\n let fractionPlayed = played / duration;\r\n\r\n // track least upper bound percentage\r\n let watchedPercentage = 0;\r\n let watchedArray = Object.keys(this.registredPercentages).reverse().filter( e => { if(e <= fractionPlayed * 100) return e; });\r\n if(watchedArray.length > 0) {\r\n watchedPercentage = watchedArray[0];\r\n }\r\n this.registerVideo(watchedPercentage);\r\n }\r\n\r\n registerVideo(watchedPercentage) {\r\n // do not continue if we already have registred this event\r\n if (this.registredPercentages[watchedPercentage]) return;\r\n\r\n this.registredPercentages[watchedPercentage] = true;\r\n\r\n let eventAction = watchedPercentage == 0 ? 'start' : `${watchedPercentage}%`;\r\n let videoId = this.videoId;\r\n\r\n /**\r\n * The title does not seem to be avilable in \r\n * documentation for the API.\r\n * We therefore fallback to the url of the video instaed.\r\n */\r\n\r\n let eventLabel = this.Player.videoTitle ?? this.fallbackVideoTitle;\r\n \r\n /**\r\n * getVideoData is not documented in API, \r\n * therefore we only override with the correct data if\r\n * this is avilable.\r\n */ \r\n if ((typeof this.Player.getVideoData) === 'function') {\r\n var videoData = this.Player.getVideoData();\r\n eventLabel = videoData?.title || eventLabel || this.fallbackVideoTitle;\r\n }\r\n \r\n let dataLayer = {\r\n 'eventCategory': 'video', \r\n 'eventAction': eventAction, \r\n 'eventLabel': eventLabel,\r\n 'eventValue': 0, \r\n 'eventNoninteraction': true, \r\n 'videoId': videoId,\r\n 'event': 'track-event',\r\n };\r\n\r\n registerGtmDataLayer(dataLayer);\r\n }\r\n\r\n}","import { ref, watch, onMounted, computed, onUnmounted, nextTick } from \"vue\";\r\nimport GtmVideoService from \"./GtmVideoService\";\r\n\r\nexport default {\r\n name: \"VideoBlock\",\r\n setup() {\r\n const cookieAccepted = ref(false);\r\n const lazyLoad = ref(false);\r\n const timeout = ref(null);\r\n const videoPlaying = ref(false);\r\n const youtubePlayer = ref(null)\r\n const youtubeIframeAPIReady = ref(false)\r\n const videoWrapperElementRef = ref(null);\r\n const youtubeVideoElementRef = ref(null);\r\n const playButtonElementRef = ref(null)\r\n\r\n const initCookieAccepted = () => {\r\n if (!youtubeIframeAPIReady.value) {\r\n insertYoutubeApi();\r\n }\r\n playOrQueue();\r\n };\r\n\r\n onMounted(() => {\r\n cookieAccepted.value = process.env.NODE_ENV === \"development\" ? true : CookieInformation.getConsentGivenFor(\r\n \"cookie_cat_functional\"\r\n );\r\n });\r\n\r\n onUnmounted(() => {\r\n window.removeEventListener(\"CookieInformationConsentGiven\", handleCookieConsent);\r\n });\r\n\r\n \r\n watch(cookieAccepted, (newCookieAccepted, oldCookieAccepted) => {\r\n if (newCookieAccepted && newCookieAccepted !== oldCookieAccepted) {\r\n initCookieAccepted();\r\n }\r\n });\r\n\r\n window.youTubeCallbackQueue = window.youTubeCallbackQueue || [];\r\n\r\n const acceptCookieConsent = () => {\r\n CookieConsent.renew();\r\n window.addEventListener(\r\n \"CookieInformationConsentGiven\",\r\n function (event) {\r\n cookieAccepted.value = CookieInformation.getConsentGivenFor(\r\n \"cookie_cat_functional\"\r\n );\r\n },\r\n false\r\n );\r\n };\r\n\r\n const showPlaceholder = computed(() => {\r\n return !videoPlaying.value\r\n })\r\n\r\n const playOrQueue = () => {\r\n if (window.youTubeIframeAPIReady) {\r\n initVideo();\r\n }\r\n else {\r\n window.youTubeCallbackQueue.push(initVideo);\r\n // triggered when YouTube iFrame API is ready (only listens to global var)\r\n window.onYouTubeIframeAPIReady = () => onYouTubeIframeAPIReady();\r\n }\r\n }\r\n\r\n const insertYoutubeApi = () => {\r\n const newScriptEl = document.createElement(\"script\");\r\n newScriptEl.src = \"https://www.youtube.com/iframe_api\";\r\n\r\n const firstScriptEl = document.getElementsByTagName(\"script\")[0];\r\n firstScriptEl.parentNode.insertBefore(newScriptEl, firstScriptEl);\r\n youtubeIframeAPIReady.value = true;\r\n };\r\n\r\n const onYouTubeIframeAPIReady = () => {\r\n youtubeIframeAPIReady.value = true;\r\n window.youTubeCallbackQueue.forEach((func) => func());\r\n };\r\n\r\n const onPlayerReady = () => {\r\n if (lazyLoad.value) {\r\n playYoutubeVideo();\r\n }\r\n };\r\n\r\n function playYoutubeVideo() {\r\n if (youtubePlayer.value?.playVideo) {\r\n const iFrame = youtubePlayer.value.getIframe();\r\n iFrame.contentWindow.focus();\r\n youtubePlayer.value.playVideo();\r\n }\r\n };\r\n\r\n const onPlayerStateChange = (state) => {\r\n\r\n if (state.data == window.YT.PlayerState.PLAYING) {\r\n videoPlaying.value = true;\r\n }\r\n\r\n if (state.data == window.YT.PlayerState.BUFFERING) {\r\n clearTimeout(timeout.value);\r\n }\r\n\r\n // when video has ended show placeholder and rewind\r\n // this make it act like before youtube changes of sep. 2018\r\n if (state.data == window.YT.PlayerState.ENDED) {\r\n videoPlaying.value = false;\r\n }\r\n };\r\n\r\n const initVideo = () => {\r\n const youtubeVideoElementRefID = youtubeVideoElementRef.value.dataset.ytPlayerId;\r\n const youtubeId = youtubeVideoElementRef.value.dataset.youtubeId;\r\n\r\n youtubePlayer.value = new YT.Player(youtubeVideoElementRefID, {\r\n height: \"390\",\r\n width: \"640\",\r\n host: \"https://www.youtube-nocookie.com\",\r\n videoId: youtubeId,\r\n playerVars: {\r\n showinfo: 0,\r\n rel: 0,\r\n hl: \"da-dk\",\r\n },\r\n events: {\r\n onReady: () => onPlayerReady(),\r\n onStateChange: (state) => onPlayerStateChange(state),\r\n },\r\n });\r\n // tracking\r\n let gtmVideoService = new GtmVideoService(youtubePlayer.value, youtubeVideoElementRefID);\r\n };\r\n\r\n const localVideoElementRef = ref(null)\r\n\r\n const playLocalVideo = async() => {\r\n videoPlaying.value = true\r\n await nextTick();\r\n localVideoElementRef.value.focus()\r\n localVideoElementRef.value.play()\r\n }\r\n \r\n return {\r\n playYoutubeVideo,\r\n videoPlaying,\r\n showPlaceholder,\r\n playButtonElementRef,\r\n localVideoElementRef,\r\n cookieAccepted,\r\n acceptCookieConsent,\r\n playLocalVideo,\r\n videoWrapperElementRef,\r\n youtubeVideoElementRef\r\n };\r\n },\r\n};\r\n","<script>\r\n import options from './FindCenterContactPersons.options'\r\n export default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-find-center-contact-persons\">\r\n <div class=\"nyk-find-center-contact-persons__section\">\r\n <div class=\"nyk-find-center-contact-persons__section__controls\">\r\n <div class=\"nyk-find-center-contact-persons__section__controls__search\">\r\n <div class=\"nyk-form nyk-js--form\">\r\n <div class=\"nyk-form__content\">\r\n <input ref=\"employSearch\"\r\n v-on:keyup=\"searchInputUpdated\"\r\n class=\"nyk-form__content__input\"\r\n type=\"text\"\r\n maxlength=\"10000\"\r\n autocomplete=\"off\"\r\n id=\"employSearch\"\r\n name=\"employSearch\"\r\n placeholder=\"Navn pÃ¥ medarbejder\"\r\n aria-required=\"true\" /><label class=\"nyk-form__content__label\" for=\"employSearch\">Navn pÃ¥ medarbejder</label>\r\n\r\n <button @click=\"resetEmploySearch\"\r\n class=\"nyk-form__content__reset-icon nyk-form-js--reset\"\r\n aria-label=\"Slet indtastning\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-find-center-contact-persons__section__controls__select nyk-form nyk-js--form nyk-form--select\">\r\n <div class=\"nyk-form--select__content\">\r\n <select class=\"nyk-form--select__content__select\"\r\n name=\"centerSelect\"\r\n id=\"centerSelect\"\r\n ref=\"centerSelect\"\r\n v-on:change=\"centerValueUpdated\">\r\n <option value=\"\">Vælg center</option>\r\n <template v-for=\"(option, index) in options\">\r\n <option :value=\"option.value\" :selected=\"option.selected\">{{ option.name }}</option>\r\n </template>\r\n </select>\r\n <label class=\"nyk-form--select__content__label\" for=\"centerSelect\">Center</label>\r\n <div class=\"nyk-form--select__content__error-icon\">\r\n <span class=\"nyk-icon nyk-icon--ui-form-error\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-find-center-contact-persons__section__employees\">\r\n <section class=\"nyk-person-card-layout\">\r\n <div class=\"nyk-person-card-layout__content nyk-person-card-layout__content--4-cols\">\r\n <template v-for=\"(employ, index) in employees\" :key=\"index\">\r\n <template v-if=\"index < showEmployeesCount\">\r\n <article class=\"nyk-person-card\">\r\n <div class=\"nyk-person-card__content\">\r\n <div class=\"nyk-person-card__content__image\">\r\n <picture>\r\n <img class=\"nyk-person-card__content__image__img\"\r\n :src=\"employ.pictureUrl\"\r\n :onerror=\"handleImageError()\"\r\n role=\"presentation\"\r\n alt=\"\" />\r\n </picture>\r\n </div>\r\n\r\n <div class=\"nyk-person-card__content__body\">\r\n <div class=\"nyk-person-card__content__body__header\">\r\n <h3 class=\"nyk-person-card__content__body__header__title\">\r\n {{ employ.name }}\r\n </h3>\r\n <h4 class=\"nyk-person-card__content__body__header__job-title\">\r\n {{ employ.title }}\r\n </h4>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-person-card__content__bottom\">\r\n <div class=\"nyk-person-card__content__bottom__actions\">\r\n <a :href=\"employ.url\" class=\"nyk-person-card__content__bottom__actions__link\">\r\n <span class=\"nyk-person-card__content__bottom__actions__link__name\">Send besked</span>\r\n <div class=\"nyk-person-card__content__bottom__actions__link__button nyk-button nyk-button--link-circle-arrow right\">\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 14 12\">\r\n <path fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </article>\r\n </template>\r\n </template>\r\n </div>\r\n <div v-if=\"employeesCount > showEmployeesCount\" class=\"nyk-person-card-layout__actions\">\r\n <button v-on:click=\"handleShowAllEmployees\" class=\"nyk-button nyk-button--outline-primary\">Vis flere</button>\r\n </div>\r\n </section>\r\n </div>\r\n </div>\r\n </article>\r\n</template>","// Returns a function, that, as long as it continues to be invoked, will not\r\n// be triggered. The function will be called after it stops being called for\r\n// N milliseconds. If `immediate` is passed, trigger the function on the\r\n// leading edge, instead of the trailing.\r\n\r\nexport default function(callback, wait, immediate) {\r\n \r\n var timeout\r\n \r\n return function() {\r\n \r\n const context = this\r\n \r\n clearTimeout(timeout)\r\n timeout = window.setTimeout(()=>{\r\n timeout = undefined\r\n if (!immediate) callback.apply(context)\r\n }, wait)\r\n if (immediate && !timeout) callback.apply(context)\r\n \r\n }\r\n }","export default function getUrlParamPrefix(url) {\r\n let prefix = \"?\"\r\n if (url.includes(\"?\")) {\r\n prefix = \"&\"\r\n }\r\n return prefix\r\n}\r\n","import { onBeforeMount, ref } from \"vue\"\r\nimport MultiSelectDropdown from \"../../../../Frontend/src/components/MultiSelectDropdown/MultiSelectDropdown.vue\"\r\n\r\nimport debounce from \"../../../../Frontend/src/foundation/js/debounce\"\r\nimport getUrlParamPrefix from \"../../../../Frontend/src/foundation/js/getUrlParamPrefix\"\r\n\r\nexport default {\r\n name: \"FindCenterContactPersons\",\r\n components: {\r\n MultiSelectDropdown,\r\n },\r\n props: {\r\n apiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n centerInformation: {\r\n type: Array,\r\n required: true,\r\n },\r\n defaultImage: {\r\n type: String,\r\n required: true,\r\n },\r\n contactUrl: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n setup(props) {\r\n const options = ref([])\r\n const employees = ref([])\r\n const employSearch = ref(null)\r\n const centerSelect = ref(null)\r\n const showEmployeesCount = ref(8)\r\n const employeesCount = ref(8)\r\n\r\n onBeforeMount(async () => {\r\n props.centerInformation.forEach((center) => {\r\n options.value.push({ value: center.centerId, name: center.name, selected: false })\r\n })\r\n fetchEmployees()\r\n })\r\n\r\n const setEmployees = (data) => {\r\n if (data.contactPersonsInformation) {\r\n employeesCount.value = data.contactPersonsInformation.length\r\n const employeesList = structuredClone(data.contactPersonsInformation)\r\n employeesList.forEach((employee) => {\r\n employee.url = `${props.contactUrl}?advisorId=${employee.advisorId}`\r\n })\r\n employees.value = employeesList\r\n }\r\n }\r\n\r\n const fetchEmployees = () => {\r\n showEmployeesCount.value = 8\r\n\r\n let url = props.apiUrl\r\n\r\n if (employSearch.value && employSearch.value.value !== \"\") {\r\n const prefix = getUrlParamPrefix(url)\r\n url += `${prefix}query=${employSearch.value.value}`\r\n }\r\n\r\n if (centerSelect.value && centerSelect.value.value !== \"\") {\r\n const prefix = getUrlParamPrefix(url)\r\n url += `${prefix}centerId=${centerSelect.value.value}`\r\n }\r\n\r\n const request = new Request(url)\r\n\r\n fetch(request)\r\n .then((res) => {\r\n if (res.ok) {\r\n return res.json()\r\n } else {\r\n throw new Error(\"Failed fetching employee data\")\r\n }\r\n })\r\n .then((json) => {\r\n setEmployees(json)\r\n })\r\n .catch((err) => {\r\n console.error(err)\r\n })\r\n }\r\n\r\n const resetEmploySearch = () => {\r\n employSearch.value.value = \"\"\r\n employSearch.value.focus()\r\n fetchEmployees()\r\n }\r\n\r\n const searchInputUpdated = debounce(() => {\r\n fetchEmployees()\r\n }, 500)\r\n\r\n const centerValueUpdated = () => {\r\n fetchEmployees()\r\n }\r\n\r\n const handleShowAllEmployees = () => {\r\n showEmployeesCount.value = 10000\r\n }\r\n\r\n const handleImageError = () => {\r\n return `this.onerror=null;this.src='${props.defaultImage}';this.alt='Fallback image';`\r\n }\r\n\r\n return {\r\n options,\r\n employees,\r\n employSearch,\r\n centerSelect,\r\n showEmployeesCount,\r\n employeesCount,\r\n resetEmploySearch,\r\n searchInputUpdated,\r\n centerValueUpdated,\r\n handleShowAllEmployees,\r\n handleImageError,\r\n }\r\n },\r\n}","import { render } from \"./FindCenterContactPersons.vue?vue&type=template&id=2a451d63\"\nimport script from \"./FindCenterContactPersons.vue?vue&type=script&lang=js\"\nexport * from \"./FindCenterContactPersons.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./FindCenterMapAndEmployees.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-find-center-map-and-employees\">\r\n <div class=\"nyk-find-center-map-and-employees__filters\">\r\n <FilterTabs :can-show-dropdown=\"true\" dropdown-label=\"Vælg mellem medarbejder og center\" init-active-tab=\"GoogleMaps\" :tabs=\"tabs\" :callback=\"findCenterFilterChanged\" />\r\n </div>\r\n\r\n <div class=\"nyk-find-center-map-and-employees__sections\">\r\n <div\r\n aria-labelledby=\"GoogleMaps\"\r\n :class=\"{\r\n 'nyk-find-center-map-and-employees__sections__content--hidden': !showCenterMaps,\r\n }\">\r\n <template v-if=\"centerInformation.length > 0\">\r\n <CenterMap\r\n :categories=\"categories\"\r\n :labels=\"labels\"\r\n :mapkey=\"mapkey\"\r\n :apiUrl=\"centersApiUrl\"\r\n :centerInformation=\"centerInformation\" />\r\n </template>\r\n </div>\r\n\r\n <div\r\n aria-labelledby=\"Employees\"\r\n :class=\"{\r\n 'nyk-find-center-map-and-employees__sections__content--hidden': showCenterMaps,\r\n }\">\r\n <template v-if=\"centerInformation.length > 0\">\r\n <FindCenterContactPersons\r\n :defaultImage=\"defaultEmployeesImage\"\r\n :apiUrl=\"contactPersonsApiUrl\"\r\n :centerInformation=\"centerInformation\"\r\n :contactUrl=\"contactUrl\" />\r\n </template>\r\n </div>\r\n </div>\r\n </article>\r\n</template>\r\n","<script>\r\nimport options from './FilterTabs.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <div class=\"nyk-filter-wrapper\">\r\n\r\n <div class=\"nyk-filter-tabs\" :class=\"{ 'nyk-filter-tabs--mobile-hidden' : canShowDropdown }\" role=\"tablist\" ref=\"tabContainer\">\r\n <span class=\"nyk-filter-tabs__line\" ref=\"lineElement\"></span>\r\n <template v-for=\"(tab, index) in tabs\" :key=\"index\">\r\n <button\r\n :aria-selected=\"tab.id === activeTab\"\r\n role=\"tab\"\r\n :id=\"tab.id\"\r\n v-on:click=\"changeTab(tab.id)\"\r\n class=\"nyk-filter-tabs__tab\">\r\n <div class=\"nyk-filter-tabs__tab__button\">\r\n <span class=\"nyk-filter-tabs__tab__button__text\">\r\n {{ tab.title }}\r\n </span>\r\n </div>\r\n </button>\r\n </template>\r\n </div>\r\n\r\n <div v-if=\"canShowDropdown\" class=\"nyk-filter-dropdown\">\r\n <div class=\"nyk-form nyk-js--form nyk-form--select\">\r\n <div class=\"nyk-form--select__content\">\r\n <select :aria-label=\"dropdownLabel\" class=\"nyk-form--select__content__select\" v-model=\"activeTab\" @change=\"changeTab($event.target.value)\">\r\n <option v-for=\"(tab, index) in tabs\" :key=\"index\" :value=\"tab.id\">{{ tab.title }}</option> \r\n </select>\r\n </div> \r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n","import { onMounted, ref } from \"vue\"\r\n\r\nexport default {\r\n name: \"FilterTabs\",\r\n props: {\r\n initActiveTab: {\r\n type: String,\r\n required: true,\r\n },\r\n tabs: {\r\n type: Array,\r\n required: true,\r\n },\r\n callback: {\r\n type: Function,\r\n required: false,\r\n },\r\n canShowDropdown: {\r\n type: Boolean,\r\n required: false,\r\n default: true,\r\n },\r\n dropdownLabel: {\r\n type: String,\r\n required: false,\r\n }\r\n \r\n },\r\n setup(props) {\r\n const tabContainer = ref(null)\r\n const lineElement = ref(null)\r\n const activeTab = ref(props.initActiveTab)\r\n\r\n onMounted(() => {\r\n startTabMutationObserver()\r\n const indexOfActiveTab = props.tabs.findIndex((tab) => tab.id === props.initActiveTab)\r\n tabContainer.value.querySelectorAll(\"button\")[indexOfActiveTab].setAttribute(\"aria-selected\", true)\r\n })\r\n\r\n const drawTabActiveBorder = (activeElm) => {\r\n const tabContainerLeft = tabContainer.value.getBoundingClientRect().left\r\n\r\n const activeElmLeft = activeElm.getBoundingClientRect().left\r\n const lineLeftPos = activeElmLeft - tabContainerLeft + tabContainer.value.scrollLeft\r\n\r\n lineElement.value.style.left = `${lineLeftPos}px`\r\n lineElement.value.style.width = `${activeElm.clientWidth}px`\r\n }\r\n\r\n const handleTabChanges = function (mutationsList) {\r\n mutationsList.forEach((mutation) => {\r\n if (mutation.type === \"attributes\" && mutation.target.getAttribute(\"aria-selected\") === \"true\") {\r\n drawTabActiveBorder(mutation.target)\r\n }\r\n })\r\n }\r\n\r\n const startTabMutationObserver = () => {\r\n const config = { attributes: true, childList: true, subtree: true }\r\n\r\n const observer = new MutationObserver(handleTabChanges)\r\n observer.observe(tabContainer.value, config)\r\n }\r\n\r\n const changeTab = (tabId) => {\r\n activeTab.value = tabId\r\n if (props.callback) {\r\n props.callback(tabId)\r\n }\r\n }\r\n\r\n return {\r\n changeTab,\r\n tabContainer,\r\n lineElement,\r\n activeTab,\r\n }\r\n },\r\n}\r\n","import { render } from \"./FilterTabs.vue?vue&type=template&id=2897c21a\"\nimport script from \"./FilterTabs.vue?vue&type=script&lang=js\"\nexport * from \"./FilterTabs.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from './CenterMap.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-center-map\" :class=\"{ 'nyk-center-map--hidden-mobile': !showMapsMobile }\">\r\n <div class=\"nyk-center-map__map-search-section\">\r\n <div class=\"nyk-center-map__controls\">\r\n <div class=\"nyk-center-map__controls__search\">\r\n <div class=\"nyk-form nyk-js--form\">\r\n <div class=\"nyk-form__content\">\r\n <input\r\n ref=\"googlePlacesSearchField\"\r\n class=\"nyk-form__content__input\"\r\n type=\"text\"\r\n maxlength=\"10000\"\r\n autocomplete=\"off\"\r\n id=\"googlePlacesSearch\"\r\n name=\"googlePlacesSearch\"\r\n aria-required=\"true\" />\r\n\r\n <label for=\"googlePlacesSearch\" class=\"nyk-form__content__label\">{{labels.searchPlaceholderLabel}}</label>\r\n\r\n <button\r\n @click=\"resetCenterSearch\"\r\n class=\"nyk-form__content__reset-icon nyk-form-js--reset\"\r\n aria-label=\"Slet indtastning\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-center-map__controls__dropdown Form__Element\">\r\n <MultiSelectDropdown\r\n :initOptions=\"multiSelectCategoriesOptions\"\r\n :onChangeCallback=\"filterCategories\"\r\n :placeholderLabel=\"labels.categorySelectPlaceholder\"\r\n :title=\"labels.titleLabel\" />\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-center-map__switch-view-mobile\">\r\n <div class=\"nyk-center-map__switch-view-mobile__body\">\r\n <button\r\n v-on:click=\"handleShowMapMobile\"\r\n class=\"nyk-center-map__switch-view-mobile__body__item\"\r\n :class=\"{ 'nyk-center-map__switch-view-mobile__body__item--active': showMapsMobile }\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 19 18\">\r\n <path fill=\"#fff\" d=\"M7.25 12.127 4.123 9l-1.065 1.057L7.25 14.25l9-9-1.057-1.058-7.943 7.935Z\" />\r\n </svg>\r\n Kort\r\n </button>\r\n <button\r\n v-on:click=\"handleShowListResultsMobile\"\r\n class=\"nyk-center-map__switch-view-mobile__body__item\"\r\n :class=\"{ 'nyk-center-map__switch-view-mobile__body__item--active': !showMapsMobile }\">\r\n Liste\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 19 18\">\r\n <path fill=\"#fff\" d=\"M7.25 12.127 4.123 9l-1.065 1.057L7.25 14.25l9-9-1.057-1.058-7.943 7.935Z\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-center-map__zoom-level\" aria-live=\"polite\">Zoom level: {{ currentZoom }}</div>\r\n\r\n <div class=\"nyk-center-map__map-section\">\r\n <div\r\n class=\"nyk-center-map__map-section__suggestions\"\r\n :class=\"{ 'nyk-center-map__map-section__suggestions--shown': showFilteredResults }\">\r\n <ul class=\"nyk-center-map__map-section__suggestions__list\">\r\n <template v-for=\"(info, index) in centerInformationFiltered\" :key=\"index\">\r\n <template v-if=\"index < showListMobileCount\">\r\n <li class=\"nyk-center-map__map-section__suggestions__list__item\">\r\n <a class=\"nyk-center-map__map-section__suggestions__list__item__link\" :href=\"info.centerPageUrl\">\r\n <div class=\"nyk-center-map__map-section__suggestions__list__item__link__card\">\r\n <div class=\"nyk-center-map__map-section__suggestions__list__item__link__card__header\">\r\n <h3 class=\"nyk-center-map__map-section__suggestions__list__item__link__card__header__title\">\r\n {{ info.name }}\r\n </h3>\r\n <p\r\n class=\"nyk-center-map__map-section__suggestions__list__item__link__card__header__address\">\r\n {{ info.address }}\r\n </p>\r\n <p\r\n class=\"nyk-center-map__map-section__suggestions__list__item__link__card__header__postal-code\">\r\n {{ info.postal }}\r\n </p>\r\n </div>\r\n <!-- <div\r\n class=\"nyk-center-map__map-section__suggestions__list__item__link__card__distance\">\r\n {{ getDistance(info) }}\r\n </div> -->\r\n </div>\r\n\r\n <div class=\"nyk-center-map__map-section__suggestions__list__item__arrow\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\">\r\n <path\r\n fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\" />\r\n </svg>\r\n </div>\r\n </a>\r\n </li>\r\n </template>\r\n </template>\r\n </ul>\r\n\r\n <div\r\n v-if=\"centerInformationFiltered && centerInformationFiltered.length > showListMobileCount\"\r\n class=\"nyk-button-container\">\r\n <button v-on:click=\"handleShowAllListMobile\" class=\"nyk-button nyk-button--outline-primary\">Vis flere</button>\r\n </div>\r\n </div>\r\n\r\n <GoggleMapsWithMarkers\r\n :focusPoints=\"focusPoints\"\r\n :locations=\"centerInformationFiltered\"\r\n @current-zoom=\"updateCurrentZoom\"\r\n theme=\"findNykreditTheme\"\r\n :mapkey=\"mapkey\" />\r\n </div>\r\n </div>\r\n </article>\r\n</template>\r\n","<script>\r\n import options from './GoogleMapsWithMarkers.options'\r\n export default options\r\n</script>\r\n\r\n<template>\r\n <div class=\"nyk-google-maps-with-markers\">\r\n <div style=\"width:100%; height:100%; position:relative\" id=\"mapcontainer\"></div>\r\n </div>\r\n</template>\r\n","var markerUrl = 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent('<svg role=\"presentation\" width=\"23px\" height=\"27px\" viewBox=\"0 0 23 27\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">'\r\n + '<title>Group 8</title>'\r\n + '<g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">'\r\n + '<g id=\"Find_kort_active\" transform=\"translate(-844.000000, -976.000000)\">'\r\n + '<g id=\"Group-8\" transform=\"translate(844.000000, 976.000000)\">'\r\n + '<path d=\"M22.5,0.5 L22.5,22.3461431 L15.6360039,22.3459953 L12.0226575,26.2626896 L8.40794026,22.3459959 L0.5,22.3461445 L0.5,0.5 L22.5,0.5 Z\" id=\"Rectangle-7-Copy-2\" stroke=\"#FFFFFF\" fill=\"#0F1E82\"></path>'\r\n + '<path d=\"M5.22727273,15.9652474 L5.24349469,6.3486392 C5.24349469,6.23791698 5.3573916,6.23076923 5.3573916,6.23076923 L10.405429,6.23076923 C10.5163421,6.22796992 10.5300677,6.33844754 10.5330515,6.33559387 L13.9543921,12.3483487 C13.9894307,12.4015084 14.069653,12.4287405 14.1331659,12.4043621 C14.1997478,12.3799836 14.2262613,12.2821436 14.2262613,12.2821436 L14.0828671,6.3557326 C14.0811621,6.28243416 14.0965075,6.24362431 14.1767298,6.23076923 L17.6279938,6.23076923 C17.763971,6.23076923 17.7759916,6.33265868 17.7721553,6.33004961 L17.7721553,15.932308 C17.7721553,15.932308 17.7562983,16.0600707 17.617252,16.0586846 L12.750205,16.0616455 C12.6385247,16.0616455 12.5470491,16.0600707 12.4430414,15.8990424 L9.05691001,9.8684318 C8.93073678,9.71449693 8.75417952,9.82790975 8.75417952,10.0006788 L8.94991852,15.9294543 C8.96364413,16.014249 8.88725817,16.064555 8.81308877,16.0586846 L5.34673508,16.0616455 C5.28296645,16.0629243 5.2243982,16.014249 5.22727273,15.9652474 L5.22727273,15.9652474 Z\" id=\"Path-Copy-2\" fill=\"#FFFFFF\"></path>'\r\n + '</g>'\r\n + '</g>'\r\n + '</g>'\r\n + '</svg>')\r\n\r\nexport default {\r\n findNykreditTheme() {\r\n return {\r\n markerDefault: {\r\n url: markerUrl,\r\n anchor: new window.google.maps.Point(11, 27),\r\n scaledSize: new window.google.maps.Size(23, 27)\r\n },\r\n markerHighlight: {\r\n url: markerUrl,\r\n anchor: new window.google.maps.Point(17, 39),\r\n scaledSize: new window.google.maps.Size(34, 39)\r\n },\r\n markerMedium: {\r\n url: markerUrl,\r\n anchor: new window.google.maps.Point(13, 30),\r\n scaledSize: new window.google.maps.Size(26, 30)\r\n },\r\n markerMediumHighlight: {\r\n url: markerUrl,\r\n anchor: new window.google.maps.Point(19, 44),\r\n scaledSize: new window.google.maps.Size(38, 44)\r\n },\r\n markerBig: {\r\n url: markerUrl,\r\n anchor: new window.google.maps.Point(15, 35),\r\n scaledSize: new window.google.maps.Size(30, 35)\r\n },\r\n markerBigHighlight: {\r\n url: markerUrl,\r\n anchor: new window.google.maps.Point(22, 51),\r\n scaledSize: new window.google.maps.Size(44, 51)\r\n },\r\n markerOptions: {\r\n animation: window.google.maps.Animation.DROP\r\n },\r\n mapOptions: {\r\n styles: [\r\n {\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#f2f2f2\"\r\n }\r\n ]\r\n },\r\n {\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#616161\"\r\n }\r\n ]\r\n },\r\n {\r\n \"elementType\": \"labels.text.stroke\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#f5f5f5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"administrative.land_parcel\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#bdbdbd\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"visibility\": \"off\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"poi\",\r\n \"elementType\": \"labels\",\r\n \"stylers\": [\r\n {\r\n \"visibility\": \"off\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#ffffff\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.arterial\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#757575\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.highway\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#dadada\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.highway\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#616161\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"road.local\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#9e9e9e\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"transit.line\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#e5e5e5\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"transit.station\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#eeeeee\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"water\",\r\n \"elementType\": \"geometry\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#68D2DF\"\r\n }\r\n ]\r\n },\r\n {\r\n \"featureType\": \"water\",\r\n \"elementType\": \"labels.text.fill\",\r\n \"stylers\": [\r\n {\r\n \"color\": \"#9e9e9e\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n}","const createMarker = function (\r\n location,\r\n markerThemeExtractor,\r\n currentMapTheme,\r\n hoverEnterLocation,\r\n hoverLeaveLocation,\r\n clickLocation,\r\n highlightLocation,\r\n map\r\n) {\r\n var latLng = { lat: location.latitude, lng: location.longitude }\r\n var highlighted = highlightLocation == location\r\n var useMediumIcon = location.useMediumIcon\r\n var useBigIcon = location.useBigIcon\r\n\r\n var marker = new window.google.maps.Marker({\r\n position: latLng,\r\n map: map.value,\r\n title: location.name,\r\n icon: markerThemeExtractor(highlighted, useMediumIcon, useBigIcon),\r\n ...currentMapTheme.value.markerOptions,\r\n })\r\n\r\n marker.addListener('mouseover', function () {\r\n hoverEnterLocation(location)\r\n })\r\n\r\n marker.addListener('mouseout', function () {\r\n hoverLeaveLocation()\r\n })\r\n\r\n marker.addListener('click', function () {\r\n clickLocation(location)\r\n })\r\n\r\n return marker\r\n}\r\n\r\nconst updatePins = function (\r\n props,\r\n mapLocations,\r\n pins,\r\n markerThemeExtractor,\r\n currentMapTheme,\r\n highlightLocation,\r\n map,\r\n updateMarkerHighlight\r\n) {\r\n const hoverEnterLocation =\r\n props.hoverEnterLocation ??\r\n function (location) {\r\n highlightLocation.value = location\r\n if (pins.value !== null) {\r\n updateMarkerHighlight()\r\n }\r\n }\r\n const hoverLeaveLocation =\r\n props.hoverLeaveLocation ??\r\n function () {\r\n highlightLocation.value = undefined\r\n if (pins.value !== null) {\r\n updateMarkerHighlight()\r\n }\r\n }\r\n const clickLocation =\r\n props.clickLocation ??\r\n function (location) {\r\n window.location.href = location.centerPageUrl\r\n }\r\n\r\n mapLocations.value.forEach((location) => {\r\n pins.value.push({\r\n marker: createMarker(\r\n location,\r\n markerThemeExtractor,\r\n currentMapTheme,\r\n hoverEnterLocation,\r\n hoverLeaveLocation,\r\n clickLocation,\r\n highlightLocation,\r\n map\r\n ),\r\n location,\r\n })\r\n })\r\n\r\n return pins.value\r\n}\r\n\r\nexport default updatePins\r\n","const initMap = function (mapContainer, initialMapOptions) {\r\n return new window.google.maps.Map(mapContainer.value, initialMapOptions.value);\r\n}\r\n\r\nexport default initMap","import { computed, onMounted, onUpdated, ref } from 'vue'\r\n\r\nimport mapThemes from './methods/mapThemes'\r\nimport updatePins from './methods/updatePins'\r\nimport updateBounds from './methods/updateBounds'\r\nimport initMap from './methods/initMap'\r\n\r\nexport default {\r\n name: 'GoogleMapsWithMarkers',\r\n props: {\r\n // optional clickhandler when user clicks a marker\r\n clickLocation: {\r\n type: Function,\r\n },\r\n // optionnal focus points used to direct the map rendering\r\n focusPoints: {\r\n type: Array,\r\n default: [],\r\n },\r\n // optional data providing info on the currently highlighted or \"hovered\" marker\r\n highlightLocation: {\r\n type: Object,\r\n default: null,\r\n },\r\n // optional mouseover handler for markers\r\n hoverEnterLocation: {\r\n type: Function,\r\n default: null,\r\n },\r\n // optional mouseout handler for markers\r\n hoverLeaveLocation: {\r\n type: Function,\r\n },\r\n // array with lat/lng and info for markers to be rendered\r\n locations: {\r\n type: Array,\r\n default: [],\r\n },\r\n // apikey for google maps\r\n mapkey: {\r\n type: String,\r\n required: true,\r\n },\r\n // optional styles as string\r\n style: {\r\n type: String,\r\n },\r\n // theme name. Name/theme must be defined in mapThemes.js\r\n theme: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n setup(props, { emit }) {\r\n const mapsScriptUrl = `https://maps.googleapis.com/maps/api/js?key=${props.mapkey}&language=da-DK®ion=dk&libraries=places`\r\n const map = ref(null)\r\n const pins = ref([])\r\n const mapContainer = computed(() => document.querySelector('#mapcontainer'))\r\n const defaultZoom = 7\r\n const defaultCenter = computed(() => (window.google ? new window.google.maps.LatLng(56.27206, 10.3) : undefined))\r\n const currentMapTheme = ref({})\r\n const mapLocations = computed(() => props.locations ?? [])\r\n const localHighlightLocation = ref(null)\r\n const highlightLocation = computed({\r\n get() {\r\n return props.highlightLocation ?? localHighlightLocation.value\r\n },\r\n set(location) {\r\n localHighlightLocation.value = location\r\n },\r\n })\r\n\r\n const setAltTextForImg = () => {\r\n const allImgPins = mapContainer.value.querySelectorAll('img[draggable=\"false\"]')\r\n if (!allImgPins.length) {\r\n setTimeout(setAltTextForImg, 50)\r\n return\r\n }\r\n allImgPins.forEach((img) => {\r\n const parent = img.parentNode\r\n const altText = parent.getAttribute('title')\r\n img.setAttribute('alt', altText)\r\n })\r\n }\r\n\r\n onMounted(() => {\r\n emit('current-zoom', defaultZoom)\r\n const loadMapScript = document.createElement('script')\r\n loadMapScript.type = 'text/javascript'\r\n loadMapScript.src = mapsScriptUrl\r\n loadMapScript.onload = () => {\r\n if (mapContainer.value && window.google) {\r\n currentMapTheme.value = mapThemes[props.theme]()\r\n map.value = initMap(mapContainer, initialMapOptions)\r\n pins.value = updatePins(\r\n props,\r\n mapLocations,\r\n pins,\r\n markerThemeExtractor,\r\n currentMapTheme,\r\n highlightLocation,\r\n map,\r\n updateMarkerHighlight\r\n )\r\n\r\n setTimeout(setAltTextForImg, 50)\r\n map.value.addListener('zoom_changed', () => {\r\n emit('current-zoom', map.value.getZoom())\r\n })\r\n }\r\n }\r\n\r\n document.body.appendChild(loadMapScript)\r\n })\r\n\r\n onUpdated(() => {\r\n if (map.value) {\r\n map.value = initMap(mapContainer, initialMapOptions)\r\n }\r\n updateLocalState(props, pins)\r\n })\r\n\r\n const initialMapOptions = computed(() => {\r\n return {\r\n zoom: defaultZoom,\r\n center: {\r\n lat: defaultCenter.value.lat(),\r\n lng: defaultCenter.value.lng(),\r\n },\r\n scrollwheel: false,\r\n fullscreenControl: false,\r\n streetViewControl: false,\r\n mapTypeId: 'roadmap',\r\n mapTypeControlOptions: {\r\n mapTypeIds: ['roadmap', 'satellite'],\r\n position: window.google.maps.ControlPosition.TOP_RIGHT,\r\n },\r\n zoomControlOptions: {\r\n position: window.google.maps.ControlPosition.TOP_RIGHT,\r\n },\r\n clickableIcons: false,\r\n gestureHandling: 'cooperative',\r\n ...currentMapTheme.value.mapOptions,\r\n }\r\n })\r\n\r\n const updateMarkerHighlight = function () {\r\n pins.value.forEach((pin) => {\r\n if (pin.marker && pin.location) {\r\n const highlighted = highlightLocation.value == pin.location\r\n const useMediumIcon = pin.location.UseMediumIcon\r\n const useBigIcon = pin.location.UseBigIcon\r\n //pin.marker.setIcon(markerThemeExtractor(highlighted, useMediumIcon, useBigIcon))\r\n }\r\n })\r\n }\r\n\r\n const markerThemeExtractor = function (highlighted, useMediumIcon, useBigIcon) {\r\n if (useBigIcon) {\r\n return highlighted ? currentMapTheme.value.markerBigHighlight : currentMapTheme.value.markerBig\r\n } else if (useMediumIcon) {\r\n return highlighted ? currentMapTheme.value.markerMediumHighlight : currentMapTheme.value.markerMedium\r\n } else {\r\n return highlighted ? currentMapTheme.value.markerHighlight : currentMapTheme.value.markerDefault\r\n }\r\n }\r\n\r\n const updateLocalState = function (props, pins) {\r\n if (map.value !== null) {\r\n pins.value = updatePins(\r\n props,\r\n mapLocations,\r\n pins,\r\n markerThemeExtractor,\r\n currentMapTheme,\r\n highlightLocation,\r\n map,\r\n updateMarkerHighlight\r\n )\r\n }\r\n\r\n if (pins.value !== null && map.value !== null) {\r\n updateBounds(props, map, mapLocations, defaultZoom)\r\n updateMarkerHighlight()\r\n }\r\n }\r\n },\r\n}\r\n","const updateBounds = function (props, map, mapLocations, defaultZoom) {\r\n\r\n if (mapLocations.value === null){\r\n return\r\n }\r\n\r\n const maxZoom = 15\r\n\r\n const bounds = new window.google.maps.LatLngBounds();\r\n if (props.focusPoints.length > 0) {\r\n props.focusPoints.forEach((focusPoint) => {\r\n const point = new window.google.maps.LatLng(focusPoint.Latitude, focusPoint.Longitude);\r\n bounds.extend(point);\r\n });\r\n map.value.fitBounds(bounds);\r\n map.value.setZoom(Math.min(map.value.getZoom(), maxZoom));\r\n }\r\n else {\r\n //bounds.extend(defaultCenter.value); \r\n map.value.fitBounds(bounds);\r\n map.value.setZoom(defaultZoom);\r\n }\r\n}\r\n\r\nexport default updateBounds","import { render } from \"./GoogleMapsWithMarkers.vue?vue&type=template&id=45fde97b\"\nimport script from \"./GoogleMapsWithMarkers.vue?vue&type=script&lang=js\"\nexport * from \"./GoogleMapsWithMarkers.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","const getDistanceFromLatLonInKm = function(placeSelected, center) {\r\n const lat1 = placeSelected.geometry.location.lat()\r\n const lng1 = placeSelected.geometry.location.lng()\r\n const lat2 = center.latitude\r\n const lng2 = center.longitude\r\n \r\n // Radius of the earth in km\r\n const earthRadiusInKm = 6371;\r\n\r\n // Convert degree to radian\r\n const deg2rad = (deg) => deg * (Math.PI/180);\r\n\r\n // Calculate differences and convert to radians\r\n const dLat = deg2rad(lat2 - lat1);\r\n const dLon = deg2rad(lng2 - lng1);\r\n\r\n // Calculate the square of half the chord length between latitude and longitude\r\n const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +\r\n Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *\r\n Math.sin(dLon / 2) * Math.sin(dLon / 2);\r\n\r\n // Calculate the angular distance in radians\r\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\r\n\r\n // Calculate distance in kilometers\r\n const distanceInKm = earthRadiusInKm * c;\r\n\r\n return distanceInKm;\r\n}\r\n\r\nexport default getDistanceFromLatLonInKm","const setFocusPoints = function (centerLocations) {\r\n return centerLocations.map((center) => {\r\n return { Latitude: center.latitude, Longitude: center.longitude }\r\n })\r\n}\r\n\r\nexport default setFocusPoints\r\n","function initGooglePlacesAutocomplete(inputfield, callback) {\r\n // we need to wait for google js file to initialize\r\n if (!window.google) {\r\n // if not ready, try again in x milliseconds\r\n setTimeout(initGooglePlacesAutocomplete.bind(this, inputfield, callback), 1000)\r\n return false\r\n }\r\n\r\n const places = new window.google.maps.places.Autocomplete(inputfield)\r\n window.google.maps.event.addListener(places, \"place_changed\", callback.bind(null, places))\r\n\r\n return true\r\n}\r\n\r\nexport default initGooglePlacesAutocomplete\r\n","import { computed, onMounted, ref } from \"vue\"\r\nimport GoggleMapsWithMarkers from \"../../../../Frontend/src/components/GoogleMapsWithMarkers/GoogleMapsWithMarkers.vue\"\r\nimport MultiSelectDropdown from \"../../../../Frontend/src/components/MultiSelectDropdown/MultiSelectDropdown.vue\"\r\n\r\nimport zoomMapToCenters from \"./methods/zoomMapToCenters\"\r\nimport setFocusPoints from \"./methods/setFocusPoints\"\r\nimport initGooglePlacesAutocomplete from \"./methods/initGooglePlacesAutocomplete\"\r\nimport mapCategoriesToMultiSelectOptions from \"./methods/mapCategoriesToMultiSelectOptions\"\r\nimport getDistanceFromLatLonInKm from \"./methods/getDistanceFromLatLonInKm\"\r\n\r\nexport default {\r\n name: \"CenterMap\",\r\n props: {\r\n categories: {\r\n type: Array,\r\n },\r\n labels: {\r\n type: Array,\r\n },\r\n mapkey: {\r\n type: String,\r\n required: true,\r\n },\r\n centerInformation: {\r\n type: Array,\r\n required: true,\r\n }\r\n },\r\n setup(props) {\r\n const centerInformationComplete = ref(props.centerInformation)\r\n const centerInformationFiltered = ref(props.centerInformation) // map will display these locations\r\n const googlePlacesSearchField = ref(null)\r\n const placeSelected = ref(null)\r\n const focusPoints = ref([]) // map will zoom to these focus points\r\n const placeSearchQuery = ref(\"\")\r\n const showMapsMobile = ref(true)\r\n const showListMobileCount = ref(3)\r\n const currentZoom = ref(7)\r\n\r\n const googlePlacesSearchResultsShown = ref(false)\r\n const googlePlacesSearchResultsRef = ref(null)\r\n\r\n const multiSelectCategoriesOptions = ref(mapCategoriesToMultiSelectOptions(props.categories))\r\n\r\n // handling google places search results, to handle WCAG\r\n const googlePlacesSearchResultsMutationHandler = (mutationsList) => {\r\n for (const mutation of mutationsList) {\r\n if (mutation.type === 'attributes') {\r\n googlePlacesSearchResultsShown.value = googlePlacesSearchResultsRef.value.style.display !== 'none'\r\n\r\n if (mutation.attributeName === 'class' && mutation.target.classList.value.includes('pac-item-selected')) {\r\n mutation.target.setAttribute('aria-selected', 'true')\r\n }\r\n }\r\n\r\n if (mutation.type === 'childList') {\r\n mutation.addedNodes.forEach((item) => {\r\n item.setAttribute('aria-selected', 'false')\r\n observer.observe(item, { attributes: true })\r\n })\r\n }\r\n }\r\n }\r\n\r\n const observer = new MutationObserver(googlePlacesSearchResultsMutationHandler)\r\n\r\n const findGooglePlacesSearchResultsElement = () => {\r\n const searchResults = document.querySelector('.pac-container')\r\n if (!searchResults) {\r\n setTimeout(findGooglePlacesSearchResultsElement, 100)\r\n return\r\n }\r\n googlePlacesSearchResultsRef.value = searchResults\r\n googlePlacesSearchResultsRef.value.setAttribute('role', 'listbox')\r\n googlePlacesSearchResultsRef.value.setAttribute('id', 'googlePlacesSearchResults')\r\n observer.observe(googlePlacesSearchResultsRef.value, { attributes: true, childList: true })\r\n }\r\n\r\n onMounted(async () => {\r\n initGooglePlacesAutocomplete(googlePlacesSearchField.value, filterCentersAndZoom)\r\n findGooglePlacesSearchResultsElement()\r\n })\r\n\r\n const showFilteredResults = computed(() => {\r\n let show = false\r\n if (centerInformationFiltered.value && centerInformationFiltered.value.length === 3) {\r\n show = true\r\n }\r\n return show\r\n })\r\n\r\n // controlling focus points and pins data\r\n\r\n const filterCentersAndZoom = function (places) {\r\n showListMobileCount.value = 3\r\n const searchHasHits = !!places.getPlace().geometry\r\n if (searchHasHits) {\r\n placeSelected.value = places.getPlace()\r\n centerInformationFiltered.value = zoomMapToCenters(placeSelected, centerInformationComplete.value)\r\n focusPoints.value = setFocusPoints(centerInformationFiltered.value)\r\n } else {\r\n placeSelected.value = null\r\n }\r\n }\r\n\r\n const resetCenterSearch = function () {\r\n googlePlacesSearchField.value.value = \"\"\r\n centerInformationFiltered.value = centerInformationComplete.value\r\n focusPoints.value = setFocusPoints(centerInformationFiltered.value)\r\n showListMobileCount.value = 3\r\n }\r\n\r\n // handling category selection\r\n\r\n const filterCategories = function (userSelection) {\r\n showListMobileCount.value = 3\r\n const selectedCategoryIds = userSelection.filter((option) => option.selected).map((option) => parseInt(option.value))\r\n\r\n centerInformationFiltered.value = centerInformationComplete.value.filter((center) => {\r\n return center.categories.some((category) => selectedCategoryIds.includes(category))\r\n })\r\n\r\n if (centerInformationFiltered.value.length) {\r\n focusPoints.value = setFocusPoints(centerInformationFiltered.value)\r\n } else {\r\n resetCenterSearch()\r\n }\r\n }\r\n\r\n const getDistance = (info) => {\r\n if (!placeSelected.value) return\r\n const distance = getDistanceFromLatLonInKm(placeSelected.value, info)\r\n return `${distance.toFixed(2)} km`\r\n }\r\n\r\n const handleShowMapMobile = () => {\r\n showMapsMobile.value = true\r\n }\r\n\r\n const handleShowListResultsMobile = () => {\r\n showMapsMobile.value = false\r\n }\r\n\r\n const handleShowAllListMobile = () => {\r\n showListMobileCount.value = 10000\r\n }\r\n\r\n const updateCurrentZoom = (zoom) => {\r\n currentZoom.value = zoom\r\n }\r\n\r\n return {\r\n centerInformationFiltered,\r\n filterCategories,\r\n focusPoints,\r\n googlePlacesSearchField,\r\n multiSelectCategoriesOptions,\r\n placeSearchQuery,\r\n showFilteredResults,\r\n resetCenterSearch,\r\n getDistance,\r\n showMapsMobile,\r\n handleShowMapMobile,\r\n handleShowListResultsMobile,\r\n showListMobileCount,\r\n handleShowAllListMobile,\r\n googlePlacesSearchResultsShown,\r\n updateCurrentZoom,\r\n currentZoom\r\n }\r\n },\r\n components: {\r\n GoggleMapsWithMarkers,\r\n MultiSelectDropdown,\r\n },\r\n}\r\n","const mapCategoriesToMultiSelectOptions = function(categories) {\r\n return categories.map(category => {\r\n return {\r\n value: category.Id, \r\n name: category.Name,\r\n selected: false\r\n }\r\n })\r\n}\r\n\r\nexport default mapCategoriesToMultiSelectOptions","import getDistanceFromLatLonInKm from \"./getDistanceFromLatLonInKm\"\r\n\r\nconst zoomMapToCenters = function (placeSelected, centerInformation) {\r\n const maxFilteredCentersToDisplay = 3\r\n const hasSelectedPlace = !!placeSelected.value\r\n const hasGeometry = hasSelectedPlace && placeSelected.value.geometry\r\n\r\n if (hasGeometry) {\r\n return centerInformation\r\n .sort((centerA, centerB) => {\r\n return (\r\n getDistanceFromLatLonInKm(placeSelected.value, centerA) -\r\n getDistanceFromLatLonInKm(placeSelected.value, centerB)\r\n )\r\n })\r\n .slice(0, maxFilteredCentersToDisplay)\r\n }\r\n}\r\n\r\nexport default zoomMapToCenters\r\n","import { render } from \"./CenterMap.vue?vue&type=template&id=34eb82c1\"\nimport script from \"./CenterMap.vue?vue&type=script&lang=js\"\nexport * from \"./CenterMap.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { computed, onBeforeMount, ref } from \"vue\"\r\nimport getCenterInformation from \"../FindMap/methods/getCenterInformation\"\r\n\r\nimport FilterTabs from \"../../../../Frontend/src/components/FilterTabs/FilterTabs.vue\"\r\nimport CenterMap from \"../FindMap/CenterMap.vue\"\r\nimport FindCenterContactPersons from \"../FindCenterContactPersons/FindCenterContactPersons.vue\"\r\n\r\nexport default {\r\n name: \"FindCenterMapAndEmployees\",\r\n components: {\r\n FilterTabs,\r\n CenterMap,\r\n FindCenterContactPersons,\r\n },\r\n props: {\r\n mapkey: {\r\n type: String,\r\n required: true,\r\n },\r\n categories: {\r\n type: Array,\r\n required: true,\r\n },\r\n labels: {\r\n type: Array,\r\n required: true,\r\n },\r\n centersApiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n contactPersonsApiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n defaultEmployeesImage: {\r\n type: String,\r\n required: true,\r\n },\r\n contactUrl: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n setup(props) {\r\n const centerInformation = ref([])\r\n\r\n onBeforeMount(async () => {\r\n centerInformation.value = await getCenterInformation(props.centersApiUrl)\r\n })\r\n\r\n const FindCenterViews = Object.freeze({\r\n Maps: \"GoogleMaps\",\r\n Employees: \"Employees\",\r\n })\r\n\r\n const showCenterMaps = computed(() => {\r\n return activeTab.value === FindCenterViews.Maps\r\n })\r\n\r\n const activeTab = ref(FindCenterViews.Maps)\r\n const tabs = [\r\n { id: FindCenterViews.Maps, title: \"Find Center\" },\r\n { id: FindCenterViews.Employees, title: \"Find Medarbejder\" },\r\n ]\r\n\r\n const findCenterFilterChanged = (value) => {\r\n activeTab.value = value\r\n }\r\n\r\n return {\r\n tabs,\r\n showCenterMaps,\r\n findCenterFilterChanged,\r\n centerInformation,\r\n }\r\n },\r\n}\r\n","const getCenterInformation = function(getCenterInformationsUrl){\r\n\r\n const request = new Request(getCenterInformationsUrl)\r\n\r\n return fetch(getCenterInformationsUrl)\r\n .then((res)=>{\r\n if(!res.ok) throw new Error(res.status)\r\n return res.json()\r\n })\r\n .then((json)=>{\r\n return json.mapCenterInformations\r\n })\r\n .catch((err)=>console.log(`Error getting center information from url ${getCenterInformationsUrl}`,err))\r\n}\r\n\r\nexport default getCenterInformation","import { render } from \"./FindCenterMapAndEmployees.vue?vue&type=template&id=3223b4f2\"\nimport script from \"./FindCenterMapAndEmployees.vue?vue&type=script&lang=js\"\nexport * from \"./FindCenterMapAndEmployees.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./JobApplication.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <template v-if=\"loading\">\r\n <div class=\"nyk-loader\">\r\n <div class=\"nyk-loader__content\">\r\n <div class=\"nyk-loader__content__circle\"></div>\r\n </div>\r\n </div>\r\n </template>\r\n\r\n <template v-if=\"submitSuccess\">\r\n <div class=\"nyk-hero-topic-pages\">\r\n <strong class=\"nyk-hero-topic-pages__subject\">{{ subject }}</strong>\r\n <h1 class=\"nyk-hero-topic-pages__title nyk-hero-topic-pages__title--big\">\r\n {{ successLabels.title }}\r\n </h1>\r\n <div class=\"nyk-hero-topic-pages__description nyk-richtext\">\r\n <p>{{ successLabels.description }}</p>\r\n </div>\r\n <a\r\n :href=\"successLabels.link.url\"\r\n class=\"nyk-hero-topic-pages__action nyk-button nyk-button--icon nyk-button--filled-primary\">\r\n {{ successLabels.link.text }}\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\">\r\n <path\r\n fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\" />\r\n </svg>\r\n </div>\r\n </a>\r\n </div>\r\n </template>\r\n\r\n <template v-else>\r\n <div class=\"nyk-hero-topic-pages\">\r\n <strong class=\"nyk-hero-topic-pages__subject\">{{ subject }}</strong>\r\n <h1 class=\"nyk-hero-topic-pages__title\">{{ title }}</h1>\r\n <div class=\"nyk-hero-topic-pages__description nyk-richtext\">\r\n <p>{{ description }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-job-application\">\r\n <div class=\"nyk-job-application__content\">\r\n <article ref=\"jobApplicationRef\">\r\n <form\r\n class=\"nyk-job-application__content__form\"\r\n v-on:submit.prevent=\"handleSubmitJobApplication\"\r\n ref=\"formRef\">\r\n <div class=\"nyk-form-layout\">\r\n <div class=\"nyk-form-layout__row\">\r\n <div class=\"nyk-form nyk-js--form\" ref=\"firstNameWrapper\">\r\n <div class=\"nyk-form__content\">\r\n <input\r\n class=\"nyk-form__content__input\"\r\n type=\"given-name\"\r\n maxlength=\"10000\"\r\n autocomplete=\"given-name\"\r\n id=\"firstname\"\r\n name=\"firstname\"\r\n aria-required=\"true\"\r\n v-model=\"firstNameModel\"\r\n :placeholder=\"labels.inputFirstNameLabel\" />\r\n <label for=\"firstname\" class=\"nyk-form__content__label\">{{\r\n labels.inputFirstNameLabel\r\n }}</label>\r\n <button\r\n v-on:click=\"resetInputValue\"\r\n type=\"button\"\r\n class=\"nyk-form__content__reset-icon nyk-form-js--reset\"\r\n aria-label=\"reset input value\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n <div class=\"nyk-form__content__error-icon\">\r\n <span class=\"nyk-icon nyk-icon--ui-form-error\"></span>\r\n </div>\r\n </div>\r\n <span class=\"nyk-form__help-message\"></span>\r\n <span class=\"nyk-form__error-message\">{{\r\n labels.inputFirstNameErrorMessage\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"nyk-form nyk-js--form\" ref=\"lastNameWrapper\">\r\n <div class=\"nyk-form__content\">\r\n <input\r\n class=\"nyk-form__content__input\"\r\n type=\"text\"\r\n maxlength=\"10000\"\r\n autocomplete=\"family-name\"\r\n id=\"lastname\"\r\n name=\"lastname\"\r\n aria-required=\"true\"\r\n v-model=\"lastNameModel\"\r\n :placeholder=\"labels.inputLastNameLabel\" />\r\n <label for=\"lastname\" class=\"nyk-form__content__label\">{{\r\n labels.inputLastNameLabel\r\n }}</label>\r\n <button\r\n v-on:click=\"resetInputValue\"\r\n type=\"button\"\r\n class=\"nyk-form__content__reset-icon nyk-form-js--reset\"\r\n aria-label=\"reset input value\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n <div class=\"nyk-form__content__error-icon\">\r\n <span class=\"nyk-icon nyk-icon--ui-form-error\"></span>\r\n </div>\r\n </div>\r\n <span class=\"nyk-form__help-message\"></span>\r\n <span class=\"nyk-form__error-message\">{{\r\n labels.inputLastNameErrorMessage\r\n }}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-form nyk-js--form\" ref=\"addressWrapper\">\r\n <div class=\"nyk-form__content\">\r\n <input\r\n class=\"nyk-form__content__input\"\r\n type=\"text\"\r\n id=\"address\"\r\n name=\"address\"\r\n autocomplete=\"street-address\"\r\n aria-required=\"true\"\r\n v-model=\"addressModel\"\r\n :placeholder=\"labels.inputAddressLabel\" />\r\n <label for=\"address\" class=\"nyk-form__content__label\">{{\r\n labels.inputAddressLabel\r\n }}</label>\r\n <button\r\n v-on:click=\"resetInputValue\"\r\n type=\"button\"\r\n class=\"nyk-form__content__reset-icon nyk-form-js--reset\"\r\n aria-label=\"reset input value\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n <div class=\"nyk-form__content__error-icon\">\r\n <span class=\"nyk-icon nyk-icon--ui-form-error\"></span>\r\n </div>\r\n </div>\r\n <span class=\"nyk-form__help-message\"></span>\r\n <span class=\"nyk-form__error-message\">{{ labels.inputAddressErrorMessage }}</span>\r\n </div>\r\n\r\n <div class=\"nyk-form-layout__row\">\r\n <div class=\"nyk-form nyk-js--form\" ref=\"postalCodeWrapper\">\r\n <div class=\"nyk-form__content\">\r\n <input\r\n class=\"nyk-form__content__input\"\r\n type=\"number\"\r\n maxlength=\"4\"\r\n autocomplete=\"postal-code\"\r\n id=\"postalcode\"\r\n name=\"postalcode\"\r\n aria-required=\"true\"\r\n v-model=\"postalCodeModel\"\r\n :placeholder=\"labels.inputZipcodeLabel\" />\r\n <label for=\"postalcode\" class=\"nyk-form__content__label\">{{\r\n labels.inputZipcodeLabel\r\n }}</label>\r\n <button\r\n v-on:click=\"resetInputValue\"\r\n type=\"button\"\r\n class=\"nyk-form__content__reset-icon nyk-form-js--reset\"\r\n aria-label=\"reset input value\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n <div class=\"nyk-form__content__error-icon\">\r\n <span class=\"nyk-icon nyk-icon--ui-form-error\"></span>\r\n </div>\r\n </div>\r\n <span class=\"nyk-form__help-message\"></span>\r\n <span class=\"nyk-form__error-message\">{{ labels.inputZipcodeErrorMessage }}</span>\r\n </div>\r\n\r\n <div class=\"nyk-form nyk-js--form\" ref=\"cityWrapper\">\r\n <div class=\"nyk-form__content\">\r\n <input\r\n class=\"nyk-form__content__input\"\r\n type=\"text\"\r\n maxlength=\"10000\"\r\n autocomplete=\"off\"\r\n id=\"city\"\r\n name=\"city\"\r\n aria-required=\"true\"\r\n v-model=\"cityModel\"\r\n :placeholder=\"labels.inputCityLabel\" />\r\n <label for=\"city\" class=\"nyk-form__content__label\">{{\r\n labels.inputCityLabel\r\n }}</label>\r\n <button\r\n v-on:click=\"resetInputValue\"\r\n type=\"button\"\r\n class=\"nyk-form__content__reset-icon nyk-form-js--reset\"\r\n aria-label=\"reset input value\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n <div class=\"nyk-form__content__error-icon\">\r\n <span class=\"nyk-icon nyk-icon--ui-form-error\"></span>\r\n </div>\r\n </div>\r\n <span class=\"nyk-form__help-message\"></span>\r\n <span class=\"nyk-form__error-message\">{{ labels.inputCityErrorMessage }}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-form-layout__row\">\r\n <div class=\"nyk-form nyk-js--form\" ref=\"emailWrapper\">\r\n <div class=\"nyk-form__content\">\r\n <input\r\n class=\"nyk-form__content__input\"\r\n type=\"email\"\r\n maxlength=\"10000\"\r\n autocomplete=\"email\"\r\n id=\"email\"\r\n name=\"email\"\r\n aria-required=\"true\"\r\n v-model=\"emailModel\"\r\n :placeholder=\"labels.inputEmailLabel\" />\r\n <label for=\"email\" class=\"nyk-form__content__label\">{{\r\n labels.inputEmailLabel\r\n }}</label>\r\n <button\r\n v-on:click=\"resetInputValue\"\r\n type=\"button\"\r\n class=\"nyk-form__content__reset-icon nyk-form-js--reset\"\r\n aria-label=\"reset input value\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n <div class=\"nyk-form__content__error-icon\">\r\n <span class=\"nyk-icon nyk-icon--ui-form-error\"></span>\r\n </div>\r\n </div>\r\n <span class=\"nyk-form__help-message\"></span>\r\n <span class=\"nyk-form__error-message\" ref=\"emailErrorMessage\">{{\r\n labels.inputEmailErrorMessage\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"nyk-form nyk-js--form\" ref=\"phoneWrapper\">\r\n <div class=\"nyk-form__content\">\r\n <input\r\n class=\"nyk-form__content__input\"\r\n type=\"tel\"\r\n maxlength=\"11\"\r\n autocomplete=\"tel\"\r\n id=\"phone\"\r\n name=\"phone\"\r\n aria-required=\"true\"\r\n v-model=\"phoneModel\"\r\n :placeholder=\"labels.inputTelephoneLabel\" />\r\n <label for=\"phone\" class=\"nyk-form__content__label\">{{\r\n labels.inputTelephoneLabel\r\n }}</label>\r\n <button\r\n v-on:click=\"resetInputValue\"\r\n type=\"button\"\r\n class=\"nyk-form__content__reset-icon nyk-form-js--reset\"\r\n aria-label=\"reset input value\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n <div class=\"nyk-form__content__error-icon\">\r\n <span class=\"nyk-icon nyk-icon--ui-form-error\"></span>\r\n </div>\r\n </div>\r\n <span class=\"nyk-form__help-message\"></span>\r\n <span class=\"nyk-form__error-message\">{{\r\n labels.inputTelephoneErrorMessage\r\n }}</span>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"nyk-form nyk-js--form nyk-form-choice nyk-job-application__form__gender\"\r\n ref=\"genderWrapper\"\r\n v-on:change=\"genderUpdated\">\r\n <div class=\"nyk-form-choice__label\">{{ labels.inputGenderLabel }}</div>\r\n <div class=\"nyk-form-choice__content\">\r\n <template v-for=\"(item, index) in genderList\" :key=\"index\">\r\n <div class=\"nyk-form-choice__content__item nyk-js--choice-wrapper\">\r\n <div class=\"nyk-form-choice__content__item__choice\">\r\n <input\r\n class=\"nyk-form-choice__content__item__choice__input\"\r\n :id=\"item.code\"\r\n type=\"radio\"\r\n :value=\"item.code\"\r\n name=\"gender\" />\r\n <div class=\"nyk-form-choice__content__item__choice__circle\">\r\n <div class=\"nyk-form-choice__content__item__choice__circle__outer\"></div>\r\n <div class=\"nyk-form-choice__content__item__choice__circle__inner\"></div>\r\n </div>\r\n </div>\r\n <label class=\"nyk-form-choice__content__item__label\" :for=\"item.code\">{{\r\n item.name\r\n }}</label>\r\n </div>\r\n </template>\r\n </div>\r\n\r\n <span class=\"nyk-form-choice__help-message\"></span>\r\n <span class=\"nyk-form__error-message\">{{ labels.inputGenderErrorMessage }}</span>\r\n </div>\r\n\r\n <div class=\"nyk-job-application__form__section\">\r\n <h3 class=\"nyk-fs-heading--medium\">Upload dokumenter</h3>\r\n <div class=\"nyk-fs-text--medium\">{{ labels.uploadFileLabel }}</div>\r\n </div>\r\n\r\n <div class=\"nyk-form-layout\">\r\n <div class=\"nyk-form nyk-js--form nyk-js--cv-files\" ref=\"cvFileWrapper\">\r\n <label class=\"nyk-form__file\">\r\n <input\r\n class=\"nyk-form__file__input\"\r\n name=\"cvfile\"\r\n id=\"cvfile\"\r\n type=\"file\"\r\n ref=\"cvFileInput\"\r\n :accept=\"acceptedFileTypes\"\r\n v-on:change=\"handleSingleFileUpload\" />\r\n <div class=\"nyk-form__file__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 29 29\">\r\n <g stroke=\"#07094A\" stroke-miterlimit=\"10\" stroke-width=\"2\">\r\n <path\r\n stroke-linecap=\"square\"\r\n d=\"M1 20v5.333c0 .708.284 1.386.79 1.886.507.5 1.194.781 1.91.781h21.6c.716 0 1.403-.281 1.91-.781.505-.5.79-1.178.79-1.886V20\" />\r\n <path d=\"M14.5 0v20\" />\r\n <path stroke-linecap=\"square\" d=\"M7.75 13.333 14.5 20l6.75-6.667\" />\r\n </g>\r\n </svg>\r\n </div>\r\n <div class=\"nyk-form__file__label\">{{ labels.inputCvLabel }}</div>\r\n </label>\r\n <ul\r\n class=\"nyk-form__files nyk-js--files\"\r\n v-on:click=\"fileRemoved\"\r\n ref=\"cvUploadedFiles\"></ul>\r\n <span class=\"nyk-form__error-message\" ref=\"cvFilesErrorMessage\">{{\r\n labels.inputCvErrorMessage\r\n }}</span>\r\n </div>\r\n\r\n <div class=\"nyk-form nyk-js--form\" ref=\"applicationFilesWrapper\">\r\n <label class=\"nyk-form__file\">\r\n <input\r\n class=\"nyk-form__file__input\"\r\n name=\"applicationfile\"\r\n id=\"applicationfile\"\r\n type=\"file\"\r\n ref=\"applicationFileInput\"\r\n :accept=\"acceptedFileTypes\"\r\n v-on:change=\"handleSingleFileUpload\" />\r\n <div class=\"nyk-form__file__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 29 29\">\r\n <g stroke=\"#07094A\" stroke-miterlimit=\"10\" stroke-width=\"2\">\r\n <path\r\n stroke-linecap=\"square\"\r\n d=\"M1 20v5.333c0 .708.284 1.386.79 1.886.507.5 1.194.781 1.91.781h21.6c.716 0 1.403-.281 1.91-.781.505-.5.79-1.178.79-1.886V20\" />\r\n <path d=\"M14.5 0v20\" />\r\n <path stroke-linecap=\"square\" d=\"M7.75 13.333 14.5 20l6.75-6.667\" />\r\n </g>\r\n </svg>\r\n </div>\r\n <div class=\"nyk-form__file__label\">{{ labels.inputApplicationLabel }}</div>\r\n </label>\r\n <ul class=\"nyk-form__files nyk-js--files\" v-on:click=\"fileRemoved\"></ul>\r\n <span class=\"nyk-form__error-message\" ref=\"applicationFilesErrorMessage\"></span>\r\n </div>\r\n\r\n <div class=\"nyk-form nyk-js--form\" ref=\"miscFilesWrapper\">\r\n <label class=\"nyk-form__file\">\r\n <input\r\n class=\"nyk-form__file__input\"\r\n name=\"miscfiles\"\r\n id=\"miscfiles\"\r\n type=\"file\"\r\n multiple\r\n ref=\"miscFilesInput\"\r\n :accept=\"acceptedFileTypes\"\r\n v-on:change=\"handleFileUploadWithLimit\" />\r\n <div class=\"nyk-form__file__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 29 29\">\r\n <g stroke=\"#07094A\" stroke-miterlimit=\"10\" stroke-width=\"2\">\r\n <path\r\n stroke-linecap=\"square\"\r\n d=\"M1 20v5.333c0 .708.284 1.386.79 1.886.507.5 1.194.781 1.91.781h21.6c.716 0 1.403-.281 1.91-.781.505-.5.79-1.178.79-1.886V20\" />\r\n <path d=\"M14.5 0v20\" />\r\n <path stroke-linecap=\"square\" d=\"M7.75 13.333 14.5 20l6.75-6.667\" />\r\n </g>\r\n </svg>\r\n </div>\r\n <div class=\"nyk-form__file__label\">{{ labels.inputMiscDocLabel }}</div>\r\n </label>\r\n <ul class=\"nyk-form__files nyk-js--files\" v-on:click=\"fileRemoved\"></ul>\r\n <span class=\"nyk-form__error-message\" ref=\"miscFilesErrorMessage\"></span>\r\n </div>\r\n </div>\r\n <div ref=\"generalErrorWrapper\">\r\n <div class=\"nyk-form__error-message\" ref=\"generalErrorMessage\"></div>\r\n </div>\r\n </div>\r\n\r\n <button\r\n type=\"submit\"\r\n :disabled=\"loading\"\r\n class=\"nyk-job-application__content__form__button nyk-button nyk-button--icon nyk-button--filled-primary\">\r\n {{ labels.jobApplicationButtonLabel }}\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\">\r\n <path\r\n fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\" />\r\n </svg>\r\n </div>\r\n </button>\r\n\r\n <div\r\n v-if=\"formFailedErrorMessage !== ''\"\r\n class=\"nyk-job-application__content__form__error-text nyk-fs-text--small\">\r\n <span>{{ formFailedErrorMessage }}</span>\r\n <span class=\"nyk-icon nyk-icon--ui-form-error\"></span>\r\n </div>\r\n </form>\r\n </article>\r\n </div>\r\n </div>\r\n </template>\r\n</template>\r\n","var uploadedFiles = []\r\n\r\nexport const resetInputValue = (e) => {\r\n const currentInputContainer = e.currentTarget.closest(\".nyk-js--form\")\r\n const currentInput = currentInputContainer?.querySelector(\"input\")\r\n currentInput.value = \"\"\r\n currentInput.focus()\r\n}\r\n\r\nexport const cprFormatting = (e) => {\r\n const input = e.target\r\n input.value = input.value.replace(/[^0-9]/g, \"\") // only numbers\r\n\r\n if (input.value.includes(\"-\") && input.value.length === 7) {\r\n input.value = input.value.replaceAll(\"-\", \"\")\r\n }\r\n\r\n if (input.value !== \"\" && !input.value.includes(\"-\")) {\r\n input.value = input.value.match(/.{1,6}/g).join(\"-\")\r\n }\r\n}\r\n\r\nexport const fileUploaded = (e) => {\r\n const { files } = e.target\r\n const multipleUploads = e.target.hasAttribute(\"multiple\")\r\n const parent = e.target.closest(\".nyk-js--form\")\r\n const fileContainer = parent?.querySelector(\".nyk-js--files\")\r\n\r\n if (multipleUploads) {\r\n handleMultipleUploads(files, e)\r\n } else {\r\n handleSingleUploads(files, fileContainer)\r\n }\r\n}\r\n\r\nconst handleMultipleUploads = (files, e) => {\r\n const inputId = e.target.id\r\n Array.from(files).map((file) => {\r\n const exist = checkIfFileIsUploaded(file, inputId)\r\n if (!exist) {\r\n uploadedFiles.push({ file: file, id: inputId })\r\n }\r\n })\r\n\r\n renderUploadedFiles(e)\r\n}\r\n\r\nconst handleSingleUploads = (files, container) => {\r\n container.innerHTML = \"\"\r\n Array.from(files).map((file) => {\r\n const item = createUploadedFileItem(file)\r\n container.appendChild(item)\r\n\r\n const button = item.querySelector(\".nyk-js--file-remove\")\r\n button?.addEventListener(\"click\", (evt) => {\r\n const parent = evt.target.closest(\".nyk-js--form\")\r\n const input = parent?.querySelector(\"input\")\r\n const container = evt.target.closest(\".nyk-js--files\")\r\n\r\n container.innerHTML = \"\"\r\n input.value = \"\"\r\n })\r\n })\r\n}\r\n\r\nconst checkIfFileIsUploaded = (file, inputId) => {\r\n let res = false\r\n const filesForCurrentInput = getAllUploadedFileForInput(uploadedFiles, inputId)\r\n filesForCurrentInput.find((item) => {\r\n if (item.file.name === file.name && item.id === inputId) {\r\n res = true\r\n }\r\n })\r\n return res\r\n}\r\n\r\nconst getAllUploadedFileForInput = function (uploadedFiles, inputId) {\r\n return Array.from(uploadedFiles).filter((item) => item.id === inputId)\r\n}\r\n\r\nconst createUploadedFileItem = (file) => {\r\n const li = document.createElement(\"li\")\r\n li.classList.add(\"nyk-form__files__file\")\r\n\r\n const removeButton = document.createElement(\"button\")\r\n removeButton.classList.add(\"nyk-form__files__file__button\")\r\n removeButton.classList.add(\"nyk-js--file-remove\")\r\n\r\n removeButton.setAttribute(\"data-file-name\", file.name)\r\n\r\n const closeIcon = document.createElement(\"span\")\r\n closeIcon.classList.add(\"nyk-icon\")\r\n closeIcon.classList.add(\"nyk-icon--ui-close\")\r\n\r\n removeButton.appendChild(closeIcon)\r\n\r\n const span = document.createElement(\"span\")\r\n span.classList.add(\"nyk-form__files__file__name\")\r\n span.innerText = file.name\r\n\r\n li.appendChild(removeButton)\r\n li.appendChild(span)\r\n\r\n return li\r\n}\r\n\r\nconst renderUploadedFiles = (e) => {\r\n const inputId = e.target.id\r\n const filesForCurrentInput = getAllUploadedFileForInput(uploadedFiles, inputId)\r\n\r\n createAndAddFileItemsToContainer(filesForCurrentInput, e)\r\n addFilesToInputFileList(filesForCurrentInput, e)\r\n}\r\n\r\nconst removeFile = (currentFileName, inputEvent) => {\r\n const id = inputEvent.target.id\r\n const files = Array.from(uploadedFiles).filter((item) => {\r\n if (item.id !== id || (currentFileName !== item.file.name && item.id === id)) {\r\n return item\r\n }\r\n })\r\n\r\n uploadedFiles = files\r\n renderUploadedFiles(inputEvent)\r\n}\r\n\r\nconst addFilesToInputFileList = (files, e) => {\r\n const dt = new DataTransfer()\r\n files.map((file) => dt.items.add(file.file))\r\n e.target.files = dt.files\r\n}\r\n\r\nconst createAndAddFileItemsToContainer = (files, e) => {\r\n const inputId = e.target.id\r\n const parent = e.target.closest(\".nyk-js--form\")\r\n const fileContainer = parent?.querySelector(\".nyk-js--files\")\r\n\r\n if (fileContainer) {\r\n fileContainer.innerHTML = \"\"\r\n\r\n files.map((item) => {\r\n if (item.id === inputId) {\r\n const fileItem = createUploadedFileItem(item.file)\r\n fileContainer.appendChild(fileItem)\r\n addEventListenerToRemoveFile(fileItem, e)\r\n }\r\n })\r\n }\r\n}\r\n\r\nconst addEventListenerToRemoveFile = (item, e) => {\r\n const button = item.querySelector(\".nyk-js--file-remove\")\r\n button?.addEventListener(\"click\", (evt) => {\r\n const currentFileName = evt.currentTarget.dataset.fileName\r\n removeFile(currentFileName, e)\r\n })\r\n}\r\n","export default function (input) {\r\n const regex = /^(\\+45|45)?\\d{8}$/\r\n return !!input.match(regex)\r\n}\r\n","import { onUpdated, ref } from \"vue\"\r\nimport { resetInputValue, fileUploaded } from \"../../../../Frontend/src/foundation/js/form-methods\"\r\nimport { submitJobApplication } from \"./JobApplication.options.form-submit\"\r\nimport emailValidator from \"../../../../Frontend/src/foundation/js/inputValidators/emailValidator\"\r\nimport phoneValidator from \"../../../../Frontend/src/foundation/js/inputValidators/phoneValidator\"\r\n\r\nexport default {\r\n name: \"JobApplication\",\r\n components: {},\r\n props: {\r\n apiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n jobPostingId: {\r\n type: String,\r\n required: true,\r\n },\r\n genderList: {\r\n type: Object,\r\n required: true,\r\n },\r\n initLabels: {\r\n type: Object,\r\n required: true,\r\n },\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n description: {\r\n type: String,\r\n required: true,\r\n },\r\n subject: {\r\n type: String,\r\n required: true,\r\n },\r\n successLabels: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n setup(props) {\r\n const labels = ref(props.initLabels)\r\n const formFailedErrorMessage = ref(\"\")\r\n\r\n const jobApplicationRef = ref(null)\r\n const formRef = ref(null)\r\n\r\n const firstNameModel = ref(\"\")\r\n const lastNameModel = ref(\"\")\r\n const addressModel = ref(\"\")\r\n const postalCodeModel = ref(\"\")\r\n const cityModel = ref(\"\")\r\n const emailModel = ref(\"\")\r\n const phoneModel = ref(\"\")\r\n\r\n const firstNameWrapper = ref(null)\r\n const lastNameWrapper = ref(null)\r\n const addressWrapper = ref(null)\r\n const postalCodeWrapper = ref(null)\r\n const cityWrapper = ref(null)\r\n const emailWrapper = ref(null)\r\n const phoneWrapper = ref(null)\r\n const genderWrapper = ref(null)\r\n const cvFileWrapper = ref(null)\r\n\r\n const miscFilesWrapper = ref(null)\r\n const applicationFilesWrapper = ref(null)\r\n\r\n const generalErrorMessage = ref(null)\r\n const generalErrorWrapper = ref(null)\r\n\r\n const loading = ref(false)\r\n\r\n const validation = ref({\r\n firstName: false,\r\n lastName: false,\r\n address: false,\r\n postalCode: false,\r\n city: false,\r\n email: false,\r\n phone: false,\r\n gender: false,\r\n cv: false,\r\n totalFileSizeInRange: false,\r\n oneFileOutOfRange: false,\r\n miscFileLimitInRange: true,\r\n totalNumberOfFilesInRange: true,\r\n mimeType: false,\r\n })\r\n\r\n const cvFileInput = ref(null)\r\n const applicationFileInput = ref(null)\r\n const miscFilesInput = ref(null)\r\n\r\n const cvUploadedFiles = ref(null)\r\n\r\n const emailErrorMessage = ref(null)\r\n const cvFilesErrorMessage = ref(null)\r\n const miscFilesErrorMessage = ref(null)\r\n const applicationFilesErrorMessage = ref(null)\r\n const totalFileLimit = 7\r\n const miscFileLimit = 5\r\n const acceptedFileTypes = \".pdf\"\r\n const acceptedMimeTypes = \"application/pdf\"\r\n const maxFileSizeInBytes = 9000000\r\n const maxAccumulatedFileSizeInBytes = 65000000\r\n const submitAttempted = ref(false)\r\n const submitSuccess = ref(false)\r\n\r\n onUpdated(() => {\r\n if (!submitSuccess.value) {\r\n emailErrorMessage.value.textContent =\r\n emailModel.value === \"\"\r\n ? labels.value.inputEmailErrorMessage\r\n : labels.value.inputEmailWrongformatErrorMessage\r\n\r\n validation.value.firstName = firstNameModel.value !== \"\"\r\n validation.value.lastName = lastNameModel.value !== \"\"\r\n validation.value.address = addressModel.value !== \"\"\r\n validation.value.postalCode = postalCodeModel.value !== \"\"\r\n validation.value.city = cityModel.value !== \"\"\r\n validation.value.email = emailValidator(emailModel.value)\r\n\r\n validation.value.phone = phoneValidator(phoneModel.value)\r\n\r\n if (submitAttempted.value) {\r\n handleInputUpdated()\r\n }\r\n }\r\n })\r\n\r\n const handleInputUpdated = () => {\r\n firstNameWrapper.value.classList.toggle(\"nyk-form--error\", !validation.value.firstName)\r\n lastNameWrapper.value.classList.toggle(\"nyk-form--error\", !validation.value.lastName)\r\n addressWrapper.value.classList.toggle(\"nyk-form--error\", !validation.value.address)\r\n postalCodeWrapper.value.classList.toggle(\"nyk-form--error\", !validation.value.postalCode)\r\n cityWrapper.value.classList.toggle(\"nyk-form--error\", !validation.value.city)\r\n emailWrapper.value.classList.toggle(\"nyk-form--error\", !validation.value.email)\r\n phoneWrapper.value.classList.toggle(\"nyk-form--error\", !validation.value.phone)\r\n genderWrapper.value.classList.toggle(\"nyk-form--error\", !validation.value.gender)\r\n cvFileWrapper.value.classList.toggle(\"nyk-form--error\", !validation.value.cv)\r\n\r\n validateFiles()\r\n }\r\n\r\n const genderUpdated = () => {\r\n validation.value.gender = true\r\n if (submitAttempted.value) {\r\n handleInputUpdated()\r\n }\r\n }\r\n\r\n const cvValidation = () => {\r\n const valid =\r\n cvFileInput.value.files.length > 0 && cvFileInput.value.files[0]?.size < maxFileSizeInBytes\r\n validation.value.cv = valid\r\n if (submitAttempted.value) {\r\n handleInputUpdated()\r\n }\r\n }\r\n\r\n const handleFileUploadWithLimit = (e) => {\r\n fileUploaded(e)\r\n\r\n Array.from(e.currentTarget.files).forEach((file) => {\r\n if (file.size > maxFileSizeInBytes) {\r\n miscFilesErrorMessage.value.textContent = `${\r\n labels.FileUploadMaxMbErrorMessage ?? \"Filen er for stor.\"\r\n } Maks. filstørrelse er ${bytesToMB(maxFileSizeInBytes)} MB.`\r\n miscFilesWrapper.value.classList.add(\"nyk-form--error\")\r\n validation.value.oneFileOutOfRange = true\r\n }\r\n validation.value.oneFileOutOfRange = file.size > maxFileSizeInBytes\r\n })\r\n\r\n if (e.currentTarget.files.length > miscFileLimit) {\r\n validation.value.miscFileLimitInRange = false\r\n }\r\n\r\n if (submitAttempted.value) {\r\n handleInputUpdated()\r\n }\r\n\r\n validateFiles()\r\n }\r\n\r\n const handleSingleFileUpload = (e) => {\r\n fileUploaded(e)\r\n const { files } = e.currentTarget\r\n\r\n if (files.length == 0) { \r\n validateFiles()\r\n return \r\n }\r\n\r\n const file = files[0]\r\n\r\n cvValidation()\r\n\r\n if (file.size > maxFileSizeInBytes) {\r\n const wrapper = e.currentTarget.closest(\".nyk-js--form\")\r\n const fileErrorMessageContainer = wrapper.querySelector(\".nyk-form__error-message\")\r\n fileErrorMessageContainer.textContent = `${\r\n labels.FileUploadMaxMbErrorMessage ?? \"Filen er for stor.\"\r\n } Maks. filstørrelse er ${bytesToMB(maxFileSizeInBytes)} MB.`\r\n wrapper?.classList.add(\"nyk-form--error\")\r\n }\r\n validation.value.oneFileOutOfRange = file.size > maxFileSizeInBytes\r\n\r\n validateFiles()\r\n }\r\n\r\n const bytesToMB = (bytes) => {\r\n const megabytes = bytes / 1024 / 1024\r\n return megabytes.toFixed(2)\r\n }\r\n\r\n const fileRemoved = (e) => {\r\n const children = e.currentTarget.children\r\n const cvFileParent = e.currentTarget.closest(\".nyk-js--cv-files\")\r\n const wrapper = e.currentTarget.closest(\".nyk-js--form\")\r\n\r\n if (children.length === 0) {\r\n wrapper.classList.remove(\"nyk-form--error\")\r\n }\r\n\r\n if (children.length === 0 && cvFileParent) {\r\n validation.value.cv = false\r\n cvFilesErrorMessage.value.textContent = labels.value.inputCvErrorMessage\r\n wrapper.classList.remove(\"nyk-form--error\")\r\n\r\n if (submitAttempted.value) {\r\n handleInputUpdated()\r\n }\r\n }\r\n\r\n validateFiles()\r\n }\r\n\r\n\r\n const validateMimeType = (allFileUploadElements) => {\r\n const isValidFileType = (file) => {\r\n if (!file || file.type.toString().trim() == \"\") return false;\r\n const fileType = file.type;\r\n return acceptedMimeTypes.includes(fileType);\r\n };\r\n \r\n var hasInvalidFile = false\r\n\r\n allFileUploadElements.forEach(fileGroup => {\r\n const invalidFileTypes = new Set()\r\n\r\n if(fileGroup.files.length == 0) {\r\n fileGroup.wrapperElement.value.classList.remove(\"nyk-form--error\");\r\n return false;\r\n }\r\n\r\n fileGroup.files.forEach(file => {\r\n if (!isValidFileType(file)) {\r\n validation.value.mimeType = false\r\n hasInvalidFile = true\r\n invalidFileTypes.add(file.name.split('.').pop())\r\n\r\n const multipleFiles = invalidFileTypes.size > 1;\r\n fileGroup.errorMessageElement.value.textContent = `${multipleFiles ? \"Filtyperne\" : \"Filtypen\"} '${Array.from(invalidFileTypes).join(', ')}' er ikke tilladt. Tilladte filtyper er '${acceptedFileTypes.toString()}'.`;\r\n fileGroup.wrapperElement.value.classList.add(\"nyk-form--error\");\r\n }\r\n });\r\n });\r\n\r\n if(!hasInvalidFile) {\r\n return true\r\n }\r\n\r\n return false\r\n }\r\n\r\n const validateAccumulatedTotalFileSize = (allFileUploadElements) => {\r\n const initialValue = 0;\r\n var totalFileSizes = 0\r\n allFileUploadElements.forEach(fileGroup => {\r\n \r\n totalFileSizes += fileGroup.files.reduce(\r\n (accumulator, currentValue) => accumulator + currentValue.size,\r\n initialValue\r\n )\r\n });\r\n\r\n const isWithinRange = totalFileSizes < maxAccumulatedFileSizeInBytes\r\n \r\n const errorMessage = `${labels.uploadMaxMbErrorMessage ??\r\n \"Den samlede størrelse pÃ¥ filerne overstiger den tilladte størrelse.\"\r\n } Maks. samlet størrelse er ${bytesToMB(maxAccumulatedFileSizeInBytes)} MB.`\r\n\r\n allFileUploadElements.forEach(fileGroup => {\r\n if(fileGroup.files.length > 0) {\r\n fileGroup.errorMessageElement.value.textContent = errorMessage;\r\n fileGroup.wrapperElement.value.classList.toggle(\"nyk-form--error\", !isWithinRange);\r\n }\r\n });\r\n\r\n return isWithinRange\r\n }\r\n\r\n const validateAccumulatedTotalFileCount = (allFileUploadElements) => {\r\n var totalFileAmount = 0;\r\n\r\n allFileUploadElements.forEach(fileGroup => {\r\n totalFileAmount += fileGroup.files.length;\r\n });\r\n\r\n if(totalFileAmount > miscFileLimit) {\r\n generalErrorMessage.value.textContent = `Du har forsøgt at uploade flere filer end tilladt for typen af fil. Du kan maks. uploade ${miscFileLimit} filer.`\r\n generalErrorWrapper.value.classList.add(\"nyk-form--error\")\r\n return false\r\n }\r\n\r\n generalErrorWrapper.value.classList.remove(\"nyk-form--error\")\r\n return true\r\n }\r\n\r\n const validateFiles = () => {\r\n const cvFiles = Array.from(cvFileInput.value.files)\r\n const applicationFiles = Array.from(applicationFileInput.value.files)\r\n const miscFiles = Array.from(miscFilesInput.value.files)\r\n\r\n const allFileUploadElements = [\r\n { files: cvFiles, errorMessageElement: cvFilesErrorMessage, wrapperElement: cvFileWrapper },\r\n { files: applicationFiles, errorMessageElement: applicationFilesErrorMessage, wrapperElement: applicationFilesWrapper },\r\n { files: miscFiles, errorMessageElement: miscFilesErrorMessage, wrapperElement: miscFilesWrapper }\r\n ];\r\n\r\n // Validate total file size\r\n validation.value.totalFileSizeInRange = validateAccumulatedTotalFileSize(allFileUploadElements)\r\n\r\n // Validate file MIME types\r\n validation.value.mimeType = validateMimeType(allFileUploadElements)\r\n\r\n // Validate the amount of files\r\n validation.value.totalNumberOfFilesInRange = validateAccumulatedTotalFileCount(allFileUploadElements)\r\n }\r\n\r\n const isFormValid = () => {\r\n let response = true\r\n if (\r\n !validation.value.firstName ||\r\n !validation.value.lastName ||\r\n !validation.value.address ||\r\n !validation.value.postalCode ||\r\n !validation.value.city ||\r\n !validation.value.email ||\r\n !validation.value.phone ||\r\n !validation.value.gender ||\r\n !validation.value.cv ||\r\n !validation.value.totalFileSizeInRange ||\r\n !validation.value.miscFileLimitInRange ||\r\n !validation.value.totalNumberOfFilesInRange ||\r\n validation.value.oneFileOutOfRange ||\r\n !validation.value.mimeType\r\n ) {\r\n response = false\r\n }\r\n return response\r\n }\r\n\r\n const handleSubmitJobApplication = async (e) => {\r\n submitAttempted.value = true\r\n handleInputUpdated()\r\n\r\n if (isFormValid()) {\r\n loading.value = true\r\n const response = await submitJobApplication(\r\n e.currentTarget,\r\n props.jobPostingId,\r\n props.apiUrl\r\n )\r\n\r\n // Simulate loading,\r\n // can be removed if not want forced loading animation\r\n setTimeout(() => {\r\n loading.value = false\r\n if (response?.status === \"success\") {\r\n submitSuccess.value = true\r\n setTimeout(() => {\r\n window.scrollTo(0,0)\r\n }, 300)\r\n } else {\r\n submitSuccess.value = false\r\n formFailedErrorMessage.value =\r\n response?.message ?? \"Der skete en fejl. Prøv igen senere.\"\r\n }\r\n }, 1000)\r\n }\r\n }\r\n\r\n return {\r\n labels,\r\n jobApplicationRef,\r\n formRef,\r\n firstNameModel,\r\n lastNameModel,\r\n addressModel,\r\n postalCodeModel,\r\n cityModel,\r\n emailModel,\r\n phoneModel,\r\n firstNameWrapper,\r\n lastNameWrapper,\r\n addressWrapper,\r\n postalCodeWrapper,\r\n cityWrapper,\r\n emailWrapper,\r\n phoneWrapper,\r\n genderWrapper,\r\n cvFileWrapper,\r\n miscFilesWrapper,\r\n applicationFilesWrapper,\r\n generalErrorMessage,\r\n generalErrorWrapper,\r\n cvUploadedFiles,\r\n miscFilesInput,\r\n cvFileInput,\r\n applicationFileInput,\r\n emailErrorMessage,\r\n cvFilesErrorMessage,\r\n miscFilesErrorMessage,\r\n applicationFilesErrorMessage,\r\n acceptedFileTypes,\r\n formFailedErrorMessage,\r\n submitSuccess,\r\n loading,\r\n resetInputValue,\r\n handleFileUploadWithLimit,\r\n handleSingleFileUpload,\r\n handleSubmitJobApplication,\r\n genderUpdated,\r\n fileRemoved,\r\n }\r\n },\r\n}\r\n","export const submitJobApplication = async (form, jobId, apiUrl) => {\r\n const formData = new FormData()\r\n const elements = form.elements\r\n\r\n const selectedGender = Array.from(elements.gender).find((gender) => gender.checked === true)\r\n\r\n formData.append(\"FirstName\", elements.firstname.value)\r\n formData.append(\"LastName\", elements.lastname.value)\r\n formData.append(\"Address\", elements.address.value)\r\n formData.append(\"Zipcode\", elements.postalcode.value)\r\n formData.append(\"City\", elements.city.value)\r\n formData.append(\"Email\", elements.email.value)\r\n formData.append(\"Phone\", elements.phone.value)\r\n formData.append(\"JobReference\", jobId)\r\n formData.append(\"Gender\", selectedGender.value)\r\n\r\n if (elements.cvfile.files.length > 0) {\r\n Array.from(elements.cvfile.files).forEach((file) => {\r\n formData.append(\"CvFiles\", file)\r\n })\r\n }\r\n\r\n if (elements.applicationfile.files.length > 0) {\r\n Array.from(elements.applicationfile.files).forEach((file) => {\r\n formData.append(\"CoverLetterFiles\", file)\r\n })\r\n }\r\n\r\n if (elements.miscfiles.files.length > 0) {\r\n Array.from(elements.miscfiles.files).forEach((file) => {\r\n formData.append(\"MiscFiles\", file)\r\n })\r\n }\r\n\r\n const response = await postData(apiUrl, formData)\r\n return response\r\n}\r\n\r\nasync function postData(url, data) {\r\n \r\n return await fetch(url, {\r\n method: \"POST\",\r\n body: data,\r\n })\r\n .then((res) => {\r\n if (res.ok) {\r\n return res.json()\r\n } else { \r\n throw new Error(\"Der skete en fejl. Pr�v igen senere.\")\r\n }\r\n })\r\n .then((json) => {\r\n return json; \r\n })\r\n .catch((err) => {\r\n console.error(err)\r\n return err\r\n })\r\n}\r\n","import { render } from \"./JobApplication.vue?vue&type=template&id=68acc0c6\"\nimport script from \"./JobApplication.vue?vue&type=script&lang=js\"\nexport * from \"./JobApplication.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { ref } from 'vue'\r\n\r\nexport default {\r\n name: \"FooterContact\",\r\n props: {\r\n searchUrl: {\r\n type: String,\r\n required: true\r\n }\r\n },\r\n setup(props) {\r\n\r\n const searchInput = ref(\"\")\r\n \r\n const navigateToSearch = () => {\r\n window.location.href = props.searchUrl + `?q=${searchInput.value}`\r\n }\r\n\r\n return {\r\n navigateToSearch,\r\n searchInput\r\n }\r\n }\r\n}","<script>\r\nimport options from \"./SearchOverlay.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-search-overlay\">\r\n <div class=\"nyk-search-overlay__search\">\r\n <button\r\n v-on:click.prevent=\"emptyInputNoFocus\"\r\n tabindex=\"-1\"\r\n class=\"nyk-js--search-menu-mobile nyk-search-overlay__search__icon nyk-search-overlay__search__icon--circle\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 13\">\r\n <path fill=\"#07094A\" d=\"M16 5.782v1.456H3.005l4.456 5.014-.767.748L0 6.49 6.694 0l.767.748-4.456 5.034H16Z\" />\r\n </svg>\r\n </button>\r\n\r\n <button class=\"nyk-search-overlay__search__icon\" tabindex=\"-1\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 18 18\">\r\n <path\r\n fill=\"#07094A\"\r\n fill-rule=\"evenodd\"\r\n d=\"M1.2 7.344a6.142 6.142 0 1 1 10.562 4.264l-.155.156A6.142 6.142 0 0 1 1.2 7.344Zm10.892 5.599a7.342 7.342 0 1 1 .849-.849l4.632 4.632.424.425-.848.848-.424-.424-4.633-4.632Z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n\r\n <input\r\n v-model=\"searchInput\"\r\n v-on:keydown.prevent.enter=\"navigateToSearch\"\r\n v-on:focus=\"setInputInFocus\"\r\n v-on:blur=\"setInputOutOfFocus\"\r\n v-on:keydown.prevent.tab=\"navigateForwardInMenu\"\r\n v-on:keydown.prevent.down=\"navigateForwardInMenu\"\r\n v-on:keydown.prevent.right=\"navigateForwardInMenu\"\r\n v-on:keydown.prevent.tab.shift=\"navigateBackInMenu\"\r\n v-on:keydown.prevent.up=\"navigateBackInMenu\"\r\n v-on:keydown.prevent.left=\"navigateBackInMenu\"\r\n v-on:keydown.prevent.esc=\"closeSubmenu\"\r\n :aria-label=\"searchPlaceholder\"\r\n autocomplete=\"off\"\r\n class=\"nyk-js--search-item nyk-js--search-overlay-input nyk-search-overlay__search__input\"\r\n id=\"searchOverlayInput\"\r\n name=\"searchOverlayInput\"\r\n enterkeyhint=\"search\"\r\n type=\"text\" />\r\n\r\n <button\r\n v-on:click=\"emptyInput\"\r\n class=\"nyk-search-overlay__search__close nyk-js--search-item\"\r\n :class=\"{ 'nyk-search-overlay__search__close--show': inputIsNotEmpty }\"\r\n aria-label=\"reset input value\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n </div>\r\n\r\n <template v-if=\"inputIsNotEmpty\">\r\n <div class=\"nyk-search-overlay__content nyk-search-overlay__content--results\">\r\n <div class=\"nyk-search-overlay__content__results nyk-search-overlay__content__results--suggestions\">\r\n <ul class=\"nyk-search-overlay__content__results__list\">\r\n <template v-for=\"(result, index) in searchResults\">\r\n <li class=\"nyk-search-overlay__content__results__list__item\">\r\n <a\r\n v-on:keydown.prevent.tab=\"navigateForwardInMenu\"\r\n v-on:keydown.prevent.down=\"navigateForwardInMenu\"\r\n v-on:keydown.prevent.right=\"navigateForwardInMenu\"\r\n v-on:keydown.prevent.tab.shift=\"navigateBackInMenu\"\r\n v-on:keydown.prevent.up=\"navigateBackInMenu\"\r\n v-on:keydown.prevent.left=\"navigateBackInMenu\"\r\n v-on:keydown.prevent.esc=\"closeSubmenu\"\r\n :href=\"result.href\"\r\n class=\"nyk-js--search-item nyk-search-overlay__content__results__list__item__link nyk-button nyk-button--link-menu\">\r\n {{ result.title }}\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\">\r\n <path\r\n fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\" />\r\n </svg>\r\n </div>\r\n </a>\r\n </li>\r\n </template>\r\n </ul>\r\n </div>\r\n </div>\r\n </template>\r\n\r\n <template v-else>\r\n <div class=\"nyk-search-overlay__content\">\r\n <div class=\"nyk-search-overlay__content__results\">\r\n <h2 class=\"nyk-search-overlay__content__results__title\">\r\n {{ searchResultTitle }}\r\n </h2>\r\n\r\n <ul class=\"nyk-search-overlay__content__results__list\">\r\n <template v-for=\"(suggest, index) in searchSuggestionsJson\">\r\n <li class=\"nyk-search-overlay__content__results__list__item\">\r\n <a\r\n v-on:keydown.prevent.tab=\"navigateForwardInMenu\"\r\n v-on:keydown.prevent.down=\"navigateForwardInMenu\"\r\n v-on:keydown.prevent.right=\"navigateForwardInMenu\"\r\n v-on:keydown.prevent.tab.shift=\"navigateBackInMenu\"\r\n v-on:keydown.prevent.up=\"navigateBackInMenu\"\r\n v-on:keydown.prevent.left=\"navigateBackInMenu\"\r\n v-on:keydown.prevent.esc=\"closeSubmenu\"\r\n :href=\"suggest.url\"\r\n :target=\"suggest.target\"\r\n class=\"nyk-js--search-item nyk-search-overlay__content__results__list__item__link nyk-button nyk-button--link-menu\">\r\n {{ suggest.name }}\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\">\r\n <path\r\n fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\" />\r\n </svg>\r\n </div>\r\n </a>\r\n </li>\r\n </template>\r\n </ul>\r\n </div>\r\n\r\n <div class=\"nyk-search-overlay__content__cards\">\r\n <article class=\"nyk-search-overlay__content__cards__card\">\r\n <h2 class=\"nyk-search-overlay__content__cards__card__title\">\r\n {{ cardTopJson.title }}\r\n </h2>\r\n <div class=\"nyk-search-overlay__content__cards__card__description\" v-html=\"cardTopJson.description\"></div>\r\n\r\n <div class=\"nyk-search-overlay__content__cards__card__action\">\r\n <a\r\n v-on:keydown.prevent.tab=\"navigateForwardInMenu\"\r\n v-on:keydown.prevent.down=\"navigateForwardInMenu\"\r\n v-on:keydown.prevent.right=\"navigateForwardInMenu\"\r\n v-on:keydown.prevent.tab.shift=\"navigateBackInMenu\"\r\n v-on:keydown.prevent.up=\"navigateBackInMenu\"\r\n v-on:keydown.prevent.left=\"navigateBackInMenu\"\r\n v-on:keydown.prevent.esc=\"closeSubmenu\"\r\n :href=\"cardTopJson.actionUrl\"\r\n class=\"nyk-js--search-item nyk-search-overlay__content__cards__card__action__link\">\r\n <div class=\"nyk-search-overlay__content__cards__card__action__link__text\">\r\n {{ cardTopJson.actionText }}\r\n </div>\r\n\r\n <div\r\n class=\"nyk-search-overlay__content__cards__card__action__link__button nyk-button nyk-button--link-circle-arrow right\">\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\">\r\n <path\r\n fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\" />\r\n </svg>\r\n </div>\r\n </div>\r\n </a>\r\n </div>\r\n </article>\r\n\r\n <article\r\n class=\"nyk-search-overlay__content__cards__card nyk-search-overlay__content__cards__card--yellow nyk-search-overlay__content__cards__card--small\">\r\n <a\r\n v-on:keydown.prevent.tab=\"navigateForwardInMenu\"\r\n v-on:keydown.prevent.down=\"navigateForwardInMenu\"\r\n v-on:keydown.prevent.right=\"navigateForwardInMenu\"\r\n v-on:keydown.prevent.tab.shift=\"navigateBackInMenu\"\r\n v-on:keydown.prevent.up=\"navigateBackInMenu\"\r\n v-on:keydown.prevent.left=\"navigateBackInMenu\"\r\n v-on:keydown.prevent.esc=\"closeSubmenu\"\r\n :href=\"cardBottomJson.actionUrl\"\r\n class=\"nyk-js--search-item nyk-search-overlay__content__cards__card__title-link\">\r\n <h2 class=\"nyk-search-overlay__content__cards__card__title-link__title\">\r\n {{ cardBottomJson.title }}\r\n </h2>\r\n <div\r\n class=\"nyk-search-overlay__content__cards__card__title-link__button nyk-button nyk-button--link-circle-arrow right\">\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\">\r\n <path\r\n fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\" />\r\n </svg>\r\n </div>\r\n </div>\r\n </a>\r\n </article>\r\n </div>\r\n </div>\r\n </template>\r\n </article>\r\n</template>\r\n","// Getting visiible elements for navigation\r\nexport const getNavigationList = (targetClassName) => {\r\n const menu = document.querySelector('.nyk-js--menu')\r\n const items = menu.querySelectorAll(`.${targetClassName}`)\r\n const filteredItems = Array.from(items).filter((item) => item.checkVisibility())\r\n return filteredItems\r\n}\r\n\r\n// Handle setting the correct item i focus \r\nconst setItemInFocus = (index, list, forward) => {\r\n if (forward) {\r\n if (list.length - 1 > index) {\r\n list[index + 1].focus()\r\n if (list[index + 1] !== document.activeElement) {\r\n setItemInFocus(index + 1, list, true)\r\n }\r\n } else {\r\n list[0].focus()\r\n if (list[0] !== document.activeElement) {\r\n setItemInFocus(0, list, true)\r\n }\r\n }\r\n } else {\r\n if (index > 0) {\r\n list[index - 1].focus()\r\n if (list[index - 1] !== document.activeElement) {\r\n setItemInFocus(index - 1, list, false)\r\n }\r\n } else {\r\n setItemInFocus(list.length, list, false)\r\n }\r\n }\r\n}\r\n\r\nexport const setNextItemInFocus = (currentElm, list, callback) => {\r\n if (list.length === 0) return\r\n let currentIndex = 0\r\n list.find((item, index) => {\r\n if (item === currentElm) currentIndex = index \r\n })\r\n \r\n if (currentIndex + 1 > list.length - 1) {\r\n list[0].focus()\r\n if (list[0] !== document.activeElement) {\r\n if (callback) {\r\n callback()\r\n } else {\r\n setItemInFocus(0, list, true)\r\n }\r\n }\r\n } else {\r\n list[currentIndex + 1].focus()\r\n if (list[currentIndex + 1] !== document.activeElement) {\r\n setItemInFocus(currentIndex + 1, list, true)\r\n }\r\n }\r\n}\r\n\r\nexport const setPrevItemInFocus = (currentElm, list, callback) => {\r\n if (list.length === 0) return\r\n let currentIndex = 0\r\n list.find((item, index) => {\r\n if (item === currentElm) currentIndex = index \r\n })\r\n \r\n if (currentIndex === 0) {\r\n list[list.length - 1].focus()\r\n if (list[list.length - 1] !== document.activeElement) {\r\n setItemInFocus(list.length - 1, list, false)\r\n }\r\n } else {\r\n list[currentIndex - 1].focus()\r\n if (list[currentIndex - 1] !== document.activeElement) {\r\n if (callback) {\r\n callback()\r\n } else {\r\n setItemInFocus(currentIndex - 1, list, false)\r\n }\r\n }\r\n }\r\n}\r\n\r\n// Check if item is in focus \r\nconst ifItemIsNotInFocus = (list, index, forward) => {\r\n if (list[index] !== document.activeElement) {\r\n setItemInFocus(index, list, forward)\r\n }\r\n}\r\n\r\n// Navigation loops\r\nexport const handleLoopTrap = (e, forward) => {\r\n const current = e.target\r\n const order = current.dataset.order\r\n const parentLi = current.closest('li')\r\n const currentList = current.closest('ul')\r\n\r\n if (forward && order === \"last\") {\r\n const newCurrent = currentList.querySelector(`.${current.classList[0]}[data-order=\"first\"]`)\r\n newCurrent?.focus()\r\n } else if (!forward && order === \"first\") {\r\n const newCurrent = currentList.querySelector(`.${current.classList[0]}[data-order=\"last\"]`)\r\n newCurrent?.focus()\r\n } else {\r\n const li = forward ? parentLi?.nextElementSibling : parentLi?.previousElementSibling\r\n const newCurrentLink = li?.querySelector('a')\r\n if (newCurrentLink) {\r\n newCurrentLink?.focus()\r\n } else {\r\n const newCurrentButton = li?.querySelector('button')\r\n newCurrentButton?.focus()\r\n }\r\n }\r\n}\r\n\r\nexport const handleNavigateBackInSubmenu = (e) => {\r\n const burgerMenuButton = document.querySelector('.nyk-js--burgermenu')\r\n const subMenuItems = getNavigationList('nyk-js--submenu-item')\r\n const subNavigationList = [burgerMenuButton, ...subMenuItems]\r\n const callback = () => {\r\n let currentIndex = 0\r\n subNavigationList.find((item, index) => {\r\n if (item === document.activeElement) {\r\n currentIndex = index\r\n }\r\n })\r\n\r\n subNavigationList[currentIndex - 1].focus()\r\n\r\n if (subNavigationList[currentIndex - 1] !== document.activeElement) {\r\n setItemInFocus(currentIndex - 1, subNavigationList, false)\r\n }\r\n }\r\n\r\n setPrevItemInFocus(e.target, subNavigationList, callback)\r\n}\r\n\r\nexport const handleNavigateForwardInSubmenu = (e) => {\r\n const burgerMenuButton = document.querySelector('.nyk-js--burgermenu')\r\n const subMenuItems = getNavigationList('nyk-js--submenu-item')\r\n const subNavigationList = [burgerMenuButton, ...subMenuItems]\r\n const callback = () => {\r\n subNavigationList[0].focus()\r\n if (subNavigationList[0] !== document.activeElement) {\r\n setNextItemInFocus(subNavigationList[0], getNavigationList('nyk-js--submenu-item'))\r\n }\r\n }\r\n\r\n setNextItemInFocus(e.target, subNavigationList, callback)\r\n}\r\n\r\nexport const handleNavigateToPreviousListInSubmenu = (e) => {\r\n const subNavigationList = getNavigationList('nyk-js--submenu-list')\r\n const currentList = e.target.closest('.nyk-js--submenu-list')\r\n\r\n if (currentList) {\r\n subNavigationList.forEach((list, index) => {\r\n if (list === currentList) {\r\n if (index === 0) {\r\n const subNavigationThree = getNavigationList('nyk-js--submenu-item')\r\n subNavigationThree[subNavigationThree.length - 1].focus()\r\n } else {\r\n const items = subNavigationList[index - 1].querySelectorAll('.nyk-js--submenu-item')\r\n items[0].focus()\r\n }\r\n }\r\n })\r\n } else {\r\n handleNavigateBackInSubmenu(e)\r\n }\r\n}\r\n\r\nexport const handleNavigateToNextListInSubmenu = (e) => {\r\n const subNavigationLists = getNavigationList('nyk-js--submenu-list')\r\n const currentList = e.target.closest('.nyk-js--submenu-list')\r\n\r\n if (currentList) {\r\n subNavigationLists.forEach((list, index) => {\r\n if (list === currentList) {\r\n if (subNavigationLists.length - 1 >= index + 1) {\r\n const items = subNavigationLists[index + 1].querySelectorAll('.nyk-js--submenu-item')\r\n items[0].focus()\r\n } else {\r\n const subNavigationThree = getNavigationList('nyk-js--submenu-item')\r\n subNavigationThree[subNavigationThree.length - 2].focus()\r\n }\r\n }\r\n })\r\n } else {\r\n handleNavigateForwardInSubmenu(e)\r\n }\r\n}\r\n\r\n// Expanding and navigating to the correct menu\r\nexport const navigateInMobileSubmenu = (e, forward) => {\r\n const burgerMenuButton = document.querySelector('.nyk-js--burgermenu')\r\n const subMenuItems = getNavigationList('nyk-js--mobile-submenu-item')\r\n const subNavigationMobileList = [burgerMenuButton, ...subMenuItems]\r\n subNavigationMobileList.forEach((item, index) => {\r\n if (item === e.target) {\r\n\r\n if (forward && subNavigationMobileList.length - 1 > index) {\r\n subNavigationMobileList[index + 1].focus()\r\n ifItemIsNotInFocus(subNavigationMobileList, index + 1, forward)\r\n } else if (!forward && index > 0) {\r\n subNavigationMobileList[index - 1].focus()\r\n ifItemIsNotInFocus(subNavigationMobileList, index - 1, forward)\r\n } else if (forward) {\r\n subNavigationMobileList[0].focus()\r\n ifItemIsNotInFocus(subNavigationMobileList, 0, forward)\r\n } else {\r\n subNavigationMobileList[subNavigationMobileList.length - 1].focus()\r\n ifItemIsNotInFocus(subNavigationMobileList, subNavigationMobileList.length - 1, forward)\r\n }\r\n }\r\n })\r\n}","import { ref, computed, watch, onMounted } from \"vue\"\r\nimport { useStore } from \"vuex\"\r\nimport debounce from \"../../foundation/js/debounce\"\r\nimport { setNextItemInFocus, setPrevItemInFocus, getNavigationList } from \"../../foundation/js/menu-key-helper\"\r\n\r\nexport default {\r\n name: \"SearchOverlay\",\r\n props: {\r\n searchUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n suggestionUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n searchResultTitle: {\r\n type: String,\r\n required: true,\r\n },\r\n searchPlaceholder: {\r\n type: String,\r\n required: true,\r\n default: \"Søg\",\r\n },\r\n searchSuggestionsJson: {\r\n type: String,\r\n required: true,\r\n },\r\n cardTopJson: {\r\n type: String,\r\n required: true,\r\n },\r\n cardBottomJson: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n setup(props) {\r\n const store = useStore()\r\n const searchInput = ref(\"\")\r\n const searchOverlay = ref(null)\r\n const inputIsInFocus = ref(false)\r\n\r\n onMounted(() => {\r\n searchOverlay.value = document.querySelector(\".nyk-search-overlay\")\r\n\r\n // attempts at creating initial focus in search input when overlay opened\r\n // const input = document.querySelector('.nyk-js--search-overlay-input')\r\n // console.log(\"🚀 ~ onMounted ~ input:\", input)\r\n // input?.focus()\r\n })\r\n\r\n const searchResults = computed(() => {\r\n return store.state.search.suggestions\r\n })\r\n\r\n const inputIsNotEmpty = computed(() => {\r\n if (searchInput.value === \"\") {\r\n store.dispatch(\"search/clearSuggestions\")\r\n }\r\n return searchInput.value !== \"\"\r\n })\r\n\r\n const cardTop = computed(() => {\r\n if (typeof props.cardTopJson === \"string\") {\r\n return JSON.parse(props.cardTopJson)\r\n } else {\r\n return props.cardTopJson\r\n }\r\n })\r\n\r\n const cardBottom = computed(() => {\r\n if (typeof props.cardBottomJson === \"string\") {\r\n return JSON.parse(props.cardBottomJson)\r\n } else {\r\n return props.cardBottomJson\r\n }\r\n })\r\n\r\n const searchSuggestions = computed(() => {\r\n if (typeof props.searchSuggestionsJson === \"string\") {\r\n return JSON.parse(props.searchSuggestionsJson)\r\n } else {\r\n return props.searchSuggestionsJson\r\n }\r\n })\r\n\r\n const emptyInputNoFocus = () => {\r\n searchInput.value = \"\"\r\n store.dispatch(\"menu/searchOverlayMobileNavigateBack\", { navigate: true })\r\n }\r\n\r\n const emptyInput = () => {\r\n searchInput.value = \"\"\r\n const input = searchOverlay.value.querySelector(\".nyk-js--search-overlay-input\")\r\n input?.focus()\r\n store.dispatch(\"search/clearSuggestions\")\r\n }\r\n\r\n watch(searchInput, (newValue, oldValue) => {\r\n if (newValue !== oldValue) {\r\n termInput()\r\n }\r\n })\r\n\r\n const termInput = debounce(() => {\r\n if (searchInput.value) {\r\n store.dispatch(\"search/performSearchSuggestions\", { apiUrl: props.suggestionUrl, query: searchInput.value })\r\n }\r\n }, 500)\r\n\r\n const navigateToSearch = () => {\r\n if(props?.searchUrl && searchInput.value) {\r\n window.location.href = props.searchUrl + `?q=${searchInput.value}`\r\n }\r\n }\r\n\r\n const setInputInFocus = () => {\r\n inputIsInFocus.value = true\r\n }\r\n\r\n const setInputOutOfFocus = () => {\r\n inputIsInFocus.value = false\r\n }\r\n\r\n // Keyboard navigations\r\n const navigateForwardInMenu = (e) => {\r\n setNextItemInFocus(e.target, getNavigationList(\"nyk-js--search-item\"))\r\n }\r\n\r\n const navigateBackInMenu = (e) => {\r\n setPrevItemInFocus(e.target, getNavigationList(\"nyk-js--search-item\"))\r\n }\r\n\r\n const closeSubmenu = () => {\r\n const mobileSearchBackButton = document.querySelector(\".nyk-js--search-menu-mobile\")\r\n\r\n if (mobileSearchBackButton.checkVisibility()) {\r\n emptyInputNoFocus()\r\n const activeItem = document.querySelector(\".nyk-js--mobile-search-button-placeholder\")\r\n setTimeout(() => {\r\n activeItem?.focus()\r\n }, 50)\r\n } else {\r\n const activeItem = document.querySelector(\".nyk-js--menu-search-button\")\r\n activeItem?.focus()\r\n\r\n store.dispatch(\"menu/activeSubmenuDesktop\", { menu: \"\" })\r\n store.dispatch(\"menu/searchOverlayShown\", { open: false })\r\n store.dispatch(\"menu/submenuOpen\", { open: false })\r\n }\r\n }\r\n\r\n return {\r\n searchInput,\r\n emptyInput,\r\n emptyInputNoFocus,\r\n inputIsNotEmpty,\r\n navigateToSearch,\r\n searchResults,\r\n inputIsInFocus,\r\n setInputInFocus,\r\n setInputOutOfFocus,\r\n termInput,\r\n navigateForwardInMenu,\r\n navigateBackInMenu,\r\n closeSubmenu,\r\n searchSuggestionsJson:\r\n typeof props.searchSuggestionsJson === \"string\" ? JSON.parse(props.searchSuggestionsJson) : props.searchSuggestionsJson,\r\n cardTopJson: typeof props.cardTopJson === \"string\" ? JSON.parse(props.cardTopJson) : props.cardTopJson,\r\n cardBottomJson: typeof props.cardBottomJson === \"string\" ? JSON.parse(props.cardBottomJson) : props.cardBottomJson,\r\n }\r\n },\r\n}\r\n","import { render } from \"./SearchOverlay.vue?vue&type=template&id=0a3a4b85\"\nimport script from \"./SearchOverlay.vue?vue&type=script&lang=js\"\nexport * from \"./SearchOverlay.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","/**\r\n * \r\n * @param {function} callback \r\n */\r\nexport default function(callback){\r\n \r\n const callbackList = Array.isArray(window.__onScrollCallbacks) ? window.__onScrollCallbacks : []\r\n\r\n callbackList.push(callback)\r\n window.__onScrollCallbacks = callbackList\r\n\r\n window.onscroll = function(){\r\n callbackList.forEach(callback => callback());\r\n }\r\n\r\n}","import { computed, ref, watch, onMounted } from \"vue\"\r\nimport { useStore } from \"vuex\"\r\nimport SearchOverlay from \"../../../Frontend/src/components/SearchOverlay/SearchOverlay.vue\"\r\nimport {\r\n getNavigationList,\r\n setNextItemInFocus,\r\n setPrevItemInFocus,\r\n handleLoopTrap,\r\n handleNavigateBackInSubmenu,\r\n handleNavigateForwardInSubmenu,\r\n handleNavigateToPreviousListInSubmenu,\r\n handleNavigateToNextListInSubmenu,\r\n navigateInMobileSubmenu,\r\n} from \"../../../Frontend/src/foundation/js/menu-key-helper\"\r\nimport addScrollCallback from \"../../../Frontend/src/foundation/js/addScrollCallback\"\r\n\r\nexport default {\r\n name: \"Menu\",\r\n components: {\r\n SearchOverlay,\r\n },\r\n props: {\r\n overlayId: {\r\n type: String,\r\n required: true,\r\n },\r\n searchUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n setup(props) {\r\n const store = useStore()\r\n const BurgermenuStateEnum = Object.freeze({\r\n PageStart: \"\",\r\n Open: \"nyk-menu__top-menu__bottom__container__actions__burgermenu--open\",\r\n Close: \"nyk-menu__top-menu__bottom__container__actions__burgermenu--close\",\r\n })\r\n\r\n const burgermenuState = ref(BurgermenuStateEnum.PageStart)\r\n const searchInput = ref(\"\")\r\n const menu = ref(document.querySelector(\".nyk-menu\"))\r\n const menuClasses = ref(\"\")\r\n const menuSticky = ref(false)\r\n const menuScrolling = ref(false)\r\n\r\n let menuIsInView = false\r\n let currentScrollTopValGeneral = window.scrollY\r\n\r\n let options = {\r\n root: document.querySelector(\"#scrollArea\"),\r\n rootMargin: \"0px\",\r\n threshold: 0,\r\n }\r\n\r\n const menuBottomInViewCallback = (entries, observer) => {\r\n entries.forEach((entry) => {\r\n if (!entry.isIntersecting) {\r\n menuScrolling.value = true\r\n }\r\n })\r\n }\r\n\r\n const menuTopInViewCallback = (entries, observer) => {\r\n entries.forEach((entry) => {\r\n if (entry.isIntersecting) {\r\n menuIsInView = entry.isIntersecting\r\n menuScrolling.value = false\r\n menuSticky.value = false\r\n } else {\r\n menuIsInView = entry.isIntersecting\r\n }\r\n })\r\n }\r\n\r\n onMounted(() => {\r\n menu.value = document.querySelector(\".nyk-menu\")\r\n\r\n const menuBottom = menu.value.querySelector(\".nyk-menu__top-menu__bottom\")\r\n const menuTop = menu.value.querySelector(\".nyk-menu__top-menu\")\r\n let menuBottomObserver = new IntersectionObserver(menuBottomInViewCallback, options)\r\n let menuTopObserver = new IntersectionObserver(menuTopInViewCallback, {\r\n root: document.querySelector(\"#scrollArea\"),\r\n rootMargin: \"-80px\",\r\n threshold: 0,\r\n })\r\n menuBottomObserver.observe(menuBottom)\r\n menuTopObserver.observe(menuTop)\r\n\r\n addScrollCallback(() => {\r\n let scrollingDown = currentScrollTopValGeneral < window.scrollY\r\n let scrollingUp = currentScrollTopValGeneral > window.scrollY\r\n\r\n if (scrollingUp && !menuIsInView) {\r\n menuScrolling.value = false\r\n menuSticky.value = true\r\n }\r\n if (scrollingDown) {\r\n menuSticky.value = false\r\n }\r\n\r\n // updating current scroll pos\r\n currentScrollTopValGeneral = window.scrollY\r\n })\r\n })\r\n\r\n const burgermenuUpdatedState = computed(() => {\r\n switch (burgermenuState.value) {\r\n case BurgermenuStateEnum.PageStart:\r\n if (submenuOpen.value) {\r\n burgermenuState.value = BurgermenuStateEnum.Open\r\n return BurgermenuStateEnum.Open\r\n } else {\r\n burgermenuState.value = BurgermenuStateEnum.PageStart\r\n return BurgermenuStateEnum.PageStart\r\n }\r\n default:\r\n if (submenuOpen.value) {\r\n burgermenuState.value = BurgermenuStateEnum.Open\r\n return BurgermenuStateEnum.Open\r\n } else {\r\n burgermenuState.value = BurgermenuStateEnum.Close\r\n return BurgermenuStateEnum.Close\r\n }\r\n }\r\n })\r\n\r\n // START - Handle in the store\r\n const otherSitesDropdownShown = computed(() => {\r\n return store.state.menu.otherSitesDropdownShown\r\n })\r\n\r\n const languageDropdownShown = computed(() => {\r\n return store.state.menu.languageDropdownShown\r\n })\r\n\r\n const topLevelPagesDropdownShown = computed(() => {\r\n return store.state.menu.topLevelPagesDropdownShown\r\n })\r\n\r\n const submenuOpen = computed(() => {\r\n const overlay = document.getElementById(props.overlayId)\r\n if (overlay) {\r\n overlay.classList.toggle(\"nyk-overlay--shown\", store.state.menu.submenuOpen)\r\n }\r\n document.querySelector(\"body\").classList.toggle(\"nyk-submenu-open\", store.state.menu.submenuOpen)\r\n return store.state.menu.submenuOpen\r\n })\r\n\r\n const activeSubmenuDesktop = computed(() => {\r\n const activeMenu = store.state.menu.activeSubmenuDesktop\r\n if (activeMenu === \"\") {\r\n unSelectAllMenuItems()\r\n }\r\n return activeMenu\r\n })\r\n\r\n function handleBurgerMenuTab(e) {\r\n if (submenuOpen.value && isDesktop) {\r\n navigateForwardInSubmenu(e)\r\n e.preventDefault()\r\n }\r\n else if (submenuOpen.value) {\r\n navigateBackInMobileSubmenu(e)\r\n e.preventDefault()\r\n }\r\n return true\r\n }\r\n\r\n function handleBurgerMenuShiftTab(e) {\r\n if (submenuOpen.value && isDesktop) {\r\n navigateBackInSubmenu(e)\r\n e.preventDefault()\r\n }\r\n else if (submenuOpen.value) {\r\n navigateBackInMobileSubmenu(e)\r\n e.preventDefault()\r\n }\r\n }\r\n\r\n const searchOverlayShown = computed(() => {\r\n return store.state.menu.searchOverlayShown\r\n })\r\n\r\n const searchOverlayMobileNavigateBack = computed(() => {\r\n return store.state.menu.searchOverlayMobileNavigateBack\r\n })\r\n\r\n const getMenuClasses = computed(() => {\r\n const submenuOpenClass = submenuOpen.value ? \"nyk-menu--submenu-open\" : \"\"\r\n const menuStickyClass = menuSticky.value ? \"nyk-menu--sticky-top\" : \"\"\r\n const menuScrollingClass = menuScrolling.value ? \"nyk-menu--scrolling\" : \"\"\r\n\r\n return (menuClasses.value = `${submenuOpenClass} ${menuStickyClass} ${menuScrollingClass}`)\r\n })\r\n\r\n watch(menuSticky, () => {\r\n document.querySelector(\"body\").classList.toggle(\"nyk-menu-is-sticky\", menuSticky.value)\r\n })\r\n\r\n watch(menuScrolling, () => {\r\n document.querySelector('body').classList.toggle(\"nyk-menu-is-scrolled\", menuScrolling.value)\r\n })\r\n\r\n watch(searchOverlayMobileNavigateBack, (navigate) => {\r\n if (navigate) {\r\n store.dispatch(\"menu/searchOverlayShown\", { open: false })\r\n store.dispatch(\"menu/searchOverlayMobileNavigateBack\", { navigate: false })\r\n }\r\n })\r\n\r\n const unSelectAllMenuItems = () => {\r\n const menuItems = menu.value?.querySelectorAll(\".nyk-menu__top-menu__bottom__container__menu-items__item__link\")\r\n menuItems?.forEach((item) => item.classList.remove(\"nyk-menu__top-menu__bottom__container__menu-items__item__link--active\"))\r\n }\r\n\r\n const toggleOtherSitesDropdown = () => {\r\n store.dispatch(\"menu/otherSitesDropdownShown\", { open: !otherSitesDropdownShown.value })\r\n if (otherSitesDropdownShown.value) {\r\n setTimeout(() => {\r\n document.addEventListener(\"click\", closeOtherSitesDropdownListener)\r\n }, 300)\r\n }\r\n }\r\n\r\n const closeOtherSitesDropdownListener = () => {\r\n store.dispatch(\"menu/otherSitesDropdownShown\", { open: false })\r\n document.removeEventListener(\"click\", closeOtherSitesDropdownListener)\r\n }\r\n\r\n const toggleLanguagesDropdown = () => {\r\n store.dispatch(\"menu/languageDropdownShown\", { open: !languageDropdownShown.value })\r\n if (languageDropdownShown.value) {\r\n setTimeout(() => {\r\n document.addEventListener(\"click\", closeLanguagesDropdownListener)\r\n }, 300)\r\n }\r\n }\r\n\r\n const closeLanguagesDropdownListener = () => {\r\n store.dispatch(\"menu/languageDropdownShown\", { open: false })\r\n document.removeEventListener(\"click\", closeLanguagesDropdownListener)\r\n }\r\n\r\n const toggleTopLevelPagesMobileDropdown = () => {\r\n store.dispatch(\"menu/topLevelPagesDropdownShown\", { open: !topLevelPagesDropdownShown.value })\r\n }\r\n\r\n const toggleSubmenu = () => {\r\n store.dispatch(\"menu/searchOverlayShown\", { open: searchOverlayShown.value })\r\n store.dispatch(\"menu/submenuOpen\", { open: !submenuOpen.value })\r\n\r\n if (!submenuOpen.value) {\r\n store.dispatch(\"menu/activeSubmenuDesktop\", { menu: \"\" })\r\n store.dispatch(\"menu/searchOverlayShown\", { open: false })\r\n }\r\n\r\n const activeMenu = store.state.menu.activeSubmenuDesktop\r\n\r\n if (submenuOpen.value && activeMenu === \"\") {\r\n findAndSetActiveDesktopSubmenu()\r\n }\r\n }\r\n // END - Handle in the store\r\n\r\n const findAndSetActiveDesktopSubmenu = () => {\r\n const activeItem = menu.value.querySelector(\".nyk-menu__top-menu__bottom__container__menu-items__item__link--active\")\r\n if (activeItem) {\r\n const menuId = activeItem.dataset.menuId\r\n store.dispatch(\"menu/activeSubmenuDesktop\", { menu: menuId })\r\n menu.value\r\n .querySelector(`.nyk-js--submenu-desktop[data-submenu=\"${menuId}\"]`)\r\n ?.classList.add(\"nyk-menu__submenu__content__items--shown\")\r\n }\r\n }\r\n\r\n const showMobileSubmenuSubLevel = (target) => {\r\n hideAllMobileSubmenus()\r\n const targetMobileSubmenu = menu.value.querySelector(`[data-submenu-sublevel=\"${target}\"]`)\r\n targetMobileSubmenu.classList.add(\"nyk-menu__submenu__content__items-mobile__second-level-submenu--shown\")\r\n\r\n const secondLevelItems = targetMobileSubmenu.querySelectorAll(\".nyk-js-mobile-submenu-second-level-item\")\r\n secondLevelItems[0].focus()\r\n\r\n toggleMobileInitSubmenu(true)\r\n }\r\n\r\n const hideMobileFirstLevelSubmenu = () => {\r\n hideAllMobileSubmenus()\r\n toggleMobileInitSubmenu(false)\r\n }\r\n\r\n const hideAllMobileSubmenus = () => {\r\n const activeMobileSubmenus = menu.value.querySelectorAll(\r\n \".nyk-menu__submenu__content__items-mobile__second-level-submenu--shown\"\r\n )\r\n activeMobileSubmenus.forEach((item) =>\r\n item.classList.remove(\"nyk-menu__submenu__content__items-mobile__second-level-submenu--shown\")\r\n )\r\n }\r\n\r\n const toggleMobileInitSubmenu = (show) => {\r\n menu.value\r\n .querySelector(\".nyk-menu__submenu__content__items-mobile__list\")\r\n .classList.toggle(\"nyk-menu__submenu__content__items-mobile__list--hide\", show)\r\n menu.value\r\n .querySelector(\".nyk-menu__submenu__content__items-mobile__selector\")\r\n .classList.toggle(\"nyk-menu__submenu__content__items-mobile__selector--hide\", show)\r\n }\r\n\r\n // Keyboard navigations\r\n const navigateForwardInMenu = (e) => {\r\n setNextItemInFocus(e.target, getNavigationList(\"nyk-js--menu-item\"))\r\n }\r\n\r\n const navigateBackInMenu = (e) => {\r\n setPrevItemInFocus(e.target, getNavigationList(\"nyk-js--menu-item\"))\r\n }\r\n\r\n const handleMenuDropdown = () => {\r\n toggleOtherSitesDropdown()\r\n\r\n setTimeout(() => {\r\n const dropdownLinks = menu.value.querySelectorAll(\".nyk-js--top-menu-dropdown-link\")\r\n dropdownLinks?.forEach((link) => {\r\n if (link.dataset.order === \"first\") {\r\n link.focus()\r\n }\r\n })\r\n }, 50)\r\n }\r\n\r\n const handleLanguagesDropdown = () => {\r\n toggleLanguagesDropdown()\r\n\r\n setTimeout(() => {\r\n const dropdownLinks = menu.value.querySelectorAll(\".nyk-js--top-menu-lang-dropdown-link\")\r\n dropdownLinks?.forEach((link) => {\r\n if (link.dataset.order === \"first\") {\r\n link.focus()\r\n }\r\n })\r\n }, 50)\r\n }\r\n\r\n const handleDownLoop = (e) => {\r\n handleLoopTrap(e, true)\r\n }\r\n\r\n const handleUpLoop = (e) => {\r\n handleLoopTrap(e, false)\r\n }\r\n\r\n const closeOtherSitesDropdown = () => {\r\n toggleOtherSitesDropdown()\r\n const dropdown = menu.value.querySelector(\".nyk-js--top-menu-dropdown-button\")\r\n dropdown?.focus()\r\n }\r\n\r\n const closeLanguageDropdown = (e) => {\r\n const parent = e.target.closest(\".nyk-menu__top-menu__top__menu-items__item--dropdown\")\r\n const dropdown = parent?.querySelector(\".nyk-js--top-menu-lang-dropdown-button\")\r\n\r\n toggleLanguagesDropdown()\r\n\r\n if (dropdown) {\r\n dropdown?.focus()\r\n } else {\r\n const dropdownDefault = menu.value.querySelector(\".nyk-js--top-menu-lang-dropdown-button\")\r\n dropdownDefault?.focus()\r\n }\r\n }\r\n\r\n const navigateToSubmenu = () => {\r\n if (submenuOpen.value) {\r\n closeSubmenu()\r\n return\r\n }\r\n\r\n toggleSubmenu()\r\n hideMobileFirstLevelSubmenu()\r\n\r\n setTimeout(() => {\r\n const subNavigationList = getNavigationList(\"nyk-js--submenu-item\")\r\n\r\n if (subNavigationList[0]?.closest(\".nyk-js--mobile-submenu\")) {\r\n subNavigationList[0].focus()\r\n if (subNavigationList[0] !== document.activeElement) {\r\n setNextItemInFocus(subNavigationList[0], subNavigationList)\r\n }\r\n } else {\r\n subNavigationList[1].focus()\r\n if (subNavigationList[1] !== document.activeElement) {\r\n setNextItemInFocus(subNavigationList[0], subNavigationList)\r\n }\r\n }\r\n }, 100)\r\n }\r\n\r\n const closeSubmenu = () => {\r\n const navigationThree = getNavigationList(\"nyk-js--menu-item\")\r\n const activeItem = navigationThree.find((item) => item.getAttribute(\"aria-expanded\") === \"true\")\r\n\r\n if (activeItem) {\r\n activeItem.focus()\r\n } else {\r\n navigationThree[navigationThree.length - 1].focus()\r\n }\r\n\r\n toggleSubmenu()\r\n }\r\n\r\n const navigateBackInSubmenu = (e) => {\r\n handleNavigateBackInSubmenu(e)\r\n }\r\n\r\n const navigateForwardInSubmenu = (e) => {\r\n handleNavigateForwardInSubmenu(e)\r\n }\r\n\r\n const navigateToPreviousListInSubmenu = (e) => {\r\n handleNavigateToPreviousListInSubmenu(e)\r\n }\r\n\r\n const navigateToNextListInSubmenu = (e) => {\r\n handleNavigateToNextListInSubmenu(e)\r\n }\r\n\r\n const navigateForwardInMobileSubmenu = (e) => {\r\n navigateInMobileSubmenu(e, true)\r\n }\r\n\r\n const navigateBackInMobileSubmenu = (e) => {\r\n navigateInMobileSubmenu(e, false)\r\n }\r\n\r\n const openTopLevelPagesMobileDropdown = () => {\r\n store.dispatch(\"menu/topLevelPagesDropdownShown\", { open: true })\r\n\r\n setTimeout(() => {\r\n const topLevelPagesDropdownItems = menu.value.querySelectorAll(\".nyk-js--mobile-top-level-item\")\r\n topLevelPagesDropdownItems[0].focus()\r\n }, 50)\r\n }\r\n\r\n const closeTopLevelPagesMobileDropdown = (e) => {\r\n store.dispatch(\"menu/topLevelPagesDropdownShown\", { open: false })\r\n\r\n const parent = e.target.closest(\".nyk-js--mobile-selector\")\r\n const selector = parent.querySelector(\".nyk-js--mobile-submenu-item\")\r\n selector?.focus()\r\n }\r\n\r\n const navigateBackToMobileFirstLevelMenu = (e) => {\r\n hideMobileFirstLevelSubmenu()\r\n\r\n setTimeout(() => {\r\n const list = menu.value.querySelector(\".nyk-js--mobile-first-level-list\")\r\n const items = list.querySelectorAll(\".nyk-js--mobile-submenu-item\")\r\n items[0].focus()\r\n }, 50)\r\n }\r\n\r\n const usevisuallyHiddenInputElementToTriggerIphoneKeyboard = () => {\r\n const fakeInput = menu.value.querySelector('.nyk-js--fake-focus-search-input')\r\n fakeInput?.focus()\r\n }\r\n\r\n const openSearchOverlay = () => {\r\n usevisuallyHiddenInputElementToTriggerIphoneKeyboard()\r\n\r\n if (!submenuOpen.value) {\r\n store.dispatch(\"menu/submenuOpen\", { open: true })\r\n }\r\n\r\n if (submenuOpen.value && searchOverlayShown.value) {\r\n store.dispatch(\"menu/submenuOpen\", { open: false })\r\n }\r\n store.dispatch(\"menu/searchOverlayShown\", { open: !searchOverlayShown.value })\r\n store.dispatch(\"menu/activeSubmenuDesktop\", { menu: \"\" })\r\n\r\n setTimeout(() => {\r\n const overlaySearchInput = menu.value.querySelector(\".nyk-js--search-overlay-input\")\r\n if (overlaySearchInput) {\r\n overlaySearchInput.value = \"\"\r\n overlaySearchInput.focus()\r\n }\r\n }, 50)\r\n }\r\n\r\n const hideAllDesktopSubmenus = () => {\r\n const submenus = menu.value.querySelectorAll(\".nyk-js--submenu-desktop\")\r\n submenus.forEach((item) => item.classList.remove(\"nyk-menu__submenu__content__items--shown\"))\r\n\r\n const activeSubmenu = menu.value.querySelector(`.nyk-js--submenu-desktop[data-submenu=\"${activeSubmenuDesktop.value}\"]`)\r\n activeSubmenu?.classList.add(\"nyk-menu__submenu__content__items--shown\")\r\n }\r\n\r\n const setActiveMenuDesktop = () => {\r\n const menuItems = menu.value.querySelectorAll(\".nyk-js--menu-item[data-menu-id]\")\r\n menuItems.forEach((item) => item.classList.remove(\"nyk-menu__top-menu__bottom__container__menu-items__item__link--active\"))\r\n\r\n const activeMenu = menu.value.querySelector(`.nyk-js--menu-item[data-menu-id=\"${activeSubmenuDesktop.value}\"]`)\r\n activeMenu?.classList.add(\"nyk-menu__top-menu__bottom__container__menu-items__item__link--active\")\r\n }\r\n\r\n const handleSubmenuDesktop = () => {\r\n hideAllDesktopSubmenus()\r\n setActiveMenuDesktop()\r\n }\r\n\r\n const isDesktop = computed(() => { \r\n return window.innerWidth > 905\r\n })\r\n\r\n const showSubmenuDesktop = (e) => {\r\n const menuId = e.target.dataset.menuId\r\n\r\n if (!submenuOpen.value || activeSubmenuDesktop.value === menuId) {\r\n toggleSubmenu()\r\n }\r\n\r\n store.dispatch(\"menu/searchOverlayShown\", { open: false })\r\n store.dispatch(\"menu/activeSubmenuDesktop\", { menu: menuId })\r\n handleSubmenuDesktop()\r\n }\r\n\r\n const navigateToSubmenuDesktop = (e) => {\r\n const menuId = e.target.dataset.menuId\r\n\r\n if (!submenuOpen.value || activeSubmenuDesktop.value === menuId) {\r\n navigateToSubmenu()\r\n }\r\n\r\n store.dispatch(\"menu/activeSubmenuDesktop\", { menu: menuId })\r\n handleSubmenuDesktop()\r\n }\r\n\r\n return {\r\n otherSitesDropdownShown,\r\n languageDropdownShown,\r\n topLevelPagesDropdownShown,\r\n submenuOpen,\r\n toggleOtherSitesDropdown,\r\n handleBurgerMenuTab,\r\n handleBurgerMenuShiftTab,\r\n isDesktop,\r\n toggleSubmenu,\r\n burgermenuState,\r\n burgermenuUpdatedState,\r\n toggleTopLevelPagesMobileDropdown,\r\n showMobileSubmenuSubLevel,\r\n hideMobileFirstLevelSubmenu,\r\n searchInput,\r\n navigateBackInMenu,\r\n navigateForwardInMenu,\r\n handleMenuDropdown,\r\n handleDownLoop,\r\n handleUpLoop,\r\n closeOtherSitesDropdown,\r\n navigateToSubmenu,\r\n closeSubmenu,\r\n navigateBackInSubmenu,\r\n navigateForwardInSubmenu,\r\n navigateToNextListInSubmenu,\r\n navigateToPreviousListInSubmenu,\r\n navigateForwardInMobileSubmenu,\r\n navigateBackInMobileSubmenu,\r\n openTopLevelPagesMobileDropdown,\r\n closeTopLevelPagesMobileDropdown,\r\n navigateBackToMobileFirstLevelMenu,\r\n searchOverlayShown,\r\n openSearchOverlay,\r\n showSubmenuDesktop,\r\n activeSubmenuDesktop,\r\n navigateToSubmenuDesktop,\r\n getMenuClasses,\r\n toggleLanguagesDropdown,\r\n handleLanguagesDropdown,\r\n closeLanguageDropdown,\r\n }\r\n },\r\n}\r\n","<script>\r\nimport options from \"./FeedbackStepOne.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <fieldset class=\"nyk-feedback-step-one\">\r\n <div class=\"nyk-feedback-step-one__content\">\r\n <legend class=\"nyk-feedback-step-one__title\" id=\"feedback-radio-id\">{{ title }}</legend>\r\n <div class=\"nyk-feedback-step-one__actions\" role=\"radiogroup\" aria-labelledby=\"feedback-radio-id\" v-on:change=\"inputSelected\">\r\n <template v-for=\"(option, index) in options\" :key=\"index\">\r\n <div class=\"nyk-form-choice__content__item nyk-js--choice-wrapper\">\r\n <div class=\"nyk-form-choice__content__item__choice\">\r\n <input\r\n class=\"nyk-form-choice__content__item__choice__input\"\r\n :id=\"`helpful-${option.value}`\"\r\n type=\"radio\"\r\n :value=\"option.value\"\r\n name=\"helpful\" />\r\n <div class=\"nyk-form-choice__content__item__choice__circle\">\r\n <div class=\"nyk-form-choice__content__item__choice__circle__outer\"></div>\r\n <div class=\"nyk-form-choice__content__item__choice__circle__inner\"></div>\r\n </div>\r\n </div>\r\n <label class=\"nyk-form-choice__content__item__label\" :for=\"`helpful-${option.value}`\">{{ option.key }}</label>\r\n </div>\r\n </template>\r\n </div>\r\n </div>\r\n </fieldset>\r\n</template>\r\n","import { ref, onMounted } from \"vue\"\r\n\r\nexport default {\r\n name: \"FeedbackStepOne\",\r\n props: {\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n actions: {\r\n type: String,\r\n required: true,\r\n },\r\n callback: {\r\n type: Function,\r\n required: true,\r\n },\r\n },\r\n setup(props) {\r\n const options = ref([])\r\n\r\n onMounted(() => {\r\n if (props.actions) {\r\n options.value = JSON.parse(props.actions)\r\n }\r\n })\r\n\r\n const inputSelected = (e) => {\r\n if (props.callback) {\r\n props.callback(e.target.value)\r\n }\r\n }\r\n\r\n return {\r\n inputSelected,\r\n options,\r\n }\r\n },\r\n}\r\n","import { render } from \"./FeedbackStepOne.vue?vue&type=template&id=7562a0b8\"\nimport script from \"./FeedbackStepOne.vue?vue&type=script&lang=js\"\nexport * from \"./FeedbackStepOne.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./FeedbackStepTwo.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-feedback-step-two\">\r\n <div class=\"nyk-feedback-step-two__top\">\r\n <h2 class=\"nyk-feedback-step-two__top__title\">{{ title }}</h2>\r\n <div class=\"nyk-feedback-step-two__top__description\">{{ description }}</div>\r\n </div>\r\n\r\n <div class=\"nyk-feedback-step-two__bottom\">\r\n <div class=\"nyk-feedback-step-two__bottom__text\">\r\n <div\r\n role=\"textbox\"\r\n contenteditable\r\n v-on:keyup=\"feedbackTextUpdated\"\r\n class=\"nyk-feedback-step-two__bottom__text__output\"\r\n :data-placeholder=\"placeholder\"></div>\r\n </div>\r\n\r\n <div class=\"nyk-feedback-step-two__bottom__actions\">\r\n <div class=\"nyk-feedback-step-two__bottom__actions__action\">\r\n <span class=\"nyk-feedback-step-two__bottom__actions__action__text\">{{ buttonText }}</span>\r\n <button\r\n v-on:click=\"submitFeedback\"\r\n class=\"nyk-feedback-step-two__bottom__actions__action__button nyk-button nyk-button--link-circle-arrow right\">\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\">\r\n <path\r\n fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\"></path>\r\n </svg>\r\n </div>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </article>\r\n</template>\r\n","import { ref, watch } from \"vue\"\r\n\r\nexport default {\r\n name: \"FeedbackStepTwo\",\r\n props: {\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n description: {\r\n type: String,\r\n required: true,\r\n },\r\n placeholder: {\r\n type: String,\r\n required: true,\r\n },\r\n callback: {\r\n type: Function,\r\n required: false,\r\n },\r\n buttonText: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n setup(props) {\r\n const feedbackText = ref(\"\")\r\n\r\n const submitFeedback = () => {\r\n if (props.callback) {\r\n props.callback(feedbackText.value)\r\n }\r\n }\r\n\r\n const feedbackTextUpdated = (e) => {\r\n feedbackText.value = e.target.innerText\r\n }\r\n\r\n return {\r\n feedbackText,\r\n submitFeedback,\r\n feedbackTextUpdated,\r\n }\r\n },\r\n}\r\n","import { render } from \"./FeedbackStepTwo.vue?vue&type=template&id=0e748e70\"\nimport script from \"./FeedbackStepTwo.vue?vue&type=script&lang=js\"\nexport * from \"./FeedbackStepTwo.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./FeedbackStepThree.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-feedback-step-three\">\r\n <div class=\"nyk-feedback-step-three__close\">\r\n <button v-on:click=\"handleClose\" aria-label=\"afslut feedback\" class=\"nyk-feedback-step-three__close__icon\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n </div>\r\n\r\n <h2 class=\"nyk-feedback-step-three__message\">{{ message }}</h2>\r\n </article>\r\n</template>\r\n","export default {\r\n name: \"FeedbackStepThree\",\r\n props: {\r\n message: {\r\n type: String,\r\n required: true,\r\n },\r\n callback: {\r\n type: Function,\r\n required: true,\r\n },\r\n },\r\n setup(props) {\r\n const handleClose = () => {\r\n if (props.callback) {\r\n props.callback()\r\n }\r\n }\r\n\r\n return {\r\n handleClose,\r\n }\r\n },\r\n}\r\n","import { render } from \"./FeedbackStepThree.vue?vue&type=template&id=270fd3eb\"\nimport script from \"./FeedbackStepThree.vue?vue&type=script&lang=js\"\nexport * from \"./FeedbackStepThree.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { ref } from \"vue\"\r\nimport FeedbackStepOne from \"./FeedbackStepOne/FeedbackStepOne.vue\"\r\nimport FeedbackStepTwo from \"./FeedbackStepTwo/FeedbackStepTwo.vue\"\r\nimport FeedbackStepThree from \"./FeedbackStepThree/FeedbackStepThree.vue\"\r\n\r\nexport default {\r\n name: \"FeedbackBlock\",\r\n components: {\r\n FeedbackStepOne,\r\n FeedbackStepTwo,\r\n FeedbackStepThree,\r\n },\r\n props: {\r\n apiUrlStepOne: {\r\n type: String,\r\n required: true,\r\n },\r\n apiUrlStepTwo: {\r\n type: String,\r\n required: true,\r\n },\r\n identifier: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n setup(props) {\r\n const FeedbackSteps = Object.freeze({\r\n One: 1,\r\n Two: 2,\r\n Three: 3,\r\n })\r\n\r\n const currentStep = ref(FeedbackSteps.One)\r\n const choice = ref(\"\")\r\n const message = ref(\"\")\r\n\r\n const handleStepOne = async (value) => {\r\n choice.value = value\r\n const postSuccess = await submitStepOne()\r\n if (postSuccess) {\r\n currentStep.value = FeedbackSteps.Two\r\n } else {\r\n console.error(\"Error submitting step one\")\r\n }\r\n }\r\n\r\n const handleStepTwo = async (value) => {\r\n message.value = value\r\n const postSuccess = await submitStepTwo()\r\n if (postSuccess) {\r\n currentStep.value = FeedbackSteps.Three\r\n } else {\r\n console.error(\"Error submitting step two\")\r\n }\r\n }\r\n\r\n const handleStepThree = () => {\r\n currentStep.value = FeedbackSteps.One\r\n }\r\n\r\n const submitStepOne = async () => {\r\n const url = props.apiUrlStepOne\r\n\r\n const body = {\r\n choice: choice.value,\r\n identifier: props.identifier,\r\n url: location.href,\r\n }\r\n\r\n registerGtmDataLayer({\r\n event: \"faq-feedback-choice\",\r\n url: location.href,\r\n choice: choice.value,\r\n })\r\n\r\n return fetchData(url, body)\r\n }\r\n\r\n const submitStepTwo = async () => {\r\n const url = props.apiUrlStepTwo\r\n\r\n const body = {\r\n choice: choice.value,\r\n message: message.value,\r\n identifier: props.identifier,\r\n url: location.href,\r\n }\r\n\r\n registerGtmDataLayer({\r\n event: \"faq-feedback-message\",\r\n url: location.href,\r\n choice: choice.value,\r\n message: message.value,\r\n })\r\n\r\n return fetchData(url, body)\r\n }\r\n\r\n const fetchData = async (url, body) => {\r\n const response = await fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(body),\r\n })\r\n return process.env.ENVIRONMENT === \"DEVELOPMENT\" ? true : response.ok\r\n }\r\n\r\n // THIS FUNCTION ALSO EXISTS IN LegacyFrontend\r\n function registerGtmDataLayer(obj) {\r\n // create datalayer if not exist\r\n window.dataLayer =\r\n typeof window.dataLayer != \"undefined\" && window.dataLayer instanceof Array ? window.dataLayer : []\r\n window.dataLayer.push(obj)\r\n }\r\n\r\n return {\r\n handleStepOne,\r\n currentStep,\r\n FeedbackSteps,\r\n handleStepOne,\r\n handleStepTwo,\r\n handleStepThree,\r\n }\r\n },\r\n}\r\n","import { computed, ref, watch, onMounted } from 'vue'\r\nimport { useStore } from 'vuex'\r\nimport { \r\n getNavigationList,\r\n setNextItemInFocus,\r\n setPrevItemInFocus,\r\n navigateInMobileSubmenu\r\n} from '../../../../Frontend/src/foundation/js/menu-key-helper'\r\nimport addScrollCallback from '../../../../Frontend/src/foundation/js/addScrollCallback'\r\n\r\nexport default {\r\n name: \"MitNykreditMenu\",\r\n props: {\r\n overlayId: {\r\n type: String,\r\n required: true\r\n }\r\n },\r\n setup(props) {\r\n const store = useStore()\r\n const BurgermenuStateEnum = Object.freeze({\r\n PageStart: \"\",\r\n Open: \"nyk-mit-nykredit-menu__top-menu__bottom__container__actions__burgermenu--open\",\r\n Close: \"nyk-mit-nykredit-menu__top-menu__bottom__container__actions__burgermenu--close\",\r\n });\r\n\r\n const burgermenuState = ref(BurgermenuStateEnum.PageStart)\r\n const menu = ref(document.querySelector('.nyk-menu'))\r\n const menuClasses = ref(\"\")\r\n const menuSticky = ref(false)\r\n const menuScrolling = ref(false)\r\n\r\n let menuIsInView = false\r\n let currentScrollTopValGeneral = window.scrollY\r\n\r\n let options = {\r\n root: document.querySelector(\"#scrollArea\"),\r\n rootMargin: \"0px\",\r\n threshold: 0,\r\n };\r\n\r\n const menuBottomInViewCallback = (entries, observer) => {\r\n entries.forEach((entry) => {\r\n if (!entry.isIntersecting) {\r\n menuScrolling.value = true\r\n }\r\n })\r\n }\r\n\r\n const menuTopInViewCallback = (entries, observer) => {\r\n entries.forEach((entry) => {\r\n if (entry.isIntersecting) {\r\n menuIsInView = entry.isIntersecting\r\n menuScrolling.value = false\r\n menuSticky.value = false\r\n\r\n } else {\r\n menuIsInView = entry.isIntersecting\r\n }\r\n })\r\n }\r\n\r\n onMounted(() => {\r\n menu.value = document.querySelector('.nyk-mit-nykredit-menu')\r\n\r\n const menuBottom = menu.value.querySelector('.nyk-mit-nykredit-menu__top-menu__bottom')\r\n const menuTop = menu.value.querySelector('.nyk-mit-nykredit-menu__top-menu__top')\r\n let menuBottomObserver = new IntersectionObserver(menuBottomInViewCallback, options)\r\n let menuTopObserver = new IntersectionObserver(menuTopInViewCallback, options)\r\n menuBottomObserver.observe(menuBottom)\r\n menuTopObserver.observe(menuTop)\r\n\r\n addScrollCallback(() => {\r\n let scrollingDown = currentScrollTopValGeneral < window.scrollY\r\n let scrollingUp = currentScrollTopValGeneral > window.scrollY\r\n\r\n if (scrollingUp && !menuIsInView) {\r\n menuScrolling.value = false\r\n menuSticky.value = true\r\n }\r\n if (scrollingDown) {\r\n menuSticky.value = false\r\n }\r\n\r\n // updating current scroll pos\r\n currentScrollTopValGeneral = window.scrollY\r\n })\r\n })\r\n\r\n const burgermenuUpdatedState = computed(() => {\r\n switch (burgermenuState.value) {\r\n case BurgermenuStateEnum.PageStart:\r\n if (submenuOpen.value) {\r\n burgermenuState.value = BurgermenuStateEnum.Open\r\n return BurgermenuStateEnum.Open\r\n } else {\r\n burgermenuState.value = BurgermenuStateEnum.PageStart\r\n return BurgermenuStateEnum.PageStart\r\n }\r\n default:\r\n if (submenuOpen.value) {\r\n burgermenuState.value = BurgermenuStateEnum.Open\r\n return BurgermenuStateEnum.Open\r\n } else {\r\n burgermenuState.value = BurgermenuStateEnum.Close\r\n return BurgermenuStateEnum.Close\r\n }\r\n }\r\n })\r\n\r\n const submenuOpen = computed(() => {\r\n const overlay = document.getElementById(props.overlayId)\r\n if (overlay) {\r\n overlay.classList.toggle('nyk-overlay--shown', store.state.menu.submenuOpen)\r\n }\r\n return store.state.menu.submenuOpen\r\n })\r\n\r\n const getMenuClasses = computed(() => {\r\n const submenuOpenClass = submenuOpen.value ? \"nyk-mit-nykredit-menu--submenu-open\" : \"\"\r\n const menuStickyClass = menuSticky.value ? \"nyk-mit-nykredit-menu--sticky-top\" : \"\"\r\n const menuScrollingClass = menuScrolling.value ? \"nyk-mit-nykredit-menu--scrolling\" : \"\"\r\n\r\n return menuClasses.value = `${submenuOpenClass} ${menuStickyClass} ${menuScrollingClass}`\r\n })\r\n\r\n watch(menuSticky, () => {\r\n document.querySelector('body').classList.toggle(\"nyk-menu-is-sticky\", menuSticky.value)\r\n })\r\n\r\n watch(menuScrolling, () => {\r\n document.querySelector('body').classList.toggle(\"nyk-menu-is-scrolled\", menuScrolling.value)\r\n })\r\n\r\n const toggleSubmenu = () => {\r\n store.dispatch(\"menu/searchOverlayShown\", { open: false })\r\n store.dispatch('menu/submenuOpen', { open: !submenuOpen.value })\r\n }\r\n\r\n // Keyboard navigations\r\n const navigateForwardInMenu = (e) => {\r\n setNextItemInFocus(e.target, getNavigationList('nyk-js--menu-item'))\r\n } \r\n\r\n const navigateBackInMenu = (e) => {\r\n setPrevItemInFocus(e.target, getNavigationList('nyk-js--menu-item'))\r\n } \r\n \r\n const navigateToSubmenu = () => {\r\n if (submenuOpen.value) {\r\n closeSubmenu()\r\n return\r\n }\r\n\r\n toggleSubmenu()\r\n \r\n setTimeout(() => {\r\n const subNavigationList = getNavigationList('nyk-js--mobile-submenu-item')\r\n subNavigationList[0].focus()\r\n if (subNavigationList[0] !== document.activeElement) {\r\n setNextItemInFocus(subNavigationList[0], subNavigationList)\r\n }\r\n }, 100)\r\n }\r\n\r\n const closeSubmenu = () => {\r\n toggleSubmenu()\r\n const navigationThree = getNavigationList('nyk-js--menu-item')\r\n navigationThree[navigationThree.length - 1].focus()\r\n }\r\n\r\n const navigateForwardInMobileSubmenu = (e) => {\r\n navigateInMobileSubmenu(e, true)\r\n }\r\n\r\n const navigateBackInMobileSubmenu = (e) => {\r\n navigateInMobileSubmenu(e, false)\r\n }\r\n\r\n return {\r\n burgermenuState,\r\n burgermenuUpdatedState,\r\n getMenuClasses,\r\n submenuOpen,\r\n toggleSubmenu,\r\n navigateForwardInMenu,\r\n navigateBackInMenu,\r\n navigateToSubmenu,\r\n navigateForwardInMobileSubmenu,\r\n navigateBackInMobileSubmenu,\r\n closeSubmenu\r\n }\r\n }\r\n}","import { ref } from \"vue\"\r\n\r\nexport default {\r\n name: \"BreadCrumb\",\r\n setup() {\r\n const mobileAllBreadcrumbsShown = ref(false)\r\n const dotsRef = ref(null)\r\n\r\n const toggleAllBreadcrumbs = () => {\r\n if (dotsRef.value) {\r\n setTimeout(() => {\r\n const nextSiblingLi = dotsRef.value.nextElementSibling\r\n nextSiblingLi?.querySelector(\"a\")?.focus()\r\n }, 50)\r\n }\r\n return (mobileAllBreadcrumbsShown.value = !mobileAllBreadcrumbsShown.value)\r\n }\r\n\r\n return {\r\n dotsRef,\r\n mobileAllBreadcrumbsShown,\r\n toggleAllBreadcrumbs,\r\n }\r\n },\r\n}\r\n","<script>\r\nimport options from \"./AnnualReportsTable.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-annual-reports-table\">\r\n <div class=\"nyk-annual-reports-table__header\">\r\n <h2 class=\"nyk-annual-reports-table__header__title\">\r\n {{ title }}\r\n </h2>\r\n <p class=\"nyk-annual-reports-table__header__description\">\r\n {{ subtitle }}\r\n </p>\r\n </div>\r\n\r\n <template v-if=\"tabs.length > 0\">\r\n <FilterTabs :initActiveTab=\"tabs[0].id\" :tabs=\"tabs\" :callback=\"changeFilter\" />\r\n </template>\r\n\r\n <template v-if=\"tables.length > 0\">\r\n <template v-for=\"(table, index) in tables\" :key=\"index\">\r\n <div\r\n :aria-labelledby=\"table.year\"\r\n class=\"nyk-annual-reports-table__table-wrapper\"\r\n :class=\"table.year !== activeYear ? 'nyk-annual-reports-table__table-wrapper--hidden' : ''\">\r\n <DynamicTable :headers=\"table.headers\" :rows=\"table.rows\" />\r\n </div>\r\n </template>\r\n </template>\r\n </article>\r\n</template>\r\n","<script>\r\nimport options from './DynamicTable.options'\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-dynamic-table nyk-table\">\r\n <div class=\"nyk-table__container\">\r\n <table class=\"nyk-table__container__table\">\r\n <thead class=\"nyk-table__container__table__header\">\r\n <tr class=\"nyk-table__container__table__header__row\">\r\n <template v-for=\"(item, index) in headers\" :key=\"index\">\r\n <th\r\n class=\"nyk-table__container__table__header__row__item\"\r\n :class=\"`${item.styles ? 'nyk-table__container__table__header__row__item--' + item.styles : ''}`\"\r\n :scope=\"item.scope\">\r\n <div v-html=\"item.name\"></div>\r\n </th>\r\n </template>\r\n </tr>\r\n </thead>\r\n\r\n <tbody class=\"nyk-table__container__table__body\">\r\n <template v-for=\"(row, indexRow) in rows\" :key=\"indexRow\">\r\n <tr class=\"nyk-table__container__table__body__row\">\r\n <template v-for=\"(item, indexItem) in row\" :key=\"indexItem\">\r\n <td\r\n class=\"nyk-table__container__table__body__row__item\"\r\n :class=\"`${item.styles ? 'nyk-table__container__table__body__row__item--' + item.styles : ''}`\">\r\n <template v-if=\"item.href\">\r\n <a :href=\"item.href\">\r\n {{ item.name }}\r\n </a>\r\n </template>\r\n <template v-else>\r\n <div v-html=\"item.name\"></div>\r\n </template>\r\n\r\n <template v-if=\"item.downloadIcon\">\r\n <template v-if=\"item.href\">\r\n <a :href=\"item.href\"\r\n ><svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 29 29\">\r\n <g stroke=\"#07094A\" stroke-miterlimit=\"10\" stroke-width=\"2\">\r\n <path\r\n stroke-linecap=\"square\"\r\n d=\"M1 20v5.333c0 .708.284 1.386.79 1.886.507.5 1.194.781 1.91.781h21.6c.716 0 1.403-.281 1.91-.781.505-.5.79-1.178.79-1.886V20\" />\r\n <path d=\"M14.5 0v20\" />\r\n <path stroke-linecap=\"square\" d=\"M7.75 13.333 14.5 20l6.75-6.667\" />\r\n </g>\r\n </svg>\r\n </a>\r\n </template>\r\n <template v-else\r\n ><svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 29 29\">\r\n <g stroke=\"#07094A\" stroke-miterlimit=\"10\" stroke-width=\"2\">\r\n <path\r\n stroke-linecap=\"square\"\r\n d=\"M1 20v5.333c0 .708.284 1.386.79 1.886.507.5 1.194.781 1.91.781h21.6c.716 0 1.403-.281 1.91-.781.505-.5.79-1.178.79-1.886V20\" />\r\n <path d=\"M14.5 0v20\" />\r\n <path stroke-linecap=\"square\" d=\"M7.75 13.333 14.5 20l6.75-6.667\" />\r\n </g>\r\n </svg>\r\n </template>\r\n </template>\r\n </td>\r\n </template>\r\n </tr>\r\n </template>\r\n </tbody>\r\n </table>\r\n </div>\r\n </article>\r\n</template>\r\n","import Tooltip from 'components/Tooltip/Tooltip.vue'\r\n\r\nexport default {\r\n name: 'DynamicTable',\r\n components: {\r\n Tooltip,\r\n },\r\n props: {\r\n headers: {\r\n type: Object,\r\n required: true,\r\n },\r\n rows: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n setup(props) {\r\n return {}\r\n },\r\n}\r\n","import { render } from \"./DynamicTable.vue?vue&type=template&id=ec1951be\"\nimport script from \"./DynamicTable.vue?vue&type=script&lang=js\"\nexport * from \"./DynamicTable.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { ref, onMounted, h } from 'vue'\r\nimport DynamicTable from '../DynamicTable/DynamicTable.vue'\r\nimport FilterTabs from '../FilterTabs/FilterTabs.vue'\r\n\r\nexport default {\r\n name: 'AnnualReportsTable',\r\n components: {\r\n DynamicTable,\r\n FilterTabs,\r\n },\r\n props: {\r\n groups: {\r\n type: Array,\r\n required: true,\r\n },\r\n reports: {\r\n type: Array,\r\n required: true,\r\n },\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n subtitle: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n setup(props) {\r\n const activeYear = ref(props.groups[0] ?? null)\r\n const tabs = ref([])\r\n const tables = ref([])\r\n\r\n const getDocumentTypes = () => {\r\n const documentTypes = []\r\n\r\n props.reports.map((report) => {\r\n if (documentTypes.length === 0 || documentTypes.find((item) => item.documentType === report.documentType) === undefined) {\r\n documentTypes.push({\r\n documentType: report.documentType,\r\n documentTypeFriendlyName: report.documentTypeFriendlyName,\r\n })\r\n }\r\n })\r\n\r\n return documentTypes\r\n }\r\n\r\n const getFilteredRows = (group, documentType) => {\r\n let rows = []\r\n\r\n const filteredReports = props.reports.filter((report) => report.year === group)\r\n\r\n filteredReports\r\n .filter((report) => report.documentType === documentType)\r\n .forEach((report) => {\r\n rows.push([\r\n { name: report.title, href: report.downloadLink },\r\n {\r\n name: '',\r\n href: report.downloadLink,\r\n downloadIcon: true,\r\n styles: 'text-right',\r\n },\r\n ])\r\n })\r\n return rows\r\n }\r\n\r\n onMounted(() => {\r\n const documentTypes = getDocumentTypes()\r\n\r\n props.groups.map((group) => {\r\n tabs.value.push({\r\n title: group.toString(),\r\n id: group.toString(),\r\n })\r\n\r\n documentTypes.forEach((item) => {\r\n const rows = getFilteredRows(group, item.documentType)\r\n if (rows.length > 0) {\r\n tables.value.push({\r\n year: group,\r\n headers: [{ name: item.documentTypeFriendlyName, scope: 'row' }],\r\n rows: rows,\r\n })\r\n }\r\n })\r\n })\r\n })\r\n\r\n const changeFilter = (year) => {\r\n activeYear.value = parseInt(year)\r\n }\r\n\r\n return {\r\n activeYear,\r\n changeFilter,\r\n tabs,\r\n tables,\r\n }\r\n },\r\n}\r\n","import { render } from \"./AnnualReportsTable.vue?vue&type=template&id=9c213028\"\nimport script from \"./AnnualReportsTable.vue?vue&type=script&lang=js\"\nexport * from \"./AnnualReportsTable.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./ChatMessage.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <div class=\"nyk-chat-message\">\r\n <div class=\"nyk-chat-message__content\" :class=\"messageClassName\">\r\n <template v-if=\"message.type === 'statusMessage'\">\r\n <p class=\"nyk-chat-message__message-status\" v-html=\"message.payload.statusMessage\"></p>\r\n </template>\r\n <template v-if=\"message.type === 'html'\">\r\n <div class=\"nyk-chat-message__message-html\" v-html=\"decodeUnicode(message.payload.html)\"></div>\r\n </template>\r\n <template v-else-if=\"message.type === 'text'\">\r\n <div class=\"nyk-chat-message__message-html\">\r\n <p>{{ message.payload.text }}</p>\r\n </div>\r\n </template>\r\n <template v-if=\"message.type === 'links'\">\r\n <template v-for=\"link in message.payload.links\">\r\n <template v-if=\"link.type === 'action_link'\">\r\n <button @click=\"sendActionId(link)\" :disabled=\"isConversationExpired\" class=\"nyk-chat-message__action-link nyk-button nyk-button--outline-primary\">\r\n {{ link.text }}\r\n </button>\r\n </template>\r\n <template v-else-if=\"link.type === 'external_link'\">\r\n <a class=\"nyk-chat-message__external-link nyk-button nyk-button--outline-primary nyk-button--icon\" :href=\"link.url\" :target=\"link.linkTarget\">\r\n {{ link.text }}\r\n <div class=\"nyk-button__icon\">\r\n <svg role=\"presentation\" aria-hidden=\"true\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M15.5 0.5L7.5 8.5\" stroke=\"#07094A\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path d=\"M8.5 0.5H15.5V7.5\" stroke=\"#07094A\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <path\r\n d=\"M12.5 9.5V14C12.5 14.3978 12.342 14.7794 12.0607 15.0607C11.7794 15.342 11.3978 15.5 11 15.5H2C1.60218 15.5 1.22064 15.342 0.93934 15.0607C0.658035 14.7794 0.5 14.3978 0.5 14V5C0.5 4.60218 0.658035 4.22064 0.93934 3.93934C1.22064 3.65804 1.60218 3.5 2 3.5H6.5\"\r\n stroke=\"#07094A\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n </a>\r\n </template>\r\n </template>\r\n </template>\r\n </div>\r\n </div>\r\n</template>","import { computed } from \"vue\";\r\nimport { useStore } from \"vuex\"\r\n\r\nexport default {\r\n name: \"ChatMessage\",\r\n props: {\r\n message: {\r\n type: Object,\r\n required: true\r\n },\r\n isUser: {\r\n type: Boolean,\r\n required: true\r\n }\r\n },\r\n setup(props){\r\n const messageClassName = computed(() => {\r\n const sourceClassName = props.isUser ? \"nyk-chat-message__content--user\" : \"nyk-chat-message__content--bot\"\r\n const messageTypeClassName = props.message.type === \"statusMessage\" ? \"nyk-chat-message__content--status-message\" :\r\n props.message.type === \"html\" ? \"nyk-chat-message__content--html\" :\r\n props.message.type === \"text\" ? \"nyk-chat-message__content--text\" :\r\n props.message.type === \"links\" ? \"nyk-chat-message__content--links\" : \"\"\r\n return `${sourceClassName} ${messageTypeClassName}`\r\n })\r\n const store = useStore()\r\n\r\n function sendActionId(link) {\r\n if (!link || !link.id) return\r\n store.dispatch(\"chatPanel/sendActionId\", {actionId: link.id })\r\n }\r\n\r\n function decodeUnicode(str) {\r\n return str.replace(/\\\\u([\\dA-F]{4})/gi, (match, grp) => {\r\n return String.fromCharCode(parseInt(grp, 16));\r\n });\r\n }\r\n\r\n const isConversationExpired = computed(() => {\r\n return store.getters[\"chatPanel/isConversationExpired\"]\r\n })\r\n\r\n return {\r\n isConversationExpired,\r\n decodeUnicode,\r\n sendActionId,\r\n messageClassName\r\n }\r\n }\r\n}","import { render } from \"./ChatMessage.vue?vue&type=template&id=7a0f3cfe\"\nimport script from \"./ChatMessage.vue?vue&type=script&lang=js\"\nexport * from \"./ChatMessage.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./ChatWindow.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <div class=\"nyk-chat-window\">\r\n <div class=\"nyk-chat-window__header\">\r\n <template v-if=\"showMenuButton\">\r\n <button @click=\"openMenu\" v-on:keydown.tab.shift=\"handleKeydown\" data-order=\"first\" :aria-label=\"getLabel('TopMenuOpenTitle')\" :title=\"getLabel('TopMenuOpenTitle')\"\r\n class=\"nyk-chat-window__header-menu-icon-burger nyk-button nyk-button--link-icon\">\r\n <svg class=\"nyk-button__icon\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" role=\"presentation\" aria-hidden=\"true\">\r\n <path fill=\"#07094A\" fill-rule=\"evenodd\"\r\n d=\"M0 0h16v1.78H0V0Zm0 7.11h10v1.78H0V7.11Zm16 7.109H0v1.78h16v-1.78Z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n </template>\r\n <template v-else>\r\n <button v-on:keydown.tab.shift=\"handleKeydown\" data-order=\"first\" @click=\"navigateBack\" v-if=\"showBackButton\"\r\n class=\"nyk-chat-window__header-menu-icon-back nyk-button nyk-button--link-icon\" :aria-label=\"getLabel('TopMenuNavigationBackTitle')\" :title=\"getLabel('TopMenuNavigationBackTitle')\">\r\n <svg class=\"nyk-button__icon\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 6 11\" role=\"presentation\" aria-hidden=\"true\">\r\n <path stroke=\"#212226\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"\r\n d=\"m5 1.272-4 4 4 4\" />\r\n </svg>\r\n </button>\r\n </template>\r\n <div class=\"nyk-chat-window__header-action-buttons\">\r\n <button @click=\"minimizeChatWindow\" v-on:keydown.shift.tab=\"handleKeydown\" :data-order=\"currentStep === 'ChatFeedbackReview' || 'ChatFeedbackPhoneNumber' ? 'first': null\"\r\n class=\"nyk-chat-window__header-action-minimize nyk-button nyk-button--link-icon\" :aria-label=\"getLabel('TopMenuMinimizeTitle')\" :title=\"getLabel('TopMenuMinimizeTitle')\">\r\n <svg class=\"nyk-button__icon\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 8\" role=\"presentation\" aria-hidden=\"true\">\r\n <path fill=\"#07094A\" fill-rule=\"evenodd\"\r\n d=\"m1.282 0 5.436 5.437L12.156 0l1.281 1.282L6.718 8 0 1.282 1.282 0Z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n <button @click=\"endConversation\" v-on:keydown.tab=\"handleKeydown\" :data-order=\"currentStep === 'ChatFeedbackReview' ? 'last': null\"\r\n class=\"nyk-chat-window__header-action-close nyk-button nyk-button--link-icon nyk-button--link-circle\" :aria-label=\"getLabel('TopMenuCloseTitle')\" :title=\"getLabel('TopMenuCloseTitle')\">\r\n <svg class=\"nyk-button__icon\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" role=\"presentation\" aria-hidden=\"true\">\r\n <path fill=\"#07094A\" fill-rule=\"evenodd\"\r\n d=\"M17.563 7.5 7.502 17.56l-1.06-1.06 10.06-10.06 1.06 1.06Z\" clip-rule=\"evenodd\" />\r\n <path fill=\"#07094A\" fill-rule=\"evenodd\"\r\n d=\"m7.502 6.44 10.06 10.06-1.06 1.06L6.442 7.5l1.06-1.06Z\" clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"nyk-chat-window__content\" :class=\"{ 'nyk-chat-window__content--chat-active': chatIsShown }\"\r\n ref=\"chatWindowContent\">\r\n <div class=\"nyk-chat-window__scroll-container\">\r\n <div class=\"nyk-chat-window__message-container\" ref=\"messageContainer\" v-if=\"chatIsShown\">\r\n <div v-if=\"initialMessage\" class=\"nyk-chat-window__initial-message\" v-html=\"initialMessage\"></div>\r\n <slot name=\"messages\"></slot>\r\n <slot name=\"loading-messages\"></slot>\r\n </div>\r\n <ChatFeedback v-if=\"showFeedback\"></ChatFeedback>\r\n <ChatConnectionError v-if=\"showConnectionError\"></ChatConnectionError>\r\n <Transition name=\"menuAppear\" appear>\r\n <ChatMenu v-if=\"menuIsOpen\"></ChatMenu>\r\n </Transition>\r\n </div>\r\n </div>\r\n <slot name=\"input-message\" v-if=\"chatIsShown\"></slot>\r\n </div>\r\n</template>","<script>\r\nimport options from \"./ChatMenu.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <div class=\"nyk-chat-menu\">\r\n <div class=\"nyk-chat-menu__container\">\r\n <span class=\"nyk-chat-menu__heading\">{{ getLabel(\"menuHeading\") }}</span>\r\n <div class=\"nyk-chat-menu__menu\">\r\n <button class=\"nyk-chat-menu__menu-item\" @click=\"downloadConversation\" :disabled=\"!conversationStarted\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" role=\"presentation\" aria-hidden=\"true\"><path stroke=\"#07094A\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M13.8 11.644a3.518 3.518 0 0 0 1.51-1.88 3.542 3.542 0 0 0-.05-2.415 3.515 3.515 0 0 0-1.585-1.815 3.481 3.481 0 0 0-2.375-.36 5.545 5.545 0 0 0-1.245-2.291 5.499 5.499 0 0 0-2.15-1.462 5.468 5.468 0 0 0-5.01.61 5.522 5.522 0 0 0-1.74 1.938 5.56 5.56 0 0 0 1.554 7.083M11 12.148l-3 3.018-3-3.018M8 15.166V6.11\"/></svg>\r\n <span>{{ getLabel(\"menuDownloadConversationButton\") }}</span>\r\n </button>\r\n <button class=\"nyk-chat-menu__menu-item\" @click=\"deleteMessages\" :disabled=\"!conversationStarted\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 18 18\" role=\"presentation\" aria-hidden=\"true\"><path stroke=\"#07094A\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" d=\"M14.818 6.933v8.781c0 .388-.153.76-.426 1.035a1.45 1.45 0 0 1-1.028.429H4.636a1.45 1.45 0 0 1-1.028-.43 1.468 1.468 0 0 1-.426-1.034V6.933M1 4.006h16M9 9.128v4.39M6.09 9.128v4.39M11.91 9.128v4.39\"/><path stroke=\"#07094A\" stroke-miterlimit=\"10\" d=\"M6.09 4.005V1.078h5.819v2.927\"/></svg>\r\n <span>{{ getLabel(\"menuDeleteConversationButton\") }}</span>\r\n </button>\r\n <a class=\"nyk-chat-menu__menu-item\" :href=\"privacyPolicyUrl\" v-on:keydown.tab=\"handleKeydown\" data-order=\"last\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 15\" role=\"presentation\" aria-hidden=\"true\"><path stroke=\"#07094A\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" d=\"M9.333.929h5.333v5.366M6 2.27H2.666a1.33 1.33 0 0 0-.942.392c-.25.252-.391.593-.391.95v9.39c0 .356.14.697.39.949s.59.393.943.393H12c.353 0 .692-.141.943-.393.25-.252.39-.593.39-.949V9.648\"/></svg>\r\n <span>{{ getLabel(\"menuPrivacyPolicyButton\") }}</span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n</template>","import { useStore } from \"vuex\"\r\nimport {computed, inject} from \"vue\"\r\nexport default {\r\n name: \"ChatMenu\",\r\n components: {\r\n },\r\n props: {\r\n },\r\n setup() {\r\n const store = useStore()\r\n const handleKeydown = inject('handleKeydown');\r\n function deleteMessages() {\r\n store.dispatch(\"chatPanel/deleteMessageHistory\");\r\n // Message other tabs to delete the session\r\n const bc = new BroadcastChannel(\"nyk-chat-conversation-id\");\r\n bc.postMessage(\"deleteChatConversation\");\r\n bc.close();\r\n }\r\n function downloadConversation() {\r\n store.dispatch(\"chatPanel/downloadConversation\");\r\n }\r\n const conversationStarted = computed(() => {\r\n return store.state.chatPanel.conversation?.id;\r\n })\r\n function getLabel(label) {\r\n const returnLabel = store.state.chatPanel.labels[label];\r\n if (!returnLabel) console.error(\"Label does not exist\", label);\r\n return returnLabel ? returnLabel : `[${label}]`;\r\n }\r\n const privacyPolicyUrl = computed(() => {\r\n return store.state.chatPanel.conversation?.state?.privacyPolicyUrl\r\n })\r\n return {\r\n handleKeydown,\r\n downloadConversation,\r\n conversationStarted,\r\n privacyPolicyUrl,\r\n getLabel,\r\n deleteMessages\r\n }\r\n }\r\n}","import { render } from \"./ChatMenu.vue?vue&type=template&id=0cb8cfde\"\nimport script from \"./ChatMenu.vue?vue&type=script&lang=js\"\nexport * from \"./ChatMenu.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./ChatFeedback.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <div class=\"nyk-chat-feedback\">\r\n <ChatFeedbackInput :setCurrentStep=\"setCurrentStep\" v-if=\"step === 'ChatFeedbackInput'\"/>\r\n <ChatFeedbackPhoneNumber :setCurrentStep=\"setCurrentStep\" v-if=\"step === 'ChatFeedbackPhoneNumber'\" />\r\n <ChatFeedbackReview v-if=\"step === 'ChatFeedbackReview'\"/>\r\n </div>\r\n</template>","<script>\r\nimport options from \"./ChatFeedbackInput.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <div class=\"nyk-chat-feedback-input\">\r\n <span class=\"nyk-chat-feedback-input__heading\">{{ getLabel(\"reviewChatHeading\") }}</span>\r\n <div class=\"nyk-chat-feedback-input__feedback-buttons\">\r\n\r\n <button class=\"nyk-chat-feedback-input__button\" :disabled=\"isSendingFeedback\" @click=\"sendConversationFeedback({feedback: 'positive'})\" :title=\"getLabel('positiveConversationFeedbackLabel')\" :aria-label=\"getLabel('positiveConversationFeedbackLabel')\">\r\n <Loader v-if=\"isSendingFeedback === 'positive'\" classNames=\"nyk-loader--inline nyk-loader--color-primary-dark\" />\r\n <svg v-else xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 46 44\" role=\"presentation\" aria-hidden=\"true\">\r\n <path fill=\"#07094A\"\r\n d=\"M5 19H3a3 3 0 0 0-3 3v18a3 3 0 0 0 3 3h2a3 3 0 0 0 3-3V22a3 3 0 0 0-3-3ZM46 28a4.926 4.926 0 0 0-1.6-3.652c.392-.72.599-1.528.6-2.348a5.006 5.006 0 0 0-5-5H23V7c0-5.537-3.925-7-6-7a1 1 0 0 0-.944.671L10 21v20.613A29.994 29.994 0 0 0 22 44h16a4 4 0 0 0 3.6-5.747 4.976 4.976 0 0 0 2.071-6.043A4.99 4.99 0 0 0 46 28Z\" />\r\n </svg>\r\n </button>\r\n <button class=\"nyk-chat-feedback-input__button\" :disabled=\"isSendingFeedback\" @click=\"sendConversationFeedback({feedback: 'negative'})\" :title=\"getLabel('negativeConversationFeedbackLabel')\" :aria-label=\"getLabel('negativeConversationFeedbackLabel')\">\r\n <Loader v-if=\"isSendingFeedback === 'negative'\" classNames=\"nyk-loader--inline nyk-loader--color-primary-dark\" />\r\n <svg v-else viewBox=\"0 0 46 44\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" role=\"presentation\" aria-hidden=\"true\">\r\n <path\r\n d=\"M5 1.00098H3C1.34315 1.00098 0 2.34412 0 4.00098V22.001C0 23.6578 1.34315 25.001 3 25.001H5C6.65685 25.001 8 23.6578 8 22.001V4.00098C8 2.34412 6.65685 1.00098 5 1.00098Z\"\r\n fill=\"#07094A\" />\r\n <path\r\n d=\"M46 16.0012C45.998 15.1601 45.7833 14.3332 45.376 13.5973C44.9686 12.8614 44.3818 12.2404 43.67 11.7922C44.0882 10.7019 44.11 9.49939 43.7316 8.39466C43.3532 7.28992 42.5988 6.35324 41.6 5.74823C41.865 5.20407 42.0018 4.60646 42 4.00123C42 2.94036 41.5786 1.92295 40.8284 1.1728C40.0783 0.422657 39.0609 0.00122937 38 0.00122937H22C17.8785 -0.0360867 13.7935 0.776484 10 2.38823V23.0012L16.056 43.3302C16.1243 43.5262 16.2518 43.6961 16.421 43.8163C16.5901 43.9365 16.7925 44.0012 17 44.0012C19.075 44.0012 23 42.5382 23 37.0012V27.0012H40C41.3256 26.9996 42.5964 26.4723 43.5338 25.535C44.4711 24.5977 44.9984 23.3268 45 22.0012C44.9981 21.1809 44.7919 20.3739 44.4 19.6532C44.9063 19.1895 45.3101 18.6251 45.5857 17.9962C45.8612 17.3673 46.0023 16.6878 46 16.0012Z\"\r\n fill=\"#07094A\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n</template>","<script>\r\nimport options from \"./Loader.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <div class=\"nyk-loader\" :class=\"classNames\">\r\n <div class=\"nyk-loader__content\">\r\n <div class=\"nyk-loader__content__circle\"></div>\r\n </div>\r\n </div>\r\n</template>","import { useStore } from \"vuex\";\r\nimport { onMounted, ref, nextTick } from \"vue\";\r\nexport default {\r\n name: \"Loader\",\r\n components: {},\r\n props: {\r\n classNames: {\r\n type: String,\r\n default: ''\r\n }\r\n },\r\n setup() {\r\n }\r\n}","import { render } from \"./Loader.vue?vue&type=template&id=212d5896\"\nimport script from \"./Loader.vue?vue&type=script&lang=js\"\nexport * from \"./Loader.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { useStore } from \"vuex\";\r\nimport { ref } from \"vue\";\r\nimport Loader from \"components/Loader/Loader\";\r\nexport default {\r\n name: \"ChatFeedbackInput\",\r\n components: {\r\n Loader\r\n },\r\n props: {\r\n setCurrentStep: {\r\n type: Function,\r\n required: true\r\n }\r\n },\r\n setup(props) {\r\n const store = useStore();\r\n const isSendingFeedback = ref(undefined);\r\n const isClosing = ref(false)\r\n function getLabel(label) {\r\n const returnLabel = store.state.chatPanel.labels[label];\r\n if (!returnLabel) console.error(\"Label does not exist\", label);\r\n return returnLabel ? returnLabel : `[${label}]`;\r\n }\r\n\r\n async function sendConversationFeedback(payload) {\r\n const { feedback } = payload;\r\n if (feedback === \"positive\") {\r\n try {\r\n isSendingFeedback.value = \"positive\";\r\n await store.dispatch(\"chatPanel/sendConversationFeedback\", {\r\n feedback: {\r\n feedback: feedback,\r\n }\r\n });\r\n } finally {\r\n isSendingFeedback.value = undefined;\r\n props.setCurrentStep('ChatFeedbackReview')\r\n }\r\n } else if (feedback === \"negative\") {\r\n try {\r\n isSendingFeedback.value = \"negative\";\r\n await store.dispatch(\"chatPanel/sendConversationFeedback\", {\r\n feedback: {\r\n feedback: feedback,\r\n }\r\n });\r\n } finally {\r\n isSendingFeedback.value = undefined;\r\n props.setCurrentStep('ChatFeedbackPhoneNumber')\r\n }\r\n }\r\n }\r\n\r\n async function closeFeedback() {\r\n isClosing.value = true\r\n await store.dispatch(\"chatPanel/endConversation\");\r\n isClosing.value = false\r\n }\r\n\r\n return {\r\n isSendingFeedback,\r\n isClosing,\r\n closeFeedback,\r\n sendConversationFeedback,\r\n getLabel,\r\n };\r\n },\r\n};\r\n","import { render } from \"./ChatFeedbackInput.vue?vue&type=template&id=2eb3b59d\"\nimport script from \"./ChatFeedbackInput.vue?vue&type=script&lang=js\"\nexport * from \"./ChatFeedbackInput.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"," <script>\r\nimport options from \"./ChatFeedbackPhoneNumber.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <div class=\"nyk-chat-feedback-phone-number\">\r\n <span class=\"nyk-chat-feedback-phone-number__heading\">{{ getLabel(\"reviewNegativeHeading\") }}</span>\r\n <div class=\"nyk-chat-feedback-phone-number__description\" v-html=\"feedbackApiMessage\"></div>\r\n <div class=\"nyk-chat-feedback-phone-number__form\">\r\n <input\r\n ref=\"inputRef\"\r\n class=\"nyk-chat-feedback-phone-number__input\"\r\n v-model=\"phoneNumber\"\r\n type=\"tel\" \r\n maxlength=\"8\"\r\n pattern=\"[0-9]+\"\r\n :placeholder=\"getLabel('reviewAddCommentPlaceholder')\"\r\n @keydown.enter=\"handleEnterKeydown\" />\r\n <span v-if=\"showPhoneNumberHelpMessage && !phoneNumberValid\" class=\"nyk-chat-feedback-phone-number__form-error-text\">{{getLabel(\"reviewPhoneNumberHelpMessage\")}}</span>\r\n <div class=\"nyk-chat-feedback-phone-number__disclaimer\" v-html=\"getLabel('reviewInputPhoneNumberDisclaimerHTML')\"></div>\r\n <button class=\"nyk-chat-feedback-phone-number__send-button\" @click=\"sendConversationFeedback({phoneNumber})\" @keydown.tab=\"handleKeydown\" data-order=\"last\">\r\n <span class=\"nyk-chat-feedback-phone-number__send-button-text\" :class=\"{'nyk-visibility-hidden': isLoading}\">{{ getLabel(\"reviewSendButton\") }}\r\n <div class=\"nyk-button nyk-button--link-circle-arrow right\">\r\n <div class=\"nyk-button__icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\" role=\"presentation\" aria-hidden=\"true\">\r\n <path fill=\"#07094A\"\r\n d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </span>\r\n <Loader v-if=\"isLoading\" classNames=\"nyk-loader--inline nyk-loader--size-small nyk-loader--color-primary-dark\" />\r\n </button>\r\n </div>\r\n </div>\r\n</template>","import { ref, onMounted, computed, inject } from \"vue\";\r\nimport { useStore } from \"vuex\";\r\nimport Loader from \"components/Loader/Loader\";\r\nimport phoneValidator from \"foundation/js/inputValidators/phoneValidator\"\r\n\r\nexport default {\r\n name: \"ChatFeedbackPhoneNumber\",\r\n components: {\r\n Loader\r\n },\r\n props: {\r\n setCurrentStep: {\r\n type: Function,\r\n required: true\r\n }\r\n },\r\n setup(props) {\r\n const store = useStore()\r\n const inputRef = ref(null)\r\n const phoneNumber = ref(undefined)\r\n const showPhoneNumberHelpMessage = ref(false)\r\n const isLoading = ref(false)\r\n const isClosing = ref(false)\r\n const handleKeydown = inject('handleKeydown');\r\n function getLabel(label) {\r\n const returnLabel = store.state.chatPanel.labels[label]\r\n if (!returnLabel) console.error(\"Label does not exist\", label)\r\n return returnLabel ? returnLabel : `[${label}]`\r\n }\r\n\r\n const phoneNumberValid = computed(() => {\r\n return phoneNumber.value && phoneValidator(phoneNumber.value)\r\n })\r\n \r\n const feedbackApiMessage = computed(() => {\r\n return store.getters[\"chatPanel/getFeedbackApiMessage\"];\r\n })\r\n\r\n async function sendConversationFeedback() {\r\n if (!phoneNumberValid.value) {\r\n showPhoneNumberHelpMessage.value = true\r\n return\r\n }\r\n try {\r\n isLoading.value = true\r\n await store.dispatch(\"chatPanel/sendMessage\", phoneNumber.value);\r\n props.setCurrentStep('ChatFeedbackReview')\r\n } catch (error) {\r\n throw new Error(error);\r\n } finally {\r\n isLoading.value = false\r\n }\r\n }\r\n\r\n const handleEnterKeydown = (event) => {\r\n if (event.key === \"Enter\") {\r\n sendConversationFeedback();\r\n }\r\n }\r\n\r\n return {\r\n handleEnterKeydown,\r\n handleKeydown,\r\n isLoading,\r\n isClosing,\r\n inputRef,\r\n feedbackApiMessage,\r\n phoneNumberValid,\r\n showPhoneNumberHelpMessage,\r\n phoneNumber,\r\n sendConversationFeedback,\r\n getLabel,\r\n };\r\n },\r\n};\r\n","<script>\r\nimport options from \"./ChatFeedbackReview.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <div class=\"nyk-chat-feedback-review\">\r\n <span v-if=\"feedbackApiMessage()\" class=\"nyk-chat-feedback-review__final-message\" v-html=\"feedbackApiMessage()\"></span>\r\n <div class=\"nyk-chat-feedback-review__review-message\">\r\n <span class=\"nyk-chat-feedback-review__heading\">{{ getLabel('reviewFinalMessageHeading') }}</span>\r\n <span class=\"nyk-chat-feedback-review__sub-heading\" v-html=\"getLabel('reviewFinalMessageSubheadingHTML')\" v-if=\"feedbackPayloadNegative\"></span>\r\n </div>\r\n </div>\r\n</template>","import { ref, onMounted, computed, nextTick } from \"vue\";\r\nimport { useStore } from \"vuex\";\r\nimport Loader from \"components/Loader/Loader\";\r\n\r\nexport default {\r\n name: \"ChatFeedbackReview\",\r\n components: {\r\n Loader\r\n },\r\n props: {},\r\n setup() {\r\n const store = useStore();\r\n const isClosing = ref(false)\r\n function getLabel(label) {\r\n const returnLabel = store.state.chatPanel.labels[label];\r\n if (!returnLabel) console.error(\"Label does not exist\", label);\r\n return returnLabel ? returnLabel : `[${label}]`;\r\n }\r\n\r\n function feedbackApiMessage() {\r\n return store.getters[\"chatPanel/getFeedbackApiMessage\"];\r\n }\r\n\r\n const feedbackPayloadNegative = computed(() => {\r\n return store.state.chatPanel.feedbackPayload === \"negative\";\r\n })\r\n\r\n async function closeFeedback() {\r\n isClosing.value = true\r\n try {\r\n await store.dispatch(\"chatPanel/resetChat\");\r\n }\r\n finally {\r\n isClosing.value = false\r\n }\r\n }\r\n\r\n onMounted(async () => {\r\n if (store.getters[\"chatPanel/isConversationOngoing\"]) {\r\n store.dispatch(\"chatPanel/endConversation\");\r\n }\r\n await nextTick()\r\n const closeButton = document.querySelector(\".nyk-chat-window__header-action-close\");\r\n closeButton.focus();\r\n })\r\n\r\n return {\r\n feedbackPayloadNegative,\r\n isClosing,\r\n closeFeedback,\r\n feedbackApiMessage,\r\n getLabel,\r\n };\r\n },\r\n};\r\n","import {computed} from \"vue\";\r\nimport { useStore } from \"vuex\";\r\nimport ChatFeedbackInput from \"./ChatFeedbackInput/ChatFeedbackInput\";\r\nimport ChatFeedbackPhoneNumber from \"./ChatFeedbackPhoneNumber/ChatFeedbackPhoneNumber\";\r\nimport ChatFeedbackReview from \"./ChatFeedbackReview/ChatFeedbackReview\";\r\nexport default {\r\n name: \"ChatFeedback\",\r\n components: {\r\n ChatFeedbackInput,\r\n ChatFeedbackPhoneNumber,\r\n ChatFeedbackReview\r\n },\r\n props: {},\r\n setup() {\r\n const store = useStore();\r\n\r\n const step = computed(()=> {\r\n return store.state.chatPanel.feedbackStep\r\n })\r\n\r\n function getLabel(label) {\r\n const returnLabel = store.state.chatPanel.labels[label];\r\n if (!returnLabel) console.error(\"Label does not exist\", label);\r\n return returnLabel ? returnLabel : `[${label}]`;\r\n }\r\n\r\n async function sendConversationFeedback(payload) {\r\n const { feedback } = payload;\r\n if (feedback === \"positive\") {\r\n try {\r\n await store.dispatch(\"chatPanel/sendConversationFeedback\", {\r\n feedback: {\r\n feedback: feedback,\r\n },\r\n });\r\n } catch (error) {\r\n throw new Error(error);\r\n } finally {\r\n await store.dispatch(\"chatPanel/resetChat\");\r\n }\r\n } else if (feedback === \"negative\") {\r\n step.value = 'ChatFeedbackPhoneNumber'\r\n }\r\n }\r\n\r\n function setCurrentStep(inputStep) {\r\n store.commit(\"chatPanel/set_feedback_step\", inputStep);\r\n }\r\n\r\n return {\r\n setCurrentStep,\r\n step,\r\n sendConversationFeedback,\r\n getLabel,\r\n };\r\n },\r\n};\r\n","import { render } from \"./ChatFeedbackPhoneNumber.vue?vue&type=template&id=a1dac06e\"\nimport script from \"./ChatFeedbackPhoneNumber.vue?vue&type=script&lang=js\"\nexport * from \"./ChatFeedbackPhoneNumber.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./ChatFeedbackReview.vue?vue&type=template&id=f98ba1b6\"\nimport script from \"./ChatFeedbackReview.vue?vue&type=script&lang=js\"\nexport * from \"./ChatFeedbackReview.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./ChatFeedback.vue?vue&type=template&id=64b1c1b7\"\nimport script from \"./ChatFeedback.vue?vue&type=script&lang=js\"\nexport * from \"./ChatFeedback.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./ChatConnectionError.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <div class=\"nyk-chat-connection-error\">\r\n <div class=\"nyk-chat-connection-error__content\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 46 38\"><path fill=\"#07094A\" d=\"M22.628 38a4 4 0 1 0 0-8 4 4 0 0 0 0 8ZM12.73 24.101A13.903 13.903 0 0 1 22.627 20c.32 0 .637.025.954.046l3.478-3.478A17.884 17.884 0 0 0 9.9 21.272l-1.414 1.414 2.83 2.829 1.413-1.414ZM30.191 17.68l-3.07 3.07c2.012.68 3.86 1.806 5.406 3.352l1.414 1.415 2.83-2.83-1.416-1.413a17.974 17.974 0 0 0-5.164-3.594ZM33.331 10.297l2.995-2.995A29.856 29.856 0 0 0 22.628 4C14.614 4 7.081 7.121 1.415 12.787L0 14.201l2.829 2.829 1.414-1.415C9.154 10.705 15.683 8 22.628 8c3.753 0 7.382.796 10.703 2.297ZM39.008 8.862l-2.899 2.9a26.186 26.186 0 0 1 4.903 3.854l1.414 1.415 2.83-2.829-1.416-1.414a30.177 30.177 0 0 0-4.832-3.926Z\"/><path fill=\"#07094A\" d=\"M6.628 38a.999.999 0 0 1-.707-1.707l36-36a.999.999 0 1 1 1.414 1.414l-36 36a.997.997 0 0 1-.707.293Z\"/></svg>\r\n <span class=\"nyk-chat-connection-error__description\">Problemer med forbindelsen. Prøv igen senere</span>\r\n </div>\r\n </div>\r\n</template>","export default {\r\n name: \"ChatConnectionError\",\r\n components: {\r\n },\r\n props: {\r\n },\r\n setup() {\r\n\r\n }\r\n}","import { render } from \"./ChatConnectionError.vue?vue&type=template&id=9f43330e\"\nimport script from \"./ChatConnectionError.vue?vue&type=script&lang=js\"\nexport * from \"./ChatConnectionError.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n// Older browsers don't support event options, feature detect it.\r\n\r\n// Adopted and modified solution from Bohdan Didukh (2017)\r\n// https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi\r\n\r\nlet hasPassiveEvents = false;\r\nif (typeof window !== 'undefined') {\r\n const passiveTestOptions = {\r\n get passive() {\r\n hasPassiveEvents = true;\r\n return undefined;\r\n }\r\n };\r\n window.addEventListener('testPassive', null, passiveTestOptions);\r\n window.removeEventListener('testPassive', null, passiveTestOptions);\r\n}\r\n\r\nconst isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1);\r\n\r\n\r\nlet locks = [];\r\nlet documentListenerAdded = false;\r\nlet initialClientY = -1;\r\nlet previousBodyOverflowSetting;\r\nlet previousBodyPosition;\r\nlet previousBodyPaddingRight;\r\n\r\n// returns true if `el` should be allowed to receive touchmove events.\r\nconst allowTouchMove = el => locks.some(lock => {\r\n if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n});\r\n\r\nconst preventDefault = rawEvent => {\r\n const e = rawEvent || window.event;\r\n\r\n // For the case whereby consumers adds a touchmove event listener to document.\r\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\r\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\r\n // the touchmove event on document will break.\r\n if (allowTouchMove(e.target)) {\r\n return true;\r\n }\r\n\r\n // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\r\n if (e.touches.length > 1) return true;\r\n\r\n if (e.preventDefault) e.preventDefault();\r\n\r\n return false;\r\n};\r\n\r\nconst setOverflowHidden = options => {\r\n // If previousBodyPaddingRight is already set, don't set it again.\r\n if (previousBodyPaddingRight === undefined) {\r\n const reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\r\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\r\n\r\n if (reserveScrollBarGap && scrollBarGap > 0) {\r\n const computedBodyPaddingRight = parseInt(window.getComputedStyle(document.body).getPropertyValue('padding-right'), 10);\r\n previousBodyPaddingRight = document.body.style.paddingRight;\r\n document.body.style.paddingRight = `${computedBodyPaddingRight + scrollBarGap}px`;\r\n }\r\n }\r\n\r\n // If previousBodyOverflowSetting is already set, don't set it again.\r\n if (previousBodyOverflowSetting === undefined) {\r\n previousBodyOverflowSetting = document.body.style.overflow;\r\n document.body.style.overflow = 'hidden';\r\n }\r\n};\r\n\r\nconst restoreOverflowSetting = () => {\r\n if (previousBodyPaddingRight !== undefined) {\r\n document.body.style.paddingRight = previousBodyPaddingRight;\r\n\r\n // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\r\n // can be set again.\r\n previousBodyPaddingRight = undefined;\r\n }\r\n\r\n if (previousBodyOverflowSetting !== undefined) {\r\n document.body.style.overflow = previousBodyOverflowSetting;\r\n\r\n // Restore previousBodyOverflowSetting to undefined\r\n // so setOverflowHidden knows it can be set again.\r\n previousBodyOverflowSetting = undefined;\r\n }\r\n};\r\n\r\nconst setPositionFixed = () => window.requestAnimationFrame(() => {\r\n // If previousBodyPosition is already set, don't set it again.\r\n if (previousBodyPosition === undefined) {\r\n previousBodyPosition = {\r\n position: document.body.style.position,\r\n top: document.body.style.top,\r\n left: document.body.style.left\r\n };\r\n\r\n // Update the dom inside an animation frame\r\n const { scrollY, scrollX, innerHeight } = window;\r\n document.body.style.position = 'fixed';\r\n document.body.style.top = `${-scrollY}px`;\r\n document.body.style.left = `${-scrollX}px`;\r\n\r\n setTimeout(() => window.requestAnimationFrame(() => {\r\n // Attempt to check if the bottom bar appeared due to the position change\r\n const bottomBarHeight = innerHeight - window.innerHeight;\r\n if (bottomBarHeight && scrollY >= innerHeight) {\r\n // Move the content further up so that the bottom bar doesn't hide it\r\n document.body.style.top = -(scrollY + bottomBarHeight);\r\n }\r\n }), 300);\r\n }\r\n});\r\n\r\nconst restorePositionSetting = () => {\r\n if (previousBodyPosition !== undefined) {\r\n // Convert the position from \"px\" to Int\r\n const y = -parseInt(document.body.style.top, 10);\r\n const x = -parseInt(document.body.style.left, 10);\r\n\r\n // Restore styles\r\n document.body.style.position = previousBodyPosition.position;\r\n document.body.style.top = previousBodyPosition.top;\r\n document.body.style.left = previousBodyPosition.left;\r\n\r\n // Restore scroll\r\n window.scrollTo(x, y);\r\n\r\n previousBodyPosition = undefined;\r\n }\r\n};\r\n\r\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\r\nconst isTargetElementTotallyScrolled = targetElement => targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\r\n\r\nconst handleScroll = (event, targetElement) => {\r\n const clientY = event.targetTouches[0].clientY - initialClientY;\r\n\r\n if (allowTouchMove(event.target)) {\r\n return false;\r\n }\r\n\r\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\r\n // element is at the top of its scroll.\r\n return preventDefault(event);\r\n }\r\n\r\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\r\n // element is at the bottom of its scroll.\r\n return preventDefault(event);\r\n }\r\n\r\n event.stopPropagation();\r\n return true;\r\n};\r\n\r\nexport const disableBodyScroll = (targetElement, options) => {\r\n // targetElement must be provided\r\n if (!targetElement) {\r\n // eslint-disable-next-line no-console\r\n console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');\r\n return;\r\n }\r\n\r\n // disableBodyScroll must not have been called on this targetElement before\r\n if (locks.some(lock => lock.targetElement === targetElement)) {\r\n return;\r\n }\r\n\r\n const lock = {\r\n targetElement,\r\n options: options || {}\r\n };\r\n\r\n locks = [...locks, lock];\r\n\r\n if (isIosDevice) {\r\n setPositionFixed();\r\n } else {\r\n setOverflowHidden(options);\r\n }\r\n\r\n if (isIosDevice) {\r\n targetElement.ontouchstart = event => {\r\n if (event.targetTouches.length === 1) {\r\n // detect single touch.\r\n initialClientY = event.targetTouches[0].clientY;\r\n }\r\n };\r\n targetElement.ontouchmove = event => {\r\n if (event.targetTouches.length === 1) {\r\n // detect single touch.\r\n handleScroll(event, targetElement);\r\n }\r\n };\r\n\r\n if (!documentListenerAdded) {\r\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\r\n documentListenerAdded = true;\r\n }\r\n }\r\n};\r\n\r\nexport const clearAllBodyScrollLocks = () => {\r\n if (isIosDevice) {\r\n // Clear all locks ontouchstart/ontouchmove handlers, and the references.\r\n locks.forEach(lock => {\r\n lock.targetElement.ontouchstart = null;\r\n lock.targetElement.ontouchmove = null;\r\n });\r\n\r\n if (documentListenerAdded) {\r\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\r\n documentListenerAdded = false;\r\n }\r\n\r\n // Reset initial clientY.\r\n initialClientY = -1;\r\n }\r\n\r\n if (isIosDevice) {\r\n restorePositionSetting();\r\n } else {\r\n restoreOverflowSetting();\r\n }\r\n\r\n locks = [];\r\n};\r\n\r\nexport const enableBodyScroll = targetElement => {\r\n if (!targetElement) {\r\n // eslint-disable-next-line no-console\r\n console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');\r\n return;\r\n }\r\n\r\n locks = locks.filter(lock => lock.targetElement !== targetElement);\r\n\r\n if (isIosDevice) {\r\n targetElement.ontouchstart = null;\r\n targetElement.ontouchmove = null;\r\n\r\n if (documentListenerAdded && locks.length === 0) {\r\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\r\n documentListenerAdded = false;\r\n }\r\n }\r\n\r\n if (isIosDevice) {\r\n restorePositionSetting();\r\n } else {\r\n restoreOverflowSetting();\r\n }\r\n};\r\n","import { nextTick, onMounted, ref, watch, computed, inject, onBeforeUnmount } from \"vue\";\r\nimport { useStore } from \"vuex\";\r\nimport ChatMenu from \"../ChatMenu/ChatMenu\"\r\nimport ChatFeedback from \"../ChatFeedback/ChatFeedback\"\r\nimport ChatConnectionError from \"../ChatConnectionError/ChatConnectionError\"\r\nimport { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'foundation/js/utils/bodyScrollLock';\r\nexport default {\r\n name: \"ChatWindow\",\r\n components: {\r\n ChatMenu,\r\n ChatFeedback,\r\n ChatConnectionError\r\n },\r\n props: {\r\n initialMessage: {\r\n type: String,\r\n default: \"\",\r\n }\r\n },\r\n setup() {\r\n const store = useStore();\r\n const menuIsOpen = ref(false);\r\n const messageContainer = ref(undefined)\r\n const windowWidth = ref(undefined)\r\n const windowHeight = ref(undefined)\r\n const chatWindowContent = ref(undefined)\r\n const handleKeydown = inject('handleKeydown');\r\n function getLabel(label) {\r\n const returnLabel = store.state.chatPanel.labels[label];\r\n if (!returnLabel) console.error(\"Label does not exist\", label);\r\n return returnLabel ? returnLabel : `[${label}]`;\r\n }\r\n\r\n function endConversation() {\r\n menuIsOpen.value = false\r\n if (store.getters[\"chatPanel/isConversationOngoing\"] && !store.state.chatPanel.showFeedback) {\r\n store.dispatch(\"chatPanel/showFeedback\", true);\r\n }\r\n else if (store.getters[\"chatPanel/isConversationOngoing\"]) {\r\n store.dispatch(\"chatPanel/resetChat\");\r\n }\r\n else {\r\n store.commit(\"chatPanel/reset_chat_client_state\");\r\n }\r\n }\r\n\r\n function minimizeChatWindow() {\r\n store.commit(\"chatPanel/set_chat_window_open\", false);\r\n }\r\n\r\n function openMenu() {\r\n menuIsOpen.value = true;\r\n }\r\n\r\n function closeMenu() {\r\n menuIsOpen.value = false;\r\n }\r\n\r\n function navigateBack() {\r\n if (menuIsOpen.value) {\r\n menuIsOpen.value = false;\r\n }\r\n else if (store.state.chatPanel.showFeedback) {\r\n store.dispatch(\"chatPanel/showFeedback\", false);\r\n }\r\n }\r\n\r\n const showFeedback = computed(() => {\r\n return store.state.chatPanel.showFeedback;\r\n })\r\n\r\n const showConnectionError = computed(() => {\r\n return store.state.chatPanel.connectionError && !menuIsOpen.value\r\n })\r\n\r\n async function scrollToLastMessage() {\r\n await nextTick();\r\n if (messageContainer.value) {\r\n const lastMessage = messageContainer.value.lastElementChild;\r\n if (!lastMessage) return;\r\n chatWindowContent.value.scrollTo({\r\n top: lastMessage.offsetTop,\r\n behavior: 'smooth'\r\n });\r\n }\r\n }\r\n\r\n const isAwaitingResponse = computed(() => {\r\n return store.state.chatPanel.isAwaitingResponse;\r\n });\r\n \r\n const chatIsShown = computed(() => {\r\n return !menuIsOpen.value && !showFeedback.value && !showConnectionError.value\r\n })\r\n\r\n watch(() => [store.state.chatPanel.messages, isAwaitingResponse.value, chatIsShown.value], () => {\r\n if (chatIsShown.value) {\r\n scrollToLastMessage()\r\n }\r\n });\r\n\r\n function toggleBodyScrollLock() {\r\n const chatWindowOpen = store.state.chatPanel.chatWindowOpen;\r\n if (chatWindowOpen && (windowWidth.value < 1240 && windowHeight.value < 680) || (windowWidth.value < 905)) {\r\n disableBodyScroll(chatWindowContent.value)\r\n }\r\n else {\r\n enableBodyScroll(chatWindowContent.value)\r\n }\r\n }\r\n\r\n watch(() => [windowWidth.value, windowHeight.value], () => {\r\n toggleBodyScrollLock()\r\n });\r\n\r\n watch(() => store.state.chatPanel.chatWindowOpen, () => {\r\n toggleBodyScrollLock()\r\n });\r\n\r\n const handleResize = () => {\r\n windowWidth.value = window.innerWidth;\r\n windowHeight.value = window.innerHeight;\r\n };\r\n\r\n function addHandleResizeEventListener() {\r\n window.addEventListener('resize', handleResize);\r\n handleResize();\r\n }\r\n\r\n function resumeOrStartConversation() {\r\n const sessionStorageChatPanelConversation = sessionStorage.getItem('chatPanelConversation');\r\n if (!sessionStorageChatPanelConversation) {\r\n store.dispatch(\"chatPanel/startConversation\");\r\n return true\r\n }\r\n else if (!store.state.chatPanel.conversation?.id) {\r\n store.dispatch(\"chatPanel/resumeConversation\")\r\n }\r\n }\r\n\r\n const chatWindowActive = computed(() => {\r\n return !showFeedback.value && !showConnectionError.value && !menuIsOpen.value\r\n })\r\n\r\n const showMenuButton = computed(() => {\r\n return !menuIsOpen.value && !showFeedback.value\r\n })\r\n\r\n const showBackButton = computed(() => {\r\n const feedbackStep = store.state.chatPanel.feedbackStep\r\n if (feedbackStep === 'ChatFeedbackPhoneNumber' || feedbackStep === 'ChatFeedbackReview') {\r\n return false\r\n }\r\n return true\r\n })\r\n\r\n const currentStep = computed(() => {\r\n return store.state.chatPanel.feedbackStep\r\n })\r\n\r\n onMounted(() => {\r\n addHandleResizeEventListener()\r\n resumeOrStartConversation()\r\n scrollToLastMessage()\r\n });\r\n\r\n onBeforeUnmount(() => {\r\n enableBodyScroll(chatWindowContent.value)\r\n })\r\n\r\n return {\r\n currentStep,\r\n handleKeydown,\r\n chatIsShown,\r\n chatWindowActive,\r\n chatWindowContent,\r\n showMenuButton,\r\n showBackButton,\r\n openMenu,\r\n showConnectionError,\r\n navigateBack,\r\n closeMenu,\r\n getLabel,\r\n showFeedback,\r\n messageContainer,\r\n menuIsOpen,\r\n endConversation,\r\n minimizeChatWindow,\r\n };\r\n },\r\n};\r\n","/**\r\n * Types out given texts one character at a time into corresponding button's text content.\r\n * \r\n * @async\r\n * @function typeLine\r\n * @param {HTMLElement[]} buttonTexts - Array of button elements whose text content will be updated.\r\n * @param {string[]} texts - Array of texts to be typed out.\r\n * @param {Object[]} indices - Array of objects containing the current index of the text being typed.\r\n * @returns {Promise<void>}\r\n */\r\n\r\nimport {nextTick} from 'vue';\r\n\r\nasync function typeLine(buttonTexts, texts, indices) {\r\n await nextTick();\r\n for (let i = 0; i < buttonTexts.length; i++) {\r\n if (!buttonTexts[i].value) continue;\r\n\r\n if (indices[i].current < texts[i].length) {\r\n buttonTexts[i].value.textContent += texts[i].charAt(indices[i].current);\r\n indices[i].current++;\r\n const progress = indices[i].current / texts[i].length;\r\n setTimeout(() => typeLine(buttonTexts, texts, indices), getEaseDelay(progress));\r\n }\r\n }\r\n}\r\n\r\nexport default function startTypingAnimation(buttonTexts, texts) {\r\n const indices = texts.map(() => ({ current: 0 }));\r\n typeLine(buttonTexts, texts, indices);\r\n}\r\n\r\nfunction getEaseDelay(progress) {\r\n const minDelay = 50;\r\n const maxDelay = 100;\r\n return minDelay + (maxDelay - minDelay) * Math.pow(1 - progress, 2);\r\n}","import {\r\n computed,\r\n onMounted,\r\n onUnmounted,\r\n ref,\r\n watch,\r\n nextTick,\r\n provide,\r\n} from \"vue\";\r\nimport { useStore } from \"vuex\";\r\nimport ChatMessage from \"./ChatMessage/ChatMessage\";\r\nimport ChatWindow from \"./ChatWindow/ChatWindow\";\r\nimport debounce from \"foundation/js/debounce\";\r\nimport startTypingAnimation from \"foundation/js/typingAnimation\";\r\n\r\nexport default {\r\n name: \"ChatPanel\",\r\n components: {\r\n ChatWindow,\r\n ChatMessage,\r\n },\r\n props: {},\r\n setup() {\r\n const store = useStore();\r\n const message = ref(undefined);\r\n const buttonTextRef0 = ref(undefined);\r\n const buttonTextRef1 = ref(undefined);\r\n const chatInputRef = ref(null);\r\n const introChatButtonRef = ref(undefined);\r\n const chatWindowRef = ref(null);\r\n const isSendingMessage = ref(false);\r\n const windowScrolled = ref(false);\r\n const permanentlyCollapseStartChatButton = ref(false);\r\n const elementContainerRef = ref(undefined);\r\n\r\n function getLabel(label) {\r\n const returnLabel = store.state.chatPanel.labels[label];\r\n if (!returnLabel) console.error(\"Label does not exist\", label);\r\n return returnLabel ? returnLabel : `[${label}]`;\r\n }\r\n\r\n function openChatWindow() {\r\n store.commit(\"chatPanel/set_chat_window_open\", true);\r\n }\r\n\r\n const maxCharacters = computed(() => {\r\n return store.state.chatPanel.conversation?.maxInputChars ?? 110;\r\n });\r\n const chatWindowOpen = computed(() => {\r\n return store.state.chatPanel.chatWindowOpen;\r\n });\r\n\r\n const messages = computed(() => {\r\n const messages = store.state.chatPanel.messages;\r\n return messages ? messages : [];\r\n });\r\n\r\n const isAwaitingResponse = computed(() => {\r\n return store.state.chatPanel.isAwaitingResponse;\r\n });\r\n\r\n async function sendMessage() {\r\n if (sendMessageDisabled.value) return false;\r\n try {\r\n const newMessage = message.value;\r\n message.value = \"\";\r\n isSendingMessage.value = true;\r\n await store.dispatch(\"chatPanel/sendMessage\", newMessage);\r\n } finally {\r\n isSendingMessage.value = false;\r\n }\r\n }\r\n function messageAuthorIsUser(message) {\r\n if (!message || !message.source) return false;\r\n return message.source === \"client\";\r\n }\r\n\r\n function getMessageAuthorLabel(message) {\r\n if (!message || !message.source) return \"\";\r\n return message.source === \"bot\" && message.isHumanAgent\r\n ? store.state.chatPanel.labels[\"authorLabelCustomerService\"]\r\n : message.source === \"bot\"\r\n ? store.state.chatPanel.labels[\"authorLabelCustomerBot\"]\r\n : \"\";\r\n }\r\n\r\n function feedbackButtonIsActive(buttonValue, id) {\r\n const messageFeedback = store.state.chatPanel.messageFeedback.find(\r\n (message) => id === message.id\r\n );\r\n if (messageFeedback === undefined) return \"\";\r\n return messageFeedback.value === buttonValue ? true : false;\r\n }\r\n\r\n const isLoadingConversation = computed(() => {\r\n return store.state.chatPanel.isAwaitingResponse;\r\n });\r\n\r\n const menuOverlayShown = computed(() => {\r\n return (\r\n store.state.menu.searchOverlayShown ||\r\n store.state.menu.submenuOpen ||\r\n store.state.menu.otherSitesDropdownShown ||\r\n store.state.menu.languageDropdownShown ||\r\n store.state.menu.topLevelPagesDropdownShown\r\n );\r\n });\r\n\r\n const inputDisabled = computed(() => {\r\n return (\r\n store.state.chatPanel.connectionError ||\r\n store.getters[\"chatPanel/isConversationExpired\"]\r\n );\r\n });\r\n\r\n const sendMessageDisabled = computed(() => {\r\n return (\r\n isLoadingConversation.value ||\r\n !message.value ||\r\n message.value.length === 0\r\n );\r\n });\r\n\r\n function sendMessageFeedback(value, id) {\r\n store.dispatch(\"chatPanel/sendMessageFeedback\", {\r\n id: id,\r\n feedback: value,\r\n });\r\n }\r\n\r\n function setWindowScrolled() {\r\n windowScrolled.value = window.scrollY > 0;\r\n }\r\n\r\n const showCollapsedChatButton = computed(() => {\r\n if (permanentlyCollapseStartChatButton.value) return true;\r\n return windowScrolled.value;\r\n });\r\n\r\n function collapseStartChatButton() {\r\n permanentlyCollapseStartChatButton.value = true;\r\n }\r\n\r\n function handleFeedback(type, id) {\r\n let feedbackValue;\r\n if (type === \"positive\") {\r\n feedbackValue = feedbackButtonIsActive(\"positive\", id)\r\n ? \"remove-positive\"\r\n : \"positive\";\r\n } else if (type === \"negative\") {\r\n feedbackValue = feedbackButtonIsActive(\"negative\", id)\r\n ? \"remove-negative\"\r\n : \"negative\";\r\n }\r\n sendMessageFeedback(feedbackValue, id);\r\n }\r\n\r\n const chatExpired = computed(() => {\r\n return store.state.chatPanel.conversation?.state?.expired;\r\n });\r\n\r\n function showFeedbackButtons(message) {\r\n if (chatExpired || !message || !message.source) return false;\r\n return message.source !== \"client\" && message.source !== \"system\";\r\n }\r\n\r\n function addScrollEventListener() {\r\n window.addEventListener(\r\n \"scroll\",\r\n debounce(() => {\r\n setWindowScrolled();\r\n }, 10)\r\n );\r\n setWindowScrolled();\r\n }\r\n\r\n function removeScrollEventListener() {\r\n window.removeEventListener(\r\n \"scroll\",\r\n debounce(() => {\r\n setWindowScrolled();\r\n }, 10)\r\n );\r\n }\r\n\r\n watch(chatWindowOpen, async (opened) => {\r\n if (opened) {\r\n await nextTick();\r\n chatInputRef.value.focus();\r\n }\r\n });\r\n\r\n // Navigation loops\r\n const handleLoopTrap = (e, forward) => {\r\n const first = chatWindowRef.value.$el.querySelector(\r\n '[data-order=\"first\"]'\r\n );\r\n const last = chatWindowRef.value.$el.querySelector('[data-order=\"last\"]');\r\n if (forward) {\r\n e.preventDefault();\r\n first?.focus();\r\n } else if (!forward) {\r\n e.preventDefault();\r\n last?.focus();\r\n }\r\n };\r\n\r\n const handleKeydown = (e) => {\r\n const current = e.target;\r\n const order = current.dataset.order;\r\n if (e.key === \"Tab\") {\r\n if (order === \"last\") {\r\n if (e.shiftKey) {\r\n return false;\r\n } else {\r\n handleLoopTrap(e, true);\r\n }\r\n } else if (order === \"first\") {\r\n if (e.shiftKey) {\r\n handleLoopTrap(e, false);\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n if (e.key === \"Enter\") {\r\n sendMessage();\r\n }\r\n };\r\n\r\n provide(\"handleKeydown\", handleKeydown);\r\n\r\n onMounted(() => {\r\n addScrollEventListener();\r\n addConversationIdBroadcastChannel();\r\n startAnimation();\r\n });\r\n\r\n onUnmounted(() => {\r\n removeScrollEventListener();\r\n });\r\n\r\n function addConversationIdBroadcastChannel() {\r\n const bc = new BroadcastChannel(\"nyk-chat-conversation-id\");\r\n bc.onmessage = (e) => {\r\n if (e.data === \"loadChatConversionSessionId\") {\r\n // Prepare session data to share\r\n const chatPanelConversation = sessionStorage.getItem(\r\n \"chatPanelConversation\"\r\n );\r\n\r\n // Only broadcast if sessionData is not empty\r\n if (chatPanelConversation) {\r\n bc.postMessage({ chatPanelConversation });\r\n }\r\n } else if (e.data === \"deleteChatConversation\") {\r\n // Chat session has been deleted in another tab\r\n sessionStorage.removeItem(\"chatPanelConversation\");\r\n store.dispatch(\"chatPanel/resetChat\");\r\n } else if (e.data.chatPanelConversation) {\r\n const newSessionStorageObject = JSON.parse(\r\n e.data.chatPanelConversation\r\n );\r\n const mergedSessionStorageObject = mergeSessionStorageObject(\r\n newSessionStorageObject\r\n );\r\n const sessionData = JSON.stringify(mergedSessionStorageObject);\r\n\r\n // Update sessionStorage with received session data\r\n sessionStorage.setItem(\"chatPanelConversation\", sessionData);\r\n // If the chat window was open before or if it has never been close, open it\r\n if (mergedSessionStorageObject.windowOpen) {\r\n openChatWindow();\r\n }\r\n }\r\n };\r\n\r\n // Request session data from other tabs\r\n bc.postMessage(\"loadChatConversionSessionId\");\r\n }\r\n\r\n function mergeSessionStorageObject(newSessionStorageObject) {\r\n const currentSession = sessionStorage.getItem(\"chatPanelConversation\");\r\n const currentSessionStorageObject = currentSession\r\n ? JSON.parse(currentSession)\r\n : {};\r\n // Keep current state of windowOpen\r\n newSessionStorageObject.windowOpen =\r\n currentSessionStorageObject.windowOpen ?? false;\r\n return newSessionStorageObject;\r\n }\r\n\r\n function startAnimation() {\r\n const chatButtonText1 = getLabel(\"startChatButtonText1\");\r\n const chatButtonText2 = getLabel(\"startChatButtonText2\");\r\n watch(\r\n buttonTextRef0,\r\n (newVal) => {\r\n if (newVal) {\r\n startTypingAnimation(\r\n [buttonTextRef0, buttonTextRef1],\r\n [chatButtonText1, chatButtonText2]\r\n );\r\n }\r\n },\r\n { immediate: true }\r\n );\r\n }\r\n\r\n return {\r\n handleKeydown,\r\n menuOverlayShown,\r\n elementContainerRef,\r\n inputDisabled,\r\n showCollapsedChatButton,\r\n collapseStartChatButton,\r\n feedbackButtonIsActive,\r\n chatInputRef,\r\n buttonTextRef0,\r\n buttonTextRef1,\r\n handleFeedback,\r\n chatWindowOpen,\r\n isAwaitingResponse,\r\n showFeedbackButtons,\r\n messageAuthorIsUser,\r\n maxCharacters,\r\n openChatWindow,\r\n sendMessage,\r\n isSendingMessage,\r\n getMessageAuthorLabel,\r\n introChatButtonRef,\r\n isLoadingConversation,\r\n sendMessageDisabled,\r\n message,\r\n chatWindowRef,\r\n messages,\r\n };\r\n },\r\n};\r\n","import { render } from \"./ChatWindow.vue?vue&type=template&id=e4fd0310\"\nimport script from \"./ChatWindow.vue?vue&type=script&lang=js\"\nexport * from \"./ChatWindow.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import {ref, onMounted, watch, onUnmounted} from \"vue\";\r\nimport { useStore } from \"vuex\";\r\nimport startTypingAnimation from \"foundation/js/typingAnimation\";\r\n\r\nexport default {\r\n name: 'ChatPanelFloatingTrigger',\r\n props: {\r\n chatPanelActionId: {\r\n type: String,\r\n required: true\r\n },\r\n floatingTriggerText: {\r\n type: Object,\r\n required: true\r\n }\r\n },\r\n setup(props) {\r\n const store = useStore();\r\n const buttonTextRef0 = ref(undefined);\r\n const buttonTextRef1 = ref(undefined);\r\n const triggerElementRef = ref(null)\r\n const animationFinished = ref(false)\r\n function initActionId() {\r\n store.dispatch(\"chatPanel/openChatAndHandleActionId\", props.chatPanelActionId)\r\n }\r\n\r\n const handleIntersection = (entries) => {\r\n entries.forEach(entry => {\r\n if (entry.isIntersecting && !animationFinished.value) {\r\n animationFinished.value = true;\r\n startAnimation()\r\n }\r\n });\r\n };\r\n\r\n onMounted(() => {\r\n const observer = new IntersectionObserver(handleIntersection, {\r\n threshold: 0.5\r\n });\r\n \r\n if (triggerElementRef.value) {\r\n observer.observe(triggerElementRef.value);\r\n }\r\n \r\n });\r\n \r\n onUnmounted(() => {\r\n if (triggerElementRef.value) {\r\n observer.unobserve(triggerElementRef.value);\r\n }\r\n });\r\n\r\n function startAnimation() {\r\n const chatButtonText1 = props.floatingTriggerText.text1;\r\n const chatButtonText2 = props.floatingTriggerText.text2;\r\n watch(\r\n buttonTextRef0,\r\n (newVal) => {\r\n if (newVal) {\r\n startTypingAnimation(\r\n [buttonTextRef0, buttonTextRef1],\r\n [chatButtonText1, chatButtonText2]\r\n );\r\n }\r\n },\r\n { immediate: true }\r\n );\r\n }\r\n\r\n return {\r\n triggerElementRef,\r\n buttonTextRef0,\r\n buttonTextRef1,\r\n initActionId\r\n }\r\n }\r\n}","export default function (input) {\r\n const value = input.replace(\"-\", \"\")\r\n const validator = new RegExp(\"^(0[1-9]|[12][0-9]|3[01])(0[1-9]|1[0-2])[0-9]{6}$\")\r\n return validator.test(value)\r\n}\r\n","import { registerGtmDataLayer } from '../../../../../Features/Blocks/Video/gtmDataLayerService';\r\nexport default async function (body, url) {\r\n let status = null\r\n const response = await fetch(url, {\r\n method: \"POST\",\r\n body: JSON.stringify(body),\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => {\r\n status = res.status\r\n if (res.ok) {\r\n return res.json()\r\n } else {\r\n throw new Error(\"Signup to get contacted didn't work\")\r\n }\r\n })\r\n .then((res) => {\r\n return res\r\n })\r\n .catch((err) => {\r\n console.error(err)\r\n return err\r\n })\r\n\r\n if (response && response.name && response.email && response.hash && response.tealiumEnvironment) {\r\n let dataLayer = {\r\n 'event': 'track-immeo.newsletter',\r\n 'tealium_visitor_id': `${response.tealiumEnvironment}_${response.hash}`,\r\n 'payload': {\r\n 'user_firstname': response.name,\r\n 'user_lastname': response.lastname,\r\n 'user_email': response.email,\r\n 'user_phone': response.phonenumber,\r\n 'user_hashed_email_firstname': response.hash,\r\n 'user_hashed_email_firstname_is_present': 'true'\r\n }\r\n };\r\n\r\n registerGtmDataLayer(dataLayer);\r\n }\r\n return {\r\n response: response,\r\n status: status,\r\n }\r\n}\r\n","<script>\r\nimport options from \"./ContactStepContent.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-signup-step nyk-contact-step-content\">\r\n <div aria-live=\"polite\" class=\"nyk-signup-step__content\" :class=\"contentClassnames\">\r\n <div class=\"nyk-signup-step__content__section--66-width nyk-signup-step__content__section--full-width-mobile\">\r\n <div class=\"nyk-signup-step__header\">\r\n <h2 class=\"nyk-signup-step__title\">{{ currentStepTexts.title }}</h2>\r\n <p class=\"nyk-signup-step__stepcounter\">Step {{ stepCounterText }}</p>\r\n </div>\r\n\r\n <div class=\"nyk-contact-step-content__is-customer\">\r\n <div class=\"nyk-contact-step-content__is-customer__content\">\r\n <p class=\"nyk-contact-step-content__is-customer__content__question\">\r\n {{ labels.alreadyCustomer }}\r\n </p>\r\n <div class=\"nyk-contact-step-content__is-customer__content__inputs\">\r\n <div class=\"nyk-signup-step__radio\">\r\n <input\r\n type=\"radio\"\r\n name=\"isCustomer\"\r\n id=\"isCustomer-yes\"\r\n class=\"nyk-signup-step__radio__input\"\r\n :checked=\"isCustomerInput === true\"\r\n v-on:change=\"() => handleIsCustomerInput(true)\" />\r\n <span class=\"nyk-signup-step__radio__checkmark\"></span>\r\n <label class=\"nyk-signup-step__radio__label\" for=\"isCustomer-yes\">Ja</label>\r\n </div>\r\n <div class=\"nyk-signup-step__radio\">\r\n <input\r\n type=\"radio\"\r\n name=\"isCustomer\"\r\n id=\"isCustomer-no\"\r\n class=\"nyk-signup-step__radio__input\"\r\n :checked=\"isCustomerInput === false\"\r\n v-on:change=\"() => handleIsCustomerInput(false)\" />\r\n <span class=\"nyk-signup-step__radio__checkmark\"></span>\r\n <label class=\"nyk-signup-step__radio__label\" for=\"isCustomer-no\">Nej</label>\r\n </div>\r\n </div>\r\n </div>\r\n <p class=\"nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('isCustomer')\">\r\n {{ labels.alreadyCustomerErrorMessage ?? 'Besvar venligst om du er kunde i Nykredit' }}\r\n </template>\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-signup-step__content__section--33-width nyk-signup-step__summary\" v-html=\"currentStepTexts.summary\"></div>\r\n\r\n <div\r\n class=\"nyk-contact-step-onboarding-content__inputs nyk-signup-step__content__section--66-width nyk-signup-step__content__section--full-width-mobile\">\r\n <div\r\n class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--firstname\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"labels.firstName ?? 'Fornavn'\"\r\n v-model=\"firstNameInput\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'firstname', value: firstNameInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('firstname')\">\r\n {{ labels.firstnameErrorMessage ?? 'Indtast venligst et fornavn' }}\r\n </template>\r\n </p>\r\n </div>\r\n <div\r\n class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--lastname\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"labels.lastName ?? 'Efternavn'\"\r\n v-model=\"lastNameInput\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'lastname', value: lastNameInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('lastname')\">\r\n {{ labels.lastnameErrorMessage ?? 'Indtast venligst et efternavn' }}\r\n </template>\r\n </p>\r\n </div>\r\n <div class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--phone\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n maxlength=\"11\"\r\n :placeholder=\"labels.phone ?? 'Telefon'\"\r\n v-model=\"phoneInput\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'phone', value: phoneInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('phone')\">\r\n {{ labels.phoneErrorMessage ?? 'Indtast venligst et telefonnummer' }}\r\n </template>\r\n </p>\r\n </div>\r\n <div class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--email\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"labels.email ?? 'E-mail'\"\r\n v-model=\"emailInput\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'email', value: emailInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('email')\">\r\n {{ labels.emailErrorMessage ?? 'Indtast venligst en email adresse' }}\r\n </template>\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <template v-if=\"showCPR\">\r\n <div class=\"nyk-signup-step__content__section--33-width nyk-signup-step__content__section--full-width-mobile\">\r\n <div class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--cpr\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n maxlength=\"11\"\r\n :placeholder=\"labels.cpr ?? 'CPR-nummer'\"\r\n v-model=\"cprInput\"\r\n v-on:input=\"cprFormatting\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'cpr', value: cprInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('cpr')\"> \r\n {{ labels.cprErrorMessage ?? 'Indtast venligst et cpr-nummer' }}\r\n </template>\r\n </p>\r\n </div>\r\n </div>\r\n </template>\r\n\r\n <div class=\"nyk-signup-step__summary nyk-signup-step__summary--mobile\" v-html=\"currentStepTexts.summary\"></div>\r\n\r\n <div class=\"nyk-signup-step__mt-auto nyk-signup-step__content__section--full-width\">\r\n <SignupStepActions\r\n :previousStepCallback=\"previousStepCallback\"\r\n :nextStepCallback=\"\r\n () =>\r\n nextStepCallback([\r\n { field: 'firstname', value: firstNameInput },\r\n { field: 'lastname', value: lastNameInput },\r\n { field: 'email', value: emailInput },\r\n { field: 'phone', value: phoneInput },\r\n { field: 'isCustomer', value: isCustomerInput },\r\n { field: 'cpr', value: cprInput },\r\n ])\r\n \"\r\n :nextStepButtonText=\"currentStepTexts.next\"\r\n :stepCounterText=\"stepCounterText\"\r\n :hasPreviousStep=\"hasPreviousStep\" />\r\n </div>\r\n </div>\r\n </article>\r\n</template>\r\n","import { ref, onMounted } from \"vue\"\r\nimport _signupStepsCommonProps from \"../../foundation/js/configurations/_signupStepsCommonProps\"\r\nimport SignupStepActions from \"../../../../Features/Blocks/Newsletters/NewslettersSignup/SignupStepActions/SignupStepActions.vue\"\r\nimport { cprFormatting } from \"../../foundation/js/form-methods.js\"\r\n\r\nexport default {\r\n name: \"ContactStepContent\",\r\n props: _signupStepsCommonProps,\r\n components: {\r\n SignupStepActions,\r\n },\r\n setup(props) {\r\n const firstNameInput = ref(props.getNamedFieldInputData.firstname)\r\n const lastNameInput = ref(props.getNamedFieldInputData.lastname)\r\n const emailInput = ref(props.getNamedFieldInputData.email)\r\n const phoneInput = ref(props.getNamedFieldInputData.phone)\r\n const isCustomerInput = ref(props.getNamedFieldInputData.isCustomer)\r\n const showCPR = ref(props.getNamedFieldInputData.isCustomer ?? false)\r\n const cprInput = ref(props.getNamedFieldInputData.cpr)\r\n const contentClassnames = ref(\"nyk-signup-step__content--animation\")\r\n\r\n onMounted(() => {\r\n setTimeout(() => {\r\n contentClassnames.value = \"\"\r\n }, 1250)\r\n })\r\n\r\n const handleIsCustomerInput = (bool) => {\r\n isCustomerInput.value = bool\r\n showCPR.value = bool\r\n }\r\n\r\n return {\r\n firstNameInput,\r\n lastNameInput,\r\n emailInput,\r\n phoneInput,\r\n isCustomerInput,\r\n handleIsCustomerInput,\r\n showCPR,\r\n cprInput,\r\n cprFormatting,\r\n contentClassnames,\r\n }\r\n },\r\n}\r\n","import { render } from \"./ContactStepContent.vue?vue&type=template&id=598152d8\"\nimport script from \"./ContactStepContent.vue?vue&type=script&lang=js\"\nexport * from \"./ContactStepContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { computed, ref } from \"vue\"\r\nimport emailValidator from \"../../foundation/js/inputValidators/emailValidator\"\r\nimport notEmptyInput from \"../../foundation/js/inputValidators/notEmptyInput\"\r\nimport phoneValidator from \"../../foundation/js/inputValidators/phoneValidator\"\r\nimport isBoolean from \"../../foundation/js/inputValidators/isBoolean\"\r\nimport cprValidator from \"../../foundation/js/inputValidators/cprValidator\"\r\nimport getContactedSubmit from \"../../foundation/js/signupFlows/getContactedSubmit\"\r\nimport getGeneralComputedValues from \"../../foundation/js/signupFlows/getGeneralComputedValues\"\r\nimport handleValidateInputAndProceed from \"../../foundation/js/signupFlows/handleValidateInputAndProceed\"\r\n\r\nimport SignupStepReceipt from \"../../../../Features/Blocks/Newsletters/NewslettersSignup/SignupStepReceipt/SignupStepReceipt.vue\"\r\nimport ContactStepIntro from \"../ContactStepIntro/ContactStepIntro.vue\"\r\nimport ContactStepContent from \"../ContactStepContent/ContactStepContent.vue\"\r\nimport ContactStepComments from \"../ContactStepComments/ContactStepComments.vue\"\r\n\r\nexport default {\r\n name: \"ContactCard\",\r\n components: {\r\n ContactStepIntro,\r\n ContactStepContent,\r\n ContactStepComments,\r\n SignupStepReceipt,\r\n },\r\n props: {\r\n labels: {\r\n type: Object,\r\n required: true,\r\n },\r\n formId: {\r\n type: String,\r\n required: true,\r\n },\r\n apiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n newsletterApiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n newsletters: {\r\n type: Array,\r\n required: false,\r\n default: () => [],\r\n },\r\n alignIntroImageRight: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n skipFirstStep: {\r\n type: Boolean,\r\n required: false,\r\n default: false\r\n },\r\n imageSource: {\r\n type: String,\r\n required: true,\r\n },\r\n imageAltText: {\r\n type: String,\r\n required: false,\r\n },\r\n backgroundColor: {\r\n type: String,\r\n required: false,\r\n default: null,\r\n },\r\n assignTo: {\r\n type: String,\r\n required: true,\r\n },\r\n enableUserTrack: {\r\n type: Boolean,\r\n default: false,\r\n required: false\r\n },\r\n anchorId: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n setup(props) {\r\n const bgColorClassName = computed(() => {\r\n return props.backgroundColor ? `nyk-contact-card--${props.backgroundColor}` : \"\"\r\n })\r\n\r\n const imagePosClassName = computed(() => {\r\n return props.alignIntroImageRight ? \"nyk-contact-card--image-right\" : \"\"\r\n })\r\n\r\n const contactCardClassNames = computed(() => {\r\n return `${bgColorClassName.value} ${imagePosClassName.value}`\r\n })\r\n\r\n const notRequiredInput = (input) => {\r\n return true\r\n }\r\n\r\n const onlyIfCustomer = (input) => {\r\n if (userInput.value.find((field) => field.field === \"isCustomer\").value) {\r\n return cprValidator(input)\r\n } else {\r\n return true\r\n }\r\n }\r\n\r\n // this object contains the entire set of inputs available for the complete form.\r\n const userInput = ref([\r\n {\r\n field: \"firstname\",\r\n value: \"\",\r\n validator: notEmptyInput,\r\n isValid: false,\r\n },\r\n {\r\n field: \"lastname\",\r\n value: \"\",\r\n validator: notEmptyInput,\r\n isValid: false,\r\n },\r\n {\r\n field: \"email\",\r\n value: \"\", // you can prefill the inputfield by adding a value here.\r\n validator: emailValidator,\r\n isValid: false,\r\n },\r\n {\r\n field: \"phone\",\r\n value: \"\", // you can prefill the inputfield by adding a value here.\r\n validator: phoneValidator,\r\n isValid: false,\r\n },\r\n {\r\n field: \"cpr\",\r\n value: \"\",\r\n validator: onlyIfCustomer, // should only be validated if the user is a customer\r\n isValid: false, // is valid as empty string if the user is not a customer\r\n },\r\n {\r\n field: \"isCustomer\",\r\n value: null,\r\n validator: isBoolean,\r\n isValid: false,\r\n },\r\n {\r\n field: \"comment\",\r\n value: \"\", // you can prefill the inputfield by adding a value here.\r\n validator: notRequiredInput,\r\n isValid: false,\r\n },\r\n ])\r\n\r\n // this object contains stepinformation.\r\n // all steps are described here\r\n let stepsConfigAndOrder = ref([\r\n {\r\n step: 0,\r\n name: \"ContactStepIntro\",\r\n completed: props.skipFirstStep,\r\n isCountableStep: false,\r\n texts: {\r\n title: props.labels.title,\r\n summary: props.labels.introSummary,\r\n next: props.labels.nextButtonText,\r\n },\r\n },\r\n {\r\n step: 1,\r\n name: \"ContactStepContent\",\r\n completed: false,\r\n isCountableStep: true,\r\n texts: {\r\n title: props.labels.title,\r\n summary: props.labels.summary,\r\n next: props.labels.nextButtonText\r\n },\r\n },\r\n {\r\n step: 2,\r\n name: \"ContactStepComments\",\r\n completed: false,\r\n isCountableStep: true,\r\n texts: {\r\n title: props.labels.title,\r\n next: props.labels.nextButtonText\r\n },\r\n },\r\n {\r\n step: 3,\r\n name: \"SignupStepReceipt\",\r\n completed: false,\r\n isCountableStep: false,\r\n texts: {\r\n title: props.labels.receiptTitle,\r\n summary: props.labels.signupStepReceipt,\r\n },\r\n },\r\n ])\r\n\r\n const displayInputError = ref(false)\r\n const {\r\n getNamedFieldInputData,\r\n resetSignupForm,\r\n currentStepName,\r\n currentStepTexts,\r\n hasPreviousStep,\r\n stepCounterText,\r\n showFieldErrorMessage,\r\n returnToPreviousStep,\r\n currentStepNumber,\r\n } = getGeneralComputedValues(userInput.value, stepsConfigAndOrder.value, props.labels)\r\n\r\n const currentStep = currentStepNumber?.value\r\n\r\n const validateInputAndProceed = function (inputData) {\r\n const validSuccess = handleValidateInputAndProceed(\r\n inputData,\r\n userInput.value,\r\n stepsConfigAndOrder.value,\r\n currentStepName.value,\r\n submitData\r\n )\r\n\r\n displayInputError.value = validSuccess\r\n }\r\n\r\n const submitData = async function (inputData) {\r\n const body = {\r\n formIdentifier: props.formId,\r\n firstName: inputData.find((field) => field.field === \"firstname\").value,\r\n lastName: inputData.find((field) => field.field === \"lastname\").value,\r\n email: inputData.find((field) => field.field === \"email\").value,\r\n phone: inputData.find((field) => field.field === \"phone\").value,\r\n comment: inputData.find((field) => field.field === \"comment\").value,\r\n isCustomer: inputData.find((field) => field.field === \"isCustomer\").value,\r\n assignTo: props.assignTo,\r\n enableUserTrack: props.enableUserTrack === \"true\"\r\n }\r\n\r\n if (inputData.find((field) => field.field === \"isCustomer\").value) {\r\n body.cxr = inputData.find((field) => field.field === \"cpr\").value\r\n }\r\n\r\n const response = await getContactedSubmit(body, props.apiUrl)\r\n }\r\n\r\n return {\r\n currentStepTexts,\r\n displayInputError,\r\n currentStepName,\r\n getNamedFieldInputData,\r\n validateInputAndProceed,\r\n stepCounterText,\r\n returnToPreviousStep,\r\n showFieldErrorMessage,\r\n hasPreviousStep,\r\n resetSignupForm,\r\n contactCardClassNames,\r\n currentStep,\r\n }\r\n },\r\n}\r\n","<script>\r\nimport options from \"./ContactCard.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-contact-card\" :id=\"anchorId\" :class=\"contactCardClassNames\">\r\n <component\r\n :is=\"currentStepName\"\r\n :nextStepCallback=\"validateInputAndProceed\"\r\n :previousStepCallback=\"returnToPreviousStep\"\r\n :displayInputError=\"displayInputError\"\r\n :currentStepTexts=\"currentStepTexts\"\r\n :hasPreviousStep=\"hasPreviousStep\"\r\n :resetSignupForm=\"resetSignupForm\"\r\n :getNamedFieldInputData=\"getNamedFieldInputData\"\r\n :showFieldErrorMessage=\"showFieldErrorMessage\"\r\n :stepCounterText=\"stepCounterText\"\r\n :imageSource=\"imageSource\"\r\n :imageAltText=\"imageAltText\"\r\n :labels=\"labels\" \r\n :currentStep=\"currentStep\"/>\r\n </article>\r\n</template>\r\n","import { render } from \"./ContactCard.vue?vue&type=template&id=78bdbc42\"\nimport script from \"./ContactCard.vue?vue&type=script&lang=js\"\nexport * from \"./ContactCard.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./ContactStepOnboardingContent.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-signup-step nyk-contact-step-onboarding-content\">\r\n <div aria-live=\"polite\" class=\"nyk-signup-step__content\" :class=\"contentClassnames\">\r\n <div class=\"nyk-signup-step__content__section--66-width nyk-signup-step__content__section--full-width-mobile\">\r\n <div class=\"nyk-signup-step__header\">\r\n <h2 class=\"nyk-signup-step__title\">{{ currentStepTexts.title }}</h2>\r\n <p class=\"nyk-signup-step__stepcounter\">Step {{ stepCounterText }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-signup-step__content__section--33-width nyk-signup-step__summary\" v-html=\"currentStepTexts.summary\"></div>\r\n\r\n <div\r\n class=\"nyk-contact-step-onboarding-content__inputs nyk-signup-step__content__section--66-width nyk-signup-step__content__section--full-width-mobile\">\r\n <div\r\n class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--firstname\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"labels.firstName ?? 'Fornavn'\"\r\n v-model=\"firstNameInput\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'firstname', value: firstNameInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('firstname')\">\r\n {{ labels.firstNameErrorMessage ?? 'Indtast venligst et fornavn' }}\r\n </template>\r\n </p>\r\n </div>\r\n <div\r\n class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--lastname\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"labels.lastName ?? 'Efternavn'\"\r\n v-model=\"lastNameInput\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'lastname', value: lastNameInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('lastname')\">\r\n {{ labels.lastnameErrorMessage ?? 'Indtast venligst et efternavn' }}\r\n </template>\r\n </p>\r\n </div>\r\n <div class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--phone\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n maxlength=\"11\"\r\n :placeholder=\"labels.phone ?? 'Telefon'\"\r\n v-model=\"phoneInput\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'phone', value: phoneInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('phone')\">\r\n {{ labels.phoneErrorMessage ?? 'Indtast venligst et telefonnummer' }}\r\n </template>\r\n </p>\r\n </div>\r\n <div class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--email\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n :placeholder=\"labels.email ?? 'E-mail'\"\r\n v-model=\"emailInput\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'email', value: emailInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('email')\">\r\n {{ labels.emailErrorMessage ?? 'Indtast venligst et email' }}\r\n </template>\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-signup-step__content__section--33-width nyk-signup-step__content__section--full-width-mobile\">\r\n <div class=\"nyk-contact-step-onboarding-content__inputs__input nyk-contact-step-onboarding-content__inputs__input--cpr\">\r\n <input\r\n class=\"nyk-signup-step__input\"\r\n maxlength=\"11\"\r\n :placeholder=\"labels.cpr ?? 'CPR-nummer'\"\r\n v-model=\"cprInput\"\r\n v-on:input=\"cprFormatting\"\r\n v-on:keyup.enter=\"nextStepCallback([{ field: 'cpr', value: cprInput }])\" />\r\n\r\n <p class=\"nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('cpr')\">\r\n {{ labels.cprErrorMessage ?? 'Indtast venligst et cpr-nummer' }}\r\n </template>\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"nyk-contact-step-onboarding-content__choices nyk-signup-step__content__section--66-width nyk-signup-step__content__section--full-width-mobile\">\r\n <div class=\"nyk-contact-step-onboarding-content__choice\">\r\n <p class=\"nyk-contact-step-onboarding-content__choice__question\">\r\n {{ labels.homeOwnerQuestion }}\r\n </p>\r\n <div class=\"nyk-contact-step-onboarding-content__choice__inputs\">\r\n <div class=\"nyk-signup-step__radio\">\r\n <input\r\n type=\"radio\"\r\n name=\"homeOwner\"\r\n id=\"homeOwner-yes\"\r\n class=\"nyk-signup-step__radio__input\"\r\n v-on:change=\"() => handleHomeOwnerInput(true)\" />\r\n <span class=\"nyk-signup-step__radio__checkmark\"></span>\r\n <label class=\"nyk-signup-step__radio__label\" for=\"homeOwner-yes\">Ja</label>\r\n </div>\r\n <div class=\"nyk-signup-step__radio\">\r\n <input\r\n type=\"radio\"\r\n name=\"homeOwner\"\r\n id=\"homeOwner-no\"\r\n class=\"nyk-signup-step__radio__input\"\r\n v-on:change=\"() => handleHomeOwnerInput(false)\" />\r\n <span class=\"nyk-signup-step__radio__checkmark\"></span>\r\n <label class=\"nyk-signup-step__radio__label\" for=\"homeOwner-no\">Nej</label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <p class=\"nyk-signup-step__content__section--full-width nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('homeOwner')\">\r\n {{ labels.homeOwnerErrorMessage ?? 'Besvar venligst ovenstÃ¥ende spørgsmÃ¥l' }}\r\n </template\r\n >\r\n </p>\r\n\r\n <div class=\"nyk-contact-step-onboarding-content__choice\">\r\n <div class=\"nyk-contact-step-onboarding-content__choice__tooltip-wrapper\">\r\n <p class=\"nyk-contact-step-onboarding-content__choice__question\">\r\n {{ labels.urgentAccountQuestion }}\r\n </p>\r\n <Tooltip :tooltip=\"labels.urgentAccountDescription\" tooltipName=\"\" />\r\n </div>\r\n\r\n <div class=\"nyk-contact-step-onboarding-content__choice__inputs\">\r\n <div class=\"nyk-signup-step__radio\">\r\n <input\r\n type=\"radio\"\r\n name=\"urgentAccount\"\r\n id=\"urgentAccount-yes\"\r\n class=\"nyk-signup-step__radio__input\"\r\n v-on:change=\"() => handleUrgentAccountInput(true)\" />\r\n <span class=\"nyk-signup-step__radio__checkmark\"></span>\r\n <label class=\"nyk-signup-step__radio__label\" for=\"urgentAccount-yes\">Ja</label>\r\n </div>\r\n <div class=\"nyk-signup-step__radio\">\r\n <input\r\n type=\"radio\"\r\n name=\"urgentAccount\"\r\n id=\"urgentAccount-no\"\r\n class=\"nyk-signup-step__radio__input\"\r\n v-on:change=\"() => handleUrgentAccountInput(false)\" />\r\n <span class=\"nyk-signup-step__radio__checkmark\"></span>\r\n <label class=\"nyk-signup-step__radio__label\" for=\"urgentAccount-no\">Nej</label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <p class=\"nyk-signup-step__content__section--full-width nyk-signup-step__input-error-msg\">\r\n <template v-if=\"displayInputError && showFieldErrorMessage('urgentAccount')\">\r\n {{ labels.urgentAccountErrorMessage ?? 'Besvar venligst ovenstÃ¥ende spørgsmÃ¥l' }}\r\n </template>\r\n </p>\r\n </div>\r\n\r\n <div class=\"nyk-signup-step__summary nyk-signup-step__summary--mobile\" v-html=\"currentStepTexts.summary\"></div>\r\n\r\n <div class=\"nyk-signup-step__mt-auto nyk-signup-step__content__section--full-width\">\r\n <SignupStepActions\r\n :previousStepCallback=\"previousStepCallback\"\r\n :nextStepCallback=\"\r\n () =>\r\n nextStepCallback([\r\n { field: 'firstname', value: firstNameInput },\r\n { field: 'lastname', value: lastNameInput },\r\n { field: 'email', value: emailInput },\r\n { field: 'phone', value: phoneInput },\r\n { field: 'homeOwner', value: homeOwnerInput },\r\n { field: 'urgentAccount', value: urgentAccountInput },\r\n { field: 'cpr', value: cprInput },\r\n ])\r\n \"\r\n :nextStepButtonText=\"currentStepTexts.next\"\r\n :stepCounterText=\"stepCounterText\"\r\n :hasPreviousStep=\"hasPreviousStep\" />\r\n </div>\r\n </div>\r\n </article>\r\n</template>\r\n","import { ref, onMounted } from \"vue\"\r\nimport _signupStepsCommonProps from \"../../foundation/js/configurations/_signupStepsCommonProps\"\r\nimport SignupStepActions from \"../../../../Features/Blocks/Newsletters/NewslettersSignup/SignupStepActions/SignupStepActions.vue\"\r\nimport Tooltip from \"../Tooltip/Tooltip.vue\"\r\nimport { cprFormatting } from \"../../foundation/js/form-methods.js\"\r\n\r\nexport default {\r\n name: \"ContactStepOnboardingContent\",\r\n props: _signupStepsCommonProps,\r\n components: {\r\n SignupStepActions,\r\n Tooltip,\r\n },\r\n setup(props) {\r\n const firstNameInput = ref(props.getNamedFieldInputData.firstname)\r\n const lastNameInput = ref(props.getNamedFieldInputData.lastname)\r\n const emailInput = ref(props.getNamedFieldInputData.email)\r\n const phoneInput = ref(props.getNamedFieldInputData.phone)\r\n const homeOwnerInput = ref(props.getNamedFieldInputData.homeOwner)\r\n const urgentAccountInput = ref(props.getNamedFieldInputData.urgentAccount)\r\n const contentClassnames = ref(\"nyk-signup-step__content--animation\")\r\n const cprInput = ref(props.getNamedFieldInputData.cpr)\r\n\r\n onMounted(() => {\r\n setTimeout(() => {\r\n contentClassnames.value = \"\"\r\n }, 1250)\r\n })\r\n\r\n const handleHomeOwnerInput = (bool) => {\r\n homeOwnerInput.value = bool\r\n }\r\n\r\n const handleUrgentAccountInput = (bool) => {\r\n urgentAccountInput.value = bool\r\n }\r\n\r\n return {\r\n firstNameInput,\r\n lastNameInput,\r\n emailInput,\r\n phoneInput,\r\n homeOwnerInput,\r\n cprInput,\r\n cprFormatting,\r\n urgentAccountInput,\r\n handleHomeOwnerInput,\r\n handleUrgentAccountInput,\r\n contentClassnames,\r\n }\r\n },\r\n}\r\n","import { computed, ref } from \"vue\"\r\nimport emailValidator from \"../../foundation/js/inputValidators/emailValidator\"\r\nimport notEmptyInput from \"../../foundation/js/inputValidators/notEmptyInput\"\r\nimport phoneValidator from \"../../foundation/js/inputValidators/phoneValidator\"\r\nimport isBoolean from \"../../foundation/js/inputValidators/isBoolean\"\r\nimport getContactedSubmit from \"../../foundation/js/signupFlows/getContactedSubmit\"\r\nimport getGeneralComputedValues from \"../../foundation/js/signupFlows/getGeneralComputedValues\"\r\nimport handleValidateInputAndProceed from \"../../foundation/js/signupFlows/handleValidateInputAndProceed\"\r\n\r\nimport SignupStepReceipt from \"../../../../Features/Blocks/Newsletters/NewslettersSignup/SignupStepReceipt/SignupStepReceipt.vue\"\r\nimport ContactStepIntro from \"../ContactStepIntro/ContactStepIntro.vue\"\r\nimport ContactStepOnboardingContent from \"../ContactStepOnboardingContent/ContactStepOnboardingContent.vue\"\r\nimport ContactStepComments from \"../ContactStepComments/ContactStepComments.vue\"\r\nimport cprValidator from \"../../foundation/js/inputValidators/cprValidator\"\r\n\r\nexport default {\r\n name: \"ContactCardOnboarding\",\r\n components: {\r\n ContactStepIntro,\r\n ContactStepOnboardingContent,\r\n ContactStepComments,\r\n SignupStepReceipt,\r\n },\r\n props: {\r\n labels: {\r\n type: Object,\r\n required: true,\r\n },\r\n formId: {\r\n type: String,\r\n required: true,\r\n },\r\n apiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n newsletterApiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n newsletters: {\r\n type: Array,\r\n required: false,\r\n default: () => [],\r\n },\r\n alignIntroImageRight: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n skipFirstStep: {\r\n type: Boolean,\r\n required: false,\r\n default: false\r\n },\r\n imageSource: {\r\n type: String,\r\n required: true,\r\n },\r\n imageAltText: {\r\n type: String,\r\n required: false,\r\n },\r\n backgroundColor: {\r\n type: String,\r\n required: false,\r\n default: null,\r\n },\r\n assignTo: {\r\n type: String,\r\n required: true,\r\n },\r\n enableUserTrack: {\r\n type: Boolean,\r\n default: false,\r\n required: false\r\n }\r\n },\r\n setup(props) {\r\n const bgColorClassName = computed(() => {\r\n return props.backgroundColor ? `nyk-contact-card--${props.backgroundColor}` : \"\"\r\n })\r\n\r\n const imagePosClassName = computed(() => {\r\n return props.alignIntroImageRight ? \"nyk-contact-card--image-right\" : \"\"\r\n })\r\n\r\n const contactCardClassNames = computed(() => {\r\n return `${bgColorClassName.value} ${imagePosClassName.value}`\r\n })\r\n\r\n const notRequiredInput = (input) => {\r\n return true\r\n }\r\n\r\n // this object contains the entire set of inputs available for the complete form.\r\n const userInput = ref([\r\n {\r\n field: \"firstname\",\r\n value: \"\",\r\n validator: notEmptyInput,\r\n isValid: false,\r\n },\r\n {\r\n field: \"lastname\",\r\n value: \"\",\r\n validator: notEmptyInput,\r\n isValid: false,\r\n },\r\n {\r\n field: \"email\",\r\n value: \"\", // you can prefill the inputfield by adding a value here.\r\n validator: emailValidator,\r\n isValid: false,\r\n },\r\n {\r\n field: \"phone\",\r\n value: \"\", // you can prefill the inputfield by adding a value here.\r\n validator: phoneValidator,\r\n isValid: false,\r\n },\r\n {\r\n field: \"homeOwner\",\r\n value: null, // you can prefill the inputfield by adding a value here.\r\n validator: isBoolean,\r\n isValid: false,\r\n },\r\n {\r\n field: \"urgentAccount\",\r\n value: null, // you can prefill the inputfield by adding a value here.\r\n validator: isBoolean,\r\n isValid: false,\r\n },\r\n {\r\n field: \"comment\",\r\n value: \"\", // you can prefill the inputfield by adding a value here.\r\n validator: notRequiredInput,\r\n isValid: false,\r\n },\r\n {\r\n field: \"cpr\",\r\n value: \"\",\r\n validator: cprValidator, // should only be validated if the user is a customer\r\n isValid: false, // is valid as empty string if the user is not a customer\r\n },\r\n ])\r\n\r\n // this object contains stepinformation.\r\n // all steps are described here\r\n let stepsConfigAndOrder = ref([\r\n {\r\n step: 0,\r\n name: \"ContactStepIntro\",\r\n completed: props.skipFirstStep,\r\n isCountableStep: false,\r\n texts: {\r\n title: props.labels.title,\r\n summary: props.labels.introSummary,\r\n next: props.labels.nextButtonText\r\n },\r\n },\r\n {\r\n step: 1,\r\n name: \"ContactStepOnboardingContent\",\r\n completed: false,\r\n isCountableStep: true,\r\n texts: {\r\n title: props.labels.title,\r\n summary: props.labels.summary,\r\n next: props.labels.nextButtonText\r\n },\r\n },\r\n {\r\n step: 2,\r\n name: \"ContactStepComments\",\r\n completed: false,\r\n isCountableStep: true,\r\n texts: {\r\n title: props.labels.title,\r\n next: props.labels.nextButtonText\r\n },\r\n },\r\n {\r\n step: 3,\r\n name: \"SignupStepReceipt\",\r\n completed: false,\r\n isCountableStep: false,\r\n texts: {\r\n title: props.labels.receiptTitle,\r\n summary: props.labels.receipt,\r\n },\r\n },\r\n ])\r\n\r\n const displayInputError = ref(false)\r\n\r\n const {\r\n getNamedFieldInputData,\r\n resetSignupForm,\r\n currentStepName,\r\n currentStepTexts,\r\n hasPreviousStep,\r\n stepCounterText,\r\n showFieldErrorMessage,\r\n returnToPreviousStep,\r\n } = getGeneralComputedValues(userInput.value, stepsConfigAndOrder.value)\r\n\r\n const validateInputAndProceed = function (inputData) {\r\n const validSuccess = handleValidateInputAndProceed(\r\n inputData,\r\n userInput.value,\r\n stepsConfigAndOrder.value,\r\n currentStepName.value,\r\n submitData\r\n )\r\n\r\n displayInputError.value = validSuccess\r\n }\r\n\r\n const submitData = async function (inputData) {\r\n const body = {\r\n formIdentifier: props.formId,\r\n firstName: inputData.find((field) => field.field === \"firstname\").value,\r\n lastName: inputData.find((field) => field.field === \"lastname\").value,\r\n email: inputData.find((field) => field.field === \"email\").value,\r\n phone: inputData.find((field) => field.field === \"phone\").value,\r\n comment: inputData.find((field) => field.field === \"comment\").value,\r\n homeOwner: inputData.find((field) => field.field === \"homeOwner\").value,\r\n urgentBasicBankAccount: inputData.find((field) => field.field === \"urgentAccount\").value,\r\n cpr: inputData.find((field) => field.field === \"cpr\").value,\r\n assignTo: props.assignTo,\r\n enableUserTrack: props.enableUserTrack\r\n }\r\n\r\n const response = await getContactedSubmit(body, props.apiUrl)\r\n }\r\n\r\n return {\r\n currentStepTexts,\r\n displayInputError,\r\n currentStepName,\r\n getNamedFieldInputData,\r\n validateInputAndProceed,\r\n stepCounterText,\r\n returnToPreviousStep,\r\n showFieldErrorMessage,\r\n hasPreviousStep,\r\n resetSignupForm,\r\n contactCardClassNames,\r\n }\r\n },\r\n}\r\n","import { render } from \"./ContactStepOnboardingContent.vue?vue&type=template&id=6399e4d5\"\nimport script from \"./ContactStepOnboardingContent.vue?vue&type=script&lang=js\"\nexport * from \"./ContactStepOnboardingContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./ContactCardOnboarding.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-contact-card nyk-contact-card-onboarding\" :class=\"contactCardClassNames\">\r\n <component\r\n :is=\"currentStepName\"\r\n :nextStepCallback=\"validateInputAndProceed\"\r\n :previousStepCallback=\"returnToPreviousStep\"\r\n :displayInputError=\"displayInputError\"\r\n :currentStepTexts=\"currentStepTexts\"\r\n :hasPreviousStep=\"hasPreviousStep\"\r\n :resetSignupForm=\"resetSignupForm\"\r\n :getNamedFieldInputData=\"getNamedFieldInputData\"\r\n :showFieldErrorMessage=\"showFieldErrorMessage\"\r\n :stepCounterText=\"stepCounterText\"\r\n :imageSource=\"imageSource\"\r\n :imageAltText=\"imageAltText\"\r\n :labels=\"labels\" />\r\n </article>\r\n</template>\r\n","import { render } from \"./ContactCardOnboarding.vue?vue&type=template&id=292bf7f5\"\nimport script from \"./ContactCardOnboarding.vue?vue&type=script&lang=js\"\nexport * from \"./ContactCardOnboarding.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./ContactStepNewsletters.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-signup-step nyk-contact-step-newsletters\">\r\n <div class=\"nyk-signup-step__content\" :class=\"contentClassnames\">\r\n <div\r\n class=\"nyk-signup-step__content__section--66-width nyk-signup-step__content__section--full-width-mobile\">\r\n <div class=\"nyk-signup-step__header\">\r\n <h2 class=\"nyk-signup-step__title\">{{ currentStepTexts.title }}</h2>\r\n <p class=\"nyk-signup-step__stepcounter\">Step {{ stepCounterText }}</p>\r\n </div>\r\n\r\n <div\r\n class=\"nyk-signup-step__inputs nyk-signup-step__inputs--stacked nyk-signup-step__content__section--full-width-mobile\">\r\n <template v-for=\"(field, index) in newsletterFields\" :key=\"index\">\r\n <div class=\"nyk-signup-step__checkbox\">\r\n <input\r\n type=\"checkbox\"\r\n name=\"newsletter\"\r\n :id=\"`newsletter-${index}`\"\r\n class=\"nyk-signup-step__checkbox__input\"\r\n v-model=\"field.value\" />\r\n <span class=\"nyk-signup-step__checkbox__checkmark\"></span>\r\n <label class=\"nyk-signup-step__checkbox__label\" :for=\"`newsletter-${index}`\">{{\r\n field.field\r\n }}</label>\r\n <Tooltip :tooltip=\"field.tooltip\" tooltipName=\"\" />\r\n </div>\r\n </template>\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"nyk-signup-step__content__section--33-width nyk-signup-step__content__section--full-width-mobile\">\r\n <div\r\n class=\"nyk-signup-step__summary nyk-signup-step__summary--show-allways\"\r\n v-html=\"currentStepTexts.summary\"></div>\r\n <template v-if=\"displayError\">\r\n <div class=\"nyk-signup-step-select-newsletters__error\">\r\n <span class=\"nyk-signup-step-select-newsletters__error__text\"\r\n >Du kan ikke klikke ‘videre’ før du har valgt et nyhedsbrev</span\r\n >\r\n <div class=\"nyk-signup-step-select-newsletters__error__icon\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 21 21\">\r\n <g clip-path=\"url(#a)\">\r\n <path\r\n fill=\"#FFFFFF\"\r\n d=\"M10.233.454c-5.513 0-10 4.486-10 10s4.487 10 10 10c5.514 0 10-4.486 10-10s-4.486-10-10-10Zm-.932 4.063c0-.173.14-.313.312-.313h1.24c.173 0 .313.14.313.313v7.5c0 .172-.14.312-.313.312h-1.24a.313.313 0 0 1-.312-.312v-7.5Zm.932 12.187a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5Z\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"a\"><path fill=\"#fff\" d=\"M.233.454h20v20h-20z\" /></clipPath>\r\n </defs>\r\n </svg>\r\n </div>\r\n </div>\r\n </template>\r\n </div>\r\n\r\n <div class=\"nyk-signup-step__mt-auto nyk-signup-step__content__section--full-width\">\r\n <SignupStepActions\r\n :previousStepCallback=\"previousStepCallback\"\r\n :nextStepCallback=\"handleNextStep\"\r\n :nextStepButtonText=\"currentStepTexts.next\"\r\n :stepCounterText=\"stepCounterText\"\r\n :hasPreviousStep=\"hasPreviousStep\" />\r\n </div>\r\n </div>\r\n </article>\r\n</template>\r\n","import { ref, onMounted } from \"vue\"\r\nimport _signupStepsCommonProps from \"../../foundation/js/configurations/_signupStepsCommonProps\"\r\nimport SignupStepActions from \"../../../../Features/Blocks/Newsletters/NewslettersSignup/SignupStepActions/SignupStepActions.vue\"\r\nimport Tooltip from \"../Tooltip/Tooltip.vue\"\r\n\r\nexport default {\r\n name: \"ContactStepNewsletters\",\r\n components: {\r\n SignupStepActions,\r\n Tooltip,\r\n },\r\n props: _signupStepsCommonProps,\r\n setup(props) {\r\n const newsletterFields = ref([])\r\n const displayError = ref(false)\r\n const contentClassnames = ref(\"nyk-signup-step__content--animation\")\r\n\r\n onMounted(() => {\r\n props.newslettersData.forEach((newsletter) => {\r\n newsletterFields.value.push({\r\n field: newsletter.displayname,\r\n salesforceMapping: newsletter.name,\r\n value: props.getNamedFieldInputData[newsletter.name],\r\n tooltip: newsletter.tooltip,\r\n })\r\n })\r\n\r\n setTimeout(() => {\r\n contentClassnames.value = \"\"\r\n }, 1250)\r\n })\r\n\r\n const handleNextStep = () => {\r\n const anySelected = newsletterFields.value.some((field) => field.value)\r\n\r\n if (anySelected) {\r\n const array = []\r\n\r\n newsletterFields.value.forEach((field) => {\r\n array.push({\r\n field: field.salesforceMapping,\r\n name: field.field,\r\n value: field.value,\r\n })\r\n })\r\n\r\n props.nextStepCallback(array)\r\n } else {\r\n props.nextStepCallback({ skipValidation: true });\r\n }\r\n }\r\n\r\n return {\r\n newsletterFields,\r\n handleNextStep,\r\n displayError,\r\n contentClassnames,\r\n }\r\n },\r\n}\r\n","import { render } from \"./ContactStepNewsletters.vue?vue&type=template&id=72f0a342\"\nimport script from \"./ContactStepNewsletters.vue?vue&type=script&lang=js\"\nexport * from \"./ContactStepNewsletters.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { computed, onBeforeMount, ref } from \"vue\"\r\nimport emailValidator from \"../../foundation/js/inputValidators/emailValidator\"\r\nimport notEmptyInput from \"../../foundation/js/inputValidators/notEmptyInput\"\r\nimport phoneValidator from \"../../foundation/js/inputValidators/phoneValidator\"\r\nimport isBoolean from \"../../foundation/js/inputValidators/isBoolean\"\r\nimport cprValidator from \"../../foundation/js/inputValidators/cprValidator\"\r\nimport getContactedSubmit from \"../../foundation/js/signupFlows/getContactedSubmit\"\r\nimport newslettersSignupSubmit from \"../../foundation/js/signupFlows/newslettersSignupSubmit\"\r\nimport getGeneralComputedValues from \"../../foundation/js/signupFlows/getGeneralComputedValues\"\r\nimport handleValidateInputAndProceed from \"../../foundation/js/signupFlows/handleValidateInputAndProceed\"\r\n\r\nimport SignupStepReceipt from \"../../../../Features/Blocks/Newsletters/NewslettersSignup/SignupStepReceipt/SignupStepReceipt.vue\"\r\nimport ContactStepIntro from \"../ContactStepIntro/ContactStepIntro.vue\"\r\nimport ContactStepContent from \"../ContactStepContent/ContactStepContent.vue\"\r\nimport ContactStepComments from \"../ContactStepComments/ContactStepComments.vue\"\r\nimport ContactStepNewsletters from \"../ContactStepNewsletters/ContactStepNewsletters.vue\"\r\n\r\nexport default {\r\n name: \"ContactCardPermission\",\r\n components: {\r\n ContactStepIntro,\r\n ContactStepContent,\r\n ContactStepComments,\r\n ContactStepNewsletters,\r\n SignupStepReceipt,\r\n },\r\n props: {\r\n labels: {\r\n type: Object,\r\n required: true,\r\n },\r\n formId: {\r\n type: String,\r\n required: true,\r\n },\r\n apiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n newsletterApiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n newsletters: {\r\n type: Array,\r\n required: false,\r\n default: () => [],\r\n },\r\n newslettersUserInputs: {\r\n type: Array,\r\n required: true,\r\n },\r\n alignIntroImageRight: {\r\n type: Boolean,\r\n required: false,\r\n default: false,\r\n },\r\n skipFirstStep: {\r\n type: Boolean,\r\n required: false,\r\n default: false\r\n },\r\n imageSource: {\r\n type: String,\r\n required: true,\r\n },\r\n imageAltText: {\r\n type: String,\r\n required: false,\r\n },\r\n backgroundColor: {\r\n type: String,\r\n required: false,\r\n default: null,\r\n },\r\n assignTo: { \r\n type: String,\r\n required: true,\r\n },\r\n enableUserTrack: {\r\n type: Boolean,\r\n default: false,\r\n required: false\r\n }\r\n },\r\n setup(props) {\r\n const bgColorClassName = computed(() => {\r\n return props.backgroundColor ? `nyk-contact-card--${props.backgroundColor}` : \"\"\r\n })\r\n\r\n const imagePosClassName = computed(() => {\r\n return props.alignIntroImageRight ? \"nyk-contact-card--image-right\" : \"\"\r\n })\r\n\r\n const contactCardClassNames = computed(() => {\r\n return `${bgColorClassName.value} ${imagePosClassName.value}`\r\n })\r\n\r\n const notRequiredInput = (input) => {\r\n return true\r\n }\r\n\r\n const onlyIfCustomer = (input) => {\r\n if (userInput.value.find((field) => field.field === \"isCustomer\").value) {\r\n return cprValidator(input)\r\n } else {\r\n return true\r\n }\r\n }\r\n\r\n // this object contains the entire set of inputs available for the complete form.\r\n const userInput = ref([\r\n ...props.newslettersUserInputs,\r\n {\r\n field: \"firstname\",\r\n value: \"\",\r\n validator: notEmptyInput,\r\n isValid: false,\r\n },\r\n {\r\n field: \"lastname\",\r\n value: \"\",\r\n validator: notEmptyInput,\r\n isValid: false,\r\n },\r\n {\r\n field: \"email\",\r\n value: \"\", // you can prefill the inputfield by adding a value here.\r\n validator: emailValidator,\r\n isValid: false,\r\n },\r\n {\r\n field: \"phone\",\r\n value: \"\", // you can prefill the inputfield by adding a value here.\r\n validator: phoneValidator,\r\n isValid: false,\r\n },\r\n {\r\n field: \"cpr\",\r\n value: \"\",\r\n validator: onlyIfCustomer, // should only be validated if the user is a customer\r\n isValid: false, // is valid as empty string if the user is not a customer\r\n },\r\n {\r\n field: \"isCustomer\",\r\n value: null,\r\n validator: isBoolean,\r\n isValid: false,\r\n },\r\n {\r\n field: \"comment\",\r\n value: \"\", // you can prefill the inputfield by adding a value here.\r\n validator: notRequiredInput,\r\n isValid: false,\r\n },\r\n ])\r\n\r\n // this object contains stepinformation.\r\n // all steps are described here\r\n let stepsConfigAndOrder = ref([\r\n {\r\n step: 0,\r\n name: \"ContactStepIntro\",\r\n completed: props.skipFirstStep,\r\n isCountableStep: false,\r\n texts: {\r\n title: props.labels.title,\r\n summary: props.labels.introSummary,\r\n next: props.labels.nextButtonText\r\n },\r\n },\r\n {\r\n step: 1,\r\n name: \"ContactStepContent\",\r\n completed: false,\r\n isCountableStep: true,\r\n texts: {\r\n title: props.labels.title,\r\n summary: props.labels.summary,\r\n next: props.labels.nextButtonText\r\n }\r\n },\r\n {\r\n step: 2,\r\n name: \"ContactStepComments\",\r\n completed: false,\r\n isCountableStep: true,\r\n texts: {\r\n title: props.labels.title,\r\n next: props.labels.nextButtonText\r\n },\r\n },\r\n {\r\n step: 3,\r\n name: \"ContactStepNewsletters\",\r\n completed: false,\r\n isCountableStep: true,\r\n texts: {\r\n title: props.labels.title,\r\n summary: props.labels.permissionsSummary,\r\n next: props.labels.nextButtonText\r\n },\r\n },\r\n {\r\n step: 4,\r\n name: \"SignupStepReceipt\",\r\n completed: false,\r\n isCountableStep: false,\r\n texts: {\r\n title: props.labels.receiptTitle,\r\n summary: props.labels.receipt,\r\n },\r\n },\r\n ])\r\n\r\n const displayInputError = ref(false)\r\n\r\n const {\r\n getNamedFieldInputData,\r\n resetSignupForm,\r\n currentStepName,\r\n currentStepTexts,\r\n hasPreviousStep,\r\n stepCounterText,\r\n showFieldErrorMessage,\r\n returnToPreviousStep,\r\n } = getGeneralComputedValues(userInput.value, stepsConfigAndOrder.value)\r\n\r\n const validateInputAndProceed = function (inputData) {\r\n const validSuccess = handleValidateInputAndProceed(\r\n inputData,\r\n userInput.value,\r\n stepsConfigAndOrder.value,\r\n currentStepName.value,\r\n submitData,\r\n inputData.skipValidation\r\n )\r\n\r\n displayInputError.value = validSuccess\r\n }\r\n\r\n const submitData = async function (inputData) {\r\n const body = {\r\n formIdentifier: props.formId,\r\n firstName: inputData.find((field) => field.field === \"firstname\").value,\r\n lastName: inputData.find((field) => field.field === \"lastname\").value,\r\n email: inputData.find((field) => field.field === \"email\").value,\r\n phone: inputData.find((field) => field.field === \"phone\").value,\r\n comment: inputData.find((field) => field.field === \"comment\").value,\r\n isCustomer: inputData.find((field) => field.field === \"isCustomer\").value,\r\n cpr: inputData.find((field) => field.field === \"cpr\").value,\r\n assignTo: props.assignTo,\r\n enableUserTrack: props.enableUserTrack === \"true\"\r\n }\r\n\r\n const response = await getContactedSubmit(body, props.apiUrl)\r\n\r\n const newsletters = []\r\n\r\n props.newsletters.filter((newsletter) => {\r\n const newsletterInput = inputData.find((field) => field.field === newsletter.name)\r\n if (newsletterInput?.value === true) {\r\n newsletters.push(newsletter.name)\r\n }\r\n })\r\n\r\n if (newsletters.length > 0) {\r\n const newsletterBody = {\r\n email: inputData.find((field) => field.field === \"email\").value,\r\n firstName: inputData.find((field) => field.field === \"firstname\").value,\r\n lastName: inputData.find((field) => field.field === \"lastname\").value,\r\n phone: inputData.find((field) => field.field === \"phone\").value,\r\n newsletters: newsletters,\r\n source: window.location.href,\r\n }\r\n\r\n await newslettersSignupSubmit(newsletterBody, props.newsletterApiUrl)\r\n }\r\n }\r\n\r\n return {\r\n currentStepTexts,\r\n displayInputError,\r\n currentStepName,\r\n getNamedFieldInputData,\r\n validateInputAndProceed,\r\n stepCounterText,\r\n returnToPreviousStep,\r\n showFieldErrorMessage,\r\n hasPreviousStep,\r\n resetSignupForm,\r\n contactCardClassNames,\r\n }\r\n },\r\n}\r\n","<script>\r\nimport options from \"./ContactCardPermission.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-contact-card\" :class=\"contactCardClassNames\">\r\n <component\r\n :is=\"currentStepName\"\r\n :nextStepCallback=\"validateInputAndProceed\"\r\n :previousStepCallback=\"returnToPreviousStep\"\r\n :displayInputError=\"displayInputError\"\r\n :currentStepTexts=\"currentStepTexts\"\r\n :hasPreviousStep=\"hasPreviousStep\"\r\n :resetSignupForm=\"resetSignupForm\"\r\n :getNamedFieldInputData=\"getNamedFieldInputData\"\r\n :showFieldErrorMessage=\"showFieldErrorMessage\"\r\n :stepCounterText=\"stepCounterText\"\r\n :imageSource=\"imageSource\"\r\n :imageAltText=\"imageAltText\"\r\n :labels=\"labels\"\r\n :newslettersData=\"newsletters\" />\r\n </article>\r\n</template>\r\n","import { render } from \"./ContactCardPermission.vue?vue&type=template&id=00c8437e\"\nimport script from \"./ContactCardPermission.vue?vue&type=script&lang=js\"\nexport * from \"./ContactCardPermission.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./DocumentArchive.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-document-archive\">\r\n <div class=\"nyk-document-archive__header\" v-if=\"header || description\">\r\n <h2 class=\"nyk-document-archive__header__title\">{{ header }}</h2>\r\n <p class=\"nyk-document-archive__header__description\">{{ description }}</p>\r\n </div>\r\n\r\n <div class=\"nyk-document-archive__filters\">\r\n <template v-for=\"(filter, index) in filters\">\r\n <MultiSelectDropdown\r\n :initOptions=\"filter.options\"\r\n :title=\"filter.title\"\r\n :placeholderLabel=\"filter.placeholderLabel\"\r\n :onChangeCallback=\"filter.callback\" />\r\n </template>\r\n\r\n <div class=\"nyk-document-archive__filters__search\">\r\n <div class=\"nyk-document-archive__filters__search__icon\">\r\n <svg :aria-label=\"searchIconLabel\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 18 18\">\r\n <path\r\n fill=\"#07094A\"\r\n fill-rule=\"evenodd\"\r\n d=\"M1.2 7.344a6.142 6.142 0 1 1 10.562 4.264l-.155.156A6.142 6.142 0 0 1 1.2 7.344Zm10.892 5.599a7.342 7.342 0 1 1 .849-.849l4.632 4.632.424.425-.848.848-.424-.424-4.633-4.632Z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </div>\r\n <input\r\n type=\"text\"\r\n class=\"nyk-document-archive__filters__search__input\"\r\n v-model=\"searchInputModel\"\r\n v-on:keyup=\"inputUpdated\"\r\n :placeholder=\"searchPlaceholder\" />\r\n\r\n <button\r\n v-on:click=\"emptyInput\"\r\n class=\"nyk-document-archive__filters__search__close\"\r\n :class=\"{\r\n 'nyk-document-archive__filters__search__close--show': inputIsNotEmpty,\r\n }\">\r\n <span class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div role=\"status\" class=\"nyk-document-archive__results\">{{ resultsLabel }}</div>\r\n\r\n <DynamicDocumentList :documentLists=\"documentLists\" />\r\n\r\n <div class=\"nyk-button-container\">\r\n <button\r\n class=\"nyk-button nyk-button--outline-primary\"\r\n v-on:click=\"getMoreResults\"\r\n v-if=\"showMore\">\r\n {{ showMoreText }}\r\n </button>\r\n </div>\r\n </article>\r\n</template>\r\n","<script>\r\nimport options from \"./DynamicDocumentList.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-document-list nyk-dynamic-document-list\">\r\n <div v-if=\"title && description\" class=\"nyk-document-list__header\">\r\n <h2 v-if=\"title\" class=\"nyk-document-list__header__title\">\r\n {{ title }}\r\n </h2>\r\n\r\n <p v-if=\"description\" class=\"nyk-document-list__header__description\">\r\n {{ description }}\r\n </p>\r\n </div>\r\n\r\n <template v-for=\"(list, index) in documentLists\" :key=\"index\">\r\n <div class=\"nyk-document-list__content\">\r\n <div class=\"nyk-document-list__content__group\">\r\n <div class=\"nyk-document-list__content__group__header\">\r\n <strong class=\"nyk-document-list__content__group__header__title\">\r\n {{ list.title }}\r\n </strong>\r\n </div>\r\n\r\n <ul\r\n v-if=\"list.items.length > 0\"\r\n class=\"nyk-document-list__content__group__list\">\r\n <template v-for=\"(item, index) in list.items\" :key=\"index\">\r\n <li class=\"nyk-document-list__content__group__list__item\">\r\n <a\r\n :href=\"item.href\"\r\n class=\"nyk-document-list__content__group__list__item__link\">\r\n <div\r\n class=\"nyk-document-list__content__group__list__item__link__filetype\">\r\n \r\n <svg :aria-label=\"item?.fileIconLabel\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 30 30\"\r\n :stroke-width=\"3\"\r\n :stroke-miterlimit=\"10\">\r\n <use :xlink:href=\"`${item.icon}`\"></use>\r\n </svg>\r\n\r\n </div>\r\n <div\r\n class=\"nyk-document-list__content__group__list__item__link__info\">\r\n <small\r\n class=\"nyk-document-list__content__group__list__item__link__info__date\"\r\n >{{ item.date }}</small\r\n >\r\n <p\r\n class=\"nyk-document-list__content__group__list__item__link__info__name\">\r\n {{ item.title }}\r\n </p>\r\n </div>\r\n <div\r\n class=\"nyk-document-list__content__group__list__item__link__download\">\r\n <svg :aria-label=\"item?.downloadIconLabel\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 29 29\">\r\n <g\r\n stroke=\"#07094A\"\r\n stroke-miterlimit=\"10\"\r\n stroke-width=\"2\">\r\n <path\r\n stroke-linecap=\"square\"\r\n d=\"M1 20v5.333c0 .708.284 1.386.79 1.886.507.5 1.194.781 1.91.781h21.6c.716 0 1.403-.281 1.91-.781.505-.5.79-1.178.79-1.886V20\" />\r\n <path d=\"M14.5 0v20\" />\r\n <path\r\n stroke-linecap=\"square\"\r\n d=\"M7.75 13.333 14.5 20l6.75-6.667\" />\r\n </g>\r\n </svg>\r\n \r\n </div>\r\n </a>\r\n </li>\r\n </template>\r\n </ul>\r\n </div>\r\n </div>\r\n </template>\r\n </article>\r\n</template>\r\n","export default {\r\n name: \"DynamicDocumentList\",\r\n props: {\r\n title: {\r\n type: String,\r\n required: false,\r\n },\r\n description: {\r\n type: String,\r\n required: false,\r\n },\r\n documentLists: {\r\n type: Object,\r\n required: false,\r\n },\r\n },\r\n setup(props) {},\r\n}\r\n","import { render } from \"./DynamicDocumentList.vue?vue&type=template&id=4edfb660\"\nimport script from \"./DynamicDocumentList.vue?vue&type=script&lang=js\"\nexport * from \"./DynamicDocumentList.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { onMounted, computed, ref } from \"vue\"\r\n\r\nimport debounce from \"../../foundation/js/debounce\"\r\n\r\nimport DynamicDocumentList from \"../DynamicDocumentList/DynamicDocumentList.vue\"\r\nimport MultiSelectDropdown from \"../MultiSelectDropdown/MultiSelectDropdown.vue\"\r\n\r\nexport default {\r\n name: \"DocumentArchive\",\r\n components: {\r\n DynamicDocumentList,\r\n MultiSelectDropdown,\r\n },\r\n props: {\r\n model: {\r\n type: Object,\r\n required: true,\r\n },\r\n apiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n header: {\r\n type: String,\r\n required: false,\r\n },\r\n description: {\r\n type: String,\r\n required: false,\r\n },\r\n showMoreText: {\r\n type: String,\r\n required: false,\r\n },\r\n searchIconLabel: {\r\n type: String,\r\n required: false,\r\n },\r\n searchPlaceholder: {\r\n type: String,\r\n required: false,\r\n default: \"Søg pÃ¥ f.eks: Ã…rsregnskab\",\r\n },\r\n pageSize: {\r\n type: Number,\r\n required: false,\r\n default: 20,\r\n },\r\n },\r\n setup(props) {\r\n const documentLists = ref([])\r\n const filters = ref([])\r\n const activeFilters = ref([])\r\n const pageSize = ref(props.pageSize)\r\n const currentPage = ref(1)\r\n const searchInputModel = ref(\"\")\r\n const numOfTotalResults = ref(0)\r\n const numOfShownResults = ref(0)\r\n\r\n onMounted(() => {\r\n loadFilterFromQueryParams()\r\n\r\n if (props.model) {\r\n setFilters()\r\n }\r\n\r\n fetchDocumentList()\r\n })\r\n\r\n const loadFilterFromQueryParams = () => {\r\n const params = new URLSearchParams(window.location.search)\r\n for (const [key, value] of params.entries()) {\r\n if (key !== 'searchText') {\r\n activeFilters.value.push({\r\n type: key,\r\n params: value.split(','),\r\n })\r\n }\r\n }\r\n\r\n const searchText = params.get('searchText') || ''\r\n searchInputModel.value = searchText\r\n }\r\n\r\n const resultsLabel = computed(() => {\r\n return `Viser ${numOfShownResults.value} af ${numOfTotalResults.value} resultater`\r\n })\r\n\r\n const showMore = computed(() => {\r\n return numOfTotalResults.value > numOfShownResults.value\r\n })\r\n\r\n const inputIsNotEmpty = computed(() => {\r\n return searchInputModel.value !== \"\"\r\n })\r\n\r\n const setFilters = () => {\r\n props.model.filters.forEach((filter) => {\r\n const activeFilter = activeFilters.value.find(f => f.type === filter.name)\r\n filters.value.push({\r\n title: filter.header,\r\n placeholderLabel: \"Intet valgt\",\r\n options: getOptions(filter.filterOptionItems, activeFilter),\r\n callback: (res) => handleFilterChanged(filter.name, res),\r\n })\r\n })\r\n }\r\n\r\n const getOptions = (options, activeFilter) => {\r\n const array = []\r\n options.forEach((option) => {\r\n array.push({\r\n value: option.id,\r\n name: option.name,\r\n selected: activeFilter ? activeFilter.params.includes(option.id) : false,\r\n })\r\n })\r\n return array\r\n }\r\n\r\n const setDocumentLists = (data) => {\r\n const array = []\r\n\r\n if (currentPage.value === 1) {\r\n documentLists.value = []\r\n }\r\n\r\n const isDocumentListEmpty = [...documentLists.value].length === 0\r\n\r\n data.results.forEach((item) => {\r\n array.push({\r\n title: item.title,\r\n date: item.displayDate,\r\n href: item.url,\r\n icon: item.icon,\r\n downloadIconLabel: item.downloadIconLabel,\r\n fileIconLabel: item.fileIconLabel\r\n })\r\n })\r\n\r\n if (isDocumentListEmpty) {\r\n documentLists.value.push({\r\n title: props.title,\r\n items: array,\r\n })\r\n } else {\r\n documentLists.value[0].items.push(...array)\r\n }\r\n\r\n numOfShownResults.value = documentLists.value[0].items.length\r\n }\r\n\r\n const updateQueryParams = (key, value) => {\r\n const params = new URLSearchParams(window.location.search)\r\n\r\n if (value === \"\") {\r\n params.delete(key);\r\n } else {\r\n params.set(key, value);\r\n }\r\n \r\n const updatedUrl = `${window.location.pathname}?${params.toString()}`\r\n window.history.replaceState({}, '', updatedUrl)\r\n }\r\n\r\n const updateFiltersQueryParam = () => {\r\n activeFilters.value.forEach(filter => {\r\n const typeFilters = filter.params.join(\",\")\r\n updateQueryParams(filter.type, typeFilters)\r\n })\r\n }\r\n\r\n const inputUpdated = debounce(() => {\r\n currentPage.value = 1\r\n updateQueryParams(\"searchText\", searchInputModel.value)\r\n fetchDocumentList()\r\n }, 500)\r\n\r\n const emptyInput = () => {\r\n searchInputModel.value = \"\"\r\n fetchDocumentList()\r\n }\r\n\r\n const handleFilterChanged = (type, data) => {\r\n const array = []\r\n data.forEach((item) => {\r\n if (item.selected) {\r\n array.push(item.value)\r\n }\r\n })\r\n\r\n const filterExist = activeFilters.value.find((item) => item.type === type)\r\n if (filterExist) {\r\n activeFilters.value.find((item) => {\r\n if (item.type === type) {\r\n item.params = array\r\n }\r\n })\r\n } else {\r\n activeFilters.value.push({\r\n type: type,\r\n params: array,\r\n })\r\n }\r\n updateFiltersQueryParam()\r\n currentPage.value = 1\r\n fetchDocumentList()\r\n }\r\n\r\n const getMoreResults = () => {\r\n currentPage.value = currentPage.value + 1\r\n fetchDocumentList()\r\n }\r\n\r\n const fetchDocumentList = async () => {\r\n const url = createApiUrl()\r\n const request = new Request(url)\r\n\r\n fetch(request)\r\n .then((res) => {\r\n if (res.ok) {\r\n return res.json()\r\n } else {\r\n throw new Error(\"Didn't work\")\r\n }\r\n })\r\n .then((json) => {\r\n setDocumentLists(json)\r\n numOfTotalResults.value = json.totalResults\r\n })\r\n .catch((err) => {\r\n console.error(err)\r\n })\r\n }\r\n\r\n const createApiUrl = () => {\r\n let params = \"\"\r\n activeFilters.value.forEach((item) => {\r\n let prefix = params === \"\" ? \"?\" : \"&\"\r\n params += `${prefix}${item.type}=${item.params.join(\",\")}`\r\n })\r\n\r\n let prefix = params === \"\" ? \"?\" : \"&\"\r\n params += `${prefix}searchText=${searchInputModel.value ?? \"\"}`\r\n const take = pageSize.value * currentPage.value\r\n params += `&skip=${take - pageSize.value}&take=${take}`\r\n\r\n return props.apiUrl + params\r\n }\r\n\r\n return {\r\n documentLists,\r\n filters,\r\n searchInputModel,\r\n inputUpdated,\r\n inputIsNotEmpty,\r\n emptyInput,\r\n numOfTotalResults,\r\n numOfShownResults,\r\n resultsLabel,\r\n showMore,\r\n getMoreResults,\r\n }\r\n },\r\n}\r\n","import { render } from \"./DocumentArchive.vue?vue&type=template&id=c76c3b0c\"\nimport script from \"./DocumentArchive.vue?vue&type=script&lang=js\"\nexport * from \"./DocumentArchive.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\nimport options from \"./InvestmentFundTable.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-investment-fund-table\">\r\n <SearchInputField\r\n :initSearchParam=\"searchInput\"\r\n :onEnterCallback=\"inputEnter\"\r\n :onChangeCallback=\"inputChanged\"\r\n :placeholder=\"model.searchPlaceholderLabel\" \r\n :ariaLabel=\"model.searchPlaceholderLabel\"\r\n :searchIconLabel=\"model?.searchIconLabel\"\r\n :closeIconLabel=\"model?.closeIconLabel\"\r\n />\r\n\r\n <template v-if=\"tabs.length > 0\">\r\n <FilterTabs\r\n :tabs=\"tabs\"\r\n :initActiveTab=\"activeFilter\"\r\n :callback=\"filterChanged\" />\r\n </template>\r\n\r\n <DynamicTable :headers=\"tableHeaders\" :rows=\"tableRows\" />\r\n </article>\r\n</template>\r\n","<script>\r\nimport options from \"./SearchInputField.options\"\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-search-input-field\">\r\n <button class=\"nyk-search-input-field__icon\">\r\n <svg :aria-label=\"searchIconLabel\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 18 18\">\r\n <path\r\n fill=\"#07094A\"\r\n fill-rule=\"evenodd\"\r\n d=\"M1.2 7.344a6.142 6.142 0 1 1 10.562 4.264l-.155.156A6.142 6.142 0 0 1 1.2 7.344Zm10.892 5.599a7.342 7.342 0 1 1 .849-.849l4.632 4.632.424.425-.848.848-.424-.424-4.633-4.632Z\"\r\n clip-rule=\"evenodd\" />\r\n </svg>\r\n </button>\r\n\r\n <input\r\n ref=\"searchInput\"\r\n v-model=\"searchInputModel\"\r\n v-on:keyup.enter=\"onSearchEnter\"\r\n v-on:keyup=\"inputUpdated\"\r\n :placeholder=\"placeholder\"\r\n :aria-label=\"ariaLabel\"\r\n autocomplete=\"off\"\r\n class=\"nyk-search-input-field__input\" />\r\n\r\n <button\r\n :aria-label=\"ariaLabels?.clearButtonLabel ?? 'Ryd s�gefelt'\"\r\n v-on:click=\"emptyInput\"\r\n class=\"nyk-search-input-field__close\"\r\n :class=\"{\r\n 'nyk-search-input-field__close--show': inputIsNotEmpty,\r\n }\">\r\n <span :aria-label=\"closeIconLabel\" class=\"nyk-icon nyk-icon--ui-close\"></span>\r\n </button>\r\n </article>\r\n</template>\r\n","import { computed, ref } from \"vue\"\r\nimport debounce from \"../../foundation/js/debounce\"\r\n\r\nexport default {\r\n name: \"SearchInputField\",\r\n props: {\r\n searchIconLabel: {\r\n type: String,\r\n required: false,\r\n },\r\n closeIconLabel: {\r\n type: String,\r\n required: false,\r\n },\r\n placeholder: {\r\n type: String,\r\n required: false,\r\n },\r\n ariaLabel: {\r\n type: String,\r\n required: false,\r\n },\r\n initSearchParam: {\r\n type: String,\r\n required: false,\r\n },\r\n onChangeCallback: {\r\n type: Function,\r\n required: false,\r\n },\r\n onEnterCallback: {\r\n type: Function,\r\n required: false,\r\n },\r\n redirectUrl: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n setup(props) {\r\n const searchInputModel = ref(props.initSearchParam ?? \"\")\r\n const searchInput = ref(\"\")\r\n\r\n const inputUpdated = debounce(() => {\r\n if (props.onChangeCallback) {\r\n props.onChangeCallback(searchInputModel.value)\r\n }\r\n }, 500)\r\n\r\n const inputIsNotEmpty = computed(() => {\r\n return searchInputModel.value !== \"\"\r\n })\r\n\r\n const emptyInput = () => {\r\n searchInputModel.value = \"\"\r\n searchInput.value.focus()\r\n\r\n if (props.onChangeCallback) {\r\n props.onChangeCallback(searchInputModel.value)\r\n }\r\n }\r\n\r\n const onSearchEnter = () => {\r\n if (props.redirectUrl) {\r\n window.location.href = `${props.redirectUrl}?q=${searchInputModel.value}`\r\n } else if (props.onEnterCallback) {\r\n props.onEnterCallback(searchInputModel.value)\r\n }\r\n }\r\n\r\n return {\r\n searchInputModel,\r\n searchInput,\r\n emptyInput,\r\n onSearchEnter,\r\n inputIsNotEmpty,\r\n inputUpdated,\r\n }\r\n },\r\n}\r\n","import { render } from \"./SearchInputField.vue?vue&type=template&id=9c968364\"\nimport script from \"./SearchInputField.vue?vue&type=script&lang=js\"\nexport * from \"./SearchInputField.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { onMounted, ref } from 'vue'\r\nimport FilterTabs from '../FilterTabs/FilterTabs.vue'\r\nimport SearchInputField from '../SearchInputField/SearchInputField.vue'\r\nimport DynamicTable from '../DynamicTable/DynamicTable.vue'\r\n\r\nexport default {\r\n name: 'InvestmentFundTable',\r\n components: {\r\n FilterTabs,\r\n SearchInputField,\r\n DynamicTable,\r\n },\r\n props: {\r\n apiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n model: {\r\n type: Object,\r\n required: false,\r\n },\r\n },\r\n setup(props) {\r\n const fundListType = Object.freeze({\r\n Nykredit: 'internal',\r\n External: 'external',\r\n })\r\n\r\n const searchInput = ref('')\r\n const activeFilter = ref(fundListType.Nykredit)\r\n const tabs = ref([])\r\n const tableHeaders = ref([])\r\n const tableRows = ref([])\r\n\r\n const setTabs = () => {\r\n tabs.value.push({\r\n title: props.model.internalInvestmentFundsTabLabel,\r\n id: fundListType.Nykredit,\r\n })\r\n tabs.value.push({\r\n title: props.model.externalInvestmentFundsTabLabel,\r\n id: fundListType.External,\r\n })\r\n }\r\n\r\n const setTableHeaders = () => {\r\n tableHeaders.value.push(\r\n { name: props.model.isinLabel, scope: 'col' },\r\n { name: props.model.investmentNameLabel, scope: 'col' },\r\n {\r\n name: props.model.fppLabel,\r\n styles: 'text-right',\r\n scope: 'col',\r\n }\r\n )\r\n }\r\n\r\n const setTableRows = (data) => {\r\n data.map((row) => {\r\n tableRows.value.push([\r\n { name: row.isin },\r\n { name: row.investmentName },\r\n {\r\n name: row.fpp,\r\n styles: 'text-right',\r\n },\r\n ])\r\n })\r\n }\r\n\r\n onMounted(() => {\r\n if (props.model) {\r\n setTabs()\r\n setTableHeaders()\r\n fetchInvestmentFunds()\r\n }\r\n })\r\n\r\n const fetchInvestmentFunds = async () => {\r\n // URL FOR PRODUCTION\r\n const url = `${props.apiUrl}?documentId=${props.model.documentId}&useNykreditFunds=${\r\n activeFilter.value === fundListType.Nykredit\r\n }&useExternalFunds=${activeFilter.value === fundListType.External}&searchTerm=${searchInput.value}`\r\n\r\n // URL FOR LOCAL TESTING\r\n // let url = \"\"\r\n // if (searchInput.value === \"\") {\r\n // url = `/data/investmentFunds/${activeFilter.value}FundList.json`\r\n // } else {\r\n // url = `/data/investmentFunds/searchFundList.json`\r\n // }\r\n\r\n const request = new Request(url)\r\n\r\n fetch(request)\r\n .then((res) => {\r\n if (res.ok) {\r\n return res.json()\r\n } else {\r\n throw new Error(\"Didn't work\")\r\n }\r\n })\r\n .then((json) => {\r\n tableRows.value = []\r\n setTableRows(json)\r\n })\r\n .catch((err) => {\r\n console.error(err)\r\n })\r\n }\r\n\r\n const inputEnter = (value) => {\r\n searchInput.value = value\r\n fetchInvestmentFunds()\r\n }\r\n\r\n const inputChanged = (value) => {\r\n searchInput.value = value\r\n if (value === '') {\r\n fetchInvestmentFunds()\r\n }\r\n }\r\n\r\n const filterChanged = (value) => {\r\n activeFilter.value = value\r\n fetchInvestmentFunds()\r\n }\r\n\r\n return {\r\n searchInput,\r\n inputEnter,\r\n inputChanged,\r\n filterChanged,\r\n activeFilter,\r\n tabs,\r\n tableHeaders,\r\n tableRows,\r\n }\r\n },\r\n}\r\n","import { render } from \"./InvestmentFundTable.vue?vue&type=template&id=380acd15\"\nimport script from \"./InvestmentFundTable.vue?vue&type=script&lang=js\"\nexport * from \"./InvestmentFundTable.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<script>\r\n import options from './JobPostingsTable.options'\r\n export default options\r\n</script>\r\n\r\n<template>\r\n <article class=\"nyk-job-postings-table\">\r\n\r\n <div class=\"nyk-job-postings-table__filter\">\r\n <template v-if=\"filters.length\">\r\n <template v-for=\"filter, indexFilter in filters\" :key=\"indexFilter\">\r\n\r\n <div class=\"nyk-form nyk-js--form nyk-form--select\">\r\n <div class=\"nyk-form--select__content\">\r\n <select v-on:change=\"filterChanged\" class=\"nyk-form--select__content__select\" name=\"category\" id=\"category\">\r\n <option value=\"\">Alle</option>\r\n\r\n <template v-for=\"option, indexOption in filter\" :key=\"indexOption\">\r\n <option :value=\"option.value\">{{ option.name }}</option>\r\n </template>\r\n\r\n </select>\r\n <label class=\"nyk-form--select__content__label\">Kategori</label>\r\n <div class=\"nyk-form--select__content__error-icon\">\r\n <span class=\"nyk-icon nyk-icon--ui-form-error\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </template>\r\n </template>\r\n </div>\r\n\r\n <dynamicTable \r\n :headers=\"headers\"\r\n :rows=\"rows\"\r\n />\r\n\r\n </article>\r\n</template>\r\n","import { computed } from 'vue'\r\nimport DynamicTable from '../DynamicTable/DynamicTable.vue'\r\nimport { useStore } from 'vuex'\r\n\r\nexport default {\r\n name: 'JobPostingsTable',\r\n components: {\r\n DynamicTable,\r\n },\r\n props: {\r\n numberOfResults: {\r\n type: Number,\r\n required: true,\r\n },\r\n apiUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n setup(props) {\r\n const store = useStore()\r\n\r\n const headers = computed(() => {\r\n const storeHeaders = store.state.jobs.headers\r\n storeHeaders.forEach((header) => {\r\n header.scope = 'col'\r\n })\r\n return storeHeaders\r\n })\r\n\r\n const rows = computed(() => {\r\n const array = []\r\n const storeRows = store.state.jobs.rows\r\n const redirectUrl = store.state.jobs.redirectUrl\r\n\r\n storeRows.map((row) => {\r\n const updatedRow = []\r\n row.map((cell) => {\r\n updatedRow.push({\r\n name: cell.name,\r\n href: cell.reference ? `${redirectUrl}?jobId=${cell.reference}` : '',\r\n styles: cell.styles ?? '',\r\n })\r\n })\r\n array.push(updatedRow)\r\n })\r\n\r\n return array\r\n })\r\n\r\n const filters = computed(() => {\r\n return store.state.jobs.filters\r\n })\r\n\r\n const filterChanged = (e) => {\r\n store.dispatch('jobs/filteredRows', {\r\n api: props.apiUrl,\r\n filter: e.target.value,\r\n })\r\n }\r\n\r\n return {\r\n headers,\r\n rows,\r\n filters,\r\n filterChanged,\r\n }\r\n },\r\n}\r\n","import { render } from \"./JobPostingsTable.vue?vue&type=template&id=687f0d67\"\nimport script from \"./JobPostingsTable.vue?vue&type=script&lang=js\"\nexport * from \"./JobPostingsTable.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export const getJobPostingsHeader = (data) => {\r\n return [\r\n { name: data.positionLabel },\r\n {\r\n name: data.cityLabel,\r\n styles: 'text-right',\r\n },\r\n ]\r\n}\r\n\r\nexport const getJobPostingsRows = (data) => {\r\n const array = []\r\n Array.from(data).map((item) => {\r\n array.push([\r\n { name: item.title, href: '', reference: item.reference },\r\n {\r\n name: item.city,\r\n styles: 'text-right',\r\n },\r\n ])\r\n })\r\n\r\n return array\r\n}\r\n\r\nexport const getJobPostingsFilters = (data) => {\r\n const array = [[]]\r\n\r\n Array.from(data.jobTypes.data).map((filter) => {\r\n array[0].push({ name: filter.label, value: filter.code })\r\n })\r\n\r\n return array\r\n}\r\n\r\nexport const getJobPostingsNumberOfResults = (data) => {\r\n return data.jobPostingsList.length ?? 0\r\n}\r\n","<script>\r\nimport options from \"./SiteSearching.options\"\r\n\r\nexport default options\r\n</script>\r\n\r\n<template>\r\n <themeSwitch theme=\"nyk-sparinvest\" />\r\n\r\n <article class=\"nyk-site-searching\">\r\n <div class=\"nyk-site-searching__content\">\r\n <div class=\"nyk-site-searching__content__header\">\r\n \r\n <h1 v-if=\"isMainHeader\" class=\"nyk-site-searching__content__header__title\">\r\n {{ labels.searchResultTitleLabel }}\r\n </h1>\r\n\r\n <h2 v-else class=\"nyk-site-searching__content__header__title\">\r\n {{ labels.searchResultTitleLabel }}\r\n </h2>\r\n\r\n\r\n <div class=\"nyk-site-searching__content__header__count\">\r\n <span class=\"nyk-site-searching__content__header__count__number\">{{ unfilteredNumberOfResults }}</span>\r\n <span class=\"nyk-site-searching__content__header__count__text\">{{ labels.resultNumberLabel }}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nyk-site-searching__content__list\">\r\n <SearchInputField :initSearchParam=\"searchInput\" :onChangeCallback=\"inputChanged\" :closeIconLabel=\"labels?.closeIconLabel\" :ariaLabel=\"labels?.ariaLabel\" :searchIconLabel=\"labels?.searchIconLabel\"/>\r\n\r\n <template v-if=\"searchFacts.length > 0\">\r\n <div class=\"nyk-js--facts-container\">\r\n <FilterTabs :initActiveTab=\"activeFilter\" :tabs=\"searchFacts\" :callback=\"changeFilter\" />\r\n </div>\r\n </template>\r\n\r\n <div class=\"nyk-site-searching__content__list__results\" aria-live=\"polite\">\r\n <template v-for=\"(result, index) in searchResults\">\r\n <SiteSearchingResult\r\n :tag=\"result.section\"\r\n :href=\"result.url\"\r\n :title=\"result.title\"\r\n :description=\"result.excerpt\"\r\n :filename=\"result.filename\" />\r\n </template>\r\n </div>\r\n\r\n <template v-if=\"pageTotalSize > currentPage\">\r\n <div class=\"nyk-site-searching__content__list__action\">\r\n <button v-on:click=\"getMoreResults\" class=\"nyk-button nyk-button--outline-primary\">\r\n {{ labels.seeMoreButtonLabel }}\r\n </button>\r\n </div>\r\n </template>\r\n </div>\r\n </div>\r\n </article>\r\n</template>\r\n","<script>\r\n import options from './SiteSearchingResult.options'\r\n export default options\r\n</script>\r\n\r\n\r\n<template>\r\n <li class=\"nyk-site-searching-result\">\r\n <a :href=\"href\" class=\"nyk-site-searching-result__link\">\r\n <div class=\"nyk-site-searching-result__link__tags\">\r\n <span class=\"nyk-site-searching-result__link__tags__tag\">{{ tag }}</span>\r\n <template v-if=\"filename\">\r\n <span class=\"nyk-site-searching-result__link__tags__tag nyk-site-searching-result__link__tags__tag--file\">{{ getFileExtension }}</span>\r\n </template>\r\n </div>\r\n <h3 class=\"nyk-site-searching-result__link__title\">{{ title }}</h3>\r\n <p class=\"nyk-site-searching-result__link__description\">{{ description }}</p>\r\n\r\n <div class=\"nyk-site-searching-result__link__arrow\">\r\n <svg role=\"presentation\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 12\"><path fill=\"#07094A\" d=\"M0 5.393v1.231h11.37l-3.898 4.243.67.633L14 5.991 8.142.5l-.67.633 3.898 4.26H0Z\"/></svg>\r\n </div>\r\n </a>\r\n </li>\r\n</template>\r\n","import { computed } from 'vue'\r\n\r\nexport default {\r\n name: \"SiteSearchingResult\",\r\n props: {\r\n tag: {\r\n type: String,\r\n required: true\r\n },\r\n title: {\r\n type: String,\r\n required: true\r\n },\r\n description: {\r\n type: String,\r\n required: true\r\n },\r\n href: {\r\n type: String,\r\n required: true\r\n },\r\n filename: {\r\n type: String,\r\n required: false\r\n }\r\n },\r\n setup(props) {\r\n \r\n const getFileExtension = computed(() => {\r\n const fileNameSplit = props.filename.split('.')\r\n return fileNameSplit[1]??fileNameSplit[0]\r\n })\r\n\r\n\r\n return {\r\n getFileExtension\r\n }\r\n }\r\n}","import { render } from \"./SiteSearchingResult.vue?vue&type=template&id=27f06388\"\nimport script from \"./SiteSearchingResult.vue?vue&type=script&lang=js\"\nexport * from \"./SiteSearchingResult.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { ref, computed, watch, onMounted, onBeforeMount } from \"vue\"\r\nimport { useStore } from \"vuex\"\r\nimport SiteSearchingResult from \"../SiteSearchingResult/SiteSearchingResult.vue\"\r\nimport FilterTabs from \"../FilterTabs/FilterTabs.vue\"\r\nimport SearchInputField from \"../SearchInputField/SearchInputField.vue\"\r\n\r\nexport default {\r\n name: \"SiteSearching\",\r\n components: {\r\n SiteSearchingResult,\r\n SearchInputField,\r\n FilterTabs,\r\n },\r\n props: {\r\n searchUrl: {\r\n type: String,\r\n required: true,\r\n },\r\n lang: {\r\n type: String,\r\n required: false,\r\n default: null\r\n },\r\n labels: {\r\n type: Object,\r\n required: true,\r\n },\r\n isMainHeader: {\r\n type: Boolean,\r\n required: true\r\n }\r\n },\r\n setup(props) {\r\n const store = useStore()\r\n const searchInput = ref(\"\")\r\n const siteSearchingContainer = ref(null)\r\n\r\n const ariaLabels = {\r\n searchIcon: props.labels.searchIcon,\r\n inputLabel: props.labels.inputLabel,\r\n clearButtonLabel: props.labels.clearButtonLabel,\r\n }\r\n\r\n onBeforeMount(() => {\r\n siteSearchingContainer.value = document.querySelector(\r\n \".nyk-site-searching\"\r\n )\r\n\r\n const queryString = window.location.search\r\n const urlParams = new URLSearchParams(queryString)\r\n const searchQuery = urlParams.get(\"q\")\r\n searchInput.value = searchQuery\r\n\r\n inputChanged(searchQuery)\r\n })\r\n\r\n const searchResults = computed(() => {\r\n return store.state.search.results\r\n })\r\n\r\n const unfilteredNumberOfResults = computed(() => {\r\n return store.state.search.unfilteredNumberOfResults\r\n })\r\n\r\n const searchFacts = computed(() => {\r\n const array = []\r\n const storeFacts = store.state.search.facts\r\n if (storeFacts?.length > 0) {\r\n array.push({\r\n title: `${props.labels.allTabLabel} (${unfilteredNumberOfResults.value})`,\r\n id: \"\",\r\n })\r\n storeFacts.map((fact) => {\r\n array.push({ title: `${fact.term} (${fact.count})`, id: fact.term })\r\n })\r\n }\r\n\r\n return array\r\n })\r\n\r\n const activeFilter = computed(() => {\r\n return store.state.search.activeFilter\r\n })\r\n\r\n const currentPage = computed(() => {\r\n return store.state.search.pageNumber\r\n })\r\n\r\n const pageTotalSize = computed(() => {\r\n return store.state.search.pageTotalSize\r\n })\r\n\r\n const inputIsNotEmpty = computed(() => {\r\n return searchInput.value !== \"\"\r\n })\r\n\r\n const inputChanged = (value) => {\r\n searchInput.value = value\r\n if (value) {\r\n store.dispatch(\"search/activeFilter\", { filter: \"\" })\r\n store.dispatch(\"search/performSearch\", {\r\n query: searchInput.value,\r\n lang: props.lang,\r\n apiUrl: props.searchUrl,\r\n page: 1,\r\n })\r\n } else {\r\n store.dispatch(\"search/clearResults\")\r\n }\r\n updateUrl(value)\r\n }\r\n\r\n const updateUrl = (value) => {\r\n const url = new URL(window.location)\r\n url.searchParams.set(\"q\", value)\r\n window.history.pushState({}, \"\", url)\r\n }\r\n\r\n const changeFilter = (tabId) => {\r\n store.dispatch(\"search/activeFilter\", { filter: tabId })\r\n store.dispatch(\"search/performSearch\", {\r\n query: searchInput.value,\r\n apiUrl: props.searchUrl,\r\n page: 1,\r\n searchSection: tabId,\r\n })\r\n }\r\n\r\n const getMoreResults = () => {\r\n store.dispatch(\"search/performSearch\", {\r\n query: searchInput.value,\r\n apiUrl: props.searchUrl,\r\n page: currentPage.value + 1,\r\n })\r\n store.dispatch(\"search/pageNumber\", { page: currentPage.value + 1 })\r\n }\r\n\r\n const emptyInput = () => {\r\n store.dispatch(\"search/clearResults\")\r\n searchInput.value = \"\"\r\n const input = siteSearchingContainer.value.querySelector(\r\n \".nyk-js--site-searching-input\"\r\n )\r\n input?.focus()\r\n }\r\n\r\n return {\r\n searchInput,\r\n searchResults,\r\n searchFacts,\r\n unfilteredNumberOfResults,\r\n activeFilter,\r\n changeFilter,\r\n currentPage,\r\n inputChanged,\r\n pageTotalSize,\r\n getMoreResults,\r\n emptyInput,\r\n inputIsNotEmpty,\r\n ariaLabels\r\n }\r\n },\r\n}\r\n","import { render } from \"./SiteSearching.vue?vue&type=template&id=5d63c790\"\nimport script from \"./SiteSearching.vue?vue&type=script&lang=js\"\nexport * from \"./SiteSearching.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { ref, onMounted } from \"vue\"\r\nimport addScrollCallback from \"../../foundation/js/addScrollCallback\"\r\n\r\nexport default {\r\n name: \"StickyBox\",\r\n props: {\r\n targetEndId: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n setup(props) {\r\n const classModifiers = ref(false)\r\n const stickyBox = ref(null)\r\n\r\n onMounted(() => {\r\n const rect = stickyBox.value.getBoundingClientRect()\r\n\r\n const initTargetPos = rect.top + rect.height + window.scrollY\r\n\r\n let initTargetEndPos = undefined\r\n\r\n if (props.targetEndId) {\r\n const endTarget = document.getElementById(props.targetEndId)\r\n const endTargetRect = endTarget?.getBoundingClientRect()\r\n if (endTargetRect) {\r\n initTargetEndPos = endTargetRect.top + window.scrollY - window.innerHeight\r\n }\r\n }\r\n\r\n addScrollCallback(() => {\r\n classModifiers.value = initTargetPos < window.scrollY\r\n\r\n if (initTargetEndPos && initTargetEndPos < window.scrollY) {\r\n classModifiers.value = false\r\n }\r\n })\r\n })\r\n\r\n return {\r\n stickyBox,\r\n classModifiers,\r\n }\r\n },\r\n}\r\n","import { onMounted, ref } from \"vue\"\r\nimport { resetInputValue, cprFormatting, fileUploaded } from \"../../foundation/js/form-methods\"\r\n\r\nexport default {\r\n name: \"TheForms\",\r\n setup() {\r\n onMounted(() => {\r\n const allInputGroups = document.querySelectorAll(\".nyk-js--form\")\r\n allInputGroups.forEach((group) => {\r\n const inputs = group.querySelectorAll(\"input\")\r\n inputs.forEach((input) => setDisabledClass(input, group))\r\n const select = group.querySelector(\"select\")\r\n setDisabledClass(select, group)\r\n })\r\n })\r\n\r\n const setDisabledClass = (target, group) => {\r\n if (target && target.disabled) {\r\n if (target.classList.value.includes(\"nyk-form-choice__content__item__choice__input\")) {\r\n const inputWrapper = target.closest(\".nyk-js--choice-wrapper\")\r\n inputWrapper?.classList.add(\"nyk-form-choice__content__item--disabled\") // set class for disabled choice\r\n } else {\r\n group.classList.add(\"nyk-form--disabled\") // set class for disabled input\r\n }\r\n }\r\n }\r\n\r\n const countCharacters = (e) => {\r\n const textarea = e.target\r\n const maxLength = textarea.getAttribute(\"maxlength\")\r\n const currentLength = textarea.value.length\r\n const wrapper = e.target.closest(\".nyk-js--form\")\r\n const counter = wrapper.querySelector(\".nyk-js--characters-count\")\r\n if (counter) {\r\n counter.innerText = `${currentLength}/${maxLength}`\r\n }\r\n }\r\n\r\n return {\r\n resetInputValue,\r\n cprFormatting,\r\n fileUploaded,\r\n countCharacters,\r\n }\r\n },\r\n}\r\n","export default {\r\n name: \"ThemeSwitch\",\r\n props: {\r\n theme: {\r\n type: String,\r\n required: true\r\n }\r\n },\r\n setup(props){\r\n \r\n const switchTheme = (e) => {\r\n document.querySelector('HTML').classList.toggle(props.theme, e.target.checked)\r\n }\r\n\r\n return {\r\n switchTheme\r\n }\r\n }\r\n}","import { registerGtmDataLayer } from '../../../../Features/Blocks/Video/gtmDataLayerService';\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n suggestions: [],\r\n results: [],\r\n facts: [],\r\n totalNumberOfResults: 0,\r\n unfilteredNumberOfResults: 0,\r\n pageNumber: 0,\r\n pageTotalSize: 0,\r\n activeFilter: \"\"\r\n },\r\n mutations: {\r\n set_search_suggestions(state, suggestions) {\r\n state.suggestions = suggestions\r\n },\r\n set_clear_search_suggestions(state) {\r\n state.suggestions = []\r\n },\r\n set_search_results(state, results) {\r\n state.results = results\r\n },\r\n set_clear_search_results(state) {\r\n state.results = []\r\n },\r\n set_update_search_results(state, results) {\r\n let array = []\r\n Array.from(state.results).forEach((result) => array.push({...result}))\r\n results.forEach((result) => array.push(result))\r\n state.results = array\r\n },\r\n set_facts(state, facts) {\r\n state.facts = facts\r\n },\r\n set_clear_facts(state) {\r\n state.facts = []\r\n },\r\n set_total_number_of_results(state, totalNumberOfResults) {\r\n state.totalNumberOfResults = totalNumberOfResults\r\n },\r\n set_unfiltered_number_of_results(state, unfilteredNumberOfResults) {\r\n state.unfilteredNumberOfResults = unfilteredNumberOfResults\r\n },\r\n set_active_filter(state, filter) {\r\n state.activeFilter = filter\r\n },\r\n set_page_number(state, page) {\r\n state.pageNumber = page\r\n },\r\n set_page_total_size(state, page) {\r\n state.pageTotalSize = page\r\n },\r\n },\r\n actions: {\r\n performSearchSuggestions(context, config) {\r\n const request = new Request(config.apiUrl + \"?q=\" + config.query)\r\n\r\n fetch(request)\r\n .then(res => {\r\n if (res.ok) {\r\n return res.json()\r\n } else {\r\n throw new Error(\"Didn't work\")\r\n }\r\n })\r\n .then(json => {\r\n context.commit('set_search_suggestions', json.results)\r\n })\r\n .catch(err => {\r\n console.error(err)\r\n })\r\n },\r\n clearSuggestions(context) {\r\n context.commit('set_clear_search_suggestions')\r\n },\r\n performSearch(context, config) {\r\n let requestUrl = config.apiUrl + `?searchTerm=${config.query}&language=${config.lang}&pageNumber=${config.page}`\r\n if (context.state.activeFilter) {\r\n requestUrl += `&searchSection=${encodeURIComponent(context.state.activeFilter)}`\r\n }\r\n const request = new Request(requestUrl)\r\n\r\n fetch(request)\r\n .then(res => {\r\n if (res.ok) {\r\n return res.json()\r\n } else {\r\n throw new Error(\"Didn't work\")\r\n }\r\n })\r\n .then(json => {\r\n let dataLayer = {\r\n 'event': 'track-event',\r\n 'eventCategory': \"intern søgning\",\r\n 'eventAction': \"submit\",\r\n 'eventLabel': config.query,\r\n 'eventValue': json.unfilteredNumberOfHits,\r\n 'eventNoninteraction': true,\r\n 'searchNumresult': json.unfilteredNumberOfHits\r\n };\r\n\r\n registerGtmDataLayer(dataLayer);\r\n\r\n\r\n if (config.page === 1) {\r\n context.commit('set_search_results', json.hits) \r\n } else {\r\n context.commit('set_update_search_results', json.hits) \r\n }\r\n context.commit('set_page_number', config.page)\r\n context.commit('set_page_total_size', json.pagingPagesTotal)\r\n context.commit('set_total_number_of_results', json.numberOfHits)\r\n context.commit('set_unfiltered_number_of_results', json.unfilteredNumberOfHits)\r\n context.commit('set_facts', json.sectionFacets)\r\n })\r\n .catch(err => {\r\n console.error(err)\r\n })\r\n },\r\n clearResults(context) {\r\n context.commit('set_clear_search_results')\r\n context.commit('set_clear_facts')\r\n context.commit('set_total_number_of_results', 0)\r\n context.commit('set_active_filter', \"\")\r\n context.commit('set_page_number', 0)\r\n context.commit('set_page_total_size', 0)\r\n context.commit('set_unfiltered_number_of_results', 0)\r\n },\r\n facts(context, config) {\r\n context.commit('set_facts', config.facts)\r\n },\r\n totalNumberOfResults(context, config) {\r\n context.commit('set_total_number_of_results', config.number)\r\n },\r\n activeFilter(context, config) {\r\n context.commit('set_active_filter', config.filter)\r\n },\r\n pageNumber(context, config) {\r\n context.commit('set_page_number', config.page)\r\n },\r\n pageTotalSize(context, config) {\r\n context.commit('set_page_total_size', config.page)\r\n }\r\n }\r\n}","import { getJobPostingsRows } from \"../../components/JobPostingsTable/JobPostingsTable.options.adapter\"\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n headers: [],\r\n rows: [],\r\n filters: [],\r\n redirectUrl: \"\",\r\n },\r\n mutations: {\r\n set_headers(state, value) {\r\n state.headers = value\r\n },\r\n set_rows(state, value) {\r\n state.rows = value\r\n },\r\n set_filters(state, value) {\r\n state.filters = value\r\n },\r\n set_filtered_rows(state, value) {\r\n state.rows = value\r\n },\r\n set_redirect_url(state, value) {\r\n state.redirectUrl = value\r\n },\r\n },\r\n actions: {\r\n headers(context, config) {\r\n context.commit(\"set_headers\", config.headers)\r\n },\r\n rows(context, config) {\r\n context.commit(\"set_rows\", config.rows)\r\n },\r\n filters(context, config) {\r\n context.commit(\"set_filters\", config.filters)\r\n },\r\n redirectUrl(context, config) {\r\n context.commit(\"set_redirect_url\", config.url)\r\n },\r\n filteredRows(context, config) {\r\n // TODO: use api\r\n\r\n let url = `${config.api}?type=${config.filter}`\r\n\r\n const request = new Request(url)\r\n\r\n fetch(request)\r\n .then((res) => {\r\n if (res.ok) {\r\n return res.json()\r\n } else {\r\n throw new Error(\"Didn't work\")\r\n }\r\n })\r\n .then((json) => {\r\n const rows = getJobPostingsRows(json)\r\n context.commit(\"set_rows\", rows)\r\n })\r\n .catch((err) => {\r\n console.error(err)\r\n })\r\n },\r\n },\r\n}\r\n","import { saveAs } from \"foundation/js/file-download\";\r\n\r\nfunction findLastBotResponseId(messages) {\r\n for (let i = messages.length - 1; i >= 0; i--) {\r\n if (messages[i].source === \"bot\") {\r\n return messages[i].id;\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nfunction createMessageObject(textContent, id) {\r\n return {\r\n id: id,\r\n dateCreated: null,\r\n language: null,\r\n source: \"client\",\r\n elements: [\r\n {\r\n type: \"text\",\r\n payload: {\r\n html: null,\r\n text: textContent,\r\n links: null,\r\n },\r\n },\r\n ],\r\n };\r\n}\r\n\r\nfunction createStatusMessageObject(statusText) {\r\n return {\r\n ...createMessageObject(\"\", \"status_message\"),\r\n source: \"system\",\r\n elements: [\r\n {\r\n type: \"statusMessage\",\r\n payload: {\r\n statusMessage: statusText,\r\n },\r\n },\r\n ],\r\n };\r\n}\r\n\r\nfunction createClientMessageId(state) {\r\n return state.latestResponseId\r\n ? (parseInt(state.latestResponseId) + 1).toString()\r\n : undefined;\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n conversation: undefined,\r\n messages: [],\r\n chatWindowOpen: false,\r\n showFeedback: false,\r\n connectionError: false,\r\n labels: undefined,\r\n feedbackActionId: undefined,\r\n messageFeedback: [],\r\n latestResponseId: undefined,\r\n maxCharacters: undefined,\r\n isAwaitingResponse: false,\r\n feedbackStep: 'ChatFeedbackInput',\r\n feedbackPayload: undefined,\r\n expiredMessageAdded: false,\r\n previousWasHumanAgent: false,\r\n triggerActionId: undefined,\r\n },\r\n mutations: {\r\n set_is_awaiting_response(state, value) {\r\n state.isAwaitingResponse = value;\r\n },\r\n set_conversation(state, value) {\r\n state.conversation = value;\r\n },\r\n set_feedback_step(state,value) {\r\n state.feedbackStep = value\r\n },\r\n set_feedback_payload(state,value) {\r\n state.feedbackPayload = value\r\n },\r\n append_messages(state, messages) {\r\n if (!messages || !messages.length) {\r\n return true\r\n }\r\n // Filter system messages since these are not supplied by Boost api and should not be filteren on latestResponseId\r\n const newMessagesList = messages.filter(message => message.source === \"system\" || (state.latestResponseId ? parseInt(message.id) > parseInt(state.latestResponseId) : true));\r\n let index = 0;\r\n while (index < newMessagesList.length) {\r\n const message = newMessagesList[index];\r\n if (message.source === \"client\") {\r\n break\r\n }\r\n if (message.isHumanAgent && !state.previousWasHumanAgent) {\r\n const newMessage = createStatusMessageObject(state.labels[\"customerServiceJoined\"]);\r\n newMessagesList.splice(index, 0, newMessage);\r\n state.previousWasHumanAgent = true;\r\n index++;\r\n } if (!message.isHumanAgent && state.previousWasHumanAgent) {\r\n const newMessage = createStatusMessageObject(state.labels[\"virtualAgentJoined\"]);\r\n newMessagesList.splice(index, 0, newMessage);\r\n state.previousWasHumanAgent = false;\r\n index++;\r\n }\r\n index++;\r\n }\r\n \r\n if (state.messages && state.messages.length) {\r\n if (newMessagesList.length) {\r\n state.messages = [...state.messages, ...newMessagesList];\r\n }\r\n } else {\r\n state.messages = [...newMessagesList];\r\n }\r\n },\r\n set_chat_window_open(state, value) {\r\n const sessionStorageString = sessionStorage.getItem(\"chatPanelConversation\");\r\n if (sessionStorageString) {\r\n const sessionStorageObject = JSON.parse(sessionStorageString);\r\n sessionStorageObject.windowOpen = value;\r\n sessionStorage.setItem(\"chatPanelConversation\", JSON.stringify(sessionStorageObject));\r\n }\r\n state.chatWindowOpen = value;\r\n },\r\n set_labels(state, payload) {\r\n state.labels = payload;\r\n },\r\n set_feedback_action_id(state, value) {\r\n state.feedbackActionId = value;\r\n },\r\n set_show_feedback(state, value) {\r\n state.showFeedback = value;\r\n },\r\n set_message_feedback(state, payload) {\r\n const { id, value } = payload;\r\n const index = state.messageFeedback.findIndex((item) => item.id === id);\r\n\r\n if (index !== -1) {\r\n state.messageFeedback[index].value = value;\r\n } else {\r\n state.messageFeedback.push({ id, value });\r\n }\r\n },\r\n set_connection_error(state, value) {\r\n state.connectionError = value;\r\n },\r\n set_latest_response_id(state, value) {\r\n state.latestResponseId = value;\r\n },\r\n setPollingInterval(state, intervalId) {\r\n state.pollingInterval = intervalId;\r\n },\r\n clearPollingInterval(state) {\r\n if (state.pollingInterval) {\r\n clearInterval(state.pollingInterval);\r\n state.pollingInterval = null;\r\n }\r\n },\r\n expired_message_added(state, value) {\r\n state.expiredMessageAdded = value;\r\n },\r\n set_feedback_api_message(state, value) {\r\n state.feedbackApiMessage = value\r\n },\r\n set_floating_trigger_action_id(state, triggerActionId) {\r\n state.triggerActionId = triggerActionId;\r\n },\r\n reset_chat_client_state(state) {\r\n state.conversation = undefined;\r\n state.messages = [];\r\n state.showFeedback = false;\r\n state.connectionError = false;\r\n state.chatWindowOpen = false;\r\n state.messageFeedback = [];\r\n state.latestResponseId = undefined;\r\n state.maxCharacters = undefined;\r\n state.isAwaitingResponse = false;\r\n state.feedbackApiMessage = undefined;\r\n state.feedbackStep = 'ChatFeedbackInput';\r\n state.triggerActionId = undefined;\r\n sessionStorage.removeItem(\"chatPanelConversation\");\r\n }\r\n },\r\n actions: {\r\n openChatAndHandleActionId({ state, commit, getters, dispatch }, actionId) {\r\n commit(\"set_floating_trigger_action_id\", actionId);\r\n if (!state.chatWindowOpen) {\r\n commit(\"set_chat_window_open\", true);\r\n }\r\n if (getters[\"isConversationOngoing\"]) {\r\n\r\n dispatch(\"sendActionId\", {actionId, isFloatingTrigger: true});\r\n }\r\n },\r\n async startConversation({ state, commit, dispatch }) {\r\n const request = new Request(process.env.CHATPANEL_START_CONVERSATION, {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify( state.triggerActionId ? { actionId: state.triggerActionId } : {})\r\n });\r\n\r\n try {\r\n commit(\"set_is_awaiting_response\", true);\r\n\r\n const response = await fetch(request);\r\n\r\n if (!response.ok) {\r\n commit(\"set_connection_error\", true);\r\n throw new Error(\"Failed to start conversation\");\r\n }\r\n else {\r\n commit(\"set_connection_error\", false);\r\n }\r\n\r\n const json = await response.json();\r\n dispatch(\"handleConversationData\", json);\r\n return true;\r\n } catch (err) {\r\n console.error(\"Error starting conversation:\", err);\r\n throw new Error(\"Unable to start conversation: \" + err);\r\n } finally {\r\n commit(\"set_is_awaiting_response\", false);\r\n }\r\n },\r\n async resumeConversation({ commit, dispatch, state}) {\r\n const sessionStorageChatPanelConversation = sessionStorage.getItem('chatPanelConversation');\r\n if (!sessionStorageChatPanelConversation) {\r\n console.error(\"No conversation to resume\");\r\n return false\r\n }\r\n const parsedSessionStorageConversation = JSON.parse(sessionStorageChatPanelConversation);\r\n const id = parsedSessionStorageConversation?.conversation?.id;\r\n const url = `${process.env.CHATPANEL_RESUME_CONVERSATION}?conversation_id=${id}`;\r\n\r\n const request = new Request(url, {\r\n method: \"GET\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n });\r\n\r\n try {\r\n commit(\"set_is_awaiting_response\", true);\r\n\r\n const response = await fetch(request);\r\n\r\n if (!response.ok) {\r\n commit(\"set_connection_error\", true);\r\n throw new Error(\r\n \"Failed to resume conversation: \" + response.statusText\r\n );\r\n }\r\n else {\r\n commit(\"set_connection_error\", false);\r\n }\r\n const json = await response.json();\r\n dispatch(\"handleConversationData\", json);\r\n return true;\r\n } catch (err) {\r\n console.error(\"Error starting conversation:\", err);\r\n throw new Error(\"Unable to start conversation: \" + err);\r\n } finally {\r\n commit(\"set_is_awaiting_response\", false);\r\n }\r\n },\r\n handleConversationData({ commit, dispatch, getters, state }, json) {\r\n dispatch(\"setConversationState\", json.conversation);\r\n\r\n commit(\"set_feedback_api_message\", json.response || json.responses);\r\n\r\n if (getters[\"isConversationExpired\"] && !state.expiredMessageAdded) {\r\n const sessionStorageChatPanelConversation = sessionStorage.getItem('chatPanelConversation');\r\n let sessionStorageMessages = [];\r\n if (sessionStorageChatPanelConversation) {\r\n const parsedSessionStorageConversation = JSON.parse(sessionStorageChatPanelConversation);\r\n sessionStorageMessages = parsedSessionStorageConversation.response ? parsedSessionStorageConversation.response : parsedSessionStorageConversation.responses\r\n }\r\n const expiredMessage = [...sessionStorageMessages, ...[createStatusMessageObject(state.labels[\"chatExpiredStatusMessage\"])]]\r\n const conversationWithExpiredMessage = {\r\n conversation: json.conversation,\r\n ...expiredMessage.length ? { responses: expiredMessage} : {response: expiredMessage}\r\n }\r\n dispatch(\"handleConversationResponse\", conversationWithExpiredMessage)\r\n commit(\"expired_message_added\", true)\r\n return false\r\n }\r\n else {\r\n dispatch(\"handleConversationResponse\", json);\r\n sessionStorage.setItem(\"chatPanelConversation\", JSON.stringify({conversation: state.conversation, responses: state.messages, windowOpen: state.chatWindowOpen}));\r\n }\r\n },\r\n handleConversationResponse({ commit, dispatch, state }, json) {\r\n if (json.response) {\r\n commit(\"append_messages\", [json.response]);\r\n } else if (json.responses && json.responses.length) {\r\n commit(\"append_messages\", json.responses);\r\n }\r\n const lastestBotResponse = findLastBotResponseId(state.messages);\r\n if (lastestBotResponse !== null) {\r\n commit(\"set_latest_response_id\", lastestBotResponse);\r\n }\r\n if (json.conversation.state.poll) {\r\n dispatch(\"startPolling\");\r\n } else {\r\n dispatch(\"stopPolling\");\r\n }\r\n },\r\n async endConversation({ state }) {\r\n const url = `${process.env.CHATPANEL_END_CONVERSATION}?conversation_id=${state.conversation.id}`;\r\n const request = new Request(url, {\r\n method: process.env.ENVIRONMENT === \"PRODUCTION\" ? \"POST\" : \"GET\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n });\r\n try {\r\n const response = await fetch(request);\r\n\r\n if (!response.ok) {\r\n throw new Error(\"Failed to end conversation\");\r\n }\r\n \r\n sessionStorage.removeItem(\"chatPanelConversation\");\r\n return true;\r\n } catch (err) {\r\n throw new Error(\"Unable to end conversation.: \" + err);\r\n }\r\n },\r\n async sendActionId({ commit, state, dispatch }, { actionId, isFloatingTrigger = false } = {}) {\r\n const endpoint = isFloatingTrigger ? process.env.CHATPANEL_SEND_FLOATING_TRIGGER_ACTION : process.env.CHATPANEL_SEND_ACTION\r\n const url = `${endpoint}?conversation_id=${state.conversation.id}`;\r\n const request = new Request(url, {\r\n method: process.env.ENVIRONMENT === \"PRODUCTION\" ? \"POST\" : \"GET\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n ...process.env.ENVIRONMENT === \"PRODUCTION\" ? {body: JSON.stringify({ actionId: actionId })} : null,\r\n });\r\n\r\n try {\r\n commit(\"set_is_awaiting_response\", true);\r\n\r\n const response = await fetch(request);\r\n if (!response.ok) {\r\n throw new Error(\"Failed to send action link\");\r\n }\r\n const json = await response.json()\r\n dispatch(\"handleConversationData\", json);\r\n return true;\r\n } catch (err) {\r\n throw new Error(\"Unable to send action link: \" + err);\r\n } finally {\r\n commit(\"set_is_awaiting_response\", false);\r\n }\r\n },\r\n addClientMessage({commit, state}, payload) {\r\n const clientMessageId = createClientMessageId(state);\r\n commit(\"append_messages\", [createMessageObject(payload, clientMessageId)]);\r\n },\r\n async sendMessage({ state, commit, dispatch }, payload) {\r\n const url = `${process.env.CHATPANEL_SEND_MESSAGE}?conversation_id=${state.conversation.id}`;\r\n const request = new Request(url, {\r\n method: process.env.ENVIRONMENT === \"PRODUCTION\" ? \"POST\" : \"GET\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n ...process.env.ENVIRONMENT === \"PRODUCTION\" ? {body: JSON.stringify({ text: payload })} : null,\r\n });\r\n try {\r\n dispatch(\"addClientMessage\", payload)\r\n commit(\"set_is_awaiting_response\", true);\r\n const response = await fetch(request);\r\n if (!response.ok) {\r\n throw new Error(\"Failed to send message\");\r\n }\r\n const json = await response.json();\r\n dispatch(\"handleConversationData\", json);\r\n return true;\r\n } catch (err) {\r\n throw new Error(\"Unable to send message: \" + err);\r\n } finally {\r\n commit(\"set_is_awaiting_response\", false);\r\n }\r\n },\r\n async sendMessageFeedback({ state, commit }, payload) {\r\n const {feedback, id} = payload;\r\n const url = `${process.env.CHATPANEL_SEND_MESSAGE_FEEDBACK}?conversation_id=${state.conversation.id}`;\r\n const request = new Request(url, {\r\n method: process.env.ENVIRONMENT === \"PRODUCTION\" ? \"POST\" : \"GET\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n ...process.env.ENVIRONMENT === \"PRODUCTION\" ? {body: JSON.stringify({ feedback, id })} : null,\r\n });\r\n\r\n try {\r\n const response = await fetch(request);\r\n if (!response.ok) {\r\n throw new Error(\"Failed to send feedback\");\r\n }\r\n commit(\"set_message_feedback\", {\r\n id: payload.id,\r\n value: payload.feedback,\r\n });\r\n return true;\r\n } catch (err) {\r\n throw new Error(\"Unable to send feedback: \" + err);\r\n }\r\n },\r\n async sendConversationFeedback({ state, commit }, payload) {\r\n const url = `${process.env.CHATPANEL_SEND_CONVERSATION_FEEDBACK}?conversation_id=${state.conversation.id}`;\r\n const request = new Request(url, {\r\n method: process.env.ENVIRONMENT === \"PRODUCTION\" ? \"POST\" : \"GET\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n ...process.env.ENVIRONMENT === \"PRODUCTION\" ? {body: JSON.stringify({ ...payload.feedback, feedbackActionId: state.feedbackActionId })} : null,\r\n });\r\n\r\n try {\r\n const response = await fetch(request);\r\n const json = await response.json()\r\n commit(\"set_feedback_payload\", payload.feedback.feedback)\r\n commit(\"set_feedback_api_message\", json)\r\n if (!response.ok) {\r\n throw new Error(\"Failed to send feedback\");\r\n }\r\n return true;\r\n } catch (err) {\r\n throw new Error(\"Unable to send feedback: \" + err);\r\n }\r\n },\r\n async deleteMessageHistory({ state, dispatch }) {\r\n const url = `${process.env.CHATPANEL_DELETE_MESSAGE_HISTORY}?conversation_id=${state.conversation.id}`;\r\n const request = new Request(url, {\r\n method: process.env.ENVIRONMENT === \"PRODUCTION\" ? \"POST\" : \"GET\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n });\r\n\r\n try {\r\n const response = await fetch(request);\r\n if (!response.ok) {\r\n throw new Error(\"Failed to delete message history\");\r\n }\r\n dispatch(\"resetChat\");\r\n return true;\r\n } catch (err) {\r\n throw new Error(\"Unable to delete message history: \" + err);\r\n }\r\n },\r\n async downloadConversation({ state, dispatch }) {\r\n const url = `${process.env.CHATPANEL_DOWNLOAD_MESSAGE_HISTORY}?conversation_id=${state.conversation.id}`;\r\n const request = new Request(url, {\r\n method: \"GET\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n });\r\n\r\n try {\r\n const response = await fetch(request);\r\n if (!response.ok) {\r\n throw new Error(\"Failed to delete message history\");\r\n }\r\n const blob = new Blob([await response.blob()], {\r\n type: \"text/plain;charset=utf-8\",\r\n });\r\n saveAs(blob, \"Conversation.txt\");\r\n return true;\r\n } catch (error) {\r\n throw new Error(\"Unable to download message history: \" + error);\r\n }\r\n },\r\n async startPolling({ commit, state, dispatch }) {\r\n if (state.pollingInterval) {\r\n clearInterval(state.pollingInterval);\r\n }\r\n\r\n const intervalId = setInterval(async () => {\r\n try {\r\n const url = `${process.env.CHATPANEL_STATUS_POLLING_ENDPOINT}?conversation_id=${state.conversation.id}&latest_response_id=${state.latestResponseId}`;\r\n const request = new Request(url, {\r\n method: \"GET\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n });\r\n\r\n const response = await fetch(request);\r\n dispatch(\"handleConversationData\", await response.json());\r\n\r\n if (!response.ok) {\r\n commit(\"set_connection_error\", true);\r\n } else {\r\n commit(\"set_connection_error\", false);\r\n }\r\n } catch (error) {\r\n throw new Error(error);\r\n }\r\n }, 3000);\r\n commit(\"setPollingInterval\", intervalId);\r\n },\r\n setConversationState({commit}, payload) {\r\n commit(\"set_conversation\", payload);\r\n },\r\n stopPolling({ commit }) {\r\n commit(\"clearPollingInterval\");\r\n },\r\n minimizeChatWindow({ commit }) {\r\n commit(\"set_chat_window_open\", false);\r\n },\r\n showFeedback({ commit }, payload) {\r\n commit(\"set_show_feedback\", payload);\r\n },\r\n resetChat({ state, commit, dispatch, getters }) {\r\n dispatch(\"stopPolling\");\r\n if (getters[\"isConversationOngoing\"]) {\r\n dispatch(\"endConversation\");\r\n }\r\n commit(\"reset_chat_client_state\");\r\n }\r\n },\r\n getters: {\r\n isConversationActive(state) {\r\n return state.conversation?.id;\r\n },\r\n isConversationOngoing(state) {\r\n return state.conversation?.id && !state.conversation?.state?.expired;\r\n },\r\n isConversationExpired(state) {\r\n return state.conversation?.state?.expired;\r\n },\r\n getFeedbackApiMessage(state) {\r\n if (\r\n state.feedbackApiMessage?.elements &&\r\n state.feedbackApiMessage.elements.length\r\n ) {\r\n return state.feedbackApiMessage?.elements[0].payload.html;\r\n }\r\n return \"\"\r\n },\r\n }\r\n};\r\n","export default {\r\n namespaced: true,\r\n state: {\r\n modalTitle: '',\r\n modalSubTitle: '',\r\n componentName: '',\r\n componentProps: {},\r\n htmlContent: '',\r\n open: false,\r\n isLoading: false,\r\n style: '',\r\n hashObjects: [],\r\n },\r\n mutations: {\r\n set_modal_title(state, value) {\r\n state.modalTitle = value\r\n },\r\n set_modal_sub_title(state, value) {\r\n state.modalSubTitle = value\r\n },\r\n set_component_name(state, value) {\r\n state.componentName = value\r\n },\r\n set_component_props(state, value) {\r\n state.componentProps = value\r\n },\r\n set_html_content(state, value) {\r\n state.htmlContent = value\r\n },\r\n set_style(state, value) {\r\n state.style = value\r\n },\r\n set_open(state, value) {\r\n state.open = value\r\n },\r\n set_is_loading(state, value) {\r\n state.isLoading = value\r\n },\r\n set_hash_objects(state, value) {\r\n state.hashObjects = state.hashObjects.concat(value)\r\n },\r\n },\r\n actions: {\r\n setModalContent(context, payload) {\r\n if (payload.modalTitle) context.commit('set_modal_title', payload.modalTitle)\r\n if (payload.modalSubTitle) context.commit('set_modal_sub_title', payload.modalSubTitle)\r\n if (payload.componentName) context.commit('set_component_name', payload.componentName)\r\n if (payload.componentProps) context.commit('set_component_props', payload.componentProps)\r\n if (payload.htmlContent) context.commit('set_html_content', payload.htmlContent)\r\n if (payload.style) context.commit('set_style', payload.style)\r\n },\r\n setOpen(context, payload) {\r\n context.commit('set_open', payload.open)\r\n if (!payload.open) {\r\n context.commit('set_component_name', '')\r\n context.commit('set_component_props', {})\r\n context.commit('set_modal_title', '')\r\n context.commit('set_modal_sub_title', '')\r\n context.commit('set_html_content', '')\r\n context.commit('set_style', '')\r\n context.commit('set_is_loading', false)\r\n\r\n removeHashFromUrl()\r\n }\r\n },\r\n setIsLoading(context, payload) {\r\n context.commit('set_is_loading', payload.isLoading)\r\n },\r\n setHashObject(context, payload) {\r\n context.commit('set_hash_objects', payload.object)\r\n\r\n // start eventlistener for hash change\r\n reactOnHashChange(context)\r\n },\r\n },\r\n}\r\n\r\nconst reactOnHashChange = (context) => {\r\n const hashChangeListener = function (e) {\r\n const hashObjects = context.state.hashObjects\r\n const hash = window.location.hash.replace('#', '')\r\n\r\n const hashObject = hashObjects.find((x) => x.anchorId === hash)\r\n\r\n if (hashObject) {\r\n context.commit('set_modal_title', hashObject.title)\r\n context.commit('set_html_content', hashObject.description)\r\n context.commit('set_style', ['small-long', 'white'])\r\n context.commit('set_open', true)\r\n }\r\n }\r\n\r\n window.addEventListener('hashchange', hashChangeListener, false)\r\n}\r\n\r\nconst removeHashFromUrl = () => {\r\n const hash = window.location.hash\r\n if (hash) {\r\n // Get the current URL\r\n const currentURL = window.location.href\r\n // Remove the hash from the URL\r\n const urlWithoutHash = currentURL.split('#')[0]\r\n\r\n // Update the browser's address bar\r\n window.history.replaceState({}, document.title, urlWithoutHash)\r\n }\r\n}","// generated import statements - any manual change made here will be overwritten automatically. \n\nimport ArticlesInsight from '../../Features/Blocks/ArticlesInsight/ArticlesInsight.init.js';\n\nimport ContextBanner from '../../Features/Blocks/BreakingNews/ContextBanner/ContextBanner.init.js';\n\nimport CalculatorCompareTable from '../../Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorCompareTable/CalculatorCompareTable.init.js';\n\nimport CalculatorInfoBox from '../../Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorInfoBox/CalculatorInfoBox.init.js';\n\nimport CalculatorJuraContent from '../../Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorJuraContent/CalculatorJuraContent.init.js';\n\nimport CalculatorSummary from '../../Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorSummary/CalculatorSummary.init.js';\n\nimport CalculatorTable from '../../Features/Blocks/Calculators/NewLoanCalculator/frontend/components/CalculatorTable/CalculatorTable.init.js';\n\nimport FormGenericInput from '../../Features/Blocks/Calculators/NewLoanCalculator/frontend/components/FormGenericInput/FormGenericInput.init.js';\n\nimport FormRadioGroupInput from '../../Features/Blocks/Calculators/NewLoanCalculator/frontend/components/FormRadioGroupInput/FormRadioGroupInput.init.js';\n\nimport Modal from '../../Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/Modal.init.js';\n\nimport AdjustLoanContent from '../../Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/ModalContent/AdjustLoanContent/AdjustLoanContent.init.js';\n\nimport SwitchLoanTypeContent from '../../Features/Blocks/Calculators/NewLoanCalculator/frontend/components/Modal/ModalContent/SwitchLoanTypeContent/SwitchLoanTypeContent.init.js';\n\nimport NewLoanCalculatorInputs from '../../Features/Blocks/Calculators/NewLoanCalculator/frontend/components/NewLoanCalculatorInputs/NewLoanCalculatorInputs.init.js';\n\nimport NewLoanCalculatorInput from '../../Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorInput/NewLoanCalculatorInput.init.js';\n\nimport NewLoanCalculatorResult from '../../Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/NewLoanCalculatorResult.init.js';\n\nimport NewLoanCalculatorResultDesktop from '../../Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/NewLoanCalculatorResultDesktop/NewLoanCalculatorResultDesktop.init.js';\n\nimport NewLoanCalculatorResultMobile from '../../Features/Blocks/Calculators/NewLoanCalculator/frontend/NewLoanCalculatorResult/NewLoanCalculatorResultMobile/NewLoanCalculatorResultMobile.init.js';\n\nimport SignupMultipleNewsletters from '../../Features/Blocks/Newsletters/NewslettersSignup/SignupMultipleNewsletters/SignupMultipleNewsletters.init.js';\n\nimport SignupSingleNewsletter from '../../Features/Blocks/Newsletters/NewslettersSignup/SignupSingleNewsletter/SignupSingleNewsletter.init.js';\n\nimport SignupStepActions from '../../Features/Blocks/Newsletters/NewslettersSignup/SignupStepActions/SignupStepActions.init.js';\n\nimport SignupStepEmail from '../../Features/Blocks/Newsletters/NewslettersSignup/SignupStepEmail/SignupStepEmail.init.js';\n\nimport SignupStepFullname from '../../Features/Blocks/Newsletters/NewslettersSignup/SignupStepFullname/SignupStepFullname.init.js';\n\nimport SignupStepReceipt from '../../Features/Blocks/Newsletters/NewslettersSignup/SignupStepReceipt/SignupStepReceipt.init.js';\n\nimport SignupStepSelectNewsletters from '../../Features/Blocks/Newsletters/NewslettersSignup/SignupStepSelectNewsletters/SignupStepSelectNewsletters.init.js';\n\nimport SendCalculationStepActions from '../../Features/Blocks/SendCalculation/Actions/SendCalculationStepActions.init.js';\n\nimport VideoBlock from '../../Features/Blocks/Video/VideoBlock.init.js';\n\nimport FindCenterContactPersons from '../../Features/FindCenter/Blocks/FindCenterContactPersons/FindCenterContactPersons.init.js';\n\nimport FindCenterMapAndEmployees from '../../Features/FindCenter/Blocks/FindCenterMapAndEmployees/FindCenterMapAndEmployees.init.js';\n\nimport CenterMap from '../../Features/FindCenter/Blocks/FindMap/CenterMap.init.js';\n\nimport JobApplication from '../../Features/JobPosting/Pages/JobApplication/JobApplication.init.js';\n\nimport FooterContact from '../../Features/Navigation/Blocks/FooterContact/FooterContact.init.js';\n\nimport Menu from '../../Features/Navigation/Menu/Menu.init.js';\n\nimport FeedbackBlock from '../../Features/Ratings/FeedbackBlock/FeedbackBlock.init.js';\n\nimport FeedbackStepOne from '../../Features/Ratings/FeedbackBlock/FeedbackStepOne/FeedbackStepOne.init.js';\n\nimport FeedbackStepThree from '../../Features/Ratings/FeedbackBlock/FeedbackStepThree/FeedbackStepThree.init.js';\n\nimport FeedbackStepTwo from '../../Features/Ratings/FeedbackBlock/FeedbackStepTwo/FeedbackStepTwo.init.js';\n\nimport AnkerMenu from '../../Foundation/FrontendComponents/AnkerMenu/AnkerMenu.init.js';\n\nimport MitNykreditMenu from '../../Foundation/FrontendComponents/MitNykredit/MitNykreditMenu/MitNykreditMenu.init.js';\n\nimport Breadcrumbs from '../../Foundation/Navigation/Breadcrumbs/Breadcrumbs.init.js';\n\nimport AnnualReportsTable from './components/AnnualReportsTable/AnnualReportsTable.init.js'\n\nimport ChatPanel from './components/ChatPanel/ChatPanel.init.js'\n\nimport ChatPanelFloatingTrigger from './components/ChatPanelFloatingTrigger/ChatPanelFloatingTrigger.init.js'\n\nimport ContactCard from './components/ContactCard/ContactCard.init.js'\n\nimport ContactCardOnboarding from './components/ContactCardOnboarding/ContactCardOnboarding.init.js'\n\nimport ContactCardPermission from './components/ContactCardPermission/ContactCardPermission.init.js'\n\nimport ContactStepComments from './components/ContactStepComments/ContactStepComments.init.js'\n\nimport ContactStepContent from './components/ContactStepContent/ContactStepContent.init.js'\n\nimport ContactStepIntro from './components/ContactStepIntro/ContactStepIntro.init.js'\n\nimport ContactStepNewsletters from './components/ContactStepNewsletters/ContactStepNewsletters.init.js'\n\nimport ContactStepOnboardingContent from './components/ContactStepOnboardingContent/ContactStepOnboardingContent.init.js'\n\nimport DocumentArchive from './components/DocumentArchive/DocumentArchive.init.js'\n\nimport DynamicDocumentList from './components/DynamicDocumentList/DynamicDocumentList.init.js'\n\nimport DynamicTable from './components/DynamicTable/DynamicTable.init.js'\n\nimport FilterTabs from './components/FilterTabs/FilterTabs.init.js'\n\nimport GoogleMapsWithMarkers from './components/GoogleMapsWithMarkers/GoogleMapsWithMarkers.init.js'\n\nimport InvestmentFundTable from './components/InvestmentFundTable/InvestmentFundTable.init.js'\n\nimport JobPostingsTable from './components/JobPostingsTable/JobPostingsTable.init.js'\n\nimport MultiSelectDropdown from './components/MultiSelectDropdown/MultiSelectDropdown.init.js'\n\nimport SearchInputField from './components/SearchInputField/SearchInputField.init.js'\n\nimport SearchOverlay from './components/SearchOverlay/SearchOverlay.init.js'\n\nimport SendCalculation from './components/SendCalculation/SendCalculation.init.js'\n\nimport SendCalculationStepContent from './components/SendCalculationStepContent/SendCalculationStepContent.init.js'\n\nimport SiteSearching from './components/SiteSearching/SiteSearching.init.js'\n\nimport SiteSearchingResult from './components/SiteSearchingResult/SiteSearchingResult.init.js'\n\nimport StickyBox from './components/StickyBox/StickyBox.init.js'\n\nimport TheForms from './components/TheForms/TheForms.init.js'\n\nimport ThemeSwitch from './components/ThemeSwitch/ThemeSwitch.init.js'\n\nimport Tooltip from './components/Tooltip/Tooltip.init.js'\n\n\nexport default function(Store){\n ArticlesInsight(Store)\n ContextBanner(Store)\n CalculatorCompareTable(Store)\n CalculatorInfoBox(Store)\n CalculatorJuraContent(Store)\n CalculatorSummary(Store)\n CalculatorTable(Store)\n FormGenericInput(Store)\n FormRadioGroupInput(Store)\n Modal(Store)\n AdjustLoanContent(Store)\n SwitchLoanTypeContent(Store)\n NewLoanCalculatorInputs(Store)\n NewLoanCalculatorInput(Store)\n NewLoanCalculatorResult(Store)\n NewLoanCalculatorResultDesktop(Store)\n NewLoanCalculatorResultMobile(Store)\n SignupMultipleNewsletters(Store)\n SignupSingleNewsletter(Store)\n SignupStepActions(Store)\n SignupStepEmail(Store)\n SignupStepFullname(Store)\n SignupStepReceipt(Store)\n SignupStepSelectNewsletters(Store)\n SendCalculationStepActions(Store)\n VideoBlock(Store)\n FindCenterContactPersons(Store)\n FindCenterMapAndEmployees(Store)\n CenterMap(Store)\n JobApplication(Store)\n FooterContact(Store)\n Menu(Store)\n FeedbackBlock(Store)\n FeedbackStepOne(Store)\n FeedbackStepThree(Store)\n FeedbackStepTwo(Store)\n AnkerMenu(Store)\n MitNykreditMenu(Store)\n Breadcrumbs(Store)\n AnnualReportsTable(Store)\n ChatPanel(Store)\n ChatPanelFloatingTrigger(Store)\n ContactCard(Store)\n ContactCardOnboarding(Store)\n ContactCardPermission(Store)\n ContactStepComments(Store)\n ContactStepContent(Store)\n ContactStepIntro(Store)\n ContactStepNewsletters(Store)\n ContactStepOnboardingContent(Store)\n DocumentArchive(Store)\n DynamicDocumentList(Store)\n DynamicTable(Store)\n FilterTabs(Store)\n GoogleMapsWithMarkers(Store)\n InvestmentFundTable(Store)\n JobPostingsTable(Store)\n MultiSelectDropdown(Store)\n SearchInputField(Store)\n SearchOverlay(Store)\n SendCalculation(Store)\n SendCalculationStepContent(Store)\n SiteSearching(Store)\n SiteSearchingResult(Store)\n StickyBox(Store)\n TheForms(Store)\n ThemeSwitch(Store)\n Tooltip(Store)\n}","import { createApp } from \"vue\"\r\nimport ArticlesInsight from \"./ArticlesInsight\"\r\n\r\nconst el = \".nyk-component--articles-insight\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((ArticlesInsightDOM) => {\r\n const props = {\r\n apiUrl: ArticlesInsightDOM.dataset.apiUrl,\r\n title: ArticlesInsightDOM.dataset.title,\r\n getMoreButtonText: ArticlesInsightDOM.dataset.getMoreButtonText,\r\n takeCount: ArticlesInsightDOM.dataset.takeCount ? parseInt(ArticlesInsightDOM.dataset.takeCount) : 9,\r\n subjects: ArticlesInsightDOM.dataset.subjects ? JSON.parse(ArticlesInsightDOM.dataset.subjects) : null,\r\n types: ArticlesInsightDOM.dataset.types ? JSON.parse(ArticlesInsightDOM.dataset.types) : null,\r\n excludePages: ArticlesInsightDOM.dataset.excludePages ? JSON.parse(ArticlesInsightDOM.dataset.excludePages) : null,\r\n }\r\n const component = createApp(ArticlesInsight, props).use(Store)\r\n component.mount(ArticlesInsightDOM)\r\n })\r\n }\r\n}\r\n","import {createApp} from 'vue'\r\nimport options from './ContextBanner.options'\r\n\r\nconst el = '.nyk-component--context-banner'\r\n\r\nexport default function(Store) {\r\n const DOM = document.querySelectorAll(el)\r\n DOM.forEach((ContextBannerDOM) => {\r\n const props = {\r\n bannerId: ContextBannerDOM.dataset.id\r\n }\r\n const template = ContextBannerDOM.outerHTML\r\n options.template = template\r\n const component = createApp(options, props).use(Store)\r\n component.mount(ContextBannerDOM)\r\n })\r\n}\r\n\r\n","import {createApp} from 'vue'\r\nimport CalculatorCompareTable from './CalculatorCompareTable'\r\n\r\nconst el = '.nyk-component--calculator-compare-table'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((CalculatorCompareTableDOM)=>{\r\n const component = createApp(CalculatorCompareTable).use(Store)\r\n component.mount(CalculatorCompareTableDOM)\r\n })\r\n }\r\n}","import {createApp} from 'vue'\r\nimport CalculatorInfoBox from './CalculatorInfoBox'\r\n\r\nconst el = '.nyk-component--calculator-info-box'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((CalculatorInfoBoxDOM)=>{\r\n const component = createApp(CalculatorInfoBox).use(Store)\r\n component.mount(CalculatorInfoBoxDOM)\r\n })\r\n }\r\n}","import { createApp } from 'vue'\r\nimport CalculatorJuraContent from './CalculatorJuraContent'\r\nimport handleComponentProps from '../../../../../../../Frontend/src/foundation/js/utils/handleComponentProps.js'\r\n\r\nconst el = '.nyk-component--calculator-jura-content'\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((CalculatorJuraContentDOM) => {\r\n const props = handleComponentProps(CalculatorJuraContent, CalculatorJuraContentDOM)\r\n const component = createApp(CalculatorJuraContent, props).use(Store)\r\n component.mount(CalculatorJuraContentDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from 'vue'\r\nimport CalculatorSummary from './CalculatorSummary'\r\nimport handleComponentProps from '../../../../../../../Frontend/src/foundation/js/utils/handleComponentProps.js'\r\n\r\nconst el = '.nyk-component--calculator-summary'\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((CalculatorSummaryDOM) => {\r\n const props = handleComponentProps(CalculatorSummary, CalculatorSummaryDOM)\r\n const component = createApp(CalculatorSummary, props).use(Store)\r\n component.mount(CalculatorSummaryDOM)\r\n })\r\n }\r\n}\r\n","import {createApp} from 'vue'\r\nimport CalculatorTable from './CalculatorTable'\r\n\r\nconst el = '.nyk-component--calculator-table'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((CalculatorTableDOM)=>{\r\n const component = createApp(CalculatorTable).use(Store)\r\n component.mount(CalculatorTableDOM)\r\n })\r\n }\r\n}","import { createApp } from 'vue'\r\nimport FormGenericInput from './FormGenericInput'\r\nimport handleComponentProps from '../../../../../../../Frontend/src/foundation/js/utils/handleComponentProps.js'\r\n\r\nconst el = '.nyk-component--form-generic-input'\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((FormGenericInputDOM) => {\r\n const props = handleComponentProps(FormGenericInput, FormGenericInputDOM)\r\n const component = createApp(FormGenericInput, props).use(Store)\r\n component.mount(FormGenericInputDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from 'vue'\r\nimport FormRadioGroupInput from './FormRadioGroupInput'\r\nimport handleComponentProps from '../../../../../../../Frontend/src/foundation/js/utils/handleComponentProps.js'\r\n\r\nconst el = '.nyk-component--form-radio-input'\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((FormRadioGroupInputDOM) => {\r\n const props = handleComponentProps(FormRadioGroupInput, FormRadioGroupInputDOM)\r\n const component = createApp(FormRadioGroupInput, props).use(Store)\r\n component.mount(FormRadioGroupInputDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from 'vue'\r\nimport Modal from './Modal'\r\n\r\nconst el = '.nyk-component--modal'\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((ModalDOM) => {\r\n const component = createApp(Modal).use(Store)\r\n component.mount(ModalDOM)\r\n })\r\n }\r\n}\r\n","import {createApp} from 'vue'\r\nimport AdjustLoanContent from './AdjustLoanContent'\r\n\r\nconst el = '.nyk-component--adjust-loan-content'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((AdjustLoanContentDOM)=>{\r\n const component = createApp(AdjustLoanContent).use(Store)\r\n component.mount(AdjustLoanContentDOM)\r\n })\r\n }\r\n}","import {createApp} from 'vue'\r\nimport SwitchLoanTypeContent from './SwitchLoanTypeContent'\r\n\r\nconst el = '.nyk-component--switch-loan-type-content'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((SwitchLoanTypeContentDOM)=>{\r\n const component = createApp(SwitchLoanTypeContent).use(Store)\r\n component.mount(SwitchLoanTypeContentDOM)\r\n })\r\n }\r\n}","import { createApp } from 'vue'\r\nimport LoanCalculatorInputs from './NewLoanCalculatorInputs'\r\nimport handleComponentProps from '../../../../../../../Frontend/src/foundation/js/utils/handleComponentProps.js'\r\n\r\nconst el = '.nyk-component--loan-calculator-inputs'\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((LoanCalculatorInputsDOM) => {\r\n const props = handleComponentProps(LoanCalculatorInputs, LoanCalculatorInputsDOM)\r\n const component = createApp(LoanCalculatorInputs, props).use(Store)\r\n component.mount(LoanCalculatorInputsDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from 'vue'\r\nimport NewLoanCalculatorInput from './NewLoanCalculatorInput'\r\nimport handleComponentProps from '../../../../../../Frontend/src/foundation/js/utils/handleComponentProps.js'\r\n\r\nconst el = '.nyk-component--new-loan-calculator-input'\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((NewLoanCalculatorInputDOM) => {\r\n const props = handleComponentProps(NewLoanCalculatorInput, NewLoanCalculatorInputDOM)\r\n const component = createApp(NewLoanCalculatorInput, props).use(Store)\r\n component.mount(NewLoanCalculatorInputDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from 'vue'\r\nimport NewLoanCalculatorResult from './NewLoanCalculatorResult'\r\nimport handleComponentProps from '../../../../../../Frontend/src/foundation/js/utils/handleComponentProps.js'\r\n\r\nconst el = '.nyk-component--new-loan-calculator-result'\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((NewLoanCalculatorResultDOM) => {\r\n const props = handleComponentProps(NewLoanCalculatorResult, NewLoanCalculatorResultDOM)\r\n const component = createApp(NewLoanCalculatorResult, props).use(Store)\r\n component.mount(NewLoanCalculatorResultDOM)\r\n })\r\n }\r\n}\r\n","import {createApp} from 'vue'\r\nimport NewLoanCalculatorResultDesktop from './NewLoanCalculatorResultDesktop'\r\n\r\nconst el = '.nyk-component--new-loan-calculator-result-desktop'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((NewLoanCalculatorResultDesktopDOM)=>{\r\n const component = createApp(NewLoanCalculatorResultDesktop).use(Store)\r\n component.mount(NewLoanCalculatorResultDesktopDOM)\r\n })\r\n }\r\n}","import {createApp} from 'vue'\r\nimport NewLoanCalculatorResultMobile from './NewLoanCalculatorResultMobile'\r\n\r\nconst el = '.nyk-component--new-loan-calculator-result-mobile'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((NewLoanCalculatorResultMobileDOM)=>{\r\n const component = createApp(NewLoanCalculatorResultMobile).use(Store)\r\n component.mount(NewLoanCalculatorResultMobileDOM)\r\n })\r\n }\r\n}","import { createApp } from \"vue\"\r\nimport SignupMultipleNewsletters from \"./SignupMultipleNewsletters\"\r\nimport isBoolean from \"../../../../../Frontend/src/foundation/js/inputValidators/isBoolean\"\r\n\r\nconst el = \".nyk-component--signup-multiple-newsletters\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((SignupMultipleNewslettersDOM) => {\r\n const newsletters = SignupMultipleNewslettersDOM.dataset.newsletters\r\n ? JSON.parse(SignupMultipleNewslettersDOM.dataset.newsletters)\r\n : []\r\n const labels = JSON.parse(SignupMultipleNewslettersDOM.dataset.labels)\r\n const apiUrl = SignupMultipleNewslettersDOM.dataset.apiUrl\r\n const enableUserTrack = SignupMultipleNewslettersDOM.dataset.enableUserTrack ? JSON.parse(SignupMultipleNewslettersDOM.dataset.enableUserTrack) : false\r\n const newslettersUserInputs = newsletters.map((newsletter) => {\r\n return {\r\n field: newsletter.name,\r\n value: false,\r\n validator: isBoolean,\r\n isValid: false,\r\n }\r\n })\r\n\r\n const props = {\r\n labels: labels,\r\n apiUrl: apiUrl,\r\n newsletters: newsletters,\r\n newslettersUserInputs: newslettersUserInputs,\r\n enableUserTrack: enableUserTrack\r\n }\r\n\r\n const component = createApp(SignupMultipleNewsletters, props).use(Store)\r\n component.mount(SignupMultipleNewslettersDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport SignupSingleNewsletter from \"./SignupSingleNewsletter\"\r\n\r\nconst el = \".nyk-component--signup-single-newsletter\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((SignupSingleNewsletterDOM) => {\r\n const labels = JSON.parse(SignupSingleNewsletterDOM.dataset.labels)\r\n const apiUrl = SignupSingleNewsletterDOM.dataset.apiUrl\r\n const enableUserTrack = SignupSingleNewsletterDOM.dataset.enableUserTrack ? JSON.parse(SignupSingleNewsletterDOM.dataset.enableUserTrack) : false\r\n const newsletters = SignupSingleNewsletterDOM.dataset.newsletters\r\n ? JSON.parse(SignupSingleNewsletterDOM.dataset.newsletters)\r\n : []\r\n\r\n const component = createApp(SignupSingleNewsletter, {\r\n labels,\r\n apiUrl,\r\n enableUserTrack,\r\n newsletters,\r\n }).use(Store)\r\n component.mount(SignupSingleNewsletterDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport SignupStepActions from \"./SignupStepActions\"\r\n\r\nconst el = \".nyk-component--signup-step-actions\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((SignupStepActionsDOM) => {\r\n const props = {\r\n previousStepCallback: SignupStepActionsDOM.dataset.previousStepCallback,\r\n nextStepCallback: SignupStepActionsDOM.dataset.nextStepCallback,\r\n nextStepButtonText: SignupStepActionsDOM.dataset.nextStepButtonText,\r\n stepCounterText: SignupStepActionsDOM.dataset.stepCounterText,\r\n hasPreviousStep: SignupStepActionsDOM.dataset.hasPreviousStep,\r\n }\r\n const component = createApp(SignupStepActions, props).use(Store)\r\n component.mount(SignupStepActionsDOM)\r\n })\r\n }\r\n}\r\n","import {createApp} from 'vue'\r\nimport SignupStepEmail from './SignupStepEmail'\r\n\r\nconst el = '.nyk-component--signup-step-email'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((SignupStepEmailDOM)=>{\r\n const component = createApp(SignupStepEmail,{\r\n currentStepTexts: {\r\n title: SignupStepEmailDOM.dataset.title,\r\n summary: SignupStepEmailDOM.dataset.summary,\r\n },\r\n stepCounterText: SignupStepEmailDOM.dataset.stepcountertext\r\n }).use(Store)\r\n component.mount(SignupStepEmailDOM)\r\n })\r\n }\r\n}","import {createApp} from 'vue'\r\nimport SignupStepFullname from './SignupStepFullname'\r\n\r\nconst el = '.nyk-component--signup-step-fullname'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((SignupStepFullnameDOM)=>{\r\n const component = createApp(SignupStepFullname,{\r\n currentStepTexts: {\r\n title: SignupStepFullnameDOM.dataset.title,\r\n summary: SignupStepFullnameDOM.dataset.summary,\r\n },\r\n stepCounterText: SignupStepFullnameDOM.dataset.stepcountertext\r\n }).use(Store)\r\n component.mount(SignupStepFullnameDOM)\r\n })\r\n }\r\n}","import { createApp } from \"vue\"\r\nimport SignupStepReceipt from \"./SignupStepReceipt\"\r\n\r\nconst el = \".nyk-component--signup-step-receipt\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((SignupStepReceiptDOM) => {\r\n const component = createApp(SignupStepReceipt, {\r\n currentStepTexts: {\r\n title: SignupStepReceiptDOM.dataset.title,\r\n summary: SignupStepReceiptDOM.dataset.summary,\r\n },\r\n }).use(Store)\r\n component.mount(SignupStepReceiptDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport SignupStepSelectNewsletters from \"./SignupStepSelectNewsletters\"\r\n\r\nconst el = \".nyk-component--signup-step-select-newsletters\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((SignupStepSelectNewslettersDOM) => {\r\n const props = {\r\n currentStepTexts: {\r\n title: SignupStepEmailDOM.dataset.title,\r\n summary: SignupStepEmailDOM.dataset.summary,\r\n },\r\n }\r\n const component = createApp(SignupStepSelectNewsletters, props).use(Store)\r\n component.mount(SignupStepSelectNewslettersDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport SendCalculationStepActions from \"./SendCalculationStepActions\"\r\n\r\nconst el = \".nyk-component--signup-step-actions\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((SendCalculationStepActionsDOM) => {\r\n const props = {\r\n previousStepCallback: SendCalculationStepActionsDOM.dataset.previousStepCallback,\r\n nextStepCallback: SendCalculationStepActionsDOM.dataset.nextStepCallback,\r\n nextStepButtonText: SendCalculationStepActionsDOM.dataset.nextStepButtonText,\r\n stepCounterText: SendCalculationStepActionsDOM.dataset.stepCounterText,\r\n hasPreviousStep: SendCalculationStepActionsDOM.dataset.hasPreviousStep,\r\n }\r\n const component = createApp(SendCalculationStepActions, props).use(Store)\r\n component.mount(SendCalculationStepActionsDOM)\r\n })\r\n }\r\n}\r\n","import {createApp} from 'vue'\r\nimport options from './VideoBlock.options'\r\n\r\nconst el = '.nyk-component--video-block'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n DOM.forEach((VideoBlockDOM)=>{\r\n const template = VideoBlockDOM.outerHTML\r\n options.template = template\r\n\r\n const component = createApp(options).use(Store)\r\n component.mount(VideoBlockDOM)\r\n })\r\n}\r\n","import { createApp } from \"vue\"\r\nimport FindCenterContactPersons from \"./FindCenterContactPersons\"\r\n\r\nconst el = \".nyk-component--find-center-contact-persons\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((FindCenterContactPersonsDOM) => {\r\n const props = {\r\n apiUrl: FindCenterContactPersonsDOM.dataset.apiUrl,\r\n centerInformation: FindCenterContactPersonsDOM.dataset.centerInformation\r\n ? JSON.parse(FindCenterContactPersonsDOM.dataset.centerInformation)\r\n : null,\r\n defaultImage: FindCenterContactPersonsDOM.dataset.defaultImage,\r\n contactUrl: FindCenterContactPersonsDOM.dataset.contactUrl ?? null,\r\n }\r\n\r\n const component = createApp(FindCenterContactPersons, props).use(Store)\r\n component.mount(FindCenterContactPersonsDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport FindCenterMapAndEmployees from \"./FindCenterMapAndEmployees\"\r\n\r\nconst el = \".nyk-component--find-center-map-and-employees\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((FindCenterMapAndEmployeesDOM) => {\r\n const props = {\r\n mapkey: FindCenterMapAndEmployeesDOM.dataset.mapkey,\r\n categories: JSON.parse(FindCenterMapAndEmployeesDOM.dataset.categories),\r\n labels: JSON.parse(FindCenterMapAndEmployeesDOM.dataset.labels),\r\n centersApiUrl: FindCenterMapAndEmployeesDOM.dataset.centersApiUrl,\r\n contactPersonsApiUrl: FindCenterMapAndEmployeesDOM.dataset.contactPersonsApiUrl,\r\n defaultEmployeesImage: FindCenterMapAndEmployeesDOM.dataset.defaultEmployeesImage,\r\n contactUrl: FindCenterMapAndEmployeesDOM.dataset.contactUrl ?? null,\r\n }\r\n const component = createApp(FindCenterMapAndEmployees, props).use(Store)\r\n component.mount(FindCenterMapAndEmployeesDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport CenterMap from \"./CenterMap.vue\"\r\n\r\nconst el = \".nyk-component--center-map\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((CenterMapDOM) => {\r\n const props = {\r\n mapkey: CenterMapDOM.dataset.mapkey,\r\n categories: JSON.parse(CenterMapDOM.dataset.categories),\r\n labels: JSON.parse(CenterMapDOM.dataset.labels),\r\n centerInformation: CenterMapDOM.dataset.centerInformation ? JSON.parse(CenterMapDOM.dataset.centerInformation) : null,\r\n }\r\n const component = createApp(CenterMap, props).use(Store)\r\n component.mount(CenterMapDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport JobApplication from \"./JobApplication\"\r\n\r\nconst el = \".nyk-component--job-application\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((JobApplicationDOM) => {\r\n const props = {\r\n apiUrl: JobApplicationDOM.dataset.apiUrl,\r\n jobPostingId: JobApplicationDOM.dataset.jobPostingId,\r\n genderList: JobApplicationDOM.dataset.genderList\r\n ? JSON.parse(JobApplicationDOM.dataset.genderList)\r\n : null,\r\n initLabels: JobApplicationDOM.dataset.initLabels\r\n ? JSON.parse(JobApplicationDOM.dataset.initLabels)\r\n : null,\r\n title: JobApplicationDOM.dataset.title,\r\n description: JobApplicationDOM.dataset.description,\r\n subject: JobApplicationDOM.dataset.subject,\r\n successLabels: JobApplicationDOM.dataset.successLabels\r\n ? JSON.parse(JobApplicationDOM.dataset.successLabels)\r\n : null,\r\n }\r\n const component = createApp(JobApplication, props).use(Store)\r\n component.mount(JobApplicationDOM)\r\n })\r\n }\r\n}\r\n","import {createApp} from 'vue'\r\nimport options from './FooterContact.options'\r\n\r\nconst el = '.nyk-component--footer-contact'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n DOM.forEach((FooterContactDOM) => {\r\n const props = {\r\n // Add the correct search url\r\n searchUrl: FooterContactDOM.dataset.searchUrl\r\n }\r\n\r\n const template = FooterContactDOM.outerHTML\r\n options.template = template\r\n const component = createApp(options, props).use(Store)\r\n component.mount(FooterContactDOM)\r\n })\r\n}\r\n\r\n","import { createApp } from 'vue'\r\nimport options from './Menu.options'\r\n\r\nconst el = '.nyk-component--menu'\r\n\r\nexport default function(Store) {\r\n const DOM = document.querySelectorAll(el)\r\n DOM.forEach((MenuDOM)=>{\r\n const props = {\r\n overlayId: MenuDOM.dataset.overlayId,\r\n searchUrl: MenuDOM.dataset.searchUrl\r\n }\r\n\r\n const template = MenuDOM.outerHTML\r\n options.template = template\r\n const component = createApp(options, props).use(Store)\r\n component.mount(MenuDOM)\r\n })\r\n}\r\n\r\n","import { createApp } from \"vue\"\r\nimport options from \"./FeedbackBlock.options\"\r\n\r\nconst el = \".nyk-component--feedback-block\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n DOM.forEach((FeedbackBlockDOM) => {\r\n const props = {\r\n apiUrlStepOne: FeedbackBlockDOM.dataset.apiUrlStepOne ?? \"\",\r\n apiUrlStepTwo: FeedbackBlockDOM.dataset.apiUrlStepTwo ?? \"\",\r\n identifier: FeedbackBlockDOM.dataset.identifier ?? \"\",\r\n }\r\n const template = FeedbackBlockDOM.outerHTML\r\n options.template = template\r\n const component = createApp(options, props).use(Store)\r\n component.mount(FeedbackBlockDOM)\r\n })\r\n}\r\n","import { createApp } from \"vue\"\r\nimport FeedbackStepOne from \"./FeedbackStepOne\"\r\n\r\nconst el = \".nyk-component--feedback-step-one\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((FeedbackStepOneDOM) => {\r\n const props = {\r\n title: FeedbackStepOneDOM.dataset.title ?? \"\",\r\n actions: FeedbackStepOneDOM.dataset.actions ?? null,\r\n }\r\n const component = createApp(FeedbackStepOne, props).use(Store)\r\n component.mount(FeedbackStepOneDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport FeedbackStepThree from \"./FeedbackStepThree\"\r\n\r\nconst el = \".nyk-component--feedback-step-three\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((FeedbackStepThreeDOM) => {\r\n const props = {\r\n message: FeedbackStepThreeDOM.dataset.message ?? \"\",\r\n }\r\n const component = createApp(FeedbackStepThree, props).use(Store)\r\n component.mount(FeedbackStepThreeDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport FeedbackStepTwo from \"./FeedbackStepTwo\"\r\n\r\nconst el = \".nyk-component--feedback-step-two\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((FeedbackStepTwoDOM) => {\r\n const props = {\r\n title: FeedbackStepTwoDOM.dataset.title ?? \"\",\r\n description: FeedbackStepTwoDOM.dataset.description ?? \"\",\r\n placeholder: FeedbackStepTwoDOM.dataset.feedbackPlaceholder ?? \"\",\r\n callback: FeedbackStepTwoDOM.dataset.callback ?? null,\r\n buttonText: FeedbackStepTwoDOM.dataset.buttonText ?? \"\",\r\n }\r\n const component = createApp(FeedbackStepTwo, props).use(Store)\r\n component.mount(FeedbackStepTwoDOM)\r\n })\r\n }\r\n}\r\n","import {createApp} from 'vue'\r\nimport options from './MitNykreditMenu.options'\r\n\r\nconst el = '.nyk-component--mit-nykredit-menu'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n DOM.forEach((MitNykreditMenuDOM)=>{\r\n const props = {\r\n overlayId: MitNykreditMenuDOM.dataset.overlayId\r\n }\r\n\r\n const template = MitNykreditMenuDOM.innerHTML\r\n options.template = template\r\n const component = createApp(options, props).use(Store)\r\n component.mount(MitNykreditMenuDOM)\r\n })\r\n}\r\n\r\n","import {createApp} from 'vue'\r\nimport options from './Breadcrumbs.options'\r\n\r\nconst el = '.nyk-component--bread-crumb'\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n DOM.forEach((BreadCrumbDOM) => {\r\n const template = BreadCrumbDOM.outerHTML\r\n options.template = template\r\n const component = createApp(options).use(Store)\r\n component.mount(BreadCrumbDOM)\r\n })\r\n}\r\n\r\n","import { createApp } from \"vue\"\r\nimport AnnualReportsTable from \"./AnnualReportsTable\"\r\n\r\nconst el = \".nyk-component--annual-reports-table\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((AnnualReportsTableDOM) => {\r\n const props = {\r\n groups: JSON.parse(AnnualReportsTableDOM.dataset.groups),\r\n reports: JSON.parse(AnnualReportsTableDOM.dataset.reports),\r\n title: AnnualReportsTableDOM.dataset.title,\r\n subtitle: AnnualReportsTableDOM.dataset.subtitle\r\n }\r\n const component = createApp(AnnualReportsTable, props).use(Store)\r\n component.mount(AnnualReportsTableDOM)\r\n })\r\n }\r\n}\r\n","import {createApp} from 'vue'\r\nimport options from './ChatPanel.options'\r\n\r\nconst el = '.nyk-component--chat-panel'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n DOM.forEach((ChatPanelDOM)=>{\r\n const labels = ChatPanelDOM.dataset.labels ? JSON.parse(ChatPanelDOM.dataset.labels) : null\r\n const feedbackActionId = ChatPanelDOM.dataset.feedbackActionId\r\n Store.commit('chatPanel/set_labels', labels)\r\n Store.commit('chatPanel/set_feedback_action_id', feedbackActionId)\r\n\r\n const template = ChatPanelDOM.innerHTML\r\n options.template = template\r\n const component = createApp(options).use(Store)\r\n component.mount(ChatPanelDOM)\r\n })\r\n}","import { createApp } from \"vue\";\r\nimport options from \"./ChatPanelFloatingTrigger.options\";\r\n\r\nconst el = \".nyk-component--chat-panel-floating-trigger\";\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el);\r\n DOM.forEach((ChatPanelFloatingTrigger) => {\r\n const template = ChatPanelFloatingTrigger.outerHTML;\r\n const chatPanelActionId = ChatPanelFloatingTrigger.dataset.chatPanelActionId;\r\n const floatingTriggerText = ChatPanelFloatingTrigger.dataset.floatingTriggerText ? JSON.parse(ChatPanelFloatingTrigger.dataset.floatingTriggerText) : undefined;\r\n\r\n options.template = template;\r\n const component = createApp(options, { chatPanelActionId, floatingTriggerText }).use(Store);\r\n component.mount(ChatPanelFloatingTrigger);\r\n });\r\n}\r\n","import { createApp } from \"vue\"\r\nimport ContactCardLeadWithoutPermission from \"./ContactCard\"\r\n\r\nconst el = \".nyk-component--contact-card\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((ContactCardLeadWithoutPermissionDOM) => {\r\n const props = {\r\n labels: JSON.parse(ContactCardLeadWithoutPermissionDOM.dataset.labels),\r\n formId: ContactCardLeadWithoutPermissionDOM.dataset.formId,\r\n apiUrl: ContactCardLeadWithoutPermissionDOM.dataset.apiUrl,\r\n newsletterApiUrl: ContactCardLeadWithoutPermissionDOM.dataset.newsletterApiUrl,\r\n newsletters: ContactCardLeadWithoutPermissionDOM.dataset.newsletters\r\n ? JSON.parse(ContactCardLeadWithoutPermissionDOM.dataset.newsletters)\r\n : [],\r\n alignIntroImageRight: ContactCardLeadWithoutPermissionDOM.dataset.alignIntroImageRight === \"true\",\r\n skipFirstStep: ContactCardLeadWithoutPermissionDOM.dataset.skipFirstStep === \"true\",\r\n imageSource: ContactCardLeadWithoutPermissionDOM.dataset.imageSource,\r\n backgroundColor: ContactCardLeadWithoutPermissionDOM.dataset.backgroundColor ?? null,\r\n assignTo: ContactCardLeadWithoutPermissionDOM.dataset.assignTo,\r\n enableUserTrack: ContactCardLeadWithoutPermissionDOM.dataset.enableUserTrack,\r\n anchorId: ContactCardLeadWithoutPermissionDOM.dataset.anchorId,\r\n }\r\n const component = createApp(ContactCardLeadWithoutPermission, props).use(Store)\r\n component.mount(ContactCardLeadWithoutPermissionDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport KontactCard from \"./ContactCardOnboarding\"\r\n\r\nconst el = \".nyk-component--kontact-card-onboarding\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((KontactCardDOM) => {\r\n const props = {\r\n labels: JSON.parse(KontactCardDOM.dataset.labels),\r\n formId: KontactCardDOM.dataset.formId,\r\n apiUrl: KontactCardDOM.dataset.apiUrl,\r\n newsletterApiUrl: KontactCardDOM.dataset.newsletterApiUrl,\r\n newsletters: KontactCardDOM.dataset.newsletters ? JSON.parse(KontactCardDOM.dataset.newsletters) : [],\r\n alignIntroImageRight: KontactCardDOM.dataset.alignIntroImageRight === \"true\",\r\n skipFirstStep: KontactCardDOM.dataset.skipFirstStep === \"true\",\r\n imageSource: KontactCardDOM.dataset.imageSource,\r\n backgroundColor: KontactCardDOM.dataset.backgroundColor ?? null,\r\n assignTo: KontactCardDOM.dataset.assignTo,\r\n enableUserTrack: KontactCardDOM.dataset.enableUserTrack === \"true\"\r\n\r\n }\r\n const component = createApp(KontactCard, props).use(Store)\r\n component.mount(KontactCardDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport ContactCardPermission from \"./ContactCardPermission\"\r\nimport isBoolean from \"../../foundation/js/inputValidators/isBoolean\"\r\n\r\nconst el = \".nyk-component--contact-card-permission\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((ContactCardPermissionDOM) => {\r\n const newsletters = ContactCardPermissionDOM.dataset.newsletters\r\n ? JSON.parse(ContactCardPermissionDOM.dataset.newsletters)\r\n : []\r\n\r\n const newslettersUserInputs = newsletters.map((newsletter) => {\r\n return {\r\n field: newsletter.name,\r\n value: false,\r\n validator: isBoolean,\r\n isValid: true,\r\n }\r\n })\r\n\r\n const props = {\r\n labels: JSON.parse(ContactCardPermissionDOM.dataset.labels),\r\n formId: ContactCardPermissionDOM.dataset.formId,\r\n apiUrl: ContactCardPermissionDOM.dataset.apiUrl,\r\n newsletterApiUrl: ContactCardPermissionDOM.dataset.newsletterApiUrl,\r\n newsletters: ContactCardPermissionDOM.dataset.newsletters\r\n ? JSON.parse(ContactCardPermissionDOM.dataset.newsletters)\r\n : [],\r\n newslettersUserInputs: newslettersUserInputs,\r\n alignIntroImageRight: ContactCardPermissionDOM.dataset.alignIntroImageRight === \"true\",\r\n skipFirstStep: ContactCardPermissionDOM.dataset.skipFirstStep === \"true\",\r\n imageSource: ContactCardPermissionDOM.dataset.imageSource,\r\n backgroundColor: ContactCardPermissionDOM.dataset.backgroundColor ?? null,\r\n assignTo: ContactCardPermissionDOM.dataset.assignTo,\r\n enableUserTrack: ContactCardPermissionDOM.dataset.enableUserTrack\r\n }\r\n const component = createApp(ContactCardPermission, props).use(Store)\r\n component.mount(ContactCardPermissionDOM)\r\n })\r\n }\r\n}\r\n","import {createApp} from 'vue'\r\nimport ContactStepComments from './ContactStepComments'\r\n\r\nconst el = '.nyk-component--contact-step-comments'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((ContactStepCommentsDOM)=>{\r\n const component = createApp(ContactStepComments).use(Store)\r\n component.mount(ContactStepCommentsDOM)\r\n })\r\n }\r\n}","import {createApp} from 'vue'\r\nimport ContactStepContent from './ContactStepContent'\r\n\r\nconst el = '.nyk-component--contact-step-content'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((ContactStepContentDOM)=>{\r\n const component = createApp(ContactStepContent).use(Store)\r\n component.mount(ContactStepContentDOM)\r\n })\r\n }\r\n}","import {createApp} from 'vue'\r\nimport ContactStepIntro from './ContactStepIntro'\r\n\r\nconst el = '.nyk-component--contact-step-intro'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((ContactStepIntroDOM)=>{\r\n const component = createApp(ContactStepIntro).use(Store)\r\n component.mount(ContactStepIntroDOM)\r\n })\r\n }\r\n}","import {createApp} from 'vue'\r\nimport ContactStepNewsletters from './ContactStepNewsletters'\r\n\r\nconst el = '.nyk-component--contact-step-newsletters'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((ContactStepNewslettersDOM)=>{\r\n const component = createApp(ContactStepNewsletters).use(Store)\r\n component.mount(ContactStepNewslettersDOM)\r\n })\r\n }\r\n}","import { createApp } from \"vue\"\r\nimport ContactStepOnboardingContent from \"./ContactStepOnboardingContent.options\"\r\n\r\nconst el = \".nyk-component--contact-step-onboarding-content\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((ContactStepInfoDOM) => {\r\n const component = createApp(ContactStepOnboardingContent).use(Store)\r\n component.mount(ContactStepInfoDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport DocumentArchive from \"./DocumentArchive\"\r\n\r\nconst el = \".nyk-component--document-archive\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((DocumentArchiveDOM) => {\r\n const props = {\r\n model: DocumentArchiveDOM.dataset.model\r\n ? JSON.parse(DocumentArchiveDOM.dataset.model)\r\n : null,\r\n apiUrl: DocumentArchiveDOM.dataset.apiUrl ?? \"\",\r\n title: DocumentArchiveDOM.dataset.title ?? \"\",\r\n header: DocumentArchiveDOM.dataset.header ?? \"\",\r\n description: DocumentArchiveDOM.dataset.description ?? \"\",\r\n showMoreText: DocumentArchiveDOM.dataset.showMoreText ?? \"\",\r\n searchIconLabel: DocumentArchiveDOM.dataset.searchIconLabel ?? \"\",\r\n }\r\n const component = createApp(DocumentArchive, props).use(Store)\r\n component.mount(DocumentArchiveDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport DynamicDocumentList from \"./DynamicDocumentList\"\r\n\r\nconst el = \".nyk-component--dynamic-document-list\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((DynamicDocumentListDOM) => {\r\n const props = {\r\n title: DynamicDocumentListDOM.dataset.title\r\n ? DynamicDocumentListDOM.dataset.title\r\n : null,\r\n description: DynamicDocumentListDOM.dataset.description\r\n ? DynamicDocumentListDOM.dataset.description\r\n : null,\r\n documentLists: DynamicDocumentListDOM.dataset.documentLists\r\n ? JSON.parse(DynamicDocumentListDOM.dataset.documentLists)\r\n : null,\r\n }\r\n const component = createApp(DynamicDocumentList, props).use(Store)\r\n component.mount(DynamicDocumentListDOM)\r\n })\r\n }\r\n}\r\n","import {createApp} from 'vue'\r\nimport DynamicTable from './DynamicTable'\r\n\r\nconst el = '.nyk-component--dynamic-table'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((DynamicTableDOM) => {\r\n const component = createApp(DynamicTable).use(Store)\r\n component.mount(DynamicTableDOM)\r\n })\r\n }\r\n}","import { createApp } from \"vue\"\r\nimport FilterTabs from \"./FilterTabs\"\r\n\r\nconst el = \".nyk-component--filter-tabs\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((FilterTabsDOM) => {\r\n const props = {\r\n initActiveTab: FilterTabsDOM.dataset.initActiveTab,\r\n tabs: JSON.parse(FilterTabsDOM.dataset.tabs),\r\n callback: FilterTabsDOM.dataset.callback,\r\n }\r\n const component = createApp(FilterTabs, props).use(Store)\r\n component.mount(FilterTabsDOM)\r\n })\r\n }\r\n}\r\n","import {createApp} from 'vue'\r\nimport GoogleMapsWithMarkers from './GoogleMapsWithMarkers'\r\n\r\nconst el = '.nyk-component--google-maps-with-markers'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((GoogleMapsWithMarkersDOM)=>{\r\n const options = {\r\n mapkey: GoogleMapsWithMarkersDOM.dataset.mapkey,\r\n locations: JSON.parse(GoogleMapsWithMarkersDOM.dataset.locations),\r\n theme: GoogleMapsWithMarkersDOM.dataset.theme\r\n }\r\n const component = createApp(GoogleMapsWithMarkers,options).use(Store)\r\n component.mount(GoogleMapsWithMarkersDOM)\r\n })\r\n }\r\n}","import { createApp } from \"vue\"\r\nimport InvestmentFundTable from \"./InvestmentFundTable\"\r\n\r\nconst el = \".nyk-component--investment-fund-table\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((InvestmentFundTableDOM) => {\r\n const props = {\r\n apiUrl: InvestmentFundTableDOM.dataset.apiUrl,\r\n model: InvestmentFundTableDOM.dataset.model\r\n ? JSON.parse(InvestmentFundTableDOM.dataset.model)\r\n : {},\r\n }\r\n const component = createApp(InvestmentFundTable, props).use(Store)\r\n component.mount(InvestmentFundTableDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport JobPostingsTable from \"./JobPostingsTable\"\r\nimport {\r\n getJobPostingsHeader,\r\n getJobPostingsRows,\r\n getJobPostingsNumberOfResults,\r\n getJobPostingsFilters,\r\n} from \"./JobPostingsTable.options.adapter\"\r\n\r\nconst el = \".nyk-component--job-postings-table\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((JobPostingsTableDOM) => {\r\n const model = JSON.parse(JobPostingsTableDOM.dataset.model)\r\n const props = {\r\n numberOfResults: model.data\r\n ? getJobPostingsNumberOfResults(model.data)\r\n : 0,\r\n apiUrl: JobPostingsTableDOM.dataset.apiUrl,\r\n }\r\n\r\n if (model) {\r\n Store.dispatch(\"jobs/redirectUrl\", { url: model.data.jobPageUrl })\r\n Store.dispatch(\"jobs/headers\", {\r\n headers: getJobPostingsHeader(model.data),\r\n })\r\n Store.dispatch(\"jobs/rows\", {\r\n rows: getJobPostingsRows(model.data.jobPostingsList),\r\n })\r\n Store.dispatch(\"jobs/filters\", {\r\n filters: getJobPostingsFilters(model.data),\r\n })\r\n }\r\n\r\n const component = createApp(JobPostingsTable, props).use(Store)\r\n component.mount(JobPostingsTableDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport MultiSelectDropdown from \"./MultiSelectDropdown\"\r\n\r\nconst el = \".nyk-component--multi-select-dropdown\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((MultiSelectDropdownDOM) => {\r\n const props = {\r\n initOptions: MultiSelectDropdownDOM.dataset.initOptions\r\n ? JSON.parse(MultiSelectDropdownDOM.dataset.initOptions)\r\n : [],\r\n title: MultiSelectDropdownDOM.dataset.title ?? \"\",\r\n placeholderLabel: MultiSelectDropdownDOM.dataset.placeholderLabel ?? \"\",\r\n onChangeCallback:\r\n MultiSelectDropdownDOM.dataset.onChangeCallback ?? null,\r\n }\r\n const component = createApp(MultiSelectDropdown, props).use(Store)\r\n component.mount(MultiSelectDropdownDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport SearchInputField from \"./SearchInputField\"\r\n\r\nconst el = \".nyk-component--search-input-field\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((SearchInputFieldDOM) => {\r\n const props = {\r\n searchIconLabel: SearchInputFieldDOM.dataset.searchIconLabel,\r\n closeIconLabel: SearchInputFieldDOM.dataset.closeIconLabel,\r\n placeholder: SearchInputFieldDOM.dataset.placeholder,\r\n ariaLabel: SearchInputFieldDOM.dataset.ariaLabel,\r\n initSearchParam: SearchInputFieldDOM.dataset.initSearchParam,\r\n onChangeCallback: SearchInputFieldDOM.dataset.onChangeCallback ?? null,\r\n onEnterCallback: SearchInputFieldDOM.dataset.onEnterCallback ?? null,\r\n redirectUrl: SearchInputFieldDOM.dataset.redirectUrl ?? null,\r\n }\r\n const component = createApp(SearchInputField, props).use(Store)\r\n component.mount(SearchInputFieldDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport SearchOverlay from \"./SearchOverlay\"\r\n\r\nconst el = \".nyk-component--search-overlay\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((SearchOverlayDOM) => {\r\n const props = {\r\n searchUrl: SearchOverlayDOM.dataset.searchUrl,\r\n suggestionUrl: SearchOverlayDOM.dataset.suggestionUrl,\r\n searchResultTitle: SearchOverlayDOM.dataset.searchResultTitle,\r\n searchPlaceholder: SearchOverlayDOM.dataset.searchPlaceholder,\r\n searchSuggestionsJson: SearchOverlayDOM.dataset.searchSuggestions\r\n ? JSON.parse(SearchOverlayDOM.dataset.searchSuggestions)\r\n : [],\r\n cardTopJson: SearchOverlayDOM.dataset.cardTop ? JSON.parse(SearchOverlayDOM.dataset.cardTop) : {},\r\n cardBottomJson: SearchOverlayDOM.dataset.cardBottom ? JSON.parse(SearchOverlayDOM.dataset.cardBottom) : {},\r\n }\r\n\r\n const component = createApp(SearchOverlay, props).use(Store)\r\n component.mount(SearchOverlayDOM)\r\n })\r\n }\r\n}\r\n","import { createApp } from \"vue\"\r\nimport SendCalculation from \"./SendCalculation\"\r\n\r\nconst el = \".nyk-component--send-calculation\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((SendCalculationDOM) => {\r\n \r\n const props = {\r\n labels: JSON.parse(SendCalculationDOM.dataset.labels),\r\n salesforceidApiUrl: SendCalculationDOM.dataset.salesforceidApiUrl,\r\n sendCalculationApiUrl: SendCalculationDOM.dataset.sendcalculationApiUrl,\r\n userInformationApiUrl: SendCalculationDOM.dataset.userinformationApiUrl,\r\n calculatorType: SendCalculationDOM.dataset.calculatorType,\r\n redirectLink: SendCalculationDOM.dataset.redirectLink \r\n ? JSON.parse(SendCalculationDOM.dataset.redirectLink) \r\n : null\r\n }\r\n const component = createApp(SendCalculation, props).use(Store)\r\n component.mount(SendCalculationDOM)\r\n })\r\n }\r\n}\r\n ","import {createApp} from 'vue'\r\nimport SendCalculationStepContent from './SendCalculationStepContent'\r\n\r\nconst el = '.nyk-component--contact-step-content'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((SendCalculationStepContentDOM)=>{\r\n const component = createApp(SendCalculationStepContent).use(Store)\r\n component.mount(SendCalculationStepContentDOM)\r\n })\r\n }\r\n}","import {createApp} from 'vue'\r\nimport SiteSearching from './SiteSearching'\r\n\r\nconst el = '.nyk-component--site-searching'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((SiteSearchingDOM)=>{\r\n\r\n const props = {\r\n searchUrl: SiteSearchingDOM.dataset.searchUrl,\r\n lang: SiteSearchingDOM.dataset.lang,\r\n labels: SiteSearchingDOM.dataset.labels ? JSON.parse(SiteSearchingDOM.dataset.labels) : null,\r\n isMainHeader: SiteSearchingDOM.dataset.isMainHeader === 'true'\r\n }\r\n const component = createApp(SiteSearching, props).use(Store)\r\n component.mount(SiteSearchingDOM)\r\n })\r\n }\r\n}","import {createApp} from 'vue'\r\nimport SiteSearchingResult from './SiteSearchingResult'\r\n\r\nconst el = '.nyk-component--site-searching-result'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n if(DOM.length){\r\n DOM.forEach((SiteSearchingResultDOM)=>{\r\n const props = {\r\n tag: SiteSearchingResultDOM.dataset.tag,\r\n title: SiteSearchingResultDOM.dataset.title,\r\n description: SiteSearchingResultDOM.dataset.description,\r\n href: SiteSearchingResultDOM.dataset.href,\r\n filename: SiteSearchingResultDOM.dataset.filename\r\n }\r\n const component = createApp(SiteSearchingResult, props).use(Store)\r\n component.mount(SiteSearchingResultDOM)\r\n })\r\n }\r\n}","import {createApp} from 'vue'\r\nimport options from './StickyBox.options'\r\n\r\nconst el = '.nyk-component--sticky-box'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n DOM.forEach((StickyBoxDOM)=>{\r\n const props = {\r\n targetEndId: StickyBoxDOM.dataset.targetEndId\r\n }\r\n const template = StickyBoxDOM.innerHTML\r\n options.template = template\r\n const component = createApp(options, props).use(Store)\r\n component.mount(StickyBoxDOM)\r\n })\r\n}\r\n\r\n","import {createApp} from 'vue'\r\nimport options from './TheForms.options'\r\n\r\nconst el = '.nyk-component--the-forms'\r\n\r\nexport default function(Store){\r\n const DOM = document.querySelectorAll(el)\r\n DOM.forEach((TheFormsDOM)=>{\r\n const template = TheFormsDOM.outerHTML\r\n options.template = template\r\n const component = createApp(options).use(Store)\r\n component.mount(TheFormsDOM)\r\n })\r\n}\r\n\r\n","import {createApp} from 'vue'\r\nimport options from './ThemeSwitch.options'\r\n\r\nconst el = '.nyk-component--theme-switch'\r\n\r\nexport default function(Store) {\r\n const DOM = document.querySelectorAll(el)\r\n DOM.forEach((ThemeSwitchDOM) => {\r\n const props = {\r\n theme: ThemeSwitchDOM.dataset.theme\r\n }\r\n const template = ThemeSwitchDOM.outerHTML\r\n options.template = template\r\n const component = createApp(options, props).use(Store)\r\n component.mount(ThemeSwitchDOM)\r\n })\r\n}\r\n\r\n","import { createApp } from \"vue\"\r\nimport Tooltip from \"./Tooltip\"\r\n\r\nconst el = \".nyk-component--tooltip\"\r\n\r\nexport default function (Store) {\r\n const DOM = document.querySelectorAll(el)\r\n if (DOM.length) {\r\n DOM.forEach((TooltipDOM) => {\r\n const props = {\r\n tooltip: TooltipDOM.dataset.tooltip,\r\n tooltipName: TooltipDOM.dataset.tooltipName,\r\n }\r\n const component = createApp(Tooltip, props).use(Store)\r\n component.mount(TooltipDOM)\r\n })\r\n }\r\n}\r\n","import componentsToInititalize from './component-index.generated'\r\nimport Store from 'store'\r\n\r\ncomponentsToInititalize(Store)\r\n\r\n\r\n","import { createStore } from 'vuex'\r\n\r\nimport main from './modules/store.main'\r\nimport menu from './modules/store.menu'\r\nimport search from './modules/store.search'\r\nimport jobs from './modules/store.jobs'\r\nimport chatPanel from './modules/store.chatPanel'\r\nimport modal from './modules/store.modal'\r\n\r\nconst store = createStore({\r\n modules: {\r\n main,\r\n menu,\r\n search,\r\n jobs,\r\n chatPanel,\r\n modal\r\n },\r\n})\r\n\r\nexport default store\r\n","\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n test: true,\r\n },\r\n mutations: {\r\n set_test(state,value){\r\n state.test = value\r\n }\r\n },\r\n actions: {\r\n testAction(context, config) {\r\n context.commit('set_test', config.test)\r\n }\r\n }\r\n}","\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n otherSitesDropdownShown: false,\r\n languageDropdownShown: false,\r\n submenuOpen: false,\r\n topLevelPagesDropdownShown: false,\r\n searchOverlayShown: false,\r\n searchOverlayMobileNavigateBack: false,\r\n activeSubmenuDesktop: \"\"\r\n },\r\n mutations: {\r\n set_other_sites_dropdown_shown(state, value) {\r\n state.otherSitesDropdownShown = value\r\n },\r\n set_language_dropdown_shown(state, value) {\r\n state.languageDropdownShown = value\r\n },\r\n set_submenu_open(state, value) {\r\n state.submenuOpen = value\r\n },\r\n set_top_level_pages_dropdown_shown(state, value) {\r\n state.topLevelPagesDropdownShown = value\r\n },\r\n set_search_overlay_shown(state, value) {\r\n state.searchOverlayShown = value\r\n },\r\n set_search_overlay_mobile_navigate_back(state, value) {\r\n state.searchOverlayMobileNavigateBack = value\r\n },\r\n set_active_submenu(state, value) {\r\n state.activeSubmenuDesktop = value\r\n }\r\n },\r\n actions: {\r\n otherSitesDropdownShown(context, config) {\r\n context.commit('set_other_sites_dropdown_shown', config.open)\r\n },\r\n languageDropdownShown(context, config) {\r\n context.commit('set_language_dropdown_shown', config.open)\r\n },\r\n submenuOpen(context, config) {\r\n context.commit('set_submenu_open', config.open)\r\n },\r\n topLevelPagesDropdownShown(context, config) {\r\n context.commit('set_top_level_pages_dropdown_shown', config.open)\r\n },\r\n searchOverlayShown(context, config) {\r\n context.commit('set_search_overlay_shown', config.open)\r\n },\r\n searchOverlayMobileNavigateBack(context, config) {\r\n context.commit('set_search_overlay_mobile_navigate_back', config.navigate)\r\n },\r\n activeSubmenuDesktop(context, config) {\r\n context.commit('set_active_submenu', config.menu)\r\n }\r\n }\r\n}"],"names":["_global","window","_typeof","self","global","this","download","url","name","opts","xhr","XMLHttpRequest","open","responseType","onload","saveAs","response","onerror","console","error","send","corsEnabled","e","status","click","node","dispatchEvent","MouseEvent","evt","document","createEvent","initMouseEvent","isMacOSWebView","navigator","test","userAgent","HTMLAnchorElement","prototype","blob","URL","webkitURL","a","createElementNS","rel","href","origin","location","target","createObjectURL","setTimeout","revokeObjectURL","createElement","msSaveOrOpenBlob","autoBom","warn","type","Blob","String","fromCharCode","bom","popup","title","body","innerText","force","isSafari","HTMLElement","safari","isChromeIOS","FileReader","reader","onloadend","result","replace","readAsDataURL","module","exports","sfc","props","__vccOpts","key","val","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","call","d","definition","o","Object","defineProperty","enumerable","get","g","globalThis","Function","obj","prop","hasOwnProperty","r","Symbol","toStringTag","value","str","expectsLowerCase","map","create","list","split","i","length","toLowerCase","EMPTY_OBJ","EMPTY_ARR","onRE","isOn","isModelListener","startsWith","assign","remove","arr","el","indexOf","splice","Array","isArray","isMap","toTypeString","isSet","isDate","isSymbol","isPromise","then","catch","objectToString","toString","slice","isPlainObject","isIntegerKey","parseInt","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","_","c","toUpperCase","hyphenateRE","charAt","toHandlerKey","hasChanged","oldValue","is","invokeArrayFns","fns","arg","def","configurable","looseToNumber","n","parseFloat","isNaN","toNumber","Number","NaN","_globalThis","getGlobalThis","isGloballyAllowed","normalizeStyle","res","item","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","forEach","tmp","trim","normalizeClass","normalizeProps","class","klass","style","isVoidTag","isSpecialBooleanAttr","includeBooleanAttr","looseEqual","b","aValidType","bValidType","getTime","equal","looseCompareArrays","keys","aHasKey","bHasKey","looseIndexOf","findIndex","toDisplayString","JSON","stringify","replacer","_key","__v_isRef","size","entries","reduce","val2","values","activeEffectScope","EffectScope","constructor","detached","_active","effects","cleanups","parent","index","scopes","push","active","run","currentEffectScope","on","off","stop","fromParent","l","last","pop","effectScope","recordEffectScope","effect","scope","getCurrentScope","onScopeDispose","createDep","dep","Set","w","wasTracked","trackOpBit","newTracked","targetMap","WeakMap","effectTrackDepth","maxMarkerBits","activeEffect","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ReactiveEffect","scheduler","deps","lastShouldTrack","shouldTrack","initDepMarkers","cleanupEffect","ptr","delete","finalizeDepMarkers","deferStop","onStop","effect2","options","_effect","lazy","runner","bind","trackStack","pauseTracking","resetTracking","depsMap","set","Map","trackEffects","debuggerEventExtraInfo","shouldTrack2","has","add","trigger","newValue","oldTarget","newLength","key2","triggerEffects","computed","triggerEffect","allowRecurse","isNonTrackableKeys","builtInSymbols","getOwnPropertyNames","filter","arrayInstrumentations","createArrayInstrumentations","instrumentations","args","apply","BaseReactiveHandler","_isReadonly","_shallow","receiver","isReadonly2","shallow","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","Reflect","readonly","MutableReactiveHandler","super","isReadonly","isShallow","hadKey","deleteProperty","ownKeys","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","v","getPrototypeOf","rawTarget","rawKey","has2","wrap","toReadonly","toReactive","get2","deleteEntry","clear","hadItems","createForEach","callback","thisArg","observed","createIterableMethod","method","targetIsMap","isPair","iterator","isKeyOnly","innerIterator","next","done","createReadonlyMethod","createInstrumentations","mutableInstrumentations2","shallowInstrumentations2","readonlyInstrumentations2","shallowReadonlyInstrumentations2","mutableInstrumentations","readonlyInstrumentations","shallowInstrumentations","shallowReadonlyInstrumentations","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","shallowReadonlyCollectionHandlers","createReactiveObject","shallowReactive","shallowReadonly","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","isExtensible","rawType","targetTypeMap","proxy","Proxy","isReactive","isProxy","raw","markRaw","trackRefValue","ref2","triggerRefValue","newVal","ref","createRef","shallowRef","rawValue","RefImpl","__v_isShallow","_rawValue","_value","useDirectValue","triggerRef","unref","toValue","source","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","_get","_set","customRef","toRefs","object","propertyToRef","ObjectRefImpl","_object","_defaultValue","_a","GetterRefImpl","_getter","__v_isReadonly","toRef","defaultValue","arguments","ComputedRefImpl","getter","_setter","isSSR","_dirty","_cacheable","msg","assertNumber","callWithErrorHandling","instance","err","handleError","callWithAsyncErrorHandling","throwInDev","vnode","cur","exposedInstance","errorInfo","errorCapturedHooks","ec","appErrorHandler","appContext","config","errorHandler","logError","isFlushing","isFlushPending","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","Promise","resolve","currentFlushPromise","nextTick","p","queueJob","job","includes","id","start","end","middle","middleJob","middleJobId","getId","pre","findInsertionIndex","queueFlush","flushJobs","queuePostFlushCb","cb","flushPreFlushCbs","seen","flushPostFlushCbs","deduped","sort","Infinity","comparator","diff","devtools","buffer","devtoolsNotInstalled","emit$1","event","emit","setDevtoolsHook","hook","_b","enabled","__VUE_DEVTOOLS_HOOK_REPLAY__","newHook","devtoolsComponentAdded","createDevtoolsComponentHook","devtoolsComponentUpdated","_devtoolsComponentRemoved","devtoolsComponentRemoved","component","cleanupBuffer","app","uid","rawArgs","isUnmounted","modelArg","modifiersKey","number","handlerName","params","devtoolsComponentEmit","handler","onceHandler","emitted","normalizeEmitsOptions","comp","asMixin","emitsCache","cached","emits","isEmitListener","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","prev","__scopeId","pushScopeId","popScopeId","withScopeId","_id","withCtx","ctx","isNonScopedSlot","_n","renderFnWithContext","_d","setBlockTracking","prevInstance","_c","renderComponentRoot","Component","withProxy","propsOptions","slots","attrs","render","renderCache","data","setupState","inheritAttrs","fallthroughAttrs","shapeFlag","proxyToUse","normalizeVNode","render2","getFunctionalFallthrough","blockStack","createVNode","Comment","root","some","filterModelListeners","cloneVNode","dirs","concat","transition","hasPropsChanged","prevProps","nextProps","emitsOptions","nextKeys","updateHOCHostEl","subTree","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","for","resolveDynamicComponent","resolveDirective","warnMissing","currentInstance","selfName","getComponentName","registry","isSuspense","__isSuspense","Suspense","process","n1","n2","container","anchor","parentComponent","parentSuspense","isSVG","slotScopeIds","optimized","rendererInternals","patch","hiddenContainer","suspense","createSuspenseBoundary","pendingBranch","ssContent","triggerEvent","ssFallback","setActiveBranch","mountSuspense","um","unmount","newBranch","newFallback","activeBranch","isInFallback","isHydrating","isSameVNodeType","pendingId","timeout","fallback","patchSuspense","hydrate","hydrateNode","parentNode","normalize","children","isSlotChildren","normalizeSuspenseSlot","default","eventListener","m","move","parentSuspenseId","isSuspensible","suspensible","isVNodeSuspensible","resume","sync","vnode2","parentComponent2","container2","delayEnter","mode","afterLeave","anchor2","hasUnresolvedAncestor","fallbackVNode","isSVG2","mountFallback","registerDep","setupRenderEffect","isInPendingSuspense","hydratedEl","asyncDep","asyncSetupResult","suspenseId","asyncResolved","handleSetupResult","placeholder","parentSuspense2","doRemove","s","block","trackBlock","isBlockTreeEnabled","openBlock","currentBlock","closeBlock","singleChild","singleRoot","child","isVNode","filterSingleRoot","dynamicChildren","queueEffectWithSuspense","branch","watchEffect","doWatch","watchPostEffect","flush","watchSyncEffect","INITIAL_WATCHER_VALUE","watch","immediate","deep","onTrack","onTrigger","cleanup","forceTrigger","isMultiSource","traverse","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","useSSRContext","__watcherHandles","fill","queuePostRenderEffect","unwatch","withDirectives","directives","internalInstance","getExposeProxy","bindings","dir","modifiers","mounted","updated","invokeDirectiveHook","prevVNode","oldBindings","binding","leaveCbKey","enterCbKey","useTransitionState","state","isMounted","isLeaving","isUnmounting","leavingVNodes","onMounted","onBeforeUnmount","TransitionHookValidator","BaseTransitionPropsValidators","appear","Boolean","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","BaseTransition","setup","getCurrentInstance","prevTransitionKey","getTransitionRawChildren","hasFound","rawProps","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","transitionKeyChanged","getTransitionKey","leavingHooks","update","delayLeave","earlyRemove","delayedLeave","getLeavingNodesForType","leavingVNodesCache","callHook","callAsyncHook","every","hook2","hooks","beforeEnter","leavingVNode","enter","afterHook","cancelHook","called","cancelled","leave","clone","isKeepAlive","keepComment","parentKey","keyedFragmentCount","Fragment","patchFlag","defineComponent","extraOptions","isAsyncWrapper","__asyncLoader","defineAsyncComponent","loader","loadingComponent","errorComponent","delay","onError","userOnError","resolvedComp","pendingRequest","retries","load","thisRequest","Error","reject","__esModule","__asyncResolved","createInnerComp","loaded","delayed","ce","__isKeepAlive","KeepAlive","include","RegExp","exclude","max","sharedContext","renderer","current","__v_cache","_unmount","storageContainer","resetShapeFlag","pruneCache","pruneCacheEntry","activate","instance2","isDeactivated","vnodeHook","onVnodeMounted","invokeVNodeHook","deactivate","da","onVnodeUnmounted","matches","pendingCacheKey","cacheSubtree","getInnerChild","onUpdated","rawVNode","cachedVNode","pattern","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","__wdc","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","__weh","setCurrentInstance","unsetCurrentInstance","unshift","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","renderList","renderItem","from","createSlots","dynamicSlots","slot","j","renderSlot","noSlotted","isCE","validSlotContent","ensureValidVNode","rendered","createBlock","scopeId","vnodes","toHandlers","preserveCaseIfNecessary","getPublicInstance","isStatefulComponent","publicPropertiesMap","$","$el","$data","$props","$attrs","$slots","$refs","refs","$parent","$root","$emit","$options","$forceUpdate","f","$nextTick","$watch","hasSetupBinding","__isScriptSetup","PublicInstanceProxyHandlers","accessCache","normalizedProps","publicGetter","cssModule","globalProperties","__cssModules","descriptor","RuntimeCompiledPublicInstanceProxyHandlers","unscopables","defineProps","defineEmits","defineExpose","exposed","defineOptions","defineSlots","defineModel","withDefaults","defaults","useSlots","getContext","useAttrs","useModel","local","setupContext","createSetupContext","normalizePropsOrEmits","mergeDefaults","opt","skipFactory","mergeModels","createPropsRestProxy","excludedKeys","withAsyncContext","getAwaitable","awaitable","mergeOptions","to","strats","mixins","extends","extendsOptions","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","methods","mergeObjectOptions","beforeCreate","mergeAsArray","created","beforeMount","beforeUpdate","beforeDestroy","beforeUnmount","destroyed","unmounted","activated","deactivated","errorCaptured","serverPrefetch","components","merged","provide","inject","normalizeInject","createAppContext","isNativeTag","performance","optionMergeStrategies","warnHandler","compilerOptions","provides","optionsCache","propsCache","uid$1","createAppAPI","rootComponent","rootProps","context","installedPlugins","WeakSet","_uid","_component","_props","_container","_context","_instance","version","use","plugin","install","mixin","directive","mount","rootContainer","isHydrate","__vue_app__","Text","Static","devtoolsInitApp","devtoolsUnmountApp","runWithContext","currentApp","parentProvides","treatDefaultAsFactory","hasInjectionContext","setFullProps","needCastKeys","rawCastValues","hasAttrsChanged","camelKey","rawCurrentProps","castValues","resolvePropValue","isAbsent","hasDefault","propsDefaults","normalizePropsOptions","normalizedKey","validatePropName","booleanIndex","getTypeIndex","stringIndex","getType","ctor","match","isSameType","expectedTypes","t","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","_ctx","normalizeVNodeSlots","initSlots","InternalObjectKey","updateSlots","needDeletionCheck","deletionComparisonTarget","$stable","setRef","rawRef","oldRawRef","isUnmount","refValue","owner","oldRef","_isString","_isRef","doSet","existing","k","hasMismatch","isSVGContainer","namespaceURI","tagName","isComment","nodeType","createHydrationFunctions","mt","mountComponent","patchProp","createText","nextSibling","insert","createComment","isFragmentStart","onMismatch","handleMismatch","domType","nextNode","isTemplateNode","replaceNode","content","firstChild","needToAdoptContent","staticCount","outerHTML","hydrateFragment","hydrateElement","locateClosingAnchor","previousSibling","lastChild","createTextVNode","hydrateChildren","forcePatchValue","endsWith","onClick","vnodeHooks","onVnodeBeforeMount","needCallTransitionHooks","needTransition","innerHTML","textContent","parentVNode","fragmentSlotScopeIds","isFragment","next2","close","newNode","oldNode","parentNode2","replaceChild","hasChildNodes","_vnode","createRenderer","baseCreateRenderer","createHydrationRenderer","createHydrationFns","__VUE__","__VUE_DEVTOOLS_GLOBAL_HOOK__","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","hostParentNode","hostNextSibling","setScopeId","hostSetScopeId","insertStaticContent","hostInsertStaticContent","getNextHostNode","processText","processCommentNode","mountStaticNode","processFragment","processElement","processComponent","internals","mountElement","patchElement","mountChildren","unmountChildren","cloneIfMounted","oldProps","newProps","toggleRecurse","onVnodeBeforeUpdate","areChildrenSVG","patchBlockChildren","patchChildren","patchProps","propsToUpdate","dynamicProps","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","traverseStaticChildren","updateComponent","initialVNode","createComponentInstance","setupComponent","nextVNode","prevChildren","nextChildren","shouldUpdateComponent","updateComponentPreRender","invalidateJob","bu","u","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateSubTree","scopedInitialVNode","rawPrevProps","kebabKey","camelizedKey","updateProps","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","commonLength","Math","min","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","len","arrI","getSequence","nextIndex","moveType","remove2","performLeave","moveStaticNode","shouldInvokeDirs","shouldInvokeVnodeHook","onVnodeBeforeUnmount","unmountComponent","removeFragment","removeStaticNode","performRemove","bum","mc","pc","pbc","createApp","allowed","ch1","ch2","isTeleportDisabled","disabled","isTargetSVG","SVGElement","resolveTarget","select","targetSelector","moveTeleport","targetAnchor","isReorder","Teleport","__isTeleport","querySelector","mainAnchor","wasDisabled","currentContainer","currentAnchor","nextTarget","updateCssVars","shouldRemove","targetNode","_lpa","ut","setAttribute","disableTracking","vnodeArgsTransformer","setupBlock","createElementBlock","createBaseVNode","__v_isVNode","transformVNodeArgs","transformer","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","__v_skip","normalizeChildren","cloned","guardReactiveProps","isTeleport","extraProps","mergeRef","mergedProps","mergeProps","text","flag","createStaticVNode","numberOfNodes","createCommentVNode","asBlock","memo","slotFlag","toMerge","incoming","emptyAppContext","exposeProxy","attrsProxy","slotsProxy","bc","rtg","rtc","sp","internalSetCurrentInstance","globalCurrentInstanceSetters","settersKey","compile","installWithProxy","isStateful","initProps","setupResult","resolvedResult","finishComponentSetup","setupStatefulComponent","__ssrInlineRender","ssrRender","devtoolsRawSetupState","registerRuntimeCompiler","_compile","_rc","skipOptions","template","base","globalMixins","resolved","resolveMergedOptions","isCustomElement","delimiters","componentCompilerOptions","finalCompilerOptions","getAttrsProxy","expose","includeInferred","displayName","__name","getterOrOptions","debugOptions","setter","onlyGetter","h","propsOrChildren","ssrContextKey","withMemo","isMemoSame","ssrUtils","resolveFilter","compatUtils","doc","templateContainer","nodeOps","insertBefore","removeChild","tag","multiple","createTextNode","nodeValue","selector","before","cloneNode","wrapper","appendChild","TRANSITION","ANIMATION","vtcKey","Transition","resolveTransitionProps","DOMTransitionPropsValidators","css","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","TransitionPropsValidators","h2","hasExplicitCallback","baseProps","durations","NumberOf","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","removeTransitionClass","finishLeave","_isLeaving","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","cls","classList","_vtc","requestAnimationFrame","endId","expectedType","explicitTimeout","_endId","resolveIfNotStale","propCount","getTransitionInfo","endEvent","ended","removeEventListener","onEnd","addEventListener","styles","getComputedStyle","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","toMs","offsetHeight","vShowOldKey","vShow","display","setDisplay","importantRE","setStyle","setProperty","prefixed","rawName","prefixCache","prefixes","autoPrefix","xlinkNS","veiKey","optionsModifierRE","cachedNow","getNow","Date","now","nativeOnRE","defineCustomElement","hydrate2","Comp","VueCustomElement","VueElement","initialProps","defineSSRCustomElement","BaseClass","_def","_connected","_resolved","_numberProps","_ob","shadowRoot","_createVNode","attachShadow","_resolveProps","connectedCallback","_update","_resolveDef","disconnectedCallback","disconnect","attributes","_setAttr","MutationObserver","mutations","attributeName","observe","isAsync","numberProps","_applyStyles","asyncDef","declaredPropKeys","_setProp","_getProp","getAttribute","shouldReflect","shouldUpdate","removeAttribute","dispatch","CustomEvent","detail","host","useCssModule","modules","useCssVars","updateTeleports","vars","querySelectorAll","setVarsOnNode","setVars","setVarsOnVNode","ob","childList","positionMap","newPositionMap","moveCbKey","TransitionGroup","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","transform","webkitTransform","transitionDuration","propertyName","cssTransitionProps","getBoundingClientRect","oldPos","newPos","dx","left","dy","top","getModelAssigner","onCompositionStart","composing","onCompositionEnd","Event","assignKey","vModelText","castToNumber","domValue","activeElement","vModelCheckbox","modelValue","_modelValue","elementValue","getValue","checked","found","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","isSetModel","selectedVal","selected","setSelected","_binding","isMultiple","option","optionValue","selectedIndex","vModelDynamic","callModelHook","resolveDynamicModel","systemModifiers","modifierGuards","stopPropagation","prevent","preventDefault","currentTarget","ctrl","ctrlKey","shift","shiftKey","alt","altKey","meta","metaKey","button","right","exact","withModifiers","guard","keyNames","esc","space","up","down","withKeys","eventKey","rendererOptions","prevValue","nextValue","transitionClasses","join","className","patchClass","isCssString","currentDisplay","patchStyle","invokers","existingInvoker","parseName","invoker","initialValue","_vts","attached","originalStop","stopImmediatePropagation","_stopped","patchStopImmediatePropagation","createInvoker","patchEvent","shouldSetAsProp","needRemove","patchDOMProp","_trueValue","_falseValue","removeAttributeNS","setAttributeNS","isBoolean","patchAttr","enabledHydration","ensureRenderer","ensureHydrationRenderer","containerOrSelector","normalizeContainer","Element","createSSRApp","ssrDirectiveInitialized","initDirectivesForSSR","getSSRProps","modelToUse","defaultOnError","defaultOnWarn","createCompilerError","code","loc","messages","additionalMessage","SyntaxError","FRAGMENT","TELEPORT","SUSPENSE","KEEP_ALIVE","BASE_TRANSITION","OPEN_BLOCK","CREATE_BLOCK","CREATE_ELEMENT_BLOCK","CREATE_VNODE","CREATE_ELEMENT_VNODE","CREATE_COMMENT","CREATE_TEXT","CREATE_STATIC","RESOLVE_COMPONENT","RESOLVE_DYNAMIC_COMPONENT","RESOLVE_DIRECTIVE","RESOLVE_FILTER","WITH_DIRECTIVES","RENDER_LIST","RENDER_SLOT","CREATE_SLOTS","TO_DISPLAY_STRING","MERGE_PROPS","NORMALIZE_CLASS","NORMALIZE_STYLE","NORMALIZE_PROPS","GUARD_REACTIVE_PROPS","TO_HANDLERS","CAMELIZE","CAPITALIZE","TO_HANDLER_KEY","SET_BLOCK_TRACKING","PUSH_SCOPE_ID","POP_SCOPE_ID","WITH_CTX","UNREF","IS_REF","WITH_MEMO","IS_MEMO_SAME","helperNameMap","locStub","line","column","offset","createVNodeCall","isBlock","isComponent","helper","getVNodeBlockHelper","inSSR","getVNodeHelper","createArrayExpression","elements","createObjectExpression","properties","createObjectProperty","createSimpleExpression","isStatic","constType","createCompoundExpression","createCallExpression","callee","createFunctionExpression","returns","newline","isSlot","createConditionalExpression","consequent","alternate","ssr","convertToBlock","removeHelper","isStaticExp","isBuiltInType","expected","isCoreComponent","nonIdentifierRE","isSimpleIdentifier","validFirstIdentCharRE","validIdentCharRE","whitespaceRE","isMemberExpression","path","stateStack","currentOpenBracketCount","currentOpenParensCount","currentStringType","char","getInnerRange","newLoc","advancePositionWithClone","pos","numberOfCharacters","advancePositionWithMutation","linesCount","lastNewLinePos","charCodeAt","findDir","allowEmpty","exp","findProp","dynamicOnly","isStaticArgOf","isText$1","isVSlot","tagType","isSlotOutlet","propsHelperSet","getUnnormalizedProps","callPath","injectProp","propsWithInjection","parentCall","first","hasProp","propKeyName","toValidAssetId","searchValue","replaceValue","getCompatValue","compatConfig","isCompatEnabled","checkCompatEnabled","decodeRE","decodeMap","gt","lt","amp","apos","quot","defaultParserOptions","getNamespace","getTextMode","isPreTag","decodeEntities","rawText","p1","onWarn","comments","parseChildren","ancestors","ns","nodes","isEnd","inVPre","parseInterpolation","emitError","parseComment","parseBogusComment","parseCDATA","advanceBy","parseTag","parseElement","isSpecialTemplateDirective","parseText","pushNode","removedWhitespace","shouldCondense","whitespace","inPre","getCursor","exec","prevIndex","nestedIndex","getSelection","contentStart","closeIndex","wasInPre","wasInVPre","element","isPreBoundary","isVPreBoundary","isSelfClosing","inlineTemplateProp","find","startsWithEndTagOpen","advanceSpaces","cursor","currentSource","parseAttributes","isBuiltInComponent","codegenNode","attributeNames","attr","parseAttribute","nameSet","quote","isQuoted","endIndex","parseTextData","unexpectedChars","parseAttributeValue","match2","isPropShorthand","dirName","startOffset","lastIndexOf","loc2","getNewPosition","valueLoc","innerStart","innerEnd","rawContentLength","rawContent","preTrimContent","endTokens","originalSource","xs","searchString","hoistStatic","walk","isSingleElementRoot","doNotHoistNode","originalCount","hoistedCount","constantType","getConstantType","hoist","getPatchFlag","getGeneratedPropsConstantType","getNodeProps","vSlot","i2","branches","transformHoist","hoisted","hmr","constantCache","returnType2","generatedPropsType","childType","expType","returnType","allowHoistedHelperSet","getConstantTypeOfHelperCall","keyType","valueType","filename","prefixIdentifiers","hoistStatic2","cacheHandlers","nodeTransforms","directiveTransforms","expressionPlugins","slotted","ssrCssVars","bindingMetadata","inline","isTS","nameMatch","helpers","hoists","imports","temps","identifiers","vFor","vPre","vOnce","currentNode","childIndex","inVOnce","count","currentCount","helperString","removeNode","removalIndex","onNodeRemoved","addIdentifiers","removeIdentifiers","identifier","createCacheExpression","filters","createTransformContext","traverseNode","createRootCodegen","exitFns","onExit","nodeRemoved","traverseChildren","createStructuralDirectiveTransform","PURE_ANNOTATION","aliasHelper","generate","ast","sourceMap","optimizeImports","runtimeGlobalName","runtimeModuleName","ssrRuntimeModuleName","indentLevel","pure","indent","deindent","withoutNewLine","repeat","createCodegenContext","onContextCreated","hasHelpers","useWithBlock","VueBinding","genNode","genHoists","genFunctionPreamble","genAssets","preamble","toJSON","assets","resolver","genNodeListAsArray","multilines","genNodeList","comma","genText","genExpression","genInterpolation","genCompoundExpression","genComment","genNullableArgs","genVNodeCall","genCallExpression","genExpressionAsPropertyKey","genObjectExpression","genArrayExpression","genFunctionExpression","needNewline","needsParens","isNested","genConditionalExpression","genCacheExpression","transformIf","processCodegen","createIfBranch","ifNode","siblings","sibling","condition","processIf","isRoot","createCodegenNodeForBranch","parentCondition","getParentCondition","isTemplateIf","userKey","keyIndex","createChildrenCodegenNode","keyProperty","vnodeCall","transformFor","parseResult","parseForExpression","forNode","valueAlias","keyAlias","objectIndexAlias","processFor","renderExp","isTemplate","keyProp","keyExp","isStableFragment","fragmentFlag","childBlock","needFragmentWrapper","slotOutlet","loop","createForLoopParams","forAliasRE","forIteratorRE","stripParensRE","input","inMatch","LHS","RHS","createAliasExpression","valueContent","trimmedOffset","iteratorMatch","keyContent","keyOffset","indexContent","range","memoArgs","createParamsList","defaultFallback","trackSlotScopes","buildClientSlotFn","_vForExp","buildSlots","buildSlotFn","slotsProperties","hasDynamicSlots","onComponentSlot","hasTemplateSlots","hasNamedDefaultSlot","implicitDefaultChildren","seenSlotNames","conditionalBranchIndex","slotElement","slotDir","slotChildren","slotLoc","slotName","slotProps","dirLoc","staticSlotName","slotFunction","vIf","vElse","buildDynamicSlot","conditional","buildDefaultSlotProperty","children2","node2","isNonWhitespaceContent","hasForwardedSlots","directiveImportMap","transformElement","vnodeTag","isExplicitDynamic","isComponentTag","isProp","isDir","builtIn","resolveComponentType","isDynamicComponent","vnodeProps","vnodeChildren","vnodePatchFlag","vnodeDynamicProps","dynamicPropNames","vnodeDirectives","shouldUseBlock","propsBuildResult","buildProps","dirArgs","runtime","trueExpression","modifier","buildDirectiveArgs","hasDynamicTextChild","propsNamesString","stringifyDynamicPropNames","elementLoc","mergeArgs","runtimeDirectives","hasChildren","hasRef","hasClassBinding","hasStyleBinding","hasHydrationEventBinding","hasDynamicKeys","hasVnodeHook","pushMergeArg","dedupeProperties","analyzePatchFlag","isEventHandler","isVBind","isVOn","directiveTransform","props2","needRuntime","propsExpression","classKeyIndex","styleKeyIndex","hasDynamicKey","isHandlerKey","classProp","styleProp","knownProps","transformSlotOutlet","nonNameProps","processSlotOutlet","slotArgs","expectedLen","fnExpRE","transformOn","augmentor","eventName","shouldCache","isMemberExp","isInlineStatement","hasMultipleStatements","transformBind","_node","injectPrefix","prefix","transformText","hasText","callArgs","seen$1","transformOnce","transformModel","createTransformProps","rawExp","expString","bindingType","propName","assignmentExp","validDivisionCharRE","transformFilter","rewriteFilter","parseFilter","expression","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","lastFilterIndex","pushFilter","wrapFilter","transformMemo","baseCompile","isModuleMode","rawOptions","createParserContext","createRoot","model","V_MODEL_RADIO","V_MODEL_CHECKBOX","V_MODEL_TEXT","V_MODEL_SELECT","V_MODEL_DYNAMIC","V_ON_WITH_MODIFIERS","V_ON_WITH_KEYS","V_SHOW","TRANSITION_GROUP","decoder","getOwnPropertySymbols","isRawTextContainer","parserOptions","asAttr","parseInlineCSS","createDOMCompilerError","isEventOptionModifier","isNonKeyModifier","maybeKeyModifier","isKeyboardEvent","transformClick","ignoreSideEffectTags","DOMNodeTransforms","DOMDirectiveTransforms","cloak","html","baseResult","directiveToUse","isInvalidType","hasDynamicKeyVBind","handlerExp","keyModifiers","nonKeyModifiers","eventOptionModifiers","resolveModifiers","modifierPostfix","show","compileCache","customElements","_createElementVNode","initOptions","required","placeholderLabel","onChangeCallback","showArrow","popupOpen","labelId","dropdownButtonRef","dropdownListRef","selectedValues","optionsIsNotEmpty","getListOfElements","_dropdownListRef$valu","getActiveInputIndex","inputs","activeInputIndex","navigateBackInList","focus","navigateFrontInList","handleKeyTab","_dropdownButtonRef$va","onChangeDropdown","dataset","toggleDropdown","closeDropdown","closest","emptySelectedResults","_createElementBlock","_normalizeClass","_cache","role","_hoisted_2","_hoisted_3","_toDisplayString","_hoisted_6","_withModifiers","tabindex","onChange","_Fragment","_renderList","_hoisted_8","_hoisted_9","_hoisted_10","onKeydown","_hoisted_12","_hoisted_13","MultiSelectDropdown","apiUrl","getMoreButtonText","takeCount","subjects","types","excludePages","typeOptions","subjectOptions","results","currentPage","take","totalArticleCount","selectedTypes","selectedSubjects","fetching","formatTypes","formatSubjects","fetchArticles","loadMore","subject","typeCodes","subjectCodes","fetch","json","selectedArticles","article","format","category","newsSubjectTaxonomy","datePublished","thumbnailUrl","thumbnailUrlMobile","thumbnailUrlTablet","formatResults","getMoreResults","handleSubjectsCallback","handleTypesCallback","srcset","media","src","bannerId","bannerHidden","COOKIE_VALUE","checkCookie","cookieName","cookie","row","removeBanner","date","setTime","expires","toUTCString","setCookie","width","height","viewBox","xmlns","cx","cy","stroke","colspan","getTarget","isProxyAvailable","ApiProxy","targetQueue","onQueue","defaultSettings","settings","localSettingsSaveId","currentSettings","localStorage","getItem","parse","fallbacks","getSettings","setSettings","setItem","perf_hooks","pluginId","proxiedOn","_target","proxiedTarget","setRealTarget","storeKey","useStore","forEachValue","genericSubscribe","subs","resetStore","store","hot","_actions","_mutations","_wrappedGetters","_modulesNamespaceMap","installModule","_modules","resetStoreState","oldState","_state","oldScope","_scope","getters","_makeLocalGettersCache","wrappedGetters","computedObj","computedCache","partial","strict","enableStrictMode","_withCommit","rootState","namespace","namespaced","parentState","getNestedState","moduleName","noNamespace","_type","_payload","_options","unifyObjectStyle","payload","commit","defineProperties","makeLocalGetters","makeLocalContext","forEachMutation","mutation","registerMutation","forEachAction","action","rootGetters","_devtoolHook","registerAction","forEachGetter","rawGetter","registerGetter","forEachChild","gettersProxy","splitPos","localType","MUTATIONS_LAYER_ID","ACTIONS_LAYER_ID","INSPECTOR_ID","actionId","addDevtools","pluginDescriptor","setupFn","enableProxy","enableEarlyProxy","__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__","__VUE_DEVTOOLS_PLUGINS__","setupDevtoolsPlugin","label","homepage","logo","packageName","componentStateTypes","api","addTimelineLayer","color","COLOR_LIME_500","addInspector","icon","treeFilterPlaceholder","getInspectorTree","inspectorId","flattenStoreForInspectorTree","rootNodes","formatStoreForInspectorTree","getInspectorState","modulePath","nodeId","gettersKeys","storeState","editable","tree","leafKey","_custom","tooltip","abstract","canThrow","transformPathsToObjectTree","extractNameFromPath","formatStoreForInspectorState","moduleMap","names","_children","editInspectorState","subscribe","notifyComponentUpdate","sendInspectorTree","sendInspectorState","addTimelineEvent","layerId","time","subscribeAction","_time","groupId","subtitle","after","TAG_NAMESPACED","textColor","backgroundColor","tags","Module","rawModule","_rawModule","rawState","prototypeAccessors$1","addChild","getChild","hasChild","actions","ModuleCollection","rawRootModule","register","targetModule","newModule","this$1$1","rawChildModule","unregister","isRegistered","Store","plugins","_committing","_actionSubscribers","_subscribers","_devtools","prototypeAccessors","normalizeMap","isValidMap","normalizeNamespace","getModuleByNamespace","injectKey","$store","entry","sub","all","replaceState","registerModule","preserveState","unregisterModule","hasModule","hotUpdate","newOptions","committing","states","vuex","labels","headers","rows","collapse","tableContainerRef","tableCollapsed","hiddensTableItemsShown","uniqueTableId","random","substr","hiddenTableItems","hide","tableStylesHiddenRow","toggleTable","toggleHiddenRows","showTooltip","modalTitle","htmlContent","getTableItemStyles","getAccordionNameFromTable","getAccordionValueFromTable","indexRow","indexItem","tooltipTitle","tooltipButtonLabel","showLessButton","showMoreButton","getTableHeaders","header","getTableRows","CalculatorTable","tables","groupTables","setTables","array","grouptable","groupTableIndex","compareIndex","group","table","tableIndex","showTitle","mapTableData","groupTable","titles","otherTable","rowIndex","rowName","rowExist","otherRow","matchTheTwoTables","oldVal","markGroupsWithOnlyOneTable","classname","groupIndex","titleIndex","description","link","juraModal","anchorId","hash","componentDOM","componentKey","DOMComponentKey","getFormattedData","hasGraph","onCallback","hasHousingTypes","mortgageLoanProcents","total","bankLoanValue","mortgageLoanValue","toFixed","cooperativeHousingLoanProcents","cooperativeHousingLoanValue","removeTooltip","removeTooltipMouseLeave","showTooltipMouseOver","buildTooltip","mousePos","clientX","clientY","scrollY","applyThousandSeperator","buttonLabel","bankLoanLabel","mortgageLoanLabel","cooperativeHousingLoanLabel","totalMonthlyPaymentBeforeTax","totalMonthlyPaymentBeforeTaxValue","totalMonthlyPaymentAfterTax","totalMonthlyPaymentAfterTaxValue","currencyPrefix","formLink","isValid","localValue","inputName","formInputName","customConfig","autocomplete","legend","isRequired","isValidationError","errorMessageLabel","helpMessageLabel","maxlength","validatorFunction","radioOptions","checkboxes","selectOptions","resetAriaLabel","_ref","_ref2","_props$modelValue","inputRef","autoSelectFirstRadio","inputHasValidationErrors","formInputFormBinder","resetValue","formInputCommonOptions","$event","focusableElementsTypes","currentHousingType","selectedLoanType","changeLoanType","loanType","loan","selectedLoanTypeLabel","bullets","bullet","bulletsIndex","loanTypeButtonLabel","replaceAll","FormRadioGroupInput","FormGenericInput","housingTypes","initData","displayErrors","showHousingTypes","housePrice","housePriceRaw","ownPayment","ownPaymentRaw","housingType","housePriceErrormMessage","housePriceInt","ownPaymentInt","priceDiff","minLoanAmount","minLoanAmountErrorText","maxLoanAmount","maxLoanAmountErrorText","dynamicOwnPaymentErrorMessage","ownPaymentToHighErrorMessage","minOwnPaymentAmount","ownPaymentErrorMessage","initHousingType","isSelected","keyName","setRadioOptions","formatInput","defaultBankLoanTenureLength","defaultMortgageLoanTenureLength","defaultMortgageLoanInterestOnlyLength","formValid","ownPaymentValidation","housePriceValidation","reverseThousandCommaSeparation","getCurrentHouseTypeObject","x","downPaymentProcent","checkAndSetInputValue","setOwnPayment","cursorPosition","selectionStart","valueLength","newValueLength","newCursorPosition","setSelectionRange","setHousePrice","newOwnPayment","setHousingTypes","housingTypeTitle","helpMessage","housingTypeHelpMessage","errorMessage","housePriceLabel","housePriceHelpMessage","inputmode","inputResetAriaLabel","ownPaymentLabel","firstNameHelpText","registerGtmDataLayer","dataLayer","NewLoanCalculatorInputs","bankLoanTenureLength","mortgageLoanTenureLength","mortgageLoanInterestOnlyLength","currentType","loanTypes","currentLoanType","submit","eventAction","eventCategory","eventLabel","eventNoninteraction","eventValue","propertyDownpayment","propertyPrice","propertyType","userType","event_source","hasMortgageLoan","adjustLoanAdjustRealCreditLoanLabel","hasMortInterestOnlyLoan","interestOnlyPeriodLabel","yearUnitLabel","mortgageLoanInterestOnlyLengthMinValue","mortgageLoanInterestOnlyLengthMaxValue","durationLabel","mortgageLoanTenureLengthMinValue","mortgageLoanTenureLengthMaxValue","hasBankLoan","adjustLoanAdjustBankLoanLabel","bankLoanTenureLengthMinValue","bankLoanTenureLengthMaxValue","adjustLoanModalButtonLabel","SwitchLoanTypeContent","AdjustLoanContent","modalElementRef","modal","modalSubTitle","componentName","componentProps","modalOpen","modalStyles","isLoading","scrollPos","showModal","scrollTo","getModalStyles","closeModal","dialogElement","focusableElements","isFocusable","isVisible","offsetWidth","checkVisibility","isNotDisabled","isElementFocusable","getFocusableElements","firstElement","lastElement","modalTrapFocus","returnValue","autofocus","modalCloseAriaLabel","productType","Modal","systemErrorMessage","hideSystemErrorMessage","getProductType","houseType","mapNewLoanUrlParams","handleHideSystemErrorMessage","openSwitchLoanTypeModal","openAdjustLoanModel","async","infoBox","summaries","sendCalculation","showSendCalculation","getLoanTypesForSummary","switchLoanType","switchLoanTypeWithRedirect","openSendCalculationsModal","openCompareLoanModal","adjustLoan","adjustLoanWithRedirect","quitCompareMode","closeSendCalculationModal","valueToValidate","emailInput","regexResult","validationResult","notEmpty","_regeneratorRuntime","asyncIterator","define","writable","Generator","Context","makeInvokeMethod","tryCatch","y","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","reverse","rval","handle","complete","finish","delegateYield","asyncGeneratorStep","gen","_next","_throw","info","_x","_x2","_callee","ok","contentType","email","tealiumEnvironment","lastname","phonenumber","userInput","stepsConfigAndOrder","finalStepName","toReversed","getNamedFieldInputData","dataObject","field","currentStepName","allStepsComplete","stepData","completed","currentStepNumber","step","currentStepTexts","texts","hasPreviousStep","countableSteps","isCountableStep","resetSignupForm","stepCounterText","stepLabel","stepCounterAccessibleText","accessibleLabel","accessibleStepLabel","showFieldErrorMessage","fieldName","returnToPreviousStep","inputData","displayInputError","advanceToNextStep","stepField","inputDatafield","validator","dataField","inputfield","nextStepCallback","previousStepCallback","inputCallback","newslettersData","imageSource","imageAltText","currentStep","_signupStepsCommonProps","contentClassnames","finishSignupButtonRef","finishSignupLabel","summary","handleAnchorNavigationSkip","once","_hoisted_1","_createCommentVNode","_ctx$imageAltText","_hoisted_7","_hoisted_14","nextStepButtonText","redirectLink","onCloseCallback","spaceTop","_sendCalculationStepsCommonProps","SendCalculationStepActions","firstNameInput","firstname","lastNameInput","_hoisted_4","ariaCloseButtonLabel","_ctx$labels$firstName","firstName","_ctx$labels$firstName2","onKeyup","_withKeys","firstNameErrorMessage","_ctx$labels$firstName3","_ctx$labels$lastName","lastName","_ctx$labels$lastName2","_hoisted_15","lastNameErrorMessage","_ctx$labels$lastNameE","_hoisted_16","_ctx$labels$email","_ctx$labels$email2","_hoisted_18","emailErrorMessage","_ctx$labels$emailErro","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_ctx$labels$firstName4","_ctx$labels$firstName5","_hoisted_25","_ctx$labels$firstName6","_hoisted_26","_ctx$labels$lastName3","_ctx$labels$lastName4","_hoisted_28","_ctx$labels$lastNameE2","_hoisted_29","_ctx$labels$email3","_ctx$labels$email4","_hoisted_31","_ctx$labels$emailErro2","_hoisted_32","_hoisted_35","_component_SendCalculationStepActions","navigateToAnchor","_props$labels","targetElement","getElementById","bubbles","_ctx$labels","_ctx$labels2","anchorTitle","boldPrefixText","mainText","_hoisted_5","_ctx$labels3","_ctx$labels4","buttonText","_ctx$labels5","_ctx$labels6","SignupStepActions","commentsInput","comment","_ctx$labels$commentPl","commentPlaceholder","_component_SignupStepActions","getOwnPropertyDescriptor","_objectSpread","prim","toPrimitive","hint","_toPrimitive","_toPropertyKey","getOwnPropertyDescriptors","ContactStepIntro","SendCalculationStepInfo","SendCalculationStepContent","ContactStepComments","SignupStepReceipt","salesforceidApiUrl","sendCalculationApiUrl","userInformationApiUrl","calculatorType","initStartFlow","onResetCallback","_props$labels$finishS","bgColorClassName","sendCalculationClassNames","notEmptyInput","emailValidator","consent","receiptTitle","receipt","_getGeneralComputedVa","getGeneralComputedValues","submitData","sendCalculationBody","getUserInformation","getSalesforceId","salesforceId","sendCalculationSubmit","validateInputAndProceed","validSuccess","handleValidateInputAndProceed","onReset","onClose","_createBlock","_resolveDynamicComponent","CalculatorCompareTable","CalculatorSummary","CalculatorInfoBox","SendCalculation","_layoutComponentsProps","backButtonLabel","resultTitle","compareTitle","singleSummaryIndex","sendCalculationButtonLabel","compareLoanButtonLabel","adjustLoanButtonLabel","multipleSummariesIndex","NewLoanCalculatorResultDesktop","NewLoanCalculatorResultMobile","blockId","tableGroups","calculationData","cookieValue","setCalculationData","setResponseData","redirect","rootPath","search","switchLoanTypeProps","adjustLoanProps","housingTypesClone","currentIndex","loadingTimeout","apiGetCalculatorData","clearTimeout","loanTypesTitle","defaultCompareLoanType","adjustLoanModalTitle","fontSizesDesktop","fontSizesMobile","resizeObserver","emailInputElement","ResizeObserver","adjustFontSize","newEmailValue","unobserve","inputWidth","fontSizes","matchMedia","resizePadding","fontSize","font","fontFamily","calculateTextWidth","measureText","emailLabel","tooltipName","highlighted","wordPopup","arrow","clickOutsideHandler","contains","closeDialog","showDialog","wordPopupRect","innerWidth","marginLeft","tapTrap","Tooltip","newsletterFields","displayError","newsletter","displayname","salesforceMapping","tooltipLabel","handleNextStep","firstnameInput","lastnameInput","firstnameInputRef","newFirstnameValue","newLastnameValue","firstNameLabel","lastNameLabel","finalize","newsletters","stepComponentNames","SignupStepSelectNewsletters","SignupStepEmail","SignupStepFullname","newslettersUserInputs","enableUserTrack","nextButtonText","finalizeButtonText","signupStepReceipt","currentStepComponentFocusRef","stepAnnouncerRef","newslettersSignupSubmit","announceStep","stepName","setFocusElement","inputDataFieldIndex","inputDataField","newletterClassName","stepInputComplete","allStepInputComplete","singleSignupHandleInputAndProceed","GtmVideoService","Player","interval","watched","videoId","player","vidoeId","registredPercentages","fallbackVideoTitle","onVideoStateChanged","videoTitle","YT","PlayerState","PLAYING","clearInterval","trackPossibleEvents","setInterval","ENDED","registerVideo","PAUSED","getDuration","getCurrentTime","played","fractionPlayed","watchedPercentage","watchedArray","getVideoData","videoData","cookieAccepted","lazyLoad","videoPlaying","youtubePlayer","youtubeIframeAPIReady","videoWrapperElementRef","youtubeVideoElementRef","playButtonElementRef","CookieInformation","getConsentGivenFor","handleCookieConsent","newCookieAccepted","oldCookieAccepted","insertYoutubeApi","playOrQueue","youTubeCallbackQueue","showPlaceholder","youTubeIframeAPIReady","initVideo","onYouTubeIframeAPIReady","newScriptEl","firstScriptEl","getElementsByTagName","func","playYoutubeVideo","playVideo","getIframe","contentWindow","youtubeVideoElementRefID","ytPlayerId","youtubeId","playerVars","showinfo","hl","events","onReady","onStateChange","BUFFERING","onPlayerStateChange","localVideoElementRef","acceptCookieConsent","CookieConsent","renew","playLocalVideo","play","wait","getUrlParamPrefix","centerInformation","defaultImage","contactUrl","employees","employSearch","centerSelect","showEmployeesCount","employeesCount","center","centerId","fetchEmployees","request","Request","contactPersonsInformation","employeesList","structuredClone","employee","advisorId","setEmployees","searchInputUpdated","debounce","resetEmploySearch","centerValueUpdated","handleShowAllEmployees","handleImageError","employ","pictureUrl","initActiveTab","tabs","canShowDropdown","dropdownLabel","tabContainer","lineElement","activeTab","startTabMutationObserver","indexOfActiveTab","tab","handleTabChanges","mutationsList","activeElm","tabContainerLeft","lineLeftPos","scrollLeft","clientWidth","subtree","changeTab","tabId","markerUrl","encodeURIComponent","findNykreditTheme","markerDefault","google","maps","Point","scaledSize","Size","markerHighlight","markerMedium","markerMediumHighlight","markerBig","markerBigHighlight","markerOptions","animation","Animation","DROP","mapOptions","createMarker","markerThemeExtractor","currentMapTheme","hoverEnterLocation","hoverLeaveLocation","clickLocation","highlightLocation","latLng","lat","latitude","lng","longitude","useMediumIcon","useBigIcon","marker","Marker","position","addListener","mapLocations","pins","updateMarkerHighlight","_props$hoverEnterLoca","_props$hoverLeaveLoca","_props$clickLocation","centerPageUrl","mapContainer","initialMapOptions","focusPoints","locations","mapkey","theme","mapsScriptUrl","defaultCenter","LatLng","_props$locations","localHighlightLocation","_props$highlightLocat","setAltTextForImg","allImgPins","img","altText","loadMapScript","mapThemes","initMap","updatePins","getZoom","updateLocalState","zoom","scrollwheel","fullscreenControl","streetViewControl","mapTypeId","mapTypeControlOptions","mapTypeIds","ControlPosition","TOP_RIGHT","zoomControlOptions","clickableIcons","gestureHandling","pin","UseMediumIcon","UseBigIcon","defaultZoom","bounds","LatLngBounds","focusPoint","point","Latitude","Longitude","extend","fitBounds","setZoom","updateBounds","placeSelected","lat1","geometry","lng1","lat2","lng2","deg2rad","deg","PI","dLat","dLon","sin","cos","atan2","sqrt","centerLocations","initGooglePlacesAutocomplete","places","Autocomplete","categories","centerInformationComplete","centerInformationFiltered","googlePlacesSearchField","placeSearchQuery","showMapsMobile","showListMobileCount","currentZoom","googlePlacesSearchResultsShown","googlePlacesSearchResultsRef","multiSelectCategoriesOptions","Id","Name","observer","addedNodes","findGooglePlacesSearchResultsElement","searchResults","filterCentersAndZoom","showFilteredResults","getPlace","centerA","centerB","resetCenterSearch","filterCategories","userSelection","selectedCategoryIds","getDistance","handleShowMapMobile","handleShowListResultsMobile","handleShowAllListMobile","updateCurrentZoom","GoggleMapsWithMarkers","searchPlaceholderLabel","categorySelectPlaceholder","titleLabel","address","postal","FilterTabs","CenterMap","FindCenterContactPersons","centersApiUrl","contactPersonsApiUrl","defaultEmployeesImage","getCenterInformationsUrl","mapCenterInformations","log","FindCenterViews","freeze","Maps","Employees","showCenterMaps","findCenterFilterChanged","uploadedFiles","resetInputValue","currentInputContainer","currentInput","cprFormatting","fileUploaded","files","multipleUploads","hasAttribute","fileContainer","handleMultipleUploads","handleSingleUploads","inputId","file","checkIfFileIsUploaded","renderUploadedFiles","createUploadedFileItem","getAllUploadedFileForInput","li","removeButton","closeIcon","span","filesForCurrentInput","createAndAddFileItemsToContainer","addFilesToInputFileList","dt","DataTransfer","items","fileItem","addEventListenerToRemoveFile","currentFileName","inputEvent","fileName","jobPostingId","genderList","initLabels","successLabels","formFailedErrorMessage","jobApplicationRef","formRef","firstNameModel","lastNameModel","addressModel","postalCodeModel","cityModel","emailModel","phoneModel","firstNameWrapper","lastNameWrapper","addressWrapper","postalCodeWrapper","cityWrapper","emailWrapper","phoneWrapper","genderWrapper","cvFileWrapper","miscFilesWrapper","applicationFilesWrapper","generalErrorMessage","generalErrorWrapper","loading","validation","postalCode","city","phone","gender","cv","totalFileSizeInRange","oneFileOutOfRange","miscFileLimitInRange","totalNumberOfFilesInRange","mimeType","cvFileInput","applicationFileInput","miscFilesInput","cvUploadedFiles","cvFilesErrorMessage","miscFilesErrorMessage","applicationFilesErrorMessage","acceptedFileTypes","maxFileSizeInBytes","maxAccumulatedFileSizeInBytes","submitAttempted","submitSuccess","inputEmailErrorMessage","inputEmailWrongformatErrorMessage","phoneValidator","handleInputUpdated","toggle","validateFiles","bytesToMB","bytes","cvFiles","applicationFiles","miscFiles","allFileUploadElements","errorMessageElement","wrapperElement","totalFileSizes","fileGroup","accumulator","currentValue","isWithinRange","uploadMaxMbErrorMessage","validateAccumulatedTotalFileSize","hasInvalidFile","invalidFileTypes","fileType","isValidFileType","multipleFiles","validateMimeType","totalFileAmount","validateAccumulatedTotalFileCount","handleFileUploadWithLimit","FileUploadMaxMbErrorMessage","handleSingleFileUpload","valid","cvValidation","handleSubmitJobApplication","isFormValid","form","jobId","formData","FormData","selectedGender","append","postalcode","cvfile","applicationfile","miscfiles","postData","submitJobApplication","message","genderUpdated","fileRemoved","cvFileParent","inputCvErrorMessage","inputFirstNameLabel","inputFirstNameErrorMessage","inputLastNameLabel","inputLastNameErrorMessage","inputAddressLabel","inputAddressErrorMessage","inputZipcodeLabel","inputZipcodeErrorMessage","inputCityLabel","inputCityErrorMessage","inputEmailLabel","inputTelephoneLabel","inputTelephoneErrorMessage","inputGenderLabel","inputGenderErrorMessage","uploadFileLabel","accept","inputCvLabel","inputApplicationLabel","inputMiscDocLabel","jobApplicationButtonLabel","searchUrl","searchInput","navigateToSearch","getNavigationList","targetClassName","setItemInFocus","forward","setNextItemInFocus","currentElm","setPrevItemInFocus","ifItemIsNotInFocus","handleLoopTrap","order","parentLi","currentList","newCurrent","nextElementSibling","previousElementSibling","newCurrentLink","newCurrentButton","handleNavigateBackInSubmenu","burgerMenuButton","subMenuItems","subNavigationList","_toConsumableArray","handleNavigateForwardInSubmenu","navigateInMobileSubmenu","subNavigationMobileList","suggestionUrl","searchResultTitle","searchPlaceholder","searchSuggestionsJson","cardTopJson","cardBottomJson","searchOverlay","inputIsInFocus","suggestions","inputIsNotEmpty","emptyInputNoFocus","navigate","termInput","query","emptyInput","setInputInFocus","setInputOutOfFocus","navigateForwardInMenu","navigateBackInMenu","closeSubmenu","activeItem","menu","onFocus","onBlur","enterkeyhint","_hoisted_11","_hoisted_17","suggest","_hoisted_24","actionUrl","actionText","_hoisted_30","_hoisted_33","callbackList","__onScrollCallbacks","onscroll","SearchOverlay","overlayId","BurgermenuStateEnum","PageStart","Open","Close","burgermenuState","menuClasses","menuSticky","menuScrolling","menuIsInView","currentScrollTopValGeneral","rootMargin","threshold","menuBottomInViewCallback","isIntersecting","menuTopInViewCallback","menuBottom","menuTop","menuBottomObserver","IntersectionObserver","menuTopObserver","addScrollCallback","scrollingDown","burgermenuUpdatedState","submenuOpen","otherSitesDropdownShown","languageDropdownShown","topLevelPagesDropdownShown","overlay","activeSubmenuDesktop","activeMenu","unSelectAllMenuItems","searchOverlayShown","searchOverlayMobileNavigateBack","getMenuClasses","submenuOpenClass","menuStickyClass","menuScrollingClass","menuItems","toggleOtherSitesDropdown","closeOtherSitesDropdownListener","toggleLanguagesDropdown","closeLanguagesDropdownListener","toggleSubmenu","findAndSetActiveDesktopSubmenu","menuId","hideMobileFirstLevelSubmenu","hideAllMobileSubmenus","toggleMobileInitSubmenu","navigateToSubmenu","navigationThree","navigateBackInSubmenu","navigateForwardInSubmenu","navigateBackInMobileSubmenu","handleSubmenuDesktop","activeSubmenu","hideAllDesktopSubmenus","setActiveMenuDesktop","isDesktop","handleBurgerMenuTab","handleBurgerMenuShiftTab","toggleTopLevelPagesMobileDropdown","showMobileSubmenuSubLevel","targetMobileSubmenu","handleMenuDropdown","dropdownLinks","handleDownLoop","handleUpLoop","closeOtherSitesDropdown","dropdown","navigateToNextListInSubmenu","subNavigationLists","subNavigationThree","handleNavigateToNextListInSubmenu","navigateToPreviousListInSubmenu","handleNavigateToPreviousListInSubmenu","navigateForwardInMobileSubmenu","openTopLevelPagesMobileDropdown","closeTopLevelPagesMobileDropdown","navigateBackToMobileFirstLevelMenu","openSearchOverlay","fakeInput","usevisuallyHiddenInputElementToTriggerIphoneKeyboard","overlaySearchInput","showSubmenuDesktop","navigateToSubmenuDesktop","handleLanguagesDropdown","closeLanguageDropdown","dropdownDefault","inputSelected","feedbackText","submitFeedback","feedbackTextUpdated","contenteditable","handleClose","FeedbackStepOne","FeedbackStepTwo","FeedbackStepThree","apiUrlStepOne","apiUrlStepTwo","FeedbackSteps","One","Two","Three","choice","handleStepOne","submitStepOne","fetchData","handleStepTwo","submitStepTwo","handleStepThree","mobileAllBreadcrumbsShown","dotsRef","toggleAllBreadcrumbs","nextSiblingLi","downloadIcon","DynamicTable","groups","reports","_props$groups$","activeYear","documentTypes","report","documentType","documentTypeFriendlyName","getDocumentTypes","year","downloadLink","getFilteredRows","changeFilter","_component_FilterTabs","_component_DynamicTable","isUser","messageClassName","sourceClassName","messageTypeClassName","isConversationExpired","decodeUnicode","grp","sendActionId","statusMessage","links","linkTarget","handleKeydown","downloadConversation","conversationStarted","_store$state$chatPane","chatPanel","conversation","privacyPolicyUrl","_store$state$chatPane2","getLabel","returnLabel","deleteMessages","BroadcastChannel","postMessage","classNames","_asyncToGenerator","Loader","setCurrentStep","isSendingFeedback","isClosing","_sendConversationFeedback","feedback","_closeFeedback","_callee2","_context2","closeFeedback","sendConversationFeedback","_component_Loader","phoneNumber","showPhoneNumberHelpMessage","phoneNumberValid","feedbackApiMessage","t0","handleEnterKeydown","feedbackPayloadNegative","feedbackPayload","ChatFeedbackInput","ChatFeedbackPhoneNumber","ChatFeedbackReview","feedbackStep","inputStep","_component_ChatFeedbackInput","_component_ChatFeedbackPhoneNumber","_component_ChatFeedbackReview","hasPassiveEvents","passiveTestOptions","passive","previousBodyOverflowSetting","previousBodyPosition","previousBodyPaddingRight","isIosDevice","platform","maxTouchPoints","locks","documentListenerAdded","initialClientY","allowTouchMove","lock","rawEvent","touches","disableBodyScroll","_window","scrollX","innerHeight","bottomBarHeight","reserveScrollBarGap","scrollBarGap","documentElement","computedBodyPaddingRight","getPropertyValue","paddingRight","overflow","setOverflowHidden","ontouchstart","targetTouches","ontouchmove","scrollTop","scrollHeight","clientHeight","isTargetElementTotallyScrolled","handleScroll","enableBodyScroll","restorePositionSetting","ChatMenu","ChatFeedback","ChatConnectionError","initialMessage","menuIsOpen","messageContainer","windowWidth","windowHeight","chatWindowContent","showFeedback","showConnectionError","connectionError","scrollToLastMessage","_scrollToLastMessage","lastMessage","lastElementChild","offsetTop","behavior","isAwaitingResponse","chatIsShown","toggleBodyScrollLock","chatWindowOpen","handleResize","chatWindowActive","showMenuButton","showBackButton","sessionStorage","resumeOrStartConversation","openMenu","navigateBack","closeMenu","endConversation","minimizeChatWindow","typeLine","_x3","_typeLine","buttonTexts","indices","progress","getEaseDelay","startTypingAnimation","pow","ChatWindow","_renderSlot","_component_ChatFeedback","_component_ChatConnectionError","_Transition","_component_ChatMenu","ChatMessage","buttonTextRef0","buttonTextRef1","chatInputRef","introChatButtonRef","chatWindowRef","isSendingMessage","windowScrolled","permanentlyCollapseStartChatButton","elementContainerRef","openChatWindow","maxCharacters","maxInputChars","sendMessage","_sendMessage","newMessage","sendMessageDisabled","feedbackButtonIsActive","buttonValue","messageFeedback","isLoadingConversation","menuOverlayShown","inputDisabled","setWindowScrolled","showCollapsedChatButton","chatExpired","_store$state$chatPane3","expired","opened","chatButtonText1","chatButtonText2","onmessage","chatPanelConversation","removeItem","mergedSessionStorageObject","newSessionStorageObject","currentSession","currentSessionStorageObject","windowOpen","_currentSessionStorag","sessionData","collapseStartChatButton","handleFeedback","feedbackValue","sendMessageFeedback","showFeedbackButtons","messageAuthorIsUser","getMessageAuthorLabel","isHumanAgent","chatPanelActionId","floatingTriggerText","triggerElementRef","animationFinished","handleIntersection","text1","text2","initActionId","_props$getNamedFieldI","phoneInput","isCustomerInput","isCustomer","showCPR","cprInput","cpr","handleIsCustomerInput","bool","alreadyCustomer","alreadyCustomerErrorMessage","_ctx$labels$alreadyCu","firstnameErrorMessage","_ctx$labels$firstname","lastnameErrorMessage","_ctx$labels$lastnameE","_hoisted_27","_ctx$labels$phone","phoneErrorMessage","_ctx$labels$phoneErro","_hoisted_34","_ctx$labels$cpr","onInput","_hoisted_36","cprErrorMessage","_ctx$labels$cprErrorM","_hoisted_38","ContactStepContent","formId","newsletterApiUrl","alignIntroImageRight","skipFirstStep","assignTo","imagePosClassName","contactCardClassNames","cprValidator","introSummary","formIdentifier","cxr","getContactedSubmit","homeOwnerInput","homeOwner","urgentAccountInput","urgentAccount","handleHomeOwnerInput","handleUrgentAccountInput","ContactStepOnboardingContent","homeOwnerQuestion","homeOwnerErrorMessage","_ctx$labels$homeOwner","_hoisted_37","urgentAccountQuestion","_component_Tooltip","urgentAccountDescription","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","urgentAccountErrorMessage","_ctx$labels$urgentAcc","_hoisted_47","urgentBasicBankAccount","skipValidation","_arrayLikeToArray","arr2","ContactStepNewsletters","_arrayWithoutHoles","iter","_iterableToArray","minLen","_unsupportedIterableToArray","_nonIterableSpread","permissionsSummary","newsletterBody","newsletterInput","documentLists","fileIconLabel","downloadIconLabel","DynamicDocumentList","showMoreText","searchIconLabel","pageSize","activeFilters","searchInputModel","numOfTotalResults","numOfShownResults","loadFilterFromQueryParams","setFilters","fetchDocumentList","_step","URLSearchParams","_iterator","it","F","_e","normalCompletion","didErr","_e2","_createForOfIteratorHelper","_step$value","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","searchText","resultsLabel","showMore","activeFilter","getOptions","filterOptionItems","handleFilterChanged","setDocumentLists","_documentLists$value$","isDocumentListEmpty","displayDate","updateQueryParams","updatedUrl","pathname","history","inputUpdated","typeFilters","createApiUrl","totalResults","_searchInputModel$val","_component_MultiSelectDropdown","_component_DynamicDocumentList","closeIconLabel","ariaLabel","initSearchParam","onEnterCallback","redirectUrl","_props$initSearchPara","onSearchEnter","_ctx$ariaLabels$clear","_ctx$ariaLabels","ariaLabels","clearButtonLabel","SearchInputField","fundListType","Nykredit","External","tableHeaders","tableRows","internalInvestmentFundsTabLabel","externalInvestmentFundsTabLabel","isinLabel","investmentNameLabel","fppLabel","fetchInvestmentFunds","documentId","isin","investmentName","fpp","inputEnter","inputChanged","filterChanged","_component_SearchInputField","_ctx$model","_ctx$model2","numberOfResults","storeHeaders","jobs","storeRows","updatedRow","cell","_cell$styles","reference","indexFilter","indexOption","_component_dynamicTable","getJobPostingsHeader","positionLabel","cityLabel","getJobPostingsRows","getJobPostingsFilters","jobTypes","getFileExtension","_fileNameSplit$","fileNameSplit","SiteSearchingResult","lang","isMainHeader","siteSearchingContainer","searchIcon","inputLabel","queryString","searchQuery","unfilteredNumberOfResults","searchFacts","storeFacts","facts","allTabLabel","fact","term","pageNumber","pageTotalSize","page","updateUrl","searchParams","pushState","searchSection","_component_themeSwitch","searchResultTitleLabel","resultNumberLabel","_component_SiteSearchingResult","section","excerpt","seeMoreButtonLabel","targetEndId","classModifiers","stickyBox","rect","initTargetPos","initTargetEndPos","endTarget","endTargetRect","setDisabledClass","inputWrapper","countCharacters","textarea","maxLength","currentLength","counter","switchTheme","totalNumberOfResults","set_search_suggestions","set_clear_search_suggestions","set_search_results","set_clear_search_results","set_update_search_results","set_facts","set_clear_facts","set_total_number_of_results","set_unfiltered_number_of_results","set_active_filter","set_page_number","set_page_total_size","performSearchSuggestions","clearSuggestions","performSearch","requestUrl","unfilteredNumberOfHits","hits","pagingPagesTotal","numberOfHits","sectionFacets","clearResults","set_headers","set_rows","set_filters","set_filtered_rows","set_redirect_url","filteredRows","createMessageObject","dateCreated","language","createStatusMessageObject","statusText","feedbackActionId","latestResponseId","expiredMessageAdded","previousWasHumanAgent","triggerActionId","set_is_awaiting_response","set_conversation","set_feedback_step","set_feedback_payload","append_messages","newMessagesList","set_chat_window_open","sessionStorageString","sessionStorageObject","set_labels","set_feedback_action_id","set_show_feedback","set_message_feedback","set_connection_error","set_latest_response_id","setPollingInterval","intervalId","pollingInterval","clearPollingInterval","expired_message_added","set_feedback_api_message","set_floating_trigger_action_id","reset_chat_client_state","openChatAndHandleActionId","isFloatingTrigger","startConversation","resumeConversation","_ref3","_parsedSessionStorage","sessionStorageChatPanelConversation","parsedSessionStorageConversation","handleConversationData","_ref4","responses","sessionStorageMessages","expiredMessage","handleConversationResponse","_ref5","lastestBotResponse","findLastBotResponseId","poll","_ref6","_callee3","_context3","_ref7","_arguments","_callee4","_ref8","_ref8$isFloatingTrigg","_context4","addClientMessage","_ref9","_ref10","_callee5","_context5","_ref11","_callee6","_context6","_ref12","_callee7","_context7","deleteMessageHistory","_ref13","_callee8","_context8","_ref14","_callee9","_context9","t1","t2","t3","t4","startPolling","_ref15","_callee11","_context11","_callee10","_context10","setConversationState","_ref17","stopPolling","_ref18","_ref19","_ref20","resetChat","_ref21","isConversationActive","_state$conversation","isConversationOngoing","_state$conversation2","_state$conversation3","_state$conversation4","getFeedbackApiMessage","_state$feedbackApiMes","_state$feedbackApiMes2","hashObjects","set_modal_title","set_modal_sub_title","set_component_name","set_component_props","set_html_content","set_style","set_open","set_is_loading","set_hash_objects","setModalContent","setOpen","removeHashFromUrl","setIsLoading","setHashObject","reactOnHashChange","hashObject","urlWithoutHash","DOM","ArticlesInsightDOM","ArticlesInsight","ContextBannerDOM","ContextBanner","CalculatorCompareTableDOM","CalculatorInfoBoxDOM","CalculatorJuraContentDOM","handleComponentProps","CalculatorJuraContent","CalculatorSummaryDOM","CalculatorTableDOM","FormGenericInputDOM","FormRadioGroupInputDOM","ModalDOM","AdjustLoanContentDOM","SwitchLoanTypeContentDOM","LoanCalculatorInputsDOM","NewLoanCalculatorInputDOM","NewLoanCalculatorInput","NewLoanCalculatorResultDOM","NewLoanCalculatorResult","NewLoanCalculatorResultDesktopDOM","NewLoanCalculatorResultMobileDOM","SignupMultipleNewslettersDOM","SignupMultipleNewsletters","SignupSingleNewsletterDOM","SignupSingleNewsletter","SignupStepActionsDOM","SignupStepEmailDOM","stepcountertext","SignupStepFullnameDOM","SignupStepReceiptDOM","SignupStepSelectNewslettersDOM","SendCalculationStepActionsDOM","VideoBlockDOM","VideoBlock","FindCenterContactPersonsDOM","FindCenterMapAndEmployeesDOM","FindCenterMapAndEmployees","CenterMapDOM","JobApplicationDOM","JobApplication","FooterContactDOM","FooterContact","MenuDOM","Menu","FeedbackBlockDOM","FeedbackBlock","FeedbackStepOneDOM","FeedbackStepThreeDOM","FeedbackStepTwoDOM","feedbackPlaceholder","MitNykreditMenuDOM","MitNykreditMenu","BreadCrumbDOM","Breadcrumbs","AnnualReportsTableDOM","AnnualReportsTable","ChatPanelDOM","ChatPanel","ChatPanelFloatingTrigger","ContactCardLeadWithoutPermissionDOM","_ContactCardLeadWitho","ContactCardLeadWithoutPermission","ContactCard","KontactCardDOM","_KontactCardDOM$datas","KontactCard","ContactCardOnboarding","ContactCardPermissionDOM","_ContactCardPermissio","ContactCardPermission","ContactStepCommentsDOM","ContactStepContentDOM","ContactStepIntroDOM","ContactStepNewslettersDOM","ContactStepInfoDOM","DocumentArchiveDOM","_DocumentArchiveDOM$d","_DocumentArchiveDOM$d2","_DocumentArchiveDOM$d3","_DocumentArchiveDOM$d4","_DocumentArchiveDOM$d5","_DocumentArchiveDOM$d6","DocumentArchive","DynamicDocumentListDOM","DynamicTableDOM","FilterTabsDOM","GoogleMapsWithMarkersDOM","GoogleMapsWithMarkers","InvestmentFundTableDOM","InvestmentFundTable","JobPostingsTableDOM","_data$jobPostingsList","jobPostingsList","jobPageUrl","JobPostingsTable","MultiSelectDropdownDOM","_MultiSelectDropdownD","_MultiSelectDropdownD2","_MultiSelectDropdownD3","SearchInputFieldDOM","_SearchInputFieldDOM$","_SearchInputFieldDOM$2","_SearchInputFieldDOM$3","SearchOverlayDOM","searchSuggestions","cardTop","cardBottom","SendCalculationDOM","sendcalculationApiUrl","userinformationApiUrl","SendCalculationStepContentDOM","SiteSearchingDOM","SiteSearching","SiteSearchingResultDOM","StickyBoxDOM","StickyBox","TheFormsDOM","TheForms","ThemeSwitchDOM","ThemeSwitch","TooltipDOM","componentsToInititalize","main","set_test","testAction","set_other_sites_dropdown_shown","set_language_dropdown_shown","set_submenu_open","set_top_level_pages_dropdown_shown","set_search_overlay_shown","set_search_overlay_mobile_navigate_back","set_active_submenu"],"sourceRoot":""}